diff --git a/DEPS b/DEPS
index a1a7c2c77..139cdbb 100644
--- a/DEPS
+++ b/DEPS
@@ -40,11 +40,11 @@
   # Three lines of non-changing comments so that
   # the commit queue can handle CLs rolling Skia
   # and whatever else without interference from each other.
-  'skia_revision': 'c1b879f11b937142f5478bd3b416b26be93dea23',
+  'skia_revision': '6e834799946537370e6f3c10aa2745ed969b2a27',
   # 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': '4cba40134b7bb9cbf18e191c373986cb7373943c',
+  'v8_revision': 'a8190a51525dd6f0a74eba767d41e2f822b25054',
   # 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.
@@ -72,7 +72,7 @@
   # Three lines of non-changing comments so that
   # the commit queue can handle CLs rolling BoringSSL
   # and whatever else without interference from each other.
-  'boringssl_revision': 'c8ff30cbe716c72279a6f6a9d7d7d0d4091220fa',
+  'boringssl_revision': 'bc6a76b0e0ed252af1688423584f7cd9161f6dee',
   # Three lines of non-changing comments so that
   # the commit queue can handle CLs rolling google-toolbox-for-mac
   # and whatever else without interference from each other.
@@ -96,7 +96,7 @@
   # Three lines of non-changing comments so that
   # the commit queue can handle CLs rolling catapult
   # and whatever else without interference from each other.
-  'catapult_revision': '49eb11f63eb4d552d634833a01d2710208ba0523',
+  'catapult_revision': 'e8775f0f64bcae6b0789df6d4a2a5aca9f5cf4ac',
   # Three lines of non-changing comments so that
   # the commit queue can handle CLs rolling libFuzzer
   # and whatever else without interference from each other.
@@ -416,7 +416,7 @@
 
     # Build tools for Chrome OS. Note: This depends on third_party/pyelftools.
     'src/third_party/chromite':
-      Var('chromium_git') + '/chromiumos/chromite.git' + '@' + '07d4626c40a501866d7c01954f8cabef7b50f482',
+      Var('chromium_git') + '/chromiumos/chromite.git' + '@' + '8dbd2c59b33e12575b4d8e808d440863060c2fc7',
 
     # Dependency of chromite.git and skia.
     'src/third_party/pyelftools':
@@ -493,7 +493,7 @@
       Var('chromium_git') + '/external/mockito/mockito.git' + '@' + 'de83ad4598ad4cf5ea53c69a8a8053780b04b850',
 
     'src/third_party/netty-tcnative/src':
-      Var('chromium_git') + '/external/netty-tcnative.git' + '@' + '2e0f9503f3d4efe6fc3f70077f22471e83ffb446',
+      Var('chromium_git') + '/external/netty-tcnative.git' + '@' + '2a25ec75d6889d32594a6f8b4d42962c15255d76',
 
     'src/third_party/netty4/src':
       Var('chromium_git') + '/external/netty4.git' + '@' + 'e0f26303b4ce635365be19414d0ac81f2ef6ba3c',
diff --git a/android_webview/browser/net/android_stream_reader_url_request_job.cc b/android_webview/browser/net/android_stream_reader_url_request_job.cc
index 820dc64..0140fa1 100644
--- a/android_webview/browser/net/android_stream_reader_url_request_job.cc
+++ b/android_webview/browser/net/android_stream_reader_url_request_job.cc
@@ -349,12 +349,6 @@
   NotifyHeadersComplete();
 }
 
-int AndroidStreamReaderURLRequestJob::GetResponseCode() const {
-  if (response_info_)
-    return response_info_->headers->response_code();
-  return URLRequestJob::GetResponseCode();
-}
-
 void AndroidStreamReaderURLRequestJob::GetResponseInfo(
     net::HttpResponseInfo* info) {
   if (response_info_)
diff --git a/android_webview/browser/net/android_stream_reader_url_request_job.h b/android_webview/browser/net/android_stream_reader_url_request_job.h
index 2ed14415..1053f27 100644
--- a/android_webview/browser/net/android_stream_reader_url_request_job.h
+++ b/android_webview/browser/net/android_stream_reader_url_request_job.h
@@ -100,7 +100,6 @@
   void SetExtraRequestHeaders(const net::HttpRequestHeaders& headers) override;
   bool GetMimeType(std::string* mime_type) const override;
   bool GetCharset(std::string* charset) override;
-  int GetResponseCode() const override;
   void GetResponseInfo(net::HttpResponseInfo* info) override;
 
  protected:
diff --git a/android_webview/glue/java/src/com/android/webview/chromium/WebViewChromiumFactoryProvider.java b/android_webview/glue/java/src/com/android/webview/chromium/WebViewChromiumFactoryProvider.java
index 0f3ab07..490a83f 100644
--- a/android_webview/glue/java/src/com/android/webview/chromium/WebViewChromiumFactoryProvider.java
+++ b/android_webview/glue/java/src/com/android/webview/chromium/WebViewChromiumFactoryProvider.java
@@ -401,13 +401,10 @@
         PathService.override(PathService.DIR_MODULE, "/system/lib/");
         PathService.override(DIR_RESOURCE_PAKS_ANDROID, "/system/framework/webview/paks");
 
-        final Context context = ContextUtils.getApplicationContext();
-        // Future calls to PlatformServiceBridge.getInstance() rely on it having been created here.
-        PlatformServiceBridge.getOrCreateInstance();
-
         // Make sure that ResourceProvider is initialized before starting the browser process.
         final PackageInfo webViewPackageInfo = WebViewFactory.getLoadedPackageInfo();
         final String webViewPackageName = webViewPackageInfo.packageName;
+        final Context context = ContextUtils.getApplicationContext();
         setUpResources(webViewPackageInfo, context);
         initPlatSupportLibrary();
         doNetworkInitializations(context);
diff --git a/android_webview/java/src/org/chromium/android_webview/PlatformServiceBridge.java b/android_webview/java/src/org/chromium/android_webview/PlatformServiceBridge.java
index 7957e96e..1356aa4 100644
--- a/android_webview/java/src/org/chromium/android_webview/PlatformServiceBridge.java
+++ b/android_webview/java/src/org/chromium/android_webview/PlatformServiceBridge.java
@@ -4,10 +4,8 @@
 
 package org.chromium.android_webview;
 
-import android.content.Context;
 import android.webkit.ValueCallback;
 
-import org.chromium.base.ContextUtils;
 import org.chromium.base.Log;
 import org.chromium.base.ThreadUtils;
 
@@ -22,53 +20,44 @@
     private static final String PLATFORM_SERVICE_BRIDGE =
             "com.android.webview.chromium.PlatformServiceBridgeGoogle";
 
-    // Only written by getOrCreateInstance on the UI thread (aside from injectInstance, for
-    // testing), but read by getInstance on arbitrary threads.
-    private static volatile PlatformServiceBridge sInstance;
+    private static PlatformServiceBridge sInstance;
+    private static final Object sInstanceLock = new Object();
 
     protected PlatformServiceBridge() {}
 
-    public static PlatformServiceBridge getOrCreateInstance() {
-        // Just to avoid race conditions on sInstance - nothing special about the UI thread.
-        ThreadUtils.assertOnUiThread();
-
-        if (sInstance != null) return sInstance;
-
-        // Try to get a specialized service bridge.
-        try {
-            Class<?> cls = Class.forName(PLATFORM_SERVICE_BRIDGE);
-            sInstance = (PlatformServiceBridge) cls.getDeclaredConstructor(Context.class)
-                                .newInstance(ContextUtils.getApplicationContext());
-            return sInstance;
-        } catch (ClassNotFoundException e) {
-            // This is not an error; it just means this device doesn't have specialized
-            // services.
-        } catch (IllegalAccessException | IllegalArgumentException | InstantiationException
-                | NoSuchMethodException e) {
-            Log.e(TAG, "Failed to get " + PLATFORM_SERVICE_BRIDGE + ": " + e);
-        } catch (InvocationTargetException e) {
-            Log.e(TAG, "Failed invocation to get " + PLATFORM_SERVICE_BRIDGE + ":", e.getCause());
-        }
-
-        // Otherwise, get the generic service bridge.
-        sInstance = new PlatformServiceBridge();
-
-        return sInstance;
-    }
-
     public static PlatformServiceBridge getInstance() {
-        if (sInstance == null) throw new IllegalStateException("PlatformServiceBridge not created");
-        return sInstance;
+        synchronized (sInstanceLock) {
+            if (sInstance != null) return sInstance;
+
+            // Try to get a specialized service bridge.
+            try {
+                Class<?> cls = Class.forName(PLATFORM_SERVICE_BRIDGE);
+                sInstance = (PlatformServiceBridge) cls.getDeclaredConstructor().newInstance();
+                return sInstance;
+            } catch (ClassNotFoundException e) {
+                // This is not an error; it just means this device doesn't have specialized
+                // services.
+            } catch (IllegalAccessException | IllegalArgumentException | InstantiationException
+                    | NoSuchMethodException e) {
+                Log.e(TAG, "Failed to get " + PLATFORM_SERVICE_BRIDGE + ": " + e);
+            } catch (InvocationTargetException e) {
+                Log.e(TAG, "Failed invocation to get " + PLATFORM_SERVICE_BRIDGE + ": ",
+                        e.getCause());
+            }
+
+            // Otherwise, get the generic service bridge.
+            sInstance = new PlatformServiceBridge();
+            return sInstance;
+        }
     }
 
     // Provide a mocked PlatformServiceBridge for testing.
     public static void injectInstance(PlatformServiceBridge testBridge) {
-        sInstance = testBridge;
-    }
-
-    // TODO(paulmiller): Remove after changing downstream users.
-    public static PlatformServiceBridge getInstance(Context context) {
-        return getInstance();
+        // Although reference assignments are atomic, we still wouldn't want to assign it in the
+        // middle of getInstance().
+        synchronized (sInstanceLock) {
+            sInstance = testBridge;
+        }
     }
 
     // Can WebView use Google Play Services (a.k.a. GMS)?
diff --git a/android_webview/java/src/org/chromium/android_webview/crash/AwMinidumpUploaderDelegate.java b/android_webview/java/src/org/chromium/android_webview/crash/AwMinidumpUploaderDelegate.java
index deeceede..2e373c6a 100644
--- a/android_webview/java/src/org/chromium/android_webview/crash/AwMinidumpUploaderDelegate.java
+++ b/android_webview/java/src/org/chromium/android_webview/crash/AwMinidumpUploaderDelegate.java
@@ -76,14 +76,13 @@
 
     @Override
     public void prepareToUploadMinidumps(final Runnable startUploads) {
-        PlatformServiceBridge.getOrCreateInstance().queryMetricsSetting(
-                new ValueCallback<Boolean>() {
-                    public void onReceiveValue(Boolean enabled) {
-                        ThreadUtils.assertOnUiThread();
-                        mPermittedByUser = enabled;
-                        startUploads.run();
-                    }
-                });
+        PlatformServiceBridge.getInstance().queryMetricsSetting(new ValueCallback<Boolean>() {
+            public void onReceiveValue(Boolean enabled) {
+                ThreadUtils.assertOnUiThread();
+                mPermittedByUser = enabled;
+                startUploads.run();
+            }
+        });
     }
 
     @Override
diff --git a/ash/BUILD.gn b/ash/BUILD.gn
index c03f65406..ab776d3c 100644
--- a/ash/BUILD.gn
+++ b/ash/BUILD.gn
@@ -206,8 +206,6 @@
     "magnifier/magnification_controller.h",
     "magnifier/partial_magnification_controller.cc",
     "magnifier/partial_magnification_controller.h",
-    "material_design/material_design_controller.cc",
-    "material_design/material_design_controller.h",
     "media_controller.cc",
     "media_controller.h",
     "metrics/desktop_task_switch_metric_recorder.cc",
diff --git a/ash/accelerators/accelerator_controller_unittest.cc b/ash/accelerators/accelerator_controller_unittest.cc
index bcda4b6..955d304 100644
--- a/ash/accelerators/accelerator_controller_unittest.cc
+++ b/ash/accelerators/accelerator_controller_unittest.cc
@@ -21,7 +21,6 @@
 #include "ash/test/lock_state_controller_test_api.h"
 #include "ash/test/test_screenshot_delegate.h"
 #include "ash/test/test_session_state_animator.h"
-#include "ash/test/test_shelf_delegate.h"
 #include "ash/wm/lock_state_controller.h"
 #include "ash/wm/panels/panel_layout_manager.h"
 #include "ash/wm/window_positioning_utils.h"
@@ -255,14 +254,6 @@
   static bool is_exiting(ExitWarningHandler* ewh) {
     return ewh->state_ == ExitWarningHandler::EXITING;
   }
-  aura::Window* CreatePanel() {
-    aura::Window* window = CreateTestWindowInShellWithDelegateAndType(
-        NULL, ui::wm::WINDOW_TYPE_PANEL, 0, gfx::Rect(5, 5, 20, 20));
-    WmWindow* wm_window = WmWindow::Get(window);
-    test::TestShelfDelegate::instance()->AddShelfItem(wm_window);
-    PanelLayoutManager::Get(wm_window)->Relayout();
-    return window;
-  }
 
   void SetBrightnessControlDelegate(
       std::unique_ptr<BrightnessControlDelegate> delegate) {
diff --git a/ash/aura/DEPS b/ash/aura/DEPS
index 05abc5f..d6ccbabd 100644
--- a/ash/aura/DEPS
+++ b/ash/aura/DEPS
@@ -1,5 +1,6 @@
 specific_include_rules = {
   "shell_port_classic.cc": [
+    "+ash/host/ash_window_tree_host.h",
     "+ash/host/ash_window_tree_host_init_params.h"
   ],
 }
diff --git a/ash/aura/shell_port_classic.cc b/ash/aura/shell_port_classic.cc
index 9d87e86..e5e9760 100644
--- a/ash/aura/shell_port_classic.cc
+++ b/ash/aura/shell_port_classic.cc
@@ -11,6 +11,7 @@
 #include "ash/aura/key_event_watcher_aura.h"
 #include "ash/aura/pointer_watcher_adapter.h"
 #include "ash/display/window_tree_host_manager.h"
+#include "ash/host/ash_window_tree_host.h"
 #include "ash/host/ash_window_tree_host_init_params.h"
 #include "ash/keyboard/keyboard_ui.h"
 #include "ash/laser/laser_pointer_controller.h"
@@ -37,6 +38,7 @@
 #include "base/memory/ptr_util.h"
 #include "ui/aura/env.h"
 #include "ui/display/manager/display_manager.h"
+#include "ui/display/types/native_display_delegate.h"
 
 #if defined(USE_X11)
 #include "ash/wm/maximize_mode/scoped_disable_internal_mouse_and_keyboard_x11.h"
@@ -44,6 +46,8 @@
 
 #if defined(USE_OZONE)
 #include "ash/wm/maximize_mode/scoped_disable_internal_mouse_and_keyboard_ozone.h"
+#include "ui/display/types/native_display_delegate.h"
+#include "ui/ozone/public/ozone_platform.h"
 #endif
 
 namespace ash {
@@ -239,6 +243,12 @@
   pointer_watcher_adapter_ = base::MakeUnique<PointerWatcherAdapter>();
 }
 
+std::unique_ptr<AshWindowTreeHost> ShellPortClassic::CreateAshWindowTreeHost(
+    const AshWindowTreeHostInitParams& init_params) {
+  // A return value of null results in falling back to the default.
+  return nullptr;
+}
+
 void ShellPortClassic::CreatePrimaryHost() {
   Shell::Get()->window_tree_host_manager()->Start();
   AshWindowTreeHostInitParams ash_init_params;
@@ -249,6 +259,15 @@
   Shell::Get()->window_tree_host_manager()->InitHosts();
 }
 
+std::unique_ptr<display::NativeDisplayDelegate>
+ShellPortClassic::CreateNativeDisplayDelegate() {
+#if defined(USE_OZONE)
+  return ui::OzonePlatform::GetInstance()->CreateNativeDisplayDelegate();
+#else
+  return nullptr;
+#endif
+}
+
 std::unique_ptr<AcceleratorController>
 ShellPortClassic::CreateAcceleratorController() {
   DCHECK(!accelerator_controller_delegate_);
diff --git a/ash/aura/shell_port_classic.h b/ash/aura/shell_port_classic.h
index b5c7704..1a848d6 100644
--- a/ash/aura/shell_port_classic.h
+++ b/ash/aura/shell_port_classic.h
@@ -78,8 +78,12 @@
   void SetLaserPointerEnabled(bool enabled) override;
   void SetPartialMagnifierEnabled(bool enabled) override;
   void CreatePointerWatcherAdapter() override;
+  std::unique_ptr<AshWindowTreeHost> CreateAshWindowTreeHost(
+      const AshWindowTreeHostInitParams& init_params) override;
   void CreatePrimaryHost() override;
   void InitHosts(const ShellInitParams& init_params) override;
+  std::unique_ptr<display::NativeDisplayDelegate> CreateNativeDisplayDelegate()
+      override;
   std::unique_ptr<AcceleratorController> CreateAcceleratorController() override;
 
  private:
diff --git a/ash/devtools/ash_devtools_css_agent.cc b/ash/devtools/ash_devtools_css_agent.cc
index 45ac073..84c65d7 100644
--- a/ash/devtools/ash_devtools_css_agent.cc
+++ b/ash/devtools/ash_devtools_css_agent.cc
@@ -4,9 +4,9 @@
 
 #include "ash/devtools/ash_devtools_css_agent.h"
 
-#include "ash/wm_window.h"
 #include "base/strings/string_split.h"
 #include "base/strings/string_util.h"
+#include "ui/aura/window.h"
 
 namespace ash {
 namespace devtools {
@@ -163,7 +163,7 @@
   return ui::devtools::protocol::Response::OK();
 }
 
-void AshDevToolsCSSAgent::OnWindowBoundsChanged(WmWindow* window) {
+void AshDevToolsCSSAgent::OnWindowBoundsChanged(aura::Window* window) {
   InvalidateStyleSheet(dom_agent_->GetNodeIdFromWindow(window));
 }
 
@@ -192,9 +192,9 @@
 bool AshDevToolsCSSAgent::GetPropertiesForNodeId(int node_id,
                                                  gfx::Rect* bounds,
                                                  bool* visible) {
-  WmWindow* window = dom_agent_->GetWindowFromNodeId(node_id);
+  aura::Window* window = dom_agent_->GetWindowFromNodeId(node_id);
   if (window) {
-    *bounds = window->GetBounds();
+    *bounds = window->bounds();
     *visible = window->IsVisible();
     return true;
   }
@@ -216,7 +216,7 @@
 bool AshDevToolsCSSAgent::SetPropertiesForNodeId(int node_id,
                                                  const gfx::Rect& bounds,
                                                  bool visible) {
-  WmWindow* window = dom_agent_->GetWindowFromNodeId(node_id);
+  aura::Window* window = dom_agent_->GetWindowFromNodeId(node_id);
   if (window) {
     window->SetBounds(bounds);
     if (visible != window->IsVisible()) {
diff --git a/ash/devtools/ash_devtools_css_agent.h b/ash/devtools/ash_devtools_css_agent.h
index c4427623..f4027ed0 100644
--- a/ash/devtools/ash_devtools_css_agent.h
+++ b/ash/devtools/ash_devtools_css_agent.h
@@ -35,7 +35,7 @@
           result) override;
 
   // AshDevToolsDOMAgentObserver
-  void OnWindowBoundsChanged(WmWindow* window) override;
+  void OnWindowBoundsChanged(aura::Window* window) override;
   void OnWidgetBoundsChanged(views::Widget* widget) override;
   void OnViewBoundsChanged(views::View* view) override;
 
diff --git a/ash/devtools/ash_devtools_dom_agent.cc b/ash/devtools/ash_devtools_dom_agent.cc
index 3734a76..00272f5 100644
--- a/ash/devtools/ash_devtools_dom_agent.cc
+++ b/ash/devtools/ash_devtools_dom_agent.cc
@@ -7,12 +7,13 @@
 #include "ash/public/cpp/shell_window_ids.h"
 #include "ash/root_window_controller.h"
 #include "ash/shell.h"
-#include "ash/wm_window.h"
 #include "components/ui_devtools/devtools_server.h"
 #include "third_party/skia/include/core/SkColor.h"
+#include "ui/aura/window.h"
 #include "ui/display/display.h"
 #include "ui/views/background.h"
 #include "ui/views/border.h"
+#include "ui/wm/core/window_util.h"
 
 namespace ash {
 namespace devtools {
@@ -38,12 +39,12 @@
   return node;
 }
 
-std::unique_ptr<Array<std::string>> GetAttributes(const ash::WmWindow* window) {
+std::unique_ptr<Array<std::string>> GetAttributes(const aura::Window* window) {
   std::unique_ptr<Array<std::string>> attributes = Array<std::string>::create();
   attributes->addItem("name");
-  attributes->addItem(window->aura_window()->GetName());
+  attributes->addItem(window->GetName());
   attributes->addItem("active");
-  attributes->addItem(window->IsActive() ? "true" : "false");
+  attributes->addItem(::wm::IsActiveWindow(window) ? "true" : "false");
   return attributes;
 }
 
@@ -63,10 +64,9 @@
   return attributes;
 }
 
-WmWindow* FindPreviousSibling(WmWindow* window) {
-  std::vector<WmWindow*> siblings = window->GetParent()->GetChildren();
-  std::vector<WmWindow*>::iterator it =
-      std::find(siblings.begin(), siblings.end(), window);
+aura::Window* FindPreviousSibling(aura::Window* window) {
+  const aura::Window::Windows& siblings = window->parent()->children();
+  auto it = std::find(siblings.begin(), siblings.end(), window);
   DCHECK(it != siblings.end());
   // If this is the first child of its parent, the previous sibling is null
   return it == siblings.begin() ? nullptr : *std::prev(it);
@@ -99,8 +99,8 @@
                         MaskColor(rgba->getB()));
 }
 
-views::Widget* GetWidgetFromWmWindow(WmWindow* window) {
-  return views::Widget::GetWidgetForNativeView(window->aura_window());
+views::Widget* GetWidgetFromWindow(aura::Window* window) {
+  return views::Widget::GetWidgetForNativeView(window);
 }
 
 }  // namespace
@@ -146,7 +146,7 @@
   // Finally, We only trigger this  0 or 1 times as an old_parent will
   // either exist and only call this callback once, or not at all.
   if (params.receiver == params.old_parent)
-    RemoveWindowTree(WmWindow::Get(params.target), true);
+    RemoveWindowTree(params.target, true);
 }
 
 // Handles adding windows.
@@ -158,19 +158,19 @@
   // new_parent. If there is only a new_parent, OnWindowHierarchyChanging is
   // never called and the window is only added here.
   if (params.receiver == params.new_parent)
-    AddWindowTree(WmWindow::Get(params.target));
+    AddWindowTree(params.target);
 }
 
 void AshDevToolsDOMAgent::OnWindowStackingChanged(aura::Window* window) {
-  RemoveWindowTree(WmWindow::Get(window), false);
-  AddWindowTree(WmWindow::Get(window));
+  RemoveWindowTree(window, false);
+  AddWindowTree(window);
 }
 
 void AshDevToolsDOMAgent::OnWindowBoundsChanged(aura::Window* window,
                                                 const gfx::Rect& old_bounds,
                                                 const gfx::Rect& new_bounds) {
   for (auto& observer : observers_)
-    observer.OnWindowBoundsChanged(WmWindow::Get(window));
+    observer.OnWindowBoundsChanged(window);
 }
 
 void AshDevToolsDOMAgent::OnWillRemoveView(views::Widget* widget,
@@ -206,7 +206,7 @@
     observer.OnViewBoundsChanged(view);
 }
 
-WmWindow* AshDevToolsDOMAgent::GetWindowFromNodeId(int nodeId) {
+aura::Window* AshDevToolsDOMAgent::GetWindowFromNodeId(int nodeId) {
   return node_id_to_window_map_.count(nodeId) ? node_id_to_window_map_[nodeId]
                                               : nullptr;
 }
@@ -221,7 +221,7 @@
                                             : nullptr;
 }
 
-int AshDevToolsDOMAgent::GetNodeIdFromWindow(WmWindow* window) {
+int AshDevToolsDOMAgent::GetNodeIdFromWindow(aura::Window* window) {
   DCHECK(window_to_node_id_map_.count(window));
   return window_to_node_id_map_[window];
 }
@@ -249,26 +249,26 @@
 AshDevToolsDOMAgent::BuildInitialTree() {
   std::unique_ptr<Array<DOM::Node>> children = Array<DOM::Node>::create();
   for (aura::Window* window : Shell::GetAllRootWindows())
-    children->addItem(BuildTreeForWindow(WmWindow::Get(window)));
+    children->addItem(BuildTreeForWindow(window));
   return BuildNode("root", nullptr, std::move(children));
 }
 
 std::unique_ptr<DOM::Node> AshDevToolsDOMAgent::BuildTreeForWindow(
-    ash::WmWindow* window) {
+    aura::Window* window) {
   DCHECK(!window_to_node_id_map_.count(window));
   std::unique_ptr<Array<DOM::Node>> children = Array<DOM::Node>::create();
-  views::Widget* widget = GetWidgetFromWmWindow(window);
+  views::Widget* widget = GetWidgetFromWindow(window);
   if (widget)
     children->addItem(BuildTreeForRootWidget(widget));
-  for (ash::WmWindow* child : window->GetChildren()) {
+  for (aura::Window* child : window->children()) {
     if (!IsHighlightingWindow(child))
       children->addItem(BuildTreeForWindow(child));
   }
 
   std::unique_ptr<ui::devtools::protocol::DOM::Node> node =
       BuildNode("Window", GetAttributes(window), std::move(children));
-  if (!window->aura_window()->HasObserver(this))
-    window->aura_window()->AddObserver(this);
+  if (!window->HasObserver(this))
+    window->AddObserver(this);
   window_to_node_id_map_[window] = node->getNodeId();
   node_id_to_window_map_[node->getNodeId()] = window;
   return node;
@@ -303,48 +303,48 @@
   return node;
 }
 
-void AshDevToolsDOMAgent::AddWindowTree(WmWindow* window) {
+void AshDevToolsDOMAgent::AddWindowTree(aura::Window* window) {
   if (IsHighlightingWindow(window))
     return;
 
-  DCHECK(window_to_node_id_map_.count(window->GetParent()));
-  WmWindow* prev_sibling = FindPreviousSibling(window);
+  DCHECK(window_to_node_id_map_.count(window->parent()));
+  aura::Window* prev_sibling = FindPreviousSibling(window);
   frontend()->childNodeInserted(
-      window_to_node_id_map_[window->GetParent()],
+      window_to_node_id_map_[window->parent()],
       prev_sibling ? window_to_node_id_map_[prev_sibling] : 0,
       BuildTreeForWindow(window));
 }
 
-void AshDevToolsDOMAgent::RemoveWindowTree(WmWindow* window,
+void AshDevToolsDOMAgent::RemoveWindowTree(aura::Window* window,
                                            bool remove_observer) {
   DCHECK(window);
   if (IsHighlightingWindow(window))
     return;
 
-  if (GetWidgetFromWmWindow(window))
-    RemoveWidgetTree(GetWidgetFromWmWindow(window), remove_observer);
+  if (GetWidgetFromWindow(window))
+    RemoveWidgetTree(GetWidgetFromWindow(window), remove_observer);
 
-  for (ash::WmWindow* child : window->GetChildren())
+  for (aura::Window* child : window->children())
     RemoveWindowTree(child, remove_observer);
 
   RemoveWindowNode(window, remove_observer);
 }
 
-void AshDevToolsDOMAgent::RemoveWindowNode(WmWindow* window,
+void AshDevToolsDOMAgent::RemoveWindowNode(aura::Window* window,
                                            bool remove_observer) {
   WindowToNodeIdMap::iterator window_to_node_id_it =
       window_to_node_id_map_.find(window);
   DCHECK(window_to_node_id_it != window_to_node_id_map_.end());
 
   int node_id = window_to_node_id_it->second;
-  int parent_id = GetNodeIdFromWindow(window->GetParent());
+  int parent_id = GetNodeIdFromWindow(window->parent());
 
   NodeIdToWindowMap::iterator node_id_to_window_it =
       node_id_to_window_map_.find(node_id);
   DCHECK(node_id_to_window_it != node_id_to_window_map_.end());
 
   if (remove_observer)
-    window->aura_window()->RemoveObserver(this);
+    window->RemoveObserver(this);
 
   node_id_to_window_map_.erase(node_id_to_window_it);
   window_to_node_id_map_.erase(window_to_node_id_it);
@@ -366,7 +366,7 @@
   DCHECK(widget_to_node_id_it != widget_to_node_id_map_.end());
 
   int node_id = widget_to_node_id_it->second;
-  int parent_id = GetNodeIdFromWindow(WmWindow::Get(widget->GetNativeWindow()));
+  int parent_id = GetNodeIdFromWindow(widget->GetNativeWindow());
 
   if (remove_observer)
     widget->RemoveRemovalsObserver(this);
@@ -426,7 +426,7 @@
 
 void AshDevToolsDOMAgent::RemoveObservers() {
   for (auto& pair : window_to_node_id_map_)
-    pair.first->aura_window()->RemoveObserver(this);
+    pair.first->RemoveObserver(this);
   for (auto& pair : widget_to_node_id_map_)
     pair.first->RemoveRemovalsObserver(this);
   for (auto& pair : view_to_node_id_map_)
@@ -447,21 +447,20 @@
 
 AshDevToolsDOMAgent::WindowAndBoundsPair
 AshDevToolsDOMAgent::GetNodeWindowAndBounds(int node_id) {
-  WmWindow* window = GetWindowFromNodeId(node_id);
+  aura::Window* window = GetWindowFromNodeId(node_id);
   if (window)
     return std::make_pair(window, window->GetBoundsInScreen());
 
   views::Widget* widget = GetWidgetFromNodeId(node_id);
   if (widget) {
-    return std::make_pair(WmWindow::Get(widget->GetNativeWindow()),
+    return std::make_pair(widget->GetNativeWindow(),
                           widget->GetWindowBoundsInScreen());
   }
 
   views::View* view = GetViewFromNodeId(node_id);
   if (view) {
     gfx::Rect bounds = view->GetBoundsInScreen();
-    return std::make_pair(WmWindow::Get(view->GetWidget()->GetNativeWindow()),
-                          bounds);
+    return std::make_pair(view->GetWidget()->GetNativeWindow(), bounds);
   }
 
   return std::make_pair(nullptr, gfx::Rect());
@@ -494,9 +493,11 @@
   root_view->SetBorder(views::CreateSolidBorder(kBorderThickness, border));
   root_view->set_background(
       views::Background::CreateSolidBackground(background));
-  WmWindow::Get(widget_for_highlighting_->GetNativeWindow())
-      ->SetBoundsInScreen(window_and_bounds.second,
-                          window_and_bounds.first->GetDisplayNearestWindow());
+  display::Display display =
+      display::Screen::GetScreen()->GetDisplayNearestWindow(
+          window_and_bounds.first);
+  widget_for_highlighting_->GetNativeWindow()->SetBoundsInScreen(
+      window_and_bounds.second, display);
 }
 
 ui::devtools::protocol::Response AshDevToolsDOMAgent::HighlightNode(
@@ -524,9 +525,9 @@
   return ui::devtools::protocol::Response::OK();
 }
 
-bool AshDevToolsDOMAgent::IsHighlightingWindow(WmWindow* window) {
+bool AshDevToolsDOMAgent::IsHighlightingWindow(aura::Window* window) {
   return widget_for_highlighting_ &&
-         GetWidgetFromWmWindow(window) == widget_for_highlighting_.get();
+         GetWidgetFromWindow(window) == widget_for_highlighting_.get();
 }
 
 }  // namespace devtools
diff --git a/ash/devtools/ash_devtools_dom_agent.h b/ash/devtools/ash_devtools_dom_agent.h
index 12d2812..80e2404 100644
--- a/ash/devtools/ash_devtools_dom_agent.h
+++ b/ash/devtools/ash_devtools_dom_agent.h
@@ -17,15 +17,17 @@
 #include "ui/views/widget/widget_observer.h"
 #include "ui/views/widget/widget_removals_observer.h"
 
-namespace ash {
+namespace aura {
+class Window;
+}
 
-class WmWindow;
+namespace ash {
 
 namespace devtools {
 
 class ASH_EXPORT AshDevToolsDOMAgentObserver {
  public:
-  virtual void OnWindowBoundsChanged(WmWindow* window) {}
+  virtual void OnWindowBoundsChanged(aura::Window* window) {}
   virtual void OnWidgetBoundsChanged(views::Widget* widget) {}
   virtual void OnViewBoundsChanged(views::View* view) {}
 };
@@ -72,11 +74,11 @@
   void OnChildViewReordered(views::View* parent, views::View*) override;
   void OnViewBoundsChanged(views::View* view) override;
 
-  WmWindow* GetWindowFromNodeId(int nodeId);
+  aura::Window* GetWindowFromNodeId(int nodeId);
   views::Widget* GetWidgetFromNodeId(int nodeId);
   views::View* GetViewFromNodeId(int nodeId);
 
-  int GetNodeIdFromWindow(WmWindow* window);
+  int GetNodeIdFromWindow(aura::Window* window);
   int GetNodeIdFromWidget(views::Widget* widget);
   int GetNodeIdFromView(views::View* view);
 
@@ -86,19 +88,19 @@
  private:
   std::unique_ptr<ui::devtools::protocol::DOM::Node> BuildInitialTree();
   std::unique_ptr<ui::devtools::protocol::DOM::Node> BuildTreeForWindow(
-      WmWindow* window);
+      aura::Window* window);
   std::unique_ptr<ui::devtools::protocol::DOM::Node> BuildTreeForRootWidget(
       views::Widget* widget);
   std::unique_ptr<ui::devtools::protocol::DOM::Node> BuildTreeForView(
       views::View* view);
 
-  void AddWindowTree(WmWindow* window);
+  void AddWindowTree(aura::Window* window);
   // |remove_observer| ensures that we don't add a duplicate observer in any
   // observer callback. For example, |remove_observer| is false when rebuilding
   // the tree in OnWindowStackingChanged so that the observer is not removed and
   // re-added, thus causing endless calls on the observer.
-  void RemoveWindowTree(WmWindow* window, bool remove_observer);
-  void RemoveWindowNode(WmWindow* window, bool remove_observer);
+  void RemoveWindowTree(aura::Window* window, bool remove_observer);
+  void RemoveWindowNode(aura::Window* window, bool remove_observer);
 
   // Don't need AddWidgetTree because |widget| will always be inside a window,
   // so when windows are created, their widget nodes are created as well.
@@ -117,7 +119,7 @@
   void RemoveObservers();
   void Reset();
 
-  using WindowAndBoundsPair = std::pair<WmWindow*, gfx::Rect>;
+  using WindowAndBoundsPair = std::pair<aura::Window*, gfx::Rect>;
   WindowAndBoundsPair GetNodeWindowAndBounds(int node_id);
   void InitializeHighlightingWidget();
   void UpdateHighlight(const WindowAndBoundsPair& window_and_bounds,
@@ -127,13 +129,13 @@
       std::unique_ptr<ui::devtools::protocol::DOM::HighlightConfig>
           highlight_config,
       int node_id);
-  bool IsHighlightingWindow(WmWindow* window);
+  bool IsHighlightingWindow(aura::Window* window);
 
   std::unique_ptr<views::Widget> widget_for_highlighting_;
 
-  using WindowToNodeIdMap = std::unordered_map<WmWindow*, int>;
+  using WindowToNodeIdMap = std::unordered_map<aura::Window*, int>;
   WindowToNodeIdMap window_to_node_id_map_;
-  using NodeIdToWindowMap = std::unordered_map<int, WmWindow*>;
+  using NodeIdToWindowMap = std::unordered_map<int, aura::Window*>;
   NodeIdToWindowMap node_id_to_window_map_;
 
   using WidgetToNodeIdMap = std::unordered_map<views::Widget*, int>;
diff --git a/ash/devtools/ash_devtools_unittest.cc b/ash/devtools/ash_devtools_unittest.cc
index 29d7ca1..53b01c3 100644
--- a/ash/devtools/ash_devtools_unittest.cc
+++ b/ash/devtools/ash_devtools_unittest.cc
@@ -7,10 +7,8 @@
 #include "ash/public/cpp/shell_window_ids.h"
 #include "ash/root_window_controller.h"
 #include "ash/shell.h"
-#include "ash/shell_port.h"
-#include "ash/test/ash_test.h"
+#include "ash/test/ash_test_base.h"
 #include "ash/wm/widget_finder.h"
-#include "ash/wm_window.h"
 #include "base/memory/ptr_util.h"
 #include "base/strings/stringprintf.h"
 #include "ui/display/display.h"
@@ -81,12 +79,12 @@
   return nullptr;
 }
 
-bool Equals(WmWindow* window, DOM::Node* node) {
-  int children_count = static_cast<int>(window->GetChildren().size());
-  if (GetInternalWidgetForWindow(window->aura_window()))
+bool Equals(aura::Window* window, DOM::Node* node) {
+  int children_count = static_cast<int>(window->children().size());
+  if (GetInternalWidgetForWindow(window))
     children_count++;
   return "Window" == node->getNodeName() &&
-         window->aura_window()->GetName() == GetAttributeValue("name", node) &&
+         window->GetName() == GetAttributeValue("name", node) &&
          children_count == node->getChildNodeCount(kDefaultChildNodeCount);
 }
 
@@ -104,11 +102,11 @@
             node->getChildNodeCount(kDefaultChildNodeCount));
 }
 
-void Compare(WmWindow* window, DOM::Node* node) {
+void Compare(aura::Window* window, DOM::Node* node) {
   EXPECT_TRUE(Equals(window, node));
 }
 
-DOM::Node* FindInRoot(WmWindow* window, DOM::Node* root) {
+DOM::Node* FindInRoot(aura::Window* window, DOM::Node* root) {
   if (Equals(window, root))
     return root;
 
@@ -177,13 +175,13 @@
                                   ->get_color());
 }
 
-WmWindow* GetPrimaryRootWindow() {
-  return ShellPort::Get()->GetPrimaryRootWindow();
+aura::Window* GetPrimaryRootWindow() {
+  return Shell::Get()->GetPrimaryRootWindow();
 }
 
 }  // namespace
 
-class AshDevToolsTest : public AshTest {
+class AshDevToolsTest : public test::AshTestBase {
  public:
   AshDevToolsTest() {}
   ~AshDevToolsTest() override {}
@@ -192,16 +190,20 @@
     views::Widget* widget = new views::Widget;
     views::Widget::InitParams params;
     params.ownership = views::Widget::InitParams::NATIVE_WIDGET_OWNS_WIDGET;
-    ShellPort::Get()
-        ->GetPrimaryRootWindowController()
+    Shell::GetPrimaryRootWindowController()
         ->ConfigureWidgetInitParamsForContainer(
             widget, kShellWindowId_DefaultContainer, &params);
     widget->Init(params);
     return widget->native_widget_private();
   }
 
+  std::unique_ptr<views::Widget> CreateTestWidget(const gfx::Rect& bounds) {
+    return AshTestBase::CreateTestWidget(nullptr, kShellWindowId_Invalid,
+                                         bounds);
+  }
+
   void SetUp() override {
-    AshTest::SetUp();
+    AshTestBase::SetUp();
     fake_frontend_channel_ = base::MakeUnique<FakeFrontendChannel>();
     uber_dispatcher_ =
         base::MakeUnique<UberDispatcher>(fake_frontend_channel_.get());
@@ -218,7 +220,7 @@
     dom_agent_.reset();
     uber_dispatcher_.reset();
     fake_frontend_channel_.reset();
-    AshTest::TearDown();
+    AshTestBase::TearDown();
   }
 
   void ExpectChildNodeInserted(int parent_id, int prev_sibling_id) {
@@ -303,11 +305,10 @@
 TEST_F(AshDevToolsTest, GetDocumentWithWindowWidgetView) {
   std::unique_ptr<views::Widget> widget(
       CreateTestWidget(gfx::Rect(1, 1, 1, 1)));
-  WmWindow* parent_window = WmWindow::Get(widget->GetNativeWindow());
-  parent_window->aura_window()->SetName("parent_window");
-  std::unique_ptr<WindowOwner> child_owner(CreateChildWindow(parent_window));
-  WmWindow* child_window = child_owner->window();
-  child_window->aura_window()->SetName("child_window");
+  aura::Window* parent_window = widget->GetNativeWindow();
+  parent_window->SetName("parent_window");
+  std::unique_ptr<aura::Window> child_window = CreateChildWindow(parent_window);
+  child_window->SetName("child_window");
   widget->Show();
   views::View* child_view = new TestView("child_view");
   widget->GetRootView()->AddChildView(child_view);
@@ -321,7 +322,7 @@
   ASSERT_TRUE(parent_children);
   DOM::Node* widget_node = parent_children->get(0);
   Compare(widget.get(), widget_node);
-  Compare(child_window, parent_children->get(1));
+  Compare(child_window.get(), parent_children->get(1));
   Array<DOM::Node>* widget_children = widget_node->getChildren(nullptr);
   ASSERT_TRUE(widget_children);
   Compare(widget->GetRootView(), widget_children->get(0));
@@ -333,7 +334,7 @@
   views::internal::NativeWidgetPrivate* native_widget_private =
       CreateTestNativeWidget();
   views::Widget* widget = native_widget_private->GetWidget();
-  WmWindow* parent_window = WmWindow::Get(widget->GetNativeWindow());
+  aura::Window* parent_window = widget->GetNativeWindow();
 
   std::unique_ptr<ui::devtools::protocol::DOM::Node> root;
   dom_agent()->getDocument(&root);
@@ -351,14 +352,14 @@
   std::unique_ptr<ui::devtools::protocol::DOM::Node> root;
   dom_agent()->getDocument(&root);
 
-  WmWindow* root_window = GetPrimaryRootWindow();
-  WmWindow* parent_window = root_window->GetChildren()[0];
+  aura::Window* root_window = GetPrimaryRootWindow();
+  aura::Window* parent_window = root_window->children()[0];
   DOM::Node* parent_node = FindInRoot(parent_window, root.get());
   Array<DOM::Node>* parent_node_children = parent_node->getChildren(nullptr);
   DOM::Node* sibling_node =
       parent_node_children->get(parent_node_children->length() - 1);
 
-  std::unique_ptr<WindowOwner> child_owner(CreateChildWindow(parent_window));
+  std::unique_ptr<aura::Window> child(CreateChildWindow(parent_window));
   ExpectChildNodeInserted(parent_node->getNodeId(), sibling_node->getNodeId());
 }
 
@@ -367,10 +368,10 @@
   std::unique_ptr<ui::devtools::protocol::DOM::Node> root;
   dom_agent()->getDocument(&root);
 
-  WmWindow* root_window = GetPrimaryRootWindow();
-  WmWindow* rotation_window = root_window->GetChildren()[0];
-  WmWindow* parent_window = rotation_window->GetChildren()[0];
-  WmWindow* child_window = parent_window->GetChildren()[0];
+  aura::Window* root_window = GetPrimaryRootWindow();
+  aura::Window* rotation_window = root_window->children()[0];
+  aura::Window* parent_window = rotation_window->children()[0];
+  aura::Window* child_window = parent_window->children()[0];
   DOM::Node* root_node =
       root->getChildren(nullptr)->get(0)->getChildren(nullptr)->get(0);
   DOM::Node* parent_node = root_node->getChildren(nullptr)->get(0);
@@ -378,7 +379,7 @@
 
   Compare(parent_window, parent_node);
   Compare(child_window, child_node);
-  child_window->Destroy();
+  delete child_window;
   ExpectChildNodeRemoved(parent_node->getNodeId(), child_node->getNodeId());
 }
 
@@ -387,11 +388,11 @@
   std::unique_ptr<ui::devtools::protocol::DOM::Node> root;
   dom_agent()->getDocument(&root);
 
-  WmWindow* root_window = GetPrimaryRootWindow();
-  WmWindow* rotation_window = root_window->GetChildren()[0];
-  WmWindow* parent_window = rotation_window->GetChildren()[0];
-  WmWindow* target_window = rotation_window->GetChildren()[1];
-  WmWindow* child_window = parent_window->GetChildren()[0];
+  aura::Window* root_window = GetPrimaryRootWindow();
+  aura::Window* rotation_window = root_window->children()[0];
+  aura::Window* parent_window = rotation_window->children()[0];
+  aura::Window* target_window = rotation_window->children()[1];
+  aura::Window* child_window = parent_window->children()[0];
 
   DOM::Node* root_node =
       root->getChildren(nullptr)->get(0)->getChildren(nullptr)->get(0);
@@ -411,12 +412,11 @@
 }
 
 TEST_F(AshDevToolsTest, WindowReorganizedChildNodeRemovedAndInserted) {
-  WmWindow* root_window = GetPrimaryRootWindow();
-  WmWindow* rotation_window = root_window->GetChildren()[0];
-  WmWindow* parent_window = rotation_window->GetChildren()[0];
-  WmWindow* target_window = rotation_window->GetChildren()[1];
-  std::unique_ptr<WindowOwner> child_owner(CreateChildWindow(parent_window));
-  WmWindow* child_window = child_owner->window();
+  aura::Window* root_window = GetPrimaryRootWindow();
+  aura::Window* rotation_window = root_window->children()[0];
+  aura::Window* parent_window = rotation_window->children()[0];
+  aura::Window* target_window = rotation_window->children()[1];
+  std::unique_ptr<aura::Window> child_window(CreateChildWindow(parent_window));
 
   // Initialize DOMAgent
   std::unique_ptr<ui::devtools::protocol::DOM::Node> root;
@@ -434,9 +434,9 @@
 
   Compare(parent_window, parent_node);
   Compare(target_window, target_node);
-  Compare(child_window, child_node);
-  parent_window->RemoveChild(child_window);
-  target_window->AddChild(child_window);
+  Compare(child_window.get(), child_node);
+  parent_window->RemoveChild(child_window.get());
+  target_window->AddChild(child_window.get());
   ExpectChildNodeRemoved(parent_node->getNodeId(), child_node->getNodeId());
   ExpectChildNodeInserted(target_node->getNodeId(), sibling_node->getNodeId());
 }
@@ -446,10 +446,10 @@
   std::unique_ptr<ui::devtools::protocol::DOM::Node> root;
   dom_agent()->getDocument(&root);
 
-  WmWindow* root_window = GetPrimaryRootWindow();
-  WmWindow* parent_window = root_window->GetChildren()[0];
-  WmWindow* child_window = parent_window->GetChildren()[0];
-  WmWindow* target_window = parent_window->GetChildren()[1];
+  aura::Window* root_window = GetPrimaryRootWindow();
+  aura::Window* parent_window = root_window->children()[0];
+  aura::Window* child_window = parent_window->children()[0];
+  aura::Window* target_window = parent_window->children()[1];
 
   DOM::Node* parent_node =
       root->getChildren(nullptr)->get(0)->getChildren(nullptr)->get(0);
@@ -468,7 +468,7 @@
 TEST_F(AshDevToolsTest, ViewInserted) {
   std::unique_ptr<views::Widget> widget(
       CreateTestWidget(gfx::Rect(1, 1, 1, 1)));
-  WmWindow* window = WmWindow::Get(widget->GetNativeWindow());
+  aura::Window* window = widget->GetNativeWindow();
   widget->Show();
 
   // Initialize DOMAgent
@@ -495,7 +495,7 @@
   // Need to store |view| in unique_ptr because it is removed from the widget
   // and needs to be destroyed independently
   std::unique_ptr<views::View> child_view = base::MakeUnique<views::View>();
-  WmWindow* window = WmWindow::Get(widget->GetNativeWindow());
+  aura::Window* window = widget->GetNativeWindow();
   widget->Show();
   views::View* root_view = widget->GetRootView();
   root_view->AddChildView(child_view.get());
@@ -522,7 +522,7 @@
 TEST_F(AshDevToolsTest, ViewRearranged) {
   std::unique_ptr<views::Widget> widget(
       CreateTestWidget(gfx::Rect(1, 1, 1, 1)));
-  WmWindow* window = WmWindow::Get(widget->GetNativeWindow());
+  aura::Window* window = widget->GetNativeWindow();
   widget->Show();
   views::View* root_view = widget->GetRootView();
   views::View* parent_view = new views::View;
@@ -560,7 +560,7 @@
 TEST_F(AshDevToolsTest, ViewRearrangedRemovedAndInserted) {
   std::unique_ptr<views::Widget> widget(
       CreateTestWidget(gfx::Rect(1, 1, 1, 1)));
-  WmWindow* window = WmWindow::Get(widget->GetNativeWindow());
+  aura::Window* window = widget->GetNativeWindow();
   widget->Show();
   views::View* root_view = widget->GetRootView();
   views::View* parent_view = new views::View;
@@ -599,9 +599,8 @@
 TEST_F(AshDevToolsTest, WindowWidgetViewHighlight) {
   std::unique_ptr<views::Widget> widget(
       CreateTestWidget(gfx::Rect(0, 0, 400, 400)));
-  WmWindow* parent_window = WmWindow::Get(widget->GetNativeWindow());
-  std::unique_ptr<WindowOwner> child_owner(CreateChildWindow(parent_window));
-  WmWindow* window = child_owner->window();
+  aura::Window* parent_window = widget->GetNativeWindow();
+  std::unique_ptr<aura::Window> window(CreateChildWindow(parent_window));
   views::View* root_view = widget->GetRootView();
 
   std::unique_ptr<ui::devtools::protocol::DOM::Node> root;
@@ -638,30 +637,28 @@
 TEST_F(AshDevToolsTest, MultipleDisplayHighlight) {
   UpdateDisplay("300x400,500x500");
 
-  WmWindow::Windows root_windows = ShellPort::Get()->GetAllRootWindows();
-  std::unique_ptr<WindowOwner> window_owner(
-      CreateTestWindow(gfx::Rect(1, 2, 30, 40)));
-  WmWindow* window = window_owner->window();
+  aura::Window::Windows root_windows = Shell::GetAllRootWindows();
+  std::unique_ptr<aura::Window> window(
+      CreateTestWindowInShellWithBounds(gfx::Rect(1, 2, 30, 40)));
 
   std::unique_ptr<ui::devtools::protocol::DOM::Node> root;
   dom_agent()->getDocument(&root);
 
   EXPECT_EQ(root_windows[0], window->GetRootWindow());
-  HighlightNode(dom_agent()->GetNodeIdFromWindow(window));
+  HighlightNode(dom_agent()->GetNodeIdFromWindow(window.get()));
   ExpectHighlighted(window->GetBoundsInScreen(), 0);
 
   window->SetBoundsInScreen(gfx::Rect(500, 0, 50, 50), GetSecondaryDisplay());
   EXPECT_EQ(root_windows[1], window->GetRootWindow());
-  HighlightNode(dom_agent()->GetNodeIdFromWindow(window));
+  HighlightNode(dom_agent()->GetNodeIdFromWindow(window.get()));
   ExpectHighlighted(window->GetBoundsInScreen(), 1);
 }
 
 TEST_F(AshDevToolsTest, WindowWidgetViewGetMatchedStylesForNode) {
   std::unique_ptr<views::Widget> widget(
       CreateTestWidget(gfx::Rect(1, 1, 1, 1)));
-  WmWindow* parent_window = WmWindow::Get(widget->GetNativeWindow());
-  std::unique_ptr<WindowOwner> child_owner(CreateChildWindow(parent_window));
-  WmWindow* window = child_owner->window();
+  aura::Window* parent_window = widget->GetNativeWindow();
+  std::unique_ptr<aura::Window> window(CreateChildWindow(parent_window));
   gfx::Rect window_bounds(2, 2, 3, 3);
   gfx::Rect widget_bounds(50, 50, 100, 75);
   gfx::Rect view_bounds(4, 4, 3, 3);
@@ -686,9 +683,8 @@
 TEST_F(AshDevToolsTest, WindowWidgetViewStyleSheetChanged) {
   std::unique_ptr<views::Widget> widget(
       CreateTestWidget(gfx::Rect(1, 1, 1, 1)));
-  WmWindow* widget_window = WmWindow::Get(widget->GetNativeWindow());
-  std::unique_ptr<WindowOwner> child_owner(CreateChildWindow(widget_window));
-  WmWindow* child = child_owner->window();
+  aura::Window* widget_window = widget->GetNativeWindow();
+  std::unique_ptr<aura::Window> child(CreateChildWindow(widget_window));
 
   std::unique_ptr<ui::devtools::protocol::DOM::Node> root;
   dom_agent()->getDocument(&root);
@@ -718,9 +714,8 @@
 TEST_F(AshDevToolsTest, WindowWidgetViewSetStyleText) {
   std::unique_ptr<views::Widget> widget(
       CreateTestWidget(gfx::Rect(0, 0, 400, 400)));
-  WmWindow* parent_window = WmWindow::Get(widget->GetNativeWindow());
-  std::unique_ptr<WindowOwner> child_owner(CreateChildWindow(parent_window));
-  WmWindow* window = child_owner->window();
+  aura::Window* parent_window = widget->GetNativeWindow();
+  std::unique_ptr<aura::Window> window(CreateChildWindow(parent_window));
   views::View* root_view = widget->GetRootView();
 
   std::unique_ptr<ui::devtools::protocol::DOM::Node> root;
@@ -736,18 +731,18 @@
 
   SetStyleTexts(window_node,
                 "x: 25; y:35; width: 5; height: 20; visibility: 1;", true);
-  EXPECT_EQ(gfx::Rect(25, 35, 5, 20), window->GetBounds());
+  EXPECT_EQ(gfx::Rect(25, 35, 5, 20), window->bounds());
   EXPECT_TRUE(window->IsVisible());
 
   SetStyleTexts(window_node, "test_nothing_happens:1;", false);
-  EXPECT_EQ(gfx::Rect(25, 35, 5, 20), window->GetBounds());  // Not changed
+  EXPECT_EQ(gfx::Rect(25, 35, 5, 20), window->bounds());  // Not changed
 
   SetStyleTexts(window_node, "\nheight: 10;\nvisibility: 0;\n", true);
-  EXPECT_EQ(gfx::Rect(25, 35, 5, 10), window->GetBounds());
+  EXPECT_EQ(gfx::Rect(25, 35, 5, 10), window->bounds());
   EXPECT_FALSE(window->IsVisible());
 
   SetStyleTexts(window_node, "\nx: 10; y: 23; width: 52;\n  ", true);
-  EXPECT_EQ(gfx::Rect(10, 23, 52, 10), window->GetBounds());
+  EXPECT_EQ(gfx::Rect(10, 23, 52, 10), window->bounds());
 
   // Test different combinations on widget node
   DOM::Node* widget_node = parent_children->get(0);
diff --git a/ash/display/mirror_window_controller.cc b/ash/display/mirror_window_controller.cc
index 858dc66..55670a9 100644
--- a/ash/display/mirror_window_controller.cc
+++ b/ash/display/mirror_window_controller.cc
@@ -174,7 +174,7 @@
       AshWindowTreeHostInitParams init_params;
       init_params.initial_bounds = display_info.bounds_in_native();
       MirroringHostInfo* host_info = new MirroringHostInfo;
-      host_info->ash_host.reset(AshWindowTreeHost::Create(init_params));
+      host_info->ash_host = AshWindowTreeHost::Create(init_params);
       mirroring_host_info_map_[display_info.id()] = host_info;
 
       aura::WindowTreeHost* host = host_info->ash_host->AsWindowTreeHost();
diff --git a/ash/display/window_tree_host_manager.cc b/ash/display/window_tree_host_manager.cc
index fde5d13e..7f11547 100644
--- a/ash/display/window_tree_host_manager.cc
+++ b/ash/display/window_tree_host_manager.cc
@@ -813,7 +813,10 @@
   params_with_bounds.initial_bounds = display_info.bounds_in_native();
   params_with_bounds.offscreen =
       display.id() == display::DisplayManager::kUnifiedDisplayId;
-  AshWindowTreeHost* ash_host = AshWindowTreeHost::Create(params_with_bounds);
+  // The AshWindowTreeHost ends up owned by the RootWindowControllers created
+  // by this class.
+  AshWindowTreeHost* ash_host =
+      AshWindowTreeHost::Create(params_with_bounds).release();
   aura::WindowTreeHost* host = ash_host->AsWindowTreeHost();
   if (!input_method_) {  // Singleton input method instance for Ash.
     input_method_ = ui::CreateInputMethod(this, host->GetAcceleratedWidget());
diff --git a/ash/host/DEPS b/ash/host/DEPS
index 0d123b9..a02ef75 100644
--- a/ash/host/DEPS
+++ b/ash/host/DEPS
@@ -6,3 +6,9 @@
   "+ash/ash_switches.h",
   "+ui/ozone/public",  # For ozone interfaces
 ]
+
+specific_include_rules = {
+  "ash_window_tree_host.cc": [
+    "+ash/shell_port.h",
+  ],
+}
diff --git a/ash/host/ash_window_tree_host.cc b/ash/host/ash_window_tree_host.cc
index 939f097..31cdd01 100644
--- a/ash/host/ash_window_tree_host.cc
+++ b/ash/host/ash_window_tree_host.cc
@@ -6,6 +6,8 @@
 
 #include "ash/host/ash_window_tree_host_init_params.h"
 #include "ash/host/ash_window_tree_host_unified.h"
+#include "ash/shell_port.h"
+#include "base/memory/ptr_util.h"
 #include "ui/aura/client/screen_position_client.h"
 #include "ui/aura/window_tree_host.h"
 #include "ui/events/event.h"
@@ -21,6 +23,8 @@
 
 AshWindowTreeHost::AshWindowTreeHost() : input_method_handler_(nullptr) {}
 
+AshWindowTreeHost::~AshWindowTreeHost() = default;
+
 void AshWindowTreeHost::TranslateLocatedEvent(ui::LocatedEvent* event) {
   if (event->IsTouchEvent())
     return;
@@ -47,14 +51,22 @@
 }
 
 // static
-AshWindowTreeHost* AshWindowTreeHost::Create(
+std::unique_ptr<AshWindowTreeHost> AshWindowTreeHost::Create(
     const AshWindowTreeHostInitParams& init_params) {
-  if (init_params.offscreen)
-    return new AshWindowTreeHostUnified(init_params.initial_bounds);
+  std::unique_ptr<AshWindowTreeHost> ash_window_tree_host =
+      ShellPort::Get()->CreateAshWindowTreeHost(init_params);
+  if (ash_window_tree_host)
+    return ash_window_tree_host;
+
+  if (init_params.offscreen) {
+    return base::MakeUnique<AshWindowTreeHostUnified>(
+        init_params.initial_bounds);
+  }
 #if defined(USE_OZONE)
-  return new AshWindowTreeHostPlatform(init_params.initial_bounds);
+  return base::MakeUnique<AshWindowTreeHostPlatform>(
+      init_params.initial_bounds);
 #elif defined(USE_X11)
-  return new AshWindowTreeHostX11(init_params.initial_bounds);
+  return base::MakeUnique<AshWindowTreeHostX11>(init_params.initial_bounds);
 #else
 #error Unsupported platform.
 #endif
diff --git a/ash/host/ash_window_tree_host.h b/ash/host/ash_window_tree_host.h
index 2459aea..dfe20f5 100644
--- a/ash/host/ash_window_tree_host.h
+++ b/ash/host/ash_window_tree_host.h
@@ -29,10 +29,9 @@
 class ASH_EXPORT AshWindowTreeHost {
  public:
   AshWindowTreeHost();
-  virtual ~AshWindowTreeHost() {}
+  virtual ~AshWindowTreeHost();
 
-  // Creates a new AshWindowTreeHost. The caller owns the returned value.
-  static AshWindowTreeHost* Create(
+  static std::unique_ptr<AshWindowTreeHost> Create(
       const AshWindowTreeHostInitParams& init_params);
 
   void set_input_method_handler(InputMethodEventHandler* input_method_handler) {
diff --git a/ash/host/ash_window_tree_host_init_params.h b/ash/host/ash_window_tree_host_init_params.h
index cf59bef..4c85f95 100644
--- a/ash/host/ash_window_tree_host_init_params.h
+++ b/ash/host/ash_window_tree_host_init_params.h
@@ -5,14 +5,20 @@
 #ifndef ASH_HOST_WINDOW_TREE_HOST_INIT_PARAMS_H_
 #define ASH_HOST_WINDOW_TREE_HOST_INIT_PARAMS_H_
 
+#include <stdint.h>
+
 #include "ash/ash_export.h"
 #include "ui/gfx/geometry/rect.h"
 
 namespace ash {
 
 struct ASH_EXPORT AshWindowTreeHostInitParams {
+  // This corresponds to display::ManagedDisplayInfo::bounds_in_native.
   gfx::Rect initial_bounds;
   bool offscreen = false;
+  int64_t display_id = 0;
+  float device_scale_factor = 0.0f;
+  float ui_scale_factor = 0.0f;
 };
 
 }  // namespace ash
diff --git a/ash/material_design/material_design_controller.cc b/ash/material_design/material_design_controller.cc
deleted file mode 100644
index 6f220e8..0000000
--- a/ash/material_design/material_design_controller.cc
+++ /dev/null
@@ -1,21 +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.
-
-#include "ash/material_design/material_design_controller.h"
-
-#include <string>
-
-namespace ash {
-
-// static
-bool MaterialDesignController::IsShelfMaterial() {
-  return true;
-}
-
-// static
-bool MaterialDesignController::IsSystemTrayMenuMaterial() {
-  return true;
-}
-
-}  // namespace ash
diff --git a/ash/material_design/material_design_controller.h b/ash/material_design/material_design_controller.h
deleted file mode 100644
index af7a732..0000000
--- a/ash/material_design/material_design_controller.h
+++ /dev/null
@@ -1,32 +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 ASH_MATERIAL_DESIGN_MATERIAL_DESIGN_CONTROLLER_H_
-#define ASH_MATERIAL_DESIGN_MATERIAL_DESIGN_CONTROLLER_H_
-
-#include "ash/ash_export.h"
-#include "base/macros.h"
-
-namespace ash {
-
-// TODO(estade): deprecated, remove: crbug.com/690957
-class ASH_EXPORT MaterialDesignController {
- public:
-  // Returns true.
-  static bool IsShelfMaterial();
-
-  // Returns true.
-  static bool IsSystemTrayMenuMaterial();
-
- private:
-  // Declarations only. Do not allow construction of an object.
-  MaterialDesignController();
-  ~MaterialDesignController();
-
-  DISALLOW_COPY_AND_ASSIGN(MaterialDesignController);
-};
-
-}  // namespace ash
-
-#endif  // ASH_MATERIAL_DESIGN_MATERIAL_DESIGN_CONTROLLER_H_
diff --git a/ash/metrics/user_metrics_recorder_unittest.cc b/ash/metrics/user_metrics_recorder_unittest.cc
index 84993be..e9f323c 100644
--- a/ash/metrics/user_metrics_recorder_unittest.cc
+++ b/ash/metrics/user_metrics_recorder_unittest.cc
@@ -12,12 +12,10 @@
 #include "ash/shell.h"
 #include "ash/shell_port.h"
 #include "ash/test/ash_test_base.h"
-#include "ash/test/test_shelf_delegate.h"
 #include "ash/test/test_system_tray_delegate.h"
 #include "ash/test/user_metrics_recorder_test_api.h"
 #include "ash/wm_window.h"
 #include "base/test/histogram_tester.h"
-#include "ui/aura/window.h"
 
 namespace ash {
 namespace {
@@ -54,9 +52,6 @@
   // environment.
   void SetUserInActiveDesktopEnvironment(bool is_active);
 
-  // Creates an aura::Window.
-  aura::Window* CreateTestWindow();
-
   test::UserMetricsRecorderTestAPI* user_metrics_recorder_test_api() {
     return user_metrics_recorder_test_api_.get();
   }
@@ -109,12 +104,6 @@
   }
 }
 
-aura::Window* UserMetricsRecorderTest::CreateTestWindow() {
-  aura::Window* window = CreateTestWindowInShellWithDelegateAndType(
-      nullptr, ui::wm::WINDOW_TYPE_NORMAL, 0, gfx::Rect());
-  return window;
-}
-
 // Verifies the return value of IsUserInActiveDesktopEnvironment() for the
 // different login status values.
 TEST_F(UserMetricsRecorderTest, VerifyIsUserInActiveDesktopEnvironmentValues) {
@@ -193,34 +182,27 @@
   if (Shell::GetAshConfig() == Config::MASH)
     return;
 
-  test::TestShelfDelegate* test_shelf_delegate =
-      test::TestShelfDelegate::instance();
   SetUserInActiveDesktopEnvironment(true);
 
   // Make sure the shelf contains the app list launcher button.
-  const ShelfItems& shelf_items = Shell::Get()->shelf_model()->items();
-  ASSERT_EQ(1u, shelf_items.size());
-  ASSERT_EQ(TYPE_APP_LIST, shelf_items[0].type);
+  ShelfModel* shelf_model = Shell::Get()->shelf_model();
+  ASSERT_EQ(1u, shelf_model->items().size());
+  ASSERT_EQ(TYPE_APP_LIST, shelf_model->items()[0].type);
 
-  aura::Window* pinned_window_with_app_id_1 = CreateTestWindow();
-  test_shelf_delegate->AddShelfItem(WmWindow::Get(pinned_window_with_app_id_1),
-                                    "app_id_1");
-  test_shelf_delegate->PinAppWithID("app_id_1");
+  ShelfItem shelf_item;
+  shelf_item.type = ash::TYPE_PINNED_APP;
+  shelf_item.app_launch_id = AppLaunchId("app_id_1");
+  shelf_model->Add(shelf_item);
+  shelf_item.app_launch_id = AppLaunchId("app_id_2");
+  shelf_model->Add(shelf_item);
 
-  aura::Window* pinned_window_with_app_id_2 = CreateTestWindow();
-  test_shelf_delegate->AddShelfItem(WmWindow::Get(pinned_window_with_app_id_2),
-                                    "app_id_2");
-  test_shelf_delegate->PinAppWithID("app_id_2");
-
-  aura::Window* unpinned_window_with_app_id_3 = CreateTestWindow();
-  test_shelf_delegate->AddShelfItem(
-      WmWindow::Get(unpinned_window_with_app_id_3), "app_id_3");
-
-  aura::Window* unpinned_window_4 = CreateTestWindow();
-  test_shelf_delegate->AddShelfItem(WmWindow::Get(unpinned_window_4));
-
-  aura::Window* unpinned_window_5 = CreateTestWindow();
-  test_shelf_delegate->AddShelfItem(WmWindow::Get(unpinned_window_5));
+  shelf_item.type = ash::TYPE_APP;
+  shelf_item.app_launch_id = AppLaunchId("app_id_3");
+  shelf_model->Add(shelf_item);
+  shelf_item.app_launch_id = AppLaunchId("app_id_4");
+  shelf_model->Add(shelf_item);
+  shelf_item.app_launch_id = AppLaunchId("app_id_5");
+  shelf_model->Add(shelf_item);
 
   user_metrics_recorder_test_api()->RecordPeriodicMetrics();
   histograms().ExpectBucketCount(kAsh_Shelf_NumberOfItems, 5, 1);
diff --git a/ash/mus/bridge/DEPS b/ash/mus/bridge/DEPS
new file mode 100644
index 0000000..984553aa6
--- /dev/null
+++ b/ash/mus/bridge/DEPS
@@ -0,0 +1,6 @@
+specific_include_rules = {
+  "shell_port_mash.cc": [
+    "+ash/host/ash_window_tree_host.h",
+    "+ash/host/ash_window_tree_host_init_params.h"
+  ],
+}
diff --git a/ash/mus/bridge/shell_port_mash.cc b/ash/mus/bridge/shell_port_mash.cc
index 1a78a0a5..d740d0bf 100644
--- a/ash/mus/bridge/shell_port_mash.cc
+++ b/ash/mus/bridge/shell_port_mash.cc
@@ -10,6 +10,7 @@
 #include "ash/accelerators/accelerator_controller_delegate_aura.h"
 #include "ash/aura/key_event_watcher_aura.h"
 #include "ash/aura/pointer_watcher_adapter.h"
+#include "ash/host/ash_window_tree_host.h"
 #include "ash/key_event_watcher.h"
 #include "ash/laser/laser_pointer_controller.h"
 #include "ash/magnifier/partial_magnification_controller.h"
@@ -54,6 +55,7 @@
 #include "ui/aura/window.h"
 #include "ui/display/manager/managed_display_info.h"
 #include "ui/display/screen.h"
+#include "ui/display/types/native_display_delegate.h"
 #include "ui/views/mus/pointer_watcher_event_router.h"
 
 namespace ash {
@@ -423,6 +425,11 @@
   }
 }
 
+std::unique_ptr<AshWindowTreeHost> ShellPortMash::CreateAshWindowTreeHost(
+    const AshWindowTreeHostInitParams& init_params) {
+  return nullptr;
+}
+
 void ShellPortMash::CreatePrimaryHost() {}
 
 void ShellPortMash::InitHosts(const ShellInitParams& init_params) {
@@ -430,6 +437,11 @@
       base::WrapUnique(init_params.primary_window_tree_host));
 }
 
+std::unique_ptr<display::NativeDisplayDelegate>
+ShellPortMash::CreateNativeDisplayDelegate() {
+  return nullptr;
+}
+
 std::unique_ptr<AcceleratorController>
 ShellPortMash::CreateAcceleratorController() {
   if (GetAshConfig() == Config::MUS) {
diff --git a/ash/mus/bridge/shell_port_mash.h b/ash/mus/bridge/shell_port_mash.h
index ac839c8..9b86c8f6f 100644
--- a/ash/mus/bridge/shell_port_mash.h
+++ b/ash/mus/bridge/shell_port_mash.h
@@ -104,8 +104,12 @@
   void SetLaserPointerEnabled(bool enabled) override;
   void SetPartialMagnifierEnabled(bool enabled) override;
   void CreatePointerWatcherAdapter() override;
+  std::unique_ptr<AshWindowTreeHost> CreateAshWindowTreeHost(
+      const AshWindowTreeHostInitParams& init_params) override;
   void CreatePrimaryHost() override;
   void InitHosts(const ShellInitParams& init_params) override;
+  std::unique_ptr<display::NativeDisplayDelegate> CreateNativeDisplayDelegate()
+      override;
   std::unique_ptr<AcceleratorController> CreateAcceleratorController() override;
 
  private:
diff --git a/ash/public/interfaces/session_controller.mojom b/ash/public/interfaces/session_controller.mojom
index 6a2e438..65ead11 100644
--- a/ash/public/interfaces/session_controller.mojom
+++ b/ash/public/interfaces/session_controller.mojom
@@ -84,6 +84,14 @@
   string display_name;
   string display_email;
   gfx.mojom.ImageSkia avatar;
+
+  // Whether the settings icon should be enabled in the system tray menu.
+  // Usually true after login, but can be false for specialized user sessions
+  // (e.g. adding supervised users).
+  bool should_enable_settings;
+
+  // Similar to |should_show_settings| but for the notification tray.
+  bool should_show_notification_tray;
 };
 
 // Matches ash::AddUserSessionPolicy.
diff --git a/ash/resources/ash_resources.grd b/ash/resources/ash_resources.grd
index c1f4be1..6c46234 100644
--- a/ash/resources/ash_resources.grd
+++ b/ash/resources/ash_resources.grd
@@ -15,19 +15,9 @@
       <structure type="chrome_scaled_image" name="IDR_ASH_SHELF_LIST_BROWSER" file="common/shelf/window_switcher_icon_normal.png" />
       <structure type="chrome_scaled_image" name="IDR_ASH_SHELF_LIST_INCOGNITO_BROWSER" file="common/shelf/window_switcher_icon_incognito.png" />
       <structure type="chrome_scaled_image" name="IDR_ASH_SHELF_ICON_SETTINGS" file="common/shelf/settings_app_icon.png" />
-      <structure type="chrome_scaled_image" name="IDR_ASH_SHELF_ICON_MD_SETTINGS" file="common/shelf/md_settings_app_icon.png" />
       <structure type="chrome_scaled_image" name="IDR_ASH_SHELF_ICON_TASK_MANAGER" file="common/shelf/task_manager.png" />
       <structure type="chrome_scaled_image" name="IDR_AURA_MULTI_WINDOW_RESIZE_H" file="common/multi_window_resize_horizontal.png" />
       <structure type="chrome_scaled_image" name="IDR_AURA_MULTI_WINDOW_RESIZE_V" file="common/multi_window_resize_vertical.png" />
-      <structure type="chrome_scaled_image" name="IDR_AURA_PHANTOM_WINDOW_BOTTOM" file="common/phantom_window_bottom.png" />
-      <structure type="chrome_scaled_image" name="IDR_AURA_PHANTOM_WINDOW_BOTTOM_LEFT" file="common/phantom_window_bottom_left.png" />
-      <structure type="chrome_scaled_image" name="IDR_AURA_PHANTOM_WINDOW_BOTTOM_RIGHT" file="common/phantom_window_bottom_right.png" />
-      <structure type="chrome_scaled_image" name="IDR_AURA_PHANTOM_WINDOW_CENTER" file="common/phantom_window_center.png" />
-      <structure type="chrome_scaled_image" name="IDR_AURA_PHANTOM_WINDOW_LEFT" file="common/phantom_window_left.png" />
-      <structure type="chrome_scaled_image" name="IDR_AURA_PHANTOM_WINDOW_RIGHT" file="common/phantom_window_right.png" />
-      <structure type="chrome_scaled_image" name="IDR_AURA_PHANTOM_WINDOW_TOP" file="common/phantom_window_top.png" />
-      <structure type="chrome_scaled_image" name="IDR_AURA_PHANTOM_WINDOW_TOP_LEFT" file="common/phantom_window_top_left.png" />
-      <structure type="chrome_scaled_image" name="IDR_AURA_PHANTOM_WINDOW_TOP_RIGHT" file="common/phantom_window_top_right.png" />
 
       <structure type="chrome_scaled_image" name="IDR_AURA_UBER_TRAY_LOCALE" file="cros/status/status_locale.png" />
       <structure type="chrome_scaled_image" name="IDR_AURA_UBER_TRAY_NETWORK_FAILED" file="cros/network/status_network_failed.png" />
diff --git a/ash/resources/default_100_percent/common/phantom_window_bottom.png b/ash/resources/default_100_percent/common/phantom_window_bottom.png
deleted file mode 100644
index b690bad..0000000
--- a/ash/resources/default_100_percent/common/phantom_window_bottom.png
+++ /dev/null
Binary files differ
diff --git a/ash/resources/default_100_percent/common/phantom_window_bottom_left.png b/ash/resources/default_100_percent/common/phantom_window_bottom_left.png
deleted file mode 100644
index 0158807..0000000
--- a/ash/resources/default_100_percent/common/phantom_window_bottom_left.png
+++ /dev/null
Binary files differ
diff --git a/ash/resources/default_100_percent/common/phantom_window_bottom_right.png b/ash/resources/default_100_percent/common/phantom_window_bottom_right.png
deleted file mode 100644
index df3d8fc..0000000
--- a/ash/resources/default_100_percent/common/phantom_window_bottom_right.png
+++ /dev/null
Binary files differ
diff --git a/ash/resources/default_100_percent/common/phantom_window_center.png b/ash/resources/default_100_percent/common/phantom_window_center.png
deleted file mode 100644
index fe802d5..0000000
--- a/ash/resources/default_100_percent/common/phantom_window_center.png
+++ /dev/null
Binary files differ
diff --git a/ash/resources/default_100_percent/common/phantom_window_left.png b/ash/resources/default_100_percent/common/phantom_window_left.png
deleted file mode 100644
index d4efcc0c..0000000
--- a/ash/resources/default_100_percent/common/phantom_window_left.png
+++ /dev/null
Binary files differ
diff --git a/ash/resources/default_100_percent/common/phantom_window_right.png b/ash/resources/default_100_percent/common/phantom_window_right.png
deleted file mode 100644
index f1d7c74..0000000
--- a/ash/resources/default_100_percent/common/phantom_window_right.png
+++ /dev/null
Binary files differ
diff --git a/ash/resources/default_100_percent/common/phantom_window_top.png b/ash/resources/default_100_percent/common/phantom_window_top.png
deleted file mode 100644
index e0d0f65..0000000
--- a/ash/resources/default_100_percent/common/phantom_window_top.png
+++ /dev/null
Binary files differ
diff --git a/ash/resources/default_100_percent/common/phantom_window_top_left.png b/ash/resources/default_100_percent/common/phantom_window_top_left.png
deleted file mode 100644
index fdd27407..0000000
--- a/ash/resources/default_100_percent/common/phantom_window_top_left.png
+++ /dev/null
Binary files differ
diff --git a/ash/resources/default_100_percent/common/phantom_window_top_right.png b/ash/resources/default_100_percent/common/phantom_window_top_right.png
deleted file mode 100644
index 6a181fb..0000000
--- a/ash/resources/default_100_percent/common/phantom_window_top_right.png
+++ /dev/null
Binary files differ
diff --git a/ash/resources/default_100_percent/common/shelf/md_settings_app_icon.png b/ash/resources/default_100_percent/common/shelf/md_settings_app_icon.png
deleted file mode 100644
index f5495d463..0000000
--- a/ash/resources/default_100_percent/common/shelf/md_settings_app_icon.png
+++ /dev/null
Binary files differ
diff --git a/ash/resources/default_100_percent/common/shelf/settings_app_icon.png b/ash/resources/default_100_percent/common/shelf/settings_app_icon.png
index fd46630..f5495d463 100644
--- a/ash/resources/default_100_percent/common/shelf/settings_app_icon.png
+++ b/ash/resources/default_100_percent/common/shelf/settings_app_icon.png
Binary files differ
diff --git a/ash/resources/default_200_percent/common/phantom_window_bottom.png b/ash/resources/default_200_percent/common/phantom_window_bottom.png
deleted file mode 100644
index ecc8ac3d..0000000
--- a/ash/resources/default_200_percent/common/phantom_window_bottom.png
+++ /dev/null
Binary files differ
diff --git a/ash/resources/default_200_percent/common/phantom_window_bottom_left.png b/ash/resources/default_200_percent/common/phantom_window_bottom_left.png
deleted file mode 100644
index 15d21ea9..0000000
--- a/ash/resources/default_200_percent/common/phantom_window_bottom_left.png
+++ /dev/null
Binary files differ
diff --git a/ash/resources/default_200_percent/common/phantom_window_bottom_right.png b/ash/resources/default_200_percent/common/phantom_window_bottom_right.png
deleted file mode 100644
index 7e1e9b6d..0000000
--- a/ash/resources/default_200_percent/common/phantom_window_bottom_right.png
+++ /dev/null
Binary files differ
diff --git a/ash/resources/default_200_percent/common/phantom_window_center.png b/ash/resources/default_200_percent/common/phantom_window_center.png
deleted file mode 100644
index 8deb3b46..0000000
--- a/ash/resources/default_200_percent/common/phantom_window_center.png
+++ /dev/null
Binary files differ
diff --git a/ash/resources/default_200_percent/common/phantom_window_left.png b/ash/resources/default_200_percent/common/phantom_window_left.png
deleted file mode 100644
index 51fce9f..0000000
--- a/ash/resources/default_200_percent/common/phantom_window_left.png
+++ /dev/null
Binary files differ
diff --git a/ash/resources/default_200_percent/common/phantom_window_right.png b/ash/resources/default_200_percent/common/phantom_window_right.png
deleted file mode 100644
index db8656a..0000000
--- a/ash/resources/default_200_percent/common/phantom_window_right.png
+++ /dev/null
Binary files differ
diff --git a/ash/resources/default_200_percent/common/phantom_window_top.png b/ash/resources/default_200_percent/common/phantom_window_top.png
deleted file mode 100644
index 5186217..0000000
--- a/ash/resources/default_200_percent/common/phantom_window_top.png
+++ /dev/null
Binary files differ
diff --git a/ash/resources/default_200_percent/common/phantom_window_top_left.png b/ash/resources/default_200_percent/common/phantom_window_top_left.png
deleted file mode 100644
index 7c483fa..0000000
--- a/ash/resources/default_200_percent/common/phantom_window_top_left.png
+++ /dev/null
Binary files differ
diff --git a/ash/resources/default_200_percent/common/phantom_window_top_right.png b/ash/resources/default_200_percent/common/phantom_window_top_right.png
deleted file mode 100644
index f11c0240..0000000
--- a/ash/resources/default_200_percent/common/phantom_window_top_right.png
+++ /dev/null
Binary files differ
diff --git a/ash/resources/default_200_percent/common/shelf/md_settings_app_icon.png b/ash/resources/default_200_percent/common/shelf/md_settings_app_icon.png
deleted file mode 100644
index 58dea0cc..0000000
--- a/ash/resources/default_200_percent/common/shelf/md_settings_app_icon.png
+++ /dev/null
Binary files differ
diff --git a/ash/resources/default_200_percent/common/shelf/settings_app_icon.png b/ash/resources/default_200_percent/common/shelf/settings_app_icon.png
index 5291f067..58dea0cc 100644
--- a/ash/resources/default_200_percent/common/shelf/settings_app_icon.png
+++ b/ash/resources/default_200_percent/common/shelf/settings_app_icon.png
Binary files differ
diff --git a/ash/session/session_controller.cc b/ash/session/session_controller.cc
index 041259cd..f2fe59c 100644
--- a/ash/session/session_controller.cc
+++ b/ash/session/session_controller.cc
@@ -96,6 +96,23 @@
   return state_;
 }
 
+bool SessionController::ShouldEnableSettings() const {
+  // Settings opens a web UI window, so it is not available at the lock screen.
+  if (!IsActiveUserSessionStarted() || IsScreenLocked() ||
+      IsInSecondaryLoginScreen()) {
+    return false;
+  }
+
+  return user_sessions_[0]->should_enable_settings;
+}
+
+bool SessionController::ShouldShowNotificationTray() const {
+  if (!IsActiveUserSessionStarted() || IsInSecondaryLoginScreen())
+    return false;
+
+  return user_sessions_[0]->should_show_notification_tray;
+}
+
 const std::vector<mojom::UserSessionPtr>& SessionController::GetUserSessions()
     const {
   return user_sessions_;
diff --git a/ash/session/session_controller.h b/ash/session/session_controller.h
index 975e218..afe6222c 100644
--- a/ash/session/session_controller.h
+++ b/ash/session/session_controller.h
@@ -69,6 +69,12 @@
   // Convenience function that returns true if session state is LOGIN_SECONDARY.
   bool IsInSecondaryLoginScreen() const;
 
+  // Returns true if the settings icon should be enabled in the system tray.
+  bool ShouldEnableSettings() const;
+
+  // Returns true if the notification tray should appear.
+  bool ShouldShowNotificationTray() const;
+
   // Gets the ash session state.
   session_manager::SessionState GetSessionState() const;
 
diff --git a/ash/shelf/shelf_application_menu_model.cc b/ash/shelf/shelf_application_menu_model.cc
index 503ce9b..d991f34 100644
--- a/ash/shelf/shelf_application_menu_model.cc
+++ b/ash/shelf/shelf_application_menu_model.cc
@@ -57,10 +57,10 @@
 
 void ShelfApplicationMenuModel::ExecuteCommand(int command_id,
                                                int event_flags) {
-  DCHECK(delegate_);
   DCHECK(IsCommandIdEnabled(command_id));
   // Have the delegate execute its own custom command id for the given item.
-  delegate_->ExecuteCommand(items_[command_id]->command_id, event_flags);
+  if (delegate_)
+    delegate_->ExecuteCommand(items_[command_id]->command_id, event_flags);
   RecordMenuItemSelectedMetrics(command_id, items_.size());
 }
 
diff --git a/ash/shelf/shelf_application_menu_model_unittest.cc b/ash/shelf/shelf_application_menu_model_unittest.cc
index 7a01001c..09dbd3c 100644
--- a/ash/shelf/shelf_application_menu_model_unittest.cc
+++ b/ash/shelf/shelf_application_menu_model_unittest.cc
@@ -6,7 +6,6 @@
 
 #include <utility>
 
-#include "ash/test/test_shelf_item_delegate.h"
 #include "base/macros.h"
 #include "base/memory/ptr_util.h"
 #include "base/strings/utf_string_conversions.h"
@@ -124,9 +123,8 @@
 
   std::vector<mojom::MenuItemPtr> items;
   items.push_back(ash::mojom::MenuItem::New());
-  test::TestShelfItemDelegate test_delegate(nullptr);
   base::string16 title = base::ASCIIToUTF16("title");
-  ShelfApplicationMenuModel menu(title, std::move(items), &test_delegate);
+  ShelfApplicationMenuModel menu(title, std::move(items), nullptr);
   menu.ExecuteCommand(0, 0);
 
   histogram_tester.ExpectTotalCount(kNumItemsEnabledHistogramName, 1);
diff --git a/ash/shelf/shelf_tooltip_manager_unittest.cc b/ash/shelf/shelf_tooltip_manager_unittest.cc
index 8dd94623..089e998 100644
--- a/ash/shelf/shelf_tooltip_manager_unittest.cc
+++ b/ash/shelf/shelf_tooltip_manager_unittest.cc
@@ -12,7 +12,6 @@
 #include "ash/shell.h"
 #include "ash/test/ash_test_base.h"
 #include "ash/test/shelf_view_test_api.h"
-#include "ash/test/test_shelf_item_delegate.h"
 #include "base/memory/ptr_util.h"
 #include "ui/events/event_constants.h"
 #include "ui/events/test/event_generator.h"
@@ -88,9 +87,6 @@
   ShelfItem item;
   item.type = TYPE_PINNED_APP;
   const int index = model->Add(item);
-  const ShelfID id = model->items()[index].id;
-  model->SetShelfItemDelegate(id,
-                              base::MakeUnique<TestShelfItemDelegate>(nullptr));
   // Note: There's no easy way to correlate shelf a model index/id to its view.
   tooltip_manager_->ShowTooltipWithDelay(
       shelf_view_->child_at(shelf_view_->child_count() - 1));
diff --git a/ash/shelf/shelf_unittest.cc b/ash/shelf/shelf_unittest.cc
index 3fa1d3c9..68f11f9 100644
--- a/ash/shelf/shelf_unittest.cc
+++ b/ash/shelf/shelf_unittest.cc
@@ -11,7 +11,6 @@
 #include "ash/shelf/wm_shelf.h"
 #include "ash/test/ash_test_base.h"
 #include "ash/test/shelf_view_test_api.h"
-#include "ash/test/test_shelf_item_delegate.h"
 
 namespace ash {
 
@@ -72,10 +71,6 @@
   item.status = STATUS_RUNNING;
   int index = shelf_model()->Add(item);
 
-  shelf_model()->SetShelfItemDelegate(
-      shelf_model()->items()[index].id,
-      base::MakeUnique<test::TestShelfItemDelegate>(nullptr));
-
   ASSERT_EQ(++button_count, test_api()->GetButtonCount());
   ShelfButton* button = test_api()->GetButton(index);
   button->AddState(ShelfButton::STATE_HOVERED);
diff --git a/ash/shelf/shelf_view_unittest.cc b/ash/shelf/shelf_view_unittest.cc
index c8ed571..0baab22 100644
--- a/ash/shelf/shelf_view_unittest.cc
+++ b/ash/shelf/shelf_view_unittest.cc
@@ -10,6 +10,7 @@
 #include <vector>
 
 #include "ash/public/cpp/config.h"
+#include "ash/public/cpp/shelf_item_delegate.h"
 #include "ash/public/cpp/shell_window_ids.h"
 #include "ash/root_window_controller.h"
 #include "ash/shelf/app_list_button.h"
@@ -32,8 +33,6 @@
 #include "ash/test/overflow_button_test_api.h"
 #include "ash/test/shelf_view_test_api.h"
 #include "ash/test/shell_test_api.h"
-#include "ash/test/test_shelf_delegate.h"
-#include "ash/test/test_shelf_item_delegate.h"
 #include "ash/test/test_shell_delegate.h"
 #include "ash/test/test_system_tray_delegate.h"
 #include "ash/wm_window.h"
@@ -138,60 +137,46 @@
   DISALLOW_COPY_AND_ASSIGN(WmShelfObserverIconTest);
 };
 
-// TestShelfItemDelegate which tracks whether it gets selected.
-class ShelfItemSelectionTracker : public TestShelfItemDelegate {
+// A ShelfItemDelegate that tracks selections and reports a custom action.
+class ShelfItemSelectionTracker : public ShelfItemDelegate {
  public:
-  ShelfItemSelectionTracker()
-      : TestShelfItemDelegate(NULL),
-        selected_(false),
-        item_selected_action_(SHELF_ACTION_NONE) {}
-
+  ShelfItemSelectionTracker() : ShelfItemDelegate(AppLaunchId()) {}
   ~ShelfItemSelectionTracker() override {}
 
-  // Resets to the initial state.
-  void Reset() { selected_ = false; }
-
+  size_t item_selected_count() const { return item_selected_count_; }
   void set_item_selected_action(ShelfAction item_selected_action) {
     item_selected_action_ = item_selected_action;
   }
 
-  // Returns true if the delegate was selected.
-  bool WasSelected() { return selected_; }
-
-  // TestShelfItemDelegate:
+  // ShelfItemDelegate:
   void ItemSelected(std::unique_ptr<ui::Event> event,
                     int64_t display_id,
                     ShelfLaunchSource source,
                     const ItemSelectedCallback& callback) override {
-    selected_ = true;
+    item_selected_count_++;
     callback.Run(item_selected_action_, base::nullopt);
   }
+  void ExecuteCommand(uint32_t command_id, int32_t event_flags) override {}
+  void Close() override {}
 
  private:
-  bool selected_;
-
-  // The action reported by ItemSelected.
-  ShelfAction item_selected_action_;
+  size_t item_selected_count_ = 0;
+  ShelfAction item_selected_action_ = SHELF_ACTION_NONE;
 
   DISALLOW_COPY_AND_ASSIGN(ShelfItemSelectionTracker);
 };
 
 TEST_F(WmShelfObserverIconTest, AddRemove) {
-  views::Widget::InitParams params(views::Widget::InitParams::TYPE_WINDOW);
-  params.ownership = views::Widget::InitParams::WIDGET_OWNS_NATIVE_WIDGET;
-  params.bounds = gfx::Rect(0, 0, 200, 200);
-  params.context = CurrentContext();
-  views::Widget widget;
-  widget.Init(params);
-
-  TestShelfDelegate::instance()->AddShelfItem(
-      WmWindow::Get(widget.GetNativeWindow()));
+  ShelfItem item;
+  item.type = TYPE_APP;
+  EXPECT_FALSE(observer()->icon_positions_changed());
+  const int shelf_item_index = Shell::Get()->shelf_model()->Add(item);
   shelf_view_test()->RunMessageLoopUntilAnimationsDone();
   EXPECT_TRUE(observer()->icon_positions_changed());
   observer()->Reset();
 
-  widget.Show();
-  widget.GetNativeWindow()->parent()->RemoveChild(widget.GetNativeWindow());
+  EXPECT_FALSE(observer()->icon_positions_changed());
+  Shell::Get()->shelf_model()->RemoveItemAt(shelf_item_index);
   shelf_view_test()->RunMessageLoopUntilAnimationsDone();
   EXPECT_TRUE(observer()->icon_positions_changed());
   observer()->Reset();
@@ -205,26 +190,26 @@
     return;
 
   UpdateDisplay("400x400,400x400");
+  observer()->Reset();
+
   WmWindow* second_root = ShellPort::Get()->GetAllRootWindows()[1];
   WmShelf* second_shelf = second_root->GetRootWindowController()->GetShelf();
   TestWmShelfObserver second_observer(second_shelf);
 
-  views::Widget::InitParams params(views::Widget::InitParams::TYPE_WINDOW);
-  params.ownership = views::Widget::InitParams::WIDGET_OWNS_NATIVE_WIDGET;
-  params.bounds = gfx::Rect(0, 0, 200, 200);
-  params.context = CurrentContext();
-  views::Widget widget;
-  widget.Init(params);
-
-  TestShelfDelegate::instance()->AddShelfItem(
-      WmWindow::Get(widget.GetNativeWindow()));
+  ShelfItem item;
+  item.type = TYPE_APP;
+  EXPECT_FALSE(observer()->icon_positions_changed());
+  EXPECT_FALSE(second_observer.icon_positions_changed());
+  const int shelf_item_index = Shell::Get()->shelf_model()->Add(item);
   shelf_view_test()->RunMessageLoopUntilAnimationsDone();
   EXPECT_TRUE(observer()->icon_positions_changed());
   EXPECT_TRUE(second_observer.icon_positions_changed());
   observer()->Reset();
   second_observer.Reset();
 
-  widget.GetNativeWindow()->parent()->RemoveChild(widget.GetNativeWindow());
+  EXPECT_FALSE(observer()->icon_positions_changed());
+  EXPECT_FALSE(second_observer.icon_positions_changed());
+  Shell::Get()->shelf_model()->RemoveItemAt(shelf_item_index);
   shelf_view_test()->RunMessageLoopUntilAnimationsDone();
   EXPECT_TRUE(observer()->icon_positions_changed());
   EXPECT_TRUE(second_observer.icon_positions_changed());
@@ -248,49 +233,6 @@
 ////////////////////////////////////////////////////////////////////////////////
 // ShelfView tests.
 
-// A ShelfDelegate test double that will always convert between ShelfIDs and app
-// ids. This does not support pinning and unpinning operations and the return
-// value of IsAppPinned(...) is configurable.
-class TestShelfDelegateForShelfView : public TestShelfDelegate {
- public:
-  TestShelfDelegateForShelfView() {}
-  ~TestShelfDelegateForShelfView() override {}
-
-  void set_is_app_pinned(bool is_pinned) { is_app_pinned_ = is_pinned; }
-
-  // ShelfDelegate overrides:
-  ShelfID GetShelfIDForAppID(const std::string& app_id) override {
-    unsigned id = kInvalidShelfID;
-    EXPECT_TRUE(base::StringToUint(app_id, &id));
-    return base::checked_cast<ShelfID>(id);
-  }
-
-  const std::string& GetAppIDForShelfID(ShelfID id) override {
-    // Use |app_id_| member variable because returning a reference to local
-    // variable is not allowed.
-    app_id_ = base::IntToString(id);
-    return app_id_;
-  }
-
-  void PinAppWithID(const std::string& app_id) override { NOTREACHED(); }
-
-  bool IsAppPinned(const std::string& app_id) override {
-    return is_app_pinned_;
-  }
-
-  void UnpinAppWithID(const std::string& app_id) override { NOTREACHED(); }
-
- private:
-  // Tracks whether apps are pinned or not.
-  bool is_app_pinned_ = false;
-
-  // Temp member variable for returning a value. See the comment in the
-  // GetAppIDForShelfID().
-  std::string app_id_;
-
-  DISALLOW_COPY_AND_ASSIGN(TestShelfDelegateForShelfView);
-};
-
 class ShelfViewTest : public AshTestBase {
  public:
   static const char*
@@ -312,82 +254,38 @@
     test_api_.reset(new ShelfViewTestAPI(shelf_view_));
     test_api_->SetAnimationDuration(1);  // Speeds up animation for test.
 
-    ReplaceShelfDelegate();
-
     // Add browser shortcut shelf item at index 0 for test.
-    AddBrowserShortcut();
+    AddItem(TYPE_BROWSER_SHORTCUT, true);
   }
 
   void TearDown() override {
     WebNotificationTray::DisableAnimationsForTest(false);  // Reenable animation
-
-    shelf_delegate_ = nullptr;
     test_api_.reset();
     AshTestBase::TearDown();
   }
 
  protected:
-  void CreateAndSetShelfItemDelegateForID(ShelfID id) {
-    model_->SetShelfItemDelegate(
-        id, base::MakeUnique<TestShelfItemDelegate>(nullptr));
-  }
-
-  ShelfID AddBrowserShortcut() {
-    ShelfItem browser_shortcut;
-    browser_shortcut.type = TYPE_BROWSER_SHORTCUT;
-
-    ShelfID id = model_->next_id();
-    model_->AddAt(browser_index_, browser_shortcut);
-    CreateAndSetShelfItemDelegateForID(id);
-    test_api_->RunMessageLoopUntilAnimationsDone();
-    return id;
-  }
-
-  ShelfID AddAppShortcut() {
+  // Add shelf items of various types, and optionally wait for animations.
+  ShelfID AddItem(ShelfItemType type, bool wait_for_animations) {
     ShelfItem item;
-    item.type = TYPE_PINNED_APP;
-    item.status = STATUS_CLOSED;
+    item.type = type;
+    if (type == TYPE_APP || type == TYPE_APP_PANEL)
+      item.status = STATUS_RUNNING;
 
     ShelfID id = model_->next_id();
+    item.app_launch_id = AppLaunchId(base::IntToString(id));
     model_->Add(item);
-    CreateAndSetShelfItemDelegateForID(id);
-    test_api_->RunMessageLoopUntilAnimationsDone();
+    // Set a delegate; some tests require one to select the item.
+    model_->SetShelfItemDelegate(id,
+                                 base::MakeUnique<ShelfItemSelectionTracker>());
+    if (wait_for_animations)
+      test_api_->RunMessageLoopUntilAnimationsDone();
     return id;
   }
-
-  ShelfID AddPanel() {
-    ShelfID id = AddPanelNoWait();
-    test_api_->RunMessageLoopUntilAnimationsDone();
-    return id;
-  }
-
-  ShelfID AddAppNoWait() {
-    ShelfItem item;
-    item.type = TYPE_APP;
-    item.status = STATUS_RUNNING;
-
-    ShelfID id = model_->next_id();
-    model_->Add(item);
-    CreateAndSetShelfItemDelegateForID(id);
-    return id;
-  }
-
-  ShelfID AddPanelNoWait() {
-    ShelfItem item;
-    item.type = TYPE_APP_PANEL;
-    item.status = STATUS_RUNNING;
-
-    ShelfID id = model_->next_id();
-    model_->Add(item);
-    CreateAndSetShelfItemDelegateForID(id);
-    return id;
-  }
-
-  ShelfID AddApp() {
-    ShelfID id = AddAppNoWait();
-    test_api_->RunMessageLoopUntilAnimationsDone();
-    return id;
-  }
+  ShelfID AddAppShortcut() { return AddItem(TYPE_PINNED_APP, true); }
+  ShelfID AddPanel() { return AddItem(TYPE_APP_PANEL, true); }
+  ShelfID AddAppNoWait() { return AddItem(TYPE_APP, false); }
+  ShelfID AddApp() { return AddItem(TYPE_APP, true); }
 
   void SetShelfItemTypeToAppShortcut(ShelfID id) {
     int index = model_->ItemIndexByID(id);
@@ -682,14 +580,6 @@
     return model_->items()[index].id;
   }
 
-  void ReplaceShelfDelegate() {
-    // Clear the value first to avoid TestShelfDelegate's singleton check.
-    test::ShellTestApi().SetShelfDelegate(nullptr);
-    shelf_delegate_ = new TestShelfDelegateForShelfView();
-    test_api_->SetShelfDelegate(shelf_delegate_);
-    test::ShellTestApi().SetShelfDelegate(base::WrapUnique(shelf_delegate_));
-  }
-
   // Returns the center coordinates for a button. Helper function for an event
   // generator.
   gfx::Point GetButtonCenter(ShelfID button_id) {
@@ -705,9 +595,6 @@
   ShelfView* shelf_view_;
   int browser_index_;
 
-  // Owned by ash::ShellPort.
-  TestShelfDelegateForShelfView* shelf_delegate_;
-
   std::unique_ptr<ShelfViewTestAPI> test_api_;
 
  private:
@@ -1209,18 +1096,15 @@
       browser_shelf_id,
       base::WrapUnique<ShelfItemSelectionTracker>(selection_tracker));
 
-  // A single click selects the item.
+  // A single click selects the item, but a double-click does not.
+  EXPECT_EQ(0u, selection_tracker->item_selected_count());
   SimulateClick(browser_index_);
-  EXPECT_TRUE(selection_tracker->WasSelected());
-
-  // A double-click does not select the item.
-  selection_tracker->Reset();
+  EXPECT_EQ(1u, selection_tracker->item_selected_count());
   SimulateDoubleClick(browser_index_);
-  EXPECT_FALSE(selection_tracker->WasSelected());
+  EXPECT_EQ(1u, selection_tracker->item_selected_count());
 }
 
-// Check that clicking an item and jittering the mouse a bit still selects the
-// item.
+// Check that very small mouse drags do not prevent shelf item selection.
 TEST_F(ShelfViewTest, ClickAndMoveSlightly) {
   std::vector<std::pair<ShelfID, views::View*>> id_map;
   SetupForDragTest(&id_map);
@@ -1228,8 +1112,7 @@
   ShelfID shelf_id = (id_map.begin() + 1)->first;
   views::View* button = (id_map.begin() + 1)->second;
 
-  // Replace the ShelfItemDelegate for |shelf_id| with one which tracks whether
-  // the shelf item gets selected.
+  // Install a ShelfItemDelegate that tracks when the shelf item is selected.
   ShelfItemSelectionTracker* selection_tracker = new ShelfItemSelectionTracker;
   model_->SetShelfItemDelegate(
       shelf_id, base::WrapUnique<ShelfItemSelectionTracker>(selection_tracker));
@@ -1243,26 +1126,26 @@
                              press_location_in_screen, ui::EventTimeForNow(),
                              ui::EF_LEFT_MOUSE_BUTTON, 0);
   button->OnMousePressed(click_event);
+  EXPECT_EQ(0u, selection_tracker->item_selected_count());
 
   ui::MouseEvent drag_event1(
       ui::ET_MOUSE_DRAGGED, press_location + gfx::Vector2d(0, 1),
       press_location_in_screen + gfx::Vector2d(0, 1), ui::EventTimeForNow(),
       ui::EF_LEFT_MOUSE_BUTTON, 0);
   button->OnMouseDragged(drag_event1);
-
   ui::MouseEvent drag_event2(
       ui::ET_MOUSE_DRAGGED, press_location + gfx::Vector2d(-1, 0),
       press_location_in_screen + gfx::Vector2d(-1, 0), ui::EventTimeForNow(),
       ui::EF_LEFT_MOUSE_BUTTON, 0);
   button->OnMouseDragged(drag_event2);
+  EXPECT_EQ(0u, selection_tracker->item_selected_count());
 
   ui::MouseEvent release_event(
       ui::ET_MOUSE_RELEASED, press_location + gfx::Vector2d(-1, 0),
       press_location_in_screen + gfx::Vector2d(-1, 0), ui::EventTimeForNow(),
       ui::EF_LEFT_MOUSE_BUTTON, 0);
   button->OnMouseReleased(release_event);
-
-  EXPECT_TRUE(selection_tracker->WasSelected());
+  EXPECT_EQ(1u, selection_tracker->item_selected_count());
 }
 
 // Confirm that item status changes are reflected in the buttons.
@@ -1552,7 +1435,6 @@
 
 // Checks the overflow bubble size when an item is ripped off and re-inserted.
 TEST_F(ShelfViewTest, OverflowBubbleSize) {
-  shelf_delegate_->set_is_app_pinned(true);
   AddButtonsUntilOverflow();
   // Add one more button to prevent the overflow bubble to disappear upon
   // dragging an item out on windows (flakiness, see crbug.com/436131).
@@ -2012,23 +1894,25 @@
 };
 
 // A ShelfItemDelegate that returns a menu for the shelf item.
-class ListMenuShelfItemDelegate : public TestShelfItemDelegate {
+class ListMenuShelfItemDelegate : public ShelfItemDelegate {
  public:
-  ListMenuShelfItemDelegate() : TestShelfItemDelegate(nullptr) {}
+  ListMenuShelfItemDelegate() : ShelfItemDelegate(AppLaunchId()) {}
   ~ListMenuShelfItemDelegate() override {}
 
  private:
-  // TestShelfItemDelegate:
+  // ShelfItemDelegate:
   void ItemSelected(std::unique_ptr<ui::Event> event,
                     int64_t display_id,
                     ShelfLaunchSource source,
                     const ItemSelectedCallback& callback) override {
     // Two items are needed to show a menu; the data in the items is not tested.
     std::vector<mojom::MenuItemPtr> items;
-    items.push_back(ash::mojom::MenuItem::New());
-    items.push_back(ash::mojom::MenuItem::New());
-    callback.Run(ash::SHELF_ACTION_NONE, std::move(items));
+    items.push_back(mojom::MenuItem::New());
+    items.push_back(mojom::MenuItem::New());
+    callback.Run(SHELF_ACTION_NONE, std::move(items));
   }
+  void ExecuteCommand(uint32_t command_id, int32_t event_flags) override {}
+  void Close() override {}
 
   DISALLOW_COPY_AND_ASSIGN(ListMenuShelfItemDelegate);
 };
diff --git a/ash/shelf/wm_shelf.cc b/ash/shelf/wm_shelf.cc
index e7373bbd..79ee471 100644
--- a/ash/shelf/wm_shelf.cc
+++ b/ash/shelf/wm_shelf.cc
@@ -10,7 +10,6 @@
 #include "ash/root_window_controller.h"
 #include "ash/shelf/shelf_bezel_event_handler.h"
 #include "ash/shelf/shelf_controller.h"
-#include "ash/shelf/shelf_delegate.h"
 #include "ash/shelf/shelf_layout_manager.h"
 #include "ash/shelf/shelf_locking_manager.h"
 #include "ash/shelf/shelf_model.h"
diff --git a/ash/shell_port.h b/ash/shell_port.h
index 9585d47..db553d2c 100644
--- a/ash/shell_port.h
+++ b/ash/shell_port.h
@@ -23,6 +23,7 @@
 namespace display {
 class Display;
 class ManagedDisplayInfo;
+class NativeDisplayDelegate;
 }
 
 namespace gfx {
@@ -37,6 +38,8 @@
 
 namespace ash {
 class AcceleratorController;
+class AshWindowTreeHost;
+struct AshWindowTreeHostInitParams;
 class ImmersiveFullscreenController;
 class KeyEventWatcher;
 class KeyboardUI;
@@ -204,6 +207,11 @@
 
   virtual void CreatePointerWatcherAdapter() = 0;
 
+  // Creates an AshWindowTreeHost. A return value of null results in a platform
+  // specific AshWindowTreeHost being created.
+  virtual std::unique_ptr<AshWindowTreeHost> CreateAshWindowTreeHost(
+      const AshWindowTreeHostInitParams& init_params) = 0;
+
  protected:
   ShellPort();
 
@@ -211,6 +219,8 @@
   // the corresponding RootWindowController.
   virtual void CreatePrimaryHost() = 0;
   virtual void InitHosts(const ShellInitParams& init_params) = 0;
+  virtual std::unique_ptr<display::NativeDisplayDelegate>
+  CreateNativeDisplayDelegate() = 0;
 
   // Called during startup to create the AcceleratorController.
   virtual std::unique_ptr<AcceleratorController>
diff --git a/ash/system/network/network_state_list_detailed_view.cc b/ash/system/network/network_state_list_detailed_view.cc
index 9bb2996..a270762 100644
--- a/ash/system/network/network_state_list_detailed_view.cc
+++ b/ash/system/network/network_state_list_detailed_view.cc
@@ -11,6 +11,7 @@
 #include "ash/public/cpp/shell_window_ids.h"
 #include "ash/resources/vector_icons/vector_icons.h"
 #include "ash/root_window_controller.h"
+#include "ash/session/session_controller.h"
 #include "ash/shell.h"
 #include "ash/shell_port.h"
 #include "ash/strings/grit/ash_strings.h"
@@ -339,8 +340,8 @@
     // Allow the user to access settings only if user is logged in
     // and showing settings is allowed. There are situations (supervised user
     // creation flow) when session is started but UI flow continues within
-    // login UI, i.e., no browser window is yet avaialable.
-    if (!Shell::Get()->system_tray_delegate()->ShouldShowSettings())
+    // login UI, i.e., no browser window is yet available.
+    if (!Shell::Get()->session_controller()->ShouldEnableSettings())
       settings_button_->SetEnabled(false);
 
     tri_view()->AddView(TriView::Container::END, settings_button_);
@@ -370,13 +371,10 @@
         nullptr);
   }
   if (list_type_ != LIST_TYPE_VPN) {
-    bool scanning =
+    const bool scanning =
         NetworkHandler::Get()->network_state_handler()->GetScanningByType(
             NetworkTypePattern::WiFi());
     ShowProgress(-1, scanning);
-    info_button_->SetTooltipText(l10n_util::GetStringUTF16(
-        scanning ? IDS_ASH_STATUS_TRAY_WIFI_SCANNING_MESSAGE
-                 : IDS_ASH_STATUS_TRAY_NETWORK_INFO));
   }
 }
 
diff --git a/ash/system/palette/palette_tray.cc b/ash/system/palette/palette_tray.cc
index 4054cccb..ef18de1 100644
--- a/ash/system/palette/palette_tray.cc
+++ b/ash/system/palette/palette_tray.cc
@@ -4,7 +4,6 @@
 
 #include "ash/system/palette/palette_tray.h"
 
-#include "ash/material_design/material_design_controller.h"
 #include "ash/public/cpp/shell_window_ids.h"
 #include "ash/resources/grit/ash_resources.h"
 #include "ash/resources/vector_icons/vector_icons.h"
@@ -86,31 +85,12 @@
     TrayPopupItemStyle style(TrayPopupItemStyle::FontStyle::TITLE);
     style.SetupLabel(title_label);
     box_layout->SetFlexForView(title_label, 1);
-    if (MaterialDesignController::IsSystemTrayMenuMaterial()) {
-      help_button_ =
-          new SystemMenuButton(this, TrayPopupInkDropStyle::HOST_CENTERED,
-                               kSystemMenuHelpIcon, IDS_ASH_STATUS_TRAY_HELP);
-      settings_button_ = new SystemMenuButton(
-          this, TrayPopupInkDropStyle::HOST_CENTERED, kSystemMenuSettingsIcon,
-          IDS_ASH_PALETTE_SETTINGS);
-    } else {
-      gfx::ImageSkia help_icon =
-          gfx::CreateVectorIcon(kSystemMenuHelpIcon, kMenuIconColor);
-      gfx::ImageSkia settings_icon =
-          gfx::CreateVectorIcon(kSystemMenuSettingsIcon, kMenuIconColor);
-
-      auto* help_button = new ash::TrayPopupHeaderButton(
-          this, help_icon, IDS_ASH_STATUS_TRAY_HELP);
-      help_button->SetTooltipText(
-          l10n_util::GetStringUTF16(IDS_ASH_STATUS_TRAY_HELP));
-      help_button_ = help_button;
-
-      auto* settings_button = new ash::TrayPopupHeaderButton(
-          this, settings_icon, IDS_ASH_STATUS_TRAY_SETTINGS);
-      settings_button->SetTooltipText(
-          l10n_util::GetStringUTF16(IDS_ASH_STATUS_TRAY_SETTINGS));
-      settings_button_ = settings_button;
-    }
+    help_button_ =
+        new SystemMenuButton(this, TrayPopupInkDropStyle::HOST_CENTERED,
+                             kSystemMenuHelpIcon, IDS_ASH_STATUS_TRAY_HELP);
+    settings_button_ =
+        new SystemMenuButton(this, TrayPopupInkDropStyle::HOST_CENTERED,
+                             kSystemMenuSettingsIcon, IDS_ASH_PALETTE_SETTINGS);
 
     AddChildView(help_button_);
     AddChildView(settings_button_);
@@ -153,9 +133,7 @@
       weak_factory_(this) {
   PaletteTool::RegisterToolInstances(palette_tool_manager_.get());
 
-  if (MaterialDesignController::IsShelfMaterial())
-    SetInkDropMode(InkDropMode::ON);
-
+  SetInkDropMode(InkDropMode::ON);
   SetLayoutManager(new views::FillLayout());
   icon_ = new views::ImageView();
   UpdateTrayIcon();
diff --git a/ash/system/screen_layout_observer.cc b/ash/system/screen_layout_observer.cc
index c7ea0e5..0ead7c5 100644
--- a/ash/system/screen_layout_observer.cc
+++ b/ash/system/screen_layout_observer.cc
@@ -11,6 +11,7 @@
 #include "ash/display/screen_orientation_controller_chromeos.h"
 #include "ash/metrics/user_metrics_action.h"
 #include "ash/resources/grit/ash_resources.h"
+#include "ash/session/session_controller.h"
 #include "ash/shell.h"
 #include "ash/shell_port.h"
 #include "ash/strings/grit/ash_strings.h"
@@ -18,7 +19,6 @@
 #include "ash/system/system_notifier.h"
 #include "ash/system/tray/fixed_sized_image_view.h"
 #include "ash/system/tray/system_tray_controller.h"
-#include "ash/system/tray/system_tray_delegate.h"
 #include "ash/system/tray/tray_constants.h"
 #include "base/bind.h"
 #include "base/strings/string_util.h"
@@ -64,38 +64,13 @@
   return base::UTF8ToUTF16(display->size().ToString());
 }
 
-// Attempts to open the display settings, returns true if successful.
-bool OpenSettings() {
-  // switch is intentionally introduced without default, to cause an error when
-  // a new type of login status is introduced.
-  switch (Shell::Get()->system_tray_delegate()->GetUserLoginStatus()) {
-    case LoginStatus::NOT_LOGGED_IN:
-    case LoginStatus::LOCKED:
-      return false;
-
-    case LoginStatus::USER:
-    case LoginStatus::OWNER:
-    case LoginStatus::GUEST:
-    case LoginStatus::PUBLIC:
-    case LoginStatus::SUPERVISED:
-    case LoginStatus::KIOSK_APP:
-    case LoginStatus::ARC_KIOSK_APP:
-      SystemTrayDelegate* delegate = Shell::Get()->system_tray_delegate();
-      if (delegate->ShouldShowSettings()) {
-        Shell::Get()->system_tray_controller()->ShowDisplaySettings();
-        return true;
-      }
-      break;
-  }
-
-  return false;
-}
-
 // Callback to handle a user selecting the notification view.
 void OpenSettingsFromNotification() {
   ShellPort::Get()->RecordUserMetricsAction(
       UMA_STATUS_AREA_DISPLAY_NOTIFICATION_SELECTED);
-  if (OpenSettings()) {
+  // Settings may be blocked, e.g. at the lock screen.
+  if (Shell::Get()->session_controller()->ShouldEnableSettings()) {
+    Shell::Get()->system_tray_controller()->ShowDisplaySettings();
     ShellPort::Get()->RecordUserMetricsAction(
         UMA_STATUS_AREA_DISPLAY_NOTIFICATION_SHOW_SETTINGS);
   }
diff --git a/ash/system/status_area_widget.cc b/ash/system/status_area_widget.cc
index af2627c..b78677f 100644
--- a/ash/system/status_area_widget.cc
+++ b/ash/system/status_area_widget.cc
@@ -4,7 +4,6 @@
 
 #include "ash/system/status_area_widget.h"
 
-#include "ash/material_design/material_design_controller.h"
 #include "ash/public/cpp/shell_window_ids.h"
 #include "ash/root_window_controller.h"
 #include "ash/shelf/wm_shelf.h"
@@ -172,9 +171,7 @@
 }
 
 const ui::NativeTheme* StatusAreaWidget::GetNativeTheme() const {
-  return MaterialDesignController::IsShelfMaterial()
-             ? ui::NativeThemeDarkAura::instance()
-             : Widget::GetNativeTheme();
+  return ui::NativeThemeDarkAura::instance();
 }
 
 void StatusAreaWidget::OnNativeWidgetActivationChanged(bool active) {
diff --git a/ash/system/tiles/tiles_default_view.cc b/ash/system/tiles/tiles_default_view.cc
index 52bf8c1..216d1b7c 100644
--- a/ash/system/tiles/tiles_default_view.cc
+++ b/ash/system/tiles/tiles_default_view.cc
@@ -14,7 +14,6 @@
 #include "ash/system/tray/system_menu_button.h"
 #include "ash/system/tray/system_tray.h"
 #include "ash/system/tray/system_tray_controller.h"
-#include "ash/system/tray/system_tray_delegate.h"
 #include "ash/system/tray/system_tray_item.h"
 #include "ash/system/tray/tray_constants.h"
 #include "ash/system/tray/tray_popup_utils.h"
@@ -66,7 +65,7 @@
       this, TrayPopupInkDropStyle::HOST_CENTERED, kSystemMenuSettingsIcon,
       IDS_ASH_STATUS_TRAY_SETTINGS);
   if (disable_buttons ||
-      !Shell::Get()->system_tray_delegate()->ShouldShowSettings())
+      !Shell::Get()->session_controller()->ShouldEnableSettings())
     settings_button_->SetEnabled(false);
   AddChildView(settings_button_);
   AddChildView(TrayPopupUtils::CreateVerticalSeparator());
diff --git a/ash/system/tray/default_system_tray_delegate.cc b/ash/system/tray/default_system_tray_delegate.cc
index da18b14a..fa8bfd9 100644
--- a/ash/system/tray/default_system_tray_delegate.cc
+++ b/ash/system/tray/default_system_tray_delegate.cc
@@ -26,12 +26,4 @@
   return GetUserLoginStatus() == LoginStatus::SUPERVISED;
 }
 
-bool DefaultSystemTrayDelegate::ShouldShowSettings() const {
-  return true;
-}
-
-bool DefaultSystemTrayDelegate::ShouldShowNotificationTray() const {
-  return true;
-}
-
 }  // namespace ash
diff --git a/ash/system/tray/default_system_tray_delegate.h b/ash/system/tray/default_system_tray_delegate.h
index 4e26539..461f353 100644
--- a/ash/system/tray/default_system_tray_delegate.h
+++ b/ash/system/tray/default_system_tray_delegate.h
@@ -20,8 +20,6 @@
   LoginStatus GetUserLoginStatus() const override;
   std::string GetSupervisedUserManager() const override;
   bool IsUserSupervised() const override;
-  bool ShouldShowSettings() const override;
-  bool ShouldShowNotificationTray() const override;
 
  private:
   DISALLOW_COPY_AND_ASSIGN(DefaultSystemTrayDelegate);
diff --git a/ash/system/tray/system_tray_delegate.cc b/ash/system/tray/system_tray_delegate.cc
index f1ff267..10669a0a 100644
--- a/ash/system/tray/system_tray_delegate.cc
+++ b/ash/system/tray/system_tray_delegate.cc
@@ -51,14 +51,6 @@
   return false;
 }
 
-bool SystemTrayDelegate::ShouldShowSettings() const {
-  return false;
-}
-
-bool SystemTrayDelegate::ShouldShowNotificationTray() const {
-  return false;
-}
-
 void SystemTrayDelegate::ShowEnterpriseInfo() {}
 
 void SystemTrayDelegate::ShowUserLogin() {}
diff --git a/ash/system/tray/system_tray_delegate.h b/ash/system/tray/system_tray_delegate.h
index 4eace68e..8cb3f2c 100644
--- a/ash/system/tray/system_tray_delegate.h
+++ b/ash/system/tray/system_tray_delegate.h
@@ -86,12 +86,6 @@
   // crbug.com/443119
   virtual bool IsUserChild() const;
 
-  // Returns true if settings menu item should appear.
-  virtual bool ShouldShowSettings() const;
-
-  // Returns true if notification tray should appear.
-  virtual bool ShouldShowNotificationTray() const;
-
   // Shows information about enterprise enrolled devices.
   virtual void ShowEnterpriseInfo();
 
diff --git a/ash/system/tray/tray_constants.cc b/ash/system/tray/tray_constants.cc
index f23f9f0..19038b46 100644
--- a/ash/system/tray/tray_constants.cc
+++ b/ash/system/tray/tray_constants.cc
@@ -63,7 +63,7 @@
 
 const int kTrayToggleButtonWidth = 68;
 
-const SkColor kBackgroundColor = SkColorSetRGB(0xfe, 0xfe, 0xfe);
+const SkColor kBackgroundColor = SK_ColorWHITE;
 const SkColor kPublicAccountUserCardTextColor = SkColorSetRGB(0x66, 0x66, 0x66);
 const SkColor kPublicAccountUserCardNameColor = SK_ColorBLACK;
 
diff --git a/ash/system/web_notification/web_notification_tray.cc b/ash/system/web_notification/web_notification_tray.cc
index e26a544..20d91494 100644
--- a/ash/system/web_notification/web_notification_tray.cc
+++ b/ash/system/web_notification/web_notification_tray.cc
@@ -395,8 +395,9 @@
 
 // Private methods.
 
-bool WebNotificationTray::ShouldShowMessageCenter() {
-  return Shell::Get()->system_tray_delegate()->ShouldShowNotificationTray();
+bool WebNotificationTray::ShouldShowMessageCenter() const {
+  // Hidden at login screen, during supervised user creation, etc.
+  return Shell::Get()->session_controller()->ShouldShowNotificationTray();
 }
 
 bool WebNotificationTray::ShouldBlockShelfAutoHide() const {
@@ -496,7 +497,7 @@
 }
 
 bool WebNotificationTray::IsContextMenuEnabled() const {
-  return IsLoggedIn();
+  return ShouldShowMessageCenter();
 }
 
 message_center::MessageCenterTray* WebNotificationTray::GetMessageCenterTray() {
@@ -592,11 +593,11 @@
     counter_->SetVisible(false);
   }
 
-  SetVisible(IsLoggedIn() && ShouldShowMessageCenter());
+  SetVisible(ShouldShowMessageCenter());
   PreferredSizeChanged();
   Layout();
   SchedulePaint();
-  if (IsLoggedIn())
+  if (ShouldShowMessageCenter())
     system_tray_->SetNextFocusableView(this);
 }
 
@@ -612,12 +613,6 @@
   return message_center_tray_->message_center();
 }
 
-bool WebNotificationTray::IsLoggedIn() const {
-  return Shell::Get()->system_tray_delegate()->GetUserLoginStatus() !=
-             LoginStatus::NOT_LOGGED_IN &&
-         !Shell::Get()->session_controller()->IsInSecondaryLoginScreen();
-}
-
 // Methods for testing
 
 bool WebNotificationTray::IsPopupVisible() const {
diff --git a/ash/system/web_notification/web_notification_tray.h b/ash/system/web_notification/web_notification_tray.h
index 920baa4..9dd0109 100644
--- a/ash/system/web_notification/web_notification_tray.h
+++ b/ash/system/web_notification/web_notification_tray.h
@@ -134,7 +134,7 @@
 
   // Queries login status and the status area widget to determine visibility of
   // the message center.
-  bool ShouldShowMessageCenter();
+  bool ShouldShowMessageCenter() const;
 
   // Returns true if it should show the quiet mode menu.
   bool ShouldShowQuietModeMenu(const ui::Event& event);
@@ -149,10 +149,6 @@
     return message_center_bubble_.get();
   }
 
-  // Returns true if any user is logged in and the system is not at the screen
-  // for adding a secondary user.
-  bool IsLoggedIn() const;
-
   // Testing accessors.
   bool IsPopupVisible() const;
   message_center::MessageCenterBubble* GetMessageCenterBubbleForTest();
diff --git a/ash/test/ash_test_base.cc b/ash/test/ash_test_base.cc
index ec5972b..b319cd83 100644
--- a/ash/test/ash_test_base.cc
+++ b/ash/test/ash_test_base.cc
@@ -13,6 +13,7 @@
 #include "ash/display/window_tree_host_manager.h"
 #include "ash/ime/input_method_event_handler.h"
 #include "ash/public/cpp/config.h"
+#include "ash/public/cpp/window_properties.h"
 #include "ash/root_window_controller.h"
 #include "ash/session/session_controller.h"
 #include "ash/shell.h"
@@ -248,6 +249,20 @@
       new aura::test::ColorTestWindowDelegate(color), id, bounds);
 }
 
+std::unique_ptr<aura::Window> AshTestBase::CreateChildWindow(
+    aura::Window* parent,
+    const gfx::Rect& bounds,
+    int shell_window_id) {
+  std::unique_ptr<aura::Window> window =
+      base::MakeUnique<aura::Window>(nullptr, ui::wm::WINDOW_TYPE_NORMAL);
+  window->Init(ui::LAYER_NOT_DRAWN);
+  window->SetBounds(bounds);
+  window->set_id(shell_window_id);
+  parent->AddChild(window.get());
+  window->Show();
+  return window;
+}
+
 aura::Window* AshTestBase::CreateTestWindowInShellWithDelegate(
     aura::WindowDelegate* delegate,
     int id,
@@ -284,6 +299,9 @@
                       ui::mojom::kResizeBehaviorCanMaximize |
                           ui::mojom::kResizeBehaviorCanMinimize |
                           ui::mojom::kResizeBehaviorCanResize);
+  // Setting the item type triggers ShelfWindowWatcher to create a shelf item.
+  if (type == ui::wm::WINDOW_TYPE_PANEL)
+    window->SetProperty<int>(kShelfItemTypeKey, TYPE_APP_PANEL);
 
   return window;
 }
diff --git a/ash/test/ash_test_base.h b/ash/test/ash_test_base.h
index 21eeea6..4837d39 100644
--- a/ash/test/ash_test_base.h
+++ b/ash/test/ash_test_base.h
@@ -10,6 +10,7 @@
 #include <memory>
 #include <string>
 
+#include "ash/public/cpp/shell_window_ids.h"
 #include "base/macros.h"
 #include "base/message_loop/message_loop.h"
 #include "base/threading/thread.h"
@@ -98,6 +99,14 @@
   aura::Window* CreateTestWindowInShell(SkColor color,
                                         int id,
                                         const gfx::Rect& bounds);
+
+  // Creates a visible window parented to |parent| with the specified bounds and
+  // id.
+  std::unique_ptr<aura::Window> CreateChildWindow(
+      aura::Window* parent,
+      const gfx::Rect& bounds = gfx::Rect(),
+      int shell_window_id = kShellWindowId_Invalid);
+
   aura::Window* CreateTestWindowInShellWithDelegate(
       aura::WindowDelegate* delegate,
       int id,
diff --git a/ash/test/test_session_controller_client.cc b/ash/test/test_session_controller_client.cc
index 35fef7e..5d907cc90 100644
--- a/ash/test/test_session_controller_client.cc
+++ b/ash/test/test_session_controller_client.cc
@@ -104,6 +104,8 @@
       AccountId::FromUserEmail(GetUserIdFromEmail(display_email));
   session->display_name = "Über tray Über tray Über tray Über tray";
   session->display_email = display_email;
+  session->should_enable_settings = true;
+  session->should_show_notification_tray = true;
   controller_->UpdateUserSession(std::move(session));
 }
 
diff --git a/ash/test/test_shelf_delegate.cc b/ash/test/test_shelf_delegate.cc
index c438fe4..0fef1c7 100644
--- a/ash/test/test_shelf_delegate.cc
+++ b/ash/test/test_shelf_delegate.cc
@@ -4,64 +4,16 @@
 
 #include "ash/test/test_shelf_delegate.h"
 
-#include <utility>
-
-#include "ash/root_window_controller.h"
 #include "ash/shelf/shelf_model.h"
-#include "ash/shelf/wm_shelf.h"
 #include "ash/shell.h"
-#include "ash/shell_observer.h"
-#include "ash/test/test_shelf_item_delegate.h"
-#include "ash/wm/window_properties.h"
-#include "ash/wm_window.h"
-#include "base/memory/ptr_util.h"
-#include "ui/aura/window.h"
+#include "base/strings/string_util.h"
 
 namespace ash {
 namespace test {
 
-namespace {
-
-// Set the |type| of the item with the given |shelf_id|, if the item exists.
-void SetItemType(ShelfID shelf_id, ShelfItemType type) {
-  ShelfModel* model = Shell::Get()->shelf_model();
-  ash::ShelfItems::const_iterator item = model->ItemByID(shelf_id);
-  if (item != model->items().end()) {
-    ShelfItem pinned_item = *item;
-    pinned_item.type = type;
-    model->Set(item - model->items().begin(), pinned_item);
-  }
-}
-
-}  // namespace
-
 TestShelfDelegate* TestShelfDelegate::instance_ = nullptr;
 
-// A ShellObserver that sets the shelf alignment and auto hide behavior when the
-// shelf is created, to simulate ChromeLauncherController's behavior.
-class ShelfInitializer : public ShellObserver {
- public:
-  ShelfInitializer() { Shell::Get()->AddShellObserver(this); }
-  ~ShelfInitializer() override { Shell::Get()->RemoveShellObserver(this); }
-
-  // ShellObserver:
-  void OnShelfCreatedForRootWindow(WmWindow* root_window) override {
-    WmShelf* shelf = root_window->GetRootWindowController()->GetShelf();
-    // Do not override the custom initialization performed by some unit tests.
-    if (shelf->alignment() == SHELF_ALIGNMENT_BOTTOM_LOCKED &&
-        shelf->auto_hide_behavior() == SHELF_AUTO_HIDE_ALWAYS_HIDDEN) {
-      shelf->SetAlignment(SHELF_ALIGNMENT_BOTTOM);
-      shelf->SetAutoHideBehavior(SHELF_AUTO_HIDE_BEHAVIOR_NEVER);
-      shelf->UpdateVisibilityState();
-    }
-  }
-
- private:
-  DISALLOW_COPY_AND_ASSIGN(ShelfInitializer);
-};
-
-TestShelfDelegate::TestShelfDelegate()
-    : shelf_initializer_(base::MakeUnique<ShelfInitializer>()) {
+TestShelfDelegate::TestShelfDelegate() {
   CHECK(!instance_);
   instance_ = this;
 }
@@ -70,57 +22,6 @@
   instance_ = nullptr;
 }
 
-void TestShelfDelegate::AddShelfItem(WmWindow* window) {
-  AddShelfItem(window, std::string());
-}
-
-void TestShelfDelegate::AddShelfItem(WmWindow* window,
-                                     const std::string& app_id) {
-  ShelfItem item;
-  if (!app_id.empty())
-    item.app_launch_id = AppLaunchId(app_id);
-  if (window->GetType() == ui::wm::WINDOW_TYPE_PANEL)
-    item.type = TYPE_APP_PANEL;
-  else
-    item.type = TYPE_APP;
-  ShelfModel* model = Shell::Get()->shelf_model();
-  ShelfID id = model->next_id();
-  item.status = STATUS_CLOSED;
-  model->Add(item);
-  window->aura_window()->AddObserver(this);
-
-  model->SetShelfItemDelegate(id,
-                              base::MakeUnique<TestShelfItemDelegate>(window));
-  window->aura_window()->SetProperty(kShelfIDKey, id);
-}
-
-void TestShelfDelegate::RemoveShelfItemForWindow(WmWindow* window) {
-  ShelfID shelf_id = window->aura_window()->GetProperty(kShelfIDKey);
-  if (shelf_id == 0)
-    return;
-  ShelfModel* model = Shell::Get()->shelf_model();
-  int index = model->ItemIndexByID(shelf_id);
-  DCHECK_NE(-1, index);
-  model->RemoveItemAt(index);
-  window->aura_window()->RemoveObserver(this);
-  const std::string& app_id = GetAppIDForShelfID(shelf_id);
-  if (IsAppPinned(app_id))
-    UnpinAppWithID(app_id);
-}
-
-void TestShelfDelegate::OnWindowDestroying(aura::Window* window) {
-  RemoveShelfItemForWindow(WmWindow::Get(window));
-}
-
-void TestShelfDelegate::OnWindowHierarchyChanging(
-    const HierarchyChangeParams& params) {
-  // The window may be legitimately reparented while staying open if it moves
-  // to another display or container. If the window does not have a new parent
-  // then remove the shelf item.
-  if (!params.new_parent)
-    RemoveShelfItemForWindow(WmWindow::Get(params.target));
-}
-
 ShelfID TestShelfDelegate::GetShelfIDForAppID(const std::string& app_id) {
   // Get shelf id for |app_id| and an empty |launch_id|.
   return GetShelfIDForAppIDAndLaunchID(app_id, std::string());
@@ -141,23 +42,57 @@
 
 const std::string& TestShelfDelegate::GetAppIDForShelfID(ShelfID id) {
   ShelfModel* model = Shell::Get()->shelf_model();
-  ash::ShelfItems::const_iterator item = model->ItemByID(id);
+  ShelfItems::const_iterator item = model->ItemByID(id);
   return item != model->items().end() ? item->app_launch_id.app_id()
                                       : base::EmptyString();
 }
 
 void TestShelfDelegate::PinAppWithID(const std::string& app_id) {
-  SetItemType(GetShelfIDForAppID(app_id), TYPE_PINNED_APP);
-  pinned_apps_.insert(app_id);
+  // If the app is already pinned, do nothing and return.
+  if (IsAppPinned(app_id))
+    return;
+
+  // Convert an existing item to be pinned, or create a new pinned item.
+  ShelfModel* model = Shell::Get()->shelf_model();
+  const int index = model->ItemIndexByID(GetShelfIDForAppID(app_id));
+  if (index >= 0) {
+    ShelfItem item = model->items()[index];
+    DCHECK_EQ(item.type, TYPE_APP);
+    DCHECK(!item.pinned_by_policy);
+    item.type = TYPE_PINNED_APP;
+    model->Set(index, item);
+  } else if (!app_id.empty()) {
+    ShelfItem item;
+    item.type = TYPE_PINNED_APP;
+    item.app_launch_id = AppLaunchId(app_id);
+    model->Add(item);
+  }
 }
 
 bool TestShelfDelegate::IsAppPinned(const std::string& app_id) {
-  return pinned_apps_.find(app_id) != pinned_apps_.end();
+  ShelfID shelf_id = GetShelfIDForAppID(app_id);
+  ShelfModel* model = Shell::Get()->shelf_model();
+  ShelfItems::const_iterator item = model->ItemByID(shelf_id);
+  return item != model->items().end() && item->type == TYPE_PINNED_APP;
 }
 
 void TestShelfDelegate::UnpinAppWithID(const std::string& app_id) {
-  SetItemType(GetShelfIDForAppID(app_id), TYPE_APP);
-  pinned_apps_.erase(app_id);
+  // If the app is already not pinned, do nothing and return.
+  if (!IsAppPinned(app_id))
+    return;
+
+  // Remove the item if it is closed, or mark it as unpinned.
+  ShelfModel* model = Shell::Get()->shelf_model();
+  const int index = model->ItemIndexByID(GetShelfIDForAppID(app_id));
+  ShelfItem item = model->items()[index];
+  DCHECK_EQ(item.type, TYPE_PINNED_APP);
+  DCHECK(!item.pinned_by_policy);
+  if (item.status == STATUS_CLOSED) {
+    model->RemoveItemAt(index);
+  } else {
+    item.type = TYPE_APP;
+    model->Set(index, item);
+  }
 }
 
 }  // namespace test
diff --git a/ash/test/test_shelf_delegate.h b/ash/test/test_shelf_delegate.h
index 5b5673b7..ddf1549 100644
--- a/ash/test/test_shelf_delegate.h
+++ b/ash/test/test_shelf_delegate.h
@@ -5,48 +5,22 @@
 #ifndef ASH_TEST_TEST_SHELF_DELEGATE_H_
 #define ASH_TEST_TEST_SHELF_DELEGATE_H_
 
-#include <memory>
-#include <set>
 #include <string>
 
 #include "ash/shelf/shelf_delegate.h"
 #include "base/macros.h"
-#include "ui/aura/window_observer.h"
 
 namespace ash {
-
-class WmWindow;
-
 namespace test {
 
-class ShelfInitializer;
-
 // Test implementation of ShelfDelegate.
-// Tests may create icons for windows by calling AddShelfItem().
-class TestShelfDelegate : public ShelfDelegate, public aura::WindowObserver {
+class TestShelfDelegate : public ShelfDelegate {
  public:
   TestShelfDelegate();
   ~TestShelfDelegate() override;
 
-  // Adds a ShelfItem for the given |window|. The ShelfItem's status will be
-  // STATUS_CLOSED.
-  void AddShelfItem(WmWindow* window);
-
-  // Adds a ShelfItem for the given |window| and |app_id|. The ShelfItem's
-  // status will be STATUS_CLOSED.
-  void AddShelfItem(WmWindow* window, const std::string& app_id);
-
-  // Removes the ShelfItem for the specified |window| and unpins it if it was
-  // pinned. The |window|'s ShelfID to app id mapping will be removed if it
-  // exists.
-  void RemoveShelfItemForWindow(WmWindow* window);
-
   static TestShelfDelegate* instance() { return instance_; }
 
-  // WindowObserver implementation
-  void OnWindowDestroying(aura::Window* window) override;
-  void OnWindowHierarchyChanging(const HierarchyChangeParams& params) override;
-
   // ShelfDelegate implementation.
   ShelfID GetShelfIDForAppID(const std::string& app_id) override;
   ShelfID GetShelfIDForAppIDAndLaunchID(const std::string& app_id,
@@ -59,10 +33,6 @@
  private:
   static TestShelfDelegate* instance_;
 
-  std::unique_ptr<ShelfInitializer> shelf_initializer_;
-
-  std::set<std::string> pinned_apps_;
-
   DISALLOW_COPY_AND_ASSIGN(TestShelfDelegate);
 };
 
diff --git a/ash/test/test_shell_delegate.cc b/ash/test/test_shell_delegate.cc
index 26c1964..27c12b0 100644
--- a/ash/test/test_shell_delegate.cc
+++ b/ash/test/test_shell_delegate.cc
@@ -10,7 +10,11 @@
 #include "ash/gpu_support_stub.h"
 #include "ash/palette_delegate.h"
 #include "ash/public/cpp/shell_window_ids.h"
+#include "ash/root_window_controller.h"
 #include "ash/session/session_state_delegate.h"
+#include "ash/shelf/wm_shelf.h"
+#include "ash/shell.h"
+#include "ash/shell_observer.h"
 #include "ash/system/tray/system_tray_notifier.h"
 #include "ash/test/test_keyboard_ui.h"
 #include "ash/test/test_session_state_delegate.h"
@@ -19,6 +23,7 @@
 #include "ash/test/test_wallpaper_delegate.h"
 #include "ash/wm/window_state.h"
 #include "ash/wm/window_util.h"
+#include "ash/wm_window.h"
 #include "base/logging.h"
 #include "base/memory/ptr_util.h"
 #include "ui/aura/window.h"
@@ -27,6 +32,29 @@
 namespace ash {
 namespace test {
 
+// A ShellObserver that sets the shelf alignment and auto hide behavior when the
+// shelf is created, to simulate ChromeLauncherController's behavior.
+class ShelfInitializer : public ShellObserver {
+ public:
+  ShelfInitializer() { Shell::Get()->AddShellObserver(this); }
+  ~ShelfInitializer() override { Shell::Get()->RemoveShellObserver(this); }
+
+  // ShellObserver:
+  void OnShelfCreatedForRootWindow(WmWindow* root_window) override {
+    WmShelf* shelf = root_window->GetRootWindowController()->GetShelf();
+    // Do not override the custom initialization performed by some unit tests.
+    if (shelf->alignment() == SHELF_ALIGNMENT_BOTTOM_LOCKED &&
+        shelf->auto_hide_behavior() == SHELF_AUTO_HIDE_ALWAYS_HIDDEN) {
+      shelf->SetAlignment(SHELF_ALIGNMENT_BOTTOM);
+      shelf->SetAutoHideBehavior(SHELF_AUTO_HIDE_BEHAVIOR_NEVER);
+      shelf->UpdateVisibilityState();
+    }
+  }
+
+ private:
+  DISALLOW_COPY_AND_ASSIGN(ShelfInitializer);
+};
+
 TestShellDelegate::TestShellDelegate()
     : num_exit_requests_(0),
       multi_profiles_enabled_(false),
@@ -74,6 +102,8 @@
 void TestShellDelegate::OpenUrlFromArc(const GURL& url) {}
 
 ShelfDelegate* TestShellDelegate::CreateShelfDelegate(ShelfModel* model) {
+  // Create a separate shelf initializer that mimics ChromeLauncherController.
+  shelf_initializer_ = base::MakeUnique<ShelfInitializer>();
   return new TestShelfDelegate();
 }
 
diff --git a/ash/test/test_shell_delegate.h b/ash/test/test_shell_delegate.h
index 296ea3fc..ab64ef4e9 100644
--- a/ash/test/test_shell_delegate.h
+++ b/ash/test/test_shell_delegate.h
@@ -19,6 +19,8 @@
 namespace ash {
 namespace test {
 
+class ShelfInitializer;
+
 class TestShellDelegate : public ShellDelegate {
  public:
   TestShellDelegate();
@@ -68,6 +70,7 @@
   bool multi_profiles_enabled_;
   bool force_maximize_on_first_run_;
   bool touchscreen_enabled_in_local_pref_;
+  std::unique_ptr<ShelfInitializer> shelf_initializer_;
 
   DISALLOW_COPY_AND_ASSIGN(TestShellDelegate);
 };
diff --git a/ash/wm/overview/window_selector_item.cc b/ash/wm/overview/window_selector_item.cc
index eb53ce63..9356b57 100644
--- a/ash/wm/overview/window_selector_item.cc
+++ b/ash/wm/overview/window_selector_item.cc
@@ -7,7 +7,6 @@
 #include <algorithm>
 #include <vector>
 
-#include "ash/material_design/material_design_controller.h"
 #include "ash/metrics/user_metrics_action.h"
 #include "ash/public/cpp/shell_window_ids.h"
 #include "ash/resources/vector_icons/vector_icons.h"
diff --git a/ash/wm/overview/window_selector_unittest.cc b/ash/wm/overview/window_selector_unittest.cc
index 3548346f..892bcd4 100644
--- a/ash/wm/overview/window_selector_unittest.cc
+++ b/ash/wm/overview/window_selector_unittest.cc
@@ -16,7 +16,6 @@
 #include "ash/test/shelf_view_test_api.h"
 #include "ash/test/shell_test_api.h"
 #include "ash/test/test_app_list_view_presenter_impl.h"
-#include "ash/test/test_shelf_delegate.h"
 #include "ash/wm/maximize_mode/maximize_mode_controller.h"
 #include "ash/wm/overview/window_grid.h"
 #include "ash/wm/overview/window_selector.h"
@@ -147,7 +146,6 @@
     aura::Window* window = CreateTestWindowInShellWithDelegateAndType(
         nullptr, ui::wm::WINDOW_TYPE_PANEL, 0, bounds);
     window->SetProperty(aura::client::kTopViewInset, kHeaderHeight);
-    test::TestShelfDelegate::instance()->AddShelfItem(WmWindow::Get(window));
     shelf_view_test()->RunMessageLoopUntilAnimationsDone();
     return window;
   }
diff --git a/ash/wm/panels/panel_layout_manager_unittest.cc b/ash/wm/panels/panel_layout_manager_unittest.cc
index 52c0804..1e4c026 100644
--- a/ash/wm/panels/panel_layout_manager_unittest.cc
+++ b/ash/wm/panels/panel_layout_manager_unittest.cc
@@ -18,7 +18,6 @@
 #include "ash/system/web_notification/web_notification_tray.h"
 #include "ash/test/ash_test_base.h"
 #include "ash/test/shelf_view_test_api.h"
-#include "ash/test/test_shelf_delegate.h"
 #include "ash/wm/mru_window_tracker.h"
 #include "ash/wm/window_properties.h"
 #include "ash/wm/window_state.h"
@@ -90,7 +89,6 @@
                                               const gfx::Rect& bounds) {
     aura::Window* window = CreateTestWindowInShellWithDelegateAndType(
         delegate, ui::wm::WINDOW_TYPE_PANEL, 0, bounds);
-    test::TestShelfDelegate::instance()->AddShelfItem(WmWindow::Get(window));
     shelf_view_test()->RunMessageLoopUntilAnimationsDone();
     return window;
   }
@@ -482,11 +480,15 @@
   wm::ActivateWindow(w1.get());
   shelf_view_test()->RunMessageLoopUntilAnimationsDone();
   EXPECT_TRUE(WindowIsAbove(w1.get(), w2.get()));
-  EXPECT_TRUE(WindowIsAbove(w2.get(), w3.get()));
+  // TODO(crbug.com/698887): investigate failure in Mash.
+  if (Shell::GetAshConfig() != Config::MASH)
+    EXPECT_TRUE(WindowIsAbove(w2.get(), w3.get()));
 
   wm::ActivateWindow(w2.get());
   shelf_view_test()->RunMessageLoopUntilAnimationsDone();
-  EXPECT_TRUE(WindowIsAbove(w1.get(), w3.get()));
+  // TODO(crbug.com/698887): investigate failure in Mash.
+  if (Shell::GetAshConfig() != Config::MASH)
+    EXPECT_TRUE(WindowIsAbove(w1.get(), w3.get()));
   EXPECT_TRUE(WindowIsAbove(w2.get(), w3.get()));
   EXPECT_TRUE(WindowIsAbove(w2.get(), w1.get()));
 
@@ -506,7 +508,7 @@
   EXPECT_TRUE(IsPanelCalloutVisible(w2.get()));
   EXPECT_TRUE(IsPanelCalloutVisible(w3.get()));
 
-  // TODO: investigate failure. http://crbug.com/698887.
+  // TODO(crbug.com/698887): investigate failure in Mash.
   if (Shell::GetAshConfig() == Config::MASH)
     return;
 
@@ -629,9 +631,14 @@
       shelf->GetScreenBoundsOfItemIconForWindow(WmWindow::Get(w1.get())).x();
   int icon_x2 =
       shelf->GetScreenBoundsOfItemIconForWindow(WmWindow::Get(w2.get())).x();
-  EXPECT_EQ(window_x2 - window_x1, window_x3 - window_x2);
+  // TODO(crbug.com/698887): investigate failure in Mash.
+  if (Shell::GetAshConfig() != Config::MASH)
+    EXPECT_EQ(window_x2 - window_x1, window_x3 - window_x2);
+  // New shelf items for panels are inserted before existing panel items.
+  EXPECT_LT(window_x2, window_x1);
+  EXPECT_LT(window_x3, window_x2);
   int spacing = window_x2 - window_x1;
-  EXPECT_GT(spacing, icon_x2 - icon_x1);
+  EXPECT_GT(std::abs(spacing), std::abs(icon_x2 - icon_x1));
 }
 
 TEST_F(PanelLayoutManagerTest, FanLargeWindow) {
@@ -645,10 +652,11 @@
   int window_x1 = w1->GetBoundsInRootWindow().CenterPoint().x();
   int window_x2 = w2->GetBoundsInRootWindow().CenterPoint().x();
   int window_x3 = w3->GetBoundsInRootWindow().CenterPoint().x();
-  // The distances may not be equidistant with a large panel but the panels
-  // should be in the correct order with respect to their midpoints.
-  EXPECT_GT(window_x2, window_x1);
-  EXPECT_GT(window_x3, window_x2);
+  // The distances between windows may not be equidistant with a large panel,
+  // but the windows should be placed relative to the order they were added.
+  // New shelf items for panels are inserted before existing panel items.
+  EXPECT_LT(window_x2, window_x1);
+  EXPECT_LT(window_x3, window_x2);
 }
 
 TEST_F(PanelLayoutManagerTest, MinimizeRestorePanel) {
diff --git a/ash/wm/panels/panel_window_resizer_unittest.cc b/ash/wm/panels/panel_window_resizer_unittest.cc
index 03636f7..5a7009f 100644
--- a/ash/wm/panels/panel_window_resizer_unittest.cc
+++ b/ash/wm/panels/panel_window_resizer_unittest.cc
@@ -17,7 +17,7 @@
 #include "ash/shell_port.h"
 #include "ash/test/ash_test_base.h"
 #include "ash/test/cursor_manager_test_api.h"
-#include "ash/test/test_shelf_delegate.h"
+#include "ash/test/shelf_view_test_api.h"
 #include "ash/wm/drag_window_resizer.h"
 #include "ash/wm/window_properties.h"
 #include "ash/wm/window_state.h"
@@ -42,7 +42,9 @@
   void SetUp() override {
     AshTestBase::SetUp();
     UpdateDisplay("600x400");
-    model_ = Shell::Get()->shelf_model();
+    shelf_view_test_.reset(new test::ShelfViewTestAPI(
+        GetPrimaryShelf()->GetShelfViewForTesting()));
+    shelf_view_test_->SetAnimationDuration(1);
   }
 
   void TearDown() override { AshTestBase::TearDown(); }
@@ -61,16 +63,14 @@
     gfx::Rect bounds(origin, gfx::Size(101, 101));
     aura::Window* window = CreateTestWindowInShellWithDelegateAndType(
         NULL, ui::wm::WINDOW_TYPE_PANEL, 0, bounds);
-    test::TestShelfDelegate::instance()->AddShelfItem(WmWindow::Get(window));
+    shelf_view_test_->RunMessageLoopUntilAnimationsDone();
     return window;
   }
 
   void DragStart(aura::Window* window) {
-    resizer_.reset(CreateWindowResizer(WmWindow::Get(window),
-                                       window->bounds().origin(), HTCAPTION,
-                                       aura::client::WINDOW_MOVE_SOURCE_MOUSE)
-                       .release());
-    ASSERT_TRUE(resizer_.get());
+    resizer_ =
+        CreateWindowResizer(WmWindow::Get(window), window->bounds().origin(),
+                            HTCAPTION, aura::client::WINDOW_MOVE_SOURCE_MOUSE);
   }
 
   void DragMove(int dx, int dy) {
@@ -87,7 +87,7 @@
     resizer_.reset();
   }
 
-  // Test dragging the panel slightly, then detaching, and then reattaching
+  // Test dragging the panel slightly, then detaching, and then reattaching,
   // dragging out by the vector (dx, dy).
   void DetachReattachTest(aura::Window* window, int dx, int dy) {
     EXPECT_TRUE(window->GetProperty(kPanelAttachedKey));
@@ -96,84 +96,81 @@
     DragStart(window);
     gfx::Rect initial_bounds = window->GetBoundsInScreen();
 
-    // Drag the panel slightly. The window should still be snapped to the
-    // launcher.
+    // Drag slightly, the panel window should remain attached to the shelf.
     DragMove(dx * 5, dy * 5);
     EXPECT_EQ(initial_bounds.x(), window->GetBoundsInScreen().x());
     EXPECT_EQ(initial_bounds.y(), window->GetBoundsInScreen().y());
 
-    // Drag further out and the window should now move to the cursor.
+    // Drag further out, the panel window should detach and move to the cursor.
     DragMove(dx * 100, dy * 100);
     EXPECT_EQ(initial_bounds.x() + dx * 100, window->GetBoundsInScreen().x());
     EXPECT_EQ(initial_bounds.y() + dy * 100, window->GetBoundsInScreen().y());
-
-    // The panel should be detached when the drag completes.
     DragEnd();
 
     EXPECT_FALSE(window->GetProperty(kPanelAttachedKey));
     EXPECT_EQ(kShellWindowId_DefaultContainer, window->parent()->id());
     EXPECT_EQ(root_window, window->GetRootWindow());
 
+    // Drag back towards the shelf, the panel window should re-attach.
     DragStart(window);
-    // Drag the panel down.
     DragMove(dx * -95, dy * -95);
-    // Release the mouse and the panel should be reattached.
     DragEnd();
 
-    // The panel should be reattached and have snapped to the launcher.
     EXPECT_TRUE(window->GetProperty(kPanelAttachedKey));
     EXPECT_EQ(initial_bounds.x(), window->GetBoundsInScreen().x());
     EXPECT_EQ(initial_bounds.y(), window->GetBoundsInScreen().y());
     EXPECT_EQ(kShellWindowId_PanelContainer, window->parent()->id());
   }
 
-  void TestWindowOrder(const std::vector<aura::Window*>& window_order) {
-    int panel_index = model_->FirstPanelIndex();
-    EXPECT_EQ((int)(panel_index + window_order.size()), model_->item_count());
-    for (std::vector<aura::Window *>::const_iterator
-             iter = window_order.begin();
-         iter != window_order.end(); ++iter, ++panel_index) {
-      ShelfID id = (*iter)->GetProperty(kShelfIDKey);
-      EXPECT_EQ(id, model_->items()[panel_index].id);
+  // Ensure |first| and its shelf item come before those of |second|:
+  // - |first| should be left of |second| in an LTR bottom-aligned shelf.
+  // - |first| should be right of |second| in an RTL bottom-aligned shelf.
+  // - |first| should be above |second| in a left- or right-aligned shelf.
+  void CheckWindowAndItemPlacement(aura::Window* first, aura::Window* second) {
+    WmShelf* shelf = GetPrimaryShelf();
+    const gfx::Rect first_item_bounds =
+        shelf->GetScreenBoundsOfItemIconForWindow(WmWindow::Get(first));
+    const gfx::Rect second_item_bounds =
+        shelf->GetScreenBoundsOfItemIconForWindow(WmWindow::Get(second));
+    if (!base::i18n::IsRTL()) {
+      EXPECT_TRUE((first->bounds().x() < second->bounds().x()) ||
+                  (first->bounds().y() < second->bounds().y()));
+      EXPECT_TRUE((first_item_bounds.x() < second_item_bounds.x()) ||
+                  (first_item_bounds.y() < second_item_bounds.y()));
+    } else {
+      EXPECT_TRUE((first->bounds().x() > second->bounds().x()) ||
+                  (first->bounds().y() < second->bounds().y()));
+      EXPECT_TRUE((first_item_bounds.x() > second_item_bounds.x()) ||
+                  (first_item_bounds.y() < second_item_bounds.y()));
     }
   }
 
-  // Test dragging panel window along the shelf and verify that panel icons
-  // are reordered appropriately.
+  // Test dragging panel window along the shelf and verify that panel icons are
+  // reordered appropriately. New shelf items for panels are inserted before
+  // existing panel items (eg. to the left in an LTR bottom-aligned shelf).
   void DragAlongShelfReorder(int dx, int dy) {
-    gfx::Point origin(0, 0);
-    std::unique_ptr<aura::Window> w1(CreatePanelWindow(origin));
-    std::unique_ptr<aura::Window> w2(CreatePanelWindow(origin));
-    std::vector<aura::Window*> window_order_original;
-    std::vector<aura::Window*> window_order_swapped;
-    window_order_original.push_back(w1.get());
-    window_order_original.push_back(w2.get());
-    window_order_swapped.push_back(w2.get());
-    window_order_swapped.push_back(w1.get());
-    TestWindowOrder(window_order_original);
+    std::unique_ptr<aura::Window> w1(CreatePanelWindow(gfx::Point()));
+    std::unique_ptr<aura::Window> w2(CreatePanelWindow(gfx::Point()));
+    CheckWindowAndItemPlacement(w2.get(), w1.get());
 
-    // Drag window #2 to the beginning of the shelf.
-    DragStart(w2.get());
+    // Drag window #1 to the beginning of the shelf, the items should swap.
+    DragStart(w1.get());
     DragMove(400 * dx, 400 * dy);
-    TestWindowOrder(window_order_swapped);
+    CheckWindowAndItemPlacement(w1.get(), w2.get());
     DragEnd();
+    CheckWindowAndItemPlacement(w1.get(), w2.get());
 
-    // Expect swapped window order.
-    TestWindowOrder(window_order_swapped);
-
-    // Drag window #2 back to the end.
-    DragStart(w2.get());
+    // Drag window #1 back to the end, the items should swap back.
+    DragStart(w1.get());
     DragMove(-400 * dx, -400 * dy);
-    TestWindowOrder(window_order_original);
+    CheckWindowAndItemPlacement(w2.get(), w1.get());
     DragEnd();
-
-    // Expect original order.
-    TestWindowOrder(window_order_original);
+    CheckWindowAndItemPlacement(w2.get(), w1.get());
   }
 
  private:
   std::unique_ptr<WindowResizer> resizer_;
-  ShelfModel* model_;
+  std::unique_ptr<test::ShelfViewTestAPI> shelf_view_test_;
 
   DISALLOW_COPY_AND_ASSIGN(PanelWindowResizerTest);
 };
@@ -559,7 +556,6 @@
 INSTANTIATE_TEST_CASE_P(NormalPanelPopup,
                         PanelWindowResizerTransientTest,
                         testing::Values(ui::wm::WINDOW_TYPE_NORMAL,
-                                        ui::wm::WINDOW_TYPE_PANEL,
                                         ui::wm::WINDOW_TYPE_POPUP));
 
 }  // namespace ash
diff --git a/ash/wm/window_cycle_controller_unittest.cc b/ash/wm/window_cycle_controller_unittest.cc
index 1e62240..d1959540 100644
--- a/ash/wm/window_cycle_controller_unittest.cc
+++ b/ash/wm/window_cycle_controller_unittest.cc
@@ -19,7 +19,6 @@
 #include "ash/test/shelf_view_test_api.h"
 #include "ash/test/test_app_list_view_presenter_impl.h"
 #include "ash/test/test_session_controller_client.h"
-#include "ash/test/test_shelf_delegate.h"
 #include "ash/test/test_shell_delegate.h"
 #include "ash/wm/window_cycle_list.h"
 #include "ash/wm/window_state.h"
@@ -102,7 +101,6 @@
     gfx::Rect rect(100, 100);
     aura::Window* window = CreateTestWindowInShellWithDelegateAndType(
         NULL, ui::wm::WINDOW_TYPE_PANEL, 0, rect);
-    test::TestShelfDelegate::instance()->AddShelfItem(WmWindow::Get(window));
     shelf_view_test_->RunMessageLoopUntilAnimationsDone();
     return window;
   }
diff --git a/ash/wm/workspace/phantom_window_controller.cc b/ash/wm/workspace/phantom_window_controller.cc
index d334e9c..6321290 100644
--- a/ash/wm/workspace/phantom_window_controller.cc
+++ b/ash/wm/workspace/phantom_window_controller.cc
@@ -7,16 +7,15 @@
 #include <math.h>
 
 #include "ash/public/cpp/shell_window_ids.h"
-#include "ash/resources/grit/ash_resources.h"
 #include "ash/root_window_controller.h"
 #include "ash/wm/root_window_finder.h"
 #include "ash/wm_window.h"
 #include "ui/compositor/layer.h"
 #include "ui/compositor/scoped_layer_animation_settings.h"
 #include "ui/views/background.h"
-#include "ui/views/painter.h"
 #include "ui/views/view.h"
 #include "ui/views/widget/widget.h"
+#include "ui/wm/core/shadow_controller.h"
 
 namespace ash {
 namespace {
@@ -28,46 +27,15 @@
 // relation to the size of the phantom window at the end of the animation.
 const float kStartBoundsRatio = 0.85f;
 
-// The amount of pixels that the phantom window's shadow should extend past
-// the bounds passed into Show().
-const int kShadowThickness = 15;
+// The elevation of the shadow for the phantom window should match that of an
+// active window.
+constexpr ::wm::ShadowElevation kShadowElevation =
+    ::wm::ShadowController::kActiveNormalShadowElevation;
 
-// The minimum size of a phantom window including the shadow. The minimum size
-// is derived from the size of the IDR_AURA_PHANTOM_WINDOW image assets.
-const int kMinSizeWithShadow = 100;
-
-// Adjusts the phantom window's bounds so that the bounds:
-// - Include the size of the shadow.
-// - Have a size equal to or larger than the minimum phantom window size.
-gfx::Rect GetAdjustedBounds(const gfx::Rect& bounds) {
-  int x_inset = std::max(
-      static_cast<int>(ceil((kMinSizeWithShadow - bounds.width()) / 2.0f)),
-      kShadowThickness);
-  int y_inset = std::max(
-      static_cast<int>(ceil((kMinSizeWithShadow - bounds.height()) / 2.0f)),
-      kShadowThickness);
-
-  gfx::Rect adjusted_bounds(bounds);
-  adjusted_bounds.Inset(-x_inset, -y_inset);
-  return adjusted_bounds;
-}
-
-// Starts an animation of |widget| to |new_bounds_in_screen|. No-op if |widget|
-// is NULL.
-void AnimateToBounds(views::Widget* widget,
-                     const gfx::Rect& new_bounds_in_screen) {
-  if (!widget)
-    return;
-
-  ui::ScopedLayerAnimationSettings scoped_setter(
-      WmWindow::Get(widget->GetNativeWindow())->GetLayer()->GetAnimator());
-  scoped_setter.SetTweenType(gfx::Tween::EASE_IN);
-  scoped_setter.SetPreemptionStrategy(
-      ui::LayerAnimator::IMMEDIATELY_ANIMATE_TO_NEW_TARGET);
-  scoped_setter.SetTransitionDuration(
-      base::TimeDelta::FromMilliseconds(kAnimationDurationMs));
-  widget->SetBounds(new_bounds_in_screen);
-}
+// The shadow ninebox requires a minimum size to work well. See
+// ui/wm/core/shadow.cc
+constexpr int kMinWidthWithShadow = 2 * static_cast<int>(kShadowElevation);
+constexpr int kMinHeightWithShadow = 4 * static_cast<int>(kShadowElevation);
 
 }  // namespace
 
@@ -79,17 +47,16 @@
 PhantomWindowController::~PhantomWindowController() {}
 
 void PhantomWindowController::Show(const gfx::Rect& bounds_in_screen) {
-  gfx::Rect adjusted_bounds_in_screen = GetAdjustedBounds(bounds_in_screen);
-  if (adjusted_bounds_in_screen == target_bounds_in_screen_)
+  if (bounds_in_screen == target_bounds_in_screen_)
     return;
-  target_bounds_in_screen_ = adjusted_bounds_in_screen;
+  target_bounds_in_screen_ = bounds_in_screen;
 
   gfx::Rect start_bounds_in_screen = target_bounds_in_screen_;
   int start_width = std::max(
-      kMinSizeWithShadow,
+      kMinWidthWithShadow,
       static_cast<int>(start_bounds_in_screen.width() * kStartBoundsRatio));
   int start_height = std::max(
-      kMinSizeWithShadow,
+      kMinHeightWithShadow,
       static_cast<int>(start_bounds_in_screen.height() * kStartBoundsRatio));
   start_bounds_in_screen.Inset(
       floor((start_bounds_in_screen.width() - start_width) / 2.0f),
@@ -97,8 +64,6 @@
   phantom_widget_ =
       CreatePhantomWidget(wm::GetRootWindowMatching(target_bounds_in_screen_),
                           start_bounds_in_screen);
-
-  AnimateToBounds(phantom_widget_.get(), target_bounds_in_screen_);
 }
 
 std::unique_ptr<views::Widget> PhantomWindowController::CreatePhantomWidget(
@@ -113,6 +78,9 @@
   params.keep_on_top = true;
   params.ownership = views::Widget::InitParams::WIDGET_OWNS_NATIVE_WIDGET;
   params.name = "PhantomWindow";
+  params.layer_type = ui::LAYER_SOLID_COLOR;
+  params.shadow_type = views::Widget::InitParams::SHADOW_TYPE_DROP;
+  params.shadow_elevation = ::wm::ShadowElevation::LARGE;
   root_window->GetRootWindowController()->ConfigureWidgetInitParamsForContainer(
       phantom_widget.get(), kShellWindowId_ShelfContainer, &params);
   phantom_widget->set_focus_on_creation(false);
@@ -127,23 +95,21 @@
     phantom_widget_window->GetParent()->StackChildAbove(phantom_widget_window,
                                                         window_);
   }
+  ui::Layer* widget_layer = phantom_widget_window->GetLayer();
+  widget_layer->SetColor(SkColorSetA(SK_ColorWHITE, 0.4 * 255));
 
-  const int kImages[] = IMAGE_GRID(IDR_AURA_PHANTOM_WINDOW);
-  views::View* content_view = new views::View;
-  content_view->set_background(views::Background::CreateBackgroundPainter(
-      views::Painter::CreateImageGridPainter(kImages)));
-  phantom_widget->SetContentsView(content_view);
-
-  // Show the widget after all the setups.
   phantom_widget->Show();
 
   // Fade the window in.
-  ui::Layer* widget_layer = phantom_widget_window->GetLayer();
   widget_layer->SetOpacity(0);
   ui::ScopedLayerAnimationSettings scoped_setter(widget_layer->GetAnimator());
   scoped_setter.SetTransitionDuration(
       base::TimeDelta::FromMilliseconds(kAnimationDurationMs));
+  scoped_setter.SetTweenType(gfx::Tween::EASE_IN);
+  scoped_setter.SetPreemptionStrategy(
+      ui::LayerAnimator::IMMEDIATELY_ANIMATE_TO_NEW_TARGET);
   widget_layer->SetOpacity(1);
+  phantom_widget->SetBounds(target_bounds_in_screen_);
 
   return phantom_widget;
 }
diff --git a/ash/wm/workspace_controller_unittest.cc b/ash/wm/workspace_controller_unittest.cc
index b2f18e21..1b53e6f 100644
--- a/ash/wm/workspace_controller_unittest.cc
+++ b/ash/wm/workspace_controller_unittest.cc
@@ -16,7 +16,6 @@
 #include "ash/system/status_area_widget.h"
 #include "ash/test/ash_test_base.h"
 #include "ash/test/shell_test_api.h"
-#include "ash/test/test_shelf_delegate.h"
 #include "ash/wm/panels/panel_layout_manager.h"
 #include "ash/wm/window_state.h"
 #include "ash/wm/window_state_aura.h"
@@ -120,7 +119,6 @@
     aura::Window* window = CreateTestWindowInShellWithDelegateAndType(
         delegate, ui::wm::WINDOW_TYPE_PANEL, 0, bounds);
     WmWindow* wm_window = WmWindow::Get(window);
-    test::TestShelfDelegate::instance()->AddShelfItem(wm_window);
     PanelLayoutManager::Get(wm_window)->Relayout();
     return window;
   }
diff --git a/base/android/java/src/org/chromium/base/ApiCompatibilityUtils.java b/base/android/java/src/org/chromium/base/ApiCompatibilityUtils.java
index 242d424..b369e4d 100644
--- a/base/android/java/src/org/chromium/base/ApiCompatibilityUtils.java
+++ b/base/android/java/src/org/chromium/base/ApiCompatibilityUtils.java
@@ -28,6 +28,8 @@
 import android.os.StatFs;
 import android.os.UserManager;
 import android.provider.Settings;
+import android.text.Html;
+import android.text.Spanned;
 import android.view.View;
 import android.view.ViewGroup.MarginLayoutParams;
 import android.view.Window;
@@ -281,6 +283,19 @@
         }
     }
 
+    /**
+     * @see android.text.Html#toHtml(Spanned, int)
+     * @param option is ignored on below N
+     */
+    @SuppressWarnings("deprecation")
+    public static String toHtml(Spanned spanned, int option) {
+        if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.N) {
+            return Html.toHtml(spanned, option);
+        } else {
+            return Html.toHtml(spanned);
+        }
+    }
+
     // These methods have a new name, and the old name is deprecated.
 
     /**
diff --git a/base/message_loop/message_loop.cc b/base/message_loop/message_loop.cc
index 3d55920..2899f976 100644
--- a/base/message_loop/message_loop.cc
+++ b/base/message_loop/message_loop.cc
@@ -85,7 +85,7 @@
 }
 
 MessageLoop::MessageLoop(std::unique_ptr<MessagePump> pump)
-    : MessageLoop(TYPE_CUSTOM, Bind(&ReturnPump, Passed(&pump))) {
+    : MessageLoop(TYPE_CUSTOM, BindOnce(&ReturnPump, Passed(&pump))) {
   BindToCurrentThread();
 }
 
@@ -309,7 +309,7 @@
 std::unique_ptr<MessageLoop> MessageLoop::CreateUnbound(
     Type type,
     MessagePumpFactoryCallback pump_factory) {
-  return WrapUnique(new MessageLoop(type, pump_factory));
+  return WrapUnique(new MessageLoop(type, std::move(pump_factory)));
 }
 
 MessageLoop::MessageLoop(Type type, MessagePumpFactoryCallback pump_factory)
@@ -319,7 +319,7 @@
       in_high_res_mode_(false),
 #endif
       nestable_tasks_allowed_(true),
-      pump_factory_(pump_factory),
+      pump_factory_(std::move(pump_factory)),
       run_loop_(nullptr),
       current_pending_task_(nullptr),
       incoming_task_queue_(new internal::IncomingTaskQueue(this)),
@@ -334,7 +334,7 @@
 void MessageLoop::BindToCurrentThread() {
   DCHECK(!pump_);
   if (!pump_factory_.is_null())
-    pump_ = pump_factory_.Run();
+    pump_ = std::move(pump_factory_).Run();
   else
     pump_ = CreateMessagePumpForType(type_);
 
@@ -593,7 +593,7 @@
 // MessageLoopForUI
 
 MessageLoopForUI::MessageLoopForUI(std::unique_ptr<MessagePump> pump)
-    : MessageLoop(TYPE_UI, Bind(&ReturnPump, Passed(&pump))) {}
+    : MessageLoop(TYPE_UI, BindOnce(&ReturnPump, std::move(pump))) {}
 
 #if defined(OS_ANDROID)
 void MessageLoopForUI::Start() {
diff --git a/base/message_loop/message_loop.h b/base/message_loop/message_loop.h
index 2ef4537..a433ae56 100644
--- a/base/message_loop/message_loop.h
+++ b/base/message_loop/message_loop.h
@@ -334,7 +334,8 @@
  protected:
   std::unique_ptr<MessagePump> pump_;
 
-  using MessagePumpFactoryCallback = Callback<std::unique_ptr<MessagePump>()>;
+  using MessagePumpFactoryCallback =
+      OnceCallback<std::unique_ptr<MessagePump>()>;
 
   // Common protected constructor. Other constructors delegate the
   // initialization to this constructor.
diff --git a/base/message_loop/message_loop_unittest.cc b/base/message_loop/message_loop_unittest.cc
index fe3c015f..0dfe21a 100644
--- a/base/message_loop/message_loop_unittest.cc
+++ b/base/message_loop/message_loop_unittest.cc
@@ -111,10 +111,11 @@
 
   if (delayed) {
     java_thread->message_loop()->task_runner()->PostDelayedTask(
-        FROM_HERE, Bind(&AbortMessagePump), TimeDelta::FromMilliseconds(10));
+        FROM_HERE, BindOnce(&AbortMessagePump),
+        TimeDelta::FromMilliseconds(10));
   } else {
     java_thread->message_loop()->task_runner()->PostTask(
-        FROM_HERE, Bind(&AbortMessagePump));
+        FROM_HERE, BindOnce(&AbortMessagePump));
   }
 
   // Wait to ensure we catch the correct exception (and don't crash)
@@ -182,16 +183,17 @@
   int num_tasks = 1;
   Time run_time;
 
-  message_loop.task_runner()->PostTask(FROM_HERE, Bind(&SubPumpFunc));
+  message_loop.task_runner()->PostTask(FROM_HERE, BindOnce(&SubPumpFunc));
 
   // This very delayed task should never run.
   message_loop.task_runner()->PostDelayedTask(
-      FROM_HERE, Bind(&RecordRunTimeFunc, &run_time, &num_tasks),
+      FROM_HERE, BindOnce(&RecordRunTimeFunc, &run_time, &num_tasks),
       TimeDelta::FromSeconds(1000));
 
   // This slightly delayed task should run from within SubPumpFunc.
-  message_loop.task_runner()->PostDelayedTask(
-      FROM_HERE, Bind(&PostQuitMessage, 0), TimeDelta::FromMilliseconds(10));
+  message_loop.task_runner()->PostDelayedTask(FROM_HERE,
+                                              BindOnce(&PostQuitMessage, 0),
+                                              TimeDelta::FromMilliseconds(10));
 
   Time start_time = Time::Now();
 
@@ -324,7 +326,7 @@
       MessageLoop::current()->SetNestableTasksAllowed(true);
     ThreadTaskRunnerHandle::Get()->PostTask(
         FROM_HERE,
-        Bind(&RecursiveFunc, order, cookie, depth - 1, is_reentrant));
+        BindOnce(&RecursiveFunc, order, cookie, depth - 1, is_reentrant));
   }
   order->RecordEnd(RECURSIVE, cookie);
 }
@@ -341,19 +343,19 @@
                       TaskList* order,
                       bool is_reentrant) {
   task_runner->PostTask(FROM_HERE,
-                        Bind(&RecursiveFunc, order, 1, 2, is_reentrant));
+                        BindOnce(&RecursiveFunc, order, 1, 2, is_reentrant));
   task_runner->PostTask(FROM_HERE,
-                        Bind(&MessageBoxFunc, order, 2, is_reentrant));
+                        BindOnce(&MessageBoxFunc, order, 2, is_reentrant));
   task_runner->PostTask(FROM_HERE,
-                        Bind(&RecursiveFunc, order, 3, 2, is_reentrant));
+                        BindOnce(&RecursiveFunc, order, 3, 2, is_reentrant));
   // The trick here is that for recursive task processing, this task will be
   // ran _inside_ the MessageBox message loop, dismissing the MessageBox
   // without a chance.
   // For non-recursive task processing, this will be executed _after_ the
   // MessageBox will have been dismissed by the code below, where
   // expect_window_ is true.
-  task_runner->PostTask(FROM_HERE, Bind(&EndDialogFunc, order, 4));
-  task_runner->PostTask(FROM_HERE, Bind(&QuitFunc, order, 5));
+  task_runner->PostTask(FROM_HERE, BindOnce(&EndDialogFunc, order, 4));
+  task_runner->PostTask(FROM_HERE, BindOnce(&QuitFunc, order, 5));
 
   // Enforce that every tasks are sent before starting to run the main thread
   // message loop.
@@ -392,8 +394,8 @@
   TaskList order;
   win::ScopedHandle event(CreateEvent(NULL, FALSE, FALSE, NULL));
   worker.task_runner()->PostTask(
-      FROM_HERE, Bind(&RecursiveFuncWin, ThreadTaskRunnerHandle::Get(),
-                      event.Get(), true, &order, false));
+      FROM_HERE, BindOnce(&RecursiveFuncWin, ThreadTaskRunnerHandle::Get(),
+                          event.Get(), true, &order, false));
   // Let the other thread execute.
   WaitForSingleObject(event.Get(), INFINITE);
   RunLoop().Run();
@@ -432,8 +434,8 @@
   TaskList order;
   win::ScopedHandle event(CreateEvent(NULL, FALSE, FALSE, NULL));
   worker.task_runner()->PostTask(
-      FROM_HERE, Bind(&RecursiveFuncWin, ThreadTaskRunnerHandle::Get(),
-                      event.Get(), false, &order, true));
+      FROM_HERE, BindOnce(&RecursiveFuncWin, ThreadTaskRunnerHandle::Get(),
+                          event.Get(), false, &order, true));
   // Let the other thread execute.
   WaitForSingleObject(event.Get(), INFINITE);
   RunLoop().Run();
@@ -450,7 +452,7 @@
   EXPECT_EQ(order.Get(7), TaskItem(MESSAGEBOX, 2, false));
   /* The order can subtly change here. The reason is that when RecursiveFunc(1)
      is called in the main thread, if it is faster than getting to the
-     PostTask(FROM_HERE, Bind(&QuitFunc) execution, the order of task
+     PostTask(FROM_HERE, BindOnce(&QuitFunc) execution, the order of task
      execution can change. We don't care anyway that the order isn't correct.
   EXPECT_EQ(order.Get(8), TaskItem(QUITMESSAGELOOP, 5, true));
   EXPECT_EQ(order.Get(9), TaskItem(QUITMESSAGELOOP, 5, false));
@@ -545,7 +547,7 @@
 
   TestIOHandler handler(kPipeName, callback_called.Get(), false);
   thread.task_runner()->PostTask(
-      FROM_HERE, Bind(&TestIOHandler::Init, Unretained(&handler)));
+      FROM_HERE, BindOnce(&TestIOHandler::Init, Unretained(&handler)));
   // Make sure the thread runs and sleeps for lack of work.
   PlatformThread::Sleep(TimeDelta::FromMilliseconds(100));
 
@@ -584,13 +586,13 @@
   TestIOHandler handler1(kPipeName1, callback1_called.Get(), false);
   TestIOHandler handler2(kPipeName2, callback2_called.Get(), true);
   thread.task_runner()->PostTask(
-      FROM_HERE, Bind(&TestIOHandler::Init, Unretained(&handler1)));
+      FROM_HERE, BindOnce(&TestIOHandler::Init, Unretained(&handler1)));
   // TODO(ajwong): Do we really need such long Sleeps in this function?
   // Make sure the thread runs and sleeps for lack of work.
   TimeDelta delay = TimeDelta::FromMilliseconds(100);
   PlatformThread::Sleep(delay);
   thread.task_runner()->PostTask(
-      FROM_HERE, Bind(&TestIOHandler::Init, Unretained(&handler2)));
+      FROM_HERE, BindOnce(&TestIOHandler::Init, Unretained(&handler2)));
   PlatformThread::Sleep(delay);
 
   // At this time handler1 is waiting to be called, and the thread is waiting
@@ -710,14 +712,14 @@
   EXPECT_FALSE(message_loop.HasHighResolutionTasks());
   // Post a fast task to enable the high resolution timers.
   message_loop.task_runner()->PostDelayedTask(
-      FROM_HERE, Bind(&PostNTasksThenQuit, 1), kFastTimer);
+      FROM_HERE, BindOnce(&PostNTasksThenQuit, 1), kFastTimer);
   EXPECT_TRUE(message_loop.HasHighResolutionTasks());
   RunLoop().Run();
   EXPECT_FALSE(message_loop.HasHighResolutionTasks());
   EXPECT_FALSE(Time::IsHighResolutionTimerInUse());
   // Check that a slow task does not trigger the high resolution logic.
   message_loop.task_runner()->PostDelayedTask(
-      FROM_HERE, Bind(&PostNTasksThenQuit, 1), kSlowTimer);
+      FROM_HERE, BindOnce(&PostNTasksThenQuit, 1), kSlowTimer);
   EXPECT_FALSE(message_loop.HasHighResolutionTasks());
   RunLoop().Run();
   EXPECT_FALSE(message_loop.HasHighResolutionTasks());
@@ -907,9 +909,9 @@
 
 void PostMultipleTasks() {
   ThreadTaskRunnerHandle::Get()->PostTask(FROM_HERE,
-                                          base::Bind(&EmptyFunction));
+                                          base::BindOnce(&EmptyFunction));
   ThreadTaskRunnerHandle::Get()->PostTask(FROM_HERE,
-                                          base::Bind(&EmptyFunction));
+                                          base::BindOnce(&EmptyFunction));
 }
 
 static const int kSignalMsg = WM_USER + 2;
@@ -938,11 +940,11 @@
     // that the pump's incoming task queue does not become empty during the
     // test.
     ThreadTaskRunnerHandle::Get()->PostTask(FROM_HERE,
-                                            base::Bind(&PostMultipleTasks));
+                                            base::BindOnce(&PostMultipleTasks));
     // Next, we post a task that posts a windows message to trigger the second
     // stage of the test.
     ThreadTaskRunnerHandle::Get()->PostTask(
-        FROM_HERE, base::Bind(&PostWindowsMessage, hwnd));
+        FROM_HERE, base::BindOnce(&PostWindowsMessage, hwnd));
     break;
   case 2:
     // Since we're about to enter a modal loop, tell the message loop that we
@@ -950,7 +952,7 @@
     MessageLoop::current()->SetNestableTasksAllowed(true);
     bool did_run = false;
     ThreadTaskRunnerHandle::Get()->PostTask(
-        FROM_HERE, base::Bind(&EndTest, &did_run, hwnd));
+        FROM_HERE, base::BindOnce(&EndTest, &did_run, hwnd));
     // Run a nested windows-style message loop and verify that our task runs. If
     // it doesn't, then we'll loop here until the test times out.
     MSG msg;
diff --git a/base/message_loop/message_pump_glib_unittest.cc b/base/message_loop/message_pump_glib_unittest.cc
index bef0c8f..564de7d 100644
--- a/base/message_loop/message_pump_glib_unittest.cc
+++ b/base/message_loop/message_pump_glib_unittest.cc
@@ -59,27 +59,27 @@
   void HandleDispatch() {
     if (events_.empty())
       return;
-    Event event = events_[0];
+    Event event = std::move(events_[0]);
     events_.erase(events_.begin());
     ++processed_events_;
     if (!event.callback.is_null())
-      event.callback.Run();
+      std::move(event.callback).Run();
     else if (!event.task.is_null())
-      event.task.Run();
+      std::move(event.task).Run();
   }
 
   // Adds an event to the queue. When "handled", executes |callback|.
   // delay_ms is relative to the last event if any, or to Now() otherwise.
-  void AddEvent(int delay_ms, const Closure& callback) {
-    AddEventHelper(delay_ms, callback, Closure());
+  void AddEvent(int delay_ms, OnceClosure callback) {
+    AddEventHelper(delay_ms, std::move(callback), OnceClosure());
   }
 
   void AddDummyEvent(int delay_ms) {
-    AddEventHelper(delay_ms, Closure(), Closure());
+    AddEventHelper(delay_ms, OnceClosure(), OnceClosure());
   }
 
-  void AddEventAsTask(int delay_ms, const Closure& task) {
-    AddEventHelper(delay_ms, Closure(), task);
+  void AddEventAsTask(int delay_ms, OnceClosure task) {
+    AddEventHelper(delay_ms, OnceClosure(), std::move(task));
   }
 
   void Reset() {
@@ -92,16 +92,15 @@
  private:
   struct Event {
     Time time;
-    Closure callback;
-    Closure task;
+    OnceClosure callback;
+    OnceClosure task;
   };
 
   struct Source : public GSource {
     EventInjector* injector;
   };
 
-  void AddEventHelper(
-      int delay_ms, const Closure& callback, const Closure& task) {
+  void AddEventHelper(int delay_ms, OnceClosure callback, OnceClosure task) {
     Time last_time;
     if (!events_.empty())
       last_time = (events_.end()-1)->time;
@@ -109,8 +108,8 @@
       last_time = Time::NowFromSystemTime();
 
     Time future = last_time + TimeDelta::FromMilliseconds(delay_ms);
-    EventInjector::Event event = {future, callback, task};
-    events_.push_back(event);
+    EventInjector::Event event = {future, std::move(callback), std::move(task)};
+    events_.push_back(std::move(event));
   }
 
   static gboolean Prepare(GSource* source, gint* timeout_ms) {
@@ -154,8 +153,8 @@
 
 // Posts a task on the current message loop.
 void PostMessageLoopTask(const tracked_objects::Location& from_here,
-                         const Closure& task) {
-  ThreadTaskRunnerHandle::Get()->PostTask(from_here, task);
+                         OnceClosure task) {
+  ThreadTaskRunnerHandle::Get()->PostTask(from_here, std::move(task));
 }
 
 // Test fixture.
@@ -208,24 +207,24 @@
   // If changes cause this test to fail, it is reasonable to change it, but
   // TestWorkWhileWaitingForEvents and TestEventsWhileWaitingForWork have to be
   // changed accordingly, otherwise they can become flaky.
-  injector()->AddEventAsTask(0, Bind(&DoNothing));
-  Closure check_task =
-      Bind(&ExpectProcessedEvents, Unretained(injector()), 2);
-  Closure posted_task =
-      Bind(&PostMessageLoopTask, FROM_HERE, check_task);
-  injector()->AddEventAsTask(0, posted_task);
-  injector()->AddEventAsTask(0, Bind(&DoNothing));
+  injector()->AddEventAsTask(0, BindOnce(&DoNothing));
+  OnceClosure check_task =
+      BindOnce(&ExpectProcessedEvents, Unretained(injector()), 2);
+  OnceClosure posted_task =
+      BindOnce(&PostMessageLoopTask, FROM_HERE, std::move(check_task));
+  injector()->AddEventAsTask(0, std::move(posted_task));
+  injector()->AddEventAsTask(0, BindOnce(&DoNothing));
   injector()->AddEvent(0, MessageLoop::QuitWhenIdleClosure());
   RunLoop().Run();
   EXPECT_EQ(4, injector()->processed_events());
 
   injector()->Reset();
-  injector()->AddEventAsTask(0, Bind(&DoNothing));
-  check_task =
-      Bind(&ExpectProcessedEvents, Unretained(injector()), 2);
-  posted_task = Bind(&PostMessageLoopTask, FROM_HERE, check_task);
-  injector()->AddEventAsTask(0, posted_task);
-  injector()->AddEventAsTask(10, Bind(&DoNothing));
+  injector()->AddEventAsTask(0, BindOnce(&DoNothing));
+  check_task = BindOnce(&ExpectProcessedEvents, Unretained(injector()), 2);
+  posted_task =
+      BindOnce(&PostMessageLoopTask, FROM_HERE, std::move(check_task));
+  injector()->AddEventAsTask(0, std::move(posted_task));
+  injector()->AddEventAsTask(10, BindOnce(&DoNothing));
   injector()->AddEvent(0, MessageLoop::QuitWhenIdleClosure());
   RunLoop().Run();
   EXPECT_EQ(4, injector()->processed_events());
@@ -279,11 +278,11 @@
   // After all the events have been processed, post a task that will check that
   // the events have been processed (note: the task executes after the event
   // that posted it has been handled, so we expect 11 at that point).
-  Closure check_task =
-      Bind(&ExpectProcessedEvents, Unretained(injector()), 11);
-  Closure posted_task =
-      Bind(&PostMessageLoopTask, FROM_HERE, check_task);
-  injector()->AddEventAsTask(10, posted_task);
+  OnceClosure check_task =
+      BindOnce(&ExpectProcessedEvents, Unretained(injector()), 11);
+  OnceClosure posted_task =
+      BindOnce(&PostMessageLoopTask, FROM_HERE, std::move(check_task));
+  injector()->AddEventAsTask(10, std::move(posted_task));
 
   // And then quit (relies on the condition tested by TestEventTaskInterleave).
   injector()->AddEvent(10, MessageLoop::QuitWhenIdleClosure());
@@ -324,8 +323,8 @@
     if (task_count_ == 0 && event_count_ == 0) {
         MessageLoop::current()->QuitWhenIdle();
     } else {
-      injector_->AddEventAsTask(
-          0, Bind(&ConcurrentHelper::FromEvent, this));
+      injector_->AddEventAsTask(0,
+                                BindOnce(&ConcurrentHelper::FromEvent, this));
     }
   }
 
@@ -357,10 +356,8 @@
 
   // Add 2 events to the queue to make sure it is always full (when we remove
   // the event before processing it).
-  injector()->AddEventAsTask(
-      0, Bind(&ConcurrentHelper::FromEvent, helper));
-  injector()->AddEventAsTask(
-      0, Bind(&ConcurrentHelper::FromEvent, helper));
+  injector()->AddEventAsTask(0, BindOnce(&ConcurrentHelper::FromEvent, helper));
+  injector()->AddEventAsTask(0, BindOnce(&ConcurrentHelper::FromEvent, helper));
 
   // Similarly post 2 tasks.
   loop()->task_runner()->PostTask(
diff --git a/base/message_loop/message_pump_win.cc b/base/message_loop/message_pump_win.cc
index d52c78563..a09aa4ca 100644
--- a/base/message_loop/message_pump_win.cc
+++ b/base/message_loop/message_pump_win.cc
@@ -90,7 +90,7 @@
 
 MessagePumpForUI::MessagePumpForUI() {
   bool succeeded = message_window_.Create(
-      Bind(&MessagePumpForUI::MessageCallback, Unretained(this)));
+      BindRepeating(&MessagePumpForUI::MessageCallback, Unretained(this)));
   DCHECK(succeeded);
 }
 
diff --git a/base/process/process_posix.cc b/base/process/process_posix.cc
index bbb342c..7f74e0b 100644
--- a/base/process/process_posix.cc
+++ b/base/process/process_posix.cc
@@ -5,6 +5,7 @@
 #include "base/process/process.h"
 
 #include <errno.h>
+#include <signal.h>
 #include <stdint.h>
 #include <sys/resource.h>
 #include <sys/wait.h>
diff --git a/base/test/android/javatests/src/org/chromium/base/test/BaseJUnit4ClassRunner.java b/base/test/android/javatests/src/org/chromium/base/test/BaseJUnit4ClassRunner.java
index 922536b..465c23a5 100644
--- a/base/test/android/javatests/src/org/chromium/base/test/BaseJUnit4ClassRunner.java
+++ b/base/test/android/javatests/src/org/chromium/base/test/BaseJUnit4ClassRunner.java
@@ -84,7 +84,7 @@
                 new AndroidRunnerParams(InstrumentationRegistry.getInstrumentation(),
                         InstrumentationRegistry.getArguments(), false, 0L, false));
         mSkipChecks = mergeList(checks, defaultSkipChecks());
-        mPreTestHooks = defaultPreTestHooks();
+        mPreTestHooks = mergeList(hooks, defaultPreTestHooks());
     }
 
     /**
@@ -119,7 +119,7 @@
      * Change this static function to add or take out default {@code PreTestHook}s.
      */
     private static List<PreTestHook> defaultPreTestHooks() {
-        return new ArrayList<PreTestHook>();
+        return null;
     }
 
     /**
diff --git a/base/test/android/javatests/src/org/chromium/base/test/util/CommandLineFlags.java b/base/test/android/javatests/src/org/chromium/base/test/util/CommandLineFlags.java
index 85a57611..d5579e3 100644
--- a/base/test/android/javatests/src/org/chromium/base/test/util/CommandLineFlags.java
+++ b/base/test/android/javatests/src/org/chromium/base/test/util/CommandLineFlags.java
@@ -6,7 +6,7 @@
 
 import android.content.Context;
 
-import junit.framework.Assert;
+import org.junit.Assert;
 
 import org.chromium.base.BaseChromiumApplication;
 import org.chromium.base.CommandLine;
diff --git a/base/values.cc b/base/values.cc
index 765cf90..0bcddbdd 100644
--- a/base/values.cc
+++ b/base/values.cc
@@ -78,7 +78,7 @@
 // static
 std::unique_ptr<Value> Value::CreateWithCopiedBuffer(const char* buffer,
                                                      size_t size) {
-  return MakeUnique<Value>(std::vector<char>(buffer, buffer + size));
+  return MakeUnique<Value>(BlobStorage(buffer, buffer + size));
 }
 
 Value::Value(const Value& that) {
@@ -158,11 +158,11 @@
 
 Value::Value(StringPiece in_string) : Value(in_string.as_string()) {}
 
-Value::Value(const std::vector<char>& in_blob) : type_(Type::BINARY) {
+Value::Value(const BlobStorage& in_blob) : type_(Type::BINARY) {
   binary_value_.Init(in_blob);
 }
 
-Value::Value(std::vector<char>&& in_blob) noexcept : type_(Type::BINARY) {
+Value::Value(BlobStorage&& in_blob) noexcept : type_(Type::BINARY) {
   binary_value_.Init(std::move(in_blob));
 }
 
@@ -224,7 +224,7 @@
   return *string_value_;
 }
 
-const std::vector<char>& Value::GetBlob() const {
+const Value::BlobStorage& Value::GetBlob() const {
   CHECK(is_blob());
   return *binary_value_;
 }
@@ -1076,14 +1076,10 @@
   if (!in_value)
     return false;
 
-  if (index >= list_->size()) {
-    // Pad out any intermediate indexes with null settings
-    while (index > list_->size())
-      Append(MakeUnique<Value>());
-    Append(std::move(in_value));
-  } else {
-    (*list_)[index] = std::move(*in_value);
-  }
+  if (index >= list_->size())
+    list_->resize(index + 1);
+
+  (*list_)[index] = std::move(*in_value);
   return true;
 }
 
@@ -1234,37 +1230,35 @@
 }
 
 void ListValue::AppendBoolean(bool in_value) {
-  Append(MakeUnique<Value>(in_value));
+  list_->emplace_back(in_value);
 }
 
 void ListValue::AppendInteger(int in_value) {
-  Append(MakeUnique<Value>(in_value));
+  list_->emplace_back(in_value);
 }
 
 void ListValue::AppendDouble(double in_value) {
-  Append(MakeUnique<Value>(in_value));
+  list_->emplace_back(in_value);
 }
 
 void ListValue::AppendString(StringPiece in_value) {
-  Append(MakeUnique<Value>(in_value));
+  list_->emplace_back(in_value);
 }
 
 void ListValue::AppendString(const string16& in_value) {
-  Append(MakeUnique<Value>(in_value));
+  list_->emplace_back(in_value);
 }
 
 void ListValue::AppendStrings(const std::vector<std::string>& in_values) {
-  for (std::vector<std::string>::const_iterator it = in_values.begin();
-       it != in_values.end(); ++it) {
-    AppendString(*it);
-  }
+  list_->reserve(list_->size() + in_values.size());
+  for (const auto& in_value : in_values)
+    list_->emplace_back(in_value);
 }
 
 void ListValue::AppendStrings(const std::vector<string16>& in_values) {
-  for (std::vector<string16>::const_iterator it = in_values.begin();
-       it != in_values.end(); ++it) {
-    AppendString(*it);
-  }
+  list_->reserve(list_->size() + in_values.size());
+  for (const auto& in_value : in_values)
+    list_->emplace_back(in_value);
 }
 
 bool ListValue::AppendIfNotPresent(std::unique_ptr<Value> in_value) {
diff --git a/base/values.h b/base/values.h
index 782a8ba..badf118 100644
--- a/base/values.h
+++ b/base/values.h
@@ -48,6 +48,7 @@
 // See the file-level comment above for more information.
 class BASE_EXPORT Value {
  public:
+  using BlobStorage = std::vector<char>;
   using DictStorage = base::flat_map<std::string, std::unique_ptr<Value>>;
   using ListStorage = std::vector<Value>;
 
@@ -66,7 +67,7 @@
   // For situations where you want to keep ownership of your buffer, this
   // factory method creates a new BinaryValue by copying the contents of the
   // buffer that's passed in.
-  // DEPRECATED, use MakeUnique<Value>(const std::vector<char>&) instead.
+  // DEPRECATED, use MakeUnique<Value>(const BlobStorage&) instead.
   // TODO(crbug.com/646113): Delete this and migrate callsites.
   static std::unique_ptr<Value> CreateWithCopiedBuffer(const char* buffer,
                                                        size_t size);
@@ -92,8 +93,8 @@
   explicit Value(const string16& in_string);
   explicit Value(StringPiece in_string);
 
-  explicit Value(const std::vector<char>& in_blob);
-  explicit Value(std::vector<char>&& in_blob) noexcept;
+  explicit Value(const BlobStorage& in_blob);
+  explicit Value(BlobStorage&& in_blob) noexcept;
 
   explicit Value(DictStorage&& in_dict) noexcept;
 
@@ -128,7 +129,7 @@
   int GetInt() const;
   double GetDouble() const;  // Implicitly converts from int if necessary.
   const std::string& GetString() const;
-  const std::vector<char>& GetBlob() const;
+  const BlobStorage& GetBlob() const;
 
   size_t GetSize() const;         // DEPRECATED, use GetBlob().size() instead.
   const char* GetBuffer() const;  // DEPRECATED, use GetBlob().data() instead.
@@ -193,7 +194,7 @@
     int int_value_;
     double double_value_;
     ManualConstructor<std::string> string_value_;
-    ManualConstructor<std::vector<char>> binary_value_;
+    ManualConstructor<BlobStorage> binary_value_;
     ManualConstructor<DictStorage> dict_;
     ManualConstructor<ListStorage> list_;
   };
diff --git a/base/values_unittest.cc b/base/values_unittest.cc
index ae9165806..97807ef 100644
--- a/base/values_unittest.cc
+++ b/base/values_unittest.cc
@@ -28,7 +28,7 @@
   static_assert(std::is_nothrow_constructible<Value, std::string&&>::value,
                 "IsNothrowMoveConstructibleFromString");
   static_assert(
-      std::is_nothrow_constructible<Value, std::vector<char>&&>::value,
+      std::is_nothrow_constructible<Value, Value::BlobStorage&&>::value,
       "IsNothrowMoveConstructibleFromBlob");
   static_assert(std::is_nothrow_move_assignable<Value>::value,
                 "IsNothrowMoveAssignable");
@@ -100,9 +100,10 @@
 }
 
 TEST(ValuesTest, ConstructBinary) {
-  Value value(std::vector<char>({0xF, 0x0, 0x0, 0xB, 0xA, 0x2}));
+  Value value(Value::BlobStorage({0xF, 0x0, 0x0, 0xB, 0xA, 0x2}));
   EXPECT_EQ(Value::Type::BINARY, value.type());
-  EXPECT_EQ(std::vector<char>({0xF, 0x0, 0x0, 0xB, 0xA, 0x2}), value.GetBlob());
+  EXPECT_EQ(Value::BlobStorage({0xF, 0x0, 0x0, 0xB, 0xA, 0x2}),
+            value.GetBlob());
 }
 
 TEST(ValuesTest, ConstructDict) {
@@ -180,7 +181,7 @@
 }
 
 TEST(ValuesTest, CopyBinary) {
-  Value value(std::vector<char>({0xF, 0x0, 0x0, 0xB, 0xA, 0x2}));
+  Value value(Value::BlobStorage({0xF, 0x0, 0x0, 0xB, 0xA, 0x2}));
   Value copied_value(value);
   EXPECT_EQ(value.type(), copied_value.type());
   EXPECT_EQ(value.GetBlob(), copied_value.GetBlob());
@@ -299,7 +300,7 @@
 }
 
 TEST(ValuesTest, MoveBinary) {
-  const std::vector<char> buffer = {0xF, 0x0, 0x0, 0xB, 0xA, 0x2};
+  const Value::BlobStorage buffer = {0xF, 0x0, 0x0, 0xB, 0xA, 0x2};
   Value value(buffer);
   Value moved_value(std::move(value));
   EXPECT_EQ(Value::Type::BINARY, moved_value.type());
@@ -449,7 +450,7 @@
   ASSERT_EQ(0U, binary->GetSize());
 
   // Test the common case of a non-empty buffer
-  std::vector<char> buffer(15);
+  Value::BlobStorage buffer(15);
   char* original_buffer = buffer.data();
   binary.reset(new Value(std::move(buffer)));
   ASSERT_TRUE(binary.get());
@@ -673,7 +674,7 @@
   Value* original_string16 = scoped_string16.get();
   original_dict.Set("string16", std::move(scoped_string16));
 
-  std::vector<char> original_buffer(42, '!');
+  Value::BlobStorage original_buffer(42, '!');
   std::unique_ptr<Value> scoped_binary(new Value(std::move(original_buffer)));
   Value* original_binary = scoped_binary.get();
   original_dict.Set("binary", std::move(scoped_binary));
@@ -917,8 +918,8 @@
   EXPECT_FALSE(string1 >= string2);
 
   // Test Binary Values.
-  Value binary1(std::vector<char>{0x01});
-  Value binary2(std::vector<char>{0x02});
+  Value binary1(Value::BlobStorage{0x01});
+  Value binary2(Value::BlobStorage{0x02});
   EXPECT_FALSE(binary1 == binary2);
   EXPECT_NE(binary1, binary2);
   EXPECT_LT(binary1, binary2);
@@ -1006,7 +1007,7 @@
   Value* original_string16 = scoped_string16.get();
   original_dict.Set("string16", std::move(scoped_string16));
 
-  std::vector<char> original_buffer(42, '!');
+  Value::BlobStorage original_buffer(42, '!');
   std::unique_ptr<Value> scoped_binary(new Value(std::move(original_buffer)));
   Value* original_binary = scoped_binary.get();
   original_dict.Set("binary", std::move(scoped_binary));
diff --git a/base/win/message_window.cc b/base/win/message_window.cc
index 155047e4..97dd7812 100644
--- a/base/win/message_window.cc
+++ b/base/win/message_window.cc
@@ -81,13 +81,13 @@
   }
 }
 
-bool MessageWindow::Create(const MessageCallback& message_callback) {
-  return DoCreate(message_callback, NULL);
+bool MessageWindow::Create(MessageCallback message_callback) {
+  return DoCreate(std::move(message_callback), NULL);
 }
 
-bool MessageWindow::CreateNamed(const MessageCallback& message_callback,
+bool MessageWindow::CreateNamed(MessageCallback message_callback,
                                 const string16& window_name) {
-  return DoCreate(message_callback, window_name.c_str());
+  return DoCreate(std::move(message_callback), window_name.c_str());
 }
 
 // static
@@ -96,13 +96,13 @@
                       window_name.c_str());
 }
 
-bool MessageWindow::DoCreate(const MessageCallback& message_callback,
+bool MessageWindow::DoCreate(MessageCallback message_callback,
                              const wchar_t* window_name) {
   DCHECK(CalledOnValidThread());
   DCHECK(message_callback_.is_null());
   DCHECK(!window_);
 
-  message_callback_ = message_callback;
+  message_callback_ = std::move(message_callback);
 
   WindowClass& window_class = g_window_class.Get();
   window_ = CreateWindow(MAKEINTATOM(window_class.atom()), window_name, 0, 0, 0,
diff --git a/base/win/message_window.h b/base/win/message_window.h
index 950d03a..97cc8d4 100644
--- a/base/win/message_window.h
+++ b/base/win/message_window.h
@@ -26,20 +26,18 @@
   // Implement this callback to handle messages received by the message window.
   // If the callback returns |false|, the first four parameters are passed to
   // DefWindowProc(). Otherwise, |*result| is returned by the window procedure.
-  typedef base::Callback<bool(UINT message,
-                              WPARAM wparam,
-                              LPARAM lparam,
-                              LRESULT* result)> MessageCallback;
+  using MessageCallback = base::RepeatingCallback<
+      bool(UINT message, WPARAM wparam, LPARAM lparam, LRESULT* result)>;
 
   MessageWindow();
   ~MessageWindow();
 
   // Creates a message-only window. The incoming messages will be passed by
   // |message_callback|. |message_callback| must outlive |this|.
-  bool Create(const MessageCallback& message_callback);
+  bool Create(MessageCallback message_callback);
 
   // Same as Create() but assigns the name to the created window.
-  bool CreateNamed(const MessageCallback& message_callback,
+  bool CreateNamed(MessageCallback message_callback,
                    const string16& window_name);
 
   HWND hwnd() const { return window_; }
@@ -53,8 +51,7 @@
   friend class WindowClass;
 
   // Contains the actual window creation code.
-  bool DoCreate(const MessageCallback& message_callback,
-                const wchar_t* window_name);
+  bool DoCreate(MessageCallback message_callback, const wchar_t* window_name);
 
   // Invoked by the OS to process incoming window messages.
   static LRESULT CALLBACK WindowProc(HWND hwnd, UINT message, WPARAM wparam,
diff --git a/build/secondary/third_party/crashpad/crashpad/handler/BUILD.gn b/build/secondary/third_party/crashpad/crashpad/handler/BUILD.gn
index c4ca09c..4d385dd 100644
--- a/build/secondary/third_party/crashpad/crashpad/handler/BUILD.gn
+++ b/build/secondary/third_party/crashpad/crashpad/handler/BUILD.gn
@@ -12,6 +12,8 @@
     "mac/crash_report_exception_handler.h",
     "mac/exception_handler_server.cc",
     "mac/exception_handler_server.h",
+    "mac/file_limit_annotation.cc",
+    "mac/file_limit_annotation.h",
     "prune_crash_reports_thread.cc",
     "prune_crash_reports_thread.h",
     "user_stream_data_source.cc",
diff --git a/build/secondary/third_party/crashpad/crashpad/util/BUILD.gn b/build/secondary/third_party/crashpad/crashpad/util/BUILD.gn
index 7695e18a..01f4c67 100644
--- a/build/secondary/third_party/crashpad/crashpad/util/BUILD.gn
+++ b/build/secondary/third_party/crashpad/crashpad/util/BUILD.gn
@@ -145,6 +145,7 @@
     "stdlib/strlcpy.h",
     "stdlib/strnlen.cc",
     "stdlib/strnlen.h",
+    "stdlib/thread_safe_vector.h",
     "string/split_string.cc",
     "string/split_string.h",
     "synchronization/semaphore.h",
diff --git a/cc/BUILD.gn b/cc/BUILD.gn
index c62ac3a..f7918544 100644
--- a/cc/BUILD.gn
+++ b/cc/BUILD.gn
@@ -647,8 +647,6 @@
     "test/test_occlusion_tracker.h",
     "test/test_shared_bitmap_manager.cc",
     "test/test_shared_bitmap_manager.h",
-    "test/test_skcanvas.cc",
-    "test/test_skcanvas.h",
     "test/test_task_graph_runner.cc",
     "test/test_task_graph_runner.h",
     "test/test_texture.cc",
@@ -766,7 +764,6 @@
     "output/texture_mailbox_deleter_unittest.cc",
     "paint/discardable_image_map_unittest.cc",
     "paint/display_item_list_unittest.cc",
-    "paint/paint_op_buffer_unittest.cc",
     "quads/draw_polygon_unittest.cc",
     "quads/draw_quad_unittest.cc",
     "quads/nine_patch_generator_unittest.cc",
@@ -937,7 +934,6 @@
     "//cc/ipc",
     "//cc/ipc:interfaces",
     "//cc/paint",
-    "//cc/paint",
     "//cc/surfaces",
     "//cc/surfaces:surface_id",
     "//gpu",
diff --git a/cc/layers/effect_tree_layer_list_iterator.cc b/cc/layers/effect_tree_layer_list_iterator.cc
index a5228dc..72c14d3e 100644
--- a/cc/layers/effect_tree_layer_list_iterator.cc
+++ b/cc/layers/effect_tree_layer_list_iterator.cc
@@ -43,20 +43,6 @@
 
 EffectTreeLayerListIterator::~EffectTreeLayerListIterator() {}
 
-// Finds the lowest common ancestor that has a render surface.
-static int LowestCommonAncestor(int effect_id_1,
-                                int effect_id_2,
-                                const EffectTree* effect_tree) {
-  while (effect_id_1 != effect_id_2) {
-    if (effect_id_1 < effect_id_2)
-      effect_id_2 = effect_tree->Node(effect_id_2)->target_id;
-    else
-      effect_id_1 = effect_tree->Node(effect_id_1)->target_id;
-  }
-
-  return effect_id_1;
-}
-
 void EffectTreeLayerListIterator::operator++() {
   switch (state_) {
     case State::LAYER:
@@ -80,8 +66,9 @@
       // If the next drawn layer has a different target effect tree index, check
       // for surfaces whose contributors have all been visited.
       if (next_effect_tree_index_ != current_effect_tree_index_) {
-        lowest_common_effect_tree_ancestor_index_ = LowestCommonAncestor(
-            current_effect_tree_index_, next_effect_tree_index_, effect_tree_);
+        lowest_common_effect_tree_ancestor_index_ =
+            effect_tree_->LowestCommonAncestorWithRenderSurface(
+                current_effect_tree_index_, next_effect_tree_index_);
         // If the current layer's target effect node is an ancestor of the next
         // layer's target effect node, then the current effect node still has
         // more contributors that need to be visited. Otherwise, all
diff --git a/cc/layers/heads_up_display_layer_impl.cc b/cc/layers/heads_up_display_layer_impl.cc
index 7340f18..bde1f0c 100644
--- a/cc/layers/heads_up_display_layer_impl.cc
+++ b/cc/layers/heads_up_display_layer_impl.cc
@@ -607,10 +607,6 @@
       status = "MSAA (content)";
       color = SK_ColorCYAN;
       break;
-    case GpuRasterizationStatus::OFF_CONTENT:
-      status = "off (content)";
-      color = SK_ColorYELLOW;
-      break;
   }
 
   if (status.empty())
diff --git a/cc/layers/picture_layer_impl_unittest.cc b/cc/layers/picture_layer_impl_unittest.cc
index 6ccf44a1..45458f7 100644
--- a/cc/layers/picture_layer_impl_unittest.cc
+++ b/cc/layers/picture_layer_impl_unittest.cc
@@ -2352,7 +2352,7 @@
   host_impl()->SetHasGpuRasterizationTrigger(true);
   host_impl()->SetContentIsSuitableForGpuRasterization(false);
   host_impl()->CommitComplete();
-  EXPECT_EQ(GpuRasterizationStatus::OFF_CONTENT,
+  EXPECT_EQ(GpuRasterizationStatus::ON,
             host_impl()->gpu_rasterization_status());
 }
 
diff --git a/cc/output/bsp_tree_perftest.cc b/cc/output/bsp_tree_perftest.cc
index 3b954d1d..97bcfa3 100644
--- a/cc/output/bsp_tree_perftest.cc
+++ b/cc/output/bsp_tree_perftest.cc
@@ -120,7 +120,6 @@
         active_tree->OverscrollElasticityLayer(), max_texture_size,
         can_render_to_separate_surface,
         host_impl->settings().layer_transforms_should_scale_layer_contents,
-        false,  // don't use layer lists for perf tests
         &update_list, active_tree->property_trees());
     LayerTreeHostCommon::CalculateDrawProperties(&inputs);
   }
diff --git a/cc/output/direct_renderer.cc b/cc/output/direct_renderer.cc
index e9b62d2..31f0d7a 100644
--- a/cc/output/direct_renderer.cc
+++ b/cc/output/direct_renderer.cc
@@ -174,31 +174,31 @@
     const RenderPassList& render_passes_in_draw_order) {
   render_pass_bypass_quads_.clear();
 
-  std::unordered_map<int, gfx::Size> render_passes_in_frame;
-  RenderPass* root_render_pass = render_passes_in_draw_order.back().get();
-  for (size_t i = 0; i < render_passes_in_draw_order.size(); ++i) {
-    RenderPass* pass = render_passes_in_draw_order[i].get();
+  auto& root_render_pass = render_passes_in_draw_order.back();
+
+  base::flat_map<int, gfx::Size> render_passes_in_frame;
+  for (const auto& pass : render_passes_in_draw_order) {
     if (pass != root_render_pass) {
-      if (const TileDrawQuad* tile_quad = CanPassBeDrawnDirectly(pass)) {
+      if (const TileDrawQuad* tile_quad = CanPassBeDrawnDirectly(pass.get())) {
+        // If the render pass is drawn directly, it will not be drawn from as
+        // a render pass so it's not added to the map.
         render_pass_bypass_quads_[pass->id] = *tile_quad;
         continue;
       }
     }
-    render_passes_in_frame.insert(
-        std::pair<int, gfx::Size>(pass->id, RenderPassTextureSize(pass)));
+    render_passes_in_frame[pass->id] = RenderPassTextureSize(pass.get());
   }
 
   std::vector<int> passes_to_delete;
-  for (auto pass_iter = render_pass_textures_.begin();
-       pass_iter != render_pass_textures_.end(); ++pass_iter) {
-    auto it = render_passes_in_frame.find(pass_iter->first);
+  for (const auto& pair : render_pass_textures_) {
+    auto it = render_passes_in_frame.find(pair.first);
     if (it == render_passes_in_frame.end()) {
-      passes_to_delete.push_back(pass_iter->first);
+      passes_to_delete.push_back(pair.first);
       continue;
     }
 
     gfx::Size required_size = it->second;
-    ScopedResource* texture = pass_iter->second.get();
+    ScopedResource* texture = pair.second.get();
     DCHECK(texture);
 
     bool size_appropriate = texture->size().width() >= required_size.width() &&
diff --git a/cc/output/direct_renderer.h b/cc/output/direct_renderer.h
index 864c1863..96e66133 100644
--- a/cc/output/direct_renderer.h
+++ b/cc/output/direct_renderer.h
@@ -10,6 +10,7 @@
 #include <vector>
 
 #include "base/callback.h"
+#include "base/containers/flat_map.h"
 #include "base/macros.h"
 #include "cc/base/filter_operations.h"
 #include "cc/cc_export.h"
@@ -198,10 +199,8 @@
   // DirectComposition layers needed to be used.
   int frames_since_using_dc_layers_ = 0;
 
-  // TODO(danakj): Just use a vector of pairs here? Hash map is way overkill.
-  std::unordered_map<int, std::unique_ptr<ScopedResource>>
-      render_pass_textures_;
-  std::unordered_map<int, TileDrawQuad> render_pass_bypass_quads_;
+  base::flat_map<int, std::unique_ptr<ScopedResource>> render_pass_textures_;
+  base::flat_map<int, TileDrawQuad> render_pass_bypass_quads_;
 
   RenderPassFilterList render_pass_filters_;
   RenderPassFilterList render_pass_background_filters_;
diff --git a/cc/output/software_renderer.cc b/cc/output/software_renderer.cc
index 75dbff4..bb80108 100644
--- a/cc/output/software_renderer.cc
+++ b/cc/output/software_renderer.cc
@@ -576,10 +576,11 @@
   gfx::Rect window_copy_rect = MoveFromDrawToWindowSpace(copy_rect);
 
   std::unique_ptr<SkBitmap> bitmap(new SkBitmap);
-  bitmap->setInfo(SkImageInfo::MakeN32Premul(window_copy_rect.width(),
-                                             window_copy_rect.height()));
-  current_canvas_->readPixels(
-      bitmap.get(), window_copy_rect.x(), window_copy_rect.y());
+  bitmap->allocPixels(SkImageInfo::MakeN32Premul(window_copy_rect.width(),
+                                                 window_copy_rect.height()));
+  if (!current_canvas_->readPixels(*bitmap, window_copy_rect.x(),
+                                   window_copy_rect.y()))
+    bitmap->reset();
 
   request->SendBitmapResult(std::move(bitmap));
 }
@@ -654,9 +655,11 @@
 SkBitmap SoftwareRenderer::GetBackdropBitmap(
     const gfx::Rect& bounding_rect) const {
   SkBitmap bitmap;
-  bitmap.setInfo(SkImageInfo::MakeN32Premul(bounding_rect.width(),
-                                            bounding_rect.height()));
-  current_canvas_->readPixels(&bitmap, bounding_rect.x(), bounding_rect.y());
+  bitmap.allocPixels(SkImageInfo::MakeN32Premul(bounding_rect.width(),
+                                                bounding_rect.height()));
+  if (!current_canvas_->readPixels(bitmap, bounding_rect.x(),
+                                   bounding_rect.y()))
+    bitmap.reset();
   return bitmap;
 }
 
diff --git a/cc/paint/BUILD.gn b/cc/paint/BUILD.gn
index 11f9fdac..3af5dee 100644
--- a/cc/paint/BUILD.gn
+++ b/cc/paint/BUILD.gn
@@ -32,19 +32,13 @@
     "paint_canvas.cc",
     "paint_canvas.h",
     "paint_export.h",
-    "paint_flags.cc",
     "paint_flags.h",
     "paint_image.cc",
     "paint_image.h",
-    "paint_op_buffer.cc",
-    "paint_op_buffer.h",
-    "paint_record.cc",
     "paint_record.h",
     "paint_recorder.cc",
     "paint_recorder.h",
     "paint_shader.h",
-    "record_paint_canvas.cc",
-    "record_paint_canvas.h",
     "skia_paint_canvas.cc",
     "skia_paint_canvas.h",
     "transform_display_item.cc",
diff --git a/cc/paint/display_item_list.cc b/cc/paint/display_item_list.cc
index c1b069548..8359948 100644
--- a/cc/paint/display_item_list.cc
+++ b/cc/paint/display_item_list.cc
@@ -100,13 +100,9 @@
       if (canvas->quickReject(item.picture->cullRect()))
         break;
 
-      // TODO(enne): Maybe the PaintRecord itself could know whether this
-      // was needed?  It's not clear whether these save/restore semantics
-      // that SkPicture handles during playback are things that should be
-      // kept around.
-      canvas->save();
+      // SkPicture always does a wrapping save/restore on the canvas, so it is
+      // not necessary here.
       item.picture->playback(canvas, callback);
-      canvas->restore();
       break;
     }
     case DisplayItem::FLOAT_CLIP: {
@@ -180,33 +176,6 @@
   canvas->restore();
 }
 
-// Atttempts to merge a CompositingDisplayItem and DrawingDisplayItem
-// into a single "draw with alpha".  This function returns true if
-// it was successful.  If false, then the caller is responsible for
-// drawing these items.  This is a DisplayItemList version of the
-// SkRecord optimization SkRecordNoopSaveLayerDrawRestores.
-static bool MergeAndDrawIfPossible(const CompositingDisplayItem& save_item,
-                                   const DrawingDisplayItem& draw_item,
-                                   SkCanvas* canvas) {
-  if (save_item.color_filter)
-    return false;
-  if (save_item.xfermode != SkBlendMode::kSrcOver)
-    return false;
-  // TODO(enne): I believe that lcd_text_requires_opaque_layer is not
-  // relevant here and that lcd text is preserved post merge, but I haven't
-  // tested that.
-  const PaintRecord* record = draw_item.picture.get();
-  if (record->approximateOpCount() != 1)
-    return false;
-
-  const PaintOp* op = record->GetFirstOp();
-  if (!op->IsDrawOp())
-    return false;
-
-  op->RasterWithAlpha(canvas, save_item.alpha);
-  return true;
-}
-
 void DisplayItemList::Raster(SkCanvas* canvas,
                              SkPicture::AbortCallback* callback) const {
   gfx::Rect canvas_playback_rect;
@@ -215,33 +184,14 @@
 
   std::vector<size_t> indices;
   rtree_.Search(canvas_playback_rect, &indices);
-  for (size_t i = 0; i < indices.size(); ++i) {
+  for (size_t index : indices) {
+    RasterItem(items_[index], canvas, callback);
+
     // We use a callback during solid color analysis on the compositor thread to
     // break out early. Since we're handling a sequence of pictures via rtree
     // query results ourselves, we have to respect the callback and early out.
     if (callback && callback->abort())
       break;
-
-    const DisplayItem& item = items_[indices[i]];
-    // Optimize empty begin/end compositing and merge begin/draw/end compositing
-    // where possible.
-    // TODO(enne): remove empty clips here too?
-    // TODO(enne): does this happen recursively? Or is this good enough?
-    if (i < indices.size() - 2 && item.type == DisplayItem::COMPOSITING) {
-      const DisplayItem& second = items_[indices[i + 1]];
-      const DisplayItem& third = items_[indices[i + 2]];
-      if (second.type == DisplayItem::DRAWING &&
-          third.type == DisplayItem::END_COMPOSITING) {
-        if (MergeAndDrawIfPossible(
-                static_cast<const CompositingDisplayItem&>(item),
-                static_cast<const DrawingDisplayItem&>(second), canvas)) {
-          i += 2;
-          continue;
-        }
-      }
-    }
-
-    RasterItem(item, canvas, callback);
   }
 }
 
diff --git a/cc/paint/display_item_list_unittest.cc b/cc/paint/display_item_list_unittest.cc
index b166229c6..f1b9e75 100644
--- a/cc/paint/display_item_list_unittest.cc
+++ b/cc/paint/display_item_list_unittest.cc
@@ -17,17 +17,16 @@
 #include "cc/paint/compositing_display_item.h"
 #include "cc/paint/drawing_display_item.h"
 #include "cc/paint/filter_display_item.h"
+
 #include "cc/paint/float_clip_display_item.h"
 #include "cc/paint/paint_canvas.h"
 #include "cc/paint/paint_flags.h"
 #include "cc/paint/paint_record.h"
 #include "cc/paint/paint_recorder.h"
-#include "cc/paint/skia_paint_canvas.h"
 #include "cc/paint/transform_display_item.h"
 #include "cc/test/geometry_test_utils.h"
 #include "cc/test/pixel_test_utils.h"
 #include "cc/test/skia_common.h"
-#include "cc/test/test_skcanvas.h"
 #include "testing/gmock/include/gmock/gmock.h"
 #include "testing/gtest/include/gtest/gtest.h"
 #include "third_party/skia/include/core/SkBitmap.h"
@@ -81,19 +80,6 @@
   return recorder.finishRecordingAsPicture();
 }
 
-sk_sp<const PaintRecord> CreateRectPictureWithAlpha(const gfx::Rect& bounds,
-                                                    uint8_t alpha) {
-  PaintRecorder recorder;
-  PaintCanvas* canvas =
-      recorder.beginRecording(bounds.width(), bounds.height());
-  PaintFlags flags;
-  flags.setAlpha(alpha);
-  canvas->drawRect(
-      SkRect::MakeXYWH(bounds.x(), bounds.y(), bounds.width(), bounds.height()),
-      flags);
-  return recorder.finishRecordingAsPicture();
-}
-
 void AppendFirstSerializationTestPicture(scoped_refptr<DisplayItemList> list,
                                          const gfx::Size& layer_size) {
   gfx::PointF offset(2.f, 3.f);
@@ -718,110 +704,4 @@
   EXPECT_RECT_EQ(filter_bounds, list->VisualRectForTesting(3));
 }
 
-// Verify that raster time optimizations for compositing item / draw single op /
-// end compositing item can be collapsed together into a single draw op
-// with the opacity from the compositing item folded in.
-TEST(DisplayItemListTest, SaveDrawRestore) {
-  auto list = make_scoped_refptr(new DisplayItemList);
-
-  list->CreateAndAppendPairedBeginItem<CompositingDisplayItem>(
-      80, SkBlendMode::kSrcOver, nullptr, nullptr, false);
-  list->CreateAndAppendDrawingItem<DrawingDisplayItem>(
-      kVisualRect, CreateRectPictureWithAlpha(kVisualRect, 40));
-  list->CreateAndAppendPairedEndItem<EndCompositingDisplayItem>();
-  list->Finalize();
-
-  SaveCountingCanvas canvas;
-  list->Raster(&canvas, nullptr);
-
-  EXPECT_EQ(0, canvas.save_count_);
-  EXPECT_EQ(0, canvas.restore_count_);
-  EXPECT_EQ(gfx::RectToSkRect(kVisualRect), canvas.draw_rect_);
-
-  float expected_alpha = 80 * 40 / 255.f;
-  EXPECT_LE(std::abs(expected_alpha - canvas.paint_.getAlpha()), 1.f);
-}
-
-// Verify that compositing item / end compositing item is a noop.
-// Here we're testing that Skia does an optimization that skips
-// save/restore with nothing in between.  If skia stops doing this
-// then we should reimplement this optimization in display list raster.
-TEST(DisplayItemListTest, SaveRestoreNoops) {
-  auto list = make_scoped_refptr(new DisplayItemList);
-
-  list->CreateAndAppendPairedBeginItem<CompositingDisplayItem>(
-      80, SkBlendMode::kSrcOver, nullptr, nullptr, false);
-  list->CreateAndAppendPairedEndItem<EndCompositingDisplayItem>();
-  list->CreateAndAppendPairedBeginItem<CompositingDisplayItem>(
-      255, SkBlendMode::kSrcOver, nullptr, nullptr, false);
-  list->CreateAndAppendPairedEndItem<EndCompositingDisplayItem>();
-  list->CreateAndAppendPairedBeginItem<CompositingDisplayItem>(
-      255, SkBlendMode::kSrc, nullptr, nullptr, false);
-  list->CreateAndAppendPairedEndItem<EndCompositingDisplayItem>();
-  list->Finalize();
-
-  SaveCountingCanvas canvas;
-  list->Raster(&canvas, nullptr);
-
-  EXPECT_EQ(0, canvas.save_count_);
-  EXPECT_EQ(0, canvas.restore_count_);
-}
-
-// The same as SaveDrawRestore, but with save flags that prevent the
-// optimization.
-TEST(DisplayItemListTest, SaveDrawRestoreFail_BadSaveFlags) {
-  auto list = make_scoped_refptr(new DisplayItemList);
-
-  // Use a blend mode that's not compatible with the SaveDrawRestore
-  // optimization.
-  list->CreateAndAppendPairedBeginItem<CompositingDisplayItem>(
-      80, SkBlendMode::kSrc, nullptr, nullptr, false);
-  list->CreateAndAppendDrawingItem<DrawingDisplayItem>(
-      kVisualRect, CreateRectPictureWithAlpha(kVisualRect, 40));
-  list->CreateAndAppendPairedEndItem<EndCompositingDisplayItem>();
-  list->Finalize();
-
-  SaveCountingCanvas canvas;
-  list->Raster(&canvas, nullptr);
-
-  EXPECT_EQ(1, canvas.save_count_);
-  EXPECT_EQ(1, canvas.restore_count_);
-  EXPECT_EQ(gfx::RectToSkRect(kVisualRect), canvas.draw_rect_);
-  EXPECT_LE(40, canvas.paint_.getAlpha());
-}
-
-// The same as SaveDrawRestore, but with too many ops in the PaintRecord.
-TEST(DisplayItemListTest, SaveDrawRestoreFail_TooManyOps) {
-  sk_sp<const PaintRecord> record;
-  {
-    PaintRecorder recorder;
-    PaintCanvas* canvas =
-        recorder.beginRecording(kVisualRect.width(), kVisualRect.height());
-    PaintFlags flags;
-    flags.setAlpha(40);
-    canvas->drawRect(gfx::RectToSkRect(kVisualRect), flags);
-    // Add an extra op here.
-    canvas->drawRect(gfx::RectToSkRect(kVisualRect), flags);
-    record = recorder.finishRecordingAsPicture();
-  }
-  EXPECT_GT(record->approximateOpCount(), 1);
-
-  auto list = make_scoped_refptr(new DisplayItemList);
-
-  list->CreateAndAppendPairedBeginItem<CompositingDisplayItem>(
-      80, SkBlendMode::kSrcOver, nullptr, nullptr, false);
-  list->CreateAndAppendDrawingItem<DrawingDisplayItem>(kVisualRect,
-                                                       std::move(record));
-  list->CreateAndAppendPairedEndItem<EndCompositingDisplayItem>();
-  list->Finalize();
-
-  SaveCountingCanvas canvas;
-  list->Raster(&canvas, nullptr);
-
-  EXPECT_EQ(1, canvas.save_count_);
-  EXPECT_EQ(1, canvas.restore_count_);
-  EXPECT_EQ(gfx::RectToSkRect(kVisualRect), canvas.draw_rect_);
-  EXPECT_LE(40, canvas.paint_.getAlpha());
-}
-
 }  // namespace cc
diff --git a/cc/paint/paint_canvas.h b/cc/paint/paint_canvas.h
index d45e84b..aba97ceb 100644
--- a/cc/paint/paint_canvas.h
+++ b/cc/paint/paint_canvas.h
@@ -11,24 +11,19 @@
 #include "build/build_config.h"
 #include "cc/paint/paint_export.h"
 #include "cc/paint/paint_image.h"
+#include "cc/paint/paint_record.h"
 #include "third_party/skia/include/core/SkCanvas.h"
 
 namespace cc {
 
 class DisplayItemList;
 class PaintFlags;
-class PaintOpBuffer;
-
-using PaintRecord = PaintOpBuffer;
 
 class CC_PAINT_EXPORT PaintCanvas {
  public:
   virtual ~PaintCanvas() {}
 
   virtual SkMetaData& getMetaData() = 0;
-
-  // TODO(enne): this only appears to mostly be used to determine if this is
-  // recording or not, so could be simplified or removed.
   virtual SkImageInfo imageInfo() const = 0;
 
   // TODO(enne): It would be nice to get rid of flush() entirely, as it
@@ -47,7 +42,7 @@
                            int y) = 0;
   virtual int save() = 0;
   virtual int saveLayer(const SkRect* bounds, const PaintFlags* flags) = 0;
-  virtual int saveLayerAlpha(const SkRect* bounds, uint8_t alpha) = 0;
+  virtual int saveLayerAlpha(const SkRect* bounds, U8CPU alpha) = 0;
 
   virtual void restore() = 0;
   virtual int getSaveCount() const = 0;
@@ -98,8 +93,6 @@
   virtual bool getDeviceClipBounds(SkIRect* bounds) const = 0;
   virtual void drawColor(SkColor color, SkBlendMode mode) = 0;
   void drawColor(SkColor color) { drawColor(color, SkBlendMode::kSrcOver); }
-
-  // TODO(enne): This is a synonym for drawColor with kSrc.  Remove it.
   virtual void clear(SkColor color) = 0;
 
   virtual void drawLine(SkScalar x0,
@@ -177,10 +170,6 @@
   virtual bool isClipRect() const = 0;
   virtual const SkMatrix& getTotalMatrix() const = 0;
 
-  // For GraphicsContextCanvas only.  Maybe this could be rewritten?
-  virtual void temporary_internal_describeTopLayer(SkMatrix* matrix,
-                                                   SkIRect* clip_bounds) = 0;
-
   virtual bool ToPixmap(SkPixmap* output) = 0;
 
   enum class AnnotationType {
diff --git a/cc/paint/paint_flags.cc b/cc/paint/paint_flags.cc
deleted file mode 100644
index e16a8bb..0000000
--- a/cc/paint/paint_flags.cc
+++ /dev/null
@@ -1,42 +0,0 @@
-// 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 "cc/paint/paint_flags.h"
-
-namespace cc {
-
-bool PaintFlags::IsSimpleOpacity() const {
-  uint32_t color = getColor();
-  if (SK_ColorTRANSPARENT != SkColorSetA(color, SK_AlphaTRANSPARENT))
-    return false;
-  if (!isSrcOver())
-    return false;
-  if (getLooper())
-    return false;
-  if (getPathEffect())
-    return false;
-  if (getShader())
-    return false;
-  if (getMaskFilter())
-    return false;
-  if (getColorFilter())
-    return false;
-  if (getImageFilter())
-    return false;
-  return true;
-}
-
-bool PaintFlags::SupportsFoldingAlpha() const {
-  if (!isSrcOver())
-    return false;
-  if (getColorFilter())
-    return false;
-  if (getImageFilter())
-    return false;
-  if (getLooper())
-    return false;
-  return true;
-}
-
-}  // namespace cc
diff --git a/cc/paint/paint_flags.h b/cc/paint/paint_flags.h
index 37b460d6..b7e96c6 100644
--- a/cc/paint/paint_flags.h
+++ b/cc/paint/paint_flags.h
@@ -7,6 +7,7 @@
 
 #include "base/compiler_specific.h"
 #include "cc/paint/paint_export.h"
+#include "cc/paint/paint_shader.h"
 #include "third_party/skia/include/core/SkCanvas.h"
 #include "third_party/skia/include/core/SkColorFilter.h"
 #include "third_party/skia/include/core/SkDrawLooper.h"
@@ -18,8 +19,6 @@
 
 namespace cc {
 
-using PaintShader = SkShader;
-
 class CC_PAINT_EXPORT PaintFlags {
  public:
   enum Style {
@@ -199,14 +198,6 @@
     return paint_.computeFastBounds(orig, storage);
   }
 
-  bool operator==(const PaintFlags& flags) { return flags.paint_ == paint_; }
-  bool operator!=(const PaintFlags& flags) { return flags.paint_ != paint_; }
-
-  // Returns true if this just represents an opacity blend when
-  // used as saveLayer flags.
-  bool IsSimpleOpacity() const;
-  bool SupportsFoldingAlpha() const;
-
  private:
   friend const SkPaint& ToSkPaint(const PaintFlags& flags);
   friend const SkPaint* ToSkPaint(const PaintFlags* flags);
diff --git a/cc/paint/paint_image.cc b/cc/paint/paint_image.cc
index d34d05d..70644ed 100644
--- a/cc/paint/paint_image.cc
+++ b/cc/paint/paint_image.cc
@@ -12,9 +12,6 @@
     : sk_image_(std::move(sk_image)),
       animation_type_(animation_type),
       completion_state_(completion_state) {}
-
-PaintImage::PaintImage(const PaintImage& image) = default;
-
 PaintImage::~PaintImage() = default;
 
 }  // namespace cc
diff --git a/cc/paint/paint_image.h b/cc/paint/paint_image.h
index c772316..0ed1edd 100644
--- a/cc/paint/paint_image.h
+++ b/cc/paint/paint_image.h
@@ -23,7 +23,6 @@
   PaintImage(sk_sp<const SkImage> sk_image,
              AnimationType animation_type,
              CompletionState completion_state);
-  PaintImage(const PaintImage& image);
   ~PaintImage();
 
   const sk_sp<const SkImage>& sk_image() const { return sk_image_; }
diff --git a/cc/paint/paint_op_buffer.cc b/cc/paint/paint_op_buffer.cc
deleted file mode 100644
index fa62a41..0000000
--- a/cc/paint/paint_op_buffer.cc
+++ /dev/null
@@ -1,566 +0,0 @@
-// 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 "cc/paint/paint_op_buffer.h"
-
-#include "cc/paint/display_item_list.h"
-#include "cc/paint/paint_record.h"
-#include "third_party/skia/include/core/SkAnnotation.h"
-
-namespace cc {
-
-#define TYPES(M)           \
-  M(AnnotateOp)            \
-  M(ClipPathOp)            \
-  M(ClipRectOp)            \
-  M(ClipRRectOp)           \
-  M(ConcatOp)              \
-  M(DrawArcOp)             \
-  M(DrawCircleOp)          \
-  M(DrawColorOp)           \
-  M(DrawDisplayItemListOp) \
-  M(DrawDRRectOp)          \
-  M(DrawImageOp)           \
-  M(DrawImageRectOp)       \
-  M(DrawIRectOp)           \
-  M(DrawLineOp)            \
-  M(DrawOvalOp)            \
-  M(DrawPathOp)            \
-  M(DrawPosTextOp)         \
-  M(DrawRecordOp)          \
-  M(DrawRectOp)            \
-  M(DrawRRectOp)           \
-  M(DrawTextOp)            \
-  M(DrawTextBlobOp)        \
-  M(NoopOp)                \
-  M(RestoreOp)             \
-  M(RotateOp)              \
-  M(SaveOp)                \
-  M(SaveLayerOp)           \
-  M(SaveLayerAlphaOp)      \
-  M(ScaleOp)               \
-  M(SetMatrixOp)           \
-  M(TranslateOp)
-
-// Helper template to share common code for RasterWithAlpha when paint ops
-// have or don't have PaintFlags.
-template <typename T, bool HasFlags>
-struct Rasterizer {
-  static void Raster(const T* op,
-                     SkCanvas* canvas,
-                     const SkMatrix& original_ctm) {
-    // Paint ops with kHasPaintFlags need to declare RasterWithPaintFlags
-    // otherwise, the paint op needs its own Raster function.  Without its
-    // own, this becomes an infinite loop as PaintOp::Raster calls itself.
-    static_assert(
-        !std::is_same<decltype(&PaintOp::Raster), decltype(&T::Raster)>::value,
-        "No Raster function");
-
-    op->Raster(canvas);
-  }
-  static void RasterWithAlpha(const T* op, SkCanvas* canvas, uint8_t alpha) {
-    DCHECK(T::kIsDrawOp);
-    // TODO(enne): is it ok to just drop the bounds here?
-    canvas->saveLayerAlpha(nullptr, alpha);
-    op->Raster(canvas);
-    canvas->restore();
-  }
-};
-
-template <typename T>
-struct Rasterizer<T, true> {
-  static void Raster(const T* op,
-                     SkCanvas* canvas,
-                     const SkMatrix& original_ctm) {
-    op->RasterWithFlags(canvas, op->flags);
-  }
-  static void RasterWithAlpha(const T* op, SkCanvas* canvas, uint8_t alpha) {
-    DCHECK(T::kIsDrawOp);
-    SkMatrix unused_matrix;
-    if (alpha == 255) {
-      Raster(op, canvas, unused_matrix);
-    } else if (op->flags.SupportsFoldingAlpha()) {
-      PaintFlags flags = op->flags;
-      flags.setAlpha(SkMulDiv255Round(flags.getAlpha(), alpha));
-      op->RasterWithFlags(canvas, flags);
-    } else {
-      canvas->saveLayerAlpha(nullptr, alpha);
-      op->RasterWithFlags(canvas, op->flags);
-      canvas->restore();
-    }
-  }
-};
-
-template <>
-struct Rasterizer<SetMatrixOp, false> {
-  static void Raster(const SetMatrixOp* op,
-                     SkCanvas* canvas,
-                     const SkMatrix& original_ctm) {
-    op->Raster(canvas, original_ctm);
-  }
-  static void RasterWithAlpha(const SetMatrixOp* op,
-                              SkCanvas* canvas,
-                              uint8_t alpha) {
-    NOTREACHED();
-  }
-};
-
-template <>
-struct Rasterizer<DrawRecordOp, false> {
-  static void Raster(const DrawRecordOp* op,
-                     SkCanvas* canvas,
-                     const SkMatrix& original_ctm) {
-    op->Raster(canvas);
-  }
-  static void RasterWithAlpha(const DrawRecordOp* op,
-                              SkCanvas* canvas,
-                              uint8_t alpha) {
-    // This "looking into records" optimization is done here instead of
-    // in the PaintOpBuffer::Raster function as DisplayItemList calls
-    // into RasterWithAlpha directly.
-    if (op->record->approximateOpCount() == 1) {
-      PaintOp* single_op = op->record->GetFirstOp();
-      // RasterWithAlpha only supported for draw ops.
-      if (single_op->IsDrawOp()) {
-        single_op->RasterWithAlpha(canvas, alpha);
-        return;
-      }
-    }
-
-    canvas->saveLayerAlpha(nullptr, alpha);
-    op->Raster(canvas);
-    canvas->restore();
-  }
-};
-
-// TODO(enne): partially specialize RasterWithAlpha for draw color?
-
-static constexpr size_t kNumOpTypes =
-    static_cast<size_t>(PaintOpType::LastPaintOpType) + 1;
-
-// Verify that every op is in the TYPES macro.
-#define M(T) +1
-static_assert(kNumOpTypes == TYPES(M), "Missing op in list");
-#undef M
-
-using RasterFunction = void (*)(const PaintOp* op,
-                                SkCanvas* canvas,
-                                const SkMatrix& original_ctm);
-#define M(T)                                                              \
-  [](const PaintOp* op, SkCanvas* canvas, const SkMatrix& original_ctm) { \
-    Rasterizer<T, T::kHasPaintFlags>::Raster(static_cast<const T*>(op),   \
-                                             canvas, original_ctm);       \
-  },
-static const RasterFunction g_raster_functions[kNumOpTypes] = {TYPES(M)};
-#undef M
-
-using RasterAlphaFunction = void (*)(const PaintOp* op,
-                                     SkCanvas* canvas,
-                                     uint8_t alpha);
-#define M(T) \
-  T::kIsDrawOp ? \
-  [](const PaintOp* op, SkCanvas* canvas, uint8_t alpha) { \
-    Rasterizer<T, T::kHasPaintFlags>::RasterWithAlpha( \
-        static_cast<const T*>(op), canvas, alpha); \
-  } : static_cast<RasterAlphaFunction>(nullptr),
-static const RasterAlphaFunction g_raster_alpha_functions[kNumOpTypes] = {
-    TYPES(M)};
-#undef M
-
-// Most state ops (matrix, clip, save, restore) have a trivial destructor.
-// TODO(enne): evaluate if we need the nullptr optimization or if
-// we even need to differentiate trivial destructors here.
-using VoidFunction = void (*)(PaintOp* op);
-#define M(T)                                           \
-  !std::is_trivially_destructible<T>::value            \
-      ? [](PaintOp* op) { static_cast<T*>(op)->~T(); } \
-      : static_cast<VoidFunction>(nullptr),
-static const VoidFunction g_destructor_functions[kNumOpTypes] = {TYPES(M)};
-#undef M
-
-#define M(T) T::kIsDrawOp,
-static bool g_is_draw_op[kNumOpTypes] = {TYPES(M)};
-#undef M
-
-#define M(T)                                         \
-  static_assert(sizeof(T) <= sizeof(LargestPaintOp), \
-                #T " must be no bigger than LargestPaintOp");
-TYPES(M);
-#undef M
-
-#undef TYPES
-
-SkRect PaintOp::kUnsetRect = {SK_ScalarInfinity, 0, 0, 0};
-
-void AnnotateOp::Raster(SkCanvas* canvas) const {
-  switch (annotation_type) {
-    case PaintCanvas::AnnotationType::URL:
-      SkAnnotateRectWithURL(canvas, rect, data.get());
-      break;
-    case PaintCanvas::AnnotationType::LINK_TO_DESTINATION:
-      SkAnnotateLinkToDestination(canvas, rect, data.get());
-      break;
-    case PaintCanvas::AnnotationType::NAMED_DESTINATION: {
-      SkPoint point = SkPoint::Make(rect.x(), rect.y());
-      SkAnnotateNamedDestination(canvas, point, data.get());
-      break;
-    }
-  }
-}
-
-void ClipPathOp::Raster(SkCanvas* canvas) const {
-  canvas->clipPath(path, op, antialias);
-}
-
-void ClipRectOp::Raster(SkCanvas* canvas) const {
-  canvas->clipRect(rect, op, antialias);
-}
-
-void ClipRRectOp::Raster(SkCanvas* canvas) const {
-  canvas->clipRRect(rrect, op, antialias);
-}
-
-void ConcatOp::Raster(SkCanvas* canvas) const {
-  canvas->concat(matrix);
-}
-
-void DrawArcOp::RasterWithFlags(SkCanvas* canvas,
-                                const PaintFlags& flags) const {
-  canvas->drawArc(oval, start_angle, sweep_angle, use_center, ToSkPaint(flags));
-}
-
-void DrawCircleOp::RasterWithFlags(SkCanvas* canvas,
-                                   const PaintFlags& flags) const {
-  canvas->drawCircle(cx, cy, radius, ToSkPaint(flags));
-}
-
-void DrawColorOp::Raster(SkCanvas* canvas) const {
-  canvas->drawColor(color, mode);
-}
-
-void DrawDisplayItemListOp::Raster(SkCanvas* canvas) const {
-  list->Raster(canvas, nullptr);
-}
-
-void DrawDRRectOp::RasterWithFlags(SkCanvas* canvas,
-                                   const PaintFlags& flags) const {
-  canvas->drawDRRect(outer, inner, ToSkPaint(flags));
-}
-
-void DrawImageOp::RasterWithFlags(SkCanvas* canvas,
-                                  const PaintFlags& flags) const {
-  canvas->drawImage(image.sk_image().get(), left, top, ToSkPaint(&flags));
-}
-
-void DrawImageRectOp::RasterWithFlags(SkCanvas* canvas,
-                                      const PaintFlags& flags) const {
-  // TODO(enne): Probably PaintCanvas should just use the skia enum directly.
-  SkCanvas::SrcRectConstraint skconstraint =
-      static_cast<SkCanvas::SrcRectConstraint>(constraint);
-  canvas->drawImageRect(image.sk_image().get(), src, dst, ToSkPaint(&flags),
-                        skconstraint);
-}
-
-void DrawIRectOp::RasterWithFlags(SkCanvas* canvas,
-                                  const PaintFlags& flags) const {
-  canvas->drawIRect(rect, ToSkPaint(flags));
-}
-
-void DrawLineOp::RasterWithFlags(SkCanvas* canvas,
-                                 const PaintFlags& flags) const {
-  canvas->drawLine(x0, y0, x1, y1, ToSkPaint(flags));
-}
-
-void DrawOvalOp::RasterWithFlags(SkCanvas* canvas,
-                                 const PaintFlags& flags) const {
-  canvas->drawOval(oval, ToSkPaint(flags));
-}
-
-void DrawPathOp::RasterWithFlags(SkCanvas* canvas,
-                                 const PaintFlags& flags) const {
-  canvas->drawPath(path, ToSkPaint(flags));
-}
-
-void DrawPosTextOp::RasterWithFlags(SkCanvas* canvas,
-                                    const PaintFlags& flags) const {
-  canvas->drawPosText(paint_op_data(this), bytes, paint_op_array<SkPoint>(this),
-                      ToSkPaint(flags));
-}
-
-void DrawRecordOp::Raster(SkCanvas* canvas) const {
-  record->playback(canvas);
-}
-
-void DrawRectOp::RasterWithFlags(SkCanvas* canvas,
-                                 const PaintFlags& flags) const {
-  canvas->drawRect(rect, ToSkPaint(flags));
-}
-
-void DrawRRectOp::RasterWithFlags(SkCanvas* canvas,
-                                  const PaintFlags& flags) const {
-  canvas->drawRRect(rrect, ToSkPaint(flags));
-}
-
-void DrawTextOp::RasterWithFlags(SkCanvas* canvas,
-                                 const PaintFlags& flags) const {
-  canvas->drawText(paint_op_data(this), bytes, x, y, ToSkPaint(flags));
-}
-
-void DrawTextBlobOp::RasterWithFlags(SkCanvas* canvas,
-                                     const PaintFlags& flags) const {
-  canvas->drawTextBlob(blob.get(), x, y, ToSkPaint(flags));
-}
-
-void RestoreOp::Raster(SkCanvas* canvas) const {
-  canvas->restore();
-}
-
-void RotateOp::Raster(SkCanvas* canvas) const {
-  canvas->rotate(degrees);
-}
-
-void SaveOp::Raster(SkCanvas* canvas) const {
-  canvas->save();
-}
-
-void SaveLayerOp::RasterWithFlags(SkCanvas* canvas,
-                                  const PaintFlags& flags) const {
-  // See PaintOp::kUnsetRect
-  bool unset = bounds.left() == SK_ScalarInfinity;
-
-  canvas->saveLayer(unset ? nullptr : &bounds, ToSkPaint(&flags));
-}
-
-void SaveLayerAlphaOp::Raster(SkCanvas* canvas) const {
-  // See PaintOp::kUnsetRect
-  bool unset = bounds.left() == SK_ScalarInfinity;
-  canvas->saveLayerAlpha(unset ? nullptr : &bounds, alpha);
-}
-
-void ScaleOp::Raster(SkCanvas* canvas) const {
-  canvas->scale(sx, sy);
-}
-
-void SetMatrixOp::Raster(SkCanvas* canvas, const SkMatrix& original_ctm) const {
-  canvas->setMatrix(SkMatrix::Concat(original_ctm, matrix));
-}
-
-void TranslateOp::Raster(SkCanvas* canvas) const {
-  canvas->translate(dx, dy);
-}
-
-bool PaintOp::IsDrawOp() const {
-  return g_is_draw_op[type];
-}
-
-void PaintOp::Raster(SkCanvas* canvas, const SkMatrix& original_ctm) const {
-  g_raster_functions[type](this, canvas, original_ctm);
-}
-
-void PaintOp::RasterWithAlpha(SkCanvas* canvas, uint8_t alpha) const {
-  g_raster_alpha_functions[type](this, canvas, alpha);
-}
-
-int ClipPathOp::CountSlowPaths() const {
-  return antialias && !path.isConvex() ? 1 : 0;
-}
-
-int DrawLineOp::CountSlowPaths() const {
-  if (const SkPathEffect* effect = flags.getPathEffect()) {
-    SkPathEffect::DashInfo info;
-    SkPathEffect::DashType dashType = effect->asADash(&info);
-    if (flags.getStrokeCap() != PaintFlags::kRound_Cap &&
-        dashType == SkPathEffect::kDash_DashType && info.fCount == 2) {
-      // The PaintFlags will count this as 1, so uncount that here as
-      // this kind of line is special cased and not slow.
-      return -1;
-    }
-  }
-  return 0;
-}
-
-int DrawPathOp::CountSlowPaths() const {
-  // This logic is copied from SkPathCounter instead of attempting to expose
-  // that from Skia.
-  if (!flags.isAntiAlias() || path.isConvex())
-    return 0;
-
-  PaintFlags::Style paintStyle = flags.getStyle();
-  const SkRect& pathBounds = path.getBounds();
-  if (paintStyle == PaintFlags::kStroke_Style && flags.getStrokeWidth() == 0) {
-    // AA hairline concave path is not slow.
-    return 0;
-  } else if (paintStyle == PaintFlags::kFill_Style &&
-             pathBounds.width() < 64.f && pathBounds.height() < 64.f &&
-             !path.isVolatile()) {
-    // AADF eligible concave path is not slow.
-    return 0;
-  } else {
-    return 1;
-  }
-}
-
-AnnotateOp::AnnotateOp(PaintCanvas::AnnotationType annotation_type,
-                       const SkRect& rect,
-                       sk_sp<SkData> data)
-    : annotation_type(annotation_type), rect(rect), data(std::move(data)) {}
-
-AnnotateOp::~AnnotateOp() = default;
-
-DrawDisplayItemListOp::DrawDisplayItemListOp(
-    scoped_refptr<DisplayItemList> list)
-    : list(list) {}
-
-size_t DrawDisplayItemListOp::AdditionalBytesUsed() const {
-  return list->ApproximateMemoryUsage();
-}
-
-DrawDisplayItemListOp::DrawDisplayItemListOp(const DrawDisplayItemListOp& op) =
-    default;
-
-DrawDisplayItemListOp& DrawDisplayItemListOp::operator=(
-    const DrawDisplayItemListOp& op) = default;
-
-DrawDisplayItemListOp::~DrawDisplayItemListOp() = default;
-
-DrawImageOp::DrawImageOp(const PaintImage& image,
-                         SkScalar left,
-                         SkScalar top,
-                         const PaintFlags* flags)
-    : image(image),
-      left(left),
-      top(top),
-      flags(flags ? *flags : PaintFlags()) {}
-
-DrawImageOp::~DrawImageOp() = default;
-
-DrawImageRectOp::DrawImageRectOp(const PaintImage& image,
-                                 const SkRect& src,
-                                 const SkRect& dst,
-                                 const PaintFlags* flags,
-                                 PaintCanvas::SrcRectConstraint constraint)
-    : image(image),
-      flags(flags ? *flags : PaintFlags()),
-      src(src),
-      dst(dst),
-      constraint(constraint) {}
-
-DrawImageRectOp::~DrawImageRectOp() = default;
-
-DrawPosTextOp::DrawPosTextOp(size_t bytes,
-                             size_t count,
-                             const PaintFlags& flags)
-    : PaintOpWithDataArray(bytes, count), flags(flags) {}
-
-DrawPosTextOp::~DrawPosTextOp() = default;
-
-DrawRecordOp::DrawRecordOp(sk_sp<const PaintRecord> record)
-    : record(std::move(record)) {}
-
-DrawRecordOp::~DrawRecordOp() = default;
-
-size_t DrawRecordOp::AdditionalBytesUsed() const {
-  return record->approximateBytesUsed();
-}
-
-DrawTextBlobOp::DrawTextBlobOp(sk_sp<SkTextBlob> blob,
-                               SkScalar x,
-                               SkScalar y,
-                               const PaintFlags& flags)
-    : blob(std::move(blob)), x(x), y(y), flags(flags) {}
-
-DrawTextBlobOp::~DrawTextBlobOp() = default;
-
-PaintOpBuffer::PaintOpBuffer() : cull_rect_(SkRect::MakeEmpty()) {}
-
-PaintOpBuffer::PaintOpBuffer(const SkRect& cull_rect) : cull_rect_(cull_rect) {}
-
-PaintOpBuffer::~PaintOpBuffer() {
-  Reset();
-}
-
-void PaintOpBuffer::Reset() {
-  for (auto* op : Iterator(this)) {
-    auto func = g_destructor_functions[op->type];
-    if (func)
-      func(op);
-  }
-
-  // Leave data_ allocated, reserved_ unchanged.
-  used_ = 0;
-  op_count_ = 0;
-  num_slow_paths_ = 0;
-}
-
-void PaintOpBuffer::playback(SkCanvas* canvas) const {
-  // TODO(enne): a PaintRecord that contains a SetMatrix assumes that the
-  // SetMatrix is local to that PaintRecord itself.  Said differently, if you
-  // translate(x, y), then draw a paint record with a SetMatrix(identity),
-  // the translation should be preserved instead of clobbering the top level
-  // transform.  This could probably be done more efficiently.
-  SkMatrix original = canvas->getTotalMatrix();
-
-  for (Iterator iter(this); iter; ++iter) {
-    // Optimize out save/restores or save/draw/restore that can be a single
-    // draw.  See also: similar code in SkRecordOpts and cc's DisplayItemList.
-    // TODO(enne): consider making this recursive?
-    const PaintOp* op = *iter;
-    if (op->GetType() == PaintOpType::SaveLayerAlpha) {
-      const PaintOp* second = iter.peek1();
-      if (second) {
-        if (second->GetType() == PaintOpType::Restore) {
-          ++iter;
-          continue;
-        }
-        if (second->IsDrawOp()) {
-          const PaintOp* third = iter.peek2();
-          if (third && third->GetType() == PaintOpType::Restore) {
-            const SaveLayerAlphaOp* save_op =
-                static_cast<const SaveLayerAlphaOp*>(op);
-            second->RasterWithAlpha(canvas, save_op->alpha);
-            ++iter;
-            ++iter;
-            continue;
-          }
-        }
-      }
-    }
-    // TODO(enne): skip SaveLayer followed by restore with nothing in
-    // between, however SaveLayer with image filters on it (or maybe
-    // other PaintFlags options) are not a noop.  Figure out what these
-    // are so we can skip them correctly.
-
-    op->Raster(canvas, original);
-  }
-}
-
-void PaintOpBuffer::playback(SkCanvas* canvas,
-                             SkPicture::AbortCallback* callback) const {
-  // The abort callback is only used for analysis, in general, so
-  // this playback code can be more straightforward and not do the
-  // optimizations in the other function.
-  if (!callback) {
-    playback(canvas);
-    return;
-  }
-
-  SkMatrix original = canvas->getTotalMatrix();
-
-  // TODO(enne): ideally callers would just iterate themselves and we
-  // can remove the entire notion of an abort callback.
-  for (auto* op : Iterator(this)) {
-    op->Raster(canvas, original);
-    if (callback && callback->abort())
-      return;
-  }
-}
-
-void PaintOpBuffer::ShrinkToFit() {
-  if (!used_ || used_ == reserved_)
-    return;
-  data_.realloc(used_);
-  reserved_ = used_;
-}
-
-}  // namespace cc
diff --git a/cc/paint/paint_op_buffer.h b/cc/paint/paint_op_buffer.h
deleted file mode 100644
index 333a290..0000000
--- a/cc/paint/paint_op_buffer.h
+++ /dev/null
@@ -1,787 +0,0 @@
-// 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 CC_PAINT_PAINT_OP_BUFFER_H_
-#define CC_PAINT_PAINT_OP_BUFFER_H_
-
-#include <stdint.h>
-
-#include "base/logging.h"
-#include "cc/paint/paint_canvas.h"
-#include "cc/paint/paint_export.h"
-#include "cc/paint/paint_flags.h"
-#include "third_party/skia/include/core/SkPicture.h"
-#include "third_party/skia/include/core/SkRect.h"
-#include "third_party/skia/include/core/SkTextBlob.h"
-
-// PaintOpBuffer is a reimplementation of SkLiteDL.
-// See: third_party/skia/src/core/SkLiteDL.h.
-
-namespace cc {
-
-class DisplayItemList;
-
-class CC_PAINT_EXPORT ThreadsafeMatrix : public SkMatrix {
- public:
-  explicit ThreadsafeMatrix(const SkMatrix& matrix) : SkMatrix(matrix) {
-    (void)getType();
-  }
-};
-
-class CC_PAINT_EXPORT ThreadsafePath : public SkPath {
- public:
-  explicit ThreadsafePath(const SkPath& path) : SkPath(path) {
-    updateBoundsCache();
-  }
-};
-
-enum class PaintOpType : uint8_t {
-  Annotate,
-  ClipPath,
-  ClipRect,
-  ClipRRect,
-  Concat,
-  DrawArc,
-  DrawCircle,
-  DrawColor,
-  DrawDisplayItemList,
-  DrawDRRect,
-  DrawImage,
-  DrawImageRect,
-  DrawIRect,
-  DrawLine,
-  DrawOval,
-  DrawPath,
-  DrawPosText,
-  DrawRecord,
-  DrawRect,
-  DrawRRect,
-  DrawText,
-  DrawTextBlob,
-  Noop,
-  Restore,
-  Rotate,
-  Save,
-  SaveLayer,
-  SaveLayerAlpha,
-  Scale,
-  SetMatrix,
-  Translate,
-  LastPaintOpType = Translate,
-};
-
-struct CC_PAINT_EXPORT PaintOp {
-  uint32_t type : 8;
-  uint32_t skip : 24;
-
-  PaintOpType GetType() const { return static_cast<PaintOpType>(type); }
-
-  void Raster(SkCanvas* canvas, const SkMatrix& original_ctm) const;
-  bool IsDrawOp() const;
-
-  // Only valid for draw ops.
-  void RasterWithAlpha(SkCanvas* canvas, uint8_t alpha) const;
-
-  int CountSlowPaths() const { return 0; }
-
-  // Returns the number of bytes used by this op in referenced sub records
-  // and display lists.  This doesn't count other objects like paths or blobs.
-  size_t AdditionalBytesUsed() const { return 0; }
-
-  static constexpr bool kIsDrawOp = false;
-  // If an op has |kHasPaintFlags| set to true, it must:
-  // (1) Provide a PaintFlags member called |flags|
-  // (2) Provide a RasterWithFlags function instead of a Raster function.
-  static constexpr bool kHasPaintFlags = false;
-  static SkRect kUnsetRect;
-};
-
-struct CC_PAINT_EXPORT PaintOpWithData : PaintOp {
-  // Having data is just a helper for ops that have a varying amount of data and
-  // want a way to store that inline.  This is for ops that pass in a
-  // void* and a length.
-  explicit PaintOpWithData(size_t bytes) : bytes(bytes) {}
-
-  // Get data out by calling paint_op_data.  This can't be part of the class
-  // because it needs to know the size of the derived type.
-  size_t bytes;
-};
-
-template <typename T>
-const void* paint_op_data(const T* op) {
-  static_assert(std::is_convertible<T, PaintOpWithData>::value,
-                "T is not a PaintOpWithData");
-  // Arbitrary data for a PaintOp is stored after the PaintOp itself
-  // in the PaintOpBuffer.  Therefore, to access this data, it's
-  // pointer math to increment past the size of T.  Accessing the
-  // next op in the buffer is ((char*)op) + op->skip, with the data
-  // fitting between.
-  return op + 1;
-}
-
-template <typename T>
-void* paint_op_data(T* op) {
-  static_assert(std::is_convertible<T, PaintOpWithData>::value,
-                "T is not a PaintOpWithData");
-  return op + 1;
-}
-
-struct CC_PAINT_EXPORT PaintOpWithDataArrayBase : PaintOpWithData {
-  // Helper class for static asserts in push functions.
-  using PaintOpWithData::PaintOpWithData;
-};
-
-template <typename T>
-struct CC_PAINT_EXPORT PaintOpWithDataArray : PaintOpWithDataArrayBase {
-  // Paint op that has a T[count] and a char[bytes].
-  PaintOpWithDataArray(size_t bytes, size_t count)
-      : PaintOpWithDataArrayBase(bytes), count(count) {}
-  // Use paint_op_array to get array data.
-
-  size_t count;
-};
-
-template <typename M, typename T>
-const M* paint_op_array(const T* op) {
-  static_assert(std::is_convertible<T, PaintOpWithDataArrayBase>::value,
-                "T is not a PaintOpWithDataArray");
-  // See comment in paint_op_data.  Array data is stored after
-  // any void* data.  Memory layout here is: |op|data|array data|next op|
-  return SkTAddOffset<const M>(op + 1, op->bytes);
-}
-template <typename M, typename T>
-M* paint_op_array(T* op) {
-  static_assert(std::is_convertible<T, PaintOpWithDataArrayBase>::value,
-                "T is not a PaintOpWithDataArray");
-  return SkTAddOffset<M>(op + 1, op->bytes);
-}
-
-struct CC_PAINT_EXPORT AnnotateOp final : PaintOp {
-  enum class AnnotationType {
-    URL,
-    LinkToDestination,
-    NamedDestination,
-  };
-
-  static constexpr PaintOpType kType = PaintOpType::Annotate;
-  AnnotateOp(PaintCanvas::AnnotationType annotation_type,
-             const SkRect& rect,
-             sk_sp<SkData> data);
-  ~AnnotateOp();
-  void Raster(SkCanvas* canvas) const;
-
-  PaintCanvas::AnnotationType annotation_type;
-  SkRect rect;
-  sk_sp<SkData> data;
-};
-
-struct CC_PAINT_EXPORT ClipPathOp final : PaintOp {
-  static constexpr PaintOpType kType = PaintOpType::ClipPath;
-  ClipPathOp(SkPath path, SkClipOp op, bool antialias)
-      : path(path), op(op), antialias(antialias) {}
-  void Raster(SkCanvas* canvas) const;
-  int CountSlowPaths() const;
-
-  ThreadsafePath path;
-  SkClipOp op;
-  bool antialias;
-};
-
-struct CC_PAINT_EXPORT ClipRectOp final : PaintOp {
-  static constexpr PaintOpType kType = PaintOpType::ClipRect;
-  ClipRectOp(const SkRect& rect, SkClipOp op, bool antialias)
-      : rect(rect), op(op), antialias(antialias) {}
-  void Raster(SkCanvas* canvas) const;
-
-  SkRect rect;
-  SkClipOp op;
-  bool antialias;
-};
-
-struct CC_PAINT_EXPORT ClipRRectOp final : PaintOp {
-  static constexpr PaintOpType kType = PaintOpType::ClipRRect;
-  ClipRRectOp(const SkRRect& rrect, SkClipOp op, bool antialias)
-      : rrect(rrect), op(op), antialias(antialias) {}
-  void Raster(SkCanvas* canvas) const;
-
-  SkRRect rrect;
-  SkClipOp op;
-  bool antialias;
-};
-
-struct CC_PAINT_EXPORT ConcatOp final : PaintOp {
-  static constexpr PaintOpType kType = PaintOpType::Concat;
-  explicit ConcatOp(const SkMatrix& matrix) : matrix(matrix) {}
-  void Raster(SkCanvas* canvas) const;
-
-  ThreadsafeMatrix matrix;
-};
-
-struct CC_PAINT_EXPORT DrawArcOp final : PaintOp {
-  static constexpr PaintOpType kType = PaintOpType::DrawArc;
-  static constexpr bool kIsDrawOp = true;
-  static constexpr bool kHasPaintFlags = true;
-  DrawArcOp(const SkRect& oval,
-            SkScalar start_angle,
-            SkScalar sweep_angle,
-            bool use_center,
-            const PaintFlags& flags)
-      : oval(oval),
-        start_angle(start_angle),
-        sweep_angle(sweep_angle),
-        use_center(use_center),
-        flags(flags) {}
-  void RasterWithFlags(SkCanvas* canvas, const PaintFlags& flags) const;
-
-  SkRect oval;
-  SkScalar start_angle;
-  SkScalar sweep_angle;
-  bool use_center;
-  PaintFlags flags;
-};
-
-struct CC_PAINT_EXPORT DrawCircleOp final : PaintOp {
-  static constexpr PaintOpType kType = PaintOpType::DrawCircle;
-  static constexpr bool kIsDrawOp = true;
-  static constexpr bool kHasPaintFlags = true;
-  DrawCircleOp(SkScalar cx,
-               SkScalar cy,
-               SkScalar radius,
-               const PaintFlags& flags)
-      : cx(cx), cy(cy), radius(radius), flags(flags) {}
-  void RasterWithFlags(SkCanvas* canvas, const PaintFlags& flags) const;
-
-  SkScalar cx;
-  SkScalar cy;
-  SkScalar radius;
-  PaintFlags flags;
-};
-
-struct CC_PAINT_EXPORT DrawColorOp final : PaintOp {
-  static constexpr PaintOpType kType = PaintOpType::DrawColor;
-  static constexpr bool kIsDrawOp = true;
-  DrawColorOp(SkColor color, SkBlendMode mode) : color(color), mode(mode) {}
-  void Raster(SkCanvas* canvas) const;
-
-  SkColor color;
-  SkBlendMode mode;
-};
-
-struct CC_PAINT_EXPORT DrawDisplayItemListOp final : PaintOp {
-  static constexpr PaintOpType kType = PaintOpType::DrawDisplayItemList;
-  static constexpr bool kIsDrawOp = true;
-  explicit DrawDisplayItemListOp(scoped_refptr<DisplayItemList> list);
-  // Windows wants to generate these when types are exported, so
-  // provide them here explicitly so that DisplayItemList doesn't have
-  // to be defined in this header.
-  DrawDisplayItemListOp(const DrawDisplayItemListOp& op);
-  DrawDisplayItemListOp& operator=(const DrawDisplayItemListOp& op);
-  ~DrawDisplayItemListOp();
-  void Raster(SkCanvas* canvas) const;
-  size_t AdditionalBytesUsed() const;
-  // TODO(enne): DisplayItemList should know number of slow paths.
-
-  scoped_refptr<DisplayItemList> list;
-};
-
-struct CC_PAINT_EXPORT DrawDRRectOp final : PaintOp {
-  static constexpr PaintOpType kType = PaintOpType::DrawDRRect;
-  static constexpr bool kIsDrawOp = true;
-  static constexpr bool kHasPaintFlags = true;
-  DrawDRRectOp(const SkRRect& outer,
-               const SkRRect& inner,
-               const PaintFlags& flags)
-      : outer(outer), inner(inner), flags(flags) {}
-  void RasterWithFlags(SkCanvas* canvas, const PaintFlags& flags) const;
-
-  SkRRect outer;
-  SkRRect inner;
-  PaintFlags flags;
-};
-
-struct CC_PAINT_EXPORT DrawImageOp final : PaintOp {
-  static constexpr PaintOpType kType = PaintOpType::DrawImage;
-  static constexpr bool kIsDrawOp = true;
-  static constexpr bool kHasPaintFlags = true;
-  DrawImageOp(const PaintImage& image,
-              SkScalar left,
-              SkScalar top,
-              const PaintFlags* flags);
-  ~DrawImageOp();
-  void RasterWithFlags(SkCanvas* canvas, const PaintFlags& flags) const;
-
-  PaintImage image;
-  SkScalar left;
-  SkScalar top;
-  PaintFlags flags;
-};
-
-struct CC_PAINT_EXPORT DrawImageRectOp final : PaintOp {
-  static constexpr PaintOpType kType = PaintOpType::DrawImageRect;
-  static constexpr bool kIsDrawOp = true;
-  static constexpr bool kHasPaintFlags = true;
-  DrawImageRectOp(const PaintImage& image,
-                  const SkRect& src,
-                  const SkRect& dst,
-                  const PaintFlags* flags,
-                  PaintCanvas::SrcRectConstraint constraint);
-  ~DrawImageRectOp();
-  void RasterWithFlags(SkCanvas* canvas, const PaintFlags& flags) const;
-
-  PaintImage image;
-  PaintFlags flags;
-  SkRect src;
-  SkRect dst;
-  PaintCanvas::SrcRectConstraint constraint;
-};
-
-struct CC_PAINT_EXPORT DrawIRectOp final : PaintOp {
-  static constexpr PaintOpType kType = PaintOpType::DrawIRect;
-  static constexpr bool kIsDrawOp = true;
-  static constexpr bool kHasPaintFlags = true;
-  DrawIRectOp(const SkIRect& rect, const PaintFlags& flags)
-      : rect(rect), flags(flags) {}
-  void RasterWithFlags(SkCanvas* canvas, const PaintFlags& flags) const;
-
-  SkIRect rect;
-  PaintFlags flags;
-};
-
-struct CC_PAINT_EXPORT DrawLineOp final : PaintOp {
-  static constexpr PaintOpType kType = PaintOpType::DrawLine;
-  static constexpr bool kIsDrawOp = true;
-  static constexpr bool kHasPaintFlags = true;
-  DrawLineOp(SkScalar x0,
-             SkScalar y0,
-             SkScalar x1,
-             SkScalar y1,
-             const PaintFlags& flags)
-      : x0(x0), y0(y0), x1(x1), y1(y1), flags(flags) {}
-  void RasterWithFlags(SkCanvas* canvas, const PaintFlags& flags) const;
-  int CountSlowPaths() const;
-
-  SkScalar x0;
-  SkScalar y0;
-  SkScalar x1;
-  SkScalar y1;
-  PaintFlags flags;
-};
-
-struct CC_PAINT_EXPORT DrawOvalOp final : PaintOp {
-  static constexpr PaintOpType kType = PaintOpType::DrawOval;
-  static constexpr bool kIsDrawOp = true;
-  static constexpr bool kHasPaintFlags = true;
-  DrawOvalOp(const SkRect& oval, const PaintFlags& flags)
-      : oval(oval), flags(flags) {}
-  void RasterWithFlags(SkCanvas* canvas, const PaintFlags& flags) const;
-
-  SkRect oval;
-  PaintFlags flags;
-};
-
-struct CC_PAINT_EXPORT DrawPathOp final : PaintOp {
-  static constexpr PaintOpType kType = PaintOpType::DrawPath;
-  static constexpr bool kIsDrawOp = true;
-  static constexpr bool kHasPaintFlags = true;
-  DrawPathOp(const SkPath& path, const PaintFlags& flags)
-      : path(path), flags(flags) {}
-  void RasterWithFlags(SkCanvas* canvas, const PaintFlags& flags) const;
-  int CountSlowPaths() const;
-
-  ThreadsafePath path;
-  PaintFlags flags;
-};
-
-struct CC_PAINT_EXPORT DrawPosTextOp final : PaintOpWithDataArray<SkPoint> {
-  static constexpr PaintOpType kType = PaintOpType::DrawPosText;
-  static constexpr bool kIsDrawOp = true;
-  static constexpr bool kHasPaintFlags = true;
-  DrawPosTextOp(size_t bytes, size_t count, const PaintFlags& flags);
-  ~DrawPosTextOp();
-  void RasterWithFlags(SkCanvas* canvas, const PaintFlags& flags) const;
-
-  PaintFlags flags;
-};
-
-struct CC_PAINT_EXPORT DrawRecordOp final : PaintOp {
-  static constexpr PaintOpType kType = PaintOpType::DrawRecord;
-  static constexpr bool kIsDrawOp = true;
-  explicit DrawRecordOp(sk_sp<const PaintRecord> record);
-  ~DrawRecordOp();
-  void Raster(SkCanvas* canvas) const;
-  size_t AdditionalBytesUsed() const;
-
-  sk_sp<const PaintRecord> record;
-};
-
-struct CC_PAINT_EXPORT DrawRectOp final : PaintOp {
-  static constexpr PaintOpType kType = PaintOpType::DrawRect;
-  static constexpr bool kIsDrawOp = true;
-  static constexpr bool kHasPaintFlags = true;
-  DrawRectOp(const SkRect& rect, const PaintFlags& flags)
-      : rect(rect), flags(flags) {}
-  void RasterWithFlags(SkCanvas* canvas, const PaintFlags& flags) const;
-
-  SkRect rect;
-  PaintFlags flags;
-};
-
-struct CC_PAINT_EXPORT DrawRRectOp final : PaintOp {
-  static constexpr PaintOpType kType = PaintOpType::DrawRRect;
-  static constexpr bool kIsDrawOp = true;
-  static constexpr bool kHasPaintFlags = true;
-  DrawRRectOp(const SkRRect& rrect, const PaintFlags& flags)
-      : rrect(rrect), flags(flags) {}
-  void RasterWithFlags(SkCanvas* canvas, const PaintFlags& flags) const;
-
-  SkRRect rrect;
-  PaintFlags flags;
-};
-
-struct CC_PAINT_EXPORT DrawTextOp final : PaintOpWithData {
-  static constexpr PaintOpType kType = PaintOpType::DrawText;
-  static constexpr bool kIsDrawOp = true;
-  static constexpr bool kHasPaintFlags = true;
-  DrawTextOp(size_t bytes, SkScalar x, SkScalar y, const PaintFlags& flags)
-      : PaintOpWithData(bytes), x(x), y(y), flags(flags) {}
-  void RasterWithFlags(SkCanvas* canvas, const PaintFlags& flags) const;
-
-  SkScalar x;
-  SkScalar y;
-  PaintFlags flags;
-};
-
-struct CC_PAINT_EXPORT DrawTextBlobOp final : PaintOp {
-  static constexpr PaintOpType kType = PaintOpType::DrawTextBlob;
-  static constexpr bool kIsDrawOp = true;
-  static constexpr bool kHasPaintFlags = true;
-  DrawTextBlobOp(sk_sp<SkTextBlob> blob,
-                 SkScalar x,
-                 SkScalar y,
-                 const PaintFlags& flags);
-  ~DrawTextBlobOp();
-  void RasterWithFlags(SkCanvas* canvas, const PaintFlags& flags) const;
-
-  sk_sp<SkTextBlob> blob;
-  SkScalar x;
-  SkScalar y;
-  PaintFlags flags;
-};
-
-struct CC_PAINT_EXPORT NoopOp final : PaintOp {
-  static constexpr PaintOpType kType = PaintOpType::Noop;
-  void Raster(SkCanvas* canvas) const {}
-};
-
-struct CC_PAINT_EXPORT RestoreOp final : PaintOp {
-  static constexpr PaintOpType kType = PaintOpType::Restore;
-  void Raster(SkCanvas* canvas) const;
-};
-
-struct CC_PAINT_EXPORT RotateOp final : PaintOp {
-  static constexpr PaintOpType kType = PaintOpType::Rotate;
-  explicit RotateOp(SkScalar degrees) : degrees(degrees) {}
-  void Raster(SkCanvas* canvas) const;
-
-  SkScalar degrees;
-};
-
-struct CC_PAINT_EXPORT SaveOp final : PaintOp {
-  static constexpr PaintOpType kType = PaintOpType::Save;
-  void Raster(SkCanvas* canvas) const;
-};
-
-struct CC_PAINT_EXPORT SaveLayerOp final : PaintOp {
-  static constexpr PaintOpType kType = PaintOpType::SaveLayer;
-  static constexpr bool kHasPaintFlags = true;
-  SaveLayerOp(const SkRect* bounds, const PaintFlags* flags)
-      : bounds(bounds ? *bounds : kUnsetRect) {
-    if (flags)
-      this->flags = *flags;
-  }
-  void RasterWithFlags(SkCanvas* canvas, const PaintFlags& flags) const;
-
-  SkRect bounds;
-  PaintFlags flags;
-};
-
-struct CC_PAINT_EXPORT SaveLayerAlphaOp final : PaintOp {
-  static constexpr PaintOpType kType = PaintOpType::SaveLayerAlpha;
-  SaveLayerAlphaOp(const SkRect* bounds, uint8_t alpha)
-      : bounds(bounds ? *bounds : kUnsetRect), alpha(alpha) {}
-  void Raster(SkCanvas* canvas) const;
-
-  SkRect bounds;
-  uint8_t alpha;
-};
-
-struct CC_PAINT_EXPORT ScaleOp final : PaintOp {
-  static constexpr PaintOpType kType = PaintOpType::Scale;
-  ScaleOp(SkScalar sx, SkScalar sy) : sx(sx), sy(sy) {}
-  void Raster(SkCanvas* canvas) const;
-
-  SkScalar sx;
-  SkScalar sy;
-};
-
-struct CC_PAINT_EXPORT SetMatrixOp final : PaintOp {
-  static constexpr PaintOpType kType = PaintOpType::SetMatrix;
-  explicit SetMatrixOp(const SkMatrix& matrix) : matrix(matrix) {}
-  // This is the only op that needs the original ctm of the SkCanvas
-  // used for raster (since SetMatrix is relative to the recording origin and
-  // shouldn't clobber the SkCanvas raster origin).
-  //
-  // TODO(enne): Find some cleaner way to do this, possibly by making
-  // all SetMatrix calls Concat??
-  void Raster(SkCanvas* canvas, const SkMatrix& original_ctm) const;
-
-  ThreadsafeMatrix matrix;
-};
-
-struct CC_PAINT_EXPORT TranslateOp final : PaintOp {
-  static constexpr PaintOpType kType = PaintOpType::Translate;
-  TranslateOp(SkScalar dx, SkScalar dy) : dx(dx), dy(dy) {}
-  void Raster(SkCanvas* canvas) const;
-
-  SkScalar dx;
-  SkScalar dy;
-};
-
-using LargestPaintOp = DrawDRRectOp;
-
-class CC_PAINT_EXPORT PaintOpBuffer : public SkRefCnt {
- public:
-  enum { kInitialBufferSize = 4096 };
-
-  PaintOpBuffer();
-  explicit PaintOpBuffer(const SkRect& cull_rect);
-  ~PaintOpBuffer() override;
-
-  void Reset();
-
-  void playback(SkCanvas* canvas) const;
-  void playback(SkCanvas* canvas, SkPicture::AbortCallback* callback) const;
-
-  // TODO(enne): These are no longer approximate.  Rename these.
-  int approximateOpCount() const { return op_count_; }
-  size_t approximateBytesUsed() const {
-    return sizeof(*this) + reserved_ + subrecord_bytes_used_;
-  }
-  int numSlowPaths() const { return num_slow_paths_; }
-
-  // Resize the PaintOpBuffer to exactly fit the current amount of used space.
-  void ShrinkToFit();
-
-  const SkRect& cullRect() const { return cull_rect_; }
-
-  PaintOp* GetFirstOp() const {
-    return reinterpret_cast<PaintOp*>(const_cast<char*>(&first_op_[0]));
-  }
-
-  template <typename T, typename... Args>
-  void push(Args&&... args) {
-    static_assert(std::is_convertible<T, PaintOp>::value, "T not a PaintOp.");
-    static_assert(!std::is_convertible<T, PaintOpWithData>::value,
-                  "Type needs to use push_with_data");
-    push_internal<T>(0, std::forward<Args>(args)...);
-  }
-
-  template <typename T, typename... Args>
-  void push_with_data(const void* data, size_t bytes, Args&&... args) {
-    static_assert(std::is_convertible<T, PaintOpWithData>::value,
-                  "T is not a PaintOpWithData");
-#if !defined(OS_CHROMEOS)
-    // TODO(enne): non-linux chromeos builds think that DrawTextOp
-    // can be converted to a PaintOpWithDataArrayBase.  OOPS.
-    static_assert(!std::is_convertible<T, PaintOpWithDataArrayBase>::value,
-                  "Type needs to use push_with_data_array");
-#endif
-    DCHECK_GE(bytes, 0u);
-    T* op = push_internal<T>(bytes, bytes, std::forward<Args>(args)...);
-    memcpy(paint_op_data(op), data, bytes);
-
-#if DCHECK_IS_ON()
-    // Double check the data fits between op and next op and doesn't clobber.
-    char* op_start = reinterpret_cast<char*>(op);
-    char* op_end = op_start + sizeof(T);
-    char* next_op = op_start + op->skip;
-    char* data_start = reinterpret_cast<char*>(paint_op_data(op));
-    char* data_end = data_start + bytes;
-    DCHECK_GE(data_start, op_end);
-    DCHECK_LT(data_start, next_op);
-    DCHECK_LE(data_end, next_op);
-#endif
-  }
-
-  template <typename T, typename M, typename... Args>
-  void push_with_data_array(const void* data,
-                            size_t bytes,
-                            const M* array,
-                            size_t count,
-                            Args&&... args) {
-    static_assert(std::is_convertible<T, PaintOpWithDataArray<M>>::value,
-                  "T is not a PaintOpWithDataArray");
-    DCHECK_GE(bytes, 0u);
-    DCHECK_GE(count, 0u);
-    size_t array_size = sizeof(M) * count;
-    size_t total_size = bytes + array_size;
-    T* op =
-        push_internal<T>(total_size, bytes, count, std::forward<Args>(args)...);
-    memcpy(paint_op_data(op), data, bytes);
-    memcpy(paint_op_array<M>(op), array, array_size);
-
-#if DCHECK_IS_ON()
-    // Double check data and array don't clobber op, next op, or each other
-    char* op_start = reinterpret_cast<char*>(op);
-    char* op_end = op_start + sizeof(T);
-    char* next_op = op_start + op->skip;
-    char* data_start = reinterpret_cast<char*>(paint_op_data(op));
-    char* data_end = data_start + bytes;
-    char* array_start = reinterpret_cast<char*>(paint_op_array<M>(op));
-    char* array_end = array_start + array_size;
-    DCHECK_GE(data_start, op_end);
-    DCHECK_LE(data_start, array_start);
-    DCHECK_GE(array_start, data_end);
-    DCHECK_LE(array_end, next_op);
-#endif
-  }
-
-  class Iterator {
-   public:
-    explicit Iterator(const PaintOpBuffer* buffer)
-        : buffer_(buffer), ptr_(buffer_->data_.get()) {}
-
-    PaintOp* operator->() const {
-      return op_idx_ ? reinterpret_cast<PaintOp*>(ptr_) : buffer_->GetFirstOp();
-    }
-    PaintOp* operator*() const { return operator->(); }
-    Iterator begin() { return Iterator(buffer_, buffer_->data_.get(), 0); }
-    Iterator end() {
-      return Iterator(buffer_, buffer_->data_.get() + buffer_->used_,
-                      buffer_->approximateOpCount());
-    }
-    bool operator!=(const Iterator& other) {
-      // Not valid to compare iterators on different buffers.
-      DCHECK_EQ(other.buffer_, buffer_);
-      return other.op_idx_ != op_idx_;
-    }
-    Iterator& operator++() {
-      if (!op_idx_++)
-        return *this;
-      PaintOp* op = **this;
-      uint32_t type = op->type;
-      CHECK_LE(type, static_cast<uint32_t>(PaintOpType::LastPaintOpType));
-      ptr_ += op->skip;
-      return *this;
-    }
-    operator bool() const { return op_idx_ < buffer_->approximateOpCount(); }
-
-    int op_idx() const { return op_idx_; }
-
-    // Return the next op without advancing the iterator, or nullptr if none.
-    PaintOp* peek1() const {
-      if (op_idx_ + 1 >= buffer_->approximateOpCount())
-        return nullptr;
-      if (!op_idx_)
-        return reinterpret_cast<PaintOp*>(ptr_);
-      return reinterpret_cast<PaintOp*>(ptr_ + (*this)->skip);
-    }
-
-    // Return the op two ops ahead without advancing the iterator, or nullptr if
-    // none.
-    PaintOp* peek2() const {
-      if (op_idx_ + 2 >= buffer_->approximateOpCount())
-        return nullptr;
-      char* next = ptr_ + reinterpret_cast<PaintOp*>(ptr_)->skip;
-      PaintOp* next_op = reinterpret_cast<PaintOp*>(next);
-      if (!op_idx_)
-        return next_op;
-      return reinterpret_cast<PaintOp*>(next + next_op->skip);
-    }
-
-   private:
-    Iterator(const PaintOpBuffer* buffer, char* ptr, int op_idx)
-        : buffer_(buffer), ptr_(ptr), op_idx_(op_idx) {}
-
-    const PaintOpBuffer* buffer_ = nullptr;
-    char* ptr_ = nullptr;
-    int op_idx_ = 0;
-  };
-
- private:
-  template <typename T, bool HasFlags>
-  struct CountSlowPathsFromFlags {
-    static int Count(const T* op) { return 0; }
-  };
-
-  template <typename T>
-  struct CountSlowPathsFromFlags<T, true> {
-    static int Count(const T* op) { return op->flags.getPathEffect() ? 1 : 0; }
-  };
-
-  template <typename T, typename... Args>
-  T* push_internal(size_t bytes, Args&&... args) {
-    size_t skip = SkAlignPtr(sizeof(T) + bytes);
-    DCHECK_LT(skip, static_cast<size_t>(1) << 24);
-    if (used_ + skip > reserved_ || !op_count_) {
-      if (!op_count_) {
-        if (bytes) {
-          // Internal first_op buffer doesn't have room for extra data.
-          // If the op wants extra bytes, then we'll just store a Noop
-          // in the first_op and proceed from there.  This seems unlikely
-          // to be a common case.
-          push<NoopOp>();
-        } else {
-          T* op = reinterpret_cast<T*>(&first_op_[0]);
-          new (op) T{std::forward<Args>(args)...};
-          op->type = static_cast<uint32_t>(T::kType);
-          op->skip = 0;
-          op_count_++;
-          return op;
-        }
-      }
-
-      // Start reserved_ at kInitialBufferSize and then double.
-      // ShrinkToFit can make this smaller afterwards.
-      while (used_ + skip > reserved_)
-        reserved_ = reserved_ ? reserved_ * 2 : kInitialBufferSize;
-      data_.realloc(reserved_);
-    }
-    DCHECK_LE(used_ + skip, reserved_);
-
-    T* op = reinterpret_cast<T*>(data_.get() + used_);
-    used_ += skip;
-    new (op) T(std::forward<Args>(args)...);
-    op->type = static_cast<uint32_t>(T::kType);
-    op->skip = skip;
-    op_count_++;
-
-    num_slow_paths_ += CountSlowPathsFromFlags<T, T::kHasPaintFlags>::Count(op);
-    num_slow_paths_ += op->CountSlowPaths();
-
-    subrecord_bytes_used_ += op->AdditionalBytesUsed();
-
-    return op;
-  }
-
-  // As a performance optimization because n=1 is an extremely common case just
-  // store the first op in the PaintOpBuffer itself to avoid an extra alloc.
-  char first_op_[sizeof(LargestPaintOp)];
-  SkAutoTMalloc<char> data_;
-  size_t used_ = 0;
-  size_t reserved_ = 0;
-  int op_count_ = 0;
-
-  // Record paths for veto-to-msaa for gpu raster.
-  int num_slow_paths_ = 0;
-  // Record additional bytes used by referenced sub-records and display lists.
-  size_t subrecord_bytes_used_ = 0;
-  SkRect cull_rect_;
-
-  DISALLOW_COPY_AND_ASSIGN(PaintOpBuffer);
-};
-
-}  // namespace cc
-
-#endif  // CC_PAINT_PAINT_OP_BUFFER_H_
diff --git a/cc/paint/paint_op_buffer_unittest.cc b/cc/paint/paint_op_buffer_unittest.cc
deleted file mode 100644
index a962ab9..0000000
--- a/cc/paint/paint_op_buffer_unittest.cc
+++ /dev/null
@@ -1,332 +0,0 @@
-// 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 "cc/paint/paint_op_buffer.h"
-#include "cc/test/test_skcanvas.h"
-#include "testing/gtest/include/gtest/gtest.h"
-
-namespace {
-
-template <typename T>
-void CheckRefCnt(const T& obj, int32_t count) {
-// Skia doesn't define getRefCnt in all builds.
-#ifdef SK_DEBUG
-  EXPECT_EQ(obj->getRefCnt(), count);
-#endif
-}
-
-}  // namespace
-
-namespace cc {
-
-TEST(PaintOpBufferTest, Empty) {
-  PaintOpBuffer buffer;
-  EXPECT_EQ(buffer.approximateOpCount(), 0);
-  EXPECT_EQ(buffer.approximateBytesUsed(), sizeof(PaintOpBuffer));
-  EXPECT_EQ(PaintOpBuffer::Iterator(&buffer), false);
-
-  buffer.Reset();
-  EXPECT_EQ(buffer.approximateOpCount(), 0);
-  EXPECT_EQ(buffer.approximateBytesUsed(), sizeof(PaintOpBuffer));
-  EXPECT_EQ(PaintOpBuffer::Iterator(&buffer), false);
-}
-
-TEST(PaintOpBufferTest, SimpleAppend) {
-  SkRect rect = SkRect::MakeXYWH(2, 3, 4, 5);
-  PaintFlags flags;
-  flags.setColor(SK_ColorMAGENTA);
-  flags.setAlpha(100);
-  SkColor draw_color = SK_ColorRED;
-  SkBlendMode blend = SkBlendMode::kSrc;
-
-  PaintOpBuffer buffer;
-  buffer.push<SaveLayerOp>(&rect, &flags);
-  buffer.push<SaveOp>();
-  buffer.push<DrawColorOp>(draw_color, blend);
-  buffer.push<RestoreOp>();
-
-  EXPECT_EQ(buffer.approximateOpCount(), 4);
-
-  PaintOpBuffer::Iterator iter(&buffer);
-  ASSERT_EQ(iter->GetType(), PaintOpType::SaveLayer);
-  SaveLayerOp* save_op = static_cast<SaveLayerOp*>(*iter);
-  EXPECT_EQ(save_op->bounds, rect);
-  EXPECT_TRUE(save_op->flags == flags);
-  ++iter;
-
-  ASSERT_EQ(iter->GetType(), PaintOpType::Save);
-  ++iter;
-
-  ASSERT_EQ(iter->GetType(), PaintOpType::DrawColor);
-  DrawColorOp* op = static_cast<DrawColorOp*>(*iter);
-  EXPECT_EQ(op->color, draw_color);
-  EXPECT_EQ(op->mode, blend);
-  ++iter;
-
-  ASSERT_EQ(iter->GetType(), PaintOpType::Restore);
-  ++iter;
-
-  EXPECT_FALSE(iter);
-}
-
-// PaintOpBuffer has a special case for first ops stored locally, so
-// make sure that appending different kind of ops as a first op works
-// properly, as well as resetting and reusing the first local op.
-TEST(PaintOpBufferTest, FirstOpWithAndWithoutData) {
-  PaintOpBuffer buffer;
-  char text[] = "asdf";
-
-  // Use a color filter and its ref count to verify that the destructor
-  // is called on ops after reset.
-  PaintFlags flags;
-  sk_sp<SkColorFilter> filter =
-      SkColorFilter::MakeModeFilter(SK_ColorMAGENTA, SkBlendMode::kSrcOver);
-  flags.setColorFilter(filter);
-  CheckRefCnt(filter, 2);
-
-  buffer.push_with_data<DrawTextOp>(text, arraysize(text), 0.f, 0.f, flags);
-  CheckRefCnt(filter, 3);
-
-  // Verify that when the first op has data, which may not fit in the
-  // PaintRecord internal buffer, that it adds a noop as the first op
-  // and then appends the "op with data" into the heap buffer.
-  ASSERT_EQ(buffer.approximateOpCount(), 2);
-  EXPECT_EQ(buffer.GetFirstOp()->GetType(), PaintOpType::Noop);
-
-  // Verify iteration behavior and brief smoke test of op state.
-  {
-    PaintOpBuffer::Iterator iter(&buffer);
-    PaintOp* noop = *iter;
-    EXPECT_EQ(buffer.GetFirstOp(), noop);
-    ++iter;
-
-    PaintOp* op = *iter;
-    ASSERT_EQ(op->GetType(), PaintOpType::DrawText);
-    DrawTextOp* draw_text_op = static_cast<DrawTextOp*>(op);
-    EXPECT_EQ(draw_text_op->bytes, arraysize(text));
-
-    void* data = paint_op_data(draw_text_op);
-    EXPECT_EQ(memcmp(data, text, arraysize(text)), 0);
-
-    ++iter;
-    EXPECT_FALSE(iter);
-  }
-
-  // Reset, verify state, and append an op that will fit in the first slot.
-  buffer.Reset();
-  CheckRefCnt(filter, 2);
-
-  ASSERT_EQ(buffer.approximateOpCount(), 0);
-  EXPECT_EQ(PaintOpBuffer::Iterator(&buffer), false);
-
-  SkRect rect = SkRect::MakeXYWH(1, 2, 3, 4);
-  buffer.push<DrawRectOp>(rect, flags);
-  CheckRefCnt(filter, 3);
-
-  ASSERT_EQ(buffer.approximateOpCount(), 1);
-  EXPECT_EQ(buffer.GetFirstOp()->GetType(), PaintOpType::DrawRect);
-
-  PaintOpBuffer::Iterator iter(&buffer);
-  ASSERT_EQ(iter->GetType(), PaintOpType::DrawRect);
-  DrawRectOp* draw_rect_op = static_cast<DrawRectOp*>(*iter);
-  EXPECT_EQ(draw_rect_op->rect, rect);
-
-  ++iter;
-  EXPECT_FALSE(iter);
-
-  buffer.Reset();
-  ASSERT_EQ(buffer.approximateOpCount(), 0);
-  CheckRefCnt(filter, 2);
-}
-
-TEST(PaintOpBufferTest, Peek) {
-  PaintOpBuffer buffer;
-
-  uint8_t alpha = 100;
-  buffer.push<SaveLayerAlphaOp>(nullptr, alpha);
-  PaintFlags draw_flags;
-  buffer.push<DrawRectOp>(SkRect::MakeXYWH(1, 2, 3, 4), draw_flags);
-  buffer.push<RestoreOp>();
-  buffer.push<SaveOp>();
-  buffer.push<NoopOp>();
-  buffer.push<RestoreOp>();
-
-  PaintOpBuffer::Iterator init_iter(&buffer);
-  PaintOp* peek[2] = {*init_iter, init_iter.peek1()};
-
-  // Expect that while iterating that next = current.peek1() and that
-  // next.peek1() == current.peek2().
-  for (PaintOpBuffer::Iterator iter(&buffer); iter; ++iter) {
-    EXPECT_EQ(*iter, peek[0]) << iter.op_idx();
-    EXPECT_EQ(iter.peek1(), peek[1]) << iter.op_idx();
-
-    peek[0] = iter.peek1();
-    peek[1] = iter.peek2();
-  }
-}
-
-TEST(PaintOpBufferTest, PeekEmpty) {
-  PaintOpBuffer empty;
-  PaintOpBuffer::Iterator empty_iter(&empty);
-  EXPECT_EQ(nullptr, empty_iter.peek1());
-  EXPECT_EQ(nullptr, empty_iter.peek2());
-}
-
-// Verify that a SaveLayerAlpha / Draw / Restore can be optimized to just
-// a draw with opacity.
-TEST(PaintOpBufferTest, SaveDrawRestore) {
-  PaintOpBuffer buffer;
-
-  uint8_t alpha = 100;
-  buffer.push<SaveLayerAlphaOp>(nullptr, alpha);
-
-  PaintFlags draw_flags;
-  draw_flags.setColor(SK_ColorMAGENTA);
-  draw_flags.setAlpha(50);
-  EXPECT_TRUE(draw_flags.SupportsFoldingAlpha());
-  SkRect rect = SkRect::MakeXYWH(1, 2, 3, 4);
-  buffer.push<DrawRectOp>(rect, draw_flags);
-  buffer.push<RestoreOp>();
-
-  SaveCountingCanvas canvas;
-  buffer.playback(&canvas);
-
-  EXPECT_EQ(0, canvas.save_count_);
-  EXPECT_EQ(0, canvas.restore_count_);
-  EXPECT_EQ(rect, canvas.draw_rect_);
-
-  // Expect the alpha from the draw and the save layer to be folded together.
-  // Since alpha is stored in a uint8_t and gets rounded, so use tolerance.
-  float expected_alpha = alpha * 50 / 255.f;
-  EXPECT_LE(std::abs(expected_alpha - canvas.paint_.getAlpha()), 1.f);
-}
-
-// The same as SaveDrawRestore, but test that the optimization doesn't apply
-// when the drawing op's flags are not compatible with being folded into the
-// save layer with opacity.
-TEST(PaintOpBufferTest, SaveDrawRestoreFail_BadFlags) {
-  PaintOpBuffer buffer;
-
-  uint8_t alpha = 100;
-  buffer.push<SaveLayerAlphaOp>(nullptr, alpha);
-
-  PaintFlags draw_flags;
-  draw_flags.setColor(SK_ColorMAGENTA);
-  draw_flags.setAlpha(50);
-  draw_flags.setBlendMode(SkBlendMode::kSrc);
-  EXPECT_FALSE(draw_flags.SupportsFoldingAlpha());
-  SkRect rect = SkRect::MakeXYWH(1, 2, 3, 4);
-  buffer.push<DrawRectOp>(rect, draw_flags);
-  buffer.push<RestoreOp>();
-
-  SaveCountingCanvas canvas;
-  buffer.playback(&canvas);
-
-  EXPECT_EQ(1, canvas.save_count_);
-  EXPECT_EQ(1, canvas.restore_count_);
-  EXPECT_EQ(rect, canvas.draw_rect_);
-  EXPECT_EQ(draw_flags.getAlpha(), canvas.paint_.getAlpha());
-}
-
-// The same as SaveDrawRestore, but test that the optimization doesn't apply
-// when there are more than one ops between the save and restore.
-TEST(PaintOpBufferTest, SaveDrawRestoreFail_TooManyOps) {
-  PaintOpBuffer buffer;
-
-  uint8_t alpha = 100;
-  buffer.push<SaveLayerAlphaOp>(nullptr, alpha);
-
-  PaintFlags draw_flags;
-  draw_flags.setColor(SK_ColorMAGENTA);
-  draw_flags.setAlpha(50);
-  draw_flags.setBlendMode(SkBlendMode::kSrcOver);
-  EXPECT_TRUE(draw_flags.SupportsFoldingAlpha());
-  SkRect rect = SkRect::MakeXYWH(1, 2, 3, 4);
-  buffer.push<DrawRectOp>(rect, draw_flags);
-  buffer.push<NoopOp>();
-  buffer.push<RestoreOp>();
-
-  SaveCountingCanvas canvas;
-  buffer.playback(&canvas);
-
-  EXPECT_EQ(1, canvas.save_count_);
-  EXPECT_EQ(1, canvas.restore_count_);
-  EXPECT_EQ(rect, canvas.draw_rect_);
-  EXPECT_EQ(draw_flags.getAlpha(), canvas.paint_.getAlpha());
-}
-
-// Verify that the save draw restore code works with a single op
-// that's not a draw op, and the optimization does not kick in.
-TEST(PaintOpBufferTest, SaveDrawRestore_SingleOpNotADrawOp) {
-  PaintOpBuffer buffer;
-
-  uint8_t alpha = 100;
-  buffer.push<SaveLayerAlphaOp>(nullptr, alpha);
-
-  buffer.push<NoopOp>();
-  buffer.push<RestoreOp>();
-
-  SaveCountingCanvas canvas;
-  buffer.playback(&canvas);
-
-  EXPECT_EQ(1, canvas.save_count_);
-  EXPECT_EQ(1, canvas.restore_count_);
-}
-
-// Test that the save/draw/restore optimization applies if the single op
-// is a DrawRecord that itself has a single draw op.
-TEST(PaintOpBufferTest, SaveDrawRestore_SingleOpRecordWithSingleOp) {
-  sk_sp<PaintRecord> record = sk_make_sp<PaintRecord>();
-
-  PaintFlags draw_flags;
-  draw_flags.setColor(SK_ColorMAGENTA);
-  draw_flags.setAlpha(50);
-  EXPECT_TRUE(draw_flags.SupportsFoldingAlpha());
-  SkRect rect = SkRect::MakeXYWH(1, 2, 3, 4);
-  record->push<DrawRectOp>(rect, draw_flags);
-  EXPECT_EQ(record->approximateOpCount(), 1);
-
-  PaintOpBuffer buffer;
-
-  uint8_t alpha = 100;
-  buffer.push<SaveLayerAlphaOp>(nullptr, alpha);
-  buffer.push<DrawRecordOp>(std::move(record));
-  buffer.push<RestoreOp>();
-
-  SaveCountingCanvas canvas;
-  buffer.playback(&canvas);
-
-  EXPECT_EQ(0, canvas.save_count_);
-  EXPECT_EQ(0, canvas.restore_count_);
-  EXPECT_EQ(rect, canvas.draw_rect_);
-
-  float expected_alpha = alpha * 50 / 255.f;
-  EXPECT_LE(std::abs(expected_alpha - canvas.paint_.getAlpha()), 1.f);
-}
-
-// The same as the above SingleOpRecord test, but the single op is not
-// a draw op.  So, there's no way to fold in the save layer optimization.
-// Verify that the optimization doesn't apply and that this doesn't crash.
-// See: http://crbug.com/712093.
-TEST(PaintOpBufferTest, SaveDrawRestore_SingleOpRecordWithSingleNonDrawOp) {
-  sk_sp<PaintRecord> record = sk_make_sp<PaintRecord>();
-  record->push<NoopOp>();
-  EXPECT_EQ(record->approximateOpCount(), 1);
-  EXPECT_FALSE(record->GetFirstOp()->IsDrawOp());
-
-  PaintOpBuffer buffer;
-
-  uint8_t alpha = 100;
-  buffer.push<SaveLayerAlphaOp>(nullptr, alpha);
-  buffer.push<DrawRecordOp>(std::move(record));
-  buffer.push<RestoreOp>();
-
-  SaveCountingCanvas canvas;
-  buffer.playback(&canvas);
-
-  EXPECT_EQ(1, canvas.save_count_);
-  EXPECT_EQ(1, canvas.restore_count_);
-}
-
-}  // namespace cc
diff --git a/cc/paint/paint_record.cc b/cc/paint/paint_record.cc
deleted file mode 100644
index 52cb2524..0000000
--- a/cc/paint/paint_record.cc
+++ /dev/null
@@ -1,26 +0,0 @@
-// 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 "cc/paint/paint_record.h"
-
-#include "cc/paint/paint_op_buffer.h"
-#include "third_party/skia/include/core/SkPictureRecorder.h"
-
-namespace cc {
-
-sk_sp<SkPicture> ToSkPicture(sk_sp<PaintRecord> record) {
-  SkPictureRecorder recorder;
-  SkCanvas* canvas = recorder.beginRecording(record->cullRect());
-  record->playback(canvas);
-  return recorder.finishRecordingAsPicture();
-}
-
-sk_sp<const SkPicture> ToSkPicture(sk_sp<const PaintRecord> record) {
-  SkPictureRecorder recorder;
-  SkCanvas* canvas = recorder.beginRecording(record->cullRect());
-  record->playback(canvas);
-  return recorder.finishRecordingAsPicture();
-}
-
-}  // namespace cc
diff --git a/cc/paint/paint_record.h b/cc/paint/paint_record.h
index daeee004..8506606b 100644
--- a/cc/paint/paint_record.h
+++ b/cc/paint/paint_record.h
@@ -5,22 +5,19 @@
 #ifndef CC_PAINT_PAINT_RECORD_H_
 #define CC_PAINT_PAINT_RECORD_H_
 
-#include "cc/paint/paint_export.h"
-#include "cc/paint/paint_op_buffer.h"
 #include "third_party/skia/include/core/SkPicture.h"
 
 namespace cc {
 
-// TODO(enne): Don't want to rename the world for this.  Using these as the
-// same types for now prevents an extra allocation.  Probably PaintRecord
-// will become an interface in the future.
-using PaintRecord = PaintOpBuffer;
+using PaintRecord = SkPicture;
 
-// TODO(enne): Remove these if possible, they are really expensive.
-CC_PAINT_EXPORT sk_sp<SkPicture> ToSkPicture(sk_sp<PaintRecord> record);
+inline sk_sp<SkPicture> ToSkPicture(sk_sp<PaintRecord> record) {
+  return record;
+}
 
-CC_PAINT_EXPORT sk_sp<const SkPicture> ToSkPicture(
-    sk_sp<const PaintRecord> record);
+inline sk_sp<const SkPicture> ToSkPicture(sk_sp<const PaintRecord> record) {
+  return record;
+}
 
 }  // namespace cc
 
diff --git a/cc/paint/paint_recorder.cc b/cc/paint/paint_recorder.cc
index c43f965..672f0712 100644
--- a/cc/paint/paint_recorder.cc
+++ b/cc/paint/paint_recorder.cc
@@ -4,36 +4,9 @@
 
 #include "cc/paint/paint_recorder.h"
 
-#include "cc/paint/paint_op_buffer.h"
-
 namespace cc {
 
 PaintRecorder::PaintRecorder() = default;
-
 PaintRecorder::~PaintRecorder() = default;
 
-PaintCanvas* PaintRecorder::beginRecording(const SkRect& bounds) {
-  buffer_.reset(new PaintOpBuffer(bounds));
-  canvas_.emplace(buffer_.get(), bounds);
-  return getRecordingCanvas();
-}
-
-sk_sp<PaintRecord> PaintRecorder::finishRecordingAsPicture() {
-  // SkPictureRecorder users expect that their saves are automatically
-  // closed for them.
-  //
-  // NOTE: Blink paint in general doesn't appear to need this, but the
-  // RecordingImageBufferSurface::fallBackToRasterCanvas finishing off the
-  // current frame depends on this.  Maybe we could remove this assumption and
-  // just have callers do it.
-  canvas_->restoreToCount(1);
-
-  // Some users (e.g. printing) use the existence of the recording canvas
-  // to know if recording is finished, so reset it here.
-  canvas_.reset();
-
-  buffer_->ShrinkToFit();
-  return std::move(buffer_);
-}
-
 }  // namespace cc
diff --git a/cc/paint/paint_recorder.h b/cc/paint/paint_recorder.h
index 7f582b85..2bbea83b 100644
--- a/cc/paint/paint_recorder.h
+++ b/cc/paint/paint_recorder.h
@@ -9,36 +9,47 @@
 #include "base/macros.h"
 #include "base/memory/ptr_util.h"
 #include "base/optional.h"
+#include "cc/paint/paint_canvas.h"
 #include "cc/paint/paint_record.h"
-#include "cc/paint/record_paint_canvas.h"
+#include "cc/paint/skia_paint_canvas.h"
+#include "third_party/skia/include/core/SkPictureRecorder.h"
 
 namespace cc {
 
-class PaintOpBuffer;
-
 class CC_PAINT_EXPORT PaintRecorder {
  public:
   PaintRecorder();
   ~PaintRecorder();
 
-  PaintCanvas* beginRecording(const SkRect& bounds);
+  ALWAYS_INLINE PaintCanvas* beginRecording(const SkRect& bounds) {
+    uint32_t record_flags = 0;
+    canvas_.emplace(recorder_.beginRecording(bounds, nullptr, record_flags));
+    return getRecordingCanvas();
+  }
 
-  // TODO(enne): should make everything go through the non-rect version.
-  // See comments in RecordPaintCanvas ctor for why.
-  PaintCanvas* beginRecording(SkScalar width, SkScalar height) {
-    return beginRecording(SkRect::MakeWH(width, height));
+  ALWAYS_INLINE PaintCanvas* beginRecording(SkScalar width, SkScalar height) {
+    uint32_t record_flags = 0;
+    canvas_.emplace(
+        recorder_.beginRecording(width, height, nullptr, record_flags));
+    return getRecordingCanvas();
   }
 
   // Only valid between between and finish recording.
-  ALWAYS_INLINE RecordPaintCanvas* getRecordingCanvas() {
+  ALWAYS_INLINE PaintCanvas* getRecordingCanvas() {
     return canvas_.has_value() ? &canvas_.value() : nullptr;
   }
 
-  sk_sp<PaintRecord> finishRecordingAsPicture();
+  ALWAYS_INLINE sk_sp<PaintRecord> finishRecordingAsPicture() {
+    sk_sp<SkPicture> picture = recorder_.finishRecordingAsPicture();
+    // Some users (e.g. printing) use the existence of the recording canvas
+    // to know if recording is finished, so reset it here.
+    canvas_.reset();
+    return sk_ref_sp(static_cast<PaintRecord*>(picture.get()));
+  }
 
  private:
-  sk_sp<PaintOpBuffer> buffer_;
-  base::Optional<RecordPaintCanvas> canvas_;
+  SkPictureRecorder recorder_;
+  base::Optional<SkiaPaintCanvas> canvas_;
 
   DISALLOW_COPY_AND_ASSIGN(PaintRecorder);
 };
diff --git a/cc/paint/record_paint_canvas.cc b/cc/paint/record_paint_canvas.cc
deleted file mode 100644
index 7f2ba61..0000000
--- a/cc/paint/record_paint_canvas.cc
+++ /dev/null
@@ -1,384 +0,0 @@
-// 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 "cc/paint/record_paint_canvas.h"
-
-#include "base/memory/ptr_util.h"
-#include "cc/paint/display_item_list.h"
-#include "cc/paint/paint_op_buffer.h"
-#include "cc/paint/paint_record.h"
-#include "cc/paint/paint_recorder.h"
-#include "third_party/skia/include/core/SkAnnotation.h"
-#include "third_party/skia/include/core/SkMetaData.h"
-#include "third_party/skia/include/utils/SkNWayCanvas.h"
-
-namespace cc {
-
-RecordPaintCanvas::RecordPaintCanvas(PaintOpBuffer* buffer,
-                                     const SkRect& cull_rect)
-    : buffer_(buffer),
-      canvas_(static_cast<int>(std::ceil(cull_rect.right())),
-              static_cast<int>(std::ceil(cull_rect.bottom()))) {
-  DCHECK(buffer_);
-
-  // This is part of the "recording canvases have a size, but why" dance.
-  // By creating a canvas of size (right x bottom) and then clipping it,
-  // It makes getDeviceClipBounds return the original cull rect, which code
-  // in GraphicsContextCanvas on Mac expects.  (Just creating an SkNoDrawCanvas
-  // with the cull_rect makes a canvas of size (width x height) instead
-  // which is incorrect.  SkRecorder cheats with private resetForNextCanvas.
-  canvas_.clipRect(SkRect::Make(cull_rect.roundOut()), SkClipOp::kIntersect,
-                   false);
-}
-
-RecordPaintCanvas::~RecordPaintCanvas() = default;
-
-SkMetaData& RecordPaintCanvas::getMetaData() {
-  // This could just be SkMetaData owned by RecordPaintCanvas, but since
-  // SkCanvas already has one, we might as well use it directly.
-  return canvas_.getMetaData();
-}
-
-SkImageInfo RecordPaintCanvas::imageInfo() const {
-  return canvas_.imageInfo();
-}
-
-void RecordPaintCanvas::flush() {
-  // This is a noop when recording.
-}
-
-SkISize RecordPaintCanvas::getBaseLayerSize() const {
-  return canvas_.getBaseLayerSize();
-}
-
-bool RecordPaintCanvas::writePixels(const SkImageInfo& info,
-                                    const void* pixels,
-                                    size_t row_bytes,
-                                    int x,
-                                    int y) {
-  NOTREACHED();
-  return false;
-}
-
-int RecordPaintCanvas::save() {
-  buffer_->push<SaveOp>();
-  return canvas_.save();
-}
-
-int RecordPaintCanvas::saveLayer(const SkRect* bounds,
-                                 const PaintFlags* flags) {
-  if (flags) {
-    if (flags->IsSimpleOpacity()) {
-      // TODO(enne): maybe more callers should know this and call
-      // saveLayerAlpha instead of needing to check here.
-      uint8_t alpha = SkColorGetA(flags->getColor());
-      return saveLayerAlpha(bounds, alpha);
-    }
-
-    // TODO(enne): it appears that image filters affect matrices and color
-    // matrices affect transparent flags on SkCanvas layers, but it's not clear
-    // whether those are actually needed and we could just skip ToSkPaint here.
-    buffer_->push<SaveLayerOp>(bounds, flags);
-    const SkPaint& paint = ToSkPaint(*flags);
-    return canvas_.saveLayer(bounds, &paint);
-  }
-  buffer_->push<SaveLayerOp>(bounds, flags);
-  return canvas_.saveLayer(bounds, nullptr);
-}
-
-int RecordPaintCanvas::saveLayerAlpha(const SkRect* bounds, uint8_t alpha) {
-  buffer_->push<SaveLayerAlphaOp>(bounds, alpha);
-  return canvas_.saveLayerAlpha(bounds, alpha);
-}
-
-void RecordPaintCanvas::restore() {
-  buffer_->push<RestoreOp>();
-  canvas_.restore();
-}
-
-int RecordPaintCanvas::getSaveCount() const {
-  return canvas_.getSaveCount();
-}
-
-void RecordPaintCanvas::restoreToCount(int save_count) {
-  DCHECK_GE(save_count, 1);
-  int diff = canvas_.getSaveCount() - save_count;
-  DCHECK_GE(diff, 0);
-  for (int i = 0; i < diff; ++i)
-    restore();
-}
-
-void RecordPaintCanvas::translate(SkScalar dx, SkScalar dy) {
-  buffer_->push<TranslateOp>(dx, dy);
-  canvas_.translate(dx, dy);
-}
-
-void RecordPaintCanvas::scale(SkScalar sx, SkScalar sy) {
-  buffer_->push<ScaleOp>(sx, sy);
-  canvas_.scale(sx, sy);
-}
-
-void RecordPaintCanvas::rotate(SkScalar degrees) {
-  buffer_->push<RotateOp>(degrees);
-  canvas_.rotate(degrees);
-}
-
-void RecordPaintCanvas::concat(const SkMatrix& matrix) {
-  buffer_->push<ConcatOp>(matrix);
-  canvas_.concat(matrix);
-}
-
-void RecordPaintCanvas::setMatrix(const SkMatrix& matrix) {
-  buffer_->push<SetMatrixOp>(matrix);
-  canvas_.setMatrix(matrix);
-}
-
-void RecordPaintCanvas::clipRect(const SkRect& rect,
-                                 SkClipOp op,
-                                 bool antialias) {
-  buffer_->push<ClipRectOp>(rect, op, antialias);
-  canvas_.clipRect(rect, op, antialias);
-}
-
-void RecordPaintCanvas::clipRRect(const SkRRect& rrect,
-                                  SkClipOp op,
-                                  bool antialias) {
-  // TODO(enne): does this happen? Should the caller know this?
-  if (rrect.isRect()) {
-    clipRect(rrect.getBounds(), op, antialias);
-    return;
-  }
-  buffer_->push<ClipRRectOp>(rrect, op, antialias);
-  canvas_.clipRRect(rrect, op, antialias);
-}
-
-void RecordPaintCanvas::clipPath(const SkPath& path,
-                                 SkClipOp op,
-                                 bool antialias) {
-  if (!path.isInverseFillType() && canvas_.getTotalMatrix().rectStaysRect()) {
-    // TODO(enne): do these cases happen? should the caller know that this isn't
-    // a path?
-    SkRect rect;
-    if (path.isRect(&rect)) {
-      clipRect(rect, op, antialias);
-      return;
-    }
-    SkRRect rrect;
-    if (path.isOval(&rect)) {
-      rrect.setOval(rect);
-      clipRRect(rrect, op, antialias);
-      return;
-    }
-    if (path.isRRect(&rrect)) {
-      clipRRect(rrect, op, antialias);
-      return;
-    }
-  }
-
-  buffer_->push<ClipPathOp>(path, op, antialias);
-  canvas_.clipPath(path, op, antialias);
-  return;
-}
-
-bool RecordPaintCanvas::quickReject(const SkRect& rect) const {
-  return canvas_.quickReject(rect);
-}
-
-bool RecordPaintCanvas::quickReject(const SkPath& path) const {
-  return canvas_.quickReject(path);
-}
-
-SkRect RecordPaintCanvas::getLocalClipBounds() const {
-  return canvas_.getLocalClipBounds();
-}
-
-bool RecordPaintCanvas::getLocalClipBounds(SkRect* bounds) const {
-  return canvas_.getLocalClipBounds(bounds);
-}
-
-SkIRect RecordPaintCanvas::getDeviceClipBounds() const {
-  return canvas_.getDeviceClipBounds();
-}
-
-bool RecordPaintCanvas::getDeviceClipBounds(SkIRect* bounds) const {
-  return canvas_.getDeviceClipBounds(bounds);
-}
-
-void RecordPaintCanvas::drawColor(SkColor color, SkBlendMode mode) {
-  buffer_->push<DrawColorOp>(color, mode);
-}
-
-void RecordPaintCanvas::clear(SkColor color) {
-  buffer_->push<DrawColorOp>(color, SkBlendMode::kSrc);
-}
-
-void RecordPaintCanvas::drawLine(SkScalar x0,
-                                 SkScalar y0,
-                                 SkScalar x1,
-                                 SkScalar y1,
-                                 const PaintFlags& flags) {
-  buffer_->push<DrawLineOp>(x0, y0, x1, y1, flags);
-}
-
-void RecordPaintCanvas::drawRect(const SkRect& rect, const PaintFlags& flags) {
-  buffer_->push<DrawRectOp>(rect, flags);
-}
-
-void RecordPaintCanvas::drawIRect(const SkIRect& rect,
-                                  const PaintFlags& flags) {
-  buffer_->push<DrawIRectOp>(rect, flags);
-}
-
-void RecordPaintCanvas::drawOval(const SkRect& oval, const PaintFlags& flags) {
-  buffer_->push<DrawOvalOp>(oval, flags);
-}
-
-void RecordPaintCanvas::drawRRect(const SkRRect& rrect,
-                                  const PaintFlags& flags) {
-  buffer_->push<DrawRRectOp>(rrect, flags);
-}
-
-void RecordPaintCanvas::drawDRRect(const SkRRect& outer,
-                                   const SkRRect& inner,
-                                   const PaintFlags& flags) {
-  if (outer.isEmpty())
-    return;
-  if (inner.isEmpty()) {
-    drawRRect(outer, flags);
-    return;
-  }
-  buffer_->push<DrawDRRectOp>(outer, inner, flags);
-}
-
-void RecordPaintCanvas::drawCircle(SkScalar cx,
-                                   SkScalar cy,
-                                   SkScalar radius,
-                                   const PaintFlags& flags) {
-  buffer_->push<DrawCircleOp>(cx, cy, radius, flags);
-}
-
-void RecordPaintCanvas::drawArc(const SkRect& oval,
-                                SkScalar start_angle,
-                                SkScalar sweep_angle,
-                                bool use_center,
-                                const PaintFlags& flags) {
-  buffer_->push<DrawArcOp>(oval, start_angle, sweep_angle, use_center, flags);
-}
-
-void RecordPaintCanvas::drawRoundRect(const SkRect& rect,
-                                      SkScalar rx,
-                                      SkScalar ry,
-                                      const PaintFlags& flags) {
-  // TODO(enne): move this into base class?
-  if (rx > 0 && ry > 0) {
-    SkRRect rrect;
-    rrect.setRectXY(rect, rx, ry);
-    drawRRect(rrect, flags);
-  } else {
-    drawRect(rect, flags);
-  }
-}
-
-void RecordPaintCanvas::drawPath(const SkPath& path, const PaintFlags& flags) {
-  buffer_->push<DrawPathOp>(path, flags);
-}
-
-void RecordPaintCanvas::drawImage(const PaintImage& image,
-                                  SkScalar left,
-                                  SkScalar top,
-                                  const PaintFlags* flags) {
-  buffer_->push<DrawImageOp>(image, left, top, flags);
-}
-
-void RecordPaintCanvas::drawImageRect(const PaintImage& image,
-                                      const SkRect& src,
-                                      const SkRect& dst,
-                                      const PaintFlags* flags,
-                                      SrcRectConstraint constraint) {
-  buffer_->push<DrawImageRectOp>(image, src, dst, flags, constraint);
-}
-
-void RecordPaintCanvas::drawBitmap(const SkBitmap& bitmap,
-                                   SkScalar left,
-                                   SkScalar top,
-                                   const PaintFlags* flags) {
-  // TODO(enne): Move into base class?
-  if (bitmap.drawsNothing())
-    return;
-  drawImage(PaintImage(SkImage::MakeFromBitmap(bitmap),
-                       PaintImage::AnimationType::UNKNOWN,
-                       PaintImage::CompletionState::UNKNOWN),
-            left, top, flags);
-}
-
-void RecordPaintCanvas::drawText(const void* text,
-                                 size_t byte_length,
-                                 SkScalar x,
-                                 SkScalar y,
-                                 const PaintFlags& flags) {
-  buffer_->push_with_data<DrawTextOp>(text, byte_length, x, y, flags);
-}
-
-void RecordPaintCanvas::drawPosText(const void* text,
-                                    size_t byte_length,
-                                    const SkPoint pos[],
-                                    const PaintFlags& flags) {
-  size_t count = ToSkPaint(flags).countText(text, byte_length);
-  buffer_->push_with_data_array<DrawPosTextOp>(text, byte_length, pos, count,
-                                               flags);
-}
-
-void RecordPaintCanvas::drawTextBlob(sk_sp<SkTextBlob> blob,
-                                     SkScalar x,
-                                     SkScalar y,
-                                     const PaintFlags& flags) {
-  buffer_->push<DrawTextBlobOp>(blob, x, y, flags);
-}
-
-void RecordPaintCanvas::drawDisplayItemList(
-    scoped_refptr<DisplayItemList> list) {
-  buffer_->push<DrawDisplayItemListOp>(list);
-}
-
-void RecordPaintCanvas::drawPicture(sk_sp<const PaintRecord> record) {
-  // TODO(enne): If this is small, maybe flatten it?
-  buffer_->push<DrawRecordOp>(record);
-}
-
-bool RecordPaintCanvas::isClipEmpty() const {
-  return canvas_.isClipEmpty();
-}
-
-bool RecordPaintCanvas::isClipRect() const {
-  return canvas_.isClipRect();
-}
-
-const SkMatrix& RecordPaintCanvas::getTotalMatrix() const {
-  return canvas_.getTotalMatrix();
-}
-
-void RecordPaintCanvas::temporary_internal_describeTopLayer(
-    SkMatrix* matrix,
-    SkIRect* clip_bounds) {
-  return canvas_.temporary_internal_describeTopLayer(matrix, clip_bounds);
-}
-
-bool RecordPaintCanvas::ToPixmap(SkPixmap* output) {
-  // TODO(enne): It'd be nice to make this NOTREACHED() or remove this from
-  // RecordPaintCanvas, but this is used by GraphicsContextCanvas for knowing
-  // whether or not it can raster directly into pixels with Cg.
-  return false;
-}
-
-void RecordPaintCanvas::Annotate(AnnotationType type,
-                                 const SkRect& rect,
-                                 sk_sp<SkData> data) {
-  buffer_->push<AnnotateOp>(type, rect, data);
-}
-
-void RecordPaintCanvas::PlaybackPaintRecord(sk_sp<const PaintRecord> record) {
-  drawPicture(record);
-}
-
-}  // namespace cc
diff --git a/cc/paint/record_paint_canvas.h b/cc/paint/record_paint_canvas.h
deleted file mode 100644
index 15f0102..0000000
--- a/cc/paint/record_paint_canvas.h
+++ /dev/null
@@ -1,160 +0,0 @@
-// 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 CC_PAINT_RECORD_PAINT_CANVAS_H_
-#define CC_PAINT_RECORD_PAINT_CANVAS_H_
-
-#include <memory>
-
-#include "base/compiler_specific.h"
-#include "base/logging.h"
-#include "base/macros.h"
-#include "build/build_config.h"
-#include "cc/paint/paint_canvas.h"
-#include "cc/paint/paint_flags.h"
-#include "cc/paint/paint_record.h"
-#include "third_party/skia/include/utils/SkNoDrawCanvas.h"
-
-namespace cc {
-
-class PaintOpBuffer;
-class PaintFlags;
-
-class CC_PAINT_EXPORT RecordPaintCanvas final : public PaintCanvas {
- public:
-  explicit RecordPaintCanvas(PaintOpBuffer* buffer, const SkRect& cull_rect);
-  ~RecordPaintCanvas() override;
-
-  SkMetaData& getMetaData() override;
-  SkImageInfo imageInfo() const override;
-
-  void flush() override;
-
-  SkISize getBaseLayerSize() const override;
-  bool writePixels(const SkImageInfo& info,
-                   const void* pixels,
-                   size_t row_bytes,
-                   int x,
-                   int y) override;
-  int save() override;
-  int saveLayer(const SkRect* bounds, const PaintFlags* flags) override;
-  int saveLayerAlpha(const SkRect* bounds, uint8_t alpha) override;
-
-  void restore() override;
-  int getSaveCount() const override;
-  void restoreToCount(int save_count) override;
-  void translate(SkScalar dx, SkScalar dy) override;
-  void scale(SkScalar sx, SkScalar sy) override;
-  void rotate(SkScalar degrees) override;
-  void concat(const SkMatrix& matrix) override;
-  void setMatrix(const SkMatrix& matrix) override;
-
-  void clipRect(const SkRect& rect, SkClipOp op, bool antialias) override;
-  void clipRRect(const SkRRect& rrect, SkClipOp op, bool antialias) override;
-  void clipPath(const SkPath& path, SkClipOp op, bool antialias) override;
-  bool quickReject(const SkRect& rect) const override;
-  bool quickReject(const SkPath& path) const override;
-  SkRect getLocalClipBounds() const override;
-  bool getLocalClipBounds(SkRect* bounds) const override;
-  SkIRect getDeviceClipBounds() const override;
-  bool getDeviceClipBounds(SkIRect* bounds) const override;
-  void drawColor(SkColor color, SkBlendMode mode) override;
-  void clear(SkColor color) override;
-
-  void drawLine(SkScalar x0,
-                SkScalar y0,
-                SkScalar x1,
-                SkScalar y1,
-                const PaintFlags& flags) override;
-  void drawRect(const SkRect& rect, const PaintFlags& flags) override;
-  void drawIRect(const SkIRect& rect, const PaintFlags& flags) override;
-  void drawOval(const SkRect& oval, const PaintFlags& flags) override;
-  void drawRRect(const SkRRect& rrect, const PaintFlags& flags) override;
-  void drawDRRect(const SkRRect& outer,
-                  const SkRRect& inner,
-                  const PaintFlags& flags) override;
-  void drawCircle(SkScalar cx,
-                  SkScalar cy,
-                  SkScalar radius,
-                  const PaintFlags& flags) override;
-  void drawArc(const SkRect& oval,
-               SkScalar start_angle,
-               SkScalar sweep_angle,
-               bool use_center,
-               const PaintFlags& flags) override;
-  void drawRoundRect(const SkRect& rect,
-                     SkScalar rx,
-                     SkScalar ry,
-                     const PaintFlags& flags) override;
-  void drawPath(const SkPath& path, const PaintFlags& flags) override;
-  void drawImage(const PaintImage& image,
-                 SkScalar left,
-                 SkScalar top,
-                 const PaintFlags* flags) override;
-  void drawImageRect(const PaintImage& image,
-                     const SkRect& src,
-                     const SkRect& dst,
-                     const PaintFlags* flags,
-                     SrcRectConstraint constraint) override;
-  void drawBitmap(const SkBitmap& bitmap,
-                  SkScalar left,
-                  SkScalar top,
-                  const PaintFlags* flags) override;
-
-  void drawText(const void* text,
-                size_t byte_length,
-                SkScalar x,
-                SkScalar y,
-                const PaintFlags& flags) override;
-  void drawPosText(const void* text,
-                   size_t byte_length,
-                   const SkPoint pos[],
-                   const PaintFlags& flags) override;
-  void drawTextBlob(sk_sp<SkTextBlob> blob,
-                    SkScalar x,
-                    SkScalar y,
-                    const PaintFlags& flags) override;
-
-  void drawDisplayItemList(
-      scoped_refptr<DisplayItemList> display_item_list) override;
-
-  void drawPicture(sk_sp<const PaintRecord> record) override;
-
-  bool isClipEmpty() const override;
-  bool isClipRect() const override;
-  const SkMatrix& getTotalMatrix() const override;
-
-  void temporary_internal_describeTopLayer(SkMatrix* matrix,
-                                           SkIRect* clip_bounds) override;
-
-  bool ToPixmap(SkPixmap* output) override;
-  void Annotate(AnnotationType type,
-                const SkRect& rect,
-                sk_sp<SkData> data) override;
-
-  void PlaybackPaintRecord(sk_sp<const PaintRecord> record) override;
-
-  // Don't shadow non-virtual helper functions.
-  using PaintCanvas::clipRect;
-  using PaintCanvas::clipRRect;
-  using PaintCanvas::clipPath;
-  using PaintCanvas::drawBitmap;
-  using PaintCanvas::drawColor;
-  using PaintCanvas::drawImage;
-  using PaintCanvas::drawPicture;
-
- private:
-  PaintOpBuffer* buffer_;
-
-  // TODO(enne): Although RecordPaintCanvas is mostly a write-only interface
-  // where paint commands are stored, occasionally users of PaintCanvas want
-  // to ask stateful questions mid-stream of clip and transform state.
-  // To avoid duplicating all this code (for now?), just forward to an SkCanvas
-  // that's not backed by anything but can answer these questions.
-  SkNoDrawCanvas canvas_;
-};
-
-}  // namespace cc
-
-#endif  // CC_PAINT_RECORD_PAINT_CANVAS_H_
diff --git a/cc/paint/skia_paint_canvas.cc b/cc/paint/skia_paint_canvas.cc
index 501ccdf..e29d816 100644
--- a/cc/paint/skia_paint_canvas.cc
+++ b/cc/paint/skia_paint_canvas.cc
@@ -2,7 +2,7 @@
 // Use of this source code is governed by a BSD-style license that can be
 // found in the LICENSE file.
 
-#include "cc/paint/skia_paint_canvas.h"
+#include "cc/paint/paint_canvas.h"
 
 #include "base/memory/ptr_util.h"
 #include "cc/paint/display_item_list.h"
@@ -58,7 +58,7 @@
   return canvas_->saveLayer(bounds, ToSkPaint(flags));
 }
 
-int SkiaPaintCanvas::saveLayerAlpha(const SkRect* bounds, uint8_t alpha) {
+int SkiaPaintCanvas::saveLayerAlpha(const SkRect* bounds, U8CPU alpha) {
   return canvas_->saveLayerAlpha(bounds, alpha);
 }
 
@@ -267,12 +267,6 @@
   return canvas_->getTotalMatrix();
 }
 
-void SkiaPaintCanvas::temporary_internal_describeTopLayer(
-    SkMatrix* matrix,
-    SkIRect* clip_bounds) {
-  return canvas_->temporary_internal_describeTopLayer(matrix, clip_bounds);
-}
-
 void SkiaPaintCanvas::PlaybackPaintRecord(sk_sp<const PaintRecord> record) {
   record->playback(canvas_);
 }
diff --git a/cc/paint/skia_paint_canvas.h b/cc/paint/skia_paint_canvas.h
index 1bd23f0..c1decfc7 100644
--- a/cc/paint/skia_paint_canvas.h
+++ b/cc/paint/skia_paint_canvas.h
@@ -46,7 +46,7 @@
                    int y) override;
   int save() override;
   int saveLayer(const SkRect* bounds, const PaintFlags* flags) override;
-  int saveLayerAlpha(const SkRect* bounds, uint8_t alpha) override;
+  int saveLayerAlpha(const SkRect* bounds, U8CPU alpha) override;
 
   void restore() override;
   int getSaveCount() const override;
@@ -134,9 +134,6 @@
   bool isClipRect() const override;
   const SkMatrix& getTotalMatrix() const override;
 
-  void temporary_internal_describeTopLayer(SkMatrix* matrix,
-                                           SkIRect* clip_bounds) override;
-
   bool ToPixmap(SkPixmap* output) override;
   void Annotate(AnnotationType type,
                 const SkRect& rect,
diff --git a/cc/surfaces/surface_aggregator.cc b/cc/surfaces/surface_aggregator.cc
index a5e31dd..91beec72 100644
--- a/cc/surfaces/surface_aggregator.cc
+++ b/cc/surfaces/surface_aggregator.cc
@@ -144,8 +144,7 @@
 }
 
 int SurfaceAggregator::ChildIdForSurface(Surface* surface) {
-  SurfaceToResourceChildIdMap::iterator it =
-      surface_id_to_resource_child_id_.find(surface->surface_id());
+  auto it = surface_id_to_resource_child_id_.find(surface->surface_id());
   if (it == surface_id_to_resource_child_id_.end()) {
     int child_id =
         provider_->CreateChild(base::Bind(&UnrefHelper, surface->factory()));
@@ -239,7 +238,7 @@
     return;
   }
 
-  SurfaceSet::iterator it = referenced_surfaces_.insert(surface_id).first;
+  referenced_surfaces_.insert(surface_id);
   // TODO(vmpstr): provider check is a hack for unittests that don't set up a
   // resource provider.
   ResourceProvider::ResourceIdMap empty_map;
@@ -337,7 +336,8 @@
                  gfx::RectF(surface_quad->rect));
   }
 
-  referenced_surfaces_.erase(it);
+  // Need to re-query since referenced_surfaces_ iterators are not stable.
+  referenced_surfaces_.erase(referenced_surfaces_.find(surface_id));
 }
 
 void SurfaceAggregator::AddColorConversionPass() {
@@ -568,8 +568,7 @@
   for (const auto& surface : previous_contained_surfaces_) {
     if (!contained_surfaces_.count(surface.first)) {
       // Release resources of removed surface.
-      SurfaceToResourceChildIdMap::iterator it =
-          surface_id_to_resource_child_id_.find(surface.first);
+      auto it = surface_id_to_resource_child_id_.find(surface.first);
       if (it != surface_id_to_resource_child_id_.end()) {
         provider_->DestroyChild(it->second);
         surface_id_to_resource_child_id_.erase(it);
@@ -653,13 +652,18 @@
   };
   std::vector<SurfaceInfo> child_surfaces;
 
-  std::unordered_set<int> pixel_moving_background_filter_passes;
+  // This data is created once and typically small or empty. Collect all items
+  // and pass to a flat_vector to sort once.
+  std::vector<int> pixel_moving_background_filter_passes_data;
   for (const auto& render_pass : frame.render_pass_list) {
     if (render_pass->background_filters.HasFilterThatMovesPixels()) {
-      pixel_moving_background_filter_passes.insert(
+      pixel_moving_background_filter_passes_data.push_back(
           RemapPassId(render_pass->id, surface_id));
     }
   }
+  base::flat_set<int> pixel_moving_background_filter_passes(
+      std::move(pixel_moving_background_filter_passes_data),
+      base::KEEP_FIRST_OF_DUPES);
 
   for (const auto& render_pass : base::Reversed(frame.render_pass_list)) {
     int remapped_pass_id = RemapPassId(render_pass->id, surface_id);
@@ -728,8 +732,7 @@
 
   // Avoid infinite recursion by adding current surface to
   // referenced_surfaces_.
-  SurfaceSet::iterator it =
-      referenced_surfaces_.insert(surface->surface_id()).first;
+  referenced_surfaces_.insert(surface->surface_id());
   for (const auto& surface_info : child_surfaces) {
     gfx::Rect surface_damage =
         PrewalkTree(surface_info.id, surface_info.has_moved_pixels,
@@ -769,7 +772,7 @@
     }
   }
 
-  referenced_surfaces_.erase(it);
+  referenced_surfaces_.erase(referenced_surfaces_.find(surface->surface_id()));
   if (!damage_rect.IsEmpty() && frame.metadata.may_contain_video)
     result->may_contain_video = true;
   return damage_rect;
@@ -810,7 +813,7 @@
         }
       }
     } else {
-      SurfaceSet::iterator it = referenced_surfaces_.insert(surface_id).first;
+      auto it = referenced_surfaces_.insert(surface_id).first;
       CopyPasses(frame, surface);
       referenced_surfaces_.erase(it);
     }
@@ -860,7 +863,7 @@
   frame.metadata.may_contain_video = prewalk_result.may_contain_video;
 
   CopyUndrawnSurfaces(&prewalk_result);
-  SurfaceSet::iterator it = referenced_surfaces_.insert(surface_id).first;
+  auto it = referenced_surfaces_.insert(surface_id).first;
   CopyPasses(root_surface_frame, surface);
   referenced_surfaces_.erase(it);
   AddColorConversionPass();
@@ -890,10 +893,8 @@
   contained_surfaces_.swap(previous_contained_surfaces_);
   contained_surfaces_.clear();
 
-  for (SurfaceIndexMap::iterator it = previous_contained_surfaces_.begin();
-       it != previous_contained_surfaces_.end();
-       ++it) {
-    Surface* surface = manager_->GetSurfaceForId(it->first);
+  for (auto it : previous_contained_surfaces_) {
+    Surface* surface = manager_->GetSurfaceForId(it.first);
     if (surface)
       surface->TakeLatencyInfo(&frame.metadata.latency_info);
   }
@@ -914,8 +915,7 @@
 }
 
 void SurfaceAggregator::ReleaseResources(const SurfaceId& surface_id) {
-  SurfaceToResourceChildIdMap::iterator it =
-      surface_id_to_resource_child_id_.find(surface_id);
+  auto it = surface_id_to_resource_child_id_.find(surface_id);
   if (it != surface_id_to_resource_child_id_.end()) {
     provider_->DestroyChild(it->second);
     surface_id_to_resource_child_id_.erase(it);
diff --git a/cc/surfaces/surface_aggregator.h b/cc/surfaces/surface_aggregator.h
index ec69f5d..5fe0c3d7 100644
--- a/cc/surfaces/surface_aggregator.h
+++ b/cc/surfaces/surface_aggregator.h
@@ -5,12 +5,10 @@
 #ifndef CC_SURFACES_SURFACE_AGGREGATOR_H_
 #define CC_SURFACES_SURFACE_AGGREGATOR_H_
 
-#include <map>
 #include <memory>
-#include <set>
-#include <unordered_map>
-#include <unordered_set>
 
+#include "base/containers/flat_map.h"
+#include "base/containers/flat_set.h"
 #include "base/macros.h"
 #include "base/memory/weak_ptr.h"
 #include "cc/quads/draw_quad.h"
@@ -30,7 +28,7 @@
 
 class CC_SURFACES_EXPORT SurfaceAggregator {
  public:
-  using SurfaceIndexMap = std::unordered_map<SurfaceId, int, SurfaceIdHash>;
+  using SurfaceIndexMap = base::flat_map<SurfaceId, int>;
 
   SurfaceAggregator(SurfaceManager* manager,
                     ResourceProvider* provider,
@@ -65,7 +63,7 @@
     ~PrewalkResult();
     // This is the set of Surfaces that were referenced by another Surface, but
     // not included in a SurfaceDrawQuad.
-    std::set<SurfaceId> undrawn_surfaces;
+    base::flat_set<SurfaceId> undrawn_surfaces;
     bool may_contain_video = false;
   };
 
@@ -145,9 +143,8 @@
   // each source (SurfaceId, RenderPass id) to a unified ID namespace that's
   // used in the aggregated frame. An entry is removed from the map if it's not
   // used for one output frame.
-  using RenderPassIdAllocatorMap =
-      std::map<std::pair<SurfaceId, int>, RenderPassInfo>;
-  RenderPassIdAllocatorMap render_pass_allocator_map_;
+  base::flat_map<std::pair<SurfaceId, int>, RenderPassInfo>
+      render_pass_allocator_map_;
   int next_render_pass_id_;
   const bool aggregate_only_damaged_;
   bool output_is_secure_;
@@ -162,9 +159,7 @@
   // The id for the final color conversion render pass.
   int color_conversion_render_pass_id_ = 0;
 
-  using SurfaceToResourceChildIdMap =
-      std::unordered_map<SurfaceId, int, SurfaceIdHash>;
-  SurfaceToResourceChildIdMap surface_id_to_resource_child_id_;
+  base::flat_map<SurfaceId, int> surface_id_to_resource_child_id_;
 
   // The following state is only valid for the duration of one Aggregate call
   // and is only stored on the class to avoid having to pass through every
@@ -172,8 +167,7 @@
 
   // This is the set of surfaces referenced in the aggregation so far, used to
   // detect cycles.
-  using SurfaceSet = std::set<SurfaceId>;
-  SurfaceSet referenced_surfaces_;
+  base::flat_set<SurfaceId> referenced_surfaces_;
 
   // For each Surface used in the last aggregation, gives the frame_index at
   // that time.
@@ -181,22 +175,22 @@
   SurfaceIndexMap contained_surfaces_;
 
   // After surface validation, every Surface in this set is valid.
-  std::unordered_set<SurfaceId, SurfaceIdHash> valid_surfaces_;
+  base::flat_set<SurfaceId> valid_surfaces_;
 
   // This is the pass list for the aggregated frame.
   RenderPassList* dest_pass_list_;
 
   // This is the set of aggregated pass ids that are affected by filters that
   // move pixels.
-  std::unordered_set<int> moved_pixel_passes_;
+  base::flat_set<int> moved_pixel_passes_;
 
   // This is the set of aggregated pass ids that are drawn by copy requests, so
   // should not have their damage rects clipped to the root damage rect.
-  std::unordered_set<int> copy_request_passes_;
+  base::flat_set<int> copy_request_passes_;
 
   // This maps each aggregated pass id to the set of (aggregated) pass ids
   // that its RenderPassDrawQuads depend on
-  std::unordered_map<int, std::unordered_set<int>> render_pass_dependencies_;
+  base::flat_map<int, base::flat_set<int>> render_pass_dependencies_;
 
   // The root damage rect of the currently-aggregating frame.
   gfx::Rect root_damage_rect_;
diff --git a/cc/test/test_skcanvas.cc b/cc/test/test_skcanvas.cc
deleted file mode 100644
index e45f42de..0000000
--- a/cc/test/test_skcanvas.cc
+++ /dev/null
@@ -1,26 +0,0 @@
-// 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 "cc/test/test_skcanvas.h"
-
-namespace cc {
-
-SaveCountingCanvas::SaveCountingCanvas() : SkNoDrawCanvas(100, 100) {}
-
-SkCanvas::SaveLayerStrategy SaveCountingCanvas::getSaveLayerStrategy(
-    const SaveLayerRec& rec) {
-  save_count_++;
-  return SkNoDrawCanvas::getSaveLayerStrategy(rec);
-}
-
-void SaveCountingCanvas::willRestore() {
-  restore_count_++;
-}
-
-void SaveCountingCanvas::onDrawRect(const SkRect& rect, const SkPaint& paint) {
-  draw_rect_ = rect;
-  paint_ = paint;
-}
-
-}  // namespace cc
diff --git a/cc/test/test_skcanvas.h b/cc/test/test_skcanvas.h
deleted file mode 100644
index 2b130a4..0000000
--- a/cc/test/test_skcanvas.h
+++ /dev/null
@@ -1,31 +0,0 @@
-// 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 CC_TEST_TEST_SKCANVAS_H_
-#define CC_TEST_TEST_SKCANVAS_H_
-
-#include "third_party/skia/include/core/SkCanvas.h"
-#include "third_party/skia/include/utils/SkNoDrawCanvas.h"
-
-namespace cc {
-
-class SaveCountingCanvas : public SkNoDrawCanvas {
- public:
-  SaveCountingCanvas();
-
-  // Note: getSaveLayerStrategy is used as "willSave", as willSave
-  // is not always called.
-  SaveLayerStrategy getSaveLayerStrategy(const SaveLayerRec& rec) override;
-  void willRestore() override;
-  void onDrawRect(const SkRect& rect, const SkPaint& paint) override;
-
-  int save_count_ = 0;
-  int restore_count_ = 0;
-  SkRect draw_rect_;
-  SkPaint paint_;
-};
-
-}  // namespace cc
-
-#endif  // CC_TEST_TEST_SKCANVAS_H_
diff --git a/cc/trees/damage_tracker.cc b/cc/trees/damage_tracker.cc
index aa4a6236..4ce0dca 100644
--- a/cc/trees/damage_tracker.cc
+++ b/cc/trees/damage_tracker.cc
@@ -14,6 +14,7 @@
 #include "cc/layers/heads_up_display_layer_impl.h"
 #include "cc/layers/layer_impl.h"
 #include "cc/layers/render_surface_impl.h"
+#include "cc/trees/effect_node.h"
 #include "cc/trees/layer_tree_host_common.h"
 #include "cc/trees/layer_tree_impl.h"
 #include "ui/gfx/geometry/rect_conversions.h"
@@ -29,18 +30,14 @@
 
 DamageTracker::~DamageTracker() {}
 
-void DamageTracker::UpdateDamageTrackingState(
-    const LayerImplList& layer_list,
-    const RenderSurfaceImpl* target_surface,
-    bool target_surface_property_changed_only_from_descendant,
-    const gfx::Rect& target_surface_content_rect,
-    LayerImpl* target_surface_mask_layer,
-    const FilterOperations& filters) {
+void DamageTracker::UpdateDamageTracking(
+    LayerTreeImpl* layer_tree_impl,
+    const LayerImplList& render_surface_list) {
   //
-  // This function computes the "damage rect" of a target surface, and updates
-  // the state that is used to correctly track damage across frames. The damage
-  // rect is the region of the surface that may have changed and needs to be
-  // redrawn. This can be used to scissor what is actually drawn, to save GPU
+  // This function computes the "damage rect" of each target surface, and
+  // updates the state that is used to correctly track damage across frames. The
+  // damage rect is the region of the surface that may have changed and needs to
+  // be redrawn. This can be used to scissor what is actually drawn, to save GPU
   // computation and bandwidth.
   //
   // The surface's damage rect is computed as the union of all possible changes
@@ -52,25 +49,30 @@
   //
   // The basic algorithm for computing the damage region is as follows:
   //
-  //   1. compute damage caused by changes in active/new layers
-  //       for each layer in the layer_list:
-  //           if the layer is actually a render_surface:
-  //               add the surface's damage to our target surface.
-  //           else
-  //               add the layer's damage to the target surface.
+  //   1. compute damage caused by changes in contributing layers or surfaces
+  //       for each contributing layer or render surface:
+  //           add the layer's or surface's damage to the target surface.
   //
   //   2. compute damage caused by the target surface's mask, if it exists.
   //
   //   3. compute damage caused by old layers/surfaces that no longer exist
-  //       for each leftover layer:
+  //       for each leftover layer or render surface:
   //           add the old layer/surface bounds to the target surface damage.
   //
   //   4. combine all partial damage rects to get the full damage rect.
   //
   // Additional important points:
   //
-  // - This algorithm is implicitly recursive; it assumes that descendant
-  //   surfaces have already computed their damage.
+  // - This algorithm requires that descendant surfaces compute their damage
+  //   before ancestor surfaces. Further, since contributing surfaces with
+  //   background filters can expand the damage caused by contributors
+  //   underneath them (that is, before them in draw order), the exact damage
+  //   caused by these contributors must be computed before computing the damage
+  //   caused by the contributing surface. This is implemented by visiting
+  //   layers in draw order, computing the damage caused by each one to their
+  //   target; during this walk, as soon as all of a surface's contributors have
+  //   been visited, the surface's own damage is computed and then added to its
+  //   target's accumulated damage.
   //
   // - Changes to layers/surfaces indicate "damage" to the target surface; If a
   //   layer is not changed, it does NOT mean that the layer can skip drawing.
@@ -104,40 +106,98 @@
   //         erased from map.
   //
 
-  PrepareRectHistoryForUpdate();
+  for (LayerImpl* layer : render_surface_list) {
+    layer->GetRenderSurface()->damage_tracker()->PrepareForUpdate();
+  }
+
+  EffectTree& effect_tree = layer_tree_impl->property_trees()->effect_tree;
+  int current_target_effect_id = EffectTree::kContentsRootNodeId;
+  DCHECK(effect_tree.GetRenderSurface(current_target_effect_id));
+  for (LayerImpl* layer : *layer_tree_impl) {
+    if (!layer->is_drawn_render_surface_layer_list_member())
+      continue;
+
+    int next_target_effect_id = layer->render_target_effect_tree_index();
+    if (next_target_effect_id != current_target_effect_id) {
+      int lowest_common_ancestor_id =
+          effect_tree.LowestCommonAncestorWithRenderSurface(
+              current_target_effect_id, next_target_effect_id);
+      while (current_target_effect_id != lowest_common_ancestor_id) {
+        // Moving to a non-descendant target surface. This implies that the
+        // current target doesn't have any more contributors, since only
+        // descendants can contribute to a target, and the each's target's
+        // content (including content contributed by descendants) is contiguous
+        // in draw order.
+        RenderSurfaceImpl* current_target =
+            effect_tree.GetRenderSurface(current_target_effect_id);
+        current_target->damage_tracker()->ComputeSurfaceDamage(current_target);
+        RenderSurfaceImpl* parent_target = current_target->render_target();
+        parent_target->damage_tracker()->AccumulateDamageFromRenderSurface(
+            current_target);
+        current_target_effect_id =
+            effect_tree.Node(current_target_effect_id)->target_id;
+      }
+      current_target_effect_id = next_target_effect_id;
+    }
+
+    RenderSurfaceImpl* target_surface = layer->render_target();
+
+    // We skip damage from the HUD layer because (a) the HUD layer damages the
+    // whole frame and (b) we don't want HUD layer damage to be shown by the
+    // HUD damage rect visualization.
+    if (layer != layer_tree_impl->hud_layer()) {
+      target_surface->damage_tracker()->AccumulateDamageFromLayer(layer);
+    }
+  }
+
+  DCHECK_GE(current_target_effect_id, EffectTree::kContentsRootNodeId);
+  RenderSurfaceImpl* current_target =
+      effect_tree.GetRenderSurface(current_target_effect_id);
+  while (true) {
+    current_target->damage_tracker()->ComputeSurfaceDamage(current_target);
+    if (current_target->EffectTreeIndex() == EffectTree::kContentsRootNodeId)
+      break;
+    RenderSurfaceImpl* next_target = current_target->render_target();
+    next_target->damage_tracker()->AccumulateDamageFromRenderSurface(
+        current_target);
+    current_target = next_target;
+  }
+}
+
+void DamageTracker::ComputeSurfaceDamage(RenderSurfaceImpl* render_surface) {
+  // All damage from contributing layers and surfaces must already have been
+  // added to damage_for_this_update_ through calls to AccumulateDamageFromLayer
+  // and AccumulateDamageFromRenderSurface.
+
   // These functions cannot be bypassed with early-exits, even if we know what
   // the damage will be for this frame, because we need to update the damage
   // tracker state to correctly track the next frame.
-  DamageAccumulator damage_from_active_layers =
-      TrackDamageFromActiveLayers(layer_list, target_surface);
   DamageAccumulator damage_from_surface_mask =
-      TrackDamageFromSurfaceMask(target_surface_mask_layer);
+      TrackDamageFromSurfaceMask(render_surface->MaskLayer());
   DamageAccumulator damage_from_leftover_rects = TrackDamageFromLeftoverRects();
 
-  DamageAccumulator damage_for_this_update;
-
-  if (target_surface_property_changed_only_from_descendant) {
-    damage_for_this_update.Union(target_surface_content_rect);
+  if (render_surface->SurfacePropertyChangedOnlyFromDescendant()) {
+    damage_for_this_update_ = DamageAccumulator();
+    damage_for_this_update_.Union(render_surface->content_rect());
   } else {
     // TODO(shawnsingh): can we clamp this damage to the surface's content rect?
     // (affects performance, but not correctness)
-    damage_for_this_update.Union(damage_from_active_layers);
-    damage_for_this_update.Union(damage_from_surface_mask);
-    damage_for_this_update.Union(damage_from_leftover_rects);
+    damage_for_this_update_.Union(damage_from_surface_mask);
+    damage_for_this_update_.Union(damage_from_leftover_rects);
 
     gfx::Rect damage_rect;
-    bool is_rect_valid = damage_for_this_update.GetAsRect(&damage_rect);
+    bool is_rect_valid = damage_for_this_update_.GetAsRect(&damage_rect);
     if (is_rect_valid) {
-      damage_rect =
-          filters.MapRect(damage_rect, target_surface->SurfaceScale().matrix());
-      damage_for_this_update = DamageAccumulator();
-      damage_for_this_update.Union(damage_rect);
+      damage_rect = render_surface->Filters().MapRect(
+          damage_rect, render_surface->SurfaceScale().matrix());
+      damage_for_this_update_ = DamageAccumulator();
+      damage_for_this_update_.Union(damage_rect);
     }
   }
 
   // Damage accumulates until we are notified that we actually did draw on that
   // frame.
-  current_damage_.Union(damage_for_this_update);
+  current_damage_.Union(damage_for_this_update_);
 }
 
 bool DamageTracker::GetDamageRectIfValid(gfx::Rect* rect) {
@@ -177,31 +237,6 @@
   return *it;
 }
 
-DamageTracker::DamageAccumulator DamageTracker::TrackDamageFromActiveLayers(
-    const LayerImplList& layer_list,
-    const RenderSurfaceImpl* target_surface) {
-  DamageAccumulator damage;
-
-  for (size_t layer_index = 0; layer_index < layer_list.size(); ++layer_index) {
-    // Visit layers in back-to-front order.
-    LayerImpl* layer = layer_list[layer_index];
-
-    // We skip damage from the HUD layer because (a) the HUD layer damages the
-    // whole frame and (b) we don't want HUD layer damage to be shown by the
-    // HUD damage rect visualization.
-    if (layer == layer->layer_tree_impl()->hud_layer())
-      continue;
-
-    RenderSurfaceImpl* render_surface = layer->GetRenderSurface();
-    if (render_surface && render_surface != target_surface)
-      ExtendDamageForRenderSurface(render_surface, &damage);
-    else
-      ExtendDamageForLayer(layer, &damage);
-  }
-
-  return damage;
-}
-
 DamageTracker::DamageAccumulator DamageTracker::TrackDamageFromSurfaceMask(
     LayerImpl* target_surface_mask_layer) {
   DamageAccumulator damage;
@@ -220,8 +255,9 @@
   return damage;
 }
 
-void DamageTracker::PrepareRectHistoryForUpdate() {
+void DamageTracker::PrepareForUpdate() {
   mailboxId_++;
+  damage_for_this_update_ = DamageAccumulator();
 }
 
 DamageTracker::DamageAccumulator DamageTracker::TrackDamageFromLeftoverRects() {
@@ -292,12 +328,11 @@
 
 void DamageTracker::ExpandDamageInsideRectWithFilters(
     const gfx::Rect& pre_filter_rect,
-    const FilterOperations& filters,
-    DamageAccumulator* damage) {
+    const FilterOperations& filters) {
   gfx::Rect damage_rect;
-  bool is_valid_rect = damage->GetAsRect(&damage_rect);
-  // If the input isn't a valid rect, then there is no point in trying to make
-  // it bigger.
+  bool is_valid_rect = damage_for_this_update_.GetAsRect(&damage_rect);
+  // If the damage accumulated so far isn't a valid rect, then there is no point
+  // in trying to make it bigger.
   if (!is_valid_rect)
     return;
 
@@ -308,11 +343,10 @@
   // Restrict it to the rectangle in which the background filter is shown.
   expanded_damage_rect.Intersect(pre_filter_rect);
 
-  damage->Union(expanded_damage_rect);
+  damage_for_this_update_.Union(expanded_damage_rect);
 }
 
-void DamageTracker::ExtendDamageForLayer(LayerImpl* layer,
-                                         DamageAccumulator* target_damage) {
+void DamageTracker::AccumulateDamageFromLayer(LayerImpl* layer) {
   // There are two ways that a layer can damage a region of the target surface:
   //   1. Property change (e.g. opacity, position, transforms):
   //        - the entire region of the layer itself damages the surface.
@@ -341,11 +375,11 @@
   if (layer_is_new || layer->LayerPropertyChanged()) {
     // If a layer is new or has changed, then its entire layer rect affects the
     // target surface.
-    target_damage->Union(rect_in_target_space);
+    damage_for_this_update_.Union(rect_in_target_space);
 
     // The layer's old region is now exposed on the target surface, too.
     // Note old_rect_in_target_space is already in target space.
-    target_damage->Union(old_rect_in_target_space);
+    damage_for_this_update_.Union(old_rect_in_target_space);
     return;
   }
 
@@ -357,13 +391,12 @@
   if (!damage_rect.IsEmpty()) {
     gfx::Rect damage_rect_in_target_space =
         MathUtil::MapEnclosingClippedRect(layer->DrawTransform(), damage_rect);
-    target_damage->Union(damage_rect_in_target_space);
+    damage_for_this_update_.Union(damage_rect_in_target_space);
   }
 }
 
-void DamageTracker::ExtendDamageForRenderSurface(
-    RenderSurfaceImpl* render_surface,
-    DamageAccumulator* target_damage) {
+void DamageTracker::AccumulateDamageFromRenderSurface(
+    RenderSurfaceImpl* render_surface) {
   // There are two ways a "descendant surface" can damage regions of the "target
   // surface":
   //   1. Property change:
@@ -390,10 +423,10 @@
 
   if (surface_is_new || render_surface->SurfacePropertyChanged()) {
     // The entire surface contributes damage.
-    target_damage->Union(surface_rect_in_target_space);
+    damage_for_this_update_.Union(surface_rect_in_target_space);
 
     // The surface's old region is now exposed on the target surface, too.
-    target_damage->Union(old_surface_rect);
+    damage_for_this_update_.Union(old_surface_rect);
   } else {
     // Only the surface's damage_rect will damage the target surface.
     gfx::Rect damage_rect_in_local_space;
@@ -405,9 +438,9 @@
       const gfx::Transform& draw_transform = render_surface->draw_transform();
       gfx::Rect damage_rect_in_target_space = MathUtil::MapEnclosingClippedRect(
           draw_transform, damage_rect_in_local_space);
-      target_damage->Union(damage_rect_in_target_space);
+      damage_for_this_update_.Union(damage_rect_in_target_space);
     } else if (!is_valid_rect) {
-      target_damage->Union(surface_rect_in_target_space);
+      damage_for_this_update_.Union(surface_rect_in_target_space);
     }
   }
 
@@ -421,7 +454,7 @@
       render_surface->BackgroundFilters();
   if (background_filters.HasFilterThatMovesPixels()) {
     ExpandDamageInsideRectWithFilters(surface_rect_in_target_space,
-                                      background_filters, target_damage);
+                                      background_filters);
   }
 }
 
diff --git a/cc/trees/damage_tracker.h b/cc/trees/damage_tracker.h
index 6ddc504..c6d2446b 100644
--- a/cc/trees/damage_tracker.h
+++ b/cc/trees/damage_tracker.h
@@ -21,6 +21,7 @@
 
 class FilterOperations;
 class LayerImpl;
+class LayerTreeImpl;
 class RenderSurfaceImpl;
 
 // Computes the region where pixels have actually changed on a
@@ -31,15 +32,11 @@
   static std::unique_ptr<DamageTracker> Create();
   ~DamageTracker();
 
+  static void UpdateDamageTracking(LayerTreeImpl* layer_tree_impl,
+                                   const LayerImplList& render_surface_list);
+
   void DidDrawDamagedArea() { current_damage_ = DamageAccumulator(); }
   void AddDamageNextUpdate(const gfx::Rect& dmg) { current_damage_.Union(dmg); }
-  void UpdateDamageTrackingState(
-      const LayerImplList& layer_list,
-      const RenderSurfaceImpl* target_surface,
-      bool target_surface_property_changed_only_from_descendant,
-      const gfx::Rect& target_surface_content_rect,
-      LayerImpl* target_surface_mask_layer,
-      const FilterOperations& filters);
 
   bool GetDamageRectIfValid(gfx::Rect* rect);
 
@@ -84,21 +81,17 @@
     int bottom_ = 0;
   };
 
-  DamageAccumulator TrackDamageFromActiveLayers(
-      const LayerImplList& layer_list,
-      const RenderSurfaceImpl* target_surface);
   DamageAccumulator TrackDamageFromSurfaceMask(
       LayerImpl* target_surface_mask_layer);
   DamageAccumulator TrackDamageFromLeftoverRects();
-  void PrepareRectHistoryForUpdate();
 
-  // These helper functions are used only in TrackDamageFromActiveLayers().
-  void ExtendDamageForLayer(LayerImpl* layer, DamageAccumulator* target_damage);
-  void ExtendDamageForRenderSurface(RenderSurfaceImpl* render_surface,
-                                    DamageAccumulator* target_damage);
+  // These helper functions are used only during UpdateDamageTracking().
+  void PrepareForUpdate();
+  void AccumulateDamageFromLayer(LayerImpl* layer);
+  void AccumulateDamageFromRenderSurface(RenderSurfaceImpl* render_surface);
+  void ComputeSurfaceDamage(RenderSurfaceImpl* render_surface);
   void ExpandDamageInsideRectWithFilters(const gfx::Rect& pre_filter_rect,
-                                         const FilterOperations& filters,
-                                         DamageAccumulator* damage);
+                                         const FilterOperations& filters);
 
   struct LayerRectMapData {
     LayerRectMapData() : layer_id_(0), mailboxId_(0) {}
@@ -147,6 +140,9 @@
   unsigned int mailboxId_;
   DamageAccumulator current_damage_;
 
+  // Damage accumulated since the last call to PrepareForUpdate().
+  DamageAccumulator damage_for_this_update_;
+
   DISALLOW_COPY_AND_ASSIGN(DamageTracker);
 };
 
diff --git a/cc/trees/damage_tracker_unittest.cc b/cc/trees/damage_tracker_unittest.cc
index 91cec6d..c633067 100644
--- a/cc/trees/damage_tracker_unittest.cc
+++ b/cc/trees/damage_tracker_unittest.cc
@@ -57,19 +57,8 @@
   ExecuteCalculateDrawProperties(root, device_scale_factor,
                                  &render_surface_layer_list);
 
-  // Iterate back-to-front, so that damage correctly propagates from descendant
-  // surfaces to ancestors.
-  size_t render_surface_layer_list_size = render_surface_layer_list.size();
-  for (size_t i = 0; i < render_surface_layer_list_size; ++i) {
-    size_t index = render_surface_layer_list_size - 1 - i;
-    RenderSurfaceImpl* target_surface =
-        render_surface_layer_list[index]->GetRenderSurface();
-    target_surface->damage_tracker()->UpdateDamageTrackingState(
-        target_surface->layer_list(), target_surface,
-        target_surface->SurfacePropertyChangedOnlyFromDescendant(),
-        target_surface->content_rect(), target_surface->MaskLayer(),
-        target_surface->Filters());
-  }
+  DamageTracker::UpdateDamageTracking(root->layer_tree_impl(),
+                                      render_surface_layer_list);
 
   root->layer_tree_impl()->ResetAllChangeTracking();
 }
@@ -1344,10 +1333,7 @@
   EXPECT_EQ(gfx::Rect(30, 31, 14, 15).ToString(), root_damage_rect.ToString());
 }
 
-TEST_F(DamageTrackerTest, VerifyDamageForEmptyLayerList) {
-  // Though it should never happen, its a good idea to verify that the damage
-  // tracker does not crash when it receives an empty layer_list.
-
+TEST_F(DamageTrackerTest, VerifyDamageWithNoContributingLayers) {
   std::unique_ptr<LayerImpl> root =
       LayerImpl::Create(host_impl_.active_tree(), 1);
   root->test_properties()->force_render_surface = true;
@@ -1358,11 +1344,6 @@
 
   DCHECK_EQ(root_ptr->GetRenderSurface(), root_ptr->render_target());
   RenderSurfaceImpl* target_surface = root_ptr->GetRenderSurface();
-
-  LayerImplList empty_list;
-  target_surface->damage_tracker()->UpdateDamageTrackingState(
-      empty_list, target_surface, false, gfx::Rect(), NULL, FilterOperations());
-
   gfx::Rect damage_rect;
   EXPECT_TRUE(
       target_surface->damage_tracker()->GetDamageRectIfValid(&damage_rect));
@@ -1530,15 +1511,11 @@
   LayerImplList render_surface_layer_list;
   ExecuteCalculateDrawProperties(root, device_scale_factor,
                                  &render_surface_layer_list);
-
-  auto* surface = child1->GetRenderSurface();
-  surface->damage_tracker()->UpdateDamageTrackingState(
-      surface->layer_list(), surface, false, surface->content_rect(),
-      surface->MaskLayer(), surface->Filters());
-  surface = root->GetRenderSurface();
-  surface->damage_tracker()->UpdateDamageTrackingState(
-      surface->layer_list(), surface, false, surface->content_rect(),
-      surface->MaskLayer(), surface->Filters());
+  // Avoid the descendant-only property change path that skips unioning damage
+  // from descendant layers.
+  child1->GetRenderSurface()->NoteAncestorPropertyChanged();
+  DamageTracker::UpdateDamageTracking(host_impl_.active_tree(),
+                                      render_surface_layer_list);
 
   // The expected damage would be too large to store in a gfx::Rect, so we
   // should damage everything on child1.
@@ -1568,14 +1545,8 @@
   render_surface_layer_list.clear();
   ExecuteCalculateDrawProperties(root, device_scale_factor,
                                  &render_surface_layer_list);
-  surface = child1->GetRenderSurface();
-  surface->damage_tracker()->UpdateDamageTrackingState(
-      surface->layer_list(), surface, false, surface->content_rect(),
-      surface->MaskLayer(), surface->Filters());
-  surface = root->GetRenderSurface();
-  surface->damage_tracker()->UpdateDamageTrackingState(
-      surface->layer_list(), surface, false, surface->content_rect(),
-      surface->MaskLayer(), surface->Filters());
+  DamageTracker::UpdateDamageTracking(host_impl_.active_tree(),
+                                      render_surface_layer_list);
 
   // Child1 should still not have a valid rect, since the union of the damage of
   // its children is not representable by a single rect.
@@ -1624,15 +1595,11 @@
   LayerImplList render_surface_layer_list;
   ExecuteCalculateDrawProperties(root, device_scale_factor,
                                  &render_surface_layer_list);
-
-  auto* surface = child1->GetRenderSurface();
-  surface->damage_tracker()->UpdateDamageTrackingState(
-      surface->layer_list(), surface, false, surface->content_rect(),
-      surface->MaskLayer(), surface->Filters());
-  surface = root->GetRenderSurface();
-  surface->damage_tracker()->UpdateDamageTrackingState(
-      surface->layer_list(), surface, false, surface->content_rect(),
-      surface->MaskLayer(), surface->Filters());
+  // Avoid the descendant-only property change path that skips unioning damage
+  // from descendant layers.
+  child1->GetRenderSurface()->NoteAncestorPropertyChanged();
+  DamageTracker::UpdateDamageTracking(host_impl_.active_tree(),
+                                      render_surface_layer_list);
 
   // The expected damage would be too large to store in a gfx::Rect, so we
   // should damage everything on child1.
@@ -1662,14 +1629,8 @@
   render_surface_layer_list.clear();
   ExecuteCalculateDrawProperties(root, device_scale_factor,
                                  &render_surface_layer_list);
-  surface = child1->GetRenderSurface();
-  surface->damage_tracker()->UpdateDamageTrackingState(
-      surface->layer_list(), surface, false, surface->content_rect(),
-      surface->MaskLayer(), surface->Filters());
-  surface = root->GetRenderSurface();
-  surface->damage_tracker()->UpdateDamageTrackingState(
-      surface->layer_list(), surface, false, surface->content_rect(),
-      surface->MaskLayer(), surface->Filters());
+  DamageTracker::UpdateDamageTracking(host_impl_.active_tree(),
+                                      render_surface_layer_list);
 
   // Child1 should still not have a valid rect, since the union of the damage of
   // its children is not representable by a single rect.
diff --git a/cc/trees/draw_property_utils.cc b/cc/trees/draw_property_utils.cc
index 27eb425d..e38d14a 100644
--- a/cc/trees/draw_property_utils.cc
+++ b/cc/trees/draw_property_utils.cc
@@ -743,23 +743,6 @@
   }
 }
 
-static void UpdateScrollTree(ScrollTree* scroll_tree,
-                             const LayerTreeHost* layer_tree_host) {
-  if (!scroll_tree->needs_update())
-    return;
-
-  for (int i = ScrollTree::kRootNodeId;
-       i < static_cast<int>(scroll_tree->size()); ++i) {
-    ScrollNode* scroll_node = scroll_tree->Node(i);
-    if (Layer* scroll_layer =
-            layer_tree_host->LayerById(scroll_node->owning_layer_id)) {
-      if (Layer* scroll_clip_layer = scroll_layer->scroll_clip_layer()) {
-        scroll_node->scroll_clip_layer_bounds = scroll_clip_layer->bounds();
-      }
-    }
-  }
-}
-
 static void ComputeClips(PropertyTrees* property_trees) {
   DCHECK(!property_trees->transform_tree.needs_update());
   ClipTree* clip_tree = &property_trees->clip_tree;
@@ -889,7 +872,6 @@
     property_trees->clip_tree.set_needs_update(true);
     property_trees->effect_tree.set_needs_update(true);
   }
-  UpdateScrollTree(&property_trees->scroll_tree, layer_tree_host);
   ComputeTransforms(&property_trees->transform_tree);
   ComputeEffects(&property_trees->effect_tree);
   // Computation of clips uses ToScreen which is updated while computing
@@ -1044,8 +1026,7 @@
 }
 
 void ComputeSurfaceDrawProperties(PropertyTrees* property_trees,
-                                  RenderSurfaceImpl* render_surface,
-                                  const bool use_layer_lists) {
+                                  RenderSurfaceImpl* render_surface) {
   SetSurfaceIsClipped(property_trees->clip_tree, render_surface);
   SetSurfaceDrawOpacity(property_trees->effect_tree, render_surface);
   SetSurfaceDrawTransform(property_trees, render_surface);
diff --git a/cc/trees/draw_property_utils.h b/cc/trees/draw_property_utils.h
index b5ff981..ee1f507 100644
--- a/cc/trees/draw_property_utils.h
+++ b/cc/trees/draw_property_utils.h
@@ -65,8 +65,7 @@
                                          const PropertyTrees* property_trees);
 
 void CC_EXPORT ComputeSurfaceDrawProperties(PropertyTrees* property_trees,
-                                            RenderSurfaceImpl* render_surface,
-                                            const bool use_layer_lists);
+                                            RenderSurfaceImpl* render_surface);
 
 bool CC_EXPORT LayerShouldBeSkipped(LayerImpl* layer,
                                     const TransformTree& transform_tree,
diff --git a/cc/trees/layer_tree_host_common.cc b/cc/trees/layer_tree_host_common.cc
index 7169a2a..a3afacd0 100644
--- a/cc/trees/layer_tree_host_common.cc
+++ b/cc/trees/layer_tree_host_common.cc
@@ -79,7 +79,6 @@
     int max_texture_size,
     bool can_render_to_separate_surface,
     bool can_adjust_raster_scales,
-    bool use_layer_lists,
     LayerImplList* render_surface_layer_list,
     PropertyTrees* property_trees)
     : root_layer(root_layer),
@@ -96,7 +95,6 @@
       max_texture_size(max_texture_size),
       can_render_to_separate_surface(can_render_to_separate_surface),
       can_adjust_raster_scales(can_adjust_raster_scales),
-      use_layer_lists(use_layer_lists),
       render_surface_layer_list(render_surface_layer_list),
       property_trees(property_trees) {}
 
@@ -119,7 +117,6 @@
                               std::numeric_limits<int>::max() / 2,
                               true,
                               false,
-                              false,
                               render_surface_layer_list,
                               GetPropertyTrees(root_layer)) {
   DCHECK(root_layer);
@@ -284,8 +281,7 @@
     LayerTreeImpl* layer_tree_impl,
     PropertyTrees* property_trees,
     LayerImplList* render_surface_layer_list,
-    bool can_render_to_separate_surface,
-    bool use_layer_lists) {
+    bool can_render_to_separate_surface) {
   // Add all non-skipped surfaces to the initial render surface layer list. Add
   // all non-skipped layers to the layer list of their target surface, and
   // add their content rect to their target surface's accumulated content rect.
@@ -325,8 +321,8 @@
             contributes_to_drawn_surface);
       }
 
-      draw_property_utils::ComputeSurfaceDrawProperties(
-          property_trees, render_surface, use_layer_lists);
+      draw_property_utils::ComputeSurfaceDrawProperties(property_trees,
+                                                        render_surface);
 
       // Ignore occlusion from outside the surface when surface contents need to
       // be fully drawn. Layers with copy-request need to be complete.  We could
@@ -436,7 +432,6 @@
     PropertyTrees* property_trees,
     LayerImplList* render_surface_layer_list,
     const bool can_render_to_separate_surface,
-    const bool use_layer_lists,
     const int max_texture_size) {
   // This calculates top level Render Surface Layer List, and Layer List for all
   // Render Surfaces.
@@ -447,9 +442,9 @@
   // First compute an RSLL that might include surfaces that later turn out to
   // have an empty content rect. After surface content rects are computed,
   // produce a final RSLL that omits empty surfaces.
-  ComputeInitialRenderSurfaceLayerList(
-      layer_tree_impl, property_trees, &initial_render_surface_list,
-      can_render_to_separate_surface, use_layer_lists);
+  ComputeInitialRenderSurfaceLayerList(layer_tree_impl, property_trees,
+                                       &initial_render_surface_list,
+                                       can_render_to_separate_surface);
   ComputeSurfaceContentRects(layer_tree_impl, property_trees,
                              &initial_render_surface_list, max_texture_size);
   ComputeListOfNonEmptySurfaces(layer_tree_impl, property_trees,
@@ -556,7 +551,7 @@
   CalculateRenderSurfaceLayerList(
       inputs->root_layer->layer_tree_impl(), inputs->property_trees,
       inputs->render_surface_layer_list, inputs->can_render_to_separate_surface,
-      inputs->use_layer_lists, inputs->max_texture_size);
+      inputs->max_texture_size);
 
   if (should_measure_property_tree_performance) {
     TRACE_EVENT_END0(TRACE_DISABLED_BY_DEFAULT("cc.debug.cdp-perf"),
diff --git a/cc/trees/layer_tree_host_common.h b/cc/trees/layer_tree_host_common.h
index dd668caa..2dc7f18 100644
--- a/cc/trees/layer_tree_host_common.h
+++ b/cc/trees/layer_tree_host_common.h
@@ -74,7 +74,6 @@
         int max_texture_size,
         bool can_render_to_separate_surface,
         bool can_adjust_raster_scales,
-        bool use_layer_lists,
         LayerImplList* render_surface_layer_list,
         PropertyTrees* property_trees);
 
@@ -91,7 +90,6 @@
     int max_texture_size;
     bool can_render_to_separate_surface;
     bool can_adjust_raster_scales;
-    bool use_layer_lists;
     LayerImplList* render_surface_layer_list;
     PropertyTrees* property_trees;
   };
diff --git a/cc/trees/layer_tree_host_common_perftest.cc b/cc/trees/layer_tree_host_common_perftest.cc
index 89946ee..e6de5ae3 100644
--- a/cc/trees/layer_tree_host_common_perftest.cc
+++ b/cc/trees/layer_tree_host_common_perftest.cc
@@ -114,7 +114,6 @@
         active_tree->elastic_overscroll()->Current(active_tree->IsActiveTree()),
         active_tree->OverscrollElasticityLayer(), max_texture_size,
         can_render_to_separate_surface,
-        false,  // don't use layer lists for perf tests
         host_impl->settings().layer_transforms_should_scale_layer_contents,
         &update_list, active_tree->property_trees());
     LayerTreeHostCommon::CalculateDrawProperties(&inputs);
diff --git a/cc/trees/layer_tree_host_impl.cc b/cc/trees/layer_tree_host_impl.cc
index ca08b6f..97d189fc 100644
--- a/cc/trees/layer_tree_host_impl.cc
+++ b/cc/trees/layer_tree_host_impl.cc
@@ -707,27 +707,6 @@
       std::move(swap_promise));
 }
 
-void LayerTreeHostImpl::TrackDamageForAllSurfaces(
-    const LayerImplList& render_surface_layer_list) {
-  // For now, we use damage tracking to compute a global scissor. To do this, we
-  // must compute all damage tracking before drawing anything, so that we know
-  // the root damage rect. The root damage rect is then used to scissor each
-  // surface.
-  size_t render_surface_layer_list_size = render_surface_layer_list.size();
-  for (size_t i = 0; i < render_surface_layer_list_size; ++i) {
-    size_t surface_index = render_surface_layer_list_size - 1 - i;
-    LayerImpl* render_surface_layer = render_surface_layer_list[surface_index];
-    RenderSurfaceImpl* render_surface =
-        render_surface_layer->GetRenderSurface();
-    DCHECK(render_surface);
-    render_surface->damage_tracker()->UpdateDamageTrackingState(
-        render_surface->layer_list(), render_surface,
-        render_surface->SurfacePropertyChangedOnlyFromDescendant(),
-        render_surface->content_rect(), render_surface->MaskLayer(),
-        render_surface->Filters());
-  }
-}
-
 void LayerTreeHostImpl::FrameData::AsValueInto(
     base::trace_event::TracedValue* value) const {
   value->SetBoolean("has_no_damage", has_no_damage);
@@ -807,7 +786,12 @@
   DCHECK(CanDraw());
   DCHECK(!active_tree_->LayerListIsEmpty());
 
-  TrackDamageForAllSurfaces(*frame->render_surface_layer_list);
+  // For now, we use damage tracking to compute a global scissor. To do this, we
+  // must compute all damage tracking before drawing anything, so that we know
+  // the root damage rect. The root damage rect is then used to scissor each
+  // surface.
+  DamageTracker::UpdateDamageTracking(active_tree_.get(),
+                                      active_tree_->RenderSurfaceLayerList());
 
   // If the root render surface has no visible damage, then don't generate a
   // frame at all.
@@ -1857,14 +1841,13 @@
     gpu_rasterization_status_ = GpuRasterizationStatus::OFF_DEVICE;
   } else if (!has_gpu_rasterization_trigger_) {
     gpu_rasterization_status_ = GpuRasterizationStatus::OFF_VIEWPORT;
-  } else if (content_is_suitable_for_gpu_rasterization_) {
-    use_gpu = true;
-    gpu_rasterization_status_ = GpuRasterizationStatus::ON;
-  } else if (using_msaa_for_complex_content) {
+  } else if (!content_is_suitable_for_gpu_rasterization_ &&
+             using_msaa_for_complex_content) {
     use_gpu = use_msaa = true;
     gpu_rasterization_status_ = GpuRasterizationStatus::MSAA_CONTENT;
   } else {
-    gpu_rasterization_status_ = GpuRasterizationStatus::OFF_CONTENT;
+    use_gpu = true;
+    gpu_rasterization_status_ = GpuRasterizationStatus::ON;
   }
 
   if (use_gpu && !use_gpu_rasterization_) {
diff --git a/cc/trees/layer_tree_host_impl.h b/cc/trees/layer_tree_host_impl.h
index 0b72dc4..26d68d3 100644
--- a/cc/trees/layer_tree_host_impl.h
+++ b/cc/trees/layer_tree_host_impl.h
@@ -86,7 +86,6 @@
   OFF_DEVICE,
   OFF_VIEWPORT,
   MSAA_CONTENT,
-  OFF_CONTENT
 };
 
 // LayerTreeHost->Proxy callback interface.
@@ -665,9 +664,6 @@
   bool AnimateScrollbars(base::TimeTicks monotonic_time);
   bool AnimateBrowserControls(base::TimeTicks monotonic_time);
 
-  void TrackDamageForAllSurfaces(
-      const LayerImplList& render_surface_layer_list);
-
   void UpdateTileManagerMemoryPolicy(const ManagedMemoryPolicy& policy);
 
   // This function should only be called from PrepareToDraw, as DidDrawAllLayers
diff --git a/cc/trees/layer_tree_host_impl_unittest.cc b/cc/trees/layer_tree_host_impl_unittest.cc
index 9d9a013..181db8f 100644
--- a/cc/trees/layer_tree_host_impl_unittest.cc
+++ b/cc/trees/layer_tree_host_impl_unittest.cc
@@ -11679,13 +11679,22 @@
 
 // Tests that SetContentIsSuitableForGpuRasterization behaves as expected.
 TEST_F(LayerTreeHostImplTest, GpuRasterizationStatusSuitability) {
+  std::unique_ptr<TestWebGraphicsContext3D> context_with_msaa =
+      TestWebGraphicsContext3D::Create();
+  context_with_msaa->SetMaxSamples(4);
+  context_with_msaa->set_gpu_rasterization(true);
+  LayerTreeSettings msaaSettings = DefaultSettings();
+  msaaSettings.gpu_rasterization_msaa_sample_count = 4;
+  EXPECT_TRUE(CreateHostImpl(msaaSettings, FakeCompositorFrameSink::Create3d(
+                                               std::move(context_with_msaa))));
+
   // Set initial state, before varying GPU rasterization suitability.
   host_impl_->SetHasGpuRasterizationTrigger(true);
   host_impl_->SetContentIsSuitableForGpuRasterization(false);
   host_impl_->CommitComplete();
-  EXPECT_EQ(GpuRasterizationStatus::OFF_CONTENT,
+  EXPECT_EQ(GpuRasterizationStatus::MSAA_CONTENT,
             host_impl_->gpu_rasterization_status());
-  EXPECT_FALSE(host_impl_->use_gpu_rasterization());
+  EXPECT_TRUE(host_impl_->use_msaa());
 
   // Toggle suitability on.
   host_impl_->SetContentIsSuitableForGpuRasterization(true);
@@ -11697,10 +11706,10 @@
   // And off.
   host_impl_->SetContentIsSuitableForGpuRasterization(false);
   host_impl_->CommitComplete();
-  EXPECT_EQ(GpuRasterizationStatus::OFF_CONTENT,
+  EXPECT_EQ(GpuRasterizationStatus::MSAA_CONTENT,
             host_impl_->gpu_rasterization_status());
-  EXPECT_FALSE(host_impl_->use_gpu_rasterization());
-  EXPECT_FALSE(host_impl_->use_msaa());
+  EXPECT_TRUE(host_impl_->use_gpu_rasterization());
+  EXPECT_TRUE(host_impl_->use_msaa());
 }
 
 // Tests that SetDeviceScaleFactor correctly impacts GPU rasterization.
@@ -11719,9 +11728,8 @@
   host_impl_->SetHasGpuRasterizationTrigger(true);
   host_impl_->SetContentIsSuitableForGpuRasterization(false);
   host_impl_->CommitComplete();
-  EXPECT_EQ(GpuRasterizationStatus::OFF_CONTENT,
-            host_impl_->gpu_rasterization_status());
-  EXPECT_FALSE(host_impl_->use_gpu_rasterization());
+  EXPECT_EQ(GpuRasterizationStatus::ON, host_impl_->gpu_rasterization_status());
+  EXPECT_TRUE(host_impl_->use_gpu_rasterization());
 
   // Set device scale factor to 2, which lowers the required MSAA samples from
   // 8 to 4.
@@ -11735,9 +11743,8 @@
   // Set device scale factor back to 1.
   host_impl_->active_tree()->SetDeviceScaleFactor(1.0f);
   host_impl_->CommitComplete();
-  EXPECT_EQ(GpuRasterizationStatus::OFF_CONTENT,
-            host_impl_->gpu_rasterization_status());
-  EXPECT_FALSE(host_impl_->use_gpu_rasterization());
+  EXPECT_EQ(GpuRasterizationStatus::ON, host_impl_->gpu_rasterization_status());
+  EXPECT_TRUE(host_impl_->use_gpu_rasterization());
   EXPECT_FALSE(host_impl_->use_msaa());
 }
 
@@ -11823,14 +11830,14 @@
   EXPECT_TRUE(host_impl_->use_gpu_rasterization());
 
   // Ensure that with the msaa_is_slow cap we don't raster unsuitable content
-  // with msaa.
+  // with msaa (we'll still use GPU raster, though).
   CreateHostImplWithMsaaIsSlow(true);
   host_impl_->SetHasGpuRasterizationTrigger(true);
   host_impl_->SetContentIsSuitableForGpuRasterization(false);
   host_impl_->CommitComplete();
-  EXPECT_EQ(GpuRasterizationStatus::OFF_CONTENT,
-            host_impl_->gpu_rasterization_status());
-  EXPECT_FALSE(host_impl_->use_gpu_rasterization());
+  EXPECT_EQ(GpuRasterizationStatus::ON, host_impl_->gpu_rasterization_status());
+  EXPECT_TRUE(host_impl_->use_gpu_rasterization());
+  EXPECT_FALSE(host_impl_->use_msaa());
 }
 
 // A mock output surface which lets us detect calls to ForceReclaimResources.
diff --git a/cc/trees/layer_tree_host_unittest.cc b/cc/trees/layer_tree_host_unittest.cc
index 2e7457a4..b549100 100644
--- a/cc/trees/layer_tree_host_unittest.cc
+++ b/cc/trees/layer_tree_host_unittest.cc
@@ -5300,15 +5300,15 @@
     // Ensure the suitability bit sticks.
     EXPECT_FALSE(layer_->IsSuitableForGpuRasterization());
 
-    EXPECT_FALSE(host_impl->pending_tree()->use_gpu_rasterization());
-    EXPECT_FALSE(host_impl->use_gpu_rasterization());
+    EXPECT_TRUE(host_impl->pending_tree()->use_gpu_rasterization());
+    EXPECT_TRUE(host_impl->use_gpu_rasterization());
   }
 
   void DidActivateTreeOnThread(LayerTreeHostImpl* host_impl) override {
     EXPECT_FALSE(layer_->IsSuitableForGpuRasterization());
 
-    EXPECT_FALSE(host_impl->active_tree()->use_gpu_rasterization());
-    EXPECT_FALSE(host_impl->use_gpu_rasterization());
+    EXPECT_TRUE(host_impl->active_tree()->use_gpu_rasterization());
+    EXPECT_TRUE(host_impl->use_gpu_rasterization());
     EndTest();
   }
 
@@ -5324,6 +5324,23 @@
 class LayerTreeHostTestGpuRasterizationReenabled
     : public LayerTreeHostWithGpuRasterizationTest {
  protected:
+  void InitializeSettings(LayerTreeSettings* settings) override {
+    settings->gpu_rasterization_msaa_sample_count = 4;
+  }
+
+  std::unique_ptr<TestCompositorFrameSink> CreateCompositorFrameSink(
+      scoped_refptr<ContextProvider> compositor_context_provider,
+      scoped_refptr<ContextProvider> worker_context_provider) override {
+    std::unique_ptr<TestWebGraphicsContext3D> context =
+        TestWebGraphicsContext3D::Create();
+    context->SetMaxSamples(4);
+    context->set_gpu_rasterization(true);
+    compositor_context_provider =
+        TestContextProvider::Create(std::move(context));
+    return LayerTreeTest::CreateCompositorFrameSink(compositor_context_provider,
+                                                    worker_context_provider);
+  }
+
   void SetupTree() override {
     LayerTreeHostTest::SetupTree();
 
@@ -5362,10 +5379,10 @@
 
   void CommitCompleteOnThread(LayerTreeHostImpl* host_impl) override {
     SCOPED_TRACE(base::StringPrintf("commit %d", num_commits_));
-    if (expected_gpu_enabled_) {
-      EXPECT_TRUE(host_impl->use_gpu_rasterization());
+    if (expected_use_msaa_) {
+      EXPECT_TRUE(host_impl->use_msaa());
     } else {
-      EXPECT_FALSE(host_impl->use_gpu_rasterization());
+      EXPECT_FALSE(host_impl->use_msaa());
     }
 
     ++num_commits_;
@@ -5380,7 +5397,7 @@
         layer_->set_force_unsuitable_for_gpu_rasterization(false);
         break;
       case 90:
-        expected_gpu_enabled_ = true;
+        expected_use_msaa_ = false;
         break;
     }
     PostSetNeedsCommitToMainThread();
@@ -5394,7 +5411,7 @@
   FakePictureLayer* layer_;
   FakeRecordingSource* recording_source_;
   int num_commits_ = 0;
-  bool expected_gpu_enabled_ = false;
+  bool expected_use_msaa_ = true;
 };
 
 MULTI_THREAD_TEST_F(LayerTreeHostTestGpuRasterizationReenabled);
diff --git a/cc/trees/layer_tree_impl.cc b/cc/trees/layer_tree_impl.cc
index f7f0304e..6ac6ecf 100644
--- a/cc/trees/layer_tree_impl.cc
+++ b/cc/trees/layer_tree_impl.cc
@@ -1103,8 +1103,7 @@
         OverscrollElasticityLayer(), resource_provider()->max_texture_size(),
         can_render_to_separate_surface,
         settings().layer_transforms_should_scale_layer_contents,
-        settings().use_layer_lists, &render_surface_layer_list_,
-        &property_trees_);
+        &render_surface_layer_list_, &property_trees_);
     LayerTreeHostCommon::CalculateDrawProperties(&inputs);
     if (const char* client_name = GetClientNameForMetrics()) {
       UMA_HISTOGRAM_COUNTS(
diff --git a/cc/trees/property_tree.cc b/cc/trees/property_tree.cc
index 4d1ca75..280ecd0 100644
--- a/cc/trees/property_tree.cc
+++ b/cc/trees/property_tree.cc
@@ -1012,6 +1012,20 @@
     return EffectTree::kInvalidNodeId;
 }
 
+int EffectTree::LowestCommonAncestorWithRenderSurface(int id_1,
+                                                      int id_2) const {
+  DCHECK(GetRenderSurface(id_1));
+  DCHECK(GetRenderSurface(id_2));
+  while (id_1 != id_2) {
+    if (id_1 < id_2)
+      id_2 = Node(id_2)->target_id;
+    else
+      id_1 = Node(id_1)->target_id;
+  }
+
+  return id_1;
+}
+
 void EffectTree::AddMaskLayerId(int id) {
   mask_layer_ids_.push_back(id);
 }
diff --git a/cc/trees/property_tree.h b/cc/trees/property_tree.h
index de5cc28..52c90bcb 100644
--- a/cc/trees/property_tree.h
+++ b/cc/trees/property_tree.h
@@ -380,6 +380,11 @@
 
   int ClosestAncestorWithCopyRequest(int id) const;
 
+  // Given the ids of two effect nodes that have render surfaces, returns the
+  // id of the lowest common ancestor effect node that also has a render
+  // surface.
+  int LowestCommonAncestorWithRenderSurface(int id_1, int id_2) const;
+
   void AddMaskLayerId(int id);
   const std::vector<int>& mask_layer_ids() const { return mask_layer_ids_; }
 
diff --git a/chrome/android/java/AndroidManifest.xml b/chrome/android/java/AndroidManifest.xml
index ee95c16c..96f07612 100644
--- a/chrome/android/java/AndroidManifest.xml
+++ b/chrome/android/java/AndroidManifest.xml
@@ -291,12 +291,10 @@
         <activity android:name="org.chromium.chrome.browser.document.DocumentActivity"
             android:exported="false"
             android:theme="@style/MainTheme"
-            android:windowSoftInputMode="adjustResize"
             android:taskAffinity=""
             android:persistableMode="persistAcrossReboots"
             android:autoRemoveFromRecents="false"
-            android:configChanges="orientation|keyboardHidden|keyboard|screenSize|mcc|mnc|screenLayout|smallestScreenSize"
-            android:hardwareAccelerated="false">
+            {{ self.chrome_activity_common() }}>
         </activity>
         <activity-alias android:name="com.google.android.apps.chrome.document.DocumentActivity"
             android:targetActivity="org.chromium.chrome.browser.document.DocumentActivity"
@@ -305,12 +303,10 @@
             android:icon="@mipmap/incognito_app_icon"
             android:exported="false"
             android:theme="@style/IncognitoTheme"
-            android:windowSoftInputMode="adjustResize"
             android:taskAffinity=""
             android:persistableMode="persistNever"
             android:autoRemoveFromRecents="false"
-            android:configChanges="orientation|keyboardHidden|keyboard|screenSize|mcc|mnc|screenLayout|smallestScreenSize"
-            android:hardwareAccelerated="false">
+            {{ self.chrome_activity_common() }}>
         </activity>
         <activity-alias android:name="com.google.android.apps.chrome.document.IncognitoDocumentActivity"
             android:targetActivity="org.chromium.chrome.browser.document.IncognitoDocumentActivity"
@@ -320,20 +316,16 @@
         <activity android:name="org.chromium.chrome.browser.customtabs.CustomTabActivity"
             android:theme="@style/MainTheme"
             android:exported="false"
-            android:windowSoftInputMode="adjustResize"
-            android:configChanges="orientation|keyboardHidden|keyboard|screenSize|mcc|mnc|screenLayout|smallestScreenSize"
-            android:hardwareAccelerated="false"
+            {{ self.chrome_activity_common() }}
             {{ self.supports_video_persistence() }} >
         </activity>
         <activity android:name="org.chromium.chrome.browser.customtabs.SeparateTaskCustomTabActivity"
             android:theme="@style/MainTheme"
             android:exported="false"
             android:taskAffinity=""
-            android:windowSoftInputMode="adjustResize"
             android:persistableMode="persistNever"
             android:autoRemoveFromRecents="false"
-            android:configChanges="orientation|keyboardHidden|keyboard|screenSize|mcc|mnc|screenLayout|smallestScreenSize"
-            android:hardwareAccelerated="false"
+            {{ self.chrome_activity_common() }}
             {{ self.supports_video_persistence() }} >
         </activity>
         {% for i in range(10) %}
@@ -342,11 +334,9 @@
             android:icon="@mipmap/app_single_page_icon"
             android:exported="false"
             android:launchMode="singleTask"
-            android:windowSoftInputMode="adjustResize"
             android:persistableMode="persistNever"
             android:taskAffinity=""
-            android:configChanges="orientation|keyboardHidden|keyboard|screenSize|mcc|mnc|screenLayout|smallestScreenSize"
-            android:hardwareAccelerated="false"
+            {{ self.chrome_activity_common() }}
             {{ self.supports_video_persistence() }} >
         </activity>
         {% endfor %}
@@ -355,33 +345,29 @@
         <activity android:name="org.chromium.chrome.browser.ChromeTabbedActivity"
             android:theme="@style/TabbedModeTheme"
             android:exported="false"
-            android:windowSoftInputMode="adjustResize"
             android:launchMode="singleTask"
-            android:configChanges="orientation|keyboardHidden|keyboard|screenSize|mcc|mnc|screenLayout|smallestScreenSize|uiMode"
-            android:hardwareAccelerated="false"
             {# We can only use blocks once in Jinja, for future substitutions we use
             self.supports_video_persistence(). #}
             {% block supports_video_persistence %}
             {% endblock %}
+            {% block chrome_activity_common %}
+            android:windowSoftInputMode="adjustResize"
+            android:configChanges="orientation|keyboardHidden|keyboard|screenSize|mcc|mnc|screenLayout|smallestScreenSize|uiMode"
+            android:hardwareAccelerated="false"
+            {% endblock %}
             >
         </activity>
         <activity android:name="org.chromium.chrome.browser.ChromeTabbedActivity2"
-             android:theme="@style/TabbedModeTheme"
-             android:exported="false"
-             android:windowSoftInputMode="adjustResize"
-             android:taskAffinity="{{ manifest_package }}.ChromeTabbedActivity2"
-             android:launchMode="singleTask"
-             android:configChanges="orientation|keyboardHidden|keyboard|screenSize|mcc|mnc|screenLayout|smallestScreenSize|uiMode"
-             android:hardwareAccelerated="false"
-             {{ self.supports_video_persistence() }}
-             >
+            android:theme="@style/TabbedModeTheme"
+            android:exported="false"
+            android:taskAffinity="{{ manifest_package }}.ChromeTabbedActivity2"
+            android:launchMode="singleTask"
+            {{ self.chrome_activity_common() }}>
         </activity>
         <activity android:name="org.chromium.chrome.browser.multiwindow.MultiInstanceChromeTabbedActivity"
             android:theme="@style/TabbedModeTheme"
             android:exported="false"
-            android:windowSoftInputMode="adjustResize"
-            android:configChanges="orientation|keyboardHidden|keyboard|screenSize|mcc|mnc|screenLayout|smallestScreenSize|uiMode"
-            android:hardwareAccelerated="false">
+            {{ self.chrome_activity_common() }}>
         </activity>
 
         <activity android:name="org.chromium.chrome.browser.sync.ui.PassphraseActivity"
@@ -492,11 +478,9 @@
             android:theme="@style/WebappTheme"
             android:label="@string/webapp_activity_title"
             android:documentLaunchMode="intoExisting"
-            android:windowSoftInputMode="adjustResize"
             android:persistableMode="persistNever"
-            android:hardwareAccelerated="false"
-            android:configChanges="orientation|keyboardHidden|keyboard|screenSize|mcc|mnc|screenLayout|smallestScreenSize"
-            {{ self.supports_video_persistence() }} >
+            {{ self.supports_video_persistence() }}
+            {{ self.chrome_activity_common() }}>
         </activity>
         <activity-alias android:name="com.google.android.apps.chrome.webapps.WebappActivity"
             android:targetActivity="org.chromium.chrome.browser.webapps.WebappActivity"
@@ -509,12 +493,10 @@
             android:icon="@mipmap/app_shortcut_icon"
             android:label="@string/webapp_activity_title"
             android:launchMode="singleTask"
-            android:windowSoftInputMode="adjustResize"
             android:persistableMode="persistNever"
-            android:hardwareAccelerated="false"
             android:taskAffinity="{{ manifest_package }}.webapps.WebappActivity{{ i }}"
-            android:configChanges="orientation|keyboardHidden|keyboard|screenSize|mcc|mnc|screenLayout|smallestScreenSize"
-            {{ self.supports_video_persistence() }} >
+            {{ self.supports_video_persistence() }}
+            {{ self.chrome_activity_common() }}>
         </activity>
         <activity-alias android:name="com.google.android.apps.chrome.webapps.WebappActivity{{ i }}"
             android:targetActivity="org.chromium.chrome.browser.webapps.WebappActivity{{ i }}"
@@ -528,11 +510,9 @@
             android:label="@string/webapp_activity_title"
             android:launchMode="singleTop"
             android:documentLaunchMode="intoExisting"
-            android:windowSoftInputMode="adjustResize"
             android:persistableMode="persistNever"
-            android:hardwareAccelerated="false"
-            android:configChanges="orientation|keyboardHidden|keyboard|screenSize|mcc|mnc|screenLayout|smallestScreenSize"
-            {{ self.supports_video_persistence() }} >
+            {{ self.supports_video_persistence() }}
+            {{ self.chrome_activity_common() }}>
         </activity>
         {% for i in range(10) %}
         <activity android:name="org.chromium.chrome.browser.webapps.WebApkActivity{{ i }}"
@@ -540,12 +520,10 @@
             android:icon="@mipmap/app_shortcut_icon"
             android:label="@string/webapp_activity_title"
             android:launchMode="singleTask"
-            android:windowSoftInputMode="adjustResize"
             android:persistableMode="persistNever"
-            android:hardwareAccelerated="false"
             android:taskAffinity="{{ manifest_package }}.webapps.WebApkActivity{{ i }}"
-            android:configChanges="orientation|keyboardHidden|keyboard|screenSize|mcc|mnc|screenLayout|smallestScreenSize"
-            {{ self.supports_video_persistence() }} >
+            {{ self.supports_video_persistence() }}
+            {{ self.chrome_activity_common() }}>
         </activity>
         {% endfor %}
 
@@ -701,7 +679,10 @@
                 <action android:name="android.appwidget.action.APPWIDGET_UPDATE" />
             </intent-filter>
             <intent-filter>
-                <action android:name="org.chromium.chrome.browser.searchwidget.START_SEARCH_ACTIVITY" />
+                <action android:name="org.chromium.chrome.browser.searchwidget.START_TEXT_QUERY" />
+            </intent-filter>
+            <intent-filter>
+                <action android:name="org.chromium.chrome.browser.searchwidget.START_VOICE_QUERY" />
             </intent-filter>
             <intent-filter>
                 <action android:name="org.chromium.chrome.browser.searchwidget.UPDATE_ALL_WIDGETS" />
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/ChromeBackgroundService.java b/chrome/android/java/src/org/chromium/chrome/browser/ChromeBackgroundService.java
index 6b29a95..c27abfc 100644
--- a/chrome/android/java/src/org/chromium/chrome/browser/ChromeBackgroundService.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/ChromeBackgroundService.java
@@ -15,7 +15,7 @@
 import org.chromium.base.ThreadUtils;
 import org.chromium.base.VisibleForTesting;
 import org.chromium.base.annotations.SuppressFBWarnings;
-import org.chromium.base.library_loader.LibraryLoader;
+import org.chromium.base.library_loader.LibraryProcessType;
 import org.chromium.base.library_loader.ProcessInitException;
 import org.chromium.chrome.browser.download.DownloadResumptionScheduler;
 import org.chromium.chrome.browser.init.ChromeBrowserInitializer;
@@ -27,6 +27,7 @@
 import org.chromium.chrome.browser.offlinepages.OfflinePageUtils;
 import org.chromium.chrome.browser.precache.PrecacheController;
 import org.chromium.chrome.browser.precache.PrecacheUMA;
+import org.chromium.content.browser.BrowserStartupController;
 
 /**
  * {@link ChromeBackgroundService} is scheduled through the {@link GcmNetworkManager} when the
@@ -145,7 +146,8 @@
 
     private void handleOfflinePageBackgroundLoad(
             Context context, Bundle bundle, ChromeBackgroundServiceWaiter waiter, String tag) {
-        if (!LibraryLoader.isInitialized()) {
+        if (!BrowserStartupController.get(LibraryProcessType.PROCESS_BROWSER)
+                        .isStartupSuccessfullyCompleted()) {
             launchBrowser(context, tag);
         }
 
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/TabState.java b/chrome/android/java/src/org/chromium/chrome/browser/TabState.java
index 1141e99..6dde2d77 100644
--- a/chrome/android/java/src/org/chromium/chrome/browser/TabState.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/TabState.java
@@ -13,6 +13,7 @@
 import org.chromium.base.StreamUtil;
 import org.chromium.base.VisibleForTesting;
 import org.chromium.chrome.browser.tab.Tab;
+import org.chromium.components.sync.SyncConstants;
 import org.chromium.content.browser.crypto.CipherFactory;
 import org.chromium.content_public.browser.WebContents;
 
@@ -257,9 +258,9 @@
             try {
                 tabState.syncId = stream.readLong();
             } catch (EOFException eof) {
-                tabState.syncId = 0;
+                tabState.syncId = SyncConstants.INVALID_TAB_NODE_ID;
                 // Could happen if reading a version of TabState without syncId.
-                Log.w(TAG, "Failed to read syncId from tab state. Assuming syncId is: 0");
+                Log.w(TAG, "Failed to read syncId from tab state. Assuming syncId is: -1");
             }
             try {
                 tabState.shouldPreserve = stream.readBoolean();
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/offlinepages/OfflineBackgroundTask.java b/chrome/android/java/src/org/chromium/chrome/browser/offlinepages/OfflineBackgroundTask.java
index 938e644..b53aa4ae 100644
--- a/chrome/android/java/src/org/chromium/chrome/browser/offlinepages/OfflineBackgroundTask.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/offlinepages/OfflineBackgroundTask.java
@@ -8,7 +8,7 @@
 
 import org.chromium.base.Callback;
 import org.chromium.base.Log;
-import org.chromium.base.library_loader.LibraryLoader;
+import org.chromium.base.library_loader.LibraryProcessType;
 import org.chromium.base.library_loader.ProcessInitException;
 import org.chromium.chrome.browser.init.ChromeBrowserInitializer;
 import org.chromium.chrome.browser.offlinepages.interfaces.BackgroundSchedulerProcessor;
@@ -16,6 +16,7 @@
 import org.chromium.components.background_task_scheduler.BackgroundTask.TaskFinishedCallback;
 import org.chromium.components.background_task_scheduler.TaskIds;
 import org.chromium.components.background_task_scheduler.TaskParameters;
+import org.chromium.content.browser.BrowserStartupController;
 
 /**
  * Handles servicing background offlining requests coming via background_task_scheduler component.
@@ -57,7 +58,10 @@
     }
 
     private static void launchBrowserIfNecessary(Context context) {
-        if (LibraryLoader.isInitialized()) return;
+        if (BrowserStartupController.get(LibraryProcessType.PROCESS_BROWSER)
+                        .isStartupSuccessfullyCompleted()) {
+            return;
+        }
 
         // TODO(fgorski): This method is taken from ChromeBackgroundService as a local fix and will
         // be removed with BackgroundTaskScheduler supporting GcmNetworkManager scheduling.
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/preferences/datareduction/DataReductionProxyUma.java b/chrome/android/java/src/org/chromium/chrome/browser/preferences/datareduction/DataReductionProxyUma.java
index bdea5fed..be135f5e 100644
--- a/chrome/android/java/src/org/chromium/chrome/browser/preferences/datareduction/DataReductionProxyUma.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/preferences/datareduction/DataReductionProxyUma.java
@@ -45,7 +45,8 @@
     public static final int ACTION_MAIN_MENU_OFF_TO_ON = 17;
     public static final int ACTION_MAIN_MENU_ON_TO_OFF = 18;
     public static final int ACTION_MAIN_MENU_ON_TO_ON = 19;
-    public static final int ACTION_INDEX_BOUNDARY = 20;
+    public static final int ACTION_STATS_RESET = 20;
+    public static final int ACTION_INDEX_BOUNDARY = 21;
 
     // Represent the possible Lo-Fi context menu user actions. This must remain in sync with
     // Previews.ContextMenuAction.LoFi in tools/metrics/histograms/histograms.xml.
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/preferences/datareduction/DataReductionStatsPreference.java b/chrome/android/java/src/org/chromium/chrome/browser/preferences/datareduction/DataReductionStatsPreference.java
index 77cfb84..52fb8ee 100644
--- a/chrome/android/java/src/org/chromium/chrome/browser/preferences/datareduction/DataReductionStatsPreference.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/preferences/datareduction/DataReductionStatsPreference.java
@@ -181,6 +181,8 @@
                     updateReductionStatistics();
                     setDetailText();
                     notifyChanged();
+                    DataReductionProxyUma.dataReductionProxyUIAction(
+                            DataReductionProxyUma.ACTION_STATS_RESET);
                 }
             });
         }
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/searchwidget/SearchActivity.java b/chrome/android/java/src/org/chromium/chrome/browser/searchwidget/SearchActivity.java
index 84d23c9b..3189f7c 100644
--- a/chrome/android/java/src/org/chromium/chrome/browser/searchwidget/SearchActivity.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/searchwidget/SearchActivity.java
@@ -13,6 +13,7 @@
 import android.view.View;
 import android.view.ViewGroup;
 
+import org.chromium.base.VisibleForTesting;
 import org.chromium.chrome.R;
 import org.chromium.chrome.browser.IntentHandler;
 import org.chromium.chrome.browser.WebContentsFactory;
@@ -36,6 +37,8 @@
 public class SearchActivity extends AsyncInitializationActivity
         implements SnackbarManageable, SearchActivityLocationBarLayout.Delegate,
                    View.OnLayoutChangeListener {
+    /** Setting this field causes the Activity to finish itself immediately for tests. */
+    private static boolean sIsDisabledForTest;
 
     /** Main content view. */
     private ViewGroup mContentView;
@@ -54,6 +57,12 @@
     private Tab mTab;
 
     @Override
+    protected boolean isStartedUpCorrectly(Intent intent) {
+        if (sIsDisabledForTest) return false;
+        return true;
+    }
+
+    @Override
     public void backKeyPressed() {
         cancelSearch();
     }
@@ -219,4 +228,10 @@
         finish();
         overridePendingTransition(0, R.anim.activity_close_exit);
     }
+
+    /** See {@link #sIsDisabledForTest}. */
+    @VisibleForTesting
+    static void disableForTests() {
+        sIsDisabledForTest = true;
+    }
 }
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/searchwidget/SearchWidgetProvider.java b/chrome/android/java/src/org/chromium/chrome/browser/searchwidget/SearchWidgetProvider.java
index e3a01fd..8116977b 100644
--- a/chrome/android/java/src/org/chromium/chrome/browser/searchwidget/SearchWidgetProvider.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/searchwidget/SearchWidgetProvider.java
@@ -21,20 +21,57 @@
 import org.chromium.base.ContextUtils;
 import org.chromium.base.Log;
 import org.chromium.base.ThreadUtils;
+import org.chromium.base.VisibleForTesting;
 import org.chromium.base.library_loader.LibraryLoader;
 import org.chromium.chrome.R;
 import org.chromium.chrome.browser.IntentHandler;
 import org.chromium.chrome.browser.search_engines.TemplateUrlService;
 import org.chromium.chrome.browser.search_engines.TemplateUrlService.LoadListener;
 import org.chromium.chrome.browser.search_engines.TemplateUrlService.TemplateUrlServiceObserver;
+import org.chromium.chrome.browser.util.IntentUtils;
 
 /**
  * Widget that lets the user search using their default search engine.
  *
  * Because this is a BroadcastReceiver, it dies immediately after it runs.  A new one is created
  * for each new broadcast.
+ *
+ * This class avoids loading the native library because it can be triggered at regular intervals by
+ * Android when it tells widgets that they need updates.
  */
 public class SearchWidgetProvider extends AppWidgetProvider {
+    /** Wraps up all things that a {@link SearchWidgetProvider} can request things from. */
+    static class SearchWidgetProviderDelegate {
+        private final Context mContext;
+        private final AppWidgetManager mManager;
+
+        public SearchWidgetProviderDelegate(Context context) {
+            mContext = context == null ? ContextUtils.getApplicationContext() : context;
+            mManager = AppWidgetManager.getInstance(mContext);
+        }
+
+        /** Returns the Context to pull resources from. */
+        protected Context getContext() {
+            return mContext;
+        }
+
+        /** See {@link ContextUtils#getAppSharedPreferences}. */
+        protected SharedPreferences getSharedPreferences() {
+            return ContextUtils.getAppSharedPreferences();
+        }
+
+        /** Returns IDs for all search widgets that exist. */
+        protected int[] getAllSearchWidgetIds() {
+            return mManager.getAppWidgetIds(
+                    new ComponentName(getContext(), SearchWidgetProvider.class.getName()));
+        }
+
+        /** See {@link AppWidgetManager#updateAppWidget}. */
+        protected void updateAppWidget(int id, RemoteViews views) {
+            mManager.updateAppWidget(id, views);
+        }
+    }
+
     /** Monitors the TemplateUrlService for changes, updating the widget when necessary. */
     private static final class SearchWidgetTemplateUrlServiceObserver
             implements LoadListener, TemplateUrlServiceObserver {
@@ -48,13 +85,24 @@
         public void onTemplateURLServiceChanged() {
             updateCachedEngineName();
         }
+
+        private void updateCachedEngineName() {
+            assert LibraryLoader.isInitialized();
+
+            // Getting an instance of the TemplateUrlService requires that the native library be
+            // loaded, but the TemplateUrlService also itself needs to be initialized.
+            TemplateUrlService service = TemplateUrlService.getInstance();
+            assert service.isLoaded();
+            SearchWidgetProvider.updateCachedEngineName(
+                    service.getDefaultSearchEngineTemplateUrl().getShortName());
+        }
     }
 
-    private static final String ACTION_START_TEXT_QUERY =
+    static final String ACTION_START_TEXT_QUERY =
             "org.chromium.chrome.browser.searchwidget.START_TEXT_QUERY";
-    private static final String ACTION_START_VOICE_QUERY =
+    static final String ACTION_START_VOICE_QUERY =
             "org.chromium.chrome.browser.searchwidget.START_VOICE_QUERY";
-    private static final String ACTION_UPDATE_ALL_WIDGETS =
+    static final String ACTION_UPDATE_ALL_WIDGETS =
             "org.chromium.chrome.browser.searchwidget.UPDATE_ALL_WIDGETS";
 
     static final String EXTRA_START_VOICE_SEARCH =
@@ -66,9 +114,11 @@
             "org.chromium.chrome.browser.searchwidget.SEARCH_ENGINE_SHORTNAME";
 
     private static final String TAG = "searchwidget";
+    private static final Object DELEGATE_LOCK = new Object();
     private static final Object OBSERVER_LOCK = new Object();
 
     private static SearchWidgetTemplateUrlServiceObserver sObserver;
+    private static SearchWidgetProviderDelegate sDelegate;
 
     /**
      * Creates the singleton instance of the observer that will monitor for search engine changes.
@@ -92,30 +142,45 @@
 
     /** Nukes all cached information and forces all widgets to start with a blank slate. */
     public static void reset() {
-        SharedPreferences.Editor editor = ContextUtils.getAppSharedPreferences().edit();
+        SharedPreferences.Editor editor = getDelegate().getSharedPreferences().edit();
         editor.remove(PREF_IS_VOICE_SEARCH_AVAILABLE);
         editor.remove(PREF_SEARCH_ENGINE_SHORTNAME);
         editor.apply();
-        updateAllWidgets();
+
+        performUpdate(null);
     }
 
     @Override
     public void onReceive(Context context, Intent intent) {
         if (IntentHandler.isIntentChromeOrFirstParty(intent)) {
-            if (ACTION_START_TEXT_QUERY.equals(intent.getAction())) {
-                startSearchActivity(context, false);
-            } else if (ACTION_START_VOICE_QUERY.equals(intent.getAction())) {
-                startSearchActivity(context, true);
-            } else if (ACTION_UPDATE_ALL_WIDGETS.equals(intent.getAction())) {
-                performUpdate(context);
-            }
-            return;
+            handleAction(intent.getAction());
+        } else {
+            super.onReceive(context, intent);
         }
-        super.onReceive(context, intent);
     }
 
-    private void startSearchActivity(Context context, boolean startVoiceSearch) {
+    @Override
+    public void onUpdate(Context context, AppWidgetManager manager, int[] ids) {
+        performUpdate(ids);
+    }
+
+    /** Handles the intent actions to the widget. */
+    @VisibleForTesting
+    static void handleAction(String action) {
+        if (ACTION_START_TEXT_QUERY.equals(action)) {
+            startSearchActivity(false);
+        } else if (ACTION_START_VOICE_QUERY.equals(action)) {
+            startSearchActivity(true);
+        } else if (ACTION_UPDATE_ALL_WIDGETS.equals(action)) {
+            performUpdate(null);
+        } else {
+            assert false;
+        }
+    }
+
+    private static void startSearchActivity(boolean startVoiceSearch) {
         Log.d(TAG, "Launching SearchActivity: VOICE=" + startVoiceSearch);
+        Context context = getDelegate().getContext();
 
         // Launch the SearchActivity.
         Intent searchIntent = new Intent();
@@ -127,30 +192,23 @@
         Bundle optionsBundle =
                 ActivityOptionsCompat.makeCustomAnimation(context, R.anim.activity_open_enter, 0)
                         .toBundle();
-        context.startActivity(searchIntent, optionsBundle);
+        IntentUtils.safeStartActivity(context, searchIntent, optionsBundle);
     }
 
-    @Override
-    public void onUpdate(Context context, AppWidgetManager manager, int[] ids) {
-        performUpdate(context, ids);
-    }
+    private static void performUpdate(int[] ids) {
+        SearchWidgetProviderDelegate delegate = getDelegate();
 
-    private static void performUpdate(Context context) {
-        AppWidgetManager manager = AppWidgetManager.getInstance(context);
-        performUpdate(context, getAllSearchWidgetIds(manager));
-    }
-
-    private static void performUpdate(Context context, int[] ids) {
+        if (ids == null) ids = delegate.getAllSearchWidgetIds();
         if (ids.length == 0) return;
 
-        AppWidgetManager manager = AppWidgetManager.getInstance(context);
-        SharedPreferences prefs = ContextUtils.getAppSharedPreferences();
-        boolean isVoiceSearchAvailable = prefs.getBoolean(PREF_IS_VOICE_SEARCH_AVAILABLE, true);
-        String engineName = prefs.getString(PREF_SEARCH_ENGINE_SHORTNAME, null);
+        SharedPreferences prefs = delegate.getSharedPreferences();
+        boolean isVoiceSearchAvailable = getCachedVoiceSearchAvailability(prefs);
+        String engineName = getCachedEngineName(prefs);
 
         for (int id : ids) {
-            RemoteViews views = createWidgetViews(context, id, engineName, isVoiceSearchAvailable);
-            manager.updateAppWidget(id, views);
+            RemoteViews views = createWidgetViews(
+                    delegate.getContext(), id, engineName, isVoiceSearchAvailable);
+            delegate.updateAppWidget(id, views);
         }
     }
 
@@ -188,10 +246,10 @@
 
     /** Caches whether or not a voice search is possible. */
     static void updateCachedVoiceSearchAvailability(boolean isVoiceSearchAvailable) {
-        SharedPreferences prefs = ContextUtils.getAppSharedPreferences();
-        if (prefs.getBoolean(PREF_IS_VOICE_SEARCH_AVAILABLE, true) != isVoiceSearchAvailable) {
+        SharedPreferences prefs = getDelegate().getSharedPreferences();
+        if (getCachedVoiceSearchAvailability(prefs) != isVoiceSearchAvailable) {
             prefs.edit().putBoolean(PREF_IS_VOICE_SEARCH_AVAILABLE, isVoiceSearchAvailable).apply();
-            updateAllWidgets();
+            performUpdate(null);
         }
     }
 
@@ -200,28 +258,14 @@
      * Caching it in SharedPreferences prevents us from having to load the native library and the
      * TemplateUrlService whenever the widget is updated.
      */
-    private static void updateCachedEngineName() {
-        assert LibraryLoader.isInitialized();
-
-        // Getting an instance of the TemplateUrlService requires that the native library be
-        // loaded, but the TemplateUrlService itself needs to be initialized.
-        TemplateUrlService service = TemplateUrlService.getInstance();
-        assert service.isLoaded();
-        String engineName = service.getDefaultSearchEngineTemplateUrl().getShortName();
-
-        SharedPreferences prefs = ContextUtils.getAppSharedPreferences();
-        if (!TextUtils.equals(prefs.getString(PREF_SEARCH_ENGINE_SHORTNAME, null), engineName)) {
+    static void updateCachedEngineName(String engineName) {
+        SharedPreferences prefs = getDelegate().getSharedPreferences();
+        if (!TextUtils.equals(getCachedEngineName(prefs), engineName)) {
             prefs.edit().putString(PREF_SEARCH_ENGINE_SHORTNAME, engineName).apply();
-            updateAllWidgets();
+            performUpdate(null);
         }
     }
 
-    /** Get the IDs of all existing search widgets. */
-    private static int[] getAllSearchWidgetIds(AppWidgetManager manager) {
-        return manager.getAppWidgetIds(new ComponentName(
-                ContextUtils.getApplicationContext(), SearchWidgetProvider.class.getName()));
-    }
-
     /** Creates a trusted Intent that lets the user begin performing queries. */
     private static Intent createStartQueryIntent(Context context, String action, int widgetId) {
         Intent intent = new Intent(action, Uri.parse(String.valueOf(widgetId)));
@@ -230,8 +274,25 @@
         return intent;
     }
 
-    /** Immediately updates all widgets. */
-    private static void updateAllWidgets() {
-        performUpdate(ContextUtils.getApplicationContext());
+    /** Sets an {@link SearchWidgetProviderDelegate} to interact with. */
+    @VisibleForTesting
+    static void setDelegateForTest(SearchWidgetProviderDelegate delegate) {
+        assert sDelegate == null;
+        sDelegate = delegate;
+    }
+
+    private static boolean getCachedVoiceSearchAvailability(SharedPreferences prefs) {
+        return prefs.getBoolean(PREF_IS_VOICE_SEARCH_AVAILABLE, true);
+    }
+
+    private static String getCachedEngineName(SharedPreferences prefs) {
+        return prefs.getString(PREF_SEARCH_ENGINE_SHORTNAME, null);
+    }
+
+    private static SearchWidgetProviderDelegate getDelegate() {
+        synchronized (DELEGATE_LOCK) {
+            if (sDelegate == null) sDelegate = new SearchWidgetProviderDelegate(null);
+        }
+        return sDelegate;
     }
 }
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/tab/Tab.java b/chrome/android/java/src/org/chromium/chrome/browser/tab/Tab.java
index 060df42bb..0775f97 100644
--- a/chrome/android/java/src/org/chromium/chrome/browser/tab/Tab.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/tab/Tab.java
@@ -88,6 +88,7 @@
 import org.chromium.components.dom_distiller.core.DomDistillerUrlUtils;
 import org.chromium.components.navigation_interception.InterceptNavigationDelegate;
 import org.chromium.components.security_state.ConnectionSecurityLevel;
+import org.chromium.components.sync.SyncConstants;
 import org.chromium.content.browser.ChildProcessLauncher;
 import org.chromium.content.browser.ContentView;
 import org.chromium.content.browser.ContentViewCore;
@@ -176,7 +177,7 @@
     private SwipeRefreshHandler mSwipeRefreshHandler;
 
     /** The sync id of the Tab if session sync is enabled. */
-    private int mSyncId;
+    private int mSyncId = SyncConstants.INVALID_TAB_NODE_ID;
 
     /** {@link ContentViewCore} showing the current page, or {@code null} if the tab is frozen. */
     private ContentViewCore mContentViewCore;
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/vr_shell/VrShellDelegate.java b/chrome/android/java/src/org/chromium/chrome/browser/vr_shell/VrShellDelegate.java
index a6b95d0..11cbb723 100644
--- a/chrome/android/java/src/org/chromium/chrome/browser/vr_shell/VrShellDelegate.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/vr_shell/VrShellDelegate.java
@@ -78,11 +78,6 @@
     @IntDef({VR_NOT_AVAILABLE, VR_CARDBOARD, VR_DAYDREAM})
     private @interface VrSupportLevel {}
 
-    // TODO(bshe): These should be replaced by string provided by NDK. Currently, it only available
-    // in SDK and we don't want add dependency to SDK just to get these strings.
-    private static final String DAYDREAM_CATEGORY = "com.google.intent.category.DAYDREAM";
-    private static final String CARDBOARD_CATEGORY = "com.google.intent.category.CARDBOARD";
-
     // Linter and formatter disagree on how the line below should be formatted.
     /* package */
     static final String VR_ENTRY_RESULT_ACTION =
@@ -207,14 +202,6 @@
     }
 
     /**
-     * Whether or not the intent is a Daydream VR Intent.
-     */
-    public static boolean isDaydreamVrIntent(Intent intent) {
-        if (intent == null || intent.getCategories() == null) return false;
-        return intent.getCategories().contains(DAYDREAM_CATEGORY);
-    }
-
-    /**
      * Handles the result of the exit VR flow (DOFF).
      */
     public static void onExitVrResult(int resultCode) {
diff --git a/chrome/android/java_sources.gni b/chrome/android/java_sources.gni
index dd854d7..cb5733cf 100644
--- a/chrome/android/java_sources.gni
+++ b/chrome/android/java_sources.gni
@@ -1535,6 +1535,7 @@
   "javatests/src/org/chromium/chrome/browser/provider/ProviderTestBase.java",
   "javatests/src/org/chromium/chrome/browser/push_messaging/PushMessagingTest.java",
   "javatests/src/org/chromium/chrome/browser/search_engines/TemplateUrlServiceTest.java",
+  "javatests/src/org/chromium/chrome/browser/searchwidget/SearchWidgetProviderTest.java",
   "javatests/src/org/chromium/chrome/browser/services/GoogleServicesManagerIntegrationTest.java",
   "javatests/src/org/chromium/chrome/browser/shape_detection/ShapeDetectionTest.java",
   "javatests/src/org/chromium/chrome/browser/share/ShareUrlTest.java",
diff --git a/chrome/android/javatests/src/org/chromium/chrome/browser/HistoryUITest.java b/chrome/android/javatests/src/org/chromium/chrome/browser/HistoryUITest.java
index dc216ec7..0607cf4 100644
--- a/chrome/android/javatests/src/org/chromium/chrome/browser/HistoryUITest.java
+++ b/chrome/android/javatests/src/org/chromium/chrome/browser/HistoryUITest.java
@@ -12,6 +12,7 @@
 import org.chromium.base.ThreadUtils;
 import org.chromium.base.test.util.CallbackHelper;
 import org.chromium.base.test.util.CommandLineFlags;
+import org.chromium.base.test.util.DisabledTest;
 import org.chromium.base.test.util.Feature;
 import org.chromium.base.test.util.RetryOnFailure;
 import org.chromium.chrome.browser.preferences.ButtonPreference;
@@ -178,8 +179,9 @@
         tab.removeObserver(observer);
     }
 
-    @LargeTest
-    @Feature({"History"})
+    // @LargeTest
+    // @Feature({"History"})
+    @DisabledTest
     public void testRemovingEntries() throws InterruptedException, TimeoutException {
         // Urls will be visited in reverse order to preserve the array ordering
         // in the history results.
diff --git a/chrome/android/javatests/src/org/chromium/chrome/browser/searchwidget/SearchWidgetProviderTest.java b/chrome/android/javatests/src/org/chromium/chrome/browser/searchwidget/SearchWidgetProviderTest.java
new file mode 100644
index 0000000..4f7f6a6
--- /dev/null
+++ b/chrome/android/javatests/src/org/chromium/chrome/browser/searchwidget/SearchWidgetProviderTest.java
@@ -0,0 +1,188 @@
+// 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.
+
+package org.chromium.chrome.browser.searchwidget;
+
+import android.app.Activity;
+import android.app.Instrumentation;
+import android.app.Instrumentation.ActivityMonitor;
+import android.content.Context;
+import android.content.Intent;
+import android.support.test.InstrumentationRegistry;
+import android.support.test.filters.SmallTest;
+import android.util.Pair;
+import android.view.View;
+import android.widget.FrameLayout;
+import android.widget.RemoteViews;
+import android.widget.TextView;
+
+import org.junit.Assert;
+import org.junit.Before;
+import org.junit.Test;
+import org.junit.runner.RunWith;
+
+import org.chromium.base.ContextUtils;
+import org.chromium.base.ThreadUtils;
+import org.chromium.base.test.util.AdvancedMockContext;
+import org.chromium.chrome.R;
+import org.chromium.chrome.browser.util.IntentUtils;
+import org.chromium.chrome.test.ChromeJUnit4ClassRunner;
+
+import java.util.ArrayList;
+import java.util.List;
+
+/**
+ * Tests for the SearchWidgetProvider.
+ */
+@RunWith(ChromeJUnit4ClassRunner.class)
+public class SearchWidgetProviderTest {
+    private static final class TestDelegate
+            extends SearchWidgetProvider.SearchWidgetProviderDelegate {
+        public static final int[] ALL_IDS = {11684, 20170525};
+
+        public final List<Pair<Integer, RemoteViews>> mViews = new ArrayList<>();
+
+        private TestDelegate(Context context) {
+            super(context);
+        }
+
+        @Override
+        protected int[] getAllSearchWidgetIds() {
+            return ALL_IDS;
+        }
+
+        @Override
+        protected void updateAppWidget(int id, RemoteViews views) {
+            mViews.add(new Pair<Integer, RemoteViews>(id, views));
+        }
+    }
+
+    private static final class TestContext extends AdvancedMockContext {
+        public TestContext() {
+            // Wrapping the application context allows the ContextUtils to avoid writing to the real
+            // SharedPreferences file.
+            super(InstrumentationRegistry.getInstrumentation()
+                            .getTargetContext()
+                            .getApplicationContext());
+        }
+    }
+
+    private static final String TEXT_GENERIC = "Search";
+    private static final String TEXT_SEARCH_ENGINE = "Stuff and Thangs";
+    private static final String TEXT_SEARCH_ENGINE_FULL = "Search with Stuff and Thangs";
+
+    private TestContext mContext;
+    private TestDelegate mDelegate;
+
+    @Before
+    public void setUp() throws Exception {
+        SearchActivity.disableForTests();
+
+        mContext = new TestContext();
+        ContextUtils.initApplicationContextForTests(mContext);
+
+        mDelegate = new TestDelegate(mContext);
+        SearchWidgetProvider.setDelegateForTest(mDelegate);
+    }
+
+    @Test
+    @SmallTest
+    public void testUpdateAll() {
+        SearchWidgetProvider.handleAction(SearchWidgetProvider.ACTION_UPDATE_ALL_WIDGETS);
+
+        // Without any idea of what the default search engine is, widgets should default to saying
+        // just "Search".
+        checkWidgetStates(TEXT_GENERIC, View.VISIBLE);
+
+        // The microphone icon should disappear if voice queries are unavailable.
+        mDelegate.mViews.clear();
+        SearchWidgetProvider.updateCachedVoiceSearchAvailability(false);
+        checkWidgetStates(TEXT_GENERIC, View.GONE);
+
+        // After recording that the default search engine is "X", it should say "Search with X".
+        mDelegate.mViews.clear();
+        SearchWidgetProvider.updateCachedEngineName(TEXT_SEARCH_ENGINE);
+        checkWidgetStates(TEXT_SEARCH_ENGINE_FULL, View.GONE);
+
+        // The microphone icon should appear if voice queries are available.
+        mDelegate.mViews.clear();
+        SearchWidgetProvider.updateCachedVoiceSearchAvailability(true);
+        checkWidgetStates(TEXT_SEARCH_ENGINE_FULL, View.VISIBLE);
+    }
+
+    private void checkWidgetStates(final String expectedString, final int expectedMicrophoneState) {
+        // Confirm that all the widgets got updated.
+        Assert.assertEquals(TestDelegate.ALL_IDS.length, mDelegate.mViews.size());
+        for (int i = 0; i < TestDelegate.ALL_IDS.length; i++) {
+            Assert.assertEquals(TestDelegate.ALL_IDS[i], mDelegate.mViews.get(i).first.intValue());
+        }
+
+        ThreadUtils.runOnUiThreadBlocking(new Runnable() {
+            @Override
+            public void run() {
+                // Check the contents of the RemoteViews by inflating them.
+                for (int i = 0; i < mDelegate.mViews.size(); i++) {
+                    FrameLayout parentView = new FrameLayout(mContext);
+                    RemoteViews views = mDelegate.mViews.get(i).second;
+                    View view = views.apply(mContext, parentView);
+                    parentView.addView(view);
+
+                    // Confirm that the string is correct.
+                    TextView titleView = (TextView) view.findViewById(R.id.title);
+                    Assert.assertEquals(View.VISIBLE, titleView.getVisibility());
+                    Assert.assertEquals(expectedString, titleView.getText());
+
+                    // Confirm the visibility of the microphone.
+                    View microphoneView = view.findViewById(R.id.microphone_icon);
+                    Assert.assertEquals(expectedMicrophoneState, microphoneView.getVisibility());
+                }
+            }
+        });
+    }
+
+    @Test
+    @SmallTest
+    public void testMicrophoneClick() {
+        SearchWidgetProvider.handleAction(SearchWidgetProvider.ACTION_UPDATE_ALL_WIDGETS);
+        for (int i = 0; i < mDelegate.mViews.size(); i++) {
+            RemoteViews views = mDelegate.mViews.get(i).second;
+            clickOnWidget(views, R.id.microphone_icon);
+        }
+    }
+
+    @Test
+    @SmallTest
+    public void testTextClick() {
+        SearchWidgetProvider.handleAction(SearchWidgetProvider.ACTION_UPDATE_ALL_WIDGETS);
+        for (int i = 0; i < mDelegate.mViews.size(); i++) {
+            RemoteViews views = mDelegate.mViews.get(i).second;
+            clickOnWidget(views, R.id.text_container);
+        }
+    }
+
+    private void clickOnWidget(final RemoteViews views, final int clickTarget) {
+        final Instrumentation instrumentation = InstrumentationRegistry.getInstrumentation();
+        final ActivityMonitor monitor =
+                new ActivityMonitor(SearchActivity.class.getName(), null, false);
+        instrumentation.addMonitor(monitor);
+
+        // Click on the widget.
+        ThreadUtils.runOnUiThreadBlocking(new Runnable() {
+            @Override
+            public void run() {
+                FrameLayout parentView = new FrameLayout(mContext);
+                View view = views.apply(mContext, parentView);
+                parentView.addView(view);
+                view.findViewById(clickTarget).performClick();
+            }
+        });
+
+        // Check that the Activity was launched in the right mode.
+        Activity activity = instrumentation.waitForMonitor(monitor);
+        Intent intent = activity.getIntent();
+        boolean microphoneState = IntentUtils.safeGetBooleanExtra(
+                intent, SearchWidgetProvider.EXTRA_START_VOICE_SEARCH, false);
+        Assert.assertEquals(clickTarget == R.id.microphone_icon, microphoneState);
+    }
+}
diff --git a/chrome/app/generated_resources.grd b/chrome/app/generated_resources.grd
index ef46b9f..a387ef7 100644
--- a/chrome/app/generated_resources.grd
+++ b/chrome/app/generated_resources.grd
@@ -12361,14 +12361,6 @@
       </message>
     </if>
 
-    <!-- Media Remoting strings. -->
-    <message name="IDS_MEDIA_REMOTING_CASTING_VIDEO_TEXT" desc="The text shown on the media player when the video is currently being streamed remotely.">
-      Casting Video...
-    </message>
-    <message name="IDS_MEDIA_REMOTING_CAST_ERROR_TEXT" desc="The text shown on the media player when there is an error when trying to stream the video remotely.">
-      Cast Error
-    </message>
-
     <!-- Consistent omnibox geolocation -->
     <if expr="is_android">
         <message name="IDS_SEARCH_GEOLOCATION_DISCLOSURE_INFOBAR_CONTROL_TEXT" desc="Text to put in the infobar disclosing Google Search's usage of location. The message contains a link to a settings page. The link text is a separate string in the translation console and appears here as a placeholder text. This version of the text is old but is being kept to allow us to compare performance of the new text.">
diff --git a/chrome/browser/BUILD.gn b/chrome/browser/BUILD.gn
index cda77e2..f163dbf 100644
--- a/chrome/browser/BUILD.gn
+++ b/chrome/browser/BUILD.gn
@@ -1453,6 +1453,7 @@
     "//components/captive_portal",
     "//components/certificate_reporting",
     "//components/certificate_transparency",
+    "//components/chrome_cleaner/public/constants",
     "//components/chrome_cleaner/public/interfaces",
     "//components/cloud_devices/common",
     "//components/component_updater",
diff --git a/chrome/browser/about_flags.cc b/chrome/browser/about_flags.cc
index 834e0e99..5f06bfc 100644
--- a/chrome/browser/about_flags.cc
+++ b/chrome/browser/about_flags.cc
@@ -562,6 +562,20 @@
 };
 #endif  // OS_CHROMEOS
 
+#if defined(OS_CHROMEOS) || defined(OS_LINUX) || defined(OS_MACOSX) || \
+    defined(OS_WIN)
+const FeatureEntry::Choice kAppMenuIconChoices[] = {
+    {flags_ui::kGenericExperimentChoiceDefault, "", ""},
+    {flag_descriptions::kAppMenuIconOldBehavior, switches::kAppMenuIcon,
+     switches::kAppMenuIconOldBehavior},
+    {flag_descriptions::kAppMenuIconPersistentOpenedState,
+     switches::kAppMenuIcon, switches::kAppMenuIconPersistentOpenedState},
+    {flag_descriptions::kAppMenuIconPersistentClosedState,
+     switches::kAppMenuIcon, switches::kAppMenuIconPersistentClosedState},
+};
+#endif  // defined(OS_CHROMEOS) || defined(OS_LINUX) || defined(OS_MACOSX) ||
+        // defined(OS_WIN)
+
 #if defined(OS_ANDROID)
 const FeatureEntry::FeatureParam
     kContentSuggestionsCategoryOrderFeatureVariationGeneral[] = {
@@ -2635,6 +2649,9 @@
      flag_descriptions::kOmniboxEntitySuggestionsName,
      flag_descriptions::kOmniboxEntitySuggestionsDescription, kOsDesktop,
      FEATURE_VALUE_TYPE(omnibox::kOmniboxEntitySuggestions)},
+    {"app-menu-icon", flag_descriptions::kAppMenuIconName,
+     flag_descriptions::kAppMenuIconDescription, kOsDesktop,
+     MULTI_VALUE_TYPE(kAppMenuIconChoices)},
 #endif  // defined(OS_CHROMEOS) || defined(OS_LINUX) || defined(OS_MACOSX) ||
         // defined(OS_WIN)
 
diff --git a/chrome/browser/android/offline_pages/background_loader_offliner.cc b/chrome/browser/android/offline_pages/background_loader_offliner.cc
index 60f8c50..3ff7ad6e 100644
--- a/chrome/browser/android/offline_pages/background_loader_offliner.cc
+++ b/chrome/browser/android/offline_pages/background_loader_offliner.cc
@@ -78,6 +78,8 @@
       page_load_state_(SUCCESS),
       page_delay_ms_(kOfflinePageDelayMs),
       network_bytes_(0LL),
+      is_low_bar_met_(false),
+      did_snapshot_on_last_retry_(false),
       weak_ptr_factory_(this) {
   DCHECK(offline_page_model_);
   DCHECK(browser_context_);
diff --git a/chrome/browser/android/offline_pages/prerendering_loader.cc b/chrome/browser/android/offline_pages/prerendering_loader.cc
index 680d7be..df12f0b88 100644
--- a/chrome/browser/android/offline_pages/prerendering_loader.cc
+++ b/chrome/browser/android/offline_pages/prerendering_loader.cc
@@ -94,12 +94,10 @@
 }
 
 void PrerenderingLoader::AddLoadingSignal(const char* signal_name) {
-  std::string signal(signal_name);
-  signal += ": ";
   base::TimeTicks current_time = base::TimeTicks::Now();
   base::TimeDelta delay_so_far = current_time - load_start_time_;
-  signal += std::to_string(delay_so_far.InMilliseconds());
-  signal_data_.push_back(signal);
+  double delay = delay_so_far.InMilliseconds();
+  signal_data_.SetDouble(signal_name, delay);
 }
 
 bool PrerenderingLoader::LoadPage(const GURL& url,
diff --git a/chrome/browser/android/offline_pages/prerendering_loader.h b/chrome/browser/android/offline_pages/prerendering_loader.h
index 5733fec..a3ed68c 100644
--- a/chrome/browser/android/offline_pages/prerendering_loader.h
+++ b/chrome/browser/android/offline_pages/prerendering_loader.h
@@ -10,6 +10,7 @@
 #include <vector>
 
 #include "base/callback.h"
+#include "base/values.h"
 #include "chrome/browser/android/offline_pages/prerender_adapter.h"
 #include "components/offline_pages/core/background/offliner.h"
 #include "components/offline_pages/core/snapshot_controller.h"
@@ -84,10 +85,8 @@
   // Returns true if the lowbar of snapshotting a page is met.
   virtual bool IsLowbarMet();
 
-  // Returns a vector of strings for analysis of loading progress.
-  const std::vector<std::string>& GetLoadingSignalData() {
-    return signal_data_;
-  }
+  // Returns a JSON dictionary value for analysis of loading progress.
+  const base::DictionaryValue& GetLoadingSignalData() { return signal_data_; }
 
  private:
   // State of the loader (only one request may be active at a time).
@@ -134,7 +133,7 @@
   std::unique_ptr<content::WebContents> session_contents_;
 
   // Signal data collected for this rendering attempt
-  std::vector<std::string> signal_data_;
+  base::DictionaryValue signal_data_;
 
   // Callback to call when the active load request completes, fails, or is
   // canceled.
diff --git a/chrome/browser/android/offline_pages/prerendering_offliner.cc b/chrome/browser/android/offline_pages/prerendering_offliner.cc
index 7e0220c..45bf01d7f 100644
--- a/chrome/browser/android/offline_pages/prerendering_offliner.cc
+++ b/chrome/browser/android/offline_pages/prerendering_offliner.cc
@@ -5,6 +5,7 @@
 #include "chrome/browser/android/offline_pages/prerendering_offliner.h"
 
 #include "base/bind.h"
+#include "base/json/json_writer.h"
 #include "base/metrics/histogram_macros.h"
 #include "base/sys_info.h"
 #include "chrome/browser/android/offline_pages/offline_page_mhtml_archiver.h"
@@ -125,13 +126,10 @@
 std::string PrerenderingOffliner::SerializeLoadingSignalData() {
   // Write the signal data into a single string.
   std::string signal_string;
-  const std::vector<std::string>& signals = loader_->GetLoadingSignalData();
+  const base::DictionaryValue& signals = loader_->GetLoadingSignalData();
 
-  // TODO(petewil): Convert this to JSON, use json_writer.h
-  for (std::string signal : signals) {
-    signal_string += signal;
-    signal_string += "\n";
-  }
+  base::JSONWriter::Write(signals, &signal_string);
+
   return signal_string;
 }
 
diff --git a/chrome/browser/android/preferences/pref_service_bridge.cc b/chrome/browser/android/preferences/pref_service_bridge.cc
index 11282c8..b60b402 100644
--- a/chrome/browser/android/preferences/pref_service_bridge.cc
+++ b/chrome/browser/android/preferences/pref_service_bridge.cc
@@ -46,8 +46,8 @@
 #include "components/safe_browsing_db/safe_browsing_prefs.h"
 #include "components/signin/core/common/signin_pref_names.h"
 #include "components/strings/grit/components_locale_settings.h"
+#include "components/translate/core/browser/translate_pref_names.h"
 #include "components/translate/core/browser/translate_prefs.h"
-#include "components/translate/core/common/translate_pref_names.h"
 #include "components/version_info/version_info.h"
 #include "components/web_resource/web_resource_pref_names.h"
 #include "content/public/browser/browser_thread.h"
diff --git a/chrome/browser/android/vr_shell/ui_scene_manager.cc b/chrome/browser/android/vr_shell/ui_scene_manager.cc
index dfd3fa6e..8030e673 100644
--- a/chrome/browser/android/vr_shell/ui_scene_manager.cc
+++ b/chrome/browser/android/vr_shell/ui_scene_manager.cc
@@ -62,6 +62,17 @@
   element->lock_to_fov = true;
   transient_security_warning_ = element.get();
   scene_->AddUiElement(std::move(element));
+
+  // Main web content quad.
+  element = base::MakeUnique<UiElement>();
+  element->id = id++;
+  element->name = "Content";
+  element->fill = vr_shell::Fill::CONTENT;
+  element->size = {(1.6f * (16 / 9)), 1.6f, 1};
+  element->translation = {0, 0, -2};
+  element->visible = false;
+  main_content_ = element.get();
+  scene_->AddUiElement(std::move(element));
 }
 
 UiSceneManager::~UiSceneManager() {}
@@ -72,6 +83,7 @@
 
 void UiSceneManager::SetWebVRMode(bool web_vr) {
   web_vr_mode_ = web_vr;
+  main_content_->visible = !web_vr_mode_;
   ConfigureSecurityWarnings();
 }
 
diff --git a/chrome/browser/android/vr_shell/ui_scene_manager.h b/chrome/browser/android/vr_shell/ui_scene_manager.h
index 529d047..e7b93580 100644
--- a/chrome/browser/android/vr_shell/ui_scene_manager.h
+++ b/chrome/browser/android/vr_shell/ui_scene_manager.h
@@ -34,6 +34,7 @@
   // UI elemenet pointers (not owned by the scene manager).
   UiElement* permanent_security_warning_ = nullptr;
   UiElement* transient_security_warning_ = nullptr;
+  UiElement* main_content_ = nullptr;
 
   bool web_vr_mode_ = false;
   bool secure_origin_ = false;
diff --git a/chrome/browser/browser_shutdown.cc b/chrome/browser/browser_shutdown.cc
index 08043d2..3dd6bb3 100644
--- a/chrome/browser/browser_shutdown.cc
+++ b/chrome/browser/browser_shutdown.cc
@@ -298,25 +298,16 @@
     return;
 
   if (type == WINDOW_CLOSE) {
-    // TODO(manzagop): turn down recording in M57 (once trendlines overlap).
-    UMA_HISTOGRAM_TIMES("Shutdown.window_close.time",
-                        TimeDelta::FromMilliseconds(shutdown_ms));
     UMA_HISTOGRAM_MEDIUM_TIMES("Shutdown.window_close.time2",
                                TimeDelta::FromMilliseconds(shutdown_ms));
     UMA_HISTOGRAM_TIMES("Shutdown.window_close.time_per_process",
                         TimeDelta::FromMilliseconds(shutdown_ms / num_procs));
   } else if (type == BROWSER_EXIT) {
-    // TODO(manzagop): turn down recording in M57 (once trendlines overlap).
-    UMA_HISTOGRAM_TIMES("Shutdown.browser_exit.time",
-                        TimeDelta::FromMilliseconds(shutdown_ms));
     UMA_HISTOGRAM_MEDIUM_TIMES("Shutdown.browser_exit.time2",
                                TimeDelta::FromMilliseconds(shutdown_ms));
     UMA_HISTOGRAM_TIMES("Shutdown.browser_exit.time_per_process",
                         TimeDelta::FromMilliseconds(shutdown_ms / num_procs));
   } else if (type == END_SESSION) {
-    // TODO(manzagop): turn down recording in M57 (once trendlines overlap).
-    UMA_HISTOGRAM_TIMES("Shutdown.end_session.time",
-                        TimeDelta::FromMilliseconds(shutdown_ms));
     UMA_HISTOGRAM_MEDIUM_TIMES("Shutdown.end_session.time2",
                                TimeDelta::FromMilliseconds(shutdown_ms));
     UMA_HISTOGRAM_TIMES("Shutdown.end_session.time_per_process",
diff --git a/chrome/browser/chrome_content_browser_client.cc b/chrome/browser/chrome_content_browser_client.cc
index 9679ace6..1b36190 100644
--- a/chrome/browser/chrome_content_browser_client.cc
+++ b/chrome/browser/chrome_content_browser_client.cc
@@ -485,8 +485,19 @@
 #endif
 
 enum AppLoadedInTabSource {
+  // A platform app page tried to load one of its own URLs in a tab.
   APP_LOADED_IN_TAB_SOURCE_APP = 0,
+
+  // A platform app background page tried to load one of its own URLs in a tab.
   APP_LOADED_IN_TAB_SOURCE_BACKGROUND_PAGE,
+
+  // An extension or app tried to load a resource of a different platform app in
+  // a tab.
+  APP_LOADED_IN_TAB_SOURCE_OTHER_EXTENSION,
+
+  // A non-app and non-extension page tried to load a platform app in a tab.
+  APP_LOADED_IN_TAB_SOURCE_OTHER,
+
   APP_LOADED_IN_TAB_SOURCE_MAX
 };
 
@@ -890,6 +901,28 @@
                                   std::string(),
                                   incognito));
 }
+
+AppLoadedInTabSource ClassifyAppLoadedInTabSource(
+    const GURL& opener_url,
+    const extensions::Extension* target_platform_app) {
+  if (opener_url.SchemeIs(extensions::kExtensionScheme)) {
+    if (opener_url.host_piece() == target_platform_app->id()) {
+      // This platform app was trying to window.open() one of its own URLs.
+      if (opener_url ==
+          extensions::BackgroundInfo::GetBackgroundURL(target_platform_app)) {
+        // Source was the background page.
+        return APP_LOADED_IN_TAB_SOURCE_BACKGROUND_PAGE;
+      } else {
+        // Source was a different page inside the app.
+        return APP_LOADED_IN_TAB_SOURCE_APP;
+      }
+    }
+    // The forbidden app URL was being opened by a different app or extension.
+    return APP_LOADED_IN_TAB_SOURCE_OTHER_EXTENSION;
+  }
+  // The forbidden app URL was being opened by a non-extension page (e.g. http).
+  return APP_LOADED_IN_TAB_SOURCE_OTHER;
+}
 #endif  // BUILDFLAG(ENABLE_EXTENSIONS)
 
 void CreateUsbDeviceManager(
@@ -2489,20 +2522,14 @@
     ProfileIOData* io_data = ProfileIOData::FromResourceContext(context);
     InfoMap* map = io_data->GetExtensionInfoMap();
     const Extension* extension =
-        map->extensions().GetExtensionOrAppByURL(opener_url);
+        map->extensions().GetExtensionOrAppByURL(target_url);
     if (extension && extension->is_platform_app()) {
-      AppLoadedInTabSource source =
-          opener_top_level_frame_url ==
-                  extensions::BackgroundInfo::GetBackgroundURL(extension)
-              ? APP_LOADED_IN_TAB_SOURCE_BACKGROUND_PAGE
-              : APP_LOADED_IN_TAB_SOURCE_APP;
-      // TODO(lazyboy): Remove this UMA once the change below to disallow apps
-      // in tabs has settled in stable branch.
-      UMA_HISTOGRAM_ENUMERATION("Extensions.AppLoadedInTab", source,
-                                APP_LOADED_IN_TAB_SOURCE_MAX);
-      // Platform apps and their background pages should not be able to call
-      // window.open() to load v2 apps in regular tab.
-      // Simply disallow window.open() calls in this case.
+      UMA_HISTOGRAM_ENUMERATION(
+          "Extensions.AppLoadedInTab",
+          ClassifyAppLoadedInTabSource(opener_url, extension),
+          APP_LOADED_IN_TAB_SOURCE_MAX);
+
+      // window.open() may not be used to load v2 apps in a regular tab.
       return false;
     }
   }
diff --git a/chrome/browser/chromeos/arc/arc_session_manager.cc b/chrome/browser/chromeos/arc/arc_session_manager.cc
index cfb02ac..6a46751a 100644
--- a/chrome/browser/chromeos/arc/arc_session_manager.cc
+++ b/chrome/browser/chromeos/arc/arc_session_manager.cc
@@ -6,7 +6,6 @@
 
 #include <utility>
 
-#include "ash/shelf/shelf_delegate.h"
 #include "base/bind.h"
 #include "base/callback_helpers.h"
 #include "base/command_line.h"
diff --git a/chrome/browser/chromeos/chrome_browser_main_chromeos.cc b/chrome/browser/chromeos/chrome_browser_main_chromeos.cc
index ae06f01..802f259 100644
--- a/chrome/browser/chromeos/chrome_browser_main_chromeos.cc
+++ b/chrome/browser/chromeos/chrome_browser_main_chromeos.cc
@@ -242,8 +242,11 @@
         DBusThreadManager::Get()->GetPowerManagerClient());
 
     CrosDBusService::ServiceProviderList service_providers;
+    // TODO(derat): Remove this provider once all callers are using
+    // |proxy_resolution_service_| instead: http://crbug.com/703217
     service_providers.push_back(
         base::MakeUnique<ProxyResolutionServiceProvider>(
+            kLibCrosServiceInterface, kResolveNetworkProxy,
             base::MakeUnique<ChromeProxyResolutionServiceProviderDelegate>()));
     if (GetAshConfig() == ash::Config::CLASSIC) {
       // TODO(crbug.com/629707): revisit this with mustash dbus work.
@@ -259,6 +262,8 @@
       service_providers.push_back(base::MakeUnique<ConsoleServiceProvider>(
           base::MakeUnique<MusConsoleServiceProviderDelegate>()));
     }
+    // TODO(teravest): Remove this provider once all callers are using
+    // |kiosk_info_service_| instead: http://crbug.com/703229
     service_providers.push_back(base::MakeUnique<KioskInfoService>(
         kLibCrosServiceInterface,
         kKioskAppServiceGetRequiredPlatformVersionMethod));
@@ -266,6 +271,15 @@
         kLibCrosServiceName, dbus::ObjectPath(kLibCrosServicePath),
         std::move(service_providers));
 
+    proxy_resolution_service_ = CrosDBusService::Create(
+        kNetworkProxyServiceName, dbus::ObjectPath(kNetworkProxyServicePath),
+        CrosDBusService::CreateServiceProviderList(
+            base::MakeUnique<ProxyResolutionServiceProvider>(
+                kNetworkProxyServiceInterface,
+                kNetworkProxyServiceResolveProxyMethod,
+                base::MakeUnique<
+                    ChromeProxyResolutionServiceProviderDelegate>())));
+
     kiosk_info_service_ = CrosDBusService::Create(
         kKioskAppServiceName, dbus::ObjectPath(kKioskAppServicePath),
         CrosDBusService::CreateServiceProviderList(
@@ -322,6 +336,7 @@
     CertLoader::Shutdown();
     TPMTokenLoader::Shutdown();
     cros_dbus_service_.reset();
+    proxy_resolution_service_.reset();
     kiosk_info_service_.reset();
     PowerDataCollector::Shutdown();
     PowerPolicyController::Shutdown();
@@ -340,6 +355,7 @@
   // split between different processes: http://crbug.com/692246
   std::unique_ptr<CrosDBusService> cros_dbus_service_;
 
+  std::unique_ptr<CrosDBusService> proxy_resolution_service_;
   std::unique_ptr<CrosDBusService> kiosk_info_service_;
 
   std::unique_ptr<NetworkConnectDelegateChromeOS> network_connect_delegate_;
diff --git a/chrome/browser/chromeos/login/supervised/supervised_user_creation_flow.cc b/chrome/browser/chromeos/login/supervised/supervised_user_creation_flow.cc
index ff70fbbd..504d954 100644
--- a/chrome/browser/chromeos/login/supervised/supervised_user_creation_flow.cc
+++ b/chrome/browser/chromeos/login/supervised/supervised_user_creation_flow.cc
@@ -46,7 +46,7 @@
   return false;
 }
 
-bool SupervisedUserCreationFlow::ShouldShowSettings() {
+bool SupervisedUserCreationFlow::ShouldEnableSettings() {
   return false;
 }
 
diff --git a/chrome/browser/chromeos/login/supervised/supervised_user_creation_flow.h b/chrome/browser/chromeos/login/supervised/supervised_user_creation_flow.h
index 2c88141e..868d466 100644
--- a/chrome/browser/chromeos/login/supervised/supervised_user_creation_flow.h
+++ b/chrome/browser/chromeos/login/supervised/supervised_user_creation_flow.h
@@ -22,9 +22,10 @@
   explicit SupervisedUserCreationFlow(const AccountId& manager_id);
   ~SupervisedUserCreationFlow() override;
 
+  // UserFlow:
   bool CanLockScreen() override;
   bool CanStartArc() override;
-  bool ShouldShowSettings() override;
+  bool ShouldEnableSettings() override;
   bool ShouldShowNotificationTray() override;
   bool ShouldLaunchBrowser() override;
   bool ShouldSkipPostLoginScreens() override;
diff --git a/chrome/browser/chromeos/login/user_flow.cc b/chrome/browser/chromeos/login/user_flow.cc
index f0871e8..fcf1911 100644
--- a/chrome/browser/chromeos/login/user_flow.cc
+++ b/chrome/browser/chromeos/login/user_flow.cc
@@ -34,7 +34,7 @@
   return true;
 }
 
-bool DefaultUserFlow::ShouldShowSettings() {
+bool DefaultUserFlow::ShouldEnableSettings() {
   return true;
 }
 
@@ -80,7 +80,7 @@
 void ExtendedUserFlow::AppendAdditionalCommandLineSwitches() {
 }
 
-bool ExtendedUserFlow::ShouldShowSettings() {
+bool ExtendedUserFlow::ShouldEnableSettings() {
   return true;
 }
 
diff --git a/chrome/browser/chromeos/login/user_flow.h b/chrome/browser/chromeos/login/user_flow.h
index 23c9094ac..a11b004 100644
--- a/chrome/browser/chromeos/login/user_flow.h
+++ b/chrome/browser/chromeos/login/user_flow.h
@@ -29,8 +29,13 @@
   // Indicates if screen locking should be enabled or disabled for a flow.
   virtual bool CanLockScreen() = 0;
   virtual bool CanStartArc() = 0;
-  virtual bool ShouldShowSettings() = 0;
+
+  // Whether or not the settings icon should be enabled in the system tray menu.
+  virtual bool ShouldEnableSettings() = 0;
+
+  // Whether or not the notifications tray should be visible.
   virtual bool ShouldShowNotificationTray() = 0;
+
   virtual bool ShouldLaunchBrowser() = 0;
   virtual bool ShouldSkipPostLoginScreens() = 0;
   virtual bool SupportsEarlyRestartToApplyFlags() = 0;
@@ -55,10 +60,11 @@
  public:
   ~DefaultUserFlow() override;
 
+  // UserFlow:
   void AppendAdditionalCommandLineSwitches() override;
   bool CanLockScreen() override;
   bool CanStartArc() override;
-  bool ShouldShowSettings() override;
+  bool ShouldEnableSettings() override;
   bool ShouldShowNotificationTray() override;
   bool ShouldLaunchBrowser() override;
   bool ShouldSkipPostLoginScreens() override;
@@ -77,8 +83,9 @@
   explicit ExtendedUserFlow(const AccountId& account_id);
   ~ExtendedUserFlow() override;
 
+  // UserFlow:
   void AppendAdditionalCommandLineSwitches() override;
-  bool ShouldShowSettings() override;
+  bool ShouldEnableSettings() override;
   bool ShouldShowNotificationTray() override;
   void HandleOAuthTokenStatusChange(
       user_manager::User::OAuthTokenStatus status) override;
diff --git a/chrome/browser/chromeos/policy/device_status_collector.h b/chrome/browser/chromeos/policy/device_status_collector.h
index cafec87..233a132 100644
--- a/chrome/browser/chromeos/policy/device_status_collector.h
+++ b/chrome/browser/chromeos/policy/device_status_collector.h
@@ -107,7 +107,7 @@
 
   // Called after the status information has successfully been submitted to
   // the server.
-  void OnSubmittedSuccessfully();
+  virtual void OnSubmittedSuccessfully();
 
   static void RegisterPrefs(PrefRegistrySimple* registry);
   static void RegisterProfilePrefs(PrefRegistrySimple* registry);
diff --git a/chrome/browser/chromeos/policy/status_uploader.cc b/chrome/browser/chromeos/policy/status_uploader.cc
index 0b61357..786afd0 100644
--- a/chrome/browser/chromeos/policy/status_uploader.cc
+++ b/chrome/browser/chromeos/policy/status_uploader.cc
@@ -209,6 +209,15 @@
     ScheduleNextStatusUpload();
     return;
   }
+  if (!client_->is_registered()) {
+    // This can happen when the DM Token is missing (crbug.com/705607).
+    VLOG(1) << "Skipping status upload because the client is not registered";
+    // Reset the timer to avoid log spamming.
+    last_upload_ = base::Time::NowFromSystemTime();
+    status_upload_in_progress_ = false;
+    ScheduleNextStatusUpload();
+    return;
+  }
 
   SYSLOG(INFO) << "Starting status upload: have_device_status = "
                << have_device_status;
diff --git a/chrome/browser/chromeos/policy/status_uploader_unittest.cc b/chrome/browser/chromeos/policy/status_uploader_unittest.cc
index ea36e4e..4a9c21f 100644
--- a/chrome/browser/chromeos/policy/status_uploader_unittest.cc
+++ b/chrome/browser/chromeos/policy/status_uploader_unittest.cc
@@ -6,6 +6,9 @@
 
 #include <utility>
 
+#include "base/bind.h"
+#include "base/bind_helpers.h"
+#include "base/callback.h"
 #include "base/memory/ptr_util.h"
 #include "base/test/test_simple_task_runner.h"
 #include "base/time/time.h"
@@ -61,6 +64,8 @@
   MOCK_METHOD1(GetDeviceAndSessionStatusAsync,
                void(const policy::DeviceStatusCollector::StatusCallback&));
 
+  MOCK_METHOD0(OnSubmittedSuccessfully, void());
+
   // Explicit mock implementation declared here, since gmock::Invoke can't
   // handle returning non-moveable types like scoped_ptr.
   std::unique_ptr<policy::DeviceLocalAccount> GetAutoLaunchedKioskSessionInfo()
@@ -97,11 +102,12 @@
     content::RunAllBlockingPoolTasksUntilIdle();
   }
 
-  // Given a pending task to upload status, mocks out a server response.
-  void RunPendingUploadTaskAndCheckNext(const StatusUploader& uploader,
-                                        base::TimeDelta expected_delay) {
-    // Running the task should pass two callbacks into GetDeviceStatusAsync
-    // and GetDeviceSessionStatusAsync. We'll grab these two callbacks.
+  // Given a pending task to upload status, runs the task and returns the
+  // callback waiting to get device status / session status. The status upload
+  // task will be blocked until the test code calls that callback.
+  DeviceStatusCollector::StatusCallback CollectStatusCallback() {
+    // Running the task should pass a callback into
+    // GetDeviceAndSessionStatusAsync. We'll grab this callback.
     EXPECT_TRUE(task_runner_->HasPendingTask());
     DeviceStatusCollector::StatusCallback status_callback;
     EXPECT_CALL(*collector_ptr_, GetDeviceAndSessionStatusAsync(_))
@@ -109,27 +115,43 @@
     task_runner_->RunPendingTasks();
     testing::Mock::VerifyAndClearExpectations(&device_management_service_);
 
-    // Send some "valid" (read: non-nullptr) to the device/session callbacks
-    // in order to simulate valid status data.
-    std::unique_ptr<em::DeviceStatusReportRequest> device_status =
-        base::MakeUnique<em::DeviceStatusReportRequest>();
-    std::unique_ptr<em::SessionStatusReportRequest> session_status =
-        base::MakeUnique<em::SessionStatusReportRequest>();
+    return status_callback;
+  }
 
-    // Running the session and device callbacks should trigger
+  // Given a pending task to upload status, mocks out a server response.
+  void RunPendingUploadTaskAndCheckNext(const StatusUploader& uploader,
+                                        base::TimeDelta expected_delay,
+                                        bool upload_success) {
+    DeviceStatusCollector::StatusCallback status_callback =
+        CollectStatusCallback();
+
+    // Running the status collected callback should trigger
     // CloudPolicyClient::UploadDeviceStatus.
     CloudPolicyClient::StatusCallback callback;
     EXPECT_CALL(client_, UploadDeviceStatus(_, _, _))
         .WillOnce(SaveArg<2>(&callback));
+
+    // Send some "valid" (read: non-nullptr) device/session data to the
+    // callback in order to simulate valid status data.
+    std::unique_ptr<em::DeviceStatusReportRequest> device_status =
+        base::MakeUnique<em::DeviceStatusReportRequest>();
+    std::unique_ptr<em::SessionStatusReportRequest> session_status =
+        base::MakeUnique<em::SessionStatusReportRequest>();
     status_callback.Run(std::move(device_status), std::move(session_status));
+
     testing::Mock::VerifyAndClearExpectations(&device_management_service_);
 
     // Make sure no status upload is queued up yet (since an upload is in
     // progress).
     EXPECT_FALSE(task_runner_->HasPendingTask());
 
+    // StatusUpdater is only supposed to tell DeviceStatusCollector to clear its
+    // caches if the status upload succeeded.
+    EXPECT_CALL(*collector_ptr_, OnSubmittedSuccessfully())
+        .Times(upload_success ? 1 : 0);
+
     // Now invoke the response.
-    callback.Run(true);
+    callback.Run(upload_success);
 
     // Now that the previous request was satisfied, a task to do the next
     // upload should be queued.
@@ -182,17 +204,20 @@
             task_runner_->NextPendingTaskDelay());
 
   // Second update should use the delay specified in settings.
-  RunPendingUploadTaskAndCheckNext(uploader, expected_delay);
+  RunPendingUploadTaskAndCheckNext(uploader, expected_delay,
+                                   true /* upload_success */);
 }
 
 TEST_F(StatusUploaderTest, ResetTimerAfterStatusCollection) {
   StatusUploader uploader(&client_, std::move(collector_), task_runner_);
   const base::TimeDelta expected_delay = base::TimeDelta::FromMilliseconds(
       StatusUploader::kDefaultUploadDelayMs);
-  RunPendingUploadTaskAndCheckNext(uploader, expected_delay);
+  RunPendingUploadTaskAndCheckNext(uploader, expected_delay,
+                                   true /* upload_success */);
 
   // Handle this response also, and ensure new task is queued.
-  RunPendingUploadTaskAndCheckNext(uploader, expected_delay);
+  RunPendingUploadTaskAndCheckNext(uploader, expected_delay,
+                                   true /* upload_success */);
 
   // Now that the previous request was satisfied, a task to do the next
   // upload should be queued again.
@@ -202,9 +227,9 @@
 TEST_F(StatusUploaderTest, ResetTimerAfterFailedStatusCollection) {
   StatusUploader uploader(&client_, std::move(collector_), task_runner_);
 
-  // Running the queued task should pass two callbacks into GetDeviceStatusAsync
-  // and GetDeviceSessionStatusAsync. We'll grab these two callbacks and send
-  // nullptrs to them in order to simulate failure to get status.
+  // Running the queued task should pass a callback into
+  // GetDeviceAndSessionStatusAsync. We'll grab this callback and send nullptrs
+  // to it in order to simulate failure to get status.
   EXPECT_EQ(1U, task_runner_->NumPendingTasks());
   DeviceStatusCollector::StatusCallback status_callback;
   EXPECT_CALL(*collector_ptr_, GetDeviceAndSessionStatusAsync(_))
@@ -212,9 +237,9 @@
   task_runner_->RunPendingTasks();
   testing::Mock::VerifyAndClearExpectations(&device_management_service_);
 
-  // Running the session and device callbacks should trigger
-  // StatusUploader::OnStatusReceived, which in turn should recognize the
-  // failure to get status and queue another status upload.
+  // Running the callback should trigger StatusUploader::OnStatusReceived, which
+  // in turn should recognize the failure to get status and queue another status
+  // upload.
   std::unique_ptr<em::DeviceStatusReportRequest> invalid_device_status;
   std::unique_ptr<em::SessionStatusReportRequest> invalid_session_status;
   status_callback.Run(std::move(invalid_device_status),
@@ -227,6 +252,49 @@
   CheckPendingTaskDelay(uploader, expected_delay);
 }
 
+TEST_F(StatusUploaderTest, ResetTimerAfterUploadError) {
+  StatusUploader uploader(&client_, std::move(collector_), task_runner_);
+
+  const base::TimeDelta expected_delay =
+      base::TimeDelta::FromMilliseconds(StatusUploader::kDefaultUploadDelayMs);
+  // Simulate upload error
+  RunPendingUploadTaskAndCheckNext(uploader, expected_delay,
+                                   false /* upload_success */);
+
+  // Now that the previous request was satisfied, a task to do the next
+  // upload should be queued again.
+  EXPECT_EQ(1U, task_runner_->NumPendingTasks());
+}
+
+TEST_F(StatusUploaderTest, ResetTimerAfterUnregisteredClient) {
+  StatusUploader uploader(&client_, std::move(collector_), task_runner_);
+
+  client_.SetDMToken("");
+  EXPECT_FALSE(client_.is_registered());
+
+  DeviceStatusCollector::StatusCallback status_callback =
+      CollectStatusCallback();
+
+  // Make sure no status upload is queued up yet (since an upload is in
+  // progress).
+  EXPECT_FALSE(task_runner_->HasPendingTask());
+
+  // StatusUploader should not try to upload using an unregistered client
+  EXPECT_CALL(client_, UploadDeviceStatus(_, _, _)).Times(0);
+  std::unique_ptr<em::DeviceStatusReportRequest> device_status =
+      base::MakeUnique<em::DeviceStatusReportRequest>();
+  std::unique_ptr<em::SessionStatusReportRequest> session_status =
+      base::MakeUnique<em::SessionStatusReportRequest>();
+  status_callback.Run(std::move(device_status), std::move(session_status));
+
+  // A task to try again should be queued.
+  ASSERT_EQ(1U, task_runner_->NumPendingTasks());
+
+  const base::TimeDelta expected_delay =
+      base::TimeDelta::FromMilliseconds(StatusUploader::kDefaultUploadDelayMs);
+  CheckPendingTaskDelay(uploader, expected_delay);
+}
+
 TEST_F(StatusUploaderTest, ChangeFrequency) {
   StatusUploader uploader(&client_, std::move(collector_), task_runner_);
   // Change the frequency. The new frequency should be reflected in the timing
@@ -235,7 +303,8 @@
   settings_helper_.SetInteger(chromeos::kReportUploadFrequency, new_delay);
   const base::TimeDelta expected_delay = base::TimeDelta::FromMilliseconds(
       new_delay);
-  RunPendingUploadTaskAndCheckNext(uploader, expected_delay);
+  RunPendingUploadTaskAndCheckNext(uploader, expected_delay,
+                                   true /* upload_success */);
 }
 
 #if defined(USE_X11) || defined(USE_OZONE)
diff --git a/chrome/browser/chromeos/preferences_chromeos_browsertest.cc b/chrome/browser/chromeos/preferences_chromeos_browsertest.cc
index fe2654d..0ddfaf85 100644
--- a/chrome/browser/chromeos/preferences_chromeos_browsertest.cc
+++ b/chrome/browser/chromeos/preferences_chromeos_browsertest.cc
@@ -246,23 +246,27 @@
   // Check that changing prefs of the active user doesn't affect prefs of the
   // inactive user.
   std::unique_ptr<base::DictionaryValue> prefs_backup =
-      prefs1->GetPreferenceValues();
+      prefs1->GetPreferenceValues(PrefService::INCLUDE_DEFAULTS);
   SetPrefs(prefs2, false);
   CheckSettingsCorrespondToPrefs(prefs2);
-  EXPECT_TRUE(prefs_backup->Equals(prefs1->GetPreferenceValues().get()));
+  EXPECT_TRUE(prefs_backup->Equals(
+      prefs1->GetPreferenceValues(PrefService::INCLUDE_DEFAULTS).get()));
   SetPrefs(prefs2, true);
   CheckSettingsCorrespondToPrefs(prefs2);
-  EXPECT_TRUE(prefs_backup->Equals(prefs1->GetPreferenceValues().get()));
+  EXPECT_TRUE(prefs_backup->Equals(
+      prefs1->GetPreferenceValues(PrefService::INCLUDE_DEFAULTS).get()));
 
   // Check that changing prefs of the inactive user doesn't affect prefs of the
   // active user.
-  prefs_backup = prefs2->GetPreferenceValues();
+  prefs_backup = prefs2->GetPreferenceValues(PrefService::INCLUDE_DEFAULTS);
   SetPrefs(prefs1, true);
   CheckSettingsCorrespondToPrefs(prefs2);
-  EXPECT_TRUE(prefs_backup->Equals(prefs2->GetPreferenceValues().get()));
+  EXPECT_TRUE(prefs_backup->Equals(
+      prefs2->GetPreferenceValues(PrefService::INCLUDE_DEFAULTS).get()));
   SetPrefs(prefs1, false);
   CheckSettingsCorrespondToPrefs(prefs2);
-  EXPECT_TRUE(prefs_backup->Equals(prefs2->GetPreferenceValues().get()));
+  EXPECT_TRUE(prefs_backup->Equals(
+      prefs2->GetPreferenceValues(PrefService::INCLUDE_DEFAULTS).get()));
 
   // Check that changing non-owner prefs doesn't change corresponding local
   // state prefs and vice versa.
diff --git a/chrome/browser/component_updater/sw_reporter_installer_win.cc b/chrome/browser/component_updater/sw_reporter_installer_win.cc
index bca424f8..c15810b 100644
--- a/chrome/browser/component_updater/sw_reporter_installer_win.cc
+++ b/chrome/browser/component_updater/sw_reporter_installer_win.cc
@@ -36,6 +36,7 @@
 #include "chrome/browser/browser_process.h"
 #include "chrome/browser/safe_browsing/srt_fetcher_win.h"
 #include "chrome/browser/safe_browsing/srt_field_trial_win.h"
+#include "components/chrome_cleaner/public/constants/constants.h"
 #include "components/component_updater/component_updater_paths.h"
 #include "components/component_updater/component_updater_service.h"
 #include "components/component_updater/pref_names.h"
@@ -72,14 +73,6 @@
 const base::FilePath::CharType kSwReporterExeName[] =
     FILE_PATH_LITERAL("software_reporter_tool.exe");
 
-constexpr char kSessionIdSwitch[] = "session-id";
-
-// SRT registry keys and value names.
-const wchar_t kCleanerSuffixRegistryKey[] = L"Cleaner";
-const wchar_t kExitCodeValueName[] = L"ExitCode";
-const wchar_t kUploadResultsValueName[] = L"UploadResults";
-const wchar_t kVersionValueName[] = L"Version";
-
 constexpr base::Feature kExperimentalEngineFeature{
     "ExperimentalSwReporterEngine", base::FEATURE_DISABLED_BY_DEFAULT};
 constexpr base::Feature kExperimentalEngineAllArchsFeature{
@@ -251,7 +244,8 @@
     base::CommandLine command_line(argv);
 
     // Add a random session id to link experimental reporter runs together.
-    command_line.AppendSwitchASCII(kSessionIdSwitch, session_id);
+    command_line.AppendSwitchASCII(chrome_cleaner::kSessionIdSwitch,
+                                   session_id);
 
     const std::string experiment_group =
         variations::GetVariationParamValueByFeature(
@@ -330,7 +324,8 @@
                               reporter_runner_);
   } else {
     base::CommandLine command_line(exe_path);
-    command_line.AppendSwitchASCII(kSessionIdSwitch, GenerateSessionId());
+    command_line.AppendSwitchASCII(chrome_cleaner::kSessionIdSwitch,
+                                   GenerateSessionId());
     auto invocation = SwReporterInvocation::FromCommandLine(command_line);
     invocation.supported_behaviours =
         SwReporterInvocation::BEHAVIOUR_LOG_EXIT_CODE_TO_PREFS |
@@ -397,34 +392,34 @@
 
   // Check if we have information from Cleaner and record UMA statistics.
   base::string16 cleaner_key_name(
-      safe_browsing::kSoftwareRemovalToolRegistryKey);
-  cleaner_key_name.append(1, L'\\').append(kCleanerSuffixRegistryKey);
+      chrome_cleaner::kSoftwareRemovalToolRegistryKey);
+  cleaner_key_name.append(1, L'\\').append(chrome_cleaner::kCleanerSubKey);
   base::win::RegKey cleaner_key(
       HKEY_CURRENT_USER, cleaner_key_name.c_str(), KEY_ALL_ACCESS);
   // Cleaner is assumed to have run if we have a start time.
   if (cleaner_key.Valid()) {
-    if (cleaner_key.HasValue(safe_browsing::kStartTimeValueName)) {
+    if (cleaner_key.HasValue(chrome_cleaner::kStartTimeValueName)) {
       // Get version number.
-      if (cleaner_key.HasValue(kVersionValueName)) {
+      if (cleaner_key.HasValue(chrome_cleaner::kVersionValueName)) {
         DWORD version;
-        cleaner_key.ReadValueDW(kVersionValueName, &version);
+        cleaner_key.ReadValueDW(chrome_cleaner::kVersionValueName, &version);
         UMA_HISTOGRAM_SPARSE_SLOWLY("SoftwareReporter.Cleaner.Version",
                                     version);
-        cleaner_key.DeleteValue(kVersionValueName);
+        cleaner_key.DeleteValue(chrome_cleaner::kVersionValueName);
       }
       // Get start & end time. If we don't have an end time, we can assume the
       // cleaner has not completed.
       int64_t start_time_value;
-      cleaner_key.ReadInt64(safe_browsing::kStartTimeValueName,
+      cleaner_key.ReadInt64(chrome_cleaner::kStartTimeValueName,
                             &start_time_value);
 
-      bool completed = cleaner_key.HasValue(safe_browsing::kEndTimeValueName);
+      bool completed = cleaner_key.HasValue(chrome_cleaner::kEndTimeValueName);
       SRTHasCompleted(completed ? SRT_COMPLETED_YES : SRT_COMPLETED_NOT_YET);
       if (completed) {
         int64_t end_time_value;
-        cleaner_key.ReadInt64(safe_browsing::kEndTimeValueName,
+        cleaner_key.ReadInt64(chrome_cleaner::kEndTimeValueName,
                               &end_time_value);
-        cleaner_key.DeleteValue(safe_browsing::kEndTimeValueName);
+        cleaner_key.DeleteValue(chrome_cleaner::kEndTimeValueName);
         base::TimeDelta run_time(
             base::Time::FromInternalValue(end_time_value) -
             base::Time::FromInternalValue(start_time_value));
@@ -432,18 +427,18 @@
                                  run_time);
       }
       // Get exit code. Assume nothing was found if we can't read the exit code.
-      DWORD exit_code = safe_browsing::kSwReporterNothingFound;
-      if (cleaner_key.HasValue(kExitCodeValueName)) {
-        cleaner_key.ReadValueDW(kExitCodeValueName, &exit_code);
+      DWORD exit_code = chrome_cleaner::kSwReporterNothingFound;
+      if (cleaner_key.HasValue(chrome_cleaner::kExitCodeValueName)) {
+        cleaner_key.ReadValueDW(chrome_cleaner::kExitCodeValueName, &exit_code);
         UMA_HISTOGRAM_SPARSE_SLOWLY("SoftwareReporter.Cleaner.ExitCode",
                                     exit_code);
-        cleaner_key.DeleteValue(kExitCodeValueName);
+        cleaner_key.DeleteValue(chrome_cleaner::kExitCodeValueName);
       }
-      cleaner_key.DeleteValue(safe_browsing::kStartTimeValueName);
+      cleaner_key.DeleteValue(chrome_cleaner::kStartTimeValueName);
 
-      if (exit_code == safe_browsing::kSwReporterPostRebootCleanupNeeded ||
+      if (exit_code == chrome_cleaner::kSwReporterPostRebootCleanupNeeded ||
           exit_code ==
-              safe_browsing::kSwReporterDelayedPostRebootCleanupNeeded) {
+              chrome_cleaner::kSwReporterDelayedPostRebootCleanupNeeded) {
         // Check if we are running after the user has rebooted.
         base::TimeDelta elapsed(
             base::Time::Now() -
@@ -454,15 +449,16 @@
             static_cast<uint64_t>(elapsed.InMilliseconds()) > ::GetTickCount());
       }
 
-      if (cleaner_key.HasValue(kUploadResultsValueName)) {
+      if (cleaner_key.HasValue(chrome_cleaner::kUploadResultsValueName)) {
         base::string16 upload_results;
-        cleaner_key.ReadValue(kUploadResultsValueName, &upload_results);
+        cleaner_key.ReadValue(chrome_cleaner::kUploadResultsValueName,
+                              &upload_results);
         ReportUploadsWithUma(upload_results);
       }
     } else {
-      if (cleaner_key.HasValue(safe_browsing::kEndTimeValueName)) {
+      if (cleaner_key.HasValue(chrome_cleaner::kEndTimeValueName)) {
         SRTHasCompleted(SRT_COMPLETED_LATER);
-        cleaner_key.DeleteValue(safe_browsing::kEndTimeValueName);
+        cleaner_key.DeleteValue(chrome_cleaner::kEndTimeValueName);
       }
     }
   }
diff --git a/chrome/browser/download/download_item_model.cc b/chrome/browser/download/download_item_model.cc
index 8537abc..6238371 100644
--- a/chrome/browser/download/download_item_model.cc
+++ b/chrome/browser/download/download_item_model.cc
@@ -93,6 +93,7 @@
       static_cast<DownloadItemModelData*>(download->GetUserData(kKey));
   if (data == NULL) {
     data = new DownloadItemModelData();
+    data->should_show_in_shelf_ = !download->IsTransient();
     download->SetUserData(kKey, data);
   }
   return data;
@@ -592,7 +593,10 @@
 
 bool DownloadItemModel::ShouldShowInShelf() const {
   const DownloadItemModelData* data = DownloadItemModelData::Get(download_);
-  return !data || data->should_show_in_shelf_;
+  if (data)
+    return data->should_show_in_shelf_;
+
+  return !download_->IsTransient();
 }
 
 void DownloadItemModel::SetShouldShowInShelf(bool should_show) {
diff --git a/chrome/browser/download/download_item_model_unittest.cc b/chrome/browser/download/download_item_model_unittest.cc
index d39a6c37..1d2de5d3 100644
--- a/chrome/browser/download/download_item_model_unittest.cc
+++ b/chrome/browser/download/download_item_model_unittest.cc
@@ -366,15 +366,24 @@
 TEST_F(DownloadItemModelTest, ShouldShowInShelf) {
   SetupDownloadItemDefaults();
 
-  // By default the download item should be displayable on the shelf.
+  // By default the download item should be displayable on the shelf when it is
+  // not a transient download.
+  EXPECT_CALL(item(), IsTransient()).WillOnce(Return(false));
   EXPECT_TRUE(model().ShouldShowInShelf());
 
-  // Once explicitly set, ShouldShowInShelf() should return the explicit value.
-  model().SetShouldShowInShelf(false);
+  EXPECT_CALL(item(), IsTransient()).WillOnce(Return(true));
   EXPECT_FALSE(model().ShouldShowInShelf());
 
+  // Once explicitly set, ShouldShowInShelf() should return the explicit value
+  // regardless of whether it's a transient download, which should no longer
+  // be considered by the model after initializing it.
+  EXPECT_CALL(item(), IsTransient()).Times(1);
+
   model().SetShouldShowInShelf(true);
   EXPECT_TRUE(model().ShouldShowInShelf());
+
+  model().SetShouldShowInShelf(false);
+  EXPECT_FALSE(model().ShouldShowInShelf());
 }
 
 TEST_F(DownloadItemModelTest, DangerLevel) {
diff --git a/chrome/browser/engagement/site_engagement_metrics.cc b/chrome/browser/engagement/site_engagement_metrics.cc
index ab2f62b62..84881f83 100644
--- a/chrome/browser/engagement/site_engagement_metrics.cc
+++ b/chrome/browser/engagement/site_engagement_metrics.cc
@@ -31,18 +31,9 @@
 const char SiteEngagementMetrics::kMedianEngagementHistogram[] =
     "SiteEngagementService.MedianEngagement";
 
-const char SiteEngagementMetrics::kEngagementPercentageForHTTPSHistogram[] =
-    "SiteEngagementService.EngagementPercentageForHTTPS";
-
 const char SiteEngagementMetrics::kEngagementScoreHistogram[] =
     "SiteEngagementService.EngagementScore";
 
-const char SiteEngagementMetrics::kEngagementScoreHistogramHTTP[] =
-    "SiteEngagementService.EngagementScore.HTTP";
-
-const char SiteEngagementMetrics::kEngagementScoreHistogramHTTPS[] =
-    "SiteEngagementService.EngagementScore.HTTPS";
-
 const char SiteEngagementMetrics::kEngagementScoreHistogramIsZero[] =
     "SiteEngagementService.EngagementScore.IsZero";
 
@@ -91,10 +82,6 @@
   if (score_map.size() == 0)
     return;
 
-  // Total up all HTTP and HTTPS engagement so we can log the percentage of
-  // engagement to HTTPS origins.
-  double total_http_https_engagement = 0;
-  double https_engagement = 0;
   std::map<int, int> score_buckets;
   for (size_t i = 0; i < arraysize(kEngagementBucketHistogramBuckets); ++i)
     score_buckets[kEngagementBucketHistogramBuckets[i]] = 0;
@@ -104,14 +91,6 @@
     double score = value.second;
     UMA_HISTOGRAM_COUNTS_100(kEngagementScoreHistogram, score);
     UMA_HISTOGRAM_BOOLEAN(kEngagementScoreHistogramIsZero, score < threshold_0);
-    if (value.first.SchemeIs(url::kHttpsScheme)) {
-      UMA_HISTOGRAM_COUNTS_100(kEngagementScoreHistogramHTTPS, score);
-      https_engagement += score;
-      total_http_https_engagement += score;
-    } else if (value.first.SchemeIs(url::kHttpScheme)) {
-      UMA_HISTOGRAM_COUNTS_100(kEngagementScoreHistogramHTTP, score);
-      total_http_https_engagement += score;
-    }
 
     auto bucket = score_buckets.lower_bound(score);
     if (bucket == score_buckets.end())
@@ -129,11 +108,6 @@
         base::HistogramBase::kUmaTargetedHistogramFlag)
         ->Add(b.second * 100 / score_map.size());
   }
-
-  double percentage = 0;
-  if (total_http_https_engagement > 0)
-    percentage = (https_engagement / total_http_https_engagement) * 100;
-  UMA_HISTOGRAM_PERCENTAGE(kEngagementPercentageForHTTPSHistogram, percentage);
 }
 
 void SiteEngagementMetrics::RecordOriginsWithMaxEngagement(int total_origins) {
diff --git a/chrome/browser/engagement/site_engagement_metrics.h b/chrome/browser/engagement/site_engagement_metrics.h
index 22e9f60..491f11e 100644
--- a/chrome/browser/engagement/site_engagement_metrics.h
+++ b/chrome/browser/engagement/site_engagement_metrics.h
@@ -35,7 +35,6 @@
   static void RecordTotalOriginsEngaged(int total_origins);
   static void RecordMeanEngagement(double mean_engagement);
   static void RecordMedianEngagement(double median_engagement);
-  static void RecordEngagementPercentageForHTTPS(double percentage);
   static void RecordEngagementScores(const std::map<GURL, double>& score_map);
   static void RecordOriginsWithMaxEngagement(int total_origins);
   static void RecordOriginsWithMaxDailyEngagement(int total_origins);
@@ -57,10 +56,7 @@
   static const char kTotalOriginsHistogram[];
   static const char kMeanEngagementHistogram[];
   static const char kMedianEngagementHistogram[];
-  static const char kEngagementPercentageForHTTPSHistogram[];
   static const char kEngagementScoreHistogram[];
-  static const char kEngagementScoreHistogramHTTP[];
-  static const char kEngagementScoreHistogramHTTPS[];
   static const char kEngagementScoreHistogramIsZero[];
   static const char kOriginsWithMaxEngagementHistogram[];
   static const char kOriginsWithMaxDailyEngagementHistogram[];
diff --git a/chrome/browser/engagement/site_engagement_service_unittest.cc b/chrome/browser/engagement/site_engagement_service_unittest.cc
index c65e9d6..617df7f23 100644
--- a/chrome/browser/engagement/site_engagement_service_unittest.cc
+++ b/chrome/browser/engagement/site_engagement_service_unittest.cc
@@ -593,10 +593,6 @@
   histograms.ExpectTotalCount(SiteEngagementMetrics::kEngagementScoreHistogram,
                               0);
   histograms.ExpectTotalCount(
-      SiteEngagementMetrics::kEngagementScoreHistogramHTTP, 0);
-  histograms.ExpectTotalCount(
-      SiteEngagementMetrics::kEngagementScoreHistogramHTTPS, 0);
-  histograms.ExpectTotalCount(
       SiteEngagementMetrics::kOriginsWithMaxEngagementHistogram, 0);
   histograms.ExpectTotalCount(
       SiteEngagementMetrics::kOriginsWithMaxDailyEngagementHistogram, 0);
@@ -614,12 +610,6 @@
                                 0, 1);
   histograms.ExpectTotalCount(SiteEngagementMetrics::kEngagementScoreHistogram,
                               0);
-  histograms.ExpectTotalCount(
-      SiteEngagementMetrics::kEngagementScoreHistogramHTTP, 0);
-  histograms.ExpectTotalCount(
-      SiteEngagementMetrics::kEngagementScoreHistogramHTTPS, 0);
-  histograms.ExpectTotalCount(
-      SiteEngagementMetrics::kEngagementPercentageForHTTPSHistogram, 0);
   histograms.ExpectUniqueSample(SiteEngagementMetrics::kMeanEngagementHistogram,
                                 0, 1);
   histograms.ExpectUniqueSample(
@@ -667,12 +657,6 @@
   // Recorded per origin.
   histograms.ExpectTotalCount(SiteEngagementMetrics::kEngagementScoreHistogram,
                               1);
-  histograms.ExpectTotalCount(
-      SiteEngagementMetrics::kEngagementScoreHistogramHTTP, 0);
-  histograms.ExpectTotalCount(
-      SiteEngagementMetrics::kEngagementScoreHistogramHTTPS, 1);
-  histograms.ExpectTotalCount(
-      SiteEngagementMetrics::kEngagementPercentageForHTTPSHistogram, 1);
   histograms.ExpectUniqueSample(
       SiteEngagementMetrics::kOriginsWithMaxEngagementHistogram, 0, 2);
   histograms.ExpectUniqueSample(
@@ -741,12 +725,6 @@
   // Recorded per origin.
   histograms.ExpectTotalCount(SiteEngagementMetrics::kEngagementScoreHistogram,
                               4);
-  histograms.ExpectTotalCount(
-      SiteEngagementMetrics::kEngagementScoreHistogramHTTP, 2);
-  histograms.ExpectTotalCount(
-      SiteEngagementMetrics::kEngagementScoreHistogramHTTPS, 2);
-  histograms.ExpectTotalCount(
-      SiteEngagementMetrics::kEngagementPercentageForHTTPSHistogram, 2);
   histograms.ExpectUniqueSample(
       SiteEngagementMetrics::kOriginsWithMaxEngagementHistogram, 0, 3);
   histograms.ExpectUniqueSample(
@@ -827,12 +805,6 @@
                               4);
   histograms.ExpectTotalCount(SiteEngagementMetrics::kEngagementScoreHistogram,
                               7);
-  histograms.ExpectTotalCount(
-      SiteEngagementMetrics::kEngagementScoreHistogramHTTP, 4);
-  histograms.ExpectTotalCount(
-      SiteEngagementMetrics::kEngagementScoreHistogramHTTPS, 3);
-  histograms.ExpectTotalCount(
-      SiteEngagementMetrics::kEngagementScoreHistogramHTTPS, 3);
   histograms.ExpectUniqueSample(
       SiteEngagementMetrics::kOriginsWithMaxEngagementHistogram, 0, 4);
   histograms.ExpectBucketCount(
diff --git a/chrome/browser/extensions/api/permissions/permissions_apitest.cc b/chrome/browser/extensions/api/permissions/permissions_apitest.cc
index 910bf62..3de54c7 100644
--- a/chrome/browser/extensions/api/permissions/permissions_apitest.cc
+++ b/chrome/browser/extensions/api/permissions/permissions_apitest.cc
@@ -5,7 +5,6 @@
 #include "chrome/browser/extensions/api/permissions/permissions_api.h"
 #include "chrome/browser/extensions/extension_apitest.h"
 #include "chrome/browser/extensions/extension_management_test_util.h"
-#include "chrome/browser/extensions/extension_with_management_policy_apitest.h"
 #include "chrome/browser/profiles/profile.h"
 #include "chrome/browser/ui/browser.h"
 #include "components/policy/core/browser/browser_policy_connector.h"
@@ -34,6 +33,21 @@
   }
 };
 
+class ExtensionApiTestWithManagementPolicy : public ExtensionApiTest {
+ public:
+  void SetUpInProcessBrowserTestFixture() override {
+    ExtensionApiTest::SetUpInProcessBrowserTestFixture();
+    EXPECT_CALL(policy_provider_, IsInitializationComplete(testing::_))
+        .WillRepeatedly(testing::Return(true));
+    policy_provider_.SetAutoRefresh();
+    policy::BrowserPolicyConnector::SetPolicyProviderForTesting(
+        &policy_provider_);
+  }
+
+ protected:
+  policy::MockConfigurationPolicyProvider policy_provider_;
+};
+
 IN_PROC_BROWSER_TEST_F(ExtensionApiTest, PermissionsFail) {
   ASSERT_TRUE(RunExtensionTest("permissions/disabled")) << message_;
 
diff --git a/chrome/browser/extensions/api/preference/preference_api.cc b/chrome/browser/extensions/api/preference/preference_api.cc
index cf3b12d..2a4b642 100644
--- a/chrome/browser/extensions/api/preference/preference_api.cc
+++ b/chrome/browser/extensions/api/preference/preference_api.cc
@@ -34,7 +34,7 @@
 #include "components/proxy_config/proxy_config_pref_names.h"
 #include "components/safe_browsing_db/safe_browsing_prefs.h"
 #include "components/spellcheck/browser/pref_names.h"
-#include "components/translate/core/common/translate_pref_names.h"
+#include "components/translate/core/browser/translate_pref_names.h"
 #include "content/public/browser/notification_details.h"
 #include "content/public/browser/notification_source.h"
 #include "extensions/browser/extension_pref_value_map.h"
diff --git a/chrome/browser/extensions/api/preference/preference_apitest.cc b/chrome/browser/extensions/api/preference/preference_apitest.cc
index 98672cf9..7c8a1a8 100644
--- a/chrome/browser/extensions/api/preference/preference_apitest.cc
+++ b/chrome/browser/extensions/api/preference/preference_apitest.cc
@@ -25,7 +25,7 @@
 #include "components/content_settings/core/common/pref_names.h"
 #include "components/password_manager/core/common/password_manager_pref_names.h"
 #include "components/prefs/pref_service.h"
-#include "components/translate/core/common/translate_pref_names.h"
+#include "components/translate/core/browser/translate_pref_names.h"
 #include "content/public/browser/notification_service.h"
 #include "content/public/common/webrtc_ip_handling_policy.h"
 #include "extensions/browser/extension_registry.h"
diff --git a/chrome/browser/extensions/api/settings_overrides/settings_overrides_api.cc b/chrome/browser/extensions/api/settings_overrides/settings_overrides_api.cc
index 6f607b1a..a40ff4cc 100644
--- a/chrome/browser/extensions/api/settings_overrides/settings_overrides_api.cc
+++ b/chrome/browser/extensions/api/settings_overrides/settings_overrides_api.cc
@@ -228,19 +228,17 @@
   const SettingsOverrides* settings = SettingsOverrides::Get(extension);
   DCHECK(settings);
   DCHECK(settings->search_engine);
-  auto info =
-      base::MakeUnique<TemplateURL::AssociatedExtensionInfo>(extension->id());
-  info->wants_to_be_default_engine = settings->search_engine->is_default;
 
   ExtensionPrefs* prefs = ExtensionPrefs::Get(profile_);
-  info->install_time = prefs->GetInstallTime(extension->id());
   std::string install_parameter = prefs->GetInstallParam(extension->id());
   std::unique_ptr<TemplateURLData> data = ConvertSearchProvider(
       profile_->GetPrefs(), *settings->search_engine, install_parameter);
   auto turl = base::MakeUnique<TemplateURL>(
-      *data, TemplateURL::NORMAL_CONTROLLED_BY_EXTENSION);
+      *data, TemplateURL::NORMAL_CONTROLLED_BY_EXTENSION, extension->id(),
+      prefs->GetInstallTime(extension->id()),
+      settings->search_engine->is_default);
 
-  url_service_->AddExtensionControlledTURL(std::move(turl), std::move(info));
+  url_service_->Add(std::move(turl));
 
   if (settings->search_engine->is_default) {
     // Override current DSE pref to have extension overriden value.
diff --git a/chrome/browser/extensions/api/settings_private/prefs_util.cc b/chrome/browser/extensions/api/settings_private/prefs_util.cc
index 4ec2b89..f0d1986b 100644
--- a/chrome/browser/extensions/api/settings_private/prefs_util.cc
+++ b/chrome/browser/extensions/api/settings_private/prefs_util.cc
@@ -22,8 +22,8 @@
 #include "components/safe_browsing_db/safe_browsing_prefs.h"
 #include "components/search_engines/search_engines_pref_names.h"
 #include "components/spellcheck/browser/pref_names.h"
+#include "components/translate/core/browser/translate_pref_names.h"
 #include "components/translate/core/browser/translate_prefs.h"
-#include "components/translate/core/common/translate_pref_names.h"
 #include "components/url_formatter/url_fixer.h"
 #include "extensions/browser/extension_pref_value_map.h"
 #include "extensions/browser/extension_pref_value_map_factory.h"
diff --git a/chrome/browser/extensions/content_script_apitest.cc b/chrome/browser/extensions/content_script_apitest.cc
index 839c2f97..251ec77 100644
--- a/chrome/browser/extensions/content_script_apitest.cc
+++ b/chrome/browser/extensions/content_script_apitest.cc
@@ -13,9 +13,7 @@
 #include "build/build_config.h"
 #include "chrome/browser/extensions/api/permissions/permissions_api.h"
 #include "chrome/browser/extensions/extension_apitest.h"
-#include "chrome/browser/extensions/extension_management_test_util.h"
 #include "chrome/browser/extensions/extension_service.h"
-#include "chrome/browser/extensions/extension_with_management_policy_apitest.h"
 #include "chrome/browser/extensions/test_extension_dir.h"
 #include "chrome/browser/ui/browser.h"
 #include "chrome/browser/ui/tabs/tab_strip_model.h"
@@ -505,18 +503,6 @@
   ASSERT_TRUE(RunExtensionTest("content_scripts/permissions")) << message_;
 }
 
-IN_PROC_BROWSER_TEST_F(ExtensionApiTestWithManagementPolicy,
-                       ContentScriptPolicy) {
-  // Set enterprise policy to block injection to policy specified host.
-  {
-    ExtensionManagementPolicyUpdater pref(&policy_provider_);
-    pref.AddRuntimeBlockedHost("*", "*://example.com/*");
-  }
-  host_resolver()->AddRule("*.com", "127.0.0.1");
-  ASSERT_TRUE(StartEmbeddedTestServer());
-  ASSERT_TRUE(RunExtensionTest("content_scripts/policy")) << message_;
-}
-
 IN_PROC_BROWSER_TEST_P(ContentScriptApiTest, ContentScriptBypassPageCSP) {
   ASSERT_TRUE(StartEmbeddedTestServer());
   ASSERT_TRUE(RunExtensionTest("content_scripts/bypass_page_csp")) << message_;
diff --git a/chrome/browser/extensions/extension_management.cc b/chrome/browser/extensions/extension_management.cc
index 559efe8a..c564797 100644
--- a/chrome/browser/extensions/extension_management.cc
+++ b/chrome/browser/extensions/extension_management.cc
@@ -198,16 +198,6 @@
   return default_settings_->blocked_permissions;
 }
 
-const URLPatternSet& ExtensionManagement::GetDefaultRuntimeBlockedHosts()
-    const {
-  return default_settings_->runtime_blocked_hosts;
-}
-
-const URLPatternSet& ExtensionManagement::GetDefaultRuntimeAllowedHosts()
-    const {
-  return default_settings_->runtime_allowed_hosts;
-}
-
 const URLPatternSet& ExtensionManagement::GetRuntimeBlockedHosts(
     const Extension* extension) const {
   auto iter_id = settings_by_id_.find(extension->id());
@@ -224,13 +214,8 @@
   return default_settings_->runtime_allowed_hosts;
 }
 
-bool ExtensionManagement::UsesDefaultRuntimeHostRestrictions(
-    const Extension* extension) const {
-  return settings_by_id_.find(extension->id()) == settings_by_id_.end();
-}
-
-bool ExtensionManagement::IsRuntimeBlockedHost(const Extension* extension,
-                                               const GURL& url) const {
+bool ExtensionManagement::IsBlockedHost(const Extension* extension,
+                                        const GURL& url) const {
   auto iter_id = settings_by_id_.find(extension->id());
   if (iter_id != settings_by_id_.end())
     return iter_id->second->runtime_blocked_hosts.MatchesURL(url);
diff --git a/chrome/browser/extensions/extension_management.h b/chrome/browser/extensions/extension_management.h
index 719c779..1dca6061 100644
--- a/chrome/browser/extensions/extension_management.h
+++ b/chrome/browser/extensions/extension_management.h
@@ -117,30 +117,12 @@
   // Returns the list of hosts blocked by policy for |extension|.
   const URLPatternSet& GetRuntimeBlockedHosts(const Extension* extension) const;
 
-  // Returns the hosts exempted by policy from the RuntimeBlockedHosts for
-  // |extension|.
+  // Returns the list of hosts |extension| is limited to by policy.
   const URLPatternSet& GetRuntimeAllowedHosts(const Extension* extension) const;
 
-  // Returns the list of hosts blocked by policy for Default scope. This can be
-  // overridden by an invividual scope which is queried via
-  // GetRuntimeBlockedHosts.
-  const URLPatternSet& GetDefaultRuntimeBlockedHosts() const;
-
-  // Returns the hosts exempted by policy from RuntimeBlockedHosts for
-  // the default scope. This can be overridden by an individual scope which is
-  // queries via GetRuntimeAllowedHosts. This should only be used to
-  // initialize a new renderer.
-  const URLPatternSet& GetDefaultRuntimeAllowedHosts() const;
-
-  // Checks if an |extension| has its own runtime_blocked_hosts or
-  // runtime_allowed_hosts defined in the individual scope of the
-  // ExtensionSettings policy.
-  // Returns false if an individual scoped setting isn't defined.
-  bool UsesDefaultRuntimeHostRestrictions(const Extension* extension) const;
-
   // Checks if a URL is on the blocked host permissions list for a specific
   // extension.
-  bool IsRuntimeBlockedHost(const Extension* extension, const GURL& url) const;
+  bool IsBlockedHost(const Extension* extension, const GURL& url) const;
 
   // Returns blocked permission set for |extension|.
   std::unique_ptr<const PermissionSet> GetBlockedPermissions(
diff --git a/chrome/browser/extensions/extension_management_constants.cc b/chrome/browser/extensions/extension_management_constants.cc
index 29e438b8..11747e58 100644
--- a/chrome/browser/extensions/extension_management_constants.cc
+++ b/chrome/browser/extensions/extension_management_constants.cc
@@ -22,7 +22,6 @@
 
 const char kRuntimeBlockedHosts[] = "runtime_blocked_hosts";
 const char kRuntimeAllowedHosts[] = "runtime_allowed_hosts";
-const size_t kMaxItemsURLPatternSet = 100;
 
 const char kUpdateUrl[] = "update_url";
 const char kInstallSources[] = "install_sources";
diff --git a/chrome/browser/extensions/extension_management_constants.h b/chrome/browser/extensions/extension_management_constants.h
index 3ab1cb2d..a548572 100644
--- a/chrome/browser/extensions/extension_management_constants.h
+++ b/chrome/browser/extensions/extension_management_constants.h
@@ -27,7 +27,6 @@
 
 extern const char kRuntimeBlockedHosts[];
 extern const char kRuntimeAllowedHosts[];
-extern const size_t kMaxItemsURLPatternSet;
 
 extern const char kUpdateUrl[];
 extern const char kInstallSources[];
diff --git a/chrome/browser/extensions/extension_management_internal.cc b/chrome/browser/extensions/extension_management_internal.cc
index cab0415b..a2596ae 100644
--- a/chrome/browser/extensions/extension_management_internal.cc
+++ b/chrome/browser/extensions/extension_management_internal.cc
@@ -115,14 +115,6 @@
     // Get the list of URLPatterns.
     if (dict->GetListWithoutPathExpansion(key,
                                           &host_list_value)) {
-      if (host_list_value->GetSize() >
-          schema_constants::kMaxItemsURLPatternSet) {
-        LOG(WARNING) << "Exceeded maximum number of URL match patterns ("
-                     << schema_constants::kMaxItemsURLPatternSet
-                     << ") for attribute '" << key << "'";
-        return false;
-      }
-
       out_value->ClearPatterns();
       const int extension_scheme_mask =
           URLPattern::GetValidSchemeMaskForExtensions();
@@ -130,8 +122,7 @@
         std::string unparsed_str;
         host_list_value->GetString(i, &unparsed_str);
         URLPattern pattern = URLPattern(extension_scheme_mask);
-        URLPattern::ParseResult parse_result = pattern.Parse(
-            unparsed_str, URLPattern::ALLOW_WILDCARD_FOR_EFFECTIVE_TLD);
+        URLPattern::ParseResult parse_result = pattern.Parse(unparsed_str);
         if (parse_result != URLPattern::PARSE_SUCCESS) {
           LOG(WARNING) << kMalformedPreferenceWarning;
           LOG(WARNING) << "Invalid URL pattern '" + unparsed_str +
diff --git a/chrome/browser/extensions/extension_service.cc b/chrome/browser/extensions/extension_service.cc
index de3963ce..41f485b7 100644
--- a/chrome/browser/extensions/extension_service.cc
+++ b/chrome/browser/extensions/extension_service.cc
@@ -1257,21 +1257,6 @@
 
   extensions::ExtensionManagement* management =
       extensions::ExtensionManagementFactory::GetForBrowserContext(profile());
-  extensions::PermissionsUpdater(profile()).SetDefaultPolicyHostRestrictions(
-      management->GetDefaultRuntimeBlockedHosts(),
-      management->GetDefaultRuntimeAllowedHosts());
-  for (const auto& extension : registry_->enabled_extensions()) {
-    bool uses_default =
-        management->UsesDefaultRuntimeHostRestrictions(extension.get());
-    if (uses_default) {
-      extensions::PermissionsUpdater(profile()).SetUsesDefaultHostRestrictions(
-          extension.get());
-    } else {
-      extensions::PermissionsUpdater(profile()).SetPolicyHostRestrictions(
-          extension.get(), management->GetRuntimeBlockedHosts(extension.get()),
-          management->GetRuntimeAllowedHosts(extension.get()));
-    }
-  }
 
   // Loop through the disabled extension list, find extensions to re-enable
   // automatically. These extensions are exclusive from the |to_disable| and
diff --git a/chrome/browser/extensions/extension_with_management_policy_apitest.cc b/chrome/browser/extensions/extension_with_management_policy_apitest.cc
deleted file mode 100644
index 8ffaef6..0000000
--- a/chrome/browser/extensions/extension_with_management_policy_apitest.cc
+++ /dev/null
@@ -1,21 +0,0 @@
-// 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 "chrome/browser/extensions/extension_with_management_policy_apitest.h"
-#include "components/policy/core/browser/browser_policy_connector.h"
-#include "net/test/embedded_test_server/http_request.h"
-
-ExtensionApiTestWithManagementPolicy::ExtensionApiTestWithManagementPolicy()
-    : ExtensionApiTest() {}
-
-ExtensionApiTestWithManagementPolicy::~ExtensionApiTestWithManagementPolicy() {}
-
-void ExtensionApiTestWithManagementPolicy::SetUpInProcessBrowserTestFixture() {
-  ExtensionApiTest::SetUpInProcessBrowserTestFixture();
-  EXPECT_CALL(policy_provider_, IsInitializationComplete(testing::_))
-      .WillRepeatedly(testing::Return(true));
-  policy_provider_.SetAutoRefresh();
-  policy::BrowserPolicyConnector::SetPolicyProviderForTesting(
-      &policy_provider_);
-}
diff --git a/chrome/browser/extensions/extension_with_management_policy_apitest.h b/chrome/browser/extensions/extension_with_management_policy_apitest.h
deleted file mode 100644
index f0787f6..0000000
--- a/chrome/browser/extensions/extension_with_management_policy_apitest.h
+++ /dev/null
@@ -1,29 +0,0 @@
-// 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 CHROME_BROWSER_EXTENSIONS_EXTENSION_WITH_MANAGEMENT_POLICY_APITEST_H_
-#define CHROME_BROWSER_EXTENSIONS_EXTENSION_WITH_MANAGEMENT_POLICY_APITEST_H_
-
-#include <string>
-#include <vector>
-
-#include "chrome/browser/extensions/extension_apitest.h"
-#include "components/policy/core/common/mock_configuration_policy_provider.h"
-
-// The ExtensionSettings policy affects host permissions which impacts several
-// API integration tests. This class enables easy declaration of
-// ExtensionSettings policies and functions commonly used during these tests.
-class ExtensionApiTestWithManagementPolicy : public ExtensionApiTest {
- public:
-  ExtensionApiTestWithManagementPolicy();
-  ~ExtensionApiTestWithManagementPolicy() override;
-  void SetUpInProcessBrowserTestFixture() override;
-
- protected:
-  policy::MockConfigurationPolicyProvider policy_provider_;
-
-  DISALLOW_COPY_AND_ASSIGN(ExtensionApiTestWithManagementPolicy);
-};
-
-#endif  // CHROME_BROWSER_EXTENSIONS_EXTENSION_WITH_MANAGEMENT_POLICY_APITEST_H_
diff --git a/chrome/browser/extensions/installed_loader.cc b/chrome/browser/extensions/installed_loader.cc
index 46c9b65..efb5b25 100644
--- a/chrome/browser/extensions/installed_loader.cc
+++ b/chrome/browser/extensions/installed_loader.cc
@@ -40,6 +40,8 @@
 #include "extensions/common/manifest_constants.h"
 #include "extensions/common/manifest_handlers/background_info.h"
 #include "extensions/common/manifest_url_handlers.h"
+#include "extensions/common/permissions/api_permission.h"
+#include "extensions/common/permissions/permissions_data.h"
 
 using content::BrowserThread;
 
@@ -354,6 +356,7 @@
   int file_access_not_allowed_count = 0;
   int eventless_event_pages_count = 0;
   int off_store_item_count = 0;
+  int web_request_blocking_count = 0;
 
   const ExtensionSet& extensions = extension_registry_->enabled_extensions();
   for (ExtensionSet::const_iterator iter = extensions.begin();
@@ -405,6 +408,11 @@
       }
     }
 
+    if (extension->permissions_data()->HasAPIPermission(
+            APIPermission::kWebRequestBlocking)) {
+      web_request_blocking_count++;
+    }
+
     // From now on, don't count component extensions, since they are only
     // extensions as an implementation detail. Continue to count unpacked
     // extensions for a few metrics.
@@ -619,6 +627,8 @@
                            eventless_event_pages_count);
   UMA_HISTOGRAM_COUNTS_100("Extensions.LoadOffStoreItems",
                            off_store_item_count);
+  UMA_HISTOGRAM_COUNTS_100("Extensions.WebRequestBlockingCount",
+                           web_request_blocking_count);
 }
 
 int InstalledLoader::GetCreationFlags(const ExtensionInfo* info) {
diff --git a/chrome/browser/extensions/native_bindings_apitest.cc b/chrome/browser/extensions/native_bindings_apitest.cc
index 08869d4..a2891dc 100644
--- a/chrome/browser/extensions/native_bindings_apitest.cc
+++ b/chrome/browser/extensions/native_bindings_apitest.cc
@@ -59,7 +59,16 @@
 
 // A simplistic app test for app-specific APIs.
 IN_PROC_BROWSER_TEST_F(NativeBindingsApiTest, SimpleAppTest) {
+  ExtensionTestMessageListener ready_listener("ready", true);
   ASSERT_TRUE(RunPlatformAppTest("native_bindings/platform_app")) << message_;
+  ASSERT_TRUE(ready_listener.WaitUntilSatisfied());
+
+  // On reply, the extension will try to close the app window and send a
+  // message.
+  ExtensionTestMessageListener close_listener(false);
+  ready_listener.Reply(std::string());
+  ASSERT_TRUE(close_listener.WaitUntilSatisfied());
+  EXPECT_EQ("success", close_listener.message());
 }
 
 // Tests the declarativeContent API and declarative events.
diff --git a/chrome/browser/extensions/permissions_updater.cc b/chrome/browser/extensions/permissions_updater.cc
index 67e3ccb..a26f0ea 100644
--- a/chrome/browser/extensions/permissions_updater.cc
+++ b/chrome/browser/extensions/permissions_updater.cc
@@ -146,38 +146,6 @@
   NotifyPermissionsUpdated(REMOVED, extension, to_remove);
 }
 
-void PermissionsUpdater::SetPolicyHostRestrictions(
-    const Extension* extension,
-    const URLPatternSet& runtime_blocked_hosts,
-    const URLPatternSet& runtime_allowed_hosts) {
-  extension->permissions_data()->SetPolicyHostRestrictions(
-      runtime_blocked_hosts, runtime_allowed_hosts);
-
-  // Send notification to the currently running renderers of the runtime block
-  // hosts settings.
-  const PermissionSet perms;
-  NotifyPermissionsUpdated(POLICY, extension, perms);
-}
-
-void PermissionsUpdater::SetUsesDefaultHostRestrictions(
-    const Extension* extension) {
-  extension->permissions_data()->SetUsesDefaultHostRestrictions();
-  const PermissionSet perms;
-  NotifyPermissionsUpdated(POLICY, extension, perms);
-}
-
-void PermissionsUpdater::SetDefaultPolicyHostRestrictions(
-    const URLPatternSet& default_runtime_blocked_hosts,
-    const URLPatternSet& default_runtime_allowed_hosts) {
-  PermissionsData::SetDefaultPolicyHostRestrictions(
-      default_runtime_blocked_hosts, default_runtime_allowed_hosts);
-
-  // Send notification to the currently running renderers of the runtime block
-  // hosts settings.
-  NotifyDefaultPolicyHostRestrictionsUpdated(default_runtime_blocked_hosts,
-                                             default_runtime_allowed_hosts);
-}
-
 void PermissionsUpdater::RemovePermissionsUnsafe(
     const Extension* extension,
     const PermissionSet& to_remove) {
@@ -289,31 +257,28 @@
     const Extension* extension,
     const PermissionSet& changed) {
   DCHECK_EQ(0, init_flag_ & INIT_FLAG_TRANSIENT);
-
-  if (changed.IsEmpty() && event_type != POLICY)
+  if (changed.IsEmpty())
     return;
 
   UpdatedExtensionPermissionsInfo::Reason reason;
-  events::HistogramValue histogram_value = events::UNKNOWN;
+  events::HistogramValue histogram_value;
   const char* event_name = NULL;
-  Profile* profile = Profile::FromBrowserContext(browser_context_);
 
   if (event_type == REMOVED) {
     reason = UpdatedExtensionPermissionsInfo::REMOVED;
     histogram_value = events::PERMISSIONS_ON_REMOVED;
     event_name = permissions::OnRemoved::kEventName;
-  } else if (event_type == ADDED) {
+  } else {
+    CHECK_EQ(ADDED, event_type);
     reason = UpdatedExtensionPermissionsInfo::ADDED;
     histogram_value = events::PERMISSIONS_ON_ADDED;
     event_name = permissions::OnAdded::kEventName;
-  } else {
-    DCHECK_EQ(POLICY, event_type);
-    reason = UpdatedExtensionPermissionsInfo::POLICY;
   }
 
   // Notify other APIs or interested parties.
-  UpdatedExtensionPermissionsInfo info =
-      UpdatedExtensionPermissionsInfo(extension, changed, reason);
+  UpdatedExtensionPermissionsInfo info = UpdatedExtensionPermissionsInfo(
+      extension, changed, reason);
+  Profile* profile = Profile::FromBrowserContext(browser_context_);
   content::NotificationService::current()->Notify(
       extensions::NOTIFICATION_EXTENSION_PERMISSIONS_UPDATED,
       content::Source<Profile>(profile),
@@ -325,14 +290,6 @@
       extension->permissions_data()->active_permissions());
   params.withheld_permissions = ExtensionMsg_PermissionSetStruct(
       extension->permissions_data()->withheld_permissions());
-  params.uses_default_policy_host_restrictions =
-      extension->permissions_data()->UsesDefaultPolicyHostRestrictions();
-  if (!params.uses_default_policy_host_restrictions) {
-    params.policy_blocked_hosts =
-        extension->permissions_data()->policy_blocked_hosts();
-    params.policy_allowed_hosts =
-        extension->permissions_data()->policy_allowed_hosts();
-  }
 
   // Send the new permissions to the renderers.
   for (RenderProcessHost::iterator i(RenderProcessHost::AllHostsIterator());
@@ -344,35 +301,8 @@
     }
   }
 
-  // Trigger the onAdded and onRemoved events in the extension. We explicitly
-  // don't do this for policy-related events.
-  if (event_name)
-    DispatchEvent(extension->id(), histogram_value, event_name, changed);
-}
-
-// Notify the renderers that extension policy (policy_blocked_hosts) is updated
-// and provide new set of hosts.
-void PermissionsUpdater::NotifyDefaultPolicyHostRestrictionsUpdated(
-    const URLPatternSet& default_runtime_blocked_hosts,
-    const URLPatternSet& default_runtime_allowed_hosts) {
-  DCHECK_EQ(0, init_flag_ & INIT_FLAG_TRANSIENT);
-
-  Profile* profile = Profile::FromBrowserContext(browser_context_);
-
-  ExtensionMsg_UpdateDefaultPolicyHostRestrictions_Params params;
-  params.default_policy_blocked_hosts = default_runtime_blocked_hosts;
-  params.default_policy_allowed_hosts = default_runtime_allowed_hosts;
-
-  // Send the new policy to the renderers.
-  for (RenderProcessHost::iterator host_iterator(
-           RenderProcessHost::AllHostsIterator());
-       !host_iterator.IsAtEnd(); host_iterator.Advance()) {
-    RenderProcessHost* host = host_iterator.GetCurrentValue();
-    if (profile->IsSameProfile(
-            Profile::FromBrowserContext(host->GetBrowserContext()))) {
-      host->Send(new ExtensionMsg_UpdateDefaultPolicyHostRestrictions(params));
-    }
-  }
+  // Trigger the onAdded and onRemoved events in the extension.
+  DispatchEvent(extension->id(), histogram_value, event_name, changed);
 }
 
 }  // namespace extensions
diff --git a/chrome/browser/extensions/permissions_updater.h b/chrome/browser/extensions/permissions_updater.h
index 2b8597e7..249c704 100644
--- a/chrome/browser/extensions/permissions_updater.h
+++ b/chrome/browser/extensions/permissions_updater.h
@@ -19,7 +19,6 @@
 
 class Extension;
 class PermissionSet;
-class URLPatternSet;
 
 // Updates an Extension's active and granted permissions in persistent storage
 // and notifies interested parties of the changes.
@@ -82,21 +81,6 @@
   void RemovePermissionsUnsafe(const Extension* extension,
                                const PermissionSet& permissions);
 
-  // Sets list of hosts |extension| may not interact with (overrides default).
-  void SetPolicyHostRestrictions(const Extension* extension,
-                                 const URLPatternSet& runtime_blocked_hosts,
-                                 const URLPatternSet& runtime_allowed_hosts);
-
-  // Sets extension to use the default list of policy host restrictions.
-  void SetUsesDefaultHostRestrictions(const Extension* extension);
-
-  // Sets list of hosts extensions may not interact with. Extension specific
-  // exceptions to this default policy are defined with
-  // SetPolicyHostRestrictions.
-  void SetDefaultPolicyHostRestrictions(
-      const URLPatternSet& default_runtime_blocked_hosts,
-      const URLPatternSet& default_runtime_allowed_hosts);
-
   // Returns the set of revokable permissions.
   std::unique_ptr<const PermissionSet> GetRevokablePermissions(
       const Extension* extension) const;
@@ -114,7 +98,6 @@
   enum EventType {
     ADDED,
     REMOVED,
-    POLICY,
   };
 
   // Sets the |extension|'s active permissions to |active| and records the
@@ -140,14 +123,6 @@
                                 const Extension* extension,
                                 const PermissionSet& changed);
 
-  // Issues the relevant events, messages and notifications when the
-  // default scope management policy have changed.
-  // Specifically, this sends the ExtensionMsg_UpdateDefaultHostRestrictions
-  // IPC message.
-  void NotifyDefaultPolicyHostRestrictionsUpdated(
-      const URLPatternSet& default_runtime_blocked_hosts,
-      const URLPatternSet& default_runtime_allowed_hosts);
-
   // The associated BrowserContext.
   content::BrowserContext* browser_context_;
 
diff --git a/chrome/browser/extensions/permissions_updater_unittest.cc b/chrome/browser/extensions/permissions_updater_unittest.cc
index fd14606..67e31dfb 100644
--- a/chrome/browser/extensions/permissions_updater_unittest.cc
+++ b/chrome/browser/extensions/permissions_updater_unittest.cc
@@ -271,15 +271,6 @@
         APIPermissionSet(), ManifestPermissionSet(), set, URLPatternSet());
   };
 
-  auto can_access_page =
-      [](scoped_refptr<const extensions::Extension> extension,
-         const GURL& document_url) -> bool {
-    PermissionsData::AccessType access =
-        extension.get()->permissions_data()->GetPageAccess(
-            extension.get(), document_url, -1, nullptr);
-    return access == PermissionsData::ACCESS_ALLOWED;
-  };
-
   {
     // Test revoking optional permissions.
     ListBuilder optional_permissions;
@@ -355,7 +346,6 @@
     // By default, all-hosts was withheld, so the extension shouldn't have
     // access to any site (like foo.com).
     const GURL kOrigin("http://foo.com");
-
     EXPECT_FALSE(extension->permissions_data()
                      ->active_permissions()
                      .HasExplicitAccessToOrigin(kOrigin));
@@ -391,103 +381,6 @@
                     .HasExplicitAccessToOrigin(kOrigin));
     EXPECT_TRUE(updater.GetRevokablePermissions(extension.get())->IsEmpty());
   }
-
-  {
-    // Make sure policy restriction updates update permission data.
-    URLPatternSet default_policy_blocked_hosts;
-    URLPatternSet default_policy_allowed_hosts;
-    URLPatternSet policy_blocked_hosts;
-    URLPatternSet policy_allowed_hosts;
-    ListBuilder optional_permissions;
-    ListBuilder required_permissions;
-    required_permissions.Append("tabs").Append("http://*/*");
-    scoped_refptr<const Extension> extension =
-        CreateExtensionWithOptionalPermissions(optional_permissions.Build(),
-                                               required_permissions.Build(),
-                                               "ExtensionSettings");
-    AddPattern(&default_policy_blocked_hosts, "http://*.google.com/*");
-    PermissionsUpdater updater(profile());
-    updater.InitializePermissions(extension.get());
-    extension->permissions_data()->SetDefaultPolicyHostRestrictions(
-        default_policy_blocked_hosts, default_policy_allowed_hosts);
-
-    // By default, all subdomains of google.com should be blocked.
-    const GURL kOrigin("http://foo.com");
-    const GURL kGoogle("http://www.google.com");
-    const GURL kExampleGoogle("http://example.google.com");
-    EXPECT_TRUE(
-        extension->permissions_data()->UsesDefaultPolicyHostRestrictions());
-    EXPECT_TRUE(can_access_page(extension, kOrigin));
-    EXPECT_FALSE(can_access_page(extension, kGoogle));
-    EXPECT_FALSE(can_access_page(extension, kExampleGoogle));
-
-    AddPattern(&default_policy_allowed_hosts, "http://example.google.com/*");
-    // Give the extension access to example.google.com. Now the
-    // example.google.com should not be a runtime blocked host.
-    updater.SetDefaultPolicyHostRestrictions(default_policy_blocked_hosts,
-                                             default_policy_allowed_hosts);
-
-    EXPECT_TRUE(
-        extension->permissions_data()->UsesDefaultPolicyHostRestrictions());
-    EXPECT_TRUE(can_access_page(extension, kOrigin));
-    EXPECT_FALSE(can_access_page(extension, kGoogle));
-    EXPECT_TRUE(can_access_page(extension, kExampleGoogle));
-
-    // Revoke extension access to foo.com. Now, foo.com should be a runtime
-    // blocked host.
-    AddPattern(&default_policy_blocked_hosts, "*://*.foo.com/");
-    updater.SetDefaultPolicyHostRestrictions(default_policy_blocked_hosts,
-                                             default_policy_allowed_hosts);
-    EXPECT_TRUE(
-        extension->permissions_data()->UsesDefaultPolicyHostRestrictions());
-    EXPECT_FALSE(can_access_page(extension, kOrigin));
-    EXPECT_FALSE(can_access_page(extension, kGoogle));
-    EXPECT_TRUE(can_access_page(extension, kExampleGoogle));
-
-    // Remove foo.com from blocked hosts. The extension should no longer have
-    // be a runtime blocked host.
-    default_policy_blocked_hosts.ClearPatterns();
-    AddPattern(&default_policy_blocked_hosts, "*://*.foo.com/");
-    updater.SetDefaultPolicyHostRestrictions(default_policy_blocked_hosts,
-                                             default_policy_allowed_hosts);
-    EXPECT_TRUE(
-        extension->permissions_data()->UsesDefaultPolicyHostRestrictions());
-    EXPECT_FALSE(can_access_page(extension, kOrigin));
-    EXPECT_TRUE(can_access_page(extension, kGoogle));
-    EXPECT_TRUE(can_access_page(extension, kExampleGoogle));
-
-    // Set an empty individual policy, should not affect default policy.
-    updater.SetPolicyHostRestrictions(extension.get(), policy_blocked_hosts,
-                                      policy_allowed_hosts);
-    EXPECT_FALSE(
-        extension->permissions_data()->UsesDefaultPolicyHostRestrictions());
-    EXPECT_TRUE(can_access_page(extension, kOrigin));
-    EXPECT_TRUE(can_access_page(extension, kGoogle));
-    EXPECT_TRUE(can_access_page(extension, kExampleGoogle));
-
-    // Block google.com for the Individual scope.
-    // Whitelist example.google.com for the Indiviaul scope.
-    // Leave google.com and example.google.com off both the whitelist and
-    // blacklist for Default scope.
-    AddPattern(&policy_blocked_hosts, "*://*.google.com/*");
-    AddPattern(&policy_allowed_hosts, "*://example.google.com/*");
-    updater.SetPolicyHostRestrictions(extension.get(), policy_blocked_hosts,
-                                      policy_allowed_hosts);
-    EXPECT_FALSE(
-        extension->permissions_data()->UsesDefaultPolicyHostRestrictions());
-    EXPECT_TRUE(can_access_page(extension, kOrigin));
-    EXPECT_FALSE(can_access_page(extension, kGoogle));
-    EXPECT_TRUE(can_access_page(extension, kExampleGoogle));
-
-    // Switch back to default scope for extension.
-    updater.SetUsesDefaultHostRestrictions(extension.get());
-    EXPECT_TRUE(
-        extension->permissions_data()->UsesDefaultPolicyHostRestrictions());
-    default_policy_blocked_hosts.ClearPatterns();
-    default_policy_allowed_hosts.ClearPatterns();
-    updater.SetDefaultPolicyHostRestrictions(default_policy_blocked_hosts,
-                                             default_policy_allowed_hosts);
-  }
 }
 
 // Test that the permissions updater delegate works - in this test it removes
diff --git a/chrome/browser/feedback/system_logs/log_sources/chrome_internal_log_source.cc b/chrome/browser/feedback/system_logs/log_sources/chrome_internal_log_source.cc
index 886b108..105ec8b 100644
--- a/chrome/browser/feedback/system_logs/log_sources/chrome_internal_log_source.cc
+++ b/chrome/browser/feedback/system_logs/log_sources/chrome_internal_log_source.cc
@@ -253,7 +253,8 @@
   // Extract the "settings" entry in the local state and serialize back to
   // a string.
   std::unique_ptr<base::DictionaryValue> local_state =
-      g_browser_process->local_state()->GetPreferenceValuesOmitDefaults();
+      g_browser_process->local_state()->GetPreferenceValues(
+          PrefService::EXCLUDE_DEFAULTS);
   const base::DictionaryValue* local_state_settings = nullptr;
   if (!local_state->GetDictionary(kSettingsKey, &local_state_settings)) {
     VLOG(1) << "Failed to extract the settings entry from Local State.";
diff --git a/chrome/browser/flag_descriptions.cc b/chrome/browser/flag_descriptions.cc
index 18af4b8..b10057ec 100644
--- a/chrome/browser/flag_descriptions.cc
+++ b/chrome/browser/flag_descriptions.cc
@@ -2800,6 +2800,12 @@
 const char kPauseBackgroundTabsDescription[] =
     "Pause timers in background tabs after 5 minutes on desktop.";
 
+const char kAppMenuIconName[] = "App Menu Icon";
+const char kAppMenuIconDescription[] = "Changes the icon in the app menu.";
+const char kAppMenuIconOldBehavior[] = "Old Behavior";
+const char kAppMenuIconPersistentOpenedState[] = "Persistent Opened State";
+const char kAppMenuIconPersistentClosedState[] = "Persistent Closed State";
+
 #endif  // defined(OS_CHROMEOS) || defined(OS_LINUX) || defined(OS_MACOSX) ||
         // defined(OS_WIN)
 
diff --git a/chrome/browser/flag_descriptions.h b/chrome/browser/flag_descriptions.h
index 577f929..c22a1b7 100644
--- a/chrome/browser/flag_descriptions.h
+++ b/chrome/browser/flag_descriptions.h
@@ -3027,6 +3027,21 @@
 extern const char kPauseBackgroundTabsName[];
 extern const char kPauseBackgroundTabsDescription[];
 
+// Name of the flag to change the app menu icon.
+extern const char kAppMenuIconName[];
+
+// Description of the flag to change the app menu icon.
+extern const char kAppMenuIconDescription[];
+
+// Description of the app menu icon's old appearance.
+extern const char kAppMenuIconOldBehavior[];
+
+// Description of the app menu animated icon's persistent opened state.
+extern const char kAppMenuIconPersistentOpenedState[];
+
+// Description of the app menu animated icon's persistent closed state.
+extern const char kAppMenuIconPersistentClosedState[];
+
 #endif  // defined(OS_CHROMEOS) || defined(OS_LINUX) || defined(OS_MACOSX) ||
         // defined(OS_WIN)
 
diff --git a/chrome/browser/io_thread_unittest.cc b/chrome/browser/io_thread_unittest.cc
index 48be0096..a3b88eb 100644
--- a/chrome/browser/io_thread_unittest.cc
+++ b/chrome/browser/io_thread_unittest.cc
@@ -271,7 +271,6 @@
 
   EXPECT_TRUE(params_.enable_http2);
   EXPECT_FALSE(params_.enable_quic);
-  EXPECT_TRUE(params_.enable_quic_alternative_service_with_different_host);
   EXPECT_EQ(1350u, params_.quic_max_packet_length);
   EXPECT_EQ(net::QuicTagVector(), params_.quic_connection_options);
   EXPECT_TRUE(params_.origins_to_force_quic_on.empty());
@@ -322,27 +321,6 @@
 }
 
 TEST_F(ConfigureParamsFromFieldTrialsAndCommandLineTest,
-       EnableAlternativeServicesFromCommandLineWithQuicDisabled) {
-  command_line_.AppendSwitch("enable-alternative-services");
-
-  ConfigureParamsFromFieldTrialsAndCommandLine();
-
-  EXPECT_FALSE(params_.enable_quic);
-  EXPECT_TRUE(params_.enable_quic_alternative_service_with_different_host);
-}
-
-TEST_F(ConfigureParamsFromFieldTrialsAndCommandLineTest,
-       EnableAlternativeServicesFromCommandLineWithQuicEnabled) {
-  command_line_.AppendSwitch("enable-quic");
-  command_line_.AppendSwitch("enable-alternative-services");
-
-  ConfigureParamsFromFieldTrialsAndCommandLine();
-
-  EXPECT_TRUE(params_.enable_quic);
-  EXPECT_TRUE(params_.enable_quic_alternative_service_with_different_host);
-}
-
-TEST_F(ConfigureParamsFromFieldTrialsAndCommandLineTest,
        QuicVersionFromCommandLine) {
   command_line_.AppendSwitch("enable-quic");
   std::string version =
diff --git a/chrome/browser/media/router/media_router.h b/chrome/browser/media/router/media_router.h
index 570a439..d727876 100644
--- a/chrome/browser/media/router/media_router.h
+++ b/chrome/browser/media/router/media_router.h
@@ -33,6 +33,7 @@
 namespace media_router {
 
 class IssuesObserver;
+class MediaRouteController;
 class MediaRoutesObserver;
 class MediaSinksObserver;
 class PresentationConnectionStateObserver;
@@ -196,9 +197,15 @@
   // there is a change to the media routes, subclass MediaRoutesObserver.
   virtual std::vector<MediaRoute> GetCurrentRoutes() const = 0;
 
+  // Returns a controller for sending media commands to a route. Returns a
+  // nullptr if no MediaRoute exists for the given |route_id|.
+  virtual scoped_refptr<MediaRouteController> GetRouteController(
+      const MediaRoute::Id& route_id) = 0;
+
  private:
   friend class IssuesObserver;
   friend class MediaSinksObserver;
+  friend class MediaRouteController;
   friend class MediaRoutesObserver;
   friend class PresentationConnectionStateObserver;
   friend class RouteMessageObserver;
@@ -254,6 +261,12 @@
   // stop receiving further updates.
   virtual void UnregisterRouteMessageObserver(
       RouteMessageObserver* observer) = 0;
+
+  // Removes the MediaRouteController for |route_id| from the list of
+  // controllers held by |this|. Called by MediaRouteController when it is
+  // invalidated.
+  virtual void DetachRouteController(const MediaRoute::Id& route_id,
+                                     MediaRouteController* controller) = 0;
 };
 
 }  // namespace media_router
diff --git a/chrome/browser/media/router/media_router_base.cc b/chrome/browser/media/router/media_router_base.cc
index 923afc4..d3ec5e6 100644
--- a/chrome/browser/media/router/media_router_base.cc
+++ b/chrome/browser/media/router/media_router_base.cc
@@ -9,6 +9,7 @@
 #include "base/memory/ptr_util.h"
 #include "base/stl_util.h"
 #include "chrome/browser/chrome_notification_types.h"
+#include "chrome/browser/media/router/mojo/media_route_controller.h"
 #include "chrome/browser/profiles/profile.h"
 #include "content/public/browser/browser_thread.h"
 
@@ -76,6 +77,11 @@
   return internal_routes_observer_->current_routes;
 }
 
+scoped_refptr<MediaRouteController> MediaRouterBase::GetRouteController(
+    const MediaRoute::Id& route_id) {
+  return nullptr;
+}
+
 MediaRouterBase::MediaRouterBase() : initialized_(false) {}
 
 // static
@@ -115,6 +121,14 @@
   return internal_routes_observer_->has_route;
 }
 
+bool MediaRouterBase::IsRouteKnown(const std::string& route_id) const {
+  const auto& routes = internal_routes_observer_->current_routes;
+  return std::find_if(routes.begin(), routes.end(),
+                      [&route_id](const MediaRoute& route) {
+                        return route.media_route_id() == route_id;
+                      }) != routes.end();
+}
+
 void MediaRouterBase::Initialize() {
   DCHECK(!initialized_);
   // The observer calls virtual methods on MediaRouter; it must be created
@@ -138,4 +152,7 @@
   internal_routes_observer_.reset();
 }
 
+void MediaRouterBase::DetachRouteController(const MediaRoute::Id& route_id,
+                                            MediaRouteController* controller) {}
+
 }  // namespace media_router
diff --git a/chrome/browser/media/router/media_router_base.h b/chrome/browser/media/router/media_router_base.h
index e271003..aa84494 100644
--- a/chrome/browser/media/router/media_router_base.h
+++ b/chrome/browser/media/router/media_router_base.h
@@ -34,6 +34,9 @@
 
   std::vector<MediaRoute> GetCurrentRoutes() const override;
 
+  scoped_refptr<MediaRouteController> GetRouteController(
+      const MediaRoute::Id& route_id) override;
+
  protected:
   FRIEND_TEST_ALL_PREFIXES(MediaRouterMojoImplTest,
                            PresentationConnectionStateChangedCallback);
@@ -59,6 +62,9 @@
   // JoinRoute().
   bool HasJoinableRoute() const;
 
+  // Returns true if there is a route with the ID in the current list of routes.
+  bool IsRouteKnown(const std::string& route_id) const;
+
   using PresentationConnectionStateChangedCallbacks = base::CallbackList<void(
       const content::PresentationConnectionStateChangeInfo&)>;
 
@@ -85,6 +91,10 @@
   // KeyedService
   void Shutdown() override;
 
+  // MediaRouter
+  void DetachRouteController(const MediaRoute::Id& route_id,
+                             MediaRouteController* controller) override;
+
   std::unique_ptr<InternalMediaRoutesObserver> internal_routes_observer_;
   bool initialized_;
 
diff --git a/chrome/browser/media/router/mock_media_router.h b/chrome/browser/media/router/mock_media_router.h
index 84d176418..2a91575a 100644
--- a/chrome/browser/media/router/mock_media_router.h
+++ b/chrome/browser/media/router/mock_media_router.h
@@ -15,6 +15,7 @@
 #include "chrome/browser/media/router/media_router_base.h"
 #include "chrome/browser/media/router/media_sink.h"
 #include "chrome/browser/media/router/media_source.h"
+#include "chrome/browser/media/router/mojo/media_route_controller.h"
 #include "testing/gmock/include/gmock/gmock.h"
 #include "url/origin.h"
 
@@ -91,6 +92,9 @@
   MOCK_CONST_METHOD0(GetCurrentRoutes, std::vector<MediaRoute>());
 
   MOCK_METHOD0(OnIncognitoProfileShutdown, void());
+  MOCK_METHOD1(
+      GetRouteController,
+      scoped_refptr<MediaRouteController>(const MediaRoute::Id& route_id));
   MOCK_METHOD1(OnAddPresentationConnectionStateChangedCallbackInvoked,
                void(const content::PresentationConnectionStateChangedCallback&
                         callback));
@@ -107,6 +111,9 @@
                void(RouteMessageObserver* observer));
   MOCK_METHOD1(UnregisterRouteMessageObserver,
                void(RouteMessageObserver* observer));
+  MOCK_METHOD2(DetachRouteController,
+               void(const MediaRoute::Id& route_id,
+                    MediaRouteController* controller));
 
  private:
   base::CallbackList<void(
diff --git a/chrome/browser/media/router/mojo/media_route_controller.cc b/chrome/browser/media/router/mojo/media_route_controller.cc
index 372d33a7..0fd4f8a 100644
--- a/chrome/browser/media/router/mojo/media_route_controller.cc
+++ b/chrome/browser/media/router/mojo/media_route_controller.cc
@@ -6,6 +6,8 @@
 
 #include <utility>
 
+#include "chrome/browser/media/router/media_router.h"
+
 namespace media_router {
 
 MediaRouteController::Observer::Observer(
@@ -20,7 +22,6 @@
 }
 
 void MediaRouteController::Observer::InvalidateController() {
-  controller_->RemoveObserver(this);
   controller_ = nullptr;
   OnControllerInvalidated();
 }
@@ -29,52 +30,87 @@
 
 MediaRouteController::MediaRouteController(
     const MediaRoute::Id& route_id,
-    mojom::MediaControllerPtr media_controller)
-    : route_id_(route_id), media_controller_(std::move(media_controller)) {
-  DCHECK(media_controller_.is_bound());
-  media_controller_.set_connection_error_handler(
-      base::Bind(&MediaRouteController::Invalidate, base::Unretained(this)));
+    mojom::MediaControllerPtr mojo_media_controller,
+    MediaRouter* media_router)
+    : route_id_(route_id),
+      mojo_media_controller_(std::move(mojo_media_controller)),
+      media_router_(media_router),
+      binding_(this) {
+  DCHECK(mojo_media_controller_.is_bound());
+  DCHECK(media_router);
+  mojo_media_controller_.set_connection_error_handler(base::Bind(
+      &MediaRouteController::OnMojoConnectionError, base::Unretained(this)));
 }
 
 void MediaRouteController::Play() {
-  media_controller_->Play();
+  DCHECK(is_valid_);
+  mojo_media_controller_->Play();
 }
 
 void MediaRouteController::Pause() {
-  media_controller_->Pause();
+  DCHECK(is_valid_);
+  mojo_media_controller_->Pause();
 }
 
 void MediaRouteController::Seek(base::TimeDelta time) {
-  media_controller_->Seek(time);
+  DCHECK(is_valid_);
+  mojo_media_controller_->Seek(time);
 }
 
 void MediaRouteController::SetMute(bool mute) {
-  media_controller_->SetMute(mute);
+  DCHECK(is_valid_);
+  mojo_media_controller_->SetMute(mute);
 }
 
 void MediaRouteController::SetVolume(float volume) {
-  media_controller_->SetVolume(volume);
+  DCHECK(is_valid_);
+  mojo_media_controller_->SetVolume(volume);
 }
 
 void MediaRouteController::OnMediaStatusUpdated(const MediaStatus& status) {
+  DCHECK(is_valid_);
   for (Observer& observer : observers_)
     observer.OnMediaStatusUpdated(status);
 }
 
 void MediaRouteController::Invalidate() {
+  is_valid_ = false;
+  binding_.Close();
+  mojo_media_controller_.reset();
   for (Observer& observer : observers_)
     observer.InvalidateController();
   // |this| is deleted here!
 }
 
-MediaRouteController::~MediaRouteController() {}
+mojom::MediaStatusObserverPtr MediaRouteController::BindObserverPtr() {
+  DCHECK(is_valid_);
+  DCHECK(!binding_.is_bound());
+  mojom::MediaStatusObserverPtr observer_ptr =
+      binding_.CreateInterfacePtrAndBind();
+  binding_.set_connection_error_handler(base::Bind(
+      &MediaRouteController::OnMojoConnectionError, base::Unretained(this)));
+
+  return observer_ptr;
+}
+
+MediaRouteController::~MediaRouteController() {
+  if (is_valid_)
+    media_router_->DetachRouteController(route_id_, this);
+}
 
 void MediaRouteController::AddObserver(Observer* observer) {
+  DCHECK(is_valid_);
   observers_.AddObserver(observer);
 }
 
 void MediaRouteController::RemoveObserver(Observer* observer) {
+  DCHECK(is_valid_);
   observers_.RemoveObserver(observer);
 }
 
+void MediaRouteController::OnMojoConnectionError() {
+  media_router_->DetachRouteController(route_id_, this);
+  Invalidate();
+}
+
 }  // namespace media_router
diff --git a/chrome/browser/media/router/mojo/media_route_controller.h b/chrome/browser/media/router/mojo/media_route_controller.h
index 81812e99..b8c16e2 100644
--- a/chrome/browser/media/router/mojo/media_route_controller.h
+++ b/chrome/browser/media/router/mojo/media_route_controller.h
@@ -15,6 +15,8 @@
 
 namespace media_router {
 
+class MediaRouter;
+
 // A controller for a MediaRoute. Forwards commands for controlling the route to
 // an out-of-process controller. Notifies its observers whenever there is a
 // change in the route's MediaStatus.
@@ -26,9 +28,9 @@
 //
 // A MediaRouteController instance is destroyed when all its observers dispose
 // their references to it. When the Mojo connection with the out-of-process
-// controller is terminated or has an error, OnControllerInvalidated() will be
-// called by the MediaRouter or a Mojo error handler to make observers dispose
-// their refptrs.
+// controller is terminated or has an error, Invalidate() will be called by the
+// MediaRouter or OnMojoConnectionError() to make observers dispose their
+// refptrs.
 class MediaRouteController : public mojom::MediaStatusObserver,
                              public base::RefCounted<MediaRouteController> {
  public:
@@ -66,12 +68,14 @@
   };
 
   // Constructs a MediaRouteController that forwards media commands to
-  // |media_controller|. |media_controller| must be bound to a message pipe.
+  // |mojo_media_controller|. |media_router| will be notified when the
+  // MediaRouteController is destroyed via DetachRouteController().
   MediaRouteController(const MediaRoute::Id& route_id,
-                       mojom::MediaControllerPtr media_controller);
+                       mojom::MediaControllerPtr mojo_media_controller,
+                       MediaRouter* media_router);
 
   // Media controller methods for forwarding commands to a
-  // mojom::MediaControllerPtr held in |media_controller_|.
+  // mojom::MediaControllerPtr held in |mojo_media_controller_|.
   void Play();
   void Pause();
   void Seek(base::TimeDelta time);
@@ -82,11 +86,14 @@
   // Notifies |observers_| of a status update.
   void OnMediaStatusUpdated(const MediaStatus& status) override;
 
-  // Called when the connection between |this| and |media_controller_| is no
-  // longer valid. Notifies |observers_| to dispose their references to |this|.
-  // |this| gets destroyed when all the references are disposed.
+  // Notifies |observers_| to dispose their references to the controller. The
+  // controller gets destroyed when all the references are disposed.
   void Invalidate();
 
+  // Returns a mojo pointer bound to |this| by |binding_|. This must only be
+  // called at most once in the lifetime of the controller.
+  mojom::MediaStatusObserverPtr BindObserverPtr();
+
   MediaRoute::Id route_id() const { return route_id_; }
 
  private:
@@ -97,16 +104,30 @@
   void AddObserver(Observer* observer);
   void RemoveObserver(Observer* observer);
 
+  // Called when the connection between |this| and the MediaControllerPtr or
+  // the MediaStatusObserver binding is no longer valid. Notifies
+  // |media_router_| and |observers_| to dispose their references to |this|.
+  void OnMojoConnectionError();
+
   // The ID of the Media Route that |this| controls.
   const MediaRoute::Id route_id_;
 
   // Handle to the mojom::MediaController that receives media commands.
-  mojom::MediaControllerPtr media_controller_;
+  mojom::MediaControllerPtr mojo_media_controller_;
 
-  // Observers that |this| notifies of status updates. The observers share the
-  // ownership of |this| through scoped_refptr.
+  // |media_router_| will be notified when the controller is destroyed.
+  MediaRouter* const media_router_;
+
+  // The binding to observe the out-of-process provider of status updates.
+  mojo::Binding<mojom::MediaStatusObserver> binding_;
+
+  // Observers that are notified of status updates. The observers share the
+  // ownership of the controller through scoped_refptr.
   base::ObserverList<Observer> observers_;
 
+  // This becomes false when the controller is invalidated.
+  bool is_valid_ = true;
+
   DISALLOW_COPY_AND_ASSIGN(MediaRouteController);
 };
 
diff --git a/chrome/browser/media/router/mojo/media_route_controller_unittest.cc b/chrome/browser/media/router/mojo/media_route_controller_unittest.cc
index 17487a5..dcfc748 100644
--- a/chrome/browser/media/router/mojo/media_route_controller_unittest.cc
+++ b/chrome/browser/media/router/mojo/media_route_controller_unittest.cc
@@ -8,31 +8,21 @@
 #include <utility>
 
 #include "base/run_loop.h"
+#include "chrome/browser/media/router/mock_media_router.h"
 #include "chrome/browser/media/router/mojo/media_router_mojo_test.h"
 #include "testing/gmock/include/gmock/gmock.h"
 #include "testing/gtest/include/gtest/gtest.h"
 
+using ::testing::Mock;
 using ::testing::StrictMock;
 
 namespace media_router {
 
-class MockMediaController : public mojom::MediaController {
- public:
-  MOCK_METHOD0(Play, void());
-  MOCK_METHOD0(Pause, void());
-  MOCK_METHOD1(SetMute, void(bool mute));
-  MOCK_METHOD1(SetVolume, void(float volume));
-  MOCK_METHOD1(Seek, void(base::TimeDelta time));
-};
+namespace {
 
-class MockMediaRouteControllerObserver : public MediaRouteController::Observer {
- public:
-  MockMediaRouteControllerObserver(
-      scoped_refptr<MediaRouteController> controller)
-      : MediaRouteController::Observer(controller) {}
+constexpr char kRouteId[] = "routeId";
 
-  MOCK_METHOD1(OnMediaStatusUpdated, void(const MediaStatus& status));
-};
+}  // namespace
 
 class MediaRouteControllerTest : public ::testing::Test {
  public:
@@ -43,12 +33,11 @@
     mojom::MediaControllerPtr media_controller_ptr;
     mojom::MediaControllerRequest media_controller_request =
         mojo::MakeRequest(&media_controller_ptr);
-    media_controller_binding_ =
-        base::MakeUnique<mojo::Binding<mojom::MediaController>>(
-            &mock_media_controller_, std::move(media_controller_request));
+    mock_media_controller_.Bind(std::move(media_controller_request));
 
     observer_ = base::MakeUnique<MockMediaRouteControllerObserver>(
-        new MediaRouteController("routeId", std::move(media_controller_ptr)));
+        base::MakeShared<MediaRouteController>(
+            kRouteId, std::move(media_controller_ptr), &router_));
   }
 
   scoped_refptr<MediaRouteController> GetController() const {
@@ -63,9 +52,8 @@
         GetController());
   }
 
+  MockMediaRouter router_;
   MockMediaController mock_media_controller_;
-  std::unique_ptr<mojo::Binding<mojom::MediaController>>
-      media_controller_binding_;
   std::unique_ptr<MockMediaRouteControllerObserver> observer_;
 
   content::TestBrowserThreadBundle test_thread_bundle_;
@@ -97,18 +85,52 @@
   MediaStatus status;
   status.title = "test media status";
 
+  // Get a mojo pointer for |controller_|, so that we can notify it of status
+  // updates via mojo.
+  mojom::MediaStatusObserverPtr mojo_observer =
+      GetController()->BindObserverPtr();
+
   EXPECT_CALL(*observer1, OnMediaStatusUpdated(status));
   EXPECT_CALL(*observer2, OnMediaStatusUpdated(status));
-  // TODO(takumif): Use a mojom::MediaStatusObserverPtr bound to the controller.
-  GetController()->OnMediaStatusUpdated(status);
+  mojo_observer->OnMediaStatusUpdated(status);
+  base::RunLoop().RunUntilIdle();
 
   observer1.reset();
   auto observer3 = CreateObserver();
 
   EXPECT_CALL(*observer2, OnMediaStatusUpdated(status));
   EXPECT_CALL(*observer3, OnMediaStatusUpdated(status));
-  // TODO(takumif): Use a mojom::MediaStatusObserverPtr bound to the controller.
-  GetController()->OnMediaStatusUpdated(status);
+  mojo_observer->OnMediaStatusUpdated(status);
+  base::RunLoop().RunUntilIdle();
+}
+
+TEST_F(MediaRouteControllerTest, DestroyControllerOnDisconnect) {
+  // DetachRouteController() should be called when the connection to
+  // |mock_media_controller_| is invalidated.
+  EXPECT_CALL(router_, DetachRouteController(kRouteId, GetController().get()))
+      .Times(1);
+  mock_media_controller_.CloseBinding();
+
+  base::RunLoop().RunUntilIdle();
+  EXPECT_TRUE(Mock::VerifyAndClearExpectations(&router_));
+}
+
+TEST_F(MediaRouteControllerTest, DestroyControllerOnNoObservers) {
+  auto observer1 = CreateObserver();
+  auto observer2 = CreateObserver();
+  // Get a pointer to the controller to use in EXPECT_CALL().
+  MediaRouteController* controller = GetController().get();
+  // Get rid of |observer_| and its reference to the controller.
+  observer_.reset();
+
+  EXPECT_CALL(router_, DetachRouteController(kRouteId, controller)).Times(0);
+  observer1.reset();
+
+  // DetachRouteController() should be called when the controller no longer
+  // has any observers.
+  EXPECT_CALL(router_, DetachRouteController(kRouteId, controller)).Times(1);
+  observer2.reset();
+  EXPECT_TRUE(Mock::VerifyAndClearExpectations(&router_));
 }
 
 }  // namespace media_router
diff --git a/chrome/browser/media/router/mojo/media_router.mojom b/chrome/browser/media/router/mojo/media_router.mojom
index d5e4409..e993afd 100644
--- a/chrome/browser/media/router/mojo/media_router.mojom
+++ b/chrome/browser/media/router/mojo/media_router.mojom
@@ -4,6 +4,8 @@
 
 module media_router.mojom;
 
+import "chrome/browser/media/router/mojo/media_controller.mojom";
+import "chrome/browser/media/router/mojo/media_status.mojom";
 import "mojo/common/time.mojom";
 import "net/interfaces/ip_address.mojom";
 import "url/mojo/origin.mojom";
@@ -80,8 +82,7 @@
   string? media_source;
   // The ID of sink that is rendering the media content.
   string media_sink_id;
-  // Human readable description of this route, e.g.
-  // "Tab casting".
+  // Human readable description of this route, e.g. "Tab casting".
   string description;
   // Specifies that the route is requested locally.
   bool is_local;
@@ -369,6 +370,23 @@
   // updated. The sinks are supplied to the MediaRouteProvider so that they can
   // be used for other operations, such as route creation.
   ProvideSinks(string provider_name, array<MediaSink> sinks);
+
+  // Creates a controller for the media route with given |route_id| and binds it
+  // to |media_controller| for receiving media commands. This method returns
+  // false if such a media route doesn't exist, a controller already exists
+  // for it, or there was an error while creating a controller. This method must
+  // close |media_controller| in case of such a failure. |media_controller|
+  // becomes invalid when the media route is terminated. The created controller
+  // is destroyed when |media_controller| becomes invalid, after which this
+  // method can be called again with the same |route_id|. This method also sets
+  // |observer| to be notified whenever there is a change in the status of the
+  // media route.
+  // TODO(takumif): Consider returning an enum instead of a bool to distinguish
+  // between error conditions for metrics/debugging.
+  CreateMediaRouteController(string route_id,
+                             MediaController& media_controller,
+                             MediaStatusObserver observer) =>
+                                 (bool success);
 };
 
 // Interface for a service which observes state changes across media
diff --git a/chrome/browser/media/router/mojo/media_router_mojo_impl.cc b/chrome/browser/media/router/mojo/media_router_mojo_impl.cc
index bdea137..9d640c64 100644
--- a/chrome/browser/media/router/mojo/media_router_mojo_impl.cc
+++ b/chrome/browser/media/router/mojo/media_router_mojo_impl.cc
@@ -20,6 +20,7 @@
 #include "chrome/browser/media/router/media_routes_observer.h"
 #include "chrome/browser/media/router/media_sinks_observer.h"
 #include "chrome/browser/media/router/media_source_helper.h"
+#include "chrome/browser/media/router/mojo/media_route_controller.h"
 #include "chrome/browser/media/router/mojo/media_route_provider_util_win.h"
 #include "chrome/browser/media/router/mojo/media_router_mojo_metrics.h"
 #include "chrome/browser/media/router/route_message.h"
@@ -230,6 +231,7 @@
         << "Received routes update without any active observers: "
         << media_source;
   }
+  RemoveInvalidRouteControllers(routes);
 }
 
 void MediaRouterMojoImpl::RouteResponseReceived(
@@ -277,9 +279,9 @@
 
   SetWakeReason(MediaRouteProviderWakeReason::CREATE_ROUTE);
   int tab_id = SessionTabHelper::IdForTab(web_contents);
-  RunOrDefer(base::Bind(&MediaRouterMojoImpl::DoCreateRoute,
-                        base::Unretained(this), source_id, sink_id, origin,
-                        tab_id, callbacks, timeout, incognito));
+  RunOrDefer(base::BindOnce(&MediaRouterMojoImpl::DoCreateRoute,
+                            base::Unretained(this), source_id, sink_id, origin,
+                            tab_id, callbacks, timeout, incognito));
 }
 
 void MediaRouterMojoImpl::JoinRoute(
@@ -303,9 +305,9 @@
 
   SetWakeReason(MediaRouteProviderWakeReason::JOIN_ROUTE);
   int tab_id = SessionTabHelper::IdForTab(web_contents);
-  RunOrDefer(base::Bind(&MediaRouterMojoImpl::DoJoinRoute,
-                        base::Unretained(this), source_id, presentation_id,
-                        origin, tab_id, callbacks, timeout, incognito));
+  RunOrDefer(base::BindOnce(&MediaRouterMojoImpl::DoJoinRoute,
+                            base::Unretained(this), source_id, presentation_id,
+                            origin, tab_id, callbacks, timeout, incognito));
 }
 
 void MediaRouterMojoImpl::ConnectRouteByRouteId(
@@ -320,25 +322,25 @@
 
   SetWakeReason(MediaRouteProviderWakeReason::CONNECT_ROUTE_BY_ROUTE_ID);
   int tab_id = SessionTabHelper::IdForTab(web_contents);
-  RunOrDefer(base::Bind(&MediaRouterMojoImpl::DoConnectRouteByRouteId,
-                        base::Unretained(this), source_id, route_id, origin,
-                        tab_id, callbacks, timeout, incognito));
+  RunOrDefer(base::BindOnce(&MediaRouterMojoImpl::DoConnectRouteByRouteId,
+                            base::Unretained(this), source_id, route_id, origin,
+                            tab_id, callbacks, timeout, incognito));
 }
 
 void MediaRouterMojoImpl::TerminateRoute(const MediaRoute::Id& route_id) {
   DCHECK_CURRENTLY_ON(content::BrowserThread::UI);
   DVLOG(2) << "TerminateRoute " << route_id;
   SetWakeReason(MediaRouteProviderWakeReason::TERMINATE_ROUTE);
-  RunOrDefer(base::Bind(&MediaRouterMojoImpl::DoTerminateRoute,
-                        base::Unretained(this), route_id));
+  RunOrDefer(base::BindOnce(&MediaRouterMojoImpl::DoTerminateRoute,
+                            base::Unretained(this), route_id));
 }
 
 void MediaRouterMojoImpl::DetachRoute(const MediaRoute::Id& route_id) {
   DCHECK_CURRENTLY_ON(content::BrowserThread::UI);
 
   SetWakeReason(MediaRouteProviderWakeReason::DETACH_ROUTE);
-  RunOrDefer(base::Bind(&MediaRouterMojoImpl::DoDetachRoute,
-                        base::Unretained(this), route_id));
+  RunOrDefer(base::BindOnce(&MediaRouterMojoImpl::DoDetachRoute,
+                            base::Unretained(this), route_id));
 }
 
 void MediaRouterMojoImpl::SendRouteMessage(
@@ -348,8 +350,9 @@
   DCHECK_CURRENTLY_ON(content::BrowserThread::UI);
 
   SetWakeReason(MediaRouteProviderWakeReason::SEND_SESSION_MESSAGE);
-  RunOrDefer(base::Bind(&MediaRouterMojoImpl::DoSendSessionMessage,
-                        base::Unretained(this), route_id, message, callback));
+  RunOrDefer(base::BindOnce(&MediaRouterMojoImpl::DoSendSessionMessage,
+                            base::Unretained(this), route_id, message,
+                            callback));
 }
 
 void MediaRouterMojoImpl::SendRouteBinaryMessage(
@@ -359,9 +362,9 @@
   DCHECK_CURRENTLY_ON(content::BrowserThread::UI);
 
   SetWakeReason(MediaRouteProviderWakeReason::SEND_SESSION_BINARY_MESSAGE);
-  RunOrDefer(base::Bind(&MediaRouterMojoImpl::DoSendSessionBinaryMessage,
-                        base::Unretained(this), route_id,
-                        base::Passed(std::move(data)), callback));
+  RunOrDefer(base::BindOnce(&MediaRouterMojoImpl::DoSendSessionBinaryMessage,
+                            base::Unretained(this), route_id,
+                            base::Passed(std::move(data)), callback));
 }
 
 void MediaRouterMojoImpl::AddIssue(const IssueInfo& issue_info) {
@@ -393,9 +396,34 @@
   DCHECK_CURRENTLY_ON(content::BrowserThread::UI);
 
   SetWakeReason(MediaRouteProviderWakeReason::SEARCH_SINKS);
-  RunOrDefer(base::Bind(&MediaRouterMojoImpl::DoSearchSinks,
-                        base::Unretained(this), sink_id, source_id,
-                        search_input, domain, sink_callback));
+  RunOrDefer(base::BindOnce(&MediaRouterMojoImpl::DoSearchSinks,
+                            base::Unretained(this), sink_id, source_id,
+                            search_input, domain, sink_callback));
+}
+
+scoped_refptr<MediaRouteController> MediaRouterMojoImpl::GetRouteController(
+    const MediaRoute::Id& route_id) {
+  if (!IsRouteKnown(route_id))
+    return nullptr;
+
+  auto it = route_controllers_.find(route_id);
+  if (it != route_controllers_.end())
+    return scoped_refptr<MediaRouteController>(it->second);
+
+  mojom::MediaControllerPtr mojo_media_controller;
+  mojom::MediaControllerRequest mojo_media_controller_request =
+      mojo::MakeRequest(&mojo_media_controller);
+  scoped_refptr<MediaRouteController> route_controller =
+      new MediaRouteController(route_id, std::move(mojo_media_controller),
+                               this);
+
+  SetWakeReason(MediaRouteProviderWakeReason::CREATE_MEDIA_ROUTE_CONTROLLER);
+  RunOrDefer(base::BindOnce(&MediaRouterMojoImpl::DoCreateMediaRouteController,
+                            base::Unretained(this), route_id,
+                            std::move(mojo_media_controller_request),
+                            route_controller->BindObserverPtr()));
+  route_controllers_.emplace(route_id, route_controller.get());
+  return route_controller;
 }
 
 void MediaRouterMojoImpl::ProvideSinks(
@@ -434,8 +462,9 @@
     // Need to call MRPM to start observing sinks if the query is new.
     if (is_new_query) {
       SetWakeReason(MediaRouteProviderWakeReason::START_OBSERVING_MEDIA_SINKS);
-      RunOrDefer(base::Bind(&MediaRouterMojoImpl::DoStartObservingMediaSinks,
-                            base::Unretained(this), source_id));
+      RunOrDefer(
+          base::BindOnce(&MediaRouterMojoImpl::DoStartObservingMediaSinks,
+                         base::Unretained(this), source_id));
     } else if (sinks_query->cached_sink_list) {
       observer->OnSinksUpdated(*sinks_query->cached_sink_list,
                                sinks_query->origins);
@@ -469,8 +498,8 @@
       SetWakeReason(MediaRouteProviderWakeReason::STOP_OBSERVING_MEDIA_SINKS);
       // The |sinks_queries_| entry will be removed in the immediate or deferred
       // |DoStopObservingMediaSinks| call.
-      RunOrDefer(base::Bind(&MediaRouterMojoImpl::DoStopObservingMediaSinks,
-                            base::Unretained(this), source_id));
+      RunOrDefer(base::BindOnce(&MediaRouterMojoImpl::DoStopObservingMediaSinks,
+                                base::Unretained(this), source_id));
     } else {
       sinks_queries_.erase(source_id);
     }
@@ -493,8 +522,8 @@
   routes_query->observers.AddObserver(observer);
   if (is_new_query) {
     SetWakeReason(MediaRouteProviderWakeReason::START_OBSERVING_MEDIA_ROUTES);
-    RunOrDefer(base::Bind(&MediaRouterMojoImpl::DoStartObservingMediaRoutes,
-                          base::Unretained(this), source_id));
+    RunOrDefer(base::BindOnce(&MediaRouterMojoImpl::DoStartObservingMediaRoutes,
+                              base::Unretained(this), source_id));
     // The MRPM will call MediaRouterMojoImpl::OnRoutesUpdated() soon, if there
     // are any existing routes the new observer should be aware of.
   } else if (routes_query->cached_route_list) {
@@ -542,8 +571,8 @@
   it->second->observers.RemoveObserver(observer);
   if (!it->second->observers.might_have_observers()) {
     SetWakeReason(MediaRouteProviderWakeReason::STOP_OBSERVING_MEDIA_ROUTES);
-    RunOrDefer(base::Bind(&MediaRouterMojoImpl::DoStopObservingMediaRoutes,
-                          base::Unretained(this), source_id));
+    RunOrDefer(base::BindOnce(&MediaRouterMojoImpl::DoStopObservingMediaRoutes,
+                              base::Unretained(this), source_id));
   }
 }
 
@@ -596,11 +625,20 @@
     message_observers_.erase(route_id);
     SetWakeReason(
         MediaRouteProviderWakeReason::STOP_LISTENING_FOR_ROUTE_MESSAGES);
-    RunOrDefer(base::Bind(&MediaRouterMojoImpl::DoStopListeningForRouteMessages,
-                          base::Unretained(this), route_id));
+    RunOrDefer(
+        base::BindOnce(&MediaRouterMojoImpl::DoStopListeningForRouteMessages,
+                       base::Unretained(this), route_id));
   }
 }
 
+void MediaRouterMojoImpl::DetachRouteController(
+    const MediaRoute::Id& route_id,
+    MediaRouteController* controller) {
+  auto it = route_controllers_.find(route_id);
+  if (it != route_controllers_.end() && it->second == controller)
+    route_controllers_.erase(it);
+}
+
 void MediaRouterMojoImpl::DoCreateRoute(
     const MediaSource::Id& source_id,
     const MediaSink::Id& sink_id,
@@ -719,6 +757,21 @@
   media_route_provider_->ProvideSinks(provider_name, sinks);
 }
 
+void MediaRouterMojoImpl::DoCreateMediaRouteController(
+    const MediaRoute::Id& route_id,
+    mojom::MediaControllerRequest mojo_media_controller_request,
+    mojom::MediaStatusObserverPtr mojo_observer) {
+  DVLOG_WITH_INSTANCE(1) << "DoCreateMediaRouteController";
+  if (!mojo_media_controller_request.is_pending() || !mojo_observer.is_bound())
+    return;
+
+  media_route_provider_->CreateMediaRouteController(
+      route_id, std::move(mojo_media_controller_request),
+      std::move(mojo_observer),
+      base::Bind(&MediaRouterMojoImpl::OnMediaControllerCreated,
+                 base::Unretained(this), route_id));
+}
+
 void MediaRouterMojoImpl::OnRouteMessagesReceived(
     const std::string& route_id,
     const std::vector<RouteMessage>& messages) {
@@ -753,8 +806,9 @@
   } else {
     // Sinks are now available. Tell MRPM to start all sink queries again.
     for (const auto& source_and_query : sinks_queries_) {
-      RunOrDefer(base::Bind(&MediaRouterMojoImpl::DoStartObservingMediaSinks,
-                            base::Unretained(this), source_and_query.first));
+      RunOrDefer(
+          base::BindOnce(&MediaRouterMojoImpl::DoStartObservingMediaSinks,
+                         base::Unretained(this), source_and_query.first));
     }
   }
 }
@@ -850,8 +904,8 @@
   routes_queries_.erase(source_id);
 }
 
-void MediaRouterMojoImpl::EnqueueTask(const base::Closure& closure) {
-  pending_requests_.push_back(closure);
+void MediaRouterMojoImpl::EnqueueTask(base::OnceClosure closure) {
+  pending_requests_.push_back(std::move(closure));
   if (pending_requests_.size() > kMaxPendingRequests) {
     DLOG_WITH_INSTANCE(ERROR) << "Reached max queue size. Dropping oldest "
                               << "request.";
@@ -861,24 +915,24 @@
                          << pending_requests_.size() << ")";
 }
 
-void MediaRouterMojoImpl::RunOrDefer(const base::Closure& request) {
+void MediaRouterMojoImpl::RunOrDefer(base::OnceClosure request) {
   DCHECK(event_page_tracker_);
 
   if (media_route_provider_extension_id_.empty()) {
     DVLOG_WITH_INSTANCE(1) << "Extension ID not known yet.";
-    EnqueueTask(request);
+    EnqueueTask(std::move(request));
   } else if (event_page_tracker_->IsEventPageSuspended(
                  media_route_provider_extension_id_)) {
     DVLOG_WITH_INSTANCE(1) << "Waking event page.";
-    EnqueueTask(request);
+    EnqueueTask(std::move(request));
     AttemptWakeEventPage();
     media_route_provider_.reset();
   } else if (!media_route_provider_) {
     DVLOG_WITH_INSTANCE(1) << "Extension is awake, awaiting ProvideMediaRouter "
                               " to be called.";
-    EnqueueTask(request);
+    EnqueueTask(std::move(request));
   } else {
-    request.Run();
+    std::move(request).Run();
   }
 }
 
@@ -914,8 +968,8 @@
   DCHECK(event_page_tracker_);
   DCHECK(!media_route_provider_extension_id_.empty());
 
-  for (const auto& next_request : pending_requests_)
-    next_request.Run();
+  for (auto& next_request : pending_requests_)
+    std::move(next_request).Run();
 
   pending_requests_.clear();
 }
@@ -963,8 +1017,8 @@
     return;
 
   SetWakeReason(MediaRouteProviderWakeReason::ENABLE_MDNS_DISCOVERY);
-  RunOrDefer(base::Bind(&MediaRouterMojoImpl::DoEnsureMdnsDiscoveryEnabled,
-                        base::Unretained(this)));
+  RunOrDefer(base::BindOnce(&MediaRouterMojoImpl::DoEnsureMdnsDiscoveryEnabled,
+                            base::Unretained(this)));
   should_enable_mdns_discovery_ = true;
 }
 
@@ -986,14 +1040,35 @@
 void MediaRouterMojoImpl::UpdateMediaSinks(
     const MediaSource::Id& source_id) {
   SetWakeReason(MediaRouteProviderWakeReason::UPDATE_MEDIA_SINKS);
-  RunOrDefer(base::Bind(&MediaRouterMojoImpl::DoUpdateMediaSinks,
-                        base::Unretained(this), source_id));
+  RunOrDefer(base::BindOnce(&MediaRouterMojoImpl::DoUpdateMediaSinks,
+                            base::Unretained(this), source_id));
 }
 
 void MediaRouterMojoImpl::DoUpdateMediaSinks(
     const MediaSource::Id& source_id) {
-  DVLOG_WITH_INSTANCE(1) << "DoUpdateMediaSinks" << source_id;
+  DVLOG_WITH_INSTANCE(1) << "DoUpdateMediaSinks: " << source_id;
   media_route_provider_->UpdateMediaSinks(source_id);
 }
 
+void MediaRouterMojoImpl::RemoveInvalidRouteControllers(
+    const std::vector<MediaRoute>& routes) {
+  auto it = route_controllers_.begin();
+  while (it != route_controllers_.end()) {
+    if (IsRouteKnown(it->first)) {
+      ++it;
+    } else {
+      it->second->Invalidate();
+      it = route_controllers_.erase(it);
+    }
+  }
+}
+
+void MediaRouterMojoImpl::OnMediaControllerCreated(
+    const MediaRoute::Id& route_id,
+    bool success) {
+  // TODO(takumif): Record success/failure with UMA.
+  DVLOG_WITH_INSTANCE(1) << "OnMediaControllerCreated: " << route_id
+                         << (success ? " was successful." : " failed.");
+}
+
 }  // namespace media_router
diff --git a/chrome/browser/media/router/mojo/media_router_mojo_impl.h b/chrome/browser/media/router/mojo/media_router_mojo_impl.h
index f3f9d3d..bcfbd50 100644
--- a/chrome/browser/media/router/mojo/media_router_mojo_impl.h
+++ b/chrome/browser/media/router/mojo/media_router_mojo_impl.h
@@ -111,6 +111,8 @@
       const MediaSinkSearchResponseCallback& sink_callback) override;
   void ProvideSinks(const std::string& provider_name,
                     const std::vector<MediaSinkInternal>& sinks) override;
+  scoped_refptr<MediaRouteController> GetRouteController(
+      const MediaRoute::Id& route_id) override;
 
   const std::string& media_route_provider_extension_id() const {
     return media_route_provider_extension_id_;
@@ -144,6 +146,15 @@
   FRIEND_TEST_ALL_PREFIXES(MediaRouterMojoImplTest,
                            RouteMessagesMultipleObservers);
   FRIEND_TEST_ALL_PREFIXES(MediaRouterMojoImplTest, HandleIssue);
+  FRIEND_TEST_ALL_PREFIXES(MediaRouterMojoImplTest, GetRouteController);
+  FRIEND_TEST_ALL_PREFIXES(MediaRouterMojoImplTest,
+                           GetRouteControllerMultipleTimes);
+  FRIEND_TEST_ALL_PREFIXES(MediaRouterMojoImplTest,
+                           GetRouteControllerAfterInvalidation);
+  FRIEND_TEST_ALL_PREFIXES(MediaRouterMojoImplTest,
+                           GetRouteControllerAfterRouteInvalidation);
+  FRIEND_TEST_ALL_PREFIXES(MediaRouterMojoImplTest,
+                           FailToCreateRouteController);
   FRIEND_TEST_ALL_PREFIXES(MediaRouterMojoExtensionTest,
                            DeferredBindingAndSuspension);
   FRIEND_TEST_ALL_PREFIXES(MediaRouterMojoExtensionTest,
@@ -214,11 +225,11 @@
       const extensions::Extension& extension);
 
   // Enqueues a closure for later execution by ExecutePendingRequests().
-  void EnqueueTask(const base::Closure& closure);
+  void EnqueueTask(base::OnceClosure closure);
 
   // Runs a closure if the extension monitored by |extension_monitor_| is
   // active, or defers it for later execution if the extension is suspended.
-  void RunOrDefer(const base::Closure& request);
+  void RunOrDefer(base::OnceClosure request);
 
   // Dispatches the Mojo requests queued in |pending_requests_|.
   void ExecutePendingRequests();
@@ -236,6 +247,8 @@
   void UnregisterIssuesObserver(IssuesObserver* observer) override;
   void RegisterRouteMessageObserver(RouteMessageObserver* observer) override;
   void UnregisterRouteMessageObserver(RouteMessageObserver* observer) override;
+  void DetachRouteController(const MediaRoute::Id& route_id,
+                             MediaRouteController* controller) override;
 
   // Notifies |observer| of any existing cached routes, if it is still
   // registered.
@@ -285,6 +298,10 @@
       const std::string& search_input,
       const std::string& domain,
       const MediaSinkSearchResponseCallback& sink_callback);
+  void DoCreateMediaRouteController(
+      const MediaRoute::Id& route_id,
+      mojom::MediaControllerRequest mojo_media_controller_request,
+      mojom::MediaStatusObserverPtr mojo_observer);
 
   void DoProvideSinks(const std::string& provider_name,
                       const std::vector<MediaSinkInternal>& sinks);
@@ -378,9 +395,16 @@
   void UpdateMediaSinks(const MediaSource::Id& source_id);
   void DoUpdateMediaSinks(const MediaSource::Id& source_id);
 
+  // Invalidates and removes controllers from |route_controllers_| whose media
+  // routes do not appear in |routes|.
+  void RemoveInvalidRouteControllers(const std::vector<MediaRoute>& routes);
+
+  // Callback called by MRP's CreateMediaRouteController().
+  void OnMediaControllerCreated(const MediaRoute::Id& route_id, bool success);
+
   // Pending requests queued to be executed once component extension
   // becomes ready.
-  std::deque<base::Closure> pending_requests_;
+  std::deque<base::OnceClosure> pending_requests_;
 
   std::unordered_map<MediaSource::Id, std::unique_ptr<MediaSinksQuery>>
       sinks_queries_;
@@ -431,6 +455,10 @@
   // initial event page wakeup attempt.
   bool provider_version_was_recorded_ = false;
 
+  // Stores route controllers that can be used to send media commands to the
+  // extension.
+  std::unordered_map<MediaRoute::Id, MediaRouteController*> route_controllers_;
+
 #if defined(OS_WIN)
   // A pair of flags to ensure that mDNS discovery is only enabled on Windows
   // when there will be appropriate context for the user to associate a firewall
diff --git a/chrome/browser/media/router/mojo/media_router_mojo_impl_unittest.cc b/chrome/browser/media/router/mojo/media_router_mojo_impl_unittest.cc
index 55fc969..7f437f3 100644
--- a/chrome/browser/media/router/mojo/media_router_mojo_impl_unittest.cc
+++ b/chrome/browser/media/router/mojo/media_router_mojo_impl_unittest.cc
@@ -15,7 +15,6 @@
 #include "base/memory/ptr_util.h"
 #include "base/memory/ref_counted.h"
 #include "base/run_loop.h"
-#include "base/synchronization/waitable_event.h"
 #include "base/test/histogram_tester.h"
 #include "base/test/mock_callback.h"
 #include "base/threading/thread_task_runner_handle.h"
@@ -55,6 +54,7 @@
 using testing::Pointee;
 using testing::Return;
 using testing::ReturnRef;
+using testing::Unused;
 using testing::SaveArg;
 using testing::Sequence;
 
@@ -89,11 +89,26 @@
   return issue_info;
 }
 
+// Creates a media route whose ID is |kRouteId|.
 MediaRoute CreateMediaRoute() {
   return MediaRoute(kRouteId, MediaSource(kSource), kSinkId, kDescription, true,
                     std::string(), true);
 }
 
+// Creates a media route whose ID is |kRouteId2|.
+MediaRoute CreateMediaRoute2() {
+  return MediaRoute(kRouteId2, MediaSource(kSource), kSinkId, kDescription,
+                    true, std::string(), true);
+}
+
+void OnCreateMediaRouteController(
+    Unused,
+    Unused,
+    Unused,
+    const mojom::MediaRouteProvider::CreateMediaRouteControllerCallback& cb) {
+  cb.Run(true);
+}
+
 }  // namespace
 
 class RouteResponseCallbackHandler {
@@ -745,7 +760,6 @@
 
 TEST_F(MediaRouterMojoImplTest,
        RegisterMediaSinksObserverWithAvailabilityChange) {
-
   // When availability is UNAVAILABLE, no calls should be made to MRPM.
   router()->OnSinkAvailabilityUpdated(
       mojom::MediaRouter::SinkAvailability::UNAVAILABLE);
@@ -1182,16 +1196,17 @@
   std::string domain("google.com");
   MediaSource media_source(kSource);
 
-  EXPECT_CALL(
-      mock_media_route_provider_, SearchSinks_(kSinkId, kSource, _, _))
-      .WillOnce(Invoke([&search_input, &domain](
-          const std::string& sink_id, const std::string& source,
-          const mojom::SinkSearchCriteriaPtr& search_criteria,
-          const mojom::MediaRouteProvider::SearchSinksCallback& cb) {
-        EXPECT_EQ(search_input, search_criteria->input);
-        EXPECT_EQ(domain, search_criteria->domain);
-        cb.Run(kSinkId2);
-      }));
+  EXPECT_CALL(mock_media_route_provider_,
+              SearchSinksInternal(kSinkId, kSource, _, _))
+      .WillOnce(
+          Invoke([&search_input, &domain](
+                     const std::string& sink_id, const std::string& source,
+                     const mojom::SinkSearchCriteriaPtr& search_criteria,
+                     const mojom::MediaRouteProvider::SearchSinksCallback& cb) {
+            EXPECT_EQ(search_input, search_criteria->input);
+            EXPECT_EQ(domain, search_criteria->domain);
+            cb.Run(kSinkId2);
+          }));
 
   SinkResponseCallbackHandler sink_handler;
   EXPECT_CALL(sink_handler, Invoke(kSinkId2)).Times(1);
@@ -1223,6 +1238,154 @@
   run_loop.RunUntilIdle();
 }
 
+TEST_F(MediaRouterMojoImplTest, GetRouteController) {
+  MockMediaController media_controller;
+  mojom::MediaStatusObserverPtr route_controller_as_observer;
+  MediaStatus media_status;
+  media_status.title = "test title";
+
+  router()->OnRoutesUpdated({CreateMediaRoute()}, std::string(),
+                            std::vector<std::string>());
+
+  EXPECT_CALL(mock_media_route_provider_,
+              CreateMediaRouteControllerInternal(kRouteId, _, _, _))
+      .WillOnce(Invoke([&media_controller, &route_controller_as_observer](
+                           const std::string& route_id,
+                           mojom::MediaControllerRequest& request,
+                           mojom::MediaStatusObserverPtr& observer,
+                           const mojom::MediaRouteProvider::
+                               CreateMediaRouteControllerCallback& cb) {
+        media_controller.Bind(std::move(request));
+        route_controller_as_observer = std::move(observer);
+        cb.Run(true);
+      }));
+  // GetRouteController() should return a MediaRouteController that is connected
+  // to the MediaController provided by the MediaRouteProvider, and will also be
+  // subscribed to MediaStatus updates.
+  scoped_refptr<MediaRouteController> route_controller =
+      router()->GetRouteController(kRouteId);
+  base::RunLoop().RunUntilIdle();
+
+  // Media commands sent to the MediaRouteController should be forwarded to the
+  // MediaController created by the MediaRouteProvider.
+  EXPECT_CALL(media_controller, Play());
+  route_controller->Play();
+
+  // Add an observer to the MediaRouteController.
+  MockMediaRouteControllerObserver controller_observer(route_controller);
+
+  // The MediaRouteController should be registered with the MediaRouteProvider
+  // as a MediaStatusObserver, and should also notify its own observers.
+  EXPECT_CALL(controller_observer, OnMediaStatusUpdated(media_status));
+  route_controller_as_observer->OnMediaStatusUpdated(media_status);
+
+  base::RunLoop().RunUntilIdle();
+}
+
+TEST_F(MediaRouterMojoImplTest, GetRouteControllerMultipleTimes) {
+  router()->OnRoutesUpdated({CreateMediaRoute(), CreateMediaRoute2()},
+                            std::string(), std::vector<std::string>());
+
+  EXPECT_CALL(mock_media_route_provider_,
+              CreateMediaRouteControllerInternal(kRouteId, _, _, _))
+      .WillOnce(Invoke(OnCreateMediaRouteController));
+  scoped_refptr<MediaRouteController> route_controller1a =
+      router()->GetRouteController(kRouteId);
+
+  // Calling GetRouteController() with the same route ID for the second time
+  // (without destroying the MediaRouteController first) should not result in a
+  // CreateMediaRouteController() call.
+  scoped_refptr<MediaRouteController> route_controller1b =
+      router()->GetRouteController(kRouteId);
+
+  // The same MediaRouteController instance should have been returned.
+  EXPECT_EQ(route_controller1a.get(), route_controller1b.get());
+
+  // Calling GetRouteController() with another route ID should result in a
+  // CreateMediaRouteController() call.
+  EXPECT_CALL(mock_media_route_provider_,
+              CreateMediaRouteControllerInternal(kRouteId2, _, _, _))
+      .WillOnce(Invoke(OnCreateMediaRouteController));
+  scoped_refptr<MediaRouteController> route_controller2 =
+      router()->GetRouteController(kRouteId2);
+
+  base::RunLoop().RunUntilIdle();
+}
+
+TEST_F(MediaRouterMojoImplTest, GetRouteControllerAfterInvalidation) {
+  router()->OnRoutesUpdated({CreateMediaRoute()}, std::string(),
+                            std::vector<std::string>());
+
+  EXPECT_CALL(mock_media_route_provider_,
+              CreateMediaRouteControllerInternal(kRouteId, _, _, _))
+      .Times(2)
+      .WillRepeatedly(Invoke(OnCreateMediaRouteController));
+
+  scoped_refptr<MediaRouteController> route_controller =
+      router()->GetRouteController(kRouteId);
+  // Invalidate the MediaRouteController.
+  route_controller = nullptr;
+  // Call again with the same route ID. Since we've invalidated the
+  // MediaRouteController, CreateMediaRouteController() should be called again.
+  route_controller = router()->GetRouteController(kRouteId);
+
+  base::RunLoop().RunUntilIdle();
+}
+
+TEST_F(MediaRouterMojoImplTest, GetRouteControllerAfterRouteInvalidation) {
+  router()->OnRoutesUpdated({CreateMediaRoute(), CreateMediaRoute2()},
+                            std::string(), std::vector<std::string>());
+
+  EXPECT_CALL(mock_media_route_provider_,
+              CreateMediaRouteControllerInternal(kRouteId, _, _, _))
+      .WillOnce(Invoke(OnCreateMediaRouteController));
+  EXPECT_CALL(mock_media_route_provider_,
+              CreateMediaRouteControllerInternal(kRouteId2, _, _, _))
+      .Times(2)
+      .WillRepeatedly(Invoke(OnCreateMediaRouteController));
+
+  MockMediaRouteControllerObserver observer1a(
+      router()->GetRouteController(kRouteId));
+  MockMediaRouteControllerObserver observer2a(
+      router()->GetRouteController(kRouteId2));
+
+  // Update the routes list with |kRouteId| but without |kRouteId2|. This should
+  // remove the controller for |kRouteId2|, resulting in
+  // CreateMediaRouteController() getting called again for |kRouteId2| below.
+  router()->OnRoutesUpdated({CreateMediaRoute()}, std::string(),
+                            std::vector<std::string>());
+  // Add back |kRouteId2| so that a controller can be created for it.
+  router()->OnRoutesUpdated({CreateMediaRoute(), CreateMediaRoute2()},
+                            std::string(), std::vector<std::string>());
+
+  MockMediaRouteControllerObserver observer1b(
+      router()->GetRouteController(kRouteId));
+  MockMediaRouteControllerObserver observer2b(
+      router()->GetRouteController(kRouteId2));
+
+  base::RunLoop().RunUntilIdle();
+}
+
+TEST_F(MediaRouterMojoImplTest, FailToCreateRouteController) {
+  router()->OnRoutesUpdated({CreateMediaRoute()}, std::string(),
+                            std::vector<std::string>());
+
+  EXPECT_CALL(mock_media_route_provider_,
+              CreateMediaRouteControllerInternal(kRouteId, _, _, _))
+      .WillOnce(Invoke(
+          [](Unused, Unused, Unused,
+             const mojom::MediaRouteProvider::
+                 CreateMediaRouteControllerCallback& cb) { cb.Run(false); }));
+  MockMediaRouteControllerObserver observer(
+      router()->GetRouteController(kRouteId));
+
+  // When the MediaRouter is notified that the MediaRouteProvider failed to
+  // create a controller, the browser-side controller should be invalidated.
+  EXPECT_CALL(observer, OnControllerInvalidated());
+
+  base::RunLoop().RunUntilIdle();
+}
+
 class MediaRouterMojoExtensionTest : public ::testing::Test {
  public:
   MediaRouterMojoExtensionTest() : process_manager_(nullptr) {}
diff --git a/chrome/browser/media/router/mojo/media_router_mojo_metrics.h b/chrome/browser/media/router/mojo/media_router_mojo_metrics.h
index e755b0f..9cc8b616 100644
--- a/chrome/browser/media/router/mojo/media_router_mojo_metrics.h
+++ b/chrome/browser/media/router/mojo/media_router_mojo_metrics.h
@@ -44,9 +44,10 @@
   UPDATE_MEDIA_SINKS = 16,
   SEARCH_SINKS = 17,
   PROVIDE_SINKS = 18,
+  CREATE_MEDIA_ROUTE_CONTROLLER = 19,
 
   // NOTE: Add entries only immediately above this line.
-  TOTAL_COUNT = 19
+  TOTAL_COUNT = 20
 };
 
 // The install status of the Media Router component extension.
diff --git a/chrome/browser/media/router/mojo/media_router_mojo_test.cc b/chrome/browser/media/router/mojo/media_router_mojo_test.cc
index 305877dd..d88c9649 100644
--- a/chrome/browser/media/router/mojo/media_router_mojo_test.cc
+++ b/chrome/browser/media/router/mojo/media_router_mojo_test.cc
@@ -29,6 +29,28 @@
 
 MockEventPageTracker::~MockEventPageTracker() {}
 
+MockMediaController::MockMediaController() : binding_(this) {}
+
+MockMediaController::~MockMediaController() {}
+
+void MockMediaController::Bind(mojom::MediaControllerRequest request) {
+  binding_.Bind(std::move(request));
+}
+
+mojom::MediaControllerPtr MockMediaController::BindInterfacePtr() {
+  return binding_.CreateInterfacePtrAndBind();
+}
+
+void MockMediaController::CloseBinding() {
+  binding_.Close();
+}
+
+MockMediaRouteControllerObserver::MockMediaRouteControllerObserver(
+    scoped_refptr<MediaRouteController> controller)
+    : MediaRouteController::Observer(controller) {}
+
+MockMediaRouteControllerObserver::~MockMediaRouteControllerObserver() {}
+
 MediaRouterMojoTest::MediaRouterMojoTest()
     : mock_media_router_(new MediaRouterMojoImpl(&mock_event_page_tracker_)) {
   mock_media_router_->Initialize();
diff --git a/chrome/browser/media/router/mojo/media_router_mojo_test.h b/chrome/browser/media/router/mojo/media_router_mojo_test.h
index 2538ed6..b90e43e 100644
--- a/chrome/browser/media/router/mojo/media_router_mojo_test.h
+++ b/chrome/browser/media/router/mojo/media_router_mojo_test.h
@@ -90,15 +90,28 @@
       const std::string& media_source,
       mojom::SinkSearchCriteriaPtr search_criteria,
       const SearchSinksCallback& callback) override {
-    SearchSinks_(sink_id, media_source, search_criteria, callback);
+    SearchSinksInternal(sink_id, media_source, search_criteria, callback);
   }
-  MOCK_METHOD4(SearchSinks_,
+  MOCK_METHOD4(SearchSinksInternal,
                void(const std::string& sink_id,
                     const std::string& media_source,
                     mojom::SinkSearchCriteriaPtr& search_criteria,
                     const SearchSinksCallback& callback));
   MOCK_METHOD2(ProvideSinks,
                void(const std::string&, const std::vector<MediaSinkInternal>&));
+  void CreateMediaRouteController(
+      const std::string& route_id,
+      mojom::MediaControllerRequest media_controller,
+      mojom::MediaStatusObserverPtr observer,
+      const CreateMediaRouteControllerCallback& callback) override {
+    CreateMediaRouteControllerInternal(route_id, media_controller, observer,
+                                       callback);
+  }
+  MOCK_METHOD4(CreateMediaRouteControllerInternal,
+               void(const std::string& route_id,
+                    mojom::MediaControllerRequest& media_controller,
+                    mojom::MediaStatusObserverPtr& observer,
+                    const CreateMediaRouteControllerCallback& callback));
 
  private:
   DISALLOW_COPY_AND_ASSIGN(MockMediaRouteProvider);
@@ -115,6 +128,35 @@
                     const base::Callback<void(bool)>& callback));
 };
 
+class MockMediaController : public mojom::MediaController {
+ public:
+  MockMediaController();
+  ~MockMediaController();
+
+  void Bind(mojom::MediaControllerRequest request);
+  mojom::MediaControllerPtr BindInterfacePtr();
+  void CloseBinding();
+
+  MOCK_METHOD0(Play, void());
+  MOCK_METHOD0(Pause, void());
+  MOCK_METHOD1(SetMute, void(bool mute));
+  MOCK_METHOD1(SetVolume, void(float volume));
+  MOCK_METHOD1(Seek, void(base::TimeDelta time));
+
+ private:
+  mojo::Binding<mojom::MediaController> binding_;
+};
+
+class MockMediaRouteControllerObserver : public MediaRouteController::Observer {
+ public:
+  MockMediaRouteControllerObserver(
+      scoped_refptr<MediaRouteController> controller);
+  ~MockMediaRouteControllerObserver() override;
+
+  MOCK_METHOD1(OnMediaStatusUpdated, void(const MediaStatus& status));
+  MOCK_METHOD0(OnControllerInvalidated, void());
+};
+
 // Tests the API call flow between the MediaRouterMojoImpl and the Media Router
 // Mojo service in both directions.
 class MediaRouterMojoTest : public ::testing::Test {
diff --git a/chrome/browser/notifications/notification_platform_bridge_mac.mm b/chrome/browser/notifications/notification_platform_bridge_mac.mm
index b3357a6c..ead5b76 100644
--- a/chrome/browser/notifications/notification_platform_bridge_mac.mm
+++ b/chrome/browser/notifications/notification_platform_bridge_mac.mm
@@ -36,9 +36,11 @@
 #include "chrome/grit/generated_resources.h"
 #include "components/crash/content/app/crashpad.h"
 #include "components/url_formatter/elide_url.h"
+#include "net/base/registry_controlled_domains/registry_controlled_domain.h"
 #include "third_party/WebKit/public/platform/modules/notifications/WebNotificationConstants.h"
 #include "third_party/crashpad/crashpad/client/crashpad_client.h"
 #include "ui/base/l10n/l10n_util_mac.h"
+#include "ui/message_center/notification_types.h"
 #include "url/gurl.h"
 #include "url/origin.h"
 
@@ -118,7 +120,7 @@
 
 base::string16 CreateNotificationTitle(const Notification& notification) {
   base::string16 title;
-  if (notification.progress() > 0) {
+  if (notification.type() == message_center::NOTIFICATION_TYPE_PROGRESS) {
     title += base::FormatPercent(notification.progress());
     title += base::UTF8ToUTF16(" - ");
   }
@@ -126,6 +128,25 @@
   return title;
 }
 
+base::string16 CreateNotificationContext(const Notification& notification,
+                                         bool requires_attribution) {
+  if (!requires_attribution)
+    return notification.context_message();
+
+  base::string16 context =
+      base::UTF8ToUTF16(net::registry_controlled_domains::GetDomainAndRegistry(
+          notification.origin_url(),
+          net::registry_controlled_domains::INCLUDE_PRIVATE_REGISTRIES));
+
+  // localhost, raw IPs etc. are not handled by GetDomainAndRegistry.
+  if (context.empty()) {
+    context = url_formatter::FormatOriginForSecurityDisplay(
+        url::Origin(notification.origin_url()),
+        url_formatter::SchemeDisplay::OMIT_HTTP_AND_HTTPS);
+  }
+
+  return context;
+}
 }  // namespace
 
 // A Cocoa class that represents the delegate of NSUserNotificationCenter and
@@ -194,15 +215,9 @@
   bool requires_attribution =
       notification.context_message().empty() &&
       notification_type != NotificationCommon::EXTENSION;
+  [builder setSubTitle:base::SysUTF16ToNSString(CreateNotificationContext(
+                           notification, requires_attribution))];
 
-  base::string16 subtitle =
-      requires_attribution
-          ? url_formatter::FormatOriginForSecurityDisplay(
-                url::Origin(notification.origin_url()),
-                url_formatter::SchemeDisplay::OMIT_HTTP_AND_HTTPS)
-          : notification.context_message();
-
-  [builder setSubTitle:base::SysUTF16ToNSString(subtitle)];
   if (!notification.icon().IsEmpty()) {
     [builder setIcon:notification.icon().ToNSImage()];
   }
@@ -254,7 +269,8 @@
   // can be displayed as alerts. Chrome itself can only display
   // banners.
   // Progress Notifications are always considered persistent.
-  if (notification.never_timeout() || notification.progress() > 0) {
+  if (notification.never_timeout() ||
+      notification.type() == message_center::NOTIFICATION_TYPE_PROGRESS) {
     NSDictionary* dict = [builder buildDictionary];
     [alert_dispatcher_ dispatchNotification:dict];
   } else {
diff --git a/chrome/browser/notifications/notification_platform_bridge_mac_unittest.mm b/chrome/browser/notifications/notification_platform_bridge_mac_unittest.mm
index 41effda35..81eb7cd 100644
--- a/chrome/browser/notifications/notification_platform_bridge_mac_unittest.mm
+++ b/chrome/browser/notifications/notification_platform_bridge_mac_unittest.mm
@@ -23,6 +23,7 @@
 #include "content/public/test/test_browser_thread_bundle.h"
 #include "testing/gtest/include/gtest/gtest.h"
 #include "testing/gtest_mac.h"
+#include "ui/message_center/notification_types.h"
 #include "url/gurl.h"
 
 class NotificationPlatformBridgeMacTest : public testing::Test {
@@ -46,7 +47,6 @@
                                            optionsLabel:@"More"
                                           settingsLabel:@"Settings"]);
     [builder setTitle:@"Title"];
-    [builder setSubTitle:@"https://www.miguel.com"];
     [builder setOrigin:@"https://www.miguel.com/"];
     [builder setContextMessage:@""];
     [builder setButtons:@"Button1" secondaryButton:@"Button2"];
@@ -95,7 +95,6 @@
                                                    const char* button2,
                                                    bool require_interaction) {
     message_center::RichNotificationData optional_fields;
-    optional_fields.context_message = base::UTF8ToUTF16(origin);
     if (button1) {
       optional_fields.buttons.push_back(
           message_center::ButtonInfo(base::UTF8ToUTF16(button1)));
@@ -218,7 +217,7 @@
   NSUserNotification* delivered_notification = [notifications objectAtIndex:0];
   EXPECT_NSEQ(@"Title", [delivered_notification title]);
   EXPECT_NSEQ(@"Context", [delivered_notification informativeText]);
-  EXPECT_NSEQ(@"https://gmail.com", [delivered_notification subtitle]);
+  EXPECT_NSEQ(@"gmail.com", [delivered_notification subtitle]);
   EXPECT_NSEQ(@"Close", [delivered_notification otherButtonTitle]);
   EXPECT_NSEQ(@"Settings", [delivered_notification actionButtonTitle]);
 }
@@ -238,7 +237,7 @@
   NSUserNotification* delivered_notification = [notifications objectAtIndex:0];
   EXPECT_NSEQ(@"Title", [delivered_notification title]);
   EXPECT_NSEQ(@"Context", [delivered_notification informativeText]);
-  EXPECT_NSEQ(@"https://gmail.com", [delivered_notification subtitle]);
+  EXPECT_NSEQ(@"gmail.com", [delivered_notification subtitle]);
   EXPECT_NSEQ(@"Close", [delivered_notification otherButtonTitle]);
   EXPECT_NSEQ(@"More", [delivered_notification actionButtonTitle]);
 }
@@ -249,6 +248,7 @@
   const int kSamplePercent = 10;
 
   notification->set_progress(kSamplePercent);
+  notification->set_type(message_center::NOTIFICATION_TYPE_PROGRESS);
 
   std::unique_ptr<NotificationPlatformBridgeMac> bridge(
       new NotificationPlatformBridgeMac(notification_center(),
@@ -420,3 +420,51 @@
   EXPECT_EQ(0u, [[notification_center() deliveredNotifications] count]);
   EXPECT_EQ(0u, [[alert_dispatcher() alerts] count]);
 }
+
+TEST_F(NotificationPlatformBridgeMacTest, TestDisplayETLDPlusOne) {
+  std::unique_ptr<Notification> notification =
+      CreateBanner("Title", "Context", "https://hello.world.test.co.uk",
+                   "Button 1", nullptr);
+
+  std::unique_ptr<NotificationPlatformBridgeMac> bridge(
+      new NotificationPlatformBridgeMac(notification_center(),
+                                        alert_dispatcher()));
+  bridge->Display(NotificationCommon::PERSISTENT, "notification_id1",
+                  "profile_id", false, *notification);
+
+  notification = CreateBanner("Title", "Context", "https://mail.appspot.com",
+                              "Button 1", nullptr);
+
+  bridge->Display(NotificationCommon::PERSISTENT, "notification_id2",
+                  "profile_id", false, *notification);
+  notification = CreateBanner("Title", "Context", "https://tests.peter.sh",
+                              "Button 1", nullptr);
+
+  bridge->Display(NotificationCommon::PERSISTENT, "notification_id3",
+                  "profile_id", false, *notification);
+
+  notification = CreateBanner("Title", "Context", "http://localhost:8080",
+                              "Button 1", nullptr);
+
+  bridge->Display(NotificationCommon::PERSISTENT, "notification_id4",
+                  "profile_id", false, *notification);
+
+  notification = CreateBanner("Title", "Context", "https://93.186.186.172",
+                              "Button 1", nullptr);
+
+  bridge->Display(NotificationCommon::PERSISTENT, "notification_id5",
+                  "profile_id", false, *notification);
+
+  NSArray* notifications = [notification_center() deliveredNotifications];
+  EXPECT_EQ(5u, [notifications count]);
+  NSUserNotification* delivered_notification = [notifications objectAtIndex:0];
+  EXPECT_NSEQ(@"test.co.uk", [delivered_notification subtitle]);
+  delivered_notification = [notifications objectAtIndex:1];
+  EXPECT_NSEQ(@"mail.appspot.com", [delivered_notification subtitle]);
+  delivered_notification = [notifications objectAtIndex:2];
+  EXPECT_NSEQ(@"peter.sh", [delivered_notification subtitle]);
+  delivered_notification = [notifications objectAtIndex:3];
+  EXPECT_NSEQ(@"localhost:8080", [delivered_notification subtitle]);
+  delivered_notification = [notifications objectAtIndex:4];
+  EXPECT_NSEQ(@"93.186.186.172", [delivered_notification subtitle]);
+}
diff --git a/chrome/browser/password_manager/password_manager_browsertest.cc b/chrome/browser/password_manager/password_manager_browsertest.cc
index e2cf293f..9900a90 100644
--- a/chrome/browser/password_manager/password_manager_browsertest.cc
+++ b/chrome/browser/password_manager/password_manager_browsertest.cc
@@ -1092,14 +1092,25 @@
   // The only thing we check here is that there is no use-after-free reported.
 }
 
-// Disabled on Windows due to flakiness: http://crbug.com/346297
-#if defined(OS_WIN)
-#define MAYBE_PasswordValueAccessible DISABLED_PasswordValueAccessible
-#else
-#define MAYBE_PasswordValueAccessible PasswordValueAccessible
-#endif
 IN_PROC_BROWSER_TEST_F(PasswordManagerBrowserTestBase,
-                       MAYBE_PasswordValueAccessible) {
+                       PasswordValueAccessible) {
+  // At first let us save a credential to the password store.
+  scoped_refptr<password_manager::TestPasswordStore> password_store =
+      static_cast<password_manager::TestPasswordStore*>(
+          PasswordStoreFactory::GetForProfile(
+              browser()->profile(), ServiceAccessType::IMPLICIT_ACCESS)
+              .get());
+  autofill::PasswordForm signin_form;
+  signin_form.signon_realm = embedded_test_server()->base_url().spec();
+  signin_form.origin = embedded_test_server()->base_url();
+  signin_form.action = embedded_test_server()->base_url();
+  signin_form.username_value = base::ASCIIToUTF16("admin");
+  signin_form.password_value = base::ASCIIToUTF16("12345");
+  password_store->AddLogin(signin_form);
+
+  // Steps from https://crbug.com/337429#c37.
+  // Navigate to the page, click a link that opens a second tab, reload the
+  // first tab and observe that the password is accessible.
   NavigateToFile("/password/form_and_link.html");
 
   // Click on a link to open a new tab, then switch back to the first one.
@@ -1110,36 +1121,23 @@
   EXPECT_EQ(2, browser()->tab_strip_model()->count());
   browser()->tab_strip_model()->ActivateTabAt(0, false);
 
-  // Fill in the credentials, and make sure they are saved.
-  NavigationObserver form_submit_observer(WebContents());
-  std::unique_ptr<BubbleObserver> prompt_observer(
-      new BubbleObserver(WebContents()));
-  std::string fill_and_submit =
-      "document.getElementById('username_field').value = 'temp';"
-      "document.getElementById('password_field').value = 'random';"
-      "document.getElementById('input_submit_button').click();";
-  ASSERT_TRUE(content::ExecuteScript(RenderViewHost(), fill_and_submit));
-  form_submit_observer.Wait();
-  EXPECT_TRUE(prompt_observer->IsShowingSavePrompt());
-  prompt_observer->AcceptSavePrompt();
-
   // Reload the original page to have the saved credentials autofilled.
   NavigationObserver reload_observer(WebContents());
   NavigateToFile("/password/form_and_link.html");
   reload_observer.Wait();
 
   // Wait until the username is filled, to make sure autofill kicked in.
-  WaitForElementValue("username_field", "temp");
+  WaitForElementValue("username_field", "admin");
   // Now check that the password is not accessible yet.
   CheckElementValue("password_field", "");
   // Let the user interact with the page.
   content::SimulateMouseClickAt(
       WebContents(), 0, blink::WebMouseEvent::Button::kLeft, gfx::Point(1, 1));
   // Wait until that interaction causes the password value to be revealed.
-  WaitForElementValue("password_field", "random");
+  WaitForElementValue("password_field", "12345");
   // And check that after the side-effects of the interaction took place, the
   // username value stays the same.
-  CheckElementValue("username_field", "temp");
+  CheckElementValue("username_field", "admin");
 }
 
 IN_PROC_BROWSER_TEST_F(PasswordManagerBrowserTestBase,
diff --git a/chrome/browser/plugins/flash_download_interception.cc b/chrome/browser/plugins/flash_download_interception.cc
index 9a40a583..8b37e3c 100644
--- a/chrome/browser/plugins/flash_download_interception.cc
+++ b/chrome/browser/plugins/flash_download_interception.cc
@@ -31,12 +31,16 @@
 
 // Regexes matching
 const char kGetFlashURLCanonicalRegex[] = "(?i)get\\.adobe\\.com/.*flash.*";
-const char kGetFlashURLSecondaryRegex[] =
+const char kGetFlashURLSecondaryGoRegex[] =
     "(?i)(www\\.)?(adobe|macromedia)\\.com/go/"
     "((?i).*get[-_]?flash|getfp10android|.*fl(ash)player|.*flashpl|"
     ".*flash_player|flash_completion|flashpm|.*flashdownload|d65_flplayer|"
     "fp_jp|runtimes_fp|[a-z_-]{3,6}h-m-a-?2|chrome|download_player|"
     "gnav_fl|pdcredirect).*";
+const char kGetFlashURLSecondaryDownloadRegex[] =
+    "(?i)(www\\.)?(adobe|macromedia)\\.com/shockwave/download/download.cgi";
+const char kGetFlashURLSecondaryDownloadQuery[] =
+    "P1_Prod_Version=ShockwaveFlash";
 
 void DoNothing(ContentSetting result) {}
 
@@ -107,7 +111,9 @@
   std::string target_url_str =
       target_url.ReplaceComponents(replacements).GetContent();
   if (RE2::FullMatch(target_url_str, kGetFlashURLCanonicalRegex) ||
-      RE2::FullMatch(target_url_str, kGetFlashURLSecondaryRegex)) {
+      RE2::FullMatch(target_url_str, kGetFlashURLSecondaryGoRegex) ||
+      (RE2::FullMatch(target_url_str, kGetFlashURLSecondaryDownloadRegex) &&
+       target_url.query() == kGetFlashURLSecondaryDownloadQuery)) {
     ContentSetting flash_setting = PluginUtils::GetFlashPluginContentSetting(
         host_content_settings_map, url::Origin(source_url), source_url,
         nullptr);
diff --git a/chrome/browser/plugins/flash_download_interception_unittest.cc b/chrome/browser/plugins/flash_download_interception_unittest.cc
index bd12b0b1..2855e7fb 100644
--- a/chrome/browser/plugins/flash_download_interception_unittest.cc
+++ b/chrome/browser/plugins/flash_download_interception_unittest.cc
@@ -42,7 +42,7 @@
   base::test::ScopedFeatureList feature_list;
   feature_list.InitAndEnableFeature(features::kPreferHtmlOverPlugins);
 
-  const char* flash_intercept_urls[] = {
+  const char* const flash_intercept_urls[] = {
       "https://get.adobe.com/flashplayer/",
       "http://get.adobe.com/flash",
       "http://get.adobe.com/fr/flashplayer/",
@@ -52,6 +52,8 @@
       "http://adobe.com/go/CA-H-GET-FLASH",
       "http://adobe.com/go/DE_CH-H-M-A2",
       "http://adobe.com/go/gntray_dl_getflashplayer_jp",
+      "http://www.adobe.com/shockwave/download/download.cgi?"
+      "P1_Prod_Version=ShockwaveFlash",
   };
 
   for (auto* url : flash_intercept_urls) {
@@ -59,8 +61,9 @@
         << "Should have intercepted: " << url;
   }
 
-  const char* flash_no_intercept_urls[] = {
-      "https://www.example.com", "http://example.com/get.adobe.com/flashplayer",
+  const char* const flash_no_intercept_urls[] = {
+      "https://www.examplefoo.com",
+      "http://examplefoo.com/get.adobe.com/flashplayer",
       "http://ww.macromedia.com/go/getflashplayer",
       "http://wwwxmacromedia.com/go/getflashplayer",
       "http://www.adobe.com/software/flash/about/",
@@ -72,6 +75,8 @@
       // Don't match text within the query or fragment.
       "http://www.adobe.com/go/non-matching?foo=flashplayer",
       "http://www.adobe.com/go/non-matching#!foo=flashplayer",
+      "http://www.adobe.com/shockwave/download/download.cgi?"
+      "P1_Prod_Version=SomethingElse",
   };
 
   for (auto* url : flash_no_intercept_urls) {
diff --git a/chrome/browser/policy/configuration_policy_handler_list_factory.cc b/chrome/browser/policy/configuration_policy_handler_list_factory.cc
index cd82eca..b8f5f40 100644
--- a/chrome/browser/policy/configuration_policy_handler_list_factory.cc
+++ b/chrome/browser/policy/configuration_policy_handler_list_factory.cc
@@ -53,7 +53,7 @@
 #include "components/ssl_config/ssl_config_prefs.h"
 #include "components/sync/base/pref_names.h"
 #include "components/sync/driver/sync_policy_handler.h"
-#include "components/translate/core/common/translate_pref_names.h"
+#include "components/translate/core/browser/translate_pref_names.h"
 #include "components/variations/pref_names.h"
 #include "extensions/features/features.h"
 #include "media/media_features.h"
diff --git a/chrome/browser/prefs/pref_functional_browsertest.cc b/chrome/browser/prefs/pref_functional_browsertest.cc
index 0d842ad..56d90df 100644
--- a/chrome/browser/prefs/pref_functional_browsertest.cc
+++ b/chrome/browser/prefs/pref_functional_browsertest.cc
@@ -237,5 +237,7 @@
 
 // Verify that we have some Local State prefs.
 IN_PROC_BROWSER_TEST_F(PrefsFunctionalTest, TestHaveLocalStatePrefs) {
-  EXPECT_TRUE(g_browser_process->local_state()->GetPreferenceValues().get());
+  EXPECT_TRUE(g_browser_process->local_state()
+                  ->GetPreferenceValues(PrefService::INCLUDE_DEFAULTS)
+                  .get());
 }
diff --git a/chrome/browser/profiles/profile_statistics_aggregator.cc b/chrome/browser/profiles/profile_statistics_aggregator.cc
index e3582be..7949b8f5 100644
--- a/chrome/browser/profiles/profile_statistics_aggregator.cc
+++ b/chrome/browser/profiles/profile_statistics_aggregator.cc
@@ -26,6 +26,19 @@
 
 namespace {
 
+// Callback for each pref. Every one that should be counted as a changed
+// user pref will cause *count to be incremented.
+void AccumulatePrefStats(const PrefService* pref_service,
+                         int* count,
+                         const std::string& key,
+                         const base::Value& value) {
+  const PrefService::Preference* pref = pref_service->FindPreference(key);
+  // Skip all dictionaries, only want to count values.
+  if (!value.is_dict() && pref && pref->IsUserControlled() &&
+      !pref->IsDefaultValue())
+    ++(*count);
+}
+
 int CountBookmarksFromNode(const bookmarks::BookmarkNode* node) {
   int count = 0;
   if (node->is_url()) {
@@ -216,26 +229,9 @@
 
   ProfileStatValue result;
   if (pref_service) {
-    std::unique_ptr<base::DictionaryValue> prefs =
-        pref_service->GetPreferenceValuesWithoutPathExpansion();
-
-    int count = 0;
-    for (base::DictionaryValue::Iterator it(*(prefs.get()));
-         !it.IsAtEnd(); it.Advance()) {
-      const PrefService::Preference* pref = pref_service->
-                                                FindPreference(it.key());
-      // Skip all dictionaries (which must be empty by the function call above).
-      if (it.value().GetType() != base::Value::Type::DICTIONARY &&
-        pref && pref->IsUserControlled() && !pref->IsDefaultValue()) {
-        ++count;
-      }
-    }
-
-    result.count = count;
+    pref_service->IteratePreferenceValues(base::BindRepeating(
+        &AccumulatePrefStats, pref_service, base::Unretained(&result.count)));
     result.success = true;
-  } else {
-    result.count = 0;
-    result.success = false;
   }
   return result;
 }
diff --git a/chrome/browser/profiles/profile_statistics_aggregator.h b/chrome/browser/profiles/profile_statistics_aggregator.h
index 66e16fc..fc45518 100644
--- a/chrome/browser/profiles/profile_statistics_aggregator.h
+++ b/chrome/browser/profiles/profile_statistics_aggregator.h
@@ -50,8 +50,8 @@
   friend class base::RefCountedThreadSafe<ProfileStatisticsAggregator>;
 
   struct ProfileStatValue {
-    int count;
-    bool success;  // false means the statistics failed to load
+    int count = 0;
+    bool success = false;  // False means the statistics failed to load.
   };
 
   ~ProfileStatisticsAggregator();
diff --git a/chrome/browser/renderer_context_menu/render_view_context_menu.cc b/chrome/browser/renderer_context_menu/render_view_context_menu.cc
index 6bffc35..e56a7f0 100644
--- a/chrome/browser/renderer_context_menu/render_view_context_menu.cc
+++ b/chrome/browser/renderer_context_menu/render_view_context_menu.cc
@@ -1245,14 +1245,16 @@
     std::unique_ptr<translate::TranslatePrefs> prefs(
         ChromeTranslateClient::CreateTranslatePrefs(
             GetPrefs(browser_context_)));
-    std::string locale =
-        translate::TranslateManager::GetTargetLanguage(prefs.get());
-    base::string16 language =
-        l10n_util::GetDisplayNameForLocale(locale, locale, true);
-    menu_model_.AddItem(
-        IDC_CONTENT_CONTEXT_TRANSLATE,
-        l10n_util::GetStringFUTF16(IDS_CONTENT_CONTEXT_TRANSLATE, language));
-    AddGoogleIconToLastMenuItem(&menu_model_);
+    if (prefs->IsEnabled()) {
+      std::string locale =
+          translate::TranslateManager::GetTargetLanguage(prefs.get());
+      base::string16 language =
+          l10n_util::GetDisplayNameForLocale(locale, locale, true);
+      menu_model_.AddItem(
+          IDC_CONTENT_CONTEXT_TRANSLATE,
+          l10n_util::GetStringFUTF16(IDS_CONTENT_CONTEXT_TRANSLATE, language));
+      AddGoogleIconToLastMenuItem(&menu_model_);
+    }
   }
 }
 
diff --git a/chrome/browser/resources/chromeos/chromevox/chromevox/background/kbexplorer.js b/chrome/browser/resources/chromeos/chromevox/chromevox/background/kbexplorer.js
index 6b7d020..98d6ad7 100644
--- a/chrome/browser/resources/chromeos/chromevox/chromevox/background/kbexplorer.js
+++ b/chrome/browser/resources/chromeos/chromevox/chromevox/background/kbexplorer.js
@@ -16,6 +16,7 @@
 goog.require('cvox.CommandStore');
 goog.require('cvox.KeyMap');
 goog.require('cvox.KeyUtil');
+goog.require('cvox.LibLouis');
 
 /**
  * Class to manage the keyboard explorer.
@@ -58,6 +59,11 @@
     cvox.ChromeVoxKbHandler.handlerKeyMap = cvox.KeyMap.fromDefaults();
     cvox.ChromeVox.modKeyStr = 'Search+Shift';
   }
+
+  /** @type {cvox.LibLouis} */
+  this.currentBrailleTranslator_ = backgroundWindow['cvox']['BrailleBackground']
+      ['getInstance']()['getTranslatorManager']()['getDefaultTranslator']();
+
   cvox.ChromeVoxKbHandler.commandHandler = cvox.KbExplorer.onCommand;
   $('instruction').focus();
 };
@@ -132,25 +138,58 @@
     case cvox.BrailleKeyCommand.BOTTOM:
       msgid = 'braille_bottom';
       break;
-      break;
     case cvox.BrailleKeyCommand.ROUTING:
     case cvox.BrailleKeyCommand.SECONDARY_ROUTING:
       msgid = 'braille_routing';
       msgArgs.push(/** @type {number} */ (evt.displayPosition + 1));
       break;
     case cvox.BrailleKeyCommand.CHORD:
-      if (!evt.brailleDots)
+      var dots = evt.brailleDots;
+      if (!dots)
         return;
+
+      // First, check for the dots mapping to a key code.
+      var keyCode = cvox.BrailleKeyEvent.brailleChordsToStandardKeyCode[dots];
+      if (keyCode) {
+        text = keyCode;
+        break;
+      }
+
+      // Next, check for the modifier mappings.
+      var mods = cvox.BrailleKeyEvent.brailleDotsToModifiers[dots];
+      if (mods) {
+        var outputs = [];
+        for (var mod in mods) {
+          if (mod == 'ctrlKey')
+            outputs.push('control');
+          else if (mod == 'altKey')
+            outputs.push('alt');
+          else if (mod == 'shiftKey')
+            outputs.push('shift');
+        }
+
+        text = outputs.join(' ');
+        break;
+      }
+
       var command =
-          BrailleCommandHandler.getCommand(evt.brailleDots);
+          BrailleCommandHandler.getCommand(dots);
       if (command && cvox.KbExplorer.onCommand(command))
         return;
-      // Fall through.
-    case cvox.BrailleKeyCommand.DOTS:
-      if (!evt.brailleDots)
-        return;
-      text = BrailleCommandHandler.makeShortcutText(evt.brailleDots);
+      text = BrailleCommandHandler.makeShortcutText(dots, true);
       break;
+    case cvox.BrailleKeyCommand.DOTS:
+      var dots = evt.brailleDots;
+      if (!dots)
+        return;
+      var cells = new ArrayBuffer(1);
+      var view = new Uint8Array(cells);
+      view[0]= dots;
+    cvox.KbExplorer.currentBrailleTranslator_.backTranslate(cells,
+          function(res) {
+            cvox.KbExplorer.output(res);
+          }.bind(this));
+      return;
     case cvox.BrailleKeyCommand.STANDARD_KEY:
       break;
   }
diff --git a/chrome/browser/resources/chromeos/login/oobe_welcome.js b/chrome/browser/resources/chromeos/login/oobe_welcome.js
index 3d7dc53..9bf84888 100644
--- a/chrome/browser/resources/chromeos/login/oobe_welcome.js
+++ b/chrome/browser/resources/chromeos/login/oobe_welcome.js
@@ -114,7 +114,6 @@
       OncTypeVPN: loadTimeData.getString('OncTypeVPN'),
       OncTypeWiFi: loadTimeData.getString('OncTypeWiFi'),
       OncTypeWiMAX: loadTimeData.getString('OncTypeWiMAX'),
-      networkDisabled: loadTimeData.getString('networkDisabled'),
       networkListItemConnected:
           loadTimeData.getString('networkListItemConnected'),
       networkListItemConnecting:
diff --git a/chrome/browser/resources/chromeos/network_ui/network_ui.js b/chrome/browser/resources/chromeos/network_ui/network_ui.js
index 4319e5e..f3d3307 100644
--- a/chrome/browser/resources/chromeos/network_ui/network_ui.js
+++ b/chrome/browser/resources/chromeos/network_ui/network_ui.js
@@ -11,7 +11,6 @@
     OncTypeVPN: loadTimeData.getString('OncTypeVPN'),
     OncTypeWiFi: loadTimeData.getString('OncTypeWiFi'),
     OncTypeWiMAX: loadTimeData.getString('OncTypeWiMAX'),
-    networkDisabled: loadTimeData.getString('networkDisabled'),
     networkListItemConnected:
         loadTimeData.getString('networkListItemConnected'),
     networkListItemConnecting:
diff --git a/chrome/browser/resources/md_extensions/keyboard_shortcuts.html b/chrome/browser/resources/md_extensions/keyboard_shortcuts.html
index 4cdc99a6a..f8afc544 100644
--- a/chrome/browser/resources/md_extensions/keyboard_shortcuts.html
+++ b/chrome/browser/resources/md_extensions/keyboard_shortcuts.html
@@ -20,17 +20,22 @@
         @apply(--shadow-elevation-2dp);
         background-color: white;
         color: var(--paper-grey-600);
-        margin-bottom: 10px;
-        padding: 20px;
+        margin: 0 auto 16px auto;
+        max-width: 928px;
+        min-width: 600px;
+        padding-bottom: 8px;
         width: 90%;
       }
 
       .command-entry {
-        align-items: flex-end;
+        align-items: center;
         display: flex;
+        font-size: 13px;
+        height: 48px;
       }
 
       .command-name {
+        color: var(--paper-grey-900);
         flex: 1;
       }
 
@@ -40,20 +45,46 @@
 
       .card-title {
         align-items: center;
+        border-bottom: 1px solid var(--paper-grey-400);
         display: flex;
+        font-size: 14px;
+        font-weight: 500;
+        margin-bottom: 9px;
+        padding: 16px 20px;
       }
 
       .icon {
         -webkit-margin-end: 20px;
-        height: 24px;
-        width: 24px;
+        height: 16px;
+        width: 16px;
       }
 
       .card-controls {
         /* We line up the controls with the name, which is after the
-           24px icon + 20px margin on the icon. */
-        -webkit-margin-start: 44px;
+           20px left padding + 16px icon + 20px margin on the icon. */
+        -webkit-margin-end: 20px;
+        -webkit-margin-start: 56px;
       }
+
+      #main {
+        margin-top: 24px;
+      }
+
+      #main paper-dropdown-menu {
+        --paper-input-container: {
+          margin-bottom: 14px;
+          padding: 0;
+        };
+        --paper-input-container-color: var(--paper-grey-400);
+        --paper-input-container-focus-color: var(--google-blue-500);
+        --paper-input-container-input: {
+          font-size: 13px;
+        };
+        --paper-input-container-underline-disabled: {
+          border-bottom: 1px solid;
+        };
+      }
+
     </style>
     <div id="main">
       <template is="dom-repeat" items="[[calculateShownItems_(items.*)]]">
@@ -70,7 +101,8 @@
                     shortcut="[[command.keybinding]]"
                     command-name="[[command.name]]">
                 </extensions-shortcut-input>
-                <paper-dropdown-menu label="$i18n{shortcutScopeLabel}">
+                <paper-dropdown-menu
+                    disabled$="[[computeScopeDisabled_(command)]]">
                   <paper-listbox class="dropdown-content"
                       selected="[[computeSelectedScope_(command)]]">
                     <paper-item>$i18n{shortcutScopeInChrome}</paper-item>
diff --git a/chrome/browser/resources/md_extensions/keyboard_shortcuts.js b/chrome/browser/resources/md_extensions/keyboard_shortcuts.js
index a0fe904..98dd95e 100644
--- a/chrome/browser/resources/md_extensions/keyboard_shortcuts.js
+++ b/chrome/browser/resources/md_extensions/keyboard_shortcuts.js
@@ -47,6 +47,16 @@
     },
 
     /**
+     * Determines whether to disable the dropdown menu for the command's scope.
+     * @param {!chrome.developerPrivate.Command} command
+     * @return {boolean}
+     * @private
+     */
+    computeScopeDisabled_: function(command) {
+      return command.isExtensionAction || !command.isActive;
+    },
+
+    /**
      * Returns the scope index in the dropdown menu for the command's scope.
      * @param {chrome.developerPrivate.Command} command
      * @return {number}
diff --git a/chrome/browser/resources/md_extensions/shortcut_input.html b/chrome/browser/resources/md_extensions/shortcut_input.html
index d3a5c14..64fdc2c 100644
--- a/chrome/browser/resources/md_extensions/shortcut_input.html
+++ b/chrome/browser/resources/md_extensions/shortcut_input.html
@@ -12,11 +12,38 @@
       [hidden] {
         display: none !important;
       }
+
+      #main {
+        position: relative;
+        width: 200px;
+      }
+
+      #input {
+        --paper-input-container: {
+          margin-bottom: 12px;
+          padding: 0;
+        };
+        --paper-input-container-color: var(--paper-grey-400);
+        --paper-input-container-focus-color: var(--google-blue-500);
+        --paper-input-container-input: {
+          font-size: 13px;
+        };
+      }
+
+      #clear {
+        bottom: 6px;
+        height: 16px;
+        padding: 0;
+        position: absolute;
+        right: 0;
+        width: 16px;
+      }
+
     </style>
     <div id="main">
-      <span id="input" tabindex="0">
-        [[computeText_(capturing_, shortcut, pendingShortcut_)]]
-      </span>
+      <paper-input id="input" placeholder="$i18n{shortcutTypeAShortcut}"
+        value="[[computeText_(capturing_, shortcut, pendingShortcut_)]]">
+      </paper-input>
       <paper-icon-button id="clear" icon="clear" on-tap="onClearTap_"
           hidden$="[[computeClearHidden_(capturing_, shortcut)]]">
       </paper-icon-button>
diff --git a/chrome/browser/resources/md_extensions/shortcut_input.js b/chrome/browser/resources/md_extensions/shortcut_input.js
index 7530662..542ad36 100644
--- a/chrome/browser/resources/md_extensions/shortcut_input.js
+++ b/chrome/browser/resources/md_extensions/shortcut_input.js
@@ -142,8 +142,8 @@
      */
     computeText_: function() {
       if (this.capturing_)
-        return this.pendingShortcut_ || this.i18n('shortcutTypeAShortcut');
-      return this.shortcut || this.i18n('shortcutNotSet');
+        return this.pendingShortcut_;
+      return this.shortcut;
     },
 
     /**
diff --git a/chrome/browser/resources/md_history/side_bar.html b/chrome/browser/resources/md_history/side_bar.html
index 79a5180..d26b03c 100644
--- a/chrome/browser/resources/md_history/side_bar.html
+++ b/chrome/browser/resources/md_history/side_bar.html
@@ -67,6 +67,11 @@
         color: var(--link-color);
       }
 
+      iron-selector > a[disabled] {
+        opacity: 0.65;
+        pointer-events: none;
+      }
+
       #spacer {
         flex: 1;
       }
@@ -101,8 +106,11 @@
         <paper-ripple></paper-ripple>
       </a>
       <div class="separator"></div>
-      <a href="chrome://settings/clearBrowserData"
-          on-tap="onClearBrowsingDataTap_" id="clear-browsing-data">
+      <a id="clear-browsing-data"
+          href="chrome://settings/clearBrowserData"
+          on-tap="onClearBrowsingDataTap_"
+          disabled$="[[guestSession_]]"
+          tabindex$="[[computeClearBrowsingDataTabIndex_(guestSession_)]]">
         $i18n{clearBrowsingData}
         <iron-icon icon="cr:open-in-new"></iron-icon>
         <paper-ripple id="cbd-ripple"></paper-ripple>
diff --git a/chrome/browser/resources/md_history/side_bar.js b/chrome/browser/resources/md_history/side_bar.js
index e0f7e13..cfc0b943 100644
--- a/chrome/browser/resources/md_history/side_bar.js
+++ b/chrome/browser/resources/md_history/side_bar.js
@@ -13,6 +13,12 @@
       notify: true,
     },
 
+    /** @private */
+    guestSession_: {
+      type: Boolean,
+      value: loadTimeData.getBoolean('isGuestSession'),
+    },
+
     showFooter: Boolean,
   },
 
@@ -49,6 +55,14 @@
   },
 
   /**
+   * @return {number}
+   * @private
+   */
+  computeClearBrowsingDataTabIndex_: function() {
+    return this.guestSession_ ? -1 : 0;
+  },
+
+  /**
    * Prevent clicks on sidebar items from navigating. These are only links for
    * accessibility purposes, taps are handled separately by <iron-selector>.
    * @private
diff --git a/chrome/browser/resources/ntp4/guest_tab.html b/chrome/browser/resources/ntp4/guest_tab.html
index 15b74f0..a89226c 100644
--- a/chrome/browser/resources/ntp4/guest_tab.html
+++ b/chrome/browser/resources/ntp4/guest_tab.html
@@ -1,19 +1,16 @@
 <!doctype html>
-<html i18n-values="dir:textdirection;lang:language">
+<html dir="$i18n{textdirection}" lang="$i18n{language}">
 <head>
 <meta charset="utf-8">
-<title i18n-content="title"></title>
+<title>$i18n{title}</title>
 <link rel="stylesheet" href="chrome://resources/css/text_defaults_md.css">
 <link rel="stylesheet" href="incognito_and_guest_tab.css">
 </head>
 <body>
 <div class="content">
-  <h1 i18n-content="guestTabHeading"></h1>
-  <p>
-    <span i18n-content="guestTabDescription"></span>
-  </p>
-  <a class="learn-more-button" i18n-content="learnMore" i18n-values=".href:learnMoreLink"></a>
+  <h1>$i18n{guestTabHeading}</h1>
+  <p>$i18n{guestTabDescription}</p>
+  <a class="learn-more-button" href="$i18n{learnMoreLink}">$i18n{learnMore}</a>
 </div>
 </body>
-<script src="chrome://resources/js/cr.js"></script>
 </html>
diff --git a/chrome/browser/resources/settings/controls/controlled_radio_button.html b/chrome/browser/resources/settings/controls/controlled_radio_button.html
index c19f779..b59221d32 100644
--- a/chrome/browser/resources/settings/controls/controlled_radio_button.html
+++ b/chrome/browser/resources/settings/controls/controlled_radio_button.html
@@ -83,6 +83,10 @@
                    --primary-text-color);
       }
 
+      :host(:not([controlled_])) {
+        @apply(--settings-actionable);
+      }
+
       :host([controlled_]) {
         /* Disable pointer events for this whole element, as outer on-tap gets
          * triggered when clicking/tapping anywhere in :host. */
diff --git a/chrome/browser/resources/settings/controls/settings_slider.html b/chrome/browser/resources/settings/controls/settings_slider.html
index e80d1ca..bc10be0 100644
--- a/chrome/browser/resources/settings/controls/settings_slider.html
+++ b/chrome/browser/resources/settings/controls/settings_slider.html
@@ -7,6 +7,10 @@
   <template>
     <style>
       :host {
+        --calculated-paper-slider-height: var(--paper-slider-height, 2px);
+        /* Counteract the margin on #sliderContainer in paper-slider.html. */
+        -webkit-margin-end:
+            calc(-15px - var(--calculated-paper-slider-height) / 2);
         display: inline-flex;
       }
 
diff --git a/chrome/browser/resources/settings/device_page/pointers.html b/chrome/browser/resources/settings/device_page/pointers.html
index 6c7eaa1..ef0c121 100644
--- a/chrome/browser/resources/settings/device_page/pointers.html
+++ b/chrome/browser/resources/settings/device_page/pointers.html
@@ -13,81 +13,83 @@
         -webkit-padding-start: var(--settings-box-row-padding);
       }
 
-      /* Indent layout elements under .subsection, using margin instead of
-       * padding so the borders line up. */
-      .subsection > .settings-box {
-        margin: 0 var(--settings-box-row-indent);
-        padding: 0;
+      .subsection {
+        -webkit-padding-end: var(--settings-box-row-padding);
+        -webkit-padding-start: var(--settings-box-row-indent);
       }
 
-      .subsection > .list-frame {
-        -webkit-margin-start: var(--settings-indent-width);
+      .subsection > .settings-box  {
+        padding-left: 0;
+        padding-right: 0;
       }
     </style>
-    <div id="mouse" hidden$="[[!hasMouse]]"
-        class$="[[getSubsectionClass_(hasMouse, hasTouchpad)]]">
+    <div id="mouse" hidden$="[[!hasMouse]]">
       <!-- Subsection title only appears if both mouse and touchpad exist. -->
       <h2 hidden$="[[!hasTouchpad]]">$i18n{mouseTitle}</h2>
-      <div class="settings-box first">
-        <!-- Do not change the mouse button pref before the mouse is released.
-             See crbug.com/686949 -->
-        <settings-toggle-button id="mouseSwapButton" class="start"
-            pref="{{prefs.settings.mouse.primary_right}}"
-            label="$i18n{mouseSwapButtons}"
-            on-settings-boolean-control-change="onMouseSwapButtonsChange_"
-            on-down="onMouseSwapButtonsDown_" on-up="onMouseSwapButtonsUp_"
-            no-set-pref>
-        </settings-toggle-button>
-      </div>
-      <div class="settings-box">
-        <div class="start" id="mouseSpeedLabel">$i18n{mouseSpeed}</div>
-        <settings-slider pref="{{prefs.settings.mouse.sensitivity2}}"
-            tick-values="[[sensitivityValues_]]"
-            aria-labelledby="mouseSpeedLabel"
-            label-min="$i18n{pointerSlow}"
-            label-max="$i18n{pointerFast}">
-        </settings-slider>
-      </div>
-    </div>
-    <div id="touchpad" hidden$="[[!hasTouchpad]]"
-        class$="[[getSubsectionClass_(hasMouse, hasTouchpad)]]">
-      <!-- Subsection title only appears if both mouse and touchpad exist. -->
-      <h2 hidden$="[[!hasMouse]]">$i18n{touchpadTitle}</h2>
-      <div class="settings-box block first">
-        <settings-toggle-button id="enableTapToClick"
-            pref="{{prefs.settings.touchpad.enable_tap_to_click}}"
-            label="$i18n{touchpadTapToClickEnabledLabel}">
-        </settings-toggle-button>
-        <settings-toggle-button id="enableTapDragging"
-            pref="{{prefs.settings.touchpad.enable_tap_dragging}}"
-            label="$i18n{tapDraggingLabel}">
-        </settings-toggle-button>
-      </div>
-      <div class="settings-box">
-        <div class="start" id="touchpadSpeedLabel">$i18n{touchpadSpeed}</div>
-          <settings-slider id="touchpadSensitivity"
-              pref="{{prefs.settings.touchpad.sensitivity2}}"
+      <div class$="[[getSubsectionClass_(hasMouse, hasTouchpad)]]">
+        <div class="settings-box first">
+          <!-- Do not change the mouse button pref before the mouse is released.
+               See crbug.com/686949 -->
+          <settings-toggle-button id="mouseSwapButton" class="start"
+              pref="{{prefs.settings.mouse.primary_right}}"
+              label="$i18n{mouseSwapButtons}"
+              on-settings-boolean-control-change="onMouseSwapButtonsChange_"
+              on-down="onMouseSwapButtonsDown_" on-up="onMouseSwapButtonsUp_"
+              no-set-pref>
+          </settings-toggle-button>
+        </div>
+        <div class="settings-box">
+          <div class="start" id="mouseSpeedLabel">$i18n{mouseSpeed}</div>
+          <settings-slider pref="{{prefs.settings.mouse.sensitivity2}}"
               tick-values="[[sensitivityValues_]]"
-              aria-labelledby="touchpadSpeedLabel"
+              aria-labelledby="mouseSpeedLabel"
               label-min="$i18n{pointerSlow}"
               label-max="$i18n{pointerFast}">
           </settings-slider>
+        </div>
       </div>
-      <div class="settings-box">$i18n{scrollLabel}</div>
-      <div class="list-frame">
-        <settings-radio-group pref="{{prefs.settings.touchpad.natural_scroll}}">
-          <paper-radio-button name="false">
-            $i18n{traditionalScrollLabel}
-          </paper-radio-button>
-          <paper-radio-button name="true">
-            $i18n{naturalScrollLabel}
-            <a href="$i18n{naturalScrollLearnMoreLink}" target="_blank"
-                on-tap="onLearnMoreLinkActivated_"
-                on-keydown="onLearnMoreLinkActivated_">
-              $i18n{naturalScrollLearnMore}
-            </a>
-          </paper-radio-button>
-        </settings-radio-group>
+    </div>
+    <div id="touchpad" hidden$="[[!hasTouchpad]]">
+      <!-- Subsection title only appears if both mouse and touchpad exist. -->
+      <h2 hidden$="[[!hasMouse]]">$i18n{touchpadTitle}</h2>
+      <div class$="[[getSubsectionClass_(hasMouse, hasTouchpad)]]">
+        <div class="settings-box block first">
+          <settings-toggle-button id="enableTapToClick"
+              pref="{{prefs.settings.touchpad.enable_tap_to_click}}"
+              label="$i18n{touchpadTapToClickEnabledLabel}">
+          </settings-toggle-button>
+          <settings-toggle-button id="enableTapDragging"
+              pref="{{prefs.settings.touchpad.enable_tap_dragging}}"
+              label="$i18n{tapDraggingLabel}">
+          </settings-toggle-button>
+        </div>
+        <div class="settings-box">
+          <div class="start" id="touchpadSpeedLabel">$i18n{touchpadSpeed}</div>
+            <settings-slider id="touchpadSensitivity"
+                pref="{{prefs.settings.touchpad.sensitivity2}}"
+                tick-values="[[sensitivityValues_]]"
+                aria-labelledby="touchpadSpeedLabel"
+                label-min="$i18n{pointerSlow}"
+                label-max="$i18n{pointerFast}">
+            </settings-slider>
+        </div>
+        <div class="settings-box">$i18n{scrollLabel}</div>
+        <div class="list-frame">
+          <settings-radio-group
+              pref="{{prefs.settings.touchpad.natural_scroll}}">
+            <paper-radio-button name="false">
+              $i18n{traditionalScrollLabel}
+            </paper-radio-button>
+            <paper-radio-button name="true">
+              $i18n{naturalScrollLabel}
+              <a href="$i18n{naturalScrollLearnMoreLink}" target="_blank"
+                  on-tap="onLearnMoreLinkActivated_"
+                  on-keydown="onLearnMoreLinkActivated_">
+                $i18n{naturalScrollLearnMore}
+              </a>
+            </paper-radio-button>
+          </settings-radio-group>
+        </div>
       </div>
     </div>
   </template>
diff --git a/chrome/browser/resources/settings/internet_page/compiled_resources2.gyp b/chrome/browser/resources/settings/internet_page/compiled_resources2.gyp
index e06c64ae..7e645342 100644
--- a/chrome/browser/resources/settings/internet_page/compiled_resources2.gyp
+++ b/chrome/browser/resources/settings/internet_page/compiled_resources2.gyp
@@ -135,6 +135,7 @@
       'target_name': 'network_summary_item',
       'dependencies': [
         '<(DEPTH)/ui/webui/resources/cr_elements/network/compiled_resources2.gyp:cr_onc_types',
+        '<(DEPTH)/ui/webui/resources/cr_elements/policy/compiled_resources2.gyp:cr_policy_network_behavior',
         '<(DEPTH)/ui/webui/resources/js/compiled_resources2.gyp:assert',
         '<(DEPTH)/ui/webui/resources/js/compiled_resources2.gyp:i18n_behavior',
         '<(INTERFACES_GYP):networking_private_interface',
diff --git a/chrome/browser/resources/settings/internet_page/network_summary_item.html b/chrome/browser/resources/settings/internet_page/network_summary_item.html
index e188e09..cfdfdff0 100644
--- a/chrome/browser/resources/settings/internet_page/network_summary_item.html
+++ b/chrome/browser/resources/settings/internet_page/network_summary_item.html
@@ -1,5 +1,5 @@
-<link rel="import" href="chrome://resources/cr_elements/network/cr_network_list.html">
-<link rel="import" href="chrome://resources/cr_elements/network/cr_network_list_item.html">
+<link rel="import" href="chrome://resources/cr_elements/network/cr_network_icon.html">
+<link rel="import" href="chrome://resources/cr_elements/policy/cr_policy_indicator.html">
 <link rel="import" href="chrome://resources/html/i18n_behavior.html">
 <link rel="import" href="chrome://resources/html/polymer.html">
 <link rel="import" href="chrome://resources/polymer/v1_0/iron-collapse/iron-collapse.html">
@@ -12,6 +12,10 @@
 <dom-module id="network-summary-item">
   <template>
     <style include="settings-shared">
+      cr-network-icon {
+        -webkit-padding-end: var(--settings-box-row-padding);
+      }
+
       network-siminfo {
         padding: 0 var(--settings-box-row-padding);
       }
@@ -22,23 +26,42 @@
         flex: auto;
       }
 
-      #details[no-flex] {
-        flex: none;
+      #networkName {
+        color: #333;
+        font-weight: 500;
+      }
+
+      #networkState {
+        color: var(--paper-grey-600);
+        font-size: inherit;
+        font-weight: 400;
       }
     </style>
     <div actionable class="settings-box two-line" on-tap="onShowDetailsTap_">
       <div id="details" no-flex$="[[showSimInfo_(deviceState)]]">
-        <cr-network-list-item item="[[activeNetworkState]]" class="flex">
-        </cr-network-list-item>
+        <cr-network-icon network-state="[[activeNetworkState]]">
+        </cr-network-icon>
+        <div class="flex">
+          <div id="networkName">[[getNetworkName_(activeNetworkState)]]</div>
+          <div id="networkState">
+            [[getNetworkStateText_(activeNetworkState, deviceState)]]
+          </div>
+        </div>
       </div>
 
       <template is="dom-if" if="[[showSimInfo_(deviceState)]]">
-        <network-siminfo editable class="flex"
+        <network-siminfo editable
             network-properties="[[getCellularState_(deviceState)]]"
             networking-private="[[networkingPrivate]]">
         </network-siminfo>
       </template>
 
+      <template is="dom-if" if="[[showPolicyIndicator_(activeNetworkState)]]">
+        <cr-policy-indicator indicator-type="[[getIndicatorTypeForSource(
+            activeNetworkState.Source)]]">
+        </cr-policy-indicator>
+      </template>
+
       <template is="dom-if" if="[[showDetailsIsVisible_(deviceState)]]">
         <button class="subpage-arrow" is="paper-icon-button-light"
             aria-label$="[[getDetailsA11yString_(activeNetworkState,
diff --git a/chrome/browser/resources/settings/internet_page/network_summary_item.js b/chrome/browser/resources/settings/internet_page/network_summary_item.js
index 377c807..0e0b204 100644
--- a/chrome/browser/resources/settings/internet_page/network_summary_item.js
+++ b/chrome/browser/resources/settings/internet_page/network_summary_item.js
@@ -13,7 +13,7 @@
 Polymer({
   is: 'network-summary-item',
 
-  behaviors: [I18nBehavior],
+  behaviors: [CrPolicyNetworkBehavior, I18nBehavior],
 
   properties: {
     /**
@@ -47,6 +47,60 @@
   },
 
   /**
+   * @return {string}
+   * @private
+   */
+  getNetworkName_: function() {
+    return CrOncStrings['OncType' + this.activeNetworkState.Type];
+  },
+
+  /**
+   * @return {string}
+   * @private
+   */
+  getNetworkStateText_: function() {
+    var network = this.activeNetworkState;
+    var state = network.ConnectionState;
+    var name = CrOnc.getNetworkName(network);
+    if (state)
+      return this.getConnectionStateText_(state, name);
+    if (this.deviceIsEnabled_(this.deviceState))
+      return CrOncStrings.networkListItemNotConnected;
+    return this.i18n('deviceOff');
+  },
+
+  /**
+   * @param {CrOnc.ConnectionState} state
+   * @param {string} name
+   * @return {string}
+   * @private
+   */
+  getConnectionStateText_: function(state, name) {
+    switch (state) {
+      case CrOnc.ConnectionState.CONNECTED:
+        return name;
+      case CrOnc.ConnectionState.CONNECTING:
+        if (name)
+          return CrOncStrings.networkListItemConnectingTo.replace('$1', name);
+        return CrOncStrings.networkListItemConnecting;
+      case CrOnc.ConnectionState.NOT_CONNECTED:
+        return CrOncStrings.networkListItemNotConnected;
+    }
+    assertNotReached();
+    return state;
+  },
+
+  /**
+   * @return {boolean}
+   * @private
+   */
+  showPolicyIndicator_: function() {
+    var network = this.activeNetworkState;
+    return network.ConnectionState == CrOnc.ConnectionState.CONNECTED ||
+        this.isPolicySource(network.Source);
+  },
+
+  /**
    * Show the <network-siminfo> element if this is a disabled and locked
    * cellular device.
    * @return {boolean}
diff --git a/chrome/browser/resources/settings/settings_ui/settings_ui.js b/chrome/browser/resources/settings/settings_ui/settings_ui.js
index e3e0e591..b129c5b5 100644
--- a/chrome/browser/resources/settings/settings_ui/settings_ui.js
+++ b/chrome/browser/resources/settings/settings_ui/settings_ui.js
@@ -112,7 +112,6 @@
       OncTypeVPN: loadTimeData.getString('OncTypeVPN'),
       OncTypeWiFi: loadTimeData.getString('OncTypeWiFi'),
       OncTypeWiMAX: loadTimeData.getString('OncTypeWiMAX'),
-      networkDisabled: loadTimeData.getString('networkDisabled'),
       networkListItemConnected:
           loadTimeData.getString('networkListItemConnected'),
       networkListItemConnecting:
diff --git a/chrome/browser/resources/translate_internals/translate_internals.js b/chrome/browser/resources/translate_internals/translate_internals.js
index a18d468..0a24168 100644
--- a/chrome/browser/resources/translate_internals/translate_internals.js
+++ b/chrome/browser/resources/translate_internals/translate_internals.js
@@ -244,8 +244,6 @@
         var li = document.createElement('li');
 
         var text = formatLanguageCode(language);
-        if (details['alpha_languages'].indexOf(language) != -1)
-          text += ' - alpha';
         li.innerText = text;
 
         ul.appendChild(li);
diff --git a/chrome/browser/safe_browsing/srt_client_info_win.cc b/chrome/browser/safe_browsing/srt_client_info_win.cc
index 6faa2dfa..7506dac 100644
--- a/chrome/browser/safe_browsing/srt_client_info_win.cc
+++ b/chrome/browser/safe_browsing/srt_client_info_win.cc
@@ -24,12 +24,6 @@
 
 }  // namespace
 
-const char kChromeChannelSwitch[] = "chrome-channel";
-const char kChromeVersionSwitch[] = "chrome-version";
-const char kEnableCrashReporting[] = "enable-crash-reporting";
-const char kExtendedSafeBrowsingEnabledSwitch[] =
-    "extended-safebrowsing-enabled";
-
 int ChannelAsInt() {
   switch (chrome::GetChannel()) {
     case version_info::Channel::UNKNOWN:
diff --git a/chrome/browser/safe_browsing/srt_client_info_win.h b/chrome/browser/safe_browsing/srt_client_info_win.h
index dfa14eb..608ee96 100644
--- a/chrome/browser/safe_browsing/srt_client_info_win.h
+++ b/chrome/browser/safe_browsing/srt_client_info_win.h
@@ -7,11 +7,6 @@
 
 namespace safe_browsing {
 
-extern const char kChromeChannelSwitch[];
-extern const char kChromeVersionSwitch[];
-extern const char kEnableCrashReporting[];
-extern const char kExtendedSafeBrowsingEnabledSwitch[];
-
 // Encodes Chrome's channel as an integer to be passed to the SRT on the command
 // line. The SRT binary expects to receive Chrome's channel encoded as:
 //     0: unknown; 1: canary; 2: dev; 3: beta; 4: stable.
diff --git a/chrome/browser/safe_browsing/srt_fetcher_browsertest_win.cc b/chrome/browser/safe_browsing/srt_fetcher_browsertest_win.cc
index 3d7336b..328c9be 100644
--- a/chrome/browser/safe_browsing/srt_fetcher_browsertest_win.cc
+++ b/chrome/browser/safe_browsing/srt_fetcher_browsertest_win.cc
@@ -36,6 +36,7 @@
 #include "chrome/browser/ui/test/test_browser_dialog.h"
 #include "chrome/common/pref_names.h"
 #include "chrome/test/base/in_process_browser_test.h"
+#include "components/chrome_cleaner/public/constants/constants.h"
 #include "components/chrome_cleaner/public/interfaces/chrome_prompt.mojom.h"
 #include "components/component_updater/pref_names.h"
 #include "components/prefs/pref_service.h"
@@ -197,8 +198,8 @@
   base::CommandLine* command_line = base::CommandLine::ForCurrentProcess();
   const std::string& str =
       command_line->GetSwitchValueASCII(kExitCodeToReturnSwitch);
-  const std::string& chrome_mojo_pipe_token =
-      command_line->GetSwitchValueASCII(kChromeMojoPipeTokenSwitch);
+  const std::string& chrome_mojo_pipe_token = command_line->GetSwitchValueASCII(
+      chrome_cleaner::kChromeMojoPipeTokenSwitch);
   int exit_code_to_report = kFailureExitCode;
   bool success = base::StringToInt(str, &exit_code_to_report) &&
                  (chrome_mojo_pipe_token.empty() ||
@@ -287,7 +288,7 @@
                                    base::IntToString(exit_code_to_report_));
     if (in_browser_cleaner_ui_) {
       AddPromptAcceptanceToCommandLine(PromptAcceptance::DENIED, &command_line);
-      if (exit_code_to_report_ == kSwReporterCleanupNeeded) {
+      if (exit_code_to_report_ == chrome_cleaner::kSwReporterCleanupNeeded) {
         command_line.AppendSwitch(kReportUwSFoundSwitch);
         if (elevation_status_ == ElevationStatus::REQUIRED)
           command_line.AppendSwitch(kReportElevationRequiredSwitch);
@@ -443,8 +444,9 @@
   void ExpectLoggingSwitches(const SwReporterInvocation& invocation,
                              bool expect_switches) {
     static const std::set<std::string> logging_switches{
-        kExtendedSafeBrowsingEnabledSwitch, kChromeVersionSwitch,
-        kChromeChannelSwitch};
+        chrome_cleaner::kExtendedSafeBrowsingEnabledSwitch,
+        chrome_cleaner::kChromeVersionSwitch,
+        chrome_cleaner::kChromeChannelSwitch};
 
     const base::CommandLine::SwitchMap& invocation_switches =
         invocation.command_line.GetSwitches();
@@ -495,13 +497,13 @@
 }  // namespace
 
 IN_PROC_BROWSER_TEST_P(SRTFetcherTest, NothingFound) {
-  RunReporter(kSwReporterNothingFound);
+  RunReporter(chrome_cleaner::kSwReporterNothingFound);
   ExpectReporterLaunches(0, 1, false);
   ExpectToRunAgain(kDaysBetweenSuccessfulSwReporterRuns);
 }
 
 IN_PROC_BROWSER_TEST_P(SRTFetcherTest, CleanupNeeded) {
-  RunReporter(kSwReporterCleanupNeeded);
+  RunReporter(chrome_cleaner::kSwReporterCleanupNeeded);
   ExpectReporterLaunches(0, 1, true);
   ExpectToRunAgain(kDaysBetweenSuccessfulSwReporterRuns);
 }
@@ -509,7 +511,7 @@
 IN_PROC_BROWSER_TEST_P(SRTFetcherTest, RanRecently) {
   constexpr int kDaysLeft = 1;
   SetDaysSinceLastTriggered(kDaysBetweenSuccessfulSwReporterRuns - kDaysLeft);
-  RunReporter(kSwReporterNothingFound);
+  RunReporter(chrome_cleaner::kSwReporterNothingFound);
   ExpectReporterLaunches(0, 0, false);
   ExpectToRunAgain(kDaysLeft);
   ExpectReporterLaunches(kDaysLeft, 1, false);
@@ -535,7 +537,7 @@
   ASSERT_FALSE(chrome::FindLastActive());
 
   // Start the reporter while the browser is closed. The prompt should not open.
-  RunReporter(kSwReporterCleanupNeeded);
+  RunReporter(chrome_cleaner::kSwReporterCleanupNeeded);
   ExpectReporterLaunches(0, 1, false);
 
   // Create a Browser object directly instead of using helper functions like
@@ -569,7 +571,7 @@
   SetDaysSinceLastTriggered(kDaysBetweenSuccessfulSwReporterRuns - 1);
   ASSERT_GT(kDaysBetweenSuccessfulSwReporterRuns - 1,
             kDaysBetweenSwReporterRunsForPendingPrompt);
-  RunReporter(kSwReporterNothingFound);
+  RunReporter(chrome_cleaner::kSwReporterNothingFound);
 
   // Expect the reporter to run immediately, since a prompt is pending and it
   // has been more than kDaysBetweenSwReporterRunsForPendingPrompt days.
@@ -605,7 +607,7 @@
   {
     SCOPED_TRACE("N days left until next reporter run");
     SetDaysSinceLastTriggered(kDaysBetweenSuccessfulSwReporterRuns - kDaysLeft);
-    RunReporter(kSwReporterNothingFound, path1);
+    RunReporter(chrome_cleaner::kSwReporterNothingFound, path1);
     ExpectReporterLaunches(0, {}, false);
   }
 
@@ -613,9 +615,9 @@
   // Now the reporter should launch, just once, using path2.
   {
     SCOPED_TRACE("Reporter runs now");
-    RunReporter(kSwReporterNothingFound, path2);
+    RunReporter(chrome_cleaner::kSwReporterNothingFound, path2);
     // Schedule it twice; it should only actually run once.
-    RunReporter(kSwReporterNothingFound, path2);
+    RunReporter(chrome_cleaner::kSwReporterNothingFound, path2);
     ExpectReporterLaunches(kDaysLeft, {path2}, false);
   }
 
@@ -623,7 +625,7 @@
   // The reporter should not launch.
   {
     SCOPED_TRACE("No more time passed");
-    RunReporter(kSwReporterNothingFound, path3);
+    RunReporter(chrome_cleaner::kSwReporterNothingFound, path3);
     ExpectReporterLaunches(0, {}, false);
   }
 
@@ -641,7 +643,7 @@
   // passed, even though the parameters haven't changed.
   {
     SCOPED_TRACE("Run with same parameters");
-    RunReporter(kSwReporterNothingFound, path3);
+    RunReporter(chrome_cleaner::kSwReporterNothingFound, path3);
     ExpectReporterLaunches(kDaysBetweenSuccessfulSwReporterRuns, {path3},
                            false);
   }
@@ -661,7 +663,7 @@
   {
     SCOPED_TRACE("Launch 2 times");
     SetDaysSinceLastTriggered(kDaysBetweenSuccessfulSwReporterRuns);
-    RunReporterQueue(kSwReporterNothingFound, invocations);
+    RunReporterQueue(chrome_cleaner::kSwReporterNothingFound, invocations);
     ExpectReporterLaunches(0, {path1, path2}, false);
     ExpectToRunAgain(kDaysBetweenSuccessfulSwReporterRuns);
   }
@@ -670,8 +672,8 @@
   // just run 2 times, not 4.
   {
     SCOPED_TRACE("Launch 2 times with retry");
-    RunReporterQueue(kSwReporterNothingFound, invocations);
-    RunReporterQueue(kSwReporterNothingFound, invocations);
+    RunReporterQueue(chrome_cleaner::kSwReporterNothingFound, invocations);
+    RunReporterQueue(chrome_cleaner::kSwReporterNothingFound, invocations);
     ExpectReporterLaunches(kDaysBetweenSuccessfulSwReporterRuns, {path1, path2},
                            false);
     ExpectToRunAgain(kDaysBetweenSuccessfulSwReporterRuns);
@@ -684,7 +686,7 @@
     invocations.push(SwReporterInvocation::FromFilePath(path3));
     first_launch_callback_ = base::BindOnce(
         &SRTFetcherTest::RunReporterQueue, base::Unretained(this),
-        kSwReporterNothingFound, invocations);
+        chrome_cleaner::kSwReporterNothingFound, invocations);
 
     // Only the first two elements should execute since the third was added
     // during the cycle.
@@ -718,7 +720,7 @@
 }
 
 IN_PROC_BROWSER_TEST_P(SRTFetcherTest, ReporterLogging_NoSBExtendedReporting) {
-  RunReporter(kSwReporterNothingFound);
+  RunReporter(chrome_cleaner::kSwReporterNothingFound);
   ExpectReporterLaunches(0, 1, false);
   ExpectLoggingSwitches(reporter_launch_parameters_.front(), false);
   ExpectLastTimeSentReportNotSet();
@@ -730,7 +732,7 @@
   // Note: don't set last time sent logs in the local state.
   // SBER is enabled and there is no record in the local state of the last time
   // logs have been sent, so we should send logs in this run.
-  RunReporter(kSwReporterNothingFound);
+  RunReporter(chrome_cleaner::kSwReporterNothingFound);
   ExpectReporterLaunches(0, 1, false);
   ExpectLoggingSwitches(reporter_launch_parameters_.front(), true);
   ExpectLastReportSentInTheLastHour();
@@ -742,7 +744,7 @@
   // |kDaysBetweenReporterLogsSent| day ago, so we should send logs in this run.
   EnableSBExtendedReporting();
   SetLastTimeSentReport(kDaysBetweenReporterLogsSent + 3);
-  RunReporter(kSwReporterNothingFound);
+  RunReporter(chrome_cleaner::kSwReporterNothingFound);
   ExpectReporterLaunches(0, 1, false);
   ExpectLoggingSwitches(reporter_launch_parameters_.front(), true);
   ExpectLastReportSentInTheLastHour();
@@ -756,7 +758,7 @@
   EnableSBExtendedReporting();
   SetLastTimeSentReport(kDaysBetweenReporterLogsSent - 1);
   int64_t last_time_sent_logs = GetLastTimeSentReport();
-  RunReporter(kSwReporterNothingFound);
+  RunReporter(chrome_cleaner::kSwReporterNothingFound);
   ExpectReporterLaunches(0, 1, false);
   ExpectLoggingSwitches(reporter_launch_parameters_.front(), false);
   EXPECT_EQ(last_time_sent_logs, GetLastTimeSentReport());
@@ -776,7 +778,7 @@
         SwReporterInvocation::BEHAVIOUR_ALLOW_SEND_REPORTER_LOGS;
     invocations.push(invocation);
   }
-  RunReporterQueue(kSwReporterNothingFound, invocations);
+  RunReporterQueue(chrome_cleaner::kSwReporterNothingFound, invocations);
 
   // SBER is enabled and last time logs were sent was more than
   // |kDaysBetweenReporterLogsSent| day ago, so we should send logs in this run.
diff --git a/chrome/browser/safe_browsing/srt_fetcher_win.cc b/chrome/browser/safe_browsing/srt_fetcher_win.cc
index f3509738..2405a4a2 100644
--- a/chrome/browser/safe_browsing/srt_fetcher_win.cc
+++ b/chrome/browser/safe_browsing/srt_fetcher_win.cc
@@ -44,6 +44,7 @@
 #include "chrome/browser/ui/global_error/global_error_service.h"
 #include "chrome/browser/ui/global_error/global_error_service_factory.h"
 #include "chrome/common/pref_names.h"
+#include "components/chrome_cleaner/public/constants/constants.h"
 #include "components/chrome_cleaner/public/interfaces/chrome_prompt.mojom.h"
 #include "components/component_updater/pref_names.h"
 #include "components/data_use_measurement/core/data_use_user_data.h"
@@ -65,21 +66,9 @@
 
 namespace safe_browsing {
 
-// TODO(b/647763) Change the registry key to properly handle cases when the user
-// runs Google Chrome stable alongside Google Chrome SxS.
-const wchar_t kSoftwareRemovalToolRegistryKey[] =
-    L"Software\\Google\\Software Removal Tool";
-
-const wchar_t kCleanerSubKey[] = L"Cleaner";
-
-const wchar_t kEndTimeValueName[] = L"EndTime";
-const wchar_t kStartTimeValueName[] = L"StartTime";
-
 const base::Feature kInBrowserCleanerUIFeature{
     "InBrowserCleanerUI", base::FEATURE_DISABLED_BY_DEFAULT};
 
-const char kChromeMojoPipeTokenSwitch[] = "chrome-mojo-pipe-token";
-
 namespace {
 
 // Used to send UMA information about missing start and end time registry
@@ -148,13 +137,6 @@
 
 SwReporterTestingDelegate* g_testing_delegate_ = nullptr;
 
-const wchar_t kScanTimesSubKey[] = L"ScanTimes";
-const wchar_t kFoundUwsValueName[] = L"FoundUws";
-const wchar_t kMemoryUsedValueName[] = L"MemoryUsed";
-const wchar_t kLogsUploadResultValueName[] = L"LogsUploadResult";
-const wchar_t kExitCodeValueName[] = L"ExitCode";
-const wchar_t kEngineErrorCodeValueName[] = L"EngineErrorCode";
-
 const char kFoundUwsMetricName[] = "SoftwareReporter.FoundUwS";
 const char kFoundUwsReadErrorMetricName[] =
     "SoftwareReporter.FoundUwSReadError";
@@ -182,12 +164,12 @@
 
   explicit UMAHistogramReporter(const std::string& suffix)
       : suffix_(suffix),
-        registry_key_(suffix.empty() ? kSoftwareRemovalToolRegistryKey
-                                     : base::StringPrintf(
-                                           L"%ls\\%ls",
-                                           kSoftwareRemovalToolRegistryKey,
-                                           base::UTF8ToUTF16(suffix).c_str())) {
-  }
+        registry_key_(suffix.empty()
+                          ? chrome_cleaner::kSoftwareRemovalToolRegistryKey
+                          : base::StringPrintf(
+                                L"%ls\\%ls",
+                                chrome_cleaner::kSoftwareRemovalToolRegistryKey,
+                                base::UTF8ToUTF16(suffix).c_str())) {}
 
   // Reports the software reporter tool's version via UMA.
   void ReportVersion(const base::Version& version) const {
@@ -225,13 +207,13 @@
     DWORD exit_code_in_registry;
     if (reporter_key.Open(HKEY_CURRENT_USER, registry_key_.c_str(),
                           KEY_QUERY_VALUE | KEY_SET_VALUE) != ERROR_SUCCESS ||
-        reporter_key.ReadValueDW(kExitCodeValueName, &exit_code_in_registry) !=
-            ERROR_SUCCESS) {
+        reporter_key.ReadValueDW(chrome_cleaner::kExitCodeValueName,
+                                 &exit_code_in_registry) != ERROR_SUCCESS) {
       return;
     }
 
     RecordSparseHistogram(kExitCodeMetricName, exit_code_in_registry);
-    reporter_key.DeleteValue(kExitCodeValueName);
+    reporter_key.DeleteValue(chrome_cleaner::kExitCodeValueName);
   }
 
   void ReportEngineErrorCode() const {
@@ -239,13 +221,13 @@
     DWORD engine_error_code;
     if (reporter_key.Open(HKEY_CURRENT_USER, registry_key_.c_str(),
                           KEY_QUERY_VALUE | KEY_SET_VALUE) != ERROR_SUCCESS ||
-        reporter_key.ReadValueDW(kEngineErrorCodeValueName,
+        reporter_key.ReadValueDW(chrome_cleaner::kEngineErrorCodeValueName,
                                  &engine_error_code) != ERROR_SUCCESS) {
       return;
     }
 
     RecordSparseHistogram(kEngineErrorCodeMetricName, engine_error_code);
-    reporter_key.DeleteValue(kEngineErrorCodeValueName);
+    reporter_key.DeleteValue(chrome_cleaner::kEngineErrorCodeValueName);
   }
 
   // Reports UwS found by the software reporter tool via UMA and RAPPOR.
@@ -254,8 +236,8 @@
     std::vector<base::string16> found_uws_strings;
     if (reporter_key.Open(HKEY_CURRENT_USER, registry_key_.c_str(),
                           KEY_QUERY_VALUE | KEY_SET_VALUE) != ERROR_SUCCESS ||
-        reporter_key.ReadValues(kFoundUwsValueName, &found_uws_strings) !=
-            ERROR_SUCCESS) {
+        reporter_key.ReadValues(chrome_cleaner::kFoundUwsValueName,
+                                &found_uws_strings) != ERROR_SUCCESS) {
       return;
     }
 
@@ -271,7 +253,7 @@
     }
 
     // Clean up the old value.
-    reporter_key.DeleteValue(kFoundUwsValueName);
+    reporter_key.DeleteValue(chrome_cleaner::kFoundUwsValueName);
     RecordBooleanHistogram(kFoundUwsReadErrorMetricName, parse_error);
   }
 
@@ -282,12 +264,12 @@
     DWORD memory_used = 0;
     if (reporter_key.Open(HKEY_CURRENT_USER, registry_key_.c_str(),
                           KEY_QUERY_VALUE | KEY_SET_VALUE) != ERROR_SUCCESS ||
-        reporter_key.ReadValueDW(kMemoryUsedValueName, &memory_used) !=
-            ERROR_SUCCESS) {
+        reporter_key.ReadValueDW(chrome_cleaner::kMemoryUsedValueName,
+                                 &memory_used) != ERROR_SUCCESS) {
       return;
     }
     RecordMemoryKBHistogram(kMemoryUsedMetricName, memory_used);
-    reporter_key.DeleteValue(kMemoryUsedValueName);
+    reporter_key.DeleteValue(chrome_cleaner::kMemoryUsedValueName);
   }
 
   // Reports the SwReporter run time with UMA both as reported by the tool via
@@ -309,20 +291,20 @@
 
     bool has_start_time = false;
     int64_t start_time_value = 0;
-    if (reporter_key.HasValue(kStartTimeValueName) &&
-        reporter_key.ReadInt64(kStartTimeValueName, &start_time_value) ==
-            ERROR_SUCCESS) {
+    if (reporter_key.HasValue(chrome_cleaner::kStartTimeValueName) &&
+        reporter_key.ReadInt64(chrome_cleaner::kStartTimeValueName,
+                               &start_time_value) == ERROR_SUCCESS) {
       has_start_time = true;
-      reporter_key.DeleteValue(kStartTimeValueName);
+      reporter_key.DeleteValue(chrome_cleaner::kStartTimeValueName);
     }
 
     bool has_end_time = false;
     int64_t end_time_value = 0;
-    if (reporter_key.HasValue(kEndTimeValueName) &&
-        reporter_key.ReadInt64(kEndTimeValueName, &end_time_value) ==
-            ERROR_SUCCESS) {
+    if (reporter_key.HasValue(chrome_cleaner::kEndTimeValueName) &&
+        reporter_key.ReadInt64(chrome_cleaner::kEndTimeValueName,
+                               &end_time_value) == ERROR_SUCCESS) {
       has_end_time = true;
-      reporter_key.DeleteValue(kEndTimeValueName);
+      reporter_key.DeleteValue(chrome_cleaner::kEndTimeValueName);
     }
 
     if (has_start_time && has_end_time) {
@@ -353,7 +335,7 @@
   // Reports the UwS scan times of the software reporter tool via UMA.
   void ReportScanTimes() const {
     base::string16 scan_times_key_path = base::StringPrintf(
-        L"%ls\\%ls", registry_key_.c_str(), kScanTimesSubKey);
+        L"%ls\\%ls", registry_key_.c_str(), chrome_cleaner::kScanTimesSubKey);
     // TODO(b/641081): This should only have KEY_QUERY_VALUE and KEY_SET_VALUE.
     base::win::RegKey scan_times_key;
     if (scan_times_key.Open(HKEY_CURRENT_USER, scan_times_key_path.c_str(),
@@ -385,7 +367,7 @@
     base::win::RegKey reporter_key;
     if (reporter_key.Open(HKEY_CURRENT_USER, registry_key_.c_str(),
                           KEY_ENUMERATE_SUB_KEYS) == ERROR_SUCCESS) {
-      reporter_key.DeleteKey(kScanTimesSubKey);
+      reporter_key.DeleteKey(chrome_cleaner::kScanTimesSubKey);
     }
   }
 
@@ -410,7 +392,7 @@
       return;
     }
 
-    if (reporter_key.ReadValueDW(kLogsUploadResultValueName,
+    if (reporter_key.ReadValueDW(chrome_cleaner::kLogsUploadResultValueName,
                                  &logs_upload_result) != ERROR_SUCCESS) {
       RecordEnumerationHistogram(
           kLogsUploadResultRegistryErrorMetricName,
@@ -430,7 +412,7 @@
     RecordEnumerationHistogram(kLogsUploadResultMetricName,
                                static_cast<Sample>(logs_upload_result),
                                kSwReporterLogsUploadResultMax);
-    reporter_key.DeleteValue(kLogsUploadResultValueName);
+    reporter_key.DeleteValue(chrome_cleaner::kLogsUploadResultValueName);
     RecordEnumerationHistogram(kLogsUploadResultRegistryErrorMetricName,
                                REPORTER_LOGS_UPLOAD_RESULT_ERROR_NO_ERROR,
                                REPORTER_LOGS_UPLOAD_RESULT_ERROR_MAX);
@@ -666,8 +648,8 @@
   std::string mojo_pipe_token;
   mojo::ScopedMessagePipeHandle mojo_pipe =
       pending_process_connection.CreateMessagePipe(&mojo_pipe_token);
-  invocation_.command_line.AppendSwitchASCII(kChromeMojoPipeTokenSwitch,
-                                             mojo_pipe_token);
+  invocation_.command_line.AppendSwitchASCII(
+      chrome_cleaner::kChromeMojoPipeTokenSwitch, mojo_pipe_token);
 
   mojo::edk::PlatformChannelPair channel;
   base::HandlesToInheritVector handles_to_inherit;
@@ -1005,8 +987,8 @@
       return;
     }
 
-    if (exit_code != kSwReporterPostRebootCleanupNeeded &&
-        exit_code != kSwReporterCleanupNeeded) {
+    if (exit_code != chrome_cleaner::kSwReporterPostRebootCleanupNeeded &&
+        exit_code != chrome_cleaner::kSwReporterCleanupNeeded) {
       RecordReporterStepHistogram(SW_REPORTER_NO_PROMPT_NEEDED);
       return;
     }
@@ -1127,17 +1109,20 @@
     }
 
     if (ChromeMetricsServiceAccessor::IsMetricsAndCrashReportingEnabled())
-      next_invocation->command_line.AppendSwitch(kEnableCrashReporting);
+      next_invocation->command_line.AppendSwitch(
+          chrome_cleaner::kEnableCrashReportingSwitch);
   }
 
   // Adds switches to be sent to the Software Reporter when the user opted into
   // extended Safe Browsing reporting and is not incognito.
   void AddSwitchesForExtendedReportingUser(SwReporterInvocation* invocation) {
-    invocation->command_line.AppendSwitch(kExtendedSafeBrowsingEnabledSwitch);
+    invocation->command_line.AppendSwitch(
+        chrome_cleaner::kExtendedSafeBrowsingEnabledSwitch);
     invocation->command_line.AppendSwitchASCII(
-        kChromeVersionSwitch, version_info::GetVersionNumber());
+        chrome_cleaner::kChromeVersionSwitch, version_info::GetVersionNumber());
     invocation->command_line.AppendSwitchNative(
-        kChromeChannelSwitch, base::IntToString16(ChannelAsInt()));
+        chrome_cleaner::kChromeChannelSwitch,
+        base::IntToString16(ChannelAsInt()));
   }
 
   bool first_run_ = true;
@@ -1220,12 +1205,13 @@
   if (!local_state)
     return false;
   int exit_code = local_state->GetInteger(prefs::kSwReporterLastExitCode);
-  return exit_code == kSwReporterCleanupNeeded;
+  return exit_code == chrome_cleaner::kSwReporterCleanupNeeded;
 }
 
 bool UserHasRunCleaner() {
-  base::string16 cleaner_key_path(kSoftwareRemovalToolRegistryKey);
-  cleaner_key_path.append(L"\\").append(kCleanerSubKey);
+  base::string16 cleaner_key_path(
+      chrome_cleaner::kSoftwareRemovalToolRegistryKey);
+  cleaner_key_path.append(L"\\").append(chrome_cleaner::kCleanerSubKey);
 
   base::win::RegKey srt_cleaner_key;
   return srt_cleaner_key.Open(HKEY_CURRENT_USER, cleaner_key_path.c_str(),
diff --git a/chrome/browser/safe_browsing/srt_fetcher_win.h b/chrome/browser/safe_browsing/srt_fetcher_win.h
index a6e79e1..2d1ca85 100644
--- a/chrome/browser/safe_browsing/srt_fetcher_win.h
+++ b/chrome/browser/safe_browsing/srt_fetcher_win.h
@@ -27,17 +27,6 @@
 
 namespace safe_browsing {
 
-// SRT registry keys and value names.
-extern const wchar_t kSoftwareRemovalToolRegistryKey[];
-extern const wchar_t kEndTimeValueName[];
-extern const wchar_t kStartTimeValueName[];
-
-// Reporter exit codes.
-const int kSwReporterCleanupNeeded = 0;
-const int kSwReporterNothingFound = 2;
-const int kSwReporterPostRebootCleanupNeeded = 4;
-const int kSwReporterDelayedPostRebootCleanupNeeded = 15;
-
 // A special exit code identifying a failure to run the reporter.
 const int kReporterFailureExitCode = INT_MAX;
 
@@ -51,11 +40,6 @@
 // Chrome Cleanup tool to Chrome.
 extern const base::Feature kInBrowserCleanerUIFeature;
 
-// The switch to be passed to the Software Reporter process with the Mojo pipe
-// token for the IPC communication with Chrome.
-// TODO(crbug/709035) Move this to //components/chrome_cleaner.
-extern const char kChromeMojoPipeTokenSwitch[];
-
 // Parameters used to invoke the sw_reporter component.
 struct SwReporterInvocation {
   base::CommandLine command_line;
diff --git a/chrome/browser/safe_browsing/srt_global_error_win.cc b/chrome/browser/safe_browsing/srt_global_error_win.cc
index 28cd7dd..7ca6a95 100644
--- a/chrome/browser/safe_browsing/srt_global_error_win.cc
+++ b/chrome/browser/safe_browsing/srt_global_error_win.cc
@@ -29,6 +29,7 @@
 #include "chrome/grit/chromium_strings.h"
 #include "chrome/grit/generated_resources.h"
 #include "chrome/installer/util/install_util.h"
+#include "components/chrome_cleaner/public/constants/constants.h"
 #include "components/component_updater/pref_names.h"
 #include "components/prefs/pref_service.h"
 #include "components/version_info/version_info.h"
@@ -52,26 +53,11 @@
 // downloaded.
 const base::FilePath::CharType kExecutableExtension[] = L"exe";
 
-// Switches to add to the command line when executing the SRT.
-const char kChromePromptSwitch[] = "chrome-prompt";
-const char kChromeExePathSwitch[] = "chrome-exe-path";
-const char kChromeSystemInstallSwitch[] = "chrome-system-install";
-const char kUmaUserSwitch[] = "uma-user";
-
-// Values to be passed to the kChromePromptSwitch of the Chrome Cleanup Tool to
-// indicate how the user interacted with the accept button.
-enum class ChromePromptValue {
-  // The user accepted the prompt when the prompt was first shown.
-  kPrompted = 3,
-  // The user accepted the prompt after navigating to it from the menu.
-  kShownFromMenu = 4
-};
-
 void MaybeExecuteSRTFromBlockingPool(
     const base::FilePath& downloaded_path,
     bool metrics_enabled,
     bool sber_enabled,
-    ChromePromptValue prompt_value,
+    chrome_cleaner::ChromePromptValue prompt_value,
     const scoped_refptr<SingleThreadTaskRunner>& task_runner,
     const base::Closure& success_callback,
     const base::Closure& failure_callback) {
@@ -83,26 +69,30 @@
     if (base::ReplaceFile(downloaded_path, executable_path, nullptr)) {
       base::CommandLine srt_command_line(executable_path);
       srt_command_line.AppendSwitchASCII(
-          kChromePromptSwitch,
+          chrome_cleaner::kChromePromptSwitch,
           base::IntToString(static_cast<int>(prompt_value)));
-      srt_command_line.AppendSwitchASCII(kChromeVersionSwitch,
+      srt_command_line.AppendSwitchASCII(chrome_cleaner::kChromeVersionSwitch,
                                          version_info::GetVersionNumber());
-      srt_command_line.AppendSwitchASCII(kChromeChannelSwitch,
+      srt_command_line.AppendSwitchASCII(chrome_cleaner::kChromeChannelSwitch,
                                          base::IntToString(ChannelAsInt()));
 
       base::FilePath chrome_exe_path;
       PathService::Get(base::FILE_EXE, &chrome_exe_path);
-      srt_command_line.AppendSwitchPath(kChromeExePathSwitch, chrome_exe_path);
+      srt_command_line.AppendSwitchPath(chrome_cleaner::kChromeExePathSwitch,
+                                        chrome_exe_path);
       if (!InstallUtil::IsPerUserInstall())
-        srt_command_line.AppendSwitch(kChromeSystemInstallSwitch);
+        srt_command_line.AppendSwitch(
+            chrome_cleaner::kChromeSystemInstallSwitch);
 
       if (metrics_enabled) {
-        srt_command_line.AppendSwitch(kUmaUserSwitch);
-        srt_command_line.AppendSwitch(kEnableCrashReporting);
+        srt_command_line.AppendSwitch(chrome_cleaner::kUmaUserSwitch);
+        srt_command_line.AppendSwitch(
+            chrome_cleaner::kEnableCrashReportingSwitch);
       }
 
       if (sber_enabled)
-        srt_command_line.AppendSwitch(kExtendedSafeBrowsingEnabledSwitch);
+        srt_command_line.AppendSwitch(
+            chrome_cleaner::kExtendedSafeBrowsingEnabledSwitch);
 
       base::Process srt_process(
           base::LaunchProcess(srt_command_line, base::LaunchOptions()));
@@ -233,14 +223,16 @@
   // from the global_error_service_ in the call to OnUserInteractionStarted.
   // This means that it is safe to use base::Unretained here.
   base::PostTaskWithTraits(
-      FROM_HERE, base::TaskTraits().MayBlock().WithPriority(
-                     base::TaskPriority::BACKGROUND),
+      FROM_HERE,
+      base::TaskTraits().MayBlock().WithPriority(
+          base::TaskPriority::BACKGROUND),
       base::Bind(
           &MaybeExecuteSRTFromBlockingPool, downloaded_path_,
           ChromeMetricsServiceAccessor::IsMetricsAndCrashReportingEnabled(),
           SafeBrowsingExtendedReportingEnabled(),
-          bubble_shown_from_menu_ ? ChromePromptValue::kShownFromMenu
-                                  : ChromePromptValue::kPrompted,
+          bubble_shown_from_menu_
+              ? chrome_cleaner::ChromePromptValue::kShownFromMenu
+              : chrome_cleaner::ChromePromptValue::kPrompted,
           base::ThreadTaskRunnerHandle::Get(),
           base::Bind(&SRTGlobalError::OnUserinteractionDone,
                      base::Unretained(this)),
diff --git a/chrome/browser/search_engines/template_url_service_sync_unittest.cc b/chrome/browser/search_engines/template_url_service_sync_unittest.cc
index 0313e33..93d5dbe 100644
--- a/chrome/browser/search_engines/template_url_service_sync_unittest.cc
+++ b/chrome/browser/search_engines/template_url_service_sync_unittest.cc
@@ -442,8 +442,9 @@
   std::unique_ptr<TemplateURLData> extension =
       GenerateDummyTemplateURLData("extension");
   auto ext_dse = base::MakeUnique<TemplateURL>(
-      *extension, TemplateURL::NORMAL_CONTROLLED_BY_EXTENSION);
-  test_util_a_->AddExtensionControlledTURL(std::move(ext_dse), "ext", true);
+      *extension, TemplateURL::NORMAL_CONTROLLED_BY_EXTENSION, "ext", Time(),
+      true);
+  test_util_a_->AddExtensionControlledTURL(std::move(ext_dse));
 
   const TemplateURL* ext_turl = model()->GetDefaultSearchProvider();
   EXPECT_TRUE(model()->IsExtensionControlledDefaultSearch());
@@ -1759,8 +1760,9 @@
   std::unique_ptr<TemplateURLData> extension =
       GenerateDummyTemplateURLData("extensiondefault");
   auto ext_dse = base::MakeUnique<TemplateURL>(
-      *extension, TemplateURL::NORMAL_CONTROLLED_BY_EXTENSION);
-  test_util_a_->AddExtensionControlledTURL(std::move(ext_dse), "ext", true);
+      *extension, TemplateURL::NORMAL_CONTROLLED_BY_EXTENSION, "ext", Time(),
+      true);
+  test_util_a_->AddExtensionControlledTURL(std::move(ext_dse));
 
   const TemplateURL* dsp_turl = model()->GetDefaultSearchProvider();
   EXPECT_TRUE(model()->IsExtensionControlledDefaultSearch());
@@ -1811,9 +1813,10 @@
   std::unique_ptr<TemplateURLData> extension =
       GenerateDummyTemplateURLData("common_keyword");
   auto ext_dse = base::MakeUnique<TemplateURL>(
-      *extension, TemplateURL::NORMAL_CONTROLLED_BY_EXTENSION);
+      *extension, TemplateURL::NORMAL_CONTROLLED_BY_EXTENSION, "ext", Time(),
+      true);
   const TemplateURL* extension_turl =
-      test_util_a_->AddExtensionControlledTURL(std::move(ext_dse), "ext", true);
+      test_util_a_->AddExtensionControlledTURL(std::move(ext_dse));
   EXPECT_TRUE(model()->IsExtensionControlledDefaultSearch());
   EXPECT_EQ(extension_turl, model()->GetTemplateURLForKeyword(kCommonKeyword));
 
diff --git a/chrome/browser/search_engines/template_url_service_test_util.cc b/chrome/browser/search_engines/template_url_service_test_util.cc
index 722e2cc..aee657b 100644
--- a/chrome/browser/search_engines/template_url_service_test_util.cc
+++ b/chrome/browser/search_engines/template_url_service_test_util.cc
@@ -158,18 +158,11 @@
 }
 
 TemplateURL* TemplateURLServiceTestUtil::AddExtensionControlledTURL(
-    std::unique_ptr<TemplateURL> extension_turl,
-    const std::string& extension_id,
-    bool wants_to_be_default,
-    base::Time install_time) {
-  auto extension_info =
-      base::MakeUnique<TemplateURL::AssociatedExtensionInfo>(extension_id);
-  extension_info->wants_to_be_default_engine = wants_to_be_default;
-  extension_info->install_time = install_time;
-
-  TemplateURL* result = model()->AddExtensionControlledTURL(
-      std::move(extension_turl), std::move(extension_info));
-  if (wants_to_be_default && result) {
+    std::unique_ptr<TemplateURL> extension_turl) {
+  TemplateURL* result = model()->Add(std::move(extension_turl));
+  DCHECK(result);
+  DCHECK(result->GetExtensionInfoForTesting());
+  if (result->GetExtensionInfoForTesting()->wants_to_be_default_engine) {
     SetExtensionDefaultSearchInPrefs(profile()->GetTestingPrefService(),
                                      result->data());
   }
diff --git a/chrome/browser/search_engines/template_url_service_test_util.h b/chrome/browser/search_engines/template_url_service_test_util.h
index 072478a..56d7984 100644
--- a/chrome/browser/search_engines/template_url_service_test_util.h
+++ b/chrome/browser/search_engines/template_url_service_test_util.h
@@ -70,10 +70,7 @@
   // search pref in an extension controlled preferences, if extension wants to
   // be default.
   TemplateURL* AddExtensionControlledTURL(
-      std::unique_ptr<TemplateURL> extension_turl,
-      const std::string& extension_id,
-      bool wants_to_be_default,
-      base::Time install_time = base::Time());
+      std::unique_ptr<TemplateURL> extension_turl);
 
   // Removes a TemplateURL controlled by |extension_id| from the model, and,
   // if necessary, from the extension-controlled default search preference.
diff --git a/chrome/browser/search_engines/template_url_service_unittest.cc b/chrome/browser/search_engines/template_url_service_unittest.cc
index 9ec307f..564dd2a 100644
--- a/chrome/browser/search_engines/template_url_service_unittest.cc
+++ b/chrome/browser/search_engines/template_url_service_unittest.cc
@@ -261,10 +261,9 @@
   turl_data->safe_for_autoreplace = false;
 
   auto ext_dse = base::MakeUnique<TemplateURL>(
-      *turl_data, TemplateURL::NORMAL_CONTROLLED_BY_EXTENSION);
-  return test_util()->AddExtensionControlledTURL(
-      std::move(ext_dse), extension_name, wants_to_be_default_engine,
-      install_time);
+      *turl_data, TemplateURL::NORMAL_CONTROLLED_BY_EXTENSION, extension_name,
+      install_time, wants_to_be_default_engine);
+  return test_util()->AddExtensionControlledTURL(std::move(ext_dse));
 }
 
 void TemplateURLServiceTest::AssertEquals(const TemplateURL& expected,
@@ -1892,13 +1891,7 @@
       model()->GetDefaultSearchProvider();
   ExpectSimilar(expected_managed_default.get(), actual_managed_default);
 
-  std::unique_ptr<TemplateURL> ext_dse = CreateKeywordWithDate(
-      model(), "ext1", "ext1", "http://www.ext1.com/s?q={searchTerms}",
-      std::string(), std::string(), std::string(), true, kPrepopulatedId,
-      "UTF-8", Time(), Time(), Time(),
-      TemplateURL::NORMAL_CONTROLLED_BY_EXTENSION);
-  TemplateURL* ext_dse_ptr =
-      test_util()->AddExtensionControlledTURL(std::move(ext_dse), "ext1", true);
+  TemplateURL* ext_dse_ptr = AddExtensionSearchEngine("ext1", "ext1", true);
   EXPECT_EQ(ext_dse_ptr,
             model()->GetTemplateURLForKeyword(ASCIIToUTF16("ext1")));
   EXPECT_TRUE(model()->is_default_search_managed());
diff --git a/chrome/browser/ssl/security_state_tab_helper_browser_tests.cc b/chrome/browser/ssl/security_state_tab_helper_browser_tests.cc
index 6d64d27..a2aa3be 100644
--- a/chrome/browser/ssl/security_state_tab_helper_browser_tests.cc
+++ b/chrome/browser/ssl/security_state_tab_helper_browser_tests.cc
@@ -235,7 +235,6 @@
   EXPECT_EQ(expect_security_level, security_info.security_level);
   EXPECT_EQ(expect_sha1_in_chain, security_info.sha1_in_chain);
   EXPECT_EQ(expect_mixed_content_status, security_info.mixed_content_status);
-  EXPECT_TRUE(security_info.sct_verify_statuses.empty());
   EXPECT_TRUE(security_info.scheme_is_cryptographic);
   EXPECT_EQ(pkp_bypassed, security_info.pkp_bypassed);
   EXPECT_EQ(expect_cert_error,
@@ -256,7 +255,6 @@
   EXPECT_FALSE(security_info.sha1_in_chain);
   EXPECT_EQ(security_state::CONTENT_STATUS_NONE,
             security_info.mixed_content_status);
-  EXPECT_TRUE(security_info.sct_verify_statuses.empty());
   EXPECT_FALSE(security_info.scheme_is_cryptographic);
   EXPECT_FALSE(net::IsCertStatusError(security_info.cert_status));
   EXPECT_EQ(-1, security_info.security_bits);
@@ -409,7 +407,6 @@
   EXPECT_FALSE(security_info.sha1_in_chain);
   EXPECT_EQ(security_state::CONTENT_STATUS_NONE,
             security_info.mixed_content_status);
-  EXPECT_TRUE(security_info.sct_verify_statuses.empty());
   EXPECT_FALSE(security_info.scheme_is_cryptographic);
   EXPECT_FALSE(net::IsCertStatusError(security_info.cert_status));
   EXPECT_FALSE(!!security_info.certificate);
@@ -1875,141 +1872,4 @@
           observer.latest_explanations().info_explanations[0].description));
 }
 
-// After AddSCTUrlHandler() is called, requests to this hostname
-// will be served with Signed Certificate Timestamps.
-const char kMockHostnameWithSCTs[] = "example-scts.test";
-
-// URLRequestJobWithSCTs mocks a connection that includes a set of dummy
-// SCTs with these statuses.
-const std::vector<net::ct::SCTVerifyStatus> kTestSCTStatuses{
-    net::ct::SCT_STATUS_OK, net::ct::SCT_STATUS_LOG_UNKNOWN,
-    net::ct::SCT_STATUS_OK};
-
-// A URLRequestMockHTTPJob that mocks a TLS connection with SCTs
-// attached to it. The SCTs will have verification statuses
-// |kTestSCTStatuses|.
-class URLRequestJobWithSCTs : public net::URLRequestMockHTTPJob {
- public:
-  URLRequestJobWithSCTs(net::URLRequest* request,
-                        net::NetworkDelegate* network_delegate,
-                        const base::FilePath& file_path,
-                        scoped_refptr<net::X509Certificate> cert,
-                        scoped_refptr<base::TaskRunner> task_runner)
-      : net::URLRequestMockHTTPJob(request,
-                                   network_delegate,
-                                   file_path,
-                                   task_runner),
-        cert_(std::move(cert)) {}
-
-  void GetResponseInfo(net::HttpResponseInfo* info) override {
-    net::URLRequestMockHTTPJob::GetResponseInfo(info);
-    for (const auto& status : kTestSCTStatuses) {
-      scoped_refptr<net::ct::SignedCertificateTimestamp> dummy_sct =
-          new net::ct::SignedCertificateTimestamp();
-      info->ssl_info.signed_certificate_timestamps.push_back(
-          net::SignedCertificateTimestampAndStatus(dummy_sct, status));
-    }
-    info->ssl_info.cert = cert_;
-  }
-
- protected:
-  ~URLRequestJobWithSCTs() override {}
-
- private:
-  const scoped_refptr<net::X509Certificate> cert_;
-
-  DISALLOW_COPY_AND_ASSIGN(URLRequestJobWithSCTs);
-};
-
-// A URLRequestInterceptor that handles requests with
-// URLRequestJobWithSCTs jobs.
-class URLRequestWithSCTsInterceptor : public net::URLRequestInterceptor {
- public:
-  URLRequestWithSCTsInterceptor(
-      const base::FilePath& base_path,
-      scoped_refptr<base::SequencedWorkerPool> worker_pool,
-      scoped_refptr<net::X509Certificate> cert)
-      : base_path_(base_path),
-        worker_pool_(std::move(worker_pool)),
-        cert_(std::move(cert)) {}
-
-  ~URLRequestWithSCTsInterceptor() override {}
-
-  // net::URLRequestInterceptor:
-  net::URLRequestJob* MaybeInterceptRequest(
-      net::URLRequest* request,
-      net::NetworkDelegate* network_delegate) const override {
-    return new URLRequestJobWithSCTs(
-        request, network_delegate, base_path_, cert_,
-        worker_pool_->GetTaskRunnerWithShutdownBehavior(
-            base::SequencedWorkerPool::SKIP_ON_SHUTDOWN));
-  }
-
- private:
-  const base::FilePath base_path_;
-  const scoped_refptr<base::SequencedWorkerPool> worker_pool_;
-  const scoped_refptr<net::X509Certificate> cert_;
-
-  DISALLOW_COPY_AND_ASSIGN(URLRequestWithSCTsInterceptor);
-};
-
-// Installs a handler to serve HTTPS requests to |kMockHostnameWithSCTs|
-// with connections that have SCTs.
-void AddSCTUrlHandler(const base::FilePath& base_path,
-                      scoped_refptr<net::X509Certificate> cert,
-                      scoped_refptr<base::SequencedWorkerPool> worker_pool) {
-  net::URLRequestFilter* filter = net::URLRequestFilter::GetInstance();
-  filter->AddHostnameInterceptor(
-      "https", kMockHostnameWithSCTs,
-      std::unique_ptr<net::URLRequestInterceptor>(
-          new URLRequestWithSCTsInterceptor(base_path, worker_pool, cert)));
-}
-
-class BrowserTestURLRequestWithSCTs : public InProcessBrowserTest {
- public:
-  BrowserTestURLRequestWithSCTs() : InProcessBrowserTest(), cert_(nullptr) {}
-
-  void SetUpInProcessBrowserTestFixture() override {
-    cert_ =
-        net::ImportCertFromFile(net::GetTestCertsDirectory(), "ok_cert.pem");
-    ASSERT_TRUE(cert_);
-  }
-
-  void SetUpOnMainThread() override {
-    base::FilePath serve_file;
-    PathService::Get(chrome::DIR_TEST_DATA, &serve_file);
-    serve_file = serve_file.Append(FILE_PATH_LITERAL("title1.html"));
-    content::BrowserThread::PostTask(
-        content::BrowserThread::IO, FROM_HERE,
-        base::Bind(
-            &AddSCTUrlHandler, serve_file, cert_,
-            make_scoped_refptr(content::BrowserThread::GetBlockingPool())));
-  }
-
- private:
-  scoped_refptr<net::X509Certificate> cert_;
-
-  DISALLOW_COPY_AND_ASSIGN(BrowserTestURLRequestWithSCTs);
-};
-
-// Tests that, when Signed Certificate Timestamps (SCTs) are served on a
-// connection, the SCTs verification statuses are exposed on the
-// SecurityInfo.
-IN_PROC_BROWSER_TEST_F(BrowserTestURLRequestWithSCTs,
-                       SecurityInfoWithSCTsAttached) {
-  ui_test_utils::NavigateToURL(
-      browser(), GURL(std::string("https://") + kMockHostnameWithSCTs));
-
-  content::WebContents* web_contents =
-      browser()->tab_strip_model()->GetActiveWebContents();
-  ASSERT_TRUE(web_contents);
-  SecurityStateTabHelper* helper =
-      SecurityStateTabHelper::FromWebContents(web_contents);
-  ASSERT_TRUE(helper);
-  security_state::SecurityInfo security_info;
-  helper->GetSecurityInfo(&security_info);
-  EXPECT_EQ(security_state::SECURE, security_info.security_level);
-  EXPECT_EQ(kTestSCTStatuses, security_info.sct_verify_statuses);
-}
-
 }  // namespace
diff --git a/chrome/browser/translate/translate_manager_render_view_host_unittest.cc b/chrome/browser/translate/translate_manager_render_view_host_unittest.cc
index 90783a0..0e0d2a8 100644
--- a/chrome/browser/translate/translate_manager_render_view_host_unittest.cc
+++ b/chrome/browser/translate/translate_manager_render_view_host_unittest.cc
@@ -42,11 +42,11 @@
 #include "components/translate/core/browser/translate_download_manager.h"
 #include "components/translate/core/browser/translate_language_list.h"
 #include "components/translate/core/browser/translate_manager.h"
+#include "components/translate/core/browser/translate_pref_names.h"
 #include "components/translate/core/browser/translate_prefs.h"
 #include "components/translate/core/browser/translate_script.h"
 #include "components/translate/core/browser/translate_ui_delegate.h"
 #include "components/translate/core/common/language_detection_details.h"
-#include "components/translate/core/common/translate_pref_names.h"
 #include "content/public/browser/navigation_details.h"
 #include "content/public/browser/navigation_entry.h"
 #include "content/public/browser/notification_details.h"
@@ -506,9 +506,7 @@
 
   void SimulateSupportedLanguagesURLFetch(
       bool success,
-      const std::vector<std::string>& languages,
-      bool use_alpha_languages,
-      const std::vector<std::string>& alpha_languages) {
+      const std::vector<std::string>& languages) {
     net::Error error = success ? net::OK : net::ERR_FAILED;
 
     std::string data;
@@ -523,20 +521,6 @@
         if (i == 0)
           comma = ",";
       }
-
-      if (use_alpha_languages) {
-        data += base::StringPrintf(
-            "},\"%s\": {",
-            translate::TranslateLanguageList::kAlphaLanguagesKey);
-        comma = "";
-        for (size_t i = 0; i < alpha_languages.size(); ++i) {
-          data += base::StringPrintf(
-              "%s\"%s\": 1", comma, alpha_languages[i].c_str());
-          if (i == 0)
-            comma = ",";
-        }
-      }
-
       data += "}}";
     }
     net::TestURLFetcher* fetcher = url_fetcher_factory_.GetFetcherByID(
@@ -577,7 +561,6 @@
 // Accept-Language list.
 static const char* server_language_list[] =
     {"ach", "ak", "af", "en-CA", "zh", "yi", "fr-FR", "tl", "iw", "in", "xx"};
-static const char* alpha_language_list[] = {"ach", "yi"};
 
 // Test the fetching of languages from the translate server
 TEST_F(TranslateManagerRenderViewHostTest, FetchLanguagesFromTranslateServer) {
@@ -585,10 +568,6 @@
   for (size_t i = 0; i < arraysize(server_language_list); ++i)
     server_languages.push_back(server_language_list[i]);
 
-  std::vector<std::string> alpha_languages;
-  for (size_t i = 0; i < arraysize(alpha_language_list); ++i)
-    alpha_languages.push_back(alpha_language_list[i]);
-
   // First, get the default languages list. Note that calling
   // GetSupportedLanguages() invokes RequestLanguageList() internally.
   std::vector<std::string> default_supported_languages;
@@ -604,16 +583,14 @@
   EXPECT_EQ(default_supported_languages, current_supported_languages);
 
   // Also check that it didn't change if we failed the URL fetch.
-  SimulateSupportedLanguagesURLFetch(
-      false, std::vector<std::string>(), true, std::vector<std::string>());
+  SimulateSupportedLanguagesURLFetch(false, std::vector<std::string>());
   current_supported_languages.clear();
   translate::TranslateDownloadManager::GetSupportedLanguages(
       &current_supported_languages);
   EXPECT_EQ(default_supported_languages, current_supported_languages);
 
   // Now check that we got the appropriate set of languages from the server.
-  SimulateSupportedLanguagesURLFetch(
-      true, server_languages, true, alpha_languages);
+  SimulateSupportedLanguagesURLFetch(true, server_languages);
   current_supported_languages.clear();
   translate::TranslateDownloadManager::GetSupportedLanguages(
       &current_supported_languages);
@@ -626,53 +603,7 @@
       continue;
     EXPECT_NE(current_supported_languages.end(),
               std::find(current_supported_languages.begin(),
-                        current_supported_languages.end(),
-                        lang)) << "lang=" << lang;
-    bool is_alpha =
-        std::find(alpha_languages.begin(), alpha_languages.end(), lang) !=
-        alpha_languages.end();
-    EXPECT_EQ(translate::TranslateDownloadManager::IsAlphaLanguage(lang),
-              is_alpha)
-        << "lang=" << lang;
-  }
-}
-
-// Test the fetching of languages from the translate server without 'al'
-// parameter.
-TEST_F(TranslateManagerRenderViewHostTest,
-       FetchLanguagesFromTranslateServerWithoutAlpha) {
-  std::vector<std::string> server_languages;
-  for (size_t i = 0; i < arraysize(server_language_list); ++i)
-    server_languages.push_back(server_language_list[i]);
-
-  std::vector<std::string> alpha_languages;
-  for (size_t i = 0; i < arraysize(alpha_language_list); ++i)
-    alpha_languages.push_back(alpha_language_list[i]);
-
-  // call GetSupportedLanguages to call RequestLanguageList internally.
-  std::vector<std::string> default_supported_languages;
-  translate::TranslateDownloadManager::GetSupportedLanguages(
-      &default_supported_languages);
-
-  SimulateSupportedLanguagesURLFetch(
-      true, server_languages, false, alpha_languages);
-
-  std::vector<std::string> current_supported_languages;
-  translate::TranslateDownloadManager::GetSupportedLanguages(
-      &current_supported_languages);
-
-  // "xx" can't be displayed in the Translate infobar, so this is eliminated.
-  EXPECT_EQ(server_languages.size() - 1, current_supported_languages.size());
-
-  for (size_t i = 0; i < server_languages.size(); ++i) {
-    const std::string& lang = server_languages[i];
-    if (lang == "xx")
-      continue;
-    EXPECT_NE(current_supported_languages.end(),
-              std::find(current_supported_languages.begin(),
-                        current_supported_languages.end(),
-                        lang)) << "lang=" << lang;
-    EXPECT_FALSE(translate::TranslateDownloadManager::IsAlphaLanguage(lang))
+                        current_supported_languages.end(), lang))
         << "lang=" << lang;
   }
 }
diff --git a/chrome/browser/ui/BUILD.gn b/chrome/browser/ui/BUILD.gn
index 530dc71..403f89c 100644
--- a/chrome/browser/ui/BUILD.gn
+++ b/chrome/browser/ui/BUILD.gn
@@ -1891,6 +1891,8 @@
         "views/theme_copying_widget.h",
         "views/toolbar/app_menu.cc",
         "views/toolbar/app_menu.h",
+        "views/toolbar/app_menu_animation.cc",
+        "views/toolbar/app_menu_animation.h",
         "views/toolbar/app_menu_button.cc",
         "views/toolbar/app_menu_button.h",
         "views/toolbar/app_menu_observer.h",
diff --git a/chrome/browser/ui/ash/launcher/settings_window_observer.cc b/chrome/browser/ui/ash/launcher/settings_window_observer.cc
index 1594319..c7fa01a 100644
--- a/chrome/browser/ui/ash/launcher/settings_window_observer.cc
+++ b/chrome/browser/ui/ash/launcher/settings_window_observer.cc
@@ -7,12 +7,10 @@
 #include "ash/public/cpp/shelf_item.h"
 #include "ash/public/cpp/window_properties.h"
 #include "ash/resources/grit/ash_resources.h"
-#include "base/feature_list.h"
 #include "base/memory/ptr_util.h"
 #include "chrome/browser/ui/browser.h"
 #include "chrome/browser/ui/browser_window.h"
 #include "chrome/browser/ui/settings_window_manager.h"
-#include "chrome/common/chrome_features.h"
 #include "components/strings/grit/components_strings.h"
 #include "services/ui/public/interfaces/window_manager.mojom.h"
 #include "ui/aura/client/aura_constants.h"
@@ -56,11 +54,9 @@
   window->SetTitle(l10n_util::GetStringUTF16(IDS_SETTINGS_TITLE));
   window->SetProperty<int>(ash::kShelfItemTypeKey, ash::TYPE_DIALOG);
   ui::ResourceBundle& rb = ui::ResourceBundle::GetSharedInstance();
-  gfx::ImageSkia* icon =
-      base::FeatureList::IsEnabled(features::kMaterialDesignSettings)
-          ? rb.GetImageSkiaNamed(IDR_ASH_SHELF_ICON_MD_SETTINGS)
-          : rb.GetImageSkiaNamed(IDR_ASH_SHELF_ICON_SETTINGS);
   // The new gfx::ImageSkia instance is owned by the window itself.
-  window->SetProperty(aura::client::kWindowIconKey, new gfx::ImageSkia(*icon));
+  window->SetProperty(
+      aura::client::kWindowIconKey,
+      new gfx::ImageSkia(*rb.GetImageSkiaNamed(IDR_ASH_SHELF_ICON_SETTINGS)));
   aura_window_tracker_->Add(window);
 }
diff --git a/chrome/browser/ui/ash/session_controller_client.cc b/chrome/browser/ui/ash/session_controller_client.cc
index 696beea..60d605c 100644
--- a/chrome/browser/ui/ash/session_controller_client.cc
+++ b/chrome/browser/ui/ash/session_controller_client.cc
@@ -12,6 +12,8 @@
 #include "base/bind.h"
 #include "base/logging.h"
 #include "base/strings/utf_string_conversions.h"
+#include "chrome/browser/chromeos/login/user_flow.h"
+#include "chrome/browser/chromeos/login/users/chrome_user_manager.h"
 #include "chrome/browser/chromeos/login/users/multi_profile_user_controller.h"
 #include "chrome/browser/chromeos/profiles/profile_helper.h"
 #include "chrome/browser/profiles/profile.h"
@@ -68,6 +70,12 @@
         IDR_PROFILE_PICTURE_LOADING);
   }
 
+  chromeos::UserFlow* const user_flow =
+      chromeos::ChromeUserManager::Get()->GetUserFlow(user.GetAccountId());
+  session->should_enable_settings = user_flow->ShouldEnableSettings();
+  session->should_show_notification_tray =
+      user_flow->ShouldShowNotificationTray();
+
   return session;
 }
 
diff --git a/chrome/browser/ui/ash/system_tray_delegate_chromeos.cc b/chrome/browser/ui/ash/system_tray_delegate_chromeos.cc
index 69aa6c3..b176b96 100644
--- a/chrome/browser/ui/ash/system_tray_delegate_chromeos.cc
+++ b/chrome/browser/ui/ash/system_tray_delegate_chromeos.cc
@@ -39,8 +39,6 @@
 #include "chrome/browser/chromeos/login/help_app_launcher.h"
 #include "chrome/browser/chromeos/login/login_wizard.h"
 #include "chrome/browser/chromeos/login/ui/user_adding_screen.h"
-#include "chrome/browser/chromeos/login/user_flow.h"
-#include "chrome/browser/chromeos/login/users/chrome_user_manager.h"
 #include "chrome/browser/chromeos/login/users/supervised_user_manager.h"
 #include "chrome/browser/chromeos/policy/browser_policy_connector_chromeos.h"
 #include "chrome/browser/chromeos/policy/device_cloud_policy_manager_chromeos.h"
@@ -250,22 +248,6 @@
   return user_manager::UserManager::Get()->IsLoggedInAsChildUser();
 }
 
-bool SystemTrayDelegateChromeOS::ShouldShowSettings() const {
-  // Show setting button only when the user flow allows and it's not in the
-  // multi-profile login screen.
-  return ChromeUserManager::Get()->GetCurrentUserFlow()->ShouldShowSettings() &&
-         !IsSessionInSecondaryLoginScreen();
-}
-
-bool SystemTrayDelegateChromeOS::ShouldShowNotificationTray() const {
-  // Show notification tray only when the user flow allows and it's not in the
-  // multi-profile login screen.
-  return ChromeUserManager::Get()
-             ->GetCurrentUserFlow()
-             ->ShouldShowNotificationTray() &&
-         !IsSessionInSecondaryLoginScreen();
-}
-
 void SystemTrayDelegateChromeOS::ShowEnterpriseInfo() {
   // TODO(mash): Refactor out SessionStateDelegate and move to SystemTrayClient.
   ash::LoginStatus status = GetUserLoginStatus();
diff --git a/chrome/browser/ui/ash/system_tray_delegate_chromeos.h b/chrome/browser/ui/ash/system_tray_delegate_chromeos.h
index ca9086c..035a5b9f 100644
--- a/chrome/browser/ui/ash/system_tray_delegate_chromeos.h
+++ b/chrome/browser/ui/ash/system_tray_delegate_chromeos.h
@@ -60,8 +60,6 @@
   base::string16 GetSupervisedUserMessage() const override;
   bool IsUserSupervised() const override;
   bool IsUserChild() const override;
-  bool ShouldShowSettings() const override;
-  bool ShouldShowNotificationTray() const override;
   void ShowEnterpriseInfo() override;
   void ShowUserLogin() override;
   void GetCurrentIME(ash::IMEInfo* info) override;
diff --git a/chrome/browser/ui/browser_ui_prefs.cc b/chrome/browser/ui/browser_ui_prefs.cc
index 554d1cc..b9792d7 100644
--- a/chrome/browser/ui/browser_ui_prefs.cc
+++ b/chrome/browser/ui/browser_ui_prefs.cc
@@ -12,7 +12,7 @@
 #include "components/prefs/pref_registry_simple.h"
 #include "components/prefs/pref_service.h"
 #include "components/prefs/scoped_user_pref_update.h"
-#include "components/translate/core/common/translate_pref_names.h"
+#include "components/translate/core/browser/translate_pref_names.h"
 #include "content/public/common/webrtc_ip_handling_policy.h"
 #include "media/media_features.h"
 
diff --git a/chrome/browser/ui/sync/tab_contents_synced_tab_delegate.cc b/chrome/browser/ui/sync/tab_contents_synced_tab_delegate.cc
index 311970d8..23196c2 100644
--- a/chrome/browser/ui/sync/tab_contents_synced_tab_delegate.cc
+++ b/chrome/browser/ui/sync/tab_contents_synced_tab_delegate.cc
@@ -13,6 +13,7 @@
 #include "components/sync_sessions/sync_sessions_client.h"
 #include "components/sync_sessions/synced_window_delegate.h"
 #include "components/sync_sessions/synced_window_delegates_getter.h"
+#include "components/sync_sessions/tab_node_pool.h"
 #include "content/public/browser/favicon_status.h"
 #include "content/public/browser/navigation_controller.h"
 #include "content/public/browser/navigation_entry.h"
@@ -48,7 +49,8 @@
 
 TabContentsSyncedTabDelegate::TabContentsSyncedTabDelegate(
     content::WebContents* web_contents)
-    : web_contents_(web_contents), sync_session_id_(0) {}
+    : web_contents_(web_contents),
+      sync_session_id_(sync_sessions::TabNodePool::kInvalidTabNodeID) {}
 
 TabContentsSyncedTabDelegate::~TabContentsSyncedTabDelegate() {}
 
diff --git a/chrome/browser/ui/toolbar/app_menu_icon_controller.cc b/chrome/browser/ui/toolbar/app_menu_icon_controller.cc
index 94409738..2d67da2 100644
--- a/chrome/browser/ui/toolbar/app_menu_icon_controller.cc
+++ b/chrome/browser/ui/toolbar/app_menu_icon_controller.cc
@@ -40,14 +40,7 @@
 // Checks if the app menu icon should be animated for the given upgrade level.
 bool ShouldAnimateUpgradeLevel(
     UpgradeDetector::UpgradeNotificationAnnoyanceLevel level) {
-  bool should_animate = true;
-  if (level == UpgradeDetector::UPGRADE_ANNOYANCE_LOW) {
-    // Only animate low severity upgrades once.
-    static bool should_animate_low_severity = true;
-    should_animate = should_animate_low_severity;
-    should_animate_low_severity = false;
-  }
-  return should_animate;
+  return level != UpgradeDetector::UPGRADE_ANNOYANCE_NONE;
 }
 
 // Returns true if we should show the upgrade recommended icon.
@@ -121,8 +114,7 @@
     return;
   }
 
-  delegate_->UpdateSeverity(IconType::NONE,
-                            Severity::NONE, true);
+  delegate_->UpdateSeverity(IconType::NONE, Severity::NONE, false);
 }
 
 #if defined(OS_WIN)
diff --git a/chrome/browser/ui/views/frame/immersive_mode_controller_ash.cc b/chrome/browser/ui/views/frame/immersive_mode_controller_ash.cc
index 540b73a..5ebb7948 100644
--- a/chrome/browser/ui/views/frame/immersive_mode_controller_ash.cc
+++ b/chrome/browser/ui/views/frame/immersive_mode_controller_ash.cc
@@ -4,7 +4,6 @@
 
 #include "chrome/browser/ui/views/frame/immersive_mode_controller_ash.h"
 
-#include "ash/material_design/material_design_controller.h"
 #include "ash/shared/immersive_revealed_lock.h"
 #include "ash/shell.h"
 #include "ash/wm/window_state.h"
diff --git a/chrome/browser/ui/views/omnibox/omnibox_view_views.cc b/chrome/browser/ui/views/omnibox/omnibox_view_views.cc
index 389e0db1..1be6241 100644
--- a/chrome/browser/ui/views/omnibox/omnibox_view_views.cc
+++ b/chrome/browser/ui/views/omnibox/omnibox_view_views.cc
@@ -138,6 +138,7 @@
 void OmniboxViewViews::Init() {
   set_controller(this);
   SetTextInputType(ui::TEXT_INPUT_TYPE_URL);
+  GetRenderText()->SetElideBehavior(gfx::ELIDE_TAIL);
 
   if (popup_window_mode_)
     SetReadOnly(true);
@@ -761,6 +762,8 @@
     saved_selection_for_focus_change_ = gfx::Range::InvalidRange();
   }
 
+  GetRenderText()->SetElideBehavior(gfx::NO_ELIDE);
+
   // Focus changes can affect the visibility of any keyword hint.
   if (model()->is_keyword_hint())
     location_bar_view_->Layout();
@@ -789,6 +792,8 @@
   // Make sure the beginning of the text is visible.
   SelectRange(gfx::Range(0));
 
+  GetRenderText()->SetElideBehavior(gfx::ELIDE_TAIL);
+
   // Focus changes can affect the visibility of any keyword hint.
   if (model()->is_keyword_hint())
     location_bar_view_->Layout();
diff --git a/chrome/browser/ui/views/omnibox/omnibox_view_views_browsertest.cc b/chrome/browser/ui/views/omnibox/omnibox_view_views_browsertest.cc
index 91b12dd6..048cff7 100644
--- a/chrome/browser/ui/views/omnibox/omnibox_view_views_browsertest.cc
+++ b/chrome/browser/ui/views/omnibox/omnibox_view_views_browsertest.cc
@@ -393,3 +393,17 @@
   EXPECT_EQ(static_cast<ui::TextInputClient*>(omnibox_view_views),
             input_method->GetTextInputClient());
 }
+
+IN_PROC_BROWSER_TEST_F(OmniboxViewViewsTest, TextElideStatus) {
+  OmniboxView* view = nullptr;
+  ASSERT_NO_FATAL_FAILURE(GetOmniboxViewForBrowser(browser(), &view));
+  OmniboxViewViews* omnibox_view_views = static_cast<OmniboxViewViews*>(view);
+
+  ASSERT_NO_FATAL_FAILURE(ClickBrowserWindowCenter());
+  EXPECT_EQ(omnibox_view_views->GetRenderText()->elide_behavior(),
+            gfx::ELIDE_TAIL);
+
+  chrome::FocusLocationBar(browser());
+  EXPECT_EQ(omnibox_view_views->GetRenderText()->elide_behavior(),
+            gfx::NO_ELIDE);
+}
diff --git a/chrome/browser/ui/views/payments/credit_card_editor_view_controller.cc b/chrome/browser/ui/views/payments/credit_card_editor_view_controller.cc
index d0c10544..d857a94 100644
--- a/chrome/browser/ui/views/payments/credit_card_editor_view_controller.cc
+++ b/chrome/browser/ui/views/payments/credit_card_editor_view_controller.cc
@@ -204,9 +204,11 @@
                         locale);
   }
 
-  // TODO(mathp): Display global error message.
-  if (!credit_card.IsValid())
+  // TODO(crbug.com/711365): Display global error message.
+  if (autofill::GetCompletionStatusForCard(credit_card, locale) !=
+      autofill::CREDIT_CARD_COMPLETE) {
     return false;
+  }
 
   if (!credit_card_to_edit_) {
     // Add the card (will not add a duplicate).
diff --git a/chrome/browser/ui/views/payments/payment_method_view_controller.cc b/chrome/browser/ui/views/payments/payment_method_view_controller.cc
index 828fd2e..2a2aea5 100644
--- a/chrome/browser/ui/views/payments/payment_method_view_controller.cc
+++ b/chrome/browser/ui/views/payments/payment_method_view_controller.cc
@@ -25,6 +25,7 @@
 #include "third_party/skia/include/core/SkColor.h"
 #include "ui/base/l10n/l10n_util.h"
 #include "ui/gfx/paint_vector_icon.h"
+#include "ui/native_theme/native_theme.h"
 #include "ui/views/controls/button/label_button.h"
 #include "ui/views/controls/button/md_text_button.h"
 #include "ui/views/layout/box_layout.h"
@@ -82,11 +83,23 @@
         views::BoxLayout::CROSS_AXIS_ALIGNMENT_START);
     card_info_container->SetLayoutManager(box_layout.release());
 
-    card_info_container->AddChildView(new views::Label(instrument_->label()));
-    card_info_container->AddChildView(
-        new views::Label(instrument_->sublabel()));
-    // TODO(anthonyvd): Add the "card is incomplete" label once the
-    // completedness logic is implemented.
+    if (!instrument_->label().empty())
+      card_info_container->AddChildView(new views::Label(instrument_->label()));
+    if (!instrument_->sublabel().empty()) {
+      card_info_container->AddChildView(
+          new views::Label(instrument_->sublabel()));
+    }
+    if (!instrument_->IsCompleteForPayment()) {
+      std::unique_ptr<views::Label> missing_info_label =
+          base::MakeUnique<views::Label>(instrument_->GetMissingInfoLabel());
+      missing_info_label->SetFontList(
+          missing_info_label->GetDefaultFontList().DeriveWithSizeDelta(-1));
+      missing_info_label->SetEnabledColor(
+          missing_info_label->GetNativeTheme()->GetSystemColor(
+              ui::NativeTheme::kColorId_LinkEnabled));
+      card_info_container->AddChildView(missing_info_label.release());
+    }
+
     return card_info_container;
   }
 
diff --git a/chrome/browser/ui/views/tabs/tab.cc b/chrome/browser/ui/views/tabs/tab.cc
index 36cc8cd5..9935918 100644
--- a/chrome/browser/ui/views/tabs/tab.cc
+++ b/chrome/browser/ui/views/tabs/tab.cc
@@ -14,7 +14,8 @@
 #include "base/metrics/user_metrics.h"
 #include "base/strings/utf_string_conversions.h"
 #include "build/build_config.h"
-#include "cc/paint/paint_shader.h"
+#include "cc/paint/paint_flags.h"
+#include "cc/paint/paint_recorder.h"
 #include "chrome/app/vector_icons/vector_icons.h"
 #include "chrome/browser/themes/theme_properties.h"
 #include "chrome/browser/ui/browser.h"
@@ -93,95 +94,9 @@
 // Inactive selected tabs have their throb value scaled by this.
 const double kSelectedTabThrobScale = 0.95 - kSelectedTabOpacity;
 
-// Max number of images to cache. This has to be at least two since rounding
-// errors may lead to tabs in the same tabstrip having different sizes.
-// 8 = normal/incognito, active/inactive, 2 sizes within tabstrip.
-const size_t kMaxImageCacheSize = 8;
-
 const char kTabCloseButtonName[] = "TabCloseButton";
 
 ////////////////////////////////////////////////////////////////////////////////
-// ImageCacheEntryMetadata
-//
-// All metadata necessary to uniquely identify a cached image.
-struct ImageCacheEntryMetadata {
-  ImageCacheEntryMetadata(SkColor fill_color,
-                          SkColor stroke_color,
-                          bool use_fill_and_stroke_images,
-                          float scale_factor,
-                          const gfx::Size& size);
-
-  ~ImageCacheEntryMetadata();
-
-  bool operator==(const ImageCacheEntryMetadata& rhs) const;
-
-  SkColor fill_color;
-  SkColor stroke_color;
-  bool use_fill_and_stroke_images;
-  float scale_factor;
-  gfx::Size size;
-};
-
-ImageCacheEntryMetadata::ImageCacheEntryMetadata(
-    SkColor fill_color,
-    SkColor stroke_color,
-    bool use_fill_and_stroke_images,
-    float scale_factor,
-    const gfx::Size& size)
-    : fill_color(fill_color),
-      stroke_color(stroke_color),
-      use_fill_and_stroke_images(use_fill_and_stroke_images),
-      scale_factor(scale_factor),
-      size(size) {}
-
-ImageCacheEntryMetadata::~ImageCacheEntryMetadata() {}
-
-bool ImageCacheEntryMetadata::operator==(
-    const ImageCacheEntryMetadata& rhs) const {
-  return fill_color == rhs.fill_color && stroke_color == rhs.stroke_color &&
-         use_fill_and_stroke_images == rhs.use_fill_and_stroke_images &&
-         scale_factor == rhs.scale_factor && size == rhs.size;
-}
-
-////////////////////////////////////////////////////////////////////////////////
-// ImageCacheEntry and cache management
-//
-// A cached image and the metadata used to generate it.
-struct ImageCacheEntry {
-  ImageCacheEntry(const ImageCacheEntryMetadata& metadata,
-                  const gfx::ImageSkia& fill_image,
-                  const gfx::ImageSkia& stroke_image);
-  ~ImageCacheEntry();
-
-  ImageCacheEntryMetadata metadata;
-  gfx::ImageSkia fill_image;
-  gfx::ImageSkia stroke_image;
-};
-
-ImageCacheEntry::ImageCacheEntry(const ImageCacheEntryMetadata& metadata,
-                                 const gfx::ImageSkia& fill_image,
-                                 const gfx::ImageSkia& stroke_image)
-    : metadata(metadata), fill_image(fill_image), stroke_image(stroke_image) {}
-
-ImageCacheEntry::~ImageCacheEntry() {}
-
-typedef std::list<ImageCacheEntry> ImageCache;
-
-// As the majority of the tabs are inactive, and painting tabs is slowish,
-// we cache a handful of the inactive tab backgrounds here.
-static ImageCache* g_image_cache = nullptr;
-
-// Performs a one-time initialization of static resources such as tab images.
-void InitTabResources() {
-  static bool initialized = false;
-  if (initialized)
-    return;
-
-  initialized = true;
-  g_image_cache = new ImageCache();
-}
-
-////////////////////////////////////////////////////////////////////////////////
 // Drawing and utility functions
 
 // Returns the width of the tab endcap at scale 1.  More precisely, this is the
@@ -534,7 +449,6 @@
       showing_close_button_(false),
       button_color_(SK_ColorTRANSPARENT) {
   DCHECK(controller);
-  InitTabResources();
 
   // So we get don't get enter/exit on children and don't prematurely stop the
   // hover.
@@ -1118,13 +1032,16 @@
 }
 
 void Tab::PaintTab(gfx::Canvas* canvas, const gfx::Path& clip) {
-  const int kActiveTabFillId =
-      GetThemeProvider()->HasCustomImage(IDR_THEME_TOOLBAR) ? IDR_THEME_TOOLBAR
-                                                            : 0;
-  const int y_offset = -GetLayoutInsets(TAB).top();
+  int active_tab_fill_id = 0;
+  int active_tab_y_offset = 0;
+  if (GetThemeProvider()->HasCustomImage(IDR_THEME_TOOLBAR)) {
+    active_tab_fill_id = IDR_THEME_TOOLBAR;
+    active_tab_y_offset = -GetLayoutInsets(TAB).top();
+  }
+
   if (IsActive()) {
-    PaintTabBackgroundUsingFillId(canvas, canvas, true, kActiveTabFillId,
-                                  y_offset);
+    PaintTabBackground(canvas, true /* active */, active_tab_fill_id,
+                       active_tab_y_offset, nullptr /* clip */);
   } else {
     PaintInactiveTabBackground(canvas, clip);
 
@@ -1132,8 +1049,8 @@
     if (throb_value > 0) {
       canvas->SaveLayerAlpha(gfx::ToRoundedInt(throb_value * 0xff),
                              GetLocalBounds());
-      PaintTabBackgroundUsingFillId(canvas, canvas, true, kActiveTabFillId,
-                                    y_offset);
+      PaintTabBackground(canvas, true /* active */, active_tab_fill_id,
+                         active_tab_y_offset, nullptr /* clip */);
       canvas->Restore();
     }
   }
@@ -1146,130 +1063,152 @@
                                      const gfx::Path& clip) {
   bool has_custom_image;
   int fill_id = controller_->GetBackgroundResourceId(&has_custom_image);
-  const ui::ThemeProvider* tp = GetThemeProvider();
 
-  // We only cache the image when it's the default image and we're not hovered,
-  // to avoid caching a background image that isn't the same for all tabs.
-  if (has_custom_image) {
-    // If the theme is providing a custom background image, then its top edge
-    // should be at the top of the tab. Otherwise, we assume that the background
-    // image is a composited foreground + frame image.  Note that if the theme
-    // is only providing a custom frame image, |has_custom_image| will be true,
-    // but we should use the |background_offset_| here.
-    const int y_offset =
-        tp->HasCustomImage(fill_id) ? 0 : background_offset_.y();
-    PaintTabBackgroundUsingFillId(canvas, canvas, false, fill_id, y_offset);
-    return;
-  }
-  if (hover_controller_.ShouldDraw()) {
-    PaintTabBackgroundUsingFillId(canvas, canvas, false, 0, 0);
-    return;
+  // The offset used to read from the image specified by |fill_id|.
+  int y_offset = 0;
+
+  if (!has_custom_image) {
+    fill_id = 0;
+  } else if (!GetThemeProvider()->HasCustomImage(fill_id)) {
+    // If there's a custom frame image but no custom image for the tab itself,
+    // then the tab's background will be the frame's image, so we need to
+    // provide an offset into the image to read from.
+    y_offset = background_offset_.y();
   }
 
-  // For efficiency, we don't use separate fill and stroke images unless we
-  // really need to clip the stroke and not the fill (for stacked tabs).  This
-  // saves memory and avoids an extra image draw at the cost of recalculating
-  // the images when MaySetClip() toggles.
-  const bool use_fill_and_stroke_images = controller_->MaySetClip();
-
-  const ImageCacheEntryMetadata metadata(
-      tp->GetColor(ThemeProperties::COLOR_BACKGROUND_TAB),
-      controller_->GetToolbarTopSeparatorColor(), use_fill_and_stroke_images,
-      canvas->image_scale(), size());
-  auto it = std::find_if(
-      g_image_cache->begin(), g_image_cache->end(),
-      [&metadata](const ImageCacheEntry& e) { return e.metadata == metadata; });
-  if (it == g_image_cache->end()) {
-    gfx::Canvas tmp_canvas(size(), canvas->image_scale(), false);
-    if (use_fill_and_stroke_images) {
-      gfx::Canvas tmp_fill_canvas(size(), canvas->image_scale(), false);
-      PaintTabBackgroundUsingFillId(&tmp_fill_canvas, &tmp_canvas, false, 0, 0);
-      g_image_cache->emplace_front(
-          metadata, gfx::ImageSkia(tmp_fill_canvas.ExtractImageRep()),
-          gfx::ImageSkia(tmp_canvas.ExtractImageRep()));
-    } else {
-      PaintTabBackgroundUsingFillId(&tmp_canvas, &tmp_canvas, false, 0, 0);
-      g_image_cache->emplace_front(
-          metadata, gfx::ImageSkia(),
-          gfx::ImageSkia(tmp_canvas.ExtractImageRep()));
-    }
-    if (g_image_cache->size() > kMaxImageCacheSize)
-      g_image_cache->pop_back();
-    it = g_image_cache->begin();
-  }
-
-  gfx::ScopedCanvas scoped_canvas(
-      use_fill_and_stroke_images ? canvas : nullptr);
-  if (use_fill_and_stroke_images) {
-    canvas->DrawImageInt(it->fill_image, 0, 0);
-    canvas->sk_canvas()->clipPath(clip, SkClipOp::kDifference, true);
-  }
-  canvas->DrawImageInt(it->stroke_image, 0, 0);
+  PaintTabBackground(canvas, false /* active */, fill_id, y_offset,
+                     controller_->MaySetClip() ? &clip : nullptr);
 }
 
-void Tab::PaintTabBackgroundUsingFillId(gfx::Canvas* fill_canvas,
-                                        gfx::Canvas* stroke_canvas,
-                                        bool is_active,
-                                        int fill_id,
-                                        int y_offset) {
-  gfx::Path fill;
+void Tab::PaintTabBackground(gfx::Canvas* canvas,
+                             bool active,
+                             int fill_id,
+                             int y_offset,
+                             const gfx::Path* clip) {
+  // |y_offset| is only set when |fill_id| is being used.
+  DCHECK(!y_offset || fill_id);
+
+  const ui::ThemeProvider* tp = GetThemeProvider();
+  const SkColor active_color = tp->GetColor(ThemeProperties::COLOR_TOOLBAR);
+  const SkColor inactive_color =
+      tp->GetColor(ThemeProperties::COLOR_BACKGROUND_TAB);
+  const SkColor stroke_color = controller_->GetToolbarTopSeparatorColor();
+  const bool paint_hover_effect = !active && hover_controller_.ShouldDraw();
+
+  // If there is a |fill_id| we don't try to cache. This could be improved
+  // but would require knowing then the image from the ThemeProvider had been
+  // changed, and invalidating when the tab's x-coordinate or background_offset_
+  // changed.
+  // Similarly, if |paint_hover_effect|, we don't try to cache since hover
+  // effects change on every invalidation and we would need to invalidate the
+  // cache based on the hover states.
+  if (fill_id || paint_hover_effect) {
+    gfx::Path fill_path = GetFillPath(canvas->image_scale(), size());
+    gfx::Path stroke_path =
+        GetBorderPath(canvas->image_scale(), false, false, size());
+    PaintTabBackgroundFill(canvas, fill_path, active, paint_hover_effect,
+                           active_color, inactive_color, fill_id, y_offset);
+    gfx::ScopedCanvas scoped_canvas(clip ? canvas : nullptr);
+    if (clip)
+      canvas->sk_canvas()->clipPath(*clip, SkClipOp::kDifference, true);
+    PaintTabBackgroundStroke(canvas, fill_path, stroke_path, active,
+                             stroke_color);
+    return;
+  }
+
+  BackgroundCache& cache =
+      active ? background_active_cache_ : background_inactive_cache_;
+  if (!cache.CacheKeyMatches(canvas->image_scale(), size(), active_color,
+                             inactive_color, stroke_color)) {
+    gfx::Path fill_path = GetFillPath(canvas->image_scale(), size());
+    gfx::Path stroke_path =
+        GetBorderPath(canvas->image_scale(), false, false, size());
+    cc::PaintRecorder recorder;
+
+    {
+      gfx::Canvas cache_canvas(
+          recorder.beginRecording(size().width(), size().height()),
+          canvas->image_scale());
+      PaintTabBackgroundFill(&cache_canvas, fill_path, active,
+                             paint_hover_effect, active_color, inactive_color,
+                             fill_id, y_offset);
+      cache.fill_record = recorder.finishRecordingAsPicture();
+    }
+    {
+      gfx::Canvas cache_canvas(
+          recorder.beginRecording(size().width(), size().height()),
+          canvas->image_scale());
+      PaintTabBackgroundStroke(&cache_canvas, fill_path, stroke_path, active,
+                               stroke_color);
+      cache.stroke_record = recorder.finishRecordingAsPicture();
+    }
+
+    cache.SetCacheKey(canvas->image_scale(), size(), active_color,
+                      inactive_color, stroke_color);
+  }
+
+  canvas->sk_canvas()->PlaybackPaintRecord(cache.fill_record);
+  gfx::ScopedCanvas scoped_canvas(clip ? canvas : nullptr);
+  if (clip)
+    canvas->sk_canvas()->clipPath(*clip, SkClipOp::kDifference, true);
+  canvas->sk_canvas()->PlaybackPaintRecord(cache.stroke_record);
+}
+
+void Tab::PaintTabBackgroundFill(gfx::Canvas* canvas,
+                                 const gfx::Path& fill_path,
+                                 bool active,
+                                 bool paint_hover_effect,
+                                 SkColor active_color,
+                                 SkColor inactive_color,
+                                 int fill_id,
+                                 int y_offset) {
+  gfx::ScopedCanvas scoped_canvas(canvas);
+  const float scale = canvas->UndoDeviceScaleFactor();
+
+  canvas->ClipPath(fill_path, true);
+  if (fill_id) {
+    gfx::ScopedCanvas scale_scoper(canvas);
+    canvas->sk_canvas()->scale(scale, scale);
+    canvas->TileImageInt(*GetThemeProvider()->GetImageSkiaNamed(fill_id),
+                         GetMirroredX() + background_offset_.x(), y_offset, 0,
+                         0, width(), height());
+  } else {
+    cc::PaintFlags flags;
+    flags.setAntiAlias(true);
+    flags.setColor(active ? active_color : inactive_color);
+    canvas->DrawRect(gfx::ScaleToEnclosingRect(GetLocalBounds(), scale), flags);
+  }
+
+  if (paint_hover_effect) {
+    SkPoint hover_location(gfx::PointToSkPoint(hover_controller_.location()));
+    hover_location.scale(SkFloatToScalar(scale));
+    const SkScalar kMinHoverRadius = 16;
+    const SkScalar radius =
+        std::max(SkFloatToScalar(width() / 4.f), kMinHoverRadius);
+    DrawHighlight(canvas, hover_location, radius * scale,
+                  SkColorSetA(active_color, hover_controller_.GetAlpha()));
+  }
+}
+
+void Tab::PaintTabBackgroundStroke(gfx::Canvas* canvas,
+                                   const gfx::Path& fill_path,
+                                   const gfx::Path& stroke_path,
+                                   bool active,
+                                   SkColor color) {
+  gfx::ScopedCanvas scoped_canvas(canvas);
+  const float scale = canvas->UndoDeviceScaleFactor();
+
+  if (!active) {
+    // Clip out the bottom line; this will be drawn for us by
+    // TabStrip::PaintChildren().
+    canvas->ClipRect(gfx::RectF(width() * scale, height() * scale - 1));
+  }
   cc::PaintFlags flags;
   flags.setAntiAlias(true);
-
-  // Draw the fill.
-  {
-    gfx::ScopedCanvas scoped_canvas(fill_canvas);
-    const float scale = fill_canvas->UndoDeviceScaleFactor();
-    const ui::ThemeProvider* tp = GetThemeProvider();
-    const SkColor toolbar_color = tp->GetColor(ThemeProperties::COLOR_TOOLBAR);
-
-    fill = GetFillPath(scale, size());
-    {
-      gfx::ScopedCanvas clip_scoper(fill_canvas);
-      fill_canvas->ClipPath(fill, true);
-      if (fill_id) {
-        gfx::ScopedCanvas scale_scoper(fill_canvas);
-        fill_canvas->sk_canvas()->scale(scale, scale);
-        fill_canvas->TileImageInt(*tp->GetImageSkiaNamed(fill_id),
-                                  GetMirroredX() + background_offset_.x(),
-                                  y_offset, 0, 0, width(), height());
-      } else {
-        flags.setColor(
-            is_active ? toolbar_color
-                      : tp->GetColor(ThemeProperties::COLOR_BACKGROUND_TAB));
-        fill_canvas->DrawRect(
-            gfx::ScaleToEnclosingRect(GetLocalBounds(), scale), flags);
-      }
-
-      if (!is_active && hover_controller_.ShouldDraw()) {
-        SkPoint hover_location(
-            gfx::PointToSkPoint(hover_controller_.location()));
-        hover_location.scale(SkFloatToScalar(scale));
-        const SkScalar kMinHoverRadius = 16;
-        const SkScalar radius =
-            std::max(SkFloatToScalar(width() / 4.f), kMinHoverRadius);
-        DrawHighlight(fill_canvas, hover_location, radius * scale,
-                      SkColorSetA(toolbar_color, hover_controller_.GetAlpha()));
-      }
-    }
-  }
-
-  // Draw the stroke.
-  {
-    gfx::ScopedCanvas scoped_canvas(stroke_canvas);
-    const float scale = stroke_canvas->UndoDeviceScaleFactor();
-
-    gfx::Path stroke = GetBorderPath(scale, false, false, size());
-    Op(stroke, fill, kDifference_SkPathOp, &stroke);
-    if (!is_active) {
-      // Clip out the bottom line; this will be drawn for us by
-      // TabStrip::PaintChildren().
-      stroke_canvas->ClipRect(
-          gfx::RectF(width() * scale, height() * scale - 1));
-    }
-    flags.setColor(controller_->GetToolbarTopSeparatorColor());
-    stroke_canvas->DrawPath(stroke, flags);
-  }
+  flags.setColor(color);
+  SkPath path;
+  Op(stroke_path, fill_path, kDifference_SkPathOp, &path);
+  canvas->DrawPath(path, flags);
 }
 
 void Tab::PaintPinnedTabTitleChangedIndicatorAndIcon(
@@ -1493,3 +1432,6 @@
   bounds.set_x(GetMirroredXForRect(bounds));
   SchedulePaintInRect(bounds);
 }
+
+Tab::BackgroundCache::BackgroundCache() = default;
+Tab::BackgroundCache::~BackgroundCache() = default;
diff --git a/chrome/browser/ui/views/tabs/tab.h b/chrome/browser/ui/views/tabs/tab.h
index 7b7bc644..380ce51 100644
--- a/chrome/browser/ui/views/tabs/tab.h
+++ b/chrome/browser/ui/views/tabs/tab.h
@@ -12,6 +12,7 @@
 #include "base/gtest_prod_util.h"
 #include "base/macros.h"
 #include "base/memory/ref_counted.h"
+#include "cc/paint/paint_record.h"
 #include "chrome/browser/ui/views/tabs/tab_renderer_data.h"
 #include "ui/base/layout.h"
 #include "ui/gfx/animation/animation_delegate.h"
@@ -235,11 +236,26 @@
   // Paints a tab background using the image defined by |fill_id| at the
   // provided offset. If |fill_id| is 0, it will fall back to using the solid
   // color defined by the theme provider and ignore the offset.
-  void PaintTabBackgroundUsingFillId(gfx::Canvas* fill_canvas,
-                                     gfx::Canvas* stroke_canvas,
-                                     bool is_active,
-                                     int fill_id,
-                                     int y_offset);
+  void PaintTabBackground(gfx::Canvas* canvas,
+                          bool active,
+                          int fill_id,
+                          int y_offset,
+                          const gfx::Path* clip);
+
+  // Helper methods for PaintTabBackground.
+  void PaintTabBackgroundFill(gfx::Canvas* canvas,
+                              const gfx::Path& fill_path,
+                              bool active,
+                              bool hover,
+                              SkColor active_color,
+                              SkColor inactive_color,
+                              int fill_id,
+                              int y_offset);
+  void PaintTabBackgroundStroke(gfx::Canvas* canvas,
+                                const gfx::Path& fill_path,
+                                const gfx::Path& stroke_path,
+                                bool active,
+                                SkColor color);
 
   // Paints the pinned tab title changed indicator and |favicon_|. |favicon_|
   // may be null. |favicon_draw_bounds| is |favicon_bounds_| adjusted for rtl
@@ -355,6 +371,50 @@
   // and thus may be null.
   gfx::ImageSkia favicon_;
 
+  class BackgroundCache {
+   public:
+    BackgroundCache();
+    ~BackgroundCache();
+
+    bool CacheKeyMatches(float scale,
+                         const gfx::Size& size,
+                         SkColor active_color,
+                         SkColor inactive_color,
+                         SkColor stroke_color) {
+      return scale_ == scale && size_ == size &&
+             active_color_ == active_color &&
+             inactive_color_ == inactive_color && stroke_color_ == stroke_color;
+    }
+
+    void SetCacheKey(float scale,
+                     const gfx::Size& size,
+                     SkColor active_color,
+                     SkColor inactive_color,
+                     SkColor stroke_color) {
+      scale_ = scale;
+      size_ = size;
+      active_color_ = active_color;
+      inactive_color_ = inactive_color;
+      stroke_color_ = stroke_color;
+    }
+
+    // The PaintRecords being cached based on the input parameters.
+    sk_sp<cc::PaintRecord> fill_record;
+    sk_sp<cc::PaintRecord> stroke_record;
+
+   private:
+    // Parameters used to construct the PaintRecords.
+    float scale_ = 0.f;
+    gfx::Size size_;
+    SkColor active_color_ = 0;
+    SkColor inactive_color_ = 0;
+    SkColor stroke_color_ = 0;
+  };
+
+  // Cache of the paint output for tab backgrounds.
+  BackgroundCache background_active_cache_;
+  BackgroundCache background_inactive_cache_;
+
   DISALLOW_COPY_AND_ASSIGN(Tab);
 };
 
diff --git a/chrome/browser/ui/views/toolbar/app_menu_animation.cc b/chrome/browser/ui/views/toolbar/app_menu_animation.cc
new file mode 100644
index 0000000..8d643ca
--- /dev/null
+++ b/chrome/browser/ui/views/toolbar/app_menu_animation.cc
@@ -0,0 +1,196 @@
+// 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 "chrome/browser/ui/views/toolbar/app_menu_animation.h"
+
+#include "base/memory/ptr_util.h"
+#include "cc/paint/paint_flags.h"
+#include "chrome/browser/ui/views/toolbar/app_menu_button.h"
+#include "ui/gfx/animation/tween.h"
+#include "ui/gfx/canvas.h"
+#include "ui/gfx/color_palette.h"
+#include "ui/gfx/color_utils.h"
+#include "ui/gfx/skia_util.h"
+
+namespace {
+
+// Duration of the open and close animations in ms.
+constexpr float kOpenDurationMs = 733.0f;
+constexpr float kCloseDurationMs = 283.0f;
+
+// Duration of the color animation in ms.
+constexpr float kColorDurationMs = 100.0f;
+
+// The % the top and bottom dots need to be offset from the middle.
+constexpr float kDotYOffset = 0.32f;
+
+// Value of the stroke when the icon is opened or closed.
+constexpr float kCloseStroke = 0.204f;
+constexpr float kOpenStroke = 0.136f;
+
+// Value of the width when the animation is fully opened.
+constexpr float kOpenWidth = 0.52f;
+
+// The delay of the color and dot animations in ms.
+constexpr float kColorDelayMs = 33.33f;
+constexpr float kDotDelayMs = 66.67f;
+
+// The % of time it takes for each dot to animate to its full width.
+constexpr float kTopWidthOpenInterval = 533.3f / kOpenDurationMs;
+constexpr float kMiddleWidthOpenInterval = 383.3f / kOpenDurationMs;
+constexpr float kBottomWidthOpenInterval = 400.0f / kOpenDurationMs;
+
+// The % of time it takes for each dot to animate to its final stroke.
+constexpr float kTopStrokeOpenInterval = 400.0f / kOpenDurationMs;
+constexpr float kMiddleStrokeOpenInterval = 283.3f / kOpenDurationMs;
+constexpr float kBottomStrokeOpenInterval = 266.7f / kOpenDurationMs;
+
+// The % of time it takes for each dot to animate its width and stroke.
+constexpr float kWidthStrokeCloseInterval = 150.0f / kCloseDurationMs;
+
+}  // namespace
+
+AppMenuAnimation::AppMenuDot::AppMenuDot(base::TimeDelta delay,
+                                         float width_open_interval,
+                                         float stroke_open_interval)
+    : delay_(delay),
+      width_open_interval_(width_open_interval),
+      stroke_open_interval_(stroke_open_interval) {}
+
+void AppMenuAnimation::AppMenuDot::Paint(const gfx::PointF& center_point,
+                                         SkColor start_color,
+                                         SkColor severity_color,
+                                         gfx::Canvas* canvas,
+                                         const gfx::Rect& bounds,
+                                         const gfx::SlideAnimation* animation) {
+  bool is_opening = animation->IsShowing();
+  float total_duration = is_opening ? kOpenDurationMs : kCloseDurationMs;
+  float width_duration =
+      is_opening ? width_open_interval_ : kWidthStrokeCloseInterval;
+  float stroke_duration =
+      is_opening ? stroke_open_interval_ : kWidthStrokeCloseInterval;
+
+  // When the animation is closing, each dot uses the remainder of the full
+  // delay period (2 * kDotDelayMs). The results should be (0->2x, 1x->1x,
+  // 2x->0).
+  base::TimeDelta delay =
+      is_opening ? delay_
+                 : base::TimeDelta::FromMilliseconds(kDotDelayMs * 2) - delay_;
+  float progress =
+      animation->GetCurrentValue() - (delay.InMillisecondsF() / total_duration);
+
+  float width_progress = 0.0;
+  float stroke_progress = 0.0;
+  float color_progress = 0.0;
+
+  if (progress > 0) {
+    width_progress = std::min(1.0f, progress / width_duration);
+    stroke_progress = std::min(1.0f, progress / stroke_duration);
+
+    if (is_opening) {
+      float color_delay_interval = kColorDelayMs / total_duration;
+      float color_duration_interval = kColorDurationMs / total_duration;
+      if (progress > color_delay_interval) {
+        color_progress = std::min(
+            1.0f, (progress - color_delay_interval) / color_duration_interval);
+      }
+    }
+  }
+
+  float dot_height =
+      gfx::Tween::FloatValueBetween(stroke_progress, kCloseStroke, kOpenStroke);
+  dot_height *= bounds.height();
+
+  float dot_width =
+      gfx::Tween::FloatValueBetween(width_progress, kCloseStroke, kOpenWidth);
+  dot_width *= bounds.width();
+
+  gfx::PointF point = center_point;
+  point.Offset(-dot_width / 2, -dot_height / 2);
+
+  SkColor color = is_opening ? gfx::Tween::ColorValueBetween(
+                                   color_progress, start_color, severity_color)
+                             : severity_color;
+
+  cc::PaintFlags flags;
+  flags.setColor(color);
+  flags.setStrokeWidth(bounds.height() * kCloseStroke);
+  flags.setStrokeCap(cc::PaintFlags::kRound_Cap);
+  flags.setStyle(cc::PaintFlags::kFill_Style);
+  flags.setAntiAlias(true);
+
+  gfx::SizeF dot_size = gfx::SizeF(dot_width, dot_height);
+  canvas->DrawRoundRect(gfx::RectF(point, dot_size), 2.0, flags);
+}
+
+AppMenuAnimation::AppMenuAnimation(AppMenuButton* owner,
+                                   bool should_animate_closed)
+    : owner_(owner),
+      should_animate_closed_(should_animate_closed),
+      animation_(base::MakeUnique<gfx::SlideAnimation>(this)),
+      bottom_dot_(base::TimeDelta(),
+                  kBottomWidthOpenInterval,
+                  kBottomStrokeOpenInterval),
+      middle_dot_(base::TimeDelta::FromMilliseconds(kDotDelayMs),
+                  kMiddleWidthOpenInterval,
+                  kMiddleStrokeOpenInterval),
+      top_dot_(base::TimeDelta::FromMilliseconds(kDotDelayMs * 2),
+               kTopWidthOpenInterval,
+               kTopStrokeOpenInterval),
+      start_color_(gfx::kPlaceholderColor),
+      severity_color_(gfx::kPlaceholderColor) {
+  animation_->SetSlideDuration(kOpenDurationMs);
+  animation_->SetTweenType(gfx::Tween::FAST_OUT_SLOW_IN);
+}
+
+AppMenuAnimation::~AppMenuAnimation() {}
+
+void AppMenuAnimation::PaintAppMenu(gfx::Canvas* canvas,
+                                    const gfx::Rect& bounds) {
+  gfx::PointF middle_point = gfx::PointF(bounds.CenterPoint());
+  float y_offset = kDotYOffset * bounds.height();
+  gfx::PointF top_point = middle_point;
+  top_point.Offset(0, -y_offset);
+
+  gfx::PointF bottom_point = middle_point;
+  bottom_point.Offset(0, y_offset);
+
+  middle_dot_.Paint(middle_point, start_color_, severity_color_, canvas, bounds,
+                    animation_.get());
+  top_dot_.Paint(top_point, start_color_, severity_color_, canvas, bounds,
+                 animation_.get());
+  bottom_dot_.Paint(bottom_point, start_color_, severity_color_, canvas, bounds,
+                    animation_.get());
+}
+
+void AppMenuAnimation::SetIconColors(SkColor start_color,
+                                     SkColor severity_color) {
+  start_color_ = start_color;
+  severity_color_ = severity_color;
+}
+
+void AppMenuAnimation::StartAnimation() {
+  if (!animation_->is_animating()) {
+    animation_->SetSlideDuration(kOpenDurationMs);
+    animation_->Show();
+    owner_->AppMenuAnimationStarted();
+  }
+}
+
+void AppMenuAnimation::AnimationEnded(const gfx::Animation* animation) {
+  if (animation_->IsShowing() && should_animate_closed_) {
+    animation_->SetSlideDuration(kCloseDurationMs);
+    animation_->Hide();
+    return;
+  }
+
+  if (!animation_->IsShowing())
+    start_color_ = severity_color_;
+
+  owner_->AppMenuAnimationEnded();
+}
+
+void AppMenuAnimation::AnimationProgressed(const gfx::Animation* animation) {
+  owner_->SchedulePaint();
+}
diff --git a/chrome/browser/ui/views/toolbar/app_menu_animation.h b/chrome/browser/ui/views/toolbar/app_menu_animation.h
new file mode 100644
index 0000000..1ff69ee
--- /dev/null
+++ b/chrome/browser/ui/views/toolbar/app_menu_animation.h
@@ -0,0 +1,93 @@
+// 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 CHROME_BROWSER_UI_VIEWS_TOOLBAR_APP_MENU_ANIMATION_H_
+#define CHROME_BROWSER_UI_VIEWS_TOOLBAR_APP_MENU_ANIMATION_H_
+
+#include "base/time/time.h"
+#include "third_party/skia/include/core/SkColor.h"
+#include "ui/gfx/animation/animation_delegate.h"
+#include "ui/gfx/animation/slide_animation.h"
+
+namespace gfx {
+class Canvas;
+class PointF;
+}  // namespace gfx
+
+class AppMenuButton;
+
+// This class is used for animating and drawing the app menu icon.
+class AppMenuAnimation : public gfx::AnimationDelegate {
+ public:
+  AppMenuAnimation(AppMenuButton* owner, bool should_animate_closed);
+
+  ~AppMenuAnimation() override;
+
+  // Paints the app menu icon.
+  void PaintAppMenu(gfx::Canvas* canvas, const gfx::Rect& bounds);
+
+  // Updates the icon colors.
+  void SetIconColors(SkColor start_color, SkColor severity_color);
+
+  // Starts the animation if it's not already running.
+  void StartAnimation();
+
+  // gfx::AnimationDelegate:
+  void AnimationEnded(const gfx::Animation* animation) override;
+  void AnimationProgressed(const gfx::Animation* animation) override;
+
+ private:
+  // This class is used to represent and paint a dot on the app menu.
+  class AppMenuDot {
+   public:
+    AppMenuDot(base::TimeDelta delay,
+               float width_open_interval,
+               float stroke_open_interval);
+
+    // Paints the dot on the given |canvas| according to the progress of
+    // |animation|. The size of the dot is calculated to fit in |bounds|.
+    // |center_point| is the dot's position on the canvas. The dot's color is
+    // a transition from |start_color| to |final_color|.
+    void Paint(const gfx::PointF& center_point,
+               SkColor start_color,
+               SkColor final_color,
+               gfx::Canvas* canvas,
+               const gfx::Rect& bounds,
+               const gfx::SlideAnimation* animation);
+
+   private:
+    // The delay before the dot starts animating in ms.
+    const base::TimeDelta delay_;
+
+    // The percentage of the overall animation duration it takes to animate the
+    // width and stroke to their open state.
+    const float width_open_interval_;
+    const float stroke_open_interval_;
+
+    DISALLOW_COPY_AND_ASSIGN(AppMenuDot);
+  };
+
+  AppMenuButton* const owner_;
+
+  // True if the animation should close after it finishes opening.
+  const bool should_animate_closed_;
+
+  std::unique_ptr<gfx::SlideAnimation> animation_;
+
+  AppMenuDot bottom_dot_;
+  AppMenuDot middle_dot_;
+  AppMenuDot top_dot_;
+
+  // The starting color of the dots. The animation is expected to transition
+  // from this color to |severity_color_|.
+  SkColor start_color_;
+
+  // The severity color of the dots. This is final color at the end of the
+  // animation.
+  SkColor severity_color_;
+
+  DISALLOW_COPY_AND_ASSIGN(AppMenuAnimation);
+};
+
+#endif  // CHROME_BROWSER_UI_VIEWS_TOOLBAR_APP_MENU_ANIMATION_H_
diff --git a/chrome/browser/ui/views/toolbar/app_menu_button.cc b/chrome/browser/ui/views/toolbar/app_menu_button.cc
index 448dcc6..3004a94b 100644
--- a/chrome/browser/ui/views/toolbar/app_menu_button.cc
+++ b/chrome/browser/ui/views/toolbar/app_menu_button.cc
@@ -4,21 +4,27 @@
 
 #include "chrome/browser/ui/views/toolbar/app_menu_button.h"
 
+#include "base/command_line.h"
 #include "base/location.h"
+#include "base/memory/ptr_util.h"
 #include "base/metrics/histogram_macros.h"
 #include "base/single_thread_task_runner.h"
 #include "base/threading/thread_task_runner_handle.h"
 #include "base/time/time.h"
+#include "cc/paint/paint_flags.h"
 #include "chrome/app/vector_icons/vector_icons.h"
 #include "chrome/browser/themes/theme_properties.h"
 #include "chrome/browser/ui/browser.h"
 #include "chrome/browser/ui/browser_otr_state.h"
 #include "chrome/browser/ui/layout_constants.h"
+#include "chrome/browser/ui/tabs/tab_strip_model.h"
 #include "chrome/browser/ui/toolbar/app_menu_model.h"
 #include "chrome/browser/ui/views/extensions/browser_action_drag_data.h"
 #include "chrome/browser/ui/views/toolbar/app_menu.h"
+#include "chrome/browser/ui/views/toolbar/app_menu_animation.h"
 #include "chrome/browser/ui/views/toolbar/toolbar_button.h"
 #include "chrome/browser/ui/views/toolbar/toolbar_view.h"
+#include "chrome/common/chrome_switches.h"
 #include "chrome/grit/theme_resources.h"
 #include "ui/base/resource/resource_bundle.h"
 #include "ui/base/theme_provider.h"
@@ -29,6 +35,10 @@
 #include "ui/views/controls/menu/menu_listener.h"
 #include "ui/views/metrics.h"
 
+namespace {
+const float kIconSize = 16;
+}  // namespace
+
 // static
 bool AppMenuButton::g_open_app_immediately_for_testing = false;
 
@@ -41,6 +51,19 @@
       weak_factory_(this) {
   SetInkDropMode(InkDropMode::ON);
   SetFocusPainter(nullptr);
+
+  base::CommandLine* command_line = base::CommandLine::ForCurrentProcess();
+  if (command_line->HasSwitch(switches::kAppMenuIcon)) {
+    std::string flag =
+        command_line->GetSwitchValueASCII(switches::kAppMenuIcon);
+    if (flag == switches::kAppMenuIconPersistentClosedState) {
+      Browser* browser = toolbar_view_->browser();
+      browser->tab_strip_model()->AddObserver(this);
+      animation_ = base::MakeUnique<AppMenuAnimation>(this, true);
+    } else if (flag == switches::kAppMenuIconPersistentOpenedState) {
+      animation_ = base::MakeUnique<AppMenuAnimation>(this, false);
+    }
+  }
 }
 
 AppMenuButton::~AppMenuButton() {}
@@ -50,7 +73,7 @@
                                 bool animate) {
   type_ = type;
   severity_ = severity;
-  UpdateIcon();
+  UpdateIcon(animate);
 }
 
 void AppMenuButton::ShowMenu(bool for_drop) {
@@ -85,6 +108,9 @@
     UMA_HISTOGRAM_TIMES("Toolbar.AppMenuTimeToAction",
                         base::TimeTicks::Now() - menu_open_time);
   }
+
+  if (severity_ != AppMenuIconController::Severity::NONE)
+    animation_->StartAnimation();
 }
 
 void AppMenuButton::CloseMenu() {
@@ -106,33 +132,70 @@
 }
 
 gfx::Size AppMenuButton::GetPreferredSize() const {
-  gfx::Rect rect(image()->GetPreferredSize());
+  gfx::Rect rect(gfx::Size(kIconSize, kIconSize));
   rect.Inset(gfx::Insets(-ToolbarButton::kInteriorPadding));
   return rect.size();
 }
 
-void AppMenuButton::UpdateIcon() {
-  SkColor color = gfx::kPlaceholderColor;
+void AppMenuButton::Layout() {
+  if (animation_) {
+    ink_drop_container()->SetBoundsRect(GetLocalBounds());
+    image()->SetBoundsRect(GetLocalBounds());
+    return;
+  }
+
+  views::MenuButton::Layout();
+}
+
+void AppMenuButton::OnPaint(gfx::Canvas* canvas) {
+  if (!animation_) {
+    views::MenuButton::OnPaint(canvas);
+    return;
+  }
+
+  gfx::Rect bounds = GetLocalBounds();
+  bounds.Inset(gfx::Insets(ToolbarButton::kInteriorPadding));
+  animation_->PaintAppMenu(canvas, bounds);
+}
+
+void AppMenuButton::TabInsertedAt(TabStripModel* tab_strip_model,
+                                  content::WebContents* contents,
+                                  int index,
+                                  bool foreground) {
+  if (severity_ != AppMenuIconController::Severity::NONE)
+    animation_->StartAnimation();
+}
+
+void AppMenuButton::UpdateIcon(bool should_animate) {
+  SkColor severity_color = gfx::kPlaceholderColor;
+  SkColor toolbar_icon_color =
+      GetThemeProvider()->GetColor(ThemeProperties::COLOR_TOOLBAR_BUTTON_ICON);
   const ui::NativeTheme* native_theme = GetNativeTheme();
   switch (severity_) {
     case AppMenuIconController::Severity::NONE:
-      color = GetThemeProvider()->GetColor(
-          ThemeProperties::COLOR_TOOLBAR_BUTTON_ICON);
+      severity_color = toolbar_icon_color;
       break;
     case AppMenuIconController::Severity::LOW:
-      color = native_theme->GetSystemColor(
+      severity_color = native_theme->GetSystemColor(
           ui::NativeTheme::kColorId_AlertSeverityLow);
       break;
     case AppMenuIconController::Severity::MEDIUM:
-      color = native_theme->GetSystemColor(
+      severity_color = native_theme->GetSystemColor(
           ui::NativeTheme::kColorId_AlertSeverityMedium);
       break;
     case AppMenuIconController::Severity::HIGH:
-      color = native_theme->GetSystemColor(
+      severity_color = native_theme->GetSystemColor(
           ui::NativeTheme::kColorId_AlertSeverityHigh);
       break;
   }
 
+  if (animation_) {
+    animation_->SetIconColors(toolbar_icon_color, severity_color);
+    if (should_animate)
+      animation_->StartAnimation();
+    return;
+  }
+
   const gfx::VectorIcon* icon_id = nullptr;
   switch (type_) {
     case AppMenuIconController::IconType::NONE:
@@ -148,7 +211,8 @@
       break;
   }
 
-  SetImage(views::Button::STATE_NORMAL, gfx::CreateVectorIcon(*icon_id, color));
+  SetImage(views::Button::STATE_NORMAL,
+           gfx::CreateVectorIcon(*icon_id, severity_color));
 }
 
 void AppMenuButton::SetTrailingMargin(int margin) {
@@ -157,6 +221,15 @@
   InvalidateLayout();
 }
 
+void AppMenuButton::AppMenuAnimationStarted() {
+  SetPaintToLayer();
+  layer()->SetFillsBoundsOpaquely(false);
+}
+
+void AppMenuButton::AppMenuAnimationEnded() {
+  DestroyLayer();
+}
+
 const char* AppMenuButton::GetClassName() const {
   return "AppMenuButton";
 }
diff --git a/chrome/browser/ui/views/toolbar/app_menu_button.h b/chrome/browser/ui/views/toolbar/app_menu_button.h
index 78eb36f..06167a7 100644
--- a/chrome/browser/ui/views/toolbar/app_menu_button.h
+++ b/chrome/browser/ui/views/toolbar/app_menu_button.h
@@ -9,6 +9,7 @@
 
 #include "base/macros.h"
 #include "base/memory/weak_ptr.h"
+#include "chrome/browser/ui/tabs/tab_strip_model_observer.h"
 #include "chrome/browser/ui/toolbar/app_menu_icon_controller.h"
 #include "ui/views/controls/button/menu_button.h"
 #include "ui/views/controls/button/menu_button_listener.h"
@@ -22,9 +23,10 @@
 class MenuListener;
 }
 
+class AppMenuAnimation;
 class ToolbarView;
 
-class AppMenuButton : public views::MenuButton {
+class AppMenuButton : public views::MenuButton, public TabStripModelObserver {
  public:
   explicit AppMenuButton(ToolbarView* toolbar_view);
   ~AppMenuButton() override;
@@ -53,14 +55,28 @@
 
   // views::MenuButton:
   gfx::Size GetPreferredSize() const override;
+  void Layout() override;
+  void OnPaint(gfx::Canvas* canvas) override;
+
+  // TabStripObserver:
+  void TabInsertedAt(TabStripModel* tab_strip_model,
+                     content::WebContents* contents,
+                     int index,
+                     bool foreground) override;
 
   // Updates the presentation according to |severity_| and the theme provider.
-  void UpdateIcon();
+  // If |should_animate| is true, the icon should animate.
+  void UpdateIcon(bool should_animate);
 
   // Sets |margin_trailing_| when the browser is maximized and updates layout
   // to make the focus rectangle centered.
   void SetTrailingMargin(int margin);
 
+  // Methods called by AppMenuAnimation when the animation has started/ended.
+  // The layer is managed inside these methods.
+  void AppMenuAnimationStarted();
+  void AppMenuAnimationEnded();
+
   // Opens the app menu immediately during a drag-and-drop operation.
   // Used only in testing.
   static bool g_open_app_immediately_for_testing;
@@ -96,6 +112,9 @@
   std::unique_ptr<AppMenuModel> menu_model_;
   std::unique_ptr<AppMenu> menu_;
 
+  // Used for animating and drawing the app menu icon.
+  std::unique_ptr<AppMenuAnimation> animation_;
+
   // Any trailing margin to be applied. Used when the browser is in
   // a maximized state to extend to the full window width.
   int margin_trailing_;
diff --git a/chrome/browser/ui/views/toolbar/toolbar_view.cc b/chrome/browser/ui/views/toolbar/toolbar_view.cc
index b69095e..3c6d24d 100644
--- a/chrome/browser/ui/views/toolbar/toolbar_view.cc
+++ b/chrome/browser/ui/views/toolbar/toolbar_view.cc
@@ -744,7 +744,7 @@
       gfx::CreateVectorIcon(ui::kForwardArrowIcon, disabled_color));
   home_->SetImage(views::Button::STATE_NORMAL,
                   gfx::CreateVectorIcon(kNavigateHomeIcon, normal_color));
-  app_menu_button_->UpdateIcon();
+  app_menu_button_->UpdateIcon(false);
 
   back_->set_ink_drop_base_color(normal_color);
   forward_->set_ink_drop_base_color(normal_color);
diff --git a/chrome/browser/ui/webui/chromeos/network_element_localized_strings_provider.cc b/chrome/browser/ui/webui/chromeos/network_element_localized_strings_provider.cc
index d8b4409..9ed17e6 100644
--- a/chrome/browser/ui/webui/chromeos/network_element_localized_strings_provider.cc
+++ b/chrome/browser/ui/webui/chromeos/network_element_localized_strings_provider.cc
@@ -21,7 +21,6 @@
       {"OncTypeVPN", IDS_NETWORK_TYPE_VPN},
       {"OncTypeWiFi", IDS_NETWORK_TYPE_WIFI},
       {"OncTypeWiMAX", IDS_NETWORK_TYPE_WIMAX},
-      {"networkDisabled", IDS_SETTINGS_DEVICE_OFF},
       {"networkListItemConnected", IDS_STATUSBAR_NETWORK_DEVICE_CONNECTED},
       {"networkListItemConnecting", IDS_STATUSBAR_NETWORK_DEVICE_CONNECTING},
       {"networkListItemConnectingTo", IDS_NETWORK_LIST_CONNECTING_TO},
diff --git a/chrome/browser/ui/webui/local_state/local_state_ui.cc b/chrome/browser/ui/webui/local_state/local_state_ui.cc
index 0ebad38..1676ea7 100644
--- a/chrome/browser/ui/webui/local_state/local_state_ui.cc
+++ b/chrome/browser/ui/webui/local_state/local_state_ui.cc
@@ -62,7 +62,8 @@
 
 void LocalStateUIHandler::HandleRequestJson(const base::ListValue* args) {
   std::unique_ptr<base::DictionaryValue> local_state_values(
-      g_browser_process->local_state()->GetPreferenceValuesOmitDefaults());
+      g_browser_process->local_state()->GetPreferenceValues(
+          PrefService::EXCLUDE_DEFAULTS));
   if (ENABLE_FILTERING) {
     std::vector<std::string> whitelisted_prefixes = {
         "variations", "user_experience_metrics", "uninstall_metrics"};
diff --git a/chrome/browser/ui/webui/md_downloads/downloads_list_tracker.cc b/chrome/browser/ui/webui/md_downloads/downloads_list_tracker.cc
index b85f1535..46a17b7 100644
--- a/chrome/browser/ui/webui/md_downloads/downloads_list_tracker.cc
+++ b/chrome/browser/ui/webui/md_downloads/downloads_list_tracker.cc
@@ -336,13 +336,12 @@
 }
 
 bool DownloadsListTracker::ShouldShow(const DownloadItem& item) const {
-  return !download_crx_util::IsExtensionDownload(item) &&
-      !item.IsTemporary() &&
-      !item.GetFileNameToReportUser().empty() &&
-      !item.GetTargetFilePath().empty() &&
-      !item.GetURL().is_empty() &&
-      DownloadItemModel(const_cast<DownloadItem*>(&item)).ShouldShowInShelf() &&
-      DownloadQuery::MatchesQuery(search_terms_, item);
+  return !download_crx_util::IsExtensionDownload(item) && !item.IsTemporary() &&
+         !item.IsTransient() && !item.GetFileNameToReportUser().empty() &&
+         !item.GetTargetFilePath().empty() && !item.GetURL().is_empty() &&
+         DownloadItemModel(const_cast<DownloadItem*>(&item))
+             .ShouldShowInShelf() &&
+         DownloadQuery::MatchesQuery(search_terms_, item);
 }
 
 bool DownloadsListTracker::StartTimeComparator::operator() (
diff --git a/chrome/browser/ui/webui/md_downloads/downloads_list_tracker_unittest.cc b/chrome/browser/ui/webui/md_downloads/downloads_list_tracker_unittest.cc
index 8e026382..a2bad3f 100644
--- a/chrome/browser/ui/webui/md_downloads/downloads_list_tracker_unittest.cc
+++ b/chrome/browser/ui/webui/md_downloads/downloads_list_tracker_unittest.cc
@@ -113,6 +113,7 @@
 
     ON_CALL(*new_item, GetId()).WillByDefault(Return(id));
     ON_CALL(*new_item, GetStartTime()).WillByDefault(Return(started));
+    ON_CALL(*new_item, IsTransient()).WillByDefault(Return(false));
 
     return new_item;
   }
@@ -355,3 +356,14 @@
   tracker()->OnDownloadUpdated(manager(), unsent_item);
   EXPECT_EQ(1u, web_ui()->call_data().size());
 }
+
+TEST_F(DownloadsListTrackerTest, IgnoreTransientDownloads) {
+  MockDownloadItem* transient_item = CreateNextItem();
+  ON_CALL(*transient_item, IsTransient()).WillByDefault(Return(true));
+
+  CreateTracker();
+  tracker()->StartAndSendChunk();
+
+  ASSERT_FALSE(web_ui()->call_data().empty());
+  EXPECT_EQ(0u, GetIds(*web_ui()->call_data()[0]->arg2()).size());
+}
diff --git a/chrome/browser/ui/webui/md_downloads/md_downloads_dom_handler_unittest.cc b/chrome/browser/ui/webui/md_downloads/md_downloads_dom_handler_unittest.cc
index 11bc7946..947dfe8 100644
--- a/chrome/browser/ui/webui/md_downloads/md_downloads_dom_handler_unittest.cc
+++ b/chrome/browser/ui/webui/md_downloads/md_downloads_dom_handler_unittest.cc
@@ -94,6 +94,7 @@
   // Safe, in-progress items should be passed over.
   testing::StrictMock<content::MockDownloadItem> in_progress;
   EXPECT_CALL(in_progress, IsDangerous()).WillOnce(testing::Return(false));
+  EXPECT_CALL(in_progress, IsTransient()).WillOnce(testing::Return(false));
   EXPECT_CALL(in_progress, GetState()).WillOnce(
       testing::Return(content::DownloadItem::IN_PROGRESS));
   downloads.push_back(&in_progress);
@@ -107,6 +108,7 @@
   // Completed items should be marked as hidden from the shelf.
   testing::StrictMock<content::MockDownloadItem> completed;
   EXPECT_CALL(completed, IsDangerous()).WillOnce(testing::Return(false));
+  EXPECT_CALL(completed, IsTransient()).WillRepeatedly(testing::Return(false));
   EXPECT_CALL(completed, GetState()).WillOnce(
       testing::Return(content::DownloadItem::COMPLETE));
   EXPECT_CALL(completed, GetId()).WillOnce(testing::Return(1));
diff --git a/chrome/browser/ui/webui/ntp/ntp_resource_cache.cc b/chrome/browser/ui/webui/ntp/ntp_resource_cache.cc
index a6ab0c5..393ef9d 100644
--- a/chrome/browser/ui/webui/ntp/ntp_resource_cache.cc
+++ b/chrome/browser/ui/webui/ntp/ntp_resource_cache.cc
@@ -369,8 +369,17 @@
   static const base::StringPiece guest_tab_html(
       ResourceBundle::GetSharedInstance().GetRawDataResource(guest_tab_ids));
 
+#if defined(OS_CHROMEOS)
+  // TODO(dbeam): convert c/b/resources/chromeos/guest_session_tab.html from
+  // i18n-* to $i18n{}.
   std::string full_html = webui::GetI18nTemplateHtml(
       guest_tab_html, &localized_strings);
+#else
+  ui::TemplateReplacements replacements;
+  ui::TemplateReplacementsFromDictionaryValue(localized_strings, &replacements);
+  std::string full_html =
+      ui::ReplaceTemplateExpressions(guest_tab_html, replacements);
+#endif
 
   new_tab_guest_html_ = base::RefCountedString::TakeString(&full_html);
 }
diff --git a/chrome/browser/ui/webui/prefs_internals_source.cc b/chrome/browser/ui/webui/prefs_internals_source.cc
index a8606d0..9d30d11 100644
--- a/chrome/browser/ui/webui/prefs_internals_source.cc
+++ b/chrome/browser/ui/webui/prefs_internals_source.cc
@@ -34,7 +34,7 @@
   DCHECK_CURRENTLY_ON(content::BrowserThread::UI);
   std::string json;
   std::unique_ptr<base::DictionaryValue> prefs =
-      profile_->GetPrefs()->GetPreferenceValues();
+      profile_->GetPrefs()->GetPreferenceValues(PrefService::INCLUDE_DEFAULTS);
   DCHECK(prefs);
   CHECK(base::JSONWriter::WriteWithOptions(
       *prefs, base::JSONWriter::OPTIONS_PRETTY_PRINT, &json));
diff --git a/chrome/browser/ui/webui/translate_internals/translate_internals_handler.cc b/chrome/browser/ui/webui/translate_internals/translate_internals_handler.cc
index f95427c..d2f80d1 100644
--- a/chrome/browser/ui/webui/translate_internals/translate_internals_handler.cc
+++ b/chrome/browser/ui/webui/translate_internals/translate_internals_handler.cc
@@ -22,9 +22,9 @@
 #include "components/translate/core/browser/translate_download_manager.h"
 #include "components/translate/core/browser/translate_error_details.h"
 #include "components/translate/core/browser/translate_event_details.h"
+#include "components/translate/core/browser/translate_pref_names.h"
 #include "components/translate/core/browser/translate_prefs.h"
 #include "components/translate/core/common/language_detection_details.h"
-#include "components/translate/core/common/translate_pref_names.h"
 #include "components/variations/service/variations_service.h"
 #include "content/public/browser/notification_details.h"
 #include "content/public/browser/notification_service.h"
@@ -225,17 +225,13 @@
       translate::TranslateDownloadManager::GetSupportedLanguagesLastUpdated();
 
   auto languages_list = base::MakeUnique<base::ListValue>();
-  auto alpha_languages_list = base::MakeUnique<base::ListValue>();
   for (std::vector<std::string>::iterator it = languages.begin();
        it != languages.end(); ++it) {
     const std::string& lang = *it;
     languages_list->AppendString(lang);
-    if (translate::TranslateDownloadManager::IsAlphaLanguage(lang))
-      alpha_languages_list->AppendString(lang);
   }
 
   dict.Set("languages", std::move(languages_list));
-  dict.Set("alpha_languages", std::move(alpha_languages_list));
   dict.SetDouble("last_updated", last_updated.ToJsTime());
   SendMessageToJs("supportedLanguagesUpdated", dict);
 }
diff --git a/chrome/common/chrome_switches.cc b/chrome/common/chrome_switches.cc
index 3bf58d9..3981bb5e 100644
--- a/chrome/common/chrome_switches.cc
+++ b/chrome/common/chrome_switches.cc
@@ -1146,6 +1146,16 @@
 extern const char kEnableInputImeAPI[] = "enable-input-ime-api";
 #endif
 
+#if defined(OS_CHROMEOS) || defined(OS_LINUX) || defined(OS_MACOSX) || \
+    defined(OS_WIN)
+extern const char kAppMenuIcon[] = "app-menu-icon";
+extern const char kAppMenuIconOldBehavior[] = "old-behavior";
+extern const char kAppMenuIconPersistentOpenedState[] =
+    "persistent-opened-state";
+extern const char kAppMenuIconPersistentClosedState[] =
+    "persistent-closed-state";
+#endif
+
 bool ExtensionsDisabled(const base::CommandLine& command_line) {
   return command_line.HasSwitch(switches::kDisableExtensions) ||
          command_line.HasSwitch(switches::kDisableExtensionsExcept);
diff --git a/chrome/common/chrome_switches.h b/chrome/common/chrome_switches.h
index 4f08189a..45b40b78 100644
--- a/chrome/common/chrome_switches.h
+++ b/chrome/common/chrome_switches.h
@@ -356,6 +356,14 @@
 extern const char kEnableInputImeAPI[];
 #endif
 
+#if defined(OS_CHROMEOS) || defined(OS_LINUX) || defined(OS_MACOSX) || \
+    defined(OS_WIN)
+extern const char kAppMenuIcon[];
+extern const char kAppMenuIconOldBehavior[];
+extern const char kAppMenuIconPersistentOpenedState[];
+extern const char kAppMenuIconPersistentClosedState[];
+#endif
+
 bool ExtensionsDisabled(const base::CommandLine& command_line);
 bool MdFeedbackEnabled();
 bool MdPolicyPageEnabled();
diff --git a/chrome/common/extensions/api/_api_features.json b/chrome/common/extensions/api/_api_features.json
index 7df3a10..ddbfe97 100644
--- a/chrome/common/extensions/api/_api_features.json
+++ b/chrome/common/extensions/api/_api_features.json
@@ -46,42 +46,6 @@
     // Any webpage can use the app API.
     "matches": ["<all_urls>"]
   },
-  "app.getDetails": {
-    "contexts": [
-      "blessed_extension",
-      "unblessed_extension",
-      "content_script",
-      "blessed_web_page",
-      "web_page"
-    ]
-  },
-  "app.getIsInstalled": {
-    "contexts": [
-      "blessed_extension",
-      "unblessed_extension",
-      "content_script",
-      "blessed_web_page",
-      "web_page"
-    ]
-  },
-  "app.installState": {
-    "contexts": [
-      "blessed_extension",
-      "unblessed_extension",
-      "content_script",
-      "blessed_web_page",
-      "web_page"
-    ]
-  },
-  "app.runningState": {
-    "contexts": [
-      "blessed_extension",
-      "unblessed_extension",
-      "content_script",
-      "blessed_web_page",
-      "web_page"
-    ]
-  },
   "appviewTag": {
     "internal": true,
     "dependencies": ["permission:appview"],
diff --git a/chrome/common/extensions/permissions/permissions_data_unittest.cc b/chrome/common/extensions/permissions/permissions_data_unittest.cc
index c86741d..5147af4 100644
--- a/chrome/common/extensions/permissions/permissions_data_unittest.cc
+++ b/chrome/common/extensions/permissions/permissions_data_unittest.cc
@@ -15,7 +15,6 @@
 #include "chrome/common/extensions/extension_test_util.h"
 #include "components/crx_file/id_util.h"
 #include "content/public/common/socket_permission_request.h"
-#include "extensions/common/constants.h"
 #include "extensions/common/error_utils.h"
 #include "extensions/common/extension.h"
 #include "extensions/common/extension_builder.h"
@@ -225,13 +224,11 @@
   extension->permissions_data()->UpdateTabSpecificPermissions(
       1, PermissionSet(APIPermissionSet(), ManifestPermissionSet(), new_hosts,
                        URLPatternSet()));
-  EXPECT_TRUE(
-      extension->permissions_data()->GetEffectiveHostPermissions().MatchesURL(
-          tab_url));
+  EXPECT_TRUE(extension->permissions_data()->GetEffectiveHostPermissions().
+      MatchesURL(tab_url));
   extension->permissions_data()->ClearTabSpecificPermissions(1);
-  EXPECT_FALSE(
-      extension->permissions_data()->GetEffectiveHostPermissions().MatchesURL(
-          tab_url));
+  EXPECT_FALSE(extension->permissions_data()->GetEffectiveHostPermissions().
+      MatchesURL(tab_url));
 }
 
 TEST(PermissionsDataTest, SocketPermissions) {
@@ -239,8 +236,8 @@
   std::string error;
 
   extension = LoadManifest("socket_permissions", "empty.json");
-  EXPECT_FALSE(CheckSocketPermission(
-      extension, SocketPermissionRequest::TCP_CONNECT, "www.example.com", 80));
+  EXPECT_FALSE(CheckSocketPermission(extension,
+      SocketPermissionRequest::TCP_CONNECT, "www.example.com", 80));
 
   extension = LoadManifestUnchecked("socket_permissions",
                                     "socket1.json",
@@ -254,18 +251,19 @@
   EXPECT_EQ(expected_error_msg_header, error);
 
   extension = LoadManifest("socket_permissions", "socket2.json");
-  EXPECT_TRUE(CheckSocketPermission(
-      extension, SocketPermissionRequest::TCP_CONNECT, "www.example.com", 80));
+  EXPECT_TRUE(CheckSocketPermission(extension,
+      SocketPermissionRequest::TCP_CONNECT, "www.example.com", 80));
   EXPECT_FALSE(CheckSocketPermission(
-      extension, SocketPermissionRequest::UDP_BIND, "", 80));
+        extension, SocketPermissionRequest::UDP_BIND, "", 80));
   EXPECT_TRUE(CheckSocketPermission(
-      extension, SocketPermissionRequest::UDP_BIND, "", 8888));
+        extension, SocketPermissionRequest::UDP_BIND, "", 8888));
 
   EXPECT_FALSE(CheckSocketPermission(
-      extension, SocketPermissionRequest::UDP_SEND_TO, "example.com", 1900));
-  EXPECT_TRUE(CheckSocketPermission(extension,
-                                    SocketPermissionRequest::UDP_SEND_TO,
-                                    "239.255.255.250", 1900));
+        extension, SocketPermissionRequest::UDP_SEND_TO, "example.com", 1900));
+  EXPECT_TRUE(CheckSocketPermission(
+        extension,
+        SocketPermissionRequest::UDP_SEND_TO,
+        "239.255.255.250", 1900));
 }
 
 TEST(PermissionsDataTest, IsRestrictedUrl) {
@@ -383,9 +381,6 @@
       : http_url("http://www.google.com"),
         http_url_with_path("http://www.google.com/index.html"),
         https_url("https://www.google.com"),
-        example_com("https://example.com"),
-        test_example_com("https://test.example.com"),
-        sample_example_com("https://sample.example.com"),
         file_url("file:///foo/bar"),
         favicon_url("chrome://favicon/http://www.google.com"),
         extension_url("chrome-extension://" +
@@ -396,9 +391,6 @@
     urls_.insert(http_url);
     urls_.insert(http_url_with_path);
     urls_.insert(https_url);
-    urls_.insert(example_com);
-    urls_.insert(test_example_com);
-    urls_.insert(sample_example_com);
     urls_.insert(file_url);
     urls_.insert(favicon_url);
     urls_.insert(extension_url);
@@ -484,9 +476,6 @@
   const GURL http_url;
   const GURL http_url_with_path;
   const GURL https_url;
-  const GURL example_com;
-  const GURL test_example_com;
-  const GURL sample_example_com;
   const GURL file_url;
 
   // We should allow host permission but not scripting permission for favicon
@@ -603,8 +592,8 @@
   scoped_refptr<Extension> extension;
 
   // Test <all_urls> for regular extensions.
-  extension =
-      LoadManifestStrict("script_and_capture", "extension_regular_all.json");
+  extension = LoadManifestStrict("script_and_capture",
+      "extension_regular_all.json");
   EXPECT_TRUE(Allowed(extension.get(), http_url));
   EXPECT_TRUE(Allowed(extension.get(), https_url));
   EXPECT_TRUE(CaptureOnly(extension.get(), file_url));
@@ -627,8 +616,8 @@
   EXPECT_TRUE(permissions_data->HasHostPermission(favicon_url));
 
   // Test * for scheme, which implies just the http/https schemes.
-  extension =
-      LoadManifestStrict("script_and_capture", "extension_wildcard.json");
+  extension = LoadManifestStrict("script_and_capture",
+      "extension_wildcard.json");
   EXPECT_TRUE(ScriptOnly(extension.get(), http_url));
   EXPECT_TRUE(ScriptOnly(extension.get(), https_url));
   EXPECT_TRUE(Blocked(extension.get(), settings_url));
@@ -656,21 +645,21 @@
 
   // Having chrome://favicon/* should not give you chrome://*
   extension = LoadManifestStrict("script_and_capture",
-                                 "extension_chrome_favicon_wildcard.json");
+      "extension_chrome_favicon_wildcard.json");
   EXPECT_TRUE(Blocked(extension.get(), settings_url));
   EXPECT_TRUE(ScriptOnly(extension.get(), favicon_url));
   EXPECT_TRUE(Blocked(extension.get(), about_url));
   EXPECT_TRUE(extension->permissions_data()->HasHostPermission(favicon_url));
 
   // Having http://favicon should not give you chrome://favicon
-  extension =
-      LoadManifestStrict("script_and_capture", "extension_http_favicon.json");
+  extension = LoadManifestStrict("script_and_capture",
+      "extension_http_favicon.json");
   EXPECT_TRUE(Blocked(extension.get(), settings_url));
   EXPECT_TRUE(Blocked(extension.get(), favicon_url));
 
   // Component extensions with <all_urls> should get everything.
   extension = LoadManifest("script_and_capture", "extension_component_all.json",
-                           Manifest::COMPONENT, Extension::NO_FLAGS);
+      Manifest::COMPONENT, Extension::NO_FLAGS);
   EXPECT_TRUE(Allowed(extension.get(), http_url));
   EXPECT_TRUE(Allowed(extension.get(), https_url));
   EXPECT_TRUE(Allowed(extension.get(), settings_url));
@@ -679,9 +668,9 @@
   EXPECT_TRUE(extension->permissions_data()->HasHostPermission(favicon_url));
 
   // Component extensions should only get access to what they ask for.
-  extension =
-      LoadManifest("script_and_capture", "extension_component_google.json",
-                   Manifest::COMPONENT, Extension::NO_FLAGS);
+  extension = LoadManifest("script_and_capture",
+      "extension_component_google.json", Manifest::COMPONENT,
+      Extension::NO_FLAGS);
   EXPECT_TRUE(ScriptOnly(extension.get(), http_url));
   EXPECT_TRUE(Blocked(extension.get(), https_url));
   EXPECT_TRUE(Blocked(extension.get(), file_url));
@@ -843,164 +832,4 @@
   }
 }
 
-TEST_F(ExtensionScriptAndCaptureVisibleTest, PolicyHostRestrictionsSwap) {
-  // Makes sure when an extension gets an individual policy for host
-  // restrictions it overrides the default policy. Also tests transitioning back
-  // to the default policy when an individual policy is removed.
-  URLPattern example_com_pattern =
-      URLPattern(URLPattern::SCHEME_ALL, "*://*.example.com/*");
-  URLPattern test_example_com_pattern =
-      URLPattern(URLPattern::SCHEME_ALL, "*://test.example.com/*");
-  URLPatternSet default_blocked;
-  URLPatternSet default_allowed;
-  default_blocked.AddPattern(example_com_pattern);
-  default_allowed.AddPattern(test_example_com_pattern);
-
-  // Test <all_urls> for regular extensions.
-  scoped_refptr<Extension> extension =
-      LoadManifestStrict("script_and_capture", "extension_regular_all.json");
-  extension->permissions_data()->SetDefaultPolicyHostRestrictions(
-      default_blocked, default_allowed);
-
-  // The default policy applies to all extensions at this point. The extension
-  // should be able to access test.example.com but be blocked from
-  // accessing any other subdomains of example.com or example.com itself.
-  EXPECT_TRUE(CaptureOnly(extension.get(), example_com));
-  EXPECT_TRUE(CaptureOnly(extension.get(), sample_example_com));
-  EXPECT_TRUE(Allowed(extension.get(), test_example_com));
-
-  URLPatternSet blocked;
-  blocked.AddPattern(test_example_com_pattern);
-  URLPatternSet allowed;
-  extension->permissions_data()->SetPolicyHostRestrictions(blocked, allowed);
-
-  // We've applied an individual policy which overrides the default policy.
-  // The only URL that should be blocked is test.example.com.
-  EXPECT_TRUE(Allowed(extension.get(), example_com));
-  EXPECT_TRUE(Allowed(extension.get(), sample_example_com));
-  EXPECT_TRUE(CaptureOnly(extension.get(), test_example_com));
-
-  blocked.AddPattern(example_com_pattern);
-  allowed.AddPattern(test_example_com_pattern);
-  extension->permissions_data()->SetPolicyHostRestrictions(blocked, allowed);
-
-  // Adding example.com and all its subdomains to the blocked list and
-  // test.example.com to the whitelist. This is still the individual policy
-  // Since the whitelist overrides a blacklist we expect to allow access to
-  // test.example.com but block access to all other example.com subdomains
-  // (sample.example.com) and example.com itself.
-  EXPECT_TRUE(CaptureOnly(extension.get(), example_com));
-  EXPECT_TRUE(CaptureOnly(extension.get(), sample_example_com));
-  EXPECT_TRUE(Allowed(extension.get(), test_example_com));
-
-  blocked.ClearPatterns();
-  allowed.ClearPatterns();
-  extension->permissions_data()->SetPolicyHostRestrictions(blocked, allowed);
-
-  // Cleared all URLs from the individual policy, so all URLs should have
-  // access. We want to make sure that a block at the default level doesn't
-  // apply since we're still definining an individual policy.
-  EXPECT_TRUE(Allowed(extension.get(), example_com));
-  EXPECT_TRUE(Allowed(extension.get(), sample_example_com));
-  EXPECT_TRUE(Allowed(extension.get(), test_example_com));
-
-  // Flip back to using default policy for this extension.
-  extension->permissions_data()->SetUsesDefaultHostRestrictions();
-
-  // Make sure the default policy has the same effect as before we defined an
-  // individual policy. Access to test.example.com should be allowed, but all
-  // other subdomains and example.com itself should be blocked.
-  EXPECT_TRUE(CaptureOnly(extension.get(), example_com));
-  EXPECT_TRUE(CaptureOnly(extension.get(), sample_example_com));
-  EXPECT_TRUE(Allowed(extension.get(), test_example_com));
-}
-
-TEST_F(ExtensionScriptAndCaptureVisibleTest, PolicyHostRestrictions) {
-  // Test that host restrictions applied by policy take effect on normal URLs,
-  // iframe urls, different schemes, and components.
-  URLPatternSet default_blocked;
-  URLPatternSet default_allowed;
-  default_blocked.AddPattern(
-      URLPattern(URLPattern::SCHEME_ALL, "https://*.example.com/*"));
-  default_allowed.AddPattern(
-      URLPattern(URLPattern::SCHEME_ALL, "https://test.example.com/*"));
-
-  // In all of these tests, test.example.com should have scripting allowed, with
-  // all other subdomains and example.com itself blocked.
-
-  // Test <all_urls> for regular extensions.
-  scoped_refptr<Extension> extension =
-      LoadManifestStrict("script_and_capture", "extension_regular_all.json");
-  extension->permissions_data()->SetDefaultPolicyHostRestrictions(
-      default_blocked, default_allowed);
-
-  EXPECT_TRUE(Allowed(extension.get(), http_url));
-  EXPECT_TRUE(Allowed(extension.get(), https_url));
-  EXPECT_TRUE(CaptureOnly(extension.get(), example_com));
-  EXPECT_TRUE(Allowed(extension.get(), test_example_com));
-  EXPECT_TRUE(CaptureOnly(extension.get(), sample_example_com));
-  EXPECT_TRUE(CaptureOnly(extension.get(), file_url));
-  EXPECT_TRUE(CaptureOnly(extension.get(), settings_url));
-  EXPECT_TRUE(CaptureOnly(extension.get(), favicon_url));
-  EXPECT_TRUE(CaptureOnly(extension.get(), about_url));
-  EXPECT_TRUE(CaptureOnly(extension.get(), extension_url));
-
-  // Test access to iframed content.
-  GURL within_extension_url = extension->GetResourceURL("page.html");
-  EXPECT_TRUE(AllowedScript(extension.get(), http_url));
-  EXPECT_TRUE(AllowedScript(extension.get(), http_url_with_path));
-  EXPECT_TRUE(BlockedScript(extension.get(), example_com));
-  EXPECT_TRUE(AllowedScript(extension.get(), test_example_com));
-  EXPECT_TRUE(BlockedScript(extension.get(), sample_example_com));
-  EXPECT_TRUE(AllowedScript(extension.get(), https_url));
-  EXPECT_TRUE(BlockedScript(extension.get(), within_extension_url));
-  EXPECT_TRUE(BlockedScript(extension.get(), extension_url));
-
-  // Supress host permission for example.com since its on the blocklist
-  EXPECT_FALSE(extension->permissions_data()->HasHostPermission(example_com));
-  // Allow host permission for test.example.com since its on the whitelist and
-  // blacklist. The whitelist overrides the blacklist.
-  EXPECT_TRUE(
-      extension->permissions_data()->HasHostPermission(test_example_com));
-  EXPECT_FALSE(extension->permissions_data()->HasHostPermission(settings_url));
-  EXPECT_FALSE(extension->permissions_data()->HasHostPermission(about_url));
-  EXPECT_TRUE(extension->permissions_data()->HasHostPermission(favicon_url));
-
-  // Test * for scheme, which implies just the http/https schemes.
-  extension =
-      LoadManifestStrict("script_and_capture", "extension_wildcard.json");
-  extension->permissions_data()->SetDefaultPolicyHostRestrictions(
-      default_blocked, default_allowed);
-  EXPECT_TRUE(ScriptOnly(extension.get(), http_url));
-  EXPECT_TRUE(Blocked(extension.get(), example_com));
-  EXPECT_TRUE(ScriptOnly(extension.get(), test_example_com));
-  EXPECT_TRUE(Blocked(extension.get(), sample_example_com));
-  EXPECT_TRUE(ScriptOnly(extension.get(), https_url));
-  EXPECT_TRUE(Blocked(extension.get(), settings_url));
-  EXPECT_TRUE(Blocked(extension.get(), about_url));
-  EXPECT_TRUE(Blocked(extension.get(), file_url));
-  EXPECT_TRUE(Blocked(extension.get(), favicon_url));
-  extension =
-      LoadManifest("script_and_capture", "extension_wildcard_settings.json");
-  extension->permissions_data()->SetDefaultPolicyHostRestrictions(
-      default_blocked, default_allowed);
-  EXPECT_TRUE(Blocked(extension.get(), settings_url));
-
-  // Component extensions with <all_urls> should get everything regardless of
-  // policy.
-  extension = LoadManifest("script_and_capture", "extension_component_all.json",
-                           Manifest::COMPONENT, Extension::NO_FLAGS);
-  extension->permissions_data()->SetDefaultPolicyHostRestrictions(
-      default_blocked, default_allowed);
-  EXPECT_TRUE(Allowed(extension.get(), http_url));
-  EXPECT_TRUE(Allowed(extension.get(), https_url));
-  EXPECT_TRUE(Allowed(extension.get(), example_com));
-  EXPECT_TRUE(Allowed(extension.get(), test_example_com));
-  EXPECT_TRUE(Allowed(extension.get(), sample_example_com));
-  EXPECT_TRUE(Allowed(extension.get(), settings_url));
-  EXPECT_TRUE(Allowed(extension.get(), about_url));
-  EXPECT_TRUE(Allowed(extension.get(), favicon_url));
-  EXPECT_TRUE(extension->permissions_data()->HasHostPermission(favicon_url));
-}
-
 }  // namespace extensions
diff --git a/chrome/common/media/media_resource_provider.cc b/chrome/common/media/media_resource_provider.cc
index 61bd6be9..de872e1 100644
--- a/chrome/common/media/media_resource_provider.cc
+++ b/chrome/common/media/media_resource_provider.cc
@@ -24,12 +24,6 @@
     case media::BEAMFORMING_OFF_DEFAULT_AUDIO_INPUT_DEVICE_NAME:
       return IDS_BEAMFORMING_OFF_DEFAULT_AUDIO_INPUT_DEVICE_NAME;
 #endif
-#if BUILDFLAG(ENABLE_MEDIA_REMOTING)
-    case media::MEDIA_REMOTING_CAST_ERROR_TEXT:
-      return IDS_MEDIA_REMOTING_CAST_ERROR_TEXT;
-    case media::MEDIA_REMOTING_CASTING_VIDEO_TEXT:
-      return IDS_MEDIA_REMOTING_CASTING_VIDEO_TEXT;
-#endif
     default:
       NOTREACHED();
       return 0;
diff --git a/chrome/installer/setup/install_worker.cc b/chrome/installer/setup/install_worker.cc
index 840baf2..0eeac1b2 100644
--- a/chrome/installer/setup/install_worker.cc
+++ b/chrome/installer/setup/install_worker.cc
@@ -262,20 +262,6 @@
       check_for_duplicates ? WorkItem::CHECK_DUPLICATES :
                              WorkItem::ALWAYS_MOVE);
 
-  // Notify the shell of renaming the folder. This is for fixing an issue that
-  // the temp folder (e.g., "\Temp\source30163_39131\Chrome-bin\...") shows up
-  // in the callstack backtrace. (https://crbug.com/710698)
-  install_list->AddCallbackWorkItem(base::Bind(
-      [](const base::FilePath& src, const base::FilePath& target,
-         const CallbackWorkItem& work_item) {
-        if (!work_item.IsRollback()) {
-          SHChangeNotify(SHCNE_RENAMEFOLDER, SHCNF_PATH | SHCNF_FLUSHNOWAIT,
-                         src.value().c_str(), target.value().c_str());
-        }
-        return true;
-      },
-      src_path, target_path));
-
   // Delete any old_chrome.exe if present (ignore failure if it's in use).
   install_list
       ->AddDeleteTreeWorkItem(target_path.Append(installer::kChromeOldExe),
diff --git a/chrome/test/BUILD.gn b/chrome/test/BUILD.gn
index 39c74a6..58b2e22 100644
--- a/chrome/test/BUILD.gn
+++ b/chrome/test/BUILD.gn
@@ -2083,8 +2083,6 @@
         "../browser/extensions/extension_browsertest.h",
         "../browser/extensions/extension_function_test_utils.cc",
         "../browser/extensions/extension_function_test_utils.h",
-        "../browser/extensions/extension_with_management_policy_apitest.cc",
-        "../browser/extensions/extension_with_management_policy_apitest.h",
         "../browser/extensions/updater/extension_cache_fake.cc",
         "../browser/extensions/updater/extension_cache_fake.h",
         "../browser/safe_browsing/settings_reset_prompt/settings_reset_prompt_model_browsertest_win.cc",
diff --git a/chrome/test/android/javatests/src/org/chromium/chrome/test/ChromeInstrumentationTestRunner.java b/chrome/test/android/javatests/src/org/chromium/chrome/test/ChromeInstrumentationTestRunner.java
index 8303e01..349ef34 100644
--- a/chrome/test/android/javatests/src/org/chromium/chrome/test/ChromeInstrumentationTestRunner.java
+++ b/chrome/test/android/javatests/src/org/chromium/chrome/test/ChromeInstrumentationTestRunner.java
@@ -13,6 +13,7 @@
 import com.google.android.gms.common.GoogleApiAvailability;
 
 import org.chromium.base.ThreadUtils;
+import org.chromium.base.test.BaseChromiumInstrumentationTestRunner;
 import org.chromium.base.test.BaseTestResult;
 import org.chromium.base.test.util.DisableIfSkipCheck;
 import org.chromium.base.test.util.RestrictionSkipCheck;
@@ -21,7 +22,7 @@
 import org.chromium.chrome.browser.vr_shell.VrDaydreamApi;
 import org.chromium.chrome.test.util.ChromeDisableIf;
 import org.chromium.chrome.test.util.ChromeRestriction;
-import org.chromium.content.browser.test.ContentInstrumentationTestRunner;
+import org.chromium.content.browser.test.ChildProcessAllocatorSettingsHook;
 import org.chromium.policy.test.annotations.Policies;
 import org.chromium.ui.base.DeviceFormFactor;
 
@@ -36,9 +37,7 @@
  *  An Instrumentation test runner that optionally spawns a test HTTP server.
  *  The server's root directory is the device's external storage directory.
  */
-public class ChromeInstrumentationTestRunner extends ContentInstrumentationTestRunner {
-    private static final String TAG = "ChromeInstrumentationTestRunner";
-
+public class ChromeInstrumentationTestRunner extends BaseChromiumInstrumentationTestRunner {
     @Override
     public void onCreate(Bundle arguments) {
         super.onCreate(arguments);
@@ -51,6 +50,7 @@
         result.addSkipCheck(new ChromeDisableIfSkipCheck(getTargetContext()));
 
         result.addPreTestHook(Policies.getRegistrationHook());
+        result.addPreTestHook(new ChildProcessAllocatorSettingsHook());
     }
 
     static class ChromeRestrictionSkipCheck extends RestrictionSkipCheck {
diff --git a/chrome/test/base/mojo_test_connector.cc b/chrome/test/base/mojo_test_connector.cc
index 72a35d68e..cac5b9eb 100644
--- a/chrome/test/base/mojo_test_connector.cc
+++ b/chrome/test/base/mojo_test_connector.cc
@@ -188,8 +188,8 @@
     std::unique_ptr<base::Value> catalog_contents)
     : service_process_launcher_delegate_(
           new ServiceProcessLauncherDelegateImpl),
-      background_service_manager_(service_process_launcher_delegate_.get(),
-                                  std::move(catalog_contents)) {}
+      background_service_manager_(nullptr),
+      catalog_contents_(std::move(catalog_contents)) {}
 
 service_manager::mojom::ServiceRequest MojoTestConnector::Init() {
   // In single-process test mode, browser code will initialize the EDK and IPC.
@@ -207,7 +207,15 @@
 
   service_manager::mojom::ServicePtr service;
   service_manager::mojom::ServiceRequest request(&service);
-  background_service_manager_.RegisterService(
+
+  // BackgroundServiceManager must be created after mojo::edk::Init() as it
+  // attempts to create mojo pipes for the provided catalog on a separate
+  // thread.
+  background_service_manager_ =
+      base::MakeUnique<service_manager::BackgroundServiceManager>(
+          service_process_launcher_delegate_.get(),
+          std::move(catalog_contents_));
+  background_service_manager_->RegisterService(
       service_manager::Identity(kTestRunnerName,
                                 service_manager::mojom::kRootUserID),
       std::move(service), nullptr);
@@ -220,7 +228,7 @@
     base::CommandLine* command_line,
     base::TestLauncher::LaunchOptions* test_launch_options) {
   auto test_state =
-      base::MakeUnique<MojoTestState>(&background_service_manager_);
+      base::MakeUnique<MojoTestState>(background_service_manager_.get());
   test_state->Init(command_line, test_launch_options);
   return test_state;
 }
diff --git a/chrome/test/base/mojo_test_connector.h b/chrome/test/base/mojo_test_connector.h
index cd7839c3..abaf89c 100644
--- a/chrome/test/base/mojo_test_connector.h
+++ b/chrome/test/base/mojo_test_connector.h
@@ -57,11 +57,14 @@
 
   std::unique_ptr<ServiceProcessLauncherDelegateImpl>
       service_process_launcher_delegate_;
-  service_manager::BackgroundServiceManager background_service_manager_;
+  std::unique_ptr<service_manager::BackgroundServiceManager>
+      background_service_manager_;
 
   std::unique_ptr<base::Thread> ipc_thread_;
   std::unique_ptr<mojo::edk::ScopedIPCSupport> ipc_support_;
 
+  std::unique_ptr<base::Value> catalog_contents_;
+
   DISALLOW_COPY_AND_ASSIGN(MojoTestConnector);
 };
 
diff --git a/chrome/test/base/v8_unit_test.cc b/chrome/test/base/v8_unit_test.cc
index bb210342..55aefc43 100644
--- a/chrome/test/base/v8_unit_test.cc
+++ b/chrome/test/base/v8_unit_test.cc
@@ -182,6 +182,8 @@
   send_function->RemovePrototype();
   chrome->Set(v8::String::NewFromUtf8(isolate, "send"), send_function);
 
+  context_.Reset(isolate, v8::Context::New(isolate, NULL, global));
+
   // Set up console object for console.log(), etc.
   v8::Local<v8::ObjectTemplate> console = v8::ObjectTemplate::New(isolate);
   global->Set(v8::String::NewFromUtf8(isolate, "console"), console);
@@ -192,8 +194,14 @@
       v8::FunctionTemplate::New(isolate, &V8UnitTest::Error);
   error_function->RemovePrototype();
   console->Set(v8::String::NewFromUtf8(isolate, "error"), error_function);
-
-  context_.Reset(isolate, v8::Context::New(isolate, NULL, global));
+  {
+    v8::Local<v8::Context> context = context_.Get(isolate);
+    v8::Context::Scope context_scope(context);
+    context->Global()
+        ->Set(context, v8::String::NewFromUtf8(isolate, "console"),
+              console->NewInstance(context).ToLocalChecked())
+        .ToChecked();
+  }
 
   loop_ = base::MakeUnique<base::MessageLoop>();
 }
diff --git a/chrome/test/data/extensions/api_test/content_scripts/policy/background.js b/chrome/test/data/extensions/api_test/content_scripts/policy/background.js
deleted file mode 100644
index 7376923..0000000
--- a/chrome/test/data/extensions/api_test/content_scripts/policy/background.js
+++ /dev/null
@@ -1,53 +0,0 @@
-// 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.
-
-var pass = chrome.test.callbackPass;
-var callbackFail = chrome.test.callbackFail;
-var listenForever = chrome.test.listenForever;
-
-var port;
-
-function testUrl(domain) {
-  return 'http://' + domain + ':' + port +
-      '/extensions/test_file.html';
-}
-
-function error(domain) {
-  return 'Cannot access contents of url "' + testUrl(domain) + '".' +
-    ' Extension manifest must request permission to access this host.';
-}
-
-// Creates a new tab, navigated to the specified |domain|.
-function createTestTab(domain, callback) {
-  var createdTabId = -1;
-  var done = listenForever(
-      chrome.tabs.onUpdated,
-      function(tabId, changeInfo, tab) {
-    if (tabId == createdTabId && changeInfo.status != 'loading') {
-      callback(tab);
-      done();
-    }
-  });
-
-  chrome.tabs.create({url: testUrl(domain)}, pass(function(tab) {
-    createdTabId = tab.id;
-  }));
-}
-
-chrome.test.getConfig(function(config) {
-  port = config.testServer.port;
-  chrome.test.runTests([
-
-   // Make sure we can't inject a script into a policy blocked host.
-   function policyBlocksInjection() {
-    createTestTab('example.com', pass(function(tab) {
-        chrome.tabs.executeScript(
-            tab.id, {code: 'document.title = "success"'},
-            callbackFail(
-                'This page cannot be scripted due to ' +
-                'an ExtensionsSettings policy.'));
-        }));
-   },
-  ]);
-});
diff --git a/chrome/test/data/extensions/api_test/content_scripts/policy/manifest.json b/chrome/test/data/extensions/api_test/content_scripts/policy/manifest.json
deleted file mode 100644
index 48de7c0..0000000
--- a/chrome/test/data/extensions/api_test/content_scripts/policy/manifest.json
+++ /dev/null
@@ -1,7 +0,0 @@
-{
-  "name": "content_scripts/policy",
-  "version": "1",
-  "manifest_version": 2,
-  "permissions": ["tabs", "*://example.com/*"],
-  "background": { "scripts": ["background.js"] }
-}
diff --git a/chrome/test/data/extensions/api_test/native_bindings/platform_app/main.js b/chrome/test/data/extensions/api_test/native_bindings/platform_app/main.js
index 665fa63b4..f0f8d6d5 100644
--- a/chrome/test/data/extensions/api_test/native_bindings/platform_app/main.js
+++ b/chrome/test/data/extensions/api_test/native_bindings/platform_app/main.js
@@ -10,6 +10,7 @@
   },
   function testCurrentWindow() {
     var currentWindow = chrome.app.window.current();
+    chrome.test.assertTrue(currentWindow.contentWindow == window);
     // Current window is pretty funny and has a ton of custom JS bindings, also
     // utilizing an internal API (currentWindowInternal). Test a bunch of stuff.
     chrome.test.assertTrue(!!currentWindow, 'currentWindow');
diff --git a/chrome/test/data/extensions/api_test/native_bindings/platform_app/test.js b/chrome/test/data/extensions/api_test/native_bindings/platform_app/test.js
index 40a8908..a55c2887 100644
--- a/chrome/test/data/extensions/api_test/native_bindings/platform_app/test.js
+++ b/chrome/test/data/extensions/api_test/native_bindings/platform_app/test.js
@@ -2,6 +2,23 @@
 // Use of this source code is governed by a BSD-style license that can be
 // found in the LICENSE file.
 
+var appWindow;
+
 chrome.app.runtime.onLaunched.addListener(function() {
-  chrome.app.window.create('main.html', {}, function () {});
+  chrome.app.window.create('main.html', {}, function (win) {appWindow = win});
+});
+
+chrome.test.sendMessage('ready', function() {
+  try {
+    // The onClosed event is dispatched by a call to the internal
+    // onAppWindowClosed method in the app.window custom bindings. Getting this
+    // event signals that we can call into methods of custom bindings modules
+    // for APIs.
+    appWindow.onClosed.addListener(function() {
+      chrome.test.sendMessage('success');
+    });
+    appWindow.close();
+  } catch (e) {
+    chrome.test.sendMessage('failure: ' + e);
+  }
 });
diff --git a/chrome/test/data/policy/gpo/fuzzer.dict b/chrome/test/data/policy/gpo/fuzzer.dict
new file mode 100644
index 0000000..8f1be98
--- /dev/null
+++ b/chrome/test/data/policy/gpo/fuzzer.dict
@@ -0,0 +1,23 @@
+# Lines starting with '#' and empty lines are ignored.
+
+kPRegFileHeader = "PReg\x01\x00\x00\x00"
+kRegistryChromePolicyKey = "S\x00O\x00F\x00T\x00W\x00A\x00R\x00E\x00\\\x00P\x00o\x00l\x00i\x00c\x00i\x00e\x00s\x00\\\x00C\x00h\x00r\x00o\x00m\x00i\x00u\x00m\x00"
+
+kDelimBracketOpen = "[\x00"
+kDelimBracketClose = "]\x00"
+kDelimSemicolon = ";\x00"
+
+kRegistryPathSeparator = "\\\x00"
+
+kActionTriggerPrefix = "*\x00*\x00"
+kActionTriggerDeleteValues[] = "d\x00e\x00l\x00e\x00t\x00e\x00v\x00a\x00l\x00u\x00e\x00s\x00"
+kActionTriggerDel[] = "d\x00e\x00l\x00.\x00"
+kActionTriggerDelVals[] = "d\x00e\x00l\x00v\x00a\x00l\x00s\x00"
+kActionTriggerDeleteKeys[] = "d\x00e\x00l\x00e\x00t\x00e\x00k\x00e\x00y\x00s\x00"
+kActionTriggerSecureKey[] = "s\x00e\x00c\x00u\x00r\x00e\x00k\x00e\x00y\x00"
+kActionTriggerSoft[] = "s\x00o\x00f\x00t\x00"
+
+REG_SZ = "\x01"
+REG_DWORD_LITTLE_ENDIAN = "\x04"
+
+null = "\x00\x00"
diff --git a/chrome/test/data/policy/gpo/fuzzer_corpus/empty.pol b/chrome/test/data/policy/gpo/fuzzer_corpus/empty.pol
new file mode 100644
index 0000000..75e2a09
--- /dev/null
+++ b/chrome/test/data/policy/gpo/fuzzer_corpus/empty.pol
Binary files differ
diff --git a/chrome/test/data/policy/gpo/fuzzer_corpus/extension_alternative_spelling.pol b/chrome/test/data/policy/gpo/fuzzer_corpus/extension_alternative_spelling.pol
new file mode 100644
index 0000000..09c53fa5
--- /dev/null
+++ b/chrome/test/data/policy/gpo/fuzzer_corpus/extension_alternative_spelling.pol
Binary files differ
diff --git a/chrome/test/data/policy/gpo/fuzzer_corpus/registry.pol b/chrome/test/data/policy/gpo/fuzzer_corpus/registry.pol
new file mode 100644
index 0000000..04ed1ed
--- /dev/null
+++ b/chrome/test/data/policy/gpo/fuzzer_corpus/registry.pol
Binary files differ
diff --git a/chrome/test/data/policy/gpo/fuzzer_corpus/test1.pol b/chrome/test/data/policy/gpo/fuzzer_corpus/test1.pol
new file mode 100644
index 0000000..29b492b
--- /dev/null
+++ b/chrome/test/data/policy/gpo/fuzzer_corpus/test1.pol
Binary files differ
diff --git a/chrome/test/data/policy/gpo/fuzzer_corpus/test2.pol b/chrome/test/data/policy/gpo/fuzzer_corpus/test2.pol
new file mode 100644
index 0000000..bcc8839a
--- /dev/null
+++ b/chrome/test/data/policy/gpo/fuzzer_corpus/test2.pol
Binary files differ
diff --git a/chrome/test/data/policy/gpo/fuzzer_corpus/test3.pol b/chrome/test/data/policy/gpo/fuzzer_corpus/test3.pol
new file mode 100644
index 0000000..f2a4700
--- /dev/null
+++ b/chrome/test/data/policy/gpo/fuzzer_corpus/test3.pol
Binary files differ
diff --git a/chrome/test/data/policy/gpo/fuzzer_corpus/test4.pol b/chrome/test/data/policy/gpo/fuzzer_corpus/test4.pol
new file mode 100644
index 0000000..67ee47da0
--- /dev/null
+++ b/chrome/test/data/policy/gpo/fuzzer_corpus/test4.pol
Binary files differ
diff --git a/chrome/test/data/policy/gpo/fuzzer_corpus/test5.pol b/chrome/test/data/policy/gpo/fuzzer_corpus/test5.pol
new file mode 100644
index 0000000..adcc8541
--- /dev/null
+++ b/chrome/test/data/policy/gpo/fuzzer_corpus/test5.pol
Binary files differ
diff --git a/chrome/test/data/policy/gpo/fuzzer_corpus/test6.pol b/chrome/test/data/policy/gpo/fuzzer_corpus/test6.pol
new file mode 100644
index 0000000..2164d2d7
--- /dev/null
+++ b/chrome/test/data/policy/gpo/fuzzer_corpus/test6.pol
Binary files differ
diff --git a/chrome/test/data/webui/extensions/extension_shortcut_input_test.js b/chrome/test/data/webui/extensions/extension_shortcut_input_test.js
index e33f6b6..f16291d 100644
--- a/chrome/test/data/webui/extensions/extension_shortcut_input_test.js
+++ b/chrome/test/data/webui/extensions/extension_shortcut_input_test.js
@@ -24,8 +24,8 @@
 
       test(assert(TestNames.Basic), function() {
         var field = input.$['input'];
-        var fieldText = function() { return field.textContent.trim(); };
-        expectEquals('Not set', fieldText());
+        var fieldText = function() { return field.value; };
+        expectEquals('', fieldText());
         var isClearVisible = extension_test_util.isVisible.bind(
                                  null, input, '#clear', false);
         expectFalse(isClearVisible());
@@ -37,7 +37,7 @@
           MockInteractions.tap(field);
           startCaptureListener.verify();
         }
-        expectEquals('Type a shortcut', fieldText());
+        expectEquals('', fieldText());
         expectTrue(input.capturing_);
         expectFalse(isClearVisible());
 
diff --git a/chrome/test/data/webui/settings/internet_page_tests.js b/chrome/test/data/webui/settings/internet_page_tests.js
index b4c35d5..70edfae 100644
--- a/chrome/test/data/webui/settings/internet_page_tests.js
+++ b/chrome/test/data/webui/settings/internet_page_tests.js
@@ -31,7 +31,6 @@
       OncTypeVPN: 'OncTypeVPN',
       OncTypeWiFi: 'OncTypeWiFi',
       OncTypeWiMAX: 'OncTypeWiMAX',
-      networkDisabled: 'networkDisabled',
       networkListItemConnected: 'networkListItemConnected',
       networkListItemConnecting: 'networkListItemConnecting',
       networkListItemConnectingTo: 'networkListItemConnectingTo',
diff --git a/chrome/utility/chrome_content_utility_client.cc b/chrome/utility/chrome_content_utility_client.cc
index 34fa868..55bb073 100644
--- a/chrome/utility/chrome_content_utility_client.cc
+++ b/chrome/utility/chrome_content_utility_client.cc
@@ -19,13 +19,15 @@
 #include "components/safe_json/utility/safe_json_parser_mojo_impl.h"
 #include "content/public/common/content_switches.h"
 #include "content/public/common/service_info.h"
+#include "content/public/common/service_manager_connection.h"
+#include "content/public/common/simple_connection_filter.h"
 #include "content/public/utility/utility_thread.h"
 #include "courgette/courgette.h"
 #include "courgette/third_party/bsdiff/bsdiff.h"
 #include "extensions/features/features.h"
 #include "mojo/public/cpp/bindings/strong_binding.h"
 #include "printing/features/features.h"
-#include "services/service_manager/public/cpp/interface_registry.h"
+#include "services/service_manager/public/cpp/binder_registry.h"
 #include "third_party/zlib/google/zip.h"
 
 #if !defined(OS_ANDROID)
@@ -244,6 +246,53 @@
   base::CommandLine* command_line = base::CommandLine::ForCurrentProcess();
   if (command_line->HasSwitch(switches::kUtilityProcessRunningElevated))
     utility_process_running_elevated_ = true;
+
+  auto registry = base::MakeUnique<service_manager::BinderRegistry>();
+#if BUILDFLAG(ENABLE_EXTENSIONS)
+  extensions::ExtensionsHandler::ExposeInterfacesToBrowser(
+      registry.get(), utility_process_running_elevated_);
+  extensions::utility_handler::ExposeInterfacesToBrowser(
+      registry.get(), utility_process_running_elevated_);
+#endif
+  // If our process runs with elevated privileges, only add elevated Mojo
+  // interfaces to the interface registry.
+  if (!utility_process_running_elevated_) {
+    registry->AddInterface(base::Bind(&FilePatcherImpl::Create),
+                           base::ThreadTaskRunnerHandle::Get());
+#if !defined(OS_ANDROID)
+    registry->AddInterface<net::interfaces::ProxyResolverFactory>(
+        base::Bind(CreateProxyResolverFactory),
+        base::ThreadTaskRunnerHandle::Get());
+    registry->AddInterface(base::Bind(CreateResourceUsageReporter),
+                           base::ThreadTaskRunnerHandle::Get());
+    registry->AddInterface(base::Bind(&ProfileImportHandler::Create),
+                           base::ThreadTaskRunnerHandle::Get());
+    registry->AddInterface(
+        base::Bind(&media_router::DialDeviceDescriptionParserImpl::Create),
+        base::ThreadTaskRunnerHandle::Get());
+#endif  // !defined(OS_ANDROID)
+    registry->AddInterface(base::Bind(&payments::PaymentManifestParser::Create),
+                           base::ThreadTaskRunnerHandle::Get());
+    registry->AddInterface(
+        base::Bind(&safe_json::SafeJsonParserMojoImpl::Create),
+        base::ThreadTaskRunnerHandle::Get());
+#if defined(OS_WIN)
+    registry->AddInterface(base::Bind(&ShellHandlerImpl::Create),
+                           base::ThreadTaskRunnerHandle::Get());
+#endif
+#if defined(OS_CHROMEOS)
+    registry->AddInterface(base::Bind(&ZipFileCreatorImpl::Create),
+                           base::ThreadTaskRunnerHandle::Get());
+#endif
+#if defined(FULL_SAFE_BROWSING)
+    registry->AddInterface(base::Bind(&SafeArchiveAnalyzerImpl::Create),
+                           base::ThreadTaskRunnerHandle::Get());
+#endif
+  }
+  content::ChildThread::Get()
+      ->GetServiceManagerConnection()
+      ->AddConnectionFilter(base::MakeUnique<content::SimpleConnectionFilter>(
+          std::move(registry)));
 }
 
 bool ChromeContentUtilityClient::OnMessageReceived(
@@ -259,42 +308,6 @@
   return false;
 }
 
-void ChromeContentUtilityClient::ExposeInterfacesToBrowser(
-    service_manager::InterfaceRegistry* registry) {
-#if BUILDFLAG(ENABLE_EXTENSIONS)
-  extensions::ExtensionsHandler::ExposeInterfacesToBrowser(
-      registry, utility_process_running_elevated_);
-  extensions::utility_handler::ExposeInterfacesToBrowser(
-      registry, utility_process_running_elevated_);
-#endif
-  // If our process runs with elevated privileges, only add elevated Mojo
-  // interfaces to the interface registry.
-  if (utility_process_running_elevated_)
-    return;
-
-  registry->AddInterface(base::Bind(&FilePatcherImpl::Create));
-#if !defined(OS_ANDROID)
-  registry->AddInterface<net::interfaces::ProxyResolverFactory>(
-      base::Bind(CreateProxyResolverFactory));
-  registry->AddInterface(base::Bind(CreateResourceUsageReporter));
-  registry->AddInterface(base::Bind(&ProfileImportHandler::Create));
-  registry->AddInterface(
-      base::Bind(&media_router::DialDeviceDescriptionParserImpl::Create));
-#endif  // !defined(OS_ANDROID)
-  registry->AddInterface(base::Bind(&payments::PaymentManifestParser::Create));
-  registry->AddInterface(
-      base::Bind(&safe_json::SafeJsonParserMojoImpl::Create));
-#if defined(OS_WIN)
-  registry->AddInterface(base::Bind(&ShellHandlerImpl::Create));
-#endif
-#if defined(OS_CHROMEOS)
-  registry->AddInterface(base::Bind(&ZipFileCreatorImpl::Create));
-#endif
-#if defined(FULL_SAFE_BROWSING)
-  registry->AddInterface(base::Bind(&SafeArchiveAnalyzerImpl::Create));
-#endif
-}
-
 // static
 void ChromeContentUtilityClient::PreSandboxStartup() {
 #if BUILDFLAG(ENABLE_EXTENSIONS)
diff --git a/chrome/utility/chrome_content_utility_client.h b/chrome/utility/chrome_content_utility_client.h
index 49374cb..31a1ca66 100644
--- a/chrome/utility/chrome_content_utility_client.h
+++ b/chrome/utility/chrome_content_utility_client.h
@@ -21,8 +21,6 @@
   // content::ContentUtilityClient:
   void UtilityThreadStarted() override;
   bool OnMessageReceived(const IPC::Message& message) override;
-  void ExposeInterfacesToBrowser(
-      service_manager::InterfaceRegistry* registry) override;
 
   static void PreSandboxStartup();
 
diff --git a/chrome/utility/extensions/extensions_handler.cc b/chrome/utility/extensions/extensions_handler.cc
index b1567175..819d390c 100644
--- a/chrome/utility/extensions/extensions_handler.cc
+++ b/chrome/utility/extensions/extensions_handler.cc
@@ -20,7 +20,7 @@
 #include "content/public/utility/utility_thread.h"
 #include "media/base/media.h"
 #include "mojo/public/cpp/bindings/strong_binding.h"
-#include "services/service_manager/public/cpp/interface_registry.h"
+#include "services/service_manager/public/cpp/binder_registry.h"
 #include "ui/base/ui_base_switches.h"
 
 #if !defined(MEDIA_DISABLE_FFMPEG)
@@ -178,21 +178,25 @@
 
 // static
 void ExtensionsHandler::ExposeInterfacesToBrowser(
-    service_manager::InterfaceRegistry* registry,
+    service_manager::BinderRegistry* registry,
     bool running_elevated) {
   // If our process runs with elevated privileges, only add elevated Mojo
   // interfaces to the interface registry.
   if (running_elevated) {
 #if defined(OS_WIN)
-    registry->AddInterface(base::Bind(&RemovableStorageWriterImpl::Create));
-    registry->AddInterface(base::Bind(&WiFiCredentialsGetterImpl::Create));
+    registry->AddInterface(base::Bind(&RemovableStorageWriterImpl::Create),
+                           base::ThreadTaskRunnerHandle::Get());
+    registry->AddInterface(base::Bind(&WiFiCredentialsGetterImpl::Create),
+                           base::ThreadTaskRunnerHandle::Get());
 #endif
     return;
   }
 
-  registry->AddInterface(base::Bind(&MediaParserImpl::Create));
+  registry->AddInterface(base::Bind(&MediaParserImpl::Create),
+                         base::ThreadTaskRunnerHandle::Get());
 #if !defined(OS_WIN)
-  registry->AddInterface(base::Bind(&RemovableStorageWriterImpl::Create));
+  registry->AddInterface(base::Bind(&RemovableStorageWriterImpl::Create),
+                         base::ThreadTaskRunnerHandle::Get());
 #endif
 }
 
diff --git a/chrome/utility/extensions/extensions_handler.h b/chrome/utility/extensions/extensions_handler.h
index 9c3c6e0..6230fa8 100644
--- a/chrome/utility/extensions/extensions_handler.h
+++ b/chrome/utility/extensions/extensions_handler.h
@@ -20,7 +20,7 @@
 #endif
 
 namespace service_manager {
-class InterfaceRegistry;
+class BinderRegistry;
 }
 
 namespace extensions {
@@ -36,7 +36,7 @@
   static void PreSandboxStartup();
 
   static void ExposeInterfacesToBrowser(
-      service_manager::InterfaceRegistry* registry,
+      service_manager::BinderRegistry* registry,
       bool running_elevated);
 
   // UtilityMessageHandler:
diff --git a/chromecast/graphics/cast_focus_client_aura.cc b/chromecast/graphics/cast_focus_client_aura.cc
index 45e891d..49afd14 100644
--- a/chromecast/graphics/cast_focus_client_aura.cc
+++ b/chromecast/graphics/cast_focus_client_aura.cc
@@ -233,7 +233,7 @@
 
 void CastFocusClientAura::DeactivateWindow(aura::Window* window) {}
 
-aura::Window* CastFocusClientAura::GetActiveWindow() {
+const aura::Window* CastFocusClientAura::GetActiveWindow() const {
   return nullptr;
 }
 
diff --git a/chromecast/graphics/cast_focus_client_aura.h b/chromecast/graphics/cast_focus_client_aura.h
index f9d9796..72e00cf 100644
--- a/chromecast/graphics/cast_focus_client_aura.h
+++ b/chromecast/graphics/cast_focus_client_aura.h
@@ -40,7 +40,7 @@
       aura::client::ActivationChangeObserver* observer) override;
   void ActivateWindow(aura::Window* window) override;
   void DeactivateWindow(aura::Window* window) override;
-  aura::Window* GetActiveWindow() override;
+  const aura::Window* GetActiveWindow() const override;
   aura::Window* GetActivatableWindow(aura::Window* window) override;
   aura::Window* GetToplevelWindow(aura::Window* window) override;
   bool CanActivateWindow(aura::Window* window) const override;
diff --git a/chromeos/dbus/services/proxy_resolution_service_provider.cc b/chromeos/dbus/services/proxy_resolution_service_provider.cc
index 2400344..a5f6a78 100644
--- a/chromeos/dbus/services/proxy_resolution_service_provider.cc
+++ b/chromeos/dbus/services/proxy_resolution_service_provider.cc
@@ -85,8 +85,12 @@
 };
 
 ProxyResolutionServiceProvider::ProxyResolutionServiceProvider(
+    const std::string& dbus_interface,
+    const std::string& dbus_method_name,
     std::unique_ptr<Delegate> delegate)
-    : delegate_(std::move(delegate)),
+    : dbus_interface_(dbus_interface),
+      dbus_method_name_(dbus_method_name),
+      delegate_(std::move(delegate)),
       origin_thread_(base::ThreadTaskRunnerHandle::Get()),
       weak_ptr_factory_(this) {}
 
@@ -100,7 +104,7 @@
   exported_object_ = exported_object;
   VLOG(1) << "ProxyResolutionServiceProvider started";
   exported_object_->ExportMethod(
-      kLibCrosServiceInterface, kResolveNetworkProxy,
+      dbus_interface_, dbus_method_name_,
       base::Bind(&ProxyResolutionServiceProvider::ResolveProxy,
                  weak_ptr_factory_.GetWeakPtr()),
       base::Bind(&ProxyResolutionServiceProvider::OnExported,
diff --git a/chromeos/dbus/services/proxy_resolution_service_provider.h b/chromeos/dbus/services/proxy_resolution_service_provider.h
index cd89ce1..9c750d77 100644
--- a/chromeos/dbus/services/proxy_resolution_service_provider.h
+++ b/chromeos/dbus/services/proxy_resolution_service_provider.h
@@ -80,7 +80,9 @@
     virtual scoped_refptr<net::URLRequestContextGetter> GetRequestContext() = 0;
   };
 
-  explicit ProxyResolutionServiceProvider(std::unique_ptr<Delegate> delegate);
+  ProxyResolutionServiceProvider(const std::string& dbus_interface,
+                                 const std::string& dbus_method_name,
+                                 std::unique_ptr<Delegate> delegate);
   ~ProxyResolutionServiceProvider() override;
 
   // CrosDBusService::ServiceProviderInterface:
@@ -129,6 +131,8 @@
   // information to the client over D-Bus.
   void NotifyProxyResolved(std::unique_ptr<Request> request);
 
+  const std::string dbus_interface_;
+  const std::string dbus_method_name_;
   std::unique_ptr<Delegate> delegate_;
   scoped_refptr<dbus::ExportedObject> exported_object_;
   scoped_refptr<base::SingleThreadTaskRunner> origin_thread_;
diff --git a/chromeos/dbus/services/proxy_resolution_service_provider_unittest.cc b/chromeos/dbus/services/proxy_resolution_service_provider_unittest.cc
index ef2a0bcd..eadba7f 100644
--- a/chromeos/dbus/services/proxy_resolution_service_provider_unittest.cc
+++ b/chromeos/dbus/services/proxy_resolution_service_provider_unittest.cc
@@ -17,6 +17,7 @@
 #include "base/time/time.h"
 #include "chromeos/dbus/services/service_provider_test_helper.h"
 #include "dbus/message.h"
+#include "dbus/object_path.h"
 #include "net/base/net_errors.h"
 #include "net/proxy/mock_proxy_resolver.h"
 #include "net/proxy/proxy_config_service_fixed.h"
@@ -195,9 +196,13 @@
     proxy_resolver_ =
         base::MakeUnique<TestProxyResolver>(network_thread_.task_runner());
     service_provider_ = base::MakeUnique<ProxyResolutionServiceProvider>(
+        kNetworkProxyServiceInterface, kNetworkProxyServiceResolveProxyMethod,
         base::MakeUnique<TestDelegate>(network_thread_.task_runner(),
                                        proxy_resolver_.get()));
-    test_helper_.SetUp(kResolveNetworkProxy, service_provider_.get());
+    test_helper_.SetUp(
+        kNetworkProxyServiceName, dbus::ObjectPath(kNetworkProxyServicePath),
+        kNetworkProxyServiceInterface, kNetworkProxyServiceResolveProxyMethod,
+        service_provider_.get());
   }
 
   ~ProxyResolutionServiceProviderTest() override {
@@ -248,7 +253,7 @@
     EXPECT_TRUE(success);
   }
 
-  // Makes a D-Bus call to |service_provider_|'s ResolveNetworkProxy method. If
+  // Makes a D-Bus call to |service_provider_|'s ResolveProxy method. If
   // |request_signal| is true, requests that the proxy information be returned
   // via a signal; otherwise it should be included in the response.
   // |response_out| is updated to hold the response, and |signal_out| is updated
@@ -257,8 +262,8 @@
                   bool request_signal,
                   std::unique_ptr<dbus::Response>* response_out,
                   std::unique_ptr<SignalInfo>* signal_out) {
-    dbus::MethodCall method_call(kLibCrosServiceInterface,
-                                 kResolveNetworkProxy);
+    dbus::MethodCall method_call(kNetworkProxyServiceInterface,
+                                 kNetworkProxyServiceResolveProxyMethod);
     dbus::MessageWriter writer(&method_call);
     writer.AppendString(source_url);
     if (request_signal) {
@@ -266,8 +271,7 @@
       writer.AppendString(kReturnSignalName);
 
       // Connect to the signal that will be sent to kReturnSignalInterface and
-      // kReturnSignalName. ResolveNetworkProxy() will send the result as a
-      // signal. OnSignalReceived() will be called upon the delivery.
+      // kReturnSignalName.
       test_helper_.SetUpReturnSignal(
           kReturnSignalInterface, kReturnSignalName,
           base::Bind(&ProxyResolutionServiceProviderTest::OnSignalReceived,
diff --git a/chromeos/dbus/services/service_provider_test_helper.cc b/chromeos/dbus/services/service_provider_test_helper.cc
index 698fd39d..f463a65d 100644
--- a/chromeos/dbus/services/service_provider_test_helper.cc
+++ b/chromeos/dbus/services/service_provider_test_helper.cc
@@ -10,7 +10,7 @@
 #include "base/run_loop.h"
 #include "dbus/message.h"
 #include "dbus/mock_bus.h"
-#include "third_party/cros_system_api/dbus/service_constants.h"
+#include "dbus/object_path.h"
 
 using ::testing::_;
 using ::testing::AllOf;
@@ -31,6 +31,9 @@
 }
 
 void ServiceProviderTestHelper::SetUp(
+    const std::string& service_name,
+    const dbus::ObjectPath& service_path,
+    const std::string& interface_name,
     const std::string& exported_method_name,
     CrosDBusService::ServiceProviderInterface* service_provider) {
   // Create a mock bus.
@@ -41,36 +44,31 @@
   // ShutdownAndBlock() will be called in TearDown().
   EXPECT_CALL(*mock_bus_.get(), ShutdownAndBlock()).WillOnce(Return());
 
-  // Create a mock exported object that behaves as
-  // org.chromium.CrosDBusService.
+  // Create a mock exported object that behaves as the service.
   mock_exported_object_ =
-      new dbus::MockExportedObject(mock_bus_.get(),
-                                   dbus::ObjectPath(kLibCrosServicePath));
+      new dbus::MockExportedObject(mock_bus_.get(), service_path);
 
   // |mock_exported_object_|'s ExportMethod() will use
   // |MockExportedObject().
-  EXPECT_CALL(
-      *mock_exported_object_.get(),
-      ExportMethod(kLibCrosServiceInterface, exported_method_name, _, _))
+  EXPECT_CALL(*mock_exported_object_.get(),
+              ExportMethod(interface_name, exported_method_name, _, _))
       .WillOnce(Invoke(this, &ServiceProviderTestHelper::MockExportMethod));
 
   // Create a mock object proxy, with which we call a method of
   // |mock_exported_object_|.
   mock_object_proxy_ =
-      new dbus::MockObjectProxy(mock_bus_.get(),
-                                kLibCrosServiceName,
-                                dbus::ObjectPath(kLibCrosServicePath));
+      new dbus::MockObjectProxy(mock_bus_.get(), service_name, service_path);
   // |mock_object_proxy_|'s MockCallMethodAndBlock() will use
   // MockCallMethodAndBlock() to return responses.
   EXPECT_CALL(*mock_object_proxy_.get(),
               MockCallMethodAndBlock(
                   AllOf(ResultOf(std::mem_fun(&dbus::MethodCall::GetInterface),
-                                 kLibCrosServiceInterface),
+                                 interface_name),
                         ResultOf(std::mem_fun(&dbus::MethodCall::GetMember),
                                  exported_method_name)),
                   _))
       .WillOnce(
-           Invoke(this, &ServiceProviderTestHelper::MockCallMethodAndBlock));
+          Invoke(this, &ServiceProviderTestHelper::MockCallMethodAndBlock));
 
   service_provider->Start(mock_exported_object_.get());
 }
diff --git a/chromeos/dbus/services/service_provider_test_helper.h b/chromeos/dbus/services/service_provider_test_helper.h
index 69928f5..e6429cdc 100644
--- a/chromeos/dbus/services/service_provider_test_helper.h
+++ b/chromeos/dbus/services/service_provider_test_helper.h
@@ -18,6 +18,7 @@
 namespace dbus {
 
 class MockBus;
+class ObjectPath;
 
 }  // namespace dbus
 
@@ -40,7 +41,10 @@
   ~ServiceProviderTestHelper();
 
   // Sets up helper. Should be called before |CallMethod()|.
-  void SetUp(const std::string& exported_method_name,
+  void SetUp(const std::string& service_name,
+             const dbus::ObjectPath& service_path,
+             const std::string& interface_name,
+             const std::string& exported_method_name,
              CrosDBusService::ServiceProviderInterface* service_provider);
 
   // Setups return signal callback. It's optional and don't need to be called
diff --git a/components/autofill/core/browser/validation.cc b/components/autofill/core/browser/validation.cc
index e7237f7..e694431 100644
--- a/components/autofill/core/browser/validation.cc
+++ b/components/autofill/core/browser/validation.cc
@@ -125,6 +125,43 @@
   return false;
 }
 
+CreditCardCompletionStatus GetCompletionStatusForCard(
+    const CreditCard& card,
+    const std::string& app_locale) {
+  CreditCardCompletionStatus status = CREDIT_CARD_COMPLETE;
+  if (card.IsExpired(autofill::AutofillClock::Now()))
+    status |= CREDIT_CARD_EXPIRED;
+
+  if (card.number().empty())
+    status |= CREDIT_CARD_NO_NUMBER;
+
+  if (card.GetInfo(autofill::AutofillType(autofill::CREDIT_CARD_NAME_FULL),
+                   app_locale)
+          .empty()) {
+    status |= CREDIT_CARD_NO_CARDHOLDER;
+  }
+
+  return status;
+}
+
+base::string16 GetCompletionMessageForCard(CreditCardCompletionStatus status) {
+  switch (status) {
+    case CREDIT_CARD_COMPLETE:
+      return base::string16();
+    case CREDIT_CARD_EXPIRED:
+      return l10n_util::GetStringUTF16(
+          IDS_PAYMENTS_VALIDATION_INVALID_CREDIT_CARD_EXPIRED);
+    case CREDIT_CARD_NO_CARDHOLDER:
+      return l10n_util::GetStringUTF16(IDS_PAYMENTS_NAME_ON_CARD_REQUIRED);
+    case CREDIT_CARD_NO_NUMBER:
+      return l10n_util::GetStringUTF16(
+          IDS_PAYMENTS_CARD_NUMBER_INVALID_VALIDATION_MESSAGE);
+    default:
+      // Multiple things are missing
+      return l10n_util::GetStringUTF16(IDS_PAYMENTS_MORE_INFORMATION_REQUIRED);
+  }
+}
+
 bool IsValidEmailAddress(const base::string16& text) {
   // E-Mail pattern as defined by the WhatWG. (4.10.7.1.5 E-Mail state)
   const base::string16 kEmailPattern = base::ASCIIToUTF16(
diff --git a/components/autofill/core/browser/validation.h b/components/autofill/core/browser/validation.h
index 93a52e59..5905b84 100644
--- a/components/autofill/core/browser/validation.h
+++ b/components/autofill/core/browser/validation.h
@@ -15,10 +15,19 @@
 
 namespace autofill {
 
+class CreditCard;
+
 // Constants for the length of a CVC.
 static const size_t GENERAL_CVC_LENGTH = 3;
 static const size_t AMEX_CVC_LENGTH = 4;
 
+// Used to express the completion status of a credit card.
+typedef uint32_t CreditCardCompletionStatus;
+static const CreditCardCompletionStatus CREDIT_CARD_COMPLETE = 0;
+static const CreditCardCompletionStatus CREDIT_CARD_EXPIRED = 1 << 0;
+static const CreditCardCompletionStatus CREDIT_CARD_NO_CARDHOLDER = 1 << 1;
+static const CreditCardCompletionStatus CREDIT_CARD_NO_NUMBER = 1 << 2;
+
 // Returns true if |year| and |month| describe a date later than |now|.
 // |year| must have 4 digits.
 bool IsValidCreditCardExpirationDate(int year,
@@ -42,6 +51,18 @@
     const std::set<std::string>& supported_basic_card_networks,
     base::string16* error_message);
 
+// Returns the credit card's completion status. If equal to
+// CREDIT_CARD_COMPLETE, then the card is ready to be used for Payment Request.
+// TODO(crbug.com/709776): Check for billing address association.
+CreditCardCompletionStatus GetCompletionStatusForCard(
+    const CreditCard& credit_card,
+    const std::string& app_locale);
+
+// Return the message to be displayed to the user, indicating what's missing
+// to make the credit card complete for payment. If more than one thing is
+// missing, the message will be a generic "more information required".
+base::string16 GetCompletionMessageForCard(CreditCardCompletionStatus status);
+
 // Returns true if |text| looks like a valid e-mail address.
 bool IsValidEmailAddress(const base::string16& text);
 
diff --git a/components/chrome_cleaner/public/constants/BUILD.gn b/components/chrome_cleaner/public/constants/BUILD.gn
new file mode 100644
index 0000000..826ffa6c
--- /dev/null
+++ b/components/chrome_cleaner/public/constants/BUILD.gn
@@ -0,0 +1,10 @@
+# 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("constants") {
+  sources = [
+    "constants.cc",
+    "constants.h",
+  ]
+}
diff --git a/components/chrome_cleaner/public/constants/constants.cc b/components/chrome_cleaner/public/constants/constants.cc
new file mode 100644
index 0000000..6aae97e
--- /dev/null
+++ b/components/chrome_cleaner/public/constants/constants.cc
@@ -0,0 +1,41 @@
+// 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 "components/chrome_cleaner/public/constants/constants.h"
+
+namespace chrome_cleaner {
+
+// Command line switches.
+const char kChromeChannelSwitch[] = "chrome-channel";
+const char kChromeExePathSwitch[] = "chrome-exe-path";
+const char kChromeMojoPipeTokenSwitch[] = "chrome-mojo-pipe-token";
+const char kChromePromptSwitch[] = "chrome-prompt";
+const char kChromeSystemInstallSwitch[] = "chrome-system-install";
+const char kChromeVersionSwitch[] = "chrome-version";
+const char kEnableCrashReportingSwitch[] = "enable-crash-reporting";
+const char kExtendedSafeBrowsingEnabledSwitch[] =
+    "extended-safebrowsing-enabled";
+const char kSessionIdSwitch[] = "session-id";
+const char kUmaUserSwitch[] = "uma-user";
+
+// Registry paths and subkeys.
+const wchar_t kSoftwareRemovalToolRegistryKey[] =
+    L"Software\\Google\\Software Removal Tool";
+const wchar_t kCleanerSubKey[] = L"Cleaner";
+const wchar_t kScanTimesSubKey[] = L"ScanTimes";
+
+// Registry value names.
+const wchar_t kEndTimeValueName[] = L"EndTime";
+const wchar_t kEngineErrorCodeValueName[] = L"EngineErrorCode";
+const wchar_t kExitCodeValueName[] = L"ExitCode";
+// Note: the lowercase "s" in "Uws" can't be fixed due to compatibility with
+// older versions.
+const wchar_t kFoundUwsValueName[] = L"FoundUws";
+const wchar_t kLogsUploadResultValueName[] = L"LogsUploadResult";
+const wchar_t kMemoryUsedValueName[] = L"MemoryUsed";
+const wchar_t kStartTimeValueName[] = L"StartTime";
+const wchar_t kUploadResultsValueName[] = L"UploadResults";
+const wchar_t kVersionValueName[] = L"Version";
+
+}  // namespace chrome_cleaner
diff --git a/components/chrome_cleaner/public/constants/constants.h b/components/chrome_cleaner/public/constants/constants.h
new file mode 100644
index 0000000..03cd6ae
--- /dev/null
+++ b/components/chrome_cleaner/public/constants/constants.h
@@ -0,0 +1,90 @@
+// 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 COMPONENTS_CHROME_CLEANER_PUBLIC_CONSTANTS_CONSTANTS_H_
+#define COMPONENTS_CHROME_CLEANER_PUBLIC_CONSTANTS_CONSTANTS_H_
+
+// Constants shared by the Chromium and the Chrome Cleanaup tool repos.
+
+namespace chrome_cleaner {
+
+// Switches sent from Chrome to either the Software Reporter or the Chrome
+// Cleanup tool.
+
+// The current Chrome channel. The value of this flag is an integer with values
+// according to version_info::Channel enum.
+extern const char kChromeChannelSwitch[];
+
+// The path to Chrome's executable.
+extern const char kChromeExePathSwitch[];
+
+// The Mojo pipe token for IPC communication between the Software Reporter and
+// Chrome.
+extern const char kChromeMojoPipeTokenSwitch[];
+
+// Indicates that a cleaner run was started by Chrome.
+extern const char kChromePromptSwitch[];
+
+// Indicates that the current Chrome installation was a system-level
+// installation.
+extern const char kChromeSystemInstallSwitch[];
+
+// The Chrome version string.
+extern const char kChromeVersionSwitch[];
+
+// Indicates that crash reporting is enabled for the current user.
+extern const char kEnableCrashReportingSwitch[];
+
+// Indicates that the current user opted into Safe Browsing Extended Reporting.
+extern const char kExtendedSafeBrowsingEnabledSwitch[];
+
+// Identifier used to group all reports generated during the same run of the
+// software reporter (which may include multiple invocations of the reporter
+/// binary, each generating a report). An ASCII, base-64 encoded random string.
+extern const char kSessionIdSwitch[];
+
+// Indicates that metrics reporting is enabled for the current user.
+extern const char kUmaUserSwitch[];
+
+// Registry paths where the reporter and the cleaner will write metrics data
+// to be reported by Chrome.
+
+// TODO(b/647763) Change the registry key to properly handle cases when the
+// user runs Google Chrome stable alongside Google Chrome SxS.
+extern const wchar_t kSoftwareRemovalToolRegistryKey[];
+
+// The suffix for the registry key where cleaner metrics are written to.
+extern const wchar_t kCleanerSubKey[];
+// The suffix for registry key paths where scan times will be written to.
+extern const wchar_t kScanTimesSubKey[];
+
+// Registry value names where metrics are written to.
+extern const wchar_t kEndTimeValueName[];
+extern const wchar_t kEngineErrorCodeValueName[];
+extern const wchar_t kExitCodeValueName[];
+extern const wchar_t kFoundUwsValueName[];
+extern const wchar_t kLogsUploadResultValueName[];
+extern const wchar_t kMemoryUsedValueName[];
+extern const wchar_t kStartTimeValueName[];
+extern const wchar_t kUploadResultsValueName[];
+extern const wchar_t kVersionValueName[];
+
+// Exit codes from the Software Reporter process identified by Chrome.
+constexpr int kSwReporterCleanupNeeded = 0;
+constexpr int kSwReporterNothingFound = 2;
+constexpr int kSwReporterPostRebootCleanupNeeded = 4;
+constexpr int kSwReporterDelayedPostRebootCleanupNeeded = 15;
+
+// Values to be passed to the kChromePromptSwitch of the Chrome Cleanup Tool to
+// indicate how the user interacted with the accept button.
+enum class ChromePromptValue {
+  // The user accepted the prompt when the prompt was first shown.
+  kPrompted = 3,
+  // The user accepted the prompt after navigating to it from the menu.
+  kShownFromMenu = 4
+};
+
+}  // namespace chrome_cleaner
+
+#endif  // COMPONENTS_CHROME_CLEANER_PUBLIC_CONSTANTS_CONSTANTS_H_
diff --git a/components/cronet/android/BUILD.gn b/components/cronet/android/BUILD.gn
index c11669e..8628f5942c 100644
--- a/components/cronet/android/BUILD.gn
+++ b/components/cronet/android/BUILD.gn
@@ -698,6 +698,7 @@
   java_files = [
     "test/javatests/src/org/chromium/net/BidirectionalStreamQuicTest.java",
     "test/javatests/src/org/chromium/net/BidirectionalStreamTest.java",
+    "test/javatests/src/org/chromium/net/BrotliTest.java",
     "test/javatests/src/org/chromium/net/Criteria.java",
     "test/javatests/src/org/chromium/net/CronetEngineBuilderTest.java",
     "test/javatests/src/org/chromium/net/CronetTestBase.java",
diff --git a/components/cronet/android/api.txt b/components/cronet/android/api.txt
index a646d96..db30e54 100644
--- a/components/cronet/android/api.txt
+++ b/components/cronet/android/api.txt
@@ -62,6 +62,7 @@
   public org.chromium.net.CronetEngine$Builder enableQuic(boolean);
   public org.chromium.net.CronetEngine$Builder enableHttp2(boolean);
   public org.chromium.net.CronetEngine$Builder enableSdch(boolean);
+  public org.chromium.net.CronetEngine$Builder enableBrotli(boolean);
   public org.chromium.net.CronetEngine$Builder enableHttpCache(int, long);
   public org.chromium.net.CronetEngine$Builder addQuicHint(java.lang.String, int, int);
   public org.chromium.net.CronetEngine$Builder addPublicKeyPins(java.lang.String, java.util.Set<byte[]>, boolean, java.util.Date);
@@ -104,6 +105,7 @@
   public abstract org.chromium.net.ICronetEngineBuilder enablePublicKeyPinningBypassForLocalTrustAnchors(boolean);
   public abstract org.chromium.net.ICronetEngineBuilder enableQuic(boolean);
   public abstract org.chromium.net.ICronetEngineBuilder enableSdch(boolean);
+  public org.chromium.net.ICronetEngineBuilder enableBrotli(boolean);
   public abstract org.chromium.net.ICronetEngineBuilder setExperimentalOptions(java.lang.String);
   public abstract org.chromium.net.ICronetEngineBuilder setLibraryLoader(org.chromium.net.CronetEngine$Builder$LibraryLoader);
   public abstract org.chromium.net.ICronetEngineBuilder setStoragePath(java.lang.String);
diff --git a/components/cronet/android/api/src/org/chromium/net/CronetEngine.java b/components/cronet/android/api/src/org/chromium/net/CronetEngine.java
index 629adfae..02bd1549 100644
--- a/components/cronet/android/api/src/org/chromium/net/CronetEngine.java
+++ b/components/cronet/android/api/src/org/chromium/net/CronetEngine.java
@@ -172,6 +172,18 @@
         }
 
         /**
+         * Sets whether <a href="https://tools.ietf.org/html/rfc7932">Brotli</a> compression is
+         * enabled. If enabled, Brotli will be advertised in Accept-Encoding request headers.
+         * Defaults to disabled.
+         * @param value {@code true} to enable Brotli, {@code false} to disable.
+         * @return the builder to facilitate chaining.
+         */
+        public Builder enableBrotli(boolean value) {
+            mBuilderDelegate.enableBrotli(value);
+            return this;
+        }
+
+        /**
          * Setting to disable HTTP cache. Some data may still be temporarily stored in memory.
          * Passed to {@link #enableHttpCache}.
          */
diff --git a/components/cronet/android/api/src/org/chromium/net/ICronetEngineBuilder.java b/components/cronet/android/api/src/org/chromium/net/ICronetEngineBuilder.java
index 41a6547b..513b3e7 100644
--- a/components/cronet/android/api/src/org/chromium/net/ICronetEngineBuilder.java
+++ b/components/cronet/android/api/src/org/chromium/net/ICronetEngineBuilder.java
@@ -27,6 +27,10 @@
             boolean value);
     public abstract ICronetEngineBuilder enableQuic(boolean value);
     public abstract ICronetEngineBuilder enableSdch(boolean value);
+    public ICronetEngineBuilder enableBrotli(boolean value) {
+        // Do nothing for older implementations.
+        return this;
+    }
     public abstract ICronetEngineBuilder setExperimentalOptions(String options);
     public abstract ICronetEngineBuilder setLibraryLoader(
             CronetEngine.Builder.LibraryLoader loader);
diff --git a/components/cronet/android/api_version.txt b/components/cronet/android/api_version.txt
index bf0d87a..7ed6ff8 100644
--- a/components/cronet/android/api_version.txt
+++ b/components/cronet/android/api_version.txt
@@ -1 +1 @@
-4
\ No newline at end of file
+5
diff --git a/components/cronet/android/cronet_url_request_context_adapter.cc b/components/cronet/android/cronet_url_request_context_adapter.cc
index 6936c13..66e4cc3 100644
--- a/components/cronet/android/cronet_url_request_context_adapter.cc
+++ b/components/cronet/android/cronet_url_request_context_adapter.cc
@@ -731,6 +731,7 @@
   context_ = context_builder.Build();
 
   context_->set_check_cleartext_permitted(true);
+  context_->set_enable_brotli(config->enable_brotli);
 
   if (network_quality_estimator_)
     context_->set_network_quality_estimator(network_quality_estimator_.get());
@@ -1090,6 +1091,7 @@
     const JavaParamRef<jstring>& jquic_default_user_agent_id,
     jboolean jhttp2_enabled,
     jboolean jsdch_enabled,
+    jboolean jbrotli_enabled,
     const JavaParamRef<jstring>& jdata_reduction_proxy_key,
     const JavaParamRef<jstring>& jdata_reduction_proxy_primary_proxy,
     const JavaParamRef<jstring>& jdata_reduction_proxy_fallback_proxy,
@@ -1105,7 +1107,7 @@
   return reinterpret_cast<jlong>(new URLRequestContextConfig(
       jquic_enabled,
       ConvertNullableJavaStringToUTF8(env, jquic_default_user_agent_id),
-      jhttp2_enabled, jsdch_enabled,
+      jhttp2_enabled, jsdch_enabled, jbrotli_enabled,
       static_cast<URLRequestContextConfig::HttpCacheType>(jhttp_cache_mode),
       jhttp_cache_max_size, jdisable_cache,
       ConvertNullableJavaStringToUTF8(env, jstorage_path),
diff --git a/components/cronet/android/java/src/org/chromium/net/impl/CronetEngineBuilderImpl.java b/components/cronet/android/java/src/org/chromium/net/impl/CronetEngineBuilderImpl.java
index c4900ec..842d11c 100644
--- a/components/cronet/android/java/src/org/chromium/net/impl/CronetEngineBuilderImpl.java
+++ b/components/cronet/android/java/src/org/chromium/net/impl/CronetEngineBuilderImpl.java
@@ -83,6 +83,7 @@
     private boolean mQuicEnabled;
     private boolean mHttp2Enabled;
     private boolean mSdchEnabled;
+    private boolean mBrotiEnabled;
     private String mDataReductionProxyKey;
     private String mDataReductionProxyPrimaryProxy;
     private String mDataReductionProxyFallbackProxy;
@@ -104,6 +105,7 @@
         enableQuic(false);
         enableHttp2(true);
         enableSdch(false);
+        enableBrotli(false);
         enableHttpCache(HTTP_CACHE_DISABLED, 0);
         enableNetworkQualityEstimator(false);
         enablePublicKeyPinningBypassForLocalTrustAnchors(true);
@@ -188,6 +190,16 @@
     }
 
     @Override
+    public CronetEngineBuilderImpl enableBrotli(boolean value) {
+        mBrotiEnabled = value;
+        return this;
+    }
+
+    boolean brotliEnabled() {
+        return mBrotiEnabled;
+    }
+
+    @Override
     public CronetEngineBuilderImpl enableDataReductionProxy(String key) {
         mDataReductionProxyKey = key;
         return this;
diff --git a/components/cronet/android/java/src/org/chromium/net/impl/CronetUrlRequestContext.java b/components/cronet/android/java/src/org/chromium/net/impl/CronetUrlRequestContext.java
index 6f5663f..f3c95b69 100644
--- a/components/cronet/android/java/src/org/chromium/net/impl/CronetUrlRequestContext.java
+++ b/components/cronet/android/java/src/org/chromium/net/impl/CronetUrlRequestContext.java
@@ -187,8 +187,8 @@
         final long urlRequestContextConfig = nativeCreateRequestContextConfig(
                 builder.getUserAgent(), builder.storagePath(), builder.quicEnabled(),
                 builder.getDefaultQuicUserAgentId(), builder.http2Enabled(), builder.sdchEnabled(),
-                builder.dataReductionProxyKey(), builder.dataReductionProxyPrimaryProxy(),
-                builder.dataReductionProxyFallbackProxy(),
+                builder.brotliEnabled(), builder.dataReductionProxyKey(),
+                builder.dataReductionProxyPrimaryProxy(), builder.dataReductionProxyFallbackProxy(),
                 builder.dataReductionProxySecureProxyCheckUrl(), builder.cacheDisabled(),
                 builder.httpCacheMode(), builder.httpCacheMaxSize(), builder.experimentalOptions(),
                 builder.mockCertVerifier(), builder.networkQualityEstimatorEnabled(),
@@ -679,7 +679,7 @@
     // Native methods are implemented in cronet_url_request_context_adapter.cc.
     private static native long nativeCreateRequestContextConfig(String userAgent,
             String storagePath, boolean quicEnabled, String quicUserAgentId, boolean http2Enabled,
-            boolean sdchEnabled, String dataReductionProxyKey,
+            boolean sdchEnabled, boolean brotliEnabled, String dataReductionProxyKey,
             String dataReductionProxyPrimaryProxy, String dataReductionProxyFallbackProxy,
             String dataReductionProxySecureProxyCheckUrl, boolean disableCache, int httpCacheMode,
             long httpCacheMaxSize, String experimentalOptions, long mockCertVerifier,
diff --git a/components/cronet/android/test/javatests/src/org/chromium/net/BrotliTest.java b/components/cronet/android/test/javatests/src/org/chromium/net/BrotliTest.java
new file mode 100644
index 0000000..b23e4da5
--- /dev/null
+++ b/components/cronet/android/test/javatests/src/org/chromium/net/BrotliTest.java
@@ -0,0 +1,90 @@
+// 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.
+
+package org.chromium.net;
+
+import android.support.test.filters.SmallTest;
+
+import org.chromium.base.test.util.Feature;
+
+/**
+ * Simple test for Brotli support.
+ */
+public class BrotliTest extends CronetTestBase {
+    private CronetTestFramework mTestFramework;
+
+    @Override
+    protected void setUp() throws Exception {
+        super.setUp();
+        // Load library first to create MockCertVerifier.
+        System.loadLibrary("cronet_tests");
+        assertTrue(Http2TestServer.startHttp2TestServer(
+                getContext(), QuicTestServer.getServerCert(), QuicTestServer.getServerCertKey()));
+    }
+
+    @Override
+    protected void tearDown() throws Exception {
+        assertTrue(Http2TestServer.shutdownHttp2TestServer());
+        mTestFramework.mCronetEngine.shutdown();
+        super.tearDown();
+    }
+
+    @SmallTest
+    @Feature({"Cronet"})
+    @OnlyRunNativeCronet
+    public void testBrotliAdvertised() throws Exception {
+        ExperimentalCronetEngine.Builder builder =
+                new ExperimentalCronetEngine.Builder(getContext());
+        builder.enableBrotli(true);
+        CronetTestUtil.setMockCertVerifierForTesting(
+                builder, QuicTestServer.createMockCertVerifier());
+        mTestFramework = startCronetTestFrameworkWithUrlAndCronetEngineBuilder(null, builder);
+        String url = Http2TestServer.getEchoAllHeadersUrl();
+        TestUrlRequestCallback callback = startAndWaitForComplete(url);
+        assertEquals(200, callback.mResponseInfo.getHttpStatusCode());
+        assertTrue(callback.mResponseAsString.contains("accept-encoding: gzip, deflate, br"));
+    }
+
+    @SmallTest
+    @Feature({"Cronet"})
+    @OnlyRunNativeCronet
+    public void testBrotliNotAdvertised() throws Exception {
+        ExperimentalCronetEngine.Builder builder =
+                new ExperimentalCronetEngine.Builder(getContext());
+        CronetTestUtil.setMockCertVerifierForTesting(
+                builder, QuicTestServer.createMockCertVerifier());
+        mTestFramework = startCronetTestFrameworkWithUrlAndCronetEngineBuilder(null, builder);
+        String url = Http2TestServer.getEchoAllHeadersUrl();
+        TestUrlRequestCallback callback = startAndWaitForComplete(url);
+        assertEquals(200, callback.mResponseInfo.getHttpStatusCode());
+        assertFalse(callback.mResponseAsString.contains("br"));
+    }
+
+    @SmallTest
+    @Feature({"Cronet"})
+    @OnlyRunNativeCronet
+    public void testBrotliDecoded() throws Exception {
+        ExperimentalCronetEngine.Builder builder =
+                new ExperimentalCronetEngine.Builder(getContext());
+        builder.enableBrotli(true);
+        CronetTestUtil.setMockCertVerifierForTesting(
+                builder, QuicTestServer.createMockCertVerifier());
+        mTestFramework = startCronetTestFrameworkWithUrlAndCronetEngineBuilder(null, builder);
+        String url = Http2TestServer.getServeSimpleBrotliResponse();
+        TestUrlRequestCallback callback = startAndWaitForComplete(url);
+        assertEquals(200, callback.mResponseInfo.getHttpStatusCode());
+        String expectedResponse = "The quick brown fox jumps over the lazy dog";
+        assertEquals(expectedResponse, callback.mResponseAsString);
+        assertEquals(callback.mResponseInfo.getAllHeaders().get("content-encoding").get(0), "br");
+    }
+
+    private TestUrlRequestCallback startAndWaitForComplete(String url) {
+        TestUrlRequestCallback callback = new TestUrlRequestCallback();
+        UrlRequest.Builder builder = mTestFramework.mCronetEngine.newUrlRequestBuilder(
+                url, callback, callback.getExecutor());
+        builder.build().start();
+        callback.blockForDone();
+        return callback;
+    }
+}
diff --git a/components/cronet/android/test/src/org/chromium/net/Http2TestHandler.java b/components/cronet/android/test/src/org/chromium/net/Http2TestHandler.java
index f352af5..f49e94e 100644
--- a/components/cronet/android/test/src/org/chromium/net/Http2TestHandler.java
+++ b/components/cronet/android/test/src/org/chromium/net/Http2TestHandler.java
@@ -41,6 +41,7 @@
     public static final String ECHO_METHOD_PATH = "/echomethod";
     public static final String ECHO_STREAM_PATH = "/echostream";
     public static final String ECHO_TRAILERS_PATH = "/echotrailers";
+    public static final String SERVE_SIMPLE_BROTLI_RESPONSE = "/simplebrotli";
 
     private static final String TAG = Http2TestHandler.class.getSimpleName();
     private static final Http2FrameLogger sLogger =
@@ -174,6 +175,24 @@
         }
     }
 
+    // A RequestResponder that serves a simple Brotli-encoded response.
+    private class ServeSimpleBrotliResponder extends RequestResponder {
+        @Override
+        void onHeadersRead(ChannelHandlerContext ctx, int streamId, boolean endOfStream,
+                Http2Headers headers) {
+            Http2Headers responseHeaders = new DefaultHttp2Headers().status(OK.codeAsText());
+            byte[] quickfoxCompressed = {0x0b, 0x15, -0x80, 0x54, 0x68, 0x65, 0x20, 0x71, 0x75,
+                    0x69, 0x63, 0x6b, 0x20, 0x62, 0x72, 0x6f, 0x77, 0x6e, 0x20, 0x66, 0x6f, 0x78,
+                    0x20, 0x6a, 0x75, 0x6d, 0x70, 0x73, 0x20, 0x6f, 0x76, 0x65, 0x72, 0x20, 0x74,
+                    0x68, 0x65, 0x20, 0x6c, 0x61, 0x7a, 0x79, 0x20, 0x64, 0x6f, 0x67, 0x03};
+            ByteBuf content = copiedBuffer(quickfoxCompressed);
+            responseHeaders.add("content-encoding", "br");
+            encoder().writeHeaders(ctx, streamId, responseHeaders, 0, false, ctx.newPromise());
+            encoder().writeData(ctx, streamId, content, 0, true, ctx.newPromise());
+            ctx.flush();
+        }
+    }
+
     private static Http2Headers createDefaultResponseHeaders() {
         return new DefaultHttp2Headers().status(OK.codeAsText());
     }
@@ -230,6 +249,8 @@
             responder = new EchoHeaderResponder();
         } else if (path.startsWith(ECHO_METHOD_PATH)) {
             responder = new EchoMethodResponder();
+        } else if (path.startsWith(SERVE_SIMPLE_BROTLI_RESPONSE)) {
+            responder = new ServeSimpleBrotliResponder();
         } else {
             responder = new RequestResponder();
         }
diff --git a/components/cronet/android/test/src/org/chromium/net/Http2TestServer.java b/components/cronet/android/test/src/org/chromium/net/Http2TestServer.java
index 7bfe77a..57ba70ff 100644
--- a/components/cronet/android/test/src/org/chromium/net/Http2TestServer.java
+++ b/components/cronet/android/test/src/org/chromium/net/Http2TestServer.java
@@ -93,6 +93,13 @@
         return getServerUrl() + Http2TestHandler.ECHO_TRAILERS_PATH;
     }
 
+    /**
+     * @return url of a brotli-encoded server resource.
+     */
+    public static String getServeSimpleBrotliResponse() {
+        return getServerUrl() + Http2TestHandler.SERVE_SIMPLE_BROTLI_RESPONSE;
+    }
+
     public static boolean startHttp2TestServer(
             Context context, String certFileName, String keyFileName) throws Exception {
         new Thread(
diff --git a/components/cronet/stale_host_resolver_unittest.cc b/components/cronet/stale_host_resolver_unittest.cc
index 648aae6d..9e6e6554 100644
--- a/components/cronet/stale_host_resolver_unittest.cc
+++ b/components/cronet/stale_host_resolver_unittest.cc
@@ -451,6 +451,8 @@
       true,
       // Enable SDCH.
       false,
+      // Enable Brotli.
+      false,
       // Type of http cache.
       URLRequestContextConfig::HttpCacheType::DISK,
       // Max size of http cache in bytes.
diff --git a/components/cronet/tools/cr_cronet.py b/components/cronet/tools/cr_cronet.py
index 4265a6ba..8e0b514 100755
--- a/components/cronet/tools/cr_cronet.py
+++ b/components/cronet/tools/cr_cronet.py
@@ -101,7 +101,7 @@
   gn_args += 'target_os="' + target_os + '" enable_websockets=false '+ \
       'disable_file_support=true disable_ftp_support=true '+ \
       'use_platform_icu_alternatives=true '+ \
-      'disable_brotli_filter=true is_component_build=false ' + \
+      'is_component_build=false ' + \
       'ignore_elf32_limitations=true use_partition_alloc=false'
 
   extra_options = ' '.join(extra_options_list)
diff --git a/components/cronet/url_request_context_config.cc b/components/cronet/url_request_context_config.cc
index 4feb57f4..340e57c 100644
--- a/components/cronet/url_request_context_config.cc
+++ b/components/cronet/url_request_context_config.cc
@@ -338,6 +338,7 @@
     const std::string& quic_user_agent_id,
     bool enable_spdy,
     bool enable_sdch,
+    bool enable_brotli,
     HttpCacheType http_cache,
     int http_cache_max_size,
     bool load_disable_cache,
@@ -356,6 +357,7 @@
       quic_user_agent_id(quic_user_agent_id),
       enable_spdy(enable_spdy),
       enable_sdch(enable_sdch),
+      enable_brotli(enable_brotli),
       http_cache(http_cache),
       http_cache_max_size(http_cache_max_size),
       load_disable_cache(load_disable_cache),
@@ -427,9 +429,9 @@
 std::unique_ptr<URLRequestContextConfig>
 URLRequestContextConfigBuilder::Build() {
   return base::MakeUnique<URLRequestContextConfig>(
-      enable_quic, quic_user_agent_id, enable_spdy, enable_sdch, http_cache,
-      http_cache_max_size, load_disable_cache, storage_path, user_agent,
-      experimental_options, data_reduction_proxy_key,
+      enable_quic, quic_user_agent_id, enable_spdy, enable_sdch, enable_brotli,
+      http_cache, http_cache_max_size, load_disable_cache, storage_path,
+      user_agent, experimental_options, data_reduction_proxy_key,
       data_reduction_primary_proxy, data_reduction_fallback_proxy,
       data_reduction_secure_proxy_check_url, std::move(mock_cert_verifier),
       enable_network_quality_estimator,
diff --git a/components/cronet/url_request_context_config.h b/components/cronet/url_request_context_config.h
index 69e1b80..ce398236 100644
--- a/components/cronet/url_request_context_config.h
+++ b/components/cronet/url_request_context_config.h
@@ -87,6 +87,8 @@
       bool enable_spdy,
       // Enable SDCH.
       bool enable_sdch,
+      // Enable Brotli.
+      bool enable_brotli,
       // Type of http cache.
       HttpCacheType http_cache,
       // Max size of http cache in bytes.
@@ -132,6 +134,8 @@
   const bool enable_spdy;
   // Enable SDCH.
   const bool enable_sdch;
+  // Enable Brotli.
+  const bool enable_brotli;
   // Type of http cache.
   const HttpCacheType http_cache;
   // Max size of http cache in bytes.
@@ -201,6 +205,8 @@
   bool enable_spdy = true;
   // Enable SDCH.
   bool enable_sdch = false;
+  // Enable Brotli.
+  bool enable_brotli = false;
   // Type of http cache.
   URLRequestContextConfig::HttpCacheType http_cache =
       URLRequestContextConfig::DISABLED;
diff --git a/components/cronet/url_request_context_config_unittest.cc b/components/cronet/url_request_context_config_unittest.cc
index 7157a41..7b926e4e 100644
--- a/components/cronet/url_request_context_config_unittest.cc
+++ b/components/cronet/url_request_context_config_unittest.cc
@@ -29,6 +29,8 @@
       true,
       // Enable SDCH.
       false,
+      // Enable Brotli.
+      false,
       // Type of http cache.
       URLRequestContextConfig::HttpCacheType::DISK,
       // Max size of http cache in bytes.
@@ -130,6 +132,8 @@
       true,
       // Enable SDCH.
       false,
+      // Enable Brotli.
+      false,
       // Type of http cache.
       URLRequestContextConfig::HttpCacheType::DISK,
       // Max size of http cache in bytes.
diff --git a/components/domain_reliability/uploader_unittest.cc b/components/domain_reliability/uploader_unittest.cc
index 0b99fc0..ae037e9 100644
--- a/components/domain_reliability/uploader_unittest.cc
+++ b/components/domain_reliability/uploader_unittest.cc
@@ -33,7 +33,6 @@
 
 struct MockUploadResult {
   int net_error;
-  int response_code;
   scoped_refptr<net::HttpResponseHeaders> response_headers;
 };
 
@@ -95,10 +94,6 @@
       NotifyStartError(net::URLRequestStatus::FromError(result_.net_error));
   }
 
-  int GetResponseCode() const override {
-    return result_.response_code;
-  }
-
   void GetResponseInfo(net::HttpResponseInfo* info) override {
     info->headers = result_.response_headers;
   }
@@ -135,23 +130,12 @@
   void ExpectRequestAndReturnError(int net_error) {
     MockUploadResult result;
     result.net_error = net_error;
-    result.response_code = -1;
     results_.push_back(result);
   }
 
-  void ExpectRequestAndReturnResponseCode(int response_code) {
+  void ExpectRequestAndReturnResponseHeaders(const char* headers) {
     MockUploadResult result;
     result.net_error = net::OK;
-    result.response_code = response_code;
-    results_.push_back(result);
-  }
-
-  void ExpectRequestAndReturnResponseCodeAndHeaders(
-      int response_code,
-      const char* headers) {
-    MockUploadResult result;
-    result.net_error = net::OK;
-    result.response_code = response_code;
     result.response_headers = new net::HttpResponseHeaders(
         net::HttpUtil::AssembleRawHeaders(headers, strlen(headers)));
     results_.push_back(result);
@@ -226,7 +210,7 @@
 }
 
 TEST_F(DomainReliabilityUploaderTest, SuccessfulUpload) {
-  interceptor()->ExpectRequestAndReturnResponseCode(200);
+  interceptor()->ExpectRequestAndReturnResponseHeaders("HTTP/1.1 200\r\n\r\n");
 
   TestUploadCallback c;
   uploader()->UploadReport("{}", 0, GURL(kUploadURL), c.callback());
@@ -250,7 +234,7 @@
 }
 
 TEST_F(DomainReliabilityUploaderTest, ServerErrorUpload) {
-  interceptor()->ExpectRequestAndReturnResponseCode(500);
+  interceptor()->ExpectRequestAndReturnResponseHeaders("HTTP/1.1 500\r\n\r\n");
 
   TestUploadCallback c;
   uploader()->UploadReport("{}", 0, GURL(kUploadURL), c.callback());
@@ -262,8 +246,7 @@
 }
 
 TEST_F(DomainReliabilityUploaderTest, RetryAfterUpload) {
-  interceptor()->ExpectRequestAndReturnResponseCodeAndHeaders(
-      503,
+  interceptor()->ExpectRequestAndReturnResponseHeaders(
       "HTTP/1.1 503 Ugh\nRetry-After: 3600\n\n");
 
   TestUploadCallback c;
@@ -276,7 +259,7 @@
 }
 
 TEST_F(DomainReliabilityUploaderTest, UploadDepth1) {
-  interceptor()->ExpectRequestAndReturnResponseCode(200);
+  interceptor()->ExpectRequestAndReturnResponseHeaders("HTTP/1.1 200\r\n\r\n");
 
   TestUploadCallback c;
   uploader()->UploadReport("{}", 0, GURL(kUploadURL), c.callback());
@@ -289,7 +272,7 @@
 }
 
 TEST_F(DomainReliabilityUploaderTest, UploadDepth2) {
-  interceptor()->ExpectRequestAndReturnResponseCode(200);
+  interceptor()->ExpectRequestAndReturnResponseHeaders("HTTP/1.1 200\r\n\r\n");
 
   TestUploadCallback c;
   uploader()->UploadReport("{}", 1, GURL(kUploadURL), c.callback());
diff --git a/components/exo/pointer.cc b/components/exo/pointer.cc
index 35d1e77..e650b4f 100644
--- a/components/exo/pointer.cc
+++ b/components/exo/pointer.cc
@@ -358,7 +358,7 @@
     // TODO(reveman): Add interface for creating cursors from GpuMemoryBuffers
     // and use that here instead of the current bitmap API. crbug.com/686600
     platform_cursor = ui::CursorFactoryOzone::GetInstance()->CreateImageCursor(
-        *bitmap.get(), hotspot);
+        *bitmap.get(), hotspot, cursor_scale_);
 #elif defined(USE_X11)
     XcursorImage* image = ui::SkBitmapToXcursorImage(bitmap.get(), hotspot);
     platform_cursor = ui::CreateReffedCustomXCursor(image);
diff --git a/components/favicon/ios/BUILD.gn b/components/favicon/ios/BUILD.gn
index 37ef0fbb7..5014a92e 100644
--- a/components/favicon/ios/BUILD.gn
+++ b/components/favicon/ios/BUILD.gn
@@ -3,6 +3,7 @@
 # found in the LICENSE file.
 
 source_set("ios") {
+  configs += [ "//build/config/compiler:enable_arc" ]
   sources = [
     "favicon_url_util.cc",
     "favicon_url_util.h",
diff --git a/components/favicon/ios/web_favicon_driver.mm b/components/favicon/ios/web_favicon_driver.mm
index 500a5f4..01f4ff8f 100644
--- a/components/favicon/ios/web_favicon_driver.mm
+++ b/components/favicon/ios/web_favicon_driver.mm
@@ -18,6 +18,10 @@
 #include "third_party/skia/include/core/SkBitmap.h"
 #include "ui/gfx/image/image.h"
 
+#if !defined(__has_feature) || !__has_feature(objc_arc)
+#error "This file requires ARC support."
+#endif
+
 DEFINE_WEB_STATE_USER_DATA_KEY(favicon::WebFaviconDriver);
 
 // Callback for the download of favicon.
diff --git a/components/history/core/browser/BUILD.gn b/components/history/core/browser/BUILD.gn
index b288937..e60183b 100644
--- a/components/history/core/browser/BUILD.gn
+++ b/components/history/core/browser/BUILD.gn
@@ -192,6 +192,7 @@
     "history_backend_db_unittest.cc",
     "history_backend_unittest.cc",
     "history_database_unittest.cc",
+    "history_model_worker_unittest.cc",
     "history_querying_unittest.cc",
     "history_service_unittest.cc",
     "history_types_unittest.cc",
diff --git a/components/history/core/browser/history_model_worker.cc b/components/history/core/browser/history_model_worker.cc
index 72b843d..ad3f991 100644
--- a/components/history/core/browser/history_model_worker.cc
+++ b/components/history/core/browser/history_model_worker.cc
@@ -6,30 +6,19 @@
 
 #include <utility>
 
-#include "base/synchronization/waitable_event.h"
+#include "base/memory/ptr_util.h"
 #include "components/history/core/browser/history_db_task.h"
 #include "components/history/core/browser/history_service.h"
-#include "components/sync/base/scoped_event_signal.h"
 
 namespace browser_sync {
 
 class WorkerTask : public history::HistoryDBTask {
  public:
-  WorkerTask(const syncer::WorkCallback& work,
-             syncer::ScopedEventSignal scoped_event_signal,
-             syncer::SyncerError* error)
-      : work_(work),
-        scoped_event_signal_(std::move(scoped_event_signal)),
-        error_(error) {}
+  WorkerTask(base::OnceClosure work) : work_(std::move(work)) {}
 
   bool RunOnDBThread(history::HistoryBackend* backend,
                      history::HistoryDatabase* db) override {
-    // Signal the completion event at the end of this scope.
-    auto scoped_event_signal = std::move(scoped_event_signal_);
-
-    // Run the task.
-    *error_ = work_.Run();
-
+    std::move(work_).Run();
     return true;
   }
 
@@ -37,34 +26,12 @@
   // any code asynchronously on the main thread after completion.
   void DoneRunOnMainThread() override {}
 
- protected:
-  ~WorkerTask() override {
-    // The event in |scoped_event_signal_| is signaled at the end of this
-    // scope if this is destroyed before RunOnDBThread runs.
-  }
-
-  syncer::WorkCallback work_;
-  syncer::ScopedEventSignal scoped_event_signal_;
-  syncer::SyncerError* error_;
-};
-
-class AddDBThreadObserverTask : public history::HistoryDBTask {
- public:
-  explicit AddDBThreadObserverTask(base::Closure register_callback)
-     : register_callback_(register_callback) {}
-
-  bool RunOnDBThread(history::HistoryBackend* backend,
-                     history::HistoryDatabase* db) override {
-    register_callback_.Run();
-    return true;
-  }
-
-  void DoneRunOnMainThread() override {}
-
  private:
-  ~AddDBThreadObserverTask() override {}
+  // A OnceClosure is deleted right after it runs. This is important to unblock
+  // DoWorkAndWaitUntilDone() right after the task runs.
+  base::OnceClosure work_;
 
-  base::Closure register_callback_;
+  DISALLOW_COPY_AND_ASSIGN(WorkerTask);
 };
 
 namespace {
@@ -73,18 +40,11 @@
 // thread.
 void PostWorkerTask(
     const base::WeakPtr<history::HistoryService>& history_service,
-    const syncer::WorkCallback& work,
-    syncer::ScopedEventSignal scoped_event_signal,
-    base::CancelableTaskTracker* cancelable_tracker,
-    syncer::SyncerError* error) {
+    base::OnceClosure work,
+    base::CancelableTaskTracker* cancelable_tracker) {
   if (history_service.get()) {
-    std::unique_ptr<history::HistoryDBTask> task(
-        new WorkerTask(work, std::move(scoped_event_signal), error));
-    history_service->ScheduleDBTask(std::move(task), cancelable_tracker);
-  } else {
-    *error = syncer::CANNOT_DO_WORK;
-    // The event in |scoped_event_signal| is signaled at the end of this
-    // scope.
+    history_service->ScheduleDBTask(
+        base::MakeUnique<WorkerTask>(std::move(work)), cancelable_tracker);
   }
 }
 
@@ -99,27 +59,6 @@
   cancelable_tracker_.reset(new base::CancelableTaskTracker);
 }
 
-syncer::SyncerError HistoryModelWorker::DoWorkAndWaitUntilDoneImpl(
-    const syncer::WorkCallback& work) {
-  syncer::SyncerError error = syncer::UNSET;
-
-  // Signaled after the task runs or when it is abandoned.
-  base::WaitableEvent work_done_or_abandoned(
-      base::WaitableEvent::ResetPolicy::AUTOMATIC,
-      base::WaitableEvent::InitialState::NOT_SIGNALED);
-
-  if (ui_thread_->PostTask(FROM_HERE,
-                           base::Bind(&PostWorkerTask, history_service_, work,
-                                      base::Passed(syncer::ScopedEventSignal(
-                                          &work_done_or_abandoned)),
-                                      cancelable_tracker_.get(), &error))) {
-    work_done_or_abandoned.Wait();
-  } else {
-    error = syncer::CANNOT_DO_WORK;
-  }
-  return error;
-}
-
 syncer::ModelSafeGroup HistoryModelWorker::GetModelSafeGroup() {
   return syncer::GROUP_HISTORY;
 }
@@ -138,4 +77,10 @@
   ui_thread_->DeleteSoon(FROM_HERE, cancelable_tracker_.release());
 }
 
+void HistoryModelWorker::ScheduleWork(base::OnceClosure work) {
+  ui_thread_->PostTask(FROM_HERE, base::Bind(&PostWorkerTask, history_service_,
+                                             base::Passed(std::move(work)),
+                                             cancelable_tracker_.get()));
+}
+
 }  // namespace browser_sync
diff --git a/components/history/core/browser/history_model_worker.h b/components/history/core/browser/history_model_worker.h
index 6421c64..f72b00af 100644
--- a/components/history/core/browser/history_model_worker.h
+++ b/components/history/core/browser/history_model_worker.h
@@ -32,13 +32,11 @@
   syncer::ModelSafeGroup GetModelSafeGroup() override;
   bool IsOnModelThread() override;
 
- protected:
-  syncer::SyncerError DoWorkAndWaitUntilDoneImpl(
-      const syncer::WorkCallback& work) override;
-
  private:
   ~HistoryModelWorker() override;
 
+  void ScheduleWork(base::OnceClosure work) override;
+
   const base::WeakPtr<history::HistoryService> history_service_;
 
   // A reference to the UI thread's task runner.
diff --git a/components/history/core/browser/history_model_worker_unittest.cc b/components/history/core/browser/history_model_worker_unittest.cc
new file mode 100644
index 0000000..1877558
--- /dev/null
+++ b/components/history/core/browser/history_model_worker_unittest.cc
@@ -0,0 +1,227 @@
+// 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 "components/history/core/browser/history_model_worker.h"
+
+#include <memory>
+#include <utility>
+
+#include "base/bind.h"
+#include "base/macros.h"
+#include "base/memory/ptr_util.h"
+#include "base/single_thread_task_runner.h"
+#include "base/synchronization/atomic_flag.h"
+#include "base/test/test_simple_task_runner.h"
+#include "base/test/test_timeouts.h"
+#include "base/threading/platform_thread.h"
+#include "base/threading/thread.h"
+#include "components/history/core/browser/history_db_task.h"
+#include "components/history/core/browser/history_service.h"
+#include "testing/gtest/include/gtest/gtest.h"
+
+namespace browser_sync {
+namespace {
+
+class HistoryServiceMock : public history::HistoryService {
+ public:
+  HistoryServiceMock(scoped_refptr<base::SingleThreadTaskRunner> history_thread)
+      : history_thread_(std::move(history_thread)) {}
+
+  base::CancelableTaskTracker::TaskId ScheduleDBTask(
+      std::unique_ptr<history::HistoryDBTask> task,
+      base::CancelableTaskTracker* tracker) override {
+    history::HistoryDBTask* task_raw = task.get();
+    history_thread_->PostTaskAndReply(
+        FROM_HERE,
+        base::Bind(base::IgnoreResult(&history::HistoryDBTask::RunOnDBThread),
+                   base::Unretained(task_raw), nullptr, nullptr),
+        base::Bind(&history::HistoryDBTask::DoneRunOnMainThread,
+                   base::Passed(std::move(task))));
+    return base::CancelableTaskTracker::kBadTaskId;  // Unused.
+  }
+
+ private:
+  const scoped_refptr<base::SingleThreadTaskRunner> history_thread_;
+
+  DISALLOW_COPY_AND_ASSIGN(HistoryServiceMock);
+};
+
+syncer::WorkCallback ClosureToWorkCallback(base::Closure work) {
+  return base::Bind(
+      [](base::Closure work) {
+        work.Run();
+        return syncer::SYNCER_OK;
+      },
+      std::move(work));
+}
+
+class HistoryModelWorkerTest : public testing::Test {
+ public:
+  HistoryModelWorkerTest()
+      : sync_thread_("SyncThreadForTest"),
+        history_service_(history_thread_),
+        history_service_factory_(&history_service_) {
+    sync_thread_.Start();
+    worker_ = new HistoryModelWorker(history_service_factory_.GetWeakPtr(),
+                                     ui_thread_);
+  }
+
+  ~HistoryModelWorkerTest() override {
+    // HistoryModelWorker posts a cleanup task to the UI thread in its
+    // destructor. Run it to prevent a leak.
+    worker_ = nullptr;
+    ui_thread_->RunUntilIdle();
+  }
+
+ protected:
+  void DoWorkAndWaitUntilDoneOnSyncThread(base::Closure work) {
+    sync_thread_.task_runner()->PostTask(
+        FROM_HERE,
+        base::Bind(
+            base::IgnoreResult(&HistoryModelWorker::DoWorkAndWaitUntilDone),
+            worker_, base::Passed(ClosureToWorkCallback(work))));
+    sync_thread_.task_runner()->PostTask(
+        FROM_HERE, base::Bind(&base::AtomicFlag::Set,
+                              base::Unretained(&sync_thread_unblocked_)));
+  }
+
+  const scoped_refptr<base::TestSimpleTaskRunner> ui_thread_ =
+      new base::TestSimpleTaskRunner();
+  scoped_refptr<base::TestSimpleTaskRunner> history_thread_ =
+      new base::TestSimpleTaskRunner();
+  base::AtomicFlag sync_thread_unblocked_;
+  base::Thread sync_thread_;
+  HistoryServiceMock history_service_;
+  scoped_refptr<HistoryModelWorker> worker_;
+
+ private:
+  base::WeakPtrFactory<HistoryServiceMock> history_service_factory_;
+
+  DISALLOW_COPY_AND_ASSIGN(HistoryModelWorkerTest);
+};
+
+}  // namespace
+
+TEST_F(HistoryModelWorkerTest, DoWorkAndWaitUntilDone) {
+  bool did_work = false;
+  DoWorkAndWaitUntilDoneOnSyncThread(base::Bind(
+      [](bool* did_work) { *did_work = true; }, base::Unretained(&did_work)));
+
+  EXPECT_FALSE(did_work);
+  EXPECT_FALSE(sync_thread_unblocked_.IsSet());
+
+  // Wait for a task to be posted to the UI thread and run it. Expect this task
+  // to post another task to the history DB thread and run it.
+  while (!ui_thread_->HasPendingTask())
+    base::PlatformThread::YieldCurrentThread();
+  ui_thread_->RunUntilIdle();
+  EXPECT_TRUE(history_thread_->HasPendingTask());
+  history_thread_->RunUntilIdle();
+
+  EXPECT_TRUE(did_work);
+
+  sync_thread_.Stop();
+  EXPECT_TRUE(sync_thread_unblocked_.IsSet());
+}
+
+TEST_F(HistoryModelWorkerTest, DoWorkAndWaitUntilDoneRequestStopBeforeRunWork) {
+  bool did_work = false;
+  DoWorkAndWaitUntilDoneOnSyncThread(base::Bind(
+      [](bool* did_work) { *did_work = true; }, base::Unretained(&did_work)));
+
+  EXPECT_FALSE(did_work);
+  EXPECT_FALSE(sync_thread_unblocked_.IsSet());
+
+  // Wait for a task to be posted to the UI thread and run it.
+  while (!ui_thread_->HasPendingTask())
+    base::PlatformThread::YieldCurrentThread();
+  ui_thread_->RunUntilIdle();
+
+  // Stop the worker.
+  worker_->RequestStop();
+
+  // The WorkCallback should not run on the history DB thread.
+  EXPECT_TRUE(history_thread_->HasPendingTask());
+  history_thread_->RunUntilIdle();
+  EXPECT_FALSE(did_work);
+
+  sync_thread_.Stop();
+  EXPECT_TRUE(sync_thread_unblocked_.IsSet());
+}
+
+TEST_F(HistoryModelWorkerTest,
+       DoWorkAndWaitUntilDoneRequestStopBeforeUITaskRun) {
+  bool did_work = false;
+  DoWorkAndWaitUntilDoneOnSyncThread(base::Bind(
+      [](bool* did_work) { *did_work = true; }, base::Unretained(&did_work)));
+
+  EXPECT_FALSE(did_work);
+  EXPECT_FALSE(sync_thread_unblocked_.IsSet());
+
+  // Wait for a task to be posted to the UI thread.
+  while (!ui_thread_->HasPendingTask())
+    base::PlatformThread::YieldCurrentThread();
+
+  // Stop the worker.
+  worker_->RequestStop();
+
+  // Stopping the worker should unblock the sync thread.
+  sync_thread_.Stop();
+  EXPECT_TRUE(sync_thread_unblocked_.IsSet());
+}
+
+TEST_F(HistoryModelWorkerTest, DoWorkAndWaitUntilDoneDeleteWorkBeforeRun) {
+  bool did_work = false;
+  DoWorkAndWaitUntilDoneOnSyncThread(base::Bind(
+      [](bool* did_work) { *did_work = true; }, base::Unretained(&did_work)));
+
+  EXPECT_FALSE(did_work);
+  EXPECT_FALSE(sync_thread_unblocked_.IsSet());
+
+  // Wait for a task to be posted to the UI thread. Delete it before it can run.
+  while (!ui_thread_->HasPendingTask())
+    base::PlatformThread::YieldCurrentThread();
+  ui_thread_->ClearPendingTasks();
+
+  EXPECT_FALSE(did_work);
+
+  // Deleting the task should have unblocked the sync thread.
+  sync_thread_.Stop();
+  EXPECT_TRUE(sync_thread_unblocked_.IsSet());
+}
+
+TEST_F(HistoryModelWorkerTest, DoWorkAndWaitUntilDoneRequestStopDuringRunWork) {
+  bool did_work = false;
+  DoWorkAndWaitUntilDoneOnSyncThread(base::Bind(
+      [](scoped_refptr<HistoryModelWorker> worker,
+         base::AtomicFlag* sync_thread_unblocked, bool* did_work) {
+        worker->RequestStop();
+        base::PlatformThread::Sleep(TestTimeouts::tiny_timeout());
+
+        // The sync thread should not be unblocked while a WorkCallback is
+        // running.
+        EXPECT_FALSE(sync_thread_unblocked->IsSet());
+
+        *did_work = true;
+      },
+      worker_, base::Unretained(&sync_thread_unblocked_),
+      base::Unretained(&did_work)));
+  EXPECT_FALSE(did_work);
+  EXPECT_FALSE(sync_thread_unblocked_.IsSet());
+
+  // Wait for a task to be posted to the UI thread and run it.
+  while (!ui_thread_->HasPendingTask())
+    base::PlatformThread::YieldCurrentThread();
+  ui_thread_->RunUntilIdle();
+
+  // Expect a task to be posted to the history DB thread. Run it.
+  EXPECT_TRUE(history_thread_->HasPendingTask());
+  history_thread_->RunUntilIdle();
+  EXPECT_TRUE(did_work);
+
+  sync_thread_.Stop();
+  EXPECT_TRUE(sync_thread_unblocked_.IsSet());
+}
+
+}  // namespace browser_sync
diff --git a/components/minidump_uploader/android/javatests/src/org/chromium/components/minidump_uploader/MinidumpUploadCallableTest.java b/components/minidump_uploader/android/javatests/src/org/chromium/components/minidump_uploader/MinidumpUploadCallableTest.java
index e0fd90f9..ec0845f6 100644
--- a/components/minidump_uploader/android/javatests/src/org/chromium/components/minidump_uploader/MinidumpUploadCallableTest.java
+++ b/components/minidump_uploader/android/javatests/src/org/chromium/components/minidump_uploader/MinidumpUploadCallableTest.java
@@ -15,8 +15,6 @@
 import java.io.ByteArrayInputStream;
 import java.io.ByteArrayOutputStream;
 import java.io.File;
-import java.io.FileNotFoundException;
-import java.io.FileOutputStream;
 import java.io.FileReader;
 import java.io.IOException;
 import java.io.InputStream;
@@ -111,6 +109,28 @@
         }
     }
 
+    private static class ErrorCodeHttpUrlConnectionFactory implements HttpURLConnectionFactory {
+        private final int mErrorCode;
+
+        ErrorCodeHttpUrlConnectionFactory(int errorCode) {
+            mErrorCode = errorCode;
+        }
+
+        @Override
+        public HttpURLConnection createHttpURLConnection(String url) {
+            try {
+                return new TestHttpURLConnection(new URL(url)) {
+                    @Override
+                    public int getResponseCode() {
+                        return mErrorCode;
+                    }
+                };
+            } catch (IOException e) {
+                return null;
+            }
+        }
+    }
+
     private static class FailHttpURLConnectionFactory implements HttpURLConnectionFactory {
         @Override
         public HttpURLConnection createHttpURLConnection(String url) {
@@ -382,15 +402,30 @@
         assertTrue(mExpectedFileAfterUpload.exists());
     }
 
-    private void extendUploadFile(int numBytes) throws FileNotFoundException, IOException {
-        FileOutputStream stream = null;
-        try {
-            stream = new FileOutputStream(mTestUpload, true);
-            byte[] buf = new byte[numBytes];
-            stream.write(buf);
-            stream.flush();
-        } finally {
-            if (stream != null) stream.close();
+    @SmallTest
+    @Feature({"Android-AppBase"})
+    public void testReceivingErrorCodes() throws Exception {
+        CrashReportingPermissionManager testPermManager =
+                new MockCrashReportingPermissionManager() {
+                    {
+                        mIsInSample = true;
+                        mIsUserPermitted = true;
+                        mIsNetworkAvailable = true;
+                        mIsEnabledForTests = false;
+                    }
+                };
+
+        final int[] errorCodes = {400, 401, 403, 404, 500};
+
+        for (int n = 0; n < errorCodes.length; n++) {
+            HttpURLConnectionFactory httpURLConnectionFactory =
+                    new ErrorCodeHttpUrlConnectionFactory(errorCodes[n]);
+            MinidumpUploadCallable minidumpUploadCallable =
+                    new MockMinidumpUploadCallable(httpURLConnectionFactory, testPermManager);
+            assertEquals(MinidumpUploadCallable.UPLOAD_FAILURE,
+                    minidumpUploadCallable.call().intValue());
+            // Note that mTestUpload is not renamed on failure - so we can try to upload that file
+            // several times during the same test.
         }
     }
 
diff --git a/components/network_session_configurator/network_session_configurator.cc b/components/network_session_configurator/network_session_configurator.cc
index 5822adf..e12cc1c 100644
--- a/components/network_session_configurator/network_session_configurator.cc
+++ b/components/network_session_configurator/network_session_configurator.cc
@@ -123,14 +123,6 @@
       "true");
 }
 
-bool ShouldQuicEnableAlternativeServicesForDifferentHost(
-    const VariationParameters& quic_trial_params) {
-  return !base::LowerCaseEqualsASCII(
-      GetVariationParam(quic_trial_params,
-                        "enable_alternative_service_with_different_host"),
-      "false");
-}
-
 net::QuicTagVector GetQuicConnectionOptions(
     const VariationParameters& quic_trial_params) {
   VariationParameters::const_iterator it =
@@ -306,8 +298,6 @@
 
   params->retry_without_alt_svc_on_quic_errors =
       ShouldRetryWithoutAltSvcOnQuicErrors(quic_trial_params);
-  params->enable_quic_alternative_service_with_different_host =
-      ShouldQuicEnableAlternativeServicesForDifferentHost(quic_trial_params);
 
   if (params->enable_quic) {
     params->quic_delay_tcp_race = ShouldQuicDelayTcpRace(quic_trial_params);
diff --git a/components/network_session_configurator/network_session_configurator_unittest.cc b/components/network_session_configurator/network_session_configurator_unittest.cc
index 8e5a7d2..f7b8048 100644
--- a/components/network_session_configurator/network_session_configurator_unittest.cc
+++ b/components/network_session_configurator/network_session_configurator_unittest.cc
@@ -49,7 +49,6 @@
   EXPECT_TRUE(params_.enable_http2);
   EXPECT_TRUE(params_.http2_settings.empty());
   EXPECT_FALSE(params_.enable_tcp_fast_open_for_ssl);
-  EXPECT_TRUE(params_.enable_quic_alternative_service_with_different_host);
   EXPECT_FALSE(params_.enable_quic);
 }
 
@@ -76,7 +75,6 @@
   EXPECT_FALSE(params_.enable_server_push_cancellation);
   EXPECT_FALSE(params_.quic_enable_non_blocking_io);
   EXPECT_FALSE(params_.quic_disable_disk_cache);
-  EXPECT_TRUE(params_.enable_quic_alternative_service_with_different_host);
   EXPECT_TRUE(params_.quic_delay_tcp_race);
   EXPECT_FALSE(params_.quic_close_sessions_on_ip_change);
   EXPECT_EQ(net::kIdleConnectionTimeoutSeconds,
@@ -387,18 +385,6 @@
   EXPECT_TRUE(params_.quic_disable_disk_cache);
 }
 
-TEST_F(NetworkSessionConfiguratorTest,
-       QuicEnableAlternativeServicesFromFieldTrialParams) {
-  std::map<std::string, std::string> field_trial_params;
-  field_trial_params["enable_alternative_service_with_different_host"] = "true";
-  variations::AssociateVariationParams("QUIC", "Enabled", field_trial_params);
-  base::FieldTrialList::CreateFieldTrial("QUIC", "Enabled");
-
-  ParseFieldTrials();
-
-  EXPECT_TRUE(params_.enable_quic_alternative_service_with_different_host);
-}
-
 TEST_F(NetworkSessionConfiguratorTest, QuicDisableDelayTcpRace) {
   std::map<std::string, std::string> field_trial_params;
   field_trial_params["disable_delay_tcp_race"] = "true";
diff --git a/components/password_manager/sync/browser/password_model_worker.cc b/components/password_manager/sync/browser/password_model_worker.cc
index 81fb889b..997a0b1c 100644
--- a/components/password_manager/sync/browser/password_model_worker.cc
+++ b/components/password_manager/sync/browser/password_model_worker.cc
@@ -4,60 +4,18 @@
 
 #include "components/password_manager/sync/browser/password_model_worker.h"
 
-#include "base/bind.h"
-#include "base/callback.h"
-#include "base/synchronization/waitable_event.h"
+#include <utility>
+
 #include "components/password_manager/core/browser/password_store.h"
-#include "components/sync/base/scoped_event_signal.h"
 
 namespace browser_sync {
 
-namespace {
-
-void CallDoWorkAndSignalEvent(const syncer::WorkCallback& work,
-                              syncer::ScopedEventSignal scoped_event_signal,
-                              syncer::SyncerError* error_info) {
-  *error_info = work.Run();
-  // The event in |scoped_event_signal| is signaled at the end of this scope.
-}
-
-}  // namespace
-
 PasswordModelWorker::PasswordModelWorker(
     const scoped_refptr<password_manager::PasswordStore>& password_store)
     : password_store_(password_store) {
   DCHECK(password_store.get());
 }
 
-syncer::SyncerError PasswordModelWorker::DoWorkAndWaitUntilDoneImpl(
-    const syncer::WorkCallback& work) {
-  syncer::SyncerError error = syncer::UNSET;
-
-  // Signaled when the task is deleted, i.e. after it runs or when it is
-  // abandoned.
-  base::WaitableEvent work_done_or_abandoned(
-      base::WaitableEvent::ResetPolicy::AUTOMATIC,
-      base::WaitableEvent::InitialState::NOT_SIGNALED);
-
-  bool scheduled = false;
-  {
-    base::AutoLock lock(password_store_lock_);
-    if (!password_store_.get())
-      return syncer::CANNOT_DO_WORK;
-
-    scheduled = password_store_->ScheduleTask(base::Bind(
-        &CallDoWorkAndSignalEvent, work,
-        base::Passed(syncer::ScopedEventSignal(&work_done_or_abandoned)),
-        &error));
-  }
-
-  if (scheduled)
-    work_done_or_abandoned.Wait();
-  else
-    error = syncer::CANNOT_DO_WORK;
-  return error;
-}
-
 syncer::ModelSafeGroup PasswordModelWorker::GetModelSafeGroup() {
   return syncer::GROUP_PASSWORD;
 }
@@ -71,6 +29,15 @@
 
 PasswordModelWorker::~PasswordModelWorker() {}
 
+void PasswordModelWorker::ScheduleWork(base::OnceClosure work) {
+  base::AutoLock lock(password_store_lock_);
+  if (password_store_) {
+    password_store_->ScheduleTask(
+        base::Bind([](base::OnceClosure work) { std::move(work).Run(); },
+                   base::Passed(std::move(work))));
+  }
+}
+
 void PasswordModelWorker::RequestStop() {
   ModelSafeWorker::RequestStop();
 
diff --git a/components/password_manager/sync/browser/password_model_worker.h b/components/password_manager/sync/browser/password_model_worker.h
index eb45efc..08405739 100644
--- a/components/password_manager/sync/browser/password_model_worker.h
+++ b/components/password_manager/sync/browser/password_model_worker.h
@@ -28,13 +28,11 @@
   bool IsOnModelThread() override;
   void RequestStop() override;
 
- protected:
-  syncer::SyncerError DoWorkAndWaitUntilDoneImpl(
-      const syncer::WorkCallback& work) override;
-
  private:
   ~PasswordModelWorker() override;
 
+  void ScheduleWork(base::OnceClosure work) override;
+
   // |password_store_| is used on password thread but released on UI thread.
   // Protected by |password_store_lock_|.
   base::Lock password_store_lock_;
diff --git a/components/payments/core/BUILD.gn b/components/payments/core/BUILD.gn
index 1892be2..0a8ca3b 100644
--- a/components/payments/core/BUILD.gn
+++ b/components/payments/core/BUILD.gn
@@ -67,10 +67,12 @@
     "//components/autofill/core/browser",
     "//components/autofill/core/browser:test_support",
     "//components/metrics/proto",
+    "//components/strings:components_strings_grit",
     "//components/ukm",
     "//components/ukm:test_support",
     "//testing/gmock",
     "//testing/gtest",
     "//third_party/libaddressinput:test_support",
+    "//ui/base",
   ]
 }
diff --git a/components/payments/core/autofill_payment_instrument.cc b/components/payments/core/autofill_payment_instrument.cc
index 398edb7..04017e4 100644
--- a/components/payments/core/autofill_payment_instrument.cc
+++ b/components/payments/core/autofill_payment_instrument.cc
@@ -10,6 +10,7 @@
 #include "components/autofill/core/browser/autofill_data_util.h"
 #include "components/autofill/core/browser/autofill_type.h"
 #include "components/autofill/core/browser/field_types.h"
+#include "components/autofill/core/browser/validation.h"
 #include "components/autofill/core/common/autofill_clock.h"
 #include "components/payments/core/basic_card_response.h"
 #include "components/payments/core/payment_request_data_util.h"
@@ -17,20 +18,6 @@
 
 namespace payments {
 
-namespace {
-
-// Returns whether |card| has a non-empty number and cardholder name. Server
-// cards will have a non-empty number.
-bool CreditCardHasNumberAndName(const autofill::CreditCard& card,
-                                const std::string& app_locale) {
-  return !card.number().empty() &&
-         !card.GetInfo(autofill::AutofillType(autofill::CREDIT_CARD_NAME_FULL),
-                       app_locale)
-              .empty();
-}
-
-}  // namespace
-
 AutofillPaymentInstrument::AutofillPaymentInstrument(
     const std::string& method_name,
     const autofill::CreditCard& card,
@@ -68,16 +55,22 @@
 }
 
 bool AutofillPaymentInstrument::IsCompleteForPayment() {
-  // A card is complete for payment if it's not expired, its number is not
-  // empty (a server card fills this condition) and there is a cardholder name.
-  // TODO(crbug.com/709776): Check for billing address association.
-  return !credit_card_.IsExpired(autofill::AutofillClock::Now()) &&
-         CreditCardHasNumberAndName(credit_card_, app_locale_);
+  return autofill::GetCompletionStatusForCard(credit_card_, app_locale_) ==
+         autofill::CREDIT_CARD_COMPLETE;
+}
+
+base::string16 AutofillPaymentInstrument::GetMissingInfoLabel() {
+  return autofill::GetCompletionMessageForCard(
+      autofill::GetCompletionStatusForCard(credit_card_, app_locale_));
 }
 
 bool AutofillPaymentInstrument::IsValidForCanMakePayment() {
-  // An expired card is still valid for the purposes of canMakePayment.
-  return CreditCardHasNumberAndName(credit_card_, app_locale_);
+  autofill::CreditCardCompletionStatus status =
+      autofill::GetCompletionStatusForCard(credit_card_, app_locale_);
+  // Card has to have a cardholder name and number for the purposes of
+  // CanMakePayment. An expired card is still valid at this stage.
+  return !(status & autofill::CREDIT_CARD_NO_CARDHOLDER ||
+           status & autofill::CREDIT_CARD_NO_NUMBER);
 }
 
 void AutofillPaymentInstrument::OnFullCardRequestSucceeded(
diff --git a/components/payments/core/autofill_payment_instrument.h b/components/payments/core/autofill_payment_instrument.h
index 84b343a..c0e49215 100644
--- a/components/payments/core/autofill_payment_instrument.h
+++ b/components/payments/core/autofill_payment_instrument.h
@@ -41,6 +41,7 @@
   // PaymentInstrument:
   void InvokePaymentApp(PaymentInstrument::Delegate* delegate) override;
   bool IsCompleteForPayment() override;
+  base::string16 GetMissingInfoLabel() override;
   bool IsValidForCanMakePayment() override;
 
   // autofill::payments::FullCardRequest::ResultDelegate:
diff --git a/components/payments/core/autofill_payment_instrument_unittest.cc b/components/payments/core/autofill_payment_instrument_unittest.cc
index 7b9db0b..622a4e9 100644
--- a/components/payments/core/autofill_payment_instrument_unittest.cc
+++ b/components/payments/core/autofill_payment_instrument_unittest.cc
@@ -5,11 +5,14 @@
 #include "components/payments/core/autofill_payment_instrument.h"
 
 #include "base/macros.h"
+#include "base/strings/string16.h"
 #include "base/strings/utf_string_conversions.h"
 #include "components/autofill/core/browser/autofill_profile.h"
 #include "components/autofill/core/browser/autofill_test_utils.h"
 #include "components/autofill/core/browser/credit_card.h"
+#include "components/strings/grit/components_strings.h"
 #include "testing/gtest/include/gtest/gtest.h"
+#include "ui/base/l10n/l10n_util.h"
 
 namespace payments {
 
@@ -40,6 +43,7 @@
   AutofillPaymentInstrument instrument("visa", local_credit_card(),
                                        billing_profiles(), "en-US", nullptr);
   EXPECT_TRUE(instrument.IsCompleteForPayment());
+  EXPECT_TRUE(instrument.GetMissingInfoLabel().empty());
 }
 
 // An expired local card is not a valid instrument for payment.
@@ -49,6 +53,9 @@
   AutofillPaymentInstrument instrument("visa", card, billing_profiles(),
                                        "en-US", nullptr);
   EXPECT_FALSE(instrument.IsCompleteForPayment());
+  EXPECT_EQ(l10n_util::GetStringUTF16(
+                IDS_PAYMENTS_VALIDATION_INVALID_CREDIT_CARD_EXPIRED),
+            instrument.GetMissingInfoLabel());
 }
 
 // A local card with no name is not a valid instrument for payment.
@@ -56,18 +63,40 @@
   autofill::CreditCard& card = local_credit_card();
   card.SetInfo(autofill::AutofillType(autofill::CREDIT_CARD_NAME_FULL),
                base::ASCIIToUTF16(""), "en-US");
+  base::string16 missing_info;
   AutofillPaymentInstrument instrument("visa", card, billing_profiles(),
                                        "en-US", nullptr);
   EXPECT_FALSE(instrument.IsCompleteForPayment());
+  EXPECT_EQ(l10n_util::GetStringUTF16(IDS_PAYMENTS_NAME_ON_CARD_REQUIRED),
+            instrument.GetMissingInfoLabel());
 }
 
 // A local card with no name is not a valid instrument for payment.
 TEST_F(AutofillPaymentInstrumentTest, IsCompleteForPayment_NoNumber) {
   autofill::CreditCard& card = local_credit_card();
   card.SetNumber(base::ASCIIToUTF16(""));
+  base::string16 missing_info;
   AutofillPaymentInstrument instrument("visa", card, billing_profiles(),
                                        "en-US", nullptr);
   EXPECT_FALSE(instrument.IsCompleteForPayment());
+  EXPECT_EQ(l10n_util::GetStringUTF16(
+                IDS_PAYMENTS_CARD_NUMBER_INVALID_VALIDATION_MESSAGE),
+            instrument.GetMissingInfoLabel());
+}
+
+// A local card with no name and no number is not a valid instrument for
+// payment.
+TEST_F(AutofillPaymentInstrumentTest,
+       IsCompleteForPayment_MultipleThingsMissing) {
+  autofill::CreditCard& card = local_credit_card();
+  card.SetNumber(base::ASCIIToUTF16(""));
+  card.SetInfo(autofill::AutofillType(autofill::CREDIT_CARD_NAME_FULL),
+               base::ASCIIToUTF16(""), "en-US");
+  AutofillPaymentInstrument instrument("visa", card, billing_profiles(),
+                                       "en-US", nullptr);
+  EXPECT_FALSE(instrument.IsCompleteForPayment());
+  EXPECT_EQ(l10n_util::GetStringUTF16(IDS_PAYMENTS_MORE_INFORMATION_REQUIRED),
+            instrument.GetMissingInfoLabel());
 }
 
 // A Masked (server) card is a valid instrument for payment.
@@ -76,6 +105,7 @@
   AutofillPaymentInstrument instrument("visa", card, billing_profiles(),
                                        "en-US", nullptr);
   EXPECT_TRUE(instrument.IsCompleteForPayment());
+  EXPECT_TRUE(instrument.GetMissingInfoLabel().empty());
 }
 
 // An expired masked (server) card is not a valid instrument for payment.
@@ -85,6 +115,9 @@
   AutofillPaymentInstrument instrument("visa", card, billing_profiles(),
                                        "en-US", nullptr);
   EXPECT_FALSE(instrument.IsCompleteForPayment());
+  EXPECT_EQ(l10n_util::GetStringUTF16(
+                IDS_PAYMENTS_VALIDATION_INVALID_CREDIT_CARD_EXPIRED),
+            instrument.GetMissingInfoLabel());
 }
 
 // An expired card is a valid instrument for canMakePayment.
diff --git a/components/payments/core/payment_instrument.h b/components/payments/core/payment_instrument.h
index 5d70847..608235be 100644
--- a/components/payments/core/payment_instrument.h
+++ b/components/payments/core/payment_instrument.h
@@ -39,6 +39,9 @@
   // Returns whether the instrument is complete to be used as a payment method
   // without further editing.
   virtual bool IsCompleteForPayment() = 0;
+  // Returns a message to indicate to the user what's missing for the instrument
+  // to be complete for payment.
+  virtual base::string16 GetMissingInfoLabel() = 0;
   // Returns whether the instrument is valid for the purposes of responding to
   // canMakePayment.
   virtual bool IsValidForCanMakePayment() = 0;
diff --git a/components/policy/core/common/BUILD.gn b/components/policy/core/common/BUILD.gn
index 17a586048..17217b1 100644
--- a/components/policy/core/common/BUILD.gn
+++ b/components/policy/core/common/BUILD.gn
@@ -3,6 +3,7 @@
 # found in the LICENSE file.
 
 import("//build/config/features.gni")
+import("//testing/libfuzzer/fuzzer_test.gni")
 
 group("common") {
   if (is_component_build) {
@@ -156,7 +157,8 @@
       "ntdsapi.lib",
     ]
   }
-  if (is_win || is_chromeos) {
+  # Compile on Linux for fuzzer and since code is reused on Chrome OS.
+  if (is_win || is_linux) {
     sources += [
       "preg_parser.cc",
       "preg_parser.h",
@@ -296,7 +298,7 @@
     "schema_registry_unittest.cc",
     "schema_unittest.cc",
   ]
-  if (is_win || is_chromeos) {
+  if (is_win || is_linux) {
     sources += [
       "preg_parser_unittest.cc",
       "registry_dict_unittest.cc",
@@ -327,7 +329,7 @@
   if (is_mac || is_ios) {
     sources += [ "mac_util_unittest.cc" ]
   }
-  if (is_win || is_chromeos) {
+  if (is_win || is_linux) {
     # Needed by policy_loader_win_unittest.cc and preg_parser_unittest.cc
     data = [
       "//chrome/test/data/policy/",
@@ -347,3 +349,17 @@
     "//testing/gtest",
   ]
 }
+
+if (is_win || is_linux) {
+  fuzzer_test("preg_parser_fuzzer") {
+    sources = [
+      "preg_parser_fuzzer.cc",
+    ]
+    seed_corpus = "//chrome/test/data/policy/gpo/fuzzer_corpus"
+    dict = "//chrome/test/data/policy/gpo/fuzzer.dict"
+    deps = [
+      ":internal",
+      "//base",
+    ]
+  }
+}
diff --git a/components/policy/core/common/preg_parser.cc b/components/policy/core/common/preg_parser.cc
index 06ff1f16c..255207c 100644
--- a/components/policy/core/common/preg_parser.cc
+++ b/components/policy/core/common/preg_parser.cc
@@ -24,10 +24,10 @@
 #include "base/strings/string16.h"
 #include "base/strings/string_split.h"
 #include "base/strings/string_util.h"
+#include "base/strings/stringprintf.h"
 #include "base/strings/utf_string_conversions.h"
 #include "base/sys_byteorder.h"
 #include "base/values.h"
-#include "components/policy/core/common/policy_load_status.h"
 #include "components/policy/core/common/registry_dict.h"
 
 #if defined(OS_WIN)
@@ -216,8 +216,8 @@
     return;
   }
 
-  std::string action_trigger(base::ToLowerASCII(value_name.substr(
-      arraysize(kActionTriggerPrefix) - 1)));
+  std::string action_trigger(base::ToLowerASCII(
+      value_name.substr(arraysize(kActionTriggerPrefix) - 1)));
   if (action_trigger == kActionTriggerDeleteValues) {
     for (const std::string& value :
          base::SplitString(DecodePRegStringValue(data), ";",
@@ -231,9 +231,8 @@
       dict->RemoveKey(key);
   } else if (base::StartsWith(action_trigger, kActionTriggerDel,
                               base::CompareCase::SENSITIVE)) {
-  dict->RemoveValue(
-        value_name.substr(arraysize(kActionTriggerPrefix) - 1 +
-                          arraysize(kActionTriggerDel) - 1));
+    dict->RemoveValue(value_name.substr(arraysize(kActionTriggerPrefix) - 1 +
+                                        arraysize(kActionTriggerDel) - 1));
   } else if (base::StartsWith(action_trigger, kActionTriggerDelVals,
                               base::CompareCase::SENSITIVE)) {
     // Delete all values.
@@ -253,41 +252,60 @@
 namespace policy {
 namespace preg_parser {
 
-const char kPRegFileHeader[8] =
-    { 'P', 'R', 'e', 'g', '\x01', '\x00', '\x00', '\x00' };
+const char kPRegFileHeader[8] = {'P',    'R',    'e',    'g',
+                                 '\x01', '\x00', '\x00', '\x00'};
 
 bool ReadFile(const base::FilePath& file_path,
               const base::string16& root,
               RegistryDict* dict,
-              PolicyLoadStatusSample* status) {
+              PolicyLoadStatusSample* status_sample) {
   base::MemoryMappedFile mapped_file;
   if (!mapped_file.Initialize(file_path) || !mapped_file.IsValid()) {
     PLOG(ERROR) << "Failed to map " << file_path.value();
-    status->Add(POLICY_LOAD_STATUS_READ_ERROR);
+    status_sample->Add(POLICY_LOAD_STATUS_READ_ERROR);
     return false;
   }
 
-  if (mapped_file.length() > kMaxPRegFileSize) {
-    LOG(ERROR) << "PReg file " << file_path.value() << " too large: "
-               << mapped_file.length();
-    status->Add(POLICY_LOAD_STATUS_TOO_BIG);
+  PolicyLoadStatus status = POLICY_LOAD_STATUS_SIZE;
+  bool res = ReadDataInternal(
+      mapped_file.data(), mapped_file.length(), root, dict, &status,
+      base::StringPrintf("file '%s'", file_path.value().c_str()));
+  if (!res) {
+    DCHECK(status != POLICY_LOAD_STATUS_SIZE);
+    status_sample->Add(status);
+  }
+  return res;
+}
+
+POLICY_EXPORT bool ReadDataInternal(const uint8_t* data,
+                                    size_t data_size,
+                                    const base::string16& root,
+                                    RegistryDict* dict,
+                                    PolicyLoadStatus* status,
+                                    const std::string& debug_name) {
+  DCHECK(status);
+
+  // Check data size.
+  if (data_size > kMaxPRegFileSize) {
+    LOG(ERROR) << "PReg " << debug_name << " too large: " << data_size;
+    *status = POLICY_LOAD_STATUS_TOO_BIG;
     return false;
   }
 
   // Check the header.
   const int kHeaderSize = arraysize(kPRegFileHeader);
-  if (mapped_file.length() < kHeaderSize ||
-      memcmp(kPRegFileHeader, mapped_file.data(), kHeaderSize) != 0) {
-    LOG(ERROR) << "Bad policy file " << file_path.value();
-    status->Add(POLICY_LOAD_STATUS_PARSE_ERROR);
+  if (!data || data_size < kHeaderSize ||
+      memcmp(kPRegFileHeader, data, kHeaderSize) != 0) {
+    LOG(ERROR) << "Bad PReg " << debug_name;
+    *status = POLICY_LOAD_STATUS_PARSE_ERROR;
     return false;
   }
 
-  // Parse file contents, which is UCS-2 and little-endian. The latter I
+  // Parse data, which is expected to be UCS-2 and little-endian. The latter I
   // couldn't find documentation on, but the example I saw were all
   // little-endian. It'd be interesting to check on big-endian hardware.
-  const uint8_t* cursor = mapped_file.data() + kHeaderSize;
-  const uint8_t* end = mapped_file.data() + mapped_file.length();
+  const uint8_t* cursor = data + kHeaderSize;
+  const uint8_t* end = data + data_size;
   while (true) {
     if (cursor == end)
       return true;
@@ -341,10 +359,9 @@
       HandleRecord(key_name.substr(root.size()), value, type, data, dict);
   }
 
-  LOG(ERROR) << "Error parsing " << file_path.value() << " at offset "
-             << reinterpret_cast<const uint8_t*>(cursor - 1) -
-                    mapped_file.data();
-  status->Add(POLICY_LOAD_STATUS_PARSE_ERROR);
+  LOG(ERROR) << "Error parsing PReg " << debug_name << " at offset "
+             << (reinterpret_cast<const uint8_t*>(cursor - 1) - data);
+  *status = POLICY_LOAD_STATUS_PARSE_ERROR;
   return false;
 }
 
diff --git a/components/policy/core/common/preg_parser.h b/components/policy/core/common/preg_parser.h
index 03872a4..bae0cf6 100644
--- a/components/policy/core/common/preg_parser.h
+++ b/components/policy/core/common/preg_parser.h
@@ -14,6 +14,7 @@
 #include <vector>
 
 #include "base/strings/string16.h"
+#include "components/policy/core/common/policy_load_status.h"
 #include "components/policy/policy_export.h"
 
 namespace base {
@@ -22,7 +23,6 @@
 
 namespace policy {
 
-class PolicyLoadStatusSample;
 class RegistryDict;
 
 namespace preg_parser {
@@ -31,12 +31,24 @@
 POLICY_EXPORT extern const char kPRegFileHeader[8];
 
 // Reads the PReg file at |file_path| and writes the registry data to |dict|.
-// |root| specifies the registry subtree the caller is interested in,
-// everything else gets ignored.
+// |root| specifies the registry subtree the caller is interested in, everything
+// else gets ignored.
 POLICY_EXPORT bool ReadFile(const base::FilePath& file_path,
                             const base::string16& root,
                             RegistryDict* dict,
-                            PolicyLoadStatusSample* status);
+                            PolicyLoadStatusSample* status_sample);
+
+// Similar to ReadFile, but reads from |data| of length |data_size| instead of
+// a file, and writes status to the enum PolicyLoadStatus, which does not record
+// UMA stats, unlike |PolicyLoadStatusSample|. |debug_name| is printed out along
+// with error messages. Used internally and for testing only. All other callers
+// should use ReadFile instead.
+POLICY_EXPORT bool ReadDataInternal(const uint8_t* data,
+                                    size_t data_size,
+                                    const base::string16& root,
+                                    RegistryDict* dict,
+                                    PolicyLoadStatus* status,
+                                    const std::string& debug_name);
 
 }  // namespace preg_parser
 }  // namespace policy
diff --git a/components/policy/core/common/preg_parser_fuzzer.cc b/components/policy/core/common/preg_parser_fuzzer.cc
new file mode 100644
index 0000000..aff3544
--- /dev/null
+++ b/components/policy/core/common/preg_parser_fuzzer.cc
@@ -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.
+
+#include <stddef.h>
+#include <stdint.h>
+
+#include <base/strings/utf_string_conversions.h>
+#include "base/strings/string16.h"
+
+#include "components/policy/core/common/policy_load_status.h"
+#include "components/policy/core/common/preg_parser.h"
+#include "components/policy/core/common/registry_dict.h"
+
+namespace {
+
+const char kRegistryChromePolicyKey[] = "SOFTWARE\\Policies\\Chromium";
+
+}  // namespace
+
+namespace policy {
+namespace preg_parser {
+
+// Disable logging.
+struct Environment {
+  Environment() : root(base::ASCIIToUTF16(kRegistryChromePolicyKey)) {
+    logging::SetMinLogLevel(logging::LOG_FATAL);
+  }
+
+  const base::string16 root;
+};
+
+Environment* env = new Environment();
+
+// Entry point for LibFuzzer.
+extern "C" int LLVMFuzzerTestOneInput(const uint8_t* data, size_t size) {
+  RegistryDict dict;
+  PolicyLoadStatus status;
+  ReadDataInternal(data, size, env->root, &dict, &status, "data");
+  return 0;
+}
+
+}  // namespace preg_parser
+}  // namespace policy
diff --git a/components/prefs/pref_service.cc b/components/prefs/pref_service.cc
index 6858839..4ebea53 100644
--- a/components/prefs/pref_service.cc
+++ b/components/prefs/pref_service.cc
@@ -193,37 +193,27 @@
   return pref && !pref->IsDefaultValue();
 }
 
-std::unique_ptr<base::DictionaryValue> PrefService::GetPreferenceValues()
-    const {
+void PrefService::IteratePreferenceValues(
+    base::RepeatingCallback<void(const std::string& key,
+                                 const base::Value& value)> callback) const {
   DCHECK(CalledOnValidThread());
-  std::unique_ptr<base::DictionaryValue> out(new base::DictionaryValue);
-  for (const auto& it : *pref_registry_) {
-    out->Set(it.first, GetPreferenceValue(it.first)->CreateDeepCopy());
-  }
-  return out;
+  for (const auto& it : *pref_registry_)
+    callback.Run(it.first, *GetPreferenceValue(it.first));
 }
 
-std::unique_ptr<base::DictionaryValue>
-PrefService::GetPreferenceValuesOmitDefaults() const {
+std::unique_ptr<base::DictionaryValue> PrefService::GetPreferenceValues(
+    IncludeDefaults include_defaults) const {
   DCHECK(CalledOnValidThread());
   std::unique_ptr<base::DictionaryValue> out(new base::DictionaryValue);
   for (const auto& it : *pref_registry_) {
-    const Preference* pref = FindPreference(it.first);
-    if (pref->IsDefaultValue())
-      continue;
-    out->Set(it.first, pref->GetValue()->CreateDeepCopy());
-  }
-  return out;
-}
-
-std::unique_ptr<base::DictionaryValue>
-PrefService::GetPreferenceValuesWithoutPathExpansion() const {
-  DCHECK(CalledOnValidThread());
-  std::unique_ptr<base::DictionaryValue> out(new base::DictionaryValue);
-  for (const auto& it : *pref_registry_) {
-    const base::Value* value = GetPreferenceValue(it.first);
-    DCHECK(value);
-    out->SetWithoutPathExpansion(it.first, value->CreateDeepCopy());
+    if (include_defaults == INCLUDE_DEFAULTS) {
+      out->Set(it.first, GetPreferenceValue(it.first)->CreateDeepCopy());
+    } else {
+      const Preference* pref = FindPreference(it.first);
+      if (pref->IsDefaultValue())
+        continue;
+      out->Set(it.first, pref->GetValue()->CreateDeepCopy());
+    }
   }
   return out;
 }
diff --git a/components/prefs/pref_service.h b/components/prefs/pref_service.h
index e08e361..a08d7f8 100644
--- a/components/prefs/pref_service.h
+++ b/components/prefs/pref_service.h
@@ -60,6 +60,11 @@
     INITIALIZATION_STATUS_ERROR
   };
 
+  enum IncludeDefaults {
+    INCLUDE_DEFAULTS,
+    EXCLUDE_DEFAULTS,
+  };
+
   // A helper class to store all the information associated with a preference.
   class COMPONENTS_PREFS_EXPORT Preference {
    public:
@@ -250,23 +255,22 @@
   // this checks if a value exists for the path.
   bool HasPrefPath(const std::string& path) const;
 
-  // Returns a dictionary with effective preference values.
-  std::unique_ptr<base::DictionaryValue> GetPreferenceValues() const;
+  // Issues a callback for every preference value. The preferences must not be
+  // mutated during iteration.
+  void IteratePreferenceValues(
+      base::RepeatingCallback<void(const std::string& key,
+                                   const base::Value& value)> callback) const;
 
-  // Returns a dictionary with effective preference values, omitting prefs that
-  // are at their default values.
-  std::unique_ptr<base::DictionaryValue> GetPreferenceValuesOmitDefaults()
-      const;
-
-  // Returns a dictionary with effective preference values. Contrary to
-  // GetPreferenceValues(), the paths of registered preferences are not split on
-  // '.' characters. If a registered preference stores a dictionary, however,
-  // the hierarchical structure inside the preference will be preserved.
-  // For example, if "foo.bar" is a registered preference, the result could look
-  // like this:
-  //   {"foo.bar": {"a": {"b": true}}}.
-  std::unique_ptr<base::DictionaryValue>
-  GetPreferenceValuesWithoutPathExpansion() const;
+  // Returns a dictionary with effective preference values. This is an expensive
+  // operation which does a deep copy. Use only if you really need the results
+  // in a base::Value (for example, for JSON serialization). Otherwise use
+  // IteratePreferenceValues above to avoid the copies.
+  //
+  // If INCLUDE_DEFAULTS is requested, preferences set to their default values
+  // will be included. Otherwise, these will be omitted from the returned
+  // dictionary.
+  std::unique_ptr<base::DictionaryValue> GetPreferenceValues(
+      IncludeDefaults include_defaults) const;
 
   bool ReadOnly() const;
 
diff --git a/components/search_engines/template_url.cc b/components/search_engines/template_url.cc
index a3a162a..c091758 100644
--- a/components/search_engines/template_url.cc
+++ b/components/search_engines/template_url.cc
@@ -1140,8 +1140,12 @@
 // TemplateURL ----------------------------------------------------------------
 
 TemplateURL::AssociatedExtensionInfo::AssociatedExtensionInfo(
-    const std::string& extension_id)
-    : extension_id(extension_id), wants_to_be_default_engine(false) {}
+    const std::string& extension_id,
+    base::Time install_time,
+    bool wants_to_be_default_engine)
+    : extension_id(extension_id),
+      install_time(install_time),
+      wants_to_be_default_engine(wants_to_be_default_engine) {}
 
 TemplateURL::AssociatedExtensionInfo::~AssociatedExtensionInfo() {
 }
@@ -1164,6 +1168,21 @@
     data_.search_terms_replacement_key = google_util::kInstantExtendedAPIParam;
 }
 
+TemplateURL::TemplateURL(const TemplateURLData& data,
+                         Type type,
+                         std::string extension_id,
+                         base::Time install_time,
+                         bool wants_to_be_default_engine)
+    : TemplateURL(data, type) {
+  DCHECK(type == NORMAL_CONTROLLED_BY_EXTENSION ||
+         type == OMNIBOX_API_EXTENSION);
+  // Omnibox keywords may not be set as default.
+  DCHECK(!wants_to_be_default_engine || type != OMNIBOX_API_EXTENSION) << type;
+  DCHECK_EQ(kInvalidTemplateURLID, data.id);
+  extension_info_ = base::MakeUnique<AssociatedExtensionInfo>(
+      extension_id, install_time, wants_to_be_default_engine);
+}
+
 TemplateURL::~TemplateURL() {
 }
 
diff --git a/components/search_engines/template_url.h b/components/search_engines/template_url.h
index 92fb852..1aaa2645 100644
--- a/components/search_engines/template_url.h
+++ b/components/search_engines/template_url.h
@@ -482,20 +482,31 @@
   // An AssociatedExtensionInfo represents information about the extension that
   // added the search engine.
   struct AssociatedExtensionInfo {
-    explicit AssociatedExtensionInfo(const std::string& extension_id);
+    AssociatedExtensionInfo(const std::string& extension_id,
+                            base::Time install_time,
+                            bool wants_to_be_default_engine);
     ~AssociatedExtensionInfo();
 
     std::string extension_id;
 
-    // Whether the search engine is supposed to be default.
-    bool wants_to_be_default_engine;
-
     // Used to resolve conflicts when there are multiple extensions specifying
     // the default search engine. The most recently-installed wins.
     base::Time install_time;
+
+    // Whether the search engine is supposed to be default.
+    bool wants_to_be_default_engine;
   };
 
   explicit TemplateURL(const TemplateURLData& data, Type type = NORMAL);
+
+  // Constructor for extension controlled engine. |type| must be
+  // NORMAL_CONTROLLED_BY_EXTENSION or OMNIBOX_API_EXTENSION.
+  TemplateURL(const TemplateURLData& data,
+              Type type,
+              std::string extension_id,
+              base::Time install_time,
+              bool wants_to_be_default_engine);
+
   ~TemplateURL();
 
   // Generates a suitable keyword for the specified url, which must be valid.
diff --git a/components/search_engines/template_url_service.cc b/components/search_engines/template_url_service.cc
index f4e7a85..1f687bf 100644
--- a/components/search_engines/template_url_service.cc
+++ b/components/search_engines/template_url_service.cc
@@ -431,6 +431,13 @@
 
 TemplateURL* TemplateURLService::Add(
     std::unique_ptr<TemplateURL> template_url) {
+  DCHECK(template_url);
+  DCHECK(
+      !IsCreatedByExtension(template_url.get()) ||
+      (!FindTemplateURLForExtension(template_url->extension_info_->extension_id,
+                                    template_url->type()) &&
+       template_url->id() == kInvalidTemplateURLID));
+
   KeywordWebDataService::BatchModeScoper scoper(web_data_service_.get());
   TemplateURL* template_url_ptr = AddNoNotify(std::move(template_url), true);
   if (template_url_ptr)
@@ -452,21 +459,6 @@
   return Add(std::move(template_url));
 }
 
-TemplateURL* TemplateURLService::AddExtensionControlledTURL(
-    std::unique_ptr<TemplateURL> template_url,
-    std::unique_ptr<TemplateURL::AssociatedExtensionInfo> info) {
-  DCHECK(template_url);
-  DCHECK_EQ(kInvalidTemplateURLID, template_url->id());
-  DCHECK(info);
-  DCHECK_NE(TemplateURL::NORMAL, template_url->type());
-  DCHECK(
-      !FindTemplateURLForExtension(info->extension_id, template_url->type()));
-
-  template_url->extension_info_.swap(info);
-
-  return Add(std::move(template_url));
-}
-
 void TemplateURLService::Remove(TemplateURL* template_url) {
   RemoveNoNotify(template_url);
   NotifyObservers();
@@ -534,12 +526,9 @@
   data.SetShortName(base::UTF8ToUTF16(extension_name));
   data.SetKeyword(base::UTF8ToUTF16(keyword));
   data.SetURL(template_url_string);
-  std::unique_ptr<TemplateURL::AssociatedExtensionInfo> info(
-      new TemplateURL::AssociatedExtensionInfo(extension_id));
-  info->install_time = extension_install_time;
-  AddExtensionControlledTURL(
-      base::MakeUnique<TemplateURL>(data, TemplateURL::OMNIBOX_API_EXTENSION),
-      std::move(info));
+  Add(base::MakeUnique<TemplateURL>(data, TemplateURL::OMNIBOX_API_EXTENSION,
+                                    extension_id, extension_install_time,
+                                    false));
 }
 
 TemplateURLService::TemplateURLVector TemplateURLService::GetTemplateURLs() {
@@ -1985,11 +1974,8 @@
       // (1) Tests that initialize the TemplateURLService in peculiar ways.
       // (2) If the user deleted the pre-populated default and we subsequently
       // lost their user-selected value.
-      std::unique_ptr<TemplateURL> new_dse_ptr =
-          base::MakeUnique<TemplateURL>(*data);
-      TemplateURL* new_dse = new_dse_ptr.get();
-      if (AddNoNotify(std::move(new_dse_ptr), true))
-        default_search_provider_ = new_dse;
+      default_search_provider_ =
+          AddNoNotify(base::MakeUnique<TemplateURL>(*data), true);
     }
   } else if (source == DefaultSearchManager::FROM_USER) {
     default_search_provider_ = GetTemplateURLForGUID(data->sync_guid);
@@ -2002,11 +1988,8 @@
       UpdateNoNotify(default_search_provider_, TemplateURL(new_data));
     } else {
       new_data.id = kInvalidTemplateURLID;
-      std::unique_ptr<TemplateURL> new_dse_ptr =
-          base::MakeUnique<TemplateURL>(new_data);
-      TemplateURL* new_dse = new_dse_ptr.get();
-      if (AddNoNotify(std::move(new_dse_ptr), true))
-        default_search_provider_ = new_dse;
+      default_search_provider_ =
+          AddNoNotify(base::MakeUnique<TemplateURL>(new_data), true);
     }
     if (default_search_provider_ && prefs_) {
       prefs_->SetString(prefs::kSyncedDefaultSearchProviderGUID,
diff --git a/components/search_engines/template_url_service.h b/components/search_engines/template_url_service.h
index 4187327..7e57b2b 100644
--- a/components/search_engines/template_url_service.h
+++ b/components/search_engines/template_url_service.h
@@ -189,11 +189,6 @@
                                 const base::string16& keyword,
                                 const std::string& url);
 
-  // Adds a search engine with the specified info for extensions.
-  TemplateURL* AddExtensionControlledTURL(
-      std::unique_ptr<TemplateURL> template_url,
-      std::unique_ptr<TemplateURL::AssociatedExtensionInfo> info);
-
   // Removes the keyword from the model. This deletes the supplied TemplateURL.
   // This fails if the supplied template_url is the default search provider.
   void Remove(TemplateURL* template_url);
diff --git a/components/security_state/content/content_utils.cc b/components/security_state/content/content_utils.cc
index 0464d59..3b1b413 100644
--- a/components/security_state/content/content_utils.cc
+++ b/components/security_state/content/content_utils.cc
@@ -154,10 +154,6 @@
   state->key_exchange_group = ssl.key_exchange_group;
   state->security_bits = ssl.security_bits;
   state->pkp_bypassed = ssl.pkp_bypassed;
-  state->sct_verify_statuses.clear();
-  state->sct_verify_statuses.insert(state->sct_verify_statuses.begin(),
-                                    ssl.sct_statuses.begin(),
-                                    ssl.sct_statuses.end());
   state->displayed_mixed_content =
       !!(ssl.content_status & content::SSLStatus::DISPLAYED_INSECURE_CONTENT);
   state->ran_mixed_content =
diff --git a/components/security_state/core/security_state.cc b/components/security_state/core/security_state.cc
index 0843ff8..aed4e42 100644
--- a/components/security_state/core/security_state.cc
+++ b/components/security_state/core/security_state.cc
@@ -213,8 +213,6 @@
   security_info->obsolete_ssl_status =
       net::ObsoleteSSLStatus(security_info->connection_status);
   security_info->pkp_bypassed = visible_security_state.pkp_bypassed;
-  security_info->sct_verify_statuses =
-      visible_security_state.sct_verify_statuses;
 
   security_info->malicious_content_status =
       visible_security_state.malicious_content_status;
@@ -304,7 +302,6 @@
           connection_status == other.connection_status &&
           key_exchange_group == other.key_exchange_group &&
           security_bits == other.security_bits &&
-          sct_verify_statuses == other.sct_verify_statuses &&
           displayed_mixed_content == other.displayed_mixed_content &&
           ran_mixed_content == other.ran_mixed_content &&
           displayed_content_with_cert_errors ==
diff --git a/components/security_state/core/security_state.h b/components/security_state/core/security_state.h
index aa5e8d48..4d1ec3f9 100644
--- a/components/security_state/core/security_state.h
+++ b/components/security_state/core/security_state.h
@@ -110,9 +110,6 @@
   // content that was loaded over an HTTPS connection with
   // certificate errors.
   ContentStatus content_with_cert_errors_status;
-  // The verification statuses of the signed certificate timestamps
-  // for the connection.
-  std::vector<net::ct::SCTVerifyStatus> sct_verify_statuses;
   bool scheme_is_cryptographic;
   net::CertStatus cert_status;
   scoped_refptr<net::X509Certificate> certificate;
@@ -168,9 +165,6 @@
   // unknown (older cache entries may not store the value) or not applicable.
   uint16_t key_exchange_group;
   int security_bits;
-  // The verification statuses of the Signed Certificate
-  // Timestamps (if any) that the server provided.
-  std::vector<net::ct::SCTVerifyStatus> sct_verify_statuses;
   // True if the page displayed passive mixed content.
   bool displayed_mixed_content;
   // True if the secure page contained a form with a nonsecure target.
diff --git a/components/spellcheck/renderer/BUILD.gn b/components/spellcheck/renderer/BUILD.gn
index eb323b2..2af3945f 100644
--- a/components/spellcheck/renderer/BUILD.gn
+++ b/components/spellcheck/renderer/BUILD.gn
@@ -8,16 +8,10 @@
   sources = [
     "custom_dictionary_engine.cc",
     "custom_dictionary_engine.h",
-    "hunspell_engine.cc",
-    "hunspell_engine.h",
-    "platform_spelling_engine.cc",
-    "platform_spelling_engine.h",
     "spellcheck.cc",
     "spellcheck.h",
     "spellcheck_language.cc",
     "spellcheck_language.h",
-    "spellcheck_panel.cc",
-    "spellcheck_panel.h",
     "spellcheck_provider.cc",
     "spellcheck_provider.h",
     "spellcheck_worditerator.cc",
@@ -25,22 +19,22 @@
     "spelling_engine.h",
   ]
 
-  if (!use_browser_spellchecker) {
-    sources -= [
+  if (use_browser_spellchecker) {
+    sources += [
       "platform_spelling_engine.cc",
       "platform_spelling_engine.h",
     ]
   }
 
-  if (!has_spellcheck_panel) {
-    sources -= [
+  if (has_spellcheck_panel) {
+    sources += [
       "spellcheck_panel.cc",
       "spellcheck_panel.h",
     ]
   }
 
-  if (is_android) {
-    sources -= [
+  if (!is_android) {
+    sources += [
       "hunspell_engine.cc",
       "hunspell_engine.h",
     ]
@@ -71,35 +65,28 @@
   testonly = true
   sources = [
     "custom_dictionary_engine_unittest.cc",
-    "spellcheck_multilingual_unittest.cc",
-    "spellcheck_provider_hunspell_unittest.cc",
     "spellcheck_provider_mac_unittest.cc",
     "spellcheck_provider_test.cc",
     "spellcheck_provider_test.h",
     "spellcheck_provider_unittest.cc",
-    "spellcheck_unittest.cc",
     "spellcheck_worditerator_unittest.cc",
   ]
   data = [
     "//third_party/hunspell_dictionaries/",
   ]
 
-  if (is_mac) {
-    sources -= [
+  if (!is_android) {
+    sources += [ "spellcheck_unittest.cc" ]
+  }
+
+  if (!is_mac && !is_android) {
+    sources += [
       # This tests Chrome's spellchecker which Mac doesn't use.
       "spellcheck_multilingual_unittest.cc",
       "spellcheck_provider_hunspell_unittest.cc",
     ]
   }
 
-  if (is_android) {
-    sources -= [
-      "spellcheck_multilingual_unittest.cc",
-      "spellcheck_provider_hunspell_unittest.cc",
-      "spellcheck_unittest.cc",
-    ]
-  }
-
   deps = [
     ":renderer",
     "//base:i18n",
diff --git a/components/subresource_filter/content/browser/BUILD.gn b/components/subresource_filter/content/browser/BUILD.gn
index bda66f0..c5c7c887 100644
--- a/components/subresource_filter/content/browser/BUILD.gn
+++ b/components/subresource_filter/content/browser/BUILD.gn
@@ -16,6 +16,8 @@
     "content_subresource_filter_driver_factory.h",
     "content_subresource_filter_throttle_manager.cc",
     "content_subresource_filter_throttle_manager.h",
+    "page_load_statistics.cc",
+    "page_load_statistics.h",
     "subframe_navigation_filtering_throttle.cc",
     "subframe_navigation_filtering_throttle.h",
     "subresource_filter_client.h",
diff --git a/components/subresource_filter/content/browser/content_subresource_filter_driver_factory.cc b/components/subresource_filter/content/browser/content_subresource_filter_driver_factory.cc
index 7ba5c822..3031908 100644
--- a/components/subresource_filter/content/browser/content_subresource_filter_driver_factory.cc
+++ b/components/subresource_filter/content/browser/content_subresource_filter_driver_factory.cc
@@ -10,16 +10,12 @@
 #include "base/time/time.h"
 #include "components/subresource_filter/content/browser/content_activation_list_utils.h"
 #include "components/subresource_filter/content/browser/subresource_filter_client.h"
-#include "components/subresource_filter/content/common/subresource_filter_messages.h"
 #include "components/subresource_filter/core/browser/subresource_filter_features.h"
 #include "components/subresource_filter/core/common/activation_list.h"
 #include "components/subresource_filter/core/common/activation_state.h"
-#include "components/subresource_filter/core/common/time_measurements.h"
 #include "content/public/browser/navigation_handle.h"
 #include "content/public/browser/navigation_throttle.h"
-#include "content/public/browser/render_frame_host.h"
 #include "content/public/browser/web_contents.h"
-#include "ipc/ipc_message_macros.h"
 #include "net/base/net_errors.h"
 #include "url/gurl.h"
 
@@ -104,23 +100,6 @@
 ContentSubresourceFilterDriverFactory::
     ~ContentSubresourceFilterDriverFactory() {}
 
-void ContentSubresourceFilterDriverFactory::OnDocumentLoadStatistics(
-    const DocumentLoadStatistics& statistics) {
-  // Note: Chances of overflow are negligible.
-  aggregated_document_statistics_.num_loads_total += statistics.num_loads_total;
-  aggregated_document_statistics_.num_loads_evaluated +=
-      statistics.num_loads_evaluated;
-  aggregated_document_statistics_.num_loads_matching_rules +=
-      statistics.num_loads_matching_rules;
-  aggregated_document_statistics_.num_loads_disallowed +=
-      statistics.num_loads_disallowed;
-
-  aggregated_document_statistics_.evaluation_total_wall_duration +=
-      statistics.evaluation_total_wall_duration;
-  aggregated_document_statistics_.evaluation_total_cpu_duration +=
-      statistics.evaluation_total_cpu_duration;
-}
-
 bool ContentSubresourceFilterDriverFactory::IsWhitelisted(
     const GURL& url) const {
   return whitelisted_hosts_.find(url.host()) != whitelisted_hosts_.end() ||
@@ -255,7 +234,6 @@
   activation_list_matches_.clear();
   activation_level_ = ActivationLevel::DISABLED;
   measure_performance_ = false;
-  aggregated_document_statistics_ = DocumentLoadStatistics();
 }
 
 void ContentSubresourceFilterDriverFactory::DidStartNavigation(
@@ -276,59 +254,6 @@
     navigation_chain_.push_back(navigation_handle->GetURL());
 }
 
-void ContentSubresourceFilterDriverFactory::DidFinishLoad(
-    content::RenderFrameHost* render_frame_host,
-    const GURL& validated_url) {
-  if (render_frame_host->GetParent())
-    return;
-
-  if (activation_level_ != ActivationLevel::DISABLED) {
-    UMA_HISTOGRAM_COUNTS_1000(
-        "SubresourceFilter.PageLoad.NumSubresourceLoads.Total",
-        aggregated_document_statistics_.num_loads_total);
-    UMA_HISTOGRAM_COUNTS_1000(
-        "SubresourceFilter.PageLoad.NumSubresourceLoads.Evaluated",
-        aggregated_document_statistics_.num_loads_evaluated);
-    UMA_HISTOGRAM_COUNTS_1000(
-        "SubresourceFilter.PageLoad.NumSubresourceLoads.MatchedRules",
-        aggregated_document_statistics_.num_loads_matching_rules);
-    UMA_HISTOGRAM_COUNTS_1000(
-        "SubresourceFilter.PageLoad.NumSubresourceLoads.Disallowed",
-        aggregated_document_statistics_.num_loads_disallowed);
-  }
-
-  if (measure_performance_) {
-    DCHECK(activation_level_ != ActivationLevel::DISABLED);
-    UMA_HISTOGRAM_CUSTOM_MICRO_TIMES(
-        "SubresourceFilter.PageLoad.SubresourceEvaluation.TotalWallDuration",
-        aggregated_document_statistics_.evaluation_total_wall_duration,
-        base::TimeDelta::FromMicroseconds(1), base::TimeDelta::FromSeconds(10),
-        50);
-    UMA_HISTOGRAM_CUSTOM_MICRO_TIMES(
-        "SubresourceFilter.PageLoad.SubresourceEvaluation.TotalCPUDuration",
-        aggregated_document_statistics_.evaluation_total_cpu_duration,
-        base::TimeDelta::FromMicroseconds(1), base::TimeDelta::FromSeconds(10),
-        50);
-  } else {
-    DCHECK(aggregated_document_statistics_.evaluation_total_wall_duration
-               .is_zero());
-    DCHECK(aggregated_document_statistics_.evaluation_total_cpu_duration
-               .is_zero());
-  }
-}
-
-bool ContentSubresourceFilterDriverFactory::OnMessageReceived(
-    const IPC::Message& message,
-    content::RenderFrameHost* render_frame_host) {
-  bool handled = true;
-  IPC_BEGIN_MESSAGE_MAP(ContentSubresourceFilterDriverFactory, message)
-    IPC_MESSAGE_HANDLER(SubresourceFilterHostMsg_DocumentLoadStatistics,
-                        OnDocumentLoadStatistics)
-    IPC_MESSAGE_UNHANDLED(handled = false)
-  IPC_END_MESSAGE_MAP()
-  return handled;
-}
-
 bool ContentSubresourceFilterDriverFactory::DidURLMatchActivationList(
     const GURL& url,
     ActivationList activation_list) const {
diff --git a/components/subresource_filter/content/browser/content_subresource_filter_driver_factory.h b/components/subresource_filter/content/browser/content_subresource_filter_driver_factory.h
index 7577274..0e1ce22 100644
--- a/components/subresource_filter/content/browser/content_subresource_filter_driver_factory.h
+++ b/components/subresource_filter/content/browser/content_subresource_filter_driver_factory.h
@@ -18,14 +18,12 @@
 #include "components/safe_browsing_db/util.h"
 #include "components/subresource_filter/content/browser/content_subresource_filter_throttle_manager.h"
 #include "components/subresource_filter/core/browser/subresource_filter_features.h"
-#include "components/subresource_filter/core/common/document_load_statistics.h"
 #include "content/public/browser/web_contents_observer.h"
 #include "ui/base/page_transition_types.h"
 #include "url/gurl.h"
 
 namespace content {
 class WebContents;
-class RenderFrameHost;
 }  // namespace content
 
 namespace safe_browsing {
@@ -142,8 +140,6 @@
 
   void ResetActivationState();
 
-  void OnDocumentLoadStatistics(const DocumentLoadStatistics& statistics);
-
   bool IsWhitelisted(const GURL& url) const;
 
   // content::WebContentsObserver:
@@ -151,10 +147,6 @@
       content::NavigationHandle* navigation_handle) override;
   void DidRedirectNavigation(
       content::NavigationHandle* navigation_handle) override;
-  void DidFinishLoad(content::RenderFrameHost* render_frame_host,
-                     const GURL& validated_url) override;
-  bool OnMessageReceived(const IPC::Message& message,
-                         content::RenderFrameHost* render_frame_host) override;
 
   // Checks base on the value of |url| and current activation scope if
   // activation signal should be sent.
@@ -191,10 +183,6 @@
 
   URLToActivationListsMap activation_list_matches_;
 
-  // Statistics about subresource loads, aggregated across all frames of the
-  // current page.
-  DocumentLoadStatistics aggregated_document_statistics_;
-
   DISALLOW_COPY_AND_ASSIGN(ContentSubresourceFilterDriverFactory);
 };
 
diff --git a/components/subresource_filter/content/browser/content_subresource_filter_throttle_manager.cc b/components/subresource_filter/content/browser/content_subresource_filter_throttle_manager.cc
index eed2e727..3bdccc60 100644
--- a/components/subresource_filter/content/browser/content_subresource_filter_throttle_manager.cc
+++ b/components/subresource_filter/content/browser/content_subresource_filter_throttle_manager.cc
@@ -9,6 +9,7 @@
 #include "base/memory/ptr_util.h"
 #include "components/subresource_filter/content/browser/activation_state_computing_navigation_throttle.h"
 #include "components/subresource_filter/content/browser/async_document_subresource_filter.h"
+#include "components/subresource_filter/content/browser/page_load_statistics.h"
 #include "components/subresource_filter/content/browser/subframe_navigation_filtering_throttle.h"
 #include "components/subresource_filter/content/common/subresource_filter_messages.h"
 #include "content/public/browser/navigation_handle.h"
@@ -126,6 +127,15 @@
     ongoing_activation_throttles_.erase(throttle);
   }
 
+  if (navigation_handle->IsInMainFrame()) {
+    current_committed_load_has_notified_disallowed_load_ = false;
+    statistics_.reset();
+    if (filter) {
+      statistics_ =
+          base::MakeUnique<PageLoadStatistics>(filter->activation_state());
+    }
+  }
+
   // Make sure |activated_frame_hosts_| is updated or cleaned up depending on
   // this navigation's activation state.
   content::RenderFrameHost* frame_host =
@@ -138,12 +148,17 @@
   } else {
     activated_frame_hosts_.erase(frame_host);
   }
-
-  if (navigation_handle->IsInMainFrame())
-    current_committed_load_has_notified_disallowed_load_ = false;
   DestroyRulesetHandleIfNoLongerUsed();
 }
 
+void ContentSubresourceFilterThrottleManager::DidFinishLoad(
+    content::RenderFrameHost* render_frame_host,
+    const GURL& validated_url) {
+  if (!statistics_ || render_frame_host->GetParent())
+    return;
+  statistics_->OnDidFinishLoad();
+}
+
 bool ContentSubresourceFilterThrottleManager::OnMessageReceived(
     const IPC::Message& message,
     content::RenderFrameHost* render_frame_host) {
@@ -151,6 +166,8 @@
   IPC_BEGIN_MESSAGE_MAP(ContentSubresourceFilterThrottleManager, message)
     IPC_MESSAGE_HANDLER(SubresourceFilterHostMsg_DidDisallowFirstSubresource,
                         MaybeCallFirstDisallowedLoad)
+    IPC_MESSAGE_HANDLER(SubresourceFilterHostMsg_DocumentLoadStatistics,
+                        OnDocumentLoadStatistics)
     IPC_MESSAGE_UNHANDLED(handled = false)
   IPC_END_MESSAGE_MAP()
   return handled;
@@ -245,4 +262,10 @@
   }
 }
 
+void ContentSubresourceFilterThrottleManager::OnDocumentLoadStatistics(
+    const DocumentLoadStatistics& statistics) {
+  if (statistics_)
+    statistics_->OnDocumentLoadStatistics(statistics);
+}
+
 }  // namespace subresource_filter
diff --git a/components/subresource_filter/content/browser/content_subresource_filter_throttle_manager.h b/components/subresource_filter/content/browser/content_subresource_filter_throttle_manager.h
index e113c3c..8b65931 100644
--- a/components/subresource_filter/content/browser/content_subresource_filter_throttle_manager.h
+++ b/components/subresource_filter/content/browser/content_subresource_filter_throttle_manager.h
@@ -30,6 +30,8 @@
 class AsyncDocumentSubresourceFilter;
 class ActivationStateComputingNavigationThrottle;
 class SubframeNavigationFilteringThrottle;
+class PageLoadStatistics;
+struct DocumentLoadStatistics;
 
 // The ContentSubresourceFilterThrottleManager manages NavigationThrottles in
 // order to calculate frame activation states and subframe navigation filtering,
@@ -102,6 +104,8 @@
       content::NavigationHandle* navigation_handle) override;
   void DidFinishNavigation(
       content::NavigationHandle* navigation_handle) override;
+  void DidFinishLoad(content::RenderFrameHost* render_frame_host,
+                     const GURL& validated_url) override;
   bool OnMessageReceived(const IPC::Message& message,
                          content::RenderFrameHost* render_frame_host) override;
 
@@ -127,6 +131,8 @@
   VerifiedRuleset::Handle* EnsureRulesetHandle();
   void DestroyRulesetHandleIfNoLongerUsed();
 
+  void OnDocumentLoadStatistics(const DocumentLoadStatistics& statistics);
+
   // For each RenderFrameHost where the last committed load has subresource
   // filtering activated, owns the corresponding AsyncDocumentSubresourceFilter.
   std::unordered_map<content::RenderFrameHost*,
@@ -145,6 +151,8 @@
   // RenderFrameHosts (i.e. activated_frame_hosts_ is empty).
   std::unique_ptr<VerifiedRuleset::Handle> ruleset_handle_;
 
+  std::unique_ptr<PageLoadStatistics> statistics_;
+
   // True if the current committed main frame load in this WebContents has
   // notified the delegate that a subresource was disallowed. The callback
   // should only be called at most once per main frame load.
diff --git a/components/subresource_filter/content/browser/page_load_statistics.cc b/components/subresource_filter/content/browser/page_load_statistics.cc
new file mode 100644
index 0000000..6d9f7495
--- /dev/null
+++ b/components/subresource_filter/content/browser/page_load_statistics.cc
@@ -0,0 +1,71 @@
+// 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 "components/subresource_filter/content/browser/page_load_statistics.h"
+
+#include "base/logging.h"
+#include "base/metrics/histogram_macros.h"
+#include "components/subresource_filter/core/common/time_measurements.h"
+
+namespace subresource_filter {
+
+PageLoadStatistics::PageLoadStatistics(const ActivationState& state)
+    : activation_state_(state) {}
+
+PageLoadStatistics::~PageLoadStatistics() = default;
+
+void PageLoadStatistics::OnDocumentLoadStatistics(
+    const DocumentLoadStatistics& statistics) {
+  // Note: Chances of overflow are negligible.
+  aggregated_document_statistics_.num_loads_total += statistics.num_loads_total;
+  aggregated_document_statistics_.num_loads_evaluated +=
+      statistics.num_loads_evaluated;
+  aggregated_document_statistics_.num_loads_matching_rules +=
+      statistics.num_loads_matching_rules;
+  aggregated_document_statistics_.num_loads_disallowed +=
+      statistics.num_loads_disallowed;
+
+  aggregated_document_statistics_.evaluation_total_wall_duration +=
+      statistics.evaluation_total_wall_duration;
+  aggregated_document_statistics_.evaluation_total_cpu_duration +=
+      statistics.evaluation_total_cpu_duration;
+}
+
+void PageLoadStatistics::OnDidFinishLoad() {
+  if (activation_state_.activation_level != ActivationLevel::DISABLED) {
+    UMA_HISTOGRAM_COUNTS_1000(
+        "SubresourceFilter.PageLoad.NumSubresourceLoads.Total",
+        aggregated_document_statistics_.num_loads_total);
+    UMA_HISTOGRAM_COUNTS_1000(
+        "SubresourceFilter.PageLoad.NumSubresourceLoads.Evaluated",
+        aggregated_document_statistics_.num_loads_evaluated);
+    UMA_HISTOGRAM_COUNTS_1000(
+        "SubresourceFilter.PageLoad.NumSubresourceLoads.MatchedRules",
+        aggregated_document_statistics_.num_loads_matching_rules);
+    UMA_HISTOGRAM_COUNTS_1000(
+        "SubresourceFilter.PageLoad.NumSubresourceLoads.Disallowed",
+        aggregated_document_statistics_.num_loads_disallowed);
+  }
+
+  if (activation_state_.measure_performance) {
+    DCHECK(activation_state_.activation_level != ActivationLevel::DISABLED);
+    UMA_HISTOGRAM_CUSTOM_MICRO_TIMES(
+        "SubresourceFilter.PageLoad.SubresourceEvaluation.TotalWallDuration",
+        aggregated_document_statistics_.evaluation_total_wall_duration,
+        base::TimeDelta::FromMicroseconds(1), base::TimeDelta::FromSeconds(10),
+        50);
+    UMA_HISTOGRAM_CUSTOM_MICRO_TIMES(
+        "SubresourceFilter.PageLoad.SubresourceEvaluation.TotalCPUDuration",
+        aggregated_document_statistics_.evaluation_total_cpu_duration,
+        base::TimeDelta::FromMicroseconds(1), base::TimeDelta::FromSeconds(10),
+        50);
+  } else {
+    DCHECK(aggregated_document_statistics_.evaluation_total_wall_duration
+               .is_zero());
+    DCHECK(aggregated_document_statistics_.evaluation_total_cpu_duration
+               .is_zero());
+  }
+}
+
+}  // namespace subresource_filter
diff --git a/components/subresource_filter/content/browser/page_load_statistics.h b/components/subresource_filter/content/browser/page_load_statistics.h
new file mode 100644
index 0000000..9666e24
--- /dev/null
+++ b/components/subresource_filter/content/browser/page_load_statistics.h
@@ -0,0 +1,37 @@
+// 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 COMPONENTS_SUBRESOURCE_FILTER_CONTENT_BROWSER_PAGE_LOAD_STATISTICS_H_
+#define COMPONENTS_SUBRESOURCE_FILTER_CONTENT_BROWSER_PAGE_LOAD_STATISTICS_H_
+
+#include "base/macros.h"
+#include "components/subresource_filter/core/common/activation_state.h"
+#include "components/subresource_filter/core/common/document_load_statistics.h"
+
+namespace subresource_filter {
+
+// This class is notified of performance metrics recorded for individual
+// (sub-)documents of a page, aggregates them, and logs the aggregated metrics
+// to UMA histograms when the page load is complete (at the load event).
+class PageLoadStatistics {
+ public:
+  PageLoadStatistics(const ActivationState& state);
+  ~PageLoadStatistics();
+
+  void OnDocumentLoadStatistics(const DocumentLoadStatistics& statistics);
+  void OnDidFinishLoad();
+
+ private:
+  ActivationState activation_state_;
+
+  // Statistics about subresource loads, aggregated across all frames of the
+  // current page.
+  DocumentLoadStatistics aggregated_document_statistics_;
+
+  DISALLOW_COPY_AND_ASSIGN(PageLoadStatistics);
+};
+
+}  // namespace subresource_filter
+
+#endif  // COMPONENTS_SUBRESOURCE_FILTER_CONTENT_BROWSER_PAGE_LOAD_STATISTICS_H_
diff --git a/components/sync/BUILD.gn b/components/sync/BUILD.gn
index 1f81eb0..a941fa22 100644
--- a/components/sync/BUILD.gn
+++ b/components/sync/BUILD.gn
@@ -61,8 +61,6 @@
     "base/proto_value_ptr.h",
     "base/report_unrecoverable_error.cc",
     "base/report_unrecoverable_error.h",
-    "base/scoped_event_signal.cc",
-    "base/scoped_event_signal.h",
     "base/stop_source.h",
     "base/sync_features.cc",
     "base/sync_features.h",
@@ -844,7 +842,6 @@
     "base/ordinal_unittest.cc",
     "base/proto_value_ptr_unittest.cc",
     "base/protobuf_unittest.cc",
-    "base/scoped_event_signal_unittest.cc",
     "base/sync_prefs_unittest.cc",
     "base/system_encryptor_unittest.cc",
     "base/unique_position_unittest.cc",
diff --git a/components/sync/android/java/src/org/chromium/components/sync/SyncConstants.java b/components/sync/android/java/src/org/chromium/components/sync/SyncConstants.java
index 3491726..6b639dfa8 100644
--- a/components/sync/android/java/src/org/chromium/components/sync/SyncConstants.java
+++ b/components/sync/android/java/src/org/chromium/components/sync/SyncConstants.java
@@ -10,5 +10,8 @@
     public static final String CHROME_SYNC_OAUTH2_SCOPE =
             "https://www.googleapis.com/auth/chromesync";
 
+    // This should always have the same value as TabNodePool::kInvalidTabNodeID.
+    public static final int INVALID_TAB_NODE_ID = -1;
+
     private SyncConstants() {}
 }
diff --git a/components/sync/base/scoped_event_signal.cc b/components/sync/base/scoped_event_signal.cc
deleted file mode 100644
index daaaa1d..0000000
--- a/components/sync/base/scoped_event_signal.cc
+++ /dev/null
@@ -1,34 +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.
-
-#include "components/sync/base/scoped_event_signal.h"
-
-#include "base/logging.h"
-#include "base/synchronization/waitable_event.h"
-
-namespace syncer {
-
-ScopedEventSignal::ScopedEventSignal(base::WaitableEvent* event)
-    : event_(event) {
-  DCHECK(event_);
-}
-
-ScopedEventSignal::ScopedEventSignal(ScopedEventSignal&& other)
-    : event_(other.event_) {
-  other.event_ = nullptr;
-}
-
-ScopedEventSignal& ScopedEventSignal::operator=(ScopedEventSignal&& other) {
-  DCHECK(!event_);
-  event_ = other.event_;
-  other.event_ = nullptr;
-  return *this;
-}
-
-ScopedEventSignal::~ScopedEventSignal() {
-  if (event_)
-    event_->Signal();
-}
-
-}  // namespace syncer
diff --git a/components/sync/base/scoped_event_signal.h b/components/sync/base/scoped_event_signal.h
deleted file mode 100644
index d8df104..0000000
--- a/components/sync/base/scoped_event_signal.h
+++ /dev/null
@@ -1,40 +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 COMPONENTS_SYNC_BASE_SCOPED_EVENT_SIGNAL_H_
-#define COMPONENTS_SYNC_BASE_SCOPED_EVENT_SIGNAL_H_
-
-#include "base/macros.h"
-
-namespace base {
-class WaitableEvent;
-}
-
-namespace syncer {
-
-// An object which signals a WaitableEvent when it is deleted. Used to wait for
-// a task to run or be abandoned.
-class ScopedEventSignal {
- public:
-  // |event| will be signaled in the destructor.
-  explicit ScopedEventSignal(base::WaitableEvent* event);
-
-  // This ScopedEventSignal will signal |other|'s WaitableEvent in its
-  // destructor. |other| will not signal anything in its destructor. The
-  // assignment operator cannot be used if this ScopedEventSignal's
-  // WaitableEvent hasn't been moved to another ScopedEventSignal.
-  ScopedEventSignal(ScopedEventSignal&& other);
-  ScopedEventSignal& operator=(ScopedEventSignal&& other);
-
-  ~ScopedEventSignal();
-
- private:
-  base::WaitableEvent* event_;
-
-  DISALLOW_COPY_AND_ASSIGN(ScopedEventSignal);
-};
-
-}  // namespace syncer
-
-#endif  // COMPONENTS_SYNC_BASE_SCOPED_EVENT_SIGNAL_H_
diff --git a/components/sync/base/scoped_event_signal_unittest.cc b/components/sync/base/scoped_event_signal_unittest.cc
deleted file mode 100644
index fe65b4b9..0000000
--- a/components/sync/base/scoped_event_signal_unittest.cc
+++ /dev/null
@@ -1,84 +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.
-
-#include "components/sync/base/scoped_event_signal.h"
-
-#include <memory>
-#include <utility>
-
-#include "base/synchronization/waitable_event.h"
-#include "testing/gtest/include/gtest/gtest.h"
-
-namespace syncer {
-
-TEST(ScopedEventSignalTest, SignalAtEndOfScope) {
-  base::WaitableEvent event(base::WaitableEvent::ResetPolicy::MANUAL,
-                            base::WaitableEvent::InitialState::NOT_SIGNALED);
-
-  {
-    ScopedEventSignal scoped_event_signal(&event);
-    EXPECT_FALSE(event.IsSignaled());
-  }
-
-  EXPECT_TRUE(event.IsSignaled());
-}
-
-TEST(ScopedEventSignalTest, MoveConstructor) {
-  base::WaitableEvent event(base::WaitableEvent::ResetPolicy::MANUAL,
-                            base::WaitableEvent::InitialState::NOT_SIGNALED);
-
-  {
-    ScopedEventSignal scoped_event_signal(&event);
-    EXPECT_FALSE(event.IsSignaled());
-
-    {
-      ScopedEventSignal other_scoped_event_signal(
-          std::move(scoped_event_signal));
-      EXPECT_FALSE(event.IsSignaled());
-    }
-
-    // |event| is signaled when |other_scoped_event_signal| is destroyed.
-    EXPECT_TRUE(event.IsSignaled());
-
-    event.Reset();
-  }
-
-  // |event| is not signaled when |scoped_signal_event| is destroyed.
-  EXPECT_FALSE(event.IsSignaled());
-}
-
-TEST(ScopedEventSignalTest, MoveAssignOperator) {
-  base::WaitableEvent event(base::WaitableEvent::ResetPolicy::MANUAL,
-                            base::WaitableEvent::InitialState::NOT_SIGNALED);
-
-  {
-    ScopedEventSignal scoped_event_signal_a(&event);
-    EXPECT_FALSE(event.IsSignaled());
-
-    {
-      base::WaitableEvent other_event(
-          base::WaitableEvent::ResetPolicy::MANUAL,
-          base::WaitableEvent::InitialState::NOT_SIGNALED);
-      ScopedEventSignal scoped_event_signal_b(&other_event);
-
-      // Move |scoped_event_signal_b| to |scoped_event_signal_c| because the
-      // assignment operator cannot be used on a ScopedEventSignal which is
-      // already associated with an event.
-      ScopedEventSignal scoped_event_signal_c(std::move(scoped_event_signal_b));
-
-      scoped_event_signal_b = std::move(scoped_event_signal_a);
-      EXPECT_FALSE(event.IsSignaled());
-    }
-
-    // |event| is signaled when |scoped_event_signal_b| is destroyed.
-    EXPECT_TRUE(event.IsSignaled());
-
-    event.Reset();
-  }
-
-  // |event| is not signaled when |scoped_signal_event_a| is destroyed.
-  EXPECT_FALSE(event.IsSignaled());
-}
-
-}  // namespace syncer
diff --git a/components/sync/engine/browser_thread_model_worker.cc b/components/sync/engine/browser_thread_model_worker.cc
index 3b29d85..a6d92c5 100644
--- a/components/sync/engine/browser_thread_model_worker.cc
+++ b/components/sync/engine/browser_thread_model_worker.cc
@@ -4,45 +4,22 @@
 
 #include "components/sync/engine/browser_thread_model_worker.h"
 
-#include "base/bind.h"
-#include "base/callback.h"
-#include "base/synchronization/waitable_event.h"
-
-using base::SingleThreadTaskRunner;
+#include <utility>
 
 namespace syncer {
 
 BrowserThreadModelWorker::BrowserThreadModelWorker(
-    const scoped_refptr<SingleThreadTaskRunner>& runner,
+    const scoped_refptr<base::SingleThreadTaskRunner>& runner,
     ModelSafeGroup group)
     : runner_(runner), group_(group) {}
 
-SyncerError BrowserThreadModelWorker::DoWorkAndWaitUntilDoneImpl(
-    const WorkCallback& work) {
-  SyncerError error = UNSET;
+void BrowserThreadModelWorker::ScheduleWork(base::OnceClosure work) {
   if (runner_->BelongsToCurrentThread()) {
     DLOG(WARNING) << "Already on thread " << runner_;
-    return work.Run();
+    std::move(work).Run();
+  } else {
+    runner_->PostTask(FROM_HERE, std::move(work));
   }
-
-  // Signaled when the task is deleted, i.e. after it runs or when it is
-  // abandoned.
-  base::WaitableEvent work_done_or_abandoned(
-      base::WaitableEvent::ResetPolicy::AUTOMATIC,
-      base::WaitableEvent::InitialState::NOT_SIGNALED);
-
-  if (!runner_->PostTask(
-          FROM_HERE,
-          base::Bind(
-              &BrowserThreadModelWorker::CallDoWorkAndSignalTask, this, work,
-              base::Passed(syncer::ScopedEventSignal(&work_done_or_abandoned)),
-              &error))) {
-    DLOG(WARNING) << "Failed to post task to runner " << runner_;
-    error = CANNOT_DO_WORK;
-    return error;
-  }
-  work_done_or_abandoned.Wait();
-  return error;
 }
 
 ModelSafeGroup BrowserThreadModelWorker::GetModelSafeGroup() {
@@ -55,14 +32,4 @@
 
 BrowserThreadModelWorker::~BrowserThreadModelWorker() {}
 
-void BrowserThreadModelWorker::CallDoWorkAndSignalTask(
-    const WorkCallback& work,
-    syncer::ScopedEventSignal scoped_event_signal,
-    SyncerError* error) {
-  DCHECK(runner_->BelongsToCurrentThread());
-  if (!IsStopped())
-    *error = work.Run();
-  // The event in |scoped_event_signal| is signaled at the end of this scope.
-}
-
 }  // namespace syncer
diff --git a/components/sync/engine/browser_thread_model_worker.h b/components/sync/engine/browser_thread_model_worker.h
index 3a121f66..32e63b28 100644
--- a/components/sync/engine/browser_thread_model_worker.h
+++ b/components/sync/engine/browser_thread_model_worker.h
@@ -8,8 +8,6 @@
 #include "base/macros.h"
 #include "base/memory/ref_counted.h"
 #include "base/single_thread_task_runner.h"
-#include "components/sync/base/scoped_event_signal.h"
-#include "components/sync/base/syncer_error.h"
 #include "components/sync/engine/model_safe_worker.h"
 
 namespace syncer {
@@ -28,16 +26,11 @@
   ModelSafeGroup GetModelSafeGroup() override;
   bool IsOnModelThread() override;
 
- protected:
+ private:
   ~BrowserThreadModelWorker() override;
 
-  SyncerError DoWorkAndWaitUntilDoneImpl(const WorkCallback& work) override;
+  void ScheduleWork(base::OnceClosure work) override;
 
-  void CallDoWorkAndSignalTask(const WorkCallback& work,
-                               syncer::ScopedEventSignal scoped_event_signal,
-                               SyncerError* error);
-
- private:
   scoped_refptr<base::SingleThreadTaskRunner> runner_;
   ModelSafeGroup group_;
 
diff --git a/components/sync/engine/browser_thread_model_worker_unittest.cc b/components/sync/engine/browser_thread_model_worker_unittest.cc
index f4417e9..98900e6 100644
--- a/components/sync/engine/browser_thread_model_worker_unittest.cc
+++ b/components/sync/engine/browser_thread_model_worker_unittest.cc
@@ -39,11 +39,10 @@
   // DoWork hasn't executed within action_timeout().
   void ScheduleWork() {
     // We wait until the callback is done. So it is safe to use unretained.
-    WorkCallback c = base::Bind(&SyncBrowserThreadModelWorkerTest::DoWork,
-                                base::Unretained(this));
     timer()->Start(FROM_HERE, TestTimeouts::action_timeout(), this,
                    &SyncBrowserThreadModelWorkerTest::Timeout);
-    worker()->DoWorkAndWaitUntilDone(c);
+    worker()->DoWorkAndWaitUntilDone(base::BindOnce(
+        &SyncBrowserThreadModelWorkerTest::DoWork, base::Unretained(this)));
   }
 
   // This is the work that will be scheduled to be done on the DB thread.
diff --git a/components/sync/engine/model_safe_worker.cc b/components/sync/engine/model_safe_worker.cc
index 530f2065..7735716 100644
--- a/components/sync/engine/model_safe_worker.cc
+++ b/components/sync/engine/model_safe_worker.cc
@@ -4,6 +4,9 @@
 
 #include "components/sync/engine/model_safe_worker.h"
 
+#include <utility>
+
+#include "base/bind.h"
 #include "base/json/json_writer.h"
 #include "base/values.h"
 
@@ -69,24 +72,86 @@
   }
 }
 
-ModelSafeWorker::ModelSafeWorker() {}
+ModelSafeWorker::ModelSafeWorker()
+    : work_done_or_abandoned_(base::WaitableEvent::ResetPolicy::AUTOMATIC,
+                              base::WaitableEvent::InitialState::NOT_SIGNALED) {
+}
 ModelSafeWorker::~ModelSafeWorker() {}
 
 void ModelSafeWorker::RequestStop() {
-  // Set stop flag. This prevents any *further* tasks from being posted to
-  // worker threads (see DoWorkAndWaitUntilDone below), but note that one may
-  // already be posted.
-  stopped_.Set();
+  base::AutoLock auto_lock(lock_);
+
+  // Set stop flag to prevent any *further* WorkCallback from starting to run
+  // (note that one may alreay be running).
+  stopped_ = true;
+
+  // If no work is running, unblock DoWorkAndWaitUntilDone(). If work is
+  // running, it is unsafe to return from DoWorkAndWaitUntilDone().
+  // ScopedSignalWorkDoneOrAbandoned will take care of signaling the event when
+  // the work is done.
+  if (!is_work_running_)
+    work_done_or_abandoned_.Signal();
 }
 
-SyncerError ModelSafeWorker::DoWorkAndWaitUntilDone(const WorkCallback& work) {
-  if (stopped_.IsSet())
-    return CANNOT_DO_WORK;
-  return DoWorkAndWaitUntilDoneImpl(work);
+SyncerError ModelSafeWorker::DoWorkAndWaitUntilDone(WorkCallback work) {
+  {
+    // It is important to check |stopped_| and reset |work_done_or_abandoned_|
+    // atomically to prevent this race:
+    //
+    // Thread  Action
+    // Sync    Sees that |stopped_| is false.
+    // UI      Calls RequestStop(). Signals |work_done_or_abandoned_|.
+    // Sync    Resets |work_done_or_abandoned_|.
+    //         Waits on |work_done_or_abandoned_| forever since the task may not
+    //         run after RequestStop() is called.
+    base::AutoLock auto_lock(lock_);
+    if (stopped_)
+      return CANNOT_DO_WORK;
+    DCHECK(!is_work_running_);
+    work_done_or_abandoned_.Reset();
+  }
+
+  SyncerError error = UNSET;
+  bool did_run = false;
+  ScheduleWork(base::BindOnce(
+      &ModelSafeWorker::DoWork, this, base::Passed(std::move(work)),
+      base::Passed(base::ScopedClosureRunner(base::Bind(
+          [](scoped_refptr<ModelSafeWorker> worker) {
+            worker->work_done_or_abandoned_.Signal();
+          },
+          make_scoped_refptr(this)))),
+      base::Unretained(&error), base::Unretained(&did_run)));
+
+  // Unblocked when the task runs or is deleted or when RequestStop() is called
+  // before the task starts running.
+  work_done_or_abandoned_.Wait();
+
+  return did_run ? error : CANNOT_DO_WORK;
 }
 
-bool ModelSafeWorker::IsStopped() {
-  return stopped_.IsSet();
+void ModelSafeWorker::DoWork(WorkCallback work,
+                             base::ScopedClosureRunner scoped_closure_runner,
+                             SyncerError* error,
+                             bool* did_run) {
+  {
+    base::AutoLock auto_lock(lock_);
+    if (stopped_)
+      return;
+
+    // Set |is_work_running_| to make sure that DoWorkAndWaitUntilDone() doesn't
+    // return while |work| is running.
+    DCHECK(!is_work_running_);
+    is_work_running_ = true;
+  }
+
+  *error = std::move(work).Run();
+  *did_run = true;
+
+  {
+    base::AutoLock auto_lock(lock_);
+    DCHECK(is_work_running_);
+    is_work_running_ = false;
+  }
 }
 
 }  // namespace syncer
diff --git a/components/sync/engine/model_safe_worker.h b/components/sync/engine/model_safe_worker.h
index 1565aa2..620297fb 100644
--- a/components/sync/engine/model_safe_worker.h
+++ b/components/sync/engine/model_safe_worker.h
@@ -9,10 +9,12 @@
 #include <memory>
 #include <string>
 
-#include "base/callback_forward.h"
+#include "base/callback.h"
+#include "base/callback_helpers.h"
 #include "base/macros.h"
 #include "base/memory/ref_counted.h"
-#include "base/synchronization/atomic_flag.h"
+#include "base/synchronization/lock.h"
+#include "base/synchronization/waitable_event.h"
 #include "components/sync/base/model_type.h"
 #include "components/sync/base/syncer_error.h"
 
@@ -22,7 +24,7 @@
 
 namespace syncer {
 
-using WorkCallback = base::Callback<enum SyncerError(void)>;
+using WorkCallback = base::OnceCallback<enum SyncerError(void)>;
 
 enum ModelSafeGroup {
   GROUP_PASSIVE = 0,   // Models that are just "passively" being synced; e.g.
@@ -54,17 +56,14 @@
 // a thread and does actual work on that thread.
 class ModelSafeWorker : public base::RefCountedThreadSafe<ModelSafeWorker> {
  public:
-  // If not stopped, call DoWorkAndWaitUntilDoneImpl() to do work. Otherwise
-  // return CANNOT_DO_WORK.
-  SyncerError DoWorkAndWaitUntilDone(const WorkCallback& work);
+  // If not stopped, calls ScheduleWork() to schedule |work| and waits until it
+  // is done or abandoned. Otherwise, returns CANNOT_DO_WORK.
+  SyncerError DoWorkAndWaitUntilDone(WorkCallback work);
 
   // Soft stop worker by setting stopped_ flag. Called when sync is disabled
   // or browser is shutting down. Called on UI loop.
   virtual void RequestStop();
 
-  // Return true if the worker was stopped. Thread safe.
-  bool IsStopped();
-
   virtual ModelSafeGroup GetModelSafeGroup() = 0;
 
   // Returns true if called on the thread this worker works on.
@@ -74,16 +73,31 @@
   ModelSafeWorker();
   virtual ~ModelSafeWorker();
 
-  // Any time the Syncer performs model modifications (e.g employing a
-  // WriteTransaction), it should be done by this method to ensure it is done
-  // from a model-safe thread.
-  virtual SyncerError DoWorkAndWaitUntilDoneImpl(const WorkCallback& work) = 0;
-
  private:
   friend class base::RefCountedThreadSafe<ModelSafeWorker>;
 
-  // Whether the worker should do more work. Set when sync is disabled.
-  base::AtomicFlag stopped_;
+  // Schedules |work| on the appropriate thread.
+  virtual void ScheduleWork(base::OnceClosure work) = 0;
+
+  void DoWork(WorkCallback work,
+              base::ScopedClosureRunner scoped_closure_runner,
+              SyncerError* error,
+              bool* did_run);
+
+  // Synchronizes access to all members.
+  base::Lock lock_;
+
+  // Signaled when DoWorkAndWaitUntilDone() can return, either because the work
+  // is done, the work has been abandoned or RequestStop() was called while no
+  // work was running. Reset at the beginning of DoWorkAndWaitUntilDone().
+  base::WaitableEvent work_done_or_abandoned_;
+
+  // Whether a WorkCallback is currently running.
+  bool is_work_running_ = false;
+
+  // Whether the worker was stopped. No WorkCallback can start running when this
+  // is true.
+  bool stopped_ = false;
 
   DISALLOW_COPY_AND_ASSIGN(ModelSafeWorker);
 };
diff --git a/components/sync/engine/model_safe_worker_unittest.cc b/components/sync/engine/model_safe_worker_unittest.cc
index 6340dca..cb6cedd 100644
--- a/components/sync/engine/model_safe_worker_unittest.cc
+++ b/components/sync/engine/model_safe_worker_unittest.cc
@@ -4,13 +4,84 @@
 
 #include "components/sync/engine/model_safe_worker.h"
 
+#include <utility>
+
+#include "base/bind.h"
+#include "base/macros.h"
+#include "base/synchronization/atomic_flag.h"
+#include "base/test/test_simple_task_runner.h"
+#include "base/test/test_timeouts.h"
+#include "base/threading/platform_thread.h"
+#include "base/threading/thread.h"
 #include "base/values.h"
 #include "testing/gtest/include/gtest/gtest.h"
 
 namespace syncer {
 namespace {
 
-class ModelSafeWorkerTest : public ::testing::Test {};
+syncer::WorkCallback ClosureToWorkCallback(base::Closure work) {
+  return base::Bind(
+      [](base::Closure work) {
+        work.Run();
+        return syncer::SYNCER_OK;
+      },
+      std::move(work));
+}
+
+class MockModelSafeWorker : public ModelSafeWorker {
+ public:
+  MockModelSafeWorker() = default;
+
+  void ScheduleWork(base::OnceClosure work) override {
+    task_runner_->PostTask(FROM_HERE, std::move(work));
+  }
+
+  ModelSafeGroup GetModelSafeGroup() override { return GROUP_PASSIVE; }
+
+  bool IsOnModelThread() override {
+    return task_runner_->BelongsToCurrentThread();
+  }
+
+  scoped_refptr<base::TestSimpleTaskRunner> task_runner() const {
+    return task_runner_;
+  }
+
+ private:
+  friend class base::RefCountedThreadSafe<MockModelSafeWorker>;
+
+  ~MockModelSafeWorker() override = default;
+
+  const scoped_refptr<base::TestSimpleTaskRunner> task_runner_ =
+      new base::TestSimpleTaskRunner();
+
+  DISALLOW_COPY_AND_ASSIGN(MockModelSafeWorker);
+};
+
+class ModelSafeWorkerTest : public ::testing::Test {
+ protected:
+  ModelSafeWorkerTest() : sync_thread_("SyncThreadForTest") {
+    sync_thread_.Start();
+  }
+
+  void DoWorkAndWaitUntilDoneOnSyncThread(base::Closure work) {
+    sync_thread_.task_runner()->PostTask(
+        FROM_HERE,
+        base::Bind(base::IgnoreResult(&ModelSafeWorker::DoWorkAndWaitUntilDone),
+                   worker_, base::Passed(ClosureToWorkCallback(work))));
+    sync_thread_.task_runner()->PostTask(
+        FROM_HERE, base::Bind(&base::AtomicFlag::Set,
+                              base::Unretained(&sync_thread_unblocked_)));
+  }
+
+  base::AtomicFlag sync_thread_unblocked_;
+  base::Thread sync_thread_;
+  const scoped_refptr<MockModelSafeWorker> worker_ = new MockModelSafeWorker();
+
+ private:
+  DISALLOW_COPY_AND_ASSIGN(ModelSafeWorkerTest);
+};
+
+}  // namespace
 
 TEST_F(ModelSafeWorkerTest, ModelSafeRoutingInfoToValue) {
   ModelSafeRoutingInfo routing_info;
@@ -49,5 +120,95 @@
   EXPECT_EQ(expected_types, GetRoutingInfoTypes(routing_info));
 }
 
-}  // namespace
+TEST_F(ModelSafeWorkerTest, DoWorkAndWaitUntilDone) {
+  bool did_work = false;
+  DoWorkAndWaitUntilDoneOnSyncThread(base::Bind(
+      [](bool* did_work) { *did_work = true; }, base::Unretained(&did_work)));
+
+  EXPECT_FALSE(did_work);
+  EXPECT_FALSE(sync_thread_unblocked_.IsSet());
+
+  // Wait for a task to be posted to |worker_|'s TaskRunner and run it.
+  while (!worker_->task_runner()->HasPendingTask())
+    base::PlatformThread::YieldCurrentThread();
+  worker_->task_runner()->RunUntilIdle();
+
+  EXPECT_TRUE(did_work);
+
+  sync_thread_.Stop();
+  EXPECT_TRUE(sync_thread_unblocked_.IsSet());
+}
+
+TEST_F(ModelSafeWorkerTest, DoWorkAndWaitUntilDoneRequestStopBeforeRunWork) {
+  bool did_work = false;
+  DoWorkAndWaitUntilDoneOnSyncThread(base::Bind(
+      [](bool* did_work) { *did_work = true; }, base::Unretained(&did_work)));
+
+  EXPECT_FALSE(did_work);
+  EXPECT_FALSE(sync_thread_unblocked_.IsSet());
+
+  // Wait for a task to be posted to |worker_|'s TaskRunner.
+  while (!worker_->task_runner()->HasPendingTask())
+    base::PlatformThread::YieldCurrentThread();
+
+  // Stop the worker.
+  worker_->RequestStop();
+
+  // The WorkCallback should not run.
+  worker_->task_runner()->RunUntilIdle();
+  EXPECT_FALSE(did_work);
+
+  sync_thread_.Stop();
+  EXPECT_TRUE(sync_thread_unblocked_.IsSet());
+}
+
+TEST_F(ModelSafeWorkerTest, DoWorkAndWaitUntilDoneDeleteWorkBeforeRun) {
+  bool did_work = false;
+  DoWorkAndWaitUntilDoneOnSyncThread(base::Bind(
+      [](bool* did_work) { *did_work = true; }, base::Unretained(&did_work)));
+
+  EXPECT_FALSE(did_work);
+  EXPECT_FALSE(sync_thread_unblocked_.IsSet());
+
+  // Wait for a task to be posted to |worker_|'s TaskRunner and delete it.
+  while (!worker_->task_runner()->HasPendingTask())
+    base::PlatformThread::YieldCurrentThread();
+  worker_->task_runner()->ClearPendingTasks();
+
+  EXPECT_FALSE(did_work);
+
+  // Deleting the task should have unblocked the sync thread.
+  sync_thread_.Stop();
+  EXPECT_TRUE(sync_thread_unblocked_.IsSet());
+}
+
+TEST_F(ModelSafeWorkerTest, DoWorkAndWaitUntilDoneRequestStopDuringRunWork) {
+  bool did_work = false;
+  DoWorkAndWaitUntilDoneOnSyncThread(base::Bind(
+      [](scoped_refptr<ModelSafeWorker> worker,
+         base::AtomicFlag* sync_thread_unblocked, bool* did_work) {
+        worker->RequestStop();
+        base::PlatformThread::Sleep(TestTimeouts::tiny_timeout());
+
+        // The sync thread should not be unblocked while a WorkCallback is
+        // running.
+        EXPECT_FALSE(sync_thread_unblocked->IsSet());
+
+        *did_work = true;
+      },
+      worker_, base::Unretained(&sync_thread_unblocked_),
+      base::Unretained(&did_work)));
+  EXPECT_FALSE(did_work);
+  EXPECT_FALSE(sync_thread_unblocked_.IsSet());
+
+  // Wait for a task to be posted to |worker_|'s TaskRunner and run it.
+  while (!worker_->task_runner()->HasPendingTask())
+    base::PlatformThread::YieldCurrentThread();
+  worker_->task_runner()->RunUntilIdle();
+
+  EXPECT_TRUE(did_work);
+  sync_thread_.Stop();
+  EXPECT_TRUE(sync_thread_unblocked_.IsSet());
+}
+
 }  // namespace syncer
diff --git a/components/sync/engine/passive_model_worker.cc b/components/sync/engine/passive_model_worker.cc
index 6a4f766..f8ba2d0 100644
--- a/components/sync/engine/passive_model_worker.cc
+++ b/components/sync/engine/passive_model_worker.cc
@@ -4,7 +4,7 @@
 
 #include "components/sync/engine/passive_model_worker.h"
 
-#include "base/callback.h"
+#include <utility>
 
 namespace syncer {
 
@@ -12,10 +12,8 @@
 
 PassiveModelWorker::~PassiveModelWorker() {}
 
-SyncerError PassiveModelWorker::DoWorkAndWaitUntilDoneImpl(
-    const WorkCallback& work) {
-  // Simply do the work on the current thread.
-  return work.Run();
+void PassiveModelWorker::ScheduleWork(base::OnceClosure work) {
+  std::move(work).Run();
 }
 
 ModelSafeGroup PassiveModelWorker::GetModelSafeGroup() {
diff --git a/components/sync/engine/passive_model_worker.h b/components/sync/engine/passive_model_worker.h
index ac744de..11725df7 100644
--- a/components/sync/engine/passive_model_worker.h
+++ b/components/sync/engine/passive_model_worker.h
@@ -6,7 +6,6 @@
 #define COMPONENTS_SYNC_ENGINE_PASSIVE_MODEL_WORKER_H_
 
 #include "base/macros.h"
-#include "components/sync/base/syncer_error.h"
 #include "components/sync/engine/model_safe_worker.h"
 
 namespace syncer {
@@ -22,12 +21,11 @@
   ModelSafeGroup GetModelSafeGroup() override;
   bool IsOnModelThread() override;
 
- protected:
-  SyncerError DoWorkAndWaitUntilDoneImpl(const WorkCallback& work) override;
-
  private:
   ~PassiveModelWorker() override;
 
+  void ScheduleWork(base::OnceClosure work) override;
+
   DISALLOW_COPY_AND_ASSIGN(PassiveModelWorker);
 };
 
diff --git a/components/sync/engine/ui_model_worker.cc b/components/sync/engine/ui_model_worker.cc
index 77fe9c77..08cc1a25 100644
--- a/components/sync/engine/ui_model_worker.cc
+++ b/components/sync/engine/ui_model_worker.cc
@@ -6,90 +6,11 @@
 
 #include <utility>
 
-#include "base/bind.h"
-#include "base/bind_helpers.h"
-#include "base/callback.h"
-#include "components/sync/base/scoped_event_signal.h"
-
 namespace syncer {
 
-namespace {
-
-class ScopedEventSignalWithWorker {
- public:
-  ScopedEventSignalWithWorker(scoped_refptr<UIModelWorker> ui_model_worker,
-                              base::WaitableEvent* event)
-      : ui_model_worker_(std::move(ui_model_worker)),
-        scoped_event_signal_(event) {}
-
-  ScopedEventSignalWithWorker(ScopedEventSignalWithWorker&&) = default;
-  ScopedEventSignalWithWorker& operator=(ScopedEventSignalWithWorker&&) =
-      default;
-
-  bool IsStopped() const { return ui_model_worker_->IsStopped(); }
-
- private:
-  // This reference prevents the event in |scoped_event_signal_| from being
-  // signaled after being deleted.
-  scoped_refptr<UIModelWorker> ui_model_worker_;
-
-  ScopedEventSignal scoped_event_signal_;
-
-  DISALLOW_COPY_AND_ASSIGN(ScopedEventSignalWithWorker);
-};
-
-void CallDoWorkAndSignalEvent(
-    const WorkCallback& work,
-    ScopedEventSignalWithWorker scoped_event_signal_with_worker,
-    SyncerError* error_info) {
-  if (!scoped_event_signal_with_worker.IsStopped())
-    *error_info = work.Run();
-  // The event in |scoped_event_signal_with_worker| is signaled at the end of
-  // this scope.
-}
-
-}  // namespace
-
 UIModelWorker::UIModelWorker(
     scoped_refptr<base::SingleThreadTaskRunner> ui_thread)
-    : ui_thread_(std::move(ui_thread)),
-      work_done_or_abandoned_(base::WaitableEvent::ResetPolicy::MANUAL,
-                              base::WaitableEvent::InitialState::NOT_SIGNALED),
-      stop_requested_(base::WaitableEvent::ResetPolicy::MANUAL,
-                      base::WaitableEvent::InitialState::NOT_SIGNALED) {
-  sequence_checker_.DetachFromSequence();
-}
-
-SyncerError UIModelWorker::DoWorkAndWaitUntilDoneImpl(
-    const WorkCallback& work) {
-  DCHECK(sequence_checker_.CalledOnValidSequence());
-  DCHECK(!ui_thread_->BelongsToCurrentThread());
-
-  SyncerError error_info;
-  work_done_or_abandoned_.Reset();
-
-  if (!ui_thread_->PostTask(
-          FROM_HERE,
-          base::Bind(&CallDoWorkAndSignalEvent, work,
-                     base::Passed(syncer::ScopedEventSignalWithWorker(
-                         this, &work_done_or_abandoned_)),
-                     &error_info))) {
-    DLOG(WARNING) << "Could not post work to UI loop.";
-    error_info = CANNOT_DO_WORK;
-    return error_info;
-  }
-
-  base::WaitableEvent* events[] = {&work_done_or_abandoned_, &stop_requested_};
-  base::WaitableEvent::WaitMany(events, arraysize(events));
-
-  return error_info;
-}
-
-void UIModelWorker::RequestStop() {
-  DCHECK(ui_thread_->BelongsToCurrentThread());
-  ModelSafeWorker::RequestStop();
-  stop_requested_.Signal();
-}
+    : ui_thread_(std::move(ui_thread)) {}
 
 ModelSafeGroup UIModelWorker::GetModelSafeGroup() {
   return GROUP_UI;
@@ -101,4 +22,8 @@
 
 UIModelWorker::~UIModelWorker() {}
 
+void UIModelWorker::ScheduleWork(base::OnceClosure work) {
+  ui_thread_->PostTask(FROM_HERE, std::move(work));
+}
+
 }  // namespace syncer
diff --git a/components/sync/engine/ui_model_worker.h b/components/sync/engine/ui_model_worker.h
index 2306a39c..bff75a8 100644
--- a/components/sync/engine/ui_model_worker.h
+++ b/components/sync/engine/ui_model_worker.h
@@ -7,9 +7,7 @@
 
 #include "base/macros.h"
 #include "base/memory/ref_counted.h"
-#include "base/sequence_checker.h"
 #include "base/single_thread_task_runner.h"
-#include "base/synchronization/waitable_event.h"
 #include "components/sync/engine/model_safe_worker.h"
 
 namespace syncer {
@@ -22,33 +20,17 @@
   explicit UIModelWorker(scoped_refptr<base::SingleThreadTaskRunner> ui_thread);
 
   // ModelSafeWorker implementation.
-  void RequestStop() override;
   ModelSafeGroup GetModelSafeGroup() override;
   bool IsOnModelThread() override;
 
- protected:
-  SyncerError DoWorkAndWaitUntilDoneImpl(const WorkCallback& work) override;
-
  private:
   ~UIModelWorker() override;
 
+  void ScheduleWork(base::OnceClosure work) override;
+
   // A reference to the UI thread's task runner.
   const scoped_refptr<base::SingleThreadTaskRunner> ui_thread_;
 
-  // Signaled when a task posted by DoWorkAndWaitUntilDoneImpl() is deleted,
-  // i.e. after it runs or when it is abandoned. Reset at the beginning of every
-  // DoWorkAndWaitUntilDoneImpl() call.
-  base::WaitableEvent work_done_or_abandoned_;
-
-  // Signaled from RequestStop(). When this is signaled,
-  // DoWorkAndWaitUntilDoneImpl() returns immediately. This is needed to prevent
-  // the UI thread from joining the sync thread while it is waiting for a
-  // WorkCallback to run on the UI thread. See crbug.com/663600.
-  base::WaitableEvent stop_requested_;
-
-  // Verifies that calls to DoWorkAndWaitUntilDoneImpl() are sequenced.
-  base::SequenceChecker sequence_checker_;
-
   DISALLOW_COPY_AND_ASSIGN(UIModelWorker);
 };
 
diff --git a/components/sync/engine/ui_model_worker_unittest.cc b/components/sync/engine/ui_model_worker_unittest.cc
index 9411a67a..ab27452 100644
--- a/components/sync/engine/ui_model_worker_unittest.cc
+++ b/components/sync/engine/ui_model_worker_unittest.cc
@@ -52,7 +52,7 @@
     sync_thread_.task_runner()->PostTask(
         FROM_HERE,
         base::Bind(base::IgnoreResult(&UIModelWorker::DoWorkAndWaitUntilDone),
-                   worker_, ClosureToWorkCallback(work)));
+                   worker_, base::Passed(ClosureToWorkCallback(work))));
   }
 
  protected:
diff --git a/components/sync/engine_impl/directory_update_handler.cc b/components/sync/engine_impl/directory_update_handler.cc
index 495346c..7b71cf6 100644
--- a/components/sync/engine_impl/directory_update_handler.cc
+++ b/components/sync/engine_impl/directory_update_handler.cc
@@ -6,6 +6,7 @@
 
 #include <stdint.h>
 
+#include <utility>
 #include <vector>
 
 #include "base/memory/ptr_util.h"
@@ -127,7 +128,7 @@
                    // We wait until the callback is executed.  We can safely use
                    // Unretained.
                    base::Unretained(this), base::Unretained(status));
-    worker_->DoWorkAndWaitUntilDone(c);
+    worker_->DoWorkAndWaitUntilDone(std::move(c));
 
     debug_info_emitter_->EmitUpdateCountersUpdate();
     debug_info_emitter_->EmitStatusCountersUpdate();
diff --git a/components/sync/test/engine/fake_model_worker.cc b/components/sync/test/engine/fake_model_worker.cc
index c696005..966e0a4 100644
--- a/components/sync/test/engine/fake_model_worker.cc
+++ b/components/sync/test/engine/fake_model_worker.cc
@@ -4,7 +4,7 @@
 
 #include "components/sync/test/engine/fake_model_worker.h"
 
-#include "base/callback.h"
+#include <utility>
 
 namespace syncer {
 
@@ -18,11 +18,10 @@
   DCHECK(thread_checker_.CalledOnValidThread());
 }
 
-SyncerError FakeModelWorker::DoWorkAndWaitUntilDoneImpl(
-    const WorkCallback& work) {
+void FakeModelWorker::ScheduleWork(base::OnceClosure work) {
   DCHECK(thread_checker_.CalledOnValidThread());
   // Simply do the work on the current thread.
-  return work.Run();
+  std::move(work).Run();
 }
 
 ModelSafeGroup FakeModelWorker::GetModelSafeGroup() {
diff --git a/components/sync/test/engine/fake_model_worker.h b/components/sync/test/engine/fake_model_worker.h
index 55ab4a9..ccc922d 100644
--- a/components/sync/test/engine/fake_model_worker.h
+++ b/components/sync/test/engine/fake_model_worker.h
@@ -22,12 +22,11 @@
   ModelSafeGroup GetModelSafeGroup() override;
   bool IsOnModelThread() override;
 
- protected:
-  SyncerError DoWorkAndWaitUntilDoneImpl(const WorkCallback& work) override;
-
  private:
   ~FakeModelWorker() override;
 
+  void ScheduleWork(base::OnceClosure work) override;
+
   const ModelSafeGroup group_;
   base::ThreadChecker thread_checker_;
 
diff --git a/components/sync_sessions/sessions_sync_manager.cc b/components/sync_sessions/sessions_sync_manager.cc
index 665929f..f37c1b3 100644
--- a/components/sync_sessions/sessions_sync_manager.cc
+++ b/components/sync_sessions/sessions_sync_manager.cc
@@ -110,6 +110,27 @@
   return true;
 }
 
+SyncedSession::DeviceType ProtoDeviceTypeToSyncedSessionDeviceType(
+    sync_pb::SyncEnums::DeviceType proto_device_type) {
+  switch (proto_device_type) {
+    case sync_pb::SyncEnums_DeviceType_TYPE_WIN:
+      return SyncedSession::TYPE_WIN;
+    case sync_pb::SyncEnums_DeviceType_TYPE_MAC:
+      return SyncedSession::TYPE_MACOSX;
+    case sync_pb::SyncEnums_DeviceType_TYPE_LINUX:
+      return SyncedSession::TYPE_LINUX;
+    case sync_pb::SyncEnums_DeviceType_TYPE_CROS:
+      return SyncedSession::TYPE_CHROMEOS;
+    case sync_pb::SyncEnums_DeviceType_TYPE_PHONE:
+      return SyncedSession::TYPE_PHONE;
+    case sync_pb::SyncEnums_DeviceType_TYPE_TABLET:
+      return SyncedSession::TYPE_TABLET;
+    case sync_pb::SyncEnums_DeviceType_TYPE_OTHER:
+      return SyncedSession::TYPE_OTHER;
+  }
+  return SyncedSession::TYPE_OTHER;
+}
+
 }  // namespace
 
 // |local_device| is owned by ProfileSyncService, its lifetime exceeds
@@ -229,115 +250,152 @@
 void SessionsSyncManager::AssociateWindows(
     ReloadTabsOption option,
     syncer::SyncChangeList* change_output) {
-  const std::string local_tag = current_machine_tag();
-  sync_pb::SessionSpecifics specifics;
-  specifics.set_session_tag(local_tag);
-  sync_pb::SessionHeader* header_s = specifics.mutable_header();
-  SyncedSession* current_session = session_tracker_.GetSession(local_tag);
-  current_session->modified_time = base::Time::Now();
-  header_s->set_client_name(current_session_name_);
-  header_s->set_device_type(current_device_type_);
+  // Note that |current_session| is a pointer owned by |session_tracker_|.
+  // |session_tracker_| will continue to update |current_session| under
+  // the hood so care must be taken accessing it. In particular, invoking
+  // ResetSessionTracking(..) will invalidate all the tab data within
+  // the session, hence why copies of the SyncedSession must be made ahead of
+  // time.
+  SyncedSession* current_session =
+      session_tracker_.GetSession(current_machine_tag());
+  current_session->session_name = current_session_name_;
+  current_session->device_type =
+      ProtoDeviceTypeToSyncedSessionDeviceType(current_device_type_);
+  current_session->session_tag = current_machine_tag();
 
-  session_tracker_.ResetSessionTracking(local_tag);
   SyncedWindowDelegatesGetter::SyncedWindowDelegateMap windows =
       synced_window_delegates_getter()->GetSyncedWindowDelegates();
 
-  if (option == RELOAD_TABS) {
-    UMA_HISTOGRAM_COUNTS("Sync.SessionWindows", windows.size());
+  // On Android, it's possible to not have any tabbed windows if this is a cold
+  // start triggered for a custom tab. In that case, the previous session must
+  // be restored, otherwise it will be lost. On the other hand, if there is at
+  // least one tabbed window open, it's safe to overwrite the previous session
+  // entirely. See crbug.com/639009 for more info.
+  bool found_tabbed_window = false;
+  for (auto& window_iter_pair : windows) {
+    if (window_iter_pair.second->IsTypeTabbed())
+      found_tabbed_window = true;
   }
-  if (windows.size() == 0) {
-    // Assume that the window hasn't loaded. Attempting to associate now would
-    // clobber any old windows, so just return.
-    LOG(ERROR) << "No windows present, see crbug.com/639009";
-    return;
+
+  if (found_tabbed_window) {
+    // Just reset the session tracking. No need to worry about the previous
+    // session; the current tabbed windows are now the source of truth.
+    session_tracker_.ResetSessionTracking(current_machine_tag());
+    current_session->modified_time = base::Time::Now();
+  } else {
+    DVLOG(1) << "Found no tabbed windows. Reloading "
+             << current_session->windows.size()
+             << " windows from previous session.";
+
+    // A copy of the specifics must be made because |current_session| will be
+    // updated in place and therefore can't be relied on as the source of truth.
+    sync_pb::SessionHeader header_specifics;
+    header_specifics.CopyFrom(current_session->ToSessionHeaderProto());
+    session_tracker_.ResetSessionTracking(current_machine_tag());
+    PopulateSyncedSessionFromSpecifics(current_machine_tag(), header_specifics,
+                                       base::Time::Now(), current_session);
+
+    // The tab entities stored in sync have outdated SessionId values. Go
+    // through and update them to the new SessionIds.
+    for (auto& win_iter : current_session->windows) {
+      for (auto& tab : win_iter.second->wrapped_window.tabs) {
+        int sync_id = TabNodePool::kInvalidTabNodeID;
+        if (!session_tracker_.GetTabNodeFromLocalTabId(tab->tab_id.id(),
+                                                       &sync_id) ||
+            sync_id == TabNodePool::kInvalidTabNodeID) {
+          continue;
+        }
+        DVLOG(1) << "Rewriting tab node " << sync_id << " with tab id "
+                 << tab->tab_id.id();
+        AppendChangeForExistingTab(sync_id, *tab, change_output);
+      }
+    }
   }
-  for (auto window_iter_pair : windows) {
+
+  for (auto& window_iter_pair : windows) {
     const SyncedWindowDelegate* window_delegate = window_iter_pair.second;
     if (option == RELOAD_TABS) {
       UMA_HISTOGRAM_COUNTS("Sync.SessionTabs", window_delegate->GetTabCount());
     }
 
-    // Make sure the window has tabs and a viewable window. The viewable window
-    // check is necessary because, for example, when a browser is closed the
-    // destructor is not necessarily run immediately. This means its possible
-    // for us to get a handle to a browser that is about to be removed. If
-    // the tab count is 0 or the window is null, the browser is about to be
-    // deleted, so we ignore it.
+    // Make sure the window has tabs and a viewable window. The viewable
+    // window check is necessary because, for example, when a browser is
+    // closed the destructor is not necessarily run immediately. This means
+    // its possible for us to get a handle to a browser that is about to be
+    // removed. If the tab count is 0 or the window is null, the browser is
+    // about to be deleted, so we ignore it.
     if (window_delegate->ShouldSync() && window_delegate->GetTabCount() &&
         window_delegate->HasWindow()) {
       sync_pb::SessionWindow window_s;
       SessionID::id_type window_id = window_delegate->GetSessionId();
       DVLOG(1) << "Associating window " << window_id << " with "
                << window_delegate->GetTabCount() << " tabs.";
-      window_s.set_window_id(window_id);
-      // Note: We don't bother to set selected tab index anymore. We still
-      // consume it when receiving foreign sessions, as reading it is free, but
-      // it triggers too many sync cycles with too little value to make setting
-      // it worthwhile.
-      if (window_delegate->IsTypeTabbed()) {
-        window_s.set_browser_type(
-            sync_pb::SessionWindow_BrowserType_TYPE_TABBED);
-      } else if (window_delegate->IsTypePopup()) {
-        window_s.set_browser_type(
-            sync_pb::SessionWindow_BrowserType_TYPE_POPUP);
-      } else {
-        // This is a custom tab within an app. These will not be restored on
-        // startup if not present.
-        window_s.set_browser_type(
-            sync_pb::SessionWindow_BrowserType_TYPE_CUSTOM_TAB);
-      }
 
       bool found_tabs = false;
       for (int j = 0; j < window_delegate->GetTabCount(); ++j) {
         SessionID::id_type tab_id = window_delegate->GetTabIdAt(j);
         SyncedTabDelegate* synced_tab = window_delegate->GetTabAt(j);
 
-        // GetTabAt can return a null tab; in that case just skip it.
-        if (!synced_tab)
+        // GetTabAt can return a null tab; in that case just skip it. Similarly,
+        // if for some reason the tab id is invalid, skip it.
+        if (!synced_tab || !ShouldSyncTabId(tab_id))
           continue;
 
-        if (!ShouldSyncTabId(tab_id)) {
-          LOG(ERROR) << "Not syncing invalid tab with id " << tab_id;
-          continue;
-        }
-
         // Placeholder tabs are those without WebContents, either because they
         // were never loaded into memory or they were evicted from memory
-        // (typically only on Android devices). They only have a tab id, window
-        // id, and a saved synced id (corresponding to the tab node id). Note
-        // that only placeholders have this sync id, as it's necessary to
-        // properly reassociate the tab with the entity that was backing it.
+        // (typically only on Android devices). They only have a tab id,
+        // window id, and a saved synced id (corresponding to the tab node
+        // id). Note that only placeholders have this sync id, as it's
+        // necessary to properly reassociate the tab with the entity that was
+        // backing it.
         if (synced_tab->IsPlaceholderTab()) {
           // For tabs without WebContents update the |tab_id| and |window_id|,
           // as it could have changed after a session restore.
           if (synced_tab->GetSyncId() > TabNodePool::kInvalidTabNodeID) {
             AssociateRestoredPlaceholderTab(*synced_tab, tab_id, window_id,
                                             change_output);
+          } else {
+            DVLOG(1) << "Placeholder tab " << tab_id << " has no sync id.";
           }
         } else if (RELOAD_TABS == option) {
           AssociateTab(synced_tab, change_output);
         }
 
         // If the tab was syncable, it would have been added to the tracker
-        // either by the above Associate[RestoredPlaceholder]Tab call or by the
-        // OnLocalTabModified method invoking AssociateTab directly. Therefore,
-        // we can key whether this window has valid tabs based on the tab's
-        // presence in the tracker.
+        // either by the above Associate[RestoredPlaceholder]Tab call or by
+        // the OnLocalTabModified method invoking AssociateTab directly.
+        // Therefore, we can key whether this window has valid tabs based on
+        // the tab's presence in the tracker.
         const sessions::SessionTab* tab = nullptr;
-        if (session_tracker_.LookupSessionTab(local_tag, tab_id, &tab)) {
+        if (session_tracker_.LookupSessionTab(current_machine_tag(), tab_id,
+                                              &tab)) {
           found_tabs = true;
-          window_s.add_tab(tab_id);
+
+          // Update this window's representation in the synced session tracker.
+          // This is a no-op if called multiple times.
+          session_tracker_.PutWindowInSession(current_machine_tag(), window_id);
+
+          // Put the tab in the window (must happen after the window is added
+          // to the session).
+          session_tracker_.PutTabInWindow(current_machine_tag(), window_id,
+                                          tab_id);
         }
       }
       if (found_tabs) {
-        sync_pb::SessionWindow* header_window = header_s->add_window();
-        *header_window = window_s;
-
-        // Update this window's representation in the synced session tracker.
-        session_tracker_.PutWindowInSession(local_tag, window_id);
-        BuildSyncedSessionFromSpecifics(
-            local_tag, window_s, current_session->modified_time,
-            current_session->windows[window_id].get());
+        SyncedSessionWindow* synced_session_window =
+            current_session->windows[window_id].get();
+        if (window_delegate->IsTypeTabbed()) {
+          synced_session_window->window_type =
+              sync_pb::SessionWindow_BrowserType_TYPE_TABBED;
+        } else if (window_delegate->IsTypePopup()) {
+          synced_session_window->window_type =
+              sync_pb::SessionWindow_BrowserType_TYPE_POPUP;
+        } else {
+          // This is a custom tab within an app. These will not be restored on
+          // startup if not present.
+          synced_session_window->window_type =
+              sync_pb::SessionWindow_BrowserType_TYPE_CUSTOM_TAB;
+        }
       }
     }
   }
@@ -350,7 +408,9 @@
   // if the entity specifics are identical (i.e windows, client name did
   // not change).
   sync_pb::EntitySpecifics entity;
-  entity.mutable_session()->CopyFrom(specifics);
+  entity.mutable_session()->set_session_tag(current_machine_tag());
+  entity.mutable_session()->mutable_header()->CopyFrom(
+      current_session->ToSessionHeaderProto());
   syncer::SyncData data = syncer::SyncData::CreateLocalData(
       current_machine_tag(), current_session_name_, entity);
   change_output->push_back(
@@ -375,10 +435,17 @@
            << tab_delegate->GetWindowId();
 
   int tab_node_id = TabNodePool::kInvalidTabNodeID;
-  bool existing_tab_node =
-      session_tracker_.GetTabNodeFromLocalTabId(tab_id, &tab_node_id);
-  CHECK_NE(TabNodePool::kInvalidTabNodeID, tab_node_id) << "crbug.com/673618";
-  tab_delegate->SetSyncId(tab_node_id);
+  bool existing_tab_node = true;
+  if (session_tracker_.IsLocalTabNodeAssociated(tab_delegate->GetSyncId())) {
+    tab_node_id = tab_delegate->GetSyncId();
+    session_tracker_.ReassociateLocalTab(tab_node_id, tab_id);
+  } else {
+    existing_tab_node =
+        session_tracker_.GetTabNodeFromLocalTabId(tab_id, &tab_node_id);
+    CHECK_NE(TabNodePool::kInvalidTabNodeID, tab_node_id) << "crbug.com/673618";
+    tab_delegate->SetSyncId(tab_node_id);
+  }
+
   sessions::SessionTab* session_tab =
       session_tracker_.GetTab(current_machine_tag(), tab_id);
 
@@ -633,6 +700,12 @@
 bool SessionsSyncManager::InitFromSyncModel(
     const syncer::SyncDataList& sync_data,
     syncer::SyncChangeList* new_changes) {
+  // Map of all rewritten local ids. Because ids are reset on each restart,
+  // and id generation happens outside of Sync, all ids from a previous local
+  // session must be rewritten in order to be valid.
+  // Key: previous session id. Value: new session id.
+  std::map<SessionID::id_type, SessionID::id_type> session_id_map;
+
   bool found_current_header = false;
   int bad_foreign_hash_count = 0;
   for (syncer::SyncDataList::const_iterator it = sync_data.begin();
@@ -669,9 +742,37 @@
         if (specifics.header().has_client_name())
           current_session_name_ = specifics.header().client_name();
 
-        // TODO(zea): crbug.com/639009 update the tracker with the specifics
-        // from the header node as well. This will be necessary to preserve
-        // the set of open tabs when a custom tab is opened.
+        // The specifics from the SyncData are immutable. Create a mutable copy
+        // to hold the rewritten ids.
+        sync_pb::SessionSpecifics rewritten_specifics(specifics);
+
+        // Go through and generate new tab and window ids as necessary, updating
+        // the specifics in place.
+        for (auto& window :
+             *rewritten_specifics.mutable_header()->mutable_window()) {
+          session_id_map[window.window_id()] = SessionID().id();
+          window.set_window_id(session_id_map[window.window_id()]);
+
+          google::protobuf::RepeatedField<int>* tab_ids = window.mutable_tab();
+          for (int i = 0; i < tab_ids->size(); i++) {
+            auto tab_iter = session_id_map.find(tab_ids->Get(i));
+            if (tab_iter == session_id_map.end()) {
+              // SessionID::SessionID() automatically increments a static
+              // variable, forcing a new id to be generated each time.
+              session_id_map[tab_ids->Get(i)] = SessionID().id();
+            }
+            *(tab_ids->Mutable(i)) = session_id_map[tab_ids->Get(i)];
+            // Note: the tab id of the SessionTab will be updated when the tab
+            // node itself is processed.
+          }
+        }
+
+        UpdateTrackerWithSpecifics(rewritten_specifics,
+                                   remote.GetModifiedTime());
+
+        DVLOG(1) << "Loaded local header and rewrote " << session_id_map.size()
+                 << " ids.";
+
       } else {
         if (specifics.has_header() || !specifics.has_tab()) {
           LOG(WARNING) << "Found more than one session header node with local "
@@ -686,12 +787,33 @@
             new_changes->push_back(tombstone);
         } else {
           // This is a valid old tab node, add it to the tracker and associate
-          // it.
+          // it (using the new tab id).
           DVLOG(1) << "Associating local tab " << specifics.tab().tab_id()
                    << " with node " << specifics.tab_node_id();
-          session_tracker_.ReassociateLocalTab(specifics.tab_node_id(),
-                                               specifics.tab().tab_id());
-          UpdateTrackerWithSpecifics(specifics, remote.GetModifiedTime());
+
+          // Now file the tab under the new tab id.
+          SessionID::id_type new_tab_id = kInvalidTabID;
+          auto iter = session_id_map.find(specifics.tab().tab_id());
+          if (iter != session_id_map.end()) {
+            new_tab_id = iter->second;
+          } else {
+            session_id_map[specifics.tab().tab_id()] = SessionID().id();
+            new_tab_id = session_id_map[specifics.tab().tab_id()];
+          }
+          DVLOG(1) << "Remapping tab " << specifics.tab().tab_id() << " to "
+                   << new_tab_id;
+
+          // The specifics from the SyncData are immutable. Create a mutable
+          // copy to hold the rewritten ids.
+          sync_pb::SessionSpecifics rewritten_specifics(specifics);
+          rewritten_specifics.mutable_tab()->set_tab_id(new_tab_id);
+          session_tracker_.ReassociateLocalTab(
+              rewritten_specifics.tab_node_id(), new_tab_id);
+          UpdateTrackerWithSpecifics(rewritten_specifics,
+                                     remote.GetModifiedTime());
+
+          session_tracker_.ReassociateLocalTab(
+              rewritten_specifics.tab_node_id(), new_tab_id);
         }
       }
     }
@@ -703,7 +825,7 @@
   session_tracker_.LookupAllForeignSessions(&sessions,
                                             SyncedSessionTracker::RAW);
   for (const auto* session : sessions) {
-    session_tracker_.CleanupForeignSession(session->session_tag);
+    session_tracker_.CleanupSession(session->session_tag);
   }
 
   UMA_HISTOGRAM_COUNTS_100("Sync.SessionsBadForeignHashOnMergeCount",
@@ -730,27 +852,17 @@
 
     // Load (or create) the SyncedSession object for this client.
     const sync_pb::SessionHeader& header = specifics.header();
-    PopulateSessionHeaderFromSpecifics(header, modification_time, session);
 
     // Reset the tab/window tracking for this session (must do this before
     // we start calling PutWindowInSession and PutTabInWindow so that all
     // unused tabs/windows get cleared by the CleanupSession(...) call).
     session_tracker_.ResetSessionTracking(session_tag);
 
-    // Process all the windows and their tab information.
-    int num_windows = header.window_size();
-    DVLOG(1) << "Populating " << session_tag << " with " << num_windows
-             << " windows.";
+    PopulateSyncedSessionFromSpecifics(session_tag, header, modification_time,
+                                       session);
 
-    for (int i = 0; i < num_windows; ++i) {
-      const sync_pb::SessionWindow& window_s = header.window(i);
-      SessionID::id_type window_id = window_s.window_id();
-      session_tracker_.PutWindowInSession(session_tag, window_id);
-      BuildSyncedSessionFromSpecifics(session_tag, window_s, modification_time,
-                                      session->windows[window_id].get());
-    }
     // Delete any closed windows and unused tabs as necessary.
-    session_tracker_.CleanupForeignSession(session_tag);
+    session_tracker_.CleanupSession(session_tag);
   } else if (specifics.has_tab()) {
     const sync_pb::SessionTab& tab_s = specifics.tab();
     SessionID::id_type tab_id = tab_s.tab_id();
@@ -822,46 +934,37 @@
   }
 }
 
-// static
-void SessionsSyncManager::PopulateSessionHeaderFromSpecifics(
+void SessionsSyncManager::PopulateSyncedSessionFromSpecifics(
+    const std::string& session_tag,
     const sync_pb::SessionHeader& header_specifics,
     base::Time mtime,
-    SyncedSession* session_header) {
+    SyncedSession* synced_session) {
   if (header_specifics.has_client_name())
-    session_header->session_name = header_specifics.client_name();
+    synced_session->session_name = header_specifics.client_name();
   if (header_specifics.has_device_type()) {
-    switch (header_specifics.device_type()) {
-      case sync_pb::SyncEnums_DeviceType_TYPE_WIN:
-        session_header->device_type = SyncedSession::TYPE_WIN;
-        break;
-      case sync_pb::SyncEnums_DeviceType_TYPE_MAC:
-        session_header->device_type = SyncedSession::TYPE_MACOSX;
-        break;
-      case sync_pb::SyncEnums_DeviceType_TYPE_LINUX:
-        session_header->device_type = SyncedSession::TYPE_LINUX;
-        break;
-      case sync_pb::SyncEnums_DeviceType_TYPE_CROS:
-        session_header->device_type = SyncedSession::TYPE_CHROMEOS;
-        break;
-      case sync_pb::SyncEnums_DeviceType_TYPE_PHONE:
-        session_header->device_type = SyncedSession::TYPE_PHONE;
-        break;
-      case sync_pb::SyncEnums_DeviceType_TYPE_TABLET:
-        session_header->device_type = SyncedSession::TYPE_TABLET;
-        break;
-      case sync_pb::SyncEnums_DeviceType_TYPE_OTHER:
-      // Intentionally fall-through
-      default:
-        session_header->device_type = SyncedSession::TYPE_OTHER;
-        break;
-    }
+    synced_session->device_type = ProtoDeviceTypeToSyncedSessionDeviceType(
+        header_specifics.device_type());
   }
-  session_header->modified_time =
-      std::max(mtime, session_header->modified_time);
+  synced_session->modified_time =
+      std::max(mtime, synced_session->modified_time);
+
+  // Process all the windows and their tab information.
+  int num_windows = header_specifics.window_size();
+  DVLOG(1) << "Populating " << session_tag << " with " << num_windows
+           << " windows.";
+
+  for (int i = 0; i < num_windows; ++i) {
+    const sync_pb::SessionWindow& window_s = header_specifics.window(i);
+    SessionID::id_type window_id = window_s.window_id();
+    session_tracker_.PutWindowInSession(session_tag, window_id);
+    PopulateSyncedSessionWindowFromSpecifics(
+        session_tag, window_s, synced_session->modified_time,
+        synced_session->windows[window_id].get());
+  }
 }
 
 // static
-void SessionsSyncManager::BuildSyncedSessionFromSpecifics(
+void SessionsSyncManager::PopulateSyncedSessionWindowFromSpecifics(
     const std::string& session_tag,
     const sync_pb::SessionWindow& specifics,
     base::Time mtime,
@@ -1017,14 +1120,22 @@
       session_tracker_.GetTab(current_machine_tag(), new_tab_id);
   local_tab->window_id.set_id(new_window_id);
 
+  AppendChangeForExistingTab(tab_delegate.GetSyncId(), *local_tab,
+                             change_output);
+}
+
+void SessionsSyncManager::AppendChangeForExistingTab(
+    int sync_id,
+    const sessions::SessionTab& tab,
+    syncer::SyncChangeList* change_output) {
   // Rewrite the specifics based on the reassociated SessionTab to preserve
   // the new tab and window ids.
   sync_pb::EntitySpecifics entity;
-  entity.mutable_session()->CopyFrom(SessionTabToSpecifics(
-      *local_tab, current_machine_tag(), tab_delegate.GetSyncId()));
+  entity.mutable_session()->CopyFrom(
+      SessionTabToSpecifics(tab, current_machine_tag(), sync_id));
   syncer::SyncData data = syncer::SyncData::CreateLocalData(
-      TabNodeIdToTag(current_machine_tag(), tab_delegate.GetSyncId()),
-      current_session_name_, entity);
+      TabNodeIdToTag(current_machine_tag(), sync_id), current_session_name_,
+      entity);
   change_output->push_back(
       syncer::SyncChange(FROM_HERE, syncer::SyncChange::ACTION_UPDATE, data));
 }
diff --git a/components/sync_sessions/sessions_sync_manager.h b/components/sync_sessions/sessions_sync_manager.h
index bf72e9e..80706d86 100644
--- a/components/sync_sessions/sessions_sync_manager.h
+++ b/components/sync_sessions/sessions_sync_manager.h
@@ -119,7 +119,7 @@
  private:
   friend class extensions::ExtensionSessionsTest;
   friend class SessionsSyncManagerTest;
-  FRIEND_TEST_ALL_PREFIXES(SessionsSyncManagerTest, PopulateSessionHeader);
+  FRIEND_TEST_ALL_PREFIXES(SessionsSyncManagerTest, PopulateSyncedSession);
   FRIEND_TEST_ALL_PREFIXES(SessionsSyncManagerTest, PopulateSessionWindow);
   FRIEND_TEST_ALL_PREFIXES(SessionsSyncManagerTest, ValidTabs);
   FRIEND_TEST_ALL_PREFIXES(SessionsSyncManagerTest, SetSessionTabFromDelegate);
@@ -187,14 +187,15 @@
 
   // Used to populate a session header from the session specifics header
   // provided.
-  static void PopulateSessionHeaderFromSpecifics(
+  void PopulateSyncedSessionFromSpecifics(
+      const std::string& session_tag,
       const sync_pb::SessionHeader& header_specifics,
       base::Time mtime,
-      SyncedSession* session_header);
+      SyncedSession* synced_session);
 
-  // Builds |session_window| from the session specifics window
+  // Builds |synced_session_window| from the session specifics window
   // provided and updates the SessionTracker with foreign session data created.
-  void BuildSyncedSessionFromSpecifics(
+  void PopulateSyncedSessionWindowFromSpecifics(
       const std::string& session_tag,
       const sync_pb::SessionWindow& specifics,
       base::Time mtime,
@@ -246,6 +247,12 @@
       SessionID::id_type new_window_id,
       syncer::SyncChangeList* change_output);
 
+  // Appends an ACTION_UPDATE for a sync tab entity onto |change_output| to
+  // reflect the contents of |tab|, given the tab node id |sync_id|.
+  void AppendChangeForExistingTab(int sync_id,
+                                  const sessions::SessionTab& tab,
+                                  syncer::SyncChangeList* change_output);
+
   // Stops and re-starts syncing to rebuild association mappings. Returns true
   // when re-starting succeeds.
   // See |local_tab_pool_out_of_sync_|.
diff --git a/components/sync_sessions/sessions_sync_manager_unittest.cc b/components/sync_sessions/sessions_sync_manager_unittest.cc
index 7479a18..bc22ca115 100644
--- a/components/sync_sessions/sessions_sync_manager_unittest.cc
+++ b/components/sync_sessions/sessions_sync_manager_unittest.cc
@@ -243,7 +243,7 @@
  private:
   int current_entry_index_ = -1;
   bool is_supervised_ = false;
-  int sync_id_ = -1;
+  int sync_id_ = kInvalidTabID;
   SessionID tab_id_;
   SessionID window_id_;
   std::vector<std::unique_ptr<const sessions::SerializedNavigationEntry>>
@@ -328,7 +328,7 @@
 
  private:
   SessionID::id_type session_id_;
-  int sync_id_;
+  int sync_id_ = kInvalidTabID;
 };
 
 class TestSyncedWindowDelegate : public SyncedWindowDelegate {
@@ -358,6 +358,10 @@
     return false;
   }
 
+  void OverrideWindowTypeToCustomTab() {
+    window_type_ = sync_pb::SessionWindow_BrowserType_TYPE_CUSTOM_TAB;
+  }
+
   SyncedTabDelegate* GetTabAt(int index) const override {
     if (tab_delegates_.find(index) != tab_delegates_.end())
       return tab_delegates_.find(index)->second;
@@ -387,6 +391,8 @@
   SessionID window_id_;
   sync_pb::SessionWindow_BrowserType window_type_ =
       sync_pb::SessionWindow_BrowserType_TYPE_TABBED;
+  std::map<int, SyncedTabDelegate*> tab_overrides_;
+  std::map<int, SessionID::id_type> tab_id_overrides_;
 };
 
 class TestSyncedWindowDelegatesGetter : public SyncedWindowDelegatesGetter {
@@ -410,6 +416,8 @@
     delegates_[delegate->GetSessionId()] = delegate;
   }
 
+  void ClearSyncedWindowDelegates() { delegates_.clear(); }
+
  private:
   SyncedWindowDelegateMap delegates_;
 };
@@ -469,7 +477,7 @@
   void StartRoutingTo(LocalSessionEventHandler* handler) override {
     handler_ = handler;
   }
-  void Stop() override {}
+  void Stop() override { handler_ = nullptr; }
 
   void NotifyNav(SyncedTabDelegate* tab) {
     if (handler_)
@@ -716,12 +724,45 @@
     NavigateTab(delegate, url, base::Time());
   }
 
+  void ResetWindows() {
+    window_getter_.ClearSyncedWindowDelegates();
+    windows_.clear();
+  }
+
   TestSyncedWindowDelegate* AddWindow() {
     windows_.push_back(base::MakeUnique<TestSyncedWindowDelegate>());
     window_getter_.AddSyncedWindowDelegate(windows_.back().get());
     return windows_.back().get();
   }
 
+  syncer::SyncDataList GetDataFromChanges(
+      const syncer::SyncChangeList& changes) {
+    syncer::SyncDataList data_list;
+    for (auto& change : changes) {
+      syncer::SyncDataLocal change_data(change.sync_data());
+      bool found = false;
+      for (auto&& data : data_list) {
+        syncer::SyncDataLocal local_data(data);
+        if (local_data.GetTag() == change_data.GetTag()) {
+          data = change.sync_data();
+          found = true;
+          break;
+        }
+      }
+      if (!found)
+        data_list.push_back(change_data);
+    }
+    return data_list;
+  }
+
+  syncer::SyncDataList ConvertToRemote(const syncer::SyncDataList& in) {
+    syncer::SyncDataList out;
+    for (auto& data : in) {
+      out.push_back(CreateRemoteData(data.GetSpecifics()));
+    }
+    return out;
+  }
+
  private:
   std::unique_ptr<syncer::FakeSyncClient> sync_client_;
   std::unique_ptr<SyncSessionsClientShim> sessions_client_shim_;
@@ -737,41 +778,6 @@
   std::unique_ptr<LocalDeviceInfoProviderMock> local_device_;
 };
 
-// Test that the SyncSessionManager can properly fill in a SessionHeader.
-TEST_F(SessionsSyncManagerTest, PopulateSessionHeader) {
-  sync_pb::SessionHeader header_s;
-  header_s.set_client_name("Client 1");
-  header_s.set_device_type(sync_pb::SyncEnums_DeviceType_TYPE_WIN);
-
-  SyncedSession session;
-  base::Time time = base::Time::Now();
-  SessionsSyncManager::PopulateSessionHeaderFromSpecifics(header_s, time,
-                                                          &session);
-  ASSERT_EQ("Client 1", session.session_name);
-  ASSERT_EQ(SyncedSession::TYPE_WIN, session.device_type);
-  ASSERT_EQ(time, session.modified_time);
-}
-
-// Test translation between protobuf types and chrome session types.
-TEST_F(SessionsSyncManagerTest, PopulateSessionWindow) {
-  sync_pb::SessionWindow window_s;
-  window_s.add_tab(0);
-  window_s.set_browser_type(sync_pb::SessionWindow_BrowserType_TYPE_TABBED);
-  window_s.set_selected_tab_index(1);
-
-  SyncedSession* session = manager()->session_tracker_.GetSession(kTag1);
-  manager()->session_tracker_.PutWindowInSession(kTag1, 0);
-  manager()->BuildSyncedSessionFromSpecifics(kTag1, window_s, base::Time(),
-                                             session->windows[0].get());
-  ASSERT_EQ(1U, session->windows[0]->wrapped_window.tabs.size());
-  ASSERT_EQ(1, session->windows[0]->wrapped_window.selected_tab_index);
-  ASSERT_EQ(sessions::SessionWindow::TYPE_TABBED,
-            session->windows[0]->wrapped_window.type);
-  ASSERT_EQ(1U, manager()->session_tracker_.num_synced_sessions());
-  ASSERT_EQ(1U, manager()->session_tracker_.num_synced_tabs(kTag1));
-}
-
-// Populate the fake tab delegate with some data and navigation
 // entries and make sure that setting a SessionTab from it preserves
 // those entries (and clobbers any existing data).
 TEST_F(SessionsSyncManagerTest, SetSessionTabFromDelegate) {
@@ -952,6 +958,117 @@
   EXPECT_TRUE(out[0].sync_data().GetSpecifics().session().has_header());
 }
 
+// Ensure that tabbed windows from a previous session are preserved if no
+// windows are present on startup.
+TEST_F(SessionsSyncManagerTest, PreserveTabbedDataNoWindows) {
+  syncer::SyncDataList in;
+  syncer::SyncChangeList out;
+
+  // Set up one tab and start sync with it.
+  TestSyncedTabDelegate* tab = AddTab(AddWindow()->GetSessionId(), kFoo1);
+  NavigateTab(tab, kFoo2);
+  InitWithSyncDataTakeOutput(in, &out);
+
+  // There should be two entities, a header and a tab.
+  in = GetDataFromChanges(out);
+  out.clear();
+  ASSERT_EQ(2U, in.size());
+
+  // Resync, using the previous sync data, but with no windows open now.
+  manager()->StopSyncing(syncer::SESSIONS);
+  ResetWindows();
+  InitWithSyncDataTakeOutput(ConvertToRemote(in), &out);
+
+  // There should be two changes: the rewritten tab (to update the tab id), and
+  // the rewritten header.
+  ASSERT_TRUE(ChangeTypeMatches(
+      out, {SyncChange::ACTION_UPDATE, SyncChange::ACTION_UPDATE}));
+  VerifyLocalTabChange(out[0], 2, kFoo2);
+  VerifyLocalHeaderChange(out[1], 1, 1);
+
+  // Verify the tab id of the restored tab is updated and consistent.
+  int restored_tab_id =
+      out[0].sync_data().GetSpecifics().session().tab().tab_id();
+  // SessionId should be rewritten on restore.
+  ASSERT_NE(tab->GetSessionId(), restored_tab_id);
+  ASSERT_EQ(
+      restored_tab_id,
+      out[1].sync_data().GetSpecifics().session().header().window(0).tab(0));
+}
+
+// Ensure that tabbed windows from a previous session are preserved if only
+// transient windows are present at startup.
+TEST_F(SessionsSyncManagerTest, PreserveTabbedDataCustomTab) {
+  syncer::SyncDataList in;
+  syncer::SyncChangeList out;
+
+  // Set up one tab and start sync with it.
+  TestSyncedWindowDelegate* window = AddWindow();
+  TestSyncedTabDelegate* tab = AddTab(window->GetSessionId(), kFoo1);
+  NavigateTab(tab, kFoo2);
+  InitWithSyncDataTakeOutput(in, &out);
+
+  // There should be two entities, a header and a tab.
+  in = GetDataFromChanges(out);
+  out.clear();
+  ASSERT_EQ(2U, in.size());
+
+  // Resync, using the previous sync data, but with only a custom tab open.
+  manager()->StopSyncing(syncer::SESSIONS);
+  window->OverrideWindowTypeToCustomTab();
+  SessionID new_window_id;
+  window->OverrideWindowId(new_window_id.id());
+  std::unique_ptr<TestSyncedTabDelegate> custom_tab =
+      base::MakeUnique<TestSyncedTabDelegate>();
+  NavigateTab(custom_tab.get(), kBar1);
+  window->OverrideTabAt(0, custom_tab.get());
+  InitWithSyncDataTakeOutput(ConvertToRemote(in), &out);
+
+  // The previous session should be preserved, and the transient window should
+  // be synced as a new transient window. This means that the original tab
+  // node will be updated with its new tab id, a new tab node will be created,
+  // and the header will be updated to reflect the two windows and two tabs.
+  ASSERT_TRUE(
+      ChangeTypeMatches(out, {SyncChange::ACTION_UPDATE, SyncChange::ACTION_ADD,
+                              SyncChange::ACTION_UPDATE}));
+  VerifyLocalTabChange(out[0], 2, kFoo2);
+  VerifyLocalTabChange(out[1], 1, kBar1);
+  VerifyLocalHeaderChange(out[2], 2, 2);
+
+  // The two windows should have different window types.
+  ASSERT_EQ(sync_pb::SessionWindow::TYPE_CUSTOM_TAB, out[2]
+                                                         .sync_data()
+                                                         .GetSpecifics()
+                                                         .session()
+                                                         .header()
+                                                         .window(0)
+                                                         .browser_type());
+  ASSERT_EQ(sync_pb::SessionWindow::TYPE_TABBED, out[2]
+                                                     .sync_data()
+                                                     .GetSpecifics()
+                                                     .session()
+                                                     .header()
+                                                     .window(1)
+                                                     .browser_type());
+
+  // Verify the tab id of the restored tab is updated and consistent.
+  int restored_tab_id =
+      out[0].sync_data().GetSpecifics().session().tab().tab_id();
+  // SessionId should be rewritten on restore.
+  ASSERT_NE(tab->GetSessionId(), restored_tab_id);
+  ASSERT_EQ(
+      restored_tab_id,
+      out[2].sync_data().GetSpecifics().session().header().window(1).tab(0));
+
+  // Verify the tab id of the custom tab is consistent.
+  int custom_tab_id =
+      out[1].sync_data().GetSpecifics().session().tab().tab_id();
+  ASSERT_EQ(custom_tab->GetSessionId(), custom_tab_id);
+  ASSERT_EQ(
+      custom_tab_id,
+      out[2].sync_data().GetSpecifics().session().header().window(0).tab(0));
+}
+
 // Tests MergeDataAndStartSyncing with sync data but no local data.
 TEST_F(SessionsSyncManagerTest, MergeWithInitialForeignSession) {
   std::vector<SessionID::id_type> tab_list1(std::begin(kTabIds1),
@@ -1582,9 +1699,9 @@
   sync_pb::SessionSpecifics new_tab(
       changes[1].sync_data().GetSpecifics().session());
   new_tab.set_tab_node_id(tab_node_id + 1);
-  in.push_back(CreateRemoteData(new_tab));  // New tab node.
   in.push_back(CreateRemoteData(
       changes[1].sync_data().GetSpecifics()));  // Old tab node.
+  in.push_back(CreateRemoteData(new_tab));      // New tab node.
   changes.clear();
 
   // Reassociate (with the same single tab/window open).
@@ -2396,12 +2513,12 @@
 
   // The tab entity will be overwritten twice. Once with the information for
   // tab 1 and then again with the information for tab 2. This will be followed
-  // by a header change reflecting both tabs.
+  // by a header change reflecting only the final tab.
   ASSERT_TRUE(
       ChangeTypeMatches(out,
                         {SyncChange::ACTION_UPDATE, SyncChange::ACTION_UPDATE,
                          SyncChange::ACTION_UPDATE}));
-  VerifyLocalHeaderChange(out[2], 2, 2);
+  VerifyLocalHeaderChange(out[2], 2, 1);
   VerifyLocalTabChange(out[0], 1, kFoo1);
   EXPECT_EQ(sync_id, out[0].sync_data().GetSpecifics().session().tab_node_id());
   EXPECT_EQ(tab1->GetSessionId(),
diff --git a/components/sync_sessions/synced_session_tracker.cc b/components/sync_sessions/synced_session_tracker.cc
index 94e6e9ff..1b61004 100644
--- a/components/sync_sessions/synced_session_tracker.cc
+++ b/components/sync_sessions/synced_session_tracker.cc
@@ -221,6 +221,12 @@
 
 void SyncedSessionTracker::PutWindowInSession(const std::string& session_tag,
                                               SessionID::id_type window_id) {
+  if (GetSession(session_tag)->windows.find(window_id) !=
+      GetSession(session_tag)->windows.end()) {
+    DVLOG(1) << "Window " << window_id << " already added to session "
+             << session_tag;
+    return;
+  }
   std::unique_ptr<SyncedSessionWindow> window;
 
   auto iter = unmapped_windows_[session_tag].find(window_id);
@@ -345,9 +351,7 @@
   return tab_ptr;
 }
 
-void SyncedSessionTracker::CleanupForeignSession(
-    const std::string& session_tag) {
-  DCHECK_NE(local_session_tag_, session_tag);
+void SyncedSessionTracker::CleanupSession(const std::string& session_tag) {
   CleanupSessionImpl(session_tag);
 }
 
@@ -365,13 +369,11 @@
 bool SyncedSessionTracker::GetTabNodeFromLocalTabId(SessionID::id_type tab_id,
                                                     int* tab_node_id) {
   DCHECK(!local_session_tag_.empty());
-  // Ensure a placeholder SessionTab is in place, if not already.
-  // Although we don't need a SessionTab to fulfill this request, this forces
-  // the
-  // creation of one if it doesn't already exist. This helps to make sure we're
-  // tracking this |tab_id| if |local_tab_pool_| is, and everyone's data
-  // structures
-  // are kept in sync and as consistent as possible.
+  // Ensure a placeholder SessionTab is in place, if not already. Although we
+  // don't need a SessionTab to fulfill this request, this forces the creation
+  // of one if it doesn't already exist. This helps to make sure we're tracking
+  // this |tab_id| if |local_tab_pool_| is, and everyone's data structures are
+  // kept in sync and as consistent as possible.
   GetTab(local_session_tag_, tab_id);  // Ignore result.
 
   bool reused_existing_tab =
diff --git a/components/sync_sessions/synced_session_tracker.h b/components/sync_sessions/synced_session_tracker.h
index 506d3d0..f032479 100644
--- a/components/sync_sessions/synced_session_tracker.h
+++ b/components/sync_sessions/synced_session_tracker.h
@@ -96,10 +96,15 @@
   // tabs not owned.
   void ResetSessionTracking(const std::string& session_tag);
 
+  // Deletes those windows and tabs associated with |session_tag| that are no
+  // longer owned. See ResetSessionTracking(...)..
+  void CleanupSession(const std::string& session_tag);
+
   // Adds the window with id |window_id| to the session specified by
   // |session_tag|. If none existed for that session, creates one. Similarly, if
   // the session did not exist yet, creates it. Ownership of the SessionWindow
   // remains within the SyncedSessionTracker.
+  // Attempting to add a window to a session multiple times will have no effect.
   void PutWindowInSession(const std::string& session_tag,
                           SessionID::id_type window_id);
 
@@ -145,10 +150,6 @@
   // Returns true if the session existed and was deleted, false otherwise.
   bool DeleteForeignSession(const std::string& session_tag);
 
-  // Deletes those windows and tabs associated with |session_tag| that are no
-  // longer owned. See ResetSessionTracking(...)..
-  void CleanupForeignSession(const std::string& session_tag);
-
   // **** Methods specific to the local session. ****
 
   // Set the local session tag. Must be called before any other local session
diff --git a/components/sync_sessions/synced_session_tracker_unittest.cc b/components/sync_sessions/synced_session_tracker_unittest.cc
index 9da19516..04cc0fd 100644
--- a/components/sync_sessions/synced_session_tracker_unittest.cc
+++ b/components/sync_sessions/synced_session_tracker_unittest.cc
@@ -61,6 +61,10 @@
   GetTracker()->PutWindowInSession(kTag, 0);
   SyncedSession* session = GetTracker()->GetSession(kTag);
   ASSERT_EQ(1U, session->windows.size());
+
+  // Doing it again should have no effect.
+  GetTracker()->PutWindowInSession(kTag, 0);
+  ASSERT_EQ(1U, session->windows.size());
   // Should clean up memory on its own.
 }
 
@@ -324,7 +328,7 @@
   // Window 1 was closed, along with tab 5.
   GetTracker()->PutTabInWindow(kTag, 0, 6);  // No longer unmapped.
   // Session 2 should not be affected.
-  GetTracker()->CleanupForeignSession(kTag);
+  GetTracker()->CleanupSession(kTag);
 
   // Verify that only those parts of the session not owned have been removed.
   ASSERT_EQ(1U, session1->windows.size());
@@ -560,4 +564,38 @@
   ASSERT_EQ(1U, GetTabNodePool()->Capacity());
 }
 
+TEST_F(SyncedSessionTrackerTest, ReassociateTabMapMismatch) {
+  std::set<int> free_node_ids;
+
+  // First create the old tab in an unmapped state.
+  GetTracker()->SetLocalSessionTag(kTag);
+  EXPECT_FALSE(GetTracker()->IsLocalTabNodeAssociated(kTabNode));
+  GetTracker()->ReassociateLocalTab(kTabNode, kTab1);
+  EXPECT_TRUE(GetTracker()->IsLocalTabNodeAssociated(kTabNode));
+  EXPECT_TRUE(GetTracker()->IsTabUnmappedForTesting(kTab1));
+
+  // Map an unseen tab to a window, then reassociate the existing tab to the
+  // mapped tab id.
+  GetTracker()->ResetSessionTracking(kTag);
+  EXPECT_TRUE(GetTracker()->IsLocalTabNodeAssociated(kTabNode));
+  GetTracker()->PutWindowInSession(kTag, kWindow1);
+  GetTracker()->PutTabInWindow(kTag, kWindow1, kTab2);
+  GetTracker()->CleanupLocalTabs(&free_node_ids);
+  EXPECT_FALSE(GetTracker()->IsTabUnmappedForTesting(kTab1));
+  EXPECT_FALSE(GetTracker()->IsTabUnmappedForTesting(kTab2));
+  GetTracker()->ReassociateLocalTab(kTabNode, kTab2);
+  EXPECT_TRUE(free_node_ids.empty());
+  EXPECT_FALSE(GetTracker()->IsTabUnmappedForTesting(kTab1));
+  EXPECT_FALSE(GetTracker()->IsTabUnmappedForTesting(kTab2));
+
+  // Now that it's been mapped, it should be accessible both via the
+  // GetSession as well as GetTab.
+  SyncedSession* session = GetTracker()->GetSession(kTag);
+  ASSERT_EQ(GetTracker()->GetTab(kTag, kTab2),
+            session->windows[kWindow1]->wrapped_window.tabs[0].get());
+  ASSERT_EQ(session->tab_node_ids.size(),
+            session->tab_node_ids.count(kTabNode));
+  ASSERT_EQ(1U, GetTabNodePool()->Capacity());
+}
+
 }  // namespace sync_sessions
diff --git a/components/translate/core/browser/BUILD.gn b/components/translate/core/browser/BUILD.gn
index 1e56c7e..45e0c2b 100644
--- a/components/translate/core/browser/BUILD.gn
+++ b/components/translate/core/browser/BUILD.gn
@@ -32,6 +32,8 @@
     "translate_language_list.h",
     "translate_manager.cc",
     "translate_manager.h",
+    "translate_pref_names.cc",
+    "translate_pref_names.h",
     "translate_prefs.cc",
     "translate_prefs.h",
     "translate_ranker.h",
diff --git a/components/translate/core/browser/translate_download_manager.cc b/components/translate/core/browser/translate_download_manager.cc
index aebdd3d..a431403 100644
--- a/components/translate/core/browser/translate_download_manager.cc
+++ b/components/translate/core/browser/translate_download_manager.cc
@@ -8,7 +8,7 @@
 #include "base/logging.h"
 #include "base/memory/singleton.h"
 #include "components/prefs/pref_service.h"
-#include "components/translate/core/common/translate_pref_names.h"
+#include "components/translate/core/browser/translate_pref_names.h"
 #include "components/translate/core/common/translate_switches.h"
 
 namespace translate {
@@ -100,17 +100,6 @@
   return language_list->IsSupportedLanguage(language);
 }
 
-// static
-bool TranslateDownloadManager::IsAlphaLanguage(const std::string& language) {
-  TranslateLanguageList* language_list = GetInstance()->language_list();
-  if (!language_list) {
-    NOTREACHED();
-    return false;
-  }
-
-  return language_list->IsAlphaLanguage(language);
-}
-
 void TranslateDownloadManager::ClearTranslateScriptForTesting() {
   if (script_.get() == NULL) {
     NOTREACHED();
diff --git a/components/translate/core/browser/translate_download_manager.h b/components/translate/core/browser/translate_download_manager.h
index 5d1c4e2..c7f6923 100644
--- a/components/translate/core/browser/translate_download_manager.h
+++ b/components/translate/core/browser/translate_download_manager.h
@@ -74,10 +74,6 @@
   // Returns true if |language| is supported by the translation server.
   static bool IsSupportedLanguage(const std::string& language);
 
-  // Returns true if |language| is supported by the translation server as an
-  // alpha language.
-  static bool IsAlphaLanguage(const std::string& language);
-
   // Must be called to shut Translate down. Cancels any pending fetches.
   void Shutdown();
 
diff --git a/components/translate/core/browser/translate_language_list.cc b/components/translate/core/browser/translate_language_list.cc
index cee6773..1663fd7 100644
--- a/components/translate/core/browser/translate_language_list.cc
+++ b/components/translate/core/browser/translate_language_list.cc
@@ -142,11 +142,6 @@
 // Constant URL string to fetch server supporting language list.
 const char kLanguageListFetchPath[] = "translate_a/l?client=chrome";
 
-// Used in kTranslateScriptURL to request supporting languages list including
-// "alpha languages".
-const char kAlphaLanguageQueryName[] = "alpha";
-const char kAlphaLanguageQueryValue[] = "1";
-
 // Represent if the language list updater is disabled.
 bool update_is_disabled = false;
 
@@ -156,7 +151,6 @@
 }  // namespace
 
 const char TranslateLanguageList::kTargetLanguagesKey[] = "tl";
-const char TranslateLanguageList::kAlphaLanguagesKey[] = "al";
 
 TranslateLanguageList::TranslateLanguageList()
     : resource_requests_allowed_(false), request_pending_(false) {
@@ -164,7 +158,7 @@
   // |kDefaultSupportedLanguages|. This list will be overriden by a server
   // providing supported langauges list.
   for (size_t i = 0; i < arraysize(kDefaultSupportedLanguages); ++i)
-    all_supported_languages_.insert(kDefaultSupportedLanguages[i]);
+    supported_languages_.insert(kDefaultSupportedLanguages[i]);
 
   if (update_is_disabled)
     return;
@@ -178,8 +172,8 @@
 void TranslateLanguageList::GetSupportedLanguages(
     std::vector<std::string>* languages) {
   DCHECK(languages && languages->empty());
-  std::set<std::string>::const_iterator iter = all_supported_languages_.begin();
-  for (; iter != all_supported_languages_.end(); ++iter)
+  std::set<std::string>::const_iterator iter = supported_languages_.begin();
+  for (; iter != supported_languages_.end(); ++iter)
     languages->push_back(*iter);
 
   // Update language lists if they are not updated after Chrome was launched
@@ -202,11 +196,7 @@
 }
 
 bool TranslateLanguageList::IsSupportedLanguage(const std::string& language) {
-  return all_supported_languages_.count(language) != 0;
-}
-
-bool TranslateLanguageList::IsAlphaLanguage(const std::string& language) {
-  return alpha_languages_.count(language) != 0;
+  return supported_languages_.count(language) != 0;
 }
 
 GURL TranslateLanguageList::TranslateLanguageUrl() {
@@ -230,12 +220,9 @@
     GURL url = TranslateLanguageUrl();
     url = AddHostLocaleToUrl(url);
     url = AddApiKeyToUrl(url);
-    url = net::AppendQueryParameter(
-        url, kAlphaLanguageQueryName, kAlphaLanguageQueryValue);
 
     std::string message = base::StringPrintf(
-        "Language list including alpha languages fetch starts (URL: %s)",
-        url.spec().c_str());
+        "Language list fetch starts (URL: %s)", url.spec().c_str());
     NotifyEvent(__LINE__, message);
 
     bool result = language_list_fetcher_->Request(
@@ -301,10 +288,9 @@
   // The format is in JSON as:
   // {
   //   "sl": {"XX": "LanguageName", ...},
-  //   "tl": {"XX": "LanguageName", ...},
-  //   "al": {"XX": 1, ...}
+  //   "tl": {"XX": "LanguageName", ...}
   // }
-  // Where "tl" and "al" are set in kTargetLanguagesKey and kAlphaLanguagesKey.
+  // Where "tl" is set in kTargetLanguagesKey.
   std::unique_ptr<base::Value> json_value =
       base::JSONReader::Read(language_list, base::JSON_ALLOW_TRAILING_COMMAS);
 
@@ -316,7 +302,7 @@
   }
   // The first level dictionary contains three sub-dict, first for source
   // languages and second for target languages, we want to use the target
-  // languages. The last is for alpha languages.
+  // languages.
   base::DictionaryValue* language_dict =
       static_cast<base::DictionaryValue*>(json_value.get());
   base::DictionaryValue* target_languages = NULL;
@@ -332,7 +318,7 @@
       TranslateDownloadManager::GetInstance()->application_locale();
 
   // Now we can clear language list.
-  all_supported_languages_.clear();
+  supported_languages_.clear();
   std::string message;
   // ... and replace it with the values we just fetched from the server.
   for (base::DictionaryValue::Iterator iter(*target_languages);
@@ -343,33 +329,13 @@
       TranslateBrowserMetrics::ReportUndisplayableLanguage(lang);
       continue;
     }
-    all_supported_languages_.insert(lang);
+    supported_languages_.insert(lang);
     if (message.empty())
       message += lang;
     else
       message += ", " + lang;
   }
   NotifyEvent(__LINE__, message);
-
-  // Get the alpha languages. The "al" parameter could be abandoned.
-  base::DictionaryValue* alpha_languages = NULL;
-  if (!language_dict->GetDictionary(TranslateLanguageList::kAlphaLanguagesKey,
-                                    &alpha_languages) ||
-      alpha_languages == NULL) {
-    // Return true since alpha language part is optional.
-    return true;
-  }
-
-  // We assume that the alpha languages are included in the above target
-  // languages, and don't use UMA or NotifyEvent.
-  alpha_languages_.clear();
-  for (base::DictionaryValue::Iterator iter(*alpha_languages);
-       !iter.IsAtEnd(); iter.Advance()) {
-    const std::string& lang = iter.key();
-    if (!l10n_util::IsLocaleNameTranslated(lang.c_str(), locale))
-      continue;
-    alpha_languages_.insert(lang);
-  }
   return true;
 }
 
diff --git a/components/translate/core/browser/translate_language_list.h b/components/translate/core/browser/translate_language_list.h
index e08d681..1b6dadb3 100644
--- a/components/translate/core/browser/translate_language_list.h
+++ b/components/translate/core/browser/translate_language_list.h
@@ -36,7 +36,7 @@
   base::Time last_updated() { return last_updated_; }
 
   // Fills |languages| with the list of languages that the translate server can
-  // translate to and from. |languages| will include alpha languages.
+  // translate to and from.
   void GetSupportedLanguages(std::vector<std::string>* languages);
 
   // Returns the language code that can be used with the Translate method for a
@@ -44,14 +44,9 @@
   // GetLanguageCode("zh-CN") returns "zh-CN")
   std::string GetLanguageCode(const std::string& language);
 
-  // Returns true if |language| is supported by the translation server. It also
-  // returns true against alpha languages.
+  // Returns true if |language| is supported by the translation server.
   bool IsSupportedLanguage(const std::string& language);
 
-  // Returns true if |language| is supported by the translation server as a
-  // alpha language.
-  bool IsAlphaLanguage(const std::string& language);
-
   // Fetches the language list from the translate server if resource requests
   // are allowed, and otherwise keeps the request as pending until allowed.
   void RequestLanguageList();
@@ -74,12 +69,9 @@
 
   // static const values shared with our browser tests.
   static const char kTargetLanguagesKey[];
-  static const char kAlphaLanguagesKey[];
 
  private:
   FRIEND_TEST_ALL_PREFIXES(TranslateLanguageListTest, SetSupportedLanguages);
-  FRIEND_TEST_ALL_PREFIXES(TranslateLanguageListTest,
-                           SetSupportedLanguagesWithAlphaKey);
 
   // Callback function called when TranslateURLFetcher::Request() is finished.
   void OnLanguageListFetchComplete(int id,
@@ -106,14 +98,11 @@
   // True if the list has to be fetched when resource requests are allowed.
   bool request_pending_;
 
-  // All the languages supported by the translation server.
-  std::set<std::string> all_supported_languages_;
-
-  // Alpha languages supported by the translation server.
-  std::set<std::string> alpha_languages_;
+  // The languages supported by the translation server.
+  std::set<std::string> supported_languages_;
 
   // A LanguageListFetcher instance to fetch a server providing supported
-  // language list including alpha languages.
+  // language list.
   std::unique_ptr<TranslateURLFetcher> language_list_fetcher_;
 
   // The last-updated time when the language list is sent.
diff --git a/components/translate/core/browser/translate_language_list_unittest.cc b/components/translate/core/browser/translate_language_list_unittest.cc
index 539deec..5173130 100644
--- a/components/translate/core/browser/translate_language_list_unittest.cc
+++ b/components/translate/core/browser/translate_language_list_unittest.cc
@@ -27,23 +27,4 @@
   manager->ResetForTesting();
 }
 
-TEST(TranslateLanguageListTest, SetSupportedLanguagesWithAlphaKey) {
-  std::string language_list(
-      "{"
-      "\"sl\":{\"en\":\"English\",\"ja\":\"Japanese\"},"
-      "\"tl\":{\"en\":\"English\",\"ja\":\"Japanese\"},"
-      "\"al\":{\"en\":1}"
-      "}");
-  TranslateDownloadManager* manager = TranslateDownloadManager::GetInstance();
-  manager->set_application_locale("en");
-  EXPECT_TRUE(manager->language_list()->SetSupportedLanguages(language_list));
-
-  std::vector<std::string> results;
-  manager->language_list()->GetSupportedLanguages(&results);
-  ASSERT_EQ(2u, results.size());
-  EXPECT_EQ("en", results[0]);
-  EXPECT_EQ("ja", results[1]);
-  manager->ResetForTesting();
-}
-
 }  // namespace translate
diff --git a/components/translate/core/browser/translate_manager.cc b/components/translate/core/browser/translate_manager.cc
index b3ffa387..ed9d7354 100644
--- a/components/translate/core/browser/translate_manager.cc
+++ b/components/translate/core/browser/translate_manager.cc
@@ -34,7 +34,6 @@
 #include "components/translate/core/browser/translate_url_util.h"
 #include "components/translate/core/common/language_detection_details.h"
 #include "components/translate/core/common/translate_constants.h"
-#include "components/translate/core/common/translate_pref_names.h"
 #include "components/translate/core/common/translate_switches.h"
 #include "components/translate/core/common/translate_util.h"
 #include "components/variations/variations_associated_data.h"
@@ -177,8 +176,10 @@
     return;
   }
 
-  PrefService* prefs = translate_client_->GetPrefs();
-  if (!prefs->GetBoolean(prefs::kEnableTranslate)) {
+  std::unique_ptr<TranslatePrefs> translate_prefs(
+      translate_client_->GetTranslatePrefs());
+
+  if (!translate_prefs->IsEnabled()) {
     TranslateBrowserMetrics::ReportInitiationStatus(
         TranslateBrowserMetrics::INITIATION_STATUS_DISABLED_BY_PREFS);
     RecordTranslateEvent(metrics::TranslateEventProto::DISABLED_BY_PREF);
@@ -214,9 +215,6 @@
     return;
   }
 
-  std::unique_ptr<TranslatePrefs> translate_prefs(
-      translate_client_->GetTranslatePrefs());
-
   std::string target_lang = GetTargetLanguage(translate_prefs.get());
   std::string language_code =
       TranslateDownloadManager::GetLanguageCode(page_lang);
diff --git a/components/translate/core/browser/translate_manager_unittest.cc b/components/translate/core/browser/translate_manager_unittest.cc
index 3efddaf..c6a9d40 100644
--- a/components/translate/core/browser/translate_manager_unittest.cc
+++ b/components/translate/core/browser/translate_manager_unittest.cc
@@ -20,8 +20,8 @@
 #include "components/translate/core/browser/translate_browser_metrics.h"
 #include "components/translate/core/browser/translate_client.h"
 #include "components/translate/core/browser/translate_download_manager.h"
+#include "components/translate/core/browser/translate_pref_names.h"
 #include "components/translate/core/browser/translate_prefs.h"
-#include "components/translate/core/common/translate_pref_names.h"
 #include "components/variations/variations_associated_data.h"
 #include "net/base/network_change_notifier.h"
 #include "testing/gmock/include/gmock/gmock.h"
diff --git a/components/translate/core/browser/translate_pref_names.cc b/components/translate/core/browser/translate_pref_names.cc
new file mode 100644
index 0000000..30988ed8
--- /dev/null
+++ b/components/translate/core/browser/translate_pref_names.cc
@@ -0,0 +1,12 @@
+// Copyright 2014 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 "components/translate/core/browser/translate_pref_names.h"
+
+namespace prefs {
+
+// Boolean that is true when the translate feature is enabled.
+const char kEnableTranslate[] = "translate.enabled";
+
+}  // namespace prefs
diff --git a/components/translate/core/browser/translate_pref_names.h b/components/translate/core/browser/translate_pref_names.h
new file mode 100644
index 0000000..24c3fa23
--- /dev/null
+++ b/components/translate/core/browser/translate_pref_names.h
@@ -0,0 +1,14 @@
+// Copyright 2014 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 COMPONENTS_TRANSLATE_CORE_BROWSER_PREF_NAMES_H_
+#define COMPONENTS_TRANSLATE_CORE_BROWSER_PREF_NAMES_H_
+
+namespace prefs {
+
+extern const char kEnableTranslate[];
+
+}  // namespace prefs
+
+#endif  // COMPONENTS_TRANSLATE_CORE_BROWSER_PREF_NAMES_H_
diff --git a/components/translate/core/browser/translate_prefs.cc b/components/translate/core/browser/translate_prefs.cc
index 63d758b..92391c5 100644
--- a/components/translate/core/browser/translate_prefs.cc
+++ b/components/translate/core/browser/translate_prefs.cc
@@ -17,6 +17,7 @@
 #include "components/translate/core/browser/translate_accept_languages.h"
 #include "components/translate/core/browser/translate_download_manager.h"
 #include "components/translate/core/browser/translate_experiment.h"
+#include "components/translate/core/browser/translate_pref_names.h"
 #include "components/translate/core/common/translate_util.h"
 
 namespace translate {
@@ -160,6 +161,10 @@
 #endif
 }
 
+bool TranslatePrefs::IsEnabled() const {
+  return prefs_->GetBoolean(prefs::kEnableTranslate);
+}
+
 void TranslatePrefs::SetCountry(const std::string& country) {
   country_ = country;
 }
diff --git a/components/translate/core/browser/translate_prefs.h b/components/translate/core/browser/translate_prefs.h
index ada3725d..61a35d8 100644
--- a/components/translate/core/browser/translate_prefs.h
+++ b/components/translate/core/browser/translate_prefs.h
@@ -94,6 +94,9 @@
                  const char* accept_languages_pref,
                  const char* preferred_languages_pref);
 
+  // Checks if the translate feature is enabled.
+  bool IsEnabled() const;
+
   // Sets the country that the application is run in. Determined by the
   // VariationsService, can be left empty. Used by TranslateExperiment.
   void SetCountry(const std::string& country);
diff --git a/components/translate/core/common/BUILD.gn b/components/translate/core/common/BUILD.gn
index 237c1ae..f8038c9 100644
--- a/components/translate/core/common/BUILD.gn
+++ b/components/translate/core/common/BUILD.gn
@@ -11,8 +11,6 @@
     "translate_errors.h",
     "translate_metrics.cc",
     "translate_metrics.h",
-    "translate_pref_names.cc",
-    "translate_pref_names.h",
     "translate_switches.cc",
     "translate_switches.h",
     "translate_util.cc",
diff --git a/components/translate/core/common/translate_pref_names.cc b/components/translate/core/common/translate_pref_names.cc
deleted file mode 100644
index 883f37e..0000000
--- a/components/translate/core/common/translate_pref_names.cc
+++ /dev/null
@@ -1,12 +0,0 @@
-// Copyright 2014 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 "components/translate/core/common/translate_pref_names.h"
-
-namespace prefs {
-
-// Boolean that is true when the translate feature is enabled.
-const char kEnableTranslate[] = "translate.enabled";
-
-}  // namespace prefs
diff --git a/components/translate/core/common/translate_pref_names.h b/components/translate/core/common/translate_pref_names.h
deleted file mode 100644
index def6495..0000000
--- a/components/translate/core/common/translate_pref_names.h
+++ /dev/null
@@ -1,14 +0,0 @@
-// Copyright 2014 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 COMPONENTS_TRANSLATE_CORE_COMMON_PREF_NAMES_H_
-#define COMPONENTS_TRANSLATE_CORE_COMMON_PREF_NAMES_H_
-
-namespace prefs {
-
-extern const char kEnableTranslate[];
-
-}  // namespace prefs
-
-#endif  // COMPONENTS_TRANSLATE_CORE_COMMON_PREF_NAMES_H_
diff --git a/components/translate/ios/browser/BUILD.gn b/components/translate/ios/browser/BUILD.gn
index f4b7c5d..3ef1f8d 100644
--- a/components/translate/ios/browser/BUILD.gn
+++ b/components/translate/ios/browser/BUILD.gn
@@ -57,7 +57,7 @@
     "//base",
     "//components/prefs:test_support",
     "//components/resources",
-    "//components/translate/core/common",
+    "//components/translate/core/browser",
     "//ios/web:test_support",
     "//testing/gtest",
     "//third_party/ocmock",
diff --git a/components/translate/ios/browser/language_detection_controller.mm b/components/translate/ios/browser/language_detection_controller.mm
index 92e94c3..bc003b5 100644
--- a/components/translate/ios/browser/language_detection_controller.mm
+++ b/components/translate/ios/browser/language_detection_controller.mm
@@ -11,7 +11,7 @@
 #include "base/metrics/histogram_macros.h"
 #include "base/time/time.h"
 #include "components/prefs/pref_member.h"
-#include "components/translate/core/common/translate_pref_names.h"
+#include "components/translate/core/browser/translate_pref_names.h"
 #include "components/translate/core/language_detection/language_detection_util.h"
 #import "components/translate/ios/browser/js_language_detection_manager.h"
 #include "components/translate/ios/browser/string_clipping_util.h"
diff --git a/components/translate/ios/browser/language_detection_controller_unittest.mm b/components/translate/ios/browser/language_detection_controller_unittest.mm
index c22a8d9..0593ba8 100644
--- a/components/translate/ios/browser/language_detection_controller_unittest.mm
+++ b/components/translate/ios/browser/language_detection_controller_unittest.mm
@@ -9,7 +9,7 @@
 #include "base/strings/utf_string_conversions.h"
 #include "components/prefs/pref_registry_simple.h"
 #include "components/prefs/testing_pref_service.h"
-#include "components/translate/core/common/translate_pref_names.h"
+#include "components/translate/core/browser/translate_pref_names.h"
 #import "components/translate/ios/browser/js_language_detection_manager.h"
 #import "ios/web/public/test/fakes/test_web_state.h"
 #include "testing/gtest/include/gtest/gtest.h"
diff --git a/content/browser/BUILD.gn b/content/browser/BUILD.gn
index b2a428de..1d10e46 100644
--- a/content/browser/BUILD.gn
+++ b/content/browser/BUILD.gn
@@ -1832,6 +1832,8 @@
       "android/load_url_params.h",
       "android/overscroll_controller_android.cc",
       "android/overscroll_controller_android.h",
+      "android/render_widget_host_connector.cc",
+      "android/render_widget_host_connector.h",
       "android/synchronous_compositor_browser_filter.cc",
       "android/synchronous_compositor_browser_filter.h",
       "android/synchronous_compositor_host.cc",
diff --git a/content/browser/accessibility/browser_accessibility_manager.cc b/content/browser/accessibility/browser_accessibility_manager.cc
index f84b62d..bc5c08f 100644
--- a/content/browser/accessibility/browser_accessibility_manager.cc
+++ b/content/browser/accessibility/browser_accessibility_manager.cc
@@ -346,6 +346,9 @@
 
 void BrowserAccessibilityManager::OnAccessibilityEvents(
     const std::vector<AXEventNotificationDetails>& details) {
+  TRACE_EVENT0("accessibility",
+               "BrowserAccessibilityManager::OnAccessibilityEvents");
+
   // Update the cached device scale factor.
   if (delegate_ && !use_custom_device_scale_factor_for_testing_)
     device_scale_factor_ = delegate_->AccessibilityGetDeviceScaleFactor();
diff --git a/content/browser/android/ime_adapter_android.cc b/content/browser/android/ime_adapter_android.cc
index 695e537..49d1f45 100644
--- a/content/browser/android/ime_adapter_android.cc
+++ b/content/browser/android/ime_adapter_android.cc
@@ -14,12 +14,10 @@
 #include "base/android/scoped_java_ref.h"
 #include "base/strings/utf_string_conversions.h"
 #include "base/time/time.h"
-#include "content/browser/frame_host/interstitial_page_impl.h"
 #include "content/browser/frame_host/render_frame_host_impl.h"
 #include "content/browser/renderer_host/render_view_host_delegate.h"
 #include "content/browser/renderer_host/render_widget_host_impl.h"
 #include "content/browser/renderer_host/render_widget_host_view_android.h"
-#include "content/browser/web_contents/web_contents_impl.h"
 #include "content/common/input_messages.h"
 #include "content/common/view_messages.h"
 #include "content/public/browser/browser_thread.h"
@@ -115,7 +113,7 @@
 ImeAdapterAndroid::ImeAdapterAndroid(JNIEnv* env,
                                      const JavaParamRef<jobject>& obj,
                                      WebContents* web_contents)
-    : WebContentsObserver(web_contents), rwhva_(nullptr) {
+    : RenderWidgetHostConnector(web_contents), rwhva_(nullptr) {
   java_ime_adapter_ = JavaObjectWeakGlobalRef(env, obj);
 }
 
@@ -124,68 +122,23 @@
   ScopedJavaLocalRef<jobject> obj = java_ime_adapter_.get(env);
   if (!obj.is_null())
     Java_ImeAdapter_destroy(env, obj);
-
-  UpdateRenderProcessConnection(nullptr);
-}
-
-RenderWidgetHostViewAndroid* ImeAdapterAndroid::GetRenderWidgetHostViewAndroid()
-    const {
-  RenderWidgetHostView* rwhv = web_contents()->GetRenderWidgetHostView();
-  WebContentsImpl* web_contents_impl =
-      static_cast<WebContentsImpl*>(web_contents());
-  if (web_contents_impl->ShowingInterstitialPage()) {
-    rwhv = web_contents_impl->GetInterstitialPage()
-               ->GetMainFrame()
-               ->GetRenderViewHost()
-               ->GetWidget()
-               ->GetView();
-  }
-  return static_cast<RenderWidgetHostViewAndroid*>(rwhv);
-}
-
-void ImeAdapterAndroid::RenderViewReady() {
-  UpdateRenderProcessConnection(GetRenderWidgetHostViewAndroid());
-
-  JNIEnv* env = AttachCurrentThread();
-  ScopedJavaLocalRef<jobject> obj = java_ime_adapter_.get(env);
-  if (!obj.is_null())
-    Java_ImeAdapter_onConnectedToRenderProcess(env, obj);
-}
-
-void ImeAdapterAndroid::RenderViewHostChanged(RenderViewHost* old_host,
-                                              RenderViewHost* new_host) {
-  if (new_host) {
-    UpdateRenderProcessConnection(static_cast<RenderWidgetHostViewAndroid*>(
-        new_host->GetWidget()->GetView()));
-  } else {
-    UpdateRenderProcessConnection(nullptr);
-  }
-}
-
-void ImeAdapterAndroid::DidAttachInterstitialPage() {
-  UpdateRenderProcessConnection(GetRenderWidgetHostViewAndroid());
-}
-
-void ImeAdapterAndroid::DidDetachInterstitialPage() {
-  UpdateRenderProcessConnection(GetRenderWidgetHostViewAndroid());
-}
-
-void ImeAdapterAndroid::WebContentsDestroyed() {
-  delete this;
 }
 
 void ImeAdapterAndroid::UpdateRenderProcessConnection(
+    RenderWidgetHostViewAndroid* old_rwhva,
     RenderWidgetHostViewAndroid* new_rwhva) {
-  if (rwhva_.get() == new_rwhva)
-    return;
-  if (rwhva_)
-    rwhva_->set_ime_adapter(nullptr);
+  if (old_rwhva)
+    old_rwhva->set_ime_adapter(nullptr);
   if (new_rwhva) {
     new_rwhva->set_ime_adapter(this);
-    rwhva_ = new_rwhva->GetWeakPtrAndroid();
-  } else {
-    rwhva_.reset();
+    if (!old_rwhva && new_rwhva) {
+      JNIEnv* env = AttachCurrentThread();
+      ScopedJavaLocalRef<jobject> obj = java_ime_adapter_.get(env);
+      if (!obj.is_null())
+        Java_ImeAdapter_onConnectedToRenderProcess(env, obj);
+    }
   }
+  rwhva_ = new_rwhva;
 }
 
 void ImeAdapterAndroid::UpdateState(const TextInputState& state) {
diff --git a/content/browser/android/ime_adapter_android.h b/content/browser/android/ime_adapter_android.h
index e2860e1..46cf13a 100644
--- a/content/browser/android/ime_adapter_android.h
+++ b/content/browser/android/ime_adapter_android.h
@@ -10,9 +10,8 @@
 #include <vector>
 
 #include "base/android/jni_weak_ref.h"
-#include "base/memory/weak_ptr.h"
+#include "content/browser/android/render_widget_host_connector.h"
 #include "content/common/content_export.h"
-#include "content/public/browser/web_contents_observer.h"
 #include "ui/gfx/geometry/rect_f.h"
 
 namespace blink {
@@ -31,9 +30,7 @@
 // This class is in charge of dispatching key events from the java side
 // and forward to renderer along with input method results via
 // corresponding host view.
-// Ownership of these objects remains on the native side (see
-// RenderWidgetHostViewAndroid).
-class CONTENT_EXPORT ImeAdapterAndroid : public WebContentsObserver {
+class CONTENT_EXPORT ImeAdapterAndroid : public RenderWidgetHostConnector {
  public:
   ImeAdapterAndroid(JNIEnv* env,
                     const base::android::JavaParamRef<jobject>& obj,
@@ -88,6 +85,11 @@
   bool RequestTextInputStateUpdate(JNIEnv*,
                                    const base::android::JavaParamRef<jobject>&);
 
+  // RendetWidgetHostConnector implementation.
+  void UpdateRenderProcessConnection(
+      RenderWidgetHostViewAndroid* old_rwhva,
+      RenderWidgetHostViewAndroid* new_rhwva) override;
+
   // Called from native -> java
   void CancelComposition();
   void FocusedNodeChanged(bool is_editable_node);
@@ -98,14 +100,6 @@
     return java_ime_adapter_.get(env);
   }
 
-  // WebContentsObserver implementation.
-  void RenderViewReady() override;
-  void RenderViewHostChanged(RenderViewHost* old_host,
-                             RenderViewHost* new_host) override;
-  void DidAttachInterstitialPage() override;
-  void DidDetachInterstitialPage() override;
-  void WebContentsDestroyed() override;
-
   void UpdateState(const TextInputState& state);
 
  private:
@@ -116,10 +110,9 @@
       const base::android::JavaParamRef<jobject>& obj,
       const base::android::JavaParamRef<jobject>& text,
       const base::string16& text16);
-  RenderWidgetHostViewAndroid* GetRenderWidgetHostViewAndroid() const;
-  void UpdateRenderProcessConnection(RenderWidgetHostViewAndroid* new_rwhva);
 
-  base::WeakPtr<RenderWidgetHostViewAndroid> rwhva_;
+  // Current RenderWidgetHostView connected to this instance. Can be null.
+  RenderWidgetHostViewAndroid* rwhva_;
   JavaObjectWeakGlobalRef java_ime_adapter_;
 };
 
diff --git a/content/browser/android/render_widget_host_connector.cc b/content/browser/android/render_widget_host_connector.cc
new file mode 100644
index 0000000..9f0e0bb
--- /dev/null
+++ b/content/browser/android/render_widget_host_connector.cc
@@ -0,0 +1,137 @@
+// 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 "content/browser/android/render_widget_host_connector.h"
+
+#include "content/browser/frame_host/interstitial_page_impl.h"
+#include "content/browser/renderer_host/render_widget_host_view_android.h"
+#include "content/browser/web_contents/web_contents_impl.h"
+
+namespace content {
+
+// Observes RenderWidgetHostViewAndroid to keep the instance up to date.
+class RenderWidgetHostConnector::Observer
+    : public WebContentsObserver,
+      public RenderWidgetHostViewAndroid::DestructionObserver {
+ public:
+  Observer(WebContents* web_contents, RenderWidgetHostConnector* connector);
+  ~Observer() override;
+
+  // WebContentsObserver implementation.
+  void RenderViewReady() override;
+  void RenderViewHostChanged(RenderViewHost* old_host,
+                             RenderViewHost* new_host) override;
+  void DidAttachInterstitialPage() override;
+  void DidDetachInterstitialPage() override;
+  void WebContentsDestroyed() override;
+
+  // RenderWidgetHostViewAndroid::DestructionObserver implementation.
+  void RenderWidgetHostViewDestroyed(
+      RenderWidgetHostViewAndroid* rwhva) override;
+
+  RenderWidgetHostViewAndroid* active_rwhva() const { return active_rwhva_; }
+
+ private:
+  void UpdateRenderWidgetHostView(RenderWidgetHostViewAndroid* new_rwhva);
+  RenderWidgetHostViewAndroid* GetRenderWidgetHostViewAndroid() const;
+
+  RenderWidgetHostConnector* const connector_;
+
+  // Active RenderWidgetHostView connected to this instance. Can also point to
+  // an interstitial while it is showing.
+  RenderWidgetHostViewAndroid* active_rwhva_;
+
+  DISALLOW_COPY_AND_ASSIGN(Observer);
+};
+
+RenderWidgetHostConnector::Observer::Observer(
+    WebContents* web_contents,
+    RenderWidgetHostConnector* connector)
+    : WebContentsObserver(web_contents),
+      connector_(connector),
+      active_rwhva_(nullptr) {}
+
+RenderWidgetHostConnector::Observer::~Observer() {
+  DCHECK(!active_rwhva_);
+}
+
+void RenderWidgetHostConnector::Observer::RenderViewReady() {
+  UpdateRenderWidgetHostView(GetRenderWidgetHostViewAndroid());
+}
+
+void RenderWidgetHostConnector::Observer::RenderViewHostChanged(
+    RenderViewHost* old_host,
+    RenderViewHost* new_host) {
+  // |RenderViewHostChanged| is called only for main rwhva change.
+  // No need to update connection if an interstitial page is active.
+  if (web_contents()->ShowingInterstitialPage())
+    return;
+
+  auto* new_view = new_host ? static_cast<RenderWidgetHostViewAndroid*>(
+                                  new_host->GetWidget()->GetView())
+                            : nullptr;
+  UpdateRenderWidgetHostView(new_view);
+}
+
+void RenderWidgetHostConnector::Observer::DidAttachInterstitialPage() {
+  UpdateRenderWidgetHostView(GetRenderWidgetHostViewAndroid());
+}
+
+void RenderWidgetHostConnector::Observer::DidDetachInterstitialPage() {
+  UpdateRenderWidgetHostView(GetRenderWidgetHostViewAndroid());
+}
+
+void RenderWidgetHostConnector::Observer::WebContentsDestroyed() {
+  DCHECK_EQ(active_rwhva_, GetRenderWidgetHostViewAndroid());
+  UpdateRenderWidgetHostView(nullptr);
+  delete connector_;
+}
+
+void RenderWidgetHostConnector::Observer::RenderWidgetHostViewDestroyed(
+    RenderWidgetHostViewAndroid* destroyed_rwhva) {
+  // Null out the raw pointer here and in the connector impl to keep
+  // them from referencing the rwvha about to be destroyed.
+  if (destroyed_rwhva == active_rwhva_)
+    UpdateRenderWidgetHostView(nullptr);
+}
+
+void RenderWidgetHostConnector::Observer::UpdateRenderWidgetHostView(
+    RenderWidgetHostViewAndroid* new_rwhva) {
+  if (active_rwhva_ == new_rwhva)
+    return;
+  if (active_rwhva_)
+    active_rwhva_->RemoveDestructionObserver(this);
+  if (new_rwhva)
+    new_rwhva->AddDestructionObserver(this);
+
+  connector_->UpdateRenderProcessConnection(active_rwhva_, new_rwhva);
+  active_rwhva_ = new_rwhva;
+}
+
+RenderWidgetHostViewAndroid*
+RenderWidgetHostConnector::Observer::GetRenderWidgetHostViewAndroid() const {
+  RenderWidgetHostView* rwhv = web_contents()->GetRenderWidgetHostView();
+  WebContentsImpl* web_contents_impl =
+      static_cast<WebContentsImpl*>(web_contents());
+  if (web_contents_impl->ShowingInterstitialPage()) {
+    rwhv = web_contents_impl->GetInterstitialPage()
+               ->GetMainFrame()
+               ->GetRenderViewHost()
+               ->GetWidget()
+               ->GetView();
+  }
+  return static_cast<RenderWidgetHostViewAndroid*>(rwhv);
+}
+
+RenderWidgetHostConnector::RenderWidgetHostConnector(WebContents* web_contents)
+    : render_widget_observer_(new Observer(web_contents, this)) {}
+
+RenderWidgetHostConnector::~RenderWidgetHostConnector() {}
+
+RenderWidgetHostViewAndroid* RenderWidgetHostConnector::GetRWHVAForTesting()
+    const {
+  return render_widget_observer_->active_rwhva();
+}
+
+}  // namespace content
diff --git a/content/browser/android/render_widget_host_connector.h b/content/browser/android/render_widget_host_connector.h
new file mode 100644
index 0000000..94c2a29f
--- /dev/null
+++ b/content/browser/android/render_widget_host_connector.h
@@ -0,0 +1,47 @@
+// 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 CONTENT_BROWSER_ANDROID_RENDER_WIDGET_HOST_CONNECTOR_H_
+#define CONTENT_BROWSER_ANDROID_RENDER_WIDGET_HOST_CONNECTOR_H_
+
+#include "base/memory/weak_ptr.h"
+#include "content/browser/renderer_host/render_widget_host_view_android.h"
+#include "content/public/browser/web_contents_observer.h"
+
+namespace content {
+
+// A base class used to connect an object of the content layer lifecycle
+// to |RenderWidgetHostViewAndroid|. The inherting class needs to
+// override |UpdateRenderProcessConnection| to set itself to the RWHVA
+// brought up foreground, and null out its reference in the RWHVA going
+// away so it won't access the object any more.
+// This class owns itself and gets deleted when WebContents is deleted.
+class RenderWidgetHostConnector {
+ public:
+  explicit RenderWidgetHostConnector(WebContents* web_contents);
+  virtual ~RenderWidgetHostConnector();
+
+  // Method to set itself to the |new_rwhva|, and null out the reference
+  // in |old_rwvha|. Example:
+  //
+  // if (old_rwhva)
+  //   old_rwhva->set_object(nullptr);
+  // if (new_rwhva)
+  //   new_rwhva->set_object(this);
+  virtual void UpdateRenderProcessConnection(
+      RenderWidgetHostViewAndroid* old_rwhva,
+      RenderWidgetHostViewAndroid* new_rhwva) = 0;
+
+  RenderWidgetHostViewAndroid* GetRWHVAForTesting() const;
+
+ private:
+  class Observer;
+  std::unique_ptr<Observer> render_widget_observer_;
+
+  DISALLOW_COPY_AND_ASSIGN(RenderWidgetHostConnector);
+};
+
+}  // namespace content
+
+#endif  // CONTENT_BROWSER_ANDROID_RENDER_WIDGET_HOST_CONNECTOR_H_
diff --git a/content/browser/android/render_widget_host_connector_browsertest.cc b/content/browser/android/render_widget_host_connector_browsertest.cc
new file mode 100644
index 0000000..bfa29e4
--- /dev/null
+++ b/content/browser/android/render_widget_host_connector_browsertest.cc
@@ -0,0 +1,117 @@
+// 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 "content/browser/android/render_widget_host_connector_browsertest.h"
+
+#include "content/browser/frame_host/interstitial_page_impl.h"
+#include "content/public/browser/interstitial_page_delegate.h"
+#include "content/public/test/browser_test_utils.h"
+#include "content/public/test/content_browser_test_utils.h"
+#include "net/dns/mock_host_resolver.h"
+#include "net/test/embedded_test_server/embedded_test_server.h"
+#include "url/gurl.h"
+
+namespace content {
+
+namespace {
+
+class TestInterstitialDelegate : public InterstitialPageDelegate {
+ private:
+  // InterstitialPageDelegate implementation.
+  std::string GetHTMLContents() override { return "<p>Interstitial</p>"; }
+};
+
+}  // namespace
+
+RenderWidgetHostConnectorTest::RenderWidgetHostConnectorTest() {}
+
+void RenderWidgetHostConnectorTest::SetUpOnMainThread() {
+  host_resolver()->AddRule("*", "127.0.0.1");
+  SetupCrossSiteRedirector(embedded_test_server());
+  ASSERT_TRUE(embedded_test_server()->Start());
+}
+
+IN_PROC_BROWSER_TEST_F(RenderWidgetHostConnectorTest,
+                       UpdateRWHVAInConnectorAtRenderViewHostSwapping) {
+  net::EmbeddedTestServer https_server(net::EmbeddedTestServer::TYPE_HTTPS);
+  https_server.ServeFilesFromSourceDirectory("content/test/data");
+  ASSERT_TRUE(https_server.Start());
+
+  GURL http_url(embedded_test_server()->GetURL("/title1.html"));
+
+  EXPECT_TRUE(NavigateToURL(shell(), http_url));
+  RenderWidgetHostViewAndroid* old_rwhva = render_widget_host_view_android();
+  RenderWidgetHostConnector* connector = render_widget_host_connector();
+  EXPECT_EQ(old_rwhva, connector->GetRWHVAForTesting());
+
+  // Forces RVH change within |web_contents| by navigating to an https page.
+  GURL https_url(https_server.GetURL("/title1.html"));
+  EXPECT_TRUE(NavigateToURL(shell(), https_url));
+  RenderWidgetHostViewAndroid* new_rwhva = render_widget_host_view_android();
+  EXPECT_EQ(new_rwhva, connector->GetRWHVAForTesting());
+}
+
+IN_PROC_BROWSER_TEST_F(RenderWidgetHostConnectorTest,
+                       RestoreMainRWHVAAfterInterstitial) {
+  EXPECT_TRUE(
+      NavigateToURL(shell(), embedded_test_server()->GetURL("/title1.html")));
+
+  RenderWidgetHostViewAndroid* main_rwhva = render_widget_host_view_android();
+  RenderWidgetHostConnector* connector = render_widget_host_connector();
+  EXPECT_EQ(main_rwhva, connector->GetRWHVAForTesting());
+
+  // Show an interstitial and then hide. Then interstitial RWHVA should be
+  // updated accordingly, and the old main RWHVA reference should be restored.
+  WebContentsImpl* contents = web_contents();
+  GURL interstitial_url("http://interstitial");
+  InterstitialPageImpl* interstitial = new InterstitialPageImpl(
+      contents, static_cast<RenderWidgetHostDelegate*>(contents), true,
+      interstitial_url, new TestInterstitialDelegate);
+  interstitial->Show();
+  WaitForInterstitialAttach(contents);
+  EXPECT_NE(main_rwhva, connector->GetRWHVAForTesting());
+
+  interstitial->Hide();
+  EXPECT_EQ(main_rwhva, connector->GetRWHVAForTesting());
+}
+
+IN_PROC_BROWSER_TEST_F(RenderWidgetHostConnectorTest,
+                       MainPageDestroyedWhileInBackground) {
+  EXPECT_TRUE(
+      NavigateToURL(shell(), embedded_test_server()->GetURL("/title1.html")));
+
+  RenderWidgetHostViewAndroid* main_rwhva = render_widget_host_view_android();
+  RenderWidgetHostConnector* connector = render_widget_host_connector();
+  EXPECT_EQ(main_rwhva, connector->GetRWHVAForTesting());
+
+  // Show an interstitial and destroy the main page in the background.
+  WebContentsImpl* contents = web_contents();
+  GURL interstitial_url("http://interstitial");
+  InterstitialPageImpl* interstitial = new InterstitialPageImpl(
+      contents, static_cast<RenderWidgetHostDelegate*>(contents), true,
+      interstitial_url, new TestInterstitialDelegate);
+  interstitial->Show();
+  WaitForInterstitialAttach(contents);
+  main_rwhva->Destroy();
+
+  // Ensure active RWHVA set to null even when the main one is destroyed first.
+  interstitial->Hide();
+  EXPECT_EQ(nullptr, connector->GetRWHVAForTesting());
+}
+
+IN_PROC_BROWSER_TEST_F(RenderWidgetHostConnectorTest,
+                       CleanUpConnectorReferenceAtWebContentsDestroyed) {
+  GURL http_url(embedded_test_server()->GetURL("/title1.html"));
+
+  EXPECT_TRUE(NavigateToURL(shell(), http_url));
+  RenderWidgetHostViewAndroid* rwhva = render_widget_host_view_android();
+  RenderWidgetHostConnector* connector = render_widget_host_connector();
+  EXPECT_EQ(connector, connector_in_rwhva(rwhva));
+
+  // Generate WebContentsObserver::WebContentsDestroyed by closing the contents.
+  web_contents()->Close();
+  EXPECT_EQ(nullptr, connector_in_rwhva(rwhva));
+}
+
+}  // namespace content
diff --git a/content/browser/android/render_widget_host_connector_browsertest.h b/content/browser/android/render_widget_host_connector_browsertest.h
new file mode 100644
index 0000000..0e7d7e1
--- /dev/null
+++ b/content/browser/android/render_widget_host_connector_browsertest.h
@@ -0,0 +1,52 @@
+// 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 CONTENT_BROWSER_ANDROID_RENDER_WIDGET_HOST_CONNECTOR_BROWSERTEST_H_
+#define CONTENT_BROWSER_ANDROID_RENDER_WIDGET_HOST_CONNECTOR_BROWSERTEST_H_
+
+#include <string>
+
+#include "base/macros.h"
+#include "content/browser/android/ime_adapter_android.h"
+#include "content/browser/renderer_host/render_widget_host_view_android.h"
+#include "content/browser/web_contents/web_contents_impl.h"
+#include "content/public/test/content_browser_test.h"
+#include "content/shell/browser/shell.h"
+
+namespace content {
+
+class RenderWidgetHostConnectorTest : public ContentBrowserTest {
+ public:
+  RenderWidgetHostConnectorTest();
+
+ protected:
+  void SetUpOnMainThread() override;
+
+  WebContentsImpl* web_contents() const {
+    return static_cast<WebContentsImpl*>(shell()->web_contents());
+  }
+
+  RenderWidgetHostViewAndroid* render_widget_host_view_android() const {
+    return static_cast<RenderWidgetHostViewAndroid*>(
+        web_contents()->GetRenderWidgetHostView());
+  }
+
+  RenderWidgetHostConnector* render_widget_host_connector() const {
+    return connector_in_rwhva(render_widget_host_view_android());
+  }
+
+  RenderWidgetHostConnector* connector_in_rwhva(
+      RenderWidgetHostViewAndroid* rwhva) const {
+    // Use ImeAdapterAndroid that inherits RenderWidgetHostConnector for
+    // testing.
+    return rwhva->ime_adapter_for_testing();
+  }
+
+ private:
+  DISALLOW_COPY_AND_ASSIGN(RenderWidgetHostConnectorTest);
+};
+
+}  // namespace content
+
+#endif  // CONTENT_BROWSER_ANDROID_RENDER_WIDGET_HOST_CONNECTOR_BROWSERTEST_H_
diff --git a/content/browser/background_fetch/background_fetch_context.cc b/content/browser/background_fetch/background_fetch_context.cc
index f27666e..c4496e14 100644
--- a/content/browser/background_fetch/background_fetch_context.cc
+++ b/content/browser/background_fetch/background_fetch_context.cc
@@ -171,28 +171,33 @@
       controller->registration_id();
 
   DCHECK_GT(active_fetches_.count(registration_id), 0u);
-
-  // TODO(peter): Fire `backgroundfetchabort` if the |controller|'s state is
-  // ABORTED, which does not require a sequence of the settled fetches.
-
-  // The `backgroundfetched` and/or `backgroundfetchfail` event will only be
-  // invoked for Background Fetch jobs which have been completed.
-  if (controller->state() != BackgroundFetchJobController::State::COMPLETED) {
-    DeleteRegistration(registration_id,
-                       std::vector<std::unique_ptr<BlobHandle>>());
-    return;
+  switch (controller->state()) {
+    case BackgroundFetchJobController::State::ABORTED:
+      event_dispatcher_->DispatchBackgroundFetchAbortEvent(
+          registration_id,
+          base::Bind(&BackgroundFetchContext::DeleteRegistration, this,
+                     registration_id,
+                     std::vector<std::unique_ptr<BlobHandle>>()));
+      return;
+    case BackgroundFetchJobController::State::COMPLETED:
+      data_manager_->GetSettledFetchesForRegistration(
+          registration_id,
+          base::BindOnce(&BackgroundFetchContext::DidGetSettledFetches, this,
+                         registration_id));
+      return;
+    case BackgroundFetchJobController::State::INITIALIZED:
+    case BackgroundFetchJobController::State::FETCHING:
+      // These cases should not happen. Fall through to the NOTREACHED() below.
+      break;
   }
 
-  // Get the sequence of settled fetches from the data manager.
-  data_manager_->GetSettledFetchesForRegistration(
-      registration_id,
-      base::BindOnce(&BackgroundFetchContext::DidGetSettledFetches, this,
-                     registration_id));
+  NOTREACHED();
 }
 
 void BackgroundFetchContext::DidGetSettledFetches(
     const BackgroundFetchRegistrationId& registration_id,
     blink::mojom::BackgroundFetchError error,
+    bool background_fetch_succeeded,
     std::vector<BackgroundFetchSettledFetch> settled_fetches,
     std::vector<std::unique_ptr<BlobHandle>> blob_handles) {
   if (error != blink::mojom::BackgroundFetchError::NONE) {
@@ -200,14 +205,20 @@
     return;
   }
 
-  // TODO(peter): Distinguish between the `backgroundfetched` and
-  // `backgroundfetchfail` events based on the status code of all fetches. We
-  // don't populate that field yet, so always assume it's successful for now.
-
-  event_dispatcher_->DispatchBackgroundFetchedEvent(
-      registration_id, std::move(settled_fetches),
-      base::Bind(&BackgroundFetchContext::DeleteRegistration, this,
-                 registration_id, std::move(blob_handles)));
+  // The `backgroundfetched` event will be invoked when all requests in the
+  // registration have completed successfully. In all other cases, the
+  // `backgroundfetchfail` event will be invoked instead.
+  if (background_fetch_succeeded) {
+    event_dispatcher_->DispatchBackgroundFetchedEvent(
+        registration_id, std::move(settled_fetches),
+        base::Bind(&BackgroundFetchContext::DeleteRegistration, this,
+                   registration_id, std::move(blob_handles)));
+  } else {
+    event_dispatcher_->DispatchBackgroundFetchFailEvent(
+        registration_id, std::move(settled_fetches),
+        base::Bind(&BackgroundFetchContext::DeleteRegistration, this,
+                   registration_id, std::move(blob_handles)));
+  }
 }
 
 void BackgroundFetchContext::DeleteRegistration(
diff --git a/content/browser/background_fetch/background_fetch_context.h b/content/browser/background_fetch/background_fetch_context.h
index 66df7e1..1dc154c7 100644
--- a/content/browser/background_fetch/background_fetch_context.h
+++ b/content/browser/background_fetch/background_fetch_context.h
@@ -113,6 +113,7 @@
   void DidGetSettledFetches(
       const BackgroundFetchRegistrationId& registration_id,
       blink::mojom::BackgroundFetchError error,
+      bool background_fetch_succeeded,
       std::vector<BackgroundFetchSettledFetch> settled_fetches,
       std::vector<std::unique_ptr<BlobHandle>> blob_handles);
 
diff --git a/content/browser/background_fetch/background_fetch_data_manager.cc b/content/browser/background_fetch/background_fetch_data_manager.cc
index 83e7509..2fcb85e 100644
--- a/content/browser/background_fetch/background_fetch_data_manager.cc
+++ b/content/browser/background_fetch/background_fetch_data_manager.cc
@@ -21,6 +21,14 @@
 
 namespace content {
 
+// Returns whether the response contained in the Background Fetch |request| is
+// considered OK. See https://fetch.spec.whatwg.org/#ok-status aka a successful
+// 2xx status per https://tools.ietf.org/html/rfc7231#section-6.3.
+bool IsOK(const BackgroundFetchRequestInfo& request) {
+  int status = request.GetResponseCode();
+  return status >= 200 && status < 300;
+}
+
 // The Registration Data class encapsulates the data stored for a particular
 // Background Fetch registration. This roughly matches the on-disk format that
 // will be adhered to in the future.
@@ -198,6 +206,8 @@
   const std::vector<scoped_refptr<BackgroundFetchRequestInfo>>& requests =
       registration_data->GetCompletedRequests();
 
+  bool background_fetch_succeeded = true;
+
   std::vector<BackgroundFetchSettledFetch> settled_fetches;
   settled_fetches.reserve(requests.size());
 
@@ -238,16 +248,23 @@
           blob_handles.push_back(std::move(blob_handle));
         }
       }
+    } else {
+      // TODO(crbug.com/711354): Consider Background Fetches as failed when the
+      // response cannot be relayed to the developer.
+      background_fetch_succeeded = false;
     }
 
     // TODO: settled_fetch.response.error
     settled_fetch.response.response_time = request->GetResponseTime();
     // TODO: settled_fetch.response.cors_exposed_header_names
 
+    background_fetch_succeeded = background_fetch_succeeded && IsOK(*request);
+
     settled_fetches.push_back(settled_fetch);
   }
 
   std::move(callback).Run(blink::mojom::BackgroundFetchError::NONE,
+                          background_fetch_succeeded,
                           std::move(settled_fetches), std::move(blob_handles));
 }
 
diff --git a/content/browser/background_fetch/background_fetch_data_manager.h b/content/browser/background_fetch/background_fetch_data_manager.h
index 0e9acd65..60b39ff 100644
--- a/content/browser/background_fetch/background_fetch_data_manager.h
+++ b/content/browser/background_fetch/background_fetch_data_manager.h
@@ -41,6 +41,7 @@
       base::OnceCallback<void(scoped_refptr<BackgroundFetchRequestInfo>)>;
   using SettledFetchesCallback =
       base::OnceCallback<void(blink::mojom::BackgroundFetchError,
+                              bool /* background_fetch_succeeded */,
                               std::vector<BackgroundFetchSettledFetch>,
                               std::vector<std::unique_ptr<BlobHandle>>)>;
 
diff --git a/content/browser/background_fetch/background_fetch_job_controller.cc b/content/browser/background_fetch/background_fetch_job_controller.cc
index 36a6fa3..3d4297c 100644
--- a/content/browser/background_fetch/background_fetch_job_controller.cc
+++ b/content/browser/background_fetch/background_fetch_job_controller.cc
@@ -18,8 +18,24 @@
 #include "content/public/browser/download_manager.h"
 #include "net/url_request/url_request_context_getter.h"
 
+#if defined(OS_ANDROID)
+#include "base/android/path_utils.h"
+#include "base/files/file_path.h"
+#include "base/guid.h"
+#endif
+
 namespace content {
 
+#if defined(OS_ANDROID)
+namespace {
+
+// Prefix for files stored in the Chromium-internal download directory to
+// indicate files thta were fetched through Background Fetch.
+const char kBackgroundFetchFilePrefix[] = "BGFetch-";
+
+}  // namespace
+#endif  // defined(OS_ANDROID)
+
 // Internal functionality of the BackgroundFetchJobController that lives on the
 // UI thread, where all interaction with the download manager must happen.
 class BackgroundFetchJobController::Core : public DownloadItem::Observer {
@@ -59,6 +75,20 @@
     // TODO(peter): The |download_parameters| should be populated with all the
     // properties set in the |fetch_request| structure.
 
+    // TODO(peter): Background Fetch responses should not end up in the user's
+    // download folder on any platform. Find an appropriate solution for desktop
+    // too. The Android internal directory is not scoped to a profile.
+
+    download_parameters->set_transient(true);
+
+#if defined(OS_ANDROID)
+    base::FilePath download_directory;
+    if (base::android::GetDownloadInternalDirectory(&download_directory)) {
+      download_parameters->set_file_path(download_directory.Append(
+          std::string(kBackgroundFetchFilePrefix) + base::GenerateGUID()));
+    }
+#endif  // defined(OS_ANDROID)
+
     download_parameters->set_callback(base::Bind(&Core::DidStartRequest,
                                                  weak_ptr_factory_.GetWeakPtr(),
                                                  std::move(request)));
diff --git a/content/browser/background_fetch/background_fetch_service_unittest.cc b/content/browser/background_fetch/background_fetch_service_unittest.cc
index db41111..cbdc87ed 100644
--- a/content/browser/background_fetch/background_fetch_service_unittest.cc
+++ b/content/browser/background_fetch/background_fetch_service_unittest.cc
@@ -333,6 +333,7 @@
 
   constexpr int kFirstResponseCode = 200;
   constexpr int kSecondResponseCode = 201;
+  constexpr int kThirdResponseCode = 200;
 
   requests.push_back(CreateRequestWithProvidedResponse(
       "GET", "https://example.com/funny_cat.txt",
@@ -351,6 +352,14 @@
           .AddResponseHeader("Content-Type", "text/plain")
           .Build()));
 
+  requests.push_back(CreateRequestWithProvidedResponse(
+      "GET", "https://chrome.com/accessible_cross_origin_cat.txt",
+      TestResponseBuilder(kThirdResponseCode)
+          .SetResponseData("This cat originates from another origin.")
+          .AddResponseHeader("Access-Control-Allow-Origin", "*")
+          .AddResponseHeader("Content-Type", "text/plain")
+          .Build()));
+
   // Create the registration with the given |requests|.
   {
     BackgroundFetchOptions options;
@@ -395,6 +404,11 @@
         EXPECT_EQ(fetches[i].response.headers.count("Content-Type"), 1u);
         EXPECT_EQ(fetches[i].response.headers.count("X-Cat"), 0u);
         break;
+      case 2:
+        EXPECT_EQ(fetches[i].response.status_code, kThirdResponseCode);
+        EXPECT_EQ(fetches[i].response.headers.count("Content-Type"), 1u);
+        EXPECT_EQ(fetches[i].response.headers.count("X-Cat"), 0u);
+        break;
       default:
         NOTREACHED();
     }
@@ -413,6 +427,92 @@
   }
 }
 
+TEST_F(BackgroundFetchServiceTest, FetchFailEventDispatch) {
+  // This test verifies that the fail event will be fired when a response either
+  // has a non-OK status code, or the response cannot be accessed due to CORS.
+
+  BackgroundFetchRegistrationId registration_id;
+  ASSERT_TRUE(CreateRegistrationId(kExampleTag, &registration_id));
+
+  // base::RunLoop that we'll run until the event has been dispatched. If this
+  // test times out, it means that the event could not be dispatched.
+  base::RunLoop event_dispatched_loop;
+  embedded_worker_test_helper()->set_fetch_fail_event_closure(
+      event_dispatched_loop.QuitClosure());
+
+  std::vector<ServiceWorkerFetchRequest> requests;
+
+  constexpr int kFirstResponseCode = 404;
+  constexpr int kSecondResponseCode = 200;
+
+  requests.push_back(CreateRequestWithProvidedResponse(
+      "GET", "https://example.com/not_existing_cat.txt",
+      TestResponseBuilder(kFirstResponseCode).Build()));
+
+  requests.push_back(CreateRequestWithProvidedResponse(
+      "GET", "https://chrome.com/inaccessible_cross_origin_cat.txt",
+      TestResponseBuilder(kSecondResponseCode)
+          .SetResponseData(
+              "This is a cross-origin response not accessible to the reader.")
+          .AddResponseHeader("Content-Type", "text/plain")
+          .Build()));
+
+  // Create the registration with the given |requests|.
+  {
+    BackgroundFetchOptions options;
+
+    blink::mojom::BackgroundFetchError error;
+    BackgroundFetchRegistration registration;
+
+    // Create the first registration. This must succeed.
+    ASSERT_NO_FATAL_FAILURE(
+        Fetch(registration_id, requests, options, &error, &registration));
+    ASSERT_EQ(error, blink::mojom::BackgroundFetchError::NONE);
+  }
+
+  // Spin the |event_dispatched_loop| to wait for the dispatched event.
+  event_dispatched_loop.Run();
+
+  ASSERT_TRUE(embedded_worker_test_helper()->last_tag().has_value());
+  EXPECT_EQ(kExampleTag, embedded_worker_test_helper()->last_tag().value());
+
+  ASSERT_TRUE(embedded_worker_test_helper()->last_fetches().has_value());
+
+  std::vector<BackgroundFetchSettledFetch> fetches =
+      embedded_worker_test_helper()->last_fetches().value();
+  ASSERT_EQ(fetches.size(), requests.size());
+
+  for (size_t i = 0; i < fetches.size(); ++i) {
+    ASSERT_EQ(fetches[i].request.url, requests[i].url);
+    EXPECT_EQ(fetches[i].request.method, requests[i].method);
+
+    EXPECT_EQ(fetches[i].response.url_list[0], fetches[i].request.url);
+    EXPECT_EQ(fetches[i].response.response_type,
+              blink::kWebServiceWorkerResponseTypeDefault);
+
+    switch (i) {
+      case 0:
+        EXPECT_EQ(fetches[i].response.status_code, 404);
+        break;
+      case 1:
+        EXPECT_EQ(fetches[i].response.status_code, 0);
+        break;
+      default:
+        NOTREACHED();
+    }
+
+    EXPECT_TRUE(fetches[i].response.headers.empty());
+    EXPECT_TRUE(fetches[i].response.blob_uuid.empty());
+    EXPECT_EQ(fetches[i].response.blob_size, 0u);
+    EXPECT_FALSE(fetches[i].response.response_time.is_null());
+
+    // TODO(peter): change-detector tests for unsupported properties.
+    EXPECT_EQ(fetches[i].response.error,
+              blink::kWebServiceWorkerResponseErrorUnknown);
+    EXPECT_TRUE(fetches[i].response.cors_exposed_header_names.empty());
+  }
+}
+
 TEST_F(BackgroundFetchServiceTest, Abort) {
   // This test starts a new Background Fetch, completes the registration, and
   // then aborts the Background Fetch mid-process. Tests all of StartFetch(),
@@ -477,6 +577,56 @@
   ASSERT_EQ(error, blink::mojom::BackgroundFetchError::INVALID_TAG);
 }
 
+TEST_F(BackgroundFetchServiceTest, AbortEventDispatch) {
+  // Tests that the `backgroundfetchabort` event will be fired when a Background
+  // Fetch registration has been aborted by either the user or developer.
+
+  BackgroundFetchRegistrationId registration_id;
+  ASSERT_TRUE(CreateRegistrationId(kExampleTag, &registration_id));
+
+  // base::RunLoop that we'll run until the event has been dispatched. If this
+  // test times out, it means that the event could not be dispatched.
+  base::RunLoop event_dispatched_loop;
+  embedded_worker_test_helper()->set_abort_event_closure(
+      event_dispatched_loop.QuitClosure());
+
+  constexpr int kResponseCode = 200;
+
+  std::vector<ServiceWorkerFetchRequest> requests;
+  requests.push_back(CreateRequestWithProvidedResponse(
+      "GET", "https://example.com/funny_cat.txt",
+      TestResponseBuilder(kResponseCode)
+          .SetResponseData("Random data about a funny cat.")
+          .Build()));
+
+  // Create the registration with the given |requests|.
+  {
+    BackgroundFetchOptions options;
+
+    blink::mojom::BackgroundFetchError error;
+    BackgroundFetchRegistration registration;
+
+    // Create the first registration. This must succeed.
+    ASSERT_NO_FATAL_FAILURE(
+        Fetch(registration_id, requests, options, &error, &registration));
+    ASSERT_EQ(error, blink::mojom::BackgroundFetchError::NONE);
+  }
+
+  // Immediately abort the request created for the |registration_id|. Then wait
+  // for the `backgroundfetchabort` event to have been invoked.
+  {
+    blink::mojom::BackgroundFetchError error;
+
+    ASSERT_NO_FATAL_FAILURE(Abort(registration_id, &error));
+    ASSERT_EQ(error, blink::mojom::BackgroundFetchError::NONE);
+  }
+
+  event_dispatched_loop.Run();
+
+  ASSERT_TRUE(embedded_worker_test_helper()->last_tag().has_value());
+  EXPECT_EQ(kExampleTag, embedded_worker_test_helper()->last_tag().value());
+}
+
 TEST_F(BackgroundFetchServiceTest, GetTags) {
   // This test verifies that the list of active tags can be retrieved from the
   // service for a given Service Worker, as extracted from a registration.
diff --git a/content/browser/child_process_security_policy_impl.cc b/content/browser/child_process_security_policy_impl.cc
index 9969de5..61dfb2b 100644
--- a/content/browser/child_process_security_policy_impl.cc
+++ b/content/browser/child_process_security_policy_impl.cc
@@ -802,8 +802,6 @@
   // API either.
   if (!CanCommitURL(child_id, filesystem_url.origin())) {
     UMA_HISTOGRAM_BOOLEAN("FileSystem.OriginFailedCanCommitURL", true);
-    // TODO(nick): Temporary instrumentation for https://crbug.com/654479.
-    base::debug::DumpWithoutCrashing();
     return false;
   }
 
diff --git a/content/browser/download/download_browsertest.cc b/content/browser/download/download_browsertest.cc
index 38ad2db6..be7caf06 100644
--- a/content/browser/download/download_browsertest.cc
+++ b/content/browser/download/download_browsertest.cc
@@ -323,10 +323,12 @@
 
   void Initialize(
       const InitializeCallback& callback,
+      const CancelRequestCallback& cancel_request_callback,
       const DownloadItem::ReceivedSlices& received_slices) override {
     DCHECK_CURRENTLY_ON(BrowserThread::FILE);
     active_files_++;
-    DownloadFileImpl::Initialize(callback, received_slices);
+    DownloadFileImpl::Initialize(callback, cancel_request_callback,
+                                 received_slices);
   }
 
   static void GetNumberActiveFiles(int* result) {
diff --git a/content/browser/download/download_file.h b/content/browser/download/download_file.h
index 224121a..bfbaaa5a 100644
--- a/content/browser/download/download_file.h
+++ b/content/browser/download/download_file.h
@@ -42,13 +42,18 @@
                               const base::FilePath& path)>
       RenameCompletionCallback;
 
+  // Used to drop the request, when the byte stream reader should be closed on
+  // FILE thread.
+  typedef base::Callback<void(int64_t offset)> CancelRequestCallback;
+
   virtual ~DownloadFile() {}
 
-  // Upon completion, |callback| will be called on the UI
+  // Upon completion, |initialize_callback| will be called on the UI
   // thread as per the comment above, passing DOWNLOAD_INTERRUPT_REASON_NONE
   // on success, or a network download interrupt reason on failure.
   virtual void Initialize(
-      const InitializeCallback& callback,
+      const InitializeCallback& initialize_callback,
+      const CancelRequestCallback& cancel_request_callback,
       const DownloadItem::ReceivedSlices& received_slices) = 0;
 
   // Add a byte stream reader to write into a slice of the file, used for
diff --git a/content/browser/download/download_file_impl.cc b/content/browser/download/download_file_impl.cc
index f65534b2..8e69416 100644
--- a/content/browser/download/download_file_impl.cc
+++ b/content/browser/download/download_file_impl.cc
@@ -128,12 +128,14 @@
 }
 
 void DownloadFileImpl::Initialize(
-    const InitializeCallback& callback,
+    const InitializeCallback& initialize_callback,
+    const CancelRequestCallback& cancel_request_callback,
     const DownloadItem::ReceivedSlices& received_slices) {
   DCHECK_CURRENTLY_ON(BrowserThread::FILE);
 
   update_timer_.reset(new base::RepeatingTimer());
   int64_t bytes_so_far = 0;
+  cancel_request_callback_ = cancel_request_callback;
   received_slices_ = received_slices;
   if (IsSparseFile()) {
     for (const auto& received_slice : received_slices_) {
@@ -148,8 +150,8 @@
       save_info_->hash_of_partial_file, std::move(save_info_->hash_state),
       IsSparseFile());
   if (result != DOWNLOAD_INTERRUPT_REASON_NONE) {
-    BrowserThread::PostTask(
-        BrowserThread::UI, FROM_HERE, base::Bind(callback, result));
+    BrowserThread::PostTask(BrowserThread::UI, FROM_HERE,
+                            base::Bind(initialize_callback, result));
     return;
   }
 
@@ -160,8 +162,8 @@
   SendUpdate();
 
   BrowserThread::PostTask(
-      BrowserThread::UI, FROM_HERE, base::Bind(
-          callback, DOWNLOAD_INTERRUPT_REASON_NONE));
+      BrowserThread::UI, FROM_HERE,
+      base::Bind(initialize_callback, DOWNLOAD_INTERRUPT_REASON_NONE));
 
   // Initial pull from the straw from all source streams.
   for (auto& source_stream : source_streams_)
@@ -328,6 +330,8 @@
     SendUpdate();
 
     // Null out callback so that we don't do any more stream processing.
+    // The request that writes to the pipe should be canceled after
+    // the download being interrupted.
     for (auto& stream : source_streams_) {
       ByteStreamReader* stream_reader = stream.second->stream_reader();
       if (stream_reader)
@@ -469,6 +473,8 @@
     // Signal successful completion or termination of the current stream.
     source_stream->stream_reader()->RegisterCallback(base::Closure());
     source_stream->set_finished(true);
+    if (should_terminate)
+      CancelRequestOnUIThread(source_stream->offset());
     if (source_stream->length() == DownloadSaveInfo::kLengthFullContent) {
       SetPotentialFileLength(source_stream->offset() +
                              source_stream->bytes_written());
@@ -641,6 +647,7 @@
           DCHECK_EQ(stream.second->bytes_written(), 0);
           stream.second->stream_reader()->RegisterCallback(base::Closure());
           stream.second->set_finished(true);
+          CancelRequestOnUIThread(stream.second->offset());
           num_active_streams_--;
         }
       }
@@ -680,6 +687,13 @@
   return ret;
 }
 
+void DownloadFileImpl::CancelRequestOnUIThread(int64_t offset) {
+  if (!cancel_request_callback_.is_null()) {
+    BrowserThread::PostTask(BrowserThread::UI, FROM_HERE,
+                            base::Bind(cancel_request_callback_, offset));
+  }
+}
+
 void DownloadFileImpl::DebugStates() const {
   DVLOG(1) << "### Debugging DownloadFile states:";
   DVLOG(1) << "Total source stream count = " << source_streams_.size();
diff --git a/content/browser/download/download_file_impl.h b/content/browser/download/download_file_impl.h
index b3ce7d9..664b713 100644
--- a/content/browser/download/download_file_impl.h
+++ b/content/browser/download/download_file_impl.h
@@ -53,7 +53,8 @@
   ~DownloadFileImpl() override;
 
   // DownloadFile functions.
-  void Initialize(const InitializeCallback& callback,
+  void Initialize(const InitializeCallback& initialize_callback,
+                  const CancelRequestCallback& cancel_request_callback,
                   const DownloadItem::ReceivedSlices& received_slices) override;
 
   void AddByteStream(std::unique_ptr<ByteStreamReader> stream_reader,
@@ -114,7 +115,6 @@
     ByteStreamReader* stream_reader() const { return stream_reader_.get(); }
     int64_t offset() const { return offset_; }
     int64_t length() const { return length_; }
-    void set_length(int64_t length) { length_ = length; }
     int64_t bytes_written() const { return bytes_written_; }
     bool is_finished() const { return finished_; }
     void set_finished(bool finish) { finished_ = finish; }
@@ -229,6 +229,9 @@
   // SourceStreams are ordered by their offsets
   SourceStream* FindPrecedingNeighbor(SourceStream* source_stream);
 
+  // See |cancel_request_callback_|.
+  void CancelRequestOnUIThread(int64_t offset);
+
   // Print the internal states for debugging.
   void DebugStates() const;
 
@@ -249,6 +252,10 @@
   // starting from offset.
   SourceStreams source_streams_;
 
+  // Used to cancel the request on UI thread, since the ByteStreamReader can't
+  // close the underlying resource writing to the pipe.
+  CancelRequestCallback cancel_request_callback_;
+
   // Used to trigger progress updates.
   std::unique_ptr<base::RepeatingTimer> update_timer_;
 
diff --git a/content/browser/download/download_file_unittest.cc b/content/browser/download/download_file_unittest.cc
index 4bc430e2..7de9f3d 100644
--- a/content/browser/download/download_file_unittest.cc
+++ b/content/browser/download/download_file_unittest.cc
@@ -243,7 +243,7 @@
         base::Bind(&DownloadFileTest::SetInterruptReasonCallback,
                    weak_ptr_factory.GetWeakPtr(), loop_runner.QuitClosure(),
                    &result),
-        received_slices);
+        DownloadFile::CancelRequestCallback(), received_slices);
     loop_runner.Run();
 
     ::testing::Mock::VerifyAndClearExpectations(input_stream_);
diff --git a/content/browser/download/download_item_impl.cc b/content/browser/download/download_item_impl.cc
index 1dab653e..6c9d1f3 100644
--- a/content/browser/download/download_item_impl.cc
+++ b/content/browser/download/download_item_impl.cc
@@ -1061,6 +1061,12 @@
   // notified when the download transitions to the IN_PROGRESS state.
 }
 
+void DownloadItemImpl::CancelRequestWithOffset(int64_t offset) {
+  DCHECK_CURRENTLY_ON(BrowserThread::UI);
+  if (job_)
+    job_->CancelRequestWithOffset(offset);
+}
+
 void DownloadItemImpl::NotifyRemoved() {
   for (auto& observer : observers_)
     observer.OnDownloadRemoved(this);
@@ -1313,6 +1319,8 @@
                  base::Unretained(download_file_.get()),
                  base::Bind(&DownloadItemImpl::OnDownloadFileInitialized,
                             weak_ptr_factory_.GetWeakPtr()),
+                 base::Bind(&DownloadItemImpl::CancelRequestWithOffset,
+                            weak_ptr_factory_.GetWeakPtr()),
                  received_slices_));
 }
 
diff --git a/content/browser/download/download_item_impl.h b/content/browser/download/download_item_impl.h
index 9b4fe74..4a6e319 100644
--- a/content/browser/download/download_item_impl.h
+++ b/content/browser/download/download_item_impl.h
@@ -507,6 +507,9 @@
   virtual void UpdateValidatorsOnResumption(
       const DownloadCreateInfo& new_create_info);
 
+  // Cancel a particular request that starts from |offset|.
+  void CancelRequestWithOffset(int64_t offset);
+
   static DownloadState InternalToExternalState(
       DownloadInternalState internal_state);
   static DownloadInternalState ExternalToInternalState(
diff --git a/content/browser/download/download_item_impl_unittest.cc b/content/browser/download/download_item_impl_unittest.cc
index 6c97c2f..6553d0d 100644
--- a/content/browser/download/download_item_impl_unittest.cc
+++ b/content/browser/download/download_item_impl_unittest.cc
@@ -310,7 +310,7 @@
     if (create_info_->result == DOWNLOAD_INTERRUPT_REASON_NONE) {
       mock_download_file = new StrictMock<MockDownloadFile>;
       download_file.reset(mock_download_file);
-      EXPECT_CALL(*mock_download_file, Initialize(_, _))
+      EXPECT_CALL(*mock_download_file, Initialize(_, _, _))
           .WillOnce(ScheduleCallbackWithParam(DOWNLOAD_INTERRUPT_REASON_NONE));
       EXPECT_CALL(*mock_download_file, FullPath())
           .WillRepeatedly(ReturnRefOfCopy(base::FilePath()));
@@ -602,7 +602,7 @@
   std::unique_ptr<DownloadRequestHandleInterface> request_handle(
       new NiceMock<MockRequestHandle>);
 
-  EXPECT_CALL(*mock_download_file, Initialize(_, _));
+  EXPECT_CALL(*mock_download_file, Initialize(_, _, _));
   EXPECT_CALL(*mock_delegate(), DetermineDownloadTarget(_, _));
   item->Start(std::move(download_file), std::move(request_handle),
               *create_info());
@@ -1069,7 +1069,7 @@
   MockDownloadFile* mock_download_file(new MockDownloadFile);
   std::unique_ptr<DownloadFile> download_file(mock_download_file);
   DownloadItemImpl* item = CreateDownloadItem();
-  EXPECT_CALL(*mock_download_file, Initialize(_, _));
+  EXPECT_CALL(*mock_download_file, Initialize(_, _, _));
   std::unique_ptr<DownloadRequestHandleInterface> request_handle(
       new NiceMock<MockRequestHandle>);
   EXPECT_CALL(*mock_delegate(), DetermineDownloadTarget(item, _));
@@ -1090,7 +1090,7 @@
 
   EXPECT_CALL(*file, Cancel());
   EXPECT_CALL(*request_handle, CancelRequest());
-  EXPECT_CALL(*file, Initialize(_, _))
+  EXPECT_CALL(*file, Initialize(_, _, _))
       .WillOnce(ScheduleCallbackWithParam(
           DOWNLOAD_INTERRUPT_REASON_FILE_ACCESS_DENIED));
 
@@ -2127,7 +2127,7 @@
 
   base::RunLoop download_start_loop;
   DownloadFile::InitializeCallback initialize_callback;
-  EXPECT_CALL(*file_, Initialize(_, _))
+  EXPECT_CALL(*file_, Initialize(_, _, _))
       .WillOnce(DoAll(SaveArg<0>(&initialize_callback),
                       ScheduleClosure(download_start_loop.QuitClosure())));
   item_->Start(std::move(file_), std::move(request_handle_), *create_info());
@@ -2180,7 +2180,7 @@
 
   base::RunLoop download_start_loop;
   DownloadFile::InitializeCallback initialize_callback;
-  EXPECT_CALL(*file_, Initialize(_, _))
+  EXPECT_CALL(*file_, Initialize(_, _, _))
       .WillOnce(DoAll(SaveArg<0>(&initialize_callback),
                       ScheduleClosure(download_start_loop.QuitClosure())));
 
@@ -2250,7 +2250,7 @@
 
   base::RunLoop download_start_loop;
   DownloadFile::InitializeCallback initialize_callback;
-  EXPECT_CALL(*file_, Initialize(_, _))
+  EXPECT_CALL(*file_, Initialize(_, _, _))
       .WillOnce(DoAll(SaveArg<0>(&initialize_callback),
                       ScheduleClosure(download_start_loop.QuitClosure())));
 
diff --git a/content/browser/download/download_job.cc b/content/browser/download/download_job.cc
index 763e8ed..1e3f3f58 100644
--- a/content/browser/download/download_job.cc
+++ b/content/browser/download/download_job.cc
@@ -66,4 +66,6 @@
   return false;
 }
 
+void DownloadJob::CancelRequestWithOffset(int64_t offset) {}
+
 }  // namespace content
diff --git a/content/browser/download/download_job.h b/content/browser/download/download_job.h
index d4db0ec..0998cea 100644
--- a/content/browser/download/download_job.h
+++ b/content/browser/download/download_job.h
@@ -43,6 +43,10 @@
   // Returns whether the download uses parallel requests.
   virtual bool UsesParallelRequests() const;
 
+  // Cancel a particular request starts from |offset|, while the download is not
+  // canceled. Used in parallel download.
+  virtual void CancelRequestWithOffset(int64_t offset);
+
  protected:
   void StartDownload() const;
   void Interrupt(DownloadInterruptReason reason);
diff --git a/content/browser/download/mock_download_file.cc b/content/browser/download/mock_download_file.cc
index 36282d51..180ea1b9 100644
--- a/content/browser/download/mock_download_file.cc
+++ b/content/browser/download/mock_download_file.cc
@@ -11,9 +11,11 @@
 namespace content {
 namespace {
 
-void SuccessRun(const DownloadFile::InitializeCallback& callback,
-                const DownloadItem::ReceivedSlices& received_slices) {
-  callback.Run(DOWNLOAD_INTERRUPT_REASON_NONE);
+void SuccessRun(
+    const DownloadFile::InitializeCallback& initialize_callback,
+    const DownloadFile::CancelRequestCallback& cancel_request_callback,
+    const DownloadItem::ReceivedSlices& received_slices) {
+  initialize_callback.Run(DOWNLOAD_INTERRUPT_REASON_NONE);
 }
 
 }  // namespace
@@ -21,7 +23,8 @@
 MockDownloadFile::MockDownloadFile() {
   // This is here because |Initialize()| is normally called right after
   // construction.
-  ON_CALL(*this, Initialize(_, _)).WillByDefault(::testing::Invoke(SuccessRun));
+  ON_CALL(*this, Initialize(_, _, _))
+      .WillByDefault(::testing::Invoke(SuccessRun));
 }
 
 MockDownloadFile::~MockDownloadFile() {
diff --git a/content/browser/download/mock_download_file.h b/content/browser/download/mock_download_file.h
index 81d3b260..738eee6 100644
--- a/content/browser/download/mock_download_file.h
+++ b/content/browser/download/mock_download_file.h
@@ -28,8 +28,9 @@
   virtual ~MockDownloadFile();
 
   // DownloadFile functions.
-  MOCK_METHOD2(Initialize,
+  MOCK_METHOD3(Initialize,
                void(const InitializeCallback&,
+                    const CancelRequestCallback&,
                     const DownloadItem::ReceivedSlices& received_slices));
   void AddByteStream(std::unique_ptr<ByteStreamReader> stream_reader,
                      int64_t offset,
diff --git a/content/browser/download/parallel_download_job.cc b/content/browser/download/parallel_download_job.cc
index 5a3af37..539f29be 100644
--- a/content/browser/download/parallel_download_job.cc
+++ b/content/browser/download/parallel_download_job.cc
@@ -97,6 +97,17 @@
   return true;
 }
 
+void ParallelDownloadJob::CancelRequestWithOffset(int64_t offset) {
+  if (initial_request_offset_ == offset) {
+    DownloadJobImpl::Cancel(false);
+    return;
+  }
+
+  auto it = workers_.find(offset);
+  if (it != workers_.end())
+    it->second->Cancel();
+}
+
 void ParallelDownloadJob::BuildParallelRequestAfterDelay() {
   DCHECK(workers_.empty());
   DCHECK(!requests_sent_);
diff --git a/content/browser/download/parallel_download_job.h b/content/browser/download/parallel_download_job.h
index 6ade0aeb..0a3d0fe 100644
--- a/content/browser/download/parallel_download_job.h
+++ b/content/browser/download/parallel_download_job.h
@@ -35,6 +35,7 @@
   void Pause() override;
   void Resume(bool resume_request) override;
   bool UsesParallelRequests() const override;
+  void CancelRequestWithOffset(int64_t offset) override;
 
  protected:
   // Virtual for testing.
diff --git a/content/browser/gpu/gpu_data_manager_testing_autogen.cc b/content/browser/gpu/gpu_data_manager_testing_autogen.cc
index b27901b..2680c7e 100644
--- a/content/browser/gpu/gpu_data_manager_testing_autogen.cc
+++ b/content/browser/gpu/gpu_data_manager_testing_autogen.cc
@@ -17,8 +17,7 @@
 
 const char kGpuDataManagerTestingVersion[] = "1.0";
 
-const size_t kGpuDataManagerTestingEntryCount = 10;
-const GpuControlList::Entry kGpuDataManagerTestingEntries[10] = {
+const GpuControlList::Entry kGpuDataManagerTestingEntries[] = {
     {
         1,  // id
         "GpuDataManagerImplPrivateTest.GpuSideBlacklisting.0",
@@ -280,4 +279,5 @@
         nullptr,  // exceptions
     },
 };
+const size_t kGpuDataManagerTestingEntryCount = 10;
 }  // namespace gpu
diff --git a/content/browser/loader/detachable_resource_handler.cc b/content/browser/loader/detachable_resource_handler.cc
index aa1f7bd..63e22d5 100644
--- a/content/browser/loader/detachable_resource_handler.cc
+++ b/content/browser/loader/detachable_resource_handler.cc
@@ -8,6 +8,7 @@
 
 #include "base/logging.h"
 #include "base/memory/ptr_util.h"
+#include "base/metrics/histogram_macros.h"
 #include "base/time/time.h"
 #include "content/browser/loader/null_resource_controller.h"
 #include "content/browser/loader/resource_controller.h"
@@ -240,6 +241,10 @@
 void DetachableResourceHandler::OnResponseCompleted(
     const net::URLRequestStatus& status,
     std::unique_ptr<ResourceController> controller) {
+  UMA_HISTOGRAM_MEDIUM_TIMES(
+      "Net.DetachableResourceHandler.Duration",
+      base::TimeTicks::Now() - request()->creation_time());
+
   // No DCHECK(!is_deferred_) as the request may have been cancelled while
   // deferred.
 
diff --git a/content/browser/loader/navigation_url_loader_network_service.cc b/content/browser/loader/navigation_url_loader_network_service.cc
index 3a5f2b4..bfd807a 100644
--- a/content/browser/loader/navigation_url_loader_network_service.cc
+++ b/content/browser/loader/navigation_url_loader_network_service.cc
@@ -46,9 +46,6 @@
   new_request->first_party_for_cookies = request_info->first_party_for_cookies;
   new_request->priority = net::HIGHEST;
 
-  mojom::URLLoaderClientPtr url_loader_client_ptr;
-  mojom::URLLoaderClientRequest url_loader_client_request =
-      mojo::MakeRequest(&url_loader_client_ptr);
   mojom::URLLoaderClientPtr url_loader_client_ptr_to_pass;
   binding_.Bind(&url_loader_client_ptr_to_pass);
 
diff --git a/content/browser/loader/resource_dispatcher_host_impl.cc b/content/browser/loader/resource_dispatcher_host_impl.cc
index ccd64e4..a9c9157 100644
--- a/content/browser/loader/resource_dispatcher_host_impl.cc
+++ b/content/browser/loader/resource_dispatcher_host_impl.cc
@@ -1715,13 +1715,6 @@
   GetLoader(id)->MarkAsTransferring(on_transfer_complete_callback);
 }
 
-void ResourceDispatcherHostImpl::CancelTransferringNavigation(
-    const GlobalRequestID& id) {
-  // Request should still exist and be in the middle of a transfer.
-  DCHECK(IsTransferredNavigation(id));
-  RemovePendingRequest(id.child_id, id.request_id);
-}
-
 void ResourceDispatcherHostImpl::ResumeDeferredNavigation(
     const GlobalRequestID& id) {
   ResourceLoader* loader = GetLoader(id);
diff --git a/content/browser/loader/resource_dispatcher_host_impl.h b/content/browser/loader/resource_dispatcher_host_impl.h
index 20679dd9..4821073e 100644
--- a/content/browser/loader/resource_dispatcher_host_impl.h
+++ b/content/browser/loader/resource_dispatcher_host_impl.h
@@ -134,10 +134,6 @@
       const GlobalRequestID& id,
       const base::Closure& on_transfer_complete_callback);
 
-  // Cancels a request previously marked as being transferred, for use when a
-  // navigation was cancelled.
-  void CancelTransferringNavigation(const GlobalRequestID& id);
-
   // Resumes the request without transferring it to a new process.
   void ResumeDeferredNavigation(const GlobalRequestID& id);
 
diff --git a/content/browser/push_messaging/push_messaging_manager.cc b/content/browser/push_messaging/push_messaging_manager.cc
index ab105717..5ea8340 100644
--- a/content/browser/push_messaging/push_messaging_manager.cc
+++ b/content/browser/push_messaging/push_messaging_manager.cc
@@ -375,12 +375,13 @@
   } else {
     PushMessagingService* push_service = service();
     if (!push_service) {
-      NOTREACHED() << "Shouldn't be possible to have a stored push "
-                      "subscription in a profile with no push service.";
+      // Shouldn't be possible to have a stored push subscription in a profile
+      // with no push service, but this case can occur when the renderer is
+      // shutting down.
       BrowserThread::PostTask(
           BrowserThread::IO, FROM_HERE,
           base::Bind(&PushMessagingManager::SendSubscriptionError, io_parent_,
-                     data, PUSH_REGISTRATION_STATUS_PUBLIC_KEY_UNAVAILABLE));
+                     data, PUSH_REGISTRATION_STATUS_RENDERER_SHUTDOWN));
       return;
     }
 
@@ -847,6 +848,19 @@
 
     RecordGetRegistrationStatus(status);
   } else {
+    PushMessagingService* push_service = service();
+    if (!push_service) {
+      // Shouldn't be possible to have a stored push subscription in a profile
+      // with no push service, but this case can occur when the renderer is
+      // shutting down.
+      BrowserThread::PostTask(
+          BrowserThread::IO, FROM_HERE,
+          base::Bind(callback, PUSH_GETREGISTRATION_STATUS_RENDERER_SHUTDOWN,
+                     base::nullopt /* endpoint */, base::nullopt /* options */,
+                     base::nullopt /* p256dh */, base::nullopt /* auth */));
+      return;
+    }
+
     // Uh-oh! Although there was a cached subscription in the Service Worker
     // database, it did not have matching counterparts in the
     // PushMessagingAppIdentifier map and/or GCM Store. Unsubscribe to fix this
@@ -854,8 +868,6 @@
     PushGetRegistrationStatus status =
         PUSH_GETREGISTRATION_STATUS_STORAGE_CORRUPT;
 
-    PushMessagingService* push_service = service();
-    DCHECK(push_service);  // NOT_FOUND response can only come from service.
     push_service->Unsubscribe(
         PUSH_UNREGISTRATION_REASON_GET_SUBSCRIPTION_STORAGE_CORRUPT, origin,
         service_worker_registration_id, sender_info,
diff --git a/content/browser/renderer_host/input/passthrough_touch_event_queue.cc b/content/browser/renderer_host/input/passthrough_touch_event_queue.cc
index f7883a3..ae2131f 100644
--- a/content/browser/renderer_host/input/passthrough_touch_event_queue.cc
+++ b/content/browser/renderer_host/input/passthrough_touch_event_queue.cc
@@ -59,7 +59,8 @@
       has_handlers_(true),
       maybe_has_handler_for_current_sequence_(false),
       drop_remaining_touches_in_sequence_(false),
-      send_touch_events_async_(false) {
+      send_touch_events_async_(false),
+      processing_acks_(false) {
   if (config.touch_ack_timeout_supported) {
     timeout_handler_.reset(
         new TouchTimeoutHandler(this, config.desktop_touch_ack_timeout_delay,
@@ -205,6 +206,11 @@
 }
 
 void PassthroughTouchEventQueue::AckCompletedEvents() {
+  // Don't allow re-entrancy into this method otherwise
+  // the ordering of acks won't be preserved.
+  if (processing_acks_)
+    return;
+  base::AutoReset<bool> process_acks(&processing_acks_, true);
   while (!outstanding_touches_.empty()) {
     auto iter = outstanding_touches_.begin();
     if (iter->ack_state() == INPUT_EVENT_ACK_STATE_UNKNOWN)
diff --git a/content/browser/renderer_host/input/passthrough_touch_event_queue.h b/content/browser/renderer_host/input/passthrough_touch_event_queue.h
index 598e9b8..cae55abf 100644
--- a/content/browser/renderer_host/input/passthrough_touch_event_queue.h
+++ b/content/browser/renderer_host/input/passthrough_touch_event_queue.h
@@ -121,6 +121,8 @@
   // Whether touch events should be sent as uncancelable or not.
   bool send_touch_events_async_;
 
+  bool processing_acks_;
+
   // Event is saved to compare pointer positions for new touchmove events.
   std::unique_ptr<blink::WebTouchEvent> last_sent_touchevent_;
 
diff --git a/content/browser/renderer_host/input/passthrough_touch_event_queue_unittest.cc b/content/browser/renderer_host/input/passthrough_touch_event_queue_unittest.cc
index 3d91716..2bed8a6df 100644
--- a/content/browser/renderer_host/input/passthrough_touch_event_queue_unittest.cc
+++ b/content/browser/renderer_host/input/passthrough_touch_event_queue_unittest.cc
@@ -64,15 +64,14 @@
     sent_events_ids_.push_back(event.event.unique_touch_event_id);
     if (sync_ack_result_) {
       auto sync_ack_result = std::move(sync_ack_result_);
-      SendTouchEventAck(*sync_ack_result);
+      SendTouchEventAckWithID(*sync_ack_result,
+                              event.event.unique_touch_event_id);
     }
   }
 
   void OnTouchEventAck(const TouchEventWithLatencyInfo& event,
                        InputEventAckState ack_result) override {
     ++acked_event_count_;
-    last_acked_event_ = event.event;
-    last_acked_event_state_ = ack_result;
     if (followup_touch_event_) {
       std::unique_ptr<WebTouchEvent> followup_touch_event =
           std::move(followup_touch_event_);
@@ -84,6 +83,8 @@
       queue_->OnGestureScrollEvent(GestureEventWithLatencyInfo(
           *followup_gesture_event, ui::LatencyInfo()));
     }
+    last_acked_event_ = event.event;
+    last_acked_event_state_ = ack_result;
   }
 
   void OnFilteringTouchEvent(const blink::WebTouchEvent& touch_event) override {
@@ -756,6 +757,46 @@
   EXPECT_EQ(1U, GetAndResetAckedEventCount());
 }
 
+// Tests that touch-events acks are in order even with synchronous acks.
+TEST_F(PassthroughTouchEventQueueTest, SynchronousAcksInOrder) {
+  // TouchStart
+  PressTouchPoint(1, 1);
+  EXPECT_EQ(1U, queued_event_count());
+  EXPECT_EQ(1U, GetAndResetSentEventCount());
+  EXPECT_EQ(0U, GetAndResetAckedEventCount());
+
+  // TouchMove
+  MoveTouchPoint(0, 2, 3);
+  EXPECT_EQ(2U, queued_event_count());
+  EXPECT_EQ(1U, GetAndResetSentEventCount());
+  EXPECT_EQ(0U, GetAndResetAckedEventCount());
+
+  // Ack the TouchMove
+  SendTouchEventAckLast(INPUT_EVENT_ACK_STATE_CONSUMED);
+  EXPECT_EQ(2U, queued_event_count());
+  EXPECT_EQ(0U, GetAndResetSentEventCount());
+  EXPECT_EQ(0U, GetAndResetAckedEventCount());
+
+  // Create a touch event that will be queued synchronously by a touch ack.
+  WebTouchEvent followup_event(
+      WebInputEvent::kTouchMove, WebInputEvent::kNoModifiers,
+      ui::EventTimeStampToSeconds(ui::EventTimeForNow()));
+  followup_event.touches_length = 1;
+  followup_event.touches[0].id = 0;
+  followup_event.unique_touch_event_id = 100;
+  followup_event.touches[0].state = WebTouchPoint::kStateMoved;
+  SetFollowupEvent(followup_event);
+  SetSyncAckResult(INPUT_EVENT_ACK_STATE_CONSUMED);
+
+  // Ack the touch start, should release the |follow_up| event (and its ack).
+  SendTouchEventAck(INPUT_EVENT_ACK_STATE_CONSUMED);
+
+  EXPECT_EQ(0U, queued_event_count());
+  EXPECT_EQ(1U, GetAndResetSentEventCount());
+  EXPECT_EQ(3U, GetAndResetAckedEventCount());
+  EXPECT_EQ(100U, acked_event().unique_touch_event_id);
+}
+
 // Tests that followup events triggered by an immediate ack from
 // TouchEventQueue::QueueEvent() are properly handled.
 TEST_F(PassthroughTouchEventQueueTest, ImmediateAckWithFollowupEvents) {
@@ -774,7 +815,6 @@
   WebTouchEvent stationary_event(
       WebInputEvent::kTouchMove, WebInputEvent::kNoModifiers,
       ui::EventTimeStampToSeconds(ui::EventTimeForNow()));
-  ;
   stationary_event.touches_length = 1;
   stationary_event.touches[0].id = 1;
   stationary_event.touches[0].state = WebTouchPoint::kStateStationary;
diff --git a/content/browser/renderer_host/media/audio_input_renderer_host.cc b/content/browser/renderer_host/media/audio_input_renderer_host.cc
index 11dbc66..76a8a9d 100644
--- a/content/browser/renderer_host/media/audio_input_renderer_host.cc
+++ b/content/browser/renderer_host/media/audio_input_renderer_host.cc
@@ -39,8 +39,6 @@
 #if BUILDFLAG(ENABLE_WEBRTC)
 const base::FilePath::CharType kDebugRecordingFileNameAddition[] =
     FILE_PATH_LITERAL("source_input");
-const base::FilePath::CharType kDebugRecordingFileNameExtension[] =
-    FILE_PATH_LITERAL("wav");
 #endif
 
 void LogMessage(int stream_id, const std::string& msg, bool add_prefix) {
@@ -589,8 +587,7 @@
   if (!entry)
     return;
   entry->controller->EnableDebugRecording(
-      file_name.AddExtension(IntToStringType(stream_id))
-          .AddExtension(kDebugRecordingFileNameExtension));
+      file_name.AddExtension(IntToStringType(stream_id)));
 }
 
 #undef IntToStringType
diff --git a/content/browser/renderer_host/offscreen_canvas_provider_impl.cc b/content/browser/renderer_host/offscreen_canvas_provider_impl.cc
index 9d578ad..25915f91 100644
--- a/content/browser/renderer_host/offscreen_canvas_provider_impl.cc
+++ b/content/browser/renderer_host/offscreen_canvas_provider_impl.cc
@@ -10,7 +10,9 @@
 
 namespace content {
 
-OffscreenCanvasProviderImpl::OffscreenCanvasProviderImpl() = default;
+OffscreenCanvasProviderImpl::OffscreenCanvasProviderImpl(
+    uint32_t renderer_client_id)
+    : renderer_client_id_(renderer_client_id) {}
 
 OffscreenCanvasProviderImpl::~OffscreenCanvasProviderImpl() = default;
 
@@ -24,6 +26,16 @@
     const cc::FrameSinkId& frame_sink_id,
     cc::mojom::FrameSinkManagerClientPtr client,
     blink::mojom::OffscreenCanvasSurfaceRequest request) {
+  // TODO(kylechar): Kill the renderer too.
+  if (parent_frame_sink_id.client_id() != renderer_client_id_) {
+    DLOG(ERROR) << "Invalid parent client id " << parent_frame_sink_id;
+    return;
+  }
+  if (frame_sink_id.client_id() != renderer_client_id_) {
+    DLOG(ERROR) << "Invalid client id " << frame_sink_id;
+    return;
+  }
+
   OffscreenCanvasSurfaceImpl::Create(parent_frame_sink_id, frame_sink_id,
                                      std::move(client), std::move(request));
 }
@@ -32,6 +44,12 @@
     const cc::FrameSinkId& frame_sink_id,
     cc::mojom::MojoCompositorFrameSinkClientPtr client,
     cc::mojom::MojoCompositorFrameSinkRequest request) {
+  // TODO(kylechar): Kill the renderer too.
+  if (frame_sink_id.client_id() != renderer_client_id_) {
+    DLOG(ERROR) << "Invalid client id " << frame_sink_id;
+    return;
+  }
+
   // TODO(kylechar): Add test for bad |frame_sink_id|.
   auto* manager = OffscreenCanvasCompositorFrameSinkManager::GetInstance();
   auto* surface_impl = manager->GetSurfaceInstance(frame_sink_id);
diff --git a/content/browser/renderer_host/offscreen_canvas_provider_impl.h b/content/browser/renderer_host/offscreen_canvas_provider_impl.h
index be2c52c..251dc450 100644
--- a/content/browser/renderer_host/offscreen_canvas_provider_impl.h
+++ b/content/browser/renderer_host/offscreen_canvas_provider_impl.h
@@ -15,7 +15,7 @@
 class OffscreenCanvasProviderImpl
     : public blink::mojom::OffscreenCanvasProvider {
  public:
-  OffscreenCanvasProviderImpl();
+  explicit OffscreenCanvasProviderImpl(uint32_t renderer_client_id);
   ~OffscreenCanvasProviderImpl() override;
 
   void Add(blink::mojom::OffscreenCanvasProviderRequest request);
@@ -32,6 +32,9 @@
       cc::mojom::MojoCompositorFrameSinkRequest request) override;
 
  private:
+  // FrameSinkIds for offscreen canvas must use the renderer client id.
+  const uint32_t renderer_client_id_;
+
   mojo::BindingSet<blink::mojom::OffscreenCanvasProvider> bindings_;
 
   DISALLOW_COPY_AND_ASSIGN(OffscreenCanvasProviderImpl);
diff --git a/content/browser/renderer_host/render_process_host_impl.cc b/content/browser/renderer_host/render_process_host_impl.cc
index 9986ff6..e779da3 100644
--- a/content/browser/renderer_host/render_process_host_impl.cc
+++ b/content/browser/renderer_host/render_process_host_impl.cc
@@ -1363,8 +1363,10 @@
     blink::mojom::OffscreenCanvasProviderRequest request) {
   DCHECK_CURRENTLY_ON(BrowserThread::UI);
   if (!offscreen_canvas_provider_) {
+    // The client id gets converted to a uint32_t in FrameSinkId.
+    uint32_t renderer_client_id = base::checked_cast<uint32_t>(id_);
     offscreen_canvas_provider_ =
-        base::MakeUnique<OffscreenCanvasProviderImpl>();
+        base::MakeUnique<OffscreenCanvasProviderImpl>(renderer_client_id);
   }
   offscreen_canvas_provider_->Add(std::move(request));
 }
diff --git a/content/browser/renderer_host/render_widget_host_view_android.cc b/content/browser/renderer_host/render_widget_host_view_android.cc
index d0a2b5f..cc95a29 100644
--- a/content/browser/renderer_host/render_widget_host_view_android.cc
+++ b/content/browser/renderer_host/render_widget_host_view_android.cc
@@ -496,8 +496,7 @@
   if (content_view_core_)
     content_view_core_->RemoveObserver(this);
   SetContentViewCore(NULL);
-  if (ime_adapter_android_)
-    ime_adapter_android_ = nullptr;
+  DCHECK(!ime_adapter_android_);
   DCHECK(ack_callbacks_.empty());
   DCHECK(!delegated_frame_host_);
 }
@@ -508,6 +507,16 @@
     overscroll_controller_->Disable();
 }
 
+void RenderWidgetHostViewAndroid::AddDestructionObserver(
+    DestructionObserver* observer) {
+  destruction_observers_.AddObserver(observer);
+}
+
+void RenderWidgetHostViewAndroid::RemoveDestructionObserver(
+    DestructionObserver* observer) {
+  destruction_observers_.RemoveObserver(observer);
+}
+
 bool RenderWidgetHostViewAndroid::OnMessageReceived(
     const IPC::Message& message) {
   if (IPC_MESSAGE_ID_CLASS(message.type()) == SyncCompositorMsgStart) {
@@ -1021,6 +1030,10 @@
   if (GetTextInputManager() && GetTextInputManager()->HasObserver(this))
     GetTextInputManager()->RemoveObserver(this);
 
+  for (auto& observer : destruction_observers_)
+    observer.RenderWidgetHostViewDestroyed(this);
+  destruction_observers_.Clear();
+
   delete this;
 }
 
diff --git a/content/browser/renderer_host/render_widget_host_view_android.h b/content/browser/renderer_host/render_widget_host_view_android.h
index cd3964b2..99c5771 100644
--- a/content/browser/renderer_host/render_widget_host_view_android.h
+++ b/content/browser/renderer_host/render_widget_host_view_android.h
@@ -78,6 +78,19 @@
 
   void Blur();
 
+  // Interface used to observe the destruction of a RenderWidgetHostViewAndroid.
+  class DestructionObserver {
+   public:
+    virtual void RenderWidgetHostViewDestroyed(
+        RenderWidgetHostViewAndroid* rwhva) = 0;
+
+   protected:
+    virtual ~DestructionObserver() {}
+  };
+
+  void AddDestructionObserver(DestructionObserver* connector);
+  void RemoveDestructionObserver(DestructionObserver* connector);
+
   // RenderWidgetHostView implementation.
   bool OnMessageReceived(const IPC::Message& msg) override;
   void InitAsChild(gfx::NativeView parent_view) override;
@@ -404,6 +417,8 @@
   cc::mojom::MojoCompositorFrameSinkClient* renderer_compositor_frame_sink_ =
       nullptr;
 
+  base::ObserverList<DestructionObserver> destruction_observers_;
+
   base::WeakPtrFactory<RenderWidgetHostViewAndroid> weak_ptr_factory_;
 
   DISALLOW_COPY_AND_ASSIGN(RenderWidgetHostViewAndroid);
diff --git a/content/browser/renderer_host/render_widget_host_view_browsertest.cc b/content/browser/renderer_host/render_widget_host_view_browsertest.cc
index fb74aa1d..25a2ba5a 100644
--- a/content/browser/renderer_host/render_widget_host_view_browsertest.cc
+++ b/content/browser/renderer_host/render_widget_host_view_browsertest.cc
@@ -9,6 +9,7 @@
 #include "base/command_line.h"
 #include "base/location.h"
 #include "base/macros.h"
+#include "base/message_loop/message_loop.h"
 #include "base/path_service.h"
 #include "base/run_loop.h"
 #include "base/single_thread_task_runner.h"
@@ -21,6 +22,7 @@
 #include "content/browser/renderer_host/render_widget_host_impl.h"
 #include "content/browser/renderer_host/render_widget_host_view_base.h"
 #include "content/browser/renderer_host/render_widget_host_view_frame_subscriber.h"
+#include "content/common/frame_messages.h"
 #include "content/public/browser/gpu_data_manager.h"
 #include "content/public/browser/render_view_host.h"
 #include "content/public/browser/web_contents.h"
@@ -30,10 +32,12 @@
 #include "content/public/test/browser_test_utils.h"
 #include "content/public/test/content_browser_test.h"
 #include "content/public/test/content_browser_test_utils.h"
+#include "content/public/test/test_utils.h"
 #include "content/shell/browser/shell.h"
 #include "media/base/video_frame.h"
 #include "media/renderers/skcanvas_video_renderer.h"
 #include "net/base/filename_util.h"
+#include "net/dns/mock_host_resolver.h"
 #include "third_party/skia/include/core/SkBitmap.h"
 #include "third_party/skia/include/core/SkCanvas.h"
 #include "ui/base/layout.h"
@@ -202,6 +206,73 @@
   int frames_captured_;
 };
 
+// Helps to ensure that a navigation is committed after a compositor frame was
+// submitted by the renderer, but before corresponding ACK is sent back.
+class CommitBeforeSwapAckSentHelper : public WebContentsObserver {
+ public:
+  explicit CommitBeforeSwapAckSentHelper(WebContents* web_contents)
+      : WebContentsObserver(web_contents) {}
+
+ private:
+  void WaitForSwapCompositorFrame() {
+    base::MessageLoop::ScopedNestableTaskAllower allow(
+        base::MessageLoop::current());
+    FrameWatcher(web_contents()).WaitFrames(1);
+  }
+
+  bool OnMessageReceived(const IPC::Message& message,
+                         RenderFrameHost* rfh) override {
+    IPC_BEGIN_MESSAGE_MAP(CommitBeforeSwapAckSentHelper, message)
+      IPC_MESSAGE_HANDLER_GENERIC(FrameHostMsg_DidCommitProvisionalLoad,
+                                  WaitForSwapCompositorFrame())
+    IPC_END_MESSAGE_MAP()
+    return false;
+  }
+
+  DISALLOW_COPY_AND_ASSIGN(CommitBeforeSwapAckSentHelper);
+};
+
+using RenderWidgetHostViewBrowserTestBase = ContentBrowserTest;
+
+IN_PROC_BROWSER_TEST_F(RenderWidgetHostViewBrowserTestBase,
+                       CompositorWorksWhenReusingRenderer) {
+  host_resolver()->AddRule("*", "127.0.0.1");
+  ASSERT_TRUE(embedded_test_server()->Start());
+  auto* web_contents = shell()->web_contents();
+  // Load a page that draws new frames infinitely.
+  NavigateToURL(shell(),
+                embedded_test_server()->GetURL("/page_with_animation.html"));
+
+  // Open a new page in the same renderer to keep it alive.
+  WebContents::CreateParams new_contents_params(
+      web_contents->GetBrowserContext(), web_contents->GetSiteInstance());
+  std::unique_ptr<WebContents> new_web_contents(
+      WebContents::Create(new_contents_params));
+
+  new_web_contents->GetController().LoadURLWithParams(
+      NavigationController::LoadURLParams(GURL(url::kAboutBlankURL)));
+  EXPECT_TRUE(WaitForLoadStop(new_web_contents.get()));
+
+  // Start a cross-process navigation.
+  shell()->LoadURL(embedded_test_server()->GetURL("foo.com", "/title1.html"));
+
+  // When the navigation is about to commit, wait for the next frame to be
+  // submitted by the renderer before proceeding with page load.
+  {
+    CommitBeforeSwapAckSentHelper commit_helper(web_contents);
+    EXPECT_TRUE(WaitForLoadStop(web_contents));
+    EXPECT_NE(web_contents->GetRenderProcessHost(),
+              new_web_contents->GetRenderProcessHost());
+  }
+
+  // Go back and verify that the renderer continues to draw new frames.
+  shell()->GoBackOrForward(-1);
+  EXPECT_TRUE(WaitForLoadStop(web_contents));
+  EXPECT_EQ(web_contents->GetRenderProcessHost(),
+            new_web_contents->GetRenderProcessHost());
+  FrameWatcher(web_contents).WaitFrames(5);
+}
+
 enum CompositingMode {
   GL_COMPOSITING,
   SOFTWARE_COMPOSITING,
diff --git a/content/browser/service_worker/service_worker_browsertest.cc b/content/browser/service_worker/service_worker_browsertest.cc
index 605daad6..39142e4 100644
--- a/content/browser/service_worker/service_worker_browsertest.cc
+++ b/content/browser/service_worker/service_worker_browsertest.cc
@@ -1229,8 +1229,8 @@
   EXPECT_EQ(301, response.status_code);
   EXPECT_EQ("Moved Permanently", response.status_text);
   ServiceWorkerHeaderMap expected_headers;
-  expected_headers["content-language"] = "fi";
-  expected_headers["content-type"] = "text/html; charset=UTF-8";
+  expected_headers["Content-Language"] = "fi";
+  expected_headers["Content-Type"] = "text/html; charset=UTF-8";
   EXPECT_EQ(expected_headers, response.headers);
 
   std::string body;
diff --git a/content/browser/utility_process_host_impl.cc b/content/browser/utility_process_host_impl.cc
index 4c5b066..4cb3c3d 100644
--- a/content/browser/utility_process_host_impl.cc
+++ b/content/browser/utility_process_host_impl.cc
@@ -314,8 +314,13 @@
     // Browser command-line switches to propagate to the utility process.
     static const char* const kSwitchNames[] = {
       switches::kEnableNetworkService,
+      switches::kHostResolverRules,
+      switches::kIgnoreCertificateErrors,
+      switches::kLogNetLog,
       switches::kNoSandbox,
       switches::kProfilerTiming,
+      switches::kTestingFixedHttpPort,
+      switches::kTestingFixedHttpsPort,
 #if defined(OS_MACOSX)
       switches::kEnableSandboxLogging,
 #endif
diff --git a/content/child/push_messaging/push_provider.cc b/content/child/push_messaging/push_provider.cc
index a0261db..adcc0eb 100644
--- a/content/child/push_messaging/push_provider.cc
+++ b/content/child/push_messaging/push_provider.cc
@@ -63,6 +63,7 @@
     case PUSH_REGISTRATION_STATUS_PUBLIC_KEY_UNAVAILABLE:
     case PUSH_REGISTRATION_STATUS_MANIFEST_EMPTY_OR_MISSING:
     case PUSH_REGISTRATION_STATUS_STORAGE_CORRUPT:
+    case PUSH_REGISTRATION_STATUS_RENDERER_SHUTDOWN:
       error_type = blink::WebPushError::kErrorTypeAbort;
       break;
   }
diff --git a/content/child/web_url_loader_impl.cc b/content/child/web_url_loader_impl.cc
index 716adc9..36978f6 100644
--- a/content/child/web_url_loader_impl.cc
+++ b/content/child/web_url_loader_impl.cc
@@ -532,7 +532,7 @@
   // the WebURLLoader are the ones created by CommitNavigation. Several browser
   // tests load HTML directly through a data url which will be handled by the
   // block above.
-  DCHECK(!IsBrowserSideNavigationEnabled() || stream_override_.get() ||
+  DCHECK(!IsBrowserSideNavigationEnabled() || stream_override_ ||
          request.GetFrameType() == WebURLRequest::kFrameTypeNone);
 
   GURL referrer_url(
@@ -603,7 +603,7 @@
   // contains the body of the response. The network request has already been
   // made by the browser.
   mojo::ScopedDataPipeConsumerHandle consumer_handle;
-  if (stream_override_.get()) {
+  if (stream_override_) {
     CHECK(IsBrowserSideNavigationEnabled());
     DCHECK(!sync_load_response);
     DCHECK_NE(WebURLRequest::kFrameTypeNone, request.GetFrameType());
@@ -716,7 +716,7 @@
 
   // PlzNavigate: during navigations, the ResourceResponse has already been
   // received on the browser side, and has been passed down to the renderer.
-  if (stream_override_.get()) {
+  if (stream_override_) {
     CHECK(IsBrowserSideNavigationEnabled());
     // Compute the delta between the response sizes so that the accurate
     // transfer size can be reported at the end of the request.
@@ -785,19 +785,20 @@
     client_->DidReceiveResponse(response, std::move(read_handle));
     // TODO(yhirano): Support ftp listening and multipart
     return;
-  } else {
-    client_->DidReceiveResponse(response);
   }
 
-  // We may have been cancelled after didReceiveResponse, which would leave us
-  // without a client and therefore without much need to do further handling.
+  client_->DidReceiveResponse(response);
+
+  // DidReceiveResponse() may have triggered a cancel, causing the |client_| to
+  // go away.
   if (!client_)
     return;
 
-  DCHECK(!ftp_listing_delegate_.get());
+  DCHECK(!ftp_listing_delegate_);
   if (info.mime_type == "text/vnd.chromium.ftp-dir" && !show_raw_listing) {
-    ftp_listing_delegate_.reset(
-        new FtpDirectoryListingResponseDelegate(client_, loader_, response));
+    ftp_listing_delegate_ =
+        base::MakeUnique<FtpDirectoryListingResponseDelegate>(client_, loader_,
+                                                              response);
   }
 }
 
@@ -829,16 +830,17 @@
     // The FTP listing delegate will make the appropriate calls to
     // client_->didReceiveData and client_->didReceiveResponse.
     ftp_listing_delegate_->OnReceivedData(payload, data_length);
-  } else {
-    // We dispatch the data even when |useStreamOnResponse()| is set, in order
-    // to make Devtools work.
-    client_->DidReceiveData(payload, data_length);
+    return;
+  }
 
-    if (request_.UseStreamOnResponse()) {
-      // We don't support ftp_listening_delegate_ for now.
-      // TODO(yhirano): Support ftp listening.
-      body_stream_writer_->AddData(std::move(data));
-    }
+  // We dispatch the data even when |useStreamOnResponse()| is set, in order
+  // to make Devtools work.
+  client_->DidReceiveData(payload, data_length);
+
+  if (request_.UseStreamOnResponse()) {
+    // We don't support |ftp_listing_delegate_| for now.
+    // TODO(yhirano): Support ftp listening.
+    body_stream_writer_->AddData(std::move(data));
   }
 }
 
@@ -889,7 +891,7 @@
                        total_transfer_size, encoded_body_size);
     } else {
       // PlzNavigate: compute the accurate transfer size for navigations.
-      if (stream_override_.get()) {
+      if (stream_override_) {
         DCHECK(IsBrowserSideNavigationEnabled());
         total_transfer_size += stream_override_->total_transfer_size_delta;
       }
diff --git a/content/common/cursors/webcursor_ozone.cc b/content/common/cursors/webcursor_ozone.cc
index 6095da9f..b28ab00 100644
--- a/content/common/cursors/webcursor_ozone.cc
+++ b/content/common/cursors/webcursor_ozone.cc
@@ -35,8 +35,8 @@
   ui::ScaleAndRotateCursorBitmapAndHotpoint(scale, rotation_, &bitmap,
                                             &hotspot);
 
-  platform_cursor_ =
-      ui::CursorFactoryOzone::GetInstance()->CreateImageCursor(bitmap, hotspot);
+  platform_cursor_ = ui::CursorFactoryOzone::GetInstance()->CreateImageCursor(
+      bitmap, hotspot, scale);
   return platform_cursor_;
 }
 
diff --git a/content/common/push_messaging.mojom b/content/common/push_messaging.mojom
index 2da349bb..e9973b0d 100644
--- a/content/common/push_messaging.mojom
+++ b/content/common/push_messaging.mojom
@@ -72,12 +72,15 @@
   // automatically after unsubscribing to fix the corruption.
   STORAGE_CORRUPT = 14,
 
+  // Registration failed because the renderer was shut down.
+  RENDERER_SHUTDOWN = 15,
+
   // NOTE: Do not renumber these as that would confuse interpretation of
   // previously logged data. When making changes, also update the enum list
   // in tools/metrics/histograms/histograms.xml to keep it in sync, and
   // update LAST below.
 
-  LAST = STORAGE_CORRUPT
+  LAST = RENDERER_SHUTDOWN
 };
 
 enum PushErrorType {
@@ -116,12 +119,15 @@
   // Getting the registration failed because storage was corrupt.
   STORAGE_CORRUPT = 6,
 
+  // Getting the registration failed because the renderer was shut down.
+  RENDERER_SHUTDOWN = 7,
+
   // NOTE: Do not renumber these as that would confuse interpretation of
   // previously logged data. When making changes, also update the enum list
   // in tools/metrics/histograms/histograms.xml to keep it in sync, and
   // update LAST below.
 
-  LAST = STORAGE_CORRUPT
+  LAST = RENDERER_SHUTDOWN
 };
 
 enum PushPermissionStatus {
diff --git a/content/common/push_messaging_param_traits.cc b/content/common/push_messaging_param_traits.cc
index c697a225..e5efafdc 100644
--- a/content/common/push_messaging_param_traits.cc
+++ b/content/common/push_messaging_param_traits.cc
@@ -107,6 +107,13 @@
             content::mojom::PushRegistrationStatus::STORAGE_CORRUPT),
     "PushRegistrationStatus enums must match, STORAGE_CORRUPT");
 
+static_assert(
+    content::PushRegistrationStatus::
+            PUSH_REGISTRATION_STATUS_RENDERER_SHUTDOWN ==
+        static_cast<content::PushRegistrationStatus>(
+            content::mojom::PushRegistrationStatus::RENDERER_SHUTDOWN),
+    "PushRegistrationStatus enums must match, RENDERER_SHUTDOWN");
+
 static_assert(content::PushRegistrationStatus::PUSH_REGISTRATION_STATUS_LAST ==
                   static_cast<content::PushRegistrationStatus>(
                       content::mojom::PushRegistrationStatus::LAST),
@@ -197,6 +204,13 @@
     "PushGetRegistrationStatus enums must match, STORAGE_CORRUPT");
 
 static_assert(
+    content::PushGetRegistrationStatus::
+            PUSH_GETREGISTRATION_STATUS_RENDERER_SHUTDOWN ==
+        static_cast<content::PushGetRegistrationStatus>(
+            content::mojom::PushGetRegistrationStatus::RENDERER_SHUTDOWN),
+    "PushGetRegistrationStatus enums must match, RENDERER_SHUTDOWN");
+
+static_assert(
     content::PushGetRegistrationStatus::PUSH_GETREGISTRATION_STATUS_LAST ==
         static_cast<content::PushGetRegistrationStatus>(
             content::mojom::PushGetRegistrationStatus::LAST),
diff --git a/content/network/DEPS b/content/network/DEPS
index 61742f9..c5ce9ee 100644
--- a/content/network/DEPS
+++ b/content/network/DEPS
@@ -7,6 +7,7 @@
   "+content/common/url_loader_factory.mojom.h",
   "+content/network",
   "+content/public/common/content_client.h",
+  "+content/public/common/content_switches.h",
   "+content/public/common/referrer.h",
   "+content/public/common/resource_response.h",
   "+services/service_manager/public",
diff --git a/content/network/network_context.cc b/content/network/network_context.cc
index fcca28c..040a678 100644
--- a/content/network/network_context.cc
+++ b/content/network/network_context.cc
@@ -7,8 +7,10 @@
 #include "base/command_line.h"
 #include "base/logging.h"
 #include "base/memory/ptr_util.h"
+#include "base/strings/string_number_conversions.h"
 #include "content/network/url_loader_impl.h"
 #include "content/public/common/content_client.h"
+#include "content/public/common/content_switches.h"
 #include "net/dns/host_resolver.h"
 #include "net/dns/mapped_host_resolver.h"
 #include "net/log/net_log_util.h"
@@ -21,31 +23,37 @@
 namespace content {
 
 namespace {
-// Logs network information to the specified file.
-const char kLogNetLog[] = "log-net-log";
-
-// Applies the specified mapping rules when resolving hosts. Please see the
-// comment of net::MappedHostResolver::AddRulesFromString() for rule format.
-const char kHostResolverRules[] = "host-resolver-rules";
-
-// Ignores certificate-related errors.
-const char kIgnoreCertificateErrors[] = "ignore-certificate-errors";
 
 std::unique_ptr<net::URLRequestContext> MakeURLRequestContext() {
   net::URLRequestContextBuilder builder;
   net::URLRequestContextBuilder::HttpNetworkSessionParams params;
   const base::CommandLine* command_line =
       base::CommandLine::ForCurrentProcess();
-  if (command_line->HasSwitch(kIgnoreCertificateErrors))
+  if (command_line->HasSwitch(switches::kIgnoreCertificateErrors))
     params.ignore_certificate_errors = true;
+
+  if (command_line->HasSwitch(switches::kTestingFixedHttpPort)) {
+    int value;
+    base::StringToInt(
+        command_line->GetSwitchValueASCII(switches::kTestingFixedHttpPort),
+        &value);
+    params.testing_fixed_http_port = value;
+  }
+  if (command_line->HasSwitch(switches::kTestingFixedHttpsPort)) {
+    int value;
+    base::StringToInt(
+        command_line->GetSwitchValueASCII(switches::kTestingFixedHttpsPort),
+        &value);
+    params.testing_fixed_https_port = value;
+  }
   builder.set_http_network_session_params(params);
-  if (command_line->HasSwitch(kHostResolverRules)) {
+  if (command_line->HasSwitch(switches::kHostResolverRules)) {
     std::unique_ptr<net::HostResolver> host_resolver(
         net::HostResolver::CreateDefaultResolver(nullptr));
     std::unique_ptr<net::MappedHostResolver> remapped_host_resolver(
         new net::MappedHostResolver(std::move(host_resolver)));
     remapped_host_resolver->SetRulesFromString(
-        command_line->GetSwitchValueASCII(kHostResolverRules));
+        command_line->GetSwitchValueASCII(switches::kHostResolverRules));
     builder.set_host_resolver(std::move(remapped_host_resolver));
   }
   builder.set_accept_language("en-us,en");
@@ -74,9 +82,10 @@
   MojoNetLog() {
     const base::CommandLine* command_line =
         base::CommandLine::ForCurrentProcess();
-    if (!command_line->HasSwitch(kLogNetLog))
+    if (!command_line->HasSwitch(switches::kLogNetLog))
       return;
-    base::FilePath log_path = command_line->GetSwitchValuePath(kLogNetLog);
+    base::FilePath log_path =
+        command_line->GetSwitchValuePath(switches::kLogNetLog);
     base::ScopedFILE file;
 #if defined(OS_WIN)
     file.reset(_wfopen(log_path.value().c_str(), L"w"));
diff --git a/content/public/android/BUILD.gn b/content/public/android/BUILD.gn
index 35100354..434d3f1 100644
--- a/content/public/android/BUILD.gn
+++ b/content/public/android/BUILD.gn
@@ -441,6 +441,7 @@
     "javatests/src/org/chromium/content/browser/input/CursorAnchorInfoControllerTest.java",
     "javatests/src/org/chromium/content/browser/input/ImeLollipopTest.java",
     "javatests/src/org/chromium/content/browser/input/ImeTest.java",
+    "javatests/src/org/chromium/content/browser/input/ImeActivityTestRule.java",
     "javatests/src/org/chromium/content/browser/input/ImeTestUtils.java",
     "javatests/src/org/chromium/content/browser/input/InputDialogContainerTest.java",
     "javatests/src/org/chromium/content/browser/input/SelectPopupTest.java",
diff --git a/content/public/android/java/src/org/chromium/content/browser/ChildConnectionAllocator.java b/content/public/android/java/src/org/chromium/content/browser/ChildConnectionAllocator.java
index 56230dda..43c0367 100644
--- a/content/public/android/java/src/org/chromium/content/browser/ChildConnectionAllocator.java
+++ b/content/public/android/java/src/org/chromium/content/browser/ChildConnectionAllocator.java
@@ -145,7 +145,7 @@
                             -1);
                 }
             } catch (PackageManager.NameNotFoundException e) {
-                throw new RuntimeException("Could not get application info");
+                throw new RuntimeException("Could not get application info", e);
             }
         }
         if (numServices < 0) {
@@ -155,7 +155,7 @@
     }
 
     @VisibleForTesting
-    public static void setSanboxServicesSettingsForTesting(int serviceCount, String serviceName) {
+    public static void setSandboxServicesSettingsForTesting(int serviceCount, String serviceName) {
         sSandboxedServicesCountForTesting = serviceCount;
         sSandboxedServicesNameForTesting = serviceName;
     }
diff --git a/content/public/android/java/src/org/chromium/content/browser/ChildProcessConnectionImpl.java b/content/public/android/java/src/org/chromium/content/browser/ChildProcessConnectionImpl.java
index ecbafeff..710741b 100644
--- a/content/public/android/java/src/org/chromium/content/browser/ChildProcessConnectionImpl.java
+++ b/content/public/android/java/src/org/chromium/content/browser/ChildProcessConnectionImpl.java
@@ -159,61 +159,15 @@
         }
 
         @Override
-        public void onServiceConnected(ComponentName className, IBinder service) {
-            synchronized (mLock) {
-                // A flag from the parent class ensures we run the post-connection logic only once
-                // (instead of once per each ChildServiceConnection).
-                if (mDidOnServiceConnected) {
-                    return;
+        public void onServiceConnected(ComponentName className, final IBinder service) {
+            LauncherThread.post(new Runnable() {
+                @Override
+                public void run() {
+                    ChildProcessConnectionImpl.this.onServiceConnectedOnLauncherThread(service);
                 }
-                try {
-                    TraceEvent.begin(
-                            "ChildProcessConnectionImpl.ChildServiceConnection.onServiceConnected");
-                    mDidOnServiceConnected = true;
-                    mService = IChildProcessService.Stub.asInterface(service);
-
-                    StartCallback startCallback = mStartCallback;
-                    mStartCallback = null;
-
-                    final boolean bindCheck =
-                            mCreationParams != null && mCreationParams.getBindToCallerCheck();
-                    boolean boundToUs = false;
-                    try {
-                        boundToUs = bindCheck ? mService.bindToCaller() : true;
-                    } catch (RemoteException ex) {
-                        // Do not trigger the StartCallback here, since the service is already
-                        // dead and the DeathCallback will run from onServiceDisconnected().
-                        Log.e(TAG, "Failed to bind service to connection.", ex);
-                        return;
-                    }
-
-                    if (startCallback != null) {
-                        if (boundToUs) {
-                            startCallback.onChildStarted();
-                        } else {
-                            startCallback.onChildStartFailed();
-                        }
-                    }
-
-                    if (!boundToUs) {
-                        return;
-                    }
-
-                    mServiceConnectComplete = true;
-
-                    // Run the setup if the connection parameters have already been provided. If
-                    // not, doConnectionSetupLocked() will be called from setupConnection().
-                    if (mConnectionParams != null) {
-                        doConnectionSetupLocked();
-                    }
-                } finally {
-                    TraceEvent.end(
-                            "ChildProcessConnectionImpl.ChildServiceConnection.onServiceConnected");
-                }
-            }
+            });
         }
 
-
         // Called on the main thread to notify that the child service did not disconnect gracefully.
         @Override
         public void onServiceDisconnected(ComponentName className) {
@@ -339,6 +293,7 @@
     @Override
     public void setupConnection(String[] commandLine, FileDescriptorInfo[] filesToBeMapped,
             @Nullable IBinder callback, ConnectionCallback connectionCallback) {
+        assert LauncherThread.runningOnLauncherThread();
         synchronized (mLock) {
             assert mConnectionParams == null;
             if (mServiceDisconnected) {
@@ -376,6 +331,61 @@
         }
     }
 
+    private void onServiceConnectedOnLauncherThread(IBinder service) {
+        assert LauncherThread.runningOnLauncherThread();
+        synchronized (mLock) {
+            // A flag from the parent class ensures we run the post-connection logic only once
+            // (instead of once per each ChildServiceConnection).
+            if (mDidOnServiceConnected) {
+                return;
+            }
+            try {
+                TraceEvent.begin(
+                        "ChildProcessConnectionImpl.ChildServiceConnection.onServiceConnected");
+                mDidOnServiceConnected = true;
+                mService = IChildProcessService.Stub.asInterface(service);
+
+                StartCallback startCallback = mStartCallback;
+                mStartCallback = null;
+
+                final boolean bindCheck =
+                        mCreationParams != null && mCreationParams.getBindToCallerCheck();
+                boolean boundToUs = false;
+                try {
+                    boundToUs = bindCheck ? mService.bindToCaller() : true;
+                } catch (RemoteException ex) {
+                    // Do not trigger the StartCallback here, since the service is already
+                    // dead and the DeathCallback will run from onServiceDisconnected().
+                    Log.e(TAG, "Failed to bind service to connection.", ex);
+                    return;
+                }
+
+                if (startCallback != null) {
+                    if (boundToUs) {
+                        startCallback.onChildStarted();
+                    } else {
+                        startCallback.onChildStartFailed();
+                    }
+                }
+
+                if (!boundToUs) {
+                    return;
+                }
+
+                mServiceConnectComplete = true;
+
+                // Run the setup if the connection parameters have already been provided. If
+                // not, doConnectionSetupLocked() will be called from setupConnection().
+                if (mConnectionParams != null) {
+                    doConnectionSetupLocked();
+                }
+            } finally {
+                TraceEvent.end(
+                        "ChildProcessConnectionImpl.ChildServiceConnection.onServiceConnected");
+            }
+        }
+    }
+
     private void onServiceDisconnectedOnLauncherThread() {
         assert LauncherThread.runningOnLauncherThread();
         synchronized (mLock) {
diff --git a/content/public/android/java/src/org/chromium/content/browser/ChildProcessLauncher.java b/content/public/android/java/src/org/chromium/content/browser/ChildProcessLauncher.java
index 0badf04..c6e5262 100644
--- a/content/public/android/java/src/org/chromium/content/browser/ChildProcessLauncher.java
+++ b/content/public/android/java/src/org/chromium/content/browser/ChildProcessLauncher.java
@@ -126,7 +126,7 @@
                 // Proactively releases all the moderate bindings once all the sandboxed services
                 // are allocated, which will be very likely to have some of them killed by OOM
                 // killer.
-                sBindingManager.releaseAllModerateBindings();
+                getBindingManager().releaseAllModerateBindings();
             }
         }
         return connection;
@@ -136,9 +136,7 @@
 
     private static void freeConnection(ChildProcessConnection connection) {
         assert LauncherThread.runningOnLauncherThread();
-        synchronized (sSpareConnectionLock) {
-            if (connection.equals(sSpareSandboxedConnection)) sSpareSandboxedConnection = null;
-        }
+        if (connection == sSpareSandboxedConnection) clearSpareConnection();
 
         // Freeing a service should be delayed. This is so that we avoid immediately reusing the
         // freed service (see http://crbug.com/164069): the framework might keep a service process
@@ -184,26 +182,35 @@
     private static Map<Integer, ChildProcessConnection> sServiceMap =
             new ConcurrentHashMap<Integer, ChildProcessConnection>();
 
-    // Lock and monitor for these members {{{
-    private static final Object sSpareConnectionLock = new Object();
-    // A pre-allocated and pre-bound connection ready for connection setup, or null.
-    private static ChildProcessConnection sSpareSandboxedConnection;
-    // If sSpareSandboxedConnection is not null, this indicates whether the service is
-    // ready for connection setup. Wait on the monitor lock to be notified when this
-    // state changes. sSpareSandboxedConnection may be null after waiting, if starting
-    // the service failed.
-    private static boolean sSpareConnectionStarting;
-    // }}}
+    // Lock for getBindingManager()
+    private static final Object sBindingManagerLock = new Object();
 
-    // Manages oom bindings used to bind chind services.
-    private static BindingManager sBindingManager = BindingManagerImpl.createBindingManager();
+    // These variables are used for the warm up sandboxed connection.
+    // |sSpareSandboxedConnection| is non-null when there is a pending connection. Note it's cleared
+    // to null again after the connection is used for a real child process.
+    // |sSpareConnectionStarting| is true if ChildProcessConnection.StartCallback has not fired.
+    // This is used for a child process allocation to determine if StartCallback should be chained.
+    // |sSpareConnectionStartCallback| is the chained StartCallback. This is also used to determine
+    // if there is already a child process launch that's used this this connection.
+    private static ChildProcessConnection sSpareSandboxedConnection;
+    private static boolean sSpareConnectionStarting;
+    private static ChildProcessConnection.StartCallback sSpareConnectionStartCallback;
+
+    // Manages oom bindings used to bind chind services. Lazily initialized by getBindingManager()
+    private static BindingManager sBindingManager;
 
     // Whether the main application is currently brought to the foreground.
     private static boolean sApplicationInForeground = true;
 
+    // Lazy initialize sBindingManager
     // TODO(boliu): This should be internal to content.
     public static BindingManager getBindingManager() {
-        return sBindingManager;
+        synchronized (sBindingManagerLock) {
+            if (sBindingManager == null) {
+                sBindingManager = BindingManagerImpl.createBindingManager();
+            }
+            return sBindingManager;
+        }
     }
 
     @VisibleForTesting
@@ -216,7 +223,7 @@
      * rely on renderer visibility signalled through setInForeground. See http://crbug.com/421041.
      */
     public static void determinedVisibility(int pid) {
-        sBindingManager.determinedVisibility(pid);
+        getBindingManager().determinedVisibility(pid);
     }
 
     /**
@@ -224,7 +231,7 @@
      */
     public static void onSentToBackground() {
         sApplicationInForeground = false;
-        sBindingManager.onSentToBackground();
+        getBindingManager().onSentToBackground();
     }
 
     /**
@@ -238,7 +245,7 @@
      * sent to the background.
      */
     public static void startModerateBindingManagement(Context context) {
-        sBindingManager.startModerateBindingManagement(context,
+        getBindingManager().startModerateBindingManagement(context,
                 ChildConnectionAllocator.getNumberOfServices(
                         context, true, context.getPackageName()));
     }
@@ -248,7 +255,7 @@
      */
     public static void onBroughtToForeground() {
         sApplicationInForeground = true;
-        sBindingManager.onBroughtToForeground();
+        getBindingManager().onBroughtToForeground();
     }
 
     /**
@@ -268,44 +275,52 @@
         LauncherThread.post(new Runnable() {
             @Override
             public void run() {
-                synchronized (sSpareConnectionLock) {
-                    if (sSpareSandboxedConnection == null) {
-                        ChildProcessCreationParams params = ChildProcessCreationParams.getDefault();
-                        sSpareConnectionStarting = true;
+                if (sSpareSandboxedConnection != null) return;
+                ChildProcessCreationParams params = ChildProcessCreationParams.getDefault();
 
-                        ChildProcessConnection.StartCallback startCallback =
-                                new ChildProcessConnection.StartCallback() {
-                                    @Override
-                                    public void onChildStarted() {
-                                        synchronized (sSpareConnectionLock) {
-                                            sSpareConnectionStarting = false;
-                                            sSpareConnectionLock.notify();
-                                        }
-                                    }
+                ChildProcessConnection.StartCallback startCallback =
+                        new ChildProcessConnection.StartCallback() {
+                            @Override
+                            public void onChildStarted() {
+                                assert LauncherThread.runningOnLauncherThread();
+                                sSpareConnectionStarting = false;
+                                if (sSpareConnectionStartCallback != null) {
+                                    sSpareConnectionStartCallback.onChildStarted();
+                                    clearSpareConnection();
+                                }
+                                // If there is no chained callback, that means nothing has tried to
+                                // use the spare connection yet. It will be cleared when it is used
+                                // for an actual child process launch.
+                            }
 
-                                    @Override
-                                    public void onChildStartFailed() {
-                                        Log.e(TAG, "Failed to warm up the spare sandbox service");
-                                        synchronized (sSpareConnectionLock) {
-                                            sSpareSandboxedConnection = null;
-                                            sSpareConnectionStarting = false;
-                                            sSpareConnectionLock.notify();
-                                        }
-                                    }
-                                };
-                        ChildSpawnData spawnData = new ChildSpawnData(context,
-                                null /* commandLine */, -1 /* child process id */,
-                                null /* filesToBeMapped */, null /* launchCallback */,
-                                null /* child process callback */, true /* inSandbox */,
-                                SPARE_CONNECTION_ALWAYS_IN_FOREGROUND, params);
-                        sSpareSandboxedConnection = allocateBoundConnection(
-                                spawnData, startCallback, true /* forWarmUp */);
-                    }
-                }
+                            @Override
+                            public void onChildStartFailed() {
+                                assert LauncherThread.runningOnLauncherThread();
+                                Log.e(TAG, "Failed to warm up the spare sandbox service");
+                                if (sSpareConnectionStartCallback != null) {
+                                    sSpareConnectionStartCallback.onChildStartFailed();
+                                }
+                                clearSpareConnection();
+                            }
+                        };
+                ChildSpawnData spawnData = new ChildSpawnData(context, null /* commandLine */,
+                        -1 /* child process id */, null /* filesToBeMapped */,
+                        null /* launchCallback */, null /* child process callback */,
+                        true /* inSandbox */, SPARE_CONNECTION_ALWAYS_IN_FOREGROUND, params);
+                sSpareSandboxedConnection =
+                        allocateBoundConnection(spawnData, startCallback, true /* forWarmUp */);
+                sSpareConnectionStarting = sSpareSandboxedConnection != null;
             }
         });
     }
 
+    private static void clearSpareConnection() {
+        assert LauncherThread.runningOnLauncherThread();
+        sSpareSandboxedConnection = null;
+        sSpareConnectionStarting = false;
+        sSpareConnectionStartCallback = null;
+    }
+
     /**
      * Spawns and connects to a child process. May be called on any thread. It will not block, but
      * will instead callback to {@link #nativeOnChildProcessStarted} when the connection is
@@ -372,48 +387,46 @@
             ChildProcessConnection allocatedConnection = null;
             String packageName = creationParams != null ? creationParams.getPackageName()
                     : context.getPackageName();
-            synchronized (sSpareConnectionLock) {
-                if (inSandbox && sSpareSandboxedConnection != null
-                        && SPARE_CONNECTION_ALWAYS_IN_FOREGROUND == alwaysInForeground
-                        && sSpareSandboxedConnection.getPackageName().equals(packageName)
-                        // Object identity check for getDefault should be enough. The default is
-                        // not supposed to change once set.
-                        && creationParams == ChildProcessCreationParams.getDefault()) {
-                    while (sSpareConnectionStarting) {
-                        try {
-                            sSpareConnectionLock.wait();
-                        } catch (InterruptedException ex) {
+            ChildProcessConnection.StartCallback startCallback =
+                    new ChildProcessConnection.StartCallback() {
+                        @Override
+                        public void onChildStarted() {}
+
+                        @Override
+                        public void onChildStartFailed() {
+                            assert LauncherThread.runningOnLauncherThread();
+                            Log.e(TAG, "ChildProcessConnection.start failed, trying again");
+                            LauncherThread.post(new Runnable() {
+                                @Override
+                                public void run() {
+                                    // The child process may already be bound to another client
+                                    // (this can happen if multi-process WebView is used in more
+                                    // than one process), so try starting the process again.
+                                    // This connection that failed to start has not been freed,
+                                    // so a new bound connection will be allocated.
+                                    startInternal(context, commandLine, childProcessId,
+                                            filesToBeMapped, launchCallback, childProcessCallback,
+                                            inSandbox, alwaysInForeground, creationParams);
+                                }
+                            });
                         }
-                    }
-                    allocatedConnection = sSpareSandboxedConnection;
-                    sSpareSandboxedConnection = null;
+                    };
+
+            if (inSandbox && sSpareSandboxedConnection != null
+                    && sSpareConnectionStartCallback == null
+                    && SPARE_CONNECTION_ALWAYS_IN_FOREGROUND == alwaysInForeground
+                    && sSpareSandboxedConnection.getPackageName().equals(packageName)
+                    // Object identity check for getDefault should be enough. The default is
+                    // not supposed to change once set.
+                    && creationParams == ChildProcessCreationParams.getDefault()) {
+                allocatedConnection = sSpareSandboxedConnection;
+                if (sSpareConnectionStarting) {
+                    sSpareConnectionStartCallback = startCallback;
+                } else {
+                    clearSpareConnection();
                 }
             }
             if (allocatedConnection == null) {
-                ChildProcessConnection.StartCallback startCallback =
-                        new ChildProcessConnection.StartCallback() {
-                            @Override
-                            public void onChildStarted() {}
-
-                            @Override
-                            public void onChildStartFailed() {
-                                Log.e(TAG, "ChildProcessConnection.start failed, trying again");
-                                LauncherThread.post(new Runnable() {
-                                    @Override
-                                    public void run() {
-                                        // The child process may already be bound to another client
-                                        // (this can happen if multi-process WebView is used in more
-                                        // than one process), so try starting the process again.
-                                        // This connection that failed to start has not been freed,
-                                        // so a new bound connection will be allocated.
-                                        startInternal(context, commandLine, childProcessId,
-                                                filesToBeMapped, launchCallback,
-                                                childProcessCallback, inSandbox, alwaysInForeground,
-                                                creationParams);
-                                    }
-                                });
-                            }
-                        };
 
                 ChildSpawnData spawnData = new ChildSpawnData(context, commandLine, childProcessId,
                         filesToBeMapped, launchCallback, childProcessCallback, inSandbox,
@@ -425,8 +438,6 @@
                 }
             }
 
-            Log.d(TAG, "Setting up connection to process: slot=%d",
-                    allocatedConnection.getServiceNumber());
             triggerConnectionSetup(allocatedConnection, commandLine, childProcessId,
                     filesToBeMapped, childProcessCallback, launchCallback);
             return allocatedConnection;
@@ -457,13 +468,14 @@
             String[] commandLine, int childProcessId, FileDescriptorInfo[] filesToBeMapped,
             final IBinder childProcessCallback, final LaunchCallback launchCallback) {
         assert LauncherThread.runningOnLauncherThread();
+        Log.d(TAG, "Setting up connection to process: slot=%d", connection.getServiceNumber());
         ChildProcessConnection.ConnectionCallback connectionCallback =
                 new ChildProcessConnection.ConnectionCallback() {
                     @Override
                     public void onConnected(int pid) {
                         Log.d(TAG, "on connect callback, pid=%d", pid);
                         if (pid != NULL_PROCESS_HANDLE) {
-                            sBindingManager.addNewConnection(pid, connection);
+                            getBindingManager().addNewConnection(pid, connection);
                             sServiceMap.put(pid, connection);
                         }
                         // If the connection fails and pid == 0, the Java-side cleanup was already
@@ -492,7 +504,7 @@
             // Can happen for single process.
             return;
         }
-        sBindingManager.clearConnection(pid);
+        getBindingManager().clearConnection(pid);
         connection.stop();
         freeConnection(connection);
     }
diff --git a/content/public/android/javatests/src/org/chromium/content/browser/ChildProcessLauncherTest.java b/content/public/android/javatests/src/org/chromium/content/browser/ChildProcessLauncherTest.java
index ab17b60d..c4f1d473 100644
--- a/content/public/android/javatests/src/org/chromium/content/browser/ChildProcessLauncherTest.java
+++ b/content/public/android/javatests/src/org/chromium/content/browser/ChildProcessLauncherTest.java
@@ -14,8 +14,13 @@
 import android.os.Message;
 import android.os.Messenger;
 import android.os.RemoteException;
+import android.support.test.InstrumentationRegistry;
 import android.support.test.filters.MediumTest;
-import android.test.InstrumentationTestCase;
+
+import org.junit.Assert;
+import org.junit.Before;
+import org.junit.Test;
+import org.junit.runner.RunWith;
 
 import org.chromium.base.BaseSwitches;
 import org.chromium.base.ThreadUtils;
@@ -25,6 +30,7 @@
 import org.chromium.base.process_launcher.FileDescriptorInfo;
 import org.chromium.base.test.util.Feature;
 import org.chromium.content.browser.test.ChildProcessAllocatorSettings;
+import org.chromium.content.browser.test.ContentJUnit4ClassRunner;
 import org.chromium.content.browser.test.util.Criteria;
 import org.chromium.content.browser.test.util.CriteriaHelper;
 import org.chromium.content.common.ContentSwitches;
@@ -35,7 +41,8 @@
 /**
  * Instrumentation tests for ChildProcessLauncher.
  */
-public class ChildProcessLauncherTest extends InstrumentationTestCase {
+@RunWith(ContentJUnit4ClassRunner.class)
+public class ChildProcessLauncherTest {
     // Pseudo command line arguments to instruct the child process to wait until being killed.
     // Allowing the process to continue would lead to a crash when attempting to initialize IPC
     // channels that are not being set up in this test.
@@ -45,26 +52,26 @@
     private static final String DEFAULT_SANDBOXED_PROCESS_SERVICE =
             "org.chromium.content.app.SandboxedProcessService";
 
-    @Override
-    protected void setUp() throws Exception {
-        super.setUp();
+    @Before
+    public void setUp() throws Exception {
         LibraryLoader.get(LibraryProcessType.PROCESS_CHILD).ensureInitialized();
     }
 
     /**
      *  Tests cleanup for a connection that fails to connect in the first place.
      */
+    @Test
     @MediumTest
     @Feature({"ProcessManagement"})
     @ChildProcessAllocatorSettings(sandboxedServiceCount = 4)
     public void testServiceFailedToBind() {
-        assertEquals(0, allocatedChromeSandboxedConnectionsCount());
-        assertEquals(0, ChildProcessLauncher.connectedServicesCountForTesting());
+        Assert.assertEquals(0, allocatedChromeSandboxedConnectionsCount());
+        Assert.assertEquals(0, ChildProcessLauncher.connectedServicesCountForTesting());
 
         // Try to allocate a connection to service class in incorrect package. We can do that by
         // using the instrumentation context (getContext()) instead of the app context
         // (getTargetContext()).
-        Context context = getInstrumentation().getContext();
+        Context context = InstrumentationRegistry.getInstrumentation().getContext();
         allocateBoundConnectionForTesting(
                 context, getDefaultChildProcessCreationParams(context.getPackageName()));
 
@@ -87,19 +94,20 @@
     /**
      * Tests cleanup for a connection that terminates before setup.
      */
+    @Test
     @MediumTest
     @Feature({"ProcessManagement"})
     public void testServiceCrashedBeforeSetup() throws RemoteException {
-        assertEquals(0, allocatedChromeSandboxedConnectionsCount());
-        assertEquals(0, ChildProcessLauncher.connectedServicesCountForTesting());
+        Assert.assertEquals(0, allocatedChromeSandboxedConnectionsCount());
+        Assert.assertEquals(0, ChildProcessLauncher.connectedServicesCountForTesting());
 
         // Start and connect to a new service.
         final ChildProcessConnectionImpl connection = startConnection();
-        assertEquals(1, allocatedChromeSandboxedConnectionsCount());
+        Assert.assertEquals(1, allocatedChromeSandboxedConnectionsCount());
 
         // Verify that the service is not yet set up.
-        assertEquals(0, connection.getPid());
-        assertEquals(0, ChildProcessLauncher.connectedServicesCountForTesting());
+        Assert.assertEquals(0, connection.getPid());
+        Assert.assertEquals(0, ChildProcessLauncher.connectedServicesCountForTesting());
 
         // Crash the service.
         connection.crashServiceForTesting();
@@ -123,14 +131,15 @@
     /**
      * Tests cleanup for a connection that terminates after setup.
      */
+    @Test
     @MediumTest
     @Feature({"ProcessManagement"})
     public void testServiceCrashedAfterSetup() throws RemoteException {
-        assertEquals(0, allocatedChromeSandboxedConnectionsCount());
+        Assert.assertEquals(0, allocatedChromeSandboxedConnectionsCount());
 
         // Start and connect to a new service.
         final ChildProcessConnectionImpl connection = startConnection();
-        assertEquals(1, allocatedChromeSandboxedConnectionsCount());
+        Assert.assertEquals(1, allocatedChromeSandboxedConnectionsCount());
 
         // Initiate the connection setup.
         triggerConnectionSetup(connection);
@@ -170,21 +179,22 @@
         }));
 
         // Verify that the connection pid remains set after termination.
-        assertTrue(connection.getPid() != 0);
+        Assert.assertTrue(connection.getPid() != 0);
     }
 
     /**
      * Tests spawning a pending process from queue.
      */
+    @Test
     @MediumTest
     @Feature({"ProcessManagement"})
     public void testPendingSpawnQueue() throws RemoteException {
-        final Context appContext = getInstrumentation().getTargetContext();
-        assertEquals(0, allocatedChromeSandboxedConnectionsCount());
+        final Context appContext = InstrumentationRegistry.getInstrumentation().getTargetContext();
+        Assert.assertEquals(0, allocatedChromeSandboxedConnectionsCount());
 
         // Start and connect to a new service.
         final ChildProcessConnectionImpl connection = startConnection();
-        assertEquals(1, allocatedChromeSandboxedConnectionsCount());
+        Assert.assertEquals(1, allocatedChromeSandboxedConnectionsCount());
 
         // Queue up a new spawn request. There is no way to kill the pending connection, leak it
         // until the browser restart.
@@ -192,7 +202,7 @@
         final boolean inSandbox = true;
         enqueuePendingSpawnForTesting(appContext, sProcessWaitArguments,
                 getDefaultChildProcessCreationParams(packageName), inSandbox);
-        assertEquals(1, pendingSpawnsCountForTesting(appContext, packageName, inSandbox));
+        Assert.assertEquals(1, pendingSpawnsCountForTesting(appContext, packageName, inSandbox));
 
         // Initiate the connection setup.
         triggerConnectionSetup(connection);
@@ -246,16 +256,17 @@
      * Tests service number of connections for external APKs and regular tabs are assigned properly,
      * i.e. from different ChildConnectionAllocators.
      */
+    @Test
     @MediumTest
     @Feature({"ProcessManagement"})
     @ChildProcessAllocatorSettings(
             sandboxedServiceCount = 4, sandboxedServiceName = DEFAULT_SANDBOXED_PROCESS_SERVICE)
     public void testServiceNumberAllocation() {
-        Context appContext = getInstrumentation().getTargetContext();
-        assertEquals(0,
+        Context appContext = InstrumentationRegistry.getInstrumentation().getTargetContext();
+        Assert.assertEquals(0,
                 allocatedSandboxedConnectionsCountForTesting(
                         appContext, EXTERNAL_APK_PACKAGE_NAME));
-        assertEquals(0, allocatedChromeSandboxedConnectionsCount());
+        Assert.assertEquals(0, allocatedChromeSandboxedConnectionsCount());
 
         // Start and connect to a new service of an external APK.
         ChildProcessConnectionImpl externalApkConnection =
@@ -265,16 +276,16 @@
 
         // Verify that one connection is allocated for an external APK and a regular tab
         // respectively.
-        assertEquals(1,
+        Assert.assertEquals(1,
                 allocatedSandboxedConnectionsCountForTesting(
                         appContext, EXTERNAL_APK_PACKAGE_NAME));
-        assertEquals(1, allocatedChromeSandboxedConnectionsCount());
+        Assert.assertEquals(1, allocatedChromeSandboxedConnectionsCount());
 
         // Verify that connections allocated for an external APK and the regular tab are from
         // different ChildConnectionAllocators, since both ChildConnectionAllocators start
         // allocating connections from number 0.
-        assertEquals(0, externalApkConnection.getServiceNumber());
-        assertEquals(0, tabConnection.getServiceNumber());
+        Assert.assertEquals(0, externalApkConnection.getServiceNumber());
+        Assert.assertEquals(0, tabConnection.getServiceNumber());
     }
 
     /**
@@ -282,29 +293,30 @@
      * allocate a new connection to the APK, but we can still allocate a connection for a regular
      * tab.
      */
+    @Test
     @MediumTest
     @Feature({"ProcessManagement"})
     @ChildProcessAllocatorSettings(
             sandboxedServiceCount = 1, sandboxedServiceName = DEFAULT_SANDBOXED_PROCESS_SERVICE)
     public void testExceedMaximumConnectionNumber() {
-        Context appContext = getInstrumentation().getTargetContext();
-        assertEquals(0,
+        Context appContext = InstrumentationRegistry.getInstrumentation().getTargetContext();
+        Assert.assertEquals(0,
                 allocatedSandboxedConnectionsCountForTesting(
                         appContext, EXTERNAL_APK_PACKAGE_NAME));
 
         // Setup a connection for an external APK to reach the maximum allowed connection number.
         ChildProcessConnectionImpl externalApkConnection =
                 allocateConnection(EXTERNAL_APK_PACKAGE_NAME);
-        assertNotNull(externalApkConnection);
+        Assert.assertNotNull(externalApkConnection);
 
         // Verify that there isn't any connection available for the external APK.
         ChildProcessConnectionImpl exceedNumberExternalApkConnection =
                 allocateConnection(EXTERNAL_APK_PACKAGE_NAME);
-        assertNull(exceedNumberExternalApkConnection);
+        Assert.assertNull(exceedNumberExternalApkConnection);
 
         // Verify that we can still allocate connection for a regular tab.
         ChildProcessConnectionImpl tabConnection = allocateConnection(appContext.getPackageName());
-        assertNotNull(tabConnection);
+        Assert.assertNotNull(tabConnection);
     }
 
     /**
@@ -314,10 +326,11 @@
      * instrumentation test then tries to bind the same slot, which fails, so the
      * ChildProcessLauncher retries on a new connection.
      */
+    @Test
     @MediumTest
     @Feature({"ProcessManagement"})
     public void testBindServiceFromMultipleProcesses() throws RemoteException {
-        final Context context = getInstrumentation().getTargetContext();
+        final Context context = InstrumentationRegistry.getInstrumentation().getTargetContext();
 
         // Start the Helper service.
         class HelperConnection implements ServiceConnection {
@@ -336,7 +349,7 @@
         Intent intent = new Intent();
         intent.setComponent(new ComponentName(context.getPackageName(),
                 context.getPackageName() + ".ChildProcessLauncherTestHelperService"));
-        assertTrue(context.bindService(intent, serviceConn, Context.BIND_AUTO_CREATE));
+        Assert.assertTrue(context.bindService(intent, serviceConn, Context.BIND_AUTO_CREATE));
 
         // Wait for the Helper service to connect.
         CriteriaHelper.pollInstrumentationThread(
@@ -347,7 +360,7 @@
                     }
                 });
 
-        assertNotNull(serviceConn.mMessenger);
+        Assert.assertNotNull(serviceConn.mMessenger);
 
         class ReplyHandler implements Handler.Callback {
             Message mMessage;
@@ -378,13 +391,14 @@
                 });
 
         // Verify that the Helper was able to launch the sandboxed service.
-        assertNotNull(replyHandler.mMessage);
-        assertEquals(ChildProcessLauncherTestHelperService.MSG_BIND_SERVICE_REPLY,
+        Assert.assertNotNull(replyHandler.mMessage);
+        Assert.assertEquals(ChildProcessLauncherTestHelperService.MSG_BIND_SERVICE_REPLY,
                 replyHandler.mMessage.what);
-        assertEquals("Connection slot from helper service is not 0", 0, replyHandler.mMessage.arg2);
+        Assert.assertEquals(
+                "Connection slot from helper service is not 0", 0, replyHandler.mMessage.arg2);
 
         final int helperConnPid = replyHandler.mMessage.arg1;
-        assertTrue(helperConnPid > 0);
+        Assert.assertTrue(helperConnPid > 0);
 
         // Launch a service from this process. Since slot 0 is already bound by the Helper, it
         // will fail to start and the ChildProcessLauncher will retry.
@@ -403,7 +417,7 @@
                     }
                 });
 
-        assertEquals(0, conn.getServiceNumber());
+        Assert.assertEquals(0, conn.getServiceNumber());
 
         final ChildProcessConnection[] sandboxedConnections =
                 getSandboxedConnectionArrayForTesting(context, context.getPackageName());
@@ -426,23 +440,23 @@
         for (int i = 0; i < sandboxedConnections.length; ++i) {
             ChildProcessConnection sandboxedConn = sandboxedConnections[i];
             if (i <= 1) {
-                assertNotNull(sandboxedConn);
-                assertNotNull(sandboxedConn.getService());
+                Assert.assertNotNull(sandboxedConn);
+                Assert.assertNotNull(sandboxedConn.getService());
             } else {
-                assertNull(sandboxedConn);
+                Assert.assertNull(sandboxedConn);
             }
         }
 
-        assertTrue(conn == sandboxedConnections[0]);
+        Assert.assertTrue(conn == sandboxedConnections[0]);
         final ChildProcessConnection retryConn = sandboxedConnections[1];
 
-        assertFalse(conn == retryConn);
+        Assert.assertFalse(conn == retryConn);
 
-        assertEquals(0, conn.getServiceNumber());
-        assertEquals(0, conn.getPid());
-        assertFalse(conn.getService().bindToCaller());
+        Assert.assertEquals(0, conn.getServiceNumber());
+        Assert.assertEquals(0, conn.getPid());
+        Assert.assertFalse(conn.getService().bindToCaller());
 
-        assertEquals(1, retryConn.getServiceNumber());
+        Assert.assertEquals(1, retryConn.getServiceNumber());
         CriteriaHelper.pollInstrumentationThread(
                 new Criteria("Failed waiting retry connection to get pid") {
                     @Override
@@ -450,8 +464,8 @@
                         return retryConn.getPid() > 0;
                     }
                 });
-        assertTrue(retryConn.getPid() != helperConnPid);
-        assertTrue(retryConn.getService().bindToCaller());
+        Assert.assertTrue(retryConn.getPid() != helperConnPid);
+        Assert.assertTrue(retryConn.getService().bindToCaller());
     }
 
     private static void warmUpOnUiThreadBlocking(final Context context) {
@@ -463,20 +477,21 @@
         });
     }
 
+    @Test
     @MediumTest
     @Feature({"ProcessManagement"})
     public void testWarmUp() {
-        final Context context = getInstrumentation().getTargetContext();
+        final Context context = InstrumentationRegistry.getInstrumentation().getTargetContext();
         warmUpOnUiThreadBlocking(context);
         ChildProcessLauncherTestHelperService.runOnLauncherThreadBlocking(new Runnable() {
             @Override
             public void run() {
-                assertEquals(1, allocatedChromeSandboxedConnectionsCount());
+                Assert.assertEquals(1, allocatedChromeSandboxedConnectionsCount());
 
                 final ChildProcessConnection conn =
                         ChildProcessLauncherTestHelperService.startInternalForTesting(
                                 context, new String[0], new FileDescriptorInfo[0], null);
-                assertEquals(
+                Assert.assertEquals(
                         1, allocatedChromeSandboxedConnectionsCount()); // Used warmup connection.
 
                 ChildProcessLauncher.stop(conn.getPid());
@@ -484,11 +499,12 @@
         });
     }
 
+    @Test
     @MediumTest
     @Feature({"ProcessManagement"})
     public void testCustomCreationParamDoesNotReuseWarmupConnection() {
         // Since warmUp only uses default params.
-        final Context context = getInstrumentation().getTargetContext();
+        final Context context = InstrumentationRegistry.getInstrumentation().getTargetContext();
         // Check uses object identity, having the params match exactly is fine.
         ChildProcessCreationParams.registerDefault(
                 getDefaultChildProcessCreationParams(context.getPackageName()));
@@ -499,14 +515,15 @@
         ChildProcessLauncherTestHelperService.runOnLauncherThreadBlocking(new Runnable() {
             @Override
             public void run() {
-                assertEquals(1, allocatedChromeSandboxedConnectionsCount());
+                Assert.assertEquals(1, allocatedChromeSandboxedConnectionsCount());
 
                 startRendererProcess(context, paramId, new FileDescriptorInfo[0]);
-                assertEquals(2, allocatedChromeSandboxedConnectionsCount()); // Warmup not used.
+                Assert.assertEquals(
+                        2, allocatedChromeSandboxedConnectionsCount()); // Warmup not used.
 
                 startRendererProcess(
                         context, ChildProcessCreationParams.DEFAULT_ID, new FileDescriptorInfo[0]);
-                assertEquals(2, allocatedChromeSandboxedConnectionsCount()); // Warmup used.
+                Assert.assertEquals(2, allocatedChromeSandboxedConnectionsCount()); // Warmup used.
 
                 ChildProcessCreationParams.unregister(paramId);
             }
@@ -515,7 +532,7 @@
 
     private ChildProcessConnectionImpl startConnection() {
         // Allocate a new connection.
-        Context context = getInstrumentation().getTargetContext();
+        Context context = InstrumentationRegistry.getInstrumentation().getTargetContext();
         final ChildProcessConnectionImpl connection =
                 (ChildProcessConnectionImpl) allocateBoundConnectionForTesting(
                         context, getDefaultChildProcessCreationParams(context.getPackageName()));
@@ -568,7 +585,7 @@
                     @Override
                     public ChildProcessConnectionImpl call() {
                         // Allocate a new connection.
-                        Context context = getInstrumentation().getTargetContext();
+                        Context context = InstrumentationRegistry.getTargetContext();
                         ChildProcessCreationParams creationParams =
                                 getDefaultChildProcessCreationParams(packageName);
                         return (ChildProcessConnectionImpl) ChildProcessLauncher.allocateConnection(
@@ -644,7 +661,7 @@
      * Returns the number of Chrome's sandboxed connections.
      */
     private int allocatedChromeSandboxedConnectionsCount() {
-        Context context = getInstrumentation().getTargetContext();
+        Context context = InstrumentationRegistry.getInstrumentation().getTargetContext();
         return allocatedSandboxedConnectionsCountForTesting(context, context.getPackageName());
     }
 
diff --git a/content/public/android/javatests/src/org/chromium/content/browser/ContentViewCoreSelectionTest.java b/content/public/android/javatests/src/org/chromium/content/browser/ContentViewCoreSelectionTest.java
index 1082bf5c..7c19b9d6 100644
--- a/content/public/android/javatests/src/org/chromium/content/browser/ContentViewCoreSelectionTest.java
+++ b/content/public/android/javatests/src/org/chromium/content/browser/ContentViewCoreSelectionTest.java
@@ -11,23 +11,33 @@
 import android.support.test.filters.SmallTest;
 import android.text.TextUtils;
 
+import org.junit.Assert;
+import org.junit.Before;
+import org.junit.Rule;
+import org.junit.Test;
+import org.junit.runner.RunWith;
+
 import org.chromium.base.ThreadUtils;
 import org.chromium.base.test.util.DisabledTest;
 import org.chromium.base.test.util.Feature;
 import org.chromium.base.test.util.UrlUtils;
 import org.chromium.content.browser.input.ChromiumBaseInputConnection;
 import org.chromium.content.browser.input.ImeTestUtils;
+import org.chromium.content.browser.test.ContentJUnit4ClassRunner;
 import org.chromium.content.browser.test.util.Criteria;
 import org.chromium.content.browser.test.util.CriteriaHelper;
 import org.chromium.content.browser.test.util.DOMUtils;
-import org.chromium.content_shell_apk.ContentShellTestBase;
+import org.chromium.content_shell_apk.ContentShellActivityTestRule;
 
 import java.util.concurrent.Callable;
 
 /**
  * Integration tests for text selection-related behavior.
  */
-public class ContentViewCoreSelectionTest extends ContentShellTestBase {
+@RunWith(ContentJUnit4ClassRunner.class)
+public class ContentViewCoreSelectionTest {
+    @Rule
+    public ContentShellActivityTestRule mActivityTestRule = new ContentShellActivityTestRule();
     private static final String DATA_URL = UrlUtils.encodeHtmlDataUri(
             "<html><head><meta name=\"viewport\""
             + "content=\"width=device-width, initial-scale=1.1, maximum-scale=1.5\" /></head>"
@@ -44,19 +54,18 @@
     private ContentViewCore mContentViewCore;
     private SelectionPopupController mSelectionPopupController;
 
-    @Override
+    @Before
     public void setUp() throws Exception {
-        super.setUp();
+        mActivityTestRule.launchContentShellWithUrl(DATA_URL);
+        mActivityTestRule.waitForActiveShellToBeDoneLoading();
 
-        launchContentShellWithUrl(DATA_URL);
-        waitForActiveShellToBeDoneLoading();
-
-        mContentViewCore = getContentViewCore();
+        mContentViewCore = mActivityTestRule.getContentViewCore();
         mSelectionPopupController = mContentViewCore.getSelectionPopupControllerForTesting();
         waitForSelectActionBarVisible(false);
         waitForPastePopupStatus(false);
     }
 
+    @Test
     @SmallTest
     @Feature({"TextSelection"})
     @DisabledTest(message = "crbug.com/592428")
@@ -68,13 +77,14 @@
 
         requestFocusOnUiThread(false);
         waitForSelectActionBarVisible(false);
-        assertFalse(mSelectionPopupController.hasSelection());
+        Assert.assertFalse(mSelectionPopupController.hasSelection());
 
         requestFocusOnUiThread(true);
         waitForSelectActionBarVisible(false);
-        assertFalse(mSelectionPopupController.hasSelection());
+        Assert.assertFalse(mSelectionPopupController.hasSelection());
     }
 
+    @Test
     @SmallTest
     @Feature({"TextSelection"})
     @DisabledTest(message = "crbug.com/592428")
@@ -83,61 +93,64 @@
 
         DOMUtils.longPressNode(mContentViewCore, "textarea");
         waitForSelectActionBarVisible(true);
-        assertTrue(mSelectionPopupController.hasSelection());
+        Assert.assertTrue(mSelectionPopupController.hasSelection());
 
         mContentViewCore.preserveSelectionOnNextLossOfFocus();
         requestFocusOnUiThread(false);
         waitForSelectActionBarVisible(false);
-        assertTrue(mSelectionPopupController.hasSelection());
+        Assert.assertTrue(mSelectionPopupController.hasSelection());
 
         requestFocusOnUiThread(true);
         waitForSelectActionBarVisible(true);
-        assertTrue(mSelectionPopupController.hasSelection());
+        Assert.assertTrue(mSelectionPopupController.hasSelection());
 
         // Losing focus yet again should properly clear the selection.
         requestFocusOnUiThread(false);
         waitForSelectActionBarVisible(false);
-        assertFalse(mSelectionPopupController.hasSelection());
+        Assert.assertFalse(mSelectionPopupController.hasSelection());
     }
 
+    @Test
     @SmallTest
     @Feature({"TextSelection"})
     @DisabledTest(message = "crbug.com/592428")
     public void testSelectionPreservedAfterReshown() throws Throwable {
         DOMUtils.longPressNode(mContentViewCore, "textarea");
         waitForSelectActionBarVisible(true);
-        assertTrue(mSelectionPopupController.hasSelection());
+        Assert.assertTrue(mSelectionPopupController.hasSelection());
 
         setVisibileOnUiThread(false);
         waitForSelectActionBarVisible(false);
-        assertTrue(mSelectionPopupController.hasSelection());
+        Assert.assertTrue(mSelectionPopupController.hasSelection());
 
         setVisibileOnUiThread(true);
         waitForSelectActionBarVisible(true);
-        assertTrue(mSelectionPopupController.hasSelection());
+        Assert.assertTrue(mSelectionPopupController.hasSelection());
     }
 
+    @Test
     @SmallTest
     @Feature({"TextSelection"})
     @DisabledTest(message = "crbug.com/592428")
     public void testSelectionPreservedAfterReattached() throws Throwable {
         DOMUtils.longPressNode(mContentViewCore, "textarea");
         waitForSelectActionBarVisible(true);
-        assertTrue(mSelectionPopupController.hasSelection());
+        Assert.assertTrue(mSelectionPopupController.hasSelection());
 
         setAttachedOnUiThread(false);
         waitForSelectActionBarVisible(false);
-        assertTrue(mSelectionPopupController.hasSelection());
+        Assert.assertTrue(mSelectionPopupController.hasSelection());
 
         setAttachedOnUiThread(true);
         waitForSelectActionBarVisible(true);
-        assertTrue(mSelectionPopupController.hasSelection());
+        Assert.assertTrue(mSelectionPopupController.hasSelection());
     }
 
     /*
     @SmallTest
     @Feature({"TextInput"})
     */
+    @Test
     @DisabledTest(message = "https://crbug.com/592428")
     public void testPastePopupNotShownOnLongPressingNonEmptyInput() throws Throwable {
         copyStringToClipboard("SampleTextToCopy");
@@ -148,6 +161,7 @@
         waitForPastePopupStatus(false);
     }
 
+    @Test
     @SmallTest
     @Feature({"TextInput"})
     public void testPastePopupClearedOnTappingEmptyInput() throws Throwable {
@@ -158,6 +172,7 @@
         waitForPastePopupStatus(false);
     }
 
+    @Test
     @SmallTest
     @Feature({"TextInput"})
     public void testPastePopupClearedOnTappingNonEmptyInput() throws Throwable {
@@ -168,6 +183,7 @@
         waitForPastePopupStatus(false);
     }
 
+    @Test
     @SmallTest
     @Feature({"TextInput"})
     public void testPastePopupClearedOnTappingOutsideInput() throws Throwable {
@@ -178,6 +194,7 @@
         waitForPastePopupStatus(false);
     }
 
+    @Test
     @SmallTest
     @Feature({"TextInput"})
     public void testPastePopupClearedOnLongPressingOutsideInput() throws Throwable {
@@ -188,6 +205,7 @@
         waitForPastePopupStatus(false);
     }
 
+    @Test
     @SmallTest
     @Feature({"TextInput"})
     public void testPastePopupNotShownOnLongPressingDisabledInput() throws Throwable {
@@ -200,6 +218,7 @@
         waitForInsertion(false);
     }
 
+    @Test
     @SmallTest
     @Feature({"TextInput"})
     public void testPastePopupNoSelectAllEmptyInput() throws Throwable {
@@ -208,9 +227,10 @@
         DOMUtils.longPressNode(mContentViewCore, "empty_input_text");
         waitForPastePopupStatus(true);
         waitForInsertion(true);
-        assertFalse(mSelectionPopupController.canSelectAll());
+        Assert.assertFalse(mSelectionPopupController.canSelectAll());
     }
 
+    @Test
     @SmallTest
     @Feature({"TextInput"})
     public void testPastePopupCanSelectAllNonEmptyInput() throws Throwable {
@@ -219,13 +239,14 @@
         DOMUtils.longPressNode(mContentViewCore, "whitespace_input_text");
         waitForPastePopupStatus(true);
         waitForInsertion(true);
-        assertTrue(mSelectionPopupController.canSelectAll());
+        Assert.assertTrue(mSelectionPopupController.canSelectAll());
     }
 
     /*
     @SmallTest
     @Feature({"TextInput"})
     */
+    @Test
     @DisabledTest(message = "https://crbug.com/592428")
     public void testPastePopupDismissedOnDestroy() throws Throwable {
         copyStringToClipboard("SampleTextToCopy");
@@ -240,229 +261,245 @@
         waitForPastePopupStatus(false);
     }
 
+    @Test
     @SmallTest
     @Feature({"TextInput"})
     @DisabledTest(message = "crbug.com/592428")
     public void testActionBarConfiguredCorrectlyForInput() throws Throwable {
         DOMUtils.longPressNode(mContentViewCore, "input_text");
         waitForSelectActionBarVisible(true);
-        assertTrue(mSelectionPopupController.hasSelection());
-        assertTrue(mSelectionPopupController.isActionModeValid());
-        assertTrue(mSelectionPopupController.isSelectionEditable());
-        assertFalse(mSelectionPopupController.isSelectionPassword());
+        Assert.assertTrue(mSelectionPopupController.hasSelection());
+        Assert.assertTrue(mSelectionPopupController.isActionModeValid());
+        Assert.assertTrue(mSelectionPopupController.isSelectionEditable());
+        Assert.assertFalse(mSelectionPopupController.isSelectionPassword());
     }
 
+    @Test
     @SmallTest
     @Feature({"TextInput"})
     @DisabledTest(message = "crbug.com/592428")
     public void testActionBarConfiguredCorrectlyForPassword() throws Throwable {
         DOMUtils.longPressNode(mContentViewCore, "password");
         waitForSelectActionBarVisible(true);
-        assertTrue(mSelectionPopupController.hasSelection());
-        assertTrue(mSelectionPopupController.isActionModeValid());
-        assertTrue(mSelectionPopupController.isSelectionEditable());
-        assertTrue(mSelectionPopupController.isSelectionPassword());
+        Assert.assertTrue(mSelectionPopupController.hasSelection());
+        Assert.assertTrue(mSelectionPopupController.isActionModeValid());
+        Assert.assertTrue(mSelectionPopupController.isSelectionEditable());
+        Assert.assertTrue(mSelectionPopupController.isSelectionPassword());
     }
 
+    @Test
     @SmallTest
     @Feature({"TextInput"})
     @DisabledTest(message = "crbug.com/592428")
     public void testActionBarConfiguredCorrectlyForPlainText() throws Throwable {
         DOMUtils.longPressNode(mContentViewCore, "plain_text_1");
         waitForSelectActionBarVisible(true);
-        assertTrue(mSelectionPopupController.hasSelection());
-        assertTrue(mSelectionPopupController.isActionModeValid());
-        assertFalse(mSelectionPopupController.isSelectionEditable());
-        assertFalse(mSelectionPopupController.isSelectionPassword());
+        Assert.assertTrue(mSelectionPopupController.hasSelection());
+        Assert.assertTrue(mSelectionPopupController.isActionModeValid());
+        Assert.assertFalse(mSelectionPopupController.isSelectionEditable());
+        Assert.assertFalse(mSelectionPopupController.isSelectionPassword());
     }
 
+    @Test
     @SmallTest
     @Feature({"TextInput"})
     @DisabledTest(message = "crbug.com/592428")
     public void testActionBarConfiguredCorrectlyForTextArea() throws Throwable {
         DOMUtils.longPressNode(mContentViewCore, "textarea");
         waitForSelectActionBarVisible(true);
-        assertTrue(mSelectionPopupController.hasSelection());
-        assertTrue(mSelectionPopupController.isActionModeValid());
-        assertTrue(mSelectionPopupController.isSelectionEditable());
-        assertFalse(mSelectionPopupController.isSelectionPassword());
+        Assert.assertTrue(mSelectionPopupController.hasSelection());
+        Assert.assertTrue(mSelectionPopupController.isActionModeValid());
+        Assert.assertTrue(mSelectionPopupController.isSelectionEditable());
+        Assert.assertFalse(mSelectionPopupController.isSelectionPassword());
     }
 
+    @Test
     @SmallTest
     @Feature({"TextInput"})
     @DisabledTest(message = "crbug.com/592428")
     public void testSelectActionBarPlainTextCopy() throws Exception {
         DOMUtils.longPressNode(mContentViewCore, "plain_text_1");
         waitForSelectActionBarVisible(true);
-        assertTrue(mSelectionPopupController.hasSelection());
-        assertTrue(mSelectionPopupController.isActionModeValid());
+        Assert.assertTrue(mSelectionPopupController.hasSelection());
+        Assert.assertTrue(mSelectionPopupController.isActionModeValid());
         selectActionBarCopy();
         waitForClipboardContents(mContentViewCore.getContext(), "SamplePlainTextOne");
     }
 
+    @Test
     @SmallTest
     @Feature({"TextInput"})
     @DisabledTest(message = "crbug.com/592428")
     public void testSelectActionBarInputCopy() throws Exception {
         DOMUtils.longPressNode(mContentViewCore, "input_text");
         waitForSelectActionBarVisible(true);
-        assertTrue(mSelectionPopupController.hasSelection());
-        assertTrue(mSelectionPopupController.isActionModeValid());
+        Assert.assertTrue(mSelectionPopupController.hasSelection());
+        Assert.assertTrue(mSelectionPopupController.isActionModeValid());
         selectActionBarCopy();
         waitForClipboardContents(mContentViewCore.getContext(), "SampleInputText");
     }
 
+    @Test
     @SmallTest
     @Feature({"TextInput"})
     @DisabledTest(message = "crbug.com/592428")
     public void testSelectActionBarPasswordCopy() throws Exception {
         DOMUtils.longPressNode(mContentViewCore, "plain_text_1");
         waitForSelectActionBarVisible(true);
-        assertTrue(mSelectionPopupController.hasSelection());
-        assertTrue(mSelectionPopupController.isActionModeValid());
+        Assert.assertTrue(mSelectionPopupController.hasSelection());
+        Assert.assertTrue(mSelectionPopupController.isActionModeValid());
         selectActionBarCopy();
         waitForClipboardContents(mContentViewCore.getContext(), "SamplePlainTextOne");
         DOMUtils.longPressNode(mContentViewCore, "password");
         waitForSelectActionBarVisible(true);
-        assertTrue(mSelectionPopupController.hasSelection());
-        assertTrue(mSelectionPopupController.isActionModeValid());
+        Assert.assertTrue(mSelectionPopupController.hasSelection());
+        Assert.assertTrue(mSelectionPopupController.isActionModeValid());
         selectActionBarCopy();
         // Copy option won't be there for Password, hence no change in Clipboard
         // Validating with previous Clipboard content
         waitForClipboardContents(mContentViewCore.getContext(), "SamplePlainTextOne");
     }
 
+    @Test
     @SmallTest
     @Feature({"TextInput"})
     @DisabledTest(message = "crbug.com/592428")
     public void testSelectActionBarTextAreaCopy() throws Exception {
         DOMUtils.longPressNode(mContentViewCore, "textarea");
         waitForSelectActionBarVisible(true);
-        assertTrue(mSelectionPopupController.hasSelection());
-        assertTrue(mSelectionPopupController.isActionModeValid());
+        Assert.assertTrue(mSelectionPopupController.hasSelection());
+        Assert.assertTrue(mSelectionPopupController.isActionModeValid());
         selectActionBarCopy();
         waitForClipboardContents(mContentViewCore.getContext(), "SampleTextArea");
     }
 
+    @Test
     @SmallTest
     @Feature({"TextSelection"})
     @DisabledTest(message = "crbug.com/592428")
-    public void testSelectActionBarPlainTextCut() throws Exception {
+    public void testSelectActionBarPlainTextCut() throws Throwable {
         copyStringToClipboard("SampleTextToCopy");
         DOMUtils.longPressNode(mContentViewCore, "plain_text_1");
         waitForSelectActionBarVisible(true);
-        assertTrue(mSelectionPopupController.hasSelection());
-        assertEquals(mSelectionPopupController.getSelectedText(), "SamplePlainTextOne");
-        assertTrue(mSelectionPopupController.isActionModeValid());
+        Assert.assertTrue(mSelectionPopupController.hasSelection());
+        Assert.assertEquals(mSelectionPopupController.getSelectedText(), "SamplePlainTextOne");
+        Assert.assertTrue(mSelectionPopupController.isActionModeValid());
         selectActionBarCut();
         waitForSelectActionBarVisible(true);
-        assertTrue(mSelectionPopupController.hasSelection());
+        Assert.assertTrue(mSelectionPopupController.hasSelection());
         // Cut option won't be available for plain text.
         // Hence validating previous Clipboard content.
         waitForClipboardContents(mContentViewCore.getContext(), "SampleTextToCopy");
     }
 
+    @Test
     @SmallTest
     @Feature({"TextInput"})
     @DisabledTest(message = "crbug.com/592428")
     public void testSelectActionBarInputCut() throws Exception {
         DOMUtils.longPressNode(mContentViewCore, "input_text");
         waitForSelectActionBarVisible(true);
-        assertTrue(mSelectionPopupController.hasSelection());
-        assertEquals(mSelectionPopupController.getSelectedText(), "SampleInputText");
-        assertTrue(mSelectionPopupController.isActionModeValid());
+        Assert.assertTrue(mSelectionPopupController.hasSelection());
+        Assert.assertEquals(mSelectionPopupController.getSelectedText(), "SampleInputText");
+        Assert.assertTrue(mSelectionPopupController.isActionModeValid());
         selectActionBarCut();
         waitForSelectActionBarVisible(false);
-        assertFalse(mSelectionPopupController.hasSelection());
+        Assert.assertFalse(mSelectionPopupController.hasSelection());
         waitForClipboardContents(mContentViewCore.getContext(), "SampleInputText");
-        assertEquals(mSelectionPopupController.getSelectedText(), "");
+        Assert.assertEquals(mSelectionPopupController.getSelectedText(), "");
     }
 
+    @Test
     @SmallTest
     @Feature({"TextInput"})
     @DisabledTest(message = "crbug.com/592428")
-    public void testSelectActionBarPasswordCut() throws Exception {
+    public void testSelectActionBarPasswordCut() throws Throwable {
         copyStringToClipboard("SampleTextToCopy");
         DOMUtils.longPressNode(mContentViewCore, "password");
         waitForSelectActionBarVisible(true);
-        assertTrue(mSelectionPopupController.hasSelection());
-        assertTrue(mSelectionPopupController.isActionModeValid());
+        Assert.assertTrue(mSelectionPopupController.hasSelection());
+        Assert.assertTrue(mSelectionPopupController.isActionModeValid());
         selectActionBarCut();
         waitForSelectActionBarVisible(true);
-        assertTrue(mSelectionPopupController.hasSelection());
+        Assert.assertTrue(mSelectionPopupController.hasSelection());
         // Cut option won't be there for Password, hence no change in Clipboard
         // Validating with previous Clipboard content
         waitForClipboardContents(mContentViewCore.getContext(), "SampleTextToCopy");
     }
 
+    @Test
     @SmallTest
     @Feature({"TextInput"})
     @DisabledTest(message = "crbug.com/592428")
     public void testSelectActionBarTextAreaCut() throws Exception {
         DOMUtils.longPressNode(mContentViewCore, "textarea");
         waitForSelectActionBarVisible(true);
-        assertTrue(mSelectionPopupController.hasSelection());
-        assertEquals(mSelectionPopupController.getSelectedText(), "SampleTextArea");
-        assertTrue(mSelectionPopupController.isActionModeValid());
+        Assert.assertTrue(mSelectionPopupController.hasSelection());
+        Assert.assertEquals(mSelectionPopupController.getSelectedText(), "SampleTextArea");
+        Assert.assertTrue(mSelectionPopupController.isActionModeValid());
         selectActionBarCut();
         waitForSelectActionBarVisible(false);
-        assertFalse(mSelectionPopupController.hasSelection());
+        Assert.assertFalse(mSelectionPopupController.hasSelection());
         waitForClipboardContents(mContentViewCore.getContext(), "SampleTextArea");
-        assertEquals(mSelectionPopupController.getSelectedText(), "");
+        Assert.assertEquals(mSelectionPopupController.getSelectedText(), "");
     }
 
+    @Test
     @SmallTest
     @Feature({"TextSelection"})
     @DisabledTest(message = "crbug.com/592428")
     public void testSelectActionBarPlainTextSelectAll() throws Exception {
         DOMUtils.longPressNode(mContentViewCore, "plain_text_1");
         waitForSelectActionBarVisible(true);
-        assertTrue(mSelectionPopupController.hasSelection());
-        assertTrue(mSelectionPopupController.isActionModeValid());
+        Assert.assertTrue(mSelectionPopupController.hasSelection());
+        Assert.assertTrue(mSelectionPopupController.isActionModeValid());
         selectActionBarSelectAll();
-        assertTrue(mSelectionPopupController.hasSelection());
+        Assert.assertTrue(mSelectionPopupController.hasSelection());
         waitForSelectActionBarVisible(true);
     }
 
+    @Test
     @SmallTest
     @Feature({"TextInput"})
     @DisabledTest(message = "crbug.com/592428")
     public void testSelectActionBarInputSelectAll() throws Exception {
         DOMUtils.longPressNode(mContentViewCore, "input_text");
         waitForSelectActionBarVisible(true);
-        assertTrue(mSelectionPopupController.hasSelection());
-        assertTrue(mSelectionPopupController.isActionModeValid());
+        Assert.assertTrue(mSelectionPopupController.hasSelection());
+        Assert.assertTrue(mSelectionPopupController.isActionModeValid());
         selectActionBarSelectAll();
-        assertTrue(mSelectionPopupController.hasSelection());
+        Assert.assertTrue(mSelectionPopupController.hasSelection());
         waitForSelectActionBarVisible(true);
-        assertEquals(mSelectionPopupController.getSelectedText(), "SampleInputText");
+        Assert.assertEquals(mSelectionPopupController.getSelectedText(), "SampleInputText");
     }
 
+    @Test
     @SmallTest
     @Feature({"TextInput"})
     @DisabledTest(message = "crbug.com/592428")
     public void testSelectActionBarPasswordSelectAll() throws Exception {
         DOMUtils.longPressNode(mContentViewCore, "password");
         waitForSelectActionBarVisible(true);
-        assertTrue(mSelectionPopupController.hasSelection());
-        assertTrue(mSelectionPopupController.isActionModeValid());
+        Assert.assertTrue(mSelectionPopupController.hasSelection());
+        Assert.assertTrue(mSelectionPopupController.isActionModeValid());
         selectActionBarSelectAll();
-        assertTrue(mSelectionPopupController.hasSelection());
+        Assert.assertTrue(mSelectionPopupController.hasSelection());
         waitForSelectActionBarVisible(true);
     }
 
+    @Test
     @SmallTest
     @Feature({"TextInput"})
     @DisabledTest(message = "crbug.com/592428")
     public void testSelectActionBarTextAreaSelectAll() throws Exception {
         DOMUtils.longPressNode(mContentViewCore, "textarea");
         waitForSelectActionBarVisible(true);
-        assertTrue(mSelectionPopupController.hasSelection());
-        assertTrue(mSelectionPopupController.isActionModeValid());
+        Assert.assertTrue(mSelectionPopupController.hasSelection());
+        Assert.assertTrue(mSelectionPopupController.isActionModeValid());
         selectActionBarSelectAll();
-        assertTrue(mSelectionPopupController.hasSelection());
+        Assert.assertTrue(mSelectionPopupController.hasSelection());
         waitForSelectActionBarVisible(true);
-        assertEquals(mSelectionPopupController.getSelectedText(), "SampleTextArea");
+        Assert.assertEquals(mSelectionPopupController.getSelectedText(), "SampleTextArea");
     }
 
     private CharSequence getTextBeforeCursor(final int length, final int flags) {
@@ -481,16 +518,17 @@
      * @SmallTest
      * @Feature({"TextSelection", "TextInput"})
      */
+    @Test
     @DisabledTest(message = "http://crbug.com/606942")
     public void testCursorPositionAfterHidingActionMode() throws Exception {
         DOMUtils.longPressNode(mContentViewCore, "textarea");
         waitForSelectActionBarVisible(true);
-        assertTrue(mSelectionPopupController.hasSelection());
-        assertTrue(mSelectionPopupController.isActionModeValid());
+        Assert.assertTrue(mSelectionPopupController.hasSelection());
+        Assert.assertTrue(mSelectionPopupController.isActionModeValid());
         selectActionBarSelectAll();
-        assertTrue(mSelectionPopupController.hasSelection());
+        Assert.assertTrue(mSelectionPopupController.hasSelection());
         waitForSelectActionBarVisible(true);
-        assertEquals(mSelectionPopupController.getSelectedText(), "SampleTextArea");
+        Assert.assertEquals(mSelectionPopupController.getSelectedText(), "SampleTextArea");
         hideSelectActionMode();
         waitForSelectActionBarVisible(false);
         CriteriaHelper.pollInstrumentationThread(
@@ -502,113 +540,118 @@
                 }));
     }
 
+    @Test
     @SmallTest
     @Feature({"TextSelection"})
     @DisabledTest(message = "crbug.com/592428")
-    public void testSelectActionBarPlainTextPaste() throws Exception {
+    public void testSelectActionBarPlainTextPaste() throws Throwable {
         copyStringToClipboard("SampleTextToCopy");
         DOMUtils.longPressNode(mContentViewCore, "plain_text_1");
         waitForSelectActionBarVisible(true);
-        assertTrue(mSelectionPopupController.hasSelection());
-        assertTrue(mSelectionPopupController.isActionModeValid());
+        Assert.assertTrue(mSelectionPopupController.hasSelection());
+        Assert.assertTrue(mSelectionPopupController.isActionModeValid());
         selectActionBarPaste();
         DOMUtils.longPressNode(mContentViewCore, "plain_text_1");
         waitForSelectActionBarVisible(true);
-        assertTrue(mSelectionPopupController.hasSelection());
+        Assert.assertTrue(mSelectionPopupController.hasSelection());
         // Paste option won't be available for plain text.
         // Hence content won't be changed.
-        assertNotSame(mSelectionPopupController.getSelectedText(), "SampleTextToCopy");
+        Assert.assertNotSame(mSelectionPopupController.getSelectedText(), "SampleTextToCopy");
     }
 
+    @Test
     @SmallTest
     @Feature({"TextInput"})
     @DisabledTest(message = "crbug.com/592428")
-    public void testSelectActionBarInputPaste() throws Exception {
+    public void testSelectActionBarInputPaste() throws Throwable {
         copyStringToClipboard("SampleTextToCopy");
 
         // Select the input field.
         DOMUtils.longPressNode(mContentViewCore, "input_text");
         waitForSelectActionBarVisible(true);
-        assertTrue(mSelectionPopupController.hasSelection());
+        Assert.assertTrue(mSelectionPopupController.hasSelection());
 
         // Paste into the input field.
-        assertTrue(mSelectionPopupController.isActionModeValid());
+        Assert.assertTrue(mSelectionPopupController.isActionModeValid());
         selectActionBarPaste();
         waitForSelectActionBarVisible(false);
-        assertFalse(mSelectionPopupController.hasSelection());
+        Assert.assertFalse(mSelectionPopupController.hasSelection());
 
         // Ensure the new text matches the pasted text.
         DOMUtils.longPressNode(mContentViewCore, "input_text");
         waitForSelectActionBarVisible(true);
-        assertTrue(mSelectionPopupController.hasSelection());
-        assertEquals("SampleTextToCopy", mSelectionPopupController.getSelectedText());
+        Assert.assertTrue(mSelectionPopupController.hasSelection());
+        Assert.assertEquals("SampleTextToCopy", mSelectionPopupController.getSelectedText());
     }
 
     /*
     @SmallTest
     @Feature({"TextInput"})
     */
+    @Test
     @DisabledTest(message = "https://crbug.com/592428")
-    public void testSelectActionBarPasswordPaste() throws Exception {
+    public void testSelectActionBarPasswordPaste() throws Throwable {
         copyStringToClipboard("SamplePassword2");
 
         // Select the password field.
         DOMUtils.longPressNode(mContentViewCore, "password");
         waitForSelectActionBarVisible(true);
-        assertTrue(mSelectionPopupController.hasSelection());
-        assertEquals(mSelectionPopupController.getSelectedText().length(),
-                "SamplePassword".length());
+        Assert.assertTrue(mSelectionPopupController.hasSelection());
+        Assert.assertEquals(
+                mSelectionPopupController.getSelectedText().length(), "SamplePassword".length());
 
         // Paste "SamplePassword2" into the password field, replacing
         // "SamplePassword".
-        assertTrue(mSelectionPopupController.isActionModeValid());
+        Assert.assertTrue(mSelectionPopupController.isActionModeValid());
         selectActionBarPaste();
         waitForSelectActionBarVisible(false);
-        assertFalse(mSelectionPopupController.hasSelection());
+        Assert.assertFalse(mSelectionPopupController.hasSelection());
 
         // Ensure the new text matches the pasted text. Note that we can't
         // actually compare strings as password field selections only provide
         // a placeholder with the correct length.
         DOMUtils.longPressNode(mContentViewCore, "password");
         waitForSelectActionBarVisible(true);
-        assertTrue(mSelectionPopupController.hasSelection());
-        assertEquals(mSelectionPopupController.getSelectedText().length(),
-                "SamplePassword2".length());
+        Assert.assertTrue(mSelectionPopupController.hasSelection());
+        Assert.assertEquals(
+                mSelectionPopupController.getSelectedText().length(), "SamplePassword2".length());
     }
 
+    @Test
     @SmallTest
     @Feature({"TextInput"})
     @DisabledTest(message = "crbug.com/592428")
-    public void testSelectActionBarTextAreaPaste() throws Exception {
+    public void testSelectActionBarTextAreaPaste() throws Throwable {
         copyStringToClipboard("SampleTextToCopy");
         DOMUtils.longPressNode(mContentViewCore, "textarea");
         waitForSelectActionBarVisible(true);
-        assertTrue(mSelectionPopupController.hasSelection());
-        assertTrue(mSelectionPopupController.isActionModeValid());
+        Assert.assertTrue(mSelectionPopupController.hasSelection());
+        Assert.assertTrue(mSelectionPopupController.isActionModeValid());
         selectActionBarPaste();
         DOMUtils.clickNode(mContentViewCore, "plain_text_1");
         DOMUtils.longPressNode(mContentViewCore, "textarea");
         waitForSelectActionBarVisible(true);
-        assertTrue(mSelectionPopupController.hasSelection());
-        assertEquals(mSelectionPopupController.getSelectedText(), "SampleTextToCopy");
+        Assert.assertTrue(mSelectionPopupController.hasSelection());
+        Assert.assertEquals(mSelectionPopupController.getSelectedText(), "SampleTextToCopy");
     }
 
+    @Test
     @SmallTest
     @Feature({"TextInput"})
     @DisabledTest(message = "crbug.com/592428")
     public void testSelectActionBarSearchAndShareLaunchesNewTask() throws Exception {
         DOMUtils.longPressNode(mContentViewCore, "textarea");
         waitForSelectActionBarVisible(true);
-        assertTrue(mSelectionPopupController.hasSelection());
-        assertTrue(mSelectionPopupController.isActionModeValid());
+        Assert.assertTrue(mSelectionPopupController.hasSelection());
+        Assert.assertTrue(mSelectionPopupController.isActionModeValid());
         selectActionBarSearch();
-        Intent i = getActivity().getLastSentIntent();
+        Intent i = mActivityTestRule.getActivity().getLastSentIntent();
         int new_task_flag = Intent.FLAG_ACTIVITY_NEW_TASK;
-        assertEquals(i.getFlags() & new_task_flag, new_task_flag);
+        Assert.assertEquals(i.getFlags() & new_task_flag, new_task_flag);
 
         selectActionBarShare();
-        i = getActivity().getLastSentIntent();
-        assertEquals(i.getFlags() & new_task_flag, new_task_flag);
+        i = mActivityTestRule.getActivity().getLastSentIntent();
+        Assert.assertEquals(i.getFlags() & new_task_flag, new_task_flag);
     }
 
     private void selectActionBarPaste() {
@@ -734,12 +777,17 @@
         });
     }
 
-    private void copyStringToClipboard(String string) {
-        ClipboardManager clipboardManager =
-                (ClipboardManager) getActivity().getSystemService(
-                        Context.CLIPBOARD_SERVICE);
-        ClipData clip = ClipData.newPlainText("test", string);
-        clipboardManager.setPrimaryClip(clip);
+    private void copyStringToClipboard(final String string) throws Throwable {
+        mActivityTestRule.runOnUiThread(new Runnable() {
+            @Override
+            public void run() {
+                ClipboardManager clipboardManager =
+                        (ClipboardManager) mActivityTestRule.getActivity().getSystemService(
+                                Context.CLIPBOARD_SERVICE);
+                ClipData clip = ClipData.newPlainText("test", string);
+                clipboardManager.setPrimaryClip(clip);
+            }
+        });
     }
 
     private void waitForPastePopupStatus(final boolean show) {
diff --git a/content/public/android/javatests/src/org/chromium/content/browser/JavaBridgeActivityTestRule.java b/content/public/android/javatests/src/org/chromium/content/browser/JavaBridgeActivityTestRule.java
index ba3d5cf..4576cf03 100644
--- a/content/public/android/javatests/src/org/chromium/content/browser/JavaBridgeActivityTestRule.java
+++ b/content/public/android/javatests/src/org/chromium/content/browser/JavaBridgeActivityTestRule.java
@@ -7,6 +7,8 @@
 import org.junit.runner.Description;
 import org.junit.runners.model.Statement;
 
+import org.chromium.base.test.SetUpStatement;
+import org.chromium.base.test.SetUpTestRule;
 import org.chromium.content.browser.test.util.TestCallbackHelperContainer;
 import org.chromium.content_shell_apk.ContentShellActivity;
 import org.chromium.content_shell_apk.ContentShellActivityTestRule;
@@ -18,8 +20,10 @@
  * ActivityTestRule with common functionality for testing the Java Bridge.
  */
 public class JavaBridgeActivityTestRule
-        extends ContentShellActivityTestRule implements TestCommonCallback<ContentShellActivity> {
+        extends ContentShellActivityTestRule implements TestCommonCallback<ContentShellActivity>,
+                                                        SetUpTestRule<JavaBridgeActivityTestRule> {
     private JavaBridgeTestCommon mTestCommon;
+    private boolean mSetup = false;
 
     public JavaBridgeActivityTestRule() {
         super();
@@ -29,7 +33,7 @@
     /**
      * Sets up the ContentView. Intended to be called from setUp().
      */
-    private void setUpContentView() {
+    public void setUpContentView() {
         mTestCommon.setUpContentView();
     }
 
@@ -61,13 +65,19 @@
     }
 
     @Override
-    public Statement apply(final Statement base, Description desc) {
-        return super.apply(new Statement() {
-            @Override
-            public void evaluate() throws Throwable {
-                setUpContentView();
-                base.evaluate();
-            }
-        }, desc);
+    public Statement apply(Statement base, Description desc) {
+        SetUpStatement setUpBase = new SetUpStatement(base, this, mSetup);
+        return super.apply(setUpBase, desc);
+    }
+
+    @Override
+    public JavaBridgeActivityTestRule shouldSetUp(boolean runSetUp) {
+        mSetup = runSetUp;
+        return this;
+    }
+
+    @Override
+    public void setUp() {
+        setUpContentView();
     }
 }
diff --git a/content/public/android/javatests/src/org/chromium/content/browser/JavaBridgeArrayCoercionTest.java b/content/public/android/javatests/src/org/chromium/content/browser/JavaBridgeArrayCoercionTest.java
index 387c35f..ee67e07 100644
--- a/content/public/android/javatests/src/org/chromium/content/browser/JavaBridgeArrayCoercionTest.java
+++ b/content/public/android/javatests/src/org/chromium/content/browser/JavaBridgeArrayCoercionTest.java
@@ -33,7 +33,8 @@
     private static final double ASSERTION_DELTA = 0;
 
     @Rule
-    public JavaBridgeActivityTestRule mActivityTestRule = new JavaBridgeActivityTestRule();
+    public JavaBridgeActivityTestRule mActivityTestRule =
+            new JavaBridgeActivityTestRule().shouldSetUp(true);
 
     @SuppressFBWarnings("CHROMIUM_SYNCHRONIZED_METHOD")
     private static class TestObject extends Controller {
diff --git a/content/public/android/javatests/src/org/chromium/content/browser/JavaBridgeArrayTest.java b/content/public/android/javatests/src/org/chromium/content/browser/JavaBridgeArrayTest.java
index f4001b8..4c3963e 100644
--- a/content/public/android/javatests/src/org/chromium/content/browser/JavaBridgeArrayTest.java
+++ b/content/public/android/javatests/src/org/chromium/content/browser/JavaBridgeArrayTest.java
@@ -30,7 +30,8 @@
 @RunWith(BaseJUnit4ClassRunner.class)
 public class JavaBridgeArrayTest {
     @Rule
-    public JavaBridgeActivityTestRule mActivityTestRule = new JavaBridgeActivityTestRule();
+    public JavaBridgeActivityTestRule mActivityTestRule =
+            new JavaBridgeActivityTestRule().shouldSetUp(true);
 
     @SuppressFBWarnings("CHROMIUM_SYNCHRONIZED_METHOD")
     private static class TestObject extends Controller {
diff --git a/content/public/android/javatests/src/org/chromium/content/browser/JavaBridgeBasicsTest.java b/content/public/android/javatests/src/org/chromium/content/browser/JavaBridgeBasicsTest.java
index 1ea2e88..2bb4e89 100644
--- a/content/public/android/javatests/src/org/chromium/content/browser/JavaBridgeBasicsTest.java
+++ b/content/public/android/javatests/src/org/chromium/content/browser/JavaBridgeBasicsTest.java
@@ -6,14 +6,20 @@
 
 import static org.chromium.base.test.util.ScalableTimeout.scaleTimeout;
 
+import android.support.test.InstrumentationRegistry;
 import android.support.test.filters.SmallTest;
 
-import junit.framework.Assert;
+import org.junit.Assert;
+import org.junit.Before;
+import org.junit.Rule;
+import org.junit.Test;
+import org.junit.runner.RunWith;
 
 import org.chromium.base.annotations.SuppressFBWarnings;
 import org.chromium.base.test.util.CommandLineFlags;
 import org.chromium.base.test.util.Feature;
 import org.chromium.content.browser.JavaBridgeTestCommon.Controller;
+import org.chromium.content.browser.test.ContentJUnit4ClassRunner;
 import org.chromium.content.browser.test.util.TestCallbackHelperContainer;
 import org.chromium.content_public.browser.LoadUrlParams;
 
@@ -36,9 +42,14 @@
  * - Threading
  * - Inheritance
  */
+@RunWith(ContentJUnit4ClassRunner.class)
 @SuppressFBWarnings(
         {"UMAC_UNCALLABLE_METHOD_OF_ANONYMOUS_CLASS", "URF_UNREAD_PUBLIC_OR_PROTECTED_FIELD"})
-public class JavaBridgeBasicsTest extends JavaBridgeTestBase {
+public class JavaBridgeBasicsTest {
+    @Rule
+    public JavaBridgeActivityTestRule mActivityTestRule =
+            new JavaBridgeActivityTestRule().shouldSetUp(false);
+
     @SuppressFBWarnings("CHROMIUM_SYNCHRONIZED_METHOD")
     private static class TestController extends Controller {
         private int mIntValue;
@@ -93,23 +104,22 @@
 
     TestController mTestController;
 
-    @Override
-    protected void setUp() throws Exception {
-        super.setUp();
+    @Before
+    public void setUp() throws Exception {
+        mActivityTestRule.setUpContentView();
         mTestController = new TestController();
-        injectObjectAndReload(mTestController, "testController");
+        mActivityTestRule.injectObjectAndReload(mTestController, "testController");
     }
 
     // Note that this requires that we can pass a JavaScript string to Java.
     protected String executeJavaScriptAndGetStringResult(String script) throws Throwable {
-        executeJavaScript("testController.setStringValue(" + script + ");");
+        mActivityTestRule.executeJavaScript("testController.setStringValue(" + script + ");");
         return mTestController.waitForStringValue();
     }
 
     // Note that this requires that we can pass a JavaScript boolean to Java.
     private void executeAndSetIfException(String script) throws Throwable {
-        executeJavaScript("try {"
-                + script + ";"
+        mActivityTestRule.executeJavaScript("try {" + script + ";"
                 + "  testController.setBooleanValue(false);"
                 + "} catch (exception) {"
                 + "  testController.setBooleanValue(true);"
@@ -118,104 +128,116 @@
 
     private void assertRaisesException(String script) throws Throwable {
         executeAndSetIfException(script);
-        assertTrue(mTestController.waitForBooleanValue());
+        Assert.assertTrue(mTestController.waitForBooleanValue());
     }
 
     private void assertNoRaisedException(String script) throws Throwable {
         executeAndSetIfException(script);
-        assertFalse(mTestController.waitForBooleanValue());
+        Assert.assertFalse(mTestController.waitForBooleanValue());
     }
 
+    @Test
     @SmallTest
     @Feature({"AndroidWebView", "Android-JavaBridge"})
     public void testTypeOfInjectedObject() throws Throwable {
-        assertEquals("object", executeJavaScriptAndGetStringResult("typeof testController"));
+        Assert.assertEquals("object", executeJavaScriptAndGetStringResult("typeof testController"));
     }
 
+    @Test
     @SmallTest
     @Feature({"AndroidWebView", "Android-JavaBridge"})
     public void testAdditionNotReflectedUntilReload() throws Throwable {
-        assertEquals("undefined", executeJavaScriptAndGetStringResult("typeof testObject"));
-        runTestOnUiThread(new Runnable() {
+        Assert.assertEquals("undefined", executeJavaScriptAndGetStringResult("typeof testObject"));
+        InstrumentationRegistry.getInstrumentation().runOnMainSync(new Runnable() {
             @Override
             public void run() {
-                getContentViewCore().addPossiblyUnsafeJavascriptInterface(
+                mActivityTestRule.getContentViewCore().addPossiblyUnsafeJavascriptInterface(
                         new Object(), "testObject", null);
             }
         });
-        assertEquals("undefined", executeJavaScriptAndGetStringResult("typeof testObject"));
-        synchronousPageReload();
-        assertEquals("object", executeJavaScriptAndGetStringResult("typeof testObject"));
+        Assert.assertEquals("undefined", executeJavaScriptAndGetStringResult("typeof testObject"));
+        mActivityTestRule.synchronousPageReload();
+        Assert.assertEquals("object", executeJavaScriptAndGetStringResult("typeof testObject"));
     }
 
+    @Test
     @SmallTest
     @Feature({"AndroidWebView", "Android-JavaBridge"})
     public void testRemovalNotReflectedUntilReload() throws Throwable {
-        injectObjectAndReload(new Object() {
+        mActivityTestRule.injectObjectAndReload(new Object() {
             public void method() {
                 mTestController.setStringValue("I'm here");
             }
         }, "testObject");
-        assertEquals("object", executeJavaScriptAndGetStringResult("typeof testObject"));
-        executeJavaScript("testObject.method()");
-        assertEquals("I'm here", mTestController.waitForStringValue());
-        runTestOnUiThread(new Runnable() {
+        Assert.assertEquals("object", executeJavaScriptAndGetStringResult("typeof testObject"));
+        mActivityTestRule.executeJavaScript("testObject.method()");
+        Assert.assertEquals("I'm here", mTestController.waitForStringValue());
+        InstrumentationRegistry.getInstrumentation().runOnMainSync(new Runnable() {
             @Override
             public void run() {
-                getContentViewCore().removeJavascriptInterface("testObject");
+                mActivityTestRule.getContentViewCore().removeJavascriptInterface("testObject");
             }
         });
         // Check that the Java object is being held by the Java bridge, thus it's not
         // collected. Note that despite that what JavaDoc says about invoking "gc()", both Dalvik
         // and ART actually run the collector if called via Runtime.
         Runtime.getRuntime().gc();
-        assertEquals("object", executeJavaScriptAndGetStringResult("typeof testObject"));
-        executeJavaScript("testObject.method()");
-        assertEquals("I'm here", mTestController.waitForStringValue());
-        synchronousPageReload();
-        assertEquals("undefined", executeJavaScriptAndGetStringResult("typeof testObject"));
+        Assert.assertEquals("object", executeJavaScriptAndGetStringResult("typeof testObject"));
+        mActivityTestRule.executeJavaScript("testObject.method()");
+        Assert.assertEquals("I'm here", mTestController.waitForStringValue());
+        mActivityTestRule.synchronousPageReload();
+        Assert.assertEquals("undefined", executeJavaScriptAndGetStringResult("typeof testObject"));
     }
 
+    @Test
     @SmallTest
     @Feature({"AndroidWebView", "Android-JavaBridge"})
     public void testRemoveObjectNotAdded() throws Throwable {
         TestCallbackHelperContainer.OnPageFinishedHelper onPageFinishedHelper =
-                getTestCallBackHelperContainer().getOnPageFinishedHelper();
+                mActivityTestRule.getTestCallBackHelperContainer().getOnPageFinishedHelper();
         int currentCallCount = onPageFinishedHelper.getCallCount();
-        runTestOnUiThread(new Runnable() {
+        InstrumentationRegistry.getInstrumentation().runOnMainSync(new Runnable() {
             @Override
             public void run() {
-                getContentViewCore().removeJavascriptInterface("foo");
-                getContentViewCore().getWebContents().getNavigationController().reload(true);
+                mActivityTestRule.getContentViewCore().removeJavascriptInterface("foo");
+                mActivityTestRule.getContentViewCore()
+                        .getWebContents()
+                        .getNavigationController()
+                        .reload(true);
             }
         });
         onPageFinishedHelper.waitForCallback(currentCallCount);
-        assertEquals("undefined", executeJavaScriptAndGetStringResult("typeof foo"));
+        Assert.assertEquals("undefined", executeJavaScriptAndGetStringResult("typeof foo"));
     }
 
+    @Test
     @SmallTest
     @Feature({"AndroidWebView", "Android-JavaBridge"})
     public void testTypeOfMethod() throws Throwable {
-        assertEquals("function",
+        Assert.assertEquals("function",
                 executeJavaScriptAndGetStringResult("typeof testController.setStringValue"));
     }
 
+    @Test
     @SmallTest
     @Feature({"AndroidWebView", "Android-JavaBridge"})
     public void testTypeOfInvalidMethod() throws Throwable {
-        assertEquals("undefined", executeJavaScriptAndGetStringResult("typeof testController.foo"));
+        Assert.assertEquals(
+                "undefined", executeJavaScriptAndGetStringResult("typeof testController.foo"));
     }
 
+    @Test
     @SmallTest
     @Feature({"AndroidWebView", "Android-JavaBridge"})
     public void testCallingInvalidMethodRaisesException() throws Throwable {
         assertRaisesException("testController.foo()");
     }
 
+    @Test
     @SmallTest
     @Feature({"AndroidWebView", "Android-JavaBridge"})
     public void testUncaughtJavaExceptionRaisesJavaScriptException() throws Throwable {
-        injectObjectAndReload(new Object() {
+        mActivityTestRule.injectObjectAndReload(new Object() {
             public void method() {
                 throw new RuntimeException("foo");
             }
@@ -223,100 +245,112 @@
         assertRaisesException("testObject.method()");
     }
 
+    @Test
     @SmallTest
     @Feature({"AndroidWebView", "Android-JavaBridge"})
     public void testCallingAsConstructorRaisesException() throws Throwable {
         assertRaisesException("new testController.setStringValue('foo')");
     }
 
+    @Test
     @SmallTest
     @Feature({"AndroidWebView", "Android-JavaBridge"})
     public void testCallingOnNonInjectedObjectRaisesException() throws Throwable {
         assertRaisesException("testController.setStringValue.call({}, 'foo')");
     }
 
+    @Test
     @SmallTest
     @Feature({"AndroidWebView", "Android-JavaBridge"})
     public void testCallingOnInstanceOfOtherClassRaisesException() throws Throwable {
-        injectObjectAndReload(new Object(), "testObject");
-        assertEquals("object", executeJavaScriptAndGetStringResult("typeof testObject"));
-        assertEquals("object", executeJavaScriptAndGetStringResult("typeof testController"));
-        assertEquals("function",
+        mActivityTestRule.injectObjectAndReload(new Object(), "testObject");
+        Assert.assertEquals("object", executeJavaScriptAndGetStringResult("typeof testObject"));
+        Assert.assertEquals("object", executeJavaScriptAndGetStringResult("typeof testController"));
+        Assert.assertEquals("function",
                 executeJavaScriptAndGetStringResult("typeof testController.setStringValue"));
         assertRaisesException("testController.setStringValue.call(testObject, 'foo')");
     }
 
     // Note that this requires that we can pass a JavaScript string to Java.
+    @Test
     @SmallTest
     @Feature({"AndroidWebView", "Android-JavaBridge"})
     public void testTypeOfStaticMethod() throws Throwable {
-        injectObjectAndReload(new ObjectWithStaticMethod(), "testObject");
-        executeJavaScript("testController.setStringValue(typeof testObject.staticMethod)");
-        assertEquals("function", mTestController.waitForStringValue());
+        mActivityTestRule.injectObjectAndReload(new ObjectWithStaticMethod(), "testObject");
+        mActivityTestRule.executeJavaScript(
+                "testController.setStringValue(typeof testObject.staticMethod)");
+        Assert.assertEquals("function", mTestController.waitForStringValue());
     }
 
     // Note that this requires that we can pass a JavaScript string to Java.
+    @Test
     @SmallTest
     @Feature({"AndroidWebView", "Android-JavaBridge"})
     public void testCallStaticMethod() throws Throwable {
-        injectObjectAndReload(new ObjectWithStaticMethod(), "testObject");
-        executeJavaScript("testController.setStringValue(testObject.staticMethod())");
-        assertEquals("foo", mTestController.waitForStringValue());
+        mActivityTestRule.injectObjectAndReload(new ObjectWithStaticMethod(), "testObject");
+        mActivityTestRule.executeJavaScript(
+                "testController.setStringValue(testObject.staticMethod())");
+        Assert.assertEquals("foo", mTestController.waitForStringValue());
     }
 
+    @Test
     @SmallTest
     @Feature({"AndroidWebView", "Android-JavaBridge"})
     public void testPrivateMethodNotExposed() throws Throwable {
-        injectObjectAndReload(new Object() {
+        mActivityTestRule.injectObjectAndReload(new Object() {
             private void method() {}
             protected void method2() {}
         }, "testObject");
-        assertEquals("undefined",
-                executeJavaScriptAndGetStringResult("typeof testObject.method"));
-        assertEquals("undefined",
-                executeJavaScriptAndGetStringResult("typeof testObject.method2"));
+        Assert.assertEquals(
+                "undefined", executeJavaScriptAndGetStringResult("typeof testObject.method"));
+        Assert.assertEquals(
+                "undefined", executeJavaScriptAndGetStringResult("typeof testObject.method2"));
     }
 
+    @Test
     @SmallTest
     @Feature({"AndroidWebView", "Android-JavaBridge"})
     public void testReplaceInjectedObject() throws Throwable {
-        injectObjectAndReload(new Object() {
+        mActivityTestRule.injectObjectAndReload(new Object() {
             public void method() {
                 mTestController.setStringValue("object 1");
             }
         }, "testObject");
-        executeJavaScript("testObject.method()");
-        assertEquals("object 1", mTestController.waitForStringValue());
+        mActivityTestRule.executeJavaScript("testObject.method()");
+        Assert.assertEquals("object 1", mTestController.waitForStringValue());
 
-        injectObjectAndReload(new Object() {
+        mActivityTestRule.injectObjectAndReload(new Object() {
             public void method() {
                 mTestController.setStringValue("object 2");
             }
         }, "testObject");
-        executeJavaScript("testObject.method()");
-        assertEquals("object 2", mTestController.waitForStringValue());
+        mActivityTestRule.executeJavaScript("testObject.method()");
+        Assert.assertEquals("object 2", mTestController.waitForStringValue());
     }
 
+    @Test
     @SmallTest
     @Feature({"AndroidWebView", "Android-JavaBridge"})
     public void testInjectNullObjectIsIgnored() throws Throwable {
-        injectObjectAndReload(null, "testObject");
-        assertEquals("undefined", executeJavaScriptAndGetStringResult("typeof testObject"));
+        mActivityTestRule.injectObjectAndReload(null, "testObject");
+        Assert.assertEquals("undefined", executeJavaScriptAndGetStringResult("typeof testObject"));
     }
 
+    @Test
     @SmallTest
     @Feature({"AndroidWebView", "Android-JavaBridge"})
     public void testReplaceInjectedObjectWithNullObjectIsIgnored() throws Throwable {
-        injectObjectAndReload(new Object(), "testObject");
-        assertEquals("object", executeJavaScriptAndGetStringResult("typeof testObject"));
-        injectObjectAndReload(null, "testObject");
-        assertEquals("object", executeJavaScriptAndGetStringResult("typeof testObject"));
+        mActivityTestRule.injectObjectAndReload(new Object(), "testObject");
+        Assert.assertEquals("object", executeJavaScriptAndGetStringResult("typeof testObject"));
+        mActivityTestRule.injectObjectAndReload(null, "testObject");
+        Assert.assertEquals("object", executeJavaScriptAndGetStringResult("typeof testObject"));
     }
 
+    @Test
     @SmallTest
     @Feature({"AndroidWebView", "Android-JavaBridge"})
     public void testCallOverloadedMethodWithDifferentNumberOfArguments() throws Throwable {
-        injectObjectAndReload(new Object() {
+        mActivityTestRule.injectObjectAndReload(new Object() {
             public void method() {
                 mTestController.setStringValue("0 args");
             }
@@ -329,18 +363,19 @@
                 mTestController.setStringValue("2 args");
             }
         }, "testObject");
-        executeJavaScript("testObject.method()");
-        assertEquals("0 args", mTestController.waitForStringValue());
-        executeJavaScript("testObject.method(42)");
-        assertEquals("1 arg", mTestController.waitForStringValue());
-        executeJavaScript("testObject.method(null)");
-        assertEquals("1 arg", mTestController.waitForStringValue());
-        executeJavaScript("testObject.method(undefined)");
-        assertEquals("1 arg", mTestController.waitForStringValue());
-        executeJavaScript("testObject.method(42, 42)");
-        assertEquals("2 args", mTestController.waitForStringValue());
+        mActivityTestRule.executeJavaScript("testObject.method()");
+        Assert.assertEquals("0 args", mTestController.waitForStringValue());
+        mActivityTestRule.executeJavaScript("testObject.method(42)");
+        Assert.assertEquals("1 arg", mTestController.waitForStringValue());
+        mActivityTestRule.executeJavaScript("testObject.method(null)");
+        Assert.assertEquals("1 arg", mTestController.waitForStringValue());
+        mActivityTestRule.executeJavaScript("testObject.method(undefined)");
+        Assert.assertEquals("1 arg", mTestController.waitForStringValue());
+        mActivityTestRule.executeJavaScript("testObject.method(42, 42)");
+        Assert.assertEquals("2 args", mTestController.waitForStringValue());
     }
 
+    @Test
     @SmallTest
     @Feature({"AndroidWebView", "Android-JavaBridge"})
     public void testCallMethodWithWrongNumberOfArgumentsRaisesException() throws Throwable {
@@ -348,25 +383,29 @@
         assertRaisesException("testController.setIntValue(42, 42)");
     }
 
+    @Test
     @SmallTest
     @Feature({"AndroidWebView", "Android-JavaBridge"})
     public void testObjectPersistsAcrossPageLoads() throws Throwable {
-        assertEquals("object", executeJavaScriptAndGetStringResult("typeof testController"));
-        synchronousPageReload();
-        assertEquals("object", executeJavaScriptAndGetStringResult("typeof testController"));
+        Assert.assertEquals("object", executeJavaScriptAndGetStringResult("typeof testController"));
+        mActivityTestRule.synchronousPageReload();
+        Assert.assertEquals("object", executeJavaScriptAndGetStringResult("typeof testController"));
     }
 
+    @Test
     @SmallTest
     @Feature({"AndroidWebView", "Android-JavaBridge"})
     public void testCustomPropertiesCleanedUpOnPageReloads() throws Throwable {
-        assertEquals("object", executeJavaScriptAndGetStringResult("typeof testController"));
-        executeJavaScript("testController.myProperty = 42;");
-        assertEquals("42", executeJavaScriptAndGetStringResult("testController.myProperty"));
-        synchronousPageReload();
-        assertEquals("object", executeJavaScriptAndGetStringResult("typeof testController"));
-        assertEquals("undefined", executeJavaScriptAndGetStringResult("testController.myProperty"));
+        Assert.assertEquals("object", executeJavaScriptAndGetStringResult("typeof testController"));
+        mActivityTestRule.executeJavaScript("testController.myProperty = 42;");
+        Assert.assertEquals("42", executeJavaScriptAndGetStringResult("testController.myProperty"));
+        mActivityTestRule.synchronousPageReload();
+        Assert.assertEquals("object", executeJavaScriptAndGetStringResult("typeof testController"));
+        Assert.assertEquals(
+                "undefined", executeJavaScriptAndGetStringResult("testController.myProperty"));
     }
 
+    @Test
     @SmallTest
     @Feature({"AndroidWebView", "Android-JavaBridge"})
     public void testSameObjectInjectedMultipleTimes() throws Throwable {
@@ -378,17 +417,19 @@
             }
         }
         final TestObject testObject = new TestObject();
-        injectObjectsAndReload(testObject, "testObject1", testObject, "testObject2", null);
-        executeJavaScript("testObject1.method()");
-        assertEquals(1, mTestController.waitForIntValue());
-        executeJavaScript("testObject2.method()");
-        assertEquals(2, mTestController.waitForIntValue());
+        mActivityTestRule.injectObjectsAndReload(
+                testObject, "testObject1", testObject, "testObject2", null);
+        mActivityTestRule.executeJavaScript("testObject1.method()");
+        Assert.assertEquals(1, mTestController.waitForIntValue());
+        mActivityTestRule.executeJavaScript("testObject2.method()");
+        Assert.assertEquals(2, mTestController.waitForIntValue());
     }
 
+    @Test
     @SmallTest
     @Feature({"AndroidWebView", "Android-JavaBridge"})
     public void testCallMethodOnReturnedObject() throws Throwable {
-        injectObjectAndReload(new Object() {
+        mActivityTestRule.injectObjectAndReload(new Object() {
             public Object getInnerObject() {
                 return new Object() {
                     public void method(int x) {
@@ -397,10 +438,11 @@
                 };
             }
         }, "testObject");
-        executeJavaScript("testObject.getInnerObject().method(42)");
-        assertEquals(42, mTestController.waitForIntValue());
+        mActivityTestRule.executeJavaScript("testObject.getInnerObject().method(42)");
+        Assert.assertEquals(42, mTestController.waitForIntValue());
     }
 
+    @Test
     @SmallTest
     @Feature({"AndroidWebView", "Android-JavaBridge"})
     public void testReturnedObjectInjectedElsewhere() throws Throwable {
@@ -417,23 +459,24 @@
                 return innerObject;
             }
         };
-        injectObjectsAndReload(object, "testObject", innerObject, "innerObject", null);
-        executeJavaScript("testObject.getInnerObject().method()");
-        assertEquals(1, mTestController.waitForIntValue());
-        executeJavaScript("innerObject.method()");
-        assertEquals(2, mTestController.waitForIntValue());
+        mActivityTestRule.injectObjectsAndReload(
+                object, "testObject", innerObject, "innerObject", null);
+        mActivityTestRule.executeJavaScript("testObject.getInnerObject().method()");
+        Assert.assertEquals(1, mTestController.waitForIntValue());
+        mActivityTestRule.executeJavaScript("innerObject.method()");
+        Assert.assertEquals(2, mTestController.waitForIntValue());
     }
 
     // Verify that Java objects returned from bridge object methods are dereferenced
     // on the Java side once they have been fully dereferenced on the JS side.
     // Failing this test would mean that methods returning objects effectively create a memory
     // leak.
+    @Test
     @SmallTest
     @Feature({"AndroidWebView", "Android-JavaBridge"})
     @CommandLineFlags.Add("js-flags=--expose-gc")
     public void testReturnedObjectIsGarbageCollected() throws Throwable {
-        // Make sure V8 exposes "gc" property on the global object (enabled with --expose-gc flag)
-        assertEquals("function", executeJavaScriptAndGetStringResult("typeof gc"));
+        Assert.assertEquals("function", executeJavaScriptAndGetStringResult("typeof gc"));
         class InnerObject {
         }
         class TestObject {
@@ -446,30 +489,31 @@
             WeakReference<InnerObject> mWeakRefForInner;
         }
         TestObject object = new TestObject();
-        injectObjectAndReload(object, "testObject");
+        mActivityTestRule.injectObjectAndReload(object, "testObject");
         // Initially, store a reference to the inner object in JS to make sure it's not
         // garbage-collected prematurely.
-        assertEquals("object", executeJavaScriptAndGetStringResult(
-                        "(function() { "
+        Assert.assertEquals("object",
+                executeJavaScriptAndGetStringResult("(function() { "
                         + "globalInner = testObject.getInnerObject(); return typeof globalInner; "
                         + "})()"));
-        assertTrue(object.mWeakRefForInner.get() != null);
+        Assert.assertTrue(object.mWeakRefForInner.get() != null);
         // Check that returned Java object is being held by the Java bridge, thus it's not
         // collected.  Note that despite that what JavaDoc says about invoking "gc()", both Dalvik
         // and ART actually run the collector.
         Runtime.getRuntime().gc();
-        assertTrue(object.mWeakRefForInner.get() != null);
+        Assert.assertTrue(object.mWeakRefForInner.get() != null);
         // Now dereference the inner object in JS and run GC to collect the interface object.
-        assertEquals("true", executeJavaScriptAndGetStringResult(
-                        "(function() { "
+        Assert.assertEquals("true",
+                executeJavaScriptAndGetStringResult("(function() { "
                         + "delete globalInner; gc(); return (typeof globalInner == 'undefined'); "
                         + "})()"));
         // Force GC on the Java side again. The bridge had to release the inner object, so it must
         // be collected this time.
         Runtime.getRuntime().gc();
-        assertEquals(null, object.mWeakRefForInner.get());
+        Assert.assertEquals(null, object.mWeakRefForInner.get());
     }
 
+    @Test
     @SmallTest
     @Feature({"AndroidWebView", "Android-JavaBridge"})
     public void testSameReturnedObjectUsesSameWrapper() throws Throwable {
@@ -481,33 +525,35 @@
                 return innerObject;
             }
         };
-        injectObjectAndReload(injectedTestObject, "injectedTestObject");
-        executeJavaScript("inner1 = injectedTestObject.getInnerObject()");
-        executeJavaScript("inner2 = injectedTestObject.getInnerObject()");
-        assertEquals("object", executeJavaScriptAndGetStringResult("typeof inner1"));
-        assertEquals("object", executeJavaScriptAndGetStringResult("typeof inner2"));
-        assertEquals("true", executeJavaScriptAndGetStringResult("inner1 === inner2"));
+        mActivityTestRule.injectObjectAndReload(injectedTestObject, "injectedTestObject");
+        mActivityTestRule.executeJavaScript("inner1 = injectedTestObject.getInnerObject()");
+        mActivityTestRule.executeJavaScript("inner2 = injectedTestObject.getInnerObject()");
+        Assert.assertEquals("object", executeJavaScriptAndGetStringResult("typeof inner1"));
+        Assert.assertEquals("object", executeJavaScriptAndGetStringResult("typeof inner2"));
+        Assert.assertEquals("true", executeJavaScriptAndGetStringResult("inner1 === inner2"));
     }
 
+    @Test
     @SmallTest
     @Feature({"AndroidWebView", "Android-JavaBridge"})
     public void testMethodInvokedOnBackgroundThread() throws Throwable {
-        injectObjectAndReload(new Object() {
+        mActivityTestRule.injectObjectAndReload(new Object() {
             public void captureThreadId() {
                 mTestController.setLongValue(Thread.currentThread().getId());
             }
         }, "testObject");
-        executeJavaScript("testObject.captureThreadId()");
+        mActivityTestRule.executeJavaScript("testObject.captureThreadId()");
         final long threadId = mTestController.waitForLongValue();
-        assertFalse(threadId == Thread.currentThread().getId());
-        runTestOnUiThread(new Runnable() {
+        Assert.assertFalse(threadId == Thread.currentThread().getId());
+        InstrumentationRegistry.getInstrumentation().runOnMainSync(new Runnable() {
             @Override
             public void run() {
-                assertFalse(threadId == Thread.currentThread().getId());
+                Assert.assertFalse(threadId == Thread.currentThread().getId());
             }
         });
     }
 
+    @Test
     @SmallTest
     @Feature({"AndroidWebView", "Android-JavaBridge"})
     public void testBlockingUiThreadDoesNotBlockCallsFromJs() throws Throwable {
@@ -526,8 +572,8 @@
             }
         }
         final TestObject testObject = new TestObject();
-        injectObjectAndReload(testObject, "testObject");
-        runTestOnUiThread(new Runnable() {
+        mActivityTestRule.injectObjectAndReload(testObject, "testObject");
+        InstrumentationRegistry.getInstrumentation().runOnMainSync(new Runnable() {
             @Override
             public void run() {
                 // loadUrl is asynchronous, the JS code will start running on the renderer
@@ -536,19 +582,21 @@
                 // to "unlockTheLatch()" will be executed after the waiting timeout, thus the
                 // string value will not yet be updated by the injected object.
                 mTestController.setStringValue("locked");
-                getWebContents().getNavigationController().loadUrl(new LoadUrlParams(
-                        "javascript:(function() { testObject.unlockTheLatch() })()"));
+                mActivityTestRule.getWebContents().getNavigationController().loadUrl(
+                        new LoadUrlParams(
+                                "javascript:(function() { testObject.unlockTheLatch() })()"));
                 try {
-                    assertTrue(testObject.waitOnTheLatch());
+                    Assert.assertTrue(testObject.waitOnTheLatch());
                 } catch (Exception e) {
                     android.util.Log.e("JavaBridgeBasicsTest", "Wait exception", e);
                     Assert.fail("Wait exception");
                 }
-                assertEquals("unlocked", mTestController.getStringValue());
+                Assert.assertEquals("unlocked", mTestController.getStringValue());
             }
         });
     }
 
+    @Test
     @SmallTest
     @Feature({"AndroidWebView", "Android-JavaBridge"})
     public void testPublicInheritedMethod() throws Throwable {
@@ -559,12 +607,14 @@
         }
         class Derived extends Base {
         }
-        injectObjectAndReload(new Derived(), "testObject");
-        assertEquals("function", executeJavaScriptAndGetStringResult("typeof testObject.method"));
-        executeJavaScript("testObject.method(42)");
-        assertEquals(42, mTestController.waitForIntValue());
+        mActivityTestRule.injectObjectAndReload(new Derived(), "testObject");
+        Assert.assertEquals(
+                "function", executeJavaScriptAndGetStringResult("typeof testObject.method"));
+        mActivityTestRule.executeJavaScript("testObject.method(42)");
+        Assert.assertEquals(42, mTestController.waitForIntValue());
     }
 
+    @Test
     @SmallTest
     @Feature({"AndroidWebView", "Android-JavaBridge"})
     public void testPrivateInheritedMethod() throws Throwable {
@@ -573,10 +623,12 @@
         }
         class Derived extends Base {
         }
-        injectObjectAndReload(new Derived(), "testObject");
-        assertEquals("undefined", executeJavaScriptAndGetStringResult("typeof testObject.method"));
+        mActivityTestRule.injectObjectAndReload(new Derived(), "testObject");
+        Assert.assertEquals(
+                "undefined", executeJavaScriptAndGetStringResult("typeof testObject.method"));
     }
 
+    @Test
     @SmallTest
     @Feature({"AndroidWebView", "Android-JavaBridge"})
     public void testOverriddenMethod() throws Throwable {
@@ -591,15 +643,16 @@
                 mTestController.setStringValue("derived");
             }
         }
-        injectObjectAndReload(new Derived(), "testObject");
-        executeJavaScript("testObject.method()");
-        assertEquals("derived", mTestController.waitForStringValue());
+        mActivityTestRule.injectObjectAndReload(new Derived(), "testObject");
+        mActivityTestRule.executeJavaScript("testObject.method()");
+        Assert.assertEquals("derived", mTestController.waitForStringValue());
     }
 
+    @Test
     @SmallTest
     @Feature({"AndroidWebView", "Android-JavaBridge"})
     public void testEnumerateMembers() throws Throwable {
-        injectObjectAndReload(new Object() {
+        mActivityTestRule.injectObjectAndReload(new Object() {
             public void method() {}
             private void privateMethod() {}
             @SuppressFBWarnings("UUF_UNUSED")
@@ -607,18 +660,18 @@
             @SuppressFBWarnings("UUF_UNUSED")
             private int mPrivateField;
         }, "testObject");
-        executeJavaScript(
-                "var result = \"\"; "
+        mActivityTestRule.executeJavaScript("var result = \"\"; "
                 + "for (x in testObject) { result += \" \" + x } "
                 + "testController.setStringValue(result);");
-        assertEquals(" equals getClass hashCode method notify notifyAll toString wait",
+        Assert.assertEquals(" equals getClass hashCode method notify notifyAll toString wait",
                 mTestController.waitForStringValue());
     }
 
+    @Test
     @SmallTest
     @Feature({"AndroidWebView", "Android-JavaBridge"})
     public void testReflectPublicMethod() throws Throwable {
-        injectObjectAndReload(new Object() {
+        mActivityTestRule.injectObjectAndReload(new Object() {
             public Class<?> myGetClass() {
                 return getClass();
             }
@@ -627,29 +680,33 @@
                 return "foo";
             }
         }, "testObject");
-        assertEquals("foo", executeJavaScriptAndGetStringResult(
-                "testObject.myGetClass().getMethod('method', null).invoke(testObject, null)"
-                + ".toString()"));
+        Assert.assertEquals("foo",
+                executeJavaScriptAndGetStringResult(
+                        "testObject.myGetClass().getMethod('method', null).invoke(testObject, null)"
+                        + ".toString()"));
     }
 
+    @Test
     @SmallTest
     @Feature({"AndroidWebView", "Android-JavaBridge"})
     public void testReflectPublicField() throws Throwable {
-        injectObjectAndReload(new Object() {
+        mActivityTestRule.injectObjectAndReload(new Object() {
             public Class<?> myGetClass() {
                 return getClass();
             }
 
             public String field = "foo";
         }, "testObject");
-        assertEquals("foo", executeJavaScriptAndGetStringResult(
-                "testObject.myGetClass().getField('field').get(testObject).toString()"));
+        Assert.assertEquals("foo",
+                executeJavaScriptAndGetStringResult(
+                        "testObject.myGetClass().getField('field').get(testObject).toString()"));
     }
 
+    @Test
     @SmallTest
     @Feature({"AndroidWebView", "Android-JavaBridge"})
     public void testReflectPrivateMethodRaisesException() throws Throwable {
-        injectObjectAndReload(new Object() {
+        mActivityTestRule.injectObjectAndReload(new Object() {
             public Class<?> myGetClass() {
                 return getClass();
             }
@@ -664,10 +721,11 @@
                 + "invoke(testObject, null)");
     }
 
+    @Test
     @SmallTest
     @Feature({"AndroidWebView", "Android-JavaBridge"})
     public void testReflectPrivateFieldRaisesException() throws Throwable {
-        injectObjectAndReload(new Object() {
+        mActivityTestRule.injectObjectAndReload(new Object() {
             public Class<?> myGetClass() {
                 return getClass();
             }
@@ -684,26 +742,29 @@
                 "testObject.myGetClass().getDeclaredField('" + fieldName + "').getInt(testObject)");
     }
 
+    @Test
     @SmallTest
     @Feature({"AndroidWebView", "Android-JavaBridge"})
     public void testAllowNonAnnotatedMethods() throws Throwable {
-        injectObjectAndReload(new Object() {
+        mActivityTestRule.injectObjectAndReload(new Object() {
             public String allowed() {
                 return "foo";
             }
         }, "testObject", null);
 
         // Test calling a method of an explicitly inherited class (Base#allowed()).
-        assertEquals("foo", executeJavaScriptAndGetStringResult("testObject.allowed()"));
+        Assert.assertEquals("foo", executeJavaScriptAndGetStringResult("testObject.allowed()"));
 
         // Test calling a method of an implicitly inherited class (Object#toString()).
-        assertEquals("string", executeJavaScriptAndGetStringResult("typeof testObject.toString()"));
+        Assert.assertEquals(
+                "string", executeJavaScriptAndGetStringResult("typeof testObject.toString()"));
     }
 
+    @Test
     @SmallTest
     @Feature({"AndroidWebView", "Android-JavaBridge"})
     public void testAllowOnlyAnnotatedMethods() throws Throwable {
-        injectObjectAndReload(new Object() {
+        mActivityTestRule.injectObjectAndReload(new Object() {
             @JavascriptInterface
             public String allowed() {
                 return "foo";
@@ -717,20 +778,21 @@
         // getClass() is an Object method and does not have the @JavascriptInterface annotation and
         // should not be able to be called.
         assertRaisesException("testObject.getClass()");
-        assertEquals("undefined", executeJavaScriptAndGetStringResult(
-                "typeof testObject.getClass"));
+        Assert.assertEquals(
+                "undefined", executeJavaScriptAndGetStringResult("typeof testObject.getClass"));
 
         // allowed() is marked with the @JavascriptInterface annotation and should be allowed to be
         // called.
-        assertEquals("foo", executeJavaScriptAndGetStringResult("testObject.allowed()"));
+        Assert.assertEquals("foo", executeJavaScriptAndGetStringResult("testObject.allowed()"));
 
         // disallowed() is not marked with the @JavascriptInterface annotation and should not be
         // able to be called.
         assertRaisesException("testObject.disallowed()");
-        assertEquals("undefined", executeJavaScriptAndGetStringResult(
-                "typeof testObject.disallowed"));
+        Assert.assertEquals(
+                "undefined", executeJavaScriptAndGetStringResult("typeof testObject.disallowed"));
     }
 
+    @Test
     @SmallTest
     @Feature({"AndroidWebView", "Android-JavaBridge"})
     public void testAnnotationRequirementRetainsPropertyAcrossObjects() throws Throwable {
@@ -753,32 +815,34 @@
         }
 
         // First test with safe mode off.
-        injectObjectAndReload(new TestReturner(), "unsafeTestObject", null);
+        mActivityTestRule.injectObjectAndReload(new TestReturner(), "unsafeTestObject", null);
 
         // safe() should be able to be called regardless of whether or not we are in safe mode.
-        assertEquals("foo", executeJavaScriptAndGetStringResult(
-                "unsafeTestObject.getTest().safe()"));
+        Assert.assertEquals(
+                "foo", executeJavaScriptAndGetStringResult("unsafeTestObject.getTest().safe()"));
         // unsafe() should be able to be called because we are not in safe mode.
-        assertEquals("bar", executeJavaScriptAndGetStringResult(
-                "unsafeTestObject.getTest().unsafe()"));
+        Assert.assertEquals(
+                "bar", executeJavaScriptAndGetStringResult("unsafeTestObject.getTest().unsafe()"));
 
         // Now test with safe mode on.
-        injectObjectAndReload(new TestReturner(), "safeTestObject", JavascriptInterface.class);
+        mActivityTestRule.injectObjectAndReload(
+                new TestReturner(), "safeTestObject", JavascriptInterface.class);
 
         // safe() should be able to be called regardless of whether or not we are in safe mode.
-        assertEquals("foo", executeJavaScriptAndGetStringResult(
-                "safeTestObject.getTest().safe()"));
+        Assert.assertEquals(
+                "foo", executeJavaScriptAndGetStringResult("safeTestObject.getTest().safe()"));
         // unsafe() should not be able to be called because we are in safe mode.
         assertRaisesException("safeTestObject.getTest().unsafe()");
-        assertEquals("undefined", executeJavaScriptAndGetStringResult(
-                "typeof safeTestObject.getTest().unsafe"));
+        Assert.assertEquals("undefined",
+                executeJavaScriptAndGetStringResult("typeof safeTestObject.getTest().unsafe"));
         // getClass() is an Object method and does not have the @JavascriptInterface annotation and
         // should not be able to be called.
         assertRaisesException("safeTestObject.getTest().getClass()");
-        assertEquals("undefined", executeJavaScriptAndGetStringResult(
-                "typeof safeTestObject.getTest().getClass"));
+        Assert.assertEquals("undefined",
+                executeJavaScriptAndGetStringResult("typeof safeTestObject.getTest().getClass"));
     }
 
+    @Test
     @SmallTest
     @Feature({"AndroidWebView", "Android-JavaBridge"})
     public void testAnnotationDoesNotGetInherited() throws Throwable {
@@ -792,13 +856,14 @@
             public void base() { }
         }
 
-        injectObjectAndReload(new Child(), "testObject", JavascriptInterface.class);
+        mActivityTestRule.injectObjectAndReload(
+                new Child(), "testObject", JavascriptInterface.class);
 
         // base() is inherited.  The inherited method does not have the @JavascriptInterface
         // annotation and should not be able to be called.
         assertRaisesException("testObject.base()");
-        assertEquals("undefined", executeJavaScriptAndGetStringResult(
-                "typeof testObject.base"));
+        Assert.assertEquals(
+                "undefined", executeJavaScriptAndGetStringResult("typeof testObject.base"));
     }
 
     @SuppressWarnings("javadoc")
@@ -807,6 +872,7 @@
     @interface TestAnnotation {
     }
 
+    @Test
     @SmallTest
     @Feature({"AndroidWebView", "Android-JavaBridge"})
     public void testCustomAnnotationRestriction() throws Throwable {
@@ -823,30 +889,36 @@
         }
 
         // Inject javascriptInterfaceObj and require the JavascriptInterface annotation.
-        injectObjectAndReload(new Test(), "javascriptInterfaceObj", JavascriptInterface.class);
+        mActivityTestRule.injectObjectAndReload(
+                new Test(), "javascriptInterfaceObj", JavascriptInterface.class);
 
         // Test#testAnnotationFoo() should fail, as it isn't annotated with JavascriptInterface.
         assertRaisesException("javascriptInterfaceObj.checkTestAnnotationFoo()");
-        assertEquals("undefined", executeJavaScriptAndGetStringResult(
-                "typeof javascriptInterfaceObj.checkTestAnnotationFoo"));
+        Assert.assertEquals("undefined",
+                executeJavaScriptAndGetStringResult(
+                        "typeof javascriptInterfaceObj.checkTestAnnotationFoo"));
 
         // Test#javascriptInterfaceFoo() should pass, as it is annotated with JavascriptInterface.
-        assertEquals("bar", executeJavaScriptAndGetStringResult(
-                "javascriptInterfaceObj.checkJavascriptInterfaceFoo()"));
+        Assert.assertEquals("bar",
+                executeJavaScriptAndGetStringResult(
+                        "javascriptInterfaceObj.checkJavascriptInterfaceFoo()"));
 
         // Inject testAnnotationObj and require the TestAnnotation annotation.
-        injectObjectAndReload(new Test(), "testAnnotationObj", TestAnnotation.class);
+        mActivityTestRule.injectObjectAndReload(
+                new Test(), "testAnnotationObj", TestAnnotation.class);
 
         // Test#testAnnotationFoo() should pass, as it is annotated with TestAnnotation.
-        assertEquals("bar", executeJavaScriptAndGetStringResult(
-                "testAnnotationObj.checkTestAnnotationFoo()"));
+        Assert.assertEquals("bar",
+                executeJavaScriptAndGetStringResult("testAnnotationObj.checkTestAnnotationFoo()"));
 
         // Test#javascriptInterfaceFoo() should fail, as it isn't annotated with TestAnnotation.
         assertRaisesException("testAnnotationObj.checkJavascriptInterfaceFoo()");
-        assertEquals("undefined", executeJavaScriptAndGetStringResult(
-                "typeof testAnnotationObj.checkJavascriptInterfaceFoo"));
+        Assert.assertEquals("undefined",
+                executeJavaScriptAndGetStringResult(
+                        "typeof testAnnotationObj.checkJavascriptInterfaceFoo"));
     }
 
+    @Test
     @SmallTest
     @Feature({"AndroidWebView", "Android-JavaBridge"})
     public void testAddJavascriptInterfaceIsSafeByDefault() throws Throwable {
@@ -864,28 +936,31 @@
         // Manually inject the Test object, making sure to use the
         // ContentViewCore#addJavascriptInterface, not the possibly unsafe version.
         TestCallbackHelperContainer.OnPageFinishedHelper onPageFinishedHelper =
-                getTestCallBackHelperContainer().getOnPageFinishedHelper();
+                mActivityTestRule.getTestCallBackHelperContainer().getOnPageFinishedHelper();
         int currentCallCount = onPageFinishedHelper.getCallCount();
-        runTestOnUiThread(new Runnable() {
+        InstrumentationRegistry.getInstrumentation().runOnMainSync(new Runnable() {
             @Override
             public void run() {
-                getContentViewCore().addJavascriptInterface(new Test(),
-                        "testObject");
-                getContentViewCore().getWebContents().getNavigationController().reload(true);
+                mActivityTestRule.getContentViewCore().addJavascriptInterface(
+                        new Test(), "testObject");
+                mActivityTestRule.getContentViewCore()
+                        .getWebContents()
+                        .getNavigationController()
+                        .reload(true);
             }
         });
         onPageFinishedHelper.waitForCallback(currentCallCount);
 
         // Test#allowed() should pass, as it is annotated with JavascriptInterface.
-        assertEquals("bar", executeJavaScriptAndGetStringResult(
-                "testObject.allowed()"));
+        Assert.assertEquals("bar", executeJavaScriptAndGetStringResult("testObject.allowed()"));
 
         // Test#blocked() should fail, as it isn't annotated with JavascriptInterface.
         assertRaisesException("testObject.blocked()");
-        assertEquals("undefined", executeJavaScriptAndGetStringResult(
-                "typeof testObject.blocked"));
+        Assert.assertEquals(
+                "undefined", executeJavaScriptAndGetStringResult("typeof testObject.blocked"));
     }
 
+    @Test
     @SmallTest
     @Feature({"AndroidWebView", "Android-JavaBridge"})
     public void testObjectsInspection() throws Throwable {
@@ -915,36 +990,46 @@
         final String nonInspectableObjectName = "testObj2";
 
         // Inspection is enabled by default.
-        injectObjectAndReload(new Test(), inspectableObjectName, JavascriptInterface.class);
+        mActivityTestRule.injectObjectAndReload(
+                new Test(), inspectableObjectName, JavascriptInterface.class);
 
-        assertEquals("m1,m2", executeJavaScriptAndGetStringResult(
+        Assert.assertEquals("m1,m2",
+                executeJavaScriptAndGetStringResult(
                         String.format(jsObjectKeysTestTemplate, inspectableObjectName)));
-        assertEquals("m1,m2", executeJavaScriptAndGetStringResult(
+        Assert.assertEquals("m1,m2",
+                executeJavaScriptAndGetStringResult(
                         String.format(jsForInTestTemplate, inspectableObjectName)));
 
-        runTestOnUiThread(new Runnable() {
+        InstrumentationRegistry.getInstrumentation().runOnMainSync(new Runnable() {
             @Override
             public void run() {
-                getContentViewCore().setAllowJavascriptInterfacesInspection(false);
+                mActivityTestRule.getContentViewCore().setAllowJavascriptInterfacesInspection(
+                        false);
             }
         });
 
-        injectObjectAndReload(new Test(), nonInspectableObjectName, JavascriptInterface.class);
+        mActivityTestRule.injectObjectAndReload(
+                new Test(), nonInspectableObjectName, JavascriptInterface.class);
 
-        assertEquals("", executeJavaScriptAndGetStringResult(
+        Assert.assertEquals("",
+                executeJavaScriptAndGetStringResult(
                         String.format(jsObjectKeysTestTemplate, nonInspectableObjectName)));
-        assertEquals("", executeJavaScriptAndGetStringResult(
+        Assert.assertEquals("",
+                executeJavaScriptAndGetStringResult(
                         String.format(jsForInTestTemplate, nonInspectableObjectName)));
     }
 
+    @Test
     @SmallTest
     @Feature({"AndroidWebView", "Android-JavaBridge"})
     public void testAccessToObjectGetClassIsBlocked() throws Throwable {
-        injectObjectAndReload(new Object(), "testObject");
-        assertEquals("function", executeJavaScriptAndGetStringResult("typeof testObject.getClass"));
+        mActivityTestRule.injectObjectAndReload(new Object(), "testObject");
+        Assert.assertEquals(
+                "function", executeJavaScriptAndGetStringResult("typeof testObject.getClass"));
         assertRaisesException("testObject.getClass()");
     }
 
+    @Test
     @SmallTest
     @Feature({"AndroidWebView", "Android-JavaBridge"})
     public void testReplaceJavascriptInterface() throws Throwable {
@@ -958,15 +1043,16 @@
             }
             private int mValue;
         }
-        injectObjectAndReload(new Test(13), "testObject");
-        assertEquals("13", executeJavaScriptAndGetStringResult("testObject.getValue()"));
+        mActivityTestRule.injectObjectAndReload(new Test(13), "testObject");
+        Assert.assertEquals("13", executeJavaScriptAndGetStringResult("testObject.getValue()"));
         // The documentation doesn't specify, what happens if the embedder is trying
         // to inject a different object under the same name. The current implementation
         // simply replaces the old object with the new one.
-        injectObjectAndReload(new Test(42), "testObject");
-        assertEquals("42", executeJavaScriptAndGetStringResult("testObject.getValue()"));
+        mActivityTestRule.injectObjectAndReload(new Test(42), "testObject");
+        Assert.assertEquals("42", executeJavaScriptAndGetStringResult("testObject.getValue()"));
     }
 
+    @Test
     @SmallTest
     @Feature({"AndroidWebView", "Android-JavaBridge"})
     public void testMethodCalledOnAnotherInstance() throws Throwable {
@@ -981,14 +1067,15 @@
         }
         final TestObject testObject1 = new TestObject(1);
         final TestObject testObject2 = new TestObject(2);
-        injectObjectsAndReload(testObject1, "testObject1", testObject2, "testObject2", null);
-        executeJavaScript("testObject1.method()");
-        assertEquals(1, mTestController.waitForIntValue());
-        executeJavaScript("testObject2.method()");
-        assertEquals(2, mTestController.waitForIntValue());
-        executeJavaScript("testObject1.method.call(testObject2)");
-        assertEquals(2, mTestController.waitForIntValue());
-        executeJavaScript("testObject2.method.call(testObject1)");
-        assertEquals(1, mTestController.waitForIntValue());
+        mActivityTestRule.injectObjectsAndReload(
+                testObject1, "testObject1", testObject2, "testObject2", null);
+        mActivityTestRule.executeJavaScript("testObject1.method()");
+        Assert.assertEquals(1, mTestController.waitForIntValue());
+        mActivityTestRule.executeJavaScript("testObject2.method()");
+        Assert.assertEquals(2, mTestController.waitForIntValue());
+        mActivityTestRule.executeJavaScript("testObject1.method.call(testObject2)");
+        Assert.assertEquals(2, mTestController.waitForIntValue());
+        mActivityTestRule.executeJavaScript("testObject2.method.call(testObject1)");
+        Assert.assertEquals(1, mTestController.waitForIntValue());
     }
 }
diff --git a/content/public/android/javatests/src/org/chromium/content/browser/JavaBridgeChildFrameTest.java b/content/public/android/javatests/src/org/chromium/content/browser/JavaBridgeChildFrameTest.java
index cbad6a1d42..ad32fc6 100644
--- a/content/public/android/javatests/src/org/chromium/content/browser/JavaBridgeChildFrameTest.java
+++ b/content/public/android/javatests/src/org/chromium/content/browser/JavaBridgeChildFrameTest.java
@@ -4,14 +4,22 @@
 
 package org.chromium.content.browser;
 
+import android.support.test.InstrumentationRegistry;
 import android.support.test.filters.SmallTest;
 
+import org.junit.Assert;
+import org.junit.Before;
+import org.junit.Rule;
+import org.junit.Test;
+import org.junit.runner.RunWith;
+
 import org.chromium.base.annotations.SuppressFBWarnings;
 import org.chromium.base.test.util.CommandLineFlags;
 import org.chromium.base.test.util.DisabledTest;
 import org.chromium.base.test.util.Feature;
 import org.chromium.base.test.util.RetryOnFailure;
 import org.chromium.content.browser.JavaBridgeTestCommon.Controller;
+import org.chromium.content.browser.test.ContentJUnit4ClassRunner;
 import org.chromium.content_public.browser.JavaScriptCallback;
 import org.chromium.content_public.browser.LoadUrlParams;
 import org.chromium.content_public.browser.NavigationController;
@@ -28,8 +36,13 @@
  * Ensures that injected objects are exposed to child frames as well as the
  * main frame.
  */
+@RunWith(ContentJUnit4ClassRunner.class)
 @SuppressFBWarnings("UMAC_UNCALLABLE_METHOD_OF_ANONYMOUS_CLASS")
-public class JavaBridgeChildFrameTest extends JavaBridgeTestBase {
+public class JavaBridgeChildFrameTest {
+    @Rule
+    public JavaBridgeActivityTestRule mActivityTestRule =
+            new JavaBridgeActivityTestRule().shouldSetUp(true);
+
     @SuppressFBWarnings("CHROMIUM_SYNCHRONIZED_METHOD")
     private static class TestController extends Controller {
         private String mStringValue;
@@ -48,33 +61,35 @@
 
     TestController mTestController;
 
-    @Override
-    protected void setUp() throws Exception {
-        super.setUp();
+    @Before
+    public void setUp() throws Exception {
         mTestController = new TestController();
-        injectObjectAndReload(mTestController, "testController");
+        mActivityTestRule.injectObjectAndReload(mTestController, "testController");
     }
 
+    @Test
     @SmallTest
     @Feature({"AndroidWebView", "Android-JavaBridge"})
     public void testInjectedObjectPresentInChildFrame() throws Throwable {
-        loadDataSync(getWebContents().getNavigationController(),
+        loadDataSync(mActivityTestRule.getWebContents().getNavigationController(),
                 "<html><body><iframe></iframe></body></html>", "text/html", false);
         // We are not executing this code as a part of page loading routine to avoid races
         // with internal Blink events that notify Java Bridge about window object updates.
-        assertEquals("\"object\"", executeJavaScriptAndGetResult(
-                        getWebContents(), "typeof window.frames[0].testController"));
-        executeJavaScriptAndGetResult(
-                getWebContents(), "window.frames[0].testController.setStringValue('PASS')");
-        assertEquals("PASS", mTestController.waitForStringValue());
+        Assert.assertEquals("\"object\"",
+                executeJavaScriptAndGetResult(mActivityTestRule.getWebContents(),
+                        "typeof window.frames[0].testController"));
+        executeJavaScriptAndGetResult(mActivityTestRule.getWebContents(),
+                "window.frames[0].testController.setStringValue('PASS')");
+        Assert.assertEquals("PASS", mTestController.waitForStringValue());
     }
 
     // Verify that loading an iframe doesn't ruin JS wrapper of the main page.
     // This is a regression test for the problem described in b/15572824.
+    @Test
     @SmallTest
     @Feature({"AndroidWebView", "Android-JavaBridge"})
     public void testMainPageWrapperIsNotBrokenByChildFrame() throws Throwable {
-        loadDataSync(getWebContents().getNavigationController(),
+        loadDataSync(mActivityTestRule.getWebContents().getNavigationController(),
                 "<html><body><iframe></iframe></body></html>", "text/html", false);
         // In case there is anything wrong with the JS wrapper, an attempt
         // to look up its properties will result in an exception being thrown.
@@ -83,22 +98,23 @@
                 + "} catch (e) {"
                 + "  return e.toString();"
                 + "} })()";
-        assertEquals("\"function\"",
-                executeJavaScriptAndGetResult(getWebContents(), script));
+        Assert.assertEquals("\"function\"",
+                executeJavaScriptAndGetResult(mActivityTestRule.getWebContents(), script));
         // Make sure calling a method also works.
-        executeJavaScriptAndGetResult(getWebContents(),
-                "testController.setStringValue('PASS');");
-        assertEquals("PASS", mTestController.waitForStringValue());
+        executeJavaScriptAndGetResult(
+                mActivityTestRule.getWebContents(), "testController.setStringValue('PASS');");
+        Assert.assertEquals("PASS", mTestController.waitForStringValue());
     }
 
     // Verify that parent page and child frame each has own JS wrapper object.
     // Failing to do so exposes parent's context to the child.
+    @Test
     @SmallTest
     @Feature({"AndroidWebView", "Android-JavaBridge"})
     public void testWrapperIsNotSharedWithChildFrame() throws Throwable {
         // Test by setting a custom property on the parent page's injected
         // object and then checking that child frame doesn't see the property.
-        loadDataSync(getWebContents().getNavigationController(),
+        loadDataSync(mActivityTestRule.getWebContents().getNavigationController(),
                 "<html><head>"
                         + "<script>"
                         + "  window.wProperty = 42;"
@@ -107,17 +123,20 @@
                         + "    return w.wProperty + ' / ' + w.testController.tcProperty;"
                         + "  }"
                         + "</script>"
-                        + "</head><body><iframe></iframe></body></html>", "text/html", false);
-        assertEquals("\"42 / 42\"",
-                executeJavaScriptAndGetResult(getWebContents(), "queryProperties(window)"));
-        assertEquals("\"undefined / undefined\"",
-                executeJavaScriptAndGetResult(getWebContents(),
-                        "queryProperties(window.frames[0])"));
+                        + "</head><body><iframe></iframe></body></html>",
+                "text/html", false);
+        Assert.assertEquals("\"42 / 42\"",
+                executeJavaScriptAndGetResult(
+                        mActivityTestRule.getWebContents(), "queryProperties(window)"));
+        Assert.assertEquals("\"undefined / undefined\"",
+                executeJavaScriptAndGetResult(
+                        mActivityTestRule.getWebContents(), "queryProperties(window.frames[0])"));
     }
 
     // Regression test for crbug.com/484927 -- make sure that existence of transient
     // objects held by multiple RenderFrames doesn't cause an infinite loop when one
     // of them gets removed.
+    @Test
     @SmallTest
     @Feature({"AndroidWebView", "Android-JavaBridge"})
     @DisabledTest(message = "https://crbug.com/677182")
@@ -144,38 +163,41 @@
         // all the frames got created, then inject the object.
         // Thus, the script code fails on the first execution (as no Java object is
         // injected yet), but then works just fine after reload.
-        loadDataSync(getWebContents().getNavigationController(),
+        loadDataSync(mActivityTestRule.getWebContents().getNavigationController(),
                 "<html>"
-                + "<head><script>window.inner_ref = test.getInner()</script></head>"
-                + "<body>"
-                + "   <iframe id='frame' "
-                + "       srcdoc='<script>window.inner_ref = test.getInner()</script>'>"
-                + "   </iframe>"
-                + "</body></html>", "text/html", false);
-        injectObjectAndReload(testObject, "test");
+                        + "<head><script>window.inner_ref = test.getInner()</script></head>"
+                        + "<body>"
+                        + "   <iframe id='frame' "
+                        + "       srcdoc='<script>window.inner_ref = test.getInner()</script>'>"
+                        + "   </iframe>"
+                        + "</body></html>",
+                "text/html", false);
+        mActivityTestRule.injectObjectAndReload(testObject, "test");
         testObject.waitForInjection();
         // Just in case, check that the object wrappers are in place.
-        assertEquals("\"object\"",
-                executeJavaScriptAndGetResult(getWebContents(), "typeof inner_ref"));
-        assertEquals("\"object\"",
-                executeJavaScriptAndGetResult(getWebContents(),
-                        "typeof window.frames[0].inner_ref"));
+        Assert.assertEquals("\"object\"",
+                executeJavaScriptAndGetResult(
+                        mActivityTestRule.getWebContents(), "typeof inner_ref"));
+        Assert.assertEquals("\"object\"",
+                executeJavaScriptAndGetResult(
+                        mActivityTestRule.getWebContents(), "typeof window.frames[0].inner_ref"));
         // Remove the iframe, this will trigger a removal of RenderFrame, which was causing
         // the bug condition, as the transient object still has a holder -- the main window.
-        assertEquals("\"object\"",
-                executeJavaScriptAndGetResult(getWebContents(),
+        Assert.assertEquals("\"object\"",
+                executeJavaScriptAndGetResult(mActivityTestRule.getWebContents(),
                         "(function(){ "
-                        + "var f = document.getElementById('frame');"
-                        + "f.parentNode.removeChild(f); return typeof f; })()"));
+                                + "var f = document.getElementById('frame');"
+                                + "f.parentNode.removeChild(f); return typeof f; })()"));
         // Just in case, check that the remaining wrapper is still accessible.
-        assertEquals("\"object\"",
-                executeJavaScriptAndGetResult(getWebContents(),
-                        "typeof inner_ref"));
+        Assert.assertEquals("\"object\"",
+                executeJavaScriptAndGetResult(
+                        mActivityTestRule.getWebContents(), "typeof inner_ref"));
     }
 
     // Regression test for crbug.com/486245 -- assign ownership of a transient object
     // to one frame with a code running in the second frame. Deletion of the second
     // frame should not affect the injected object.
+    @Test
     @SmallTest
     @Feature({"AndroidWebView", "Android-JavaBridge"})
     @CommandLineFlags.Add("js-flags=--expose-gc")
@@ -200,55 +222,59 @@
         }
         final Test testObject = new Test();
 
-        assertEquals("\"function\"", executeJavaScriptAndGetResult(getWebContents(), "typeof gc"));
+        Assert.assertEquals("\"function\"",
+                executeJavaScriptAndGetResult(mActivityTestRule.getWebContents(), "typeof gc"));
         // The page executes in the second frame code which creates a wrapper for a transient
         // injected object, but makes the first frame the owner of the object.
-        loadDataSync(getWebContents().getNavigationController(),
+        loadDataSync(mActivityTestRule.getWebContents().getNavigationController(),
                 "<html>"
-                + "<head></head>"
-                + "<body>"
-                + "   <iframe id='frame1' "
-                + "       srcdoc='<body>I am the Inner object owner!</body>'>"
-                + "   </iframe>"
-                + "   <iframe id='frame2' "
-                + "       srcdoc='<script>"
-                + "           window.parent.frames[0].inner_ref = test.getInner()"
-                + "       </script>'>"
-                + "   </iframe>"
-                + "</body></html>", "text/html", false);
-        injectObjectAndReload(testObject, "test");
+                        + "<head></head>"
+                        + "<body>"
+                        + "   <iframe id='frame1' "
+                        + "       srcdoc='<body>I am the Inner object owner!</body>'>"
+                        + "   </iframe>"
+                        + "   <iframe id='frame2' "
+                        + "       srcdoc='<script>"
+                        + "           window.parent.frames[0].inner_ref = test.getInner()"
+                        + "       </script>'>"
+                        + "   </iframe>"
+                        + "</body></html>",
+                "text/html", false);
+        mActivityTestRule.injectObjectAndReload(testObject, "test");
         testObject.waitForInjection();
         // Check that the object wrappers are in place.
-        assertTrue(testObject.mWeakRefForInner.get() != null);
-        assertEquals("\"object\"",
-                executeJavaScriptAndGetResult(getWebContents(),
-                        "typeof window.frames[0].inner_ref"));
+        Assert.assertTrue(testObject.mWeakRefForInner.get() != null);
+        Assert.assertEquals("\"object\"",
+                executeJavaScriptAndGetResult(
+                        mActivityTestRule.getWebContents(), "typeof window.frames[0].inner_ref"));
         // Remove the second frame. This must not toggle the deletion of the inner
         // object.
-        assertEquals("\"object\"",
-                executeJavaScriptAndGetResult(getWebContents(),
+        Assert.assertEquals("\"object\"",
+                executeJavaScriptAndGetResult(mActivityTestRule.getWebContents(),
                         "(function(){ "
-                        + "var f = document.getElementById('frame2');"
-                        + "f.parentNode.removeChild(f); return typeof f; })()"));
+                                + "var f = document.getElementById('frame2');"
+                                + "f.parentNode.removeChild(f); return typeof f; })()"));
         // Perform two major GCs at the end to flush out all wrappers
         // and other Blink (Oilpan) objects.
-        executeJavaScriptAndGetResult(getWebContents(), "for (var i = 0; i < 2; ++i) gc();");
+        executeJavaScriptAndGetResult(
+                mActivityTestRule.getWebContents(), "for (var i = 0; i < 2; ++i) gc();");
         // Check that returned Java object is being held by the Java bridge, thus it's not
         // collected.  Note that despite that what JavaDoc says about invoking "gc()", both Dalvik
         // and ART actually run the collector.
         Runtime.getRuntime().gc();
-        assertNotNull(testObject.mWeakRefForInner.get());
+        Assert.assertNotNull(testObject.mWeakRefForInner.get());
         // Now, remove the first frame and GC. As it was the only holder of the
         // inner object's wrapper, the wrapper must be collected. Then, the death
         // of the wrapper must cause removal of the inner object.
-        assertEquals("\"object\"",
-                executeJavaScriptAndGetResult(getWebContents(),
+        Assert.assertEquals("\"object\"",
+                executeJavaScriptAndGetResult(mActivityTestRule.getWebContents(),
                         "(function(){ "
-                        + "var f = document.getElementById('frame1');"
-                        + "f.parentNode.removeChild(f); return typeof f; })()"));
-        executeJavaScriptAndGetResult(getWebContents(), "for (var i = 0; i < 2; ++i) gc();");
+                                + "var f = document.getElementById('frame1');"
+                                + "f.parentNode.removeChild(f); return typeof f; })()"));
+        executeJavaScriptAndGetResult(
+                mActivityTestRule.getWebContents(), "for (var i = 0; i < 2; ++i) gc();");
         Runtime.getRuntime().gc();
-        assertNull(testObject.mWeakRefForInner.get());
+        Assert.assertNull(testObject.mWeakRefForInner.get());
     }
 
     private String executeJavaScriptAndGetResult(final WebContents webContents,
@@ -262,7 +288,7 @@
             }
         }
         final ResultCallback resultCallback = new ResultCallback();
-        runTestOnUiThread(new Runnable() {
+        InstrumentationRegistry.getInstrumentation().runOnMainSync(new Runnable() {
             @Override
             public void run() {
                 webContents.evaluateJavaScriptForTests(script, resultCallback);
@@ -277,7 +303,8 @@
      */
     private void loadDataSync(final NavigationController navigationController, final String data,
             final String mimeType, final boolean isBase64Encoded) throws Throwable {
-        loadUrl(navigationController, getTestCallBackHelperContainer(),
+        mActivityTestRule.loadUrl(navigationController,
+                mActivityTestRule.getTestCallBackHelperContainer(),
                 LoadUrlParams.createLoadDataParams(data, mimeType, isBase64Encoded));
     }
 }
diff --git a/content/public/android/javatests/src/org/chromium/content/browser/JavaBridgeCoercionTest.java b/content/public/android/javatests/src/org/chromium/content/browser/JavaBridgeCoercionTest.java
index fcccc896..a32d8e8 100644
--- a/content/public/android/javatests/src/org/chromium/content/browser/JavaBridgeCoercionTest.java
+++ b/content/public/android/javatests/src/org/chromium/content/browser/JavaBridgeCoercionTest.java
@@ -39,7 +39,8 @@
     private static final double ASSERTION_DELTA = 0;
 
     @Rule
-    public JavaBridgeActivityTestRule mActivityTestRule = new JavaBridgeActivityTestRule();
+    public JavaBridgeActivityTestRule mActivityTestRule =
+            new JavaBridgeActivityTestRule().shouldSetUp(true);
 
     @SuppressFBWarnings("CHROMIUM_SYNCHRONIZED_METHOD")
     private static class TestObject extends Controller {
diff --git a/content/public/android/javatests/src/org/chromium/content/browser/JavaBridgeFieldsTest.java b/content/public/android/javatests/src/org/chromium/content/browser/JavaBridgeFieldsTest.java
index 6f9a6de..b86f08d 100644
--- a/content/public/android/javatests/src/org/chromium/content/browser/JavaBridgeFieldsTest.java
+++ b/content/public/android/javatests/src/org/chromium/content/browser/JavaBridgeFieldsTest.java
@@ -24,7 +24,8 @@
 @RunWith(BaseJUnit4ClassRunner.class)
 public class JavaBridgeFieldsTest {
     @Rule
-    public JavaBridgeActivityTestRule mActivityTestRule = new JavaBridgeActivityTestRule();
+    public JavaBridgeActivityTestRule mActivityTestRule =
+            new JavaBridgeActivityTestRule().shouldSetUp(true);
 
     @SuppressFBWarnings({"CHROMIUM_SYNCHRONIZED_METHOD", "URF_UNREAD_PUBLIC_OR_PROTECTED_FIELD"})
     private static class TestObject extends Controller {
diff --git a/content/public/android/javatests/src/org/chromium/content/browser/JavaBridgeReturnValuesTest.java b/content/public/android/javatests/src/org/chromium/content/browser/JavaBridgeReturnValuesTest.java
index 904e4538..b243375 100644
--- a/content/public/android/javatests/src/org/chromium/content/browser/JavaBridgeReturnValuesTest.java
+++ b/content/public/android/javatests/src/org/chromium/content/browser/JavaBridgeReturnValuesTest.java
@@ -31,7 +31,8 @@
 @RunWith(BaseJUnit4ClassRunner.class)
 public class JavaBridgeReturnValuesTest {
     @Rule
-    public JavaBridgeActivityTestRule mActivityTestRule = new JavaBridgeActivityTestRule();
+    public JavaBridgeActivityTestRule mActivityTestRule =
+            new JavaBridgeActivityTestRule().shouldSetUp(true);
 
     // An instance of this class is injected into the page to test returning
     // Java values to JavaScript.
diff --git a/content/public/android/javatests/src/org/chromium/content/browser/LocationProviderTest.java b/content/public/android/javatests/src/org/chromium/content/browser/LocationProviderTest.java
index baed1013..c74b604 100644
--- a/content/public/android/javatests/src/org/chromium/content/browser/LocationProviderTest.java
+++ b/content/public/android/javatests/src/org/chromium/content/browser/LocationProviderTest.java
@@ -5,54 +5,68 @@
 package org.chromium.content.browser;
 
 import android.app.Activity;
+import android.support.test.InstrumentationRegistry;
+import android.support.test.annotation.UiThreadTest;
 import android.support.test.filters.SmallTest;
-import android.test.InstrumentationTestCase;
-import android.test.UiThreadTest;
+import android.support.test.rule.UiThreadTestRule;
+
+import org.junit.Assert;
+import org.junit.Before;
+import org.junit.Rule;
+import org.junit.Test;
+import org.junit.runner.RunWith;
 
 import org.chromium.base.annotations.SuppressFBWarnings;
 import org.chromium.base.test.util.Feature;
+import org.chromium.content.browser.test.ContentJUnit4ClassRunner;
 import org.chromium.device.geolocation.LocationProviderAdapter;
 
 /**
  * Test suite for LocationProvider.
  */
-public class LocationProviderTest extends InstrumentationTestCase {
+@RunWith(ContentJUnit4ClassRunner.class)
+public class LocationProviderTest {
     private Activity mActivity;
     private LocationProviderAdapter mLocationProvider;
 
+    @Rule
+    public UiThreadTestRule mRule = new UiThreadTestRule();
+
+    @Before
     @SuppressFBWarnings("URF_UNREAD_FIELD")
-    @Override
     public void setUp() {
         mActivity = new Activity();
-        mLocationProvider =
-                LocationProviderAdapter.create(getInstrumentation().getTargetContext());
+        mLocationProvider = LocationProviderAdapter.create(
+                InstrumentationRegistry.getInstrumentation().getTargetContext());
     }
 
     /**
      * Verify a normal start/stop call pair without any activity pauses.
      */
+    @Test
     @SmallTest
     @UiThreadTest
     @Feature({"Location"})
     public void testStartStop() throws Exception {
         mLocationProvider.start(false);
-        assertTrue("Should be running", mLocationProvider.isRunning());
+        Assert.assertTrue("Should be running", mLocationProvider.isRunning());
         mLocationProvider.stop();
-        assertFalse("Should have stopped", mLocationProvider.isRunning());
+        Assert.assertFalse("Should have stopped", mLocationProvider.isRunning());
     }
 
     /**
      * Verify a start/upgrade/stop call sequence without any activity pauses.
      */
+    @Test
     @SmallTest
     @UiThreadTest
     @Feature({"Location"})
     public void testStartUpgradeStop() throws Exception {
         mLocationProvider.start(false);
-        assertTrue("Should be running", mLocationProvider.isRunning());
+        Assert.assertTrue("Should be running", mLocationProvider.isRunning());
         mLocationProvider.start(true);
-        assertTrue("Should be running", mLocationProvider.isRunning());
+        Assert.assertTrue("Should be running", mLocationProvider.isRunning());
         mLocationProvider.stop();
-        assertFalse("Should have stopped", mLocationProvider.isRunning());
+        Assert.assertFalse("Should have stopped", mLocationProvider.isRunning());
     }
 }
diff --git a/content/public/android/javatests/src/org/chromium/content/browser/PopupZoomerTest.java b/content/public/android/javatests/src/org/chromium/content/browser/PopupZoomerTest.java
index 43f443b..885a560 100644
--- a/content/public/android/javatests/src/org/chromium/content/browser/PopupZoomerTest.java
+++ b/content/public/android/javatests/src/org/chromium/content/browser/PopupZoomerTest.java
@@ -9,20 +9,32 @@
 import android.graphics.Canvas;
 import android.graphics.Rect;
 import android.os.SystemClock;
+import android.support.test.InstrumentationRegistry;
 import android.support.test.filters.SmallTest;
 import android.view.MotionEvent;
 import android.view.View;
 
+import org.junit.Assert;
+import org.junit.Before;
+import org.junit.Rule;
+import org.junit.Test;
+import org.junit.runner.RunWith;
+
 import org.chromium.base.ThreadUtils;
 import org.chromium.base.test.util.Feature;
 import org.chromium.content.browser.input.ImeAdapter;
+import org.chromium.content.browser.test.ContentJUnit4ClassRunner;
 import org.chromium.content.browser.test.util.TestInputMethodManagerWrapper;
-import org.chromium.content_shell_apk.ContentShellTestBase;
+import org.chromium.content_shell_apk.ContentShellActivityTestRule;
 
 /**
  * Tests for PopupZoomer.
  */
-public class PopupZoomerTest extends ContentShellTestBase {
+@RunWith(ContentJUnit4ClassRunner.class)
+public class PopupZoomerTest {
+    @Rule
+    public ContentShellActivityTestRule mActivityTestRule = new ContentShellActivityTestRule();
+
     private CustomCanvasPopupZoomer mPopupZoomer;
     private ContentViewCore mContentViewCore;
 
@@ -75,45 +87,46 @@
                 MotionEvent.obtain(downEvent, downEvent + 10, MotionEvent.ACTION_UP, x, y, 0));
     }
 
-    @Override
-    public void setUp() throws Exception {
-        super.setUp();
-
-        final Context context = getActivity();
-
+    @Before
+    public void setUp() throws Throwable {
+        mActivityTestRule.launchActivity(null);
         ThreadUtils.runOnUiThreadBlocking(new Runnable() {
             @Override
             public void run() {
+                Context context = mActivityTestRule.getActivity();
                 mContentViewCore = new ContentViewCore(context, "");
                 mContentViewCore.setSelectionPopupControllerForTesting(new SelectionPopupController(
                         context, null, null, null, mContentViewCore.getRenderCoordinates()));
                 mContentViewCore.setImeAdapterForTest(
-                        new ImeAdapter(getContentViewCore().getWebContents(),
-                                getContentViewCore().getContainerView(),
+                        new ImeAdapter(mActivityTestRule.getContentViewCore().getWebContents(),
+                                mActivityTestRule.getContentViewCore().getContainerView(),
                                 new TestInputMethodManagerWrapper(mContentViewCore)));
-                mPopupZoomer = createPopupZoomerForTest(getInstrumentation().getTargetContext());
+                mPopupZoomer = createPopupZoomerForTest(InstrumentationRegistry.getTargetContext());
                 mContentViewCore.setPopupZoomerForTest(mPopupZoomer);
             }
         });
     }
 
+    @Test
     @SmallTest
     @Feature({"Navigation"})
     public void testDefaultCreateState() throws Exception {
-        assertEquals(View.INVISIBLE, mPopupZoomer.getVisibility());
-        assertFalse(mPopupZoomer.isShowing());
+        Assert.assertEquals(View.INVISIBLE, mPopupZoomer.getVisibility());
+        Assert.assertFalse(mPopupZoomer.isShowing());
     }
 
+    @Test
     @SmallTest
     @Feature({"Navigation"})
     public void testShowWithoutBitmap() throws Exception {
         mPopupZoomer.show(new Rect(0, 0, 5, 5));
 
         // The view should be invisible.
-        assertEquals(View.INVISIBLE, mPopupZoomer.getVisibility());
-        assertFalse(mPopupZoomer.isShowing());
+        Assert.assertEquals(View.INVISIBLE, mPopupZoomer.getVisibility());
+        Assert.assertFalse(mPopupZoomer.isShowing());
     }
 
+    @Test
     @SmallTest
     @Feature({"Navigation"})
     public void testShowWithBitmap() throws Exception {
@@ -121,10 +134,11 @@
         mPopupZoomer.show(new Rect(0, 0, 5, 5));
 
         // The view should become visible.
-        assertEquals(View.VISIBLE, mPopupZoomer.getVisibility());
-        assertTrue(mPopupZoomer.isShowing());
+        Assert.assertEquals(View.VISIBLE, mPopupZoomer.getVisibility());
+        Assert.assertTrue(mPopupZoomer.isShowing());
     }
 
+    @Test
     @SmallTest
     @Feature({"Navigation"})
     public void testHide() throws Exception {
@@ -132,17 +146,18 @@
         mPopupZoomer.show(new Rect(0, 0, 5, 5));
 
         // The view should become visible.
-        assertEquals(View.VISIBLE, mPopupZoomer.getVisibility());
-        assertTrue(mPopupZoomer.isShowing());
+        Assert.assertEquals(View.VISIBLE, mPopupZoomer.getVisibility());
+        Assert.assertTrue(mPopupZoomer.isShowing());
 
         // Call hide without animation.
         mPopupZoomer.hide(false);
 
         // The view should be invisible.
-        assertEquals(View.INVISIBLE, mPopupZoomer.getVisibility());
-        assertFalse(mPopupZoomer.isShowing());
+        Assert.assertEquals(View.INVISIBLE, mPopupZoomer.getVisibility());
+        Assert.assertFalse(mPopupZoomer.isShowing());
     }
 
+    @Test
     @SmallTest
     @Feature({"Navigation"})
     public void testOnTouchEventOutsidePopup() throws Exception {
@@ -153,8 +168,8 @@
         mPopupZoomer.finishPendingDraws();
 
         // The view should be visible.
-        assertEquals(View.VISIBLE, mPopupZoomer.getVisibility());
-        assertTrue(mPopupZoomer.isShowing());
+        Assert.assertEquals(View.VISIBLE, mPopupZoomer.getVisibility());
+        Assert.assertTrue(mPopupZoomer.isShowing());
 
         // Send tap event at a point outside the popup.
         // i.e. coordinates greater than 10 + PopupZoomer.ZOOM_BOUNDS_MARGIN
@@ -164,10 +179,11 @@
         mPopupZoomer.finishPendingDraws();
 
         // The view should be invisible.
-        assertEquals(View.INVISIBLE, mPopupZoomer.getVisibility());
-        assertFalse(mPopupZoomer.isShowing());
+        Assert.assertEquals(View.INVISIBLE, mPopupZoomer.getVisibility());
+        Assert.assertFalse(mPopupZoomer.isShowing());
     }
 
+    @Test
     @SmallTest
     @Feature({"Navigation"})
     public void testOnTouchEventInsidePopupNoOnTapListener() throws Exception {
@@ -178,8 +194,8 @@
         mPopupZoomer.finishPendingDraws();
 
         // The view should be visible.
-        assertEquals(View.VISIBLE, mPopupZoomer.getVisibility());
-        assertTrue(mPopupZoomer.isShowing());
+        Assert.assertEquals(View.VISIBLE, mPopupZoomer.getVisibility());
+        Assert.assertTrue(mPopupZoomer.isShowing());
 
         // Send tap event at a point inside the popup.
         // i.e. coordinates between PopupZoomer.ZOOM_BOUNDS_MARGIN and
@@ -190,10 +206,11 @@
         mPopupZoomer.finishPendingDraws();
 
         // The view should still be visible as no OnTapListener is set.
-        assertEquals(View.VISIBLE, mPopupZoomer.getVisibility());
-        assertTrue(mPopupZoomer.isShowing());
+        Assert.assertEquals(View.VISIBLE, mPopupZoomer.getVisibility());
+        Assert.assertTrue(mPopupZoomer.isShowing());
     }
 
+    @Test
     @SmallTest
     @Feature({"Navigation"})
     public void testHidePopupOnLosingFocus() throws Exception {
@@ -205,8 +222,8 @@
         mPopupZoomer.finishPendingDraws();
 
         // The view should be visible.
-        assertEquals(View.VISIBLE, mPopupZoomer.getVisibility());
-        assertTrue(mPopupZoomer.isShowing());
+        Assert.assertEquals(View.VISIBLE, mPopupZoomer.getVisibility());
+        Assert.assertTrue(mPopupZoomer.isShowing());
 
         // Simulate losing the focus.
         mContentViewCore.onFocusChanged(false, true);
@@ -215,7 +232,7 @@
         mPopupZoomer.finishPendingDraws();
 
         // Now that another view has been focused, the view should be invisible.
-        assertEquals(View.INVISIBLE, mPopupZoomer.getVisibility());
-        assertFalse(mPopupZoomer.isShowing());
+        Assert.assertEquals(View.INVISIBLE, mPopupZoomer.getVisibility());
+        Assert.assertFalse(mPopupZoomer.isShowing());
     }
 }
diff --git a/content/public/android/javatests/src/org/chromium/content/browser/VideoFullscreenOrientationLockTest.java b/content/public/android/javatests/src/org/chromium/content/browser/VideoFullscreenOrientationLockTest.java
index 133fc31..4ba5c820 100644
--- a/content/public/android/javatests/src/org/chromium/content/browser/VideoFullscreenOrientationLockTest.java
+++ b/content/public/android/javatests/src/org/chromium/content/browser/VideoFullscreenOrientationLockTest.java
@@ -6,17 +6,25 @@
 
 import android.content.pm.ActivityInfo;
 import android.graphics.Rect;
+import android.support.test.InstrumentationRegistry;
 import android.support.test.filters.MediumTest;
 
+import org.junit.Assert;
+import org.junit.Before;
+import org.junit.Rule;
+import org.junit.Test;
+import org.junit.runner.RunWith;
+
 import org.chromium.base.test.util.CommandLineFlags;
 import org.chromium.base.test.util.Feature;
+import org.chromium.content.browser.test.ContentJUnit4ClassRunner;
 import org.chromium.content.browser.test.util.Criteria;
 import org.chromium.content.browser.test.util.CriteriaHelper;
 import org.chromium.content.browser.test.util.DOMUtils;
 import org.chromium.content.browser.test.util.JavaScriptUtils;
 import org.chromium.content.browser.test.util.UiUtils;
 import org.chromium.content.common.ContentSwitches;
-import org.chromium.content_shell_apk.ContentShellTestBase;
+import org.chromium.content_shell_apk.ContentShellActivityTestRule;
 import org.chromium.ui.base.DeviceFormFactor;
 
 import java.util.concurrent.Callable;
@@ -25,27 +33,31 @@
 /**
  * Integration tests for the feature that auto locks the orientation when a video goes fullscreen.
  * See also chrome layer org.chromium.chrome.browser.VideoFullscreenOrientationLockChromeTest
- */
-@CommandLineFlags.Add({ "enable-features=VideoFullscreenOrientationLock",
-                        ContentSwitches.DISABLE_GESTURE_REQUIREMENT_FOR_MEDIA_PLAYBACK })
-public class VideoFullscreenOrientationLockTest extends ContentShellTestBase {
+ContentSwitches.ENABLE_TEST_INTENTS */
+@RunWith(ContentJUnit4ClassRunner.class)
+@CommandLineFlags.Add({"enable-features=VideoFullscreenOrientationLock",
+        ContentSwitches.DISABLE_GESTURE_REQUIREMENT_FOR_MEDIA_PLAYBACK,
+        ContentSwitches.ENABLE_TEST_INTENTS})
+public class VideoFullscreenOrientationLockTest {
+    @Rule
+    public ContentShellActivityTestRule mActivityTestRule = new ContentShellActivityTestRule();
+
     private static final String TEST_URL = "content/test/data/media/video-player.html";
     private static final String VIDEO_ID = "video";
 
-    private void waitForContentsFullscreenState(boolean fullscreenValue)
-            throws InterruptedException {
+    private void waitForContentsFullscreenState(boolean fullscreenValue) {
         CriteriaHelper.pollInstrumentationThread(
                 Criteria.equals(fullscreenValue, new Callable<Boolean>() {
                     @Override
                     public Boolean call() throws InterruptedException, TimeoutException {
-                        return DOMUtils.isFullscreen(getWebContents());
+                        return DOMUtils.isFullscreen(mActivityTestRule.getWebContents());
                     }
                 })
         );
     }
 
     private boolean isScreenOrientationLocked() {
-        return getActivity().getRequestedOrientation()
+        return mActivityTestRule.getActivity().getRequestedOrientation()
                 != ActivityInfo.SCREEN_ORIENTATION_UNSPECIFIED;
     }
 
@@ -55,7 +67,9 @@
         sb.append("  return  screen.orientation.type.startsWith('landscape');");
         sb.append("})();");
 
-        return JavaScriptUtils.executeJavaScriptAndWaitForResult(getWebContents(), sb.toString())
+        return JavaScriptUtils
+                .executeJavaScriptAndWaitForResult(
+                        mActivityTestRule.getWebContents(), sb.toString())
                 .equals("true");
     }
 
@@ -107,29 +121,31 @@
     }
 
     private boolean clickFullscreenButton() throws InterruptedException, TimeoutException {
-        return DOMUtils.clickRect(getContentViewCore(),
-                fullscreenButtonBounds(DOMUtils.getNodeBounds(getWebContents(), VIDEO_ID)));
+        return DOMUtils.clickRect(mActivityTestRule.getContentViewCore(),
+                fullscreenButtonBounds(
+                        DOMUtils.getNodeBounds(mActivityTestRule.getWebContents(), VIDEO_ID)));
     }
 
-    @Override
+    @Before
     public void setUp() throws Exception {
-        super.setUp();
-
-        startActivityWithTestUrl(TEST_URL);
+        mActivityTestRule.launchContentShellWithUrlSync(TEST_URL);
     }
 
+    @Test
     @MediumTest
     @Feature({"VideoFullscreenOrientationLock"})
     public void testEnterExitFullscreenWithControlsButton() throws Exception {
-        if (DeviceFormFactor.isTablet(getInstrumentation().getContext())) return;
+        if (DeviceFormFactor.isTablet(InstrumentationRegistry.getInstrumentation().getContext())) {
+            return;
+        }
 
         // Start playback to guarantee it's properly loaded.
-        assertTrue(DOMUtils.isMediaPaused(getWebContents(), VIDEO_ID));
-        DOMUtils.playMedia(getWebContents(), VIDEO_ID);
-        DOMUtils.waitForMediaPlay(getWebContents(), VIDEO_ID);
+        Assert.assertTrue(DOMUtils.isMediaPaused(mActivityTestRule.getWebContents(), VIDEO_ID));
+        DOMUtils.playMedia(mActivityTestRule.getWebContents(), VIDEO_ID);
+        DOMUtils.waitForMediaPlay(mActivityTestRule.getWebContents(), VIDEO_ID);
 
         // Simulate click on fullscreen button.
-        assertTrue(clickFullscreenButton());
+        Assert.assertTrue(clickFullscreenButton());
         waitForContentsFullscreenState(true);
 
         // Should be locked to landscape now, `waitUntilLockedToLandscape` will throw otherwise.
@@ -137,49 +153,55 @@
 
         // Because of the fullscreen animation, the click on the exit fullscreen button will fail
         // roughly 10% of the time. Settling down the UI reduces the flake to 0%.
-        UiUtils.settleDownUI(getInstrumentation());
+        UiUtils.settleDownUI(InstrumentationRegistry.getInstrumentation());
 
         // Leave fullscreen by clicking back on the button.
-        assertTrue(clickFullscreenButton());
+        Assert.assertTrue(clickFullscreenButton());
         waitForContentsFullscreenState(false);
         waitUntilUnlocked();
     }
 
+    @Test
     @MediumTest
     @Feature({"VideoFullscreenOrientationLock"})
     public void testEnterExitFullscreenWithAPI() throws Exception {
-        if (DeviceFormFactor.isTablet(getInstrumentation().getContext())) return;
+        if (DeviceFormFactor.isTablet(InstrumentationRegistry.getInstrumentation().getContext())) {
+            return;
+        }
 
         // Start playback to guarantee it's properly loaded.
-        assertTrue(DOMUtils.isMediaPaused(getWebContents(), VIDEO_ID));
-        DOMUtils.playMedia(getWebContents(), VIDEO_ID);
-        DOMUtils.waitForMediaPlay(getWebContents(), VIDEO_ID);
+        Assert.assertTrue(DOMUtils.isMediaPaused(mActivityTestRule.getWebContents(), VIDEO_ID));
+        DOMUtils.playMedia(mActivityTestRule.getWebContents(), VIDEO_ID);
+        DOMUtils.waitForMediaPlay(mActivityTestRule.getWebContents(), VIDEO_ID);
 
         // Trigger requestFullscreen() via a click on a button.
-        assertTrue(DOMUtils.clickNode(getContentViewCore(), "fullscreen"));
+        Assert.assertTrue(DOMUtils.clickNode(mActivityTestRule.getContentViewCore(), "fullscreen"));
         waitForContentsFullscreenState(true);
 
         // Should be locked to landscape now, `waitUntilLockedToLandscape` will throw otherwise.
         waitUntilLockedToLandscape();
 
         // Leave fullscreen from API.
-        DOMUtils.exitFullscreen(getWebContents());
+        DOMUtils.exitFullscreen(mActivityTestRule.getWebContents());
         waitForContentsFullscreenState(false);
         waitUntilUnlocked();
     }
 
+    @Test
     @MediumTest
     @Feature({"VideoFullscreenOrientationLock"})
     public void testExitFullscreenByRemovingVideo() throws Exception {
-        if (DeviceFormFactor.isTablet(getInstrumentation().getContext())) return;
+        if (DeviceFormFactor.isTablet(InstrumentationRegistry.getInstrumentation().getContext())) {
+            return;
+        }
 
         // Start playback to guarantee it's properly loaded.
-        assertTrue(DOMUtils.isMediaPaused(getWebContents(), VIDEO_ID));
-        DOMUtils.playMedia(getWebContents(), VIDEO_ID);
-        DOMUtils.waitForMediaPlay(getWebContents(), VIDEO_ID);
+        Assert.assertTrue(DOMUtils.isMediaPaused(mActivityTestRule.getWebContents(), VIDEO_ID));
+        DOMUtils.playMedia(mActivityTestRule.getWebContents(), VIDEO_ID);
+        DOMUtils.waitForMediaPlay(mActivityTestRule.getWebContents(), VIDEO_ID);
 
         // Trigger requestFullscreen() via a click on a button.
-        assertTrue(DOMUtils.clickNode(getContentViewCore(), "fullscreen"));
+        Assert.assertTrue(DOMUtils.clickNode(mActivityTestRule.getContentViewCore(), "fullscreen"));
         waitForContentsFullscreenState(true);
 
         // Should be locked to landscape now, `waitUntilLockedToLandscape` will throw otherwise.
@@ -187,30 +209,34 @@
 
         // Leave fullscreen by removing video element from page.
         JavaScriptUtils.executeJavaScriptAndWaitForResult(
-                getWebContents(), "document.body.innerHTML = '';");
+                mActivityTestRule.getWebContents(), "document.body.innerHTML = '';");
         waitForContentsFullscreenState(false);
         waitUntilUnlocked();
     }
 
+    @Test
     @MediumTest
     @Feature({"VideoFullscreenOrientationLock"})
     public void testExitFullscreenWithNavigation() throws Exception {
-        if (DeviceFormFactor.isTablet(getInstrumentation().getContext())) return;
+        if (DeviceFormFactor.isTablet(InstrumentationRegistry.getInstrumentation().getContext())) {
+            return;
+        }
 
         // Start playback to guarantee it's properly loaded.
-        assertTrue(DOMUtils.isMediaPaused(getWebContents(), VIDEO_ID));
-        DOMUtils.playMedia(getWebContents(), VIDEO_ID);
-        DOMUtils.waitForMediaPlay(getWebContents(), VIDEO_ID);
+        Assert.assertTrue(DOMUtils.isMediaPaused(mActivityTestRule.getWebContents(), VIDEO_ID));
+        DOMUtils.playMedia(mActivityTestRule.getWebContents(), VIDEO_ID);
+        DOMUtils.waitForMediaPlay(mActivityTestRule.getWebContents(), VIDEO_ID);
 
         // Trigger requestFullscreen() via a click on a button.
-        assertTrue(DOMUtils.clickNode(getContentViewCore(), "fullscreen"));
+        Assert.assertTrue(DOMUtils.clickNode(mActivityTestRule.getContentViewCore(), "fullscreen"));
         waitForContentsFullscreenState(true);
 
         // Should be locked to landscape now, `waitUntilLockedToLandscape` will throw otherwise.
         waitUntilLockedToLandscape();
 
         // Leave fullscreen by navigating page.
-        JavaScriptUtils.executeJavaScriptAndWaitForResult(getWebContents(), "location.reload();");
+        JavaScriptUtils.executeJavaScriptAndWaitForResult(
+                mActivityTestRule.getWebContents(), "location.reload();");
         waitForContentsFullscreenState(false);
         waitUntilUnlocked();
     }
diff --git a/content/public/android/javatests/src/org/chromium/content/browser/input/CursorAnchorInfoControllerTest.java b/content/public/android/javatests/src/org/chromium/content/browser/input/CursorAnchorInfoControllerTest.java
index bf6a11d..756e8b5 100644
--- a/content/public/android/javatests/src/org/chromium/content/browser/input/CursorAnchorInfoControllerTest.java
+++ b/content/public/android/javatests/src/org/chromium/content/browser/input/CursorAnchorInfoControllerTest.java
@@ -9,22 +9,27 @@
 import android.graphics.RectF;
 import android.os.Build;
 import android.support.test.filters.SmallTest;
-import android.test.InstrumentationTestCase;
 import android.text.TextUtils;
 import android.view.View;
 import android.view.inputmethod.CursorAnchorInfo;
 
+import org.junit.Assert;
+import org.junit.Test;
+import org.junit.runner.RunWith;
+
 import org.chromium.base.test.util.Feature;
 import org.chromium.base.test.util.MinAndroidSdkLevel;
 import org.chromium.content.browser.RenderCoordinates;
+import org.chromium.content.browser.test.ContentJUnit4ClassRunner;
 import org.chromium.content.browser.test.util.TestInputMethodManagerWrapper;
 
 /**
  * Test for {@link CursorAnchorInfoController}.
  */
+@RunWith(ContentJUnit4ClassRunner.class)
 @MinAndroidSdkLevel(Build.VERSION_CODES.LOLLIPOP)
 @TargetApi(Build.VERSION_CODES.LOLLIPOP)
-public class CursorAnchorInfoControllerTest extends InstrumentationTestCase {
+public class CursorAnchorInfoControllerTest {
     private static RenderCoordinates createRenderCoordinates(float deviceScaleFactor,
             float contentOffsetYPix) {
         RenderCoordinates renderCoordinates = new RenderCoordinates();
@@ -87,44 +92,47 @@
         }
     }
 
-    private void assertScaleAndTranslate(float expectedScale, float expectedTranslateX,
-            float expectedTranslateY, CursorAnchorInfo actual) {
-        Matrix expectedMatrix = new Matrix();
-        expectedMatrix.setScale(expectedScale, expectedScale);
-        expectedMatrix.postTranslate(expectedTranslateX, expectedTranslateY);
-        assertEquals(expectedMatrix, actual.getMatrix());
+    private static class AssertionHelper {
+        static void assertScaleAndTranslate(float expectedScale, float expectedTranslateX,
+                float expectedTranslateY, CursorAnchorInfo actual) {
+            Matrix expectedMatrix = new Matrix();
+            expectedMatrix.setScale(expectedScale, expectedScale);
+            expectedMatrix.postTranslate(expectedTranslateX, expectedTranslateY);
+            Assert.assertEquals(expectedMatrix, actual.getMatrix());
+        }
+
+        static void assertHasInsertionMarker(int expectedFlags, float expectedHorizontal,
+                float expectedTop, float expectedBaseline, float expectedBottom,
+                CursorAnchorInfo actual) {
+            Assert.assertEquals(expectedFlags, actual.getInsertionMarkerFlags());
+            Assert.assertEquals(expectedHorizontal, actual.getInsertionMarkerHorizontal(), 0);
+            Assert.assertEquals(expectedTop, actual.getInsertionMarkerTop(), 0);
+            Assert.assertEquals(expectedBaseline, actual.getInsertionMarkerBaseline(), 0);
+            Assert.assertEquals(expectedBottom, actual.getInsertionMarkerBottom(), 0);
+        }
+
+        static void assertHasNoInsertionMarker(CursorAnchorInfo actual) {
+            Assert.assertEquals(0, actual.getInsertionMarkerFlags());
+            Assert.assertTrue(Float.isNaN(actual.getInsertionMarkerHorizontal()));
+            Assert.assertTrue(Float.isNaN(actual.getInsertionMarkerTop()));
+            Assert.assertTrue(Float.isNaN(actual.getInsertionMarkerBaseline()));
+            Assert.assertTrue(Float.isNaN(actual.getInsertionMarkerBottom()));
+        }
+
+        static void assertComposingText(CharSequence expectedComposingText,
+                int expectedComposingTextStart, CursorAnchorInfo actual) {
+            Assert.assertTrue(TextUtils.equals(expectedComposingText, actual.getComposingText()));
+            Assert.assertEquals(expectedComposingTextStart, actual.getComposingTextStart());
+        }
+
+        static void assertSelection(
+                int expecteSelectionStart, int expecteSelectionEnd, CursorAnchorInfo actual) {
+            Assert.assertEquals(expecteSelectionStart, actual.getSelectionStart());
+            Assert.assertEquals(expecteSelectionEnd, actual.getSelectionEnd());
+        }
     }
 
-    private void assertHasInsertionMarker(int expectedFlags, float expectedHorizontal,
-            float expectedTop, float expectedBaseline, float expectedBottom,
-            CursorAnchorInfo actual) {
-        assertEquals(expectedFlags, actual.getInsertionMarkerFlags());
-        assertEquals(expectedHorizontal, actual.getInsertionMarkerHorizontal());
-        assertEquals(expectedTop, actual.getInsertionMarkerTop());
-        assertEquals(expectedBaseline, actual.getInsertionMarkerBaseline());
-        assertEquals(expectedBottom, actual.getInsertionMarkerBottom());
-    }
-
-    private void assertHasNoInsertionMarker(CursorAnchorInfo actual) {
-        assertEquals(0, actual.getInsertionMarkerFlags());
-        assertTrue(Float.isNaN(actual.getInsertionMarkerHorizontal()));
-        assertTrue(Float.isNaN(actual.getInsertionMarkerTop()));
-        assertTrue(Float.isNaN(actual.getInsertionMarkerBaseline()));
-        assertTrue(Float.isNaN(actual.getInsertionMarkerBottom()));
-    }
-
-    private void assertComposingText(CharSequence expectedComposingText,
-            int expectedComposingTextStart, CursorAnchorInfo actual) {
-        assertTrue(TextUtils.equals(expectedComposingText, actual.getComposingText()));
-        assertEquals(expectedComposingTextStart, actual.getComposingTextStart());
-    }
-
-    private void assertSelection(int expecteSelectionStart, int expecteSelectionEnd,
-            CursorAnchorInfo actual) {
-        assertEquals(expecteSelectionStart, actual.getSelectionStart());
-        assertEquals(expecteSelectionEnd, actual.getSelectionEnd());
-    }
-
+    @Test
     @SmallTest
     @Feature({"Input-Text-IME"})
     public void testFocusedNodeChanged() {
@@ -138,7 +146,7 @@
         viewDelegate.locationX = 0;
         viewDelegate.locationY = 0;
 
-        assertFalse(
+        Assert.assertFalse(
                 "IC#onRequestCursorUpdates() must be rejected if the focused node is not editable.",
                 controller.onRequestCursorUpdates(
                         false /* immediate request */, true /* monitor request */, view));
@@ -148,7 +156,7 @@
         composingTextDelegate.updateTextAndSelection(controller, "0", 0, 1, 0, 1);
         controller.onUpdateFrameInfo(createRenderCoordinates(1.0f, 0.0f),
                 true, true, 2.0f, 0.0f, 3.0f, view);
-        assertEquals(0, immw.getUpdateCursorAnchorInfoCounter());
+        Assert.assertEquals(0, immw.getUpdateCursorAnchorInfoCounter());
 
         controller.focusedNodeChanged(false);
         composingTextDelegate.clearTextAndSelection(controller);
@@ -159,9 +167,10 @@
         composingTextDelegate.updateTextAndSelection(controller, "1", 0, 1, 0, 1);
         controller.onUpdateFrameInfo(createRenderCoordinates(1.0f, 100.0f),
                 true, true, 2.0f, 0.0f, 3.0f, view);
-        assertEquals(0, immw.getUpdateCursorAnchorInfoCounter());
+        Assert.assertEquals(0, immw.getUpdateCursorAnchorInfoCounter());
     }
 
+    @Test
     @SmallTest
     @Feature({"Input-Text-IME"})
     public void testImmediateMode() {
@@ -179,65 +188,65 @@
 
         // Make sure that #updateCursorAnchorInfo() is not be called until the matrix info becomes
         // available with #onUpdateFrameInfo().
-        assertTrue(controller.onRequestCursorUpdates(
+        Assert.assertTrue(controller.onRequestCursorUpdates(
                 true /* immediate request */, false /* monitor request */, view));
         controller.setCompositionCharacterBounds(new float[] {0.0f, 1.0f, 2.0f, 3.0f}, view);
         composingTextDelegate.updateTextAndSelection(controller, "0", 0, 1, 0, 1);
-        assertEquals(0, immw.getUpdateCursorAnchorInfoCounter());
+        Assert.assertEquals(0, immw.getUpdateCursorAnchorInfoCounter());
         controller.onUpdateFrameInfo(createRenderCoordinates(1.0f, 0.0f),
                 true, true, 2.0f, 0.0f, 3.0f, view);
-        assertEquals(1, immw.getUpdateCursorAnchorInfoCounter());
-        assertScaleAndTranslate(1.0f, 0.0f, 0.0f, immw.getLastCursorAnchorInfo());
-        assertHasInsertionMarker(CursorAnchorInfo.FLAG_HAS_VISIBLE_REGION, 2.0f, 0.0f, 3.0f,
-                3.0f, immw.getLastCursorAnchorInfo());
-        assertEquals(new RectF(0.0f, 1.0f, 2.0f, 3.0f),
+        Assert.assertEquals(1, immw.getUpdateCursorAnchorInfoCounter());
+        AssertionHelper.assertScaleAndTranslate(1.0f, 0.0f, 0.0f, immw.getLastCursorAnchorInfo());
+        AssertionHelper.assertHasInsertionMarker(CursorAnchorInfo.FLAG_HAS_VISIBLE_REGION, 2.0f,
+                0.0f, 3.0f, 3.0f, immw.getLastCursorAnchorInfo());
+        Assert.assertEquals(new RectF(0.0f, 1.0f, 2.0f, 3.0f),
                 immw.getLastCursorAnchorInfo().getCharacterBounds(0));
-        assertEquals(CursorAnchorInfo.FLAG_HAS_VISIBLE_REGION,
+        Assert.assertEquals(CursorAnchorInfo.FLAG_HAS_VISIBLE_REGION,
                 immw.getLastCursorAnchorInfo().getCharacterBoundsFlags(0));
-        assertComposingText("0", 0, immw.getLastCursorAnchorInfo());
-        assertSelection(0, 1, immw.getLastCursorAnchorInfo());
+        AssertionHelper.assertComposingText("0", 0, immw.getLastCursorAnchorInfo());
+        AssertionHelper.assertSelection(0, 1, immw.getLastCursorAnchorInfo());
         immw.clearLastCursorAnchorInfo();
 
         // Make sure that 2nd call of #onUpdateFrameInfo() is ignored.
         controller.onUpdateFrameInfo(createRenderCoordinates(2.0f, 0.0f),
                 true, true, 2.0f, 0.0f, 3.0f, view);
-        assertEquals(1, immw.getUpdateCursorAnchorInfoCounter());
+        Assert.assertEquals(1, immw.getUpdateCursorAnchorInfoCounter());
 
         // Make sure that #onUpdateFrameInfo() is immediately called because the matrix info is
         // already available.
-        assertTrue(controller.onRequestCursorUpdates(
+        Assert.assertTrue(controller.onRequestCursorUpdates(
                 true /* immediate request */, false /* monitor request */, view));
-        assertEquals(2, immw.getUpdateCursorAnchorInfoCounter());
-        assertScaleAndTranslate(2.0f, 0.0f, 0.0f, immw.getLastCursorAnchorInfo());
-        assertHasInsertionMarker(CursorAnchorInfo.FLAG_HAS_VISIBLE_REGION, 2.0f, 0.0f, 3.0f,
-                3.0f, immw.getLastCursorAnchorInfo());
-        assertEquals(new RectF(0.0f, 1.0f, 2.0f, 3.0f),
+        Assert.assertEquals(2, immw.getUpdateCursorAnchorInfoCounter());
+        AssertionHelper.assertScaleAndTranslate(2.0f, 0.0f, 0.0f, immw.getLastCursorAnchorInfo());
+        AssertionHelper.assertHasInsertionMarker(CursorAnchorInfo.FLAG_HAS_VISIBLE_REGION, 2.0f,
+                0.0f, 3.0f, 3.0f, immw.getLastCursorAnchorInfo());
+        Assert.assertEquals(new RectF(0.0f, 1.0f, 2.0f, 3.0f),
                 immw.getLastCursorAnchorInfo().getCharacterBounds(0));
-        assertEquals(CursorAnchorInfo.FLAG_HAS_VISIBLE_REGION,
+        Assert.assertEquals(CursorAnchorInfo.FLAG_HAS_VISIBLE_REGION,
                 immw.getLastCursorAnchorInfo().getCharacterBoundsFlags(0));
-        assertComposingText("0", 0, immw.getLastCursorAnchorInfo());
-        assertSelection(0, 1, immw.getLastCursorAnchorInfo());
+        AssertionHelper.assertComposingText("0", 0, immw.getLastCursorAnchorInfo());
+        AssertionHelper.assertSelection(0, 1, immw.getLastCursorAnchorInfo());
         immw.clearLastCursorAnchorInfo();
 
         // Make sure that CURSOR_UPDATE_IMMEDIATE and CURSOR_UPDATE_MONITOR can be specified at
         // the same time.
-        assertTrue(controller.onRequestCursorUpdates(
+        Assert.assertTrue(controller.onRequestCursorUpdates(
                 true /* immediate request*/, true /* monitor request */, view));
-        assertEquals(3, immw.getUpdateCursorAnchorInfoCounter());
-        assertScaleAndTranslate(2.0f, 0.0f, 0.0f, immw.getLastCursorAnchorInfo());
+        Assert.assertEquals(3, immw.getUpdateCursorAnchorInfoCounter());
+        AssertionHelper.assertScaleAndTranslate(2.0f, 0.0f, 0.0f, immw.getLastCursorAnchorInfo());
         immw.clearLastCursorAnchorInfo();
         controller.onUpdateFrameInfo(createRenderCoordinates(1.0f, 0.0f),
                 true, true, 2.0f, 0.0f, 3.0f, view);
-        assertEquals(4, immw.getUpdateCursorAnchorInfoCounter());
-        assertScaleAndTranslate(1.0f, 0.0f, 0.0f, immw.getLastCursorAnchorInfo());
-        assertHasInsertionMarker(CursorAnchorInfo.FLAG_HAS_VISIBLE_REGION, 2.0f, 0.0f, 3.0f,
-                3.0f, immw.getLastCursorAnchorInfo());
-        assertEquals(new RectF(0.0f, 1.0f, 2.0f, 3.0f),
+        Assert.assertEquals(4, immw.getUpdateCursorAnchorInfoCounter());
+        AssertionHelper.assertScaleAndTranslate(1.0f, 0.0f, 0.0f, immw.getLastCursorAnchorInfo());
+        AssertionHelper.assertHasInsertionMarker(CursorAnchorInfo.FLAG_HAS_VISIBLE_REGION, 2.0f,
+                0.0f, 3.0f, 3.0f, immw.getLastCursorAnchorInfo());
+        Assert.assertEquals(new RectF(0.0f, 1.0f, 2.0f, 3.0f),
                 immw.getLastCursorAnchorInfo().getCharacterBounds(0));
-        assertEquals(CursorAnchorInfo.FLAG_HAS_VISIBLE_REGION,
+        Assert.assertEquals(CursorAnchorInfo.FLAG_HAS_VISIBLE_REGION,
                 immw.getLastCursorAnchorInfo().getCharacterBoundsFlags(0));
-        assertComposingText("0", 0, immw.getLastCursorAnchorInfo());
-        assertSelection(0, 1, immw.getLastCursorAnchorInfo());
+        AssertionHelper.assertComposingText("0", 0, immw.getLastCursorAnchorInfo());
+        AssertionHelper.assertSelection(0, 1, immw.getLastCursorAnchorInfo());
         immw.clearLastCursorAnchorInfo();
 
         // Make sure that CURSOR_UPDATE_IMMEDIATE is cleared if the focused node becomes
@@ -245,32 +254,33 @@
         controller.focusedNodeChanged(false);
         controller.focusedNodeChanged(true);
         composingTextDelegate.clearTextAndSelection(controller);
-        assertTrue(controller.onRequestCursorUpdates(
+        Assert.assertTrue(controller.onRequestCursorUpdates(
                 true /* immediate request */, false /* monitor request */, view));
         controller.focusedNodeChanged(false);
         composingTextDelegate.clearTextAndSelection(controller);
         controller.onUpdateFrameInfo(createRenderCoordinates(1.0f, 100.0f),
                 true, true, 2.0f, 0.0f, 3.0f, view);
-        assertEquals(4, immw.getUpdateCursorAnchorInfoCounter());
+        Assert.assertEquals(4, immw.getUpdateCursorAnchorInfoCounter());
 
         // Make sure that CURSOR_UPDATE_IMMEDIATE can be enabled again.
         controller.focusedNodeChanged(true);
         composingTextDelegate.clearTextAndSelection(controller);
-        assertTrue(controller.onRequestCursorUpdates(
+        Assert.assertTrue(controller.onRequestCursorUpdates(
                 true /* immediate request */, false /* monitor request */, view));
         controller.onUpdateFrameInfo(createRenderCoordinates(1.0f, 0.0f),
                 true, true, 2.0f, 0.0f, 3.0f, view);
-        assertEquals(5, immw.getUpdateCursorAnchorInfoCounter());
-        assertScaleAndTranslate(1.0f, 0.0f, 0.0f, immw.getLastCursorAnchorInfo());
-        assertHasInsertionMarker(CursorAnchorInfo.FLAG_HAS_VISIBLE_REGION, 2.0f, 0.0f, 3.0f,
-                3.0f, immw.getLastCursorAnchorInfo());
-        assertEquals(null, immw.getLastCursorAnchorInfo().getCharacterBounds(0));
-        assertEquals(0, immw.getLastCursorAnchorInfo().getCharacterBoundsFlags(0));
-        assertComposingText(null, -1, immw.getLastCursorAnchorInfo());
-        assertSelection(-1, -1, immw.getLastCursorAnchorInfo());
+        Assert.assertEquals(5, immw.getUpdateCursorAnchorInfoCounter());
+        AssertionHelper.assertScaleAndTranslate(1.0f, 0.0f, 0.0f, immw.getLastCursorAnchorInfo());
+        AssertionHelper.assertHasInsertionMarker(CursorAnchorInfo.FLAG_HAS_VISIBLE_REGION, 2.0f,
+                0.0f, 3.0f, 3.0f, immw.getLastCursorAnchorInfo());
+        Assert.assertEquals(null, immw.getLastCursorAnchorInfo().getCharacterBounds(0));
+        Assert.assertEquals(0, immw.getLastCursorAnchorInfo().getCharacterBoundsFlags(0));
+        AssertionHelper.assertComposingText(null, -1, immw.getLastCursorAnchorInfo());
+        AssertionHelper.assertSelection(-1, -1, immw.getLastCursorAnchorInfo());
         immw.clearLastCursorAnchorInfo();
     }
 
+    @Test
     @SmallTest
     @Feature({"Input-Text-IME"})
     public void testMonitorMode() {
@@ -288,23 +298,23 @@
 
         // Make sure that #updateCursorAnchorInfo() is not be called until the matrix info becomes
         // available with #onUpdateFrameInfo().
-        assertTrue(controller.onRequestCursorUpdates(
+        Assert.assertTrue(controller.onRequestCursorUpdates(
                 false /* immediate request */, true /* monitor request */, view));
         controller.setCompositionCharacterBounds(new float[] {0.0f, 1.0f, 2.0f, 3.0f}, view);
         composingTextDelegate.updateTextAndSelection(controller, "0", 0, 1, 0, 1);
-        assertEquals(0, immw.getUpdateCursorAnchorInfoCounter());
+        Assert.assertEquals(0, immw.getUpdateCursorAnchorInfoCounter());
         controller.onUpdateFrameInfo(createRenderCoordinates(1.0f, 0.0f),
                 true, true, 2.0f, 0.0f, 3.0f, view);
-        assertEquals(1, immw.getUpdateCursorAnchorInfoCounter());
-        assertScaleAndTranslate(1.0f, 0.0f, 0.0f, immw.getLastCursorAnchorInfo());
-        assertHasInsertionMarker(CursorAnchorInfo.FLAG_HAS_VISIBLE_REGION, 2.0f, 0.0f, 3.0f,
-                3.0f, immw.getLastCursorAnchorInfo());
-        assertEquals(new RectF(0.0f, 1.0f, 2.0f, 3.0f),
+        Assert.assertEquals(1, immw.getUpdateCursorAnchorInfoCounter());
+        AssertionHelper.assertScaleAndTranslate(1.0f, 0.0f, 0.0f, immw.getLastCursorAnchorInfo());
+        AssertionHelper.assertHasInsertionMarker(CursorAnchorInfo.FLAG_HAS_VISIBLE_REGION, 2.0f,
+                0.0f, 3.0f, 3.0f, immw.getLastCursorAnchorInfo());
+        Assert.assertEquals(new RectF(0.0f, 1.0f, 2.0f, 3.0f),
                 immw.getLastCursorAnchorInfo().getCharacterBounds(0));
-        assertEquals(CursorAnchorInfo.FLAG_HAS_VISIBLE_REGION,
+        Assert.assertEquals(CursorAnchorInfo.FLAG_HAS_VISIBLE_REGION,
                 immw.getLastCursorAnchorInfo().getCharacterBoundsFlags(0));
-        assertComposingText("0", 0, immw.getLastCursorAnchorInfo());
-        assertSelection(0, 1, immw.getLastCursorAnchorInfo());
+        AssertionHelper.assertComposingText("0", 0, immw.getLastCursorAnchorInfo());
+        AssertionHelper.assertSelection(0, 1, immw.getLastCursorAnchorInfo());
         immw.clearLastCursorAnchorInfo();
 
         // Make sure that #updateCursorAnchorInfo() is not be called if any coordinate parameter is
@@ -312,58 +322,58 @@
         controller.setCompositionCharacterBounds(new float[] {0.0f, 1.0f, 2.0f, 3.0f}, view);
         controller.onUpdateFrameInfo(createRenderCoordinates(1.0f, 0.0f),
                 true, true, 2.0f, 0.0f, 3.0f, view);
-        assertEquals(1, immw.getUpdateCursorAnchorInfoCounter());
+        Assert.assertEquals(1, immw.getUpdateCursorAnchorInfoCounter());
 
         // Make sure that #updateCursorAnchorInfo() is called if #setCompositionCharacterBounds()
         // is called with a different parameter.
         controller.setCompositionCharacterBounds(new float[] {30.0f, 1.0f, 32.0f, 3.0f}, view);
-        assertEquals(2, immw.getUpdateCursorAnchorInfoCounter());
+        Assert.assertEquals(2, immw.getUpdateCursorAnchorInfoCounter());
         controller.onUpdateFrameInfo(createRenderCoordinates(1.0f, 0.0f),
                 true, true, 2.0f, 0.0f, 3.0f, view);
-        assertEquals(2, immw.getUpdateCursorAnchorInfoCounter());
-        assertScaleAndTranslate(1.0f, 0.0f, 0.0f, immw.getLastCursorAnchorInfo());
-        assertHasInsertionMarker(CursorAnchorInfo.FLAG_HAS_VISIBLE_REGION, 2.0f, 0.0f, 3.0f,
-                3.0f, immw.getLastCursorAnchorInfo());
-        assertEquals(new RectF(30.0f, 1.0f, 32.0f, 3.0f),
+        Assert.assertEquals(2, immw.getUpdateCursorAnchorInfoCounter());
+        AssertionHelper.assertScaleAndTranslate(1.0f, 0.0f, 0.0f, immw.getLastCursorAnchorInfo());
+        AssertionHelper.assertHasInsertionMarker(CursorAnchorInfo.FLAG_HAS_VISIBLE_REGION, 2.0f,
+                0.0f, 3.0f, 3.0f, immw.getLastCursorAnchorInfo());
+        Assert.assertEquals(new RectF(30.0f, 1.0f, 32.0f, 3.0f),
                 immw.getLastCursorAnchorInfo().getCharacterBounds(0));
-        assertEquals(CursorAnchorInfo.FLAG_HAS_VISIBLE_REGION,
+        Assert.assertEquals(CursorAnchorInfo.FLAG_HAS_VISIBLE_REGION,
                 immw.getLastCursorAnchorInfo().getCharacterBoundsFlags(0));
-        assertComposingText("0", 0, immw.getLastCursorAnchorInfo());
-        assertSelection(0, 1, immw.getLastCursorAnchorInfo());
+        AssertionHelper.assertComposingText("0", 0, immw.getLastCursorAnchorInfo());
+        AssertionHelper.assertSelection(0, 1, immw.getLastCursorAnchorInfo());
         immw.clearLastCursorAnchorInfo();
 
         // Make sure that #updateCursorAnchorInfo() is called if #updateTextAndSelection()
         // is called with a different parameter.
         composingTextDelegate.updateTextAndSelection(controller, "1", 0, 1, 0, 1);
-        assertEquals(2, immw.getUpdateCursorAnchorInfoCounter());
+        Assert.assertEquals(2, immw.getUpdateCursorAnchorInfoCounter());
         controller.onUpdateFrameInfo(createRenderCoordinates(1.0f, 0.0f),
                 true, true, 2.0f, 0.0f, 3.0f, view);
-        assertEquals(3, immw.getUpdateCursorAnchorInfoCounter());
-        assertScaleAndTranslate(1.0f, 0.0f, 0.0f, immw.getLastCursorAnchorInfo());
-        assertHasInsertionMarker(CursorAnchorInfo.FLAG_HAS_VISIBLE_REGION, 2.0f, 0.0f, 3.0f,
-                3.0f, immw.getLastCursorAnchorInfo());
-        assertEquals(new RectF(30.0f, 1.0f, 32.0f, 3.0f),
+        Assert.assertEquals(3, immw.getUpdateCursorAnchorInfoCounter());
+        AssertionHelper.assertScaleAndTranslate(1.0f, 0.0f, 0.0f, immw.getLastCursorAnchorInfo());
+        AssertionHelper.assertHasInsertionMarker(CursorAnchorInfo.FLAG_HAS_VISIBLE_REGION, 2.0f,
+                0.0f, 3.0f, 3.0f, immw.getLastCursorAnchorInfo());
+        Assert.assertEquals(new RectF(30.0f, 1.0f, 32.0f, 3.0f),
                 immw.getLastCursorAnchorInfo().getCharacterBounds(0));
-        assertEquals(CursorAnchorInfo.FLAG_HAS_VISIBLE_REGION,
+        Assert.assertEquals(CursorAnchorInfo.FLAG_HAS_VISIBLE_REGION,
                 immw.getLastCursorAnchorInfo().getCharacterBoundsFlags(0));
-        assertComposingText("1", 0, immw.getLastCursorAnchorInfo());
-        assertSelection(0, 1, immw.getLastCursorAnchorInfo());
+        AssertionHelper.assertComposingText("1", 0, immw.getLastCursorAnchorInfo());
+        AssertionHelper.assertSelection(0, 1, immw.getLastCursorAnchorInfo());
         immw.clearLastCursorAnchorInfo();
 
         // Make sure that #updateCursorAnchorInfo() is called if #onUpdateFrameInfo()
         // is called with a different parameter.
         controller.onUpdateFrameInfo(createRenderCoordinates(2.0f, 0.0f),
                 true, true, 2.0f, 0.0f, 3.0f, view);
-        assertEquals(4, immw.getUpdateCursorAnchorInfoCounter());
-        assertScaleAndTranslate(2.0f, 0.0f, 0.0f, immw.getLastCursorAnchorInfo());
-        assertHasInsertionMarker(CursorAnchorInfo.FLAG_HAS_VISIBLE_REGION, 2.0f, 0.0f, 3.0f,
-                3.0f, immw.getLastCursorAnchorInfo());
-        assertEquals(new RectF(30.0f, 1.0f, 32.0f, 3.0f),
+        Assert.assertEquals(4, immw.getUpdateCursorAnchorInfoCounter());
+        AssertionHelper.assertScaleAndTranslate(2.0f, 0.0f, 0.0f, immw.getLastCursorAnchorInfo());
+        AssertionHelper.assertHasInsertionMarker(CursorAnchorInfo.FLAG_HAS_VISIBLE_REGION, 2.0f,
+                0.0f, 3.0f, 3.0f, immw.getLastCursorAnchorInfo());
+        Assert.assertEquals(new RectF(30.0f, 1.0f, 32.0f, 3.0f),
                 immw.getLastCursorAnchorInfo().getCharacterBounds(0));
-        assertEquals(CursorAnchorInfo.FLAG_HAS_VISIBLE_REGION,
+        Assert.assertEquals(CursorAnchorInfo.FLAG_HAS_VISIBLE_REGION,
                 immw.getLastCursorAnchorInfo().getCharacterBoundsFlags(0));
-        assertComposingText("1", 0, immw.getLastCursorAnchorInfo());
-        assertSelection(0, 1, immw.getLastCursorAnchorInfo());
+        AssertionHelper.assertComposingText("1", 0, immw.getLastCursorAnchorInfo());
+        AssertionHelper.assertSelection(0, 1, immw.getLastCursorAnchorInfo());
         immw.clearLastCursorAnchorInfo();
 
         // Make sure that #updateCursorAnchorInfo() is called when the view origin is changed.
@@ -371,16 +381,16 @@
         viewDelegate.locationY = 9;
         controller.onUpdateFrameInfo(createRenderCoordinates(2.0f, 0.0f),
                 true, true, 2.0f, 0.0f, 3.0f, view);
-        assertEquals(5, immw.getUpdateCursorAnchorInfoCounter());
-        assertScaleAndTranslate(2.0f, 7.0f, 9.0f, immw.getLastCursorAnchorInfo());
-        assertHasInsertionMarker(CursorAnchorInfo.FLAG_HAS_VISIBLE_REGION, 2.0f, 0.0f, 3.0f,
-                3.0f, immw.getLastCursorAnchorInfo());
-        assertEquals(new RectF(30.0f, 1.0f, 32.0f, 3.0f),
+        Assert.assertEquals(5, immw.getUpdateCursorAnchorInfoCounter());
+        AssertionHelper.assertScaleAndTranslate(2.0f, 7.0f, 9.0f, immw.getLastCursorAnchorInfo());
+        AssertionHelper.assertHasInsertionMarker(CursorAnchorInfo.FLAG_HAS_VISIBLE_REGION, 2.0f,
+                0.0f, 3.0f, 3.0f, immw.getLastCursorAnchorInfo());
+        Assert.assertEquals(new RectF(30.0f, 1.0f, 32.0f, 3.0f),
                 immw.getLastCursorAnchorInfo().getCharacterBounds(0));
-        assertEquals(CursorAnchorInfo.FLAG_HAS_VISIBLE_REGION,
+        Assert.assertEquals(CursorAnchorInfo.FLAG_HAS_VISIBLE_REGION,
                 immw.getLastCursorAnchorInfo().getCharacterBoundsFlags(0));
-        assertComposingText("1", 0, immw.getLastCursorAnchorInfo());
-        assertSelection(0, 1, immw.getLastCursorAnchorInfo());
+        AssertionHelper.assertComposingText("1", 0, immw.getLastCursorAnchorInfo());
+        AssertionHelper.assertSelection(0, 1, immw.getLastCursorAnchorInfo());
         immw.clearLastCursorAnchorInfo();
 
         // Make sure that CURSOR_UPDATE_IMMEDIATE is cleared if the focused node becomes
@@ -388,7 +398,7 @@
         controller.focusedNodeChanged(false);
         controller.focusedNodeChanged(true);
         composingTextDelegate.clearTextAndSelection(controller);
-        assertTrue(controller.onRequestCursorUpdates(
+        Assert.assertTrue(controller.onRequestCursorUpdates(
                 false /* immediate request */, true /* monitor request */, view));
         controller.focusedNodeChanged(false);
         composingTextDelegate.clearTextAndSelection(controller);
@@ -396,33 +406,34 @@
         composingTextDelegate.updateTextAndSelection(controller, "0", 0, 1, 0, 1);
         controller.onUpdateFrameInfo(createRenderCoordinates(1.0f, 0.0f),
                 true, true, 2.0f, 0.0f, 3.0f, view);
-        assertEquals(5, immw.getUpdateCursorAnchorInfoCounter());
+        Assert.assertEquals(5, immw.getUpdateCursorAnchorInfoCounter());
 
         // Make sure that CURSOR_UPDATE_MONITOR can be enabled again.
         controller.focusedNodeChanged(true);
         composingTextDelegate.clearTextAndSelection(controller);
-        assertTrue(controller.onRequestCursorUpdates(
+        Assert.assertTrue(controller.onRequestCursorUpdates(
                 false /* immediate request */, true /* monitor request */, view));
         controller.setCompositionCharacterBounds(new float[] {0.0f, 1.0f, 2.0f, 3.0f}, view);
         composingTextDelegate.updateTextAndSelection(controller, "0", 0, 1, 0, 1);
-        assertEquals(5, immw.getUpdateCursorAnchorInfoCounter());
+        Assert.assertEquals(5, immw.getUpdateCursorAnchorInfoCounter());
         viewDelegate.locationX = 0;
         viewDelegate.locationY = 0;
         controller.onUpdateFrameInfo(createRenderCoordinates(1.0f, 0.0f),
                 true, true, 2.0f, 0.0f, 3.0f, view);
-        assertEquals(6, immw.getUpdateCursorAnchorInfoCounter());
-        assertScaleAndTranslate(1.0f, 0.0f, 0.0f, immw.getLastCursorAnchorInfo());
-        assertHasInsertionMarker(CursorAnchorInfo.FLAG_HAS_VISIBLE_REGION, 2.0f, 0.0f, 3.0f,
-                3.0f, immw.getLastCursorAnchorInfo());
-        assertEquals(new RectF(0.0f, 1.0f, 2.0f, 3.0f),
+        Assert.assertEquals(6, immw.getUpdateCursorAnchorInfoCounter());
+        AssertionHelper.assertScaleAndTranslate(1.0f, 0.0f, 0.0f, immw.getLastCursorAnchorInfo());
+        AssertionHelper.assertHasInsertionMarker(CursorAnchorInfo.FLAG_HAS_VISIBLE_REGION, 2.0f,
+                0.0f, 3.0f, 3.0f, immw.getLastCursorAnchorInfo());
+        Assert.assertEquals(new RectF(0.0f, 1.0f, 2.0f, 3.0f),
                 immw.getLastCursorAnchorInfo().getCharacterBounds(0));
-        assertEquals(CursorAnchorInfo.FLAG_HAS_VISIBLE_REGION,
+        Assert.assertEquals(CursorAnchorInfo.FLAG_HAS_VISIBLE_REGION,
                 immw.getLastCursorAnchorInfo().getCharacterBoundsFlags(0));
-        assertComposingText("0", 0, immw.getLastCursorAnchorInfo());
-        assertSelection(0, 1, immw.getLastCursorAnchorInfo());
+        AssertionHelper.assertComposingText("0", 0, immw.getLastCursorAnchorInfo());
+        AssertionHelper.assertSelection(0, 1, immw.getLastCursorAnchorInfo());
         immw.clearLastCursorAnchorInfo();
     }
 
+    @Test
     @SmallTest
     @Feature({"Input-Text-IME"})
     public void testSetCompositionCharacterBounds() {
@@ -438,7 +449,7 @@
 
         controller.focusedNodeChanged(true);
         composingTextDelegate.clearTextAndSelection(controller);
-        assertTrue(controller.onRequestCursorUpdates(
+        Assert.assertTrue(controller.onRequestCursorUpdates(
                 false /* immediate request */, true /* monitor request */, view));
 
         composingTextDelegate.updateTextAndSelection(controller, "01234", 1, 3, 1, 1);
@@ -446,23 +457,24 @@
                 4.0f, 1.1f, 6.0f, 2.9f}, view);
         controller.onUpdateFrameInfo(createRenderCoordinates(1.0f, 0.0f),
                 false, false, Float.NaN, Float.NaN, Float.NaN, view);
-        assertEquals(1, immw.getUpdateCursorAnchorInfoCounter());
-        assertEquals(null, immw.getLastCursorAnchorInfo().getCharacterBounds(0));
-        assertEquals(0, immw.getLastCursorAnchorInfo().getCharacterBoundsFlags(0));
-        assertEquals(new RectF(0.0f, 1.0f, 2.0f, 3.0f),
+        Assert.assertEquals(1, immw.getUpdateCursorAnchorInfoCounter());
+        Assert.assertEquals(null, immw.getLastCursorAnchorInfo().getCharacterBounds(0));
+        Assert.assertEquals(0, immw.getLastCursorAnchorInfo().getCharacterBoundsFlags(0));
+        Assert.assertEquals(new RectF(0.0f, 1.0f, 2.0f, 3.0f),
                 immw.getLastCursorAnchorInfo().getCharacterBounds(1));
-        assertEquals(CursorAnchorInfo.FLAG_HAS_VISIBLE_REGION,
+        Assert.assertEquals(CursorAnchorInfo.FLAG_HAS_VISIBLE_REGION,
                 immw.getLastCursorAnchorInfo().getCharacterBoundsFlags(1));
-        assertEquals(new RectF(4.0f, 1.1f, 6.0f, 2.9f),
+        Assert.assertEquals(new RectF(4.0f, 1.1f, 6.0f, 2.9f),
                 immw.getLastCursorAnchorInfo().getCharacterBounds(2));
-        assertEquals(CursorAnchorInfo.FLAG_HAS_VISIBLE_REGION,
+        Assert.assertEquals(CursorAnchorInfo.FLAG_HAS_VISIBLE_REGION,
                 immw.getLastCursorAnchorInfo().getCharacterBoundsFlags(2));
-        assertEquals(null, immw.getLastCursorAnchorInfo().getCharacterBounds(3));
-        assertEquals(0, immw.getLastCursorAnchorInfo().getCharacterBoundsFlags(3));
-        assertComposingText("12", 1, immw.getLastCursorAnchorInfo());
-        assertSelection(1, 1, immw.getLastCursorAnchorInfo());
+        Assert.assertEquals(null, immw.getLastCursorAnchorInfo().getCharacterBounds(3));
+        Assert.assertEquals(0, immw.getLastCursorAnchorInfo().getCharacterBoundsFlags(3));
+        AssertionHelper.assertComposingText("12", 1, immw.getLastCursorAnchorInfo());
+        AssertionHelper.assertSelection(1, 1, immw.getLastCursorAnchorInfo());
     }
 
+    @Test
     @SmallTest
     @Feature({"Input-Text-IME"})
     public void testUpdateTextAndSelection() {
@@ -478,27 +490,28 @@
 
         controller.focusedNodeChanged(true);
         composingTextDelegate.clearTextAndSelection(controller);
-        assertTrue(controller.onRequestCursorUpdates(
+        Assert.assertTrue(controller.onRequestCursorUpdates(
                 false /* immediate request */, true /* monitor request */, view));
 
         composingTextDelegate.updateTextAndSelection(controller, "01234", 3, 3, 1, 1);
         controller.onUpdateFrameInfo(createRenderCoordinates(1.0f, 0.0f),
                 false, false, Float.NaN, Float.NaN, Float.NaN, view);
-        assertEquals(1, immw.getUpdateCursorAnchorInfoCounter());
-        assertEquals(null, immw.getLastCursorAnchorInfo().getCharacterBounds(0));
-        assertEquals(0, immw.getLastCursorAnchorInfo().getCharacterBoundsFlags(0));
-        assertEquals(null, immw.getLastCursorAnchorInfo().getCharacterBounds(1));
-        assertEquals(0, immw.getLastCursorAnchorInfo().getCharacterBoundsFlags(1));
-        assertEquals(null, immw.getLastCursorAnchorInfo().getCharacterBounds(2));
-        assertEquals(0, immw.getLastCursorAnchorInfo().getCharacterBoundsFlags(2));
-        assertEquals(null, immw.getLastCursorAnchorInfo().getCharacterBounds(3));
-        assertEquals(0, immw.getLastCursorAnchorInfo().getCharacterBoundsFlags(3));
-        assertEquals(null, immw.getLastCursorAnchorInfo().getCharacterBounds(4));
-        assertEquals(0, immw.getLastCursorAnchorInfo().getCharacterBoundsFlags(4));
-        assertComposingText("", 3, immw.getLastCursorAnchorInfo());
-        assertSelection(1, 1, immw.getLastCursorAnchorInfo());
+        Assert.assertEquals(1, immw.getUpdateCursorAnchorInfoCounter());
+        Assert.assertEquals(null, immw.getLastCursorAnchorInfo().getCharacterBounds(0));
+        Assert.assertEquals(0, immw.getLastCursorAnchorInfo().getCharacterBoundsFlags(0));
+        Assert.assertEquals(null, immw.getLastCursorAnchorInfo().getCharacterBounds(1));
+        Assert.assertEquals(0, immw.getLastCursorAnchorInfo().getCharacterBoundsFlags(1));
+        Assert.assertEquals(null, immw.getLastCursorAnchorInfo().getCharacterBounds(2));
+        Assert.assertEquals(0, immw.getLastCursorAnchorInfo().getCharacterBoundsFlags(2));
+        Assert.assertEquals(null, immw.getLastCursorAnchorInfo().getCharacterBounds(3));
+        Assert.assertEquals(0, immw.getLastCursorAnchorInfo().getCharacterBoundsFlags(3));
+        Assert.assertEquals(null, immw.getLastCursorAnchorInfo().getCharacterBounds(4));
+        Assert.assertEquals(0, immw.getLastCursorAnchorInfo().getCharacterBoundsFlags(4));
+        AssertionHelper.assertComposingText("", 3, immw.getLastCursorAnchorInfo());
+        AssertionHelper.assertSelection(1, 1, immw.getLastCursorAnchorInfo());
     }
 
+    @Test
     @SmallTest
     @Feature({"Input-Text-IME"})
     public void testInsertionMarker() {
@@ -511,33 +524,34 @@
 
         controller.focusedNodeChanged(true);
         composingTextDelegate.clearTextAndSelection(controller);
-        assertTrue(controller.onRequestCursorUpdates(
+        Assert.assertTrue(controller.onRequestCursorUpdates(
                 false /* immediate request */, true /* monitor request */, view));
 
         // Test no insertion marker.
         controller.onUpdateFrameInfo(createRenderCoordinates(1.0f, 0.0f),
                 false, false, Float.NaN, Float.NaN, Float.NaN, view);
-        assertEquals(1, immw.getUpdateCursorAnchorInfoCounter());
-        assertHasNoInsertionMarker(immw.getLastCursorAnchorInfo());
+        Assert.assertEquals(1, immw.getUpdateCursorAnchorInfoCounter());
+        AssertionHelper.assertHasNoInsertionMarker(immw.getLastCursorAnchorInfo());
         immw.clearLastCursorAnchorInfo();
 
         // Test a visible insertion marker.
         controller.onUpdateFrameInfo(createRenderCoordinates(1.0f, 0.0f),
                 true, true, 10.0f, 23.0f, 29.0f, view);
-        assertEquals(2, immw.getUpdateCursorAnchorInfoCounter());
-        assertHasInsertionMarker(CursorAnchorInfo.FLAG_HAS_VISIBLE_REGION,
-                10.0f, 23.0f, 29.0f, 29.0f, immw.getLastCursorAnchorInfo());
+        Assert.assertEquals(2, immw.getUpdateCursorAnchorInfoCounter());
+        AssertionHelper.assertHasInsertionMarker(CursorAnchorInfo.FLAG_HAS_VISIBLE_REGION, 10.0f,
+                23.0f, 29.0f, 29.0f, immw.getLastCursorAnchorInfo());
         immw.clearLastCursorAnchorInfo();
 
         // Test a invisible insertion marker.
         controller.onUpdateFrameInfo(createRenderCoordinates(1.0f, 0.0f),
                 true, false, 10.0f, 23.0f, 29.0f, view);
-        assertEquals(3, immw.getUpdateCursorAnchorInfoCounter());
-        assertHasInsertionMarker(CursorAnchorInfo.FLAG_HAS_INVISIBLE_REGION,
-                10.0f, 23.0f, 29.0f, 29.0f, immw.getLastCursorAnchorInfo());
+        Assert.assertEquals(3, immw.getUpdateCursorAnchorInfoCounter());
+        AssertionHelper.assertHasInsertionMarker(CursorAnchorInfo.FLAG_HAS_INVISIBLE_REGION, 10.0f,
+                23.0f, 29.0f, 29.0f, immw.getLastCursorAnchorInfo());
         immw.clearLastCursorAnchorInfo();
     }
 
+    @Test
     @SmallTest
     @Feature({"Input-Text-IME"})
     public void testMatrix() {
@@ -550,7 +564,7 @@
 
         controller.focusedNodeChanged(true);
         composingTextDelegate.clearTextAndSelection(controller);
-        assertTrue(controller.onRequestCursorUpdates(
+        Assert.assertTrue(controller.onRequestCursorUpdates(
                 false /* immediate request */, true /* monitor request */, view));
 
         // Test no transformation
@@ -558,8 +572,8 @@
         viewDelegate.locationY = 0;
         controller.onUpdateFrameInfo(createRenderCoordinates(1.0f, 0.0f),
                 false, false, Float.NaN, Float.NaN, Float.NaN, view);
-        assertEquals(1, immw.getUpdateCursorAnchorInfoCounter());
-        assertScaleAndTranslate(1.0f, 0.0f, 0.0f, immw.getLastCursorAnchorInfo());
+        Assert.assertEquals(1, immw.getUpdateCursorAnchorInfoCounter());
+        AssertionHelper.assertScaleAndTranslate(1.0f, 0.0f, 0.0f, immw.getLastCursorAnchorInfo());
         immw.clearLastCursorAnchorInfo();
 
         // device scale factor == 2.0
@@ -567,8 +581,8 @@
         viewDelegate.locationY = 0;
         controller.onUpdateFrameInfo(createRenderCoordinates(2.0f, 0.0f),
                 false, false, Float.NaN, Float.NaN, Float.NaN, view);
-        assertEquals(2, immw.getUpdateCursorAnchorInfoCounter());
-        assertScaleAndTranslate(2.0f, 0.0f, 0.0f, immw.getLastCursorAnchorInfo());
+        Assert.assertEquals(2, immw.getUpdateCursorAnchorInfoCounter());
+        AssertionHelper.assertScaleAndTranslate(2.0f, 0.0f, 0.0f, immw.getLastCursorAnchorInfo());
         immw.clearLastCursorAnchorInfo();
 
         // device scale factor == 2.0
@@ -577,8 +591,9 @@
         viewDelegate.locationY = 141;
         controller.onUpdateFrameInfo(createRenderCoordinates(2.0f, 0.0f),
                 false, false, Float.NaN, Float.NaN, Float.NaN, view);
-        assertEquals(3, immw.getUpdateCursorAnchorInfoCounter());
-        assertScaleAndTranslate(2.0f, 10.0f, 141.0f, immw.getLastCursorAnchorInfo());
+        Assert.assertEquals(3, immw.getUpdateCursorAnchorInfoCounter());
+        AssertionHelper.assertScaleAndTranslate(
+                2.0f, 10.0f, 141.0f, immw.getLastCursorAnchorInfo());
         immw.clearLastCursorAnchorInfo();
 
         // device scale factor == 2.0
@@ -588,8 +603,9 @@
         viewDelegate.locationY = 141;
         controller.onUpdateFrameInfo(createRenderCoordinates(2.0f, 40.0f),
                 false, false, Float.NaN, Float.NaN, Float.NaN, view);
-        assertEquals(4, immw.getUpdateCursorAnchorInfoCounter());
-        assertScaleAndTranslate(2.0f, 10.0f, 181.0f, immw.getLastCursorAnchorInfo());
+        Assert.assertEquals(4, immw.getUpdateCursorAnchorInfoCounter());
+        AssertionHelper.assertScaleAndTranslate(
+                2.0f, 10.0f, 181.0f, immw.getLastCursorAnchorInfo());
         immw.clearLastCursorAnchorInfo();
     }
 }
diff --git a/content/public/android/javatests/src/org/chromium/content/browser/input/ImeActivityTestRule.java b/content/public/android/javatests/src/org/chromium/content/browser/input/ImeActivityTestRule.java
new file mode 100644
index 0000000..8ec3f26a
--- /dev/null
+++ b/content/public/android/javatests/src/org/chromium/content/browser/input/ImeActivityTestRule.java
@@ -0,0 +1,616 @@
+// 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.
+
+package org.chromium.content.browser.input;
+
+import android.annotation.TargetApi;
+import android.app.Activity;
+import android.content.ClipData;
+import android.content.ClipboardManager;
+import android.content.Context;
+import android.os.Handler;
+import android.text.TextUtils;
+import android.util.Pair;
+import android.view.KeyEvent;
+import android.view.View;
+import android.view.inputmethod.EditorInfo;
+import android.view.inputmethod.InputConnection;
+
+import org.junit.Assert;
+
+import org.chromium.base.ThreadUtils;
+import org.chromium.content.browser.ContentViewCore;
+import org.chromium.content.browser.SelectionPopupController;
+import org.chromium.content.browser.test.util.Criteria;
+import org.chromium.content.browser.test.util.CriteriaHelper;
+import org.chromium.content.browser.test.util.DOMUtils;
+import org.chromium.content.browser.test.util.JavaScriptUtils;
+import org.chromium.content.browser.test.util.TestCallbackHelperContainer;
+import org.chromium.content.browser.test.util.TestInputMethodManagerWrapper;
+import org.chromium.content_public.browser.WebContents;
+import org.chromium.content_shell_apk.ContentShellActivityTestRule;
+import org.chromium.ui.base.ime.TextInputType;
+
+import java.util.ArrayList;
+import java.util.Arrays;
+import java.util.List;
+import java.util.concurrent.Callable;
+import java.util.concurrent.ExecutionException;
+import java.util.concurrent.TimeoutException;
+
+/**
+ * Integration tests for text input for Android L (or above) features.
+ */
+class ImeActivityTestRule extends ContentShellActivityTestRule {
+    private ChromiumBaseInputConnection mConnection;
+    private TestInputConnectionFactory mConnectionFactory;
+    private ImeAdapter mImeAdapter;
+
+    static final String INPUT_FORM_HTML = "content/test/data/android/input/input_forms.html";
+
+    private ContentViewCore mContentViewCore;
+    private SelectionPopupController mSelectionPopupController;
+    private TestCallbackHelperContainer mCallbackContainer;
+    private TestInputMethodManagerWrapper mInputMethodManagerWrapper;
+
+    public void setUp() throws Exception {
+        launchContentShellWithUrlSync(INPUT_FORM_HTML);
+        mContentViewCore = getContentViewCore();
+        mSelectionPopupController = mContentViewCore.getSelectionPopupControllerForTesting();
+        mInputMethodManagerWrapper = new TestInputMethodManagerWrapper(mContentViewCore) {
+            private boolean mExpectsSelectionOutsideComposition;
+
+            @Override
+            public void expectsSelectionOutsideComposition() {
+                mExpectsSelectionOutsideComposition = true;
+            }
+
+            @Override
+            public void onUpdateSelection(
+                    Range oldSel, Range oldComp, Range newSel, Range newComp) {
+                // We expect that selection will be outside composition in some cases. Keyboard
+                // app will not finish composition in this case.
+                if (mExpectsSelectionOutsideComposition) {
+                    mExpectsSelectionOutsideComposition = false;
+                    return;
+                }
+                if (oldComp == null || oldComp.start() == oldComp.end()
+                        || newComp.start() == newComp.end()) {
+                    return;
+                }
+                // This emulates keyboard app's behavior that finishes composition when
+                // selection is outside composition.
+                if (!newSel.intersects(newComp)) {
+                    try {
+                        finishComposingText();
+                    } catch (Exception e) {
+                        e.printStackTrace();
+                        Assert.fail();
+                    }
+                }
+            }
+        };
+        getImeAdapter().setInputMethodManagerWrapperForTest(mInputMethodManagerWrapper);
+        Assert.assertEquals(0, mInputMethodManagerWrapper.getShowSoftInputCounter());
+        mConnectionFactory =
+                new TestInputConnectionFactory(getImeAdapter().getInputConnectionFactoryForTest());
+        getImeAdapter().setInputConnectionFactory(mConnectionFactory);
+
+        mCallbackContainer = new TestCallbackHelperContainer(mContentViewCore);
+        DOMUtils.waitForNonZeroNodeBounds(getWebContents(), "input_text");
+        boolean result = DOMUtils.clickNode(mContentViewCore, "input_text");
+
+        Assert.assertEquals("Failed to dispatch touch event.", true, result);
+        assertWaitForKeyboardStatus(true);
+
+        mConnection = getInputConnection();
+        mImeAdapter = getImeAdapter();
+
+        waitForKeyboardStates(1, 0, 1, new Integer[] {TextInputType.TEXT});
+        Assert.assertEquals(0, mConnectionFactory.getOutAttrs().initialSelStart);
+        Assert.assertEquals(0, mConnectionFactory.getOutAttrs().initialSelEnd);
+
+        waitForEventLogs("selectionchange");
+        clearEventLogs();
+
+        waitAndVerifyUpdateSelection(0, 0, 0, -1, -1);
+        resetAllStates();
+    }
+
+    SelectionPopupController getSelectionPopupController() {
+        return mSelectionPopupController;
+    }
+
+    TestCallbackHelperContainer getTestCallBackHelperContainer() {
+        return mCallbackContainer;
+    }
+
+    ChromiumBaseInputConnection getConnection() {
+        return mConnection;
+    }
+
+    TestInputMethodManagerWrapper getInputMethodManagerWrapper() {
+        return mInputMethodManagerWrapper;
+    }
+
+    TestInputConnectionFactory getConnectionFactory() {
+        return mConnectionFactory;
+    }
+
+    void fullyLoadUrl(final String url) throws Throwable {
+        ThreadUtils.runOnUiThreadBlocking(new Runnable() {
+            @Override
+            public void run() {
+                getActivity().getActiveShell().loadUrl(url);
+            }
+        });
+        waitForActiveShellToBeDoneLoading();
+    }
+
+    void clearEventLogs() throws Exception {
+        final String code = "clearEventLogs()";
+        JavaScriptUtils.executeJavaScriptAndWaitForResult(
+                getContentViewCore().getWebContents(), code);
+    }
+
+    void waitForEventLogs(String expectedLogs) throws Exception {
+        final String code = "getEventLogs()";
+        final String sanitizedExpectedLogs = "\"" + expectedLogs + "\"";
+        Assert.assertEquals(sanitizedExpectedLogs,
+                JavaScriptUtils.executeJavaScriptAndWaitForResult(
+                        getContentViewCore().getWebContents(), code));
+    }
+
+    void assertTextsAroundCursor(CharSequence before, CharSequence selected, CharSequence after)
+            throws Exception {
+        Assert.assertEquals(before, getTextBeforeCursor(100, 0));
+        Assert.assertEquals(selected, getSelectedText(0));
+        Assert.assertEquals(after, getTextAfterCursor(100, 0));
+    }
+
+    void waitForKeyboardStates(int show, int hide, int restart, Integer[] history) {
+        final String expected = stringifyKeyboardStates(show, hide, restart, history);
+        CriteriaHelper.pollUiThread(Criteria.equals(expected, new Callable<String>() {
+            @Override
+            public String call() {
+                return getKeyboardStates();
+            }
+        }));
+    }
+
+    void resetAllStates() {
+        mInputMethodManagerWrapper.reset();
+        mConnectionFactory.clearTextInputTypeHistory();
+    }
+
+    String getKeyboardStates() {
+        int showCount = mInputMethodManagerWrapper.getShowSoftInputCounter();
+        int hideCount = mInputMethodManagerWrapper.getHideSoftInputCounter();
+        int restartCount = mInputMethodManagerWrapper.getRestartInputCounter();
+        Integer[] history = mConnectionFactory.getTextInputTypeHistory();
+        return stringifyKeyboardStates(showCount, hideCount, restartCount, history);
+    }
+
+    String stringifyKeyboardStates(int show, int hide, int restart, Integer[] history) {
+        return "show count: " + show + ", hide count: " + hide + ", restart count: " + restart
+                + ", input type history: " + Arrays.deepToString(history);
+    }
+
+    void performGo(TestCallbackHelperContainer testCallbackHelperContainer) throws Throwable {
+        final InputConnection inputConnection = mConnection;
+        final Callable<Void> callable = new Callable<Void>() {
+            @Override
+            public Void call() throws Exception {
+                inputConnection.performEditorAction(EditorInfo.IME_ACTION_GO);
+                return null;
+            }
+        };
+
+        handleBlockingCallbackAction(
+                testCallbackHelperContainer.getOnPageFinishedHelper(), new Runnable() {
+                    @Override
+                    public void run() {
+                        try {
+                            runBlockingOnImeThread(callable);
+                        } catch (Exception e) {
+                            e.printStackTrace();
+                            Assert.fail();
+                        }
+                    }
+                });
+    }
+
+    void assertWaitForKeyboardStatus(final boolean show) {
+        CriteriaHelper.pollUiThread(new Criteria() {
+            @Override
+            public boolean isSatisfied() {
+                // We do not check the other way around: in some cases we need to keep
+                // input connection even when the last known status is 'hidden'.
+                if (show && getInputConnection() == null) {
+                    updateFailureReason("input connection should not be null.");
+                    return false;
+                }
+                updateFailureReason("expected show: " + show);
+                return show == mInputMethodManagerWrapper.isShowWithoutHideOutstanding();
+            }
+        });
+    }
+
+    void assertWaitForSelectActionBarStatus(final boolean show) {
+        CriteriaHelper.pollUiThread(Criteria.equals(show, new Callable<Boolean>() {
+            @Override
+            public Boolean call() {
+                return mContentViewCore.isSelectActionBarShowing();
+            }
+        }));
+    }
+
+    void waitAndVerifyUpdateSelection(final int index, final int selectionStart,
+            final int selectionEnd, final int compositionStart, final int compositionEnd) {
+        final List<Pair<Range, Range>> states = mInputMethodManagerWrapper.getUpdateSelectionList();
+        CriteriaHelper.pollUiThread(new Criteria() {
+            @Override
+            public boolean isSatisfied() {
+                return states.size() > index;
+            }
+        });
+        Pair<Range, Range> selection = states.get(index);
+        Assert.assertEquals(selectionStart, selection.first.start());
+        Assert.assertEquals(selectionEnd, selection.first.end());
+        Assert.assertEquals(compositionStart, selection.second.start());
+        Assert.assertEquals(compositionEnd, selection.second.end());
+    }
+
+    void resetUpdateSelectionList() {
+        mInputMethodManagerWrapper.getUpdateSelectionList().clear();
+    }
+
+    void assertClipboardContents(final Activity activity, final String expectedContents) {
+        CriteriaHelper.pollUiThread(new Criteria() {
+            @Override
+            public boolean isSatisfied() {
+                ClipboardManager clipboardManager =
+                        (ClipboardManager) activity.getSystemService(Context.CLIPBOARD_SERVICE);
+                ClipData clip = clipboardManager.getPrimaryClip();
+                return clip != null && clip.getItemCount() == 1
+                        && TextUtils.equals(clip.getItemAt(0).getText(), expectedContents);
+            }
+        });
+    }
+
+    ImeAdapter getImeAdapter() {
+        return mContentViewCore.getImeAdapterForTest();
+    }
+
+    ChromiumBaseInputConnection getInputConnection() {
+        try {
+            return ThreadUtils.runOnUiThreadBlocking(new Callable<ChromiumBaseInputConnection>() {
+                @Override
+                public ChromiumBaseInputConnection call() {
+                    return mContentViewCore.getImeAdapterForTest().getInputConnectionForTest();
+                }
+            });
+        } catch (ExecutionException e) {
+            e.printStackTrace();
+            Assert.fail();
+            return null;
+        }
+    }
+
+    void restartInput() {
+        ThreadUtils.runOnUiThreadBlocking(new Runnable() {
+            @Override
+            public void run() {
+                mImeAdapter.restartInput();
+            }
+        });
+    }
+
+    // After calling this method, we should call assertClipboardContents() to wait for the clipboard
+    // to get updated. See cubug.com/621046
+    void copy() {
+        final WebContents webContents = getWebContents();
+        ThreadUtils.runOnUiThreadBlocking(new Runnable() {
+            @Override
+            public void run() {
+                webContents.copy();
+            }
+        });
+    }
+
+    void cut() {
+        final WebContents webContents = getWebContents();
+        ThreadUtils.runOnUiThreadBlocking(new Runnable() {
+            @Override
+            public void run() {
+                webContents.cut();
+            }
+        });
+    }
+
+    void setClip(final CharSequence text) {
+        ThreadUtils.runOnUiThreadBlocking(new Runnable() {
+            @Override
+            public void run() {
+                final ClipboardManager clipboardManager =
+                        (ClipboardManager) getActivity().getSystemService(
+                                Context.CLIPBOARD_SERVICE);
+                clipboardManager.setPrimaryClip(ClipData.newPlainText(null, text));
+            }
+        });
+    }
+
+    void paste() {
+        final WebContents webContents = getWebContents();
+        ThreadUtils.runOnUiThreadBlocking(new Runnable() {
+            @Override
+            public void run() {
+                webContents.paste();
+            }
+        });
+    }
+
+    void selectAll() {
+        final WebContents webContents = getWebContents();
+        ThreadUtils.runOnUiThreadBlocking(new Runnable() {
+            @Override
+            public void run() {
+                webContents.selectAll();
+            }
+        });
+    }
+
+    void collapseSelection() {
+        final WebContents webContents = getWebContents();
+        ThreadUtils.runOnUiThreadBlocking(new Runnable() {
+            @Override
+            public void run() {
+                webContents.collapseSelection();
+            }
+        });
+    }
+
+    /**
+     * Run the {@Callable} on IME thread (or UI thread if not applicable).
+     * @param c The callable
+     * @return The result from running the callable.
+     */
+    <T> T runBlockingOnImeThread(Callable<T> c) throws Exception {
+        return ImeTestUtils.runBlockingOnHandler(mConnectionFactory.getHandler(), c);
+    }
+
+    boolean beginBatchEdit() throws Exception {
+        final ChromiumBaseInputConnection connection = mConnection;
+        return runBlockingOnImeThread(new Callable<Boolean>() {
+            @Override
+            public Boolean call() {
+                return connection.beginBatchEdit();
+            }
+        });
+    }
+
+    boolean endBatchEdit() throws Exception {
+        final ChromiumBaseInputConnection connection = mConnection;
+        return runBlockingOnImeThread(new Callable<Boolean>() {
+            @Override
+            public Boolean call() {
+                return connection.endBatchEdit();
+            }
+        });
+    }
+
+    boolean commitText(final CharSequence text, final int newCursorPosition) throws Exception {
+        final ChromiumBaseInputConnection connection = mConnection;
+        return runBlockingOnImeThread(new Callable<Boolean>() {
+            @Override
+            public Boolean call() {
+                return connection.commitText(text, newCursorPosition);
+            }
+        });
+    }
+
+    boolean setSelection(final int start, final int end) throws Exception {
+        final ChromiumBaseInputConnection connection = mConnection;
+        return runBlockingOnImeThread(new Callable<Boolean>() {
+            @Override
+            public Boolean call() {
+                return connection.setSelection(start, end);
+            }
+        });
+    }
+
+    boolean setComposingRegion(final int start, final int end) throws Exception {
+        final ChromiumBaseInputConnection connection = mConnection;
+        return runBlockingOnImeThread(new Callable<Boolean>() {
+            @Override
+            public Boolean call() {
+                return connection.setComposingRegion(start, end);
+            }
+        });
+    }
+
+    protected boolean setComposingText(final CharSequence text, final int newCursorPosition)
+            throws Exception {
+        final ChromiumBaseInputConnection connection = mConnection;
+        return runBlockingOnImeThread(new Callable<Boolean>() {
+            @Override
+            public Boolean call() {
+                return connection.setComposingText(text, newCursorPosition);
+            }
+        });
+    }
+
+    boolean finishComposingText() throws Exception {
+        final ChromiumBaseInputConnection connection = mConnection;
+        return runBlockingOnImeThread(new Callable<Boolean>() {
+            @Override
+            public Boolean call() {
+                return connection.finishComposingText();
+            }
+        });
+    }
+
+    boolean deleteSurroundingText(final int before, final int after) throws Exception {
+        final ChromiumBaseInputConnection connection = mConnection;
+        return runBlockingOnImeThread(new Callable<Boolean>() {
+            @Override
+            public Boolean call() {
+                return connection.deleteSurroundingText(before, after);
+            }
+        });
+    }
+
+    // Note that deleteSurroundingTextInCodePoints() was introduced in Android N (Api level 24), but
+    // the Android repository used in Chrome is behind that (level 23). So this function can't be
+    // called by keyboard apps currently.
+    @TargetApi(24)
+    boolean deleteSurroundingTextInCodePoints(final int before, final int after) throws Exception {
+        final ThreadedInputConnection connection = (ThreadedInputConnection) mConnection;
+        return runBlockingOnImeThread(new Callable<Boolean>() {
+            @Override
+            public Boolean call() {
+                return connection.deleteSurroundingTextInCodePoints(before, after);
+            }
+        });
+    }
+
+    CharSequence getTextBeforeCursor(final int length, final int flags) throws Exception {
+        final ChromiumBaseInputConnection connection = mConnection;
+        return runBlockingOnImeThread(new Callable<CharSequence>() {
+            @Override
+            public CharSequence call() {
+                return connection.getTextBeforeCursor(length, flags);
+            }
+        });
+    }
+
+    CharSequence getSelectedText(final int flags) throws Exception {
+        final ChromiumBaseInputConnection connection = mConnection;
+        return runBlockingOnImeThread(new Callable<CharSequence>() {
+            @Override
+            public CharSequence call() {
+                return connection.getSelectedText(flags);
+            }
+        });
+    }
+
+    CharSequence getTextAfterCursor(final int length, final int flags) throws Exception {
+        final ChromiumBaseInputConnection connection = mConnection;
+        return runBlockingOnImeThread(new Callable<CharSequence>() {
+            @Override
+            public CharSequence call() {
+                return connection.getTextAfterCursor(length, flags);
+            }
+        });
+    }
+
+    int getCursorCapsMode(final int reqModes) throws Throwable {
+        final ChromiumBaseInputConnection connection = mConnection;
+        return runBlockingOnImeThread(new Callable<Integer>() {
+            @Override
+            public Integer call() {
+                return connection.getCursorCapsMode(reqModes);
+            }
+        });
+    }
+
+    void dispatchKeyEvent(final KeyEvent event) {
+        ThreadUtils.runOnUiThreadBlocking(new Runnable() {
+            @Override
+            public void run() {
+                mImeAdapter.dispatchKeyEvent(event);
+            }
+        });
+    }
+
+    /**
+     * Focus element, wait for a single state update, reset state update list.
+     * @param id ID of the element to focus.
+     */
+    void focusElementAndWaitForStateUpdate(String id)
+            throws InterruptedException, TimeoutException {
+        resetUpdateSelectionList();
+        focusElement(id);
+        waitAndVerifyUpdateSelection(0, 0, 0, -1, -1);
+        resetUpdateSelectionList();
+    }
+
+    void focusElement(final String id) throws InterruptedException, TimeoutException {
+        focusElement(id, true);
+    }
+
+    void focusElement(final String id, boolean shouldShowKeyboard)
+            throws InterruptedException, TimeoutException {
+        DOMUtils.focusNode(getWebContents(), id);
+        assertWaitForKeyboardStatus(shouldShowKeyboard);
+        CriteriaHelper.pollInstrumentationThread(Criteria.equals(id, new Callable<String>() {
+            @Override
+            public String call() throws Exception {
+                return DOMUtils.getFocusedNode(getWebContents());
+            }
+        }));
+        // When we focus another element, the connection may be recreated.
+        mConnection = getInputConnection();
+    }
+
+    static class TestInputConnectionFactory implements ChromiumBaseInputConnection.Factory {
+        private final ChromiumBaseInputConnection.Factory mFactory;
+
+        private final List<Integer> mTextInputTypeList = new ArrayList<>();
+        private EditorInfo mOutAttrs;
+
+        public TestInputConnectionFactory(ChromiumBaseInputConnection.Factory factory) {
+            mFactory = factory;
+        }
+
+        @Override
+        public ChromiumBaseInputConnection initializeAndGet(View view, ImeAdapter imeAdapter,
+                int inputType, int inputFlags, int inputMode, int selectionStart, int selectionEnd,
+                EditorInfo outAttrs) {
+            mTextInputTypeList.add(inputType);
+            mOutAttrs = outAttrs;
+            return mFactory.initializeAndGet(view, imeAdapter, inputType, inputMode, inputFlags,
+                    selectionStart, selectionEnd, outAttrs);
+        }
+
+        @Override
+        public Handler getHandler() {
+            return mFactory.getHandler();
+        }
+
+        public Integer[] getTextInputTypeHistory() {
+            Integer[] result = new Integer[mTextInputTypeList.size()];
+            mTextInputTypeList.toArray(result);
+            return result;
+        }
+
+        public void clearTextInputTypeHistory() {
+            mTextInputTypeList.clear();
+        }
+
+        public EditorInfo getOutAttrs() {
+            return mOutAttrs;
+        }
+
+        @Override
+        public void onWindowFocusChanged(boolean gainFocus) {
+            mFactory.onWindowFocusChanged(gainFocus);
+        }
+
+        @Override
+        public void onViewFocusChanged(boolean gainFocus) {
+            mFactory.onViewFocusChanged(gainFocus);
+        }
+
+        @Override
+        public void onViewAttachedToWindow() {
+            mFactory.onViewAttachedToWindow();
+        }
+
+        @Override
+        public void onViewDetachedFromWindow() {
+            mFactory.onViewDetachedFromWindow();
+        }
+    }
+}
diff --git a/content/public/android/javatests/src/org/chromium/content/browser/input/ImeLollipopTest.java b/content/public/android/javatests/src/org/chromium/content/browser/input/ImeLollipopTest.java
index 884efc2..5962821 100644
--- a/content/public/android/javatests/src/org/chromium/content/browser/input/ImeLollipopTest.java
+++ b/content/public/android/javatests/src/org/chromium/content/browser/input/ImeLollipopTest.java
@@ -10,10 +10,17 @@
 import android.view.inputmethod.CursorAnchorInfo;
 import android.view.inputmethod.InputConnection;
 
+import org.junit.Assert;
+import org.junit.Before;
+import org.junit.Rule;
+import org.junit.Test;
+import org.junit.runner.RunWith;
+
 import org.chromium.base.ThreadUtils;
 import org.chromium.base.test.util.Feature;
 import org.chromium.base.test.util.MinAndroidSdkLevel;
 import org.chromium.base.test.util.RetryOnFailure;
+import org.chromium.content.browser.test.ContentJUnit4ClassRunner;
 import org.chromium.content.browser.test.util.Criteria;
 import org.chromium.content.browser.test.util.CriteriaHelper;
 
@@ -22,9 +29,19 @@
 /**
  * Integration tests for text input for Android L (or above) features.
  */
+@RunWith(ContentJUnit4ClassRunner.class)
 @MinAndroidSdkLevel(Build.VERSION_CODES.LOLLIPOP)
 @TargetApi(Build.VERSION_CODES.LOLLIPOP)
-public class ImeLollipopTest extends ImeTest {
+public class ImeLollipopTest {
+    @Rule
+    public ImeActivityTestRule mRule = new ImeActivityTestRule();
+
+    @Before
+    public void setUp() throws Exception {
+        mRule.setUp();
+    }
+
+    @Test
     @MediumTest
     @Feature({"TextInput"})
     @RetryOnFailure
@@ -32,45 +49,45 @@
         requestCursorUpdates(InputConnection.CURSOR_UPDATE_MONITOR);
 
         // In "MONITOR" mode, the change should be notified.
-        setComposingText("ab", 1);
+        mRule.setComposingText("ab", 1);
         waitForUpdateCursorAnchorInfoComposingText("ab");
 
-        CursorAnchorInfo info = mInputMethodManagerWrapper.getLastCursorAnchorInfo();
-        assertEquals(0, info.getComposingTextStart());
-        assertNotNull(info.getCharacterBounds(0));
-        assertNotNull(info.getCharacterBounds(1));
-        assertNull(info.getCharacterBounds(2));
+        CursorAnchorInfo info = mRule.getInputMethodManagerWrapper().getLastCursorAnchorInfo();
+        Assert.assertEquals(0, info.getComposingTextStart());
+        Assert.assertNotNull(info.getCharacterBounds(0));
+        Assert.assertNotNull(info.getCharacterBounds(1));
+        Assert.assertNull(info.getCharacterBounds(2));
 
         // Should be notified not only once. Further change should be sent, too.
-        setComposingText("abcd", 1);
+        mRule.setComposingText("abcd", 1);
         waitForUpdateCursorAnchorInfoComposingText("abcd");
 
-        info = mInputMethodManagerWrapper.getLastCursorAnchorInfo();
-        assertEquals(0, info.getComposingTextStart());
-        assertNotNull(info.getCharacterBounds(0));
-        assertNotNull(info.getCharacterBounds(1));
-        assertNotNull(info.getCharacterBounds(2));
-        assertNotNull(info.getCharacterBounds(3));
-        assertNull(info.getCharacterBounds(4));
+        info = mRule.getInputMethodManagerWrapper().getLastCursorAnchorInfo();
+        Assert.assertEquals(0, info.getComposingTextStart());
+        Assert.assertNotNull(info.getCharacterBounds(0));
+        Assert.assertNotNull(info.getCharacterBounds(1));
+        Assert.assertNotNull(info.getCharacterBounds(2));
+        Assert.assertNotNull(info.getCharacterBounds(3));
+        Assert.assertNull(info.getCharacterBounds(4));
 
         // In "IMMEDIATE" mode, even when there's no change, we should be notified at least once.
         ThreadUtils.runOnUiThreadBlocking(new Runnable() {
             @Override
             public void run() {
-                mInputMethodManagerWrapper.clearLastCursorAnchorInfo();
+                mRule.getInputMethodManagerWrapper().clearLastCursorAnchorInfo();
             }
         });
         requestCursorUpdates(InputConnection.CURSOR_UPDATE_IMMEDIATE);
         waitForUpdateCursorAnchorInfoComposingText("abcd");
 
-        setComposingText("abcde", 2);
+        mRule.setComposingText("abcde", 2);
         requestCursorUpdates(InputConnection.CURSOR_UPDATE_IMMEDIATE);
         waitForUpdateCursorAnchorInfoComposingText("abcde");
     }
 
     private void requestCursorUpdates(final int cursorUpdateMode) throws Exception {
-        final InputConnection connection = mConnection;
-        runBlockingOnImeThread(new Callable<Void>() {
+        final InputConnection connection = mRule.getConnection();
+        mRule.runBlockingOnImeThread(new Callable<Void>() {
             @Override
             public Void call() {
                 connection.requestCursorUpdates(cursorUpdateMode);
@@ -83,7 +100,8 @@
         CriteriaHelper.pollUiThread(new Criteria() {
             @Override
             public boolean isSatisfied() {
-                CursorAnchorInfo info = mInputMethodManagerWrapper.getLastCursorAnchorInfo();
+                CursorAnchorInfo info =
+                        mRule.getInputMethodManagerWrapper().getLastCursorAnchorInfo();
                 if (info != null && info.getComposingText() == null) {
                     updateFailureReason("info.getCompositingText() returned null");
                     return false;
diff --git a/content/public/android/javatests/src/org/chromium/content/browser/input/ImeTest.java b/content/public/android/javatests/src/org/chromium/content/browser/input/ImeTest.java
index 67ad4dc2e..52e8f12 100644
--- a/content/public/android/javatests/src/org/chromium/content/browser/input/ImeTest.java
+++ b/content/public/android/javatests/src/org/chromium/content/browser/input/ImeTest.java
@@ -4,536 +4,462 @@
 
 package org.chromium.content.browser.input;
 
-import android.annotation.TargetApi;
-import android.app.Activity;
 import android.content.ClipData;
 import android.content.ClipboardManager;
 import android.content.Context;
 import android.content.res.Configuration;
-import android.os.Handler;
 import android.support.test.filters.MediumTest;
 import android.support.test.filters.SmallTest;
 import android.text.InputType;
-import android.text.TextUtils;
-import android.util.Pair;
 import android.view.KeyEvent;
-import android.view.View;
 import android.view.inputmethod.BaseInputConnection;
 import android.view.inputmethod.EditorInfo;
-import android.view.inputmethod.InputConnection;
+
+import org.junit.Assert;
+import org.junit.Before;
+import org.junit.Rule;
+import org.junit.Test;
+import org.junit.runner.RunWith;
 
 import org.chromium.base.ThreadUtils;
 import org.chromium.base.test.util.DisabledTest;
 import org.chromium.base.test.util.Feature;
 import org.chromium.base.test.util.UrlUtils;
-import org.chromium.content.browser.ContentViewCore;
-import org.chromium.content.browser.SelectionPopupController;
+import org.chromium.content.browser.test.ContentJUnit4ClassRunner;
 import org.chromium.content.browser.test.util.Criteria;
 import org.chromium.content.browser.test.util.CriteriaHelper;
 import org.chromium.content.browser.test.util.DOMUtils;
 import org.chromium.content.browser.test.util.JavaScriptUtils;
-import org.chromium.content.browser.test.util.TestCallbackHelperContainer;
-import org.chromium.content.browser.test.util.TestInputMethodManagerWrapper;
-import org.chromium.content_public.browser.WebContents;
-import org.chromium.content_shell_apk.ContentShellTestBase;
 import org.chromium.ui.base.ime.TextInputType;
 
-import java.util.ArrayList;
-import java.util.Arrays;
-import java.util.List;
 import java.util.concurrent.Callable;
-import java.util.concurrent.ExecutionException;
-import java.util.concurrent.TimeoutException;
 
 /**
  * IME (input method editor) and text input tests.
  */
-public class ImeTest extends ContentShellTestBase {
-    protected ChromiumBaseInputConnection mConnection;
-    private TestInputConnectionFactory mConnectionFactory;
-    private ImeAdapter mImeAdapter;
+@RunWith(ContentJUnit4ClassRunner.class)
+public class ImeTest {
+    @Rule
+    public ImeActivityTestRule mRule = new ImeActivityTestRule();
 
-    private static final String INPUT_FORM_HTML =
-            "content/test/data/android/input/input_forms.html";
-
-    private ContentViewCore mContentViewCore;
-    private WebContents mWebContents;
-    private SelectionPopupController mSelectionPopupController;
-    private TestCallbackHelperContainer mCallbackContainer;
-    protected TestInputMethodManagerWrapper mInputMethodManagerWrapper;
-
-    @Override
+    @Before
     public void setUp() throws Exception {
-        super.setUp();
-        startActivityWithTestUrl(INPUT_FORM_HTML);
-        mContentViewCore = getContentViewCore();
-        mSelectionPopupController = mContentViewCore.getSelectionPopupControllerForTesting();
-        mWebContents = getWebContents();
-
-        mInputMethodManagerWrapper = new TestInputMethodManagerWrapper(mContentViewCore) {
-            private boolean mExpectsSelectionOutsideComposition;
-
-            @Override
-            public void expectsSelectionOutsideComposition() {
-                mExpectsSelectionOutsideComposition = true;
-            }
-
-            @Override
-            public void onUpdateSelection(
-                    Range oldSel, Range oldComp, Range newSel, Range newComp) {
-                // We expect that selection will be outside composition in some cases. Keyboard
-                // app will not finish composition in this case.
-                if (mExpectsSelectionOutsideComposition) {
-                    mExpectsSelectionOutsideComposition = false;
-                    return;
-                }
-                if (oldComp == null || oldComp.start() == oldComp.end()
-                        || newComp.start() == newComp.end()) {
-                    return;
-                }
-                // This emulates keyboard app's behavior that finishes composition when
-                // selection is outside composition.
-                if (!newSel.intersects(newComp)) {
-                    try {
-                        finishComposingText();
-                    } catch (Exception e) {
-                        e.printStackTrace();
-                        fail();
-                    }
-                }
-            }
-        };
-        getImeAdapter().setInputMethodManagerWrapperForTest(mInputMethodManagerWrapper);
-        assertEquals(0, mInputMethodManagerWrapper.getShowSoftInputCounter());
-        mConnectionFactory =
-                new TestInputConnectionFactory(getImeAdapter().getInputConnectionFactoryForTest());
-        getImeAdapter().setInputConnectionFactory(mConnectionFactory);
-
-        mCallbackContainer = new TestCallbackHelperContainer(mContentViewCore);
-        DOMUtils.waitForNonZeroNodeBounds(mWebContents, "input_text");
-        boolean result = DOMUtils.clickNode(mContentViewCore, "input_text");
-
-        assertEquals("Failed to dispatch touch event.", true, result);
-        assertWaitForKeyboardStatus(true);
-
-        mConnection = getInputConnection();
-        mImeAdapter = getImeAdapter();
-
-        waitForKeyboardStates(1, 0, 1, new Integer[] {TextInputType.TEXT});
-        assertEquals(0, mConnectionFactory.getOutAttrs().initialSelStart);
-        assertEquals(0, mConnectionFactory.getOutAttrs().initialSelEnd);
-
-        waitForEventLogs("selectionchange");
-        clearEventLogs();
-
-        waitAndVerifyUpdateSelection(0, 0, 0, -1, -1);
-        resetAllStates();
+        mRule.setUp();
     }
 
-    private void fullyLoadUrl(final String url) throws Throwable {
-        ThreadUtils.runOnUiThreadBlocking(new Runnable() {
-            @Override
-            public void run() {
-                getActivity().getActiveShell().loadUrl(url);
-            }
-        });
-        waitForActiveShellToBeDoneLoading();
-    }
-
+    @Test
     @MediumTest
     @Feature({"TextInput", "Main"})
     public void testKeyboardDismissedWhenNavigating() throws Throwable {
-        assertWaitForKeyboardStatus(true);
+        mRule.assertWaitForKeyboardStatus(true);
 
         // Hide keyboard when loading a new Url.
-        fullyLoadUrl(UrlUtils.getIsolatedTestFileUrl(INPUT_FORM_HTML));
-        assertWaitForKeyboardStatus(false);
+        mRule.fullyLoadUrl(UrlUtils.getIsolatedTestFileUrl(ImeActivityTestRule.INPUT_FORM_HTML));
+        mRule.assertWaitForKeyboardStatus(false);
 
-        DOMUtils.clickNode(mContentViewCore, "input_text");
-        assertWaitForKeyboardStatus(true);
+        DOMUtils.clickNode(mRule.getContentViewCore(), "input_text");
+        mRule.assertWaitForKeyboardStatus(true);
 
         // Hide keyboard when navigating.
         final String code = "document.getElementById(\"link\").click()";
         JavaScriptUtils.executeJavaScriptAndWaitForResult(
-                getContentViewCore().getWebContents(), code);
-        assertWaitForKeyboardStatus(false);
+                mRule.getContentViewCore().getWebContents(), code);
+        mRule.assertWaitForKeyboardStatus(false);
     }
 
+    @Test
     @MediumTest
     @Feature({"TextInput", "Main"})
     public void testKeyboardDismissedAfterClickingGo() throws Throwable {
-        setComposingText("hello", 1);
-        waitAndVerifyUpdateSelection(0, 5, 5, 0, 5);
+        mRule.setComposingText("hello", 1);
+        mRule.waitAndVerifyUpdateSelection(0, 5, 5, 0, 5);
 
-        performGo(mCallbackContainer);
+        mRule.performGo(mRule.getTestCallBackHelperContainer());
 
-        assertWaitForKeyboardStatus(false);
+        mRule.assertWaitForKeyboardStatus(false);
     }
 
+    @Test
     @MediumTest
     @Feature({"TextInput", "Main"})
     public void testDoesNotHang_getTextAfterKeyboardHides() throws Throwable {
-        setComposingText("hello", 1);
-        waitAndVerifyUpdateSelection(0, 5, 5, 0, 5);
+        mRule.setComposingText("hello", 1);
+        mRule.waitAndVerifyUpdateSelection(0, 5, 5, 0, 5);
 
-        performGo(mCallbackContainer);
+        mRule.performGo(mRule.getTestCallBackHelperContainer());
 
         // This may time out if we do not get the information on time.
         // TODO(changwan): find a way to remove the loop.
         for (int i = 0; i < 100; ++i) {
-            getTextBeforeCursor(10, 0);
+            mRule.getTextBeforeCursor(10, 0);
         }
 
-        assertWaitForKeyboardStatus(false);
+        mRule.assertWaitForKeyboardStatus(false);
     }
 
     // crbug.com/643519
+    @Test
     @SmallTest
     @Feature({"TextInput", "Main"})
     public void testCompositionWithNullTextNotCrash() throws Throwable {
-        commitText(null, 1);
-        assertTextsAroundCursor("", null, "");
+        mRule.commitText(null, 1);
+        mRule.assertTextsAroundCursor("", null, "");
 
-        setComposingText(null, 1);
-        assertTextsAroundCursor("", null, "");
+        mRule.setComposingText(null, 1);
+        mRule.assertTextsAroundCursor("", null, "");
     }
 
+    @Test
     @SmallTest
     @Feature({"TextInput", "Main"})
     public void testDeleteSurroundingTextWithRangeSelection() throws Throwable {
-        commitText("hello", 1);
-        waitAndVerifyUpdateSelection(0, 5, 5, -1, -1);
+        mRule.commitText("hello", 1);
+        mRule.waitAndVerifyUpdateSelection(0, 5, 5, -1, -1);
 
-        setSelection(1, 4);
-        waitAndVerifyUpdateSelection(1, 1, 4, -1, -1);
+        mRule.setSelection(1, 4);
+        mRule.waitAndVerifyUpdateSelection(1, 1, 4, -1, -1);
 
-        deleteSurroundingText(0, 0);
-        assertTextsAroundCursor("h", "ell", "o");
+        mRule.deleteSurroundingText(0, 0);
+        mRule.assertTextsAroundCursor("h", "ell", "o");
 
-        deleteSurroundingText(1, 1);
-        assertTextsAroundCursor("", "ell", "");
+        mRule.deleteSurroundingText(1, 1);
+        mRule.assertTextsAroundCursor("", "ell", "");
 
-        deleteSurroundingText(1, 0);
-        assertTextsAroundCursor("", "ell", "");
+        mRule.deleteSurroundingText(1, 0);
+        mRule.assertTextsAroundCursor("", "ell", "");
 
-        deleteSurroundingText(0, 1);
-        assertTextsAroundCursor("", "ell", "");
+        mRule.deleteSurroundingText(0, 1);
+        mRule.assertTextsAroundCursor("", "ell", "");
     }
 
+    @Test
     @SmallTest
     @Feature({"TextInput", "Main"})
     public void testDeleteSurroundingTextWithCursorSelection() throws Throwable {
-        commitText("hello", 1);
-        waitAndVerifyUpdateSelection(0, 5, 5, -1, -1);
+        mRule.commitText("hello", 1);
+        mRule.waitAndVerifyUpdateSelection(0, 5, 5, -1, -1);
 
-        setSelection(2, 2);
-        waitAndVerifyUpdateSelection(1, 2, 2, -1, -1);
+        mRule.setSelection(2, 2);
+        mRule.waitAndVerifyUpdateSelection(1, 2, 2, -1, -1);
 
-        deleteSurroundingText(0, 0);
-        assertTextsAroundCursor("he", null, "llo");
+        mRule.deleteSurroundingText(0, 0);
+        mRule.assertTextsAroundCursor("he", null, "llo");
 
-        deleteSurroundingText(1, 1);
-        assertTextsAroundCursor("h", null, "lo");
+        mRule.deleteSurroundingText(1, 1);
+        mRule.assertTextsAroundCursor("h", null, "lo");
 
-        deleteSurroundingText(1, 0);
-        assertTextsAroundCursor("", null, "lo");
+        mRule.deleteSurroundingText(1, 0);
+        mRule.assertTextsAroundCursor("", null, "lo");
 
-        deleteSurroundingText(0, 10);
-        assertTextsAroundCursor("", null, "");
+        mRule.deleteSurroundingText(0, 10);
+        mRule.assertTextsAroundCursor("", null, "");
 
-        deleteSurroundingText(10, 10);
-        assertTextsAroundCursor("", null, "");
+        mRule.deleteSurroundingText(10, 10);
+        mRule.assertTextsAroundCursor("", null, "");
     }
 
+    @Test
     @SmallTest
     @Feature({"TextInput", "Main"})
     public void testKeyboardAppFinishesCompositionOnUnexpectedSelectionChange() throws Throwable {
-        focusElementAndWaitForStateUpdate("textarea2");
-        commitText("12345", 1);
-        setSelection(3, 3);
-        setComposingRegion(2, 3);
+        mRule.focusElementAndWaitForStateUpdate("textarea2");
+        mRule.commitText("12345", 1);
+        mRule.setSelection(3, 3);
+        mRule.setComposingRegion(2, 3);
 
-        waitAndVerifyUpdateSelection(0, 5, 5, -1, -1);
-        waitAndVerifyUpdateSelection(1, 3, 3, -1, -1);
-        waitAndVerifyUpdateSelection(2, 3, 3, 2, 3);
+        mRule.waitAndVerifyUpdateSelection(0, 5, 5, -1, -1);
+        mRule.waitAndVerifyUpdateSelection(1, 3, 3, -1, -1);
+        mRule.waitAndVerifyUpdateSelection(2, 3, 3, 2, 3);
 
         // Unexpected selection change occurs, e.g., the user clicks on an area.
-        DOMUtils.clickNode(mContentViewCore, "textarea2");
-        waitAndVerifyUpdateSelection(3, 5, 5, 2, 3);
+        DOMUtils.clickNode(mRule.getContentViewCore(), "textarea2");
+        mRule.waitAndVerifyUpdateSelection(3, 5, 5, 2, 3);
         // Keyboard app finishes composition. We emulate this in TestInputMethodManagerWrapper.
-        waitAndVerifyUpdateSelection(4, 5, 5, -1, -1);
+        mRule.waitAndVerifyUpdateSelection(4, 5, 5, -1, -1);
     }
 
+    @Test
     @SmallTest
     @Feature({"TextInput", "Main"})
     public void testDeleteSurroundingTextInCodePointsWithRangeSelection() throws Throwable {
         final String trophy = "\uD83C\uDFC6";
-        commitText("ab" + trophy + "cdef" + trophy + "gh", 1);
-        waitAndVerifyUpdateSelection(0, 12, 12, -1, -1);
+        mRule.commitText("ab" + trophy + "cdef" + trophy + "gh", 1);
+        mRule.waitAndVerifyUpdateSelection(0, 12, 12, -1, -1);
 
-        setSelection(6, 8);
-        waitAndVerifyUpdateSelection(1, 6, 8, -1, -1);
-        assertTextsAroundCursor("ab" + trophy + "cd", "ef", trophy + "gh");
+        mRule.setSelection(6, 8);
+        mRule.waitAndVerifyUpdateSelection(1, 6, 8, -1, -1);
+        mRule.assertTextsAroundCursor("ab" + trophy + "cd", "ef", trophy + "gh");
 
-        deleteSurroundingTextInCodePoints(2, 2);
-        waitAndVerifyUpdateSelection(2, 4, 6, -1, -1);
-        assertTextsAroundCursor("ab" + trophy, "ef", "h");
+        mRule.deleteSurroundingTextInCodePoints(2, 2);
+        mRule.waitAndVerifyUpdateSelection(2, 4, 6, -1, -1);
+        mRule.assertTextsAroundCursor("ab" + trophy, "ef", "h");
     }
 
+    @Test
     @SmallTest
     @Feature({"TextInput", "Main"})
     public void testDeleteSurroundingTextInCodePointsWithCursorSelection() throws Throwable {
         final String trophy = "\uD83C\uDFC6";
-        commitText("ab" + trophy + "cd" + trophy, 1);
-        waitAndVerifyUpdateSelection(0, 8, 8, -1, -1);
+        mRule.commitText("ab" + trophy + "cd" + trophy, 1);
+        mRule.waitAndVerifyUpdateSelection(0, 8, 8, -1, -1);
 
-        setSelection(4, 4);
-        waitAndVerifyUpdateSelection(1, 4, 4, -1, -1);
-        assertTextsAroundCursor("ab" + trophy, null, "cd" + trophy);
+        mRule.setSelection(4, 4);
+        mRule.waitAndVerifyUpdateSelection(1, 4, 4, -1, -1);
+        mRule.assertTextsAroundCursor("ab" + trophy, null, "cd" + trophy);
 
-        deleteSurroundingTextInCodePoints(2, 2);
-        waitAndVerifyUpdateSelection(2, 1, 1, -1, -1);
-        assertTextsAroundCursor("a", null, trophy);
+        mRule.deleteSurroundingTextInCodePoints(2, 2);
+        mRule.waitAndVerifyUpdateSelection(2, 1, 1, -1, -1);
+        mRule.assertTextsAroundCursor("a", null, trophy);
     }
 
+    @Test
     @SmallTest
     @Feature({"TextInput", "Main"})
     public void testSetComposingTextForNewCursorPositions() throws Throwable {
         // Cursor is on the right of composing text when newCursorPosition > 0.
-        setComposingText("ab", 1);
-        waitAndVerifyUpdateSelection(0, 2, 2, 0, 2);
+        mRule.setComposingText("ab", 1);
+        mRule.waitAndVerifyUpdateSelection(0, 2, 2, 0, 2);
 
-        finishComposingText();
-        waitAndVerifyUpdateSelection(1, 2, 2, -1, -1);
+        mRule.finishComposingText();
+        mRule.waitAndVerifyUpdateSelection(1, 2, 2, -1, -1);
 
         // Cursor exceeds the left boundary.
-        setComposingText("cdef", -100);
-        waitAndVerifyUpdateSelection(2, 0, 0, 2, 6);
+        mRule.setComposingText("cdef", -100);
+        mRule.waitAndVerifyUpdateSelection(2, 0, 0, 2, 6);
 
         // Cursor is on the left boundary.
-        mInputMethodManagerWrapper.expectsSelectionOutsideComposition();
-        setComposingText("cd", -2);
-        waitAndVerifyUpdateSelection(3, 0, 0, 2, 4);
+        mRule.getInputMethodManagerWrapper().expectsSelectionOutsideComposition();
+        mRule.setComposingText("cd", -2);
+        mRule.waitAndVerifyUpdateSelection(3, 0, 0, 2, 4);
 
-        mInputMethodManagerWrapper.expectsSelectionOutsideComposition();
+        mRule.getInputMethodManagerWrapper().expectsSelectionOutsideComposition();
         // Cursor is between the left boundary and the composing text.
-        setComposingText("cd", -1);
-        waitAndVerifyUpdateSelection(4, 1, 1, 2, 4);
+        mRule.setComposingText("cd", -1);
+        mRule.waitAndVerifyUpdateSelection(4, 1, 1, 2, 4);
 
         // Cursor is on the left of composing text.
-        setComposingText("cd", 0);
-        waitAndVerifyUpdateSelection(5, 2, 2, 2, 4);
+        mRule.setComposingText("cd", 0);
+        mRule.waitAndVerifyUpdateSelection(5, 2, 2, 2, 4);
 
-        finishComposingText();
-        waitAndVerifyUpdateSelection(6, 2, 2, -1, -1);
+        mRule.finishComposingText();
+        mRule.waitAndVerifyUpdateSelection(6, 2, 2, -1, -1);
 
         // Cursor is on the right of composing text.
-        setComposingText("ef", 1);
-        waitAndVerifyUpdateSelection(7, 4, 4, 2, 4);
+        mRule.setComposingText("ef", 1);
+        mRule.waitAndVerifyUpdateSelection(7, 4, 4, 2, 4);
 
-        mInputMethodManagerWrapper.expectsSelectionOutsideComposition();
+        mRule.getInputMethodManagerWrapper().expectsSelectionOutsideComposition();
         // Cursor is between the composing text and the right boundary.
-        setComposingText("ef", 2);
-        waitAndVerifyUpdateSelection(8, 5, 5, 2, 4);
+        mRule.setComposingText("ef", 2);
+        mRule.waitAndVerifyUpdateSelection(8, 5, 5, 2, 4);
 
-        mInputMethodManagerWrapper.expectsSelectionOutsideComposition();
+        mRule.getInputMethodManagerWrapper().expectsSelectionOutsideComposition();
         // Cursor is on the right boundary.
-        setComposingText("ef", 3);
-        waitAndVerifyUpdateSelection(9, 6, 6, 2, 4);
+        mRule.setComposingText("ef", 3);
+        mRule.waitAndVerifyUpdateSelection(9, 6, 6, 2, 4);
 
-        mInputMethodManagerWrapper.expectsSelectionOutsideComposition();
+        mRule.getInputMethodManagerWrapper().expectsSelectionOutsideComposition();
         // Cursor exceeds the right boundary.
-        setComposingText("efgh", 100);
-        waitAndVerifyUpdateSelection(10, 8, 8, 2, 6);
+        mRule.setComposingText("efgh", 100);
+        mRule.waitAndVerifyUpdateSelection(10, 8, 8, 2, 6);
     }
 
+    @Test
     @SmallTest
     @Feature({"TextInput", "Main"})
     public void testCommitTextForNewCursorPositions() throws Throwable {
         // Cursor is on the left of committing text.
-        commitText("ab", 0);
-        waitAndVerifyUpdateSelection(0, 0, 0, -1, -1);
+        mRule.commitText("ab", 0);
+        mRule.waitAndVerifyUpdateSelection(0, 0, 0, -1, -1);
 
         // Cursor is on the right of committing text.
-        commitText("cd", 1);
-        waitAndVerifyUpdateSelection(1, 2, 2, -1, -1);
+        mRule.commitText("cd", 1);
+        mRule.waitAndVerifyUpdateSelection(1, 2, 2, -1, -1);
 
         // Cursor is between the committing text and the right boundary.
-        commitText("ef", 2);
-        waitAndVerifyUpdateSelection(2, 5, 5, -1, -1);
+        mRule.commitText("ef", 2);
+        mRule.waitAndVerifyUpdateSelection(2, 5, 5, -1, -1);
 
         // Cursor is between the left boundary and the committing text.
-        commitText("gh", -3);
-        waitAndVerifyUpdateSelection(3, 2, 2, -1, -1);
+        mRule.commitText("gh", -3);
+        mRule.waitAndVerifyUpdateSelection(3, 2, 2, -1, -1);
 
         // Cursor is on the right boundary.
-        commitText("ij", 7);
-        waitAndVerifyUpdateSelection(4, 10, 10, -1, -1);
+        mRule.commitText("ij", 7);
+        mRule.waitAndVerifyUpdateSelection(4, 10, 10, -1, -1);
 
         // Cursor is on the left boundary.
-        commitText("kl", -10);
-        waitAndVerifyUpdateSelection(5, 0, 0, -1, -1);
+        mRule.commitText("kl", -10);
+        mRule.waitAndVerifyUpdateSelection(5, 0, 0, -1, -1);
 
         // Cursor exceeds the right boundary.
-        commitText("mn", 100);
-        waitAndVerifyUpdateSelection(6, 14, 14, -1, -1);
+        mRule.commitText("mn", 100);
+        mRule.waitAndVerifyUpdateSelection(6, 14, 14, -1, -1);
 
         // Cursor exceeds the left boundary.
-        commitText("op", -100);
-        waitAndVerifyUpdateSelection(7, 0, 0, -1, -1);
+        mRule.commitText("op", -100);
+        mRule.waitAndVerifyUpdateSelection(7, 0, 0, -1, -1);
     }
 
+    @Test
     @SmallTest
     @Feature({"TextInput", "Main"})
     public void testSetComposingTextWithEmptyText() throws Throwable {
-        commitText("hello", 1);
-        waitAndVerifyUpdateSelection(0, 5, 5, -1, -1);
+        mRule.commitText("hello", 1);
+        mRule.waitAndVerifyUpdateSelection(0, 5, 5, -1, -1);
 
-        setComposingText("AB", 1);
-        waitAndVerifyUpdateSelection(1, 7, 7, 5, 7);
+        mRule.setComposingText("AB", 1);
+        mRule.waitAndVerifyUpdateSelection(1, 7, 7, 5, 7);
 
         // With previous composition.
-        setComposingText("", -3);
-        waitAndVerifyUpdateSelection(2, 2, 2, -1, -1);
-        assertTextsAroundCursor("he", null, "llo");
+        mRule.setComposingText("", -3);
+        mRule.waitAndVerifyUpdateSelection(2, 2, 2, -1, -1);
+        mRule.assertTextsAroundCursor("he", null, "llo");
 
         // Without previous composition.
-        setComposingText("", 3);
-        waitAndVerifyUpdateSelection(3, 4, 4, -1, -1);
-        assertTextsAroundCursor("hell", null, "o");
+        mRule.setComposingText("", 3);
+        mRule.waitAndVerifyUpdateSelection(3, 4, 4, -1, -1);
+        mRule.assertTextsAroundCursor("hell", null, "o");
     }
 
+    @Test
     @SmallTest
     @Feature({"TextInput", "Main"})
     public void testCommitTextWithEmptyText() throws Throwable {
-        commitText("hello", 1);
-        waitAndVerifyUpdateSelection(0, 5, 5, -1, -1);
-        setSelection(2, 2);
-        waitAndVerifyUpdateSelection(1, 2, 2, -1, -1);
+        mRule.commitText("hello", 1);
+        mRule.waitAndVerifyUpdateSelection(0, 5, 5, -1, -1);
+        mRule.setSelection(2, 2);
+        mRule.waitAndVerifyUpdateSelection(1, 2, 2, -1, -1);
 
-        setComposingText("world", 1);
-        waitAndVerifyUpdateSelection(2, 7, 7, 2, 7);
+        mRule.setComposingText("world", 1);
+        mRule.waitAndVerifyUpdateSelection(2, 7, 7, 2, 7);
         // With previous composition.
-        commitText("", 2);
-        waitAndVerifyUpdateSelection(3, 3, 3, -1, -1);
+        mRule.commitText("", 2);
+        mRule.waitAndVerifyUpdateSelection(3, 3, 3, -1, -1);
 
         // Without previous composition.
-        commitText("", -1);
-        waitAndVerifyUpdateSelection(4, 2, 2, -1, -1);
+        mRule.commitText("", -1);
+        mRule.waitAndVerifyUpdateSelection(4, 2, 2, -1, -1);
     }
 
+    @Test
     @SmallTest
     @Feature({"TextInput", "Main"})
     public void testCommitWhileComposingText() throws Throwable {
-        setComposingText("h", 1);
-        waitAndVerifyUpdateSelection(0, 1, 1, 0, 1);
+        mRule.setComposingText("h", 1);
+        mRule.waitAndVerifyUpdateSelection(0, 1, 1, 0, 1);
 
-        setComposingText("he", 1);
-        waitAndVerifyUpdateSelection(1, 2, 2, 0, 2);
+        mRule.setComposingText("he", 1);
+        mRule.waitAndVerifyUpdateSelection(1, 2, 2, 0, 2);
 
-        setComposingText("hel", 1);
-        waitAndVerifyUpdateSelection(2, 3, 3, 0, 3);
+        mRule.setComposingText("hel", 1);
+        mRule.waitAndVerifyUpdateSelection(2, 3, 3, 0, 3);
 
-        commitText("hel", 1);
-        waitAndVerifyUpdateSelection(3, 3, 3, -1, -1);
+        mRule.commitText("hel", 1);
+        mRule.waitAndVerifyUpdateSelection(3, 3, 3, -1, -1);
 
-        setComposingText("lo", 1);
-        waitAndVerifyUpdateSelection(4, 5, 5, 3, 5);
+        mRule.setComposingText("lo", 1);
+        mRule.waitAndVerifyUpdateSelection(4, 5, 5, 3, 5);
 
-        commitText("", 1);
-        waitAndVerifyUpdateSelection(5, 3, 3, -1, -1);
+        mRule.commitText("", 1);
+        mRule.waitAndVerifyUpdateSelection(5, 3, 3, -1, -1);
 
-        assertTextsAroundCursor("hel", null, "");
+        mRule.assertTextsAroundCursor("hel", null, "");
     }
 
+    @Test
     @SmallTest
     @Feature({"TextInput", "Main"})
     public void testCommitEnterKeyWhileComposingText() throws Throwable {
-        focusElementAndWaitForStateUpdate("textarea");
+        mRule.focusElementAndWaitForStateUpdate("textarea");
 
-        setComposingText("hello", 1);
-        waitAndVerifyUpdateSelection(0, 5, 5, 0, 5);
+        mRule.setComposingText("hello", 1);
+        mRule.waitAndVerifyUpdateSelection(0, 5, 5, 0, 5);
 
         // Cancel the current composition and replace it with enter.
-        commitText("\n", 1);
-        waitAndVerifyUpdateSelection(1, 1, 1, -1, -1);
+        mRule.commitText("\n", 1);
+        mRule.waitAndVerifyUpdateSelection(1, 1, 1, -1, -1);
         // The second new line is not a user visible/editable one, it is a side-effect of Blink
         // using <br> internally. This only happens when \n is at the end.
-        assertTextsAroundCursor("\n", null, "\n");
+        mRule.assertTextsAroundCursor("\n", null, "\n");
 
-        commitText("world", 1);
-        waitAndVerifyUpdateSelection(2, 6, 6, -1, -1);
-        assertTextsAroundCursor("\nworld", null, "");
+        mRule.commitText("world", 1);
+        mRule.waitAndVerifyUpdateSelection(2, 6, 6, -1, -1);
+        mRule.assertTextsAroundCursor("\nworld", null, "");
     }
 
+    @Test
     @SmallTest
     @Feature({"TextInput"})
     public void testImeCopy() throws Exception {
-        commitText("hello", 1);
-        waitAndVerifyUpdateSelection(0, 5, 5, -1, -1);
+        mRule.commitText("hello", 1);
+        mRule.waitAndVerifyUpdateSelection(0, 5, 5, -1, -1);
 
-        setSelection(2, 5);
-        waitAndVerifyUpdateSelection(1, 2, 5, -1, -1);
+        mRule.setSelection(2, 5);
+        mRule.waitAndVerifyUpdateSelection(1, 2, 5, -1, -1);
 
-        copy();
-        assertClipboardContents(getActivity(), "llo");
+        mRule.copy();
+        mRule.assertClipboardContents(mRule.getActivity(), "llo");
     }
 
+    @Test
     @SmallTest
     @Feature({"TextInput"})
     public void testEnterTextAndRefocus() throws Exception {
-        commitText("hello", 1);
-        waitAndVerifyUpdateSelection(0, 5, 5, -1, -1);
-        restartInput();
-        DOMUtils.clickNode(mContentViewCore, "input_text");
-        assertWaitForKeyboardStatus(true);
+        mRule.commitText("hello", 1);
+        mRule.waitAndVerifyUpdateSelection(0, 5, 5, -1, -1);
+        mRule.restartInput();
+        DOMUtils.clickNode(mRule.getContentViewCore(), "input_text");
+        mRule.assertWaitForKeyboardStatus(true);
 
-        assertEquals(5, mConnectionFactory.getOutAttrs().initialSelStart);
-        assertEquals(5, mConnectionFactory.getOutAttrs().initialSelEnd);
+        Assert.assertEquals(5, mRule.getConnectionFactory().getOutAttrs().initialSelStart);
+        Assert.assertEquals(5, mRule.getConnectionFactory().getOutAttrs().initialSelEnd);
     }
 
+    @Test
     @SmallTest
     @DisabledTest(message = "crbug.com/694812")
     @Feature({"TextInput"})
     public void testShowAndHideSoftInput() throws Exception {
-        focusElement("input_radio", false);
+        mRule.focusElement("input_radio", false);
 
-        // hideSoftKeyboard(), restartInput()
-        waitForKeyboardStates(0, 1, 1, new Integer[] {});
+        // hideSoftKeyboard(), mRule.restartInput()
+        mRule.waitForKeyboardStates(0, 1, 1, new Integer[] {});
 
         // When input connection is null, we still need to set flags to prevent InputMethodService
         // from entering fullscreen mode and from opening custom UI.
         CriteriaHelper.pollUiThread(new Criteria() {
             @Override
             public boolean isSatisfied() {
-                return getInputConnection() == null;
+                return mRule.getInputConnection() == null;
             }
         });
-        assertTrue(
-                (mConnectionFactory.getOutAttrs().imeOptions
+        Assert.assertTrue(
+                (mRule.getConnectionFactory().getOutAttrs().imeOptions
                         & (EditorInfo.IME_FLAG_NO_FULLSCREEN | EditorInfo.IME_FLAG_NO_EXTRACT_UI))
                 != 0);
 
-        // showSoftInput(), restartInput()
-        focusElement("input_number1");
-        waitForKeyboardStates(1, 1, 2, new Integer[] {TextInputType.NUMBER});
-        assertNotNull(mInputMethodManagerWrapper.getInputConnection());
+        // showSoftInput(), mRule.restartInput()
+        mRule.focusElement("input_number1");
+        mRule.waitForKeyboardStates(1, 1, 2, new Integer[] {TextInputType.NUMBER});
+        Assert.assertNotNull(mRule.getInputMethodManagerWrapper().getInputConnection());
 
-        focusElement("input_number2");
+        mRule.focusElement("input_number2");
         // Hide should never be called here. Otherwise we will see a flicker. Restarted to
         // reset internal states to handle the new input form.
-        waitForKeyboardStates(2, 1, 3, new Integer[] {TextInputType.NUMBER, TextInputType.NUMBER});
+        mRule.waitForKeyboardStates(
+                2, 1, 3, new Integer[] {TextInputType.NUMBER, TextInputType.NUMBER});
 
-        focusElement("input_text");
-        // showSoftInput() on input_text. restartInput() on input_number1 due to focus change,
-        // and restartInput() on input_text later.
-        waitForKeyboardStates(3, 1, 4,
+        mRule.focusElement("input_text");
+        // showSoftInput() on input_text. mRule.restartInput() on input_number1 due to focus change,
+        // and mRule.restartInput() on input_text later.
+        mRule.waitForKeyboardStates(3, 1, 4,
                 new Integer[] {TextInputType.NUMBER, TextInputType.NUMBER, TextInputType.TEXT});
 
-        resetUpdateSelectionList();
-        setComposingText("a", 1);
-        waitAndVerifyUpdateSelection(0, 1, 1, 0, 1);
-        resetUpdateSelectionList();
+        mRule.resetUpdateSelectionList();
+        mRule.setComposingText("a", 1);
+        mRule.waitAndVerifyUpdateSelection(0, 1, 1, 0, 1);
+        mRule.resetUpdateSelectionList();
 
         // JavaScript changes focus.
         String code = "(function() { "
@@ -541,168 +467,139 @@
                 + "textarea.focus();"
                 + "})();";
         JavaScriptUtils.executeJavaScriptAndWaitForResult(
-                getContentViewCore().getWebContents(), code);
-        waitAndVerifyUpdateSelection(0, 0, 0, -1, -1);
-        resetUpdateSelectionList();
+                mRule.getContentViewCore().getWebContents(), code);
+        mRule.waitAndVerifyUpdateSelection(0, 0, 0, -1, -1);
+        mRule.resetUpdateSelectionList();
 
-        waitForKeyboardStates(4, 1, 5, new Integer[] {
-                TextInputType.NUMBER, TextInputType.NUMBER, TextInputType.TEXT,
-                TextInputType.TEXT_AREA});
-        assertEquals(0, mConnectionFactory.getOutAttrs().initialSelStart);
-        assertEquals(0, mConnectionFactory.getOutAttrs().initialSelEnd);
+        mRule.waitForKeyboardStates(4, 1, 5,
+                new Integer[] {TextInputType.NUMBER, TextInputType.NUMBER, TextInputType.TEXT,
+                        TextInputType.TEXT_AREA});
+        Assert.assertEquals(0, mRule.getConnectionFactory().getOutAttrs().initialSelStart);
+        Assert.assertEquals(0, mRule.getConnectionFactory().getOutAttrs().initialSelEnd);
 
-        setComposingText("aa", 1);
-        waitAndVerifyUpdateSelection(0, 2, 2, 0, 2);
+        mRule.setComposingText("aa", 1);
+        mRule.waitAndVerifyUpdateSelection(0, 2, 2, 0, 2);
 
-        focusElement("input_text");
-        waitForKeyboardStates(5, 1, 6, new Integer[] {
-                TextInputType.NUMBER, TextInputType.NUMBER, TextInputType.TEXT,
-                TextInputType.TEXT_AREA, TextInputType.TEXT});
-        assertEquals(1, mConnectionFactory.getOutAttrs().initialSelStart);
-        assertEquals(1, mConnectionFactory.getOutAttrs().initialSelEnd);
+        mRule.focusElement("input_text");
+        mRule.waitForKeyboardStates(5, 1, 6,
+                new Integer[] {TextInputType.NUMBER, TextInputType.NUMBER, TextInputType.TEXT,
+                        TextInputType.TEXT_AREA, TextInputType.TEXT});
+        Assert.assertEquals(1, mRule.getConnectionFactory().getOutAttrs().initialSelStart);
+        Assert.assertEquals(1, mRule.getConnectionFactory().getOutAttrs().initialSelEnd);
 
-        focusElement("input_radio", false);
-        // hideSoftInput(), restartInput()
-        waitForKeyboardStates(5, 2, 7, new Integer[] {
-                TextInputType.NUMBER, TextInputType.NUMBER, TextInputType.TEXT,
-                TextInputType.TEXT_AREA, TextInputType.TEXT});
+        mRule.focusElement("input_radio", false);
+        // hideSoftInput(), mRule.restartInput()
+        mRule.waitForKeyboardStates(5, 2, 7,
+                new Integer[] {TextInputType.NUMBER, TextInputType.NUMBER, TextInputType.TEXT,
+                        TextInputType.TEXT_AREA, TextInputType.TEXT});
     }
-
-    private void assertTextsAroundCursor(
-            CharSequence before, CharSequence selected, CharSequence after) throws Exception {
-        assertEquals(before, getTextBeforeCursor(100, 0));
-        assertEquals(selected, getSelectedText(0));
-        assertEquals(after, getTextAfterCursor(100, 0));
-    }
-
-    private void waitForKeyboardStates(int show, int hide, int restart, Integer[] history) {
-        final String expected = stringifyKeyboardStates(show, hide, restart, history);
-        CriteriaHelper.pollUiThread(Criteria.equals(expected, new Callable<String>() {
-            @Override
-            public String call() {
-                return getKeyboardStates();
-            }
-        }));
-    }
-
-    private void resetAllStates() {
-        mInputMethodManagerWrapper.reset();
-        mConnectionFactory.clearTextInputTypeHistory();
-    }
-
-    private String getKeyboardStates() {
-        int showCount = mInputMethodManagerWrapper.getShowSoftInputCounter();
-        int hideCount = mInputMethodManagerWrapper.getHideSoftInputCounter();
-        int restartCount = mInputMethodManagerWrapper.getRestartInputCounter();
-        Integer[] history = mConnectionFactory.getTextInputTypeHistory();
-        return stringifyKeyboardStates(showCount, hideCount, restartCount, history);
-    }
-
-    private String stringifyKeyboardStates(int show, int hide, int restart, Integer[] history) {
-        return "show count: " + show + ", hide count: " + hide + ", restart count: " + restart
-                + ", input type history: " + Arrays.deepToString(history);
-    }
-
+    @Test
     @SmallTest
     @Feature({"TextInput"})
     public void testKeyboardNotDismissedAfterCopySelection() throws Exception {
-        commitText("Sample Text", 1);
-        waitAndVerifyUpdateSelection(0, 11, 11, -1, -1);
+        mRule.commitText("Sample Text", 1);
+        mRule.waitAndVerifyUpdateSelection(0, 11, 11, -1, -1);
 
         // Select 'text' part.
-        DOMUtils.longPressNode(mContentViewCore, "input_text");
+        DOMUtils.longPressNode(mRule.getContentViewCore(), "input_text");
 
-        assertWaitForSelectActionBarStatus(true);
+        mRule.assertWaitForSelectActionBarStatus(true);
 
-        selectAll();
-        copy();
-        assertClipboardContents(getActivity(), "Sample Text");
-        assertEquals(11, mInputMethodManagerWrapper.getSelection().end());
-        assertWaitForKeyboardStatus(true);
+        mRule.selectAll();
+        mRule.copy();
+        mRule.assertClipboardContents(mRule.getActivity(), "Sample Text");
+        Assert.assertEquals(11, mRule.getInputMethodManagerWrapper().getSelection().end());
+        mRule.assertWaitForKeyboardStatus(true);
     }
 
+    @Test
     @SmallTest
     @Feature({"TextInput"})
     public void testImeNotDismissedAfterCutSelection() throws Exception {
-        commitText("Sample Text", 1);
-        waitAndVerifyUpdateSelection(0, 11, 11, -1, -1);
-        DOMUtils.longPressNode(mContentViewCore, "input_text");
-        assertWaitForSelectActionBarStatus(true);
-        assertWaitForKeyboardStatus(true);
-        cut();
-        assertWaitForKeyboardStatus(true);
-        assertWaitForSelectActionBarStatus(false);
+        mRule.commitText("Sample Text", 1);
+        mRule.waitAndVerifyUpdateSelection(0, 11, 11, -1, -1);
+        DOMUtils.longPressNode(mRule.getContentViewCore(), "input_text");
+        mRule.assertWaitForSelectActionBarStatus(true);
+        mRule.assertWaitForKeyboardStatus(true);
+        mRule.cut();
+        mRule.assertWaitForKeyboardStatus(true);
+        mRule.assertWaitForSelectActionBarStatus(false);
     }
 
+    @Test
     @SmallTest
     @Feature({"TextInput"})
     public void testImeNotShownOnLongPressingEmptyInput() throws Exception {
-        DOMUtils.focusNode(mWebContents, "input_radio");
-        DOMUtils.longPressNode(mContentViewCore, "input_text");
-        assertWaitForKeyboardStatus(false);
-        commitText("Sample Text", 1);
-        DOMUtils.longPressNode(mContentViewCore, "input_text");
-        assertWaitForKeyboardStatus(true);
+        DOMUtils.focusNode(mRule.getWebContents(), "input_radio");
+        DOMUtils.longPressNode(mRule.getContentViewCore(), "input_text");
+        mRule.assertWaitForKeyboardStatus(false);
+        mRule.commitText("Sample Text", 1);
+        DOMUtils.longPressNode(mRule.getContentViewCore(), "input_text");
+        mRule.assertWaitForKeyboardStatus(true);
     }
 
+    @Test
     @SmallTest
     @Feature({"TextInput"})
     public void testSelectActionBarShownOnLongPressingInput() throws Exception {
-        DOMUtils.longPressNode(mContentViewCore, "input_text");
-        assertWaitForSelectActionBarStatus(false);
-        commitText("Sample Text", 1);
-        DOMUtils.longPressNode(mContentViewCore, "input_text");
-        assertWaitForSelectActionBarStatus(true);
+        DOMUtils.longPressNode(mRule.getContentViewCore(), "input_text");
+        mRule.assertWaitForSelectActionBarStatus(false);
+        mRule.commitText("Sample Text", 1);
+        DOMUtils.longPressNode(mRule.getContentViewCore(), "input_text");
+        mRule.assertWaitForSelectActionBarStatus(true);
     }
 
+    @Test
     @SmallTest
     @Feature({"TextInput"})
     public void testLongPressInputWhileComposingText() throws Exception {
-        assertWaitForSelectActionBarStatus(false);
-        setComposingText("Sample Text", 1);
-        waitAndVerifyUpdateSelection(0, 11, 11, 0, 11);
-        DOMUtils.longPressNode(mContentViewCore, "input_text");
+        mRule.assertWaitForSelectActionBarStatus(false);
+        mRule.setComposingText("Sample Text", 1);
+        mRule.waitAndVerifyUpdateSelection(0, 11, 11, 0, 11);
+        DOMUtils.longPressNode(mRule.getContentViewCore(), "input_text");
 
-        assertWaitForSelectActionBarStatus(true);
+        mRule.assertWaitForSelectActionBarStatus(true);
 
         // Long press will first change selection region, and then trigger IME app to show up.
         // See RenderFrameImpl::didChangeSelection() and RenderWidget::didHandleGestureEvent().
-        waitAndVerifyUpdateSelection(1, 7, 11, 0, 11);
+        mRule.waitAndVerifyUpdateSelection(1, 7, 11, 0, 11);
 
         // Now IME app wants to finish composing text because an external selection
         // change has been detected. At least Google Latin IME and Samsung IME
         // behave this way.
-        finishComposingText();
-        waitAndVerifyUpdateSelection(2, 7, 11, -1, -1);
+        mRule.finishComposingText();
+        mRule.waitAndVerifyUpdateSelection(2, 7, 11, -1, -1);
     }
 
+    @Test
     @SmallTest
     @Feature({"TextInput"})
     public void testImeShownWhenLongPressOnAlreadySelectedText() throws Exception {
-        assertWaitForSelectActionBarStatus(false);
-        commitText("Sample Text", 1);
+        mRule.assertWaitForSelectActionBarStatus(false);
+        mRule.commitText("Sample Text", 1);
 
-        int showCount = mInputMethodManagerWrapper.getShowSoftInputCounter();
-        DOMUtils.longPressNode(mContentViewCore, "input_text");
-        assertWaitForSelectActionBarStatus(true);
-        assertEquals(showCount + 1, mInputMethodManagerWrapper.getShowSoftInputCounter());
+        int showCount = mRule.getInputMethodManagerWrapper().getShowSoftInputCounter();
+        DOMUtils.longPressNode(mRule.getContentViewCore(), "input_text");
+        mRule.assertWaitForSelectActionBarStatus(true);
+        Assert.assertEquals(
+                showCount + 1, mRule.getInputMethodManagerWrapper().getShowSoftInputCounter());
 
         // Now long press again. Selection region remains the same, but the logic
         // should trigger IME to show up. Note that Android does not provide show /
         // hide status of IME, so we will just check whether showIme() has been triggered.
-        DOMUtils.longPressNode(mContentViewCore, "input_text");
+        DOMUtils.longPressNode(mRule.getContentViewCore(), "input_text");
         final int newCount = showCount + 2;
         CriteriaHelper.pollUiThread(Criteria.equals(newCount, new Callable<Integer>() {
             @Override
             public Integer call() {
-                return mInputMethodManagerWrapper.getShowSoftInputCounter();
+                return mRule.getInputMethodManagerWrapper().getShowSoftInputCounter();
             }
         }));
     }
 
     private void attachPhysicalKeyboard() {
-        Configuration hardKeyboardConfig =
-                new Configuration(mContentViewCore.getContext().getResources().getConfiguration());
+        Configuration hardKeyboardConfig = new Configuration(
+                mRule.getContentViewCore().getContext().getResources().getConfiguration());
         hardKeyboardConfig.keyboard = Configuration.KEYBOARD_QWERTY;
         hardKeyboardConfig.keyboardHidden = Configuration.KEYBOARDHIDDEN_YES;
         hardKeyboardConfig.hardKeyboardHidden = Configuration.HARDKEYBOARDHIDDEN_NO;
@@ -710,8 +607,8 @@
     }
 
     private void detachPhysicalKeyboard() {
-        Configuration softKeyboardConfig =
-                new Configuration(mContentViewCore.getContext().getResources().getConfiguration());
+        Configuration softKeyboardConfig = new Configuration(
+                mRule.getContentViewCore().getContext().getResources().getConfiguration());
         softKeyboardConfig.keyboard = Configuration.KEYBOARD_NOKEYS;
         softKeyboardConfig.keyboardHidden = Configuration.KEYBOARDHIDDEN_NO;
         softKeyboardConfig.hardKeyboardHidden = Configuration.HARDKEYBOARDHIDDEN_YES;
@@ -722,34 +619,37 @@
         ThreadUtils.runOnUiThreadBlocking(new Runnable() {
             @Override
             public void run() {
-                mContentViewCore.onConfigurationChanged(config);
+                mRule.getContentViewCore().onConfigurationChanged(config);
             }
         });
     }
 
     private void reloadPage() throws Throwable {
         // Reload the page, then focus will be lost and keyboard should be hidden.
-        fullyLoadUrl(getContentViewCore().getWebContents().getUrl());
+        mRule.fullyLoadUrl(mRule.getContentViewCore().getWebContents().getUrl());
     }
 
+    @Test
     @SmallTest
     @Feature({"TextInput"})
     public void testPhysicalKeyboard_AttachDetach() throws Throwable {
         attachPhysicalKeyboard();
         // We still call showSoftKeyboard, which will be ignored by physical keyboard.
-        waitForKeyboardStates(1, 0, 1, new Integer[] {TextInputType.TEXT});
-        setComposingText("a", 1);
-        waitForKeyboardStates(1, 0, 1, new Integer[] {TextInputType.TEXT});
+        mRule.waitForKeyboardStates(1, 0, 1, new Integer[] {TextInputType.TEXT});
+        mRule.setComposingText("a", 1);
+        mRule.waitForKeyboardStates(1, 0, 1, new Integer[] {TextInputType.TEXT});
         detachPhysicalKeyboard();
-        assertWaitForKeyboardStatus(true);
-        // Now we really show soft keyboard. We also call restartInput when configuration changes.
-        waitForKeyboardStates(2, 0, 2, new Integer[] {TextInputType.TEXT, TextInputType.TEXT});
+        mRule.assertWaitForKeyboardStatus(true);
+        // Now we really show soft keyboard. We also call mRule.restartInput when configuration
+        // changes.
+        mRule.waitForKeyboardStates(
+                2, 0, 2, new Integer[] {TextInputType.TEXT, TextInputType.TEXT});
 
         reloadPage();
 
-        // Depending on the timing, hideSoftInput and restartInput call counts may vary here
+        // Depending on the timing, hideSoftInput and mRule.restartInput call counts may vary here
         // because render widget gets restarted. But the end result should be the same.
-        assertWaitForKeyboardStatus(false);
+        mRule.assertWaitForKeyboardStatus(false);
 
         detachPhysicalKeyboard();
 
@@ -758,87 +658,93 @@
             CriteriaHelper.pollUiThread(new Criteria() {
                 @Override
                 public boolean isSatisfied() {
-                    return mInputMethodManagerWrapper.isShowWithoutHideOutstanding();
+                    return mRule.getInputMethodManagerWrapper().isShowWithoutHideOutstanding();
                 }
             });
-            fail("Keyboard incorrectly showing");
+            Assert.fail("Keyboard incorrectly showing");
         } catch (AssertionError e) {
             // TODO(tedchoc): This is horrible and should never timeout to determine success.
         }
     }
 
+    @Test
     @SmallTest
     @Feature({"TextInput"})
     public void testSelectActionBarClearedOnTappingInput() throws Exception {
-        commitText("Sample Text", 1);
-        DOMUtils.longPressNode(mContentViewCore, "input_text");
-        assertWaitForKeyboardStatus(true);
-        assertWaitForSelectActionBarStatus(true);
-        DOMUtils.clickNode(mContentViewCore, "input_text");
-        assertWaitForSelectActionBarStatus(false);
+        mRule.commitText("Sample Text", 1);
+        DOMUtils.longPressNode(mRule.getContentViewCore(), "input_text");
+        mRule.assertWaitForKeyboardStatus(true);
+        mRule.assertWaitForSelectActionBarStatus(true);
+        DOMUtils.clickNode(mRule.getContentViewCore(), "input_text");
+        mRule.assertWaitForSelectActionBarStatus(false);
     }
 
+    @Test
     @SmallTest
     @Feature({"TextInput"})
     public void testSelectActionBarClearedOnTappingOutsideInput() throws Exception {
-        commitText("Sample Text", 1);
-        DOMUtils.longPressNode(mContentViewCore, "input_text");
-        assertWaitForKeyboardStatus(true);
-        assertWaitForSelectActionBarStatus(true);
-        DOMUtils.clickNode(mContentViewCore, "plain_text");
-        assertWaitForKeyboardStatus(false);
-        assertWaitForSelectActionBarStatus(false);
+        mRule.commitText("Sample Text", 1);
+        DOMUtils.longPressNode(mRule.getContentViewCore(), "input_text");
+        mRule.assertWaitForKeyboardStatus(true);
+        mRule.assertWaitForSelectActionBarStatus(true);
+        DOMUtils.clickNode(mRule.getContentViewCore(), "plain_text");
+        mRule.assertWaitForKeyboardStatus(false);
+        mRule.assertWaitForSelectActionBarStatus(false);
     }
 
+    @Test
     @SmallTest
     @Feature({"TextInput"})
     public void testImeNotShownOnLongPressingDifferentEmptyInputs() throws Exception {
-        DOMUtils.focusNode(mWebContents, "input_radio");
-        DOMUtils.longPressNode(mContentViewCore, "input_text");
-        assertWaitForKeyboardStatus(false);
-        DOMUtils.longPressNode(mContentViewCore, "textarea");
-        assertWaitForKeyboardStatus(false);
+        DOMUtils.focusNode(mRule.getWebContents(), "input_radio");
+        DOMUtils.longPressNode(mRule.getContentViewCore(), "input_text");
+        mRule.assertWaitForKeyboardStatus(false);
+        DOMUtils.longPressNode(mRule.getContentViewCore(), "textarea");
+        mRule.assertWaitForKeyboardStatus(false);
     }
 
+    @Test
     @SmallTest
     @Feature({"TextInput"})
     public void testImeStaysOnLongPressingDifferentNonEmptyInputs() throws Exception {
-        DOMUtils.focusNode(mWebContents, "input_text");
-        assertWaitForKeyboardStatus(true);
+        DOMUtils.focusNode(mRule.getWebContents(), "input_text");
+        mRule.assertWaitForKeyboardStatus(true);
 
-        commitText("Sample Text", 1);
+        mRule.commitText("Sample Text", 1);
         // We should wait to avoid race condition.
-        waitAndVerifyUpdateSelection(0, 11, 11, -1, -1);
+        mRule.waitAndVerifyUpdateSelection(0, 11, 11, -1, -1);
 
-        DOMUtils.focusNode(mWebContents, "textarea");
-        waitAndVerifyUpdateSelection(1, 0, 0, -1, -1);
+        DOMUtils.focusNode(mRule.getWebContents(), "textarea");
+        mRule.waitAndVerifyUpdateSelection(1, 0, 0, -1, -1);
 
-        commitText("Sample Text", 1);
-        waitAndVerifyUpdateSelection(2, 11, 11, -1, -1);
+        mRule.commitText("Sample Text", 1);
+        mRule.waitAndVerifyUpdateSelection(2, 11, 11, -1, -1);
 
-        DOMUtils.longPressNode(mContentViewCore, "input_text");
-        assertWaitForKeyboardStatus(true);
-        assertWaitForSelectActionBarStatus(true);
+        DOMUtils.longPressNode(mRule.getContentViewCore(), "input_text");
+        mRule.assertWaitForKeyboardStatus(true);
+        mRule.assertWaitForSelectActionBarStatus(true);
 
-        DOMUtils.longPressNode(mContentViewCore, "textarea");
-        assertWaitForKeyboardStatus(true);
+        DOMUtils.longPressNode(mRule.getContentViewCore(), "textarea");
+        mRule.assertWaitForKeyboardStatus(true);
     }
 
+    @Test
     @SmallTest
     @Feature({"TextInput"})
     public void testImeCut() throws Exception {
-        commitText("snarful", 1);
-        waitAndVerifyUpdateSelection(0, 7, 7, -1, -1);
+        mRule.commitText("snarful", 1);
+        mRule.waitAndVerifyUpdateSelection(0, 7, 7, -1, -1);
 
-        setSelection(1, 5);
-        waitAndVerifyUpdateSelection(1, 1, 5, -1, -1);
+        mRule.setSelection(1, 5);
+        mRule.waitAndVerifyUpdateSelection(1, 1, 5, -1, -1);
 
-        cut();
-        waitAndVerifyUpdateSelection(2, 1, 1, -1, -1);
-        assertTextsAroundCursor("s", null, "ul");
-        assertClipboardContents(getActivity(), "narf");
+        mRule.cut();
+        mRule.waitAndVerifyUpdateSelection(2, 1, 1, -1, -1);
+        mRule.assertTextsAroundCursor("s", null, "ul");
+        mRule.assertClipboardContents(mRule.getActivity(), "narf");
     }
 
+    @Test
     @SmallTest
     @Feature({"TextInput"})
     public void testImePaste() throws Exception {
@@ -846,645 +752,668 @@
             @Override
             public void run() {
                 ClipboardManager clipboardManager =
-                        (ClipboardManager) getActivity().getSystemService(
+                        (ClipboardManager) mRule.getActivity().getSystemService(
                                 Context.CLIPBOARD_SERVICE);
                 clipboardManager.setPrimaryClip(ClipData.newPlainText("blarg", "blarg"));
             }
         });
 
-        paste();
+        mRule.paste();
         // Paste is a two step process when there is a non-zero selection.
-        waitAndVerifyUpdateSelection(0, 5, 5, -1, -1);
-        assertTextsAroundCursor("blarg", null, "");
+        mRule.waitAndVerifyUpdateSelection(0, 5, 5, -1, -1);
+        mRule.assertTextsAroundCursor("blarg", null, "");
 
-        setSelection(3, 5);
-        waitAndVerifyUpdateSelection(1, 3, 5, -1, -1);
-        assertTextsAroundCursor("bla", "rg", "");
+        mRule.setSelection(3, 5);
+        mRule.waitAndVerifyUpdateSelection(1, 3, 5, -1, -1);
+        mRule.assertTextsAroundCursor("bla", "rg", "");
 
-        paste();
+        mRule.paste();
         // Paste is a two step process when there is a non-zero selection.
-        waitAndVerifyUpdateSelection(2, 8, 8, -1, -1);
-        assertTextsAroundCursor("blablarg", null, "");
+        mRule.waitAndVerifyUpdateSelection(2, 8, 8, -1, -1);
+        mRule.assertTextsAroundCursor("blablarg", null, "");
 
-        paste();
-        waitAndVerifyUpdateSelection(3, 13, 13, -1, -1);
-        assertTextsAroundCursor("blablargblarg", null, "");
+        mRule.paste();
+        mRule.waitAndVerifyUpdateSelection(3, 13, 13, -1, -1);
+        mRule.assertTextsAroundCursor("blablargblarg", null, "");
     }
 
+    @Test
     @SmallTest
     @Feature({"TextInput"})
     public void testImeSelectAndCollapseSelection() throws Exception {
-        commitText("hello", 1);
-        waitAndVerifyUpdateSelection(0, 5, 5, -1, -1);
+        mRule.commitText("hello", 1);
+        mRule.waitAndVerifyUpdateSelection(0, 5, 5, -1, -1);
 
-        selectAll();
-        waitAndVerifyUpdateSelection(1, 0, 5, -1, -1);
+        mRule.selectAll();
+        mRule.waitAndVerifyUpdateSelection(1, 0, 5, -1, -1);
 
-        collapseSelection();
-        waitAndVerifyUpdateSelection(2, 5, 5, -1, -1);
+        mRule.collapseSelection();
+        mRule.waitAndVerifyUpdateSelection(2, 5, 5, -1, -1);
     }
 
+    @Test
     @SmallTest
     @Feature({"TextInput", "Main"})
     public void testShowImeIfNeeded() throws Throwable {
         // showImeIfNeeded() is now implicitly called by the updated focus
         // heuristic so no need to call explicitly. http://crbug.com/371927
-        DOMUtils.focusNode(mWebContents, "input_radio");
-        assertWaitForKeyboardStatus(false);
+        DOMUtils.focusNode(mRule.getWebContents(), "input_radio");
+        mRule.assertWaitForKeyboardStatus(false);
 
-        DOMUtils.focusNode(mWebContents, "input_text");
-        assertWaitForKeyboardStatus(true);
+        DOMUtils.focusNode(mRule.getWebContents(), "input_text");
+        mRule.assertWaitForKeyboardStatus(true);
     }
 
+    @Test
     @SmallTest
     @Feature({"TextInput", "Main"})
     public void testFinishComposingText() throws Throwable {
-        focusElementAndWaitForStateUpdate("textarea");
+        mRule.focusElementAndWaitForStateUpdate("textarea");
 
-        commitText("hllo", 1);
-        waitAndVerifyUpdateSelection(0, 4, 4, -1, -1);
+        mRule.commitText("hllo", 1);
+        mRule.waitAndVerifyUpdateSelection(0, 4, 4, -1, -1);
 
-        commitText(" ", 1);
-        waitAndVerifyUpdateSelection(1, 5, 5, -1, -1);
+        mRule.commitText(" ", 1);
+        mRule.waitAndVerifyUpdateSelection(1, 5, 5, -1, -1);
 
-        setSelection(1, 1);
-        waitAndVerifyUpdateSelection(2, 1, 1, -1, -1);
-        assertTextsAroundCursor("h", null, "llo ");
+        mRule.setSelection(1, 1);
+        mRule.waitAndVerifyUpdateSelection(2, 1, 1, -1, -1);
+        mRule.assertTextsAroundCursor("h", null, "llo ");
 
-        setComposingRegion(0, 4);
-        waitAndVerifyUpdateSelection(3, 1, 1, 0, 4);
+        mRule.setComposingRegion(0, 4);
+        mRule.waitAndVerifyUpdateSelection(3, 1, 1, 0, 4);
 
-        finishComposingText();
-        waitAndVerifyUpdateSelection(4, 1, 1, -1, -1);
+        mRule.finishComposingText();
+        mRule.waitAndVerifyUpdateSelection(4, 1, 1, -1, -1);
 
-        commitText("\n", 1);
-        waitAndVerifyUpdateSelection(5, 2, 2, -1, -1);
-        assertTextsAroundCursor("h\n", null, "llo ");
+        mRule.commitText("\n", 1);
+        mRule.waitAndVerifyUpdateSelection(5, 2, 2, -1, -1);
+        mRule.assertTextsAroundCursor("h\n", null, "llo ");
     }
 
     // http://crbug.com/445499
+    @Test
     @SmallTest
     @Feature({"TextInput", "Main"})
     public void testDeleteText() throws Throwable {
-        focusElement("textarea");
+        mRule.focusElement("textarea");
 
         // The calls below are a reflection of what the stock Google Keyboard (Andr
         // when the noted key is touched on screen.
         // H
-        setComposingText("h", 1);
-        assertEquals("h", getTextBeforeCursor(9, 0));
+        mRule.setComposingText("h", 1);
+        Assert.assertEquals("h", mRule.getTextBeforeCursor(9, 0));
 
         // O
-        setComposingText("ho", 1);
-        assertEquals("ho", getTextBeforeCursor(9, 0));
+        mRule.setComposingText("ho", 1);
+        Assert.assertEquals("ho", mRule.getTextBeforeCursor(9, 0));
 
-        setComposingText("h", 1);
-        setComposingRegion(0, 1);
-        setComposingText("h", 1);
-        assertEquals("h", getTextBeforeCursor(9, 0));
+        mRule.setComposingText("h", 1);
+        mRule.setComposingRegion(0, 1);
+        mRule.setComposingText("h", 1);
+        Assert.assertEquals("h", mRule.getTextBeforeCursor(9, 0));
 
         // I
-        setComposingText("hi", 1);
-        assertEquals("hi", getTextBeforeCursor(9, 0));
+        mRule.setComposingText("hi", 1);
+        Assert.assertEquals("hi", mRule.getTextBeforeCursor(9, 0));
 
         // SPACE
-        commitText("hi", 1);
-        commitText(" ", 1);
-        assertEquals("hi ", getTextBeforeCursor(9, 0));
+        mRule.commitText("hi", 1);
+        mRule.commitText(" ", 1);
+        Assert.assertEquals("hi ", mRule.getTextBeforeCursor(9, 0));
 
         // DEL
-        deleteSurroundingText(1, 0);
-        setComposingRegion(0, 2);
-        assertEquals("hi", getTextBeforeCursor(9, 0));
+        mRule.deleteSurroundingText(1, 0);
+        mRule.setComposingRegion(0, 2);
+        Assert.assertEquals("hi", mRule.getTextBeforeCursor(9, 0));
 
-        setComposingText("h", 1);
-        assertEquals("h", getTextBeforeCursor(9, 0));
+        mRule.setComposingText("h", 1);
+        Assert.assertEquals("h", mRule.getTextBeforeCursor(9, 0));
 
-        commitText("", 1);
-        assertEquals("", getTextBeforeCursor(9, 0));
+        mRule.commitText("", 1);
+        Assert.assertEquals("", mRule.getTextBeforeCursor(9, 0));
 
         // DEL (on empty input)
-        deleteSurroundingText(1, 0); // DEL on empty still sends 1,0
-        assertEquals("", getTextBeforeCursor(9, 0));
+        mRule.deleteSurroundingText(1, 0); // DEL on empty still sends 1,0
+        Assert.assertEquals("", mRule.getTextBeforeCursor(9, 0));
     }
 
-
+    @Test
     @SmallTest
     @Feature({"TextInput", "Main"})
     public void testSwipingText() throws Throwable {
-        focusElement("textarea");
+        mRule.focusElement("textarea");
 
         // The calls below are a reflection of what the stock Google Keyboard (Android 4.4) sends
         // when the word is swiped on the soft keyboard.  Exercise care when altering to make sure
         // that the test reflects reality.  If this test breaks, it's possible that code has
         // changed and different calls need to be made instead.
         // "three"
-        setComposingText("three", 1);
-        assertEquals("three", getTextBeforeCursor(99, 0));
+        mRule.setComposingText("three", 1);
+        Assert.assertEquals("three", mRule.getTextBeforeCursor(99, 0));
 
         // "word"
-        commitText("three", 1);
-        commitText(" ", 1);
-        setComposingText("word", 1);
-        assertEquals("three word", getTextBeforeCursor(99, 0));
+        mRule.commitText("three", 1);
+        mRule.commitText(" ", 1);
+        mRule.setComposingText("word", 1);
+        Assert.assertEquals("three word", mRule.getTextBeforeCursor(99, 0));
 
         // "test"
-        commitText("word", 1);
-        commitText(" ", 1);
-        setComposingText("test", 1);
-        assertEquals("three word test", getTextBeforeCursor(99, 0));
+        mRule.commitText("word", 1);
+        mRule.commitText(" ", 1);
+        mRule.setComposingText("test", 1);
+        Assert.assertEquals("three word test", mRule.getTextBeforeCursor(99, 0));
     }
 
+    @Test
     @SmallTest
     @Feature({"TextInput", "Main"})
     public void testDeleteMultiCharacterCodepoint() throws Throwable {
         // This smiley is a multi character codepoint.
         final String smiley = "\uD83D\uDE0A";
 
-        commitText(smiley, 1);
-        waitAndVerifyUpdateSelection(0, 2, 2, -1, -1);
-        assertTextsAroundCursor(smiley, null, "");
+        mRule.commitText(smiley, 1);
+        mRule.waitAndVerifyUpdateSelection(0, 2, 2, -1, -1);
+        mRule.assertTextsAroundCursor(smiley, null, "");
 
-        // DEL, sent via dispatchKeyEvent like it is in Android WebView or a physical keyboard.
-        dispatchKeyEvent(new KeyEvent(KeyEvent.ACTION_DOWN, KeyEvent.KEYCODE_DEL));
-        dispatchKeyEvent(new KeyEvent(KeyEvent.ACTION_UP, KeyEvent.KEYCODE_DEL));
+        // DEL, sent via mRule.dispatchKeyEvent like it is in Android WebView or a physical
+        // keyboard.
+        mRule.dispatchKeyEvent(new KeyEvent(KeyEvent.ACTION_DOWN, KeyEvent.KEYCODE_DEL));
+        mRule.dispatchKeyEvent(new KeyEvent(KeyEvent.ACTION_UP, KeyEvent.KEYCODE_DEL));
 
-        waitAndVerifyUpdateSelection(1, 0, 0, -1, -1);
+        mRule.waitAndVerifyUpdateSelection(1, 0, 0, -1, -1);
 
         // Make sure that we accept further typing after deleting the smiley.
-        setComposingText("s", 1);
-        setComposingText("sm", 1);
-        waitAndVerifyUpdateSelection(2, 1, 1, 0, 1);
-        waitAndVerifyUpdateSelection(3, 2, 2, 0, 2);
+        mRule.setComposingText("s", 1);
+        mRule.setComposingText("sm", 1);
+        mRule.waitAndVerifyUpdateSelection(2, 1, 1, 0, 1);
+        mRule.waitAndVerifyUpdateSelection(3, 2, 2, 0, 2);
     }
 
+    @Test
     @SmallTest
     @Feature({"TextInput", "Main"})
     public void testBackspaceKeycode() throws Throwable {
-        focusElement("textarea");
+        mRule.focusElement("textarea");
 
         // H
-        commitText("h", 1);
-        assertEquals("h", getTextBeforeCursor(9, 0));
+        mRule.commitText("h", 1);
+        Assert.assertEquals("h", mRule.getTextBeforeCursor(9, 0));
 
         // O
-        commitText("o", 1);
-        assertEquals("ho", getTextBeforeCursor(9, 0));
+        mRule.commitText("o", 1);
+        Assert.assertEquals("ho", mRule.getTextBeforeCursor(9, 0));
 
-        // DEL, sent via dispatchKeyEvent like it is in Android WebView or a physical keyboard.
-        dispatchKeyEvent(new KeyEvent(KeyEvent.ACTION_DOWN, KeyEvent.KEYCODE_DEL));
-        dispatchKeyEvent(new KeyEvent(KeyEvent.ACTION_UP, KeyEvent.KEYCODE_DEL));
+        // DEL, sent via mRule.dispatchKeyEvent like it is in Android WebView or a physical
+        // keyboard.
+        mRule.dispatchKeyEvent(new KeyEvent(KeyEvent.ACTION_DOWN, KeyEvent.KEYCODE_DEL));
+        mRule.dispatchKeyEvent(new KeyEvent(KeyEvent.ACTION_UP, KeyEvent.KEYCODE_DEL));
 
         // DEL
-        assertEquals("h", getTextBeforeCursor(9, 0));
+        Assert.assertEquals("h", mRule.getTextBeforeCursor(9, 0));
     }
 
+    @Test
     @SmallTest
     @Feature({"TextInput", "Main"})
     public void testRepeatBackspaceKeycode() throws Throwable {
-        focusElement("textarea");
+        mRule.focusElement("textarea");
 
         // H
-        commitText("h", 1);
-        assertEquals("h", getTextBeforeCursor(9, 0));
+        mRule.commitText("h", 1);
+        Assert.assertEquals("h", mRule.getTextBeforeCursor(9, 0));
 
         // O
-        commitText("o", 1);
-        assertEquals("ho", getTextBeforeCursor(9, 0));
+        mRule.commitText("o", 1);
+        Assert.assertEquals("ho", mRule.getTextBeforeCursor(9, 0));
 
         // Multiple keydowns should each delete one character (this is for physical keyboard
         // key-repeat).
-        dispatchKeyEvent(new KeyEvent(KeyEvent.ACTION_DOWN, KeyEvent.KEYCODE_DEL));
-        dispatchKeyEvent(new KeyEvent(KeyEvent.ACTION_DOWN, KeyEvent.KEYCODE_DEL));
-        dispatchKeyEvent(new KeyEvent(KeyEvent.ACTION_UP, KeyEvent.KEYCODE_DEL));
+        mRule.dispatchKeyEvent(new KeyEvent(KeyEvent.ACTION_DOWN, KeyEvent.KEYCODE_DEL));
+        mRule.dispatchKeyEvent(new KeyEvent(KeyEvent.ACTION_DOWN, KeyEvent.KEYCODE_DEL));
+        mRule.dispatchKeyEvent(new KeyEvent(KeyEvent.ACTION_UP, KeyEvent.KEYCODE_DEL));
 
         // DEL
-        assertEquals("", getTextBeforeCursor(9, 0));
+        Assert.assertEquals("", mRule.getTextBeforeCursor(9, 0));
     }
 
+    @Test
     @SmallTest
     @Feature({"TextInput", "Main"})
     public void testPhysicalKeyboard() throws Throwable {
-        focusElementAndWaitForStateUpdate("textarea");
+        mRule.focusElementAndWaitForStateUpdate("textarea");
 
         // Type 'a' using a physical keyboard.
-        dispatchKeyEvent(new KeyEvent(KeyEvent.ACTION_DOWN, KeyEvent.KEYCODE_A));
-        dispatchKeyEvent(new KeyEvent(KeyEvent.ACTION_UP, KeyEvent.KEYCODE_A));
-        waitAndVerifyUpdateSelection(0, 1, 1, -1, -1);
+        mRule.dispatchKeyEvent(new KeyEvent(KeyEvent.ACTION_DOWN, KeyEvent.KEYCODE_A));
+        mRule.dispatchKeyEvent(new KeyEvent(KeyEvent.ACTION_UP, KeyEvent.KEYCODE_A));
+        mRule.waitAndVerifyUpdateSelection(0, 1, 1, -1, -1);
 
         // Type 'enter' key.
-        dispatchKeyEvent(new KeyEvent(KeyEvent.ACTION_DOWN, KeyEvent.KEYCODE_ENTER));
-        dispatchKeyEvent(new KeyEvent(KeyEvent.ACTION_UP, KeyEvent.KEYCODE_ENTER));
-        waitAndVerifyUpdateSelection(1, 2, 2, -1, -1);
-        assertTextsAroundCursor("a\n", null, "\n");
+        mRule.dispatchKeyEvent(new KeyEvent(KeyEvent.ACTION_DOWN, KeyEvent.KEYCODE_ENTER));
+        mRule.dispatchKeyEvent(new KeyEvent(KeyEvent.ACTION_UP, KeyEvent.KEYCODE_ENTER));
+        mRule.waitAndVerifyUpdateSelection(1, 2, 2, -1, -1);
+        mRule.assertTextsAroundCursor("a\n", null, "\n");
 
         // Type 'b'.
-        dispatchKeyEvent(new KeyEvent(KeyEvent.ACTION_DOWN, KeyEvent.KEYCODE_B));
-        dispatchKeyEvent(new KeyEvent(KeyEvent.ACTION_UP, KeyEvent.KEYCODE_B));
-        waitAndVerifyUpdateSelection(2, 3, 3, -1, -1);
-        assertTextsAroundCursor("a\nb", null, "");
+        mRule.dispatchKeyEvent(new KeyEvent(KeyEvent.ACTION_DOWN, KeyEvent.KEYCODE_B));
+        mRule.dispatchKeyEvent(new KeyEvent(KeyEvent.ACTION_UP, KeyEvent.KEYCODE_B));
+        mRule.waitAndVerifyUpdateSelection(2, 3, 3, -1, -1);
+        mRule.assertTextsAroundCursor("a\nb", null, "");
     }
 
+    @Test
     @SmallTest
     @Feature({"TextInput", "Main"})
     public void testPhysicalKeyboard_AccentKeyCodes() throws Throwable {
-        focusElementAndWaitForStateUpdate("textarea");
+        mRule.focusElementAndWaitForStateUpdate("textarea");
 
         // h
-        dispatchKeyEvent(new KeyEvent(KeyEvent.ACTION_DOWN, KeyEvent.KEYCODE_H));
-        dispatchKeyEvent(new KeyEvent(KeyEvent.ACTION_UP, KeyEvent.KEYCODE_H));
-        assertEquals("h", getTextBeforeCursor(9, 0));
-        waitAndVerifyUpdateSelection(0, 1, 1, -1, -1);
+        mRule.dispatchKeyEvent(new KeyEvent(KeyEvent.ACTION_DOWN, KeyEvent.KEYCODE_H));
+        mRule.dispatchKeyEvent(new KeyEvent(KeyEvent.ACTION_UP, KeyEvent.KEYCODE_H));
+        Assert.assertEquals("h", mRule.getTextBeforeCursor(9, 0));
+        mRule.waitAndVerifyUpdateSelection(0, 1, 1, -1, -1);
 
         // ALT-i  (circumflex accent key on virtual keyboard)
-        dispatchKeyEvent(new KeyEvent(
+        mRule.dispatchKeyEvent(new KeyEvent(
                 0, 0, KeyEvent.ACTION_DOWN, KeyEvent.KEYCODE_I, 0, KeyEvent.META_ALT_ON));
-        assertEquals("hˆ", getTextBeforeCursor(9, 0));
-        dispatchKeyEvent(new KeyEvent(
+        Assert.assertEquals("hˆ", mRule.getTextBeforeCursor(9, 0));
+        mRule.dispatchKeyEvent(new KeyEvent(
                 0, 0, KeyEvent.ACTION_UP, KeyEvent.KEYCODE_I, 0, KeyEvent.META_ALT_ON));
-        assertEquals("hˆ", getTextBeforeCursor(9, 0));
-        waitAndVerifyUpdateSelection(1, 2, 2, 1, 2);
+        Assert.assertEquals("hˆ", mRule.getTextBeforeCursor(9, 0));
+        mRule.waitAndVerifyUpdateSelection(1, 2, 2, 1, 2);
 
         // o
-        dispatchKeyEvent(new KeyEvent(KeyEvent.ACTION_DOWN, KeyEvent.KEYCODE_O));
-        assertEquals("hô", getTextBeforeCursor(9, 0));
-        dispatchKeyEvent(new KeyEvent(KeyEvent.ACTION_UP, KeyEvent.KEYCODE_O));
-        assertEquals("hô", getTextBeforeCursor(9, 0));
-        waitAndVerifyUpdateSelection(2, 2, 2, -1, -1);
+        mRule.dispatchKeyEvent(new KeyEvent(KeyEvent.ACTION_DOWN, KeyEvent.KEYCODE_O));
+        Assert.assertEquals("hô", mRule.getTextBeforeCursor(9, 0));
+        mRule.dispatchKeyEvent(new KeyEvent(KeyEvent.ACTION_UP, KeyEvent.KEYCODE_O));
+        Assert.assertEquals("hô", mRule.getTextBeforeCursor(9, 0));
+        mRule.waitAndVerifyUpdateSelection(2, 2, 2, -1, -1);
 
         // ALT-i
-        dispatchKeyEvent(new KeyEvent(
+        mRule.dispatchKeyEvent(new KeyEvent(
                 0, 0, KeyEvent.ACTION_DOWN, KeyEvent.KEYCODE_I, 0, KeyEvent.META_ALT_ON));
-        dispatchKeyEvent(new KeyEvent(
+        mRule.dispatchKeyEvent(new KeyEvent(
                 0, 0, KeyEvent.ACTION_UP, KeyEvent.KEYCODE_I, 0, KeyEvent.META_ALT_ON));
-        assertEquals("hôˆ", getTextBeforeCursor(9, 0));
-        waitAndVerifyUpdateSelection(3, 3, 3, 2, 3);
+        Assert.assertEquals("hôˆ", mRule.getTextBeforeCursor(9, 0));
+        mRule.waitAndVerifyUpdateSelection(3, 3, 3, 2, 3);
 
         // ALT-i again should have no effect
-        dispatchKeyEvent(new KeyEvent(
+        mRule.dispatchKeyEvent(new KeyEvent(
                 0, 0, KeyEvent.ACTION_DOWN, KeyEvent.KEYCODE_I, 0, KeyEvent.META_ALT_ON));
-        dispatchKeyEvent(new KeyEvent(
+        mRule.dispatchKeyEvent(new KeyEvent(
                 0, 0, KeyEvent.ACTION_UP, KeyEvent.KEYCODE_I, 0, KeyEvent.META_ALT_ON));
-        assertEquals("hôˆ", getTextBeforeCursor(9, 0));
+        Assert.assertEquals("hôˆ", mRule.getTextBeforeCursor(9, 0));
 
         // b (cannot be accented, should just appear after)
-        dispatchKeyEvent(new KeyEvent(KeyEvent.ACTION_DOWN, KeyEvent.KEYCODE_B));
-        assertEquals("hôˆb", getTextBeforeCursor(9, 0));
-        dispatchKeyEvent(new KeyEvent(KeyEvent.ACTION_UP, KeyEvent.KEYCODE_B));
-        assertEquals("hôˆb", getTextBeforeCursor(9, 0));
+        mRule.dispatchKeyEvent(new KeyEvent(KeyEvent.ACTION_DOWN, KeyEvent.KEYCODE_B));
+        Assert.assertEquals("hôˆb", mRule.getTextBeforeCursor(9, 0));
+        mRule.dispatchKeyEvent(new KeyEvent(KeyEvent.ACTION_UP, KeyEvent.KEYCODE_B));
+        Assert.assertEquals("hôˆb", mRule.getTextBeforeCursor(9, 0));
         int index = 4;
-        waitAndVerifyUpdateSelection(index++, 4, 4, -1, -1);
+        mRule.waitAndVerifyUpdateSelection(index++, 4, 4, -1, -1);
 
         // ALT-i
-        dispatchKeyEvent(new KeyEvent(
+        mRule.dispatchKeyEvent(new KeyEvent(
                 0, 0, KeyEvent.ACTION_DOWN, KeyEvent.KEYCODE_I, 0, KeyEvent.META_ALT_ON));
-        dispatchKeyEvent(new KeyEvent(
+        mRule.dispatchKeyEvent(new KeyEvent(
                 0, 0, KeyEvent.ACTION_UP, KeyEvent.KEYCODE_I, 0, KeyEvent.META_ALT_ON));
-        assertEquals("hôˆbˆ", getTextBeforeCursor(9, 0));
-        waitAndVerifyUpdateSelection(index++, 5, 5, 4, 5);
+        Assert.assertEquals("hôˆbˆ", mRule.getTextBeforeCursor(9, 0));
+        mRule.waitAndVerifyUpdateSelection(index++, 5, 5, 4, 5);
 
         // Backspace
-        dispatchKeyEvent(new KeyEvent(KeyEvent.ACTION_DOWN, KeyEvent.KEYCODE_DEL));
-        assertEquals("hôˆb", getTextBeforeCursor(9, 0));
-        dispatchKeyEvent(new KeyEvent(KeyEvent.ACTION_UP, KeyEvent.KEYCODE_DEL));
-        assertEquals("hôˆb", getTextBeforeCursor(9, 0));
-        waitAndVerifyUpdateSelection(index++, 4, 4, -1, -1);
+        mRule.dispatchKeyEvent(new KeyEvent(KeyEvent.ACTION_DOWN, KeyEvent.KEYCODE_DEL));
+        Assert.assertEquals("hôˆb", mRule.getTextBeforeCursor(9, 0));
+        mRule.dispatchKeyEvent(new KeyEvent(KeyEvent.ACTION_UP, KeyEvent.KEYCODE_DEL));
+        Assert.assertEquals("hôˆb", mRule.getTextBeforeCursor(9, 0));
+        mRule.waitAndVerifyUpdateSelection(index++, 4, 4, -1, -1);
     }
 
+    @Test
     @SmallTest
     @Feature({"TextInput", "Main"})
     public void testSetComposingRegionOutOfBounds() throws Throwable {
-        focusElementAndWaitForStateUpdate("textarea");
-        setComposingText("hello", 1);
-        waitAndVerifyUpdateSelection(0, 5, 5, 0, 5);
+        mRule.focusElementAndWaitForStateUpdate("textarea");
+        mRule.setComposingText("hello", 1);
+        mRule.waitAndVerifyUpdateSelection(0, 5, 5, 0, 5);
 
-        setComposingRegion(0, 0);
-        waitAndVerifyUpdateSelection(1, 5, 5, -1, -1);
-        setComposingRegion(0, 9);
-        waitAndVerifyUpdateSelection(2, 5, 5, 0, 5);
-        setComposingRegion(9, 1);
-        waitAndVerifyUpdateSelection(3, 5, 5, 1, 5);
+        mRule.setComposingRegion(0, 0);
+        mRule.waitAndVerifyUpdateSelection(1, 5, 5, -1, -1);
+        mRule.setComposingRegion(0, 9);
+        mRule.waitAndVerifyUpdateSelection(2, 5, 5, 0, 5);
+        mRule.setComposingRegion(9, 1);
+        mRule.waitAndVerifyUpdateSelection(3, 5, 5, 1, 5);
     }
 
+    @Test
     @SmallTest
     @Feature({"TextInput", "Main"})
     public void testEnterKey_AfterCommitText() throws Throwable {
-        focusElementAndWaitForStateUpdate("textarea");
+        mRule.focusElementAndWaitForStateUpdate("textarea");
 
-        commitText("hello", 1);
-        waitAndVerifyUpdateSelection(0, 5, 5, -1, -1);
+        mRule.commitText("hello", 1);
+        mRule.waitAndVerifyUpdateSelection(0, 5, 5, -1, -1);
 
-        dispatchKeyEvent(new KeyEvent(KeyEvent.ACTION_DOWN, KeyEvent.KEYCODE_ENTER));
-        dispatchKeyEvent(new KeyEvent(KeyEvent.ACTION_UP, KeyEvent.KEYCODE_ENTER));
-        waitAndVerifyUpdateSelection(1, 6, 6, -1, -1);
-        assertTextsAroundCursor("hello\n", null, "\n");
+        mRule.dispatchKeyEvent(new KeyEvent(KeyEvent.ACTION_DOWN, KeyEvent.KEYCODE_ENTER));
+        mRule.dispatchKeyEvent(new KeyEvent(KeyEvent.ACTION_UP, KeyEvent.KEYCODE_ENTER));
+        mRule.waitAndVerifyUpdateSelection(1, 6, 6, -1, -1);
+        mRule.assertTextsAroundCursor("hello\n", null, "\n");
 
-        commitText("world", 1);
-        waitAndVerifyUpdateSelection(2, 11, 11, -1, -1);
-        assertTextsAroundCursor("hello\nworld", null, "");
+        mRule.commitText("world", 1);
+        mRule.waitAndVerifyUpdateSelection(2, 11, 11, -1, -1);
+        mRule.assertTextsAroundCursor("hello\nworld", null, "");
     }
 
+    @Test
     @SmallTest
     @Feature({"TextInput", "Main"})
     public void testEnterKey_WhileComposingText() throws Throwable {
-        focusElementAndWaitForStateUpdate("textarea");
+        mRule.focusElementAndWaitForStateUpdate("textarea");
 
-        setComposingText("hello", 1);
-        waitAndVerifyUpdateSelection(0, 5, 5, 0, 5);
+        mRule.setComposingText("hello", 1);
+        mRule.waitAndVerifyUpdateSelection(0, 5, 5, 0, 5);
 
         // IME app should call this, otherwise enter key should clear the current composition.
-        finishComposingText();
-        waitAndVerifyUpdateSelection(1, 5, 5, -1, -1);
+        mRule.finishComposingText();
+        mRule.waitAndVerifyUpdateSelection(1, 5, 5, -1, -1);
 
-        dispatchKeyEvent(new KeyEvent(KeyEvent.ACTION_DOWN, KeyEvent.KEYCODE_ENTER));
-        dispatchKeyEvent(new KeyEvent(KeyEvent.ACTION_UP, KeyEvent.KEYCODE_ENTER));
+        mRule.dispatchKeyEvent(new KeyEvent(KeyEvent.ACTION_DOWN, KeyEvent.KEYCODE_ENTER));
+        mRule.dispatchKeyEvent(new KeyEvent(KeyEvent.ACTION_UP, KeyEvent.KEYCODE_ENTER));
 
         // The second new line is not a user visible/editable one, it is a side-effect of Blink
         // using <br> internally. This only happens when \n is at the end.
-        waitAndVerifyUpdateSelection(2, 6, 6, -1, -1);
+        mRule.waitAndVerifyUpdateSelection(2, 6, 6, -1, -1);
 
-        commitText("world", 1);
-        waitAndVerifyUpdateSelection(3, 11, 11, -1, -1);
-        assertTextsAroundCursor("hello\nworld", null, "");
+        mRule.commitText("world", 1);
+        mRule.waitAndVerifyUpdateSelection(3, 11, 11, -1, -1);
+        mRule.assertTextsAroundCursor("hello\nworld", null, "");
     }
 
+    @Test
     @SmallTest
     @Feature({"TextInput", "Main"})
     public void testDpadKeyCodesWhileSwipingText() throws Throwable {
-        focusElement("textarea");
+        mRule.focusElement("textarea");
 
         // DPAD_CENTER should cause keyboard to appear
-        dispatchKeyEvent(new KeyEvent(KeyEvent.ACTION_DOWN, KeyEvent.KEYCODE_DPAD_CENTER));
+        mRule.dispatchKeyEvent(new KeyEvent(KeyEvent.ACTION_DOWN, KeyEvent.KEYCODE_DPAD_CENTER));
 
         // TODO(changwan): should really check this.
     }
 
+    @Test
     @SmallTest
     @Feature({"TextInput", "Main"})
     public void testNavigateTextWithDpadKeyCodes() throws Throwable {
-        focusElementAndWaitForStateUpdate("textarea");
+        mRule.focusElementAndWaitForStateUpdate("textarea");
 
-        commitText("hello", 1);
-        waitAndVerifyUpdateSelection(0, 5, 5, -1, -1);
+        mRule.commitText("hello", 1);
+        mRule.waitAndVerifyUpdateSelection(0, 5, 5, -1, -1);
 
-        dispatchKeyEvent(new KeyEvent(KeyEvent.ACTION_DOWN, KeyEvent.KEYCODE_DPAD_LEFT));
-        dispatchKeyEvent(new KeyEvent(KeyEvent.ACTION_UP, KeyEvent.KEYCODE_DPAD_LEFT));
+        mRule.dispatchKeyEvent(new KeyEvent(KeyEvent.ACTION_DOWN, KeyEvent.KEYCODE_DPAD_LEFT));
+        mRule.dispatchKeyEvent(new KeyEvent(KeyEvent.ACTION_UP, KeyEvent.KEYCODE_DPAD_LEFT));
 
-        assertTextsAroundCursor("hell", null, "o");
+        mRule.assertTextsAroundCursor("hell", null, "o");
     }
 
+    @Test
     @SmallTest
     @Feature({"TextInput"})
     public void testPastePopupShowAndHide() throws Throwable {
-        commitText("hello", 1);
-        waitAndVerifyUpdateSelection(0, 5, 5, -1, -1);
+        mRule.commitText("hello", 1);
+        mRule.waitAndVerifyUpdateSelection(0, 5, 5, -1, -1);
 
-        selectAll();
-        waitAndVerifyUpdateSelection(1, 0, 5, -1, -1);
-        assertTextsAroundCursor("", "hello", "");
+        mRule.selectAll();
+        mRule.waitAndVerifyUpdateSelection(1, 0, 5, -1, -1);
+        mRule.assertTextsAroundCursor("", "hello", "");
 
-        cut();
-        waitAndVerifyUpdateSelection(2, 0, 0, -1, -1);
-        assertTextsAroundCursor("", null, "");
+        mRule.cut();
+        mRule.waitAndVerifyUpdateSelection(2, 0, 0, -1, -1);
+        mRule.assertTextsAroundCursor("", null, "");
 
-        DOMUtils.longPressNode(mContentViewCore, "input_text");
+        DOMUtils.longPressNode(mRule.getContentViewCore(), "input_text");
         CriteriaHelper.pollUiThread(new Criteria() {
             @Override
             public boolean isSatisfied() {
-                return mSelectionPopupController.isPastePopupShowing()
-                       && mSelectionPopupController.isInsertion();
+                return mRule.getSelectionPopupController().isPastePopupShowing()
+                        && mRule.getSelectionPopupController().isInsertion();
             }
         });
 
-        setComposingText("h", 1);
+        mRule.setComposingText("h", 1);
         CriteriaHelper.pollUiThread(new Criteria() {
             @Override
             public boolean isSatisfied() {
-                return !mSelectionPopupController.isPastePopupShowing();
+                return !mRule.getSelectionPopupController().isPastePopupShowing();
             }
         });
-        assertFalse(mSelectionPopupController.isInsertion());
+        Assert.assertFalse(mRule.getSelectionPopupController().isInsertion());
     }
 
+    @Test
     @SmallTest
     @Feature({"TextInput"})
     public void testSelectionClearedOnKeyEvent() throws Throwable {
-        commitText("Sample Text", 1);
-        waitAndVerifyUpdateSelection(0, 11, 11, -1, -1);
+        mRule.commitText("Sample Text", 1);
+        mRule.waitAndVerifyUpdateSelection(0, 11, 11, -1, -1);
 
-        DOMUtils.longPressNode(mContentViewCore, "input_text");
-        assertWaitForSelectActionBarStatus(true);
+        DOMUtils.longPressNode(mRule.getContentViewCore(), "input_text");
+        mRule.assertWaitForSelectActionBarStatus(true);
 
-        setComposingText("h", 1);
-        assertWaitForSelectActionBarStatus(false);
-        assertFalse(mSelectionPopupController.hasSelection());
+        mRule.setComposingText("h", 1);
+        mRule.assertWaitForSelectActionBarStatus(false);
+        Assert.assertFalse(mRule.getSelectionPopupController().hasSelection());
     }
 
+    @Test
     @SmallTest
     @Feature({"TextInput"})
     public void testTextHandlesPreservedWithDpadNavigation() throws Throwable {
-        DOMUtils.longPressNode(mContentViewCore, "plain_text");
-        assertWaitForSelectActionBarStatus(true);
-        assertTrue(mSelectionPopupController.hasSelection());
+        DOMUtils.longPressNode(mRule.getContentViewCore(), "plain_text");
+        mRule.assertWaitForSelectActionBarStatus(true);
+        Assert.assertTrue(mRule.getSelectionPopupController().hasSelection());
 
-        dispatchKeyEvent(new KeyEvent(KeyEvent.ACTION_DOWN, KeyEvent.KEYCODE_DPAD_DOWN));
-        assertWaitForSelectActionBarStatus(true);
-        assertTrue(mSelectionPopupController.hasSelection());
+        mRule.dispatchKeyEvent(new KeyEvent(KeyEvent.ACTION_DOWN, KeyEvent.KEYCODE_DPAD_DOWN));
+        mRule.assertWaitForSelectActionBarStatus(true);
+        Assert.assertTrue(mRule.getSelectionPopupController().hasSelection());
     }
 
+    @Test
     @MediumTest
     @Feature({"TextInput"})
     public void testRestartInputWhileComposingText() throws Throwable {
-        setComposingText("abc", 1);
-        waitAndVerifyUpdateSelection(0, 3, 3, 0, 3);
-        restartInput();
+        mRule.setComposingText("abc", 1);
+        mRule.waitAndVerifyUpdateSelection(0, 3, 3, 0, 3);
+        mRule.restartInput();
         // We don't do anything when input gets restarted. But we depend on Android's
-        // InputMethodManager and/or input methods to call finishComposingText() in setting
+        // InputMethodManager and/or input methods to call mRule.finishComposingText() in setting
         // current input connection as active or finishing the current input connection.
         Thread.sleep(1000);
-        assertEquals(1, mInputMethodManagerWrapper.getUpdateSelectionList().size());
+        Assert.assertEquals(
+                1, mRule.getInputMethodManagerWrapper().getUpdateSelectionList().size());
     }
 
+    @Test
     @MediumTest
     @Feature({"TextInput"})
     public void testRestartInputKeepsTextAndCursor() throws Exception {
-        commitText("ab", 2);
-        restartInput();
-        assertEquals("ab", getTextBeforeCursor(10, 0));
+        mRule.commitText("ab", 2);
+        mRule.restartInput();
+        Assert.assertEquals("ab", mRule.getTextBeforeCursor(10, 0));
     }
 
+    @Test
     @MediumTest
     @Feature({"TextInput"})
     public void testContentEditableEvents_ComposingText() throws Throwable {
-        focusElementAndWaitForStateUpdate("contenteditable_event");
-        waitForEventLogs("selectionchange");
-        clearEventLogs();
+        mRule.focusElementAndWaitForStateUpdate("contenteditable_event");
+        mRule.waitForEventLogs("selectionchange");
+        mRule.clearEventLogs();
 
-        setComposingText("a", 1);
-        waitAndVerifyUpdateSelection(0, 1, 1, 0, 1);
+        mRule.setComposingText("a", 1);
+        mRule.waitAndVerifyUpdateSelection(0, 1, 1, 0, 1);
         // TODO(changwan): reduce the number of selection changes.
-        waitForEventLogs("keydown(229),compositionstart(),compositionupdate(a),input,keyup(229),"
+        mRule.waitForEventLogs(
+                "keydown(229),compositionstart(),compositionupdate(a),input,keyup(229),"
                 + "selectionchange,selectionchange");
-        clearEventLogs();
+        mRule.clearEventLogs();
 
-        finishComposingText();
-        waitAndVerifyUpdateSelection(1, 1, 1, -1, -1);
-        waitForEventLogs(
-                "compositionend(a)");
+        mRule.finishComposingText();
+        mRule.waitAndVerifyUpdateSelection(1, 1, 1, -1, -1);
+        mRule.waitForEventLogs("compositionend(a)");
     }
 
+    @Test
     @MediumTest
     @Feature({"TextInput"})
     public void testInputTextEvents_ComposingText() throws Throwable {
-        setComposingText("a", 1);
-        waitAndVerifyUpdateSelection(0, 1, 1, 0, 1);
+        mRule.setComposingText("a", 1);
+        mRule.waitAndVerifyUpdateSelection(0, 1, 1, 0, 1);
         // TODO(changwan): reduce the number of selection changes.
-        waitForEventLogs("keydown(229),compositionstart(),compositionupdate(a),"
+        mRule.waitForEventLogs("keydown(229),compositionstart(),compositionupdate(a),"
                 + "input,keyup(229),selectionchange,selectionchange");
-        clearEventLogs();
+        mRule.clearEventLogs();
 
-        finishComposingText();
-        waitAndVerifyUpdateSelection(1, 1, 1, -1, -1);
-        waitForEventLogs("compositionend(a)");
+        mRule.finishComposingText();
+        mRule.waitAndVerifyUpdateSelection(1, 1, 1, -1, -1);
+        mRule.waitForEventLogs("compositionend(a)");
     }
 
+    @Test
     @MediumTest
     @Feature({"TextInput"})
     public void testContentEditableEvents_CommitText() throws Throwable {
-        focusElementAndWaitForStateUpdate("contenteditable_event");
-        waitForEventLogs("selectionchange");
-        clearEventLogs();
+        mRule.focusElementAndWaitForStateUpdate("contenteditable_event");
+        mRule.waitForEventLogs("selectionchange");
+        mRule.clearEventLogs();
 
-        commitText("a", 1);
-        waitAndVerifyUpdateSelection(0, 1, 1, -1, -1);
+        mRule.commitText("a", 1);
+        mRule.waitAndVerifyUpdateSelection(0, 1, 1, -1, -1);
 
-        waitForEventLogs("keydown(229),input,keyup(229),selectionchange");
+        mRule.waitForEventLogs("keydown(229),input,keyup(229),selectionchange");
     }
 
+    @Test
     @MediumTest
     @Feature({"TextInput"})
     public void testInputTextEvents_CommitText() throws Throwable {
-        commitText("a", 1);
-        waitAndVerifyUpdateSelection(0, 1, 1, -1, -1);
+        mRule.commitText("a", 1);
+        mRule.waitAndVerifyUpdateSelection(0, 1, 1, -1, -1);
 
-        waitForEventLogs("keydown(229),input,keyup(229),selectionchange");
+        mRule.waitForEventLogs("keydown(229),input,keyup(229),selectionchange");
     }
 
+    @Test
     @MediumTest
     @Feature({"TextInput"})
     public void testContentEditableEvents_DeleteSurroundingText() throws Throwable {
-        focusElementAndWaitForStateUpdate("contenteditable_event");
-        waitForEventLogs("selectionchange");
-        clearEventLogs();
+        mRule.focusElementAndWaitForStateUpdate("contenteditable_event");
+        mRule.waitForEventLogs("selectionchange");
+        mRule.clearEventLogs();
 
-        commitText("hello", 1);
-        waitAndVerifyUpdateSelection(0, 5, 5, -1, -1);
-        waitForEventLogs("keydown(229),input,keyup(229),selectionchange");
-        clearEventLogs();
+        mRule.commitText("hello", 1);
+        mRule.waitAndVerifyUpdateSelection(0, 5, 5, -1, -1);
+        mRule.waitForEventLogs("keydown(229),input,keyup(229),selectionchange");
+        mRule.clearEventLogs();
 
-        setSelection(2, 2);
-        waitAndVerifyUpdateSelection(1, 2, 2, -1, -1);
-        waitForEventLogs("selectionchange");
-        clearEventLogs();
+        mRule.setSelection(2, 2);
+        mRule.waitAndVerifyUpdateSelection(1, 2, 2, -1, -1);
+        mRule.waitForEventLogs("selectionchange");
+        mRule.clearEventLogs();
 
-        deleteSurroundingText(1, 1);
-        waitAndVerifyUpdateSelection(2, 1, 1, -1, -1);
+        mRule.deleteSurroundingText(1, 1);
+        mRule.waitAndVerifyUpdateSelection(2, 1, 1, -1, -1);
+
         // TODO(yabinh): It should only fire 1 input and 1 selectionchange events.
-        waitForEventLogs("keydown(229),input,input,keyup(229),selectionchange,selectionchange");
+        mRule.waitForEventLogs(
+                "keydown(229),input,input,keyup(229),selectionchange,selectionchange");
     }
 
+    @Test
     @MediumTest
     @Feature({"TextInput"})
     public void testInputTextEvents_DeleteSurroundingText() throws Throwable {
-        commitText("hello", 1);
-        waitAndVerifyUpdateSelection(0, 5, 5, -1, -1);
-        waitForEventLogs("keydown(229),input,keyup(229),selectionchange");
-        clearEventLogs();
+        mRule.commitText("hello", 1);
+        mRule.waitAndVerifyUpdateSelection(0, 5, 5, -1, -1);
+        mRule.waitForEventLogs("keydown(229),input,keyup(229),selectionchange");
+        mRule.clearEventLogs();
 
-        setSelection(2, 2);
-        waitAndVerifyUpdateSelection(1, 2, 2, -1, -1);
-        waitForEventLogs("selectionchange");
-        clearEventLogs();
+        mRule.setSelection(2, 2);
+        mRule.waitAndVerifyUpdateSelection(1, 2, 2, -1, -1);
+        mRule.waitForEventLogs("selectionchange");
+        mRule.clearEventLogs();
 
-        deleteSurroundingText(1, 1);
-        waitAndVerifyUpdateSelection(2, 1, 1, -1, -1);
+        mRule.deleteSurroundingText(1, 1);
+        mRule.waitAndVerifyUpdateSelection(2, 1, 1, -1, -1);
         // TODO(yabinh): It should only fire 1 input and 1 selectionchange events.
-        waitForEventLogs("keydown(229),input,input,keyup(229),selectionchange,selectionchange");
+        mRule.waitForEventLogs(
+                "keydown(229),input,input,keyup(229),selectionchange,selectionchange");
     }
 
+    @Test
     @MediumTest
     @Feature({"TextInput"})
     public void testContentEditableEvents_DeleteSurroundingTextInCodePoints() throws Throwable {
-        focusElementAndWaitForStateUpdate("contenteditable_event");
-        waitForEventLogs("selectionchange");
-        clearEventLogs();
+        mRule.focusElementAndWaitForStateUpdate("contenteditable_event");
+        mRule.waitForEventLogs("selectionchange");
+        mRule.clearEventLogs();
 
-        commitText("hello", 1);
-        waitAndVerifyUpdateSelection(0, 5, 5, -1, -1);
-        waitForEventLogs("keydown(229),input,keyup(229),selectionchange");
-        clearEventLogs();
+        mRule.commitText("hello", 1);
+        mRule.waitAndVerifyUpdateSelection(0, 5, 5, -1, -1);
+        mRule.waitForEventLogs("keydown(229),input,keyup(229),selectionchange");
+        mRule.clearEventLogs();
 
-        setSelection(2, 2);
-        waitAndVerifyUpdateSelection(1, 2, 2, -1, -1);
-        waitForEventLogs("selectionchange");
-        clearEventLogs();
+        mRule.setSelection(2, 2);
+        mRule.waitAndVerifyUpdateSelection(1, 2, 2, -1, -1);
+        mRule.waitForEventLogs("selectionchange");
+        mRule.clearEventLogs();
 
-        deleteSurroundingTextInCodePoints(1, 1);
-        waitAndVerifyUpdateSelection(2, 1, 1, -1, -1);
+        mRule.deleteSurroundingTextInCodePoints(1, 1);
+        mRule.waitAndVerifyUpdateSelection(2, 1, 1, -1, -1);
         // TODO(yabinh): It should only fire 1 input and 1 selectionchange events.
-        waitForEventLogs("keydown(229),input,input,keyup(229),selectionchange,selectionchange");
+        mRule.waitForEventLogs(
+                "keydown(229),input,input,keyup(229),selectionchange,selectionchange");
     }
 
+    @Test
     @MediumTest
     @Feature({"TextInput"})
     public void testInputTextEvents_DeleteSurroundingTextInCodePoints() throws Throwable {
-        commitText("hello", 1);
-        waitAndVerifyUpdateSelection(0, 5, 5, -1, -1);
-        waitForEventLogs("keydown(229),input,keyup(229),selectionchange");
-        clearEventLogs();
+        mRule.commitText("hello", 1);
+        mRule.waitAndVerifyUpdateSelection(0, 5, 5, -1, -1);
+        mRule.waitForEventLogs("keydown(229),input,keyup(229),selectionchange");
+        mRule.clearEventLogs();
 
-        setSelection(2, 2);
-        waitAndVerifyUpdateSelection(1, 2, 2, -1, -1);
-        waitForEventLogs("selectionchange");
-        clearEventLogs();
+        mRule.setSelection(2, 2);
+        mRule.waitAndVerifyUpdateSelection(1, 2, 2, -1, -1);
+        mRule.waitForEventLogs("selectionchange");
+        mRule.clearEventLogs();
 
-        deleteSurroundingTextInCodePoints(1, 1);
-        waitAndVerifyUpdateSelection(2, 1, 1, -1, -1);
+        mRule.deleteSurroundingTextInCodePoints(1, 1);
+        mRule.waitAndVerifyUpdateSelection(2, 1, 1, -1, -1);
         // TODO(yabinh): It should only fire 1 input and 1 selectionchange events.
-        waitForEventLogs("keydown(229),input,input,keyup(229),selectionchange,selectionchange");
+        mRule.waitForEventLogs(
+                "keydown(229),input,input,keyup(229),selectionchange,selectionchange");
     }
 
+    @Test
     @MediumTest
     @Feature({"TextInput"})
     public void testGetCursorCapsMode() throws Throwable {
-        focusElementAndWaitForStateUpdate("contenteditable_event");
-        commitText("Hello World", 1);
-        waitAndVerifyUpdateSelection(0, 11, 11, -1, -1);
-        assertEquals(0,
-                getCursorCapsMode(InputType.TYPE_TEXT_FLAG_CAP_WORDS));
-        setSelection(6, 6);
-        waitAndVerifyUpdateSelection(1, 6, 6, -1, -1);
-        assertEquals(InputType.TYPE_TEXT_FLAG_CAP_WORDS,
-                getCursorCapsMode(InputType.TYPE_TEXT_FLAG_CAP_WORDS));
-        commitText("\n", 1);
-        assertEquals(InputType.TYPE_TEXT_FLAG_CAP_WORDS,
-                getCursorCapsMode(InputType.TYPE_TEXT_FLAG_CAP_WORDS));
-    }
-
-    private void clearEventLogs() throws Exception {
-        final String code = "clearEventLogs()";
-        JavaScriptUtils.executeJavaScriptAndWaitForResult(
-                getContentViewCore().getWebContents(), code);
-    }
-
-    private void waitForEventLogs(String expectedLogs) throws Exception {
-        final String code = "getEventLogs()";
-        final String sanitizedExpectedLogs = "\"" + expectedLogs + "\"";
-        assertEquals(sanitizedExpectedLogs, JavaScriptUtils.executeJavaScriptAndWaitForResult(
-                                                    getContentViewCore().getWebContents(), code));
+        mRule.focusElementAndWaitForStateUpdate("contenteditable_event");
+        mRule.commitText("Hello World", 1);
+        mRule.waitAndVerifyUpdateSelection(0, 11, 11, -1, -1);
+        Assert.assertEquals(0, mRule.getCursorCapsMode(InputType.TYPE_TEXT_FLAG_CAP_WORDS));
+        mRule.setSelection(6, 6);
+        mRule.waitAndVerifyUpdateSelection(1, 6, 6, -1, -1);
+        Assert.assertEquals(InputType.TYPE_TEXT_FLAG_CAP_WORDS,
+                mRule.getCursorCapsMode(InputType.TYPE_TEXT_FLAG_CAP_WORDS));
+        mRule.commitText("\n", 1);
+        Assert.assertEquals(InputType.TYPE_TEXT_FLAG_CAP_WORDS,
+                mRule.getCursorCapsMode(InputType.TYPE_TEXT_FLAG_CAP_WORDS));
     }
 
     // https://crbug.com/604675
+    @Test
     @MediumTest
     @Feature({"TextInput"})
     public void testAlertInKeyUpListenerDoesNotCrash() throws Exception {
@@ -1495,19 +1424,20 @@
                 + "editor.addEventListener('keyup', function(e) { alert('keyup') });"
                 + "})();";
         JavaScriptUtils.executeJavaScriptAndWaitForResult(
-                getContentViewCore().getWebContents(), code);
-        setComposingText("ab", 1);
-        finishComposingText();
-        assertEquals("ab", getTextBeforeCursor(10, 0));
+                mRule.getContentViewCore().getWebContents(), code);
+        mRule.setComposingText("ab", 1);
+        mRule.finishComposingText();
+        Assert.assertEquals("ab", mRule.getTextBeforeCursor(10, 0));
     }
 
     // https://crbug.com/616334
+    @Test
     @SmallTest
     @Feature({"TextInput"})
     public void testCastToBaseInputConnection() throws Exception {
-        commitText("a", 1);
-        final BaseInputConnection baseInputConnection = (BaseInputConnection) mConnection;
-        assertEquals("a", runBlockingOnImeThread(new Callable<CharSequence>() {
+        mRule.commitText("a", 1);
+        final BaseInputConnection baseInputConnection = (BaseInputConnection) mRule.getConnection();
+        Assert.assertEquals("a", mRule.runBlockingOnImeThread(new Callable<CharSequence>() {
             @Override
             public CharSequence call() {
                 return baseInputConnection.getTextBeforeCursor(10, 0);
@@ -1517,11 +1447,12 @@
 
     // Tests that the method call order is kept.
     // See crbug.com/601707 for details.
+    @Test
     @MediumTest
     @Feature({"TextInput"})
     public void testSetSelectionCommitTextOrder() throws Exception {
-        final ChromiumBaseInputConnection connection = mConnection;
-        runBlockingOnImeThread(new Callable<Void>() {
+        final ChromiumBaseInputConnection connection = mRule.getConnection();
+        mRule.runBlockingOnImeThread(new Callable<Void>() {
             @Override
             public Void call() {
                 connection.beginBatchEdit();
@@ -1536,26 +1467,27 @@
                 return null;
             }
         });
-        waitAndVerifyUpdateSelection(0, 7, 7, -1, -1);
+        mRule.waitAndVerifyUpdateSelection(0, 7, 7, -1, -1);
     }
 
     // crbug.com/643477
+    @Test
     @MediumTest
     @Feature({"TextInput"})
     public void testUiThreadAccess() throws Exception {
-        final ChromiumBaseInputConnection connection = mConnection;
+        final ChromiumBaseInputConnection connection = mRule.getConnection();
         ThreadUtils.runOnUiThreadBlocking(new Runnable() {
             @Override
             public void run() {
                 // We allow UI thread access for most functions, except for
                 // beginBatchEdit(), endBatchEdit(), and get* methods().
-                assertTrue(connection.commitText("a", 1));
-                assertTrue(connection.setComposingText("b", 1));
-                assertTrue(connection.setComposingText("bc", 1));
-                assertTrue(connection.finishComposingText());
+                Assert.assertTrue(connection.commitText("a", 1));
+                Assert.assertTrue(connection.setComposingText("b", 1));
+                Assert.assertTrue(connection.setComposingText("bc", 1));
+                Assert.assertTrue(connection.finishComposingText());
             }
         });
-        assertEquals("abc", runBlockingOnImeThread(new Callable<CharSequence>() {
+        Assert.assertEquals("abc", mRule.runBlockingOnImeThread(new Callable<CharSequence>() {
             @Override
             public CharSequence call() throws Exception {
                 return connection.getTextBeforeCursor(5, 0);
@@ -1563,424 +1495,4 @@
         }));
     }
 
-    private void performGo(TestCallbackHelperContainer testCallbackHelperContainer)
-            throws Throwable {
-        final InputConnection inputConnection = mConnection;
-        final Callable<Void> callable = new Callable<Void>() {
-            @Override
-            public Void call() throws Exception {
-                inputConnection.performEditorAction(EditorInfo.IME_ACTION_GO);
-                return null;
-            }
-        };
-
-        handleBlockingCallbackAction(
-                testCallbackHelperContainer.getOnPageFinishedHelper(),
-                new Runnable() {
-                    @Override
-                    public void run() {
-                        try {
-                            runBlockingOnImeThread(callable);
-                        } catch (Exception e) {
-                            e.printStackTrace();
-                            fail();
-                        }
-                    }
-                });
-    }
-
-    private void assertWaitForKeyboardStatus(final boolean show) {
-        CriteriaHelper.pollUiThread(new Criteria() {
-            @Override
-            public boolean isSatisfied() {
-                // We do not check the other way around: in some cases we need to keep
-                // input connection even when the last known status is 'hidden'.
-                if (show && getInputConnection() == null) {
-                    updateFailureReason("input connection should not be null.");
-                    return false;
-                }
-                updateFailureReason("expected show: " + show);
-                return show == mInputMethodManagerWrapper.isShowWithoutHideOutstanding();
-            }
-        });
-    }
-
-    private void assertWaitForSelectActionBarStatus(final boolean show) {
-        CriteriaHelper.pollUiThread(Criteria.equals(show, new Callable<Boolean>() {
-            @Override
-            public Boolean call() {
-                return mContentViewCore.isSelectActionBarShowing();
-            }
-        }));
-    }
-
-    private void waitAndVerifyUpdateSelection(final int index, final int selectionStart,
-            final int selectionEnd, final int compositionStart, final int compositionEnd) {
-        final List<Pair<Range, Range>> states = mInputMethodManagerWrapper.getUpdateSelectionList();
-        CriteriaHelper.pollUiThread(new Criteria() {
-            @Override
-            public boolean isSatisfied() {
-                return states.size() > index;
-            }
-        });
-        Pair<Range, Range> selection = states.get(index);
-        assertEquals(selectionStart, selection.first.start());
-        assertEquals(selectionEnd, selection.first.end());
-        assertEquals(compositionStart, selection.second.start());
-        assertEquals(compositionEnd, selection.second.end());
-    }
-
-    private void resetUpdateSelectionList() {
-        mInputMethodManagerWrapper.getUpdateSelectionList().clear();
-    }
-
-    private void assertClipboardContents(final Activity activity, final String expectedContents) {
-        CriteriaHelper.pollUiThread(new Criteria() {
-            @Override
-            public boolean isSatisfied() {
-                ClipboardManager clipboardManager =
-                        (ClipboardManager) activity.getSystemService(Context.CLIPBOARD_SERVICE);
-                ClipData clip = clipboardManager.getPrimaryClip();
-                return clip != null && clip.getItemCount() == 1
-                        && TextUtils.equals(clip.getItemAt(0).getText(), expectedContents);
-            }
-        });
-    }
-
-    private ImeAdapter getImeAdapter() {
-        return mContentViewCore.getImeAdapterForTest();
-    }
-
-    private ChromiumBaseInputConnection getInputConnection() {
-        try {
-            return ThreadUtils.runOnUiThreadBlocking(new Callable<ChromiumBaseInputConnection>() {
-                @Override
-                public ChromiumBaseInputConnection call() {
-                    return mContentViewCore.getImeAdapterForTest().getInputConnectionForTest();
-                }
-            });
-        } catch (ExecutionException e) {
-            e.printStackTrace();
-            fail();
-            return null;
-        }
-    }
-
-    private void restartInput() {
-        ThreadUtils.runOnUiThreadBlocking(new Runnable() {
-            @Override
-            public void run() {
-                mImeAdapter.restartInput();
-            }
-        });
-    }
-
-    // After calling this method, we should call assertClipboardContents() to wait for the clipboard
-    // to get updated. See cubug.com/621046
-    private void copy() {
-        final WebContents webContents = mWebContents;
-        ThreadUtils.runOnUiThreadBlocking(new Runnable() {
-            @Override
-            public void run() {
-                webContents.copy();
-            }
-        });
-    }
-
-    private void cut() {
-        final WebContents webContents = mWebContents;
-        ThreadUtils.runOnUiThreadBlocking(new Runnable() {
-            @Override
-            public void run() {
-                webContents.cut();
-            }
-        });
-    }
-
-    private void setClip(final CharSequence text) {
-        ThreadUtils.runOnUiThreadBlocking(new Runnable() {
-            @Override
-            public void run() {
-                final ClipboardManager clipboardManager =
-                        (ClipboardManager) getActivity().getSystemService(
-                                Context.CLIPBOARD_SERVICE);
-                clipboardManager.setPrimaryClip(ClipData.newPlainText(null, text));
-            }
-        });
-    }
-
-    private void paste() {
-        final WebContents webContents = mWebContents;
-        ThreadUtils.runOnUiThreadBlocking(new Runnable() {
-            @Override
-            public void run() {
-                webContents.paste();
-            }
-        });
-    }
-
-    private void selectAll() {
-        final WebContents webContents = mWebContents;
-        ThreadUtils.runOnUiThreadBlocking(new Runnable() {
-            @Override
-            public void run() {
-                webContents.selectAll();
-            }
-        });
-    }
-
-    private void collapseSelection() {
-        final WebContents webContents = mWebContents;
-        ThreadUtils.runOnUiThreadBlocking(new Runnable() {
-            @Override
-            public void run() {
-                webContents.collapseSelection();
-            }
-        });
-    }
-
-    /**
-     * Run the {@Callable} on IME thread (or UI thread if not applicable).
-     * @param c The callable
-     * @return The result from running the callable.
-     */
-    protected <T> T runBlockingOnImeThread(Callable<T> c) throws Exception {
-        return ImeTestUtils.runBlockingOnHandler(mConnectionFactory.getHandler(), c);
-    }
-
-    private boolean beginBatchEdit() throws Exception {
-        final ChromiumBaseInputConnection connection = mConnection;
-        return runBlockingOnImeThread(new Callable<Boolean>() {
-            @Override
-            public Boolean call() {
-                return connection.beginBatchEdit();
-            }
-        });
-    }
-
-    private boolean endBatchEdit() throws Exception {
-        final ChromiumBaseInputConnection connection = mConnection;
-        return runBlockingOnImeThread(new Callable<Boolean>() {
-            @Override
-            public Boolean call() {
-                return connection.endBatchEdit();
-            }
-        });
-    }
-
-    private boolean commitText(final CharSequence text, final int newCursorPosition)
-            throws Exception {
-        final ChromiumBaseInputConnection connection = mConnection;
-        return runBlockingOnImeThread(new Callable<Boolean>() {
-            @Override
-            public Boolean call() {
-                return connection.commitText(text, newCursorPosition);
-            }
-        });
-    }
-
-    private boolean setSelection(final int start, final int end) throws Exception {
-        final ChromiumBaseInputConnection connection = mConnection;
-        return runBlockingOnImeThread(new Callable<Boolean>() {
-            @Override
-            public Boolean call() {
-                return connection.setSelection(start, end);
-            }
-        });
-    }
-
-    private boolean setComposingRegion(final int start, final int end) throws Exception {
-        final ChromiumBaseInputConnection connection = mConnection;
-        return runBlockingOnImeThread(new Callable<Boolean>() {
-            @Override
-            public Boolean call() {
-                return connection.setComposingRegion(start, end);
-            }
-        });
-    }
-
-    protected boolean setComposingText(final CharSequence text, final int newCursorPosition)
-            throws Exception {
-        final ChromiumBaseInputConnection connection = mConnection;
-        return runBlockingOnImeThread(new Callable<Boolean>() {
-            @Override
-            public Boolean call() {
-                return connection.setComposingText(text, newCursorPosition);
-            }
-        });
-    }
-
-    private boolean finishComposingText() throws Exception {
-        final ChromiumBaseInputConnection connection = mConnection;
-        return runBlockingOnImeThread(new Callable<Boolean>() {
-            @Override
-            public Boolean call() {
-                return connection.finishComposingText();
-            }
-        });
-    }
-
-    private boolean deleteSurroundingText(final int before, final int after) throws Exception {
-        final ChromiumBaseInputConnection connection = mConnection;
-        return runBlockingOnImeThread(new Callable<Boolean>() {
-            @Override
-            public Boolean call() {
-                return connection.deleteSurroundingText(before, after);
-            }
-        });
-    }
-
-    // Note that deleteSurroundingTextInCodePoints() was introduced in Android N (Api level 24), but
-    // the Android repository used in Chrome is behind that (level 23). So this function can't be
-    // called by keyboard apps currently.
-    @TargetApi(24)
-    private boolean deleteSurroundingTextInCodePoints(final int before, final int after)
-            throws Exception {
-        final ThreadedInputConnection connection = (ThreadedInputConnection) mConnection;
-        return runBlockingOnImeThread(new Callable<Boolean>() {
-            @Override
-            public Boolean call() {
-                return connection.deleteSurroundingTextInCodePoints(before, after);
-            }
-        });
-    }
-
-    private CharSequence getTextBeforeCursor(final int length, final int flags) throws Exception {
-        final ChromiumBaseInputConnection connection = mConnection;
-        return runBlockingOnImeThread(new Callable<CharSequence>() {
-            @Override
-            public CharSequence call() {
-                return connection.getTextBeforeCursor(length, flags);
-            }
-        });
-    }
-
-    private CharSequence getSelectedText(final int flags) throws Exception {
-        final ChromiumBaseInputConnection connection = mConnection;
-        return runBlockingOnImeThread(new Callable<CharSequence>() {
-            @Override
-            public CharSequence call() {
-                return connection.getSelectedText(flags);
-            }
-        });
-    }
-
-    private CharSequence getTextAfterCursor(final int length, final int flags) throws Exception {
-        final ChromiumBaseInputConnection connection = mConnection;
-        return runBlockingOnImeThread(new Callable<CharSequence>() {
-            @Override
-            public CharSequence call() {
-                return connection.getTextAfterCursor(length, flags);
-            }
-        });
-    }
-
-    private int getCursorCapsMode(final int reqModes) throws Throwable {
-        final ChromiumBaseInputConnection connection = mConnection;
-        return runBlockingOnImeThread(new Callable<Integer>() {
-            @Override
-            public Integer call() {
-                return connection.getCursorCapsMode(reqModes);
-            }
-        });
-    }
-
-    private void dispatchKeyEvent(final KeyEvent event) {
-        ThreadUtils.runOnUiThreadBlocking(new Runnable() {
-            @Override
-            public void run() {
-                mImeAdapter.dispatchKeyEvent(event);
-            }
-        });
-    }
-
-    /**
-     * Focus element, wait for a single state update, reset state update list.
-     * @param id ID of the element to focus.
-     */
-    private void focusElementAndWaitForStateUpdate(String id)
-            throws InterruptedException, TimeoutException {
-        resetUpdateSelectionList();
-        focusElement(id);
-        waitAndVerifyUpdateSelection(0, 0, 0, -1, -1);
-        resetUpdateSelectionList();
-    }
-
-    private void focusElement(final String id) throws InterruptedException, TimeoutException {
-        focusElement(id, true);
-    }
-
-    private void focusElement(final String id, boolean shouldShowKeyboard)
-            throws InterruptedException, TimeoutException {
-        DOMUtils.focusNode(mWebContents, id);
-        assertWaitForKeyboardStatus(shouldShowKeyboard);
-        CriteriaHelper.pollInstrumentationThread(Criteria.equals(id, new Callable<String>() {
-            @Override
-            public String call() throws Exception {
-                return DOMUtils.getFocusedNode(mWebContents);
-            }
-        }));
-        // When we focus another element, the connection may be recreated.
-        mConnection = getInputConnection();
-    }
-
-    private static class TestInputConnectionFactory implements ChromiumBaseInputConnection.Factory {
-        private final ChromiumBaseInputConnection.Factory mFactory;
-
-        private final List<Integer> mTextInputTypeList = new ArrayList<>();
-        private EditorInfo mOutAttrs;
-
-        public TestInputConnectionFactory(ChromiumBaseInputConnection.Factory factory) {
-            mFactory = factory;
-        }
-
-        @Override
-        public ChromiumBaseInputConnection initializeAndGet(View view, ImeAdapter imeAdapter,
-                int inputType, int inputFlags, int inputMode, int selectionStart, int selectionEnd,
-                EditorInfo outAttrs) {
-            mTextInputTypeList.add(inputType);
-            mOutAttrs = outAttrs;
-            return mFactory.initializeAndGet(view, imeAdapter, inputType, inputMode, inputFlags,
-                    selectionStart, selectionEnd, outAttrs);
-        }
-
-        @Override
-        public Handler getHandler() {
-            return mFactory.getHandler();
-        }
-
-        public Integer[] getTextInputTypeHistory() {
-            Integer[] result = new Integer[mTextInputTypeList.size()];
-            mTextInputTypeList.toArray(result);
-            return result;
-        }
-
-        public void clearTextInputTypeHistory() {
-            mTextInputTypeList.clear();
-        }
-
-        public EditorInfo getOutAttrs() {
-            return mOutAttrs;
-        }
-
-        @Override
-        public void onWindowFocusChanged(boolean gainFocus) {
-            mFactory.onWindowFocusChanged(gainFocus);
-        }
-
-        @Override
-        public void onViewFocusChanged(boolean gainFocus) {
-            mFactory.onViewFocusChanged(gainFocus);
-        }
-
-        @Override
-        public void onViewAttachedToWindow() {
-            mFactory.onViewAttachedToWindow();
-        }
-
-        @Override
-        public void onViewDetachedFromWindow() {
-            mFactory.onViewDetachedFromWindow();
-        }
-    }
 }
diff --git a/content/public/common/BUILD.gn b/content/public/common/BUILD.gn
index acda0d6..d553b2a9 100644
--- a/content/public/common/BUILD.gn
+++ b/content/public/common/BUILD.gn
@@ -222,6 +222,8 @@
     "service_info.cc",
     "service_info.h",
     "service_manager_connection.h",
+    "simple_connection_filter.cc",
+    "simple_connection_filter.h",
     "speech_recognition_error.h",
     "speech_recognition_grammar.h",
     "speech_recognition_result.cc",
diff --git a/content/public/common/push_messaging_status.cc b/content/public/common/push_messaging_status.cc
index 664ce16..5f75d8b 100644
--- a/content/public/common/push_messaging_status.cc
+++ b/content/public/common/push_messaging_status.cc
@@ -60,6 +60,9 @@
 
     case PUSH_REGISTRATION_STATUS_STORAGE_CORRUPT:
       return "Registration failed - storage corrupt";
+
+    case PUSH_REGISTRATION_STATUS_RENDERER_SHUTDOWN:
+      return "Registration failed - renderer shutdown";
   }
   NOTREACHED();
   return "";
diff --git a/content/public/common/push_messaging_status.h b/content/public/common/push_messaging_status.h
index 7619555c..c240d42 100644
--- a/content/public/common/push_messaging_status.h
+++ b/content/public/common/push_messaging_status.h
@@ -65,12 +65,15 @@
   // automatically after unsubscribing to fix the corruption.
   PUSH_REGISTRATION_STATUS_STORAGE_CORRUPT = 14,
 
+  // Registration failed because the renderer was shut down.
+  PUSH_REGISTRATION_STATUS_RENDERER_SHUTDOWN = 15,
+
   // NOTE: Do not renumber these as that would confuse interpretation of
   // previously logged data. When making changes, also update the enum list
   // in tools/metrics/histograms/histograms.xml to keep it in sync, and
   // update PUSH_REGISTRATION_STATUS_LAST below.
 
-  PUSH_REGISTRATION_STATUS_LAST = PUSH_REGISTRATION_STATUS_STORAGE_CORRUPT
+  PUSH_REGISTRATION_STATUS_LAST = PUSH_REGISTRATION_STATUS_RENDERER_SHUTDOWN
 };
 
 // Push unregistration reason for reporting in UMA. Enum values can be added,
@@ -178,12 +181,16 @@
   // Getting the registration failed because storage was corrupt.
   PUSH_GETREGISTRATION_STATUS_STORAGE_CORRUPT = 6,
 
+  // Getting the registration failed because the renderer was shut down.
+  PUSH_GETREGISTRATION_STATUS_RENDERER_SHUTDOWN = 7,
+
   // NOTE: Do not renumber these as that would confuse interpretation of
   // previously logged data. When making changes, also update the enum list
   // in tools/metrics/histograms/histograms.xml to keep it in sync, and
   // update PUSH_GETREGISTRATION_STATUS_LAST below.
 
-  PUSH_GETREGISTRATION_STATUS_LAST = PUSH_GETREGISTRATION_STATUS_STORAGE_CORRUPT
+  PUSH_GETREGISTRATION_STATUS_LAST =
+      PUSH_GETREGISTRATION_STATUS_RENDERER_SHUTDOWN
 };
 
 // Push message event success/error codes for internal use & reporting in UMA.
diff --git a/content/public/common/services.md b/content/public/common/services.md
new file mode 100644
index 0000000..d467950
--- /dev/null
+++ b/content/public/common/services.md
@@ -0,0 +1,65 @@
+# Services in Content
+
+The //content layer implements the core process model for Chrome, including
+major process types: `browser`, `renderer`, `gpu`, `utility`, `plugin`. From the
+perspective of the service manager, each process type is a service, and each
+process instance is an instantiation of that service. For a renderer process,
+its `service_manager::Identity` is constructed as follows:
+
+```
+name: content_renderer
+userid: <guid, from BrowserContext that spawned this renderer>
+instance: <string, generated from the RenderProcesHost's ID>
+```
+
+These services express the set of capabilities they expose to one another using
+service manifests (see [Service Manager README](https://chromium.googlesource.com/chromium/src/+/master/services/service_manager/README.md)). For //content, the service manifests live in
+`//content/public/app/mojo`. 
+
+Every `content::BrowserContext` has a user id generated for it upon
+construction, and the services run with that BrowserContext use that user id as
+part of their instance identity. Where there are multiple instances of the same
+service for the same user, the instance field in the Identity disambiguates
+them.
+
+Launching code for each process type is currently ad-hoc & specific per type,
+and lives in `//content/browser`. In the medium-long term, we'll work to
+generalize this and move it all into the service manager. 
+Each content process type is launched by host code in `//content/browser`,
+though eventually all process launching will be moved to the service manager.
+
+The canonical service for each process type is represented by an implementation
+of the `service_manager::Service` interface which lives on the IO thread. This
+implementation is shared, and is a detail of `content::ServiceManagerConnection`
+which you will find in `//content/public/common`. This implementation receives
+the `OnStart()` and `OnBindInterface()` calls from the service manager.
+
+The rest of this document talks about things you might like to do and how to
+accomplish them.
+
+### Expose Mojo interfaces from one of the existing content-provided services.
+
+To expose interfaces at the service-level from one of the existing content-
+provided services, you will need to add a `content::ConnectionFilter` to the
+`content::ServiceManagerConnection` in the relevant process. See
+`//content/public/common/connection_filter.h`. You implement this interface to
+handle `OnBindInterface()` requests on the IO thread. You can construct a
+`service_manager::BinderRegistry` on any other thread and move it to the IO
+thread using `//content/public/common/connection_filter_impl.h`. When you add
+bind callbacks to the binder registry you can specify what task runner you
+would like incoming interface requests to be bound on.
+
+### Expose Mojo interfaces at the frame level between browser & renderer.
+
+You can add bind callbacks to the `service_manager::InterfaceRegistry` owned by
+the `RenderFrame` and the `RenderFrameHost`. See the various content client
+interfaces also for signals to embedders allowing them to add additional
+interfaces.
+
+### Expose a named service from an existing process.
+
+If you want to expose a named service (i.e. a service other than the ones
+provided by content) from a process provided by content, you can "embed" a
+service in one of the content-provided services. You do this by calling
+`AddEmbeddedService()` on `ServiceManagerConnection`.
+
diff --git a/content/public/common/simple_connection_filter.cc b/content/public/common/simple_connection_filter.cc
new file mode 100644
index 0000000..9b321750
--- /dev/null
+++ b/content/public/common/simple_connection_filter.cc
@@ -0,0 +1,29 @@
+// 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 "content/public/common/simple_connection_filter.h"
+
+#include "services/service_manager/public/cpp/binder_registry.h"
+#include "services/service_manager/public/cpp/service_info.h"
+
+namespace content {
+
+SimpleConnectionFilter::SimpleConnectionFilter(
+    std::unique_ptr<service_manager::BinderRegistry> registry)
+    : registry_(std::move(registry)) {}
+
+SimpleConnectionFilter::~SimpleConnectionFilter() {}
+
+void SimpleConnectionFilter::OnBindInterface(
+    const service_manager::ServiceInfo& source_info,
+    const std::string& interface_name,
+    mojo::ScopedMessagePipeHandle* interface_pipe,
+    service_manager::Connector* connector) {
+  if (registry_->CanBindInterface(interface_name)) {
+    registry_->BindInterface(source_info.identity, interface_name,
+                             std::move(*interface_pipe));
+  }
+}
+
+}  // namespace content
diff --git a/content/public/common/simple_connection_filter.h b/content/public/common/simple_connection_filter.h
new file mode 100644
index 0000000..3ef4f63
--- /dev/null
+++ b/content/public/common/simple_connection_filter.h
@@ -0,0 +1,40 @@
+// 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 CONTENT_PUBLIC_COMMON_SIMPLE_CONNECTION_FILTER_H_
+#define CONTENT_PUBLIC_COMMON_SIMPLE_CONNECTION_FILTER_H_
+
+#include <memory>
+#include <string>
+
+#include "content/common/content_export.h"
+#include "content/public/common/connection_filter.h"
+
+namespace service_manager {
+class BinderRegistry;
+}
+
+namespace content {
+
+class CONTENT_EXPORT SimpleConnectionFilter : public ConnectionFilter {
+ public:
+  explicit SimpleConnectionFilter(
+      std::unique_ptr<service_manager::BinderRegistry> registry);
+  ~SimpleConnectionFilter() override;
+
+  // ConnectionFilter:
+  void OnBindInterface(const service_manager::ServiceInfo& source_info,
+                       const std::string& interface_name,
+                       mojo::ScopedMessagePipeHandle* interface_pipe,
+                       service_manager::Connector* connector) override;
+
+ private:
+  std::unique_ptr<service_manager::BinderRegistry> registry_;
+
+  DISALLOW_COPY_AND_ASSIGN(SimpleConnectionFilter);
+};
+
+}  // namespace content
+
+#endif  // CONTENT_PUBLIC_COMMON_SIMPLE_CONNECTION_FILTER_H_
diff --git a/content/public/test/android/BUILD.gn b/content/public/test/android/BUILD.gn
index df0241a..478a8fa 100644
--- a/content/public/test/android/BUILD.gn
+++ b/content/public/test/android/BUILD.gn
@@ -32,6 +32,7 @@
     "javatests/src/org/chromium/content/browser/test/ChildProcessAllocatorSettings.java",
     "javatests/src/org/chromium/content/browser/test/ChildProcessAllocatorSettingsHook.java",
     "javatests/src/org/chromium/content/browser/test/ContentInstrumentationTestRunner.java",
+    "javatests/src/org/chromium/content/browser/test/ContentJUnit4ClassRunner.java",
     "javatests/src/org/chromium/content/browser/test/NativeLibraryTestBase.java",
     "javatests/src/org/chromium/content/browser/test/NativeLibraryTestCommon.java",
     "javatests/src/org/chromium/content/browser/test/NativeLibraryTestRule.java",
diff --git a/content/public/test/android/javatests/src/org/chromium/content/browser/test/ChildProcessAllocatorSettingsHook.java b/content/public/test/android/javatests/src/org/chromium/content/browser/test/ChildProcessAllocatorSettingsHook.java
index ab42403..c0976f6 100644
--- a/content/public/test/android/javatests/src/org/chromium/content/browser/test/ChildProcessAllocatorSettingsHook.java
+++ b/content/public/test/android/javatests/src/org/chromium/content/browser/test/ChildProcessAllocatorSettingsHook.java
@@ -11,14 +11,18 @@
 
 import java.lang.reflect.Method;
 
-/** PreTestHook used to register the ChildProcessAllocatorSettings annotation. */
+/**
+ * PreTestHook used to register the ChildProcessAllocatorSettings annotation.
+ *
+ * TODO(yolandyan): convert this to TestRule once content tests are changed JUnit4
+ * */
 public final class ChildProcessAllocatorSettingsHook implements PreTestHook {
     @Override
     public void run(Context targetContext, Method testMethod) {
         ChildProcessAllocatorSettings annotation =
                 testMethod.getAnnotation(ChildProcessAllocatorSettings.class);
         if (annotation != null) {
-            ChildConnectionAllocator.setSanboxServicesSettingsForTesting(
+            ChildConnectionAllocator.setSandboxServicesSettingsForTesting(
                     annotation.sandboxedServiceCount(), annotation.sandboxedServiceName());
         }
     }
diff --git a/content/public/test/android/javatests/src/org/chromium/content/browser/test/ContentJUnit4ClassRunner.java b/content/public/test/android/javatests/src/org/chromium/content/browser/test/ContentJUnit4ClassRunner.java
new file mode 100644
index 0000000..8581532
--- /dev/null
+++ b/content/public/test/android/javatests/src/org/chromium/content/browser/test/ContentJUnit4ClassRunner.java
@@ -0,0 +1,37 @@
+// 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.
+
+package org.chromium.content.browser.test;
+
+import org.junit.runners.model.InitializationError;
+
+import org.chromium.base.test.BaseJUnit4ClassRunner;
+import org.chromium.base.test.BaseTestResult.PreTestHook;
+import org.chromium.base.test.util.CommandLineFlags;
+
+import java.util.Arrays;
+import java.util.List;
+
+/**
+ * A custom runner for //content JUnit4 tests.
+ */
+public class ContentJUnit4ClassRunner extends BaseJUnit4ClassRunner {
+    /**
+     * Create a ContentJUnit4ClassRunner to run {@code klass} and initialize values
+     *
+     * @throws InitializationError if the test class malformed
+     */
+    public ContentJUnit4ClassRunner(final Class<?> klass) throws InitializationError {
+        super(klass, null, defaultPreTestHooks());
+    }
+
+    /**
+     * Change this static function to add default {@code PreTestHook}s.
+     */
+    private static List<PreTestHook> defaultPreTestHooks() {
+        return Arrays.asList(new PreTestHook[] {
+            CommandLineFlags.getRegistrationHook(),
+            new ChildProcessAllocatorSettingsHook()});
+    }
+}
diff --git a/content/public/test/test_file_error_injector.cc b/content/public/test/test_file_error_injector.cc
index 867d1a0..b635121 100644
--- a/content/public/test/test_file_error_injector.cc
+++ b/content/public/test/test_file_error_injector.cc
@@ -42,7 +42,8 @@
 
   ~DownloadFileWithError() override;
 
-  void Initialize(const InitializeCallback& callback,
+  void Initialize(const InitializeCallback& initialize_callback,
+                  const CancelRequestCallback& cancel_request_callback,
                   const DownloadItem::ReceivedSlices& received_slices) override;
 
   // DownloadFile interface.
@@ -133,10 +134,11 @@
 }
 
 void DownloadFileWithError::Initialize(
-    const InitializeCallback& callback,
+    const InitializeCallback& initialize_callback,
+    const CancelRequestCallback& cancel_request_callback,
     const DownloadItem::ReceivedSlices& received_slices) {
   DownloadInterruptReason error_to_return = DOWNLOAD_INTERRUPT_REASON_NONE;
-  InitializeCallback callback_to_use = callback;
+  InitializeCallback callback_to_use = initialize_callback;
 
   // Replace callback if the error needs to be overwritten.
   if (OverwriteError(
@@ -145,18 +147,18 @@
     if (DOWNLOAD_INTERRUPT_REASON_NONE != error_to_return) {
       // Don't execute a, probably successful, Initialize; just
       // return the error.
-      BrowserThread::PostTask(
-          BrowserThread::UI, FROM_HERE, base::Bind(
-              callback, error_to_return));
+      BrowserThread::PostTask(BrowserThread::UI, FROM_HERE,
+                              base::Bind(initialize_callback, error_to_return));
       return;
     }
 
     // Otherwise, just wrap the return.
-    callback_to_use = base::Bind(&InitializeErrorCallback, callback,
+    callback_to_use = base::Bind(&InitializeErrorCallback, initialize_callback,
                                  error_to_return);
   }
 
-  DownloadFileImpl::Initialize(callback_to_use, received_slices);
+  DownloadFileImpl::Initialize(callback_to_use, cancel_request_callback,
+                               received_slices);
 }
 
 DownloadInterruptReason DownloadFileWithError::WriteDataToFile(
diff --git a/content/renderer/accessibility/blink_ax_tree_source.cc b/content/renderer/accessibility/blink_ax_tree_source.cc
index 1c89507..c517d77 100644
--- a/content/renderer/accessibility/blink_ax_tree_source.cc
+++ b/content/renderer/accessibility/blink_ax_tree_source.cc
@@ -385,6 +385,9 @@
   dst->state = AXStateFromBlink(src);
   dst->id = src.AxID();
 
+  TRACE_EVENT1("accessibility", "BlinkAXTreeSource::SerializeNode", "role",
+               ui::ToString(dst->role));
+
   WebAXObject offset_container;
   WebFloatRect bounds_in_container;
   SkMatrix44 container_transform;
diff --git a/content/renderer/accessibility/render_accessibility_impl.cc b/content/renderer/accessibility/render_accessibility_impl.cc
index 104d6cad..2e160d5 100644
--- a/content/renderer/accessibility/render_accessibility_impl.cc
+++ b/content/renderer/accessibility/render_accessibility_impl.cc
@@ -59,6 +59,9 @@
 void RenderAccessibilityImpl::SnapshotAccessibilityTree(
     RenderFrameImpl* render_frame,
     AXContentTreeUpdate* response) {
+  TRACE_EVENT0("accessibility",
+               "RenderAccessibilityImpl::SnapshotAccessibilityTree");
+
   DCHECK(render_frame);
   DCHECK(response);
   if (!render_frame->GetWebFrame())
@@ -342,6 +345,9 @@
 }
 
 void RenderAccessibilityImpl::SendPendingAccessibilityEvents() {
+  TRACE_EVENT0("accessibility",
+               "RenderAccessibilityImpl::SendPendingAccessibilityEvents");
+
   const WebDocument& document = GetMainDocument();
   if (document.IsNull())
     return;
@@ -427,6 +433,8 @@
 }
 
 void RenderAccessibilityImpl::SendLocationChanges() {
+  TRACE_EVENT0("accessibility", "RenderAccessibilityImpl::SendLocationChanges");
+
   std::vector<AccessibilityHostMsg_LocationChangeParams> messages;
 
   // Update layout on the root of the tree.
diff --git a/content/renderer/media/gpu/rtc_video_decoder.cc b/content/renderer/media/gpu/rtc_video_decoder.cc
index 9a44d326..e373f2f 100644
--- a/content/renderer/media/gpu/rtc_video_decoder.cc
+++ b/content/renderer/media/gpu/rtc_video_decoder.cc
@@ -305,14 +305,13 @@
   return WEBRTC_VIDEO_CODEC_OK;
 }
 
-void RTCVideoDecoder::ProvidePictureBuffers(uint32_t count,
+void RTCVideoDecoder::ProvidePictureBuffers(uint32_t buffer_count,
                                             media::VideoPixelFormat format,
                                             uint32_t textures_per_buffer,
                                             const gfx::Size& size,
                                             uint32_t texture_target) {
   DCheckGpuVideoAcceleratorFactoriesTaskRunnerIsCurrent();
   DVLOG(3) << "ProvidePictureBuffers. texture_target=" << texture_target;
-  DCHECK_EQ(1u, textures_per_buffer);
 
   if (!vda_)
     return;
@@ -331,28 +330,35 @@
   }
 
   pixel_format_ = format;
-  if (!factories_->CreateTextures(count,
-                                  size,
-                                  &texture_ids,
+  const uint32_t texture_count = buffer_count * textures_per_buffer;
+  if (!factories_->CreateTextures(texture_count, size, &texture_ids,
                                   &texture_mailboxes,
                                   decoder_texture_target_)) {
     NotifyError(media::VideoDecodeAccelerator::PLATFORM_FAILURE);
     return;
   }
-  DCHECK_EQ(count, texture_ids.size());
-  DCHECK_EQ(count, texture_mailboxes.size());
+  DCHECK_EQ(texture_count, texture_ids.size());
+  DCHECK_EQ(texture_count, texture_mailboxes.size());
 
   std::vector<media::PictureBuffer> picture_buffers;
-  for (size_t i = 0; i < texture_ids.size(); ++i) {
+  for (size_t buffer_index = 0; buffer_index < buffer_count; ++buffer_index) {
     media::PictureBuffer::TextureIds ids;
-    ids.push_back(texture_ids[i]);
     std::vector<gpu::Mailbox> mailboxes;
-    mailboxes.push_back(texture_mailboxes[i]);
+    for (size_t texture_index = 0; texture_index < textures_per_buffer;
+         ++texture_index) {
+      const size_t texture_id =
+          texture_index + textures_per_buffer * buffer_index;
+      ids.push_back(texture_ids[texture_id]);
+      mailboxes.push_back(texture_mailboxes[texture_id]);
+    }
 
     picture_buffers.push_back(
         media::PictureBuffer(next_picture_buffer_id_++, size, ids, mailboxes));
-    bool inserted = assigned_picture_buffers_.insert(std::make_pair(
-        picture_buffers.back().id(), picture_buffers.back())).second;
+    const bool inserted =
+        assigned_picture_buffers_
+            .insert(std::make_pair(picture_buffers.back().id(),
+                                   picture_buffers.back()))
+            .second;
     DCHECK(inserted);
   }
   vda_->AssignPictureBuffers(picture_buffers);
@@ -374,7 +380,8 @@
 
   if (!picture_buffers_at_display_.count(id)) {
     // We can delete the texture immediately as it's not being displayed.
-    factories_->DeleteTexture(buffer_to_dismiss.client_texture_ids()[0]);
+    for (const auto& id : buffer_to_dismiss.client_texture_ids())
+      factories_->DeleteTexture(id);
     return;
   }
   // Not destroying a texture in display in |picture_buffers_at_display_|.
@@ -415,7 +422,7 @@
   }
   bool inserted = picture_buffers_at_display_
                       .insert(std::make_pair(picture.picture_buffer_id(),
-                                             pb.client_texture_ids()[0]))
+                                             pb.client_texture_ids()))
                       .second;
   DCHECK(inserted);
 
@@ -454,16 +461,18 @@
   // This prevents the compositor from messing with it, since the underlying
   // platform can handle the former format natively. Make sure the
   // correct format is used and everyone down the line understands it.
-  gpu::MailboxHolder holders[media::VideoFrame::kMaxPlanes] = {
-      gpu::MailboxHolder(pb.texture_mailbox(0), gpu::SyncToken(),
-                         decoder_texture_target_)};
+  gpu::MailboxHolder holders[media::VideoFrame::kMaxPlanes];
+  for (size_t i = 0; i < pb.client_texture_ids().size(); ++i) {
+    holders[i].mailbox = pb.texture_mailbox(i);
+    holders[i].texture_target = decoder_texture_target_;
+  }
   scoped_refptr<media::VideoFrame> frame =
       media::VideoFrame::WrapNativeTextures(
           pixel_format, holders,
-          media::BindToCurrentLoop(base::Bind(
-              &RTCVideoDecoder::ReleaseMailbox, weak_factory_.GetWeakPtr(),
-              factories_, picture.picture_buffer_id(),
-              pb.client_texture_ids()[0])),
+          media::BindToCurrentLoop(
+              base::Bind(&RTCVideoDecoder::ReleaseMailbox,
+                         weak_factory_.GetWeakPtr(), factories_,
+                         picture.picture_buffer_id(), pb.client_texture_ids())),
           pb.size(), visible_rect, visible_rect.size(), timestamp_ms);
   if (frame && picture.allow_overlay()) {
     frame->metadata()->SetBoolean(media::VideoFrameMetadata::ALLOW_OVERLAY,
@@ -686,7 +695,7 @@
     base::WeakPtr<RTCVideoDecoder> decoder,
     media::GpuVideoAcceleratorFactories* factories,
     int64_t picture_buffer_id,
-    uint32_t texture_id,
+    const media::PictureBuffer::TextureIds& texture_ids,
     const gpu::SyncToken& release_sync_token) {
   DCHECK(factories->GetTaskRunner()->BelongsToCurrentThread());
   factories->WaitSyncToken(release_sync_token);
@@ -697,7 +706,8 @@
   }
   // It's the last chance to delete the texture after display,
   // because RTCVideoDecoder was destructed.
-  factories->DeleteTexture(texture_id);
+  for (const auto& id : texture_ids)
+    factories->DeleteTexture(id);
 }
 
 void RTCVideoDecoder::ReusePictureBuffer(int64_t picture_buffer_id) {
@@ -707,13 +717,14 @@
   DCHECK(!picture_buffers_at_display_.empty());
   PictureBufferTextureMap::iterator display_iterator =
       picture_buffers_at_display_.find(picture_buffer_id);
-  uint32_t texture_id = display_iterator->second;
+  const auto texture_ids = display_iterator->second;
   DCHECK(display_iterator != picture_buffers_at_display_.end());
   picture_buffers_at_display_.erase(display_iterator);
 
   if (!assigned_picture_buffers_.count(picture_buffer_id)) {
     // This picture was dismissed while in display, so we postponed deletion.
-    factories_->DeleteTexture(texture_id);
+    for (const auto& id : texture_ids)
+      factories_->DeleteTexture(id);
     return;
   }
 
@@ -765,9 +776,10 @@
   for (const auto& picture_buffer_at_display : picture_buffers_at_display_)
     assigned_picture_buffers_.erase(picture_buffer_at_display.first);
 
-  for (const auto& assigned_picture_buffer : assigned_picture_buffers_)
-    factories_->DeleteTexture(
-        assigned_picture_buffer.second.client_texture_ids()[0]);
+  for (const auto& assigned_picture_buffer : assigned_picture_buffers_) {
+    for (const auto& id : assigned_picture_buffer.second.client_texture_ids())
+      factories_->DeleteTexture(id);
+  }
 
   assigned_picture_buffers_.clear();
 }
diff --git a/content/renderer/media/gpu/rtc_video_decoder.h b/content/renderer/media/gpu/rtc_video_decoder.h
index 12bc88b0..7b5b31f9 100644
--- a/content/renderer/media/gpu/rtc_video_decoder.h
+++ b/content/renderer/media/gpu/rtc_video_decoder.h
@@ -156,11 +156,12 @@
   void ResetInternal();
 
   // Static method is to allow it to run even after RVD is deleted.
-  static void ReleaseMailbox(base::WeakPtr<RTCVideoDecoder> decoder,
-                             media::GpuVideoAcceleratorFactories* factories,
-                             int64_t picture_buffer_id,
-                             uint32_t texture_id,
-                             const gpu::SyncToken& release_sync_token);
+  static void ReleaseMailbox(
+      base::WeakPtr<RTCVideoDecoder> decoder,
+      media::GpuVideoAcceleratorFactories* factories,
+      int64_t picture_buffer_id,
+      const media::PictureBuffer::TextureIds& texture_ids,
+      const gpu::SyncToken& release_sync_token);
   // Tells VDA that a picture buffer can be recycled.
   void ReusePictureBuffer(int64_t picture_buffer_id);
 
@@ -249,7 +250,8 @@
   // PictureBuffers given to us by VDA via PictureReady, which we sent forward
   // as VideoFrames to be rendered via read_cb_, and which will be returned
   // to us via ReusePictureBuffer.
-  typedef std::map<int32_t /* picture_buffer_id */, uint32_t /* texture_id */>
+  typedef std::map<int32_t /* picture_buffer_id */,
+                   media::PictureBuffer::TextureIds /* texture ids */>
       PictureBufferTextureMap;
   PictureBufferTextureMap picture_buffers_at_display_;
 
diff --git a/content/renderer/media/gpu/rtc_video_decoder_unittest.cc b/content/renderer/media/gpu/rtc_video_decoder_unittest.cc
index 1aec6f3..ea476be 100644
--- a/content/renderer/media/gpu/rtc_video_decoder_unittest.cc
+++ b/content/renderer/media/gpu/rtc_video_decoder_unittest.cc
@@ -141,6 +141,29 @@
     idle_waiter_.Wait();
   }
 
+  bool CreateMockTextures(int32_t count,
+                          const gfx::Size& size,
+                          std::vector<uint32_t>* texture_ids,
+                          std::vector<gpu::Mailbox>* texture_mailboxes,
+                          uint32_t texture_target) {
+    texture_ids->resize(count, 0);
+    texture_mailboxes->resize(count, gpu::Mailbox());
+    return true;
+  }
+
+  void ProvidePictureBuffers(uint32_t buffer_count,
+                             media::VideoPixelFormat format,
+                             uint32_t textures_per_buffer,
+                             const gfx::Size& size,
+                             uint32_t texture_target) {
+    vda_task_runner_->PostTask(
+        FROM_HERE,
+        base::Bind(&RTCVideoDecoder::ProvidePictureBuffers,
+                   base::Unretained(rtc_decoder_.get()), buffer_count, format,
+                   textures_per_buffer, size, texture_target));
+    RunUntilIdle();
+  }
+
   void SetUpResetVDA() {
     mock_vda_after_reset_ = new media::MockVideoDecodeAccelerator;
     EXPECT_CALL(*mock_gpu_factories_.get(), DoCreateVideoDecodeAccelerator())
@@ -276,6 +299,28 @@
       rtc_decoder_->IsFirstBufferAfterReset(1, RTCVideoDecoder::ID_LAST));
 }
 
+TEST_F(RTCVideoDecoderTest, MultipleTexturesPerBuffer) {
+  CreateDecoder(webrtc::kVideoCodecVP8);
+  const uint32_t kBufferCount = 5;
+  const uint32_t kTexturesPerBuffer = 3;
+  const gfx::Size kSize(48, 48);
+
+  EXPECT_CALL(*mock_gpu_factories_.get(), CreateTextures(_, _, _, _, _))
+      .WillRepeatedly(Invoke(this, &RTCVideoDecoderTest::CreateMockTextures));
+  EXPECT_CALL(*mock_gpu_factories_.get(), DeleteTexture(_))
+      .Times(kBufferCount * kTexturesPerBuffer);
+
+  std::vector<media::PictureBuffer> pbs;
+  EXPECT_CALL(*mock_vda_, AssignPictureBuffers(_)).WillOnce(SaveArg<0>(&pbs));
+  ProvidePictureBuffers(kBufferCount, media::PIXEL_FORMAT_UNKNOWN,
+                        kTexturesPerBuffer, kSize, 0);
+  EXPECT_EQ(kBufferCount, pbs.size());
+  for (const auto pb : pbs) {
+    EXPECT_EQ(kSize, pb.size());
+    EXPECT_EQ(kTexturesPerBuffer, pb.client_texture_ids().size());
+  }
+}
+
 // Tests/Verifies that |rtc_encoder_| drops incoming frames and its error
 // counter is increased when in an error condition.
 TEST_P(RTCVideoDecoderTest, GetVDAErrorCounterForTesting) {
diff --git a/content/renderer/media/media_stream_video_source.cc b/content/renderer/media/media_stream_video_source.cc
index af0e7ca16..0425cd3c 100644
--- a/content/renderer/media/media_stream_video_source.cc
+++ b/content/renderer/media/media_stream_video_source.cc
@@ -651,7 +651,8 @@
       VideoTrackAdapter::CalculateTargetSize(
           current_format_.frame_size, gfx::Size(max_width, max_height),
           min_aspect_ratio, max_aspect_ratio, &desired_size);
-      track.track->SetTargetSize(desired_size.width(), desired_size.height());
+      track.track->SetTargetSizeAndFrameRate(
+          desired_size.width(), desired_size.height(), max_frame_rate);
     }
 
     DVLOG(3) << "FinalizeAddTrackLegacy() result " << result;
@@ -687,7 +688,9 @@
                     track.adapter_settings->max_height),
           track.adapter_settings->min_aspect_ratio,
           track.adapter_settings->max_aspect_ratio, &desired_size);
-      track.track->SetTargetSize(desired_size.width(), desired_size.height());
+      track.track->SetTargetSizeAndFrameRate(
+          desired_size.width(), desired_size.height(),
+          track.adapter_settings->max_frame_rate);
     }
 
     if (!track.callback.is_null())
diff --git a/content/renderer/media/media_stream_video_track.cc b/content/renderer/media/media_stream_video_track.cc
index d5d966d..1d92473c 100644
--- a/content/renderer/media/media_stream_video_track.cc
+++ b/content/renderer/media/media_stream_video_track.cc
@@ -391,18 +391,24 @@
 void MediaStreamVideoTrack::GetSettings(
     blink::WebMediaStreamTrack::Settings& settings) {
   DCHECK(main_render_thread_checker_.CalledOnValidThread());
+  if (!source_)
+    return;
+
   if (width_ && height_) {
     settings.width = width_;
     settings.height = height_;
   }
 
-  if (!source_)
-    return;
+  // 0.0 means the track is using the source's frame rate.
+  if (frame_rate_ != 0.0) {
+    settings.frame_rate = frame_rate_;
+  }
 
   base::Optional<media::VideoCaptureFormat> format =
       source_->GetCurrentFormat();
   if (format) {
-    settings.frame_rate = format->frame_rate;
+    if (frame_rate_ == 0.0)
+      settings.frame_rate = format->frame_rate;
     settings.video_kind = GetVideoKindForFormat(*format);
   }
   switch (source_->device_info().device.video_facing) {
diff --git a/content/renderer/media/media_stream_video_track.h b/content/renderer/media/media_stream_video_track.h
index a6e85e6..6668585 100644
--- a/content/renderer/media/media_stream_video_track.h
+++ b/content/renderer/media/media_stream_video_track.h
@@ -113,9 +113,10 @@
 
   // Setting information about the track size.
   // Called from MediaStreamVideoSource at track initialization.
-  void SetTargetSize(int width, int height) {
+  void SetTargetSizeAndFrameRate(int width, int height, double frame_rate) {
     width_ = width;
     height_ = height;
+    frame_rate_ = frame_rate;
   }
 
  private:
@@ -159,9 +160,10 @@
   // This is used for tracking if all connected video sinks are secure.
   SecureDisplayLinkTracker<MediaStreamVideoSink> secure_tracker_;
 
-  // Remembering our desired video size.
+  // Remembering our desired video size and frame rate.
   int width_ = 0;
   int height_ = 0;
+  double frame_rate_ = 0.0;
 
   DISALLOW_COPY_AND_ASSIGN(MediaStreamVideoTrack);
 };
diff --git a/content/renderer/media/media_stream_video_track_unittest.cc b/content/renderer/media/media_stream_video_track_unittest.cc
index 8d25d3c..2f497054 100644
--- a/content/renderer/media/media_stream_video_track_unittest.cc
+++ b/content/renderer/media/media_stream_video_track_unittest.cc
@@ -17,6 +17,7 @@
 #include "content/renderer/media/media_stream_video_track.h"
 #include "content/renderer/media/mock_media_stream_video_sink.h"
 #include "content/renderer/media/mock_media_stream_video_source.h"
+#include "content/renderer/media/video_track_adapter.h"
 #include "media/base/video_frame.h"
 #include "testing/gtest/include/gtest/gtest.h"
 #include "third_party/WebKit/public/web/WebHeap.h"
@@ -95,6 +96,21 @@
     return track;
   }
 
+  // Create a track that's associated with |mock_source_| and has the given
+  // |adapter_settings|.
+  blink::WebMediaStreamTrack CreateTrackWithSettings(
+      const VideoTrackAdapterSettings& adapter_settings) {
+    const bool enabled = true;
+    blink::WebMediaStreamTrack track = MediaStreamVideoTrack::CreateVideoTrack(
+        mock_source_, adapter_settings, base::Optional<bool>(), false, 0.0,
+        MediaStreamSource::ConstraintsCallback(), enabled);
+    if (!source_started_) {
+      mock_source_->StartMockedSource();
+      source_started_ = true;
+    }
+    return track;
+  }
+
   void UpdateVideoSourceToRespondToRequestRefreshFrame() {
     blink_source_.Reset();
     mock_source_ = IsOldVideoConstraints()
@@ -296,6 +312,41 @@
             settings.facing_mode);
 }
 
+TEST_F(MediaStreamVideoTrackTest, GetSettingsWithAdjustment) {
+  InitializeSource();
+  const int kAdjustedWidth = 600;
+  const int kAdjustedHeight = 400;
+  const double kAdjustedFrameRate = 20.0;
+  VideoTrackAdapterSettings adapter_settings(kAdjustedWidth, kAdjustedHeight,
+                                             0.0, 10000.0, kAdjustedFrameRate);
+  blink::WebMediaStreamTrack track = CreateTrackWithSettings(adapter_settings);
+  MediaStreamVideoTrack* const native_track =
+      MediaStreamVideoTrack::GetVideoTrack(track);
+  blink::WebMediaStreamTrack::Settings settings;
+  native_track->GetSettings(settings);
+  EXPECT_EQ(kAdjustedWidth, settings.width);
+  EXPECT_EQ(kAdjustedHeight, settings.height);
+  EXPECT_EQ(kAdjustedFrameRate, settings.frame_rate);
+  EXPECT_EQ(blink::WebMediaStreamTrack::FacingMode::kNone,
+            settings.facing_mode);
+}
+
+TEST_F(MediaStreamVideoTrackTest, GetSettingsStopped) {
+  InitializeSource();
+  blink::WebMediaStreamTrack track = CreateTrack();
+  MediaStreamVideoTrack* const native_track =
+      MediaStreamVideoTrack::GetVideoTrack(track);
+  native_track->Stop();
+  blink::WebMediaStreamTrack::Settings settings;
+  native_track->GetSettings(settings);
+  EXPECT_EQ(-1, settings.width);
+  EXPECT_EQ(-1, settings.height);
+  EXPECT_EQ(-1, settings.frame_rate);
+  EXPECT_EQ(blink::WebMediaStreamTrack::FacingMode::kNone,
+            settings.facing_mode);
+  EXPECT_TRUE(settings.device_id.IsNull());
+}
+
 // TODO(guidou): Remove this test. http://crbug.com/706408
 class MediaStreamVideoTrackOldConstraintsTest : public ::testing::Test {
  public:
diff --git a/content/renderer/render_frame_impl.cc b/content/renderer/render_frame_impl.cc
index 425e39bb..5991bde2 100644
--- a/content/renderer/render_frame_impl.cc
+++ b/content/renderer/render_frame_impl.cc
@@ -279,7 +279,6 @@
 #endif
 
 #if BUILDFLAG(ENABLE_MEDIA_REMOTING)
-#include "content/renderer/image_downloader/single_image_downloader.h"  // nogncheck
 #include "media/remoting/adaptive_renderer_factory.h"     // nogncheck
 #include "media/remoting/remoting_cdm_controller.h"       // nogncheck
 #include "media/remoting/remoting_cdm_factory.h"          // nogncheck
@@ -2947,7 +2946,6 @@
   }
 
 #if BUILDFLAG(ENABLE_MEDIA_REMOTING)
-  auto* const remoting_controller_ptr = remoting_controller.get();
   media_renderer_factory =
       base::MakeUnique<media::remoting::AdaptiveRendererFactory>(
           std::move(media_renderer_factory), std::move(remoting_controller));
@@ -2966,10 +2964,6 @@
   media_player->SetUseFallbackPath(use_fallback_path);
 #endif  // defined(OS_ANDROID)
 
-#if BUILDFLAG(ENABLE_MEDIA_REMOTING)
-  remoting_controller_ptr->SetDownloadPosterCallback(base::Bind(
-      &SingleImageDownloader::DownloadImage, weak_factory_.GetWeakPtr()));
-#endif
   return media_player;
 }
 
@@ -4007,21 +4001,20 @@
                                              error.was_ignored_by_handler));
 }
 
-void RenderFrameImpl::DidFinishLoad(blink::WebLocalFrame* frame) {
+void RenderFrameImpl::DidFinishLoad() {
   TRACE_EVENT1("navigation,benchmark,rail",
                "RenderFrameImpl::didFinishLoad", "id", routing_id_);
-  DCHECK_EQ(frame_, frame);
-  if (!frame->Parent()) {
+  if (!frame_->Parent()) {
     TRACE_EVENT_INSTANT0("WebCore,benchmark,rail", "LoadFinished",
                          TRACE_EVENT_SCOPE_PROCESS);
   }
 
   for (auto& observer : render_view_->observers())
-    observer.DidFinishLoad(frame);
+    observer.DidFinishLoad(frame_);
   for (auto& observer : observers_)
     observer.DidFinishLoad();
 
-  WebDataSource* ds = frame->DataSource();
+  WebDataSource* ds = frame_->DataSource();
   Send(new FrameHostMsg_DidFinishLoad(routing_id_, ds->GetRequest().Url()));
 
   if (RenderThreadImpl::current()) {
diff --git a/content/renderer/render_frame_impl.h b/content/renderer/render_frame_impl.h
index 726ecaa6..94d1ed7 100644
--- a/content/renderer/render_frame_impl.h
+++ b/content/renderer/render_frame_impl.h
@@ -582,7 +582,7 @@
   void DidHandleOnloadEvents() override;
   void DidFailLoad(const blink::WebURLError& error,
                    blink::WebHistoryCommitType commit_type) override;
-  void DidFinishLoad(blink::WebLocalFrame* frame) override;
+  void DidFinishLoad() override;
   void DidNavigateWithinPage(const blink::WebHistoryItem& item,
                              blink::WebHistoryCommitType commit_type,
                              bool content_initiated) override;
diff --git a/content/shell/BUILD.gn b/content/shell/BUILD.gn
index 16cc7463..d13f4727 100644
--- a/content/shell/BUILD.gn
+++ b/content/shell/BUILD.gn
@@ -210,6 +210,7 @@
     # This exposes all public content APIs.
     "//content/public/app:both",
     "//content/public/browser",
+    "//content/public/child",
     "//content/public/common",
     "//content/public/renderer",
     "//content/public/utility",
diff --git a/content/shell/test_runner/web_frame_test_client.cc b/content/shell/test_runner/web_frame_test_client.cc
index 405ba0f..5effc91 100644
--- a/content/shell/test_runner/web_frame_test_client.cc
+++ b/content/shell/test_runner/web_frame_test_client.cc
@@ -509,10 +509,9 @@
   }
 }
 
-void WebFrameTestClient::DidFinishLoad(blink::WebLocalFrame* frame) {
-  DCHECK_EQ(frame, web_frame_test_proxy_base_->web_frame());
+void WebFrameTestClient::DidFinishLoad() {
   if (test_runner()->shouldDumpFrameLoadCallbacks()) {
-    PrintFrameDescription(delegate_, frame);
+    PrintFrameDescription(delegate_, web_frame_test_proxy_base_->web_frame());
     delegate_->PrintMessage(" - didFinishLoadForFrame\n");
   }
 }
diff --git a/content/shell/test_runner/web_frame_test_client.h b/content/shell/test_runner/web_frame_test_client.h
index 7af580e2..7aeeebf 100644
--- a/content/shell/test_runner/web_frame_test_client.h
+++ b/content/shell/test_runner/web_frame_test_client.h
@@ -79,7 +79,7 @@
   void DidHandleOnloadEvents() override;
   void DidFailLoad(const blink::WebURLError& error,
                    blink::WebHistoryCommitType commit_type) override;
-  void DidFinishLoad(blink::WebLocalFrame* frame) override;
+  void DidFinishLoad() override;
   void DidNavigateWithinPage(const blink::WebHistoryItem& history_item,
                              blink::WebHistoryCommitType commit_type,
                              bool contentInitiated) override;
diff --git a/content/shell/test_runner/web_frame_test_proxy.h b/content/shell/test_runner/web_frame_test_proxy.h
index 83814677..ff9bef4 100644
--- a/content/shell/test_runner/web_frame_test_proxy.h
+++ b/content/shell/test_runner/web_frame_test_proxy.h
@@ -155,9 +155,9 @@
     Base::DidFailLoad(error, commit_type);
   }
 
-  void DidFinishLoad(blink::WebLocalFrame* frame) override {
-    Base::DidFinishLoad(frame);
-    test_client()->DidFinishLoad(frame);
+  void DidFinishLoad() override {
+    Base::DidFinishLoad();
+    test_client()->DidFinishLoad();
   }
 
   void DidNavigateWithinPage(const blink::WebHistoryItem& history_item,
diff --git a/content/shell/utility/shell_content_utility_client.cc b/content/shell/utility/shell_content_utility_client.cc
index 0181ed2..b9b5fb7 100644
--- a/content/shell/utility/shell_content_utility_client.cc
+++ b/content/shell/utility/shell_content_utility_client.cc
@@ -11,11 +11,14 @@
 #include "base/files/scoped_temp_dir.h"
 #include "base/memory/ptr_util.h"
 #include "base/process/process.h"
+#include "content/public/child/child_thread.h"
+#include "content/public/common/service_manager_connection.h"
+#include "content/public/common/simple_connection_filter.h"
 #include "content/public/test/test_service.h"
 #include "content/public/test/test_service.mojom.h"
 #include "mojo/public/cpp/bindings/strong_binding.h"
 #include "mojo/public/cpp/system/buffer.h"
-#include "services/service_manager/public/cpp/interface_registry.h"
+#include "services/service_manager/public/cpp/binder_registry.h"
 
 namespace content {
 
@@ -76,15 +79,20 @@
 ShellContentUtilityClient::~ShellContentUtilityClient() {
 }
 
+void ShellContentUtilityClient::UtilityThreadStarted() {
+  auto registry = base::MakeUnique<service_manager::BinderRegistry>();
+  registry->AddInterface(base::Bind(&TestServiceImpl::Create),
+                         base::ThreadTaskRunnerHandle::Get());
+  content::ChildThread::Get()
+      ->GetServiceManagerConnection()
+      ->AddConnectionFilter(
+          base::MakeUnique<SimpleConnectionFilter>(std::move(registry)));
+}
+
 void ShellContentUtilityClient::RegisterServices(StaticServiceMap* services) {
   ServiceInfo info;
   info.factory = base::Bind(&CreateTestService);
   services->insert(std::make_pair(kTestServiceUrl, info));
 }
 
-void ShellContentUtilityClient::ExposeInterfacesToBrowser(
-    service_manager::InterfaceRegistry* registry) {
-  registry->AddInterface(base::Bind(&TestServiceImpl::Create));
-}
-
 }  // namespace content
diff --git a/content/shell/utility/shell_content_utility_client.h b/content/shell/utility/shell_content_utility_client.h
index e057705..3ab2f82b 100644
--- a/content/shell/utility/shell_content_utility_client.h
+++ b/content/shell/utility/shell_content_utility_client.h
@@ -14,9 +14,8 @@
   ~ShellContentUtilityClient() override;
 
   // ContentUtilityClient:
+  void UtilityThreadStarted() override;
   void RegisterServices(StaticServiceMap* services) override;
-  void ExposeInterfacesToBrowser(
-      service_manager::InterfaceRegistry* registry) override;
 };
 
 }  // namespace content
diff --git a/content/test/BUILD.gn b/content/test/BUILD.gn
index 1192e99..2c30533 100644
--- a/content/test/BUILD.gn
+++ b/content/test/BUILD.gn
@@ -860,8 +860,12 @@
   }
 
   if (is_android) {
+    if (is_component_build) {
+      sources += [ "../browser/android/render_widget_host_connector.cc" ]
+    }
     sources += [
       "../browser/accessibility/android_granularity_movement_browsertest.cc",
+      "../browser/android/render_widget_host_connector_browsertest.cc",
       "../browser/media/session/audio_focus_delegate_android_browsertest.cc",
       "../shell/android/browsertests_apk/content_browser_tests_jni_onload.cc",
     ]
diff --git a/content/test/data/page_with_animation.html b/content/test/data/page_with_animation.html
new file mode 100644
index 0000000..9c1c977
--- /dev/null
+++ b/content/test/data/page_with_animation.html
@@ -0,0 +1,29 @@
+<!doctype html>
+<html>
+  <head>
+    <style>
+      @keyframes move {
+        from {
+          transform: translate(-200px, 0);
+        }
+        to {
+          transform: translate(200px, 0);
+        }
+      }
+
+      div {
+        height: 200px;
+        width: 200px;
+
+        animation-duration: 1.5s;
+        animation-iteration-count: infinite;
+        animation-name: move;
+
+        background: black;
+      }
+    </style>
+  </head>
+  <body>
+    <div></div>
+  </body>
+</html>
diff --git a/content/utility/utility_thread_impl.cc b/content/utility/utility_thread_impl.cc
index 36e0e1d..4f61f46 100644
--- a/content/utility/utility_thread_impl.cc
+++ b/content/utility/utility_thread_impl.cc
@@ -14,12 +14,14 @@
 #include "content/common/child_process_messages.h"
 #include "content/common/utility_messages.h"
 #include "content/public/common/content_switches.h"
+#include "content/public/common/service_manager_connection.h"
+#include "content/public/common/simple_connection_filter.h"
 #include "content/public/utility/content_utility_client.h"
 #include "content/utility/utility_blink_platform_impl.h"
 #include "content/utility/utility_service_factory.h"
 #include "ipc/ipc_sync_channel.h"
 #include "ppapi/features/features.h"
-#include "services/service_manager/public/cpp/interface_registry.h"
+#include "services/service_manager/public/cpp/binder_registry.h"
 #include "third_party/WebKit/public/web/WebKit.h"
 
 #if defined(OS_POSIX) && BUILDFLAG(ENABLE_PLUGINS)
@@ -30,12 +32,15 @@
 namespace content {
 
 UtilityThreadImpl::UtilityThreadImpl()
-    : ChildThreadImpl(ChildThreadImpl::Options::Builder().Build()) {
+    : ChildThreadImpl(ChildThreadImpl::Options::Builder()
+                          .AutoStartServiceManagerConnection(false)
+                          .Build()) {
   Init();
 }
 
 UtilityThreadImpl::UtilityThreadImpl(const InProcessChildThreadParams& params)
     : ChildThreadImpl(ChildThreadImpl::Options::Builder()
+                          .AutoStartServiceManagerConnection(false)
                           .InBrowserProcess(params)
                           .Build()) {
   Init();
@@ -79,14 +84,20 @@
 void UtilityThreadImpl::Init() {
   batch_mode_ = false;
   ChildProcess::current()->AddRefProcess();
+
+  auto registry = base::MakeUnique<service_manager::BinderRegistry>();
+  registry->AddInterface(
+      base::Bind(&UtilityThreadImpl::BindServiceFactoryRequest,
+                 base::Unretained(this)),
+      base::ThreadTaskRunnerHandle::Get());
+  ChildThread::Get()->GetServiceManagerConnection()->AddConnectionFilter(
+      base::MakeUnique<SimpleConnectionFilter>(std::move(registry)));
+
   GetContentClient()->utility()->UtilityThreadStarted();
 
   service_factory_.reset(new UtilityServiceFactory);
-  GetInterfaceRegistry()->AddInterface(base::Bind(
-      &UtilityThreadImpl::BindServiceFactoryRequest, base::Unretained(this)));
 
-  GetContentClient()->utility()->ExposeInterfacesToBrowser(
-      GetInterfaceRegistry());
+  StartServiceManagerConnection();
 }
 
 bool UtilityThreadImpl::OnControlMessageReceived(const IPC::Message& msg) {
diff --git a/dbus/bus.cc b/dbus/bus.cc
index a869717..3d77d0f 100644
--- a/dbus/bus.cc
+++ b/dbus/bus.cc
@@ -6,9 +6,11 @@
 
 #include <stddef.h>
 
+#include <memory>
+
 #include "base/bind.h"
+#include "base/files/file_descriptor_watcher_posix.h"
 #include "base/logging.h"
-#include "base/message_loop/message_loop.h"
 #include "base/stl_util.h"
 #include "base/strings/stringprintf.h"
 #include "base/threading/thread.h"
@@ -42,14 +44,13 @@
 
 // The class is used for watching the file descriptor used for D-Bus
 // communication.
-class Watch : public base::MessagePumpLibevent::Watcher {
+class Watch {
  public:
-  explicit Watch(DBusWatch* watch)
-      : raw_watch_(watch), file_descriptor_watcher_(FROM_HERE) {
+  explicit Watch(DBusWatch* watch) : raw_watch_(watch) {
     dbus_watch_set_data(raw_watch_, this, NULL);
   }
 
-  ~Watch() override { dbus_watch_set_data(raw_watch_, NULL, NULL); }
+  ~Watch() { dbus_watch_set_data(raw_watch_, NULL, NULL); }
 
   // Returns true if the underlying file descriptor is ready to be watched.
   bool IsReadyToBeWatched() {
@@ -59,44 +60,38 @@
   // Starts watching the underlying file descriptor.
   void StartWatching() {
     const int file_descriptor = dbus_watch_get_unix_fd(raw_watch_);
-    const int flags = dbus_watch_get_flags(raw_watch_);
+    const unsigned int flags = dbus_watch_get_flags(raw_watch_);
 
-    base::MessageLoopForIO::Mode mode = base::MessageLoopForIO::WATCH_READ;
-    if ((flags & DBUS_WATCH_READABLE) && (flags & DBUS_WATCH_WRITABLE))
-      mode = base::MessageLoopForIO::WATCH_READ_WRITE;
-    else if (flags & DBUS_WATCH_READABLE)
-      mode = base::MessageLoopForIO::WATCH_READ;
-    else if (flags & DBUS_WATCH_WRITABLE)
-      mode = base::MessageLoopForIO::WATCH_WRITE;
-    else
-      NOTREACHED();
-
-    const bool persistent = true;  // Watch persistently.
-    const bool success = base::MessageLoopForIO::current()->WatchFileDescriptor(
-        file_descriptor, persistent, mode, &file_descriptor_watcher_, this);
-    CHECK(success) << "Unable to allocate memory";
+    // Using base::Unretained(this) is safe because watches are automatically
+    // canceled when |read_watcher_| and |write_watcher_| are destroyed.
+    if (flags & DBUS_WATCH_READABLE) {
+      read_watcher_ = base::FileDescriptorWatcher::WatchReadable(
+          file_descriptor,
+          base::Bind(&Watch::OnFileReady, base::Unretained(this),
+                     DBUS_WATCH_READABLE));
+    }
+    if (flags & DBUS_WATCH_WRITABLE) {
+      write_watcher_ = base::FileDescriptorWatcher::WatchWritable(
+          file_descriptor,
+          base::Bind(&Watch::OnFileReady, base::Unretained(this),
+                     DBUS_WATCH_WRITABLE));
+    }
   }
 
   // Stops watching the underlying file descriptor.
   void StopWatching() {
-    file_descriptor_watcher_.StopWatchingFileDescriptor();
+    read_watcher_.reset();
+    write_watcher_.reset();
   }
 
  private:
-  // Implement MessagePumpLibevent::Watcher.
-  void OnFileCanReadWithoutBlocking(int file_descriptor) override {
-    const bool success = dbus_watch_handle(raw_watch_, DBUS_WATCH_READABLE);
-    CHECK(success) << "Unable to allocate memory";
-  }
-
-  // Implement MessagePumpLibevent::Watcher.
-  void OnFileCanWriteWithoutBlocking(int file_descriptor) override {
-    const bool success = dbus_watch_handle(raw_watch_, DBUS_WATCH_WRITABLE);
-    CHECK(success) << "Unable to allocate memory";
+  void OnFileReady(unsigned int flags) {
+    CHECK(dbus_watch_handle(raw_watch_, flags)) << "Unable to allocate memory";
   }
 
   DBusWatch* raw_watch_;
-  base::MessagePumpLibevent::FileDescriptorWatcher file_descriptor_watcher_;
+  std::unique_ptr<base::FileDescriptorWatcher::Controller> read_watcher_;
+  std::unique_ptr<base::FileDescriptorWatcher::Controller> write_watcher_;
 };
 
 // The class is used for monitoring the timeout used for D-Bus method
@@ -1048,13 +1043,10 @@
   AssertOnDBusThread();
 
   Watch* watch = static_cast<Watch*>(dbus_watch_get_data(raw_watch));
-  if (watch->IsReadyToBeWatched()) {
+  if (watch->IsReadyToBeWatched())
     watch->StartWatching();
-  } else {
-    // It's safe to call this if StartWatching() wasn't called, per
-    // message_pump_libevent.h.
+  else
     watch->StopWatching();
-  }
 }
 
 dbus_bool_t Bus::OnAddTimeout(DBusTimeout* raw_timeout) {
diff --git a/dbus/bus_unittest.cc b/dbus/bus_unittest.cc
index 84bbb78..71101e69 100644
--- a/dbus/bus_unittest.cc
+++ b/dbus/bus_unittest.cc
@@ -5,6 +5,7 @@
 #include "dbus/bus.h"
 
 #include "base/bind.h"
+#include "base/files/file_descriptor_watcher_posix.h"
 #include "base/macros.h"
 #include "base/memory/ref_counted.h"
 #include "base/message_loop/message_loop.h"
@@ -318,9 +319,11 @@
 }
 
 TEST(BusTest, ListenForServiceOwnerChange) {
-  // Setup the current thread's MessageLoop. Must be of TYPE_IO for the
-  // listeners to work.
-  base::MessageLoop message_loop(base::MessageLoop::TYPE_IO);
+  base::MessageLoopForIO message_loop;
+
+  // This enables FileDescriptorWatcher, which is required by dbus::Watch.
+  base::FileDescriptorWatcher file_descriptor_watcher(&message_loop);
+
   RunLoopWithExpectedCount run_loop_state;
 
   // Create the bus.
diff --git a/dbus/object_proxy_unittest.cc b/dbus/object_proxy_unittest.cc
index 189ef90..5e3d3e2e 100644
--- a/dbus/object_proxy_unittest.cc
+++ b/dbus/object_proxy_unittest.cc
@@ -2,11 +2,12 @@
 // Use of this source code is governed by a BSD-style license that can be
 // found in the LICENSE file.
 
+#include "dbus/object_proxy.h"
 #include "base/bind.h"
+#include "base/files/file_descriptor_watcher_posix.h"
 #include "base/memory/ref_counted.h"
 #include "base/run_loop.h"
 #include "dbus/bus.h"
-#include "dbus/object_proxy.h"
 #include "dbus/test_service.h"
 #include "testing/gtest/include/gtest/gtest.h"
 
@@ -15,6 +16,8 @@
 
 class ObjectProxyTest : public testing::Test {
  protected:
+  ObjectProxyTest() : file_descriptor_watcher_(&message_loop_) {}
+
   void SetUp() override {
     Bus::Options bus_options;
     bus_options.bus_type = Bus::SESSION;
@@ -25,6 +28,10 @@
   void TearDown() override { bus_->ShutdownAndBlock(); }
 
   base::MessageLoopForIO message_loop_;
+
+  // This enables FileDescriptorWatcher, which is required by dbus::Watch.
+  base::FileDescriptorWatcher file_descriptor_watcher_;
+
   scoped_refptr<Bus> bus_;
 };
 
diff --git a/device/generic_sensor/README.md b/device/generic_sensor/README.md
new file mode 100644
index 0000000..3613617
--- /dev/null
+++ b/device/generic_sensor/README.md
@@ -0,0 +1,25 @@
+# Sensors
+
+`device/generic_sensor` contains the platform-specific parts of the Sensor APIs
+implementation.
+
+Sensors Mojo interfaces are defined in the `public/interfaces` subdirectory.
+
+The JS bindings are implemented in `third_party/WebKit/Source/modules/sensor`.
+
+
+## Testing
+
+Sensors platform unit tests are located in the current directory and its
+subdirectories.
+
+The sensors unit tests file for Android is
+`android/junit/src/org/chromium/device/sensors/PlatformSensorAndProviderTest.java`.
+
+Sensors browser tests are located in `content/test/data/generic_sensor`.
+
+
+## Design Documents
+
+Please refer to the [design documentation](https://docs.google.com/document/d/1Ml65ZdW5AgIsZTszk4mD_ohr40pcrdVFOIf0ZtWxDv0)
+for more details.
diff --git a/device/geolocation/network_location_provider.cc b/device/geolocation/network_location_provider.cc
index 52aec681..64bb9d92 100644
--- a/device/geolocation/network_location_provider.cc
+++ b/device/geolocation/network_location_provider.cc
@@ -117,40 +117,46 @@
       access_token_(access_token),
       is_permission_granted_(false),
       is_new_data_available_(false),
+      request_(new NetworkLocationRequest(
+          url_context_getter,
+          url,
+          base::Bind(&NetworkLocationProvider::OnLocationResponse,
+                     base::Unretained(this)))),
       position_cache_(new PositionCache),
       weak_factory_(this) {
-  request_.reset(new NetworkLocationRequest(
-      url_context_getter, url,
-      base::Bind(&NetworkLocationProvider::OnLocationResponse,
-                 base::Unretained(this))));
+  DLOG_IF(WARNING, !url.is_valid())
+      << __func__ << " Bad URL: " << url.possibly_invalid_spec();
 }
 
 NetworkLocationProvider::~NetworkLocationProvider() {
-  StopProvider();
-}
-
-// LocationProvider implementation
-const Geoposition& NetworkLocationProvider::GetPosition() {
-  return position_;
+  DCHECK(thread_checker_.CalledOnValidThread());
+  if (IsStarted())
+    StopProvider();
 }
 
 void NetworkLocationProvider::SetUpdateCallback(
     const LocationProvider::LocationProviderUpdateCallback& callback) {
+  DCHECK(thread_checker_.CalledOnValidThread());
   location_provider_update_callback_ = callback;
 }
 
 void NetworkLocationProvider::OnPermissionGranted() {
   const bool was_permission_granted = is_permission_granted_;
   is_permission_granted_ = true;
-  if (!was_permission_granted && IsStarted()) {
+  if (!was_permission_granted && IsStarted())
     RequestPosition();
-  }
 }
 
 void NetworkLocationProvider::OnWifiDataUpdate() {
-  DCHECK(wifi_data_provider_manager_);
+  DCHECK(thread_checker_.CalledOnValidThread());
+  DCHECK(IsStarted());
   is_wifi_data_complete_ = wifi_data_provider_manager_->GetData(&wifi_data_);
-  OnWifiDataUpdated();
+  if (!is_wifi_data_complete_)
+    return;
+
+  wifi_timestamp_ = base::Time::Now();
+  is_new_data_available_ = true;
+  RequestPosition();
 }
 
 void NetworkLocationProvider::OnLocationResponse(
@@ -158,12 +164,11 @@
     bool server_error,
     const base::string16& access_token,
     const WifiData& wifi_data) {
-  DCHECK(CalledOnValidThread());
+  DCHECK(thread_checker_.CalledOnValidThread());
   // Record the position and update our cache.
   position_ = position;
-  if (position.Validate()) {
+  if (position.Validate())
     position_cache_->CachePosition(wifi_data, position);
-  }
 
   // Record access_token if it's set.
   if (!access_token.empty() && access_token_ != access_token) {
@@ -177,19 +182,14 @@
 }
 
 bool NetworkLocationProvider::StartProvider(bool high_accuracy) {
-  DCHECK(CalledOnValidThread());
+  DCHECK(thread_checker_.CalledOnValidThread());
   if (IsStarted())
     return true;
-  DCHECK(!wifi_data_provider_manager_);
-  if (!request_->url().is_valid()) {
-    LOG(WARNING) << "StartProvider() : Failed, Bad URL: "
-                 << request_->url().possibly_invalid_spec();
+  if (!request_->url().is_valid())
     return false;
-  }
 
-  // Registers a callback with the data provider. The first call to Register
-  // will create a singleton data provider and it will be deleted when the last
-  // callback is removed with Unregister.
+  // Registers a callback with the data provider. The first call to Register()
+  // will create a singleton data provider that will be deleted on Unregister().
   wifi_data_provider_manager_ =
       WifiDataProviderManager::Register(&wifi_data_update_callback_);
 
@@ -197,44 +197,33 @@
       FROM_HERE, base::Bind(&NetworkLocationProvider::RequestPosition,
                             weak_factory_.GetWeakPtr()),
       base::TimeDelta::FromSeconds(kDataCompleteWaitSeconds));
-  // Get the wifi data.
-  is_wifi_data_complete_ = wifi_data_provider_manager_->GetData(&wifi_data_);
-  if (is_wifi_data_complete_)
-    OnWifiDataUpdated();
+
+  OnWifiDataUpdate();
   return true;
 }
 
-void NetworkLocationProvider::OnWifiDataUpdated() {
-  DCHECK(CalledOnValidThread());
-  wifi_timestamp_ = base::Time::Now();
-
-  is_new_data_available_ = is_wifi_data_complete_;
-  RequestPosition();
-}
-
 void NetworkLocationProvider::StopProvider() {
-  DCHECK(CalledOnValidThread());
-  if (IsStarted()) {
-    wifi_data_provider_manager_->Unregister(&wifi_data_update_callback_);
-  }
+  DCHECK(thread_checker_.CalledOnValidThread());
+  DCHECK(IsStarted());
+  wifi_data_provider_manager_->Unregister(&wifi_data_update_callback_);
   wifi_data_provider_manager_ = nullptr;
   weak_factory_.InvalidateWeakPtrs();
 }
 
-// Other methods
-void NetworkLocationProvider::RequestPosition() {
-  DCHECK(CalledOnValidThread());
+const Geoposition& NetworkLocationProvider::GetPosition() {
+  return position_;
+}
 
-  // TODO(mcasas): consider not using HasWeakPtrs() https://crbug.com/629158.
-  if (weak_factory_.HasWeakPtrs() && !is_wifi_data_complete_)
+void NetworkLocationProvider::RequestPosition() {
+  DCHECK(thread_checker_.CalledOnValidThread());
+
+  if (!is_new_data_available_ || !is_wifi_data_complete_)
     return;
-  if (!is_new_data_available_)
-    return;
+  DCHECK(!wifi_timestamp_.is_null())
+      << "|wifi_timestamp_| must be set before looking up position";
 
   const Geoposition* cached_position =
       position_cache_->FindPosition(wifi_data_);
-  DCHECK(!wifi_timestamp_.is_null())
-      << "Timestamp must be set before looking up position";
   if (cached_position) {
     DCHECK(cached_position->Validate());
     // Record the position and update its timestamp.
@@ -255,16 +244,15 @@
   if (!is_permission_granted_)
     return;
 
-  weak_factory_.InvalidateWeakPtrs();
   is_new_data_available_ = false;
 
   // TODO(joth): Rather than cancel pending requests, we should create a new
   // NetworkLocationRequest for each and hold a set of pending requests.
-  if (request_->is_request_pending()) {
-    DVLOG(1) << "NetworkLocationProvider - pre-empting pending network request "
-                "with new data. Wifi APs: "
-             << wifi_data_.access_point_data.size();
-  }
+  DLOG_IF(WARNING, request_->is_request_pending())
+      << "NetworkLocationProvider - pre-empting pending network request "
+         "with new data. Wifi APs: "
+      << wifi_data_.access_point_data.size();
+
   request_->MakeRequest(access_token_, wifi_data_, wifi_timestamp_);
 }
 
diff --git a/device/geolocation/network_location_provider.h b/device/geolocation/network_location_provider.h
index dc3fb217..634da9a 100644
--- a/device/geolocation/network_location_provider.h
+++ b/device/geolocation/network_location_provider.h
@@ -15,8 +15,8 @@
 #include "base/memory/ref_counted.h"
 #include "base/memory/weak_ptr.h"
 #include "base/strings/string16.h"
-#include "base/threading/non_thread_safe.h"
 #include "base/threading/thread.h"
+#include "base/threading/thread_checker.h"
 #include "device/geolocation/geolocation_export.h"
 #include "device/geolocation/geoposition.h"
 #include "device/geolocation/location_provider.h"
@@ -26,8 +26,7 @@
 namespace device {
 class AccessTokenStore;
 
-class NetworkLocationProvider : public base::NonThreadSafe,
-                                public LocationProvider {
+class NetworkLocationProvider : public LocationProvider {
  public:
   // Cache of recently resolved locations. Public for tests.
   class DEVICE_GEOLOCATION_EXPORT PositionCache {
@@ -71,23 +70,20 @@
   ~NetworkLocationProvider() override;
 
   // LocationProvider implementation
-  void SetUpdateCallback(
-      const LocationProviderUpdateCallback& callback) override;
+  void SetUpdateCallback(const LocationProviderUpdateCallback& cb) override;
   bool StartProvider(bool high_accuracy) override;
   void StopProvider() override;
   const Geoposition& GetPosition() override;
   void OnPermissionGranted() override;
 
  private:
-  // Satisfies a position request from cache or network.
+  // Tries to update |position_| request from cache or network.
   void RequestPosition();
 
-  // Gets called when new wifi data is available.
+  // Gets called when new wifi data is available, either via explicit request to
+  // or callback from |wifi_data_provider_manager_|.
   void OnWifiDataUpdate();
 
-  // Internal helper used by OnWifiDataUpdate.
-  void OnWifiDataUpdated();
-
   bool IsStarted() const;
 
   void OnLocationResponse(const Geoposition& position,
@@ -97,7 +93,8 @@
 
   const scoped_refptr<AccessTokenStore> access_token_store_;
 
-  // The wifi data provider, acquired via global factories.
+  // The wifi data provider, acquired via global factories. Valid between
+  // StartProvider() and StopProvider(), and checked via IsStarted().
   WifiDataProviderManager* wifi_data_provider_manager_;
 
   WifiDataProviderManager::WifiDataUpdateCallback wifi_data_update_callback_;
@@ -125,11 +122,13 @@
   bool is_new_data_available_;
 
   // The network location request object, and the url it uses.
-  std::unique_ptr<NetworkLocationRequest> request_;
+  const std::unique_ptr<NetworkLocationRequest> request_;
 
   // The cache of positions.
   const std::unique_ptr<PositionCache> position_cache_;
 
+  base::ThreadChecker thread_checker_;
+
   base::WeakPtrFactory<NetworkLocationProvider> weak_factory_;
 
   DISALLOW_COPY_AND_ASSIGN(NetworkLocationProvider);
diff --git a/device/media_transfer_protocol/OWNERS b/device/media_transfer_protocol/OWNERS
index 9c18d8cf..7f803eb 100644
--- a/device/media_transfer_protocol/OWNERS
+++ b/device/media_transfer_protocol/OWNERS
@@ -1,4 +1,4 @@
 satorux@chromium.org
 thestig@chromium.org
 
-# COMPONENT: Internals>Media
+# COMPONENT: Platform>Apps>FileManager
diff --git a/device/vr/openvr/openvr_device.cc b/device/vr/openvr/openvr_device.cc
index 88f7f4a..0ced4955 100644
--- a/device/vr/openvr/openvr_device.cc
+++ b/device/vr/openvr/openvr_device.cc
@@ -24,6 +24,15 @@
   return out;
 }
 
+std::vector<float> HmdVector3ToWebVR(const vr::HmdVector3_t& vec) {
+  std::vector<float> out;
+  out.resize(3);
+  out[0] = vec.v[0];
+  out[1] = vec.v[1];
+  out[2] = vec.v[2];
+  return out;
+}
+
 }  // namespace
 
 namespace device {
@@ -164,6 +173,9 @@
     pose->position.value()[0] = m[0][3];
     pose->position.value()[1] = m[1][3];
     pose->position.value()[2] = m[2][3];
+
+    pose->linearVelocity = HmdVector3ToWebVR(hmdPose.vVelocity);
+    pose->angularVelocity = HmdVector3ToWebVR(hmdPose.vAngularVelocity);
   }
 
   return std::move(pose);
diff --git a/extensions/browser/api/cast_channel/cast_socket.cc b/extensions/browser/api/cast_channel/cast_socket.cc
index 9efe8f5..2952fcc9 100644
--- a/extensions/browser/api/cast_channel/cast_socket.cc
+++ b/extensions/browser/api/cast_channel/cast_socket.cc
@@ -311,13 +311,18 @@
   DoConnectCallback();
 }
 
+void CastSocketImpl::ResetConnectLoopCallback() {
+  DCHECK(connect_loop_callback_.IsCancelled());
+  connect_loop_callback_.Reset(
+      base::Bind(&CastSocketImpl::DoConnectLoop, base::Unretained(this)));
+}
+
 void CastSocketImpl::PostTaskToStartConnectLoop(int result) {
   DCHECK(CalledOnValidThread());
-  DCHECK(connect_loop_callback_.IsCancelled());
-  connect_loop_callback_.Reset(base::Bind(&CastSocketImpl::DoConnectLoop,
-                                          base::Unretained(this), result));
+
+  ResetConnectLoopCallback();
   base::ThreadTaskRunnerHandle::Get()->PostTask(
-      FROM_HERE, connect_loop_callback_.callback());
+      FROM_HERE, base::Bind(connect_loop_callback_.callback(), result));
 }
 
 // This method performs the state machine transitions for connection flow.
@@ -467,9 +472,8 @@
   VLOG_WITH_CONNECTION(1) << "Sending challenge: "
                           << CastMessageToString(challenge_message);
 
-  transport_->SendMessage(
-      challenge_message,
-      base::Bind(&CastSocketImpl::DoConnectLoop, base::Unretained(this)));
+  ResetConnectLoopCallback();
+  transport_->SendMessage(challenge_message, connect_loop_callback_.callback());
 
   // Always return IO_PENDING since the result is always asynchronous.
   return net::ERR_IO_PENDING;
@@ -592,7 +596,6 @@
   // Cancel callbacks that we queued ourselves to re-enter the connect or read
   // loops.
   connect_loop_callback_.Cancel();
-  send_auth_challenge_callback_.Cancel();
   connect_timeout_callback_.Cancel();
   SetReadyState(READY_STATE_CLOSED);
 }
diff --git a/extensions/browser/api/cast_channel/cast_socket.h b/extensions/browser/api/cast_channel/cast_socket.h
index 9423a48..cfff93f 100644
--- a/extensions/browser/api/cast_channel/cast_socket.h
+++ b/extensions/browser/api/cast_channel/cast_socket.h
@@ -285,7 +285,12 @@
   int DoAuthChallengeReplyComplete(int result);
   /////////////////////////////////////////////////////////////////////////////
 
-  // Schedules asynchrous connection loop processing in the MessageLoop.
+  // Resets the cancellable callback used for async invocations of
+  // DoConnectLoop.
+  void ResetConnectLoopCallback();
+
+  // Posts a task to invoke |connect_loop_callback_| with |result| on the
+  // current message loop.
   void PostTaskToStartConnectLoop(int result);
 
   // Runs the external connection callback and resets it.
@@ -379,13 +384,12 @@
   // The current status of the channel.
   ReadyState ready_state_;
 
-  // Task invoked to (re)start the connect loop.  Canceled on entry to the
-  // connect loop.
-  base::CancelableClosure connect_loop_callback_;
-
-  // Task invoked to send the auth challenge.  Canceled when the auth challenge
-  // has been sent.
-  base::CancelableClosure send_auth_challenge_callback_;
+  // Callback which, when invoked, will re-enter the connection state machine.
+  // Oustanding callbacks will be cancelled when |this| is destroyed.
+  // The callback signature is based on net::CompletionCallback, which passes
+  // operation result codes as byte counts in the success case, or as
+  // net::Error enum values for error cases.
+  base::CancelableCallback<void(int)> connect_loop_callback_;
 
   // Cast message formatting and parsing layer.
   std::unique_ptr<CastTransport> transport_;
diff --git a/extensions/browser/api/cast_channel/cast_socket_unittest.cc b/extensions/browser/api/cast_channel/cast_socket_unittest.cc
index 5a857b2..29fbf778 100644
--- a/extensions/browser/api/cast_channel/cast_socket_unittest.cc
+++ b/extensions/browser/api/cast_channel/cast_socket_unittest.cc
@@ -638,6 +638,23 @@
   EXPECT_EQ(cast_channel::CHANNEL_ERROR_SOCKET_ERROR, socket_->error_state());
 }
 
+// Test connection error - connection is destroyed after the challenge is
+// sent, with the async result still lurking in the task queue.
+TEST_F(CastSocketTest, TestConnectDestroyedAfterChallengeSent) {
+  CreateCastSocketSecure();
+  socket_->SetupMockTransport();
+  socket_->SetupTcpConnect(net::SYNCHRONOUS, net::OK);
+  socket_->SetupSslConnect(net::SYNCHRONOUS, net::OK);
+  EXPECT_CALL(*socket_->GetMockTransport(),
+              SendMessage(EqualsProto(CreateAuthChallenge()), _))
+      .WillOnce(PostCompletionCallbackTask<1>(net::ERR_CONNECTION_RESET));
+  socket_->Connect(std::move(delegate_),
+                   base::Bind(&CompleteHandler::OnConnectComplete,
+                              base::Unretained(&handler_)));
+  socket_.reset();
+  RunPendingTasks();
+}
+
 // Test connection error - challenge reply receive fails
 TEST_F(CastSocketTest, TestConnectChallengeReplyReceiveError) {
   CreateCastSocketSecure();
diff --git a/extensions/browser/content_hash_fetcher.cc b/extensions/browser/content_hash_fetcher.cc
index 4ed26faf..b637ce90 100644
--- a/extensions/browser/content_hash_fetcher.cc
+++ b/extensions/browser/content_hash_fetcher.cc
@@ -52,7 +52,8 @@
     : public base::RefCountedThreadSafe<ContentHashFetcherJob>,
       public net::URLFetcherDelegate {
  public:
-  typedef base::Callback<void(ContentHashFetcherJob*)> CompletionCallback;
+  using CompletionCallback =
+      base::Callback<void(scoped_refptr<ContentHashFetcherJob>)>;
   ContentHashFetcherJob(net::URLRequestContextGetter* request_context,
                         const ContentVerifierKey& key,
                         const std::string& extension_id,
@@ -444,7 +445,7 @@
     if (cancelled_)
       return;
   }
-  callback_.Run(this);
+  callback_.Run(make_scoped_refptr(this));
 }
 
 // ----
@@ -512,8 +513,13 @@
   }
 }
 
-void ContentHashFetcher::JobFinished(ContentHashFetcherJob* job) {
+void ContentHashFetcher::JobFinished(scoped_refptr<ContentHashFetcherJob> job) {
   if (!job->IsCancelled()) {
+    // Note: Run can result in ContentHashFetcher::ExtensionUnloaded.
+    //
+    // TODO(lazyboy): Add a unit test to cover the case where Run can result in
+    // ContentHashFetcher::ExtensionUnloaded, once https://crbug.com/702300 is
+    // fixed.
     fetch_callback_.Run(job->extension_id(),
                         job->success(),
                         job->force(),
@@ -521,7 +527,7 @@
   }
 
   for (JobMap::iterator i = jobs_.begin(); i != jobs_.end(); ++i) {
-    if (i->second.get() == job) {
+    if (i->second.get() == job.get()) {
       jobs_.erase(i);
       break;
     }
diff --git a/extensions/browser/content_hash_fetcher.h b/extensions/browser/content_hash_fetcher.h
index 9a08fe4..b77aa13 100644
--- a/extensions/browser/content_hash_fetcher.h
+++ b/extensions/browser/content_hash_fetcher.h
@@ -61,7 +61,7 @@
 
  private:
   // Callback for when a job getting content hashes has completed.
-  void JobFinished(ContentHashFetcherJob* job);
+  void JobFinished(scoped_refptr<ContentHashFetcherJob> job);
 
   net::URLRequestContextGetter* context_getter_;
   ContentVerifierDelegate* delegate_;
diff --git a/extensions/browser/renderer_startup_helper.cc b/extensions/browser/renderer_startup_helper.cc
index 55f6509..30bd75ee 100644
--- a/extensions/browser/renderer_startup_helper.cc
+++ b/extensions/browser/renderer_startup_helper.cc
@@ -23,7 +23,6 @@
 #include "extensions/common/extensions_client.h"
 #include "extensions/common/features/feature_channel.h"
 #include "extensions/common/features/feature_session_type.h"
-#include "extensions/common/permissions/permissions_data.h"
 #include "ui/base/webui/web_ui_util.h"
 
 using content::BrowserContext;
@@ -124,15 +123,6 @@
         WebViewGuest::GetPartitionID(process)));
   }
 
-  // Load default policy_blocked_hosts and policy_allowed_hosts settings, part
-  // of the ExtensionSettings policy.
-  ExtensionMsg_UpdateDefaultPolicyHostRestrictions_Params params;
-  params.default_policy_blocked_hosts =
-      PermissionsData::default_policy_blocked_hosts();
-  params.default_policy_allowed_hosts =
-      PermissionsData::default_policy_allowed_hosts();
-  process->Send(new ExtensionMsg_UpdateDefaultPolicyHostRestrictions(params));
-
   // Loaded extensions.
   std::vector<ExtensionMsg_Loaded_Params> loaded_extensions;
   BrowserContext* renderer_context = process->GetBrowserContext();
diff --git a/extensions/common/constants.cc b/extensions/common/constants.cc
index 7770085..c569a2d 100644
--- a/extensions/common/constants.cc
+++ b/extensions/common/constants.cc
@@ -112,8 +112,4 @@
     // Keep in sync with _api_features.json and _manifest_features.json.
 };
 
-// Error returned when scripting of a page is denied due to enterprise policy.
-const char kPolicyBlockedScripting[] =
-    "This page cannot be scripted due to an ExtensionsSettings policy.";
-
 }  // namespace extension_misc
diff --git a/extensions/common/constants.h b/extensions/common/constants.h
index 06f7f6f..587299f 100644
--- a/extensions/common/constants.h
+++ b/extensions/common/constants.h
@@ -220,9 +220,6 @@
 // Extension ids used by Hangouts.
 extern const char* const kHangoutsExtensionIds[6];
 
-// Error message when enterprise policy blocks scripting of webpage.
-extern const char kPolicyBlockedScripting[];
-
 }  // namespace extension_misc
 
 #endif  // EXTENSIONS_COMMON_CONSTANTS_H_
diff --git a/extensions/common/extension.h b/extensions/common/extension.h
index b87cc5f2dd..97c0ca6eb 100644
--- a/extensions/common/extension.h
+++ b/extensions/common/extension.h
@@ -542,7 +542,6 @@
   enum Reason {
     ADDED,    // The permissions were added to the extension.
     REMOVED,  // The permissions were removed from the extension.
-    POLICY,   // The policy that affects permissions was updated.
   };
 
   Reason reason;
diff --git a/extensions/common/extension_messages.cc b/extensions/common/extension_messages.cc
index 4998ca8d..8e56f09 100644
--- a/extensions/common/extension_messages.cc
+++ b/extensions/common/extension_messages.cc
@@ -64,14 +64,8 @@
       location(extension->location()),
       path(extension->path()),
       active_permissions(extension->permissions_data()->active_permissions()),
-      withheld_permissions(
-          extension->permissions_data()->withheld_permissions()),
-      policy_blocked_hosts(
-          extension->permissions_data()->policy_blocked_hosts()),
-      policy_allowed_hosts(
-          extension->permissions_data()->policy_allowed_hosts()),
-      uses_default_policy_blocked_allowed_hosts(
-          extension->permissions_data()->UsesDefaultPolicyHostRestrictions()),
+      withheld_permissions(extension->permissions_data()
+                               ->withheld_permissions()),
       id(extension->id()),
       creation_flags(extension->creation_flags()) {
   if (include_tab_permissions) {
@@ -98,12 +92,6 @@
         extension->permissions_data();
     permissions_data->SetPermissions(active_permissions.ToPermissionSet(),
                                      withheld_permissions.ToPermissionSet());
-    if (uses_default_policy_blocked_allowed_hosts) {
-      permissions_data->SetUsesDefaultHostRestrictions();
-    } else {
-      permissions_data->SetPolicyHostRestrictions(policy_blocked_hosts,
-                                                  policy_allowed_hosts);
-    }
     for (const auto& pair : tab_specific_permissions) {
       permissions_data->UpdateTabSpecificPermissions(
           pair.first, *pair.second.ToPermissionSet());
@@ -333,9 +321,6 @@
   GetParamSize(s, p.manifest_permissions);
   GetParamSize(s, p.explicit_hosts);
   GetParamSize(s, p.scriptable_hosts);
-  GetParamSize(s, p.policy_blocked_hosts);
-  GetParamSize(s, p.policy_allowed_hosts);
-  GetParamSize(s, p.uses_default_policy_host_restrictions);
 }
 
 void ParamTraits<ExtensionMsg_PermissionSetStruct>::Write(base::Pickle* m,
@@ -344,9 +329,6 @@
   WriteParam(m, p.manifest_permissions);
   WriteParam(m, p.explicit_hosts);
   WriteParam(m, p.scriptable_hosts);
-  WriteParam(m, p.policy_blocked_hosts);
-  WriteParam(m, p.policy_allowed_hosts);
-  WriteParam(m, p.uses_default_policy_host_restrictions);
 }
 
 bool ParamTraits<ExtensionMsg_PermissionSetStruct>::Read(
@@ -356,10 +338,7 @@
   return ReadParam(m, iter, &p->apis) &&
          ReadParam(m, iter, &p->manifest_permissions) &&
          ReadParam(m, iter, &p->explicit_hosts) &&
-         ReadParam(m, iter, &p->scriptable_hosts) &&
-         ReadParam(m, iter, &p->policy_blocked_hosts) &&
-         ReadParam(m, iter, &p->policy_allowed_hosts) &&
-         ReadParam(m, iter, &p->uses_default_policy_host_restrictions);
+         ReadParam(m, iter, &p->scriptable_hosts);
 }
 
 void ParamTraits<ExtensionMsg_PermissionSetStruct>::Log(const param_type& p,
@@ -368,9 +347,6 @@
   LogParam(p.manifest_permissions, l);
   LogParam(p.explicit_hosts, l);
   LogParam(p.scriptable_hosts, l);
-  LogParam(p.policy_blocked_hosts, l);
-  LogParam(p.policy_allowed_hosts, l);
-  LogParam(p.uses_default_policy_host_restrictions, l);
 }
 
 void ParamTraits<ExtensionMsg_Loaded_Params>::Write(base::Pickle* m,
@@ -383,9 +359,6 @@
   WriteParam(m, p.active_permissions);
   WriteParam(m, p.withheld_permissions);
   WriteParam(m, p.tab_specific_permissions);
-  WriteParam(m, p.policy_blocked_hosts);
-  WriteParam(m, p.policy_allowed_hosts);
-  WriteParam(m, p.uses_default_policy_blocked_allowed_hosts);
 }
 
 bool ParamTraits<ExtensionMsg_Loaded_Params>::Read(const base::Pickle* m,
@@ -397,10 +370,7 @@
          ReadParam(m, iter, &p->creation_flags) && ReadParam(m, iter, &p->id) &&
          ReadParam(m, iter, &p->active_permissions) &&
          ReadParam(m, iter, &p->withheld_permissions) &&
-         ReadParam(m, iter, &p->tab_specific_permissions) &&
-         ReadParam(m, iter, &p->policy_blocked_hosts) &&
-         ReadParam(m, iter, &p->policy_allowed_hosts) &&
-         ReadParam(m, iter, &p->uses_default_policy_blocked_allowed_hosts);
+         ReadParam(m, iter, &p->tab_specific_permissions);
 }
 
 void ParamTraits<ExtensionMsg_Loaded_Params>::Log(const param_type& p,
diff --git a/extensions/common/extension_messages.h b/extensions/common/extension_messages.h
index 78ed533..f7952e8 100644
--- a/extensions/common/extension_messages.h
+++ b/extensions/common/extension_messages.h
@@ -293,9 +293,6 @@
   extensions::ManifestPermissionSet manifest_permissions;
   extensions::URLPatternSet explicit_hosts;
   extensions::URLPatternSet scriptable_hosts;
-  extensions::URLPatternSet policy_blocked_hosts;
-  extensions::URLPatternSet policy_allowed_hosts;
-  bool uses_default_policy_host_restrictions;
 };
 
 struct ExtensionMsg_Loaded_Params {
@@ -324,14 +321,6 @@
   ExtensionMsg_PermissionSetStruct withheld_permissions;
   std::map<int, ExtensionMsg_PermissionSetStruct> tab_specific_permissions;
 
-  // Contains URLPatternSets defining which URLs an extension may not interact
-  // with by policy.
-  extensions::URLPatternSet policy_blocked_hosts;
-  extensions::URLPatternSet policy_allowed_hosts;
-
-  // If the extension uses the default list of blocked / allowed URLs.
-  bool uses_default_policy_blocked_allowed_hosts;
-
   // We keep this separate so that it can be used in logging.
   std::string id;
 
@@ -453,15 +442,6 @@
   IPC_STRUCT_MEMBER(std::string, extension_id)
   IPC_STRUCT_MEMBER(ExtensionMsg_PermissionSetStruct, active_permissions)
   IPC_STRUCT_MEMBER(ExtensionMsg_PermissionSetStruct, withheld_permissions)
-  IPC_STRUCT_MEMBER(extensions::URLPatternSet, policy_blocked_hosts)
-  IPC_STRUCT_MEMBER(extensions::URLPatternSet, policy_allowed_hosts)
-  IPC_STRUCT_MEMBER(bool, uses_default_policy_host_restrictions)
-IPC_STRUCT_END()
-
-// Parameters structure for ExtensionMsg_UpdateDefaultPolicyHostRestrictions.
-IPC_STRUCT_BEGIN(ExtensionMsg_UpdateDefaultPolicyHostRestrictions_Params)
-  IPC_STRUCT_MEMBER(extensions::URLPatternSet, default_policy_blocked_hosts)
-  IPC_STRUCT_MEMBER(extensions::URLPatternSet, default_policy_allowed_hosts)
 IPC_STRUCT_END()
 
 // Messages sent from the browser to the renderer:
@@ -568,10 +548,6 @@
 IPC_MESSAGE_CONTROL1(ExtensionMsg_UpdatePermissions,
                      ExtensionMsg_UpdatePermissions_Params)
 
-// Tell the renderer to update an extension's policy_blocked_hosts set.
-IPC_MESSAGE_CONTROL1(ExtensionMsg_UpdateDefaultPolicyHostRestrictions,
-                     ExtensionMsg_UpdateDefaultPolicyHostRestrictions_Params)
-
 // Tell the render view about new tab-specific permissions for an extension.
 IPC_MESSAGE_CONTROL5(ExtensionMsg_UpdateTabSpecificPermissions,
                      GURL /* url */,
diff --git a/extensions/common/permissions/permissions_data.cc b/extensions/common/permissions/permissions_data.cc
index fb9cecb..4025d23c 100644
--- a/extensions/common/permissions/permissions_data.cc
+++ b/extensions/common/permissions/permissions_data.cc
@@ -8,7 +8,6 @@
 #include <utility>
 
 #include "base/command_line.h"
-#include "base/lazy_instance.h"
 #include "base/macros.h"
 #include "content/public/common/url_constants.h"
 #include "extensions/common/constants.h"
@@ -31,17 +30,6 @@
 
 PermissionsData::PolicyDelegate* g_policy_delegate = nullptr;
 
-struct DefaultRuntimePolicy {
-  URLPatternSet blocked_hosts;
-  URLPatternSet allowed_hosts;
-};
-
-// URLs an extension can't interact with. An extension can override these
-// settings by declaring its own list of blocked and allowed hosts using
-// policy_blocked_hosts and policy_allowed_hosts.
-base::LazyInstance<DefaultRuntimePolicy>::Leaky default_runtime_policy =
-    LAZY_INSTANCE_INITIALIZER;
-
 class AutoLockOnValidThread {
  public:
   AutoLockOnValidThread(base::Lock& lock, base::ThreadChecker* thread_checker)
@@ -139,45 +127,6 @@
   return false;
 }
 
-bool PermissionsData::UsesDefaultPolicyHostRestrictions() const {
-  DCHECK(!thread_checker_ || thread_checker_->CalledOnValidThread());
-  return uses_default_policy_host_restrictions;
-}
-
-const URLPatternSet& PermissionsData::default_policy_blocked_hosts() {
-  return default_runtime_policy.Get().blocked_hosts;
-}
-
-const URLPatternSet& PermissionsData::default_policy_allowed_hosts() {
-  return default_runtime_policy.Get().allowed_hosts;
-}
-
-const URLPatternSet PermissionsData::policy_blocked_hosts() const {
-  base::AutoLock auto_lock(runtime_lock_);
-  return PolicyBlockedHostsUnsafe();
-}
-
-const URLPatternSet& PermissionsData::PolicyBlockedHostsUnsafe() const {
-  DCHECK(!thread_checker_ || thread_checker_->CalledOnValidThread());
-  if (uses_default_policy_host_restrictions)
-    return default_policy_blocked_hosts();
-  runtime_lock_.AssertAcquired();
-  return policy_blocked_hosts_unsafe_;
-}
-
-const URLPatternSet PermissionsData::policy_allowed_hosts() const {
-  base::AutoLock auto_lock(runtime_lock_);
-  return PolicyAllowedHostsUnsafe();
-}
-
-const URLPatternSet& PermissionsData::PolicyAllowedHostsUnsafe() const {
-  DCHECK(!thread_checker_ || thread_checker_->CalledOnValidThread());
-  if (uses_default_policy_host_restrictions)
-    return default_policy_allowed_hosts();
-  runtime_lock_.AssertAcquired();
-  return policy_allowed_hosts_unsafe_;
-}
-
 void PermissionsData::BindToCurrentThread() const {
   DCHECK(!thread_checker_);
   thread_checker_.reset(new base::ThreadChecker());
@@ -191,28 +140,6 @@
   withheld_permissions_unsafe_ = std::move(withheld);
 }
 
-void PermissionsData::SetPolicyHostRestrictions(
-    const URLPatternSet& runtime_blocked_hosts,
-    const URLPatternSet& runtime_allowed_hosts) const {
-  AutoLockOnValidThread lock(runtime_lock_, thread_checker_.get());
-  policy_blocked_hosts_unsafe_ = runtime_blocked_hosts;
-  policy_allowed_hosts_unsafe_ = runtime_allowed_hosts;
-  uses_default_policy_host_restrictions = false;
-}
-
-void PermissionsData::SetUsesDefaultHostRestrictions() const {
-  AutoLockOnValidThread lock(runtime_lock_, thread_checker_.get());
-  uses_default_policy_host_restrictions = true;
-}
-
-// static
-void PermissionsData::SetDefaultPolicyHostRestrictions(
-    const URLPatternSet& default_runtime_blocked_hosts,
-    const URLPatternSet& default_runtime_allowed_hosts) {
-  default_runtime_policy.Get().blocked_hosts = default_runtime_blocked_hosts;
-  default_runtime_policy.Get().allowed_hosts = default_runtime_allowed_hosts;
-}
-
 void PermissionsData::SetActivePermissions(
     std::unique_ptr<const PermissionSet> active) const {
   AutoLockOnValidThread lock(runtime_lock_, thread_checker_.get());
@@ -281,8 +208,7 @@
 
 bool PermissionsData::HasHostPermission(const GURL& url) const {
   base::AutoLock auto_lock(runtime_lock_);
-  return active_permissions_unsafe_->HasExplicitAccessToOrigin(url) &&
-         !IsRuntimeBlockedHost(url);
+  return active_permissions_unsafe_->HasExplicitAccessToOrigin(url);
 }
 
 bool PermissionsData::HasEffectiveAccessToAllHosts() const {
@@ -401,12 +327,6 @@
   return false;
 }
 
-bool PermissionsData::IsRuntimeBlockedHost(const GURL& url) const {
-  runtime_lock_.AssertAcquired();
-  return PolicyBlockedHostsUnsafe().MatchesURL(url) &&
-         !PolicyAllowedHostsUnsafe().MatchesURL(url);
-}
-
 PermissionsData::AccessType PermissionsData::CanRunOnPage(
     const Extension* extension,
     const GURL& document_url,
@@ -415,14 +335,9 @@
     const URLPatternSet& withheld_url_patterns,
     std::string* error) const {
   runtime_lock_.AssertAcquired();
-  if (g_policy_delegate && !g_policy_delegate->CanExecuteScriptOnPage(
-                               extension, document_url, tab_id, error))
-    return ACCESS_DENIED;
-
-  if (extension->location() != Manifest::COMPONENT &&
-      extension->permissions_data()->IsRuntimeBlockedHost(document_url)) {
-    if (error)
-      *error = extension_misc::kPolicyBlockedScripting;
+  if (g_policy_delegate &&
+      !g_policy_delegate->CanExecuteScriptOnPage(extension, document_url,
+                                                 tab_id, error)) {
     return ACCESS_DENIED;
   }
 
diff --git a/extensions/common/permissions/permissions_data.h b/extensions/common/permissions/permissions_data.h
index 6997403..3b87e79 100644
--- a/extensions/common/permissions/permissions_data.h
+++ b/extensions/common/permissions/permissions_data.h
@@ -82,10 +82,6 @@
                               const Extension* extension,
                               std::string* error);
 
-  // Is this extension using the default scope for policy_blocked_hosts and
-  // policy_allowed_hosts of the ExtensionSettings policy.
-  bool UsesDefaultPolicyHostRestrictions() const;
-
   // Locks the permissions data to the current thread. We don't do this on
   // construction, since extensions are initialized across multiple threads.
   void BindToCurrentThread() const;
@@ -95,27 +91,6 @@
   void SetPermissions(std::unique_ptr<const PermissionSet> active,
                       std::unique_ptr<const PermissionSet> withheld) const;
 
-  // Applies restrictions from enterprise policy limiting which URLs this
-  // extension can interact with. The same policy can also define a default set
-  // of URL restrictions using SetDefaultPolicyHostRestrictions. This function
-  // overrides any default host restriction policy.
-  void SetPolicyHostRestrictions(
-      const URLPatternSet& runtime_blocked_hosts,
-      const URLPatternSet& runtime_allowed_hosts) const;
-
-  // Marks this extension as using default enterprise policy limiting
-  // which URLs extensions can interact with. A default policy can be set with
-  // SetDefaultPolicyHostRestrictions. A policy specific to this extension
-  // can be set with SetPolicyHostRestrictions.
-  void SetUsesDefaultHostRestrictions() const;
-
-  // Applies restrictions from enterprise policy limiting which URLs all
-  // extensions can interact with. This restriction can be overridden on a
-  // per-extension basis with SetPolicyHostRestrictions.
-  static void SetDefaultPolicyHostRestrictions(
-      const URLPatternSet& default_runtime_blocked_hosts,
-      const URLPatternSet& default_runtime_allowed_hosts);
-
   // Sets the active permissions, leaving withheld the same.
   void SetActivePermissions(std::unique_ptr<const PermissionSet> active) const;
 
@@ -226,42 +201,11 @@
     return *withheld_permissions_unsafe_;
   }
 
-  // Returns list of hosts this extension may not interact with by policy.
-  // This should only be used for 1. Serialization when initializing renderers
-  // or 2. Called from utility methods above. For all other uses, call utility
-  // methods instead (e.g. CanAccessPage()).
-  static const URLPatternSet& default_policy_blocked_hosts();
-
-  // Returns list of hosts this extension may interact with regardless of
-  // what is defined by policy_blocked_hosts().
-  // This should only be used for 1. Serialization when initializing renderers
-  // or 2. Called from utility methods above. For all other uses, call utility
-  // methods instead (e.g. CanAccessPage()).
-  static const URLPatternSet& default_policy_allowed_hosts();
-
-  // Returns list of hosts this extension may not interact with by policy.
-  // This should only be used for 1. Serialization when initializing renderers
-  // or 2. Called from utility methods above. For all other uses, call utility
-  // methods instead (e.g. CanAccessPage()).
-  const URLPatternSet policy_blocked_hosts() const;
-
-  // Returns list of hosts this extension may interact with regardless of
-  // what is defined by policy_blocked_hosts().
-  // This should only be used for 1. Serialization when initializing renderers
-  // or 2. Called from utility methods above. For all other uses, call utility
-  // methods instead (e.g. CanAccessPage()).
-  const URLPatternSet policy_allowed_hosts() const;
-
 #if defined(UNIT_TEST)
   const PermissionSet* GetTabSpecificPermissionsForTesting(int tab_id) const {
     base::AutoLock auto_lock(runtime_lock_);
     return GetTabSpecificPermissions(tab_id);
   }
-
-  bool IsRuntimeBlockedHostForTesting(const GURL& url) const {
-    base::AutoLock auto_lock(runtime_lock_);
-    return IsRuntimeBlockedHost(url);
-  }
 #endif
 
  private:
@@ -289,17 +233,6 @@
                           const URLPatternSet& withheld_url_patterns,
                           std::string* error) const;
 
-  // Check if a specific URL is blocked by policy from extension use at runtime.
-  bool IsRuntimeBlockedHost(const GURL& url) const;
-
-  // Same as policy_blocked_hosts but instead returns a reference.
-  // You must acquire runtime_lock_ before calling this.
-  const URLPatternSet& PolicyBlockedHostsUnsafe() const;
-
-  // Same as policy_allowed_hosts but instead returns a reference.
-  // You must acquire runtime_lock_ before calling this.
-  const URLPatternSet& PolicyAllowedHostsUnsafe() const;
-
   // The associated extension's id.
   std::string extension_id_;
 
@@ -322,20 +255,6 @@
   // withheld_permissions() accessor.
   mutable std::unique_ptr<const PermissionSet> withheld_permissions_unsafe_;
 
-  // The list of hosts an extension may not interact with by policy.
-  // Unless you need to change |policy_blocked_hosts_unsafe_|, use the (safe)
-  // policy_blocked_hosts() accessor.
-  mutable URLPatternSet policy_blocked_hosts_unsafe_;
-
-  // The exclusive list of hosts an extension may interact with by policy.
-  // Unless you need to change |policy_allowed_hosts_unsafe_|, use the (safe)
-  // policy_allowed_hosts() accessor.
-  mutable URLPatternSet policy_allowed_hosts_unsafe_;
-
-  // If the ExtensionSettings policy is not being used, or no per-extension
-  // exception to the default policy was declared for this extension.
-  mutable bool uses_default_policy_host_restrictions = true;
-
   mutable TabPermissionsMap tab_specific_permissions_;
 
   mutable std::unique_ptr<base::ThreadChecker> thread_checker_;
diff --git a/extensions/common/url_pattern.cc b/extensions/common/url_pattern.cc
index dba84a5..5677fbc83 100644
--- a/extensions/common/url_pattern.cc
+++ b/extensions/common/url_pattern.cc
@@ -141,14 +141,12 @@
     : valid_schemes_(SCHEME_NONE),
       match_all_urls_(false),
       match_subdomains_(false),
-      match_effective_tld_(true),
       port_("*") {}
 
 URLPattern::URLPattern(int valid_schemes)
     : valid_schemes_(valid_schemes),
       match_all_urls_(false),
       match_subdomains_(false),
-      match_effective_tld_(true),
       port_("*") {}
 
 URLPattern::URLPattern(int valid_schemes, base::StringPiece pattern)
@@ -157,7 +155,6 @@
     : valid_schemes_(valid_schemes),
       match_all_urls_(false),
       match_subdomains_(false),
-      match_effective_tld_(true),
       port_("*") {
   ParseResult result = Parse(pattern);
   if (PARSE_SUCCESS != result)
@@ -186,15 +183,9 @@
 }
 
 URLPattern::ParseResult URLPattern::Parse(base::StringPiece pattern) {
-  return Parse(pattern, DENY_WILDCARD_FOR_EFFECTIVE_TLD);
-}
-
-URLPattern::ParseResult URLPattern::Parse(base::StringPiece pattern,
-                                          ParseOptions parse_options) {
   spec_.clear();
   SetMatchAllURLs(false);
   SetMatchSubdomains(false);
-  SetMatchEffectiveTld(true);
   SetPort("*");
 
   // Special case pattern to match every valid URL.
@@ -276,14 +267,6 @@
       host_components.erase(host_components.begin(),
                             host_components.begin() + 1);
     }
-
-    // If explicitly allowed, the last component can optionally be '*' to
-    // match all effective TLDs.
-    if (parse_options == ALLOW_WILDCARD_FOR_EFFECTIVE_TLD &&
-        host_components.size() > 1 && host_components.back() == "*") {
-      match_effective_tld_ = false;
-      host_components.pop_back();
-    }
     host_ = base::JoinString(host_components, ".");
 
     path_start_pos = host_end_pos;
@@ -338,11 +321,6 @@
   match_subdomains_ = val;
 }
 
-void URLPattern::SetMatchEffectiveTld(bool val) {
-  spec_.clear();
-  match_effective_tld_ = val;
-}
-
 bool URLPattern::SetScheme(base::StringPiece scheme) {
   spec_.clear();
   scheme.CopyToString(&scheme_);
@@ -443,19 +421,10 @@
 }
 
 bool URLPattern::MatchesHost(const GURL& test) const {
-  base::StringPiece test_host(CanonicalizeHostForMatching(test.host_piece()));
+  const base::StringPiece test_host(
+      CanonicalizeHostForMatching(test.host_piece()));
   const base::StringPiece pattern_host(CanonicalizeHostForMatching(host_));
 
-  // If we don't care about matching the effective TLD, remove it.
-  if (!match_effective_tld_) {
-    int reg_length = net::registry_controlled_domains::GetRegistryLength(
-        test, net::registry_controlled_domains::EXCLUDE_UNKNOWN_REGISTRIES,
-        net::registry_controlled_domains::EXCLUDE_PRIVATE_REGISTRIES);
-    if (reg_length > 0) {
-      test_host = test_host.substr(0, test_host.size() - reg_length - 1);
-    }
-  }
-
   // If the hosts are exactly equal, we have a match.
   if (test_host == pattern_host)
     return true;
@@ -560,12 +529,6 @@
     if (!host_.empty())
       spec += host_;
 
-    if (!match_effective_tld_) {
-      if (!host_.empty())
-        spec += ".";
-      spec += "*";
-    }
-
     if (port_ != "*") {
       spec += ":";
       spec += port_;
diff --git a/extensions/common/url_pattern.h b/extensions/common/url_pattern.h
index efb93fa..23f06878 100644
--- a/extensions/common/url_pattern.h
+++ b/extensions/common/url_pattern.h
@@ -81,12 +81,6 @@
     NUM_PARSE_RESULTS
   };
 
-  // Types of URLPattern that Parse() considers valid.
-  enum ParseOptions {
-    DENY_WILDCARD_FOR_EFFECTIVE_TLD,
-    ALLOW_WILDCARD_FOR_EFFECTIVE_TLD,
-  };
-
   // The <all_urls> string pattern.
   static const char kAllUrlsPattern[];
 
@@ -113,10 +107,8 @@
   // Initializes this instance by parsing the provided string. Returns
   // URLPattern::PARSE_SUCCESS on success, or an error code otherwise. On
   // failure, this instance will have some intermediate values and is in an
-  // invalid state. If you want to allow the match pattern to specify a wildcard
-  // for the effective TLD, specify in |parse_options|.
+  // invalid state.
   ParseResult Parse(base::StringPiece pattern_str);
-  ParseResult Parse(base::StringPiece pattern_str, ParseOptions parse_options);
 
   // Gets the bitmask of valid schemes.
   int valid_schemes() const { return valid_schemes_; }
@@ -131,15 +123,6 @@
   bool match_subdomains() const { return match_subdomains_; }
   void SetMatchSubdomains(bool val);
 
-  // Gets whether host() contains an effective TLD. If false, during
-  // a match, the URL you're comparing must have its TLD removed
-  // prior to comparison.
-  // e.g. For the match pattern https://google.com/*
-  //      If this is true: host() would be google.com
-  //      If this is false: host() would be google
-  bool match_effective_tld() const { return match_effective_tld_; }
-  void SetMatchEffectiveTld(bool val);
-
   // Gets the path the pattern matches with the leading slash. This can have
   // embedded asterisks which are interpreted using glob rules.
   const std::string& path() const { return path_; }
@@ -264,12 +247,6 @@
   // component of the pattern's host was "*".
   bool match_subdomains_;
 
-  // Whether we should match the effective TLD of the host. This is true by
-  // default and only false if ParseOptions is ALLOW_WILDCARD_FOR_EFFECTIVE_TLD
-  // and is only applicable when the the pattern's host ends with ".*"
-  // (e.g. https://example.*/*).
-  bool match_effective_tld_;
-
   // The port.
   std::string port_;
 
diff --git a/extensions/common/url_pattern_unittest.cc b/extensions/common/url_pattern_unittest.cc
index 8c29964..62419f6 100644
--- a/extensions/common/url_pattern_unittest.cc
+++ b/extensions/common/url_pattern_unittest.cc
@@ -17,32 +17,30 @@
 // See url_pattern.h for examples of valid and invalid patterns.
 
 static const int kAllSchemes =
-    URLPattern::SCHEME_HTTP |
-    URLPattern::SCHEME_HTTPS |
-    URLPattern::SCHEME_FILE |
-    URLPattern::SCHEME_FTP |
-    URLPattern::SCHEME_CHROMEUI |
-    URLPattern::SCHEME_EXTENSION |
-    URLPattern::SCHEME_FILESYSTEM;
+    URLPattern::SCHEME_HTTP | URLPattern::SCHEME_HTTPS |
+    URLPattern::SCHEME_FILE | URLPattern::SCHEME_FTP |
+    URLPattern::SCHEME_CHROMEUI | URLPattern::SCHEME_EXTENSION |
+    URLPattern::SCHEME_FILESYSTEM | URLPattern::SCHEME_WS |
+    URLPattern::SCHEME_WSS;
 
 TEST(ExtensionURLPatternTest, ParseInvalid) {
   const struct {
     const char* pattern;
     URLPattern::ParseResult expected_result;
   } kInvalidPatterns[] = {
-      {"http", URLPattern::PARSE_ERROR_MISSING_SCHEME_SEPARATOR},
-      {"http:", URLPattern::PARSE_ERROR_WRONG_SCHEME_SEPARATOR},
-      {"http:/", URLPattern::PARSE_ERROR_WRONG_SCHEME_SEPARATOR},
-      {"about://", URLPattern::PARSE_ERROR_WRONG_SCHEME_SEPARATOR},
-      {"http://", URLPattern::PARSE_ERROR_EMPTY_HOST},
-      {"http:///", URLPattern::PARSE_ERROR_EMPTY_HOST},
-      {"http:// /", URLPattern::PARSE_ERROR_EMPTY_HOST},
-      {"http://*foo/bar", URLPattern::PARSE_ERROR_INVALID_HOST_WILDCARD},
-      {"http://foo.*.bar/baz", URLPattern::PARSE_ERROR_INVALID_HOST_WILDCARD},
-      {"http://fo.*.ba:123/baz", URLPattern::PARSE_ERROR_INVALID_HOST_WILDCARD},
-      {"http:/bar", URLPattern::PARSE_ERROR_WRONG_SCHEME_SEPARATOR},
-      {"http://bar", URLPattern::PARSE_ERROR_EMPTY_PATH},
-      {"http://foo.*/bar", URLPattern::PARSE_ERROR_INVALID_HOST_WILDCARD}};
+    { "http", URLPattern::PARSE_ERROR_MISSING_SCHEME_SEPARATOR },
+    { "http:", URLPattern::PARSE_ERROR_WRONG_SCHEME_SEPARATOR },
+    { "http:/", URLPattern::PARSE_ERROR_WRONG_SCHEME_SEPARATOR },
+    { "about://", URLPattern::PARSE_ERROR_WRONG_SCHEME_SEPARATOR },
+    { "http://", URLPattern::PARSE_ERROR_EMPTY_HOST },
+    { "http:///", URLPattern::PARSE_ERROR_EMPTY_HOST },
+    { "http:// /", URLPattern::PARSE_ERROR_EMPTY_HOST },
+    { "http://*foo/bar", URLPattern::PARSE_ERROR_INVALID_HOST_WILDCARD },
+    { "http://foo.*.bar/baz", URLPattern::PARSE_ERROR_INVALID_HOST_WILDCARD },
+    { "http://fo.*.ba:123/baz", URLPattern::PARSE_ERROR_INVALID_HOST_WILDCARD },
+    { "http:/bar", URLPattern::PARSE_ERROR_WRONG_SCHEME_SEPARATOR },
+    { "http://bar", URLPattern::PARSE_ERROR_EMPTY_PATH },
+  };
 
   for (size_t i = 0; i < arraysize(kInvalidPatterns); ++i) {
     URLPattern pattern(URLPattern::SCHEME_ALL);
@@ -67,31 +65,30 @@
     URLPattern::ParseResult expected_result;
     const char* expected_port;
   } kTestPatterns[] = {
-      {"http://foo:1234/", URLPattern::PARSE_SUCCESS, "1234"},
-      {"http://foo:1234/bar", URLPattern::PARSE_SUCCESS, "1234"},
-      {"http://*.foo:1234/", URLPattern::PARSE_SUCCESS, "1234"},
-      {"http://*.foo:1234/bar", URLPattern::PARSE_SUCCESS, "1234"},
-      {"http://:1234/", URLPattern::PARSE_SUCCESS, "1234"},
-      {"http://foo:/", URLPattern::PARSE_ERROR_INVALID_PORT, "*"},
-      {"http://foo:*/", URLPattern::PARSE_SUCCESS, "*"},
-      {"http://*.foo:/", URLPattern::PARSE_ERROR_INVALID_PORT, "*"},
-      {"http://foo:com/", URLPattern::PARSE_ERROR_INVALID_PORT, "*"},
-      {"http://foo:123456/", URLPattern::PARSE_ERROR_INVALID_PORT, "*"},
-      {"http://foo:80:80/monkey", URLPattern::PARSE_ERROR_INVALID_PORT, "*"},
-      {"file://foo:1234/bar", URLPattern::PARSE_SUCCESS, "*"},
-      {"chrome://foo:1234/bar", URLPattern::PARSE_ERROR_INVALID_PORT, "*"},
+    { "http://foo:1234/", URLPattern::PARSE_SUCCESS, "1234" },
+    { "http://foo:1234/bar", URLPattern::PARSE_SUCCESS, "1234" },
+    { "http://*.foo:1234/", URLPattern::PARSE_SUCCESS, "1234" },
+    { "http://*.foo:1234/bar", URLPattern::PARSE_SUCCESS, "1234" },
+    { "http://:1234/", URLPattern::PARSE_SUCCESS, "1234" },
+    { "http://foo:/", URLPattern::PARSE_ERROR_INVALID_PORT, "*" },
+    { "http://foo:*/", URLPattern::PARSE_SUCCESS, "*" },
+    { "http://*.foo:/", URLPattern::PARSE_ERROR_INVALID_PORT, "*" },
+    { "http://foo:com/", URLPattern::PARSE_ERROR_INVALID_PORT, "*" },
+    { "http://foo:123456/", URLPattern::PARSE_ERROR_INVALID_PORT, "*" },
+    { "http://foo:80:80/monkey", URLPattern::PARSE_ERROR_INVALID_PORT, "*" },
+    { "file://foo:1234/bar", URLPattern::PARSE_SUCCESS, "*" },
+    { "chrome://foo:1234/bar", URLPattern::PARSE_ERROR_INVALID_PORT, "*" },
 
-      // Port-like strings in the path should not trigger a warning.
-      {"http://*/:1234", URLPattern::PARSE_SUCCESS, "*"},
-      {"http://*.foo/bar:1234", URLPattern::PARSE_SUCCESS, "*"},
-      {"http://foo/bar:1234/path", URLPattern::PARSE_SUCCESS, "*"},
-      {"http://*.foo.*/:1234", URLPattern::PARSE_SUCCESS, "*"}};
+    // Port-like strings in the path should not trigger a warning.
+    { "http://*/:1234", URLPattern::PARSE_SUCCESS, "*" },
+    { "http://*.foo/bar:1234", URLPattern::PARSE_SUCCESS, "*" },
+    { "http://foo/bar:1234/path", URLPattern::PARSE_SUCCESS, "*" },
+  };
 
   for (size_t i = 0; i < arraysize(kTestPatterns); ++i) {
     URLPattern pattern(URLPattern::SCHEME_ALL);
     EXPECT_EQ(kTestPatterns[i].expected_result,
-              pattern.Parse(kTestPatterns[i].pattern,
-                            URLPattern::ALLOW_WILDCARD_FOR_EFFECTIVE_TLD))
+              pattern.Parse(kTestPatterns[i].pattern))
         << "Got unexpected result for URL pattern: "
         << kTestPatterns[i].pattern;
     EXPECT_EQ(kTestPatterns[i].expected_port, pattern.port())
@@ -106,7 +103,6 @@
   EXPECT_EQ("http", pattern.scheme());
   EXPECT_EQ("", pattern.host());
   EXPECT_TRUE(pattern.match_subdomains());
-  EXPECT_TRUE(pattern.match_effective_tld());
   EXPECT_FALSE(pattern.match_all_urls());
   EXPECT_EQ("/*", pattern.path());
   EXPECT_TRUE(pattern.MatchesURL(GURL("http://google.com")));
@@ -123,7 +119,6 @@
   EXPECT_EQ("https", pattern.scheme());
   EXPECT_EQ("", pattern.host());
   EXPECT_TRUE(pattern.match_subdomains());
-  EXPECT_TRUE(pattern.match_effective_tld());
   EXPECT_FALSE(pattern.match_all_urls());
   EXPECT_EQ("/foo*", pattern.path());
   EXPECT_TRUE(pattern.MatchesURL(GURL("https://www.google.com/foo")));
@@ -142,7 +137,6 @@
   EXPECT_EQ("http", pattern.scheme());
   EXPECT_EQ("google.com", pattern.host());
   EXPECT_TRUE(pattern.match_subdomains());
-  EXPECT_TRUE(pattern.match_effective_tld());
   EXPECT_FALSE(pattern.match_all_urls());
   EXPECT_EQ("/foo*bar", pattern.path());
   EXPECT_TRUE(pattern.MatchesURL(GURL("http://google.com/foobar")));
@@ -163,7 +157,6 @@
   EXPECT_EQ("file", pattern.scheme());
   EXPECT_EQ("", pattern.host());
   EXPECT_FALSE(pattern.match_subdomains());
-  EXPECT_TRUE(pattern.match_effective_tld());
   EXPECT_FALSE(pattern.match_all_urls());
   EXPECT_EQ("/foo?bar\\*baz", pattern.path());
   EXPECT_TRUE(pattern.MatchesURL(GURL("file:///foo?bar\\hellobaz")));
@@ -177,7 +170,6 @@
   EXPECT_EQ("http", pattern.scheme());
   EXPECT_EQ("127.0.0.1", pattern.host());
   EXPECT_FALSE(pattern.match_subdomains());
-  EXPECT_TRUE(pattern.match_effective_tld());
   EXPECT_FALSE(pattern.match_all_urls());
   EXPECT_EQ("/*", pattern.path());
   EXPECT_TRUE(pattern.MatchesURL(GURL("http://127.0.0.1")));
@@ -191,7 +183,6 @@
   EXPECT_EQ("http", pattern.scheme());
   EXPECT_EQ("0.0.1", pattern.host());
   EXPECT_TRUE(pattern.match_subdomains());
-  EXPECT_TRUE(pattern.match_effective_tld());
   EXPECT_FALSE(pattern.match_all_urls());
   EXPECT_EQ("/*", pattern.path());
   // Subdomain matching is never done if the argument has an IP address host.
@@ -208,7 +199,6 @@
   EXPECT_EQ("http", pattern.scheme());
   EXPECT_EQ("xn--gkd", pattern.host());
   EXPECT_TRUE(pattern.match_subdomains());
-  EXPECT_TRUE(pattern.match_effective_tld());
   EXPECT_FALSE(pattern.match_all_urls());
   EXPECT_EQ("/a%C2%81%E1*", pattern.path());
   EXPECT_TRUE(pattern.MatchesURL(
@@ -224,7 +214,6 @@
   EXPECT_EQ("chrome", pattern.scheme());
   EXPECT_EQ("favicon", pattern.host());
   EXPECT_FALSE(pattern.match_subdomains());
-  EXPECT_TRUE(pattern.match_effective_tld());
   EXPECT_FALSE(pattern.match_all_urls());
   EXPECT_EQ("/*", pattern.path());
   EXPECT_TRUE(pattern.MatchesURL(GURL("chrome://favicon/http://google.com")));
@@ -242,7 +231,6 @@
   EXPECT_FALSE(pattern.MatchesScheme("file"));
   EXPECT_FALSE(pattern.MatchesScheme("ftp"));
   EXPECT_TRUE(pattern.match_subdomains());
-  EXPECT_TRUE(pattern.match_effective_tld());
   EXPECT_FALSE(pattern.match_all_urls());
   EXPECT_EQ("/*", pattern.path());
   EXPECT_TRUE(pattern.MatchesURL(GURL("http://127.0.0.1")));
@@ -262,7 +250,6 @@
   EXPECT_TRUE(pattern.MatchesScheme("filesystem"));
   EXPECT_TRUE(pattern.MatchesScheme("chrome-extension"));
   EXPECT_TRUE(pattern.match_subdomains());
-  EXPECT_TRUE(pattern.match_effective_tld());
   EXPECT_TRUE(pattern.match_all_urls());
   EXPECT_EQ("/*", pattern.path());
   EXPECT_TRUE(pattern.MatchesURL(GURL("chrome://favicon/http://google.com")));
@@ -298,7 +285,6 @@
   EXPECT_TRUE(pattern.MatchesScheme("about"));
   EXPECT_TRUE(pattern.MatchesScheme("chrome-extension"));
   EXPECT_TRUE(pattern.match_subdomains());
-  EXPECT_TRUE(pattern.match_effective_tld());
   EXPECT_TRUE(pattern.match_all_urls());
   EXPECT_EQ("/*", pattern.path());
   EXPECT_TRUE(pattern.MatchesURL(GURL("chrome://favicon/http://google.com")));
@@ -350,7 +336,6 @@
   EXPECT_EQ("", pattern.host());
   EXPECT_FALSE(pattern.match_subdomains());
   EXPECT_FALSE(pattern.match_all_urls());
-  EXPECT_TRUE(pattern.match_effective_tld());
   EXPECT_EQ("/foo*", pattern.path());
   EXPECT_FALSE(pattern.MatchesURL(GURL("file://foo")));
   EXPECT_FALSE(pattern.MatchesURL(GURL("file://foobar")));
@@ -367,7 +352,6 @@
   EXPECT_EQ("", pattern.host());
   EXPECT_FALSE(pattern.match_subdomains());
   EXPECT_FALSE(pattern.match_all_urls());
-  EXPECT_TRUE(pattern.match_effective_tld());
   EXPECT_EQ("/foo*", pattern.path());
   EXPECT_FALSE(pattern.MatchesURL(GURL("file://foo")));
   EXPECT_FALSE(pattern.MatchesURL(GURL("file://foobar")));
@@ -384,7 +368,6 @@
   // Since hostname is ignored for file://.
   EXPECT_EQ("", pattern.host());
   EXPECT_FALSE(pattern.match_subdomains());
-  EXPECT_TRUE(pattern.match_effective_tld());
   EXPECT_FALSE(pattern.match_all_urls());
   EXPECT_EQ("/foo*", pattern.path());
   EXPECT_FALSE(pattern.MatchesURL(GURL("file://foo")));
@@ -452,39 +435,6 @@
       GURL("filesystem:chrome-extension://ftw/t/file.txt")));
 }
 
-// effective TLD wildcard
-TEST(URLPatternTest, EffectiveTldWildcard) {
-  URLPattern pattern(kAllSchemes);
-  EXPECT_EQ(URLPattern::PARSE_SUCCESS,
-            pattern.Parse("http://*.google.*/foo*bar",
-                          URLPattern::ALLOW_WILDCARD_FOR_EFFECTIVE_TLD));
-  EXPECT_EQ("http", pattern.scheme());
-  EXPECT_EQ("google", pattern.host());
-  EXPECT_TRUE(pattern.match_subdomains());
-  EXPECT_FALSE(pattern.match_effective_tld());
-  EXPECT_FALSE(pattern.match_all_urls());
-  EXPECT_EQ("/foo*bar", pattern.path());
-  EXPECT_TRUE(pattern.MatchesURL(GURL("http://google.com/foobar")));
-  EXPECT_TRUE(pattern.MatchesURL(GURL("http://www.google.com.br/foo?bar")));
-  EXPECT_TRUE(
-      pattern.MatchesURL(GURL("http://monkey.images.google.co.uk/foooobar")));
-  EXPECT_FALSE(pattern.MatchesURL(GURL("http://yahoo.com/foobar")));
-  EXPECT_TRUE(pattern.MatchesURL(GURL("filesystem:http://google.com/foo/bar")));
-  EXPECT_FALSE(pattern.MatchesURL(
-      GURL("filesystem:http://google.com/temporary/foobar")));
-  URLPattern pattern_sub(kAllSchemes);
-  EXPECT_EQ(URLPattern::PARSE_SUCCESS,
-            pattern_sub.Parse("https://maps.google.*/",
-                              URLPattern::ALLOW_WILDCARD_FOR_EFFECTIVE_TLD));
-  EXPECT_EQ("https", pattern_sub.scheme());
-  EXPECT_EQ("maps.google", pattern_sub.host());
-  EXPECT_FALSE(pattern_sub.match_subdomains());
-  EXPECT_FALSE(pattern_sub.match_all_urls());
-  EXPECT_EQ("/", pattern_sub.path());
-  EXPECT_TRUE(pattern_sub.MatchesURL(GURL("https://maps.google.co.uk/")));
-  EXPECT_FALSE(pattern_sub.MatchesURL(GURL("https://sub.maps.google.co.uk/")));
-}
-
 static const struct GetAsStringPatterns {
   const char* pattern;
 } kGetAsStringTestCases[] = {
@@ -590,7 +540,7 @@
       URLPattern::SCHEME_FTP,
       "http://google.com/monkey").ConvertToExplicitSchemes());
 
-  ASSERT_EQ(7u, all_urls.size());
+  ASSERT_EQ(9u, all_urls.size());
   ASSERT_EQ(2u, all_schemes.size());
   ASSERT_EQ(1u, monkey.size());
 
@@ -599,6 +549,10 @@
   EXPECT_EQ("file:///*", all_urls[2].GetAsString());
   EXPECT_EQ("ftp://*/*", all_urls[3].GetAsString());
   EXPECT_EQ("chrome://*/*", all_urls[4].GetAsString());
+  EXPECT_EQ("chrome-extension://*/*", all_urls[5].GetAsString());
+  EXPECT_EQ("filesystem://*/*", all_urls[6].GetAsString());
+  EXPECT_EQ("ws://*/*", all_urls[7].GetAsString());
+  EXPECT_EQ("wss://*/*", all_urls[8].GetAsString());
 
   EXPECT_EQ("http://google.com/foo", all_schemes[0].GetAsString());
   EXPECT_EQ("https://google.com/foo", all_schemes[1].GetAsString());
diff --git a/extensions/renderer/dispatcher.cc b/extensions/renderer/dispatcher.cc
index c5c38777..421e3711 100644
--- a/extensions/renderer/dispatcher.cc
+++ b/extensions/renderer/dispatcher.cc
@@ -922,8 +922,6 @@
   IPC_MESSAGE_HANDLER(ExtensionMsg_TransferBlobs, OnTransferBlobs)
   IPC_MESSAGE_HANDLER(ExtensionMsg_Unloaded, OnUnloaded)
   IPC_MESSAGE_HANDLER(ExtensionMsg_UpdatePermissions, OnUpdatePermissions)
-  IPC_MESSAGE_HANDLER(ExtensionMsg_UpdateDefaultPolicyHostRestrictions,
-                      OnUpdateDefaultPolicyHostRestrictions)
   IPC_MESSAGE_HANDLER(ExtensionMsg_UpdateTabSpecificPermissions,
                       OnUpdateTabSpecificPermissions)
   IPC_MESSAGE_HANDLER(ExtensionMsg_ClearTabSpecificPermissions,
@@ -1047,6 +1045,7 @@
       extension_load_errors_[param.id] = error;
       continue;
     }
+
     RendererExtensionRegistry* extension_registry =
         RendererExtensionRegistry::Get();
     // TODO(kalman): This test is deliberately not a CHECK (though I wish it
@@ -1063,18 +1062,12 @@
       // consider making this a release CHECK.
       NOTREACHED();
     }
-    if (param.uses_default_policy_blocked_allowed_hosts) {
-      extension->permissions_data()->SetUsesDefaultHostRestrictions();
-    } else {
-      extension->permissions_data()->SetPolicyHostRestrictions(
-          param.policy_blocked_hosts, param.policy_allowed_hosts);
-    }
   }
 
   // Update the available bindings for all contexts. These may have changed if
   // an externally_connectable extension was loaded that can connect to an
   // open webpage.
-  UpdateBindings(std::string());
+  UpdateBindings("");
 }
 
 void Dispatcher::OnMessageInvoke(const std::string& extension_id,
@@ -1201,13 +1194,6 @@
   // extension's URL just won't match anything anymore.
 }
 
-void Dispatcher::OnUpdateDefaultPolicyHostRestrictions(
-    const ExtensionMsg_UpdateDefaultPolicyHostRestrictions_Params& params) {
-  PermissionsData::SetDefaultPolicyHostRestrictions(
-      params.default_policy_blocked_hosts, params.default_policy_allowed_hosts);
-  UpdateBindings(std::string());
-}
-
 void Dispatcher::OnUpdatePermissions(
     const ExtensionMsg_UpdatePermissions_Params& params) {
   const Extension* extension =
@@ -1227,12 +1213,6 @@
 
   extension->permissions_data()->SetPermissions(std::move(active),
                                                 std::move(withheld));
-  if (params.uses_default_policy_host_restrictions) {
-    extension->permissions_data()->SetUsesDefaultHostRestrictions();
-  } else {
-    extension->permissions_data()->SetPolicyHostRestrictions(
-        params.policy_blocked_hosts, params.policy_allowed_hosts);
-  }
   UpdateBindings(extension->id());
 }
 
diff --git a/extensions/renderer/dispatcher.h b/extensions/renderer/dispatcher.h
index 4ef3c004..29b7bb8 100644
--- a/extensions/renderer/dispatcher.h
+++ b/extensions/renderer/dispatcher.h
@@ -42,7 +42,6 @@
 struct ExtensionMsg_Loaded_Params;
 struct ExtensionMsg_TabConnectionInfo;
 struct ExtensionMsg_UpdatePermissions_Params;
-struct ExtensionMsg_UpdateDefaultPolicyHostRestrictions_Params;
 
 namespace blink {
 class WebLocalFrame;
@@ -184,8 +183,6 @@
   void OnTransferBlobs(const std::vector<std::string>& blob_uuids);
   void OnUnloaded(const std::string& id);
   void OnUpdatePermissions(const ExtensionMsg_UpdatePermissions_Params& params);
-  void OnUpdateDefaultPolicyHostRestrictions(
-      const ExtensionMsg_UpdateDefaultPolicyHostRestrictions_Params& params);
   void OnUpdateTabSpecificPermissions(const GURL& visible_url,
                                       const std::string& extension_id,
                                       const URLPatternSet& new_hosts,
diff --git a/extensions/renderer/module_system.cc b/extensions/renderer/module_system.cc
index 650e811..bbc96f3 100644
--- a/extensions/renderer/module_system.cc
+++ b/extensions/renderer/module_system.cc
@@ -23,6 +23,7 @@
 #include "extensions/renderer/script_context_set.h"
 #include "extensions/renderer/source_map.h"
 #include "extensions/renderer/v8_helpers.h"
+#include "gin/converter.h"
 #include "gin/modules/module_registry.h"
 #include "third_party/WebKit/public/web/WebFrame.h"
 
@@ -551,8 +552,22 @@
   DCHECK(!get_internal_api_.IsEmpty());
   v8::HandleScope scope(GetIsolate());
   if (source_map_->Contains(api_name)) {
+    // We need to load the custom bindings and store them in our modules.
+    // Storing them is important so that calls through CallModuleMethod() route
+    // to the proper objects, if they share the same name as an API.
+    v8::Local<v8::Value> modules;
+    if (!GetPrivate(context()->v8_context()->Global(), kModulesField,
+                    &modules) ||
+        !modules->IsObject()) {
+      NOTREACHED();
+      return;
+    }
+
     NativesEnabledScope enabled(this);
-    LoadModuleWithNativeAPIBridge(api_name, api_bridge_value);
+    v8::Local<v8::Value> exports =
+        LoadModuleWithNativeAPIBridge(api_name, api_bridge_value);
+    SetPrivateProperty(context()->v8_context(), modules.As<v8::Object>(),
+                       gin::StringToSymbol(GetIsolate(), api_name), exports);
   }
 }
 
diff --git a/extensions/test/test_content_utility_client.cc b/extensions/test/test_content_utility_client.cc
index fd01822a7..9e4e96b8 100644
--- a/extensions/test/test_content_utility_client.cc
+++ b/extensions/test/test_content_utility_client.cc
@@ -4,6 +4,12 @@
 
 #include "extensions/test/test_content_utility_client.h"
 
+#include "base/memory/ptr_util.h"
+#include "content/public/child/child_thread.h"
+#include "content/public/common/service_manager_connection.h"
+#include "content/public/common/simple_connection_filter.h"
+#include "services/service_manager/public/cpp/binder_registry.h"
+
 namespace extensions {
 
 TestContentUtilityClient::TestContentUtilityClient() = default;
@@ -12,11 +18,13 @@
 
 void TestContentUtilityClient::UtilityThreadStarted() {
   utility_handler::UtilityThreadStarted();
-}
 
-void TestContentUtilityClient::ExposeInterfacesToBrowser(
-    service_manager::InterfaceRegistry* registry) {
-  utility_handler::ExposeInterfacesToBrowser(registry, false);
+  auto registry = base::MakeUnique<service_manager::BinderRegistry>();
+  utility_handler::ExposeInterfacesToBrowser(registry.get(), false);
+  content::ChildThread::Get()
+      ->GetServiceManagerConnection()
+      ->AddConnectionFilter(base::MakeUnique<content::SimpleConnectionFilter>(
+          std::move(registry)));
 }
 
 }  // namespace extensions
diff --git a/extensions/test/test_content_utility_client.h b/extensions/test/test_content_utility_client.h
index 03578f55d..18531eb 100644
--- a/extensions/test/test_content_utility_client.h
+++ b/extensions/test/test_content_utility_client.h
@@ -17,8 +17,6 @@
 
   // content::ContentUtilityClient:
   void UtilityThreadStarted() override;
-  void ExposeInterfacesToBrowser(
-      service_manager::InterfaceRegistry* registry) override;
 };
 
 }  // namespace extensions
diff --git a/extensions/utility/utility_handler.cc b/extensions/utility/utility_handler.cc
index 4b8e4ac..b2260211 100644
--- a/extensions/utility/utility_handler.cc
+++ b/extensions/utility/utility_handler.cc
@@ -17,7 +17,7 @@
 #include "extensions/strings/grit/extensions_strings.h"
 #include "extensions/utility/unpacker.h"
 #include "mojo/public/cpp/bindings/strong_binding.h"
-#include "services/service_manager/public/cpp/interface_registry.h"
+#include "services/service_manager/public/cpp/binder_registry.h"
 #include "third_party/zlib/google/zip.h"
 #include "ui/base/l10n/l10n_util.h"
 #include "ui/base/ui_base_switches.h"
@@ -134,15 +134,17 @@
     extension_l10n_util::SetProcessLocale(lang);
 }
 
-void ExposeInterfacesToBrowser(service_manager::InterfaceRegistry* registry,
+void ExposeInterfacesToBrowser(service_manager::BinderRegistry* registry,
                                bool running_elevated) {
   // If our process runs with elevated privileges, only add elevated Mojo
   // interfaces to the interface registry.
   if (running_elevated)
     return;
 
-  registry->AddInterface(base::Bind(&ExtensionUnpackerImpl::Create));
-  registry->AddInterface(base::Bind(&ManifestParserImpl::Create));
+  registry->AddInterface(base::Bind(&ExtensionUnpackerImpl::Create),
+                         base::ThreadTaskRunnerHandle::Get());
+  registry->AddInterface(base::Bind(&ManifestParserImpl::Create),
+                         base::ThreadTaskRunnerHandle::Get());
 }
 
 }  // namespace utility_handler
diff --git a/extensions/utility/utility_handler.h b/extensions/utility/utility_handler.h
index 92d514e..c2a70e92 100644
--- a/extensions/utility/utility_handler.h
+++ b/extensions/utility/utility_handler.h
@@ -6,7 +6,7 @@
 #define EXTENSIONS_UTILITY_UTILITY_HANDLER_H_
 
 namespace service_manager {
-class InterfaceRegistry;
+class BinderRegistry;
 }
 
 namespace extensions {
@@ -15,7 +15,7 @@
 
 void UtilityThreadStarted();
 
-void ExposeInterfacesToBrowser(service_manager::InterfaceRegistry* registry,
+void ExposeInterfacesToBrowser(service_manager::BinderRegistry* registry,
                                bool running_elevated);
 
 }  // namespace utility_handler
diff --git a/gpu/PRESUBMIT.py b/gpu/PRESUBMIT.py
index b0c999a5..db256710 100644
--- a/gpu/PRESUBMIT.py
+++ b/gpu/PRESUBMIT.py
@@ -16,6 +16,9 @@
   to the regular CQ try bots. This test suite is too large to run
   against all Chromium commits, but should be run against changes
   likely to affect these tests.
+
+  When adding/removing tests here, ensure that both gpu/PRESUBMIT.py and
+  ui/gl/PRESUBMIT.py are updated.
   """
   return output_api.EnsureCQIncludeTrybotsAreAdded(
     cl,
diff --git a/gpu/config/gpu_control_list_testing_autogen.cc b/gpu/config/gpu_control_list_testing_autogen.cc
index fc93fbf..d7c17c1 100644
--- a/gpu/config/gpu_control_list_testing_autogen.cc
+++ b/gpu/config/gpu_control_list_testing_autogen.cc
@@ -17,8 +17,7 @@
 
 const char kGpuControlListTestingVersion[] = "1.0";
 
-const size_t kGpuControlListTestingEntryCount = 58;
-const GpuControlList::Entry kGpuControlListTestingEntries[58] = {
+const GpuControlList::Entry kGpuControlListTestingEntries[] = {
     {
         1,  // id
         "GpuControlListEntryTest.DetailedEntry",
@@ -1530,4 +1529,5 @@
         nullptr,  // exceptions
     },
 };
+const size_t kGpuControlListTestingEntryCount = 58;
 }  // namespace gpu
diff --git a/gpu/config/software_rendering_list.json b/gpu/config/software_rendering_list.json
index f3e6a67..dced8ff6 100644
--- a/gpu/config/software_rendering_list.json
+++ b/gpu/config/software_rendering_list.json
@@ -1,6 +1,6 @@
 {
   "name": "software rendering list",
-  "version": "13.2",
+  "version": "13.3",
   "entries": [
     {
       "id": 1,
@@ -1494,6 +1494,92 @@
       "features": [
         "webgl2"
       ]
+    },
+    {
+      "id": 141,
+      "description": "Disable use of D3D11/WebGL2 on Windows Vista and lower",
+      "os": {
+        "type": "win",
+        "version": {
+          "op": "<=",
+          "value": "6.0"
+        }
+      },
+      "features": [
+        "webgl2"
+      ]
+    },
+    {
+      "id": 142,
+      "description": "Disable D3D11/WebGL2 on older nVidia drivers",
+      "cr_bugs": [349929],
+      "os": {
+        "type": "win"
+      },
+      "vendor_id": "0x10de",
+      "driver_version": {
+        "op": "<=",
+        "value": "8.17.12.6973"
+      },
+      "features": [
+        "webgl2"
+      ]
+    },
+    {
+      "id": 143,
+      "description": "Disable use of D3D11/WebGL2 on Matrox video cards",
+      "cr_bugs": [395861],
+      "os": {
+        "type": "win"
+      },
+      "vendor_id": "0x102b",
+      "features": [
+        "webgl2"
+      ]
+    },
+    {
+      "id": 144,
+      "description": "Disable use of D3D11/WebGL2 on older AMD drivers",
+      "cr_bugs": [402134],
+      "os": {
+        "type": "win"
+      },
+      "vendor_id": "0x1002",
+      "driver_date": {
+        "op": "<",
+        "value": "2011.1"
+      },
+      "features": [
+        "webgl2"
+      ]
+    },
+    {
+      "id": 145,
+      "description": "Old Intel drivers cannot reliably support D3D11/WebGL2",
+      "cr_bugs": [363721],
+      "os": {
+        "type": "win"
+      },
+      "vendor_id": "0x8086",
+      "driver_version": {
+        "op": "<",
+        "value": "8.16"
+      },
+      "features": [
+        "webgl2"
+      ]
+    },
+    {
+      "id": 146,
+      "description": "Disable D3D11/WebGL2 on AMD switchable graphics",
+      "cr_bugs": [451420],
+      "os": {
+        "type": "win"
+      },
+      "multi_gpu_style": "amd_switchable",
+      "features": [
+        "webgl2"
+      ]
     }
   ],
   "comment": [
diff --git a/headless/public/util/deterministic_http_protocol_handler.cc b/headless/public/util/deterministic_http_protocol_handler.cc
index dd905b64..1f61f98 100644
--- a/headless/public/util/deterministic_http_protocol_handler.cc
+++ b/headless/public/util/deterministic_http_protocol_handler.cc
@@ -32,7 +32,6 @@
   void OnResourceLoadComplete(
       const Request* request,
       const GURL& final_url,
-      int http_response_code,
       scoped_refptr<net::HttpResponseHeaders> response_headers,
       const char* body,
       size_t body_size) override {}
diff --git a/headless/public/util/generic_url_request_job.cc b/headless/public/util/generic_url_request_job.cc
index b618913e..4cf9bdd 100644
--- a/headless/public/util/generic_url_request_job.cc
+++ b/headless/public/util/generic_url_request_job.cc
@@ -9,6 +9,7 @@
 
 #include "base/logging.h"
 #include "content/public/browser/devtools_agent_host.h"
+#include "content/public/browser/render_frame_host.h"
 #include "content/public/browser/resource_request_info.h"
 #include "content/public/browser/web_contents.h"
 #include "headless/public/util/url_request_dispatcher.h"
@@ -34,6 +35,8 @@
 
 }  // namespace
 
+uint64_t GenericURLRequestJob::next_request_id_ = 0;
+
 GenericURLRequestJob::GenericURLRequestJob(
     net::URLRequest* request,
     net::NetworkDelegate* network_delegate,
@@ -48,6 +51,7 @@
       delegate_(delegate),
       request_resource_info_(
           content::ResourceRequestInfo::ForRequest(request_)),
+      request_id_(next_request_id_++),
       weak_factory_(this) {}
 
 GenericURLRequestJob::~GenericURLRequestJob() {
@@ -110,12 +114,14 @@
   DCHECK(origin_task_runner_->RunsTasksOnCurrentThread());
   // TODO(alexclarke): Set user agent.
   // Pass cookies, the referrer and any extra headers into the fetch request.
-  extra_request_headers_.SetHeader(
-      net::HttpRequestHeaders::kCookie,
-      net::CookieStore::BuildCookieLine(cookie_list));
+  std::string cookie = net::CookieStore::BuildCookieLine(cookie_list);
+  if (!cookie.empty())
+    extra_request_headers_.SetHeader(net::HttpRequestHeaders::kCookie, cookie);
 
-  extra_request_headers_.SetHeader(net::HttpRequestHeaders::kReferer,
-                                   request_->referrer());
+  if (!request_->referrer().empty()) {
+    extra_request_headers_.SetHeader(net::HttpRequestHeaders::kReferer,
+                                     request_->referrer());
+  }
 
   done_callback.Run();
 }
@@ -128,21 +134,19 @@
 
 void GenericURLRequestJob::OnFetchComplete(
     const GURL& final_url,
-    int http_response_code,
     scoped_refptr<net::HttpResponseHeaders> response_headers,
     const char* body,
     size_t body_size) {
   DCHECK(origin_task_runner_->RunsTasksOnCurrentThread());
   response_time_ = base::TimeTicks::Now();
-  http_response_code_ = http_response_code;
   response_headers_ = response_headers;
   body_ = body;
   body_size_ = body_size;
 
   DispatchHeadersComplete();
 
-  delegate_->OnResourceLoadComplete(this, final_url, http_response_code,
-                                    response_headers_, body_, body_size_);
+  delegate_->OnResourceLoadComplete(this, final_url, response_headers_, body_,
+                                    body_size_);
 }
 
 int GenericURLRequestJob::ReadRawData(net::IOBuffer* buf, int buf_size) {
@@ -159,10 +163,6 @@
   return bytes_to_copy;
 }
 
-int GenericURLRequestJob::GetResponseCode() const {
-  return http_response_code_;
-}
-
 void GenericURLRequestJob::GetResponseInfo(net::HttpResponseInfo* info) {
   info->headers = response_headers_;
 }
@@ -185,12 +185,33 @@
   load_timing_info->receive_headers_end = response_time_;
 }
 
+uint64_t GenericURLRequestJob::GenericURLRequestJob::GetRequestId() const {
+  return request_id_;
+}
+
 const net::URLRequest* GenericURLRequestJob::GetURLRequest() const {
   return request_;
 }
 
 int GenericURLRequestJob::GetFrameTreeNodeId() const {
-  return request_resource_info_->GetFrameTreeNodeId();
+  // URLRequestUserData will be set for all renderer initiated resource
+  // requests, but not for browser side navigations.
+  int render_process_id;
+  int render_frame_id;
+  if (content::ResourceRequestInfo::GetRenderFrameForRequest(
+          request_, &render_process_id, &render_frame_id)) {
+    content::RenderFrameHost* render_frame_host =
+        content::RenderFrameHost::FromID(render_process_id, render_frame_id);
+    DCHECK(render_frame_host);
+    return render_frame_host->GetFrameTreeNodeId();
+  }
+  // ResourceRequestInfo::GetFrameTreeNodeId is only set for browser side
+  // navigations.
+  if (request_resource_info_)
+    return request_resource_info_->GetFrameTreeNodeId();
+
+  // This should only happen in tests.
+  return -1;
 }
 
 std::string GenericURLRequestJob::GetDevToolsAgentHostId() const {
@@ -200,6 +221,10 @@
 }
 
 Request::ResourceType GenericURLRequestJob::GetResourceType() const {
+  // This should only happen in some tests.
+  if (!request_resource_info_)
+    return Request::ResourceType::MAIN_FRAME;
+
   switch (request_resource_info_->GetResourceType()) {
     case content::RESOURCE_TYPE_MAIN_FRAME:
       return Request::ResourceType::MAIN_FRAME;
@@ -243,12 +268,11 @@
   }
 }
 
-namespace {
-std::string GetUploadData(net::URLRequest* request) {
-  if (!request->has_upload())
+std::string GenericURLRequestJob::GetPostData() const {
+  if (!request_->has_upload())
     return "";
 
-  const net::UploadDataStream* stream = request->get_upload();
+  const net::UploadDataStream* stream = request_->get_upload();
   if (!stream->GetElementReaders())
     return "";
 
@@ -257,7 +281,6 @@
       (*stream->GetElementReaders())[0]->AsBytesReader();
   return std::string(reader->bytes(), reader->length());
 }
-}  // namespace
 
 const Request* GenericURLRequestJob::GetRequest() const {
   return this;
@@ -271,9 +294,8 @@
     return;
   }
 
-  url_fetcher_->StartFetch(request_->url(), request_->method(),
-                           GetUploadData(request_), extra_request_headers_,
-                           this);
+  url_fetcher_->StartFetch(request_->url(), request_->method(), GetPostData(),
+                           extra_request_headers_, this);
 }
 
 void GenericURLRequestJob::BlockRequest(net::Error error) {
@@ -321,7 +343,6 @@
   mock_response_ = std::move(mock_response);
 
   OnFetchCompleteExtractHeaders(request_->url(),
-                                mock_response_->http_response_code,
                                 mock_response_->response_data.data(),
                                 mock_response_->response_data.size());
 }
diff --git a/headless/public/util/generic_url_request_job.h b/headless/public/util/generic_url_request_job.h
index da6a4972..8830934e 100644
--- a/headless/public/util/generic_url_request_job.h
+++ b/headless/public/util/generic_url_request_job.h
@@ -36,6 +36,8 @@
 // Wrapper around net::URLRequest with helpers to access select metadata.
 class Request {
  public:
+  virtual uint64_t GetRequestId() const = 0;
+
   virtual const net::URLRequest* GetURLRequest() const = 0;
 
   // The frame from which the request came from.
@@ -44,6 +46,9 @@
   // The devtools agent host id for the page where the request came from.
   virtual std::string GetDevToolsAgentHostId() const = 0;
 
+  // Gets the POST data, if any, from the net::URLRequest.
+  virtual std::string GetPostData() const = 0;
+
   enum class ResourceType {
     MAIN_FRAME = 0,
     SUB_FRAME = 1,
@@ -96,7 +101,6 @@
       const net::HttpRequestHeaders& request_headers) = 0;
 
   struct MockResponseData {
-    int http_response_code = 0;
     std::string response_data;
   };
 
@@ -140,7 +144,6 @@
     virtual void OnResourceLoadComplete(
         const Request* request,
         const GURL& final_url,
-        int http_response_code,
         scoped_refptr<net::HttpResponseHeaders> response_headers,
         const char* body,
         size_t body_size) = 0;
@@ -162,7 +165,6 @@
   void SetExtraRequestHeaders(const net::HttpRequestHeaders& headers) override;
   void Start() override;
   int ReadRawData(net::IOBuffer* buf, int buf_size) override;
-  int GetResponseCode() const override;
   void GetResponseInfo(net::HttpResponseInfo* info) override;
   bool GetMimeType(std::string* mime_type) const override;
   bool GetCharset(std::string* charset) override;
@@ -171,16 +173,17 @@
   // URLFetcher::FetchResultListener implementation:
   void OnFetchStartError(net::Error error) override;
   void OnFetchComplete(const GURL& final_url,
-                       int http_response_code,
                        scoped_refptr<net::HttpResponseHeaders> response_headers,
                        const char* body,
                        size_t body_size) override;
 
  protected:
   // Request implementation:
+  uint64_t GetRequestId() const override;
   const net::URLRequest* GetURLRequest() const override;
   int GetFrameTreeNodeId() const override;
   std::string GetDevToolsAgentHostId() const override;
+  std::string GetPostData() const override;
   ResourceType GetResourceType() const override;
 
   // PendingRequest implementation:
@@ -211,10 +214,11 @@
   Delegate* delegate_;          // Not owned.
   const content::ResourceRequestInfo* request_resource_info_;  // Not owned.
   const char* body_ = nullptr;  // Not owned.
-  int http_response_code_ = 0;
   size_t body_size_ = 0;
   size_t read_offset_ = 0;
   base::TimeTicks response_time_;
+  const uint64_t request_id_;
+  static uint64_t next_request_id_;
 
   base::WeakPtrFactory<GenericURLRequestJob> weak_factory_;
 
diff --git a/headless/public/util/generic_url_request_job_test.cc b/headless/public/util/generic_url_request_job_test.cc
index b4aec67..bb95a02 100644
--- a/headless/public/util/generic_url_request_job_test.cc
+++ b/headless/public/util/generic_url_request_job_test.cc
@@ -91,9 +91,6 @@
     ASSERT_TRUE(fetch_reply->GetAsDictionary(&reply_dictionary));
     std::string final_url;
     ASSERT_TRUE(reply_dictionary->GetString("url", &final_url));
-    int http_response_code;
-    ASSERT_TRUE(reply_dictionary->GetInteger("http_response_code",
-                                             &http_response_code));
     ASSERT_TRUE(reply_dictionary->GetString("data", &response_data_));
     base::DictionaryValue* reply_headers_dictionary;
     ASSERT_TRUE(
@@ -109,8 +106,8 @@
     }
 
     result_listener->OnFetchComplete(
-        GURL(final_url), http_response_code, std::move(response_headers),
-        response_data_.c_str(), response_data_.size());
+        GURL(final_url), std::move(response_headers), response_data_.c_str(),
+        response_data_.size());
   }
 
  private:
@@ -174,6 +171,24 @@
     return request;
   }
 
+  std::unique_ptr<net::URLRequest> CreateAndCompletePostJob(
+      const GURL& url,
+      const std::string& post_data,
+      const std::string& json_reply) {
+    json_fetch_reply_map_[url.spec()] = json_reply;
+
+    std::unique_ptr<net::URLRequest> request(url_request_context_.CreateRequest(
+        url, net::DEFAULT_PRIORITY, &request_delegate_));
+    request->set_method("POST");
+    request->set_upload(net::ElementsUploadDataStream::CreateWithReader(
+        base::MakeUnique<net::UploadBytesElementReader>(post_data.data(),
+                                                        post_data.size()),
+        0));
+    request->Start();
+    base::RunLoop().RunUntilIdle();
+    return request;
+  }
+
  protected:
   base::MessageLoop message_loop_;
   ExpeditedDispatcher dispatcher_;
@@ -193,7 +208,6 @@
   json_fetch_reply_map_["https://example.com/"] = R"(
       {
         "url": "https://example.com",
-        "http_response_code": 200,
         "data": "Reply",
         "headers": {
           "Content-Type": "text/html; charset=UTF-8"
@@ -215,7 +229,6 @@
         "method": "GET",
         "headers": {
           "Accept": "text/plain",
-          "Cookie": "",
           "Extra-Header": "Value",
           "Referer": "https://referrer.example.com/",
           "User-Agent": "TestBrowser"
@@ -229,7 +242,6 @@
   json_fetch_reply_map_["https://example.com/"] = R"(
       {
         "url": "https://example.com",
-        "http_response_code": 200,
         "data": "Reply",
         "headers": {
           "Content-Type": "text/html; charset=UTF-8"
@@ -259,7 +271,6 @@
         "post_data": "lorem ipsom",
         "headers": {
           "Accept": "text/plain",
-          "Cookie": "",
           "Extra-Header": "Value",
           "Referer": "https://referrer.example.com/",
           "User-Agent": "TestBrowser"
@@ -273,7 +284,6 @@
   std::string reply = R"(
       {
         "url": "https://example.com",
-        "http_response_code": 200,
         "data": "Reply",
         "headers": {
           "Content-Type": "text/html; charset=UTF-8"
@@ -303,7 +313,6 @@
   std::string reply = R"(
       {
         "url": "https://example.com",
-        "http_response_code": 200,
         "data": "Reply",
         "headers": {
           "Content-Type": "text/html; charset=UTF-8"
@@ -329,7 +338,6 @@
   std::string reply = R"(
       {
         "url": "https://example.com",
-        "http_response_code": 200,
         "data": "Reply",
         "headers": {
           "Content-Type": "text/html; charset=UTF-8"
@@ -416,7 +424,6 @@
   std::string reply = R"(
       {
         "url": "https://example.com",
-        "http_response_code": 200,
         "data": "Reply",
         "headers": {
           "Content-Type": "text/html; charset=UTF-8"
@@ -431,8 +438,7 @@
         "url": "https://example.com/",
         "method": "GET",
         "headers": {
-          "Cookie": "basic_cookie=1; secure_cookie=2; http_only_cookie=3",
-          "Referer": ""
+          "Cookie": "basic_cookie=1; secure_cookie=2; http_only_cookie=3"
         }
       })";
 
@@ -443,7 +449,6 @@
   std::string reply = R"(
       {
         "url": "https://example.com",
-        "http_response_code": 200,
         "data": "Reply",
         "headers": {
           "Content-Type": "text/html; charset=UTF-8"
@@ -465,7 +470,6 @@
   json_fetch_reply_map_["https://example.com/"] = R"(
       {
         "url": "https://example.com",
-        "http_response_code": 200,
         "data": "Welcome to example.com",
         "headers": {
           "Content-Type": "text/html; charset=UTF-8"
@@ -475,7 +479,6 @@
   json_fetch_reply_map_["https://othersite.com/"] = R"(
       {
         "url": "https://example.com",
-        "http_response_code": 200,
         "data": "Welcome to othersite.com",
         "headers": {
           "Content-Type": "text/html; charset=UTF-8"
@@ -525,7 +528,6 @@
   std::string reply = R"(
       {
         "url": "https://example.com",
-        "http_response_code": 200,
         "data": "Reply",
         "headers": {
           "Content-Type": "text/html; charset=UTF-8"
@@ -535,7 +537,6 @@
   job_delegate_.SetPolicy(base::Bind([](PendingRequest* pending_request) {
     std::unique_ptr<GenericURLRequestJob::MockResponseData> mock_response_data(
         new GenericURLRequestJob::MockResponseData());
-    mock_response_data->http_response_code = 404;
     mock_response_data->response_data = "HTTP/1.1 404 Not Found\r\n\r\n";
     pending_request->MockResponse(std::move(mock_response_data));
   }));
@@ -552,7 +553,6 @@
         "https://example.com/") {
       std::unique_ptr<GenericURLRequestJob::MockResponseData>
           mock_response_data(new GenericURLRequestJob::MockResponseData());
-      mock_response_data->http_response_code = 302;
       mock_response_data->response_data =
           "HTTP/1.1 302 Found\r\n"
           "Location: https://foo.com/\r\n\r\n";
@@ -565,7 +565,6 @@
   json_fetch_reply_map_["https://example.com/"] = R"(
       {
         "url": "https://example.com",
-        "http_response_code": 200,
         "data": "Welcome to example.com",
         "headers": {
           "Content-Type": "text/html; charset=UTF-8"
@@ -575,7 +574,6 @@
   json_fetch_reply_map_["https://foo.com/"] = R"(
       {
         "url": "https://example.com",
-        "http_response_code": 200,
         "data": "Welcome to foo.com",
         "headers": {
           "Content-Type": "text/html; charset=UTF-8"
@@ -609,4 +607,55 @@
   base::RunLoop().RunUntilIdle();
 }
 
+TEST_F(GenericURLRequestJobTest, RequestsHaveDistinctIds) {
+  std::string reply = R"(
+      {
+        "url": "https://example.com",
+        "http_response_code": 200,
+        "data": "Reply",
+        "headers": {
+          "Content-Type": "text/html; charset=UTF-8"
+        }
+      })";
+
+  std::set<uint64_t> ids;
+  job_delegate_.SetPolicy(base::Bind(
+      [](std::set<uint64_t>* ids, PendingRequest* pending_request) {
+        ids->insert(pending_request->GetRequest()->GetRequestId());
+        pending_request->AllowRequest();
+      },
+      &ids));
+
+  CreateAndCompleteGetJob(GURL("https://example.com"), reply);
+  CreateAndCompleteGetJob(GURL("https://example.com"), reply);
+  CreateAndCompleteGetJob(GURL("https://example.com"), reply);
+
+  // We expect three distinct ids.
+  EXPECT_EQ(3u, ids.size());
+}
+
+TEST_F(GenericURLRequestJobTest, GetPostData) {
+  std::string reply = R"(
+      {
+        "url": "https://example.com",
+        "http_response_code": 200,
+        "data": "Reply",
+        "headers": {
+          "Content-Type": "text/html; charset=UTF-8"
+        }
+      })";
+
+  std::string post_data;
+  job_delegate_.SetPolicy(base::Bind(
+      [](std::string* post_data, PendingRequest* pending_request) {
+        *post_data = pending_request->GetRequest()->GetPostData();
+        pending_request->AllowRequest();
+      },
+      &post_data));
+
+  CreateAndCompletePostJob(GURL("https://example.com"), "payload", reply);
+
+  EXPECT_EQ("payload", post_data);
+}
+
 }  // namespace headless
diff --git a/headless/public/util/http_url_fetcher.cc b/headless/public/util/http_url_fetcher.cc
index ac40607..f21052b 100644
--- a/headless/public/util/http_url_fetcher.cc
+++ b/headless/public/util/http_url_fetcher.cc
@@ -182,8 +182,7 @@
   // |request->response_info()| that we drop here.  Find a way to pipe it
   // through.
   result_listener_->OnFetchComplete(
-      request->url(), request->GetResponseCode(),
-      request->response_info().headers,
+      request->url(), request->response_info().headers,
       bytes_read_so_far_.c_str(), bytes_read_so_far_.size());
 }
 
diff --git a/headless/public/util/testing/generic_url_request_mocks.cc b/headless/public/util/testing/generic_url_request_mocks.cc
index 4a7d37de..c047e051 100644
--- a/headless/public/util/testing/generic_url_request_mocks.cc
+++ b/headless/public/util/testing/generic_url_request_mocks.cc
@@ -4,6 +4,8 @@
 
 #include "headless/public/util/testing/generic_url_request_mocks.h"
 
+#include <utility>
+
 #include "base/logging.h"
 #include "base/threading/thread_task_runner_handle.h"
 
@@ -29,7 +31,7 @@
 }
 
 void MockGenericURLRequestJobDelegate::SetPolicy(Policy policy) {
-  policy_ = policy;
+  policy_ = std::move(policy);
 }
 
 void MockGenericURLRequestJobDelegate::ApplyPolicy(
@@ -48,7 +50,6 @@
 void MockGenericURLRequestJobDelegate::OnResourceLoadComplete(
     const Request* request,
     const GURL& final_url,
-    int http_response_code,
     scoped_refptr<net::HttpResponseHeaders> response_headers,
     const char* body,
     size_t body_size) {}
diff --git a/headless/public/util/testing/generic_url_request_mocks.h b/headless/public/util/testing/generic_url_request_mocks.h
index 218c3ce..94e0e5c0 100644
--- a/headless/public/util/testing/generic_url_request_mocks.h
+++ b/headless/public/util/testing/generic_url_request_mocks.h
@@ -31,7 +31,6 @@
   void OnResourceLoadComplete(
       const Request* request,
       const GURL& final_url,
-      int http_response_code,
       scoped_refptr<net::HttpResponseHeaders> response_headers,
       const char* body,
       size_t body_size) override;
diff --git a/headless/public/util/url_fetcher.cc b/headless/public/util/url_fetcher.cc
index 8d8d33f..70256e6a 100644
--- a/headless/public/util/url_fetcher.cc
+++ b/headless/public/util/url_fetcher.cc
@@ -14,7 +14,6 @@
 
 void URLFetcher::ResultListener::OnFetchCompleteExtractHeaders(
     const GURL& final_url,
-    int http_response_code,
     const char* response_data,
     size_t response_data_size) {
   size_t read_offset = 0;
@@ -32,7 +31,7 @@
   }
 
   CHECK_LE(read_offset, response_data_size);
-  OnFetchComplete(final_url, http_response_code, std::move(response_headers),
+  OnFetchComplete(final_url, std::move(response_headers),
                   response_data + read_offset,
                   response_data_size - read_offset);
 }
diff --git a/headless/public/util/url_fetcher.h b/headless/public/util/url_fetcher.h
index df0cc0ff..9dfc08a 100644
--- a/headless/public/util/url_fetcher.h
+++ b/headless/public/util/url_fetcher.h
@@ -41,7 +41,6 @@
     // valid until the fetcher is destroyed,
     virtual void OnFetchComplete(
         const GURL& final_url,
-        int http_response_code,
         scoped_refptr<net::HttpResponseHeaders> response_headers,
         const char* body,
         size_t body_size) = 0;
@@ -49,7 +48,6 @@
     // Helper function which extracts the headers from |response_data| and calls
     // OnFetchComplete.
     void OnFetchCompleteExtractHeaders(const GURL& final_url,
-                                       int http_response_code,
                                        const char* response_data,
                                        size_t response_data_size);
 
diff --git a/ios/chrome/app/strings/ios_strings.grd b/ios/chrome/app/strings/ios_strings.grd
index b53e4328f..1a98919b 100644
--- a/ios/chrome/app/strings/ios_strings.grd
+++ b/ios/chrome/app/strings/ios_strings.grd
@@ -543,9 +543,6 @@
       <message name="IDS_IOS_CONTENT_CONTEXT_SAVEIMAGE" desc="The name of the Save Image As command in the content area context menu">
         Save Image
       </message>
-      <message name="IDS_IOS_CONTENT_CONTEXT_DOWNLOADIMAGE" desc="The name of the Download Image command in the content area context menu">
-        Download Image
-      </message>
       <message name="IDS_IOS_CONTENT_SUGGESTIONS_DELETE" desc="The name of the Delete command in the Content Suggestions articles context menu">
         Delete
       </message>
diff --git a/ios/chrome/browser/about_flags.mm b/ios/chrome/browser/about_flags.mm
index bc0a1c4..a04dd41 100644
--- a/ios/chrome/browser/about_flags.mm
+++ b/ios/chrome/browser/about_flags.mm
@@ -191,16 +191,6 @@
     command_line->AppendSwitch(switches::kDisablePaymentRequest);
   }
 
-  // Populate command line flag for the Rename "Save Image" to "Download Image"
-  // experiment.
-  NSString* enableDownloadRenaming =
-      [defaults stringForKey:@"EnableDownloadRenaming"];
-  if ([enableDownloadRenaming isEqualToString:@"Enabled"]) {
-    command_line->AppendSwitch(switches::kEnableDownloadImageRenaming);
-  } else if ([enableDownloadRenaming isEqualToString:@"Disabled"]) {
-    command_line->AppendSwitch(switches::kDisableDownloadImageRenaming);
-  }
-
   // Populate command line flag for Suggestions UI display.
   NSString* enableSuggestions = [defaults stringForKey:@"EnableSuggestions"];
   if ([enableSuggestions isEqualToString:@"Enabled"]) {
diff --git a/ios/chrome/browser/chrome_switches.cc b/ios/chrome/browser/chrome_switches.cc
index 6e6b734..6f73b44e 100644
--- a/ios/chrome/browser/chrome_switches.cc
+++ b/ios/chrome/browser/chrome_switches.cc
@@ -47,9 +47,6 @@
 // Disables Physical Web scanning for nearby URLs.
 const char kDisableIOSPhysicalWeb[] = "disable-ios-physical-web";
 
-// Disables the string change from "Save Image" to "Download Image".
-const char kDisableDownloadImageRenaming[] = "disable-download-image-renaming";
-
 // Disables the Suggestions UI
 const char kDisableSuggestionsUI[] = "disable-suggestions-ui";
 
@@ -90,9 +87,6 @@
 // Enables Physical Web scanning for nearby URLs.
 const char kEnableIOSPhysicalWeb[] = "enable-ios-physical-web";
 
-// Enables the string change from "Save Image" to "Download Image".
-const char kEnableDownloadImageRenaming[] = "enable-download-image-renaming";
-
 // Enables the Suggestions UI
 const char kEnableSuggestionsUI[] = "enable-suggestions-ui";
 
diff --git a/ios/chrome/browser/chrome_switches.h b/ios/chrome/browser/chrome_switches.h
index aaac82d..322636f3 100644
--- a/ios/chrome/browser/chrome_switches.h
+++ b/ios/chrome/browser/chrome_switches.h
@@ -20,7 +20,6 @@
 extern const char kDisablePaymentRequest[];
 extern const char kDisableTabStripAutoScrollNewTabs[];
 extern const char kDisableIOSPhysicalWeb[];
-extern const char kDisableDownloadImageRenaming[];
 extern const char kDisableSuggestionsUI[];
 
 extern const char kEnableContextualSearch[];
@@ -35,7 +34,6 @@
 extern const char kEnableReaderModeToolbarIcon[];
 extern const char kEnableSpotlightActions[];
 extern const char kEnableIOSPhysicalWeb[];
-extern const char kEnableDownloadImageRenaming[];
 extern const char kEnableSuggestionsUI[];
 
 extern const char kIOSForceVariationIds[];
diff --git a/ios/chrome/browser/experimental_flags.h b/ios/chrome/browser/experimental_flags.h
index 5cb7b85..3ab4110 100644
--- a/ios/chrome/browser/experimental_flags.h
+++ b/ios/chrome/browser/experimental_flags.h
@@ -46,9 +46,6 @@
 // Whether auto-reload is enabled.
 bool IsAutoReloadEnabled();
 
-// Whether "Save Image" should be renamed as "Download Image".
-bool IsDownloadRenamingEnabled();
-
 // Whether the external applicaiton prompt is enabled.
 bool IsExternalApplicationPromptEnabled();
 
diff --git a/ios/chrome/browser/experimental_flags.mm b/ios/chrome/browser/experimental_flags.mm
index c410716..1ae41b0d 100644
--- a/ios/chrome/browser/experimental_flags.mm
+++ b/ios/chrome/browser/experimental_flags.mm
@@ -44,9 +44,6 @@
 NSString* const kSafariVCSignInDisabled = @"SafariVCSignInDisabled";
 NSString* const kWhatsNewPromoStatus = @"WhatsNewPromoStatus";
 
-const base::Feature kIOSDownloadImageRenaming{
-    "IOSDownloadImageRenaming", base::FEATURE_DISABLED_BY_DEFAULT};
-
 }  // namespace
 
 namespace experimental_flags {
@@ -94,19 +91,6 @@
                           base::CompareCase::INSENSITIVE_ASCII);
 }
 
-bool IsDownloadRenamingEnabled() {
-  // Check if the experimental flag is forced on or off.
-  base::CommandLine* command_line = base::CommandLine::ForCurrentProcess();
-  if (command_line->HasSwitch(switches::kEnableDownloadImageRenaming)) {
-    return true;
-  } else if (command_line->HasSwitch(switches::kDisableDownloadImageRenaming)) {
-    return false;
-  }
-
-  // Check if the finch experiment is turned on.
-  return base::FeatureList::IsEnabled(kIOSDownloadImageRenaming);
-}
-
 bool IsExternalApplicationPromptEnabled() {
   return ![[NSUserDefaults standardUserDefaults]
       boolForKey:kExternalAppPromptDisabled];
diff --git a/ios/chrome/browser/find_in_page/find_tab_helper.mm b/ios/chrome/browser/find_in_page/find_tab_helper.mm
index fd68d43..6653c59 100644
--- a/ios/chrome/browser/find_in_page/find_tab_helper.mm
+++ b/ios/chrome/browser/find_in_page/find_tab_helper.mm
@@ -64,8 +64,8 @@
 }
 
 void FindTabHelper::StopFinding(ProceduralBlock completion) {
-  [controller_ disableFindInPageWithCompletionHandler:completion];
   SetFindUIActive(false);
+  [controller_ disableFindInPageWithCompletionHandler:completion];
 }
 
 FindInPageModel* FindTabHelper::GetFindResult() const {
diff --git a/ios/chrome/browser/payments/BUILD.gn b/ios/chrome/browser/payments/BUILD.gn
index 0f778bf..e353acd 100644
--- a/ios/chrome/browser/payments/BUILD.gn
+++ b/ios/chrome/browser/payments/BUILD.gn
@@ -41,9 +41,8 @@
     "payment_request_view_controller_actions.h",
     "shipping_address_selection_coordinator.h",
     "shipping_address_selection_coordinator.mm",
-    "shipping_address_selection_view_controller.h",
-    "shipping_address_selection_view_controller.mm",
-    "shipping_address_selection_view_controller_actions.h",
+    "shipping_address_selection_mediator.h",
+    "shipping_address_selection_mediator.mm",
     "shipping_option_selection_coordinator.h",
     "shipping_option_selection_coordinator.mm",
     "shipping_option_selection_view_controller.h",
@@ -97,10 +96,15 @@
     "payment_request_picker_row.mm",
     "payment_request_picker_view_controller.h",
     "payment_request_picker_view_controller.mm",
+    "payment_request_selector_view_controller.h",
+    "payment_request_selector_view_controller.mm",
+    "payment_request_selector_view_controller_actions.h",
+    "payment_request_selector_view_controller_data_source.h",
   ]
   deps = [
     "//base",
     "//components/strings",
+    "//ios/chrome/app/strings:ios_strings_grit",
     "//ios/chrome/app/theme",
     "//ios/chrome/browser/payments/cells",
     "//ios/chrome/browser/ui",
@@ -108,6 +112,7 @@
     "//ios/chrome/browser/ui/autofill/cells",
     "//ios/chrome/browser/ui/collection_view",
     "//ios/chrome/browser/ui/colors",
+    "//ios/chrome/browser/ui/icons",
     "//ios/third_party/material_components_ios",
     "//ui/base",
   ]
@@ -127,12 +132,12 @@
     "payment_request_coordinator_unittest.mm",
     "payment_request_error_coordinator_unittest.mm",
     "payment_request_error_view_controller_unittest.mm",
+    "payment_request_selector_view_controller_unittest.mm",
     "payment_request_test_util.h",
     "payment_request_test_util.mm",
     "payment_request_unittest.mm",
     "payment_request_view_controller_unittest.mm",
     "shipping_address_selection_coordinator_unittest.mm",
-    "shipping_address_selection_view_controller_unittest.mm",
     "shipping_option_selection_coordinator_unittest.mm",
     "shipping_option_selection_view_controller_unittest.mm",
   ]
diff --git a/ios/chrome/browser/payments/cells/autofill_profile_item.mm b/ios/chrome/browser/payments/cells/autofill_profile_item.mm
index 4e82bfa..3f2476e 100644
--- a/ios/chrome/browser/payments/cells/autofill_profile_item.mm
+++ b/ios/chrome/browser/payments/cells/autofill_profile_item.mm
@@ -131,7 +131,7 @@
 
 // Set constraints on subviews.
 - (void)setViewConstraints {
-  AddSameSizeConstraint(self.contentView, _stackView);
+  AddSameConstraints(self.contentView, _stackView);
 }
 
 #pragma mark - UIView
diff --git a/ios/chrome/browser/payments/payment_request_selector_view_controller.h b/ios/chrome/browser/payments/payment_request_selector_view_controller.h
new file mode 100644
index 0000000..d9e1efe
--- /dev/null
+++ b/ios/chrome/browser/payments/payment_request_selector_view_controller.h
@@ -0,0 +1,57 @@
+// 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 IOS_CHROME_BROWSER_PAYMENTS_PAYMENT_REQUEST_SELECTOR_VIEW_CONTROLLER_H_
+#define IOS_CHROME_BROWSER_PAYMENTS_PAYMENT_REQUEST_SELECTOR_VIEW_CONTROLLER_H_
+
+#import <UIKit/UIKit.h>
+
+#import "ios/chrome/browser/ui/collection_view/collection_view_controller.h"
+
+@class PaymentRequestSelectorViewController;
+@protocol PaymentRequestSelectorViewControllerDataSource;
+
+// Delegate protocol for PaymentRequestSelectorViewController.
+@protocol PaymentRequestSelectorViewControllerDelegate<NSObject>
+
+// Notifies the delegate that the user has selected an item at the given index.
+- (void)paymentRequestSelectorViewController:
+            (PaymentRequestSelectorViewController*)controller
+                        didSelectItemAtIndex:(NSUInteger)index;
+
+// Notifies the delegate that the user has chosen to add an item.
+- (void)paymentRequestSelectorViewControllerDidSelectAddItem:
+    (PaymentRequestSelectorViewController*)controller;
+
+// Notifies the delegate that the user has chosen to return to the previous
+// screen without making a selection.
+- (void)paymentRequestSelectorViewControllerDidFinish:
+    (PaymentRequestSelectorViewController*)controller;
+
+@end
+
+// View controller responsible for presenting a list of items provided by the
+// supplied data source for selection by the user and communicating the choice
+// to the supplied delegate. It displays an optional header item provided by the
+// data source above the list of selectable items. The list is followed by an
+// optional button to add an item.
+@interface PaymentRequestSelectorViewController : CollectionViewController
+
+// The delegate to be notified when the user selects an item, returns without
+// selection, or decides to add an item.
+@property(nonatomic, weak) id<PaymentRequestSelectorViewControllerDelegate>
+    delegate;
+
+// The data source for this view controller.
+@property(nonatomic, weak) id<PaymentRequestSelectorViewControllerDataSource>
+    dataSource;
+
+// Convenience initializer. Initializes this object with the
+// CollectionViewControllerStyleAppBar style and sets up the leading (back)
+// button.
+- (instancetype)init;
+
+@end
+
+#endif  // IOS_CHROME_BROWSER_PAYMENTS_PAYMENT_REQUEST_SELECTOR_VIEW_CONTROLLER_H_
diff --git a/ios/chrome/browser/payments/payment_request_selector_view_controller.mm b/ios/chrome/browser/payments/payment_request_selector_view_controller.mm
new file mode 100644
index 0000000..d0e3b18a
--- /dev/null
+++ b/ios/chrome/browser/payments/payment_request_selector_view_controller.mm
@@ -0,0 +1,232 @@
+// 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 "ios/chrome/browser/payments/payment_request_selector_view_controller.h"
+
+#include "base/mac/foundation_util.h"
+#include "components/strings/grit/components_strings.h"
+#import "ios/chrome/browser/payments/cells/payments_text_item.h"
+#import "ios/chrome/browser/payments/payment_request_selector_view_controller_actions.h"
+#import "ios/chrome/browser/payments/payment_request_selector_view_controller_data_source.h"
+#import "ios/chrome/browser/ui/autofill/cells/status_item.h"
+#import "ios/chrome/browser/ui/collection_view/cells/MDCCollectionViewCell+Chrome.h"
+#import "ios/chrome/browser/ui/collection_view/cells/collection_view_item+collection_view_controller.h"
+#import "ios/chrome/browser/ui/collection_view/cells/collection_view_item.h"
+#import "ios/chrome/browser/ui/collection_view/collection_view_model.h"
+#import "ios/chrome/browser/ui/colors/MDCPalette+CrAdditions.h"
+#import "ios/chrome/browser/ui/icons/chrome_icon.h"
+#include "ios/chrome/grit/ios_strings.h"
+#import "ios/third_party/material_components_ios/src/components/Typography/src/MaterialTypography.h"
+#include "ui/base/l10n/l10n_util.h"
+
+#if !defined(__has_feature) || !__has_feature(objc_arc)
+#error "This file requires ARC support."
+#endif
+
+namespace {
+
+NSString* const kPaymentRequestSelectorCollectionViewAccessibilityID =
+    @"kPaymentRequestSelectorCollectionViewAccessibilityID";
+
+const CGFloat kSeparatorEdgeInset = 14;
+
+typedef NS_ENUM(NSInteger, SectionIdentifier) {
+  SectionIdentifierItems = kSectionIdentifierEnumZero,
+};
+
+typedef NS_ENUM(NSInteger, ItemType) {
+  ItemTypeHeader = kItemTypeEnumZero,
+  ItemTypeSelectableItem,  // This is a repeated item type.
+  ItemTypeSpinner,
+  ItemTypeAddItem,
+};
+
+}  // namespace
+
+@interface PaymentRequestSelectorViewController ()<
+    PaymentRequestSelectorViewControllerActions>
+
+@end
+
+@implementation PaymentRequestSelectorViewController
+
+@synthesize delegate = _delegate;
+@synthesize dataSource = _dataSource;
+
+- (instancetype)init {
+  if ((self = [super initWithStyle:CollectionViewControllerStyleAppBar])) {
+    // Set up leading (back) button.
+    UIBarButtonItem* backButton =
+        [ChromeIcon templateBarButtonItemWithImage:[ChromeIcon backIcon]
+                                            target:nil
+                                            action:@selector(onBack)];
+    backButton.accessibilityLabel = l10n_util::GetNSString(IDS_ACCNAME_BACK);
+    self.navigationItem.leftBarButtonItem = backButton;
+  }
+  return self;
+}
+
+#pragma mark - PaymentRequestSelectorViewControllerActions
+
+- (void)onBack {
+  [self.delegate paymentRequestSelectorViewControllerDidFinish:self];
+}
+
+#pragma mark - CollectionViewController methods
+
+- (void)loadModel {
+  [super loadModel];
+  CollectionViewModel* model = self.collectionViewModel;
+
+  [model addSectionWithIdentifier:SectionIdentifierItems];
+
+  // If the view controller is in the pending state, only display a spinner and
+  // a message indicating the pending state.
+  if (self.dataSource.state == PaymentRequestSelectorStatePending) {
+    StatusItem* statusItem = [[StatusItem alloc] initWithType:ItemTypeSpinner];
+    statusItem.state = StatusItemState::VERIFYING;
+    statusItem.text = l10n_util::GetNSString(IDS_PAYMENTS_CHECKING_OPTION);
+    [model addItem:statusItem toSectionWithIdentifier:SectionIdentifierItems];
+    return;
+  }
+
+  CollectionViewItem* headerItem = [self.dataSource headerItem];
+  if (headerItem) {
+    headerItem.type = ItemTypeHeader;
+    [model addItem:headerItem toSectionWithIdentifier:SectionIdentifierItems];
+  }
+
+  [self.dataSource.selectableItems
+      enumerateObjectsUsingBlock:^(
+          CollectionViewItem<PaymentsHasAccessoryType>* item, NSUInteger index,
+          BOOL* stop) {
+        item.type = ItemTypeSelectableItem;
+        item.accessibilityTraits |= UIAccessibilityTraitButton;
+        item.accessoryType = (index == self.dataSource.selectedItemIndex)
+                                 ? MDCCollectionViewCellAccessoryCheckmark
+                                 : MDCCollectionViewCellAccessoryNone;
+        [model addItem:item toSectionWithIdentifier:SectionIdentifierItems];
+      }];
+
+  CollectionViewItem* addButtonItem = [self.dataSource addButtonItem];
+  if (addButtonItem) {
+    addButtonItem.type = ItemTypeAddItem;
+    addButtonItem.accessibilityTraits |= UIAccessibilityTraitButton;
+    [model addItem:addButtonItem
+        toSectionWithIdentifier:SectionIdentifierItems];
+  }
+}
+
+- (void)viewDidLoad {
+  [super viewDidLoad];
+  self.collectionView.accessibilityIdentifier =
+      kPaymentRequestSelectorCollectionViewAccessibilityID;
+
+  // Customize collection view settings.
+  self.styler.cellStyle = MDCCollectionViewCellStyleCard;
+  self.styler.separatorInset =
+      UIEdgeInsetsMake(0, kSeparatorEdgeInset, 0, kSeparatorEdgeInset);
+}
+
+#pragma mark UICollectionViewDataSource
+
+- (UICollectionViewCell*)collectionView:(UICollectionView*)collectionView
+                 cellForItemAtIndexPath:(nonnull NSIndexPath*)indexPath {
+  CollectionViewModel* model = self.collectionViewModel;
+
+  UICollectionViewCell* cell =
+      [super collectionView:collectionView cellForItemAtIndexPath:indexPath];
+
+  NSInteger itemType = [model itemTypeForIndexPath:indexPath];
+  switch (itemType) {
+    case ItemTypeHeader: {
+      if ([cell isKindOfClass:[PaymentsTextCell class]]) {
+        PaymentsTextCell* textCell =
+            base::mac::ObjCCastStrict<PaymentsTextCell>(cell);
+        textCell.textLabel.textColor =
+            self.dataSource.state == PaymentRequestSelectorStateError
+                ? [[MDCPalette cr_redPalette] tint600]
+                : [[MDCPalette greyPalette] tint600];
+      }
+      break;
+    }
+    default:
+      break;
+  }
+
+  return cell;
+}
+
+#pragma mark UICollectionViewDelegate
+
+- (void)collectionView:(UICollectionView*)collectionView
+    didSelectItemAtIndexPath:(NSIndexPath*)indexPath {
+  [super collectionView:collectionView didSelectItemAtIndexPath:indexPath];
+
+  CollectionViewModel* model = self.collectionViewModel;
+
+  CollectionViewItem<PaymentsHasAccessoryType>* item =
+      [model itemAtIndexPath:indexPath];
+  switch (item.type) {
+    case ItemTypeSelectableItem: {
+      // Update the currently selected cell, if any.
+      if (self.dataSource.selectedItemIndex != NSUIntegerMax) {
+        CollectionViewItem<PaymentsHasAccessoryType>* selectedItem =
+            [self.dataSource
+                selectableItemAtIndex:self.dataSource.selectedItemIndex];
+        selectedItem.accessoryType = MDCCollectionViewCellAccessoryNone;
+        [self reconfigureCellsForItems:@[ selectedItem ]
+               inSectionWithIdentifier:SectionIdentifierItems];
+      }
+
+      // Update the newly selected cell.
+      item.accessoryType = MDCCollectionViewCellAccessoryCheckmark;
+      [self reconfigureCellsForItems:@[ item ]
+             inSectionWithIdentifier:SectionIdentifierItems];
+
+      // Notify the delegate of the selection.
+      NSUInteger index =
+          [self.collectionViewModel indexInItemTypeForIndexPath:indexPath];
+      DCHECK(index < [[self.dataSource selectableItems] count]);
+      [self.delegate paymentRequestSelectorViewController:self
+                                     didSelectItemAtIndex:index];
+      break;
+    }
+    case ItemTypeAddItem: {
+      [self.delegate paymentRequestSelectorViewControllerDidSelectAddItem:self];
+      break;
+    }
+    default:
+      break;
+  }
+}
+
+#pragma mark MDCCollectionViewStylingDelegate
+
+- (CGFloat)collectionView:(UICollectionView*)collectionView
+    cellHeightAtIndexPath:(NSIndexPath*)indexPath {
+  CollectionViewItem* item =
+      [self.collectionViewModel itemAtIndexPath:indexPath];
+
+  UIEdgeInsets inset = [self collectionView:collectionView
+                                     layout:collectionView.collectionViewLayout
+                     insetForSectionAtIndex:indexPath.section];
+
+  return [MDCCollectionViewCell
+      cr_preferredHeightForWidth:CGRectGetWidth(collectionView.bounds) -
+                                 inset.left - inset.right
+                         forItem:item];
+}
+
+- (BOOL)collectionView:(UICollectionView*)collectionView
+    hidesInkViewAtIndexPath:(NSIndexPath*)indexPath {
+  NSInteger type = [self.collectionViewModel itemTypeForIndexPath:indexPath];
+  if (type == ItemTypeHeader) {
+    return YES;
+  } else {
+    return NO;
+  }
+}
+
+@end
diff --git a/ios/chrome/browser/payments/payment_request_selector_view_controller_actions.h b/ios/chrome/browser/payments/payment_request_selector_view_controller_actions.h
new file mode 100644
index 0000000..77cec5f
--- /dev/null
+++ b/ios/chrome/browser/payments/payment_request_selector_view_controller_actions.h
@@ -0,0 +1,17 @@
+// 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 IOS_CHROME_BROWSER_PAYMENTS_PAYMENT_REQUEST_SELECTOR_VIEW_CONTROLLER_ACTIONS_H_
+#define IOS_CHROME_BROWSER_PAYMENTS_PAYMENT_REQUEST_SELECTOR_VIEW_CONTROLLER_ACTIONS_H_
+
+// Protocol handling the actions sent by the
+// PaymentRequestSelectorViewController.
+@protocol PaymentRequestSelectorViewControllerActions
+
+// Called when the user presses the back button.
+- (void)onBack;
+
+@end
+
+#endif  // IOS_CHROME_BROWSER_PAYMENTS_PAYMENT_REQUEST_SELECTOR_VIEW_CONTROLLER_ACTIONS_H_
diff --git a/ios/chrome/browser/payments/payment_request_selector_view_controller_data_source.h b/ios/chrome/browser/payments/payment_request_selector_view_controller_data_source.h
new file mode 100644
index 0000000..18843bf
--- /dev/null
+++ b/ios/chrome/browser/payments/payment_request_selector_view_controller_data_source.h
@@ -0,0 +1,51 @@
+// 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 IOS_CHROME_BROWSER_PAYMENTS_PAYMENT_REQUEST_SELECTOR_VIEW_CONTROLLER_DATA_SOURCE_H_
+#define IOS_CHROME_BROWSER_PAYMENTS_PAYMENT_REQUEST_SELECTOR_VIEW_CONTROLLER_DATA_SOURCE_H_
+
+#import <Foundation/Foundation.h>
+
+#import "ios/chrome/browser/payments/cells/payments_has_accessory_type.h"
+#import "ios/chrome/browser/ui/collection_view/cells/collection_view_item.h"
+#import "ios/chrome/browser/ui/collection_view/collection_view_model.h"
+
+// The possible states the view controller can be in.
+typedef NS_ENUM(NSUInteger, PaymentRequestSelectorState) {
+  // The view controller is in normal state.
+  PaymentRequestSelectorStateNormal,
+  // The view controller is in pending state.
+  PaymentRequestSelectorStatePending,
+  // The view controller is in error state.
+  PaymentRequestSelectorStateError,
+};
+
+// The data source for the PaymentRequestSelectorViewController. The data
+// source provides the UI models for the PaymentRequestSelectorViewController
+// to display and keeps track of the selected UI model, if any.
+@protocol PaymentRequestSelectorViewControllerDataSource<NSObject>
+
+// The current state of the view controller.
+@property(nonatomic, readonly) PaymentRequestSelectorState state;
+
+// Index for the currently selected item or NSUIntegerMax if there is none.
+@property(nonatomic, readonly) NSUInteger selectedItemIndex;
+
+// The header item to display in the collection, if any.
+- (CollectionViewItem*)headerItem;
+
+// The selectable items to display in the collection.
+- (NSArray<CollectionViewItem<PaymentsHasAccessoryType>*>*)selectableItems;
+
+// The selectable item at |index| in the collection. |index| should be smaller
+// than self.selectableItems.count.
+- (CollectionViewItem<PaymentsHasAccessoryType>*)selectableItemAtIndex:
+    (NSUInteger)index;
+
+// The "Add" button item, if any.
+- (CollectionViewItem*)addButtonItem;
+
+@end
+
+#endif  // IOS_CHROME_BROWSER_PAYMENTS_PAYMENT_REQUEST_SELECTOR_VIEW_CONTROLLER_DATA_SOURCE_H_
diff --git a/ios/chrome/browser/payments/payment_request_selector_view_controller_unittest.mm b/ios/chrome/browser/payments/payment_request_selector_view_controller_unittest.mm
new file mode 100644
index 0000000..f66b89a
--- /dev/null
+++ b/ios/chrome/browser/payments/payment_request_selector_view_controller_unittest.mm
@@ -0,0 +1,135 @@
+// 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 "ios/chrome/browser/payments/payment_request_selector_view_controller.h"
+
+#include "base/mac/foundation_util.h"
+#import "ios/chrome/browser/payments/cells/payments_text_item.h"
+#import "ios/chrome/browser/payments/payment_request_selector_view_controller_data_source.h"
+#import "ios/chrome/browser/ui/autofill/cells/status_item.h"
+#import "ios/chrome/browser/ui/collection_view/collection_view_controller_test.h"
+#include "testing/gtest/include/gtest/gtest.h"
+
+#if !defined(__has_feature) || !__has_feature(objc_arc)
+#error "This file requires ARC support."
+#endif
+
+@interface TestPaymentRequestSelectorMediator
+    : NSObject<PaymentRequestSelectorViewControllerDataSource>
+
+@property(nonatomic, copy) NSArray<CollectionViewItem*>* items;
+
+@property(nonatomic, readwrite, assign) PaymentRequestSelectorState state;
+
+@end
+
+@implementation TestPaymentRequestSelectorMediator
+
+@synthesize state = _state;
+@synthesize selectedItemIndex = _selectedItemIndex;
+@synthesize items = _items;
+
+- (instancetype)init {
+  self = [super init];
+  if (self) {
+    _items =
+        @[ [[PaymentsTextItem alloc] init], [[PaymentsTextItem alloc] init] ];
+    _selectedItemIndex = 0;
+  }
+  return self;
+}
+
+#pragma mark - PaymentRequestSelectorViewControllerDataSource
+
+- (CollectionViewItem*)headerItem {
+  return [[CollectionViewItem alloc] init];
+}
+
+- (NSArray<CollectionViewItem*>*)selectableItems {
+  return _items;
+}
+
+- (CollectionViewItem*)selectableItemAtIndex:(NSUInteger)index {
+  return [_items objectAtIndex:index];
+}
+
+- (CollectionViewItem*)addButtonItem {
+  return [[CollectionViewItem alloc] init];
+}
+
+@end
+
+class PaymentRequestSelectorViewControllerTest
+    : public CollectionViewControllerTest {
+ protected:
+  PaymentRequestSelectorViewControllerTest() {}
+
+  CollectionViewController* InstantiateController() override {
+    PaymentRequestSelectorViewController* viewController =
+        [[PaymentRequestSelectorViewController alloc] init];
+    mediator_ = [[TestPaymentRequestSelectorMediator alloc] init];
+    [viewController setDataSource:mediator_];
+    return viewController;
+  }
+
+  PaymentRequestSelectorViewController*
+  GetPaymentRequestSelectorViewController() {
+    return base::mac::ObjCCastStrict<PaymentRequestSelectorViewController>(
+        controller());
+  }
+
+  TestPaymentRequestSelectorMediator* mediator_;
+};
+
+// Tests that the correct number of items are displayed after loading the model
+// and that the correct item appears to be selected.
+TEST_F(PaymentRequestSelectorViewControllerTest, TestModel) {
+  CreateController();
+  CheckController();
+
+  [GetPaymentRequestSelectorViewController() loadModel];
+
+  ASSERT_EQ(1, NumberOfSections());
+  // One header item, two selectable items, and one add button.
+  ASSERT_EQ(4, NumberOfItemsInSection(0));
+
+  // The first item should be of type CollectionViewItem.
+  id item = GetCollectionViewItem(0, 0);
+  ASSERT_TRUE([item isMemberOfClass:[CollectionViewItem class]]);
+
+  // The next two selectable items should be of type PaymentsTextItem. The first
+  // one should appear to be selected.
+  item = GetCollectionViewItem(0, 1);
+  ASSERT_TRUE([item isMemberOfClass:[PaymentsTextItem class]]);
+  PaymentsTextItem* selectable_item = item;
+  EXPECT_EQ(MDCCollectionViewCellAccessoryCheckmark,
+            selectable_item.accessoryType);
+
+  item = GetCollectionViewItem(0, 2);
+  ASSERT_TRUE([item isMemberOfClass:[PaymentsTextItem class]]);
+  selectable_item = item;
+  EXPECT_EQ(MDCCollectionViewCellAccessoryNone, selectable_item.accessoryType);
+
+  // The last item should be of type CollectionViewItem.
+  item = GetCollectionViewItem(0, 3);
+  EXPECT_TRUE([item isMemberOfClass:[CollectionViewItem class]]);
+}
+
+// Tests that the correct number of items are displayed after loading the model
+// in the pending state.
+TEST_F(PaymentRequestSelectorViewControllerTest, TestModelPendingState) {
+  CreateController();
+  CheckController();
+
+  [mediator_ setState:PaymentRequestSelectorStatePending];
+  [GetPaymentRequestSelectorViewController() loadModel];
+
+  ASSERT_EQ(1, NumberOfSections());
+  // There should be only one item.
+  ASSERT_EQ(1, NumberOfItemsInSection(0));
+
+  // The item should be of type StatusItem.
+  id item = GetCollectionViewItem(0, 0);
+  EXPECT_TRUE([item isMemberOfClass:[StatusItem class]]);
+}
diff --git a/ios/chrome/browser/payments/shipping_address_selection_coordinator.h b/ios/chrome/browser/payments/shipping_address_selection_coordinator.h
index 88d1a0dc..e8757fcf 100644
--- a/ios/chrome/browser/payments/shipping_address_selection_coordinator.h
+++ b/ios/chrome/browser/payments/shipping_address_selection_coordinator.h
@@ -9,7 +9,7 @@
 #include <vector>
 
 #import "ios/chrome/browser/chrome_coordinator.h"
-#import "ios/chrome/browser/payments/shipping_address_selection_view_controller.h"
+#import "ios/chrome/browser/payments/payment_request_selector_view_controller.h"
 
 class PaymentRequest;
 
@@ -39,7 +39,7 @@
 // selection view controller. This view controller will be presented by the view
 // controller provided in the initializer.
 @interface ShippingAddressSelectionCoordinator
-    : ChromeCoordinator<ShippingAddressSelectionViewControllerDelegate>
+    : ChromeCoordinator<PaymentRequestSelectorViewControllerDelegate>
 
 // The PaymentRequest object having a copy of web::PaymentRequest as provided by
 // the page invoking the Payment Request API. This pointer is not owned by this
diff --git a/ios/chrome/browser/payments/shipping_address_selection_coordinator.mm b/ios/chrome/browser/payments/shipping_address_selection_coordinator.mm
index 91ec224..a2636da 100644
--- a/ios/chrome/browser/payments/shipping_address_selection_coordinator.mm
+++ b/ios/chrome/browser/payments/shipping_address_selection_coordinator.mm
@@ -6,8 +6,11 @@
 
 #include "base/strings/sys_string_conversions.h"
 #include "components/autofill/core/browser/autofill_profile.h"
+#include "components/payments/core/strings_util.h"
 #include "ios/chrome/browser/payments/payment_request.h"
+#include "ios/chrome/browser/payments/payment_request_selector_view_controller.h"
 #import "ios/chrome/browser/payments/payment_request_util.h"
+#include "ios/chrome/browser/payments/shipping_address_selection_mediator.h"
 
 #if !defined(__has_feature) || !__has_feature(objc_arc)
 #error "This file requires ARC support."
@@ -15,12 +18,16 @@
 
 namespace {
 using ::payment_request_util::GetShippingAddressSelectorErrorMessage;
+using ::payments::GetShippingAddressSectionString;
+using ::payments::GetShippingAddressSelectorInfoMessage;
 }  // namespace
 
 @interface ShippingAddressSelectionCoordinator ()
 
 @property(nonatomic, strong)
-    ShippingAddressSelectionViewController* viewController;
+    PaymentRequestSelectorViewController* viewController;
+
+@property(nonatomic, strong) ShippingAddressSelectionMediator* mediator;
 
 // Called when the user selects a shipping address. The cell is checked, the
 // UI is locked so that the user can't interact with it, then the delegate is
@@ -36,71 +43,89 @@
 @synthesize paymentRequest = _paymentRequest;
 @synthesize delegate = _delegate;
 @synthesize viewController = _viewController;
+@synthesize mediator = _mediator;
 
 - (void)start {
-  _viewController = [[ShippingAddressSelectionViewController alloc]
-      initWithPaymentRequest:_paymentRequest];
-  [_viewController setDelegate:self];
-  [_viewController loadModel];
+  self.mediator = [[ShippingAddressSelectionMediator alloc]
+      initWithPaymentRequest:self.paymentRequest];
+  self.mediator.headerText =
+      self.paymentRequest->shipping_options().empty()
+          ? base::SysUTF16ToNSString(GetShippingAddressSelectorInfoMessage(
+                self.paymentRequest->shipping_type()))
+          : nil;
+
+  self.viewController = [[PaymentRequestSelectorViewController alloc] init];
+  self.viewController.title = base::SysUTF16ToNSString(
+      GetShippingAddressSectionString(self.paymentRequest->shipping_type()));
+  self.viewController.delegate = self;
+  self.viewController.dataSource = self.mediator;
+  [self.viewController loadModel];
 
   DCHECK(self.baseViewController.navigationController);
   [self.baseViewController.navigationController
-      pushViewController:_viewController
+      pushViewController:self.viewController
                 animated:YES];
 }
 
 - (void)stop {
   [self.baseViewController.navigationController popViewControllerAnimated:YES];
-  _viewController = nil;
+  self.viewController = nil;
+  self.mediator = nil;
 }
 
 - (void)stopSpinnerAndDisplayError {
   // Re-enable user interactions that were disabled earlier in
   // delayedNotifyDelegateOfSelection.
-  _viewController.view.userInteractionEnabled = YES;
+  self.viewController.view.userInteractionEnabled = YES;
 
-  [_viewController setPending:NO];
-  DCHECK(_paymentRequest);
-  [_viewController
-      setErrorMessage:GetShippingAddressSelectorErrorMessage(*_paymentRequest)];
-  [_viewController loadModel];
-  [[_viewController collectionView] reloadData];
+  DCHECK(self.paymentRequest);
+  self.mediator.headerText =
+      GetShippingAddressSelectorErrorMessage(*self.paymentRequest);
+  self.mediator.state = PaymentRequestSelectorStateError;
+  [self.viewController loadModel];
+  [self.viewController.collectionView reloadData];
 }
 
-#pragma mark - ShippingAddressSelectionViewControllerDelegate
+#pragma mark - PaymentRequestSelectorViewControllerDelegate
 
-- (void)shippingAddressSelectionViewController:
-            (ShippingAddressSelectionViewController*)controller
-                      didSelectShippingAddress:
-                          (autofill::AutofillProfile*)shippingAddress {
-  [self delayedNotifyDelegateOfSelection:shippingAddress];
+- (void)paymentRequestSelectorViewController:
+            (PaymentRequestSelectorViewController*)controller
+                        didSelectItemAtIndex:(NSUInteger)index {
+  // Update the data source with the selection.
+  self.mediator.selectedItemIndex = index;
+
+  DCHECK(index < self.paymentRequest->shipping_profiles().size());
+  [self delayedNotifyDelegateOfSelection:self.paymentRequest
+                                             ->shipping_profiles()[index]];
 }
 
-- (void)shippingAddressSelectionViewControllerDidReturn:
-    (ShippingAddressSelectionViewController*)controller {
-  [_delegate shippingAddressSelectionCoordinatorDidReturn:self];
+- (void)paymentRequestSelectorViewControllerDidFinish:
+    (PaymentRequestSelectorViewController*)controller {
+  [self.delegate shippingAddressSelectionCoordinatorDidReturn:self];
 }
 
+- (void)paymentRequestSelectorViewControllerDidSelectAddItem:
+    (PaymentRequestSelectorViewController*)controller {
+  // TODO(crbug.com/602666): Present a shipping address addition UI.
+}
+
+#pragma mark - Helper methods
+
 - (void)delayedNotifyDelegateOfSelection:
     (autofill::AutofillProfile*)shippingAddress {
-  _viewController.view.userInteractionEnabled = NO;
+  self.viewController.view.userInteractionEnabled = NO;
   __weak ShippingAddressSelectionCoordinator* weakSelf = self;
-  dispatch_after(dispatch_time(DISPATCH_TIME_NOW,
-                               static_cast<int64_t>(0.2 * NSEC_PER_SEC)),
-                 dispatch_get_main_queue(), ^{
-                   ShippingAddressSelectionCoordinator* strongSelf = weakSelf;
-                   // Early return if the coordinator has been deallocated.
-                   if (!strongSelf)
-                     return;
+  dispatch_after(
+      dispatch_time(DISPATCH_TIME_NOW,
+                    static_cast<int64_t>(0.2 * NSEC_PER_SEC)),
+      dispatch_get_main_queue(), ^{
+        [weakSelf.mediator setState:PaymentRequestSelectorStatePending];
+        [weakSelf.viewController loadModel];
+        [[weakSelf.viewController collectionView] reloadData];
 
-                   [strongSelf.viewController setPending:YES];
-                   [strongSelf.viewController loadModel];
-                   [[strongSelf.viewController collectionView] reloadData];
-
-                   [strongSelf.delegate
-                       shippingAddressSelectionCoordinator:strongSelf
-                                  didSelectShippingAddress:shippingAddress];
-                 });
+        [weakSelf.delegate shippingAddressSelectionCoordinator:weakSelf
+                                      didSelectShippingAddress:shippingAddress];
+      });
 }
 
 @end
diff --git a/ios/chrome/browser/payments/shipping_address_selection_coordinator_unittest.mm b/ios/chrome/browser/payments/shipping_address_selection_coordinator_unittest.mm
index c7b4965..59f825d 100644
--- a/ios/chrome/browser/payments/shipping_address_selection_coordinator_unittest.mm
+++ b/ios/chrome/browser/payments/shipping_address_selection_coordinator_unittest.mm
@@ -8,12 +8,11 @@
 #include "base/memory/ptr_util.h"
 #include "base/test/ios/wait_util.h"
 #include "components/autofill/core/browser/autofill_profile.h"
-#include "components/autofill/core/browser/credit_card.h"
+#include "components/autofill/core/browser/autofill_test_utils.h"
 #include "components/autofill/core/browser/test_personal_data_manager.h"
 #include "ios/chrome/browser/payments/payment_request.h"
+#import "ios/chrome/browser/payments/payment_request_selector_view_controller.h"
 #include "ios/chrome/browser/payments/payment_request_test_util.h"
-#import "ios/chrome/browser/payments/shipping_address_selection_view_controller.h"
-#include "ios/web/public/payments/payment_request.h"
 #include "testing/gtest/include/gtest/gtest.h"
 #include "testing/platform_test.h"
 #include "third_party/ocmock/OCMock/OCMock.h"
@@ -26,18 +25,25 @@
 class PaymentRequestShippingAddressSelectionCoordinatorTest
     : public PlatformTest {
  protected:
-  PaymentRequestShippingAddressSelectionCoordinatorTest() {
+  PaymentRequestShippingAddressSelectionCoordinatorTest()
+      : autofill_profile1_(autofill::test::GetFullProfile()),
+        autofill_profile2_(autofill::test::GetFullProfile2()) {
+    // Add testing profiles to autofill::TestPersonalDataManager.
+    personal_data_manager_.AddTestingProfile(&autofill_profile1_);
+    personal_data_manager_.AddTestingProfile(&autofill_profile2_);
     payment_request_ = base::MakeUnique<PaymentRequest>(
         payment_request_test_util::CreateTestWebPaymentRequest(),
         &personal_data_manager_);
   }
 
+  autofill::AutofillProfile autofill_profile1_;
+  autofill::AutofillProfile autofill_profile2_;
   autofill::TestPersonalDataManager personal_data_manager_;
   std::unique_ptr<PaymentRequest> payment_request_;
 };
 
 // Tests that invoking start and stop on the coordinator presents and dismisses
-// the ShippingAddressSelectionViewController, respectively.
+// the PaymentRequestSelectorViewController, respectively.
 TEST_F(PaymentRequestShippingAddressSelectionCoordinatorTest, StartAndStop) {
   UIViewController* base_view_controller = [[UIViewController alloc] init];
   UINavigationController* navigation_controller =
@@ -59,7 +65,7 @@
   UIViewController* view_controller =
       navigation_controller.visibleViewController;
   EXPECT_TRUE([view_controller
-      isMemberOfClass:[ShippingAddressSelectionViewController class]]);
+      isMemberOfClass:[PaymentRequestSelectorViewController class]]);
 
   [coordinator stop];
   // Short delay to allow animation to complete.
@@ -85,9 +91,9 @@
   // Mock the coordinator delegate.
   id delegate = [OCMockObject
       mockForProtocol:@protocol(ShippingAddressSelectionCoordinatorDelegate)];
-  autofill::AutofillProfile profile;
+  autofill::AutofillProfile* profile = payment_request_->shipping_profiles()[1];
   [[delegate expect] shippingAddressSelectionCoordinator:coordinator
-                                didSelectShippingAddress:&profile];
+                                didSelectShippingAddress:profile];
   [coordinator setDelegate:delegate];
 
   EXPECT_EQ(1u, navigation_controller.viewControllers.count);
@@ -98,11 +104,11 @@
   EXPECT_EQ(2u, navigation_controller.viewControllers.count);
 
   // Call the controller delegate method.
-  ShippingAddressSelectionViewController* view_controller =
-      base::mac::ObjCCastStrict<ShippingAddressSelectionViewController>(
+  PaymentRequestSelectorViewController* view_controller =
+      base::mac::ObjCCastStrict<PaymentRequestSelectorViewController>(
           navigation_controller.visibleViewController);
-  [coordinator shippingAddressSelectionViewController:view_controller
-                             didSelectShippingAddress:&profile];
+  [coordinator paymentRequestSelectorViewController:view_controller
+                               didSelectItemAtIndex:1];
 
   // Wait for the coordinator delegate to be notified.
   base::test::ios::SpinRunLoopWithMinDelay(base::TimeDelta::FromSecondsD(0.5));
@@ -138,10 +144,10 @@
   EXPECT_EQ(2u, navigation_controller.viewControllers.count);
 
   // Call the controller delegate method.
-  ShippingAddressSelectionViewController* view_controller =
-      base::mac::ObjCCastStrict<ShippingAddressSelectionViewController>(
+  PaymentRequestSelectorViewController* view_controller =
+      base::mac::ObjCCastStrict<PaymentRequestSelectorViewController>(
           navigation_controller.visibleViewController);
-  [coordinator shippingAddressSelectionViewControllerDidReturn:view_controller];
+  [coordinator paymentRequestSelectorViewControllerDidFinish:view_controller];
 
   EXPECT_OCMOCK_VERIFY(delegate);
 }
diff --git a/ios/chrome/browser/payments/shipping_address_selection_mediator.h b/ios/chrome/browser/payments/shipping_address_selection_mediator.h
new file mode 100644
index 0000000..7ba45aae
--- /dev/null
+++ b/ios/chrome/browser/payments/shipping_address_selection_mediator.h
@@ -0,0 +1,36 @@
+// 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 IOS_CHROME_BROWSER_PAYMENTS_SHIPPING_ADDRESS_SELECTION_MEDIATOR_H_
+#define IOS_CHROME_BROWSER_PAYMENTS_SHIPPING_ADDRESS_SELECTION_MEDIATOR_H_
+
+#import "ios/chrome/browser/payments/payment_request_selector_view_controller_data_source.h"
+
+class PaymentRequest;
+
+// Serves as data source for PaymentRequestSelectorViewController.
+@interface ShippingAddressSelectionMediator
+    : NSObject<PaymentRequestSelectorViewControllerDataSource>
+
+// The text to display in the header item. If nil, the header item will also be
+// nil.
+@property(nonatomic, copy) NSString* headerText;
+
+// The current state of the view controller.
+@property(nonatomic, readwrite, assign) PaymentRequestSelectorState state;
+
+// Index for the currently selected item or NSUIntegerMax if there is none.
+@property(nonatomic, readwrite, assign) NSUInteger selectedItemIndex;
+
+// Initializes this object with an instance of PaymentRequest which has a copy
+// of web::PaymentRequest as provided by the page invoking the Payment Request
+// API. This object will not take ownership of |paymentRequest|.
+- (instancetype)initWithPaymentRequest:(PaymentRequest*)paymentRequest
+    NS_DESIGNATED_INITIALIZER;
+
+- (instancetype)init NS_UNAVAILABLE;
+
+@end
+
+#endif  // IOS_CHROME_BROWSER_PAYMENTS_SHIPPING_ADDRESS_SELECTION_MEDIATOR_H_
diff --git a/ios/chrome/browser/payments/shipping_address_selection_mediator.mm b/ios/chrome/browser/payments/shipping_address_selection_mediator.mm
new file mode 100644
index 0000000..bc947e6
--- /dev/null
+++ b/ios/chrome/browser/payments/shipping_address_selection_mediator.mm
@@ -0,0 +1,110 @@
+// 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 <vector>
+
+#import "ios/chrome/browser/payments/shipping_address_selection_mediator.h"
+
+#include "components/autofill/core/browser/autofill_profile.h"
+#include "components/strings/grit/components_strings.h"
+#import "ios/chrome/browser/payments/cells/autofill_profile_item.h"
+#import "ios/chrome/browser/payments/cells/payments_text_item.h"
+#include "ios/chrome/browser/payments/payment_request.h"
+#import "ios/chrome/browser/payments/payment_request_util.h"
+#include "ios/chrome/browser/ui/uikit_ui_util.h"
+#include "ios/chrome/grit/ios_theme_resources.h"
+#include "ui/base/l10n/l10n_util.h"
+
+#if !defined(__has_feature) || !__has_feature(objc_arc)
+#error "This file requires ARC support."
+#endif
+
+namespace {
+using ::payment_request_util::GetNameLabelFromAutofillProfile;
+using ::payment_request_util::GetShippingAddressLabelFromAutofillProfile;
+using ::payment_request_util::GetPhoneNumberLabelFromAutofillProfile;
+}  // namespace
+
+@interface ShippingAddressSelectionMediator ()
+
+// The PaymentRequest object owning an instance of web::PaymentRequest as
+// provided by the page invoking the Payment Request API. This is a weak
+// pointer and should outlive this class.
+@property(nonatomic, assign) PaymentRequest* paymentRequest;
+
+// The selectable items to display in the collection.
+@property(nonatomic, strong) NSArray<AutofillProfileItem*>* items;
+
+@end
+
+@implementation ShippingAddressSelectionMediator
+
+@synthesize state = _state;
+@synthesize selectedItemIndex = _selectedItemIndex;
+@synthesize paymentRequest = _paymentRequest;
+@synthesize items = _items;
+@synthesize headerText = _headerText;
+
+- (instancetype)initWithPaymentRequest:(PaymentRequest*)paymentRequest {
+  self = [super init];
+  if (self) {
+    _paymentRequest = paymentRequest;
+    _selectedItemIndex = NSUIntegerMax;
+    _items = [self createItems];
+  }
+  return self;
+}
+
+#pragma mark - PaymentRequestSelectorViewControllerDataSource
+
+- (CollectionViewItem*)headerItem {
+  if (!self.headerText.length)
+    return nil;
+
+  PaymentsTextItem* headerItem = [[PaymentsTextItem alloc] init];
+  headerItem.text = self.headerText;
+  if (self.state == PaymentRequestSelectorStateError)
+    headerItem.image = NativeImage(IDR_IOS_PAYMENTS_WARNING);
+  return headerItem;
+}
+
+- (NSArray<CollectionViewItem*>*)selectableItems {
+  return self.items;
+}
+
+- (CollectionViewItem*)selectableItemAtIndex:(NSUInteger)index {
+  DCHECK(index < self.items.count);
+  return [self.items objectAtIndex:index];
+}
+
+- (CollectionViewItem*)addButtonItem {
+  PaymentsTextItem* addButtonItem = [[PaymentsTextItem alloc] init];
+  addButtonItem.text = l10n_util::GetNSString(IDS_PAYMENTS_ADD_ADDRESS);
+  addButtonItem.image = NativeImage(IDR_IOS_PAYMENTS_ADD);
+  return addButtonItem;
+}
+
+#pragma mark - Helper methods
+
+- (NSArray<AutofillProfileItem*>*)createItems {
+  const std::vector<autofill::AutofillProfile*>& shippingProfiles =
+      _paymentRequest->shipping_profiles();
+  NSMutableArray<AutofillProfileItem*>* items =
+      [NSMutableArray arrayWithCapacity:shippingProfiles.size()];
+  for (size_t index = 0; index < shippingProfiles.size(); ++index) {
+    autofill::AutofillProfile* shippingAddress = shippingProfiles[index];
+    DCHECK(shippingAddress);
+    AutofillProfileItem* item = [[AutofillProfileItem alloc] init];
+    item.name = GetNameLabelFromAutofillProfile(*shippingAddress);
+    item.address = GetShippingAddressLabelFromAutofillProfile(*shippingAddress);
+    item.phoneNumber = GetPhoneNumberLabelFromAutofillProfile(*shippingAddress);
+    if (_paymentRequest->selected_shipping_profile() == shippingAddress)
+      _selectedItemIndex = index;
+
+    [items addObject:item];
+  }
+  return items;
+}
+
+@end
diff --git a/ios/chrome/browser/payments/shipping_address_selection_view_controller.h b/ios/chrome/browser/payments/shipping_address_selection_view_controller.h
deleted file mode 100644
index 9bfd184..0000000
--- a/ios/chrome/browser/payments/shipping_address_selection_view_controller.h
+++ /dev/null
@@ -1,65 +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_CHROME_BROWSER_PAYMENTS_SHIPPING_ADDRESS_SELECTION_VIEW_CONTROLLER_H_
-#define IOS_CHROME_BROWSER_PAYMENTS_SHIPPING_ADDRESS_SELECTION_VIEW_CONTROLLER_H_
-
-#import <UIKit/UIKit.h>
-
-#import "ios/chrome/browser/ui/collection_view/collection_view_controller.h"
-
-class PaymentRequest;
-
-namespace autofill {
-class AutofillProfile;
-}  // namespace autofill
-
-@class ShippingAddressSelectionViewController;
-
-// Delegate protocol for ShippingAddressSelectionViewController.
-@protocol ShippingAddressSelectionViewControllerDelegate<NSObject>
-
-// Notifies the delegate that the user has selected a shipping address.
-- (void)shippingAddressSelectionViewController:
-            (ShippingAddressSelectionViewController*)controller
-                      didSelectShippingAddress:
-                          (autofill::AutofillProfile*)shippingAddress;
-
-// Notifies the delegate that the user has chosen to return to the previous
-// screen without making a selection.
-- (void)shippingAddressSelectionViewControllerDidReturn:
-    (ShippingAddressSelectionViewController*)controller;
-
-@end
-
-// View controller responsible for presenting the available shipping addresses
-// for selection by the user and communicating their choice to the supplied
-// delegate. Also offers a button to add a shipping address.
-@interface ShippingAddressSelectionViewController : CollectionViewController
-
-// Whether or not the view is in a pending state.
-@property(nonatomic, assign, getter=isPending) BOOL pending;
-
-// The error message to display, if any.
-@property(nonatomic, copy) NSString* errorMessage;
-
-// The delegate to be notified when the user selects a shipping address or
-// returns without selecting one.
-@property(nonatomic, weak)
-    id<ShippingAddressSelectionViewControllerDelegate> delegate;
-
-// Initializes this object with an instance of PaymentRequest which has a copy
-// of web::PaymentRequest as provided by the page invoking the Payment Request
-// API. This object will not take ownership of |paymentRequest|.
-- (instancetype)initWithPaymentRequest:(PaymentRequest*)paymentRequest
-    NS_DESIGNATED_INITIALIZER;
-
-- (instancetype)init NS_UNAVAILABLE;
-
-- (instancetype)initWithStyle:(CollectionViewControllerStyle)style
-    NS_UNAVAILABLE;
-
-@end
-
-#endif  // IOS_CHROME_BROWSER_PAYMENTS_SHIPPING_ADDRESS_SELECTION_VIEW_CONTROLLER_H_
diff --git a/ios/chrome/browser/payments/shipping_address_selection_view_controller.mm b/ios/chrome/browser/payments/shipping_address_selection_view_controller.mm
deleted file mode 100644
index ef86e68..0000000
--- a/ios/chrome/browser/payments/shipping_address_selection_view_controller.mm
+++ /dev/null
@@ -1,259 +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.
-
-#import "ios/chrome/browser/payments/shipping_address_selection_view_controller.h"
-
-#include "base/mac/foundation_util.h"
-
-#include "base/strings/sys_string_conversions.h"
-#include "components/autofill/core/browser/autofill_profile.h"
-#include "components/payments/core/strings_util.h"
-#include "components/strings/grit/components_strings.h"
-#include "ios/chrome/browser/application_context.h"
-#import "ios/chrome/browser/payments/cells/autofill_profile_item.h"
-#import "ios/chrome/browser/payments/cells/payments_text_item.h"
-#include "ios/chrome/browser/payments/payment_request.h"
-#import "ios/chrome/browser/payments/payment_request_util.h"
-#import "ios/chrome/browser/payments/shipping_address_selection_view_controller_actions.h"
-#import "ios/chrome/browser/ui/autofill/cells/status_item.h"
-#import "ios/chrome/browser/ui/collection_view/cells/MDCCollectionViewCell+Chrome.h"
-#import "ios/chrome/browser/ui/collection_view/cells/collection_view_item.h"
-#import "ios/chrome/browser/ui/collection_view/collection_view_model.h"
-#import "ios/chrome/browser/ui/colors/MDCPalette+CrAdditions.h"
-#import "ios/chrome/browser/ui/icons/chrome_icon.h"
-#include "ios/chrome/browser/ui/uikit_ui_util.h"
-#include "ios/chrome/grit/ios_strings.h"
-#include "ios/chrome/grit/ios_theme_resources.h"
-#include "ui/base/l10n/l10n_util.h"
-
-#if !defined(__has_feature) || !__has_feature(objc_arc)
-#error "This file requires ARC support."
-#endif
-
-namespace {
-using ::payment_request_util::GetNameLabelFromAutofillProfile;
-using ::payment_request_util::GetShippingAddressLabelFromAutofillProfile;
-using ::payment_request_util::GetPhoneNumberLabelFromAutofillProfile;
-using ::payments::GetShippingAddressSelectorInfoMessage;
-using ::payments::GetShippingAddressSectionString;
-
-NSString* const kShippingAddressSelectionCollectionViewID =
-    @"kShippingAddressSelectionCollectionViewID";
-
-const CGFloat kSeparatorEdgeInset = 14;
-
-typedef NS_ENUM(NSInteger, SectionIdentifier) {
-  SectionIdentifierShippingAddress = kSectionIdentifierEnumZero,
-};
-
-typedef NS_ENUM(NSInteger, ItemType) {
-  ItemTypeSpinner = kItemTypeEnumZero,
-  ItemTypeMessage,
-  ItemTypeShippingAddress,  // This is a repeated item type.
-  ItemTypeAddShippingAddress,
-};
-
-}  // namespace
-
-@interface ShippingAddressSelectionViewController ()<
-    ShippingAddressSelectionViewControllerActions> {
-  // The PaymentRequest object having a copy of web::PaymentRequest as provided
-  // by the page invoking the Payment Request API. This is a weak pointer and
-  // should outlive this class.
-  PaymentRequest* _paymentRequest;
-
-  // The currently selected item. May be nil.
-  __weak AutofillProfileItem* _selectedItem;
-}
-
-@end
-
-@implementation ShippingAddressSelectionViewController
-
-@synthesize pending = _pending;
-@synthesize errorMessage = _errorMessage;
-@synthesize delegate = _delegate;
-
-- (instancetype)initWithPaymentRequest:(PaymentRequest*)paymentRequest {
-  DCHECK(paymentRequest);
-  if ((self = [super initWithStyle:CollectionViewControllerStyleAppBar])) {
-    self.title = base::SysUTF16ToNSString(
-        GetShippingAddressSectionString(paymentRequest->shipping_type()));
-
-    // Set up leading (return) button.
-    UIBarButtonItem* returnButton =
-        [ChromeIcon templateBarButtonItemWithImage:[ChromeIcon backIcon]
-                                            target:nil
-                                            action:@selector(onReturn)];
-    returnButton.accessibilityLabel = l10n_util::GetNSString(IDS_ACCNAME_BACK);
-    self.navigationItem.leftBarButtonItem = returnButton;
-
-    _paymentRequest = paymentRequest;
-  }
-  return self;
-}
-
-- (void)onReturn {
-  [_delegate shippingAddressSelectionViewControllerDidReturn:self];
-}
-
-#pragma mark - CollectionViewController methods
-
-- (void)loadModel {
-  [super loadModel];
-  CollectionViewModel* model = self.collectionViewModel;
-  _selectedItem = nil;
-
-  [model addSectionWithIdentifier:SectionIdentifierShippingAddress];
-
-  if (_pending) {
-    StatusItem* statusItem = [[StatusItem alloc] initWithType:ItemTypeSpinner];
-    statusItem.text = l10n_util::GetNSString(IDS_PAYMENTS_CHECKING_OPTION);
-    [model addItem:statusItem
-        toSectionWithIdentifier:SectionIdentifierShippingAddress];
-    return;
-  }
-
-  PaymentsTextItem* messageItem =
-      [[PaymentsTextItem alloc] initWithType:ItemTypeMessage];
-  if (_errorMessage) {
-    messageItem.text = _errorMessage;
-    messageItem.image = NativeImage(IDR_IOS_PAYMENTS_WARNING);
-  } else {
-    messageItem.text =
-        base::SysUTF16ToNSString(GetShippingAddressSelectorInfoMessage(
-            _paymentRequest->shipping_type()));
-  }
-  [model addItem:messageItem
-      toSectionWithIdentifier:SectionIdentifierShippingAddress];
-
-  for (auto* shippingAddress : _paymentRequest->shipping_profiles()) {
-    DCHECK(shippingAddress);
-    AutofillProfileItem* item =
-        [[AutofillProfileItem alloc] initWithType:ItemTypeShippingAddress];
-    item.accessibilityTraits |= UIAccessibilityTraitButton;
-    item.name = GetNameLabelFromAutofillProfile(*shippingAddress);
-    item.address = GetShippingAddressLabelFromAutofillProfile(*shippingAddress);
-    item.phoneNumber = GetPhoneNumberLabelFromAutofillProfile(*shippingAddress);
-    if (_paymentRequest->selected_shipping_profile() == shippingAddress) {
-      item.accessoryType = MDCCollectionViewCellAccessoryCheckmark;
-      _selectedItem = item;
-    }
-    [model addItem:item
-        toSectionWithIdentifier:SectionIdentifierShippingAddress];
-  }
-
-  PaymentsTextItem* addShippingAddress =
-      [[PaymentsTextItem alloc] initWithType:ItemTypeAddShippingAddress];
-  addShippingAddress.text = l10n_util::GetNSString(IDS_PAYMENTS_ADD_ADDRESS);
-  addShippingAddress.image = NativeImage(IDR_IOS_PAYMENTS_ADD);
-  addShippingAddress.accessibilityTraits |= UIAccessibilityTraitButton;
-  [model addItem:addShippingAddress
-      toSectionWithIdentifier:SectionIdentifierShippingAddress];
-}
-
-- (void)viewDidLoad {
-  [super viewDidLoad];
-  self.collectionView.accessibilityIdentifier =
-      kShippingAddressSelectionCollectionViewID;
-
-  // Customize collection view settings.
-  self.styler.cellStyle = MDCCollectionViewCellStyleCard;
-  self.styler.separatorInset =
-      UIEdgeInsetsMake(0, kSeparatorEdgeInset, 0, kSeparatorEdgeInset);
-}
-
-#pragma mark UICollectionViewDataSource
-
-- (UICollectionViewCell*)collectionView:(UICollectionView*)collectionView
-                 cellForItemAtIndexPath:(nonnull NSIndexPath*)indexPath {
-  UICollectionViewCell* cell =
-      [super collectionView:collectionView cellForItemAtIndexPath:indexPath];
-
-  NSInteger itemType =
-      [self.collectionViewModel itemTypeForIndexPath:indexPath];
-  switch (itemType) {
-    case ItemTypeMessage: {
-      PaymentsTextCell* messageCell =
-          base::mac::ObjCCastStrict<PaymentsTextCell>(cell);
-      messageCell.textLabel.textColor =
-          _errorMessage ? [[MDCPalette cr_redPalette] tint600]
-                        : [[MDCPalette greyPalette] tint600];
-      break;
-    }
-    default:
-      break;
-  }
-  return cell;
-}
-
-#pragma mark UICollectionViewDelegate
-
-- (void)collectionView:(UICollectionView*)collectionView
-    didSelectItemAtIndexPath:(NSIndexPath*)indexPath {
-  [super collectionView:collectionView didSelectItemAtIndexPath:indexPath];
-
-  CollectionViewModel* model = self.collectionViewModel;
-
-  CollectionViewItem* item = [model itemAtIndexPath:indexPath];
-  if (item.type == ItemTypeShippingAddress) {
-    // Update the currently selected cell, if any.
-    if (_selectedItem) {
-      _selectedItem.accessoryType = MDCCollectionViewCellAccessoryNone;
-      [self reconfigureCellsForItems:@[ _selectedItem ]
-             inSectionWithIdentifier:SectionIdentifierShippingAddress];
-    }
-
-    // Update the newly selected cell.
-    AutofillProfileItem* newlySelectedItem =
-        base::mac::ObjCCastStrict<AutofillProfileItem>(item);
-    newlySelectedItem.accessoryType = MDCCollectionViewCellAccessoryCheckmark;
-    [self reconfigureCellsForItems:@[ newlySelectedItem ]
-           inSectionWithIdentifier:SectionIdentifierShippingAddress];
-
-    // Update the reference to the selected item.
-    _selectedItem = newlySelectedItem;
-
-    // Notify the delegate of the selection.
-    NSInteger index = [model indexInItemTypeForIndexPath:indexPath];
-    DCHECK(index < (NSInteger)_paymentRequest->shipping_profiles().size());
-    [_delegate shippingAddressSelectionViewController:self
-                             didSelectShippingAddress:
-                                 _paymentRequest->shipping_profiles()[index]];
-  }
-  // TODO(crbug.com/602666): Present a shipping address addition UI when
-  // itemType == ItemTypeAddShippingAddress.
-}
-
-#pragma mark MDCCollectionViewStylingDelegate
-
-- (CGFloat)collectionView:(UICollectionView*)collectionView
-    cellHeightAtIndexPath:(NSIndexPath*)indexPath {
-  CollectionViewItem* item =
-      [self.collectionViewModel itemAtIndexPath:indexPath];
-  switch (item.type) {
-    case ItemTypeSpinner:
-    case ItemTypeMessage:
-    case ItemTypeShippingAddress:
-    case ItemTypeAddShippingAddress:
-      return [MDCCollectionViewCell
-          cr_preferredHeightForWidth:CGRectGetWidth(collectionView.bounds)
-                             forItem:item];
-    default:
-      NOTREACHED();
-      return MDCCellDefaultOneLineHeight;
-  }
-}
-
-- (BOOL)collectionView:(UICollectionView*)collectionView
-    hidesInkViewAtIndexPath:(NSIndexPath*)indexPath {
-  NSInteger type = [self.collectionViewModel itemTypeForIndexPath:indexPath];
-  if (type == ItemTypeMessage) {
-    return YES;
-  } else {
-    return NO;
-  }
-}
-
-@end
diff --git a/ios/chrome/browser/payments/shipping_address_selection_view_controller_actions.h b/ios/chrome/browser/payments/shipping_address_selection_view_controller_actions.h
deleted file mode 100644
index a8ebfb9..0000000
--- a/ios/chrome/browser/payments/shipping_address_selection_view_controller_actions.h
+++ /dev/null
@@ -1,17 +0,0 @@
-// 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 IOS_CHROME_BROWSER_PAYMENTS_SHIPPING_ADDRESS_SELECTION_VIEW_CONTROLLER_ACTIONS_H_
-#define IOS_CHROME_BROWSER_PAYMENTS_SHIPPING_ADDRESS_SELECTION_VIEW_CONTROLLER_ACTIONS_H_
-
-// Protocol handling the actions sent in the
-// ShippingAddressSelectionViewController.
-@protocol ShippingAddressSelectionViewControllerActions
-
-// Called when the user presses the return button.
-- (void)onReturn;
-
-@end
-
-#endif  // IOS_CHROME_BROWSER_PAYMENTS_SHIPPING_ADDRESS_SELECTION_VIEW_CONTROLLER_ACTIONS_H_
diff --git a/ios/chrome/browser/payments/shipping_address_selection_view_controller_unittest.mm b/ios/chrome/browser/payments/shipping_address_selection_view_controller_unittest.mm
deleted file mode 100644
index 3c69fe4e9..0000000
--- a/ios/chrome/browser/payments/shipping_address_selection_view_controller_unittest.mm
+++ /dev/null
@@ -1,112 +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.
-
-#import "ios/chrome/browser/payments/shipping_address_selection_view_controller.h"
-
-#include "base/mac/foundation_util.h"
-#include "base/memory/ptr_util.h"
-#include "components/autofill/core/browser/autofill_profile.h"
-#include "components/autofill/core/browser/autofill_test_utils.h"
-#include "components/autofill/core/browser/test_personal_data_manager.h"
-#include "components/strings/grit/components_strings.h"
-#import "ios/chrome/browser/payments/cells/autofill_profile_item.h"
-#import "ios/chrome/browser/payments/cells/payments_text_item.h"
-#include "ios/chrome/browser/payments/payment_request.h"
-#include "ios/chrome/browser/payments/payment_request_test_util.h"
-#import "ios/chrome/browser/ui/autofill/cells/status_item.h"
-#import "ios/chrome/browser/ui/collection_view/collection_view_controller_test.h"
-#include "ios/web/public/payments/payment_request.h"
-#include "testing/gtest/include/gtest/gtest.h"
-
-#if !defined(__has_feature) || !__has_feature(objc_arc)
-#error "This file requires ARC support."
-#endif
-
-class PaymentRequestShippingAddressSelectionViewControllerTest
-    : public CollectionViewControllerTest {
- protected:
-  PaymentRequestShippingAddressSelectionViewControllerTest()
-      : autofill_profile1_(autofill::test::GetFullProfile()),
-        autofill_profile2_(autofill::test::GetFullProfile2()) {
-    // Add testing profiles to autofill::TestPersonalDataManager.
-    personal_data_manager_.AddTestingProfile(&autofill_profile1_);
-    personal_data_manager_.AddTestingProfile(&autofill_profile2_);
-  }
-
-  CollectionViewController* InstantiateController() override {
-    payment_request_ = base::MakeUnique<PaymentRequest>(
-        payment_request_test_util::CreateTestWebPaymentRequest(),
-        &personal_data_manager_);
-
-    return [[ShippingAddressSelectionViewController alloc]
-        initWithPaymentRequest:payment_request_.get()];
-  }
-
-  ShippingAddressSelectionViewController*
-  GetShippingAddressSelectionViewController() {
-    return base::mac::ObjCCastStrict<ShippingAddressSelectionViewController>(
-        controller());
-  }
-
-  autofill::AutofillProfile autofill_profile1_;
-  autofill::AutofillProfile autofill_profile2_;
-  autofill::TestPersonalDataManager personal_data_manager_;
-  std::unique_ptr<PaymentRequest> payment_request_;
-};
-
-// Tests that the correct number of items are displayed after loading the model
-// and that the correct item appears to be selected.
-TEST_F(PaymentRequestShippingAddressSelectionViewControllerTest, TestModel) {
-  CreateController();
-  CheckController();
-  CheckTitleWithId(IDS_PAYMENTS_SHIPPING_ADDRESS_LABEL);
-
-  [GetShippingAddressSelectionViewController() loadModel];
-
-  ASSERT_EQ(1, NumberOfSections());
-  // One item for each of shipping addresses plus 2 for the message and the add
-  // button.
-  ASSERT_EQ(4U, static_cast<unsigned int>(NumberOfItemsInSection(0)));
-
-  // The first item should be of type TextAndMessageItem.
-  id item = GetCollectionViewItem(0, 0);
-  EXPECT_TRUE([item isMemberOfClass:[PaymentsTextItem class]]);
-
-  // The next two items should be of type AutofillProfileItem. The first one
-  // should appear to be selected.
-  item = GetCollectionViewItem(0, 1);
-  ASSERT_TRUE([item isMemberOfClass:[AutofillProfileItem class]]);
-  AutofillProfileItem* shipping_address_item = item;
-  EXPECT_EQ(MDCCollectionViewCellAccessoryCheckmark,
-            shipping_address_item.accessoryType);
-
-  item = GetCollectionViewItem(0, 2);
-  EXPECT_TRUE([item isMemberOfClass:[AutofillProfileItem class]]);
-  shipping_address_item = item;
-  EXPECT_EQ(MDCCollectionViewCellAccessoryNone,
-            shipping_address_item.accessoryType);
-
-  // The last item should also be of type TextAndMessageItem.
-  item = GetCollectionViewItem(0, 3);
-  EXPECT_TRUE([item isMemberOfClass:[PaymentsTextItem class]]);
-
-  // Test the error state.
-  [GetShippingAddressSelectionViewController() setErrorMessage:@"Lorem ipsum"];
-  [GetShippingAddressSelectionViewController() loadModel];
-  ASSERT_EQ(1, NumberOfSections());
-  // There should stil be 4 items in total.
-  ASSERT_EQ(4U, static_cast<unsigned int>(NumberOfItemsInSection(0)));
-
-  // Test the pending state.
-  [GetShippingAddressSelectionViewController() setPending:YES];
-  [GetShippingAddressSelectionViewController() loadModel];
-
-  ASSERT_EQ(1, NumberOfSections());
-  // There should be only one item.
-  ASSERT_EQ(1U, static_cast<unsigned int>(NumberOfItemsInSection(0)));
-
-  // The item should be of type StatusItem.
-  item = GetCollectionViewItem(0, 0);
-  EXPECT_TRUE([item isMemberOfClass:[StatusItem class]]);
-}
diff --git a/ios/chrome/browser/prefs/browser_prefs.mm b/ios/chrome/browser/prefs/browser_prefs.mm
index 34466e8..568823b 100644
--- a/ios/chrome/browser/prefs/browser_prefs.mm
+++ b/ios/chrome/browser/prefs/browser_prefs.mm
@@ -33,8 +33,8 @@
 #include "components/ssl_config/ssl_config_service_manager.h"
 #include "components/strings/grit/components_locale_settings.h"
 #include "components/sync/base/sync_prefs.h"
+#include "components/translate/core/browser/translate_pref_names.h"
 #include "components/translate/core/browser/translate_prefs.h"
-#include "components/translate/core/common/translate_pref_names.h"
 #include "components/update_client/update_client.h"
 #include "components/variations/service/variations_service.h"
 #include "components/web_resource/web_resource_pref_names.h"
diff --git a/ios/chrome/browser/resources/Settings.bundle/Experimental.plist b/ios/chrome/browser/resources/Settings.bundle/Experimental.plist
index e5e22800..a931c238 100644
--- a/ios/chrome/browser/resources/Settings.bundle/Experimental.plist
+++ b/ios/chrome/browser/resources/Settings.bundle/Experimental.plist
@@ -184,28 +184,6 @@
 			<key>Type</key>
 			<string>PSMultiValueSpecifier</string>
 			<key>Title</key>
-			<string>Enable Download Image Renaming</string>
-			<key>Key</key>
-			<string>EnableDownloadRenaming</string>
-			<key>DefaultValue</key>
-			<string></string>
-			<key>Values</key>
-			<array>
-				<string></string>
-				<string>Enabled</string>
-				<string>Disabled</string>
-			</array>
-			<key>Titles</key>
-			<array>
-				<string>Default</string>
-				<string>Enabled</string>
-				<string>Disabled</string>
-			</array>
-		</dict>
-		<dict>
-			<key>Type</key>
-			<string>PSMultiValueSpecifier</string>
-			<key>Title</key>
 			<string>Gaia Environment</string>
 			<key>Key</key>
 			<string>GAIAEnvironment</string>
diff --git a/ios/chrome/browser/sync/ios_chrome_synced_tab_delegate.mm b/ios/chrome/browser/sync/ios_chrome_synced_tab_delegate.mm
index 8e7f12f..e954fb9 100644
--- a/ios/chrome/browser/sync/ios_chrome_synced_tab_delegate.mm
+++ b/ios/chrome/browser/sync/ios_chrome_synced_tab_delegate.mm
@@ -9,6 +9,7 @@
 #include "components/sync_sessions/sync_sessions_client.h"
 #include "components/sync_sessions/synced_window_delegate.h"
 #include "components/sync_sessions/synced_window_delegates_getter.h"
+#include "components/sync_sessions/tab_node_pool.h"
 #include "ios/chrome/browser/sessions/ios_chrome_session_tab_helper.h"
 #include "ios/web/public/favicon_status.h"
 #include "ios/web/public/navigation_item.h"
@@ -36,7 +37,8 @@
 }  // namespace
 
 IOSChromeSyncedTabDelegate::IOSChromeSyncedTabDelegate(web::WebState* web_state)
-    : web_state_(web_state), sync_session_id_(0) {}
+    : web_state_(web_state),
+      sync_session_id_(sync_sessions::TabNodePool::kInvalidTabNodeID) {}
 
 IOSChromeSyncedTabDelegate::~IOSChromeSyncedTabDelegate() {}
 
diff --git a/ios/chrome/browser/translate/translate_egtest.mm b/ios/chrome/browser/translate/translate_egtest.mm
index cce39fb..371d7e99 100644
--- a/ios/chrome/browser/translate/translate_egtest.mm
+++ b/ios/chrome/browser/translate/translate_egtest.mm
@@ -12,8 +12,8 @@
 #include "components/strings/grit/components_strings.h"
 #include "components/translate/core/browser/translate_download_manager.h"
 #include "components/translate/core/browser/translate_manager.h"
+#include "components/translate/core/browser/translate_pref_names.h"
 #include "components/translate/core/common/translate_constants.h"
-#include "components/translate/core/common/translate_pref_names.h"
 #include "components/translate/core/common/translate_switches.h"
 #include "components/translate/ios/browser/ios_translate_driver.h"
 #import "components/translate/ios/browser/js_translate_manager.h"
diff --git a/ios/chrome/browser/ui/authentication/signin_promo_item.mm b/ios/chrome/browser/ui/authentication/signin_promo_item.mm
index ed05eae..9a2a52e0 100644
--- a/ios/chrome/browser/ui/authentication/signin_promo_item.mm
+++ b/ios/chrome/browser/ui/authentication/signin_promo_item.mm
@@ -48,7 +48,7 @@
     _signinPromoView = [[SigninPromoView alloc] initWithFrame:self.bounds];
     _signinPromoView.translatesAutoresizingMaskIntoConstraints = NO;
     [contentView addSubview:_signinPromoView];
-    AddSameSizeConstraint(_signinPromoView, contentView);
+    AddSameConstraints(_signinPromoView, contentView);
   }
   return self;
 }
diff --git a/ios/chrome/browser/ui/bookmarks/bookmark_interaction_controller.mm b/ios/chrome/browser/ui/bookmarks/bookmark_interaction_controller.mm
index 44c9dd0d..289d4754f 100644
--- a/ios/chrome/browser/ui/bookmarks/bookmark_interaction_controller.mm
+++ b/ios/chrome/browser/ui/bookmarks/bookmark_interaction_controller.mm
@@ -150,7 +150,8 @@
   const BookmarkNode* defaultFolder =
       [[self class] folderForNewBookmarksInBrowserState:_browserState];
   self.bookmarkModel->AddURL(defaultFolder, defaultFolder->child_count(),
-                             base::SysNSStringToUTF16(tab.title), tab.url);
+                             base::SysNSStringToUTF16(tab.title),
+                             tab.lastCommittedURL);
 
   MDCSnackbarMessageAction* action = [[MDCSnackbarMessageAction alloc] init];
   __weak BookmarkInteractionController* weakSelf = self;
@@ -184,7 +185,8 @@
   DCHECK(tab);
 
   const BookmarkNode* bookmark =
-      self.bookmarkModel->GetMostRecentlyAddedUserNodeForURL(tab.url);
+      self.bookmarkModel->GetMostRecentlyAddedUserNodeForURL(
+          tab.lastCommittedURL);
   if (!bookmark)
     return;
 
diff --git a/ios/chrome/browser/ui/browser_view_controller.mm b/ios/chrome/browser/ui/browser_view_controller.mm
index 5bb9155b..0f622e4 100644
--- a/ios/chrome/browser/ui/browser_view_controller.mm
+++ b/ios/chrome/browser/ui/browser_view_controller.mm
@@ -2595,13 +2595,7 @@
   if (isImage) {
     web::Referrer referrer([_model currentTab].url, params.referrer_policy);
     // Save Image.
-    if (experimental_flags::IsDownloadRenamingEnabled()) {
-      title = l10n_util::GetNSStringWithFixup(
-          IDS_IOS_CONTENT_CONTEXT_DOWNLOADIMAGE);
-    } else {
-      title =
-          l10n_util::GetNSStringWithFixup(IDS_IOS_CONTENT_CONTEXT_SAVEIMAGE);
-    }
+    title = l10n_util::GetNSStringWithFixup(IDS_IOS_CONTENT_CONTEXT_SAVEIMAGE);
     action = ^{
       Record(ACTION_SAVE_IMAGE, isImage, isLink);
       [weakSelf saveImageAtURL:imageUrl referrer:referrer];
@@ -3034,9 +3028,9 @@
                                      browserState:_browserState
                                        colorCache:_dominantColorCache
                                webToolbarDelegate:self
-                                         tabModel:_model];
+                                         tabModel:_model
+                             parentViewController:self];
     pageController.swipeRecognizerProvider = self.sideSwipeController;
-    pageController.parentViewController = self;
 
     // Panel is always NTP for iPhone.
     NewTabPage::PanelIdentifier panelType = NewTabPage::kMostVisitedPanel;
diff --git a/ios/chrome/browser/ui/colors/BUILD.gn b/ios/chrome/browser/ui/colors/BUILD.gn
index f49ba7b..b1381eb 100644
--- a/ios/chrome/browser/ui/colors/BUILD.gn
+++ b/ios/chrome/browser/ui/colors/BUILD.gn
@@ -3,6 +3,7 @@
 # found in the LICENSE file.
 
 source_set("colors") {
+  configs += [ "//build/config/compiler:enable_arc" ]
   sources = [
     "MDCPalette+CrAdditions.h",
     "MDCPalette+CrAdditions.mm",
diff --git a/ios/chrome/browser/ui/colors/MDCPalette+CrAdditions.mm b/ios/chrome/browser/ui/colors/MDCPalette+CrAdditions.mm
index 2e2708e..22d6691 100644
--- a/ios/chrome/browser/ui/colors/MDCPalette+CrAdditions.mm
+++ b/ios/chrome/browser/ui/colors/MDCPalette+CrAdditions.mm
@@ -6,6 +6,10 @@
 
 #include "ios/web/public/web_thread.h"
 
+#if !defined(__has_feature) || !__has_feature(objc_arc)
+#error "This file requires ARC support."
+#endif
+
 @implementation MDCPalette (CrAdditions)
 
 namespace {
@@ -50,29 +54,25 @@
 + (void)cr_setBluePalette:(MDCPalette*)palette {
   DCHECK(!web::WebThread::IsThreadInitialized(web::WebThread::UI) ||
          web::WebThread::CurrentlyOn(web::WebThread::UI));
-  [g_bluePalette autorelease];
-  g_bluePalette = [palette retain];
+  g_bluePalette = palette;
 }
 
 + (void)cr_setRedPalette:(MDCPalette*)palette {
   DCHECK(!web::WebThread::IsThreadInitialized(web::WebThread::UI) ||
          web::WebThread::CurrentlyOn(web::WebThread::UI));
-  [g_redPalette autorelease];
-  g_redPalette = [palette retain];
+  g_redPalette = palette;
 }
 
 + (void)cr_setGreenPalette:(MDCPalette*)palette {
   DCHECK(!web::WebThread::IsThreadInitialized(web::WebThread::UI) ||
          web::WebThread::CurrentlyOn(web::WebThread::UI));
-  [g_greenPalette autorelease];
-  g_greenPalette = [palette retain];
+  g_greenPalette = palette;
 }
 
 + (void)cr_setYellowPalette:(MDCPalette*)palette {
   DCHECK(!web::WebThread::IsThreadInitialized(web::WebThread::UI) ||
          web::WebThread::CurrentlyOn(web::WebThread::UI));
-  [g_yellowPalette autorelease];
-  g_yellowPalette = [palette retain];
+  g_yellowPalette = palette;
 }
 
 @end
diff --git a/ios/chrome/browser/ui/content_suggestions/cells/content_suggestions_article_item.mm b/ios/chrome/browser/ui/content_suggestions/cells/content_suggestions_article_item.mm
index 8781014..214804e 100644
--- a/ios/chrome/browser/ui/content_suggestions/cells/content_suggestions_article_item.mm
+++ b/ios/chrome/browser/ui/content_suggestions/cells/content_suggestions_article_item.mm
@@ -283,7 +283,7 @@
     [_noImageIcon.heightAnchor constraintEqualToAnchor:_noImageIcon.widthAnchor]
   ]];
 
-  AddSameSizeConstraint(_contentImageView, _imageContainer);
+  AddSameConstraints(_contentImageView, _imageContainer);
 
   ApplyVisualConstraintsWithMetrics(
       @[
diff --git a/ios/chrome/browser/ui/content_suggestions/cells/content_suggestions_footer_item.mm b/ios/chrome/browser/ui/content_suggestions/cells/content_suggestions_footer_item.mm
index 8f1d90927..2c66da9 100644
--- a/ios/chrome/browser/ui/content_suggestions/cells/content_suggestions_footer_item.mm
+++ b/ios/chrome/browser/ui/content_suggestions/cells/content_suggestions_footer_item.mm
@@ -74,7 +74,7 @@
     [_button.heightAnchor
         constraintGreaterThanOrEqualToConstant:kMinimalCellHeight]
         .active = YES;
-    AddSameSizeConstraint(self.contentView, _button);
+    AddSameConstraints(self.contentView, _button);
   }
   return self;
 }
diff --git a/ios/chrome/browser/ui/contextual_search/BUILD.gn b/ios/chrome/browser/ui/contextual_search/BUILD.gn
index e0c44276..5aaff06a 100644
--- a/ios/chrome/browser/ui/contextual_search/BUILD.gn
+++ b/ios/chrome/browser/ui/contextual_search/BUILD.gn
@@ -32,6 +32,7 @@
 }
 
 source_set("contextual_search") {
+  configs += [ "//build/config/compiler:enable_arc" ]
   sources = [
     "contextual_search_context.cc",
     "contextual_search_context.h",
diff --git a/ios/chrome/browser/ui/contextual_search/contextual_search_controller.h b/ios/chrome/browser/ui/contextual_search/contextual_search_controller.h
index 2294b35b..cfd346b 100644
--- a/ios/chrome/browser/ui/contextual_search/contextual_search_controller.h
+++ b/ios/chrome/browser/ui/contextual_search/contextual_search_controller.h
@@ -92,7 +92,7 @@
 // the old panel and its views.
 // This property can only be assigned a non-nil value, and can only be assigned
 // a value when its current value is nil.
-@property(nonatomic, assign) ContextualSearchPanelView* panel;
+@property(nonatomic, weak) ContextualSearchPanelView* panel;
 
 // Designated initializer.
 - (instancetype)initWithBrowserState:(ios::ChromeBrowserState*)browserState
diff --git a/ios/chrome/browser/ui/contextual_search/contextual_search_controller.mm b/ios/chrome/browser/ui/contextual_search/contextual_search_controller.mm
index cc6aacd..b21863b 100644
--- a/ios/chrome/browser/ui/contextual_search/contextual_search_controller.mm
+++ b/ios/chrome/browser/ui/contextual_search/contextual_search_controller.mm
@@ -8,13 +8,11 @@
 #include <utility>
 
 #include "base/ios/ios_util.h"
-#import "base/ios/weak_nsobject.h"
 #include "base/json/json_reader.h"
 #include "base/logging.h"
 #import "base/mac/bind_objc_block.h"
 #include "base/mac/foundation_util.h"
 #include "base/mac/scoped_block.h"
-#include "base/mac/scoped_nsobject.h"
 #include "base/strings/sys_string_conversions.h"
 #include "base/strings/utf_string_conversions.h"
 #include "base/time/time.h"
@@ -61,6 +59,10 @@
 // Returns |value| clamped so that min <= value <= max
 #define CLAMP(min, value, max) MAX(min, MIN(value, max))
 
+#if !defined(__has_feature) || !__has_feature(objc_arc)
+#error "This file requires ARC support."
+#endif
+
 namespace {
 // command prefix for injected JavaScript.
 const std::string kCommandPrefix = "contextualSearch";
@@ -124,7 +126,7 @@
 
 NSArray* StringValueToRectArray(const std::string& list) {
   NSString* nsList = base::SysUTF8ToNSString(list);
-  NSMutableArray* rectsArray = [[[NSMutableArray alloc] init] autorelease];
+  NSMutableArray* rectsArray = [[NSMutableArray alloc] init];
   NSArray* items = [nsList componentsSeparatedByString:@","];
   for (NSString* item : items) {
     CGRect rect = StringValueToRect(item);
@@ -151,11 +153,11 @@
                                          TouchToSearchPermissionsChangeAudience>
 
 // Controller delegate for the controller to call back to.
-@property(nonatomic, readwrite, assign) id<ContextualSearchControllerDelegate>
+@property(nonatomic, readwrite, weak) id<ContextualSearchControllerDelegate>
     controllerDelegate;
 
 // Permissions interface for this feature. Property is readwrite for testing.
-@property(nonatomic, readwrite, retain)
+@property(nonatomic, readwrite, strong)
     TouchToSearchPermissionsMediator* permissions;
 
 // Synchronous method executed by -asynchronouslyEnableContextualSearch:
@@ -243,13 +245,13 @@
 
 @implementation ContextualSearchController {
   // Permissions interface for this feature.
-  base::scoped_nsobject<TouchToSearchPermissionsMediator> _permissions;
+  TouchToSearchPermissionsMediator* _permissions;
 
   // WebState for the tab this object is attached to.
   web::WebState* _webState;
 
   // Access to the web view from |_webState|.
-  base::scoped_nsprotocol<id<CRWWebViewProxy>> _webViewProxy;
+  id<CRWWebViewProxy> _webViewProxy;
 
   // Observer for |_webState|.
   std::unique_ptr<ContextualSearchWebStateObserver> _webStateObserver;
@@ -258,22 +260,22 @@
   std::unique_ptr<ContextualSearchWebStateObserver> _searchTabWebStateObserver;
 
   // Object that manages find_in_page.js injection into the web view.
-  base::WeakNSObject<JsContextualSearchManager> _contextualSearchJsManager;
+  __weak JsContextualSearchManager* _contextualSearchJsManager;
 
   // Gesture reccognizer for contextual search taps.
-  base::scoped_nsobject<UITapGestureRecognizer> _tapRecognizer;
+  UITapGestureRecognizer* _tapRecognizer;
 
   // Gesture reccognizer for double tap. It is used to prevent |_tapRecognizer|
   // from firing if there is a double tap on the web view. It is disabled when
   // the panel is displayed, since any tap will dismiss the panel in that case.
-  base::scoped_nsobject<UITapGestureRecognizer> _doubleTapRecognizer;
+  UITapGestureRecognizer* _doubleTapRecognizer;
 
   // Gesture recognizer for long-tap copy.
-  base::scoped_nsobject<UILongPressGestureRecognizer> _copyGestureRecognizer;
+  UILongPressGestureRecognizer* _copyGestureRecognizer;
 
   // Gesture recognizer to detect taps outside of the CS interface that would
   // cause it to dismiss.
-  base::scoped_nsobject<WindowGestureObserver> _dismissRecognizer;
+  WindowGestureObserver* _dismissRecognizer;
 
   // Context information retrieved from a search tap.
   std::shared_ptr<ContextualSearchContext> _searchContext;
@@ -286,22 +288,22 @@
 
   // The panel view controlled by this object; it is created externally and
   // owned by its superview. There is no guarantee about its lifetime.
-  base::WeakNSObject<ContextualSearchPanelView> _panelView;
+  __weak ContextualSearchPanelView* _panelView;
 
   // The view containing the highlighting of the search terms.
-  base::WeakNSObject<ContextualSearchHighlighterView> _contextualHighlightView;
+  __weak ContextualSearchHighlighterView* _contextualHighlightView;
 
   // Content view displayed in the peeking section of the panel.
-  base::scoped_nsobject<ContextualSearchHeaderView> _headerView;
+  ContextualSearchHeaderView* _headerView;
 
   // Vertical constraints for layout of the search tab.
-  base::scoped_nsobject<NSArray> _searchTabVerticalConstraints;
+  NSArray* _searchTabVerticalConstraints;
 
   // Container view for the opt-out promo and the search tab view.
-  base::scoped_nsobject<ContextualSearchResultsView> _searchResultsView;
+  ContextualSearchResultsView* _searchResultsView;
 
   // View for the opt-out promo.
-  base::scoped_nsobject<ContextualSearchPromoView> _promoView;
+  ContextualSearchPromoView* _promoView;
 
   // The tab that should be used as the opener for the search tab.
   Tab* _opener;
@@ -377,7 +379,7 @@
   BOOL _preventScrollToShowSelection;
 
   // The time of the last dismiss.
-  base::scoped_nsobject<NSDate> _lastDismiss;
+  NSDate* _lastDismiss;
 }
 
 @synthesize enabled = _enabled;
@@ -388,8 +390,8 @@
                             delegate:(id<ContextualSearchControllerDelegate>)
                                          delegate {
   if ((self = [super init])) {
-    _permissions.reset([[TouchToSearchPermissionsMediator alloc]
-        initWithBrowserState:browserState]);
+    _permissions = [[TouchToSearchPermissionsMediator alloc]
+        initWithBrowserState:browserState];
     [_permissions setAudience:self];
 
     self.controllerDelegate = delegate;
@@ -398,12 +400,12 @@
     // but it will observe and un-observe the web tabs as it changes over time.
     _webStateObserver.reset(new ContextualSearchWebStateObserver(self));
 
-    _copyGestureRecognizer.reset([[UILongPressGestureRecognizer alloc]
+    _copyGestureRecognizer = [[UILongPressGestureRecognizer alloc]
         initWithTarget:self
-                action:@selector(handleLongPressFrom:)]);
+                action:@selector(handleLongPressFrom:)];
 
-    base::WeakNSObject<ContextualSearchController> weakself(self);
-    auto callback = base::BindBlock(
+    __weak ContextualSearchController* weakself = self;
+    auto callback = base::BindBlockArc(
         ^(ContextualSearchDelegate::SearchResolution resolution) {
           [weakself updateForResolvedSearch:resolution];
         });
@@ -418,7 +420,7 @@
 }
 
 - (void)setPermissions:(TouchToSearchPermissionsMediator*)permissions {
-  _permissions.reset(permissions);
+  _permissions = permissions;
 }
 
 - (ContextualSearchPanelView*)panel {
@@ -430,28 +432,28 @@
   DCHECK(panel);
 
   // Save the new panel, set up observation and delegation relationships.
-  _panelView.reset(panel);
+  _panelView = panel;
   [_panelView addMotionObserver:self];
   [_dismissRecognizer setViewToExclude:_panelView];
 
   // Create new subviews.
   NSMutableArray* panelContents = [NSMutableArray arrayWithCapacity:3];
 
-  _headerView.reset([[ContextualSearchHeaderView alloc]
-      initWithHeight:[_panelView configuration].peekingHeight]);
+  _headerView = [[ContextualSearchHeaderView alloc]
+      initWithHeight:[_panelView configuration].peekingHeight];
   [_headerView addGestureRecognizer:_copyGestureRecognizer];
   [_headerView setTapHandler:self];
 
   [panelContents addObject:_headerView];
 
   if (self.permissions.preferenceState == TouchToSearch::UNDECIDED) {
-    _promoView.reset([[ContextualSearchPromoView alloc] initWithFrame:CGRectZero
-                                                             delegate:self]);
+    _promoView = [[ContextualSearchPromoView alloc] initWithFrame:CGRectZero
+                                                         delegate:self];
     [panelContents addObject:_promoView];
   }
 
-  _searchResultsView.reset(
-      [[ContextualSearchResultsView alloc] initWithFrame:CGRectZero]);
+  _searchResultsView =
+      [[ContextualSearchResultsView alloc] initWithFrame:CGRectZero];
   [_searchResultsView setPromoter:self];
   [_searchResultsView setPreloadChecker:self];
   [panelContents addObject:_searchResultsView];
@@ -463,7 +465,7 @@
   // Asynchronously enables contextual search, so that some preferences
   // (UIAccessibilityIsVoiceOverRunning(), for example) have time to synchronize
   // with their own notifications.
-  base::WeakNSObject<ContextualSearchController> weakSelf(self);
+  __weak ContextualSearchController* weakSelf = self;
   dispatch_async(dispatch_get_main_queue(), ^{
     [weakSelf doEnableContextualSearch:enabled];
   });
@@ -486,7 +488,7 @@
   if (_webViewProxy) {
     [[_webViewProxy scrollViewProxy] removeObserver:self];
   }
-  _webViewProxy.reset([webViewProxy retain]);
+  _webViewProxy = webViewProxy;
   if (_webViewProxy) {
     [[_webViewProxy scrollViewProxy] addObserver:self];
   }
@@ -500,9 +502,9 @@
 - (void)setWebState:(web::WebState*)webState {
   [self disconnectWebState];
   if (webState) {
-    _contextualSearchJsManager.reset(static_cast<JsContextualSearchManager*>(
+    _contextualSearchJsManager = static_cast<JsContextualSearchManager*>(
         [webState->GetJSInjectionReceiver()
-            instanceOfClass:[JsContextualSearchManager class]]));
+            instanceOfClass:[JsContextualSearchManager class]]);
     _webState = webState;
     _webStateObserver->ObserveWebState(webState);
     [self updateWebViewProxy:webState->GetWebViewProxy()];
@@ -519,12 +521,11 @@
     if (!_webStateEnabled) {
       DOMAlteringLock::CreateForWebState([self webState]);
 
-      base::WeakNSObject<ContextualSearchController> weakSelf(self);
-      auto callback =
-          base::BindBlock(^bool(const base::DictionaryValue& JSON,
-                                const GURL& originURL, bool userIsInteracting) {
-            base::scoped_nsobject<ContextualSearchController> strongSelf(
-                [weakSelf retain]);
+      __weak ContextualSearchController* weakSelf = self;
+      auto callback = base::BindBlockArc(
+          ^bool(const base::DictionaryValue& JSON, const GURL& originURL,
+                bool userIsInteracting) {
+            ContextualSearchController* strongSelf = weakSelf;
             // |originURL| and |isInteracting| aren't used.
             return [strongSelf handleScriptCommand:JSON];
           });
@@ -532,16 +533,16 @@
 
       // |_doubleTapRecognizer| should be added to the web view before
       // |_tapRecognizer| so |_tapRecognizer| can require it to fail.
-      _doubleTapRecognizer.reset([[UITapGestureRecognizer alloc]
-          initWithTarget:self
-                  action:@selector(ignoreTap:)]);
+      _doubleTapRecognizer =
+          [[UITapGestureRecognizer alloc] initWithTarget:self
+                                                  action:@selector(ignoreTap:)];
       [_doubleTapRecognizer setDelegate:self];
       [_doubleTapRecognizer setNumberOfTapsRequired:2];
       [_webViewProxy addGestureRecognizer:_doubleTapRecognizer];
 
-      _tapRecognizer.reset([[UITapGestureRecognizer alloc]
+      _tapRecognizer = [[UITapGestureRecognizer alloc]
           initWithTarget:self
-                  action:@selector(handleTapFrom:)]);
+                  action:@selector(handleTapFrom:)];
       [_tapRecognizer setDelegate:self];
       [_webViewProxy addGestureRecognizer:_tapRecognizer];
 
@@ -584,7 +585,7 @@
 
 - (void)disconnectWebState {
   if (_webState) {
-    _contextualSearchJsManager.reset();
+    _contextualSearchJsManager = nil;
     _webStateObserver->ObserveWebState(nullptr);
     [self updateWebViewProxy:nil];
     [self disableCurrentWebState];
@@ -595,9 +596,9 @@
   if (!_panelView)
     return;
   if (!_dismissRecognizer) {
-    _dismissRecognizer.reset([[WindowGestureObserver alloc]
+    _dismissRecognizer = [[WindowGestureObserver alloc]
         initWithTarget:self
-                action:@selector(handleWindowGesture:)]);
+                action:@selector(handleWindowGesture:)];
     [_dismissRecognizer setViewToExclude:_panelView];
     [[_panelView window] addGestureRecognizer:_dismissRecognizer];
   }
@@ -616,11 +617,10 @@
 
 - (void)dealloc {
   [self close];
-  [super dealloc];
 }
 
 - (void)handleWindowGesture:(UIGestureRecognizer*)recognizer {
-  DCHECK(recognizer == _dismissRecognizer.get());
+  DCHECK(recognizer == _dismissRecognizer);
   [self dismissPane:ContextualSearch::BASE_PAGE_TAP];
 }
 
@@ -706,7 +706,7 @@
     bool selectionValid;
     if (!JSONCommand.GetBoolean("valid", &selectionValid))
       selectionValid = true;
-    base::WeakNSObject<ContextualSearchController> weakSelf(self);
+    __weak ContextualSearchController* weakSelf = self;
     ProceduralBlockWithBool lockAction = ^(BOOL lockAcquired) {
       if (lockAcquired) {
         [weakSelf handleSelectionChanged:selectedText
@@ -732,7 +732,7 @@
 }
 
 - (void)handleTapFrom:(UIGestureRecognizer*)recognizer {
-  DCHECK(recognizer == _tapRecognizer.get());
+  DCHECK(recognizer == _tapRecognizer);
   // Taps will be triggered by long-presses to make a selection in the webview,
   // as well as 'regular' taps. Long-presses that create a selection will set
   // |_newSelectionDisplaying| as well as populating _selectedText (this happens
@@ -774,7 +774,7 @@
     dispatch_time_t dispatch = dispatch_time(
         DISPATCH_TIME_NOW,
         static_cast<int64_t>(kDOMModificationDelaySeconds * NSEC_PER_SEC));
-    base::WeakNSObject<ContextualSearchController> weakSelf(self);
+    __weak ContextualSearchController* weakSelf = self;
     dispatch_after(dispatch, dispatch_get_main_queue(), ^{
       [weakSelf handleTapAtPoint:tapPoint];
     });
@@ -783,7 +783,7 @@
 }
 
 - (void)handleLongPressFrom:(UIGestureRecognizer*)recognizer {
-  DCHECK(recognizer == _copyGestureRecognizer.get());
+  DCHECK(recognizer == _copyGestureRecognizer);
   if (recognizer.state != UIGestureRecognizerStateEnded)
     return;
 
@@ -827,8 +827,7 @@
   relativeTapPoint.x /= contentSize.width;
   relativeTapPoint.y /= contentSize.height;
 
-  base::WeakNSProtocol<id<CRWWebViewProxy>> weakWebViewProxy(
-      _webViewProxy.get());
+  __weak id<CRWWebViewProxy> weakWebViewProxy = _webViewProxy;
   void (^handler)(NSString*) = ^(NSString* result) {
     [_tapRecognizer setEnabled:YES];
     // If there has been an error in the javascript, return can be nil.
@@ -1022,7 +1021,7 @@
              animated:[_panelView state] != ContextualSearch::DISMISSED];
     if (_resolvedSearch.start_offset != -1 &&
         _resolvedSearch.end_offset != -1) {
-      base::WeakNSObject<ContextualSearchController> weakSelf(self);
+      __weak ContextualSearchController* weakSelf = self;
       [_contextualSearchJsManager
           expandHighlightToStartOffset:_resolvedSearch.start_offset
                              endOffset:_resolvedSearch.end_offset
@@ -1076,7 +1075,7 @@
 - (void)scrollToShowSelection:(CRWWebViewScrollViewProxy*)scrollView {
   if (!scrollView || _preventScrollToShowSelection)
     return;
-  if (!_contextualHighlightView.get()) {
+  if (!_contextualHighlightView) {
     return;
   }
   CGRect highlightBoundingRect = [_contextualHighlightView boundingRect];
@@ -1164,13 +1163,12 @@
   if (![self webState]) {
     return;
   }
-  if (!_contextualHighlightView.get() && [rects count]) {
+  if (!_contextualHighlightView && [rects count]) {
     CGRect frame = [[self webState]->GetWebViewProxy() frame];
     ContextualSearchHighlighterView* highlightView =
-        [[[ContextualSearchHighlighterView alloc] initWithFrame:frame
-                                                       delegate:self]
-            autorelease];
-    _contextualHighlightView.reset(highlightView);
+        [[ContextualSearchHighlighterView alloc] initWithFrame:frame
+                                                      delegate:self];
+    _contextualHighlightView = highlightView;
     [[self webState]->GetWebViewProxy() addSubview:highlightView];
   }
   CGPoint scroll = [[_webViewProxy scrollViewProxy] contentOffset];
@@ -1213,7 +1211,7 @@
   [[_panelView window] removeGestureRecognizer:_dismissRecognizer];
   _delegate.reset();
   [_searchResultsView setActive:NO];
-  _searchResultsView.reset();
+  _searchResultsView = nil;
 }
 
 #pragma mark - Promo view management
@@ -1289,7 +1287,7 @@
 - (void)panelWillPromote:(ContextualSearchPanelView*)panel {
   DCHECK(panel == _panelView);
   [panel removeMotionObserver:self];
-  _panelView.reset();
+  _panelView = nil;
   [self setState:ContextualSearch::DISMISSED
           reason:ContextualSearch::TAB_PROMOTION];
 }
@@ -1423,7 +1421,7 @@
 
 - (void)cleanUpWebStateForDismissWithCompletion:
     (ProceduralBlock)completionHandler {
-  _lastDismiss.reset([[NSDate date] retain]);
+  _lastDismiss = [NSDate date];
   _currentTapCancelled = YES;
   ContextualSearch::PanelState originalState = [_panelView state];
   if (originalState == ContextualSearch::DISMISSED) {
@@ -1448,10 +1446,10 @@
   ContextualSearchDelegate::SearchResolution blank;
   _resolvedSearch = blank;
   if (completionHandler) {
-    base::WeakNSObject<ContextualSearchController> weakSelf(self);
+    __weak ContextualSearchController* weakSelf = self;
     ProceduralBlock javaScriptCompletion = ^{
-      if ([self webState]) {
-        DOMAlteringLock::FromWebState([self webState])->Release(self);
+      if ([weakSelf webState]) {
+        DOMAlteringLock::FromWebState([weakSelf webState])->Release(weakSelf);
         completionHandler();
       }
     };
@@ -1520,9 +1518,8 @@
 }
 
 - (void)promoViewSettingsTapped {
-  base::scoped_nsobject<GenericChromeCommand> command(
-      [[GenericChromeCommand alloc]
-          initWithTag:IDC_SHOW_CONTEXTUAL_SEARCH_SETTINGS]);
+  GenericChromeCommand* command = [[GenericChromeCommand alloc]
+      initWithTag:IDC_SHOW_CONTEXTUAL_SEARCH_SETTINGS];
   UIWindow* main_window = [[UIApplication sharedApplication] keyWindow];
   [main_window chromeExecuteCommand:command];
 }
@@ -1550,8 +1547,8 @@
 - (BOOL)gestureRecognizer:(UIGestureRecognizer*)gestureRecognizer
     shouldRecognizeSimultaneouslyWithGestureRecognizer:
         (UIGestureRecognizer*)otherGestureRecognizer {
-  return gestureRecognizer == _tapRecognizer.get() ||
-         gestureRecognizer == _doubleTapRecognizer.get();
+  return gestureRecognizer == _tapRecognizer ||
+         gestureRecognizer == _doubleTapRecognizer;
 }
 
 #pragma mark - CRWWebViewScrollViewObserver methods
@@ -1623,7 +1620,7 @@
 #pragma mark - ContextualSearchHighlighterDelegate methods
 
 - (void)updateHighlight {
-  base::WeakNSObject<ContextualSearchController> weakSelf(self);
+  __weak ContextualSearchController* weakSelf = self;
   [_contextualSearchJsManager
       highlightRectsWithCompletionHandler:^void(id result, NSError* error) {
         [weakSelf handleHighlightJSResult:result withError:error];
diff --git a/ios/chrome/browser/ui/contextual_search/contextual_search_header_view.h b/ios/chrome/browser/ui/contextual_search/contextual_search_header_view.h
index de0c7d7..ecc31896 100644
--- a/ios/chrome/browser/ui/contextual_search/contextual_search_header_view.h
+++ b/ios/chrome/browser/ui/contextual_search/contextual_search_header_view.h
@@ -12,7 +12,7 @@
 @interface ContextualSearchHeaderView
     : UIView<ContextualSearchPanelMotionObserver>
 
-@property(nonatomic, assign) id<ContextualSearchPanelTapHandler> tapHandler;
+@property(nonatomic, weak) id<ContextualSearchPanelTapHandler> tapHandler;
 
 - (instancetype)initWithHeight:(CGFloat)height NS_DESIGNATED_INITIALIZER;
 
diff --git a/ios/chrome/browser/ui/contextual_search/contextual_search_header_view.mm b/ios/chrome/browser/ui/contextual_search/contextual_search_header_view.mm
index f156b86..5656d85c 100644
--- a/ios/chrome/browser/ui/contextual_search/contextual_search_header_view.mm
+++ b/ios/chrome/browser/ui/contextual_search/contextual_search_header_view.mm
@@ -4,10 +4,8 @@
 
 #import "ios/chrome/browser/ui/contextual_search/contextual_search_header_view.h"
 
-#import "base/ios/weak_nsobject.h"
 #include "base/logging.h"
 #include "base/mac/scoped_cftyperef.h"
-#include "base/mac/scoped_nsobject.h"
 #import "ios/chrome/browser/ui/contextual_search/contextual_search_panel_view.h"
 #import "ios/chrome/browser/ui/uikit_ui_util.h"
 #import "ios/chrome/common/material_timing.h"
@@ -16,6 +14,10 @@
 #include "ios/public/provider/chrome/browser/images/branded_image_provider.h"
 #import "ios/third_party/material_components_ios/src/components/Typography/src/MaterialTypography.h"
 
+#if !defined(__has_feature) || !__has_feature(objc_arc)
+#error "This file requires ARC support."
+#endif
+
 namespace {
 const CGFloat kHorizontalMargin = 24.0;
 const CGFloat kHorizontalLayoutGap = 16.0;
@@ -105,8 +107,8 @@
   // Label showing the text the user tapped on in the web page, and any
   // additional context that will be displayed.
   __unsafe_unretained UILabel* _textLabel;
-  base::WeakNSProtocol<id<ContextualSearchPanelTapHandler>> _tapHandler;
-  base::scoped_nsobject<UIGestureRecognizer> _tapRecognizer;
+  __weak id<ContextualSearchPanelTapHandler> _tapHandler;
+  UIGestureRecognizer* _tapRecognizer;
 }
 
 + (BOOL)requiresConstraintBasedLayout {
@@ -122,27 +124,30 @@
 
   self.translatesAutoresizingMaskIntoConstraints = NO;
   self.backgroundColor = [UIColor whiteColor];
-  _tapRecognizer.reset([[UITapGestureRecognizer alloc] init]);
+  _tapRecognizer = [[UITapGestureRecognizer alloc] init];
   [self addGestureRecognizer:_tapRecognizer];
   [_tapRecognizer addTarget:self action:@selector(panelWasTapped:)];
 
   UIImage* logoImage = ios::GetChromeBrowserProvider()
                            ->GetBrandedImageProvider()
                            ->GetContextualSearchHeaderImage();
-  _logo = [[[IrisingImageView alloc] initWithImage:logoImage] autorelease];
+  IrisingImageView* logo = [[IrisingImageView alloc] initWithImage:logoImage];
+  _logo = logo;
   _logo.translatesAutoresizingMaskIntoConstraints = NO;
   _logo.iris = 0.0;
 
-  _caret = [[[UIImageView alloc]
-      initWithImage:[UIImage imageNamed:@"expand_less"]] autorelease];
+  UIImageView* caret =
+      [[UIImageView alloc] initWithImage:[UIImage imageNamed:@"expand_less"]];
+  _caret = caret;
   _caret.translatesAutoresizingMaskIntoConstraints = NO;
   [_caret setContentHuggingPriority:UILayoutPriorityDefaultHigh
                             forAxis:UILayoutConstraintAxisVertical];
   [_caret setContentHuggingPriority:UILayoutPriorityDefaultHigh
                             forAxis:UILayoutConstraintAxisHorizontal];
 
-  _closeButton =
-      [[[TappableButton alloc] initWithFrame:CGRectZero] autorelease];
+  TappableButton* closeButton =
+      [[TappableButton alloc] initWithFrame:CGRectZero];
+  _closeButton = closeButton;
   _closeButton.translatesAutoresizingMaskIntoConstraints = NO;
   [_closeButton setImage:[UIImage imageNamed:@"card_close_button"]
                 forState:UIControlStateNormal];
@@ -154,7 +159,8 @@
                                   forAxis:UILayoutConstraintAxisHorizontal];
   _closeButton.alpha = 0;
 
-  _textLabel = [[[UILabel alloc] initWithFrame:CGRectZero] autorelease];
+  UILabel* textLabel = [[UILabel alloc] initWithFrame:CGRectZero];
+  _textLabel = textLabel;
   _textLabel.translatesAutoresizingMaskIntoConstraints = NO;
   _textLabel.font = [MDCTypography subheadFont];
   _textLabel.textAlignment = NSTextAlignmentNatural;
@@ -227,7 +233,7 @@
                         action:@selector(closePanel)
               forControlEvents:UIControlEventTouchUpInside];
   }
-  _tapHandler.reset(tapHandler);
+  _tapHandler = tapHandler;
   if (_tapHandler) {
     [_closeButton addTarget:_tapHandler
                      action:@selector(closePanel)
@@ -302,7 +308,7 @@
     followingTextRange:(NSRange)followingTextRange
               animated:(BOOL)animated {
   NSMutableAttributedString* styledText =
-      [[[NSMutableAttributedString alloc] initWithString:text] autorelease];
+      [[NSMutableAttributedString alloc] initWithString:text];
   [styledText addAttribute:NSForegroundColorAttributeName
                      value:[UIColor colorWithWhite:0 alpha:0.71f]
                      range:followingTextRange];
diff --git a/ios/chrome/browser/ui/contextual_search/contextual_search_highlighter_view.mm b/ios/chrome/browser/ui/contextual_search/contextual_search_highlighter_view.mm
index 7461001..bbc9ad8 100644
--- a/ios/chrome/browser/ui/contextual_search/contextual_search_highlighter_view.mm
+++ b/ios/chrome/browser/ui/contextual_search/contextual_search_highlighter_view.mm
@@ -5,9 +5,12 @@
 #import "ios/chrome/browser/ui/contextual_search/contextual_search_highlighter_view.h"
 
 #include "base/logging.h"
-#import "base/mac/scoped_nsobject.h"
 #import "ios/chrome/browser/ui/contextual_search/contextual_search_controller.h"
 
+#if !defined(__has_feature) || !__has_feature(objc_arc)
+#error "This file requires ARC support."
+#endif
+
 @implementation ContextualSearchHighlighterView {
   // Store size of the container view. If size change, text layout will likely
   // change and should be updated.
@@ -18,7 +21,7 @@
   CGFloat _zoom;
   CGFloat _offset;
 
-  __unsafe_unretained id<ContextualSearchHighlighterDelegate> _delegate;
+  __weak id<ContextualSearchHighlighterDelegate> _delegate;
 }
 
 - (instancetype)initWithFrame:(CGRect)frame
@@ -70,7 +73,7 @@
     rect.size.height *= zoom;
     rect.origin.x -= scroll.x;
     rect.origin.y += offset - scroll.y;
-    UIView* view = [[[UIView alloc] initWithFrame:rect] autorelease];
+    UIView* view = [[UIView alloc] initWithFrame:rect];
     [self addSubview:view];
     view.backgroundColor =
         [UIColor colorWithRed:0.67 green:0.88 blue:0.96 alpha:0.6];
diff --git a/ios/chrome/browser/ui/contextual_search/contextual_search_mask_view.mm b/ios/chrome/browser/ui/contextual_search/contextual_search_mask_view.mm
index 23592c6..e9651ec7 100644
--- a/ios/chrome/browser/ui/contextual_search/contextual_search_mask_view.mm
+++ b/ios/chrome/browser/ui/contextual_search/contextual_search_mask_view.mm
@@ -11,6 +11,10 @@
 // Linearly map |delta| in the range [0, 1] to a value in [min, max].
 #define LERP(min, max, delta) (min * (1 - delta) + max * delta)
 
+#if !defined(__has_feature) || !__has_feature(objc_arc)
+#error "This file requires ARC support."
+#endif
+
 namespace {
 const CGFloat kPhoneMaskLimit = 1.0;
 const CGFloat kPadMaskLimit = 0.8;
diff --git a/ios/chrome/browser/ui/contextual_search/contextual_search_metrics.mm b/ios/chrome/browser/ui/contextual_search/contextual_search_metrics.mm
index 78224fd..a776d878 100644
--- a/ios/chrome/browser/ui/contextual_search/contextual_search_metrics.mm
+++ b/ios/chrome/browser/ui/contextual_search/contextual_search_metrics.mm
@@ -9,6 +9,10 @@
 #include "base/metrics/histogram_macros.h"
 #include "base/time/time.h"
 
+#if !defined(__has_feature) || !__has_feature(objc_arc)
+#error "This file requires ARC support."
+#endif
+
 using ContextualSearch::PanelState;
 using ContextualSearch::StateChangeReason;
 
diff --git a/ios/chrome/browser/ui/contextual_search/contextual_search_panel_view.h b/ios/chrome/browser/ui/contextual_search/contextual_search_panel_view.h
index 5299df0..e0e82b40 100644
--- a/ios/chrome/browser/ui/contextual_search/contextual_search_panel_view.h
+++ b/ios/chrome/browser/ui/contextual_search/contextual_search_panel_view.h
@@ -21,7 +21,7 @@
 @property(nonatomic, assign) ContextualSearch::PanelState state;
 // Panel configuration, for motion observers that want to do different
 // computations around panel state and position.
-@property(nonatomic, readonly) PanelConfiguration* configuration;
+@property(nonatomic, strong, readonly) PanelConfiguration* configuration;
 
 // Create a panel view. It will need to have a delegate and controller assigned
 // to do anything useful.
diff --git a/ios/chrome/browser/ui/contextual_search/contextual_search_panel_view.mm b/ios/chrome/browser/ui/contextual_search/contextual_search_panel_view.mm
index 1b556aa99..ad94baa 100644
--- a/ios/chrome/browser/ui/contextual_search/contextual_search_panel_view.mm
+++ b/ios/chrome/browser/ui/contextual_search/contextual_search_panel_view.mm
@@ -5,10 +5,7 @@
 #import "ios/chrome/browser/ui/contextual_search/contextual_search_panel_view.h"
 
 #import "base/ios/crb_protocol_observers.h"
-#include "base/ios/weak_nsobject.h"
 #include "base/logging.h"
-#include "base/mac/scoped_block.h"
-#include "base/mac/scoped_nsobject.h"
 #import "ios/chrome/browser/procedural_block_types.h"
 #import "ios/chrome/browser/ui/contextual_search/contextual_search_panel_protocols.h"
 #import "ios/chrome/browser/ui/uikit_ui_util.h"
@@ -16,6 +13,10 @@
 #import "ios/third_party/material_components_ios/src/components/ShadowElevations/src/MaterialShadowElevations.h"
 #import "ios/third_party/material_components_ios/src/components/ShadowLayer/src/MaterialShadowLayer.h"
 
+#if !defined(__has_feature) || !__has_feature(objc_arc)
+#error "This file requires ARC support."
+#endif
+
 namespace {
 
 // Animation timings.
@@ -42,12 +43,13 @@
 // that motion will not cause the panel to move, but if the scrolling reaches
 // the end of its possible range, the gesture will then start dragging the
 // panel.
-@property(nonatomic, assign)
+@property(nonatomic, weak)
     UIView<ContextualSearchPanelScrollSynchronizer>* scrollSynchronizer;
 
 // Private readonly property to be used by weak pointers to |self| for non-
 // retaining access to the underlying ivar in blocks.
-@property(nonatomic, readonly) ContextualSearchPanelObservers* observers;
+@property(nonatomic, strong, readonly)
+    ContextualSearchPanelObservers* observers;
 
 // Utility to generate a PanelMotion struct for the panel's current position.
 - (ContextualSearch::PanelMotion)motion;
@@ -58,26 +60,19 @@
 
   // Constraints that define the size of this view. These will be cleared and
   // regenerated when the horizontal size class changes.
-  base::scoped_nsobject<NSArray> _sizingConstraints;
+  NSArray* _sizingConstraints;
 
   CGPoint _draggingStartPosition;
   CGPoint _scrolledOffset;
-  base::scoped_nsobject<UIPanGestureRecognizer> _dragRecognizer;
-
-  base::scoped_nsobject<ContextualSearchPanelObservers> _observers;
-
-  base::scoped_nsobject<PanelConfiguration> _configuration;
-
-  base::WeakNSProtocol<id<ContextualSearchPanelScrollSynchronizer>>
-      _scrollSynchronizer;
+  UIPanGestureRecognizer* _dragRecognizer;
 
   // Guide that's used to position this view.
-  base::WeakNSObject<UILayoutGuide> _positioningGuide;
+  __weak UILayoutGuide* _positioningGuide;
   // Constraint that sets the size of |_positioningView| so this view is
   // positioned correctly for its state.
-  base::WeakNSObject<NSLayoutConstraint> _positioningViewConstraint;
+  __weak NSLayoutConstraint* _positioningViewConstraint;
   // Other constraints that determine the position of this view.
-  base::scoped_nsobject<NSArray> _positioningConstraints;
+  NSArray* _positioningConstraints;
 
   // Promotion state variables.
   BOOL _resizingForPromotion;
@@ -93,6 +88,9 @@
 }
 
 @synthesize state = _state;
+@synthesize scrollSynchronizer = _scrollSynchronizer;
+@synthesize configuration = _configuration;
+@synthesize observers = _observers;
 
 + (BOOL)requiresConstraintBasedLayout {
   return YES;
@@ -102,27 +100,26 @@
 
 - (instancetype)initWithConfiguration:(PanelConfiguration*)configuration {
   if ((self = [super initWithFrame:CGRectZero])) {
-    _configuration.reset([configuration retain]);
+    _configuration = configuration;
     _state = ContextualSearch::DISMISSED;
 
     self.translatesAutoresizingMaskIntoConstraints = NO;
     self.backgroundColor = [UIColor whiteColor];
     self.accessibilityIdentifier = @"contextualSearchPanel";
 
-    _observers.reset([[ContextualSearchPanelObservers
-        observersWithProtocol:@protocol(ContextualSearchPanelMotionObserver)]
-        retain]);
+    _observers = [ContextualSearchPanelObservers
+        observersWithProtocol:@protocol(ContextualSearchPanelMotionObserver)];
     [self addMotionObserver:self];
 
     // Add gesture recognizer.
-    _dragRecognizer.reset([[UIPanGestureRecognizer alloc]
+    _dragRecognizer = [[UIPanGestureRecognizer alloc]
         initWithTarget:self
-                action:@selector(handleDragFrom:)]);
+                action:@selector(handleDragFrom:)];
     [self addGestureRecognizer:_dragRecognizer];
     [_dragRecognizer setDelegate:self];
 
     // Set up the stack view that holds the panel content
-    _contents = [[[UIStackView alloc] initWithFrame:self.bounds] autorelease];
+    _contents = [[UIStackView alloc] initWithFrame:self.bounds];
     [self addSubview:_contents];
     _contents.translatesAutoresizingMaskIntoConstraints = NO;
     _contents.accessibilityIdentifier = @"panelContents";
@@ -197,16 +194,7 @@
 #pragma mark - Public property getters/setters
 
 - (PanelConfiguration*)configuration {
-  return _configuration.get();
-}
-
-- (void)setScrollSynchronizer:
-    (id<ContextualSearchPanelScrollSynchronizer>)scrollSynchronizer {
-  _scrollSynchronizer.reset(scrollSynchronizer);
-}
-
-- (id<ContextualSearchPanelScrollSynchronizer>)scrollSynchronizer {
-  return _scrollSynchronizer;
+  return _configuration;
 }
 
 - (ContextualSearchPanelObservers*)observers {
@@ -218,11 +206,10 @@
     return;
 
   [_positioningViewConstraint setActive:NO];
-  _positioningViewConstraint.reset();
-  base::WeakNSObject<ContextualSearchPanelView> weakSelf(self);
+  _positioningViewConstraint = nil;
+  __weak ContextualSearchPanelView* weakSelf = self;
   void (^transform)(void) = ^{
-    base::scoped_nsobject<ContextualSearchPanelView> strongSelf(
-        [weakSelf retain]);
+    ContextualSearchPanelView* strongSelf = weakSelf;
     if (strongSelf) {
       [strongSelf setNeedsUpdateConstraints];
       [[strongSelf superview] layoutIfNeeded];
@@ -231,15 +218,13 @@
     }
   };
 
-  base::mac::ScopedBlock<ProceduralBlockWithBool> completion;
+  ProceduralBlockWithBool completion;
   NSTimeInterval animationDuration;
   if (state == ContextualSearch::DISMISSED) {
     animationDuration = kDismissAnimationDuration;
-    completion.reset(
-        ^(BOOL) {
-          [weakSelf setHidden:YES];
-        },
-        base::scoped_policy::RETAIN);
+    completion = [^(BOOL) {
+      [weakSelf setHidden:YES];
+    } copy];
   } else {
     self.hidden = NO;
     animationDuration = kPanelAnimationDuration;
@@ -282,8 +267,7 @@
     if (self.traitCollection.horizontalSizeClass !=
             UIUserInterfaceSizeClassUnspecified &&
         !_sizingConstraints) {
-      _sizingConstraints.reset(
-          [[_configuration constraintsForSizingPanel:self] retain]);
+      _sizingConstraints = [_configuration constraintsForSizingPanel:self];
       [NSLayoutConstraint activateConstraints:_sizingConstraints];
     }
     // Update positioning constraints if they don't exist.
@@ -296,12 +280,12 @@
       ];
       [NSLayoutConstraint activateConstraints:positioningConstraints];
 
-      _positioningConstraints.reset([positioningConstraints retain]);
+      _positioningConstraints = positioningConstraints;
     }
     // Always update the positioning view constraint.
-    _positioningViewConstraint.reset([self.configuration
-        constraintForPositioningGuide:_positioningGuide
-                              atState:self.state]);
+    _positioningViewConstraint =
+        [self.configuration constraintForPositioningGuide:_positioningGuide
+                                                  atState:self.state];
     [_positioningViewConstraint setActive:YES];
   }
   [super updateConstraints];
@@ -312,10 +296,10 @@
     return;
   // Set up the invisible positioning view used to constrain this view's
   // position.
-  UILayoutGuide* positioningGuide = [[[UILayoutGuide alloc] init] autorelease];
+  UILayoutGuide* positioningGuide = [[UILayoutGuide alloc] init];
   positioningGuide.identifier = @"contextualSearchPosition";
   [self.superview addLayoutGuide:positioningGuide];
-  _positioningGuide.reset(positioningGuide);
+  _positioningGuide = positioningGuide;
   [self setNeedsUpdateConstraints];
 }
 
@@ -330,7 +314,7 @@
   [_configuration
       setHorizontalSizeClass:self.traitCollection.horizontalSizeClass];
   [NSLayoutConstraint deactivateConstraints:_sizingConstraints];
-  _sizingConstraints.reset();
+  _sizingConstraints = nil;
   [self setNeedsUpdateConstraints];
 }
 
@@ -360,7 +344,6 @@
   [self removeMotionObserver:self];
   [self removeGestureRecognizer:_dragRecognizer];
   [[_positioningGuide owningView] removeLayoutGuide:_positioningGuide];
-  [super dealloc];
 }
 
 #pragma mark - Gesture recognizer callbacks
@@ -465,12 +448,12 @@
         (UIGestureRecognizer*)otherGestureRecognizer {
   // Allow the drag recognizer and the panel content scroll recognizer to
   // co-recognize.
-  if (gestureRecognizer == _dragRecognizer.get() &&
+  if (gestureRecognizer == _dragRecognizer &&
       otherGestureRecognizer == self.scrollSynchronizer.scrollRecognizer) {
     return YES;
   }
 
-  if (gestureRecognizer == _dragRecognizer.get() &&
+  if (gestureRecognizer == _dragRecognizer &&
       [_dragRecognizer state] == UIGestureRecognizerStateChanged) {
     [gestureRecognizer setEnabled:NO];
   }
diff --git a/ios/chrome/browser/ui/contextual_search/contextual_search_promo_view.mm b/ios/chrome/browser/ui/contextual_search/contextual_search_promo_view.mm
index a4e91b3e..d7209692 100644
--- a/ios/chrome/browser/ui/contextual_search/contextual_search_promo_view.mm
+++ b/ios/chrome/browser/ui/contextual_search/contextual_search_promo_view.mm
@@ -4,8 +4,6 @@
 
 #import "ios/chrome/browser/ui/contextual_search/contextual_search_promo_view.h"
 
-#include "base/ios/weak_nsobject.h"
-#import "base/mac/scoped_nsobject.h"
 #import "ios/chrome/browser/ui/colors/MDCPalette+CrAdditions.h"
 #import "ios/chrome/browser/ui/contextual_search/contextual_search_panel_view.h"
 #include "ios/chrome/browser/ui/uikit_ui_util.h"
@@ -18,6 +16,10 @@
 #include "ui/base/l10n/l10n_util.h"
 #include "url/gurl.h"
 
+#if !defined(__has_feature) || !__has_feature(objc_arc)
+#error "This file requires ARC support."
+#endif
+
 namespace {
 const int kMargin = 16;
 const int kSpaceBelowText = 32;
@@ -38,12 +40,12 @@
 }
 
 @interface ContextualSearchPromoView ()
-@property(nonatomic, assign) id<ContextualSearchPromoViewDelegate> delegate;
+@property(nonatomic, weak) id<ContextualSearchPromoViewDelegate> delegate;
 @end
 
 @implementation ContextualSearchPromoView {
-  base::scoped_nsobject<LabelLinkController> _linkController;
-  base::scoped_nsobject<NSMutableArray> _constraints;
+  LabelLinkController* _linkController;
+  NSMutableArray* _constraints;
 }
 
 @synthesize disabled = _disabled;
@@ -65,13 +67,13 @@
   NSMutableArray* constraints = [NSMutableArray array];
 
   // Initialize text label and its link controller.
-  UILabel* text = [[[UILabel alloc] initWithFrame:CGRectZero] autorelease];
-  base::WeakNSObject<ContextualSearchPromoView> weakSelf(self);
-  _linkController.reset([[LabelLinkController alloc]
+  UILabel* text = [[UILabel alloc] initWithFrame:CGRectZero];
+  __weak ContextualSearchPromoView* weakSelf = self;
+  _linkController = [[LabelLinkController alloc]
       initWithLabel:text
              action:^(const GURL& gurl) {
                [[weakSelf delegate] promoViewSettingsTapped];
-             }]);
+             }];
   [_linkController setLinkColor:UIColorFromRGB(kLinkColorRGB)];
 
   // Label is as wide as the content area of the view.
@@ -87,7 +89,7 @@
 
   // Build style attributes for the label.
   NSMutableParagraphStyle* paragraphStyle =
-      [[[NSMutableParagraphStyle alloc] init] autorelease];
+      [[NSMutableParagraphStyle alloc] init];
   [paragraphStyle setLineBreakMode:NSLineBreakByWordWrapping];
   [paragraphStyle setLineHeightMultiple:kLineSpace];
   NSDictionary* attributes = @{
@@ -99,8 +101,8 @@
   };
 
   // Create and assign attributed text to label.
-  base::scoped_nsobject<NSMutableAttributedString> attributedText(
-      [[NSMutableAttributedString alloc] initWithString:textString]);
+  NSMutableAttributedString* attributedText =
+      [[NSMutableAttributedString alloc] initWithString:textString];
   [attributedText setAttributes:attributes
                           range:NSMakeRange(0, textString.length)];
   text.attributedText = attributedText;
@@ -113,7 +115,7 @@
 
   // Create accept and decline buttons with dimensions defined by the
   // minimum height and width constants.
-  MDCFlatButton* acceptButton = [[[MDCFlatButton alloc] init] autorelease];
+  MDCFlatButton* acceptButton = [[MDCFlatButton alloc] init];
   acceptButton.hasOpaqueBackground = YES;
   acceptButton.inkColor =
       [[[MDCPalette cr_bluePalette] tint300] colorWithAlphaComponent:0.5f];
@@ -136,7 +138,7 @@
   [acceptButton.titleLabel setFont:buttonFont];
 
   UIColor* customTitleColor = [[MDCPalette cr_bluePalette] tint500];
-  MDCButton* declineButton = [[[MDCFlatButton alloc] init] autorelease];
+  MDCButton* declineButton = [[MDCFlatButton alloc] init];
   [constraints addObjectsFromArray:@[
     [declineButton.widthAnchor
         constraintGreaterThanOrEqualToConstant:kButtonMinWidth],
@@ -153,7 +155,7 @@
 
   // Create the divider (a simple colored view) with height defined by
   // |kDividerHeight| and width spanning this view's width.
-  UIView* divider = [[[UIView alloc] initWithFrame:CGRectZero] autorelease];
+  UIView* divider = [[UIView alloc] initWithFrame:CGRectZero];
   divider.backgroundColor = [UIColor colorWithWhite:0.745 alpha:1.0];
   [constraints addObjectsFromArray:@[
     [divider.widthAnchor constraintEqualToAnchor:self.widthAnchor],
@@ -200,7 +202,7 @@
   ]];
 
   [NSLayoutConstraint activateConstraints:constraints];
-  _constraints.reset([constraints retain]);
+  _constraints = constraints;
 
   return self;
 }
@@ -212,7 +214,6 @@
   // constraints are disabled and will not be applied even if some subviews
   // are lingering.
   [NSLayoutConstraint deactivateConstraints:_constraints];
-  [super dealloc];
 }
 
 - (void)setHidden:(BOOL)hidden {
diff --git a/ios/chrome/browser/ui/contextual_search/contextual_search_results_view.h b/ios/chrome/browser/ui/contextual_search/contextual_search_results_view.h
index d63227e..09fd4a3 100644
--- a/ios/chrome/browser/ui/contextual_search/contextual_search_results_view.h
+++ b/ios/chrome/browser/ui/contextual_search/contextual_search_results_view.h
@@ -32,11 +32,11 @@
              ContextualSearchTabProvider>
 @property(nonatomic, assign) BOOL active;
 // The tab that is credited with opening the search results tab.
-@property(nonatomic, assign) Tab* opener;
+@property(nonatomic, weak) Tab* opener;
 // Object that can handle promoting the search results.
-@property(nonatomic, assign) id<ContextualSearchTabPromoter> promoter;
+@property(nonatomic, weak) id<ContextualSearchTabPromoter> promoter;
 // Object that can determine if search results can be preloaded.
-@property(nonatomic, assign) id<ContextualSearchPreloadChecker> preloadChecker;
+@property(nonatomic, weak) id<ContextualSearchPreloadChecker> preloadChecker;
 // YES if the search results have loaded and this view was visible.
 @property(nonatomic, readonly) BOOL contentVisible;
 
diff --git a/ios/chrome/browser/ui/contextual_search/contextual_search_results_view.mm b/ios/chrome/browser/ui/contextual_search/contextual_search_results_view.mm
index 4922321..4337c93 100644
--- a/ios/chrome/browser/ui/contextual_search/contextual_search_results_view.mm
+++ b/ios/chrome/browser/ui/contextual_search/contextual_search_results_view.mm
@@ -27,6 +27,10 @@
 #import "ios/web/public/web_state/web_state.h"
 #import "ios/web/web_state/ui/crw_web_controller.h"
 
+#if !defined(__has_feature) || !__has_feature(objc_arc)
+#error "This file requires ARC support."
+#endif
+
 namespace {
 enum SearchResultsViewVisibility { OFFSCREEN, PRELOAD, VISIBLE };
 }
@@ -39,8 +43,6 @@
 @end
 
 @implementation ContextualSearchResultsView {
-  base::WeakNSProtocol<id<ContextualSearchTabPromoter>> _promoter;
-  base::WeakNSProtocol<id<ContextualSearchPreloadChecker>> _preloadChecker;
   std::unique_ptr<ContextualSearchWebStateObserver> _webStateObserver;
 
   // WebState that loads the search results.
@@ -48,7 +50,7 @@
   std::unique_ptr<WebStateOpener> _webStateOpener;
 
   // Access to the search tab's web view proxy.
-  base::scoped_nsprotocol<id<CRWWebViewProxy>> _webViewProxy;
+  id<CRWWebViewProxy> _webViewProxy;
 
   BOOL _loaded;
   BOOL _displayed;
@@ -67,6 +69,8 @@
 
 @synthesize active = _active;
 @synthesize opener = _opener;
+@synthesize promoter = _promoter;
+@synthesize preloadChecker = _preloadChecker;
 
 - (instancetype)initWithFrame:(CGRect)frame {
   if ((self = [super initWithFrame:frame])) {
@@ -98,7 +102,7 @@
 }
 
 - (void)setPromoter:(id<ContextualSearchTabPromoter>)promoter {
-  _promoter.reset(promoter);
+  _promoter = promoter;
 }
 
 - (id<ContextualSearchPreloadChecker>)preloadChecker {
@@ -106,7 +110,7 @@
 }
 
 - (void)setPreloadChecker:(id<ContextualSearchPreloadChecker>)preloadChecker {
-  _preloadChecker.reset(preloadChecker);
+  _preloadChecker = preloadChecker;
 }
 
 - (BOOL)contentVisible {
@@ -121,13 +125,13 @@
       _webStateObserver->ObserveWebState(_webState.get());
       _webState->SetShouldSuppressDialogs(false);
 
-      _webViewProxy.reset([[[tab webController] webViewProxy] retain]);
+      _webViewProxy = [[tab webController] webViewProxy];
       [[_webViewProxy scrollViewProxy] setBounces:NO];
     }
   } else {
     // Stop watching the embedded Tab's web activity.
     _webStateObserver->ObserveWebState(nullptr);
-    _webViewProxy.reset(nil);
+    _webViewProxy = nil;
   }
 
   _active = active;
@@ -198,7 +202,7 @@
     [[tab webController] setNativeProvider:nil];
   }
   self.active = NO;
-  _webViewProxy.reset();
+  _webViewProxy = nil;
 }
 
 - (void)cancelLoad {
diff --git a/ios/chrome/browser/ui/contextual_search/contextual_search_web_state_observer.mm b/ios/chrome/browser/ui/contextual_search/contextual_search_web_state_observer.mm
index 6b4595d6..ad23ed5b 100644
--- a/ios/chrome/browser/ui/contextual_search/contextual_search_web_state_observer.mm
+++ b/ios/chrome/browser/ui/contextual_search/contextual_search_web_state_observer.mm
@@ -4,6 +4,10 @@
 
 #include "ios/chrome/browser/ui/contextual_search/contextual_search_web_state_observer.h"
 
+#if !defined(__has_feature) || !__has_feature(objc_arc)
+#error "This file requires ARC support."
+#endif
+
 ContextualSearchWebStateObserver::ContextualSearchWebStateObserver(
     id<ContextualSearchWebStateDelegate> delegate)
     : web::WebStateObserver(), delegate_(delegate), loaded_(false) {}
diff --git a/ios/chrome/browser/ui/contextual_search/js_contextual_search_manager.mm b/ios/chrome/browser/ui/contextual_search/js_contextual_search_manager.mm
index 872571d..ec37c55f 100644
--- a/ios/chrome/browser/ui/contextual_search/js_contextual_search_manager.mm
+++ b/ios/chrome/browser/ui/contextual_search/js_contextual_search_manager.mm
@@ -7,10 +7,13 @@
 #include "base/ios/ios_util.h"
 #include "base/mac/foundation_util.h"
 #include "base/mac/scoped_block.h"
-#include "base/mac/scoped_nsobject.h"
 #include "base/strings/string_util.h"
 #include "base/strings/sys_string_conversions.h"
 
+#if !defined(__has_feature) || !__has_feature(objc_arc)
+#error "This file requires ARC support."
+#endif
+
 static NSString* const kEnableSelectionChangeListener =
     @"__gCrWeb.contextualSearch.enableSelectionChangeListener(%@);";
 
diff --git a/ios/chrome/browser/ui/contextual_search/panel_configuration.mm b/ios/chrome/browser/ui/contextual_search/panel_configuration.mm
index 7e836d9..54675748 100644
--- a/ios/chrome/browser/ui/contextual_search/panel_configuration.mm
+++ b/ios/chrome/browser/ui/contextual_search/panel_configuration.mm
@@ -5,7 +5,10 @@
 #include "ios/chrome/browser/ui/contextual_search/panel_configuration.h"
 
 #include "base/logging.h"
-#include "base/mac/scoped_nsobject.h"
+
+#if !defined(__has_feature) || !__has_feature(objc_arc)
+#error "This file requires ARC support."
+#endif
 
 namespace {
 // Amount of tab that a previewing pane leaves visible, expressed as a fraction.
@@ -43,7 +46,7 @@
 + (instancetype)configurationForContainerSize:(CGSize)containerSize
                           horizontalSizeClass:
                               (UIUserInterfaceSizeClass)horizontalSizeClass {
-  PanelConfiguration* config = [[[self alloc] init] autorelease];
+  PanelConfiguration* config = [[self alloc] init];
   config.containerSize = containerSize;
   config.horizontalSizeClass = horizontalSizeClass;
   return config;
diff --git a/ios/chrome/browser/ui/contextual_search/touch_to_search_permissions_mediator.h b/ios/chrome/browser/ui/contextual_search/touch_to_search_permissions_mediator.h
index 44ebdbac..af85360f 100644
--- a/ios/chrome/browser/ui/contextual_search/touch_to_search_permissions_mediator.h
+++ b/ios/chrome/browser/ui/contextual_search/touch_to_search_permissions_mediator.h
@@ -58,7 +58,7 @@
     TouchToSearch::TouchToSearchPreferenceState preferenceState;
 
 // Current audience object.
-@property(nonatomic, assign)
+@property(nonatomic, weak)
     NSObject<TouchToSearchPermissionsChangeAudience>* audience;
 
 // YES if, given the current permissions state, touch-to-search can be enabled.
diff --git a/ios/chrome/browser/ui/contextual_search/touch_to_search_permissions_mediator.mm b/ios/chrome/browser/ui/contextual_search/touch_to_search_permissions_mediator.mm
index ce48928e..7a2598c6 100644
--- a/ios/chrome/browser/ui/contextual_search/touch_to_search_permissions_mediator.mm
+++ b/ios/chrome/browser/ui/contextual_search/touch_to_search_permissions_mediator.mm
@@ -7,7 +7,6 @@
 #import <UIKit/UIKit.h>
 
 #include "base/command_line.h"
-#import "base/ios/weak_nsobject.h"
 #include "base/logging.h"
 #include "components/prefs/pref_change_registrar.h"
 #include "components/prefs/pref_service.h"
@@ -22,6 +21,10 @@
 #include "ios/chrome/browser/sync/sync_setup_service_factory.h"
 #include "net/base/network_change_notifier.h"
 
+#if !defined(__has_feature) || !__has_feature(objc_arc)
+#error "This file requires ARC support."
+#endif
+
 namespace {
 // Maps pref string values to state enum.
 const struct {
@@ -37,8 +40,7 @@
 @interface TouchToSearchPermissionsMediator ()<PrefObserverDelegate> {
   ios::ChromeBrowserState* _browserState;
   SyncSetupService* _syncService;
-  base::WeakNSProtocol<NSObject<TouchToSearchPermissionsChangeAudience>*>
-      _audience;
+  __weak NSObject<TouchToSearchPermissionsChangeAudience>* _audience;
   // Pref observer to track changes to the touch-to-search and search engine
   // prefs.
   std::unique_ptr<PrefObserverBridge> _prefObserverBridge;
@@ -89,7 +91,6 @@
   if ((self = [super init])) {
     if (browserState && browserState->IsOffTheRecord()) {
       // Discard the allocated object and return a nil object.
-      [self release];
       return nil;
     }
     [self setUpBrowserState:browserState];
@@ -105,7 +106,6 @@
 - (void)dealloc {
   // Set audience to nil to stop observation.
   self.audience = nil;
-  [super dealloc];
 }
 
 - (void)setUpBrowserState:(ios::ChromeBrowserState*)browserState {
@@ -146,7 +146,7 @@
 - (void)setAudience:
     (NSObject<TouchToSearchPermissionsChangeAudience>*)audience {
   [self stopObserving];
-  _audience.reset(audience);
+  _audience = audience;
   [self startObserving];
 }
 
@@ -270,8 +270,8 @@
   if (self.audience) {
     if ([self.audience
             respondsToSelector:@selector(touchToSearchPermissionsUpdated)]) {
-      base::WeakNSProtocol<NSObject<TouchToSearchPermissionsChangeAudience>*>
-          audience(self.audience);
+      __weak NSObject<TouchToSearchPermissionsChangeAudience>* audience =
+          self.audience;
       dispatch_async(dispatch_get_main_queue(), ^{
         [audience touchToSearchPermissionsUpdated];
       });
diff --git a/ios/chrome/browser/ui/contextual_search/touch_to_search_permissions_mediator_unittest.mm b/ios/chrome/browser/ui/contextual_search/touch_to_search_permissions_mediator_unittest.mm
index c9389ec..cc95cc4 100644
--- a/ios/chrome/browser/ui/contextual_search/touch_to_search_permissions_mediator_unittest.mm
+++ b/ios/chrome/browser/ui/contextual_search/touch_to_search_permissions_mediator_unittest.mm
@@ -504,11 +504,13 @@
 }
 
 TEST_F(TouchToSearchPermissionsMediatorTest, AudienceRemovedNotifications) {
-  base::scoped_nsobject<id> audience(
-      [[TestTouchToSearchPermissionsAudience alloc] init]);
-  [tts_permissions_ setAudience:audience];
-  EXPECT_TRUE([tts_permissions_ observing]);
-  audience.reset();
+  @autoreleasepool {
+    base::scoped_nsobject<id> audience(
+        [[TestTouchToSearchPermissionsAudience alloc] init]);
+    [tts_permissions_ setAudience:audience];
+    EXPECT_TRUE([tts_permissions_ observing]);
+    audience.reset();
+  }
   // Permissions shouldn't be observing after notifying a nil audience.
   [[NSNotificationCenter defaultCenter]
       postNotificationName:UIAccessibilityVoiceOverStatusChanged
@@ -516,7 +518,8 @@
   EXPECT_FALSE([tts_permissions_ observing]);
 
   // Permissions shouldn't observe while still observing.
-  audience.reset([[TestTouchToSearchPermissionsAudience alloc] init]);
+  base::scoped_nsobject<id> audience(
+      [[TestTouchToSearchPermissionsAudience alloc] init]);
   [tts_permissions_ setAudience:audience];
   audience.reset();
   audience.reset([[TestTouchToSearchPermissionsAudience alloc] init]);
diff --git a/ios/chrome/browser/ui/contextual_search/window_gesture_observer.h b/ios/chrome/browser/ui/contextual_search/window_gesture_observer.h
index 0bd2b1b..f0228c1 100644
--- a/ios/chrome/browser/ui/contextual_search/window_gesture_observer.h
+++ b/ios/chrome/browser/ui/contextual_search/window_gesture_observer.h
@@ -33,8 +33,8 @@
 
 @interface WindowGestureObserver : UIGestureRecognizer
 
-@property(nonatomic, assign) UIView* viewToExclude;
-@property(nonatomic, readonly) UIView* touchedView;
+@property(nonatomic, weak) UIView* viewToExclude;
+@property(nonatomic, weak, readonly) UIView* touchedView;
 @end
 
 #endif  // IOS_CHROME_BROWSER_UI_CONTEXTUAL_SEARCH_WINDOW_GESTURE_OBSERVER_H_
diff --git a/ios/chrome/browser/ui/contextual_search/window_gesture_observer.mm b/ios/chrome/browser/ui/contextual_search/window_gesture_observer.mm
index 0ef504e8..9a89c05 100644
--- a/ios/chrome/browser/ui/contextual_search/window_gesture_observer.mm
+++ b/ios/chrome/browser/ui/contextual_search/window_gesture_observer.mm
@@ -4,6 +4,10 @@
 
 #include "ios/chrome/browser/ui/contextual_search/window_gesture_observer.h"
 
+#if !defined(__has_feature) || !__has_feature(objc_arc)
+#error "This file requires ARC support."
+#endif
+
 @implementation WindowGestureObserver {
   NSObject* _target;
   SEL _action;
@@ -42,11 +46,16 @@
     if (![[touch view] isDescendantOfView:_viewToExclude]) {
       _touchedView = [touch view];
       dispatch_async(dispatch_get_main_queue(), ^{
+
+#pragma clang diagnostic push
+#pragma clang diagnostic ignored "-Warc-performSelector-leaks"
         if (_actionPassesSelf) {
           [_target performSelector:_action withObject:self];
         } else {
           [_target performSelector:_action];
         }
+#pragma clang diagnostic pop
+
       });
       // Only invoke from the first qualifying touch.
       break;
diff --git a/ios/chrome/browser/ui/elements/activity_overlay_coordinator.mm b/ios/chrome/browser/ui/elements/activity_overlay_coordinator.mm
index d275ad3a8..f56daeec 100644
--- a/ios/chrome/browser/ui/elements/activity_overlay_coordinator.mm
+++ b/ios/chrome/browser/ui/elements/activity_overlay_coordinator.mm
@@ -42,10 +42,8 @@
       addSubview:self.activityOverlayViewController.view];
   [self.activityOverlayViewController
       didMoveToParentViewController:self.baseViewController];
-  AddSameCenterConstraints(self.baseViewController.view,
-                           self.activityOverlayViewController.view);
-  AddSameSizeConstraint(self.baseViewController.view,
-                        self.activityOverlayViewController.view);
+  AddSameConstraints(self.baseViewController.view,
+                     self.activityOverlayViewController.view);
 }
 
 - (void)stop {
diff --git a/ios/chrome/browser/ui/favicon/favicon_view.mm b/ios/chrome/browser/ui/favicon/favicon_view.mm
index 9a5486f3..74962157 100644
--- a/ios/chrome/browser/ui/favicon/favicon_view.mm
+++ b/ios/chrome/browser/ui/favicon/favicon_view.mm
@@ -56,10 +56,8 @@
     [_faviconFallbackLabel setTranslatesAutoresizingMaskIntoConstraints:NO];
 
     // Both image and fallback label are centered and match the size of favicon.
-    AddSameCenterConstraints(_faviconImageView, self);
-    AddSameCenterConstraints(_faviconFallbackLabel, self);
-    AddSameSizeConstraint(_faviconFallbackLabel, self);
-    AddSameSizeConstraint(_faviconImageView, self);
+    AddSameConstraints(_faviconFallbackLabel, self);
+    AddSameConstraints(_faviconImageView, self);
   }
   return self;
 }
diff --git a/ios/chrome/browser/ui/first_run/first_run_egtest.mm b/ios/chrome/browser/ui/first_run/first_run_egtest.mm
index 2a25294..cf6e70f 100644
--- a/ios/chrome/browser/ui/first_run/first_run_egtest.mm
+++ b/ios/chrome/browser/ui/first_run/first_run_egtest.mm
@@ -34,6 +34,11 @@
 #error "This file requires ARC support."
 #endif
 
+using chrome_test_util::AccountConsistencySetupSigninButton;
+using chrome_test_util::ButtonWithAccessibilityLabel;
+using chrome_test_util::ButtonWithAccessibilityLabelId;
+using chrome_test_util::NavigationBarDoneButton;
+
 namespace {
 
 // Returns a fake identity.
@@ -43,11 +48,27 @@
                                           name:@"Fake Foo"];
 }
 
-// Taps the button with accessibility labelId |message_id|.
-void TapButtonWithLabelId(int message_id) {
-  id<GREYMatcher> matcher = chrome_test_util::ButtonWithAccessibilityLabel(
-      l10n_util::GetNSString(message_id));
-  [[EarlGrey selectElementWithMatcher:matcher] performAction:grey_tap()];
+// Returns matcher for the opt in accept button.
+id<GREYMatcher> FirstRunOptInAcceptButton() {
+  return ButtonWithAccessibilityLabel(
+      l10n_util::GetNSString(IDS_IOS_FIRSTRUN_OPT_IN_ACCEPT_BUTTON));
+}
+
+// Returns matcher for the skip sign in button.
+id<GREYMatcher> SkipSigninButton() {
+  return grey_accessibilityID(kSignInSkipButtonAccessibilityIdentifier);
+}
+
+// Returns matcher for the first run account consistency skip button.
+id<GREYMatcher> FirstRunAccountConsistencySkipButton() {
+  return ButtonWithAccessibilityLabelId(
+      IDS_IOS_FIRSTRUN_ACCOUNT_CONSISTENCY_SKIP_BUTTON);
+}
+
+// Returns matcher for the undo sign in button.
+id<GREYMatcher> UndoAccountConsistencyButton() {
+  return ButtonWithAccessibilityLabelId(
+      IDS_IOS_ACCOUNT_CONSISTENCY_CONFIRMATION_UNDO_BUTTON);
 }
 
 // Asserts that |identity| is actually signed in to the active profile.
@@ -135,9 +156,8 @@
       grey_accessibilityID(kUMAMetricsButtonAccessibilityIdentifier);
   [[EarlGrey selectElementWithMatcher:metrics] performAction:grey_tap()];
 
-  id<GREYMatcher> optInAccept = chrome_test_util::ButtonWithAccessibilityLabel(
-      l10n_util::GetNSString(IDS_IOS_FIRSTRUN_OPT_IN_ACCEPT_BUTTON));
-  [[EarlGrey selectElementWithMatcher:optInAccept] performAction:grey_tap()];
+  [[EarlGrey selectElementWithMatcher:FirstRunOptInAcceptButton()]
+      performAction:grey_tap()];
 
   BOOL metricsOptIn = GetApplicationContext()->GetLocalState()->GetBoolean(
       metrics::prefs::kMetricsReportingEnabled);
@@ -150,9 +170,8 @@
 - (void)testDismissFirstRun {
   [chrome_test_util::GetMainController() showFirstRunUI];
 
-  id<GREYMatcher> optInAccept = chrome_test_util::ButtonWithAccessibilityLabel(
-      l10n_util::GetNSString(IDS_IOS_FIRSTRUN_OPT_IN_ACCEPT_BUTTON));
-  [[EarlGrey selectElementWithMatcher:optInAccept] performAction:grey_tap()];
+  [[EarlGrey selectElementWithMatcher:FirstRunOptInAcceptButton()]
+      performAction:grey_tap()];
 
   PrefService* preferences = GetApplicationContext()->GetLocalState();
   GREYAssert(
@@ -160,9 +179,8 @@
           [WelcomeToChromeViewController defaultStatsCheckboxValue],
       @"Metrics reporting does not match.");
 
-  id<GREYMatcher> skipSignIn =
-      grey_accessibilityID(kSignInSkipButtonAccessibilityIdentifier);
-  [[EarlGrey selectElementWithMatcher:skipSignIn] performAction:grey_tap()];
+  [[EarlGrey selectElementWithMatcher:SkipSigninButton()]
+      performAction:grey_tap()];
 
   id<GREYMatcher> newTab =
       grey_kindOfClass(NSClassFromString(@"NewTabPageView"));
@@ -178,15 +196,20 @@
 
   // Launch First Run and accept tems of services.
   [chrome_test_util::GetMainController() showFirstRunUI];
-  TapButtonWithLabelId(IDS_IOS_FIRSTRUN_OPT_IN_ACCEPT_BUTTON);
+  [[EarlGrey selectElementWithMatcher:FirstRunOptInAcceptButton()]
+      performAction:grey_tap()];
 
   // Sign In |identity|.
-  TapButtonWithLabelId(IDS_IOS_ACCOUNT_CONSISTENCY_SETUP_SIGNIN_BUTTON);
+  [[EarlGrey selectElementWithMatcher:AccountConsistencySetupSigninButton()]
+      performAction:grey_tap()];
+
   AssertAuthenticatedIdentityInActiveProfile(identity);
 
   // Undo the sign-in and dismiss the Sign In screen.
-  TapButtonWithLabelId(IDS_IOS_ACCOUNT_CONSISTENCY_CONFIRMATION_UNDO_BUTTON);
-  TapButtonWithLabelId(IDS_IOS_FIRSTRUN_ACCOUNT_CONSISTENCY_SKIP_BUTTON);
+  [[EarlGrey selectElementWithMatcher:UndoAccountConsistencyButton()]
+      performAction:grey_tap()];
+  [[EarlGrey selectElementWithMatcher:FirstRunAccountConsistencySkipButton()]
+      performAction:grey_tap()];
 
   // |identity| shouldn't be signed in.
   AssertAuthenticatedIdentityInActiveProfile(nil);
@@ -200,10 +223,12 @@
 
   // Launch First Run and accept tems of services.
   [chrome_test_util::GetMainController() showFirstRunUI];
-  TapButtonWithLabelId(IDS_IOS_FIRSTRUN_OPT_IN_ACCEPT_BUTTON);
+  [[EarlGrey selectElementWithMatcher:FirstRunOptInAcceptButton()]
+      performAction:grey_tap()];
 
   // Sign In |identity|.
-  TapButtonWithLabelId(IDS_IOS_ACCOUNT_CONSISTENCY_SETUP_SIGNIN_BUTTON);
+  [[EarlGrey selectElementWithMatcher:AccountConsistencySetupSigninButton()]
+      performAction:grey_tap()];
   AssertAuthenticatedIdentityInActiveProfile(identity);
 
   // Tap Settings link.
@@ -219,7 +244,8 @@
                   @"Sync shouldn't have finished its original setup yet");
 
   // Close Settings, user is still signed in and sync is now starting.
-  TapButtonWithLabelId(IDS_IOS_NAVIGATION_BAR_DONE_BUTTON);
+  [[EarlGrey selectElementWithMatcher:NavigationBarDoneButton()]
+      performAction:grey_tap()];
   AssertAuthenticatedIdentityInActiveProfile(identity);
   GREYAssertTrue(sync_service->HasFinishedInitialSetup(),
                  @"Sync should have finished its original setup");
diff --git a/ios/chrome/browser/ui/history/favicon_view.mm b/ios/chrome/browser/ui/history/favicon_view.mm
index e2958eb..fca9135 100644
--- a/ios/chrome/browser/ui/history/favicon_view.mm
+++ b/ios/chrome/browser/ui/history/favicon_view.mm
@@ -48,10 +48,8 @@
 
     [_faviconImage setTranslatesAutoresizingMaskIntoConstraints:NO];
     [_faviconFallbackLabel setTranslatesAutoresizingMaskIntoConstraints:NO];
-    AddSameCenterConstraints(_faviconImage, self);
-    AddSameSizeConstraint(_faviconImage, self);
-    AddSameCenterConstraints(_faviconFallbackLabel, self);
-    AddSameSizeConstraint(_faviconFallbackLabel, self);
+    AddSameConstraints(_faviconImage, self);
+    AddSameConstraints(_faviconFallbackLabel, self);
     _faviconSizeConstraints = @[
       [self.widthAnchor constraintEqualToConstant:0],
       [self.heightAnchor constraintEqualToConstant:0],
diff --git a/ios/chrome/browser/ui/history/history_entry_item.mm b/ios/chrome/browser/ui/history/history_entry_item.mm
index 9136b33..e4806c6c 100644
--- a/ios/chrome/browser/ui/history/history_entry_item.mm
+++ b/ios/chrome/browser/ui/history/history_entry_item.mm
@@ -196,8 +196,7 @@
   FaviconView* faviconView = self.faviconViewProvider.faviconView;
   [cell.faviconViewContainer addSubview:faviconView];
   [faviconView setTranslatesAutoresizingMaskIntoConstraints:NO];
-  AddSameSizeConstraint(faviconView, cell.faviconViewContainer);
-  AddSameCenterConstraints(faviconView, cell.faviconViewContainer);
+  AddSameConstraints(faviconView, cell.faviconViewContainer);
 
   cell.textLabel.text = self.text;
   cell.detailTextLabel.text = self.detailText;
diff --git a/ios/chrome/browser/ui/main/browser_view_wrangler.mm b/ios/chrome/browser/ui/main/browser_view_wrangler.mm
index 1ffdb49..537fa72 100644
--- a/ios/chrome/browser/ui/main/browser_view_wrangler.mm
+++ b/ios/chrome/browser/ui/main/browser_view_wrangler.mm
@@ -226,7 +226,7 @@
   Tab* currentTab = [self.currentBVC tabModel].currentTab;
   // Set the active URL if there's a current tab and the current BVC is not OTR.
   if (currentTab && self.currentBVC != self.otrBVC) {
-    activeURL = currentTab.url;
+    activeURL = currentTab.visibleURL;
   }
   [self.deviceSharingManager updateActiveURL:activeURL];
 }
diff --git a/ios/chrome/browser/ui/ntp/new_tab_page_controller.h b/ios/chrome/browser/ui/ntp/new_tab_page_controller.h
index f8714c9..164f203 100644
--- a/ios/chrome/browser/ui/ntp/new_tab_page_controller.h
+++ b/ios/chrome/browser/ui/ntp/new_tab_page_controller.h
@@ -86,27 +86,19 @@
 @property(nonatomic, assign) id<CRWSwipeRecognizerProvider>
     swipeRecognizerProvider;
 
-// To ease modernizing the NTP only the internal panels are being converted
-// to UIViewControllers.  This means all the plumbing between the
-// BrowserViewController and the internal NTP panels (WebController, NTP)
-// hierarchy is skipped.  While normally the logic to push and pop a view
-// controller would be owned by a coordinator, in this case the old NTP
-// controller adds and removes child view controllers itself when a load
-// is initiated, and when WebController calls -willBeDismissed.
-@property(nonatomic, assign) UIViewController* parentViewController;
-
 // Init with the given url (presumably "chrome://newtab") and loader object.
 // |loader| may be nil, but isn't retained so it must outlive this controller.
 // Dominant color cache is passed to bookmark controller only, to optimize
 // favicon processing.
 - (id)initWithUrl:(const GURL&)url
-                loader:(id<UrlLoader>)loader
-               focuser:(id<OmniboxFocuser>)focuser
-           ntpObserver:(id<NewTabPageControllerObserver>)ntpObserver
-          browserState:(ios::ChromeBrowserState*)browserState
-            colorCache:(NSMutableDictionary*)colorCache
-    webToolbarDelegate:(id<WebToolbarDelegate>)webToolbarDelegate
-              tabModel:(TabModel*)tabModel;
+                  loader:(id<UrlLoader>)loader
+                 focuser:(id<OmniboxFocuser>)focuser
+             ntpObserver:(id<NewTabPageControllerObserver>)ntpObserver
+            browserState:(ios::ChromeBrowserState*)browserState
+              colorCache:(NSMutableDictionary*)colorCache
+      webToolbarDelegate:(id<WebToolbarDelegate>)webToolbarDelegate
+                tabModel:(TabModel*)tabModel
+    parentViewController:(UIViewController*)parentViewController;
 
 // Select a panel based on the given |panelType|.
 - (void)selectPanel:(NewTabPage::PanelIdentifier)panelType;
diff --git a/ios/chrome/browser/ui/ntp/new_tab_page_controller.mm b/ios/chrome/browser/ui/ntp/new_tab_page_controller.mm
index bdcd09c..5b3f1c7 100644
--- a/ios/chrome/browser/ui/ntp/new_tab_page_controller.mm
+++ b/ios/chrome/browser/ui/ntp/new_tab_page_controller.mm
@@ -159,6 +159,16 @@
 - (NewTabPage::PanelIdentifier)selectedPanelID;
 
 @property(nonatomic, retain) NewTabPageView* ntpView;
+
+// To ease modernizing the NTP only the internal panels are being converted
+// to UIViewControllers.  This means all the plumbing between the
+// BrowserViewController and the internal NTP panels (WebController, NTP)
+// hierarchy is skipped.  While normally the logic to push and pop a view
+// controller would be owned by a coordinator, in this case the old NTP
+// controller adds and removes child view controllers itself when a load
+// is initiated, and when WebController calls -willBeDismissed.
+@property(nonatomic, assign) UIViewController* parentViewController;
+
 @end
 
 @implementation NewTabPageController
@@ -168,13 +178,14 @@
 @synthesize parentViewController = parentViewController_;
 
 - (id)initWithUrl:(const GURL&)url
-                loader:(id<UrlLoader>)loader
-               focuser:(id<OmniboxFocuser>)focuser
-           ntpObserver:(id<NewTabPageControllerObserver>)ntpObserver
-          browserState:(ios::ChromeBrowserState*)browserState
-            colorCache:(NSMutableDictionary*)colorCache
-    webToolbarDelegate:(id<WebToolbarDelegate>)webToolbarDelegate
-              tabModel:(TabModel*)tabModel {
+                  loader:(id<UrlLoader>)loader
+                 focuser:(id<OmniboxFocuser>)focuser
+             ntpObserver:(id<NewTabPageControllerObserver>)ntpObserver
+            browserState:(ios::ChromeBrowserState*)browserState
+              colorCache:(NSMutableDictionary*)colorCache
+      webToolbarDelegate:(id<WebToolbarDelegate>)webToolbarDelegate
+                tabModel:(TabModel*)tabModel
+    parentViewController:(UIViewController*)parentViewController {
   self = [super initWithNibName:nil url:url];
   if (self) {
     DCHECK(browserState);
@@ -183,6 +194,7 @@
     browserState_ = browserState;
     loader_ = loader;
     newTabPageObserver_ = ntpObserver;
+    parentViewController_ = parentViewController;
     focuser_.reset(focuser);
     webToolbarDelegate_.reset(webToolbarDelegate);
     tabModel_.reset([tabModel retain]);
@@ -502,6 +514,7 @@
 }
 
 - (BOOL)loadPanel:(NewTabPageBarItem*)item {
+  DCHECK(self.parentViewController);
   UIView* view = nil;
   UIViewController* panelController = nil;
   BOOL created = NO;
diff --git a/ios/chrome/browser/ui/ntp/new_tab_page_controller_unittest.mm b/ios/chrome/browser/ui/ntp/new_tab_page_controller_unittest.mm
index 90088ff..1bae95d 100644
--- a/ios/chrome/browser/ui/ntp/new_tab_page_controller_unittest.mm
+++ b/ios/chrome/browser/ui/ntp/new_tab_page_controller_unittest.mm
@@ -86,6 +86,7 @@
         ios::BookmarkModelFactory::GetForBrowserState(
             chrome_browser_state_.get()));
     GURL url(kChromeUINewTabURL);
+    parentViewController_ = [[UIViewController alloc] init];
     controller_ =
         [[NewTabPageController alloc] initWithUrl:url
                                            loader:nil
@@ -94,23 +95,26 @@
                                      browserState:chrome_browser_state_.get()
                                        colorCache:nil
                                webToolbarDelegate:nil
-                                         tabModel:nil];
+                                         tabModel:nil
+                             parentViewController:parentViewController_];
 
     incognitoController_ = [[NewTabPageController alloc]
-               initWithUrl:url
-                    loader:nil
-                   focuser:nil
-               ntpObserver:nil
-              browserState:chrome_browser_state_
-                               ->GetOffTheRecordChromeBrowserState()
-                colorCache:nil
-        webToolbarDelegate:nil
-                  tabModel:nil];
+                 initWithUrl:url
+                      loader:nil
+                     focuser:nil
+                 ntpObserver:nil
+                browserState:chrome_browser_state_
+                                 ->GetOffTheRecordChromeBrowserState()
+                  colorCache:nil
+          webToolbarDelegate:nil
+                    tabModel:nil
+        parentViewController:parentViewController_];
   };
 
   void TearDown() override {
     incognitoController_ = nil;
     controller_ = nil;
+    parentViewController_ = nil;
 
     // There may be blocks released below that have weak references to |profile|
     // owned by chrome_browser_state_.  Ensure BlockCleanupTest::TearDown() is
@@ -122,6 +126,7 @@
   web::TestWebThreadBundle thread_bundle_;
   IOSChromeScopedTestingLocalState local_state_;
   std::unique_ptr<TestChromeBrowserState> chrome_browser_state_;
+  UIViewController* parentViewController_;
   NewTabPageController* controller_;
   NewTabPageController* incognitoController_;
 };
diff --git a/ios/chrome/browser/ui/reading_list/reading_list_toolbar.mm b/ios/chrome/browser/ui/reading_list/reading_list_toolbar.mm
index 9c1fba7d..680b251 100644
--- a/ios/chrome/browser/ui/reading_list/reading_list_toolbar.mm
+++ b/ios/chrome/browser/ui/reading_list/reading_list_toolbar.mm
@@ -190,7 +190,7 @@
 
     [self addSubview:_stackView];
     _stackView.translatesAutoresizingMaskIntoConstraints = NO;
-    AddSameSizeConstraint(_stackView, self);
+    AddSameConstraints(_stackView, self);
     _stackView.layoutMargins =
         UIEdgeInsetsMake(0, kHorizontalMargin, 0, kHorizontalMargin);
     _stackView.layoutMarginsRelativeArrangement = YES;
diff --git a/ios/chrome/browser/ui/settings/content_settings_collection_view_controller.mm b/ios/chrome/browser/ui/settings/content_settings_collection_view_controller.mm
index b495e9c..0cea59e 100644
--- a/ios/chrome/browser/ui/settings/content_settings_collection_view_controller.mm
+++ b/ios/chrome/browser/ui/settings/content_settings_collection_view_controller.mm
@@ -11,7 +11,7 @@
 #include "components/prefs/pref_change_registrar.h"
 #include "components/prefs/pref_service.h"
 #include "components/strings/grit/components_strings.h"
-#include "components/translate/core/common/translate_pref_names.h"
+#include "components/translate/core/browser/translate_pref_names.h"
 #include "ios/chrome/browser/browser_state/chrome_browser_state.h"
 #include "ios/chrome/browser/content_settings/host_content_settings_map_factory.h"
 #import "ios/chrome/browser/prefs/pref_observer_bridge.h"
diff --git a/ios/chrome/browser/ui/settings/translate_collection_view_controller.mm b/ios/chrome/browser/ui/settings/translate_collection_view_controller.mm
index ef4a29c9c..5784b14 100644
--- a/ios/chrome/browser/ui/settings/translate_collection_view_controller.mm
+++ b/ios/chrome/browser/ui/settings/translate_collection_view_controller.mm
@@ -12,8 +12,8 @@
 #include "components/google/core/browser/google_util.h"
 #include "components/prefs/pref_member.h"
 #include "components/prefs/pref_service.h"
+#include "components/translate/core/browser/translate_pref_names.h"
 #include "components/translate/core/browser/translate_prefs.h"
-#include "components/translate/core/common/translate_pref_names.h"
 #include "ios/chrome/browser/application_context.h"
 #import "ios/chrome/browser/translate/chrome_ios_translate_client.h"
 #import "ios/chrome/browser/ui/collection_view/cells/MDCCollectionViewCell+Chrome.h"
diff --git a/ios/chrome/browser/ui/settings/translate_collection_view_controller_unittest.mm b/ios/chrome/browser/ui/settings/translate_collection_view_controller_unittest.mm
index 34dad51..d11f286b 100644
--- a/ios/chrome/browser/ui/settings/translate_collection_view_controller_unittest.mm
+++ b/ios/chrome/browser/ui/settings/translate_collection_view_controller_unittest.mm
@@ -15,8 +15,8 @@
 #include "components/prefs/pref_service.h"
 #include "components/strings/grit/components_locale_settings.h"
 #include "components/sync_preferences/pref_service_mock_factory.h"
+#include "components/translate/core/browser/translate_pref_names.h"
 #include "components/translate/core/browser/translate_prefs.h"
-#include "components/translate/core/common/translate_pref_names.h"
 #include "ios/chrome/browser/pref_names.h"
 #import "ios/chrome/browser/translate/chrome_ios_translate_client.h"
 #import "ios/chrome/browser/ui/collection_view/collection_view_controller_test.h"
diff --git a/ios/chrome/browser/ui/side_swipe/card_side_swipe_view.mm b/ios/chrome/browser/ui/side_swipe/card_side_swipe_view.mm
index bc8f6c7..ddfdaf9 100644
--- a/ios/chrome/browser/ui/side_swipe/card_side_swipe_view.mm
+++ b/ios/chrome/browser/ui/side_swipe/card_side_swipe_view.mm
@@ -167,8 +167,8 @@
     [leftCard_ setTranslatesAutoresizingMaskIntoConstraints:NO];
     [self addSubview:rightCard_];
     [self addSubview:leftCard_];
-    AddSameSizeConstraint(rightCard_, self);
-    AddSameSizeConstraint(leftCard_, self);
+    AddSameConstraints(rightCard_, self);
+    AddSameConstraints(leftCard_, self);
   }
   return self;
 }
diff --git a/ios/chrome/browser/ui/uikit_ui_util.h b/ios/chrome/browser/ui/uikit_ui_util.h
index 406b660f..b34bef7 100644
--- a/ios/chrome/browser/ui/uikit_ui_util.h
+++ b/ios/chrome/browser/ui/uikit_ui_util.h
@@ -268,9 +268,9 @@
                               UIView* subview1,
                               UIView* subview2);
 
-// Adds constraints to make two views' sizes equal by pinning leading, trailing,
-// top and bottom anchors.
-void AddSameSizeConstraint(UIView* view1, UIView* view2);
+// Adds constraints to make two views' size and center equal by pinning leading,
+// trailing, top and bottom anchors.
+void AddSameConstraints(UIView* view1, UIView* view2);
 
 // Whether the |environment| has a compact horizontal size class.
 bool IsCompact(id<UITraitEnvironment> environment);
diff --git a/ios/chrome/browser/ui/uikit_ui_util.mm b/ios/chrome/browser/ui/uikit_ui_util.mm
index f0542c5..06aef01f 100644
--- a/ios/chrome/browser/ui/uikit_ui_util.mm
+++ b/ios/chrome/browser/ui/uikit_ui_util.mm
@@ -637,7 +637,7 @@
   AddSameCenterYConstraint(subview1, subview2);
 }
 
-void AddSameSizeConstraint(UIView* view1, UIView* view2) {
+void AddSameConstraints(UIView* view1, UIView* view2) {
   [NSLayoutConstraint activateConstraints:@[
     [view1.leadingAnchor constraintEqualToAnchor:view2.leadingAnchor],
     [view1.trailingAnchor constraintEqualToAnchor:view2.trailingAnchor],
diff --git a/ios/chrome/test/earl_grey/chrome_matchers.h b/ios/chrome/test/earl_grey/chrome_matchers.h
index 910040f..a6432d8 100644
--- a/ios/chrome/test/earl_grey/chrome_matchers.h
+++ b/ios/chrome/test/earl_grey/chrome_matchers.h
@@ -92,6 +92,9 @@
 // Matcher for the done button on the navigation bar.
 id<GREYMatcher> NavigationBarDoneButton();
 
+// Returns matcher for the account consistency setup signin button.
+id<GREYMatcher> AccountConsistencySetupSigninButton();
+
 }  // namespace chrome_test_util
 
 #endif  // IOS_CHROME_TEST_EARL_GREY_CHROME_MATCHERS_H_
diff --git a/ios/chrome/test/earl_grey/chrome_matchers.mm b/ios/chrome/test/earl_grey/chrome_matchers.mm
index 5d9ab5e..b5e56e49 100644
--- a/ios/chrome/test/earl_grey/chrome_matchers.mm
+++ b/ios/chrome/test/earl_grey/chrome_matchers.mm
@@ -171,4 +171,9 @@
   return ButtonWithAccessibilityLabelId(IDS_IOS_NAVIGATION_BAR_DONE_BUTTON);
 }
 
+id<GREYMatcher> AccountConsistencySetupSigninButton() {
+  return ButtonWithAccessibilityLabelId(
+      IDS_IOS_ACCOUNT_CONSISTENCY_SETUP_SIGNIN_BUTTON);
+}
+
 }  // namespace chrome_test_util
diff --git a/ios/showcase/core/showcase_model.mm b/ios/showcase/core/showcase_model.mm
index 200d2ee..ee7d3da 100644
--- a/ios/showcase/core/showcase_model.mm
+++ b/ios/showcase/core/showcase_model.mm
@@ -42,6 +42,11 @@
       showcase::kUseCaseKey : @"Payment request picker view",
     },
     @{
+      showcase::kClassForDisplayKey : @"PaymentRequestSelectorViewController",
+      showcase::kClassForInstantiationKey : @"SCPaymentsSelectorCoordinator",
+      showcase::kUseCaseKey : @"Payment request selector view",
+    },
+    @{
       showcase::kClassForDisplayKey : @"RootContainerViewController",
       showcase::kClassForInstantiationKey : @"SCRootCoordinator",
       showcase::kUseCaseKey : @"Root container",
diff --git a/ios/showcase/payments/BUILD.gn b/ios/showcase/payments/BUILD.gn
index 787808f..a8a34db 100644
--- a/ios/showcase/payments/BUILD.gn
+++ b/ios/showcase/payments/BUILD.gn
@@ -8,6 +8,8 @@
     "sc_payments_editor_coordinator.mm",
     "sc_payments_picker_coordinator.h",
     "sc_payments_picker_coordinator.mm",
+    "sc_payments_selector_coordinator.h",
+    "sc_payments_selector_coordinator.mm",
   ]
   deps = [
     "//base",
@@ -29,6 +31,7 @@
   sources = [
     "sc_payments_editor_egtest.mm",
     "sc_payments_picker_egtest.mm",
+    "sc_payments_selector_egtest.mm",
   ]
   deps = [
     "//base",
@@ -37,6 +40,7 @@
     "//ios/chrome/browser/ui",
     "//ios/chrome/browser/ui/autofill:autofill_ui",
     "//ios/chrome/browser/ui/settings",
+    "//ios/chrome/test/earl_grey:test_support",
     "//ios/showcase/test",
     "//ios/third_party/earl_grey",
     "//ui/base",
diff --git a/ios/showcase/payments/sc_payments_selector_coordinator.h b/ios/showcase/payments/sc_payments_selector_coordinator.h
new file mode 100644
index 0000000..9ab7f4e
--- /dev/null
+++ b/ios/showcase/payments/sc_payments_selector_coordinator.h
@@ -0,0 +1,17 @@
+// 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 IOS_SHOWCASE_PAYMENTS_SC_PAYMENTS_SELECTOR_COORDINATOR_H_
+#define IOS_SHOWCASE_PAYMENTS_SC_PAYMENTS_SELECTOR_COORDINATOR_H_
+
+#import <UIKit/UIKit.h>
+
+#import "ios/showcase/common/navigation_coordinator.h"
+
+// Coordinator responsible for creating and presenting a
+// PaymentRequestSelectorViewController.
+@interface SCPaymentsSelectorCoordinator : NSObject<NavigationCoordinator>
+@end
+
+#endif  // IOS_SHOWCASE_PAYMENTS_SC_PAYMENTS_SELECTOR_COORDINATOR_H_
diff --git a/ios/showcase/payments/sc_payments_selector_coordinator.mm b/ios/showcase/payments/sc_payments_selector_coordinator.mm
new file mode 100644
index 0000000..f543a7b
--- /dev/null
+++ b/ios/showcase/payments/sc_payments_selector_coordinator.mm
@@ -0,0 +1,109 @@
+// 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 "ios/showcase/payments/sc_payments_selector_coordinator.h"
+
+#include "base/logging.h"
+#import "ios/chrome/browser/payments//cells/payments_text_item.h"
+#import "ios/chrome/browser/payments/cells/payments_has_accessory_type.h"
+#import "ios/chrome/browser/payments/payment_request_selector_view_controller.h"
+#import "ios/chrome/browser/payments/payment_request_selector_view_controller_data_source.h"
+#import "ios/chrome/browser/ui/collection_view/collection_view_model.h"
+#import "ios/showcase/common/protocol_alerter.h"
+
+#if !defined(__has_feature) || !__has_feature(objc_arc)
+#error "This file requires ARC support."
+#endif
+
+@interface SCPaymentsSelectorCoordinator ()<
+    PaymentRequestSelectorViewControllerDataSource>
+
+// Index for the currently selected item or NSUIntegerMax if there is none.
+@property(nonatomic, readwrite) NSUInteger selectedItemIndex;
+
+// The view controller to present.
+@property(nonatomic, strong)
+    PaymentRequestSelectorViewController* selectorViewController;
+
+// The selectable items created and managed by the
+// PaymentRequestSelectorViewControllerDataSource.
+@property(nonatomic, strong)
+    NSArray<CollectionViewItem<PaymentsHasAccessoryType>*>* items;
+
+// The alerter that conforms to PaymentRequestSelectorViewControllerDelegate
+// and displays a UIAlert every time delegate methods are called.
+@property(nonatomic, strong) ProtocolAlerter* alerter;
+
+@end
+
+@implementation SCPaymentsSelectorCoordinator
+
+@synthesize state = _state;
+@synthesize selectedItemIndex = _selectedItemIndex;
+@synthesize baseViewController = _baseViewController;
+@synthesize selectorViewController = _selectorViewController;
+@synthesize items = _items;
+@synthesize alerter = _alerter;
+
+- (void)start {
+  self.items = [self createItems];
+  self.selectedItemIndex = NSUIntegerMax;
+
+  self.alerter = [[ProtocolAlerter alloc] initWithProtocols:@[
+    @protocol(PaymentRequestSelectorViewControllerDelegate)
+  ]];
+  self.alerter.baseViewController = self.baseViewController;
+
+  self.selectorViewController = [[PaymentRequestSelectorViewController alloc]
+      initWithStyle:CollectionViewControllerStyleAppBar];
+  [self.selectorViewController setTitle:@"Select an item"];
+  [self.selectorViewController setDataSource:self];
+  [self.selectorViewController loadModel];
+  [self.selectorViewController
+      setDelegate:reinterpret_cast<
+                      id<PaymentRequestSelectorViewControllerDelegate>>(
+                      self.alerter)];
+  [self.baseViewController pushViewController:self.selectorViewController
+                                     animated:YES];
+}
+
+#pragma mark - PaymentRequestSelectorViewControllerDataSource
+
+- (CollectionViewItem*)headerItem {
+  return [self createItemWithText:@"Header item"];
+}
+
+- (NSArray<CollectionViewItem<PaymentsHasAccessoryType>*>*)selectableItems {
+  return self.items;
+}
+
+- (CollectionViewItem<PaymentsHasAccessoryType>*)selectableItemAtIndex:
+    (NSUInteger)index {
+  DCHECK(index < self.items.count);
+  return [self.items objectAtIndex:index];
+}
+
+- (CollectionViewItem*)addButtonItem {
+  return [self createItemWithText:@"Add an item"];
+}
+
+#pragma mark - Helper methods
+
+- (NSArray<CollectionViewItem<PaymentsHasAccessoryType>*>*)createItems {
+  return @[
+    [self createItemWithText:@"First selectable item"],
+    [self createItemWithText:@"Second selectable item"],
+    [self createItemWithText:@"Third selectable item"],
+    [self createItemWithText:@"Fourth selectable item"]
+  ];
+}
+
+- (CollectionViewItem<PaymentsHasAccessoryType>*)createItemWithText:
+    (NSString*)text {
+  PaymentsTextItem* item = [[PaymentsTextItem alloc] init];
+  item.text = text;
+  return item;
+}
+
+@end
diff --git a/ios/showcase/payments/sc_payments_selector_egtest.mm b/ios/showcase/payments/sc_payments_selector_egtest.mm
new file mode 100644
index 0000000..c4f3e68
--- /dev/null
+++ b/ios/showcase/payments/sc_payments_selector_egtest.mm
@@ -0,0 +1,140 @@
+// 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 <EarlGrey/EarlGrey.h>
+
+#import "ios/chrome/browser/payments/payment_request_selector_view_controller.h"
+#import "ios/chrome/test/earl_grey/chrome_matchers.h"
+#import "ios/showcase/test/showcase_eg_utils.h"
+#import "ios/showcase/test/showcase_test_case.h"
+
+#if !defined(__has_feature) || !__has_feature(objc_arc)
+#error "This file requires ARC support."
+#endif
+
+namespace {
+using ::showcase_utils::Open;
+using ::showcase_utils::Close;
+using ::chrome_test_util::ButtonWithAccessibilityLabel;
+
+// Returns the GREYMatcher for the header item.
+id<GREYMatcher> HeaderItem() {
+  return grey_allOf(grey_accessibilityLabel(@"Header item"),
+                    grey_kindOfClass([UILabel class]),
+                    grey_sufficientlyVisible(), nil);
+}
+
+// Returns the GREYMatcher for the selectable item with the given label.
+// |selected| states whether or not the item is selected.
+id<GREYMatcher> SelectableItemWithLabel(NSString* label, BOOL selected) {
+  id<GREYMatcher> matcher = grey_allOf(ButtonWithAccessibilityLabel(label),
+                                       grey_sufficientlyVisible(), nil);
+  if (selected) {
+    return grey_allOf(
+        matcher, grey_accessibilityTrait(UIAccessibilityTraitSelected), nil);
+  }
+  return matcher;
+}
+
+// Returns the GREYMatcher for the "Add" button.
+id<GREYMatcher> AddButton() {
+  return grey_allOf(ButtonWithAccessibilityLabel(@"Add an item"),
+                    grey_sufficientlyVisible(), nil);
+}
+
+}  // namespace
+
+// Tests for the payment request selector view controller.
+@interface SCPaymentsSelectorTestCase : ShowcaseTestCase
+@end
+
+@implementation SCPaymentsSelectorTestCase
+
+- (void)setUp {
+  [super setUp];
+  Open(@"PaymentRequestSelectorViewController");
+}
+
+- (void)tearDown {
+  Close();
+  [super tearDown];
+}
+
+// Tests if all the expected items are present and that none is selected.
+- (void)testVerifyItems {
+  [[EarlGrey selectElementWithMatcher:HeaderItem()]
+      assertWithMatcher:grey_notNil()];
+
+  [[EarlGrey selectElementWithMatcher:SelectableItemWithLabel(
+                                          @"First selectable item", NO)]
+      assertWithMatcher:grey_notNil()];
+  [[EarlGrey selectElementWithMatcher:SelectableItemWithLabel(
+                                          @"Second selectable item", NO)]
+      assertWithMatcher:grey_notNil()];
+  [[EarlGrey selectElementWithMatcher:SelectableItemWithLabel(
+                                          @"Third selectable item", NO)]
+      assertWithMatcher:grey_notNil()];
+  [[EarlGrey selectElementWithMatcher:SelectableItemWithLabel(
+                                          @"Fourth selectable item", NO)]
+      assertWithMatcher:grey_notNil()];
+
+  [[EarlGrey selectElementWithMatcher:AddButton()]
+      assertWithMatcher:grey_notNil()];
+}
+
+// Tests that selectable items can be selected.
+- (void)testCanSelectItems {
+  // Tap the first selectable item which is currently not selected.
+  [[EarlGrey selectElementWithMatcher:SelectableItemWithLabel(
+                                          @"First selectable item", NO)]
+      performAction:grey_tap()];
+
+  // Confirm the delegate is informed.
+  [[EarlGrey selectElementWithMatcher:grey_accessibilityLabel(
+                                          @"protocol_alerter_done")]
+      performAction:grey_tap()];
+
+  // Confirm the first selectable item is now selected. Tap it again.
+  [[EarlGrey selectElementWithMatcher:SelectableItemWithLabel(
+                                          @"First selectable item", YES)]
+      performAction:grey_tap()];
+
+  // Confirm the delegate is informed.
+  [[EarlGrey selectElementWithMatcher:grey_accessibilityLabel(
+                                          @"protocol_alerter_done")]
+      performAction:grey_tap()];
+
+  // Confirm the first selectable item is still selected.
+  [[EarlGrey selectElementWithMatcher:SelectableItemWithLabel(
+                                          @"First selectable item", YES)]
+      assertWithMatcher:grey_notNil()];
+
+  // Tap the second selectable item which is currently not selected.
+  [[EarlGrey selectElementWithMatcher:SelectableItemWithLabel(
+                                          @"Second selectable item", NO)]
+      performAction:grey_tap()];
+
+  // Confirm the delegate is informed.
+  [[EarlGrey selectElementWithMatcher:grey_accessibilityLabel(
+                                          @"protocol_alerter_done")]
+      performAction:grey_tap()];
+
+  // Confirm the second selectable item is now selected.
+  [[EarlGrey selectElementWithMatcher:SelectableItemWithLabel(
+                                          @"Second selectable item", YES)]
+      assertWithMatcher:grey_notNil()];
+}
+
+// Tests that item can be added.
+- (void)testCanAddItem {
+  // Tap the add button.
+  [[EarlGrey selectElementWithMatcher:AddButton()] performAction:grey_tap()];
+
+  // Confirm the delegate is informed.
+  [[EarlGrey selectElementWithMatcher:grey_accessibilityLabel(
+                                          @"protocol_alerter_done")]
+      performAction:grey_tap()];
+}
+
+@end
diff --git a/ios/web/web_state/ui/crw_web_controller.mm b/ios/web/web_state/ui/crw_web_controller.mm
index a11db2c..fec250d 100644
--- a/ios/web/web_state/ui/crw_web_controller.mm
+++ b/ios/web/web_state/ui/crw_web_controller.mm
@@ -544,6 +544,9 @@
 - (WKWebView*)webViewWithConfiguration:(WKWebViewConfiguration*)config;
 // Sets the value of the webView property, and performs its basic setup.
 - (void)setWebView:(WKWebView*)webView;
+// Wraps the web view in a CRWWebViewContentView and adds it to the container
+// view.
+- (void)displayWebView;
 // Removes webView, optionally tracking the URL of the evicted
 // page for later cache-based reconstruction.
 - (void)removeWebViewAllowingCachedReconstruction:(BOOL)allowCache;
@@ -4052,13 +4055,19 @@
 
     _URLOnStartLoading = _defaultURL;
 
-    // Add the web toolbars.
-    [_containerView addToolbars:_webViewToolbars];
+    // WKWebViews with invalid or empty frames have exhibited rendering bugs, so
+    // resize the view to match the container view upon creation.
+    [_webView setFrame:[_containerView bounds]];
 
-    base::scoped_nsobject<CRWWebViewContentView> webViewContentView(
-        [[CRWWebViewContentView alloc] initWithWebView:_webView
-                                            scrollView:self.webScrollView]);
-    [_containerView displayWebViewContentView:webViewContentView];
+    // If the visible NavigationItem should be loaded in this web view, display
+    // it immediately.  Otherwise, it will be displayed when the pending load is
+    // committed.
+    web::NavigationItem* visibleItem =
+        self.navigationManagerImpl->GetVisibleItem();
+    const GURL& visibleURL =
+        visibleItem ? visibleItem->GetURL() : GURL::EmptyGURL();
+    if (![self shouldLoadURLInNativeView:visibleURL])
+      [self displayWebView];
   }
 }
 
@@ -4111,6 +4120,19 @@
   [self setDocumentURL:_defaultURL];
 }
 
+- (void)displayWebView {
+  if (!self.webView || [_containerView webViewContentView])
+    return;
+
+  // Add the web toolbars.
+  [_containerView addToolbars:_webViewToolbars];
+
+  base::scoped_nsobject<CRWWebViewContentView> webViewContentView(
+      [[CRWWebViewContentView alloc] initWithWebView:_webView
+                                          scrollView:self.webScrollView]);
+  [_containerView displayWebViewContentView:webViewContentView];
+}
+
 - (void)removeWebViewAllowingCachedReconstruction:(BOOL)allowCache {
   if (!_webView)
     return;
@@ -4523,6 +4545,9 @@
 
 - (void)webView:(WKWebView*)webView
     didCommitNavigation:(WKNavigation*)navigation {
+  [self displayWebView];
+
+  // Record the navigation state.
   [_navigationStates setState:web::WKNavigationState::COMMITTED
                 forNavigation:navigation];
 
@@ -4930,7 +4955,7 @@
 }
 
 - (void)loadRequestForCurrentNavigationItem {
-  DCHECK(_webView && !self.nativeController);
+  DCHECK(_webView);
   DCHECK(self.currentNavItem);
   // If a load is kicked off on a WKWebView with a frame whose size is {0, 0} or
   // that has a negative dimension for a size, rendering issues occur that
diff --git a/ios/web_view/internal/web_view_browser_state.mm b/ios/web_view/internal/web_view_browser_state.mm
index c41432f..6594e29 100644
--- a/ios/web_view/internal/web_view_browser_state.mm
+++ b/ios/web_view/internal/web_view_browser_state.mm
@@ -15,8 +15,8 @@
 #include "components/prefs/json_pref_store.h"
 #include "components/prefs/pref_filter.h"
 #include "components/prefs/pref_service_factory.h"
+#include "components/translate/core/browser/translate_pref_names.h"
 #include "components/translate/core/browser/translate_prefs.h"
-#include "components/translate/core/common/translate_pref_names.h"
 #include "ios/web/public/web_thread.h"
 #include "ios/web_view/internal/pref_names.h"
 #include "ios/web_view/internal/web_view_url_request_context_getter.h"
diff --git a/jingle/glue/proxy_resolving_client_socket.cc b/jingle/glue/proxy_resolving_client_socket.cc
index 4b9547c2..4417590 100644
--- a/jingle/glue/proxy_resolving_client_socket.cc
+++ b/jingle/glue/proxy_resolving_client_socket.cc
@@ -91,8 +91,6 @@
     session_params.enable_http2 = reference_params->enable_http2;
     session_params.enable_http2_alternative_service =
         reference_params->enable_http2_alternative_service;
-    session_params.enable_quic_alternative_service_with_different_host =
-        reference_params->enable_quic_alternative_service_with_different_host;
   }
 
   network_session_.reset(new net::HttpNetworkSession(session_params));
diff --git a/media/audio/audio_debug_recording_helper.cc b/media/audio/audio_debug_recording_helper.cc
index b68d627..af00630 100644
--- a/media/audio/audio_debug_recording_helper.cc
+++ b/media/audio/audio_debug_recording_helper.cc
@@ -66,9 +66,14 @@
   if (!recording_enabled)
     return;
 
-  // TODO(grunell) Don't create a new AudioBus each time. Maybe a pool of
-  // AudioBuses. See also comment in
-  // AudioInputController::AudioCallback::PerformOptionalDebugRecording.
+  // TODO(tommi): This is costly. AudioBus heap allocs and we create a new one
+  // for every callback. We could instead have a pool of bus objects that get
+  // returned to us somehow.
+  // We should also avoid calling PostTask here since the implementation of the
+  // debug writer will basically do a PostTask straight away anyway. Might
+  // require some modifications to AudioDebugFileWriter though since there are
+  // some threading concerns there and AudioDebugFileWriter's lifetime
+  // guarantees need to be longer than that of associated active audio streams.
   std::unique_ptr<AudioBus> audio_bus_copy =
       AudioBus::Create(source->channels(), source->frames());
   source->CopyTo(audio_bus_copy.get());
diff --git a/media/audio/audio_input_controller.cc b/media/audio/audio_input_controller.cc
index fca8d73..f15aa97 100644
--- a/media/audio/audio_input_controller.cc
+++ b/media/audio/audio_input_controller.cc
@@ -20,7 +20,6 @@
 #include "base/threading/thread_task_runner_handle.h"
 #include "base/time/time.h"
 #include "base/trace_event/trace_event.h"
-#include "media/base/media_switches.h"
 #include "media/base/user_input_monitor.h"
 
 namespace media {
@@ -124,7 +123,10 @@
     received_callback_ = true;
 
     DeliverDataToSyncWriter(source, hardware_delay_bytes, volume);
-    PerformOptionalDebugRecording(source);
+
+#if BUILDFLAG(ENABLE_WEBRTC)
+    controller_->debug_recording_helper_.OnData(source);
+#endif
   }
 
   void OnError(AudioInputStream* stream) override {
@@ -134,28 +136,6 @@
         base::Bind(&AudioInputController::DoReportError, weak_controller_));
   }
 
-  void PerformOptionalDebugRecording(const AudioBus* source) {
-    // Called on the hw callback thread while recording is enabled.
-    if (!controller_->debug_writer_ || !controller_->debug_writer_->WillWrite())
-      return;
-
-    // TODO(tommi): This is costly. AudioBus heap allocs and we create a new
-    // one for every callback. We could instead have a pool of bus objects
-    // that get returned to us somehow.
-    // We should also avoid calling PostTask here since the implementation
-    // of the debug writer will basically do a PostTask straight away anyway.
-    // Might require some modifications to AudioDebugFileWriter though since
-    // there are some threading concerns there and AudioDebugFileWriter's
-    // lifetime guarantees need to be longer than that of associated active
-    // audio streams.
-    std::unique_ptr<AudioBus> source_copy =
-        AudioBus::Create(source->channels(), source->frames());
-    source->CopyTo(source_copy.get());
-    controller_->task_runner_->PostTask(
-        FROM_HERE, base::Bind(&AudioInputController::WriteInputDataForDebugging,
-                              weak_controller_, base::Passed(&source_copy)));
-  }
-
   void DeliverDataToSyncWriter(const AudioBus* source,
                                uint32_t hardware_delay_bytes,
                                double volume) {
@@ -209,9 +189,10 @@
       type_(type),
       user_input_monitor_(user_input_monitor),
 #if BUILDFLAG(ENABLE_WEBRTC)
-      debug_writer_(
-          base::MakeUnique<AudioDebugFileWriter>(params,
-                                                 std::move(file_task_runner))),
+      debug_recording_helper_(params,
+                              task_runner_,
+                              std::move(file_task_runner),
+                              base::OnceClosure()),
 #endif
       weak_ptr_factory_(this) {
   DCHECK(creator_task_runner_.get());
@@ -456,8 +437,9 @@
     LogSilenceState(silence_state_);
 #endif
 
-  if (debug_writer_)
-    debug_writer_->Stop();
+#if BUILDFLAG(ENABLE_WEBRTC)
+  debug_recording_helper_.DisableDebugRecording();
+#endif
 
   max_volume_ = 0.0;
   weak_ptr_factory_.InvalidateWeakPtrs();
@@ -531,17 +513,21 @@
 
 void AudioInputController::EnableDebugRecording(
     const base::FilePath& file_name) {
+#if BUILDFLAG(ENABLE_WEBRTC)
   DCHECK(creator_task_runner_->BelongsToCurrentThread());
   task_runner_->PostTask(
       FROM_HERE, base::Bind(&AudioInputController::DoEnableDebugRecording, this,
                             file_name));
+#endif
 }
 
 void AudioInputController::DisableDebugRecording() {
+#if BUILDFLAG(ENABLE_WEBRTC)
   DCHECK(creator_task_runner_->BelongsToCurrentThread());
   task_runner_->PostTask(
       FROM_HERE,
       base::Bind(&AudioInputController::DoDisableDebugRecording, this));
+#endif
 }
 
 #if defined(AUDIO_POWER_MONITORING)
@@ -614,25 +600,18 @@
   }
 }
 
+#if BUILDFLAG(ENABLE_WEBRTC)
 void AudioInputController::DoEnableDebugRecording(
     const base::FilePath& file_name) {
   DCHECK(task_runner_->BelongsToCurrentThread());
-  if (debug_writer_)
-    debug_writer_->Start(file_name);
+  debug_recording_helper_.EnableDebugRecording(file_name);
 }
 
 void AudioInputController::DoDisableDebugRecording() {
   DCHECK(task_runner_->BelongsToCurrentThread());
-  if (debug_writer_)
-    debug_writer_->Stop();
+  debug_recording_helper_.DisableDebugRecording();
 }
-
-void AudioInputController::WriteInputDataForDebugging(
-    std::unique_ptr<AudioBus> data) {
-  DCHECK(task_runner_->BelongsToCurrentThread());
-  if (debug_writer_)
-    debug_writer_->Write(std::move(data));
-}
+#endif  // BUILDFLAG(ENABLE_WEBRTC)
 
 void AudioInputController::LogMessage(const std::string& message) {
   DCHECK(task_runner_->BelongsToCurrentThread());
diff --git a/media/audio/audio_input_controller.h b/media/audio/audio_input_controller.h
index c35ba27..a2be351 100644
--- a/media/audio/audio_input_controller.h
+++ b/media/audio/audio_input_controller.h
@@ -18,6 +18,7 @@
 #include "media/audio/audio_manager_base.h"
 #include "media/base/audio_bus.h"
 #include "media/base/audio_parameters.h"
+#include "media/base/media_switches.h"
 
 // An AudioInputController controls an AudioInputStream and records data
 // from this input stream. The two main methods are Record() and Close() and
@@ -301,13 +302,12 @@
   // Logs whether an error was encountered suring the stream.
   void LogCallbackError();
 
+#if BUILDFLAG(ENABLE_WEBRTC)
   // Enable and disable debug recording of audio input. Called on the audio
   // thread.
   void DoEnableDebugRecording(const base::FilePath& file_name);
   void DoDisableDebugRecording();
-
-  // Called on the audio thread.
-  void WriteInputDataForDebugging(std::unique_ptr<AudioBus> data);
+#endif
 
   // Called by the stream with log messages.
   void LogMessage(const std::string& message);
@@ -371,8 +371,10 @@
   // Time when the stream started recording.
   base::TimeTicks stream_create_time_;
 
+#if BUILDFLAG(ENABLE_WEBRTC)
   // Used for audio debug recordings. Accessed on audio thread.
-  const std::unique_ptr<AudioDebugFileWriter> debug_writer_;
+  AudioDebugRecordingHelper debug_recording_helper_;
+#endif
 
   class AudioCallback;
   // Holds a pointer to the callback object that receives audio data from
diff --git a/media/base/localized_strings.h b/media/base/localized_strings.h
index 0678f9b2..bf4a652f 100644
--- a/media/base/localized_strings.h
+++ b/media/base/localized_strings.h
@@ -28,10 +28,6 @@
   BEAMFORMING_ON_DEFAULT_AUDIO_INPUT_DEVICE_NAME,
   BEAMFORMING_OFF_DEFAULT_AUDIO_INPUT_DEVICE_NAME,
 #endif
-#if BUILDFLAG(ENABLE_MEDIA_REMOTING)
-  MEDIA_REMOTING_CAST_ERROR_TEXT,
-  MEDIA_REMOTING_CASTING_VIDEO_TEXT,
-#endif
 };
 
 // Implementations are expected to convert MessageIds to generated_resources.grd
diff --git a/media/base/media_observer.h b/media/base/media_observer.h
index 0181b1d..4bb3366 100644
--- a/media/base/media_observer.h
+++ b/media/base/media_observer.h
@@ -56,10 +56,6 @@
   virtual void OnPlaying() = 0;
   virtual void OnPaused() = 0;
 
-  // Called when a poster image URL is set, which happens when media is loaded
-  // or the poster attribute is changed.
-  virtual void OnSetPoster(const GURL& poster) = 0;
-
   // Set the MediaObserverClient.
   virtual void SetClient(MediaObserverClient* client) = 0;
 };
diff --git a/media/blink/webmediaplayer_impl.cc b/media/blink/webmediaplayer_impl.cc
index 172541b..0c886a34 100644
--- a/media/blink/webmediaplayer_impl.cc
+++ b/media/blink/webmediaplayer_impl.cc
@@ -1617,16 +1617,11 @@
 void WebMediaPlayerImpl::SetUseFallbackPath(bool use_fallback_path) {
   use_fallback_path_ = use_fallback_path;
 }
-#endif  // defined(OS_ANDROID)  // WMPI_CAST
 
 void WebMediaPlayerImpl::SetPoster(const blink::WebURL& poster) {
-#if defined(OS_ANDROID)
   cast_impl_.setPoster(poster);
-#endif
-
-  if (observer_)
-    observer_->OnSetPoster(poster);
 }
+#endif  // defined(OS_ANDROID)  // WMPI_CAST
 
 void WebMediaPlayerImpl::DataSourceInitialized(bool success) {
   DVLOG(1) << __func__;
diff --git a/media/blink/webmediaplayer_impl.h b/media/blink/webmediaplayer_impl.h
index 5be40d1fd..a7382f8 100644
--- a/media/blink/webmediaplayer_impl.h
+++ b/media/blink/webmediaplayer_impl.h
@@ -191,8 +191,6 @@
   void BecameDominantVisibleContent(bool isDominant) override;
   void SetIsEffectivelyFullscreen(bool isEffectivelyFullscreen) override;
 
-  void SetPoster(const blink::WebURL& poster) override;
-
   // WebMediaPlayerDelegate::Observer implementation.
   void OnFrameHidden() override;
   void OnFrameClosed() override;
@@ -220,6 +218,7 @@
   gfx::Size GetCanvasSize() const;
   void SetDeviceScaleFactor(float scale_factor);
   void SetUseFallbackPath(bool use_fallback_path);
+  void SetPoster(const blink::WebURL& poster) override;
 #endif
 
   // MediaObserverClient implementation.
diff --git a/media/capture/BUILD.gn b/media/capture/BUILD.gn
index 66ab197..a48ceee7 100644
--- a/media/capture/BUILD.gn
+++ b/media/capture/BUILD.gn
@@ -19,6 +19,10 @@
   defines = [ "CAPTURE_IMPLEMENTATION" ]
   sources = [
     "capture_export.h",
+    "video/video_capture_device_descriptor.cc",
+    "video/video_capture_device_descriptor.h",
+    "video/video_capture_device_info.cc",
+    "video/video_capture_device_info.h",
     "video_capture_types.cc",
     "video_capture_types.h",
   ]
@@ -86,12 +90,8 @@
     "video/video_capture_device.h",
     "video/video_capture_device_client.cc",
     "video/video_capture_device_client.h",
-    "video/video_capture_device_descriptor.cc",
-    "video/video_capture_device_descriptor.h",
     "video/video_capture_device_factory.cc",
     "video/video_capture_device_factory.h",
-    "video/video_capture_device_info.cc",
-    "video/video_capture_device_info.h",
     "video/video_capture_jpeg_decoder.h",
     "video/video_capture_system.h",
     "video/video_capture_system_impl.cc",
diff --git a/media/capture/mojo/video_capture_types.mojom b/media/capture/mojo/video_capture_types.mojom
index d020527..00170cd 100644
--- a/media/capture/mojo/video_capture_types.mojom
+++ b/media/capture/mojo/video_capture_types.mojom
@@ -67,3 +67,16 @@
   gfx.mojom.Size coded_size;
   gfx.mojom.Rect visible_rect;
 };
+
+struct VideoCaptureDeviceDescriptor {
+  string display_name;
+  string device_id;
+  string model_id;
+  VideoCaptureApi capture_api;
+  VideoCaptureTransportType transport_type;
+};
+
+struct VideoCaptureDeviceInfo {
+  VideoCaptureDeviceDescriptor descriptor;
+  array<VideoCaptureFormat> supported_formats;
+};
diff --git a/media/capture/mojo/video_capture_types.typemap b/media/capture/mojo/video_capture_types.typemap
index e6c4c44..32ed58a 100644
--- a/media/capture/mojo/video_capture_types.typemap
+++ b/media/capture/mojo/video_capture_types.typemap
@@ -4,7 +4,11 @@
 
 mojom = "//media/capture/mojo/video_capture_types.mojom"
 
-public_headers = [ "//media/capture/video_capture_types.h" ]
+public_headers = [
+  "//media/capture/video_capture_types.h",
+  "//media/capture/video/video_capture_device_descriptor.h",
+  "//media/capture/video/video_capture_device_info.h",
+]
 
 traits_headers = [
   "//media/capture/ipc/capture_param_traits_macros.h",
@@ -29,4 +33,6 @@
   "media.mojom.VideoCaptureFormat=media::VideoCaptureFormat",
   "media.mojom.VideoPixelStorage=media::VideoPixelStorage",
   "media.mojom.VideoCaptureParams=media::VideoCaptureParams",
+  "media.mojom.VideoCaptureDeviceDescriptor=media::VideoCaptureDeviceDescriptor",
+  "media.mojom.VideoCaptureDeviceInfo=media::VideoCaptureDeviceInfo",
 ]
diff --git a/media/capture/mojo/video_capture_types_typemap_traits.cc b/media/capture/mojo/video_capture_types_typemap_traits.cc
index ef27d0bf..ae16102 100644
--- a/media/capture/mojo/video_capture_types_typemap_traits.cc
+++ b/media/capture/mojo/video_capture_types_typemap_traits.cc
@@ -100,6 +100,113 @@
 }
 
 // static
+media::mojom::VideoCaptureApi
+EnumTraits<media::mojom::VideoCaptureApi, media::VideoCaptureApi>::ToMojom(
+    media::VideoCaptureApi input) {
+  switch (input) {
+    case media::VideoCaptureApi::LINUX_V4L2_SINGLE_PLANE:
+      return media::mojom::VideoCaptureApi::LINUX_V4L2_SINGLE_PLANE;
+    case media::VideoCaptureApi::WIN_MEDIA_FOUNDATION:
+      return media::mojom::VideoCaptureApi::WIN_MEDIA_FOUNDATION;
+    case media::VideoCaptureApi::WIN_DIRECT_SHOW:
+      return media::mojom::VideoCaptureApi::WIN_DIRECT_SHOW;
+    case media::VideoCaptureApi::MACOSX_AVFOUNDATION:
+      return media::mojom::VideoCaptureApi::MACOSX_AVFOUNDATION;
+    case media::VideoCaptureApi::MACOSX_DECKLINK:
+      return media::mojom::VideoCaptureApi::MACOSX_DECKLINK;
+    case media::VideoCaptureApi::ANDROID_API1:
+      return media::mojom::VideoCaptureApi::ANDROID_API1;
+    case media::VideoCaptureApi::ANDROID_API2_LEGACY:
+      return media::mojom::VideoCaptureApi::ANDROID_API2_LEGACY;
+    case media::VideoCaptureApi::ANDROID_API2_FULL:
+      return media::mojom::VideoCaptureApi::ANDROID_API2_FULL;
+    case media::VideoCaptureApi::ANDROID_API2_LIMITED:
+      return media::mojom::VideoCaptureApi::ANDROID_API2_LIMITED;
+    case media::VideoCaptureApi::ANDROID_TANGO:
+      return media::mojom::VideoCaptureApi::ANDROID_TANGO;
+    case media::VideoCaptureApi::UNKNOWN:
+      return media::mojom::VideoCaptureApi::UNKNOWN;
+  }
+  NOTREACHED();
+  return media::mojom::VideoCaptureApi::UNKNOWN;
+}
+
+// static
+bool EnumTraits<media::mojom::VideoCaptureApi, media::VideoCaptureApi>::
+    FromMojom(media::mojom::VideoCaptureApi input,
+              media::VideoCaptureApi* output) {
+  switch (input) {
+    case media::mojom::VideoCaptureApi::LINUX_V4L2_SINGLE_PLANE:
+      *output = media::VideoCaptureApi::LINUX_V4L2_SINGLE_PLANE;
+      return true;
+    case media::mojom::VideoCaptureApi::WIN_MEDIA_FOUNDATION:
+      *output = media::VideoCaptureApi::WIN_MEDIA_FOUNDATION;
+      return true;
+    case media::mojom::VideoCaptureApi::WIN_DIRECT_SHOW:
+      *output = media::VideoCaptureApi::WIN_DIRECT_SHOW;
+      return true;
+    case media::mojom::VideoCaptureApi::MACOSX_AVFOUNDATION:
+      *output = media::VideoCaptureApi::MACOSX_AVFOUNDATION;
+      return true;
+    case media::mojom::VideoCaptureApi::MACOSX_DECKLINK:
+      *output = media::VideoCaptureApi::MACOSX_DECKLINK;
+      return true;
+    case media::mojom::VideoCaptureApi::ANDROID_API1:
+      *output = media::VideoCaptureApi::ANDROID_API1;
+      return true;
+    case media::mojom::VideoCaptureApi::ANDROID_API2_LEGACY:
+      *output = media::VideoCaptureApi::ANDROID_API2_LEGACY;
+      return true;
+    case media::mojom::VideoCaptureApi::ANDROID_API2_FULL:
+      *output = media::VideoCaptureApi::ANDROID_API2_FULL;
+      return true;
+    case media::mojom::VideoCaptureApi::ANDROID_API2_LIMITED:
+      *output = media::VideoCaptureApi::ANDROID_API2_LIMITED;
+      return true;
+    case media::mojom::VideoCaptureApi::ANDROID_TANGO:
+      *output = media::VideoCaptureApi::ANDROID_TANGO;
+      return true;
+    case media::mojom::VideoCaptureApi::UNKNOWN:
+      *output = media::VideoCaptureApi::UNKNOWN;
+      return true;
+  }
+  NOTREACHED();
+  return false;
+}
+
+// static
+media::mojom::VideoCaptureTransportType EnumTraits<
+    media::mojom::VideoCaptureTransportType,
+    media::VideoCaptureTransportType>::ToMojom(media::VideoCaptureTransportType
+                                                   input) {
+  switch (input) {
+    case media::VideoCaptureTransportType::MACOSX_USB_OR_BUILT_IN:
+      return media::mojom::VideoCaptureTransportType::MACOSX_USB_OR_BUILT_IN;
+    case media::VideoCaptureTransportType::OTHER_TRANSPORT:
+      return media::mojom::VideoCaptureTransportType::OTHER_TRANSPORT;
+  }
+  NOTREACHED();
+  return media::mojom::VideoCaptureTransportType::OTHER_TRANSPORT;
+}
+
+// static
+bool EnumTraits<media::mojom::VideoCaptureTransportType,
+                media::VideoCaptureTransportType>::
+    FromMojom(media::mojom::VideoCaptureTransportType input,
+              media::VideoCaptureTransportType* output) {
+  switch (input) {
+    case media::mojom::VideoCaptureTransportType::MACOSX_USB_OR_BUILT_IN:
+      *output = media::VideoCaptureTransportType::MACOSX_USB_OR_BUILT_IN;
+      return true;
+    case media::mojom::VideoCaptureTransportType::OTHER_TRANSPORT:
+      *output = media::VideoCaptureTransportType::OTHER_TRANSPORT;
+      return true;
+  }
+  NOTREACHED();
+  return false;
+}
+
+// static
 bool StructTraits<media::mojom::VideoCaptureFormatDataView,
                   media::VideoCaptureFormat>::
     Read(media::mojom::VideoCaptureFormatDataView data,
@@ -128,4 +235,34 @@
   return true;
 }
 
+// static
+bool StructTraits<media::mojom::VideoCaptureDeviceDescriptorDataView,
+                  media::VideoCaptureDeviceDescriptor>::
+    Read(media::mojom::VideoCaptureDeviceDescriptorDataView data,
+         media::VideoCaptureDeviceDescriptor* output) {
+  if (!data.ReadDisplayName(&(output->display_name)))
+    return false;
+  if (!data.ReadDeviceId(&(output->device_id)))
+    return false;
+  if (!data.ReadModelId(&(output->model_id)))
+    return false;
+  if (!data.ReadCaptureApi(&(output->capture_api)))
+    return false;
+  if (!data.ReadTransportType(&(output->transport_type)))
+    return false;
+  return true;
+}
+
+// static
+bool StructTraits<media::mojom::VideoCaptureDeviceInfoDataView,
+                  media::VideoCaptureDeviceInfo>::
+    Read(media::mojom::VideoCaptureDeviceInfoDataView data,
+         media::VideoCaptureDeviceInfo* output) {
+  if (!data.ReadDescriptor(&(output->descriptor)))
+    return false;
+  if (!data.ReadSupportedFormats(&(output->supported_formats)))
+    return false;
+  return true;
+}
+
 }  // namespace mojo
diff --git a/media/capture/mojo/video_capture_types_typemap_traits.h b/media/capture/mojo/video_capture_types_typemap_traits.h
index 5caf816..d55896d5 100644
--- a/media/capture/mojo/video_capture_types_typemap_traits.h
+++ b/media/capture/mojo/video_capture_types_typemap_traits.h
@@ -5,8 +5,10 @@
 #ifndef MEDIA_CAPTURE_MOJO_VIDEO_CAPTURE_TYPES_TYPEMAP_TRAITS_H_
 #define MEDIA_CAPTURE_MOJO_VIDEO_CAPTURE_TYPES_TYPEMAP_TRAITS_H_
 
-#include "media/capture/video_capture_types.h"
 #include "media/capture/mojo/video_capture_types.mojom.h"
+#include "media/capture/video/video_capture_device_descriptor.h"
+#include "media/capture/video/video_capture_device_info.h"
+#include "media/capture/video_capture_types.h"
 
 namespace mojo {
 
@@ -39,6 +41,22 @@
 };
 
 template <>
+struct EnumTraits<media::mojom::VideoCaptureApi, media::VideoCaptureApi> {
+  static media::mojom::VideoCaptureApi ToMojom(media::VideoCaptureApi input);
+  static bool FromMojom(media::mojom::VideoCaptureApi input,
+                        media::VideoCaptureApi* output);
+};
+
+template <>
+struct EnumTraits<media::mojom::VideoCaptureTransportType,
+                  media::VideoCaptureTransportType> {
+  static media::mojom::VideoCaptureTransportType ToMojom(
+      media::VideoCaptureTransportType input);
+  static bool FromMojom(media::mojom::VideoCaptureTransportType input,
+                        media::VideoCaptureTransportType* output);
+};
+
+template <>
 struct StructTraits<media::mojom::VideoCaptureFormatDataView,
                     media::VideoCaptureFormat> {
   static const gfx::Size& frame_size(const media::VideoCaptureFormat& format) {
@@ -84,6 +102,55 @@
   static bool Read(media::mojom::VideoCaptureParamsDataView data,
                    media::VideoCaptureParams* out);
 };
+
+template <>
+struct StructTraits<media::mojom::VideoCaptureDeviceDescriptorDataView,
+                    media::VideoCaptureDeviceDescriptor> {
+  static const std::string& display_name(
+      const media::VideoCaptureDeviceDescriptor& input) {
+    return input.display_name;
+  }
+
+  static const std::string& device_id(
+      const media::VideoCaptureDeviceDescriptor& input) {
+    return input.device_id;
+  }
+
+  static const std::string& model_id(
+      const media::VideoCaptureDeviceDescriptor& input) {
+    return input.model_id;
+  }
+
+  static media::VideoCaptureApi capture_api(
+      const media::VideoCaptureDeviceDescriptor& input) {
+    return input.capture_api;
+  }
+
+  static media::VideoCaptureTransportType transport_type(
+      const media::VideoCaptureDeviceDescriptor& input) {
+    return input.transport_type;
+  }
+
+  static bool Read(media::mojom::VideoCaptureDeviceDescriptorDataView data,
+                   media::VideoCaptureDeviceDescriptor* output);
+};
+
+template <>
+struct StructTraits<media::mojom::VideoCaptureDeviceInfoDataView,
+                    media::VideoCaptureDeviceInfo> {
+  static const media::VideoCaptureDeviceDescriptor& descriptor(
+      const media::VideoCaptureDeviceInfo& input) {
+    return input.descriptor;
+  }
+
+  static const std::vector<media::VideoCaptureFormat>& supported_formats(
+      const media::VideoCaptureDeviceInfo& input) {
+    return input.supported_formats;
+  }
+
+  static bool Read(media::mojom::VideoCaptureDeviceInfoDataView data,
+                   media::VideoCaptureDeviceInfo* output);
+};
 }
 
 #endif  // MEDIA_CAPTURE_MOJO_VIDEO_CAPTURE_TYPES_TYPEMAP_TRAITS_H_
diff --git a/media/remoting/BUILD.gn b/media/remoting/BUILD.gn
index bf628d7..10ea07cc 100644
--- a/media/remoting/BUILD.gn
+++ b/media/remoting/BUILD.gn
@@ -42,8 +42,6 @@
     "courier_renderer.h",
     "demuxer_stream_adapter.cc",
     "demuxer_stream_adapter.h",
-    "interstitial.cc",
-    "interstitial.h",
     "metrics.cc",
     "metrics.h",
     "remoting_cdm.cc",
@@ -69,9 +67,7 @@
     "//media",
     "//media/mojo/interfaces:remoting",
     "//mojo/public/cpp/bindings",
-    "//skia",
     "//ui/gfx",
-    "//ui/vector_icons",
   ]
 }
 
diff --git a/media/remoting/DEPS b/media/remoting/DEPS
index 9f36c275..ef8ad28 100644
--- a/media/remoting/DEPS
+++ b/media/remoting/DEPS
@@ -1,4 +1,3 @@
 include_rules = [
   "+mojo/public",
-  "+ui/vector_icons",
 ]
diff --git a/media/remoting/courier_renderer.cc b/media/remoting/courier_renderer.cc
index 33a11e5..6bc07ecc 100644
--- a/media/remoting/courier_renderer.cc
+++ b/media/remoting/courier_renderer.cc
@@ -79,9 +79,6 @@
   // Note: The constructor is running on the main thread, but will be destroyed
   // on the media thread. Therefore, all weak pointers must be dereferenced on
   // the media thread.
-  controller_->SetShowInterstitialCallback(
-      base::Bind(&CourierRenderer::RenderInterstitialAndShow,
-                 media_task_runner_, weak_factory_.GetWeakPtr()));
   const RpcBroker::ReceiveMessageCallback receive_callback =
       base::Bind(&CourierRenderer::OnMessageReceivedOnMainThread,
                  media_task_runner_, weak_factory_.GetWeakPtr());
@@ -92,23 +89,14 @@
   VLOG(2) << __func__;
   DCHECK(media_task_runner_->BelongsToCurrentThread());
 
-  // Post task on main thread to unset the interstial callback.
-  main_task_runner_->PostTask(
-      FROM_HERE,
-      base::Bind(&RendererController::SetShowInterstitialCallback, controller_,
-                 RendererController::ShowInterstitialCallback()));
-
   // Post task on main thread to unregister message receiver.
   main_task_runner_->PostTask(
       FROM_HERE, base::Bind(&RpcBroker::UnregisterMessageReceiverCallback,
                             rpc_broker_, rpc_handle_));
 
-  // If the "between sessions" interstitial is not the one currently showing,
-  // paint a blank black frame to clear remoting messaging.
-  if (interstitial_type_ != InterstitialType::BETWEEN_SESSIONS) {
-    scoped_refptr<VideoFrame> frame =
-        VideoFrame::CreateBlackFrame(gfx::Size(1280, 720));
-    PaintInterstitial(frame, InterstitialType::BETWEEN_SESSIONS);
+  if (video_renderer_sink_) {
+    video_renderer_sink_->PaintSingleFrame(
+        VideoFrame::CreateBlackFrame(gfx::Size(1280, 720)));
   }
 }
 
@@ -697,35 +685,6 @@
     base::ResetAndReturn(&flush_cb_).Run();
 }
 
-// static
-void CourierRenderer::RenderInterstitialAndShow(
-    scoped_refptr<base::SingleThreadTaskRunner> media_task_runner,
-    base::WeakPtr<CourierRenderer> self,
-    const SkBitmap& background,
-    const gfx::Size& natural_size,
-    InterstitialType type) {
-  // Note: This is running on the main thread. |self| must only be dereferenced
-  // on the media thread.
-  scoped_refptr<VideoFrame> frame =
-      RenderInterstitialFrame(background, natural_size, type);
-  if (!frame) {
-    NOTREACHED();
-    return;
-  }
-  media_task_runner->PostTask(
-      FROM_HERE, base::Bind(&CourierRenderer::PaintInterstitial, self,
-                            std::move(frame), type));
-}
-
-void CourierRenderer::PaintInterstitial(scoped_refptr<VideoFrame> frame,
-                                        InterstitialType type) {
-  DCHECK(media_task_runner_->BelongsToCurrentThread());
-  interstitial_type_ = type;
-  if (!video_renderer_sink_)
-    return;
-  video_renderer_sink_->PaintSingleFrame(frame);
-}
-
 void CourierRenderer::OnMediaTimeUpdated() {
   DCHECK(media_task_runner_->BelongsToCurrentThread());
   if (!flush_cb_.is_null())
diff --git a/media/remoting/courier_renderer.h b/media/remoting/courier_renderer.h
index 969c1f33..d8ec41a 100644
--- a/media/remoting/courier_renderer.h
+++ b/media/remoting/courier_renderer.h
@@ -19,7 +19,6 @@
 #include "media/base/pipeline_status.h"
 #include "media/base/renderer.h"
 #include "media/mojo/interfaces/remoting.mojom.h"
-#include "media/remoting/interstitial.h"
 #include "media/remoting/metrics.h"
 #include "media/remoting/rpc_broker.h"
 #include "mojo/public/cpp/system/data_pipe.h"
@@ -37,10 +36,6 @@
 // A media::Renderer implementation that proxies all operations to a remote
 // renderer via RPCs. The CourierRenderer is instantiated by
 // AdaptiveRendererFactory when media remoting is meant to take place.
-//
-// While the media content is rendered remotely, the CourierRenderer emits
-// interstitial frames locally, to the VideoRendererSink, to indicate to the
-// user that remoting is taking place.
 class CourierRenderer : public Renderer {
  public:
   // The whole class except for constructor and GetMediaTime() runs on
@@ -72,16 +67,6 @@
       base::WeakPtr<CourierRenderer> self,
       std::unique_ptr<pb::RpcMessage> message);
 
-  // Called to render the interstitial on the main thread. Then, trampoline to
-  // the media thread to have the CourierRenderer pass the resulting VideoFrame
-  // to the VideoRendererSink.
-  static void RenderInterstitialAndShow(
-      scoped_refptr<base::SingleThreadTaskRunner> media_task_runner,
-      base::WeakPtr<CourierRenderer> self,
-      const SkBitmap& background,
-      const gfx::Size& natural_size,
-      InterstitialType type);
-
  public:
   // media::Renderer implementation.
   void Initialize(MediaResource* media_resource,
@@ -134,11 +119,6 @@
   void OnStatisticsUpdate(std::unique_ptr<pb::RpcMessage> message);
   void OnDurationChange(std::unique_ptr<pb::RpcMessage> message);
 
-  // Called to pass the newly-rendered interstitial VideoFrame to the
-  // VideoRendererSink.
-  void PaintInterstitial(scoped_refptr<VideoFrame> frame,
-                         InterstitialType type);
-
   // Called when |current_media_time_| is updated.
   void OnMediaTimeUpdated();
 
@@ -226,9 +206,6 @@
   // the data flow rates for metrics.
   base::RepeatingTimer data_flow_poll_timer_;
 
-  // Current type of the interstitial frame.
-  InterstitialType interstitial_type_ = InterstitialType::BETWEEN_SESSIONS;
-
   base::WeakPtrFactory<CourierRenderer> weak_factory_;
 
   DISALLOW_COPY_AND_ASSIGN(CourierRenderer);
diff --git a/media/remoting/interstitial.cc b/media/remoting/interstitial.cc
deleted file mode 100644
index 2548a2d0..0000000
--- a/media/remoting/interstitial.cc
+++ /dev/null
@@ -1,165 +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.
-
-#include "media/remoting/interstitial.h"
-
-#include <algorithm>  // for std::max()
-
-#include "media/base/localized_strings.h"
-#include "media/base/video_frame.h"
-#include "media/base/video_util.h"
-#include "skia/ext/image_operations.h"
-#include "third_party/skia/include/core/SkBitmap.h"
-#include "third_party/skia/include/core/SkCanvas.h"
-#include "third_party/skia/include/core/SkTypeface.h"
-#include "third_party/skia/include/effects/SkBlurImageFilter.h"
-#include "ui/gfx/color_palette.h"
-#include "ui/gfx/geometry/size.h"
-#include "ui/gfx/paint_vector_icon.h"
-#include "ui/gfx/skbitmap_operations.h"
-#include "ui/vector_icons/vector_icons.h"
-
-namespace media {
-namespace remoting {
-
-namespace {
-
-// The interstitial frame size when |background_image| is empty or has low
-// resolution. The frame height may be adjusted according to the aspect ratio of
-// the |background_image|.
-constexpr int kDefaultFrameWidth = 1280;
-constexpr int kDefaultFrameHeight = 720;
-
-SkBitmap ResizeImage(const SkBitmap& image, const gfx::Size& scaled_size) {
-  DCHECK(!scaled_size.IsEmpty());
-
-  if (image.width() == scaled_size.width() &&
-      image.height() == scaled_size.height())
-    return image;
-
-  return skia::ImageOperations::Resize(
-      image, skia::ImageOperations::RESIZE_BEST, scaled_size.width(),
-      scaled_size.height());
-}
-
-void RenderCastMessage(const gfx::Size& canvas_size,
-                       InterstitialType type,
-                       SkCanvas* canvas) {
-  DCHECK(canvas);
-  if (type == InterstitialType::BETWEEN_SESSIONS)
-    return;
-
-  // Blur the background image.
-  constexpr SkScalar kSigma = SkIntToScalar(10);
-  SkPaint paint_blur;
-  paint_blur.setImageFilter(SkBlurImageFilter::Make(kSigma, kSigma, nullptr));
-  canvas->saveLayer(0, &paint_blur);
-  canvas->restore();
-
-  // Create SkPaint for text and icon bitmap.
-  // After |paint| draws, the new canvas should look like this:
-  //       _________________________________
-  //       |                                |
-  //       |                                |
-  //       |             [   ]              |
-  //       |        Casting Video...        |
-  //       |                                |
-  //       |________________________________|
-  //
-  // Both text and icon are centered horizontally. Together, they are
-  // centered vertically.
-  SkPaint paint;
-  paint.setAntiAlias(true);
-  paint.setFilterQuality(kHigh_SkFilterQuality);
-  paint.setColor(SK_ColorLTGRAY);
-  paint.setTypeface(SkTypeface::MakeFromName(
-      "sans", SkFontStyle::FromOldStyle(SkTypeface::kNormal)));
-  const SkScalar text_height = SkIntToScalar(canvas_size.height() / 18);
-  paint.setTextSize(text_height);
-
-  // Draw the appropriate text.
-  const std::string message =
-      (type == InterstitialType::IN_SESSION
-           ? GetLocalizedStringUTF8(MEDIA_REMOTING_CASTING_VIDEO_TEXT)
-           : GetLocalizedStringUTF8(MEDIA_REMOTING_CAST_ERROR_TEXT));
-  SkScalar display_text_width =
-      paint.measureText(message.data(), message.size());
-  SkScalar sk_text_offset_x =
-      SkScalarFloorToScalar((canvas_size.width() - display_text_width) / 2.0);
-  SkScalar sk_text_offset_y =
-      SkScalarFloorToScalar((canvas_size.height() / 2.0) + text_height);
-  canvas->drawText(message.data(), message.size(), sk_text_offset_x,
-                   sk_text_offset_y, paint);
-
-  // Draw the appropriate Cast icon.
-  const gfx::VectorIcon& current_icon = type == InterstitialType::IN_SESSION
-                                            ? ui::kMediaRouterActiveIcon
-                                            : ui::kMediaRouterWarningIcon;
-  gfx::ImageSkia icon_image = gfx::CreateVectorIcon(
-      current_icon, canvas_size.height() / 6, SK_ColorLTGRAY);
-  const SkBitmap* icon_bitmap = icon_image.bitmap();
-  SkScalar sk_image_offset_x = (canvas_size.width() - icon_image.width()) / 2.0;
-  SkScalar sk_image_offset_y =
-      (canvas_size.height() / 2.0) - icon_image.height();
-  canvas->drawBitmap(*icon_bitmap, sk_image_offset_x, sk_image_offset_y,
-                     &paint);
-}
-
-gfx::Size GetCanvasSize(const gfx::Size& image_size,
-                        const gfx::Size& natural_size) {
-  if (natural_size.IsEmpty())
-    return gfx::Size(kDefaultFrameWidth, kDefaultFrameHeight);
-  int width = std::max(image_size.width(), kDefaultFrameWidth) & ~1;
-  base::CheckedNumeric<int> height = width;
-  height *= natural_size.height();
-  height /= natural_size.width();
-  height &= ~1;
-  gfx::Size result = gfx::Size(width, height.ValueOrDefault(0));
-  return result.IsEmpty() ? gfx::Size(kDefaultFrameWidth, kDefaultFrameHeight)
-                          : result;
-}
-
-}  // namespace
-
-scoped_refptr<VideoFrame> RenderInterstitialFrame(const SkBitmap& image,
-                                                  const gfx::Size& natural_size,
-                                                  InterstitialType type) {
-  gfx::Size canvas_size =
-      GetCanvasSize(gfx::Size(image.width(), image.height()), natural_size);
-  SkBitmap canvas_bitmap;
-  canvas_bitmap.allocN32Pixels(canvas_size.width(), canvas_size.height());
-  canvas_bitmap.eraseColor(SK_ColorBLACK);
-  SkCanvas canvas(canvas_bitmap);
-
-  // Draw background image on the canvas.
-  if (!image.drawsNothing()) {
-    gfx::Rect centered_rect = ComputeLetterboxRegion(
-        gfx::Rect(canvas_size), gfx::Size(image.width(), image.height()));
-    SkBitmap processed_image = ResizeImage(image, centered_rect.size());
-    if (type != InterstitialType::BETWEEN_SESSIONS) {
-      color_utils::HSL shift = {-1, 0, 0.2};  // Make monochromatic.
-      processed_image =
-          SkBitmapOperations::CreateHSLShiftedBitmap(processed_image, shift);
-    }
-    canvas.writePixels(processed_image, centered_rect.x(), centered_rect.y());
-  }
-
-  RenderCastMessage(canvas_size, type, &canvas);
-
-  // Create a new VideoFrame, copy the bitmap, then return it.
-  scoped_refptr<VideoFrame> video_frame = VideoFrame::CreateFrame(
-      PIXEL_FORMAT_I420, canvas_size, gfx::Rect(canvas_size), canvas_size,
-      base::TimeDelta());
-  if (video_frame) {
-    SkAutoLockPixels pixel_lock(canvas_bitmap);
-    CopyRGBToVideoFrame(reinterpret_cast<uint8_t*>(canvas_bitmap.getPixels()),
-                        canvas_bitmap.rowBytes(),
-                        gfx::Rect(canvas_size.width(), canvas_size.height()),
-                        video_frame.get());
-  }
-  return video_frame;
-}
-
-}  // namespace remoting
-}  // namespace media
diff --git a/media/remoting/interstitial.h b/media/remoting/interstitial.h
deleted file mode 100644
index 0703480..0000000
--- a/media/remoting/interstitial.h
+++ /dev/null
@@ -1,45 +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 MEDIA_REMOTING_INTERSTITIAL_H_
-#define MEDIA_REMOTING_INTERSTITIAL_H_
-
-#include "base/memory/ref_counted.h"
-
-class SkBitmap;
-
-namespace gfx {
-class Size;
-}
-
-namespace media {
-
-class VideoFrame;
-
-namespace remoting {
-
-enum InterstitialType {
-  BETWEEN_SESSIONS,             // Show background image only.
-  IN_SESSION,                   // Show MEDIA_REMOTING_CASTING_VIDEO_TEXT.
-  ENCRYPTED_MEDIA_FATAL_ERROR,  // Show MEDIA_REMOTING_CAST_ERROR_TEXT.
-};
-
-// Render an interstitial frame--a combination of |image| in the background
-// along with a text message describing what is going on--and return it in a
-// VideoFrame. |image| may be scaled accordingly without changing its aspect
-// ratio. When it has a different aspect ratio than |natural_size|, a scaled
-// |background_image| will be centered in the frame. When |image| is empty, a
-// blank black background will be used.
-//
-// Threading note: This *must* be called on the main thread, because it uses
-// Skia's font rendering facility, which loads/caches fonts on the main thread.
-// http://crbug.com/687473.
-scoped_refptr<VideoFrame> RenderInterstitialFrame(const SkBitmap& image,
-                                                  const gfx::Size& natural_size,
-                                                  InterstitialType type);
-
-}  // namespace remoting
-}  // namespace media
-
-#endif  // MEDIA_REMOTING_INTERSTITIAL_H_
diff --git a/media/remoting/renderer_controller.cc b/media/remoting/renderer_controller.cc
index 161ebcde..998fa99 100644
--- a/media/remoting/renderer_controller.cc
+++ b/media/remoting/renderer_controller.cc
@@ -55,7 +55,6 @@
   if (client_)
     client_->ActivateViewportIntersectionMonitoring(IsRemoteSinkAvailable());
 
-  UpdateInterstitial(base::nullopt);
   UpdateAndMaybeSwitch(start_trigger, stop_trigger);
 }
 
@@ -139,18 +138,6 @@
   UpdateAndMaybeSwitch(ENABLED_BY_PAGE, DISABLED_BY_PAGE);
 }
 
-void RendererController::OnSetPoster(const GURL& poster_url) {
-  DCHECK(thread_checker_.CalledOnValidThread());
-
-  if (poster_url != poster_url_) {
-    poster_url_ = poster_url;
-    if (poster_url_.is_empty())
-      UpdateInterstitial(SkBitmap());
-    else
-      DownloadPosterImage();
-  }
-}
-
 base::WeakPtr<RpcBroker> RendererController::GetRpcBroker() const {
   DCHECK(thread_checker_.CalledOnValidThread());
 
@@ -170,7 +157,6 @@
 void RendererController::OnMetadataChanged(const PipelineMetadata& metadata) {
   DCHECK(thread_checker_.CalledOnValidThread());
 
-  const gfx::Size old_size = pipeline_metadata_.natural_size;
   const bool was_audio_codec_supported = has_audio() && IsAudioCodecSupported();
   const bool was_video_codec_supported = has_video() && IsVideoCodecSupported();
   pipeline_metadata_ = metadata;
@@ -184,9 +170,6 @@
   if (has_audio())
     is_encrypted_ |= metadata.audio_decoder_config.is_encrypted();
 
-  if (pipeline_metadata_.natural_size != old_size)
-    UpdateInterstitial(base::nullopt);
-
   StartTrigger start_trigger = UNKNOWN_START_TRIGGER;
   if (!was_audio_codec_supported && is_audio_codec_supported)
     start_trigger = SUPPORTED_AUDIO_CODEC;
@@ -274,10 +257,9 @@
   const SharedSession::SessionState state = session_->state();
   if (is_encrypted_) {
     // Due to technical limitations when playing encrypted content, once a
-    // remoting session has been started, always return true here to indicate
-    // that the CourierRenderer should continue to be used. In the stopped
-    // states, CourierRenderer will display an interstitial to notify the user
-    // that local rendering cannot be resumed.
+    // remoting session has been started, playback cannot be resumed locally
+    // without reloading the page, so leave the CourierRenderer in-place to
+    // avoid having the default renderer attempt and fail to play the content.
     //
     // TODO(miu): Revisit this once more of the encrypted-remoting impl is
     // in-place. For example, this will prevent metrics from recording session
@@ -364,99 +346,11 @@
     DCHECK(!is_encrypted_);
     DCHECK_NE(stop_trigger, UNKNOWN_STOP_TRIGGER);
     metrics_recorder_.WillStopSession(stop_trigger);
-    // Update the interstitial one last time before switching back to the local
-    // Renderer.
-    UpdateInterstitial(base::nullopt);
     client_->SwitchRenderer(false);
     session_->StopRemoting(this);
   }
 }
 
-void RendererController::SetShowInterstitialCallback(
-    const ShowInterstitialCallback& cb) {
-  DCHECK(thread_checker_.CalledOnValidThread());
-  show_interstitial_cb_ = cb;
-  UpdateInterstitial(SkBitmap());
-  if (!poster_url_.is_empty())
-    DownloadPosterImage();
-}
-
-void RendererController::SetDownloadPosterCallback(
-    const DownloadPosterCallback& cb) {
-  DCHECK(thread_checker_.CalledOnValidThread());
-  DCHECK(download_poster_cb_.is_null());
-  download_poster_cb_ = cb;
-  if (!poster_url_.is_empty())
-    DownloadPosterImage();
-}
-
-void RendererController::UpdateInterstitial(
-    const base::Optional<SkBitmap>& image) {
-  DCHECK(thread_checker_.CalledOnValidThread());
-  if (show_interstitial_cb_.is_null())
-    return;
-
-  InterstitialType type = InterstitialType::BETWEEN_SESSIONS;
-  switch (remote_rendering_started_ ? session_->state()
-                                    : SharedSession::SESSION_STOPPING) {
-    case SharedSession::SESSION_STARTED:
-      type = InterstitialType::IN_SESSION;
-      break;
-    case SharedSession::SESSION_PERMANENTLY_STOPPED:
-      type = InterstitialType::ENCRYPTED_MEDIA_FATAL_ERROR;
-      break;
-    case SharedSession::SESSION_UNAVAILABLE:
-    case SharedSession::SESSION_CAN_START:
-    case SharedSession::SESSION_STARTING:
-    case SharedSession::SESSION_STOPPING:
-      break;
-  }
-
-  bool needs_update = false;
-  if (image.has_value()) {
-    interstitial_background_ = image.value();
-    needs_update = true;
-  }
-  if (interstitial_natural_size_ != pipeline_metadata_.natural_size) {
-    interstitial_natural_size_ = pipeline_metadata_.natural_size;
-    needs_update = true;
-  }
-  if (interstitial_type_ != type) {
-    interstitial_type_ = type;
-    needs_update = true;
-  }
-  if (!needs_update)
-    return;
-
-  show_interstitial_cb_.Run(interstitial_background_,
-                            interstitial_natural_size_, interstitial_type_);
-}
-
-void RendererController::DownloadPosterImage() {
-  if (download_poster_cb_.is_null() || show_interstitial_cb_.is_null())
-    return;
-  DCHECK(!poster_url_.is_empty());
-
-  const base::TimeTicks download_start_time = base::TimeTicks::Now();
-  download_poster_cb_.Run(
-      poster_url_,
-      base::Bind(&RendererController::OnPosterImageDownloaded,
-                 weak_factory_.GetWeakPtr(), poster_url_, download_start_time));
-}
-
-void RendererController::OnPosterImageDownloaded(
-    const GURL& download_url,
-    base::TimeTicks download_start_time,
-    const SkBitmap& image) {
-  DCHECK(thread_checker_.CalledOnValidThread());
-
-  metrics_recorder_.OnPosterImageDownloaded(
-      base::TimeTicks::Now() - download_start_time, !image.drawsNothing());
-  if (download_url != poster_url_)
-    return;  // The poster image URL has changed during the download.
-  UpdateInterstitial(image);
-}
-
 void RendererController::OnRendererFatalError(StopTrigger stop_trigger) {
   DCHECK(thread_checker_.CalledOnValidThread());
 
diff --git a/media/remoting/renderer_controller.h b/media/remoting/renderer_controller.h
index bc7d6e3..10b338f8 100644
--- a/media/remoting/renderer_controller.h
+++ b/media/remoting/renderer_controller.h
@@ -9,10 +9,8 @@
 #include "base/memory/weak_ptr.h"
 #include "base/optional.h"
 #include "media/base/media_observer.h"
-#include "media/remoting/interstitial.h"
 #include "media/remoting/metrics.h"
 #include "media/remoting/shared_session.h"
-#include "third_party/skia/include/core/SkBitmap.h"
 
 namespace media {
 namespace remoting {
@@ -43,20 +41,8 @@
   void OnRemotePlaybackDisabled(bool disabled) override;
   void OnPlaying() override;
   void OnPaused() override;
-  void OnSetPoster(const GURL& poster) override;
   void SetClient(MediaObserverClient* client) override;
 
-  using ShowInterstitialCallback = base::Callback<
-      void(const SkBitmap&, const gfx::Size&, InterstitialType type)>;
-  // Called by the CourierRenderer constructor to set the callback to draw and
-  // show remoting interstial.
-  void SetShowInterstitialCallback(const ShowInterstitialCallback& cb);
-  using DownloadPosterCallback =
-      base::Callback<void(const GURL&,
-                          const base::Callback<void(const SkBitmap&)>&)>;
-  // Set the callback to download poster image.
-  void SetDownloadPosterCallback(const DownloadPosterCallback& cb);
-
   base::WeakPtr<RendererController> GetWeakPtr() {
     return weak_factory_.GetWeakPtr();
   }
@@ -113,29 +99,6 @@
   void UpdateAndMaybeSwitch(StartTrigger start_trigger,
                             StopTrigger stop_trigger);
 
-  // Called to download the poster image. Called when:
-  // 1. Poster URL changes.
-  // 2. ShowInterstitialCallback is set.
-  // 3. DownloadPosterCallback is set.
-  void DownloadPosterImage();
-
-  // Called when poster image is downloaded.
-  void OnPosterImageDownloaded(const GURL& download_url,
-                               base::TimeTicks download_start_time,
-                               const SkBitmap& image);
-
-  // Update remoting interstitial with |image|. When |image| is not set,
-  // interstitial will be drawn on previously downloaded poster image (in
-  // CourierRenderer) or black background if none was downloaded before.
-  // Call this when:
-  // 1. SetShowInterstitialCallback() is called (CourierRenderer is created).
-  // 2. The remoting session is shut down (to update the status message in the
-  //    interstitial).
-  // 3. The size of the canvas is changed (to update the background image and
-  //    the position of the status message).
-  // 4. Poster image is downloaded (to update the background image).
-  void UpdateInterstitial(const base::Optional<SkBitmap>& image);
-
   // Indicates whether this media element is in full screen.
   bool is_fullscreen_ = false;
 
@@ -180,27 +143,6 @@
   // Current pipeline metadata.
   PipelineMetadata pipeline_metadata_;
 
-  // The callback to show the remoting interstitial. It is set shortly after
-  // remoting is started (when CourierRenderer is constructed, it calls
-  // SetShowInterstitialCallback()), and is reset shortly after remoting has
-  // ended.
-  ShowInterstitialCallback show_interstitial_cb_;
-
-  // The arguments passed in the last call to the interstitial callback. On each
-  // call to UpdateInterstitial(), one or more of these may be changed. If any
-  // change, the callback will be run.
-  SkBitmap interstitial_background_;
-  gfx::Size interstitial_natural_size_;
-  InterstitialType interstitial_type_ = InterstitialType::BETWEEN_SESSIONS;
-
-  // Current poster URL, whose image will feed into the local UI.
-  GURL poster_url_;
-
-  // The callback to download the poster image. Called when |poster_url_|
-  // changes during a remoting session or the show interstial callback is set.
-  // OnPosterImageDownloaded() will be called when download completes.
-  DownloadPosterCallback download_poster_cb_;
-
   // Records session events of interest.
   SessionMetricsRecorder metrics_recorder_;
 
diff --git a/mojo/public/tools/bindings/chromium_bindings_configuration.gni b/mojo/public/tools/bindings/chromium_bindings_configuration.gni
index ca36723f..8cd72da 100644
--- a/mojo/public/tools/bindings/chromium_bindings_configuration.gni
+++ b/mojo/public/tools/bindings/chromium_bindings_configuration.gni
@@ -34,7 +34,6 @@
   "//services/ui/gpu/interfaces/typemaps.gni",
   "//services/ui/public/interfaces/cursor/typemaps.gni",
   "//services/ui/public/interfaces/ime/typemaps.gni",
-  "//services/video_capture/public/interfaces/typemaps.gni",
   "//skia/public/interfaces/typemaps.gni",
   "//third_party/WebKit/public/public_typemaps.gni",
   "//ui/base/mojo/typemaps.gni",
diff --git a/net/BUILD.gn b/net/BUILD.gn
index 13792889..28477ee 100644
--- a/net/BUILD.gn
+++ b/net/BUILD.gn
@@ -1545,6 +1545,7 @@
       "spdy/http2_frame_decoder_adapter.h",
       "spdy/http2_priority_dependencies.cc",
       "spdy/http2_priority_dependencies.h",
+      "spdy/lifo_write_scheduler.h",
       "spdy/multiplexed_http_stream.cc",
       "spdy/multiplexed_http_stream.h",
       "spdy/multiplexed_session.cc",
@@ -4744,6 +4745,7 @@
     "spdy/hpack/hpack_round_trip_test.cc",
     "spdy/hpack/hpack_static_table_test.cc",
     "spdy/http2_priority_dependencies_unittest.cc",
+    "spdy/lifo_write_scheduler_test.cc",
     "spdy/mock_spdy_framer_visitor.cc",
     "spdy/mock_spdy_framer_visitor.h",
     "spdy/platform/api/spdy_string_utils_test.cc",
diff --git a/net/http/http_network_session.cc b/net/http/http_network_session.cc
index 2bf81e63..5c208946 100644
--- a/net/http/http_network_session.cc
+++ b/net/http/http_network_session.cc
@@ -120,7 +120,6 @@
       spdy_session_max_recv_window_size(kSpdySessionMaxRecvWindowSize),
       time_func(&base::TimeTicks::Now),
       enable_http2_alternative_service(false),
-      enable_quic_alternative_service_with_different_host(true),
       enable_quic(false),
       mark_quic_broken_when_network_blackholes(false),
       retry_without_alt_svc_on_quic_errors(false),
diff --git a/net/http/http_network_session.h b/net/http/http_network_session.h
index b0061da..7765245 100644
--- a/net/http/http_network_session.h
+++ b/net/http/http_network_session.h
@@ -113,9 +113,6 @@
     SpdySessionPool::TimeFunc time_func;
     // Whether to enable HTTP/2 Alt-Svc entries.
     bool enable_http2_alternative_service;
-    // Whether to enable QUIC Alt-Svc entries with hostname different than that
-    // of the origin.
-    bool enable_quic_alternative_service_with_different_host;
 
     // Enables QUIC support.
     bool enable_quic;
diff --git a/net/http/http_stream_factory_impl_job_controller.cc b/net/http/http_stream_factory_impl_job_controller.cc
index fc6d3e14..b4a6bd46 100644
--- a/net/http/http_stream_factory_impl_job_controller.cc
+++ b/net/http/http_stream_factory_impl_job_controller.cc
@@ -994,12 +994,6 @@
     }
 
     DCHECK_EQ(kProtoQUIC, alternative_service.protocol);
-    if (origin.host() != alternative_service.host &&
-        !session_->params()
-             .enable_quic_alternative_service_with_different_host) {
-      continue;
-    }
-
     quic_all_broken = false;
     if (!session_->IsQuicEnabled())
       continue;
diff --git a/net/http2/hpack/decoder/hpack_varint_decoder.h b/net/http2/hpack/decoder/hpack_varint_decoder.h
index b110fad..21d23037 100644
--- a/net/http2/hpack/decoder/hpack_varint_decoder.h
+++ b/net/http2/hpack/decoder/hpack_varint_decoder.h
@@ -95,13 +95,12 @@
         return DecodeStatus::kDecodeInProgress;
       }
       uint8_t byte = db->DecodeUInt8();
+      if (offset_ == MaxOffset() && byte != 0)
+        break;
       value_ += (byte & 0x7f) << offset_;
       if ((byte & 0x80) == 0) {
-        if (offset_ < MaxOffset() || byte == 0) {
-          MarkDone();
-          return DecodeStatus::kDecodeDone;
-        }
-        break;
+        MarkDone();
+        return DecodeStatus::kDecodeDone;
       }
       offset_ += 7;
     } while (offset_ <= MaxOffset());
diff --git a/net/quic/chromium/quic_network_transaction_unittest.cc b/net/quic/chromium/quic_network_transaction_unittest.cc
index 77eddbdb..7feab3fb 100644
--- a/net/quic/chromium/quic_network_transaction_unittest.cc
+++ b/net/quic/chromium/quic_network_transaction_unittest.cc
@@ -3015,7 +3015,6 @@
   // There is no need to set up main job, because no attempt will be made to
   // speak to the proxy over TCP.
   request_.url = GURL("http://mail.example.org/");
-  params_.enable_quic_alternative_service_with_different_host = false;
   TestProxyDelegate test_proxy_delegate;
   const HostPortPair host_port_pair("mail.example.org", 443);
 
diff --git a/net/spdy/lifo_write_scheduler.h b/net/spdy/lifo_write_scheduler.h
new file mode 100644
index 0000000..1242c8f
--- /dev/null
+++ b/net/spdy/lifo_write_scheduler.h
@@ -0,0 +1,183 @@
+// Copyright (c) 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 NET_SPDY_LIFO_WRITE_SCHEDULER_H_
+#define NET_SPDY_LIFO_WRITE_SCHEDULER_H_
+
+#include <map>
+#include <set>
+#include <tuple>
+#include <vector>
+
+#include "net/spdy/platform/api/spdy_string_utils.h"
+#include "net/spdy/write_scheduler.h"
+
+namespace net {
+
+namespace test {
+
+template <typename StreamIdType>
+class LifoWriteSchedulerPeer;
+
+}  // namespace test
+
+// Create a write scheduler where the stream added last will have the highest
+// priority.
+template <typename StreamIdType>
+class LifoWriteScheduler : public WriteScheduler<StreamIdType> {
+ public:
+  using typename WriteScheduler<StreamIdType>::StreamPrecedenceType;
+
+  LifoWriteScheduler() = default;
+
+  void RegisterStream(StreamIdType stream_id,
+                      const StreamPrecedenceType& /*precedence*/) override;
+
+  void UnregisterStream(StreamIdType stream_id) override;
+
+  bool StreamRegistered(StreamIdType stream_id) const override {
+    return registered_streams_.find(stream_id) != registered_streams_.end();
+  }
+
+  // Stream precedence is not supported by this scheduler.
+  StreamPrecedenceType GetStreamPrecedence(
+      StreamIdType stream_id) const override {
+    return StreamPrecedenceType(kV3LowestPriority);
+  }
+
+  void UpdateStreamPrecedence(StreamIdType stream_id,
+                              const StreamPrecedenceType& precedence) override {
+  }
+
+  std::vector<StreamIdType> GetStreamChildren(
+      StreamIdType stream_id) const override {
+    return std::vector<StreamIdType>();
+  }
+
+  void RecordStreamEventTime(StreamIdType stream_id,
+                             int64_t now_in_usec) override;
+
+  int64_t GetLatestEventWithPrecedence(StreamIdType stream_id) const override;
+
+  StreamIdType PopNextReadyStream() override;
+
+  std::tuple<StreamIdType, StreamPrecedenceType>
+  PopNextReadyStreamAndPrecedence() override {
+    return std::make_tuple(PopNextReadyStream(),
+                           StreamPrecedenceType(kV3LowestPriority));
+  }
+
+  bool ShouldYield(StreamIdType stream_id) const override {
+    // stream_id is not necessary to be on the ready list.
+    return stream_id < *ready_streams_.rbegin();
+  }
+
+  void MarkStreamReady(StreamIdType stream_id, bool /*add_to_front*/) override;
+
+  void MarkStreamNotReady(StreamIdType stream_id) override;
+
+  bool HasReadyStreams() const override { return !ready_streams_.empty(); }
+  size_t NumReadyStreams() const override { return ready_streams_.size(); }
+
+ private:
+  friend class test::LifoWriteSchedulerPeer<StreamIdType>;
+
+  std::set<StreamIdType> ready_streams_;
+  std::map<StreamIdType, int64_t> registered_streams_;
+};
+
+template <typename StreamIdType>
+void LifoWriteScheduler<StreamIdType>::RegisterStream(
+    StreamIdType stream_id,
+    const StreamPrecedenceType& /*precedence*/) {
+  if (StreamRegistered(stream_id)) {
+    SPDY_BUG << "Stream " << stream_id << " already registered";
+    return;
+  }
+  registered_streams_.emplace_hint(registered_streams_.end(), stream_id, 0);
+}
+
+template <typename StreamIdType>
+void LifoWriteScheduler<StreamIdType>::UnregisterStream(
+    StreamIdType stream_id) {
+  if (!StreamRegistered(stream_id)) {
+    SPDY_BUG << "Stream " << stream_id << " is not registered";
+    return;
+  }
+  registered_streams_.erase(stream_id);
+}
+
+template <typename StreamIdType>
+void LifoWriteScheduler<StreamIdType>::RecordStreamEventTime(
+    StreamIdType stream_id,
+    int64_t now_in_usec) {
+  auto it = registered_streams_.find(stream_id);
+  if (it != registered_streams_.end()) {
+    it->second = now_in_usec;
+  } else {
+    SPDY_BUG << "Stream " << stream_id << " is not registered";
+  }
+}
+
+template <typename StreamIdType>
+int64_t LifoWriteScheduler<StreamIdType>::GetLatestEventWithPrecedence(
+    StreamIdType stream_id) const {
+  if (!StreamRegistered(stream_id)) {
+    SPDY_BUG << "Stream " << stream_id << " is not registered";
+    return 0;
+  }
+  int64_t latest_event_time_us = 0;
+  for (auto it = registered_streams_.rbegin(); it != registered_streams_.rend();
+       ++it) {
+    if (stream_id < it->first) {
+      if (it->second > latest_event_time_us) {
+        latest_event_time_us = it->second;
+      }
+    } else {
+      break;
+    }
+  }
+  return latest_event_time_us;
+}
+
+template <typename StreamIdType>
+StreamIdType LifoWriteScheduler<StreamIdType>::PopNextReadyStream() {
+  if (ready_streams_.empty()) {
+    SPDY_BUG << "No ready streams available";
+    return 0;
+  }
+  auto it = --ready_streams_.end();
+  StreamIdType id = *it;
+  ready_streams_.erase(it);
+  return id;
+}
+
+template <typename StreamIdType>
+void LifoWriteScheduler<StreamIdType>::MarkStreamReady(StreamIdType stream_id,
+                                                       bool /*add_to_front*/) {
+  if (!StreamRegistered(stream_id)) {
+    SPDY_BUG << "Stream " << stream_id << " is not registered";
+    return;
+  }
+  if (ready_streams_.find(stream_id) != ready_streams_.end()) {
+    SPDY_BUG << "Stream already exists in the list";
+    return;
+  }
+  ready_streams_.insert(stream_id);
+}
+
+template <typename StreamIdType>
+void LifoWriteScheduler<StreamIdType>::MarkStreamNotReady(
+    StreamIdType stream_id) {
+  auto it = ready_streams_.find(stream_id);
+  if (it == ready_streams_.end()) {
+    SPDY_BUG << "Try to remove a stream that is not on list";
+    return;
+  }
+  ready_streams_.erase(it);
+}
+
+}  // namespace net
+
+#endif  // NET_SPDY_LIFO_WRITE_SCHEDULER_H_
diff --git a/net/spdy/lifo_write_scheduler_test.cc b/net/spdy/lifo_write_scheduler_test.cc
new file mode 100644
index 0000000..920238b5
--- /dev/null
+++ b/net/spdy/lifo_write_scheduler_test.cc
@@ -0,0 +1,146 @@
+// Copyright (c) 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 "net/spdy/lifo_write_scheduler.h"
+
+#include "net/spdy/spdy_protocol.h"
+#include "net/spdy/spdy_test_utils.h"
+#include "testing/gtest/include/gtest/gtest.h"
+
+namespace net {
+
+namespace test {
+
+template <typename StreamIdType>
+class LifoWriteSchedulerPeer {
+ public:
+  explicit LifoWriteSchedulerPeer(LifoWriteScheduler<StreamIdType>* scheduler)
+      : scheduler_(scheduler) {}
+
+  size_t NumRegisteredListStreams() const {
+    return scheduler_->registered_streams_.size();
+  }
+
+  std::set<StreamIdType>* GetReadyList() const {
+    return &scheduler_->ready_streams_;
+  }
+
+ private:
+  LifoWriteScheduler<StreamIdType>* scheduler_;
+};
+
+// Test add and remove from ready list.
+TEST(LifoWriteSchedulerTest, ReadyListTest) {
+  LifoWriteScheduler<SpdyStreamId> lifo;
+  LifoWriteSchedulerPeer<SpdyStreamId> peer(&lifo);
+
+  EXPECT_SPDY_BUG(
+      EXPECT_EQ((uint32_t)0,
+                std::get<0>(lifo.PopNextReadyStreamAndPrecedence())),
+      "No ready streams available");
+  EXPECT_SPDY_BUG(EXPECT_EQ((uint32_t)0, lifo.PopNextReadyStream()),
+                  "No ready streams available");
+  EXPECT_FALSE(lifo.HasReadyStreams());
+  EXPECT_SPDY_BUG(lifo.MarkStreamReady(9, true), "Stream 9 is not registered");
+  SpdyStreamPrecedence precedence(1);
+  lifo.RegisterStream(3, precedence);
+  lifo.RegisterStream(7, precedence);
+  lifo.RegisterStream(9, precedence);
+  lifo.RegisterStream(11, precedence);
+  lifo.RegisterStream(13, precedence);
+  lifo.RegisterStream(15, precedence);
+  lifo.RegisterStream(17, precedence);
+  lifo.MarkStreamReady(9, true);
+  lifo.MarkStreamReady(15, true);
+  lifo.MarkStreamReady(7, true);
+  lifo.MarkStreamReady(13, true);
+  lifo.MarkStreamReady(11, true);
+  lifo.MarkStreamReady(3, true);
+  lifo.MarkStreamReady(17, true);
+  EXPECT_TRUE(lifo.HasReadyStreams());
+  EXPECT_EQ((uint32_t)7, lifo.NumReadyStreams());
+
+  EXPECT_SPDY_BUG(lifo.MarkStreamReady(11, true),
+                  "Stream already exists in the list");
+  EXPECT_SPDY_BUG(lifo.MarkStreamNotReady(5),
+                  "Try to remove a stream that is not on list");
+  EXPECT_SPDY_BUG(lifo.MarkStreamNotReady(21),
+                  "Try to remove a stream that is not on list");
+
+  EXPECT_EQ((uint32_t)17, lifo.PopNextReadyStream());
+  EXPECT_EQ((uint32_t)15, std::get<0>(lifo.PopNextReadyStreamAndPrecedence()));
+  EXPECT_TRUE(lifo.ShouldYield(9));
+  EXPECT_FALSE(lifo.ShouldYield(13));
+  EXPECT_FALSE(lifo.ShouldYield(15));
+
+  lifo.MarkStreamNotReady(3);
+  EXPECT_TRUE(peer.GetReadyList()->find(3) == peer.GetReadyList()->end());
+  lifo.MarkStreamNotReady(13);
+  EXPECT_TRUE(peer.GetReadyList()->find(13) == peer.GetReadyList()->end());
+  lifo.MarkStreamNotReady(7);
+  EXPECT_TRUE(peer.GetReadyList()->find(7) == peer.GetReadyList()->end());
+  EXPECT_EQ((uint32_t)2, lifo.NumReadyStreams());
+}
+
+// Test add and remove from registered list.
+TEST(LifoWriteSchedulerTest, RegisterListTest) {
+  LifoWriteScheduler<SpdyStreamId> lifo;
+  LifoWriteSchedulerPeer<SpdyStreamId> peer(&lifo);
+  SpdyStreamPrecedence precedence(1);
+  lifo.RegisterStream(3, precedence);
+  lifo.RegisterStream(5, precedence);
+  lifo.RegisterStream(7, precedence);
+  lifo.RegisterStream(9, precedence);
+  lifo.RegisterStream(11, precedence);
+
+  EXPECT_TRUE(lifo.StreamRegistered(3));
+  EXPECT_TRUE(lifo.StreamRegistered(5));
+  EXPECT_TRUE(lifo.StreamRegistered(7));
+  EXPECT_TRUE(lifo.StreamRegistered(9));
+  EXPECT_TRUE(lifo.StreamRegistered(11));
+  EXPECT_SPDY_BUG(lifo.RegisterStream(11, precedence),
+                  "Stream 11 already registered");
+  EXPECT_EQ((uint32_t)5, peer.NumRegisteredListStreams());
+
+  lifo.UnregisterStream(3);
+  EXPECT_FALSE(lifo.StreamRegistered(3));
+  EXPECT_SPDY_BUG(lifo.UnregisterStream(3), "Stream 3 is not registered");
+  EXPECT_SPDY_BUG(lifo.UnregisterStream(13), "Stream 13 is not registered");
+  lifo.UnregisterStream(11);
+  EXPECT_FALSE(lifo.StreamRegistered(11));
+  lifo.UnregisterStream(7);
+  EXPECT_FALSE(lifo.StreamRegistered(7));
+  EXPECT_TRUE(lifo.StreamRegistered(5));
+  EXPECT_TRUE(lifo.StreamRegistered(9));
+}
+
+// Test mark latest event time.
+TEST(LifoWriteSchedulerTest, GetLatestEventTest) {
+  LifoWriteScheduler<SpdyStreamId> lifo;
+  LifoWriteSchedulerPeer<SpdyStreamId> peer(&lifo);
+  SpdyStreamPrecedence precedence(1);
+  lifo.RegisterStream(1, precedence);
+  lifo.RegisterStream(3, precedence);
+  lifo.RegisterStream(5, precedence);
+  lifo.RegisterStream(7, precedence);
+  lifo.RegisterStream(9, precedence);
+  lifo.RecordStreamEventTime(1, 1);
+  lifo.RecordStreamEventTime(3, 8);
+  lifo.RecordStreamEventTime(5, 4);
+  lifo.RecordStreamEventTime(7, 2);
+  lifo.RecordStreamEventTime(9, 3);
+  EXPECT_SPDY_BUG(lifo.RecordStreamEventTime(11, 1),
+                  "Stream 11 is not registered");
+  EXPECT_EQ(0, lifo.GetLatestEventWithPrecedence(9));
+  EXPECT_EQ(3, lifo.GetLatestEventWithPrecedence(7));
+  EXPECT_EQ(3, lifo.GetLatestEventWithPrecedence(5));
+  EXPECT_EQ(4, lifo.GetLatestEventWithPrecedence(3));
+  EXPECT_EQ(8, lifo.GetLatestEventWithPrecedence(1));
+  EXPECT_SPDY_BUG(lifo.GetLatestEventWithPrecedence(11),
+                  "Stream 11 is not registered");
+}
+
+}  // namespace test
+
+}  // namespace net
diff --git a/net/spdy/spdy_framer.cc b/net/spdy/spdy_framer.cc
index c7411471..a96b361 100644
--- a/net/spdy/spdy_framer.cc
+++ b/net/spdy/spdy_framer.cc
@@ -1679,11 +1679,12 @@
 
 SpdyFramer::SpdyHeaderFrameIterator::~SpdyHeaderFrameIterator() {}
 
-SpdySerializedFrame SpdyFramer::SpdyHeaderFrameIterator::NextFrame() {
+bool SpdyFramer::SpdyHeaderFrameIterator::NextFrame(
+    ZeroCopyOutputBuffer* output) {
   if (!has_next_frame_) {
     SPDY_BUG << "SpdyFramer::SpdyHeaderFrameIterator::NextFrame called without "
              << "a next frame.";
-    return SpdySerializedFrame();
+    return false;
   }
 
   size_t size_without_block =
@@ -1712,12 +1713,13 @@
   if (is_first_frame_) {
     is_first_frame_ = false;
     headers_ir_->set_end_headers(!has_next_frame_);
-    return framer_->SerializeHeadersGivenEncoding(*headers_ir_, *encoding);
+    return framer_->SerializeHeadersGivenEncoding(*headers_ir_, *encoding,
+                                                  output);
   } else {
     SpdyContinuationIR continuation_ir(headers_ir_->stream_id());
     continuation_ir.set_end_headers(!has_next_frame_);
     continuation_ir.take_encoding(std::move(encoding));
-    return framer_->SerializeContinuation(continuation_ir);
+    return framer_->SerializeContinuation(continuation_ir, output);
   }
 }
 
@@ -2086,35 +2088,42 @@
   return builder.take();
 }
 
-SpdySerializedFrame SpdyFramer::SerializeHeadersGivenEncoding(
+bool SpdyFramer::SerializeHeadersGivenEncoding(
     const SpdyHeadersIR& headers,
-    const SpdyString& encoding) const {
+    const SpdyString& encoding,
+    ZeroCopyOutputBuffer* output) const {
   size_t frame_size = GetHeaderFrameSizeSansBlock(headers) + encoding.size();
-  SpdyFrameBuilder builder(frame_size);
-  builder.BeginNewFrame(*this, SpdyFrameType::HEADERS,
-                        SerializeHeaderFrameFlags(headers),
-                        headers.stream_id());
+  SpdyFrameBuilder builder(frame_size, output);
+  bool ret = builder.BeginNewFrame(
+      *this, SpdyFrameType::HEADERS, SerializeHeaderFrameFlags(headers),
+      headers.stream_id(), frame_size - GetFrameHeaderSize());
   DCHECK_EQ(GetFrameHeaderSize(), builder.length());
 
-  if (headers.padded()) {
-    builder.WriteUInt8(headers.padding_payload_len());
+  if (ret && headers.padded()) {
+    ret &= builder.WriteUInt8(headers.padding_payload_len());
   }
 
-  if (headers.has_priority()) {
+  if (ret && headers.has_priority()) {
     int weight = ClampHttp2Weight(headers.weight());
-    builder.WriteUInt32(PackStreamDependencyValues(headers.exclusive(),
-                                                   headers.parent_stream_id()));
+    ret &= builder.WriteUInt32(PackStreamDependencyValues(
+        headers.exclusive(), headers.parent_stream_id()));
     // Per RFC 7540 section 6.3, serialized weight value is actual value - 1.
-    builder.WriteUInt8(weight - 1);
+    ret &= builder.WriteUInt8(weight - 1);
   }
 
-  builder.WriteBytes(&encoding[0], encoding.size());
+  if (ret) {
+    ret &= builder.WriteBytes(encoding.data(), encoding.size());
+  }
 
-  if (headers.padding_payload_len() > 0) {
+  if (ret && headers.padding_payload_len() > 0) {
     SpdyString padding(headers.padding_payload_len(), 0);
-    builder.WriteBytes(padding.data(), padding.length());
+    ret &= builder.WriteBytes(padding.data(), padding.length());
   }
-  return builder.take();
+
+  if (!ret) {
+    DLOG(WARNING) << "Failed to build HEADERS. Not enough space in output";
+  }
+  return ret;
 }
 
 SpdySerializedFrame SpdyFramer::SerializeContinuation(
diff --git a/net/spdy/spdy_framer.h b/net/spdy/spdy_framer.h
index c08a57d..e969a35 100644
--- a/net/spdy/spdy_framer.h
+++ b/net/spdy/spdy_framer.h
@@ -403,7 +403,9 @@
     SpdyHeaderFrameIterator(const SpdyHeaderFrameIterator&) = delete;
     SpdyHeaderFrameIterator& operator=(const SpdyHeaderFrameIterator&) = delete;
 
-    SpdySerializedFrame NextFrame();
+    // Write the next frame to |output|. Return false if the write fails.
+    // |output| can't be nullptr.
+    bool NextFrame(ZeroCopyOutputBuffer* output);
     bool HasNextFrame() const { return has_next_frame_; }
 
    private:
@@ -731,9 +733,10 @@
 
   // Serializes a HEADERS frame from the given SpdyHeadersIR and encoded header
   // block. Does not need or use the SpdyHeaderBlock inside SpdyHeadersIR.
-  SpdySerializedFrame SerializeHeadersGivenEncoding(
-      const SpdyHeadersIR& headers,
-      const SpdyString& encoding) const;
+  // Return false if the serialization fails. |encoding| should not be empty.
+  bool SerializeHeadersGivenEncoding(const SpdyHeadersIR& headers,
+                                     const SpdyString& encoding,
+                                     ZeroCopyOutputBuffer* output) const;
 
   // Calculates the number of bytes required to serialize a SpdyHeadersIR, not
   // including the bytes to be used for the encoded header set.
diff --git a/net/spdy/spdy_framer_test.cc b/net/spdy/spdy_framer_test.cc
index f00705a..db731815 100644
--- a/net/spdy/spdy_framer_test.cc
+++ b/net/spdy/spdy_framer_test.cc
@@ -43,6 +43,10 @@
 
 const int64_t kSize = 64 * 1024;
 char output_buffer[kSize] = "";
+
+// frame_list_char is used to hold frames to be compared with output_buffer.
+const int64_t buffer_size = 64 * 1024;
+char frame_list_char[buffer_size] = "";
 }
 
 class MockDebugVisitor : public SpdyFramerDebugVisitorInterface {
@@ -247,16 +251,21 @@
 
   static SpdySerializedFrame SerializeHeaders(SpdyFramer* framer,
                                               const SpdyHeadersIR& headers) {
-    SpdySerializedFrame serialized_headers_old_version =
-        framer->SerializeHeaders(headers);
+    SpdySerializedFrame serialized_headers_old_version(
+        framer->SerializeHeaders(headers));
     framer->hpack_encoder_.reset(nullptr);
     auto* saved_debug_visitor = framer->debug_visitor_;
     framer->debug_visitor_ = nullptr;
 
     std::vector<SpdySerializedFrame> frame_list;
+    ArrayOutputBuffer frame_list_buffer(frame_list_char, buffer_size);
     SpdyFramer::SpdyHeaderFrameIterator it(framer, CloneSpdyHeadersIR(headers));
     while (it.HasNextFrame()) {
-      frame_list.push_back(it.NextFrame());
+      size_t size_before = frame_list_buffer.Size();
+      it.NextFrame(&frame_list_buffer);
+      frame_list.emplace_back(
+          SpdySerializedFrame(frame_list_buffer.Begin() + size_before,
+                              frame_list_buffer.Size() - size_before, false));
     }
     framer->debug_visitor_ = saved_debug_visitor;
 
@@ -267,9 +276,6 @@
   static SpdySerializedFrame SerializeHeaders(SpdyFramer* framer,
                                               const SpdyHeadersIR& headers,
                                               ArrayOutputBuffer* output) {
-    if (output == nullptr) {
-      return SerializeHeaders(framer, headers);
-    }
     output->Reset();
     EXPECT_TRUE(framer->SerializeHeaders(headers, output));
     SpdySerializedFrame serialized_headers_old_version(output->Begin(),
@@ -279,9 +285,14 @@
     framer->debug_visitor_ = nullptr;
 
     std::vector<SpdySerializedFrame> frame_list;
+    ArrayOutputBuffer frame_list_buffer(frame_list_char, buffer_size);
     SpdyFramer::SpdyHeaderFrameIterator it(framer, CloneSpdyHeadersIR(headers));
     while (it.HasNextFrame()) {
-      frame_list.push_back(it.NextFrame());
+      size_t size_before = frame_list_buffer.Size();
+      it.NextFrame(&frame_list_buffer);
+      frame_list.emplace_back(
+          SpdySerializedFrame(frame_list_buffer.Begin() + size_before,
+                              frame_list_buffer.Size() - size_before, false));
     }
     framer->debug_visitor_ = saved_debug_visitor;
 
@@ -747,8 +758,8 @@
   headers.SetHeader("alpha", "beta");
   headers.SetHeader("gamma", "charlie");
   headers.SetHeader("cookie", "key1=value1; key2=value2");
-  SpdySerializedFrame frame(SpdyFramerPeer::SerializeHeaders(
-      &framer, headers, use_output_ ? &output_ : nullptr));
+  SpdySerializedFrame frame(
+      SpdyFramerPeer::SerializeHeaders(&framer, headers, &output_));
 
   TestSpdyVisitor visitor(SpdyFramer::DISABLE_COMPRESSION);
   visitor.SimulateInFramer(reinterpret_cast<unsigned char*>(frame.data()),
@@ -766,8 +777,8 @@
   SpdyHeadersIR headers(1);
   headers.SetHeader("alpha", "beta");
   headers.SetHeader("gamma", "charlie");
-  SpdySerializedFrame frame(SpdyFramerPeer::SerializeHeaders(
-      &framer, headers, use_output_ ? &output_ : nullptr));
+  SpdySerializedFrame frame(
+      SpdyFramerPeer::SerializeHeaders(&framer, headers, &output_));
 
   TestSpdyVisitor visitor(SpdyFramer::DISABLE_COMPRESSION);
   visitor.SimulateInFramer(reinterpret_cast<unsigned char*>(frame.data()),
@@ -825,8 +836,8 @@
       headers.set_has_priority(true);
       headers.set_parent_stream_id(parent_stream_id);
       headers.set_exclusive(exclusive);
-      SpdySerializedFrame frame(SpdyFramerPeer::SerializeHeaders(
-          &framer, headers, use_output_ ? &output_ : nullptr));
+      SpdySerializedFrame frame(
+          SpdyFramerPeer::SerializeHeaders(&framer, headers, &output_));
 
       TestSpdyVisitor visitor(SpdyFramer::DISABLE_COMPRESSION);
       visitor.SimulateInFramer(reinterpret_cast<unsigned char*>(frame.data()),
@@ -1047,8 +1058,8 @@
 
   SpdyHeadersIR headers(0);
   headers.SetHeader("alpha", "beta");
-  SpdySerializedFrame frame(SpdyFramerPeer::SerializeHeaders(
-      &framer, headers, use_output_ ? &output_ : nullptr));
+  SpdySerializedFrame frame(
+      SpdyFramerPeer::SerializeHeaders(&framer, headers, &output_));
 
   // We shouldn't have to read the whole frame before we signal an error.
   EXPECT_CALL(visitor, OnError(testing::Eq(&framer)));
@@ -1296,7 +1307,7 @@
 
   SpdyFramer framer(SpdyFramer::ENABLE_COMPRESSION);
   SpdySerializedFrame frame1(
-      SpdyFramerPeer::SerializeHeaders(&framer, headers));
+      SpdyFramerPeer::SerializeHeaders(&framer, headers, &output_));
 }
 
 TEST_P(SpdyFramerTest, Basic) {
@@ -1467,8 +1478,8 @@
   SpdyHeadersIR headers(1);
   headers.SetHeader(kHeader1, kValue1);
   headers.SetHeader(kHeader2, kValue2);
-  SpdySerializedFrame headers_frame(SpdyFramerPeer::SerializeHeaders(
-      &framer, headers, use_output_ ? &output_ : nullptr));
+  SpdySerializedFrame headers_frame(
+      SpdyFramerPeer::SerializeHeaders(&framer, headers, &output_));
 
   const char bytes[] = "this is a test test test test test!";
   SpdyDataIR data_ir(1, SpdyStringPiece(bytes, arraysize(bytes)));
@@ -1986,8 +1997,8 @@
     SpdyHeadersIR headers(1);
     headers.SetHeader("bar", "foo");
     headers.SetHeader("foo", "bar");
-    SpdySerializedFrame frame(SpdyFramerPeer::SerializeHeaders(
-        &framer, headers, use_output_ ? &output_ : nullptr));
+    SpdySerializedFrame frame(
+        SpdyFramerPeer::SerializeHeaders(&framer, headers, &output_));
     CompareFrame(kDescription, frame, kH2FrameData, arraysize(kH2FrameData));
   }
 
@@ -2017,8 +2028,8 @@
     headers.set_fin(true);
     headers.SetHeader("", "foo");
     headers.SetHeader("foo", "bar");
-    SpdySerializedFrame frame(SpdyFramerPeer::SerializeHeaders(
-        &framer, headers, use_output_ ? &output_ : nullptr));
+    SpdySerializedFrame frame(
+        SpdyFramerPeer::SerializeHeaders(&framer, headers, &output_));
     CompareFrame(kDescription, frame, kH2FrameData, arraysize(kH2FrameData));
   }
 
@@ -2048,8 +2059,8 @@
     headers_ir.set_fin(true);
     headers_ir.SetHeader("bar", "foo");
     headers_ir.SetHeader("foo", "");
-    SpdySerializedFrame frame(SpdyFramerPeer::SerializeHeaders(
-        &framer, headers_ir, use_output_ ? &output_ : nullptr));
+    SpdySerializedFrame frame(
+        SpdyFramerPeer::SerializeHeaders(&framer, headers_ir, &output_));
     CompareFrame(kDescription, frame, kH2FrameData, arraysize(kH2FrameData));
   }
 
@@ -2084,8 +2095,8 @@
     headers_ir.set_weight(220);
     headers_ir.SetHeader("bar", "foo");
     headers_ir.SetHeader("foo", "");
-    SpdySerializedFrame frame(SpdyFramerPeer::SerializeHeaders(
-        &framer, headers_ir, use_output_ ? &output_ : nullptr));
+    SpdySerializedFrame frame(
+        SpdyFramerPeer::SerializeHeaders(&framer, headers_ir, &output_));
     CompareFrame(kDescription, frame, kH2FrameData, arraysize(kH2FrameData));
   }
 
@@ -2123,8 +2134,8 @@
     headers_ir.set_parent_stream_id(0);
     headers_ir.SetHeader("bar", "foo");
     headers_ir.SetHeader("foo", "");
-    SpdySerializedFrame frame(SpdyFramerPeer::SerializeHeaders(
-        &framer, headers_ir, use_output_ ? &output_ : nullptr));
+    SpdySerializedFrame frame(
+        SpdyFramerPeer::SerializeHeaders(&framer, headers_ir, &output_));
     CompareFrame(kDescription, frame, kV4FrameData, arraysize(kV4FrameData));
   }
 
@@ -2162,8 +2173,8 @@
     headers_ir.set_parent_stream_id(0x7fffffff);
     headers_ir.SetHeader("bar", "foo");
     headers_ir.SetHeader("foo", "");
-    SpdySerializedFrame frame(SpdyFramerPeer::SerializeHeaders(
-        &framer, headers_ir, use_output_ ? &output_ : nullptr));
+    SpdySerializedFrame frame(
+        SpdyFramerPeer::SerializeHeaders(&framer, headers_ir, &output_));
     CompareFrame(kDescription, frame, kV4FrameData, arraysize(kV4FrameData));
   }
 
@@ -2199,8 +2210,8 @@
     headers_ir.SetHeader("", "foo");
     headers_ir.SetHeader("foo", "bar");
     headers_ir.set_padding_len(6);
-    SpdySerializedFrame frame(SpdyFramerPeer::SerializeHeaders(
-        &framer, headers_ir, use_output_ ? &output_ : nullptr));
+    SpdySerializedFrame frame(
+        SpdyFramerPeer::SerializeHeaders(&framer, headers_ir, &output_));
     CompareFrame(kDescription, frame, kH2FrameData, arraysize(kH2FrameData));
   }
 }
@@ -2677,8 +2688,8 @@
   SpdyHeadersIR headers_ir(1);
   headers_ir.SetHeader("alpha", "beta");
   headers_ir.SetHeader("gamma", "delta");
-  SpdySerializedFrame control_frame(SpdyFramerPeer::SerializeHeaders(
-      &framer, headers_ir, use_output_ ? &output_ : nullptr));
+  SpdySerializedFrame control_frame(
+      SpdyFramerPeer::SerializeHeaders(&framer, headers_ir, &output_));
   TestSpdyVisitor visitor(SpdyFramer::ENABLE_COMPRESSION);
   visitor.SimulateInFramer(
       reinterpret_cast<unsigned char*>(control_frame.data()),
@@ -2696,8 +2707,8 @@
   headers_ir.set_fin(true);
   headers_ir.SetHeader("alpha", "beta");
   headers_ir.SetHeader("gamma", "delta");
-  SpdySerializedFrame control_frame(SpdyFramerPeer::SerializeHeaders(
-      &framer, headers_ir, use_output_ ? &output_ : nullptr));
+  SpdySerializedFrame control_frame(
+      SpdyFramerPeer::SerializeHeaders(&framer, headers_ir, &output_));
   TestSpdyVisitor visitor(SpdyFramer::ENABLE_COMPRESSION);
   visitor.SimulateInFramer(
       reinterpret_cast<unsigned char*>(control_frame.data()),
@@ -2719,8 +2730,8 @@
   const size_t kBigValueSize = TestSpdyVisitor::sent_control_frame_max_size();
   SpdyString big_value(kBigValueSize, 'x');
   headers.SetHeader("aa", big_value);
-  SpdySerializedFrame control_frame(SpdyFramerPeer::SerializeHeaders(
-      &framer, headers, use_output_ ? &output_ : nullptr));
+  SpdySerializedFrame control_frame(
+      SpdyFramerPeer::SerializeHeaders(&framer, headers, &output_));
   EXPECT_GT(control_frame.size(),
             TestSpdyVisitor::sent_control_frame_max_size());
 
@@ -2751,7 +2762,8 @@
   SpdyFramer::SpdyHeaderFrameIterator frame_it(&framer, std::move(headers));
 
   EXPECT_TRUE(frame_it.HasNextFrame());
-  SpdySerializedFrame headers_frame(frame_it.NextFrame());
+  EXPECT_TRUE(frame_it.NextFrame(&output_));
+  SpdySerializedFrame headers_frame(output_.Begin(), output_.Size(), false);
   EXPECT_EQ(headers_frame.size(),
             TestSpdyVisitor::sent_control_frame_max_size());
 
@@ -2765,8 +2777,10 @@
   EXPECT_EQ(0, visitor.continuation_count_);
   EXPECT_EQ(0, visitor.zero_length_control_frame_header_data_count_);
 
+  output_.Reset();
   EXPECT_TRUE(frame_it.HasNextFrame());
-  SpdySerializedFrame first_cont_frame(frame_it.NextFrame());
+  EXPECT_TRUE(frame_it.NextFrame(&output_));
+  SpdySerializedFrame first_cont_frame(output_.Begin(), output_.Size(), false);
   EXPECT_EQ(first_cont_frame.size(),
             TestSpdyVisitor::sent_control_frame_max_size());
 
@@ -2779,8 +2793,10 @@
   EXPECT_EQ(1, visitor.continuation_count_);
   EXPECT_EQ(0, visitor.zero_length_control_frame_header_data_count_);
 
+  output_.Reset();
   EXPECT_TRUE(frame_it.HasNextFrame());
-  SpdySerializedFrame second_cont_frame(frame_it.NextFrame());
+  EXPECT_TRUE(frame_it.NextFrame(&output_));
+  SpdySerializedFrame second_cont_frame(output_.Begin(), output_.Size(), false);
   EXPECT_LT(second_cont_frame.size(),
             TestSpdyVisitor::sent_control_frame_max_size());
 
@@ -2838,8 +2854,8 @@
   SpdyHeadersIR headers(1);
   headers.set_fin(true);
   headers.SetHeader("aa", big_value);
-  SpdySerializedFrame control_frame(SpdyFramerPeer::SerializeHeaders(
-      &framer, headers, use_output_ ? &output_ : nullptr));
+  SpdySerializedFrame control_frame(
+      SpdyFramerPeer::SerializeHeaders(&framer, headers, &output_));
   TestSpdyVisitor visitor(SpdyFramer::ENABLE_COMPRESSION);
   visitor.set_header_buffer_size(kHeaderBufferSize);
   visitor.SimulateInFramer(
@@ -3959,8 +3975,8 @@
       headers_ir.set_exclusive(true);
     }
     headers_ir.SetHeader("foo", "bar");
-    SpdySerializedFrame frame(SpdyFramerPeer::SerializeHeaders(
-        &framer, headers_ir, use_output_ ? &output_ : nullptr));
+    SpdySerializedFrame frame(
+        SpdyFramerPeer::SerializeHeaders(&framer, headers_ir, &output_));
     uint8_t set_flags = flags & ~HEADERS_FLAG_PADDED;
     SetFrameFlags(&frame, set_flags);
 
@@ -4110,7 +4126,7 @@
     headers_ir.SetHeader("foo", "bar");
     SpdySerializedFrame frame0;
     if (use_output_) {
-      ASSERT_TRUE(framer.SerializeHeaders(headers_ir, &output_));
+      EXPECT_TRUE(framer.SerializeHeaders(headers_ir, &output_));
       frame0 = SpdySerializedFrame(output_.Begin(), output_.Size(), false);
     } else {
       frame0 = framer.SerializeHeaders(headers_ir);
@@ -4571,8 +4587,8 @@
   headers.SetHeader("alpha", "beta");
   headers.SetHeader("gamma", "charlie");
   headers.SetHeader("cookie", "key1=value1; key2=value2");
-  SpdySerializedFrame headers_frame(SpdyFramerPeer::SerializeHeaders(
-      &framer, headers, use_output_ ? &output_ : nullptr));
+  SpdySerializedFrame headers_frame(
+      SpdyFramerPeer::SerializeHeaders(&framer, headers, &output_));
 
   const char four_score[] = "Four score and seven years ago";
   SpdyDataIR four_score_ir(1, four_score);
@@ -4624,7 +4640,7 @@
   headers.SetHeader("gamma", "charlie");
   headers.SetHeader("cookie", "key1=value1; key2=value2");
   SpdySerializedFrame headers_frame(
-      SpdyFramerPeer::SerializeHeaders(&framer, headers));
+      SpdyFramerPeer::SerializeHeaders(&framer, headers, &output_));
 
   // Put them in a single buffer (new variables here to make it easy to
   // change the order and type of frames).
diff --git a/printing/pdf_metafile_skia.cc b/printing/pdf_metafile_skia.cc
index aec4d3f..b2e914b3 100644
--- a/printing/pdf_metafile_skia.cc
+++ b/printing/pdf_metafile_skia.cc
@@ -12,9 +12,9 @@
 #include "base/files/file.h"
 #include "base/memory/ptr_util.h"
 #include "base/time/time.h"
+#include "cc/paint/paint_canvas.h"
 #include "cc/paint/paint_record.h"
 #include "cc/paint/paint_recorder.h"
-#include "cc/paint/skia_paint_canvas.h"
 #include "printing/print_settings.h"
 #include "third_party/skia/include/core/SkDocument.h"
 #include "third_party/skia/include/core/SkStream.h"
diff --git a/services/video_capture/device_factory_media_to_mojo_adapter.cc b/services/video_capture/device_factory_media_to_mojo_adapter.cc
index 6e6b92d3..07f6db53 100644
--- a/services/video_capture/device_factory_media_to_mojo_adapter.cc
+++ b/services/video_capture/device_factory_media_to_mojo_adapter.cc
@@ -11,9 +11,9 @@
 #include "base/stl_util.h"
 #include "base/strings/stringprintf.h"
 #include "media/capture/video/fake_video_capture_device.h"
+#include "media/capture/video/video_capture_device_info.h"
 #include "mojo/public/cpp/bindings/strong_binding.h"
 #include "services/video_capture/device_media_to_mojo_adapter.h"
-#include "services/video_capture/public/cpp/capture_settings.h"
 
 namespace video_capture {
 
@@ -39,37 +39,9 @@
 
 DeviceFactoryMediaToMojoAdapter::~DeviceFactoryMediaToMojoAdapter() = default;
 
-void DeviceFactoryMediaToMojoAdapter::EnumerateDeviceDescriptors(
-    const EnumerateDeviceDescriptorsCallback& callback) {
-  media::VideoCaptureDeviceDescriptors descriptors;
-  device_factory_->GetDeviceDescriptors(&descriptors);
-  callback.Run(std::move(descriptors));
-}
-
-void DeviceFactoryMediaToMojoAdapter::GetSupportedFormats(
-    const std::string& device_id,
-    const GetSupportedFormatsCallback& callback) {
-  media::VideoCaptureDeviceDescriptor descriptor;
-  media::VideoCaptureFormats media_formats;
-  if (LookupDescriptorFromId(device_id, &descriptor))
-    device_factory_->GetSupportedFormats(descriptor, &media_formats);
-  std::vector<I420CaptureFormat> result;
-  for (const auto& media_format : media_formats) {
-    // The Video Capture Service requires devices to deliver frames either in
-    // I420 or MJPEG formats.
-    // TODO(chfremer): Add support for Y16 format. See crbug.com/624436.
-    if (media_format.pixel_format != media::PIXEL_FORMAT_I420 &&
-        media_format.pixel_format != media::PIXEL_FORMAT_MJPEG) {
-      continue;
-    }
-    I420CaptureFormat format;
-    format.frame_size = media_format.frame_size;
-    format.frame_rate = media_format.frame_rate;
-    if (base::ContainsValue(result, format))
-      continue;  // Result already contains this format
-    result.push_back(format);
-  }
-  callback.Run(std::move(result));
+void DeviceFactoryMediaToMojoAdapter::GetDeviceInfos(
+    const GetDeviceInfosCallback& callback) {
+  NOTIMPLEMENTED();
 }
 
 void DeviceFactoryMediaToMojoAdapter::CreateDevice(
diff --git a/services/video_capture/device_factory_media_to_mojo_adapter.h b/services/video_capture/device_factory_media_to_mojo_adapter.h
index 8fcfd0ff..1eb16054 100644
--- a/services/video_capture/device_factory_media_to_mojo_adapter.h
+++ b/services/video_capture/device_factory_media_to_mojo_adapter.h
@@ -30,11 +30,7 @@
   ~DeviceFactoryMediaToMojoAdapter() override;
 
   // mojom::DeviceFactory:
-  void EnumerateDeviceDescriptors(
-      const EnumerateDeviceDescriptorsCallback& callback) override;
-  void GetSupportedFormats(
-      const std::string& device_id,
-      const GetSupportedFormatsCallback& callback) override;
+  void GetDeviceInfos(const GetDeviceInfosCallback& callback) override;
   void CreateDevice(const std::string& device_id,
                     mojom::DeviceRequest device_request,
                     const CreateDeviceCallback& callback) override;
diff --git a/services/video_capture/device_media_to_mojo_adapter.cc b/services/video_capture/device_media_to_mojo_adapter.cc
index 6f6bf77..a68c87f 100644
--- a/services/video_capture/device_media_to_mojo_adapter.cc
+++ b/services/video_capture/device_media_to_mojo_adapter.cc
@@ -25,10 +25,9 @@
   Stop();
 }
 
-void DeviceMediaToMojoAdapter::Start(const CaptureSettings& requested_settings,
-                                     mojom::ReceiverPtr receiver) {
-  media::VideoCaptureParams params;
-  requested_settings.ConvertToMediaVideoCaptureParams(&params);
+void DeviceMediaToMojoAdapter::Start(
+    const media::VideoCaptureParams& requested_settings,
+    mojom::ReceiverPtr receiver) {
   receiver.set_connection_error_handler(
       base::Bind(&DeviceMediaToMojoAdapter::OnClientConnectionErrorOrClose,
                  base::Unretained(this)));
@@ -47,7 +46,7 @@
   auto device_client = base::MakeUnique<media::VideoCaptureDeviceClient>(
       std::move(media_receiver), buffer_pool, jpeg_decoder_factory_callback_);
 
-  device_->AllocateAndStart(params, std::move(device_client));
+  device_->AllocateAndStart(requested_settings, std::move(device_client));
   device_running_ = true;
 }
 
diff --git a/services/video_capture/device_media_to_mojo_adapter.h b/services/video_capture/device_media_to_mojo_adapter.h
index d8b215d..dd3a712 100644
--- a/services/video_capture/device_media_to_mojo_adapter.h
+++ b/services/video_capture/device_media_to_mojo_adapter.h
@@ -22,7 +22,7 @@
   ~DeviceMediaToMojoAdapter() override;
 
   // mojom::Device:
-  void Start(const CaptureSettings& requested_settings,
+  void Start(const media::VideoCaptureParams& requested_settings,
              mojom::ReceiverPtr receiver) override;
 
   void Stop();
diff --git a/services/video_capture/public/cpp/capture_settings.h b/services/video_capture/public/cpp/capture_settings.h
deleted file mode 100644
index 38d0ec32..0000000
--- a/services/video_capture/public/cpp/capture_settings.h
+++ /dev/null
@@ -1,47 +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 SERVICES_VIDEO_CAPTURE_PUBLIC_CPP_CAPTURE_SETTINGS_H_
-#define SERVICES_VIDEO_CAPTURE_PUBLIC_CPP_CAPTURE_SETTINGS_H_
-
-#include "media/capture/video_capture_types.h"
-#include "ui/gfx/geometry/size.h"
-
-namespace video_capture {
-
-// Cpp equivalent of Mojo struct video_capture::mojom::CaptureFormat.
-struct I420CaptureFormat {
-  gfx::Size frame_size;
-  float frame_rate;
-
-  bool operator==(const I420CaptureFormat& other) const {
-    return frame_size == other.frame_size && frame_rate == other.frame_rate;
-  }
-
-  void ConvertToMediaVideoCaptureFormat(
-      media::VideoCaptureFormat* target) const {
-    target->frame_size = frame_size;
-    target->frame_rate = frame_rate;
-    target->pixel_format = media::PIXEL_FORMAT_I420;
-    target->pixel_storage = media::PIXEL_STORAGE_CPU;
-  }
-};
-
-// Cpp equivalent of Mojo struct video_capture::mojom::CaptureSettings.
-struct CaptureSettings {
-  I420CaptureFormat format;
-  media::ResolutionChangePolicy resolution_change_policy;
-  media::PowerLineFrequency power_line_frequency;
-
-  void ConvertToMediaVideoCaptureParams(
-      media::VideoCaptureParams* target) const {
-    format.ConvertToMediaVideoCaptureFormat(&(target->requested_format));
-    target->resolution_change_policy = resolution_change_policy;
-    target->power_line_frequency = power_line_frequency;
-  }
-};
-
-}  // namespace video_capture
-
-#endif  // SERVICES_VIDEO_CAPTURE_PUBLIC_CPP_CAPTURE_SETTINGS_H_
diff --git a/services/video_capture/public/interfaces/BUILD.gn b/services/video_capture/public/interfaces/BUILD.gn
index 443588a..0d200111 100644
--- a/services/video_capture/public/interfaces/BUILD.gn
+++ b/services/video_capture/public/interfaces/BUILD.gn
@@ -6,9 +6,7 @@
 
 mojom("interfaces") {
   sources = [
-    "capture_settings.mojom",
     "device.mojom",
-    "device_descriptor.mojom",
     "device_factory.mojom",
     "receiver.mojom",
     "service.mojom",
diff --git a/services/video_capture/public/interfaces/capture_settings.mojom b/services/video_capture/public/interfaces/capture_settings.mojom
deleted file mode 100644
index 2531824..0000000
--- a/services/video_capture/public/interfaces/capture_settings.mojom
+++ /dev/null
@@ -1,21 +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.
-
-module video_capture.mojom;
-
-import "media/capture/mojo/video_capture_types.mojom";
-import "ui/gfx/geometry/mojo/geometry.mojom";
-
-// This format implies a pixel format of I420
-// and a storage type of Mojo Shared Memory.
-struct I420CaptureFormat {
-  gfx.mojom.Size frame_size;
-  float frame_rate;
-};
-
-struct CaptureSettings {
-  I420CaptureFormat format;
-  media.mojom.ResolutionChangePolicy resolution_change_policy;
-  media.mojom.PowerLineFrequency power_line_frequency;
-};
diff --git a/services/video_capture/public/interfaces/capture_settings.typemap b/services/video_capture/public/interfaces/capture_settings.typemap
deleted file mode 100644
index fa0fdef..0000000
--- a/services/video_capture/public/interfaces/capture_settings.typemap
+++ /dev/null
@@ -1,21 +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.
-
-mojom = "//services/video_capture/public/interfaces/capture_settings.mojom"
-public_headers = [
-  "//media/capture/video_capture_types.h",
-  "//services/video_capture/public/cpp/capture_settings.h",
-]
-traits_headers =
-    [ "//services/video_capture/public/interfaces/capture_settings_traits.h" ]
-sources = [
-  "//services/video_capture/public/interfaces/capture_settings_traits.cc",
-]
-public_deps = [
-  "//media/capture:capture",
-]
-type_mappings = [
-  "video_capture.mojom.I420CaptureFormat=video_capture::I420CaptureFormat",
-  "video_capture.mojom.CaptureSettings=video_capture::CaptureSettings",
-]
diff --git a/services/video_capture/public/interfaces/capture_settings_traits.cc b/services/video_capture/public/interfaces/capture_settings_traits.cc
deleted file mode 100644
index d113c77..0000000
--- a/services/video_capture/public/interfaces/capture_settings_traits.cc
+++ /dev/null
@@ -1,37 +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.
-
-#include "services/video_capture/public/interfaces/capture_settings_traits.h"
-
-#include "media/capture/mojo/video_capture_types_typemap_traits.h"
-#include "ui/gfx/geometry/mojo/geometry_struct_traits.h"
-
-namespace mojo {
-
-// static
-bool StructTraits<video_capture::mojom::I420CaptureFormatDataView,
-                  video_capture::I420CaptureFormat>::
-    Read(video_capture::mojom::I420CaptureFormatDataView data,
-         video_capture::I420CaptureFormat* out) {
-  if (!data.ReadFrameSize(&out->frame_size))
-    return false;
-  out->frame_rate = data.frame_rate();
-  return true;
-}
-
-// static
-bool StructTraits<video_capture::mojom::CaptureSettingsDataView,
-                  video_capture::CaptureSettings>::
-    Read(video_capture::mojom::CaptureSettingsDataView data,
-         video_capture::CaptureSettings* out) {
-  if (!data.ReadFormat(&out->format))
-    return false;
-  if (!data.ReadResolutionChangePolicy(&out->resolution_change_policy))
-    return false;
-  if (!data.ReadPowerLineFrequency(&out->power_line_frequency))
-    return false;
-  return true;
-}
-
-}  // namespace mojo
diff --git a/services/video_capture/public/interfaces/capture_settings_traits.h b/services/video_capture/public/interfaces/capture_settings_traits.h
deleted file mode 100644
index 1074f71..0000000
--- a/services/video_capture/public/interfaces/capture_settings_traits.h
+++ /dev/null
@@ -1,53 +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 SERVICES_VIDEO_CAPTURE_PUBLIC_INTERFACES_CAPTURE_SETTINGS_TRAITS_H_
-#define SERVICES_VIDEO_CAPTURE_PUBLIC_INTERFACES_CAPTURE_SETTINGS_TRAITS_H_
-
-#include "media/capture/video_capture_types.h"
-#include "mojo/common/common_custom_types_struct_traits.h"
-#include "services/video_capture/public/interfaces/device.mojom.h"
-
-namespace mojo {
-
-template <>
-struct StructTraits<video_capture::mojom::I420CaptureFormatDataView,
-                    video_capture::I420CaptureFormat> {
-  static const gfx::Size& frame_size(
-      const video_capture::I420CaptureFormat& input) {
-    return input.frame_size;
-  }
-
-  static float frame_rate(const video_capture::I420CaptureFormat& input) {
-    return input.frame_rate;
-  }
-
-  static bool Read(video_capture::mojom::I420CaptureFormatDataView data,
-                   video_capture::I420CaptureFormat* out);
-};
-
-template <>
-struct StructTraits<video_capture::mojom::CaptureSettingsDataView,
-                    video_capture::CaptureSettings> {
-  static const video_capture::I420CaptureFormat& format(
-      const video_capture::CaptureSettings& input) {
-    return input.format;
-  }
-
-  static media::ResolutionChangePolicy resolution_change_policy(
-      const video_capture::CaptureSettings& input) {
-    return input.resolution_change_policy;
-  }
-
-  static media::PowerLineFrequency power_line_frequency(
-      const video_capture::CaptureSettings& input) {
-    return input.power_line_frequency;
-  }
-
-  static bool Read(video_capture::mojom::CaptureSettingsDataView data,
-                   video_capture::CaptureSettings* out);
-};
-}
-
-#endif  // SERVICES_VIDEO_CAPTURE_PUBLIC_INTERFACES_CAPTURE_SETTINGS_TRAITS_H_
diff --git a/services/video_capture/public/interfaces/device.mojom b/services/video_capture/public/interfaces/device.mojom
index 5aa4a002..66c740f 100644
--- a/services/video_capture/public/interfaces/device.mojom
+++ b/services/video_capture/public/interfaces/device.mojom
@@ -5,14 +5,12 @@
 module video_capture.mojom;
 
 import "media/capture/mojo/video_capture_types.mojom";
-import "services/video_capture/public/interfaces/capture_settings.mojom";
 import "services/video_capture/public/interfaces/receiver.mojom";
 
 // Represents access to a video capture device available on the machine.
 // Note: Instead of offering an explicit Stop() method, the device
 // is stopped automatically when the message pipe corresponding to either the
-// Device or the given |receiver| is closed. The frames deliverd to |receiver|
-// are guaranteed to use I420 encoding and are backed by Mojo shared buffers.
+// Device or the given |receiver| is closed.
 interface Device {
-  Start(CaptureSettings requested_settings, Receiver receiver);
+  Start(media.mojom.VideoCaptureParams requested_settings, Receiver receiver);
 };
diff --git a/services/video_capture/public/interfaces/device_descriptor.mojom b/services/video_capture/public/interfaces/device_descriptor.mojom
deleted file mode 100644
index acc34f7..0000000
--- a/services/video_capture/public/interfaces/device_descriptor.mojom
+++ /dev/null
@@ -1,33 +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.
-
-module video_capture.mojom;
-
-enum VideoCaptureApi {
-  LINUX_V4L2_SINGLE_PLANE,
-  WIN_MEDIA_FOUNDATION,
-  WIN_DIRECT_SHOW,
-  MACOSX_AVFOUNDATION,
-  MACOSX_DECKLINK,
-  ANDROID_API1,
-  ANDROID_API2_LEGACY,
-  ANDROID_API2_FULL,
-  ANDROID_API2_LIMITED,
-  ANDROID_TANGO,
-  UNKNOWN
-};
-
-enum VideoCaptureTransportType {
-  // For MACOSX_AVFOUNDATION Api, identifies devices that are built-in or USB.
-  MACOSX_USB_OR_BUILT_IN,
-  OTHER_TRANSPORT
-};
-
-struct DeviceDescriptor {
-  string display_name;
-  string device_id;
-  string model_id;
-  VideoCaptureApi capture_api;
-  VideoCaptureTransportType transport_type;
-};
diff --git a/services/video_capture/public/interfaces/device_descriptor.typemap b/services/video_capture/public/interfaces/device_descriptor.typemap
deleted file mode 100644
index 4398202..0000000
--- a/services/video_capture/public/interfaces/device_descriptor.typemap
+++ /dev/null
@@ -1,14 +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.
-
-mojom = "//services/video_capture/public/interfaces/device_descriptor.mojom"
-public_headers = [ "//media/capture/video/video_capture_device_descriptor.h" ]
-traits_headers = [ "//services/video_capture/public/interfaces/device_descriptor_struct_traits.h" ]
-sources = [
-  "//services/video_capture/public/interfaces/device_descriptor_struct_traits.cc",
-]
-deps = [
-  "//media",
-]
-type_mappings = [ "video_capture.mojom.DeviceDescriptor=media::VideoCaptureDeviceDescriptor" ]
diff --git a/services/video_capture/public/interfaces/device_descriptor_struct_traits.cc b/services/video_capture/public/interfaces/device_descriptor_struct_traits.cc
deleted file mode 100644
index 16b134c..0000000
--- a/services/video_capture/public/interfaces/device_descriptor_struct_traits.cc
+++ /dev/null
@@ -1,141 +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.
-
-#include "services/video_capture/public/interfaces/device_descriptor_struct_traits.h"
-
-namespace mojo {
-
-// static
-video_capture::mojom::VideoCaptureApi
-EnumTraits<video_capture::mojom::VideoCaptureApi,
-           media::VideoCaptureApi>::ToMojom(media::VideoCaptureApi input) {
-  switch (input) {
-    case media::VideoCaptureApi::LINUX_V4L2_SINGLE_PLANE:
-      return video_capture::mojom::VideoCaptureApi::LINUX_V4L2_SINGLE_PLANE;
-    case media::VideoCaptureApi::WIN_MEDIA_FOUNDATION:
-      return video_capture::mojom::VideoCaptureApi::WIN_MEDIA_FOUNDATION;
-    case media::VideoCaptureApi::WIN_DIRECT_SHOW:
-      return video_capture::mojom::VideoCaptureApi::WIN_DIRECT_SHOW;
-    case media::VideoCaptureApi::MACOSX_AVFOUNDATION:
-      return video_capture::mojom::VideoCaptureApi::MACOSX_AVFOUNDATION;
-    case media::VideoCaptureApi::MACOSX_DECKLINK:
-      return video_capture::mojom::VideoCaptureApi::MACOSX_DECKLINK;
-    case media::VideoCaptureApi::ANDROID_API1:
-      return video_capture::mojom::VideoCaptureApi::ANDROID_API1;
-    case media::VideoCaptureApi::ANDROID_API2_LEGACY:
-      return video_capture::mojom::VideoCaptureApi::ANDROID_API2_LEGACY;
-    case media::VideoCaptureApi::ANDROID_API2_FULL:
-      return video_capture::mojom::VideoCaptureApi::ANDROID_API2_FULL;
-    case media::VideoCaptureApi::ANDROID_API2_LIMITED:
-      return video_capture::mojom::VideoCaptureApi::ANDROID_API2_LIMITED;
-    case media::VideoCaptureApi::ANDROID_TANGO:
-      return video_capture::mojom::VideoCaptureApi::ANDROID_TANGO;
-    case media::VideoCaptureApi::UNKNOWN:
-      return video_capture::mojom::VideoCaptureApi::UNKNOWN;
-  }
-  NOTREACHED();
-  return video_capture::mojom::VideoCaptureApi::UNKNOWN;
-}
-
-// static
-bool EnumTraits<video_capture::mojom::VideoCaptureApi, media::VideoCaptureApi>::
-    FromMojom(video_capture::mojom::VideoCaptureApi input,
-              media::VideoCaptureApi* output) {
-  switch (input) {
-    case video_capture::mojom::VideoCaptureApi::LINUX_V4L2_SINGLE_PLANE:
-      *output = media::VideoCaptureApi::LINUX_V4L2_SINGLE_PLANE;
-      return true;
-    case video_capture::mojom::VideoCaptureApi::WIN_MEDIA_FOUNDATION:
-      *output = media::VideoCaptureApi::WIN_MEDIA_FOUNDATION;
-      return true;
-    case video_capture::mojom::VideoCaptureApi::WIN_DIRECT_SHOW:
-      *output = media::VideoCaptureApi::WIN_DIRECT_SHOW;
-      return true;
-    case video_capture::mojom::VideoCaptureApi::MACOSX_AVFOUNDATION:
-      *output = media::VideoCaptureApi::MACOSX_AVFOUNDATION;
-      return true;
-    case video_capture::mojom::VideoCaptureApi::MACOSX_DECKLINK:
-      *output = media::VideoCaptureApi::MACOSX_DECKLINK;
-      return true;
-    case video_capture::mojom::VideoCaptureApi::ANDROID_API1:
-      *output = media::VideoCaptureApi::ANDROID_API1;
-      return true;
-    case video_capture::mojom::VideoCaptureApi::ANDROID_API2_LEGACY:
-      *output = media::VideoCaptureApi::ANDROID_API2_LEGACY;
-      return true;
-    case video_capture::mojom::VideoCaptureApi::ANDROID_API2_FULL:
-      *output = media::VideoCaptureApi::ANDROID_API2_FULL;
-      return true;
-    case video_capture::mojom::VideoCaptureApi::ANDROID_API2_LIMITED:
-      *output = media::VideoCaptureApi::ANDROID_API2_LIMITED;
-      return true;
-    case video_capture::mojom::VideoCaptureApi::ANDROID_TANGO:
-      *output = media::VideoCaptureApi::ANDROID_TANGO;
-      return true;
-    case video_capture::mojom::VideoCaptureApi::UNKNOWN:
-      *output = media::VideoCaptureApi::UNKNOWN;
-      return true;
-  }
-  NOTREACHED();
-  return false;
-}
-
-// static
-video_capture::mojom::VideoCaptureTransportType EnumTraits<
-    video_capture::mojom::VideoCaptureTransportType,
-    media::VideoCaptureTransportType>::ToMojom(media::VideoCaptureTransportType
-                                                   input) {
-  switch (input) {
-    case media::VideoCaptureTransportType::MACOSX_USB_OR_BUILT_IN:
-      return video_capture::mojom::VideoCaptureTransportType::
-          MACOSX_USB_OR_BUILT_IN;
-    case media::VideoCaptureTransportType::OTHER_TRANSPORT:
-      return video_capture::mojom::VideoCaptureTransportType::OTHER_TRANSPORT;
-  }
-  NOTREACHED();
-  return video_capture::mojom::VideoCaptureTransportType::OTHER_TRANSPORT;
-}
-
-// static
-bool EnumTraits<video_capture::mojom::VideoCaptureTransportType,
-                media::VideoCaptureTransportType>::
-    FromMojom(video_capture::mojom::VideoCaptureTransportType input,
-              media::VideoCaptureTransportType* output) {
-  switch (input) {
-    case video_capture::mojom::VideoCaptureTransportType::
-        MACOSX_USB_OR_BUILT_IN:
-      *output = media::VideoCaptureTransportType::MACOSX_USB_OR_BUILT_IN;
-      return true;
-    case video_capture::mojom::VideoCaptureTransportType::OTHER_TRANSPORT:
-      *output = media::VideoCaptureTransportType::OTHER_TRANSPORT;
-      return true;
-  }
-  NOTREACHED();
-  return false;
-}
-
-// static
-bool StructTraits<video_capture::mojom::DeviceDescriptorDataView,
-                  media::VideoCaptureDeviceDescriptor>::
-    Read(video_capture::mojom::DeviceDescriptorDataView data,
-         media::VideoCaptureDeviceDescriptor* output) {
-  if (!data.ReadDisplayName(&(output->display_name)))
-    return false;
-
-  if (!data.ReadDeviceId(&(output->device_id)))
-    return false;
-
-  if (!data.ReadModelId(&(output->model_id)))
-    return false;
-
-  if (!data.ReadCaptureApi(&(output->capture_api)))
-    return false;
-
-  if (!data.ReadTransportType(&(output->transport_type)))
-    return false;
-
-  return true;
-}
-
-}  // namespace mojo
diff --git a/services/video_capture/public/interfaces/device_descriptor_struct_traits.h b/services/video_capture/public/interfaces/device_descriptor_struct_traits.h
deleted file mode 100644
index 3332c92..0000000
--- a/services/video_capture/public/interfaces/device_descriptor_struct_traits.h
+++ /dev/null
@@ -1,65 +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 SERVICES_VIDEO_CAPTURE_PUBLIC_INTERFACES_DEVICE_DESCRIPTOR_STRUCT_TRAITS_H_
-#define SERVICES_VIDEO_CAPTURE_PUBLIC_INTERFACES_DEVICE_DESCRIPTOR_STRUCT_TRAITS_H_
-
-#include "media/capture/video/video_capture_device_descriptor.h"
-#include "services/video_capture/public/interfaces/device_descriptor.mojom.h"
-
-namespace mojo {
-
-template <>
-struct EnumTraits<video_capture::mojom::VideoCaptureApi,
-                  media::VideoCaptureApi> {
-  static video_capture::mojom::VideoCaptureApi ToMojom(
-      media::VideoCaptureApi input);
-  static bool FromMojom(video_capture::mojom::VideoCaptureApi input,
-                        media::VideoCaptureApi* output);
-};
-
-template <>
-struct EnumTraits<video_capture::mojom::VideoCaptureTransportType,
-                  media::VideoCaptureTransportType> {
-  static video_capture::mojom::VideoCaptureTransportType ToMojom(
-      media::VideoCaptureTransportType input);
-  static bool FromMojom(video_capture::mojom::VideoCaptureTransportType input,
-                        media::VideoCaptureTransportType* output);
-};
-
-template <>
-struct StructTraits<video_capture::mojom::DeviceDescriptorDataView,
-                    media::VideoCaptureDeviceDescriptor> {
-  static const std::string& display_name(
-      const media::VideoCaptureDeviceDescriptor& input) {
-    return input.display_name;
-  }
-
-  static const std::string& device_id(
-      const media::VideoCaptureDeviceDescriptor& input) {
-    return input.device_id;
-  }
-
-  static const std::string& model_id(
-      const media::VideoCaptureDeviceDescriptor& input) {
-    return input.model_id;
-  }
-
-  static media::VideoCaptureApi capture_api(
-      const media::VideoCaptureDeviceDescriptor& input) {
-    return input.capture_api;
-  }
-
-  static media::VideoCaptureTransportType transport_type(
-      const media::VideoCaptureDeviceDescriptor& input) {
-    return input.transport_type;
-  }
-
-  static bool Read(video_capture::mojom::DeviceDescriptorDataView data,
-                   media::VideoCaptureDeviceDescriptor* output);
-};
-
-}  // namespace mojo
-
-#endif  // SERVICES_VIDEO_CAPTURE_PUBLIC_INTERFACES_DEVICE_DESCRIPTOR_STRUCT_TRAITS_H_
diff --git a/services/video_capture/public/interfaces/device_factory.mojom b/services/video_capture/public/interfaces/device_factory.mojom
index 4b6bd7a..a66434b 100644
--- a/services/video_capture/public/interfaces/device_factory.mojom
+++ b/services/video_capture/public/interfaces/device_factory.mojom
@@ -5,9 +5,7 @@
 module video_capture.mojom;
 
 import "media/capture/mojo/video_capture_types.mojom";
-import "services/video_capture/public/interfaces/device_descriptor.mojom";
 import "services/video_capture/public/interfaces/device.mojom";
-import "services/video_capture/public/interfaces/capture_settings.mojom";
 
 enum DeviceAccessResultCode {
   NOT_INITIALIZED,
@@ -16,19 +14,15 @@
 };
 
 // Enables access to a set of video capture devices.
-// Typical operation is to first call EnumerateDeviceDescriptors() to obtain
-// information about available devices. The |device_id| of the descriptors can
-// subsequently be used to either obtain the supported formats for a device
-// using GetSupportedFormats(), or to create an instance of
+// Typical operation is to first call GetDeviceInfos() to obtain
+// information about available devices. The |device_id| of the infos can
+// subsequently be used to create an instance of
 // video_capture.mojom.Device using CreateDevice().
-// The factory guarantees that no two device descriptors it returns use the
+// The factory guarantees that no two device infos it returns use the
 // same |device_id|.
 interface DeviceFactory {
-  EnumerateDeviceDescriptors()
-      => (array<DeviceDescriptor> descriptors);
-
-  GetSupportedFormats(string device_id)
-      => (array<I420CaptureFormat> supported_formats);
+  GetDeviceInfos()
+      => (array<media.mojom.VideoCaptureDeviceInfo> device_infos);
 
   // Provides exclusive access to the device identified by |device_id|.
   // The access is valid until either the message pipe associated with
diff --git a/services/video_capture/public/interfaces/typemaps.gni b/services/video_capture/public/interfaces/typemaps.gni
deleted file mode 100644
index 7a1bfe0..0000000
--- a/services/video_capture/public/interfaces/typemaps.gni
+++ /dev/null
@@ -1,8 +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.
-
-typemaps = [
-  "//services/video_capture/public/interfaces/device_descriptor.typemap",
-  "//services/video_capture/public/interfaces/capture_settings.typemap",
-]
diff --git a/services/video_capture/test/fake_device_descriptor_test.cc b/services/video_capture/test/fake_device_descriptor_test.cc
index 55b8919f..f3d00ae3 100644
--- a/services/video_capture/test/fake_device_descriptor_test.cc
+++ b/services/video_capture/test/fake_device_descriptor_test.cc
@@ -20,13 +20,14 @@
   video_capture::ServiceTest::SetUp();
 
   base::RunLoop wait_loop;
-  EXPECT_CALL(descriptor_receiver_, Run(_))
-      .WillOnce(Invoke([this, &wait_loop](
-          const std::vector<media::VideoCaptureDeviceDescriptor>& descriptors) {
-        fake_device_descriptor_ = descriptors[0];
-        wait_loop.Quit();
-      }));
-  factory_->EnumerateDeviceDescriptors(descriptor_receiver_.Get());
+  EXPECT_CALL(device_info_receiver_, Run(_))
+      .WillOnce(
+          Invoke([this, &wait_loop](
+                     const std::vector<media::VideoCaptureDeviceInfo>& infos) {
+            fake_device_info_ = infos[0];
+            wait_loop.Quit();
+          }));
+  factory_->GetDeviceInfos(device_info_receiver_.Get());
   wait_loop.Run();
 }
 
diff --git a/services/video_capture/test/fake_device_descriptor_test.h b/services/video_capture/test/fake_device_descriptor_test.h
index e8a670f6..67b0fdf 100644
--- a/services/video_capture/test/fake_device_descriptor_test.h
+++ b/services/video_capture/test/fake_device_descriptor_test.h
@@ -19,7 +19,7 @@
   void SetUp() override;
 
  protected:
-  media::VideoCaptureDeviceDescriptor fake_device_descriptor_;
+  media::VideoCaptureDeviceInfo fake_device_info_;
 };
 
 }  // namespace video_capture
diff --git a/services/video_capture/test/fake_device_descriptor_unittest.cc b/services/video_capture/test/fake_device_descriptor_unittest.cc
index 401efe8..4ef67ac 100644
--- a/services/video_capture/test/fake_device_descriptor_unittest.cc
+++ b/services/video_capture/test/fake_device_descriptor_unittest.cc
@@ -32,7 +32,8 @@
               Run(mojom::DeviceAccessResultCode::SUCCESS))
       .Times(1);
   factory_->CreateDevice(
-      fake_device_descriptor_.device_id, mojo::MakeRequest(&device_proxy_1),
+      fake_device_info_.descriptor.device_id,
+      mojo::MakeRequest(&device_proxy_1),
       base::Bind(&MockCreateDeviceProxyCallback::Run,
                  base::Unretained(&create_device_proxy_callback_1)));
   device_proxy_1.set_connection_error_handler(
@@ -48,7 +49,8 @@
       .Times(1)
       .WillOnce(InvokeWithoutArgs([&wait_loop]() { wait_loop.Quit(); }));
   factory_->CreateDevice(
-      fake_device_descriptor_.device_id, mojo::MakeRequest(&device_proxy_2),
+      fake_device_info_.descriptor.device_id,
+      mojo::MakeRequest(&device_proxy_2),
       base::Bind(&MockCreateDeviceProxyCallback::Run,
                  base::Unretained(&create_device_proxy_callback_2)));
   device_proxy_2.set_connection_error_handler(
@@ -64,22 +66,24 @@
        DISABLED_CanUseSecondRequestedProxy) {
   mojom::DevicePtr device_proxy_1;
   factory_->CreateDevice(
-      fake_device_descriptor_.device_id, mojo::MakeRequest(&device_proxy_1),
+      fake_device_info_.descriptor.device_id,
+      mojo::MakeRequest(&device_proxy_1),
       base::Bind([](mojom::DeviceAccessResultCode result_code) {}));
 
   base::RunLoop wait_loop;
   mojom::DevicePtr device_proxy_2;
   factory_->CreateDevice(
-      fake_device_descriptor_.device_id, mojo::MakeRequest(&device_proxy_2),
+      fake_device_info_.descriptor.device_id,
+      mojo::MakeRequest(&device_proxy_2),
       base::Bind(
           [](base::RunLoop* wait_loop,
              mojom::DeviceAccessResultCode result_code) { wait_loop->Quit(); },
           &wait_loop));
   wait_loop.Run();
 
-  CaptureSettings arbitrary_requested_settings;
-  arbitrary_requested_settings.format.frame_size.SetSize(640, 480);
-  arbitrary_requested_settings.format.frame_rate = 15;
+  media::VideoCaptureParams arbitrary_requested_settings;
+  arbitrary_requested_settings.requested_format.frame_size.SetSize(640, 480);
+  arbitrary_requested_settings.requested_format.frame_rate = 15;
   arbitrary_requested_settings.resolution_change_policy =
       media::RESOLUTION_POLICY_FIXED_RESOLUTION;
   arbitrary_requested_settings.power_line_frequency =
diff --git a/services/video_capture/test/fake_device_test.cc b/services/video_capture/test/fake_device_test.cc
index 744b9df..f4ef97d 100644
--- a/services/video_capture/test/fake_device_test.cc
+++ b/services/video_capture/test/fake_device_test.cc
@@ -18,26 +18,17 @@
 void FakeDeviceTest::SetUp() {
   FakeDeviceDescriptorTest::SetUp();
 
-  // Query factory for supported formats of fake device
-  base::RunLoop wait_loop;
-  EXPECT_CALL(supported_formats_receiver_, Run(_))
-      .WillOnce(Invoke(
-          [this, &wait_loop](const std::vector<I420CaptureFormat>& formats) {
-            fake_device_first_supported_format_ = formats[0];
-            wait_loop.Quit();
-          }));
-  factory_->GetSupportedFormats(fake_device_descriptor_.device_id,
-                                supported_formats_receiver_.Get());
-  wait_loop.Run();
+  ASSERT_LE(1u, fake_device_info_.supported_formats.size());
+  fake_device_first_supported_format_ = fake_device_info_.supported_formats[0];
 
-  requestable_settings_.format = fake_device_first_supported_format_;
+  requestable_settings_.requested_format = fake_device_first_supported_format_;
   requestable_settings_.resolution_change_policy =
       media::RESOLUTION_POLICY_FIXED_RESOLUTION;
   requestable_settings_.power_line_frequency =
       media::PowerLineFrequency::FREQUENCY_DEFAULT;
 
   factory_->CreateDevice(
-      std::move(fake_device_descriptor_.device_id),
+      std::move(fake_device_info_.descriptor.device_id),
       mojo::MakeRequest(&fake_device_proxy_),
       base::Bind([](mojom::DeviceAccessResultCode result_code) {
         ASSERT_EQ(mojom::DeviceAccessResultCode::SUCCESS, result_code);
diff --git a/services/video_capture/test/fake_device_test.h b/services/video_capture/test/fake_device_test.h
index af0bde2d..013c6d32 100644
--- a/services/video_capture/test/fake_device_test.h
+++ b/services/video_capture/test/fake_device_test.h
@@ -5,8 +5,7 @@
 #ifndef SERVICES_VIDEO_CAPTURE_TEST_FAKE_DEVICE_TEST_H_
 #define SERVICES_VIDEO_CAPTURE_TEST_FAKE_DEVICE_TEST_H_
 
-#include "base/test/mock_callback.h"
-#include "services/video_capture/public/cpp/capture_settings.h"
+#include "media/capture/video_capture_types.h"
 #include "services/video_capture/test/fake_device_descriptor_test.h"
 #include "testing/gmock/include/gmock/gmock.h"
 
@@ -22,10 +21,8 @@
   void SetUp() override;
 
  protected:
-  base::MockCallback<mojom::DeviceFactory::GetSupportedFormatsCallback>
-      supported_formats_receiver_;
-  I420CaptureFormat fake_device_first_supported_format_;
-  CaptureSettings requestable_settings_;
+  media::VideoCaptureFormat fake_device_first_supported_format_;
+  media::VideoCaptureParams requestable_settings_;
   mojom::DevicePtr fake_device_proxy_;
 };
 
diff --git a/services/video_capture/test/fake_device_unittest.cc b/services/video_capture/test/fake_device_unittest.cc
index 11b107ed3..6550909 100644
--- a/services/video_capture/test/fake_device_unittest.cc
+++ b/services/video_capture/test/fake_device_unittest.cc
@@ -6,7 +6,7 @@
 #include "base/run_loop.h"
 #include "media/base/video_frame.h"
 #include "media/mojo/common/media_type_converters.h"
-#include "services/video_capture/public/cpp/capture_settings.h"
+#include "services/video_capture/device_media_to_mojo_adapter.h"
 #include "services/video_capture/public/interfaces/device_factory.mojom.h"
 #include "services/video_capture/test/fake_device_test.h"
 #include "services/video_capture/test/mock_receiver.h"
@@ -21,7 +21,6 @@
   gfx::Size size;
   media::VideoPixelFormat pixel_format;
   media::VideoFrame::StorageType storage_type;
-  bool is_mappable;
   base::TimeDelta timestamp;
 };
 
@@ -78,7 +77,6 @@
             auto& frame_info = received_frame_infos[received_frame_count];
             frame_info.pixel_format = video_frame->format();
             frame_info.storage_type = video_frame->storage_type();
-            frame_info.is_mappable = video_frame->IsMappable();
             frame_info.size = video_frame->natural_size();
             frame_info.timestamp = video_frame->timestamp();
             received_frame_count += 1;
@@ -98,8 +96,6 @@
     // Service is expected to always use STORAGE_MOJO_SHARED_BUFFER
     EXPECT_EQ(media::VideoFrame::STORAGE_MOJO_SHARED_BUFFER,
               frame_info.storage_type);
-    EXPECT_TRUE(frame_info.is_mappable);
-    EXPECT_EQ(requestable_settings_.format.frame_size, frame_info.size);
     // Timestamps are expected to increase
     if (i > 0)
       EXPECT_GT(frame_info.timestamp, previous_timestamp);
diff --git a/services/video_capture/test/mock_device_factory.h b/services/video_capture/test/mock_device_factory.h
index 3db80dc..78fd5e5 100644
--- a/services/video_capture/test/mock_device_factory.h
+++ b/services/video_capture/test/mock_device_factory.h
@@ -10,7 +10,6 @@
 #include "media/capture/video/video_capture_device_factory.h"
 #include "mojo/public/cpp/bindings/binding.h"
 #include "services/video_capture/device_media_to_mojo_adapter.h"
-#include "services/video_capture/public/interfaces/device_descriptor.mojom.h"
 
 namespace video_capture {
 
diff --git a/services/video_capture/test/mock_device_test.cc b/services/video_capture/test/mock_device_test.cc
index d557e794..9b976347 100644
--- a/services/video_capture/test/mock_device_test.cc
+++ b/services/video_capture/test/mock_device_test.cc
@@ -67,8 +67,8 @@
       mock_descriptor.device_id, mojo::MakeRequest(&device_proxy_),
       base::Bind([](mojom::DeviceAccessResultCode result_code) {}));
 
-  requested_settings_.format.frame_size = gfx::Size(800, 600);
-  requested_settings_.format.frame_rate = 15;
+  requested_settings_.requested_format.frame_size = gfx::Size(800, 600);
+  requested_settings_.requested_format.frame_rate = 15;
   requested_settings_.resolution_change_policy =
       media::RESOLUTION_POLICY_FIXED_RESOLUTION;
   requested_settings_.power_line_frequency =
diff --git a/services/video_capture/test/mock_device_test.h b/services/video_capture/test/mock_device_test.h
index 4713861..1133118c 100644
--- a/services/video_capture/test/mock_device_test.h
+++ b/services/video_capture/test/mock_device_test.h
@@ -8,7 +8,6 @@
 #include "base/test/mock_callback.h"
 #include "media/capture/video/video_capture_device.h"
 #include "services/video_capture/device_factory_media_to_mojo_adapter.h"
-#include "services/video_capture/public/cpp/capture_settings.h"
 #include "services/video_capture/public/interfaces/service.mojom.h"
 #include "services/video_capture/test/mock_device_factory.h"
 #include "services/video_capture/test/mock_receiver.h"
@@ -37,6 +36,8 @@
                void(media::mojom::PhotoSettingsPtr* settings,
                     SetPhotoOptionsCallback* callback));
   MOCK_METHOD1(DoTakePhoto, void(TakePhotoCallback* callback));
+  MOCK_METHOD2(OnUtilizationReport,
+               void(int frame_feedback_id, double utilization));
 
   void AllocateAndStart(const media::VideoCaptureParams& params,
                         std::unique_ptr<Client> client) override;
@@ -60,14 +61,14 @@
 
   mojom::DeviceFactoryPtr factory_;
   std::unique_ptr<mojo::Binding<mojom::DeviceFactory>> mock_factory_binding_;
-  base::MockCallback<mojom::DeviceFactory::EnumerateDeviceDescriptorsCallback>
-      descriptor_receiver_;
+  base::MockCallback<mojom::DeviceFactory::GetDeviceInfosCallback>
+      device_infos_receiver_;
 
   MockDevice mock_device_;
   std::unique_ptr<MockReceiver> mock_receiver_;
   mojom::DevicePtr device_proxy_;
   mojom::ReceiverPtr mock_receiver_proxy_;
-  CaptureSettings requested_settings_;
+  media::VideoCaptureParams requested_settings_;
 
  private:
   std::unique_ptr<base::MessageLoop> message_loop_;
diff --git a/services/video_capture/test/service_test.h b/services/video_capture/test/service_test.h
index 9d5b4b34..3015e33 100644
--- a/services/video_capture/test/service_test.h
+++ b/services/video_capture/test/service_test.h
@@ -23,8 +23,8 @@
  protected:
   mojom::ServicePtr service_;
   mojom::DeviceFactoryPtr factory_;
-  base::MockCallback<mojom::DeviceFactory::EnumerateDeviceDescriptorsCallback>
-      descriptor_receiver_;
+  base::MockCallback<mojom::DeviceFactory::GetDeviceInfosCallback>
+      device_info_receiver_;
 };
 
 }  // namespace video_capture
diff --git a/services/video_capture/test/service_unittest.cc b/services/video_capture/test/service_unittest.cc
index 9a59275..bc74500 100644
--- a/services/video_capture/test/service_unittest.cc
+++ b/services/video_capture/test/service_unittest.cc
@@ -20,30 +20,30 @@
 using VideoCaptureServiceTest = ServiceTest;
 
 // Tests that an answer arrives from the service when calling
-// EnumerateDeviceDescriptors().
-TEST_F(VideoCaptureServiceTest,
-       DISABLED_EnumerateDeviceDescriptorsCallbackArrives) {
+// GetDeviceInfos().
+TEST_F(VideoCaptureServiceTest, DISABLED_GetDeviceInfosCallbackArrives) {
   base::RunLoop wait_loop;
-  EXPECT_CALL(descriptor_receiver_, Run(_))
+  EXPECT_CALL(device_info_receiver_, Run(_))
       .Times(Exactly(1))
       .WillOnce(InvokeWithoutArgs([&wait_loop]() { wait_loop.Quit(); }));
 
-  factory_->EnumerateDeviceDescriptors(descriptor_receiver_.Get());
+  factory_->GetDeviceInfos(device_info_receiver_.Get());
   wait_loop.Run();
 }
 
 TEST_F(VideoCaptureServiceTest, DISABLED_FakeDeviceFactoryEnumeratesOneDevice) {
   base::RunLoop wait_loop;
   size_t num_devices_enumerated = 0;
-  EXPECT_CALL(descriptor_receiver_, Run(_))
+  EXPECT_CALL(device_info_receiver_, Run(_))
       .Times(Exactly(1))
-      .WillOnce(Invoke([&wait_loop, &num_devices_enumerated](
-          const std::vector<media::VideoCaptureDeviceDescriptor>& descriptors) {
-        num_devices_enumerated = descriptors.size();
-        wait_loop.Quit();
-      }));
+      .WillOnce(
+          Invoke([&wait_loop, &num_devices_enumerated](
+                     const std::vector<media::VideoCaptureDeviceInfo>& infos) {
+            num_devices_enumerated = infos.size();
+            wait_loop.Quit();
+          }));
 
-  factory_->EnumerateDeviceDescriptors(descriptor_receiver_.Get());
+  factory_->GetDeviceInfos(device_info_receiver_.Get());
   wait_loop.Run();
   ASSERT_EQ(1u, num_devices_enumerated);
 }
diff --git a/skia/config/SkUserConfig.h b/skia/config/SkUserConfig.h
index b66c4ed..367e000 100644
--- a/skia/config/SkUserConfig.h
+++ b/skia/config/SkUserConfig.h
@@ -220,10 +220,6 @@
 #define SK_DISABLE_DEFERRED_PROXIES
 #endif
 
-#ifndef SK_SUPPORT_LEGACY_CANVAS_READPIXELS
-#define SK_SUPPORT_LEGACY_CANVAS_READPIXELS
-#endif
-
 #ifndef SK_LEGACY_SWEEP_GRADIENT
 #define SK_LEGACY_SWEEP_GRADIENT
 #endif
diff --git a/skia/ext/platform_canvas.cc b/skia/ext/platform_canvas.cc
index 288e391d..d31f5f61 100644
--- a/skia/ext/platform_canvas.cc
+++ b/skia/ext/platform_canvas.cc
@@ -14,8 +14,9 @@
 
 SkBitmap ReadPixels(SkCanvas* canvas) {
   SkBitmap bitmap;
-  bitmap.setInfo(canvas->imageInfo());
-  canvas->readPixels(&bitmap, 0, 0);
+  bitmap.allocPixels(canvas->imageInfo());
+  if (!canvas->readPixels(bitmap, 0, 0))
+    bitmap.reset();
   return bitmap;
 }
 
diff --git a/testing/buildbot/chromium.android.fyi.json b/testing/buildbot/chromium.android.fyi.json
index 6df5157..3e3ac01 100644
--- a/testing/buildbot/chromium.android.fyi.json
+++ b/testing/buildbot/chromium.android.fyi.json
@@ -78,6 +78,9 @@
         "test": "ipc_tests"
       },
       {
+        "test": "latency_unittests"
+      },
+      {
         "test": "media_unittests"
       },
       {
@@ -177,6 +180,9 @@
         "test": "ipc_tests"
       },
       {
+        "test": "latency_unittests"
+      },
+      {
         "test": "media_unittests"
       },
       {
@@ -555,6 +561,21 @@
         "test": "ipc_tests"
       },
       {
+        "override_isolate_target": "latency_unittests",
+        "swarming": {
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "android_devices": "1",
+              "device_os": "LMY47W",
+              "device_type": "sprout"
+            }
+          ],
+          "expiration": 14400
+        },
+        "test": "latency_unittests"
+      },
+      {
         "override_isolate_target": "media_unittests",
         "swarming": {
           "can_use_on_swarming_builders": true,
diff --git a/testing/buildbot/chromium.android.json b/testing/buildbot/chromium.android.json
index 8603b4d..5881722a 100644
--- a/testing/buildbot/chromium.android.json
+++ b/testing/buildbot/chromium.android.json
@@ -679,6 +679,37 @@
         "test": "ipc_tests"
       },
       {
+        "override_isolate_target": "latency_unittests",
+        "swarming": {
+          "can_use_on_swarming_builders": true,
+          "cipd_packages": [
+            {
+              "cipd_package": "infra/tools/luci/logdog/butler/${platform}",
+              "location": "bin",
+              "revision": "git_revision:ff387eadf445b24c935f1cf7d6ddd279f8a6b04c"
+            }
+          ],
+          "dimension_sets": [
+            {
+              "android_devices": "4",
+              "device_os": "MMB29Q",
+              "device_type": "bullhead"
+            }
+          ],
+          "output_links": [
+            {
+              "link": [
+                "https://luci-logdog.appspot.com/v/?s",
+                "=android%2Fswarming%2Flogcats%2F",
+                "${TASK_ID}%2F%2B%2Funified_logcats"
+              ],
+              "name": "shard #${SHARD_INDEX} logcats"
+            }
+          ]
+        },
+        "test": "latency_unittests"
+      },
+      {
         "override_isolate_target": "media_unittests",
         "swarming": {
           "can_use_on_swarming_builders": true,
@@ -1312,6 +1343,9 @@
         "test": "ipc_tests"
       },
       {
+        "test": "latency_unittests"
+      },
+      {
         "test": "media_unittests"
       },
       {
@@ -1927,6 +1961,39 @@
         "test": "ipc_tests"
       },
       {
+        "override_isolate_target": "latency_unittests",
+        "swarming": {
+          "can_use_on_swarming_builders": true,
+          "cipd_packages": [
+            {
+              "cipd_package": "infra/tools/luci/logdog/butler/${platform}",
+              "location": "bin",
+              "revision": "git_revision:ff387eadf445b24c935f1cf7d6ddd279f8a6b04c"
+            }
+          ],
+          "dimension_sets": [
+            {
+              "android_devices": "4",
+              "device_os": "LMY48I",
+              "device_type": "hammerhead"
+            }
+          ],
+          "expiration": 10800,
+          "hard_timeout": 960,
+          "output_links": [
+            {
+              "link": [
+                "https://luci-logdog.appspot.com/v/?s",
+                "=android%2Fswarming%2Flogcats%2F",
+                "${TASK_ID}%2F%2B%2Funified_logcats"
+              ],
+              "name": "shard #${SHARD_INDEX} logcats"
+            }
+          ]
+        },
+        "test": "latency_unittests"
+      },
+      {
         "override_isolate_target": "media_unittests",
         "swarming": {
           "can_use_on_swarming_builders": true,
diff --git a/testing/buildbot/chromium.chromiumos.json b/testing/buildbot/chromium.chromiumos.json
index dcef2a67..ee3acb5 100644
--- a/testing/buildbot/chromium.chromiumos.json
+++ b/testing/buildbot/chromium.chromiumos.json
@@ -43,6 +43,18 @@
         "test": "ash_content_unittests"
       },
       {
+        "args": [
+          "--mus",
+          "--test-launcher-filter-file=../../testing/buildbot/filters/ash_mus_unittests.filter"
+        ],
+        "name": "ash_mus_unittests",
+        "override_isolate_target": "ash_unittests",
+        "swarming": {
+          "can_use_on_swarming_builders": true
+        },
+        "test": "ash_unittests"
+      },
+      {
         "swarming": {
           "can_use_on_swarming_builders": true
         },
@@ -228,6 +240,12 @@
         "test": "jingle_unittests"
       },
       {
+        "swarming": {
+          "can_use_on_swarming_builders": true
+        },
+        "test": "latency_unittests"
+      },
+      {
         "args": [
           "--ozone-platform=headless",
           "--override-use-software-gl-for-tests",
@@ -668,6 +686,12 @@
         "swarming": {
           "can_use_on_swarming_builders": true
         },
+        "test": "latency_unittests"
+      },
+      {
+        "swarming": {
+          "can_use_on_swarming_builders": true
+        },
         "test": "media_blink_unittests"
       },
       {
@@ -1020,6 +1044,12 @@
         "swarming": {
           "can_use_on_swarming_builders": true
         },
+        "test": "latency_unittests"
+      },
+      {
+        "swarming": {
+          "can_use_on_swarming_builders": true
+        },
         "test": "media_blink_unittests"
       },
       {
diff --git a/testing/buildbot/chromium.full.json b/testing/buildbot/chromium.full.json
index aaee5cab..95777a6 100644
--- a/testing/buildbot/chromium.full.json
+++ b/testing/buildbot/chromium.full.json
@@ -169,6 +169,12 @@
         "swarming": {
           "can_use_on_swarming_builders": true
         },
+        "test": "latency_unittests"
+      },
+      {
+        "swarming": {
+          "can_use_on_swarming_builders": true
+        },
         "test": "media_blink_unittests"
       },
       {
@@ -480,6 +486,12 @@
         "swarming": {
           "can_use_on_swarming_builders": true
         },
+        "test": "latency_unittests"
+      },
+      {
+        "swarming": {
+          "can_use_on_swarming_builders": true
+        },
         "test": "media_blink_unittests"
       },
       {
diff --git a/testing/buildbot/chromium.fyi.json b/testing/buildbot/chromium.fyi.json
index 3d1c40f5..5e6a766 100644
--- a/testing/buildbot/chromium.fyi.json
+++ b/testing/buildbot/chromium.fyi.json
@@ -119,6 +119,12 @@
         "test": "ipc_tests"
       },
       {
+        "swarming": {
+          "can_use_on_swarming_builders": true
+        },
+        "test": "latency_unittests"
+      },
+      {
         "args": [
           "--tool=asan"
         ],
@@ -578,6 +584,12 @@
       },
       {
         "swarming": {
+          "can_use_on_swarming_builders": true
+        },
+        "test": "latency_unittests"
+      },
+      {
+        "swarming": {
           "can_use_on_swarming_builders": false
         },
         "test": "media_blink_unittests"
@@ -955,6 +967,12 @@
       },
       {
         "swarming": {
+          "can_use_on_swarming_builders": true
+        },
+        "test": "latency_unittests"
+      },
+      {
+        "swarming": {
           "can_use_on_swarming_builders": false
         },
         "test": "media_blink_unittests"
@@ -12935,7 +12953,7 @@
             }
           ],
           "hard_timeout": 900,
-          "shards": 6
+          "shards": 18
         }
       }
     ]
diff --git a/testing/buildbot/chromium.memory.fyi.json b/testing/buildbot/chromium.memory.fyi.json
index 830632d..2c53a73 100644
--- a/testing/buildbot/chromium.memory.fyi.json
+++ b/testing/buildbot/chromium.memory.fyi.json
@@ -277,6 +277,12 @@
         "swarming": {
           "can_use_on_swarming_builders": true
         },
+        "test": "latency_unittests"
+      },
+      {
+        "swarming": {
+          "can_use_on_swarming_builders": true
+        },
         "test": "media_blink_unittests"
       },
       {
@@ -588,6 +594,12 @@
         "swarming": {
           "can_use_on_swarming_builders": true
         },
+        "test": "latency_unittests"
+      },
+      {
+        "swarming": {
+          "can_use_on_swarming_builders": true
+        },
         "test": "media_blink_unittests"
       },
       {
@@ -1544,6 +1556,9 @@
       },
       {
         "test": "keyboard_unittests"
+      },
+      {
+        "test": "latency_unittests"
       }
     ]
   },
diff --git a/testing/buildbot/chromium.memory.json b/testing/buildbot/chromium.memory.json
index e206c3f..e73c1d63 100644
--- a/testing/buildbot/chromium.memory.json
+++ b/testing/buildbot/chromium.memory.json
@@ -465,6 +465,12 @@
         "swarming": {
           "can_use_on_swarming_builders": true
         },
+        "test": "latency_unittests"
+      },
+      {
+        "swarming": {
+          "can_use_on_swarming_builders": true
+        },
         "test": "media_blink_unittests"
       },
       {
@@ -761,6 +767,12 @@
         "swarming": {
           "can_use_on_swarming_builders": true
         },
+        "test": "latency_unittests"
+      },
+      {
+        "swarming": {
+          "can_use_on_swarming_builders": true
+        },
         "test": "media_blink_unittests"
       },
       {
@@ -1072,6 +1084,12 @@
         "swarming": {
           "can_use_on_swarming_builders": true
         },
+        "test": "latency_unittests"
+      },
+      {
+        "swarming": {
+          "can_use_on_swarming_builders": true
+        },
         "test": "media_blink_unittests"
       },
       {
diff --git a/testing/buildbot/chromium.win.json b/testing/buildbot/chromium.win.json
index f77ce48..e555670 100644
--- a/testing/buildbot/chromium.win.json
+++ b/testing/buildbot/chromium.win.json
@@ -229,6 +229,12 @@
         "swarming": {
           "can_use_on_swarming_builders": true
         },
+        "test": "latency_unittests"
+      },
+      {
+        "swarming": {
+          "can_use_on_swarming_builders": true
+        },
         "test": "libjingle_xmpp_unittests"
       },
       {
@@ -790,6 +796,12 @@
         "swarming": {
           "can_use_on_swarming_builders": true
         },
+        "test": "latency_unittests"
+      },
+      {
+        "swarming": {
+          "can_use_on_swarming_builders": true
+        },
         "test": "libjingle_xmpp_unittests"
       },
       {
@@ -1267,6 +1279,12 @@
         "swarming": {
           "can_use_on_swarming_builders": true
         },
+        "test": "latency_unittests"
+      },
+      {
+        "swarming": {
+          "can_use_on_swarming_builders": true
+        },
         "test": "libjingle_xmpp_unittests"
       },
       {
@@ -1712,6 +1730,12 @@
         "swarming": {
           "can_use_on_swarming_builders": true
         },
+        "test": "latency_unittests"
+      },
+      {
+        "swarming": {
+          "can_use_on_swarming_builders": true
+        },
         "test": "libjingle_xmpp_unittests"
       },
       {
diff --git a/testing/buildbot/filters/mojo.fyi.browser_tests.filter b/testing/buildbot/filters/mojo.fyi.browser_tests.filter
index 4ecf6f36..39e2b31 100644
--- a/testing/buildbot/filters/mojo.fyi.browser_tests.filter
+++ b/testing/buildbot/filters/mojo.fyi.browser_tests.filter
@@ -39,8 +39,6 @@
 ChromeRenderViewTest.ImagesBlockedByDefault
 ChromeRenderViewTest.JSBlockSentAfterPageLoad
 ChromeRenderViewTest.PluginsTemporarilyAllowed
-ChromeServiceWorkerFetchTest.EmbedPdfOtherOrigin
-ChromeServiceWorkerFetchTest.EmbedPdfSameOrigin
 ChromeServiceWorkerManifestFetchTest.OtherOrigin
 ChromeServiceWorkerManifestFetchTest.OtherOriginUseCredentials
 ChromeServiceWorkerManifestFetchTest.SameOrigin
diff --git a/testing/buildbot/gn_isolate_map.pyl b/testing/buildbot/gn_isolate_map.pyl
index 5ffb80a..19324c6 100644
--- a/testing/buildbot/gn_isolate_map.pyl
+++ b/testing/buildbot/gn_isolate_map.pyl
@@ -616,6 +616,10 @@
     "label": "//ui/keyboard:keyboard_unittests",
     "type": "console_test_launcher",
   },
+  "latency_unittests": {
+    "label": "//ui/latency:latency_unittests",
+    "type": "console_test_launcher",
+  },
   "leveldb_service_unittests": {
     "label": "//components/leveldb:leveldb_service_unittests",
     "type": "console_test_launcher",
diff --git a/testing/libfuzzer/fuzzers/template_url_parser_fuzzer.cc b/testing/libfuzzer/fuzzers/template_url_parser_fuzzer.cc
index f98ad61..93ce6de 100644
--- a/testing/libfuzzer/fuzzers/template_url_parser_fuzzer.cc
+++ b/testing/libfuzzer/fuzzers/template_url_parser_fuzzer.cc
@@ -32,12 +32,17 @@
   uint32_t seed_;
 };
 
+base::AtExitManager at_exit_manager;  // used by ICU integration
+
+extern "C" int LLVMFuzzerInitialize(int argc, char*** argv) {
+  CHECK(base::i18n::InitializeICU());
+  return 0;
+}
+
 extern "C" int LLVMFuzzerTestOneInput(const uint8_t* data, size_t size) {
   if (size < sizeof(FuzzerFixedParams)) {
     return 0;
   }
-  base::AtExitManager at_exit_manager;  // used by ICU integration.
-  base::i18n::InitializeICU();
   const FuzzerFixedParams* params =
       reinterpret_cast<const FuzzerFixedParams*>(data);
   size -= sizeof(FuzzerFixedParams);
diff --git a/third_party/WebKit/LayoutTests/FlagExpectations/root-layer-scrolls b/third_party/WebKit/LayoutTests/FlagExpectations/root-layer-scrolls
index 58f50cf..65a813b1 100644
--- a/third_party/WebKit/LayoutTests/FlagExpectations/root-layer-scrolls
+++ b/third_party/WebKit/LayoutTests/FlagExpectations/root-layer-scrolls
@@ -223,10 +223,6 @@
 Bug(none) compositing/visibility/visibility-image-layers-dynamic.html [ Failure ]
 Bug(none) compositing/will-change/composited-layers.html [ Failure ]
 Bug(none) compositing/will-change/will-change-contents-suppresses-compositing.html [ Failure ]
-Bug(none) css2.1/20110323/abspos-containing-block-initial-001.htm [ Failure ]
-Bug(none) css2.1/20110323/replaced-intrinsic-001.htm [ Failure ]
-Bug(none) css2.1/20110323/replaced-intrinsic-002.htm [ Failure ]
-Bug(none) css2.1/20110323/replaced-intrinsic-ratio-001.htm [ Failure ]
 Bug(none) css3/blending/mix-blend-mode-2nd-stacking-context-composited.html [ Failure ]
 Bug(none) css3/blending/mix-blend-mode-composited-layers.html [ Failure ]
 Bug(none) css3/blending/mix-blend-mode-composited-reason-children.html [ Failure ]
@@ -2211,7 +2207,6 @@
 Bug(none) virtual/disable-spinvalidation/paint/invalidation/window-resize-viewport-percent.html [ Failure ]
 Bug(none) virtual/gpu-rasterization/images/color-profile-group.html [ Failure ]
 Bug(none) virtual/gpu-rasterization/images/color-profile-iframe.html [ Failure ]
-Bug(none) virtual/layout_ng/css2.1/20110323/margin-applies-to-013.htm [ Failure ]
 Bug(none) virtual/mojo-loading/http/tests/misc/acid3.html [ Failure ]
 Bug(none) virtual/mojo-loading/http/tests/misc/object-embedding-svg-delayed-size-negotiation-2.htm [ Failure ]
 Bug(none) virtual/mojo-loading/http/tests/navigation/anchor-frames-same-origin.html [ Failure ]
diff --git a/third_party/WebKit/LayoutTests/TestExpectations b/third_party/WebKit/LayoutTests/TestExpectations
index fdd5d99..5c5edb7 100644
--- a/third_party/WebKit/LayoutTests/TestExpectations
+++ b/third_party/WebKit/LayoutTests/TestExpectations
@@ -268,194 +268,6 @@
 # ====== LayoutNG-only failures from here ======
 # LayoutNG - is a new layout system for Blink.
 
-#### css2.1/20110323
-#### Passed: 225
-#### Skipped: 184
-crbug.com/635619 virtual/layout_ng/css2.1/20110323/inline-block-non-replaced-width-001.htm [ Skip ]
-crbug.com/635619 virtual/layout_ng/css2.1/20110323/absolute-non-replaced-height-006.htm [ Skip ]
-crbug.com/635619 virtual/layout_ng/css2.1/20110323/absolute-non-replaced-height-008.htm [ Skip ]
-crbug.com/635619 virtual/layout_ng/css2.1/20110323/absolute-non-replaced-max-height-008.htm [ Skip ]
-crbug.com/635619 virtual/layout_ng/css2.1/20110323/absolute-non-replaced-width-017.htm [ Skip ]
-crbug.com/635619 virtual/layout_ng/css2.1/20110323/absolute-non-replaced-width-018.htm [ Skip ]
-crbug.com/635619 virtual/layout_ng/css2.1/20110323/absolute-non-replaced-width-019.htm [ Skip ]
-crbug.com/635619 virtual/layout_ng/css2.1/20110323/absolute-non-replaced-width-020.htm [ Skip ]
-crbug.com/635619 virtual/layout_ng/css2.1/20110323/absolute-non-replaced-width-021.htm [ Skip ]
-crbug.com/635619 virtual/layout_ng/css2.1/20110323/absolute-non-replaced-width-022.htm [ Skip ]
-crbug.com/635619 virtual/layout_ng/css2.1/20110323/absolute-non-replaced-width-023.htm [ Skip ]
-crbug.com/635619 virtual/layout_ng/css2.1/20110323/absolute-non-replaced-width-024.htm [ Skip ]
-crbug.com/635619 virtual/layout_ng/css2.1/20110323/absolute-replaced-height-002.htm [ Skip ]
-crbug.com/635619 virtual/layout_ng/css2.1/20110323/absolute-replaced-height-003.htm [ Skip ]
-crbug.com/635619 virtual/layout_ng/css2.1/20110323/absolute-replaced-height-004.htm [ Skip ]
-crbug.com/635619 virtual/layout_ng/css2.1/20110323/absolute-replaced-height-005.htm [ Skip ]
-crbug.com/635619 virtual/layout_ng/css2.1/20110323/absolute-replaced-height-007.htm [ Skip ]
-crbug.com/635619 virtual/layout_ng/css2.1/20110323/absolute-replaced-height-011.htm [ Skip ]
-crbug.com/635619 virtual/layout_ng/css2.1/20110323/absolute-replaced-height-012.htm [ Skip ]
-crbug.com/635619 virtual/layout_ng/css2.1/20110323/absolute-replaced-height-014.htm [ Skip ]
-crbug.com/635619 virtual/layout_ng/css2.1/20110323/absolute-replaced-height-018.htm [ Skip ]
-crbug.com/635619 virtual/layout_ng/css2.1/20110323/absolute-replaced-height-019.htm [ Skip ]
-crbug.com/635619 virtual/layout_ng/css2.1/20110323/absolute-replaced-height-021.htm [ Skip ]
-crbug.com/635619 virtual/layout_ng/css2.1/20110323/absolute-replaced-height-025.htm [ Skip ]
-crbug.com/635619 virtual/layout_ng/css2.1/20110323/absolute-replaced-height-026.htm [ Skip ]
-crbug.com/635619 virtual/layout_ng/css2.1/20110323/absolute-replaced-height-028.htm [ Skip ]
-crbug.com/635619 virtual/layout_ng/css2.1/20110323/absolute-replaced-height-032.htm [ Skip ]
-crbug.com/635619 virtual/layout_ng/css2.1/20110323/absolute-replaced-height-033.htm [ Skip ]
-crbug.com/635619 virtual/layout_ng/css2.1/20110323/absolute-replaced-height-035.htm [ Skip ]
-crbug.com/635619 virtual/layout_ng/css2.1/20110323/absolute-replaced-height-036.htm [ Skip ]
-crbug.com/635619 virtual/layout_ng/css2.1/20110323/absolute-replaced-width-001.htm [ Skip ]
-crbug.com/635619 virtual/layout_ng/css2.1/20110323/absolute-replaced-width-006.htm [ Skip ]
-crbug.com/635619 virtual/layout_ng/css2.1/20110323/absolute-replaced-width-008.htm [ Skip ]
-crbug.com/635619 virtual/layout_ng/css2.1/20110323/absolute-replaced-width-013.htm [ Skip ]
-crbug.com/635619 virtual/layout_ng/css2.1/20110323/absolute-replaced-width-015.htm [ Skip ]
-crbug.com/635619 virtual/layout_ng/css2.1/20110323/absolute-replaced-width-020.htm [ Skip ]
-crbug.com/635619 virtual/layout_ng/css2.1/20110323/absolute-replaced-width-022.htm [ Skip ]
-crbug.com/635619 virtual/layout_ng/css2.1/20110323/absolute-replaced-width-027.htm [ Skip ]
-crbug.com/635619 virtual/layout_ng/css2.1/20110323/absolute-replaced-width-029.htm [ Skip ]
-crbug.com/635619 virtual/layout_ng/css2.1/20110323/absolute-replaced-width-034.htm [ Skip ]
-crbug.com/635619 virtual/layout_ng/css2.1/20110323/absolute-replaced-width-036.htm [ Skip ]
-crbug.com/635619 virtual/layout_ng/css2.1/20110323/absolute-replaced-width-041.htm [ Skip ]
-crbug.com/635619 virtual/layout_ng/css2.1/20110323/absolute-replaced-width-043.htm [ Skip ]
-crbug.com/635619 virtual/layout_ng/css2.1/20110323/absolute-replaced-width-048.htm [ Skip ]
-crbug.com/635619 virtual/layout_ng/css2.1/20110323/absolute-replaced-width-050.htm [ Skip ]
-crbug.com/635619 virtual/layout_ng/css2.1/20110323/absolute-replaced-width-055.htm [ Skip ]
-crbug.com/635619 virtual/layout_ng/css2.1/20110323/absolute-replaced-width-057.htm [ Skip ]
-crbug.com/635619 virtual/layout_ng/css2.1/20110323/absolute-replaced-width-062.htm [ Skip ]
-crbug.com/635619 virtual/layout_ng/css2.1/20110323/absolute-replaced-width-064.htm [ Skip ]
-crbug.com/635619 virtual/layout_ng/css2.1/20110323/absolute-replaced-width-069.htm [ Skip ]
-crbug.com/635619 virtual/layout_ng/css2.1/20110323/absolute-replaced-width-071.htm [ Skip ]
-crbug.com/635619 virtual/layout_ng/css2.1/20110323/absolute-replaced-width-076.htm [ Skip ]
-crbug.com/635619 virtual/layout_ng/css2.1/20110323/abspos-containing-block-initial-001.htm [ Skip ]
-crbug.com/635619 virtual/layout_ng/css2.1/20110323/abspos-containing-block-initial-004c.htm [ Skip ]
-crbug.com/635619 virtual/layout_ng/css2.1/20110323/abspos-containing-block-initial-004d.htm [ Skip ]
-crbug.com/635619 virtual/layout_ng/css2.1/20110323/abspos-containing-block-initial-005b.htm [ Skip ]
-crbug.com/635619 virtual/layout_ng/css2.1/20110323/abspos-containing-block-initial-005d.htm [ Skip ]
-crbug.com/635619 virtual/layout_ng/css2.1/20110323/abspos-containing-block-initial-009a.htm [ Skip ]
-crbug.com/635619 virtual/layout_ng/css2.1/20110323/abspos-non-replaced-width-margin-000.htm [ Skip ]
-crbug.com/635619 virtual/layout_ng/css2.1/20110323/abspos-replaced-width-margin-000.htm [ Skip ]
-crbug.com/635619 virtual/layout_ng/css2.1/20110323/block-non-replaced-height-002.htm [ Skip ]
-crbug.com/635619 virtual/layout_ng/css2.1/20110323/block-non-replaced-height-004.htm [ Skip ]
-crbug.com/635619 virtual/layout_ng/css2.1/20110323/block-non-replaced-height-005.htm [ Skip ]
-crbug.com/635619 virtual/layout_ng/css2.1/20110323/block-non-replaced-height-006.htm [ Skip ]
-crbug.com/635619 virtual/layout_ng/css2.1/20110323/block-non-replaced-height-008.htm [ Skip ]
-crbug.com/635619 virtual/layout_ng/css2.1/20110323/block-non-replaced-height-010.htm [ Skip ]
-crbug.com/635619 virtual/layout_ng/css2.1/20110323/block-non-replaced-height-011.htm [ Skip ]
-crbug.com/635619 virtual/layout_ng/css2.1/20110323/block-non-replaced-height-012.htm [ Skip ]
-crbug.com/635619 virtual/layout_ng/css2.1/20110323/block-non-replaced-height-013.htm [ Skip ]
-crbug.com/635619 virtual/layout_ng/css2.1/20110323/block-non-replaced-height-014.htm [ Skip ]
-crbug.com/635619 virtual/layout_ng/css2.1/20110323/block-non-replaced-height-016.htm [ Skip ]
-crbug.com/635619 virtual/layout_ng/css2.1/20110323/block-non-replaced-width-001.htm [ Skip ]
-crbug.com/635619 virtual/layout_ng/css2.1/20110323/block-non-replaced-width-007.htm [ Skip ]
-crbug.com/635619 virtual/layout_ng/css2.1/20110323/block-replaced-height-002.htm [ Skip ]
-crbug.com/635619 virtual/layout_ng/css2.1/20110323/block-replaced-height-003.htm [ Skip ]
-crbug.com/635619 virtual/layout_ng/css2.1/20110323/block-replaced-height-004.htm [ Skip ]
-crbug.com/635619 virtual/layout_ng/css2.1/20110323/block-replaced-height-005.htm [ Skip ]
-crbug.com/635619 virtual/layout_ng/css2.1/20110323/block-replaced-height-007.htm [ Skip ]
-crbug.com/635619 virtual/layout_ng/css2.1/20110323/block-replaced-width-001.htm [ Skip ]
-crbug.com/635619 virtual/layout_ng/css2.1/20110323/block-replaced-width-006.htm [ Skip ]
-crbug.com/635619 virtual/layout_ng/css2.1/20110323/border-collapse-offset-002.htm [ Skip ]
-crbug.com/635619 virtual/layout_ng/css2.1/20110323/c541-word-sp-001.htm [ Skip ]
-crbug.com/635619 virtual/layout_ng/css2.1/20110323/c543-txt-decor-000.html [ Skip ]
-crbug.com/635619 virtual/layout_ng/css2.1/20110323/empty-inline-001.htm [ Skip ]
-crbug.com/635619 virtual/layout_ng/css2.1/20110323/empty-inline-002.htm [ Skip ]
-crbug.com/635619 virtual/layout_ng/css2.1/20110323/empty-inline-003.htm [ Skip ]
-crbug.com/635619 virtual/layout_ng/css2.1/20110323/float-non-replaced-height-001.htm [ Skip ]
-crbug.com/635619 virtual/layout_ng/css2.1/20110323/float-non-replaced-width-006.htm [ Skip ]
-crbug.com/635619 virtual/layout_ng/css2.1/20110323/float-non-replaced-width-007.htm [ Skip ]
-crbug.com/635619 virtual/layout_ng/css2.1/20110323/float-non-replaced-width-008.htm [ Skip ]
-crbug.com/635619 virtual/layout_ng/css2.1/20110323/float-non-replaced-width-009.htm [ Skip ]
-crbug.com/635619 virtual/layout_ng/css2.1/20110323/float-non-replaced-width-010.htm [ Skip ]
-crbug.com/635619 virtual/layout_ng/css2.1/20110323/float-non-replaced-width-011.htm [ Skip ]
-crbug.com/635619 virtual/layout_ng/css2.1/20110323/float-non-replaced-width-012.htm [ Skip ]
-crbug.com/635619 virtual/layout_ng/css2.1/20110323/float-replaced-height-001.htm [ Skip ]
-crbug.com/635619 virtual/layout_ng/css2.1/20110323/float-replaced-height-002.htm [ Skip ]
-crbug.com/635619 virtual/layout_ng/css2.1/20110323/float-replaced-height-003.htm [ Skip ]
-crbug.com/635619 virtual/layout_ng/css2.1/20110323/float-replaced-height-004.htm [ Skip ]
-crbug.com/635619 virtual/layout_ng/css2.1/20110323/float-replaced-height-005.htm [ Skip ]
-crbug.com/635619 virtual/layout_ng/css2.1/20110323/float-replaced-height-007.htm [ Skip ]
-crbug.com/635619 virtual/layout_ng/css2.1/20110323/float-replaced-width-002.htm [ Skip ]
-crbug.com/635619 virtual/layout_ng/css2.1/20110323/float-replaced-width-006.htm [ Skip ]
-crbug.com/635619 virtual/layout_ng/css2.1/20110323/float-replaced-width-011.htm [ Skip ]
-crbug.com/635619 virtual/layout_ng/css2.1/20110323/floating-replaced-height-008.htm [ Skip ]
-crbug.com/635619 virtual/layout_ng/css2.1/20110323/floats-001.html [ Skip ]
-crbug.com/635619 virtual/layout_ng/css2.1/20110323/floats-102.html [ Skip ]
-crbug.com/635619 virtual/layout_ng/css2.1/20110323/floats-149.htm [ Skip ]
-crbug.com/635619 virtual/layout_ng/css2.1/20110323/floats-wrap-top-below-bfc-001l.htm [ Skip ]
-crbug.com/635619 virtual/layout_ng/css2.1/20110323/floats-wrap-top-below-bfc-001r.htm [ Skip ]
-crbug.com/635619 virtual/layout_ng/css2.1/20110323/floats-wrap-top-below-bfc-002l.htm [ Skip ]
-crbug.com/635619 virtual/layout_ng/css2.1/20110323/floats-wrap-top-below-bfc-002r.htm [ Skip ]
-crbug.com/635619 virtual/layout_ng/css2.1/20110323/floats-wrap-top-below-bfc-003l.htm [ Skip ]
-crbug.com/635619 virtual/layout_ng/css2.1/20110323/floats-wrap-top-below-bfc-003r.htm [ Skip ]
-crbug.com/635619 virtual/layout_ng/css2.1/20110323/floats-wrap-top-below-inline-001l.htm [ Skip ]
-crbug.com/635619 virtual/layout_ng/css2.1/20110323/floats-wrap-top-below-inline-002l.htm [ Skip ]
-crbug.com/635619 virtual/layout_ng/css2.1/20110323/floats-wrap-top-below-inline-002r.htm [ Skip ]
-crbug.com/635619 virtual/layout_ng/css2.1/20110323/floats-wrap-top-below-inline-003l.htm [ Skip ]
-crbug.com/635619 virtual/layout_ng/css2.1/20110323/height-applies-to-010a.htm [ Skip ]
-crbug.com/635619 virtual/layout_ng/css2.1/20110323/height-percentage-005.htm [ Skip ]
-crbug.com/635619 virtual/layout_ng/css2.1/20110323/height-width-inline-table-001.htm [ Skip ]
-crbug.com/635619 virtual/layout_ng/css2.1/20110323/inline-block-non-replaced-height-001.htm [ Skip ]
-crbug.com/635619 virtual/layout_ng/css2.1/20110323/inline-block-non-replaced-height-002.htm [ Skip ]
-crbug.com/635619 virtual/layout_ng/css2.1/20110323/inline-block-non-replaced-width-002.htm [ Skip ]
-crbug.com/635619 virtual/layout_ng/css2.1/20110323/inline-block-non-replaced-width-003.htm [ Skip ]
-crbug.com/635619 virtual/layout_ng/css2.1/20110323/inline-block-non-replaced-width-004.htm [ Skip ]
-crbug.com/635619 virtual/layout_ng/css2.1/20110323/inline-block-replaced-height-001.htm [ Skip ]
-crbug.com/635619 virtual/layout_ng/css2.1/20110323/inline-block-replaced-height-002.htm [ Skip ]
-crbug.com/635619 virtual/layout_ng/css2.1/20110323/inline-block-replaced-height-003.htm [ Skip ]
-crbug.com/635619 virtual/layout_ng/css2.1/20110323/inline-block-replaced-height-004.htm [ Skip ]
-crbug.com/635619 virtual/layout_ng/css2.1/20110323/inline-block-replaced-height-005.htm [ Skip ]
-crbug.com/635619 virtual/layout_ng/css2.1/20110323/inline-block-replaced-height-007.htm [ Skip ]
-crbug.com/635619 virtual/layout_ng/css2.1/20110323/inline-block-replaced-height-008.htm [ Skip ]
-crbug.com/635619 virtual/layout_ng/css2.1/20110323/inline-block-replaced-width-001.htm [ Skip ]
-crbug.com/635619 virtual/layout_ng/css2.1/20110323/inline-block-replaced-width-006.htm [ Skip ]
-crbug.com/635619 virtual/layout_ng/css2.1/20110323/inline-non-replaced-height-002.htm [ Skip ]
-crbug.com/635619 virtual/layout_ng/css2.1/20110323/inline-non-replaced-height-003.htm [ Skip ]
-crbug.com/635619 virtual/layout_ng/css2.1/20110323/inline-non-replaced-width-001.htm [ Skip ]
-crbug.com/635619 virtual/layout_ng/css2.1/20110323/inline-non-replaced-width-002.htm [ Skip ]
-crbug.com/635619 virtual/layout_ng/css2.1/20110323/inline-replaced-height-001.htm [ Skip ]
-crbug.com/635619 virtual/layout_ng/css2.1/20110323/inline-replaced-height-002.htm [ Skip ]
-crbug.com/635619 virtual/layout_ng/css2.1/20110323/inline-replaced-height-003.htm [ Skip ]
-crbug.com/635619 virtual/layout_ng/css2.1/20110323/inline-replaced-height-004.htm [ Skip ]
-crbug.com/635619 virtual/layout_ng/css2.1/20110323/inline-replaced-height-005.htm [ Skip ]
-crbug.com/635619 virtual/layout_ng/css2.1/20110323/inline-replaced-height-007.htm [ Skip ]
-crbug.com/635619 virtual/layout_ng/css2.1/20110323/inline-replaced-height-008.htm [ Skip ]
-crbug.com/635619 virtual/layout_ng/css2.1/20110323/inline-replaced-width-001.htm [ Skip ]
-crbug.com/635619 virtual/layout_ng/css2.1/20110323/inline-replaced-width-006.htm [ Skip ]
-crbug.com/635619 virtual/layout_ng/css2.1/20110323/inline-replaced-width-011.htm [ Skip ]
-crbug.com/635619 virtual/layout_ng/css2.1/20110323/inline-replaced-width-012.htm [ Skip ]
-crbug.com/635619 virtual/layout_ng/css2.1/20110323/inline-replaced-width-013.htm [ Skip ]
-crbug.com/635619 virtual/layout_ng/css2.1/20110323/inline-replaced-width-014.htm [ Skip ]
-crbug.com/635619 virtual/layout_ng/css2.1/20110323/inline-replaced-width-015.htm [ Skip ]
-crbug.com/635619 virtual/layout_ng/css2.1/20110323/inline-table-001.htm [ Skip ]
-crbug.com/635619 virtual/layout_ng/css2.1/20110323/inline-table-002a.htm [ Skip ]
-crbug.com/635619 virtual/layout_ng/css2.1/20110323/list-style-position-005.htm [ Skip ]
-crbug.com/635619 virtual/layout_ng/css2.1/20110323/margin-applies-to-008.htm [ Skip ]
-crbug.com/635619 virtual/layout_ng/css2.1/20110323/margin-applies-to-010.htm [ Skip ]
-crbug.com/635619 virtual/layout_ng/css2.1/20110323/margin-applies-to-012.htm [ Skip ]
-crbug.com/635619 virtual/layout_ng/css2.1/20110323/margin-applies-to-014.htm [ Skip ]
-crbug.com/635619 virtual/layout_ng/css2.1/20110323/margin-collapse-012.htm [ Skip ]
-crbug.com/635619 virtual/layout_ng/css2.1/20110323/margin-collapse-027.htm [ Skip ]
-crbug.com/635619 virtual/layout_ng/css2.1/20110323/margin-collapse-clear-012.htm [ Skip ]
-crbug.com/635619 virtual/layout_ng/css2.1/20110323/margin-collapse-clear-013.htm [ Skip ]
-crbug.com/635619 virtual/layout_ng/css2.1/20110323/margin-collapse-clear-014.htm [ Skip ]
-crbug.com/635619 virtual/layout_ng/css2.1/20110323/margin-collapse-clear-015.htm [ Skip ]
-crbug.com/635619 virtual/layout_ng/css2.1/20110323/max-height-percentage-003.html [ Skip ]
-crbug.com/635619 virtual/layout_ng/css2.1/20110323/outline-color-001.htm [ Skip ]
-crbug.com/635619 virtual/layout_ng/css2.1/20110323/outline-color-applies-to-008.htm [ Skip ]
-crbug.com/635619 virtual/layout_ng/css2.1/20110323/overflow-applies-to-008.htm [ Skip ]
-crbug.com/635619 virtual/layout_ng/css2.1/20110323/overflow-applies-to-009.htm [ Skip ]
-crbug.com/635619 virtual/layout_ng/css2.1/20110323/overflow-applies-to-010.htm [ Skip ]
-crbug.com/635619 virtual/layout_ng/css2.1/20110323/overflow-applies-to-012.htm [ Skip ]
-crbug.com/635619 virtual/layout_ng/css2.1/20110323/replaced-elements-001.htm [ Skip ]
-crbug.com/635619 virtual/layout_ng/css2.1/20110323/replaced-intrinsic-001.htm [ Skip ]
-crbug.com/635619 virtual/layout_ng/css2.1/20110323/replaced-intrinsic-002.htm [ Skip ]
-crbug.com/635619 virtual/layout_ng/css2.1/20110323/replaced-intrinsic-003.htm [ Skip ]
-crbug.com/635619 virtual/layout_ng/css2.1/20110323/replaced-intrinsic-ratio-001.htm [ Skip ]
-crbug.com/635619 virtual/layout_ng/css2.1/20110323/replaced-min-max-001.htm [ Skip ]
-crbug.com/635619 virtual/layout_ng/css2.1/20110323/table-caption-optional-002.htm [ Skip ]
-crbug.com/635619 virtual/layout_ng/css2.1/20110323/table-height-algorithm-023.htm [ Skip ]
-crbug.com/635619 virtual/layout_ng/css2.1/20110323/table-height-algorithm-024.htm [ Skip ]
-crbug.com/635619 virtual/layout_ng/css2.1/20110323/text-indent-014.htm [ Skip ]
-crbug.com/635619 virtual/layout_ng/css2.1/20110323/vertical-align-boxes-001.htm [ Skip ]
-crbug.com/635619 virtual/layout_ng/css2.1/20110323/width-non-replaced-inline-001.htm [ Skip ]
-
 #### fast/block/basic
 #### Passed: 5
 #### Skipped: 27
@@ -1464,6 +1276,7 @@
 crbug.com/662010 [ Win7 ] csspaint/invalidation-background-image.html [ Skip ]
 
 crbug.com/693568 virtual/gpu/fast/canvas/canvas-imageSmoothingQuality.html [ Failure ]
+crbug.com/712629 [ Linux ] virtual/gpu/fast/canvas/canvas-imageSmoothingQuality-pixel.html [ Pass Crash ]
 
 # These tests are skipped as there is no touch support on Mac.
 crbug.com/613672 [ Mac ] fast/events/pointerevents/multi-pointer-event-in-slop-region.html [ Skip ]
@@ -2014,7 +1827,6 @@
 crbug.com/711529 http/tests/streams/piping/multiple-propagation.https.html [ Timeout ]
 
 # ====== New tests from wpt-importer added here ======
-crbug.com/626703 external/wpt/streams/writable-streams/properties.sharedworker.html [ Timeout ]
 crbug.com/626703 external/wpt/XMLHttpRequest/getresponseheader-chunked-trailer.htm [ Failure ]
 crbug.com/626703 external/wpt/XMLHttpRequest/anonymous-mode-unsupported.htm [ Failure ]
 crbug.com/626703 external/wpt/XMLHttpRequest/open-after-setrequestheader.htm [ Failure ]
@@ -2064,15 +1876,11 @@
 crbug.com/626703 external/wpt/streams/readable-streams/pipe-through.sharedworker.html [ Timeout ]
 crbug.com/626703 external/wpt/streams/readable-streams/tee.sharedworker.html [ Timeout ]
 crbug.com/626703 external/wpt/streams/readable-streams/templated.sharedworker.html [ Timeout ]
-crbug.com/626703 external/wpt/streams/writable-streams/aborting.sharedworker.html [ Timeout ]
 crbug.com/626703 external/wpt/streams/writable-streams/bad-strategies.sharedworker.html [ Timeout ]
 crbug.com/626703 external/wpt/streams/writable-streams/bad-underlying-sinks.sharedworker.html [ Timeout ]
 crbug.com/626703 external/wpt/streams/writable-streams/brand-checks.sharedworker.html [ Timeout ]
 crbug.com/626703 external/wpt/streams/writable-streams/byte-length-queuing-strategy.sharedworker.html [ Timeout ]
-crbug.com/626703 external/wpt/streams/writable-streams/close.sharedworker.html [ Timeout ]
-crbug.com/626703 external/wpt/streams/writable-streams/constructor.sharedworker.html [ Timeout ]
 crbug.com/626703 external/wpt/streams/writable-streams/count-queuing-strategy.sharedworker.html [ Timeout ]
-crbug.com/626703 external/wpt/streams/writable-streams/error.sharedworker.html [ Timeout ]
 crbug.com/626703 external/wpt/streams/writable-streams/general.sharedworker.html [ Timeout ]
 crbug.com/626703 external/wpt/streams/writable-streams/reentrant-strategy.sharedworker.html [ Timeout ]
 crbug.com/626703 external/wpt/streams/writable-streams/start.sharedworker.html [ Timeout ]
@@ -2188,7 +1996,6 @@
 crbug.com/626703 external/wpt/html/infrastructure/urls/resolving-urls/query-encoding/windows-1251.html [ Timeout ]
 crbug.com/626703 external/wpt/html/infrastructure/urls/resolving-urls/query-encoding/windows-1252.html [ Timeout ]
 crbug.com/626703 [ Android Mac ] external/wpt/pointerevents/pointerevent_disabled_form_control-manual.html [ Timeout ]
-crbug.com/626703 external/wpt/streams/readable-streams/floating-point-total-queue-size.sharedworker.html [ Timeout ]
 crbug.com/626703 external/wpt/streams/writable-streams/floating-point-total-queue-size.dedicatedworker.html [ Timeout ]
 crbug.com/626703 external/wpt/streams/writable-streams/floating-point-total-queue-size.sharedworker.html [ Timeout ]
 crbug.com/626703 external/wpt/mediacapture-streams/MediaStreamTrack-end-manual.https.html [ Timeout ]
@@ -2918,6 +2725,4 @@
 # Tests to be run only under virtual/experimental-canvas-features/
 crbug.com/682753 fast/canvas-experimental [ Skip ]
 
-crbug.com/708934 fast/backgrounds/background-image-relative-url-in-iframe.html [ Failure Pass ]
-
 crbug.com/712264 external/wpt/service-workers/service-worker/fetch-event.https.html [ Failure Pass ]
diff --git a/third_party/WebKit/LayoutTests/VirtualTestSuites b/third_party/WebKit/LayoutTests/VirtualTestSuites
index 7c024e3..f018d97b 100644
--- a/third_party/WebKit/LayoutTests/VirtualTestSuites
+++ b/third_party/WebKit/LayoutTests/VirtualTestSuites
@@ -444,11 +444,6 @@
   },
   {
     "prefix": "layout_ng",
-    "base": "css2.1/20110323",
-    "args": ["--enable-blink-features=LayoutNG"]
-  },
-  {
-    "prefix": "layout_ng",
     "base": "fast/block/float",
     "args": ["--enable-blink-features=LayoutNG"]
   },
diff --git a/third_party/WebKit/LayoutTests/css2.1/20110323/absolute-non-replaced-height-001.htm b/third_party/WebKit/LayoutTests/css2.1/20110323/absolute-non-replaced-height-001.htm
deleted file mode 100644
index cc42c8a..0000000
--- a/third_party/WebKit/LayoutTests/css2.1/20110323/absolute-non-replaced-height-001.htm
+++ /dev/null
@@ -1,38 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
-<html>
-    <head>
-        <title>CSS Test: Absolutely positioned, non-replaced elements, static position of fixed element</title>
-        <link rel="author" title="Microsoft" href="http://www.microsoft.com/">
-        <link rel="help" href="http://www.w3.org/TR/CSS21/visudet.html#abs-non-replaced-height">
-        <meta name="flags" content="">
-        <meta name="assert" content="The calculation of static position is based on initial containing block when there is a fixed positioned element.">
-        <style type="text/css">
-            html, body, p
-            {
-                margin: 0;
-                padding: 0;
-            }
-            #div1
-            {
-                border: solid black;
-                height: 2in;
-                position: absolute;
-                top: 1in;
-                width: 3in;
-            }
-            div div
-            {
-                background: blue;
-                height: 1in;
-                position: fixed;
-                width: 1in;
-            }
-        </style>
-    </head>
-    <body>
-        <p>Test passes the a filled blue square touches the upper-left corner of the black box.</p>
-        <div id="div1">
-            <div></div>
-        </div>
-    </body>
-</html>
\ No newline at end of file
diff --git a/third_party/WebKit/LayoutTests/css2.1/20110323/absolute-non-replaced-height-002.htm b/third_party/WebKit/LayoutTests/css2.1/20110323/absolute-non-replaced-height-002.htm
deleted file mode 100644
index dc8fa348..0000000
--- a/third_party/WebKit/LayoutTests/css2.1/20110323/absolute-non-replaced-height-002.htm
+++ /dev/null
@@ -1,38 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
-<html>
-    <head>
-        <title>CSS Test: Absolutely positioned, non-replaced elements, shrinks-to-fit height</title>
-        <link rel="author" title="Microsoft" href="http://www.microsoft.com/">
-        <link rel="help" href="http://www.w3.org/TR/CSS21/visudet.html#abs-non-replaced-height">
-        <meta name="flags" content="ahem">
-        <script src="../../resources/ahem.js"></script>
-        <meta name="assert" content="The used value for absolutely positioned elements shrinks-to-fit height.">
-        <style type="text/css">
-            #div1
-            {
-                border: solid black;
-                height: 2in;
-                position: relative;
-                width: 2in;
-            }
-            div div
-            {
-                background: red;
-                bottom: auto;
-                color: blue;
-                font: 1in/1em Ahem;
-                height: auto;
-                margin-bottom: auto;
-                margin-top: auto;
-                position: absolute;
-                top: auto;
-            }
-        </style>
-    </head>
-    <body>
-        <p>Test passes if the blue box below is in the upper-left corner of the black box and there is no red visible on the page.</p>
-        <div id="div1">
-            <div>X</div>
-        </div>
-    </body>
-</html>
\ No newline at end of file
diff --git a/third_party/WebKit/LayoutTests/css2.1/20110323/absolute-non-replaced-height-003.htm b/third_party/WebKit/LayoutTests/css2.1/20110323/absolute-non-replaced-height-003.htm
deleted file mode 100644
index c8cd32d..0000000
--- a/third_party/WebKit/LayoutTests/css2.1/20110323/absolute-non-replaced-height-003.htm
+++ /dev/null
@@ -1,36 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
-<html>
-    <head>
-        <title>CSS Test: Absolutely positioned, non-replaced elements, vertical centering</title>
-        <link rel="author" title="Microsoft" href="http://www.microsoft.com/">
-        <link rel="help" href="http://www.w3.org/TR/CSS21/visudet.html#abs-non-replaced-height">
-        <meta name="flags" content="">
-        <meta name="assert" content="An absolutely positioned non-replaced element's padding box (which is the area painted by background-color of the element) will be vertically centered within its containing block only if both 'margin-top' and 'margin-bottom' have equal values and if 'top' and 'bottom' have equal values. An absolutely positioned non-replaced element's margin box will be vertically centered within its containing block only if 'top' and 'bottom' have equal values.">
-        <style type="text/css">
-            #div1
-            {
-                border: solid black;
-                height: 3in;
-                position: relative;
-                width: 3in;
-            }
-            div div
-            {
-                background: blue;
-                bottom: 0.5in;
-                height: 1in;
-                margin-bottom: auto;
-                margin-top: auto;
-                position: absolute;
-                top: 0.5in;
-                width: 100%;
-            }
-        </style>
-    </head>
-    <body>
-        <p>Test passes if the blue box is vertically centered in the black box.</p>
-        <div id="div1">
-            <div></div>
-        </div>
-    </body>
-</html>
\ No newline at end of file
diff --git a/third_party/WebKit/LayoutTests/css2.1/20110323/absolute-non-replaced-height-004.htm b/third_party/WebKit/LayoutTests/css2.1/20110323/absolute-non-replaced-height-004.htm
deleted file mode 100644
index 78d17d3..0000000
--- a/third_party/WebKit/LayoutTests/css2.1/20110323/absolute-non-replaced-height-004.htm
+++ /dev/null
@@ -1,36 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
-<html>
-    <head>
-        <title>CSS Test: Absolutely positioned, non-replaced elements, 'margin-top' set to 'auto'</title>
-        <link rel="author" title="Microsoft" href="http://www.microsoft.com/">
-        <link rel="help" href="http://www.w3.org/TR/CSS21/visudet.html#abs-non-replaced-height">
-        <meta name="flags" content="">
-        <meta name="assert" content="When 'top', 'bottom', 'height' and 'margin-bottom' of an absolutely positioned, non-replaced element are all not 'auto' while its 'margin-top' is 'auto', then 'margin-top' becomes the remainder of the height of its containing block.">
-        <style type="text/css">
-            #div1
-            {
-                border: solid black;
-                height: 3in;
-                position: relative;
-                width: 3in;
-            }
-            div div
-            {
-                background: blue;
-                bottom: 0.5in;
-                height: 1in;
-                margin-top: auto;
-                margin-bottom: 0.5in;
-                position: absolute;
-                top: 0.5in;
-                width: 100%;
-            }
-        </style>
-    </head>
-    <body>
-        <p>Test passes if the blue box is vertically centered in the black box.</p>
-        <div id="div1">
-            <div></div>
-        </div>
-    </body>
-</html>
\ No newline at end of file
diff --git a/third_party/WebKit/LayoutTests/css2.1/20110323/absolute-non-replaced-height-005.htm b/third_party/WebKit/LayoutTests/css2.1/20110323/absolute-non-replaced-height-005.htm
deleted file mode 100644
index 5997aff8..0000000
--- a/third_party/WebKit/LayoutTests/css2.1/20110323/absolute-non-replaced-height-005.htm
+++ /dev/null
@@ -1,36 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
-<html>
-    <head>
-        <title>CSS Test: Absolutely positioned, non-replaced elements, 'margin-bottom' set to 'auto'</title>
-        <link rel="author" title="Microsoft" href="http://www.microsoft.com/">
-        <link rel="help" href="http://www.w3.org/TR/CSS21/visudet.html#abs-non-replaced-height">
-        <meta name="flags" content="">
-        <meta name="assert" content="When 'top', 'bottom' and 'height' are all are not 'auto', 'margin-top' is not 'auto' and 'margin-bottom' is 'auto'. Then 'margin-bottom' becomes the remainder of the height of the containing box.">
-        <style type="text/css">
-            #div1
-            {
-                border: solid black;
-                height: 3in;
-                position: relative;
-                width: 3in;
-            }
-            div div
-            {
-                background: blue;
-                bottom: 0.5in;
-                height: 1in;
-                margin-bottom: auto;
-                margin-top: 0.5in;
-                position: absolute;
-                top: 0.5in;
-                width: 100%;
-            }
-        </style>
-    </head>
-    <body>
-        <p>Test passes if the blue box is vertically centered in the black box.</p>
-        <div id="div1">
-            <div></div>
-        </div>
-    </body>
-</html>
\ No newline at end of file
diff --git a/third_party/WebKit/LayoutTests/css2.1/20110323/absolute-non-replaced-height-006.htm b/third_party/WebKit/LayoutTests/css2.1/20110323/absolute-non-replaced-height-006.htm
deleted file mode 100644
index d2fb110..0000000
--- a/third_party/WebKit/LayoutTests/css2.1/20110323/absolute-non-replaced-height-006.htm
+++ /dev/null
@@ -1,46 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
-<html>
-    <head>
-        <title>CSS Test: Absolutely positioned, non-replaced elements, over-constrained</title>
-        <link rel="author" title="Microsoft" href="http://www.microsoft.com/">
-        <link rel="help" href="http://www.w3.org/TR/CSS21/visudet.html#abs-non-replaced-height">
-        <meta name="flags" content="">
-        <meta name="assert" content="The 'bottom' value is ignored and the equation solves for the bottom value, when the values for 'top', 'bottom', 'height', 'margin-top', 'margin-bottom' add up to more than the containing blocks height.">
-        <style type="text/css">
-            #div1
-            {
-                border: 10px solid black;
-                height: 300px;
-                position: relative;
-                width: 300px;
-                overflow: auto;
-            }
-            div div
-            {
-                background: blue;
-                height: 150px;
-                margin-bottom: 50px;
-                margin-top: 50px;
-                position: absolute;
-                top: 50px;
-                width: 50%;
-            }
-            #div2
-            {
-                bottom: 50px;
-            }
-            #div3
-            {
-                bottom: 0;
-                left: 50%;
-            }
-        </style>
-    </head>
-    <body>
-        <p>Test passes if there is one blue box on the page.</p>
-        <div id="div1">
-            <div id="div2"></div>
-            <div id="div3"></div>
-        </div>
-    </body>
-</html>
\ No newline at end of file
diff --git a/third_party/WebKit/LayoutTests/css2.1/20110323/absolute-non-replaced-height-007.htm b/third_party/WebKit/LayoutTests/css2.1/20110323/absolute-non-replaced-height-007.htm
deleted file mode 100644
index 56e0e42a..0000000
--- a/third_party/WebKit/LayoutTests/css2.1/20110323/absolute-non-replaced-height-007.htm
+++ /dev/null
@@ -1,38 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
-<html>
-    <head>
-        <title>CSS Test: Absolutely positioned, non-replaced elements, shrink-to-fit solve for top</title>
-        <link rel="author" title="Microsoft" href="http://www.microsoft.com/">
-        <link rel="help" href="http://www.w3.org/TR/CSS21/visudet.html#abs-non-replaced-height">
-        <meta name="flags" content="ahem">
-        <script src="../../resources/ahem.js"></script>
-        <meta name="assert" content="Verify that height is based on the overall height of the content, 'margin-top', 'auto' is set to '0' and solve for 'top', when 'top' and 'height' are both 'auto' and 'bottom' is not 'auto'.">
-        <style type="text/css">
-            #div1
-            {
-                color: orange;
-                font: 1in/1em Ahem;
-                height: 4in;
-                position: relative;
-                width: 2in;
-            }
-            div div
-            {
-                background: blue;
-                bottom: 3in;
-                height: auto;
-                margin-bottom: auto;
-                margin-top: auto;
-                position: absolute;
-                top: auto;
-                width: 100%;
-            }
-        </style>
-    </head>
-    <body>
-        <p>Test passes if the orange and blue boxes below are the same height.</p>
-        <div id="div1">
-            <div>X</div>
-        </div>
-    </body>
-</html>
\ No newline at end of file
diff --git a/third_party/WebKit/LayoutTests/css2.1/20110323/absolute-non-replaced-height-008.htm b/third_party/WebKit/LayoutTests/css2.1/20110323/absolute-non-replaced-height-008.htm
deleted file mode 100644
index 1206391..0000000
--- a/third_party/WebKit/LayoutTests/css2.1/20110323/absolute-non-replaced-height-008.htm
+++ /dev/null
@@ -1,36 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
-<html>
-    <head>
-        <title>CSS Test: Absolutely positioned, non-replaced elements, 'top' set to static position</title>
-        <link rel="author" title="Microsoft" href="http://www.microsoft.com/">
-        <link rel="help" href="http://www.w3.org/TR/CSS21/visudet.html#abs-non-replaced-height">
-        <meta name="flags" content="">
-        <meta name="assert" content="When 'top' is set to the static position and any 'auto' values for top and bottom margin are set to '0', when 'top' and 'bottom' are 'auto' and 'height' is not 'auto'.">
-        <style type="text/css">
-            #div1
-            {
-                background: blue;
-                height: 3in;
-                position: relative;
-                width: 1in;
-            }
-            div div
-            {
-                background: orange;
-                bottom: auto;
-                height: 1in;
-                margin-bottom: auto;
-                margin-top: auto;
-                position: absolute;
-                top: auto;
-                width: 100%;
-            }
-        </style>
-    </head>
-    <body>
-        <p>Test passes if there are two boxes below, a blue box below an orange box.</p>
-        <div id="div1">
-            <div></div>
-        </div>
-    </body>
-</html>
\ No newline at end of file
diff --git a/third_party/WebKit/LayoutTests/css2.1/20110323/absolute-non-replaced-height-009.htm b/third_party/WebKit/LayoutTests/css2.1/20110323/absolute-non-replaced-height-009.htm
deleted file mode 100644
index 140f566..0000000
--- a/third_party/WebKit/LayoutTests/css2.1/20110323/absolute-non-replaced-height-009.htm
+++ /dev/null
@@ -1,36 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
-<html>
-    <head>
-        <title>CSS Test: Absolutely positioned, non-replaced elements, height is shrink-to-fit</title>
-        <link rel="author" title="Microsoft" href="http://www.microsoft.com/">
-        <link rel="help" href="http://www.w3.org/TR/CSS21/visudet.html#abs-non-replaced-height">
-        <meta name="flags" content="ahem">
-        <script src="../../resources/ahem.js"></script>
-        <meta name="assert" content="The 'height' is based on the content height, 'auto' values for 'margin-top' and 'margin-bottom' are set to '0' when 'height' and 'bottom' are 'auto' and 'top' is not 'auto'.">
-        <style type="text/css">
-            #div1
-            {
-                position: relative;
-            }
-            div div
-            {
-                background: blue;
-                bottom: auto;
-                color: orange;
-                font: 1in/1em Ahem;
-                height: auto;
-                margin-bottom: auto;
-                margin-top: auto;
-                position: absolute;
-                top: 0.25in;
-                width: 2in;
-            }
-        </style>
-    </head>
-    <body>
-        <p>Test passes if the orange and blue boxes below are the same height.</p>
-        <div id="div1">
-            <div>X</div>
-        </div>
-    </body>
-</html>
\ No newline at end of file
diff --git a/third_party/WebKit/LayoutTests/css2.1/20110323/absolute-non-replaced-height-010.htm b/third_party/WebKit/LayoutTests/css2.1/20110323/absolute-non-replaced-height-010.htm
deleted file mode 100644
index 27cf0317..0000000
--- a/third_party/WebKit/LayoutTests/css2.1/20110323/absolute-non-replaced-height-010.htm
+++ /dev/null
@@ -1,36 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
-<html>
-    <head>
-        <title>CSS Test: Absolutely positioned, non-replaced elements, 'margin-top' and 'margin-bottom' set to '0'</title>
-        <link rel="author" title="Microsoft" href="http://www.microsoft.com/">
-        <link rel="help" href="http://www.w3.org/TR/CSS21/visudet.html#abs-non-replaced-height">
-        <meta name="flags" content="">
-        <meta name="assert" content="The 'auto' values for 'margin-top' and 'margin-bottom' are set to '0', when 'top' is 'auto' and 'height' and 'bottom' are not 'auto'.">
-        <style type="text/css">
-            #div1
-            {
-                border: solid black;
-                height: 3in;
-                position: relative;
-                width: 3in;
-            }
-            div div
-            {
-                background: blue;
-                bottom: 1in;
-                height: 1in;
-                margin-bottom: auto;
-                margin-top: auto;
-                position: absolute;
-                top: auto;
-                width: 100%;
-            }
-        </style>
-    </head>
-    <body>
-        <p>Test passes if the blue box is vertically centered in the black box.</p>
-        <div id="div1">
-            <div></div>
-        </div>
-    </body>
-</html>
\ No newline at end of file
diff --git a/third_party/WebKit/LayoutTests/css2.1/20110323/absolute-non-replaced-height-011.htm b/third_party/WebKit/LayoutTests/css2.1/20110323/absolute-non-replaced-height-011.htm
deleted file mode 100644
index 4901c0c6..0000000
--- a/third_party/WebKit/LayoutTests/css2.1/20110323/absolute-non-replaced-height-011.htm
+++ /dev/null
@@ -1,36 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
-<html>
-    <head>
-        <title>CSS Test: Absolutely positioned, non-replaced elements, 'height' based on 'top' and 'bottom' positions</title>
-        <link rel="author" title="Microsoft" href="http://www.microsoft.com/">
-        <link rel="help" href="http://www.w3.org/TR/CSS21/visudet.html#abs-non-replaced-height">
-        <meta name="flags" content="">
-        <meta name="assert" content="The 'auto' values on 'margin-top', 'margin-bottom' are set to '0' and the 'height' is the remaining space between the 'top' and 'bottom' positions, when 'height' is 'auto' and 'top' and 'bottom' are both not 'auto'.">
-        <style type="text/css">
-            #div1
-            {
-                border: solid black;
-                height: 3in;
-                position: relative;
-                width: 3in;
-            }
-            div div
-            {
-                background: blue;
-                bottom: 1in;
-                height: auto;
-                margin-bottom: auto;
-                margin-top: auto;
-                position: absolute;
-                top: 1in;
-                width: 100%;
-            }
-        </style>
-    </head>
-    <body>
-        <p>Test passes if the blue box is vertically centered in the black box.</p>
-        <div id="div1">
-            <div></div>
-        </div>
-    </body>
-</html>
\ No newline at end of file
diff --git a/third_party/WebKit/LayoutTests/css2.1/20110323/absolute-non-replaced-height-012.htm b/third_party/WebKit/LayoutTests/css2.1/20110323/absolute-non-replaced-height-012.htm
deleted file mode 100644
index e8c31c8..0000000
--- a/third_party/WebKit/LayoutTests/css2.1/20110323/absolute-non-replaced-height-012.htm
+++ /dev/null
@@ -1,36 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
-<html>
-    <head>
-        <title>CSS Test: Absolutely positioned, non-replaced elements, solve for 'bottom'</title>
-        <link rel="author" title="Microsoft" href="http://www.microsoft.com/">
-        <link rel="help" href="http://www.w3.org/TR/CSS21/visudet.html#abs-non-replaced-height">
-        <meta name="flags" content="">
-        <meta name="assert" content="When 'margin-top' and 'margin-bottom' are set to '0' the 'bottom' value resolves to the remaining space within the containing block.">
-        <style type="text/css">
-            #div1
-            {
-                border: solid black;
-                height: 3in;
-                position: relative;
-                width: 3in;
-            }
-            div div
-            {
-                position: absolute;
-                top: 1in;
-                bottom: auto;
-                height: 1in;
-                margin-top: auto;
-                margin-bottom: auto;
-                background: blue;
-                width: 100%;
-            }
-        </style>
-    </head>
-    <body>
-        <p>Test passes if the blue box is vertically centered in the black box.</p>
-        <div id="div1">
-            <div></div>
-        </div>
-    </body>
-</html>
\ No newline at end of file
diff --git a/third_party/WebKit/LayoutTests/css2.1/20110323/absolute-non-replaced-max-height-001.htm b/third_party/WebKit/LayoutTests/css2.1/20110323/absolute-non-replaced-max-height-001.htm
deleted file mode 100644
index bdf2977..0000000
--- a/third_party/WebKit/LayoutTests/css2.1/20110323/absolute-non-replaced-max-height-001.htm
+++ /dev/null
@@ -1,38 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
-<html>
-    <head>
-        <title>CSS Test: Max-height on absolutely positioned, non-replaced elements, static position of fixed element</title>
-        <link rel="author" title="Microsoft" href="http://www.microsoft.com/">
-        <link rel="help" href="http://www.w3.org/TR/CSS21/visudet.html#abs-non-replaced-height">
-        <meta name="flags" content="">
-        <meta name="assert" content="The calculation of static position is based on initial containing block when there is a fixed positioned element.">
-        <style type="text/css">
-            html, body, p
-            {
-                margin: 0;
-                padding: 0;
-            }
-            #div1
-            {
-                border: solid black;
-                height: 2in;
-                position: absolute;
-                width: 2in;
-            }
-            div div
-            {
-                background: blue;
-                height: 1in;
-                max-height: 0.5in;
-                position: fixed;
-                width: 1in;
-            }
-        </style>
-    </head>
-    <body>
-        <p>Test passes the blue box is in the upper-left corner of the black box.</p>
-        <div id="div1">
-            <div></div>
-        </div>
-    </body>
-</html>
\ No newline at end of file
diff --git a/third_party/WebKit/LayoutTests/css2.1/20110323/absolute-non-replaced-max-height-002.htm b/third_party/WebKit/LayoutTests/css2.1/20110323/absolute-non-replaced-max-height-002.htm
deleted file mode 100644
index a422a6ba..0000000
--- a/third_party/WebKit/LayoutTests/css2.1/20110323/absolute-non-replaced-max-height-002.htm
+++ /dev/null
@@ -1,39 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
-<html>
-    <head>
-        <title>CSS Test: Max-height on absolutely positioned, non-replaced elements</title>
-        <link rel="author" title="Microsoft" href="http://www.microsoft.com/">
-        <link rel="help" href="http://www.w3.org/TR/CSS21/visudet.html#abs-non-replaced-height">
-        <meta name="flags" content="ahem">
-        <script src="../../resources/ahem.js"></script>
-        <meta name="assert" content="When 'top', 'height', and 'bottom' of an absolutely positioned element are 'auto', then set 'top' to the static position and make 'height' based on the content; such height may be constrained by a given 'max-height' value.">
-        <style type="text/css">
-            #div1
-            {
-                border: solid black;
-                height: 2in;
-                position: relative;
-                width: 2in;
-            }
-            div div
-            {
-                background: blue;
-                bottom: auto;
-                font: 1in/1em Ahem;
-                height: auto;
-                margin-bottom: auto;
-                margin-top: auto;
-                max-height: 0.5in;
-                position: absolute;
-                right: 0;
-                top: auto;
-            }
-        </style>
-    </head>
-    <body>
-        <p>Test passes if there is blue rectangle, and not a square, in the upper-right corner of the black box.</p>
-        <div id="div1">
-            <div>&nbsp;</div>
-        </div>
-    </body>
-</html>
\ No newline at end of file
diff --git a/third_party/WebKit/LayoutTests/css2.1/20110323/absolute-non-replaced-max-height-003.htm b/third_party/WebKit/LayoutTests/css2.1/20110323/absolute-non-replaced-max-height-003.htm
deleted file mode 100644
index 09eec5d..0000000
--- a/third_party/WebKit/LayoutTests/css2.1/20110323/absolute-non-replaced-max-height-003.htm
+++ /dev/null
@@ -1,37 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
-<html>
-    <head>
-        <title>CSS Test: Max-height on absolutely positioned, non-replaced elements, vertical centering</title>
-        <link rel="author" title="Microsoft" href="http://www.microsoft.com/">
-        <link rel="help" href="http://www.w3.org/TR/CSS21/visudet.html#abs-non-replaced-height">
-        <meta name="flags" content="">
-        <meta name="assert" content="An absolutely positioned non-replaced element's padding box (which is the area painted by background-color of the element) will be vertically centered within its containing block only if both 'margin-top' and 'margin-bottom' have equal values and if 'top' and 'bottom' have equal values. An absolutely positioned non-replaced element's margin box will be vertically centered within its containing block only if 'top' and 'bottom' have equal values.">
-        <style type="text/css">
-            #div1
-            {
-                border: solid black;
-                height: 3in;
-                position: relative;
-                width: 3in;
-            }
-            div div
-            {
-                background: blue;
-                bottom: 0.5in;
-                height: 1in;
-                margin-bottom: auto;
-                margin-top: auto;
-                max-height: 0.5in;
-                position: absolute;
-                top: 0.5in;
-                width: 100%;
-            }
-        </style>
-    </head>
-    <body>
-        <p>Test passes if the blue box is vertically centered in the black box.</p>
-        <div id="div1">
-            <div></div>
-        </div>
-    </body>
-</html>
\ No newline at end of file
diff --git a/third_party/WebKit/LayoutTests/css2.1/20110323/absolute-non-replaced-max-height-004.htm b/third_party/WebKit/LayoutTests/css2.1/20110323/absolute-non-replaced-max-height-004.htm
deleted file mode 100644
index 064eddaa..0000000
--- a/third_party/WebKit/LayoutTests/css2.1/20110323/absolute-non-replaced-max-height-004.htm
+++ /dev/null
@@ -1,37 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
-<html>
-    <head>
-        <title>CSS Test: Max-height on absolutely positioned, non-replaced elements, 'margin-top' set to 'auto'</title>
-        <link rel="author" title="Microsoft" href="http://www.microsoft.com/">
-        <link rel="help" href="http://www.w3.org/TR/CSS21/visudet.html#abs-non-replaced-height">
-        <meta name="flags" content="">
-        <meta name="assert" content="When 'top', 'bottom' and 'height' are all are not 'auto', 'margin-top' is 'auto' and 'margin-bottom' is not 'auto'. Then 'margin-top' becomes the remainder of the height of the containing box.">
-        <style type="text/css">
-            #div1
-            {
-                border: solid black;
-                height: 3in;
-                position: relative;
-                width: 3in;
-            }
-            div div
-            {
-                background: blue;
-                bottom: 0.5in;
-                height: 2in;
-                margin-bottom: 0.5in;
-                margin-top: auto;
-                max-height: 1in;
-                position: absolute;
-                top: 0.5in;
-                width: 100%;
-            }
-        </style>
-    </head>
-    <body>
-        <p>Test passes if the blue box is vertically centered in the black box.</p>
-        <div id="div1">
-            <div></div>
-        </div>
-    </body>
-</html>
\ No newline at end of file
diff --git a/third_party/WebKit/LayoutTests/css2.1/20110323/absolute-non-replaced-max-height-005.htm b/third_party/WebKit/LayoutTests/css2.1/20110323/absolute-non-replaced-max-height-005.htm
deleted file mode 100644
index 9c7a9505..0000000
--- a/third_party/WebKit/LayoutTests/css2.1/20110323/absolute-non-replaced-max-height-005.htm
+++ /dev/null
@@ -1,37 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
-<html>
-    <head>
-        <title>CSS Test: Max-height on absolutely positioned, non-replaced elements, 'margin-bottom' set to 'auto'</title>
-        <link rel="author" title="Microsoft" href="http://www.microsoft.com/">
-        <link rel="help" href="http://www.w3.org/TR/CSS21/visudet.html#abs-non-replaced-height">
-        <meta name="flags" content="">
-        <meta name="assert" content="When 'top', 'bottom' and 'height' are all are not 'auto', 'margin-top' is not 'auto' and 'margin-bottom' is 'auto'. Then 'margin-bottom' becomes the remainder of the height of the containing box.">
-        <style type="text/css">
-            #div1
-            {
-                border: solid black;
-                height: 3in;
-                position: relative;
-                width: 3in;
-            }
-            div div
-            {
-                background: blue;
-                bottom: 0.5in;
-                height: 2in;
-                margin-bottom: auto;
-                margin-top: 0.5in;
-                max-height: 1in;
-                position: absolute;
-                top: 0.5in;
-                width: 100%;
-            }
-        </style>
-    </head>
-    <body>
-        <p>Test passes if the blue box is vertically centered in the black box.</p>
-        <div id="div1">
-            <div></div>
-        </div>
-    </body>
-</html>
\ No newline at end of file
diff --git a/third_party/WebKit/LayoutTests/css2.1/20110323/absolute-non-replaced-max-height-006.htm b/third_party/WebKit/LayoutTests/css2.1/20110323/absolute-non-replaced-max-height-006.htm
deleted file mode 100644
index 9c22c95..0000000
--- a/third_party/WebKit/LayoutTests/css2.1/20110323/absolute-non-replaced-max-height-006.htm
+++ /dev/null
@@ -1,37 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
-<html>
-    <head>
-        <title>CSS Test: Max-height on absolutely positioned, non-replaced elements, over-constrained</title>
-        <link rel="author" title="Microsoft" href="http://www.microsoft.com/">
-        <link rel="help" href="http://www.w3.org/TR/CSS21/visudet.html#abs-non-replaced-height">
-        <meta name="flags" content="">
-        <meta name="assert" content="The 'bottom' value is ignored and the equation solves for the bottom value, when the values for 'top', 'bottom', 'height', 'margin-top', 'margin-bottom' add up to more than the containing blocks height.">
-        <style type="text/css">
-            #div1
-            {
-                border: solid black;
-                height: 3in;
-                position: relative;
-                width: 3in;
-            }
-            div div
-            {
-                background: blue;
-                bottom: 0.5in;
-                height: 2in;
-                margin-bottom: 0.5in;
-                margin-top: 0.5in;
-                max-height: 1in;
-                position: absolute;
-                top: 0.5in;
-                width: 100%;
-            }
-        </style>
-    </head>
-    <body>
-        <p>Test passes if the blue box is vertically centered in the black box.</p>
-        <div id="div1">
-            <div></div>
-        </div>
-    </body>
-</html>
\ No newline at end of file
diff --git a/third_party/WebKit/LayoutTests/css2.1/20110323/absolute-non-replaced-max-height-007.htm b/third_party/WebKit/LayoutTests/css2.1/20110323/absolute-non-replaced-max-height-007.htm
deleted file mode 100644
index d83b899..0000000
--- a/third_party/WebKit/LayoutTests/css2.1/20110323/absolute-non-replaced-max-height-007.htm
+++ /dev/null
@@ -1,47 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
-<html>
-    <head>
-        <title>CSS Test: Max-height on absolutely positioned, non-replaced elements, shrink-to-fit solve for top</title>
-        <link rel="author" title="Microsoft" href="http://www.microsoft.com/">
-        <link rel="help" href="http://www.w3.org/TR/CSS21/visudet.html#abs-non-replaced-height">
-        <meta name="flags" content="ahem">
-        <script src="../../resources/ahem.js"></script>
-        <meta name="assert" content="The height is based on the overall height of the content, 'margin-top', 'auto' is set to '0' and solve for 'top', when 'top' and 'height' are both 'auto' and 'bottom' is not 'auto'.">
-        <style type="text/css">
-            #div1
-            {
-                font: 1in/1em Ahem;
-                height: 4in;
-                position: relative;
-                width: 1in;
-            }
-            #div2
-            {
-                background: orange;
-                height: 0.5in;
-                position: relative;
-                top: 0.5in;
-                width: 1in;
-            }
-            #div3
-            {
-                background: blue;
-                bottom: 3in;
-                height: auto;
-                margin-bottom: auto;
-                margin-top: auto;
-                max-height: 0.5in;
-                position: absolute;
-                top: auto;
-                width: 0.5in;
-            }
-        </style>
-    </head>
-    <body>
-        <p>Test passes if the blue and orange boxes below are the same height.</p>
-        <div id="div1">
-            <div id="div2"></div>
-            <div id="div3">&nbsp;</div>
-        </div>
-    </body>
-</html>
\ No newline at end of file
diff --git a/third_party/WebKit/LayoutTests/css2.1/20110323/absolute-non-replaced-max-height-008.htm b/third_party/WebKit/LayoutTests/css2.1/20110323/absolute-non-replaced-max-height-008.htm
deleted file mode 100644
index a61dfdc..0000000
--- a/third_party/WebKit/LayoutTests/css2.1/20110323/absolute-non-replaced-max-height-008.htm
+++ /dev/null
@@ -1,37 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
-<html>
-    <head>
-        <title>CSS Test: Max-height on absolutely positioned, non-replaced elements, 'top' set to static position</title>
-        <link rel="author" title="Microsoft" href="http://www.microsoft.com/">
-        <link rel="help" href="http://www.w3.org/TR/CSS21/visudet.html#abs-non-replaced-height">
-        <meta name="flags" content="">
-        <meta name="assert" content="When 'top' is set to the static position and any 'auto' values for top and bottom margin are set to '0', when 'top' and 'bottom' are 'auto' and 'height' is not 'auto'.">
-        <style type="text/css">
-            #div1
-            {
-                background: blue;
-                height: 3in;
-                position: relative;
-                width: 1in;
-            }
-            div div
-            {
-                background: orange;
-                bottom: auto;
-                height: 1in;
-                margin-bottom: auto;
-                margin-top: auto;
-                max-height: 0.5in;
-                position: absolute;
-                top: auto;
-                width: 100%;
-            }
-        </style>
-    </head>
-    <body>
-        <p>Test passes if there are two boxes below, a blue box below an orange box.</p>
-        <div id="div1">
-            <div></div>
-        </div>
-    </body>
-</html>
\ No newline at end of file
diff --git a/third_party/WebKit/LayoutTests/css2.1/20110323/absolute-non-replaced-max-height-009.htm b/third_party/WebKit/LayoutTests/css2.1/20110323/absolute-non-replaced-max-height-009.htm
deleted file mode 100644
index 66aa2e1..0000000
--- a/third_party/WebKit/LayoutTests/css2.1/20110323/absolute-non-replaced-max-height-009.htm
+++ /dev/null
@@ -1,46 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
-<html>
-    <head>
-        <title>CSS Test: Max-height on absolutely positioned, non-replaced elements, height is shrink-to-fit</title>
-        <link rel="author" title="Microsoft" href="http://www.microsoft.com/">
-        <link rel="help" href="http://www.w3.org/TR/CSS21/visudet.html#abs-non-replaced-height">
-        <meta name="flags" content="ahem">
-        <script src="../../resources/ahem.js"></script>
-        <meta name="assert" content="The 'height' is based on the content height, 'auto' values for 'margin-top' and 'margin-bottom' are set to '0' when 'height' and 'bottom' are 'auto' and 'top' is not 'auto'.">
-        <style type="text/css">
-            #div1
-            {
-                position: relative;
-            }
-            #div2
-            {
-                background: blue;
-                height: 0.5in;
-                left: 1in;
-                position: absolute;
-                top: 0.25in;
-                width: 1in;
-            }
-            #div3
-            {
-                background: orange;
-                bottom: auto;
-                font: 1in/1em Ahem;
-                height: auto;
-                margin-bottom: auto;
-                margin-top: auto;
-                max-height: 0.5in;
-                position: absolute;
-                top: 0.25in;
-                width: 1in;
-            }
-        </style>
-    </head>
-    <body>
-        <p>Test passes if the orange and blue boxes below are the same height.</p>
-        <div id="div1">
-            <div id="div2"></div>
-            <div id="div3">&nbsp;</div>
-        </div>
-    </body>
-</html>
\ No newline at end of file
diff --git a/third_party/WebKit/LayoutTests/css2.1/20110323/absolute-non-replaced-max-height-010.htm b/third_party/WebKit/LayoutTests/css2.1/20110323/absolute-non-replaced-max-height-010.htm
deleted file mode 100644
index 986e4da..0000000
--- a/third_party/WebKit/LayoutTests/css2.1/20110323/absolute-non-replaced-max-height-010.htm
+++ /dev/null
@@ -1,37 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
-<html>
-    <head>
-        <title>CSS Test: Max-height on absolutely positioned, non-replaced elements, 'margin-top' and 'margin-bottom' set to '0'</title>
-        <link rel="author" title="Microsoft" href="http://www.microsoft.com/">
-        <link rel="help" href="http://www.w3.org/TR/CSS21/visudet.html#abs-non-replaced-height">
-        <meta name="flags" content="">
-        <meta name="assert" content="The 'auto' values for 'margin-top' and 'margin-bottom' are set to '0', when 'top', 'height' and 'bottom' are all not auto.">
-        <style type="text/css">
-            #div1
-            {
-                border: solid black;
-                height: 3in;
-                position: relative;
-                width: 3in;
-            }
-            div div
-            {
-                background: blue;
-                bottom: 1in;
-                height: 2in;
-                margin-bottom: auto;
-                margin-top: auto;
-                max-height: 1in;
-                position: absolute;
-                top: auto;
-                width: 100%;
-            }
-        </style>
-    </head>
-    <body>
-        <p>Test passes if the blue box is vertically centered in the black box.</p>
-        <div id="div1">
-            <div></div>
-        </div>
-    </body>
-</html>
\ No newline at end of file
diff --git a/third_party/WebKit/LayoutTests/css2.1/20110323/absolute-non-replaced-max-height-011.htm b/third_party/WebKit/LayoutTests/css2.1/20110323/absolute-non-replaced-max-height-011.htm
deleted file mode 100644
index c8a10667..0000000
--- a/third_party/WebKit/LayoutTests/css2.1/20110323/absolute-non-replaced-max-height-011.htm
+++ /dev/null
@@ -1,37 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
-<html>
-    <head>
-        <title>CSS Test: Max-height on absolutely positioned, non-replaced elements, 'height' based on 'top' and 'bottom' positions</title>
-        <link rel="author" title="Microsoft" href="http://www.microsoft.com/">
-        <link rel="help" href="http://www.w3.org/TR/CSS21/visudet.html#abs-non-replaced-height">
-        <meta name="flags" content="">
-        <meta name="assert" content="The 'auto' values on 'margin-top', 'margin-bottom' are set to '0' and the 'height' is the remaining space between the 'top' and 'bottom' positions, when 'height' is 'auto' and 'top' and 'bottom' are both not 'auto'.">
-        <style type="text/css">
-            #div1
-            {
-                border: solid black;
-                height: 3in;
-                position: relative;
-                width: 3in;
-            }
-            div div
-            {
-                background: blue;
-                bottom: 1in;
-                height: auto;
-                margin-bottom: auto;
-                margin-top: auto;
-                max-height: 0.5in;
-                position: absolute;
-                top: 1in;
-                width: 100%;
-            }
-        </style>
-    </head>
-    <body>
-        <p>Test passes if the blue box is vertically centered in the black box.</p>
-        <div id="div1">
-            <div></div>
-        </div>
-    </body>
-</html>
\ No newline at end of file
diff --git a/third_party/WebKit/LayoutTests/css2.1/20110323/absolute-non-replaced-max-height-012.htm b/third_party/WebKit/LayoutTests/css2.1/20110323/absolute-non-replaced-max-height-012.htm
deleted file mode 100644
index 7834a82..0000000
--- a/third_party/WebKit/LayoutTests/css2.1/20110323/absolute-non-replaced-max-height-012.htm
+++ /dev/null
@@ -1,37 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
-<html>
-    <head>
-        <title>CSS Test: Max-height on absolutely positioned, non-replaced elements, solve for 'bottom'</title>
-        <link rel="author" title="Microsoft" href="http://www.microsoft.com/">
-        <link rel="help" href="http://www.w3.org/TR/CSS21/visudet.html#abs-non-replaced-height">
-        <meta name="flags" content="">
-        <meta name="assert" content="When 'margin-top' and 'margin-bottom' are set to '0' the 'bottom' value resolves to the remaining space within the containing block.">
-        <style type="text/css">
-            #div1
-            {
-                border: solid black;
-                height: 3in;
-                position: relative;
-                width: 3in;
-            }
-            div div
-            {
-                background: blue;
-                bottom: auto;
-                height: 2in;
-                margin-top: auto;
-                margin-bottom: auto;
-                max-height: 1in;
-                position: absolute;
-                top: 1in;
-                width: 100%;
-            }
-        </style>
-    </head>
-    <body>
-        <p>Test passes if the blue box is vertically centered in the black box.</p>
-        <div id="div1">
-            <div></div>
-        </div>
-    </body>
-</html>
\ No newline at end of file
diff --git a/third_party/WebKit/LayoutTests/css2.1/20110323/absolute-non-replaced-width-001.htm b/third_party/WebKit/LayoutTests/css2.1/20110323/absolute-non-replaced-width-001.htm
deleted file mode 100644
index ff9bcf0a..0000000
--- a/third_party/WebKit/LayoutTests/css2.1/20110323/absolute-non-replaced-width-001.htm
+++ /dev/null
@@ -1,37 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
-<html>
-    <head>
-        <title>CSS Test: Solving for 'right' on absolutely positioned non-replaced elements</title>
-        <link rel="author" title="Microsoft" href="http://www.microsoft.com/">
-        <link rel="help" href="http://www.w3.org/TR/CSS21/visudet.html#abs-non-replaced-width">
-        <meta name="flags" content="ahem">
-        <script src="../../resources/ahem.js"></script>
-        <meta name="assert" content="When direction is left-to-right and 'left', 'width' and 'right' are 'auto', the width becomes shrink-to-fit and then solve for 'right'.">
-        <style type="text/css">
-            #div1
-            {
-                border: solid black;
-                direction: ltr;
-                height: 2in;
-                position: relative;
-                width: 2in;
-            }
-            div div
-            {
-                background: red;
-                color: blue;
-                font: 1in/1em Ahem;
-                left: auto;
-                position: absolute;
-                right: auto;
-                width: auto;
-            }
-        </style>
-    </head>
-    <body>
-        <p>Test passes if the blue box is in the upper-left corner of the black box and there is no red visible on the page.</p>
-        <div id="div1">
-            <div>X</div>
-        </div>
-    </body>
-</html>
\ No newline at end of file
diff --git a/third_party/WebKit/LayoutTests/css2.1/20110323/absolute-non-replaced-width-002.htm b/third_party/WebKit/LayoutTests/css2.1/20110323/absolute-non-replaced-width-002.htm
deleted file mode 100644
index 51bfe52..0000000
--- a/third_party/WebKit/LayoutTests/css2.1/20110323/absolute-non-replaced-width-002.htm
+++ /dev/null
@@ -1,37 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
-<html>
-    <head>
-        <title>CSS Test: Solving for 'left' on absolutely positioned non-replaced elements</title>
-        <link rel="author" title="Microsoft" href="http://www.microsoft.com/">
-        <link rel="help" href="http://www.w3.org/TR/CSS21/visudet.html#abs-non-replaced-width">
-        <meta name="flags" content="ahem">
-        <script src="../../resources/ahem.js"></script>
-        <meta name="assert" content="When direction is right-to-left and 'left', 'width' and 'right' are 'auto', the width becomes shrink-to-fit and then solve for 'left'.">
-        <style type="text/css">
-            #div1
-            {
-                border: solid black;
-                direction: rtl;
-                height: 2in;
-                position: relative;
-                width: 2in;
-            }
-            div div
-            {
-                background: red;
-                color: blue;
-                font: 1in/1em Ahem;
-                left: auto;
-                position: absolute;
-                right: auto;
-                width: auto;
-            }
-        </style>
-    </head>
-    <body>
-        <p>Test passes if the blue box is in the upper-right corner of the black box and there is no red visible on the page.</p>
-        <div id="div1">
-            <div>X</div>
-        </div>
-    </body>
-</html>
\ No newline at end of file
diff --git a/third_party/WebKit/LayoutTests/css2.1/20110323/absolute-non-replaced-width-003.htm b/third_party/WebKit/LayoutTests/css2.1/20110323/absolute-non-replaced-width-003.htm
deleted file mode 100644
index ccb1a9e2..0000000
--- a/third_party/WebKit/LayoutTests/css2.1/20110323/absolute-non-replaced-width-003.htm
+++ /dev/null
@@ -1,40 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
-<html>
-    <head>
-        <title>CSS Test: Absolutely positioned non-replaced elements with 'margin-left' and 'margin-right' set to 'auto'</title>
-        <link rel="author" title="Microsoft" href="http://www.microsoft.com/">
-        <link rel="help" href="http://www.w3.org/TR/CSS21/visudet.html#abs-non-replaced-width">
-        <meta name="flags" content="ahem">
-        <script src="../../resources/ahem.js"></script>
-        <meta name="assert" content="When 'left', 'width' and 'right' are not 'auto', set 'margin-left' and 'margin-right' to equal values.">
-        <style type="text/css">
-            #containingblock
-            {
-                border: solid black;
-                height: 2in;
-                position: relative;
-                width: 4in;
-            }
-            div div
-            {
-                /* left + margin-left + border-left-width + padding-left + width + padding-right + border-right-width + margin-right + right = width of containing block */
-                /* 1in + solve       + 0                 + 0            + 1in   + 0             + 0                  + solve        + -2in   = 4in */
-                background: red;
-                color: blue;
-                font: 1in/1em Ahem;
-                left: 1in;
-                margin-left: auto; /* value is solved to 2in */
-                margin-right: auto; /* value is solved to 2in */
-                position: absolute;
-                right: -2in;
-                width: 1in;
-            }
-        </style>
-    </head>
-    <body>
-        <p>Test passes if the blue square in in the upper-right corner of the black rectangle and there is no red visible on the page.</p>
-        <div id="containingblock">
-            <div>X</div>
-        </div>
-    </body>
-</html>
\ No newline at end of file
diff --git a/third_party/WebKit/LayoutTests/css2.1/20110323/absolute-non-replaced-width-004.htm b/third_party/WebKit/LayoutTests/css2.1/20110323/absolute-non-replaced-width-004.htm
deleted file mode 100644
index a9c346aa..0000000
--- a/third_party/WebKit/LayoutTests/css2.1/20110323/absolute-non-replaced-width-004.htm
+++ /dev/null
@@ -1,58 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
-<html>
-    <head>
-        <title>CSS Test: Absolutely positioned non-replaced elements when both 'margin-left' and 'margin-right' are set to 'auto' and direction is left-to-right</title>
-        <link rel="author" title="Microsoft" href="http://www.microsoft.com/">
-        <link rel="help" href="http://www.w3.org/TR/CSS21/visudet.html#abs-non-replaced-width">
-        <meta name="flags" content="ahem">
-        <script src="../../resources/ahem.js"></script>
-        <meta name="assert" content="When direction is 'ltr' and 'left', 'width' and 'right' are not 'auto', solve for 'margin-right' and 'margin-left' to equal values. If this would make 'margin-left' and 'margin-right' negative, then set 'margin-left' to zero and solve for 'margin-right'.">
-        <style type="text/css">
-            #div1
-            {
-                border: solid black;
-                direction: ltr;
-                height: 2in;
-                position: relative;
-                width: 2in;
-            }
-            div div
-            {
-                background: red;
-                color: blue;
-                font: 1in/1em Ahem;
-                left: 1in;
-                margin-left: auto;
-                margin-right: auto;
-                position: absolute;
-                right: 1in;
-                width: 1in;
-            }
-            /*
-                left                    :   1in
-              + margin-left             :   solve (auto)
-              + border-left-width       :   0
-              + padding-left            :   0
-              + width                   :   1in
-              + padding-right           :   0
-              + border-right-width      :   0
-              + margin-right            :   solve (auto)
-              + right                   :   1in
-              ====================================
-              width of containing block :   2in
-
-            So, margin-left and margin-right would be each -0.5in at this point.
-
-            "...unless this would make them (the two margins) negative in which case when direction of the containing block is 'ltr' ('rtl'), set 'margin-left' ('margin-right') to zero and solve for 'margin-right' ('margin-left')."
-
-            So, under such extra constraint, 'margin-left' must become 0 and 'margin-right' must become -1in.
-            */
-        </style>
-    </head>
-    <body>
-        <p>Test passes if the blue box fills the upper-right corner of the black box and there is no red visible on the page.</p>
-        <div id="div1">
-            <div>X</div>
-        </div>
-    </body>
-</html>
\ No newline at end of file
diff --git a/third_party/WebKit/LayoutTests/css2.1/20110323/absolute-non-replaced-width-005.htm b/third_party/WebKit/LayoutTests/css2.1/20110323/absolute-non-replaced-width-005.htm
deleted file mode 100644
index b88a3a60..0000000
--- a/third_party/WebKit/LayoutTests/css2.1/20110323/absolute-non-replaced-width-005.htm
+++ /dev/null
@@ -1,58 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
-<html>
-    <head>
-        <title>CSS Test: Absolutely positioned non-replaced elements when both 'margin-left' and 'margin-right' are set to 'auto' and direction is right-to-left</title>
-        <link rel="author" title="Microsoft" href="http://www.microsoft.com/">
-        <link rel="help" href="http://www.w3.org/TR/CSS21/visudet.html#abs-non-replaced-width">
-        <meta name="flags" content="ahem">
-        <script src="../../resources/ahem.js"></script>
-        <meta name="assert" content="When direction is 'rtl' and 'left', 'width' and 'right' are not 'auto', solve for 'margin-right' and 'margin-left' to equal values. If this would make 'margin-left' and 'margin-right' negative, then set 'margin-right' to zero and solve for 'margin-left'.">
-        <style type="text/css">
-            #div1
-            {
-                border: solid black;
-                direction: rtl;
-                height: 2in;
-                position: relative;
-                width: 2in;
-            }
-            div div
-            {
-                background: red;
-                color: blue;
-                font: 1in/1em Ahem;
-                left: 1in;
-                margin-left: auto;
-                margin-right: auto;
-                position: absolute;
-                right: 1in;
-                width: 1in;
-            }
-            /*
-                left                    :   1in
-              + margin-left             :   solve (auto)
-              + border-left-width       :   0
-              + padding-left            :   0
-              + width                   :   1in
-              + padding-right           :   0
-              + border-right-width      :   0
-              + margin-right            :   solve (auto)
-              + right                   :   1in
-              ====================================
-              width of containing block :   2in
-
-            So, margin-left and margin-right would be each -0.5in at this point. 
-
-            "...unless this would make them (the two margins) negative in which case when direction of the containing block is 'ltr' ('rtl'), set 'margin-left' ('margin-right') to zero and solve for 'margin-right' ('margin-left')."
-
-            So, under such extra constraint, 'margin-right' must become 0 and 'margin-left' must become -1in.
-            */
-        </style>
-    </head>
-    <body>
-        <p>Test passes if the blue box fills the upper-left corner of the black box and there is no red visible on the page.</p>
-        <div id="div1">
-            <div>X</div>
-        </div>
-    </body>
-</html>
\ No newline at end of file
diff --git a/third_party/WebKit/LayoutTests/css2.1/20110323/absolute-non-replaced-width-006.htm b/third_party/WebKit/LayoutTests/css2.1/20110323/absolute-non-replaced-width-006.htm
deleted file mode 100644
index 2aa9d559..0000000
--- a/third_party/WebKit/LayoutTests/css2.1/20110323/absolute-non-replaced-width-006.htm
+++ /dev/null
@@ -1,39 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
-<html>
-    <head>
-        <title>CSS Test: Absolutely positioned non-replaced element when only 'margin-right' is 'auto' and direction is left-to-right</title>
-        <link rel="author" title="Microsoft" href="http://www.microsoft.com/">
-        <link rel="help" href="http://www.w3.org/TR/CSS21/visudet.html#abs-non-replaced-width">
-        <meta name="flags" content="ahem">
-        <script src="../../resources/ahem.js"></script>
-        <meta name="assert" content="When direction is left-to-right and 'left', 'width', 'margin-left' and 'right' are not 'auto', solve for 'margin-right'.">
-        <style type="text/css">
-            #div1
-            {
-                border: solid black;
-                direction: ltr;
-                height: 2in;
-                position: relative;
-                width: 2in;
-            }
-            div div
-            {
-                background: red;
-                color: blue;
-                font: 1in/1em Ahem;
-                left: 0.5in;
-                margin-left: 0.5in;
-                margin-right: auto;
-                position: absolute;
-                right: 1in;
-                width: 1in;
-            }
-        </style>
-    </head>
-    <body>
-        <p>Test passes if the blue box is in the upper-right corner of the black box and there is no red visible on the page.</p>
-        <div id="div1">
-            <div>X</div>
-        </div>
-    </body>
-</html>
\ No newline at end of file
diff --git a/third_party/WebKit/LayoutTests/css2.1/20110323/absolute-non-replaced-width-007.htm b/third_party/WebKit/LayoutTests/css2.1/20110323/absolute-non-replaced-width-007.htm
deleted file mode 100644
index 9b90b941..0000000
--- a/third_party/WebKit/LayoutTests/css2.1/20110323/absolute-non-replaced-width-007.htm
+++ /dev/null
@@ -1,39 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
-<html>
-    <head>
-        <title>CSS Test: Absolutely positioned non-replaced element when only 'margin-left' is 'auto' and direction is right-to-left</title>
-        <link rel="author" title="Microsoft" href="http://www.microsoft.com/">
-        <link rel="help" href="http://www.w3.org/TR/CSS21/visudet.html#abs-non-replaced-width">
-        <meta name="flags" content="ahem">
-        <script src="../../resources/ahem.js"></script>
-        <meta name="assert" content="When direction is right-to-left and 'left', 'width', 'margin-right' and 'right' are not 'auto', solve for 'margin-left'.">
-        <style type="text/css">
-            #div1
-            {
-                border: solid black;
-                direction: rtl;
-                height: 2in;
-                position: relative;
-                width: 2in;
-            }
-            div div
-            {
-                background: red;
-                color: blue;
-                font: 1in/1em Ahem;
-                left: 1in;
-                margin-left: auto;
-                margin-right: 0.5in;
-                position: absolute;
-                right: 0.5in;
-                width: 1in;
-            }
-        </style>
-    </head>
-    <body>
-        <p>Test passes if the blue box is in the upper-left corner of the black box and there is no red visible on the page.</p>
-        <div id="div1">
-            <div>X</div>
-        </div>
-    </body>
-</html>
\ No newline at end of file
diff --git a/third_party/WebKit/LayoutTests/css2.1/20110323/absolute-non-replaced-width-008.htm b/third_party/WebKit/LayoutTests/css2.1/20110323/absolute-non-replaced-width-008.htm
deleted file mode 100644
index 8d0427a..0000000
--- a/third_party/WebKit/LayoutTests/css2.1/20110323/absolute-non-replaced-width-008.htm
+++ /dev/null
@@ -1,41 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
-<html>
-    <head>
-        <title>CSS Test: Absolutely positioned non-replaced elements with left, width, right and margin-right not auto</title>
-        <link rel="author" title="Microsoft" href="http://www.microsoft.com/">
-        <link rel="help" href="http://www.w3.org/TR/CSS21/visudet.html#abs-non-replaced-width">
-        <meta name="flags" content="ahem">
-        <script src="../../resources/ahem.js"></script>
-        <meta name="assert" content="If 'left', 'width', 'right' and 'margin-right' are all not 'auto' and 'margin-left' is 'auto', then solve the equation for 'margin-left'.">
-        <style type="text/css">
-            #containingblock
-            {
-                border: solid black;
-                direction: ltr;
-                height: 2in;
-                position: relative;
-                width: 3in;
-            }
-            div div
-            {
-                /* left + margin-left + border-left-width + padding-left + width + padding-right + border-right-width + margin-right + right = width of containing block */
-                /* 1in  + solve       + 0                 + 0            + 1in   + 0             + 0                  + 1in          + 1in = 3in */
-                background: red;
-                color: blue;
-                font: 1in/1em Ahem;
-                left: 1in;
-                margin-left: auto; /* value is solved to -1 */
-                margin-right: 1in;
-                position: absolute;
-                right: 1in;
-                width: 1in;
-            }
-        </style>
-    </head>
-    <body>
-        <p>Test passes if the blue square is in the upper-left corner of the black rectangle and there is no red visible on the page.</p>
-        <div id="containingblock">
-            <div>X</div>
-        </div>
-    </body>
-</html>
\ No newline at end of file
diff --git a/third_party/WebKit/LayoutTests/css2.1/20110323/absolute-non-replaced-width-009.htm b/third_party/WebKit/LayoutTests/css2.1/20110323/absolute-non-replaced-width-009.htm
deleted file mode 100644
index 5f8c4e90..0000000
--- a/third_party/WebKit/LayoutTests/css2.1/20110323/absolute-non-replaced-width-009.htm
+++ /dev/null
@@ -1,41 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
-<html>
-    <head>
-        <title>CSS Test: Absolutely positioned non-replaced elements with left, width, right and margin-left not auto</title>
-        <link rel="author" title="Microsoft" href="http://www.microsoft.com/">
-        <link rel="help" href="http://www.w3.org/TR/CSS21/visudet.html#abs-non-replaced-width">
-        <meta name="flags" content="ahem">
-        <script src="../../resources/ahem.js"></script>
-        <meta name="assert" content="If 'left', 'width', 'right' and 'margin-left' are all not 'auto' and 'margin-right' is 'auto', then solve the equation for 'margin-right'.">
-        <style type="text/css">
-            #containingblock
-            {
-                border: solid black;
-                direction: rtl;
-                height: 2in;
-                position: relative;
-                width: 3in;
-            }
-            div div
-            {
-                /* left + margin-left + border-left-width + padding-left + width + padding-right + border-right-width + margin-right + right = width of containing block */
-                /* 1in  + 1in         + 0                 + 0            + 1in   + 0             + 0                  + solve        + 1in = 3in */
-                background: red;
-                color: blue;
-                font: 1in/1em Ahem;
-                left: 1in;
-                margin-left: 1in;
-                margin-right: auto; /* value is solved to -1 */
-                position: absolute;
-                right: 1in;
-                width: 1in;
-            }
-        </style>
-    </head>
-    <body>
-        <p>Test passes if the blue square is in the upper-right corner of the black rectangle and there is no red visible on the page.</p>
-        <div id="containingblock">
-            <div>X</div>
-        </div>
-    </body>
-</html>
\ No newline at end of file
diff --git a/third_party/WebKit/LayoutTests/css2.1/20110323/absolute-non-replaced-width-010.htm b/third_party/WebKit/LayoutTests/css2.1/20110323/absolute-non-replaced-width-010.htm
deleted file mode 100644
index d99c7d8..0000000
--- a/third_party/WebKit/LayoutTests/css2.1/20110323/absolute-non-replaced-width-010.htm
+++ /dev/null
@@ -1,38 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
-<html>
-    <head>
-        <title>CSS Test: Solved for 'left' when absolutely positioned non-replaced elements has 'left' and 'width' as 'auto'</title>
-        <link rel="author" title="Microsoft" href="http://www.microsoft.com/">
-        <link rel="help" href="http://www.w3.org/TR/CSS21/visudet.html#abs-non-replaced-width">
-        <meta name="flags" content="ahem">
-        <script src="../../resources/ahem.js"></script>
-        <meta name="assert" content="When 'left' and 'width' are 'auto' and 'right' is not 'auto', then the width is shrink-to-fit and then solve for 'left'.">
-        <style type="text/css">
-            #div1
-            {
-                border: solid black;
-                height: 2in;
-                position: relative;
-                width: 2in;
-            }
-            div div
-            {
-                background: red;
-                color: blue;
-                font: 1in/1em Ahem;
-                left: auto;
-                margin-left: auto;
-                margin-right: auto;
-                position: absolute;
-                right: 1in;
-                width: auto;
-            }
-        </style>
-    </head>
-    <body>
-        <p>Test passes if the blue box is in the upper-left corner of the black box and there is no red visible on the page.</p>
-        <div id="div1">
-            <div>X</div>
-        </div>
-    </body>
-</html>
\ No newline at end of file
diff --git a/third_party/WebKit/LayoutTests/css2.1/20110323/absolute-non-replaced-width-011.htm b/third_party/WebKit/LayoutTests/css2.1/20110323/absolute-non-replaced-width-011.htm
deleted file mode 100644
index fe3fea6..0000000
--- a/third_party/WebKit/LayoutTests/css2.1/20110323/absolute-non-replaced-width-011.htm
+++ /dev/null
@@ -1,39 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
-<html>
-    <head>
-        <title>CSS Test: Absolutely positioned non-replaced elements when 'left' and 'right' are 'auto', 'width' is not 'auto' and 'direction' is left-to-right</title>
-        <link rel="author" title="Microsoft" href="http://www.microsoft.com/">
-        <link rel="help" href="http://www.w3.org/TR/CSS21/visudet.html#abs-non-replaced-width">
-        <meta name="flags" content="ahem">
-        <script src="../../resources/ahem.js"></script>
-        <meta name="assert" content="When 'direction' is left-to-right and 'left' and 'right' are 'auto' and 'width' is not 'auto', solve for 'right'.">
-        <style type="text/css">
-            #div1
-            {
-                border: solid black;
-                direction: ltr;
-                height: 2in;
-                position: relative;
-                width: 2in;
-            }
-            div div
-            {
-                background: red;
-                color: blue;
-                font: 1in/1em Ahem;
-                left: auto;
-                margin-left: auto;
-                margin-right: auto;
-                position: absolute;
-                right: auto;
-                width: 1in;
-            }
-        </style>
-    </head>
-    <body>
-        <p>Test passes if the blue box is in the upper-left corner of the black box and there is no red visible on the page.</p>
-        <div id="div1">
-            <div>X</div>
-        </div>
-    </body>
-</html>
\ No newline at end of file
diff --git a/third_party/WebKit/LayoutTests/css2.1/20110323/absolute-non-replaced-width-012.htm b/third_party/WebKit/LayoutTests/css2.1/20110323/absolute-non-replaced-width-012.htm
deleted file mode 100644
index 69292e9..0000000
--- a/third_party/WebKit/LayoutTests/css2.1/20110323/absolute-non-replaced-width-012.htm
+++ /dev/null
@@ -1,39 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
-<html>
-    <head>
-        <title>CSS Test: Absolutely positioned non-replaced elements when 'left' and 'right' are 'auto', 'width' is not 'auto' and 'direction' is right-to-left</title>
-        <link rel="author" title="Microsoft" href="http://www.microsoft.com/">
-        <link rel="help" href="http://www.w3.org/TR/CSS21/visudet.html#abs-non-replaced-width">
-        <meta name="flags" content="ahem">
-        <script src="../../resources/ahem.js"></script>
-        <meta name="assert" content="When 'direction' is right-to-left and 'left' and 'right' are 'auto' and 'width' is not 'auto', solve for 'left'.">
-        <style type="text/css">
-            #div1
-            {
-                border: solid black;
-                direction: rtl;
-                height: 2in;
-                position: relative;
-                width: 2in;
-            }
-            div div
-            {
-                background: red;
-                color: blue;
-                font: 1in/1em Ahem;
-                left: auto;
-                margin-left: auto;
-                margin-right: auto;
-                position: absolute;
-                right: auto;
-                width: 1in;
-            }
-        </style>
-    </head>
-    <body>
-        <p>Test passes if the blue box is in the upper-right corner of the black box and there is no red visible on the page.</p>
-        <div id="div1">
-            <div>X</div>
-        </div>
-    </body>
-</html>
\ No newline at end of file
diff --git a/third_party/WebKit/LayoutTests/css2.1/20110323/absolute-non-replaced-width-013.htm b/third_party/WebKit/LayoutTests/css2.1/20110323/absolute-non-replaced-width-013.htm
deleted file mode 100644
index 5c322f2..0000000
--- a/third_party/WebKit/LayoutTests/css2.1/20110323/absolute-non-replaced-width-013.htm
+++ /dev/null
@@ -1,38 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
-<html>
-    <head>
-        <title>CSS Test: Solved for 'right' when absolutely positioned non-replaced elements has 'right' and 'width' as 'auto'</title>
-        <link rel="author" title="Microsoft" href="http://www.microsoft.com/">
-        <link rel="help" href="http://www.w3.org/TR/CSS21/visudet.html#abs-non-replaced-width">
-        <meta name="flags" content="ahem">
-        <script src="../../resources/ahem.js"></script>
-        <meta name="assert" content="When 'right' and 'width' are 'auto' and 'left' is not 'auto', then the width is shrink-to-fit and then solve for 'right'.">
-        <style type="text/css">
-            #div1
-            {
-                border: solid black;
-                height: 2in;
-                position: relative;
-                width: 2in;
-            }
-            div div
-            {
-                background: red;
-                color: blue;
-                font: 1in/1em Ahem;
-                left: 1in;
-                margin-left: auto;
-                margin-right: auto;
-                position: absolute;
-                right: auto;
-                width: auto;
-            }
-        </style>
-    </head>
-    <body>
-        <p>Test passes if the blue box is in the upper-right corner of the black box and there is no red visible on the page.</p>
-        <div id="div1">
-            <div>X</div>
-        </div>
-    </body>
-</html>
\ No newline at end of file
diff --git a/third_party/WebKit/LayoutTests/css2.1/20110323/absolute-non-replaced-width-014.htm b/third_party/WebKit/LayoutTests/css2.1/20110323/absolute-non-replaced-width-014.htm
deleted file mode 100644
index 12a31ae..0000000
--- a/third_party/WebKit/LayoutTests/css2.1/20110323/absolute-non-replaced-width-014.htm
+++ /dev/null
@@ -1,38 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
-<html>
-    <head>
-        <title>CSS Test: Solved for 'left' when absolutely positioned non-replaced elements has 'right' and 'width' not set to 'auto'</title>
-        <link rel="author" title="Microsoft" href="http://www.microsoft.com/">
-        <link rel="help" href="http://www.w3.org/TR/CSS21/visudet.html#abs-non-replaced-width">
-        <meta name="flags" content="ahem">
-        <script src="../../resources/ahem.js"></script>
-        <meta name="assert" content="When 'left' is 'auto' and 'width' and 'right' are not 'auto' element solves for 'left'.">
-        <style type="text/css">
-            #div1
-            {
-                border: solid black;
-                height: 2in;
-                position: relative;
-                width: 2in;
-            }
-            div div
-            {
-                background: red;
-                color: blue;
-                font: 1in/1em Ahem;
-                left: auto;
-                margin-left: auto;
-                margin-right: auto;
-                position: absolute;
-                right: 1in;
-                width: 1in;
-            }
-        </style>
-    </head>
-    <body>
-        <p>Test passes if the blue box is in the upper-left corner of the black box and there is no red visible on the page.</p>
-        <div id="div1">
-            <div>X</div>
-        </div>
-    </body>
-</html>
\ No newline at end of file
diff --git a/third_party/WebKit/LayoutTests/css2.1/20110323/absolute-non-replaced-width-015.htm b/third_party/WebKit/LayoutTests/css2.1/20110323/absolute-non-replaced-width-015.htm
deleted file mode 100644
index b048960..0000000
--- a/third_party/WebKit/LayoutTests/css2.1/20110323/absolute-non-replaced-width-015.htm
+++ /dev/null
@@ -1,36 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
-<html>
-    <head>
-        <title>CSS Test: Solved for 'width' when absolutely positioned non-replaced elements has 'left' and 'right' not set to 'auto'</title>
-        <link rel="author" title="Microsoft" href="http://www.microsoft.com/">
-        <link rel="help" href="http://www.w3.org/TR/CSS21/visudet.html#abs-non-replaced-width">
-        <meta name="flags" content="">
-        <meta name="assert" content="When 'width' is 'auto' and 'left' and 'right' are not 'auto' element solves for 'width'.">
-        <style type="text/css">
-            #div1
-            {
-                border: solid black;
-                height: 2in;
-                position: relative;
-                width: 3in;
-            }
-            div div
-            {
-                background: blue;
-                left: 1in;
-                height: 1in;
-                margin-left: auto;
-                margin-right: auto;
-                position: absolute;
-                right: 1in;
-                width: auto;
-            }
-        </style>
-    </head>
-    <body>
-        <p>Test passes if the blue box is horizontally centered inside black box and there is no red visible on the page.</p>
-        <div id="div1">
-            <div></div>
-        </div>
-    </body>
-</html>
\ No newline at end of file
diff --git a/third_party/WebKit/LayoutTests/css2.1/20110323/absolute-non-replaced-width-016.htm b/third_party/WebKit/LayoutTests/css2.1/20110323/absolute-non-replaced-width-016.htm
deleted file mode 100644
index 4d665717..0000000
--- a/third_party/WebKit/LayoutTests/css2.1/20110323/absolute-non-replaced-width-016.htm
+++ /dev/null
@@ -1,38 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
-<html>
-    <head>
-        <title>CSS Test: Solved for 'right' when absolutely positioned non-replaced elements has 'left' and 'width' not set to 'auto'</title>
-        <link rel="author" title="Microsoft" href="http://www.microsoft.com/">
-        <link rel="help" href="http://www.w3.org/TR/CSS21/visudet.html#abs-non-replaced-width">
-        <meta name="flags" content="ahem">
-        <script src="../../resources/ahem.js"></script>
-        <meta name="assert" content="When 'right' is 'auto' and 'width' and 'left' are not 'auto' element solves for 'right'.">
-        <style type="text/css">
-            #div1
-            {
-                border: solid black;
-                height: 2in;
-                position: relative;
-                width: 2in;
-            }
-            div div
-            {
-                background: red;
-                color: blue;
-                font: 1in/1em Ahem;
-                left: 1in;
-                margin-left: auto;
-                margin-right: auto;
-                position: absolute;
-                right: auto;
-                width: 1in;
-            }
-        </style>
-    </head>
-    <body>
-        <p>Test passes if the blue box is in the upper-right corner of the black box and there is no red visible on the page.</p>
-        <div id="div1">
-            <div>X</div>
-        </div>
-    </body>
-</html>
\ No newline at end of file
diff --git a/third_party/WebKit/LayoutTests/css2.1/20110323/absolute-non-replaced-width-017.htm b/third_party/WebKit/LayoutTests/css2.1/20110323/absolute-non-replaced-width-017.htm
deleted file mode 100644
index e6572713..0000000
--- a/third_party/WebKit/LayoutTests/css2.1/20110323/absolute-non-replaced-width-017.htm
+++ /dev/null
@@ -1,51 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
-<html>
-
- <head>
-
-  <title>CSS Test: 'shrink-to-fit' width of absolutely positioned, non-replaced elements - direction (left-to-right), inline-block and max-width</title>
-
-  <link rel="author" title="Gérard Talbot" href="http://www.gtalbot.org/BrowserBugsSection/css21testsuite/">
-  <link rel="author" title="Daniel Schattenkirchner" href="crazy-daniel{at}gmx.de">
-  <link rel="help" title="Section 10.3.7 Absolutely positioned, non-replaced elements" href="http://www.w3.org/TR/CSS21/visudet.html#abs-non-replaced-width">
-  <link rel="help" title="Section 10.3.9 Width of 'inline-block', non-replaced elements in normal flow" href="http://www.w3.org/TR/CSS21/visudet.html#inlineblock-width">
-  <link rel="help" href="http://www.w3.org/TR/CSS21/visudet.html#min-max-widths">
-  <meta content="When direction is left-to-right and 'left' is set to static position and 'width' and 'right' are 'auto', then the used value of 'width' is given by 'shrink-to-fit' width calculation. If 'width' of an inline-block, non-replaced element in normal flow computes to 'auto', then the used value of 'width' is also given by 'shrink-to-fit' width calculation. If 'width' of an inline-block, non-replaced element in normal flow is given by 'shrink-to-fit' width calculation, then such calculated width can be furthermore constrained, reduced by a max-width declaration. If width of an absolutely positioned, non-replaced element resorts to 'shrink-to-fit' width calculation but its own child uses a constrained length resulting from a max-width declaration, then such constrained length will define the preferred width in 'shrink-to-fit' width calculation." name="assert">
-  <meta content="ahem" name="flags">
-  <script src="../../resources/ahem.js"></script>
-
-  <style type="text/css">
-  body
-  {
-  direction: ltr;
-  margin: 8px;
-  }
-
-  div
-  {
-  background-color: red;
-  font: 32px/4 Ahem;
-  left: auto; /* left is set to static position: it should be 8px from the left-hand side of document box (at body's margin-left) */
-  position: absolute;
-  right: auto;
-  width: auto;
-  }
-
-  span
-  {
-  background-color: green;
-  display: inline-block;
-  max-width: 4em;
-  }
-  </style>
-
- </head>
-
- <body>
-
-  <p>Below there should be a green square. In the middle of such green square, a black horizontal stripe should be traversing it and protruding out of it toward the right. There should be no red in this page.</p>
-
-  <div><span>XXXXXXXX</span></div>
-
- </body>
-</html>
\ No newline at end of file
diff --git a/third_party/WebKit/LayoutTests/css2.1/20110323/absolute-non-replaced-width-018.htm b/third_party/WebKit/LayoutTests/css2.1/20110323/absolute-non-replaced-width-018.htm
deleted file mode 100644
index dc8dfe4..0000000
--- a/third_party/WebKit/LayoutTests/css2.1/20110323/absolute-non-replaced-width-018.htm
+++ /dev/null
@@ -1,53 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
-<html>
-
- <head>
-
-  <title>CSS Test: 'shrink-to-fit' width of absolutely positioned, non-replaced elements - direction (left-to-right), inline-block and max-width</title>
-
-  <link rel="author" title="Gérard Talbot" href="http://www.gtalbot.org/BrowserBugsSection/css21testsuite/">
-  <link rel="author" title="Daniel Schattenkirchner" href="crazy-daniel{at}gmx.de">
-  <link rel="help" title="Section 10.3.7 Absolutely positioned, non-replaced elements" href="http://www.w3.org/TR/CSS21/visudet.html#abs-non-replaced-width">
-  <link rel="help" title="Section 10.3.9 Width of 'inline-block', non-replaced elements in normal flow" href="http://www.w3.org/TR/CSS21/visudet.html#inlineblock-width">
-  <link rel="help" href="http://www.w3.org/TR/CSS21/visudet.html#min-max-widths">
-  <meta content="When direction is left-to-right and 'left' is set to static position and 'width' and 'right' are 'auto', then the used value of 'width' is given by 'shrink-to-fit' width calculation. If 'width' of an inline-block, non-replaced element in normal flow computes to 'auto', then the used value of 'width' is also given by 'shrink-to-fit' width calculation. If 'width' of an inline-block, non-replaced element in normal flow is given by 'shrink-to-fit' width calculation, then such calculated width can be furthermore constrained, reduced by a max-width declaration. If width of an absolutely positioned, non-replaced element resorts to shrink-to-fit width calculation but its own child uses a constrained length resulting from a max-width declaration, then such constrained length will define the preferred width in 'shrink-to-fit' width calculation." name="assert">
-  <meta content="ahem" name="flags">
-  <script src="../../resources/ahem.js"></script>
-
-  <style type="text/css">
-  body
-  {
-  direction: ltr;
-  margin: 8px;
-  }
-
-  div#outer-abs-pos
-  {
-  background-color: red;
-  font: 32px/4 Ahem;
-  left: auto; /* left is set to static position: it should be 8px from the left-hand side of document box (at body's margin-left) */
-  position: absolute;
-  right: auto;
-  width: auto;
-  }
-
-  div#inner-inline-block
-  {
-  background-color: green;
-  display: inline-block;
-  max-width: 4em;
-  }
-  </style>
-
- </head>
-
- <body>
-
-  <p>Below there should be a green square. In the middle of such green square, a black horizontal stripe should be traversing it and protruding out of it toward the right. There should be no red in this page.</p>
-
-  <div id="outer-abs-pos">
-    <div id="inner-inline-block">XXXXXXXX</div>
-  </div>
-
- </body>
-</html>
\ No newline at end of file
diff --git a/third_party/WebKit/LayoutTests/css2.1/20110323/absolute-non-replaced-width-019.htm b/third_party/WebKit/LayoutTests/css2.1/20110323/absolute-non-replaced-width-019.htm
deleted file mode 100644
index fce368d..0000000
--- a/third_party/WebKit/LayoutTests/css2.1/20110323/absolute-non-replaced-width-019.htm
+++ /dev/null
@@ -1,53 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
-<html>
-
- <head>
-
-  <title>CSS Test: 'shrink-to-fit' width of absolutely positioned, non-replaced elements - direction (left-to-right), float and max-width</title>
-
-  <link rel="author" title="Gérard Talbot" href="http://www.gtalbot.org/BrowserBugsSection/css21testsuite/">
-  <link rel="author" title="Daniel Schattenkirchner" href="crazy-daniel{at}gmx.de">
-  <link rel="help" title="Section 10.3.7 Absolutely positioned, non-replaced elements" href="http://www.w3.org/TR/CSS21/visudet.html#abs-non-replaced-width">
-  <link rel="help" title="Section 10.3.5 Width of floating, non-replaced elements" href="http://www.w3.org/TR/CSS21/visudet.html#float-width">
-  <link rel="help" href="http://www.w3.org/TR/CSS21/visudet.html#min-max-widths">
-  <meta content="When direction is left-to-right and 'left' is set to static position and 'width' and 'right' are 'auto', then the used value of 'width' is given by 'shrink-to-fit' width calculation. If 'width' of an floating, non-replaced element in normal flow computes to 'auto', then the used value of 'width' is also given by 'shrink-to-fit' width calculation. If 'width' of a floating, non-replaced element in normal flow is given by 'shrink-to-fit' width calculation, then such calculated width can be furthermore constrained, reduced by a max-width declaration. If width of an absolutely positioned, non-replaced element resorts to 'shrink-to-fit' width calculation but its own child uses a constrained length resulting from a max-width declaration, then such constrained length will define the preferred width in 'shrink-to-fit' width calculation." name="assert">
-  <meta content="ahem" name="flags">
-  <script src="../../resources/ahem.js"></script>
-
-  <style type="text/css">
-  body
-  {
-  direction: ltr;
-  margin: 8px;
-  }
-
-  div#outer-abs-pos
-  {
-  background-color: red;
-  font: 32px/4 Ahem;
-  left: auto; /* left is set to static position: it should be 8px from the left-hand side of document box (at body's margin-left) */
-  position: absolute;
-  right: auto;
-  width: auto;
-  }
-
-  div#inner-floated
-  {
-  background-color: green;
-  float: left;
-  max-width: 4em;
-  }
-  </style>
-
- </head>
-
- <body>
-
-  <p>Below there should be a green square. In the middle of such green square, a black horizontal stripe should be traversing it and protruding out of it toward the right. There should be no red in this page.</p>
-
-  <div id="outer-abs-pos">
-    <div id="inner-floated">XXXXXXXX</div>
-  </div>
-
- </body>
-</html>
\ No newline at end of file
diff --git a/third_party/WebKit/LayoutTests/css2.1/20110323/absolute-non-replaced-width-020.htm b/third_party/WebKit/LayoutTests/css2.1/20110323/absolute-non-replaced-width-020.htm
deleted file mode 100644
index 14c17f68..0000000
--- a/third_party/WebKit/LayoutTests/css2.1/20110323/absolute-non-replaced-width-020.htm
+++ /dev/null
@@ -1,51 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
-<html>
-
- <head>
-
-  <title>CSS Test: 'shrink-to-fit' width of absolutely positioned, non-replaced elements - direction (left-to-right), float and max-width</title>
-
-  <link rel="author" title="Gérard Talbot" href="http://www.gtalbot.org/BrowserBugsSection/css21testsuite/">
-  <link rel="author" title="Daniel Schattenkirchner" href="crazy-daniel{at}gmx.de">
-  <link rel="help" title="Section 10.3.7 Absolutely positioned, non-replaced elements" href="http://www.w3.org/TR/CSS21/visudet.html#abs-non-replaced-width">
-  <link rel="help" title="Section 10.3.5 Width of floating, non-replaced elements" href="http://www.w3.org/TR/CSS21/visudet.html#float-width">
-  <link rel="help" href="http://www.w3.org/TR/CSS21/visudet.html#min-max-widths">
-  <meta content="When direction is left-to-right and 'left' is set to static position and 'width' and 'right' are 'auto', then the used value of 'width' is given by 'shrink-to-fit' width calculation. If 'width' of an floating, non-replaced element in normal flow computes to 'auto', then the used value of 'width' is also given by 'shrink-to-fit' width calculation. If 'width' of a floating, non-replaced element in normal flow is given by 'shrink-to-fit' width calculation, then such calculated width can be furthermore constrained, reduced by a max-width declaration. If width of an absolutely positioned, non-replaced element resorts to 'shrink-to-fit' width calculation but its own child uses a constrained length resulting from a max-width declaration, then such constrained length will define the preferred width in 'shrink-to-fit' width calculation." name="assert">
-  <meta content="ahem" name="flags">
-  <script src="../../resources/ahem.js"></script>
-
-  <style type="text/css">
-  body
-  {
-  direction: ltr;
-  margin: 8px;
-  }
-
-  div
-  {
-  background-color: red;
-  font: 32px/4 Ahem;
-  left: auto; /* left is set to static position: it should be 8px from the left-hand side of document box (at body's margin-left) */
-  position: absolute;
-  right: auto;
-  width: auto;
-  }
-
-  span
-  {
-  background-color: green;
-  float: left;
-  max-width: 4em;
-  }
-  </style>
-
- </head>
-
- <body>
-
-  <p>Below there should be a green square. In the middle of such green square, a black horizontal stripe should be traversing it and protruding out of it toward the right. There should be no red in this page.</p>
-
-  <div><span>XXXXXXXX</span></div>
-
- </body>
-</html>
\ No newline at end of file
diff --git a/third_party/WebKit/LayoutTests/css2.1/20110323/absolute-non-replaced-width-021.htm b/third_party/WebKit/LayoutTests/css2.1/20110323/absolute-non-replaced-width-021.htm
deleted file mode 100644
index 22f1dd8..0000000
--- a/third_party/WebKit/LayoutTests/css2.1/20110323/absolute-non-replaced-width-021.htm
+++ /dev/null
@@ -1,53 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
-<html>
-
- <head>
-
-  <title>CSS Test: 'shrink-to-fit' width of absolutely positioned, non-replaced elements - direction (right-to-left), inline-block and max-width</title>
-
-  <link rel="author" title="Gérard Talbot" href="http://www.gtalbot.org/BrowserBugsSection/css21testsuite/">
-  <link rel="author" title="Daniel Schattenkirchner" href="crazy-daniel{at}gmx.de">
-  <link rel="help" title="Section 10.3.7 Absolutely positioned, non-replaced elements" href="http://www.w3.org/TR/CSS21/visudet.html#abs-non-replaced-width">
-  <link rel="help" title="Section 10.3.9 Width of 'inline-block', non-replaced elements in normal flow" href="http://www.w3.org/TR/CSS21/visudet.html#inlineblock-width">
-  <link rel="help" href="http://www.w3.org/TR/CSS21/visudet.html#min-max-widths">
-  <meta content="When direction is right-to-left and 'right' is set to static position and 'width' and 'left' are 'auto', then the used value of 'width' is given by 'shrink-to-fit' width calculation. If 'width' of an inline-block, non-replaced element in normal flow computes to 'auto', then the used value of 'width' is also given by 'shrink-to-fit' width calculation. If 'width' of an inline-block, non-replaced element in normal flow is given by 'shrink-to-fit' width calculation, then such calculated width can be furthermore constrained, reduced by a max-width declaration. If width of an absolutely positioned, non-replaced element resorts to 'shrink-to-fit' width calculation but its own child uses a constrained length resulting from a max-width declaration, then such constrained length will define the preferred width in 'shrink-to-fit' width calculation." name="assert">
-  <meta content="ahem" name="flags">
-  <script src="../../resources/ahem.js"></script>
-
-  <style type="text/css">
-  body
-  {
-  direction: rtl;
-  margin: 8px; 
-  }
-
-  p {direction: ltr;}
-
-  div
-  {
-  background-color: red;
-  font: 32px/4 Ahem;
-  left: auto;
-  position: absolute;
-  right: auto; /* right is set to static position: it should be 8px from the right-hand side of document box (at body's margin-right) */
-  width: auto;
-  }
-
-  span
-  {
-  background-color: green;
-  display: inline-block;
-  max-width: 4em;
-  }
-  </style>
-
- </head>
-
- <body>
-
-  <p>Below, on the right edge of the page, there should be a green square. In the middle of such green square, a black horizontal stripe should be traversing it and protruding out of it toward the left. There should be no red in this page.</p>
-
-  <div><span>XXXXXXXX</span></div>
-
- </body>
-</html>
\ No newline at end of file
diff --git a/third_party/WebKit/LayoutTests/css2.1/20110323/absolute-non-replaced-width-022.htm b/third_party/WebKit/LayoutTests/css2.1/20110323/absolute-non-replaced-width-022.htm
deleted file mode 100644
index 43aa4d7..0000000
--- a/third_party/WebKit/LayoutTests/css2.1/20110323/absolute-non-replaced-width-022.htm
+++ /dev/null
@@ -1,55 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
-<html>
-
- <head>
-
-  <title>CSS Test: 'shrink-to-fit' width of absolutely positioned, non-replaced elements - direction (right-to-left), inline-block and max-width</title>
-
-  <link rel="author" title="Gérard Talbot" href="http://www.gtalbot.org/BrowserBugsSection/css21testsuite/">
-  <link rel="author" title="Daniel Schattenkirchner" href="crazy-daniel{at}gmx.de">
-  <link rel="help" title="Section 10.3.7 Absolutely positioned, non-replaced elements" href="http://www.w3.org/TR/CSS21/visudet.html#abs-non-replaced-width">
-  <link rel="help" title="Section 10.3.9 Width of 'inline-block', non-replaced elements in normal flow" href="http://www.w3.org/TR/CSS21/visudet.html#inlineblock-width">
-  <link rel="help" href="http://www.w3.org/TR/CSS21/visudet.html#min-max-widths">
-  <meta content="When direction is right-to-left and 'right' is set to static position and 'width' and 'left' are 'auto', then the used value of 'width' is given by 'shrink-to-fit' width calculation. If 'width' of an inline-block, non-replaced element in normal flow computes to 'auto', then the used value of 'width' is also given by 'shrink-to-fit' width calculation. If 'width' of an inline-block, non-replaced element in normal flow is given by 'shrink-to-fit' width calculation, then such calculated width can be furthermore constrained, reduced by a max-width declaration. If width of an absolutely positioned, non-replaced element resorts to 'shrink-to-fit' width calculation but its own child uses a constrained length resulting from a max-width declaration, then such constrained length will define the preferred width in 'shrink-to-fit' width calculation." name="assert">
-  <meta content="ahem" name="flags">
-  <script src="../../resources/ahem.js"></script>
-
-  <style type="text/css">
-  body
-  {
-  direction: rtl;
-  margin: 8px; 
-  }
-
-  p {direction: ltr;}
-
-  div#outer-abs-pos
-  {
-  background-color: red;
-  font: 32px/4 Ahem;
-  left: auto;
-  position: absolute;
-  right: auto; /* right is set to static position: it should be 8px from the right-hand side of document box (at body's margin-right) */
-  width: auto;
-  }
-
-  div#inner-inline-block
-  {
-  background-color: green;
-  display: inline-block;
-  max-width: 4em;
-  }
-  </style>
-
- </head>
-
- <body>
-
-  <p>Below, on the right edge of the page, there should be a green square. In the middle of such green square, a black horizontal stripe should be traversing it and protruding out of it toward the left. There should be no red in this page.</p>
-
-  <div id="outer-abs-pos">
-    <div id="inner-inline-block">XXXXXXXX</div>
-  </div>
-
- </body>
-</html>
\ No newline at end of file
diff --git a/third_party/WebKit/LayoutTests/css2.1/20110323/absolute-non-replaced-width-023.htm b/third_party/WebKit/LayoutTests/css2.1/20110323/absolute-non-replaced-width-023.htm
deleted file mode 100644
index a9d352dd..0000000
--- a/third_party/WebKit/LayoutTests/css2.1/20110323/absolute-non-replaced-width-023.htm
+++ /dev/null
@@ -1,55 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
-<html>
-
- <head>
-
-  <title>CSS Test: 'shrink-to-fit' width of absolutely positioned, non-replaced elements - direction (right-to-left), float and max-width</title>
-
-  <link rel="author" title="Gérard Talbot" href="http://www.gtalbot.org/BrowserBugsSection/css21testsuite/">
-  <link rel="author" title="Daniel Schattenkirchner" href="crazy-daniel{at}gmx.de">
-  <link rel="help" title="Section 10.3.7 Absolutely positioned, non-replaced elements" href="http://www.w3.org/TR/CSS21/visudet.html#abs-non-replaced-width">
-  <link rel="help" title="Section 10.3.5 Width of floating, non-replaced elements" href="http://www.w3.org/TR/CSS21/visudet.html#float-width">
-  <link rel="help" href="http://www.w3.org/TR/CSS21/visudet.html#min-max-widths">
-  <meta content="When direction is right-to-left and 'right' is set to static position and 'width' and 'left' are 'auto', then the used value of 'width' is given by 'shrink-to-fit' width calculation. If 'width' of an floating, non-replaced element in normal flow computes to 'auto', then the used value of 'width' is also given by 'shrink-to-fit' width calculation. If 'width' of a floating, non-replaced element in normal flow is given by 'shrink-to-fit' width calculation, then such calculated width can be furthermore constrained, reduced by a max-width declaration. If width of an absolutely positioned, non-replaced element resorts to 'shrink-to-fit' width calculation but its own child uses a constrained length resulting from a max-width declaration, then such constrained length will define the preferred width in 'shrink-to-fit' width calculation." name="assert">
-  <meta content="ahem" name="flags">
-  <script src="../../resources/ahem.js"></script>
-
-  <style type="text/css">
-  body
-  {
-  direction: rtl;
-  margin: 8px; 
-  }
-
-  p {direction: ltr;}
-
-  div#outer-abs-pos
-  {
-  background-color: red;
-  font: 32px/4 Ahem;
-  left: auto;
-  position: absolute;
-  right: auto; /* right is set to static position: it should be 8px from the right-hand side of document box (at body's margin-right) */
-  width: auto;
-  }
-
-  div#inner-floated
-  {
-  background-color: green;
-  float: left;
-  max-width: 4em;
-  }
-  </style>
-
- </head>
-
- <body>
-
-  <p>Below, on the right edge of the page, there should be a green square. In the middle of such green square, a black horizontal stripe should be traversing it and protruding out of it toward the left. There should be no red in this page.</p>
-
-  <div id="outer-abs-pos">
-    <div id="inner-floated">XXXXXXXX</div>
-  </div>
-
- </body>
-</html>
\ No newline at end of file
diff --git a/third_party/WebKit/LayoutTests/css2.1/20110323/absolute-non-replaced-width-024.htm b/third_party/WebKit/LayoutTests/css2.1/20110323/absolute-non-replaced-width-024.htm
deleted file mode 100644
index 47e01875..0000000
--- a/third_party/WebKit/LayoutTests/css2.1/20110323/absolute-non-replaced-width-024.htm
+++ /dev/null
@@ -1,53 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
-<html>
-
- <head>
-
-  <title>CSS Test: 'shrink-to-fit' width of absolutely positioned, non-replaced elements - direction (right-to-left), float and max-width</title>
-
-  <link rel="author" title="Gérard Talbot" href="http://www.gtalbot.org/BrowserBugsSection/css21testsuite/">
-  <link rel="author" title="Daniel Schattenkirchner" href="crazy-daniel{at}gmx.de">
-  <link rel="help" title="Section 10.3.7 Absolutely positioned, non-replaced elements" href="http://www.w3.org/TR/CSS21/visudet.html#abs-non-replaced-width">
-  <link rel="help" title="Section 10.3.5 Width of floating, non-replaced elements" href="http://www.w3.org/TR/CSS21/visudet.html#float-width">
-  <link rel="help" href="http://www.w3.org/TR/CSS21/visudet.html#min-max-widths">
-  <meta content="When direction is right-to-left and 'right' is set to static position and 'width' and 'left' are 'auto', then the used value of 'width' is given by 'shrink-to-fit' width calculation. If 'width' of an floating, non-replaced element in normal flow computes to 'auto', then the used value of 'width' is also given by 'shrink-to-fit' width calculation. If 'width' of a floating, non-replaced element in normal flow is given by 'shrink-to-fit' width calculation, then such calculated width can be furthermore constrained, reduced by a max-width declaration. If width of an absolutely positioned, non-replaced element resorts to 'shrink-to-fit' width calculation but its own child uses a constrained length resulting from a max-width declaration, then such constrained length will define the preferred width in 'shrink-to-fit' width calculation." name="assert">
-  <meta content="ahem" name="flags">
-  <script src="../../resources/ahem.js"></script>
-
-  <style type="text/css">
-  body
-  {
-  direction: rtl;
-  margin: 8px; 
-  }
-
-  p {direction: ltr;}
-
-  div
-  {
-  background-color: red;
-  font: 32px/4 Ahem;
-  left: auto;
-  position: absolute;
-  right: auto; /* right is set to static position: it should be 8px from the right-hand side of document box (at body's margin-right) */
-  width: auto;
-  }
-
-  span
-  {
-  background-color: green;
-  float: left;
-  max-width: 4em;
-  }
-  </style>
-
- </head>
-
- <body>
-
-  <p>Below, on the right edge of the page, there should be a green square. In the middle of such green square, a black horizontal stripe should be traversing it and protruding out of it toward the left. There should be no red in this page.</p>
-
-  <div><span>XXXXXXXX</span></div>
-
- </body>
-</html>
\ No newline at end of file
diff --git a/third_party/WebKit/LayoutTests/css2.1/20110323/absolute-replaced-height-001.htm b/third_party/WebKit/LayoutTests/css2.1/20110323/absolute-replaced-height-001.htm
deleted file mode 100644
index 4066d35..0000000
--- a/third_party/WebKit/LayoutTests/css2.1/20110323/absolute-replaced-height-001.htm
+++ /dev/null
@@ -1,32 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
-<html>
-    <head>
-        <title>CSS Test: Absolute replaced elements with 'margin-top' and 'margin-bottom' as 'auto'</title>
-        <link rel="author" title="Microsoft" href="http://www.microsoft.com/">
-        <link rel="help" href="http://www.w3.org/TR/CSS21/visudet.html#abs-replaced-height">
-        <meta name="flags" content="image">
-        <meta name="assert" content="An absolutely positioned replaced elements' used value of 'margin-top' and/or 'margin-bottom' set to 'auto' is '0'.">
-        <style type="text/css">
-            div
-            {
-                border-bottom: solid orange;
-                border-top: solid orange;
-                height: 15px;
-                line-height: 0;
-                width: 1in;
-            }
-            img
-            {
-                margin-bottom: auto;
-                margin-top: auto;
-                position: absolute;
-            }
-        </style>
-    </head>
-    <body>
-        <p>Test passes if there is no white space between the blue box below and the orange lines.</p>
-        <div>
-            <img alt="blue 15x15" src="resources/blue15x15.png">
-        </div>
-    </body>
-</html>
diff --git a/third_party/WebKit/LayoutTests/css2.1/20110323/absolute-replaced-height-002.htm b/third_party/WebKit/LayoutTests/css2.1/20110323/absolute-replaced-height-002.htm
deleted file mode 100644
index 8d3cbfe..0000000
--- a/third_party/WebKit/LayoutTests/css2.1/20110323/absolute-replaced-height-002.htm
+++ /dev/null
@@ -1,39 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
-<html>
-    <head>
-        <title>CSS Test: Absolute replaced elements relying on intrinsic height dimensions</title>
-        <link rel="author" title="Microsoft" href="http://www.microsoft.com/">
-        <link rel="help" href="http://www.w3.org/TR/CSS21/visudet.html#abs-replaced-height">
-        <meta name="flags" content="image">
-        <meta name="assert" content="The 'height' is the intrinsic height when an absolutely positioned replaced element with and intrinsic height has a 'height' and 'width' computed as 'auto'.">
-        <style type="text/css">
-            div
-            {
-                line-height: 0;
-                position: relative;
-            }
-            div div
-            {
-                background: orange;
-                height: 15px;
-                left: 15px;
-                position: absolute;
-                top: 0;
-                width: 15px;
-            }
-            img
-            {
-                height: auto;
-                position: absolute;
-                width: auto;
-            }
-        </style>
-    </head>
-    <body>
-        <p>Test passes if the blue and orange boxes below are the same height.</p>
-        <div>
-            <img alt="blue 15x15" src="resources/blue15x15.png">
-            <div></div>
-        </div>
-    </body>
-</html>
diff --git a/third_party/WebKit/LayoutTests/css2.1/20110323/absolute-replaced-height-003.htm b/third_party/WebKit/LayoutTests/css2.1/20110323/absolute-replaced-height-003.htm
deleted file mode 100644
index 40781b41..0000000
--- a/third_party/WebKit/LayoutTests/css2.1/20110323/absolute-replaced-height-003.htm
+++ /dev/null
@@ -1,41 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
-<html>
-    <head>
-        <title>CSS Test: Absolute replaced elements with intrinsic ratios and 'height' set to 'auto'</title>
-        <link rel="author" title="Microsoft" href="http://www.microsoft.com/">
-        <link rel="help" href="http://www.w3.org/TR/CSS21/visudet.html#abs-replaced-height">
-        <meta name="flags" content="image">
-        <meta name="assert" content="The 'height' is the used width divided by the ratio when an absolutely positioned replaced element has an intrinsic ratio, 'height' is set to 'auto' and 'width' is specified.">
-        <style type="text/css">
-            div
-            {
-                line-height: 0;
-                position: relative;
-            }
-            div div
-            {
-                background: orange;
-                height: 1in;
-                left: 1in;
-                position: absolute;
-                top: 0;
-            }
-            img
-            {
-                height: auto;
-                position: absolute;
-            }
-            div div, img
-            {
-                width: 1in;
-            }
-        </style>
-    </head>
-    <body>
-        <p>Test passes if the blue and orange boxes below are the same height.</p>
-        <div>
-            <img alt="blue 15x15" src="resources/blue15x15.png">
-            <div></div>
-        </div>
-    </body>
-</html>
diff --git a/third_party/WebKit/LayoutTests/css2.1/20110323/absolute-replaced-height-004.htm b/third_party/WebKit/LayoutTests/css2.1/20110323/absolute-replaced-height-004.htm
deleted file mode 100644
index 21e7087..0000000
--- a/third_party/WebKit/LayoutTests/css2.1/20110323/absolute-replaced-height-004.htm
+++ /dev/null
@@ -1,38 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
-<html>
-    <head>
-        <title>CSS Test: Absolute replaced elements without intrinsic ratios and 'height' set to 'auto'</title>
-        <link rel="author" title="Microsoft" href="http://www.microsoft.com/">
-        <link rel="help" href="http://www.w3.org/TR/CSS21/visudet.html#abs-replaced-height">
-        <meta name="flags" content="">
-        <meta name="assert" content="For an absolutely positioned replaced element the 'height' is set to the largest rectangle that has a 2:1 ratio that is not greater than 150px and has a 'width' not greater than the device width.">
-        <style type="text/css">
-            div
-            {
-                position: relative;
-            }
-            div div
-            {
-                border: solid green;
-                height: 150px;
-                position: absolute;
-                top: 0;
-                width: 300px;
-            }
-            iframe
-            {
-                border: solid red;
-                height: auto;
-                position: absolute;
-                width: auto;
-            }
-        </style>
-    </head>
-    <body>
-        <p>Test passes if there is no red visible on the page.</p>
-        <div>
-            <iframe></iframe>
-            <div></div>
-        </div>
-    </body>
-</html>
\ No newline at end of file
diff --git a/third_party/WebKit/LayoutTests/css2.1/20110323/absolute-replaced-height-005.htm b/third_party/WebKit/LayoutTests/css2.1/20110323/absolute-replaced-height-005.htm
deleted file mode 100644
index 03625ba..0000000
--- a/third_party/WebKit/LayoutTests/css2.1/20110323/absolute-replaced-height-005.htm
+++ /dev/null
@@ -1,38 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
-<html>
-    <head>
-        <title>CSS Test: Absolute replaced elements with percentage based intrinsic height</title>
-        <link rel="author" title="Microsoft" href="http://www.microsoft.com/">
-        <link rel="help" href="http://www.w3.org/TR/CSS21/visudet.html#abs-replaced-height">
-        <meta name="flags" content="">
-        <meta name="assert" content="An absolutely positioned replaced element with percentage intrinsic height resolves based on the containing block height when percentage is explicitly specified.">
-        <style type="text/css">
-            #div1
-            {
-                position: relative;
-                height: 2in;
-            }
-            div div
-            {
-                border: solid green;
-                height: 1in;
-                position: absolute;
-                top: 0;
-                width: 300px;
-            }
-            iframe
-            {
-                border: solid red;
-                position: absolute;
-                width: auto;
-            }
-        </style>
-    </head>
-    <body>
-        <p>Test passes if there is no red visible on the page.</p>
-        <div id="div1">
-            <iframe height="50%"></iframe>
-            <div></div>
-        </div>
-    </body>
-</html>
\ No newline at end of file
diff --git a/third_party/WebKit/LayoutTests/css2.1/20110323/absolute-replaced-height-007.htm b/third_party/WebKit/LayoutTests/css2.1/20110323/absolute-replaced-height-007.htm
deleted file mode 100644
index 061e4f0..0000000
--- a/third_party/WebKit/LayoutTests/css2.1/20110323/absolute-replaced-height-007.htm
+++ /dev/null
@@ -1,36 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
-<html>
-    <head>
-        <title>CSS Test: Absolute replaced elements with percentage based intrinsic height that cannot be resolved</title>
-        <link rel="author" title="Microsoft" href="http://www.microsoft.com/">
-        <link rel="help" href="http://www.w3.org/TR/CSS21/visudet.html#abs-replaced-height">
-        <meta name="flags" content="">
-        <meta name="assert" content="An absolutely positioned replaced element with a percentage height that cannot be resolved has no intrinsic height.">
-        <style type="text/css">
-            #div1
-            {
-                position: relative;
-            }
-            div div
-            {
-                border: solid green;
-                position: absolute;
-                top: 0;
-                width: 300px;
-            }
-            iframe
-            {
-                border: solid red;
-                position: absolute;
-                width: auto;
-            }
-        </style>
-    </head>
-    <body>
-        <p>Test passes if there is no red visible on the page.</p>
-        <div id="div1">
-            <iframe height="50%"></iframe>
-            <div></div>
-        </div>
-    </body>
-</html>
\ No newline at end of file
diff --git a/third_party/WebKit/LayoutTests/css2.1/20110323/absolute-replaced-height-008.htm b/third_party/WebKit/LayoutTests/css2.1/20110323/absolute-replaced-height-008.htm
deleted file mode 100644
index 0528002..0000000
--- a/third_party/WebKit/LayoutTests/css2.1/20110323/absolute-replaced-height-008.htm
+++ /dev/null
@@ -1,41 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
-<html>
-    <head>
-        <title>CSS Test: Absolute replaced elements with 'margin-top', 'margin-bottom' and 'bottom' as 'auto'</title>
-        <link rel="author" title="Microsoft" href="http://www.microsoft.com/">
-        <link rel="help" href="http://www.w3.org/TR/CSS21/visudet.html#abs-replaced-height">
-        <meta name="flags" content="image">
-        <meta name="assert" content="An absolutely positioned replaced elements' used value of 'bottom', 'margin-top' and/or 'margin-bottom' set to 'auto' is '0'.">
-        <style type="text/css">
-            #div1
-            {
-                border-top: solid black;
-                position: relative;
-            }
-            img
-            {
-                bottom: auto;
-                margin-bottom: auto;
-                margin-top: auto;
-                position: absolute;
-                top: 1in;
-            }
-            div div
-            {
-                background: blue;
-                height: 15px;
-                left: 15px;
-                position: relative;
-                top: 1in;
-                width: 15px;
-            }
-        </style>
-    </head>
-    <body>
-        <p>Test passes if there is a single blue box below and it does not touch the black line.</p>
-        <div id="div1">
-            <img alt="blue 15x15" src="resources/blue15x15.png">
-            <div></div>
-        </div>
-    </body>
-</html>
diff --git a/third_party/WebKit/LayoutTests/css2.1/20110323/absolute-replaced-height-009.htm b/third_party/WebKit/LayoutTests/css2.1/20110323/absolute-replaced-height-009.htm
deleted file mode 100644
index 2d7ec01..0000000
--- a/third_party/WebKit/LayoutTests/css2.1/20110323/absolute-replaced-height-009.htm
+++ /dev/null
@@ -1,41 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
-<html>
-    <head>
-        <title>CSS Test: Absolute replaced elements relying on intrinsic height dimensions and 'bottom' set to 'auto'</title>
-        <link rel="author" title="Microsoft" href="http://www.microsoft.com/">
-        <link rel="help" href="http://www.w3.org/TR/CSS21/visudet.html#abs-replaced-height">
-        <meta name="flags" content="image">
-        <meta name="assert" content="The 'height' is the intrinsic height when an absolutely positioned replaced element with and intrinsic height has a 'height', 'width' and 'bottom' computed as 'auto'.">
-        <style type="text/css">
-            #div1
-            {
-                border-top: solid black;
-                position: relative;
-            }
-            div div
-            {
-                background: blue;
-                height: 15px;
-                left: 15px;
-                position: absolute;
-                top: 1in;
-                width: 15px;
-            }
-            img
-            {
-                bottom: auto;
-                height: auto;
-                position: absolute;
-                top: 1in;
-                width: auto;
-            }
-        </style>
-    </head>
-    <body>
-        <p>Test passes if there is a single blue box below and it does not touch the black line.</p>
-        <div id="div1">
-            <img alt="blue 15x15" src="resources/blue15x15.png">
-            <div></div>
-        </div>
-    </body>
-</html>
diff --git a/third_party/WebKit/LayoutTests/css2.1/20110323/absolute-replaced-height-010.htm b/third_party/WebKit/LayoutTests/css2.1/20110323/absolute-replaced-height-010.htm
deleted file mode 100644
index 6a20600..0000000
--- a/third_party/WebKit/LayoutTests/css2.1/20110323/absolute-replaced-height-010.htm
+++ /dev/null
@@ -1,43 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
-<html>
-    <head>
-        <title>CSS Test: Absolute replaced elements with intrinsic ratios, 'height' and 'bottom' set to 'auto'</title>
-        <link rel="author" title="Microsoft" href="http://www.microsoft.com/">
-        <link rel="help" href="http://www.w3.org/TR/CSS21/visudet.html#abs-replaced-height">
-        <meta name="flags" content="image">
-        <meta name="assert" content="The 'height' is the used width divided by the ratio when an absolutely positioned replaced element has an intrinsic ratio, 'height' and 'bottom' are set to 'auto' and 'width' is specified.">
-        <style type="text/css">
-            #div1
-            {
-                border-top: solid black;
-                position: relative;
-            }
-            div div
-            {
-                background: blue;
-                height: 1in;
-                left: 1in;
-                position: absolute;
-                top: 1in;
-            }
-            img
-            {
-                bottom: auto;
-                height: auto;
-                position: absolute;
-                top: 1in;
-            }
-            div div, img
-            {
-                width: 1in;
-            }
-        </style>
-    </head>
-    <body>
-        <p>Test passes if there is a single blue box below and it does not touch the black line.</p>
-        <div id="div1">
-            <img alt="blue 15x15" src="resources/blue15x15.png">
-            <div></div>
-        </div>
-    </body>
-</html>
diff --git a/third_party/WebKit/LayoutTests/css2.1/20110323/absolute-replaced-height-011.htm b/third_party/WebKit/LayoutTests/css2.1/20110323/absolute-replaced-height-011.htm
deleted file mode 100644
index c5636bd..0000000
--- a/third_party/WebKit/LayoutTests/css2.1/20110323/absolute-replaced-height-011.htm
+++ /dev/null
@@ -1,40 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
-<html>
-    <head>
-        <title>CSS Test: Absolute replaced elements without intrinsic ratios, 'height' and 'bottom' set to 'auto'</title>
-        <link rel="author" title="Microsoft" href="http://www.microsoft.com/">
-        <link rel="help" href="http://www.w3.org/TR/CSS21/visudet.html#abs-replaced-height">
-        <meta name="flags" content="">
-        <meta name="assert" content="For an absolutely positioned replaced element the 'height' is set to the largest rectangle that has a 2:1 ratio that is not greater than 150px and has a 'width' not greater than the device width.">
-        <style type="text/css">
-            div
-            {
-                position: relative;
-            }
-            div div
-            {
-                border: solid green;
-                height: 150px;
-                position: absolute;
-                top: 1in;
-                width: 300px;
-            }
-            iframe
-            {
-                border: solid red;
-                bottom: auto;
-                height: auto;
-                position: absolute;
-                top: 1in;
-                width: auto;
-            }
-        </style>
-    </head>
-    <body>
-        <p>Test passes if there is no red visible on the page.</p>
-        <div>
-            <iframe></iframe>
-            <div></div>
-        </div>
-    </body>
-</html>
\ No newline at end of file
diff --git a/third_party/WebKit/LayoutTests/css2.1/20110323/absolute-replaced-height-012.htm b/third_party/WebKit/LayoutTests/css2.1/20110323/absolute-replaced-height-012.htm
deleted file mode 100644
index 38618625..0000000
--- a/third_party/WebKit/LayoutTests/css2.1/20110323/absolute-replaced-height-012.htm
+++ /dev/null
@@ -1,40 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
-<html>
-    <head>
-        <title>CSS Test: Absolute replaced elements with percentage based intrinsic height and 'bottom' set to 'auto'</title>
-        <link rel="author" title="Microsoft" href="http://www.microsoft.com/">
-        <link rel="help" href="http://www.w3.org/TR/CSS21/visudet.html#abs-replaced-height">
-        <meta name="flags" content="">
-        <meta name="assert" content="An absolutely positioned replaced element with percentage intrinsic height resolves based on the containing block height when percentage is explicitly specified.">
-        <style type="text/css">
-            #div1
-            {
-                position: relative;
-                height: 2in;
-            }
-            div div
-            {
-                border: solid green;
-                height: 1in;
-                position: absolute;
-                top: 1in;
-                width: 300px;
-            }
-            iframe
-            {
-                border: solid red;
-                bottom: auto;
-                position: absolute;
-                top: 1in;
-                width: auto;
-            }
-        </style>
-    </head>
-    <body>
-        <p>Test passes if there is no red visible on the page.</p>
-        <div id="div1">
-            <iframe height="50%"></iframe>
-            <div></div>
-        </div>
-    </body>
-</html>
\ No newline at end of file
diff --git a/third_party/WebKit/LayoutTests/css2.1/20110323/absolute-replaced-height-014.htm b/third_party/WebKit/LayoutTests/css2.1/20110323/absolute-replaced-height-014.htm
deleted file mode 100644
index 352b3cf..0000000
--- a/third_party/WebKit/LayoutTests/css2.1/20110323/absolute-replaced-height-014.htm
+++ /dev/null
@@ -1,38 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
-<html>
-    <head>
-        <title>CSS Test: Absolute replaced elements with percentage based intrinsic height that cannot be resolved and 'top' specified</title>
-        <link rel="author" title="Microsoft" href="http://www.microsoft.com/">
-        <link rel="help" href="http://www.w3.org/TR/CSS21/visudet.html#abs-replaced-height">
-        <meta name="flags" content="">
-        <meta name="assert" content="An absolutely positioned replaced element with a percentage height that cannot be resolved has no intrinsic height.">
-        <style type="text/css">
-            #div1
-            {
-                position: relative;
-            }
-            div div
-            {
-                border: solid green;
-                position: absolute;
-                top: 1in;
-                width: 300px;
-            }
-            iframe
-            {
-                border: solid red;
-                bottom: auto;
-                position: absolute;
-                top: 1in;
-                width: auto;
-            }
-        </style>
-    </head>
-    <body>
-        <p>Test passes if there is no red visible on the page.</p>
-        <div id="div1">
-            <iframe height="50%"></iframe>
-            <div></div>
-        </div>
-    </body>
-</html>
\ No newline at end of file
diff --git a/third_party/WebKit/LayoutTests/css2.1/20110323/absolute-replaced-height-016.htm b/third_party/WebKit/LayoutTests/css2.1/20110323/absolute-replaced-height-016.htm
deleted file mode 100644
index 0e17fed..0000000
--- a/third_party/WebKit/LayoutTests/css2.1/20110323/absolute-replaced-height-016.htm
+++ /dev/null
@@ -1,41 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
-<html>
-    <head>
-        <title>CSS Test: Absolute replaced elements relying on intrinsic height dimensions and 'top', 'bottom' are not 'auto'</title>
-        <link rel="author" title="Microsoft" href="http://www.microsoft.com/">
-        <link rel="help" href="http://www.w3.org/TR/CSS21/visudet.html#abs-replaced-height">
-        <meta name="flags" content="image">
-        <meta name="assert" content="The 'height' is the intrinsic height when an absolutely positioned replaced element with and intrinsic height has a 'height', 'width' computed as 'auto' and 'top', 'bottom' are not 'auto'.">
-        <style type="text/css">
-            #div1
-            {
-                border-top: solid black;
-                position: relative;
-            }
-            div div
-            {
-                background: blue;
-                height: 15px;
-                left: 15px;
-                position: absolute;
-                top: 1in;
-                width: 15px;
-            }
-            img
-            {
-                bottom: 1in;
-                height: auto;
-                position: absolute;
-                top: 1in;
-                width: auto;
-            }
-        </style>
-    </head>
-    <body>
-        <p>Test passes if there is a single blue box below and it does not touch the black line.</p>
-        <div id="div1">
-            <img alt="blue 15x15" src="resources/blue15x15.png">
-            <div></div>
-        </div>
-    </body>
-</html>
diff --git a/third_party/WebKit/LayoutTests/css2.1/20110323/absolute-replaced-height-017.htm b/third_party/WebKit/LayoutTests/css2.1/20110323/absolute-replaced-height-017.htm
deleted file mode 100644
index 64e6d6b..0000000
--- a/third_party/WebKit/LayoutTests/css2.1/20110323/absolute-replaced-height-017.htm
+++ /dev/null
@@ -1,43 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
-<html>
-    <head>
-        <title>CSS Test: Absolute replaced elements with intrinsic ratios, 'height' set to 'auto' and 'top', 'bottom' are not 'auto'</title>
-        <link rel="author" title="Microsoft" href="http://www.microsoft.com/">
-        <link rel="help" href="http://www.w3.org/TR/CSS21/visudet.html#abs-replaced-height">
-        <meta name="flags" content="image">
-        <meta name="assert" content="The 'height' is the used width divided by the ratio when an absolutely positioned replaced element has an intrinsic ratio, 'height' is set to 'auto', 'width' is specified and 'top', 'bottom' are not 'auto'.">
-        <style type="text/css">
-            #div1
-            {
-                border-top: solid black;
-                position: relative;
-            }
-            div div
-            {
-                background: blue;
-                height: 1in;
-                left: 1in;
-                position: absolute;
-                top: 1in;
-            }
-            img
-            {
-                bottom: 1in;
-                height: auto;
-                position: absolute;
-                top: 1in;
-            }
-            div div, img
-            {
-                width: 1in;
-            }
-        </style>
-    </head>
-    <body>
-        <p>Test passes if there is a single blue box below and it does not touch the black line.</p>
-        <div id="div1">
-            <img alt="blue 15x15" src="resources/blue15x15.png">
-            <div></div>
-        </div>
-    </body>
-</html>
diff --git a/third_party/WebKit/LayoutTests/css2.1/20110323/absolute-replaced-height-018.htm b/third_party/WebKit/LayoutTests/css2.1/20110323/absolute-replaced-height-018.htm
deleted file mode 100644
index 3016686f8..0000000
--- a/third_party/WebKit/LayoutTests/css2.1/20110323/absolute-replaced-height-018.htm
+++ /dev/null
@@ -1,40 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
-<html>
-    <head>
-        <title>CSS Test: Absolute replaced elements without intrinsic ratios, 'height' set to 'auto' and 'top', 'bottom' are not 'auto'</title>
-        <link rel="author" title="Microsoft" href="http://www.microsoft.com/">
-        <link rel="help" href="http://www.w3.org/TR/CSS21/visudet.html#abs-replaced-height">
-        <meta name="flags" content="">
-        <meta name="assert" content="For an absolutely positioned replaced element the 'height' is set to the largest rectangle that has a 2:1 ratio that is not greater than 150px and has a 'width' not greater than the device width.">
-        <style type="text/css">
-            div
-            {
-                position: relative;
-            }
-            div div
-            {
-                border: solid green;
-                height: 150px;
-                position: absolute;
-                top: 1in;
-                width: 300px;
-            }
-            iframe
-            {
-                border: solid red;
-                bottom: 1in;
-                height: auto;
-                position: absolute;
-                top: 1in;
-                width: auto;
-            }
-        </style>
-    </head>
-    <body>
-        <p>Test passes if there is no red visible on the page.</p>
-        <div>
-            <iframe></iframe>
-            <div></div>
-        </div>
-    </body>
-</html>
\ No newline at end of file
diff --git a/third_party/WebKit/LayoutTests/css2.1/20110323/absolute-replaced-height-019.htm b/third_party/WebKit/LayoutTests/css2.1/20110323/absolute-replaced-height-019.htm
deleted file mode 100644
index 1954530..0000000
--- a/third_party/WebKit/LayoutTests/css2.1/20110323/absolute-replaced-height-019.htm
+++ /dev/null
@@ -1,40 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
-<html>
-    <head>
-        <title>CSS Test: Absolute replaced elements with percentage based intrinsic height set to 'auto' and 'top', 'bottom' are not 'auto'</title>
-        <link rel="author" title="Microsoft" href="http://www.microsoft.com/">
-        <link rel="help" href="http://www.w3.org/TR/CSS21/visudet.html#abs-replaced-height">
-        <meta name="flags" content="">
-        <meta name="assert" content="An absolutely positioned replaced element with percentage intrinsic height resolves based on the containing block height when percentage is explicitly specified.">
-        <style type="text/css">
-            #div1
-            {
-                position: relative;
-                height: 2in;
-            }
-            div div
-            {
-                border: solid green;
-                height: 1in;
-                position: absolute;
-                top: 1in;
-                width: 300px;
-            }
-            iframe
-            {
-                border: solid red;
-                bottom: 1in;
-                position: absolute;
-                top: 1in;
-                width: auto;
-            }
-        </style>
-    </head>
-    <body>
-        <p>Test passes if there is no red visible on the page.</p>
-        <div id="div1">
-            <iframe height="50%"></iframe>
-            <div></div>
-        </div>
-    </body>
-</html>
\ No newline at end of file
diff --git a/third_party/WebKit/LayoutTests/css2.1/20110323/absolute-replaced-height-021.htm b/third_party/WebKit/LayoutTests/css2.1/20110323/absolute-replaced-height-021.htm
deleted file mode 100644
index 99007a4..0000000
--- a/third_party/WebKit/LayoutTests/css2.1/20110323/absolute-replaced-height-021.htm
+++ /dev/null
@@ -1,38 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
-<html>
-    <head>
-        <title>CSS Test: Absolute replaced elements with percentage based intrinsic height that cannot be resolved where 'top' and 'bottom' are not 'auto'</title>
-        <link rel="author" title="Microsoft" href="http://www.microsoft.com/">
-        <link rel="help" href="http://www.w3.org/TR/CSS21/visudet.html#abs-replaced-height">
-        <meta name="flags" content="">
-        <meta name="assert" content="An absolutely positioned replaced element with a percentage height that cannot be resolved has no intrinsic height.">
-        <style type="text/css">
-            #div1
-            {
-                position: relative;
-            }
-            div div
-            {
-                border: solid green;
-                position: absolute;
-                top: 1in;
-                width: 300px;
-            }
-            iframe
-            {
-                border: solid red;
-                bottom: 1in;
-                position: absolute;
-                top: 1in;
-                width: auto;
-            }
-        </style>
-    </head>
-    <body>
-        <p>Test passes if there is no red visible on the page.</p>
-        <div id="div1">
-            <iframe height="50%"></iframe>
-            <div></div>
-        </div>
-    </body>
-</html>
\ No newline at end of file
diff --git a/third_party/WebKit/LayoutTests/css2.1/20110323/absolute-replaced-height-022.htm b/third_party/WebKit/LayoutTests/css2.1/20110323/absolute-replaced-height-022.htm
deleted file mode 100644
index 934b8f1..0000000
--- a/third_party/WebKit/LayoutTests/css2.1/20110323/absolute-replaced-height-022.htm
+++ /dev/null
@@ -1,41 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
-<html>
-    <head>
-        <title>CSS Test: Absolute replaced elements with 'margin-bottom' as 'auto' and 'top', 'bottom', 'margin-top' are not 'auto'</title>
-        <link rel="author" title="Microsoft" href="http://www.microsoft.com/">
-        <link rel="help" href="http://www.w3.org/TR/CSS21/visudet.html#abs-replaced-height">
-        <meta name="flags" content="image">
-        <meta name="assert" content="An absolutely positioned replaced element with only one value as 'auto' solves for that value (margin-bottom).">
-        <style type="text/css">
-            #div1
-            {
-                border-top: solid black;
-                position: relative;
-            }
-            img
-            {
-                bottom: 1in;
-                margin-bottom: auto;
-                margin-top: 0.5in;
-                position: absolute;
-                top: 0.5in;
-            }
-            div div
-            {
-                background: blue;
-                height: 15px;
-                left: 15px;
-                position: relative;
-                top: 1in;
-                width: 15px;
-            }
-        </style>
-    </head>
-    <body>
-        <p>Test passes if there is a single blue box below and it does not touch the black line.</p>
-        <div id="div1">
-            <img alt="blue 15x15" src="resources/blue15x15.png">
-            <div></div>
-        </div>
-    </body>
-</html>
diff --git a/third_party/WebKit/LayoutTests/css2.1/20110323/absolute-replaced-height-023.htm b/third_party/WebKit/LayoutTests/css2.1/20110323/absolute-replaced-height-023.htm
deleted file mode 100644
index 26132a2..0000000
--- a/third_party/WebKit/LayoutTests/css2.1/20110323/absolute-replaced-height-023.htm
+++ /dev/null
@@ -1,43 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
-<html>
-    <head>
-        <title>CSS Test: Absolute replaced elements relying on intrinsic height dimensions and 'top', 'bottom', 'margin-top' are not 'auto'</title>
-        <link rel="author" title="Microsoft" href="http://www.microsoft.com/">
-        <link rel="help" href="http://www.w3.org/TR/CSS21/visudet.html#abs-replaced-height">
-        <meta name="flags" content="image">
-        <meta name="assert" content="The 'height' is the intrinsic height when an absolutely positioned replaced element with and intrinsic height has a 'height', 'width' computed as 'auto' and 'top', 'bottom' are not 'auto'.">
-        <style type="text/css">
-            #div1
-            {
-                border-top: solid black;
-                position: relative;
-            }
-            div div
-            {
-                background: blue;
-                height: 15px;
-                left: 15px;
-                position: absolute;
-                top: 1in;
-                width: 15px;
-            }
-            img
-            {
-                bottom: 1in;
-                height: auto;
-                margin-bottom: auto;
-                margin-top: 0.5in;
-                position: absolute;
-                top: 0.5in;
-                width: auto;
-            }
-        </style>
-    </head>
-    <body>
-        <p>Test passes if there is a single blue box below and it does not touch the black line.</p>
-        <div id="div1">
-            <img alt="blue 15x15" src="resources/blue15x15.png">
-            <div></div>
-        </div>
-    </body>
-</html>
diff --git a/third_party/WebKit/LayoutTests/css2.1/20110323/absolute-replaced-height-024.htm b/third_party/WebKit/LayoutTests/css2.1/20110323/absolute-replaced-height-024.htm
deleted file mode 100644
index caa433e..0000000
--- a/third_party/WebKit/LayoutTests/css2.1/20110323/absolute-replaced-height-024.htm
+++ /dev/null
@@ -1,45 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
-<html>
-    <head>
-        <title>CSS Test: Absolute replaced elements with intrinsic ratios, 'height' set to 'auto' and 'top', 'bottom', 'margin-top' are not 'auto'</title>
-        <link rel="author" title="Microsoft" href="http://www.microsoft.com/">
-        <link rel="help" href="http://www.w3.org/TR/CSS21/visudet.html#abs-replaced-height">
-        <meta name="flags" content="image">
-        <meta name="assert" content="The 'height' is the used width divided by the ratio when an absolutely positioned replaced element has an intrinsic ratio, 'height' is set to 'auto', 'width' is specified and 'top', 'bottom' are not 'auto'.">
-        <style type="text/css">
-            #div1
-            {
-                border-top: solid black;
-                position: relative;
-            }
-            div div
-            {
-                background: blue;
-                height: 1in;
-                left: 1in;
-                position: absolute;
-                top: 1in;
-            }
-            img
-            {
-                bottom: 1in;
-                height: auto;
-                margin-bottom: auto;
-                margin-top: 0.5in;
-                position: absolute;
-                top: 0.5in;
-            }
-            div div, img
-            {
-                width: 1in;
-            }
-        </style>
-    </head>
-    <body>
-        <p>Test passes if there is a single blue box below and it does not touch the black line.</p>
-        <div id="div1">
-            <img alt="blue 15x15" src="resources/blue15x15.png">
-            <div></div>
-        </div>
-    </body>
-</html>
diff --git a/third_party/WebKit/LayoutTests/css2.1/20110323/absolute-replaced-height-025.htm b/third_party/WebKit/LayoutTests/css2.1/20110323/absolute-replaced-height-025.htm
deleted file mode 100644
index fcbf7c4..0000000
--- a/third_party/WebKit/LayoutTests/css2.1/20110323/absolute-replaced-height-025.htm
+++ /dev/null
@@ -1,42 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
-<html>
-    <head>
-        <title>CSS Test: Absolute replaced elements without intrinsic ratios, 'height' set to 'auto' and 'top', 'bottom', 'margin-top' are not 'auto'</title>
-        <link rel="author" title="Microsoft" href="http://www.microsoft.com/">
-        <link rel="help" href="http://www.w3.org/TR/CSS21/visudet.html#abs-replaced-height">
-        <meta name="flags" content="">
-        <meta name="assert" content="For an absolutely positioned replaced element the 'height' is set to the largest rectangle that has a 2:1 ratio that is not greater than 150px and has a 'width' not greater than the device width.">
-        <style type="text/css">
-            div
-            {
-                position: relative;
-            }
-            div div
-            {
-                border: solid green;
-                height: 150px;
-                position: absolute;
-                top: 1in;
-                width: 300px;
-            }
-            iframe
-            {
-                border: solid red;
-                bottom: 1in;
-                height: auto;
-                margin-bottom: auto;
-                margin-top: 0.5in;
-                position: absolute;
-                top: 0.5in;
-                width: auto;
-            }
-        </style>
-    </head>
-    <body>
-        <p>Test passes if there is no red visible on the page.</p>
-        <div>
-            <iframe></iframe>
-            <div></div>
-        </div>
-    </body>
-</html>
\ No newline at end of file
diff --git a/third_party/WebKit/LayoutTests/css2.1/20110323/absolute-replaced-height-026.htm b/third_party/WebKit/LayoutTests/css2.1/20110323/absolute-replaced-height-026.htm
deleted file mode 100644
index eca9dbd..0000000
--- a/third_party/WebKit/LayoutTests/css2.1/20110323/absolute-replaced-height-026.htm
+++ /dev/null
@@ -1,42 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
-<html>
-    <head>
-        <title>CSS Test: Absolute replaced elements with percentage based intrinsic height set to 'auto' and 'top', 'bottom', 'margin-top' are not 'auto'</title>
-        <link rel="author" title="Microsoft" href="http://www.microsoft.com/">
-        <link rel="help" href="http://www.w3.org/TR/CSS21/visudet.html#abs-replaced-height">
-        <meta name="flags" content="">
-        <meta name="assert" content="An absolutely positioned replaced element with percentage intrinsic height resolves based on the containing block height when percentage is explicitly specified.">
-        <style type="text/css">
-            #div1
-            {
-                position: relative;
-                height: 2in;
-            }
-            div div
-            {
-                border: solid green;
-                height: 1in;
-                position: absolute;
-                top: 1in;
-                width: 300px;
-            }
-            iframe
-            {
-                border: solid red;
-                bottom: 1in;
-                margin-bottom: auto;
-                margin-top: 0.5in;
-                position: absolute;
-                top: 0.5in;
-                width: auto;
-            }
-        </style>
-    </head>
-    <body>
-        <p>Test passes if there is no red visible on the page.</p>
-        <div id="div1">
-            <iframe height="50%"></iframe>
-            <div></div>
-        </div>
-    </body>
-</html>
\ No newline at end of file
diff --git a/third_party/WebKit/LayoutTests/css2.1/20110323/absolute-replaced-height-028.htm b/third_party/WebKit/LayoutTests/css2.1/20110323/absolute-replaced-height-028.htm
deleted file mode 100644
index a066491..0000000
--- a/third_party/WebKit/LayoutTests/css2.1/20110323/absolute-replaced-height-028.htm
+++ /dev/null
@@ -1,40 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
-<html>
-    <head>
-        <title>CSS Test: Absolute replaced elements with percentage based intrinsic height that cannot be resolved where 'top', 'bottom', 'margin-top' are not 'auto'</title>
-        <link rel="author" title="Microsoft" href="http://www.microsoft.com/">
-        <link rel="help" href="http://www.w3.org/TR/CSS21/visudet.html#abs-replaced-height">
-        <meta name="flags" content="">
-        <meta name="assert" content="An absolutely positioned replaced element with a percentage height that cannot be resolved has no intrinsic height.">
-        <style type="text/css">
-            #div1
-            {
-                position: relative;
-            }
-            div div
-            {
-                border: solid green;
-                position: absolute;
-                top: 1in;
-                width: 300px;
-            }
-            iframe
-            {
-                border: solid red;
-                bottom: 1in;
-                margin-bottom: auto;
-                margin-top: 0.5in;
-                position: absolute;
-                top: 0.5in;
-                width: auto;
-            }
-        </style>
-    </head>
-    <body>
-        <p>Test passes if there is no red visible on the page.</p>
-        <div id="div1">
-            <iframe height="50%"></iframe>
-            <div></div>
-        </div>
-    </body>
-</html>
\ No newline at end of file
diff --git a/third_party/WebKit/LayoutTests/css2.1/20110323/absolute-replaced-height-029.htm b/third_party/WebKit/LayoutTests/css2.1/20110323/absolute-replaced-height-029.htm
deleted file mode 100644
index 913604b4..0000000
--- a/third_party/WebKit/LayoutTests/css2.1/20110323/absolute-replaced-height-029.htm
+++ /dev/null
@@ -1,41 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
-<html>
-    <head>
-        <title>CSS Test: Absolute replaced elements with over-constrained values</title>
-        <link rel="author" title="Microsoft" href="http://www.microsoft.com/">
-        <link rel="help" href="http://www.w3.org/TR/CSS21/visudet.html#abs-replaced-height">
-        <meta name="flags" content="image">
-        <meta name="assert" content="An absolutely positioned replaced element with over-constrained values solves for 'bottom'.">
-        <style type="text/css">
-            #div1
-            {
-                border-top: solid black;
-                position: relative;
-            }
-            img
-            {
-                bottom: 0.5in;
-                margin-bottom: 0.5in;
-                margin-top: 0.5in;
-                position: absolute;
-                top: 0.5in;
-            }
-            div div
-            {
-                background: blue;
-                height: 15px;
-                left: 15px;
-                position: relative;
-                top: 1in;
-                width: 15px;
-            }
-        </style>
-    </head>
-    <body>
-        <p>Test passes if there is a single blue box below and it does not touch the black line.</p>
-        <div id="div1">
-            <img alt="blue 15x15" src="resources/blue15x15.png">
-            <div></div>
-        </div>
-    </body>
-</html>
diff --git a/third_party/WebKit/LayoutTests/css2.1/20110323/absolute-replaced-height-030.htm b/third_party/WebKit/LayoutTests/css2.1/20110323/absolute-replaced-height-030.htm
deleted file mode 100644
index 7dbeb05..0000000
--- a/third_party/WebKit/LayoutTests/css2.1/20110323/absolute-replaced-height-030.htm
+++ /dev/null
@@ -1,43 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
-<html>
-    <head>
-        <title>CSS Test: Absolute replaced elements relying on intrinsic height dimensions and over-constrained values</title>
-        <link rel="author" title="Microsoft" href="http://www.microsoft.com/">
-        <link rel="help" href="http://www.w3.org/TR/CSS21/visudet.html#abs-replaced-height">
-        <meta name="flags" content="image">
-        <meta name="assert" content="The 'height' is the intrinsic height when an absolutely positioned replaced element with and intrinsic height with over-constrained values solves for 'bottom'.">
-        <style type="text/css">
-            #div1
-            {
-                border-top: solid black;
-                position: relative;
-            }
-            div div
-            {
-                background: blue;
-                height: 15px;
-                left: 15px;
-                position: absolute;
-                top: 1in;
-                width: 15px;
-            }
-            img
-            {
-                bottom: 1in;
-                height: auto;
-                margin-bottom: 0.5in;
-                margin-top: 0.5in;
-                position: absolute;
-                top: 0.5in;
-                width: auto;
-            }
-        </style>
-    </head>
-    <body>
-        <p>Test passes if there is a single blue box below and it does not touch the black line.</p>
-        <div id="div1">
-            <img alt="blue 15x15" src="resources/blue15x15.png">
-            <div></div>
-        </div>
-    </body>
-</html>
diff --git a/third_party/WebKit/LayoutTests/css2.1/20110323/absolute-replaced-height-031.htm b/third_party/WebKit/LayoutTests/css2.1/20110323/absolute-replaced-height-031.htm
deleted file mode 100644
index 6576289..0000000
--- a/third_party/WebKit/LayoutTests/css2.1/20110323/absolute-replaced-height-031.htm
+++ /dev/null
@@ -1,45 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
-<html>
-    <head>
-        <title>CSS Test: Absolute replaced elements with intrinsic ratios, 'height' set to 'auto' and over-constrained values</title>
-        <link rel="author" title="Microsoft" href="http://www.microsoft.com/">
-        <link rel="help" href="http://www.w3.org/TR/CSS21/visudet.html#abs-replaced-height">
-        <meta name="flags" content="image">
-        <meta name="assert" content="The 'height' is the used width divided by the ratio when an absolutely positioned replaced element has an intrinsic ratio, 'height' is set to 'auto', with over-constrained values solves for 'bottom'.">
-        <style type="text/css">
-            #div1
-            {
-                border-top: solid black;
-                position: relative;
-            }
-            div div
-            {
-                background: blue;
-                height: 1in;
-                left: 1in;
-                position: absolute;
-                top: 1in;
-            }
-            img
-            {
-                bottom: 1in;
-                height: auto;
-                margin-bottom: 0.5in;
-                margin-top: 0.5in;
-                position: absolute;
-                top: 0.5in;
-            }
-            div div, img
-            {
-                width: 1in;
-            }
-        </style>
-    </head>
-    <body>
-        <p>Test passes if there is a single blue box below and it does not touch the black line.</p>
-        <div id="div1">
-            <img alt="blue 15x15" src="resources/blue15x15.png">
-            <div></div>
-        </div>
-    </body>
-</html>
diff --git a/third_party/WebKit/LayoutTests/css2.1/20110323/absolute-replaced-height-032.htm b/third_party/WebKit/LayoutTests/css2.1/20110323/absolute-replaced-height-032.htm
deleted file mode 100644
index 91f4d7f..0000000
--- a/third_party/WebKit/LayoutTests/css2.1/20110323/absolute-replaced-height-032.htm
+++ /dev/null
@@ -1,42 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
-<html>
-    <head>
-        <title>CSS Test: Absolute replaced elements without intrinsic ratios, 'height' set to 'auto' and over-constrained values</title>
-        <link rel="author" title="Microsoft" href="http://www.microsoft.com/">
-        <link rel="help" href="http://www.w3.org/TR/CSS21/visudet.html#abs-replaced-height">
-        <meta name="flags" content="">
-        <meta name="assert" content="For an absolutely positioned replaced element the 'height' is set to the largest rectangle that has a 2:1 ratio that is not greater than 150px and has a 'width' not greater than the device width. And with over-constrained values element solves for 'bottom'.">
-        <style type="text/css">
-            div
-            {
-                position: relative;
-            }
-            div div
-            {
-                border: solid green;
-                height: 150px;
-                position: absolute;
-                top: 1in;
-                width: 300px;
-            }
-            iframe
-            {
-                border: solid red;
-                bottom: 1in;
-                height: auto;
-                margin-bottom: 0.5in;
-                margin-top: 0.5in;
-                position: absolute;
-                top: 0.5in;
-                width: auto;
-            }
-        </style>
-    </head>
-    <body>
-        <p>Test passes if there is no red visible on the page.</p>
-        <div>
-            <iframe></iframe>
-            <div></div>
-        </div>
-    </body>
-</html>
\ No newline at end of file
diff --git a/third_party/WebKit/LayoutTests/css2.1/20110323/absolute-replaced-height-033.htm b/third_party/WebKit/LayoutTests/css2.1/20110323/absolute-replaced-height-033.htm
deleted file mode 100644
index ab0e7470..0000000
--- a/third_party/WebKit/LayoutTests/css2.1/20110323/absolute-replaced-height-033.htm
+++ /dev/null
@@ -1,42 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
-<html>
-    <head>
-        <title>CSS Test: Absolute replaced elements with percentage based intrinsic height set to 'auto' and over-constrained values</title>
-        <link rel="author" title="Microsoft" href="http://www.microsoft.com/">
-        <link rel="help" href="http://www.w3.org/TR/CSS21/visudet.html#abs-replaced-height">
-        <meta name="flags" content="">
-        <meta name="assert" content="An absolutely positioned replaced element with percentage intrinsic height resolves based on the containing block height when percentage is explicitly specified.">
-        <style type="text/css">
-            #div1
-            {
-                position: relative;
-                height: 2in;
-            }
-            div div
-            {
-                border: solid green;
-                height: 1in;
-                position: absolute;
-                top: 1in;
-                width: 300px;
-            }
-            iframe
-            {
-                border: solid red;
-                bottom: 1in;
-                margin-bottom: 0.5in;
-                margin-top: 0.5in;
-                position: absolute;
-                top: 0.5in;
-                width: auto;
-            }
-        </style>
-    </head>
-    <body>
-        <p>Test passes if there is no red visible on the page.</p>
-        <div id="div1">
-            <iframe height="50%"></iframe>
-            <div></div>
-        </div>
-    </body>
-</html>
\ No newline at end of file
diff --git a/third_party/WebKit/LayoutTests/css2.1/20110323/absolute-replaced-height-035.htm b/third_party/WebKit/LayoutTests/css2.1/20110323/absolute-replaced-height-035.htm
deleted file mode 100644
index c2483c4..0000000
--- a/third_party/WebKit/LayoutTests/css2.1/20110323/absolute-replaced-height-035.htm
+++ /dev/null
@@ -1,40 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
-<html>
-    <head>
-        <title>CSS Test: Absolute replaced elements with percentage based intrinsic height that cannot be resolved and there are over-constrained values</title>
-        <link rel="author" title="Microsoft" href="http://www.microsoft.com/">
-        <link rel="help" href="http://www.w3.org/TR/CSS21/visudet.html#abs-replaced-height">
-        <meta name="flags" content="">
-        <meta name="assert" content="An absolutely positioned replaced element with a percentage height that cannot be resolved has no intrinsic height.">
-        <style type="text/css">
-            #div1
-            {
-                position: relative;
-            }
-            div div
-            {
-                border: solid green;
-                position: absolute;
-                top: 1in;
-                width: 300px;
-            }
-            iframe
-            {
-                border: solid red;
-                bottom: 1in;
-                margin-bottom: 0.5in;
-                margin-top: 0.5in;
-                position: absolute;
-                top: 0.5in;
-                width: auto;
-            }
-        </style>
-    </head>
-    <body>
-        <p>Test passes if there is no red visible on the page.</p>
-        <div id="div1">
-            <iframe height="50%"></iframe>
-            <div></div>
-        </div>
-    </body>
-</html>
\ No newline at end of file
diff --git a/third_party/WebKit/LayoutTests/css2.1/20110323/absolute-replaced-height-036.htm b/third_party/WebKit/LayoutTests/css2.1/20110323/absolute-replaced-height-036.htm
deleted file mode 100644
index 0920f56..0000000
--- a/third_party/WebKit/LayoutTests/css2.1/20110323/absolute-replaced-height-036.htm
+++ /dev/null
@@ -1,61 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
-<html>
- <head>
-  <title>CSS Test: Absolute Replaced Elements: specified 'top' and 'bottom' with auto margins</title>
-  <link rel="author" title="Elika J. Etemad" href="http://fantasai.inkedblade.net/">
-  <link rel="help" href="http://www.w3.org/TR/CSS21/visufx.html#clipping">
-  <meta name="flags" content="image">
-  <meta name="assert" content="If 'top' and 'bottom' are specified on an     absolutely-positioned replaced element, then any remaining space is     split amongst the 'auto' vertical margins.">
-  <style type="text/css">
-    .container {
-      position: relative;
-      width: 45px;
-      height: 45px;
-      /* Uncomment for debugging:
-         border: solid silver;
-         background: aqua; */
-    }
-    .abspos {
-      position: absolute;
-      top: 0; bottom: 0;
-      background: red;
-    }
-    .one {
-      margin: auto;
-      left: 0;
-    }
-    .two {
-      margin-top: auto;
-      left: 15px;
-    }
-    .three {
-      margin-bottom: auto;
-      right: 0;
-    }
-    .control1 {
-      height: 15px;
-      border-right: 15px solid red;
-    }
-    .control2 {
-      height: 15px;
-      border-left: 15px solid red;
-    }
-    .control3 {
-      height: 15px;
-      margin: 0 15px;
-      background: red;
-    }
-  </style>
- </head>
- <body>
-    <p>There must be no red.</p>
-    <div class="container">
-      <img class="abspos one" src="resources/swatch-white.png" alt="FAIL: image support required">
-      <img class="abspos two" src="resources/swatch-white.png" alt="FAIL: image support required">
-      <img class="abspos three" src="resources/swatch-white.png" alt="FAIL: image support required">
-      <div class="control1"></div>
-      <div class="control2"></div>
-      <div class="control3"></div>
-    </div>
- </body>
-</html>
diff --git a/third_party/WebKit/LayoutTests/css2.1/20110323/absolute-replaced-width-001.htm b/third_party/WebKit/LayoutTests/css2.1/20110323/absolute-replaced-width-001.htm
deleted file mode 100644
index c49ef0f7..0000000
--- a/third_party/WebKit/LayoutTests/css2.1/20110323/absolute-replaced-width-001.htm
+++ /dev/null
@@ -1,38 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
-<html>
-    <head>
-        <title>CSS Test: Absolute replaced elements and 'auto' specified for 'margin-left', 'margin-right' and intrinsic width</title>
-        <link rel="author" title="Microsoft" href="http://www.microsoft.com/">
-        <link rel="help" href="http://www.w3.org/TR/CSS21/visudet.html#abs-replaced-width">
-        <meta name="flags" content="image">
-        <meta name="assert" content="Computed value of 'auto' for 'margin-left' or margin-right' on absolute replaced elements becomes a used value of '0'. The intrinsic width is also used if 'height' and 'width' are 'auto'.">
-        <style type="text/css">
-            #div1
-            {
-                border: solid black;
-                height: 2in;
-                width: 2in;
-            }
-            img
-            {
-                margin-left: auto;
-                margin-right: auto;
-                position: absolute;
-            }
-            div div
-            {
-                background: orange;
-                height: 15px;
-                margin-top: 15px;
-                width: 15px;
-            }
-        </style>
-    </head>
-    <body>
-        <p>Test passes if the blue and orange boxes below are the same width, and the blue box is in the upper-left corner of the black box.</p>
-        <div id="div1">
-            <img alt="blue 15x15" src="resources/blue15x15.png">
-            <div></div>
-        </div>
-    </body>
-</html>
diff --git a/third_party/WebKit/LayoutTests/css2.1/20110323/absolute-replaced-width-006.htm b/third_party/WebKit/LayoutTests/css2.1/20110323/absolute-replaced-width-006.htm
deleted file mode 100644
index 79a7d307..0000000
--- a/third_party/WebKit/LayoutTests/css2.1/20110323/absolute-replaced-width-006.htm
+++ /dev/null
@@ -1,43 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
-<html>
-    <head>
-        <title>CSS Test: Absolute replaced elements and 'auto' specified for 'margin-left', 'margin-right' and percentage intrinsic width</title>
-        <link rel="author" title="Microsoft" href="http://www.microsoft.com/">
-        <link rel="help" href="http://www.w3.org/TR/CSS21/visudet.html#abs-replaced-width">
-        <meta name="flags" content="image">
-        <meta name="assert" content="Percentage intrinsic widths are evaluated against the containing block's width.">
-        <style type="text/css">
-            div
-            {
-                line-height: 0;
-            }
-            #div1
-            {
-                border: solid black;
-                height: 3in;
-                position: relative;
-                width: 2in;
-            }
-            img
-            {
-                margin-left: auto;
-                margin-right: auto;
-                position: absolute;
-            }
-            div div
-            {
-                background: orange;
-                height: 1in;
-                margin-top: 1in;
-                width: 1in;
-            }
-        </style>
-    </head>
-    <body>
-        <p>Test passes if the blue and orange boxes below are the same width, and the blue box is in the upper-left corner of the black box.</p>
-        <div id="div1">
-            <img alt="blue 15x15" src="resources/blue15x15.png" width="50%">
-            <div></div>
-        </div>
-    </body>
-</html>
diff --git a/third_party/WebKit/LayoutTests/css2.1/20110323/absolute-replaced-width-008.htm b/third_party/WebKit/LayoutTests/css2.1/20110323/absolute-replaced-width-008.htm
deleted file mode 100644
index 14e9ebc..0000000
--- a/third_party/WebKit/LayoutTests/css2.1/20110323/absolute-replaced-width-008.htm
+++ /dev/null
@@ -1,41 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
-<html>
-    <head>
-        <title>CSS Test: Absolute replaced elements with 'direction' as left-to-right, 'auto' specified for 'margin-left', 'margin-right', 'left', 'right' and intrinsic width</title>
-        <link rel="author" title="Microsoft" href="http://www.microsoft.com/">
-        <link rel="help" href="http://www.w3.org/TR/CSS21/visudet.html#abs-replaced-width">
-        <meta name="flags" content="image">
-        <meta name="assert" content="Computed value of 'auto' for 'margin-left' or margin-right' on absolute replaced elements becomes a used value of '0'. The intrinsic width is also used if 'height' and 'width' are 'auto'.">
-        <style type="text/css">
-            #div1
-            {
-                border: solid black;
-                direction: ltr;
-                height: 2in;
-                width: 2in;
-            }
-            img
-            {
-                margin-left: auto;
-                margin-right: auto;
-                left: auto;
-                position: absolute;
-                right: auto;
-            }
-            div div
-            {
-                background: orange;
-                height: 15px;
-                margin-top: 15px;
-                width: 15px;
-            }
-        </style>
-    </head>
-    <body>
-        <p>Test passes if the blue and orange boxes below are the same width, and the blue box is in the upper-left corner of the black box.</p>
-        <div id="div1">
-            <img alt="blue 15x15" src="resources/blue15x15.png">
-            <div></div>
-        </div>
-    </body>
-</html>
diff --git a/third_party/WebKit/LayoutTests/css2.1/20110323/absolute-replaced-width-013.htm b/third_party/WebKit/LayoutTests/css2.1/20110323/absolute-replaced-width-013.htm
deleted file mode 100644
index 104abbf..0000000
--- a/third_party/WebKit/LayoutTests/css2.1/20110323/absolute-replaced-width-013.htm
+++ /dev/null
@@ -1,46 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
-<html>
-    <head>
-        <title>CSS Test: Absolute replaced elements with 'direction' as left-to-right, 'auto' specified for 'margin-left', 'margin-right', 'left', 'right' and percentage intrinsic width</title>
-        <link rel="author" title="Microsoft" href="http://www.microsoft.com/">
-        <link rel="help" href="http://www.w3.org/TR/CSS21/visudet.html#abs-replaced-width">
-        <meta name="flags" content="image">
-        <meta name="assert" content="Percentage intrinsic widths are evaluated against the containing block's width.">
-        <style type="text/css">
-            div
-            {
-                line-height: 0;
-            }
-            #div1
-            {
-                border: solid black;
-                direction: ltr;
-                height: 3in;
-                position: relative;
-                width: 2in;
-            }
-            img
-            {
-                margin-left: auto;
-                margin-right: auto;
-                left: auto;
-                position: absolute;
-                right: auto;
-            }
-            div div
-            {
-                background: orange;
-                height: 1in;
-                margin-top: 1in;
-                width: 1in;
-            }
-        </style>
-    </head>
-    <body>
-        <p>Test passes if the blue and orange boxes below are the same width, and the blue box is in the upper-left corner of the black box.</p>
-        <div id="div1">
-            <img alt="blue 15x15" src="resources/blue15x15.png" width="50%">
-            <div></div>
-        </div>
-    </body>
-</html>
diff --git a/third_party/WebKit/LayoutTests/css2.1/20110323/absolute-replaced-width-015.htm b/third_party/WebKit/LayoutTests/css2.1/20110323/absolute-replaced-width-015.htm
deleted file mode 100644
index 8e600312..0000000
--- a/third_party/WebKit/LayoutTests/css2.1/20110323/absolute-replaced-width-015.htm
+++ /dev/null
@@ -1,42 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
-<html>
-    <head>
-        <title>CSS Test: Absolute replaced elements with 'direction' as right-to-left, 'auto' specified for 'margin-left', 'margin-right', 'left', 'right' and intrinsic width</title>
-        <link rel="author" title="Microsoft" href="http://www.microsoft.com/">
-        <link rel="help" href="http://www.w3.org/TR/CSS21/visudet.html#abs-replaced-width">
-        <meta name="flags" content="image">
-        <meta name="assert" content="Computed value of 'auto' for 'margin-left' or margin-right' on absolute replaced elements becomes a used value of '0'. The intrinsic width is also used if 'height' and 'width' are 'auto'.">
-        <style type="text/css">
-            #div1
-            {
-                border: solid black;
-                direction: rtl;
-                height: 2in;
-                position: relative;
-                width: 2in;
-            }
-            img
-            {
-                margin-left: auto;
-                margin-right: auto;
-                left: auto;
-                position: absolute;
-                right: auto;
-            }
-            div div
-            {
-                background: orange;
-                height: 15px;
-                margin-top: 15px;
-                width: 15px;
-            }
-        </style>
-    </head>
-    <body>
-        <p>Test passes if the blue and orange boxes below are the same width, and the blue box is in the upper-right corner of the black box.</p>
-        <div id="div1">
-            <img alt="blue 15x15" src="resources/blue15x15.png">
-            <div></div>
-        </div>
-    </body>
-</html>
diff --git a/third_party/WebKit/LayoutTests/css2.1/20110323/absolute-replaced-width-020.htm b/third_party/WebKit/LayoutTests/css2.1/20110323/absolute-replaced-width-020.htm
deleted file mode 100644
index ff194e1..0000000
--- a/third_party/WebKit/LayoutTests/css2.1/20110323/absolute-replaced-width-020.htm
+++ /dev/null
@@ -1,46 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
-<html>
-    <head>
-        <title>CSS Test: Absolute replaced elements with 'direction' as right-to-left, 'auto' specified for 'margin-left', 'margin-right', 'left', 'right' and percentage intrinsic width</title>
-        <link rel="author" title="Microsoft" href="http://www.microsoft.com/">
-        <link rel="help" href="http://www.w3.org/TR/CSS21/visudet.html#abs-replaced-width">
-        <meta name="flags" content="image">
-        <meta name="assert" content="Percentage intrinsic widths are evaluated against the containing block's width.">
-        <style type="text/css">
-            div
-            {
-                line-height: 0;
-            }
-            #div1
-            {
-                border: solid black;
-                direction: rtl;
-                height: 3in;
-                position: relative;
-                width: 2in;
-            }
-            img
-            {
-                margin-left: auto;
-                margin-right: auto;
-                left: auto;
-                position: absolute;
-                right: auto;
-            }
-            div div
-            {
-                background: orange;
-                height: 1in;
-                margin-top: 1in;
-                width: 1in;
-            }
-        </style>
-    </head>
-    <body>
-        <p>Test passes if the blue and orange boxes below are the same width, and the blue box is in the upper-right corner of the black box.</p>
-        <div id="div1">
-            <img alt="blue 15x15" src="resources/blue15x15.png" width="50%">
-            <div></div>
-        </div>
-    </body>
-</html>
diff --git a/third_party/WebKit/LayoutTests/css2.1/20110323/absolute-replaced-width-022.htm b/third_party/WebKit/LayoutTests/css2.1/20110323/absolute-replaced-width-022.htm
deleted file mode 100644
index fef7407..0000000
--- a/third_party/WebKit/LayoutTests/css2.1/20110323/absolute-replaced-width-022.htm
+++ /dev/null
@@ -1,43 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
-<html>
-    <head>
-        <title>CSS Test: Absolute replaced elements with 'direction' as left-to-right, 'auto' specified for 'margin-left', 'margin-right', 'right' and intrinsic width</title>
-        <link rel="author" title="Microsoft" href="http://www.microsoft.com/">
-        <link rel="help" href="http://www.w3.org/TR/CSS21/visudet.html#abs-replaced-width">
-        <meta name="flags" content="image">
-        <meta name="assert" content="Computed value of 'auto' for 'margin-left' or margin-right' on absolute replaced elements becomes a used value of '0'. The intrinsic width is also used if 'height' and 'width' are 'auto'.">
-        <style type="text/css">
-            #div1
-            {
-                border: solid black;
-                direction: ltr;
-                height: 2in;
-                position: relative;
-                width: 2in;
-            }
-            img
-            {
-                margin-left: auto;
-                margin-right: auto;
-                left: 1in;
-                position: absolute;
-                right: auto;
-            }
-            div div
-            {
-                background: orange;
-                height: 96px;
-                margin-left: 1in;
-                margin-top: 96px;
-                width: 96px;
-            }
-        </style>
-    </head>
-    <body>
-        <p>Test passes if the blue and orange boxes below are the same width, and the blue box is in the upper-right corner of the black box.</p>
-        <div id="div1">
-            <img alt="blue 96x96" src="resources/blue96x96.png">
-            <div></div>
-        </div>
-    </body>
-</html>
diff --git a/third_party/WebKit/LayoutTests/css2.1/20110323/absolute-replaced-width-027.htm b/third_party/WebKit/LayoutTests/css2.1/20110323/absolute-replaced-width-027.htm
deleted file mode 100644
index 3472b2f6..0000000
--- a/third_party/WebKit/LayoutTests/css2.1/20110323/absolute-replaced-width-027.htm
+++ /dev/null
@@ -1,47 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
-<html>
-    <head>
-        <title>CSS Test: Absolute replaced elements with 'direction' as left-to-right, 'auto' specified for 'margin-left', 'margin-right', 'right' and percentage intrinsic width</title>
-        <link rel="author" title="Microsoft" href="http://www.microsoft.com/">
-        <link rel="help" href="http://www.w3.org/TR/CSS21/visudet.html#abs-replaced-width">
-        <meta name="flags" content="image">
-        <meta name="assert" content="Percentage intrinsic widths are evaluated against the containing block's width.">
-        <style type="text/css">
-            div
-            {
-                line-height: 0;
-            }
-            #div1
-            {
-                border: solid black;
-                direction: ltr;
-                height: 3in;
-                position: relative;
-                width: 2in;
-            }
-            img
-            {
-                margin-left: auto;
-                margin-right: auto;
-                left: 1in;
-                position: absolute;
-                right: auto;
-            }
-            div div
-            {
-                background: orange;
-                height: 1in;
-                margin-left: 1in;
-                margin-top: 1in;
-                width: 1in;
-            }
-        </style>
-    </head>
-    <body>
-        <p>Test passes if the blue and orange boxes below are the same width, and the blue box is in the upper-right corner of the black box.</p>
-        <div id="div1">
-            <img alt="blue 15x15" src="resources/blue15x15.png" width="50%">
-            <div></div>
-        </div>
-    </body>
-</html>
diff --git a/third_party/WebKit/LayoutTests/css2.1/20110323/absolute-replaced-width-029.htm b/third_party/WebKit/LayoutTests/css2.1/20110323/absolute-replaced-width-029.htm
deleted file mode 100644
index f2c2b08a..0000000
--- a/third_party/WebKit/LayoutTests/css2.1/20110323/absolute-replaced-width-029.htm
+++ /dev/null
@@ -1,43 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
-<html>
-    <head>
-        <title>CSS Test: Absolute replaced elements with 'direction' as right-to-left, 'auto' specified for 'margin-left', 'margin-right', 'right' and intrinsic width</title>
-        <link rel="author" title="Microsoft" href="http://www.microsoft.com/">
-        <link rel="help" href="http://www.w3.org/TR/CSS21/visudet.html#abs-replaced-width">
-        <meta name="flags" content="image">
-        <meta name="assert" content="Computed value of 'auto' for 'margin-left' or margin-right' on absolute replaced elements becomes a used value of '0'. The intrinsic width is also used if 'height' and 'width' are 'auto'.">
-        <style type="text/css">
-            #div1
-            {
-                border: solid black;
-                direction: rtl;
-                height: 2in;
-                position: relative;
-                width: 2in;
-            }
-            img
-            {
-                margin-left: auto;
-                margin-right: auto;
-                left: 1in;
-                position: absolute;
-                right: auto;
-            }
-            div div
-            {
-                background: orange;
-                height: 96px;
-                margin-left: 1in;
-                margin-top: 96px;
-                width: 96px;
-            }
-        </style>
-    </head>
-    <body>
-        <p>Test passes if the blue and orange boxes below are the same width, and the blue box is in the upper-right corner of the black box.</p>
-        <div id="div1">
-            <img alt="blue 96x96" src="resources/blue96x96.png">
-            <div></div>
-        </div>
-    </body>
-</html>
diff --git a/third_party/WebKit/LayoutTests/css2.1/20110323/absolute-replaced-width-034.htm b/third_party/WebKit/LayoutTests/css2.1/20110323/absolute-replaced-width-034.htm
deleted file mode 100644
index 35dba16..0000000
--- a/third_party/WebKit/LayoutTests/css2.1/20110323/absolute-replaced-width-034.htm
+++ /dev/null
@@ -1,46 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
-<html>
-    <head>
-        <title>CSS Test: Absolute replaced elements with 'direction' as right-to-left, 'auto' specified for 'margin-left', 'margin-right', 'right' and percentage intrinsic width</title>
-        <link rel="author" title="Microsoft" href="http://www.microsoft.com/">
-        <link rel="help" href="http://www.w3.org/TR/CSS21/visudet.html#abs-replaced-width">
-        <meta name="flags" content="image">
-        <meta name="assert" content="Percentage intrinsic widths are evaluated against the containing block's width.">
-        <style type="text/css">
-            div
-            {
-                line-height: 0;
-            }
-            #div1
-            {
-                border: solid black;
-                direction: rtl;
-                height: 3in;
-                position: relative;
-                width: 2in;
-            }
-            img
-            {
-                margin-left: auto;
-                margin-right: auto;
-                left: 1in;
-                position: absolute;
-                right: auto;
-            }
-            div div
-            {
-                background: orange;
-                height: 1in;
-                margin-top: 1in;
-                width: 1in;
-            }
-        </style>
-    </head>
-    <body>
-        <p>Test passes if the blue and orange boxes below are the same width, and the blue box is in the upper-right corner of the black box.</p>
-        <div id="div1">
-            <img alt="blue 15x15" src="resources/blue15x15.png" width="50%">
-            <div></div>
-        </div>
-    </body>
-</html>
diff --git a/third_party/WebKit/LayoutTests/css2.1/20110323/absolute-replaced-width-036.htm b/third_party/WebKit/LayoutTests/css2.1/20110323/absolute-replaced-width-036.htm
deleted file mode 100644
index d60f10e7..0000000
--- a/third_party/WebKit/LayoutTests/css2.1/20110323/absolute-replaced-width-036.htm
+++ /dev/null
@@ -1,44 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
-<html>
-    <head>
-        <title>CSS Test: Absolute replaced elements with 'direction' as left-to-right, 'auto' specified for 'margin-left', 'margin-right' and intrinsic width</title>
-        <link rel="author" title="Microsoft" href="http://www.microsoft.com/">
-        <link rel="help" href="http://www.w3.org/TR/CSS21/visudet.html#abs-replaced-width">
-        <meta name="flags" content="image">
-        <meta name="assert" content="Computed value of 'auto' for 'margin-left' or margin-right' on absolute replaced elements becomes a used value of '0'. The intrinsic width is also used if 'height' and 'width' are 'auto'.">
-        <style type="text/css">
-            #div1
-            {
-                border: solid black;
-                direction: ltr;
-                height: 2in;
-                position: relative;
-                width: 2in;
-            }
-            img
-            {
-                margin-left: auto;
-                margin-right: auto;
-                left: 0.5in;
-                position: absolute;
-                right: 0.5in;
-            }
-            div div
-            {
-                background: orange;
-                height: 96px;
-                margin-left: 0.5in;
-                margin-right: 0.5in;
-                margin-top: 96px;
-                width: 96px;
-            }
-        </style>
-    </head>
-    <body>
-        <p>Test passes if the blue and orange boxes below are the same width, and the boxes are horizontally centered inside the black box.</p>
-        <div id="div1">
-            <img alt="blue 96x96" src="resources/blue96x96.png">
-            <div></div>
-        </div>
-    </body>
-</html>
diff --git a/third_party/WebKit/LayoutTests/css2.1/20110323/absolute-replaced-width-041.htm b/third_party/WebKit/LayoutTests/css2.1/20110323/absolute-replaced-width-041.htm
deleted file mode 100644
index 3e3e4f5..0000000
--- a/third_party/WebKit/LayoutTests/css2.1/20110323/absolute-replaced-width-041.htm
+++ /dev/null
@@ -1,48 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
-<html>
-    <head>
-        <title>CSS Test: Absolute replaced elements with 'direction' as left-to-right, 'auto' specified for 'margin-left', 'margin-right' and percentage intrinsic width</title>
-        <link rel="author" title="Microsoft" href="http://www.microsoft.com/">
-        <link rel="help" href="http://www.w3.org/TR/CSS21/visudet.html#abs-replaced-width">
-        <meta name="flags" content="image">
-        <meta name="assert" content="Percentage intrinsic widths are evaluated against the containing block's width.">
-        <style type="text/css">
-            div
-            {
-                line-height: 0;
-            }
-            #div1
-            {
-                border: solid black;
-                direction: ltr;
-                height: 3in;
-                position: relative;
-                width: 2in;
-            }
-            img
-            {
-                margin-left: auto;
-                margin-right: auto;
-                left: 0.5in;
-                position: absolute;
-                right: 0.5in;
-            }
-            div div
-            {
-                background: orange;
-                height: 1in;
-                margin-left: 0.5in;
-                margin-right: 0.5in;
-                margin-top: 1in;
-                width: 1in;
-            }
-        </style>
-    </head>
-    <body>
-        <p>Test passes if the blue and orange boxes below are the same width, and the boxes are horizontally centered inside the black box.</p>
-        <div id="div1">
-            <img alt="blue 15x15" src="resources/blue15x15.png" width="50%">
-            <div></div>
-        </div>
-    </body>
-</html>
diff --git a/third_party/WebKit/LayoutTests/css2.1/20110323/absolute-replaced-width-043.htm b/third_party/WebKit/LayoutTests/css2.1/20110323/absolute-replaced-width-043.htm
deleted file mode 100644
index 0e0b07f..0000000
--- a/third_party/WebKit/LayoutTests/css2.1/20110323/absolute-replaced-width-043.htm
+++ /dev/null
@@ -1,44 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
-<html>
-    <head>
-        <title>CSS Test: Absolute replaced elements with 'direction' as right-to-left, 'auto' specified for 'margin-left', 'margin-right' and intrinsic width</title>
-        <link rel="author" title="Microsoft" href="http://www.microsoft.com/">
-        <link rel="help" href="http://www.w3.org/TR/CSS21/visudet.html#abs-replaced-width">
-        <meta name="flags" content="image">
-        <meta name="assert" content="Computed value of 'auto' for 'margin-left' or margin-right' on absolute replaced elements becomes a used value of '0'. The intrinsic width is also used if 'height' and 'width' are 'auto'.">
-        <style type="text/css">
-            #div1
-            {
-                border: solid black;
-                direction: rtl;
-                height: 2in;
-                position: relative;
-                width: 2in;
-            }
-            img
-            {
-                margin-left: auto;
-                margin-right: auto;
-                left: 0.5in;
-                position: absolute;
-                right: 0.5in;
-            }
-            div div
-            {
-                background: orange;
-                height: 96px;
-                margin-left: 0.5in;
-                margin-right: 0.5in;
-                margin-top: 96px;
-                width: 96px;
-            }
-        </style>
-    </head>
-    <body>
-        <p>Test passes if the blue and orange boxes below are the same width, and the boxes are horizontally centered inside the black box.</p>
-        <div id="div1">
-            <img alt="blue 96x96" src="resources/blue96x96.png">
-            <div></div>
-        </div>
-    </body>
-</html>
diff --git a/third_party/WebKit/LayoutTests/css2.1/20110323/absolute-replaced-width-048.htm b/third_party/WebKit/LayoutTests/css2.1/20110323/absolute-replaced-width-048.htm
deleted file mode 100644
index 382a40c..0000000
--- a/third_party/WebKit/LayoutTests/css2.1/20110323/absolute-replaced-width-048.htm
+++ /dev/null
@@ -1,48 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
-<html>
-    <head>
-        <title>CSS Test: Absolute replaced elements with 'direction' as right-to-left, 'auto' specified for 'margin-left', 'margin-right' and percentage intrinsic width</title>
-        <link rel="author" title="Microsoft" href="http://www.microsoft.com/">
-        <link rel="help" href="http://www.w3.org/TR/CSS21/visudet.html#abs-replaced-width">
-        <meta name="flags" content="image">
-        <meta name="assert" content="Percentage intrinsic widths are evaluated against the containing block's width.">
-        <style type="text/css">
-            div
-            {
-                line-height: 0;
-            }
-            #div1
-            {
-                border: solid black;
-                direction: rtl;
-                height: 3in;
-                position: relative;
-                width: 2in;
-            }
-            img
-            {
-                margin-left: auto;
-                margin-right: auto;
-                left: 0.5in;
-                position: absolute;
-                right: 0.5in;
-            }
-            div div
-            {
-                background: orange;
-                height: 1in;
-                margin-left: 0.5in;
-                margin-right: 0.5in;
-                margin-top: 1in;
-                width: 1in;
-            }
-        </style>
-    </head>
-    <body>
-        <p>Test passes if the blue and orange boxes below are the same width, and the boxes are horizontally centered inside the black box.</p>
-        <div id="div1">
-            <img alt="blue 15x15" src="resources/blue15x15.png" width="50%">
-            <div></div>
-        </div>
-    </body>
-</html>
diff --git a/third_party/WebKit/LayoutTests/css2.1/20110323/absolute-replaced-width-050.htm b/third_party/WebKit/LayoutTests/css2.1/20110323/absolute-replaced-width-050.htm
deleted file mode 100644
index 859ed72f..0000000
--- a/third_party/WebKit/LayoutTests/css2.1/20110323/absolute-replaced-width-050.htm
+++ /dev/null
@@ -1,44 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
-<html>
-    <head>
-        <title>CSS Test: Absolute replaced elements with 'direction' as left-to-right, 'auto' specified for 'margin-right' and intrinsic width</title>
-        <link rel="author" title="Microsoft" href="http://www.microsoft.com/">
-        <link rel="help" href="http://www.w3.org/TR/CSS21/visudet.html#abs-replaced-width">
-        <meta name="flags" content="image">
-        <meta name="assert" content="Computed value of 'auto' for 'margin-left' or margin-right' on absolute replaced elements becomes a used value of '0'. The intrinsic width is also used if 'height' and 'width' are 'auto'.">
-        <style type="text/css">
-            #div1
-            {
-                border: solid black;
-                direction: ltr;
-                height: 2in;
-                position: relative;
-                width: 2in;
-            }
-            img
-            {
-                margin-left: 0.25in;
-                margin-right: auto;
-                left: 0.25in;
-                position: absolute;
-                right: 0.5in;
-            }
-            div div
-            {
-                background: orange;
-                height: 96px;
-                margin-left: 0.5in;
-                margin-right: 0.5in;
-                margin-top: 96px;
-                width: 96px;
-            }
-        </style>
-    </head>
-    <body>
-        <p>Test passes if the blue and orange boxes below are the same width, and the boxes are horizontally centered inside the black box.</p>
-        <div id="div1">
-            <img alt="blue 96x96" src="resources/blue96x96.png">
-            <div></div>
-        </div>
-    </body>
-</html>
diff --git a/third_party/WebKit/LayoutTests/css2.1/20110323/absolute-replaced-width-055.htm b/third_party/WebKit/LayoutTests/css2.1/20110323/absolute-replaced-width-055.htm
deleted file mode 100644
index a97ac561..0000000
--- a/third_party/WebKit/LayoutTests/css2.1/20110323/absolute-replaced-width-055.htm
+++ /dev/null
@@ -1,48 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
-<html>
-    <head>
-        <title>CSS Test: Absolute replaced elements with 'direction' as left-to-right, 'auto' specified for 'margin-right' and percentage intrinsic width</title>
-        <link rel="author" title="Microsoft" href="http://www.microsoft.com/">
-        <link rel="help" href="http://www.w3.org/TR/CSS21/visudet.html#abs-replaced-width">
-        <meta name="flags" content="image">
-        <meta name="assert" content="Percentage intrinsic widths are evaluated against the containing block's width.">
-        <style type="text/css">
-            div
-            {
-                line-height: 0;
-            }
-            #div1
-            {
-                border: solid black;
-                direction: ltr;
-                height: 3in;
-                position: relative;
-                width: 2in;
-            }
-            img
-            {
-                margin-left: 0.25in;
-                margin-right: auto;
-                left: 0.25in;
-                position: absolute;
-                right: 0.5in;
-            }
-            div div
-            {
-                background: orange;
-                height: 1in;
-                margin-left: 0.5in;
-                margin-right: 0.5in;
-                margin-top: 1in;
-                width: 1in;
-            }
-        </style>
-    </head>
-    <body>
-        <p>Test passes if the blue and orange boxes below are the same width, and the boxes are horizontally centered inside the black box.</p>
-        <div id="div1">
-            <img alt="blue 15x15" src="resources/blue15x15.png" width="50%">
-            <div></div>
-        </div>
-    </body>
-</html>
diff --git a/third_party/WebKit/LayoutTests/css2.1/20110323/absolute-replaced-width-057.htm b/third_party/WebKit/LayoutTests/css2.1/20110323/absolute-replaced-width-057.htm
deleted file mode 100644
index f479c19..0000000
--- a/third_party/WebKit/LayoutTests/css2.1/20110323/absolute-replaced-width-057.htm
+++ /dev/null
@@ -1,44 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
-<html>
-    <head>
-        <title>CSS Test: Absolute replaced elements with 'direction' as right-to-left, 'auto' specified for 'margin-right' and intrinsic width</title>
-        <link rel="author" title="Microsoft" href="http://www.microsoft.com/">
-        <link rel="help" href="http://www.w3.org/TR/CSS21/visudet.html#abs-replaced-width">
-        <meta name="flags" content="image">
-        <meta name="assert" content="Computed value of 'auto' for 'margin-left' or margin-right' on absolute replaced elements becomes a used value of '0'. The intrinsic width is also used if 'height' and 'width' are 'auto'.">
-        <style type="text/css">
-            #div1
-            {
-                border: solid black;
-                direction: rtl;
-                height: 2in;
-                position: relative;
-                width: 2in;
-            }
-            img
-            {
-                left: 0.25in;
-                margin-left: 0.25in;
-                margin-right: auto;
-                position: absolute;
-                right: 0.5in;
-            }
-            div div
-            {
-                background: orange;
-                height: 96px;
-                margin-left: 0.5in;
-                margin-right: 0.5in;
-                margin-top: 96px;
-                width: 96px;
-            }
-        </style>
-    </head>
-    <body>
-        <p>Test passes if the blue and orange boxes below are the same width, and the boxes are horizontally centered inside the black box.</p>
-        <div id="div1">
-            <img alt="blue 96x96" src="resources/blue96x96.png">
-            <div></div>
-        </div>
-    </body>
-</html>
diff --git a/third_party/WebKit/LayoutTests/css2.1/20110323/absolute-replaced-width-062.htm b/third_party/WebKit/LayoutTests/css2.1/20110323/absolute-replaced-width-062.htm
deleted file mode 100644
index 16e5bba..0000000
--- a/third_party/WebKit/LayoutTests/css2.1/20110323/absolute-replaced-width-062.htm
+++ /dev/null
@@ -1,48 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
-<html>
-    <head>
-        <title>CSS Test: Absolute replaced elements with 'direction' as right-to-left, 'auto' specified for 'margin-right' and percentage intrinsic width</title>
-        <link rel="author" title="Microsoft" href="http://www.microsoft.com/">
-        <link rel="help" href="http://www.w3.org/TR/CSS21/visudet.html#abs-replaced-width">
-        <meta name="flags" content="image">
-        <meta name="assert" content="Percentage intrinsic widths are evaluated against the containing block's width.">
-        <style type="text/css">
-            div
-            {
-                line-height: 0;
-            }
-            #div1
-            {
-                border: solid black;
-                direction: rtl;
-                height: 3in;
-                position: relative;
-                width: 2in;
-            }
-            img
-            {
-                left: 0.25in;
-                margin-left: 0.25in;
-                margin-right: auto;
-                position: absolute;
-                right: 0.5in;
-            }
-            div div
-            {
-                background: orange;
-                height: 1in;
-                margin-left: 0.5in;
-                margin-right: 0.5in;
-                margin-top: 1in;
-                width: 1in;
-            }
-        </style>
-    </head>
-    <body>
-        <p>Test passes if the blue and orange boxes below are the same width, and the boxes are horizontally centered inside the black box.</p>
-        <div id="div1">
-            <img alt="blue 15x15" src="resources/blue15x15.png" width="50%">
-            <div></div>
-        </div>
-    </body>
-</html>
diff --git a/third_party/WebKit/LayoutTests/css2.1/20110323/absolute-replaced-width-064.htm b/third_party/WebKit/LayoutTests/css2.1/20110323/absolute-replaced-width-064.htm
deleted file mode 100644
index 1512b4a..0000000
--- a/third_party/WebKit/LayoutTests/css2.1/20110323/absolute-replaced-width-064.htm
+++ /dev/null
@@ -1,44 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
-<html>
-    <head>
-        <title>CSS Test: Absolute replaced elements with 'direction' as left-to-right, intrinsic width and over-constrained situation</title>
-        <link rel="author" title="Microsoft" href="http://www.microsoft.com/">
-        <link rel="help" href="http://www.w3.org/TR/CSS21/visudet.html#abs-replaced-width">
-        <meta name="flags" content="image">
-        <meta name="assert" content="Computed value of 'auto' for 'margin-left' or margin-right' on absolute replaced elements becomes a used value of '0'. The intrinsic width is also used if 'height' and 'width' are 'auto'.">
-        <style type="text/css">
-            #div1
-            {
-                border: solid black;
-                direction: ltr;
-                height: 2in;
-                position: relative;
-                width: 2in;
-            }
-            img
-            {
-                left: 0.25in;
-                margin-left: 0.25in;
-                margin-right: 0.5in;
-                position: absolute;
-                right: 0.5in;
-            }
-            div div
-            {
-                background: orange;
-                height: 96px;
-                margin-left: 0.5in;
-                margin-right: 0.5in;
-                margin-top: 96px;
-                width: 96px;
-            }
-        </style>
-    </head>
-    <body>
-        <p>Test passes if the blue and orange boxes below are the same width, and the boxes are horizontally centered inside the black box.</p>
-        <div id="div1">
-            <img alt="blue 96x96" src="resources/blue96x96.png">
-            <div></div>
-        </div>
-    </body>
-</html>
diff --git a/third_party/WebKit/LayoutTests/css2.1/20110323/absolute-replaced-width-069.htm b/third_party/WebKit/LayoutTests/css2.1/20110323/absolute-replaced-width-069.htm
deleted file mode 100644
index ce1bf25f..0000000
--- a/third_party/WebKit/LayoutTests/css2.1/20110323/absolute-replaced-width-069.htm
+++ /dev/null
@@ -1,48 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
-<html>
-    <head>
-        <title>CSS Test: Absolute replaced elements with 'direction' as left-to-right, percentage intrinsic width and over-constrained situation</title>
-        <link rel="author" title="Microsoft" href="http://www.microsoft.com/">
-        <link rel="help" href="http://www.w3.org/TR/CSS21/visudet.html#abs-replaced-width">
-        <meta name="flags" content="image">
-        <meta name="assert" content="Percentage intrinsic widths are evaluated against the containing block's width.">
-        <style type="text/css">
-            div
-            {
-                line-height: 0;
-            }
-            #div1
-            {
-                border: solid black;
-                direction: ltr;
-                height: 3in;
-                position: relative;
-                width: 2in;
-            }
-            img
-            {
-                left: 0.25in;
-                margin-left: 0.25in;
-                margin-right: 0.5in;
-                position: absolute;
-                right: 0.5in;
-            }
-            div div
-            {
-                background: orange;
-                height: 1in;
-                margin-left: 0.5in;
-                margin-right: 0.5in;
-                margin-top: 1in;
-                width: 1in;
-            }
-        </style>
-    </head>
-    <body>
-        <p>Test passes if the blue and orange boxes below are the same width, and the boxes are horizontally centered inside the black box.</p>
-        <div id="div1">
-            <img alt="blue 15x15" src="resources/blue15x15.png" width="50%">
-            <div></div>
-        </div>
-    </body>
-</html>
diff --git a/third_party/WebKit/LayoutTests/css2.1/20110323/absolute-replaced-width-071.htm b/third_party/WebKit/LayoutTests/css2.1/20110323/absolute-replaced-width-071.htm
deleted file mode 100644
index 0c36b9f..0000000
--- a/third_party/WebKit/LayoutTests/css2.1/20110323/absolute-replaced-width-071.htm
+++ /dev/null
@@ -1,44 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
-<html>
-    <head>
-        <title>CSS Test: Absolute replaced elements with 'direction' as right-to-left, intrinsic width and over-constrained situation</title>
-        <link rel="author" title="Microsoft" href="http://www.microsoft.com/">
-        <link rel="help" href="http://www.w3.org/TR/CSS21/visudet.html#abs-replaced-width">
-        <meta name="flags" content="image">
-        <meta name="assert" content="Computed value of 'auto' for 'margin-left' or margin-right' on absolute replaced elements becomes a used value of '0'. The intrinsic width is also used if 'height' and 'width' are 'auto'.">
-        <style type="text/css">
-            #div1
-            {
-                border: solid black;
-                direction: rtl;
-                height: 2in;
-                position: relative;
-                width: 2in;
-            }
-            img
-            {
-                left: 0.5in;
-                margin-left: 0.5in;
-                margin-right: 0.25in;
-                position: absolute;
-                right: 0.25in;
-            }
-            div div
-            {
-                background: orange;
-                height: 96px;
-                margin-left: 0.5in;
-                margin-right: 0.5in;
-                margin-top: 96px;
-                width: 96px;
-            }
-        </style>
-    </head>
-    <body>
-        <p>Test passes if the blue and orange boxes below are the same width, and the boxes are horizontally centered inside the black box.</p>
-        <div id="div1">
-            <img alt="blue 96x96" src="resources/blue96x96.png">
-            <div></div>
-        </div>
-    </body>
-</html>
diff --git a/third_party/WebKit/LayoutTests/css2.1/20110323/absolute-replaced-width-076.htm b/third_party/WebKit/LayoutTests/css2.1/20110323/absolute-replaced-width-076.htm
deleted file mode 100644
index 9fe4a64..0000000
--- a/third_party/WebKit/LayoutTests/css2.1/20110323/absolute-replaced-width-076.htm
+++ /dev/null
@@ -1,48 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
-<html>
-    <head>
-        <title>CSS Test: Absolute replaced elements with 'direction' as right-to-left, percentage intrinsic width and over-constrained situation</title>
-        <link rel="author" title="Microsoft" href="http://www.microsoft.com/">
-        <link rel="help" href="http://www.w3.org/TR/CSS21/visudet.html#abs-replaced-width">
-        <meta name="flags" content="image">
-        <meta name="assert" content="Percentage intrinsic widths are evaluated against the containing block's width.">
-        <style type="text/css">
-            div
-            {
-                line-height: 0;
-            }
-            #div1
-            {
-                border: solid black;
-                direction: rtl;
-                height: 3in;
-                position: relative;
-                width: 2in;
-            }
-            img
-            {
-                left: 0.5in;
-                margin-left: 0.5in;
-                margin-right: 0.25in;
-                position: absolute;
-                right: 0.25in;
-            }
-            div div
-            {
-                background: orange;
-                height: 1in;
-                margin-left: 0.5in;
-                margin-right: 0.5in;
-                margin-top: 1in;
-                width: 1in;
-            }
-        </style>
-    </head>
-    <body>
-        <p>Test passes if the blue and orange boxes below are the same width, and the boxes are horizontally centered inside the black box.</p>
-        <div id="div1">
-            <img alt="blue 15x15" src="resources/blue15x15.png" width="50%">
-            <div></div>
-        </div>
-    </body>
-</html>
diff --git a/third_party/WebKit/LayoutTests/css2.1/20110323/abspos-containing-block-initial-001-expected.txt b/third_party/WebKit/LayoutTests/css2.1/20110323/abspos-containing-block-initial-001-expected.txt
deleted file mode 100644
index 8fd0455..0000000
--- a/third_party/WebKit/LayoutTests/css2.1/20110323/abspos-containing-block-initial-001-expected.txt
+++ /dev/null
@@ -1,14 +0,0 @@
-layer at (0,0) size 800x600 clip at (0,0) size 785x600 scrollY 50.00 scrollHeight 10120
-  LayoutView at (0,0) size 800x600
-layer at (10,10) size 765x10100 backgroundClip at (0,0) size 785x600 clip at (0,0) size 785x600
-  LayoutBlockFlow {HTML} at (10,10) size 765x10100 [border: (20px solid #000000)]
-    LayoutBlockFlow {BODY} at (50,50) size 665x10000
-layer at (60,0) size 100x100
-  LayoutBlockFlow (positioned) {DIV} at (60,0) size 100x100 [bgcolor=#FFFF00]
-layer at (685,60) size 100x100
-  LayoutBlockFlow (positioned) {DIV} at (685,60) size 100x100 [bgcolor=#FFA500]
-layer at (60,500) size 100x100
-  LayoutBlockFlow (positioned) {DIV} at (60,500) size 100x100 [bgcolor=#A52A2A]
-layer at (0,60) size 100x100
-  LayoutBlockFlow (positioned) {DIV} at (0,60) size 100x100 [bgcolor=#FFC0CB]
-scrolled to 0,50
diff --git a/third_party/WebKit/LayoutTests/css2.1/20110323/abspos-containing-block-initial-001-ref-expected.png b/third_party/WebKit/LayoutTests/css2.1/20110323/abspos-containing-block-initial-001-ref-expected.png
deleted file mode 100644
index 298bdd7..0000000
--- a/third_party/WebKit/LayoutTests/css2.1/20110323/abspos-containing-block-initial-001-ref-expected.png
+++ /dev/null
Binary files differ
diff --git a/third_party/WebKit/LayoutTests/css2.1/20110323/abspos-containing-block-initial-001-ref.htm b/third_party/WebKit/LayoutTests/css2.1/20110323/abspos-containing-block-initial-001-ref.htm
deleted file mode 100644
index 3374457..0000000
--- a/third_party/WebKit/LayoutTests/css2.1/20110323/abspos-containing-block-initial-001-ref.htm
+++ /dev/null
@@ -1,23 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
-<html><head>
-<title>CSS Test: Test for containing block for absolutely positioned elements being initial containing block</title>
-<link rel="author" title="Robert O'Callahan" href="mailto:robert@ocallahan.org">
-<link rel="author" title="Mozilla Corporation" href="http://mozilla.com/">
-<style type="text/css">
-body { margin:0; }
-.pos { position:absolute; width:100px; height:100px; }
-</style>
-</head>
-<body>
-<div style="height:10000px; margin:0; margin:10px; border:20px solid black; padding:30px;"></div>
-<script type="text/javascript">
-window.scrollTo(0,50);
-</script>
-<div style="top:0; left:60px; background:yellow;" class="pos"></div>
-<div style="right:0; top:60px; background:orange;" class="pos"></div>
-<div style="bottom:0; left:60px; background:brown;" class="pos"></div>
-<div style="left:0; top:60px; background:pink;" class="pos"></div>
-
-
-
-</body></html>
\ No newline at end of file
diff --git a/third_party/WebKit/LayoutTests/css2.1/20110323/abspos-containing-block-initial-001.htm b/third_party/WebKit/LayoutTests/css2.1/20110323/abspos-containing-block-initial-001.htm
deleted file mode 100644
index ba548cc..0000000
--- a/third_party/WebKit/LayoutTests/css2.1/20110323/abspos-containing-block-initial-001.htm
+++ /dev/null
@@ -1,26 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
-<html><head>
-<title>CSS Test: Test for containing block for absolutely positioned elements being initial containing block</title>
-<link rel="author" title="Robert O'Callahan" href="mailto:robert@ocallahan.org">
-<link rel="author" title="Mozilla Corporation" href="http://mozilla.com/">
-<link rel="help" href="http://www.w3.org/TR/CSS21/visudet.html#containing-block-details">
-<link rel="match" href="abspos-containing-block-initial-001-ref.htm">
-<meta name="assert" content="If there is no such ancestor, the containing block is the initial containing block.">
-<meta name="flags" content="dom">
-<style type="text/css">
-html { margin:10px; border:20px solid black; padding:30px; }
-body { height:10000px; margin:0; }
-div { position:absolute; width:100px; height:100px; }
-</style>
-</head>
-<body>
-<script type="text/javascript">
-window.scrollTo(0,50);
-</script>
-<div style="top:0; background:yellow;"></div>
-<div style="right:0; background:orange;"></div>
-<div style="bottom:0; background:brown;"></div>
-<div style="left:0; background:pink;"></div>
-
-
-</body></html>
\ No newline at end of file
diff --git a/third_party/WebKit/LayoutTests/css2.1/20110323/abspos-containing-block-initial-004-ref-expected.png b/third_party/WebKit/LayoutTests/css2.1/20110323/abspos-containing-block-initial-004-ref-expected.png
deleted file mode 100644
index 9437aec0..0000000
--- a/third_party/WebKit/LayoutTests/css2.1/20110323/abspos-containing-block-initial-004-ref-expected.png
+++ /dev/null
Binary files differ
diff --git a/third_party/WebKit/LayoutTests/css2.1/20110323/abspos-containing-block-initial-004-ref-expected.txt b/third_party/WebKit/LayoutTests/css2.1/20110323/abspos-containing-block-initial-004-ref-expected.txt
deleted file mode 100644
index 0b7fdc8..0000000
--- a/third_party/WebKit/LayoutTests/css2.1/20110323/abspos-containing-block-initial-004-ref-expected.txt
+++ /dev/null
@@ -1,7 +0,0 @@
-layer at (0,0) size 800x600
-  LayoutView at (0,0) size 800x600
-layer at (0,0) size 800x8
-  LayoutBlockFlow {HTML} at (0,0) size 800x8 [bgcolor=#FFFF00]
-    LayoutBlockFlow {BODY} at (8,8) size 784x0
-layer at (100,100) size 120x120
-  LayoutBlockFlow (positioned) {DIV} at (100,100) size 120x120 [border: (10px solid #000000)]
diff --git a/third_party/WebKit/LayoutTests/css2.1/20110323/abspos-containing-block-initial-004-ref.htm b/third_party/WebKit/LayoutTests/css2.1/20110323/abspos-containing-block-initial-004-ref.htm
deleted file mode 100644
index d5ec9a8..0000000
--- a/third_party/WebKit/LayoutTests/css2.1/20110323/abspos-containing-block-initial-004-ref.htm
+++ /dev/null
@@ -1,9 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
-<html style="background:yellow;"><head><title>CSS Test: Test for containing block for absolutely positioned elements being initial containing block</title>
-<link rel="author" title="Robert O'Callahan" href="mailto:robert@ocallahan.org">
-<link rel="author" title="Mozilla Corporation" href="http://mozilla.com/">
-</head><body>
-<div style="position:absolute; top:100px; left:100px; width:100px; height:100px;             border:10px solid black;"></div>
-
-
-</body></html>
\ No newline at end of file
diff --git a/third_party/WebKit/LayoutTests/css2.1/20110323/abspos-containing-block-initial-004a-expected.png b/third_party/WebKit/LayoutTests/css2.1/20110323/abspos-containing-block-initial-004a-expected.png
deleted file mode 100644
index 9437aec0..0000000
--- a/third_party/WebKit/LayoutTests/css2.1/20110323/abspos-containing-block-initial-004a-expected.png
+++ /dev/null
Binary files differ
diff --git a/third_party/WebKit/LayoutTests/css2.1/20110323/abspos-containing-block-initial-004a-expected.txt b/third_party/WebKit/LayoutTests/css2.1/20110323/abspos-containing-block-initial-004a-expected.txt
deleted file mode 100644
index 126472e..0000000
--- a/third_party/WebKit/LayoutTests/css2.1/20110323/abspos-containing-block-initial-004a-expected.txt
+++ /dev/null
@@ -1,5 +0,0 @@
-layer at (0,0) size 800x600
-  LayoutView at (0,0) size 800x600
-layer at (100,100) size 120x120
-  LayoutBlockFlow (positioned) {HTML} at (100,100) size 120x120 [border: (10px solid #000000)]
-    LayoutBlockFlow {BODY} at (18,18) size 84x0
diff --git a/third_party/WebKit/LayoutTests/css2.1/20110323/abspos-containing-block-initial-004a.htm b/third_party/WebKit/LayoutTests/css2.1/20110323/abspos-containing-block-initial-004a.htm
deleted file mode 100644
index 5a33f55..0000000
--- a/third_party/WebKit/LayoutTests/css2.1/20110323/abspos-containing-block-initial-004a.htm
+++ /dev/null
@@ -1,12 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
-<html style="position:absolute; left:100px; top:100px; width:100px; height:100px;              background:yellow; border:10px solid black;"><head><title>CSS Test: Test for containing block for absolutely positioned elements being initial containing block</title>
-<link rel="author" title="Robert O'Callahan" href="mailto:robert@ocallahan.org">
-<link rel="author" title="Mozilla Corporation" href="http://mozilla.com/">
-<link rel="help" href="http://www.w3.org/TR/CSS21/visudet.html#containing-block-details">
-<link rel="match" href="abspos-containing-block-initial-004-ref.htm">
-<meta name="assert" content="If there is no such ancestor, the containing block is the initial containing block.">
-<meta name="flags" content="">
-</head><body>
-
-
-</body></html>
\ No newline at end of file
diff --git a/third_party/WebKit/LayoutTests/css2.1/20110323/abspos-containing-block-initial-004b-expected.png b/third_party/WebKit/LayoutTests/css2.1/20110323/abspos-containing-block-initial-004b-expected.png
deleted file mode 100644
index 9437aec0..0000000
--- a/third_party/WebKit/LayoutTests/css2.1/20110323/abspos-containing-block-initial-004b-expected.png
+++ /dev/null
Binary files differ
diff --git a/third_party/WebKit/LayoutTests/css2.1/20110323/abspos-containing-block-initial-004b-expected.txt b/third_party/WebKit/LayoutTests/css2.1/20110323/abspos-containing-block-initial-004b-expected.txt
deleted file mode 100644
index 126472e..0000000
--- a/third_party/WebKit/LayoutTests/css2.1/20110323/abspos-containing-block-initial-004b-expected.txt
+++ /dev/null
@@ -1,5 +0,0 @@
-layer at (0,0) size 800x600
-  LayoutView at (0,0) size 800x600
-layer at (100,100) size 120x120
-  LayoutBlockFlow (positioned) {HTML} at (100,100) size 120x120 [border: (10px solid #000000)]
-    LayoutBlockFlow {BODY} at (18,18) size 84x0
diff --git a/third_party/WebKit/LayoutTests/css2.1/20110323/abspos-containing-block-initial-004b.htm b/third_party/WebKit/LayoutTests/css2.1/20110323/abspos-containing-block-initial-004b.htm
deleted file mode 100644
index 6896c92..0000000
--- a/third_party/WebKit/LayoutTests/css2.1/20110323/abspos-containing-block-initial-004b.htm
+++ /dev/null
@@ -1,12 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
-<html style="position:fixed; left:100px; top:100px; width:100px; height:100px;              background:yellow; border:10px solid black;"><head><title>CSS Test: Test for containing block for absolutely positioned elements being initial containing block</title>
-<link rel="author" title="Robert O'Callahan" href="mailto:robert@ocallahan.org">
-<link rel="author" title="Mozilla Corporation" href="http://mozilla.com/">
-<link rel="help" href="http://www.w3.org/TR/CSS21/visudet.html#containing-block-details">
-<link rel="match" href="abspos-containing-block-initial-004-ref.htm">
-<meta name="assert" content="If there is no such ancestor, the containing block is the initial containing block.">
-<meta name="flags" content="">
-</head><body>
-
-
-</body></html>
\ No newline at end of file
diff --git a/third_party/WebKit/LayoutTests/css2.1/20110323/abspos-containing-block-initial-004c-expected.png b/third_party/WebKit/LayoutTests/css2.1/20110323/abspos-containing-block-initial-004c-expected.png
deleted file mode 100644
index 9437aec0..0000000
--- a/third_party/WebKit/LayoutTests/css2.1/20110323/abspos-containing-block-initial-004c-expected.png
+++ /dev/null
Binary files differ
diff --git a/third_party/WebKit/LayoutTests/css2.1/20110323/abspos-containing-block-initial-004c-expected.txt b/third_party/WebKit/LayoutTests/css2.1/20110323/abspos-containing-block-initial-004c-expected.txt
deleted file mode 100644
index 90934b24..0000000
--- a/third_party/WebKit/LayoutTests/css2.1/20110323/abspos-containing-block-initial-004c-expected.txt
+++ /dev/null
@@ -1,8 +0,0 @@
-layer at (0,0) size 800x600
-  LayoutView at (0,0) size 800x600
-layer at (100,100) size 120x120
-  LayoutTable (positioned) {HTML} at (100,100) size 120x120 [border: (10px solid #000000)]
-    LayoutTableSection (anonymous) at (10,10) size 100x100
-      LayoutTableRow (anonymous) at (0,0) size 100x100
-        LayoutTableCell (anonymous) at (0,0) size 100x8 [r=0 c=0 rs=1 cs=1]
-          LayoutBlockFlow {BODY} at (8,8) size 84x0
diff --git a/third_party/WebKit/LayoutTests/css2.1/20110323/abspos-containing-block-initial-004c.htm b/third_party/WebKit/LayoutTests/css2.1/20110323/abspos-containing-block-initial-004c.htm
deleted file mode 100644
index 3d897c1c..0000000
--- a/third_party/WebKit/LayoutTests/css2.1/20110323/abspos-containing-block-initial-004c.htm
+++ /dev/null
@@ -1,12 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
-<html style="position:absolute; left:100px; top:100px; width:100px; height:100px;              background:yellow; border:10px solid black; display:table;"><head><title>CSS Test: Test for containing block for absolutely positioned elements being initial containing block</title>
-<link rel="author" title="Robert O'Callahan" href="mailto:robert@ocallahan.org">
-<link rel="author" title="Mozilla Corporation" href="http://mozilla.com/">
-<link rel="help" href="http://www.w3.org/TR/CSS21/visudet.html#containing-block-details">
-<link rel="match" href="abspos-containing-block-initial-004-ref.htm">
-<meta name="assert" content="If there is no such ancestor, the containing block is the initial containing block.">
-<meta name="flags" content="">
-</head><body>
-
-
-</body></html>
\ No newline at end of file
diff --git a/third_party/WebKit/LayoutTests/css2.1/20110323/abspos-containing-block-initial-004d-expected.png b/third_party/WebKit/LayoutTests/css2.1/20110323/abspos-containing-block-initial-004d-expected.png
deleted file mode 100644
index 9437aec0..0000000
--- a/third_party/WebKit/LayoutTests/css2.1/20110323/abspos-containing-block-initial-004d-expected.png
+++ /dev/null
Binary files differ
diff --git a/third_party/WebKit/LayoutTests/css2.1/20110323/abspos-containing-block-initial-004d-expected.txt b/third_party/WebKit/LayoutTests/css2.1/20110323/abspos-containing-block-initial-004d-expected.txt
deleted file mode 100644
index 90934b24..0000000
--- a/third_party/WebKit/LayoutTests/css2.1/20110323/abspos-containing-block-initial-004d-expected.txt
+++ /dev/null
@@ -1,8 +0,0 @@
-layer at (0,0) size 800x600
-  LayoutView at (0,0) size 800x600
-layer at (100,100) size 120x120
-  LayoutTable (positioned) {HTML} at (100,100) size 120x120 [border: (10px solid #000000)]
-    LayoutTableSection (anonymous) at (10,10) size 100x100
-      LayoutTableRow (anonymous) at (0,0) size 100x100
-        LayoutTableCell (anonymous) at (0,0) size 100x8 [r=0 c=0 rs=1 cs=1]
-          LayoutBlockFlow {BODY} at (8,8) size 84x0
diff --git a/third_party/WebKit/LayoutTests/css2.1/20110323/abspos-containing-block-initial-004d.htm b/third_party/WebKit/LayoutTests/css2.1/20110323/abspos-containing-block-initial-004d.htm
deleted file mode 100644
index 8274d55..0000000
--- a/third_party/WebKit/LayoutTests/css2.1/20110323/abspos-containing-block-initial-004d.htm
+++ /dev/null
@@ -1,12 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
-<html style="position:fixed; left:100px; top:100px; width:100px; height:100px;              background:yellow; border:10px solid black; display:table"><head><title>CSS Test: Test for containing block for absolutely positioned elements being initial containing block</title>
-<link rel="author" title="Robert O'Callahan" href="mailto:robert@ocallahan.org">
-<link rel="author" title="Mozilla Corporation" href="http://mozilla.com/">
-<link rel="help" href="http://www.w3.org/TR/CSS21/visudet.html#containing-block-details">
-<link rel="match" href="abspos-containing-block-initial-004-ref.htm">
-<meta name="assert" content="If there is no such ancestor, the containing block is the initial containing block.">
-<meta name="flags" content="">
-</head><body>
-
-
-</body></html>
\ No newline at end of file
diff --git a/third_party/WebKit/LayoutTests/css2.1/20110323/abspos-containing-block-initial-004d.htm.1 b/third_party/WebKit/LayoutTests/css2.1/20110323/abspos-containing-block-initial-004d.htm.1
deleted file mode 100644
index 8274d55..0000000
--- a/third_party/WebKit/LayoutTests/css2.1/20110323/abspos-containing-block-initial-004d.htm.1
+++ /dev/null
@@ -1,12 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
-<html style="position:fixed; left:100px; top:100px; width:100px; height:100px;              background:yellow; border:10px solid black; display:table"><head><title>CSS Test: Test for containing block for absolutely positioned elements being initial containing block</title>
-<link rel="author" title="Robert O'Callahan" href="mailto:robert@ocallahan.org">
-<link rel="author" title="Mozilla Corporation" href="http://mozilla.com/">
-<link rel="help" href="http://www.w3.org/TR/CSS21/visudet.html#containing-block-details">
-<link rel="match" href="abspos-containing-block-initial-004-ref.htm">
-<meta name="assert" content="If there is no such ancestor, the containing block is the initial containing block.">
-<meta name="flags" content="">
-</head><body>
-
-
-</body></html>
\ No newline at end of file
diff --git a/third_party/WebKit/LayoutTests/css2.1/20110323/abspos-containing-block-initial-004e-expected.png b/third_party/WebKit/LayoutTests/css2.1/20110323/abspos-containing-block-initial-004e-expected.png
deleted file mode 100644
index 9437aec0..0000000
--- a/third_party/WebKit/LayoutTests/css2.1/20110323/abspos-containing-block-initial-004e-expected.png
+++ /dev/null
Binary files differ
diff --git a/third_party/WebKit/LayoutTests/css2.1/20110323/abspos-containing-block-initial-004e-expected.txt b/third_party/WebKit/LayoutTests/css2.1/20110323/abspos-containing-block-initial-004e-expected.txt
deleted file mode 100644
index 9d4f104d..0000000
--- a/third_party/WebKit/LayoutTests/css2.1/20110323/abspos-containing-block-initial-004e-expected.txt
+++ /dev/null
@@ -1,9 +0,0 @@
-layer at (0,0) size 800x600
-  LayoutView at (0,0) size 800x600
-layer at (0,0) size 0x0
-  LayoutTable {HTML} at (0,0) size 0x0
-    LayoutTableSection (anonymous) at (0,0) size 0x0
-      LayoutTableRow (anonymous) at (0,0) size 0x0
-        LayoutTableCell (anonymous) at (0,0) size 0x0 [r=0 c=0 rs=1 cs=1]
-layer at (100,100) size 120x120
-  LayoutBlockFlow (positioned) {BODY} at (100,100) size 120x120 [bgcolor=#FFFF00] [border: (10px solid #000000)]
diff --git a/third_party/WebKit/LayoutTests/css2.1/20110323/abspos-containing-block-initial-004e.htm b/third_party/WebKit/LayoutTests/css2.1/20110323/abspos-containing-block-initial-004e.htm
deleted file mode 100644
index f7b626a..0000000
--- a/third_party/WebKit/LayoutTests/css2.1/20110323/abspos-containing-block-initial-004e.htm
+++ /dev/null
@@ -1,12 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
-<html style="display:table"><head><title>CSS Test: Test for containing block for absolutely positioned elements being initial containing block</title>
-<link rel="author" title="Robert O'Callahan" href="mailto:robert@ocallahan.org">
-<link rel="author" title="Mozilla Corporation" href="http://mozilla.com/">
-<link rel="help" href="http://www.w3.org/TR/CSS21/visudet.html#containing-block-details">
-<link rel="match" href="abspos-containing-block-initial-004-ref.htm">
-<meta name="assert" content="If there is no such ancestor, the containing block is the initial containing block.">
-<meta name="flags" content="">
-</head><body style="position:absolute; left:100px; top:100px; width:100px; height:100px; border:10px solid black;              background:yellow; margin:0">
-
-
-</body></html>
\ No newline at end of file
diff --git a/third_party/WebKit/LayoutTests/css2.1/20110323/abspos-containing-block-initial-004f-expected.png b/third_party/WebKit/LayoutTests/css2.1/20110323/abspos-containing-block-initial-004f-expected.png
deleted file mode 100644
index 9437aec0..0000000
--- a/third_party/WebKit/LayoutTests/css2.1/20110323/abspos-containing-block-initial-004f-expected.png
+++ /dev/null
Binary files differ
diff --git a/third_party/WebKit/LayoutTests/css2.1/20110323/abspos-containing-block-initial-004f-expected.txt b/third_party/WebKit/LayoutTests/css2.1/20110323/abspos-containing-block-initial-004f-expected.txt
deleted file mode 100644
index 9d4f104d..0000000
--- a/third_party/WebKit/LayoutTests/css2.1/20110323/abspos-containing-block-initial-004f-expected.txt
+++ /dev/null
@@ -1,9 +0,0 @@
-layer at (0,0) size 800x600
-  LayoutView at (0,0) size 800x600
-layer at (0,0) size 0x0
-  LayoutTable {HTML} at (0,0) size 0x0
-    LayoutTableSection (anonymous) at (0,0) size 0x0
-      LayoutTableRow (anonymous) at (0,0) size 0x0
-        LayoutTableCell (anonymous) at (0,0) size 0x0 [r=0 c=0 rs=1 cs=1]
-layer at (100,100) size 120x120
-  LayoutBlockFlow (positioned) {BODY} at (100,100) size 120x120 [bgcolor=#FFFF00] [border: (10px solid #000000)]
diff --git a/third_party/WebKit/LayoutTests/css2.1/20110323/abspos-containing-block-initial-004f.htm b/third_party/WebKit/LayoutTests/css2.1/20110323/abspos-containing-block-initial-004f.htm
deleted file mode 100644
index 54ce5a8..0000000
--- a/third_party/WebKit/LayoutTests/css2.1/20110323/abspos-containing-block-initial-004f.htm
+++ /dev/null
@@ -1,12 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
-<html style="display:table"><head><title>CSS Test: Test for containing block for absolutely positioned elements being initial containing block</title>
-<link rel="author" title="Robert O'Callahan" href="mailto:robert@ocallahan.org">
-<link rel="author" title="Mozilla Corporation" href="http://mozilla.com/">
-<link rel="help" href="http://www.w3.org/TR/CSS21/visudet.html#containing-block-details">
-<link rel="match" href="abspos-containing-block-initial-004-ref.htm">
-<meta name="assert" content="If there is no such ancestor, the containing block is the initial containing block.">
-<meta name="flags" content="">
-</head><body style="position:fixed; left:100px; top:100px; width:100px; height:100px; border:10px solid black;              background:yellow; margin:0">
-
-
-</body></html>
\ No newline at end of file
diff --git a/third_party/WebKit/LayoutTests/css2.1/20110323/abspos-containing-block-initial-005-ref-expected.png b/third_party/WebKit/LayoutTests/css2.1/20110323/abspos-containing-block-initial-005-ref-expected.png
deleted file mode 100644
index 590d85b1..0000000
--- a/third_party/WebKit/LayoutTests/css2.1/20110323/abspos-containing-block-initial-005-ref-expected.png
+++ /dev/null
Binary files differ
diff --git a/third_party/WebKit/LayoutTests/css2.1/20110323/abspos-containing-block-initial-005-ref-expected.txt b/third_party/WebKit/LayoutTests/css2.1/20110323/abspos-containing-block-initial-005-ref-expected.txt
deleted file mode 100644
index 9f2c439..0000000
--- a/third_party/WebKit/LayoutTests/css2.1/20110323/abspos-containing-block-initial-005-ref-expected.txt
+++ /dev/null
@@ -1,6 +0,0 @@
-layer at (0,0) size 800x600
-  LayoutView at (0,0) size 800x600
-layer at (0,0) size 800x120
-  LayoutBlockFlow {HTML} at (0,0) size 800x120 [bgcolor=#FFFF00]
-    LayoutBlockFlow {BODY} at (0,0) size 800x120
-      LayoutBlockFlow {DIV} at (0,0) size 120x120 [border: (10px solid #000000)]
diff --git a/third_party/WebKit/LayoutTests/css2.1/20110323/abspos-containing-block-initial-005-ref.htm b/third_party/WebKit/LayoutTests/css2.1/20110323/abspos-containing-block-initial-005-ref.htm
deleted file mode 100644
index 12457f6..0000000
--- a/third_party/WebKit/LayoutTests/css2.1/20110323/abspos-containing-block-initial-005-ref.htm
+++ /dev/null
@@ -1,9 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
-<html style="background:yellow;"><head><title>CSS Test: Test for containing block for absolutely positioned elements being initial containing block</title>
-<link rel="author" title="Robert O'Callahan" href="mailto:robert@ocallahan.org">
-<link rel="author" title="Mozilla Corporation" href="http://mozilla.com/">
-</head><body style="margin:0">
-<div style="border:10px solid black; width:100px; height:100px;"></div>
-
-
-</body></html>
\ No newline at end of file
diff --git a/third_party/WebKit/LayoutTests/css2.1/20110323/abspos-containing-block-initial-005a-expected.png b/third_party/WebKit/LayoutTests/css2.1/20110323/abspos-containing-block-initial-005a-expected.png
deleted file mode 100644
index 590d85b1..0000000
--- a/third_party/WebKit/LayoutTests/css2.1/20110323/abspos-containing-block-initial-005a-expected.png
+++ /dev/null
Binary files differ
diff --git a/third_party/WebKit/LayoutTests/css2.1/20110323/abspos-containing-block-initial-005a-expected.txt b/third_party/WebKit/LayoutTests/css2.1/20110323/abspos-containing-block-initial-005a-expected.txt
deleted file mode 100644
index a8ff7a0..0000000
--- a/third_party/WebKit/LayoutTests/css2.1/20110323/abspos-containing-block-initial-005a-expected.txt
+++ /dev/null
@@ -1,5 +0,0 @@
-layer at (0,0) size 800x600
-  LayoutView at (0,0) size 800x600
-layer at (0,0) size 120x120
-  LayoutBlockFlow (positioned) {HTML} at (0,0) size 120x120 [border: (10px solid #000000)]
-    LayoutBlockFlow {BODY} at (18,18) size 84x0
diff --git a/third_party/WebKit/LayoutTests/css2.1/20110323/abspos-containing-block-initial-005a.htm b/third_party/WebKit/LayoutTests/css2.1/20110323/abspos-containing-block-initial-005a.htm
deleted file mode 100644
index be9b0ab..0000000
--- a/third_party/WebKit/LayoutTests/css2.1/20110323/abspos-containing-block-initial-005a.htm
+++ /dev/null
@@ -1,12 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
-<html style="position:absolute; width:100px; height:100px;              background:yellow; border:10px solid black;"><head><title>CSS Test: Test for containing block for absolutely positioned elements being initial containing block</title>
-<link rel="author" title="Robert O'Callahan" href="mailto:robert@ocallahan.org">
-<link rel="author" title="Mozilla Corporation" href="http://mozilla.com/">
-<link rel="help" href="http://www.w3.org/TR/CSS21/visudet.html#containing-block-details">
-<link rel="match" href="abspos-containing-block-initial-005-ref.htm">
-<meta name="assert" content="If there is no such ancestor, the containing block is the initial containing block.">
-<meta name="flags" content="">
-</head><body>
-
-
-</body></html>
\ No newline at end of file
diff --git a/third_party/WebKit/LayoutTests/css2.1/20110323/abspos-containing-block-initial-005b-expected.png b/third_party/WebKit/LayoutTests/css2.1/20110323/abspos-containing-block-initial-005b-expected.png
deleted file mode 100644
index 590d85b1..0000000
--- a/third_party/WebKit/LayoutTests/css2.1/20110323/abspos-containing-block-initial-005b-expected.png
+++ /dev/null
Binary files differ
diff --git a/third_party/WebKit/LayoutTests/css2.1/20110323/abspos-containing-block-initial-005b-expected.txt b/third_party/WebKit/LayoutTests/css2.1/20110323/abspos-containing-block-initial-005b-expected.txt
deleted file mode 100644
index 2f448f8e..0000000
--- a/third_party/WebKit/LayoutTests/css2.1/20110323/abspos-containing-block-initial-005b-expected.txt
+++ /dev/null
@@ -1,8 +0,0 @@
-layer at (0,0) size 800x600
-  LayoutView at (0,0) size 800x600
-layer at (0,0) size 120x120
-  LayoutTable (positioned) {HTML} at (0,0) size 120x120 [border: (10px solid #000000)]
-    LayoutTableSection (anonymous) at (10,10) size 100x100
-      LayoutTableRow (anonymous) at (0,0) size 100x100
-        LayoutTableCell (anonymous) at (0,0) size 100x8 [r=0 c=0 rs=1 cs=1]
-          LayoutBlockFlow {BODY} at (8,8) size 84x0
diff --git a/third_party/WebKit/LayoutTests/css2.1/20110323/abspos-containing-block-initial-005b.htm b/third_party/WebKit/LayoutTests/css2.1/20110323/abspos-containing-block-initial-005b.htm
deleted file mode 100644
index 3ef71f5c..0000000
--- a/third_party/WebKit/LayoutTests/css2.1/20110323/abspos-containing-block-initial-005b.htm
+++ /dev/null
@@ -1,12 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
-<html style="position:absolute; width:100px; height:100px; display:table;              background:yellow; border:10px solid black;"><head><title>CSS Test: Test for containing block for absolutely positioned elements being initial containing block</title>
-<link rel="author" title="Robert O'Callahan" href="mailto:robert@ocallahan.org">
-<link rel="author" title="Mozilla Corporation" href="http://mozilla.com/">
-<link rel="help" href="http://www.w3.org/TR/CSS21/visudet.html#containing-block-details">
-<link rel="match" href="abspos-containing-block-initial-005-ref.htm">
-<meta name="assert" content="If there is no such ancestor, the containing block is the initial containing block.">
-<meta name="flags" content="">
-</head><body>
-
-
-</body></html>
\ No newline at end of file
diff --git a/third_party/WebKit/LayoutTests/css2.1/20110323/abspos-containing-block-initial-005c-expected.png b/third_party/WebKit/LayoutTests/css2.1/20110323/abspos-containing-block-initial-005c-expected.png
deleted file mode 100644
index 590d85b1..0000000
--- a/third_party/WebKit/LayoutTests/css2.1/20110323/abspos-containing-block-initial-005c-expected.png
+++ /dev/null
Binary files differ
diff --git a/third_party/WebKit/LayoutTests/css2.1/20110323/abspos-containing-block-initial-005c-expected.txt b/third_party/WebKit/LayoutTests/css2.1/20110323/abspos-containing-block-initial-005c-expected.txt
deleted file mode 100644
index a8ff7a0..0000000
--- a/third_party/WebKit/LayoutTests/css2.1/20110323/abspos-containing-block-initial-005c-expected.txt
+++ /dev/null
@@ -1,5 +0,0 @@
-layer at (0,0) size 800x600
-  LayoutView at (0,0) size 800x600
-layer at (0,0) size 120x120
-  LayoutBlockFlow (positioned) {HTML} at (0,0) size 120x120 [border: (10px solid #000000)]
-    LayoutBlockFlow {BODY} at (18,18) size 84x0
diff --git a/third_party/WebKit/LayoutTests/css2.1/20110323/abspos-containing-block-initial-005c.htm b/third_party/WebKit/LayoutTests/css2.1/20110323/abspos-containing-block-initial-005c.htm
deleted file mode 100644
index a075263d..0000000
--- a/third_party/WebKit/LayoutTests/css2.1/20110323/abspos-containing-block-initial-005c.htm
+++ /dev/null
@@ -1,12 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
-<html style="position:fixed; width:100px; height:100px;              background:yellow; border:10px solid black;"><head><title>CSS Test: Test for containing block for absolutely positioned elements being initial containing block</title>
-<link rel="author" title="Robert O'Callahan" href="mailto:robert@ocallahan.org">
-<link rel="author" title="Mozilla Corporation" href="http://mozilla.com/">
-<link rel="help" href="http://www.w3.org/TR/CSS21/visudet.html#containing-block-details">
-<link rel="match" href="abspos-containing-block-initial-005-ref.htm">
-<meta name="assert" content="If there is no such ancestor, the containing block is the initial containing block.">
-<meta name="flags" content="">
-</head><body>
-
-
-</body></html>
\ No newline at end of file
diff --git a/third_party/WebKit/LayoutTests/css2.1/20110323/abspos-containing-block-initial-005d-expected.png b/third_party/WebKit/LayoutTests/css2.1/20110323/abspos-containing-block-initial-005d-expected.png
deleted file mode 100644
index 590d85b1..0000000
--- a/third_party/WebKit/LayoutTests/css2.1/20110323/abspos-containing-block-initial-005d-expected.png
+++ /dev/null
Binary files differ
diff --git a/third_party/WebKit/LayoutTests/css2.1/20110323/abspos-containing-block-initial-005d-expected.txt b/third_party/WebKit/LayoutTests/css2.1/20110323/abspos-containing-block-initial-005d-expected.txt
deleted file mode 100644
index 2f448f8e..0000000
--- a/third_party/WebKit/LayoutTests/css2.1/20110323/abspos-containing-block-initial-005d-expected.txt
+++ /dev/null
@@ -1,8 +0,0 @@
-layer at (0,0) size 800x600
-  LayoutView at (0,0) size 800x600
-layer at (0,0) size 120x120
-  LayoutTable (positioned) {HTML} at (0,0) size 120x120 [border: (10px solid #000000)]
-    LayoutTableSection (anonymous) at (10,10) size 100x100
-      LayoutTableRow (anonymous) at (0,0) size 100x100
-        LayoutTableCell (anonymous) at (0,0) size 100x8 [r=0 c=0 rs=1 cs=1]
-          LayoutBlockFlow {BODY} at (8,8) size 84x0
diff --git a/third_party/WebKit/LayoutTests/css2.1/20110323/abspos-containing-block-initial-005d.htm b/third_party/WebKit/LayoutTests/css2.1/20110323/abspos-containing-block-initial-005d.htm
deleted file mode 100644
index f3f6304b..0000000
--- a/third_party/WebKit/LayoutTests/css2.1/20110323/abspos-containing-block-initial-005d.htm
+++ /dev/null
@@ -1,12 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
-<html style="position:fixed; width:100px; height:100px; display:table;              background:yellow; border:10px solid black;"><head><title>CSS Test: Test for containing block for absolutely positioned elements being initial containing block</title>
-<link rel="author" title="Robert O'Callahan" href="mailto:robert@ocallahan.org">
-<link rel="author" title="Mozilla Corporation" href="http://mozilla.com/">
-<link rel="help" href="http://www.w3.org/TR/CSS21/visudet.html#containing-block-details">
-<link rel="match" href="abspos-containing-block-initial-005-ref.htm">
-<meta name="assert" content="If there is no such ancestor, the containing block is the initial containing block.">
-<meta name="flags" content="">
-</head><body>
-
-
-</body></html>
\ No newline at end of file
diff --git a/third_party/WebKit/LayoutTests/css2.1/20110323/abspos-containing-block-initial-007-expected.txt b/third_party/WebKit/LayoutTests/css2.1/20110323/abspos-containing-block-initial-007-expected.txt
deleted file mode 100644
index 4cb35a1f..0000000
--- a/third_party/WebKit/LayoutTests/css2.1/20110323/abspos-containing-block-initial-007-expected.txt
+++ /dev/null
@@ -1,6 +0,0 @@
-layer at (0,0) size 800x600 scrollWidth 900
-  LayoutView at (0,0) size 800x600
-layer at (100,100) size 800x120 backgroundClip at (0,0) size 800x600 clip at (0,0) size 800x600
-  LayoutBlockFlow (relative positioned) {HTML} at (0,0) size 800x120 [border: (10px solid #000000)]
-layer at (110,160) size 20x50
-  LayoutBlockFlow (positioned) {BODY} at (10,60) size 20x50 [border: (10px solid #FFA500)]
diff --git a/third_party/WebKit/LayoutTests/css2.1/20110323/abspos-containing-block-initial-007-ref-expected.png b/third_party/WebKit/LayoutTests/css2.1/20110323/abspos-containing-block-initial-007-ref-expected.png
deleted file mode 100644
index b590eb3..0000000
--- a/third_party/WebKit/LayoutTests/css2.1/20110323/abspos-containing-block-initial-007-ref-expected.png
+++ /dev/null
Binary files differ
diff --git a/third_party/WebKit/LayoutTests/css2.1/20110323/abspos-containing-block-initial-007-ref-expected.txt b/third_party/WebKit/LayoutTests/css2.1/20110323/abspos-containing-block-initial-007-ref-expected.txt
deleted file mode 100644
index 7c81ce85..0000000
--- a/third_party/WebKit/LayoutTests/css2.1/20110323/abspos-containing-block-initial-007-ref-expected.txt
+++ /dev/null
@@ -1,9 +0,0 @@
-layer at (0,0) size 900x584
-  LayoutView at (0,0) size 800x584
-layer at (0,0) size 800x120
-  LayoutBlockFlow {HTML} at (0,0) size 800x120
-    LayoutBlockFlow (positioned) {BODY} at (0,0) size 800x120
-layer at (100,100) size 800x120
-  LayoutBlockFlow (relative positioned) {DIV} at (0,0) size 800x120 [border: (10px solid #000000)]
-layer at (110,160) size 20x50
-  LayoutBlockFlow (positioned) {DIV} at (10,60) size 20x50 [border: (10px solid #FFA500)]
diff --git a/third_party/WebKit/LayoutTests/css2.1/20110323/abspos-containing-block-initial-007-ref.htm b/third_party/WebKit/LayoutTests/css2.1/20110323/abspos-containing-block-initial-007-ref.htm
deleted file mode 100644
index b499898..0000000
--- a/third_party/WebKit/LayoutTests/css2.1/20110323/abspos-containing-block-initial-007-ref.htm
+++ /dev/null
@@ -1,11 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
-<html><head><title>CSS Test: Test for containing block for absolutely positioned elements being initial containing block</title>
-<link rel="author" title="Robert O'Callahan" href="mailto:robert@ocallahan.org">
-<link rel="author" title="Mozilla Corporation" href="http://mozilla.com/">
-</head><body style="margin:0;">
-<div style="position:relative; top:100px; left:100px; height:100px; border:10px solid black;">
-  <div style="position:absolute; bottom:0; height:30px; border:10px solid orange;">
-  </div>
-
-
-</div></body></html>
\ No newline at end of file
diff --git a/third_party/WebKit/LayoutTests/css2.1/20110323/abspos-containing-block-initial-007.htm b/third_party/WebKit/LayoutTests/css2.1/20110323/abspos-containing-block-initial-007.htm
deleted file mode 100644
index 2c2cce9..0000000
--- a/third_party/WebKit/LayoutTests/css2.1/20110323/abspos-containing-block-initial-007.htm
+++ /dev/null
@@ -1,12 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
-<html style="position:relative; top:100px; left:100px; height:100px; border:10px solid black;"><head><title>CSS Test: Test for containing block for absolutely positioned elements being initial containing block</title>
-<link rel="author" title="Robert O'Callahan" href="mailto:robert@ocallahan.org">
-<link rel="author" title="Mozilla Corporation" href="http://mozilla.com/">
-<link rel="help" href="http://www.w3.org/TR/CSS21/visudet.html#containing-block-details">
-<link rel="match" href="abspos-containing-block-initial-007-ref.htm">
-<meta name="assert" content="If there is no such ancestor, the containing block is the initial containing block.">
-<meta name="flags" content="">
-</head><body style="position:absolute; margin:0; bottom:0; height:30px; border:10px solid orange;overflow:hidden;">
-
-
-</body></html>
diff --git a/third_party/WebKit/LayoutTests/css2.1/20110323/abspos-containing-block-initial-009-ref-expected.png b/third_party/WebKit/LayoutTests/css2.1/20110323/abspos-containing-block-initial-009-ref-expected.png
deleted file mode 100644
index 34ffc176..0000000
--- a/third_party/WebKit/LayoutTests/css2.1/20110323/abspos-containing-block-initial-009-ref-expected.png
+++ /dev/null
Binary files differ
diff --git a/third_party/WebKit/LayoutTests/css2.1/20110323/abspos-containing-block-initial-009-ref-expected.txt b/third_party/WebKit/LayoutTests/css2.1/20110323/abspos-containing-block-initial-009-ref-expected.txt
deleted file mode 100644
index 68a6f9d0..0000000
--- a/third_party/WebKit/LayoutTests/css2.1/20110323/abspos-containing-block-initial-009-ref-expected.txt
+++ /dev/null
@@ -1,7 +0,0 @@
-layer at (0,0) size 800x600
-  LayoutView at (0,0) size 800x600
-layer at (0,0) size 800x0
-  LayoutBlockFlow {HTML} at (0,0) size 800x0
-    LayoutBlockFlow {BODY} at (0,0) size 800x0
-layer at (50,50) size 420x320
-  LayoutBlockFlow (positioned) {DIV} at (50,50) size 420x320 [border: (10px solid #000000)]
diff --git a/third_party/WebKit/LayoutTests/css2.1/20110323/abspos-containing-block-initial-009-ref.htm b/third_party/WebKit/LayoutTests/css2.1/20110323/abspos-containing-block-initial-009-ref.htm
deleted file mode 100644
index 599de93..0000000
--- a/third_party/WebKit/LayoutTests/css2.1/20110323/abspos-containing-block-initial-009-ref.htm
+++ /dev/null
@@ -1,9 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
-<html><head><title>CSS Test: Test for containing block for absolutely positioned elements being initial containing block</title>
-<link rel="author" title="Robert O'Callahan" href="mailto:robert@ocallahan.org">
-<link rel="author" title="Mozilla Corporation" href="http://mozilla.com/">
-</head><body style="margin:0">
-<div style="position:fixed; width:50%; height:50%; left:50px; top:50px; border:10px solid black;"></div>
-
-
-</body></html>
\ No newline at end of file
diff --git a/third_party/WebKit/LayoutTests/css2.1/20110323/abspos-containing-block-initial-009a-expected.png b/third_party/WebKit/LayoutTests/css2.1/20110323/abspos-containing-block-initial-009a-expected.png
deleted file mode 100644
index 34ffc176..0000000
--- a/third_party/WebKit/LayoutTests/css2.1/20110323/abspos-containing-block-initial-009a-expected.png
+++ /dev/null
Binary files differ
diff --git a/third_party/WebKit/LayoutTests/css2.1/20110323/abspos-containing-block-initial-009a-expected.txt b/third_party/WebKit/LayoutTests/css2.1/20110323/abspos-containing-block-initial-009a-expected.txt
deleted file mode 100644
index 9f7eb90d..0000000
--- a/third_party/WebKit/LayoutTests/css2.1/20110323/abspos-containing-block-initial-009a-expected.txt
+++ /dev/null
@@ -1,5 +0,0 @@
-layer at (0,0) size 800x600
-  LayoutView at (0,0) size 800x600
-layer at (50,50) size 420x320
-  LayoutBlockFlow {HTML} at (50,50) size 420x320 [border: (10px solid #000000)]
-    LayoutBlockFlow {BODY} at (18,18) size 384x0
diff --git a/third_party/WebKit/LayoutTests/css2.1/20110323/abspos-containing-block-initial-009a.htm b/third_party/WebKit/LayoutTests/css2.1/20110323/abspos-containing-block-initial-009a.htm
deleted file mode 100644
index 47c825a2..0000000
--- a/third_party/WebKit/LayoutTests/css2.1/20110323/abspos-containing-block-initial-009a.htm
+++ /dev/null
@@ -1,10 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
-<html style="width:50%; height:50%; margin:50px; border:10px solid black;"><head><title>CSS Test: Test for containing block for absolutely positioned elements being initial containing block</title>
-<link rel="author" title="Robert O'Callahan" href="mailto:robert@ocallahan.org">
-<link rel="author" title="Mozilla Corporation" href="http://mozilla.com/">
-<link rel="help" href="http://www.w3.org/TR/CSS21/visudet.html#containing-block-details">
-<link rel="match" href="abspos-containing-block-initial-009-ref.htm">
-<meta name="assert" content="If there is no such ancestor, the containing block is the initial containing block.">
-<meta name="flags" content="">
-</head><body>
-</body></html>
\ No newline at end of file
diff --git a/third_party/WebKit/LayoutTests/css2.1/20110323/abspos-containing-block-initial-009b-expected.png b/third_party/WebKit/LayoutTests/css2.1/20110323/abspos-containing-block-initial-009b-expected.png
deleted file mode 100644
index 34ffc176..0000000
--- a/third_party/WebKit/LayoutTests/css2.1/20110323/abspos-containing-block-initial-009b-expected.png
+++ /dev/null
Binary files differ
diff --git a/third_party/WebKit/LayoutTests/css2.1/20110323/abspos-containing-block-initial-009b-expected.txt b/third_party/WebKit/LayoutTests/css2.1/20110323/abspos-containing-block-initial-009b-expected.txt
deleted file mode 100644
index 162a152c..0000000
--- a/third_party/WebKit/LayoutTests/css2.1/20110323/abspos-containing-block-initial-009b-expected.txt
+++ /dev/null
@@ -1,5 +0,0 @@
-layer at (0,0) size 800x600
-  LayoutView at (0,0) size 800x600
-layer at (50,50) size 420x320
-  LayoutBlockFlow (positioned) {HTML} at (50,50) size 420x320 [border: (10px solid #000000)]
-    LayoutBlockFlow {BODY} at (18,18) size 384x0
diff --git a/third_party/WebKit/LayoutTests/css2.1/20110323/abspos-containing-block-initial-009b.htm b/third_party/WebKit/LayoutTests/css2.1/20110323/abspos-containing-block-initial-009b.htm
deleted file mode 100644
index 93aff80..0000000
--- a/third_party/WebKit/LayoutTests/css2.1/20110323/abspos-containing-block-initial-009b.htm
+++ /dev/null
@@ -1,10 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
-<html style="position:absolute; left:50px; top:50px; width:50%; height:50%; border:10px solid black;"><head><title>CSS Test: Test for containing block for absolutely positioned elements being initial containing block</title>
-<link rel="author" title="Robert O'Callahan" href="mailto:robert@ocallahan.org">
-<link rel="author" title="Mozilla Corporation" href="http://mozilla.com/">
-<link rel="help" href="http://www.w3.org/TR/CSS21/visudet.html#containing-block-details">
-<link rel="match" href="abspos-containing-block-initial-009-ref.htm">
-<meta name="assert" content="If there is no such ancestor, the containing block is the initial containing block.">
-<meta name="flags" content="">
-</head><body>
-</body></html>
\ No newline at end of file
diff --git a/third_party/WebKit/LayoutTests/css2.1/20110323/abspos-containing-block-initial-009e-expected.png b/third_party/WebKit/LayoutTests/css2.1/20110323/abspos-containing-block-initial-009e-expected.png
deleted file mode 100644
index 34ffc176..0000000
--- a/third_party/WebKit/LayoutTests/css2.1/20110323/abspos-containing-block-initial-009e-expected.png
+++ /dev/null
Binary files differ
diff --git a/third_party/WebKit/LayoutTests/css2.1/20110323/abspos-containing-block-initial-009e-expected.txt b/third_party/WebKit/LayoutTests/css2.1/20110323/abspos-containing-block-initial-009e-expected.txt
deleted file mode 100644
index 7e50669..0000000
--- a/third_party/WebKit/LayoutTests/css2.1/20110323/abspos-containing-block-initial-009e-expected.txt
+++ /dev/null
@@ -1,6 +0,0 @@
-layer at (0,0) size 800x600
-  LayoutView at (0,0) size 800x600
-layer at (0,0) size 800x0
-  LayoutBlockFlow {HTML} at (0,0) size 800x0
-layer at (50,50) size 420x320
-  LayoutBlockFlow (positioned) {BODY} at (50,50) size 420x320 [border: (10px solid #000000)]
diff --git a/third_party/WebKit/LayoutTests/css2.1/20110323/abspos-containing-block-initial-009e.htm b/third_party/WebKit/LayoutTests/css2.1/20110323/abspos-containing-block-initial-009e.htm
deleted file mode 100644
index 903b4a3c..0000000
--- a/third_party/WebKit/LayoutTests/css2.1/20110323/abspos-containing-block-initial-009e.htm
+++ /dev/null
@@ -1,12 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
-<html><head><title>CSS Test: Test for containing block for absolutely positioned elements being initial containing block</title>
-<link rel="author" title="Robert O'Callahan" href="mailto:robert@ocallahan.org">
-<link rel="author" title="Mozilla Corporation" href="http://mozilla.com/">
-<link rel="help" href="http://www.w3.org/TR/CSS21/visudet.html#containing-block-details">
-<link rel="match" href="abspos-containing-block-initial-009-ref.htm">
-<meta name="assert" content="If there is no such ancestor, the containing block is the initial containing block.">
-<meta name="flags" content="">
-</head><body style="position:absolute; width:50%; height:50%; top:50px; left:50px; margin:0; border:10px solid black;">
-
-
-</body></html>
\ No newline at end of file
diff --git a/third_party/WebKit/LayoutTests/css2.1/20110323/abspos-containing-block-initial-009f-expected.png b/third_party/WebKit/LayoutTests/css2.1/20110323/abspos-containing-block-initial-009f-expected.png
deleted file mode 100644
index 34ffc176..0000000
--- a/third_party/WebKit/LayoutTests/css2.1/20110323/abspos-containing-block-initial-009f-expected.png
+++ /dev/null
Binary files differ
diff --git a/third_party/WebKit/LayoutTests/css2.1/20110323/abspos-containing-block-initial-009f-expected.txt b/third_party/WebKit/LayoutTests/css2.1/20110323/abspos-containing-block-initial-009f-expected.txt
deleted file mode 100644
index 3e0eaab..0000000
--- a/third_party/WebKit/LayoutTests/css2.1/20110323/abspos-containing-block-initial-009f-expected.txt
+++ /dev/null
@@ -1,6 +0,0 @@
-layer at (0,0) size 800x600
-  LayoutView at (0,0) size 800x600
-layer at (0,0) size 800x300
-  LayoutBlockFlow (relative positioned) {HTML} at (0,0) size 800x300
-layer at (50,50) size 420x320
-  LayoutBlockFlow (positioned) {BODY} at (50,50) size 420x320 [border: (10px solid #000000)]
diff --git a/third_party/WebKit/LayoutTests/css2.1/20110323/abspos-containing-block-initial-009f.htm b/third_party/WebKit/LayoutTests/css2.1/20110323/abspos-containing-block-initial-009f.htm
deleted file mode 100644
index c42b3e5f..0000000
--- a/third_party/WebKit/LayoutTests/css2.1/20110323/abspos-containing-block-initial-009f.htm
+++ /dev/null
@@ -1,12 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
-<html style="position:relative; height:50%;"><head><title>CSS Test: Test for containing block for absolutely positioned elements being initial containing block</title>
-<link rel="author" title="Robert O'Callahan" href="mailto:robert@ocallahan.org">
-<link rel="author" title="Mozilla Corporation" href="http://mozilla.com/">
-<link rel="help" href="http://www.w3.org/TR/CSS21/visudet.html#containing-block-details">
-<link rel="match" href="abspos-containing-block-initial-009-ref.htm">
-<meta name="assert" content="If there is no such ancestor, the containing block is the initial containing block.">
-<meta name="flags" content="">
-</head><body style="position:absolute; width:50%; top:50px; left:50px; height:100%; margin:0; border:10px solid black;">
-
-
-</body></html>
\ No newline at end of file
diff --git a/third_party/WebKit/LayoutTests/css2.1/20110323/block-non-replaced-height-001.htm b/third_party/WebKit/LayoutTests/css2.1/20110323/block-non-replaced-height-001.htm
deleted file mode 100644
index 553b87b5..0000000
--- a/third_party/WebKit/LayoutTests/css2.1/20110323/block-non-replaced-height-001.htm
+++ /dev/null
@@ -1,30 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
-<html>
-    <head>
-        <title>CSS Test: Block-level non-replaced elements in normal flow when 'overflow' computes to 'visible' and margins top and bottom are 'auto'</title>
-        <link rel="author" title="Microsoft" href="http://www.microsoft.com/">
-        <link rel="help" href="http://www.w3.org/TR/CSS21/visudet.html#normal-block">
-        <meta name="flags" content="">
-        <meta name="assert" content="The margin top and bottom used values are '0' for block-level non-replaced elements in normal flow when 'overflow' computes to 'visible' and margin top and bottom both are 'auto'.">
-        <style type="text/css">
-            #div1
-            {
-                border-bottom: solid orange;
-                border-top: solid orange;
-                width: 1in;
-            }
-            div div
-            {
-                background: blue;
-                margin-bottom: auto;
-                margin-top: auto;
-            }
-        </style>
-    </head>
-    <body>
-        <p>Test passes if there is no white space between the blue box below and the orange lines.</p>
-        <div id="div1">
-            <div>Filler Text</div>
-        </div>
-    </body>
-</html>
\ No newline at end of file
diff --git a/third_party/WebKit/LayoutTests/css2.1/20110323/block-non-replaced-height-002.htm b/third_party/WebKit/LayoutTests/css2.1/20110323/block-non-replaced-height-002.htm
deleted file mode 100644
index cab181dc..0000000
--- a/third_party/WebKit/LayoutTests/css2.1/20110323/block-non-replaced-height-002.htm
+++ /dev/null
@@ -1,34 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
-<html>
-    <head>
-        <title>CSS Test: Block-level non-replaced elements in normal flow when 'overflow' does not compute to 'visible'</title>
-        <link rel="author" title="Microsoft" href="http://www.microsoft.com/">
-        <link rel="help" href="http://www.w3.org/TR/CSS21/visudet.html#normal-block">
-        <meta name="flags" content="">
-        <meta name="assert" content="The margin top and bottom used values are '0' for block-level non-replaced elements in normal flow when 'overflow' does not compute to 'visible' and margin top and bottom both are 'auto'.">
-        <style type="text/css">
-            #div1
-            {
-                border-bottom: solid orange;
-                border-top: solid orange;
-                width: 1in;
-            }
-            div div
-            {
-                background: blue;
-                margin-bottom: auto;
-                margin-top: auto;
-            }
-            html, body
-            {
-                overflow: scroll;
-            }
-        </style>
-    </head>
-    <body>
-        <p>Test passes if there is no white space between the blue box below and the orange lines.</p>
-        <div id="div1">
-            <div>Filler Text</div>
-        </div>
-    </body>
-</html>
diff --git a/third_party/WebKit/LayoutTests/css2.1/20110323/block-non-replaced-height-003.htm b/third_party/WebKit/LayoutTests/css2.1/20110323/block-non-replaced-height-003.htm
deleted file mode 100644
index e48875f..0000000
--- a/third_party/WebKit/LayoutTests/css2.1/20110323/block-non-replaced-height-003.htm
+++ /dev/null
@@ -1,42 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
-<html>
-    <head>
-        <title>CSS Test: Block-level non-replaced elements in normal flow when 'overflow' computes to 'visible' and 'height' is 'auto'</title>
-        <link rel="author" title="Microsoft" href="http://www.microsoft.com/">
-        <link rel="help" href="http://www.w3.org/TR/CSS21/visudet.html#normal-block">
-        <meta name="flags" content="">
-        <meta name="assert" content="The 'height' is the 'height' of the child block box when a block-level non-replaced element is in normal flow and 'overflow' computes to 'visible'.">
-        <style type="text/css">
-            div
-            {
-                position: relative;
-            }
-            div div
-            {
-                width: 1in;
-            }
-            #div1 div
-            {
-                background: blue;
-                height: 2in;
-            }
-            #div2
-            {
-                background: orange;
-                height: 2in;
-                left: 1in;
-                position: absolute;
-                top: 0;
-            }
-        </style>
-    </head>
-    <body>
-        <p>Test passes if the blue and orange boxes below are the same height.</p>
-        <div>
-            <div id="div1">
-                <div></div>
-            </div>
-            <div id="div2"></div>
-        </div>
-    </body>
-</html>
\ No newline at end of file
diff --git a/third_party/WebKit/LayoutTests/css2.1/20110323/block-non-replaced-height-004.htm b/third_party/WebKit/LayoutTests/css2.1/20110323/block-non-replaced-height-004.htm
deleted file mode 100644
index e433cff..0000000
--- a/third_party/WebKit/LayoutTests/css2.1/20110323/block-non-replaced-height-004.htm
+++ /dev/null
@@ -1,46 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
-<html>
-    <head>
-        <title>CSS Test: Block-level non-replaced elements in normal flow when 'overflow' does not compute to 'visible' and 'height' is 'auto'</title>
-        <link rel="author" title="Microsoft" href="http://www.microsoft.com/">
-        <link rel="help" href="http://www.w3.org/TR/CSS21/visudet.html#normal-block">
-        <meta name="flags" content="">
-        <meta name="assert" content="The 'height' is the 'height' of the child block box when a block-level non-replaced element is in normal flow and 'overflow' does not compute to 'visible'.">
-        <style type="text/css">
-            html, body
-            {
-                overflow: scroll;
-            }
-            div
-            {
-                position: relative;
-            }
-            div div
-            {
-                width: 1in;
-            }
-            #div1 div
-            {
-                background: blue;
-                height: 2in;
-            }
-            #div2
-            {
-                background: orange;
-                height: 2in;
-                left: 1in;
-                position: absolute;
-                top: 0;
-            }
-        </style>
-    </head>
-    <body>
-        <p>Test passes if the blue and orange boxes below are the same height.</p>
-        <div>
-            <div id="div1">
-                <div></div>
-            </div>
-            <div id="div2"></div>
-        </div>
-    </body>
-</html>
diff --git a/third_party/WebKit/LayoutTests/css2.1/20110323/block-non-replaced-height-005.htm b/third_party/WebKit/LayoutTests/css2.1/20110323/block-non-replaced-height-005.htm
deleted file mode 100644
index 3c15f292..0000000
--- a/third_party/WebKit/LayoutTests/css2.1/20110323/block-non-replaced-height-005.htm
+++ /dev/null
@@ -1,46 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
-<html>
-    <head>
-        <title>CSS Test: Block-level non-replaced elements in normal flow when 'overflow' computes to 'visible' and 'height' is 'auto' adjust based on the line box height</title>
-        <link rel="author" title="Microsoft" href="http://www.microsoft.com/">
-        <link rel="help" href="http://www.w3.org/TR/CSS21/visudet.html#normal-block">
-        <meta name="flags" content="ahem">
-        <script src="../../resources/ahem.js"></script>
-        <meta name="assert" content="The 'height' is the distance from the topmost to the bottommost line box when a block-level non-replaced element is in normal flow and 'overflow' computes to 'visible'.">
-        <style type="text/css">
-            div
-            {
-                position: relative;
-            }
-            #div1
-            {
-                background: red;
-                width: 2in;
-            }
-            span
-            {
-                color: blue;
-                display: inline;
-                font: 1in/1em Ahem;
-            }
-            #div2
-            {
-                background: orange;
-                height: 2in;
-                left: 2in;
-                position: absolute;
-                top: 0;
-                width: 2in;
-            }
-        </style>
-    </head>
-    <body>
-        <p>Test passes if the blue and orange boxes below are the same height and there is no red visible on the page.</p>
-        <div>
-            <div id="div1">
-                <span>XX XX</span>
-            </div>
-            <div id="div2"></div>
-        </div>
-    </body>
-</html>
\ No newline at end of file
diff --git a/third_party/WebKit/LayoutTests/css2.1/20110323/block-non-replaced-height-006.htm b/third_party/WebKit/LayoutTests/css2.1/20110323/block-non-replaced-height-006.htm
deleted file mode 100644
index e03680aa..0000000
--- a/third_party/WebKit/LayoutTests/css2.1/20110323/block-non-replaced-height-006.htm
+++ /dev/null
@@ -1,50 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
-<html>
-    <head>
-        <title>CSS Test: Block-level non-replaced elements in normal flow when 'overflow' does not compute to 'visible' and 'height' is 'auto' adjust based on the line box height</title>
-        <link rel="author" title="Microsoft" href="http://www.microsoft.com/">
-        <link rel="help" href="http://www.w3.org/TR/CSS21/visudet.html#normal-block">
-        <meta name="flags" content="ahem">
-        <script src="../../resources/ahem.js"></script>
-        <meta name="assert" content="The 'height' is the distance from the topmost to the bottommost line box when a block-level non-replaced element is in normal flow and 'overflow' does not compute to 'visible'.">
-        <style type="text/css">
-            html, body
-            {
-                overflow: scroll;
-            }
-            div
-            {
-                position: relative;
-            }
-            #div1
-            {
-                background: red;
-                width: 2in;
-            }
-            span
-            {
-                color: blue;
-                display: inline;
-                font: 1in/1em Ahem;
-            }
-            #div2
-            {
-                background: orange;
-                height: 2in;
-                left: 2in;
-                position: absolute;
-                top: 0;
-                width: 2in;
-            }
-        </style>
-    </head>
-    <body>
-        <p>Test passes if the blue and orange boxes below are the same height and there is no red visible on the page.</p>
-        <div>
-            <div id="div1">
-                <span>XX XX</span>
-            </div>
-            <div id="div2"></div>
-        </div>
-    </body>
-</html>
diff --git a/third_party/WebKit/LayoutTests/css2.1/20110323/block-non-replaced-height-007.htm b/third_party/WebKit/LayoutTests/css2.1/20110323/block-non-replaced-height-007.htm
deleted file mode 100644
index 52db7f5..0000000
--- a/third_party/WebKit/LayoutTests/css2.1/20110323/block-non-replaced-height-007.htm
+++ /dev/null
@@ -1,51 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
-<html>
-    <head>
-        <title>CSS Test: Height determination for block-level non-replaced elements in normal flow when 'overflow' computes to 'visible' and elements' margins collapse</title>
-        <link rel="author" title="Microsoft" href="http://www.microsoft.com/">
-        <link rel="help" href="http://www.w3.org/TR/CSS21/visudet.html#normal-block">
-        <meta name="flags" content="">
-        <meta name="assert" content="The 'height' is the distance between the top border edge of the top most block-level child box that doesn't have margins collapsed through it, and the bottom border edge of the bottommost block-level child that doesn't have margins collapsed through it. When a block-level non-replaced element is in normal flow, 'overflow' computes to 'visible' and the 'height' is 'auto'.">
-        <style type="text/css">
-            #div1
-            {
-                position: relative;
-            }
-            #div2, #div3, #div4
-            {
-                width: 1in;
-            }
-            #div2, #div3
-            {
-                background: blue;
-                height: 0.5in;
-            }
-            #div2
-            {
-                border-top: 0.5in solid blue;
-                margin-top: 0.5in;
-            }
-            #div3
-            {
-                border-bottom: 0.5in solid blue;
-                margin-bottom: 0.5in;
-            }
-            #div4
-            {
-                background: blue;
-                height: 2in;
-                left: 1in;
-                position: absolute;
-                top: 0;
-            }
-        </style>
-    </head>
-    <body>
-        <p>Test passes if there is a blue square below.</p>
-        <div id="div1">
-            <div id="div2"></div>
-            <div id="div3"></div>
-            <div id="div4"></div>
-        </div>
-    </body>
-</html>
\ No newline at end of file
diff --git a/third_party/WebKit/LayoutTests/css2.1/20110323/block-non-replaced-height-008.htm b/third_party/WebKit/LayoutTests/css2.1/20110323/block-non-replaced-height-008.htm
deleted file mode 100644
index 57cb034..0000000
--- a/third_party/WebKit/LayoutTests/css2.1/20110323/block-non-replaced-height-008.htm
+++ /dev/null
@@ -1,55 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
-<html>
-    <head>
-        <title>CSS Test: Height determination for block-level non-replaced elements in normal flow when 'overflow' does not compute to 'visible' and elements' margins collapse</title>
-        <link rel="author" title="Microsoft" href="http://www.microsoft.com/">
-        <link rel="help" href="http://www.w3.org/TR/CSS21/visudet.html#normal-block">
-        <meta name="flags" content="">
-        <meta name="assert" content="The 'height' is the distance between the top border edge of the top most block-level child box that doesn't have margins collapsed, and the bottom border edge of the bottommost block-level child that doesn't have margins collapsed. When a block-level non-replaced element is in normal flow, 'overflow' does not compute to 'visible' but has been propagated to the viewport and the 'height' is 'auto'.">
-        <style type="text/css">
-            html, body
-            {
-                overflow: scroll;
-            }
-            #div1
-            {
-                position: relative;
-            }
-            #div2, #div3, #div4
-            {
-                width: 1in;
-            }
-            #div2, #div3
-            {
-                background: blue;
-                height: 0.5in;
-            }
-            #div2
-            {
-                border-top: 0.5in solid blue;
-                margin-top: 0.5in;
-            }
-            #div3
-            {
-                border-bottom: 0.5in solid blue;
-                margin-bottom: 0.5in;
-            }
-            #div4
-            {
-                background: blue;
-                height: 2in;
-                left: 1in;
-                position: absolute;
-                top: 0;
-            }
-        </style>
-    </head>
-    <body>
-        <p>Test passes if there is a blue square below.</p>
-        <div id="div1">
-            <div id="div2"></div>
-            <div id="div3"></div>
-            <div id="div4"></div>
-        </div>
-    </body>
-</html>
diff --git a/third_party/WebKit/LayoutTests/css2.1/20110323/block-non-replaced-height-009.htm b/third_party/WebKit/LayoutTests/css2.1/20110323/block-non-replaced-height-009.htm
deleted file mode 100644
index f8222ea..0000000
--- a/third_party/WebKit/LayoutTests/css2.1/20110323/block-non-replaced-height-009.htm
+++ /dev/null
@@ -1,59 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
-<html>
-    <head>
-        <title>CSS Test: Height determination for block-level non-replaced elements in normal flow when 'overflow' computes to 'visible' and elements' margins do not collapse</title>
-        <link rel="author" title="Microsoft" href="http://www.microsoft.com/">
-        <link rel="help" href="http://www.w3.org/TR/CSS21/visudet.html#normal-block">
-        <meta name="flags" content="">
-        <meta name="assert" content="When a block-level non-replaced element is in normal flow, 'overflow' computes to 'visible', the 'height' is 'auto' and top and bottom margins do not collapse. The 'height' is the sized from the top of the topmost margin edge of the content to the bottom of the bottom most margin edge of the content.">
-        <style type="text/css">
-            #div1
-            {
-                position: relative;
-            }
-            #div2
-            {
-                background: blue;
-                border-bottom: 0.25in solid blue;
-                border-top: 0.25in solid blue;
-            }
-            #div2, #div3, #div4, #div5
-            {
-                width: 1in;
-            }
-            #div3, #div4
-            {
-                background: blue;
-                height: 0.25in;
-            }
-            #div3
-            {
-                border-top: 0.25in solid blue;
-                margin-top: 0.25in;
-            }
-            #div4
-            {
-                border-bottom: 0.25in solid blue;
-                margin-bottom: 0.25in;
-            }
-            #div5
-            {
-                background: blue;
-                height: 2in;
-                left: 1in;
-                position: absolute;
-                top: 0;
-            }
-        </style>
-    </head>
-    <body>
-        <p>Test passes if there is a blue square below.</p>
-        <div id="div1">
-            <div id="div2">
-                <div id="div3"></div>
-                <div id="div4"></div>
-            </div>
-            <div id="div5"></div>
-        </div>
-    </body>
-</html>
\ No newline at end of file
diff --git a/third_party/WebKit/LayoutTests/css2.1/20110323/block-non-replaced-height-010.htm b/third_party/WebKit/LayoutTests/css2.1/20110323/block-non-replaced-height-010.htm
deleted file mode 100644
index 75f3c2a..0000000
--- a/third_party/WebKit/LayoutTests/css2.1/20110323/block-non-replaced-height-010.htm
+++ /dev/null
@@ -1,63 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
-<html>
-    <head>
-        <title>CSS Test: Height determination for block-level non-replaced elements in normal flow when 'overflow' does not compute to 'visible' and elements' margins do not collapse</title>
-        <link rel="author" title="Microsoft" href="http://www.microsoft.com/">
-        <link rel="help" href="http://www.w3.org/TR/CSS21/visudet.html#normal-block">
-        <meta name="flags" content="">
-        <meta name="assert" content="When a block-level non-replaced element is in normal flow, 'overflow' does not compute to 'visible', the 'height' is 'auto' and top and bottom margins do not collapse. The 'height' is the sized from the top of the topmost margin edge of the content to the bottom of the bottom most margin edge of the content.">
-        <style type="text/css">
-            html, body
-            {
-                overflow: scroll;
-            }
-            #div1
-            {
-                position: relative;
-            }
-            #div2
-            {
-                background: blue;
-                border-bottom: 0.25in solid blue;
-                border-top: 0.25in solid blue;
-            }
-            #div2, #div3, #div4, #div5
-            {
-                width: 1in;
-            }
-            #div3, #div4
-            {
-                background: blue;
-                height: 0.25in;
-            }
-            #div3
-            {
-                border-top: 0.25in solid blue;
-                margin-top: 0.25in;
-            }
-            #div4
-            {
-                border-bottom: 0.25in solid blue;
-                margin-bottom: 0.25in;
-            }
-            #div5
-            {
-                background: blue;
-                height: 2in;
-                left: 1in;
-                position: absolute;
-                top: 0;
-            }
-        </style>
-    </head>
-    <body>
-        <p>Test passes if there is a blue square below.</p>
-        <div id="div1">
-            <div id="div2">
-                <div id="div3"></div>
-                <div id="div4"></div>
-            </div>
-            <div id="div5"></div>
-        </div>
-    </body>
-</html>
diff --git a/third_party/WebKit/LayoutTests/css2.1/20110323/block-non-replaced-height-011.htm b/third_party/WebKit/LayoutTests/css2.1/20110323/block-non-replaced-height-011.htm
deleted file mode 100644
index aac22cde..0000000
--- a/third_party/WebKit/LayoutTests/css2.1/20110323/block-non-replaced-height-011.htm
+++ /dev/null
@@ -1,28 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
-<html>
-    <head>
-        <title>CSS Test: Floated children are ignored for 'height' on block-level non-replaced elements in normal flow when 'overflow' computes to 'visible'</title>
-        <link rel="author" title="Microsoft" href="http://www.microsoft.com/">
-        <link rel="help" href="http://www.w3.org/TR/CSS21/visudet.html#normal-block">
-        <meta name="flags" content="">
-        <meta name="assert" content="A floated child element is not considered when sizing the 'height' of a block-level non-replaced element is in normal flow.">
-        <style type="text/css">
-            #div1
-            {
-                background: red;
-            }
-            div div
-            {
-                float: left;
-                height: 1in;
-                width: 1in;
-            }
-        </style>
-    </head>
-    <body>
-        <p>Test passes if there is no red visible on the page.</p>
-        <div id="div1">
-            <div></div>
-        </div>
-    </body>
-</html>
\ No newline at end of file
diff --git a/third_party/WebKit/LayoutTests/css2.1/20110323/block-non-replaced-height-012.htm b/third_party/WebKit/LayoutTests/css2.1/20110323/block-non-replaced-height-012.htm
deleted file mode 100644
index 2d9ce7f..0000000
--- a/third_party/WebKit/LayoutTests/css2.1/20110323/block-non-replaced-height-012.htm
+++ /dev/null
@@ -1,32 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
-<html>
-    <head>
-        <title>CSS Test: Floated children are ignored for 'height' on block-level non-replaced elements in normal flow when 'overflow' does not computes to 'visible'</title>
-        <link rel="author" title="Microsoft" href="http://www.microsoft.com/">
-        <link rel="help" href="http://www.w3.org/TR/CSS21/visudet.html#normal-block">
-        <meta name="flags" content="">
-        <meta name="assert" content="A floated child element is not considered when sizing the 'height' of a block-level non-replaced element is in normal flow.">
-        <style type="text/css">
-            html, body
-            {
-                overflow: scroll;
-            }
-            #div1
-            {
-                background: red;
-            }
-            div div
-            {
-                float: left;
-                height: 1in;
-                width: 1in;
-            }
-        </style>
-    </head>
-    <body>
-        <p>Test passes if there is no red visible on the page.</p>
-        <div id="div1">
-            <div></div>
-        </div>
-    </body>
-</html>
diff --git a/third_party/WebKit/LayoutTests/css2.1/20110323/block-non-replaced-height-013.htm b/third_party/WebKit/LayoutTests/css2.1/20110323/block-non-replaced-height-013.htm
deleted file mode 100644
index 2eada89b..0000000
--- a/third_party/WebKit/LayoutTests/css2.1/20110323/block-non-replaced-height-013.htm
+++ /dev/null
@@ -1,28 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
-<html>
-    <head>
-        <title>CSS Test: An absolutely positioned child elements' 'height' is ignored for block-level non-replaced elements in normal flow when 'overflow' computes to 'visible'</title>
-        <link rel="author" title="Microsoft" href="http://www.microsoft.com/">
-        <link rel="help" href="http://www.w3.org/TR/CSS21/visudet.html#normal-block">
-        <meta name="flags" content="">
-        <meta name="assert" content="An absolutely positioned child element is not considered when sizing the 'height' of a block-level non-replaced element is in normal flow.">
-        <style type="text/css">
-            #div1
-            {
-                background: red;
-            }
-            div div
-            {
-                height: 1in;
-                position: absolute;
-                width: 1in;
-            }
-        </style>
-    </head>
-    <body>
-        <p>Test passes if there is no red visible on the page.</p>
-        <div id="div1">
-            <div></div>
-        </div>
-    </body>
-</html>
\ No newline at end of file
diff --git a/third_party/WebKit/LayoutTests/css2.1/20110323/block-non-replaced-height-014.htm b/third_party/WebKit/LayoutTests/css2.1/20110323/block-non-replaced-height-014.htm
deleted file mode 100644
index 3bd9d68b..0000000
--- a/third_party/WebKit/LayoutTests/css2.1/20110323/block-non-replaced-height-014.htm
+++ /dev/null
@@ -1,32 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
-<html>
-    <head>
-        <title>CSS Test: An absolutely positioned child elements' 'height' is ignored for block-level non-replaced elements in normal flow when 'overflow' does not compute to 'visible'</title>
-        <link rel="author" title="Microsoft" href="http://www.microsoft.com/">
-        <link rel="help" href="http://www.w3.org/TR/CSS21/visudet.html#normal-block">
-        <meta name="flags" content="">
-        <meta name="assert" content="An absolutely positioned child element is not considered when sizing the 'height' of a block-level non-replaced element is in normal flow.">
-        <style type="text/css">
-            html, body
-            {
-                overflow: scroll;
-            }
-            #div1
-            {
-                background: red;
-            }
-            div div
-            {
-                height: 1in;
-                position: absolute;
-                width: 1in;
-            }
-        </style>
-    </head>
-    <body>
-        <p>Test passes if there is no red visible on the page.</p>
-        <div id="div1">
-            <div></div>
-        </div>
-    </body>
-</html>
diff --git a/third_party/WebKit/LayoutTests/css2.1/20110323/block-non-replaced-height-015.htm b/third_party/WebKit/LayoutTests/css2.1/20110323/block-non-replaced-height-015.htm
deleted file mode 100644
index 5d845a8..0000000
--- a/third_party/WebKit/LayoutTests/css2.1/20110323/block-non-replaced-height-015.htm
+++ /dev/null
@@ -1,49 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
-<html>
-    <head>
-        <title>CSS Test: A relative positioned child elements' offset is ignored for 'height' on a block-level non-replaced elements in normal flow when 'overflow' computes to 'visible'</title>
-        <link rel="author" title="Microsoft" href="http://www.microsoft.com/">
-        <link rel="help" href="http://www.w3.org/TR/CSS21/visudet.html#normal-block">
-        <meta name="flags" content="">
-        <meta name="assert" content="A relative positioned child elements' offset is not considered when sizing the 'height' of a block-level non-replaced element is in normal flow.">
-        <style type="text/css">
-            #div1
-            {
-                position: relative;
-            }
-            #div2
-            {
-                background: blue;
-            }
-            #div2 div
-            {
-                position: relative;
-                top: 1in;
-            }
-            #div3
-            {
-                background: orange;
-                left: 1in;
-                position: absolute;
-                top: 0;
-            }
-            #div2 div, #div3
-            {
-                height: 1in;
-            }
-            div div
-            {
-                width: 1in;
-            }
-        </style>
-    </head>
-    <body>
-        <p>Test passes if the blue and orange boxes below are the same height.</p>
-        <div id="div1">
-            <div id="div2">
-                <div></div>
-            </div>
-            <div id="div3"></div>
-        </div>
-    </body>
-</html>
\ No newline at end of file
diff --git a/third_party/WebKit/LayoutTests/css2.1/20110323/block-non-replaced-height-016.htm b/third_party/WebKit/LayoutTests/css2.1/20110323/block-non-replaced-height-016.htm
deleted file mode 100644
index c944655..0000000
--- a/third_party/WebKit/LayoutTests/css2.1/20110323/block-non-replaced-height-016.htm
+++ /dev/null
@@ -1,53 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
-<html>
-    <head>
-        <title>CSS Test: A relative positioned child elements' offset is ignored for 'height' on a block-level non-replaced elements in normal flow when 'overflow' does not compute to 'visible'</title>
-        <link rel="author" title="Microsoft" href="http://www.microsoft.com/">
-        <link rel="help" href="http://www.w3.org/TR/CSS21/visudet.html#normal-block">
-        <meta name="flags" content="">
-        <meta name="assert" content="A relative positioned child elements' offset is not considered when sizing the 'height' of a block-level non-replaced element is in normal flow.">
-        <style type="text/css">
-            html, body
-            {
-                overflow: scroll;
-            }
-            #div1
-            {
-                position: relative;
-            }
-            #div2
-            {
-                background: blue;
-            }
-            #div2 div
-            {
-                position: relative;
-                top: 1in;
-            }
-            #div3
-            {
-                background: orange;
-                left: 1in;
-                position: absolute;
-                top: 0;
-            }
-            #div2 div, #div3
-            {
-                height: 1in;
-            }
-            div div
-            {
-                width: 1in;
-            }
-        </style>
-    </head>
-    <body>
-        <p>Test passes if the blue and orange boxes below are the same height.</p>
-        <div id="div1">
-            <div id="div2">
-                <div></div>
-            </div>
-            <div id="div3"></div>
-        </div>
-    </body>
-</html>
diff --git a/third_party/WebKit/LayoutTests/css2.1/20110323/block-non-replaced-width-001.htm b/third_party/WebKit/LayoutTests/css2.1/20110323/block-non-replaced-width-001.htm
deleted file mode 100644
index ee41f89..0000000
--- a/third_party/WebKit/LayoutTests/css2.1/20110323/block-non-replaced-width-001.htm
+++ /dev/null
@@ -1,45 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
-<html>
-    <head>
-        <title>CSS Test: Solving for width of block-level non-replaced elements in normal flow</title>
-        <link rel="author" title="Microsoft" href="http://www.microsoft.com/">
-        <link rel="help" href="http://www.w3.org/TR/CSS21/visudet.html#blockwidth">
-        <meta name="flags" content="">
-        <meta name="assert" content="The equation; 'margin-left' + 'border-left-width' + 'padding-left' + 'width' + 'padding-right' + 'border-right-width' + 'margin-right' is equal the width of containing block.">
-        <style type="text/css">
-            #div1
-            {
-                background-color: orange;
-                border: 5px solid orange;
-                display: inline-block;
-            }
-            div div
-            {
-                background-color: orange;
-                border-left: 10px solid orange;
-                border-right: 10px solid orange;
-                height: 20px;
-                margin-left: 10px;
-                margin-right: 10px;
-                padding-left: 10px;
-                padding-right: 10px;
-                width: 80px;
-            }
-            #d3
-            {
-                background-color: blue;
-                height: 30px;
-                position: absolute;
-                top: 82px;
-                width: 150px;
-            }
-        </style>
-    </head>
-    <body>
-        <p>Test passes if the orange and blue boxes below are the same width.</p>
-        <div id="div1">
-            <div></div>
-        </div>
-        <div id="d3"></div>
-    </body>
-</html>
\ No newline at end of file
diff --git a/third_party/WebKit/LayoutTests/css2.1/20110323/block-non-replaced-width-002.htm b/third_party/WebKit/LayoutTests/css2.1/20110323/block-non-replaced-width-002.htm
deleted file mode 100644
index 5e922f97..0000000
--- a/third_party/WebKit/LayoutTests/css2.1/20110323/block-non-replaced-width-002.htm
+++ /dev/null
@@ -1,43 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
-<html>
-    <head>
-        <title>CSS Test: Solving for width of block-level non-replaced elements in normal flow when 'width' is 'auto'</title>
-        <link rel="author" title="Microsoft" href="http://www.microsoft.com/">
-        <link rel="help" href="http://www.w3.org/TR/CSS21/visudet.html#blockwidth">
-        <meta name="flags" content="">
-        <meta name="assert" content="When width is auto and the combination of border widths, padding widths, scrollbar widths, width, and non 'auto' margin widths are larger than the width of the containing block, the margin widths are treated as 0.">
-        <style type="text/css">
-            #div1
-            {
-                margin-top: 15px;
-                width: 100px;
-            }
-            div div
-            {
-                background-color: orange;
-                border-left: 10px solid orange;
-                border-right: 10px solid orange;
-                height: 30px;
-                margin-left: auto;
-                padding-left: 10px;
-                padding-right: 10px;
-                width: 110px;
-            }
-            #div2
-            {
-                background-color: blue;
-                height: 30px;
-                position: absolute;
-                top: 82px;
-                width: 150px;
-            }
-        </style>
-    </head>
-    <body>
-        <p>Test passes if the orange and blue boxes below are the same width.</p>
-        <div id="div1">
-            <div></div>
-        </div>
-        <div id="div2"></div>
-    </body>
-</html>
\ No newline at end of file
diff --git a/third_party/WebKit/LayoutTests/css2.1/20110323/block-non-replaced-width-003.htm b/third_party/WebKit/LayoutTests/css2.1/20110323/block-non-replaced-width-003.htm
deleted file mode 100644
index 3a29971..0000000
--- a/third_party/WebKit/LayoutTests/css2.1/20110323/block-non-replaced-width-003.htm
+++ /dev/null
@@ -1,48 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
-<html>
-    <head>
-        <title>CSS Test: Solving over-constrained situation for block-level non-replaced elements in normal flow and direction is left-to-right</title>
-        <link rel="author" title="Microsoft" href="http://www.microsoft.com/">
-        <link rel="help" href="http://www.w3.org/TR/CSS21/visudet.html#blockwidth">
-        <meta name="flags" content="">
-        <meta name="assert" content="When direction is left-to-right, margin-right is ignored in an over-constrained situation.">
-        <style type="text/css">
-            div
-            {
-                direction: ltr;
-            }
-            #div1
-            {
-                background: orange;
-                width: 100px;
-            }
-            div div
-            {
-                background-color: orange;
-                border-left: 10px solid orange;
-                border-right: 10px solid orange;
-                height: 30px;
-                margin-left: 10px;
-                margin-right: 10px;
-                padding-left: 10px;
-                padding-right: 10px;
-                width: 100px;
-            }
-            #div2
-            {
-                background-color: blue;
-                height: 30px;
-                position: absolute;
-                top: 82px;
-                width: 150px;
-            }
-        </style>
-    </head>
-    <body>
-        <p>Test passes if the orange and blue boxes below are the same width.</p>
-        <div id="div1">
-            <div></div>
-        </div>
-        <div id="div2"></div>
-    </body>
-</html>
\ No newline at end of file
diff --git a/third_party/WebKit/LayoutTests/css2.1/20110323/block-non-replaced-width-004.htm b/third_party/WebKit/LayoutTests/css2.1/20110323/block-non-replaced-width-004.htm
deleted file mode 100644
index 01a69f4..0000000
--- a/third_party/WebKit/LayoutTests/css2.1/20110323/block-non-replaced-width-004.htm
+++ /dev/null
@@ -1,50 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
-<html>
-    <head>
-        <title>CSS Test: Solving over-constrained situation for block-level non-replaced elements in normal flow and direction is right-to-left</title>
-        <link rel="author" title="Microsoft" href="http://www.microsoft.com/">
-        <link rel="help" href="http://www.w3.org/TR/CSS21/visudet.html#blockwidth">
-        <meta name="flags" content="">
-        <meta name="assert" content="When direction is right-to-left, margin-left is ignored in an over-constrained situation.">
-        <style type="text/css">
-            div
-            {
-                direction: rtl;
-                position: relative;
-            }
-            #div1
-            {
-                background: orange;
-                width: 100px;
-            }
-            #div1 div
-            {
-                background-color: orange;
-                border-left: 10px solid orange;
-                border-right: 10px solid orange;
-                height: 30px;
-                margin-left: 10px;
-                margin-right: 10px;
-                padding-left: 10px;
-                padding-right: 10px;
-                width: 100px;
-            }
-            #div2
-            {
-                background-color: blue;
-                height: 30px;
-                position: absolute;
-                width: 150px;
-            }
-        </style>
-    </head>
-    <body>
-        <p>Test passes if the orange and blue boxes below are the same width.</p>
-        <div>
-            <div id="div1">
-                <div></div>
-            </div>
-            <div id="div2"></div>
-        </div>
-    </body>
-</html>
\ No newline at end of file
diff --git a/third_party/WebKit/LayoutTests/css2.1/20110323/block-non-replaced-width-005.htm b/third_party/WebKit/LayoutTests/css2.1/20110323/block-non-replaced-width-005.htm
deleted file mode 100644
index 286536eb..0000000
--- a/third_party/WebKit/LayoutTests/css2.1/20110323/block-non-replaced-width-005.htm
+++ /dev/null
@@ -1,36 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
-<html>
-    <head>
-        <title>CSS Test: Solving width for block-level non-replaced elements in normal flow with single 'auto' value</title>
-        <link rel="author" title="Microsoft" href="http://www.microsoft.com/">
-        <link rel="help" href="http://www.w3.org/TR/CSS21/visudet.html#blockwidth">
-        <meta name="flags" content="">
-        <meta name="assert" content="If 'width' is set to 'auto', no other 'auto' values are set the 'width' is computed based the width of the containing block.">
-        <style type="text/css">
-            body
-            {
-                margin: 0;
-            }
-            #div1
-            {
-                background: red;
-                width: 100%;
-            }
-            div div
-            {
-                background-color: green;
-                border: none;
-                margin: 0;
-                padding: 0;
-                height: 40px;
-                width: auto;
-            }
-        </style>
-    </head>
-    <body>
-        <p>Test passes if the box below spans the entire width of the page and there is no red visible on the page.</p>
-        <div id="div1">
-            <div></div>
-        </div>
-    </body>
-</html>
\ No newline at end of file
diff --git a/third_party/WebKit/LayoutTests/css2.1/20110323/block-non-replaced-width-006.htm b/third_party/WebKit/LayoutTests/css2.1/20110323/block-non-replaced-width-006.htm
deleted file mode 100644
index 8d17d544..0000000
--- a/third_party/WebKit/LayoutTests/css2.1/20110323/block-non-replaced-width-006.htm
+++ /dev/null
@@ -1,36 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
-<html>
-    <head>
-        <title>CSS Test: Solving width for block-level non-replaced elements in normal flow with multiple properties with 'auto' values</title>
-        <link rel="author" title="Microsoft" href="http://www.microsoft.com/">
-        <link rel="help" href="http://www.w3.org/TR/CSS21/visudet.html#blockwidth">
-        <meta name="flags" content="">
-        <meta name="assert" content="If 'width' is set to 'auto', any other 'auto' values become '0' and the 'width' is computed based on remaining space which includes any negative width.">
-        <style type="text/css">
-            body
-            {
-                margin: 0;
-            }
-            #div1
-            {
-                background: red;
-                width: 100%;
-            }
-            div div
-            {
-                background-color: green;
-                border: 10px solid green;
-                margin: 0 auto;
-                padding: 0;
-                height: 20px;
-                width: auto;
-            }
-        </style>
-    </head>
-    <body>
-        <p>Test passes if the box below spans the entire width of the page and there is no red visible on the page.</p>
-        <div id="div1">
-            <div></div>
-        </div>
-    </body>
-</html>
\ No newline at end of file
diff --git a/third_party/WebKit/LayoutTests/css2.1/20110323/block-non-replaced-width-007.htm b/third_party/WebKit/LayoutTests/css2.1/20110323/block-non-replaced-width-007.htm
deleted file mode 100644
index 3f5af62..0000000
--- a/third_party/WebKit/LayoutTests/css2.1/20110323/block-non-replaced-width-007.htm
+++ /dev/null
@@ -1,43 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
-<html>
-    <head>
-        <title>CSS Test: Box centering with 'margin-left' and 'margin-right' set to auto</title>
-        <link rel="author" title="Microsoft" href="http://www.microsoft.com/">
-        <link rel="help" href="http://www.w3.org/TR/CSS21/visudet.html#blockwidth">
-        <meta name="flags" content="ahem">
-        <script src="../../resources/ahem.js"></script>
-        <meta name="assert" content="When 'margin-left' and 'margin-right' are set to auto and the element has a 'width' then the box will be centered.">
-        <style type="text/css">
-            #div1
-            {
-                border: solid black;
-                height: 2in;
-                width: 2in;
-            }
-            #div2
-            {
-                background-color: orange;
-                border-color: orange;
-                border-style: solid;
-                border-width: 0 0.25in;
-                margin: 0 auto;
-                padding: 0;
-                height: 1in;
-                width: 0.5in;
-            }
-            #div3
-            {
-                color: blue;
-                font: 1in/1em Ahem;
-                text-align: center;
-            }
-        </style>
-    </head>
-    <body>
-        <p>Test passes if the blue and orange boxes are the same width and the blue box is directly below the orange box.</p>
-        <div id="div1">
-            <div id="div2"></div>
-            <div id="div3">X</div>
-        </div>
-    </body>
-</html>
\ No newline at end of file
diff --git a/third_party/WebKit/LayoutTests/css2.1/20110323/block-non-replaced-width-008.htm b/third_party/WebKit/LayoutTests/css2.1/20110323/block-non-replaced-width-008.htm
deleted file mode 100644
index a8ef3c2..0000000
--- a/third_party/WebKit/LayoutTests/css2.1/20110323/block-non-replaced-width-008.htm
+++ /dev/null
@@ -1,59 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
-<html>
-
- <head>
-
-  <title>CSS Test: Solving 'width: auto' of a block-level non-replaced element in normal flow with one other property set to an 'auto' value</title>
-
-  <link rel="author" title="Gérard Talbot" href="http://www.gtalbot.org/BrowserBugsSection/css21testsuite/">
-  <link rel="help" title="10.3.3 Block-level, non-replaced elements in normal flow" href="http://www.w3.org/TR/CSS21/visudet.html#blockwidth">
-  <meta content="" name="flags">
-  <meta content="If 'width' is set to 'auto', any other 'auto' values become '0' and the determination of 'width' proceeds from the following equality: 'margin-left' + 'border-left-width' + 'padding-left' + 'width' + 'padding-right' + 'border-right-width' + 'margin-right' = width of containing block" name="assert">
-
-  <style type="text/css">
-  div {height: 200px;}
-
-  div#containing-block
-  {
-  border-right: red solid 200px;
-  padding-right: 200px;
-  width: 0px;
-  }
-
-  div#child
-  {  
-  border-right: green solid 200px;
-  margin-right: -400px;
-  }
-  
-  /*
-  Calculation of used width for div#child:
-
-    margin-left             :    0px (or auto)
-  + border-left-width       :    0px
-  + padding-left            :    0px
-  + width                   :    auto
-  + padding-right           :    0px
-  + border-right-width      :  200px 
-  + margin-right            : -400px 
-  ====================================
-  width of containing block :    0px
-  
-  Therefore 'width: auto' must be resolved as 'width: 200px'.
-  Therefore div#child's green border-right should overlap perfectly 
-  div#containing-block's red border-right.
-  */  
-  </style>
-
- </head>
-
- <body>
-
-  <p>Test passes if there is a filled green square below and <strong>no red</strong>.</p>
-
-  <div id="containing-block">
-    <div id="child"></div>
-  </div>
-
- </body>
-</html>
\ No newline at end of file
diff --git a/third_party/WebKit/LayoutTests/css2.1/20110323/block-replaced-height-001.htm b/third_party/WebKit/LayoutTests/css2.1/20110323/block-replaced-height-001.htm
deleted file mode 100644
index 02833eaf..0000000
--- a/third_party/WebKit/LayoutTests/css2.1/20110323/block-replaced-height-001.htm
+++ /dev/null
@@ -1,31 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
-<html>
-    <head>
-        <title>CSS Test: Block replaced elements with 'margin-top' and 'margin-bottom' as 'auto'</title>
-        <link rel="author" title="Microsoft" href="http://www.microsoft.com/">
-        <link rel="help" href="http://www.w3.org/TR/CSS21/visudet.html#inline-replaced-height">
-        <meta name="flags" content="image">
-        <meta name="assert" content="A block replaced elements' used value of 'margin-top' and/or 'margin-bottom' set to 'auto' is '0'.">
-        <style type="text/css">
-            div
-            {
-                border-bottom: solid orange;
-                border-top: solid orange;
-                line-height: 0;
-                width: 1in;
-            }
-            img
-            {
-                display: block;
-                margin-top: auto;
-                margin-bottom: auto;
-            }
-        </style>
-    </head>
-    <body>
-        <p>Test passes if there is no white space between the blue box below and the orange lines.</p>
-        <div>
-            <img alt="blue 15x15" src="resources/blue15x15.png">
-        </div>
-    </body>
-</html>
diff --git a/third_party/WebKit/LayoutTests/css2.1/20110323/block-replaced-height-002.htm b/third_party/WebKit/LayoutTests/css2.1/20110323/block-replaced-height-002.htm
deleted file mode 100644
index 2d8160a7..0000000
--- a/third_party/WebKit/LayoutTests/css2.1/20110323/block-replaced-height-002.htm
+++ /dev/null
@@ -1,39 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
-<html>
-    <head>
-        <title>CSS Test: Block replaced elements relying on intrinsic height dimensions</title>
-        <link rel="author" title="Microsoft" href="http://www.microsoft.com/">
-        <link rel="help" href="http://www.w3.org/TR/CSS21/visudet.html#inline-replaced-height">
-        <meta name="flags" content="image">
-        <meta name="assert" content="The 'height' is the intrinsic height when an block replaced element with and intrinsic height has a 'height' and 'width' computed as 'auto'.">
-        <style type="text/css">
-            div
-            {
-                line-height: 0;
-                position: relative;
-            }
-            div div
-            {
-                background: orange;
-                height: 15px;
-                left: 15px;
-                position: absolute;
-                top: 0;
-                width: 15px;
-            }
-            img
-            {
-                display: block;
-                height: auto;
-                width: auto;
-            }
-        </style>
-    </head>
-    <body>
-        <p>Test passes if the blue and orange boxes below are the same height.</p>
-        <div>
-            <img alt="blue 15x15" src="resources/blue15x15.png">
-            <div></div>
-        </div>
-    </body>
-</html>
diff --git a/third_party/WebKit/LayoutTests/css2.1/20110323/block-replaced-height-003.htm b/third_party/WebKit/LayoutTests/css2.1/20110323/block-replaced-height-003.htm
deleted file mode 100644
index 8010724..0000000
--- a/third_party/WebKit/LayoutTests/css2.1/20110323/block-replaced-height-003.htm
+++ /dev/null
@@ -1,41 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
-<html>
-    <head>
-        <title>CSS Test: Block replaced elements with intrinsic ratios and 'height' set to 'auto'</title>
-        <link rel="author" title="Microsoft" href="http://www.microsoft.com/">
-        <link rel="help" href="http://www.w3.org/TR/CSS21/visudet.html#inline-replaced-height">
-        <meta name="flags" content="image">
-        <meta name="assert" content="The 'height' is the used width divided by the ratio when an block replaced element has an intrinsic ratio, 'height' is set to 'auto' and 'width' is specified.">
-        <style type="text/css">
-            div
-            {
-                line-height: 0;
-                position: relative;
-            }
-            div div
-            {
-                background: orange;
-                height: 1in;
-                left: 1in;
-                position: absolute;
-                top: 0;
-            }
-            img
-            {
-                display: inline;
-                height: auto;
-            }
-            div div, img
-            {
-                width: 1in;
-            }
-        </style>
-    </head>
-    <body>
-        <p>Test passes if the blue and orange boxes below are the same height.</p>
-        <div>
-            <img alt="blue 15x15" src="resources/blue15x15.png">
-            <div></div>
-        </div>
-    </body>
-</html>
diff --git a/third_party/WebKit/LayoutTests/css2.1/20110323/block-replaced-height-004.htm b/third_party/WebKit/LayoutTests/css2.1/20110323/block-replaced-height-004.htm
deleted file mode 100644
index 3f2f868..0000000
--- a/third_party/WebKit/LayoutTests/css2.1/20110323/block-replaced-height-004.htm
+++ /dev/null
@@ -1,38 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
-<html>
-    <head>
-        <title>CSS Test: Block replaced elements without intrinsic ratios and 'height' set to 'auto'</title>
-        <link rel="author" title="Microsoft" href="http://www.microsoft.com/">
-        <link rel="help" href="http://www.w3.org/TR/CSS21/visudet.html#inline-replaced-height">
-        <meta name="flags" content="">
-        <meta name="assert" content="For block replaced elements the 'height' is set to the largest rectangle that has a 2:1 ratio that is not greater than 150px and has a 'width' not greater than the device width.">
-        <style type="text/css">
-            div
-            {
-                position: relative;
-            }
-            div div
-            {
-                border: solid green;
-                height: 150px;
-                position: absolute;
-                top: 0;
-                width: 300px;
-            }
-            iframe
-            {
-                border: solid red;
-                display: block;
-                height: auto;
-                width: auto;
-            }
-        </style>
-    </head>
-    <body>
-        <p>Test passes if there is no red visible on the page.</p>
-        <div>
-            <iframe></iframe>
-            <div></div>
-        </div>
-    </body>
-</html>
\ No newline at end of file
diff --git a/third_party/WebKit/LayoutTests/css2.1/20110323/block-replaced-height-005.htm b/third_party/WebKit/LayoutTests/css2.1/20110323/block-replaced-height-005.htm
deleted file mode 100644
index 2269379..0000000
--- a/third_party/WebKit/LayoutTests/css2.1/20110323/block-replaced-height-005.htm
+++ /dev/null
@@ -1,38 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
-<html>
-    <head>
-        <title>CSS Test: Block replaced elements with percentage based intrinsic height</title>
-        <link rel="author" title="Microsoft" href="http://www.microsoft.com/">
-        <link rel="help" href="http://www.w3.org/TR/CSS21/visudet.html#inline-replaced-height">
-        <meta name="flags" content="">
-        <meta name="assert" content="A block replaced elements with a percentage intrinsic height resolves based on the containing block height when percentage is explicitly specified.">
-        <style type="text/css">
-            #div1
-            {
-                position: relative;
-                height: 2in;
-            }
-            div div
-            {
-                border: solid green;
-                height: 1in;
-                position: absolute;
-                top: 0;
-                width: 300px;
-            }
-            iframe
-            {
-                border: solid red;
-                display: block;
-                width: auto;
-            }
-        </style>
-    </head>
-    <body>
-        <p>Test passes if there is no red visible on the page.</p>
-        <div id="div1">
-            <iframe height="50%"></iframe>
-            <div></div>
-        </div>
-    </body>
-</html>
\ No newline at end of file
diff --git a/third_party/WebKit/LayoutTests/css2.1/20110323/block-replaced-height-007.htm b/third_party/WebKit/LayoutTests/css2.1/20110323/block-replaced-height-007.htm
deleted file mode 100644
index 417cf41..0000000
--- a/third_party/WebKit/LayoutTests/css2.1/20110323/block-replaced-height-007.htm
+++ /dev/null
@@ -1,37 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
-<html>
-    <head>
-        <title>CSS Test: Block replaced elements with percentage based intrinsic height that cannot be resolved</title>
-        <link rel="author" title="Microsoft" href="http://www.microsoft.com/">
-        <link rel="help" href="http://www.w3.org/TR/CSS21/visudet.html#inline-replaced-height">
-        <meta name="flags" content="">
-        <meta name="assert" content="A block replaced elements with a percentage height that cannot be resolved has no intrinsic height.">
-        <style type="text/css">
-            #div1
-            {
-                position: relative;
-            }
-            div div
-            {
-                border: solid green;
-                height: 150px;
-                position: absolute;
-                top: 0;
-                width: 300px;
-            }
-            iframe
-            {
-                border: solid red;
-                display: block;
-                width: auto;
-            }
-        </style>
-    </head>
-    <body>
-        <p>Test passes if there is no red visible on the page.</p>
-        <div id="div1">
-            <iframe height="50%"></iframe>
-            <div></div>
-        </div>
-    </body>
-</html>
\ No newline at end of file
diff --git a/third_party/WebKit/LayoutTests/css2.1/20110323/block-replaced-width-001.htm b/third_party/WebKit/LayoutTests/css2.1/20110323/block-replaced-width-001.htm
deleted file mode 100644
index f6c219c..0000000
--- a/third_party/WebKit/LayoutTests/css2.1/20110323/block-replaced-width-001.htm
+++ /dev/null
@@ -1,38 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
-<html>
-    <head>
-        <title>CSS Test: Block replaced elements and 'auto' specified for 'margin-left', 'margin-right' and intrinsic width</title>
-        <script src="../../resources/ahem.js"></script>
-        <link rel="author" title="Microsoft" href="http://www.microsoft.com/">
-        <link rel="help" href="http://www.w3.org/TR/CSS21/visudet.html#block-replaced-width">
-        <meta name="flags" content="ahem image">
-        <meta name="assert" content="Computed value of 'auto' for 'margin-left' or margin-right' on block replaced elements becomes a used value of '0'. The intrinsic width is also used if 'height' and 'width' are 'auto'.">
-        <style type="text/css">
-            #div1
-            {
-                border: solid black;
-                height: 2in;
-                width: 2in;
-            }
-            img
-            {
-                display: block;
-                margin-left: auto;
-                margin-right: auto;
-            }
-            div div
-            {
-                color: orange;
-                font: 15px/1em Ahem;
-                text-align: center;
-            }
-        </style>
-    </head>
-    <body>
-        <p>Test passes if the blue and orange boxes below are the same width, and they are horizontally centered inside the black box.</p>
-        <div id="div1">
-            <img alt="blue 15x15" src="resources/blue15x15.png">
-            <div>X</div>
-        </div>
-    </body>
-</html>
diff --git a/third_party/WebKit/LayoutTests/css2.1/20110323/block-replaced-width-006.htm b/third_party/WebKit/LayoutTests/css2.1/20110323/block-replaced-width-006.htm
deleted file mode 100644
index 178f728..0000000
--- a/third_party/WebKit/LayoutTests/css2.1/20110323/block-replaced-width-006.htm
+++ /dev/null
@@ -1,42 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
-<html>
-    <head>
-        <title>CSS Test: Block replaced elements and 'auto' specified for 'margin-left', 'margin-right' and percentage intrinsic width</title>
-        <script src="../../resources/ahem.js"></script>
-        <link rel="author" title="Microsoft" href="http://www.microsoft.com/">
-        <link rel="help" href="http://www.w3.org/TR/CSS21/visudet.html#block-replaced-width">
-        <meta name="flags" content="ahem image">
-        <meta name="assert" content="Percentage intrinsic widths are evaluated against the containing block's width.">
-        <style type="text/css">
-            div
-            {
-                line-height: 0;
-            }
-            #div1
-            {
-                border: solid black;
-                height: 3in;
-                width: 2in;
-            }
-            img
-            {
-                display: block;
-                margin-left: auto;
-                margin-right: auto;
-            }
-            div div
-            {
-                color: orange;
-                font: 1in/1em Ahem;
-                text-align: center;
-            }
-        </style>
-    </head>
-    <body>
-        <p>Test passes if the blue and orange boxes below are the same width, and they are horizontally centered inside the black box.</p>
-        <div id="div1">
-            <img alt="blue 15x15" src="resources/blue15x15.png" width="50%">
-            <div>X</div>
-        </div>
-    </body>
-</html>
diff --git a/third_party/WebKit/LayoutTests/css2.1/20110323/dynamic-top-change-001.htm b/third_party/WebKit/LayoutTests/css2.1/20110323/dynamic-top-change-001.htm
deleted file mode 100644
index 66b44e9..0000000
--- a/third_party/WebKit/LayoutTests/css2.1/20110323/dynamic-top-change-001.htm
+++ /dev/null
@@ -1,35 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
-<html>
- <head>
-  <title>CSS Test: Inheriting 'top' changes from relpos grandparent</title>
-  <link rel="author" title="Boris Zbarsky" href="mailto:bzbarsky@mit.edu">
-  <link rel="reviewer" title="Elika J. Etemad" href="http://fantasai.inkedblade.net/contact">
-  <link rel="help" href="http://www.w3.org/TR/CSS21/cascade.html#value-def-inherit">
-  <link rel="help" href="http://www.w3.org/TR/CSS21/visuren.html#position-props">
-  <link rel="help" href="http://www.w3.org/TR/CSS21/visuren.html#propdef-position">
-  <meta name="flags" content="dom">
-  <meta name="assert" content="The position of a positioned element which inherits its 'top' value from its relatively positioned grandparent changes when the grandparent's 'top' value is changed.">
-  <style type="text/css">
-    .testDiv { position: absolute; width: 100px; height: 100px; }
-    #green { top: 4em; background: green; }
-    #red { top: inherit; background: red; }
-    #parent { top: inherit; position: relative; }
-    #grandparent { position: relative; }
-  </style>
-  <script type="text/javascript">
-    window.onload = function() {
-      document.body.offsetWidth;
-      document.getElementById("grandparent").style.top = "2em";
-    }
-  </script>
- </head>
- <body>
-   <p>There should be no red.</p>
-   <div id="grandparent">
-     <div id="parent">
-       <div id="red" class="testDiv"></div>
-     </div>
-     <div id="green" class="testDiv"></div>
-   </div>
- </body>
-</html>
\ No newline at end of file
diff --git a/third_party/WebKit/LayoutTests/css2.1/20110323/dynamic-top-change-002.htm b/third_party/WebKit/LayoutTests/css2.1/20110323/dynamic-top-change-002.htm
deleted file mode 100644
index 355afdc3..0000000
--- a/third_party/WebKit/LayoutTests/css2.1/20110323/dynamic-top-change-002.htm
+++ /dev/null
@@ -1,35 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
-<html>
- <head>
-  <title>CSS Test: Inheriting 'top' changes from parent table-row through anonymous table boxes</title>
-  <link rel="author" title="Boris Zbarsky" href="mailto:bzbarsky@mit.edu">
-  <link rel="reviewer" title="Elika J. Etemad" href="http://fantasai.inkedblade.net/contact">
-  <link rel="help" href="http://www.w3.org/TR/CSS21/cascade.html#value-def-inherit">
-  <link rel="help" href="http://www.w3.org/TR/CSS21/visuren.html#position-props">
-  <link rel="help" href="http://www.w3.org/TR/CSS21/visuren.html#propdef-position">
-  <meta name="flags" content="dom">
-  <meta name="assert" content="The position of a positioned element which inherits its 'top' value from its parent changes when the parent's 'top' value is changed even if the parent is display:table-row.">
-  <style type="text/css">
-    .testDiv { width: 100px; height: 100px; }
-    #green { top: 4em; background: green; position: absolute; }
-    #red { top: inherit; background: red; position: relative; }
-    #parent { position: absolute; top: 2em; }
-    #intermediate { display: table-row; }
-  </style>
-  <script type="text/javascript">
-    window.onload = function() {
-      document.body.offsetWidth;
-      document.getElementById("intermediate").style.top = "2em";
-    }
-  </script>
- </head>
- <body>
-   <p>There should be no red.</p>
-   <div id="parent">
-     <div id="intermediate">
-       <div id="red" class="testDiv"></div>
-     </div>
-   </div>
-   <div id="green" class="testDiv"></div>
- </body>
-</html>
\ No newline at end of file
diff --git a/third_party/WebKit/LayoutTests/css2.1/20110323/dynamic-top-change-003.htm b/third_party/WebKit/LayoutTests/css2.1/20110323/dynamic-top-change-003.htm
deleted file mode 100644
index 873c20f..0000000
--- a/third_party/WebKit/LayoutTests/css2.1/20110323/dynamic-top-change-003.htm
+++ /dev/null
@@ -1,35 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
-<html>
- <head>
-  <title>CSS Test: Inheriting 'top' changes from parent table through anonymous table boxes</title>
-  <link rel="author" title="Boris Zbarsky" href="mailto:bzbarsky@mit.edu">
-  <link rel="reviewer" title="Elika J. Etemad" href="http://fantasai.inkedblade.net/contact">
-  <link rel="help" href="http://www.w3.org/TR/CSS21/cascade.html#value-def-inherit">
-  <link rel="help" href="http://www.w3.org/TR/CSS21/visuren.html#position-props">
-  <link rel="help" href="http://www.w3.org/TR/CSS21/visuren.html#propdef-position">
-  <meta name="flags" content="dom">
-  <meta name="assert" content="The position of a positioned element which inherits its 'top' value from its parent changes when the parent's 'top' value is changed even if the parent is display:table.">
-  <style type="text/css">
-    .testDiv { width: 100px; height: 100px; }
-    #green { top: 4em; background: green; position: absolute; }
-    #red { top: inherit; background: red; position: relative; }
-    #parent { position: absolute; top: 2em; }
-    #intermediate { display: table; }
-  </style>
-  <script type="text/javascript">
-    window.onload = function() {
-      document.body.offsetWidth;
-      document.getElementById("intermediate").style.top = "2em";
-    }
-  </script>
- </head>
- <body>
-   <p>There should be no red.</p>
-   <div id="parent">
-     <div id="intermediate">
-       <div id="red" class="testDiv"></div>
-     </div>
-   </div>
-   <div id="green" class="testDiv"></div>
- </body>
-</html>
\ No newline at end of file
diff --git a/third_party/WebKit/LayoutTests/css2.1/20110323/dynamic-top-change-004.htm b/third_party/WebKit/LayoutTests/css2.1/20110323/dynamic-top-change-004.htm
deleted file mode 100644
index 69f2125..0000000
--- a/third_party/WebKit/LayoutTests/css2.1/20110323/dynamic-top-change-004.htm
+++ /dev/null
@@ -1,32 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
-<html>
- <head>
-  <title>CSS Test: Inheriting 'top' changes from abspos parent</title>
-  <link rel="author" title="Boris Zbarsky" href="mailto:bzbarsky@mit.edu">
-  <link rel="reviewer" title="Elika J. Etemad" href="http://fantasai.inkedblade.net/contact">
-  <link rel="help" href="http://www.w3.org/TR/CSS21/cascade.html#value-def-inherit">
-  <link rel="help" href="http://www.w3.org/TR/CSS21/visuren.html#position-props">
-  <link rel="help" href="http://www.w3.org/TR/CSS21/visuren.html#propdef-position">
-  <meta name="flags" content="dom">
-  <meta name="assert" content="The position of a positioned element which inherits its 'top' value from its parent changes when the parent's 'top' value is changed.">
-  <style type="text/css">
-    .testDiv { width: 100px; height: 100px; }
-    #green { top: 4em; background: green; position: absolute; }
-    #red { top: inherit; background: red; position: relative; }
-    #parent { position: absolute; }
-  </style>
-  <script type="text/javascript">
-    window.onload = function() {
-      document.body.offsetWidth;
-      document.getElementById("parent").style.top = "2em";
-    }
-  </script>
- </head>
- <body>
-   <p>There should be no red.</p>
-   <div id="parent">
-     <div id="red" class="testDiv"></div>
-   </div>
-   <div id="green" class="testDiv"></div>
- </body>
-</html>
\ No newline at end of file
diff --git a/third_party/WebKit/LayoutTests/css2.1/20110323/dynamic-top-change-005-expected.html b/third_party/WebKit/LayoutTests/css2.1/20110323/dynamic-top-change-005-expected.html
deleted file mode 100644
index 8363b94..0000000
--- a/third_party/WebKit/LayoutTests/css2.1/20110323/dynamic-top-change-005-expected.html
+++ /dev/null
@@ -1,16 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
-<html>
- <head>
-  <title>CSS Test Reference Result: Inheriting 'top' changes from abspos grandparent</title>
-  <style type="text/css">
-    .testDiv { position: relative; width: 100px; height: 100px; }
-    #green { top: 100px; background: green; }
-    body > p { position: absolute; font-size: medium; }
-    body { font-size: 0; line-height: 0; position: relative; }
-  </style>
- </head>
- <body>
-   <p>There should be no red.</p>
-   <div id="green" class="testDiv"></div>
- </body>
-</html>
\ No newline at end of file
diff --git a/third_party/WebKit/LayoutTests/css2.1/20110323/dynamic-top-change-005.htm b/third_party/WebKit/LayoutTests/css2.1/20110323/dynamic-top-change-005.htm
deleted file mode 100644
index cdf6df7..0000000
--- a/third_party/WebKit/LayoutTests/css2.1/20110323/dynamic-top-change-005.htm
+++ /dev/null
@@ -1,37 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
-<html>
- <head>
-  <title>CSS Test: Inheriting 'top' changes from abspos grandparent</title>
-  <link rel="author" title="Boris Zbarsky" href="mailto:bzbarsky@mit.edu">
-  <link rel="reviewer" title="Elika J. Etemad" href="http://fantasai.inkedblade.net/contact">
-  <link rel="help" href="http://www.w3.org/TR/CSS21/cascade.html#value-def-inherit">
-  <link rel="help" href="http://www.w3.org/TR/CSS21/visuren.html#position-props">
-  <link rel="help" href="http://www.w3.org/TR/CSS21/visuren.html#propdef-position">
-  <meta name="flags" content="dom combo">
-  <meta name="assert" content="The position of a positioned element which inherits its 'top' value from its relatively positioned parent changes when the parent's 'top' value is changed.">
-  <style type="text/css">
-    .testDiv { position: relative; width: 100px; height: 100px; }
-    #green { top: 100px; background: green; }
-    #red { top: inherit; background: red; display: block; }
-    #parent { position: relative; }
-    body > p { position: absolute; font-size: medium; }
-    #grandparent { position: absolute; top: 0; }
-    body { font-size: 0; line-height: 0; position: relative; }
-  </style>
-  <script type="text/javascript">
-    window.onload = function() {
-      document.body.offsetWidth;
-      document.getElementById("parent").style.top = "50px";
-    }
-  </script>
- </head>
- <body>
-   <p>There should be no red.</p>
-   <div id="grandparent">
-     <span id="parent">
-       <span id="red" class="testDiv"></span>
-     </span>
-   </div>
-   <div id="green" class="testDiv"></div>
- </body>
-</html>
\ No newline at end of file
diff --git a/third_party/WebKit/LayoutTests/css2.1/20110323/dynamic-top-change-005a-expected.html b/third_party/WebKit/LayoutTests/css2.1/20110323/dynamic-top-change-005a-expected.html
deleted file mode 100644
index 263fa2a..0000000
--- a/third_party/WebKit/LayoutTests/css2.1/20110323/dynamic-top-change-005a-expected.html
+++ /dev/null
@@ -1,16 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
-<html>
- <head>
-  <title>CSS Test Reference Result</title>
-  <style type="text/css">
-    .testDiv { position: relative; width: 100px; height: 100px; }
-    #green { top: 100px; background: green; }
-    body > p { position: absolute; font-size: medium; }
-    body { font-size: 0; line-height: 0; position: relative; }
-  </style>
- </head>
- <body>
-   <p>There should be no red.</p>
-   <div id="green" class="testDiv"></div>
- </body>
-</html>
\ No newline at end of file
diff --git a/third_party/WebKit/LayoutTests/css2.1/20110323/dynamic-top-change-005a.htm b/third_party/WebKit/LayoutTests/css2.1/20110323/dynamic-top-change-005a.htm
deleted file mode 100644
index ecfa42f..0000000
--- a/third_party/WebKit/LayoutTests/css2.1/20110323/dynamic-top-change-005a.htm
+++ /dev/null
@@ -1,38 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
-<html>
- <head>
-  <title>CSS Test: Inheriting 'top' changes from abspos grandparent (variant: block parent)</title>
-  <link rel="author" title="Boris Zbarsky" href="mailto:bzbarsky@mit.edu">
-  <link rel="author" title="L. David Baron" href="http://dbaron.org/">
-  <link rel="reviewer" title="Elika J. Etemad" href="http://fantasai.inkedblade.net/contact">
-  <link rel="help" href="http://www.w3.org/TR/CSS21/cascade.html#value-def-inherit">
-  <link rel="help" href="http://www.w3.org/TR/CSS21/visuren.html#position-props">
-  <link rel="help" href="http://www.w3.org/TR/CSS21/visuren.html#propdef-position">
-  <meta name="flags" content="dom">
-  <meta name="assert" content="The position of a positioned element which inherits its 'top' value from its relatively positioned parent changes when the parent's 'top' value is changed.">
-  <style type="text/css">
-    .testDiv { position: relative; width: 100px; height: 100px; }
-    #green { top: 100px; background: green; }
-    #red { top: inherit; background: red; display: block; }
-    #parent { position: relative; }
-    body > p { position: absolute; font-size: medium; }
-    #grandparent { position: absolute; top: 0; }
-    body { font-size: 0; line-height: 0; position: relative; }
-  </style>
-  <script type="text/javascript">
-    window.onload = function() {
-      document.body.offsetWidth;
-      document.getElementById("parent").style.top = "50px";
-    }
-  </script>
- </head>
- <body>
-   <p>There should be no red.</p>
-   <div id="grandparent">
-     <div id="parent">
-       <span id="red" class="testDiv"></span>
-     </div>
-   </div>
-   <div id="green" class="testDiv"></div>
- </body>
-</html>
\ No newline at end of file
diff --git a/third_party/WebKit/LayoutTests/css2.1/20110323/dynamic-top-change-005b-expected.html b/third_party/WebKit/LayoutTests/css2.1/20110323/dynamic-top-change-005b-expected.html
deleted file mode 100644
index e0028e05..0000000
--- a/third_party/WebKit/LayoutTests/css2.1/20110323/dynamic-top-change-005b-expected.html
+++ /dev/null
@@ -1,16 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
-<html>
- <head>
-  <title>CSS Test Reference Result: Inheriting 'top' changes from abspos grandparent (non-dynamic variant)</title>
-  <style type="text/css">
-    .testDiv { position: relative; width: 100px; height: 100px; }
-    #green { top: 100px; background: green; }
-    body > p { position: absolute; font-size: medium; }
-    body { font-size: 0; line-height: 0; position: relative; }
-  </style>
- </head>
- <body>
-   <p>There should be no red.</p>
-   <div id="green" class="testDiv"></div>
- </body>
-</html>
\ No newline at end of file
diff --git a/third_party/WebKit/LayoutTests/css2.1/20110323/dynamic-top-change-005b.htm b/third_party/WebKit/LayoutTests/css2.1/20110323/dynamic-top-change-005b.htm
deleted file mode 100644
index 0a65426..0000000
--- a/third_party/WebKit/LayoutTests/css2.1/20110323/dynamic-top-change-005b.htm
+++ /dev/null
@@ -1,32 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
-<html>
- <head>
-  <title>CSS Test: Inheriting 'top' changes from abspos grandparent (non-dynamic variant)</title>
-  <link rel="author" title="Boris Zbarsky" href="mailto:bzbarsky@mit.edu">
-  <link rel="author" title="L. David Baron" href="http://dbaron.org/">
-  <link rel="reviewer" title="Elika J. Etemad" href="http://fantasai.inkedblade.net/contact">
-  <link rel="help" href="http://www.w3.org/TR/CSS21/cascade.html#value-def-inherit">
-  <link rel="help" href="http://www.w3.org/TR/CSS21/visuren.html#position-props">
-  <link rel="help" href="http://www.w3.org/TR/CSS21/visuren.html#propdef-position">
-  <meta name="flags" content="dom">
-  <meta name="assert" content="The position of a positioned element which inherits its 'top' value from its relatively positioned parent changes when the parent's 'top' value is changed.">
-  <style type="text/css">
-    .testDiv { position: relative; width: 100px; height: 100px; }
-    #green { top: 100px; background: green; }
-    #red { top: inherit; background: red; display: block; }
-    #parent { position: relative; top: 50px; }
-    body > p { position: absolute; font-size: medium; }
-    #grandparent { position: absolute; top: 0; }
-    body { font-size: 0; line-height: 0; position: relative; }
-  </style>
- </head>
- <body>
-   <p>There should be no red.</p>
-   <div id="grandparent">
-     <span id="parent">
-       <span id="red" class="testDiv"></span>
-     </span>
-   </div>
-   <div id="green" class="testDiv"></div>
- </body>
-</html>
\ No newline at end of file
diff --git a/third_party/WebKit/LayoutTests/css2.1/20110323/empty-inline-001.htm b/third_party/WebKit/LayoutTests/css2.1/20110323/empty-inline-001.htm
deleted file mode 100644
index c4c6d962..0000000
--- a/third_party/WebKit/LayoutTests/css2.1/20110323/empty-inline-001.htm
+++ /dev/null
@@ -1,26 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
-<html>
-    <head>
-        <title>CSS Test: Empty inline elements</title>
-        <link rel="author" title="Microsoft" href="http://www.microsoft.com/">
-        <link rel="help" href="http://www.w3.org/TR/CSS21/visuren.html#inline-formatting">
-        <meta name="flags" content="">
-        <meta name="assert" content="Empty inline elements create a zero-height line box.">
-        <style type="text/css">
-            div
-            {
-                background: red;
-            }
-            span
-            {
-                display: inline;
-            }
-        </style>
-    </head>
-    <body>
-        <p>Test passes if there is no red on this page.</p>
-        <div>
-            <span></span>
-        </div>
-    </body>
-</html>
\ No newline at end of file
diff --git a/third_party/WebKit/LayoutTests/css2.1/20110323/empty-inline-002.htm b/third_party/WebKit/LayoutTests/css2.1/20110323/empty-inline-002.htm
deleted file mode 100644
index a43a465..0000000
--- a/third_party/WebKit/LayoutTests/css2.1/20110323/empty-inline-002.htm
+++ /dev/null
@@ -1,66 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
-<html>
-    <head>
-        <title>CSS Test: Empty line box influence</title>
-        <link rel="author" title="Microsoft" href="http://www.microsoft.com/">
-        <link rel="help" href="http://www.w3.org/TR/CSS21/visudet.html#propdef-line-height">
-        <link rel="help" href="http://www.w3.org/TR/CSS21/visudet.html#leading">
-        <meta name="flags" content="ahem">
-        <script src="../../resources/ahem.js"></script>
-        <meta name="assert" content="Empty inline elements still influence calculation just like elements with content.">
-        <style type="text/css">
-            div, span
-            {
-                font: 1in/1em Ahem;
-            }
-            #div1
-            {
-                margin-top: 1in;
-            }
-            #div2, #div3
-            {
-                width: 5in;
-            }
-            #div2
-            {
-                border: 0.25in solid green;
-            }
-            span
-            {
-                background: green;
-                border: 0.25in solid green;
-                margin: 1in;
-                padding: 1in;
-            }
-            #div3
-            {
-                border: 0.25in solid red;
-                height: 1in;
-                position: relative;
-                top: -1.5in;
-                z-index: -1;
-            }
-            #div3 div
-            {
-                background: red;
-                border: 0.25in solid red;
-                height: 3in;
-                margin: 0 1in;
-                position: relative;
-                top: -1.25in;
-                width: 2in;
-            }
-        </style>
-    </head>
-    <body>
-        <p>Test passes if there is no red visible on the page.</p>
-        <div id="div1">
-            <div id="div2">
-                <span></span>
-            </div>
-            <div id="div3">
-                <div></div>
-            </div>
-        </div>
-    </body>
-</html>
\ No newline at end of file
diff --git a/third_party/WebKit/LayoutTests/css2.1/20110323/empty-inline-003.htm b/third_party/WebKit/LayoutTests/css2.1/20110323/empty-inline-003.htm
deleted file mode 100644
index 60a71ed9..0000000
--- a/third_party/WebKit/LayoutTests/css2.1/20110323/empty-inline-003.htm
+++ /dev/null
@@ -1,52 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
-<html>
-
- <head>
-
-  <title>CSS Test: Line height calculations: the 'line-height' and 'vertical-align' properties - Empty inline elements influence</title>
-
-  <link rel="help" href="http://www.w3.org/TR/CSS21/visudet.html#line-height">
-  <link rel="author" title="Gérard Talbot" href="http://www.gtalbot.org/BrowserBugsSection/css21testsuite/">
-  <link rel="author" title="Bruno Fassino" href="fassino[at]gmail.com">
-  <meta content="The line-height of an empty inline element influences the height of a line containing it with some other content" name="assert">
-  <meta content="" name="flags">
-
-  <style type="text/css">
-  #test
-  {
-  background-color: lime;
-  line-height: 1;
-  }
-
-  #empty-inline-element
-  {
-  line-height: 5;
-  }
-
-  #reference-overlapped-red
-  {
-  background-color: red;
-  left: 0;
-  line-height: 5;
-  position: absolute;
-  top: 0;
-  width: 100%;
-  z-index: -1;
-  }
-
-  #relatively-positioned-wrapper
-  {
-  position: relative;
-  }
-  </style>
-
- </head>
-
- <body>
- <p>Test passes if there is a wide bright green rectangle below with one "X" in it and if there is no red.</p>
-
-  <div id="relatively-positioned-wrapper">
-   <div id="test"><span id="empty-inline-element"></span>X</div>
-   <div id="reference-overlapped-red">X</div>
- </body>
-</html>
\ No newline at end of file
diff --git a/third_party/WebKit/LayoutTests/css2.1/20110323/float-non-replaced-height-001.htm b/third_party/WebKit/LayoutTests/css2.1/20110323/float-non-replaced-height-001.htm
deleted file mode 100644
index 4d68744..0000000
--- a/third_party/WebKit/LayoutTests/css2.1/20110323/float-non-replaced-height-001.htm
+++ /dev/null
@@ -1,42 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
-<html>
-    <head>
-        <title>CSS Test: Floated non-replaced element with 'margin-top', margin-bottom' set to 'auto' and 'height' relying on the descendants</title>
-        <link rel="author" title="Microsoft" href="http://www.microsoft.com/">
-        <link rel="help" href="http://www.w3.org/TR/CSS21/visudet.html#block-root-margin">
-        <meta name="flags" content="">
-        <meta name="assert" content="If 'height' is 'auto' on an floated non-replaced element then the 'height' depends on the descendants.">
-        <style type="text/css">
-            #div1
-            {
-                position: relative;
-            }
-            #div2
-            {
-                background: blue;
-                float: left;
-            }
-            #div2 div, #div3
-            {
-                height: 1in;
-                width: 1in;
-            }
-            #div3
-            {
-                background: orange;
-                left: 1in;
-                position: absolute;
-                top: 0;
-            }
-        </style>
-    </head>
-    <body>
-        <p>Test passes if the blue and orange boxes below are the same height.</p>
-        <div id="div1">
-            <div id="div2">
-                <div></div>
-            </div>
-            <div id="div3"></div>
-        </div>
-    </body>
-</html>
\ No newline at end of file
diff --git a/third_party/WebKit/LayoutTests/css2.1/20110323/float-non-replaced-width-001.htm b/third_party/WebKit/LayoutTests/css2.1/20110323/float-non-replaced-width-001.htm
deleted file mode 100644
index 18cb3ddd..0000000
--- a/third_party/WebKit/LayoutTests/css2.1/20110323/float-non-replaced-width-001.htm
+++ /dev/null
@@ -1,32 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
-<html>
-    <head>
-        <title>CSS Test: Floating non-replaced elements with 'auto' left margin</title>
-        <link rel="author" title="Microsoft" href="http://www.microsoft.com/">
-        <link rel="help" href="http://www.w3.org/TR/CSS21/visudet.html#float-width">
-        <meta name="flags" content="">
-        <meta name="assert" content="If 'margin-left' is computed as 'auto' its used value is '0'.">
-        <style type="text/css">
-            #div1
-            {
-                border: solid black;
-                height: 2in;
-                width: 2in;
-            }
-            div div
-            {
-                background-color: blue;
-                float: left;
-                margin-left: auto;
-                height: 1in;
-                width: 1in;
-            }
-        </style>
-    </head>
-    <body>
-        <p>Test passes if the blue box is in the upper-left corner of the black box.</p>
-        <div id="div1">
-            <div></div>
-        </div>
-    </body>
-</html>
\ No newline at end of file
diff --git a/third_party/WebKit/LayoutTests/css2.1/20110323/float-non-replaced-width-002.htm b/third_party/WebKit/LayoutTests/css2.1/20110323/float-non-replaced-width-002.htm
deleted file mode 100644
index 5eb27c9e..0000000
--- a/third_party/WebKit/LayoutTests/css2.1/20110323/float-non-replaced-width-002.htm
+++ /dev/null
@@ -1,32 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
-<html>
-    <head>
-        <title>CSS Test: Floating non-replaced elements with specified left margin</title>
-        <link rel="author" title="Microsoft" href="http://www.microsoft.com/">
-        <link rel="help" href="http://www.w3.org/TR/CSS21/visudet.html#float-width">
-        <meta name="flags" content="">
-        <meta name="assert" content="If 'margin-left' is not computed as 'auto' its used value is as specified.">
-        <style type="text/css">
-            #div1
-            {
-                border: solid black;
-                height: 2in;
-                width: 2in;
-            }
-            div div
-            {
-                background-color: blue;
-                float: left;
-                margin-left: 0.5in;
-                height: 1in;
-                width: 1in;
-            }
-        </style>
-    </head>
-    <body>
-        <p>Test passes if the blue box is horizontally centered inside the black box.</p>
-        <div id="div1">
-            <div></div>
-        </div>
-    </body>
-</html>
\ No newline at end of file
diff --git a/third_party/WebKit/LayoutTests/css2.1/20110323/float-non-replaced-width-003.htm b/third_party/WebKit/LayoutTests/css2.1/20110323/float-non-replaced-width-003.htm
deleted file mode 100644
index 696a2f09..0000000
--- a/third_party/WebKit/LayoutTests/css2.1/20110323/float-non-replaced-width-003.htm
+++ /dev/null
@@ -1,32 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
-<html>
-    <head>
-        <title>CSS Test: Floating non-replaced elements with 'auto' right margin</title>
-        <link rel="author" title="Microsoft" href="http://www.microsoft.com/">
-        <link rel="help" href="http://www.w3.org/TR/CSS21/visudet.html#float-width">
-        <meta name="flags" content="">
-        <meta name="assert" content="If 'margin-right' is computed as 'auto' its used value is '0'.">
-        <style type="text/css">
-            #div1
-            {
-                border: solid black;
-                height: 2in;
-                width: 2in;
-            }
-            div div
-            {
-                background-color: blue;
-                float: right;
-                margin-right: auto;
-                height: 1in;
-                width: 1in;
-            }
-        </style>
-    </head>
-    <body>
-        <p>Test passes if the blue box is in the upper-right corner of the black box.</p>
-        <div id="div1">
-            <div></div>
-        </div>
-    </body>
-</html>
\ No newline at end of file
diff --git a/third_party/WebKit/LayoutTests/css2.1/20110323/float-non-replaced-width-004.htm b/third_party/WebKit/LayoutTests/css2.1/20110323/float-non-replaced-width-004.htm
deleted file mode 100644
index 8afe373..0000000
--- a/third_party/WebKit/LayoutTests/css2.1/20110323/float-non-replaced-width-004.htm
+++ /dev/null
@@ -1,32 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
-<html>
-    <head>
-        <title>CSS Test: Floating non-replaced elements with specified right margin</title>
-        <link rel="author" title="Microsoft" href="http://www.microsoft.com/">
-        <link rel="help" href="http://www.w3.org/TR/CSS21/visudet.html#float-width">
-        <meta name="flags" content="">
-        <meta name="assert" content="If 'margin-right' is not computed as 'auto' its used value is as specified.">
-        <style type="text/css">
-            #div1
-            {
-                border: solid black;
-                height: 2in;
-                width: 2in;
-            }
-            div div
-            {
-                background-color: blue;
-                float: right;
-                margin-right: 0.5in;
-                height: 1in;
-                width: 1in;
-            }
-        </style>
-    </head>
-    <body>
-        <p>Test passes if the blue box is horizontally centered inside the black box.</p>
-        <div id="div1">
-            <div></div>
-        </div>
-    </body>
-</html>
\ No newline at end of file
diff --git a/third_party/WebKit/LayoutTests/css2.1/20110323/float-non-replaced-width-005.htm b/third_party/WebKit/LayoutTests/css2.1/20110323/float-non-replaced-width-005.htm
deleted file mode 100644
index d362488..0000000
--- a/third_party/WebKit/LayoutTests/css2.1/20110323/float-non-replaced-width-005.htm
+++ /dev/null
@@ -1,33 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
-<html>
-    <head>
-        <title>CSS Test: Floating non-replaced elements with left and right margins as 'auto'</title>
-        <link rel="author" title="Microsoft" href="http://www.microsoft.com/">
-        <link rel="help" href="http://www.w3.org/TR/CSS21/visudet.html#float-width">
-        <meta name="flags" content="">
-        <meta name="assert" content="If both 'margin-left' and margin-right' are computed as 'auto' their used value is as '0'.">
-        <style type="text/css">
-            #div1
-            {
-                border: solid black;
-                height: 2in;
-                width: 2in;
-            }
-            div div
-            {
-                background-color: blue;
-                float: left;
-                margin-left: auto;
-                margin-right: auto;
-                height: 1in;
-                width: 1in;
-            }
-        </style>
-    </head>
-    <body>
-        <p>Test passes if the blue box is in the upper-left corner of the black box.</p>
-        <div id="div1">
-            <div></div>
-        </div>
-    </body>
-</html>
\ No newline at end of file
diff --git a/third_party/WebKit/LayoutTests/css2.1/20110323/float-non-replaced-width-006.htm b/third_party/WebKit/LayoutTests/css2.1/20110323/float-non-replaced-width-006.htm
deleted file mode 100644
index 88a701e..0000000
--- a/third_party/WebKit/LayoutTests/css2.1/20110323/float-non-replaced-width-006.htm
+++ /dev/null
@@ -1,25 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
-<html>
-    <head>
-        <title>CSS Test: Floating non-replaced elements with 'auto' width</title>
-        <link rel="author" title="Microsoft" href="http://www.microsoft.com/">
-        <link rel="help" href="http://www.w3.org/TR/CSS21/visudet.html#float-width">
-        <meta name="flags" content="ahem">
-        <script src="../../resources/ahem.js"></script>
-        <meta name="assert" content="If 'width' computes to 'auto' then the used value of 'width' is 'shrink-to-fit'.">
-        <style type="text/css">
-            div
-            {
-                background: red;
-                color: green;
-                float: left;
-                font: 1in/1em Ahem;
-                width: auto;
-            }
-        </style>
-    </head>
-    <body>
-        <p>Test passes if there is no red visible on the page.</p>
-        <div>X</div>
-    </body>
-</html>
\ No newline at end of file
diff --git a/third_party/WebKit/LayoutTests/css2.1/20110323/float-non-replaced-width-007.htm b/third_party/WebKit/LayoutTests/css2.1/20110323/float-non-replaced-width-007.htm
deleted file mode 100644
index 9adac06..0000000
--- a/third_party/WebKit/LayoutTests/css2.1/20110323/float-non-replaced-width-007.htm
+++ /dev/null
@@ -1,43 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
-<html>
-
- <head>
-
-  <title>CSS Test: 'shrink-to-fit' width of floating, non-replaced elements - inline-block and max-width</title>
-
-  <link rel="author" title="Gérard Talbot" href="http://www.gtalbot.org/BrowserBugsSection/css21testsuite/">
-  <link rel="author" title="Daniel Schattenkirchner" href="crazy-daniel{at}gmx.de">
-  <link rel="help" title="Section 10.3.5 Width of floating, non-replaced elements" href="http://www.w3.org/TR/CSS21/visudet.html#float-width">
-  <link rel="help" title="Section 10.3.9 Width of 'inline-block', non-replaced elements in normal flow" href="http://www.w3.org/TR/CSS21/visudet.html#inlineblock-width">
-  <link rel="help" href="http://www.w3.org/TR/CSS21/visudet.html#min-max-widths">
-  <meta content="If 'width' of a floating, non-replaced element computes to 'auto' or 'width' of an inline-block, non-replaced element in normal flow computes to 'auto', then the used value of 'width' is given by 'shrink-to-fit' width calculation. If 'width' of an inline-block, non-replaced element in normal flow is given by 'shrink-to-fit' width calculation, then such calculated width can be furthermore constrained, reduced by a max-width declaration. If 'width' of a floating, non-replaced element computes to 'auto' but its own child uses a constrained length resulting from a max-width declaration, then such constrained length will define the preferred width in 'shrink-to-fit' width calculation." name="assert">
-  <meta content="ahem" name="flags">
-  <script src="../../resources/ahem.js"></script>
-
-  <style type="text/css">
-  div
-  {
-  background-color: red;
-  float: left;
-  font: 32px/4 Ahem;
-  width: auto;
-  }
-
-  span
-  {
-  background-color: green;
-  display: inline-block;
-  max-width: 4em;
-  }
-  </style>
-
- </head>
-
- <body>
-
-  <p>Below there should be a green square. In the middle of such green square, a black horizontal stripe should be traversing it and protruding out of it toward the right. There should be no red in this page.</p>
-
-  <div><span>XXXXXXXX</span></div>
-
- </body>
-</html>
\ No newline at end of file
diff --git a/third_party/WebKit/LayoutTests/css2.1/20110323/float-non-replaced-width-008.htm b/third_party/WebKit/LayoutTests/css2.1/20110323/float-non-replaced-width-008.htm
deleted file mode 100644
index 3502b48..0000000
--- a/third_party/WebKit/LayoutTests/css2.1/20110323/float-non-replaced-width-008.htm
+++ /dev/null
@@ -1,43 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
-<html>
-
- <head>
-
-  <title>CSS Test: 'shrink-to-fit' width of floating, non-replaced elements - max-width</title>
-
-  <link rel="author" title="Gérard Talbot" href="http://www.gtalbot.org/BrowserBugsSection/css21testsuite/">
-  <link rel="author" title="Daniel Schattenkirchner" href="crazy-daniel{at}gmx.de">
-  <link rel="help" title="Section 10.3.5 Width of floating, non-replaced elements" href="http://www.w3.org/TR/CSS21/visudet.html#float-width">
-  <link rel="help" href="http://www.w3.org/TR/CSS21/visudet.html#the-width-property">
-  <link rel="help" href="http://www.w3.org/TR/CSS21/visudet.html#min-max-widths">
-  <meta content="If 'width' of a floating, non-replaced element computes to 'auto', then the used value of 'width' is given by 'shrink-to-fit' width calculation. If 'width' of a floating, non-replaced element is given by 'shrink-to-fit' width calculation, then such calculated width can be furthermore constrained, reduced by a max-width declaration. If 'width' of a floating, non-replaced element computes to 'auto' but its own child uses a constrained length resulting from a max-width declaration, then such constrained length will define the preferred width in 'shrink-to-fit' width calculation." name="assert">
-  <meta content="ahem" name="flags">
-  <script src="../../resources/ahem.js"></script>
-
-  <style type="text/css">
-  div
-  {
-  background-color: red;
-  float: left;
-  font: 32px/4 Ahem;
-  width: auto;
-  }
-
-  span
-  {
-  background-color: green;
-  float: left;
-  max-width: 4em;
-  }
-  </style>
-
- </head>
-
- <body>
-
-  <p>Below there should be a green square. In the middle of such green square, a black horizontal stripe should be traversing it and protruding out of it toward the right. There should be no red in this page.</p>
-
-  <div><span>XXXXXXXX</span></div>
-
- </body>
-</html>
\ No newline at end of file
diff --git a/third_party/WebKit/LayoutTests/css2.1/20110323/float-non-replaced-width-009.htm b/third_party/WebKit/LayoutTests/css2.1/20110323/float-non-replaced-width-009.htm
deleted file mode 100644
index 166abf6..0000000
--- a/third_party/WebKit/LayoutTests/css2.1/20110323/float-non-replaced-width-009.htm
+++ /dev/null
@@ -1,44 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
-<html>
-
- <head>
-
-  <title>CSS Test: 'shrink-to-fit' width of floating, non-replaced elements - max-width</title>
-
-  <link rel="author" title="Gérard Talbot" href="http://www.gtalbot.org/BrowserBugsSection/css21testsuite/">
-  <link rel="author" title="Daniel Schattenkirchner" href="crazy-daniel{at}gmx.de">
-  <link rel="help" title="Section 10.3.5 Width of floating, non-replaced elements" href="http://www.w3.org/TR/CSS21/visudet.html#float-width">
-  <link rel="help" href="http://www.w3.org/TR/CSS21/visudet.html#the-width-property">
-  <link rel="help" href="http://www.w3.org/TR/CSS21/visudet.html#min-max-widths">
-  <meta content="If 'width' of a floating, non-replaced element computes to 'auto', then the used value of 'width' is given by 'shrink-to-fit' width calculation. If 'width' of a floating, non-replaced element is given by 'shrink-to-fit' width calculation, then such calculated width can be furthermore constrained, reduced by a max-width declaration. If 'width' of a floating, non-replaced element computes to 'auto' but its own child uses a constrained length resulting from a max-width declaration, then such constrained length will define the preferred width in 'shrink-to-fit' width calculation." name="assert">
-  <meta content="ahem" name="flags">
-  <script src="../../resources/ahem.js"></script>
-
-  <style type="text/css">
-  div
-  {
-  background-color: red;
-  float: left;
-  font: 32px/4 Ahem;
-  width: auto;
-  }
-
-  div > div
-  {
-  background-color: green;
-  max-width: 4em;
-  }
-  </style>
-
- </head>
-
- <body>
-
-  <p>Below there should be a green square. In the middle of such green square, a black horizontal stripe should be traversing it and protruding out of it toward the right. There should be no red in this page.</p>
-
-  <div>
-    <div>XXXXXXXX</div>
-  </div>
-
- </body>
-</html>
\ No newline at end of file
diff --git a/third_party/WebKit/LayoutTests/css2.1/20110323/float-non-replaced-width-010.htm b/third_party/WebKit/LayoutTests/css2.1/20110323/float-non-replaced-width-010.htm
deleted file mode 100644
index 10861cf..0000000
--- a/third_party/WebKit/LayoutTests/css2.1/20110323/float-non-replaced-width-010.htm
+++ /dev/null
@@ -1,44 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
-<html>
-
- <head>
-
-  <title>CSS Test: 'shrink-to-fit' width of floating, non-replaced elements - width</title>
-
-  <link rel="author" title="Gérard Talbot" href="http://www.gtalbot.org/BrowserBugsSection/css21testsuite/">
-  <link rel="author" title="Daniel Schattenkirchner" href="crazy-daniel{at}gmx.de">
-  <link rel="help" title="Section 10.3.5 Width of floating, non-replaced elements" href="http://www.w3.org/TR/CSS21/visudet.html#float-width">
-  <link rel="help" href="http://www.w3.org/TR/CSS21/visudet.html#the-width-property">
-  <link rel="help" href="http://www.w3.org/TR/CSS21/visudet.html#min-max-widths">
-  <meta content="If 'width' of a floating, non-replaced element computes to 'auto', then the used value of 'width' is given by 'shrink-to-fit' width calculation. If 'width' is specified with absolute length, then the computed value is the specified value. If 'width' of a floating, non-replaced element computes to 'auto' but its own child uses specified absolute length, then such specified absolute length will define the preferred width in 'shrink-to-fit' width calculation." name="assert">
-  <meta content="ahem" name="flags">
-  <script src="../../resources/ahem.js"></script>
-
-  <style type="text/css">
-  div
-  {
-  background-color: red;
-  float: left;
-  font: 32px/4 Ahem;
-  width: auto;
-  }
-
-  div > div
-  {
-  background-color: green;
-  width: 4em;
-  }
-  </style>
-
- </head>
-
- <body>
-
-  <p>Below there should be a green square. In the middle of such green square, a black horizontal stripe should be traversing it and protruding out of it toward the right. There should be no red in this page.</p>
-
-  <div>
-    <div>XXXXXXXX</div>
-  </div>
-
- </body>
-</html>
\ No newline at end of file
diff --git a/third_party/WebKit/LayoutTests/css2.1/20110323/float-non-replaced-width-011.htm b/third_party/WebKit/LayoutTests/css2.1/20110323/float-non-replaced-width-011.htm
deleted file mode 100644
index 9a181a7..0000000
--- a/third_party/WebKit/LayoutTests/css2.1/20110323/float-non-replaced-width-011.htm
+++ /dev/null
@@ -1,45 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
-<html>
-
- <head>
-
-  <title>CSS Test: 'shrink-to-fit' width of floating, non-replaced elements - inline-block and max-width</title>
-
-  <link rel="author" title="Gérard Talbot" href="http://www.gtalbot.org/BrowserBugsSection/css21testsuite/">
-  <link rel="author" title="Daniel Schattenkirchner" href="crazy-daniel{at}gmx.de">
-  <link rel="help" title="Section 10.3.5 Width of floating, non-replaced elements" href="http://www.w3.org/TR/CSS21/visudet.html#float-width">
-  <link rel="help" title="Section 10.3.9 Width of 'inline-block', non-replaced elements in normal flow" href="http://www.w3.org/TR/CSS21/visudet.html#inlineblock-width">
-  <link rel="help" href="http://www.w3.org/TR/CSS21/visudet.html#min-max-widths">
-  <meta content="If 'width' of a floating, non-replaced element computes to 'auto' or 'width' of an inline-block, non-replaced element in normal flow computes to 'auto', then the used value of 'width' is given by 'shrink-to-fit' width calculation. If 'width' of an inline-block, non-replaced element in normal flow is given by 'shrink-to-fit' width calculation, then such calculated width can be furthermore constrained, reduced by a max-width declaration. If 'width' of a floating, non-replaced element computes to 'auto' but its own child uses a constrained length resulting from a max-width declaration, then such constrained length will define the preferred width in 'shrink-to-fit' width calculation." name="assert">
-  <meta content="ahem" name="flags">
-  <script src="../../resources/ahem.js"></script>
-
-  <style type="text/css">
-  div
-  {
-  background-color: red;
-  float: left;
-  font: 32px/4 Ahem;
-  width: auto;
-  }
-
-  div > div
-  {
-  background-color: green;
-  display: inline-block;
-  max-width: 4em;
-  }
-  </style>
-
- </head>
-
- <body>
-
-  <p>Below there should be a green square. In the middle of such green square, a black horizontal stripe should be traversing it and protruding out of it toward the right. There should be no red in this page.</p>
-
-  <div>
-    <div>XXXXXXXX</div>
-  </div>
-
- </body>
-</html>
\ No newline at end of file
diff --git a/third_party/WebKit/LayoutTests/css2.1/20110323/float-non-replaced-width-012.htm b/third_party/WebKit/LayoutTests/css2.1/20110323/float-non-replaced-width-012.htm
deleted file mode 100644
index 17f2fa48..0000000
--- a/third_party/WebKit/LayoutTests/css2.1/20110323/float-non-replaced-width-012.htm
+++ /dev/null
@@ -1,36 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
-<html>
-
- <head>
-
-  <title>CSS Test: 'shrink-to-fit' width of floating, non-replaced elements - max-width</title>
-
-  <link rel="author" title="Gérard Talbot" href="http://www.gtalbot.org/BrowserBugsSection/css21testsuite/">
-  <link rel="author" title="Daniel Schattenkirchner" href="crazy-daniel{at}gmx.de">
-  <link rel="help" title="Section 10.3.5 Width of floating, non-replaced elements" href="http://www.w3.org/TR/CSS21/visudet.html#float-width">
-  <link rel="help" href="http://www.w3.org/TR/CSS21/visudet.html#min-max-widths">
-  <meta content="If 'width' of a floating non-replaced element computes to 'auto', then the used value of 'width' is given by 'shrink-to-fit' width calculation and such calculated width can be furthermore constrained, reduced by a max-width declaration." name="assert">
-  <meta content="ahem" name="flags">
-  <script src="../../resources/ahem.js"></script>
-
-  <style type="text/css">
-  div
-  {
-  background-color: green;
-  float: left;
-  font: 32px/4 Ahem;
-  max-width: 4em;
-  width: auto;
-  }
-  </style>
-
- </head>
-
- <body>
-
-  <p>Below there should be a green square. In the middle of such green square, a black horizontal stripe should be traversing it and protruding out of it toward the right.</p>
-
-  <div>XXXXXXXX</div>
-
- </body>
-</html>
\ No newline at end of file
diff --git a/third_party/WebKit/LayoutTests/css2.1/20110323/float-replaced-height-001.htm b/third_party/WebKit/LayoutTests/css2.1/20110323/float-replaced-height-001.htm
deleted file mode 100644
index f8d3cf5b..0000000
--- a/third_party/WebKit/LayoutTests/css2.1/20110323/float-replaced-height-001.htm
+++ /dev/null
@@ -1,34 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
-<html>
-    <head>
-        <title>CSS Test: Floated replaced elements with 'margin-top' and 'margin-bottom' as 'auto'</title>
-        <link rel="author" title="Microsoft" href="http://www.microsoft.com/">
-        <link rel="help" href="http://www.w3.org/TR/CSS21/visudet.html#inline-replaced-height">
-        <meta name="flags" content="image">
-        <meta name="assert" content="A floated replaced elements' used value of 'margin-top' and/or 'margin-bottom' set to 'auto' is '0'.">
-        <style type="text/css">
-            div
-            {
-                border-bottom: solid orange;
-                border-top: solid orange;
-                line-height: 0;
-                width: 1in;
-            }
-            img
-            {
-                margin-top: auto;
-                margin-bottom: auto;
-            }
-            div, img
-            {
-                float: left;
-            }
-        </style>
-    </head>
-    <body>
-        <p>Test passes if there is no white space between the blue box below and the orange lines.</p>
-        <div>
-            <img alt="blue 15x15" src="resources/blue15x15.png">
-        </div>
-    </body>
-</html>
diff --git a/third_party/WebKit/LayoutTests/css2.1/20110323/float-replaced-height-002.htm b/third_party/WebKit/LayoutTests/css2.1/20110323/float-replaced-height-002.htm
deleted file mode 100644
index c2f59208..0000000
--- a/third_party/WebKit/LayoutTests/css2.1/20110323/float-replaced-height-002.htm
+++ /dev/null
@@ -1,42 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
-<html>
-    <head>
-        <title>CSS Test: Floated replaced elements relying on intrinsic height dimensions</title>
-        <link rel="author" title="Microsoft" href="http://www.microsoft.com/">
-        <link rel="help" href="http://www.w3.org/TR/CSS21/visudet.html#inline-replaced-height">
-        <meta name="flags" content="image">
-        <meta name="assert" content="The 'height' is the intrinsic height when an floated replaced element with and intrinsic height has a 'height' and 'width' computed as 'auto'.">
-        <style type="text/css">
-            div
-            {
-                line-height: 0;
-                position: relative;
-            }
-            div div
-            {
-                background: orange;
-                height: 15px;
-                left: 15px;
-                position: absolute;
-                top: 0;
-                width: 15px;
-            }
-            img
-            {
-                height: auto;
-                width: auto;
-            }
-            div, img
-            {
-                float: left;
-            }
-        </style>
-    </head>
-    <body>
-        <p>Test passes if the blue and orange boxes below are the same height.</p>
-        <div>
-            <img alt="blue 15x15" src="resources/blue15x15.png">
-            <div></div>
-        </div>
-    </body>
-</html>
diff --git a/third_party/WebKit/LayoutTests/css2.1/20110323/float-replaced-height-003.htm b/third_party/WebKit/LayoutTests/css2.1/20110323/float-replaced-height-003.htm
deleted file mode 100644
index d5c6b87..0000000
--- a/third_party/WebKit/LayoutTests/css2.1/20110323/float-replaced-height-003.htm
+++ /dev/null
@@ -1,44 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
-<html>
-    <head>
-        <title>CSS Test: Floating replaced elements with intrinsic ratios and 'height' set to 'auto'</title>
-        <link rel="author" title="Microsoft" href="http://www.microsoft.com/">
-        <link rel="help" href="http://www.w3.org/TR/CSS21/visudet.html#inline-replaced-height">
-        <meta name="flags" content="image">
-        <meta name="assert" content="The 'height' is the used width divided by the ratio when an floated replaced element has an intrinsic ratio, 'height' is set to 'auto' and 'width' is specified.">
-        <style type="text/css">
-            div
-            {
-                line-height: 0;
-                position: relative;
-            }
-            div div
-            {
-                background: orange;
-                height: 1in;
-                left: 1in;
-                position: absolute;
-                top: 0;
-            }
-            img
-            {
-                height: auto;
-            }
-            div, img
-            {
-                float: left;
-            }
-            div div, img
-            {
-                width: 1in;
-            }
-        </style>
-    </head>
-    <body>
-        <p>Test passes if the blue and orange boxes below are the same height.</p>
-        <div>
-            <img alt="blue 15x15" src="resources/blue15x15.png">
-            <div></div>
-        </div>
-    </body>
-</html>
diff --git a/third_party/WebKit/LayoutTests/css2.1/20110323/float-replaced-height-004.htm b/third_party/WebKit/LayoutTests/css2.1/20110323/float-replaced-height-004.htm
deleted file mode 100644
index 26fe796..0000000
--- a/third_party/WebKit/LayoutTests/css2.1/20110323/float-replaced-height-004.htm
+++ /dev/null
@@ -1,38 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
-<html>
-    <head>
-        <title>CSS Test: Floated replaced elements without intrinsic ratios and 'height' set to 'auto'</title>
-        <link rel="author" title="Microsoft" href="http://www.microsoft.com/">
-        <link rel="help" href="http://www.w3.org/TR/CSS21/visudet.html#inline-replaced-height">
-        <meta name="flags" content="">
-        <meta name="assert" content="For floated replaced elements the 'height' is set to the largest rectangle that has a 2:1 ratio that is not greater than 150px and has a 'width' not greater than the device width.">
-        <style type="text/css">
-            div
-            {
-                position: relative;
-            }
-            div div
-            {
-                border: solid green;
-                height: 150px;
-                position: absolute;
-                top: 0;
-                width: 300px;
-            }
-            iframe
-            {
-                border: solid red;
-                float: left;
-                height: auto;
-                width: auto;
-            }
-        </style>
-    </head>
-    <body>
-        <p>Test passes if there is no red visible on the page.</p>
-        <div>
-            <iframe></iframe>
-            <div></div>
-        </div>
-    </body>
-</html>
\ No newline at end of file
diff --git a/third_party/WebKit/LayoutTests/css2.1/20110323/float-replaced-height-005.htm b/third_party/WebKit/LayoutTests/css2.1/20110323/float-replaced-height-005.htm
deleted file mode 100644
index 50d3f62..0000000
--- a/third_party/WebKit/LayoutTests/css2.1/20110323/float-replaced-height-005.htm
+++ /dev/null
@@ -1,38 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
-<html>
-    <head>
-        <title>CSS Test: Floated replaced elements with percentage based intrinsic height</title>
-        <link rel="author" title="Microsoft" href="http://www.microsoft.com/">
-        <link rel="help" href="http://www.w3.org/TR/CSS21/visudet.html#inline-replaced-height">
-        <meta name="flags" content="">
-        <meta name="assert" content="A floated replaced element with percentage intrinsic height resolves based on the containing block height when percentage is explicitly specified.">
-        <style type="text/css">
-            #div1
-            {
-                position: relative;
-                height: 2in;
-            }
-            div div
-            {
-                border: solid green;
-                height: 1in;
-                position: absolute;
-                top: 0;
-                width: 300px;
-            }
-            iframe
-            {
-                border: solid red;
-                float: left;
-                width: auto;
-            }
-        </style>
-    </head>
-    <body>
-        <p>Test passes if there is no red visible on the page.</p>
-        <div id="div1">
-            <iframe height="50%"></iframe>
-            <div></div>
-        </div>
-    </body>
-</html>
\ No newline at end of file
diff --git a/third_party/WebKit/LayoutTests/css2.1/20110323/float-replaced-height-007.htm b/third_party/WebKit/LayoutTests/css2.1/20110323/float-replaced-height-007.htm
deleted file mode 100644
index 1063c5a..0000000
--- a/third_party/WebKit/LayoutTests/css2.1/20110323/float-replaced-height-007.htm
+++ /dev/null
@@ -1,37 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
-<html>
-    <head>
-        <title>CSS Test: Floated replaced elements with percentage based intrinsic height that cannot be resolved</title>
-        <link rel="author" title="Microsoft" href="http://www.microsoft.com/">
-        <link rel="help" href="http://www.w3.org/TR/CSS21/visudet.html#inline-replaced-height">
-        <meta name="flags" content="">
-        <meta name="assert" content="A floated replaced elements with a percentage height that cannot be resolved has no intrinsic height.">
-        <style type="text/css">
-            #div1
-            {
-                position: relative;
-            }
-            div div
-            {
-                border: solid green;
-                height: 150px;
-                position: absolute;
-                top: 0;
-                width: 300px;
-            }
-            iframe
-            {
-                border: solid red;
-                float: left;
-                width: auto;
-            }
-        </style>
-    </head>
-    <body>
-        <p>Test passes if there is no red visible on the page.</p>
-        <div id="div1">
-            <iframe height="50%"></iframe>
-            <div></div>
-        </div>
-    </body>
-</html>
\ No newline at end of file
diff --git a/third_party/WebKit/LayoutTests/css2.1/20110323/float-replaced-width-001.htm b/third_party/WebKit/LayoutTests/css2.1/20110323/float-replaced-width-001.htm
deleted file mode 100644
index e79e68b0..0000000
--- a/third_party/WebKit/LayoutTests/css2.1/20110323/float-replaced-width-001.htm
+++ /dev/null
@@ -1,32 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
-<html>
-    <head>
-        <title>CSS Test: Floated replaced elements with 'auto' left margin</title>
-        <link rel="author" title="Microsoft" href="http://www.microsoft.com/">
-        <link rel="help" href="http://www.w3.org/TR/CSS21/visudet.html#float-replaced-width">
-        <meta name="flags" content="image">
-        <meta name="assert" content="If 'margin-left' is computed as 'auto' its used value is '0'.">
-        <style type="text/css">
-            #div1
-            {
-                border: solid black;
-                height: 2in;
-                width: 2in;
-            }
-            img
-            {
-                background-color: blue;
-                float: left;
-                margin-left: auto;
-                height: 1in;
-                width: 1in;
-            }
-        </style>
-    </head>
-    <body>
-        <p>Test passes if the blue box is in the upper-left corner of the black box.</p>
-        <div id="div1">
-            <img alt="blue 15x15" src="resources/blue15x15.png">
-        </div>
-    </body>
-</html>
diff --git a/third_party/WebKit/LayoutTests/css2.1/20110323/float-replaced-width-002.htm b/third_party/WebKit/LayoutTests/css2.1/20110323/float-replaced-width-002.htm
deleted file mode 100644
index 7702d76..0000000
--- a/third_party/WebKit/LayoutTests/css2.1/20110323/float-replaced-width-002.htm
+++ /dev/null
@@ -1,32 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
-<html>
-    <head>
-        <title>CSS Test: Floated replaced elements with specified left margin</title>
-        <link rel="author" title="Microsoft" href="http://www.microsoft.com/">
-        <link rel="help" href="http://www.w3.org/TR/CSS21/visudet.html#float-replaced-width">
-        <meta name="flags" content="image">
-        <meta name="assert" content="If 'margin-left' is not computed as 'auto' its used value is as specified.">
-        <style type="text/css">
-            #div1
-            {
-                border: solid black;
-                height: 2in;
-                width: 2in;
-            }
-            img
-            {
-                background-color: blue;
-                float: left;
-                margin-left: 0.5in;
-                height: 1in;
-                width: 1in;
-            }
-        </style>
-    </head>
-    <body>
-        <p>Test passes if the blue box is horizontally centered inside the black box.</p>
-        <div id="div1">
-            <img alt="blue 15x15" src="resources/blue15x15.png">
-        </div>
-    </body>
-</html>
diff --git a/third_party/WebKit/LayoutTests/css2.1/20110323/float-replaced-width-003.htm b/third_party/WebKit/LayoutTests/css2.1/20110323/float-replaced-width-003.htm
deleted file mode 100644
index 5daa3093..0000000
--- a/third_party/WebKit/LayoutTests/css2.1/20110323/float-replaced-width-003.htm
+++ /dev/null
@@ -1,32 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
-<html>
-    <head>
-        <title>CSS Test: Floated replaced elements with 'auto' right margin</title>
-        <link rel="author" title="Microsoft" href="http://www.microsoft.com/">
-        <link rel="help" href="http://www.w3.org/TR/CSS21/visudet.html#float-replaced-width">
-        <meta name="flags" content="image">
-        <meta name="assert" content="If 'margin-right' is computed as 'auto' its used value is '0'.">
-        <style type="text/css">
-            #div1
-            {
-                border: solid black;
-                height: 2in;
-                width: 2in;
-            }
-            img
-            {
-                background-color: blue;
-                float: right;
-                margin-right: auto;
-                height: 1in;
-                width: 1in;
-            }
-        </style>
-    </head>
-    <body>
-        <p>Test passes if the blue box is in the upper-right corner of the black box.</p>
-        <div id="div1">
-            <img alt="blue 15x15" src="resources/blue15x15.png">
-        </div>
-    </body>
-</html>
diff --git a/third_party/WebKit/LayoutTests/css2.1/20110323/float-replaced-width-004.htm b/third_party/WebKit/LayoutTests/css2.1/20110323/float-replaced-width-004.htm
deleted file mode 100644
index d5906b7..0000000
--- a/third_party/WebKit/LayoutTests/css2.1/20110323/float-replaced-width-004.htm
+++ /dev/null
@@ -1,32 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
-<html>
-    <head>
-        <title>CSS Test: Floated replaced elements with specified right margin</title>
-        <link rel="author" title="Microsoft" href="http://www.microsoft.com/">
-        <link rel="help" href="http://www.w3.org/TR/CSS21/visudet.html#float-replaced-width">
-        <meta name="flags" content="image">
-        <meta name="assert" content="If 'margin-right' is not computed as 'auto' its used value is as specified.">
-        <style type="text/css">
-            #div1
-            {
-                border: solid black;
-                height: 2in;
-                width: 2in;
-            }
-            img
-            {
-                background-color: blue;
-                float: right;
-                margin-right: 0.5in;
-                height: 1in;
-                width: 1in;
-            }
-        </style>
-    </head>
-    <body>
-        <p>Test passes if the blue box is horizontally centered inside the black box.</p>
-        <div id="div1">
-            <img alt="blue 15x15" src="resources/blue15x15.png">
-        </div>
-    </body>
-</html>
diff --git a/third_party/WebKit/LayoutTests/css2.1/20110323/float-replaced-width-005.htm b/third_party/WebKit/LayoutTests/css2.1/20110323/float-replaced-width-005.htm
deleted file mode 100644
index 3c37e39..0000000
--- a/third_party/WebKit/LayoutTests/css2.1/20110323/float-replaced-width-005.htm
+++ /dev/null
@@ -1,33 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
-<html>
-    <head>
-        <title>CSS Test: Floated replaced elements with left and right margins as 'auto'</title>
-        <link rel="author" title="Microsoft" href="http://www.microsoft.com/">
-        <link rel="help" href="http://www.w3.org/TR/CSS21/visudet.html#float-replaced-width">
-        <meta name="flags" content="image">
-        <meta name="assert" content="If both 'margin-left' and margin-right' are computed as 'auto' their used value is as '0'.">
-        <style type="text/css">
-            #div1
-            {
-                border: solid black;
-                height: 2in;
-                width: 2in;
-            }
-            img
-            {
-                background-color: blue;
-                float: left;
-                margin-left: auto;
-                margin-right: auto;
-                height: 1in;
-                width: 1in;
-            }
-        </style>
-    </head>
-    <body>
-        <p>Test passes if the blue box is in the upper-left corner of the black box.</p>
-        <div id="div1">
-            <img alt="blue 15x15" src="resources/blue15x15.png">
-        </div>
-    </body>
-</html>
diff --git a/third_party/WebKit/LayoutTests/css2.1/20110323/float-replaced-width-006.htm b/third_party/WebKit/LayoutTests/css2.1/20110323/float-replaced-width-006.htm
deleted file mode 100644
index d2db9ce..0000000
--- a/third_party/WebKit/LayoutTests/css2.1/20110323/float-replaced-width-006.htm
+++ /dev/null
@@ -1,38 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
-<html>
-    <head>
-        <title>CSS Test: Floated replaced elements and 'auto' specified for 'margin-left', 'margin-right' and intrinsic width</title>
-        <link rel="author" title="Microsoft" href="http://www.microsoft.com/">
-        <link rel="help" href="http://www.w3.org/TR/CSS21/visudet.html#float-replaced-width">
-        <meta name="flags" content="image">
-        <meta name="assert" content="Computed value of 'auto' for 'margin-left' or margin-right' on floated replaced elements becomes a used value of '0'. The intrinsic width is also used if 'height' and 'width' are 'auto'.">
-        <style type="text/css">
-            #div1
-            {
-                border: solid black;
-                height: 2in;
-                width: 2in;
-            }
-            img
-            {
-                float: left;
-                margin-left: auto;
-                margin-right: auto;
-            }
-            div div
-            {
-                background: orange;
-                height: 15px;
-                margin-top: 15px;
-                width: 15px;
-            }
-        </style>
-    </head>
-    <body>
-        <p>Test passes if the blue and orange boxes below are the same width, and the blue box is in the upper-left corner of the black box.</p>
-        <div id="div1">
-            <img alt="blue 15x15" src="resources/blue15x15.png">
-            <div></div>
-        </div>
-    </body>
-</html>
diff --git a/third_party/WebKit/LayoutTests/css2.1/20110323/float-replaced-width-011.htm b/third_party/WebKit/LayoutTests/css2.1/20110323/float-replaced-width-011.htm
deleted file mode 100644
index 90ddb01..0000000
--- a/third_party/WebKit/LayoutTests/css2.1/20110323/float-replaced-width-011.htm
+++ /dev/null
@@ -1,42 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
-<html>
-    <head>
-        <title>CSS Test: Floated replaced elements and 'auto' specified for 'margin-left', 'margin-right' and percentage intrinsic width</title>
-        <link rel="author" title="Microsoft" href="http://www.microsoft.com/">
-        <link rel="help" href="http://www.w3.org/TR/CSS21/visudet.html#float-replaced-width">
-        <meta name="flags" content="image">
-        <meta name="assert" content="Percentage intrinsic widths are evaluated against the containing block's width.">
-        <style type="text/css">
-            div
-            {
-                line-height: 0;
-            }
-            #div1
-            {
-                border: solid black;
-                height: 3in;
-                width: 2in;
-            }
-            img
-            {
-                float: left;
-                margin-left: auto;
-                margin-right: auto;
-            }
-            div div
-            {
-                background: orange;
-                height: 1in;
-                margin-top: 1in;
-                width: 1in;
-            }
-        </style>
-    </head>
-    <body>
-        <p>Test passes if the blue and orange boxes below are the same width, and the blue box is in the upper-left corner of the black box.</p>
-        <div id="div1">
-            <img alt="blue 15x15" src="resources/blue15x15.png" width="50%">
-            <div></div>
-        </div>
-    </body>
-</html>
diff --git a/third_party/WebKit/LayoutTests/css2.1/20110323/floating-replaced-height-008.htm b/third_party/WebKit/LayoutTests/css2.1/20110323/floating-replaced-height-008.htm
deleted file mode 100644
index 646ea4e..0000000
--- a/third_party/WebKit/LayoutTests/css2.1/20110323/floating-replaced-height-008.htm
+++ /dev/null
@@ -1,38 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
-<html>
-
- <head>
-
-  <title>CSS Test: Floating replaced elements - specified width, height in percentages and intrinsic ratio</title>
-
-  <link rel="author" title="Gérard Talbot" href="http://www.gtalbot.org/BrowserBugsSection/css21testsuite/">
-  <link rel="help" href="http://www.w3.org/TR/CSS21/visudet.html#inline-replaced-height" title="10.6.2 Inline replaced elements, block-level replaced elements in normal flow, 'inline-block' replaced elements in normal flow and floating replaced elements">
-  <link rel="bookmark" href="https://bugs.kde.org/show_bug.cgi?id=274790" title="Bug 274790: object specified with width and height percentages and with intrinsic ratio">
-  <meta http-equiv="Content-Style-Type" content="text/css">
-  <meta content="image" name="flags">
-  <meta content="When 'height: 1%' (or any other percentage) applies to a floating replaced element and when the height of its containing block is not specified explicitly (i.e., it depends on content height), then such height computes to 'auto'. Then, if such floating replaced element has an intrinsic ratio and its used width is known or resolved, then the used value of 'height' is determined by the equation (used width) / (intrinsic ratio)." name="assert">
-
-  <style type="text/css">
-  img {float: left;}
-  </style>
-
- </head>
-
- <body>
-
-  <p>There should be <strong>5 filled green squares</strong> with the same width and the <strong>same height</strong>. The 5 filled green squares should be <strong>identical</strong> to each other. This should still remain true even after a window resize.</p>
-
-  <div>
-   <img src="support/60x60-green.png" width="15%" alt="FAIL: image download must be enabled"><img src="support/swatch-white.png" width="5" height="5" alt="FAIL: image download must be enabled">
-  
-   <img src="support/60x60-green.png" width="15%" height="1%" alt="FAIL: image download must be enabled"><img src="support/swatch-white.png" width="5" height="5" alt="FAIL: image download must be enabled">
-  
-   <img src="support/60x60-green.png" style="width: 15%;" alt="FAIL: image download must be enabled"><img src="support/swatch-white.png" width="5" height="5" alt="FAIL: image download must be enabled">
-  
-   <img src="support/60x60-green.png" style="width: 15%; height: auto;" alt="FAIL: image download must be enabled"><img src="support/swatch-white.png" width="5" height="5" alt="FAIL: image download must be enabled">
-  
-   <img src="support/60x60-green.png" style="width: 15%; height: 1%;" alt="FAIL: image download must be enabled">
-  </div>
-
- </body>
-</html>
\ No newline at end of file
diff --git a/third_party/WebKit/LayoutTests/css2.1/20110323/floats-001-expected.html b/third_party/WebKit/LayoutTests/css2.1/20110323/floats-001-expected.html
deleted file mode 100644
index d321302..0000000
--- a/third_party/WebKit/LayoutTests/css2.1/20110323/floats-001-expected.html
+++ /dev/null
@@ -1,30 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
-<html>
-
- <head><meta charset="utf-8"/>
-
-  <title>CSS Reftest Reference</title>
-
-  <link rel="author" title="Gérard Talbot" href="http://www.gtalbot.org/BrowserBugsSection/css21testsuite/">
-
-  <style type="text/css">
-  div
-  {
-  border: black solid 5px;
-  height: 1in;
-  width: 2in;
-  }
-
-  img {vertical-align: top;}
-  </style>  
-
- </head>
-
- <body>
-
-  <p>Test passes if the blue square is on the left inner edge of the hollow black rectangle.</p>
-
-   <div><img src="support/swatch-blue.png" width="96" height="96" alt="Image download support must be enabled"></div>
-
- </body>
-</html>
\ No newline at end of file
diff --git a/third_party/WebKit/LayoutTests/css2.1/20110323/floats-001.html b/third_party/WebKit/LayoutTests/css2.1/20110323/floats-001.html
deleted file mode 100644
index 27c3d2cd..0000000
--- a/third_party/WebKit/LayoutTests/css2.1/20110323/floats-001.html
+++ /dev/null
@@ -1,39 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
-<html>
-    <head><meta charset="utf-8"/>
-        <title>CSS Test: Floats, shifting left until it touches container edge</title>
-        <link rel="author" title="Microsoft" href="http://www.microsoft.com/">
-        <link rel="reviewer" title="Gérard Talbot" href="http://www.gtalbot.org/BrowserBugsSection/css21testsuite/"> <!-- 2012-07-02 -->
-        <link rel="help" href="http://www.w3.org/TR/CSS21/visuren.html#floats">
-        <link rel="match" href="reference/floats-001-ref.htm">
-
-        <meta name="flags" content="">
-        <meta name="assert" content="A left floated box shifts left until its outer edge touches the containing block edge.">
-        <style type="text/css">
-            #div1
-            {
-                border: solid 5px black;
-                height: 1in;
-                width: 2in;
-            }
-            div div
-            {
-                display: inline-block;
-                height: 1in;
-                width: 1in;
-            }
-            #div3
-            {
-                background-color: blue;
-                float: left;
-            }
-        </style>
-    </head>
-    <body>
-        <p>Test passes if the blue square is on the left inner edge of the hollow black rectangle.</p>
-        <div id="div1">
-           <div id="div2"></div>
-           <div id="div3"></div>
-        </div>
-    </body>
-</html>
\ No newline at end of file
diff --git a/third_party/WebKit/LayoutTests/css2.1/20110323/floats-102-expected.html b/third_party/WebKit/LayoutTests/css2.1/20110323/floats-102-expected.html
deleted file mode 100644
index b2f1445..0000000
--- a/third_party/WebKit/LayoutTests/css2.1/20110323/floats-102-expected.html
+++ /dev/null
@@ -1,19 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
-<html>
- <head>
-  <style type="text/css">
-   div { border: 1px solid teal; padding: 4px; margin: 4px; }
-   .left { float: left; }
-   .right { float: right; }
-   .size { width: 150px; height: 150px; }
-  </style>
- </head>
- <body>
-
-  <p>The content before should be to the right of the inner square,
-     and both it and the inner square should be surrounded by an outer box.</p>
-
-  <div class="left"><div class="size left"></div>content before</div>
-
- </body>
-</html>
diff --git a/third_party/WebKit/LayoutTests/css2.1/20110323/floats-102.html b/third_party/WebKit/LayoutTests/css2.1/20110323/floats-102.html
deleted file mode 100644
index 66475c3c..0000000
--- a/third_party/WebKit/LayoutTests/css2.1/20110323/floats-102.html
+++ /dev/null
@@ -1,23 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
-<html>
- <head>
-  <title>CSS Test: CSS Floats: Nested floats (some inline content before nested float)</title>
-  <link rel="author" title="Ian Hickson" href="mailto:ian@hixie.ch">
-  <link rel="alternate" href="http://www.hixie.ch/tests/adhoc/css/box/float/002-demo.html" type="text/html">
-  <link rel="help" href="http://www.w3.org/TR/CSS21/visuren.html#floats">
-  <style type="text/css">
-   div { border: 1px solid teal; padding: 4px; margin: 4px; }
-   .left { float: left; }
-   .right { float: right; }
-   .size { width: 150px; height: 150px; }
-  </style>
- </head>
- <body>
-
-  <p>The content before should be to the right of the inner square,
-     and both it and the inner square should be surrounded by an outer box.</p>
-
-  <div class="left">content before <div class="size left"></div></div>
-
- </body>
-</html>
\ No newline at end of file
diff --git a/third_party/WebKit/LayoutTests/css2.1/20110323/floats-149-expected.html b/third_party/WebKit/LayoutTests/css2.1/20110323/floats-149-expected.html
deleted file mode 100644
index e1e31a6..0000000
--- a/third_party/WebKit/LayoutTests/css2.1/20110323/floats-149-expected.html
+++ /dev/null
@@ -1,40 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
-<html>
-
- <head><meta charset="utf-8"/>
-
-  <title>CSS Reftest Reference</title>
-
-  <link rel="author" title="Gérard Talbot" href="http://www.gtalbot.org/BrowserBugsSection/css21testsuite/">
-
-  <style type="text/css">
-  table
-  {
-  border-spacing: 0px;
-  table-layout: fixed;
-  width: 100%;  
-  }
-  
-  td
-  {
-  padding: 0px;
-  vertical-align: top;
-  width: 50%;
-  }  
-  
-  div {background-color: green;}
-  </style>
-
- </head>
-
- <body>
- 
-  <table>
-    <tr>
-      <td>There should be a green bar to the right: ⇨</td>
-      <td><div>&nbsp;</div></td>
-    </tr>
-  </table>
-
- </body>
-</html>
\ No newline at end of file
diff --git a/third_party/WebKit/LayoutTests/css2.1/20110323/floats-149.htm b/third_party/WebKit/LayoutTests/css2.1/20110323/floats-149.htm
deleted file mode 100644
index c0dc8ccb..0000000
--- a/third_party/WebKit/LayoutTests/css2.1/20110323/floats-149.htm
+++ /dev/null
@@ -1,26 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
-<html>
- <meta http-equiv="Content-Type" content="text/html; charset=utf-8"> 
- <head> 
-  <title>CSS Test: Empty inlines being displaced by floats</title>
-  <link rel="author" title="Ian Hickson" href="mailto:ian@hixie.ch">
-  <link rel="reviewer" title="Gérard Talbot" href="http://www.gtalbot.org/BrowserBugsSection/css21testsuite/"> <!-- 2012-07-01 -->
-  <link rel="alternate" href="http://www.hixie.ch/tests/adhoc/css/box/float/049.html" type="text/html">
-  <link rel="help" href="http://www.w3.org/TR/CSS21/visuren.html#floats">
-  <link rel="match" href="reference/floats-149-ref.htm">
-
-  <style type="text/css">
-    .block { display: block; background: green; }
-    .inline { display: inline; margin-left: 40px; }
-    span { float: left; width: 50%; background: white; }
-  </style> 
- </head> 
- <body> 
-  <div class="block">
-   <div class="inline"> 
-    <span>There should be a green bar to the right: ⇨</span>
-    <span></span> <!-- this float should be on the second "line" -->
-   </div> 
-  </div>
- </body>
-</html>
diff --git a/third_party/WebKit/LayoutTests/css2.1/20110323/floats-wrap-top-below-bfc-001l-expected.html b/third_party/WebKit/LayoutTests/css2.1/20110323/floats-wrap-top-below-bfc-001l-expected.html
deleted file mode 100644
index aee29e5d..0000000
--- a/third_party/WebKit/LayoutTests/css2.1/20110323/floats-wrap-top-below-bfc-001l-expected.html
+++ /dev/null
@@ -1,23 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
-<html><head>
-<title>CSS Test: Test for wrapping around floats whose top is below the top of what must wrap around them</title>
-<link rel="author" title="L. David Baron" href="http://dbaron.org/">
-<link rel="author" title="Mozilla Corporation" href="http://mozilla.com/">
-<style type="text/css">
-
-body { width: 400px; border: medium solid; text-align: left; }
-div { float: left; clear: left; }
-span { display: inline-block; vertical-align: top; width: 200px; height: 50px; background: aqua; }
-
-</style>
-</head>
-<body>
-
-<div style="width: 50px; height: 50px;"></div>
-<div style="width: 100px; height: 100px;"></div>
-<span></span>
-<span></span>
-
-
-
-</body></html>
\ No newline at end of file
diff --git a/third_party/WebKit/LayoutTests/css2.1/20110323/floats-wrap-top-below-bfc-001l.htm b/third_party/WebKit/LayoutTests/css2.1/20110323/floats-wrap-top-below-bfc-001l.htm
deleted file mode 100644
index 59f4425..0000000
--- a/third_party/WebKit/LayoutTests/css2.1/20110323/floats-wrap-top-below-bfc-001l.htm
+++ /dev/null
@@ -1,28 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
-<html><head>
-<title>CSS Test: Test for wrapping around floats whose top is below the top of what must wrap around them</title>
-<link rel="author" title="L. David Baron" href="http://dbaron.org/">
-<link rel="author" title="Mozilla Corporation" href="http://mozilla.com/">
-<link rel="help" href="http://www.w3.org/TR/CSS21/visuren.html#floats">
-<link rel="match" href="floats-wrap-top-below-001l-ref.htm">
-<link rel="mismatch" href="floats-wrap-top-below-001l-notref.htm">
-<meta name="assert" content="The border box of a table, a block-level replaced element, or an element in the normal flow that establishes a new block formatting context (such as an element with 'overflow' other than 'visible') must not overlap any floats in the same block formatting context as the element itself.">
-<meta name="flags" content="">
-<style type="text/css">
-
-body { width: 400px; border: medium solid; }
-div { float: left; clear: left; }
-span { display: block; overflow: hidden; width: 200px; height: 50px; background: aqua; }
-
-</style>
-</head>
-<body>
-
-<div style="width: 50px; height: 75px;"></div>
-<div style="width: 100px; height: 75px;"></div>
-<span></span>
-<span></span>
-
-
-
-</body></html>
\ No newline at end of file
diff --git a/third_party/WebKit/LayoutTests/css2.1/20110323/floats-wrap-top-below-bfc-001r-expected.html b/third_party/WebKit/LayoutTests/css2.1/20110323/floats-wrap-top-below-bfc-001r-expected.html
deleted file mode 100644
index 9228f460..0000000
--- a/third_party/WebKit/LayoutTests/css2.1/20110323/floats-wrap-top-below-bfc-001r-expected.html
+++ /dev/null
@@ -1,17 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
-<html><head>
-<title>CSS Test: Test for wrapping around floats whose top is below the top of what must wrap around them</title>
-<link rel="author" title="L. David Baron" href="http://dbaron.org/">
-<link rel="author" title="Mozilla Corporation" href="http://mozilla.com/">
-<style type="text/css">
-
-body { width: 400px; border: medium solid; text-align: right; }
-div { float: right; clear: right; }
-span { display: inline-block; vertical-align: top; width: 200px; height: 50px; background: aqua; }
-
-</style>
-</head>
-<body>
-<div style="width: 50px; height: 50px;"></div>
-<div style="width: 100px; height: 100px;"></div><span></span><span></span>
-</body></html>
\ No newline at end of file
diff --git a/third_party/WebKit/LayoutTests/css2.1/20110323/floats-wrap-top-below-bfc-001r.htm b/third_party/WebKit/LayoutTests/css2.1/20110323/floats-wrap-top-below-bfc-001r.htm
deleted file mode 100644
index cd11708..0000000
--- a/third_party/WebKit/LayoutTests/css2.1/20110323/floats-wrap-top-below-bfc-001r.htm
+++ /dev/null
@@ -1,28 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
-<html><head>
-<title>CSS Test: Test for wrapping around floats whose top is below the top of what must wrap around them</title>
-<link rel="author" title="L. David Baron" href="http://dbaron.org/">
-<link rel="author" title="Mozilla Corporation" href="http://mozilla.com/">
-<link rel="help" href="http://www.w3.org/TR/CSS21/visuren.html#floats">
-<link rel="match" href="floats-wrap-top-below-001r-ref.htm">
-<link rel="mismatch" href="floats-wrap-top-below-001r-notref.htm">
-<meta name="assert" content="The border box of a table, a block-level replaced element, or an element in the normal flow that establishes a new block formatting context (such as an element with 'overflow' other than 'visible') must not overlap any floats in the same block formatting context as the element itself.">
-<meta name="flags" content="">
-<style type="text/css">
-
-body { width: 400px; border: medium solid; }
-div { float: right; clear: right; }
-span { display: block; overflow: hidden; width: 200px; height: 50px; background: aqua; margin-left: auto; }
-
-</style>
-</head>
-<body>
-
-<div style="width: 50px; height: 75px;"></div>
-<div style="width: 100px; height: 75px;"></div>
-<span></span>
-<span></span>
-
-
-
-</body></html>
\ No newline at end of file
diff --git a/third_party/WebKit/LayoutTests/css2.1/20110323/floats-wrap-top-below-bfc-002l-expected.html b/third_party/WebKit/LayoutTests/css2.1/20110323/floats-wrap-top-below-bfc-002l-expected.html
deleted file mode 100644
index 794ed98..0000000
--- a/third_party/WebKit/LayoutTests/css2.1/20110323/floats-wrap-top-below-bfc-002l-expected.html
+++ /dev/null
@@ -1,22 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
-<html><head>
-<title>CSS Test: Test for wrapping around floats whose top is below the top of what must wrap around them</title>
-<link rel="author" title="L. David Baron" href="http://dbaron.org/">
-<link rel="author" title="Mozilla Corporation" href="http://mozilla.com/">
-<style type="text/css">
-
-body { width: 400px; border: medium solid; }
-span { display: inline-block; vertical-align: top; width: 200px; height: 50px; background: aqua; }
-
-</style>
-</head>
-<body>
-
-<div style="float: left; width: 150px; height: 25px;"></div>
-<span></span>
-<div style="height: 100px"></div>
-<span></span>
-
-
-
-</body></html>
\ No newline at end of file
diff --git a/third_party/WebKit/LayoutTests/css2.1/20110323/floats-wrap-top-below-bfc-002l.htm b/third_party/WebKit/LayoutTests/css2.1/20110323/floats-wrap-top-below-bfc-002l.htm
deleted file mode 100644
index 0ce9eb84..0000000
--- a/third_party/WebKit/LayoutTests/css2.1/20110323/floats-wrap-top-below-bfc-002l.htm
+++ /dev/null
@@ -1,26 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
-<html><head>
-<title>CSS Test: Test for wrapping around floats whose top is below the top of what must wrap around them</title>
-<link rel="author" title="L. David Baron" href="http://dbaron.org/">
-<link rel="author" title="Mozilla Corporation" href="http://mozilla.com/">
-<link rel="help" href="http://www.w3.org/TR/CSS21/visuren.html#floats">
-<link rel="match" href="floats-wrap-top-below-002l-ref.htm">
-<meta name="assert" content="The border box of a table, a block-level replaced element, or an element in the normal flow that establishes a new block formatting context (such as an element with 'overflow' other than 'visible') must not overlap any floats in the same block formatting context as the element itself.">
-<meta name="flags" content="">
-<style type="text/css">
-
-body { width: 400px; border: medium solid; }
-span { display: block; overflow: hidden; width: 200px; height: 50px; background: aqua; }
-
-</style>
-</head>
-<body>
-
-<div style="float: left; width: 150px; height: 75px;"></div>
-<div style="float: right; width: 300px; height: 75px;"></div>
-<span></span>
-<span></span>
-
-
-
-</body></html>
\ No newline at end of file
diff --git a/third_party/WebKit/LayoutTests/css2.1/20110323/floats-wrap-top-below-bfc-002r-expected.html b/third_party/WebKit/LayoutTests/css2.1/20110323/floats-wrap-top-below-bfc-002r-expected.html
deleted file mode 100644
index e3f25ef..0000000
--- a/third_party/WebKit/LayoutTests/css2.1/20110323/floats-wrap-top-below-bfc-002r-expected.html
+++ /dev/null
@@ -1,22 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
-<html><head>
-<title>CSS Test: Test for wrapping around floats whose top is below the top of what must wrap around them</title>
-<link rel="author" title="L. David Baron" href="http://dbaron.org/">
-<link rel="author" title="Mozilla Corporation" href="http://mozilla.com/">
-<style type="text/css">
-
-body { width: 400px; border: medium solid; }
-span { display: inline-block; vertical-align: top; width: 200px; height: 50px; background: aqua; }
-
-</style>
-</head>
-<body>
-
-<div style="float: right; width: 150px; height: 25px;"></div>
-<span></span>
-<div style="height: 100px"></div>
-<span></span>
-
-
-
-</body></html>
\ No newline at end of file
diff --git a/third_party/WebKit/LayoutTests/css2.1/20110323/floats-wrap-top-below-bfc-002r.htm b/third_party/WebKit/LayoutTests/css2.1/20110323/floats-wrap-top-below-bfc-002r.htm
deleted file mode 100644
index 5a7171ec..0000000
--- a/third_party/WebKit/LayoutTests/css2.1/20110323/floats-wrap-top-below-bfc-002r.htm
+++ /dev/null
@@ -1,26 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
-<html><head>
-<title>CSS Test: Test for wrapping around floats whose top is below the top of what must wrap around them</title>
-<link rel="author" title="L. David Baron" href="http://dbaron.org/">
-<link rel="author" title="Mozilla Corporation" href="http://mozilla.com/">
-<link rel="help" href="http://www.w3.org/TR/CSS21/visuren.html#floats">
-<link rel="match" href="floats-wrap-top-below-002r-ref.htm">
-<meta name="assert" content="The border box of a table, a block-level replaced element, or an element in the normal flow that establishes a new block formatting context (such as an element with 'overflow' other than 'visible') must not overlap any floats in the same block formatting context as the element itself.">
-<meta name="flags" content="">
-<style type="text/css">
-
-body { width: 400px; border: medium solid; }
-span { display: block; overflow: hidden; width: 200px; height: 50px; background: aqua; }
-
-</style>
-</head>
-<body>
-
-<div style="float: right; width: 150px; height: 75px;"></div>
-<div style="float: left; width: 300px; height: 75px;"></div>
-<span></span>
-<span></span>
-
-
-
-</body></html>
\ No newline at end of file
diff --git a/third_party/WebKit/LayoutTests/css2.1/20110323/floats-wrap-top-below-bfc-003l-expected.html b/third_party/WebKit/LayoutTests/css2.1/20110323/floats-wrap-top-below-bfc-003l-expected.html
deleted file mode 100644
index 57f58b77..0000000
--- a/third_party/WebKit/LayoutTests/css2.1/20110323/floats-wrap-top-below-bfc-003l-expected.html
+++ /dev/null
@@ -1,21 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
-<html><head>
-<title>CSS Test: Test for wrapping around floats whose top is below the top of what must wrap around them</title>
-<link rel="author" title="L. David Baron" href="http://dbaron.org/">
-<link rel="author" title="Mozilla Corporation" href="http://mozilla.com/">
-<style type="text/css">
-
-body { width: 400px; border: medium solid; }
-span { display: inline-block; vertical-align: top; width: 100px; height: 50px; background: aqua; }
-
-</style>
-</head>
-<body>
-
-<div style="float: left; width: 250px; height: 25px;"></div>
-<span></span>
-<span style="margin-top: 25px; margin-right: 250px"></span>
-
-
-
-</body></html>
\ No newline at end of file
diff --git a/third_party/WebKit/LayoutTests/css2.1/20110323/floats-wrap-top-below-bfc-003l.htm b/third_party/WebKit/LayoutTests/css2.1/20110323/floats-wrap-top-below-bfc-003l.htm
deleted file mode 100644
index c1ebe29..0000000
--- a/third_party/WebKit/LayoutTests/css2.1/20110323/floats-wrap-top-below-bfc-003l.htm
+++ /dev/null
@@ -1,26 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
-<html><head>
-<title>CSS Test: Test for wrapping around floats whose top is below the top of what must wrap around them</title>
-<link rel="author" title="L. David Baron" href="http://dbaron.org/">
-<link rel="author" title="Mozilla Corporation" href="http://mozilla.com/">
-<link rel="help" href="http://www.w3.org/TR/CSS21/visuren.html#floats">
-<link rel="match" href="floats-wrap-top-below-003l-ref.htm">
-<meta name="assert" content="The border box of a table, a block-level replaced element, or an element in the normal flow that establishes a new block formatting context (such as an element with 'overflow' other than 'visible') must not overlap any floats in the same block formatting context as the element itself.">
-<meta name="flags" content="">
-<style type="text/css">
-
-body { width: 400px; border: medium solid; }
-span { display: block; overflow: hidden; width: 100px; height: 50px; background: aqua; }
-
-</style>
-</head>
-<body>
-
-<div style="float: left; width: 250px; height: 75px;"></div>
-<div style="float: right; width: 250px; height: 75px;"></div>
-<span></span>
-<span></span>
-
-
-
-</body></html>
\ No newline at end of file
diff --git a/third_party/WebKit/LayoutTests/css2.1/20110323/floats-wrap-top-below-bfc-003r-expected.html b/third_party/WebKit/LayoutTests/css2.1/20110323/floats-wrap-top-below-bfc-003r-expected.html
deleted file mode 100644
index e6e7887..0000000
--- a/third_party/WebKit/LayoutTests/css2.1/20110323/floats-wrap-top-below-bfc-003r-expected.html
+++ /dev/null
@@ -1,21 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
-<html><head>
-<title>CSS Test: Test for wrapping around floats whose top is below the top of what must wrap around them</title>
-<link rel="author" title="L. David Baron" href="http://dbaron.org/">
-<link rel="author" title="Mozilla Corporation" href="http://mozilla.com/">
-<style type="text/css">
-
-body { width: 400px; border: medium solid; }
-span { display: inline-block; vertical-align: top; width: 100px; height: 50px; background: aqua; }
-
-</style>
-</head>
-<body>
-
-<div style="float: right; width: 250px; height: 25px;"></div>
-<span></span>
-<span style="margin-top: 25px; margin-left: 250px"></span>
-
-
-
-</body></html>
\ No newline at end of file
diff --git a/third_party/WebKit/LayoutTests/css2.1/20110323/floats-wrap-top-below-bfc-003r.htm b/third_party/WebKit/LayoutTests/css2.1/20110323/floats-wrap-top-below-bfc-003r.htm
deleted file mode 100644
index e1d575b2..0000000
--- a/third_party/WebKit/LayoutTests/css2.1/20110323/floats-wrap-top-below-bfc-003r.htm
+++ /dev/null
@@ -1,26 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
-<html><head>
-<title>CSS Test: Test for wrapping around floats whose top is below the top of what must wrap around them</title>
-<link rel="author" title="L. David Baron" href="http://dbaron.org/">
-<link rel="author" title="Mozilla Corporation" href="http://mozilla.com/">
-<link rel="help" href="http://www.w3.org/TR/CSS21/visuren.html#floats">
-<link rel="match" href="floats-wrap-top-below-003r-ref.htm">
-<meta name="assert" content="The border box of a table, a block-level replaced element, or an element in the normal flow that establishes a new block formatting context (such as an element with 'overflow' other than 'visible') must not overlap any floats in the same block formatting context as the element itself.">
-<meta name="flags" content="">
-<style type="text/css">
-
-body { width: 400px; border: medium solid; }
-span { display: block; overflow: hidden; width: 100px; height: 50px; background: aqua; }
-
-</style>
-</head>
-<body>
-
-<div style="float: right; width: 250px; height: 75px;"></div>
-<div style="float: left; width: 250px; height: 75px;"></div>
-<span></span>
-<span></span>
-
-
-
-</body></html>
\ No newline at end of file
diff --git a/third_party/WebKit/LayoutTests/css2.1/20110323/floats-wrap-top-below-inline-001l-expected.html b/third_party/WebKit/LayoutTests/css2.1/20110323/floats-wrap-top-below-inline-001l-expected.html
deleted file mode 100644
index aee29e5d..0000000
--- a/third_party/WebKit/LayoutTests/css2.1/20110323/floats-wrap-top-below-inline-001l-expected.html
+++ /dev/null
@@ -1,23 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
-<html><head>
-<title>CSS Test: Test for wrapping around floats whose top is below the top of what must wrap around them</title>
-<link rel="author" title="L. David Baron" href="http://dbaron.org/">
-<link rel="author" title="Mozilla Corporation" href="http://mozilla.com/">
-<style type="text/css">
-
-body { width: 400px; border: medium solid; text-align: left; }
-div { float: left; clear: left; }
-span { display: inline-block; vertical-align: top; width: 200px; height: 50px; background: aqua; }
-
-</style>
-</head>
-<body>
-
-<div style="width: 50px; height: 50px;"></div>
-<div style="width: 100px; height: 100px;"></div>
-<span></span>
-<span></span>
-
-
-
-</body></html>
\ No newline at end of file
diff --git a/third_party/WebKit/LayoutTests/css2.1/20110323/floats-wrap-top-below-inline-001l.htm b/third_party/WebKit/LayoutTests/css2.1/20110323/floats-wrap-top-below-inline-001l.htm
deleted file mode 100644
index e0a3127..0000000
--- a/third_party/WebKit/LayoutTests/css2.1/20110323/floats-wrap-top-below-inline-001l.htm
+++ /dev/null
@@ -1,28 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
-<html><head>
-<title>CSS Test: Test for wrapping around floats whose top is below the top of what must wrap around them</title>
-<link rel="author" title="L. David Baron" href="http://dbaron.org/">
-<link rel="author" title="Mozilla Corporation" href="http://mozilla.com/">
-<link rel="help" href="http://www.w3.org/TR/CSS21/visuren.html#floats">
-<link rel="match" href="floats-wrap-top-below-001l-ref.htm">
-<link rel="mismatch" href="floats-wrap-top-below-001l-notref.htm">
-<meta name="assert" content="However, line boxes created next to the float are shortened to make room for the margin box of the float.">
-<meta name="flags" content="">
-<style type="text/css">
-
-body { width: 400px; border: medium solid; text-align: left; }
-div { float: left; clear: left; }
-span { display: inline-block; vertical-align: top; width: 200px; height: 50px; background: aqua; }
-
-</style>
-</head>
-<body>
-
-<div style="width: 50px; height: 75px;"></div>
-<div style="width: 100px; height: 75px;"></div>
-<span></span>
-<span></span>
-
-
-
-</body></html>
\ No newline at end of file
diff --git a/third_party/WebKit/LayoutTests/css2.1/20110323/floats-wrap-top-below-inline-001r-expected.html b/third_party/WebKit/LayoutTests/css2.1/20110323/floats-wrap-top-below-inline-001r-expected.html
deleted file mode 100644
index 7f4e886..0000000
--- a/third_party/WebKit/LayoutTests/css2.1/20110323/floats-wrap-top-below-inline-001r-expected.html
+++ /dev/null
@@ -1,23 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
-<html><head>
-<title>CSS Test: Test for wrapping around floats whose top is below the top of what must wrap around them</title>
-<link rel="author" title="L. David Baron" href="http://dbaron.org/">
-<link rel="author" title="Mozilla Corporation" href="http://mozilla.com/">
-<style type="text/css">
-
-body { width: 400px; border: medium solid; text-align: right; }
-div { float: right; clear: right; }
-span { display: inline-block; vertical-align: top; width: 200px; height: 50px; background: aqua; }
-
-</style>
-</head>
-<body>
-
-<div style="width: 50px; height: 50px;"></div>
-<div style="width: 100px; height: 100px;"></div>
-<span></span>
-<span></span>
-
-
-
-</body></html>
\ No newline at end of file
diff --git a/third_party/WebKit/LayoutTests/css2.1/20110323/floats-wrap-top-below-inline-001r.htm b/third_party/WebKit/LayoutTests/css2.1/20110323/floats-wrap-top-below-inline-001r.htm
deleted file mode 100644
index 005bb12..0000000
--- a/third_party/WebKit/LayoutTests/css2.1/20110323/floats-wrap-top-below-inline-001r.htm
+++ /dev/null
@@ -1,28 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
-<html><head>
-<title>CSS Test: Test for wrapping around floats whose top is below the top of what must wrap around them</title>
-<link rel="author" title="L. David Baron" href="http://dbaron.org/">
-<link rel="author" title="Mozilla Corporation" href="http://mozilla.com/">
-<link rel="help" href="http://www.w3.org/TR/CSS21/visuren.html#floats">
-<link rel="match" href="floats-wrap-top-below-001r-ref.htm">
-<link rel="mismatch" href="floats-wrap-top-below-001r-notref.htm">
-<meta name="assert" content="However, line boxes created next to the float are shortened to make room for the margin box of the float.">
-<meta name="flags" content="">
-<style type="text/css">
-
-body { width: 400px; border: medium solid; text-align: right; }
-div { float: right; clear: right; }
-span { display: inline-block; vertical-align: top; width: 200px; height: 50px; background: aqua; }
-
-</style>
-</head>
-<body>
-
-<div style="width: 50px; height: 75px;"></div>
-<div style="width: 100px; height: 75px;"></div>
-<span></span>
-<span></span>
-
-
-
-</body></html>
\ No newline at end of file
diff --git a/third_party/WebKit/LayoutTests/css2.1/20110323/floats-wrap-top-below-inline-002l-expected.html b/third_party/WebKit/LayoutTests/css2.1/20110323/floats-wrap-top-below-inline-002l-expected.html
deleted file mode 100644
index 794ed98..0000000
--- a/third_party/WebKit/LayoutTests/css2.1/20110323/floats-wrap-top-below-inline-002l-expected.html
+++ /dev/null
@@ -1,22 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
-<html><head>
-<title>CSS Test: Test for wrapping around floats whose top is below the top of what must wrap around them</title>
-<link rel="author" title="L. David Baron" href="http://dbaron.org/">
-<link rel="author" title="Mozilla Corporation" href="http://mozilla.com/">
-<style type="text/css">
-
-body { width: 400px; border: medium solid; }
-span { display: inline-block; vertical-align: top; width: 200px; height: 50px; background: aqua; }
-
-</style>
-</head>
-<body>
-
-<div style="float: left; width: 150px; height: 25px;"></div>
-<span></span>
-<div style="height: 100px"></div>
-<span></span>
-
-
-
-</body></html>
\ No newline at end of file
diff --git a/third_party/WebKit/LayoutTests/css2.1/20110323/floats-wrap-top-below-inline-002l.htm b/third_party/WebKit/LayoutTests/css2.1/20110323/floats-wrap-top-below-inline-002l.htm
deleted file mode 100644
index c3509393..0000000
--- a/third_party/WebKit/LayoutTests/css2.1/20110323/floats-wrap-top-below-inline-002l.htm
+++ /dev/null
@@ -1,26 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
-<html><head>
-<title>CSS Test: Test for wrapping around floats whose top is below the top of what must wrap around them</title>
-<link rel="author" title="L. David Baron" href="http://dbaron.org/">
-<link rel="author" title="Mozilla Corporation" href="http://mozilla.com/">
-<link rel="help" href="http://www.w3.org/TR/CSS21/visuren.html#floats">
-<link rel="match" href="floats-wrap-top-below-002l-ref.htm">
-<meta name="assert" content="However, line boxes created next to the float are shortened to make room for the margin box of the float.">
-<meta name="flags" content="">
-<style type="text/css">
-
-body { width: 400px; border: medium solid; }
-span { display: inline-block; vertical-align: top; width: 200px; height: 50px; background: aqua; }
-
-</style>
-</head>
-<body>
-
-<div style="float: left; width: 150px; height: 75px;"></div>
-<div style="float: right; width: 300px; height: 75px;"></div>
-<span></span>
-<span></span>
-
-
-
-</body></html>
\ No newline at end of file
diff --git a/third_party/WebKit/LayoutTests/css2.1/20110323/floats-wrap-top-below-inline-002r-expected.html b/third_party/WebKit/LayoutTests/css2.1/20110323/floats-wrap-top-below-inline-002r-expected.html
deleted file mode 100644
index e3f25ef..0000000
--- a/third_party/WebKit/LayoutTests/css2.1/20110323/floats-wrap-top-below-inline-002r-expected.html
+++ /dev/null
@@ -1,22 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
-<html><head>
-<title>CSS Test: Test for wrapping around floats whose top is below the top of what must wrap around them</title>
-<link rel="author" title="L. David Baron" href="http://dbaron.org/">
-<link rel="author" title="Mozilla Corporation" href="http://mozilla.com/">
-<style type="text/css">
-
-body { width: 400px; border: medium solid; }
-span { display: inline-block; vertical-align: top; width: 200px; height: 50px; background: aqua; }
-
-</style>
-</head>
-<body>
-
-<div style="float: right; width: 150px; height: 25px;"></div>
-<span></span>
-<div style="height: 100px"></div>
-<span></span>
-
-
-
-</body></html>
\ No newline at end of file
diff --git a/third_party/WebKit/LayoutTests/css2.1/20110323/floats-wrap-top-below-inline-002r.htm b/third_party/WebKit/LayoutTests/css2.1/20110323/floats-wrap-top-below-inline-002r.htm
deleted file mode 100644
index 6815c58..0000000
--- a/third_party/WebKit/LayoutTests/css2.1/20110323/floats-wrap-top-below-inline-002r.htm
+++ /dev/null
@@ -1,26 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
-<html><head>
-<title>CSS Test: Test for wrapping around floats whose top is below the top of what must wrap around them</title>
-<link rel="author" title="L. David Baron" href="http://dbaron.org/">
-<link rel="author" title="Mozilla Corporation" href="http://mozilla.com/">
-<link rel="help" href="http://www.w3.org/TR/CSS21/visuren.html#floats">
-<link rel="match" href="floats-wrap-top-below-002r-ref.htm">
-<meta name="assert" content="However, line boxes created next to the float are shortened to make room for the margin box of the float.">
-<meta name="flags" content="">
-<style type="text/css">
-
-body { width: 400px; border: medium solid; }
-span { display: inline-block; vertical-align: top; width: 200px; height: 50px; background: aqua; }
-
-</style>
-</head>
-<body>
-
-<div style="float: right; width: 150px; height: 75px;"></div>
-<div style="float: left; width: 300px; height: 75px;"></div>
-<span></span>
-<span></span>
-
-
-
-</body></html>
\ No newline at end of file
diff --git a/third_party/WebKit/LayoutTests/css2.1/20110323/floats-wrap-top-below-inline-003l-expected.html b/third_party/WebKit/LayoutTests/css2.1/20110323/floats-wrap-top-below-inline-003l-expected.html
deleted file mode 100644
index 57f58b77..0000000
--- a/third_party/WebKit/LayoutTests/css2.1/20110323/floats-wrap-top-below-inline-003l-expected.html
+++ /dev/null
@@ -1,21 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
-<html><head>
-<title>CSS Test: Test for wrapping around floats whose top is below the top of what must wrap around them</title>
-<link rel="author" title="L. David Baron" href="http://dbaron.org/">
-<link rel="author" title="Mozilla Corporation" href="http://mozilla.com/">
-<style type="text/css">
-
-body { width: 400px; border: medium solid; }
-span { display: inline-block; vertical-align: top; width: 100px; height: 50px; background: aqua; }
-
-</style>
-</head>
-<body>
-
-<div style="float: left; width: 250px; height: 25px;"></div>
-<span></span>
-<span style="margin-top: 25px; margin-right: 250px"></span>
-
-
-
-</body></html>
\ No newline at end of file
diff --git a/third_party/WebKit/LayoutTests/css2.1/20110323/floats-wrap-top-below-inline-003l.htm b/third_party/WebKit/LayoutTests/css2.1/20110323/floats-wrap-top-below-inline-003l.htm
deleted file mode 100644
index 7dc2f5a..0000000
--- a/third_party/WebKit/LayoutTests/css2.1/20110323/floats-wrap-top-below-inline-003l.htm
+++ /dev/null
@@ -1,26 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
-<html><head>
-<title>CSS Test: Test for wrapping around floats whose top is below the top of what must wrap around them</title>
-<link rel="author" title="L. David Baron" href="http://dbaron.org/">
-<link rel="author" title="Mozilla Corporation" href="http://mozilla.com/">
-<link rel="help" href="http://www.w3.org/TR/CSS21/visuren.html#floats">
-<link rel="match" href="floats-wrap-top-below-003l-ref.htm">
-<meta name="assert" content="However, line boxes created next to the float are shortened to make room for the margin box of the float.">
-<meta name="flags" content="">
-<style type="text/css">
-
-body { width: 400px; border: medium solid; }
-span { display: inline-block; vertical-align: top; width: 100px; height: 50px; background: aqua; }
-
-</style>
-</head>
-<body>
-
-<div style="float: left; width: 250px; height: 75px;"></div>
-<div style="float: right; width: 250px; height: 75px;"></div>
-<span></span>
-<span></span>
-
-
-
-</body></html>
\ No newline at end of file
diff --git a/third_party/WebKit/LayoutTests/css2.1/20110323/floats-wrap-top-below-inline-003r-expected.html b/third_party/WebKit/LayoutTests/css2.1/20110323/floats-wrap-top-below-inline-003r-expected.html
deleted file mode 100644
index e6e7887..0000000
--- a/third_party/WebKit/LayoutTests/css2.1/20110323/floats-wrap-top-below-inline-003r-expected.html
+++ /dev/null
@@ -1,21 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
-<html><head>
-<title>CSS Test: Test for wrapping around floats whose top is below the top of what must wrap around them</title>
-<link rel="author" title="L. David Baron" href="http://dbaron.org/">
-<link rel="author" title="Mozilla Corporation" href="http://mozilla.com/">
-<style type="text/css">
-
-body { width: 400px; border: medium solid; }
-span { display: inline-block; vertical-align: top; width: 100px; height: 50px; background: aqua; }
-
-</style>
-</head>
-<body>
-
-<div style="float: right; width: 250px; height: 25px;"></div>
-<span></span>
-<span style="margin-top: 25px; margin-left: 250px"></span>
-
-
-
-</body></html>
\ No newline at end of file
diff --git a/third_party/WebKit/LayoutTests/css2.1/20110323/floats-wrap-top-below-inline-003r.htm b/third_party/WebKit/LayoutTests/css2.1/20110323/floats-wrap-top-below-inline-003r.htm
deleted file mode 100644
index 669cce5..0000000
--- a/third_party/WebKit/LayoutTests/css2.1/20110323/floats-wrap-top-below-inline-003r.htm
+++ /dev/null
@@ -1,26 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
-<html><head>
-<title>CSS Test: Test for wrapping around floats whose top is below the top of what must wrap around them</title>
-<link rel="author" title="L. David Baron" href="http://dbaron.org/">
-<link rel="author" title="Mozilla Corporation" href="http://mozilla.com/">
-<link rel="help" href="http://www.w3.org/TR/CSS21/visuren.html#floats">
-<link rel="match" href="floats-wrap-top-below-003r-ref.htm">
-<meta name="assert" content="However, line boxes created next to the float are shortened to make room for the margin box of the float.">
-<meta name="flags" content="">
-<style type="text/css">
-
-body { width: 400px; border: medium solid; }
-span { display: inline-block; vertical-align: top; width: 100px; height: 50px; background: aqua; }
-
-</style>
-</head>
-<body>
-
-<div style="float: right; width: 250px; height: 75px;"></div>
-<div style="float: left; width: 250px; height: 75px;"></div>
-<span></span>
-<span></span>
-
-
-
-</body></html>
\ No newline at end of file
diff --git a/third_party/WebKit/LayoutTests/css2.1/20110323/floats-zero-height-wrap-001-expected.html b/third_party/WebKit/LayoutTests/css2.1/20110323/floats-zero-height-wrap-001-expected.html
deleted file mode 100644
index ab28710a..0000000
--- a/third_party/WebKit/LayoutTests/css2.1/20110323/floats-zero-height-wrap-001-expected.html
+++ /dev/null
@@ -1,11 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
-<html><head><title>Test for wrapping around zero-height floats</title>
-
-</head><body><div style="width: 500px; height: 500px; float: left; font-size: 12px;">
-
-  <span style="display:inline-block; vertical-align: bottom; height: 20px; width: 300px; background: blue; margin-left: 10px;"></span>
-  <span style="display:inline-block; vertical-align: bottom; height: 20px; width: 300px; background: purple; margin-left: 100px;"></span>
-  <span style="display:inline-block; vertical-align: bottom; height: 20px; width: 300px; background: fuchsia"></span>
-
-</div>
-</body></html>
\ No newline at end of file
diff --git a/third_party/WebKit/LayoutTests/css2.1/20110323/floats-zero-height-wrap-001.htm b/third_party/WebKit/LayoutTests/css2.1/20110323/floats-zero-height-wrap-001.htm
deleted file mode 100644
index 582665d5..0000000
--- a/third_party/WebKit/LayoutTests/css2.1/20110323/floats-zero-height-wrap-001.htm
+++ /dev/null
@@ -1,20 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
-<html><head><title>CSS Test: wrapping around zero-height floats</title>
-    <link rel="author" title="L. David Baron" href="http://dbaron.org/">
-    <link rel="author" title="Mozilla Corporation" href="http://mozilla.com/">
-    <link rel="help" href="http://www.w3.org/TR/CSS21/visuren.html#floats">
-    <link rel="match" href="floats-zero-height-wrap-001-ref.htm">
-    <meta name="flags" content="">
-    <meta name="assert" content="wrapping around zero-height floats">
-
-</head><body><div style="width: 500px; height: 500px; float: left; font-size: 12px;">
-
-  <div style="float: left; width: 10px; height: 30px"></div>
-  <div style="float: left; clear: left; width: 100px; height: 1px"></div>
-
-  <span style="display:inline-block; vertical-align: bottom; height: 20px; width: 300px; background: blue;"></span>
-  <span style="display:inline-block; vertical-align: bottom; height: 20px; width: 300px; background: purple;"></span>
-  <span style="display:inline-block; vertical-align: bottom; height: 20px; width: 300px; background: fuchsia"></span>
-
-</div>
-</body></html>
\ No newline at end of file
diff --git a/third_party/WebKit/LayoutTests/css2.1/20110323/floats-zero-height-wrap-002-expected.html b/third_party/WebKit/LayoutTests/css2.1/20110323/floats-zero-height-wrap-002-expected.html
deleted file mode 100644
index ab28710a..0000000
--- a/third_party/WebKit/LayoutTests/css2.1/20110323/floats-zero-height-wrap-002-expected.html
+++ /dev/null
@@ -1,11 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
-<html><head><title>Test for wrapping around zero-height floats</title>
-
-</head><body><div style="width: 500px; height: 500px; float: left; font-size: 12px;">
-
-  <span style="display:inline-block; vertical-align: bottom; height: 20px; width: 300px; background: blue; margin-left: 10px;"></span>
-  <span style="display:inline-block; vertical-align: bottom; height: 20px; width: 300px; background: purple; margin-left: 100px;"></span>
-  <span style="display:inline-block; vertical-align: bottom; height: 20px; width: 300px; background: fuchsia"></span>
-
-</div>
-</body></html>
\ No newline at end of file
diff --git a/third_party/WebKit/LayoutTests/css2.1/20110323/floats-zero-height-wrap-002.htm b/third_party/WebKit/LayoutTests/css2.1/20110323/floats-zero-height-wrap-002.htm
deleted file mode 100644
index 7568193..0000000
--- a/third_party/WebKit/LayoutTests/css2.1/20110323/floats-zero-height-wrap-002.htm
+++ /dev/null
@@ -1,20 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
-<html><head><title>CSS Test: wrapping around zero-height floats</title>
-    <link rel="author" title="L. David Baron" href="http://dbaron.org/">
-    <link rel="author" title="Mozilla Corporation" href="http://mozilla.com/">
-    <link rel="help" href="http://www.w3.org/TR/CSS21/visuren.html#floats">
-    <link rel="match" href="floats-zero-height-wrap-001-ref.htm">
-    <meta name="flags" content="">
-    <meta name="assert" content="wrapping around zero-height floats">
-
-</head><body><div style="width: 500px; height: 500px; float: left; font-size: 12px;">
-
-  <div style="float: left; width: 10px; height: 30px"></div>
-  <div style="float: left; clear: left; width: 100px; height: 0"></div>
-
-  <span style="display:inline-block; vertical-align: bottom; height: 20px; width: 300px; background: blue;"></span>
-  <span style="display:inline-block; vertical-align: bottom; height: 20px; width: 300px; background: purple;"></span>
-  <span style="display:inline-block; vertical-align: bottom; height: 20px; width: 300px; background: fuchsia"></span>
-
-</div>
-</body></html>
\ No newline at end of file
diff --git a/third_party/WebKit/LayoutTests/css2.1/20110323/height-percentage-005-expected.html b/third_party/WebKit/LayoutTests/css2.1/20110323/height-percentage-005-expected.html
deleted file mode 100644
index 2ed50023..0000000
--- a/third_party/WebKit/LayoutTests/css2.1/20110323/height-percentage-005-expected.html
+++ /dev/null
@@ -1,11 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
-<html>
- <body>
-  <p>Test passes if there is a filled black square.</p>
-
-  <div id="grandparent">
-        <img src="support/black96x96.png" alt="Image download support must be enabled">
-  </div>
-
- </body>
-</html>
diff --git a/third_party/WebKit/LayoutTests/css2.1/20110323/height-percentage-005.htm b/third_party/WebKit/LayoutTests/css2.1/20110323/height-percentage-005.htm
deleted file mode 100644
index a2674ed..0000000
--- a/third_party/WebKit/LayoutTests/css2.1/20110323/height-percentage-005.htm
+++ /dev/null
@@ -1,47 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
-<html>
-
- <head>
-
-  <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-
-  <title>CSS Test: height percentage - inline replaced element inside an auto-height container</title>
-
-  <link rel="author" title="Gérard Talbot" href="http://www.gtalbot.org/BrowserBugsSection/css21testsuite/">
-
-  <!--
-  Original post:
-  Image % sizing interoperability
-  from Bogdan Brinza who deserves credit for reporting this
-  http://lists.w3.org/Archives/Public/www-style/2014Jun/0079.html
-  -->
-
-  <link rel="help" href="http://www.w3.org/TR/CSS21/visudet.html#the-height-property" title="10.5 Content height: the 'height' property">
-  <link rel="bookmark" href="http://lists.w3.org/Archives/Public/www-style/2014Jun/0079.html" title="Image % sizing interoperability">
-  <link rel="match" href="reference/ref-filled-black-96px-square.htm">
-
-  <meta content="image" name="flags">
-  <meta content="This test checks that an height percentage is calculated with respect to the height of the generated box's containing block only if and only when such containing block's height is specified explicitly (i.e., it depends on content height; its specified height is not 'auto'). In this test, the div#parent has an 'auto' height; therefore the height percentage specified on div#child is treated as 'auto' and so the image should be rendered (entirely visible) inside that div#child. Note that div#grandparent's initial overflow value is 'visible'." name="assert">
-
-  <style type="text/css">
-  div#grandparent {height: 0px;}
-
-  div#child, img {height: 100%;}
-  </style>
-
- </head>
-
- <body>
-
-  <p>Test passes if there is a filled black square.</p>
-
-  <div id="grandparent">
-    <div id="parent">
-      <div id="child">
-        <img src="support/black96x96.png" alt="Image download support must be enabled">
-      </div>
-    </div>
-  </div>
-
- </body>
-</html>
diff --git a/third_party/WebKit/LayoutTests/css2.1/20110323/inline-block-non-replaced-height-001.htm b/third_party/WebKit/LayoutTests/css2.1/20110323/inline-block-non-replaced-height-001.htm
deleted file mode 100644
index 521c120..0000000
--- a/third_party/WebKit/LayoutTests/css2.1/20110323/inline-block-non-replaced-height-001.htm
+++ /dev/null
@@ -1,42 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
-<html>
-    <head>
-        <title>CSS Test: Inline-block non-replaced element with 'margin-top', margin-bottom' set to 'auto' and 'height' relying on the descendants</title>
-        <link rel="author" title="Microsoft" href="http://www.microsoft.com/">
-        <link rel="help" href="http://www.w3.org/TR/CSS21/visudet.html#block-root-margin">
-        <meta name="flags" content="">
-        <meta name="assert" content="If 'height' is 'auto' on an inline-block non-replaced element then the 'height' depends on the descendants.">
-        <style type="text/css">
-            #div1
-            {
-                position: relative;
-            }
-            #div2
-            {
-                background: blue;
-                display: inline-block;
-            }
-            #div2 div, #div3
-            {
-                height: 1in;
-                width: 1in;
-            }
-            #div3
-            {
-                background: orange;
-                left: 1in;
-                position: absolute;
-                top: 0;
-            }
-        </style>
-    </head>
-    <body>
-        <p>Test passes if the blue and orange boxes below are the same height.</p>
-        <div id="div1">
-            <div id="div2">
-                <div></div>
-            </div>
-            <div id="div3"></div>
-        </div>
-    </body>
-</html>
\ No newline at end of file
diff --git a/third_party/WebKit/LayoutTests/css2.1/20110323/inline-block-non-replaced-height-002.htm b/third_party/WebKit/LayoutTests/css2.1/20110323/inline-block-non-replaced-height-002.htm
deleted file mode 100644
index 8181ec04..0000000
--- a/third_party/WebKit/LayoutTests/css2.1/20110323/inline-block-non-replaced-height-002.htm
+++ /dev/null
@@ -1,48 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
-<html>
-    <head>
-        <title>CSS Test: Inline-block non-replaced elements' margin box is used for the height of the line box</title>
-        <link rel="author" title="Microsoft" href="http://www.microsoft.com/">
-        <link rel="help" href="http://www.w3.org/TR/CSS21/visudet.html#block-root-margin">
-        <meta name="flags" content="">
-        <meta name="assert" content="Inline-block non-replaced elements use the margin box for sizing the height of the line box.">
-        <style type="text/css">
-            #div1
-            {
-                line-height: 0;
-                position: relative;
-            }
-            #div2
-            {
-                background: blue;
-            }
-            #div2 div
-            {
-                display: inline-block;
-                height: 0;
-                margin: 0.5in 0;
-            }
-            div div
-            {
-                width: 1in;
-            }
-            #div3
-            {
-                background: orange;
-                left: 1in;
-                height: 1in;
-                position: absolute;
-                top: 0;
-            }
-        </style>
-    </head>
-    <body>
-        <p>Test passes if the blue and orange boxes below are the same height.</p>
-        <div id="div1">
-            <div id="div2">
-                <div></div>
-            </div>
-            <div id="div3"></div>
-        </div>
-    </body>
-</html>
\ No newline at end of file
diff --git a/third_party/WebKit/LayoutTests/css2.1/20110323/inline-block-non-replaced-width-001.htm b/third_party/WebKit/LayoutTests/css2.1/20110323/inline-block-non-replaced-width-001.htm
deleted file mode 100644
index 36c2726..0000000
--- a/third_party/WebKit/LayoutTests/css2.1/20110323/inline-block-non-replaced-width-001.htm
+++ /dev/null
@@ -1,25 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
-<html>
-    <head>
-        <title>CSS Test: Inline-block non-replaced elements shrink-to-fit</title>
-        <link rel="author" title="Microsoft" href="http://www.microsoft.com/">
-        <link rel="help" href="http://www.w3.org/TR/CSS21/visudet.html#inlineblock-width">
-        <meta name="flags" content="ahem">
-        <script src="../../resources/ahem.js"></script>
-        <meta name="assert" content="If 'width' is 'auto' then 'inline-block' elements shrink-to-fit.">
-        <style type="text/css">
-            div
-            {
-                background-color: red;
-                color: blue;
-                display: inline-block;
-                font: 1in/1em Ahem;
-                width: auto;
-            }
-        </style>
-    </head>
-    <body>
-        <p>Test passes if there is no red visible on the page.</p>
-        <div>X</div>
-    </body>
-</html>
\ No newline at end of file
diff --git a/third_party/WebKit/LayoutTests/css2.1/20110323/inline-block-non-replaced-width-002.htm b/third_party/WebKit/LayoutTests/css2.1/20110323/inline-block-non-replaced-width-002.htm
deleted file mode 100644
index e914222..0000000
--- a/third_party/WebKit/LayoutTests/css2.1/20110323/inline-block-non-replaced-width-002.htm
+++ /dev/null
@@ -1,34 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
-<html>
-    <head>
-        <title>CSS Test: Inline-block non-replaced elements with 'margin-left' and 'margin-right' set to 'auto'</title>
-        <link rel="author" title="Microsoft" href="http://www.microsoft.com/">
-        <link rel="help" href="http://www.w3.org/TR/CSS21/visudet.html#inlineblock-width">
-        <meta name="flags" content="ahem">
-        <script src="../../resources/ahem.js"></script>
-        <meta name="assert" content="When 'margin-left' and 'margin-right' are set to 'auto' the used value becomes '0'.">
-        <style type="text/css">
-            #div1
-            {
-                border: solid black;
-                height: 2in;
-                width: 2in;
-            }
-            div div
-            {
-                background-color: red;
-                color: blue;
-                display: inline-block;
-                font: 1in/1em Ahem;
-                margin-left: auto;
-                margin-right: auto;
-            }
-        </style>
-    </head>
-    <body>
-        <p>Test passes if the blue box is in the upper-left corner of the black box and there is no red visible on the page.</p>
-        <div id="div1">
-            <div>X</div>
-        </div>
-    </body>
-</html>
\ No newline at end of file
diff --git a/third_party/WebKit/LayoutTests/css2.1/20110323/inline-block-non-replaced-width-003.htm b/third_party/WebKit/LayoutTests/css2.1/20110323/inline-block-non-replaced-width-003.htm
deleted file mode 100644
index 4c94147..0000000
--- a/third_party/WebKit/LayoutTests/css2.1/20110323/inline-block-non-replaced-width-003.htm
+++ /dev/null
@@ -1,42 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
-<html>
-
- <head>
-
-  <title>CSS Test: 'shrink-to-fit' width of inline-block non-replaced elements - max-width</title>
-
-  <link rel="author" title="Gérard Talbot" href="http://www.gtalbot.org/BrowserBugsSection/css21testsuite/">
-  <link rel="author" title="Daniel Schattenkirchner" href="crazy-daniel{at}gmx.de">
-  <link rel="help" title="Section 10.3.9 Width of 'inline-block', non-replaced elements in normal flow" href="http://www.w3.org/TR/CSS21/visudet.html#inlineblock-width">
-  <link rel="help" href="http://www.w3.org/TR/CSS21/visudet.html#min-max-widths">
-  <meta content="If 'width' of an inline-block, non-replaced element in normal flow computes to 'auto', then the used value of 'width' is given by 'shrink-to-fit' width calculation. If 'width' of an inline-block, non-replaced element in normal flow is given by 'shrink-to-fit' width calculation, then such calculated width can be furthermore constrained, reduced by a max-width declaration. If 'width' of an inline-block, non-replaced element in normal flow computes to 'auto' but its own child uses a constrained length resulting from a max-width declaration, then such constrained length will define the preferred width in 'shrink-to-fit' width calculation." name="assert">
-  <meta content="ahem" name="flags">
-  <script src="../../resources/ahem.js"></script>
-
-  <style type="text/css">
-  div
-  {
-  background-color: red;
-  display: inline-block;
-  font: 32px/4 Ahem;
-  width: auto;
-  }
-
-  span
-  {
-  background-color: green;
-  display: inline-block;
-  max-width: 4em;
-  }
-  </style>
-
- </head>
-
- <body>
-
-  <p>Below there should be a green square. In the middle of such green square, a black horizontal stripe should be traversing it and protruding out of it toward the right. There should be no red in this page.</p>
-
-  <div><span>XXXXXXXX</span></div>
-
- </body>
-</html>
\ No newline at end of file
diff --git a/third_party/WebKit/LayoutTests/css2.1/20110323/inline-block-non-replaced-width-004.htm b/third_party/WebKit/LayoutTests/css2.1/20110323/inline-block-non-replaced-width-004.htm
deleted file mode 100644
index 83f7787..0000000
--- a/third_party/WebKit/LayoutTests/css2.1/20110323/inline-block-non-replaced-width-004.htm
+++ /dev/null
@@ -1,43 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
-<html>
-
- <head>
-
-  <title>CSS Test: 'shrink-to-fit' width of inline-block non-replaced elements - max-width</title>
-
-  <link rel="author" title="Gérard Talbot" href="http://www.gtalbot.org/BrowserBugsSection/css21testsuite/">
-  <link rel="author" title="Daniel Schattenkirchner" href="crazy-daniel{at}gmx.de">
-  <link rel="help" title="Section 10.3.9 Width of 'inline-block', non-replaced elements in normal flow" href="http://www.w3.org/TR/CSS21/visudet.html#inlineblock-width">
-  <link rel="help" href="http://www.w3.org/TR/CSS21/visudet.html#min-max-widths">
-  <meta content="If 'width' of an inline-block, non-replaced element in normal flow computes to 'auto', then the used value of 'width' is given by 'shrink-to-fit' width calculation. If 'width' of an inline-block, non-replaced element in normal flow is given by 'shrink-to-fit' width calculation, then such calculated width can be furthermore constrained, reduced by a max-width declaration. If 'width' of an inline-block, non-replaced element in normal flow computes to 'auto' but its own child uses a constrained length resulting from a max-width declaration, then such constrained length will define the preferred width in 'shrink-to-fit' width calculation." name="assert">
-  <meta content="ahem" name="flags">
-  <script src="../../resources/ahem.js"></script>
-
-  <style type="text/css">
-  div
-  {
-  background-color: red;
-  display: inline-block;
-  font: 32px/4 Ahem;
-  width: auto;
-  }
-
-  div > div
-  {
-  background-color: green;
-  max-width: 4em;
-  }
-  </style>
-
- </head>
-
- <body>
-
-  <p>Below there should be a green square. In the middle of such green square, a black horizontal stripe should be traversing it and protruding out of it toward the right. There should be no red in this page.</p>
-
-  <div>
-    <div>XXXXXXXX</div>
-  </div>
-
- </body>
-</html>
\ No newline at end of file
diff --git a/third_party/WebKit/LayoutTests/css2.1/20110323/inline-block-replaced-height-001.htm b/third_party/WebKit/LayoutTests/css2.1/20110323/inline-block-replaced-height-001.htm
deleted file mode 100644
index 7c0b78a6..0000000
--- a/third_party/WebKit/LayoutTests/css2.1/20110323/inline-block-replaced-height-001.htm
+++ /dev/null
@@ -1,31 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
-<html>
-    <head>
-        <title>CSS Test: Inline-block replaced elements with 'margin-top' and 'margin-bottom' as 'auto'</title>
-        <link rel="author" title="Microsoft" href="http://www.microsoft.com/">
-        <link rel="help" href="http://www.w3.org/TR/CSS21/visudet.html#inline-replaced-height">
-        <meta name="flags" content="image">
-        <meta name="assert" content="An inline-block replaced elements' used value of 'margin-top' and/or 'margin-bottom' set to 'auto' is '0'.">
-        <style type="text/css">
-            div
-            {
-                border-bottom: solid orange;
-                border-top: solid orange;
-                line-height: 0;
-                width: 1in;
-            }
-            img
-            {
-                display: inline-block;
-                margin-top: auto;
-                margin-bottom: auto;
-            }
-        </style>
-    </head>
-    <body>
-        <p>Test passes if there is no white space between the blue box below and the orange lines.</p>
-        <div>
-            <img alt="blue 15x15" src="resources/blue15x15.png">
-        </div>
-    </body>
-</html>
diff --git a/third_party/WebKit/LayoutTests/css2.1/20110323/inline-block-replaced-height-002.htm b/third_party/WebKit/LayoutTests/css2.1/20110323/inline-block-replaced-height-002.htm
deleted file mode 100644
index 85105126..0000000
--- a/third_party/WebKit/LayoutTests/css2.1/20110323/inline-block-replaced-height-002.htm
+++ /dev/null
@@ -1,39 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
-<html>
-    <head>
-        <title>CSS Test: Inline-block replaced elements relying on intrinsic height dimensions</title>
-        <link rel="author" title="Microsoft" href="http://www.microsoft.com/">
-        <link rel="help" href="http://www.w3.org/TR/CSS21/visudet.html#inline-replaced-height">
-        <meta name="flags" content="image">
-        <meta name="assert" content="The 'height' is the intrinsic height when an inline-block replaced element with and intrinsic height has a 'height' and 'width' computed as 'auto'.">
-        <style type="text/css">
-            div
-            {
-                line-height: 0;
-                position: relative;
-            }
-            div div
-            {
-                background: orange;
-                height: 15px;
-                left: 15px;
-                position: absolute;
-                top: 0;
-                width: 15px;
-            }
-            img
-            {
-                display: inline-block;
-                height: auto;
-                width: auto;
-            }
-        </style>
-    </head>
-    <body>
-        <p>Test passes if the blue and orange boxes below are the same height.</p>
-        <div>
-            <img alt="blue 15x15" src="resources/blue15x15.png">
-            <div></div>
-        </div>
-    </body>
-</html>
diff --git a/third_party/WebKit/LayoutTests/css2.1/20110323/inline-block-replaced-height-003.htm b/third_party/WebKit/LayoutTests/css2.1/20110323/inline-block-replaced-height-003.htm
deleted file mode 100644
index 0a9ec81..0000000
--- a/third_party/WebKit/LayoutTests/css2.1/20110323/inline-block-replaced-height-003.htm
+++ /dev/null
@@ -1,41 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
-<html>
-    <head>
-        <title>CSS Test: Inline-block replaced elements with intrinsic ratios and 'height' set to 'auto'</title>
-        <link rel="author" title="Microsoft" href="http://www.microsoft.com/">
-        <link rel="help" href="http://www.w3.org/TR/CSS21/visudet.html#inline-replaced-height">
-        <meta name="flags" content="image">
-        <meta name="assert" content="The 'height' is the used width divided by the ratio when an inline-block replaced element has an intrinsic ratio, 'height' is set to 'auto' and 'width' is specified.">
-        <style type="text/css">
-            div
-            {
-                line-height: 0;
-                position: relative;
-            }
-            div div
-            {
-                background: orange;
-                height: 1in;
-                left: 1in;
-                position: absolute;
-                top: 0;
-            }
-            img
-            {
-                display: inline;
-                height: auto;
-            }
-            div div, img
-            {
-                width: 1in;
-            }
-        </style>
-    </head>
-    <body>
-        <p>Test passes if the blue and orange boxes below are the same height.</p>
-        <div>
-            <img alt="blue 15x15" src="resources/blue15x15.png">
-            <div></div>
-        </div>
-    </body>
-</html>
diff --git a/third_party/WebKit/LayoutTests/css2.1/20110323/inline-block-replaced-height-004.htm b/third_party/WebKit/LayoutTests/css2.1/20110323/inline-block-replaced-height-004.htm
deleted file mode 100644
index 1e36902..0000000
--- a/third_party/WebKit/LayoutTests/css2.1/20110323/inline-block-replaced-height-004.htm
+++ /dev/null
@@ -1,38 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
-<html>
-    <head>
-        <title>CSS Test: Inline-block replaced elements without intrinsic ratios and 'height' set to 'auto'</title>
-        <link rel="author" title="Microsoft" href="http://www.microsoft.com/">
-        <link rel="help" href="http://www.w3.org/TR/CSS21/visudet.html#inline-replaced-height">
-        <meta name="flags" content="">
-        <meta name="assert" content="For inline-block replaced elements the 'height' is set to the largest rectangle that has a 2:1 ratio that is not greater than 150px and has a 'width' not greater than the device width.">
-        <style type="text/css">
-            div
-            {
-                position: relative;
-            }
-            div div
-            {
-                border: solid green;
-                height: 150px;
-                position: absolute;
-                top: 0;
-                width: 300px;
-            }
-            iframe
-            {
-                border: solid red;
-                display: inline-block;
-                height: auto;
-                width: auto;
-            }
-        </style>
-    </head>
-    <body>
-        <p>Test passes if there is no red visible on the page.</p>
-        <div>
-            <iframe></iframe>
-            <div></div>
-        </div>
-    </body>
-</html>
\ No newline at end of file
diff --git a/third_party/WebKit/LayoutTests/css2.1/20110323/inline-block-replaced-height-005.htm b/third_party/WebKit/LayoutTests/css2.1/20110323/inline-block-replaced-height-005.htm
deleted file mode 100644
index 8fb909f..0000000
--- a/third_party/WebKit/LayoutTests/css2.1/20110323/inline-block-replaced-height-005.htm
+++ /dev/null
@@ -1,38 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
-<html>
-    <head>
-        <title>CSS Test: Inline-block replaced elements with percentage based intrinsic height</title>
-        <link rel="author" title="Microsoft" href="http://www.microsoft.com/">
-        <link rel="help" href="http://www.w3.org/TR/CSS21/visudet.html#inline-replaced-height">
-        <meta name="flags" content="">
-        <meta name="assert" content="An inline-block replaced element with percentage intrinsic height resolves based on the containing block height when percentage is explicitly specified.">
-        <style type="text/css">
-            #div1
-            {
-                position: relative;
-                height: 2in;
-            }
-            div div
-            {
-                border: solid green;
-                height: 1in;
-                position: absolute;
-                top: 0;
-                width: 300px;
-            }
-            iframe
-            {
-                border: solid red;
-                display: inline-block;
-                width: auto;
-            }
-        </style>
-    </head>
-    <body>
-        <p>Test passes if there is no red visible on the page.</p>
-        <div id="div1">
-            <iframe height="50%"></iframe>
-            <div></div>
-        </div>
-    </body>
-</html>
\ No newline at end of file
diff --git a/third_party/WebKit/LayoutTests/css2.1/20110323/inline-block-replaced-height-007.htm b/third_party/WebKit/LayoutTests/css2.1/20110323/inline-block-replaced-height-007.htm
deleted file mode 100644
index cad6612..0000000
--- a/third_party/WebKit/LayoutTests/css2.1/20110323/inline-block-replaced-height-007.htm
+++ /dev/null
@@ -1,37 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
-<html>
-    <head>
-        <title>CSS Test: Inline-block replaced elements with percentage based intrinsic height that cannot be resolved</title>
-        <link rel="author" title="Microsoft" href="http://www.microsoft.com/">
-        <link rel="help" href="http://www.w3.org/TR/CSS21/visudet.html#inline-replaced-height">
-        <meta name="flags" content="">
-        <meta name="assert" content="An inline-block replaced elements with a percentage height that cannot be resolved has no intrinsic height.">
-        <style type="text/css">
-            #div1
-            {
-                position: relative;
-            }
-            div div
-            {
-                border: solid green;
-                height: 150px;
-                position: absolute;
-                top: 0;
-                width: 300px;
-            }
-            iframe
-            {
-                border: solid red;
-                display: inline-block;
-                width: auto;
-            }
-        </style>
-    </head>
-    <body>
-        <p>Test passes if there is no red visible on the page.</p>
-        <div id="div1">
-            <iframe height="50%"></iframe>
-            <div></div>
-        </div>
-    </body>
-</html>
\ No newline at end of file
diff --git a/third_party/WebKit/LayoutTests/css2.1/20110323/inline-block-replaced-height-008.htm b/third_party/WebKit/LayoutTests/css2.1/20110323/inline-block-replaced-height-008.htm
deleted file mode 100644
index 6433a62..0000000
--- a/third_party/WebKit/LayoutTests/css2.1/20110323/inline-block-replaced-height-008.htm
+++ /dev/null
@@ -1,34 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
-<html>
-
- <head>
-
-  <title>CSS Test: 'inline-block' replaced elements in normal flow - specified width, height in percentages and intrinsic ratio</title>
-
-  <link rel="author" title="Gérard Talbot" href="http://www.gtalbot.org/BrowserBugsSection/css21testsuite/">
-  <link rel="help" href="http://www.w3.org/TR/CSS21/visudet.html#inline-replaced-height" title="10.6.2 Inline replaced elements, block-level replaced elements in normal flow, 'inline-block' replaced elements in normal flow and floating replaced elements">
-  <link rel="bookmark" href="https://bugs.kde.org/show_bug.cgi?id=274790" title="Bug 274790: object specified with width and height percentages and with intrinsic ratio">
-  <meta http-equiv="Content-Style-Type" content="text/css">
-  <meta content="image" name="flags">
-  <meta content="When 'height: 1%' (or any other percentage) applies to an 'inline-block' replaced element and when the height of its containing block is not specified explicitly (i.e., it depends on content height), then such height computes to 'auto'. Then, if such inline-block replaced element has an intrinsic ratio and its used width is known or resolved, then the used value of 'height' is determined by the equation (used width) / (intrinsic ratio)." name="assert">
-
- </head>
-
- <body>
-
-  <p>There should be <strong>5 filled green squares</strong> with the same width and the <strong>same height</strong>. The 5 filled green squares should be <strong>identical</strong> to each other. This should still remain true even after a window resize.</p>
-
-  <div>
-   <object data="support/60x60-green.png" type="image/png" width="15%">FAIL: image download must be enabled</object>
-
-   <object data="support/60x60-green.png" type="image/png" width="15%" height="1%">FAIL: image download must be enabled</object> 
-  
-   <object data="support/60x60-green.png" type="image/png" style="width: 15%;">FAIL: image download must be enabled</object>
-  
-   <object data="support/60x60-green.png" type="image/png" style="width: 15%; height: auto;">FAIL: image download must be enabled</object> 
-  
-   <object data="support/60x60-green.png" type="image/png" style="width: 15%; height: 1%;">FAIL: image download must be enabled</object>
-  </div>
-
- </body>
-</html>
\ No newline at end of file
diff --git a/third_party/WebKit/LayoutTests/css2.1/20110323/inline-block-replaced-width-001.htm b/third_party/WebKit/LayoutTests/css2.1/20110323/inline-block-replaced-width-001.htm
deleted file mode 100644
index e1de07e..0000000
--- a/third_party/WebKit/LayoutTests/css2.1/20110323/inline-block-replaced-width-001.htm
+++ /dev/null
@@ -1,41 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
-<html>
-    <head>
-        <title>CSS Test: Inline-block replaced elements and 'auto' specified for 'margin-left', 'margin-right' and intrinsic width</title>
-        <link rel="author" title="Microsoft" href="http://www.microsoft.com/">
-        <link rel="help" href="http://www.w3.org/TR/CSS21/visudet.html#inlineblock-replaced-width">
-        <meta name="flags" content="image">
-        <meta name="assert" content="Computed value of 'auto' for 'margin-left' or margin-right' on inline-block replaced elements becomes a used value of '0'. The intrinsic width is also used if 'height' and 'width' are 'auto'.">
-        <style type="text/css">
-            div, img
-            {
-                line-height: 0;
-            }
-            #div1
-            {
-                border: solid black;
-                height: 2in;
-                width: 2in;
-            }
-            img
-            {
-                display: inline-block;
-                margin-left: auto;
-                margin-right: auto;
-            }
-            div div
-            {
-                background: orange;
-                height: 15px;
-                width: 15px;
-            }
-        </style>
-    </head>
-    <body>
-        <p>Test passes if the blue and orange boxes below are the same width, and the blue box is in the upper-left corner of the black box.</p>
-        <div id="div1">
-            <img alt="blue 15x15" src="resources/blue15x15.png">
-            <div></div>
-        </div>
-    </body>
-</html>
diff --git a/third_party/WebKit/LayoutTests/css2.1/20110323/inline-block-replaced-width-006.htm b/third_party/WebKit/LayoutTests/css2.1/20110323/inline-block-replaced-width-006.htm
deleted file mode 100644
index 1e057f3..0000000
--- a/third_party/WebKit/LayoutTests/css2.1/20110323/inline-block-replaced-width-006.htm
+++ /dev/null
@@ -1,41 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
-<html>
-    <head>
-        <title>CSS Test: Inline-block replaced elements and 'auto' specified for 'margin-left', 'margin-right' and percentage intrinsic width</title>
-        <link rel="author" title="Microsoft" href="http://www.microsoft.com/">
-        <link rel="help" href="http://www.w3.org/TR/CSS21/visudet.html#inlineblock-replaced-width">
-        <meta name="flags" content="image">
-        <meta name="assert" content="Percentage intrinsic widths are evaluated against the containing block's width.">
-        <style type="text/css">
-            div
-            {
-                line-height: 0;
-            }
-            #div1
-            {
-                border: solid black;
-                height: 3in;
-                width: 2in;
-            }
-            img
-            {
-                display: inline-block;
-                margin-left: auto;
-                margin-right: auto;
-            }
-            div div
-            {
-                background: orange;
-                height: 1in;
-                width: 1in;
-            }
-        </style>
-    </head>
-    <body>
-        <p>Test passes if the blue and orange boxes below are the same width, and the blue box is in the upper-left corner of the black box.</p>
-        <div id="div1">
-            <img alt="blue 15x15" src="resources/blue15x15.png" width="50%">
-            <div></div>
-        </div>
-    </body>
-</html>
diff --git a/third_party/WebKit/LayoutTests/css2.1/20110323/inline-box-002-expected.html b/third_party/WebKit/LayoutTests/css2.1/20110323/inline-box-002-expected.html
deleted file mode 100644
index 9a54aae..0000000
--- a/third_party/WebKit/LayoutTests/css2.1/20110323/inline-box-002-expected.html
+++ /dev/null
@@ -1,41 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
-<html>
-    <head>
-        <title>CSS Test: Block boxes within inline boxes are affected by positioning</title>
-        <link rel="author" title="Microsoft" href="http://www.microsoft.com/">
-        <link rel="help" href="http://www.w3.org/TR/CSS21/visuren.html#anonymous-block-level">
-        <meta name="flags" content="">
-        <meta name="assert" content="Block boxes within inline boxes are also affected by relative positioning on the inline box.">
-        <style type="text/css">
-            #div1
-            {
-                background: yellow;
-                height: 2in;
-                position: relative;
-                width: 2in;
-            }
-            #div2
-            {
-                background: blue;
-                display: inline;
-                position: relative;
-                top: 2in;
-            }
-            #div3
-            {
-                position: relative;
-                top: 2in;
-                background: orange;
-                width: 2in;
-            }
-        </style>
-    </head>
-    <body>
-        <p>Test passes if the orange box is between the two blue boxes and all three boxes are below the yellow box.</p>
-        <div id="div1">
-            <span id="div2">Filler Text</span>
-            <div id="div3">Filler Text</div>
-            <span id="div2">Filler Text</span>
-        </div>
-    </body>
-</html>
\ No newline at end of file
diff --git a/third_party/WebKit/LayoutTests/css2.1/20110323/inline-box-002.htm b/third_party/WebKit/LayoutTests/css2.1/20110323/inline-box-002.htm
deleted file mode 100644
index 7e7b5dd..0000000
--- a/third_party/WebKit/LayoutTests/css2.1/20110323/inline-box-002.htm
+++ /dev/null
@@ -1,41 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
-<html>
-    <head>
-        <title>CSS Test: Block boxes within inline boxes are affected by positioning</title>
-        <link rel="author" title="Microsoft" href="http://www.microsoft.com/">
-        <link rel="help" href="http://www.w3.org/TR/CSS21/visuren.html#anonymous-block-level">
-        <meta name="flags" content="">
-        <meta name="assert" content="Block boxes within inline boxes are also affected by relative positioning on the inline box.">
-        <style type="text/css">
-            #div1
-            {
-                background: yellow;
-                height: 2in;
-                position: relative;
-                width: 2in;
-            }
-            #div2
-            {
-                background: blue;
-                display: inline;
-                position: relative;
-                top: 2in;
-            }
-            #div3
-            {
-                background: orange;
-                width: 2in;
-            }
-        </style>
-    </head>
-    <body>
-        <p>Test passes if the orange box is between the two blue boxes and all three boxes are below the yellow box.</p>
-        <div id="div1">
-            <div id="div2">
-                Filler Text
-                <div id="div3">Filler Text</div>
-                Filler Text
-            </div>
-        </div>
-    </body>
-</html>
\ No newline at end of file
diff --git a/third_party/WebKit/LayoutTests/css2.1/20110323/inline-non-replaced-height-002.htm b/third_party/WebKit/LayoutTests/css2.1/20110323/inline-non-replaced-height-002.htm
deleted file mode 100644
index aee3e57..0000000
--- a/third_party/WebKit/LayoutTests/css2.1/20110323/inline-non-replaced-height-002.htm
+++ /dev/null
@@ -1,42 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
-<html>
-    <head>
-        <title>CSS Test: Inline non-replaced elements and padding</title>
-        <link rel="author" title="Microsoft" href="http://www.microsoft.com/">
-        <link rel="help" href="http://www.w3.org/TR/CSS21/visudet.html#inline-non-replaced">
-        <meta name="flags" content="ahem">
-        <script src="../../resources/ahem.js"></script>
-        <meta name="assert" content="The padding starts at the top and bottom of the content area not the 'line-height'.">
-        <style type="text/css">
-            #div1
-            {
-                margin-top: 1in;
-                position: relative;
-            }
-            span
-            {
-                background: blue;
-                color: blue;
-                font: 1in Ahem;
-                line-height: 1.5in;
-                padding: 0.5in 0;
-            }
-            div div
-            {
-                background: orange;
-                height: 2in;
-                left: 1in;
-                position: absolute;
-                top: -0.25in;
-                width: 1in;
-            }
-        </style>
-    </head>
-    <body>
-        <p>Test passes if the blue and orange boxes below are the same height.</p>
-        <div id="div1">
-            <span>X</span>
-            <div></div>
-        </div>
-    </body>
-</html>
\ No newline at end of file
diff --git a/third_party/WebKit/LayoutTests/css2.1/20110323/inline-non-replaced-height-003.htm b/third_party/WebKit/LayoutTests/css2.1/20110323/inline-non-replaced-height-003.htm
deleted file mode 100644
index 1ece759..0000000
--- a/third_party/WebKit/LayoutTests/css2.1/20110323/inline-non-replaced-height-003.htm
+++ /dev/null
@@ -1,43 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
-<html>
-    <head>
-        <title>CSS Test: Inline non-replaced elements and border</title>
-        <link rel="author" title="Microsoft" href="http://www.microsoft.com/">
-        <link rel="help" href="http://www.w3.org/TR/CSS21/visudet.html#inline-non-replaced">
-        <meta name="flags" content="ahem">
-        <script src="../../resources/ahem.js"></script>
-        <meta name="assert" content="The border starts at the top and bottom of the content area not the 'line-height'.">
-        <style type="text/css">
-            #div1
-            {
-                margin-top: 1in;
-                position: relative;
-            }
-            span
-            {
-                background: blue;
-                border-bottom: 0.5in solid blue;
-                border-top: 0.5in solid blue;
-                color: blue;
-                font: 1in Ahem;
-                line-height: 1.5in;
-            }
-            div div
-            {
-                background: orange;
-                height: 2in;
-                left: 1in;
-                position: absolute;
-                top: -0.25in;
-                width: 1in;
-            }
-        </style>
-    </head>
-    <body>
-        <p>Test passes if the blue and orange boxes below are the same height.</p>
-        <div id="div1">
-            <span>X</span>
-            <div></div>
-        </div>
-    </body>
-</html>
\ No newline at end of file
diff --git a/third_party/WebKit/LayoutTests/css2.1/20110323/inline-non-replaced-width-001.htm b/third_party/WebKit/LayoutTests/css2.1/20110323/inline-non-replaced-width-001.htm
deleted file mode 100644
index 08f658f..0000000
--- a/third_party/WebKit/LayoutTests/css2.1/20110323/inline-non-replaced-width-001.htm
+++ /dev/null
@@ -1,34 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
-<html>
-    <head>
-        <title>CSS Test: Inline non-replaced elements with 'auto' value for 'left', 'right', and 'margin-left'</title>
-        <link rel="author" title="Microsoft" href="http://www.microsoft.com/">
-        <link rel="help" href="http://www.w3.org/TR/CSS21/visudet.html#inline-width">
-        <meta name="flags" content="ahem">
-        <script src="../../resources/ahem.js"></script>
-        <meta name="assert" content="Computed value of 'auto' for 'left', 'right', and 'margin-left' becomes a used value of '0'.">
-        <style type="text/css">
-            div
-            {
-                border: solid black;
-                height: 2in;
-                width: 2in;
-            }
-            span
-            {
-                color: blue;
-                font: 1in/1em Ahem;
-                left: auto;
-                margin-left: auto;
-                position: relative;
-                right: auto;
-            }
-        </style>
-    </head>
-    <body>
-        <p>Test passes if the blue box below is in the upper-left corner of the black box.</p>
-        <div>
-            <span>X</span>
-        </div>
-    </body>
-</html>
\ No newline at end of file
diff --git a/third_party/WebKit/LayoutTests/css2.1/20110323/inline-non-replaced-width-002.htm b/third_party/WebKit/LayoutTests/css2.1/20110323/inline-non-replaced-width-002.htm
deleted file mode 100644
index c00abe2e..0000000
--- a/third_party/WebKit/LayoutTests/css2.1/20110323/inline-non-replaced-width-002.htm
+++ /dev/null
@@ -1,34 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
-<html>
-    <head>
-        <title>CSS Test: Inline non-replaced elements with 'auto' value for 'left', 'right', and 'margin-right'</title>
-        <link rel="author" title="Microsoft" href="http://www.microsoft.com/">
-        <link rel="help" href="http://www.w3.org/TR/CSS21/visudet.html#inline-width">
-        <meta name="flags" content="ahem">
-        <script src="../../resources/ahem.js"></script>
-        <meta name="assert" content="Computed value of 'auto' for 'left', 'right', and 'margin-right' becomes a used value of '0'.">
-        <style type="text/css">
-            div
-            {
-                border: solid black;
-                height: 2in;
-                width: 2in;
-            }
-            span
-            {
-                color: blue;
-                font: 1in/1em Ahem;
-                left: auto;
-                margin-right: auto;
-                position: relative;
-                right: auto;
-            }
-        </style>
-    </head>
-    <body>
-        <p>Test passes if the blue box below is in the upper-left corner of the black box.</p>
-        <div>
-            <span>X</span>
-        </div>
-    </body>
-</html>
\ No newline at end of file
diff --git a/third_party/WebKit/LayoutTests/css2.1/20110323/inline-replaced-height-001.htm b/third_party/WebKit/LayoutTests/css2.1/20110323/inline-replaced-height-001.htm
deleted file mode 100644
index 42751b42..0000000
--- a/third_party/WebKit/LayoutTests/css2.1/20110323/inline-replaced-height-001.htm
+++ /dev/null
@@ -1,31 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
-<html>
-    <head>
-        <title>CSS Test: Inline replaced elements with 'margin-top' and 'margin-bottom' as 'auto'</title>
-        <link rel="author" title="Microsoft" href="http://www.microsoft.com/">
-        <link rel="help" href="http://www.w3.org/TR/CSS21/visudet.html#inline-replaced-height">
-        <meta name="flags" content="image">
-        <meta name="assert" content="An inline replaced elements' used value of 'margin-top' and/or 'margin-bottom' set to 'auto' is '0'.">
-        <style type="text/css">
-            div
-            {
-                border-bottom: solid orange;
-                border-top: solid orange;
-                line-height: 0;
-                width: 1in;
-            }
-            img
-            {
-                display: inline;
-                margin-bottom: auto;
-                margin-top: auto;
-            }
-        </style>
-    </head>
-    <body>
-        <p>Test passes if there is no white space between the blue box below and the orange lines.</p>
-        <div>
-            <img alt="blue 15x15" src="resources/blue15x15.png">
-        </div>
-    </body>
-</html>
diff --git a/third_party/WebKit/LayoutTests/css2.1/20110323/inline-replaced-height-002.htm b/third_party/WebKit/LayoutTests/css2.1/20110323/inline-replaced-height-002.htm
deleted file mode 100644
index 2a2f8b7d..0000000
--- a/third_party/WebKit/LayoutTests/css2.1/20110323/inline-replaced-height-002.htm
+++ /dev/null
@@ -1,39 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
-<html>
-    <head>
-        <title>CSS Test: Inline replaced elements relying on intrinsic height dimensions</title>
-        <link rel="author" title="Microsoft" href="http://www.microsoft.com/">
-        <link rel="help" href="http://www.w3.org/TR/CSS21/visudet.html#inline-replaced-height">
-        <meta name="flags" content="image">
-        <meta name="assert" content="The 'height' is the intrinsic height when an inline replaced element with and intrinsic height has a 'height' and 'width' computed as 'auto'.">
-        <style type="text/css">
-            div
-            {
-                line-height: 0;
-                position: relative;
-            }
-            div div
-            {
-                background: orange;
-                height: 15px;
-                left: 15px;
-                position: absolute;
-                top: 0;
-                width: 15px;
-            }
-            img
-            {
-                display: inline;
-                height: auto;
-                width: auto;
-            }
-        </style>
-    </head>
-    <body>
-        <p>Test passes if the blue and orange boxes below are the same height.</p>
-        <div>
-            <img alt="blue 15x15" src="resources/blue15x15.png">
-            <div></div>
-        </div>
-    </body>
-</html>
diff --git a/third_party/WebKit/LayoutTests/css2.1/20110323/inline-replaced-height-003.htm b/third_party/WebKit/LayoutTests/css2.1/20110323/inline-replaced-height-003.htm
deleted file mode 100644
index 6501e151..0000000
--- a/third_party/WebKit/LayoutTests/css2.1/20110323/inline-replaced-height-003.htm
+++ /dev/null
@@ -1,41 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
-<html>
-    <head>
-        <title>CSS Test: Inline replaced elements with intrinsic ratios and 'height' set to 'auto'</title>
-        <link rel="author" title="Microsoft" href="http://www.microsoft.com/">
-        <link rel="help" href="http://www.w3.org/TR/CSS21/visudet.html#inline-replaced-height">
-        <meta name="flags" content="image">
-        <meta name="assert" content="The 'height' is the used width divided by the ratio when an inline replaced element has an intrinsic ratio, 'height' is set to 'auto' and 'width' is specified.">
-        <style type="text/css">
-            div
-            {
-                line-height: 0;
-                position: relative;
-            }
-            div div
-            {
-                background: orange;
-                height: 1in;
-                left: 1in;
-                position: absolute;
-                top: 0;
-            }
-            img
-            {
-                display: inline;
-                height: auto;
-            }
-            div div, img
-            {
-                width: 1in;
-            }
-        </style>
-    </head>
-    <body>
-        <p>Test passes if the blue and orange boxes below are the same height.</p>
-        <div>
-            <img alt="blue 15x15" src="resources/blue15x15.png">
-            <div></div>
-        </div>
-    </body>
-</html>
diff --git a/third_party/WebKit/LayoutTests/css2.1/20110323/inline-replaced-height-004.htm b/third_party/WebKit/LayoutTests/css2.1/20110323/inline-replaced-height-004.htm
deleted file mode 100644
index 272a0783..0000000
--- a/third_party/WebKit/LayoutTests/css2.1/20110323/inline-replaced-height-004.htm
+++ /dev/null
@@ -1,38 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
-<html>
-    <head>
-        <title>CSS Test: Inline replaced elements without intrinsic ratios and 'height' set to 'auto'</title>
-        <link rel="author" title="Microsoft" href="http://www.microsoft.com/">
-        <link rel="help" href="http://www.w3.org/TR/CSS21/visudet.html#inline-replaced-height">
-        <meta name="flags" content="">
-        <meta name="assert" content="For inline replaced elements the 'height' is set to the largest rectangle that has a 2:1 ratio that is not greater than 150px and has a 'width' not greater than the device width.">
-        <style type="text/css">
-            div
-            {
-                position: relative;
-            }
-            div div
-            {
-                border: solid green;
-                height: 150px;
-                position: absolute;
-                top: 0;
-                width: 300px;
-            }
-            iframe
-            {
-                border: solid red;
-                display: inline;
-                height: auto;
-                width: auto;
-            }
-        </style>
-    </head>
-    <body>
-        <p>Test passes if there is no red visible on the page.</p>
-        <div>
-            <iframe></iframe>
-            <div></div>
-        </div>
-    </body>
-</html>
\ No newline at end of file
diff --git a/third_party/WebKit/LayoutTests/css2.1/20110323/inline-replaced-height-005.htm b/third_party/WebKit/LayoutTests/css2.1/20110323/inline-replaced-height-005.htm
deleted file mode 100644
index f4299fe8..0000000
--- a/third_party/WebKit/LayoutTests/css2.1/20110323/inline-replaced-height-005.htm
+++ /dev/null
@@ -1,38 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
-<html>
-    <head>
-        <title>CSS Test: Inline replaced elements with percentage based intrinsic height</title>
-        <link rel="author" title="Microsoft" href="http://www.microsoft.com/">
-        <link rel="help" href="http://www.w3.org/TR/CSS21/visudet.html#inline-replaced-height">
-        <meta name="flags" content="">
-        <meta name="assert" content="An inline replaced element with percentage intrinsic height resolves based on the containing block height when percentage is explicitly specified.">
-        <style type="text/css">
-            #div1
-            {
-                position: relative;
-                height: 2in;
-            }
-            div div
-            {
-                border: solid green;
-                height: 1in;
-                position: absolute;
-                top: 0;
-                width: 300px;
-            }
-            iframe
-            {
-                border: solid red;
-                display: inline;
-                width: auto;
-            }
-        </style>
-    </head>
-    <body>
-        <p>Test passes if there is no red visible on the page.</p>
-        <div id="div1">
-            <iframe height="50%"></iframe>
-            <div></div>
-        </div>
-    </body>
-</html>
\ No newline at end of file
diff --git a/third_party/WebKit/LayoutTests/css2.1/20110323/inline-replaced-height-007.htm b/third_party/WebKit/LayoutTests/css2.1/20110323/inline-replaced-height-007.htm
deleted file mode 100644
index 7a38fed..0000000
--- a/third_party/WebKit/LayoutTests/css2.1/20110323/inline-replaced-height-007.htm
+++ /dev/null
@@ -1,37 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
-<html>
-    <head>
-        <title>CSS Test: Inline replaced elements with percentage based intrinsic height that cannot be resolved</title>
-        <link rel="author" title="Microsoft" href="http://www.microsoft.com/">
-        <link rel="help" href="http://www.w3.org/TR/CSS21/visudet.html#inline-replaced-height">
-        <meta name="flags" content="">
-        <meta name="assert" content="An inline replaced elements with a percentage height that cannot be resolved has no intrinsic height.">
-        <style type="text/css">
-            #div1
-            {
-                position: relative;
-            }
-            div div
-            {
-                border: solid green;
-                height: 150px;
-                position: absolute;
-                top: 0;
-                width: 300px;
-            }
-            iframe
-            {
-                border: solid red;
-                display: inline;
-                width: auto;
-            }
-        </style>
-    </head>
-    <body>
-        <p>Test passes if there is no red visible on the page.</p>
-        <div id="div1">
-            <iframe height="50%"></iframe>
-            <div></div>
-        </div>
-    </body>
-</html>
\ No newline at end of file
diff --git a/third_party/WebKit/LayoutTests/css2.1/20110323/inline-replaced-height-008.htm b/third_party/WebKit/LayoutTests/css2.1/20110323/inline-replaced-height-008.htm
deleted file mode 100644
index 62b90e3..0000000
--- a/third_party/WebKit/LayoutTests/css2.1/20110323/inline-replaced-height-008.htm
+++ /dev/null
@@ -1,33 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
-<html>
-
- <head>
-
-  <title>CSS Test: Inline replaced elements in normal flow - specified width, height in percentages and intrinsic ratio</title>
-
-  <link rel="author" title="Gérard Talbot" href="http://www.gtalbot.org/BrowserBugsSection/css21testsuite/">
-  <link rel="help" href="http://www.w3.org/TR/CSS21/visudet.html#inline-replaced-height" title="10.6.2 Inline replaced elements, block-level replaced elements in normal flow, 'inline-block' replaced elements in normal flow and floating replaced elements">
-  <meta http-equiv="Content-Style-Type" content="text/css">
-  <meta content="image" name="flags">
-  <meta content="When 'height: 1%' (or any other percentage) applies to an inline replaced element and when the height of its containing block is not specified explicitly (i.e., it depends on content height), then such height computes to 'auto'. Then, if such inline replaced element has an intrinsic ratio and its used width is known or resolved, then the used value of 'height' is determined by the equation (used width) / (intrinsic ratio)." name="assert">
-
- </head>
-
- <body>
-
-  <p>There should be <strong>5 filled green squares</strong> with the same width and the <strong>same height</strong>. The 5 filled green squares should be <strong>identical</strong> to each other. This should still remain true even after a window resize.</p>
-
-  <div>
-   <img src="support/60x60-green.png" width="15%" alt="FAIL: image download must be enabled"> 
-
-   <img src="support/60x60-green.png" width="15%" height="1%" alt="FAIL: image download must be enabled">
-   
-   <img src="support/60x60-green.png" style="width: 15%;" alt="FAIL: image download must be enabled">
-   
-   <img src="support/60x60-green.png" style="width: 15%; height: auto;" alt="FAIL: image download must be enabled">
-   
-   <img src="support/60x60-green.png" style="width: 15%; height: 1%;" alt="FAIL: image download must be enabled">
-  </div>
-
- </body>
-</html>
\ No newline at end of file
diff --git a/third_party/WebKit/LayoutTests/css2.1/20110323/inline-replaced-width-001.htm b/third_party/WebKit/LayoutTests/css2.1/20110323/inline-replaced-width-001.htm
deleted file mode 100644
index a78e4489..0000000
--- a/third_party/WebKit/LayoutTests/css2.1/20110323/inline-replaced-width-001.htm
+++ /dev/null
@@ -1,36 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
-<html>
-    <head>
-        <title>CSS Test: Inline replaced elements and 'auto' specified for 'margin-left', 'margin-right' and intrinsic width</title>
-        <link rel="author" title="Microsoft" href="http://www.microsoft.com/">
-        <link rel="help" href="http://www.w3.org/TR/CSS21/visudet.html#inline-replaced-width">
-        <meta name="flags" content="image">
-        <meta name="assert" content="Computed value of 'auto' for 'margin-left' or margin-right' on inline replaced elements becomes a used value of '0'. The intrinsic width is also used if 'height' and 'width' are 'auto'.">
-        <style type="text/css">
-            #div1
-            {
-                border: solid black;
-                height: 3in;
-                width: 2in;
-            }
-            img
-            {
-                margin-left: auto;
-                margin-right: auto;
-            }
-            div div
-            {
-                background: orange;
-                height: 96px;
-                width: 96px;
-            }
-        </style>
-    </head>
-    <body>
-        <p>Test passes if the blue and orange boxes below are the same width, and the blue box is in the upper-left corner of the black box.</p>
-        <div id="div1">
-            <img alt="blue 96x96" src="resources/blue96x96.png">
-            <div></div>
-        </div>
-    </body>
-</html>
diff --git a/third_party/WebKit/LayoutTests/css2.1/20110323/inline-replaced-width-006.htm b/third_party/WebKit/LayoutTests/css2.1/20110323/inline-replaced-width-006.htm
deleted file mode 100644
index 8bdd48a1..0000000
--- a/third_party/WebKit/LayoutTests/css2.1/20110323/inline-replaced-width-006.htm
+++ /dev/null
@@ -1,40 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
-<html>
-    <head>
-        <title>CSS Test: Inline replaced elements and 'auto' specified for 'margin-left', 'margin-right' and percentage intrinsic width</title>
-        <link rel="author" title="Microsoft" href="http://www.microsoft.com/">
-        <link rel="help" href="http://www.w3.org/TR/CSS21/visudet.html#inline-replaced-width">
-        <meta name="flags" content="image">
-        <meta name="assert" content="Percentage intrinsic widths are evaluated against the containing block's width.">
-        <style type="text/css">
-            div
-            {
-                line-height: 0;
-            }
-            #div1
-            {
-                border: solid black;
-                height: 3in;
-                width: 2in;
-            }
-            img
-            {
-                margin-left: auto;
-                margin-right: auto;
-            }
-            div div
-            {
-                background: orange;
-                height: 1in;
-                width: 1in;
-            }
-        </style>
-    </head>
-    <body>
-        <p>Test passes if the blue and orange boxes below are the same width, and the blue box is in the upper-left corner of the black box.</p>
-        <div id="div1">
-            <img alt="blue 15x15" src="resources/blue15x15.png" width="50%">
-            <div></div>
-        </div>
-    </body>
-</html>
diff --git a/third_party/WebKit/LayoutTests/css2.1/20110323/inline-replaced-width-011.htm b/third_party/WebKit/LayoutTests/css2.1/20110323/inline-replaced-width-011.htm
deleted file mode 100644
index eacbcad..0000000
--- a/third_party/WebKit/LayoutTests/css2.1/20110323/inline-replaced-width-011.htm
+++ /dev/null
@@ -1,19 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
-<html lang="en">
- <head>
-  <title>CSS Test: Replaced inline elements with % widths</title>
-  <link rel="author" title="Ian Hickson" href="mailto:ian@hixie.ch">
-  <link rel="alternate" href="http://www.hixie.ch/tests/adhoc/css/box/replaced/001.html" type="text/html">
-  <link rel="help" href="http://www.w3.org/TR/CSS21/visudet.html#inline-replaced-width">
-  <style type="text/css">
-   div { width: 600px: height: 100px; background: red; }
-   img { width: 100%; height: 100px; vertical-align: bottom; }
-  </style>
- </head>
- <body>
-  <p>There should be no red below.</p>
-  <div>
-   <p><img src="resources/swatch-green.png" alt="Image support required for this test"></p>
-  </div>
- </body>
-</html>
diff --git a/third_party/WebKit/LayoutTests/css2.1/20110323/inline-replaced-width-012.htm b/third_party/WebKit/LayoutTests/css2.1/20110323/inline-replaced-width-012.htm
deleted file mode 100644
index 11ce3cc..0000000
--- a/third_party/WebKit/LayoutTests/css2.1/20110323/inline-replaced-width-012.htm
+++ /dev/null
@@ -1,25 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
-<html lang="en">
- <head>
-  <title>CSS Test: Replaced inline elements wrapping around floats (% widths)</title>
-  <link rel="author" title="Ian Hickson" href="mailto:ian@hixie.ch">
-  <link rel="alternate" href="http://www.hixie.ch/tests/adhoc/css/box/replaced/002.html" type="text/html">
-  <link rel="help" href="http://www.w3.org/TR/CSS21/visudet.html#inline-replaced-width">
-  <style type="text/css">
-   div { width: 600px; height: 200px; background: red; }
-   div p { height: 100px; background: green; }
-   img { vertical-align: bottom; }
-   img.float { float: left; }
-   img.flow { width: 100%; height: 100px; }
-  </style>
- </head>
- <body>
-  <p>There should be no red below.</p>
-  <div>
-   <p>
-    <img src="resources/swatch-green.png" height="100" alt="" class="float">
-    <img src="resources/swatch-green.png" alt="Image support required for this test" class="flow">
-   </p>
-  </div>
- </body>
-</html>
diff --git a/third_party/WebKit/LayoutTests/css2.1/20110323/inline-replaced-width-013.htm b/third_party/WebKit/LayoutTests/css2.1/20110323/inline-replaced-width-013.htm
deleted file mode 100644
index add9c45b..0000000
--- a/third_party/WebKit/LayoutTests/css2.1/20110323/inline-replaced-width-013.htm
+++ /dev/null
@@ -1,25 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
-<html lang="en">
- <head>
-  <title>CSS Test: Replaced inline elements wrapping around floats (pixel widths)</title>
-  <link rel="author" title="Ian Hickson" href="mailto:ian@hixie.ch">
-  <link rel="alternate" href="http://www.hixie.ch/tests/adhoc/css/box/replaced/003.html" type="text/html">
-  <link rel="help" href="http://www.w3.org/TR/CSS21/visudet.html#inline-replaced-width">
-  <style type="text/css">
-   div { width: 600px; height: 200px; background: red; }
-   div p { height: 100px; background: green; }
-   img { vertical-align: bottom; }
-   img.float { float: left; }
-   img.flow { width: 600px; height: 100px; }
-  </style>
- </head>
- <body>
-  <p>There should be no red below.</p>
-  <div>
-   <p>
-    <img src="resources/swatch-green.png" height="100" alt="" class="float">
-    <img src="resources/swatch-green.png" alt="Image support required for this test" class="flow">
-   </p>
-  </div>
- </body>
-</html>
diff --git a/third_party/WebKit/LayoutTests/css2.1/20110323/inline-replaced-width-014.htm b/third_party/WebKit/LayoutTests/css2.1/20110323/inline-replaced-width-014.htm
deleted file mode 100644
index 80a4f6b..0000000
--- a/third_party/WebKit/LayoutTests/css2.1/20110323/inline-replaced-width-014.htm
+++ /dev/null
@@ -1,33 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
-<html lang="en">
- <head>
-  <title>CSS Test: Replaced inline elements with % widths</title>
-  <link rel="author" title="Ian Hickson" href="mailto:ian@hixie.ch">
-  <link rel="alternate" href="http://www.hixie.ch/tests/adhoc/css/box/replaced/004.html" type="text/html">
-  <link rel="help" href="http://www.w3.org/TR/CSS21/visudet.html#inline-replaced-width">
-  <style type="text/css">
-   div.a { width: 300px; height: 100px; background: red; }
-   div.a p { width: 200%; }
-   div.a img { width: 50%; height: 100px; vertical-align: bottom; }
-   div.b { width: 300px; position: relative; }
-   div.b p { width: 200%; }
-   div.b img { width: 50%; height: 100px; vertical-align: bottom; }
-   div.b span { position: absolute; top: 0; left: 0; background: green; width: 300px; height: 100px; }
-  </style>
- </head>
- <body>
-  <p>There should be no red below, just two 300&times;100 pixel green
-  rectangles seperated by 1em of margin.</p>
-  <div class="a">
-   <p>
-    <img src="resources/1x1-green.png" alt="Image support required for this test">
-   </p>
-  </div>
-  <div class="b">
-   <p>
-    <img src="resources/1x1-red.png" alt="Image support required for this test">
-    <span></span>
-   </p>
-  </div>
- </body>
-</html>
diff --git a/third_party/WebKit/LayoutTests/css2.1/20110323/inline-replaced-width-015.htm b/third_party/WebKit/LayoutTests/css2.1/20110323/inline-replaced-width-015.htm
deleted file mode 100644
index e16380af..0000000
--- a/third_party/WebKit/LayoutTests/css2.1/20110323/inline-replaced-width-015.htm
+++ /dev/null
@@ -1,38 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
-<html lang="en">
- <head>
-  <title>CSS Test: Replaced inline elements wrapping around floats (% widths)</title>
-  <link rel="author" title="Ian Hickson" href="mailto:ian@hixie.ch">
-  <link rel="alternate" href="http://www.hixie.ch/tests/adhoc/css/box/replaced/005.html" type="text/html">
-  <link rel="help" href="http://www.w3.org/TR/CSS21/visudet.html#inline-replaced-width">
-  <style type="text/css">
-   div.test { width: 300px; height: 200px; background: red; position: relative; }
-   div.inner { width: 300px; height: 100px; background: lime; }
-   div p { width: 125%; height: 100px; } /* 375px */
-   img { vertical-align: bottom; }
-   img.float { float: left; height: 100px; width: 100px; }
-   img.flow { width: 80%; height: 100px; } /* 300px */
-   span { position: absolute; bottom: 0; left: 0; background: lime; height: 100px; width: 300px; }
-  </style>
- </head>
- <body>
-  <p>There should be no red below, just two 300x200 pixel lime rectangles.</p>
-  <div class="test a">
-   <div class="inner">
-    <p>
-     <img src="resources/1x1-lime.png" alt="" class="float">
-     <img src="resources/1x1-lime.png" alt="Image support required for this test" class="flow">
-    </p>
-   </div>
-  </div>
-  <div class="test b">
-   <div class="inner">
-    <p>
-     <img src="resources/1x1-lime.png" alt="" class="float">
-     <img src="resources/1x1-red.png" alt="Image support required for this test" class="flow">
-     <span></span>
-    </p>
-   </div>
-  </div>
- </body>
-</html>
diff --git a/third_party/WebKit/LayoutTests/css2.1/20110323/inline-table-002a.htm b/third_party/WebKit/LayoutTests/css2.1/20110323/inline-table-002a.htm
deleted file mode 100644
index 6887979..0000000
--- a/third_party/WebKit/LayoutTests/css2.1/20110323/inline-table-002a.htm
+++ /dev/null
@@ -1,21 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
-<html><head>
-<title>CSS Test: Test for inline-table</title>
-<link rel="author" title="L. David Baron" href="http://dbaron.org/">
-<link rel="author" title="Mozilla Corporation" href="http://mozilla.com/">
-<link rel="help" href="http://www.w3.org/TR/CSS21/tables.html#table-display">
-<meta name="assert" content="it is a rectangular block that participates in an inline formatting context).">
-<link rel="help" href="http://www.w3.org/TR/CSS21/visudet.html#leading">
-<link rel="match" href="inline-table-002-ref.htm">
-<meta name="assert" content="The baseline of an 'inline-table' is the baseline of the first row of the table.">
-<meta name="flags" content="">
-<style type="text/css">
-span { display: inline-table; }
-span > span { display: block; visibility: hidden; }
-</style>
-</head>
-<body>
-<p>a<span>bcd<span>x</span></span>e</p>
-
-
-</body></html>
\ No newline at end of file
diff --git a/third_party/WebKit/LayoutTests/css2.1/20110323/inline-table-003.htm b/third_party/WebKit/LayoutTests/css2.1/20110323/inline-table-003.htm
deleted file mode 100644
index 8e78aeb2..0000000
--- a/third_party/WebKit/LayoutTests/css2.1/20110323/inline-table-003.htm
+++ /dev/null
@@ -1,20 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
-<html><head>
-<title>CSS Test: Test for inline-table</title>
-<link rel="author" title="L. David Baron" href="http://dbaron.org/">
-<link rel="author" title="Mozilla Corporation" href="http://mozilla.com/">
-<link rel="help" href="http://www.w3.org/TR/CSS21/tables.html#table-display">
-<meta name="assert" content="it is a rectangular block that participates in an inline formatting context).">
-<link rel="help" href="http://www.w3.org/TR/CSS21/visudet.html#leading">
-<link rel="match" href="inline-table-003-ref.htm">
-<meta name="assert" content="The baseline of an 'inline-table' is the baseline of the first row of the table.">
-<meta name="flags" content="">
-<style type="text/css">
-span { display: inline-table; }
-</style>
-</head>
-<body>
-<p>a<span>b</span>c</p>
-
-
-</body></html>
\ No newline at end of file
diff --git a/third_party/WebKit/LayoutTests/css2.1/20110323/margin-collapse-027-expected.html b/third_party/WebKit/LayoutTests/css2.1/20110323/margin-collapse-027-expected.html
deleted file mode 100644
index 6a2006a..0000000
--- a/third_party/WebKit/LayoutTests/css2.1/20110323/margin-collapse-027-expected.html
+++ /dev/null
@@ -1,30 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
-<html>
-
- <head>
-
-  <title>CSS Reftest Reference</title>
-  <link rel="author" title="Gérard Talbot" href="http://www.gtalbot.org/BrowserBugsSection/css21testsuite/">
-
-  <style type="text/css">
-  div
-  {
-  background-color: green;
-  height: 1.25em;
-  margin: 1em 0em 5em;
-  width: 6.25em;
-  }
-  </style>  
-
- </head>
-
- <body>
-
-  <p>Test passes if there is no red.</p>
-  
-  <div></div>
-
-  <div></div>
-
- </body>
-</html>
\ No newline at end of file
diff --git a/third_party/WebKit/LayoutTests/css2.1/20110323/margin-collapse-027.htm b/third_party/WebKit/LayoutTests/css2.1/20110323/margin-collapse-027.htm
deleted file mode 100644
index 913096e..0000000
--- a/third_party/WebKit/LayoutTests/css2.1/20110323/margin-collapse-027.htm
+++ /dev/null
@@ -1,59 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
-<html>
-    <head>
-        <title>CSS Test: Margin collapsing - bottom margin not collapse when cleared</title>
-        <script src="../../resources/ahem.js"></script>
-        <link rel="author" title="Microsoft" href="http://www.microsoft.com/">
-        <link rel="help" href="http://www.w3.org/TR/CSS21/box.html#collapsing-margins">
-        <link rel="match" href="clearance-006-ref.htm">
-
-        <meta name="flags" content="ahem image">
-        <meta name="assert" content="When a last sibling has clearance, its own margins collapse and it collapsed its margins with a subsequent sibling, the last sibling does not collapse its bottom margin with its parent's bottom margin.">
-        <style type="text/css">
-            div
-            {
-                font: 20px/1em Ahem;
-                width: 5em;
-            }
-            #div1
-            {
-                background: url('support/margin-collapse-4em-space.png');
-                height: 6em;
-            }
-            #div2
-            {
-                margin-bottom: 2em;
-            }
-            #div3, #div5
-            {
-                margin-bottom: 1em;
-            }
-            #div3, #div6
-            {
-                background: green;
-                height: 1em;
-            }
-            #div4
-            {
-                float: left;
-                height: 1em;
-            }
-            #div5
-            {
-                clear: both;
-                margin-top: 1.5em;
-            }
-        </style>
-    </head>
-    <body>
-        <p>Test passes if there is no red.</p>
-        <div id="div1">
-            <div id="div2">
-                <div id="div3"></div>
-                <div id="div4"></div>
-                <div id="div5"></div>
-            </div>
-            <div id="div6"></div>
-        </div>
-    </body>
-</html>
diff --git a/third_party/WebKit/LayoutTests/css2.1/20110323/margin-collapse-clear-012-expected.html b/third_party/WebKit/LayoutTests/css2.1/20110323/margin-collapse-clear-012-expected.html
deleted file mode 100644
index 1bf1d88..0000000
--- a/third_party/WebKit/LayoutTests/css2.1/20110323/margin-collapse-clear-012-expected.html
+++ /dev/null
@@ -1,37 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
-<html>
-
- <head>
-
-  <title>CSS Reftest Reference</title>
-  <link rel="author" title="Gérard Talbot" href="http://www.gtalbot.org/BrowserBugsSection/css21testsuite/">
-  <link rel="author" title="Bruno Fassino" href="fassino[at]gmail.com">
-
-  <style type="text/css">
-  div#lime
-  {
-  background-color: lime;
-  border-top: black solid 1px;
-  height: 200px;
-  width: 50%;
-  }
-  
-  div#yellow
-  {
-  background-color: yellow;
-  height: 100px;
-  }
-  </style>  
-
- </head>
-
- <body>
-
-  <p>Test passes if there is <strong>no red</strong>.</p>
-
-  <div id="lime"><img src="support/swatch-blue.png" height="100" width="100" alt="Image download support must be enabled"></div>
-  
-  <div id="yellow"></div>
-
- </body>
-</html>
\ No newline at end of file
diff --git a/third_party/WebKit/LayoutTests/css2.1/20110323/margin-collapse-clear-012.htm b/third_party/WebKit/LayoutTests/css2.1/20110323/margin-collapse-clear-012.htm
deleted file mode 100644
index 4689a5e..0000000
--- a/third_party/WebKit/LayoutTests/css2.1/20110323/margin-collapse-clear-012.htm
+++ /dev/null
@@ -1,127 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
-<html>
-
- <head>
-
-  <title>CSS Test: Margin collapsing with clearance - margins of a 'collapsed through' box with clearance do not collapse with parent block's bottom margin</title>
-
-  <link rel="help" href="http://www.w3.org/TR/CSS21/box.html#collapsing-margins">
-  <link rel="help" href="http://www.w3.org/TR/CSS21/visudet.html#normal-block">
-  <link rel="author" title="Gérard Talbot" href="http://www.gtalbot.org/BrowserBugsSection/css21testsuite/">
-  <link rel="author" title="Bruno Fassino" href="fassino[at]gmail.com">
-  <link rel="match" href="margin-collapse-clear-012-ref.htm">
-
-  <meta content="When an element has had clearance applied to it and its own margins collapse, these margins collapse with the adjoining margins of following siblings but the resulting margin does not collapse with the bottom margin of the parent block" name="assert">
-  <meta content="" name="flags">
-
-  <style type="text/css">
-  #rel-pos-wrapper {position: relative;}
-
-  #parent-lime
-  {
-  background-color: lime;
-  border-top: black solid 1px;
-  width: 50%;
-  }
-
-  #float-left-blue
-  {
-  background-color: blue;
-  float: left;
-  height: 100px;
-  width: 100px;
-  }
-
-  #clear-left
-  {
-  clear: left;
-  margin-bottom: 80px;
-  margin-top: 40px;
-  }
-
-  #following-sibling {margin-bottom: 140px;}
-
-  #next-yellow
-  {
-  background-color: yellow;
-  height: 100px;
-  }
-
-  .ref-overlapped-red
-  {
-  background-color: red;
-  position: absolute;
-  z-index: -1;
-  }
-
-  #ref1
-  {
-  height: 200px;
-  top: 1px;
-  width: 50%;
-  }
-
-  #ref2
-  {
-  height: 100px;
-  top: 201px;
-  width: 100%;
-  }
-  </style>
-
- </head>
-
- <body>
-
-  <p>Test passes if there is <strong>no red</strong>.</p>
-
-  <div id="rel-pos-wrapper">
-
-  <!--
-
-  #parent-lime should have height 200px, sum of:
-  
-    100px          : height of #float-left-blue
-  +  
-    (140px - 40px) : part of #following-sibling's margin-bottom 
-                     "exceeding" the amount collapsed with 
-                     #clear-left's margin-top (140px - 40px)
-  =======
-   200px 
-
-  -->
-
-    <div id="parent-lime">
-      <div id="float-left-blue"></div>
-      <div id="clear-left"></div>
-
-   <!-- 
-
-     clearance 
-   + 
-     margin-top of #clear-left (40px)
-   ====================================
-     height of #float-left-blue (100px) 
-     
-     therefore, clearance is equal to +60px 
-
-   -->
-
-      <div id="following-sibling"></div>
-    </div>
-
-    <div id="next-yellow"></div>
-
-   <!--
-   #ref1 and #ref2 boxes create a sort of 'reference rendering' 
-   where #ref1 should be covered, overlapped by #parent-lime 
-   while #ref2 should be covered, overlapped by #next-yellow.
-   -->
-
-   <div id="ref1" class="ref-overlapped-red"></div>
-   <div id="ref2" class="ref-overlapped-red"></div>
-
-  </div>
-
- </body>
-</html>
\ No newline at end of file
diff --git a/third_party/WebKit/LayoutTests/css2.1/20110323/margin-collapse-clear-013-expected.html b/third_party/WebKit/LayoutTests/css2.1/20110323/margin-collapse-clear-013-expected.html
deleted file mode 100644
index 1bf1d88..0000000
--- a/third_party/WebKit/LayoutTests/css2.1/20110323/margin-collapse-clear-013-expected.html
+++ /dev/null
@@ -1,37 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
-<html>
-
- <head>
-
-  <title>CSS Reftest Reference</title>
-  <link rel="author" title="Gérard Talbot" href="http://www.gtalbot.org/BrowserBugsSection/css21testsuite/">
-  <link rel="author" title="Bruno Fassino" href="fassino[at]gmail.com">
-
-  <style type="text/css">
-  div#lime
-  {
-  background-color: lime;
-  border-top: black solid 1px;
-  height: 200px;
-  width: 50%;
-  }
-  
-  div#yellow
-  {
-  background-color: yellow;
-  height: 100px;
-  }
-  </style>  
-
- </head>
-
- <body>
-
-  <p>Test passes if there is <strong>no red</strong>.</p>
-
-  <div id="lime"><img src="support/swatch-blue.png" height="100" width="100" alt="Image download support must be enabled"></div>
-  
-  <div id="yellow"></div>
-
- </body>
-</html>
\ No newline at end of file
diff --git a/third_party/WebKit/LayoutTests/css2.1/20110323/margin-collapse-clear-013.htm b/third_party/WebKit/LayoutTests/css2.1/20110323/margin-collapse-clear-013.htm
deleted file mode 100644
index 14befd6..0000000
--- a/third_party/WebKit/LayoutTests/css2.1/20110323/margin-collapse-clear-013.htm
+++ /dev/null
@@ -1,127 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
-<html>
-
- <head>
-
-  <title>CSS Test: Margin collapsing with clearance - margins of a 'collapsed through' box with clearance do not collapse with parent block's bottom margin</title>
-
-  <link rel="help" href="http://www.w3.org/TR/CSS21/box.html#collapsing-margins">
-  <link rel="help" href="http://www.w3.org/TR/CSS21/visudet.html#normal-block">
-  <link rel="author" title="Gérard Talbot" href="http://www.gtalbot.org/BrowserBugsSection/css21testsuite/">
-  <link rel="author" title="Bruno Fassino" href="fassino[at]gmail.com">
-  <link rel="match" href="margin-collapse-clear-012-ref.htm">
-
-  <meta content="When an element has had clearance applied to it and its own margins collapse, these margins do not collapse with the bottom margin of the parent block" name="assert">
-  <meta content="" name="flags">
-
-  <style type="text/css">
-  #rel-pos-wrapper {position: relative;}
-
-  #parent-lime
-  {
-  background-color: lime;
-  border-top: black solid 1px;
-  width: 50%;
-  }
-
-  #float-left-blue
-  {
-  background-color: blue;
-  float: left;
-  height: 100px;
-  width: 100px;
-  }
-
-  #clear-left
-  {
-  clear: left;
-  margin-bottom: 140px;
-  margin-top: 40px;
-  }
-
-  #next-yellow
-  {
-  background-color: yellow;
-  height: 100px;
-  }
-
-  .ref-overlapped-red
-  {
-  background-color: red;
-  position: absolute;
-  z-index: -1;
-  }
-
-  #ref1
-  {
-  height: 200px;
-  top: 1px;
-  width: 50%;
-  }
-
-  #ref2
-  {
-  height: 100px;
-  top: 201px;
-  width: 100%;
-  }
-  </style>
-
- </head>
-
- <body>
-
-  <p>Test passes if there is <strong>no red</strong>.</p>
-
-  <div id="rel-pos-wrapper">
-
-  <!--
-
-     clearance 
-   + 
-     margin-top of #clear-left (40px)
-   ====================================
-     height of #float-left-blue (100px) 
-     
-     therefore, clearance is equal to +60px 
-
-  -->
-
-  <!--
-
-  #parent-lime should have height 200px, sum of:
-  
-    100px          : height of #float-left-blue
-  +  
-    (140px - 40px) : part of #sole-following-sibling's margin-bottom 
-                     "exceeding" the amount collapsed with 
-                     #clear-left's margin-top (140px - 40px)
-  =======
-   200px 
-
-  -->
-
-    <div id="parent-lime">
-      <div id="float-left-blue"></div>
-      <div id="clear-left"></div>
-    </div>
-
-   <!--
-   #next-yellow should immediately follow #parent-lime (no margins in between)
-   -->
-
-    <div id="next-yellow"></div>
-
-   <!--
-   #ref1 and #ref2 boxes create a sort of 'reference rendering' 
-   where #ref1 should be covered, overlapped by #parent-lime 
-   while #ref2 should be covered, overlapped by #next-yellow.
-   -->
-
-    <div id="ref1" class="ref-overlapped-red"></div>
-    <div id="ref2" class="ref-overlapped-red"></div>
-
-  </div>
-
- </body>
-</html>
\ No newline at end of file
diff --git a/third_party/WebKit/LayoutTests/css2.1/20110323/margin-collapse-clear-014-expected.html b/third_party/WebKit/LayoutTests/css2.1/20110323/margin-collapse-clear-014-expected.html
deleted file mode 100644
index 997a67bd..0000000
--- a/third_party/WebKit/LayoutTests/css2.1/20110323/margin-collapse-clear-014-expected.html
+++ /dev/null
@@ -1,47 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
-<html>
-
- <head>
-
-  <title>CSS Reftest Reference</title>
-  <link rel="author" title="Gérard Talbot" href="http://www.gtalbot.org/BrowserBugsSection/css21testsuite/">
-  <link rel="author" title="Bruno Fassino" href="fassino[at]gmail.com">
-
-  <style type="text/css">
-  div#aqua
-  {
-  background-color: aqua;
-  height: 60px;
-  width: 50%;
-  }  
-
-  div#lime
-  {
-  background-color: lime;
-  line-height: 140px;
-  width: 50%;
-  }
-  
-  img {vertical-align: bottom;}  
-  
-  div#yellow
-  {
-  background-color: yellow;
-  height: 100px;
-  }
-  </style>  
-
- </head>
-
- <body>
-
-  <p>Test passes if there is <strong>no red</strong>.</p>
-
-  <div id="aqua"></div>
-
-  <div id="lime"><img src="support/swatch-blue.png" height="100" width="100" alt="Image download support must be enabled"></div>
-  
-  <div id="yellow"></div>
-
- </body>
-</html>
\ No newline at end of file
diff --git a/third_party/WebKit/LayoutTests/css2.1/20110323/margin-collapse-clear-014.htm b/third_party/WebKit/LayoutTests/css2.1/20110323/margin-collapse-clear-014.htm
deleted file mode 100644
index 5c008ea1..0000000
--- a/third_party/WebKit/LayoutTests/css2.1/20110323/margin-collapse-clear-014.htm
+++ /dev/null
@@ -1,129 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
-<html>
-
- <head>
-
-  <title>CSS Test: Margin collapsing with clearance - clearance may be negative</title>
-
-  <link rel="help" href="http://www.w3.org/TR/CSS21/box.html#collapsing-margins">
-  <link rel="help" href="http://www.w3.org/TR/CSS21/visudet.html#normal-block">
-  <link rel="author" title="Gérard Talbot" href="http://www.gtalbot.org/BrowserBugsSection/css21testsuite/">
-  <link rel="author" title="Bruno Fassino" href="fassino[at]gmail.com">
-  <link rel="match" href="margin-collapse-clear-014-ref.htm">
-
-  <meta content="Clearance is created above the top margin of the element with clear set. Clearance can be negative. Clearance stops the collapsing of the element's margins with the preceding siblings' margins and with the parent block's bottom margin." name="assert">
-  <meta content="" name="flags">
-
-  <style type="text/css">
-  #rel-pos-wrapper {position: relative;}
-
-  #parent-lime
-  {
-  background-color: lime;
-  width: 50%;
-  }
-
-  #preceding-sibling-aqua
-  {
-  background-color: aqua;
-  height: 60px;
-  margin-bottom: 40px;
-  }
-
-  #float-left-blue
-  {
-  background-color: blue;
-  float: left;
-  height: 100px;
-  width: 100px;
-  }
-
-  #clear-left
-  {
-  clear: left;
-  margin-top: 120px;
-  }
-
-  #next-yellow
-  {
-  background-color: yellow;
-  height: 100px;
-  }
-
-  .ref-overlapped-red
-  {
-  background-color: red;
-  position: absolute;
-  z-index: -1;
-  }
-
-  #ref1
-  {
-  height: 200px;
-  top: 0px;
-  width: 50%;
-  }
-
-  #ref2
-  {
-  height: 100px;
-  top: 200px;
-  width: 100%;
-  }
-  </style>
-
- </head>
-
- <body>
-
-  <p>Test passes if there is <strong>no red</strong>.</p>
-
-  <div id="rel-pos-wrapper">
-
-  <!--
-
-  #parent-lime should have height 200px, sum of:
-  
-     60px  : height of #preceding-sibling-aqua 
-  +
-     40px  : margin-bottom of #preceding-sibling-aqua
-  +
-    100px  : height of #float-left-blue
-  =====================================================
-    200px
-
-  -->
-
-    <div id="parent-lime">
-      <div id="preceding-sibling-aqua"></div>
-      <div id="float-left-blue"></div>
-      <div id="clear-left"></div>
-    </div>
-
-  <!--
-
-     clearance 
-   + 
-     margin-top of #clear-left (120px)
-   ====================================
-     height of #float-left-blue (100px) 
-     
-     therefore, clearance is equal to -20px 
-
-  -->
-
-    <div id="next-yellow"></div>
-
-   <!--
-   #ref1 and #ref2 boxes create a sort of 'reference rendering' 
-   where #ref1 should be covered, overlapped by #parent-lime 
-   while #ref2 should be covered, overlapped by #next-yellow.
-   -->
-
-    <div id="ref1" class="ref-overlapped-red"></div>
-    <div id="ref2" class="ref-overlapped-red"></div>
-
-  </div>
-
- </body>
-</html>
\ No newline at end of file
diff --git a/third_party/WebKit/LayoutTests/css2.1/20110323/margin-collapse-clear-015-expected.html b/third_party/WebKit/LayoutTests/css2.1/20110323/margin-collapse-clear-015-expected.html
deleted file mode 100644
index 6310a64..0000000
--- a/third_party/WebKit/LayoutTests/css2.1/20110323/margin-collapse-clear-015-expected.html
+++ /dev/null
@@ -1,46 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
-<html>
-
- <head>
-
-  <title>CSS Reftest Reference</title>
-  <link rel="author" title="Gérard Talbot" href="http://www.gtalbot.org/BrowserBugsSection/css21testsuite/">
-  <link rel="author" title="Bruno Fassino" href="fassino[at]gmail.com">
-
-  <style type="text/css">
-  div#lime
-  {
-  background-color: lime;
-  border-top: black solid 1px;
-  height: 140px;
-  width: 50%;
-  }
-  
-  div#aqua
-  {
-  background-color: aqua;
-  height: 60px;
-  width: 50%;
-  }  
-  
-  div#yellow
-  {
-  background-color: yellow;
-  height: 100px;
-  }
-  </style>  
-
- </head>
-
- <body>
-
-  <p>Test passes if there is <strong>no red</strong>.</p>
-
-  <div id="lime"><img src="support/swatch-blue.png" height="100" width="100" alt="Image download support must be enabled"></div>
-  
-  <div id="aqua"></div>
-  
-  <div id="yellow"></div>
-
- </body>
-</html>
\ No newline at end of file
diff --git a/third_party/WebKit/LayoutTests/css2.1/20110323/margin-collapse-clear-015.htm b/third_party/WebKit/LayoutTests/css2.1/20110323/margin-collapse-clear-015.htm
deleted file mode 100644
index c11831f..0000000
--- a/third_party/WebKit/LayoutTests/css2.1/20110323/margin-collapse-clear-015.htm
+++ /dev/null
@@ -1,101 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
-<html>
-
- <head>
-
-  <title>CSS Test: Margin collapsing with clearance - Margins collapsing of an element's top margin with its first in-flow child should not be affected by clear and clearance</title>
-
-  <link rel="help" href="http://www.w3.org/TR/CSS21/box.html#collapsing-margins">
-  <link rel="author" title="Gérard Talbot" href="http://www.gtalbot.org/BrowserBugsSection/css21testsuite/">
-  <link rel="author" title="Bruno Fassino" href="fassino[at]gmail.com">
-  <link rel="match" href="margin-collapse-clear-015-ref.htm">
-
-  <meta content="When an element with clear set to it (to other than 'none') has a first in-flow child and their top margins are adjoining, then these margins should collapse normally." name="assert">
-  <meta content="" name="flags">
-
-  <style type="text/css">
-  #rel-pos-wrapper {position: relative;}
-
-  #parent-lime
-  {
-  background-color: lime;
-  border-top: black solid 1px;
-  width: 50%;
-  }
-
-  #float-left-blue
-  {
-  background-color: blue;
-  float: left;
-  height: 100px;
-  width: 100px;
-  }
-
-  #clear-left {clear: left;}
-
-  #clear-left > div
-  {
-  background-color: aqua;
-  height: 60px;
-  margin-top: 140px;
-  }
-
-  #next-yellow
-  {
-  background-color: yellow;
-  height: 100px;
-  }
-
-  .ref-overlapped-red
-  {
-  background-color: red;
-  left: 0;
-  position: absolute;
-  z-index: -1;
-  }
-
-  #ref1
-  {
-  height: 200px;
-  top: 1px;
-  width: 50%;
-  }
-
-  #ref2
-  {
-  height: 100px;
-  top: 201px;
-  width: 100%;
-  }
-  </style>
-
- </head>
-
- <body>
-
-  <p>Test passes if there is <strong>no red</strong>.</p>
-
-  <div id="rel-pos-wrapper">
-
-    <div id="parent-lime">
-      <div id="float-left-blue"></div>
-      <div id="clear-left">
-         <div></div>
-      </div>
-    </div>
-
-    <div id="next-yellow"></div>
-
-    <!--
-    #ref1 and #ref2 boxes create a sort of 'reference rendering' 
-    where #ref1 should be covered, overlapped by #parent-lime 
-    while #ref2 should be covered, overlapped by #next-yellow.
-    -->
-
-    <div id="ref1" class="ref-overlapped-red"></div>
-    <div id="ref2" class="ref-overlapped-red"></div>
-
-  </div>
-
- </body>
-</html>
\ No newline at end of file
diff --git a/third_party/WebKit/LayoutTests/css2.1/20110323/margin-collapse-clear-016-expected.html b/third_party/WebKit/LayoutTests/css2.1/20110323/margin-collapse-clear-016-expected.html
deleted file mode 100644
index 304861e..0000000
--- a/third_party/WebKit/LayoutTests/css2.1/20110323/margin-collapse-clear-016-expected.html
+++ /dev/null
@@ -1,27 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
-<html>
-
- <head>
-
-  <title>CSS Reftest Reference</title>
-  <link rel="author" title="Gérard Talbot" href="http://www.gtalbot.org/BrowserBugsSection/css21testsuite/">
-  <link rel="author" title="Daniel Schattenkirchner" href="crazy-daniel{at}gmx.de">
-
-  <style type="text/css">
-  div
-  {
-  background-color: green;
-  height: 100px;
-  }
-  </style>  
-
- </head>
-
- <body>
-
-  <p>Test passes if there is a wide filled green rectangle and <strong>no red</strong>.</p>
-
-  <div></div>
-
- </body>
-</html>
\ No newline at end of file
diff --git a/third_party/WebKit/LayoutTests/css2.1/20110323/margin-collapse-clear-016.htm b/third_party/WebKit/LayoutTests/css2.1/20110323/margin-collapse-clear-016.htm
deleted file mode 100644
index c525bd55..0000000
--- a/third_party/WebKit/LayoutTests/css2.1/20110323/margin-collapse-clear-016.htm
+++ /dev/null
@@ -1,59 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
-<html>
-
- <head>
-
-  <title>CSS Test: Margin collapsing - margins of a 'collapsed through' box without clearance can collapse with parent block's bottom margin</title>
-
-  <link rel="help" href="http://www.w3.org/TR/CSS21/box.html#collapsing-margins">
-  <link rel="author" title="Gérard Talbot" href="http://www.gtalbot.org/BrowserBugsSection/css21testsuite/">
-  <link rel="author" title="Daniel Schattenkirchner" href="crazy-daniel{at}gmx.de">
-  <link rel="match" href="margin-collapse-clear-016-ref.htm">
-
-  <meta content="An element that does not have clearance applied to it can collapse its top margin with its parent block's bottom margin. Margins of a 'collapsed through' box without clearance applied to it can collapse with its parent block's bottom margin. An element with clear set to it (to other than 'none') can only create a clearance if and when there is a preceding floated block." name="assert">
-  <meta content="" name="flags">
-
-  <style type="text/css">
-  body
-  {
-  background-color: white;
-  }
-
-  #parent-block
-  {
-  background-color: red;
-  margin-bottom: 0px;
-  }
-
-  #sibling
-  {
-  background-color: green;
-  height: 100px;
-  }
-
-  #element-without-clearance-applied
-  {
-  clear: both;
-  margin-top: 100px;
-  }
-  </style>
-
- </head>
-
- <body>
-
-  <p>Test passes if there is a wide filled green rectangle and <strong>no red</strong>.</p>
-
-  <div id="parent-block">
-    <div id="sibling"></div>
-    <div id="element-without-clearance-applied"></div>
-  </div>
-
-  <!--
-  #element-without-clearance-applied's margin-top collapses 
-  with #parent-block's margin-bottom: the resulting margin-bottom 
-  then collapses with the adjoining white body's margin-bottom
-  -->
-
- </body>
-</html>
\ No newline at end of file
diff --git a/third_party/WebKit/LayoutTests/css2.1/20110323/margin-collapse-clear-017-expected.html b/third_party/WebKit/LayoutTests/css2.1/20110323/margin-collapse-clear-017-expected.html
deleted file mode 100644
index ef4420e..0000000
--- a/third_party/WebKit/LayoutTests/css2.1/20110323/margin-collapse-clear-017-expected.html
+++ /dev/null
@@ -1,44 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
-<html>
-
- <head>
-
-  <title>CSS Reftest Reference</title>
-  <link rel="author" title="Gérard Talbot" href="http://www.gtalbot.org/BrowserBugsSection/css21testsuite/">
-  <link rel="author" title="Daniel Schattenkirchner" href="crazy-daniel{at}gmx.de">
-
-  <style type="text/css">
-  body
-  {
-  background: white url("support/ruler-v-100px-200px-300px.png") no-repeat;
-  margin: 34px 8px 8px 55px;
-  }
-
-  p
-  {
-  font-size: 16px;
-  line-height: 20px;
-  margin: 1em 8px;
-  }  
-  
-  div
-  {
-  background-color: green;
-  height: 10px;
-  margin-bottom: 100px;
-  }
-  </style>  
-
- </head>
-
- <body>
-
-  <p>Test passes if there is a vertical gap<br>
-  of exactly 100px between 2 green bars.</p>
-
-  <div></div>
-
-  <div></div>
-
- </body>
-</html>
\ No newline at end of file
diff --git a/third_party/WebKit/LayoutTests/css2.1/20110323/margin-collapse-clear-017.htm b/third_party/WebKit/LayoutTests/css2.1/20110323/margin-collapse-clear-017.htm
deleted file mode 100644
index 76beb887..0000000
--- a/third_party/WebKit/LayoutTests/css2.1/20110323/margin-collapse-clear-017.htm
+++ /dev/null
@@ -1,81 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
-<html>
-
- <head>
-
-  <title>CSS Test: Margin collapsing - margins of a 'collapsed through' box without clearance can collapse with parent block's bottom margin</title>
-
-  <link rel="help" href="http://www.w3.org/TR/CSS21/box.html#collapsing-margins">
-  <link rel="author" title="Gérard Talbot" href="http://www.gtalbot.org/BrowserBugsSection/css21testsuite/">
-  <link rel="author" title="Daniel Schattenkirchner" href="crazy-daniel{at}gmx.de">
-  <link rel="match" href="margin-collapse-clear-017-ref.htm">
-
-  <meta content="An element that does not have clearance applied to it can collapse its top margin with its parent block's bottom margin. Margins of a 'collapsed through' box without clearance applied to it can collapse with its parent block's bottom margin. An element with 'clear' set to a value other than 'none' can create a clearance only if and only when there is an earlier (in the source document) floating box." name="assert">
-  <meta content="image" name="flags">
-
-  <style type="text/css">
-  body
-  {
-  background: white url("support/ruler-v-100px-200px-300px.png") no-repeat;
-  margin: 34px 8px 8px 55px; 
-  /* 
-    34px : body's top margin collapsing with p's top margin: max(34px, 16px) 
-  + 20px : p's 1st line box height 
-  + 20px : p's 2nd line box height
-  + 16px : p's bottom margin 
-  + 10px : height of topmost green bar
-  ======
-   100px 
-  */
-  }
-
-  p
-  {
-  font-size: 16px;
-  line-height: 20px;
-  margin: 1em 8px;
-  }
-
-  div#parent-block {margin-bottom: 100px;}
-
-  div.vertical-gap-separator
-  {
-  background-color: green;
-  height: 10px;
-  }
-
-  div#element-without-clearance
-  {
-  clear: both;
-  margin-top: 100px;
-  }
-  
-  /*
-  In this test, div#element-without-clearance
-  is what the spec refers to as
-  'collapsed through' box
-  http://www.w3.org/TR/CSS21/box.html#collapsed-through
-  */
-  </style>
-
- </head>
-
- <body>
-
-  <p>Test passes if there is a vertical gap<br>
-  of exactly 100px between 2 green bars.</p>
-
-  <div id="parent-block">
-    <div class="vertical-gap-separator"></div>
-    <div id="element-without-clearance"></div>
-  </div>
-
-  <div class="vertical-gap-separator"></div>
-
-  <!--
-  div#element-without-clearance's margin-top should collapse 
-  with #parent-block's margin-bottom: max(100px, 100px) = 100px
-  -->
-
- </body>
-</html>
\ No newline at end of file
diff --git a/third_party/WebKit/LayoutTests/css2.1/20110323/max-height-percentage-003-expected.html b/third_party/WebKit/LayoutTests/css2.1/20110323/max-height-percentage-003-expected.html
deleted file mode 100644
index 9a3ee6d..0000000
--- a/third_party/WebKit/LayoutTests/css2.1/20110323/max-height-percentage-003-expected.html
+++ /dev/null
@@ -1,6 +0,0 @@
-<!DOCTYPE html>
-  <p>Test passes if there is a filled black square.</p>
-
-  <div id="parent">
-    <img src="support/black96x96.png" alt="Image download support must be enabled">
-  </div>
diff --git a/third_party/WebKit/LayoutTests/css2.1/20110323/max-height-percentage-003.html b/third_party/WebKit/LayoutTests/css2.1/20110323/max-height-percentage-003.html
deleted file mode 100644
index 9a4d4cc..0000000
--- a/third_party/WebKit/LayoutTests/css2.1/20110323/max-height-percentage-003.html
+++ /dev/null
@@ -1,43 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
-<html>
-
- <head>
-
-  <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-
-  <title>CSS Test: max-height percentage - inline replaced element inside an auto-height container</title>
-
-  <link rel="author" title="Gérard Talbot" href="http://www.gtalbot.org/BrowserBugsSection/css21testsuite/">
-
-  <!--
-  Original post:
-  Image % sizing interoperability
-  from Bogdan Brinza who deserves credit for reporting this
-  http://lists.w3.org/Archives/Public/www-style/2014Jun/0079.html
-  -->
-
-  <link rel="help" href="http://www.w3.org/TR/CSS21/visudet.html#min-max-heights" title="10.7 Minimum and maximum heights: 'min-height' and 'max-height'">
-  <link rel="bookmark" href="http://lists.w3.org/Archives/Public/www-style/2014Jun/0079.html" title="Image % sizing interoperability">
-  <link rel="match" href="reference/ref-filled-black-96px-square.htm">
-
-  <meta content="image" name="flags">
-  <meta content="This test checks that a max-height percentage is calculated with respect to the height of the generated box's containing block only if and only when such containing block's height is specified explicitly (i.e., it depends on content height; its specified height is not 'auto'). In this test, the div#child has an 'auto' height; therefore the max-height percentage is treated as 'none' and so the image should be rendered (entirely visible) inside that div#child. Note that div#parent's initial overflow value is 'visible'." name="assert">
-
-  <style type="text/css">
-  div#parent {height: 0px;}
-
-  img {max-height: 100%;}
-  </style>
-
- </head>
-
- <body>
-
-  <p>Test passes if there is a filled black square.</p>
-
-  <div id="parent">
-    <div id="child"><img src="support/black96x96.png" alt="Image download support must be enabled"></div>
-  </div>
-
- </body>
-</html>
\ No newline at end of file
diff --git a/third_party/WebKit/LayoutTests/css2.1/20110323/replaced-elements-001.htm b/third_party/WebKit/LayoutTests/css2.1/20110323/replaced-elements-001.htm
deleted file mode 100644
index 89270cd..0000000
--- a/third_party/WebKit/LayoutTests/css2.1/20110323/replaced-elements-001.htm
+++ /dev/null
@@ -1,47 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
-<html>
-
- <head>
-
-  <title>CSS Test: replaced elements - margin</title>
-
-  <link rel="author" title="Gérard Talbot" href="http://www.gtalbot.org/BrowserBugsSection/css21testsuite/">
-  <link rel="help" href="http://www.w3.org/TR/CSS21/visudet.html#block-replaced-width">
-  <meta name="flags" content="">
-  <meta name="assert" content="Block-level, replaced elements with margin-left: auto and margin-right: auto should be centered within their respective parent block">
-
-  <style type="text/css">
-  div
-  {
-  background-color: green;
-  margin: 1em;
-  }
-
-  input
-  {
-  background-color: orange;
-  display: block;
-  margin-left: auto;
-  margin-right: auto;
-  width: auto;
-  }
-  </style>
-
- </head>
-
- <body>
-
-  <p>Below, there should be 2 orange boxes horizontally centered within their respective green bars.</p>
-
-  <div>
-    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<input type="button" value="">
-  </div>
-
-  <form action="">
-    <div>
-      &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<input type="submit" value="">
-    </div>
-  </form>
-
- </body>
-</html>
\ No newline at end of file
diff --git a/third_party/WebKit/LayoutTests/css2.1/20110323/replaced-intrinsic-001.htm b/third_party/WebKit/LayoutTests/css2.1/20110323/replaced-intrinsic-001.htm
deleted file mode 100644
index 317ef2b..0000000
--- a/third_party/WebKit/LayoutTests/css2.1/20110323/replaced-intrinsic-001.htm
+++ /dev/null
@@ -1,23 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
-<html lang="en">
- <head>
-  <title>CSS Test: Replaced inline elements (using &lt;object&gt;) and SVG intrinsic widths</title>
-  <link rel="author" title="Ian Hickson" href="mailto:ian@hixie.ch">
-  <link rel="author" title="Elika J. Etemad" href="http://fantasai.inkedblade.net/contact">
-  <link rel="alternate" href="http://www.hixie.ch/tests/adhoc/css/box/replaced/intrinsic/svg/001.html" type="text/html">
-  <link rel="help" href="http://www.w3.org/TR/CSS21/visudet.html#inline-replaced-width">
-  <meta name="flags" content="svg">
-  <style type="text/css">
-   html { width: 150px; padding: 0; margin: 8px; }
-   body { padding: 0; margin: 0; }
-   p { padding: 0; margin: 0; }
-   object { width: auto; height: auto; } /* intrinsic size is 100%x100%, which is equivalent to width:100% height:auto (since height:auto on parent) */
-   .control { background: red; width: 150px; height: 150px; border: solid lime 2px; margin: -2px; position: absolute; z-index: -1; }
-  </style>
- </head>
- <body>
-  <p>There should be a green square below this line, exactly fitting inside a 2px lime border.</p>
-  <p class="control">FAIL (absolute positioning not supported) </p>
-  <p><object data="resources/replaced-intrinsic-001.svg" type="image/svg+xml"> FAIL (SVG not supported) </object></p>
- </body>
-</html>
diff --git a/third_party/WebKit/LayoutTests/css2.1/20110323/replaced-intrinsic-002.htm b/third_party/WebKit/LayoutTests/css2.1/20110323/replaced-intrinsic-002.htm
deleted file mode 100644
index 195d8611..0000000
--- a/third_party/WebKit/LayoutTests/css2.1/20110323/replaced-intrinsic-002.htm
+++ /dev/null
@@ -1,21 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
-<html lang="en">
- <head>
-  <title>CSS Test: Replaced inline elements (using &lt;object&gt;) and SVG intrinsic widths (negative test equivalent of 001)</title>
-  <link rel="author" title="Ian Hickson" href="mailto:ian@hixie.ch">
-  <link rel="alternate" href="http://www.hixie.ch/tests/adhoc/css/box/replaced/intrinsic/svg/002.html" type="text/html">
-  <link rel="help" href="http://www.w3.org/TR/CSS21/visudet.html#inline-replaced-width">
-  <meta name="flags" content="svg">
-  <style type="text/css">
-   html { width: 150px; padding: 0; margin: 8px; position: relative; }
-   body { padding: 0; margin: 0; }
-   p { font: 16px/20px serif; padding: 0; margin: 0; }
-   object { width: auto; height: auto; } /* intrinsic size is 100%x100%, which is equivalent to width:100% height:auto (since height:auto on parent) */
-   div { position: absolute; top: 20px; left: 0; height: 150px; width: 150px; background: green; }
-  </style>
- </head>
- <body>
-  <p>There&nbsp;should&nbsp;be&nbsp;an&nbsp;exact&nbsp;square&nbsp;of&nbsp;green&nbsp;below&nbsp;this&nbsp;line: <object data="resources/replaced-intrinsic-002.svg" type="image/svg+xml"> FAIL (SVG not supported) </object> </p>
-  <div></div>
- </body>
-</html>
diff --git a/third_party/WebKit/LayoutTests/css2.1/20110323/replaced-intrinsic-003.htm b/third_party/WebKit/LayoutTests/css2.1/20110323/replaced-intrinsic-003.htm
deleted file mode 100644
index 7a6a53e..0000000
--- a/third_party/WebKit/LayoutTests/css2.1/20110323/replaced-intrinsic-003.htm
+++ /dev/null
@@ -1,22 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
-<html lang="en">
- <head>
-  <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
-  <title>CSS Test: Replaced block elements (using &lt;object&gt;) and SVG intrinsic widths</title>
-  <link rel="author" title="Ian Hickson" href="mailto:ian@hixie.ch">
-  <link rel="alternate" href="http://www.hixie.ch/tests/adhoc/css/box/replaced/intrinsic/svg/003.html" type="text/html">
-  <link rel="help" href="http://www.w3.org/TR/CSS21/visudet.html#inline-replaced-width">
-  <meta name="flags" content="image svg">
-  <style type="text/css">
-   html { background: white; color: navy; }
-   body { background: 100px 0 url(resources/test-tr.png) no-repeat; }
-   div { width: 100px; background: url(resources/test-bl.png) bottom left no-repeat; }
-   div p { background: url(resources/test-tl.png) top left no-repeat; }
-   object { display: block; margin: auto; padding-right: 100px; background: url(resources/test-br.png) bottom right no-repeat; }
-  </style>
- </head>
- <body>
-  <div><p><object data="resources/replaced-intrinsic-003.svg" type="image/svg+xml"> FAIL (SVG not supported) </object></p></div>
-  <p>There should be a complete unbroken yin-yang symbol (☯) above.</p>
- </body>
-</html>
diff --git a/third_party/WebKit/LayoutTests/css2.1/20110323/replaced-intrinsic-004.htm b/third_party/WebKit/LayoutTests/css2.1/20110323/replaced-intrinsic-004.htm
deleted file mode 100644
index e17fc189..0000000
--- a/third_party/WebKit/LayoutTests/css2.1/20110323/replaced-intrinsic-004.htm
+++ /dev/null
@@ -1,32 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
-<html>
- <head>
-  <title>CSS Test: Auto Intrinsic Sizes: Intrinsic Height Only and Specified Width</title>
-  <link rel="author" title="Elika J. Etemad" href="http://fantasai.inkedblade.net/contact">
-  <link rel="help" href="http://www.w3.org/TR/CSS21/visudet.html#inline-replaced-height">
-  <meta name="flags" content="svg">
-  <meta name="assert" content="A replaced element with an intrinsic height only     and a specified width is drawn at the specified width and intrinsic height.">
-  <style type="text/css">
-    object {
-      border: solid 20px red;
-      background: green;
-      width: 60px;
-    }
-    .control {
-      position: absolute;
-      border: solid 20px green;
-      height: 60px;
-      width: 60px;
-    }
-  </style>
- </head>
- <body>
-  <p>There must be a green box below and no red.</p>
-
-    <div class="control"></div>
-    <div class="container">
-      <object data="resources/replaced-intrinsic-004.svg" type="image/svg+xml">FAIL: SVG support required</object>
-    </div>
-
- </body>
-</html>
diff --git a/third_party/WebKit/LayoutTests/css2.1/20110323/replaced-intrinsic-005.htm b/third_party/WebKit/LayoutTests/css2.1/20110323/replaced-intrinsic-005.htm
deleted file mode 100644
index e99cdc53..0000000
--- a/third_party/WebKit/LayoutTests/css2.1/20110323/replaced-intrinsic-005.htm
+++ /dev/null
@@ -1,29 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
-<html>
- <head>
-  <title>CSS Test: Auto Intrinsic Sizes: Intrinsic Width Only and Auto Height</title>
-  <link rel="author" title="Elika J. Etemad" href="http://fantasai.inkedblade.net/contact">
-  <link rel="help" href="http://www.w3.org/TR/CSS21/visudet.html#inline-replaced-width">
-  <meta name="flags" content="svg">
-  <meta name="assert" content="A replaced element with an intrinsic height only     and a specified width is drawn at the specified width and intrinsic height.">
-  <style type="text/css">
-    object {
-      border: solid 20px red;
-      background: green;
-    }
-    .control {
-      position: absolute;
-      border: solid 20px green;
-      height: 150px;
-      width: 60px;
-    }
-  </style>
- </head>
- <body>
-  <p>There must be a green box below and no red.</p>
-
-    <div class="control"></div>
-    <div><object data="resources/replaced-intrinsic-005.svg" type="image/svg+xml">FAIL: SVG support required</object></div>
-
- </body>
-</html>
diff --git a/third_party/WebKit/LayoutTests/css2.1/20110323/replaced-intrinsic-ratio-001.htm b/third_party/WebKit/LayoutTests/css2.1/20110323/replaced-intrinsic-ratio-001.htm
deleted file mode 100644
index 84ba9cf..0000000
--- a/third_party/WebKit/LayoutTests/css2.1/20110323/replaced-intrinsic-ratio-001.htm
+++ /dev/null
@@ -1,43 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
-<html>
- <head>
-  <title>CSS Test: Auto Width for Replaced Element with Intrinsic Ratio Only</title>
-  <link rel="author" title="Elika J. Etemad" href="http://fantasai.inkedblade.net/contact">
-  <link rel="help" href="http://www.w3.org/TR/CSS21/visudet.html#inline-replaced-width">
-  <link rel="help" href="http://www.w3.org/TR/CSS21/visudet.html#inline-replaced-height">
-  <link rel="help" href="http://www.w3.org/TR/SVGTiny12/coords.html#IntrinsicSizing">
-  <meta name="flags" content="may svg">
-  <style type="text/css">
-   body { width: 15em; border: 1px silver dashed; overflow: hidden}
-   table, td { border-spacing: 0; border-collapse: collapse; padding: 0; }
-   p, table { margin: 6em 0; height: 1em; line-height: 1em;}
-
-   /* basic tests for inline and block */
-   #img1 { margin-top: -1em; }
-   #img2 { display: block; }
-
-   /* shrinkwrapped */
-   #p3 { width: 100%; float: left; margin: 0; }
-   #t4 { width: 15em; display: table-cell; }
-   #t5 { width: 100%; }
-
-   /* controls */
-   object { background: red; }
-   object, .control { border: 1em blue solid; margin: 0 1em; }
-
-   .control { background: green; }
-   .inst { height: auto; margin: 1em 0; }
-  </style>
- </head>
- <body>
-  <p class="inst">The following six blue boxes must be of the same width. There must be no red.</p>
-  <p class="control">&nbsp;</p>
-  <p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
-    <!-- sizing is against containing block, not available space -->
-    <object id="img1" type="image/svg+xml" data="resources/intrinsic-ratio.svg">This test won't work because you do not have images enabled.</object></p>
-  <p><object id="img2" type="image/svg+xml" data="resources/intrinsic-ratio.svg">This test won't work because you do not have images enabled.</object></p>
-  <p id="t4"><object id="img4" type="image/svg+xml" data="resources/intrinsic-ratio.svg">This test won't work because you do not have images enabled.</object></p>
-  <table id="t5"><tr><td><object id="img5" type="image/svg+xml" data="resources/intrinsic-ratio.svg">This test won't work because you do not have images enabled.</object></td></tr></table>
-  <p id="p3"><object id="img3" type="image/svg+xml" data="resources/intrinsic-ratio.svg">This test won't work because you do not have images enabled.</object></p>
- </body>
-</html>
diff --git a/third_party/WebKit/LayoutTests/css2.1/20110323/replaced-min-max-001.htm b/third_party/WebKit/LayoutTests/css2.1/20110323/replaced-min-max-001.htm
deleted file mode 100644
index bd780ab..0000000
--- a/third_party/WebKit/LayoutTests/css2.1/20110323/replaced-min-max-001.htm
+++ /dev/null
@@ -1,314 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
-<html>
- <head>
-  <title>CSS Test: Min/Max Height and Width Constraints on Replaced Elements</title>
-  <link rel="author" title="Elika J. Etemad" href="http://fantasai.inkedblade.net/contact">
-  <link rel="reviewer" title="Ian Hickson" href="mailto:ian@hixie.ch">
-  <link rel="alternate" href="http://www.hixie.ch/tests/adhoc/css/box/replaced/intrinsic/001.html" type="text/html">
-  <meta name="flags" content="image">
-  <link rel="help" href="http://www.w3.org/TR/CSS21/visudet.html#min-max-widths">
-  <style type="text/css">
-
-    /* Make test easier to check */
-    p { display: inline; }
-
-    /* Diagrams are scaled so that w and h line up.
-       Image is 75px x 75px; target dimensions will thus be 75px. */
-
-    /* none
-     *
-     *                  wmin     w       wmax
-     * |------------------+------+---------+------> width
-     *             hmin          h   hmax
-     * |-------------+-----------+-----+----------> height 
-     *
-     * target: [w, h]
-     */
-
-    #img1 {min-width:   60px;
-           max-width:  105px;
-           min-height:  45px;
-           max-height: 120px;}
-
-    /* w > max-width
-     * wmax/w > hmin/h
-     *                  wmax     w
-     * |------------------+------+----------------> width
-     *            hmin           h
-     * |------------+------------+----------------> height 
-     *
-     * target: [wmax, wmax * h/w]
-     */
-
-    #img2 {max-width:  75px; /* 50% */
-           min-height: 60px; /* 40% */}
-
-    /* w > max-width
-     * wmax/w < hmin/h
-     *
-     *             wmax          w     
-     * |-------------+-----------+----------------> width
-     *                  hmin     h
-     * |------------------+------+----------------> height 
-     *
-     * target: [wmax, hmin]
-     */
-
-    #img3 {max-width:  75px; /* 25% */
-           min-height: 75px; /* 50% */}
-
-    /* w < min-width
-     * wmin/w < hmax/h
-     *
-     *               w       wmin
-     * |-------------+---------+------------------> width
-     *               h              hmax
-     * |-------------+----------------+-----------> height 
-     *
-     * target: [wmin, wmin * h/w]
-     */
-
-    #img4 {min-width:   75px; /* 300% */
-           max-height: 100px; /* 400% */}
-
-    /* w < min-width
-     * wmin/w > hmax/h
-     *
-     *               w              wmin
-     * |-------------+----------------+-----------> width
-     *               h       hmax
-     * |-------------+---------+------------------> height 
-     *
-     * target: [wmin, hmax]
-     */
-
-    #img5 {min-width:   75px; /* 300% */
-           max-height:  75px; /* 150% */}
-
-    /* h > max-height
-     * wmin/w < hmax/h
-     *
-     *            wmin           w
-     * |------------+------------+----------------> width 
-     *                  hmax     h
-     * |------------------+------+----------------> height
-     *
-     * target: [hmax * w/h, hmax]
-     */
-
-    #img6 {min-width:  60px; /* 40% */
-           max-height: 75px; /* 50% */}
-
-    /* h > max-height
-     * wmin/w > hmax/h
-     *
-     *                  wmin     w
-     * |------------------+------+----------------> width 
-     *             hmax          h     
-     * |-------------+-----------+----------------> height
-     *
-     * target: [wmin, hmax]
-     */
-
-    #img7 {min-width:  75px; /* 50% */
-           max-height: 75px; /* 25% */}
-
-    /* h < min-height
-     * wmax/w > hmin/h
-     *
-     *               w              wmax
-     * |-------------+----------------+-----------> height 
-     *               h       hmin
-     * |-------------+---------+------------------> width
-     *
-     * target: [hmin * w/h, hmin]
-     */
-
-    #img8 {max-width: 100px; /* 400% */
-           min-height: 75px; /* 300% */}
-
-    /* w < min-width
-     * wmax/w < hmin/h
-     *
-     *               w       wmax
-     * |-------------+---------+------------------> width 
-     *               h              hmin
-     * |-------------+----------------+-----------> height
-     *
-     * target: [wmax, hmin]
-     */
-
-    #img9 {max-width:  75px; /* 150% */
-           min-height: 75px; /* 300% */}
-
-    /* (w > max-width) and (h > max-height)
-     * (wmin/w > hmax/h) and (wmin/w > hmax/h)
-     *
-     *                  wmin   wmax      w
-     * |------------------+------+-------+--------> width
-     *             hmax                  h
-     * |-------------+-------------------+--------> height 
-     *
-     * target: [wmin, hmax]
-     */
-
-    #img10 { min-width:  75px; /* 25% */
-             max-width: 150px; /* 50% */
-             max-height: 75px; /* 20% */}
-
-    /* (w > max-width) and (h > max-height)
-     * (wmax/w > hmax/h) and (wmin/w < hmax/h)
-     *
-     *         wmin            wmax      w
-     * |---------+---------------+-------+--------> width
-     *             hmax                  h
-     * |-------------+-------------------+--------> height 
-     *
-     * target: [hmax * w/h, hmax]
-     */
-
-    #img11 { min-width:  25px; /* 10% */  
-             max-width: 225px; /* 90% */
-             max-height: 75px; /* 30% */}
-
-    /* (w > max-width) and (h > max-height)
-     * (wmax/w < hmax/h) and (wmax/w < hmin/h)
-     *
-     *             wmax                  w
-     * |-------------+-------------------+--------> width 
-     *                  hmin   hmax      h
-     * |------------------+------+-------+--------> height
-     *
-     * target: [wmax, hmin]
-     */
-
-    #img12 { max-width:   75px; /* 20% */
-             min-height:  75px; /* 25% */
-             max-height: 150px; /* 50% */}
-
-    /* (w > max-width) and (h > max-width)
-     * (wmax/w < hmax/h) and (wmax/w > hmin/h)
-     *
-     *             wmax                  w
-     * |-------------+-------------------+--------> width 
-     *         hmin            hmax      h
-     * |---------+---------------+-------+--------> height
-     *
-     * target: [wmax, wmax * h/w]
-     */
-
-    #img13 { max-width:   75px; /* 30% */
-             min-height:  25px; /* 10% */  
-             max-height: 225px; /* 90% */}
-
-    /* (w < min-width) and (h < min-height)
-     * (wmin/w < hmin/h) and (wmax/w > hmin/h)
-     *
-     *            w       wmin       wmax
-     * |----------+---------+----------+----------> width 
-     *            h           hmin
-     * |----------+-------------+-----------------> height
-     *
-     * target: [hmin * w/h, hmin]
-     */
-
-    #img14 { min-width:   50px; /* 200% */
-             max-width:  100px; /* 400% */
-             min-height:  75px; /* 300% */}
-
-    /* (w < min-width) and (h < min-height)
-     * (wmin/w < hmin/h) and (wmax/w < hmin/h)
-     *
-     *            w       wmin       wmax
-     * |----------+---------+----------+----------> width
-     *            h                      hmin
-     * |----------+------------------------+------> height
-     *
-     * target: [wmax, hmin]
-     */
-
-    #img15 { min-width:   55px; /* 110% */
-             max-width:   75px; /* 150% */
-             min-height:  75px; /* 300% */}
-
-    /* (w < min-width) and (h < min-height)
-     * (wmin/w > hmin/h) and (wmin/w < hmax/h)
-     *
-     *            w           wmin
-     * |----------+-------------+-----------------> width
-     *            h       hmin       hmax
-     * |----------+---------+----------+----------> height 
-     *
-     * target: [wmin, wmin * h/w]
-     */
-
-    #img16 { min-width:   75px; /* 300% */
-             min-height:  50px; /* 200% */
-             max-height: 100px; /* 400% */}
-
-    /* (w < min-width) and (h < min-height)
-     * (wmin/w > hmin/h) and (wmin/w > hmax/h)
-     *            w                      wmin
-     * |----------+------------------------+------> width
-     *            h       hmin       hmax
-     * |----------+---------+----------+----------> height 
-     *
-     * target: [wmin, hmax]
-     */
-
-    #img17 { min-width:  75px; /* 300% */
-             min-height: 55px; /* 110% */
-             max-height: 75px; /* 150% */}
-
-    /* (w < min-width) and (h > max-height)
-     *
-     *                           w   wmin
-     * |-------------------------+-----+----------> width 
-     *                  hmax     h
-     * |------------------+------+----------------> height
-     *
-     * target: [wmin, hmax]
-     */
-
-    #img18 { min-width:  75px; /* 150% */
-             max-height: 75px; /*  75% */}
-
-    /* (w > max-width) and (h < min-height)
-     *
-     *                  wmax     w
-     * |------------------+------+----------------> width
-     *                           h   hmin
-     * |-------------------------+-----+----------> height 
-     *
-     * target: [wmax, hmin]
-     */
-
-    #img19 { max-width:  75px; /*  75% */
-             min-height: 75px; /* 150% */}
-
-  </style>
- </head>
- <body>
-   <div>All twenty images should be identically square.</div>
-   <p><img src="resources/replaced-min-max.png" alt="FAIL" title="Test 0"></p> <!-- Control -->
-   <p><img src="resources/replaced-min-max-1.png" alt="FAIL" title="Test 1" id="img1"></p> <!-- Wi=75, Hi=75 -->
-   <p><img src="resources/replaced-min-max-2.png" alt="FAIL" title="Test 2" id="img2"></p> <!-- Wi=150, Hi=150 -->
-   <p><img src="resources/replaced-min-max-3.png" alt="FAIL" title="Test 3" id="img3"></p> <!-- Wi=300, Hi=150 -->
-   <p><img src="resources/replaced-min-max-4.png" alt="FAIL" title="Test 4" id="img4"></p> <!-- Wi=25, Hi=25 -->
-   <p><img src="resources/replaced-min-max-5.png" alt="FAIL" title="Test 5" id="img5"></p> <!-- Wi=25, Hi=50 -->
-   <p><img src="resources/replaced-min-max-6.png" alt="FAIL" title="Test 6" id="img6"></p> <!-- Wi=150, Hi=150 -->
-   <p><img src="resources/replaced-min-max-7.png" alt="FAIL" title="Test 7" id="img7"></p> <!-- Wi=150, Hi=300 -->
-   <p><img src="resources/replaced-min-max-8.png" alt="FAIL" title="Test 8" id="img8"></p> <!-- Wi=25, Hi=25 -->
-   <p><img src="resources/replaced-min-max-9.png" alt="FAIL" title="Test 9" id="img9"></p> <!-- Wi=50, Hi=25 -->
-   <p><img src="resources/replaced-min-max-10.png" alt="FAIL" title="Test 10" id="img10"></p> <!-- Wi=300, Hi=375 -->
-   <p><img src="resources/replaced-min-max-11.png" alt="FAIL" title="Test 11" id="img11"></p> <!-- Wi=250, Hi=250 -->
-   <p><img src="resources/replaced-min-max-12.png" alt="FAIL" title="Test 12" id="img12"></p> <!-- Wi=375, Hi=300 -->
-   <p><img src="resources/replaced-min-max-13.png" alt="FAIL" title="Test 13" id="img13"></p> <!-- Wi=250, Hi=250 -->
-   <p><img src="resources/replaced-min-max-14.png" alt="FAIL" title="Test 14" id="img14"></p> <!-- Wi=25, Hi=25 -->
-   <p><img src="resources/replaced-min-max-15.png" alt="FAIL" title="Test 15" id="img15"></p> <!-- Wi=50, Hi=25 -->
-   <p><img src="resources/replaced-min-max-16.png" alt="FAIL" title="Test 16" id="img16"></p> <!-- Wi=25, Hi=25 -->
-   <p><img src="resources/replaced-min-max-17.png" alt="FAIL" title="Test 17" id="img17"></p> <!-- Wi=25, Hi=50 -->
-   <p><img src="resources/replaced-min-max-18.png" alt="FAIL" title="Test 18" id="img18"></p> <!-- Wi=50, Hi=100 -->
-   <p><img src="resources/replaced-min-max-19.png" alt="FAIL" title="Test 19" id="img19"></p> <!-- Wi=100, Hi=50 -->
- </body>
-</html>
diff --git a/third_party/WebKit/LayoutTests/css2.1/20110323/vertical-align-boxes-001-expected.html b/third_party/WebKit/LayoutTests/css2.1/20110323/vertical-align-boxes-001-expected.html
deleted file mode 100644
index da4334b..0000000
--- a/third_party/WebKit/LayoutTests/css2.1/20110323/vertical-align-boxes-001-expected.html
+++ /dev/null
@@ -1,40 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
-<html>
- <head>
-  <title>CSS Test: Reference Result</title>
-  <script src="../../resources/ahem.js"></script>
-  <style type="text/css">
-    .test {
-        height: 2em;
-        font: 40px/60px Ahem; color: blue;
-    }
-
-    #control {
-      height: 40px;
-      margin-bottom: -18px;
-    }
-    #control2 {
-      height: 40px;
-      width: 15px;
-      margin-bottom: -18px;
-    }
-
-    img {
-      background: blue;
-    }
-  </style>
- </head>
- <body>
-  <p>There should be a single blue rectangle with perfectly straight sides below.</p>
-  <div class="test">
-    <img id="control" src="support/swatch-blue.png" alt="FAIL"><!--
- --><img id="control2" src="support/swatch-blue.png" alt="FAIL"><!--
- --><img id="control2" src="support/swatch-blue.png" alt="FAIL"><!--
- --><img id="control2" src="support/swatch-blue.png" alt="FAIL"><!--
- --><img id="control2" src="support/swatch-blue.png" alt="FAIL"><!--
- --><img id="control2" src="support/swatch-blue.png" alt="FAIL"><!--
- --><img id="control2" src="support/swatch-blue.png" alt="FAIL">
-  </div>
-
- </body>
-</html>
diff --git a/third_party/WebKit/LayoutTests/css2.1/20110323/vertical-align-boxes-001.htm b/third_party/WebKit/LayoutTests/css2.1/20110323/vertical-align-boxes-001.htm
deleted file mode 100644
index b597b01..0000000
--- a/third_party/WebKit/LayoutTests/css2.1/20110323/vertical-align-boxes-001.htm
+++ /dev/null
@@ -1,75 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
-<html>
- <head>
-  <title>CSS Test: Vertical Alignment boxes: replaced elements</title>
-  <script src="../../resources/ahem.js"></script>
-  <link rel="author" title="Elika J. Etemad" href="http://fantasai.inkedblade.net/contact">
-  <link rel="help" href="http://www.w3.org/TR/CSS21/visudet.html#line-height">
-  <meta name="flags" content="ahem image">
-  <meta name="assert" content="Vertical alignment aligns the margin box of inline replaced elements.">
-  <style type="text/css">
-    .test {
-        height: 2em;
-        font: 40px/60px Ahem; color: blue;
-    }
-
-    #control {
-      height: 40px;
-      margin-bottom: -18px;
-    }
-    #length {
-      vertical-align: -28px;
-      padding-top: 15px;
-      border-top: 10px solid;
-      margin: 10px 0;
-    }
-    #percent {
-      vertical-align: 50%;
-      padding-bottom: 15px;
-      border-bottom: 10px solid;
-      margin-bottom: -48px;
-    }
-    #text-bottom {
-      vertical-align: text-bottom;
-      padding-bottom: 10px;
-      border-bottom: 15px solid;
-      margin-bottom: -10px;
-    }
-    #text-top {
-      vertical-align: text-top;
-      padding-top: 15px;
-      border-top: 10px solid;
-      margin-top: 10px;
-    }
-    #middle {
-      vertical-align: middle;
-      padding-top: 15px;
-      border-top: 10px solid;
-      margin-bottom: -28px;
-    }
-    #baseline {
-      vertical-align: baseline;
-      padding-bottom: 10px;
-      border-bottom: 15px solid;
-      margin-bottom: -18px;
-    }
-
-    img {
-      background: blue;
-    }
-  </style>
- </head>
- <body>
-  <p>There should be a single blue rectangle with perfectly straight sides below.</p>
-  <div class="test">
-    <img id="control" src="support/swatch-blue.png" alt="FAIL"><!--
- --><img id="baseline" src="support/swatch-blue.png" alt="FAIL"><!--
- --><img id="middle" src="support/swatch-blue.png" alt="FAIL"><!--
- --><img id="text-top" src="support/swatch-blue.png" alt="FAIL"><!--
- --><img id="text-bottom" src="support/swatch-blue.png" alt="FAIL"><!--
- --><img id="percent" src="support/swatch-blue.png" alt="FAIL"><!--
- --><img id="length" src="support/swatch-blue.png" alt="FAIL">
-  </div>
-
- </body>
-</html>
diff --git a/third_party/WebKit/LayoutTests/css2.1/20110323/width-non-replaced-inline-001.htm b/third_party/WebKit/LayoutTests/css2.1/20110323/width-non-replaced-inline-001.htm
deleted file mode 100644
index 4e3614f..0000000
--- a/third_party/WebKit/LayoutTests/css2.1/20110323/width-non-replaced-inline-001.htm
+++ /dev/null
@@ -1,23 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
-<html>
-    <head>
-        <title>CSS Test: Width of non-replaced inline element should be the same as its content</title>
-        <link rel="author" title="Microsoft" href="http://www.microsoft.com/">
-        <link rel="help" href="http://www.w3.org/TR/CSS21/visudet.html#the-width-property">
-        <meta name="flags" content="">
-        <meta name="assert" content="Content width of a non-replaced inline element is that of the rendered content.">
-        <style type="text/css">
-            span
-            {
-                border-right: 5px solid black;
-                border-left: 5px solid black;
-            }
-        </style>
-    </head>
-    <body>
-        <p>Test passes if the left and right borders start and end where the 'Filler Text' does.</p>
-        <div>
-            <span>Filler Text Filler Text Filler Text Filler Text</span>
-        </div>
-    </body>
-</html>
\ No newline at end of file
diff --git a/third_party/WebKit/LayoutTests/css2.1/20110323/width-replaced-element-001.htm b/third_party/WebKit/LayoutTests/css2.1/20110323/width-replaced-element-001.htm
deleted file mode 100644
index 9d615bbc..0000000
--- a/third_party/WebKit/LayoutTests/css2.1/20110323/width-replaced-element-001.htm
+++ /dev/null
@@ -1,36 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
-<html>
-    <head>
-        <title>CSS Test: Scaling replaced elements with a width specified can scale the image</title>
-        <link rel="author" title="Microsoft" href="http://www.microsoft.com/">
-        <link rel="help" href="http://www.w3.org/TR/CSS21/visudet.html#the-width-property">
-        <meta name="flags" content="image may">
-        <meta name="assert" content="Replaced elements width may be scaled by the user agent when the value of the property is not 'auto'.">
-        <style type="text/css">
-            div
-            {
-                position: relative;
-            }
-            div div
-            {
-                background: orange;
-                height: 15px;
-                width: 15px;
-            }
-            img
-            {
-                position: absolute;
-                left: 0.25in;
-                top: 0;
-                width: 1in;
-            }
-        </style>
-    </head>
-    <body>
-        <p>Test passes if the blue square is the same size or larger than the orange square.</p>
-        <div>
-            <div></div>
-            <img alt="blue 15x15" src="resources/blue15x15.png">
-        </div>
-    </body>
-</html>
diff --git a/third_party/WebKit/LayoutTests/custom-elements/spec/callback.html b/third_party/WebKit/LayoutTests/custom-elements/spec/callback.html
index e0c297b..cec28ba 100644
--- a/third_party/WebKit/LayoutTests/custom-elements/spec/callback.html
+++ b/third_party/WebKit/LayoutTests/custom-elements/spec/callback.html
@@ -105,7 +105,7 @@
 
     element.style.color = '';
     assert_equals(logs.length, 3);
-    assert_log_is_type(logs, 2, attributeChanged, element, ['style', 'color: green;', null, null]);
+    assert_log_is_type(logs, 2, attributeChanged, element, ['style', 'color: green;', "", null]);
   }, 'style.color should enqueue attributeChangedCallback for style attribute');
 
   test_with_window(w => {
@@ -133,7 +133,7 @@
 
     element.style.removeProperty('color', 'red');
     assert_equals(logs.length, 2);
-    assert_log_is_type(logs, 1, attributeChanged, element, ['style', 'color: red;', null, null]);
+    assert_log_is_type(logs, 1, attributeChanged, element, ['style', 'color: red;', "", null]);
   }, 'style.setProperty/removeProperty should enqueue attributeChangedCallback for style attribute');
 
   test_with_window(w => {
diff --git a/third_party/WebKit/LayoutTests/editing/execCommand/5770834-1-expected.txt b/third_party/WebKit/LayoutTests/editing/execCommand/5770834-1-expected.txt
index 32c9d32..136dc39a 100644
--- a/third_party/WebKit/LayoutTests/editing/execCommand/5770834-1-expected.txt
+++ b/third_party/WebKit/LayoutTests/editing/execCommand/5770834-1-expected.txt
@@ -2,6 +2,6 @@
 
 
 <div style="text-align: right;">
-<div>foo<br>bar</div>
+<div style="">foo<br>bar</div>
 </div>
 
diff --git a/third_party/WebKit/LayoutTests/editing/execCommand/empty-span-removal-expected.txt b/third_party/WebKit/LayoutTests/editing/execCommand/empty-span-removal-expected.txt
index 6e1fa761..10b43eaf 100644
--- a/third_party/WebKit/LayoutTests/editing/execCommand/empty-span-removal-expected.txt
+++ b/third_party/WebKit/LayoutTests/editing/execCommand/empty-span-removal-expected.txt
@@ -6,7 +6,7 @@
 PASS one bold command converted <span><span style='font-weight: bold'>test</span></span> to <span>test</span>
 PASS one bold command converted <span style='font-weight: bold'><span>test</span></span> to test
 PASS one bold command converted <span style='font-weight: bold'><span style='font-weight: bold'>test</span></span> to test
-PASS one bold command converted <span foo="bar" style='font-weight: bold'>test</span> to <span foo="bar">test</span>
+PASS one bold command converted <span foo="bar" style='font-weight: bold'>test</span> to <span foo="bar" style="">test</span>
 PASS two bold commands converted <span>test</span> to <span>test</span>
 PASS successfullyParsed is true
 
diff --git a/third_party/WebKit/LayoutTests/editing/execCommand/remove-format-multiple-elements-mac-expected.txt b/third_party/WebKit/LayoutTests/editing/execCommand/remove-format-multiple-elements-mac-expected.txt
index 0cc5f0d..8b10c6e 100644
--- a/third_party/WebKit/LayoutTests/editing/execCommand/remove-format-multiple-elements-mac-expected.txt
+++ b/third_party/WebKit/LayoutTests/editing/execCommand/remove-format-multiple-elements-mac-expected.txt
@@ -20,7 +20,7 @@
 PASS RemoveFormat on all of "<i style="font-weight:bold;">hello</i> <u>world</u>" yields "hello world"
 PASS RemoveFormat on second word of "<font color="red"><b style="font-size: large;"><u>hello</u> world</b> WebKit</font>" yields "<font color="red"><b style="font-size: large;"><u>hello</u> </b></font>world<font color="red"> WebKit</font>"
 PASS RemoveFormat on second word of "<font size="5"><i><u style="font-size: small;">hello</u> world</i><font size="3"> WebKit</font></font>" yields "<font size="5"><i><u style="font-size: small;">hello</u> </i></font>world<font size="5"><font size="3"> WebKit</font></font>"
-PASS RemoveFormat on second word of "<sup><div style="text-decoration-line: underline; font-size: large;">hello <dfn style="font-size: normal;">world</dfn></div> WebKit</sup>" yields "<div><sup><font size="4"><u>hello </u></font></sup>world</div><sup> WebKit</sup>"
+PASS RemoveFormat on second word of "<sup><div style="text-decoration-line: underline; font-size: large;">hello <dfn style="font-size: normal;">world</dfn></div> WebKit</sup>" yields "<div style=""><sup><font size="4"><u>hello </u></font></sup>world</div><sup> WebKit</sup>"
 PASS successfullyParsed is true
 
 TEST COMPLETE
diff --git a/third_party/WebKit/LayoutTests/editing/execCommand/remove-format-multiple-elements-win-expected.txt b/third_party/WebKit/LayoutTests/editing/execCommand/remove-format-multiple-elements-win-expected.txt
index 440207afad..e2079b75 100644
--- a/third_party/WebKit/LayoutTests/editing/execCommand/remove-format-multiple-elements-win-expected.txt
+++ b/third_party/WebKit/LayoutTests/editing/execCommand/remove-format-multiple-elements-win-expected.txt
@@ -20,7 +20,7 @@
 PASS RemoveFormat on all of "<i style="font-weight:bold;">hello</i> <u>world</u>" yields "hello world"
 PASS RemoveFormat on second word of "<font color="red"><b style="font-size: large;"><u>hello</u> world</b> WebKit</font>" yields "<font color="red"><b style="font-size: large;"><u>hello</u> </b></font>world <font color="red">WebKit</font>"
 PASS RemoveFormat on second word of "<font size="5"><i><u style="font-size: small;">hello</u> world</i><font size="3"> WebKit</font></font>" yields "<font size="5"><i><u style="font-size: small;">hello</u> </i></font>world <font size="5"><font size="3">WebKit</font></font>"
-PASS RemoveFormat on second word of "<sup><div style="text-decoration: underline; font-size: large;">hello <dfn style="font-size: normal;">world</dfn></div> WebKit</sup>" yields "<div><sup><font size="4"><u>hello </u></font></sup>world</div><sup> WebKit</sup>"
+PASS RemoveFormat on second word of "<sup><div style="text-decoration: underline; font-size: large;">hello <dfn style="font-size: normal;">world</dfn></div> WebKit</sup>" yields "<div style=""><sup><font size="4"><u>hello </u></font></sup>world</div><sup> WebKit</sup>"
 PASS successfullyParsed is true
 
 TEST COMPLETE
diff --git a/third_party/WebKit/LayoutTests/editing/execCommand/script-tests/empty-span-removal.js b/third_party/WebKit/LayoutTests/editing/execCommand/script-tests/empty-span-removal.js
index 2e5e604..41e0bf31 100644
--- a/third_party/WebKit/LayoutTests/editing/execCommand/script-tests/empty-span-removal.js
+++ b/third_party/WebKit/LayoutTests/editing/execCommand/script-tests/empty-span-removal.js
@@ -32,7 +32,7 @@
 testSingleToggle("bold", "<span><span style='font-weight: bold'>test</span></span>", "<span>test</span>");
 testSingleToggle("bold", "<span style='font-weight: bold'><span>test</span></span>", "test");
 testSingleToggle("bold", "<span style='font-weight: bold'><span style='font-weight: bold'>test</span></span>", "test");
-testSingleToggle("bold", "<span foo=\"bar\" style='font-weight: bold'>test</span>", "<span foo=\"bar\">test</span>");
+testSingleToggle("bold", "<span foo=\"bar\" style='font-weight: bold'>test</span>", "<span foo=\"bar\" style=\"\">test</span>");
 testDoubleToggle("bold", "<span>test</span>", "<span>test</span>");
 
 document.body.removeChild(testContainer);
diff --git a/third_party/WebKit/LayoutTests/editing/execCommand/script-tests/remove-format-multiple-elements-mac.js b/third_party/WebKit/LayoutTests/editing/execCommand/script-tests/remove-format-multiple-elements-mac.js
index 3957240..86a0c5c48 100644
--- a/third_party/WebKit/LayoutTests/editing/execCommand/script-tests/remove-format-multiple-elements-mac.js
+++ b/third_party/WebKit/LayoutTests/editing/execCommand/script-tests/remove-format-multiple-elements-mac.js
@@ -63,7 +63,7 @@
 testRemoveFormat('<b><u>hello</u> world</b> <a href="http://webkit.org/"><em>WebKit</em></a>',
     selectSecondWord, '<b><u>hello</u> </b>world <a href="http://webkit.org/"><em>WebKit</em></a>');
 testRemoveFormat('<sub><tt>hello world WebKit</tt></sub>', selectSecondWord, '<sub><tt>hello </tt></sub>world<sub><tt> WebKit</tt></sub>');
-testRemoveFormat('<q><ins><var>hello wor</var>ld</ins> WebKit</q>', selectSecondWord, '<q><ins><var>hello </var></ins></q>world<q> WebKit</q>');    
+testRemoveFormat('<q><ins><var>hello wor</var>ld</ins> WebKit</q>', selectSecondWord, '<q><ins><var>hello </var></ins></q>world<q> WebKit</q>');
 testRemoveFormat('<b>hello <dfn>world <kbd>WebKit</kbd></dfn></b>', selectLastWord, '<b>hello <dfn>world </dfn></b>WebKit');
 testRemoveFormat('<b>hello <dfn>world <kbd>WebKit</kbd></dfn></b>', selectSecondWord, '<b>hello </b>world<b><dfn> <kbd>WebKit</kbd></dfn></b>');
 testRemoveFormat('<code>hello <strong>world WebKit</storng></code>', selectFirstTwoWords, 'hello world<code><strong> WebKit</strong></code>');
@@ -80,7 +80,7 @@
 testRemoveFormat('<font size="5"><i><u style="font-size: small;">hello</u> world</i><font size="3"> WebKit</font></font>',
     selectSecondWord, '<font size="5"><i><u style="font-size: small;">hello</u> </i></font>world<font size="5"><font size="3"> WebKit</font></font>');
 testRemoveFormat('<sup><div style="text-decoration-line: underline; font-size: large;">hello <dfn style="font-size: normal;">world</dfn></div> WebKit</sup>',
-    selectSecondWord, '<div><sup><font size="4"><u>hello </u></font></sup>world</div><sup> WebKit</sup>');
+    selectSecondWord, '<div style=""><sup><font size="4"><u>hello </u></font></sup>world</div><sup> WebKit</sup>');
 
 document.body.removeChild(testContainer);
 
diff --git a/third_party/WebKit/LayoutTests/editing/execCommand/script-tests/remove-format-multiple-elements-win.js b/third_party/WebKit/LayoutTests/editing/execCommand/script-tests/remove-format-multiple-elements-win.js
index 4c9c0e56..fd0cc36 100644
--- a/third_party/WebKit/LayoutTests/editing/execCommand/script-tests/remove-format-multiple-elements-win.js
+++ b/third_party/WebKit/LayoutTests/editing/execCommand/script-tests/remove-format-multiple-elements-win.js
@@ -80,7 +80,7 @@
 testRemoveFormat('<font size="5"><i><u style="font-size: small;">hello</u> world</i><font size="3"> WebKit</font></font>',
     selectSecondWord, '<font size="5"><i><u style="font-size: small;">hello</u> </i></font>world <font size="5"><font size="3">WebKit</font></font>');
 testRemoveFormat('<sup><div style="text-decoration: underline; font-size: large;">hello <dfn style="font-size: normal;">world</dfn></div> WebKit</sup>',
-    selectSecondWord, '<div><sup><font size="4"><u>hello </u></font></sup>world</div><sup> WebKit</sup>');
+    selectSecondWord, '<div style=""><sup><font size="4"><u>hello </u></font></sup>world</div><sup> WebKit</sup>');
 
 document.body.removeChild(testContainer);
 
diff --git a/third_party/WebKit/LayoutTests/editing/execCommand/script-tests/toggle-compound-styles.js b/third_party/WebKit/LayoutTests/editing/execCommand/script-tests/toggle-compound-styles.js
index da45460..5d72409 100644
--- a/third_party/WebKit/LayoutTests/editing/execCommand/script-tests/toggle-compound-styles.js
+++ b/third_party/WebKit/LayoutTests/editing/execCommand/script-tests/toggle-compound-styles.js
@@ -9,8 +9,9 @@
     testContainer.innerHTML = initialContents;
     window.getSelection().selectAllChildren(testContainer);
     document.execCommand(toggleCommand, false, null);
-    var action = 'one ' + toggleCommand + ' command converted "' + initialContents + '" to "' + expectedContents;
-    if (testContainer.innerHTML === expectedContents)
+    var actualContents = testContainer.innerHTML;
+    var action = 'one ' + toggleCommand + ' command converted "' + initialContents + '" to "' + actualContents;
+    if (actualContents === expectedContents)
         testPassed(action);
     else
         testFailed(action + '", expected "' + expectedContents + '"');
@@ -35,10 +36,10 @@
 
     // Following tests are cross-platform
     testSingleToggle("bold", "<u><span id='test'><b>hello</b></span><b>world</b></u>", '<u><span id="test">hello</span>world</u>');
-    testSingleToggle("bold", "<span id='test' style='font-weight:normal;'><b>hello</b></span>", '<span id="test">hello</span>');
+    testSingleToggle("bold", "<span id='test' style='font-weight:normal;'><b>hello</b></span>", '<span id="test" style="">hello</span>');
     testSingleToggle("bold", "<div><b>hello</b><br><br><b>world</b></div>", "<div>hello<br><br>world</div>");
     testSingleToggle("italic", "<i>hello </i><img>", "hello <img>");
-    testSingleToggle("italic", "<i><b>hello</b>world</i>", "<b>hello</b>world");
+    testSingleToggle("italic", "<i><b>hello</b>world</i>", "<b style=\"\">hello</b>world");
     testSingleToggle("italic", "<span style='font-style: normal;'> <i> hello </i> </span>", "  hello  ");
     testSingleToggle("italic", "<p><i>hello</i><span style='font-style:italic;'>world</span></p>", "<p>helloworld</p>");
     testSingleToggle("italic", "<s><b>hello<i> world</i></b></s>", "<s><b><i>hello world</i></b></s>");
diff --git a/third_party/WebKit/LayoutTests/editing/execCommand/script-tests/toggle-style-2.js b/third_party/WebKit/LayoutTests/editing/execCommand/script-tests/toggle-style-2.js
index e83827a0..d236646 100644
--- a/third_party/WebKit/LayoutTests/editing/execCommand/script-tests/toggle-style-2.js
+++ b/third_party/WebKit/LayoutTests/editing/execCommand/script-tests/toggle-style-2.js
@@ -30,7 +30,7 @@
 }
 
 testSingleToggle("underline", "test", "<u>test</u>");
-testSingleToggle("underline", "<u><b><strike>test</strike></b></u>", "<b><strike>test</strike></b>");
+testSingleToggle("underline", "<u><b><strike>test</strike></b></u>", "<b style=\"\"><strike style=\"\">test</strike></b>");
 testDoubleToggle("underline", "test", "test");
 testSingleToggle("strikethrough", "test", "<strike>test</strike>");
 testSingleToggle("strikethrough", "<u><b><strike>test</strike></b></u>", "<u><b>test</b></u>");
diff --git a/third_party/WebKit/LayoutTests/editing/execCommand/toggle-compound-styles-expected.txt b/third_party/WebKit/LayoutTests/editing/execCommand/toggle-compound-styles-expected.txt
index 6887db5..e3445fe 100644
--- a/third_party/WebKit/LayoutTests/editing/execCommand/toggle-compound-styles-expected.txt
+++ b/third_party/WebKit/LayoutTests/editing/execCommand/toggle-compound-styles-expected.txt
@@ -9,10 +9,10 @@
 PASS one bold command converted "<u><b>hello </b></u>world" to "<u>hello </u>world
 PASS one italic command converted "<i>hello</i> <img>" to "hello <img>
 PASS one bold command converted "<u><span id='test'><b>hello</b></span><b>world</b></u>" to "<u><span id="test">hello</span>world</u>
-PASS one bold command converted "<span id='test' style='font-weight:normal;'><b>hello</b></span>" to "<span id="test">hello</span>
+PASS one bold command converted "<span id='test' style='font-weight:normal;'><b>hello</b></span>" to "<span id="test" style="">hello</span>
 PASS one bold command converted "<div><b>hello</b><br><br><b>world</b></div>" to "<div>hello<br><br>world</div>
 PASS one italic command converted "<i>hello </i><img>" to "hello <img>
-PASS one italic command converted "<i><b>hello</b>world</i>" to "<b>hello</b>world
+PASS one italic command converted "<i><b>hello</b>world</i>" to "<b style="">hello</b>world
 PASS one italic command converted "<span style='font-style: normal;'> <i> hello </i> </span>" to "  hello  
 PASS one italic command converted "<p><i>hello</i><span style='font-style:italic;'>world</span></p>" to "<p>helloworld</p>
 PASS one italic command converted "<s><b>hello<i> world</i></b></s>" to "<s><b><i>hello world</i></b></s>
@@ -23,10 +23,10 @@
 PASS one bold command converted "<u><b>hello </b></u>world" to "<b><u>hello </u>world</b>
 PASS one italic command converted "<i>hello</i> <img>" to "<i>hello <img></i>
 PASS one bold command converted "<u><span id='test'><b>hello</b></span><b>world</b></u>" to "<u><span id="test">hello</span>world</u>
-PASS one bold command converted "<span id='test' style='font-weight:normal;'><b>hello</b></span>" to "<span id="test">hello</span>
+PASS one bold command converted "<span id='test' style='font-weight:normal;'><b>hello</b></span>" to "<span id="test" style="">hello</span>
 PASS one bold command converted "<div><b>hello</b><br><br><b>world</b></div>" to "<div>hello<br><br>world</div>
 PASS one italic command converted "<i>hello </i><img>" to "hello <img>
-PASS one italic command converted "<i><b>hello</b>world</i>" to "<b>hello</b>world
+PASS one italic command converted "<i><b>hello</b>world</i>" to "<b style="">hello</b>world
 PASS one italic command converted "<span style='font-style: normal;'> <i> hello </i> </span>" to "  hello  
 PASS one italic command converted "<p><i>hello</i><span style='font-style:italic;'>world</span></p>" to "<p>helloworld</p>
 PASS one italic command converted "<s><b>hello<i> world</i></b></s>" to "<s><b><i>hello world</i></b></s>
@@ -37,10 +37,10 @@
 PASS one bold command converted "<u><b>hello </b></u>world" to "<b><u>hello </u>world</b>
 PASS one italic command converted "<i>hello</i> <img>" to "<i>hello <img></i>
 PASS one bold command converted "<u><span id='test'><b>hello</b></span><b>world</b></u>" to "<u><span id="test">hello</span>world</u>
-PASS one bold command converted "<span id='test' style='font-weight:normal;'><b>hello</b></span>" to "<span id="test">hello</span>
+PASS one bold command converted "<span id='test' style='font-weight:normal;'><b>hello</b></span>" to "<span id="test" style="">hello</span>
 PASS one bold command converted "<div><b>hello</b><br><br><b>world</b></div>" to "<div>hello<br><br>world</div>
 PASS one italic command converted "<i>hello </i><img>" to "hello <img>
-PASS one italic command converted "<i><b>hello</b>world</i>" to "<b>hello</b>world
+PASS one italic command converted "<i><b>hello</b>world</i>" to "<b style="">hello</b>world
 PASS one italic command converted "<span style='font-style: normal;'> <i> hello </i> </span>" to "  hello  
 PASS one italic command converted "<p><i>hello</i><span style='font-style:italic;'>world</span></p>" to "<p>helloworld</p>
 PASS one italic command converted "<s><b>hello<i> world</i></b></s>" to "<s><b><i>hello world</i></b></s>
@@ -51,10 +51,10 @@
 PASS one bold command converted "<u><b>hello </b></u>world" to "<b><u>hello </u>world</b>
 PASS one italic command converted "<i>hello</i> <img>" to "<i>hello <img></i>
 PASS one bold command converted "<u><span id='test'><b>hello</b></span><b>world</b></u>" to "<u><span id="test">hello</span>world</u>
-PASS one bold command converted "<span id='test' style='font-weight:normal;'><b>hello</b></span>" to "<span id="test">hello</span>
+PASS one bold command converted "<span id='test' style='font-weight:normal;'><b>hello</b></span>" to "<span id="test" style="">hello</span>
 PASS one bold command converted "<div><b>hello</b><br><br><b>world</b></div>" to "<div>hello<br><br>world</div>
 PASS one italic command converted "<i>hello </i><img>" to "hello <img>
-PASS one italic command converted "<i><b>hello</b>world</i>" to "<b>hello</b>world
+PASS one italic command converted "<i><b>hello</b>world</i>" to "<b style="">hello</b>world
 PASS one italic command converted "<span style='font-style: normal;'> <i> hello </i> </span>" to "  hello  
 PASS one italic command converted "<p><i>hello</i><span style='font-style:italic;'>world</span></p>" to "<p>helloworld</p>
 PASS one italic command converted "<s><b>hello<i> world</i></b></s>" to "<s><b><i>hello world</i></b></s>
diff --git a/third_party/WebKit/LayoutTests/editing/execCommand/toggle-style-2-expected.txt b/third_party/WebKit/LayoutTests/editing/execCommand/toggle-style-2-expected.txt
index 0bbd2724..1bf43e2f 100644
--- a/third_party/WebKit/LayoutTests/editing/execCommand/toggle-style-2-expected.txt
+++ b/third_party/WebKit/LayoutTests/editing/execCommand/toggle-style-2-expected.txt
@@ -4,7 +4,7 @@
 
 
 PASS one underline command converted test to <u>test</u>
-PASS one underline command converted <u><b><strike>test</strike></b></u> to <b><strike>test</strike></b>
+PASS one underline command converted <u><b><strike>test</strike></b></u> to <b style=""><strike style="">test</strike></b>
 PASS two underline commands converted test to test
 PASS one strikethrough command converted test to <strike>test</strike>
 PASS one strikethrough command converted <u><b><strike>test</strike></b></u> to <u><b>test</b></u>
diff --git a/third_party/WebKit/LayoutTests/editing/selection/mouse/click-left-of-rtl-wrapping-text.html b/third_party/WebKit/LayoutTests/editing/selection/mouse/click-left-of-rtl-wrapping-text.html
index 6fc5e24e..dc2b96f4 100644
--- a/third_party/WebKit/LayoutTests/editing/selection/mouse/click-left-of-rtl-wrapping-text.html
+++ b/third_party/WebKit/LayoutTests/editing/selection/mouse/click-left-of-rtl-wrapping-text.html
@@ -39,12 +39,12 @@
   assert_selection(
     '<div contenteditable dir="rtl">&#1498; &#1500;&#1499;</div>',
     selection => testClickLeft(selection, 2, 0),
-    '<div contenteditable dir="rtl">ך |לכ</div>');
+    '<div contenteditable dir="rtl" style>ך |לכ</div>');
 
   assert_selection(
     '<div contenteditable dir="rtl">&#1498; &#1500;&#1499;</div>',
     selection => testClickLeft(selection, 2, 1),
-    '<div contenteditable dir="rtl">ך לכ|</div>');
+    '<div contenteditable dir="rtl" style>ך לכ|</div>');
 
   assert_selection(
     [
@@ -54,7 +54,7 @@
     ].join(''),
     selection => testClickLeft(selection, 3, 0),
     [
-      '<div contenteditable dir="rtl">',
+      '<div contenteditable dir="rtl" style>',
         'ככ |ככככ כככ',
        '</div>'
     ].join(''));
@@ -67,7 +67,7 @@
     ].join(''),
     selection => testClickLeft(selection, 3, 1),
     [
-      '<div contenteditable dir="rtl">',
+      '<div contenteditable dir="rtl" style>',
         'ככ ככככ |כככ',
        '</div>'
     ].join(''));
@@ -80,7 +80,7 @@
     ].join(''),
     selection => testClickLeft(selection, 3, 2),
     [
-      '<div contenteditable dir="rtl">',
+      '<div contenteditable dir="rtl" style>',
         'ככ ככככ כככ|',
        '</div>'
     ].join(''));
@@ -93,7 +93,7 @@
     ].join(''),
     selection => testClickLeft(selection, 5, 0),
     [
-      '<div contenteditable dir="rtl">',
+      '<div contenteditable dir="rtl" style>',
         'גכ |יגכ יגכ יגכ יגכ',
        '</div>'
     ].join(''));
@@ -106,7 +106,7 @@
     ].join(''),
     selection => testClickLeft(selection, 5, 1),
     [
-      '<div contenteditable dir="rtl">',
+      '<div contenteditable dir="rtl" style>',
         'גכ יגכ |יגכ יגכ יגכ',
        '</div>'
     ].join(''));
@@ -119,7 +119,7 @@
     ].join(''),
     selection => testClickLeft(selection, 5, 2),
     [
-      '<div contenteditable dir="rtl">',
+      '<div contenteditable dir="rtl" style>',
         'גכ יגכ יגכ |יגכ יגכ',
        '</div>'
     ].join(''));
@@ -132,7 +132,7 @@
     ].join(''),
     selection => testClickLeft(selection, 5, 3),
     [
-      '<div contenteditable dir="rtl">',
+      '<div contenteditable dir="rtl" style>',
         'גכ יגכ יגכ יגכ |יגכ',
        '</div>'
     ].join(''));
@@ -145,10 +145,10 @@
     ].join(''),
     selection => testClickLeft(selection, 5, 4),
     [
-      '<div contenteditable dir="rtl">',
+      '<div contenteditable dir="rtl" style>',
         'גכ יגכ יגכ יגכ יגכ|',
        '</div>'
     ].join(''));
 
 }, 'This tests clicking on the left of RTL text puts the caret at the end of the line');
-</script>
\ No newline at end of file
+</script>
diff --git a/third_party/WebKit/LayoutTests/editing/spelling/spellcheck-async-mutation.html b/third_party/WebKit/LayoutTests/editing/spelling/spellcheck-async-mutation.html
index 11ae4fb..28d0196 100644
--- a/third_party/WebKit/LayoutTests/editing/spelling/spellcheck-async-mutation.html
+++ b/third_party/WebKit/LayoutTests/editing/spelling/spellcheck-async-mutation.html
@@ -5,7 +5,7 @@
 <script src="spellcheck_test.js"></script>
 <script>
 function runIdleTimeSpellCheckerIfNeeded(document) {
-  if (!window.internals || !internals.idleTimeSpellCheckerState)
+  if (!window.internals || !internals.runtimeFlags.idleTimeSpellCheckingEnabled)
     return;
   internals.runIdleTimeSpellChecker(document);
 }
diff --git a/third_party/WebKit/LayoutTests/editing/spelling/spellcheck-queue.html b/third_party/WebKit/LayoutTests/editing/spelling/spellcheck-queue.html
index 616148d..da0730286 100644
--- a/third_party/WebKit/LayoutTests/editing/spelling/spellcheck-queue.html
+++ b/third_party/WebKit/LayoutTests/editing/spelling/spellcheck-queue.html
@@ -6,7 +6,7 @@
 
 <script>
 function runIdleTimeSpellCheckerIfNeeded(document) {
-  if (!window.internals || !internals.idleTimeSpellCheckerState)
+  if (!window.internals || !internals.runtimeFlags.idleSpellCheckCallbackEnabled)
     return;
   internals.runIdleTimeSpellChecker(document);
 }
diff --git a/third_party/WebKit/LayoutTests/editing/spelling/spellcheck_test.js b/third_party/WebKit/LayoutTests/editing/spelling/spellcheck_test.js
index 86302b3..bfcee9a9 100644
--- a/third_party/WebKit/LayoutTests/editing/spelling/spellcheck_test.js
+++ b/third_party/WebKit/LayoutTests/editing/spelling/spellcheck_test.js
@@ -359,7 +359,7 @@
       });
     };
 
-    if (internals.idleTimeSpellCheckerState !== undefined) {
+    if (internals.runtimeFlags.idleTimeSpellCheckingEnabled) {
       if (internals.idleTimeSpellCheckerState(sample.document) === 'HotModeRequested')
         internals.runIdleTimeSpellChecker(sample.document);
       if (testObject.properties[kNeedsFullCheck]) {
diff --git a/third_party/WebKit/LayoutTests/editing/style/inline-style-container-expected.txt b/third_party/WebKit/LayoutTests/editing/style/inline-style-container-expected.txt
index 9f5720a..a985c1a6 100644
--- a/third_party/WebKit/LayoutTests/editing/style/inline-style-container-expected.txt
+++ b/third_party/WebKit/LayoutTests/editing/style/inline-style-container-expected.txt
@@ -12,8 +12,8 @@
 PASS fontName(Arial) on all of "<b><font face="Arial">hello</font></b> world" yields "<font face="Arial"><b>hello</b> world</font>"
 PASS fontName(Arial) on all of "<font color="blue">hello</font> world" yields "<font face="Arial"><font color="blue">hello</font> world</font>"
 PASS fontName(Arial) on all of "<b><u>hello</u> world</b>" yields "<b><font face="Arial"><u>hello</u> world</font></b>"
-PASS foreColor(blue) on all of "<font><u style="color:red;">hello</u></font>" yields "<font color="#0000ff"><u>hello</u></font>"
-PASS foreColor(rgba(0, 50, 100, 0.4)) on all of "<font><u style="color:red;">hello</u></font>" yields "<font color="rgba(0, 50, 100, 0.4)"><u>hello</u></font>"
+PASS foreColor(blue) on all of "<font><u style="color:red;">hello</u></font>" yields "<font color="#0000ff"><u style="">hello</u></font>"
+PASS foreColor(rgba(0, 50, 100, 0.4)) on all of "<font><u style="color:red;">hello</u></font>" yields "<font color="rgba(0, 50, 100, 0.4)"><u style="">hello</u></font>"
 PASS bold(null) on all of "<u><strike>hello</strike> <strike>world</strike></u>" yields "<u><b><strike>hello</strike> <strike>world</strike></b></u>"
 PASS bold(null) on all of "<i>hello</i> <b>world</b>" yields "<b><i>hello</i> world</b>"
 PASS bold(null) on all of "<strike><i><u>hello <b>world</b></u></i> webkit</strike>" yields "<strike><b><i><u>hello world</u></i> webkit</b></strike>"
diff --git a/third_party/WebKit/LayoutTests/editing/style/push-down-font-styles-mac-expected.txt b/third_party/WebKit/LayoutTests/editing/style/push-down-font-styles-mac-expected.txt
index d44fad5..3448041 100644
--- a/third_party/WebKit/LayoutTests/editing/style/push-down-font-styles-mac-expected.txt
+++ b/third_party/WebKit/LayoutTests/editing/style/push-down-font-styles-mac-expected.txt
@@ -8,40 +8,40 @@
 PASS fontsize 4 on all of "hello world" yields "<font size="4">hello world</font>"
 PASS fontsize 5 on first word of "hello world" yields "<font size="5">hello</font> world"
 PASS fontsize 3 on first word of "<font size="7">hello <div>world</div></font>" yields "hello <div style="font-size: -webkit-xxx-large;">world</div>"
-PASS fontsize 3 on first word of "<font size="7"><div>hello</div><div>world</div></font>" yields "<div>hello</div><div style="font-size: -webkit-xxx-large;">world</div>"
+PASS fontsize 3 on first word of "<font size="7"><div>hello</div><div>world</div></font>" yields "<div style="">hello</div><div style="font-size: -webkit-xxx-large;">world</div>"
 PASS fontsize 3 on second word of "<font size="7"><div>hello</div>world</font>" yields "<div style="font-size: -webkit-xxx-large;">hello</div>world"
 PASS fontsize 7 on all of "<font size="7"><div>hello</div>world</font>" yields "<font size="7"><div>hello</div>world</font>"
-PASS fontsize 7 on all of "<font size="3"><div>hello</div>world</font>" yields "<div><font size="7">hello</font></div><font size="7">world</font>"
-PASS fontsize 6 on all of "<font size="7"><div>hello</div>world</font>" yields "<div><font size="6">hello</font></div><font size="6">world</font>"
-PASS fontsize 5 on all of "<font size="7"><div>hello</div>world</font>" yields "<div><font size="5">hello</font></div><font size="5">world</font>"
-PASS fontsize 3 on all of "<font size="7"><div>hello</div>world</font>" yields "<div>hello</div>world"
+PASS fontsize 7 on all of "<font size="3"><div>hello</div>world</font>" yields "<div style=""><font size="7">hello</font></div><font size="7">world</font>"
+PASS fontsize 6 on all of "<font size="7"><div>hello</div>world</font>" yields "<div style=""><font size="6">hello</font></div><font size="6">world</font>"
+PASS fontsize 5 on all of "<font size="7"><div>hello</div>world</font>" yields "<div style=""><font size="5">hello</font></div><font size="5">world</font>"
+PASS fontsize 3 on all of "<font size="7"><div>hello</div>world</font>" yields "<div style="">hello</div>world"
 PASS fontsize 3 on all of "<font size="3"><div>hello</div>world</font>" yields "<font size="3"><div>hello</div>world</font>"
-PASS fontsize 1 on all of "<font size="3"><div>hello</div>world</font>" yields "<div><font size="1">hello</font></div><font size="1">world</font>"
+PASS fontsize 1 on all of "<font size="3"><div>hello</div>world</font>" yields "<div style=""><font size="1">hello</font></div><font size="1">world</font>"
 
 Font size (with CSS)
 PASS fontsize 7 on all of "<font size="7"><div>hello</div>world</font>" yields "<font size="7"><div>hello</div>world</font>"
-PASS fontsize 7 on all of "<font size="3"><div>hello</div>world</font>" yields "<div><span style="font-size: -webkit-xxx-large;">hello</span></div><span style="font-size: -webkit-xxx-large;">world</span>"
-PASS fontsize 6 on all of "<font size="7"><div>hello</div>world</font>" yields "<div><span style="font-size: xx-large;">hello</span></div><span style="font-size: xx-large;">world</span>"
-PASS fontsize 5 on all of "<font size="7"><div>hello</div>world</font>" yields "<div><span style="font-size: x-large;">hello</span></div><span style="font-size: x-large;">world</span>"
-PASS fontsize 3 on all of "<font size="7"><div>hello</div>world</font>" yields "<div>hello</div>world"
+PASS fontsize 7 on all of "<font size="3"><div>hello</div>world</font>" yields "<div style=""><span style="font-size: -webkit-xxx-large;">hello</span></div><span style="font-size: -webkit-xxx-large;">world</span>"
+PASS fontsize 6 on all of "<font size="7"><div>hello</div>world</font>" yields "<div style=""><span style="font-size: xx-large;">hello</span></div><span style="font-size: xx-large;">world</span>"
+PASS fontsize 5 on all of "<font size="7"><div>hello</div>world</font>" yields "<div style=""><span style="font-size: x-large;">hello</span></div><span style="font-size: x-large;">world</span>"
+PASS fontsize 3 on all of "<font size="7"><div>hello</div>world</font>" yields "<div style="">hello</div>world"
 PASS fontsize 3 on all of "<font size="3"><div>hello</div>world</font>" yields "<font size="3"><div>hello</div>world</font>"
-PASS fontsize 1 on all of "<font size="3"><div>hello</div>world</font>" yields "<div><span style="font-size: x-small;">hello</span></div><span style="font-size: x-small;">world</span>"
+PASS fontsize 1 on all of "<font size="3"><div>hello</div>world</font>" yields "<div style=""><span style="font-size: x-small;">hello</span></div><span style="font-size: x-small;">world</span>"
 
 Font family
 PASS fontname Arial on all of "hello world" yields "<font face="Arial">hello world</font>"
 PASS fontname Arial on first word of "<font face="sans-serif">hello world</font>" yields "<font face="Arial">hello</font><font face="sans-serif"> world</font>"
 PASS fontname Arial on first word of "<font face="sans-serif">hello<div>world</div></font>" yields "<font face="Arial">hello</font><div style="font-family: sans-serif;">world</div>"
-PASS fontname Arial on second word of "<font face="sans-serif">hello<div>world</div></font>" yields "<font face="sans-serif">hello</font><div><font face="Arial">world</font></div>"
+PASS fontname Arial on second word of "<font face="sans-serif">hello<div>world</div></font>" yields "<font face="sans-serif">hello</font><div style=""><font face="Arial">world</font></div>"
 PASS fontname Sans-Serif on all of "<font face="sans-serif"><div>hello</div><div>world</div></font>" yields "<font face="sans-serif"><div>hello</div><div>world</div></font>"
-PASS fontname Arial on all of "<font face="sans-serif"><div>hello</div><div>world</div></font>" yields "<div><font face="Arial">hello</font></div><div><font face="Arial">world</font></div>"
+FAIL fontname Arial on all of "<font face="sans-serif"><div>hello</div><div>world</div></font>" yields "<div style=""><font face="Arial">hello</font></div><div style=""><font face="Arial">world</font></div>", expected "<div><font face="Arial">hello</font></div><div><font face="Arial">world</font></div>"
 
 Font family (with CSS)
 PASS fontname Arial on all of "hello world" yields "<span style="font-family: Arial;">hello world</span>"
 PASS fontname Arial on first word of "<font face="sans-serif">hello world</font>" yields "<span style="font-family: Arial;">hello</span><font face="sans-serif"> world</font>"
 PASS fontname Arial on first word of "<font face="sans-serif">hello<div>world</div></font>" yields "<span style="font-family: Arial;">hello</span><div style="font-family: sans-serif;">world</div>"
-PASS fontname Arial on second word of "<font face="sans-serif">hello<div>world</div></font>" yields "<span style="font-family: sans-serif;">hello</span><div><span style="font-family: Arial;">world</span></div>"
+PASS fontname Arial on second word of "<font face="sans-serif">hello<div>world</div></font>" yields "<span style="font-family: sans-serif;">hello</span><div style=""><span style="font-family: Arial;">world</span></div>"
 PASS fontname Sans-Serif on all of "<font face="sans-serif"><div>hello</div><div>world</div></font>" yields "<font face="sans-serif"><div>hello</div><div>world</div></font>"
-PASS fontname Arial on all of "<font face="sans-serif"><div>hello</div><div>world</div></font>" yields "<div><span style="font-family: Arial;">hello</span></div><div><span style="font-family: Arial;">world</span></div>"
+FAIL fontname Arial on all of "<font face="sans-serif"><div>hello</div><div>world</div></font>" yields "<div style=""><span style="font-family: Arial;">hello</span></div><div style=""><span style="font-family: Arial;">world</span></div>", expected "<div><span style="font-family: Arial;">hello</span></div><div style=""><span style="font-family: Arial;">world</span></div>"
 PASS successfullyParsed is true
 
 TEST COMPLETE
diff --git a/third_party/WebKit/LayoutTests/editing/style/push-down-font-styles-win-expected.txt b/third_party/WebKit/LayoutTests/editing/style/push-down-font-styles-win-expected.txt
index f45386d..8be5693c 100644
--- a/third_party/WebKit/LayoutTests/editing/style/push-down-font-styles-win-expected.txt
+++ b/third_party/WebKit/LayoutTests/editing/style/push-down-font-styles-win-expected.txt
@@ -8,40 +8,40 @@
 PASS fontsize 4 on all of "hello world" yields "<font size="4">hello world</font>"
 PASS fontsize 5 on first word of "hello world" yields "<font size="5">hello </font>world"
 PASS fontsize 3 on first word of "<font size="7">hello <div>world</div></font>" yields "hello <div style="font-size: -webkit-xxx-large;">world</div>"
-PASS fontsize 3 on first word of "<font size="7"><div>hello</div><div>world</div></font>" yields "<div>hello</div><div style="font-size: -webkit-xxx-large;">world</div>"
+PASS fontsize 3 on first word of "<font size="7"><div>hello</div><div>world</div></font>" yields "<div style="">hello</div><div style="font-size: -webkit-xxx-large;">world</div>"
 PASS fontsize 3 on second word of "<font size="7"><div>hello</div>world</font>" yields "<div style="font-size: -webkit-xxx-large;">hello</div>world"
 PASS fontsize 7 on all of "<font size="7"><div>hello</div>world</font>" yields "<font size="7"><div>hello</div>world</font>"
-PASS fontsize 7 on all of "<font size="3"><div>hello</div>world</font>" yields "<div><font size="7">hello</font></div><font size="7">world</font>"
-PASS fontsize 6 on all of "<font size="7"><div>hello</div>world</font>" yields "<div><font size="6">hello</font></div><font size="6">world</font>"
-PASS fontsize 5 on all of "<font size="7"><div>hello</div>world</font>" yields "<div><font size="5">hello</font></div><font size="5">world</font>"
-PASS fontsize 3 on all of "<font size="7"><div>hello</div>world</font>" yields "<div>hello</div>world"
+PASS fontsize 7 on all of "<font size="3"><div>hello</div>world</font>" yields "<div style=""><font size="7">hello</font></div><font size="7">world</font>"
+PASS fontsize 6 on all of "<font size="7"><div>hello</div>world</font>" yields "<div style=""><font size="6">hello</font></div><font size="6">world</font>"
+PASS fontsize 5 on all of "<font size="7"><div>hello</div>world</font>" yields "<div style=""><font size="5">hello</font></div><font size="5">world</font>"
+PASS fontsize 3 on all of "<font size="7"><div>hello</div>world</font>" yields "<div style="">hello</div>world"
 PASS fontsize 3 on all of "<font size="3"><div>hello</div>world</font>" yields "<font size="3"><div>hello</div>world</font>"
-PASS fontsize 1 on all of "<font size="3"><div>hello</div>world</font>" yields "<div><font size="1">hello</font></div><font size="1">world</font>"
+PASS fontsize 1 on all of "<font size="3"><div>hello</div>world</font>" yields "<div style=""><font size="1">hello</font></div><font size="1">world</font>"
 
 Font size (with CSS)
 PASS fontsize 7 on all of "<font size="7"><div>hello</div>world</font>" yields "<font size="7"><div>hello</div>world</font>"
-PASS fontsize 7 on all of "<font size="3"><div>hello</div>world</font>" yields "<div><span style="font-size: -webkit-xxx-large;">hello</span></div><span style="font-size: -webkit-xxx-large;">world</span>"
-PASS fontsize 6 on all of "<font size="7"><div>hello</div>world</font>" yields "<div><span style="font-size: xx-large;">hello</span></div><span style="font-size: xx-large;">world</span>"
-PASS fontsize 5 on all of "<font size="7"><div>hello</div>world</font>" yields "<div><span style="font-size: x-large;">hello</span></div><span style="font-size: x-large;">world</span>"
-PASS fontsize 3 on all of "<font size="7"><div>hello</div>world</font>" yields "<div>hello</div>world"
+PASS fontsize 7 on all of "<font size="3"><div>hello</div>world</font>" yields "<div style=""><span style="font-size: -webkit-xxx-large;">hello</span></div><span style="font-size: -webkit-xxx-large;">world</span>"
+PASS fontsize 6 on all of "<font size="7"><div>hello</div>world</font>" yields "<div style=""><span style="font-size: xx-large;">hello</span></div><span style="font-size: xx-large;">world</span>"
+PASS fontsize 5 on all of "<font size="7"><div>hello</div>world</font>" yields "<div style=""><span style="font-size: x-large;">hello</span></div><span style="font-size: x-large;">world</span>"
+PASS fontsize 3 on all of "<font size="7"><div>hello</div>world</font>" yields "<div style="">hello</div>world"
 PASS fontsize 3 on all of "<font size="3"><div>hello</div>world</font>" yields "<font size="3"><div>hello</div>world</font>"
-PASS fontsize 1 on all of "<font size="3"><div>hello</div>world</font>" yields "<div><span style="font-size: x-small;">hello</span></div><span style="font-size: x-small;">world</span>"
+PASS fontsize 1 on all of "<font size="3"><div>hello</div>world</font>" yields "<div style=""><span style="font-size: x-small;">hello</span></div><span style="font-size: x-small;">world</span>"
 
 Font family
 PASS fontname Arial on all of "hello world" yields "<font face="Arial">hello world</font>"
 PASS fontname Arial on first word of "<font face="sans-serif">hello world</font>" yields "<font face="Arial">hello </font><font face="sans-serif">world</font>"
 PASS fontname Arial on first word of "<font face="sans-serif">hello<div>world</div></font>" yields "<font face="Arial">hello</font><div style="font-family: sans-serif;">world</div>"
-PASS fontname Arial on second word of "<font face="sans-serif">hello<div>world</div></font>" yields "<font face="sans-serif">hello</font><div><font face="Arial">world</font></div>"
+PASS fontname Arial on second word of "<font face="sans-serif">hello<div>world</div></font>" yields "<font face="sans-serif">hello</font><div style=""><font face="Arial">world</font></div>"
 PASS fontname Sans-Serif on all of "<font face="sans-serif"><div>hello</div><div>world</div></font>" yields "<font face="sans-serif"><div>hello</div><div>world</div></font>"
-PASS fontname Arial on all of "<font face="sans-serif"><div>hello</div><div>world</div></font>" yields "<div><font face="Arial">hello</font></div><div><font face="Arial">world</font></div>"
+FAIL fontname Arial on all of "<font face="sans-serif"><div>hello</div><div>world</div></font>" yields "<div style=""><font face="Arial">hello</font></div><div style=""><font face="Arial">world</font></div>", expected "<div><font face="Arial">hello</font></div><div><font face="Arial">world</font></div>"
 
 Font family (with CSS)
 PASS fontname Arial on all of "hello world" yields "<span style="font-family: Arial;">hello world</span>"
 PASS fontname Arial on first word of "<font face="sans-serif">hello world</font>" yields "<span style="font-family: Arial;">hello </span><font face="sans-serif">world</font>"
 PASS fontname Arial on first word of "<font face="sans-serif">hello<div>world</div></font>" yields "<span style="font-family: Arial;">hello</span><div style="font-family: sans-serif;">world</div>"
-PASS fontname Arial on second word of "<font face="sans-serif">hello<div>world</div></font>" yields "<span style="font-family: sans-serif;">hello</span><div><span style="font-family: Arial;">world</span></div>"
+PASS fontname Arial on second word of "<font face="sans-serif">hello<div>world</div></font>" yields "<span style="font-family: sans-serif;">hello</span><div style=""><span style="font-family: Arial;">world</span></div>"
 PASS fontname Sans-Serif on all of "<font face="sans-serif"><div>hello</div><div>world</div></font>" yields "<font face="sans-serif"><div>hello</div><div>world</div></font>"
-PASS fontname Arial on all of "<font face="sans-serif"><div>hello</div><div>world</div></font>" yields "<div><span style="font-family: Arial;">hello</span></div><div><span style="font-family: Arial;">world</span></div>"
+FAIL fontname Arial on all of "<font face="sans-serif"><div>hello</div><div>world</div></font>" yields "<div style=""><span style="font-family: Arial;">hello</span></div><div style=""><span style="font-family: Arial;">world</span></div>", expected "<div><span style="font-family: Arial;">hello</span></div><div style=""><span style="font-family: Arial;">world</span></div>"
 PASS successfullyParsed is true
 
 TEST COMPLETE
diff --git a/third_party/WebKit/LayoutTests/editing/style/push-down-implicit-styles-around-list-mac-expected.txt b/third_party/WebKit/LayoutTests/editing/style/push-down-implicit-styles-around-list-mac-expected.txt
index a771cfc..9dc3ca1 100644
--- a/third_party/WebKit/LayoutTests/editing/style/push-down-implicit-styles-around-list-mac-expected.txt
+++ b/third_party/WebKit/LayoutTests/editing/style/push-down-implicit-styles-around-list-mac-expected.txt
@@ -3,22 +3,22 @@
 On success, you will see a series of "PASS" messages, followed by "TEST COMPLETE".
 
 
-PASS bold on first word of <b><ul><li><b>a</b></li></ul></b> yields <ul><li>a</li></ul>
-PASS bold on first word of <b><ul><li>hello</li><li>world</li></ul></b> yields <ul><li>hello</li><li style="font-weight: bold;">world</li></ul>
-PASS bold on last word of <ul><li>hello</li><li style="font-weight: bold;">world</li></ul> yields <ul><li>hello</li><li>world</li></ul>
-PASS bold on first word of <b><ul><li>hello world</li><li>webkit</li></ul></b> yields <ul><li>hello<b> world</b></li><li style="font-weight: bold;">webkit</li></ul>
-PASS italic on first word of <i><ul><li><i>a</i></li></ul></i> yields <ul><li>a</li></ul>
-PASS italic on first word of <i><ul><li>hello</li><li>world</li></ul></i> yields <ul><li>hello</li><li style="font-style: italic;">world</li></ul>
-PASS italic on last word of <ul><li>hello</li><li style="font-style: italic;">world</li></ul> yields <ul><li>hello</li><li>world</li></ul>
-PASS italic on first word of <i><ul><li>hello world</li><li>webkit</li></ul></i> yields <ul><li>hello<i> world</i></li><li style="font-style: italic;">webkit</li></ul>
-PASS underline on first word of <u><ul><li><u>a</u></li></ul></u> yields <ul><li>a</li></ul>
-PASS underline on first word of <u><ul><li>hello</li><li>world</li></ul></u> yields <ul><li>hello</li><li style="text-decoration-line: underline;">world</li></ul>
-PASS underline on last word of <ul><li>hello</li><li style="text-decoration: underline;">world</li></ul> yields <ul><li>hello</li><li>world</li></ul>
-PASS underline on first word of <u><ul><li>hello world</li><li>webkit</li></ul></u> yields <ul><li>hello<u> world</u></li><li style="text-decoration-line: underline;">webkit</li></ul>
-PASS strikethrough on first word of <strike><ul><li><strike>a</strike></li></ul></strike> yields <ul><li>a</li></ul>
-PASS strikethrough on first word of <strike><ul><li>hello</li><li>world</li></ul></strike> yields <ul><li>hello</li><li style="text-decoration-line: line-through;">world</li></ul>
-PASS strikethrough on last word of <ul><li>hello</li><li style="text-decoration: line-through;">world</li></ul> yields <ul><li>hello</li><li>world</li></ul>
-PASS strikethrough on first word of <strike><ul><li>hello world</li><li>webkit</li></ul></strike> yields <ul><li>hello<strike> world</strike></li><li style="text-decoration-line: line-through;">webkit</li></ul>
+PASS bold on first word of <b><ul><li><b>a</b></li></ul></b> yields <ul style=""><li style="">a</li></ul>
+PASS bold on first word of <b><ul><li>hello</li><li>world</li></ul></b> yields <ul style=""><li style="">hello</li><li style="font-weight: bold;">world</li></ul>
+PASS bold on last word of <ul><li>hello</li><li style="font-weight: bold;">world</li></ul> yields <ul><li>hello</li><li style="">world</li></ul>
+PASS bold on first word of <b><ul><li>hello world</li><li>webkit</li></ul></b> yields <ul style=""><li style="">hello<b> world</b></li><li style="font-weight: bold;">webkit</li></ul>
+PASS italic on first word of <i><ul><li><i>a</i></li></ul></i> yields <ul style=""><li style="">a</li></ul>
+PASS italic on first word of <i><ul><li>hello</li><li>world</li></ul></i> yields <ul style=""><li style="">hello</li><li style="font-style: italic;">world</li></ul>
+PASS italic on last word of <ul><li>hello</li><li style="font-style: italic;">world</li></ul> yields <ul><li>hello</li><li style="">world</li></ul>
+PASS italic on first word of <i><ul><li>hello world</li><li>webkit</li></ul></i> yields <ul style=""><li style="">hello<i> world</i></li><li style="font-style: italic;">webkit</li></ul>
+PASS underline on first word of <u><ul><li><u>a</u></li></ul></u> yields <ul style=""><li style="">a</li></ul>
+PASS underline on first word of <u><ul><li>hello</li><li>world</li></ul></u> yields <ul style=""><li style="">hello</li><li style="text-decoration-line: underline;">world</li></ul>
+PASS underline on last word of <ul><li>hello</li><li style="text-decoration: underline;">world</li></ul> yields <ul><li>hello</li><li style="">world</li></ul>
+PASS underline on first word of <u><ul><li>hello world</li><li>webkit</li></ul></u> yields <ul style=""><li style="">hello<u> world</u></li><li style="text-decoration-line: underline;">webkit</li></ul>
+PASS strikethrough on first word of <strike><ul><li><strike>a</strike></li></ul></strike> yields <ul style=""><li style="">a</li></ul>
+PASS strikethrough on first word of <strike><ul><li>hello</li><li>world</li></ul></strike> yields <ul style=""><li style="">hello</li><li style="text-decoration-line: line-through;">world</li></ul>
+PASS strikethrough on last word of <ul><li>hello</li><li style="text-decoration: line-through;">world</li></ul> yields <ul><li>hello</li><li style="">world</li></ul>
+PASS strikethrough on first word of <strike><ul><li>hello world</li><li>webkit</li></ul></strike> yields <ul style=""><li style="">hello<strike> world</strike></li><li style="text-decoration-line: line-through;">webkit</li></ul>
 PASS successfullyParsed is true
 
 TEST COMPLETE
diff --git a/third_party/WebKit/LayoutTests/editing/style/push-down-implicit-styles-around-list-win-expected.txt b/third_party/WebKit/LayoutTests/editing/style/push-down-implicit-styles-around-list-win-expected.txt
index 17364ac..984c09ab 100644
--- a/third_party/WebKit/LayoutTests/editing/style/push-down-implicit-styles-around-list-win-expected.txt
+++ b/third_party/WebKit/LayoutTests/editing/style/push-down-implicit-styles-around-list-win-expected.txt
@@ -3,22 +3,22 @@
 On success, you will see a series of "PASS" messages, followed by "TEST COMPLETE".
 
 
-PASS bold on first word of <b><ul><li><b>a</b></li></ul></b> yields <ul><li>a</li></ul>
-PASS bold on first word of <b><ul><li>hello</li><li>world</li></ul></b> yields <ul><li>hello</li><li style="font-weight: bold;">world</li></ul>
-PASS bold on last word of <ul><li>hello</li><li style="font-weight: bold;">world</li></ul> yields <ul><li>hello</li><li>world</li></ul>
-PASS bold on first word of <b><ul><li>hello world</li><li>webkit</li></ul></b> yields <ul><li>hello <b>world</b></li><li style="font-weight: bold;">webkit</li></ul>
-PASS italic on first word of <i><ul><li><i>a</i></li></ul></i> yields <ul><li>a</li></ul>
-PASS italic on first word of <i><ul><li>hello</li><li>world</li></ul></i> yields <ul><li>hello</li><li style="font-style: italic;">world</li></ul>
-PASS italic on last word of <ul><li>hello</li><li style="font-style: italic;">world</li></ul> yields <ul><li>hello</li><li>world</li></ul>
-PASS italic on first word of <i><ul><li>hello world</li><li>webkit</li></ul></i> yields <ul><li>hello <i>world</i></li><li style="font-style: italic;">webkit</li></ul>
-PASS underline on first word of <u><ul><li><u>a</u></li></ul></u> yields <ul><li>a</li></ul>
-PASS underline on first word of <u><ul><li>hello</li><li>world</li></ul></u> yields <ul><li>hello</li><li style="text-decoration-line: underline;">world</li></ul>
-PASS underline on last word of <ul><li>hello</li><li style="text-decoration: underline;">world</li></ul> yields <ul><li>hello</li><li>world</li></ul>
-PASS underline on first word of <u><ul><li>hello world</li><li>webkit</li></ul></u> yields <ul><li>hello <u>world</u></li><li style="text-decoration-line: underline;">webkit</li></ul>
-PASS strikethrough on first word of <strike><ul><li><strike>a</strike></li></ul></strike> yields <ul><li>a</li></ul>
-PASS strikethrough on first word of <strike><ul><li>hello</li><li>world</li></ul></strike> yields <ul><li>hello</li><li style="text-decoration-line: line-through;">world</li></ul>
-PASS strikethrough on last word of <ul><li>hello</li><li style="text-decoration: line-through;">world</li></ul> yields <ul><li>hello</li><li>world</li></ul>
-PASS strikethrough on first word of <strike><ul><li>hello world</li><li>webkit</li></ul></strike> yields <ul><li>hello <strike>world</strike></li><li style="text-decoration-line: line-through;">webkit</li></ul>
+PASS bold on first word of <b><ul><li><b>a</b></li></ul></b> yields <ul style=""><li style="">a</li></ul>
+PASS bold on first word of <b><ul><li>hello</li><li>world</li></ul></b> yields <ul style=""><li style="">hello</li><li style="font-weight: bold;">world</li></ul>
+PASS bold on last word of <ul><li>hello</li><li style="font-weight: bold;">world</li></ul> yields <ul><li>hello</li><li style="">world</li></ul>
+PASS bold on first word of <b><ul><li>hello world</li><li>webkit</li></ul></b> yields <ul style=""><li style="">hello <b>world</b></li><li style="font-weight: bold;">webkit</li></ul>
+PASS italic on first word of <i><ul><li><i>a</i></li></ul></i> yields <ul style=""><li style="">a</li></ul>
+PASS italic on first word of <i><ul><li>hello</li><li>world</li></ul></i> yields <ul style=""><li style="">hello</li><li style="font-style: italic;">world</li></ul>
+PASS italic on last word of <ul><li>hello</li><li style="font-style: italic;">world</li></ul> yields <ul><li>hello</li><li style="">world</li></ul>
+PASS italic on first word of <i><ul><li>hello world</li><li>webkit</li></ul></i> yields <ul style=""><li style="">hello <i>world</i></li><li style="font-style: italic;">webkit</li></ul>
+PASS underline on first word of <u><ul><li><u>a</u></li></ul></u> yields <ul style=""><li style="">a</li></ul>
+PASS underline on first word of <u><ul><li>hello</li><li>world</li></ul></u> yields <ul style=""><li style="">hello</li><li style="text-decoration-line: underline;">world</li></ul>
+PASS underline on last word of <ul><li>hello</li><li style="text-decoration: underline;">world</li></ul> yields <ul><li>hello</li><li style="">world</li></ul>
+PASS underline on first word of <u><ul><li>hello world</li><li>webkit</li></ul></u> yields <ul style=""><li style="">hello <u>world</u></li><li style="text-decoration-line: underline;">webkit</li></ul>
+PASS strikethrough on first word of <strike><ul><li><strike>a</strike></li></ul></strike> yields <ul style=""><li style="">a</li></ul>
+PASS strikethrough on first word of <strike><ul><li>hello</li><li>world</li></ul></strike> yields <ul style=""><li style="">hello</li><li style="text-decoration-line: line-through;">world</li></ul>
+PASS strikethrough on last word of <ul><li>hello</li><li style="text-decoration: line-through;">world</li></ul> yields <ul><li>hello</li><li style="">world</li></ul>
+PASS strikethrough on first word of <strike><ul><li>hello world</li><li>webkit</li></ul></strike> yields <ul style=""><li style="">hello <strike>world</strike></li><li style="text-decoration-line: line-through;">webkit</li></ul>
 PASS successfullyParsed is true
 
 TEST COMPLETE
diff --git a/third_party/WebKit/LayoutTests/editing/style/push-down-implicit-styles-mac-expected.txt b/third_party/WebKit/LayoutTests/editing/style/push-down-implicit-styles-mac-expected.txt
index fa28313..725ff3c8 100644
--- a/third_party/WebKit/LayoutTests/editing/style/push-down-implicit-styles-mac-expected.txt
+++ b/third_party/WebKit/LayoutTests/editing/style/push-down-implicit-styles-mac-expected.txt
@@ -3,27 +3,27 @@
 On success, you will see a series of "PASS" messages, followed by "TEST COMPLETE".
 
 
-PASS bold on first word of <b><div>hello</div> world</b> yields <div>hello</div><b> world</b>
-PASS bold on first word of <b><div>hello</div>world</b> yields <div>hello</div><b>world</b>
-PASS bold on first word of <b><div>hello</div><em>world</em></b> yields <div>hello</div><em style="font-weight: bold;">world</em>
-PASS bold on second word of <b>hello <div>world</div></b> yields <b>hello </b><div>world</div>
-PASS bold on second word of <b><em>hello</em> <div>world</div></b> yields <em style="font-weight: bold;">hello</em> <div>world</div>
-PASS bold on all of <b> <div>text</div> </b> yields  <div>text</div> 
-PASS bold on all of <b><strike><div>text</div></strike></b> yields <strike><div>text</div></strike>
-PASS bold on first word of <b><div>hello</div><div>world</div></b> yields <div>hello</div><div style="font-weight: bold;">world</div>
-PASS bold on first word of <b><div>hello</div><div style="font-weight: normal;">world</div>webkit</b> yields <div>hello</div><div style="font-weight: normal;">world</div><b>webkit</b>
+PASS bold on first word of <b><div>hello</div> world</b> yields <div style="">hello</div><b> world</b>
+PASS bold on first word of <b><div>hello</div>world</b> yields <div style="">hello</div><b>world</b>
+PASS bold on first word of <b><div>hello</div><em>world</em></b> yields <div style="">hello</div><em style="font-weight: bold;">world</em>
+PASS bold on second word of <b>hello <div>world</div></b> yields <b>hello </b><div style="">world</div>
+PASS bold on second word of <b><em>hello</em> <div>world</div></b> yields <em style="font-weight: bold;">hello</em> <div style="">world</div>
+PASS bold on all of <b> <div>text</div> </b> yields  <div style="">text</div> 
+PASS bold on all of <b><strike><div>text</div></strike></b> yields <strike style=""><div style="">text</div></strike>
+PASS bold on first word of <b><div>hello</div><div>world</div></b> yields <div style="">hello</div><div style="font-weight: bold;">world</div>
+PASS bold on first word of <b><div>hello</div><div style="font-weight: normal;">world</div>webkit</b> yields <div style="">hello</div><div style="font-weight: normal;">world</div><b>webkit</b>
 PASS bold on second word of <b style="font-style: italic;">hello world</b> yields <b style="font-style: italic;">hello</b><span style="font-style: italic;"> world</span>
-PASS underline on second word of <u>hello <b>world</b> webkit</u> yields <u>hello</u> <b>world</b><u> webkit</u>
-PASS underline on last two words of <u>hello <b>world</b> webkit</u> yields <u>hello </u><b>world</b> webkit
-PASS underline on last two words of <u>hello <b>world webkit</b></u> yields <u>hello </u><b>world webkit</b>
-PASS underline on second word of <u>hello <b>world webkit</b></u> yields <u>hello</u> <b>world<u> webkit</u></b>
-PASS underline on second word of <u><b>hello world</b> webkit</u> yields <b><u>hello</u> world</b><u> webkit</u>
-PASS underline on second word of <u><strike>hello world</strike></u> yields <strike><u>hello</u> world</strike>
-PASS underline on second word of <u><strike>hello world webkit</strike></u> yields <strike><u>hello</u> world<u> webkit</u></strike>
-PASS underline on second word of <u><strike>hello world</strike> webkit</u> yields <strike><u>hello</u> world</strike><u> webkit</u>
-PASS underline on second word of <u>hello <em><code>world webkit</code></em> rocks</u> yields <u>hello</u> <em><code>world<u> webkit</u></code></em><u> rocks</u>
+PASS underline on second word of <u>hello <b>world</b> webkit</u> yields <u>hello</u> <b style="">world</b><u> webkit</u>
+PASS underline on last two words of <u>hello <b>world</b> webkit</u> yields <u>hello </u><b style="">world</b> webkit
+PASS underline on last two words of <u>hello <b>world webkit</b></u> yields <u>hello </u><b style="">world webkit</b>
+PASS underline on second word of <u>hello <b>world webkit</b></u> yields <u>hello</u> <b style="">world<u> webkit</u></b>
+PASS underline on second word of <u><b>hello world</b> webkit</u> yields <b style=""><u>hello</u> world</b><u> webkit</u>
+PASS underline on second word of <u><strike>hello world</strike></u> yields <strike style=""><u>hello</u> world</strike>
+PASS underline on second word of <u><strike>hello world webkit</strike></u> yields <strike style=""><u>hello</u> world<u> webkit</u></strike>
+PASS underline on second word of <u><strike>hello world</strike> webkit</u> yields <strike style=""><u>hello</u> world</strike><u> webkit</u>
+PASS underline on second word of <u>hello <em><code>world webkit</code></em> rocks</u> yields <u>hello</u> <em style=""><code style="">world<u> webkit</u></code></em><u> rocks</u>
 PASS strikeThrough on all of <s style="color: blue;">hello world</strike> yields <span style="color: blue;">hello world</span>
-PASS strikeThrough on first word of <s style="color: blue;"><div>hello</div> <b>world</b> webkit</strike> yields <span style="color: blue;"><div>hello</div> <b style="text-decoration-line: line-through;">world</b><strike> webkit</strike></span>
+PASS strikeThrough on first word of <s style="color: blue;"><div>hello</div> <b>world</b> webkit</strike> yields <span style="color: blue;"><div style="">hello</div> <b style="text-decoration-line: line-through;">world</b><strike> webkit</strike></span>
 PASS successfullyParsed is true
 
 TEST COMPLETE
diff --git a/third_party/WebKit/LayoutTests/editing/style/push-down-inline-styles-expected.txt b/third_party/WebKit/LayoutTests/editing/style/push-down-inline-styles-expected.txt
index 9691940..7e9b13dc 100644
--- a/third_party/WebKit/LayoutTests/editing/style/push-down-inline-styles-expected.txt
+++ b/third_party/WebKit/LayoutTests/editing/style/push-down-inline-styles-expected.txt
@@ -3,25 +3,25 @@
 On success, you will see a series of "PASS" messages, followed by "TEST COMPLETE".
 
 
-PASS bold converted <span style="font-weight: 900;"> <div>text</div> </span> to  <div>text</div> 
-PASS bold converted <span style="font-weight: 900;"><div>text</div></span> to <div>text</div>
-PASS bold converted <span style="font-weight: 900;"><div id="test">hello</div><div>world</div></span> to <div id="test">hello</div><div style="font-weight: 900;">world</div>
-PASS bold converted <div style="font-weight: bold;">hello<div id="test">world</div></div> to <div><b>hello</b><div id="test">world</div></div>
-PASS bold converted <span style="font-weight: bold;">hello<span id="test">world</div></div> to <b>hello</b><span id="test">world</span>
-PASS bold converted <span style="font-style: italic; font-weight: bold;">hello<span id="test">world</div></div> to <span style="font-style: italic;"><b>hello</b><span id="test">world</span></span>
-FAIL bold converted <span style="font-weight: bold;"><div id="test">hello</div><div style="font-weight: normal;"><div>world</div>webkit</div> to <div id="test">hello</div><div style="font-weight: normal;"><div>world</div>webkit</div>, expected <div id="test">hello</div><div>world</div>webkit
-PASS italic converted <span style="font-style: italic;"><div>hello</div></span> to <div>hello</div>
-PASS italic converted <span style="font-style: italic;"><div id="test">hello</div><span style="font-style: oblique;">world</span> to <div id="test">hello</div><span style="font-style: oblique;">world</span>
-PASS italic converted <span style="font-style: italic; font-weight: bold;"><div>hello</div></span> to <span style="font-weight: bold;"><div>hello</div></span>
-PASS italic converted <span style="font-style: italic; text-decoration: line-through;"><div>hello</div></span> to <span style="text-decoration: line-through;"><div>hello</div></span>
-PASS italic converted <span style="font-style: italic;">hello<div id="test">world</div><blockquote>webkit</blockquote></span> to <i>hello</i><div id="test">world</div><blockquote style="font-style: italic;">webkit</blockquote>
-PASS italic converted <span style="font-style: italic;">hello <span id="test">world</span> webkit</span> to <i>hello </i><span id="test">world</span><i> webkit</i>
-PASS underline converted <span style="text-decoration: underline;"><div id="test">hello</div>world</span> to <div id="test">hello</div><u>world</u>
-PASS underline converted <span style="text-decoration: underline;"><div id="test">hello</div><blockquote>world<br>webkit</blockquote></span> to <div id="test">hello</div><blockquote style="text-decoration-line: underline;">world<br>webkit</blockquote>
-PASS underline converted <span style="text-decoration: underline;">hello<div id="test">world</div>webkit</u> to <u>hello</u><div id="test">world</div><u>webkit</u>
-FAIL underline converted <div style="text-decoration: underline;"><div>hello</span></div><div id="test">webkit</div><span style="font-style: italic;">rocks</span> to <div><div style="text-decoration-line: underline;">hello</div><div id="test">webkit</div><span style="text-decoration-line: underline; font-style: italic;">rocks</span></div>, expected <div><div style="text-decoration-line: underline;">hello</span></div><div id="test">webkit</div><u><span style="font-style: italic;">rocks</span></u></div>
-PASS underline converted <span style="text-decoration-line: underline;"><div style="text-decoration-line: line-through;">hello</div><div id="test">world</div></span> to <div style="text-decoration-line: underline line-through;">hello</div><div id="test">world</div>
-PASS strikeThrough converted <span style="text-decoration-line: line-through;"><div id="test">hello</div><div style="text-decoration-line: underline;">world</div></span> to <div id="test">hello</div><div style="text-decoration-line: line-through underline;">world</div>
+PASS bold converted <span style="font-weight: 900;"> <div>text</div> </span> to  <div style="">text</div> 
+PASS bold converted <span style="font-weight: 900;"><div>text</div></span> to <div style="">text</div>
+PASS bold converted <span style="font-weight: 900;"><div id="test">hello</div><div>world</div></span> to <div id="test" style="">hello</div><div style="font-weight: 900;">world</div>
+PASS bold converted <div style="font-weight: bold;">hello<div id="test">world</div></div> to <div style=""><b>hello</b><div id="test" style="">world</div></div>
+PASS bold converted <span style="font-weight: bold;">hello<span id="test">world</div></div> to <b>hello</b><span id="test" style="">world</span>
+PASS bold converted <span style="font-style: italic; font-weight: bold;">hello<span id="test">world</div></div> to <span style="font-style: italic;"><b>hello</b><span id="test" style="">world</span></span>
+FAIL bold converted <span style="font-weight: bold;"><div id="test">hello</div><div style="font-weight: normal;"><div>world</div>webkit</div> to <div id="test" style="">hello</div><div style="font-weight: normal;"><div>world</div>webkit</div>, expected <div id="test">hello</div><div>world</div>webkit
+PASS italic converted <span style="font-style: italic;"><div>hello</div></span> to <div style="">hello</div>
+PASS italic converted <span style="font-style: italic;"><div id="test">hello</div><span style="font-style: oblique;">world</span> to <div id="test" style="">hello</div><span style="font-style: oblique;">world</span>
+PASS italic converted <span style="font-style: italic; font-weight: bold;"><div>hello</div></span> to <span style="font-weight: bold;"><div style="">hello</div></span>
+PASS italic converted <span style="font-style: italic; text-decoration: line-through;"><div>hello</div></span> to <span style="text-decoration: line-through;"><div style="">hello</div></span>
+PASS italic converted <span style="font-style: italic;">hello<div id="test">world</div><blockquote>webkit</blockquote></span> to <i>hello</i><div id="test" style="">world</div><blockquote style="font-style: italic;">webkit</blockquote>
+PASS italic converted <span style="font-style: italic;">hello <span id="test">world</span> webkit</span> to <i>hello </i><span id="test" style="">world</span><i> webkit</i>
+PASS underline converted <span style="text-decoration: underline;"><div id="test">hello</div>world</span> to <div id="test" style="">hello</div><u>world</u>
+PASS underline converted <span style="text-decoration: underline;"><div id="test">hello</div><blockquote>world<br>webkit</blockquote></span> to <div id="test" style="">hello</div><blockquote style="text-decoration-line: underline;">world<br>webkit</blockquote>
+PASS underline converted <span style="text-decoration: underline;">hello<div id="test">world</div>webkit</u> to <u>hello</u><div id="test" style="">world</div><u>webkit</u>
+FAIL underline converted <div style="text-decoration: underline;"><div>hello</span></div><div id="test">webkit</div><span style="font-style: italic;">rocks</span> to <div style=""><div style="text-decoration-line: underline;">hello</div><div id="test" style="">webkit</div><span style="text-decoration-line: underline; font-style: italic;">rocks</span></div>, expected <div><div style="text-decoration-line: underline;">hello</span></div><div id="test" style="">webkit</div><u><span style="font-style: italic;">rocks</span></u></div>
+PASS underline converted <span style="text-decoration-line: underline;"><div style="text-decoration-line: line-through;">hello</div><div id="test">world</div></span> to <div style="text-decoration-line: underline line-through;">hello</div><div id="test" style="">world</div>
+PASS strikeThrough converted <span style="text-decoration-line: line-through;"><div id="test">hello</div><div style="text-decoration-line: underline;">world</div></span> to <div id="test" style="">hello</div><div style="text-decoration-line: line-through underline;">world</div>
 PASS successfullyParsed is true
 
 TEST COMPLETE
diff --git a/third_party/WebKit/LayoutTests/editing/style/script-tests/inline-style-container.js b/third_party/WebKit/LayoutTests/editing/style/script-tests/inline-style-container.js
index 0cd5bba..1afe6c7a 100644
--- a/third_party/WebKit/LayoutTests/editing/style/script-tests/inline-style-container.js
+++ b/third_party/WebKit/LayoutTests/editing/style/script-tests/inline-style-container.js
@@ -27,8 +27,8 @@
 testSingleToggle("fontName", "Arial", '<b><font face="Arial">hello</font></b> world', '<font face="Arial"><b>hello</b> world</font>');
 testSingleToggle("fontName", "Arial", '<font color="blue">hello</font> world', '<font face="Arial"><font color="blue">hello</font> world</font>');
 testSingleToggle("fontName", "Arial", '<b><u>hello</u> world</b>', '<b><font face="Arial"><u>hello</u> world</font></b>');
-testSingleToggle("foreColor", 'blue', '<font><u style="color:red;">hello</u></font>', '<font color="#0000ff"><u>hello</u></font>');
-testSingleToggle("foreColor", 'rgba(0, 50, 100, 0.4)', '<font><u style="color:red;">hello</u></font>', '<font color="rgba(0, 50, 100, 0.4)"><u>hello</u></font>');
+testSingleToggle("foreColor", 'blue', '<font><u style="color:red;">hello</u></font>', '<font color="#0000ff"><u style="">hello</u></font>');
+testSingleToggle("foreColor", 'rgba(0, 50, 100, 0.4)', '<font><u style="color:red;">hello</u></font>', '<font color="rgba(0, 50, 100, 0.4)"><u style="">hello</u></font>');
 testSingleToggle("bold", null, '<u><strike>hello</strike> <strike>world</strike></u>', '<u><b><strike>hello</strike> <strike>world</strike></b></u>');
 testSingleToggle("bold", null, '<i>hello</i> <b>world</b>', '<b><i>hello</i> world</b>');
 testSingleToggle("bold", null, '<strike><i><u>hello <b>world</b></u></i> webkit</strike>', '<strike><b><i><u>hello world</u></i> webkit</b></strike>');
diff --git a/third_party/WebKit/LayoutTests/editing/style/script-tests/push-down-font-styles-mac.js b/third_party/WebKit/LayoutTests/editing/style/script-tests/push-down-font-styles-mac.js
index 74a774c9..0187346 100644
--- a/third_party/WebKit/LayoutTests/editing/style/script-tests/push-down-font-styles-mac.js
+++ b/third_party/WebKit/LayoutTests/editing/style/script-tests/push-down-font-styles-mac.js
@@ -58,27 +58,27 @@
 testSingleToggle("fontsize", 4, selectAll, 'hello world', '<font size="4">hello world</font>');
 testSingleToggle("fontsize", 5, selectFirstWord, 'hello world', '<font size="5">hello</font> world');
 testSingleToggle("fontsize", 3, selectFirstWord, '<font size="7">hello <div>world</div></font>', 'hello <div style="font-size: -webkit-xxx-large;">world</div>');
-testSingleToggle("fontsize", 3, selectFirstWord, '<font size="7"><div>hello</div><div>world</div></font>', '<div>hello</div><div style="font-size: -webkit-xxx-large;">world</div>');
+testSingleToggle("fontsize", 3, selectFirstWord, '<font size="7"><div>hello</div><div>world</div></font>', '<div style="">hello</div><div style="font-size: -webkit-xxx-large;">world</div>');
 testSingleToggle("fontsize", 3, selectSecondWord, '<font size="7"><div>hello</div>world</font>', '<div style="font-size: -webkit-xxx-large;">hello</div>world');
 
 testSingleToggle("fontsize", 7, selectAll, '<font size="7"><div>hello</div>world</font>', '<font size="7"><div>hello</div>world</font>');
-testSingleToggle("fontsize", 7, selectAll, '<font size="3"><div>hello</div>world</font>', '<div><font size="7">hello</font></div><font size="7">world</font>');
-testSingleToggle("fontsize", 6, selectAll, '<font size="7"><div>hello</div>world</font>', '<div><font size="6">hello</font></div><font size="6">world</font>');
-testSingleToggle("fontsize", 5, selectAll, '<font size="7"><div>hello</div>world</font>', '<div><font size="5">hello</font></div><font size="5">world</font>');
-testSingleToggle("fontsize", 3, selectAll, '<font size="7"><div>hello</div>world</font>', '<div>hello</div>world');
+testSingleToggle("fontsize", 7, selectAll, '<font size="3"><div>hello</div>world</font>', '<div style=""><font size="7">hello</font></div><font size="7">world</font>');
+testSingleToggle("fontsize", 6, selectAll, '<font size="7"><div>hello</div>world</font>', '<div style=""><font size="6">hello</font></div><font size="6">world</font>');
+testSingleToggle("fontsize", 5, selectAll, '<font size="7"><div>hello</div>world</font>', '<div style=""><font size="5">hello</font></div><font size="5">world</font>');
+testSingleToggle("fontsize", 3, selectAll, '<font size="7"><div>hello</div>world</font>', '<div style="">hello</div>world');
 testSingleToggle("fontsize", 3, selectAll, '<font size="3"><div>hello</div>world</font>', '<font size="3"><div>hello</div>world</font>');
-testSingleToggle("fontsize", 1, selectAll, '<font size="3"><div>hello</div>world</font>', '<div><font size="1">hello</font></div><font size="1">world</font>');
+testSingleToggle("fontsize", 1, selectAll, '<font size="3"><div>hello</div>world</font>', '<div style=""><font size="1">hello</font></div><font size="1">world</font>');
 
 debug("");
 debug("Font size (with CSS)");
 styleWithCSS = true;
 testSingleToggle("fontsize", 7, selectAll, '<font size="7"><div>hello</div>world</font>', '<font size="7"><div>hello</div>world</font>');
-testSingleToggle("fontsize", 7, selectAll, '<font size="3"><div>hello</div>world</font>', '<div><span style="font-size: -webkit-xxx-large;">hello</span></div><span style="font-size: -webkit-xxx-large;">world</span>');
-testSingleToggle("fontsize", 6, selectAll, '<font size="7"><div>hello</div>world</font>', '<div><span style="font-size: xx-large;">hello</span></div><span style="font-size: xx-large;">world</span>');
-testSingleToggle("fontsize", 5, selectAll, '<font size="7"><div>hello</div>world</font>', '<div><span style="font-size: x-large;">hello</span></div><span style="font-size: x-large;">world</span>');
-testSingleToggle("fontsize", 3, selectAll, '<font size="7"><div>hello</div>world</font>', '<div>hello</div>world');
+testSingleToggle("fontsize", 7, selectAll, '<font size="3"><div>hello</div>world</font>', '<div style=""><span style="font-size: -webkit-xxx-large;">hello</span></div><span style="font-size: -webkit-xxx-large;">world</span>');
+testSingleToggle("fontsize", 6, selectAll, '<font size="7"><div>hello</div>world</font>', '<div style=""><span style="font-size: xx-large;">hello</span></div><span style="font-size: xx-large;">world</span>');
+testSingleToggle("fontsize", 5, selectAll, '<font size="7"><div>hello</div>world</font>', '<div style=""><span style="font-size: x-large;">hello</span></div><span style="font-size: x-large;">world</span>');
+testSingleToggle("fontsize", 3, selectAll, '<font size="7"><div>hello</div>world</font>', '<div style="">hello</div>world');
 testSingleToggle("fontsize", 3, selectAll, '<font size="3"><div>hello</div>world</font>', '<font size="3"><div>hello</div>world</font>');
-testSingleToggle("fontsize", 1, selectAll, '<font size="3"><div>hello</div>world</font>', '<div><span style="font-size: x-small;">hello</span></div><span style="font-size: x-small;">world</span>');
+testSingleToggle("fontsize", 1, selectAll, '<font size="3"><div>hello</div>world</font>', '<div style=""><span style="font-size: x-small;">hello</span></div><span style="font-size: x-small;">world</span>');
 
 debug("");
 debug("Font family");
@@ -86,7 +86,7 @@
 testSingleToggle("fontname", "Arial", selectAll, 'hello world', '<font face="Arial">hello world</font>');
 testSingleToggle("fontname", "Arial", selectFirstWord, '<font face="sans-serif">hello world</font>', '<font face="Arial">hello</font><font face="sans-serif"> world</font>');
 testSingleToggle("fontname", "Arial", selectFirstWord, '<font face="sans-serif">hello<div>world</div></font>', '<font face="Arial">hello</font><div style="font-family: sans-serif;">world</div>');
-testSingleToggle("fontname", "Arial", selectSecondWord, '<font face="sans-serif">hello<div>world</div></font>', '<font face="sans-serif">hello</font><div><font face="Arial">world</font></div>');
+testSingleToggle("fontname", "Arial", selectSecondWord, '<font face="sans-serif">hello<div>world</div></font>', '<font face="sans-serif">hello</font><div style=""><font face="Arial">world</font></div>');
 testSingleToggle("fontname", "Sans-Serif", selectAll, '<font face="sans-serif"><div>hello</div><div>world</div></font>', '<font face="sans-serif"><div>hello</div><div>world</div></font>');
 testSingleToggle("fontname", "Arial", selectAll, '<font face="sans-serif"><div>hello</div><div>world</div></font>', '<div><font face="Arial">hello</font></div><div><font face="Arial">world</font></div>');
 
@@ -96,9 +96,9 @@
 testSingleToggle("fontname", "Arial", selectAll, 'hello world', '<span style="font-family: Arial;">hello world</span>');
 testSingleToggle("fontname", "Arial", selectFirstWord, '<font face="sans-serif">hello world</font>', '<span style="font-family: Arial;">hello</span><font face="sans-serif"> world</font>');
 testSingleToggle("fontname", "Arial", selectFirstWord, '<font face="sans-serif">hello<div>world</div></font>', '<span style="font-family: Arial;">hello</span><div style="font-family: sans-serif;">world</div>');
-testSingleToggle("fontname", "Arial", selectSecondWord, '<font face="sans-serif">hello<div>world</div></font>', '<span style="font-family: sans-serif;">hello</span><div><span style="font-family: Arial;">world</span></div>');
+testSingleToggle("fontname", "Arial", selectSecondWord, '<font face="sans-serif">hello<div>world</div></font>', '<span style="font-family: sans-serif;">hello</span><div style=""><span style="font-family: Arial;">world</span></div>');
 testSingleToggle("fontname", "Sans-Serif", selectAll, '<font face="sans-serif"><div>hello</div><div>world</div></font>', '<font face="sans-serif"><div>hello</div><div>world</div></font>');
-testSingleToggle("fontname", "Arial", selectAll, '<font face="sans-serif"><div>hello</div><div>world</div></font>', '<div><span style="font-family: Arial;">hello</span></div><div><span style="font-family: Arial;">world</span></div>');
+testSingleToggle("fontname", "Arial", selectAll, '<font face="sans-serif"><div>hello</div><div>world</div></font>', '<div><span style="font-family: Arial;">hello</span></div><div style=""><span style="font-family: Arial;">world</span></div>');
 
 document.body.removeChild(testContainer);
 
diff --git a/third_party/WebKit/LayoutTests/editing/style/script-tests/push-down-font-styles-win.js b/third_party/WebKit/LayoutTests/editing/style/script-tests/push-down-font-styles-win.js
index 466fe52..2ab74e0 100644
--- a/third_party/WebKit/LayoutTests/editing/style/script-tests/push-down-font-styles-win.js
+++ b/third_party/WebKit/LayoutTests/editing/style/script-tests/push-down-font-styles-win.js
@@ -58,27 +58,27 @@
 testSingleToggle("fontsize", 4, selectAll, 'hello world', '<font size="4">hello world</font>');
 testSingleToggle("fontsize", 5, selectFirstWord, 'hello world', '<font size="5">hello </font>world');
 testSingleToggle("fontsize", 3, selectFirstWord, '<font size="7">hello <div>world</div></font>', 'hello <div style="font-size: -webkit-xxx-large;">world</div>');
-testSingleToggle("fontsize", 3, selectFirstWord, '<font size="7"><div>hello</div><div>world</div></font>', '<div>hello</div><div style="font-size: -webkit-xxx-large;">world</div>');
+testSingleToggle("fontsize", 3, selectFirstWord, '<font size="7"><div>hello</div><div>world</div></font>', '<div style="">hello</div><div style="font-size: -webkit-xxx-large;">world</div>');
 testSingleToggle("fontsize", 3, selectSecondWord, '<font size="7"><div>hello</div>world</font>', '<div style="font-size: -webkit-xxx-large;">hello</div>world');
 
 testSingleToggle("fontsize", 7, selectAll, '<font size="7"><div>hello</div>world</font>', '<font size="7"><div>hello</div>world</font>');
-testSingleToggle("fontsize", 7, selectAll, '<font size="3"><div>hello</div>world</font>', '<div><font size="7">hello</font></div><font size="7">world</font>');
-testSingleToggle("fontsize", 6, selectAll, '<font size="7"><div>hello</div>world</font>', '<div><font size="6">hello</font></div><font size="6">world</font>');
-testSingleToggle("fontsize", 5, selectAll, '<font size="7"><div>hello</div>world</font>', '<div><font size="5">hello</font></div><font size="5">world</font>');
-testSingleToggle("fontsize", 3, selectAll, '<font size="7"><div>hello</div>world</font>', '<div>hello</div>world');
+testSingleToggle("fontsize", 7, selectAll, '<font size="3"><div>hello</div>world</font>', '<div style=""><font size="7">hello</font></div><font size="7">world</font>');
+testSingleToggle("fontsize", 6, selectAll, '<font size="7"><div>hello</div>world</font>', '<div style=""><font size="6">hello</font></div><font size="6">world</font>');
+testSingleToggle("fontsize", 5, selectAll, '<font size="7"><div>hello</div>world</font>', '<div style=""><font size="5">hello</font></div><font size="5">world</font>');
+testSingleToggle("fontsize", 3, selectAll, '<font size="7"><div>hello</div>world</font>', '<div style="">hello</div>world');
 testSingleToggle("fontsize", 3, selectAll, '<font size="3"><div>hello</div>world</font>', '<font size="3"><div>hello</div>world</font>');
-testSingleToggle("fontsize", 1, selectAll, '<font size="3"><div>hello</div>world</font>', '<div><font size="1">hello</font></div><font size="1">world</font>');
+testSingleToggle("fontsize", 1, selectAll, '<font size="3"><div>hello</div>world</font>', '<div style=""><font size="1">hello</font></div><font size="1">world</font>');
 
 debug("");
 debug("Font size (with CSS)");
 styleWithCSS = true;
 testSingleToggle("fontsize", 7, selectAll, '<font size="7"><div>hello</div>world</font>', '<font size="7"><div>hello</div>world</font>');
-testSingleToggle("fontsize", 7, selectAll, '<font size="3"><div>hello</div>world</font>', '<div><span style="font-size: -webkit-xxx-large;">hello</span></div><span style="font-size: -webkit-xxx-large;">world</span>');
-testSingleToggle("fontsize", 6, selectAll, '<font size="7"><div>hello</div>world</font>', '<div><span style="font-size: xx-large;">hello</span></div><span style="font-size: xx-large;">world</span>');
-testSingleToggle("fontsize", 5, selectAll, '<font size="7"><div>hello</div>world</font>', '<div><span style="font-size: x-large;">hello</span></div><span style="font-size: x-large;">world</span>');
-testSingleToggle("fontsize", 3, selectAll, '<font size="7"><div>hello</div>world</font>', '<div>hello</div>world');
+testSingleToggle("fontsize", 7, selectAll, '<font size="3"><div>hello</div>world</font>', '<div style=""><span style="font-size: -webkit-xxx-large;">hello</span></div><span style="font-size: -webkit-xxx-large;">world</span>');
+testSingleToggle("fontsize", 6, selectAll, '<font size="7"><div>hello</div>world</font>', '<div style=""><span style="font-size: xx-large;">hello</span></div><span style="font-size: xx-large;">world</span>');
+testSingleToggle("fontsize", 5, selectAll, '<font size="7"><div>hello</div>world</font>', '<div style=""><span style="font-size: x-large;">hello</span></div><span style="font-size: x-large;">world</span>');
+testSingleToggle("fontsize", 3, selectAll, '<font size="7"><div>hello</div>world</font>', '<div style="">hello</div>world');
 testSingleToggle("fontsize", 3, selectAll, '<font size="3"><div>hello</div>world</font>', '<font size="3"><div>hello</div>world</font>');
-testSingleToggle("fontsize", 1, selectAll, '<font size="3"><div>hello</div>world</font>', '<div><span style="font-size: x-small;">hello</span></div><span style="font-size: x-small;">world</span>');
+testSingleToggle("fontsize", 1, selectAll, '<font size="3"><div>hello</div>world</font>', '<div style=""><span style="font-size: x-small;">hello</span></div><span style="font-size: x-small;">world</span>');
 
 debug("");
 debug("Font family");
@@ -86,7 +86,7 @@
 testSingleToggle("fontname", "Arial", selectAll, 'hello world', '<font face="Arial">hello world</font>');
 testSingleToggle("fontname", "Arial", selectFirstWord, '<font face="sans-serif">hello world</font>', '<font face="Arial">hello </font><font face="sans-serif">world</font>');
 testSingleToggle("fontname", "Arial", selectFirstWord, '<font face="sans-serif">hello<div>world</div></font>', '<font face="Arial">hello</font><div style="font-family: sans-serif;">world</div>');
-testSingleToggle("fontname", "Arial", selectSecondWord, '<font face="sans-serif">hello<div>world</div></font>', '<font face="sans-serif">hello</font><div><font face="Arial">world</font></div>');
+testSingleToggle("fontname", "Arial", selectSecondWord, '<font face="sans-serif">hello<div>world</div></font>', '<font face="sans-serif">hello</font><div style=""><font face="Arial">world</font></div>');
 testSingleToggle("fontname", "Sans-Serif", selectAll, '<font face="sans-serif"><div>hello</div><div>world</div></font>', '<font face="sans-serif"><div>hello</div><div>world</div></font>');
 testSingleToggle("fontname", "Arial", selectAll, '<font face="sans-serif"><div>hello</div><div>world</div></font>', '<div><font face="Arial">hello</font></div><div><font face="Arial">world</font></div>');
 
@@ -96,9 +96,9 @@
 testSingleToggle("fontname", "Arial", selectAll, 'hello world', '<span style="font-family: Arial;">hello world</span>');
 testSingleToggle("fontname", "Arial", selectFirstWord, '<font face="sans-serif">hello world</font>', '<span style="font-family: Arial;">hello </span><font face="sans-serif">world</font>');
 testSingleToggle("fontname", "Arial", selectFirstWord, '<font face="sans-serif">hello<div>world</div></font>', '<span style="font-family: Arial;">hello</span><div style="font-family: sans-serif;">world</div>');
-testSingleToggle("fontname", "Arial", selectSecondWord, '<font face="sans-serif">hello<div>world</div></font>', '<span style="font-family: sans-serif;">hello</span><div><span style="font-family: Arial;">world</span></div>');
+testSingleToggle("fontname", "Arial", selectSecondWord, '<font face="sans-serif">hello<div>world</div></font>', '<span style="font-family: sans-serif;">hello</span><div style=""><span style="font-family: Arial;">world</span></div>');
 testSingleToggle("fontname", "Sans-Serif", selectAll, '<font face="sans-serif"><div>hello</div><div>world</div></font>', '<font face="sans-serif"><div>hello</div><div>world</div></font>');
-testSingleToggle("fontname", "Arial", selectAll, '<font face="sans-serif"><div>hello</div><div>world</div></font>', '<div><span style="font-family: Arial;">hello</span></div><div><span style="font-family: Arial;">world</span></div>');
+testSingleToggle("fontname", "Arial", selectAll, '<font face="sans-serif"><div>hello</div><div>world</div></font>', '<div><span style="font-family: Arial;">hello</span></div><div style=""><span style="font-family: Arial;">world</span></div>');
 
 document.body.removeChild(testContainer);
 
diff --git a/third_party/WebKit/LayoutTests/editing/style/script-tests/push-down-implicit-styles-around-list-mac.js b/third_party/WebKit/LayoutTests/editing/style/script-tests/push-down-implicit-styles-around-list-mac.js
index 86bb7b8..6a8f37ee 100644
--- a/third_party/WebKit/LayoutTests/editing/style/script-tests/push-down-implicit-styles-around-list-mac.js
+++ b/third_party/WebKit/LayoutTests/editing/style/script-tests/push-down-implicit-styles-around-list-mac.js
@@ -31,25 +31,25 @@
     return 'last word';
 }
 
-testSingleToggle("bold", selectFirstWord, '<b><ul><li><b>a</b></li></ul></b>', '<ul><li>a</li></ul>');
-testSingleToggle("bold", selectFirstWord, '<b><ul><li>hello</li><li>world</li></ul></b>', '<ul><li>hello</li><li style="font-weight: bold;">world</li></ul>');
-testSingleToggle("bold", selectLastWord, '<ul><li>hello</li><li style="font-weight: bold;">world</li></ul>', '<ul><li>hello</li><li>world</li></ul>');
-testSingleToggle("bold", selectFirstWord, '<b><ul><li>hello world</li><li>webkit</li></ul></b>', '<ul><li>hello<b> world</b></li><li style="font-weight: bold;">webkit</li></ul>');
+testSingleToggle("bold", selectFirstWord, '<b><ul><li><b>a</b></li></ul></b>', '<ul style=""><li style="">a</li></ul>');
+testSingleToggle("bold", selectFirstWord, '<b><ul><li>hello</li><li>world</li></ul></b>', '<ul style=""><li style="">hello</li><li style="font-weight: bold;">world</li></ul>');
+testSingleToggle("bold", selectLastWord, '<ul><li>hello</li><li style="font-weight: bold;">world</li></ul>', '<ul><li>hello</li><li style="">world</li></ul>');
+testSingleToggle("bold", selectFirstWord, '<b><ul><li>hello world</li><li>webkit</li></ul></b>', '<ul style=""><li style="">hello<b> world</b></li><li style="font-weight: bold;">webkit</li></ul>');
 
-testSingleToggle("italic", selectFirstWord, '<i><ul><li><i>a</i></li></ul></i>', '<ul><li>a</li></ul>');
-testSingleToggle("italic", selectFirstWord, '<i><ul><li>hello</li><li>world</li></ul></i>', '<ul><li>hello</li><li style="font-style: italic;">world</li></ul>');
-testSingleToggle("italic", selectLastWord, '<ul><li>hello</li><li style="font-style: italic;">world</li></ul>', '<ul><li>hello</li><li>world</li></ul>');
-testSingleToggle("italic", selectFirstWord, '<i><ul><li>hello world</li><li>webkit</li></ul></i>', '<ul><li>hello<i> world</i></li><li style="font-style: italic;">webkit</li></ul>');
+testSingleToggle("italic", selectFirstWord, '<i><ul><li><i>a</i></li></ul></i>', '<ul style=""><li style="">a</li></ul>');
+testSingleToggle("italic", selectFirstWord, '<i><ul><li>hello</li><li>world</li></ul></i>', '<ul style=""><li style="">hello</li><li style="font-style: italic;">world</li></ul>');
+testSingleToggle("italic", selectLastWord, '<ul><li>hello</li><li style="font-style: italic;">world</li></ul>', '<ul><li>hello</li><li style="">world</li></ul>');
+testSingleToggle("italic", selectFirstWord, '<i><ul><li>hello world</li><li>webkit</li></ul></i>', '<ul style=""><li style="">hello<i> world</i></li><li style="font-style: italic;">webkit</li></ul>');
 
-testSingleToggle("underline", selectFirstWord, '<u><ul><li><u>a</u></li></ul></u>', '<ul><li>a</li></ul>');
-testSingleToggle("underline", selectFirstWord, '<u><ul><li>hello</li><li>world</li></ul></u>', '<ul><li>hello</li><li style="text-decoration-line: underline;">world</li></ul>');
-testSingleToggle("underline", selectLastWord, '<ul><li>hello</li><li style="text-decoration: underline;">world</li></ul>', '<ul><li>hello</li><li>world</li></ul>');
-testSingleToggle("underline", selectFirstWord, '<u><ul><li>hello world</li><li>webkit</li></ul></u>', '<ul><li>hello<u> world</u></li><li style="text-decoration-line: underline;">webkit</li></ul>');
+testSingleToggle("underline", selectFirstWord, '<u><ul><li><u>a</u></li></ul></u>', '<ul style=""><li style="">a</li></ul>');
+testSingleToggle("underline", selectFirstWord, '<u><ul><li>hello</li><li>world</li></ul></u>', '<ul style=""><li style="">hello</li><li style="text-decoration-line: underline;">world</li></ul>');
+testSingleToggle("underline", selectLastWord, '<ul><li>hello</li><li style="text-decoration: underline;">world</li></ul>', '<ul><li>hello</li><li style="">world</li></ul>');
+testSingleToggle("underline", selectFirstWord, '<u><ul><li>hello world</li><li>webkit</li></ul></u>', '<ul style=""><li style="">hello<u> world</u></li><li style="text-decoration-line: underline;">webkit</li></ul>');
 
-testSingleToggle("strikethrough", selectFirstWord, '<strike><ul><li><strike>a</strike></li></ul></strike>', '<ul><li>a</li></ul>');
-testSingleToggle("strikethrough", selectFirstWord, '<strike><ul><li>hello</li><li>world</li></ul></strike>', '<ul><li>hello</li><li style="text-decoration-line: line-through;">world</li></ul>');
-testSingleToggle("strikethrough", selectLastWord, '<ul><li>hello</li><li style="text-decoration: line-through;">world</li></ul>', '<ul><li>hello</li><li>world</li></ul>');
-testSingleToggle("strikethrough", selectFirstWord, '<strike><ul><li>hello world</li><li>webkit</li></ul></strike>', '<ul><li>hello<strike> world</strike></li><li style="text-decoration-line: line-through;">webkit</li></ul>');
+testSingleToggle("strikethrough", selectFirstWord, '<strike><ul><li><strike>a</strike></li></ul></strike>', '<ul style=""><li style="">a</li></ul>');
+testSingleToggle("strikethrough", selectFirstWord, '<strike><ul><li>hello</li><li>world</li></ul></strike>', '<ul style=""><li style="">hello</li><li style="text-decoration-line: line-through;">world</li></ul>');
+testSingleToggle("strikethrough", selectLastWord, '<ul><li>hello</li><li style="text-decoration: line-through;">world</li></ul>', '<ul><li>hello</li><li style="">world</li></ul>');
+testSingleToggle("strikethrough", selectFirstWord, '<strike><ul><li>hello world</li><li>webkit</li></ul></strike>', '<ul style=""><li style="">hello<strike> world</strike></li><li style="text-decoration-line: line-through;">webkit</li></ul>');
 
 document.body.removeChild(testContainer);
 
diff --git a/third_party/WebKit/LayoutTests/editing/style/script-tests/push-down-implicit-styles-around-list-win.js b/third_party/WebKit/LayoutTests/editing/style/script-tests/push-down-implicit-styles-around-list-win.js
index be5c098..51cbb0f 100644
--- a/third_party/WebKit/LayoutTests/editing/style/script-tests/push-down-implicit-styles-around-list-win.js
+++ b/third_party/WebKit/LayoutTests/editing/style/script-tests/push-down-implicit-styles-around-list-win.js
@@ -31,25 +31,25 @@
     return 'last word';
 }
 
-testSingleToggle("bold", selectFirstWord, '<b><ul><li><b>a</b></li></ul></b>', '<ul><li>a</li></ul>');
-testSingleToggle("bold", selectFirstWord, '<b><ul><li>hello</li><li>world</li></ul></b>', '<ul><li>hello</li><li style="font-weight: bold;">world</li></ul>');
-testSingleToggle("bold", selectLastWord, '<ul><li>hello</li><li style="font-weight: bold;">world</li></ul>', '<ul><li>hello</li><li>world</li></ul>');
-testSingleToggle("bold", selectFirstWord, '<b><ul><li>hello world</li><li>webkit</li></ul></b>', '<ul><li>hello <b>world</b></li><li style="font-weight: bold;">webkit</li></ul>');
+testSingleToggle("bold", selectFirstWord, '<b><ul><li><b>a</b></li></ul></b>', '<ul style=""><li style="">a</li></ul>');
+testSingleToggle("bold", selectFirstWord, '<b><ul><li>hello</li><li>world</li></ul></b>', '<ul style=""><li style="">hello</li><li style="font-weight: bold;">world</li></ul>');
+testSingleToggle("bold", selectLastWord, '<ul><li>hello</li><li style="font-weight: bold;">world</li></ul>', '<ul><li>hello</li><li style="">world</li></ul>');
+testSingleToggle("bold", selectFirstWord, '<b><ul><li>hello world</li><li>webkit</li></ul></b>', '<ul style=""><li style="">hello <b>world</b></li><li style="font-weight: bold;">webkit</li></ul>');
 
-testSingleToggle("italic", selectFirstWord, '<i><ul><li><i>a</i></li></ul></i>', '<ul><li>a</li></ul>');
-testSingleToggle("italic", selectFirstWord, '<i><ul><li>hello</li><li>world</li></ul></i>', '<ul><li>hello</li><li style="font-style: italic;">world</li></ul>');
-testSingleToggle("italic", selectLastWord, '<ul><li>hello</li><li style="font-style: italic;">world</li></ul>', '<ul><li>hello</li><li>world</li></ul>');
-testSingleToggle("italic", selectFirstWord, '<i><ul><li>hello world</li><li>webkit</li></ul></i>', '<ul><li>hello <i>world</i></li><li style="font-style: italic;">webkit</li></ul>');
+testSingleToggle("italic", selectFirstWord, '<i><ul><li><i>a</i></li></ul></i>', '<ul style=""><li style="">a</li></ul>');
+testSingleToggle("italic", selectFirstWord, '<i><ul><li>hello</li><li>world</li></ul></i>', '<ul style=""><li style="">hello</li><li style="font-style: italic;">world</li></ul>');
+testSingleToggle("italic", selectLastWord, '<ul><li>hello</li><li style="font-style: italic;">world</li></ul>', '<ul><li>hello</li><li style="">world</li></ul>');
+testSingleToggle("italic", selectFirstWord, '<i><ul><li>hello world</li><li>webkit</li></ul></i>', '<ul style=""><li style="">hello <i>world</i></li><li style="font-style: italic;">webkit</li></ul>');
 
-testSingleToggle("underline", selectFirstWord, '<u><ul><li><u>a</u></li></ul></u>', '<ul><li>a</li></ul>');
-testSingleToggle("underline", selectFirstWord, '<u><ul><li>hello</li><li>world</li></ul></u>', '<ul><li>hello</li><li style="text-decoration-line: underline;">world</li></ul>');
-testSingleToggle("underline", selectLastWord, '<ul><li>hello</li><li style="text-decoration: underline;">world</li></ul>', '<ul><li>hello</li><li>world</li></ul>');
-testSingleToggle("underline", selectFirstWord, '<u><ul><li>hello world</li><li>webkit</li></ul></u>', '<ul><li>hello <u>world</u></li><li style="text-decoration-line: underline;">webkit</li></ul>');
+testSingleToggle("underline", selectFirstWord, '<u><ul><li><u>a</u></li></ul></u>', '<ul style=""><li style="">a</li></ul>');
+testSingleToggle("underline", selectFirstWord, '<u><ul><li>hello</li><li>world</li></ul></u>', '<ul style=""><li style="">hello</li><li style="text-decoration-line: underline;">world</li></ul>');
+testSingleToggle("underline", selectLastWord, '<ul><li>hello</li><li style="text-decoration: underline;">world</li></ul>', '<ul><li>hello</li><li style="">world</li></ul>');
+testSingleToggle("underline", selectFirstWord, '<u><ul><li>hello world</li><li>webkit</li></ul></u>', '<ul style=""><li style="">hello <u>world</u></li><li style="text-decoration-line: underline;">webkit</li></ul>');
 
-testSingleToggle("strikethrough", selectFirstWord, '<strike><ul><li><strike>a</strike></li></ul></strike>', '<ul><li>a</li></ul>');
-testSingleToggle("strikethrough", selectFirstWord, '<strike><ul><li>hello</li><li>world</li></ul></strike>', '<ul><li>hello</li><li style="text-decoration-line: line-through;">world</li></ul>');
-testSingleToggle("strikethrough", selectLastWord, '<ul><li>hello</li><li style="text-decoration: line-through;">world</li></ul>', '<ul><li>hello</li><li>world</li></ul>');
-testSingleToggle("strikethrough", selectFirstWord, '<strike><ul><li>hello world</li><li>webkit</li></ul></strike>', '<ul><li>hello <strike>world</strike></li><li style="text-decoration-line: line-through;">webkit</li></ul>');
+testSingleToggle("strikethrough", selectFirstWord, '<strike><ul><li><strike>a</strike></li></ul></strike>', '<ul style=""><li style="">a</li></ul>');
+testSingleToggle("strikethrough", selectFirstWord, '<strike><ul><li>hello</li><li>world</li></ul></strike>', '<ul style=""><li style="">hello</li><li style="text-decoration-line: line-through;">world</li></ul>');
+testSingleToggle("strikethrough", selectLastWord, '<ul><li>hello</li><li style="text-decoration: line-through;">world</li></ul>', '<ul><li>hello</li><li style="">world</li></ul>');
+testSingleToggle("strikethrough", selectFirstWord, '<strike><ul><li>hello world</li><li>webkit</li></ul></strike>', '<ul style=""><li style="">hello <strike>world</strike></li><li style="text-decoration-line: line-through;">webkit</li></ul>');
 
 document.body.removeChild(testContainer);
 
diff --git a/third_party/WebKit/LayoutTests/editing/style/script-tests/push-down-implicit-styles-mac.js b/third_party/WebKit/LayoutTests/editing/style/script-tests/push-down-implicit-styles-mac.js
index 199d7269..f349421 100644
--- a/third_party/WebKit/LayoutTests/editing/style/script-tests/push-down-implicit-styles-mac.js
+++ b/third_party/WebKit/LayoutTests/editing/style/script-tests/push-down-implicit-styles-mac.js
@@ -49,29 +49,29 @@
     return 'last two words';
 }
 
-testSingleToggle("bold", selectFirstWord, '<b><div>hello</div> world</b>', '<div>hello</div><b> world</b>');
-testSingleToggle("bold", selectFirstWord, '<b><div>hello</div>world</b>', '<div>hello</div><b>world</b>');
-testSingleToggle("bold", selectFirstWord, '<b><div>hello</div><em>world</em></b>', '<div>hello</div><em style="font-weight: bold;">world</em>');
-testSingleToggle("bold", selectSecondWord, '<b>hello <div>world</div></b>', '<b>hello </b><div>world</div>');
-testSingleToggle("bold", selectSecondWord, '<b><em>hello</em> <div>world</div></b>', '<em style="font-weight: bold;">hello</em> <div>world</div>');
-testSingleToggle("bold", selectAll, '<b> <div>text</div> </b>', ' <div>text</div> ');
-testSingleToggle("bold", selectAll, '<b><strike><div>text</div></strike></b>', '<strike><div>text</div></strike>');
-testSingleToggle("bold", selectFirstWord, '<b><div>hello</div><div>world</div></b>', '<div>hello</div><div style="font-weight: bold;">world</div>');
-testSingleToggle("bold", selectFirstWord, '<b><div>hello</div><div style="font-weight: normal;">world</div>webkit</b>', '<div>hello</div><div style="font-weight: normal;">world</div><b>webkit</b>');
+testSingleToggle("bold", selectFirstWord, '<b><div>hello</div> world</b>', '<div style="">hello</div><b> world</b>');
+testSingleToggle("bold", selectFirstWord, '<b><div>hello</div>world</b>', '<div style="">hello</div><b>world</b>');
+testSingleToggle("bold", selectFirstWord, '<b><div>hello</div><em>world</em></b>', '<div style="">hello</div><em style="font-weight: bold;">world</em>');
+testSingleToggle("bold", selectSecondWord, '<b>hello <div>world</div></b>', '<b>hello </b><div style="">world</div>');
+testSingleToggle("bold", selectSecondWord, '<b><em>hello</em> <div>world</div></b>', '<em style="font-weight: bold;">hello</em> <div style="">world</div>');
+testSingleToggle("bold", selectAll, '<b> <div>text</div> </b>', ' <div style="">text</div> ');
+testSingleToggle("bold", selectAll, '<b><strike><div>text</div></strike></b>', '<strike style=""><div style="">text</div></strike>');
+testSingleToggle("bold", selectFirstWord, '<b><div>hello</div><div>world</div></b>', '<div style="">hello</div><div style="font-weight: bold;">world</div>');
+testSingleToggle("bold", selectFirstWord, '<b><div>hello</div><div style="font-weight: normal;">world</div>webkit</b>', '<div style="">hello</div><div style="font-weight: normal;">world</div><b>webkit</b>');
 testSingleToggle("bold", selectSecondWord, '<b style="font-style: italic;">hello world</b>', '<b style="font-style: italic;">hello</b><span style="font-style: italic;"> world</span>');
 
-testSingleToggle("underline", selectSecondWord, '<u>hello <b>world</b> webkit</u>', '<u>hello</u> <b>world</b><u> webkit</u>');
-testSingleToggle("underline", selectLastTwoWords, '<u>hello <b>world</b> webkit</u>', '<u>hello </u><b>world</b> webkit');
-testSingleToggle("underline", selectLastTwoWords, '<u>hello <b>world webkit</b></u>', '<u>hello </u><b>world webkit</b>');
-testSingleToggle("underline", selectSecondWord, '<u>hello <b>world webkit</b></u>', '<u>hello</u> <b>world<u> webkit</u></b>');
-testSingleToggle("underline", selectSecondWord, '<u><b>hello world</b> webkit</u>', '<b><u>hello</u> world</b><u> webkit</u>');
-testSingleToggle("underline", selectSecondWord, '<u><strike>hello world</strike></u>', '<strike><u>hello</u> world</strike>');
-testSingleToggle("underline", selectSecondWord, '<u><strike>hello world webkit</strike></u>', '<strike><u>hello</u> world<u> webkit</u></strike>');
-testSingleToggle("underline", selectSecondWord, '<u><strike>hello world</strike> webkit</u>', '<strike><u>hello</u> world</strike><u> webkit</u>');
-testSingleToggle("underline", selectSecondWord, '<u>hello <em><code>world webkit</code></em> rocks</u>', '<u>hello</u> <em><code>world<u> webkit</u></code></em><u> rocks</u>');
+testSingleToggle("underline", selectSecondWord, '<u>hello <b>world</b> webkit</u>', '<u>hello</u> <b style="">world</b><u> webkit</u>');
+testSingleToggle("underline", selectLastTwoWords, '<u>hello <b>world</b> webkit</u>', '<u>hello </u><b style="">world</b> webkit');
+testSingleToggle("underline", selectLastTwoWords, '<u>hello <b>world webkit</b></u>', '<u>hello </u><b style="">world webkit</b>');
+testSingleToggle("underline", selectSecondWord, '<u>hello <b>world webkit</b></u>', '<u>hello</u> <b style="">world<u> webkit</u></b>');
+testSingleToggle("underline", selectSecondWord, '<u><b>hello world</b> webkit</u>', '<b style=""><u>hello</u> world</b><u> webkit</u>');
+testSingleToggle("underline", selectSecondWord, '<u><strike>hello world</strike></u>', '<strike style=""><u>hello</u> world</strike>');
+testSingleToggle("underline", selectSecondWord, '<u><strike>hello world webkit</strike></u>', '<strike style=""><u>hello</u> world<u> webkit</u></strike>');
+testSingleToggle("underline", selectSecondWord, '<u><strike>hello world</strike> webkit</u>', '<strike style=""><u>hello</u> world</strike><u> webkit</u>');
+testSingleToggle("underline", selectSecondWord, '<u>hello <em><code>world webkit</code></em> rocks</u>', '<u>hello</u> <em style=""><code style="">world<u> webkit</u></code></em><u> rocks</u>');
 
 testSingleToggle("strikeThrough", selectAll, '<s style="color: blue;">hello world</strike>', '<span style="color: blue;">hello world</span>');
-testSingleToggle("strikeThrough", selectFirstWord, '<s style="color: blue;"><div>hello</div> <b>world</b> webkit</strike>', '<span style="color: blue;"><div>hello</div> <b style="text-decoration-line: line-through;">world</b><strike> webkit</strike></span>');
+testSingleToggle("strikeThrough", selectFirstWord, '<s style="color: blue;"><div>hello</div> <b>world</b> webkit</strike>', '<span style="color: blue;"><div style="">hello</div> <b style="text-decoration-line: line-through;">world</b><strike> webkit</strike></span>');
 
 document.body.removeChild(testContainer);
 
diff --git a/third_party/WebKit/LayoutTests/editing/style/script-tests/push-down-inline-styles.js b/third_party/WebKit/LayoutTests/editing/style/script-tests/push-down-inline-styles.js
index 9858729..7c491e5 100644
--- a/third_party/WebKit/LayoutTests/editing/style/script-tests/push-down-inline-styles.js
+++ b/third_party/WebKit/LayoutTests/editing/style/script-tests/push-down-inline-styles.js
@@ -21,27 +21,27 @@
 }
 
 
-testSingleToggle("bold", '<span style="font-weight: 900;"> <div>text</div> </span>', ' <div>text</div> ');
-testSingleToggle("bold", '<span style="font-weight: 900;"><div>text</div></span>', '<div>text</div>');
-testSingleToggle("bold", '<span style="font-weight: 900;"><div id="test">hello</div><div>world</div></span>', '<div id="test">hello</div><div style="font-weight: 900;">world</div>');
-testSingleToggle("bold", '<div style="font-weight: bold;">hello<div id="test">world</div></div>', '<div><b>hello</b><div id="test">world</div></div>');
-testSingleToggle("bold", '<span style="font-weight: bold;">hello<span id="test">world</div></div>', '<b>hello</b><span id="test">world</span>');
-testSingleToggle("bold", '<span style="font-style: italic; font-weight: bold;">hello<span id="test">world</div></div>', '<span style="font-style: italic;"><b>hello</b><span id="test">world</span></span>');
+testSingleToggle("bold", '<span style="font-weight: 900;"> <div>text</div> </span>', ' <div style="">text</div> ');
+testSingleToggle("bold", '<span style="font-weight: 900;"><div>text</div></span>', '<div style="">text</div>');
+testSingleToggle("bold", '<span style="font-weight: 900;"><div id="test">hello</div><div>world</div></span>', '<div id="test" style="">hello</div><div style="font-weight: 900;">world</div>');
+testSingleToggle("bold", '<div style="font-weight: bold;">hello<div id="test">world</div></div>', '<div style=""><b>hello</b><div id="test" style="">world</div></div>');
+testSingleToggle("bold", '<span style="font-weight: bold;">hello<span id="test">world</div></div>', '<b>hello</b><span id="test" style="">world</span>');
+testSingleToggle("bold", '<span style="font-style: italic; font-weight: bold;">hello<span id="test">world</div></div>', '<span style="font-style: italic;"><b>hello</b><span id="test" style="">world</span></span>');
 testSingleToggle("bold", '<span style="font-weight: bold;"><div id="test">hello</div><div style="font-weight: normal;"><div>world</div>webkit</div>', '<div id="test">hello</div><div>world</div>webkit');
-testSingleToggle("italic", '<span style="font-style: italic;"><div>hello</div></span>', '<div>hello</div>');
-testSingleToggle("italic", '<span style="font-style: italic;"><div id="test">hello</div><span style="font-style: oblique;">world</span>', '<div id="test">hello</div><span style="font-style: oblique;">world</span>');
-testSingleToggle("italic", '<span style="font-style: italic; font-weight: bold;"><div>hello</div></span>', '<span style="font-weight: bold;"><div>hello</div></span>');
-testSingleToggle("italic", '<span style="font-style: italic; text-decoration: line-through;"><div>hello</div></span>', '<span style="text-decoration: line-through;"><div>hello</div></span>');
-testSingleToggle("italic", '<span style="font-style: italic;">hello<div id="test">world</div><blockquote>webkit</blockquote></span>', '<i>hello</i><div id="test">world</div><blockquote style="font-style: italic;">webkit</blockquote>');
-testSingleToggle("italic", '<span style="font-style: italic;">hello <span id="test">world</span> webkit</span>', '<i>hello </i><span id="test">world</span><i> webkit</i>');
-testSingleToggle("underline", '<span style="text-decoration: underline;"><div id="test">hello</div>world</span>', '<div id="test">hello</div><u>world</u>');
-testSingleToggle("underline", '<span style="text-decoration: underline;"><div id="test">hello</div><blockquote>world<br>webkit</blockquote></span>', '<div id="test">hello</div><blockquote style="text-decoration-line: underline;">world<br>webkit</blockquote>');
-testSingleToggle("underline", '<span style="text-decoration: underline;">hello<div id="test">world</div>webkit</u>', '<u>hello</u><div id="test">world</div><u>webkit</u>');
+testSingleToggle("italic", '<span style="font-style: italic;"><div>hello</div></span>', '<div style="">hello</div>');
+testSingleToggle("italic", '<span style="font-style: italic;"><div id="test">hello</div><span style="font-style: oblique;">world</span>', '<div id="test" style="">hello</div><span style="font-style: oblique;">world</span>');
+testSingleToggle("italic", '<span style="font-style: italic; font-weight: bold;"><div>hello</div></span>', '<span style="font-weight: bold;"><div style="">hello</div></span>');
+testSingleToggle("italic", '<span style="font-style: italic; text-decoration: line-through;"><div>hello</div></span>', '<span style="text-decoration: line-through;"><div style="">hello</div></span>');
+testSingleToggle("italic", '<span style="font-style: italic;">hello<div id="test">world</div><blockquote>webkit</blockquote></span>', '<i>hello</i><div id="test" style="">world</div><blockquote style="font-style: italic;">webkit</blockquote>');
+testSingleToggle("italic", '<span style="font-style: italic;">hello <span id="test">world</span> webkit</span>', '<i>hello </i><span id="test" style="">world</span><i> webkit</i>');
+testSingleToggle("underline", '<span style="text-decoration: underline;"><div id="test">hello</div>world</span>', '<div id="test" style="">hello</div><u>world</u>');
+testSingleToggle("underline", '<span style="text-decoration: underline;"><div id="test">hello</div><blockquote>world<br>webkit</blockquote></span>', '<div id="test" style="">hello</div><blockquote style="text-decoration-line: underline;">world<br>webkit</blockquote>');
+testSingleToggle("underline", '<span style="text-decoration: underline;">hello<div id="test">world</div>webkit</u>', '<u>hello</u><div id="test" style="">world</div><u>webkit</u>');
 testSingleToggle("underline",
     '<div style="text-decoration: underline;"><div>hello</span></div><div id="test">webkit</div><span style="font-style: italic;">rocks</span>',
-    '<div><div style="text-decoration-line: underline;">hello</span></div><div id="test">webkit</div><u><span style="font-style: italic;">rocks</span></u></div>');
-testSingleToggle("underline", '<span style="text-decoration-line: underline;"><div style="text-decoration-line: line-through;">hello</div><div id="test">world</div></span>', '<div style="text-decoration-line: underline line-through;">hello</div><div id="test">world</div>');
-testSingleToggle("strikeThrough", '<span style="text-decoration-line: line-through;"><div id="test">hello</div><div style="text-decoration-line: underline;">world</div></span>', '<div id="test">hello</div><div style="text-decoration-line: line-through underline;">world</div>');
+    '<div><div style="text-decoration-line: underline;">hello</span></div><div id="test" style="">webkit</div><u><span style="font-style: italic;">rocks</span></u></div>');
+testSingleToggle("underline", '<span style="text-decoration-line: underline;"><div style="text-decoration-line: line-through;">hello</div><div id="test">world</div></span>', '<div style="text-decoration-line: underline line-through;">hello</div><div id="test" style="">world</div>');
+testSingleToggle("strikeThrough", '<span style="text-decoration-line: line-through;"><div id="test">hello</div><div style="text-decoration-line: underline;">world</div></span>', '<div id="test" style="">hello</div><div style="text-decoration-line: line-through underline;">world</div>');
 
 document.body.removeChild(testContainer);
 
diff --git a/third_party/WebKit/LayoutTests/editing/style/toggle-style-bold-italic-mixed-editability.html b/third_party/WebKit/LayoutTests/editing/style/toggle-style-bold-italic-mixed-editability.html
index bedeba12..df839fe 100644
--- a/third_party/WebKit/LayoutTests/editing/style/toggle-style-bold-italic-mixed-editability.html
+++ b/third_party/WebKit/LayoutTests/editing/style/toggle-style-bold-italic-mixed-editability.html
@@ -49,9 +49,9 @@
     },
     [
         '<div contenteditable>',
-            '<i>^abc </i>',
+            '<i style>^abc </i>',
             '<span contenteditable="false">def</span>',
-            '<i> ghi|</i>',
+            '<i style> ghi|</i>',
         '</div>',
     ].join('')),
     'bold+italic+bold');
diff --git a/third_party/WebKit/LayoutTests/editing/style/toggle-style-bold-italic.html b/third_party/WebKit/LayoutTests/editing/style/toggle-style-bold-italic.html
index 4b96aa7..9675df36 100644
--- a/third_party/WebKit/LayoutTests/editing/style/toggle-style-bold-italic.html
+++ b/third_party/WebKit/LayoutTests/editing/style/toggle-style-bold-italic.html
@@ -52,8 +52,8 @@
     },
     [
       '<div contenteditable>',
-      '   <div><i>^abc def</i></div>',
-      '   <p><i>ghi jkl|</i></p>',
+      '   <div><i style>^abc def</i></div>',
+      '   <p><i style>ghi jkl|</i></p>',
       '</div>',
     ].join('\n')),
     'bold+italic+bold');
diff --git a/third_party/WebKit/LayoutTests/editing/style/typing_style.html b/third_party/WebKit/LayoutTests/editing/style/typing_style.html
index 9341affe..766158c 100644
--- a/third_party/WebKit/LayoutTests/editing/style/typing_style.html
+++ b/third_party/WebKit/LayoutTests/editing/style/typing_style.html
@@ -53,7 +53,7 @@
             selection.document.execCommand('italic'); // disable italic
             selection.document.execCommand('insertText', false, 'mno');
         },
-        '<div contenteditable>abc<b>def</b><i><b>ghi</b>jkl</i>mno|</div>'),
+        '<div contenteditable>abc<b>def</b><i style><b>ghi</b>jkl</i>mno|</div>'),
         'Nested styles and disabling styles');
 
     test(() => assert_selection(
diff --git a/third_party/WebKit/LayoutTests/editing/undo/remove-css-property-and-remove-style-expected.txt b/third_party/WebKit/LayoutTests/editing/undo/remove-css-property-and-remove-style-expected.txt
index b6173f1..525f4e9 100644
--- a/third_party/WebKit/LayoutTests/editing/undo/remove-css-property-and-remove-style-expected.txt
+++ b/third_party/WebKit/LayoutTests/editing/undo/remove-css-property-and-remove-style-expected.txt
@@ -1,4 +1,4 @@
-This tests removing style attribute after removing CSS property. Undo should bring back the CSS property we removed.
+This tests removing style after removing CSS property. Undo should bring back the CSS property we removed.
 
 Initially "test" should be bold wrapped with a span:
 | <span>
@@ -8,7 +8,7 @@
 Unbolding should remove the CSS style and also remove the span:
 | "<#selection-anchor>test<#selection-focus>"
 
-Undo should bring back both the span and style attribute so that "test" is once again bold:
+Undo should bring back both the span and style so that "test" is once again bold:
 | <span>
 |   style="font-weight: 900;"
 |   "<#selection-anchor>test<#selection-focus>"
@@ -31,19 +31,21 @@
 Unbolding should remove the CSS style but shouldn't remove the span:
 | <span>
 |   id="test_span"
+|   style=""
 |   title="hello, world"
 |   "<#selection-anchor>test<#selection-focus>"
 
-Undo should restore the style attribute and "test" should be bold:
+Undo should restore the style and "test" should be bold:
 | <span>
 |   id="test_span"
 |   style="font-weight: 900;"
 |   title="hello, world"
 |   "<#selection-anchor>test<#selection-focus>"
 
-Redo should remove the style attribute again:
+Redo should remove the style again:
 | <span>
 |   id="test_span"
+|   style=""
 |   title="hello, world"
 |   "<#selection-anchor>test<#selection-focus>"
 
@@ -52,12 +54,12 @@
 |   style="font-weight: 900; color: blue;"
 |   "test"
 
-Unbolding should remove the font-weight but shouldn't remove the style attribute:
+Unbolding should remove the font-weight but shouldn't remove the style :
 | <span>
 |   style="color: blue;"
 |   "<#selection-anchor>test<#selection-focus>"
 
-Undo should reset the style attribute so that "test" is both bold and blue:
+Undo should reset the style so that "test" is both bold and blue:
 | <span>
 |   style="color: blue; font-weight: 900;"
 |   "<#selection-anchor>test<#selection-focus>"
@@ -67,7 +69,7 @@
 |   style="color: blue;"
 |   "<#selection-anchor>test<#selection-focus>"
 
-Setting the forecolor to black should remove both the style attribute and the span:
+Setting the forecolor to black should remove both the style and the span:
 | "<#selection-anchor>test<#selection-focus>"
 
 Undo should make "test" blue again:
diff --git a/third_party/WebKit/LayoutTests/editing/undo/remove-css-property-and-remove-style.html b/third_party/WebKit/LayoutTests/editing/undo/remove-css-property-and-remove-style.html
index ee68821..d7e1bb0a 100644
--- a/third_party/WebKit/LayoutTests/editing/undo/remove-css-property-and-remove-style.html
+++ b/third_party/WebKit/LayoutTests/editing/undo/remove-css-property-and-remove-style.html
@@ -1,9 +1,9 @@
 <script src="../../resources/dump-as-markup.js"></script>
-<p>This tests removing style attribute after removing CSS property. Undo should bring back the CSS property we removed.</p>
+<p>This tests removing style after removing CSS property. Undo should bring back the CSS property we removed.</p>
 <div id="test" contenteditable><span style="font-weight: 900;">test</span></div>
 <script>
 
-Markup.description('This tests removing style attribute after removing CSS property. Undo should bring back the CSS property we removed.');
+Markup.description('This tests removing style after removing CSS property. Undo should bring back the CSS property we removed.');
 
 Markup.dump('test', 'Initially "test" should be bold wrapped with a span');
 window.getSelection().selectAllChildren(test);
@@ -11,7 +11,7 @@
 Markup.dump('test', 'Unbolding should remove the CSS style and also remove the span');
 
 document.execCommand('undo', false, null);
-Markup.dump('test', 'Undo should bring back both the span and style attribute so that "test" is once again bold');
+Markup.dump('test', 'Undo should bring back both the span and style so that "test" is once again bold');
 
 document.execCommand('redo', false, null);
 Markup.dump('test', 'Redo should unbold "test" and there should be no span');
@@ -30,10 +30,10 @@
 Markup.dump('test', 'Unbolding should remove the CSS style but shouldn\'t remove the span');
 
 document.execCommand('undo', false, null);
-Markup.dump('test', 'Undo should restore the style attribute and "test" should be bold');
+Markup.dump('test', 'Undo should restore the style and "test" should be bold');
 
 document.execCommand('redo', false, null);
-Markup.dump('test', 'Redo should remove the style attribute again');
+Markup.dump('test', 'Redo should remove the style again');
 
 document.getElementById('test').innerHTML = '<span style="font-weight: 900;">test</span>';
 var span = document.getElementById('test').firstChild;
@@ -42,16 +42,16 @@
 Markup.dump('test', 'Reset, and added color:blue');
 
 document.execCommand('bold', false, null);
-Markup.dump('test', 'Unbolding should remove the font-weight but shouldn\'t remove the style attribute');
+Markup.dump('test', 'Unbolding should remove the font-weight but shouldn\'t remove the style ');
 
 document.execCommand('undo', false, null);
-Markup.dump('test', 'Undo should reset the style attribute so that "test" is both bold and blue');
+Markup.dump('test', 'Undo should reset the style so that "test" is both bold and blue');
 
 document.execCommand('redo', false, null);
 Markup.dump('test', 'Redo should only remove font-weight and leave "test" blue');
 
 document.execCommand('foreColor', false, "#000000");
-Markup.dump('test', 'Setting the forecolor to black should remove both the style attribute and the span');
+Markup.dump('test', 'Setting the forecolor to black should remove both the style and the span');
 
 document.execCommand('undo', false, null);
 Markup.dump('test', 'Undo should make "test" blue again');
diff --git a/third_party/WebKit/LayoutTests/external/WPT_BASE_MANIFEST.json b/third_party/WebKit/LayoutTests/external/WPT_BASE_MANIFEST.json
index 2499a4e..580995a 100644
--- a/third_party/WebKit/LayoutTests/external/WPT_BASE_MANIFEST.json
+++ b/third_party/WebKit/LayoutTests/external/WPT_BASE_MANIFEST.json
@@ -31,12 +31,240 @@
      {}
     ]
    ],
+   "css/CSS2/floats-clear/floating-replaced-height-008.xht": [
+    [
+     "/css/CSS2/floats-clear/floating-replaced-height-008.xht",
+     {}
+    ]
+   ],
+   "css/CSS2/floats-clear/floats-108.xht": [
+    [
+     "/css/CSS2/floats-clear/floats-108.xht",
+     {}
+    ]
+   ],
+   "css/CSS2/floats-clear/floats-109.xht": [
+    [
+     "/css/CSS2/floats-clear/floats-109.xht",
+     {}
+    ]
+   ],
+   "css/CSS2/floats-clear/floats-110.xht": [
+    [
+     "/css/CSS2/floats-clear/floats-110.xht",
+     {}
+    ]
+   ],
+   "css/CSS2/floats-clear/floats-126.xht": [
+    [
+     "/css/CSS2/floats-clear/floats-126.xht",
+     {}
+    ]
+   ],
+   "css/CSS2/floats-clear/floats-127.xht": [
+    [
+     "/css/CSS2/floats-clear/floats-127.xht",
+     {}
+    ]
+   ],
+   "css/CSS2/floats-clear/floats-128.xht": [
+    [
+     "/css/CSS2/floats-clear/floats-128.xht",
+     {}
+    ]
+   ],
+   "css/CSS2/floats-clear/floats-129.xht": [
+    [
+     "/css/CSS2/floats-clear/floats-129.xht",
+     {}
+    ]
+   ],
+   "css/CSS2/floats-clear/floats-130.xht": [
+    [
+     "/css/CSS2/floats-clear/floats-130.xht",
+     {}
+    ]
+   ],
+   "css/CSS2/floats-clear/floats-131.xht": [
+    [
+     "/css/CSS2/floats-clear/floats-131.xht",
+     {}
+    ]
+   ],
+   "css/CSS2/floats-clear/floats-137.xht": [
+    [
+     "/css/CSS2/floats-clear/floats-137.xht",
+     {}
+    ]
+   ],
    "css/CSS2/linebox/inline-formatting-context-010b.xht": [
     [
      "/css/CSS2/linebox/inline-formatting-context-010b.xht",
      {}
     ]
    ],
+   "css/CSS2/normal-flow/inline-block-002.xht": [
+    [
+     "/css/CSS2/normal-flow/inline-block-002.xht",
+     {}
+    ]
+   ],
+   "css/CSS2/normal-flow/inline-block-003.xht": [
+    [
+     "/css/CSS2/normal-flow/inline-block-003.xht",
+     {}
+    ]
+   ],
+   "css/CSS2/normal-flow/inline-block-004.xht": [
+    [
+     "/css/CSS2/normal-flow/inline-block-004.xht",
+     {}
+    ]
+   ],
+   "css/CSS2/normal-flow/inline-block-005.xht": [
+    [
+     "/css/CSS2/normal-flow/inline-block-005.xht",
+     {}
+    ]
+   ],
+   "css/CSS2/normal-flow/inline-block-replaced-height-008.xht": [
+    [
+     "/css/CSS2/normal-flow/inline-block-replaced-height-008.xht",
+     {}
+    ]
+   ],
+   "css/CSS2/normal-flow/inline-replaced-height-008.xht": [
+    [
+     "/css/CSS2/normal-flow/inline-replaced-height-008.xht",
+     {}
+    ]
+   ],
+   "css/CSS2/normal-flow/inlines-003.xht": [
+    [
+     "/css/CSS2/normal-flow/inlines-003.xht",
+     {}
+    ]
+   ],
+   "css/CSS2/normal-flow/inlines-004.xht": [
+    [
+     "/css/CSS2/normal-flow/inlines-004.xht",
+     {}
+    ]
+   ],
+   "css/CSS2/normal-flow/inlines-005.xht": [
+    [
+     "/css/CSS2/normal-flow/inlines-005.xht",
+     {}
+    ]
+   ],
+   "css/CSS2/normal-flow/inlines-006.xht": [
+    [
+     "/css/CSS2/normal-flow/inlines-006.xht",
+     {}
+    ]
+   ],
+   "css/CSS2/positioning/abspos-inline-001.xht": [
+    [
+     "/css/CSS2/positioning/abspos-inline-001.xht",
+     {}
+    ]
+   ],
+   "css/CSS2/positioning/abspos-inline-002.xht": [
+    [
+     "/css/CSS2/positioning/abspos-inline-002.xht",
+     {}
+    ]
+   ],
+   "css/CSS2/positioning/abspos-inline-003.xht": [
+    [
+     "/css/CSS2/positioning/abspos-inline-003.xht",
+     {}
+    ]
+   ],
+   "css/CSS2/positioning/abspos-inline-004.xht": [
+    [
+     "/css/CSS2/positioning/abspos-inline-004.xht",
+     {}
+    ]
+   ],
+   "css/CSS2/positioning/abspos-inline-005.xht": [
+    [
+     "/css/CSS2/positioning/abspos-inline-005.xht",
+     {}
+    ]
+   ],
+   "css/CSS2/positioning/abspos-inline-006.xht": [
+    [
+     "/css/CSS2/positioning/abspos-inline-006.xht",
+     {}
+    ]
+   ],
+   "css/CSS2/positioning/abspos-paged-001.xht": [
+    [
+     "/css/CSS2/positioning/abspos-paged-001.xht",
+     {}
+    ]
+   ],
+   "css/CSS2/positioning/abspos-paged-002.xht": [
+    [
+     "/css/CSS2/positioning/abspos-paged-002.xht",
+     {}
+    ]
+   ],
+   "css/CSS2/positioning/position-004.xht": [
+    [
+     "/css/CSS2/positioning/position-004.xht",
+     {}
+    ]
+   ],
+   "css/CSS2/positioning/position-fixed-003.xht": [
+    [
+     "/css/CSS2/positioning/position-fixed-003.xht",
+     {}
+    ]
+   ],
+   "css/CSS2/positioning/position-fixed-004.xht": [
+    [
+     "/css/CSS2/positioning/position-fixed-004.xht",
+     {}
+    ]
+   ],
+   "css/CSS2/positioning/position-fixed-005.xht": [
+    [
+     "/css/CSS2/positioning/position-fixed-005.xht",
+     {}
+    ]
+   ],
+   "css/CSS2/positioning/position-relative-020.xht": [
+    [
+     "/css/CSS2/positioning/position-relative-020.xht",
+     {}
+    ]
+   ],
+   "css/CSS2/positioning/position-relative-021.xht": [
+    [
+     "/css/CSS2/positioning/position-relative-021.xht",
+     {}
+    ]
+   ],
+   "css/CSS2/positioning/position-relative-022.xht": [
+    [
+     "/css/CSS2/positioning/position-relative-022.xht",
+     {}
+    ]
+   ],
+   "css/CSS2/positioning/position-relative-034.xht": [
+    [
+     "/css/CSS2/positioning/position-relative-034.xht",
+     {}
+    ]
+   ],
+   "css/CSS2/positioning/position-relative-036.xht": [
+    [
+     "/css/CSS2/positioning/position-relative-036.xht",
+     {}
+    ]
+   ],
    "css/css-flexbox-1/interactive/flexbox_interactive_break-after-column-item.html": [
     [
      "/css/css-flexbox-1/interactive/flexbox_interactive_break-after-column-item.html",
@@ -6681,6 +6909,2166 @@
      {}
     ]
    ],
+   "css/CSS2/floats-clear/adjacent-floats-001.xht": [
+    [
+     "/css/CSS2/floats-clear/adjacent-floats-001.xht",
+     [
+      [
+       "/css/CSS2/floats-clear/adjacent-floats-001-ref.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/floats-clear/clear-001.xht": [
+    [
+     "/css/CSS2/floats-clear/clear-001.xht",
+     [
+      [
+       "/css/CSS2/floats-clear/clear-001-ref.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/floats-clear/clear-002.xht": [
+    [
+     "/css/CSS2/floats-clear/clear-002.xht",
+     [
+      [
+       "/css/CSS2/floats-clear/clear-002-ref.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/floats-clear/clear-003.xht": [
+    [
+     "/css/CSS2/floats-clear/clear-003.xht",
+     [
+      [
+       "/css/CSS2/floats-clear/clear-003-ref.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/floats-clear/clear-004.xht": [
+    [
+     "/css/CSS2/floats-clear/clear-004.xht",
+     [
+      [
+       "/css/CSS2/reference/ref-filled-green-100px-square.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/floats-clear/clear-005.xht": [
+    [
+     "/css/CSS2/floats-clear/clear-005.xht",
+     [
+      [
+       "/css/CSS2/floats-clear/clear-001-ref.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/floats-clear/clear-applies-to-000.xht": [
+    [
+     "/css/CSS2/floats-clear/clear-applies-to-000.xht",
+     [
+      [
+       "/css/CSS2/floats-clear/clear-applies-to-000-ref.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/floats-clear/clear-applies-to-001.xht": [
+    [
+     "/css/CSS2/floats-clear/clear-applies-to-001.xht",
+     [
+      [
+       "/css/CSS2/floats-clear/clear-applies-to-001-ref.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/floats-clear/clear-applies-to-002.xht": [
+    [
+     "/css/CSS2/floats-clear/clear-applies-to-002.xht",
+     [
+      [
+       "/css/CSS2/floats-clear/clear-applies-to-001-ref.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/floats-clear/clear-applies-to-003.xht": [
+    [
+     "/css/CSS2/floats-clear/clear-applies-to-003.xht",
+     [
+      [
+       "/css/CSS2/floats-clear/clear-applies-to-001-ref.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/floats-clear/clear-applies-to-004.xht": [
+    [
+     "/css/CSS2/floats-clear/clear-applies-to-004.xht",
+     [
+      [
+       "/css/CSS2/floats-clear/clear-applies-to-001-ref.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/floats-clear/clear-applies-to-005.xht": [
+    [
+     "/css/CSS2/floats-clear/clear-applies-to-005.xht",
+     [
+      [
+       "/css/CSS2/floats-clear/clear-applies-to-001-ref.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/floats-clear/clear-applies-to-006.xht": [
+    [
+     "/css/CSS2/floats-clear/clear-applies-to-006.xht",
+     [
+      [
+       "/css/CSS2/floats-clear/clear-applies-to-001-ref.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/floats-clear/clear-applies-to-007.xht": [
+    [
+     "/css/CSS2/floats-clear/clear-applies-to-007.xht",
+     [
+      [
+       "/css/CSS2/floats-clear/clear-applies-to-001-ref.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/floats-clear/clear-applies-to-008.xht": [
+    [
+     "/css/CSS2/floats-clear/clear-applies-to-008.xht",
+     [
+      [
+       "/css/CSS2/floats-clear/clear-applies-to-008-ref.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/floats-clear/clear-applies-to-009.xht": [
+    [
+     "/css/CSS2/floats-clear/clear-applies-to-009.xht",
+     [
+      [
+       "/css/CSS2/floats-clear/clear-applies-to-009-ref.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/floats-clear/clear-applies-to-012.xht": [
+    [
+     "/css/CSS2/floats-clear/clear-applies-to-012.xht",
+     [
+      [
+       "/css/CSS2/floats-clear/clear-applies-to-001-ref.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/floats-clear/clear-applies-to-013.xht": [
+    [
+     "/css/CSS2/floats-clear/clear-applies-to-013.xht",
+     [
+      [
+       "/css/CSS2/floats-clear/clear-applies-to-009-ref.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/floats-clear/clear-applies-to-014.xht": [
+    [
+     "/css/CSS2/floats-clear/clear-applies-to-014.xht",
+     [
+      [
+       "/css/CSS2/floats-clear/clear-applies-to-001-ref.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/floats-clear/clear-applies-to-015.xht": [
+    [
+     "/css/CSS2/floats-clear/clear-applies-to-015.xht",
+     [
+      [
+       "/css/CSS2/floats-clear/clear-applies-to-001-ref.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/floats-clear/clear-clearance-calculation-001.xht": [
+    [
+     "/css/CSS2/floats-clear/clear-clearance-calculation-001.xht",
+     [
+      [
+       "/css/CSS2/floats-clear/clear-clearance-calculation-001-ref.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/floats-clear/clear-clearance-calculation-002.xht": [
+    [
+     "/css/CSS2/floats-clear/clear-clearance-calculation-002.xht",
+     [
+      [
+       "/css/CSS2/floats-clear/clear-clearance-calculation-002-ref.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/floats-clear/clear-clearance-calculation-003.xht": [
+    [
+     "/css/CSS2/floats-clear/clear-clearance-calculation-003.xht",
+     [
+      [
+       "/css/CSS2/floats-clear/clear-clearance-calculation-003-ref.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/floats-clear/clear-clearance-calculation-004.xht": [
+    [
+     "/css/CSS2/floats-clear/clear-clearance-calculation-004.xht",
+     [
+      [
+       "/css/CSS2/floats-clear/clear-clearance-calculation-004-ref.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/floats-clear/clear-clearance-calculation-005.xht": [
+    [
+     "/css/CSS2/floats-clear/clear-clearance-calculation-005.xht",
+     [
+      [
+       "/css/CSS2/floats-clear/clear-clearance-calculation-005-ref.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/floats-clear/clear-default-inheritance-001.xht": [
+    [
+     "/css/CSS2/floats-clear/clear-default-inheritance-001.xht",
+     [
+      [
+       "/css/CSS2/reference/ref-filled-green-100px-square.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/floats-clear/clear-float-001.xht": [
+    [
+     "/css/CSS2/floats-clear/clear-float-001.xht",
+     [
+      [
+       "/css/CSS2/floats-clear/clear-float-001-ref.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/floats-clear/clear-float-002.xht": [
+    [
+     "/css/CSS2/floats-clear/clear-float-002.xht",
+     [
+      [
+       "/css/CSS2/floats-clear/clear-float-002-ref.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/floats-clear/clear-float-003.xht": [
+    [
+     "/css/CSS2/floats-clear/clear-float-003.xht",
+     [
+      [
+       "/css/CSS2/floats-clear/clear-float-003-ref.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/floats-clear/clear-float-004.xht": [
+    [
+     "/css/CSS2/floats-clear/clear-float-004.xht",
+     [
+      [
+       "/css/CSS2/floats-clear/clear-float-004-ref.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/floats-clear/clear-float-005.xht": [
+    [
+     "/css/CSS2/floats-clear/clear-float-005.xht",
+     [
+      [
+       "/css/CSS2/floats-clear/clear-float-005-ref.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/floats-clear/clear-float-006.xht": [
+    [
+     "/css/CSS2/floats-clear/clear-float-006.xht",
+     [
+      [
+       "/css/CSS2/floats-clear/clear-float-006-ref.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/floats-clear/clear-float-007.xht": [
+    [
+     "/css/CSS2/floats-clear/clear-float-007.xht",
+     [
+      [
+       "/css/CSS2/floats-clear/adjacent-floats-001-ref.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/floats-clear/clear-float-008.xht": [
+    [
+     "/css/CSS2/floats-clear/clear-float-008.xht",
+     [
+      [
+       "/css/CSS2/floats-clear/adjacent-floats-001-ref.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/floats-clear/clear-float-009.xht": [
+    [
+     "/css/CSS2/floats-clear/clear-float-009.xht",
+     [
+      [
+       "/css/CSS2/floats-clear/clear-float-009-ref.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/floats-clear/clear-initial-001.xht": [
+    [
+     "/css/CSS2/floats-clear/clear-initial-001.xht",
+     [
+      [
+       "/css/CSS2/reference/ref-filled-green-100px-square.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/floats-clear/clear-inline-001.xht": [
+    [
+     "/css/CSS2/floats-clear/clear-inline-001.xht",
+     [
+      [
+       "/css/CSS2/floats-clear/clear-inline-001-ref.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/floats-clear/clearance-006.xht": [
+    [
+     "/css/CSS2/floats-clear/clearance-006.xht",
+     [
+      [
+       "/css/CSS2/floats-clear/clearance-006-ref.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/floats-clear/float-003.xht": [
+    [
+     "/css/CSS2/floats-clear/float-003.xht",
+     [
+      [
+       "/css/CSS2/floats-clear/float-003-ref.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/floats-clear/float-005.xht": [
+    [
+     "/css/CSS2/floats-clear/float-005.xht",
+     [
+      [
+       "/css/CSS2/floats-clear/float-005-ref.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/floats-clear/float-006.xht": [
+    [
+     "/css/CSS2/floats-clear/float-006.xht",
+     [
+      [
+       "/css/CSS2/floats-clear/float-006-ref.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/floats-clear/float-applies-to-001.xht": [
+    [
+     "/css/CSS2/floats-clear/float-applies-to-001.xht",
+     [
+      [
+       "/css/CSS2/reference/float-applies-to-001-ref.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/floats-clear/float-applies-to-001a.xht": [
+    [
+     "/css/CSS2/floats-clear/float-applies-to-001a.xht",
+     [
+      [
+       "/css/CSS2/reference/float-applies-to-001-ref.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/floats-clear/float-applies-to-002.xht": [
+    [
+     "/css/CSS2/floats-clear/float-applies-to-002.xht",
+     [
+      [
+       "/css/CSS2/reference/float-applies-to-001-ref.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/floats-clear/float-applies-to-003.xht": [
+    [
+     "/css/CSS2/floats-clear/float-applies-to-003.xht",
+     [
+      [
+       "/css/CSS2/reference/float-applies-to-001-ref.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/floats-clear/float-applies-to-004.xht": [
+    [
+     "/css/CSS2/floats-clear/float-applies-to-004.xht",
+     [
+      [
+       "/css/CSS2/reference/float-applies-to-001-ref.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/floats-clear/float-applies-to-004a.xht": [
+    [
+     "/css/CSS2/floats-clear/float-applies-to-004a.xht",
+     [
+      [
+       "/css/CSS2/reference/float-applies-to-001-ref.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/floats-clear/float-applies-to-005.xht": [
+    [
+     "/css/CSS2/floats-clear/float-applies-to-005.xht",
+     [
+      [
+       "/css/CSS2/reference/float-applies-to-001-ref.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/floats-clear/float-applies-to-006.xht": [
+    [
+     "/css/CSS2/floats-clear/float-applies-to-006.xht",
+     [
+      [
+       "/css/CSS2/reference/float-applies-to-001-ref.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/floats-clear/float-applies-to-007.xht": [
+    [
+     "/css/CSS2/floats-clear/float-applies-to-007.xht",
+     [
+      [
+       "/css/CSS2/reference/float-applies-to-001-ref.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/floats-clear/float-applies-to-008.xht": [
+    [
+     "/css/CSS2/floats-clear/float-applies-to-008.xht",
+     [
+      [
+       "/css/CSS2/floats-clear/float-applies-to-008-ref.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/floats-clear/float-applies-to-008a.xht": [
+    [
+     "/css/CSS2/floats-clear/float-applies-to-008a.xht",
+     [
+      [
+       "/css/CSS2/reference/float-applies-to-001-ref.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/floats-clear/float-applies-to-009.xht": [
+    [
+     "/css/CSS2/floats-clear/float-applies-to-009.xht",
+     [
+      [
+       "/css/CSS2/reference/float-applies-to-001-ref.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/floats-clear/float-applies-to-012.xht": [
+    [
+     "/css/CSS2/floats-clear/float-applies-to-012.xht",
+     [
+      [
+       "/css/CSS2/reference/float-applies-to-001-ref.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/floats-clear/float-applies-to-013.xht": [
+    [
+     "/css/CSS2/floats-clear/float-applies-to-013.xht",
+     [
+      [
+       "/css/CSS2/reference/float-applies-to-001-ref.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/floats-clear/float-applies-to-014.xht": [
+    [
+     "/css/CSS2/floats-clear/float-applies-to-014.xht",
+     [
+      [
+       "/css/CSS2/reference/float-applies-to-001-ref.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/floats-clear/float-applies-to-015.xht": [
+    [
+     "/css/CSS2/floats-clear/float-applies-to-015.xht",
+     [
+      [
+       "/css/CSS2/reference/float-applies-to-001-ref.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/floats-clear/float-non-replaced-height-001.xht": [
+    [
+     "/css/CSS2/floats-clear/float-non-replaced-height-001.xht",
+     [
+      [
+       "/css/CSS2/floats-clear/float-non-replaced-height-001-ref.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/floats-clear/float-non-replaced-width-001.xht": [
+    [
+     "/css/CSS2/floats-clear/float-non-replaced-width-001.xht",
+     [
+      [
+       "/css/CSS2/floats-clear/float-non-replaced-width-001-ref.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/floats-clear/float-non-replaced-width-002.xht": [
+    [
+     "/css/CSS2/floats-clear/float-non-replaced-width-002.xht",
+     [
+      [
+       "/css/CSS2/floats-clear/float-non-replaced-width-002-ref.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/floats-clear/float-non-replaced-width-003.xht": [
+    [
+     "/css/CSS2/floats-clear/float-non-replaced-width-003.xht",
+     [
+      [
+       "/css/CSS2/floats-clear/float-non-replaced-width-003-ref.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/floats-clear/float-non-replaced-width-004.xht": [
+    [
+     "/css/CSS2/floats-clear/float-non-replaced-width-004.xht",
+     [
+      [
+       "/css/CSS2/floats-clear/float-non-replaced-width-002-ref.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/floats-clear/float-non-replaced-width-005.xht": [
+    [
+     "/css/CSS2/floats-clear/float-non-replaced-width-005.xht",
+     [
+      [
+       "/css/CSS2/floats-clear/float-non-replaced-width-001-ref.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/floats-clear/float-non-replaced-width-007.xht": [
+    [
+     "/css/CSS2/floats-clear/float-non-replaced-width-007.xht",
+     [
+      [
+       "/css/CSS2/positioning/absolute-non-replaced-width-017-ref.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/floats-clear/float-non-replaced-width-008.xht": [
+    [
+     "/css/CSS2/floats-clear/float-non-replaced-width-008.xht",
+     [
+      [
+       "/css/CSS2/positioning/absolute-non-replaced-width-017-ref.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/floats-clear/float-non-replaced-width-009.xht": [
+    [
+     "/css/CSS2/floats-clear/float-non-replaced-width-009.xht",
+     [
+      [
+       "/css/CSS2/positioning/absolute-non-replaced-width-017-ref.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/floats-clear/float-non-replaced-width-010.xht": [
+    [
+     "/css/CSS2/floats-clear/float-non-replaced-width-010.xht",
+     [
+      [
+       "/css/CSS2/positioning/absolute-non-replaced-width-017-ref.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/floats-clear/float-non-replaced-width-011.xht": [
+    [
+     "/css/CSS2/floats-clear/float-non-replaced-width-011.xht",
+     [
+      [
+       "/css/CSS2/positioning/absolute-non-replaced-width-017-ref.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/floats-clear/float-non-replaced-width-012.xht": [
+    [
+     "/css/CSS2/floats-clear/float-non-replaced-width-012.xht",
+     [
+      [
+       "/css/CSS2/positioning/absolute-non-replaced-width-017-ref.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/floats-clear/float-replaced-height-001.xht": [
+    [
+     "/css/CSS2/floats-clear/float-replaced-height-001.xht",
+     [
+      [
+       "/css/CSS2/floats-clear/float-replaced-height-001-ref.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/floats-clear/float-replaced-height-002.xht": [
+    [
+     "/css/CSS2/floats-clear/float-replaced-height-002.xht",
+     [
+      [
+       "/css/CSS2/floats-clear/float-replaced-height-002-ref.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/floats-clear/float-replaced-height-003.xht": [
+    [
+     "/css/CSS2/floats-clear/float-replaced-height-003.xht",
+     [
+      [
+       "/css/CSS2/floats-clear/float-replaced-height-003-ref.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/floats-clear/float-replaced-height-004.xht": [
+    [
+     "/css/CSS2/floats-clear/float-replaced-height-004.xht",
+     [
+      [
+       "/css/CSS2/floats-clear/float-replaced-height-004-ref.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/floats-clear/float-replaced-height-005.xht": [
+    [
+     "/css/CSS2/floats-clear/float-replaced-height-005.xht",
+     [
+      [
+       "/css/CSS2/floats-clear/float-replaced-height-005-ref.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/floats-clear/float-replaced-height-006.xht": [
+    [
+     "/css/CSS2/floats-clear/float-replaced-height-006.xht",
+     [
+      [
+       "/css/CSS2/floats-clear/float-replaced-height-006-ref.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/floats-clear/float-replaced-height-007.xht": [
+    [
+     "/css/CSS2/floats-clear/float-replaced-height-007.xht",
+     [
+      [
+       "/css/CSS2/floats-clear/float-replaced-height-004-ref.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/floats-clear/float-replaced-width-001.xht": [
+    [
+     "/css/CSS2/floats-clear/float-replaced-width-001.xht",
+     [
+      [
+       "/css/CSS2/floats-clear/float-non-replaced-width-001-ref.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/floats-clear/float-replaced-width-002.xht": [
+    [
+     "/css/CSS2/floats-clear/float-replaced-width-002.xht",
+     [
+      [
+       "/css/CSS2/floats-clear/float-non-replaced-width-002-ref.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/floats-clear/float-replaced-width-003.xht": [
+    [
+     "/css/CSS2/floats-clear/float-replaced-width-003.xht",
+     [
+      [
+       "/css/CSS2/floats-clear/float-non-replaced-width-003-ref.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/floats-clear/float-replaced-width-004.xht": [
+    [
+     "/css/CSS2/floats-clear/float-replaced-width-004.xht",
+     [
+      [
+       "/css/CSS2/floats-clear/float-non-replaced-width-002-ref.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/floats-clear/float-replaced-width-005.xht": [
+    [
+     "/css/CSS2/floats-clear/float-replaced-width-005.xht",
+     [
+      [
+       "/css/CSS2/floats-clear/float-non-replaced-width-001-ref.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/floats-clear/float-replaced-width-006.xht": [
+    [
+     "/css/CSS2/floats-clear/float-replaced-width-006.xht",
+     [
+      [
+       "/css/CSS2/floats-clear/float-replaced-width-006-ref.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/floats-clear/float-replaced-width-007.xht": [
+    [
+     "/css/CSS2/floats-clear/float-replaced-width-007.xht",
+     [
+      [
+       "/css/CSS2/floats-clear/float-replaced-width-007-ref.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/floats-clear/float-replaced-width-008.xht": [
+    [
+     "/css/CSS2/floats-clear/float-replaced-width-008.xht",
+     [
+      [
+       "/css/CSS2/floats-clear/float-replaced-width-008-ref.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/floats-clear/float-replaced-width-009.xht": [
+    [
+     "/css/CSS2/floats-clear/float-replaced-width-009.xht",
+     [
+      [
+       "/css/CSS2/floats-clear/float-replaced-width-009-ref.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/floats-clear/float-replaced-width-011.xht": [
+    [
+     "/css/CSS2/floats-clear/float-replaced-width-011.xht",
+     [
+      [
+       "/css/CSS2/floats-clear/float-replaced-width-011-ref.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/floats-clear/floats-001.xht": [
+    [
+     "/css/CSS2/floats-clear/floats-001.xht",
+     [
+      [
+       "/css/CSS2/floats-clear/floats-001-ref.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/floats-clear/floats-002.xht": [
+    [
+     "/css/CSS2/floats-clear/floats-002.xht",
+     [
+      [
+       "/css/CSS2/floats-clear/floats-002-ref.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/floats-clear/floats-003.xht": [
+    [
+     "/css/CSS2/floats-clear/floats-003.xht",
+     [
+      [
+       "/css/CSS2/floats-clear/adjacent-floats-001-ref.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/floats-clear/floats-004.xht": [
+    [
+     "/css/CSS2/floats-clear/floats-004.xht",
+     [
+      [
+       "/css/CSS2/floats-clear/floats-004-ref.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/floats-clear/floats-005.xht": [
+    [
+     "/css/CSS2/floats-clear/floats-005.xht",
+     [
+      [
+       "/css/CSS2/floats-clear/floats-005-ref.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/floats-clear/floats-006.xht": [
+    [
+     "/css/CSS2/floats-clear/floats-006.xht",
+     [
+      [
+       "/css/CSS2/floats-clear/floats-006-ref.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/floats-clear/floats-007.xht": [
+    [
+     "/css/CSS2/floats-clear/floats-007.xht",
+     [
+      [
+       "/css/CSS2/floats-clear/floats-007-ref.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/floats-clear/floats-008.xht": [
+    [
+     "/css/CSS2/floats-clear/floats-008.xht",
+     [
+      [
+       "/css/CSS2/floats-clear/clear-float-004-ref.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/floats-clear/floats-009.xht": [
+    [
+     "/css/CSS2/floats-clear/floats-009.xht",
+     [
+      [
+       "/css/CSS2/floats-clear/floats-009-ref.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/floats-clear/floats-014.xht": [
+    [
+     "/css/CSS2/floats-clear/floats-014.xht",
+     [
+      [
+       "/css/CSS2/floats-clear/floats-014-ref.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/floats-clear/floats-015.xht": [
+    [
+     "/css/CSS2/floats-clear/floats-015.xht",
+     [
+      [
+       "/css/CSS2/floats-clear/floats-014-ref.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/floats-clear/floats-019.xht": [
+    [
+     "/css/CSS2/floats-clear/floats-019.xht",
+     [
+      [
+       "/css/CSS2/floats-clear/floats-019-ref.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/floats-clear/floats-022.xht": [
+    [
+     "/css/CSS2/floats-clear/floats-022.xht",
+     [
+      [
+       "/css/CSS2/floats-clear/floats-022-ref.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/floats-clear/floats-023.xht": [
+    [
+     "/css/CSS2/floats-clear/floats-023.xht",
+     [
+      [
+       "/css/CSS2/floats-clear/floats-023-ref.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/floats-clear/floats-024.xht": [
+    [
+     "/css/CSS2/floats-clear/floats-024.xht",
+     [
+      [
+       "/css/CSS2/floats-clear/floats-024-ref.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/floats-clear/floats-025.xht": [
+    [
+     "/css/CSS2/floats-clear/floats-025.xht",
+     [
+      [
+       "/css/CSS2/floats-clear/floats-025-ref.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/floats-clear/floats-026.xht": [
+    [
+     "/css/CSS2/floats-clear/floats-026.xht",
+     [
+      [
+       "/css/CSS2/floats-clear/floats-026-ref.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/floats-clear/floats-027.xht": [
+    [
+     "/css/CSS2/floats-clear/floats-027.xht",
+     [
+      [
+       "/css/CSS2/floats-clear/floats-027-ref.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/floats-clear/floats-028.xht": [
+    [
+     "/css/CSS2/floats-clear/floats-028.xht",
+     [
+      [
+       "/css/CSS2/floats-clear/floats-028-ref.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/floats-clear/floats-029.xht": [
+    [
+     "/css/CSS2/floats-clear/floats-029.xht",
+     [
+      [
+       "/css/CSS2/floats-clear/floats-029-ref.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/floats-clear/floats-030.xht": [
+    [
+     "/css/CSS2/floats-clear/floats-030.xht",
+     [
+      [
+       "/css/CSS2/floats-clear/floats-030-ref.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/floats-clear/floats-031.xht": [
+    [
+     "/css/CSS2/floats-clear/floats-031.xht",
+     [
+      [
+       "/css/CSS2/floats-clear/floats-031-ref.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/floats-clear/floats-036.xht": [
+    [
+     "/css/CSS2/floats-clear/floats-036.xht",
+     [
+      [
+       "/css/CSS2/floats-clear/floats-036-ref.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/floats-clear/floats-038.xht": [
+    [
+     "/css/CSS2/floats-clear/floats-038.xht",
+     [
+      [
+       "/css/CSS2/floats-clear/floats-038-ref.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/floats-clear/floats-039.xht": [
+    [
+     "/css/CSS2/floats-clear/floats-039.xht",
+     [
+      [
+       "/css/CSS2/floats-clear/floats-038-ref.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/floats-clear/floats-040.xht": [
+    [
+     "/css/CSS2/floats-clear/floats-040.xht",
+     [
+      [
+       "/css/CSS2/floats-clear/floats-038-ref.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/floats-clear/floats-041.xht": [
+    [
+     "/css/CSS2/floats-clear/floats-041.xht",
+     [
+      [
+       "/css/CSS2/floats-clear/floats-041-ref.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/floats-clear/floats-043.xht": [
+    [
+     "/css/CSS2/floats-clear/floats-043.xht",
+     [
+      [
+       "/css/CSS2/floats-clear/floats-043-ref.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/floats-clear/floats-101.xht": [
+    [
+     "/css/CSS2/floats-clear/floats-101.xht",
+     [
+      [
+       "/css/CSS2/floats-clear/floats-101-ref.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/floats-clear/floats-111.xht": [
+    [
+     "/css/CSS2/floats-clear/floats-111.xht",
+     [
+      [
+       "/css/CSS2/floats-clear/floats-111-ref.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/floats-clear/floats-112.xht": [
+    [
+     "/css/CSS2/floats-clear/floats-112.xht",
+     [
+      [
+       "/css/CSS2/floats-clear/floats-112-ref.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/floats-clear/floats-113.xht": [
+    [
+     "/css/CSS2/floats-clear/floats-113.xht",
+     [
+      [
+       "/css/CSS2/floats-clear/floats-113-ref.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/floats-clear/floats-114.xht": [
+    [
+     "/css/CSS2/floats-clear/floats-114.xht",
+     [
+      [
+       "/css/CSS2/floats-clear/floats-114-ref.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/floats-clear/floats-115.xht": [
+    [
+     "/css/CSS2/floats-clear/floats-115.xht",
+     [
+      [
+       "/css/CSS2/floats-clear/floats-115-ref.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/floats-clear/floats-116.xht": [
+    [
+     "/css/CSS2/floats-clear/floats-116.xht",
+     [
+      [
+       "/css/CSS2/floats-clear/floats-116-ref.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/floats-clear/floats-117.xht": [
+    [
+     "/css/CSS2/floats-clear/floats-117.xht",
+     [
+      [
+       "/css/CSS2/floats-clear/floats-116-ref.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/floats-clear/floats-118.xht": [
+    [
+     "/css/CSS2/floats-clear/floats-118.xht",
+     [
+      [
+       "/css/CSS2/floats-clear/floats-118-ref.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/floats-clear/floats-119.xht": [
+    [
+     "/css/CSS2/floats-clear/floats-119.xht",
+     [
+      [
+       "/css/CSS2/floats-clear/floats-119-ref.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/floats-clear/floats-120.xht": [
+    [
+     "/css/CSS2/floats-clear/floats-120.xht",
+     [
+      [
+       "/css/CSS2/floats-clear/floats-119-ref.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/floats-clear/floats-121.xht": [
+    [
+     "/css/CSS2/floats-clear/floats-121.xht",
+     [
+      [
+       "/css/CSS2/floats-clear/floats-121-ref.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/floats-clear/floats-122.xht": [
+    [
+     "/css/CSS2/floats-clear/floats-122.xht",
+     [
+      [
+       "/css/CSS2/floats-clear/floats-122-ref.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/floats-clear/floats-123.xht": [
+    [
+     "/css/CSS2/floats-clear/floats-123.xht",
+     [
+      [
+       "/css/CSS2/floats-clear/floats-123-ref.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/floats-clear/floats-124.xht": [
+    [
+     "/css/CSS2/floats-clear/floats-124.xht",
+     [
+      [
+       "/css/CSS2/floats-clear/floats-124-ref.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/floats-clear/floats-125.xht": [
+    [
+     "/css/CSS2/floats-clear/floats-125.xht",
+     [
+      [
+       "/css/CSS2/floats-clear/floats-125-ref.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/floats-clear/floats-132.xht": [
+    [
+     "/css/CSS2/floats-clear/floats-132.xht",
+     [
+      [
+       "/css/CSS2/floats-clear/floats-132-ref.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/floats-clear/floats-133.xht": [
+    [
+     "/css/CSS2/floats-clear/floats-133.xht",
+     [
+      [
+       "/css/CSS2/floats-clear/floats-133-ref.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/floats-clear/floats-134.xht": [
+    [
+     "/css/CSS2/floats-clear/floats-134.xht",
+     [
+      [
+       "/css/CSS2/floats-clear/floats-133-ref.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/floats-clear/floats-135.xht": [
+    [
+     "/css/CSS2/floats-clear/floats-135.xht",
+     [
+      [
+       "/css/CSS2/floats-clear/floats-135-ref.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/floats-clear/floats-136.xht": [
+    [
+     "/css/CSS2/floats-clear/floats-136.xht",
+     [
+      [
+       "/css/CSS2/floats-clear/floats-136-ref.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/floats-clear/floats-138.xht": [
+    [
+     "/css/CSS2/floats-clear/floats-138.xht",
+     [
+      [
+       "/css/CSS2/floats-clear/floats-138-ref.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/floats-clear/floats-139.xht": [
+    [
+     "/css/CSS2/floats-clear/floats-139.xht",
+     [
+      [
+       "/css/CSS2/floats-clear/floats-139-ref.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/floats-clear/floats-141.xht": [
+    [
+     "/css/CSS2/floats-clear/floats-141.xht",
+     [
+      [
+       "/css/CSS2/floats-clear/floats-141-ref.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/floats-clear/floats-142.xht": [
+    [
+     "/css/CSS2/floats-clear/floats-142.xht",
+     [
+      [
+       "/css/CSS2/floats-clear/floats-142-ref.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/floats-clear/floats-143.xht": [
+    [
+     "/css/CSS2/floats-clear/floats-143.xht",
+     [
+      [
+       "/css/CSS2/floats-clear/floats-143-ref.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/floats-clear/floats-144.xht": [
+    [
+     "/css/CSS2/floats-clear/floats-144.xht",
+     [
+      [
+       "/css/CSS2/floats-clear/floats-144-ref.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/floats-clear/floats-145.xht": [
+    [
+     "/css/CSS2/floats-clear/floats-145.xht",
+     [
+      [
+       "/css/CSS2/floats-clear/floats-145-ref.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/floats-clear/floats-146.xht": [
+    [
+     "/css/CSS2/floats-clear/floats-146.xht",
+     [
+      [
+       "/css/CSS2/floats-clear/floats-146-ref.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/floats-clear/floats-147.xht": [
+    [
+     "/css/CSS2/floats-clear/floats-147.xht",
+     [
+      [
+       "/css/CSS2/floats-clear/floats-147-ref.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/floats-clear/floats-149.xht": [
+    [
+     "/css/CSS2/floats-clear/floats-149.xht",
+     [
+      [
+       "/css/CSS2/floats-clear/floats-149-ref.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/floats-clear/floats-150.xht": [
+    [
+     "/css/CSS2/floats-clear/floats-150.xht",
+     [
+      [
+       "/css/CSS2/floats-clear/floats-150-ref.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/floats-clear/floats-152.xht": [
+    [
+     "/css/CSS2/floats-clear/floats-152.xht",
+     [
+      [
+       "/css/CSS2/floats-clear/floats-150-ref.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/floats-clear/floats-153.xht": [
+    [
+     "/css/CSS2/floats-clear/floats-153.xht",
+     [
+      [
+       "/css/CSS2/floats-clear/floats-153-ref.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/floats-clear/floats-154.xht": [
+    [
+     "/css/CSS2/floats-clear/floats-154.xht",
+     [
+      [
+       "/css/CSS2/floats-clear/floats-154-ref.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/floats-clear/floats-bfc-001.xht": [
+    [
+     "/css/CSS2/floats-clear/floats-bfc-001.xht",
+     [
+      [
+       "/css/CSS2/floats-clear/floats-bfc-001-ref.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/floats-clear/floats-bfc-002.xht": [
+    [
+     "/css/CSS2/floats-clear/floats-bfc-002.xht",
+     [
+      [
+       "/css/CSS2/floats-clear/floats-bfc-001-ref.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/floats-clear/margin-collapse-018.xht": [
+    [
+     "/css/CSS2/floats-clear/margin-collapse-018.xht",
+     [
+      [
+       "/css/CSS2/floats-clear/clearance-006-ref.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/floats-clear/margin-collapse-023.xht": [
+    [
+     "/css/CSS2/floats-clear/margin-collapse-023.xht",
+     [
+      [
+       "/css/CSS2/floats-clear/clearance-006-ref.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/floats-clear/margin-collapse-024.xht": [
+    [
+     "/css/CSS2/floats-clear/margin-collapse-024.xht",
+     [
+      [
+       "/css/CSS2/floats-clear/margin-collapse-024-ref.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/floats-clear/margin-collapse-027.xht": [
+    [
+     "/css/CSS2/floats-clear/margin-collapse-027.xht",
+     [
+      [
+       "/css/CSS2/floats-clear/clearance-006-ref.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/floats-clear/margin-collapse-031.xht": [
+    [
+     "/css/CSS2/floats-clear/margin-collapse-031.xht",
+     [
+      [
+       "/css/CSS2/floats-clear/margin-collapse-031-ref.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/floats-clear/margin-collapse-033.xht": [
+    [
+     "/css/CSS2/floats-clear/margin-collapse-033.xht",
+     [
+      [
+       "/css/CSS2/reference/ref-filled-green-100px-square.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/floats-clear/margin-collapse-034.xht": [
+    [
+     "/css/CSS2/floats-clear/margin-collapse-034.xht",
+     [
+      [
+       "/css/CSS2/reference/ref-filled-green-100px-square.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/floats-clear/margin-collapse-035.xht": [
+    [
+     "/css/CSS2/floats-clear/margin-collapse-035.xht",
+     [
+      [
+       "/css/CSS2/reference/ref-filled-green-100px-square.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/floats-clear/margin-collapse-121.xht": [
+    [
+     "/css/CSS2/floats-clear/margin-collapse-121.xht",
+     [
+      [
+       "/css/CSS2/floats-clear/margin-collapse-121-ref.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/floats-clear/margin-collapse-122.xht": [
+    [
+     "/css/CSS2/floats-clear/margin-collapse-122.xht",
+     [
+      [
+       "/css/CSS2/floats-clear/margin-collapse-121-ref.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/floats-clear/margin-collapse-123.xht": [
+    [
+     "/css/CSS2/floats-clear/margin-collapse-123.xht",
+     [
+      [
+       "/css/CSS2/floats-clear/margin-collapse-123-ref.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/floats-clear/margin-collapse-125.xht": [
+    [
+     "/css/CSS2/floats-clear/margin-collapse-125.xht",
+     [
+      [
+       "/css/CSS2/floats-clear/margin-collapse-125-ref.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/floats-clear/margin-collapse-134.xht": [
+    [
+     "/css/CSS2/floats-clear/margin-collapse-134.xht",
+     [
+      [
+       "/css/CSS2/floats-clear/margin-collapse-134-ref.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/floats-clear/margin-collapse-135.xht": [
+    [
+     "/css/CSS2/floats-clear/margin-collapse-135.xht",
+     [
+      [
+       "/css/CSS2/floats-clear/margin-collapse-135-ref.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/floats-clear/margin-collapse-142.xht": [
+    [
+     "/css/CSS2/floats-clear/margin-collapse-142.xht",
+     [
+      [
+       "/css/CSS2/floats-clear/margin-collapse-142-ref.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/floats-clear/margin-collapse-157.xht": [
+    [
+     "/css/CSS2/floats-clear/margin-collapse-157.xht",
+     [
+      [
+       "/css/CSS2/floats-clear/margin-collapse-157-ref.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/floats-clear/margin-collapse-158.xht": [
+    [
+     "/css/CSS2/floats-clear/margin-collapse-158.xht",
+     [
+      [
+       "/css/CSS2/floats-clear/margin-collapse-158-ref.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/floats-clear/margin-collapse-165.xht": [
+    [
+     "/css/CSS2/floats-clear/margin-collapse-165.xht",
+     [
+      [
+       "/css/CSS2/floats-clear/margin-collapse-165-ref.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/floats-clear/margin-collapse-166.xht": [
+    [
+     "/css/CSS2/floats-clear/margin-collapse-166.xht",
+     [
+      [
+       "/css/CSS2/floats-clear/margin-collapse-165-ref.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/floats-clear/margin-collapse-clear-002.xht": [
+    [
+     "/css/CSS2/floats-clear/margin-collapse-clear-002.xht",
+     [
+      [
+       "/css/CSS2/floats-clear/margin-collapse-clear-002-ref.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/floats-clear/margin-collapse-clear-003.xht": [
+    [
+     "/css/CSS2/floats-clear/margin-collapse-clear-003.xht",
+     [
+      [
+       "/css/CSS2/floats-clear/margin-collapse-clear-003-ref.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/floats-clear/margin-collapse-clear-008.xht": [
+    [
+     "/css/CSS2/floats-clear/margin-collapse-clear-008.xht",
+     [
+      [
+       "/css/CSS2/floats-clear/margin-collapse-clear-002-ref.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/floats-clear/margin-collapse-clear-009.xht": [
+    [
+     "/css/CSS2/floats-clear/margin-collapse-clear-009.xht",
+     [
+      [
+       "/css/CSS2/floats-clear/margin-collapse-clear-003-ref.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/floats-clear/margin-collapse-clear-012.xht": [
+    [
+     "/css/CSS2/floats-clear/margin-collapse-clear-012.xht",
+     [
+      [
+       "/css/CSS2/floats-clear/margin-collapse-clear-012-ref.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/floats-clear/margin-collapse-clear-013.xht": [
+    [
+     "/css/CSS2/floats-clear/margin-collapse-clear-013.xht",
+     [
+      [
+       "/css/CSS2/floats-clear/margin-collapse-clear-012-ref.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/floats-clear/margin-collapse-clear-014.xht": [
+    [
+     "/css/CSS2/floats-clear/margin-collapse-clear-014.xht",
+     [
+      [
+       "/css/CSS2/floats-clear/margin-collapse-clear-014-ref.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/floats-clear/margin-collapse-clear-015.xht": [
+    [
+     "/css/CSS2/floats-clear/margin-collapse-clear-015.xht",
+     [
+      [
+       "/css/CSS2/floats-clear/margin-collapse-clear-015-ref.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/floats-clear/margin-collapse-clear-016.xht": [
+    [
+     "/css/CSS2/floats-clear/margin-collapse-clear-016.xht",
+     [
+      [
+       "/css/CSS2/floats-clear/margin-collapse-clear-016-ref.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/floats-clear/margin-collapse-clear-017.xht": [
+    [
+     "/css/CSS2/floats-clear/margin-collapse-clear-017.xht",
+     [
+      [
+       "/css/CSS2/floats-clear/margin-collapse-clear-017-ref.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
    "css/CSS2/floats/floats-placement-vertical-001a.xht": [
     [
      "/css/CSS2/floats/floats-placement-vertical-001a.xht",
@@ -9325,6 +11713,14454 @@
      {}
     ]
    ],
+   "css/CSS2/normal-flow/block-formatting-context-height-001.xht": [
+    [
+     "/css/CSS2/normal-flow/block-formatting-context-height-001.xht",
+     [
+      [
+       "/css/CSS2/reference/ref-filled-black-96px-square.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/normal-flow/block-formatting-context-height-002.xht": [
+    [
+     "/css/CSS2/normal-flow/block-formatting-context-height-002.xht",
+     [
+      [
+       "/css/CSS2/reference/ref-filled-black-96px-square.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/normal-flow/block-formatting-context-height-003.xht": [
+    [
+     "/css/CSS2/normal-flow/block-formatting-context-height-003.xht",
+     [
+      [
+       "/css/CSS2/normal-flow/block-formatting-context-height-003-ref.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/normal-flow/block-formatting-contexts-001.xht": [
+    [
+     "/css/CSS2/normal-flow/block-formatting-contexts-001.xht",
+     [
+      [
+       "/css/CSS2/normal-flow/block-formatting-contexts-001-ref.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/normal-flow/block-formatting-contexts-003.xht": [
+    [
+     "/css/CSS2/normal-flow/block-formatting-contexts-003.xht",
+     [
+      [
+       "/css/CSS2/normal-flow/block-formatting-contexts-003-ref.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/normal-flow/block-formatting-contexts-004.xht": [
+    [
+     "/css/CSS2/normal-flow/block-formatting-contexts-004.xht",
+     [
+      [
+       "/css/CSS2/normal-flow/block-formatting-contexts-004-ref.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/normal-flow/block-formatting-contexts-005.xht": [
+    [
+     "/css/CSS2/normal-flow/block-formatting-contexts-005.xht",
+     [
+      [
+       "/css/CSS2/normal-flow/block-formatting-contexts-005-ref.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/normal-flow/block-formatting-contexts-006.xht": [
+    [
+     "/css/CSS2/normal-flow/block-formatting-contexts-006.xht",
+     [
+      [
+       "/css/CSS2/normal-flow/block-formatting-contexts-006-ref.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/normal-flow/block-formatting-contexts-007.xht": [
+    [
+     "/css/CSS2/normal-flow/block-formatting-contexts-007.xht",
+     [
+      [
+       "/css/CSS2/normal-flow/block-formatting-contexts-005-ref.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/normal-flow/block-formatting-contexts-008.xht": [
+    [
+     "/css/CSS2/normal-flow/block-formatting-contexts-008.xht",
+     [
+      [
+       "/css/CSS2/normal-flow/block-formatting-contexts-008-ref.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/normal-flow/block-formatting-contexts-009.xht": [
+    [
+     "/css/CSS2/normal-flow/block-formatting-contexts-009.xht",
+     [
+      [
+       "/css/CSS2/normal-flow/block-formatting-contexts-008-ref.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/normal-flow/block-formatting-contexts-010.xht": [
+    [
+     "/css/CSS2/normal-flow/block-formatting-contexts-010.xht",
+     [
+      [
+       "/css/CSS2/normal-flow/block-formatting-contexts-008-ref.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/normal-flow/block-formatting-contexts-011.xht": [
+    [
+     "/css/CSS2/normal-flow/block-formatting-contexts-011.xht",
+     [
+      [
+       "/css/CSS2/normal-flow/block-formatting-contexts-011-ref.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/normal-flow/block-formatting-contexts-012.xht": [
+    [
+     "/css/CSS2/normal-flow/block-formatting-contexts-012.xht",
+     [
+      [
+       "/css/CSS2/normal-flow/block-formatting-contexts-008-ref.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/normal-flow/block-formatting-contexts-015.xht": [
+    [
+     "/css/CSS2/normal-flow/block-formatting-contexts-015.xht",
+     [
+      [
+       "/css/CSS2/normal-flow/block-formatting-contexts-015-ref.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/normal-flow/block-formatting-contexts-016.xht": [
+    [
+     "/css/CSS2/normal-flow/block-formatting-contexts-016.xht",
+     [
+      [
+       "/css/CSS2/reference/ref-filled-green-100px-square.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/normal-flow/block-in-inline-append-001.xht": [
+    [
+     "/css/CSS2/normal-flow/block-in-inline-append-001.xht",
+     [
+      [
+       "/css/CSS2/normal-flow/block-in-inline-append-001-ref.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/normal-flow/block-in-inline-append-002.xht": [
+    [
+     "/css/CSS2/normal-flow/block-in-inline-append-002.xht",
+     [
+      [
+       "/css/CSS2/normal-flow/block-in-inline-append-002-nosplit-ref.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/normal-flow/block-in-inline-empty-001.xht": [
+    [
+     "/css/CSS2/normal-flow/block-in-inline-empty-001.xht",
+     [
+      [
+       "/css/CSS2/normal-flow/block-in-inline-empty-001-ref.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/normal-flow/block-in-inline-empty-002.xht": [
+    [
+     "/css/CSS2/normal-flow/block-in-inline-empty-002.xht",
+     [
+      [
+       "/css/CSS2/normal-flow/block-in-inline-empty-002-ref.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/normal-flow/block-in-inline-empty-003.xht": [
+    [
+     "/css/CSS2/normal-flow/block-in-inline-empty-003.xht",
+     [
+      [
+       "/css/CSS2/normal-flow/block-in-inline-empty-003-ref.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/normal-flow/block-in-inline-empty-004.xht": [
+    [
+     "/css/CSS2/normal-flow/block-in-inline-empty-004.xht",
+     [
+      [
+       "/css/CSS2/normal-flow/block-in-inline-empty-004-ref.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/normal-flow/block-in-inline-float-between-001.xht": [
+    [
+     "/css/CSS2/normal-flow/block-in-inline-float-between-001.xht",
+     [
+      [
+       "/css/CSS2/normal-flow/block-in-inline-float-between-001-ref.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/normal-flow/block-in-inline-insert-001a.xht": [
+    [
+     "/css/CSS2/normal-flow/block-in-inline-insert-001a.xht",
+     [
+      [
+       "/css/CSS2/normal-flow/block-in-inline-insert-001-nosplit-ref.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/normal-flow/block-in-inline-insert-001b.xht": [
+    [
+     "/css/CSS2/normal-flow/block-in-inline-insert-001b.xht",
+     [
+      [
+       "/css/CSS2/normal-flow/block-in-inline-insert-001-ref.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/normal-flow/block-in-inline-insert-001c.xht": [
+    [
+     "/css/CSS2/normal-flow/block-in-inline-insert-001c.xht",
+     [
+      [
+       "/css/CSS2/normal-flow/block-in-inline-insert-001-ref.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/normal-flow/block-in-inline-insert-001d.xht": [
+    [
+     "/css/CSS2/normal-flow/block-in-inline-insert-001d.xht",
+     [
+      [
+       "/css/CSS2/normal-flow/block-in-inline-insert-001-ref.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/normal-flow/block-in-inline-insert-001e.xht": [
+    [
+     "/css/CSS2/normal-flow/block-in-inline-insert-001e.xht",
+     [
+      [
+       "/css/CSS2/normal-flow/block-in-inline-insert-001-ref.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/normal-flow/block-in-inline-insert-001f.xht": [
+    [
+     "/css/CSS2/normal-flow/block-in-inline-insert-001f.xht",
+     [
+      [
+       "/css/CSS2/normal-flow/block-in-inline-insert-001-ref.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/normal-flow/block-in-inline-insert-001g.xht": [
+    [
+     "/css/CSS2/normal-flow/block-in-inline-insert-001g.xht",
+     [
+      [
+       "/css/CSS2/normal-flow/block-in-inline-insert-001-ref.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/normal-flow/block-in-inline-insert-001h.xht": [
+    [
+     "/css/CSS2/normal-flow/block-in-inline-insert-001h.xht",
+     [
+      [
+       "/css/CSS2/normal-flow/block-in-inline-insert-001-ref.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/normal-flow/block-in-inline-insert-001i.xht": [
+    [
+     "/css/CSS2/normal-flow/block-in-inline-insert-001i.xht",
+     [
+      [
+       "/css/CSS2/normal-flow/block-in-inline-insert-001-ref.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/normal-flow/block-in-inline-insert-001j.xht": [
+    [
+     "/css/CSS2/normal-flow/block-in-inline-insert-001j.xht",
+     [
+      [
+       "/css/CSS2/normal-flow/block-in-inline-insert-001-ref.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/normal-flow/block-in-inline-insert-001k.xht": [
+    [
+     "/css/CSS2/normal-flow/block-in-inline-insert-001k.xht",
+     [
+      [
+       "/css/CSS2/normal-flow/block-in-inline-insert-001-ref.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/normal-flow/block-in-inline-insert-001l.xht": [
+    [
+     "/css/CSS2/normal-flow/block-in-inline-insert-001l.xht",
+     [
+      [
+       "/css/CSS2/normal-flow/block-in-inline-insert-001-ref.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/normal-flow/block-in-inline-insert-002a.xht": [
+    [
+     "/css/CSS2/normal-flow/block-in-inline-insert-002a.xht",
+     [
+      [
+       "/css/CSS2/normal-flow/block-in-inline-insert-002-nosplit-ref.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/normal-flow/block-in-inline-insert-002b.xht": [
+    [
+     "/css/CSS2/normal-flow/block-in-inline-insert-002b.xht",
+     [
+      [
+       "/css/CSS2/normal-flow/block-in-inline-insert-002-ref.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/normal-flow/block-in-inline-insert-002c.xht": [
+    [
+     "/css/CSS2/normal-flow/block-in-inline-insert-002c.xht",
+     [
+      [
+       "/css/CSS2/normal-flow/block-in-inline-insert-002-ref.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/normal-flow/block-in-inline-insert-002d.xht": [
+    [
+     "/css/CSS2/normal-flow/block-in-inline-insert-002d.xht",
+     [
+      [
+       "/css/CSS2/normal-flow/block-in-inline-insert-002-ref.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/normal-flow/block-in-inline-insert-002e.xht": [
+    [
+     "/css/CSS2/normal-flow/block-in-inline-insert-002e.xht",
+     [
+      [
+       "/css/CSS2/normal-flow/block-in-inline-insert-002-ref.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/normal-flow/block-in-inline-insert-002f.xht": [
+    [
+     "/css/CSS2/normal-flow/block-in-inline-insert-002f.xht",
+     [
+      [
+       "/css/CSS2/normal-flow/block-in-inline-insert-002-ref.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/normal-flow/block-in-inline-insert-002g.xht": [
+    [
+     "/css/CSS2/normal-flow/block-in-inline-insert-002g.xht",
+     [
+      [
+       "/css/CSS2/normal-flow/block-in-inline-insert-002-ref.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/normal-flow/block-in-inline-insert-002h.xht": [
+    [
+     "/css/CSS2/normal-flow/block-in-inline-insert-002h.xht",
+     [
+      [
+       "/css/CSS2/normal-flow/block-in-inline-insert-002-ref.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/normal-flow/block-in-inline-insert-002i.xht": [
+    [
+     "/css/CSS2/normal-flow/block-in-inline-insert-002i.xht",
+     [
+      [
+       "/css/CSS2/normal-flow/block-in-inline-insert-002-ref.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/normal-flow/block-in-inline-insert-003.xht": [
+    [
+     "/css/CSS2/normal-flow/block-in-inline-insert-003.xht",
+     [
+      [
+       "/css/CSS2/normal-flow/block-in-inline-insert-003-nosplit-ref.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/normal-flow/block-in-inline-insert-004.xht": [
+    [
+     "/css/CSS2/normal-flow/block-in-inline-insert-004.xht",
+     [
+      [
+       "/css/CSS2/normal-flow/block-in-inline-insert-004-nosplit-ref.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/normal-flow/block-in-inline-insert-006.xht": [
+    [
+     "/css/CSS2/normal-flow/block-in-inline-insert-006.xht",
+     [
+      [
+       "/css/CSS2/normal-flow/block-in-inline-insert-006-nosplit-ref.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/normal-flow/block-in-inline-insert-007.xht": [
+    [
+     "/css/CSS2/normal-flow/block-in-inline-insert-007.xht",
+     [
+      [
+       "/css/CSS2/normal-flow/block-in-inline-insert-007-nosplit-ref.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/normal-flow/block-in-inline-insert-008a.xht": [
+    [
+     "/css/CSS2/normal-flow/block-in-inline-insert-008a.xht",
+     [
+      [
+       "/css/CSS2/normal-flow/block-in-inline-insert-008-nosplit-ref.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/normal-flow/block-in-inline-insert-008b.xht": [
+    [
+     "/css/CSS2/normal-flow/block-in-inline-insert-008b.xht",
+     [
+      [
+       "/css/CSS2/normal-flow/block-in-inline-insert-008-ref.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/normal-flow/block-in-inline-insert-008c.xht": [
+    [
+     "/css/CSS2/normal-flow/block-in-inline-insert-008c.xht",
+     [
+      [
+       "/css/CSS2/normal-flow/block-in-inline-insert-008-ref.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/normal-flow/block-in-inline-insert-009.xht": [
+    [
+     "/css/CSS2/normal-flow/block-in-inline-insert-009.xht",
+     [
+      [
+       "/css/CSS2/normal-flow/block-in-inline-insert-009-nosplit-ref.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/normal-flow/block-in-inline-insert-010.xht": [
+    [
+     "/css/CSS2/normal-flow/block-in-inline-insert-010.xht",
+     [
+      [
+       "/css/CSS2/normal-flow/block-in-inline-insert-010-nosplit-ref.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/normal-flow/block-in-inline-insert-011.xht": [
+    [
+     "/css/CSS2/normal-flow/block-in-inline-insert-011.xht",
+     [
+      [
+       "/css/CSS2/normal-flow/block-in-inline-insert-011-nosplit-ref.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/normal-flow/block-in-inline-insert-012.xht": [
+    [
+     "/css/CSS2/normal-flow/block-in-inline-insert-012.xht",
+     [
+      [
+       "/css/CSS2/normal-flow/block-in-inline-insert-012-nosplit-ref.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/normal-flow/block-in-inline-insert-013.xht": [
+    [
+     "/css/CSS2/normal-flow/block-in-inline-insert-013.xht",
+     [
+      [
+       "/css/CSS2/normal-flow/block-in-inline-insert-013-nosplit-ref.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/normal-flow/block-in-inline-insert-014.xht": [
+    [
+     "/css/CSS2/normal-flow/block-in-inline-insert-014.xht",
+     [
+      [
+       "/css/CSS2/normal-flow/block-in-inline-insert-014-nosplit-ref.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/normal-flow/block-in-inline-insert-015.xht": [
+    [
+     "/css/CSS2/normal-flow/block-in-inline-insert-015.xht",
+     [
+      [
+       "/css/CSS2/normal-flow/block-in-inline-insert-015-nosplit-ref.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/normal-flow/block-in-inline-insert-016a.xht": [
+    [
+     "/css/CSS2/normal-flow/block-in-inline-insert-016a.xht",
+     [
+      [
+       "/css/CSS2/normal-flow/block-in-inline-insert-016-nosplit-ref.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/normal-flow/block-in-inline-insert-016b.xht": [
+    [
+     "/css/CSS2/normal-flow/block-in-inline-insert-016b.xht",
+     [
+      [
+       "/css/CSS2/normal-flow/block-in-inline-insert-016-ref.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/normal-flow/block-in-inline-insert-017.xht": [
+    [
+     "/css/CSS2/normal-flow/block-in-inline-insert-017.xht",
+     [
+      [
+       "/css/CSS2/normal-flow/block-in-inline-insert-017-ref.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/normal-flow/block-in-inline-margins-001a.xht": [
+    [
+     "/css/CSS2/normal-flow/block-in-inline-margins-001a.xht",
+     [
+      [
+       "/css/CSS2/normal-flow/block-in-inline-margins-001-ref.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/normal-flow/block-in-inline-margins-001b.xht": [
+    [
+     "/css/CSS2/normal-flow/block-in-inline-margins-001b.xht",
+     [
+      [
+       "/css/CSS2/normal-flow/block-in-inline-margins-001-ref.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/normal-flow/block-in-inline-margins-002a.xht": [
+    [
+     "/css/CSS2/normal-flow/block-in-inline-margins-002a.xht",
+     [
+      [
+       "/css/CSS2/normal-flow/block-in-inline-margins-002-ref.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/normal-flow/block-in-inline-margins-002b.xht": [
+    [
+     "/css/CSS2/normal-flow/block-in-inline-margins-002b.xht",
+     [
+      [
+       "/css/CSS2/normal-flow/block-in-inline-margins-002-ref.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/normal-flow/block-in-inline-nested-001.xht": [
+    [
+     "/css/CSS2/normal-flow/block-in-inline-nested-001.xht",
+     [
+      [
+       "/css/CSS2/normal-flow/block-in-inline-nested-001-ref.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/normal-flow/block-in-inline-nested-002.xht": [
+    [
+     "/css/CSS2/normal-flow/block-in-inline-nested-002.xht",
+     [
+      [
+       "/css/CSS2/normal-flow/block-in-inline-nested-002-ref.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/normal-flow/block-in-inline-percents-001.xht": [
+    [
+     "/css/CSS2/normal-flow/block-in-inline-percents-001.xht",
+     [
+      [
+       "/css/CSS2/normal-flow/block-in-inline-percents-001-ref.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/normal-flow/block-in-inline-remove-000.xht": [
+    [
+     "/css/CSS2/normal-flow/block-in-inline-remove-000.xht",
+     [
+      [
+       "/css/CSS2/normal-flow/block-in-inline-remove-000-ref.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/normal-flow/block-in-inline-remove-001.xht": [
+    [
+     "/css/CSS2/normal-flow/block-in-inline-remove-001.xht",
+     [
+      [
+       "/css/CSS2/normal-flow/block-in-inline-remove-001-nosplit-ref.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/normal-flow/block-in-inline-remove-002.xht": [
+    [
+     "/css/CSS2/normal-flow/block-in-inline-remove-002.xht",
+     [
+      [
+       "/css/CSS2/normal-flow/block-in-inline-remove-002-ref.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/normal-flow/block-in-inline-remove-003.xht": [
+    [
+     "/css/CSS2/normal-flow/block-in-inline-remove-003.xht",
+     [
+      [
+       "/css/CSS2/normal-flow/block-in-inline-remove-003-nosplit-ref.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/normal-flow/block-in-inline-remove-004.xht": [
+    [
+     "/css/CSS2/normal-flow/block-in-inline-remove-004.xht",
+     [
+      [
+       "/css/CSS2/normal-flow/block-in-inline-remove-004-nosplit-ref.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/normal-flow/block-in-inline-remove-005.xht": [
+    [
+     "/css/CSS2/normal-flow/block-in-inline-remove-005.xht",
+     [
+      [
+       "/css/CSS2/normal-flow/block-in-inline-remove-005-nosplit-ref.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/normal-flow/block-in-inline-remove-006.xht": [
+    [
+     "/css/CSS2/normal-flow/block-in-inline-remove-006.xht",
+     [
+      [
+       "/css/CSS2/normal-flow/block-in-inline-remove-006-nosplit-ref.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/normal-flow/block-in-inline-whitespace-001a.xht": [
+    [
+     "/css/CSS2/normal-flow/block-in-inline-whitespace-001a.xht",
+     [
+      [
+       "/css/CSS2/normal-flow/block-in-inline-whitespace-001-ref.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/normal-flow/block-in-inline-whitespace-001b.xht": [
+    [
+     "/css/CSS2/normal-flow/block-in-inline-whitespace-001b.xht",
+     [
+      [
+       "/css/CSS2/normal-flow/block-in-inline-whitespace-001-ref.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/normal-flow/block-non-replaced-height-001.xht": [
+    [
+     "/css/CSS2/normal-flow/block-non-replaced-height-001.xht",
+     [
+      [
+       "/css/CSS2/normal-flow/block-non-replaced-height-001-ref.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/normal-flow/block-non-replaced-height-005.xht": [
+    [
+     "/css/CSS2/normal-flow/block-non-replaced-height-005.xht",
+     [
+      [
+       "/css/CSS2/normal-flow/block-non-replaced-height-005-ref.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/normal-flow/block-non-replaced-height-011.xht": [
+    [
+     "/css/CSS2/normal-flow/block-non-replaced-height-011.xht",
+     [
+      [
+       "/css/CSS2/reference/ref-if-there-is-no-red.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/normal-flow/block-non-replaced-height-013.xht": [
+    [
+     "/css/CSS2/normal-flow/block-non-replaced-height-013.xht",
+     [
+      [
+       "/css/CSS2/reference/ref-if-there-is-no-red.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/normal-flow/block-non-replaced-width-001.xht": [
+    [
+     "/css/CSS2/normal-flow/block-non-replaced-width-001.xht",
+     [
+      [
+       "/css/CSS2/normal-flow/block-non-replaced-width-001-ref.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/normal-flow/block-non-replaced-width-003.xht": [
+    [
+     "/css/CSS2/normal-flow/block-non-replaced-width-003.xht",
+     [
+      [
+       "/css/CSS2/normal-flow/block-non-replaced-width-001-ref.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/normal-flow/block-non-replaced-width-004.xht": [
+    [
+     "/css/CSS2/normal-flow/block-non-replaced-width-004.xht",
+     [
+      [
+       "/css/CSS2/normal-flow/block-non-replaced-width-004-ref.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/normal-flow/block-non-replaced-width-005.xht": [
+    [
+     "/css/CSS2/normal-flow/block-non-replaced-width-005.xht",
+     [
+      [
+       "/css/CSS2/normal-flow/block-non-replaced-width-005-ref.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/normal-flow/block-non-replaced-width-006.xht": [
+    [
+     "/css/CSS2/normal-flow/block-non-replaced-width-006.xht",
+     [
+      [
+       "/css/CSS2/normal-flow/block-non-replaced-width-005-ref.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/normal-flow/block-non-replaced-width-007.xht": [
+    [
+     "/css/CSS2/normal-flow/block-non-replaced-width-007.xht",
+     [
+      [
+       "/css/CSS2/normal-flow/block-non-replaced-width-007-ref.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/normal-flow/block-replaced-height-001.xht": [
+    [
+     "/css/CSS2/normal-flow/block-replaced-height-001.xht",
+     [
+      [
+       "/css/CSS2/normal-flow/block-replaced-height-001-ref.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/normal-flow/block-replaced-height-002.xht": [
+    [
+     "/css/CSS2/normal-flow/block-replaced-height-002.xht",
+     [
+      [
+       "/css/CSS2/normal-flow/block-replaced-height-002-ref.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/normal-flow/block-replaced-height-004.xht": [
+    [
+     "/css/CSS2/normal-flow/block-replaced-height-004.xht",
+     [
+      [
+       "/css/CSS2/normal-flow/block-replaced-height-004-ref.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/normal-flow/block-replaced-height-005.xht": [
+    [
+     "/css/CSS2/normal-flow/block-replaced-height-005.xht",
+     [
+      [
+       "/css/CSS2/normal-flow/block-replaced-height-005-ref.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/normal-flow/block-replaced-height-006.xht": [
+    [
+     "/css/CSS2/normal-flow/block-replaced-height-006.xht",
+     [
+      [
+       "/css/CSS2/normal-flow/block-replaced-height-006-ref.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/normal-flow/block-replaced-height-007.xht": [
+    [
+     "/css/CSS2/normal-flow/block-replaced-height-007.xht",
+     [
+      [
+       "/css/CSS2/normal-flow/block-replaced-height-004-ref.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/normal-flow/block-replaced-width-002.xht": [
+    [
+     "/css/CSS2/normal-flow/block-replaced-width-002.xht",
+     [
+      [
+       "/css/CSS2/normal-flow/block-replaced-width-002-ref.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/normal-flow/block-replaced-width-006.xht": [
+    [
+     "/css/CSS2/normal-flow/block-replaced-width-006.xht",
+     [
+      [
+       "/css/CSS2/normal-flow/block-replaced-width-006-ref.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/normal-flow/blocks-011.xht": [
+    [
+     "/css/CSS2/normal-flow/blocks-011.xht",
+     [
+      [
+       "/css/CSS2/normal-flow/blocks-011-ref.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/normal-flow/blocks-012.xht": [
+    [
+     "/css/CSS2/normal-flow/blocks-012.xht",
+     [
+      [
+       "/css/CSS2/normal-flow/blocks-011-ref.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/normal-flow/blocks-013.xht": [
+    [
+     "/css/CSS2/normal-flow/blocks-013.xht",
+     [
+      [
+       "/css/CSS2/normal-flow/blocks-013-ref.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/normal-flow/blocks-014.xht": [
+    [
+     "/css/CSS2/normal-flow/blocks-014.xht",
+     [
+      [
+       "/css/CSS2/normal-flow/blocks-014-ref.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/normal-flow/blocks-015.xht": [
+    [
+     "/css/CSS2/normal-flow/blocks-015.xht",
+     [
+      [
+       "/css/CSS2/normal-flow/blocks-014-ref.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/normal-flow/blocks-016.xht": [
+    [
+     "/css/CSS2/normal-flow/blocks-016.xht",
+     [
+      [
+       "/css/CSS2/normal-flow/blocks-013-ref.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/normal-flow/blocks-017.xht": [
+    [
+     "/css/CSS2/normal-flow/blocks-017.xht",
+     [
+      [
+       "/css/CSS2/tables/reference/table-margin-004-ref.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/normal-flow/blocks-018.xht": [
+    [
+     "/css/CSS2/normal-flow/blocks-018.xht",
+     [
+      [
+       "/css/CSS2/normal-flow/blocks-018-ref.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/normal-flow/blocks-019.xht": [
+    [
+     "/css/CSS2/normal-flow/blocks-019.xht",
+     [
+      [
+       "/css/CSS2/normal-flow/blocks-019-ref.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/normal-flow/blocks-020.xht": [
+    [
+     "/css/CSS2/normal-flow/blocks-020.xht",
+     [
+      [
+       "/css/CSS2/normal-flow/blocks-020-ref.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/normal-flow/blocks-021.xht": [
+    [
+     "/css/CSS2/normal-flow/blocks-021.xht",
+     [
+      [
+       "/css/CSS2/normal-flow/blocks-020-ref.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/normal-flow/blocks-022.xht": [
+    [
+     "/css/CSS2/normal-flow/blocks-022.xht",
+     [
+      [
+       "/css/CSS2/normal-flow/blocks-020-ref.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/normal-flow/blocks-025.xht": [
+    [
+     "/css/CSS2/normal-flow/blocks-025.xht",
+     [
+      [
+       "/css/CSS2/normal-flow/blocks-025-ref.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/normal-flow/blocks-026.xht": [
+    [
+     "/css/CSS2/normal-flow/blocks-026.xht",
+     [
+      [
+       "/css/CSS2/normal-flow/blocks-026-ref.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/normal-flow/height-001.xht": [
+    [
+     "/css/CSS2/normal-flow/height-001.xht",
+     [
+      [
+       "/css/CSS2/normal-flow/height-001-ref.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/normal-flow/height-002.xht": [
+    [
+     "/css/CSS2/normal-flow/height-002.xht",
+     [
+      [
+       "/css/CSS2/normal-flow/height-001-ref.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/normal-flow/height-003.xht": [
+    [
+     "/css/CSS2/normal-flow/height-003.xht",
+     [
+      [
+       "/css/CSS2/normal-flow/height-003-ref.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/normal-flow/height-004.xht": [
+    [
+     "/css/CSS2/normal-flow/height-004.xht",
+     [
+      [
+       "/css/CSS2/normal-flow/height-001-ref.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/normal-flow/height-005.xht": [
+    [
+     "/css/CSS2/normal-flow/height-005.xht",
+     [
+      [
+       "/css/CSS2/normal-flow/height-001-ref.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/normal-flow/height-006.xht": [
+    [
+     "/css/CSS2/normal-flow/height-006.xht",
+     [
+      [
+       "/css/CSS2/normal-flow/height-006-ref.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/normal-flow/height-007.xht": [
+    [
+     "/css/CSS2/normal-flow/height-007.xht",
+     [
+      [
+       "/css/CSS2/normal-flow/height-006-ref.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/normal-flow/height-012.xht": [
+    [
+     "/css/CSS2/normal-flow/height-012.xht",
+     [
+      [
+       "/css/CSS2/normal-flow/height-001-ref.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/normal-flow/height-013.xht": [
+    [
+     "/css/CSS2/normal-flow/height-013.xht",
+     [
+      [
+       "/css/CSS2/normal-flow/height-001-ref.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/normal-flow/height-015.xht": [
+    [
+     "/css/CSS2/normal-flow/height-015.xht",
+     [
+      [
+       "/css/CSS2/normal-flow/height-001-ref.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/normal-flow/height-016.xht": [
+    [
+     "/css/CSS2/normal-flow/height-016.xht",
+     [
+      [
+       "/css/CSS2/normal-flow/height-001-ref.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/normal-flow/height-017.xht": [
+    [
+     "/css/CSS2/normal-flow/height-017.xht",
+     [
+      [
+       "/css/CSS2/normal-flow/height-006-ref.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/normal-flow/height-018.xht": [
+    [
+     "/css/CSS2/normal-flow/height-018.xht",
+     [
+      [
+       "/css/CSS2/normal-flow/height-006-ref.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/normal-flow/height-023.xht": [
+    [
+     "/css/CSS2/normal-flow/height-023.xht",
+     [
+      [
+       "/css/CSS2/normal-flow/height-001-ref.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/normal-flow/height-024.xht": [
+    [
+     "/css/CSS2/normal-flow/height-024.xht",
+     [
+      [
+       "/css/CSS2/normal-flow/height-001-ref.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/normal-flow/height-025.xht": [
+    [
+     "/css/CSS2/normal-flow/height-025.xht",
+     [
+      [
+       "/css/CSS2/normal-flow/height-025-ref.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/normal-flow/height-026.xht": [
+    [
+     "/css/CSS2/normal-flow/height-026.xht",
+     [
+      [
+       "/css/CSS2/normal-flow/height-001-ref.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/normal-flow/height-027.xht": [
+    [
+     "/css/CSS2/normal-flow/height-027.xht",
+     [
+      [
+       "/css/CSS2/normal-flow/height-001-ref.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/normal-flow/height-028.xht": [
+    [
+     "/css/CSS2/normal-flow/height-028.xht",
+     [
+      [
+       "/css/CSS2/normal-flow/height-006-ref.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/normal-flow/height-029.xht": [
+    [
+     "/css/CSS2/normal-flow/height-029.xht",
+     [
+      [
+       "/css/CSS2/normal-flow/height-006-ref.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/normal-flow/height-034.xht": [
+    [
+     "/css/CSS2/normal-flow/height-034.xht",
+     [
+      [
+       "/css/CSS2/normal-flow/height-001-ref.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/normal-flow/height-035.xht": [
+    [
+     "/css/CSS2/normal-flow/height-035.xht",
+     [
+      [
+       "/css/CSS2/normal-flow/height-001-ref.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/normal-flow/height-037.xht": [
+    [
+     "/css/CSS2/normal-flow/height-037.xht",
+     [
+      [
+       "/css/CSS2/normal-flow/height-001-ref.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/normal-flow/height-038.xht": [
+    [
+     "/css/CSS2/normal-flow/height-038.xht",
+     [
+      [
+       "/css/CSS2/normal-flow/height-001-ref.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/normal-flow/height-039.xht": [
+    [
+     "/css/CSS2/normal-flow/height-039.xht",
+     [
+      [
+       "/css/CSS2/normal-flow/height-006-ref.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/normal-flow/height-040.xht": [
+    [
+     "/css/CSS2/normal-flow/height-040.xht",
+     [
+      [
+       "/css/CSS2/normal-flow/height-006-ref.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/normal-flow/height-045.xht": [
+    [
+     "/css/CSS2/normal-flow/height-045.xht",
+     [
+      [
+       "/css/CSS2/normal-flow/height-001-ref.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/normal-flow/height-046.xht": [
+    [
+     "/css/CSS2/normal-flow/height-046.xht",
+     [
+      [
+       "/css/CSS2/normal-flow/height-001-ref.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/normal-flow/height-048.xht": [
+    [
+     "/css/CSS2/normal-flow/height-048.xht",
+     [
+      [
+       "/css/CSS2/normal-flow/height-001-ref.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/normal-flow/height-049.xht": [
+    [
+     "/css/CSS2/normal-flow/height-049.xht",
+     [
+      [
+       "/css/CSS2/normal-flow/height-001-ref.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/normal-flow/height-050.xht": [
+    [
+     "/css/CSS2/normal-flow/height-050.xht",
+     [
+      [
+       "/css/CSS2/normal-flow/height-006-ref.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/normal-flow/height-051.xht": [
+    [
+     "/css/CSS2/normal-flow/height-051.xht",
+     [
+      [
+       "/css/CSS2/normal-flow/height-006-ref.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/normal-flow/height-056.xht": [
+    [
+     "/css/CSS2/normal-flow/height-056.xht",
+     [
+      [
+       "/css/CSS2/normal-flow/height-001-ref.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/normal-flow/height-057.xht": [
+    [
+     "/css/CSS2/normal-flow/height-057.xht",
+     [
+      [
+       "/css/CSS2/normal-flow/height-001-ref.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/normal-flow/height-058.xht": [
+    [
+     "/css/CSS2/normal-flow/height-058.xht",
+     [
+      [
+       "/css/CSS2/normal-flow/height-058-ref.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/normal-flow/height-059.xht": [
+    [
+     "/css/CSS2/normal-flow/height-059.xht",
+     [
+      [
+       "/css/CSS2/normal-flow/height-001-ref.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/normal-flow/height-060.xht": [
+    [
+     "/css/CSS2/normal-flow/height-060.xht",
+     [
+      [
+       "/css/CSS2/normal-flow/height-001-ref.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/normal-flow/height-061.xht": [
+    [
+     "/css/CSS2/normal-flow/height-061.xht",
+     [
+      [
+       "/css/CSS2/normal-flow/height-061-ref.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/normal-flow/height-062.xht": [
+    [
+     "/css/CSS2/normal-flow/height-062.xht",
+     [
+      [
+       "/css/CSS2/normal-flow/height-061-ref.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/normal-flow/height-067.xht": [
+    [
+     "/css/CSS2/normal-flow/height-067.xht",
+     [
+      [
+       "/css/CSS2/normal-flow/height-067-ref.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/normal-flow/height-068.xht": [
+    [
+     "/css/CSS2/normal-flow/height-068.xht",
+     [
+      [
+       "/css/CSS2/normal-flow/height-067-ref.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/normal-flow/height-069.xht": [
+    [
+     "/css/CSS2/normal-flow/height-069.xht",
+     [
+      [
+       "/css/CSS2/normal-flow/height-069-ref.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/normal-flow/height-070.xht": [
+    [
+     "/css/CSS2/normal-flow/height-070.xht",
+     [
+      [
+       "/css/CSS2/normal-flow/height-067-ref.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/normal-flow/height-071.xht": [
+    [
+     "/css/CSS2/normal-flow/height-071.xht",
+     [
+      [
+       "/css/CSS2/normal-flow/height-067-ref.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/normal-flow/height-072.xht": [
+    [
+     "/css/CSS2/normal-flow/height-072.xht",
+     [
+      [
+       "/css/CSS2/normal-flow/height-072-ref.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/normal-flow/height-073.xht": [
+    [
+     "/css/CSS2/normal-flow/height-073.xht",
+     [
+      [
+       "/css/CSS2/normal-flow/height-072-ref.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/normal-flow/height-078.xht": [
+    [
+     "/css/CSS2/normal-flow/height-078.xht",
+     [
+      [
+       "/css/CSS2/normal-flow/height-067-ref.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/normal-flow/height-079.xht": [
+    [
+     "/css/CSS2/normal-flow/height-079.xht",
+     [
+      [
+       "/css/CSS2/normal-flow/height-067-ref.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/normal-flow/height-080.xht": [
+    [
+     "/css/CSS2/normal-flow/height-080.xht",
+     [
+      [
+       "/css/CSS2/normal-flow/height-080-ref.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/normal-flow/height-081.xht": [
+    [
+     "/css/CSS2/normal-flow/height-081.xht",
+     [
+      [
+       "/css/CSS2/normal-flow/height-067-ref.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/normal-flow/height-082.xht": [
+    [
+     "/css/CSS2/normal-flow/height-082.xht",
+     [
+      [
+       "/css/CSS2/normal-flow/height-067-ref.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/normal-flow/height-083.xht": [
+    [
+     "/css/CSS2/normal-flow/height-083.xht",
+     [
+      [
+       "/css/CSS2/normal-flow/height-006-ref.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/normal-flow/height-084.xht": [
+    [
+     "/css/CSS2/normal-flow/height-084.xht",
+     [
+      [
+       "/css/CSS2/normal-flow/height-006-ref.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/normal-flow/height-089.xht": [
+    [
+     "/css/CSS2/normal-flow/height-089.xht",
+     [
+      [
+       "/css/CSS2/normal-flow/height-001-ref.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/normal-flow/height-090.xht": [
+    [
+     "/css/CSS2/normal-flow/height-090.xht",
+     [
+      [
+       "/css/CSS2/normal-flow/height-001-ref.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/normal-flow/height-091.xht": [
+    [
+     "/css/CSS2/normal-flow/height-091.xht",
+     [
+      [
+       "/css/CSS2/normal-flow/height-003-ref.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/normal-flow/height-092.xht": [
+    [
+     "/css/CSS2/normal-flow/height-092.xht",
+     [
+      [
+       "/css/CSS2/normal-flow/height-001-ref.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/normal-flow/height-093.xht": [
+    [
+     "/css/CSS2/normal-flow/height-093.xht",
+     [
+      [
+       "/css/CSS2/normal-flow/height-001-ref.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/normal-flow/height-094.xht": [
+    [
+     "/css/CSS2/normal-flow/height-094.xht",
+     [
+      [
+       "/css/CSS2/normal-flow/height-006-ref.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/normal-flow/height-095.xht": [
+    [
+     "/css/CSS2/normal-flow/height-095.xht",
+     [
+      [
+       "/css/CSS2/normal-flow/height-006-ref.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/normal-flow/height-100.xht": [
+    [
+     "/css/CSS2/normal-flow/height-100.xht",
+     [
+      [
+       "/css/CSS2/reference/ref-if-there-is-no-red.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/normal-flow/height-101.xht": [
+    [
+     "/css/CSS2/normal-flow/height-101.xht",
+     [
+      [
+       "/css/CSS2/reference/ref-if-there-is-no-red.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/normal-flow/height-102.xht": [
+    [
+     "/css/CSS2/normal-flow/height-102.xht",
+     [
+      [
+       "/css/CSS2/reference/ref-if-there-is-no-red.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/normal-flow/height-103.xht": [
+    [
+     "/css/CSS2/normal-flow/height-103.xht",
+     [
+      [
+       "/css/CSS2/reference/ref-if-there-is-no-red.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/normal-flow/height-104.xht": [
+    [
+     "/css/CSS2/normal-flow/height-104.xht",
+     [
+      [
+       "/css/CSS2/normal-flow/height-003-ref.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/normal-flow/height-111.xht": [
+    [
+     "/css/CSS2/normal-flow/height-111.xht",
+     [
+      [
+       "/css/CSS2/normal-flow/height-111-ref.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/normal-flow/height-112.xht": [
+    [
+     "/css/CSS2/normal-flow/height-112.xht",
+     [
+      [
+       "/css/CSS2/normal-flow/height-112-ref.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/normal-flow/height-113.xht": [
+    [
+     "/css/CSS2/normal-flow/height-113.xht",
+     [
+      [
+       "/css/CSS2/normal-flow/height-113-ref.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/normal-flow/height-114.xht": [
+    [
+     "/css/CSS2/normal-flow/height-114.xht",
+     [
+      [
+       "/css/CSS2/normal-flow/height-114-ref.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/normal-flow/height-applies-to-004.xht": [
+    [
+     "/css/CSS2/normal-flow/height-applies-to-004.xht",
+     [
+      [
+       "/css/CSS2/reference/ref-filled-black-96px-square.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/normal-flow/height-applies-to-005.xht": [
+    [
+     "/css/CSS2/normal-flow/height-applies-to-005.xht",
+     [
+      [
+       "/css/CSS2/reference/ref-if-there-is-no-red.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/normal-flow/height-applies-to-006.xht": [
+    [
+     "/css/CSS2/normal-flow/height-applies-to-006.xht",
+     [
+      [
+       "/css/CSS2/reference/ref-if-there-is-no-red.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/normal-flow/height-applies-to-007.xht": [
+    [
+     "/css/CSS2/normal-flow/height-applies-to-007.xht",
+     [
+      [
+       "/css/CSS2/reference/ref-filled-black-96px-square.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/normal-flow/height-applies-to-008.xht": [
+    [
+     "/css/CSS2/normal-flow/height-applies-to-008.xht",
+     [
+      [
+       "/css/CSS2/reference/ref-if-there-is-no-red.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/normal-flow/height-applies-to-009.xht": [
+    [
+     "/css/CSS2/normal-flow/height-applies-to-009.xht",
+     [
+      [
+       "/css/CSS2/reference/ref-filled-black-96px-square.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/normal-flow/height-applies-to-012.xht": [
+    [
+     "/css/CSS2/normal-flow/height-applies-to-012.xht",
+     [
+      [
+       "/css/CSS2/reference/ref-filled-black-96px-square.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/normal-flow/height-applies-to-013.xht": [
+    [
+     "/css/CSS2/normal-flow/height-applies-to-013.xht",
+     [
+      [
+       "/css/CSS2/reference/ref-filled-black-96px-square.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/normal-flow/height-applies-to-014.xht": [
+    [
+     "/css/CSS2/normal-flow/height-applies-to-014.xht",
+     [
+      [
+       "/css/CSS2/reference/ref-filled-black-96px-square.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/normal-flow/height-applies-to-015.xht": [
+    [
+     "/css/CSS2/normal-flow/height-applies-to-015.xht",
+     [
+      [
+       "/css/CSS2/reference/ref-filled-black-96px-square.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/normal-flow/height-applies-to-016.xht": [
+    [
+     "/css/CSS2/normal-flow/height-applies-to-016.xht",
+     [
+      [
+       "/css/CSS2/reference/ref-if-there-is-no-red.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/normal-flow/height-inherit-001.xht": [
+    [
+     "/css/CSS2/normal-flow/height-inherit-001.xht",
+     [
+      [
+       "/css/CSS2/reference/ref-filled-green-100px-square.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/normal-flow/height-percentage-001.xht": [
+    [
+     "/css/CSS2/normal-flow/height-percentage-001.xht",
+     [
+      [
+       "/css/CSS2/normal-flow/height-percentage-001-ref.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/normal-flow/height-percentage-002.xht": [
+    [
+     "/css/CSS2/normal-flow/height-percentage-002.xht",
+     [
+      [
+       "/css/CSS2/reference/ref-if-there-is-no-red.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/normal-flow/height-percentage-003.xht": [
+    [
+     "/css/CSS2/normal-flow/height-percentage-003.xht",
+     [
+      [
+       "/css/CSS2/normal-flow/height-percentage-003-ref.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/normal-flow/height-percentage-004.xht": [
+    [
+     "/css/CSS2/normal-flow/height-percentage-004.xht",
+     [
+      [
+       "/css/CSS2/normal-flow/height-percentage-001-ref.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/normal-flow/height-percentage-005.xht": [
+    [
+     "/css/CSS2/normal-flow/height-percentage-005.xht",
+     [
+      [
+       "/css/CSS2/reference/ref-filled-black-96px-square.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/normal-flow/inline-block-000.xht": [
+    [
+     "/css/CSS2/normal-flow/inline-block-000.xht",
+     [
+      [
+       "/css/CSS2/normal-flow/inline-block-000-ref.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/normal-flow/inline-block-height-001.xht": [
+    [
+     "/css/CSS2/normal-flow/inline-block-height-001.xht",
+     [
+      [
+       "/css/CSS2/normal-flow/inline-block-height-001-ref.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/normal-flow/inline-block-height-002.xht": [
+    [
+     "/css/CSS2/normal-flow/inline-block-height-002.xht",
+     [
+      [
+       "/css/CSS2/normal-flow/inline-block-height-002-ref.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/normal-flow/inline-block-non-replaced-height-001.xht": [
+    [
+     "/css/CSS2/normal-flow/inline-block-non-replaced-height-001.xht",
+     [
+      [
+       "/css/CSS2/normal-flow/height-percentage-001-ref.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/normal-flow/inline-block-non-replaced-height-002.xht": [
+    [
+     "/css/CSS2/normal-flow/inline-block-non-replaced-height-002.xht",
+     [
+      [
+       "/css/CSS2/normal-flow/height-percentage-001-ref.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/normal-flow/inline-block-non-replaced-width-001.xht": [
+    [
+     "/css/CSS2/normal-flow/inline-block-non-replaced-width-001.xht",
+     [
+      [
+       "/css/CSS2/normal-flow/inline-block-non-replaced-width-001-ref.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/normal-flow/inline-block-non-replaced-width-002.xht": [
+    [
+     "/css/CSS2/normal-flow/inline-block-non-replaced-width-002.xht",
+     [
+      [
+       "/css/CSS2/normal-flow/inline-block-non-replaced-width-002-ref.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/normal-flow/inline-block-non-replaced-width-003.xht": [
+    [
+     "/css/CSS2/normal-flow/inline-block-non-replaced-width-003.xht",
+     [
+      [
+       "/css/CSS2/positioning/absolute-non-replaced-width-017-ref.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/normal-flow/inline-block-non-replaced-width-004.xht": [
+    [
+     "/css/CSS2/normal-flow/inline-block-non-replaced-width-004.xht",
+     [
+      [
+       "/css/CSS2/positioning/absolute-non-replaced-width-017-ref.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/normal-flow/inline-block-replaced-height-001.xht": [
+    [
+     "/css/CSS2/normal-flow/inline-block-replaced-height-001.xht",
+     [
+      [
+       "/css/CSS2/normal-flow/block-replaced-height-001-ref.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/normal-flow/inline-block-replaced-height-002.xht": [
+    [
+     "/css/CSS2/normal-flow/inline-block-replaced-height-002.xht",
+     [
+      [
+       "/css/CSS2/normal-flow/block-replaced-height-002-ref.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/normal-flow/inline-block-replaced-height-003.xht": [
+    [
+     "/css/CSS2/normal-flow/inline-block-replaced-height-003.xht",
+     [
+      [
+       "/css/CSS2/normal-flow/inline-block-replaced-height-003-ref.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/normal-flow/inline-block-replaced-height-004.xht": [
+    [
+     "/css/CSS2/normal-flow/inline-block-replaced-height-004.xht",
+     [
+      [
+       "/css/CSS2/normal-flow/block-replaced-height-004-ref.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/normal-flow/inline-block-replaced-height-005.xht": [
+    [
+     "/css/CSS2/normal-flow/inline-block-replaced-height-005.xht",
+     [
+      [
+       "/css/CSS2/normal-flow/block-replaced-height-005-ref.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/normal-flow/inline-block-replaced-height-006.xht": [
+    [
+     "/css/CSS2/normal-flow/inline-block-replaced-height-006.xht",
+     [
+      [
+       "/css/CSS2/normal-flow/block-replaced-height-006-ref.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/normal-flow/inline-block-replaced-height-007.xht": [
+    [
+     "/css/CSS2/normal-flow/inline-block-replaced-height-007.xht",
+     [
+      [
+       "/css/CSS2/normal-flow/block-replaced-height-004-ref.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/normal-flow/inline-block-replaced-height-009.xht": [
+    [
+     "/css/CSS2/normal-flow/inline-block-replaced-height-009.xht",
+     [
+      [
+       "/css/CSS2/positioning/absolute-replaced-width-003b-ref.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/normal-flow/inline-block-replaced-width-001.xht": [
+    [
+     "/css/CSS2/normal-flow/inline-block-replaced-width-001.xht",
+     [
+      [
+       "/css/CSS2/normal-flow/inline-block-replaced-width-001-ref.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/normal-flow/inline-block-replaced-width-002.xht": [
+    [
+     "/css/CSS2/normal-flow/inline-block-replaced-width-002.xht",
+     [
+      [
+       "/css/CSS2/normal-flow/inline-block-replaced-width-002-ref.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/normal-flow/inline-block-replaced-width-003.xht": [
+    [
+     "/css/CSS2/normal-flow/inline-block-replaced-width-003.xht",
+     [
+      [
+       "/css/CSS2/normal-flow/inline-block-replaced-width-003-ref.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/normal-flow/inline-block-replaced-width-006.xht": [
+    [
+     "/css/CSS2/normal-flow/inline-block-replaced-width-006.xht",
+     [
+      [
+       "/css/CSS2/normal-flow/inline-block-replaced-width-006-ref.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/normal-flow/inline-block-replaced-width-007.xht": [
+    [
+     "/css/CSS2/normal-flow/inline-block-replaced-width-007.xht",
+     [
+      [
+       "/css/CSS2/positioning/absolute-replaced-width-003a-ref.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/normal-flow/inline-block-replaced-width-008.xht": [
+    [
+     "/css/CSS2/normal-flow/inline-block-replaced-width-008.xht",
+     [
+      [
+       "/css/CSS2/positioning/absolute-replaced-width-003c-ref.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/normal-flow/inline-block-valign-001.xht": [
+    [
+     "/css/CSS2/normal-flow/inline-block-valign-001.xht",
+     [
+      [
+       "/css/CSS2/normal-flow/inline-block-valign-001-ref.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/normal-flow/inline-block-valign-002.xht": [
+    [
+     "/css/CSS2/normal-flow/inline-block-valign-002.xht",
+     [
+      [
+       "/css/CSS2/normal-flow/inline-block-valign-002-ref.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/normal-flow/inline-block-width-001a.xht": [
+    [
+     "/css/CSS2/normal-flow/inline-block-width-001a.xht",
+     [
+      [
+       "/css/CSS2/normal-flow/inline-block-width-001-ref.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/normal-flow/inline-block-width-001b.xht": [
+    [
+     "/css/CSS2/normal-flow/inline-block-width-001b.xht",
+     [
+      [
+       "/css/CSS2/normal-flow/inline-block-width-001-ref.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/normal-flow/inline-block-width-002a.xht": [
+    [
+     "/css/CSS2/normal-flow/inline-block-width-002a.xht",
+     [
+      [
+       "/css/CSS2/normal-flow/inline-block-width-002-ref.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/normal-flow/inline-block-width-002b.xht": [
+    [
+     "/css/CSS2/normal-flow/inline-block-width-002b.xht",
+     [
+      [
+       "/css/CSS2/normal-flow/inline-block-width-002-ref.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/normal-flow/inline-block-zorder-001.xht": [
+    [
+     "/css/CSS2/normal-flow/inline-block-zorder-001.xht",
+     [
+      [
+       "/css/CSS2/normal-flow/inline-block-zorder-001-ref.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/normal-flow/inline-block-zorder-002.xht": [
+    [
+     "/css/CSS2/normal-flow/inline-block-zorder-002.xht",
+     [
+      [
+       "/css/CSS2/normal-flow/inline-block-zorder-001-ref.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/normal-flow/inline-block-zorder-003.xht": [
+    [
+     "/css/CSS2/normal-flow/inline-block-zorder-003.xht",
+     [
+      [
+       "/css/CSS2/normal-flow/inline-block-zorder-003-ref.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/normal-flow/inline-block-zorder-004.xht": [
+    [
+     "/css/CSS2/normal-flow/inline-block-zorder-004.xht",
+     [
+      [
+       "/css/CSS2/normal-flow/inline-block-zorder-004-ref.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/normal-flow/inline-block-zorder-005.xht": [
+    [
+     "/css/CSS2/normal-flow/inline-block-zorder-005.xht",
+     [
+      [
+       "/css/CSS2/normal-flow/inline-block-zorder-004-ref.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/normal-flow/inline-non-replaced-height-002.xht": [
+    [
+     "/css/CSS2/normal-flow/inline-non-replaced-height-002.xht",
+     [
+      [
+       "/css/CSS2/normal-flow/inline-non-replaced-height-002-ref.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/normal-flow/inline-non-replaced-height-003.xht": [
+    [
+     "/css/CSS2/normal-flow/inline-non-replaced-height-003.xht",
+     [
+      [
+       "/css/CSS2/normal-flow/inline-non-replaced-height-002-ref.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/normal-flow/inline-non-replaced-width-001.xht": [
+    [
+     "/css/CSS2/normal-flow/inline-non-replaced-width-001.xht",
+     [
+      [
+       "/css/CSS2/normal-flow/inline-non-replaced-width-001-ref.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/normal-flow/inline-non-replaced-width-002.xht": [
+    [
+     "/css/CSS2/normal-flow/inline-non-replaced-width-002.xht",
+     [
+      [
+       "/css/CSS2/normal-flow/inline-non-replaced-width-001-ref.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/normal-flow/inline-replaced-height-001.xht": [
+    [
+     "/css/CSS2/normal-flow/inline-replaced-height-001.xht",
+     [
+      [
+       "/css/CSS2/normal-flow/block-replaced-height-001-ref.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/normal-flow/inline-replaced-height-002.xht": [
+    [
+     "/css/CSS2/normal-flow/inline-replaced-height-002.xht",
+     [
+      [
+       "/css/CSS2/normal-flow/block-replaced-height-002-ref.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/normal-flow/inline-replaced-height-003.xht": [
+    [
+     "/css/CSS2/normal-flow/inline-replaced-height-003.xht",
+     [
+      [
+       "/css/CSS2/normal-flow/inline-block-replaced-height-003-ref.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/normal-flow/inline-replaced-height-004.xht": [
+    [
+     "/css/CSS2/normal-flow/inline-replaced-height-004.xht",
+     [
+      [
+       "/css/CSS2/normal-flow/block-replaced-height-004-ref.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/normal-flow/inline-replaced-height-005.xht": [
+    [
+     "/css/CSS2/normal-flow/inline-replaced-height-005.xht",
+     [
+      [
+       "/css/CSS2/normal-flow/block-replaced-height-005-ref.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/normal-flow/inline-replaced-height-006.xht": [
+    [
+     "/css/CSS2/normal-flow/inline-replaced-height-006.xht",
+     [
+      [
+       "/css/CSS2/normal-flow/block-replaced-height-006-ref.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/normal-flow/inline-replaced-height-007.xht": [
+    [
+     "/css/CSS2/normal-flow/inline-replaced-height-007.xht",
+     [
+      [
+       "/css/CSS2/normal-flow/block-replaced-height-004-ref.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/normal-flow/inline-replaced-height-009.xht": [
+    [
+     "/css/CSS2/normal-flow/inline-replaced-height-009.xht",
+     [
+      [
+       "/css/CSS2/positioning/absolute-replaced-width-003b-ref.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/normal-flow/inline-replaced-height-010.xht": [
+    [
+     "/css/CSS2/normal-flow/inline-replaced-height-010.xht",
+     [
+      [
+       "/css/CSS2/reference/ref-filled-green-100px-square.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/normal-flow/inline-replaced-height-011.xht": [
+    [
+     "/css/CSS2/normal-flow/inline-replaced-height-011.xht",
+     [
+      [
+       "/css/CSS2/reference/ref-filled-green-100px-square.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/normal-flow/inline-replaced-width-001.xht": [
+    [
+     "/css/CSS2/normal-flow/inline-replaced-width-001.xht",
+     [
+      [
+       "/css/CSS2/normal-flow/inline-replaced-width-001-ref.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/normal-flow/inline-replaced-width-002.xht": [
+    [
+     "/css/CSS2/normal-flow/inline-replaced-width-002.xht",
+     [
+      [
+       "/css/CSS2/normal-flow/inline-replaced-width-002-ref.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/normal-flow/inline-replaced-width-003.xht": [
+    [
+     "/css/CSS2/normal-flow/inline-replaced-width-003.xht",
+     [
+      [
+       "/css/CSS2/normal-flow/inline-replaced-width-003-ref.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/normal-flow/inline-replaced-width-006.xht": [
+    [
+     "/css/CSS2/normal-flow/inline-replaced-width-006.xht",
+     [
+      [
+       "/css/CSS2/normal-flow/inline-replaced-width-001-ref.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/normal-flow/inline-replaced-width-008.xht": [
+    [
+     "/css/CSS2/normal-flow/inline-replaced-width-008.xht",
+     [
+      [
+       "/css/CSS2/positioning/absolute-replaced-width-003a-ref.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/normal-flow/inline-replaced-width-009.xht": [
+    [
+     "/css/CSS2/normal-flow/inline-replaced-width-009.xht",
+     [
+      [
+       "/css/CSS2/positioning/absolute-replaced-width-003c-ref.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/normal-flow/inline-replaced-width-011.xht": [
+    [
+     "/css/CSS2/normal-flow/inline-replaced-width-011.xht",
+     [
+      [
+       "/css/CSS2/normal-flow/inline-replaced-width-011-ref.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/normal-flow/inline-replaced-width-012.xht": [
+    [
+     "/css/CSS2/normal-flow/inline-replaced-width-012.xht",
+     [
+      [
+       "/css/CSS2/normal-flow/inline-replaced-width-012-ref.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/normal-flow/inline-replaced-width-013.xht": [
+    [
+     "/css/CSS2/normal-flow/inline-replaced-width-013.xht",
+     [
+      [
+       "/css/CSS2/normal-flow/inline-replaced-width-012-ref.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/normal-flow/inline-replaced-width-014.xht": [
+    [
+     "/css/CSS2/normal-flow/inline-replaced-width-014.xht",
+     [
+      [
+       "/css/CSS2/normal-flow/inline-replaced-width-014-ref.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/normal-flow/inline-replaced-width-015.xht": [
+    [
+     "/css/CSS2/normal-flow/inline-replaced-width-015.xht",
+     [
+      [
+       "/css/CSS2/normal-flow/inline-replaced-width-014-ref.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/normal-flow/inline-replaced-width-016.xht": [
+    [
+     "/css/CSS2/normal-flow/inline-replaced-width-016.xht",
+     [
+      [
+       "/css/CSS2/reference/ref-filled-green-100px-square.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/normal-flow/inline-replaced-width-017.xht": [
+    [
+     "/css/CSS2/normal-flow/inline-replaced-width-017.xht",
+     [
+      [
+       "/css/CSS2/reference/ref-filled-green-100px-square.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/normal-flow/inline-table-002a.xht": [
+    [
+     "/css/CSS2/normal-flow/inline-table-002a.xht",
+     [
+      [
+       "/css/CSS2/normal-flow/inline-table-002-ref.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/normal-flow/inline-table-002b.xht": [
+    [
+     "/css/CSS2/normal-flow/inline-table-002b.xht",
+     [
+      [
+       "/css/CSS2/normal-flow/inline-table-002-ref.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/normal-flow/inline-table-003.xht": [
+    [
+     "/css/CSS2/normal-flow/inline-table-003.xht",
+     [
+      [
+       "/css/CSS2/normal-flow/inline-table-003-ref.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/normal-flow/inline-table-height-001.xht": [
+    [
+     "/css/CSS2/normal-flow/inline-table-height-001.xht",
+     [
+      [
+       "/css/CSS2/normal-flow/inline-table-height-001-ref.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/normal-flow/inline-table-height-002.xht": [
+    [
+     "/css/CSS2/normal-flow/inline-table-height-002.xht",
+     [
+      [
+       "/css/CSS2/normal-flow/inline-table-height-002-ref.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/normal-flow/inline-table-valign-001.xht": [
+    [
+     "/css/CSS2/normal-flow/inline-table-valign-001.xht",
+     [
+      [
+       "/css/CSS2/normal-flow/inline-table-valign-001-ref.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/normal-flow/inline-table-width-001a.xht": [
+    [
+     "/css/CSS2/normal-flow/inline-table-width-001a.xht",
+     [
+      [
+       "/css/CSS2/normal-flow/inline-table-width-001-ref.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/normal-flow/inline-table-width-001b.xht": [
+    [
+     "/css/CSS2/normal-flow/inline-table-width-001b.xht",
+     [
+      [
+       "/css/CSS2/normal-flow/inline-table-width-001-ref.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/normal-flow/inline-table-width-002a.xht": [
+    [
+     "/css/CSS2/normal-flow/inline-table-width-002a.xht",
+     [
+      [
+       "/css/CSS2/normal-flow/inline-table-width-002-ref.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/normal-flow/inline-table-width-002b.xht": [
+    [
+     "/css/CSS2/normal-flow/inline-table-width-002b.xht",
+     [
+      [
+       "/css/CSS2/normal-flow/inline-table-width-002-ref.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/normal-flow/inline-table-zorder-001.xht": [
+    [
+     "/css/CSS2/normal-flow/inline-table-zorder-001.xht",
+     [
+      [
+       "/css/CSS2/normal-flow/inline-table-zorder-001-ref.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/normal-flow/inline-table-zorder-002.xht": [
+    [
+     "/css/CSS2/normal-flow/inline-table-zorder-002.xht",
+     [
+      [
+       "/css/CSS2/normal-flow/inline-table-zorder-001-ref.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/normal-flow/inline-table-zorder-003.xht": [
+    [
+     "/css/CSS2/normal-flow/inline-table-zorder-003.xht",
+     [
+      [
+       "/css/CSS2/normal-flow/inline-table-zorder-003-ref.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/normal-flow/inline-table-zorder-004.xht": [
+    [
+     "/css/CSS2/normal-flow/inline-table-zorder-004.xht",
+     [
+      [
+       "/css/CSS2/normal-flow/inline-table-zorder-004-ref.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/normal-flow/inline-table-zorder-005.xht": [
+    [
+     "/css/CSS2/normal-flow/inline-table-zorder-005.xht",
+     [
+      [
+       "/css/CSS2/normal-flow/inline-table-zorder-004-ref.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/normal-flow/inlines-002.xht": [
+    [
+     "/css/CSS2/normal-flow/inlines-002.xht",
+     [
+      [
+       "/css/CSS2/normal-flow/inlines-002-ref.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/normal-flow/inlines-013.xht": [
+    [
+     "/css/CSS2/normal-flow/inlines-013.xht",
+     [
+      [
+       "/css/CSS2/normal-flow/inlines-013-ref.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/normal-flow/inlines-016.xht": [
+    [
+     "/css/CSS2/normal-flow/inlines-016.xht",
+     [
+      [
+       "/css/CSS2/normal-flow/inlines-016-ref.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/normal-flow/inlines-017.xht": [
+    [
+     "/css/CSS2/normal-flow/inlines-017.xht",
+     [
+      [
+       "/css/CSS2/normal-flow/inlines-017-ref.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/normal-flow/inlines-020.xht": [
+    [
+     "/css/CSS2/normal-flow/inlines-020.xht",
+     [
+      [
+       "/css/CSS2/normal-flow/inlines-020-ref.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/normal-flow/max-height-001.xht": [
+    [
+     "/css/CSS2/normal-flow/max-height-001.xht",
+     [
+      [
+       "/css/CSS2/reference/ref-filled-black-96px-square.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/normal-flow/max-height-002.xht": [
+    [
+     "/css/CSS2/normal-flow/max-height-002.xht",
+     [
+      [
+       "/css/CSS2/normal-flow/height-001-ref.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/normal-flow/max-height-003.xht": [
+    [
+     "/css/CSS2/normal-flow/max-height-003.xht",
+     [
+      [
+       "/css/CSS2/normal-flow/height-003-ref.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/normal-flow/max-height-004.xht": [
+    [
+     "/css/CSS2/normal-flow/max-height-004.xht",
+     [
+      [
+       "/css/CSS2/normal-flow/height-001-ref.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/normal-flow/max-height-005.xht": [
+    [
+     "/css/CSS2/normal-flow/max-height-005.xht",
+     [
+      [
+       "/css/CSS2/normal-flow/height-001-ref.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/normal-flow/max-height-006.xht": [
+    [
+     "/css/CSS2/normal-flow/max-height-006.xht",
+     [
+      [
+       "/css/CSS2/normal-flow/height-006-ref.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/normal-flow/max-height-007.xht": [
+    [
+     "/css/CSS2/normal-flow/max-height-007.xht",
+     [
+      [
+       "/css/CSS2/normal-flow/height-006-ref.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/normal-flow/max-height-012.xht": [
+    [
+     "/css/CSS2/normal-flow/max-height-012.xht",
+     [
+      [
+       "/css/CSS2/reference/ref-filled-black-96px-square.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/normal-flow/max-height-013.xht": [
+    [
+     "/css/CSS2/normal-flow/max-height-013.xht",
+     [
+      [
+       "/css/CSS2/normal-flow/height-001-ref.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/normal-flow/max-height-015.xht": [
+    [
+     "/css/CSS2/normal-flow/max-height-015.xht",
+     [
+      [
+       "/css/CSS2/normal-flow/height-001-ref.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/normal-flow/max-height-016.xht": [
+    [
+     "/css/CSS2/normal-flow/max-height-016.xht",
+     [
+      [
+       "/css/CSS2/normal-flow/height-001-ref.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/normal-flow/max-height-017.xht": [
+    [
+     "/css/CSS2/normal-flow/max-height-017.xht",
+     [
+      [
+       "/css/CSS2/normal-flow/height-006-ref.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/normal-flow/max-height-018.xht": [
+    [
+     "/css/CSS2/normal-flow/max-height-018.xht",
+     [
+      [
+       "/css/CSS2/normal-flow/height-006-ref.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/normal-flow/max-height-023.xht": [
+    [
+     "/css/CSS2/normal-flow/max-height-023.xht",
+     [
+      [
+       "/css/CSS2/reference/ref-filled-black-96px-square.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/normal-flow/max-height-024.xht": [
+    [
+     "/css/CSS2/normal-flow/max-height-024.xht",
+     [
+      [
+       "/css/CSS2/normal-flow/height-001-ref.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/normal-flow/max-height-025.xht": [
+    [
+     "/css/CSS2/normal-flow/max-height-025.xht",
+     [
+      [
+       "/css/CSS2/normal-flow/max-height-025-ref.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/normal-flow/max-height-026.xht": [
+    [
+     "/css/CSS2/normal-flow/max-height-026.xht",
+     [
+      [
+       "/css/CSS2/normal-flow/height-001-ref.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/normal-flow/max-height-027.xht": [
+    [
+     "/css/CSS2/normal-flow/max-height-027.xht",
+     [
+      [
+       "/css/CSS2/normal-flow/height-001-ref.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/normal-flow/max-height-028.xht": [
+    [
+     "/css/CSS2/normal-flow/max-height-028.xht",
+     [
+      [
+       "/css/CSS2/normal-flow/height-006-ref.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/normal-flow/max-height-029.xht": [
+    [
+     "/css/CSS2/normal-flow/max-height-029.xht",
+     [
+      [
+       "/css/CSS2/normal-flow/height-006-ref.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/normal-flow/max-height-034.xht": [
+    [
+     "/css/CSS2/normal-flow/max-height-034.xht",
+     [
+      [
+       "/css/CSS2/reference/ref-filled-black-96px-square.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/normal-flow/max-height-035.xht": [
+    [
+     "/css/CSS2/normal-flow/max-height-035.xht",
+     [
+      [
+       "/css/CSS2/normal-flow/height-001-ref.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/normal-flow/max-height-036.xht": [
+    [
+     "/css/CSS2/normal-flow/max-height-036.xht",
+     [
+      [
+       "/css/CSS2/normal-flow/max-height-036-ref.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/normal-flow/max-height-037.xht": [
+    [
+     "/css/CSS2/normal-flow/max-height-037.xht",
+     [
+      [
+       "/css/CSS2/normal-flow/height-001-ref.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/normal-flow/max-height-038.xht": [
+    [
+     "/css/CSS2/normal-flow/max-height-038.xht",
+     [
+      [
+       "/css/CSS2/normal-flow/height-001-ref.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/normal-flow/max-height-039.xht": [
+    [
+     "/css/CSS2/normal-flow/max-height-039.xht",
+     [
+      [
+       "/css/CSS2/normal-flow/height-006-ref.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/normal-flow/max-height-040.xht": [
+    [
+     "/css/CSS2/normal-flow/max-height-040.xht",
+     [
+      [
+       "/css/CSS2/normal-flow/height-006-ref.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/normal-flow/max-height-045.xht": [
+    [
+     "/css/CSS2/normal-flow/max-height-045.xht",
+     [
+      [
+       "/css/CSS2/reference/ref-filled-black-96px-square.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/normal-flow/max-height-046.xht": [
+    [
+     "/css/CSS2/normal-flow/max-height-046.xht",
+     [
+      [
+       "/css/CSS2/normal-flow/height-001-ref.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/normal-flow/max-height-047.xht": [
+    [
+     "/css/CSS2/normal-flow/max-height-047.xht",
+     [
+      [
+       "/css/CSS2/normal-flow/max-height-047-ref.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/normal-flow/max-height-048.xht": [
+    [
+     "/css/CSS2/normal-flow/max-height-048.xht",
+     [
+      [
+       "/css/CSS2/normal-flow/height-001-ref.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/normal-flow/max-height-049.xht": [
+    [
+     "/css/CSS2/normal-flow/max-height-049.xht",
+     [
+      [
+       "/css/CSS2/normal-flow/height-001-ref.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/normal-flow/max-height-050.xht": [
+    [
+     "/css/CSS2/normal-flow/max-height-050.xht",
+     [
+      [
+       "/css/CSS2/normal-flow/height-006-ref.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/normal-flow/max-height-051.xht": [
+    [
+     "/css/CSS2/normal-flow/max-height-051.xht",
+     [
+      [
+       "/css/CSS2/normal-flow/height-006-ref.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/normal-flow/max-height-056.xht": [
+    [
+     "/css/CSS2/normal-flow/max-height-056.xht",
+     [
+      [
+       "/css/CSS2/reference/ref-filled-black-96px-square.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/normal-flow/max-height-057.xht": [
+    [
+     "/css/CSS2/normal-flow/max-height-057.xht",
+     [
+      [
+       "/css/CSS2/normal-flow/height-001-ref.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/normal-flow/max-height-058.xht": [
+    [
+     "/css/CSS2/normal-flow/max-height-058.xht",
+     [
+      [
+       "/css/CSS2/normal-flow/max-height-058-ref.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/normal-flow/max-height-059.xht": [
+    [
+     "/css/CSS2/normal-flow/max-height-059.xht",
+     [
+      [
+       "/css/CSS2/normal-flow/height-001-ref.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/normal-flow/max-height-060.xht": [
+    [
+     "/css/CSS2/normal-flow/max-height-060.xht",
+     [
+      [
+       "/css/CSS2/normal-flow/height-001-ref.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/normal-flow/max-height-061.xht": [
+    [
+     "/css/CSS2/normal-flow/max-height-061.xht",
+     [
+      [
+       "/css/CSS2/normal-flow/height-061-ref.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/normal-flow/max-height-062.xht": [
+    [
+     "/css/CSS2/normal-flow/max-height-062.xht",
+     [
+      [
+       "/css/CSS2/normal-flow/height-061-ref.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/normal-flow/max-height-067.xht": [
+    [
+     "/css/CSS2/normal-flow/max-height-067.xht",
+     [
+      [
+       "/css/CSS2/reference/ref-filled-black-96px-square.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/normal-flow/max-height-068.xht": [
+    [
+     "/css/CSS2/normal-flow/max-height-068.xht",
+     [
+      [
+       "/css/CSS2/normal-flow/height-067-ref.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/normal-flow/max-height-069.xht": [
+    [
+     "/css/CSS2/normal-flow/max-height-069.xht",
+     [
+      [
+       "/css/CSS2/normal-flow/max-height-069-ref.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/normal-flow/max-height-070.xht": [
+    [
+     "/css/CSS2/normal-flow/max-height-070.xht",
+     [
+      [
+       "/css/CSS2/normal-flow/height-067-ref.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/normal-flow/max-height-071.xht": [
+    [
+     "/css/CSS2/normal-flow/max-height-071.xht",
+     [
+      [
+       "/css/CSS2/normal-flow/height-067-ref.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/normal-flow/max-height-072.xht": [
+    [
+     "/css/CSS2/normal-flow/max-height-072.xht",
+     [
+      [
+       "/css/CSS2/normal-flow/height-072-ref.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/normal-flow/max-height-073.xht": [
+    [
+     "/css/CSS2/normal-flow/max-height-073.xht",
+     [
+      [
+       "/css/CSS2/normal-flow/height-072-ref.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/normal-flow/max-height-078.xht": [
+    [
+     "/css/CSS2/normal-flow/max-height-078.xht",
+     [
+      [
+       "/css/CSS2/reference/ref-filled-black-96px-square.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/normal-flow/max-height-079.xht": [
+    [
+     "/css/CSS2/normal-flow/max-height-079.xht",
+     [
+      [
+       "/css/CSS2/normal-flow/height-067-ref.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/normal-flow/max-height-080.xht": [
+    [
+     "/css/CSS2/normal-flow/max-height-080.xht",
+     [
+      [
+       "/css/CSS2/normal-flow/max-height-025-ref.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/normal-flow/max-height-081.xht": [
+    [
+     "/css/CSS2/normal-flow/max-height-081.xht",
+     [
+      [
+       "/css/CSS2/normal-flow/height-067-ref.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/normal-flow/max-height-082.xht": [
+    [
+     "/css/CSS2/normal-flow/max-height-082.xht",
+     [
+      [
+       "/css/CSS2/normal-flow/height-067-ref.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/normal-flow/max-height-083.xht": [
+    [
+     "/css/CSS2/normal-flow/max-height-083.xht",
+     [
+      [
+       "/css/CSS2/normal-flow/height-006-ref.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/normal-flow/max-height-084.xht": [
+    [
+     "/css/CSS2/normal-flow/max-height-084.xht",
+     [
+      [
+       "/css/CSS2/normal-flow/height-006-ref.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/normal-flow/max-height-089.xht": [
+    [
+     "/css/CSS2/normal-flow/max-height-089.xht",
+     [
+      [
+       "/css/CSS2/reference/ref-filled-black-96px-square.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/normal-flow/max-height-090.xht": [
+    [
+     "/css/CSS2/normal-flow/max-height-090.xht",
+     [
+      [
+       "/css/CSS2/normal-flow/height-001-ref.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/normal-flow/max-height-091.xht": [
+    [
+     "/css/CSS2/normal-flow/max-height-091.xht",
+     [
+      [
+       "/css/CSS2/normal-flow/height-003-ref.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/normal-flow/max-height-092.xht": [
+    [
+     "/css/CSS2/normal-flow/max-height-092.xht",
+     [
+      [
+       "/css/CSS2/normal-flow/height-001-ref.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/normal-flow/max-height-093.xht": [
+    [
+     "/css/CSS2/normal-flow/max-height-093.xht",
+     [
+      [
+       "/css/CSS2/normal-flow/height-001-ref.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/normal-flow/max-height-094.xht": [
+    [
+     "/css/CSS2/normal-flow/max-height-094.xht",
+     [
+      [
+       "/css/CSS2/normal-flow/height-006-ref.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/normal-flow/max-height-095.xht": [
+    [
+     "/css/CSS2/normal-flow/max-height-095.xht",
+     [
+      [
+       "/css/CSS2/normal-flow/height-006-ref.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/normal-flow/max-height-100.xht": [
+    [
+     "/css/CSS2/normal-flow/max-height-100.xht",
+     [
+      [
+       "/css/CSS2/reference/ref-if-there-is-no-red.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/normal-flow/max-height-101.xht": [
+    [
+     "/css/CSS2/normal-flow/max-height-101.xht",
+     [
+      [
+       "/css/CSS2/normal-flow/height-001-ref.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/normal-flow/max-height-102.xht": [
+    [
+     "/css/CSS2/normal-flow/max-height-102.xht",
+     [
+      [
+       "/css/CSS2/reference/ref-if-there-is-no-red.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/normal-flow/max-height-103.xht": [
+    [
+     "/css/CSS2/normal-flow/max-height-103.xht",
+     [
+      [
+       "/css/CSS2/reference/ref-filled-black-96px-square.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/normal-flow/max-height-104.xht": [
+    [
+     "/css/CSS2/normal-flow/max-height-104.xht",
+     [
+      [
+       "/css/CSS2/normal-flow/height-003-ref.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/normal-flow/max-height-107.xht": [
+    [
+     "/css/CSS2/normal-flow/max-height-107.xht",
+     [
+      [
+       "/css/CSS2/normal-flow/max-height-107-ref.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/normal-flow/max-height-110.xht": [
+    [
+     "/css/CSS2/normal-flow/max-height-110.xht",
+     [
+      [
+       "/css/CSS2/normal-flow/max-height-110-ref.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/normal-flow/max-height-applies-to-005.xht": [
+    [
+     "/css/CSS2/normal-flow/max-height-applies-to-005.xht",
+     [
+      [
+       "/css/CSS2/reference/ref-filled-black-96px-square.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/normal-flow/max-height-applies-to-006.xht": [
+    [
+     "/css/CSS2/normal-flow/max-height-applies-to-006.xht",
+     [
+      [
+       "/css/CSS2/reference/ref-filled-black-96px-square.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/normal-flow/max-height-applies-to-008.xht": [
+    [
+     "/css/CSS2/normal-flow/max-height-applies-to-008.xht",
+     [
+      [
+       "/css/CSS2/reference/ref-filled-green-100px-square.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/normal-flow/max-height-applies-to-009.xht": [
+    [
+     "/css/CSS2/normal-flow/max-height-applies-to-009.xht",
+     [
+      [
+       "/css/CSS2/reference/ref-filled-black-96px-square.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/normal-flow/max-height-applies-to-012.xht": [
+    [
+     "/css/CSS2/normal-flow/max-height-applies-to-012.xht",
+     [
+      [
+       "/css/CSS2/reference/ref-filled-black-96px-square.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/normal-flow/max-height-applies-to-013.xht": [
+    [
+     "/css/CSS2/normal-flow/max-height-applies-to-013.xht",
+     [
+      [
+       "/css/CSS2/reference/ref-filled-black-96px-square.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/normal-flow/max-height-applies-to-014.xht": [
+    [
+     "/css/CSS2/normal-flow/max-height-applies-to-014.xht",
+     [
+      [
+       "/css/CSS2/reference/ref-filled-black-96px-square.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/normal-flow/max-height-applies-to-015.xht": [
+    [
+     "/css/CSS2/normal-flow/max-height-applies-to-015.xht",
+     [
+      [
+       "/css/CSS2/reference/ref-filled-black-96px-square.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/normal-flow/max-height-applies-to-016.xht": [
+    [
+     "/css/CSS2/normal-flow/max-height-applies-to-016.xht",
+     [
+      [
+       "/css/CSS2/reference/ref-filled-green-100px-square.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/normal-flow/max-height-percentage-001.xht": [
+    [
+     "/css/CSS2/normal-flow/max-height-percentage-001.xht",
+     [
+      [
+       "/css/CSS2/normal-flow/max-height-percentage-001-ref.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/normal-flow/max-height-percentage-002.xht": [
+    [
+     "/css/CSS2/normal-flow/max-height-percentage-002.xht",
+     [
+      [
+       "/css/CSS2/normal-flow/max-height-percentage-002-ref.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/normal-flow/max-height-percentage-003.xht": [
+    [
+     "/css/CSS2/normal-flow/max-height-percentage-003.xht",
+     [
+      [
+       "/css/CSS2/reference/ref-filled-black-96px-square.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/normal-flow/max-width-001.xht": [
+    [
+     "/css/CSS2/normal-flow/max-width-001.xht",
+     [
+      [
+       "/css/CSS2/reference/ref-if-there-is-no-red.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/normal-flow/max-width-002.xht": [
+    [
+     "/css/CSS2/normal-flow/max-width-002.xht",
+     [
+      [
+       "/css/CSS2/reference/ref-if-there-is-no-red.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/normal-flow/max-width-003.xht": [
+    [
+     "/css/CSS2/normal-flow/max-width-003.xht",
+     [
+      [
+       "/css/CSS2/normal-flow/max-width-003-ref.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/normal-flow/max-width-004.xht": [
+    [
+     "/css/CSS2/normal-flow/max-width-004.xht",
+     [
+      [
+       "/css/CSS2/reference/ref-if-there-is-no-red.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/normal-flow/max-width-005.xht": [
+    [
+     "/css/CSS2/normal-flow/max-width-005.xht",
+     [
+      [
+       "/css/CSS2/reference/ref-if-there-is-no-red.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/normal-flow/max-width-006.xht": [
+    [
+     "/css/CSS2/normal-flow/max-width-006.xht",
+     [
+      [
+       "/css/CSS2/normal-flow/max-width-006-ref.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/normal-flow/max-width-007.xht": [
+    [
+     "/css/CSS2/normal-flow/max-width-007.xht",
+     [
+      [
+       "/css/CSS2/normal-flow/max-width-006-ref.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/normal-flow/max-width-012.xht": [
+    [
+     "/css/CSS2/normal-flow/max-width-012.xht",
+     [
+      [
+       "/css/CSS2/reference/ref-if-there-is-no-red.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/normal-flow/max-width-013.xht": [
+    [
+     "/css/CSS2/normal-flow/max-width-013.xht",
+     [
+      [
+       "/css/CSS2/reference/ref-if-there-is-no-red.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/normal-flow/max-width-015.xht": [
+    [
+     "/css/CSS2/normal-flow/max-width-015.xht",
+     [
+      [
+       "/css/CSS2/reference/ref-if-there-is-no-red.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/normal-flow/max-width-016.xht": [
+    [
+     "/css/CSS2/normal-flow/max-width-016.xht",
+     [
+      [
+       "/css/CSS2/reference/ref-if-there-is-no-red.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/normal-flow/max-width-017.xht": [
+    [
+     "/css/CSS2/normal-flow/max-width-017.xht",
+     [
+      [
+       "/css/CSS2/normal-flow/max-width-006-ref.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/normal-flow/max-width-018.xht": [
+    [
+     "/css/CSS2/normal-flow/max-width-018.xht",
+     [
+      [
+       "/css/CSS2/normal-flow/max-width-006-ref.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/normal-flow/max-width-023.xht": [
+    [
+     "/css/CSS2/normal-flow/max-width-023.xht",
+     [
+      [
+       "/css/CSS2/reference/ref-if-there-is-no-red.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/normal-flow/max-width-024.xht": [
+    [
+     "/css/CSS2/normal-flow/max-width-024.xht",
+     [
+      [
+       "/css/CSS2/reference/ref-if-there-is-no-red.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/normal-flow/max-width-025.xht": [
+    [
+     "/css/CSS2/normal-flow/max-width-025.xht",
+     [
+      [
+       "/css/CSS2/normal-flow/max-width-025-ref.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/normal-flow/max-width-026.xht": [
+    [
+     "/css/CSS2/normal-flow/max-width-026.xht",
+     [
+      [
+       "/css/CSS2/reference/ref-if-there-is-no-red.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/normal-flow/max-width-027.xht": [
+    [
+     "/css/CSS2/normal-flow/max-width-027.xht",
+     [
+      [
+       "/css/CSS2/reference/ref-if-there-is-no-red.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/normal-flow/max-width-028.xht": [
+    [
+     "/css/CSS2/normal-flow/max-width-028.xht",
+     [
+      [
+       "/css/CSS2/normal-flow/max-width-006-ref.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/normal-flow/max-width-029.xht": [
+    [
+     "/css/CSS2/normal-flow/max-width-029.xht",
+     [
+      [
+       "/css/CSS2/normal-flow/max-width-006-ref.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/normal-flow/max-width-034.xht": [
+    [
+     "/css/CSS2/normal-flow/max-width-034.xht",
+     [
+      [
+       "/css/CSS2/reference/ref-if-there-is-no-red.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/normal-flow/max-width-035.xht": [
+    [
+     "/css/CSS2/normal-flow/max-width-035.xht",
+     [
+      [
+       "/css/CSS2/reference/ref-if-there-is-no-red.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/normal-flow/max-width-036.xht": [
+    [
+     "/css/CSS2/normal-flow/max-width-036.xht",
+     [
+      [
+       "/css/CSS2/normal-flow/max-width-036-ref.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/normal-flow/max-width-037.xht": [
+    [
+     "/css/CSS2/normal-flow/max-width-037.xht",
+     [
+      [
+       "/css/CSS2/reference/ref-if-there-is-no-red.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/normal-flow/max-width-038.xht": [
+    [
+     "/css/CSS2/normal-flow/max-width-038.xht",
+     [
+      [
+       "/css/CSS2/reference/ref-if-there-is-no-red.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/normal-flow/max-width-039.xht": [
+    [
+     "/css/CSS2/normal-flow/max-width-039.xht",
+     [
+      [
+       "/css/CSS2/normal-flow/max-width-006-ref.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/normal-flow/max-width-040.xht": [
+    [
+     "/css/CSS2/normal-flow/max-width-040.xht",
+     [
+      [
+       "/css/CSS2/normal-flow/max-width-006-ref.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/normal-flow/max-width-045.xht": [
+    [
+     "/css/CSS2/normal-flow/max-width-045.xht",
+     [
+      [
+       "/css/CSS2/reference/ref-if-there-is-no-red.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/normal-flow/max-width-046.xht": [
+    [
+     "/css/CSS2/normal-flow/max-width-046.xht",
+     [
+      [
+       "/css/CSS2/reference/ref-if-there-is-no-red.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/normal-flow/max-width-047.xht": [
+    [
+     "/css/CSS2/normal-flow/max-width-047.xht",
+     [
+      [
+       "/css/CSS2/normal-flow/max-width-047-ref.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/normal-flow/max-width-048.xht": [
+    [
+     "/css/CSS2/normal-flow/max-width-048.xht",
+     [
+      [
+       "/css/CSS2/reference/ref-if-there-is-no-red.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/normal-flow/max-width-049.xht": [
+    [
+     "/css/CSS2/normal-flow/max-width-049.xht",
+     [
+      [
+       "/css/CSS2/reference/ref-if-there-is-no-red.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/normal-flow/max-width-050.xht": [
+    [
+     "/css/CSS2/normal-flow/max-width-050.xht",
+     [
+      [
+       "/css/CSS2/normal-flow/max-width-006-ref.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/normal-flow/max-width-051.xht": [
+    [
+     "/css/CSS2/normal-flow/max-width-051.xht",
+     [
+      [
+       "/css/CSS2/normal-flow/max-width-006-ref.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/normal-flow/max-width-056.xht": [
+    [
+     "/css/CSS2/normal-flow/max-width-056.xht",
+     [
+      [
+       "/css/CSS2/reference/ref-if-there-is-no-red.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/normal-flow/max-width-057.xht": [
+    [
+     "/css/CSS2/normal-flow/max-width-057.xht",
+     [
+      [
+       "/css/CSS2/reference/ref-if-there-is-no-red.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/normal-flow/max-width-058.xht": [
+    [
+     "/css/CSS2/normal-flow/max-width-058.xht",
+     [
+      [
+       "/css/CSS2/reference/ref-filled-black-96px-square.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/normal-flow/max-width-059.xht": [
+    [
+     "/css/CSS2/normal-flow/max-width-059.xht",
+     [
+      [
+       "/css/CSS2/reference/ref-if-there-is-no-red.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/normal-flow/max-width-060.xht": [
+    [
+     "/css/CSS2/normal-flow/max-width-060.xht",
+     [
+      [
+       "/css/CSS2/reference/ref-if-there-is-no-red.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/normal-flow/max-width-061.xht": [
+    [
+     "/css/CSS2/normal-flow/max-width-061.xht",
+     [
+      [
+       "/css/CSS2/normal-flow/max-width-061-ref.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/normal-flow/max-width-062.xht": [
+    [
+     "/css/CSS2/normal-flow/max-width-062.xht",
+     [
+      [
+       "/css/CSS2/normal-flow/max-width-061-ref.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/normal-flow/max-width-067.xht": [
+    [
+     "/css/CSS2/normal-flow/max-width-067.xht",
+     [
+      [
+       "/css/CSS2/reference/ref-if-there-is-no-red.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/normal-flow/max-width-068.xht": [
+    [
+     "/css/CSS2/normal-flow/max-width-068.xht",
+     [
+      [
+       "/css/CSS2/reference/ref-if-there-is-no-red.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/normal-flow/max-width-069.xht": [
+    [
+     "/css/CSS2/normal-flow/max-width-069.xht",
+     [
+      [
+       "/css/CSS2/normal-flow/max-width-069-ref.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/normal-flow/max-width-070.xht": [
+    [
+     "/css/CSS2/normal-flow/max-width-070.xht",
+     [
+      [
+       "/css/CSS2/reference/ref-if-there-is-no-red.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/normal-flow/max-width-071.xht": [
+    [
+     "/css/CSS2/normal-flow/max-width-071.xht",
+     [
+      [
+       "/css/CSS2/reference/ref-if-there-is-no-red.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/normal-flow/max-width-072.xht": [
+    [
+     "/css/CSS2/normal-flow/max-width-072.xht",
+     [
+      [
+       "/css/CSS2/normal-flow/max-width-072-ref.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/normal-flow/max-width-073.xht": [
+    [
+     "/css/CSS2/normal-flow/max-width-073.xht",
+     [
+      [
+       "/css/CSS2/normal-flow/max-width-072-ref.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/normal-flow/max-width-078.xht": [
+    [
+     "/css/CSS2/normal-flow/max-width-078.xht",
+     [
+      [
+       "/css/CSS2/reference/ref-if-there-is-no-red.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/normal-flow/max-width-079.xht": [
+    [
+     "/css/CSS2/normal-flow/max-width-079.xht",
+     [
+      [
+       "/css/CSS2/reference/ref-if-there-is-no-red.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/normal-flow/max-width-080.xht": [
+    [
+     "/css/CSS2/normal-flow/max-width-080.xht",
+     [
+      [
+       "/css/CSS2/normal-flow/max-width-025-ref.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/normal-flow/max-width-081.xht": [
+    [
+     "/css/CSS2/normal-flow/max-width-081.xht",
+     [
+      [
+       "/css/CSS2/reference/ref-if-there-is-no-red.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/normal-flow/max-width-082.xht": [
+    [
+     "/css/CSS2/normal-flow/max-width-082.xht",
+     [
+      [
+       "/css/CSS2/reference/ref-if-there-is-no-red.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/normal-flow/max-width-083.xht": [
+    [
+     "/css/CSS2/normal-flow/max-width-083.xht",
+     [
+      [
+       "/css/CSS2/normal-flow/max-width-006-ref.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/normal-flow/max-width-084.xht": [
+    [
+     "/css/CSS2/normal-flow/max-width-084.xht",
+     [
+      [
+       "/css/CSS2/normal-flow/max-width-006-ref.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/normal-flow/max-width-089.xht": [
+    [
+     "/css/CSS2/normal-flow/max-width-089.xht",
+     [
+      [
+       "/css/CSS2/reference/ref-filled-black-96px-square.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/normal-flow/max-width-090.xht": [
+    [
+     "/css/CSS2/normal-flow/max-width-090.xht",
+     [
+      [
+       "/css/CSS2/reference/ref-if-there-is-no-red.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/normal-flow/max-width-091.xht": [
+    [
+     "/css/CSS2/normal-flow/max-width-091.xht",
+     [
+      [
+       "/css/CSS2/normal-flow/max-width-003-ref.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/normal-flow/max-width-092.xht": [
+    [
+     "/css/CSS2/normal-flow/max-width-092.xht",
+     [
+      [
+       "/css/CSS2/reference/ref-if-there-is-no-red.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/normal-flow/max-width-093.xht": [
+    [
+     "/css/CSS2/normal-flow/max-width-093.xht",
+     [
+      [
+       "/css/CSS2/reference/ref-if-there-is-no-red.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/normal-flow/max-width-094.xht": [
+    [
+     "/css/CSS2/normal-flow/max-width-094.xht",
+     [
+      [
+       "/css/CSS2/normal-flow/max-width-006-ref.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/normal-flow/max-width-095.xht": [
+    [
+     "/css/CSS2/normal-flow/max-width-095.xht",
+     [
+      [
+       "/css/CSS2/normal-flow/max-width-006-ref.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/normal-flow/max-width-100.xht": [
+    [
+     "/css/CSS2/normal-flow/max-width-100.xht",
+     [
+      [
+       "/css/CSS2/reference/ref-if-there-is-no-red.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/normal-flow/max-width-101.xht": [
+    [
+     "/css/CSS2/normal-flow/max-width-101.xht",
+     [
+      [
+       "/css/CSS2/reference/ref-if-there-is-no-red.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/normal-flow/max-width-102.xht": [
+    [
+     "/css/CSS2/normal-flow/max-width-102.xht",
+     [
+      [
+       "/css/CSS2/reference/ref-if-there-is-no-red.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/normal-flow/max-width-103.xht": [
+    [
+     "/css/CSS2/normal-flow/max-width-103.xht",
+     [
+      [
+       "/css/CSS2/reference/ref-filled-black-96px-square.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/normal-flow/max-width-104.xht": [
+    [
+     "/css/CSS2/normal-flow/max-width-104.xht",
+     [
+      [
+       "/css/CSS2/normal-flow/max-width-003-ref.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/normal-flow/max-width-105.xht": [
+    [
+     "/css/CSS2/normal-flow/max-width-105.xht",
+     [
+      [
+       "/css/CSS2/normal-flow/max-width-105-ref.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/normal-flow/max-width-106.xht": [
+    [
+     "/css/CSS2/normal-flow/max-width-106.xht",
+     [
+      [
+       "/css/CSS2/normal-flow/max-width-105-ref.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/normal-flow/max-width-107.xht": [
+    [
+     "/css/CSS2/normal-flow/max-width-107.xht",
+     [
+      [
+       "/css/CSS2/normal-flow/max-width-107-ref.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/normal-flow/max-width-110.xht": [
+    [
+     "/css/CSS2/normal-flow/max-width-110.xht",
+     [
+      [
+       "/css/CSS2/reference/ref-filled-green-100px-square.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/normal-flow/max-width-applies-to-001.xht": [
+    [
+     "/css/CSS2/normal-flow/max-width-applies-to-001.xht",
+     [
+      [
+       "/css/CSS2/reference/ref-filled-black-96px-square.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/normal-flow/max-width-applies-to-002.xht": [
+    [
+     "/css/CSS2/normal-flow/max-width-applies-to-002.xht",
+     [
+      [
+       "/css/CSS2/reference/ref-filled-black-96px-square.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/normal-flow/max-width-applies-to-003.xht": [
+    [
+     "/css/CSS2/normal-flow/max-width-applies-to-003.xht",
+     [
+      [
+       "/css/CSS2/reference/ref-filled-black-96px-square.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/normal-flow/max-width-applies-to-004.xht": [
+    [
+     "/css/CSS2/normal-flow/max-width-applies-to-004.xht",
+     [
+      [
+       "/css/CSS2/reference/ref-filled-black-96px-square.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/normal-flow/max-width-applies-to-005.xht": [
+    [
+     "/css/CSS2/normal-flow/max-width-applies-to-005.xht",
+     [
+      [
+       "/css/reference/pass_if_square_96px_black.html",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/normal-flow/max-width-applies-to-006.xht": [
+    [
+     "/css/CSS2/normal-flow/max-width-applies-to-006.xht",
+     [
+      [
+       "/css/reference/pass_if_square_96px_black.html",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/normal-flow/max-width-applies-to-007.xht": [
+    [
+     "/css/CSS2/normal-flow/max-width-applies-to-007.xht",
+     [
+      [
+       "/css/reference/pass_if_square_96px_black.html",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/normal-flow/max-width-applies-to-008.xht": [
+    [
+     "/css/CSS2/normal-flow/max-width-applies-to-008.xht",
+     [
+      [
+       "/css/CSS2/reference/ref-filled-green-100px-square.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/normal-flow/max-width-applies-to-009.xht": [
+    [
+     "/css/CSS2/normal-flow/max-width-applies-to-009.xht",
+     [
+      [
+       "/css/CSS2/reference/ref-filled-black-96px-square.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/normal-flow/max-width-applies-to-012.xht": [
+    [
+     "/css/CSS2/normal-flow/max-width-applies-to-012.xht",
+     [
+      [
+       "/css/CSS2/reference/ref-filled-black-96px-square.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/normal-flow/max-width-applies-to-013.xht": [
+    [
+     "/css/CSS2/normal-flow/max-width-applies-to-013.xht",
+     [
+      [
+       "/css/reference/pass_if_square_96px_black.html",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/normal-flow/max-width-applies-to-014.xht": [
+    [
+     "/css/CSS2/normal-flow/max-width-applies-to-014.xht",
+     [
+      [
+       "/css/reference/pass_if_square_96px_black.html",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/normal-flow/max-width-applies-to-015.xht": [
+    [
+     "/css/CSS2/normal-flow/max-width-applies-to-015.xht",
+     [
+      [
+       "/css/CSS2/reference/ref-filled-black-96px-square.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/normal-flow/max-width-applies-to-016.xht": [
+    [
+     "/css/CSS2/normal-flow/max-width-applies-to-016.xht",
+     [
+      [
+       "/css/CSS2/reference/ref-filled-green-100px-square.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/normal-flow/max-width-percentage-001.xht": [
+    [
+     "/css/CSS2/normal-flow/max-width-percentage-001.xht",
+     [
+      [
+       "/css/CSS2/normal-flow/max-width-percentage-001-ref.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/normal-flow/max-width-percentage-002.xht": [
+    [
+     "/css/CSS2/normal-flow/max-width-percentage-002.xht",
+     [
+      [
+       "/css/CSS2/reference/ref-if-there-is-no-red.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/normal-flow/min-height-001.xht": [
+    [
+     "/css/CSS2/normal-flow/min-height-001.xht",
+     [
+      [
+       "/css/CSS2/normal-flow/height-001-ref.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/normal-flow/min-height-002.xht": [
+    [
+     "/css/CSS2/normal-flow/min-height-002.xht",
+     [
+      [
+       "/css/CSS2/normal-flow/height-001-ref.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/normal-flow/min-height-003.xht": [
+    [
+     "/css/CSS2/normal-flow/min-height-003.xht",
+     [
+      [
+       "/css/CSS2/normal-flow/height-003-ref.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/normal-flow/min-height-004.xht": [
+    [
+     "/css/CSS2/normal-flow/min-height-004.xht",
+     [
+      [
+       "/css/CSS2/normal-flow/height-001-ref.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/normal-flow/min-height-005.xht": [
+    [
+     "/css/CSS2/normal-flow/min-height-005.xht",
+     [
+      [
+       "/css/CSS2/normal-flow/height-001-ref.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/normal-flow/min-height-006.xht": [
+    [
+     "/css/CSS2/normal-flow/min-height-006.xht",
+     [
+      [
+       "/css/CSS2/normal-flow/height-006-ref.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/normal-flow/min-height-007.xht": [
+    [
+     "/css/CSS2/normal-flow/min-height-007.xht",
+     [
+      [
+       "/css/CSS2/normal-flow/height-006-ref.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/normal-flow/min-height-012.xht": [
+    [
+     "/css/CSS2/normal-flow/min-height-012.xht",
+     [
+      [
+       "/css/CSS2/normal-flow/height-001-ref.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/normal-flow/min-height-013.xht": [
+    [
+     "/css/CSS2/normal-flow/min-height-013.xht",
+     [
+      [
+       "/css/CSS2/normal-flow/height-001-ref.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/normal-flow/min-height-015.xht": [
+    [
+     "/css/CSS2/normal-flow/min-height-015.xht",
+     [
+      [
+       "/css/CSS2/normal-flow/height-001-ref.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/normal-flow/min-height-016.xht": [
+    [
+     "/css/CSS2/normal-flow/min-height-016.xht",
+     [
+      [
+       "/css/CSS2/normal-flow/height-001-ref.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/normal-flow/min-height-017.xht": [
+    [
+     "/css/CSS2/normal-flow/min-height-017.xht",
+     [
+      [
+       "/css/CSS2/normal-flow/height-006-ref.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/normal-flow/min-height-018.xht": [
+    [
+     "/css/CSS2/normal-flow/min-height-018.xht",
+     [
+      [
+       "/css/CSS2/normal-flow/height-006-ref.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/normal-flow/min-height-023.xht": [
+    [
+     "/css/CSS2/normal-flow/min-height-023.xht",
+     [
+      [
+       "/css/CSS2/normal-flow/height-001-ref.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/normal-flow/min-height-024.xht": [
+    [
+     "/css/CSS2/normal-flow/min-height-024.xht",
+     [
+      [
+       "/css/CSS2/normal-flow/height-001-ref.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/normal-flow/min-height-025.xht": [
+    [
+     "/css/CSS2/normal-flow/min-height-025.xht",
+     [
+      [
+       "/css/CSS2/normal-flow/max-height-025-ref.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/normal-flow/min-height-026.xht": [
+    [
+     "/css/CSS2/normal-flow/min-height-026.xht",
+     [
+      [
+       "/css/CSS2/normal-flow/height-001-ref.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/normal-flow/min-height-027.xht": [
+    [
+     "/css/CSS2/normal-flow/min-height-027.xht",
+     [
+      [
+       "/css/CSS2/normal-flow/height-001-ref.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/normal-flow/min-height-028.xht": [
+    [
+     "/css/CSS2/normal-flow/min-height-028.xht",
+     [
+      [
+       "/css/CSS2/normal-flow/height-006-ref.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/normal-flow/min-height-029.xht": [
+    [
+     "/css/CSS2/normal-flow/min-height-029.xht",
+     [
+      [
+       "/css/CSS2/normal-flow/height-006-ref.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/normal-flow/min-height-034.xht": [
+    [
+     "/css/CSS2/normal-flow/min-height-034.xht",
+     [
+      [
+       "/css/CSS2/normal-flow/height-001-ref.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/normal-flow/min-height-035.xht": [
+    [
+     "/css/CSS2/normal-flow/min-height-035.xht",
+     [
+      [
+       "/css/CSS2/normal-flow/height-001-ref.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/normal-flow/min-height-036.xht": [
+    [
+     "/css/CSS2/normal-flow/min-height-036.xht",
+     [
+      [
+       "/css/CSS2/normal-flow/max-height-036-ref.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/normal-flow/min-height-037.xht": [
+    [
+     "/css/CSS2/normal-flow/min-height-037.xht",
+     [
+      [
+       "/css/CSS2/normal-flow/height-001-ref.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/normal-flow/min-height-038.xht": [
+    [
+     "/css/CSS2/normal-flow/min-height-038.xht",
+     [
+      [
+       "/css/CSS2/normal-flow/height-001-ref.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/normal-flow/min-height-039.xht": [
+    [
+     "/css/CSS2/normal-flow/min-height-039.xht",
+     [
+      [
+       "/css/CSS2/normal-flow/height-006-ref.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/normal-flow/min-height-040.xht": [
+    [
+     "/css/CSS2/normal-flow/min-height-040.xht",
+     [
+      [
+       "/css/CSS2/normal-flow/height-006-ref.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/normal-flow/min-height-045.xht": [
+    [
+     "/css/CSS2/normal-flow/min-height-045.xht",
+     [
+      [
+       "/css/CSS2/normal-flow/height-001-ref.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/normal-flow/min-height-046.xht": [
+    [
+     "/css/CSS2/normal-flow/min-height-046.xht",
+     [
+      [
+       "/css/CSS2/normal-flow/height-001-ref.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/normal-flow/min-height-047.xht": [
+    [
+     "/css/CSS2/normal-flow/min-height-047.xht",
+     [
+      [
+       "/css/CSS2/normal-flow/max-height-047-ref.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/normal-flow/min-height-048.xht": [
+    [
+     "/css/CSS2/normal-flow/min-height-048.xht",
+     [
+      [
+       "/css/CSS2/normal-flow/height-001-ref.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/normal-flow/min-height-049.xht": [
+    [
+     "/css/CSS2/normal-flow/min-height-049.xht",
+     [
+      [
+       "/css/CSS2/normal-flow/height-001-ref.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/normal-flow/min-height-050.xht": [
+    [
+     "/css/CSS2/normal-flow/min-height-050.xht",
+     [
+      [
+       "/css/CSS2/normal-flow/height-006-ref.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/normal-flow/min-height-051.xht": [
+    [
+     "/css/CSS2/normal-flow/min-height-051.xht",
+     [
+      [
+       "/css/CSS2/normal-flow/height-006-ref.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/normal-flow/min-height-056.xht": [
+    [
+     "/css/CSS2/normal-flow/min-height-056.xht",
+     [
+      [
+       "/css/CSS2/normal-flow/height-001-ref.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/normal-flow/min-height-057.xht": [
+    [
+     "/css/CSS2/normal-flow/min-height-057.xht",
+     [
+      [
+       "/css/CSS2/normal-flow/height-001-ref.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/normal-flow/min-height-058.xht": [
+    [
+     "/css/CSS2/normal-flow/min-height-058.xht",
+     [
+      [
+       "/css/CSS2/normal-flow/max-height-058-ref.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/normal-flow/min-height-059.xht": [
+    [
+     "/css/CSS2/normal-flow/min-height-059.xht",
+     [
+      [
+       "/css/CSS2/normal-flow/height-001-ref.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/normal-flow/min-height-060.xht": [
+    [
+     "/css/CSS2/normal-flow/min-height-060.xht",
+     [
+      [
+       "/css/CSS2/normal-flow/height-001-ref.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/normal-flow/min-height-061.xht": [
+    [
+     "/css/CSS2/normal-flow/min-height-061.xht",
+     [
+      [
+       "/css/CSS2/normal-flow/height-061-ref.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/normal-flow/min-height-062.xht": [
+    [
+     "/css/CSS2/normal-flow/min-height-062.xht",
+     [
+      [
+       "/css/CSS2/normal-flow/height-061-ref.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/normal-flow/min-height-067.xht": [
+    [
+     "/css/CSS2/normal-flow/min-height-067.xht",
+     [
+      [
+       "/css/CSS2/normal-flow/min-height-067-ref.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/normal-flow/min-height-068.xht": [
+    [
+     "/css/CSS2/normal-flow/min-height-068.xht",
+     [
+      [
+       "/css/CSS2/normal-flow/min-height-067-ref.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/normal-flow/min-height-069.xht": [
+    [
+     "/css/CSS2/normal-flow/min-height-069.xht",
+     [
+      [
+       "/css/CSS2/normal-flow/height-069-ref.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/normal-flow/min-height-070.xht": [
+    [
+     "/css/CSS2/normal-flow/min-height-070.xht",
+     [
+      [
+       "/css/CSS2/normal-flow/min-height-067-ref.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/normal-flow/min-height-071.xht": [
+    [
+     "/css/CSS2/normal-flow/min-height-071.xht",
+     [
+      [
+       "/css/CSS2/normal-flow/min-height-067-ref.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/normal-flow/min-height-072.xht": [
+    [
+     "/css/CSS2/normal-flow/min-height-072.xht",
+     [
+      [
+       "/css/CSS2/normal-flow/height-072-ref.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/normal-flow/min-height-073.xht": [
+    [
+     "/css/CSS2/normal-flow/min-height-073.xht",
+     [
+      [
+       "/css/CSS2/normal-flow/height-072-ref.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/normal-flow/min-height-078.xht": [
+    [
+     "/css/CSS2/normal-flow/min-height-078.xht",
+     [
+      [
+       "/css/CSS2/normal-flow/min-height-067-ref.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/normal-flow/min-height-079.xht": [
+    [
+     "/css/CSS2/normal-flow/min-height-079.xht",
+     [
+      [
+       "/css/CSS2/normal-flow/min-height-067-ref.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/normal-flow/min-height-080.xht": [
+    [
+     "/css/CSS2/normal-flow/min-height-080.xht",
+     [
+      [
+       "/css/CSS2/normal-flow/height-080-ref.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/normal-flow/min-height-081.xht": [
+    [
+     "/css/CSS2/normal-flow/min-height-081.xht",
+     [
+      [
+       "/css/CSS2/normal-flow/min-height-067-ref.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/normal-flow/min-height-082.xht": [
+    [
+     "/css/CSS2/normal-flow/min-height-082.xht",
+     [
+      [
+       "/css/CSS2/normal-flow/min-height-067-ref.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/normal-flow/min-height-083.xht": [
+    [
+     "/css/CSS2/normal-flow/min-height-083.xht",
+     [
+      [
+       "/css/CSS2/normal-flow/height-006-ref.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/normal-flow/min-height-084.xht": [
+    [
+     "/css/CSS2/normal-flow/min-height-084.xht",
+     [
+      [
+       "/css/CSS2/normal-flow/height-006-ref.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/normal-flow/min-height-089.xht": [
+    [
+     "/css/CSS2/normal-flow/min-height-089.xht",
+     [
+      [
+       "/css/CSS2/normal-flow/height-001-ref.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/normal-flow/min-height-090.xht": [
+    [
+     "/css/CSS2/normal-flow/min-height-090.xht",
+     [
+      [
+       "/css/CSS2/normal-flow/height-001-ref.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/normal-flow/min-height-091.xht": [
+    [
+     "/css/CSS2/normal-flow/min-height-091.xht",
+     [
+      [
+       "/css/CSS2/normal-flow/height-003-ref.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/normal-flow/min-height-092.xht": [
+    [
+     "/css/CSS2/normal-flow/min-height-092.xht",
+     [
+      [
+       "/css/CSS2/normal-flow/height-001-ref.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/normal-flow/min-height-093.xht": [
+    [
+     "/css/CSS2/normal-flow/min-height-093.xht",
+     [
+      [
+       "/css/CSS2/normal-flow/height-001-ref.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/normal-flow/min-height-094.xht": [
+    [
+     "/css/CSS2/normal-flow/min-height-094.xht",
+     [
+      [
+       "/css/CSS2/normal-flow/height-006-ref.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/normal-flow/min-height-095.xht": [
+    [
+     "/css/CSS2/normal-flow/min-height-095.xht",
+     [
+      [
+       "/css/CSS2/normal-flow/height-006-ref.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/normal-flow/min-height-100.xht": [
+    [
+     "/css/CSS2/normal-flow/min-height-100.xht",
+     [
+      [
+       "/css/CSS2/normal-flow/height-001-ref.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/normal-flow/min-height-101.xht": [
+    [
+     "/css/CSS2/normal-flow/min-height-101.xht",
+     [
+      [
+       "/css/CSS2/normal-flow/height-001-ref.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/normal-flow/min-height-102.xht": [
+    [
+     "/css/CSS2/normal-flow/min-height-102.xht",
+     [
+      [
+       "/css/CSS2/normal-flow/height-001-ref.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/normal-flow/min-height-103.xht": [
+    [
+     "/css/CSS2/normal-flow/min-height-103.xht",
+     [
+      [
+       "/css/CSS2/normal-flow/height-003-ref.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/normal-flow/min-height-104.xht": [
+    [
+     "/css/CSS2/normal-flow/min-height-104.xht",
+     [
+      [
+       "/css/CSS2/normal-flow/max-height-107-ref.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/normal-flow/min-height-105.xht": [
+    [
+     "/css/CSS2/normal-flow/min-height-105.xht",
+     [
+      [
+       "/css/CSS2/normal-flow/max-height-110-ref.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/normal-flow/min-height-106.xht": [
+    [
+     "/css/CSS2/normal-flow/min-height-106.xht",
+     [
+      [
+       "/css/CSS2/normal-flow/max-height-107-ref.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/normal-flow/min-height-111.xht": [
+    [
+     "/css/CSS2/normal-flow/min-height-111.xht",
+     [
+      [
+       "/css/CSS2/normal-flow/min-height-111-ref.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/normal-flow/min-height-112.xht": [
+    [
+     "/css/CSS2/normal-flow/min-height-112.xht",
+     [
+      [
+       "/css/CSS2/normal-flow/min-height-111-ref.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/normal-flow/min-height-applies-to-005.xht": [
+    [
+     "/css/CSS2/normal-flow/min-height-applies-to-005.xht",
+     [
+      [
+       "/css/CSS2/reference/ref-if-there-is-no-red.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/normal-flow/min-height-applies-to-006.xht": [
+    [
+     "/css/CSS2/normal-flow/min-height-applies-to-006.xht",
+     [
+      [
+       "/css/CSS2/reference/ref-if-there-is-no-red.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/normal-flow/min-height-applies-to-008.xht": [
+    [
+     "/css/CSS2/normal-flow/min-height-applies-to-008.xht",
+     [
+      [
+       "/css/CSS2/reference/ref-if-there-is-no-red.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/normal-flow/min-height-applies-to-009.xht": [
+    [
+     "/css/CSS2/normal-flow/min-height-applies-to-009.xht",
+     [
+      [
+       "/css/CSS2/reference/ref-filled-black-96px-square.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/normal-flow/min-height-applies-to-012.xht": [
+    [
+     "/css/CSS2/normal-flow/min-height-applies-to-012.xht",
+     [
+      [
+       "/css/CSS2/reference/ref-filled-black-96px-square.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/normal-flow/min-height-applies-to-015.xht": [
+    [
+     "/css/CSS2/normal-flow/min-height-applies-to-015.xht",
+     [
+      [
+       "/css/CSS2/reference/ref-filled-black-96px-square.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/normal-flow/min-height-percentage-001.xht": [
+    [
+     "/css/CSS2/normal-flow/min-height-percentage-001.xht",
+     [
+      [
+       "/css/CSS2/normal-flow/max-height-percentage-001-ref.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/normal-flow/min-height-percentage-002.xht": [
+    [
+     "/css/CSS2/normal-flow/min-height-percentage-002.xht",
+     [
+      [
+       "/css/CSS2/reference/ref-if-there-is-no-red.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/normal-flow/min-height-percentage-003.xht": [
+    [
+     "/css/CSS2/normal-flow/min-height-percentage-003.xht",
+     [
+      [
+       "/css/CSS2/normal-flow/min-height-percentage-003-ref.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/normal-flow/min-width-001.xht": [
+    [
+     "/css/CSS2/normal-flow/min-width-001.xht",
+     [
+      [
+       "/css/CSS2/reference/ref-if-there-is-no-red.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/normal-flow/min-width-002.xht": [
+    [
+     "/css/CSS2/normal-flow/min-width-002.xht",
+     [
+      [
+       "/css/CSS2/reference/ref-if-there-is-no-red.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/normal-flow/min-width-003.xht": [
+    [
+     "/css/CSS2/normal-flow/min-width-003.xht",
+     [
+      [
+       "/css/CSS2/normal-flow/max-width-003-ref.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/normal-flow/min-width-004.xht": [
+    [
+     "/css/CSS2/normal-flow/min-width-004.xht",
+     [
+      [
+       "/css/CSS2/reference/ref-if-there-is-no-red.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/normal-flow/min-width-005.xht": [
+    [
+     "/css/CSS2/normal-flow/min-width-005.xht",
+     [
+      [
+       "/css/CSS2/reference/ref-if-there-is-no-red.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/normal-flow/min-width-006.xht": [
+    [
+     "/css/CSS2/normal-flow/min-width-006.xht",
+     [
+      [
+       "/css/CSS2/normal-flow/max-width-006-ref.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/normal-flow/min-width-007.xht": [
+    [
+     "/css/CSS2/normal-flow/min-width-007.xht",
+     [
+      [
+       "/css/CSS2/normal-flow/max-width-006-ref.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/normal-flow/min-width-012.xht": [
+    [
+     "/css/CSS2/normal-flow/min-width-012.xht",
+     [
+      [
+       "/css/CSS2/reference/ref-if-there-is-no-red.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/normal-flow/min-width-013.xht": [
+    [
+     "/css/CSS2/normal-flow/min-width-013.xht",
+     [
+      [
+       "/css/CSS2/reference/ref-if-there-is-no-red.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/normal-flow/min-width-015.xht": [
+    [
+     "/css/CSS2/normal-flow/min-width-015.xht",
+     [
+      [
+       "/css/CSS2/reference/ref-if-there-is-no-red.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/normal-flow/min-width-016.xht": [
+    [
+     "/css/CSS2/normal-flow/min-width-016.xht",
+     [
+      [
+       "/css/CSS2/reference/ref-if-there-is-no-red.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/normal-flow/min-width-017.xht": [
+    [
+     "/css/CSS2/normal-flow/min-width-017.xht",
+     [
+      [
+       "/css/CSS2/normal-flow/max-width-006-ref.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/normal-flow/min-width-018.xht": [
+    [
+     "/css/CSS2/normal-flow/min-width-018.xht",
+     [
+      [
+       "/css/CSS2/normal-flow/max-width-006-ref.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/normal-flow/min-width-023.xht": [
+    [
+     "/css/CSS2/normal-flow/min-width-023.xht",
+     [
+      [
+       "/css/CSS2/reference/ref-if-there-is-no-red.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/normal-flow/min-width-024.xht": [
+    [
+     "/css/CSS2/normal-flow/min-width-024.xht",
+     [
+      [
+       "/css/CSS2/reference/ref-if-there-is-no-red.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/normal-flow/min-width-025.xht": [
+    [
+     "/css/CSS2/normal-flow/min-width-025.xht",
+     [
+      [
+       "/css/CSS2/normal-flow/max-width-025-ref.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/normal-flow/min-width-026.xht": [
+    [
+     "/css/CSS2/normal-flow/min-width-026.xht",
+     [
+      [
+       "/css/CSS2/reference/ref-if-there-is-no-red.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/normal-flow/min-width-027.xht": [
+    [
+     "/css/CSS2/normal-flow/min-width-027.xht",
+     [
+      [
+       "/css/CSS2/reference/ref-if-there-is-no-red.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/normal-flow/min-width-028.xht": [
+    [
+     "/css/CSS2/normal-flow/min-width-028.xht",
+     [
+      [
+       "/css/CSS2/normal-flow/max-width-006-ref.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/normal-flow/min-width-029.xht": [
+    [
+     "/css/CSS2/normal-flow/min-width-029.xht",
+     [
+      [
+       "/css/CSS2/normal-flow/max-width-006-ref.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/normal-flow/min-width-034.xht": [
+    [
+     "/css/CSS2/normal-flow/min-width-034.xht",
+     [
+      [
+       "/css/CSS2/reference/ref-if-there-is-no-red.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/normal-flow/min-width-035.xht": [
+    [
+     "/css/CSS2/normal-flow/min-width-035.xht",
+     [
+      [
+       "/css/CSS2/reference/ref-if-there-is-no-red.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/normal-flow/min-width-036.xht": [
+    [
+     "/css/CSS2/normal-flow/min-width-036.xht",
+     [
+      [
+       "/css/CSS2/normal-flow/max-width-036-ref.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/normal-flow/min-width-037.xht": [
+    [
+     "/css/CSS2/normal-flow/min-width-037.xht",
+     [
+      [
+       "/css/CSS2/reference/ref-if-there-is-no-red.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/normal-flow/min-width-038.xht": [
+    [
+     "/css/CSS2/normal-flow/min-width-038.xht",
+     [
+      [
+       "/css/CSS2/reference/ref-if-there-is-no-red.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/normal-flow/min-width-039.xht": [
+    [
+     "/css/CSS2/normal-flow/min-width-039.xht",
+     [
+      [
+       "/css/CSS2/normal-flow/max-width-006-ref.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/normal-flow/min-width-040.xht": [
+    [
+     "/css/CSS2/normal-flow/min-width-040.xht",
+     [
+      [
+       "/css/CSS2/normal-flow/max-width-006-ref.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/normal-flow/min-width-045.xht": [
+    [
+     "/css/CSS2/normal-flow/min-width-045.xht",
+     [
+      [
+       "/css/CSS2/reference/ref-if-there-is-no-red.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/normal-flow/min-width-046.xht": [
+    [
+     "/css/CSS2/normal-flow/min-width-046.xht",
+     [
+      [
+       "/css/CSS2/reference/ref-if-there-is-no-red.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/normal-flow/min-width-047.xht": [
+    [
+     "/css/CSS2/normal-flow/min-width-047.xht",
+     [
+      [
+       "/css/CSS2/normal-flow/max-width-047-ref.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/normal-flow/min-width-048.xht": [
+    [
+     "/css/CSS2/normal-flow/min-width-048.xht",
+     [
+      [
+       "/css/CSS2/reference/ref-if-there-is-no-red.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/normal-flow/min-width-049.xht": [
+    [
+     "/css/CSS2/normal-flow/min-width-049.xht",
+     [
+      [
+       "/css/CSS2/reference/ref-if-there-is-no-red.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/normal-flow/min-width-050.xht": [
+    [
+     "/css/CSS2/normal-flow/min-width-050.xht",
+     [
+      [
+       "/css/CSS2/normal-flow/max-width-006-ref.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/normal-flow/min-width-051.xht": [
+    [
+     "/css/CSS2/normal-flow/min-width-051.xht",
+     [
+      [
+       "/css/CSS2/normal-flow/max-width-006-ref.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/normal-flow/min-width-056.xht": [
+    [
+     "/css/CSS2/normal-flow/min-width-056.xht",
+     [
+      [
+       "/css/CSS2/reference/ref-if-there-is-no-red.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/normal-flow/min-width-057.xht": [
+    [
+     "/css/CSS2/normal-flow/min-width-057.xht",
+     [
+      [
+       "/css/CSS2/reference/ref-if-there-is-no-red.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/normal-flow/min-width-058.xht": [
+    [
+     "/css/CSS2/normal-flow/min-width-058.xht",
+     [
+      [
+       "/css/CSS2/reference/ref-filled-black-96px-square.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/normal-flow/min-width-059.xht": [
+    [
+     "/css/CSS2/normal-flow/min-width-059.xht",
+     [
+      [
+       "/css/CSS2/reference/ref-if-there-is-no-red.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/normal-flow/min-width-060.xht": [
+    [
+     "/css/CSS2/normal-flow/min-width-060.xht",
+     [
+      [
+       "/css/CSS2/reference/ref-if-there-is-no-red.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/normal-flow/min-width-061.xht": [
+    [
+     "/css/CSS2/normal-flow/min-width-061.xht",
+     [
+      [
+       "/css/CSS2/normal-flow/max-width-061-ref.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/normal-flow/min-width-062.xht": [
+    [
+     "/css/CSS2/normal-flow/min-width-062.xht",
+     [
+      [
+       "/css/CSS2/normal-flow/max-width-061-ref.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/normal-flow/min-width-067.xht": [
+    [
+     "/css/CSS2/normal-flow/min-width-067.xht",
+     [
+      [
+       "/css/CSS2/reference/ref-if-there-is-no-red.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/normal-flow/min-width-068.xht": [
+    [
+     "/css/CSS2/normal-flow/min-width-068.xht",
+     [
+      [
+       "/css/CSS2/reference/ref-if-there-is-no-red.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/normal-flow/min-width-069.xht": [
+    [
+     "/css/CSS2/normal-flow/min-width-069.xht",
+     [
+      [
+       "/css/CSS2/normal-flow/max-width-069-ref.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/normal-flow/min-width-070.xht": [
+    [
+     "/css/CSS2/normal-flow/min-width-070.xht",
+     [
+      [
+       "/css/CSS2/reference/ref-if-there-is-no-red.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/normal-flow/min-width-071.xht": [
+    [
+     "/css/CSS2/normal-flow/min-width-071.xht",
+     [
+      [
+       "/css/CSS2/reference/ref-if-there-is-no-red.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/normal-flow/min-width-072.xht": [
+    [
+     "/css/CSS2/normal-flow/min-width-072.xht",
+     [
+      [
+       "/css/CSS2/normal-flow/max-width-072-ref.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/normal-flow/min-width-073.xht": [
+    [
+     "/css/CSS2/normal-flow/min-width-073.xht",
+     [
+      [
+       "/css/CSS2/normal-flow/max-width-072-ref.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/normal-flow/min-width-078.xht": [
+    [
+     "/css/CSS2/normal-flow/min-width-078.xht",
+     [
+      [
+       "/css/CSS2/reference/ref-if-there-is-no-red.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/normal-flow/min-width-079.xht": [
+    [
+     "/css/CSS2/normal-flow/min-width-079.xht",
+     [
+      [
+       "/css/CSS2/reference/ref-if-there-is-no-red.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/normal-flow/min-width-080.xht": [
+    [
+     "/css/CSS2/normal-flow/min-width-080.xht",
+     [
+      [
+       "/css/CSS2/normal-flow/max-width-025-ref.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/normal-flow/min-width-081.xht": [
+    [
+     "/css/CSS2/normal-flow/min-width-081.xht",
+     [
+      [
+       "/css/CSS2/reference/ref-if-there-is-no-red.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/normal-flow/min-width-082.xht": [
+    [
+     "/css/CSS2/normal-flow/min-width-082.xht",
+     [
+      [
+       "/css/CSS2/reference/ref-if-there-is-no-red.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/normal-flow/min-width-083.xht": [
+    [
+     "/css/CSS2/normal-flow/min-width-083.xht",
+     [
+      [
+       "/css/CSS2/normal-flow/max-width-006-ref.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/normal-flow/min-width-084.xht": [
+    [
+     "/css/CSS2/normal-flow/min-width-084.xht",
+     [
+      [
+       "/css/CSS2/normal-flow/max-width-006-ref.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/normal-flow/min-width-089.xht": [
+    [
+     "/css/CSS2/normal-flow/min-width-089.xht",
+     [
+      [
+       "/css/CSS2/reference/ref-if-there-is-no-red.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/normal-flow/min-width-090.xht": [
+    [
+     "/css/CSS2/normal-flow/min-width-090.xht",
+     [
+      [
+       "/css/CSS2/reference/ref-if-there-is-no-red.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/normal-flow/min-width-091.xht": [
+    [
+     "/css/CSS2/normal-flow/min-width-091.xht",
+     [
+      [
+       "/css/CSS2/normal-flow/max-width-003-ref.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/normal-flow/min-width-092.xht": [
+    [
+     "/css/CSS2/normal-flow/min-width-092.xht",
+     [
+      [
+       "/css/CSS2/reference/ref-if-there-is-no-red.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/normal-flow/min-width-093.xht": [
+    [
+     "/css/CSS2/normal-flow/min-width-093.xht",
+     [
+      [
+       "/css/CSS2/reference/ref-if-there-is-no-red.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/normal-flow/min-width-094.xht": [
+    [
+     "/css/CSS2/normal-flow/min-width-094.xht",
+     [
+      [
+       "/css/CSS2/normal-flow/max-width-006-ref.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/normal-flow/min-width-095.xht": [
+    [
+     "/css/CSS2/normal-flow/min-width-095.xht",
+     [
+      [
+       "/css/CSS2/normal-flow/max-width-006-ref.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/normal-flow/min-width-100.xht": [
+    [
+     "/css/CSS2/normal-flow/min-width-100.xht",
+     [
+      [
+       "/css/CSS2/reference/ref-if-there-is-no-red.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/normal-flow/min-width-101.xht": [
+    [
+     "/css/CSS2/normal-flow/min-width-101.xht",
+     [
+      [
+       "/css/CSS2/reference/ref-if-there-is-no-red.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/normal-flow/min-width-102.xht": [
+    [
+     "/css/CSS2/normal-flow/min-width-102.xht",
+     [
+      [
+       "/css/CSS2/reference/ref-if-there-is-no-red.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/normal-flow/min-width-103.xht": [
+    [
+     "/css/CSS2/normal-flow/min-width-103.xht",
+     [
+      [
+       "/css/CSS2/normal-flow/max-width-003-ref.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/normal-flow/min-width-applies-to-001.xht": [
+    [
+     "/css/CSS2/normal-flow/min-width-applies-to-001.xht",
+     [
+      [
+       "/css/CSS2/reference/ref-if-there-is-no-red.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/normal-flow/min-width-applies-to-002.xht": [
+    [
+     "/css/CSS2/normal-flow/min-width-applies-to-002.xht",
+     [
+      [
+       "/css/CSS2/reference/ref-if-there-is-no-red.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/normal-flow/min-width-applies-to-003.xht": [
+    [
+     "/css/CSS2/normal-flow/min-width-applies-to-003.xht",
+     [
+      [
+       "/css/CSS2/reference/ref-if-there-is-no-red.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/normal-flow/min-width-applies-to-004.xht": [
+    [
+     "/css/CSS2/normal-flow/min-width-applies-to-004.xht",
+     [
+      [
+       "/css/CSS2/reference/ref-if-there-is-no-red.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/normal-flow/min-width-applies-to-005.xht": [
+    [
+     "/css/CSS2/normal-flow/min-width-applies-to-005.xht",
+     [
+      [
+       "/css/reference/pass_if_square_96px_black.html",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/normal-flow/min-width-applies-to-006.xht": [
+    [
+     "/css/CSS2/normal-flow/min-width-applies-to-006.xht",
+     [
+      [
+       "/css/reference/pass_if_square_96px_black.html",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/normal-flow/min-width-applies-to-007.xht": [
+    [
+     "/css/CSS2/normal-flow/min-width-applies-to-007.xht",
+     [
+      [
+       "/css/reference/pass_if_square_96px_black.html",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/normal-flow/min-width-applies-to-008.xht": [
+    [
+     "/css/CSS2/normal-flow/min-width-applies-to-008.xht",
+     [
+      [
+       "/css/CSS2/reference/ref-filled-green-100px-square.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/normal-flow/min-width-applies-to-009.xht": [
+    [
+     "/css/CSS2/normal-flow/min-width-applies-to-009.xht",
+     [
+      [
+       "/css/CSS2/reference/ref-filled-black-96px-square.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/normal-flow/min-width-applies-to-012.xht": [
+    [
+     "/css/CSS2/normal-flow/min-width-applies-to-012.xht",
+     [
+      [
+       "/css/CSS2/reference/ref-filled-black-96px-square.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/normal-flow/min-width-applies-to-013.xht": [
+    [
+     "/css/CSS2/normal-flow/min-width-applies-to-013.xht",
+     [
+      [
+       "/css/reference/pass_if_square_96px_black.html",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/normal-flow/min-width-applies-to-014.xht": [
+    [
+     "/css/CSS2/normal-flow/min-width-applies-to-014.xht",
+     [
+      [
+       "/css/reference/pass_if_square_96px_black.html",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/normal-flow/min-width-applies-to-015.xht": [
+    [
+     "/css/CSS2/normal-flow/min-width-applies-to-015.xht",
+     [
+      [
+       "/css/CSS2/reference/ref-filled-black-96px-square.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/normal-flow/min-width-applies-to-016.xht": [
+    [
+     "/css/CSS2/normal-flow/min-width-applies-to-016.xht",
+     [
+      [
+       "/css/CSS2/reference/ref-filled-green-100px-square.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/normal-flow/min-width-percentage-001.xht": [
+    [
+     "/css/CSS2/normal-flow/min-width-percentage-001.xht",
+     [
+      [
+       "/css/CSS2/normal-flow/max-width-percentage-001-ref.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/normal-flow/min-width-percentage-002.xht": [
+    [
+     "/css/CSS2/normal-flow/min-width-percentage-002.xht",
+     [
+      [
+       "/css/CSS2/reference/ref-if-there-is-no-red.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/normal-flow/replaced-intrinsic-001.xht": [
+    [
+     "/css/CSS2/normal-flow/replaced-intrinsic-001.xht",
+     [
+      [
+       "/css/CSS2/normal-flow/replaced-intrinsic-001-ref.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/normal-flow/replaced-intrinsic-002.xht": [
+    [
+     "/css/CSS2/normal-flow/replaced-intrinsic-002.xht",
+     [
+      [
+       "/css/CSS2/normal-flow/replaced-intrinsic-002-ref.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/normal-flow/replaced-intrinsic-003.xht": [
+    [
+     "/css/CSS2/normal-flow/replaced-intrinsic-003.xht",
+     [
+      [
+       "/css/CSS2/normal-flow/replaced-intrinsic-003-ref.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/normal-flow/replaced-intrinsic-004.xht": [
+    [
+     "/css/CSS2/normal-flow/replaced-intrinsic-004.xht",
+     [
+      [
+       "/css/CSS2/reference/ref-filled-green-100px-square.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/normal-flow/replaced-intrinsic-005.xht": [
+    [
+     "/css/CSS2/normal-flow/replaced-intrinsic-005.xht",
+     [
+      [
+       "/css/CSS2/normal-flow/replaced-intrinsic-005-ref.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/normal-flow/root-box-001.xht": [
+    [
+     "/css/CSS2/normal-flow/root-box-001.xht",
+     [
+      [
+       "/css/CSS2/normal-flow/root-box-001-ref.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/normal-flow/table-in-inline-001.xht": [
+    [
+     "/css/CSS2/normal-flow/table-in-inline-001.xht",
+     [
+      [
+       "/css/CSS2/normal-flow/table-in-inline-001-ref.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/normal-flow/width-001.xht": [
+    [
+     "/css/CSS2/normal-flow/width-001.xht",
+     [
+      [
+       "/css/CSS2/reference/ref-if-there-is-no-red.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/normal-flow/width-002.xht": [
+    [
+     "/css/CSS2/normal-flow/width-002.xht",
+     [
+      [
+       "/css/CSS2/reference/ref-if-there-is-no-red.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/normal-flow/width-003.xht": [
+    [
+     "/css/CSS2/normal-flow/width-003.xht",
+     [
+      [
+       "/css/CSS2/normal-flow/max-width-003-ref.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/normal-flow/width-004.xht": [
+    [
+     "/css/CSS2/normal-flow/width-004.xht",
+     [
+      [
+       "/css/CSS2/reference/ref-if-there-is-no-red.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/normal-flow/width-005.xht": [
+    [
+     "/css/CSS2/normal-flow/width-005.xht",
+     [
+      [
+       "/css/CSS2/reference/ref-if-there-is-no-red.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/normal-flow/width-006.xht": [
+    [
+     "/css/CSS2/normal-flow/width-006.xht",
+     [
+      [
+       "/css/CSS2/normal-flow/max-width-006-ref.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/normal-flow/width-007.xht": [
+    [
+     "/css/CSS2/normal-flow/width-007.xht",
+     [
+      [
+       "/css/CSS2/normal-flow/max-width-006-ref.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/normal-flow/width-012.xht": [
+    [
+     "/css/CSS2/normal-flow/width-012.xht",
+     [
+      [
+       "/css/CSS2/reference/ref-if-there-is-no-red.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/normal-flow/width-013.xht": [
+    [
+     "/css/CSS2/normal-flow/width-013.xht",
+     [
+      [
+       "/css/CSS2/reference/ref-if-there-is-no-red.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/normal-flow/width-015.xht": [
+    [
+     "/css/CSS2/normal-flow/width-015.xht",
+     [
+      [
+       "/css/CSS2/reference/ref-if-there-is-no-red.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/normal-flow/width-016.xht": [
+    [
+     "/css/CSS2/normal-flow/width-016.xht",
+     [
+      [
+       "/css/CSS2/reference/ref-if-there-is-no-red.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/normal-flow/width-017.xht": [
+    [
+     "/css/CSS2/normal-flow/width-017.xht",
+     [
+      [
+       "/css/CSS2/normal-flow/max-width-006-ref.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/normal-flow/width-018.xht": [
+    [
+     "/css/CSS2/normal-flow/width-018.xht",
+     [
+      [
+       "/css/CSS2/normal-flow/max-width-006-ref.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/normal-flow/width-023.xht": [
+    [
+     "/css/CSS2/normal-flow/width-023.xht",
+     [
+      [
+       "/css/CSS2/reference/ref-if-there-is-no-red.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/normal-flow/width-024.xht": [
+    [
+     "/css/CSS2/normal-flow/width-024.xht",
+     [
+      [
+       "/css/CSS2/reference/ref-if-there-is-no-red.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/normal-flow/width-025.xht": [
+    [
+     "/css/CSS2/normal-flow/width-025.xht",
+     [
+      [
+       "/css/CSS2/normal-flow/max-width-025-ref.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/normal-flow/width-026.xht": [
+    [
+     "/css/CSS2/normal-flow/width-026.xht",
+     [
+      [
+       "/css/CSS2/reference/ref-if-there-is-no-red.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/normal-flow/width-027.xht": [
+    [
+     "/css/CSS2/normal-flow/width-027.xht",
+     [
+      [
+       "/css/CSS2/reference/ref-if-there-is-no-red.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/normal-flow/width-028.xht": [
+    [
+     "/css/CSS2/normal-flow/width-028.xht",
+     [
+      [
+       "/css/CSS2/normal-flow/max-width-006-ref.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/normal-flow/width-029.xht": [
+    [
+     "/css/CSS2/normal-flow/width-029.xht",
+     [
+      [
+       "/css/CSS2/normal-flow/max-width-006-ref.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/normal-flow/width-034.xht": [
+    [
+     "/css/CSS2/normal-flow/width-034.xht",
+     [
+      [
+       "/css/CSS2/reference/ref-if-there-is-no-red.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/normal-flow/width-035.xht": [
+    [
+     "/css/CSS2/normal-flow/width-035.xht",
+     [
+      [
+       "/css/CSS2/reference/ref-if-there-is-no-red.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/normal-flow/width-036.xht": [
+    [
+     "/css/CSS2/normal-flow/width-036.xht",
+     [
+      [
+       "/css/CSS2/normal-flow/max-width-036-ref.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/normal-flow/width-037.xht": [
+    [
+     "/css/CSS2/normal-flow/width-037.xht",
+     [
+      [
+       "/css/CSS2/reference/ref-if-there-is-no-red.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/normal-flow/width-038.xht": [
+    [
+     "/css/CSS2/normal-flow/width-038.xht",
+     [
+      [
+       "/css/CSS2/reference/ref-if-there-is-no-red.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/normal-flow/width-039.xht": [
+    [
+     "/css/CSS2/normal-flow/width-039.xht",
+     [
+      [
+       "/css/CSS2/normal-flow/max-width-006-ref.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/normal-flow/width-040.xht": [
+    [
+     "/css/CSS2/normal-flow/width-040.xht",
+     [
+      [
+       "/css/CSS2/normal-flow/max-width-006-ref.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/normal-flow/width-045.xht": [
+    [
+     "/css/CSS2/normal-flow/width-045.xht",
+     [
+      [
+       "/css/CSS2/reference/ref-if-there-is-no-red.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/normal-flow/width-046.xht": [
+    [
+     "/css/CSS2/normal-flow/width-046.xht",
+     [
+      [
+       "/css/CSS2/reference/ref-if-there-is-no-red.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/normal-flow/width-047.xht": [
+    [
+     "/css/CSS2/normal-flow/width-047.xht",
+     [
+      [
+       "/css/CSS2/normal-flow/max-width-047-ref.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/normal-flow/width-048.xht": [
+    [
+     "/css/CSS2/normal-flow/width-048.xht",
+     [
+      [
+       "/css/CSS2/reference/ref-if-there-is-no-red.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/normal-flow/width-049.xht": [
+    [
+     "/css/CSS2/normal-flow/width-049.xht",
+     [
+      [
+       "/css/CSS2/reference/ref-if-there-is-no-red.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/normal-flow/width-050.xht": [
+    [
+     "/css/CSS2/normal-flow/width-050.xht",
+     [
+      [
+       "/css/CSS2/normal-flow/max-width-006-ref.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/normal-flow/width-051.xht": [
+    [
+     "/css/CSS2/normal-flow/width-051.xht",
+     [
+      [
+       "/css/CSS2/normal-flow/max-width-006-ref.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/normal-flow/width-056.xht": [
+    [
+     "/css/CSS2/normal-flow/width-056.xht",
+     [
+      [
+       "/css/CSS2/reference/ref-if-there-is-no-red.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/normal-flow/width-057.xht": [
+    [
+     "/css/CSS2/normal-flow/width-057.xht",
+     [
+      [
+       "/css/CSS2/reference/ref-if-there-is-no-red.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/normal-flow/width-058.xht": [
+    [
+     "/css/CSS2/normal-flow/width-058.xht",
+     [
+      [
+       "/css/CSS2/reference/ref-filled-black-96px-square.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/normal-flow/width-059.xht": [
+    [
+     "/css/CSS2/normal-flow/width-059.xht",
+     [
+      [
+       "/css/CSS2/reference/ref-if-there-is-no-red.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/normal-flow/width-060.xht": [
+    [
+     "/css/CSS2/normal-flow/width-060.xht",
+     [
+      [
+       "/css/CSS2/reference/ref-if-there-is-no-red.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/normal-flow/width-061.xht": [
+    [
+     "/css/CSS2/normal-flow/width-061.xht",
+     [
+      [
+       "/css/CSS2/normal-flow/max-width-061-ref.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/normal-flow/width-062.xht": [
+    [
+     "/css/CSS2/normal-flow/width-062.xht",
+     [
+      [
+       "/css/CSS2/normal-flow/max-width-061-ref.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/normal-flow/width-067.xht": [
+    [
+     "/css/CSS2/normal-flow/width-067.xht",
+     [
+      [
+       "/css/CSS2/reference/ref-if-there-is-no-red.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/normal-flow/width-068.xht": [
+    [
+     "/css/CSS2/normal-flow/width-068.xht",
+     [
+      [
+       "/css/CSS2/reference/ref-if-there-is-no-red.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/normal-flow/width-069.xht": [
+    [
+     "/css/CSS2/normal-flow/width-069.xht",
+     [
+      [
+       "/css/CSS2/normal-flow/max-width-069-ref.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/normal-flow/width-070.xht": [
+    [
+     "/css/CSS2/normal-flow/width-070.xht",
+     [
+      [
+       "/css/CSS2/reference/ref-if-there-is-no-red.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/normal-flow/width-071.xht": [
+    [
+     "/css/CSS2/normal-flow/width-071.xht",
+     [
+      [
+       "/css/CSS2/reference/ref-if-there-is-no-red.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/normal-flow/width-072.xht": [
+    [
+     "/css/CSS2/normal-flow/width-072.xht",
+     [
+      [
+       "/css/CSS2/normal-flow/max-width-072-ref.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/normal-flow/width-073.xht": [
+    [
+     "/css/CSS2/normal-flow/width-073.xht",
+     [
+      [
+       "/css/CSS2/normal-flow/max-width-072-ref.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/normal-flow/width-078.xht": [
+    [
+     "/css/CSS2/normal-flow/width-078.xht",
+     [
+      [
+       "/css/CSS2/reference/ref-if-there-is-no-red.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/normal-flow/width-079.xht": [
+    [
+     "/css/CSS2/normal-flow/width-079.xht",
+     [
+      [
+       "/css/CSS2/reference/ref-if-there-is-no-red.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/normal-flow/width-080.xht": [
+    [
+     "/css/CSS2/normal-flow/width-080.xht",
+     [
+      [
+       "/css/CSS2/normal-flow/max-width-025-ref.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/normal-flow/width-081.xht": [
+    [
+     "/css/CSS2/normal-flow/width-081.xht",
+     [
+      [
+       "/css/CSS2/reference/ref-if-there-is-no-red.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/normal-flow/width-082.xht": [
+    [
+     "/css/CSS2/normal-flow/width-082.xht",
+     [
+      [
+       "/css/CSS2/reference/ref-if-there-is-no-red.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/normal-flow/width-083.xht": [
+    [
+     "/css/CSS2/normal-flow/width-083.xht",
+     [
+      [
+       "/css/CSS2/normal-flow/max-width-006-ref.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/normal-flow/width-084.xht": [
+    [
+     "/css/CSS2/normal-flow/width-084.xht",
+     [
+      [
+       "/css/CSS2/normal-flow/max-width-006-ref.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/normal-flow/width-089.xht": [
+    [
+     "/css/CSS2/normal-flow/width-089.xht",
+     [
+      [
+       "/css/CSS2/reference/ref-if-there-is-no-red.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/normal-flow/width-090.xht": [
+    [
+     "/css/CSS2/normal-flow/width-090.xht",
+     [
+      [
+       "/css/CSS2/reference/ref-if-there-is-no-red.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/normal-flow/width-091.xht": [
+    [
+     "/css/CSS2/normal-flow/width-091.xht",
+     [
+      [
+       "/css/CSS2/normal-flow/max-width-003-ref.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/normal-flow/width-092.xht": [
+    [
+     "/css/CSS2/normal-flow/width-092.xht",
+     [
+      [
+       "/css/CSS2/reference/ref-if-there-is-no-red.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/normal-flow/width-093.xht": [
+    [
+     "/css/CSS2/normal-flow/width-093.xht",
+     [
+      [
+       "/css/CSS2/reference/ref-if-there-is-no-red.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/normal-flow/width-094.xht": [
+    [
+     "/css/CSS2/normal-flow/width-094.xht",
+     [
+      [
+       "/css/CSS2/normal-flow/max-width-006-ref.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/normal-flow/width-095.xht": [
+    [
+     "/css/CSS2/normal-flow/width-095.xht",
+     [
+      [
+       "/css/CSS2/normal-flow/max-width-006-ref.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/normal-flow/width-100.xht": [
+    [
+     "/css/CSS2/normal-flow/width-100.xht",
+     [
+      [
+       "/css/CSS2/reference/ref-if-there-is-no-red.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/normal-flow/width-101.xht": [
+    [
+     "/css/CSS2/normal-flow/width-101.xht",
+     [
+      [
+       "/css/CSS2/reference/ref-if-there-is-no-red.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/normal-flow/width-102.xht": [
+    [
+     "/css/CSS2/normal-flow/width-102.xht",
+     [
+      [
+       "/css/CSS2/reference/ref-if-there-is-no-red.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/normal-flow/width-103.xht": [
+    [
+     "/css/CSS2/normal-flow/width-103.xht",
+     [
+      [
+       "/css/CSS2/normal-flow/width-103-ref.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/normal-flow/width-104.xht": [
+    [
+     "/css/CSS2/normal-flow/width-104.xht",
+     [
+      [
+       "/css/CSS2/normal-flow/max-width-003-ref.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/normal-flow/width-applies-to-001.xht": [
+    [
+     "/css/CSS2/normal-flow/width-applies-to-001.xht",
+     [
+      [
+       "/css/CSS2/reference/ref-filled-black-96px-square.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/normal-flow/width-applies-to-002.xht": [
+    [
+     "/css/CSS2/normal-flow/width-applies-to-002.xht",
+     [
+      [
+       "/css/CSS2/reference/ref-filled-black-96px-square.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/normal-flow/width-applies-to-003.xht": [
+    [
+     "/css/CSS2/normal-flow/width-applies-to-003.xht",
+     [
+      [
+       "/css/CSS2/reference/ref-filled-black-96px-square.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/normal-flow/width-applies-to-004.xht": [
+    [
+     "/css/CSS2/normal-flow/width-applies-to-004.xht",
+     [
+      [
+       "/css/CSS2/reference/ref-filled-black-96px-square.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/normal-flow/width-applies-to-005.xht": [
+    [
+     "/css/CSS2/normal-flow/width-applies-to-005.xht",
+     [
+      [
+       "/css/reference/pass_if_square_96px_black.html",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/normal-flow/width-applies-to-006.xht": [
+    [
+     "/css/CSS2/normal-flow/width-applies-to-006.xht",
+     [
+      [
+       "/css/CSS2/reference/ref-filled-black-96px-square.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/normal-flow/width-applies-to-007.xht": [
+    [
+     "/css/CSS2/normal-flow/width-applies-to-007.xht",
+     [
+      [
+       "/css/CSS2/reference/ref-filled-black-96px-square.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/normal-flow/width-applies-to-008.xht": [
+    [
+     "/css/CSS2/normal-flow/width-applies-to-008.xht",
+     [
+      [
+       "/css/CSS2/reference/ref-if-there-is-no-red.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/normal-flow/width-applies-to-009.xht": [
+    [
+     "/css/CSS2/normal-flow/width-applies-to-009.xht",
+     [
+      [
+       "/css/CSS2/reference/ref-filled-black-96px-square.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/normal-flow/width-applies-to-012.xht": [
+    [
+     "/css/CSS2/normal-flow/width-applies-to-012.xht",
+     [
+      [
+       "/css/CSS2/reference/ref-filled-black-96px-square.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/normal-flow/width-applies-to-013.xht": [
+    [
+     "/css/CSS2/normal-flow/width-applies-to-013.xht",
+     [
+      [
+       "/css/CSS2/reference/ref-filled-black-96px-square.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/normal-flow/width-applies-to-014.xht": [
+    [
+     "/css/CSS2/normal-flow/width-applies-to-014.xht",
+     [
+      [
+       "/css/CSS2/reference/ref-filled-black-96px-square.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/normal-flow/width-applies-to-015.xht": [
+    [
+     "/css/CSS2/normal-flow/width-applies-to-015.xht",
+     [
+      [
+       "/css/CSS2/reference/ref-filled-black-96px-square.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/normal-flow/width-applies-to-016.xht": [
+    [
+     "/css/CSS2/normal-flow/width-applies-to-016.xht",
+     [
+      [
+       "/css/CSS2/reference/ref-if-there-is-no-red.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/normal-flow/width-inherit-001.xht": [
+    [
+     "/css/CSS2/normal-flow/width-inherit-001.xht",
+     [
+      [
+       "/css/CSS2/normal-flow/block-non-replaced-width-001-ref.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/normal-flow/width-non-replaced-inline-001.xht": [
+    [
+     "/css/CSS2/normal-flow/width-non-replaced-inline-001.xht",
+     [
+      [
+       "/css/CSS2/normal-flow/width-non-replaced-inline-001-ref.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/normal-flow/width-percentage-001.xht": [
+    [
+     "/css/CSS2/normal-flow/width-percentage-001.xht",
+     [
+      [
+       "/css/CSS2/normal-flow/max-width-percentage-001-ref.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/normal-flow/width-percentage-002.xht": [
+    [
+     "/css/CSS2/normal-flow/width-percentage-002.xht",
+     [
+      [
+       "/css/CSS2/normal-flow/max-width-percentage-001-ref.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/positioning/absolute-non-replaced-height-002.xht": [
+    [
+     "/css/CSS2/positioning/absolute-non-replaced-height-002.xht",
+     [
+      [
+       "/css/CSS2/positioning/absolute-non-replaced-height-002-ref.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/positioning/absolute-non-replaced-height-003.xht": [
+    [
+     "/css/CSS2/positioning/absolute-non-replaced-height-003.xht",
+     [
+      [
+       "/css/CSS2/positioning/absolute-non-replaced-height-003-ref.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/positioning/absolute-non-replaced-height-004.xht": [
+    [
+     "/css/CSS2/positioning/absolute-non-replaced-height-004.xht",
+     [
+      [
+       "/css/CSS2/positioning/absolute-non-replaced-height-003-ref.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/positioning/absolute-non-replaced-height-005.xht": [
+    [
+     "/css/CSS2/positioning/absolute-non-replaced-height-005.xht",
+     [
+      [
+       "/css/CSS2/positioning/absolute-non-replaced-height-003-ref.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/positioning/absolute-non-replaced-height-006.xht": [
+    [
+     "/css/CSS2/positioning/absolute-non-replaced-height-006.xht",
+     [
+      [
+       "/css/CSS2/positioning/absolute-non-replaced-height-006-ref.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/positioning/absolute-non-replaced-height-007.xht": [
+    [
+     "/css/CSS2/positioning/absolute-non-replaced-height-007.xht",
+     [
+      [
+       "/css/CSS2/positioning/absolute-non-replaced-height-007-ref.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/positioning/absolute-non-replaced-height-008.xht": [
+    [
+     "/css/CSS2/positioning/absolute-non-replaced-height-008.xht",
+     [
+      [
+       "/css/CSS2/positioning/absolute-non-replaced-height-008-ref.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/positioning/absolute-non-replaced-height-009.xht": [
+    [
+     "/css/CSS2/positioning/absolute-non-replaced-height-009.xht",
+     [
+      [
+       "/css/CSS2/positioning/absolute-non-replaced-height-009-ref.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/positioning/absolute-non-replaced-height-010.xht": [
+    [
+     "/css/CSS2/positioning/absolute-non-replaced-height-010.xht",
+     [
+      [
+       "/css/CSS2/positioning/absolute-non-replaced-height-003-ref.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/positioning/absolute-non-replaced-height-011.xht": [
+    [
+     "/css/CSS2/positioning/absolute-non-replaced-height-011.xht",
+     [
+      [
+       "/css/CSS2/positioning/absolute-non-replaced-height-003-ref.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/positioning/absolute-non-replaced-height-012.xht": [
+    [
+     "/css/CSS2/positioning/absolute-non-replaced-height-012.xht",
+     [
+      [
+       "/css/CSS2/positioning/absolute-non-replaced-height-003-ref.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/positioning/absolute-non-replaced-max-height-002.xht": [
+    [
+     "/css/CSS2/positioning/absolute-non-replaced-max-height-002.xht",
+     [
+      [
+       "/css/CSS2/positioning/absolute-non-replaced-max-height-002-ref.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/positioning/absolute-non-replaced-max-height-003.xht": [
+    [
+     "/css/CSS2/positioning/absolute-non-replaced-max-height-003.xht",
+     [
+      [
+       "/css/CSS2/positioning/absolute-non-replaced-max-height-003-ref.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/positioning/absolute-non-replaced-max-height-004.xht": [
+    [
+     "/css/CSS2/positioning/absolute-non-replaced-max-height-004.xht",
+     [
+      [
+       "/css/CSS2/positioning/absolute-non-replaced-height-003-ref.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/positioning/absolute-non-replaced-max-height-005.xht": [
+    [
+     "/css/CSS2/positioning/absolute-non-replaced-max-height-005.xht",
+     [
+      [
+       "/css/CSS2/positioning/absolute-non-replaced-height-003-ref.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/positioning/absolute-non-replaced-max-height-006.xht": [
+    [
+     "/css/CSS2/positioning/absolute-non-replaced-max-height-006.xht",
+     [
+      [
+       "/css/CSS2/positioning/absolute-non-replaced-height-003-ref.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/positioning/absolute-non-replaced-max-height-007.xht": [
+    [
+     "/css/CSS2/positioning/absolute-non-replaced-max-height-007.xht",
+     [
+      [
+       "/css/CSS2/positioning/absolute-non-replaced-max-height-007-ref.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/positioning/absolute-non-replaced-max-height-008.xht": [
+    [
+     "/css/CSS2/positioning/absolute-non-replaced-max-height-008.xht",
+     [
+      [
+       "/css/CSS2/positioning/absolute-non-replaced-max-height-008-ref.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/positioning/absolute-non-replaced-max-height-009.xht": [
+    [
+     "/css/CSS2/positioning/absolute-non-replaced-max-height-009.xht",
+     [
+      [
+       "/css/CSS2/positioning/absolute-non-replaced-max-height-009-ref.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/positioning/absolute-non-replaced-max-height-010.xht": [
+    [
+     "/css/CSS2/positioning/absolute-non-replaced-max-height-010.xht",
+     [
+      [
+       "/css/CSS2/positioning/absolute-non-replaced-height-003-ref.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/positioning/absolute-non-replaced-max-height-011.xht": [
+    [
+     "/css/CSS2/positioning/absolute-non-replaced-max-height-011.xht",
+     [
+      [
+       "/css/CSS2/positioning/absolute-non-replaced-max-height-003-ref.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/positioning/absolute-non-replaced-max-height-012.xht": [
+    [
+     "/css/CSS2/positioning/absolute-non-replaced-max-height-012.xht",
+     [
+      [
+       "/css/CSS2/positioning/absolute-non-replaced-height-003-ref.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/positioning/absolute-non-replaced-width-001.xht": [
+    [
+     "/css/CSS2/positioning/absolute-non-replaced-width-001.xht",
+     [
+      [
+       "/css/CSS2/positioning/absolute-non-replaced-height-002-ref.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/positioning/absolute-non-replaced-width-002.xht": [
+    [
+     "/css/CSS2/positioning/absolute-non-replaced-width-002.xht",
+     [
+      [
+       "/css/CSS2/positioning/absolute-non-replaced-width-002-ref.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/positioning/absolute-non-replaced-width-003.xht": [
+    [
+     "/css/CSS2/positioning/absolute-non-replaced-width-003.xht",
+     [
+      [
+       "/css/CSS2/positioning/absolute-non-replaced-width-003-ref.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/positioning/absolute-non-replaced-width-004.xht": [
+    [
+     "/css/CSS2/positioning/absolute-non-replaced-width-004.xht",
+     [
+      [
+       "/css/CSS2/positioning/absolute-non-replaced-width-002-ref.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/positioning/absolute-non-replaced-width-005.xht": [
+    [
+     "/css/CSS2/positioning/absolute-non-replaced-width-005.xht",
+     [
+      [
+       "/css/CSS2/positioning/absolute-non-replaced-height-002-ref.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/positioning/absolute-non-replaced-width-006.xht": [
+    [
+     "/css/CSS2/positioning/absolute-non-replaced-width-006.xht",
+     [
+      [
+       "/css/CSS2/positioning/absolute-non-replaced-width-002-ref.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/positioning/absolute-non-replaced-width-007.xht": [
+    [
+     "/css/CSS2/positioning/absolute-non-replaced-width-007.xht",
+     [
+      [
+       "/css/CSS2/positioning/absolute-non-replaced-height-002-ref.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/positioning/absolute-non-replaced-width-008.xht": [
+    [
+     "/css/CSS2/positioning/absolute-non-replaced-width-008.xht",
+     [
+      [
+       "/css/CSS2/positioning/absolute-non-replaced-width-008-ref.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/positioning/absolute-non-replaced-width-010.xht": [
+    [
+     "/css/CSS2/positioning/absolute-non-replaced-width-010.xht",
+     [
+      [
+       "/css/CSS2/positioning/absolute-non-replaced-height-002-ref.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/positioning/absolute-non-replaced-width-011.xht": [
+    [
+     "/css/CSS2/positioning/absolute-non-replaced-width-011.xht",
+     [
+      [
+       "/css/CSS2/positioning/absolute-non-replaced-height-002-ref.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/positioning/absolute-non-replaced-width-012.xht": [
+    [
+     "/css/CSS2/positioning/absolute-non-replaced-width-012.xht",
+     [
+      [
+       "/css/CSS2/positioning/absolute-non-replaced-width-002-ref.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/positioning/absolute-non-replaced-width-013.xht": [
+    [
+     "/css/CSS2/positioning/absolute-non-replaced-width-013.xht",
+     [
+      [
+       "/css/CSS2/positioning/absolute-non-replaced-width-002-ref.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/positioning/absolute-non-replaced-width-014.xht": [
+    [
+     "/css/CSS2/positioning/absolute-non-replaced-width-014.xht",
+     [
+      [
+       "/css/CSS2/positioning/absolute-non-replaced-height-002-ref.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/positioning/absolute-non-replaced-width-015.xht": [
+    [
+     "/css/CSS2/positioning/absolute-non-replaced-width-015.xht",
+     [
+      [
+       "/css/CSS2/positioning/absolute-non-replaced-width-015-ref.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/positioning/absolute-non-replaced-width-016.xht": [
+    [
+     "/css/CSS2/positioning/absolute-non-replaced-width-016.xht",
+     [
+      [
+       "/css/CSS2/positioning/absolute-non-replaced-width-002-ref.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/positioning/absolute-non-replaced-width-017.xht": [
+    [
+     "/css/CSS2/positioning/absolute-non-replaced-width-017.xht",
+     [
+      [
+       "/css/CSS2/positioning/absolute-non-replaced-width-017-ref.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/positioning/absolute-non-replaced-width-018.xht": [
+    [
+     "/css/CSS2/positioning/absolute-non-replaced-width-018.xht",
+     [
+      [
+       "/css/CSS2/positioning/absolute-non-replaced-width-017-ref.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/positioning/absolute-non-replaced-width-019.xht": [
+    [
+     "/css/CSS2/positioning/absolute-non-replaced-width-019.xht",
+     [
+      [
+       "/css/CSS2/positioning/absolute-non-replaced-width-017-ref.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/positioning/absolute-non-replaced-width-020.xht": [
+    [
+     "/css/CSS2/positioning/absolute-non-replaced-width-020.xht",
+     [
+      [
+       "/css/CSS2/positioning/absolute-non-replaced-width-017-ref.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/positioning/absolute-non-replaced-width-021.xht": [
+    [
+     "/css/CSS2/positioning/absolute-non-replaced-width-021.xht",
+     [
+      [
+       "/css/CSS2/positioning/absolute-non-replaced-width-021-ref.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/positioning/absolute-non-replaced-width-022.xht": [
+    [
+     "/css/CSS2/positioning/absolute-non-replaced-width-022.xht",
+     [
+      [
+       "/css/CSS2/positioning/absolute-non-replaced-width-021-ref.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/positioning/absolute-non-replaced-width-023.xht": [
+    [
+     "/css/CSS2/positioning/absolute-non-replaced-width-023.xht",
+     [
+      [
+       "/css/CSS2/positioning/absolute-non-replaced-width-021-ref.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/positioning/absolute-non-replaced-width-024.xht": [
+    [
+     "/css/CSS2/positioning/absolute-non-replaced-width-024.xht",
+     [
+      [
+       "/css/CSS2/positioning/absolute-non-replaced-width-021-ref.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/positioning/absolute-non-replaced-width-025.xht": [
+    [
+     "/css/CSS2/positioning/absolute-non-replaced-width-025.xht",
+     [
+      [
+       "/css/CSS2/positioning/absolute-non-replaced-width-025-ref.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/positioning/absolute-non-replaced-width-026.xht": [
+    [
+     "/css/CSS2/positioning/absolute-non-replaced-width-026.xht",
+     [
+      [
+       "/css/CSS2/positioning/absolute-non-replaced-width-026-ref.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/positioning/absolute-non-replaced-width-027.xht": [
+    [
+     "/css/CSS2/positioning/absolute-non-replaced-width-027.xht",
+     [
+      [
+       "/css/CSS2/reference/ref-filled-green-100px-square.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/positioning/absolute-replaced-height-001.xht": [
+    [
+     "/css/CSS2/positioning/absolute-replaced-height-001.xht",
+     [
+      [
+       "/css/CSS2/positioning/absolute-replaced-height-001-ref.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/positioning/absolute-replaced-height-002.xht": [
+    [
+     "/css/CSS2/positioning/absolute-replaced-height-002.xht",
+     [
+      [
+       "/css/CSS2/positioning/absolute-replaced-height-002-ref.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/positioning/absolute-replaced-height-003.xht": [
+    [
+     "/css/CSS2/positioning/absolute-replaced-height-003.xht",
+     [
+      [
+       "/css/CSS2/positioning/absolute-non-replaced-height-007-ref.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/positioning/absolute-replaced-height-004.xht": [
+    [
+     "/css/CSS2/positioning/absolute-replaced-height-004.xht",
+     [
+      [
+       "/css/CSS2/positioning/absolute-replaced-height-004-ref.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/positioning/absolute-replaced-height-005.xht": [
+    [
+     "/css/CSS2/positioning/absolute-replaced-height-005.xht",
+     [
+      [
+       "/css/CSS2/positioning/absolute-replaced-height-005-ref.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/positioning/absolute-replaced-height-006.xht": [
+    [
+     "/css/CSS2/positioning/absolute-replaced-height-006.xht",
+     [
+      [
+       "/css/CSS2/positioning/absolute-replaced-height-006-ref.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/positioning/absolute-replaced-height-007.xht": [
+    [
+     "/css/CSS2/positioning/absolute-replaced-height-007.xht",
+     [
+      [
+       "/css/CSS2/positioning/absolute-replaced-height-007-ref.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/positioning/absolute-replaced-height-008.xht": [
+    [
+     "/css/CSS2/positioning/absolute-replaced-height-008.xht",
+     [
+      [
+       "/css/CSS2/positioning/absolute-replaced-height-008-ref.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/positioning/absolute-replaced-height-009.xht": [
+    [
+     "/css/CSS2/positioning/absolute-replaced-height-009.xht",
+     [
+      [
+       "/css/CSS2/positioning/absolute-replaced-height-008-ref.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/positioning/absolute-replaced-height-010.xht": [
+    [
+     "/css/CSS2/positioning/absolute-replaced-height-010.xht",
+     [
+      [
+       "/css/CSS2/positioning/absolute-replaced-height-010-ref.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/positioning/absolute-replaced-height-011.xht": [
+    [
+     "/css/CSS2/positioning/absolute-replaced-height-011.xht",
+     [
+      [
+       "/css/CSS2/positioning/absolute-replaced-height-011-ref.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/positioning/absolute-replaced-height-012.xht": [
+    [
+     "/css/CSS2/positioning/absolute-replaced-height-012.xht",
+     [
+      [
+       "/css/CSS2/positioning/absolute-replaced-height-012-ref.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/positioning/absolute-replaced-height-013.xht": [
+    [
+     "/css/CSS2/positioning/absolute-replaced-height-013.xht",
+     [
+      [
+       "/css/CSS2/positioning/absolute-replaced-height-013-ref.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/positioning/absolute-replaced-height-014.xht": [
+    [
+     "/css/CSS2/positioning/absolute-replaced-height-014.xht",
+     [
+      [
+       "/css/CSS2/positioning/absolute-replaced-height-014-ref.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/positioning/absolute-replaced-height-016.xht": [
+    [
+     "/css/CSS2/positioning/absolute-replaced-height-016.xht",
+     [
+      [
+       "/css/CSS2/positioning/absolute-replaced-height-008-ref.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/positioning/absolute-replaced-height-017.xht": [
+    [
+     "/css/CSS2/positioning/absolute-replaced-height-017.xht",
+     [
+      [
+       "/css/CSS2/positioning/absolute-replaced-height-010-ref.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/positioning/absolute-replaced-height-018.xht": [
+    [
+     "/css/CSS2/positioning/absolute-replaced-height-018.xht",
+     [
+      [
+       "/css/CSS2/positioning/absolute-replaced-height-011-ref.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/positioning/absolute-replaced-height-019.xht": [
+    [
+     "/css/CSS2/positioning/absolute-replaced-height-019.xht",
+     [
+      [
+       "/css/CSS2/positioning/absolute-replaced-height-012-ref.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/positioning/absolute-replaced-height-020.xht": [
+    [
+     "/css/CSS2/positioning/absolute-replaced-height-020.xht",
+     [
+      [
+       "/css/CSS2/positioning/absolute-replaced-height-013-ref.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/positioning/absolute-replaced-height-021.xht": [
+    [
+     "/css/CSS2/positioning/absolute-replaced-height-021.xht",
+     [
+      [
+       "/css/CSS2/positioning/absolute-replaced-height-014-ref.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/positioning/absolute-replaced-height-022.xht": [
+    [
+     "/css/CSS2/positioning/absolute-replaced-height-022.xht",
+     [
+      [
+       "/css/CSS2/positioning/absolute-replaced-height-008-ref.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/positioning/absolute-replaced-height-023.xht": [
+    [
+     "/css/CSS2/positioning/absolute-replaced-height-023.xht",
+     [
+      [
+       "/css/CSS2/positioning/absolute-replaced-height-008-ref.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/positioning/absolute-replaced-height-024.xht": [
+    [
+     "/css/CSS2/positioning/absolute-replaced-height-024.xht",
+     [
+      [
+       "/css/CSS2/positioning/absolute-replaced-height-010-ref.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/positioning/absolute-replaced-height-025.xht": [
+    [
+     "/css/CSS2/positioning/absolute-replaced-height-025.xht",
+     [
+      [
+       "/css/CSS2/positioning/absolute-replaced-height-011-ref.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/positioning/absolute-replaced-height-026.xht": [
+    [
+     "/css/CSS2/positioning/absolute-replaced-height-026.xht",
+     [
+      [
+       "/css/CSS2/positioning/absolute-replaced-height-012-ref.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/positioning/absolute-replaced-height-027.xht": [
+    [
+     "/css/CSS2/positioning/absolute-replaced-height-027.xht",
+     [
+      [
+       "/css/CSS2/positioning/absolute-replaced-height-013-ref.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/positioning/absolute-replaced-height-028.xht": [
+    [
+     "/css/CSS2/positioning/absolute-replaced-height-028.xht",
+     [
+      [
+       "/css/CSS2/positioning/absolute-replaced-height-014-ref.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/positioning/absolute-replaced-height-029.xht": [
+    [
+     "/css/CSS2/positioning/absolute-replaced-height-029.xht",
+     [
+      [
+       "/css/CSS2/positioning/absolute-replaced-height-008-ref.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/positioning/absolute-replaced-height-030.xht": [
+    [
+     "/css/CSS2/positioning/absolute-replaced-height-030.xht",
+     [
+      [
+       "/css/CSS2/positioning/absolute-replaced-height-008-ref.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/positioning/absolute-replaced-height-031.xht": [
+    [
+     "/css/CSS2/positioning/absolute-replaced-height-031.xht",
+     [
+      [
+       "/css/CSS2/positioning/absolute-replaced-height-010-ref.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/positioning/absolute-replaced-height-032.xht": [
+    [
+     "/css/CSS2/positioning/absolute-replaced-height-032.xht",
+     [
+      [
+       "/css/CSS2/positioning/absolute-replaced-height-011-ref.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/positioning/absolute-replaced-height-033.xht": [
+    [
+     "/css/CSS2/positioning/absolute-replaced-height-033.xht",
+     [
+      [
+       "/css/CSS2/positioning/absolute-replaced-height-012-ref.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/positioning/absolute-replaced-height-034.xht": [
+    [
+     "/css/CSS2/positioning/absolute-replaced-height-034.xht",
+     [
+      [
+       "/css/CSS2/positioning/absolute-replaced-height-013-ref.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/positioning/absolute-replaced-height-035.xht": [
+    [
+     "/css/CSS2/positioning/absolute-replaced-height-035.xht",
+     [
+      [
+       "/css/CSS2/positioning/absolute-replaced-height-014-ref.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/positioning/absolute-replaced-height-036.xht": [
+    [
+     "/css/CSS2/positioning/absolute-replaced-height-036.xht",
+     [
+      [
+       "/css/CSS2/reference/ref-if-there-is-no-red.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/positioning/absolute-replaced-width-001.xht": [
+    [
+     "/css/CSS2/positioning/absolute-replaced-width-001.xht",
+     [
+      [
+       "/css/CSS2/positioning/absolute-replaced-width-001-ref.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/positioning/absolute-replaced-width-002.xht": [
+    [
+     "/css/CSS2/positioning/absolute-replaced-width-002.xht",
+     [
+      [
+       "/css/CSS2/positioning/absolute-replaced-width-002-ref.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/positioning/absolute-replaced-width-003.xht": [
+    [
+     "/css/CSS2/positioning/absolute-replaced-width-003.xht",
+     [
+      [
+       "/css/CSS2/positioning/absolute-replaced-width-003-ref.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/positioning/absolute-replaced-width-003a.xht": [
+    [
+     "/css/CSS2/positioning/absolute-replaced-width-003a.xht",
+     [
+      [
+       "/css/CSS2/positioning/absolute-replaced-width-003a-ref.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/positioning/absolute-replaced-width-003b.xht": [
+    [
+     "/css/CSS2/positioning/absolute-replaced-width-003b.xht",
+     [
+      [
+       "/css/CSS2/positioning/absolute-replaced-width-003b-ref.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/positioning/absolute-replaced-width-003c.xht": [
+    [
+     "/css/CSS2/positioning/absolute-replaced-width-003c.xht",
+     [
+      [
+       "/css/CSS2/positioning/absolute-replaced-width-003c-ref.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/positioning/absolute-replaced-width-004.xht": [
+    [
+     "/css/CSS2/positioning/absolute-replaced-width-004.xht",
+     [
+      [
+       "/css/CSS2/positioning/absolute-replaced-width-004-ref.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/positioning/absolute-replaced-width-006.xht": [
+    [
+     "/css/CSS2/positioning/absolute-replaced-width-006.xht",
+     [
+      [
+       "/css/CSS2/positioning/absolute-replaced-width-006-ref.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/positioning/absolute-replaced-width-008.xht": [
+    [
+     "/css/CSS2/positioning/absolute-replaced-width-008.xht",
+     [
+      [
+       "/css/CSS2/positioning/absolute-replaced-width-001-ref.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/positioning/absolute-replaced-width-009.xht": [
+    [
+     "/css/CSS2/positioning/absolute-replaced-width-009.xht",
+     [
+      [
+       "/css/CSS2/positioning/absolute-replaced-width-002-ref.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/positioning/absolute-replaced-width-010.xht": [
+    [
+     "/css/CSS2/positioning/absolute-replaced-width-010.xht",
+     [
+      [
+       "/css/CSS2/positioning/absolute-replaced-width-003-ref.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/positioning/absolute-replaced-width-011.xht": [
+    [
+     "/css/CSS2/positioning/absolute-replaced-width-011.xht",
+     [
+      [
+       "/css/CSS2/positioning/absolute-replaced-width-004-ref.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/positioning/absolute-replaced-width-013.xht": [
+    [
+     "/css/CSS2/positioning/absolute-replaced-width-013.xht",
+     [
+      [
+       "/css/CSS2/positioning/absolute-replaced-width-006-ref.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/positioning/absolute-replaced-width-015.xht": [
+    [
+     "/css/CSS2/positioning/absolute-replaced-width-015.xht",
+     [
+      [
+       "/css/CSS2/positioning/absolute-replaced-width-015-ref.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/positioning/absolute-replaced-width-020.xht": [
+    [
+     "/css/CSS2/positioning/absolute-replaced-width-020.xht",
+     [
+      [
+       "/css/CSS2/positioning/absolute-replaced-width-020-ref.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/positioning/absolute-replaced-width-022.xht": [
+    [
+     "/css/CSS2/positioning/absolute-replaced-width-022.xht",
+     [
+      [
+       "/css/CSS2/positioning/absolute-replaced-width-022-ref.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/positioning/absolute-replaced-width-023.xht": [
+    [
+     "/css/CSS2/positioning/absolute-replaced-width-023.xht",
+     [
+      [
+       "/css/CSS2/positioning/absolute-replaced-width-023-ref.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/positioning/absolute-replaced-width-024.xht": [
+    [
+     "/css/CSS2/positioning/absolute-replaced-width-024.xht",
+     [
+      [
+       "/css/CSS2/positioning/absolute-replaced-width-024-ref.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/positioning/absolute-replaced-width-025.xht": [
+    [
+     "/css/CSS2/positioning/absolute-replaced-width-025.xht",
+     [
+      [
+       "/css/CSS2/positioning/absolute-replaced-width-025-ref.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/positioning/absolute-replaced-width-027.xht": [
+    [
+     "/css/CSS2/positioning/absolute-replaced-width-027.xht",
+     [
+      [
+       "/css/CSS2/positioning/absolute-replaced-width-027-ref.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/positioning/absolute-replaced-width-029.xht": [
+    [
+     "/css/CSS2/positioning/absolute-replaced-width-029.xht",
+     [
+      [
+       "/css/CSS2/positioning/absolute-replaced-width-022-ref.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/positioning/absolute-replaced-width-030.xht": [
+    [
+     "/css/CSS2/positioning/absolute-replaced-width-030.xht",
+     [
+      [
+       "/css/CSS2/positioning/absolute-replaced-width-023-ref.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/positioning/absolute-replaced-width-031.xht": [
+    [
+     "/css/CSS2/positioning/absolute-replaced-width-031.xht",
+     [
+      [
+       "/css/CSS2/positioning/absolute-replaced-width-024-ref.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/positioning/absolute-replaced-width-032.xht": [
+    [
+     "/css/CSS2/positioning/absolute-replaced-width-032.xht",
+     [
+      [
+       "/css/CSS2/positioning/absolute-replaced-width-025-ref.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/positioning/absolute-replaced-width-034.xht": [
+    [
+     "/css/CSS2/positioning/absolute-replaced-width-034.xht",
+     [
+      [
+       "/css/CSS2/positioning/absolute-replaced-width-020-ref.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/positioning/absolute-replaced-width-036.xht": [
+    [
+     "/css/CSS2/positioning/absolute-replaced-width-036.xht",
+     [
+      [
+       "/css/CSS2/positioning/absolute-replaced-width-036-ref.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/positioning/absolute-replaced-width-037.xht": [
+    [
+     "/css/CSS2/positioning/absolute-replaced-width-037.xht",
+     [
+      [
+       "/css/CSS2/positioning/absolute-replaced-width-037-ref.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/positioning/absolute-replaced-width-038.xht": [
+    [
+     "/css/CSS2/positioning/absolute-replaced-width-038.xht",
+     [
+      [
+       "/css/CSS2/positioning/absolute-replaced-width-038-ref.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/positioning/absolute-replaced-width-039.xht": [
+    [
+     "/css/CSS2/positioning/absolute-replaced-width-039.xht",
+     [
+      [
+       "/css/CSS2/positioning/absolute-replaced-width-039-ref.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/positioning/absolute-replaced-width-041.xht": [
+    [
+     "/css/CSS2/positioning/absolute-replaced-width-041.xht",
+     [
+      [
+       "/css/CSS2/positioning/absolute-replaced-width-041-ref.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/positioning/absolute-replaced-width-043.xht": [
+    [
+     "/css/CSS2/positioning/absolute-replaced-width-043.xht",
+     [
+      [
+       "/css/CSS2/positioning/absolute-replaced-width-036-ref.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/positioning/absolute-replaced-width-048.xht": [
+    [
+     "/css/CSS2/positioning/absolute-replaced-width-048.xht",
+     [
+      [
+       "/css/CSS2/positioning/absolute-replaced-width-041-ref.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/positioning/absolute-replaced-width-050.xht": [
+    [
+     "/css/CSS2/positioning/absolute-replaced-width-050.xht",
+     [
+      [
+       "/css/CSS2/positioning/absolute-replaced-width-036-ref.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/positioning/absolute-replaced-width-051.xht": [
+    [
+     "/css/CSS2/positioning/absolute-replaced-width-051.xht",
+     [
+      [
+       "/css/CSS2/positioning/absolute-replaced-width-037-ref.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/positioning/absolute-replaced-width-052.xht": [
+    [
+     "/css/CSS2/positioning/absolute-replaced-width-052.xht",
+     [
+      [
+       "/css/CSS2/positioning/absolute-replaced-width-038-ref.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/positioning/absolute-replaced-width-053.xht": [
+    [
+     "/css/CSS2/positioning/absolute-replaced-width-053.xht",
+     [
+      [
+       "/css/CSS2/positioning/absolute-replaced-width-039-ref.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/positioning/absolute-replaced-width-055.xht": [
+    [
+     "/css/CSS2/positioning/absolute-replaced-width-055.xht",
+     [
+      [
+       "/css/CSS2/positioning/absolute-replaced-width-041-ref.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/positioning/absolute-replaced-width-057.xht": [
+    [
+     "/css/CSS2/positioning/absolute-replaced-width-057.xht",
+     [
+      [
+       "/css/CSS2/positioning/absolute-replaced-width-036-ref.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/positioning/absolute-replaced-width-062.xht": [
+    [
+     "/css/CSS2/positioning/absolute-replaced-width-062.xht",
+     [
+      [
+       "/css/CSS2/positioning/absolute-replaced-width-041-ref.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/positioning/absolute-replaced-width-064.xht": [
+    [
+     "/css/CSS2/positioning/absolute-replaced-width-064.xht",
+     [
+      [
+       "/css/CSS2/positioning/absolute-replaced-width-036-ref.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/positioning/absolute-replaced-width-065.xht": [
+    [
+     "/css/CSS2/positioning/absolute-replaced-width-065.xht",
+     [
+      [
+       "/css/CSS2/positioning/absolute-replaced-width-037-ref.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/positioning/absolute-replaced-width-066.xht": [
+    [
+     "/css/CSS2/positioning/absolute-replaced-width-066.xht",
+     [
+      [
+       "/css/CSS2/positioning/absolute-replaced-width-038-ref.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/positioning/absolute-replaced-width-067.xht": [
+    [
+     "/css/CSS2/positioning/absolute-replaced-width-067.xht",
+     [
+      [
+       "/css/CSS2/positioning/absolute-replaced-width-039-ref.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/positioning/absolute-replaced-width-069.xht": [
+    [
+     "/css/CSS2/positioning/absolute-replaced-width-069.xht",
+     [
+      [
+       "/css/CSS2/positioning/absolute-replaced-width-041-ref.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/positioning/absolute-replaced-width-071.xht": [
+    [
+     "/css/CSS2/positioning/absolute-replaced-width-071.xht",
+     [
+      [
+       "/css/CSS2/positioning/absolute-replaced-width-036-ref.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/positioning/absolute-replaced-width-076.xht": [
+    [
+     "/css/CSS2/positioning/absolute-replaced-width-076.xht",
+     [
+      [
+       "/css/CSS2/positioning/absolute-replaced-width-041-ref.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/positioning/abspos-001.xht": [
+    [
+     "/css/CSS2/positioning/abspos-001.xht",
+     [
+      [
+       "/css/CSS2/positioning/abspos-001-ref.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/positioning/abspos-002.xht": [
+    [
+     "/css/CSS2/positioning/abspos-002.xht",
+     [
+      [
+       "/css/CSS2/positioning/abspos-002-ref.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/positioning/abspos-007.xht": [
+    [
+     "/css/CSS2/positioning/abspos-007.xht",
+     [
+      [
+       "/css/CSS2/positioning/abspos-007-ref.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/positioning/abspos-008.xht": [
+    [
+     "/css/CSS2/positioning/abspos-008.xht",
+     [
+      [
+       "/css/CSS2/positioning/abspos-008-ref.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/positioning/abspos-009.xht": [
+    [
+     "/css/CSS2/positioning/abspos-009.xht",
+     [
+      [
+       "/css/CSS2/positioning/abspos-009-ref.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/positioning/abspos-011.xht": [
+    [
+     "/css/CSS2/positioning/abspos-011.xht",
+     [
+      [
+       "/css/CSS2/positioning/abspos-011-ref.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/positioning/abspos-012.xht": [
+    [
+     "/css/CSS2/positioning/abspos-012.xht",
+     [
+      [
+       "/css/CSS2/positioning/abspos-011-ref.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/positioning/abspos-013.xht": [
+    [
+     "/css/CSS2/positioning/abspos-013.xht",
+     [
+      [
+       "/css/CSS2/positioning/abspos-013-ref.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/positioning/abspos-014.xht": [
+    [
+     "/css/CSS2/positioning/abspos-014.xht",
+     [
+      [
+       "/css/CSS2/positioning/abspos-013-ref.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/positioning/abspos-015.xht": [
+    [
+     "/css/CSS2/positioning/abspos-015.xht",
+     [
+      [
+       "/css/CSS2/positioning/abspos-013-ref.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/positioning/abspos-016.xht": [
+    [
+     "/css/CSS2/positioning/abspos-016.xht",
+     [
+      [
+       "/css/CSS2/positioning/abspos-013-ref.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/positioning/abspos-017.xht": [
+    [
+     "/css/CSS2/positioning/abspos-017.xht",
+     [
+      [
+       "/css/CSS2/positioning/abspos-013-ref.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/positioning/abspos-018.xht": [
+    [
+     "/css/CSS2/positioning/abspos-018.xht",
+     [
+      [
+       "/css/CSS2/positioning/abspos-013-ref.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/positioning/abspos-019.xht": [
+    [
+     "/css/CSS2/positioning/abspos-019.xht",
+     [
+      [
+       "/css/CSS2/positioning/abspos-013-ref.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/positioning/abspos-020.xht": [
+    [
+     "/css/CSS2/positioning/abspos-020.xht",
+     [
+      [
+       "/css/CSS2/positioning/abspos-013-ref.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/positioning/abspos-022.xht": [
+    [
+     "/css/CSS2/positioning/abspos-022.xht",
+     [
+      [
+       "/css/CSS2/positioning/abspos-013-ref.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/positioning/abspos-024.xht": [
+    [
+     "/css/CSS2/positioning/abspos-024.xht",
+     [
+      [
+       "/css/CSS2/positioning/abspos-024-ref.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/positioning/abspos-025.xht": [
+    [
+     "/css/CSS2/positioning/abspos-025.xht",
+     [
+      [
+       "/css/CSS2/positioning/abspos-025-ref.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/positioning/abspos-026.xht": [
+    [
+     "/css/CSS2/positioning/abspos-026.xht",
+     [
+      [
+       "/css/CSS2/positioning/abspos-025-ref.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/positioning/abspos-027.xht": [
+    [
+     "/css/CSS2/positioning/abspos-027.xht",
+     [
+      [
+       "/css/CSS2/reference/ref-if-there-is-no-red.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/positioning/abspos-028.xht": [
+    [
+     "/css/CSS2/positioning/abspos-028.xht",
+     [
+      [
+       "/css/CSS2/positioning/abspos-028-ref.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/positioning/abspos-containing-block-001.xht": [
+    [
+     "/css/CSS2/positioning/abspos-containing-block-001.xht",
+     [
+      [
+       "/css/CSS2/positioning/abspos-containing-block-001-ref.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/positioning/abspos-containing-block-002.xht": [
+    [
+     "/css/CSS2/positioning/abspos-containing-block-002.xht",
+     [
+      [
+       "/css/CSS2/positioning/abspos-containing-block-001-ref.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/positioning/abspos-containing-block-003.xht": [
+    [
+     "/css/CSS2/positioning/abspos-containing-block-003.xht",
+     [
+      [
+       "/css/CSS2/positioning/abspos-containing-block-001-ref.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/positioning/abspos-containing-block-004.xht": [
+    [
+     "/css/CSS2/positioning/abspos-containing-block-004.xht",
+     [
+      [
+       "/css/CSS2/positioning/abspos-containing-block-001-ref.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/positioning/abspos-containing-block-005.xht": [
+    [
+     "/css/CSS2/positioning/abspos-containing-block-005.xht",
+     [
+      [
+       "/css/CSS2/positioning/abspos-containing-block-001-ref.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/positioning/abspos-containing-block-006.xht": [
+    [
+     "/css/CSS2/positioning/abspos-containing-block-006.xht",
+     [
+      [
+       "/css/CSS2/positioning/abspos-containing-block-001-ref.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/positioning/abspos-containing-block-007.xht": [
+    [
+     "/css/CSS2/positioning/abspos-containing-block-007.xht",
+     [
+      [
+       "/css/CSS2/positioning/abspos-containing-block-001-ref.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/positioning/abspos-containing-block-008.xht": [
+    [
+     "/css/CSS2/positioning/abspos-containing-block-008.xht",
+     [
+      [
+       "/css/CSS2/positioning/abspos-containing-block-001-ref.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/positioning/abspos-containing-block-009.xht": [
+    [
+     "/css/CSS2/positioning/abspos-containing-block-009.xht",
+     [
+      [
+       "/css/CSS2/positioning/abspos-containing-block-001-ref.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/positioning/abspos-containing-block-010.xht": [
+    [
+     "/css/CSS2/positioning/abspos-containing-block-010.xht",
+     [
+      [
+       "/css/CSS2/positioning/abspos-containing-block-010-ref.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/positioning/abspos-overflow-001.xht": [
+    [
+     "/css/CSS2/positioning/abspos-overflow-001.xht",
+     [
+      [
+       "/css/CSS2/positioning/abspos-overflow-001-ref.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/positioning/abspos-overflow-002.xht": [
+    [
+     "/css/CSS2/positioning/abspos-overflow-002.xht",
+     [
+      [
+       "/css/CSS2/positioning/abspos-overflow-002-ref.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/positioning/abspos-overflow-003.xht": [
+    [
+     "/css/CSS2/positioning/abspos-overflow-003.xht",
+     [
+      [
+       "/css/CSS2/positioning/abspos-overflow-003-ref.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/positioning/abspos-overflow-004.xht": [
+    [
+     "/css/CSS2/positioning/abspos-overflow-004.xht",
+     [
+      [
+       "/css/CSS2/positioning/abspos-overflow-004-ref.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/positioning/abspos-overflow-005.xht": [
+    [
+     "/css/CSS2/positioning/abspos-overflow-005.xht",
+     [
+      [
+       "/css/CSS2/positioning/abspos-overflow-005-ref.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/positioning/abspos-overflow-006.xht": [
+    [
+     "/css/CSS2/positioning/abspos-overflow-006.xht",
+     [
+      [
+       "/css/CSS2/positioning/abspos-overflow-006-ref.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/positioning/abspos-overflow-007.xht": [
+    [
+     "/css/CSS2/positioning/abspos-overflow-007.xht",
+     [
+      [
+       "/css/CSS2/positioning/abspos-overflow-004-ref.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/positioning/abspos-overflow-008.xht": [
+    [
+     "/css/CSS2/positioning/abspos-overflow-008.xht",
+     [
+      [
+       "/css/CSS2/positioning/abspos-overflow-005-ref.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/positioning/abspos-overflow-009.xht": [
+    [
+     "/css/CSS2/positioning/abspos-overflow-009.xht",
+     [
+      [
+       "/css/CSS2/positioning/abspos-overflow-006-ref.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/positioning/abspos-overflow-010.xht": [
+    [
+     "/css/CSS2/positioning/abspos-overflow-010.xht",
+     [
+      [
+       "/css/CSS2/positioning/abspos-overflow-010-ref.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/positioning/abspos-overflow-011.xht": [
+    [
+     "/css/CSS2/positioning/abspos-overflow-011.xht",
+     [
+      [
+       "/css/CSS2/positioning/abspos-overflow-011-ref.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/positioning/abspos-overflow-012.xht": [
+    [
+     "/css/CSS2/positioning/abspos-overflow-012.xht",
+     [
+      [
+       "/css/CSS2/positioning/abspos-overflow-011-ref.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/positioning/abspos-width-001.xht": [
+    [
+     "/css/CSS2/positioning/abspos-width-001.xht",
+     [
+      [
+       "/css/CSS2/reference/ref-if-there-is-no-red.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/positioning/abspos-width-002.xht": [
+    [
+     "/css/CSS2/positioning/abspos-width-002.xht",
+     [
+      [
+       "/css/CSS2/reference/ref-if-there-is-no-red.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/positioning/abspos-width-003.xht": [
+    [
+     "/css/CSS2/positioning/abspos-width-003.xht",
+     [
+      [
+       "/css/CSS2/reference/ref-if-there-is-no-red.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/positioning/abspos-width-004.xht": [
+    [
+     "/css/CSS2/positioning/abspos-width-004.xht",
+     [
+      [
+       "/css/CSS2/reference/ref-filled-green-100px-square.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/positioning/abspos-width-005.xht": [
+    [
+     "/css/CSS2/positioning/abspos-width-005.xht",
+     [
+      [
+       "/css/CSS2/positioning/abspos-width-005-ref.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/positioning/bottom-004.xht": [
+    [
+     "/css/CSS2/positioning/bottom-004.xht",
+     [
+      [
+       "/css/CSS2/reference/ref-no-vert-space-between.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/positioning/bottom-005.xht": [
+    [
+     "/css/CSS2/positioning/bottom-005.xht",
+     [
+      [
+       "/css/CSS2/reference/ref-no-vert-space-between.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/positioning/bottom-006.xht": [
+    [
+     "/css/CSS2/positioning/bottom-006.xht",
+     [
+      [
+       "/css/CSS2/reference/ref-no-vert-space-between.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/positioning/bottom-007.xht": [
+    [
+     "/css/CSS2/positioning/bottom-007.xht",
+     [
+      [
+       "/css/CSS2/positioning/bottom-007-ref.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/positioning/bottom-008.xht": [
+    [
+     "/css/CSS2/positioning/bottom-008.xht",
+     [
+      [
+       "/css/CSS2/positioning/bottom-007-ref.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/positioning/bottom-016.xht": [
+    [
+     "/css/CSS2/positioning/bottom-016.xht",
+     [
+      [
+       "/css/CSS2/reference/ref-no-vert-space-between.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/positioning/bottom-017.xht": [
+    [
+     "/css/CSS2/positioning/bottom-017.xht",
+     [
+      [
+       "/css/CSS2/reference/ref-no-vert-space-between.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/positioning/bottom-018.xht": [
+    [
+     "/css/CSS2/positioning/bottom-018.xht",
+     [
+      [
+       "/css/CSS2/reference/ref-no-vert-space-between.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/positioning/bottom-019.xht": [
+    [
+     "/css/CSS2/positioning/bottom-019.xht",
+     [
+      [
+       "/css/CSS2/positioning/bottom-019-ref.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/positioning/bottom-020.xht": [
+    [
+     "/css/CSS2/positioning/bottom-020.xht",
+     [
+      [
+       "/css/CSS2/positioning/bottom-019-ref.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/positioning/bottom-028.xht": [
+    [
+     "/css/CSS2/positioning/bottom-028.xht",
+     [
+      [
+       "/css/CSS2/reference/ref-no-vert-space-between.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/positioning/bottom-029.xht": [
+    [
+     "/css/CSS2/positioning/bottom-029.xht",
+     [
+      [
+       "/css/CSS2/reference/ref-no-vert-space-between.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/positioning/bottom-030.xht": [
+    [
+     "/css/CSS2/positioning/bottom-030.xht",
+     [
+      [
+       "/css/CSS2/reference/ref-no-vert-space-between.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/positioning/bottom-031.xht": [
+    [
+     "/css/CSS2/positioning/bottom-031.xht",
+     [
+      [
+       "/css/CSS2/positioning/bottom-019-ref.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/positioning/bottom-032.xht": [
+    [
+     "/css/CSS2/positioning/bottom-032.xht",
+     [
+      [
+       "/css/CSS2/positioning/bottom-019-ref.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/positioning/bottom-040.xht": [
+    [
+     "/css/CSS2/positioning/bottom-040.xht",
+     [
+      [
+       "/css/CSS2/reference/ref-no-vert-space-between.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/positioning/bottom-041.xht": [
+    [
+     "/css/CSS2/positioning/bottom-041.xht",
+     [
+      [
+       "/css/CSS2/reference/ref-no-vert-space-between.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/positioning/bottom-042.xht": [
+    [
+     "/css/CSS2/positioning/bottom-042.xht",
+     [
+      [
+       "/css/CSS2/reference/ref-no-vert-space-between.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/positioning/bottom-043.xht": [
+    [
+     "/css/CSS2/positioning/bottom-043.xht",
+     [
+      [
+       "/css/CSS2/positioning/bottom-019-ref.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/positioning/bottom-044.xht": [
+    [
+     "/css/CSS2/positioning/bottom-044.xht",
+     [
+      [
+       "/css/CSS2/positioning/bottom-019-ref.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/positioning/bottom-052.xht": [
+    [
+     "/css/CSS2/positioning/bottom-052.xht",
+     [
+      [
+       "/css/CSS2/reference/ref-no-vert-space-between.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/positioning/bottom-053.xht": [
+    [
+     "/css/CSS2/positioning/bottom-053.xht",
+     [
+      [
+       "/css/CSS2/reference/ref-no-vert-space-between.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/positioning/bottom-054.xht": [
+    [
+     "/css/CSS2/positioning/bottom-054.xht",
+     [
+      [
+       "/css/CSS2/reference/ref-no-vert-space-between.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/positioning/bottom-055.xht": [
+    [
+     "/css/CSS2/positioning/bottom-055.xht",
+     [
+      [
+       "/css/CSS2/positioning/bottom-019-ref.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/positioning/bottom-056.xht": [
+    [
+     "/css/CSS2/positioning/bottom-056.xht",
+     [
+      [
+       "/css/CSS2/positioning/bottom-019-ref.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/positioning/bottom-064.xht": [
+    [
+     "/css/CSS2/positioning/bottom-064.xht",
+     [
+      [
+       "/css/CSS2/reference/ref-no-vert-space-between.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/positioning/bottom-065.xht": [
+    [
+     "/css/CSS2/positioning/bottom-065.xht",
+     [
+      [
+       "/css/CSS2/reference/ref-no-vert-space-between.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/positioning/bottom-066.xht": [
+    [
+     "/css/CSS2/positioning/bottom-066.xht",
+     [
+      [
+       "/css/CSS2/reference/ref-no-vert-space-between.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/positioning/bottom-067.xht": [
+    [
+     "/css/CSS2/positioning/bottom-067.xht",
+     [
+      [
+       "/css/CSS2/positioning/bottom-019-ref.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/positioning/bottom-068.xht": [
+    [
+     "/css/CSS2/positioning/bottom-068.xht",
+     [
+      [
+       "/css/CSS2/positioning/bottom-019-ref.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/positioning/bottom-076.xht": [
+    [
+     "/css/CSS2/positioning/bottom-076.xht",
+     [
+      [
+       "/css/CSS2/reference/ref-no-vert-space-between.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/positioning/bottom-077.xht": [
+    [
+     "/css/CSS2/positioning/bottom-077.xht",
+     [
+      [
+       "/css/CSS2/reference/ref-no-vert-space-between.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/positioning/bottom-078.xht": [
+    [
+     "/css/CSS2/positioning/bottom-078.xht",
+     [
+      [
+       "/css/CSS2/reference/ref-no-vert-space-between.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/positioning/bottom-079.xht": [
+    [
+     "/css/CSS2/positioning/bottom-079.xht",
+     [
+      [
+       "/css/CSS2/positioning/bottom-079-ref.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/positioning/bottom-080.xht": [
+    [
+     "/css/CSS2/positioning/bottom-080.xht",
+     [
+      [
+       "/css/CSS2/positioning/bottom-079-ref.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/positioning/bottom-088.xht": [
+    [
+     "/css/CSS2/positioning/bottom-088.xht",
+     [
+      [
+       "/css/CSS2/reference/ref-no-vert-space-between.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/positioning/bottom-089.xht": [
+    [
+     "/css/CSS2/positioning/bottom-089.xht",
+     [
+      [
+       "/css/CSS2/reference/ref-no-vert-space-between.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/positioning/bottom-090.xht": [
+    [
+     "/css/CSS2/positioning/bottom-090.xht",
+     [
+      [
+       "/css/CSS2/reference/ref-no-vert-space-between.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/positioning/bottom-091.xht": [
+    [
+     "/css/CSS2/positioning/bottom-091.xht",
+     [
+      [
+       "/css/CSS2/positioning/bottom-019-ref.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/positioning/bottom-092.xht": [
+    [
+     "/css/CSS2/positioning/bottom-092.xht",
+     [
+      [
+       "/css/CSS2/positioning/bottom-019-ref.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/positioning/bottom-100.xht": [
+    [
+     "/css/CSS2/positioning/bottom-100.xht",
+     [
+      [
+       "/css/CSS2/reference/ref-no-vert-space-between.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/positioning/bottom-101.xht": [
+    [
+     "/css/CSS2/positioning/bottom-101.xht",
+     [
+      [
+       "/css/CSS2/reference/ref-no-vert-space-between.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/positioning/bottom-102.xht": [
+    [
+     "/css/CSS2/positioning/bottom-102.xht",
+     [
+      [
+       "/css/CSS2/reference/ref-no-vert-space-between.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/positioning/bottom-103.xht": [
+    [
+     "/css/CSS2/positioning/bottom-103.xht",
+     [
+      [
+       "/css/CSS2/positioning/bottom-019-ref.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/positioning/bottom-104.xht": [
+    [
+     "/css/CSS2/positioning/bottom-104.xht",
+     [
+      [
+       "/css/CSS2/positioning/bottom-019-ref.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/positioning/bottom-109.xht": [
+    [
+     "/css/CSS2/positioning/bottom-109.xht",
+     [
+      [
+       "/css/CSS2/reference/ref-no-vert-space-between.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/positioning/bottom-110.xht": [
+    [
+     "/css/CSS2/positioning/bottom-110.xht",
+     [
+      [
+       "/css/CSS2/reference/ref-no-vert-space-between.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/positioning/bottom-111.xht": [
+    [
+     "/css/CSS2/positioning/bottom-111.xht",
+     [
+      [
+       "/css/CSS2/reference/ref-no-vert-space-between.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/positioning/bottom-112.xht": [
+    [
+     "/css/CSS2/positioning/bottom-112.xht",
+     [
+      [
+       "/css/CSS2/reference/ref-no-vert-space-between.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/positioning/bottom-113.xht": [
+    [
+     "/css/CSS2/positioning/bottom-113.xht",
+     [
+      [
+       "/css/CSS2/positioning/bottom-113-ref.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/positioning/bottom-applies-to-001.xht": [
+    [
+     "/css/CSS2/positioning/bottom-applies-to-001.xht",
+     [
+      [
+       "/css/CSS2/positioning/bottom-applies-to-001-ref.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/positioning/bottom-applies-to-002.xht": [
+    [
+     "/css/CSS2/positioning/bottom-applies-to-002.xht",
+     [
+      [
+       "/css/CSS2/positioning/bottom-applies-to-001-ref.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/positioning/bottom-applies-to-003.xht": [
+    [
+     "/css/CSS2/positioning/bottom-applies-to-003.xht",
+     [
+      [
+       "/css/CSS2/positioning/bottom-applies-to-001-ref.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/positioning/bottom-applies-to-004.xht": [
+    [
+     "/css/CSS2/positioning/bottom-applies-to-004.xht",
+     [
+      [
+       "/css/CSS2/positioning/bottom-applies-to-001-ref.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/positioning/bottom-applies-to-005.xht": [
+    [
+     "/css/CSS2/positioning/bottom-applies-to-005.xht",
+     [
+      [
+       "/css/CSS2/positioning/bottom-applies-to-001-ref.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/positioning/bottom-applies-to-006.xht": [
+    [
+     "/css/CSS2/positioning/bottom-applies-to-006.xht",
+     [
+      [
+       "/css/CSS2/positioning/bottom-applies-to-001-ref.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/positioning/bottom-applies-to-007.xht": [
+    [
+     "/css/CSS2/positioning/bottom-applies-to-007.xht",
+     [
+      [
+       "/css/CSS2/positioning/bottom-applies-to-001-ref.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/positioning/bottom-applies-to-009.xht": [
+    [
+     "/css/CSS2/positioning/bottom-applies-to-009.xht",
+     [
+      [
+       "/css/CSS2/positioning/bottom-applies-to-001-ref.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/positioning/bottom-applies-to-012.xht": [
+    [
+     "/css/CSS2/positioning/bottom-applies-to-012.xht",
+     [
+      [
+       "/css/CSS2/positioning/bottom-applies-to-001-ref.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/positioning/bottom-applies-to-013.xht": [
+    [
+     "/css/CSS2/positioning/bottom-applies-to-013.xht",
+     [
+      [
+       "/css/CSS2/positioning/bottom-applies-to-001-ref.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/positioning/bottom-applies-to-014.xht": [
+    [
+     "/css/CSS2/positioning/bottom-applies-to-014.xht",
+     [
+      [
+       "/css/CSS2/positioning/bottom-applies-to-001-ref.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/positioning/bottom-applies-to-015.xht": [
+    [
+     "/css/CSS2/positioning/bottom-applies-to-015.xht",
+     [
+      [
+       "/css/CSS2/positioning/bottom-applies-to-001-ref.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/positioning/bottom-offset-001.xht": [
+    [
+     "/css/CSS2/positioning/bottom-offset-001.xht",
+     [
+      [
+       "/css/CSS2/positioning/bottom-offset-001-ref.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/positioning/bottom-offset-002.xht": [
+    [
+     "/css/CSS2/positioning/bottom-offset-002.xht",
+     [
+      [
+       "/css/CSS2/positioning/bottom-offset-001-ref.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/positioning/bottom-offset-003.xht": [
+    [
+     "/css/CSS2/positioning/bottom-offset-003.xht",
+     [
+      [
+       "/css/CSS2/positioning/bottom-offset-001-ref.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/positioning/bottom-offset-percentage-001.xht": [
+    [
+     "/css/CSS2/positioning/bottom-offset-percentage-001.xht",
+     [
+      [
+       "/css/CSS2/positioning/bottom-offset-percentage-001-ref.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/positioning/dynamic-top-change-001.xht": [
+    [
+     "/css/CSS2/positioning/dynamic-top-change-001.xht",
+     [
+      [
+       "/css/CSS2/positioning/dynamic-top-change-001-ref.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/positioning/dynamic-top-change-002.xht": [
+    [
+     "/css/CSS2/positioning/dynamic-top-change-002.xht",
+     [
+      [
+       "/css/CSS2/positioning/dynamic-top-change-002-ref.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/positioning/dynamic-top-change-003.xht": [
+    [
+     "/css/CSS2/positioning/dynamic-top-change-003.xht",
+     [
+      [
+       "/css/CSS2/positioning/dynamic-top-change-002-ref.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/positioning/dynamic-top-change-004.xht": [
+    [
+     "/css/CSS2/positioning/dynamic-top-change-004.xht",
+     [
+      [
+       "/css/CSS2/positioning/dynamic-top-change-002-ref.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/positioning/left-004.xht": [
+    [
+     "/css/CSS2/positioning/left-004.xht",
+     [
+      [
+       "/css/CSS2/positioning/left-004-ref.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/positioning/left-005.xht": [
+    [
+     "/css/CSS2/positioning/left-005.xht",
+     [
+      [
+       "/css/CSS2/positioning/left-004-ref.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/positioning/left-006.xht": [
+    [
+     "/css/CSS2/positioning/left-006.xht",
+     [
+      [
+       "/css/CSS2/positioning/left-004-ref.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/positioning/left-007.xht": [
+    [
+     "/css/CSS2/positioning/left-007.xht",
+     [
+      [
+       "/css/CSS2/positioning/left-007-ref.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/positioning/left-008.xht": [
+    [
+     "/css/CSS2/positioning/left-008.xht",
+     [
+      [
+       "/css/CSS2/positioning/left-007-ref.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/positioning/left-016.xht": [
+    [
+     "/css/CSS2/positioning/left-016.xht",
+     [
+      [
+       "/css/CSS2/positioning/left-004-ref.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/positioning/left-017.xht": [
+    [
+     "/css/CSS2/positioning/left-017.xht",
+     [
+      [
+       "/css/CSS2/positioning/left-004-ref.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/positioning/left-018.xht": [
+    [
+     "/css/CSS2/positioning/left-018.xht",
+     [
+      [
+       "/css/CSS2/positioning/left-004-ref.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/positioning/left-019.xht": [
+    [
+     "/css/CSS2/positioning/left-019.xht",
+     [
+      [
+       "/css/CSS2/reference/ref-black-96px-square-no-red.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/positioning/left-020.xht": [
+    [
+     "/css/CSS2/positioning/left-020.xht",
+     [
+      [
+       "/css/CSS2/reference/ref-black-96px-square-no-red.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/positioning/left-028.xht": [
+    [
+     "/css/CSS2/positioning/left-028.xht",
+     [
+      [
+       "/css/CSS2/positioning/left-004-ref.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/positioning/left-029.xht": [
+    [
+     "/css/CSS2/positioning/left-029.xht",
+     [
+      [
+       "/css/CSS2/positioning/left-004-ref.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/positioning/left-030.xht": [
+    [
+     "/css/CSS2/positioning/left-030.xht",
+     [
+      [
+       "/css/CSS2/positioning/left-004-ref.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/positioning/left-031.xht": [
+    [
+     "/css/CSS2/positioning/left-031.xht",
+     [
+      [
+       "/css/CSS2/positioning/left-031-ref.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/positioning/left-032.xht": [
+    [
+     "/css/CSS2/positioning/left-032.xht",
+     [
+      [
+       "/css/CSS2/positioning/left-031-ref.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/positioning/left-040.xht": [
+    [
+     "/css/CSS2/positioning/left-040.xht",
+     [
+      [
+       "/css/CSS2/positioning/left-004-ref.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/positioning/left-041.xht": [
+    [
+     "/css/CSS2/positioning/left-041.xht",
+     [
+      [
+       "/css/CSS2/positioning/left-004-ref.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/positioning/left-042.xht": [
+    [
+     "/css/CSS2/positioning/left-042.xht",
+     [
+      [
+       "/css/CSS2/positioning/left-004-ref.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/positioning/left-043.xht": [
+    [
+     "/css/CSS2/positioning/left-043.xht",
+     [
+      [
+       "/css/CSS2/reference/ref-black-96px-square-no-red.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/positioning/left-044.xht": [
+    [
+     "/css/CSS2/positioning/left-044.xht",
+     [
+      [
+       "/css/CSS2/reference/ref-black-96px-square-no-red.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/positioning/left-052.xht": [
+    [
+     "/css/CSS2/positioning/left-052.xht",
+     [
+      [
+       "/css/CSS2/positioning/left-004-ref.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/positioning/left-053.xht": [
+    [
+     "/css/CSS2/positioning/left-053.xht",
+     [
+      [
+       "/css/CSS2/positioning/left-004-ref.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/positioning/left-054.xht": [
+    [
+     "/css/CSS2/positioning/left-054.xht",
+     [
+      [
+       "/css/CSS2/positioning/left-004-ref.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/positioning/left-055.xht": [
+    [
+     "/css/CSS2/positioning/left-055.xht",
+     [
+      [
+       "/css/CSS2/reference/ref-black-96px-square-no-red.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/positioning/left-056.xht": [
+    [
+     "/css/CSS2/positioning/left-056.xht",
+     [
+      [
+       "/css/CSS2/reference/ref-black-96px-square-no-red.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/positioning/left-064.xht": [
+    [
+     "/css/CSS2/positioning/left-064.xht",
+     [
+      [
+       "/css/CSS2/positioning/left-004-ref.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/positioning/left-065.xht": [
+    [
+     "/css/CSS2/positioning/left-065.xht",
+     [
+      [
+       "/css/CSS2/positioning/left-004-ref.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/positioning/left-066.xht": [
+    [
+     "/css/CSS2/positioning/left-066.xht",
+     [
+      [
+       "/css/CSS2/positioning/left-004-ref.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/positioning/left-067.xht": [
+    [
+     "/css/CSS2/positioning/left-067.xht",
+     [
+      [
+       "/css/CSS2/reference/ref-black-96px-square-no-red.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/positioning/left-068.xht": [
+    [
+     "/css/CSS2/positioning/left-068.xht",
+     [
+      [
+       "/css/CSS2/reference/ref-black-96px-square-no-red.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/positioning/left-076.xht": [
+    [
+     "/css/CSS2/positioning/left-076.xht",
+     [
+      [
+       "/css/CSS2/positioning/left-004-ref.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/positioning/left-077.xht": [
+    [
+     "/css/CSS2/positioning/left-077.xht",
+     [
+      [
+       "/css/CSS2/positioning/left-004-ref.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/positioning/left-078.xht": [
+    [
+     "/css/CSS2/positioning/left-078.xht",
+     [
+      [
+       "/css/CSS2/positioning/left-004-ref.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/positioning/left-079.xht": [
+    [
+     "/css/CSS2/positioning/left-079.xht",
+     [
+      [
+       "/css/CSS2/positioning/left-079-ref.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/positioning/left-080.xht": [
+    [
+     "/css/CSS2/positioning/left-080.xht",
+     [
+      [
+       "/css/CSS2/positioning/left-079-ref.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/positioning/left-088.xht": [
+    [
+     "/css/CSS2/positioning/left-088.xht",
+     [
+      [
+       "/css/CSS2/positioning/left-004-ref.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/positioning/left-089.xht": [
+    [
+     "/css/CSS2/positioning/left-089.xht",
+     [
+      [
+       "/css/CSS2/positioning/left-004-ref.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/positioning/left-090.xht": [
+    [
+     "/css/CSS2/positioning/left-090.xht",
+     [
+      [
+       "/css/CSS2/positioning/left-004-ref.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/positioning/left-091.xht": [
+    [
+     "/css/CSS2/positioning/left-091.xht",
+     [
+      [
+       "/css/CSS2/reference/ref-black-96px-square-no-red.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/positioning/left-092.xht": [
+    [
+     "/css/CSS2/positioning/left-092.xht",
+     [
+      [
+       "/css/CSS2/reference/ref-black-96px-square-no-red.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/positioning/left-100.xht": [
+    [
+     "/css/CSS2/positioning/left-100.xht",
+     [
+      [
+       "/css/CSS2/positioning/left-004-ref.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/positioning/left-101.xht": [
+    [
+     "/css/CSS2/positioning/left-101.xht",
+     [
+      [
+       "/css/CSS2/positioning/left-004-ref.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/positioning/left-102.xht": [
+    [
+     "/css/CSS2/positioning/left-102.xht",
+     [
+      [
+       "/css/CSS2/positioning/left-004-ref.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/positioning/left-103.xht": [
+    [
+     "/css/CSS2/positioning/left-103.xht",
+     [
+      [
+       "/css/CSS2/reference/ref-black-96px-square-no-red.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/positioning/left-104.xht": [
+    [
+     "/css/CSS2/positioning/left-104.xht",
+     [
+      [
+       "/css/CSS2/reference/ref-black-96px-square-no-red.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/positioning/left-109.xht": [
+    [
+     "/css/CSS2/positioning/left-109.xht",
+     [
+      [
+       "/css/CSS2/positioning/left-004-ref.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/positioning/left-110.xht": [
+    [
+     "/css/CSS2/positioning/left-110.xht",
+     [
+      [
+       "/css/CSS2/positioning/left-004-ref.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/positioning/left-111.xht": [
+    [
+     "/css/CSS2/positioning/left-111.xht",
+     [
+      [
+       "/css/CSS2/positioning/left-004-ref.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/positioning/left-112.xht": [
+    [
+     "/css/CSS2/positioning/left-112.xht",
+     [
+      [
+       "/css/CSS2/positioning/left-004-ref.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/positioning/left-113.xht": [
+    [
+     "/css/CSS2/positioning/left-113.xht",
+     [
+      [
+       "/css/CSS2/positioning/left-113-ref.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/positioning/left-applies-to-001.xht": [
+    [
+     "/css/CSS2/positioning/left-applies-to-001.xht",
+     [
+      [
+       "/css/CSS2/positioning/left-applies-to-001-ref.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/positioning/left-applies-to-002.xht": [
+    [
+     "/css/CSS2/positioning/left-applies-to-002.xht",
+     [
+      [
+       "/css/CSS2/positioning/left-applies-to-001-ref.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/positioning/left-applies-to-003.xht": [
+    [
+     "/css/CSS2/positioning/left-applies-to-003.xht",
+     [
+      [
+       "/css/CSS2/positioning/left-applies-to-001-ref.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/positioning/left-applies-to-004.xht": [
+    [
+     "/css/CSS2/positioning/left-applies-to-004.xht",
+     [
+      [
+       "/css/CSS2/positioning/left-applies-to-001-ref.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/positioning/left-applies-to-005.xht": [
+    [
+     "/css/CSS2/positioning/left-applies-to-005.xht",
+     [
+      [
+       "/css/CSS2/positioning/left-applies-to-001-ref.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/positioning/left-applies-to-006.xht": [
+    [
+     "/css/CSS2/positioning/left-applies-to-006.xht",
+     [
+      [
+       "/css/CSS2/positioning/left-applies-to-001-ref.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/positioning/left-applies-to-007.xht": [
+    [
+     "/css/CSS2/positioning/left-applies-to-007.xht",
+     [
+      [
+       "/css/CSS2/positioning/left-applies-to-001-ref.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/positioning/left-applies-to-009.xht": [
+    [
+     "/css/CSS2/positioning/left-applies-to-009.xht",
+     [
+      [
+       "/css/CSS2/positioning/left-applies-to-001-ref.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/positioning/left-applies-to-012.xht": [
+    [
+     "/css/CSS2/positioning/left-applies-to-012.xht",
+     [
+      [
+       "/css/CSS2/positioning/left-applies-to-001-ref.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/positioning/left-applies-to-013.xht": [
+    [
+     "/css/CSS2/positioning/left-applies-to-013.xht",
+     [
+      [
+       "/css/CSS2/positioning/left-applies-to-001-ref.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/positioning/left-applies-to-014.xht": [
+    [
+     "/css/CSS2/positioning/left-applies-to-014.xht",
+     [
+      [
+       "/css/CSS2/positioning/left-applies-to-001-ref.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/positioning/left-applies-to-015.xht": [
+    [
+     "/css/CSS2/positioning/left-applies-to-015.xht",
+     [
+      [
+       "/css/CSS2/positioning/left-applies-to-001-ref.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/positioning/left-offset-001.xht": [
+    [
+     "/css/CSS2/positioning/left-offset-001.xht",
+     [
+      [
+       "/css/CSS2/positioning/left-offset-001-ref.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/positioning/left-offset-002.xht": [
+    [
+     "/css/CSS2/positioning/left-offset-002.xht",
+     [
+      [
+       "/css/CSS2/positioning/left-offset-001-ref.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/positioning/left-offset-003.xht": [
+    [
+     "/css/CSS2/positioning/left-offset-003.xht",
+     [
+      [
+       "/css/CSS2/positioning/left-offset-003-ref.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/positioning/left-offset-percentage-001.xht": [
+    [
+     "/css/CSS2/positioning/left-offset-percentage-001.xht",
+     [
+      [
+       "/css/CSS2/positioning/left-offset-percentage-001-ref.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/positioning/left-offset-percentage-002.xht": [
+    [
+     "/css/CSS2/positioning/left-offset-percentage-002.xht",
+     [
+      [
+       "/css/CSS2/positioning/left-offset-percentage-002-ref.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/positioning/position-006.xht": [
+    [
+     "/css/CSS2/positioning/position-006.xht",
+     [
+      [
+       "/css/CSS2/positioning/position-006-ref.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/positioning/position-absolute-001.xht": [
+    [
+     "/css/CSS2/positioning/position-absolute-001.xht",
+     [
+      [
+       "/css/CSS2/reference/ref-filled-green-100px-square.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/positioning/position-absolute-002.xht": [
+    [
+     "/css/CSS2/positioning/position-absolute-002.xht",
+     [
+      [
+       "/css/CSS2/positioning/position-absolute-002-ref.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/positioning/position-absolute-003.xht": [
+    [
+     "/css/CSS2/positioning/position-absolute-003.xht",
+     [
+      [
+       "/css/CSS2/reference/ref-filled-green-100px-square.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/positioning/position-absolute-004.xht": [
+    [
+     "/css/CSS2/positioning/position-absolute-004.xht",
+     [
+      [
+       "/css/CSS2/positioning/position-absolute-004-ref.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/positioning/position-absolute-006.xht": [
+    [
+     "/css/CSS2/positioning/position-absolute-006.xht",
+     [
+      [
+       "/css/CSS2/positioning/position-absolute-004-ref.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/positioning/position-absolute-007.xht": [
+    [
+     "/css/CSS2/positioning/position-absolute-007.xht",
+     [
+      [
+       "/css/CSS2/positioning/position-absolute-007-ref.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/positioning/position-absolute-008.xht": [
+    [
+     "/css/CSS2/positioning/position-absolute-008.xht",
+     [
+      [
+       "/css/CSS2/reference/ref-filled-green-100px-square.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/positioning/position-applies-to-001.xht": [
+    [
+     "/css/CSS2/positioning/position-applies-to-001.xht",
+     [
+      [
+       "/css/CSS2/positioning/bottom-applies-to-001-ref.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/positioning/position-applies-to-002.xht": [
+    [
+     "/css/CSS2/positioning/position-applies-to-002.xht",
+     [
+      [
+       "/css/CSS2/positioning/bottom-applies-to-001-ref.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/positioning/position-applies-to-003.xht": [
+    [
+     "/css/CSS2/positioning/position-applies-to-003.xht",
+     [
+      [
+       "/css/CSS2/positioning/bottom-applies-to-001-ref.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/positioning/position-applies-to-004.xht": [
+    [
+     "/css/CSS2/positioning/position-applies-to-004.xht",
+     [
+      [
+       "/css/CSS2/positioning/bottom-applies-to-001-ref.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/positioning/position-applies-to-005.xht": [
+    [
+     "/css/CSS2/positioning/position-applies-to-005.xht",
+     [
+      [
+       "/css/CSS2/positioning/bottom-applies-to-001-ref.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/positioning/position-applies-to-006.xht": [
+    [
+     "/css/CSS2/positioning/position-applies-to-006.xht",
+     [
+      [
+       "/css/CSS2/positioning/bottom-applies-to-001-ref.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/positioning/position-applies-to-007.xht": [
+    [
+     "/css/CSS2/positioning/position-applies-to-007.xht",
+     [
+      [
+       "/css/CSS2/positioning/bottom-applies-to-001-ref.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/positioning/position-applies-to-009.xht": [
+    [
+     "/css/CSS2/positioning/position-applies-to-009.xht",
+     [
+      [
+       "/css/CSS2/positioning/bottom-applies-to-001-ref.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/positioning/position-applies-to-012.xht": [
+    [
+     "/css/CSS2/positioning/position-applies-to-012.xht",
+     [
+      [
+       "/css/CSS2/positioning/bottom-applies-to-001-ref.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/positioning/position-applies-to-013.xht": [
+    [
+     "/css/CSS2/positioning/position-applies-to-013.xht",
+     [
+      [
+       "/css/CSS2/positioning/bottom-applies-to-001-ref.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/positioning/position-applies-to-014.xht": [
+    [
+     "/css/CSS2/positioning/position-applies-to-014.xht",
+     [
+      [
+       "/css/CSS2/positioning/bottom-applies-to-001-ref.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/positioning/position-applies-to-015.xht": [
+    [
+     "/css/CSS2/positioning/position-applies-to-015.xht",
+     [
+      [
+       "/css/CSS2/positioning/bottom-applies-to-001-ref.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/positioning/position-fixed-001.xht": [
+    [
+     "/css/CSS2/positioning/position-fixed-001.xht",
+     [
+      [
+       "/css/CSS2/reference/ref-filled-green-100px-square.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/positioning/position-fixed-007.xht": [
+    [
+     "/css/CSS2/positioning/position-fixed-007.xht",
+     [
+      [
+       "/css/CSS2/positioning/position-fixed-007-ref.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/positioning/position-relative-001.xht": [
+    [
+     "/css/CSS2/positioning/position-relative-001.xht",
+     [
+      [
+       "/css/CSS2/positioning/position-relative-001-ref.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/positioning/position-relative-003.xht": [
+    [
+     "/css/CSS2/positioning/position-relative-003.xht",
+     [
+      [
+       "/css/CSS2/positioning/position-relative-003-ref.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/positioning/position-relative-004.xht": [
+    [
+     "/css/CSS2/positioning/position-relative-004.xht",
+     [
+      [
+       "/css/CSS2/positioning/position-relative-004-ref.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/positioning/position-relative-005.xht": [
+    [
+     "/css/CSS2/positioning/position-relative-005.xht",
+     [
+      [
+       "/css/CSS2/positioning/position-relative-005-ref.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/positioning/position-relative-006.xht": [
+    [
+     "/css/CSS2/positioning/position-relative-006.xht",
+     [
+      [
+       "/css/CSS2/positioning/position-relative-005-ref.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/positioning/position-relative-007.xht": [
+    [
+     "/css/CSS2/positioning/position-relative-007.xht",
+     [
+      [
+       "/css/CSS2/positioning/position-relative-005-ref.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/positioning/position-relative-009.xht": [
+    [
+     "/css/CSS2/positioning/position-relative-009.xht",
+     [
+      [
+       "/css/CSS2/positioning/position-relative-005-ref.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/positioning/position-relative-010.xht": [
+    [
+     "/css/CSS2/positioning/position-relative-010.xht",
+     [
+      [
+       "/css/CSS2/positioning/position-relative-005-ref.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/positioning/position-relative-013.xht": [
+    [
+     "/css/CSS2/positioning/position-relative-013.xht",
+     [
+      [
+       "/css/CSS2/reference/ref-filled-green-100px-square.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/positioning/position-relative-014.xht": [
+    [
+     "/css/CSS2/positioning/position-relative-014.xht",
+     [
+      [
+       "/css/CSS2/positioning/position-relative-014-ref.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/positioning/position-relative-015.xht": [
+    [
+     "/css/CSS2/positioning/position-relative-015.xht",
+     [
+      [
+       "/css/CSS2/positioning/position-relative-014-ref.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/positioning/position-relative-016.xht": [
+    [
+     "/css/CSS2/positioning/position-relative-016.xht",
+     [
+      [
+       "/css/CSS2/positioning/position-relative-016-ref.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/positioning/position-relative-017.xht": [
+    [
+     "/css/CSS2/positioning/position-relative-017.xht",
+     [
+      [
+       "/css/CSS2/positioning/position-relative-014-ref.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/positioning/position-relative-018.xht": [
+    [
+     "/css/CSS2/positioning/position-relative-018.xht",
+     [
+      [
+       "/css/CSS2/positioning/position-relative-018-ref.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/positioning/position-relative-019.xht": [
+    [
+     "/css/CSS2/positioning/position-relative-019.xht",
+     [
+      [
+       "/css/CSS2/positioning/position-relative-014-ref.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/positioning/position-relative-027.xht": [
+    [
+     "/css/CSS2/positioning/position-relative-027.xht",
+     [
+      [
+       "/css/CSS2/positioning/position-relative-027-ref.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/positioning/position-relative-028.xht": [
+    [
+     "/css/CSS2/positioning/position-relative-028.xht",
+     [
+      [
+       "/css/CSS2/positioning/position-relative-028-ref.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/positioning/position-relative-029.xht": [
+    [
+     "/css/CSS2/positioning/position-relative-029.xht",
+     [
+      [
+       "/css/CSS2/positioning/position-relative-028-ref.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/positioning/position-relative-030.xht": [
+    [
+     "/css/CSS2/positioning/position-relative-030.xht",
+     [
+      [
+       "/css/CSS2/positioning/position-relative-030-ref.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/positioning/position-relative-031.xht": [
+    [
+     "/css/CSS2/positioning/position-relative-031.xht",
+     [
+      [
+       "/css/CSS2/positioning/position-relative-031-ref.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/positioning/position-relative-032.xht": [
+    [
+     "/css/CSS2/positioning/position-relative-032.xht",
+     [
+      [
+       "/css/CSS2/positioning/position-relative-032-ref.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/positioning/position-relative-033.xht": [
+    [
+     "/css/CSS2/positioning/position-relative-033.xht",
+     [
+      [
+       "/css/CSS2/positioning/position-relative-033-ref.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/positioning/position-relative-035.xht": [
+    [
+     "/css/CSS2/positioning/position-relative-035.xht",
+     [
+      [
+       "/css/CSS2/positioning/position-relative-035-ref.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/positioning/position-relative-037.xht": [
+    [
+     "/css/CSS2/positioning/position-relative-037.xht",
+     [
+      [
+       "/css/CSS2/positioning/position-relative-037-ref.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/positioning/position-relative-038.xht": [
+    [
+     "/css/CSS2/positioning/position-relative-038.xht",
+     [
+      [
+       "/css/CSS2/positioning/position-relative-038-ref.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/positioning/position-relative-nested-001.xht": [
+    [
+     "/css/CSS2/positioning/position-relative-nested-001.xht",
+     [
+      [
+       "/css/CSS2/positioning/position-relative-nested-001-ref.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/positioning/position-static-001.xht": [
+    [
+     "/css/CSS2/positioning/position-static-001.xht",
+     [
+      [
+       "/css/CSS2/positioning/position-static-001-ref.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/positioning/positioning-float-001.xht": [
+    [
+     "/css/CSS2/positioning/positioning-float-001.xht",
+     [
+      [
+       "/css/CSS2/positioning/positioning-float-001-ref.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/positioning/positioning-float-002.xht": [
+    [
+     "/css/CSS2/positioning/positioning-float-002.xht",
+     [
+      [
+       "/css/CSS2/positioning/positioning-float-002-ref.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/positioning/relpos-calcs-001.xht": [
+    [
+     "/css/CSS2/positioning/relpos-calcs-001.xht",
+     [
+      [
+       "/css/CSS2/positioning/relpos-calcs-001-ref.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/positioning/relpos-calcs-002.xht": [
+    [
+     "/css/CSS2/positioning/relpos-calcs-002.xht",
+     [
+      [
+       "/css/CSS2/positioning/relpos-calcs-001-ref.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/positioning/relpos-calcs-003.xht": [
+    [
+     "/css/CSS2/positioning/relpos-calcs-003.xht",
+     [
+      [
+       "/css/CSS2/positioning/relpos-calcs-001-ref.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/positioning/relpos-calcs-004.xht": [
+    [
+     "/css/CSS2/positioning/relpos-calcs-004.xht",
+     [
+      [
+       "/css/CSS2/positioning/relpos-calcs-001-ref.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/positioning/relpos-calcs-005.xht": [
+    [
+     "/css/CSS2/positioning/relpos-calcs-005.xht",
+     [
+      [
+       "/css/CSS2/positioning/relpos-calcs-001-ref.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/positioning/relpos-calcs-006.xht": [
+    [
+     "/css/CSS2/positioning/relpos-calcs-006.xht",
+     [
+      [
+       "/css/CSS2/positioning/relpos-calcs-001-ref.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/positioning/relpos-calcs-007.xht": [
+    [
+     "/css/CSS2/positioning/relpos-calcs-007.xht",
+     [
+      [
+       "/css/CSS2/positioning/relpos-calcs-001-ref.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/positioning/right-004.xht": [
+    [
+     "/css/CSS2/positioning/right-004.xht",
+     [
+      [
+       "/css/CSS2/positioning/right-004-ref.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/positioning/right-005.xht": [
+    [
+     "/css/CSS2/positioning/right-005.xht",
+     [
+      [
+       "/css/CSS2/positioning/right-004-ref.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/positioning/right-006.xht": [
+    [
+     "/css/CSS2/positioning/right-006.xht",
+     [
+      [
+       "/css/CSS2/positioning/right-004-ref.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/positioning/right-007.xht": [
+    [
+     "/css/CSS2/positioning/right-007.xht",
+     [
+      [
+       "/css/CSS2/positioning/right-007-ref.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/positioning/right-008.xht": [
+    [
+     "/css/CSS2/positioning/right-008.xht",
+     [
+      [
+       "/css/CSS2/positioning/right-007-ref.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/positioning/right-016.xht": [
+    [
+     "/css/CSS2/positioning/right-016.xht",
+     [
+      [
+       "/css/CSS2/positioning/right-004-ref.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/positioning/right-017.xht": [
+    [
+     "/css/CSS2/positioning/right-017.xht",
+     [
+      [
+       "/css/CSS2/positioning/right-004-ref.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/positioning/right-018.xht": [
+    [
+     "/css/CSS2/positioning/right-018.xht",
+     [
+      [
+       "/css/CSS2/positioning/right-004-ref.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/positioning/right-019.xht": [
+    [
+     "/css/CSS2/positioning/right-019.xht",
+     [
+      [
+       "/css/CSS2/positioning/right-019-ref.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/positioning/right-020.xht": [
+    [
+     "/css/CSS2/positioning/right-020.xht",
+     [
+      [
+       "/css/CSS2/positioning/right-019-ref.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/positioning/right-028.xht": [
+    [
+     "/css/CSS2/positioning/right-028.xht",
+     [
+      [
+       "/css/CSS2/positioning/right-004-ref.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/positioning/right-029.xht": [
+    [
+     "/css/CSS2/positioning/right-029.xht",
+     [
+      [
+       "/css/CSS2/positioning/right-004-ref.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/positioning/right-030.xht": [
+    [
+     "/css/CSS2/positioning/right-030.xht",
+     [
+      [
+       "/css/CSS2/positioning/right-004-ref.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/positioning/right-031.xht": [
+    [
+     "/css/CSS2/positioning/right-031.xht",
+     [
+      [
+       "/css/CSS2/positioning/right-031-ref.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/positioning/right-032.xht": [
+    [
+     "/css/CSS2/positioning/right-032.xht",
+     [
+      [
+       "/css/CSS2/positioning/right-031-ref.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/positioning/right-040.xht": [
+    [
+     "/css/CSS2/positioning/right-040.xht",
+     [
+      [
+       "/css/CSS2/positioning/right-004-ref.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/positioning/right-041.xht": [
+    [
+     "/css/CSS2/positioning/right-041.xht",
+     [
+      [
+       "/css/CSS2/positioning/right-004-ref.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/positioning/right-042.xht": [
+    [
+     "/css/CSS2/positioning/right-042.xht",
+     [
+      [
+       "/css/CSS2/positioning/right-004-ref.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/positioning/right-043.xht": [
+    [
+     "/css/CSS2/positioning/right-043.xht",
+     [
+      [
+       "/css/CSS2/positioning/right-019-ref.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/positioning/right-044.xht": [
+    [
+     "/css/CSS2/positioning/right-044.xht",
+     [
+      [
+       "/css/CSS2/positioning/right-019-ref.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/positioning/right-052.xht": [
+    [
+     "/css/CSS2/positioning/right-052.xht",
+     [
+      [
+       "/css/CSS2/positioning/right-004-ref.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/positioning/right-053.xht": [
+    [
+     "/css/CSS2/positioning/right-053.xht",
+     [
+      [
+       "/css/CSS2/positioning/right-004-ref.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/positioning/right-054.xht": [
+    [
+     "/css/CSS2/positioning/right-054.xht",
+     [
+      [
+       "/css/CSS2/positioning/right-004-ref.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/positioning/right-055.xht": [
+    [
+     "/css/CSS2/positioning/right-055.xht",
+     [
+      [
+       "/css/CSS2/positioning/right-019-ref.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/positioning/right-056.xht": [
+    [
+     "/css/CSS2/positioning/right-056.xht",
+     [
+      [
+       "/css/CSS2/positioning/right-019-ref.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/positioning/right-064.xht": [
+    [
+     "/css/CSS2/positioning/right-064.xht",
+     [
+      [
+       "/css/CSS2/positioning/right-004-ref.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/positioning/right-065.xht": [
+    [
+     "/css/CSS2/positioning/right-065.xht",
+     [
+      [
+       "/css/CSS2/positioning/right-004-ref.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/positioning/right-066.xht": [
+    [
+     "/css/CSS2/positioning/right-066.xht",
+     [
+      [
+       "/css/CSS2/positioning/right-004-ref.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/positioning/right-067.xht": [
+    [
+     "/css/CSS2/positioning/right-067.xht",
+     [
+      [
+       "/css/CSS2/positioning/right-019-ref.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/positioning/right-068.xht": [
+    [
+     "/css/CSS2/positioning/right-068.xht",
+     [
+      [
+       "/css/CSS2/positioning/right-019-ref.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/positioning/right-076.xht": [
+    [
+     "/css/CSS2/positioning/right-076.xht",
+     [
+      [
+       "/css/CSS2/positioning/right-004-ref.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/positioning/right-077.xht": [
+    [
+     "/css/CSS2/positioning/right-077.xht",
+     [
+      [
+       "/css/CSS2/positioning/right-004-ref.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/positioning/right-078.xht": [
+    [
+     "/css/CSS2/positioning/right-078.xht",
+     [
+      [
+       "/css/CSS2/positioning/right-004-ref.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/positioning/right-079.xht": [
+    [
+     "/css/CSS2/positioning/right-079.xht",
+     [
+      [
+       "/css/CSS2/positioning/right-079-ref.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/positioning/right-080.xht": [
+    [
+     "/css/CSS2/positioning/right-080.xht",
+     [
+      [
+       "/css/CSS2/positioning/right-079-ref.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/positioning/right-088.xht": [
+    [
+     "/css/CSS2/positioning/right-088.xht",
+     [
+      [
+       "/css/CSS2/positioning/right-004-ref.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/positioning/right-089.xht": [
+    [
+     "/css/CSS2/positioning/right-089.xht",
+     [
+      [
+       "/css/CSS2/positioning/right-004-ref.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/positioning/right-090.xht": [
+    [
+     "/css/CSS2/positioning/right-090.xht",
+     [
+      [
+       "/css/CSS2/positioning/right-004-ref.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/positioning/right-091.xht": [
+    [
+     "/css/CSS2/positioning/right-091.xht",
+     [
+      [
+       "/css/CSS2/positioning/right-019-ref.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/positioning/right-092.xht": [
+    [
+     "/css/CSS2/positioning/right-092.xht",
+     [
+      [
+       "/css/CSS2/positioning/right-019-ref.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/positioning/right-100.xht": [
+    [
+     "/css/CSS2/positioning/right-100.xht",
+     [
+      [
+       "/css/CSS2/positioning/right-100-ref.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/positioning/right-101.xht": [
+    [
+     "/css/CSS2/positioning/right-101.xht",
+     [
+      [
+       "/css/CSS2/positioning/right-100-ref.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/positioning/right-102.xht": [
+    [
+     "/css/CSS2/positioning/right-102.xht",
+     [
+      [
+       "/css/CSS2/positioning/right-100-ref.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/positioning/right-103.xht": [
+    [
+     "/css/CSS2/positioning/right-103.xht",
+     [
+      [
+       "/css/CSS2/positioning/right-103-ref.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/positioning/right-104.xht": [
+    [
+     "/css/CSS2/positioning/right-104.xht",
+     [
+      [
+       "/css/CSS2/positioning/right-103-ref.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/positioning/right-109.xht": [
+    [
+     "/css/CSS2/positioning/right-109.xht",
+     [
+      [
+       "/css/CSS2/positioning/right-004-ref.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/positioning/right-110.xht": [
+    [
+     "/css/CSS2/positioning/right-110.xht",
+     [
+      [
+       "/css/CSS2/positioning/right-004-ref.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/positioning/right-111.xht": [
+    [
+     "/css/CSS2/positioning/right-111.xht",
+     [
+      [
+       "/css/CSS2/positioning/right-004-ref.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/positioning/right-112.xht": [
+    [
+     "/css/CSS2/positioning/right-112.xht",
+     [
+      [
+       "/css/CSS2/positioning/right-004-ref.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/positioning/right-113.xht": [
+    [
+     "/css/CSS2/positioning/right-113.xht",
+     [
+      [
+       "/css/CSS2/positioning/right-103-ref.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/positioning/right-applies-to-001.xht": [
+    [
+     "/css/CSS2/positioning/right-applies-to-001.xht",
+     [
+      [
+       "/css/CSS2/positioning/right-applies-to-001-ref.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/positioning/right-applies-to-002.xht": [
+    [
+     "/css/CSS2/positioning/right-applies-to-002.xht",
+     [
+      [
+       "/css/CSS2/positioning/right-applies-to-001-ref.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/positioning/right-applies-to-003.xht": [
+    [
+     "/css/CSS2/positioning/right-applies-to-003.xht",
+     [
+      [
+       "/css/CSS2/positioning/right-applies-to-001-ref.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/positioning/right-applies-to-004.xht": [
+    [
+     "/css/CSS2/positioning/right-applies-to-004.xht",
+     [
+      [
+       "/css/CSS2/positioning/right-applies-to-001-ref.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/positioning/right-applies-to-005.xht": [
+    [
+     "/css/CSS2/positioning/right-applies-to-005.xht",
+     [
+      [
+       "/css/CSS2/positioning/right-applies-to-001-ref.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/positioning/right-applies-to-006.xht": [
+    [
+     "/css/CSS2/positioning/right-applies-to-006.xht",
+     [
+      [
+       "/css/CSS2/positioning/right-applies-to-001-ref.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/positioning/right-applies-to-007.xht": [
+    [
+     "/css/CSS2/positioning/right-applies-to-007.xht",
+     [
+      [
+       "/css/CSS2/positioning/right-applies-to-001-ref.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/positioning/right-applies-to-009.xht": [
+    [
+     "/css/CSS2/positioning/right-applies-to-009.xht",
+     [
+      [
+       "/css/CSS2/positioning/right-applies-to-001-ref.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/positioning/right-applies-to-012.xht": [
+    [
+     "/css/CSS2/positioning/right-applies-to-012.xht",
+     [
+      [
+       "/css/CSS2/positioning/right-applies-to-001-ref.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/positioning/right-applies-to-013.xht": [
+    [
+     "/css/CSS2/positioning/right-applies-to-013.xht",
+     [
+      [
+       "/css/CSS2/positioning/right-applies-to-001-ref.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/positioning/right-applies-to-014.xht": [
+    [
+     "/css/CSS2/positioning/right-applies-to-014.xht",
+     [
+      [
+       "/css/CSS2/positioning/right-applies-to-001-ref.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/positioning/right-applies-to-015.xht": [
+    [
+     "/css/CSS2/positioning/right-applies-to-015.xht",
+     [
+      [
+       "/css/CSS2/positioning/right-applies-to-001-ref.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/positioning/right-offset-001.xht": [
+    [
+     "/css/CSS2/positioning/right-offset-001.xht",
+     [
+      [
+       "/css/CSS2/positioning/right-offset-001-ref.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/positioning/right-offset-002.xht": [
+    [
+     "/css/CSS2/positioning/right-offset-002.xht",
+     [
+      [
+       "/css/CSS2/positioning/left-offset-001-ref.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/positioning/right-offset-003.xht": [
+    [
+     "/css/CSS2/positioning/right-offset-003.xht",
+     [
+      [
+       "/css/CSS2/positioning/right-offset-001-ref.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/positioning/right-offset-004.xht": [
+    [
+     "/css/CSS2/positioning/right-offset-004.xht",
+     [
+      [
+       "/css/CSS2/reference/ref-filled-green-100px-square.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/positioning/right-offset-percentage-001.xht": [
+    [
+     "/css/CSS2/positioning/right-offset-percentage-001.xht",
+     [
+      [
+       "/css/CSS2/positioning/right-offset-percentage-001-ref.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/positioning/top-004.xht": [
+    [
+     "/css/CSS2/positioning/top-004.xht",
+     [
+      [
+       "/css/CSS2/reference/ref-no-vert-space-between.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/positioning/top-005.xht": [
+    [
+     "/css/CSS2/positioning/top-005.xht",
+     [
+      [
+       "/css/CSS2/reference/ref-no-vert-space-between.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/positioning/top-006.xht": [
+    [
+     "/css/CSS2/positioning/top-006.xht",
+     [
+      [
+       "/css/CSS2/reference/ref-no-vert-space-between.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/positioning/top-007.xht": [
+    [
+     "/css/CSS2/positioning/top-007.xht",
+     [
+      [
+       "/css/CSS2/positioning/top-007-ref.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/positioning/top-008.xht": [
+    [
+     "/css/CSS2/positioning/top-008.xht",
+     [
+      [
+       "/css/CSS2/positioning/top-007-ref.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/positioning/top-016.xht": [
+    [
+     "/css/CSS2/positioning/top-016.xht",
+     [
+      [
+       "/css/CSS2/reference/ref-no-vert-space-between.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/positioning/top-017.xht": [
+    [
+     "/css/CSS2/positioning/top-017.xht",
+     [
+      [
+       "/css/CSS2/reference/ref-no-vert-space-between.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/positioning/top-018.xht": [
+    [
+     "/css/CSS2/positioning/top-018.xht",
+     [
+      [
+       "/css/CSS2/reference/ref-no-vert-space-between.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/positioning/top-019.xht": [
+    [
+     "/css/CSS2/positioning/top-019.xht",
+     [
+      [
+       "/css/CSS2/positioning/top-019-ref.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/positioning/top-020.xht": [
+    [
+     "/css/CSS2/positioning/top-020.xht",
+     [
+      [
+       "/css/CSS2/positioning/top-019-ref.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/positioning/top-028.xht": [
+    [
+     "/css/CSS2/positioning/top-028.xht",
+     [
+      [
+       "/css/CSS2/reference/ref-no-vert-space-between.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/positioning/top-029.xht": [
+    [
+     "/css/CSS2/positioning/top-029.xht",
+     [
+      [
+       "/css/CSS2/reference/ref-no-vert-space-between.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/positioning/top-030.xht": [
+    [
+     "/css/CSS2/positioning/top-030.xht",
+     [
+      [
+       "/css/CSS2/reference/ref-no-vert-space-between.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/positioning/top-031.xht": [
+    [
+     "/css/CSS2/positioning/top-031.xht",
+     [
+      [
+       "/css/CSS2/positioning/top-007-ref.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/positioning/top-032.xht": [
+    [
+     "/css/CSS2/positioning/top-032.xht",
+     [
+      [
+       "/css/CSS2/positioning/top-007-ref.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/positioning/top-040.xht": [
+    [
+     "/css/CSS2/positioning/top-040.xht",
+     [
+      [
+       "/css/CSS2/reference/ref-no-vert-space-between.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/positioning/top-041.xht": [
+    [
+     "/css/CSS2/positioning/top-041.xht",
+     [
+      [
+       "/css/CSS2/reference/ref-no-vert-space-between.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/positioning/top-042.xht": [
+    [
+     "/css/CSS2/positioning/top-042.xht",
+     [
+      [
+       "/css/CSS2/reference/ref-no-vert-space-between.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/positioning/top-043.xht": [
+    [
+     "/css/CSS2/positioning/top-043.xht",
+     [
+      [
+       "/css/CSS2/positioning/top-019-ref.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/positioning/top-044.xht": [
+    [
+     "/css/CSS2/positioning/top-044.xht",
+     [
+      [
+       "/css/CSS2/positioning/top-019-ref.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/positioning/top-052.xht": [
+    [
+     "/css/CSS2/positioning/top-052.xht",
+     [
+      [
+       "/css/CSS2/reference/ref-no-vert-space-between.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/positioning/top-053.xht": [
+    [
+     "/css/CSS2/positioning/top-053.xht",
+     [
+      [
+       "/css/CSS2/reference/ref-no-vert-space-between.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/positioning/top-054.xht": [
+    [
+     "/css/CSS2/positioning/top-054.xht",
+     [
+      [
+       "/css/CSS2/reference/ref-no-vert-space-between.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/positioning/top-055.xht": [
+    [
+     "/css/CSS2/positioning/top-055.xht",
+     [
+      [
+       "/css/CSS2/positioning/top-019-ref.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/positioning/top-056.xht": [
+    [
+     "/css/CSS2/positioning/top-056.xht",
+     [
+      [
+       "/css/CSS2/positioning/top-019-ref.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/positioning/top-064.xht": [
+    [
+     "/css/CSS2/positioning/top-064.xht",
+     [
+      [
+       "/css/CSS2/reference/ref-no-vert-space-between.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/positioning/top-065.xht": [
+    [
+     "/css/CSS2/positioning/top-065.xht",
+     [
+      [
+       "/css/CSS2/reference/ref-no-vert-space-between.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/positioning/top-066.xht": [
+    [
+     "/css/CSS2/positioning/top-066.xht",
+     [
+      [
+       "/css/CSS2/reference/ref-no-vert-space-between.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/positioning/top-067.xht": [
+    [
+     "/css/CSS2/positioning/top-067.xht",
+     [
+      [
+       "/css/CSS2/positioning/top-019-ref.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/positioning/top-068.xht": [
+    [
+     "/css/CSS2/positioning/top-068.xht",
+     [
+      [
+       "/css/CSS2/positioning/top-019-ref.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/positioning/top-076.xht": [
+    [
+     "/css/CSS2/positioning/top-076.xht",
+     [
+      [
+       "/css/CSS2/reference/ref-no-vert-space-between.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/positioning/top-077.xht": [
+    [
+     "/css/CSS2/positioning/top-077.xht",
+     [
+      [
+       "/css/CSS2/reference/ref-no-vert-space-between.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/positioning/top-078.xht": [
+    [
+     "/css/CSS2/positioning/top-078.xht",
+     [
+      [
+       "/css/CSS2/reference/ref-no-vert-space-between.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/positioning/top-079.xht": [
+    [
+     "/css/CSS2/positioning/top-079.xht",
+     [
+      [
+       "/css/CSS2/positioning/top-079-ref.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/positioning/top-080.xht": [
+    [
+     "/css/CSS2/positioning/top-080.xht",
+     [
+      [
+       "/css/CSS2/positioning/top-079-ref.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/positioning/top-088.xht": [
+    [
+     "/css/CSS2/positioning/top-088.xht",
+     [
+      [
+       "/css/CSS2/reference/ref-no-vert-space-between.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/positioning/top-089.xht": [
+    [
+     "/css/CSS2/positioning/top-089.xht",
+     [
+      [
+       "/css/CSS2/reference/ref-no-vert-space-between.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/positioning/top-090.xht": [
+    [
+     "/css/CSS2/positioning/top-090.xht",
+     [
+      [
+       "/css/CSS2/reference/ref-no-vert-space-between.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/positioning/top-091.xht": [
+    [
+     "/css/CSS2/positioning/top-091.xht",
+     [
+      [
+       "/css/CSS2/positioning/top-019-ref.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/positioning/top-092.xht": [
+    [
+     "/css/CSS2/positioning/top-092.xht",
+     [
+      [
+       "/css/CSS2/positioning/top-019-ref.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/positioning/top-100.xht": [
+    [
+     "/css/CSS2/positioning/top-100.xht",
+     [
+      [
+       "/css/CSS2/reference/ref-no-vert-space-between.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/positioning/top-101.xht": [
+    [
+     "/css/CSS2/positioning/top-101.xht",
+     [
+      [
+       "/css/CSS2/reference/ref-no-vert-space-between.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/positioning/top-102.xht": [
+    [
+     "/css/CSS2/positioning/top-102.xht",
+     [
+      [
+       "/css/CSS2/reference/ref-no-vert-space-between.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/positioning/top-103.xht": [
+    [
+     "/css/CSS2/positioning/top-103.xht",
+     [
+      [
+       "/css/CSS2/positioning/top-019-ref.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/positioning/top-104.xht": [
+    [
+     "/css/CSS2/positioning/top-104.xht",
+     [
+      [
+       "/css/CSS2/positioning/top-019-ref.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/positioning/top-109.xht": [
+    [
+     "/css/CSS2/positioning/top-109.xht",
+     [
+      [
+       "/css/CSS2/reference/ref-no-vert-space-between.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/positioning/top-110.xht": [
+    [
+     "/css/CSS2/positioning/top-110.xht",
+     [
+      [
+       "/css/CSS2/reference/ref-no-vert-space-between.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/positioning/top-111.xht": [
+    [
+     "/css/CSS2/positioning/top-111.xht",
+     [
+      [
+       "/css/CSS2/reference/ref-no-vert-space-between.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/positioning/top-112.xht": [
+    [
+     "/css/CSS2/positioning/top-112.xht",
+     [
+      [
+       "/css/CSS2/reference/ref-no-vert-space-between.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/positioning/top-113.xht": [
+    [
+     "/css/CSS2/positioning/top-113.xht",
+     [
+      [
+       "/css/CSS2/positioning/top-113-ref.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/positioning/top-applies-to-001.xht": [
+    [
+     "/css/CSS2/positioning/top-applies-to-001.xht",
+     [
+      [
+       "/css/CSS2/positioning/top-applies-to-001-ref.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/positioning/top-applies-to-002.xht": [
+    [
+     "/css/CSS2/positioning/top-applies-to-002.xht",
+     [
+      [
+       "/css/CSS2/positioning/top-applies-to-001-ref.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/positioning/top-applies-to-003.xht": [
+    [
+     "/css/CSS2/positioning/top-applies-to-003.xht",
+     [
+      [
+       "/css/CSS2/positioning/top-applies-to-001-ref.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/positioning/top-applies-to-004.xht": [
+    [
+     "/css/CSS2/positioning/top-applies-to-004.xht",
+     [
+      [
+       "/css/CSS2/positioning/top-applies-to-001-ref.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/positioning/top-applies-to-005.xht": [
+    [
+     "/css/CSS2/positioning/top-applies-to-005.xht",
+     [
+      [
+       "/css/CSS2/positioning/top-applies-to-001-ref.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/positioning/top-applies-to-006.xht": [
+    [
+     "/css/CSS2/positioning/top-applies-to-006.xht",
+     [
+      [
+       "/css/CSS2/positioning/top-applies-to-001-ref.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/positioning/top-applies-to-007.xht": [
+    [
+     "/css/CSS2/positioning/top-applies-to-007.xht",
+     [
+      [
+       "/css/CSS2/positioning/top-applies-to-001-ref.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/positioning/top-applies-to-009.xht": [
+    [
+     "/css/CSS2/positioning/top-applies-to-009.xht",
+     [
+      [
+       "/css/CSS2/positioning/top-applies-to-001-ref.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/positioning/top-applies-to-012.xht": [
+    [
+     "/css/CSS2/positioning/top-applies-to-012.xht",
+     [
+      [
+       "/css/CSS2/positioning/top-applies-to-001-ref.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/positioning/top-applies-to-013.xht": [
+    [
+     "/css/CSS2/positioning/top-applies-to-013.xht",
+     [
+      [
+       "/css/CSS2/positioning/top-applies-to-001-ref.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/positioning/top-applies-to-014.xht": [
+    [
+     "/css/CSS2/positioning/top-applies-to-014.xht",
+     [
+      [
+       "/css/CSS2/positioning/top-applies-to-001-ref.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/positioning/top-applies-to-015.xht": [
+    [
+     "/css/CSS2/positioning/top-applies-to-015.xht",
+     [
+      [
+       "/css/CSS2/positioning/top-applies-to-001-ref.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/positioning/top-offset-001.xht": [
+    [
+     "/css/CSS2/positioning/top-offset-001.xht",
+     [
+      [
+       "/css/CSS2/positioning/bottom-offset-001-ref.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/positioning/top-offset-002.xht": [
+    [
+     "/css/CSS2/positioning/top-offset-002.xht",
+     [
+      [
+       "/css/CSS2/positioning/bottom-offset-001-ref.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/positioning/top-offset-003.xht": [
+    [
+     "/css/CSS2/positioning/top-offset-003.xht",
+     [
+      [
+       "/css/CSS2/positioning/top-offset-003-ref.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/positioning/top-offset-percentage-001.xht": [
+    [
+     "/css/CSS2/positioning/top-offset-percentage-001.xht",
+     [
+      [
+       "/css/CSS2/positioning/top-offset-percentage-001-ref.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/positioning/top-offset-percentage-002.xht": [
+    [
+     "/css/CSS2/positioning/top-offset-percentage-002.xht",
+     [
+      [
+       "/css/CSS2/positioning/left-offset-percentage-002-ref.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
    "css/css-align-3/distribution-values/space-evenly-001.html": [
     [
      "/css/css-align-3/distribution-values/space-evenly-001.html",
@@ -37687,6 +54523,510 @@
      {}
     ]
    ],
+   "css/CSS2/normal-flow/block-in-inline-append-002-nosplit-ref.xht": [
+    [
+     "/css/CSS2/normal-flow/block-in-inline-append-002-nosplit-ref.xht",
+     [
+      [
+       "/css/CSS2/normal-flow/block-in-inline-append-002-ref.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/normal-flow/block-in-inline-append-002-ref.xht": [
+    [
+     "/css/CSS2/normal-flow/block-in-inline-append-002-ref.xht",
+     [
+      [
+       "/css/CSS2/normal-flow/block-in-inline-append-002-nosplit-ref.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/normal-flow/block-in-inline-insert-001-nosplit-ref.xht": [
+    [
+     "/css/CSS2/normal-flow/block-in-inline-insert-001-nosplit-ref.xht",
+     [
+      [
+       "/css/CSS2/normal-flow/block-in-inline-insert-001-ref.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/normal-flow/block-in-inline-insert-001-ref.xht": [
+    [
+     "/css/CSS2/normal-flow/block-in-inline-insert-001-ref.xht",
+     [
+      [
+       "/css/CSS2/normal-flow/block-in-inline-insert-001-nosplit-ref.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/normal-flow/block-in-inline-insert-002-nosplit-ref.xht": [
+    [
+     "/css/CSS2/normal-flow/block-in-inline-insert-002-nosplit-ref.xht",
+     [
+      [
+       "/css/CSS2/normal-flow/block-in-inline-insert-002-ref.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/normal-flow/block-in-inline-insert-002-ref.xht": [
+    [
+     "/css/CSS2/normal-flow/block-in-inline-insert-002-ref.xht",
+     [
+      [
+       "/css/CSS2/normal-flow/block-in-inline-insert-002-nosplit-ref.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/normal-flow/block-in-inline-insert-003-nosplit-ref.xht": [
+    [
+     "/css/CSS2/normal-flow/block-in-inline-insert-003-nosplit-ref.xht",
+     [
+      [
+       "/css/CSS2/normal-flow/block-in-inline-insert-003-ref.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/normal-flow/block-in-inline-insert-003-ref.xht": [
+    [
+     "/css/CSS2/normal-flow/block-in-inline-insert-003-ref.xht",
+     [
+      [
+       "/css/CSS2/normal-flow/block-in-inline-insert-003-nosplit-ref.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/normal-flow/block-in-inline-insert-004-nosplit-ref.xht": [
+    [
+     "/css/CSS2/normal-flow/block-in-inline-insert-004-nosplit-ref.xht",
+     [
+      [
+       "/css/CSS2/normal-flow/block-in-inline-insert-004-ref.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/normal-flow/block-in-inline-insert-004-ref.xht": [
+    [
+     "/css/CSS2/normal-flow/block-in-inline-insert-004-ref.xht",
+     [
+      [
+       "/css/CSS2/normal-flow/block-in-inline-insert-004-nosplit-ref.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/normal-flow/block-in-inline-insert-006-nosplit-ref.xht": [
+    [
+     "/css/CSS2/normal-flow/block-in-inline-insert-006-nosplit-ref.xht",
+     [
+      [
+       "/css/CSS2/normal-flow/block-in-inline-insert-006-ref.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/normal-flow/block-in-inline-insert-006-ref.xht": [
+    [
+     "/css/CSS2/normal-flow/block-in-inline-insert-006-ref.xht",
+     [
+      [
+       "/css/CSS2/normal-flow/block-in-inline-insert-006-nosplit-ref.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/normal-flow/block-in-inline-insert-007-nosplit-ref.xht": [
+    [
+     "/css/CSS2/normal-flow/block-in-inline-insert-007-nosplit-ref.xht",
+     [
+      [
+       "/css/CSS2/normal-flow/block-in-inline-insert-007-ref.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/normal-flow/block-in-inline-insert-007-ref.xht": [
+    [
+     "/css/CSS2/normal-flow/block-in-inline-insert-007-ref.xht",
+     [
+      [
+       "/css/CSS2/normal-flow/block-in-inline-insert-007-nosplit-ref.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/normal-flow/block-in-inline-insert-008-nosplit-ref.xht": [
+    [
+     "/css/CSS2/normal-flow/block-in-inline-insert-008-nosplit-ref.xht",
+     [
+      [
+       "/css/CSS2/normal-flow/block-in-inline-insert-008-ref.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/normal-flow/block-in-inline-insert-008-ref.xht": [
+    [
+     "/css/CSS2/normal-flow/block-in-inline-insert-008-ref.xht",
+     [
+      [
+       "/css/CSS2/normal-flow/block-in-inline-insert-008-nosplit-ref.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/normal-flow/block-in-inline-insert-009-nosplit-ref.xht": [
+    [
+     "/css/CSS2/normal-flow/block-in-inline-insert-009-nosplit-ref.xht",
+     [
+      [
+       "/css/CSS2/normal-flow/block-in-inline-insert-009-ref.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/normal-flow/block-in-inline-insert-009-ref.xht": [
+    [
+     "/css/CSS2/normal-flow/block-in-inline-insert-009-ref.xht",
+     [
+      [
+       "/css/CSS2/normal-flow/block-in-inline-insert-009-nosplit-ref.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/normal-flow/block-in-inline-insert-010-nosplit-ref.xht": [
+    [
+     "/css/CSS2/normal-flow/block-in-inline-insert-010-nosplit-ref.xht",
+     [
+      [
+       "/css/CSS2/normal-flow/block-in-inline-insert-010-ref.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/normal-flow/block-in-inline-insert-010-ref.xht": [
+    [
+     "/css/CSS2/normal-flow/block-in-inline-insert-010-ref.xht",
+     [
+      [
+       "/css/CSS2/normal-flow/block-in-inline-insert-010-nosplit-ref.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/normal-flow/block-in-inline-insert-011-nosplit-ref.xht": [
+    [
+     "/css/CSS2/normal-flow/block-in-inline-insert-011-nosplit-ref.xht",
+     [
+      [
+       "/css/CSS2/normal-flow/block-in-inline-insert-011-ref.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/normal-flow/block-in-inline-insert-011-ref.xht": [
+    [
+     "/css/CSS2/normal-flow/block-in-inline-insert-011-ref.xht",
+     [
+      [
+       "/css/CSS2/normal-flow/block-in-inline-insert-011-nosplit-ref.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/normal-flow/block-in-inline-insert-012-nosplit-ref.xht": [
+    [
+     "/css/CSS2/normal-flow/block-in-inline-insert-012-nosplit-ref.xht",
+     [
+      [
+       "/css/CSS2/normal-flow/block-in-inline-insert-012-ref.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/normal-flow/block-in-inline-insert-012-ref.xht": [
+    [
+     "/css/CSS2/normal-flow/block-in-inline-insert-012-ref.xht",
+     [
+      [
+       "/css/CSS2/normal-flow/block-in-inline-insert-012-nosplit-ref.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/normal-flow/block-in-inline-insert-013-nosplit-ref.xht": [
+    [
+     "/css/CSS2/normal-flow/block-in-inline-insert-013-nosplit-ref.xht",
+     [
+      [
+       "/css/CSS2/normal-flow/block-in-inline-insert-013-ref.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/normal-flow/block-in-inline-insert-013-ref.xht": [
+    [
+     "/css/CSS2/normal-flow/block-in-inline-insert-013-ref.xht",
+     [
+      [
+       "/css/CSS2/normal-flow/block-in-inline-insert-013-nosplit-ref.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/normal-flow/block-in-inline-insert-014-nosplit-ref.xht": [
+    [
+     "/css/CSS2/normal-flow/block-in-inline-insert-014-nosplit-ref.xht",
+     [
+      [
+       "/css/CSS2/normal-flow/block-in-inline-insert-014-ref.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/normal-flow/block-in-inline-insert-014-ref.xht": [
+    [
+     "/css/CSS2/normal-flow/block-in-inline-insert-014-ref.xht",
+     [
+      [
+       "/css/CSS2/normal-flow/block-in-inline-insert-014-nosplit-ref.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/normal-flow/block-in-inline-insert-015-nosplit-ref.xht": [
+    [
+     "/css/CSS2/normal-flow/block-in-inline-insert-015-nosplit-ref.xht",
+     [
+      [
+       "/css/CSS2/normal-flow/block-in-inline-insert-015-ref.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/normal-flow/block-in-inline-insert-015-ref.xht": [
+    [
+     "/css/CSS2/normal-flow/block-in-inline-insert-015-ref.xht",
+     [
+      [
+       "/css/CSS2/normal-flow/block-in-inline-insert-015-nosplit-ref.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/normal-flow/block-in-inline-insert-016-nosplit-ref.xht": [
+    [
+     "/css/CSS2/normal-flow/block-in-inline-insert-016-nosplit-ref.xht",
+     [
+      [
+       "/css/CSS2/normal-flow/block-in-inline-insert-016-ref.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/normal-flow/block-in-inline-insert-016-ref.xht": [
+    [
+     "/css/CSS2/normal-flow/block-in-inline-insert-016-ref.xht",
+     [
+      [
+       "/css/CSS2/normal-flow/block-in-inline-insert-016-nosplit-ref.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/normal-flow/block-in-inline-remove-001-nosplit-ref.xht": [
+    [
+     "/css/CSS2/normal-flow/block-in-inline-remove-001-nosplit-ref.xht",
+     [
+      [
+       "/css/CSS2/normal-flow/block-in-inline-remove-001-ref.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/normal-flow/block-in-inline-remove-001-ref.xht": [
+    [
+     "/css/CSS2/normal-flow/block-in-inline-remove-001-ref.xht",
+     [
+      [
+       "/css/CSS2/normal-flow/block-in-inline-remove-001-nosplit-ref.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/normal-flow/block-in-inline-remove-003-nosplit-ref.xht": [
+    [
+     "/css/CSS2/normal-flow/block-in-inline-remove-003-nosplit-ref.xht",
+     [
+      [
+       "/css/CSS2/normal-flow/block-in-inline-remove-003-ref.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/normal-flow/block-in-inline-remove-003-ref.xht": [
+    [
+     "/css/CSS2/normal-flow/block-in-inline-remove-003-ref.xht",
+     [
+      [
+       "/css/CSS2/normal-flow/block-in-inline-remove-003-nosplit-ref.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/normal-flow/block-in-inline-remove-004-nosplit-ref.xht": [
+    [
+     "/css/CSS2/normal-flow/block-in-inline-remove-004-nosplit-ref.xht",
+     [
+      [
+       "/css/CSS2/normal-flow/block-in-inline-remove-004-ref.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/normal-flow/block-in-inline-remove-004-ref.xht": [
+    [
+     "/css/CSS2/normal-flow/block-in-inline-remove-004-ref.xht",
+     [
+      [
+       "/css/CSS2/normal-flow/block-in-inline-remove-004-nosplit-ref.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/normal-flow/block-in-inline-remove-005-nosplit-ref.xht": [
+    [
+     "/css/CSS2/normal-flow/block-in-inline-remove-005-nosplit-ref.xht",
+     [
+      [
+       "/css/CSS2/normal-flow/block-in-inline-remove-005-ref.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/normal-flow/block-in-inline-remove-005-ref.xht": [
+    [
+     "/css/CSS2/normal-flow/block-in-inline-remove-005-ref.xht",
+     [
+      [
+       "/css/CSS2/normal-flow/block-in-inline-remove-005-nosplit-ref.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/normal-flow/block-in-inline-remove-006-nosplit-ref.xht": [
+    [
+     "/css/CSS2/normal-flow/block-in-inline-remove-006-nosplit-ref.xht",
+     [
+      [
+       "/css/CSS2/normal-flow/block-in-inline-remove-006-ref.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/CSS2/normal-flow/block-in-inline-remove-006-ref.xht": [
+    [
+     "/css/CSS2/normal-flow/block-in-inline-remove-006-ref.xht",
+     [
+      [
+       "/css/CSS2/normal-flow/block-in-inline-remove-006-nosplit-ref.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
    "html/dom/elements/global-attributes/dir_auto-N-EN-ref.html": [
     [
      "/html/dom/elements/global-attributes/dir_auto-N-EN-ref.html",
@@ -40680,6 +58020,806 @@
      {}
     ]
    ],
+   "css/CSS2/floats-clear/adjacent-floats-001-ref.xht": [
+    [
+     {}
+    ]
+   ],
+   "css/CSS2/floats-clear/clear-001-ref.xht": [
+    [
+     {}
+    ]
+   ],
+   "css/CSS2/floats-clear/clear-002-ref.xht": [
+    [
+     {}
+    ]
+   ],
+   "css/CSS2/floats-clear/clear-003-ref.xht": [
+    [
+     {}
+    ]
+   ],
+   "css/CSS2/floats-clear/clear-applies-to-000-ref.xht": [
+    [
+     {}
+    ]
+   ],
+   "css/CSS2/floats-clear/clear-applies-to-001-ref.xht": [
+    [
+     {}
+    ]
+   ],
+   "css/CSS2/floats-clear/clear-applies-to-008-ref.xht": [
+    [
+     {}
+    ]
+   ],
+   "css/CSS2/floats-clear/clear-applies-to-009-ref.xht": [
+    [
+     {}
+    ]
+   ],
+   "css/CSS2/floats-clear/clear-clearance-calculation-001-ref.xht": [
+    [
+     {}
+    ]
+   ],
+   "css/CSS2/floats-clear/clear-clearance-calculation-002-ref.xht": [
+    [
+     {}
+    ]
+   ],
+   "css/CSS2/floats-clear/clear-clearance-calculation-003-ref.xht": [
+    [
+     {}
+    ]
+   ],
+   "css/CSS2/floats-clear/clear-clearance-calculation-004-ref.xht": [
+    [
+     {}
+    ]
+   ],
+   "css/CSS2/floats-clear/clear-clearance-calculation-005-ref.xht": [
+    [
+     {}
+    ]
+   ],
+   "css/CSS2/floats-clear/clear-float-001-ref.xht": [
+    [
+     {}
+    ]
+   ],
+   "css/CSS2/floats-clear/clear-float-002-ref.xht": [
+    [
+     {}
+    ]
+   ],
+   "css/CSS2/floats-clear/clear-float-003-ref.xht": [
+    [
+     {}
+    ]
+   ],
+   "css/CSS2/floats-clear/clear-float-004-ref.xht": [
+    [
+     {}
+    ]
+   ],
+   "css/CSS2/floats-clear/clear-float-005-ref.xht": [
+    [
+     {}
+    ]
+   ],
+   "css/CSS2/floats-clear/clear-float-006-ref.xht": [
+    [
+     {}
+    ]
+   ],
+   "css/CSS2/floats-clear/clear-float-009-ref.xht": [
+    [
+     {}
+    ]
+   ],
+   "css/CSS2/floats-clear/clear-inline-001-ref.xht": [
+    [
+     {}
+    ]
+   ],
+   "css/CSS2/floats-clear/clearance-006-ref.xht": [
+    [
+     {}
+    ]
+   ],
+   "css/CSS2/floats-clear/float-003-ref.xht": [
+    [
+     {}
+    ]
+   ],
+   "css/CSS2/floats-clear/float-005-ref.xht": [
+    [
+     {}
+    ]
+   ],
+   "css/CSS2/floats-clear/float-006-ref.xht": [
+    [
+     {}
+    ]
+   ],
+   "css/CSS2/floats-clear/float-applies-to-008-ref.xht": [
+    [
+     {}
+    ]
+   ],
+   "css/CSS2/floats-clear/float-non-replaced-height-001-ref.xht": [
+    [
+     {}
+    ]
+   ],
+   "css/CSS2/floats-clear/float-non-replaced-width-001-ref.xht": [
+    [
+     {}
+    ]
+   ],
+   "css/CSS2/floats-clear/float-non-replaced-width-002-ref.xht": [
+    [
+     {}
+    ]
+   ],
+   "css/CSS2/floats-clear/float-non-replaced-width-003-ref.xht": [
+    [
+     {}
+    ]
+   ],
+   "css/CSS2/floats-clear/float-replaced-height-001-ref.xht": [
+    [
+     {}
+    ]
+   ],
+   "css/CSS2/floats-clear/float-replaced-height-002-ref.xht": [
+    [
+     {}
+    ]
+   ],
+   "css/CSS2/floats-clear/float-replaced-height-003-ref.xht": [
+    [
+     {}
+    ]
+   ],
+   "css/CSS2/floats-clear/float-replaced-height-004-ref.xht": [
+    [
+     {}
+    ]
+   ],
+   "css/CSS2/floats-clear/float-replaced-height-005-ref.xht": [
+    [
+     {}
+    ]
+   ],
+   "css/CSS2/floats-clear/float-replaced-height-006-ref.xht": [
+    [
+     {}
+    ]
+   ],
+   "css/CSS2/floats-clear/float-replaced-width-006-ref.xht": [
+    [
+     {}
+    ]
+   ],
+   "css/CSS2/floats-clear/float-replaced-width-007-ref.xht": [
+    [
+     {}
+    ]
+   ],
+   "css/CSS2/floats-clear/float-replaced-width-008-ref.xht": [
+    [
+     {}
+    ]
+   ],
+   "css/CSS2/floats-clear/float-replaced-width-009-ref.xht": [
+    [
+     {}
+    ]
+   ],
+   "css/CSS2/floats-clear/float-replaced-width-011-ref.xht": [
+    [
+     {}
+    ]
+   ],
+   "css/CSS2/floats-clear/floats-001-ref.xht": [
+    [
+     {}
+    ]
+   ],
+   "css/CSS2/floats-clear/floats-002-ref.xht": [
+    [
+     {}
+    ]
+   ],
+   "css/CSS2/floats-clear/floats-004-ref.xht": [
+    [
+     {}
+    ]
+   ],
+   "css/CSS2/floats-clear/floats-005-ref.xht": [
+    [
+     {}
+    ]
+   ],
+   "css/CSS2/floats-clear/floats-006-ref.xht": [
+    [
+     {}
+    ]
+   ],
+   "css/CSS2/floats-clear/floats-007-ref.xht": [
+    [
+     {}
+    ]
+   ],
+   "css/CSS2/floats-clear/floats-009-ref.xht": [
+    [
+     {}
+    ]
+   ],
+   "css/CSS2/floats-clear/floats-014-ref.xht": [
+    [
+     {}
+    ]
+   ],
+   "css/CSS2/floats-clear/floats-019-ref.xht": [
+    [
+     {}
+    ]
+   ],
+   "css/CSS2/floats-clear/floats-022-ref.xht": [
+    [
+     {}
+    ]
+   ],
+   "css/CSS2/floats-clear/floats-023-ref.xht": [
+    [
+     {}
+    ]
+   ],
+   "css/CSS2/floats-clear/floats-024-ref.xht": [
+    [
+     {}
+    ]
+   ],
+   "css/CSS2/floats-clear/floats-025-ref.xht": [
+    [
+     {}
+    ]
+   ],
+   "css/CSS2/floats-clear/floats-026-ref.xht": [
+    [
+     {}
+    ]
+   ],
+   "css/CSS2/floats-clear/floats-027-ref.xht": [
+    [
+     {}
+    ]
+   ],
+   "css/CSS2/floats-clear/floats-028-ref.xht": [
+    [
+     {}
+    ]
+   ],
+   "css/CSS2/floats-clear/floats-029-ref.xht": [
+    [
+     {}
+    ]
+   ],
+   "css/CSS2/floats-clear/floats-030-ref.xht": [
+    [
+     {}
+    ]
+   ],
+   "css/CSS2/floats-clear/floats-031-ref.xht": [
+    [
+     {}
+    ]
+   ],
+   "css/CSS2/floats-clear/floats-036-ref.xht": [
+    [
+     {}
+    ]
+   ],
+   "css/CSS2/floats-clear/floats-038-ref.xht": [
+    [
+     {}
+    ]
+   ],
+   "css/CSS2/floats-clear/floats-041-ref.xht": [
+    [
+     {}
+    ]
+   ],
+   "css/CSS2/floats-clear/floats-043-ref.xht": [
+    [
+     {}
+    ]
+   ],
+   "css/CSS2/floats-clear/floats-101-ref.xht": [
+    [
+     {}
+    ]
+   ],
+   "css/CSS2/floats-clear/floats-111-ref.xht": [
+    [
+     {}
+    ]
+   ],
+   "css/CSS2/floats-clear/floats-112-ref.xht": [
+    [
+     {}
+    ]
+   ],
+   "css/CSS2/floats-clear/floats-113-ref.xht": [
+    [
+     {}
+    ]
+   ],
+   "css/CSS2/floats-clear/floats-114-ref.xht": [
+    [
+     {}
+    ]
+   ],
+   "css/CSS2/floats-clear/floats-115-ref.xht": [
+    [
+     {}
+    ]
+   ],
+   "css/CSS2/floats-clear/floats-116-ref.xht": [
+    [
+     {}
+    ]
+   ],
+   "css/CSS2/floats-clear/floats-118-ref.xht": [
+    [
+     {}
+    ]
+   ],
+   "css/CSS2/floats-clear/floats-119-ref.xht": [
+    [
+     {}
+    ]
+   ],
+   "css/CSS2/floats-clear/floats-121-ref.xht": [
+    [
+     {}
+    ]
+   ],
+   "css/CSS2/floats-clear/floats-122-ref.xht": [
+    [
+     {}
+    ]
+   ],
+   "css/CSS2/floats-clear/floats-123-ref.xht": [
+    [
+     {}
+    ]
+   ],
+   "css/CSS2/floats-clear/floats-124-ref.xht": [
+    [
+     {}
+    ]
+   ],
+   "css/CSS2/floats-clear/floats-125-ref.xht": [
+    [
+     {}
+    ]
+   ],
+   "css/CSS2/floats-clear/floats-132-ref.xht": [
+    [
+     {}
+    ]
+   ],
+   "css/CSS2/floats-clear/floats-133-ref.xht": [
+    [
+     {}
+    ]
+   ],
+   "css/CSS2/floats-clear/floats-135-ref.xht": [
+    [
+     {}
+    ]
+   ],
+   "css/CSS2/floats-clear/floats-136-ref.xht": [
+    [
+     {}
+    ]
+   ],
+   "css/CSS2/floats-clear/floats-138-ref.xht": [
+    [
+     {}
+    ]
+   ],
+   "css/CSS2/floats-clear/floats-139-ref.xht": [
+    [
+     {}
+    ]
+   ],
+   "css/CSS2/floats-clear/floats-141-ref.xht": [
+    [
+     {}
+    ]
+   ],
+   "css/CSS2/floats-clear/floats-142-ref.xht": [
+    [
+     {}
+    ]
+   ],
+   "css/CSS2/floats-clear/floats-143-ref.xht": [
+    [
+     {}
+    ]
+   ],
+   "css/CSS2/floats-clear/floats-144-ref.xht": [
+    [
+     {}
+    ]
+   ],
+   "css/CSS2/floats-clear/floats-145-ref.xht": [
+    [
+     {}
+    ]
+   ],
+   "css/CSS2/floats-clear/floats-146-ref.xht": [
+    [
+     {}
+    ]
+   ],
+   "css/CSS2/floats-clear/floats-147-ref.xht": [
+    [
+     {}
+    ]
+   ],
+   "css/CSS2/floats-clear/floats-149-ref.xht": [
+    [
+     {}
+    ]
+   ],
+   "css/CSS2/floats-clear/floats-150-ref.xht": [
+    [
+     {}
+    ]
+   ],
+   "css/CSS2/floats-clear/floats-153-ref.xht": [
+    [
+     {}
+    ]
+   ],
+   "css/CSS2/floats-clear/floats-154-ref.xht": [
+    [
+     {}
+    ]
+   ],
+   "css/CSS2/floats-clear/floats-bfc-001-ref.xht": [
+    [
+     {}
+    ]
+   ],
+   "css/CSS2/floats-clear/margin-collapse-024-ref.xht": [
+    [
+     {}
+    ]
+   ],
+   "css/CSS2/floats-clear/margin-collapse-031-ref.xht": [
+    [
+     {}
+    ]
+   ],
+   "css/CSS2/floats-clear/margin-collapse-121-ref.xht": [
+    [
+     {}
+    ]
+   ],
+   "css/CSS2/floats-clear/margin-collapse-123-ref.xht": [
+    [
+     {}
+    ]
+   ],
+   "css/CSS2/floats-clear/margin-collapse-125-ref.xht": [
+    [
+     {}
+    ]
+   ],
+   "css/CSS2/floats-clear/margin-collapse-134-ref.xht": [
+    [
+     {}
+    ]
+   ],
+   "css/CSS2/floats-clear/margin-collapse-135-ref.xht": [
+    [
+     {}
+    ]
+   ],
+   "css/CSS2/floats-clear/margin-collapse-142-ref.xht": [
+    [
+     {}
+    ]
+   ],
+   "css/CSS2/floats-clear/margin-collapse-157-ref.xht": [
+    [
+     {}
+    ]
+   ],
+   "css/CSS2/floats-clear/margin-collapse-158-ref.xht": [
+    [
+     {}
+    ]
+   ],
+   "css/CSS2/floats-clear/margin-collapse-165-ref.xht": [
+    [
+     {}
+    ]
+   ],
+   "css/CSS2/floats-clear/margin-collapse-clear-002-ref.xht": [
+    [
+     {}
+    ]
+   ],
+   "css/CSS2/floats-clear/margin-collapse-clear-003-ref.xht": [
+    [
+     {}
+    ]
+   ],
+   "css/CSS2/floats-clear/margin-collapse-clear-012-ref.xht": [
+    [
+     {}
+    ]
+   ],
+   "css/CSS2/floats-clear/margin-collapse-clear-014-ref.xht": [
+    [
+     {}
+    ]
+   ],
+   "css/CSS2/floats-clear/margin-collapse-clear-015-ref.xht": [
+    [
+     {}
+    ]
+   ],
+   "css/CSS2/floats-clear/margin-collapse-clear-016-ref.xht": [
+    [
+     {}
+    ]
+   ],
+   "css/CSS2/floats-clear/margin-collapse-clear-017-ref.xht": [
+    [
+     {}
+    ]
+   ],
+   "css/CSS2/floats-clear/support/1x1-green.png": [
+    [
+     {}
+    ]
+   ],
+   "css/CSS2/floats-clear/support/1x1-lime.png": [
+    [
+     {}
+    ]
+   ],
+   "css/CSS2/floats-clear/support/1x1-maroon.png": [
+    [
+     {}
+    ]
+   ],
+   "css/CSS2/floats-clear/support/1x1-navy.png": [
+    [
+     {}
+    ]
+   ],
+   "css/CSS2/floats-clear/support/1x1-red.png": [
+    [
+     {}
+    ]
+   ],
+   "css/CSS2/floats-clear/support/1x1-white.png": [
+    [
+     {}
+    ]
+   ],
+   "css/CSS2/floats-clear/support/60x60-gg-rr.png": [
+    [
+     {}
+    ]
+   ],
+   "css/CSS2/floats-clear/support/60x60-green.png": [
+    [
+     {}
+    ]
+   ],
+   "css/CSS2/floats-clear/support/60x60-red.png": [
+    [
+     {}
+    ]
+   ],
+   "css/CSS2/floats-clear/support/a-green.css": [
+    [
+     {}
+    ]
+   ],
+   "css/CSS2/floats-clear/support/b-green.css": [
+    [
+     {}
+    ]
+   ],
+   "css/CSS2/floats-clear/support/black15x15.png": [
+    [
+     {}
+    ]
+   ],
+   "css/CSS2/floats-clear/support/blue15x15.png": [
+    [
+     {}
+    ]
+   ],
+   "css/CSS2/floats-clear/support/c-red.css": [
+    [
+     {}
+    ]
+   ],
+   "css/CSS2/floats-clear/support/cat.png": [
+    [
+     {}
+    ]
+   ],
+   "css/CSS2/floats-clear/support/clear-clearance-calculation-001.png": [
+    [
+     {}
+    ]
+   ],
+   "css/CSS2/floats-clear/support/clear-clearance-calculation-002.png": [
+    [
+     {}
+    ]
+   ],
+   "css/CSS2/floats-clear/support/clear-clearance-calculation-003.png": [
+    [
+     {}
+    ]
+   ],
+   "css/CSS2/floats-clear/support/diamond.png": [
+    [
+     {}
+    ]
+   ],
+   "css/CSS2/floats-clear/support/floats-005.png": [
+    [
+     {}
+    ]
+   ],
+   "css/CSS2/floats-clear/support/green-rectangle-50wideBy10tall.png": [
+    [
+     {}
+    ]
+   ],
+   "css/CSS2/floats-clear/support/green15x15.png": [
+    [
+     {}
+    ]
+   ],
+   "css/CSS2/floats-clear/support/margin-collapse-2em-space.png": [
+    [
+     {}
+    ]
+   ],
+   "css/CSS2/floats-clear/support/margin-collapse-4em-space.png": [
+    [
+     {}
+    ]
+   ],
+   "css/CSS2/floats-clear/support/pattern-grg-rgr-grg.png": [
+    [
+     {}
+    ]
+   ],
+   "css/CSS2/floats-clear/support/pattern-grg-rrg-rgg.png": [
+    [
+     {}
+    ]
+   ],
+   "css/CSS2/floats-clear/support/pattern-rgr-grg-rgr.png": [
+    [
+     {}
+    ]
+   ],
+   "css/CSS2/floats-clear/support/pattern-tr.png": [
+    [
+     {}
+    ]
+   ],
+   "css/CSS2/floats-clear/support/ring.png": [
+    [
+     {}
+    ]
+   ],
+   "css/CSS2/floats-clear/support/ruler-v-100px-200px-300px.png": [
+    [
+     {}
+    ]
+   ],
+   "css/CSS2/floats-clear/support/square-purple.png": [
+    [
+     {}
+    ]
+   ],
+   "css/CSS2/floats-clear/support/square-teal.png": [
+    [
+     {}
+    ]
+   ],
+   "css/CSS2/floats-clear/support/square-white.png": [
+    [
+     {}
+    ]
+   ],
+   "css/CSS2/floats-clear/support/swatch-blue.png": [
+    [
+     {}
+    ]
+   ],
+   "css/CSS2/floats-clear/support/swatch-green.png": [
+    [
+     {}
+    ]
+   ],
+   "css/CSS2/floats-clear/support/swatch-lime.png": [
+    [
+     {}
+    ]
+   ],
+   "css/CSS2/floats-clear/support/swatch-orange.png": [
+    [
+     {}
+    ]
+   ],
+   "css/CSS2/floats-clear/support/swatch-purple.png": [
+    [
+     {}
+    ]
+   ],
+   "css/CSS2/floats-clear/support/swatch-red.png": [
+    [
+     {}
+    ]
+   ],
+   "css/CSS2/floats-clear/support/swatch-white.png": [
+    [
+     {}
+    ]
+   ],
+   "css/CSS2/floats-clear/support/swatch-yellow.png": [
+    [
+     {}
+    ]
+   ],
+   "css/CSS2/floats-clear/support/test-bl.png": [
+    [
+     {}
+    ]
+   ],
+   "css/CSS2/floats-clear/support/test-br.png": [
+    [
+     {}
+    ]
+   ],
+   "css/CSS2/floats-clear/support/test-outer.png": [
+    [
+     {}
+    ]
+   ],
+   "css/CSS2/floats-clear/support/test-tl.png": [
+    [
+     {}
+    ]
+   ],
+   "css/CSS2/floats-clear/support/test-tr.png": [
+    [
+     {}
+    ]
+   ],
    "css/CSS2/floats/floats-placement-vertical-001-ref.xht": [
     [
      {}
@@ -41155,6 +59295,1811 @@
      {}
     ]
    ],
+   "css/CSS2/normal-flow/block-formatting-context-height-003-ref.xht": [
+    [
+     {}
+    ]
+   ],
+   "css/CSS2/normal-flow/block-formatting-contexts-001-ref.xht": [
+    [
+     {}
+    ]
+   ],
+   "css/CSS2/normal-flow/block-formatting-contexts-003-ref.xht": [
+    [
+     {}
+    ]
+   ],
+   "css/CSS2/normal-flow/block-formatting-contexts-004-ref.xht": [
+    [
+     {}
+    ]
+   ],
+   "css/CSS2/normal-flow/block-formatting-contexts-005-ref.xht": [
+    [
+     {}
+    ]
+   ],
+   "css/CSS2/normal-flow/block-formatting-contexts-006-ref.xht": [
+    [
+     {}
+    ]
+   ],
+   "css/CSS2/normal-flow/block-formatting-contexts-008-ref.xht": [
+    [
+     {}
+    ]
+   ],
+   "css/CSS2/normal-flow/block-formatting-contexts-011-ref.xht": [
+    [
+     {}
+    ]
+   ],
+   "css/CSS2/normal-flow/block-formatting-contexts-015-ref.xht": [
+    [
+     {}
+    ]
+   ],
+   "css/CSS2/normal-flow/block-in-inline-append-001-ref.xht": [
+    [
+     {}
+    ]
+   ],
+   "css/CSS2/normal-flow/block-in-inline-empty-001-ref.xht": [
+    [
+     {}
+    ]
+   ],
+   "css/CSS2/normal-flow/block-in-inline-empty-002-ref.xht": [
+    [
+     {}
+    ]
+   ],
+   "css/CSS2/normal-flow/block-in-inline-empty-003-ref.xht": [
+    [
+     {}
+    ]
+   ],
+   "css/CSS2/normal-flow/block-in-inline-empty-004-ref.xht": [
+    [
+     {}
+    ]
+   ],
+   "css/CSS2/normal-flow/block-in-inline-float-between-001-ref.xht": [
+    [
+     {}
+    ]
+   ],
+   "css/CSS2/normal-flow/block-in-inline-insert-017-ref.xht": [
+    [
+     {}
+    ]
+   ],
+   "css/CSS2/normal-flow/block-in-inline-margins-001-ref.xht": [
+    [
+     {}
+    ]
+   ],
+   "css/CSS2/normal-flow/block-in-inline-margins-002-ref.xht": [
+    [
+     {}
+    ]
+   ],
+   "css/CSS2/normal-flow/block-in-inline-nested-001-ref.xht": [
+    [
+     {}
+    ]
+   ],
+   "css/CSS2/normal-flow/block-in-inline-nested-002-ref.xht": [
+    [
+     {}
+    ]
+   ],
+   "css/CSS2/normal-flow/block-in-inline-percents-001-ref.xht": [
+    [
+     {}
+    ]
+   ],
+   "css/CSS2/normal-flow/block-in-inline-remove-000-ref.xht": [
+    [
+     {}
+    ]
+   ],
+   "css/CSS2/normal-flow/block-in-inline-remove-002-ref.xht": [
+    [
+     {}
+    ]
+   ],
+   "css/CSS2/normal-flow/block-in-inline-whitespace-001-ref.xht": [
+    [
+     {}
+    ]
+   ],
+   "css/CSS2/normal-flow/block-non-replaced-height-001-ref.xht": [
+    [
+     {}
+    ]
+   ],
+   "css/CSS2/normal-flow/block-non-replaced-height-005-ref.xht": [
+    [
+     {}
+    ]
+   ],
+   "css/CSS2/normal-flow/block-non-replaced-height-009-ref.xht": [
+    [
+     {}
+    ]
+   ],
+   "css/CSS2/normal-flow/block-non-replaced-width-001-ref.xht": [
+    [
+     {}
+    ]
+   ],
+   "css/CSS2/normal-flow/block-non-replaced-width-004-ref.xht": [
+    [
+     {}
+    ]
+   ],
+   "css/CSS2/normal-flow/block-non-replaced-width-005-ref.xht": [
+    [
+     {}
+    ]
+   ],
+   "css/CSS2/normal-flow/block-non-replaced-width-007-ref.xht": [
+    [
+     {}
+    ]
+   ],
+   "css/CSS2/normal-flow/block-replaced-height-001-ref.xht": [
+    [
+     {}
+    ]
+   ],
+   "css/CSS2/normal-flow/block-replaced-height-002-ref.xht": [
+    [
+     {}
+    ]
+   ],
+   "css/CSS2/normal-flow/block-replaced-height-004-ref.xht": [
+    [
+     {}
+    ]
+   ],
+   "css/CSS2/normal-flow/block-replaced-height-005-ref.xht": [
+    [
+     {}
+    ]
+   ],
+   "css/CSS2/normal-flow/block-replaced-height-006-ref.xht": [
+    [
+     {}
+    ]
+   ],
+   "css/CSS2/normal-flow/block-replaced-width-002-ref.xht": [
+    [
+     {}
+    ]
+   ],
+   "css/CSS2/normal-flow/block-replaced-width-006-ref.xht": [
+    [
+     {}
+    ]
+   ],
+   "css/CSS2/normal-flow/blocks-011-ref.xht": [
+    [
+     {}
+    ]
+   ],
+   "css/CSS2/normal-flow/blocks-013-ref.xht": [
+    [
+     {}
+    ]
+   ],
+   "css/CSS2/normal-flow/blocks-014-ref.xht": [
+    [
+     {}
+    ]
+   ],
+   "css/CSS2/normal-flow/blocks-018-ref.xht": [
+    [
+     {}
+    ]
+   ],
+   "css/CSS2/normal-flow/blocks-019-ref.xht": [
+    [
+     {}
+    ]
+   ],
+   "css/CSS2/normal-flow/blocks-020-ref.xht": [
+    [
+     {}
+    ]
+   ],
+   "css/CSS2/normal-flow/blocks-025-ref.xht": [
+    [
+     {}
+    ]
+   ],
+   "css/CSS2/normal-flow/blocks-026-ref.xht": [
+    [
+     {}
+    ]
+   ],
+   "css/CSS2/normal-flow/height-001-ref.xht": [
+    [
+     {}
+    ]
+   ],
+   "css/CSS2/normal-flow/height-003-ref.xht": [
+    [
+     {}
+    ]
+   ],
+   "css/CSS2/normal-flow/height-006-ref.xht": [
+    [
+     {}
+    ]
+   ],
+   "css/CSS2/normal-flow/height-025-ref.xht": [
+    [
+     {}
+    ]
+   ],
+   "css/CSS2/normal-flow/height-058-ref.xht": [
+    [
+     {}
+    ]
+   ],
+   "css/CSS2/normal-flow/height-061-ref.xht": [
+    [
+     {}
+    ]
+   ],
+   "css/CSS2/normal-flow/height-067-ref.xht": [
+    [
+     {}
+    ]
+   ],
+   "css/CSS2/normal-flow/height-069-ref.xht": [
+    [
+     {}
+    ]
+   ],
+   "css/CSS2/normal-flow/height-072-ref.xht": [
+    [
+     {}
+    ]
+   ],
+   "css/CSS2/normal-flow/height-080-ref.xht": [
+    [
+     {}
+    ]
+   ],
+   "css/CSS2/normal-flow/height-111-ref.xht": [
+    [
+     {}
+    ]
+   ],
+   "css/CSS2/normal-flow/height-112-ref.xht": [
+    [
+     {}
+    ]
+   ],
+   "css/CSS2/normal-flow/height-113-ref.xht": [
+    [
+     {}
+    ]
+   ],
+   "css/CSS2/normal-flow/height-114-ref.xht": [
+    [
+     {}
+    ]
+   ],
+   "css/CSS2/normal-flow/height-percentage-001-ref.xht": [
+    [
+     {}
+    ]
+   ],
+   "css/CSS2/normal-flow/height-percentage-003-ref.xht": [
+    [
+     {}
+    ]
+   ],
+   "css/CSS2/normal-flow/inline-block-000-ref.xht": [
+    [
+     {}
+    ]
+   ],
+   "css/CSS2/normal-flow/inline-block-height-001-ref.xht": [
+    [
+     {}
+    ]
+   ],
+   "css/CSS2/normal-flow/inline-block-height-002-ref.xht": [
+    [
+     {}
+    ]
+   ],
+   "css/CSS2/normal-flow/inline-block-non-replaced-width-001-ref.xht": [
+    [
+     {}
+    ]
+   ],
+   "css/CSS2/normal-flow/inline-block-non-replaced-width-002-ref.xht": [
+    [
+     {}
+    ]
+   ],
+   "css/CSS2/normal-flow/inline-block-replaced-height-003-ref.xht": [
+    [
+     {}
+    ]
+   ],
+   "css/CSS2/normal-flow/inline-block-replaced-width-001-ref.xht": [
+    [
+     {}
+    ]
+   ],
+   "css/CSS2/normal-flow/inline-block-replaced-width-002-ref.xht": [
+    [
+     {}
+    ]
+   ],
+   "css/CSS2/normal-flow/inline-block-replaced-width-003-ref.xht": [
+    [
+     {}
+    ]
+   ],
+   "css/CSS2/normal-flow/inline-block-replaced-width-006-ref.xht": [
+    [
+     {}
+    ]
+   ],
+   "css/CSS2/normal-flow/inline-block-valign-001-ref.xht": [
+    [
+     {}
+    ]
+   ],
+   "css/CSS2/normal-flow/inline-block-valign-002-ref.xht": [
+    [
+     {}
+    ]
+   ],
+   "css/CSS2/normal-flow/inline-block-width-001-ref.xht": [
+    [
+     {}
+    ]
+   ],
+   "css/CSS2/normal-flow/inline-block-width-002-ref.xht": [
+    [
+     {}
+    ]
+   ],
+   "css/CSS2/normal-flow/inline-block-zorder-001-ref.xht": [
+    [
+     {}
+    ]
+   ],
+   "css/CSS2/normal-flow/inline-block-zorder-003-ref.xht": [
+    [
+     {}
+    ]
+   ],
+   "css/CSS2/normal-flow/inline-block-zorder-004-ref.xht": [
+    [
+     {}
+    ]
+   ],
+   "css/CSS2/normal-flow/inline-non-replaced-height-002-ref.xht": [
+    [
+     {}
+    ]
+   ],
+   "css/CSS2/normal-flow/inline-non-replaced-width-001-ref.xht": [
+    [
+     {}
+    ]
+   ],
+   "css/CSS2/normal-flow/inline-replaced-width-001-ref.xht": [
+    [
+     {}
+    ]
+   ],
+   "css/CSS2/normal-flow/inline-replaced-width-002-ref.xht": [
+    [
+     {}
+    ]
+   ],
+   "css/CSS2/normal-flow/inline-replaced-width-003-ref.xht": [
+    [
+     {}
+    ]
+   ],
+   "css/CSS2/normal-flow/inline-replaced-width-011-ref.xht": [
+    [
+     {}
+    ]
+   ],
+   "css/CSS2/normal-flow/inline-replaced-width-012-ref.xht": [
+    [
+     {}
+    ]
+   ],
+   "css/CSS2/normal-flow/inline-replaced-width-014-ref.xht": [
+    [
+     {}
+    ]
+   ],
+   "css/CSS2/normal-flow/inline-table-002-ref.xht": [
+    [
+     {}
+    ]
+   ],
+   "css/CSS2/normal-flow/inline-table-003-ref.xht": [
+    [
+     {}
+    ]
+   ],
+   "css/CSS2/normal-flow/inline-table-height-001-ref.xht": [
+    [
+     {}
+    ]
+   ],
+   "css/CSS2/normal-flow/inline-table-height-002-ref.xht": [
+    [
+     {}
+    ]
+   ],
+   "css/CSS2/normal-flow/inline-table-valign-001-ref.xht": [
+    [
+     {}
+    ]
+   ],
+   "css/CSS2/normal-flow/inline-table-width-001-ref.xht": [
+    [
+     {}
+    ]
+   ],
+   "css/CSS2/normal-flow/inline-table-width-002-ref.xht": [
+    [
+     {}
+    ]
+   ],
+   "css/CSS2/normal-flow/inline-table-zorder-001-ref.xht": [
+    [
+     {}
+    ]
+   ],
+   "css/CSS2/normal-flow/inline-table-zorder-003-ref.xht": [
+    [
+     {}
+    ]
+   ],
+   "css/CSS2/normal-flow/inline-table-zorder-004-ref.xht": [
+    [
+     {}
+    ]
+   ],
+   "css/CSS2/normal-flow/inlines-002-ref.xht": [
+    [
+     {}
+    ]
+   ],
+   "css/CSS2/normal-flow/inlines-013-ref.xht": [
+    [
+     {}
+    ]
+   ],
+   "css/CSS2/normal-flow/inlines-016-ref.xht": [
+    [
+     {}
+    ]
+   ],
+   "css/CSS2/normal-flow/inlines-017-ref.xht": [
+    [
+     {}
+    ]
+   ],
+   "css/CSS2/normal-flow/inlines-020-ref.xht": [
+    [
+     {}
+    ]
+   ],
+   "css/CSS2/normal-flow/max-height-025-ref.xht": [
+    [
+     {}
+    ]
+   ],
+   "css/CSS2/normal-flow/max-height-036-ref.xht": [
+    [
+     {}
+    ]
+   ],
+   "css/CSS2/normal-flow/max-height-047-ref.xht": [
+    [
+     {}
+    ]
+   ],
+   "css/CSS2/normal-flow/max-height-058-ref.xht": [
+    [
+     {}
+    ]
+   ],
+   "css/CSS2/normal-flow/max-height-069-ref.xht": [
+    [
+     {}
+    ]
+   ],
+   "css/CSS2/normal-flow/max-height-107-ref.xht": [
+    [
+     {}
+    ]
+   ],
+   "css/CSS2/normal-flow/max-height-110-ref.xht": [
+    [
+     {}
+    ]
+   ],
+   "css/CSS2/normal-flow/max-height-percentage-001-ref.xht": [
+    [
+     {}
+    ]
+   ],
+   "css/CSS2/normal-flow/max-height-percentage-002-ref.xht": [
+    [
+     {}
+    ]
+   ],
+   "css/CSS2/normal-flow/max-width-003-ref.xht": [
+    [
+     {}
+    ]
+   ],
+   "css/CSS2/normal-flow/max-width-006-ref.xht": [
+    [
+     {}
+    ]
+   ],
+   "css/CSS2/normal-flow/max-width-025-ref.xht": [
+    [
+     {}
+    ]
+   ],
+   "css/CSS2/normal-flow/max-width-036-ref.xht": [
+    [
+     {}
+    ]
+   ],
+   "css/CSS2/normal-flow/max-width-047-ref.xht": [
+    [
+     {}
+    ]
+   ],
+   "css/CSS2/normal-flow/max-width-061-ref.xht": [
+    [
+     {}
+    ]
+   ],
+   "css/CSS2/normal-flow/max-width-069-ref.xht": [
+    [
+     {}
+    ]
+   ],
+   "css/CSS2/normal-flow/max-width-072-ref.xht": [
+    [
+     {}
+    ]
+   ],
+   "css/CSS2/normal-flow/max-width-105-ref.xht": [
+    [
+     {}
+    ]
+   ],
+   "css/CSS2/normal-flow/max-width-107-ref.xht": [
+    [
+     {}
+    ]
+   ],
+   "css/CSS2/normal-flow/max-width-percentage-001-ref.xht": [
+    [
+     {}
+    ]
+   ],
+   "css/CSS2/normal-flow/min-height-067-ref.xht": [
+    [
+     {}
+    ]
+   ],
+   "css/CSS2/normal-flow/min-height-111-ref.xht": [
+    [
+     {}
+    ]
+   ],
+   "css/CSS2/normal-flow/min-height-percentage-003-ref.xht": [
+    [
+     {}
+    ]
+   ],
+   "css/CSS2/normal-flow/replaced-intrinsic-001-ref.xht": [
+    [
+     {}
+    ]
+   ],
+   "css/CSS2/normal-flow/replaced-intrinsic-002-ref.xht": [
+    [
+     {}
+    ]
+   ],
+   "css/CSS2/normal-flow/replaced-intrinsic-003-ref.xht": [
+    [
+     {}
+    ]
+   ],
+   "css/CSS2/normal-flow/replaced-intrinsic-005-ref.xht": [
+    [
+     {}
+    ]
+   ],
+   "css/CSS2/normal-flow/root-box-001-ref.xht": [
+    [
+     {}
+    ]
+   ],
+   "css/CSS2/normal-flow/support/1x1-gray.png": [
+    [
+     {}
+    ]
+   ],
+   "css/CSS2/normal-flow/support/1x1-green.png": [
+    [
+     {}
+    ]
+   ],
+   "css/CSS2/normal-flow/support/1x1-red.png": [
+    [
+     {}
+    ]
+   ],
+   "css/CSS2/normal-flow/support/1x1-white.png": [
+    [
+     {}
+    ]
+   ],
+   "css/CSS2/normal-flow/support/60x60-green.png": [
+    [
+     {}
+    ]
+   ],
+   "css/CSS2/normal-flow/support/black96x96.png": [
+    [
+     {}
+    ]
+   ],
+   "css/CSS2/normal-flow/support/blue15x15.png": [
+    [
+     {}
+    ]
+   ],
+   "css/CSS2/normal-flow/support/blue96x96.png": [
+    [
+     {}
+    ]
+   ],
+   "css/CSS2/normal-flow/support/cat.png": [
+    [
+     {}
+    ]
+   ],
+   "css/CSS2/normal-flow/support/diamond.png": [
+    [
+     {}
+    ]
+   ],
+   "css/CSS2/normal-flow/support/green-rectangle-50wideBy10tall.png": [
+    [
+     {}
+    ]
+   ],
+   "css/CSS2/normal-flow/support/green15x15.png": [
+    [
+     {}
+    ]
+   ],
+   "css/CSS2/normal-flow/support/green200x200.png": [
+    [
+     {}
+    ]
+   ],
+   "css/CSS2/normal-flow/support/intrinsic-ratio.svg": [
+    [
+     {}
+    ]
+   ],
+   "css/CSS2/normal-flow/support/margin-collapse-2em-space.png": [
+    [
+     {}
+    ]
+   ],
+   "css/CSS2/normal-flow/support/pattern-grg-rgr-grg.png": [
+    [
+     {}
+    ]
+   ],
+   "css/CSS2/normal-flow/support/pattern-rgr-grg-rgr.png": [
+    [
+     {}
+    ]
+   ],
+   "css/CSS2/normal-flow/support/replaced-intrinsic-001.svg": [
+    [
+     {}
+    ]
+   ],
+   "css/CSS2/normal-flow/support/replaced-intrinsic-002.svg": [
+    [
+     {}
+    ]
+   ],
+   "css/CSS2/normal-flow/support/replaced-intrinsic-003.svg": [
+    [
+     {}
+    ]
+   ],
+   "css/CSS2/normal-flow/support/replaced-intrinsic-004.svg": [
+    [
+     {}
+    ]
+   ],
+   "css/CSS2/normal-flow/support/replaced-intrinsic-005.svg": [
+    [
+     {}
+    ]
+   ],
+   "css/CSS2/normal-flow/support/replaced-min-max-1.png": [
+    [
+     {}
+    ]
+   ],
+   "css/CSS2/normal-flow/support/replaced-min-max-10.png": [
+    [
+     {}
+    ]
+   ],
+   "css/CSS2/normal-flow/support/replaced-min-max-11.png": [
+    [
+     {}
+    ]
+   ],
+   "css/CSS2/normal-flow/support/replaced-min-max-12.png": [
+    [
+     {}
+    ]
+   ],
+   "css/CSS2/normal-flow/support/replaced-min-max-13.png": [
+    [
+     {}
+    ]
+   ],
+   "css/CSS2/normal-flow/support/replaced-min-max-14.png": [
+    [
+     {}
+    ]
+   ],
+   "css/CSS2/normal-flow/support/replaced-min-max-15.png": [
+    [
+     {}
+    ]
+   ],
+   "css/CSS2/normal-flow/support/replaced-min-max-16.png": [
+    [
+     {}
+    ]
+   ],
+   "css/CSS2/normal-flow/support/replaced-min-max-17.png": [
+    [
+     {}
+    ]
+   ],
+   "css/CSS2/normal-flow/support/replaced-min-max-18.png": [
+    [
+     {}
+    ]
+   ],
+   "css/CSS2/normal-flow/support/replaced-min-max-19.png": [
+    [
+     {}
+    ]
+   ],
+   "css/CSS2/normal-flow/support/replaced-min-max-2.png": [
+    [
+     {}
+    ]
+   ],
+   "css/CSS2/normal-flow/support/replaced-min-max-3.png": [
+    [
+     {}
+    ]
+   ],
+   "css/CSS2/normal-flow/support/replaced-min-max-4.png": [
+    [
+     {}
+    ]
+   ],
+   "css/CSS2/normal-flow/support/replaced-min-max-5.png": [
+    [
+     {}
+    ]
+   ],
+   "css/CSS2/normal-flow/support/replaced-min-max-6.png": [
+    [
+     {}
+    ]
+   ],
+   "css/CSS2/normal-flow/support/replaced-min-max-7.png": [
+    [
+     {}
+    ]
+   ],
+   "css/CSS2/normal-flow/support/replaced-min-max-8.png": [
+    [
+     {}
+    ]
+   ],
+   "css/CSS2/normal-flow/support/replaced-min-max-9.png": [
+    [
+     {}
+    ]
+   ],
+   "css/CSS2/normal-flow/support/replaced-min-max.png": [
+    [
+     {}
+    ]
+   ],
+   "css/CSS2/normal-flow/support/ring.png": [
+    [
+     {}
+    ]
+   ],
+   "css/CSS2/normal-flow/support/swatch-aqua.png": [
+    [
+     {}
+    ]
+   ],
+   "css/CSS2/normal-flow/support/swatch-blue.png": [
+    [
+     {}
+    ]
+   ],
+   "css/CSS2/normal-flow/support/swatch-green.png": [
+    [
+     {}
+    ]
+   ],
+   "css/CSS2/normal-flow/support/swatch-orange.png": [
+    [
+     {}
+    ]
+   ],
+   "css/CSS2/normal-flow/support/swatch-red.png": [
+    [
+     {}
+    ]
+   ],
+   "css/CSS2/normal-flow/support/swatch-teal.png": [
+    [
+     {}
+    ]
+   ],
+   "css/CSS2/normal-flow/support/test-bl.png": [
+    [
+     {}
+    ]
+   ],
+   "css/CSS2/normal-flow/support/test-br.png": [
+    [
+     {}
+    ]
+   ],
+   "css/CSS2/normal-flow/support/test-tl.png": [
+    [
+     {}
+    ]
+   ],
+   "css/CSS2/normal-flow/support/test-tr.png": [
+    [
+     {}
+    ]
+   ],
+   "css/CSS2/normal-flow/table-in-inline-001-ref.xht": [
+    [
+     {}
+    ]
+   ],
+   "css/CSS2/normal-flow/width-103-ref.xht": [
+    [
+     {}
+    ]
+   ],
+   "css/CSS2/normal-flow/width-non-replaced-inline-001-ref.xht": [
+    [
+     {}
+    ]
+   ],
+   "css/CSS2/positioning/absolute-non-replaced-height-002-ref.xht": [
+    [
+     {}
+    ]
+   ],
+   "css/CSS2/positioning/absolute-non-replaced-height-003-ref.xht": [
+    [
+     {}
+    ]
+   ],
+   "css/CSS2/positioning/absolute-non-replaced-height-006-ref.xht": [
+    [
+     {}
+    ]
+   ],
+   "css/CSS2/positioning/absolute-non-replaced-height-007-ref.xht": [
+    [
+     {}
+    ]
+   ],
+   "css/CSS2/positioning/absolute-non-replaced-height-008-ref.xht": [
+    [
+     {}
+    ]
+   ],
+   "css/CSS2/positioning/absolute-non-replaced-height-009-ref.xht": [
+    [
+     {}
+    ]
+   ],
+   "css/CSS2/positioning/absolute-non-replaced-max-height-002-ref.xht": [
+    [
+     {}
+    ]
+   ],
+   "css/CSS2/positioning/absolute-non-replaced-max-height-003-ref.xht": [
+    [
+     {}
+    ]
+   ],
+   "css/CSS2/positioning/absolute-non-replaced-max-height-007-ref.xht": [
+    [
+     {}
+    ]
+   ],
+   "css/CSS2/positioning/absolute-non-replaced-max-height-008-ref.xht": [
+    [
+     {}
+    ]
+   ],
+   "css/CSS2/positioning/absolute-non-replaced-max-height-009-ref.xht": [
+    [
+     {}
+    ]
+   ],
+   "css/CSS2/positioning/absolute-non-replaced-width-002-ref.xht": [
+    [
+     {}
+    ]
+   ],
+   "css/CSS2/positioning/absolute-non-replaced-width-003-ref.xht": [
+    [
+     {}
+    ]
+   ],
+   "css/CSS2/positioning/absolute-non-replaced-width-008-ref.xht": [
+    [
+     {}
+    ]
+   ],
+   "css/CSS2/positioning/absolute-non-replaced-width-015-ref.xht": [
+    [
+     {}
+    ]
+   ],
+   "css/CSS2/positioning/absolute-non-replaced-width-017-ref.xht": [
+    [
+     {}
+    ]
+   ],
+   "css/CSS2/positioning/absolute-non-replaced-width-021-ref.xht": [
+    [
+     {}
+    ]
+   ],
+   "css/CSS2/positioning/absolute-non-replaced-width-025-ref.xht": [
+    [
+     {}
+    ]
+   ],
+   "css/CSS2/positioning/absolute-non-replaced-width-026-ref.xht": [
+    [
+     {}
+    ]
+   ],
+   "css/CSS2/positioning/absolute-replaced-height-001-ref.xht": [
+    [
+     {}
+    ]
+   ],
+   "css/CSS2/positioning/absolute-replaced-height-002-ref.xht": [
+    [
+     {}
+    ]
+   ],
+   "css/CSS2/positioning/absolute-replaced-height-004-ref.xht": [
+    [
+     {}
+    ]
+   ],
+   "css/CSS2/positioning/absolute-replaced-height-005-ref.xht": [
+    [
+     {}
+    ]
+   ],
+   "css/CSS2/positioning/absolute-replaced-height-006-ref.xht": [
+    [
+     {}
+    ]
+   ],
+   "css/CSS2/positioning/absolute-replaced-height-007-ref.xht": [
+    [
+     {}
+    ]
+   ],
+   "css/CSS2/positioning/absolute-replaced-height-008-ref.xht": [
+    [
+     {}
+    ]
+   ],
+   "css/CSS2/positioning/absolute-replaced-height-010-ref.xht": [
+    [
+     {}
+    ]
+   ],
+   "css/CSS2/positioning/absolute-replaced-height-011-ref.xht": [
+    [
+     {}
+    ]
+   ],
+   "css/CSS2/positioning/absolute-replaced-height-012-ref.xht": [
+    [
+     {}
+    ]
+   ],
+   "css/CSS2/positioning/absolute-replaced-height-013-ref.xht": [
+    [
+     {}
+    ]
+   ],
+   "css/CSS2/positioning/absolute-replaced-height-014-ref.xht": [
+    [
+     {}
+    ]
+   ],
+   "css/CSS2/positioning/absolute-replaced-width-001-ref.xht": [
+    [
+     {}
+    ]
+   ],
+   "css/CSS2/positioning/absolute-replaced-width-002-ref.xht": [
+    [
+     {}
+    ]
+   ],
+   "css/CSS2/positioning/absolute-replaced-width-003-ref.xht": [
+    [
+     {}
+    ]
+   ],
+   "css/CSS2/positioning/absolute-replaced-width-003a-ref.xht": [
+    [
+     {}
+    ]
+   ],
+   "css/CSS2/positioning/absolute-replaced-width-003b-ref.xht": [
+    [
+     {}
+    ]
+   ],
+   "css/CSS2/positioning/absolute-replaced-width-003c-ref.xht": [
+    [
+     {}
+    ]
+   ],
+   "css/CSS2/positioning/absolute-replaced-width-004-ref.xht": [
+    [
+     {}
+    ]
+   ],
+   "css/CSS2/positioning/absolute-replaced-width-006-ref.xht": [
+    [
+     {}
+    ]
+   ],
+   "css/CSS2/positioning/absolute-replaced-width-015-ref.xht": [
+    [
+     {}
+    ]
+   ],
+   "css/CSS2/positioning/absolute-replaced-width-020-ref.xht": [
+    [
+     {}
+    ]
+   ],
+   "css/CSS2/positioning/absolute-replaced-width-022-ref.xht": [
+    [
+     {}
+    ]
+   ],
+   "css/CSS2/positioning/absolute-replaced-width-023-ref.xht": [
+    [
+     {}
+    ]
+   ],
+   "css/CSS2/positioning/absolute-replaced-width-024-ref.xht": [
+    [
+     {}
+    ]
+   ],
+   "css/CSS2/positioning/absolute-replaced-width-025-ref.xht": [
+    [
+     {}
+    ]
+   ],
+   "css/CSS2/positioning/absolute-replaced-width-027-ref.xht": [
+    [
+     {}
+    ]
+   ],
+   "css/CSS2/positioning/absolute-replaced-width-036-ref.xht": [
+    [
+     {}
+    ]
+   ],
+   "css/CSS2/positioning/absolute-replaced-width-037-ref.xht": [
+    [
+     {}
+    ]
+   ],
+   "css/CSS2/positioning/absolute-replaced-width-038-ref.xht": [
+    [
+     {}
+    ]
+   ],
+   "css/CSS2/positioning/absolute-replaced-width-039-ref.xht": [
+    [
+     {}
+    ]
+   ],
+   "css/CSS2/positioning/absolute-replaced-width-041-ref.xht": [
+    [
+     {}
+    ]
+   ],
+   "css/CSS2/positioning/abspos-001-ref.xht": [
+    [
+     {}
+    ]
+   ],
+   "css/CSS2/positioning/abspos-002-ref.xht": [
+    [
+     {}
+    ]
+   ],
+   "css/CSS2/positioning/abspos-007-ref.xht": [
+    [
+     {}
+    ]
+   ],
+   "css/CSS2/positioning/abspos-008-ref.xht": [
+    [
+     {}
+    ]
+   ],
+   "css/CSS2/positioning/abspos-009-ref.xht": [
+    [
+     {}
+    ]
+   ],
+   "css/CSS2/positioning/abspos-011-ref.xht": [
+    [
+     {}
+    ]
+   ],
+   "css/CSS2/positioning/abspos-013-ref.xht": [
+    [
+     {}
+    ]
+   ],
+   "css/CSS2/positioning/abspos-024-ref.xht": [
+    [
+     {}
+    ]
+   ],
+   "css/CSS2/positioning/abspos-025-ref.xht": [
+    [
+     {}
+    ]
+   ],
+   "css/CSS2/positioning/abspos-028-ref.xht": [
+    [
+     {}
+    ]
+   ],
+   "css/CSS2/positioning/abspos-containing-block-001-ref.xht": [
+    [
+     {}
+    ]
+   ],
+   "css/CSS2/positioning/abspos-containing-block-010-ref.xht": [
+    [
+     {}
+    ]
+   ],
+   "css/CSS2/positioning/abspos-overflow-001-ref.xht": [
+    [
+     {}
+    ]
+   ],
+   "css/CSS2/positioning/abspos-overflow-002-ref.xht": [
+    [
+     {}
+    ]
+   ],
+   "css/CSS2/positioning/abspos-overflow-003-ref.xht": [
+    [
+     {}
+    ]
+   ],
+   "css/CSS2/positioning/abspos-overflow-004-ref.xht": [
+    [
+     {}
+    ]
+   ],
+   "css/CSS2/positioning/abspos-overflow-005-ref.xht": [
+    [
+     {}
+    ]
+   ],
+   "css/CSS2/positioning/abspos-overflow-006-ref.xht": [
+    [
+     {}
+    ]
+   ],
+   "css/CSS2/positioning/abspos-overflow-010-ref.xht": [
+    [
+     {}
+    ]
+   ],
+   "css/CSS2/positioning/abspos-overflow-011-ref.xht": [
+    [
+     {}
+    ]
+   ],
+   "css/CSS2/positioning/abspos-width-005-ref.xht": [
+    [
+     {}
+    ]
+   ],
+   "css/CSS2/positioning/bottom-007-ref.xht": [
+    [
+     {}
+    ]
+   ],
+   "css/CSS2/positioning/bottom-019-ref.xht": [
+    [
+     {}
+    ]
+   ],
+   "css/CSS2/positioning/bottom-079-ref.xht": [
+    [
+     {}
+    ]
+   ],
+   "css/CSS2/positioning/bottom-113-ref.xht": [
+    [
+     {}
+    ]
+   ],
+   "css/CSS2/positioning/bottom-applies-to-001-ref.xht": [
+    [
+     {}
+    ]
+   ],
+   "css/CSS2/positioning/bottom-offset-001-ref.xht": [
+    [
+     {}
+    ]
+   ],
+   "css/CSS2/positioning/bottom-offset-percentage-001-ref.xht": [
+    [
+     {}
+    ]
+   ],
+   "css/CSS2/positioning/dynamic-top-change-001-ref.xht": [
+    [
+     {}
+    ]
+   ],
+   "css/CSS2/positioning/dynamic-top-change-002-ref.xht": [
+    [
+     {}
+    ]
+   ],
+   "css/CSS2/positioning/left-004-ref.xht": [
+    [
+     {}
+    ]
+   ],
+   "css/CSS2/positioning/left-007-ref.xht": [
+    [
+     {}
+    ]
+   ],
+   "css/CSS2/positioning/left-031-ref.xht": [
+    [
+     {}
+    ]
+   ],
+   "css/CSS2/positioning/left-079-ref.xht": [
+    [
+     {}
+    ]
+   ],
+   "css/CSS2/positioning/left-113-ref.xht": [
+    [
+     {}
+    ]
+   ],
+   "css/CSS2/positioning/left-applies-to-001-ref.xht": [
+    [
+     {}
+    ]
+   ],
+   "css/CSS2/positioning/left-offset-001-ref.xht": [
+    [
+     {}
+    ]
+   ],
+   "css/CSS2/positioning/left-offset-003-ref.xht": [
+    [
+     {}
+    ]
+   ],
+   "css/CSS2/positioning/left-offset-percentage-001-ref.xht": [
+    [
+     {}
+    ]
+   ],
+   "css/CSS2/positioning/left-offset-percentage-002-ref.xht": [
+    [
+     {}
+    ]
+   ],
+   "css/CSS2/positioning/position-006-ref.xht": [
+    [
+     {}
+    ]
+   ],
+   "css/CSS2/positioning/position-absolute-002-ref.xht": [
+    [
+     {}
+    ]
+   ],
+   "css/CSS2/positioning/position-absolute-004-ref.xht": [
+    [
+     {}
+    ]
+   ],
+   "css/CSS2/positioning/position-absolute-007-ref.xht": [
+    [
+     {}
+    ]
+   ],
+   "css/CSS2/positioning/position-fixed-007-ref.xht": [
+    [
+     {}
+    ]
+   ],
+   "css/CSS2/positioning/position-relative-001-ref.xht": [
+    [
+     {}
+    ]
+   ],
+   "css/CSS2/positioning/position-relative-003-ref.xht": [
+    [
+     {}
+    ]
+   ],
+   "css/CSS2/positioning/position-relative-004-ref.xht": [
+    [
+     {}
+    ]
+   ],
+   "css/CSS2/positioning/position-relative-005-ref.xht": [
+    [
+     {}
+    ]
+   ],
+   "css/CSS2/positioning/position-relative-014-ref.xht": [
+    [
+     {}
+    ]
+   ],
+   "css/CSS2/positioning/position-relative-016-ref.xht": [
+    [
+     {}
+    ]
+   ],
+   "css/CSS2/positioning/position-relative-018-ref.xht": [
+    [
+     {}
+    ]
+   ],
+   "css/CSS2/positioning/position-relative-027-ref.xht": [
+    [
+     {}
+    ]
+   ],
+   "css/CSS2/positioning/position-relative-028-ref.xht": [
+    [
+     {}
+    ]
+   ],
+   "css/CSS2/positioning/position-relative-030-ref.xht": [
+    [
+     {}
+    ]
+   ],
+   "css/CSS2/positioning/position-relative-031-ref.xht": [
+    [
+     {}
+    ]
+   ],
+   "css/CSS2/positioning/position-relative-032-ref.xht": [
+    [
+     {}
+    ]
+   ],
+   "css/CSS2/positioning/position-relative-033-ref.xht": [
+    [
+     {}
+    ]
+   ],
+   "css/CSS2/positioning/position-relative-035-ref.xht": [
+    [
+     {}
+    ]
+   ],
+   "css/CSS2/positioning/position-relative-037-ref.xht": [
+    [
+     {}
+    ]
+   ],
+   "css/CSS2/positioning/position-relative-038-ref.xht": [
+    [
+     {}
+    ]
+   ],
+   "css/CSS2/positioning/position-relative-nested-001-ref.xht": [
+    [
+     {}
+    ]
+   ],
+   "css/CSS2/positioning/position-static-001-ref.xht": [
+    [
+     {}
+    ]
+   ],
+   "css/CSS2/positioning/positioning-float-001-ref.xht": [
+    [
+     {}
+    ]
+   ],
+   "css/CSS2/positioning/positioning-float-002-ref.xht": [
+    [
+     {}
+    ]
+   ],
+   "css/CSS2/positioning/relpos-calcs-001-ref.xht": [
+    [
+     {}
+    ]
+   ],
+   "css/CSS2/positioning/right-004-ref.xht": [
+    [
+     {}
+    ]
+   ],
+   "css/CSS2/positioning/right-007-ref.xht": [
+    [
+     {}
+    ]
+   ],
+   "css/CSS2/positioning/right-019-ref.xht": [
+    [
+     {}
+    ]
+   ],
+   "css/CSS2/positioning/right-031-ref.xht": [
+    [
+     {}
+    ]
+   ],
+   "css/CSS2/positioning/right-079-ref.xht": [
+    [
+     {}
+    ]
+   ],
+   "css/CSS2/positioning/right-100-ref.xht": [
+    [
+     {}
+    ]
+   ],
+   "css/CSS2/positioning/right-103-ref.xht": [
+    [
+     {}
+    ]
+   ],
+   "css/CSS2/positioning/right-applies-to-001-ref.xht": [
+    [
+     {}
+    ]
+   ],
+   "css/CSS2/positioning/right-offset-001-ref.xht": [
+    [
+     {}
+    ]
+   ],
+   "css/CSS2/positioning/right-offset-percentage-001-ref.xht": [
+    [
+     {}
+    ]
+   ],
+   "css/CSS2/positioning/support/100x100-lime.png": [
+    [
+     {}
+    ]
+   ],
+   "css/CSS2/positioning/support/100x100-red.png": [
+    [
+     {}
+    ]
+   ],
+   "css/CSS2/positioning/support/1x1-green.png": [
+    [
+     {}
+    ]
+   ],
+   "css/CSS2/positioning/support/1x1-lime.png": [
+    [
+     {}
+    ]
+   ],
+   "css/CSS2/positioning/support/1x1-maroon.png": [
+    [
+     {}
+    ]
+   ],
+   "css/CSS2/positioning/support/1x1-navy.png": [
+    [
+     {}
+    ]
+   ],
+   "css/CSS2/positioning/support/1x1-red.png": [
+    [
+     {}
+    ]
+   ],
+   "css/CSS2/positioning/support/1x1-white.png": [
+    [
+     {}
+    ]
+   ],
+   "css/CSS2/positioning/support/60x60-gg-rr.png": [
+    [
+     {}
+    ]
+   ],
+   "css/CSS2/positioning/support/60x60-green.png": [
+    [
+     {}
+    ]
+   ],
+   "css/CSS2/positioning/support/60x60-red.png": [
+    [
+     {}
+    ]
+   ],
+   "css/CSS2/positioning/support/a-green.css": [
+    [
+     {}
+    ]
+   ],
+   "css/CSS2/positioning/support/b-green.css": [
+    [
+     {}
+    ]
+   ],
+   "css/CSS2/positioning/support/black15x15.png": [
+    [
+     {}
+    ]
+   ],
+   "css/CSS2/positioning/support/blue15x15.png": [
+    [
+     {}
+    ]
+   ],
+   "css/CSS2/positioning/support/blue96x96.png": [
+    [
+     {}
+    ]
+   ],
+   "css/CSS2/positioning/support/c-red.css": [
+    [
+     {}
+    ]
+   ],
+   "css/CSS2/positioning/support/cat.png": [
+    [
+     {}
+    ]
+   ],
+   "css/CSS2/positioning/support/diamond.png": [
+    [
+     {}
+    ]
+   ],
+   "css/CSS2/positioning/support/green-rectangle-50wideBy10tall.png": [
+    [
+     {}
+    ]
+   ],
+   "css/CSS2/positioning/support/green15x15.png": [
+    [
+     {}
+    ]
+   ],
+   "css/CSS2/positioning/support/green_box.png": [
+    [
+     {}
+    ]
+   ],
+   "css/CSS2/positioning/support/pattern-grg-rrg-rgg.png": [
+    [
+     {}
+    ]
+   ],
+   "css/CSS2/positioning/support/pattern-tr.png": [
+    [
+     {}
+    ]
+   ],
+   "css/CSS2/positioning/support/red_box.png": [
+    [
+     {}
+    ]
+   ],
+   "css/CSS2/positioning/support/ring.png": [
+    [
+     {}
+    ]
+   ],
+   "css/CSS2/positioning/support/square-purple.png": [
+    [
+     {}
+    ]
+   ],
+   "css/CSS2/positioning/support/square-teal.png": [
+    [
+     {}
+    ]
+   ],
+   "css/CSS2/positioning/support/square-white.png": [
+    [
+     {}
+    ]
+   ],
+   "css/CSS2/positioning/support/swatch-blue.png": [
+    [
+     {}
+    ]
+   ],
+   "css/CSS2/positioning/support/swatch-green.png": [
+    [
+     {}
+    ]
+   ],
+   "css/CSS2/positioning/support/swatch-lime.png": [
+    [
+     {}
+    ]
+   ],
+   "css/CSS2/positioning/support/swatch-orange.png": [
+    [
+     {}
+    ]
+   ],
+   "css/CSS2/positioning/support/swatch-red.png": [
+    [
+     {}
+    ]
+   ],
+   "css/CSS2/positioning/support/swatch-white.png": [
+    [
+     {}
+    ]
+   ],
+   "css/CSS2/positioning/support/swatch-yellow.png": [
+    [
+     {}
+    ]
+   ],
+   "css/CSS2/positioning/support/test-bl.png": [
+    [
+     {}
+    ]
+   ],
+   "css/CSS2/positioning/support/test-br.png": [
+    [
+     {}
+    ]
+   ],
+   "css/CSS2/positioning/support/test-outer.png": [
+    [
+     {}
+    ]
+   ],
+   "css/CSS2/positioning/support/test-tl.png": [
+    [
+     {}
+    ]
+   ],
+   "css/CSS2/positioning/support/test-tr.png": [
+    [
+     {}
+    ]
+   ],
+   "css/CSS2/positioning/top-007-ref.xht": [
+    [
+     {}
+    ]
+   ],
+   "css/CSS2/positioning/top-019-ref.xht": [
+    [
+     {}
+    ]
+   ],
+   "css/CSS2/positioning/top-079-ref.xht": [
+    [
+     {}
+    ]
+   ],
+   "css/CSS2/positioning/top-113-ref.xht": [
+    [
+     {}
+    ]
+   ],
+   "css/CSS2/positioning/top-applies-to-001-ref.xht": [
+    [
+     {}
+    ]
+   ],
+   "css/CSS2/positioning/top-offset-003-ref.xht": [
+    [
+     {}
+    ]
+   ],
+   "css/CSS2/positioning/top-offset-percentage-001-ref.xht": [
+    [
+     {}
+    ]
+   ],
    "css/CSS2/reference/60x60-green.html": [
     [
      {}
@@ -51660,11 +71605,6 @@
      {}
     ]
    ],
-   "cssom/css-style-attribute-modifications-expected.txt": [
-    [
-     {}
-    ]
-   ],
    "cssom/cssom-fontfacerule-expected.txt": [
     [
      {}
@@ -53035,11 +72975,6 @@
      {}
     ]
    ],
-   "editing/run/bold-expected.txt": [
-    [
-     {}
-    ]
-   ],
    "editing/run/createlink-expected.txt": [
     [
      {}
@@ -53125,26 +73060,11 @@
      {}
     ]
    ],
-   "editing/run/justifycenter-expected.txt": [
-    [
-     {}
-    ]
-   ],
-   "editing/run/justifyfull-expected.txt": [
-    [
-     {}
-    ]
-   ],
    "editing/run/justifyleft-expected.txt": [
     [
      {}
     ]
    ],
-   "editing/run/justifyright-expected.txt": [
-    [
-     {}
-    ]
-   ],
    "editing/run/misc-expected.txt": [
     [
      {}
@@ -62030,6 +81950,26 @@
      {}
     ]
    ],
+   "html/rendering/non-replaced-elements/the-page/iframe-body-margin-attributes-expected.txt": [
+    [
+     {}
+    ]
+   ],
+   "html/rendering/non-replaced-elements/the-page/iframe-marginwidth-marginheight-expected.txt": [
+    [
+     {}
+    ]
+   ],
+   "html/rendering/non-replaced-elements/the-page/support/body-marginwidth-marginheight.html": [
+    [
+     {}
+    ]
+   ],
+   "html/rendering/non-replaced-elements/the-page/support/body-topmargin-leftmargin.html": [
+    [
+     {}
+    ]
+   ],
    "html/rendering/non-replaced-elements/the-page/test-body.xhtml": [
     [
      {}
@@ -63105,6 +83045,11 @@
      {}
     ]
    ],
+   "html/semantics/forms/textfieldselection/selection-after-content-change-expected.txt": [
+    [
+     {}
+    ]
+   ],
    "html/semantics/forms/the-button-element/.gitkeep": [
     [
      {}
@@ -71115,6 +91060,11 @@
      {}
     ]
    ],
+   "streams/readable-streams/floating-point-total-queue-size.sharedworker-expected.txt": [
+    [
+     {}
+    ]
+   ],
    "streams/readable-streams/garbage-collection.js": [
     [
      {}
@@ -71195,6 +91145,11 @@
      {}
     ]
    ],
+   "streams/writable-streams/aborting.sharedworker-expected.txt": [
+    [
+     {}
+    ]
+   ],
    "streams/writable-streams/bad-strategies.js": [
     [
      {}
@@ -71235,6 +91190,11 @@
      {}
     ]
    ],
+   "streams/writable-streams/close.sharedworker-expected.txt": [
+    [
+     {}
+    ]
+   ],
    "streams/writable-streams/constructor-expected.txt": [
     [
      {}
@@ -71255,6 +91215,11 @@
      {}
     ]
    ],
+   "streams/writable-streams/constructor.sharedworker-expected.txt": [
+    [
+     {}
+    ]
+   ],
    "streams/writable-streams/count-queuing-strategy.js": [
     [
      {}
@@ -71280,6 +91245,11 @@
      {}
     ]
    ],
+   "streams/writable-streams/error.sharedworker-expected.txt": [
+    [
+     {}
+    ]
+   ],
    "streams/writable-streams/floating-point-total-queue-size.js": [
     [
      {}
@@ -71310,6 +91280,11 @@
      {}
     ]
    ],
+   "streams/writable-streams/properties.sharedworker-expected.txt": [
+    [
+     {}
+    ]
+   ],
    "streams/writable-streams/reentrant-strategy.js": [
     [
      {}
@@ -89717,6 +109692,18 @@
      {}
     ]
    ],
+   "html/rendering/non-replaced-elements/the-page/iframe-body-margin-attributes.html": [
+    [
+     "/html/rendering/non-replaced-elements/the-page/iframe-body-margin-attributes.html",
+     {}
+    ]
+   ],
+   "html/rendering/non-replaced-elements/the-page/iframe-marginwidth-marginheight.html": [
+    [
+     "/html/rendering/non-replaced-elements/the-page/iframe-marginwidth-marginheight.html",
+     {}
+    ]
+   ],
    "html/rendering/replaced-elements/svg-embedded-sizing/svg-in-img-auto.html": [
     [
      "/html/rendering/replaced-elements/svg-embedded-sizing/svg-in-img-auto.html",
@@ -110607,6 +130594,132 @@
    ]
   },
   "visual": {
+   "css/CSS2/floats-clear/clear-applies-to-010.xht": [
+    [
+     "/css/CSS2/floats-clear/clear-applies-to-010.xht",
+     {}
+    ]
+   ],
+   "css/CSS2/floats-clear/float-001.xht": [
+    [
+     "/css/CSS2/floats-clear/float-001.xht",
+     {}
+    ]
+   ],
+   "css/CSS2/floats-clear/float-002.xht": [
+    [
+     "/css/CSS2/floats-clear/float-002.xht",
+     {}
+    ]
+   ],
+   "css/CSS2/floats-clear/float-004.xht": [
+    [
+     "/css/CSS2/floats-clear/float-004.xht",
+     {}
+    ]
+   ],
+   "css/CSS2/floats-clear/float-applies-to-010.xht": [
+    [
+     "/css/CSS2/floats-clear/float-applies-to-010.xht",
+     {}
+    ]
+   ],
+   "css/CSS2/floats-clear/float-non-replaced-width-006.xht": [
+    [
+     "/css/CSS2/floats-clear/float-non-replaced-width-006.xht",
+     {}
+    ]
+   ],
+   "css/CSS2/floats-clear/float-non-replaced-width-013.xht": [
+    [
+     "/css/CSS2/floats-clear/float-non-replaced-width-013.xht",
+     {}
+    ]
+   ],
+   "css/CSS2/floats-clear/floats-016.xht": [
+    [
+     "/css/CSS2/floats-clear/floats-016.xht",
+     {}
+    ]
+   ],
+   "css/CSS2/floats-clear/floats-020.xht": [
+    [
+     "/css/CSS2/floats-clear/floats-020.xht",
+     {}
+    ]
+   ],
+   "css/CSS2/floats-clear/floats-021.xht": [
+    [
+     "/css/CSS2/floats-clear/floats-021.xht",
+     {}
+    ]
+   ],
+   "css/CSS2/floats-clear/floats-037.xht": [
+    [
+     "/css/CSS2/floats-clear/floats-037.xht",
+     {}
+    ]
+   ],
+   "css/CSS2/floats-clear/floats-102.xht": [
+    [
+     "/css/CSS2/floats-clear/floats-102.xht",
+     {}
+    ]
+   ],
+   "css/CSS2/floats-clear/floats-103.xht": [
+    [
+     "/css/CSS2/floats-clear/floats-103.xht",
+     {}
+    ]
+   ],
+   "css/CSS2/floats-clear/floats-104.xht": [
+    [
+     "/css/CSS2/floats-clear/floats-104.xht",
+     {}
+    ]
+   ],
+   "css/CSS2/floats-clear/floats-105.xht": [
+    [
+     "/css/CSS2/floats-clear/floats-105.xht",
+     {}
+    ]
+   ],
+   "css/CSS2/floats-clear/floats-106.xht": [
+    [
+     "/css/CSS2/floats-clear/floats-106.xht",
+     {}
+    ]
+   ],
+   "css/CSS2/floats-clear/floats-140.xht": [
+    [
+     "/css/CSS2/floats-clear/floats-140.xht",
+     {}
+    ]
+   ],
+   "css/CSS2/floats-clear/floats-151.xht": [
+    [
+     "/css/CSS2/floats-clear/floats-151.xht",
+     {}
+    ]
+   ],
+   "css/CSS2/floats-clear/margin-collapse-164.xht": [
+    [
+     "/css/CSS2/floats-clear/margin-collapse-164.xht",
+     {}
+    ]
+   ],
+   "css/CSS2/floats-clear/margin-collapse-clear-005.xht": [
+    [
+     "/css/CSS2/floats-clear/margin-collapse-clear-005.xht",
+     {}
+    ]
+   ],
+   "css/CSS2/floats-clear/margin-collapse-clear-011.xht": [
+    [
+     "/css/CSS2/floats-clear/margin-collapse-clear-011.xht",
+     {}
+    ]
+   ],
    "css/CSS2/linebox/inline-formatting-context-010.xht": [
     [
      "/css/CSS2/linebox/inline-formatting-context-010.xht",
@@ -110907,6 +131020,666 @@
      {}
     ]
    ],
+   "css/CSS2/normal-flow/block-formatting-contexts-013.xht": [
+    [
+     "/css/CSS2/normal-flow/block-formatting-contexts-013.xht",
+     {}
+    ]
+   ],
+   "css/CSS2/normal-flow/block-formatting-contexts-014.xht": [
+    [
+     "/css/CSS2/normal-flow/block-formatting-contexts-014.xht",
+     {}
+    ]
+   ],
+   "css/CSS2/normal-flow/block-non-replaced-height-002.xht": [
+    [
+     "/css/CSS2/normal-flow/block-non-replaced-height-002.xht",
+     {}
+    ]
+   ],
+   "css/CSS2/normal-flow/block-non-replaced-height-003.xht": [
+    [
+     "/css/CSS2/normal-flow/block-non-replaced-height-003.xht",
+     {}
+    ]
+   ],
+   "css/CSS2/normal-flow/block-non-replaced-height-004.xht": [
+    [
+     "/css/CSS2/normal-flow/block-non-replaced-height-004.xht",
+     {}
+    ]
+   ],
+   "css/CSS2/normal-flow/block-non-replaced-height-006.xht": [
+    [
+     "/css/CSS2/normal-flow/block-non-replaced-height-006.xht",
+     {}
+    ]
+   ],
+   "css/CSS2/normal-flow/block-non-replaced-height-007.xht": [
+    [
+     "/css/CSS2/normal-flow/block-non-replaced-height-007.xht",
+     {}
+    ]
+   ],
+   "css/CSS2/normal-flow/block-non-replaced-height-008.xht": [
+    [
+     "/css/CSS2/normal-flow/block-non-replaced-height-008.xht",
+     {}
+    ]
+   ],
+   "css/CSS2/normal-flow/block-non-replaced-height-009.xht": [
+    [
+     "/css/CSS2/normal-flow/block-non-replaced-height-009.xht",
+     {}
+    ]
+   ],
+   "css/CSS2/normal-flow/block-non-replaced-height-010.xht": [
+    [
+     "/css/CSS2/normal-flow/block-non-replaced-height-010.xht",
+     {}
+    ]
+   ],
+   "css/CSS2/normal-flow/block-non-replaced-height-012.xht": [
+    [
+     "/css/CSS2/normal-flow/block-non-replaced-height-012.xht",
+     {}
+    ]
+   ],
+   "css/CSS2/normal-flow/block-non-replaced-height-014.xht": [
+    [
+     "/css/CSS2/normal-flow/block-non-replaced-height-014.xht",
+     {}
+    ]
+   ],
+   "css/CSS2/normal-flow/block-non-replaced-height-015.xht": [
+    [
+     "/css/CSS2/normal-flow/block-non-replaced-height-015.xht",
+     {}
+    ]
+   ],
+   "css/CSS2/normal-flow/block-non-replaced-height-016.xht": [
+    [
+     "/css/CSS2/normal-flow/block-non-replaced-height-016.xht",
+     {}
+    ]
+   ],
+   "css/CSS2/normal-flow/block-non-replaced-width-002.xht": [
+    [
+     "/css/CSS2/normal-flow/block-non-replaced-width-002.xht",
+     {}
+    ]
+   ],
+   "css/CSS2/normal-flow/block-non-replaced-width-008.xht": [
+    [
+     "/css/CSS2/normal-flow/block-non-replaced-width-008.xht",
+     {}
+    ]
+   ],
+   "css/CSS2/normal-flow/block-replaced-height-003.xht": [
+    [
+     "/css/CSS2/normal-flow/block-replaced-height-003.xht",
+     {}
+    ]
+   ],
+   "css/CSS2/normal-flow/block-replaced-width-001.xht": [
+    [
+     "/css/CSS2/normal-flow/block-replaced-width-001.xht",
+     {}
+    ]
+   ],
+   "css/CSS2/normal-flow/block-replaced-width-003.xht": [
+    [
+     "/css/CSS2/normal-flow/block-replaced-width-003.xht",
+     {}
+    ]
+   ],
+   "css/CSS2/normal-flow/block-replaced-width-004.xht": [
+    [
+     "/css/CSS2/normal-flow/block-replaced-width-004.xht",
+     {}
+    ]
+   ],
+   "css/CSS2/normal-flow/blocks-027.xht": [
+    [
+     "/css/CSS2/normal-flow/blocks-027.xht",
+     {}
+    ]
+   ],
+   "css/CSS2/normal-flow/blocks-028.xht": [
+    [
+     "/css/CSS2/normal-flow/blocks-028.xht",
+     {}
+    ]
+   ],
+   "css/CSS2/normal-flow/height-014.xht": [
+    [
+     "/css/CSS2/normal-flow/height-014.xht",
+     {}
+    ]
+   ],
+   "css/CSS2/normal-flow/height-036.xht": [
+    [
+     "/css/CSS2/normal-flow/height-036.xht",
+     {}
+    ]
+   ],
+   "css/CSS2/normal-flow/height-047.xht": [
+    [
+     "/css/CSS2/normal-flow/height-047.xht",
+     {}
+    ]
+   ],
+   "css/CSS2/normal-flow/height-applies-to-001.xht": [
+    [
+     "/css/CSS2/normal-flow/height-applies-to-001.xht",
+     {}
+    ]
+   ],
+   "css/CSS2/normal-flow/height-applies-to-002.xht": [
+    [
+     "/css/CSS2/normal-flow/height-applies-to-002.xht",
+     {}
+    ]
+   ],
+   "css/CSS2/normal-flow/height-applies-to-003.xht": [
+    [
+     "/css/CSS2/normal-flow/height-applies-to-003.xht",
+     {}
+    ]
+   ],
+   "css/CSS2/normal-flow/height-applies-to-010.xht": [
+    [
+     "/css/CSS2/normal-flow/height-applies-to-010.xht",
+     {}
+    ]
+   ],
+   "css/CSS2/normal-flow/inline-block-001.xht": [
+    [
+     "/css/CSS2/normal-flow/inline-block-001.xht",
+     {}
+    ]
+   ],
+   "css/CSS2/normal-flow/inline-block-non-replaced-width-005.xht": [
+    [
+     "/css/CSS2/normal-flow/inline-block-non-replaced-width-005.xht",
+     {}
+    ]
+   ],
+   "css/CSS2/normal-flow/inline-block-replaced-width-004.xht": [
+    [
+     "/css/CSS2/normal-flow/inline-block-replaced-width-004.xht",
+     {}
+    ]
+   ],
+   "css/CSS2/normal-flow/inline-replaced-width-004.xht": [
+    [
+     "/css/CSS2/normal-flow/inline-replaced-width-004.xht",
+     {}
+    ]
+   ],
+   "css/CSS2/normal-flow/inlines-001.xht": [
+    [
+     "/css/CSS2/normal-flow/inlines-001.xht",
+     {}
+    ]
+   ],
+   "css/CSS2/normal-flow/inlines-007.xht": [
+    [
+     "/css/CSS2/normal-flow/inlines-007.xht",
+     {}
+    ]
+   ],
+   "css/CSS2/normal-flow/inlines-009.xht": [
+    [
+     "/css/CSS2/normal-flow/inlines-009.xht",
+     {}
+    ]
+   ],
+   "css/CSS2/normal-flow/inlines-010.xht": [
+    [
+     "/css/CSS2/normal-flow/inlines-010.xht",
+     {}
+    ]
+   ],
+   "css/CSS2/normal-flow/inlines-011.xht": [
+    [
+     "/css/CSS2/normal-flow/inlines-011.xht",
+     {}
+    ]
+   ],
+   "css/CSS2/normal-flow/inlines-012.xht": [
+    [
+     "/css/CSS2/normal-flow/inlines-012.xht",
+     {}
+    ]
+   ],
+   "css/CSS2/normal-flow/inlines-014.xht": [
+    [
+     "/css/CSS2/normal-flow/inlines-014.xht",
+     {}
+    ]
+   ],
+   "css/CSS2/normal-flow/inlines-015.xht": [
+    [
+     "/css/CSS2/normal-flow/inlines-015.xht",
+     {}
+    ]
+   ],
+   "css/CSS2/normal-flow/max-height-014.xht": [
+    [
+     "/css/CSS2/normal-flow/max-height-014.xht",
+     {}
+    ]
+   ],
+   "css/CSS2/normal-flow/max-height-105.xht": [
+    [
+     "/css/CSS2/normal-flow/max-height-105.xht",
+     {}
+    ]
+   ],
+   "css/CSS2/normal-flow/max-height-106.xht": [
+    [
+     "/css/CSS2/normal-flow/max-height-106.xht",
+     {}
+    ]
+   ],
+   "css/CSS2/normal-flow/max-height-108.xht": [
+    [
+     "/css/CSS2/normal-flow/max-height-108.xht",
+     {}
+    ]
+   ],
+   "css/CSS2/normal-flow/max-height-109.xht": [
+    [
+     "/css/CSS2/normal-flow/max-height-109.xht",
+     {}
+    ]
+   ],
+   "css/CSS2/normal-flow/max-height-111.xht": [
+    [
+     "/css/CSS2/normal-flow/max-height-111.xht",
+     {}
+    ]
+   ],
+   "css/CSS2/normal-flow/max-height-applies-to-001.xht": [
+    [
+     "/css/CSS2/normal-flow/max-height-applies-to-001.xht",
+     {}
+    ]
+   ],
+   "css/CSS2/normal-flow/max-height-applies-to-002.xht": [
+    [
+     "/css/CSS2/normal-flow/max-height-applies-to-002.xht",
+     {}
+    ]
+   ],
+   "css/CSS2/normal-flow/max-height-applies-to-003.xht": [
+    [
+     "/css/CSS2/normal-flow/max-height-applies-to-003.xht",
+     {}
+    ]
+   ],
+   "css/CSS2/normal-flow/max-height-applies-to-004.xht": [
+    [
+     "/css/CSS2/normal-flow/max-height-applies-to-004.xht",
+     {}
+    ]
+   ],
+   "css/CSS2/normal-flow/max-height-applies-to-007.xht": [
+    [
+     "/css/CSS2/normal-flow/max-height-applies-to-007.xht",
+     {}
+    ]
+   ],
+   "css/CSS2/normal-flow/max-height-applies-to-010.xht": [
+    [
+     "/css/CSS2/normal-flow/max-height-applies-to-010.xht",
+     {}
+    ]
+   ],
+   "css/CSS2/normal-flow/max-height-max-width-001.xht": [
+    [
+     "/css/CSS2/normal-flow/max-height-max-width-001.xht",
+     {}
+    ]
+   ],
+   "css/CSS2/normal-flow/max-width-014.xht": [
+    [
+     "/css/CSS2/normal-flow/max-width-014.xht",
+     {}
+    ]
+   ],
+   "css/CSS2/normal-flow/max-width-108.xht": [
+    [
+     "/css/CSS2/normal-flow/max-width-108.xht",
+     {}
+    ]
+   ],
+   "css/CSS2/normal-flow/max-width-applies-to-010.xht": [
+    [
+     "/css/CSS2/normal-flow/max-width-applies-to-010.xht",
+     {}
+    ]
+   ],
+   "css/CSS2/normal-flow/max-width-percentage-003.xht": [
+    [
+     "/css/CSS2/normal-flow/max-width-percentage-003.xht",
+     {}
+    ]
+   ],
+   "css/CSS2/normal-flow/min-height-014.xht": [
+    [
+     "/css/CSS2/normal-flow/min-height-014.xht",
+     {}
+    ]
+   ],
+   "css/CSS2/normal-flow/min-height-113.xht": [
+    [
+     "/css/CSS2/normal-flow/min-height-113.xht",
+     {}
+    ]
+   ],
+   "css/CSS2/normal-flow/min-height-applies-to-001.xht": [
+    [
+     "/css/CSS2/normal-flow/min-height-applies-to-001.xht",
+     {}
+    ]
+   ],
+   "css/CSS2/normal-flow/min-height-applies-to-002.xht": [
+    [
+     "/css/CSS2/normal-flow/min-height-applies-to-002.xht",
+     {}
+    ]
+   ],
+   "css/CSS2/normal-flow/min-height-applies-to-003.xht": [
+    [
+     "/css/CSS2/normal-flow/min-height-applies-to-003.xht",
+     {}
+    ]
+   ],
+   "css/CSS2/normal-flow/min-height-applies-to-004.xht": [
+    [
+     "/css/CSS2/normal-flow/min-height-applies-to-004.xht",
+     {}
+    ]
+   ],
+   "css/CSS2/normal-flow/min-height-applies-to-007.xht": [
+    [
+     "/css/CSS2/normal-flow/min-height-applies-to-007.xht",
+     {}
+    ]
+   ],
+   "css/CSS2/normal-flow/min-height-applies-to-010.xht": [
+    [
+     "/css/CSS2/normal-flow/min-height-applies-to-010.xht",
+     {}
+    ]
+   ],
+   "css/CSS2/normal-flow/min-height-applies-to-013.xht": [
+    [
+     "/css/CSS2/normal-flow/min-height-applies-to-013.xht",
+     {}
+    ]
+   ],
+   "css/CSS2/normal-flow/min-height-applies-to-014.xht": [
+    [
+     "/css/CSS2/normal-flow/min-height-applies-to-014.xht",
+     {}
+    ]
+   ],
+   "css/CSS2/normal-flow/min-width-014.xht": [
+    [
+     "/css/CSS2/normal-flow/min-width-014.xht",
+     {}
+    ]
+   ],
+   "css/CSS2/normal-flow/min-width-applies-to-010.xht": [
+    [
+     "/css/CSS2/normal-flow/min-width-applies-to-010.xht",
+     {}
+    ]
+   ],
+   "css/CSS2/normal-flow/min-width-percentage-003.xht": [
+    [
+     "/css/CSS2/normal-flow/min-width-percentage-003.xht",
+     {}
+    ]
+   ],
+   "css/CSS2/normal-flow/replaced-elements-001.xht": [
+    [
+     "/css/CSS2/normal-flow/replaced-elements-001.xht",
+     {}
+    ]
+   ],
+   "css/CSS2/normal-flow/replaced-intrinsic-ratio-001.xht": [
+    [
+     "/css/CSS2/normal-flow/replaced-intrinsic-ratio-001.xht",
+     {}
+    ]
+   ],
+   "css/CSS2/normal-flow/replaced-min-max-001.xht": [
+    [
+     "/css/CSS2/normal-flow/replaced-min-max-001.xht",
+     {}
+    ]
+   ],
+   "css/CSS2/normal-flow/width-014.xht": [
+    [
+     "/css/CSS2/normal-flow/width-014.xht",
+     {}
+    ]
+   ],
+   "css/CSS2/normal-flow/width-applies-to-010.xht": [
+    [
+     "/css/CSS2/normal-flow/width-applies-to-010.xht",
+     {}
+    ]
+   ],
+   "css/CSS2/normal-flow/width-replaced-element-001.xht": [
+    [
+     "/css/CSS2/normal-flow/width-replaced-element-001.xht",
+     {}
+    ]
+   ],
+   "css/CSS2/normal-flow/width-undefined-001.xht": [
+    [
+     "/css/CSS2/normal-flow/width-undefined-001.xht",
+     {}
+    ]
+   ],
+   "css/CSS2/positioning/absolute-non-replaced-height-001.xht": [
+    [
+     "/css/CSS2/positioning/absolute-non-replaced-height-001.xht",
+     {}
+    ]
+   ],
+   "css/CSS2/positioning/absolute-non-replaced-max-height-001.xht": [
+    [
+     "/css/CSS2/positioning/absolute-non-replaced-max-height-001.xht",
+     {}
+    ]
+   ],
+   "css/CSS2/positioning/absolute-non-replaced-width-009.xht": [
+    [
+     "/css/CSS2/positioning/absolute-non-replaced-width-009.xht",
+     {}
+    ]
+   ],
+   "css/CSS2/positioning/absolute-non-replaced-width-028.xht": [
+    [
+     "/css/CSS2/positioning/absolute-non-replaced-width-028.xht",
+     {}
+    ]
+   ],
+   "css/CSS2/positioning/abspos-003.xht": [
+    [
+     "/css/CSS2/positioning/abspos-003.xht",
+     {}
+    ]
+   ],
+   "css/CSS2/positioning/abspos-004.xht": [
+    [
+     "/css/CSS2/positioning/abspos-004.xht",
+     {}
+    ]
+   ],
+   "css/CSS2/positioning/abspos-006.xht": [
+    [
+     "/css/CSS2/positioning/abspos-006.xht",
+     {}
+    ]
+   ],
+   "css/CSS2/positioning/abspos-010.xht": [
+    [
+     "/css/CSS2/positioning/abspos-010.xht",
+     {}
+    ]
+   ],
+   "css/CSS2/positioning/abspos-023.xht": [
+    [
+     "/css/CSS2/positioning/abspos-023.xht",
+     {}
+    ]
+   ],
+   "css/CSS2/positioning/abspos-zero-width-001.xht": [
+    [
+     "/css/CSS2/positioning/abspos-zero-width-001.xht",
+     {}
+    ]
+   ],
+   "css/CSS2/positioning/bottom-applies-to-008.xht": [
+    [
+     "/css/CSS2/positioning/bottom-applies-to-008.xht",
+     {}
+    ]
+   ],
+   "css/CSS2/positioning/bottom-applies-to-010.xht": [
+    [
+     "/css/CSS2/positioning/bottom-applies-to-010.xht",
+     {}
+    ]
+   ],
+   "css/CSS2/positioning/dynamic-top-change-005.xht": [
+    [
+     "/css/CSS2/positioning/dynamic-top-change-005.xht",
+     {}
+    ]
+   ],
+   "css/CSS2/positioning/dynamic-top-change-005a.xht": [
+    [
+     "/css/CSS2/positioning/dynamic-top-change-005a.xht",
+     {}
+    ]
+   ],
+   "css/CSS2/positioning/dynamic-top-change-005b.xht": [
+    [
+     "/css/CSS2/positioning/dynamic-top-change-005b.xht",
+     {}
+    ]
+   ],
+   "css/CSS2/positioning/left-applies-to-008.xht": [
+    [
+     "/css/CSS2/positioning/left-applies-to-008.xht",
+     {}
+    ]
+   ],
+   "css/CSS2/positioning/left-applies-to-010.xht": [
+    [
+     "/css/CSS2/positioning/left-applies-to-010.xht",
+     {}
+    ]
+   ],
+   "css/CSS2/positioning/position-001.xht": [
+    [
+     "/css/CSS2/positioning/position-001.xht",
+     {}
+    ]
+   ],
+   "css/CSS2/positioning/position-002.xht": [
+    [
+     "/css/CSS2/positioning/position-002.xht",
+     {}
+    ]
+   ],
+   "css/CSS2/positioning/position-003.xht": [
+    [
+     "/css/CSS2/positioning/position-003.xht",
+     {}
+    ]
+   ],
+   "css/CSS2/positioning/position-005.xht": [
+    [
+     "/css/CSS2/positioning/position-005.xht",
+     {}
+    ]
+   ],
+   "css/CSS2/positioning/position-absolute-005.xht": [
+    [
+     "/css/CSS2/positioning/position-absolute-005.xht",
+     {}
+    ]
+   ],
+   "css/CSS2/positioning/position-applies-to-008.xht": [
+    [
+     "/css/CSS2/positioning/position-applies-to-008.xht",
+     {}
+    ]
+   ],
+   "css/CSS2/positioning/position-applies-to-010.xht": [
+    [
+     "/css/CSS2/positioning/position-applies-to-010.xht",
+     {}
+    ]
+   ],
+   "css/CSS2/positioning/position-fixed-002.xht": [
+    [
+     "/css/CSS2/positioning/position-fixed-002.xht",
+     {}
+    ]
+   ],
+   "css/CSS2/positioning/position-fixed-006.xht": [
+    [
+     "/css/CSS2/positioning/position-fixed-006.xht",
+     {}
+    ]
+   ],
+   "css/CSS2/positioning/position-relative-002.xht": [
+    [
+     "/css/CSS2/positioning/position-relative-002.xht",
+     {}
+    ]
+   ],
+   "css/CSS2/positioning/position-relative-008.xht": [
+    [
+     "/css/CSS2/positioning/position-relative-008.xht",
+     {}
+    ]
+   ],
+   "css/CSS2/positioning/right-applies-to-008.xht": [
+    [
+     "/css/CSS2/positioning/right-applies-to-008.xht",
+     {}
+    ]
+   ],
+   "css/CSS2/positioning/right-applies-to-010.xht": [
+    [
+     "/css/CSS2/positioning/right-applies-to-010.xht",
+     {}
+    ]
+   ],
+   "css/CSS2/positioning/top-applies-to-008.xht": [
+    [
+     "/css/CSS2/positioning/top-applies-to-008.xht",
+     {}
+    ]
+   ],
+   "css/CSS2/positioning/top-applies-to-010.xht": [
+    [
+     "/css/CSS2/positioning/top-applies-to-010.xht",
+     {}
+    ]
+   ],
    "css/css-align-3/ttwf-reftest-alignContent.html": [
     [
      "/css/css-align-3/ttwf-reftest-alignContent.html",
@@ -117466,6 +138239,1494 @@
    "f060b356887b9ceb49be019634657b847bfffe81",
    "reftest"
   ],
+  "css/CSS2/floats-clear/adjacent-floats-001-ref.xht": [
+   "5c57364aaca7482f6347f9653affccf85fa5c935",
+   "support"
+  ],
+  "css/CSS2/floats-clear/adjacent-floats-001.xht": [
+   "a1b16dd5548c5b358564fa723ee30dd0b872aa46",
+   "reftest"
+  ],
+  "css/CSS2/floats-clear/clear-001-ref.xht": [
+   "6c2495de89220792494f6e57450135d2b9be050b",
+   "support"
+  ],
+  "css/CSS2/floats-clear/clear-001.xht": [
+   "b07684e1e844584e770def827685d9952155d169",
+   "reftest"
+  ],
+  "css/CSS2/floats-clear/clear-002-ref.xht": [
+   "1a18f9aed9b3fe797e5320f2dc0c772b5082580c",
+   "support"
+  ],
+  "css/CSS2/floats-clear/clear-002.xht": [
+   "3efc32b0b782fa4a725a482085aabfc0fd43bb2c",
+   "reftest"
+  ],
+  "css/CSS2/floats-clear/clear-003-ref.xht": [
+   "d213cc7828020c92323c22c169d6abfa632147cb",
+   "support"
+  ],
+  "css/CSS2/floats-clear/clear-003.xht": [
+   "bfc432fb8c1974fa06f822f2bca5c8e69d7d0a46",
+   "reftest"
+  ],
+  "css/CSS2/floats-clear/clear-004.xht": [
+   "0151fa897be8d06b2bb40e60c546099c17837501",
+   "reftest"
+  ],
+  "css/CSS2/floats-clear/clear-005.xht": [
+   "4bb55db3c05ae1f52b6320491577cc40f99a59a0",
+   "reftest"
+  ],
+  "css/CSS2/floats-clear/clear-applies-to-000-ref.xht": [
+   "5691b2e615b308024ea804cf5fcc7aba5de29313",
+   "support"
+  ],
+  "css/CSS2/floats-clear/clear-applies-to-000.xht": [
+   "2dc32509c17699bb7287aa9c9181e6402a934b06",
+   "reftest"
+  ],
+  "css/CSS2/floats-clear/clear-applies-to-001-ref.xht": [
+   "2c2c251a504a61b68b842d8b8094d199f8c20989",
+   "support"
+  ],
+  "css/CSS2/floats-clear/clear-applies-to-001.xht": [
+   "a6c3bb0a1bbca536c0d23df8de7906d76981a2ae",
+   "reftest"
+  ],
+  "css/CSS2/floats-clear/clear-applies-to-002.xht": [
+   "2bf1c41d86b6be46a603e6c7232f30b89b6e4314",
+   "reftest"
+  ],
+  "css/CSS2/floats-clear/clear-applies-to-003.xht": [
+   "d6597f1cca4edf480fd2cf09881468478d3a7856",
+   "reftest"
+  ],
+  "css/CSS2/floats-clear/clear-applies-to-004.xht": [
+   "2867e8ebbad570ede7c140b7c337d136842d544f",
+   "reftest"
+  ],
+  "css/CSS2/floats-clear/clear-applies-to-005.xht": [
+   "317765ef98865d4b747343bbdceaa0067622c95a",
+   "reftest"
+  ],
+  "css/CSS2/floats-clear/clear-applies-to-006.xht": [
+   "219b8036031a751f4af2027d57e8da8f8d84fc13",
+   "reftest"
+  ],
+  "css/CSS2/floats-clear/clear-applies-to-007.xht": [
+   "44e224d33e89dedf91662088387094cb8a28dd36",
+   "reftest"
+  ],
+  "css/CSS2/floats-clear/clear-applies-to-008-ref.xht": [
+   "db9d3c111a4f01fd54c04de57aa592ee0a2babb1",
+   "support"
+  ],
+  "css/CSS2/floats-clear/clear-applies-to-008.xht": [
+   "4dea511a4f95e4b3084a224e992ffc87957a0d28",
+   "reftest"
+  ],
+  "css/CSS2/floats-clear/clear-applies-to-009-ref.xht": [
+   "4d7489aea5a0897829752cf16c3f63f0960ee701",
+   "support"
+  ],
+  "css/CSS2/floats-clear/clear-applies-to-009.xht": [
+   "bb915f40c4905b88abe895bd30d1dd4c857fed7d",
+   "reftest"
+  ],
+  "css/CSS2/floats-clear/clear-applies-to-010.xht": [
+   "ec79a46ae6b338e177461f6b898c58d215e5974a",
+   "visual"
+  ],
+  "css/CSS2/floats-clear/clear-applies-to-012.xht": [
+   "1e8e5c96d43520b6cdbf20232009a706648414e8",
+   "reftest"
+  ],
+  "css/CSS2/floats-clear/clear-applies-to-013.xht": [
+   "c7ce105057e1cfcd994dee6065cb3d2e538f7f2f",
+   "reftest"
+  ],
+  "css/CSS2/floats-clear/clear-applies-to-014.xht": [
+   "3747bd4e504f9de6a5f847737b92ece728564e43",
+   "reftest"
+  ],
+  "css/CSS2/floats-clear/clear-applies-to-015.xht": [
+   "ffd42110f1371e82f9884160d3dde43f154aa638",
+   "reftest"
+  ],
+  "css/CSS2/floats-clear/clear-clearance-calculation-001-ref.xht": [
+   "38dc6bdb5cdec0611acc7fa222979de76c796aea",
+   "support"
+  ],
+  "css/CSS2/floats-clear/clear-clearance-calculation-001.xht": [
+   "604ff7544ddb66a34717f614be1359a506cbcaef",
+   "reftest"
+  ],
+  "css/CSS2/floats-clear/clear-clearance-calculation-002-ref.xht": [
+   "1912e9e78a26b572cbbf776e9cf4b55a5e7f0ea6",
+   "support"
+  ],
+  "css/CSS2/floats-clear/clear-clearance-calculation-002.xht": [
+   "ae6a8d7cee0d889454b2e9dfca93b629eb4f99f8",
+   "reftest"
+  ],
+  "css/CSS2/floats-clear/clear-clearance-calculation-003-ref.xht": [
+   "a64578c46819fbad64eb583ec4f2b992b28a01c5",
+   "support"
+  ],
+  "css/CSS2/floats-clear/clear-clearance-calculation-003.xht": [
+   "b0c4b3387baa86f4b4013bb0ffe7b44ee2f923ee",
+   "reftest"
+  ],
+  "css/CSS2/floats-clear/clear-clearance-calculation-004-ref.xht": [
+   "daba104d86f23dbb486b4477a5293d4e11350c4a",
+   "support"
+  ],
+  "css/CSS2/floats-clear/clear-clearance-calculation-004.xht": [
+   "7166bf096895fc073dc2285385c15e34fe5d1c9e",
+   "reftest"
+  ],
+  "css/CSS2/floats-clear/clear-clearance-calculation-005-ref.xht": [
+   "99407caf4d52f8325372dd421c84da02365033b1",
+   "support"
+  ],
+  "css/CSS2/floats-clear/clear-clearance-calculation-005.xht": [
+   "151e4c7acdd319fd9b21ce9ab9560ae40d115218",
+   "reftest"
+  ],
+  "css/CSS2/floats-clear/clear-default-inheritance-001.xht": [
+   "c320b0ba95c492ee8119fbd654d95d010c7a2cfc",
+   "reftest"
+  ],
+  "css/CSS2/floats-clear/clear-float-001-ref.xht": [
+   "a5686af1c117aff87785a1804be077d8c8f41fbd",
+   "support"
+  ],
+  "css/CSS2/floats-clear/clear-float-001.xht": [
+   "10843f7b123b0c5de662a2bbce42d8d00639a71a",
+   "reftest"
+  ],
+  "css/CSS2/floats-clear/clear-float-002-ref.xht": [
+   "43df6ec1d0062e132e6ed4f69c72fa7cf16873b9",
+   "support"
+  ],
+  "css/CSS2/floats-clear/clear-float-002.xht": [
+   "739c603450fcff7df89843f1a5128bce21bc26a0",
+   "reftest"
+  ],
+  "css/CSS2/floats-clear/clear-float-003-ref.xht": [
+   "4c2037d444d94a475e664c5d32722049c1c44587",
+   "support"
+  ],
+  "css/CSS2/floats-clear/clear-float-003.xht": [
+   "46d53552bdfb0b5996ca0814b04b01ddbf9c96b5",
+   "reftest"
+  ],
+  "css/CSS2/floats-clear/clear-float-004-ref.xht": [
+   "0d45e895553985c5c41e3f63e47ed83833bff5b1",
+   "support"
+  ],
+  "css/CSS2/floats-clear/clear-float-004.xht": [
+   "f0591fed9a6e3c96862526bde074ffe4e30ba03b",
+   "reftest"
+  ],
+  "css/CSS2/floats-clear/clear-float-005-ref.xht": [
+   "988583df99fef8b171a5997430fb20cd94533859",
+   "support"
+  ],
+  "css/CSS2/floats-clear/clear-float-005.xht": [
+   "4bbf226386cf9c56f0b9b74cab4b1941dd66a2a0",
+   "reftest"
+  ],
+  "css/CSS2/floats-clear/clear-float-006-ref.xht": [
+   "34174dc02ecbbce6ead09b237542a42ac0538f03",
+   "support"
+  ],
+  "css/CSS2/floats-clear/clear-float-006.xht": [
+   "37d4ab0ef79bc65fbe4d930f25517e30bd5cac21",
+   "reftest"
+  ],
+  "css/CSS2/floats-clear/clear-float-007.xht": [
+   "7553fcb6d46e52ff7a9d11859990b17218f50579",
+   "reftest"
+  ],
+  "css/CSS2/floats-clear/clear-float-008.xht": [
+   "8819bd19433a8ec2e0c876d80ce0adcf87e77ec3",
+   "reftest"
+  ],
+  "css/CSS2/floats-clear/clear-float-009-ref.xht": [
+   "ef673f706c8e985ddc9dc0f7afb22380dc41203f",
+   "support"
+  ],
+  "css/CSS2/floats-clear/clear-float-009.xht": [
+   "a160ebbe56d0268c32f0322300f99ee099f13120",
+   "reftest"
+  ],
+  "css/CSS2/floats-clear/clear-initial-001.xht": [
+   "54d8434692ea6f46f5d55e65460ace5d12826cb3",
+   "reftest"
+  ],
+  "css/CSS2/floats-clear/clear-inline-001-ref.xht": [
+   "6548ff7f35f7f4a56d5f7d18126e00b80c378ac7",
+   "support"
+  ],
+  "css/CSS2/floats-clear/clear-inline-001.xht": [
+   "3f902ea05caf3cb71e978749bd47b120d10366e2",
+   "reftest"
+  ],
+  "css/CSS2/floats-clear/clearance-006-ref.xht": [
+   "2305823fd342085286fe1f5e0cdb27d7cd6fe436",
+   "support"
+  ],
+  "css/CSS2/floats-clear/clearance-006.xht": [
+   "102e45db8912a0fbb4aa7831bf402ea5e4f2669b",
+   "reftest"
+  ],
+  "css/CSS2/floats-clear/float-001.xht": [
+   "acf9104ee5dd298614fdd09c1fefc84c5c644008",
+   "visual"
+  ],
+  "css/CSS2/floats-clear/float-002.xht": [
+   "cfc8209d10b914a4a455d003d468b09437b25c48",
+   "visual"
+  ],
+  "css/CSS2/floats-clear/float-003-ref.xht": [
+   "c2f6aa86a06b51f111f1b5d8699c0c3c53ac3394",
+   "support"
+  ],
+  "css/CSS2/floats-clear/float-003.xht": [
+   "485f681c3bbef85819d33735251480022b06f3d8",
+   "reftest"
+  ],
+  "css/CSS2/floats-clear/float-004.xht": [
+   "c313104928ac368f3481c2c32cc05079a9ab864d",
+   "visual"
+  ],
+  "css/CSS2/floats-clear/float-005-ref.xht": [
+   "364c60585636e66a518ceec5ad8fd6147ca6d31e",
+   "support"
+  ],
+  "css/CSS2/floats-clear/float-005.xht": [
+   "7bf920d5b1509aedbe86033c3049d71627ee6948",
+   "reftest"
+  ],
+  "css/CSS2/floats-clear/float-006-ref.xht": [
+   "afc4980a2a170ed373dd32aae5e50f6f238f5e23",
+   "support"
+  ],
+  "css/CSS2/floats-clear/float-006.xht": [
+   "992f088f3c2cf7b207a8a269102856c6e46467b3",
+   "reftest"
+  ],
+  "css/CSS2/floats-clear/float-applies-to-001.xht": [
+   "80a71b4a1c6dc32f3f4cbbe8940bb3832e4eedff",
+   "reftest"
+  ],
+  "css/CSS2/floats-clear/float-applies-to-001a.xht": [
+   "92b55e464c3cc956bbc34704d0bbc8897158f805",
+   "reftest"
+  ],
+  "css/CSS2/floats-clear/float-applies-to-002.xht": [
+   "60e6a62ea464ee578f1e14bf3043ff0440a5bca7",
+   "reftest"
+  ],
+  "css/CSS2/floats-clear/float-applies-to-003.xht": [
+   "999df4d344c35981ba2b3d3521390cd1559ac03e",
+   "reftest"
+  ],
+  "css/CSS2/floats-clear/float-applies-to-004.xht": [
+   "117eff46fc336874e981b08176005327d239d6e8",
+   "reftest"
+  ],
+  "css/CSS2/floats-clear/float-applies-to-004a.xht": [
+   "c39e50049bf9456072db26bdf8a603b745062ce7",
+   "reftest"
+  ],
+  "css/CSS2/floats-clear/float-applies-to-005.xht": [
+   "e24e9d5eab247594ae276d372979eb7a9f68f178",
+   "reftest"
+  ],
+  "css/CSS2/floats-clear/float-applies-to-006.xht": [
+   "6504a06940fa996ae0f2b195fde4b04feabcd519",
+   "reftest"
+  ],
+  "css/CSS2/floats-clear/float-applies-to-007.xht": [
+   "4261e76d469f2d45c56bcc536fec58d8860eefc4",
+   "reftest"
+  ],
+  "css/CSS2/floats-clear/float-applies-to-008-ref.xht": [
+   "659238329fb18ea5614ed6334f37f30f1fed9d2f",
+   "support"
+  ],
+  "css/CSS2/floats-clear/float-applies-to-008.xht": [
+   "7324b707a78a81f274a9c8f3cacc33f5126918ee",
+   "reftest"
+  ],
+  "css/CSS2/floats-clear/float-applies-to-008a.xht": [
+   "271a75b03272a904f022080a5a6648b127331a50",
+   "reftest"
+  ],
+  "css/CSS2/floats-clear/float-applies-to-009.xht": [
+   "032dcae217bf014b2bc43f34be12555c01957902",
+   "reftest"
+  ],
+  "css/CSS2/floats-clear/float-applies-to-010.xht": [
+   "ffcafe8c7c8c44407dd62ea4e99aab8b01458da3",
+   "visual"
+  ],
+  "css/CSS2/floats-clear/float-applies-to-012.xht": [
+   "fb1f1ca067f5c5d97c0ce468c66083fc086a7104",
+   "reftest"
+  ],
+  "css/CSS2/floats-clear/float-applies-to-013.xht": [
+   "76a6cfccd1bfd2a9b609a9728daf709c0f1954cc",
+   "reftest"
+  ],
+  "css/CSS2/floats-clear/float-applies-to-014.xht": [
+   "044607844309a2e3133372655012b8ed3be55be2",
+   "reftest"
+  ],
+  "css/CSS2/floats-clear/float-applies-to-015.xht": [
+   "5a4dffb5c3be3546cfe23350946b3ca2e3767a77",
+   "reftest"
+  ],
+  "css/CSS2/floats-clear/float-non-replaced-height-001-ref.xht": [
+   "bc608854902e8c16718be34f58ff0c374e361947",
+   "support"
+  ],
+  "css/CSS2/floats-clear/float-non-replaced-height-001.xht": [
+   "b2a4fce26a8ed32041ba9adc3814b0c746bacef0",
+   "reftest"
+  ],
+  "css/CSS2/floats-clear/float-non-replaced-width-001-ref.xht": [
+   "f15d27fc36c4600edbced0bc961f408c5d495e80",
+   "support"
+  ],
+  "css/CSS2/floats-clear/float-non-replaced-width-001.xht": [
+   "718125cc104fb32648ddf9f0097986b2d386c95b",
+   "reftest"
+  ],
+  "css/CSS2/floats-clear/float-non-replaced-width-002-ref.xht": [
+   "10d86107cdd78f68a2f39ac79e7175a372a23572",
+   "support"
+  ],
+  "css/CSS2/floats-clear/float-non-replaced-width-002.xht": [
+   "0cca35485233e5d0974047f0c01f72b42c4b8c22",
+   "reftest"
+  ],
+  "css/CSS2/floats-clear/float-non-replaced-width-003-ref.xht": [
+   "5008f2e094b524dae424d9314c01226de14b188a",
+   "support"
+  ],
+  "css/CSS2/floats-clear/float-non-replaced-width-003.xht": [
+   "6c8862390442df8b60e07bf1f48c04f9b9cf6f91",
+   "reftest"
+  ],
+  "css/CSS2/floats-clear/float-non-replaced-width-004.xht": [
+   "fb471f85500cdaf4a063fca1066ed0b833e4d5a5",
+   "reftest"
+  ],
+  "css/CSS2/floats-clear/float-non-replaced-width-005.xht": [
+   "ff04b51c42c6a72856433a71ddfa6a29da035cc7",
+   "reftest"
+  ],
+  "css/CSS2/floats-clear/float-non-replaced-width-006.xht": [
+   "d7b934bafc9e312e86e981b2d6ac3d0bd5a3b2aa",
+   "visual"
+  ],
+  "css/CSS2/floats-clear/float-non-replaced-width-007.xht": [
+   "a1f6f25715b86e3a24e4293b361c4a4e8c03302a",
+   "reftest"
+  ],
+  "css/CSS2/floats-clear/float-non-replaced-width-008.xht": [
+   "3ef3f47e2120c888a994a1b690ff6aec2aec291d",
+   "reftest"
+  ],
+  "css/CSS2/floats-clear/float-non-replaced-width-009.xht": [
+   "6d92285d8ecb27eda7ee6ab86897a3f8fd661144",
+   "reftest"
+  ],
+  "css/CSS2/floats-clear/float-non-replaced-width-010.xht": [
+   "57e59b4945da6c9188efd7c08a5ab0376762c711",
+   "reftest"
+  ],
+  "css/CSS2/floats-clear/float-non-replaced-width-011.xht": [
+   "9b5d3bffd54506ff4475ed05858abdab793da5d1",
+   "reftest"
+  ],
+  "css/CSS2/floats-clear/float-non-replaced-width-012.xht": [
+   "4331d7fd862eb524503db8758628f674cb56394c",
+   "reftest"
+  ],
+  "css/CSS2/floats-clear/float-non-replaced-width-013.xht": [
+   "f2bb07328ced2b37427d65664009388f3c3adc03",
+   "visual"
+  ],
+  "css/CSS2/floats-clear/float-replaced-height-001-ref.xht": [
+   "e46b6c6ef19a2332bae9bfbea7a3385b28eef172",
+   "support"
+  ],
+  "css/CSS2/floats-clear/float-replaced-height-001.xht": [
+   "910e51992429442ff2cf621d46c905b9ffbc6566",
+   "reftest"
+  ],
+  "css/CSS2/floats-clear/float-replaced-height-002-ref.xht": [
+   "74d977f254e77cf112bb19a8eb3586a5a46ebf33",
+   "support"
+  ],
+  "css/CSS2/floats-clear/float-replaced-height-002.xht": [
+   "676fb51dd3468136fcc9030bea2de04a422ffc04",
+   "reftest"
+  ],
+  "css/CSS2/floats-clear/float-replaced-height-003-ref.xht": [
+   "b4fc7f30ff98fa0f99d6e7ca623371c5c3000a88",
+   "support"
+  ],
+  "css/CSS2/floats-clear/float-replaced-height-003.xht": [
+   "82cb4ee3f3fb622b41ab63924a19734c68b7c038",
+   "reftest"
+  ],
+  "css/CSS2/floats-clear/float-replaced-height-004-ref.xht": [
+   "d0fcdbd228c30cec3e862733f4a6cdc5116e586f",
+   "support"
+  ],
+  "css/CSS2/floats-clear/float-replaced-height-004.xht": [
+   "6f0bb571af4345e533d61fd965e38433d0af0110",
+   "reftest"
+  ],
+  "css/CSS2/floats-clear/float-replaced-height-005-ref.xht": [
+   "91bdc286a6cc57dc357be05d9191ddb04aea740a",
+   "support"
+  ],
+  "css/CSS2/floats-clear/float-replaced-height-005.xht": [
+   "a69913be4a4caa3a26c9ef9d4da8e1eb5225fc68",
+   "reftest"
+  ],
+  "css/CSS2/floats-clear/float-replaced-height-006-ref.xht": [
+   "07745e2c4046e12d378654493a6f7fcafd4f6842",
+   "support"
+  ],
+  "css/CSS2/floats-clear/float-replaced-height-006.xht": [
+   "1e619004f51f6df32b55bec8bbb04956e7e27a19",
+   "reftest"
+  ],
+  "css/CSS2/floats-clear/float-replaced-height-007.xht": [
+   "e82dd3058548abdfbb6553fa219f21175ce4d0d1",
+   "reftest"
+  ],
+  "css/CSS2/floats-clear/float-replaced-width-001.xht": [
+   "24b779eab670598dcca8ef70b2917df0efbb4825",
+   "reftest"
+  ],
+  "css/CSS2/floats-clear/float-replaced-width-002.xht": [
+   "e6888a31cfe2350040bdca346891667cf5fecac2",
+   "reftest"
+  ],
+  "css/CSS2/floats-clear/float-replaced-width-003.xht": [
+   "b469c4241666733b4f1b02a4bcc6fd517e01b787",
+   "reftest"
+  ],
+  "css/CSS2/floats-clear/float-replaced-width-004.xht": [
+   "a0d81927898309bc06cd05ba0c734a5613a135ee",
+   "reftest"
+  ],
+  "css/CSS2/floats-clear/float-replaced-width-005.xht": [
+   "2b4b9f0ab305d00aacb94d052699b8ed7a0cb888",
+   "reftest"
+  ],
+  "css/CSS2/floats-clear/float-replaced-width-006-ref.xht": [
+   "2638cc38d65d182dcd9bacf1cdeba01823027fe9",
+   "support"
+  ],
+  "css/CSS2/floats-clear/float-replaced-width-006.xht": [
+   "003cd06746833af9bb70f71a4e27a489aca652e9",
+   "reftest"
+  ],
+  "css/CSS2/floats-clear/float-replaced-width-007-ref.xht": [
+   "4641dfa3623e2c33b30c295ee2f462824210654d",
+   "support"
+  ],
+  "css/CSS2/floats-clear/float-replaced-width-007.xht": [
+   "4e300be1a7bd5f55c5dba09a71ceef61b7c8b85d",
+   "reftest"
+  ],
+  "css/CSS2/floats-clear/float-replaced-width-008-ref.xht": [
+   "949d420b3cbf2e4b0e895fb3fc46da1f693f21a2",
+   "support"
+  ],
+  "css/CSS2/floats-clear/float-replaced-width-008.xht": [
+   "21f5cd24c9a3860dfc886cec763d5b46ec2cf44b",
+   "reftest"
+  ],
+  "css/CSS2/floats-clear/float-replaced-width-009-ref.xht": [
+   "ed396bb4658f6eb1a1459f0190e6c3b9e8f10ca8",
+   "support"
+  ],
+  "css/CSS2/floats-clear/float-replaced-width-009.xht": [
+   "1080860341411577ec8d848b250d9be050e03a93",
+   "reftest"
+  ],
+  "css/CSS2/floats-clear/float-replaced-width-011-ref.xht": [
+   "bb4ad80d3e8c88006b58ef775da437c5692a3f03",
+   "support"
+  ],
+  "css/CSS2/floats-clear/float-replaced-width-011.xht": [
+   "bb9200d385f60241146e8ef1907ce7eca00326bb",
+   "reftest"
+  ],
+  "css/CSS2/floats-clear/floating-replaced-height-008.xht": [
+   "57e16c3ba789fe05c42861f6dbc00c77a3f549c9",
+   "manual"
+  ],
+  "css/CSS2/floats-clear/floats-001-ref.xht": [
+   "527ba6bcbc5f276597ddde453578c0cfb6dc8815",
+   "support"
+  ],
+  "css/CSS2/floats-clear/floats-001.xht": [
+   "d6ec0f14051f895ea108a41faf2a61726a31c387",
+   "reftest"
+  ],
+  "css/CSS2/floats-clear/floats-002-ref.xht": [
+   "31b852792c4de942712ad0a7712d65a3cf6bb1a7",
+   "support"
+  ],
+  "css/CSS2/floats-clear/floats-002.xht": [
+   "c601d9af4f0a068acb93600989c1a3fa736ce6af",
+   "reftest"
+  ],
+  "css/CSS2/floats-clear/floats-003.xht": [
+   "d939984e2e50417abb85ea91f86f7da6e8c147db",
+   "reftest"
+  ],
+  "css/CSS2/floats-clear/floats-004-ref.xht": [
+   "af114f6feda77ace9c4921dcf437cd1af29e8b94",
+   "support"
+  ],
+  "css/CSS2/floats-clear/floats-004.xht": [
+   "9181ee6e3c1a59a2ae82714ac5388d2e13992700",
+   "reftest"
+  ],
+  "css/CSS2/floats-clear/floats-005-ref.xht": [
+   "8ad9b3d7a713505eacf19fbfdac9ece71bf8d1a2",
+   "support"
+  ],
+  "css/CSS2/floats-clear/floats-005.xht": [
+   "6ffbb19f8f4892ae4c2c86db9bc2a15983332b68",
+   "reftest"
+  ],
+  "css/CSS2/floats-clear/floats-006-ref.xht": [
+   "54539fd127c057686970872fccfdaf9404a7af9d",
+   "support"
+  ],
+  "css/CSS2/floats-clear/floats-006.xht": [
+   "28f3d3a8215bc284f4b1a260d0350515fb780b71",
+   "reftest"
+  ],
+  "css/CSS2/floats-clear/floats-007-ref.xht": [
+   "4c5051a59198e2c19fff7dcfdd81357bffd21281",
+   "support"
+  ],
+  "css/CSS2/floats-clear/floats-007.xht": [
+   "620d3f50c67978f62b04de65797494cb0184845e",
+   "reftest"
+  ],
+  "css/CSS2/floats-clear/floats-008.xht": [
+   "2ace9765b6a1f848bccd3d737d9c0df3d1d82493",
+   "reftest"
+  ],
+  "css/CSS2/floats-clear/floats-009-ref.xht": [
+   "e8b0758787c95d5927a53c6f26f75a0c473a8262",
+   "support"
+  ],
+  "css/CSS2/floats-clear/floats-009.xht": [
+   "2e88cd5364b4ff0006c8cb0dd36c3dcfb1ec6985",
+   "reftest"
+  ],
+  "css/CSS2/floats-clear/floats-014-ref.xht": [
+   "d75c7e744db83453d92a1cc65add0e778bbf3ae2",
+   "support"
+  ],
+  "css/CSS2/floats-clear/floats-014.xht": [
+   "b17b199c348255a35abedcfc93f072dfbecce58a",
+   "reftest"
+  ],
+  "css/CSS2/floats-clear/floats-015.xht": [
+   "b75cd6ea23ce008ff169c0934ed12ee2a2682ee2",
+   "reftest"
+  ],
+  "css/CSS2/floats-clear/floats-016.xht": [
+   "625f29fee8a4729aee6e6811300f7b1bae6eeda8",
+   "visual"
+  ],
+  "css/CSS2/floats-clear/floats-019-ref.xht": [
+   "6f8733991ff92912d85a81e895b67b86e150210f",
+   "support"
+  ],
+  "css/CSS2/floats-clear/floats-019.xht": [
+   "6fd66501481ff75b1ef3a929b91849c7ed48bd98",
+   "reftest"
+  ],
+  "css/CSS2/floats-clear/floats-020.xht": [
+   "ae78a5faaf6b2a1402a4425da959549926ab3cd0",
+   "visual"
+  ],
+  "css/CSS2/floats-clear/floats-021.xht": [
+   "b63e4673a418a8e39420f4f722db6c43b31ac0d7",
+   "visual"
+  ],
+  "css/CSS2/floats-clear/floats-022-ref.xht": [
+   "770cb1168e6d5e8c36b970cd899318688c12a5b0",
+   "support"
+  ],
+  "css/CSS2/floats-clear/floats-022.xht": [
+   "8458c0f49e496ab892bd7ab3db8480fdac07cdfe",
+   "reftest"
+  ],
+  "css/CSS2/floats-clear/floats-023-ref.xht": [
+   "7392385c3a96d025419467416eb7b41e25d92276",
+   "support"
+  ],
+  "css/CSS2/floats-clear/floats-023.xht": [
+   "06ccc3f6fc4fa02d70df291f938558411f5ca061",
+   "reftest"
+  ],
+  "css/CSS2/floats-clear/floats-024-ref.xht": [
+   "9645872665472215ba5ba88e5db1b54f3e9a1481",
+   "support"
+  ],
+  "css/CSS2/floats-clear/floats-024.xht": [
+   "f4190715237982e4c756c43726ff12a0c35ba2e9",
+   "reftest"
+  ],
+  "css/CSS2/floats-clear/floats-025-ref.xht": [
+   "a43560768748a92b6822217fcf27adfc2f95fab4",
+   "support"
+  ],
+  "css/CSS2/floats-clear/floats-025.xht": [
+   "1e32b731164dac6d2cd78023e002d4fa5320a25d",
+   "reftest"
+  ],
+  "css/CSS2/floats-clear/floats-026-ref.xht": [
+   "cbd0ee570f6b2be455865c1f61df32f31a6261c5",
+   "support"
+  ],
+  "css/CSS2/floats-clear/floats-026.xht": [
+   "a9cb5387ca8bad90b35b24339f5d6fad51776f1b",
+   "reftest"
+  ],
+  "css/CSS2/floats-clear/floats-027-ref.xht": [
+   "a08c2d96f4106954849c2497cee2dfff3fc4abdd",
+   "support"
+  ],
+  "css/CSS2/floats-clear/floats-027.xht": [
+   "7bd8c3f950264ba3d8c2ccf55aa14e2be260837f",
+   "reftest"
+  ],
+  "css/CSS2/floats-clear/floats-028-ref.xht": [
+   "48c364f5ffbd8426889479a03e530d602cd41b49",
+   "support"
+  ],
+  "css/CSS2/floats-clear/floats-028.xht": [
+   "1f83cd725b3fdb0aca8d5fa4f660ceae14e48ef6",
+   "reftest"
+  ],
+  "css/CSS2/floats-clear/floats-029-ref.xht": [
+   "69a4f9ec44300b8ffb9cf7e7e6848562d5357777",
+   "support"
+  ],
+  "css/CSS2/floats-clear/floats-029.xht": [
+   "af3df61e61859ad105fd85419e7b64bad0c21ac9",
+   "reftest"
+  ],
+  "css/CSS2/floats-clear/floats-030-ref.xht": [
+   "b0aff623c53042049fb32807584cd08a97762c10",
+   "support"
+  ],
+  "css/CSS2/floats-clear/floats-030.xht": [
+   "8d6ba76bb5e96c84d3eb235c9b5d2dcf0e466b1d",
+   "reftest"
+  ],
+  "css/CSS2/floats-clear/floats-031-ref.xht": [
+   "255762824017be2105eea03268a1267f38db0b87",
+   "support"
+  ],
+  "css/CSS2/floats-clear/floats-031.xht": [
+   "50ff31c4020f17c0153b0342f75888abc09d295f",
+   "reftest"
+  ],
+  "css/CSS2/floats-clear/floats-036-ref.xht": [
+   "5c69b8814fd1285e78e18916f717f41dd19fcfd6",
+   "support"
+  ],
+  "css/CSS2/floats-clear/floats-036.xht": [
+   "8cfcf886e5410936904b8494db5f7358b3322cab",
+   "reftest"
+  ],
+  "css/CSS2/floats-clear/floats-037.xht": [
+   "ce852e51a34eb0f6f6bd3bfc6a970dd7d69e44cb",
+   "visual"
+  ],
+  "css/CSS2/floats-clear/floats-038-ref.xht": [
+   "0a6256011e0824a3d705a5d5702098776239820c",
+   "support"
+  ],
+  "css/CSS2/floats-clear/floats-038.xht": [
+   "8edad8efe4fd3e221e13dc928561949456b92a77",
+   "reftest"
+  ],
+  "css/CSS2/floats-clear/floats-039.xht": [
+   "811fb2738d646df14cc8c4069f93e9e18cf00750",
+   "reftest"
+  ],
+  "css/CSS2/floats-clear/floats-040.xht": [
+   "70733be32fb2bf1a9a07cdb2a507e066d3e147f7",
+   "reftest"
+  ],
+  "css/CSS2/floats-clear/floats-041-ref.xht": [
+   "04a785190d601519cf801a67635bf9c1a9c1cf6f",
+   "support"
+  ],
+  "css/CSS2/floats-clear/floats-041.xht": [
+   "9c2aa3364ff328a5f8f18a3ae87a46878bc22fb9",
+   "reftest"
+  ],
+  "css/CSS2/floats-clear/floats-043-ref.xht": [
+   "5e6b62e86fb2c673b9010586e02e43b9d5c7d2d4",
+   "support"
+  ],
+  "css/CSS2/floats-clear/floats-043.xht": [
+   "363bfb0e1c99252b8ae23fb8ea2b5bc2fe7f5cf1",
+   "reftest"
+  ],
+  "css/CSS2/floats-clear/floats-101-ref.xht": [
+   "cb277e6859b3ef37f00328052fec1d8b2ec7dd34",
+   "support"
+  ],
+  "css/CSS2/floats-clear/floats-101.xht": [
+   "00e2a99f81f8f91d2174e8b6b7bfead5b09a6a17",
+   "reftest"
+  ],
+  "css/CSS2/floats-clear/floats-102.xht": [
+   "a691c3da4e0ec25eefc888f4f05312fb62bcde81",
+   "visual"
+  ],
+  "css/CSS2/floats-clear/floats-103.xht": [
+   "41da9df46756a3665687fb98b999b862b529db96",
+   "visual"
+  ],
+  "css/CSS2/floats-clear/floats-104.xht": [
+   "2c6f2b4db1410e078648f979599b57f1c8fb8cec",
+   "visual"
+  ],
+  "css/CSS2/floats-clear/floats-105.xht": [
+   "b18a299ed7768dbb430671870ca85b751dfcdfa5",
+   "visual"
+  ],
+  "css/CSS2/floats-clear/floats-106.xht": [
+   "2922d71f52b844d942de9fc56135c7c8786c4ddc",
+   "visual"
+  ],
+  "css/CSS2/floats-clear/floats-108.xht": [
+   "fe037d26c2222499ee8d35deaa97c2161e72ee63",
+   "manual"
+  ],
+  "css/CSS2/floats-clear/floats-109.xht": [
+   "46677daa2a6288a742131c492b117fd331420f0a",
+   "manual"
+  ],
+  "css/CSS2/floats-clear/floats-110.xht": [
+   "198a50997ed99694ed19d0fda7004ddb575faede",
+   "manual"
+  ],
+  "css/CSS2/floats-clear/floats-111-ref.xht": [
+   "11235d53e9afcdba04f841829caca5e5fd18089f",
+   "support"
+  ],
+  "css/CSS2/floats-clear/floats-111.xht": [
+   "15efaa755c7fbec0a7baaa783847e56761e0eefa",
+   "reftest"
+  ],
+  "css/CSS2/floats-clear/floats-112-ref.xht": [
+   "f9314d73022505a03544b4b6e20ba3a3bca39cd1",
+   "support"
+  ],
+  "css/CSS2/floats-clear/floats-112.xht": [
+   "d4829cb357d446584f4a6c5b40db9a3ec9ae66f7",
+   "reftest"
+  ],
+  "css/CSS2/floats-clear/floats-113-ref.xht": [
+   "ae41690981c5d9f71248e7093a6b83221957d748",
+   "support"
+  ],
+  "css/CSS2/floats-clear/floats-113.xht": [
+   "15f1353f94d28d9920c09330855bae4142f990d1",
+   "reftest"
+  ],
+  "css/CSS2/floats-clear/floats-114-ref.xht": [
+   "c28db6a325ea4f020a92edd34fb5a137b6606fbd",
+   "support"
+  ],
+  "css/CSS2/floats-clear/floats-114.xht": [
+   "36f8a2de9ecf1c0d7addd4e43b0fc33d711c9da2",
+   "reftest"
+  ],
+  "css/CSS2/floats-clear/floats-115-ref.xht": [
+   "d12dbd88182a1ddd14bd571c022d59bcef08e6fc",
+   "support"
+  ],
+  "css/CSS2/floats-clear/floats-115.xht": [
+   "e665be89f571d12a1b7faafe0c260446f7fdfed6",
+   "reftest"
+  ],
+  "css/CSS2/floats-clear/floats-116-ref.xht": [
+   "1045d2260b123d56b94bca3a374962a341b15c76",
+   "support"
+  ],
+  "css/CSS2/floats-clear/floats-116.xht": [
+   "b62b024decdae44a83e1c51786c92d1436d44dd2",
+   "reftest"
+  ],
+  "css/CSS2/floats-clear/floats-117.xht": [
+   "fc95b22afe6cc371ff3e3dab20552eb228e3b1f7",
+   "reftest"
+  ],
+  "css/CSS2/floats-clear/floats-118-ref.xht": [
+   "58649e962c69d02e5bea44a6fb4649bda9a6333e",
+   "support"
+  ],
+  "css/CSS2/floats-clear/floats-118.xht": [
+   "9e26fdfa475bb731c4e6e54e03f3f2a3ec8742b5",
+   "reftest"
+  ],
+  "css/CSS2/floats-clear/floats-119-ref.xht": [
+   "2a43f64088839dabedd6cb557ff4a98d8838f35a",
+   "support"
+  ],
+  "css/CSS2/floats-clear/floats-119.xht": [
+   "935b8a251b1dd6db24bada4a52f4aaad8e967765",
+   "reftest"
+  ],
+  "css/CSS2/floats-clear/floats-120.xht": [
+   "372909c75b19476d63229114d2b29767b10df86d",
+   "reftest"
+  ],
+  "css/CSS2/floats-clear/floats-121-ref.xht": [
+   "0f21a40ff6cc4f8a2c850b5b186bc734d506d805",
+   "support"
+  ],
+  "css/CSS2/floats-clear/floats-121.xht": [
+   "fe2e25cf1d93ba009733597f5469994c69f8bc28",
+   "reftest"
+  ],
+  "css/CSS2/floats-clear/floats-122-ref.xht": [
+   "b31776eb682d706189db8f781133436cda345dc8",
+   "support"
+  ],
+  "css/CSS2/floats-clear/floats-122.xht": [
+   "4ea65a067c78a40e84731c60d1dea0ee5d172828",
+   "reftest"
+  ],
+  "css/CSS2/floats-clear/floats-123-ref.xht": [
+   "3b8e520bef1effed4f4ae7cd8bb5466b942523d5",
+   "support"
+  ],
+  "css/CSS2/floats-clear/floats-123.xht": [
+   "3d3d6c22b9fe8dfeaf4757e4fc1e8ba82ac49e1a",
+   "reftest"
+  ],
+  "css/CSS2/floats-clear/floats-124-ref.xht": [
+   "154a535ed78c97bb35a34d735fb02173fb7f1a6d",
+   "support"
+  ],
+  "css/CSS2/floats-clear/floats-124.xht": [
+   "87c88f1e192505df13716b2fd5a4bbfac408262f",
+   "reftest"
+  ],
+  "css/CSS2/floats-clear/floats-125-ref.xht": [
+   "163d932565b149dd9a8a44b03e62f9f8f5b0164c",
+   "support"
+  ],
+  "css/CSS2/floats-clear/floats-125.xht": [
+   "b0779a74b42f88fc7795712e85bdced607ab3ed2",
+   "reftest"
+  ],
+  "css/CSS2/floats-clear/floats-126.xht": [
+   "e2046dbe6ec4bb76023c64414f6f571cffe39344",
+   "manual"
+  ],
+  "css/CSS2/floats-clear/floats-127.xht": [
+   "3d5c63f9fb78ef2541bc667d828f58c07c9659b1",
+   "manual"
+  ],
+  "css/CSS2/floats-clear/floats-128.xht": [
+   "cadfff52c6c11585d8a42ebaff9485f3b5895f07",
+   "manual"
+  ],
+  "css/CSS2/floats-clear/floats-129.xht": [
+   "e2652084d8f683276287c4d2913826355d3be913",
+   "manual"
+  ],
+  "css/CSS2/floats-clear/floats-130.xht": [
+   "86742f4dddc43ee0499a486795144ea0740fd38b",
+   "manual"
+  ],
+  "css/CSS2/floats-clear/floats-131.xht": [
+   "904d274568fd2d8e0f77a726c50b344873f10fc0",
+   "manual"
+  ],
+  "css/CSS2/floats-clear/floats-132-ref.xht": [
+   "fd1154b9188b4b3405e245e34a7ffb9952effe67",
+   "support"
+  ],
+  "css/CSS2/floats-clear/floats-132.xht": [
+   "d898ba05237adc32f511fbd3d4a60cbcff96e88d",
+   "reftest"
+  ],
+  "css/CSS2/floats-clear/floats-133-ref.xht": [
+   "708d2d764ef2a8c5f3f5c0bbe8fd4cc0f6344376",
+   "support"
+  ],
+  "css/CSS2/floats-clear/floats-133.xht": [
+   "8deea1e91abd82539d941632ebaacc1d905617df",
+   "reftest"
+  ],
+  "css/CSS2/floats-clear/floats-134.xht": [
+   "c2590d1334b1c9abc4afabfd12632eadfa87a2db",
+   "reftest"
+  ],
+  "css/CSS2/floats-clear/floats-135-ref.xht": [
+   "bc16e5f0ae0bb08efa8089e754ca8cdc6aabfa71",
+   "support"
+  ],
+  "css/CSS2/floats-clear/floats-135.xht": [
+   "4b3ee663d2484272bc39d6237fbb95c839c8a324",
+   "reftest"
+  ],
+  "css/CSS2/floats-clear/floats-136-ref.xht": [
+   "de63ee2e15bbb2e3086038f951714f21d624a62a",
+   "support"
+  ],
+  "css/CSS2/floats-clear/floats-136.xht": [
+   "ac2c84981e819cafb5bc85d45fd382e4cdad8ad2",
+   "reftest"
+  ],
+  "css/CSS2/floats-clear/floats-137.xht": [
+   "0d85b6c1a08260dadaaad0f0fd58243a2f7d428b",
+   "manual"
+  ],
+  "css/CSS2/floats-clear/floats-138-ref.xht": [
+   "8db6e0905ba670b80f20aa80e44962cceadf5297",
+   "support"
+  ],
+  "css/CSS2/floats-clear/floats-138.xht": [
+   "416ab6558d85bf6087c1470558b60dc5cce4bc23",
+   "reftest"
+  ],
+  "css/CSS2/floats-clear/floats-139-ref.xht": [
+   "4328a5a8c163199208c78b9112dbe5a087aa0c28",
+   "support"
+  ],
+  "css/CSS2/floats-clear/floats-139.xht": [
+   "02c9d4f87b0a46c6c95ee1b09c996be7c935efb2",
+   "reftest"
+  ],
+  "css/CSS2/floats-clear/floats-140.xht": [
+   "9dd24bcc3d4b94cc676854345e8121d20185eee3",
+   "visual"
+  ],
+  "css/CSS2/floats-clear/floats-141-ref.xht": [
+   "62a010e2903be58b8dacc01c971666f7d1fed802",
+   "support"
+  ],
+  "css/CSS2/floats-clear/floats-141.xht": [
+   "eb39779bd34ab81479a836fb234f6b2bb4b4a24a",
+   "reftest"
+  ],
+  "css/CSS2/floats-clear/floats-142-ref.xht": [
+   "c490ec1a4858afd6f7bfd46bba0bcaf0298c9797",
+   "support"
+  ],
+  "css/CSS2/floats-clear/floats-142.xht": [
+   "d9b3e7bdf39f05b1292628657db5e20f9fc3b138",
+   "reftest"
+  ],
+  "css/CSS2/floats-clear/floats-143-ref.xht": [
+   "7713f31704c7bec118a066048eeb0163730f2bbe",
+   "support"
+  ],
+  "css/CSS2/floats-clear/floats-143.xht": [
+   "8cae4019514dc9018bd744670e0fc856a55d874a",
+   "reftest"
+  ],
+  "css/CSS2/floats-clear/floats-144-ref.xht": [
+   "c784578d353d0663da810c74342218868dd47553",
+   "support"
+  ],
+  "css/CSS2/floats-clear/floats-144.xht": [
+   "26fa9d1f7bcd324ec9b68492be9bf3f7379d2ae1",
+   "reftest"
+  ],
+  "css/CSS2/floats-clear/floats-145-ref.xht": [
+   "59847ff890f965b94a96e8087cd3d7c62f76bd6a",
+   "support"
+  ],
+  "css/CSS2/floats-clear/floats-145.xht": [
+   "a3bd1f9808695d677be22afe3da06a700270424d",
+   "reftest"
+  ],
+  "css/CSS2/floats-clear/floats-146-ref.xht": [
+   "4a422448189fbd7ca1b7cfb90af55890ffa4f380",
+   "support"
+  ],
+  "css/CSS2/floats-clear/floats-146.xht": [
+   "52fffa988e08b5915ebb3f4674f7e241924a5625",
+   "reftest"
+  ],
+  "css/CSS2/floats-clear/floats-147-ref.xht": [
+   "650aec32660760ae2050efda0bba7c1a912dda42",
+   "support"
+  ],
+  "css/CSS2/floats-clear/floats-147.xht": [
+   "ab03645635dd0aa93cfe2b326f09548b433d71c0",
+   "reftest"
+  ],
+  "css/CSS2/floats-clear/floats-149-ref.xht": [
+   "a9d946ea815d3ff67108dd1d27cfc337c26f7487",
+   "support"
+  ],
+  "css/CSS2/floats-clear/floats-149.xht": [
+   "ed449c88750ff99f345327ed96d87b3e621ba34f",
+   "reftest"
+  ],
+  "css/CSS2/floats-clear/floats-150-ref.xht": [
+   "5746a474c454cd0f6cd855fc4c560b4c3b254cc6",
+   "support"
+  ],
+  "css/CSS2/floats-clear/floats-150.xht": [
+   "ecad06167429651d16fde87f6739a96dcf8afe93",
+   "reftest"
+  ],
+  "css/CSS2/floats-clear/floats-151.xht": [
+   "f981a2f2079da3bafc4953d705fe4a61360edc33",
+   "visual"
+  ],
+  "css/CSS2/floats-clear/floats-152.xht": [
+   "6ddf3b3788b460b20f2c1c2228622384a0e91d71",
+   "reftest"
+  ],
+  "css/CSS2/floats-clear/floats-153-ref.xht": [
+   "2ffbbec7eb23a66795e9c5ff0fdd0d08ac7c886f",
+   "support"
+  ],
+  "css/CSS2/floats-clear/floats-153.xht": [
+   "7867fdaf4815cd6953017e2c2b2be17a5311a34e",
+   "reftest"
+  ],
+  "css/CSS2/floats-clear/floats-154-ref.xht": [
+   "18ff0ce46bfb19742895503dbdce6ec141ec075a",
+   "support"
+  ],
+  "css/CSS2/floats-clear/floats-154.xht": [
+   "3d2b7ca6b76f545b0fce68825765aca69661be30",
+   "reftest"
+  ],
+  "css/CSS2/floats-clear/floats-bfc-001-ref.xht": [
+   "e50bf966d2d429030ff6af56df3dce9214d42585",
+   "support"
+  ],
+  "css/CSS2/floats-clear/floats-bfc-001.xht": [
+   "4963afc83dd877ba3b8caabd118e8c3a67d3e401",
+   "reftest"
+  ],
+  "css/CSS2/floats-clear/floats-bfc-002.xht": [
+   "e82c2df323829b38fb05a677e733f01b916ebceb",
+   "reftest"
+  ],
+  "css/CSS2/floats-clear/margin-collapse-018.xht": [
+   "18d8707bc32ca492f64a67e6db21390032ff3dc5",
+   "reftest"
+  ],
+  "css/CSS2/floats-clear/margin-collapse-023.xht": [
+   "affacd4ed7b72865f2442822cc7db4c3842cf800",
+   "reftest"
+  ],
+  "css/CSS2/floats-clear/margin-collapse-024-ref.xht": [
+   "1603e2a5bfdf70808ee53b64b057c09143854667",
+   "support"
+  ],
+  "css/CSS2/floats-clear/margin-collapse-024.xht": [
+   "838183fb3a044a6b2b96f77a2ef88cbc0e7c7156",
+   "reftest"
+  ],
+  "css/CSS2/floats-clear/margin-collapse-027.xht": [
+   "9a32902d09ea0770eff16add7758a744ee1b88bc",
+   "reftest"
+  ],
+  "css/CSS2/floats-clear/margin-collapse-031-ref.xht": [
+   "2c45106f309d7da16fd8570922f4c62ab66754e8",
+   "support"
+  ],
+  "css/CSS2/floats-clear/margin-collapse-031.xht": [
+   "58f636d5ba3f45f4f65f3fa03c8532814558541f",
+   "reftest"
+  ],
+  "css/CSS2/floats-clear/margin-collapse-033.xht": [
+   "b3f5e3de9834fa373c32f2b85892b98bf3959225",
+   "reftest"
+  ],
+  "css/CSS2/floats-clear/margin-collapse-034.xht": [
+   "4f8d08de857afabcf3a7499deb7aa501b2754742",
+   "reftest"
+  ],
+  "css/CSS2/floats-clear/margin-collapse-035.xht": [
+   "18e4cf02bb728a4d4d6d3fca75ed2d1d5cfa3a7a",
+   "reftest"
+  ],
+  "css/CSS2/floats-clear/margin-collapse-121-ref.xht": [
+   "5f72429ad39550d0a548d9c8c0d30db94fea5486",
+   "support"
+  ],
+  "css/CSS2/floats-clear/margin-collapse-121.xht": [
+   "524f61e58e3b716d95e9da6d1ce8daa1652992b2",
+   "reftest"
+  ],
+  "css/CSS2/floats-clear/margin-collapse-122.xht": [
+   "77eff6ef541099e5006c73b5cb2a489eee34b85e",
+   "reftest"
+  ],
+  "css/CSS2/floats-clear/margin-collapse-123-ref.xht": [
+   "b3c76bf3875cefa8e9ba05f50410443e97136e09",
+   "support"
+  ],
+  "css/CSS2/floats-clear/margin-collapse-123.xht": [
+   "4f645d785aa4e58407cb991adb92ea8d6b9acb50",
+   "reftest"
+  ],
+  "css/CSS2/floats-clear/margin-collapse-125-ref.xht": [
+   "7734b0c3a229038d82b9ee5c123035d89eac76ca",
+   "support"
+  ],
+  "css/CSS2/floats-clear/margin-collapse-125.xht": [
+   "7cdeefb65523555d50a9f9b3b58338620b390374",
+   "reftest"
+  ],
+  "css/CSS2/floats-clear/margin-collapse-134-ref.xht": [
+   "f6adc124767927734fb8a09bb8e6c54e5e1ebf4a",
+   "support"
+  ],
+  "css/CSS2/floats-clear/margin-collapse-134.xht": [
+   "e09c59bdd66b2e4f51fd581d0cc6581586ec3397",
+   "reftest"
+  ],
+  "css/CSS2/floats-clear/margin-collapse-135-ref.xht": [
+   "5839b1fb3535a8971c8dbcf752874054ecef2240",
+   "support"
+  ],
+  "css/CSS2/floats-clear/margin-collapse-135.xht": [
+   "220973732db3725bf0aeb6457a31d4753dee59b5",
+   "reftest"
+  ],
+  "css/CSS2/floats-clear/margin-collapse-142-ref.xht": [
+   "f60fe2df191038b8c9b77420637618a46546838f",
+   "support"
+  ],
+  "css/CSS2/floats-clear/margin-collapse-142.xht": [
+   "ef8bf28552fbd19637c187a29128c731a66314aa",
+   "reftest"
+  ],
+  "css/CSS2/floats-clear/margin-collapse-157-ref.xht": [
+   "a1d1e30ffbba3ba02dab993ed6f1c133f204d855",
+   "support"
+  ],
+  "css/CSS2/floats-clear/margin-collapse-157.xht": [
+   "f3d53d9b44bf140335ea2a3c2fe90bb7edd34f83",
+   "reftest"
+  ],
+  "css/CSS2/floats-clear/margin-collapse-158-ref.xht": [
+   "d2e16b2928906aaf7bb799cab38d13f7506ea911",
+   "support"
+  ],
+  "css/CSS2/floats-clear/margin-collapse-158.xht": [
+   "1ae09652de72bcb0d3cad1837e835711128e1a52",
+   "reftest"
+  ],
+  "css/CSS2/floats-clear/margin-collapse-164.xht": [
+   "ac8281739daaeea19fb892671b79db9349e25afe",
+   "visual"
+  ],
+  "css/CSS2/floats-clear/margin-collapse-165-ref.xht": [
+   "824804a39a8fff78126fba939bbd90e1d52c4d92",
+   "support"
+  ],
+  "css/CSS2/floats-clear/margin-collapse-165.xht": [
+   "4b7de145dddbc95791771d579c8bea590ab04bc7",
+   "reftest"
+  ],
+  "css/CSS2/floats-clear/margin-collapse-166.xht": [
+   "46601c3b82b181c17bcfef831f7c85e37eb3717d",
+   "reftest"
+  ],
+  "css/CSS2/floats-clear/margin-collapse-clear-002-ref.xht": [
+   "42eebc89bcb2b128e1a3903da3884ede8760a3fb",
+   "support"
+  ],
+  "css/CSS2/floats-clear/margin-collapse-clear-002.xht": [
+   "b6987e36eab6eee1c151e44f9a509a1b9d83aeb4",
+   "reftest"
+  ],
+  "css/CSS2/floats-clear/margin-collapse-clear-003-ref.xht": [
+   "cc5c20e92332985170d7730af76b4a602ee39b5a",
+   "support"
+  ],
+  "css/CSS2/floats-clear/margin-collapse-clear-003.xht": [
+   "c4b086649d752df28db53fbcc3cde51c56a18d69",
+   "reftest"
+  ],
+  "css/CSS2/floats-clear/margin-collapse-clear-005.xht": [
+   "8f5fa6840cda286fc051a55a774929d1a4621c87",
+   "visual"
+  ],
+  "css/CSS2/floats-clear/margin-collapse-clear-008.xht": [
+   "ad90f8e6d71e48ceaa544eca5f1bb20268ba2b24",
+   "reftest"
+  ],
+  "css/CSS2/floats-clear/margin-collapse-clear-009.xht": [
+   "be8397af02636bf3a9b64ef2271c5ac3e8885a15",
+   "reftest"
+  ],
+  "css/CSS2/floats-clear/margin-collapse-clear-011.xht": [
+   "7eb4d2d51ad914f13fee4d4c24d5dbbd31b8d4c0",
+   "visual"
+  ],
+  "css/CSS2/floats-clear/margin-collapse-clear-012-ref.xht": [
+   "b50cad7e1d959927ba6d29709a2e09819acece2a",
+   "support"
+  ],
+  "css/CSS2/floats-clear/margin-collapse-clear-012.xht": [
+   "78e404a853bab4b33c0a30e818f5e25638ec9f3d",
+   "reftest"
+  ],
+  "css/CSS2/floats-clear/margin-collapse-clear-013.xht": [
+   "7ac25706546f27b0fbd6acf98f83e9522db027a2",
+   "reftest"
+  ],
+  "css/CSS2/floats-clear/margin-collapse-clear-014-ref.xht": [
+   "69c2e44b5ba51719df1d1c36ea8cc66f58634e94",
+   "support"
+  ],
+  "css/CSS2/floats-clear/margin-collapse-clear-014.xht": [
+   "ef6e207a912acc31ff243a38c0f941320ec20a36",
+   "reftest"
+  ],
+  "css/CSS2/floats-clear/margin-collapse-clear-015-ref.xht": [
+   "95fa53416cbb0c6587145931ad92c0baf67022b5",
+   "support"
+  ],
+  "css/CSS2/floats-clear/margin-collapse-clear-015.xht": [
+   "adcc00ced7ac8aed4c9da212f26f73b9c6f31b87",
+   "reftest"
+  ],
+  "css/CSS2/floats-clear/margin-collapse-clear-016-ref.xht": [
+   "122c0486d28783e9233d065a14bef9864f85e8fe",
+   "support"
+  ],
+  "css/CSS2/floats-clear/margin-collapse-clear-016.xht": [
+   "dc99a8db71f8d5a377e11080d2febc979c1f49b5",
+   "reftest"
+  ],
+  "css/CSS2/floats-clear/margin-collapse-clear-017-ref.xht": [
+   "d9d0dc6f27cb42c0dd0e7df606d5040dd779478d",
+   "support"
+  ],
+  "css/CSS2/floats-clear/margin-collapse-clear-017.xht": [
+   "b4347b446723cc1bfd3476c457858a780064e001",
+   "reftest"
+  ],
+  "css/CSS2/floats-clear/support/1x1-green.png": [
+   "51e7b6974a09eda6cb31337717c5eaeb9c44b443",
+   "support"
+  ],
+  "css/CSS2/floats-clear/support/1x1-lime.png": [
+   "b040eb633a35c0648ad72a2902361faf25bc419d",
+   "support"
+  ],
+  "css/CSS2/floats-clear/support/1x1-maroon.png": [
+   "f78757e5ebe897bd618d100718385c84e00f2369",
+   "support"
+  ],
+  "css/CSS2/floats-clear/support/1x1-navy.png": [
+   "a3fd80b2c79866fd343e18eef5a51ed6e835e53e",
+   "support"
+  ],
+  "css/CSS2/floats-clear/support/1x1-red.png": [
+   "b8da86921d04ba42f42b0a60b03c5c2172f58c2b",
+   "support"
+  ],
+  "css/CSS2/floats-clear/support/1x1-white.png": [
+   "71b246439f915ad21c7d39414d9f85c8ed73b4ca",
+   "support"
+  ],
+  "css/CSS2/floats-clear/support/60x60-gg-rr.png": [
+   "e4843d42a26189132e1bdd53e8618521330baeca",
+   "support"
+  ],
+  "css/CSS2/floats-clear/support/60x60-green.png": [
+   "2f8eb2409b0a18e0bff90725ec7eedc16e7be448",
+   "support"
+  ],
+  "css/CSS2/floats-clear/support/60x60-red.png": [
+   "415b835abaaab822aab11880354296e7356bbb0a",
+   "support"
+  ],
+  "css/CSS2/floats-clear/support/a-green.css": [
+   "a9716c222274ba868bfd06c05e28cb7762d93245",
+   "support"
+  ],
+  "css/CSS2/floats-clear/support/b-green.css": [
+   "eb78a4d12f35b4249051826ea000c53d04df80b7",
+   "support"
+  ],
+  "css/CSS2/floats-clear/support/black15x15.png": [
+   "9252cae16138e45c07796fa5a10b6100ae703eaa",
+   "support"
+  ],
+  "css/CSS2/floats-clear/support/blue15x15.png": [
+   "eb48032c07bfeb1d3b6be6e5c9c34d2fe2180767",
+   "support"
+  ],
+  "css/CSS2/floats-clear/support/c-red.css": [
+   "dc288b7aa49b57e0abf803741e78582ba5ceffdb",
+   "support"
+  ],
+  "css/CSS2/floats-clear/support/cat.png": [
+   "461fd17b274662b88500cdf42bab7f3b79e6019d",
+   "support"
+  ],
+  "css/CSS2/floats-clear/support/clear-clearance-calculation-001.png": [
+   "751cf5ea84ee7f290ece1d21416b7ba2411d7b64",
+   "support"
+  ],
+  "css/CSS2/floats-clear/support/clear-clearance-calculation-002.png": [
+   "4365e9d91a7adce13f1b6c6b0ce7236f3c7b39e6",
+   "support"
+  ],
+  "css/CSS2/floats-clear/support/clear-clearance-calculation-003.png": [
+   "497ac5f66b07db992fa81f8aa2a8649759f746dd",
+   "support"
+  ],
+  "css/CSS2/floats-clear/support/diamond.png": [
+   "4a136dfe39879f33f627a6de92f1e43fe8af7b94",
+   "support"
+  ],
+  "css/CSS2/floats-clear/support/floats-005.png": [
+   "f7e9b48ae8c03a11d8d3ddf08803a59d9a4d8249",
+   "support"
+  ],
+  "css/CSS2/floats-clear/support/green-rectangle-50wideBy10tall.png": [
+   "4793a81fb04b63524970d8906c4ca0fc4e8571db",
+   "support"
+  ],
+  "css/CSS2/floats-clear/support/green15x15.png": [
+   "de1830c21195763f7327f270b14b6d50dfdfb21d",
+   "support"
+  ],
+  "css/CSS2/floats-clear/support/margin-collapse-2em-space.png": [
+   "75f181cc9321b22549e3bc48b57c53d7d551b060",
+   "support"
+  ],
+  "css/CSS2/floats-clear/support/margin-collapse-4em-space.png": [
+   "5dfa7d6e144452fb3a167f11643587878b17a02a",
+   "support"
+  ],
+  "css/CSS2/floats-clear/support/pattern-grg-rgr-grg.png": [
+   "cfb6ecc271c296c69b133a81f350a777b608bea4",
+   "support"
+  ],
+  "css/CSS2/floats-clear/support/pattern-grg-rrg-rgg.png": [
+   "27080d4df556f59d4b501e03f2847bd9da5756a9",
+   "support"
+  ],
+  "css/CSS2/floats-clear/support/pattern-rgr-grg-rgr.png": [
+   "c100a35c361205932c506f1b3399753b91e4c45e",
+   "support"
+  ],
+  "css/CSS2/floats-clear/support/pattern-tr.png": [
+   "c1e687deee7b79ae091f2b42c4f6cff430076444",
+   "support"
+  ],
+  "css/CSS2/floats-clear/support/ring.png": [
+   "11dd9e78a68b2fc5eb69c401920b43070751a569",
+   "support"
+  ],
+  "css/CSS2/floats-clear/support/ruler-v-100px-200px-300px.png": [
+   "4ee6d6fe9c3fcae985bc53203f5e8ed99f2a2e12",
+   "support"
+  ],
+  "css/CSS2/floats-clear/support/square-purple.png": [
+   "ef0619128f22e05920930420b7d96f91f860d904",
+   "support"
+  ],
+  "css/CSS2/floats-clear/support/square-teal.png": [
+   "92efae44b710cf1ddd9ba96e593dae03fb2519c4",
+   "support"
+  ],
+  "css/CSS2/floats-clear/support/square-white.png": [
+   "2f93fcc1462ba32b9b7899e5e78c869e529e68ee",
+   "support"
+  ],
+  "css/CSS2/floats-clear/support/swatch-blue.png": [
+   "e79958e10feeeed3db88dee9bae9ea80055593c5",
+   "support"
+  ],
+  "css/CSS2/floats-clear/support/swatch-green.png": [
+   "c51a03a807743f59e3027371ccfbd8e80235a485",
+   "support"
+  ],
+  "css/CSS2/floats-clear/support/swatch-lime.png": [
+   "ee2cc3dcd6d8dda7c0e4ef3bbc7e63c74118211d",
+   "support"
+  ],
+  "css/CSS2/floats-clear/support/swatch-orange.png": [
+   "10768a5177b772013e628c7397ae64725057295d",
+   "support"
+  ],
+  "css/CSS2/floats-clear/support/swatch-purple.png": [
+   "c3bc3e851fbac9c05aba6357c6caeca0ee06cb4b",
+   "support"
+  ],
+  "css/CSS2/floats-clear/support/swatch-red.png": [
+   "eedea3e9a99c18f5fc2de3796be2c6f9da2ea07d",
+   "support"
+  ],
+  "css/CSS2/floats-clear/support/swatch-white.png": [
+   "5bccb1922de065e551d7d106e6493bb91040f3da",
+   "support"
+  ],
+  "css/CSS2/floats-clear/support/swatch-yellow.png": [
+   "9cc73897c2e1fc45f5224d81d02a6b87bf72b1fa",
+   "support"
+  ],
+  "css/CSS2/floats-clear/support/test-bl.png": [
+   "16e4eaa4864c10e72433e575f59c9b67763fe06a",
+   "support"
+  ],
+  "css/CSS2/floats-clear/support/test-br.png": [
+   "37f65e7a21d9b9b2daa508f193b8f665c58a1ce9",
+   "support"
+  ],
+  "css/CSS2/floats-clear/support/test-outer.png": [
+   "a0b8dfa40065b27f1d939ce0aab39ada3933c574",
+   "support"
+  ],
+  "css/CSS2/floats-clear/support/test-tl.png": [
+   "956e5156fd8c0e75b1c0f3b8b3b900b653663f74",
+   "support"
+  ],
+  "css/CSS2/floats-clear/support/test-tr.png": [
+   "078e1dd6dd61d36cec239ed75d02051f61fe60a5",
+   "support"
+  ],
   "css/CSS2/floats/floats-placement-vertical-001-ref.xht": [
    "219c3d13a6859b58907f35df0a5602ba215a0335",
    "support"
@@ -118934,6 +141195,6982 @@
    "b7c7725481ac65f637548740e9f7eb5dc257e9cc",
    "reftest"
   ],
+  "css/CSS2/normal-flow/block-formatting-context-height-001.xht": [
+   "6339215a18ef36150d8da77ab2a76442f7007e05",
+   "reftest"
+  ],
+  "css/CSS2/normal-flow/block-formatting-context-height-002.xht": [
+   "2cd6830bf630d9ceff5c1c1ac9d52d453e8621bf",
+   "reftest"
+  ],
+  "css/CSS2/normal-flow/block-formatting-context-height-003-ref.xht": [
+   "3a442ad16db2cc2af90f6e7f71c8828c6e824179",
+   "support"
+  ],
+  "css/CSS2/normal-flow/block-formatting-context-height-003.xht": [
+   "919f860afaf7b0734bd28e5fad96ce30e64bf1bc",
+   "reftest"
+  ],
+  "css/CSS2/normal-flow/block-formatting-contexts-001-ref.xht": [
+   "18f8fc40f06857207320c44154f9a66cc81e194b",
+   "support"
+  ],
+  "css/CSS2/normal-flow/block-formatting-contexts-001.xht": [
+   "d522d5d764ecf3b2ba265e698fc1536a872ec4ea",
+   "reftest"
+  ],
+  "css/CSS2/normal-flow/block-formatting-contexts-003-ref.xht": [
+   "8b925c1e8d4e55cfe576a5f3d7e8b01b95144d20",
+   "support"
+  ],
+  "css/CSS2/normal-flow/block-formatting-contexts-003.xht": [
+   "e67dadc22067156134477b277f00c8214d9d74f9",
+   "reftest"
+  ],
+  "css/CSS2/normal-flow/block-formatting-contexts-004-ref.xht": [
+   "8d2eaf897270d63cfecbb4f0c77cbc93b9c2e536",
+   "support"
+  ],
+  "css/CSS2/normal-flow/block-formatting-contexts-004.xht": [
+   "160f8debd3b904c0b317ea480e0e077ca51de4b1",
+   "reftest"
+  ],
+  "css/CSS2/normal-flow/block-formatting-contexts-005-ref.xht": [
+   "f51a03ea1e1f0823930e9964a31ba342f63b9d58",
+   "support"
+  ],
+  "css/CSS2/normal-flow/block-formatting-contexts-005.xht": [
+   "6f9e8d158aed149104066dc33abc57161702647b",
+   "reftest"
+  ],
+  "css/CSS2/normal-flow/block-formatting-contexts-006-ref.xht": [
+   "35647e71bc0805d97374b09a401a61885a3eac2e",
+   "support"
+  ],
+  "css/CSS2/normal-flow/block-formatting-contexts-006.xht": [
+   "a5891bb8cf59c0048c3a1a4462a126b54b2afc71",
+   "reftest"
+  ],
+  "css/CSS2/normal-flow/block-formatting-contexts-007.xht": [
+   "a1f3925d1ca8d4e1814ed41d41249b3cbd8002cd",
+   "reftest"
+  ],
+  "css/CSS2/normal-flow/block-formatting-contexts-008-ref.xht": [
+   "adf08e66cbf2ca336fe9eb8acbb318f6f7d00a54",
+   "support"
+  ],
+  "css/CSS2/normal-flow/block-formatting-contexts-008.xht": [
+   "83a11a70aad53f297fb78fd7cf38b542a4fc9a3e",
+   "reftest"
+  ],
+  "css/CSS2/normal-flow/block-formatting-contexts-009.xht": [
+   "2c84fe645d87153f6bf826fdf434c2dacb6a8ce8",
+   "reftest"
+  ],
+  "css/CSS2/normal-flow/block-formatting-contexts-010.xht": [
+   "fcb2f62aa95bf83c58c72690360b2143b633d3cc",
+   "reftest"
+  ],
+  "css/CSS2/normal-flow/block-formatting-contexts-011-ref.xht": [
+   "e4e86937b6658c533b983a4033d31f51bd8d9368",
+   "support"
+  ],
+  "css/CSS2/normal-flow/block-formatting-contexts-011.xht": [
+   "db292485df6fd8cb05a04de941235e3728e1ffdd",
+   "reftest"
+  ],
+  "css/CSS2/normal-flow/block-formatting-contexts-012.xht": [
+   "aba098a32a65d916f3f83b884acc0407367e9ca4",
+   "reftest"
+  ],
+  "css/CSS2/normal-flow/block-formatting-contexts-013.xht": [
+   "849071df6c413cda84dc1c0dd9ba349d68dd997f",
+   "visual"
+  ],
+  "css/CSS2/normal-flow/block-formatting-contexts-014.xht": [
+   "5f0d0023140e5462e5ee64e0a36b743891433ecc",
+   "visual"
+  ],
+  "css/CSS2/normal-flow/block-formatting-contexts-015-ref.xht": [
+   "4fe40ddd1be7ec0d4fc7549066338940d1523a22",
+   "support"
+  ],
+  "css/CSS2/normal-flow/block-formatting-contexts-015.xht": [
+   "81870b55617a073fda2882cfe1c64b3c5a39575d",
+   "reftest"
+  ],
+  "css/CSS2/normal-flow/block-formatting-contexts-016.xht": [
+   "a70dd3b650d298719a9381137844e8040ddf2f38",
+   "reftest"
+  ],
+  "css/CSS2/normal-flow/block-in-inline-append-001-ref.xht": [
+   "03c3a5ffc4772ab8c5723e8bfbf801d4742a5c41",
+   "support"
+  ],
+  "css/CSS2/normal-flow/block-in-inline-append-001.xht": [
+   "2a3fd0b90b76247dbfbccac0afd1a54cf3e66520",
+   "reftest"
+  ],
+  "css/CSS2/normal-flow/block-in-inline-append-002-nosplit-ref.xht": [
+   "082239f87db731c3e805c646ffa4cba7b362e5dc",
+   "reftest_node"
+  ],
+  "css/CSS2/normal-flow/block-in-inline-append-002-ref.xht": [
+   "2cd82357c237f9c457d25d4d8878f8c6a43d50eb",
+   "reftest_node"
+  ],
+  "css/CSS2/normal-flow/block-in-inline-append-002.xht": [
+   "1d389ce4b9d8c841adc8ffacd47eadd63a0c84f6",
+   "reftest"
+  ],
+  "css/CSS2/normal-flow/block-in-inline-empty-001-ref.xht": [
+   "6bef69d1061f9398cb1f972c71c5744f699b6722",
+   "support"
+  ],
+  "css/CSS2/normal-flow/block-in-inline-empty-001.xht": [
+   "1d833c39e8d431bbf7558a0e8d79fb78bf2cbe7b",
+   "reftest"
+  ],
+  "css/CSS2/normal-flow/block-in-inline-empty-002-ref.xht": [
+   "34f425f7c6c00164df5486287e078d68428e99b2",
+   "support"
+  ],
+  "css/CSS2/normal-flow/block-in-inline-empty-002.xht": [
+   "f4b9adc26cc4a5ec256aa3c02f32d641f05dcc0e",
+   "reftest"
+  ],
+  "css/CSS2/normal-flow/block-in-inline-empty-003-ref.xht": [
+   "153ca194690f7d95199d2cff83f631dd1d81b7fb",
+   "support"
+  ],
+  "css/CSS2/normal-flow/block-in-inline-empty-003.xht": [
+   "77576f657227994b27d62fab7c3553ddeedd1a77",
+   "reftest"
+  ],
+  "css/CSS2/normal-flow/block-in-inline-empty-004-ref.xht": [
+   "d22bd70935ea5ef88f04b64d00c83d2dbae975cd",
+   "support"
+  ],
+  "css/CSS2/normal-flow/block-in-inline-empty-004.xht": [
+   "76b24dffa8eb713270340a9347e5f42f89eaa85b",
+   "reftest"
+  ],
+  "css/CSS2/normal-flow/block-in-inline-float-between-001-ref.xht": [
+   "25b2c3e03aeeeb07f5a7869a60147f662922329f",
+   "support"
+  ],
+  "css/CSS2/normal-flow/block-in-inline-float-between-001.xht": [
+   "c145a5e80cb20aa98c4dd4e4340e27f3be21ca4f",
+   "reftest"
+  ],
+  "css/CSS2/normal-flow/block-in-inline-insert-001-nosplit-ref.xht": [
+   "0586ede23a68a92a2d2b95c04398f54a62e5cd3f",
+   "reftest_node"
+  ],
+  "css/CSS2/normal-flow/block-in-inline-insert-001-ref.xht": [
+   "0955dde95c423ff4ad99361071bfa376a98366db",
+   "reftest_node"
+  ],
+  "css/CSS2/normal-flow/block-in-inline-insert-001a.xht": [
+   "0d6f0ffa7aade92ac7eae879d458e2513b4986cd",
+   "reftest"
+  ],
+  "css/CSS2/normal-flow/block-in-inline-insert-001b.xht": [
+   "2aa595e9ab4408bc5b64acd5ec7e7d1b20c9e766",
+   "reftest"
+  ],
+  "css/CSS2/normal-flow/block-in-inline-insert-001c.xht": [
+   "0194addbb9194f2950907788493fb4997c1fe5f7",
+   "reftest"
+  ],
+  "css/CSS2/normal-flow/block-in-inline-insert-001d.xht": [
+   "f011e579b1ef35cf433c2387d121e116ae7d6e8b",
+   "reftest"
+  ],
+  "css/CSS2/normal-flow/block-in-inline-insert-001e.xht": [
+   "14ec81c850b4e5b56bc323c16d95ce82d9171342",
+   "reftest"
+  ],
+  "css/CSS2/normal-flow/block-in-inline-insert-001f.xht": [
+   "84f74205694faff52e5529b9176ff3da89ba4f7a",
+   "reftest"
+  ],
+  "css/CSS2/normal-flow/block-in-inline-insert-001g.xht": [
+   "a85a18f7834b4cb43a5b41ef5b1147822157b25e",
+   "reftest"
+  ],
+  "css/CSS2/normal-flow/block-in-inline-insert-001h.xht": [
+   "dece82f52ea38f5b348f2ea694e3f6a47f1e4a19",
+   "reftest"
+  ],
+  "css/CSS2/normal-flow/block-in-inline-insert-001i.xht": [
+   "1629649b9934f5721a57861a56b7db8806f11232",
+   "reftest"
+  ],
+  "css/CSS2/normal-flow/block-in-inline-insert-001j.xht": [
+   "b9cbdfe43d3ccbad63ed076d014f4cd3759ad32a",
+   "reftest"
+  ],
+  "css/CSS2/normal-flow/block-in-inline-insert-001k.xht": [
+   "c6231330ddc5d6295d5af0f2d6c4d19e9df19983",
+   "reftest"
+  ],
+  "css/CSS2/normal-flow/block-in-inline-insert-001l.xht": [
+   "b89859f2adb77bec4bcea6f041ca1923fdcac72f",
+   "reftest"
+  ],
+  "css/CSS2/normal-flow/block-in-inline-insert-002-nosplit-ref.xht": [
+   "b8d524338b6479c71390860dcdeb6dd13f439c74",
+   "reftest_node"
+  ],
+  "css/CSS2/normal-flow/block-in-inline-insert-002-ref.xht": [
+   "21ac17a83131007bcd8c7114d91c380ec7b95ada",
+   "reftest_node"
+  ],
+  "css/CSS2/normal-flow/block-in-inline-insert-002a.xht": [
+   "58d794cec2e8c06e532ec38dc4b890f7ddc47b6d",
+   "reftest"
+  ],
+  "css/CSS2/normal-flow/block-in-inline-insert-002b.xht": [
+   "e42ba14a83d24475b918068ff059ebd9f947c87b",
+   "reftest"
+  ],
+  "css/CSS2/normal-flow/block-in-inline-insert-002c.xht": [
+   "c9696b7361a22dd50a5e84e31fba665946263802",
+   "reftest"
+  ],
+  "css/CSS2/normal-flow/block-in-inline-insert-002d.xht": [
+   "fe4793b180d8f057d9f377e8337b7d0d1df680ba",
+   "reftest"
+  ],
+  "css/CSS2/normal-flow/block-in-inline-insert-002e.xht": [
+   "228474f6f1dd03d6a5aa9b6bcbb5bd63d7f91e55",
+   "reftest"
+  ],
+  "css/CSS2/normal-flow/block-in-inline-insert-002f.xht": [
+   "8557cd05dfa47f381365c6a41c73a36d213828d8",
+   "reftest"
+  ],
+  "css/CSS2/normal-flow/block-in-inline-insert-002g.xht": [
+   "eeef7893925e56bc0c097c9ca7e74adb6a0b4687",
+   "reftest"
+  ],
+  "css/CSS2/normal-flow/block-in-inline-insert-002h.xht": [
+   "1bb4ccbed9dec6d57d43cfeb880c4c1be2309b8c",
+   "reftest"
+  ],
+  "css/CSS2/normal-flow/block-in-inline-insert-002i.xht": [
+   "4f76b85a2f5da44ebc91252cad000402e211d7f6",
+   "reftest"
+  ],
+  "css/CSS2/normal-flow/block-in-inline-insert-003-nosplit-ref.xht": [
+   "9414c3ea7b1a91bac44240f43fc624aa63c412d7",
+   "reftest_node"
+  ],
+  "css/CSS2/normal-flow/block-in-inline-insert-003-ref.xht": [
+   "60471cea3986f99e72cbadefa92b8dd415ff8ad1",
+   "reftest_node"
+  ],
+  "css/CSS2/normal-flow/block-in-inline-insert-003.xht": [
+   "32f682dfe5538855bc56f0b7345f46ea498a4036",
+   "reftest"
+  ],
+  "css/CSS2/normal-flow/block-in-inline-insert-004-nosplit-ref.xht": [
+   "fac85f4c5dbf09af5446b7111cd74f5a2fc64b34",
+   "reftest_node"
+  ],
+  "css/CSS2/normal-flow/block-in-inline-insert-004-ref.xht": [
+   "1f725626fff5a62081084d4ff37c3827931c2973",
+   "reftest_node"
+  ],
+  "css/CSS2/normal-flow/block-in-inline-insert-004.xht": [
+   "1964357e75e2687ea5f3189c116da55554ff000b",
+   "reftest"
+  ],
+  "css/CSS2/normal-flow/block-in-inline-insert-006-nosplit-ref.xht": [
+   "1bdb083fb0e65dfc6dac3c8e6846905d38cd24a5",
+   "reftest_node"
+  ],
+  "css/CSS2/normal-flow/block-in-inline-insert-006-ref.xht": [
+   "8d4c3f9bc78ecbe0be4c90fd75e38939cfa67011",
+   "reftest_node"
+  ],
+  "css/CSS2/normal-flow/block-in-inline-insert-006.xht": [
+   "8202fa73921593271f05afe1e3d960ea97b36fda",
+   "reftest"
+  ],
+  "css/CSS2/normal-flow/block-in-inline-insert-007-nosplit-ref.xht": [
+   "19f73966c41a99a4993ba50d24cfeecc9d800baa",
+   "reftest_node"
+  ],
+  "css/CSS2/normal-flow/block-in-inline-insert-007-ref.xht": [
+   "b879ba220fb21ca8bbf3dbae76a434d9785a2d46",
+   "reftest_node"
+  ],
+  "css/CSS2/normal-flow/block-in-inline-insert-007.xht": [
+   "5c767fb859dcc8b6750d53bbd8db4d0c2a02b013",
+   "reftest"
+  ],
+  "css/CSS2/normal-flow/block-in-inline-insert-008-nosplit-ref.xht": [
+   "c53abd4445e105a271ebb5caf195394ce8e106e5",
+   "reftest_node"
+  ],
+  "css/CSS2/normal-flow/block-in-inline-insert-008-ref.xht": [
+   "81c485f42ced405c37bd697533d918bbbd8a6386",
+   "reftest_node"
+  ],
+  "css/CSS2/normal-flow/block-in-inline-insert-008a.xht": [
+   "bd22460a7ee1999f06b22a1aac853077cd993886",
+   "reftest"
+  ],
+  "css/CSS2/normal-flow/block-in-inline-insert-008b.xht": [
+   "d9953cc446266a33572bbe1a4ff0050a70c2eb6c",
+   "reftest"
+  ],
+  "css/CSS2/normal-flow/block-in-inline-insert-008c.xht": [
+   "3cfa0f15eb1f8360922785ea7838cb74bde087d7",
+   "reftest"
+  ],
+  "css/CSS2/normal-flow/block-in-inline-insert-009-nosplit-ref.xht": [
+   "957635d92fd32911ef57a995761ceb50a8a1c423",
+   "reftest_node"
+  ],
+  "css/CSS2/normal-flow/block-in-inline-insert-009-ref.xht": [
+   "c802e981db831ffb9ccb96e4cfafe80a2c2a514c",
+   "reftest_node"
+  ],
+  "css/CSS2/normal-flow/block-in-inline-insert-009.xht": [
+   "73a3f9f4c833dd365a6ba95f96639b8158463fb3",
+   "reftest"
+  ],
+  "css/CSS2/normal-flow/block-in-inline-insert-010-nosplit-ref.xht": [
+   "34d28ef29366c23ebaee58f48b93026a44e0c1d8",
+   "reftest_node"
+  ],
+  "css/CSS2/normal-flow/block-in-inline-insert-010-ref.xht": [
+   "ac401819024125453f41e40412fbc81784e3a6f9",
+   "reftest_node"
+  ],
+  "css/CSS2/normal-flow/block-in-inline-insert-010.xht": [
+   "17d6e2e71c1b0d3f7b8d354af733d440af8b6509",
+   "reftest"
+  ],
+  "css/CSS2/normal-flow/block-in-inline-insert-011-nosplit-ref.xht": [
+   "19780320ee0f127fa0b281fdff5d47407f3141bc",
+   "reftest_node"
+  ],
+  "css/CSS2/normal-flow/block-in-inline-insert-011-ref.xht": [
+   "38d3ed9a0067021ca74960c3cf04e80858de4b5d",
+   "reftest_node"
+  ],
+  "css/CSS2/normal-flow/block-in-inline-insert-011.xht": [
+   "721384c8e7b3535c1fca08b7f1f733732ee7d1ac",
+   "reftest"
+  ],
+  "css/CSS2/normal-flow/block-in-inline-insert-012-nosplit-ref.xht": [
+   "d81eefb376a1baec20a80633ae899068db2a71ac",
+   "reftest_node"
+  ],
+  "css/CSS2/normal-flow/block-in-inline-insert-012-ref.xht": [
+   "c0b776d16701bbc5c3d3646abf81f37dc25abc1e",
+   "reftest_node"
+  ],
+  "css/CSS2/normal-flow/block-in-inline-insert-012.xht": [
+   "eb2d778b0b0120c5e573eb413d6d0e4bf72d5735",
+   "reftest"
+  ],
+  "css/CSS2/normal-flow/block-in-inline-insert-013-nosplit-ref.xht": [
+   "7473259fc89250d9be98be5b02ff201fdd2d76cc",
+   "reftest_node"
+  ],
+  "css/CSS2/normal-flow/block-in-inline-insert-013-ref.xht": [
+   "78d0362bfc099d69fd55b78ee288d52251698a7e",
+   "reftest_node"
+  ],
+  "css/CSS2/normal-flow/block-in-inline-insert-013.xht": [
+   "afe8fc12cb2e5cb194867cc9cae102cb2ca333c4",
+   "reftest"
+  ],
+  "css/CSS2/normal-flow/block-in-inline-insert-014-nosplit-ref.xht": [
+   "5e0e2a9b21cfb8b908e78221115647ac76f0079c",
+   "reftest_node"
+  ],
+  "css/CSS2/normal-flow/block-in-inline-insert-014-ref.xht": [
+   "4263310408e2785b3757f7e8d9f3362f73eaeb66",
+   "reftest_node"
+  ],
+  "css/CSS2/normal-flow/block-in-inline-insert-014.xht": [
+   "e7bc0254701d862bc1b57760f4c0e46c6b150ca6",
+   "reftest"
+  ],
+  "css/CSS2/normal-flow/block-in-inline-insert-015-nosplit-ref.xht": [
+   "c1a081c53cbc6aa5fab9463a907b044e21a33bc7",
+   "reftest_node"
+  ],
+  "css/CSS2/normal-flow/block-in-inline-insert-015-ref.xht": [
+   "5f420ccf1841ec75bec0aad6e5ee3f01229638bd",
+   "reftest_node"
+  ],
+  "css/CSS2/normal-flow/block-in-inline-insert-015.xht": [
+   "040335f4c438adf0853b2e9a79877c07697ba51c",
+   "reftest"
+  ],
+  "css/CSS2/normal-flow/block-in-inline-insert-016-nosplit-ref.xht": [
+   "71442651fdf26262d45ba0a47c38f042033b62d8",
+   "reftest_node"
+  ],
+  "css/CSS2/normal-flow/block-in-inline-insert-016-ref.xht": [
+   "a0e2c28a69beeff7e260d570c1adb8c4ca26d65a",
+   "reftest_node"
+  ],
+  "css/CSS2/normal-flow/block-in-inline-insert-016a.xht": [
+   "8313de13ed077cadb423582ed33aad02a60f81ac",
+   "reftest"
+  ],
+  "css/CSS2/normal-flow/block-in-inline-insert-016b.xht": [
+   "9d7ea9c94bbb29b5c901ed4c054967fd4d7ae994",
+   "reftest"
+  ],
+  "css/CSS2/normal-flow/block-in-inline-insert-017-ref.xht": [
+   "f27bbc36fa2131fc0aac868ebd5526898925407f",
+   "support"
+  ],
+  "css/CSS2/normal-flow/block-in-inline-insert-017.xht": [
+   "4f1466e3da206a293d71eeb741631df9ac2eab0c",
+   "reftest"
+  ],
+  "css/CSS2/normal-flow/block-in-inline-margins-001-ref.xht": [
+   "ee47fbc1321c52d1479407d9e18dca6e7267a8ea",
+   "support"
+  ],
+  "css/CSS2/normal-flow/block-in-inline-margins-001a.xht": [
+   "d7b463ce6dc9590cc6b5b0d950ceaaef7b3d3d40",
+   "reftest"
+  ],
+  "css/CSS2/normal-flow/block-in-inline-margins-001b.xht": [
+   "9066ecaa7ad90c4ebafa72b53883f514021e852c",
+   "reftest"
+  ],
+  "css/CSS2/normal-flow/block-in-inline-margins-002-ref.xht": [
+   "5fcd971623c0d69c612c9ebeccf814ab8371deff",
+   "support"
+  ],
+  "css/CSS2/normal-flow/block-in-inline-margins-002a.xht": [
+   "2423c53d5057a149e14dd9a82f1cebe13b1725ef",
+   "reftest"
+  ],
+  "css/CSS2/normal-flow/block-in-inline-margins-002b.xht": [
+   "ea25453f00be593ec5c784755f75b5ef56c61662",
+   "reftest"
+  ],
+  "css/CSS2/normal-flow/block-in-inline-nested-001-ref.xht": [
+   "5d58cfe20981b4ae79945e3707359b0b6fb61a7e",
+   "support"
+  ],
+  "css/CSS2/normal-flow/block-in-inline-nested-001.xht": [
+   "b930b05c51c1e566e3077845f27fe111c474d98a",
+   "reftest"
+  ],
+  "css/CSS2/normal-flow/block-in-inline-nested-002-ref.xht": [
+   "839b6221c535d1f830ea5b348a6e48e4279abbc3",
+   "support"
+  ],
+  "css/CSS2/normal-flow/block-in-inline-nested-002.xht": [
+   "630ef33cd66dabb49d719871bbac134171f581e6",
+   "reftest"
+  ],
+  "css/CSS2/normal-flow/block-in-inline-percents-001-ref.xht": [
+   "8f953b3b941eb077491d4ec644778da93934b736",
+   "support"
+  ],
+  "css/CSS2/normal-flow/block-in-inline-percents-001.xht": [
+   "0096a1aec469c6b8dc352b2cf287521ee19f75c1",
+   "reftest"
+  ],
+  "css/CSS2/normal-flow/block-in-inline-remove-000-ref.xht": [
+   "7b03f641ec3dd3001e1cf764e87269d823f2ac0b",
+   "support"
+  ],
+  "css/CSS2/normal-flow/block-in-inline-remove-000.xht": [
+   "bfd1f77ce979074b7605337048adfdd297f57d34",
+   "reftest"
+  ],
+  "css/CSS2/normal-flow/block-in-inline-remove-001-nosplit-ref.xht": [
+   "aa96c213bea50849c5a545cac31774d6ee4329a9",
+   "reftest_node"
+  ],
+  "css/CSS2/normal-flow/block-in-inline-remove-001-ref.xht": [
+   "50c38dd084f7f8c5b328b072b0e41730254c0f55",
+   "reftest_node"
+  ],
+  "css/CSS2/normal-flow/block-in-inline-remove-001.xht": [
+   "0eda7b89b1608782c7992c2e6386e924cb4a543c",
+   "reftest"
+  ],
+  "css/CSS2/normal-flow/block-in-inline-remove-002-ref.xht": [
+   "faf61d5b1c4992db05bfac96a20f13c9b3987a42",
+   "support"
+  ],
+  "css/CSS2/normal-flow/block-in-inline-remove-002.xht": [
+   "37fdda3e745a36edc18b33752d6fe7e750d20843",
+   "reftest"
+  ],
+  "css/CSS2/normal-flow/block-in-inline-remove-003-nosplit-ref.xht": [
+   "673cbea48a9934754574b047319452d6b6c4d5f6",
+   "reftest_node"
+  ],
+  "css/CSS2/normal-flow/block-in-inline-remove-003-ref.xht": [
+   "d959b98e1c45cbc1ea195135e13cfccee1795e3e",
+   "reftest_node"
+  ],
+  "css/CSS2/normal-flow/block-in-inline-remove-003.xht": [
+   "11fcff7d378cc948f585f964a6a51228fb91e42e",
+   "reftest"
+  ],
+  "css/CSS2/normal-flow/block-in-inline-remove-004-nosplit-ref.xht": [
+   "73a2e36a7e10d11dd85368225b53881e24a36d2d",
+   "reftest_node"
+  ],
+  "css/CSS2/normal-flow/block-in-inline-remove-004-ref.xht": [
+   "9d720332342cc626884a29aba93218bd56bcff3f",
+   "reftest_node"
+  ],
+  "css/CSS2/normal-flow/block-in-inline-remove-004.xht": [
+   "1e709ff0ec241627aaeea298659f0b33a34bc89c",
+   "reftest"
+  ],
+  "css/CSS2/normal-flow/block-in-inline-remove-005-nosplit-ref.xht": [
+   "54bdabf5ec811b76a74560cde4ee6010e86c8275",
+   "reftest_node"
+  ],
+  "css/CSS2/normal-flow/block-in-inline-remove-005-ref.xht": [
+   "42469d7cec7772ac30f4a6ba6c3cc378f189a307",
+   "reftest_node"
+  ],
+  "css/CSS2/normal-flow/block-in-inline-remove-005.xht": [
+   "6e4049a2a8b6a0adfe93b7801c1b61d06c1b7617",
+   "reftest"
+  ],
+  "css/CSS2/normal-flow/block-in-inline-remove-006-nosplit-ref.xht": [
+   "e0dc693efbb6a3df8686c506b2b6f5784d3bb075",
+   "reftest_node"
+  ],
+  "css/CSS2/normal-flow/block-in-inline-remove-006-ref.xht": [
+   "f75d77efc95dc5b9d2dd5b577d0da35aad652129",
+   "reftest_node"
+  ],
+  "css/CSS2/normal-flow/block-in-inline-remove-006.xht": [
+   "42abc5959e404cff13853d6180ce677b3b6ef997",
+   "reftest"
+  ],
+  "css/CSS2/normal-flow/block-in-inline-whitespace-001-ref.xht": [
+   "e4327e8a07e9d01355d75b0a0e53149855a1abd7",
+   "support"
+  ],
+  "css/CSS2/normal-flow/block-in-inline-whitespace-001a.xht": [
+   "c02306a51f3de6912db0059b5b6cbeff54c27c86",
+   "reftest"
+  ],
+  "css/CSS2/normal-flow/block-in-inline-whitespace-001b.xht": [
+   "f3b57958b2e1cc01e4dbec2059c664b8e5884592",
+   "reftest"
+  ],
+  "css/CSS2/normal-flow/block-non-replaced-height-001-ref.xht": [
+   "f0b8599bd66f04c0dcf11119e90a4e1fe0009f40",
+   "support"
+  ],
+  "css/CSS2/normal-flow/block-non-replaced-height-001.xht": [
+   "6be912cc93de309e98e9b1d675f139170df9075a",
+   "reftest"
+  ],
+  "css/CSS2/normal-flow/block-non-replaced-height-002.xht": [
+   "5d7d43bc946951f25e39f5daa50df039d2ff4cc2",
+   "visual"
+  ],
+  "css/CSS2/normal-flow/block-non-replaced-height-003.xht": [
+   "008427da98e649d4d6f5f089f829bf9ab94ec22a",
+   "visual"
+  ],
+  "css/CSS2/normal-flow/block-non-replaced-height-004.xht": [
+   "c2e5b2de37dacf1f9a31f1d37ffc08254e47166a",
+   "visual"
+  ],
+  "css/CSS2/normal-flow/block-non-replaced-height-005-ref.xht": [
+   "10f5a0f44131e4842aaf600b4d507898f173e0d3",
+   "support"
+  ],
+  "css/CSS2/normal-flow/block-non-replaced-height-005.xht": [
+   "f3de88bd4bea6fb07078515613413f287f97a6cb",
+   "reftest"
+  ],
+  "css/CSS2/normal-flow/block-non-replaced-height-006.xht": [
+   "8519056bc7aee798977bfdf166398271beaed8f2",
+   "visual"
+  ],
+  "css/CSS2/normal-flow/block-non-replaced-height-007.xht": [
+   "79008d16b3135b7c211ce065ee16b5ec1eb9198c",
+   "visual"
+  ],
+  "css/CSS2/normal-flow/block-non-replaced-height-008.xht": [
+   "0e596535095adadeb938df5a5f200a65c60e2914",
+   "visual"
+  ],
+  "css/CSS2/normal-flow/block-non-replaced-height-009-ref.xht": [
+   "cb2ef7a1730b9a337a2485c723c501a6ccae413f",
+   "support"
+  ],
+  "css/CSS2/normal-flow/block-non-replaced-height-009.xht": [
+   "78ce78dcbfeb856a8358fe09bf2c287eed090a2d",
+   "visual"
+  ],
+  "css/CSS2/normal-flow/block-non-replaced-height-010.xht": [
+   "ccf20cc8ac74d85e494244d2b7e4dc054e2f8f1a",
+   "visual"
+  ],
+  "css/CSS2/normal-flow/block-non-replaced-height-011.xht": [
+   "a3d2bae42b049d44c9e49d93438a515fed75edf0",
+   "reftest"
+  ],
+  "css/CSS2/normal-flow/block-non-replaced-height-012.xht": [
+   "2d0feba8f0f27e37ff2e78bafd939659212e8fdb",
+   "visual"
+  ],
+  "css/CSS2/normal-flow/block-non-replaced-height-013.xht": [
+   "fa18a0f7874aea34cce328804a569a12df9b1228",
+   "reftest"
+  ],
+  "css/CSS2/normal-flow/block-non-replaced-height-014.xht": [
+   "f8dbc3dcb2c628068c961aff6119912e7e7aeed1",
+   "visual"
+  ],
+  "css/CSS2/normal-flow/block-non-replaced-height-015.xht": [
+   "dcef482413b67558e64706c6614b64984fd9a4eb",
+   "visual"
+  ],
+  "css/CSS2/normal-flow/block-non-replaced-height-016.xht": [
+   "5fa1c0740ef7cd78f6c439c721ac7df98f5a71f9",
+   "visual"
+  ],
+  "css/CSS2/normal-flow/block-non-replaced-width-001-ref.xht": [
+   "6050751b7a561ddf4a43b378608088101142901e",
+   "support"
+  ],
+  "css/CSS2/normal-flow/block-non-replaced-width-001.xht": [
+   "56e1bbbe0760c3b1cfde1a07fdccbc250a1941c9",
+   "reftest"
+  ],
+  "css/CSS2/normal-flow/block-non-replaced-width-002.xht": [
+   "bbec2294b9cfa2efcc61aa750255d0b951a4ae87",
+   "visual"
+  ],
+  "css/CSS2/normal-flow/block-non-replaced-width-003.xht": [
+   "083709a7a05c35b0c9644c1a09a9816d9f0db643",
+   "reftest"
+  ],
+  "css/CSS2/normal-flow/block-non-replaced-width-004-ref.xht": [
+   "240dc6e443df88682b95fce2236a0a406b920194",
+   "support"
+  ],
+  "css/CSS2/normal-flow/block-non-replaced-width-004.xht": [
+   "1e5f8a3c5a98881786cb5eda409c9647ad8130f2",
+   "reftest"
+  ],
+  "css/CSS2/normal-flow/block-non-replaced-width-005-ref.xht": [
+   "b8009da8ddd5e0f4343bd78ec8fdc4c1f476c6d9",
+   "support"
+  ],
+  "css/CSS2/normal-flow/block-non-replaced-width-005.xht": [
+   "c74a2b60b83a2fddc56fa45db931cc50ae1715ab",
+   "reftest"
+  ],
+  "css/CSS2/normal-flow/block-non-replaced-width-006.xht": [
+   "f5a9394d7d30ceb41c2ba213c6e03006061ac661",
+   "reftest"
+  ],
+  "css/CSS2/normal-flow/block-non-replaced-width-007-ref.xht": [
+   "63fc5b7c8ab3b02560b46c34a3af6f02b44a80ed",
+   "support"
+  ],
+  "css/CSS2/normal-flow/block-non-replaced-width-007.xht": [
+   "576c5437e46b263cae380f16adafc8c887e433ed",
+   "reftest"
+  ],
+  "css/CSS2/normal-flow/block-non-replaced-width-008.xht": [
+   "79b1804fe17f9d5d8c64573ebe5dd248aee8f89a",
+   "visual"
+  ],
+  "css/CSS2/normal-flow/block-replaced-height-001-ref.xht": [
+   "37b18d0429a6cb5608398329687b1fa85fdc7e8e",
+   "support"
+  ],
+  "css/CSS2/normal-flow/block-replaced-height-001.xht": [
+   "e06af81a0e8f3593bd7caa703e5a63c2c9f00064",
+   "reftest"
+  ],
+  "css/CSS2/normal-flow/block-replaced-height-002-ref.xht": [
+   "f42492c135aeff7c2fc882fcefeccbbc5959f1d0",
+   "support"
+  ],
+  "css/CSS2/normal-flow/block-replaced-height-002.xht": [
+   "9be1ef0797b6d22cea7ba146efb765a289d50b73",
+   "reftest"
+  ],
+  "css/CSS2/normal-flow/block-replaced-height-003.xht": [
+   "bba232931e1cefd483f573a69d85d58cf94429ad",
+   "visual"
+  ],
+  "css/CSS2/normal-flow/block-replaced-height-004-ref.xht": [
+   "78fd58a0e41ee8c7b2a293bce427edd84fc2a881",
+   "support"
+  ],
+  "css/CSS2/normal-flow/block-replaced-height-004.xht": [
+   "5f0d36bea5e99a780899e5d1d72ca8939860562b",
+   "reftest"
+  ],
+  "css/CSS2/normal-flow/block-replaced-height-005-ref.xht": [
+   "817662389eb29eb20721e1e2ba7a744d1a25293c",
+   "support"
+  ],
+  "css/CSS2/normal-flow/block-replaced-height-005.xht": [
+   "0ffe5556a37b095363bb2fc7a80ed0ec69bade90",
+   "reftest"
+  ],
+  "css/CSS2/normal-flow/block-replaced-height-006-ref.xht": [
+   "2b44563ee5c5a397a5b165e7ce1b42ead71600bd",
+   "support"
+  ],
+  "css/CSS2/normal-flow/block-replaced-height-006.xht": [
+   "96624c82b3c23ec6d3f0e6626b50f060fd360baa",
+   "reftest"
+  ],
+  "css/CSS2/normal-flow/block-replaced-height-007.xht": [
+   "b78ab30da667ef3b2199e5d1a900c1e4bf149231",
+   "reftest"
+  ],
+  "css/CSS2/normal-flow/block-replaced-width-001.xht": [
+   "a928c098d4ee94909c65f355811de63063a7b54e",
+   "visual"
+  ],
+  "css/CSS2/normal-flow/block-replaced-width-002-ref.xht": [
+   "cea3e66d7feadc25c0a511761099551b25c9aee2",
+   "support"
+  ],
+  "css/CSS2/normal-flow/block-replaced-width-002.xht": [
+   "bcb5d5788e93b3beae3478cc85b186ed57d9b2d0",
+   "reftest"
+  ],
+  "css/CSS2/normal-flow/block-replaced-width-003.xht": [
+   "92760240ba151b81cf3d010adb047f22e12ae3fe",
+   "visual"
+  ],
+  "css/CSS2/normal-flow/block-replaced-width-004.xht": [
+   "4ff887088bb28a38ebde29d8df55ceb8f33d936a",
+   "visual"
+  ],
+  "css/CSS2/normal-flow/block-replaced-width-006-ref.xht": [
+   "1d5bf757f40b0b64526f5a5e2044c24c86173abe",
+   "support"
+  ],
+  "css/CSS2/normal-flow/block-replaced-width-006.xht": [
+   "c1c3492f6e38fbb49ea975a5e0e03293411f597d",
+   "reftest"
+  ],
+  "css/CSS2/normal-flow/blocks-011-ref.xht": [
+   "1c44dcaf82cc7182bbf5e66a2b30599d4f45e9bc",
+   "support"
+  ],
+  "css/CSS2/normal-flow/blocks-011.xht": [
+   "fbf018e174d30366c0daa46add4e883706774687",
+   "reftest"
+  ],
+  "css/CSS2/normal-flow/blocks-012.xht": [
+   "043ffead5811291711c4ccab0fea821d59ee6cc4",
+   "reftest"
+  ],
+  "css/CSS2/normal-flow/blocks-013-ref.xht": [
+   "17ed77546b3c705a1d75ff879fb4533dbfd7b746",
+   "support"
+  ],
+  "css/CSS2/normal-flow/blocks-013.xht": [
+   "28c17ebddc657f28d5cd057e8e86e15f6ecb98c0",
+   "reftest"
+  ],
+  "css/CSS2/normal-flow/blocks-014-ref.xht": [
+   "36f6f89c53883851b0826f78d3a7f9ec2cf3e9ca",
+   "support"
+  ],
+  "css/CSS2/normal-flow/blocks-014.xht": [
+   "91729944af73f78008cce3d95245e1c9169d656b",
+   "reftest"
+  ],
+  "css/CSS2/normal-flow/blocks-015.xht": [
+   "f54d89665132240a3d1613d63c1569dbe961a66e",
+   "reftest"
+  ],
+  "css/CSS2/normal-flow/blocks-016.xht": [
+   "7b09c50b9d2b454cb01573251872bcb466c027ba",
+   "reftest"
+  ],
+  "css/CSS2/normal-flow/blocks-017.xht": [
+   "362bc530774ff25fadc211edb31f97760796cfc0",
+   "reftest"
+  ],
+  "css/CSS2/normal-flow/blocks-018-ref.xht": [
+   "e844599b19d77a17e831d42eff03050d0aa07c15",
+   "support"
+  ],
+  "css/CSS2/normal-flow/blocks-018.xht": [
+   "76d91ce8d6a004905e62bc345a01bb4ab3563a42",
+   "reftest"
+  ],
+  "css/CSS2/normal-flow/blocks-019-ref.xht": [
+   "384097b911a22b2e353c7b32952a7e21434793a2",
+   "support"
+  ],
+  "css/CSS2/normal-flow/blocks-019.xht": [
+   "f5cbaa9c165cc53354a29c70a6f8ecee30c4f04f",
+   "reftest"
+  ],
+  "css/CSS2/normal-flow/blocks-020-ref.xht": [
+   "60eb69c74cd4f0648195286795b1c5895e04c780",
+   "support"
+  ],
+  "css/CSS2/normal-flow/blocks-020.xht": [
+   "d27d91558fb0329ba7fc969d6d97475bcab6eb7e",
+   "reftest"
+  ],
+  "css/CSS2/normal-flow/blocks-021.xht": [
+   "bfc7988ed569f244321566e4f98a3f41e5d621c9",
+   "reftest"
+  ],
+  "css/CSS2/normal-flow/blocks-022.xht": [
+   "d342486663652acc0a24fe0672c66354ef93b285",
+   "reftest"
+  ],
+  "css/CSS2/normal-flow/blocks-025-ref.xht": [
+   "4d2cba87e412defd1e4d22de09a53b9c880c2d34",
+   "support"
+  ],
+  "css/CSS2/normal-flow/blocks-025.xht": [
+   "0bcd86ff0c5348c00d1934b3b050d927b31d55ec",
+   "reftest"
+  ],
+  "css/CSS2/normal-flow/blocks-026-ref.xht": [
+   "ca3ff590e715ab027ef5a0b59fe46ddbef5230cc",
+   "support"
+  ],
+  "css/CSS2/normal-flow/blocks-026.xht": [
+   "278b3ac2e50541d708a4a432082d8e32e1e50f31",
+   "reftest"
+  ],
+  "css/CSS2/normal-flow/blocks-027.xht": [
+   "b73d5f538b0e68edbc38a26aad9a582048c8fe9a",
+   "visual"
+  ],
+  "css/CSS2/normal-flow/blocks-028.xht": [
+   "9504db8cd151d03d893ebaa65e664463a7212e35",
+   "visual"
+  ],
+  "css/CSS2/normal-flow/height-001-ref.xht": [
+   "2dc2e2695397e97f50ff17f22091a0975a6a5dd2",
+   "support"
+  ],
+  "css/CSS2/normal-flow/height-001.xht": [
+   "3ceb9a5320bac49f0b08eef25b24689101cd06d2",
+   "reftest"
+  ],
+  "css/CSS2/normal-flow/height-002.xht": [
+   "a732d5198faf21563f5840b71c7da6b3d53bce73",
+   "reftest"
+  ],
+  "css/CSS2/normal-flow/height-003-ref.xht": [
+   "4ce04bcd935860dd2ccf5a4905b886ed6398adc3",
+   "support"
+  ],
+  "css/CSS2/normal-flow/height-003.xht": [
+   "3e560d3755f8dba7981a26ff41df5c581f0bb568",
+   "reftest"
+  ],
+  "css/CSS2/normal-flow/height-004.xht": [
+   "78fa2f207f49c5bbd14dd744768b64b4e06caf7c",
+   "reftest"
+  ],
+  "css/CSS2/normal-flow/height-005.xht": [
+   "a787bf4d3bb5578036c4cccb8487cd6b2fdffe90",
+   "reftest"
+  ],
+  "css/CSS2/normal-flow/height-006-ref.xht": [
+   "378ab28391f26e02560cf65673042c364c2589f7",
+   "support"
+  ],
+  "css/CSS2/normal-flow/height-006.xht": [
+   "fcde8ed465a76ed1cfac7fbb8f324e4bf583c509",
+   "reftest"
+  ],
+  "css/CSS2/normal-flow/height-007.xht": [
+   "bb2903f0d9ce20ca8f137fc82ab529b8214cdaa9",
+   "reftest"
+  ],
+  "css/CSS2/normal-flow/height-012.xht": [
+   "e7a0ec7454d165fbd21b2679a67ac8a41b178b46",
+   "reftest"
+  ],
+  "css/CSS2/normal-flow/height-013.xht": [
+   "865e59b998d98f4378099316c9a15773329bd3d5",
+   "reftest"
+  ],
+  "css/CSS2/normal-flow/height-014.xht": [
+   "750398ff5a4f49dacf05b254540b8d769183a071",
+   "visual"
+  ],
+  "css/CSS2/normal-flow/height-015.xht": [
+   "0f3dc99c43b676f7cf3f1f889b9b0b5b849d01b5",
+   "reftest"
+  ],
+  "css/CSS2/normal-flow/height-016.xht": [
+   "6195cc9b89d529fe87c7f909f56823caa811ee5b",
+   "reftest"
+  ],
+  "css/CSS2/normal-flow/height-017.xht": [
+   "d77a298699704a5a9fc021dc6e8406d3c14fc549",
+   "reftest"
+  ],
+  "css/CSS2/normal-flow/height-018.xht": [
+   "32478b16d83d231b1897fe99114940e7a9911d48",
+   "reftest"
+  ],
+  "css/CSS2/normal-flow/height-023.xht": [
+   "633399a56d65a22a71348fe9bfea7996a53a06ea",
+   "reftest"
+  ],
+  "css/CSS2/normal-flow/height-024.xht": [
+   "7310ae91b8e7846446d8e034e8e70a5e48d7ca11",
+   "reftest"
+  ],
+  "css/CSS2/normal-flow/height-025-ref.xht": [
+   "d68392788eea0497b2925fcc3f2e0d70c23516a6",
+   "support"
+  ],
+  "css/CSS2/normal-flow/height-025.xht": [
+   "0edf9e33a22147967d087c9e55be48c64f44846c",
+   "reftest"
+  ],
+  "css/CSS2/normal-flow/height-026.xht": [
+   "29441e5c69f40b308f20e34b40847a142dce29bc",
+   "reftest"
+  ],
+  "css/CSS2/normal-flow/height-027.xht": [
+   "12ab9735782cea014bb94754715d8c14ad30419f",
+   "reftest"
+  ],
+  "css/CSS2/normal-flow/height-028.xht": [
+   "48b3d5e1dbd9c238452a4818a0b53aca1f70762f",
+   "reftest"
+  ],
+  "css/CSS2/normal-flow/height-029.xht": [
+   "2396683b64eabc6fe003541bd46baeed98e19476",
+   "reftest"
+  ],
+  "css/CSS2/normal-flow/height-034.xht": [
+   "2c4e18d0f74bdaefa3044b48baefff9355eac419",
+   "reftest"
+  ],
+  "css/CSS2/normal-flow/height-035.xht": [
+   "0148d41ae1d5f2075adfe0ce7e32dff70fccac7b",
+   "reftest"
+  ],
+  "css/CSS2/normal-flow/height-036.xht": [
+   "aecaec798534d7ceb5a259e2adb703398b5104a5",
+   "visual"
+  ],
+  "css/CSS2/normal-flow/height-037.xht": [
+   "8087048e30a3e31ad1b25a15a9888314c98ac763",
+   "reftest"
+  ],
+  "css/CSS2/normal-flow/height-038.xht": [
+   "0a44a869aebbaea36e4f3470f1ffc5ab0820a337",
+   "reftest"
+  ],
+  "css/CSS2/normal-flow/height-039.xht": [
+   "7466b619e52a884b7ceed6cc336746eb3652d34e",
+   "reftest"
+  ],
+  "css/CSS2/normal-flow/height-040.xht": [
+   "3900861a538eef85657b410290b2e7d7b83f2a7e",
+   "reftest"
+  ],
+  "css/CSS2/normal-flow/height-045.xht": [
+   "4cc20067d9406754ad8e3fed0f541c4a76851990",
+   "reftest"
+  ],
+  "css/CSS2/normal-flow/height-046.xht": [
+   "eac9503d3df982614ac729aa6ae6fb1c417e4aa3",
+   "reftest"
+  ],
+  "css/CSS2/normal-flow/height-047.xht": [
+   "9d7d490eea1594220409c7fb40997516e6e0901c",
+   "visual"
+  ],
+  "css/CSS2/normal-flow/height-048.xht": [
+   "cda106e758b224c451531f87e95a1521e26cc846",
+   "reftest"
+  ],
+  "css/CSS2/normal-flow/height-049.xht": [
+   "f10b7426a06d9eb7a61a39acbf3c6e0657c4ef91",
+   "reftest"
+  ],
+  "css/CSS2/normal-flow/height-050.xht": [
+   "9c24d58cf14e4b5722c747a69fe18d083bbee385",
+   "reftest"
+  ],
+  "css/CSS2/normal-flow/height-051.xht": [
+   "efec966a85c57690f31b95b8d076938e91acbd6c",
+   "reftest"
+  ],
+  "css/CSS2/normal-flow/height-056.xht": [
+   "b6d81ade6514638351c66ee82c59ee98445ac397",
+   "reftest"
+  ],
+  "css/CSS2/normal-flow/height-057.xht": [
+   "8034b23cfe0d5109342a939f4a0c1fd09d641bc9",
+   "reftest"
+  ],
+  "css/CSS2/normal-flow/height-058-ref.xht": [
+   "3d431e0270668dcad9b4cd5dda25018b7fa0b58f",
+   "support"
+  ],
+  "css/CSS2/normal-flow/height-058.xht": [
+   "8344cf467b804c5f14b454a94a872da8daedf304",
+   "reftest"
+  ],
+  "css/CSS2/normal-flow/height-059.xht": [
+   "19bf993a3071bdb0c366b690858d1e8ee440b901",
+   "reftest"
+  ],
+  "css/CSS2/normal-flow/height-060.xht": [
+   "3cad011d1552fae81104cb63d6063d137bc1fb58",
+   "reftest"
+  ],
+  "css/CSS2/normal-flow/height-061-ref.xht": [
+   "542e12bc35bdce838799f8778cebd9b8ad935567",
+   "support"
+  ],
+  "css/CSS2/normal-flow/height-061.xht": [
+   "0f82327cf371b6777a969a65169b5c267dc41d10",
+   "reftest"
+  ],
+  "css/CSS2/normal-flow/height-062.xht": [
+   "73f5868c4de94e1393e800b05a6e1f1f09b1c027",
+   "reftest"
+  ],
+  "css/CSS2/normal-flow/height-067-ref.xht": [
+   "28894e3c1891417a7b47a39e1a56c65a4360be12",
+   "support"
+  ],
+  "css/CSS2/normal-flow/height-067.xht": [
+   "0d4e7ebe89fffb080b6f334280a4d37cf7b3b4e1",
+   "reftest"
+  ],
+  "css/CSS2/normal-flow/height-068.xht": [
+   "378215da3765c3982073cd3819a4885c87a21e1e",
+   "reftest"
+  ],
+  "css/CSS2/normal-flow/height-069-ref.xht": [
+   "eb77af0d13229c6c5b184b99e996a5f2746d6a3e",
+   "support"
+  ],
+  "css/CSS2/normal-flow/height-069.xht": [
+   "b98d63f411454d4f3b046a4923865fe544508d16",
+   "reftest"
+  ],
+  "css/CSS2/normal-flow/height-070.xht": [
+   "5746cd6cfb155b268f476b846abe6fb117da234d",
+   "reftest"
+  ],
+  "css/CSS2/normal-flow/height-071.xht": [
+   "211de6fc85e6280bb65abdb1be83a6c9379b6ae2",
+   "reftest"
+  ],
+  "css/CSS2/normal-flow/height-072-ref.xht": [
+   "982a57e61b255b06cf81a0e154c00a0ddb5d77fd",
+   "support"
+  ],
+  "css/CSS2/normal-flow/height-072.xht": [
+   "c577a151aeab1c0b8f4cac7279d3ef958057f312",
+   "reftest"
+  ],
+  "css/CSS2/normal-flow/height-073.xht": [
+   "816e1615d378e60ef3d2de6b7036e75846e4b1b1",
+   "reftest"
+  ],
+  "css/CSS2/normal-flow/height-078.xht": [
+   "64e14a777fc737a5eb047af2f38e4d962116c69e",
+   "reftest"
+  ],
+  "css/CSS2/normal-flow/height-079.xht": [
+   "5a658733671a8c6cfa4b7fb17712f8af9dc16cc7",
+   "reftest"
+  ],
+  "css/CSS2/normal-flow/height-080-ref.xht": [
+   "d68392788eea0497b2925fcc3f2e0d70c23516a6",
+   "support"
+  ],
+  "css/CSS2/normal-flow/height-080.xht": [
+   "73076bad218ad076cc0304ef7cecf2c05ef6e8fa",
+   "reftest"
+  ],
+  "css/CSS2/normal-flow/height-081.xht": [
+   "07343a7599f0bdcb71d9bd21d0c2d9780da55cc5",
+   "reftest"
+  ],
+  "css/CSS2/normal-flow/height-082.xht": [
+   "d0cbab613e38b2ac708778ac850408d4935d3658",
+   "reftest"
+  ],
+  "css/CSS2/normal-flow/height-083.xht": [
+   "80643ae280e8150c1749c72cf9cc432c1dd654e4",
+   "reftest"
+  ],
+  "css/CSS2/normal-flow/height-084.xht": [
+   "610e277b2c89d495107b3308d9c3d38cf9198fbb",
+   "reftest"
+  ],
+  "css/CSS2/normal-flow/height-089.xht": [
+   "90783f30cc01dc2548cbd09fe330c607fef63477",
+   "reftest"
+  ],
+  "css/CSS2/normal-flow/height-090.xht": [
+   "5b01403af25b4465b041d71290921471066f55fa",
+   "reftest"
+  ],
+  "css/CSS2/normal-flow/height-091.xht": [
+   "5b4bcf18d7f3bd9810d6f664be2c77cda7e372c5",
+   "reftest"
+  ],
+  "css/CSS2/normal-flow/height-092.xht": [
+   "3ae9561fcbfb9abe5c2fabd9cb1efd1133478c28",
+   "reftest"
+  ],
+  "css/CSS2/normal-flow/height-093.xht": [
+   "df0f4e70ce4079eb230b6907da2ec3dae0661c19",
+   "reftest"
+  ],
+  "css/CSS2/normal-flow/height-094.xht": [
+   "87bcef7d2bb8c890a524e27acc8f0f964161a2e5",
+   "reftest"
+  ],
+  "css/CSS2/normal-flow/height-095.xht": [
+   "af3f5ed0ae7422ad4e8b65f1265a024b161ff5c3",
+   "reftest"
+  ],
+  "css/CSS2/normal-flow/height-100.xht": [
+   "373f0b64d5b10e772f72ae52a2d33dc172aa9a3e",
+   "reftest"
+  ],
+  "css/CSS2/normal-flow/height-101.xht": [
+   "36925c10083fffc0bc5d2f6dcb1de338dc1119c1",
+   "reftest"
+  ],
+  "css/CSS2/normal-flow/height-102.xht": [
+   "dd102f3cb29d258ba086d9c4599b64310d7a2e7c",
+   "reftest"
+  ],
+  "css/CSS2/normal-flow/height-103.xht": [
+   "0123f81ad2ff21c3610e8780972e0122ce89d964",
+   "reftest"
+  ],
+  "css/CSS2/normal-flow/height-104.xht": [
+   "761bd77308642e29eb809614443012b30a72fd99",
+   "reftest"
+  ],
+  "css/CSS2/normal-flow/height-111-ref.xht": [
+   "133414879b8aa3f4b1b385d414ed18fb1d8a9a1b",
+   "support"
+  ],
+  "css/CSS2/normal-flow/height-111.xht": [
+   "10b721c5ace1c712844fdfab47b1d880764bd2fc",
+   "reftest"
+  ],
+  "css/CSS2/normal-flow/height-112-ref.xht": [
+   "dc84df5c36956804bb1a56f98514c700a05a0850",
+   "support"
+  ],
+  "css/CSS2/normal-flow/height-112.xht": [
+   "3b8f75c93f7efa9bbab8d659272c5085cda46a23",
+   "reftest"
+  ],
+  "css/CSS2/normal-flow/height-113-ref.xht": [
+   "c7664817a7c05b436af07bf3b0d4a28ea8fef6e5",
+   "support"
+  ],
+  "css/CSS2/normal-flow/height-113.xht": [
+   "9ccd017c2848b54379463d2403edfe07fa5ea9dd",
+   "reftest"
+  ],
+  "css/CSS2/normal-flow/height-114-ref.xht": [
+   "37e3f1c9826efbc41b630e37999292385d685ebd",
+   "support"
+  ],
+  "css/CSS2/normal-flow/height-114.xht": [
+   "cd3604caa00255aa23969408c983957151abba7f",
+   "reftest"
+  ],
+  "css/CSS2/normal-flow/height-applies-to-001.xht": [
+   "2c6f12e99d854b435ce32392552d40e54a008fcc",
+   "visual"
+  ],
+  "css/CSS2/normal-flow/height-applies-to-002.xht": [
+   "6923e822992fc25ebc6555ca415323fcba7e2fcc",
+   "visual"
+  ],
+  "css/CSS2/normal-flow/height-applies-to-003.xht": [
+   "e53ab578071f2433783e99e234334449f8c96944",
+   "visual"
+  ],
+  "css/CSS2/normal-flow/height-applies-to-004.xht": [
+   "358ea4e8ca670d3862c801d9576431391c5f51fb",
+   "reftest"
+  ],
+  "css/CSS2/normal-flow/height-applies-to-005.xht": [
+   "c336048a3ccd8db4bacc27b0d27793668359096e",
+   "reftest"
+  ],
+  "css/CSS2/normal-flow/height-applies-to-006.xht": [
+   "fb43525b6d930dceffdb9aa33e911368f6599a37",
+   "reftest"
+  ],
+  "css/CSS2/normal-flow/height-applies-to-007.xht": [
+   "3b0b581e4821ecd1b4c2952680fa42aeddb1894f",
+   "reftest"
+  ],
+  "css/CSS2/normal-flow/height-applies-to-008.xht": [
+   "841b1fc2f0a55a21e80b44bfca6f59617af7f746",
+   "reftest"
+  ],
+  "css/CSS2/normal-flow/height-applies-to-009.xht": [
+   "a1aae9471c6ef3a91ede17f77ad6b387af1bf9ae",
+   "reftest"
+  ],
+  "css/CSS2/normal-flow/height-applies-to-010.xht": [
+   "35c046ad618c7bf437f40e82e6c282d0037b9aae",
+   "visual"
+  ],
+  "css/CSS2/normal-flow/height-applies-to-012.xht": [
+   "7907119a8a04e26cd1d2c9cdf693b69e4cc89664",
+   "reftest"
+  ],
+  "css/CSS2/normal-flow/height-applies-to-013.xht": [
+   "3ceac10a106298d74c3f03c41479b2fdc4134159",
+   "reftest"
+  ],
+  "css/CSS2/normal-flow/height-applies-to-014.xht": [
+   "c33cbfd3366c06c14e5ff7b0857b1527b88d2fc0",
+   "reftest"
+  ],
+  "css/CSS2/normal-flow/height-applies-to-015.xht": [
+   "1c632d1fb331f2c51feb96f185d06b487f8701ba",
+   "reftest"
+  ],
+  "css/CSS2/normal-flow/height-applies-to-016.xht": [
+   "2e0922ea3aecbdd026766732dd324251a6adbd3e",
+   "reftest"
+  ],
+  "css/CSS2/normal-flow/height-inherit-001.xht": [
+   "fda6ceaafbe490f62085a14ff8c083f403516112",
+   "reftest"
+  ],
+  "css/CSS2/normal-flow/height-percentage-001-ref.xht": [
+   "17e6e0867b3f86f8c8aa1c1de5aabbb299d7d559",
+   "support"
+  ],
+  "css/CSS2/normal-flow/height-percentage-001.xht": [
+   "26365dfc2c60a30d77477d88dd65f76ff76adc06",
+   "reftest"
+  ],
+  "css/CSS2/normal-flow/height-percentage-002.xht": [
+   "c12decf00a17dc989e35acbf44b398a50bf692eb",
+   "reftest"
+  ],
+  "css/CSS2/normal-flow/height-percentage-003-ref.xht": [
+   "8c90dbdd12538da9cd76cf396333402c111240ef",
+   "support"
+  ],
+  "css/CSS2/normal-flow/height-percentage-003.xht": [
+   "319b1c9c9d59ec846dc868c232db53060ffd5381",
+   "reftest"
+  ],
+  "css/CSS2/normal-flow/height-percentage-004.xht": [
+   "771a733eacd9bc905ac738ec8695acf16ad61f32",
+   "reftest"
+  ],
+  "css/CSS2/normal-flow/height-percentage-005.xht": [
+   "d95500bd5b09acdbb2c7d895b0c52ef90f415cd4",
+   "reftest"
+  ],
+  "css/CSS2/normal-flow/inline-block-000-ref.xht": [
+   "dc3c64445e4916314016b3ff9c8396f04d4019a7",
+   "support"
+  ],
+  "css/CSS2/normal-flow/inline-block-000.xht": [
+   "1272e3b673e9eedb7cfca0c2b835405ba5369d4b",
+   "reftest"
+  ],
+  "css/CSS2/normal-flow/inline-block-001.xht": [
+   "f6b03f5a6e64ac8dfedde177a75fd986976c4315",
+   "visual"
+  ],
+  "css/CSS2/normal-flow/inline-block-002.xht": [
+   "6aa217a2259ea4b3fff58c7daf08d961668af34c",
+   "manual"
+  ],
+  "css/CSS2/normal-flow/inline-block-003.xht": [
+   "b4b840068f3be1670720f23d227c7f29d54e4338",
+   "manual"
+  ],
+  "css/CSS2/normal-flow/inline-block-004.xht": [
+   "e2bc9ca6277d18cd47851bc8f0b13a489516e3e8",
+   "manual"
+  ],
+  "css/CSS2/normal-flow/inline-block-005.xht": [
+   "52968744f726ed1b65440b96f0e660a526f782a5",
+   "manual"
+  ],
+  "css/CSS2/normal-flow/inline-block-height-001-ref.xht": [
+   "dcdb06d376765bdc237fc2e5d726fa6e737f5a2b",
+   "support"
+  ],
+  "css/CSS2/normal-flow/inline-block-height-001.xht": [
+   "2be9dc7b2a60c285d8803190bc9ecde5a413b0a9",
+   "reftest"
+  ],
+  "css/CSS2/normal-flow/inline-block-height-002-ref.xht": [
+   "e75d3bc8d0bae645f9737d4a7ce76aee7467c07b",
+   "support"
+  ],
+  "css/CSS2/normal-flow/inline-block-height-002.xht": [
+   "d763c7e1232af7c2770ca3fd8dd6b00a7da3702e",
+   "reftest"
+  ],
+  "css/CSS2/normal-flow/inline-block-non-replaced-height-001.xht": [
+   "e60f09c54dbe77b593844d3bf22aaff9065d3799",
+   "reftest"
+  ],
+  "css/CSS2/normal-flow/inline-block-non-replaced-height-002.xht": [
+   "4938a71e887651f0b8ebf4ee312f4350edc279ba",
+   "reftest"
+  ],
+  "css/CSS2/normal-flow/inline-block-non-replaced-width-001-ref.xht": [
+   "f511a7ba8d77027a043693a788dcd1e420c43b97",
+   "support"
+  ],
+  "css/CSS2/normal-flow/inline-block-non-replaced-width-001.xht": [
+   "d5d32dc32592a3f69ba8b317d49e4fd023892def",
+   "reftest"
+  ],
+  "css/CSS2/normal-flow/inline-block-non-replaced-width-002-ref.xht": [
+   "612e72691531e9b0dcf05ef57cae9f2d9309b152",
+   "support"
+  ],
+  "css/CSS2/normal-flow/inline-block-non-replaced-width-002.xht": [
+   "220222df72a7b5fe9e446a07cc19dc988c251de6",
+   "reftest"
+  ],
+  "css/CSS2/normal-flow/inline-block-non-replaced-width-003.xht": [
+   "1d3b007ebf5e081b78a0ea308be014514fe32f51",
+   "reftest"
+  ],
+  "css/CSS2/normal-flow/inline-block-non-replaced-width-004.xht": [
+   "eb412b3f3966755869727acfc2996630d446c136",
+   "reftest"
+  ],
+  "css/CSS2/normal-flow/inline-block-non-replaced-width-005.xht": [
+   "a9ce62ee19362850f09b72a059088048171f86c7",
+   "visual"
+  ],
+  "css/CSS2/normal-flow/inline-block-replaced-height-001.xht": [
+   "45197ab93159b2edfaee5b17e69312e565fe09aa",
+   "reftest"
+  ],
+  "css/CSS2/normal-flow/inline-block-replaced-height-002.xht": [
+   "a39057ce4be49ec772c697d42926724a00c2f6ff",
+   "reftest"
+  ],
+  "css/CSS2/normal-flow/inline-block-replaced-height-003-ref.xht": [
+   "4646ea93db13c8d1bcfaca8bd5433e64dfd2c499",
+   "support"
+  ],
+  "css/CSS2/normal-flow/inline-block-replaced-height-003.xht": [
+   "efb96bcb5766a6fdd7ebddeb90aaab6c57aff200",
+   "reftest"
+  ],
+  "css/CSS2/normal-flow/inline-block-replaced-height-004.xht": [
+   "140aea47e8092472fe3bdc7f39a02d64774111f0",
+   "reftest"
+  ],
+  "css/CSS2/normal-flow/inline-block-replaced-height-005.xht": [
+   "88cadd1e4b0957e5eb342eab8d114d32987ab2f4",
+   "reftest"
+  ],
+  "css/CSS2/normal-flow/inline-block-replaced-height-006.xht": [
+   "4ec9ade5b17f73196fc78157c1f91c74c7389925",
+   "reftest"
+  ],
+  "css/CSS2/normal-flow/inline-block-replaced-height-007.xht": [
+   "df271d3b20dc7ebd031ed3a3bcb51e0267fe31ad",
+   "reftest"
+  ],
+  "css/CSS2/normal-flow/inline-block-replaced-height-008.xht": [
+   "803b17c654bfc2c8b946ff9a5b21807024a6dfb2",
+   "manual"
+  ],
+  "css/CSS2/normal-flow/inline-block-replaced-height-009.xht": [
+   "85b090f05680f4b1607933e183d14e598c4bc47f",
+   "reftest"
+  ],
+  "css/CSS2/normal-flow/inline-block-replaced-width-001-ref.xht": [
+   "82257408d5d7af0c3095cdcac70e009744c38047",
+   "support"
+  ],
+  "css/CSS2/normal-flow/inline-block-replaced-width-001.xht": [
+   "aef5583d1a63bf1ba0069895d275e15b4621a98f",
+   "reftest"
+  ],
+  "css/CSS2/normal-flow/inline-block-replaced-width-002-ref.xht": [
+   "12711843edd716cbc0ca275b9de201ed58cb414c",
+   "support"
+  ],
+  "css/CSS2/normal-flow/inline-block-replaced-width-002.xht": [
+   "f327b413e7df8f6238b14f22470ff22257eb623e",
+   "reftest"
+  ],
+  "css/CSS2/normal-flow/inline-block-replaced-width-003-ref.xht": [
+   "148b6634420f2ebe423da89c6ced6a03015712e8",
+   "support"
+  ],
+  "css/CSS2/normal-flow/inline-block-replaced-width-003.xht": [
+   "5e3889cadf9f90885e7197f7a1f0b6bab3d01b82",
+   "reftest"
+  ],
+  "css/CSS2/normal-flow/inline-block-replaced-width-004.xht": [
+   "0ed048c02c1eb987e4c5318a534dfb8b346f7b71",
+   "visual"
+  ],
+  "css/CSS2/normal-flow/inline-block-replaced-width-006-ref.xht": [
+   "44a7a19d15014586c6e12acd1a47e6ac21d1b59d",
+   "support"
+  ],
+  "css/CSS2/normal-flow/inline-block-replaced-width-006.xht": [
+   "f443400c33fe75cccbf4eb9cc5959ed47560d997",
+   "reftest"
+  ],
+  "css/CSS2/normal-flow/inline-block-replaced-width-007.xht": [
+   "575ea552b5a7660dee8f8706363fac5edf5c0a0c",
+   "reftest"
+  ],
+  "css/CSS2/normal-flow/inline-block-replaced-width-008.xht": [
+   "bc67d9b62a07a1859b77527f2776776b15c1654a",
+   "reftest"
+  ],
+  "css/CSS2/normal-flow/inline-block-valign-001-ref.xht": [
+   "c773e1facaddf902760acbb268ea4468f5a29882",
+   "support"
+  ],
+  "css/CSS2/normal-flow/inline-block-valign-001.xht": [
+   "3a43e4ceb49c4a323b47f88af8920b7dcb24aa13",
+   "reftest"
+  ],
+  "css/CSS2/normal-flow/inline-block-valign-002-ref.xht": [
+   "5002dfab844b7e39e054e5c516a04601fa2e077c",
+   "support"
+  ],
+  "css/CSS2/normal-flow/inline-block-valign-002.xht": [
+   "b889484e6ebb44169b4158fbb852602ec6b1058d",
+   "reftest"
+  ],
+  "css/CSS2/normal-flow/inline-block-width-001-ref.xht": [
+   "776941247c27354b1880c245e1cb662dda3a4d5d",
+   "support"
+  ],
+  "css/CSS2/normal-flow/inline-block-width-001a.xht": [
+   "7e3bc81b3d5192936f7c5786645a495ead8e07c7",
+   "reftest"
+  ],
+  "css/CSS2/normal-flow/inline-block-width-001b.xht": [
+   "788a6097b9cf0c7f824dc328fc0bc7e64d6936c4",
+   "reftest"
+  ],
+  "css/CSS2/normal-flow/inline-block-width-002-ref.xht": [
+   "ceab9762938a67c22a0f340da40144f51542d2c1",
+   "support"
+  ],
+  "css/CSS2/normal-flow/inline-block-width-002a.xht": [
+   "08191dd367d3af669c666691ce58cc94df36d4dd",
+   "reftest"
+  ],
+  "css/CSS2/normal-flow/inline-block-width-002b.xht": [
+   "5376b155a2dfb2f9e0160e7d6e667b5d01ccd404",
+   "reftest"
+  ],
+  "css/CSS2/normal-flow/inline-block-zorder-001-ref.xht": [
+   "982126be967418e018bbf2eb7b9835992668779e",
+   "support"
+  ],
+  "css/CSS2/normal-flow/inline-block-zorder-001.xht": [
+   "1b843e76b249edc8a37783589377e16ae05d47e8",
+   "reftest"
+  ],
+  "css/CSS2/normal-flow/inline-block-zorder-002.xht": [
+   "4b93c96ad336200c037162530fd23b7c37cbce63",
+   "reftest"
+  ],
+  "css/CSS2/normal-flow/inline-block-zorder-003-ref.xht": [
+   "a9169b3b383a0dbf0f45a588617220ecbb701548",
+   "support"
+  ],
+  "css/CSS2/normal-flow/inline-block-zorder-003.xht": [
+   "0e9bb06a15b0bbfb29864f66fded71d0444ac077",
+   "reftest"
+  ],
+  "css/CSS2/normal-flow/inline-block-zorder-004-ref.xht": [
+   "b3623adc68191dcbc8c06eae766fd309c0960271",
+   "support"
+  ],
+  "css/CSS2/normal-flow/inline-block-zorder-004.xht": [
+   "bc83837b1ede38b410efbc79b669d76959439227",
+   "reftest"
+  ],
+  "css/CSS2/normal-flow/inline-block-zorder-005.xht": [
+   "bbbd99fb665ca37c990e0aad43530383e8720584",
+   "reftest"
+  ],
+  "css/CSS2/normal-flow/inline-non-replaced-height-002-ref.xht": [
+   "c6d6947e2f8637f33327b70be88f39b9551fc430",
+   "support"
+  ],
+  "css/CSS2/normal-flow/inline-non-replaced-height-002.xht": [
+   "2e75495f32dbfe16fc798a39dd3bc62572793d5e",
+   "reftest"
+  ],
+  "css/CSS2/normal-flow/inline-non-replaced-height-003.xht": [
+   "c39e56d371ce24153913fbd1c6ced2dc499218a4",
+   "reftest"
+  ],
+  "css/CSS2/normal-flow/inline-non-replaced-width-001-ref.xht": [
+   "4b12c8e6df2499701e3c842e736174deb187aed0",
+   "support"
+  ],
+  "css/CSS2/normal-flow/inline-non-replaced-width-001.xht": [
+   "63bbfb908b0a9967133508f86b40d25d7f0288fb",
+   "reftest"
+  ],
+  "css/CSS2/normal-flow/inline-non-replaced-width-002.xht": [
+   "eea510ba81207c3b76a265f703024d7b07c7899f",
+   "reftest"
+  ],
+  "css/CSS2/normal-flow/inline-replaced-height-001.xht": [
+   "077105420bf02910c964067344c006bb66b1cde3",
+   "reftest"
+  ],
+  "css/CSS2/normal-flow/inline-replaced-height-002.xht": [
+   "d55eec8b420fa79168c6046cae65050404335d2a",
+   "reftest"
+  ],
+  "css/CSS2/normal-flow/inline-replaced-height-003.xht": [
+   "ebafb1e6533ca17cbcf36db3dee7883074a0c357",
+   "reftest"
+  ],
+  "css/CSS2/normal-flow/inline-replaced-height-004.xht": [
+   "2196a43b507cd9d89f80326c37679767a00c0ced",
+   "reftest"
+  ],
+  "css/CSS2/normal-flow/inline-replaced-height-005.xht": [
+   "ae35c1b839524a8c84bdc0ed8b87d52b3b4e0f66",
+   "reftest"
+  ],
+  "css/CSS2/normal-flow/inline-replaced-height-006.xht": [
+   "b1c15657524abaaaddd525e21577bc5451da8353",
+   "reftest"
+  ],
+  "css/CSS2/normal-flow/inline-replaced-height-007.xht": [
+   "549eae04cc2a8c12405de7b82b7727f77895b8e1",
+   "reftest"
+  ],
+  "css/CSS2/normal-flow/inline-replaced-height-008.xht": [
+   "5d872db692aefdf2484f23498a82e8eee8cb451f",
+   "manual"
+  ],
+  "css/CSS2/normal-flow/inline-replaced-height-009.xht": [
+   "c295489329b60ce35c1d2cb81d40814d0dc0e164",
+   "reftest"
+  ],
+  "css/CSS2/normal-flow/inline-replaced-height-010.xht": [
+   "3b69efebde20ca0c853c03fe6273a1cd871b001c",
+   "reftest"
+  ],
+  "css/CSS2/normal-flow/inline-replaced-height-011.xht": [
+   "c97f11ce935ee16b974d48e00b3054201656bbbb",
+   "reftest"
+  ],
+  "css/CSS2/normal-flow/inline-replaced-width-001-ref.xht": [
+   "38da6d74d7c1fe315a5fd067e9a8c4669ea7f4c8",
+   "support"
+  ],
+  "css/CSS2/normal-flow/inline-replaced-width-001.xht": [
+   "a5cb47f86e2606767414006bbc8550ce93b26392",
+   "reftest"
+  ],
+  "css/CSS2/normal-flow/inline-replaced-width-002-ref.xht": [
+   "c5b6142ffa98aa3d3396afe9291910abaa1415ae",
+   "support"
+  ],
+  "css/CSS2/normal-flow/inline-replaced-width-002.xht": [
+   "a88e93bf955998270eb2a9f33768b8ca1a7a8bc7",
+   "reftest"
+  ],
+  "css/CSS2/normal-flow/inline-replaced-width-003-ref.xht": [
+   "7d20a8a0c95534c15b88925af488f8bb027ef698",
+   "support"
+  ],
+  "css/CSS2/normal-flow/inline-replaced-width-003.xht": [
+   "77ffca32d3651cbb09358344ee5a83e6ad2e358a",
+   "reftest"
+  ],
+  "css/CSS2/normal-flow/inline-replaced-width-004.xht": [
+   "a2f4138cef5404cedd179b94b9a4c947355a8ab3",
+   "visual"
+  ],
+  "css/CSS2/normal-flow/inline-replaced-width-006.xht": [
+   "f2f82a97df6a18f9b6dd5b373f7ba6eb476aff72",
+   "reftest"
+  ],
+  "css/CSS2/normal-flow/inline-replaced-width-008.xht": [
+   "5087fc9f9456515cced6b919a056104dad9b9e5a",
+   "reftest"
+  ],
+  "css/CSS2/normal-flow/inline-replaced-width-009.xht": [
+   "b138d2e3cb428b194bf9e2145f46bcbca5ff94ec",
+   "reftest"
+  ],
+  "css/CSS2/normal-flow/inline-replaced-width-011-ref.xht": [
+   "274795db2f8133a17439b98d9ebc92a21f540887",
+   "support"
+  ],
+  "css/CSS2/normal-flow/inline-replaced-width-011.xht": [
+   "0839281368b9c53680eb7598fb8a8fd5735495a8",
+   "reftest"
+  ],
+  "css/CSS2/normal-flow/inline-replaced-width-012-ref.xht": [
+   "7d4105afb87c85b3f39e84cc8a92faea560724a0",
+   "support"
+  ],
+  "css/CSS2/normal-flow/inline-replaced-width-012.xht": [
+   "ae46c40ccff9a212db8296c9a4c870e343c95baf",
+   "reftest"
+  ],
+  "css/CSS2/normal-flow/inline-replaced-width-013.xht": [
+   "e5dca85516a25ca675b79064301376b0f99c5197",
+   "reftest"
+  ],
+  "css/CSS2/normal-flow/inline-replaced-width-014-ref.xht": [
+   "c64df0197918a114ef8b02f344d5efbe321833dd",
+   "support"
+  ],
+  "css/CSS2/normal-flow/inline-replaced-width-014.xht": [
+   "9e2b87d319911e92d332ae6fabcecd89f6cfb6f6",
+   "reftest"
+  ],
+  "css/CSS2/normal-flow/inline-replaced-width-015.xht": [
+   "48cc2d00effb99f391d439ea6f63e9b2beea09af",
+   "reftest"
+  ],
+  "css/CSS2/normal-flow/inline-replaced-width-016.xht": [
+   "6f566b75c25b46ca7b5b2f67d7bf809297c183db",
+   "reftest"
+  ],
+  "css/CSS2/normal-flow/inline-replaced-width-017.xht": [
+   "e8172e250d80140a1c237e9c5f7e51901ce1eda4",
+   "reftest"
+  ],
+  "css/CSS2/normal-flow/inline-table-002-ref.xht": [
+   "f2d793d01506513aa4eb77060654848b08ba81ce",
+   "support"
+  ],
+  "css/CSS2/normal-flow/inline-table-002a.xht": [
+   "5e7baa02e5ad33e1571d1e2c43ea025dd0d61bf1",
+   "reftest"
+  ],
+  "css/CSS2/normal-flow/inline-table-002b.xht": [
+   "c5980ddd61b8bc682a6e48997cbbed04ba57dd92",
+   "reftest"
+  ],
+  "css/CSS2/normal-flow/inline-table-003-ref.xht": [
+   "e2af78d1ae3f117fe9a53babe86291c4a8f8f323",
+   "support"
+  ],
+  "css/CSS2/normal-flow/inline-table-003.xht": [
+   "cca7efb8c8b6629c6e04740fe53db20f57db4223",
+   "reftest"
+  ],
+  "css/CSS2/normal-flow/inline-table-height-001-ref.xht": [
+   "4cc05959178c4be6dbf1a5ec27e909cd04725729",
+   "support"
+  ],
+  "css/CSS2/normal-flow/inline-table-height-001.xht": [
+   "2eee6c7b5efc700c0af92156030f08f0ccf5061a",
+   "reftest"
+  ],
+  "css/CSS2/normal-flow/inline-table-height-002-ref.xht": [
+   "73f725fd863242db582c11ed391608ffb9445a3c",
+   "support"
+  ],
+  "css/CSS2/normal-flow/inline-table-height-002.xht": [
+   "03594588ba2d77e69e5a4b89e0c746f4f3602953",
+   "reftest"
+  ],
+  "css/CSS2/normal-flow/inline-table-valign-001-ref.xht": [
+   "2dd458188be1b03d22ffd5ff5b50251f68236b88",
+   "support"
+  ],
+  "css/CSS2/normal-flow/inline-table-valign-001.xht": [
+   "0f6fa2a289713d7465d37d7d4a22dc5cc51050ac",
+   "reftest"
+  ],
+  "css/CSS2/normal-flow/inline-table-width-001-ref.xht": [
+   "e8b7c592769cd0472c749d8236af4d2ec4712e2e",
+   "support"
+  ],
+  "css/CSS2/normal-flow/inline-table-width-001a.xht": [
+   "de89c417e6629a96ccc5da9cc6c1e56da4f7e005",
+   "reftest"
+  ],
+  "css/CSS2/normal-flow/inline-table-width-001b.xht": [
+   "dc61e6ec1868c177cb7c1375fedd8b992c4400f8",
+   "reftest"
+  ],
+  "css/CSS2/normal-flow/inline-table-width-002-ref.xht": [
+   "c112735c1e04707b6add57344b4fa9d913099926",
+   "support"
+  ],
+  "css/CSS2/normal-flow/inline-table-width-002a.xht": [
+   "bc2f9fb23ea78bc8385cd54472aa748d70767720",
+   "reftest"
+  ],
+  "css/CSS2/normal-flow/inline-table-width-002b.xht": [
+   "fc113c1648ea5000ab8c698f5bddc401c71d0fc6",
+   "reftest"
+  ],
+  "css/CSS2/normal-flow/inline-table-zorder-001-ref.xht": [
+   "4940ce15bd8e9711e436b0565c8942de68aa55cb",
+   "support"
+  ],
+  "css/CSS2/normal-flow/inline-table-zorder-001.xht": [
+   "b15347104f1e4f8a418f0371357d93ad5d23e989",
+   "reftest"
+  ],
+  "css/CSS2/normal-flow/inline-table-zorder-002.xht": [
+   "3f13357d5706142c83609b1064356491e6728c0b",
+   "reftest"
+  ],
+  "css/CSS2/normal-flow/inline-table-zorder-003-ref.xht": [
+   "b68eed91ec6c970c8722655d38dd891889971413",
+   "support"
+  ],
+  "css/CSS2/normal-flow/inline-table-zorder-003.xht": [
+   "38ac7342ded1a60df5fb037b2a0b45af3f40dc9e",
+   "reftest"
+  ],
+  "css/CSS2/normal-flow/inline-table-zorder-004-ref.xht": [
+   "03f6f6f74a5ad42798dc945befbaa2ed85361665",
+   "support"
+  ],
+  "css/CSS2/normal-flow/inline-table-zorder-004.xht": [
+   "eeef848040a417c8beb751359a1cfc1cf3324953",
+   "reftest"
+  ],
+  "css/CSS2/normal-flow/inline-table-zorder-005.xht": [
+   "698afe587e910c06c62d41e2b3a7f6ebb2a03566",
+   "reftest"
+  ],
+  "css/CSS2/normal-flow/inlines-001.xht": [
+   "12e4b6e28ed0115e5de0748822a61c4b530b4629",
+   "visual"
+  ],
+  "css/CSS2/normal-flow/inlines-002-ref.xht": [
+   "944fe913ce9324046491e62452c5352a15bb8071",
+   "support"
+  ],
+  "css/CSS2/normal-flow/inlines-002.xht": [
+   "443662c3595ed8bc815b4e916b00924f134b2ea0",
+   "reftest"
+  ],
+  "css/CSS2/normal-flow/inlines-003.xht": [
+   "9b5f985d3e279f9b094fd8adefe9e440cd479634",
+   "manual"
+  ],
+  "css/CSS2/normal-flow/inlines-004.xht": [
+   "b4db75a8477678578ce7f891b3abc933cf0c1e1a",
+   "manual"
+  ],
+  "css/CSS2/normal-flow/inlines-005.xht": [
+   "55008b438ab4a3ab01bc210742e837c4c084d467",
+   "manual"
+  ],
+  "css/CSS2/normal-flow/inlines-006.xht": [
+   "d8910c1dd23817c2d63a6e934ba2d8745c3fbf74",
+   "manual"
+  ],
+  "css/CSS2/normal-flow/inlines-007.xht": [
+   "008a5e64ca07e4bf23a521b097f9ecc4448b183d",
+   "visual"
+  ],
+  "css/CSS2/normal-flow/inlines-009.xht": [
+   "d697027e3bf4a3b59bef8aac71e3fea04e89eed5",
+   "visual"
+  ],
+  "css/CSS2/normal-flow/inlines-010.xht": [
+   "a82f725c89133a90e91b231ea34ea8204929e7c6",
+   "visual"
+  ],
+  "css/CSS2/normal-flow/inlines-011.xht": [
+   "f598b5a2e591cf889272f49c4cdac4a87e6405ad",
+   "visual"
+  ],
+  "css/CSS2/normal-flow/inlines-012.xht": [
+   "1e3ad66012feb97eeb74e2255f46ebabe63774bd",
+   "visual"
+  ],
+  "css/CSS2/normal-flow/inlines-013-ref.xht": [
+   "c1e2d06785de73ae80c9ce9e4dd3c6e81abd86b4",
+   "support"
+  ],
+  "css/CSS2/normal-flow/inlines-013.xht": [
+   "305f28eacf558cb415697f431f0e3af49a7e9f14",
+   "reftest"
+  ],
+  "css/CSS2/normal-flow/inlines-014.xht": [
+   "db9cbcf6b8ca68568afa83a5178fcdc3f24486bc",
+   "visual"
+  ],
+  "css/CSS2/normal-flow/inlines-015.xht": [
+   "557f04943a6c652d3aa0b8d9f8a3ad0dddc8e114",
+   "visual"
+  ],
+  "css/CSS2/normal-flow/inlines-016-ref.xht": [
+   "1b267dd0b8619fb659d797c6cd29ae507e3cf10a",
+   "support"
+  ],
+  "css/CSS2/normal-flow/inlines-016.xht": [
+   "5e99419c06f28c06df336c741ba4829866b16480",
+   "reftest"
+  ],
+  "css/CSS2/normal-flow/inlines-017-ref.xht": [
+   "0b4a9b2decc87c4777d8a5156e8cb917f055024b",
+   "support"
+  ],
+  "css/CSS2/normal-flow/inlines-017.xht": [
+   "604177bccea40f668855c6d718803eee363329f6",
+   "reftest"
+  ],
+  "css/CSS2/normal-flow/inlines-020-ref.xht": [
+   "a31254e929342c84c104a35cb99e238c087c98ed",
+   "support"
+  ],
+  "css/CSS2/normal-flow/inlines-020.xht": [
+   "a19a4cc8d7c500e01a0b591b16c13cd9a18773db",
+   "reftest"
+  ],
+  "css/CSS2/normal-flow/max-height-001.xht": [
+   "34a501cb70b591b6998234f3366361c33a064a18",
+   "reftest"
+  ],
+  "css/CSS2/normal-flow/max-height-002.xht": [
+   "3953046b0bca50a90b44ab66fb91691526096ccc",
+   "reftest"
+  ],
+  "css/CSS2/normal-flow/max-height-003.xht": [
+   "11322952c50df85df918bc1a5b3d209dd80451d0",
+   "reftest"
+  ],
+  "css/CSS2/normal-flow/max-height-004.xht": [
+   "d43feba31b016da5446bec829ea4b18e0d63f668",
+   "reftest"
+  ],
+  "css/CSS2/normal-flow/max-height-005.xht": [
+   "0609378100a17449c22ab314d9addc0da9319a74",
+   "reftest"
+  ],
+  "css/CSS2/normal-flow/max-height-006.xht": [
+   "309d5731edbf889fe5489abfe7bb466040003211",
+   "reftest"
+  ],
+  "css/CSS2/normal-flow/max-height-007.xht": [
+   "99e57a19c24f5ae15a0afbaa1b0da52a676cdd10",
+   "reftest"
+  ],
+  "css/CSS2/normal-flow/max-height-012.xht": [
+   "11a1d912db69b5d96025fc8fede59a276a6d2163",
+   "reftest"
+  ],
+  "css/CSS2/normal-flow/max-height-013.xht": [
+   "cbbb363f0faec757a15b63849a1f75fc8600c978",
+   "reftest"
+  ],
+  "css/CSS2/normal-flow/max-height-014.xht": [
+   "fce94f7e00ea264b1537feb43f95ac0b43c8ff87",
+   "visual"
+  ],
+  "css/CSS2/normal-flow/max-height-015.xht": [
+   "181a2db628d9b3cb07c690303e7d1a6cc6527ac5",
+   "reftest"
+  ],
+  "css/CSS2/normal-flow/max-height-016.xht": [
+   "b4adc2bdb42ab92f87e25bcdf7386e98cb5efa44",
+   "reftest"
+  ],
+  "css/CSS2/normal-flow/max-height-017.xht": [
+   "735ce4204447b0f47daded8129b0a8cf2860c148",
+   "reftest"
+  ],
+  "css/CSS2/normal-flow/max-height-018.xht": [
+   "20bfe69bc1ebf6c615c4f2ee7cc09d7b8b6b3c6b",
+   "reftest"
+  ],
+  "css/CSS2/normal-flow/max-height-023.xht": [
+   "e6bab2f87c44b4ec6d9522b8d15c3004c964dec3",
+   "reftest"
+  ],
+  "css/CSS2/normal-flow/max-height-024.xht": [
+   "8bb424271846aab964a616a350968d11d2ddde4c",
+   "reftest"
+  ],
+  "css/CSS2/normal-flow/max-height-025-ref.xht": [
+   "5b06f9b0a32a0399ea9067c80cc778f86fa46322",
+   "support"
+  ],
+  "css/CSS2/normal-flow/max-height-025.xht": [
+   "4ef5ca1bbd86b0a9ad9d9440186d3b0d4e2930d3",
+   "reftest"
+  ],
+  "css/CSS2/normal-flow/max-height-026.xht": [
+   "1203f6bf86715c8b45fd32982d99e9c09425d896",
+   "reftest"
+  ],
+  "css/CSS2/normal-flow/max-height-027.xht": [
+   "8360914a1992409c9049fe559c0484c849857ca3",
+   "reftest"
+  ],
+  "css/CSS2/normal-flow/max-height-028.xht": [
+   "51cb7b846bdca9e11b3966e4808dce18bd7b162a",
+   "reftest"
+  ],
+  "css/CSS2/normal-flow/max-height-029.xht": [
+   "5075fb803b0caa615c608bb025017372b52cd921",
+   "reftest"
+  ],
+  "css/CSS2/normal-flow/max-height-034.xht": [
+   "d86728222d97f1ed19aed576a166d2843fed7f45",
+   "reftest"
+  ],
+  "css/CSS2/normal-flow/max-height-035.xht": [
+   "7aa28d6acd303fd785b88925aa6428d5e0e40799",
+   "reftest"
+  ],
+  "css/CSS2/normal-flow/max-height-036-ref.xht": [
+   "b8767ad93b32c199ccf38734e811bc2eb49cacc5",
+   "support"
+  ],
+  "css/CSS2/normal-flow/max-height-036.xht": [
+   "f4e168f72678a5bd6662e4491d41d1a373d7af65",
+   "reftest"
+  ],
+  "css/CSS2/normal-flow/max-height-037.xht": [
+   "bce35bc458dcaed1eac64d41c98c353e885980bf",
+   "reftest"
+  ],
+  "css/CSS2/normal-flow/max-height-038.xht": [
+   "8e1f8e2d65f6a7b0bff0048f3e7a4dae4cba148a",
+   "reftest"
+  ],
+  "css/CSS2/normal-flow/max-height-039.xht": [
+   "1dcb932dd58e9f5e3ebbb1199d0dd2f95d1a0a71",
+   "reftest"
+  ],
+  "css/CSS2/normal-flow/max-height-040.xht": [
+   "e6c9d8681c0019f290521f8d5ba08f0f9f3ad42e",
+   "reftest"
+  ],
+  "css/CSS2/normal-flow/max-height-045.xht": [
+   "35135495cd8b680f35475d5fcef24bb459c2a789",
+   "reftest"
+  ],
+  "css/CSS2/normal-flow/max-height-046.xht": [
+   "219611719bc91d4cdbc75c15e5aa8f22c7de7006",
+   "reftest"
+  ],
+  "css/CSS2/normal-flow/max-height-047-ref.xht": [
+   "95e1be9eebd8cd5343e4568bc64aeb7d797a6fcf",
+   "support"
+  ],
+  "css/CSS2/normal-flow/max-height-047.xht": [
+   "f796fc545611bca4e09183573b65bd57ffb8a6c2",
+   "reftest"
+  ],
+  "css/CSS2/normal-flow/max-height-048.xht": [
+   "b7684364b69d33c611a1a659a067270025d179eb",
+   "reftest"
+  ],
+  "css/CSS2/normal-flow/max-height-049.xht": [
+   "976794958ed70f071931de178f18038080cc3c12",
+   "reftest"
+  ],
+  "css/CSS2/normal-flow/max-height-050.xht": [
+   "060f537cfdb68e21720e284146c39ca389a672a6",
+   "reftest"
+  ],
+  "css/CSS2/normal-flow/max-height-051.xht": [
+   "a9ba740c83dd7ffcf4ad05460bc9353aec3d87c8",
+   "reftest"
+  ],
+  "css/CSS2/normal-flow/max-height-056.xht": [
+   "da7d5b84b8eceb7a253103def1381beff19a5bfd",
+   "reftest"
+  ],
+  "css/CSS2/normal-flow/max-height-057.xht": [
+   "c2a721020fa89fbb9b6e97b24018000078bda503",
+   "reftest"
+  ],
+  "css/CSS2/normal-flow/max-height-058-ref.xht": [
+   "7e56262ce9c3a3029ad5001918bf6906e96d67c8",
+   "support"
+  ],
+  "css/CSS2/normal-flow/max-height-058.xht": [
+   "7274caf4b05cdac6dd7ac201cd58ee08603949ce",
+   "reftest"
+  ],
+  "css/CSS2/normal-flow/max-height-059.xht": [
+   "956848fba32f95ebcf91ac07212683d00064705e",
+   "reftest"
+  ],
+  "css/CSS2/normal-flow/max-height-060.xht": [
+   "8e211de96a6510a10a3bb6d611037198aaf0b750",
+   "reftest"
+  ],
+  "css/CSS2/normal-flow/max-height-061.xht": [
+   "ad1ea139100ece968a8a89d11a2fc2295eadb16a",
+   "reftest"
+  ],
+  "css/CSS2/normal-flow/max-height-062.xht": [
+   "2bb488f72a290f6c2fbea7662ecb8b70344e071f",
+   "reftest"
+  ],
+  "css/CSS2/normal-flow/max-height-067.xht": [
+   "5d9bb98a2645f5f4db149e6237f992864301e39d",
+   "reftest"
+  ],
+  "css/CSS2/normal-flow/max-height-068.xht": [
+   "adc9f9d8b45e752b7735c2c26aae0f80ed915337",
+   "reftest"
+  ],
+  "css/CSS2/normal-flow/max-height-069-ref.xht": [
+   "45fcdd26fa4f4de3a8dc8af0aa00546ccc03dc9f",
+   "support"
+  ],
+  "css/CSS2/normal-flow/max-height-069.xht": [
+   "685b25b0fef2445b58274efb3f1b7a6b28051a9b",
+   "reftest"
+  ],
+  "css/CSS2/normal-flow/max-height-070.xht": [
+   "73934dc254e70f9047fd1b860a52e4bc8a5f5b2d",
+   "reftest"
+  ],
+  "css/CSS2/normal-flow/max-height-071.xht": [
+   "ba1c8c96e4fecf6902969d5595fd6b64cb2e29bf",
+   "reftest"
+  ],
+  "css/CSS2/normal-flow/max-height-072.xht": [
+   "94e9032682a1207c0e409c34b3af3a01b8c7b9aa",
+   "reftest"
+  ],
+  "css/CSS2/normal-flow/max-height-073.xht": [
+   "234a89902364fc368eb0e82a1d885614fb3c6a2c",
+   "reftest"
+  ],
+  "css/CSS2/normal-flow/max-height-078.xht": [
+   "67d3c43aedac09652795c9be0b8795cc59715746",
+   "reftest"
+  ],
+  "css/CSS2/normal-flow/max-height-079.xht": [
+   "441917ed990e70d4501c38a21ef31c7c73edcf6e",
+   "reftest"
+  ],
+  "css/CSS2/normal-flow/max-height-080.xht": [
+   "ee78ccc273a39c1ad0a2d47a0fdbcb225aafd473",
+   "reftest"
+  ],
+  "css/CSS2/normal-flow/max-height-081.xht": [
+   "9f37244998cd016233c53f0da1fce0157cb8348d",
+   "reftest"
+  ],
+  "css/CSS2/normal-flow/max-height-082.xht": [
+   "85319d999e362e6e39fed4fbe9f12b5ac4c3d7e3",
+   "reftest"
+  ],
+  "css/CSS2/normal-flow/max-height-083.xht": [
+   "e66ad2787a1548aae5f0930605c8c52e12d9ce70",
+   "reftest"
+  ],
+  "css/CSS2/normal-flow/max-height-084.xht": [
+   "39a44e82a67afa49207c61888b7a5ccc686f11ea",
+   "reftest"
+  ],
+  "css/CSS2/normal-flow/max-height-089.xht": [
+   "b9afa6ce2a12337c430b9b46bdb9e09259037af8",
+   "reftest"
+  ],
+  "css/CSS2/normal-flow/max-height-090.xht": [
+   "2238d4e8b95771217150f5e7d9a753c62cd384c9",
+   "reftest"
+  ],
+  "css/CSS2/normal-flow/max-height-091.xht": [
+   "ce7b2e8373e133a5bdbd4aacad5218069dd8a7aa",
+   "reftest"
+  ],
+  "css/CSS2/normal-flow/max-height-092.xht": [
+   "857b77e54690320fefc68d1d8cf228b0280eb045",
+   "reftest"
+  ],
+  "css/CSS2/normal-flow/max-height-093.xht": [
+   "184139aa2d90d89878bee1db82b6fc25ee6f565d",
+   "reftest"
+  ],
+  "css/CSS2/normal-flow/max-height-094.xht": [
+   "a4351327eac9e0c0d458abfc4bee1af0ec746f84",
+   "reftest"
+  ],
+  "css/CSS2/normal-flow/max-height-095.xht": [
+   "48e8324ac6e6fd0aa120fc970092f8751ff73ab6",
+   "reftest"
+  ],
+  "css/CSS2/normal-flow/max-height-100.xht": [
+   "c01688fdcb1c5ba9735e2485b99a7709143e30e9",
+   "reftest"
+  ],
+  "css/CSS2/normal-flow/max-height-101.xht": [
+   "d65606420d1bef36c76ec3aa15e1321604d307c9",
+   "reftest"
+  ],
+  "css/CSS2/normal-flow/max-height-102.xht": [
+   "a137e2f9f2a34cc6ba762357d05dd40aed313e60",
+   "reftest"
+  ],
+  "css/CSS2/normal-flow/max-height-103.xht": [
+   "639be6c3f31b0c0ea58a40464fbdd5ea443c342b",
+   "reftest"
+  ],
+  "css/CSS2/normal-flow/max-height-104.xht": [
+   "c3e95e3ebf73fc25f1ef2a193059dfa26a6f1f34",
+   "reftest"
+  ],
+  "css/CSS2/normal-flow/max-height-105.xht": [
+   "b8c7afcd5f38b119316f663e26f22ab38d22c667",
+   "visual"
+  ],
+  "css/CSS2/normal-flow/max-height-106.xht": [
+   "d29b3cc91cb7f6e187b6a61a4a4ed4d1eaf88c60",
+   "visual"
+  ],
+  "css/CSS2/normal-flow/max-height-107-ref.xht": [
+   "03f4e6689db21e4ad5507ca5875fb4411eb1b9dc",
+   "support"
+  ],
+  "css/CSS2/normal-flow/max-height-107.xht": [
+   "d104b4ef85fe0113ccbd164d6f355f3055b910be",
+   "reftest"
+  ],
+  "css/CSS2/normal-flow/max-height-108.xht": [
+   "a2bd8c5fe34b16cc1b1e7480bfb88419a01e8bdd",
+   "visual"
+  ],
+  "css/CSS2/normal-flow/max-height-109.xht": [
+   "61b7a124be0e812d1768f14dd5ec871a0f3865cf",
+   "visual"
+  ],
+  "css/CSS2/normal-flow/max-height-110-ref.xht": [
+   "2f82450f34f72c364710bc0fcb89490680be5af3",
+   "support"
+  ],
+  "css/CSS2/normal-flow/max-height-110.xht": [
+   "c41e5395ccc6dbafadb317e8a02aa0dce0fc806d",
+   "reftest"
+  ],
+  "css/CSS2/normal-flow/max-height-111.xht": [
+   "917577d938870916b46f0b7563e8bba436b47d68",
+   "visual"
+  ],
+  "css/CSS2/normal-flow/max-height-applies-to-001.xht": [
+   "e963d763c4b4111f9aec14e0245506fa4c549df8",
+   "visual"
+  ],
+  "css/CSS2/normal-flow/max-height-applies-to-002.xht": [
+   "0be705108ab23e793496feb691406ffef14caedf",
+   "visual"
+  ],
+  "css/CSS2/normal-flow/max-height-applies-to-003.xht": [
+   "95bd76150e11e8dbfc4899510dd63e492a075773",
+   "visual"
+  ],
+  "css/CSS2/normal-flow/max-height-applies-to-004.xht": [
+   "da30b277e0f4308e21bf5e0fd3361fc6c777812a",
+   "visual"
+  ],
+  "css/CSS2/normal-flow/max-height-applies-to-005.xht": [
+   "a7421e7f484678a06526ad74fc39674f8429a8aa",
+   "reftest"
+  ],
+  "css/CSS2/normal-flow/max-height-applies-to-006.xht": [
+   "2eb28f677cd1cbf80b4b5c851b834d31f74112cc",
+   "reftest"
+  ],
+  "css/CSS2/normal-flow/max-height-applies-to-007.xht": [
+   "046fb6bf19734cd19e06e85212ebd32f7c934674",
+   "visual"
+  ],
+  "css/CSS2/normal-flow/max-height-applies-to-008.xht": [
+   "bdeb5b226e52f67c742e24ed6807fdb181bf2f08",
+   "reftest"
+  ],
+  "css/CSS2/normal-flow/max-height-applies-to-009.xht": [
+   "8eee5458e79841586868530d6024b4477db4fc8b",
+   "reftest"
+  ],
+  "css/CSS2/normal-flow/max-height-applies-to-010.xht": [
+   "4af73dd0af164ac971225e6b4c033147db18af9f",
+   "visual"
+  ],
+  "css/CSS2/normal-flow/max-height-applies-to-012.xht": [
+   "c00657893019282278d0f982db5436b102e8b622",
+   "reftest"
+  ],
+  "css/CSS2/normal-flow/max-height-applies-to-013.xht": [
+   "bf00f16c0b1c578fc3a3538d8e67764c101714fb",
+   "reftest"
+  ],
+  "css/CSS2/normal-flow/max-height-applies-to-014.xht": [
+   "d480e8ed8f3a0caa83bcd06fd2f87707df28a008",
+   "reftest"
+  ],
+  "css/CSS2/normal-flow/max-height-applies-to-015.xht": [
+   "16bd8d6375c918edb6fe223680a8d89b33c1f478",
+   "reftest"
+  ],
+  "css/CSS2/normal-flow/max-height-applies-to-016.xht": [
+   "64899001cbd1563eb7691c82061443ef2af3e4db",
+   "reftest"
+  ],
+  "css/CSS2/normal-flow/max-height-max-width-001.xht": [
+   "d2fd8517000b8ab6c75c0de78b587db3bf406598",
+   "visual"
+  ],
+  "css/CSS2/normal-flow/max-height-percentage-001-ref.xht": [
+   "b81ccdbe8f8fdbef9d866769e3518130ba801dc6",
+   "support"
+  ],
+  "css/CSS2/normal-flow/max-height-percentage-001.xht": [
+   "eee02a4a579ff7395dd186c20cfa18fd89a608dc",
+   "reftest"
+  ],
+  "css/CSS2/normal-flow/max-height-percentage-002-ref.xht": [
+   "590b370b6bc0f43704dd5e9502e2418e325d498e",
+   "support"
+  ],
+  "css/CSS2/normal-flow/max-height-percentage-002.xht": [
+   "b32212ec2858d25b932ed1beb14648b46addbb28",
+   "reftest"
+  ],
+  "css/CSS2/normal-flow/max-height-percentage-003.xht": [
+   "6bd4605b943ac4e3ce46e29c8997a196d7d9285e",
+   "reftest"
+  ],
+  "css/CSS2/normal-flow/max-width-001.xht": [
+   "76220f1377af7ffafb15fd5cd2d907b4ef35de33",
+   "reftest"
+  ],
+  "css/CSS2/normal-flow/max-width-002.xht": [
+   "9f7c40f0543d77a452dff3109c5ec9b6be086f77",
+   "reftest"
+  ],
+  "css/CSS2/normal-flow/max-width-003-ref.xht": [
+   "c0d79f288d6ba208eb31de4514fd3a4cded3a92f",
+   "support"
+  ],
+  "css/CSS2/normal-flow/max-width-003.xht": [
+   "5bb14547752353133b4a7e696c222760630c2d3a",
+   "reftest"
+  ],
+  "css/CSS2/normal-flow/max-width-004.xht": [
+   "33f82c7311c1969761979795558280e27854a2db",
+   "reftest"
+  ],
+  "css/CSS2/normal-flow/max-width-005.xht": [
+   "56f7232cb5c441011b746d0aa42e571088bc9da6",
+   "reftest"
+  ],
+  "css/CSS2/normal-flow/max-width-006-ref.xht": [
+   "6b8cb06fbcee8462a5816bde6e7513eb648de683",
+   "support"
+  ],
+  "css/CSS2/normal-flow/max-width-006.xht": [
+   "d4ba896853bed51a2ce4747b3b19cb7b2d3f1f0c",
+   "reftest"
+  ],
+  "css/CSS2/normal-flow/max-width-007.xht": [
+   "8c646455c49838574d20131da219644ea9a533f1",
+   "reftest"
+  ],
+  "css/CSS2/normal-flow/max-width-012.xht": [
+   "21f4671c534c0befe72a73454ebbea0d8b0517a1",
+   "reftest"
+  ],
+  "css/CSS2/normal-flow/max-width-013.xht": [
+   "02f31e601ee15c10e5d6859309765cd46d9bae6f",
+   "reftest"
+  ],
+  "css/CSS2/normal-flow/max-width-014.xht": [
+   "271d39ecfe0e7b3666941028f547e57fe004258d",
+   "visual"
+  ],
+  "css/CSS2/normal-flow/max-width-015.xht": [
+   "51549a75feee6c90f13a87c6c03296aa732381a2",
+   "reftest"
+  ],
+  "css/CSS2/normal-flow/max-width-016.xht": [
+   "15bd7b72efee2291fd4178193c2dcede46bc6b18",
+   "reftest"
+  ],
+  "css/CSS2/normal-flow/max-width-017.xht": [
+   "b871b7190dabf07600a8ba54043427d916157830",
+   "reftest"
+  ],
+  "css/CSS2/normal-flow/max-width-018.xht": [
+   "a32e1f695926e4b5853ba1f513d9f0065f06385b",
+   "reftest"
+  ],
+  "css/CSS2/normal-flow/max-width-023.xht": [
+   "544e1f1c53903a8ce30bbe0706b96478a77335cf",
+   "reftest"
+  ],
+  "css/CSS2/normal-flow/max-width-024.xht": [
+   "eca3bba915252a4944a8cb9c3c32a7e18d2b89a3",
+   "reftest"
+  ],
+  "css/CSS2/normal-flow/max-width-025-ref.xht": [
+   "59c985ae1181b997022ac92780fd36f4beb4b380",
+   "support"
+  ],
+  "css/CSS2/normal-flow/max-width-025.xht": [
+   "b10698cb94c754c0d1824b728613a4a3ac399fb5",
+   "reftest"
+  ],
+  "css/CSS2/normal-flow/max-width-026.xht": [
+   "d1bc95f0d3cf17a93fa9612ed5ed7ed66629e954",
+   "reftest"
+  ],
+  "css/CSS2/normal-flow/max-width-027.xht": [
+   "8a2fe1459c4d38c7526d1315001e28c5d2d57d02",
+   "reftest"
+  ],
+  "css/CSS2/normal-flow/max-width-028.xht": [
+   "9524f9353d99a665e93b9a0e2e3cb63f054a8f9c",
+   "reftest"
+  ],
+  "css/CSS2/normal-flow/max-width-029.xht": [
+   "64e824546b6ba183602383f9c5a54cd3a88b1b7d",
+   "reftest"
+  ],
+  "css/CSS2/normal-flow/max-width-034.xht": [
+   "2ce915dbf34340a0a6901bd35eeb1523f1cf9ce0",
+   "reftest"
+  ],
+  "css/CSS2/normal-flow/max-width-035.xht": [
+   "46f03a808ed69d46fd1867e54816c898f2bd323b",
+   "reftest"
+  ],
+  "css/CSS2/normal-flow/max-width-036-ref.xht": [
+   "8a4d99db313613f974e473eef0e91701e758cf55",
+   "support"
+  ],
+  "css/CSS2/normal-flow/max-width-036.xht": [
+   "137d1fc366af7de4fe80a82a1e42b9951967b3cd",
+   "reftest"
+  ],
+  "css/CSS2/normal-flow/max-width-037.xht": [
+   "d733eb080cce42aa7fd15ccd732f771b3d15c5bf",
+   "reftest"
+  ],
+  "css/CSS2/normal-flow/max-width-038.xht": [
+   "2549d15e6d49ba6e46dd660e1aa1521936503bc9",
+   "reftest"
+  ],
+  "css/CSS2/normal-flow/max-width-039.xht": [
+   "c0c004652d099f59ef5097c2d694fa0e051e5613",
+   "reftest"
+  ],
+  "css/CSS2/normal-flow/max-width-040.xht": [
+   "21f3d9d6a29b8e64c3cb708da64752f4ea99e458",
+   "reftest"
+  ],
+  "css/CSS2/normal-flow/max-width-045.xht": [
+   "efd5f614f0776d6a0cefbaa2d0b44cea9a652edb",
+   "reftest"
+  ],
+  "css/CSS2/normal-flow/max-width-046.xht": [
+   "0cb35c80e4bbc5b02b44452642a4815c4f672714",
+   "reftest"
+  ],
+  "css/CSS2/normal-flow/max-width-047-ref.xht": [
+   "4fc644b37b4f32ab961d121069b63d06b9744e39",
+   "support"
+  ],
+  "css/CSS2/normal-flow/max-width-047.xht": [
+   "2d872b30b31e10fea31a5625942211f4f4a7d294",
+   "reftest"
+  ],
+  "css/CSS2/normal-flow/max-width-048.xht": [
+   "01c2953c14f3cf84d5d4bce83414978c4dd55149",
+   "reftest"
+  ],
+  "css/CSS2/normal-flow/max-width-049.xht": [
+   "7d62f348e37cf210eaef77ed4695519a9e3d8d7b",
+   "reftest"
+  ],
+  "css/CSS2/normal-flow/max-width-050.xht": [
+   "0303eedc86ca1c700773994233b0ffc3cfe6188f",
+   "reftest"
+  ],
+  "css/CSS2/normal-flow/max-width-051.xht": [
+   "1ff8379d48ed98706181de8167bc69b93f0b5017",
+   "reftest"
+  ],
+  "css/CSS2/normal-flow/max-width-056.xht": [
+   "872a1211282a120cf814c8d06da94f8118b0c218",
+   "reftest"
+  ],
+  "css/CSS2/normal-flow/max-width-057.xht": [
+   "79fcdeac2b84bea05c51f770c4a078b082031d62",
+   "reftest"
+  ],
+  "css/CSS2/normal-flow/max-width-058.xht": [
+   "602b69ea91ff0e30b759d53e04e658da4ace87ae",
+   "reftest"
+  ],
+  "css/CSS2/normal-flow/max-width-059.xht": [
+   "f7d0a6caf09476a575eed5e14e6a82639f900451",
+   "reftest"
+  ],
+  "css/CSS2/normal-flow/max-width-060.xht": [
+   "6d582c0550e5316fe1133440d9a619a21de270d9",
+   "reftest"
+  ],
+  "css/CSS2/normal-flow/max-width-061-ref.xht": [
+   "5c11c766b044e8f1b188c6fba37ee21f2d40a5eb",
+   "support"
+  ],
+  "css/CSS2/normal-flow/max-width-061.xht": [
+   "0bfa7d3bf0b0cac3f60eaeae105b8a0536f25657",
+   "reftest"
+  ],
+  "css/CSS2/normal-flow/max-width-062.xht": [
+   "667961dcbf8accf8184d9d1473eded46be408c33",
+   "reftest"
+  ],
+  "css/CSS2/normal-flow/max-width-067.xht": [
+   "d08b0f0ff4001e26f7cf554fa83d24a1e7a3ab2d",
+   "reftest"
+  ],
+  "css/CSS2/normal-flow/max-width-068.xht": [
+   "ce29d1a6524f99abb72b8934ef4e42ba01c8e0db",
+   "reftest"
+  ],
+  "css/CSS2/normal-flow/max-width-069-ref.xht": [
+   "2ab84533e6f4182615adb520b391df28ee317ee4",
+   "support"
+  ],
+  "css/CSS2/normal-flow/max-width-069.xht": [
+   "46f68e7870566d6f856b9390649e31095e4062d4",
+   "reftest"
+  ],
+  "css/CSS2/normal-flow/max-width-070.xht": [
+   "680b63c87fe074c33ea42d106539157858ee2556",
+   "reftest"
+  ],
+  "css/CSS2/normal-flow/max-width-071.xht": [
+   "5ac777a25080d1964bc73e5ee9c02fc7f5c9544f",
+   "reftest"
+  ],
+  "css/CSS2/normal-flow/max-width-072-ref.xht": [
+   "79244a3d34023690188c2bca69a553a64a5c7362",
+   "support"
+  ],
+  "css/CSS2/normal-flow/max-width-072.xht": [
+   "ed6d63feec73dccae7145016e6d1f6fa9b76d38d",
+   "reftest"
+  ],
+  "css/CSS2/normal-flow/max-width-073.xht": [
+   "6a5acde53799688a1e11723ad7b627e4d90fe0a8",
+   "reftest"
+  ],
+  "css/CSS2/normal-flow/max-width-078.xht": [
+   "43a6a214e8fc5b4a63984cc3feae7211db6d7efd",
+   "reftest"
+  ],
+  "css/CSS2/normal-flow/max-width-079.xht": [
+   "8623b168cd36b4698c435a6d426f0811bf2e7072",
+   "reftest"
+  ],
+  "css/CSS2/normal-flow/max-width-080.xht": [
+   "0179c21300ddf39820212eef79100a261997d195",
+   "reftest"
+  ],
+  "css/CSS2/normal-flow/max-width-081.xht": [
+   "34e9d5118eea6fba94d77927dcc58b276c3387fa",
+   "reftest"
+  ],
+  "css/CSS2/normal-flow/max-width-082.xht": [
+   "19b876466fd8760538d4f44f70ca5478b3387b0b",
+   "reftest"
+  ],
+  "css/CSS2/normal-flow/max-width-083.xht": [
+   "8faf78712ae42ef92dcf01996f584c026799986d",
+   "reftest"
+  ],
+  "css/CSS2/normal-flow/max-width-084.xht": [
+   "07b3448b1bcfc484d1a8b9ef028ee279adab861b",
+   "reftest"
+  ],
+  "css/CSS2/normal-flow/max-width-089.xht": [
+   "07c687d1e67ed0c475a76e7d55907b124af08ab7",
+   "reftest"
+  ],
+  "css/CSS2/normal-flow/max-width-090.xht": [
+   "66865396744703ccc187953843665e654b3d67dd",
+   "reftest"
+  ],
+  "css/CSS2/normal-flow/max-width-091.xht": [
+   "c81b15c9c8c13c3dd5517e60602690e74d1ad9be",
+   "reftest"
+  ],
+  "css/CSS2/normal-flow/max-width-092.xht": [
+   "b8a5e6ccddf2de3b3b1870c62c50ad082649670b",
+   "reftest"
+  ],
+  "css/CSS2/normal-flow/max-width-093.xht": [
+   "74080e83fcf97772e6be423955cadb85b4a8930e",
+   "reftest"
+  ],
+  "css/CSS2/normal-flow/max-width-094.xht": [
+   "a74c676c23fa82d6eeda5eae510c687dc0b66c2f",
+   "reftest"
+  ],
+  "css/CSS2/normal-flow/max-width-095.xht": [
+   "5d172975c0863513b1c69b12149fe1472205ed37",
+   "reftest"
+  ],
+  "css/CSS2/normal-flow/max-width-100.xht": [
+   "045eb0fb9139e93cb0111e7c593d92f9f747907a",
+   "reftest"
+  ],
+  "css/CSS2/normal-flow/max-width-101.xht": [
+   "8ee161b43e22fa44ca7ed6d64ad443f276c2b1ef",
+   "reftest"
+  ],
+  "css/CSS2/normal-flow/max-width-102.xht": [
+   "75fe04a356f90eab3605f4a6be2642446970abb8",
+   "reftest"
+  ],
+  "css/CSS2/normal-flow/max-width-103.xht": [
+   "1141c1caf8d75ad182263f54ce4ca3a468577ba9",
+   "reftest"
+  ],
+  "css/CSS2/normal-flow/max-width-104.xht": [
+   "1beb9f9bfeb57d02e5388e7a6fc48e3c01832901",
+   "reftest"
+  ],
+  "css/CSS2/normal-flow/max-width-105-ref.xht": [
+   "69084693a25f15b9359cf8cbae03e1ffa10e3ff2",
+   "support"
+  ],
+  "css/CSS2/normal-flow/max-width-105.xht": [
+   "2b72bea8383a23e0d95753e1cec2bce7a6f460b3",
+   "reftest"
+  ],
+  "css/CSS2/normal-flow/max-width-106.xht": [
+   "2d76b23fbe8a4f0cd302bdb19e7c6bc6d4b7d8f8",
+   "reftest"
+  ],
+  "css/CSS2/normal-flow/max-width-107-ref.xht": [
+   "613e8fc05a5e4d1744ea9eecdfa334fd5cb41aba",
+   "support"
+  ],
+  "css/CSS2/normal-flow/max-width-107.xht": [
+   "1a481f4df10a8eb29f36164c3d35463b94fcc0d5",
+   "reftest"
+  ],
+  "css/CSS2/normal-flow/max-width-108.xht": [
+   "937d0b5478f8b66ca3e36b3f8be27191f00cd851",
+   "visual"
+  ],
+  "css/CSS2/normal-flow/max-width-110.xht": [
+   "7762cb29519e16635c749d0dff29fdd2c7abb453",
+   "reftest"
+  ],
+  "css/CSS2/normal-flow/max-width-applies-to-001.xht": [
+   "27d770074506618b52964132ca6834b5355204b9",
+   "reftest"
+  ],
+  "css/CSS2/normal-flow/max-width-applies-to-002.xht": [
+   "83897c2e1f9dff05ee45b880c6d9e28b408515e0",
+   "reftest"
+  ],
+  "css/CSS2/normal-flow/max-width-applies-to-003.xht": [
+   "3ab6d0768c9455e785d7c7361f3965794bc4d429",
+   "reftest"
+  ],
+  "css/CSS2/normal-flow/max-width-applies-to-004.xht": [
+   "261bb2453096c70f08ca5bf26fc52109a476eec6",
+   "reftest"
+  ],
+  "css/CSS2/normal-flow/max-width-applies-to-005.xht": [
+   "847cdaf0826e54f71ac8174d2223b112cf632996",
+   "reftest"
+  ],
+  "css/CSS2/normal-flow/max-width-applies-to-006.xht": [
+   "f47e1d3c2b3786e1ee1520d5c503a7870dc91e37",
+   "reftest"
+  ],
+  "css/CSS2/normal-flow/max-width-applies-to-007.xht": [
+   "e44838b6d29b5168db3b2d8673b0bd190f1ce3fc",
+   "reftest"
+  ],
+  "css/CSS2/normal-flow/max-width-applies-to-008.xht": [
+   "7528602e068f3c604160862ab06da06d5c07da1f",
+   "reftest"
+  ],
+  "css/CSS2/normal-flow/max-width-applies-to-009.xht": [
+   "36112603fec38f06ace65df080caf18d9a9b21d0",
+   "reftest"
+  ],
+  "css/CSS2/normal-flow/max-width-applies-to-010.xht": [
+   "1e47e1f71649f397b4a323d4e204812dca5489ed",
+   "visual"
+  ],
+  "css/CSS2/normal-flow/max-width-applies-to-012.xht": [
+   "5f5a6aa5e57f62832ea065307436a05d397da105",
+   "reftest"
+  ],
+  "css/CSS2/normal-flow/max-width-applies-to-013.xht": [
+   "cf9090dcc9e83d94a643a0ae676d18c27e169588",
+   "reftest"
+  ],
+  "css/CSS2/normal-flow/max-width-applies-to-014.xht": [
+   "e7c426c87be768c0326acad9a826c96ce89cf7f0",
+   "reftest"
+  ],
+  "css/CSS2/normal-flow/max-width-applies-to-015.xht": [
+   "5a3395b352b9094950554176ea2ec9c869dd9c57",
+   "reftest"
+  ],
+  "css/CSS2/normal-flow/max-width-applies-to-016.xht": [
+   "5a0e5d82bb020bd222ce786e28a2a7f8339f803f",
+   "reftest"
+  ],
+  "css/CSS2/normal-flow/max-width-percentage-001-ref.xht": [
+   "66ed4606c48bc12a9e945f5a33e0afd0c44acb0f",
+   "support"
+  ],
+  "css/CSS2/normal-flow/max-width-percentage-001.xht": [
+   "1a7b193be6027dfcb16519ca881a870c72b28b56",
+   "reftest"
+  ],
+  "css/CSS2/normal-flow/max-width-percentage-002.xht": [
+   "81a670166512c27bfc82ef7f2aab4c4495105232",
+   "reftest"
+  ],
+  "css/CSS2/normal-flow/max-width-percentage-003.xht": [
+   "058b3e8885b0110c39eba87d4246e3eb099620f4",
+   "visual"
+  ],
+  "css/CSS2/normal-flow/min-height-001.xht": [
+   "18ac0545ada404c1bdc9602d445c6d4b86ab3bc8",
+   "reftest"
+  ],
+  "css/CSS2/normal-flow/min-height-002.xht": [
+   "45f85c6796a9d899ce98d9fb6404e3dd6523b0fb",
+   "reftest"
+  ],
+  "css/CSS2/normal-flow/min-height-003.xht": [
+   "e33769ad3a10329facccb285b5e5a2f0f4f2fa53",
+   "reftest"
+  ],
+  "css/CSS2/normal-flow/min-height-004.xht": [
+   "8aa870e057d7f8edb5b93c4b55f2e81d23181f90",
+   "reftest"
+  ],
+  "css/CSS2/normal-flow/min-height-005.xht": [
+   "c3d070fef12e021376a2f4208e00716883430ba8",
+   "reftest"
+  ],
+  "css/CSS2/normal-flow/min-height-006.xht": [
+   "a0086f2aaec47a03d0049a03b4ead32fea158dfd",
+   "reftest"
+  ],
+  "css/CSS2/normal-flow/min-height-007.xht": [
+   "27a291b3375b0428037d70f4b3c055bb5cf467cc",
+   "reftest"
+  ],
+  "css/CSS2/normal-flow/min-height-012.xht": [
+   "140c201628f8d2ea1de728f6295acc92e285c406",
+   "reftest"
+  ],
+  "css/CSS2/normal-flow/min-height-013.xht": [
+   "fbf493bb2530b1fec073204ccece7af582557b96",
+   "reftest"
+  ],
+  "css/CSS2/normal-flow/min-height-014.xht": [
+   "85aa8dda6c99c738712f882f8a757b2c601a607f",
+   "visual"
+  ],
+  "css/CSS2/normal-flow/min-height-015.xht": [
+   "2816e3890e235e8f169b75b06572a9d07ce971b4",
+   "reftest"
+  ],
+  "css/CSS2/normal-flow/min-height-016.xht": [
+   "cee01d4c65e1bb547be0fd720d050eb5c7ca54f1",
+   "reftest"
+  ],
+  "css/CSS2/normal-flow/min-height-017.xht": [
+   "1573e69e5c00ecbae557f0d758cd36720331fcce",
+   "reftest"
+  ],
+  "css/CSS2/normal-flow/min-height-018.xht": [
+   "7174de13abe75f3935d65b597dba8fb6ce1b9faf",
+   "reftest"
+  ],
+  "css/CSS2/normal-flow/min-height-023.xht": [
+   "660b64f1a7268a66966834caaf2fdca53d7aefa9",
+   "reftest"
+  ],
+  "css/CSS2/normal-flow/min-height-024.xht": [
+   "2a714a9ebd026116268e271703e9e0f20b35f6b9",
+   "reftest"
+  ],
+  "css/CSS2/normal-flow/min-height-025.xht": [
+   "de31d5dd256177bb1ba2c8524ce7b48e243175ed",
+   "reftest"
+  ],
+  "css/CSS2/normal-flow/min-height-026.xht": [
+   "27bb65fea8c6acf07d43dbe474e99767edb6d7dd",
+   "reftest"
+  ],
+  "css/CSS2/normal-flow/min-height-027.xht": [
+   "112243905cac417f5fb4f52888a1331d6f0b045e",
+   "reftest"
+  ],
+  "css/CSS2/normal-flow/min-height-028.xht": [
+   "dd4fe9370674e10db93fc831279779498cd39cd6",
+   "reftest"
+  ],
+  "css/CSS2/normal-flow/min-height-029.xht": [
+   "ee21916f63e45775fe5f06cc00fc2c79cadc6b55",
+   "reftest"
+  ],
+  "css/CSS2/normal-flow/min-height-034.xht": [
+   "433cef8bf0e2496f509e84bc934814b34ea3452a",
+   "reftest"
+  ],
+  "css/CSS2/normal-flow/min-height-035.xht": [
+   "e57b309d1f12a4dccb944bdc07c24c33717c9546",
+   "reftest"
+  ],
+  "css/CSS2/normal-flow/min-height-036.xht": [
+   "1e3cd5a7e9c97d53d232c4027e9b403299b29f77",
+   "reftest"
+  ],
+  "css/CSS2/normal-flow/min-height-037.xht": [
+   "7fc75637f0540c9ca953f7ca8413ce40930c8cc5",
+   "reftest"
+  ],
+  "css/CSS2/normal-flow/min-height-038.xht": [
+   "41117413a9155655e5ac5085dcf9c112ea152027",
+   "reftest"
+  ],
+  "css/CSS2/normal-flow/min-height-039.xht": [
+   "a262200c05333292fdeacd565ba2b5a2b9352c21",
+   "reftest"
+  ],
+  "css/CSS2/normal-flow/min-height-040.xht": [
+   "565d9422d554fbf3951d1be7885ae08f5aa0b2b3",
+   "reftest"
+  ],
+  "css/CSS2/normal-flow/min-height-045.xht": [
+   "1b401560699a529187e31df4be22c1580f373e96",
+   "reftest"
+  ],
+  "css/CSS2/normal-flow/min-height-046.xht": [
+   "68b9fcbb683a9cefdda6e5a24818171fc746063b",
+   "reftest"
+  ],
+  "css/CSS2/normal-flow/min-height-047.xht": [
+   "ceebfce4590c66701d9c38a9ddb26b29b8f7ec5b",
+   "reftest"
+  ],
+  "css/CSS2/normal-flow/min-height-048.xht": [
+   "af768324b289453571b3e88ee1cacc0b38e96d50",
+   "reftest"
+  ],
+  "css/CSS2/normal-flow/min-height-049.xht": [
+   "9c96b8d01e21d4e7e27044ccdaed173ceb67b30e",
+   "reftest"
+  ],
+  "css/CSS2/normal-flow/min-height-050.xht": [
+   "21003c9763463e1ad0c51a3b93bbfee7de963110",
+   "reftest"
+  ],
+  "css/CSS2/normal-flow/min-height-051.xht": [
+   "9a3f0265d673c6263300e16089377d0e23bbc125",
+   "reftest"
+  ],
+  "css/CSS2/normal-flow/min-height-056.xht": [
+   "7645e84d4afd68d34297987e9175e752872a11fa",
+   "reftest"
+  ],
+  "css/CSS2/normal-flow/min-height-057.xht": [
+   "d9abd2032c3785a7d36497c473866dc16b15a1ad",
+   "reftest"
+  ],
+  "css/CSS2/normal-flow/min-height-058.xht": [
+   "fe144de7204ceeeb1ae5050faec7247b51249371",
+   "reftest"
+  ],
+  "css/CSS2/normal-flow/min-height-059.xht": [
+   "8ccbae72918ea8b76e2efad7ffbd9e34135cd636",
+   "reftest"
+  ],
+  "css/CSS2/normal-flow/min-height-060.xht": [
+   "4f9272b3f85e6a86d1cac6cc1430a95fb97fe02e",
+   "reftest"
+  ],
+  "css/CSS2/normal-flow/min-height-061.xht": [
+   "c27e7633d62a4bb623c6efccc55ab13de5226431",
+   "reftest"
+  ],
+  "css/CSS2/normal-flow/min-height-062.xht": [
+   "a888dc327ae7a0b3e4f1af72e704ca8373e8c990",
+   "reftest"
+  ],
+  "css/CSS2/normal-flow/min-height-067-ref.xht": [
+   "cdca100be2102a3bc7610636a02105dc77c3e9d9",
+   "support"
+  ],
+  "css/CSS2/normal-flow/min-height-067.xht": [
+   "e31fe21771f8a4b1df485c50cb339447e39524bf",
+   "reftest"
+  ],
+  "css/CSS2/normal-flow/min-height-068.xht": [
+   "07b5d1291fe86632a6de7bebf00207f8ef6d3113",
+   "reftest"
+  ],
+  "css/CSS2/normal-flow/min-height-069.xht": [
+   "fbbdccb427e7baacba934fc106367a1679cb0ac7",
+   "reftest"
+  ],
+  "css/CSS2/normal-flow/min-height-070.xht": [
+   "ec2e7e01c384a14eea8e73cdac5a5b19eb6b4968",
+   "reftest"
+  ],
+  "css/CSS2/normal-flow/min-height-071.xht": [
+   "e716399e00ac3765cdf9d81e7fdb602c18b4e353",
+   "reftest"
+  ],
+  "css/CSS2/normal-flow/min-height-072.xht": [
+   "cd6a54a1d800ffb147fa0153c47acb6b11189981",
+   "reftest"
+  ],
+  "css/CSS2/normal-flow/min-height-073.xht": [
+   "50744cf12702f872b9fb107ec39a7270ee4e513e",
+   "reftest"
+  ],
+  "css/CSS2/normal-flow/min-height-078.xht": [
+   "9e8f6f1f26e1398121fd4dc85fd0bccc8945f8a1",
+   "reftest"
+  ],
+  "css/CSS2/normal-flow/min-height-079.xht": [
+   "ac01c6ece1618e3ed74dd28002942adc32c8a9c3",
+   "reftest"
+  ],
+  "css/CSS2/normal-flow/min-height-080.xht": [
+   "df4262ea9f4507cdb0339efa79f63a6a6231789b",
+   "reftest"
+  ],
+  "css/CSS2/normal-flow/min-height-081.xht": [
+   "54eae8547016568597204da77c5d6dbde79b0c43",
+   "reftest"
+  ],
+  "css/CSS2/normal-flow/min-height-082.xht": [
+   "af474b86ba3cdc978ef6b3cf146dd2e7789927ea",
+   "reftest"
+  ],
+  "css/CSS2/normal-flow/min-height-083.xht": [
+   "25e4811e28332fb24866379bc8473f9948daff4b",
+   "reftest"
+  ],
+  "css/CSS2/normal-flow/min-height-084.xht": [
+   "d0f2c7baf4ddc5eb7202a4f7d2c5e166b8ee085c",
+   "reftest"
+  ],
+  "css/CSS2/normal-flow/min-height-089.xht": [
+   "17db3ba886f964290021fe3737bd08191b36c40a",
+   "reftest"
+  ],
+  "css/CSS2/normal-flow/min-height-090.xht": [
+   "4f49d2a81094d88fe214998be6d18f2c7e1e5d56",
+   "reftest"
+  ],
+  "css/CSS2/normal-flow/min-height-091.xht": [
+   "8fe4623cd4563c9c9be70a3151e329cc9d2c77cc",
+   "reftest"
+  ],
+  "css/CSS2/normal-flow/min-height-092.xht": [
+   "66da6e7d56c15f4c56212f0c601412a6d1ed5237",
+   "reftest"
+  ],
+  "css/CSS2/normal-flow/min-height-093.xht": [
+   "441fc98bd6fa8536bd22ca5b7bbc51e2af8225ad",
+   "reftest"
+  ],
+  "css/CSS2/normal-flow/min-height-094.xht": [
+   "9db198872ecccfc2db04ccba8117f30b23f372c8",
+   "reftest"
+  ],
+  "css/CSS2/normal-flow/min-height-095.xht": [
+   "51c85973b06ef5b6fad64f8aa2b355a549a74ba8",
+   "reftest"
+  ],
+  "css/CSS2/normal-flow/min-height-100.xht": [
+   "dfe800541e1603b5853c1bd0559c96fa27403589",
+   "reftest"
+  ],
+  "css/CSS2/normal-flow/min-height-101.xht": [
+   "1285de0a42b900d866cc8dcda493e7863d843e1d",
+   "reftest"
+  ],
+  "css/CSS2/normal-flow/min-height-102.xht": [
+   "9fb2666c9e5073806509f5a29720e852d9dedc8e",
+   "reftest"
+  ],
+  "css/CSS2/normal-flow/min-height-103.xht": [
+   "3e7e06df270c3473c53428278209a7c720d5929e",
+   "reftest"
+  ],
+  "css/CSS2/normal-flow/min-height-104.xht": [
+   "863552a4e33de2e394023d339eb661f142389230",
+   "reftest"
+  ],
+  "css/CSS2/normal-flow/min-height-105.xht": [
+   "f2e54ec2c71440b522c7c6471b6c92dc91e32acf",
+   "reftest"
+  ],
+  "css/CSS2/normal-flow/min-height-106.xht": [
+   "7d5eda617143f72e376b906dc0f3c954dd153b34",
+   "reftest"
+  ],
+  "css/CSS2/normal-flow/min-height-111-ref.xht": [
+   "7d9230bfb80b59654cc8899e1d68657f1625a2e4",
+   "support"
+  ],
+  "css/CSS2/normal-flow/min-height-111.xht": [
+   "d39f339abca2a9fdd7c9fa7566eb8e51086019c0",
+   "reftest"
+  ],
+  "css/CSS2/normal-flow/min-height-112.xht": [
+   "f9acb1229b0cc0502f17dac083e544b405fad1a3",
+   "reftest"
+  ],
+  "css/CSS2/normal-flow/min-height-113.xht": [
+   "7dd5fdaec20b2b8ce860069960a50b93770cfd15",
+   "visual"
+  ],
+  "css/CSS2/normal-flow/min-height-applies-to-001.xht": [
+   "8c0a347d3fcc50a935b70a04b6da9eec2143a60b",
+   "visual"
+  ],
+  "css/CSS2/normal-flow/min-height-applies-to-002.xht": [
+   "7ea489b6dabafee5844e54f26340caeefb6a2535",
+   "visual"
+  ],
+  "css/CSS2/normal-flow/min-height-applies-to-003.xht": [
+   "bfe599c8d8bc753596540cc0ccd720a2f3a63805",
+   "visual"
+  ],
+  "css/CSS2/normal-flow/min-height-applies-to-004.xht": [
+   "0357ec8f5240361e499aeae6ba89af4cddbe0b47",
+   "visual"
+  ],
+  "css/CSS2/normal-flow/min-height-applies-to-005.xht": [
+   "b2f0bde69525d1a2969edd19f3303d8356cb3f22",
+   "reftest"
+  ],
+  "css/CSS2/normal-flow/min-height-applies-to-006.xht": [
+   "4562616b958355743c4e75c33c87c684f12b40cd",
+   "reftest"
+  ],
+  "css/CSS2/normal-flow/min-height-applies-to-007.xht": [
+   "831a8147a37e93eb81f86a9c810c8cec3c11a30c",
+   "visual"
+  ],
+  "css/CSS2/normal-flow/min-height-applies-to-008.xht": [
+   "9d4bb4bdf04a5aa630a30f08119a574992480855",
+   "reftest"
+  ],
+  "css/CSS2/normal-flow/min-height-applies-to-009.xht": [
+   "2a8a7fe87b8d5162b0bb3d8276a353f1cbde6f74",
+   "reftest"
+  ],
+  "css/CSS2/normal-flow/min-height-applies-to-010.xht": [
+   "24b7180c2d8fa1b33ad591a249e48fdb30204fa9",
+   "visual"
+  ],
+  "css/CSS2/normal-flow/min-height-applies-to-012.xht": [
+   "1e5c3f3d495ee992554789b06059b4068a14a4ee",
+   "reftest"
+  ],
+  "css/CSS2/normal-flow/min-height-applies-to-013.xht": [
+   "b47bf85ce0dc2d2f9640deca152071cfad98a0a6",
+   "visual"
+  ],
+  "css/CSS2/normal-flow/min-height-applies-to-014.xht": [
+   "bc4bb04d8c401a275f1753ad50bbe0c3a7523361",
+   "visual"
+  ],
+  "css/CSS2/normal-flow/min-height-applies-to-015.xht": [
+   "e7747eb3fecd08d85f8648c2dc684703756b5623",
+   "reftest"
+  ],
+  "css/CSS2/normal-flow/min-height-percentage-001.xht": [
+   "d50ba020b219f9460675e5564d26d545e8e95e50",
+   "reftest"
+  ],
+  "css/CSS2/normal-flow/min-height-percentage-002.xht": [
+   "1ec951b306b6a149e32e298f0288e9bc408804f6",
+   "reftest"
+  ],
+  "css/CSS2/normal-flow/min-height-percentage-003-ref.xht": [
+   "f66a44a28e184cb65195683f96d8dd6544a765c8",
+   "support"
+  ],
+  "css/CSS2/normal-flow/min-height-percentage-003.xht": [
+   "52a71147fbe5064a916cc72f50dca86dac9fd719",
+   "reftest"
+  ],
+  "css/CSS2/normal-flow/min-width-001.xht": [
+   "00a16f31de68edbc2672c51892aac9c6e37d49e8",
+   "reftest"
+  ],
+  "css/CSS2/normal-flow/min-width-002.xht": [
+   "57c97265f3f7ab17b83177308c9cc32540906598",
+   "reftest"
+  ],
+  "css/CSS2/normal-flow/min-width-003.xht": [
+   "91c0abc296f8589a8859570eff05047e6b2877f8",
+   "reftest"
+  ],
+  "css/CSS2/normal-flow/min-width-004.xht": [
+   "6307631afb196fda66c8037e92f986b2b2116b1f",
+   "reftest"
+  ],
+  "css/CSS2/normal-flow/min-width-005.xht": [
+   "e8bbedeb923e12ddea8d0c333a3a18d27e69f479",
+   "reftest"
+  ],
+  "css/CSS2/normal-flow/min-width-006.xht": [
+   "b81037a400fcdf98498b7af8773daa7811790817",
+   "reftest"
+  ],
+  "css/CSS2/normal-flow/min-width-007.xht": [
+   "f7c514fb087f0addfc1245e50ace54d670bfcde1",
+   "reftest"
+  ],
+  "css/CSS2/normal-flow/min-width-012.xht": [
+   "5706b8bebb718cacaa8f2c504b3b66eb9b6c6c88",
+   "reftest"
+  ],
+  "css/CSS2/normal-flow/min-width-013.xht": [
+   "591b6220e1e7e9112d56b0850b0d3ab4f2142083",
+   "reftest"
+  ],
+  "css/CSS2/normal-flow/min-width-014.xht": [
+   "3279827c8fda9dafc8b734f31bf1f31b58965473",
+   "visual"
+  ],
+  "css/CSS2/normal-flow/min-width-015.xht": [
+   "fb99925cdccaae1ede941fc375e444e10d03188e",
+   "reftest"
+  ],
+  "css/CSS2/normal-flow/min-width-016.xht": [
+   "1b9f8eba82ab482650076d60c996e4c0febd3ac7",
+   "reftest"
+  ],
+  "css/CSS2/normal-flow/min-width-017.xht": [
+   "1d917518fae6e7f7735857ae19aa3ec660e55e3f",
+   "reftest"
+  ],
+  "css/CSS2/normal-flow/min-width-018.xht": [
+   "59100a6f4222a41fd12db38bf6840f79cd9b11f2",
+   "reftest"
+  ],
+  "css/CSS2/normal-flow/min-width-023.xht": [
+   "ecc2e1f13f6053e7d388795924da74200bfc832b",
+   "reftest"
+  ],
+  "css/CSS2/normal-flow/min-width-024.xht": [
+   "e46c9e276805652c467db3a878f4cf4e86e01d02",
+   "reftest"
+  ],
+  "css/CSS2/normal-flow/min-width-025.xht": [
+   "2ed001234f4c591d9b1c8aed6a33b3779d7112d4",
+   "reftest"
+  ],
+  "css/CSS2/normal-flow/min-width-026.xht": [
+   "6e241b702c2436bb5497f6396b5854595d0c5e99",
+   "reftest"
+  ],
+  "css/CSS2/normal-flow/min-width-027.xht": [
+   "22dc40ea59ed6c5b85165c7c3154316cd9f5f760",
+   "reftest"
+  ],
+  "css/CSS2/normal-flow/min-width-028.xht": [
+   "709ce36eae3cbf5aa7bb13a41b5ee72a4f460f2a",
+   "reftest"
+  ],
+  "css/CSS2/normal-flow/min-width-029.xht": [
+   "252a1880aa8f5f87ad16df906d74bf4256da0aae",
+   "reftest"
+  ],
+  "css/CSS2/normal-flow/min-width-034.xht": [
+   "efa80464fcd45ee25d20fe153bc2d4f86f047765",
+   "reftest"
+  ],
+  "css/CSS2/normal-flow/min-width-035.xht": [
+   "6756bf51e1c586639be7ade83a257d04e117439c",
+   "reftest"
+  ],
+  "css/CSS2/normal-flow/min-width-036.xht": [
+   "e5c2d43a90bae4d95e52192da8f2eb275ee082b6",
+   "reftest"
+  ],
+  "css/CSS2/normal-flow/min-width-037.xht": [
+   "c2d27c797041be11c06f6c6fc70e0ce5c86b8155",
+   "reftest"
+  ],
+  "css/CSS2/normal-flow/min-width-038.xht": [
+   "77375872efcef5b5b7fe98a17cc4ee3852b20e58",
+   "reftest"
+  ],
+  "css/CSS2/normal-flow/min-width-039.xht": [
+   "671f946cd97745fa9f2a9ce116e82509ee30c4ab",
+   "reftest"
+  ],
+  "css/CSS2/normal-flow/min-width-040.xht": [
+   "b277267b56a680489664db8b31684ae7cee146e0",
+   "reftest"
+  ],
+  "css/CSS2/normal-flow/min-width-045.xht": [
+   "26c5e8c29eeca723e81ab41725bc51a4042b01f8",
+   "reftest"
+  ],
+  "css/CSS2/normal-flow/min-width-046.xht": [
+   "a95d4a112ae4810a83958233e2fd2438cf3f99c9",
+   "reftest"
+  ],
+  "css/CSS2/normal-flow/min-width-047.xht": [
+   "6f7928ebf6cb8f40cae7e13eb0b192c4e25aa29c",
+   "reftest"
+  ],
+  "css/CSS2/normal-flow/min-width-048.xht": [
+   "e06e18242ca24d6d6ffc75a0becc52f4e18dd886",
+   "reftest"
+  ],
+  "css/CSS2/normal-flow/min-width-049.xht": [
+   "f9c07b72672c926e3fef8ba41ae493acd4380c01",
+   "reftest"
+  ],
+  "css/CSS2/normal-flow/min-width-050.xht": [
+   "6286e3a99c17c9a61f5d0b5fd7c83048818d69a8",
+   "reftest"
+  ],
+  "css/CSS2/normal-flow/min-width-051.xht": [
+   "853905a536c90f57fe53cdd29a7e331e7f36119a",
+   "reftest"
+  ],
+  "css/CSS2/normal-flow/min-width-056.xht": [
+   "b988268daa6a56daed4dc13cd7f15d6e037a9774",
+   "reftest"
+  ],
+  "css/CSS2/normal-flow/min-width-057.xht": [
+   "a13848bb84d60c42eb0e3d42f2f284dfff2d8619",
+   "reftest"
+  ],
+  "css/CSS2/normal-flow/min-width-058.xht": [
+   "76d322d6e08313e2351e51422c6e9bb4caa035be",
+   "reftest"
+  ],
+  "css/CSS2/normal-flow/min-width-059.xht": [
+   "6722d972ad39510dffd78e7f3f5199a43f0cd726",
+   "reftest"
+  ],
+  "css/CSS2/normal-flow/min-width-060.xht": [
+   "2093d849219edc1c10ef56ff9ff1ac4ca6452b0b",
+   "reftest"
+  ],
+  "css/CSS2/normal-flow/min-width-061.xht": [
+   "6b56322f8978a8e8cb62b51aafdfdce48c86a43d",
+   "reftest"
+  ],
+  "css/CSS2/normal-flow/min-width-062.xht": [
+   "68110ca79049eb1e645025779e0cafc1e9a25373",
+   "reftest"
+  ],
+  "css/CSS2/normal-flow/min-width-067.xht": [
+   "24e02e9aeae4d1de273028cf04be08fc3f48160d",
+   "reftest"
+  ],
+  "css/CSS2/normal-flow/min-width-068.xht": [
+   "e1712d03ce784b0c1602c0af54e6cd1929fd36b4",
+   "reftest"
+  ],
+  "css/CSS2/normal-flow/min-width-069.xht": [
+   "b809b7e2096f003b65513e37a390add82bccd13b",
+   "reftest"
+  ],
+  "css/CSS2/normal-flow/min-width-070.xht": [
+   "b3888431117f0ff421e382224ffae46b3b35b8b0",
+   "reftest"
+  ],
+  "css/CSS2/normal-flow/min-width-071.xht": [
+   "578a97af4d092243c39080cb663280146eb1d9c4",
+   "reftest"
+  ],
+  "css/CSS2/normal-flow/min-width-072.xht": [
+   "d0726d670c40c7a332fef7bab5f5f99a74b8f9ce",
+   "reftest"
+  ],
+  "css/CSS2/normal-flow/min-width-073.xht": [
+   "5f7c662fe43b6329642fceb3f16dc81fec22d18c",
+   "reftest"
+  ],
+  "css/CSS2/normal-flow/min-width-078.xht": [
+   "e29cf646319150d78538b880bdeba69cff1a5484",
+   "reftest"
+  ],
+  "css/CSS2/normal-flow/min-width-079.xht": [
+   "95fd45f21d09d48f582a5e98dbc8ac2e4f9a768e",
+   "reftest"
+  ],
+  "css/CSS2/normal-flow/min-width-080.xht": [
+   "6ac5dd05b889a4c3dd6cc494aef25428b1760802",
+   "reftest"
+  ],
+  "css/CSS2/normal-flow/min-width-081.xht": [
+   "4d9a9a811cc9a26b34b2a03d3ecc603bdfe1340c",
+   "reftest"
+  ],
+  "css/CSS2/normal-flow/min-width-082.xht": [
+   "d4ff26e6bed00e7c86b5d77151abbc0298e0ad78",
+   "reftest"
+  ],
+  "css/CSS2/normal-flow/min-width-083.xht": [
+   "fa80007f5a56c2dae15ea6890038dbd349104f12",
+   "reftest"
+  ],
+  "css/CSS2/normal-flow/min-width-084.xht": [
+   "06df9d0ab9798bc170bf79464749b83794db4cd9",
+   "reftest"
+  ],
+  "css/CSS2/normal-flow/min-width-089.xht": [
+   "aa94797dd90cbba97d4b2bfd8fb2fb6926e2c95d",
+   "reftest"
+  ],
+  "css/CSS2/normal-flow/min-width-090.xht": [
+   "2bec9ac58876f9ca1a8e4f15648d201d4c1b1684",
+   "reftest"
+  ],
+  "css/CSS2/normal-flow/min-width-091.xht": [
+   "28235aa7a65195f0667fe4f9544ab46cda6c78fa",
+   "reftest"
+  ],
+  "css/CSS2/normal-flow/min-width-092.xht": [
+   "a7a68fe609a996aa2626ffa631250a5c1f82ee0f",
+   "reftest"
+  ],
+  "css/CSS2/normal-flow/min-width-093.xht": [
+   "e730b76e52d2859109c1f26f116fc904281a15a4",
+   "reftest"
+  ],
+  "css/CSS2/normal-flow/min-width-094.xht": [
+   "f7b30f3b8fc0a0c3ad64d1046be36bcc50e0c6f2",
+   "reftest"
+  ],
+  "css/CSS2/normal-flow/min-width-095.xht": [
+   "64bdb5a56f5b0f98d842b0fd4e18c968a80026c9",
+   "reftest"
+  ],
+  "css/CSS2/normal-flow/min-width-100.xht": [
+   "af648f0350158234a0f9937d1007c190e097715a",
+   "reftest"
+  ],
+  "css/CSS2/normal-flow/min-width-101.xht": [
+   "713fe73018806dcd20faa91cbfc2069f6370fef4",
+   "reftest"
+  ],
+  "css/CSS2/normal-flow/min-width-102.xht": [
+   "e869d5765ae6906360bb09018936f767edf33f94",
+   "reftest"
+  ],
+  "css/CSS2/normal-flow/min-width-103.xht": [
+   "99d7db81e9d6a6b03c5caafe9b3ffd1c0e1cfa9b",
+   "reftest"
+  ],
+  "css/CSS2/normal-flow/min-width-applies-to-001.xht": [
+   "125a12bea03ce1ee9146ca6f4f59b0cbcbfdab7f",
+   "reftest"
+  ],
+  "css/CSS2/normal-flow/min-width-applies-to-002.xht": [
+   "4b00d04ad91fccbe44a00d5c45945629390a4729",
+   "reftest"
+  ],
+  "css/CSS2/normal-flow/min-width-applies-to-003.xht": [
+   "4d5ad571e3365ca0b438cebb267ed975b2313ff7",
+   "reftest"
+  ],
+  "css/CSS2/normal-flow/min-width-applies-to-004.xht": [
+   "175c1bf8714715e9dfd7a2931678ad2e0190da02",
+   "reftest"
+  ],
+  "css/CSS2/normal-flow/min-width-applies-to-005.xht": [
+   "0c02ad19029d4b5367c5c383911370335030e734",
+   "reftest"
+  ],
+  "css/CSS2/normal-flow/min-width-applies-to-006.xht": [
+   "20a16debe77f3724035f7e670c040ca033dbe3d7",
+   "reftest"
+  ],
+  "css/CSS2/normal-flow/min-width-applies-to-007.xht": [
+   "b2fa85f7f279ef1d632fe68867885760f0e8a44d",
+   "reftest"
+  ],
+  "css/CSS2/normal-flow/min-width-applies-to-008.xht": [
+   "6434d97eca23fcc0985406f95aa4d7ab872ee3a7",
+   "reftest"
+  ],
+  "css/CSS2/normal-flow/min-width-applies-to-009.xht": [
+   "b4463b9320d3b40a5cc9ed7dcfdf60adbe17641a",
+   "reftest"
+  ],
+  "css/CSS2/normal-flow/min-width-applies-to-010.xht": [
+   "de8abe5c2a02af2f63b8472809df09b4f30ea710",
+   "visual"
+  ],
+  "css/CSS2/normal-flow/min-width-applies-to-012.xht": [
+   "b738ebe03d2a2edbbbc2c781c0719ecdcd7db130",
+   "reftest"
+  ],
+  "css/CSS2/normal-flow/min-width-applies-to-013.xht": [
+   "f475c8d53404c00000bacd6cf54e2e57ed2c17c0",
+   "reftest"
+  ],
+  "css/CSS2/normal-flow/min-width-applies-to-014.xht": [
+   "aabc6a579c64177579c3102e3572084f2f8875d0",
+   "reftest"
+  ],
+  "css/CSS2/normal-flow/min-width-applies-to-015.xht": [
+   "2a8340fd9e81b72563518159dea07ccaad4c11be",
+   "reftest"
+  ],
+  "css/CSS2/normal-flow/min-width-applies-to-016.xht": [
+   "b13c41b93735502b36cdadacb4b53119f7174ade",
+   "reftest"
+  ],
+  "css/CSS2/normal-flow/min-width-percentage-001.xht": [
+   "80852e597be1481ff0b8a60e3fdb4985fb626634",
+   "reftest"
+  ],
+  "css/CSS2/normal-flow/min-width-percentage-002.xht": [
+   "bdef63d39f709036901d541c2dff16167f5fc51f",
+   "reftest"
+  ],
+  "css/CSS2/normal-flow/min-width-percentage-003.xht": [
+   "3f43ab32fcea8ca32a63a210f5871c19f37cecaf",
+   "visual"
+  ],
+  "css/CSS2/normal-flow/replaced-elements-001.xht": [
+   "a9605abf5b038e5f09476dea7d8b05c4a7c734c1",
+   "visual"
+  ],
+  "css/CSS2/normal-flow/replaced-intrinsic-001-ref.xht": [
+   "9ec16ba1403d56c59b612d21e1546d6b4f705769",
+   "support"
+  ],
+  "css/CSS2/normal-flow/replaced-intrinsic-001.xht": [
+   "a4a856382920effd8d8e3d7743a975e37a35e3b7",
+   "reftest"
+  ],
+  "css/CSS2/normal-flow/replaced-intrinsic-002-ref.xht": [
+   "6c3b7b99200c9a963bf6d50b2d56e2d31425c342",
+   "support"
+  ],
+  "css/CSS2/normal-flow/replaced-intrinsic-002.xht": [
+   "5da66aa723daf74018591583db2f5eaa1e111b73",
+   "reftest"
+  ],
+  "css/CSS2/normal-flow/replaced-intrinsic-003-ref.xht": [
+   "1732aef912d2e3e2b3e7520ba63a4e1b33876c3c",
+   "support"
+  ],
+  "css/CSS2/normal-flow/replaced-intrinsic-003.xht": [
+   "4ed45ef9029f52695e8cd445547238551b343ff6",
+   "reftest"
+  ],
+  "css/CSS2/normal-flow/replaced-intrinsic-004.xht": [
+   "9b661140f441ac2222a903fa3387ef3b78a3b750",
+   "reftest"
+  ],
+  "css/CSS2/normal-flow/replaced-intrinsic-005-ref.xht": [
+   "c01309116b7fd5ee6546dbcfbc02af5ef1087604",
+   "support"
+  ],
+  "css/CSS2/normal-flow/replaced-intrinsic-005.xht": [
+   "c18b28197f9c810925ab27a924a706af666bf1c4",
+   "reftest"
+  ],
+  "css/CSS2/normal-flow/replaced-intrinsic-ratio-001.xht": [
+   "5dc49dda688f33e4de08e7b9596be2d5c5ed6799",
+   "visual"
+  ],
+  "css/CSS2/normal-flow/replaced-min-max-001.xht": [
+   "a9b955a8f1987e1c9fe7264135d237d375cf631e",
+   "visual"
+  ],
+  "css/CSS2/normal-flow/root-box-001-ref.xht": [
+   "6207f7edf3218eec3e16cb3a4c11af9f1b41a8c0",
+   "support"
+  ],
+  "css/CSS2/normal-flow/root-box-001.xht": [
+   "0fbfb4239d48b8e3fd07d27edf67c7b5102101a1",
+   "reftest"
+  ],
+  "css/CSS2/normal-flow/support/1x1-gray.png": [
+   "82e0dc531e87935d58540959365e7097f84a7df6",
+   "support"
+  ],
+  "css/CSS2/normal-flow/support/1x1-green.png": [
+   "51e7b6974a09eda6cb31337717c5eaeb9c44b443",
+   "support"
+  ],
+  "css/CSS2/normal-flow/support/1x1-red.png": [
+   "b8da86921d04ba42f42b0a60b03c5c2172f58c2b",
+   "support"
+  ],
+  "css/CSS2/normal-flow/support/1x1-white.png": [
+   "71b246439f915ad21c7d39414d9f85c8ed73b4ca",
+   "support"
+  ],
+  "css/CSS2/normal-flow/support/60x60-green.png": [
+   "2f8eb2409b0a18e0bff90725ec7eedc16e7be448",
+   "support"
+  ],
+  "css/CSS2/normal-flow/support/black96x96.png": [
+   "24664448bf07d7af7dccbae3e1e414c65c2a0ddf",
+   "support"
+  ],
+  "css/CSS2/normal-flow/support/blue15x15.png": [
+   "eb48032c07bfeb1d3b6be6e5c9c34d2fe2180767",
+   "support"
+  ],
+  "css/CSS2/normal-flow/support/blue96x96.png": [
+   "99949c515749e66f471c3589ee7a0ef518aaccb5",
+   "support"
+  ],
+  "css/CSS2/normal-flow/support/cat.png": [
+   "461fd17b274662b88500cdf42bab7f3b79e6019d",
+   "support"
+  ],
+  "css/CSS2/normal-flow/support/diamond.png": [
+   "4a136dfe39879f33f627a6de92f1e43fe8af7b94",
+   "support"
+  ],
+  "css/CSS2/normal-flow/support/green-rectangle-50wideBy10tall.png": [
+   "4793a81fb04b63524970d8906c4ca0fc4e8571db",
+   "support"
+  ],
+  "css/CSS2/normal-flow/support/green15x15.png": [
+   "de1830c21195763f7327f270b14b6d50dfdfb21d",
+   "support"
+  ],
+  "css/CSS2/normal-flow/support/green200x200.png": [
+   "ebe48e65d6bfd090043fed5e003df47affe5b7ce",
+   "support"
+  ],
+  "css/CSS2/normal-flow/support/intrinsic-ratio.svg": [
+   "ea0f0d1de3867fe22f617dfdabcdc1e66b294df6",
+   "support"
+  ],
+  "css/CSS2/normal-flow/support/margin-collapse-2em-space.png": [
+   "75f181cc9321b22549e3bc48b57c53d7d551b060",
+   "support"
+  ],
+  "css/CSS2/normal-flow/support/pattern-grg-rgr-grg.png": [
+   "cfb6ecc271c296c69b133a81f350a777b608bea4",
+   "support"
+  ],
+  "css/CSS2/normal-flow/support/pattern-rgr-grg-rgr.png": [
+   "c100a35c361205932c506f1b3399753b91e4c45e",
+   "support"
+  ],
+  "css/CSS2/normal-flow/support/replaced-intrinsic-001.svg": [
+   "08f8985990371085d40a80a18622c3976e3c8992",
+   "support"
+  ],
+  "css/CSS2/normal-flow/support/replaced-intrinsic-002.svg": [
+   "90836bef51424fe238dccc16e2e3ff0532b949f1",
+   "support"
+  ],
+  "css/CSS2/normal-flow/support/replaced-intrinsic-003.svg": [
+   "b2ad23007257a4b4630e341e1f658a6814858033",
+   "support"
+  ],
+  "css/CSS2/normal-flow/support/replaced-intrinsic-004.svg": [
+   "3b7eea89b54e256511af4f62ce88cabf7416b560",
+   "support"
+  ],
+  "css/CSS2/normal-flow/support/replaced-intrinsic-005.svg": [
+   "cd0f95b3d59106342ef1ec932c0116ef47a5e626",
+   "support"
+  ],
+  "css/CSS2/normal-flow/support/replaced-min-max-1.png": [
+   "eb7f1cd715b1d434810566f438fd019e62cf6e30",
+   "support"
+  ],
+  "css/CSS2/normal-flow/support/replaced-min-max-10.png": [
+   "eb1614135682a0013755a0aaacd305e4f53a6c86",
+   "support"
+  ],
+  "css/CSS2/normal-flow/support/replaced-min-max-11.png": [
+   "8c58f8f0871a1b72139fef1f1a42955e198b1903",
+   "support"
+  ],
+  "css/CSS2/normal-flow/support/replaced-min-max-12.png": [
+   "8902e4cc2a19663747bb49e31da1614783d770da",
+   "support"
+  ],
+  "css/CSS2/normal-flow/support/replaced-min-max-13.png": [
+   "65aa612e32c62154e9fa909cab37e0367360398a",
+   "support"
+  ],
+  "css/CSS2/normal-flow/support/replaced-min-max-14.png": [
+   "b21317e0466ad5858865c43b4cca10d8fa946177",
+   "support"
+  ],
+  "css/CSS2/normal-flow/support/replaced-min-max-15.png": [
+   "37c38f39283e6f17226d2192a22dbabb81f8ecce",
+   "support"
+  ],
+  "css/CSS2/normal-flow/support/replaced-min-max-16.png": [
+   "7903f877d26d5da09d5c28f1de193da4cd3b6031",
+   "support"
+  ],
+  "css/CSS2/normal-flow/support/replaced-min-max-17.png": [
+   "2c97f9f4e356e5cfed4af868b1ada3b193cb6f68",
+   "support"
+  ],
+  "css/CSS2/normal-flow/support/replaced-min-max-18.png": [
+   "bf09dc274128d1e9187330eb64b9e85bbc04c492",
+   "support"
+  ],
+  "css/CSS2/normal-flow/support/replaced-min-max-19.png": [
+   "fc7bbab3384fc0c3b4c2c0c44f48d4617d740fb5",
+   "support"
+  ],
+  "css/CSS2/normal-flow/support/replaced-min-max-2.png": [
+   "ed4b94ee0d86c738f65768755bd812827cdadcf4",
+   "support"
+  ],
+  "css/CSS2/normal-flow/support/replaced-min-max-3.png": [
+   "64258a8271f44e9e6e8fc4784e6e4cadbd5d58d0",
+   "support"
+  ],
+  "css/CSS2/normal-flow/support/replaced-min-max-4.png": [
+   "36ee94c5c1c04bddc678017b73a04ac47a37ba25",
+   "support"
+  ],
+  "css/CSS2/normal-flow/support/replaced-min-max-5.png": [
+   "6765f3c73f657a97352c9abc66c16e403b038335",
+   "support"
+  ],
+  "css/CSS2/normal-flow/support/replaced-min-max-6.png": [
+   "4d90d4bd094dd50e1e7f199c6e73bb4b955ad844",
+   "support"
+  ],
+  "css/CSS2/normal-flow/support/replaced-min-max-7.png": [
+   "c9be0c61b015bc47784e2119c697c6d34d266634",
+   "support"
+  ],
+  "css/CSS2/normal-flow/support/replaced-min-max-8.png": [
+   "ea940c954fd98c31d717ed09a8aaa3416cad37c6",
+   "support"
+  ],
+  "css/CSS2/normal-flow/support/replaced-min-max-9.png": [
+   "1c1e5ce29fff6462c54a1c6c8a3bcb498b271c68",
+   "support"
+  ],
+  "css/CSS2/normal-flow/support/replaced-min-max.png": [
+   "656f2af655165c1395ae9cc31ece057b0a8eab3a",
+   "support"
+  ],
+  "css/CSS2/normal-flow/support/ring.png": [
+   "11dd9e78a68b2fc5eb69c401920b43070751a569",
+   "support"
+  ],
+  "css/CSS2/normal-flow/support/swatch-aqua.png": [
+   "54b588a71cf45dbc9b982a78a8640467e62ba249",
+   "support"
+  ],
+  "css/CSS2/normal-flow/support/swatch-blue.png": [
+   "e79958e10feeeed3db88dee9bae9ea80055593c5",
+   "support"
+  ],
+  "css/CSS2/normal-flow/support/swatch-green.png": [
+   "c51a03a807743f59e3027371ccfbd8e80235a485",
+   "support"
+  ],
+  "css/CSS2/normal-flow/support/swatch-orange.png": [
+   "10768a5177b772013e628c7397ae64725057295d",
+   "support"
+  ],
+  "css/CSS2/normal-flow/support/swatch-red.png": [
+   "eedea3e9a99c18f5fc2de3796be2c6f9da2ea07d",
+   "support"
+  ],
+  "css/CSS2/normal-flow/support/swatch-teal.png": [
+   "994cd98028aff20822f2dca5a6058fb616bf5ce4",
+   "support"
+  ],
+  "css/CSS2/normal-flow/support/test-bl.png": [
+   "16e4eaa4864c10e72433e575f59c9b67763fe06a",
+   "support"
+  ],
+  "css/CSS2/normal-flow/support/test-br.png": [
+   "37f65e7a21d9b9b2daa508f193b8f665c58a1ce9",
+   "support"
+  ],
+  "css/CSS2/normal-flow/support/test-tl.png": [
+   "956e5156fd8c0e75b1c0f3b8b3b900b653663f74",
+   "support"
+  ],
+  "css/CSS2/normal-flow/support/test-tr.png": [
+   "078e1dd6dd61d36cec239ed75d02051f61fe60a5",
+   "support"
+  ],
+  "css/CSS2/normal-flow/table-in-inline-001-ref.xht": [
+   "5d03e5b31d5d7466c0b70fef2ebd95f6bcc92435",
+   "support"
+  ],
+  "css/CSS2/normal-flow/table-in-inline-001.xht": [
+   "62aae8605308e22c641111007fdc8709507d021d",
+   "reftest"
+  ],
+  "css/CSS2/normal-flow/width-001.xht": [
+   "c43946e15b0dd2a0635f86f7227b112d878f6c17",
+   "reftest"
+  ],
+  "css/CSS2/normal-flow/width-002.xht": [
+   "a8be31abfe9866717a07a50e5d57a13ee9abea7c",
+   "reftest"
+  ],
+  "css/CSS2/normal-flow/width-003.xht": [
+   "1697a1ff283475c766903b2445922fa0edf497b8",
+   "reftest"
+  ],
+  "css/CSS2/normal-flow/width-004.xht": [
+   "18feabb4f468134cccf5240bbe55a107748434c3",
+   "reftest"
+  ],
+  "css/CSS2/normal-flow/width-005.xht": [
+   "82aece76b9dd70d87e0c27990c2198c3b64c2190",
+   "reftest"
+  ],
+  "css/CSS2/normal-flow/width-006.xht": [
+   "4b8e47f44d63d4c9fdd402b131224005ab8a765b",
+   "reftest"
+  ],
+  "css/CSS2/normal-flow/width-007.xht": [
+   "be458faedb167b9d6044a5046a3ad2b8c1056adf",
+   "reftest"
+  ],
+  "css/CSS2/normal-flow/width-012.xht": [
+   "d4aa591daef148608c9a8321ee10c5a5546dd05a",
+   "reftest"
+  ],
+  "css/CSS2/normal-flow/width-013.xht": [
+   "b70eedc65ea1bdf90912430b568aaa74ad4562d5",
+   "reftest"
+  ],
+  "css/CSS2/normal-flow/width-014.xht": [
+   "2cba7edd1b4eb736b325760da433ec815a942f4c",
+   "visual"
+  ],
+  "css/CSS2/normal-flow/width-015.xht": [
+   "08385a3e2baaa249ebde35df74578219237021b9",
+   "reftest"
+  ],
+  "css/CSS2/normal-flow/width-016.xht": [
+   "32e0323afd2aa553adff499f5d6b4943f5794ea0",
+   "reftest"
+  ],
+  "css/CSS2/normal-flow/width-017.xht": [
+   "03057a5fff3d21f525a19d43d9dee285cb08ab62",
+   "reftest"
+  ],
+  "css/CSS2/normal-flow/width-018.xht": [
+   "e94b5160a319872dd56007b58f802aaa4c20f905",
+   "reftest"
+  ],
+  "css/CSS2/normal-flow/width-023.xht": [
+   "355fe59e6c3712710363d64a952f395a70e312e2",
+   "reftest"
+  ],
+  "css/CSS2/normal-flow/width-024.xht": [
+   "03e8daa44640b9bfe686d31e23581950923943de",
+   "reftest"
+  ],
+  "css/CSS2/normal-flow/width-025.xht": [
+   "59cb90b7df2333e02b05f99ccb3aa847467a89de",
+   "reftest"
+  ],
+  "css/CSS2/normal-flow/width-026.xht": [
+   "264b22dcbc3c1d7bf0dc79e4e1fd2471190fad04",
+   "reftest"
+  ],
+  "css/CSS2/normal-flow/width-027.xht": [
+   "595f23a4c537ebb469ff2f33b1d8c8698e5424bd",
+   "reftest"
+  ],
+  "css/CSS2/normal-flow/width-028.xht": [
+   "bce83a3b66900386f8af7ce962fb59a3f935c5b1",
+   "reftest"
+  ],
+  "css/CSS2/normal-flow/width-029.xht": [
+   "42dbc1eb411a94f0a89a1a63d4427a1f2f0dfabd",
+   "reftest"
+  ],
+  "css/CSS2/normal-flow/width-034.xht": [
+   "5b9e667b6937d613ef32f7edc709a0f0e89878c8",
+   "reftest"
+  ],
+  "css/CSS2/normal-flow/width-035.xht": [
+   "4e6ddfbfbb430bd0ee46c255b39ed72bb7d33b6c",
+   "reftest"
+  ],
+  "css/CSS2/normal-flow/width-036.xht": [
+   "26974b86ae0aeebfc96f74526ad5aef45d16fada",
+   "reftest"
+  ],
+  "css/CSS2/normal-flow/width-037.xht": [
+   "0af96e4c848dc41d7d4bbdaa5d3282b2095b1a01",
+   "reftest"
+  ],
+  "css/CSS2/normal-flow/width-038.xht": [
+   "4f73ea65290747a2be31d0ec3db0f90aa9831be7",
+   "reftest"
+  ],
+  "css/CSS2/normal-flow/width-039.xht": [
+   "e10c0bf4caccf4d7f41659e3e88758d7daad362e",
+   "reftest"
+  ],
+  "css/CSS2/normal-flow/width-040.xht": [
+   "b525c42d6e6209a935999ac4ed5420ee8738161a",
+   "reftest"
+  ],
+  "css/CSS2/normal-flow/width-045.xht": [
+   "c55e3e6932f247ab06d96b598ddf390970f32738",
+   "reftest"
+  ],
+  "css/CSS2/normal-flow/width-046.xht": [
+   "1d490630ef672771b439ee81c71b118bd65a49cf",
+   "reftest"
+  ],
+  "css/CSS2/normal-flow/width-047.xht": [
+   "18b6042b6cc6d715b004cbe611b8e03f5fd1e57b",
+   "reftest"
+  ],
+  "css/CSS2/normal-flow/width-048.xht": [
+   "b4476ccc9fa4aa929d70def185c416727a41f2ab",
+   "reftest"
+  ],
+  "css/CSS2/normal-flow/width-049.xht": [
+   "d04583008ce58e6064c4e615427bf781b4f033fe",
+   "reftest"
+  ],
+  "css/CSS2/normal-flow/width-050.xht": [
+   "cfdf7a8e5576880cc0d40e7af833bda1b16c648d",
+   "reftest"
+  ],
+  "css/CSS2/normal-flow/width-051.xht": [
+   "e4b94192a86a64d380a103a4619e5766dddfbe88",
+   "reftest"
+  ],
+  "css/CSS2/normal-flow/width-056.xht": [
+   "80d6a8869fc5a7fcc67850e989913c7097dbfcf0",
+   "reftest"
+  ],
+  "css/CSS2/normal-flow/width-057.xht": [
+   "318d4d619cbc6fed1490f390b9b1e1538be95c1e",
+   "reftest"
+  ],
+  "css/CSS2/normal-flow/width-058.xht": [
+   "2d9cbd0e95c23527657acded9e1362a8b8fe6016",
+   "reftest"
+  ],
+  "css/CSS2/normal-flow/width-059.xht": [
+   "a926174f4d197565c3c7aeddc995547278a03805",
+   "reftest"
+  ],
+  "css/CSS2/normal-flow/width-060.xht": [
+   "7ac15bf9a98786f5de4b76076ec8bbb8ea7d5a6f",
+   "reftest"
+  ],
+  "css/CSS2/normal-flow/width-061.xht": [
+   "80faea68a304a73f8bbe59070ed658a552fbb14f",
+   "reftest"
+  ],
+  "css/CSS2/normal-flow/width-062.xht": [
+   "a6bdfefcfcf13ee5826df255923f879957322bcc",
+   "reftest"
+  ],
+  "css/CSS2/normal-flow/width-067.xht": [
+   "df021529b15e8fe6c3df092cfaec7761ef4c55af",
+   "reftest"
+  ],
+  "css/CSS2/normal-flow/width-068.xht": [
+   "bfbb89ef33e4f7dce8116847de6d4bb7b74a7ae0",
+   "reftest"
+  ],
+  "css/CSS2/normal-flow/width-069.xht": [
+   "9c8e97e05621fe6ec68c0ecdc124812054d6b75a",
+   "reftest"
+  ],
+  "css/CSS2/normal-flow/width-070.xht": [
+   "3ab13d9cd676643428076bf9d8a791e8b9f8d5bf",
+   "reftest"
+  ],
+  "css/CSS2/normal-flow/width-071.xht": [
+   "20cd4d6da2473a16769c6bc3baa68bf7b18198e7",
+   "reftest"
+  ],
+  "css/CSS2/normal-flow/width-072.xht": [
+   "6950f3b41afa280a6ae9027bbbb8c1fe6fa074d7",
+   "reftest"
+  ],
+  "css/CSS2/normal-flow/width-073.xht": [
+   "76cce3b2e9d23a92c9824d0cc802339a8031ff7e",
+   "reftest"
+  ],
+  "css/CSS2/normal-flow/width-078.xht": [
+   "dfeb46f7c72ede8bee270192975c2b9b8051bf1a",
+   "reftest"
+  ],
+  "css/CSS2/normal-flow/width-079.xht": [
+   "9e3a55847ff6d86b9bb23b201d53d548d432075a",
+   "reftest"
+  ],
+  "css/CSS2/normal-flow/width-080.xht": [
+   "df0400b74471d4f708f2a8c2b5e61e05eabf45c8",
+   "reftest"
+  ],
+  "css/CSS2/normal-flow/width-081.xht": [
+   "7d5979419c563f444d52d387fd0d75d42670e6f1",
+   "reftest"
+  ],
+  "css/CSS2/normal-flow/width-082.xht": [
+   "db4cc95ba12cea3d03fbe945b4a356a84c6afed7",
+   "reftest"
+  ],
+  "css/CSS2/normal-flow/width-083.xht": [
+   "08ee90d19f120f8d2a2f1cc1d73262abb714f389",
+   "reftest"
+  ],
+  "css/CSS2/normal-flow/width-084.xht": [
+   "60e9b29472f89bec8e2648f251d1b39424972a77",
+   "reftest"
+  ],
+  "css/CSS2/normal-flow/width-089.xht": [
+   "391ca2fd1384ff95845ce1588dcd191a07ed80be",
+   "reftest"
+  ],
+  "css/CSS2/normal-flow/width-090.xht": [
+   "1d1206707bc51eaed21324fc376a3ff9595fee73",
+   "reftest"
+  ],
+  "css/CSS2/normal-flow/width-091.xht": [
+   "40c6de4fe9f6667752b6c81ea71ee4801b40981f",
+   "reftest"
+  ],
+  "css/CSS2/normal-flow/width-092.xht": [
+   "1370aafa4d6c47cb1a589b8cd5d75ca4233b11dc",
+   "reftest"
+  ],
+  "css/CSS2/normal-flow/width-093.xht": [
+   "e83061715b705f8dfa1fc0b4500f62ad9fe39cdf",
+   "reftest"
+  ],
+  "css/CSS2/normal-flow/width-094.xht": [
+   "a03df05f37b7fb216a6fe96020cdaedbfbea25e8",
+   "reftest"
+  ],
+  "css/CSS2/normal-flow/width-095.xht": [
+   "294fb685af7dd0f835f40bc7050aeb7d8d692437",
+   "reftest"
+  ],
+  "css/CSS2/normal-flow/width-100.xht": [
+   "1785c4d73cf4dc61d70997c24a68a9c84fce48ef",
+   "reftest"
+  ],
+  "css/CSS2/normal-flow/width-101.xht": [
+   "d673003eed9c073f9be68f66fd9e12faf8846dab",
+   "reftest"
+  ],
+  "css/CSS2/normal-flow/width-102.xht": [
+   "38351a76a83b4b09484b67b981eb6c0dbe7609f9",
+   "reftest"
+  ],
+  "css/CSS2/normal-flow/width-103-ref.xht": [
+   "1c1ccc22356e2f4a502cc118ef2b5bf990e00061",
+   "support"
+  ],
+  "css/CSS2/normal-flow/width-103.xht": [
+   "cc27192d0453e10acc18bc4527063ad8421c1174",
+   "reftest"
+  ],
+  "css/CSS2/normal-flow/width-104.xht": [
+   "b038d9a837f6ef726baf2ae81ce76e5286c6db07",
+   "reftest"
+  ],
+  "css/CSS2/normal-flow/width-applies-to-001.xht": [
+   "298dcbe60aa2ed812d3a0fab9a6acae4f544ba19",
+   "reftest"
+  ],
+  "css/CSS2/normal-flow/width-applies-to-002.xht": [
+   "9a0940865c11f570da32c686fa1548ed5cd18a9b",
+   "reftest"
+  ],
+  "css/CSS2/normal-flow/width-applies-to-003.xht": [
+   "286dcd0573f29bb5fd7522241087357e7de43b46",
+   "reftest"
+  ],
+  "css/CSS2/normal-flow/width-applies-to-004.xht": [
+   "70725e6034263aa52df8608dff4b47b3270c2cdb",
+   "reftest"
+  ],
+  "css/CSS2/normal-flow/width-applies-to-005.xht": [
+   "66357dba885723acf53c1d09e1716469cc32caa7",
+   "reftest"
+  ],
+  "css/CSS2/normal-flow/width-applies-to-006.xht": [
+   "23bca29b4749d1e3c8071c81eb01b96038268327",
+   "reftest"
+  ],
+  "css/CSS2/normal-flow/width-applies-to-007.xht": [
+   "131cd80045be083a5e67f8906888ccf86c3b7b4c",
+   "reftest"
+  ],
+  "css/CSS2/normal-flow/width-applies-to-008.xht": [
+   "de5b4f302bfb21cd7135c39db6126fe14f8203cd",
+   "reftest"
+  ],
+  "css/CSS2/normal-flow/width-applies-to-009.xht": [
+   "2b0eff4027c88b6800a951a9b5af70455402b5ee",
+   "reftest"
+  ],
+  "css/CSS2/normal-flow/width-applies-to-010.xht": [
+   "e5750f1aa554692a0910203a7489d686c52a576e",
+   "visual"
+  ],
+  "css/CSS2/normal-flow/width-applies-to-012.xht": [
+   "dc157892ff0829ba2e594750f83b375b1a135cfd",
+   "reftest"
+  ],
+  "css/CSS2/normal-flow/width-applies-to-013.xht": [
+   "9ececfda9af9cc771a68c34f91e9a0c070becf7f",
+   "reftest"
+  ],
+  "css/CSS2/normal-flow/width-applies-to-014.xht": [
+   "29ac1143e50bc14dc375b96973a4ce8c14e37410",
+   "reftest"
+  ],
+  "css/CSS2/normal-flow/width-applies-to-015.xht": [
+   "12dbbdc7354ba8cdc1edfb14a5cb9ada133ea9f1",
+   "reftest"
+  ],
+  "css/CSS2/normal-flow/width-applies-to-016.xht": [
+   "e6ad61b4d41ec8649f2552c73a1942d5e08396cb",
+   "reftest"
+  ],
+  "css/CSS2/normal-flow/width-inherit-001.xht": [
+   "e12ea1ffae7291ba97850bd8c9d26a363e8a3e8d",
+   "reftest"
+  ],
+  "css/CSS2/normal-flow/width-non-replaced-inline-001-ref.xht": [
+   "bfa75cd0e8dc6f262f89d8b53ff7b55c7e4e6296",
+   "support"
+  ],
+  "css/CSS2/normal-flow/width-non-replaced-inline-001.xht": [
+   "799183de91df21c07c45eb0955480c5ec5b9e2bc",
+   "reftest"
+  ],
+  "css/CSS2/normal-flow/width-percentage-001.xht": [
+   "546ca4ca40f805f8292f0764c6efc92c96a53a94",
+   "reftest"
+  ],
+  "css/CSS2/normal-flow/width-percentage-002.xht": [
+   "3047e3a6456ab3e57eb029d7e837aa2b33e026a9",
+   "reftest"
+  ],
+  "css/CSS2/normal-flow/width-replaced-element-001.xht": [
+   "6dd891ee7faa3e96180d8b4fec302355c1bb68a1",
+   "visual"
+  ],
+  "css/CSS2/normal-flow/width-undefined-001.xht": [
+   "7c30f983fe0de798db50271f1b2927d886c250c7",
+   "visual"
+  ],
+  "css/CSS2/positioning/absolute-non-replaced-height-001.xht": [
+   "ab3813879cd95fb5aa28607960bf29557878ca8b",
+   "visual"
+  ],
+  "css/CSS2/positioning/absolute-non-replaced-height-002-ref.xht": [
+   "ea643b87ffb79bf7a4809ee5d211e3623a5ee595",
+   "support"
+  ],
+  "css/CSS2/positioning/absolute-non-replaced-height-002.xht": [
+   "6746746fcbd054927a582bf509b41fc8059d9cd0",
+   "reftest"
+  ],
+  "css/CSS2/positioning/absolute-non-replaced-height-003-ref.xht": [
+   "ceffe8972fa8e6207d20f5fef136d1bfce8c014e",
+   "support"
+  ],
+  "css/CSS2/positioning/absolute-non-replaced-height-003.xht": [
+   "fb399fb2b571f8a378a90cb21287980b4f25f517",
+   "reftest"
+  ],
+  "css/CSS2/positioning/absolute-non-replaced-height-004.xht": [
+   "4b7ed7da20ed3a8c4d2bccbf12527c906ea755c4",
+   "reftest"
+  ],
+  "css/CSS2/positioning/absolute-non-replaced-height-005.xht": [
+   "ea9029e95e66ccc220ab915152756012c08932e6",
+   "reftest"
+  ],
+  "css/CSS2/positioning/absolute-non-replaced-height-006-ref.xht": [
+   "8cc7721251b682d28991869e51a2e7990c84291c",
+   "support"
+  ],
+  "css/CSS2/positioning/absolute-non-replaced-height-006.xht": [
+   "18219f0b40e8df04633f337c75f16e54f5081c98",
+   "reftest"
+  ],
+  "css/CSS2/positioning/absolute-non-replaced-height-007-ref.xht": [
+   "52c9a5086d4a943555e9e17875b75404bddf4eba",
+   "support"
+  ],
+  "css/CSS2/positioning/absolute-non-replaced-height-007.xht": [
+   "a6b655e74092373c6618771385f86591a375ed60",
+   "reftest"
+  ],
+  "css/CSS2/positioning/absolute-non-replaced-height-008-ref.xht": [
+   "8a30fc2055900263befcf0e9213d6fb0a1373a4c",
+   "support"
+  ],
+  "css/CSS2/positioning/absolute-non-replaced-height-008.xht": [
+   "e3934ea7a1eb30089bf468461ea5385c89dbaae7",
+   "reftest"
+  ],
+  "css/CSS2/positioning/absolute-non-replaced-height-009-ref.xht": [
+   "334ce8b805edec355402271650bccc2ad0ecb74a",
+   "support"
+  ],
+  "css/CSS2/positioning/absolute-non-replaced-height-009.xht": [
+   "f9815dbbf4bd5f8308c284c7971568f9dc56b935",
+   "reftest"
+  ],
+  "css/CSS2/positioning/absolute-non-replaced-height-010.xht": [
+   "06782c1b10013f971b431b5fcd51d9c7055a4952",
+   "reftest"
+  ],
+  "css/CSS2/positioning/absolute-non-replaced-height-011.xht": [
+   "726a67748f1a91c6ab9d0fa9ee589424eecae0f2",
+   "reftest"
+  ],
+  "css/CSS2/positioning/absolute-non-replaced-height-012.xht": [
+   "578fb958b49fd65875239a431fa1fecec62350fc",
+   "reftest"
+  ],
+  "css/CSS2/positioning/absolute-non-replaced-max-height-001.xht": [
+   "4a9840422411154393eb6b6cbd988bbc4dde1162",
+   "visual"
+  ],
+  "css/CSS2/positioning/absolute-non-replaced-max-height-002-ref.xht": [
+   "d0a82c0d64eae4043ac86e24c6f51d9270a2b16d",
+   "support"
+  ],
+  "css/CSS2/positioning/absolute-non-replaced-max-height-002.xht": [
+   "0a0f05ebb189e9092b3c3232cad0ffa3f0a32297",
+   "reftest"
+  ],
+  "css/CSS2/positioning/absolute-non-replaced-max-height-003-ref.xht": [
+   "595090f3a568214bb386095ca401556a31be4da2",
+   "support"
+  ],
+  "css/CSS2/positioning/absolute-non-replaced-max-height-003.xht": [
+   "fdd24388fa424405c9602885ffd6cb6db1ef0dda",
+   "reftest"
+  ],
+  "css/CSS2/positioning/absolute-non-replaced-max-height-004.xht": [
+   "8985892632df8a478192e6a819fbcec8c28fff59",
+   "reftest"
+  ],
+  "css/CSS2/positioning/absolute-non-replaced-max-height-005.xht": [
+   "45c758501dbaaf7f47138a3227800b7cfb31cf9c",
+   "reftest"
+  ],
+  "css/CSS2/positioning/absolute-non-replaced-max-height-006.xht": [
+   "be3a22dd43156e7fbca3bf68abfd814539607f46",
+   "reftest"
+  ],
+  "css/CSS2/positioning/absolute-non-replaced-max-height-007-ref.xht": [
+   "6c779a32da2a9bfaf1c05ac2e29672fe68e7a1bf",
+   "support"
+  ],
+  "css/CSS2/positioning/absolute-non-replaced-max-height-007.xht": [
+   "846579754765d4ffe9ad6b57f30cb13c890b9520",
+   "reftest"
+  ],
+  "css/CSS2/positioning/absolute-non-replaced-max-height-008-ref.xht": [
+   "7f2c0f96d61f952a037b54cd926b274df42f1639",
+   "support"
+  ],
+  "css/CSS2/positioning/absolute-non-replaced-max-height-008.xht": [
+   "bedf5d761cefd610a8e1802fe3a119c6d9ec5bb7",
+   "reftest"
+  ],
+  "css/CSS2/positioning/absolute-non-replaced-max-height-009-ref.xht": [
+   "e2355bb09b0e1be6be86a99ffba8dac95a952b39",
+   "support"
+  ],
+  "css/CSS2/positioning/absolute-non-replaced-max-height-009.xht": [
+   "1a85382a62c5dc0b303eadde01146716b5d821ec",
+   "reftest"
+  ],
+  "css/CSS2/positioning/absolute-non-replaced-max-height-010.xht": [
+   "d9567b50d00e742494648bce2c44730bc7a46164",
+   "reftest"
+  ],
+  "css/CSS2/positioning/absolute-non-replaced-max-height-011.xht": [
+   "9e17a5e85138b683028c64152bb6c3fa3c08c393",
+   "reftest"
+  ],
+  "css/CSS2/positioning/absolute-non-replaced-max-height-012.xht": [
+   "2385f04b8450f06c86bf290397b8a6250891b928",
+   "reftest"
+  ],
+  "css/CSS2/positioning/absolute-non-replaced-width-001.xht": [
+   "492571e69e44aca55a29c9f52f80ab5f0db57214",
+   "reftest"
+  ],
+  "css/CSS2/positioning/absolute-non-replaced-width-002-ref.xht": [
+   "9058363b2f4b7657b3ffd9522739b095023adfe9",
+   "support"
+  ],
+  "css/CSS2/positioning/absolute-non-replaced-width-002.xht": [
+   "abd214ff1ac68d72424b749963f766bfcb93c4d3",
+   "reftest"
+  ],
+  "css/CSS2/positioning/absolute-non-replaced-width-003-ref.xht": [
+   "8d5f10c2d94b8fb7fe49231439e9b1e1d002a802",
+   "support"
+  ],
+  "css/CSS2/positioning/absolute-non-replaced-width-003.xht": [
+   "81fb744d7e7766f9240c1bb1978169a65112ad3b",
+   "reftest"
+  ],
+  "css/CSS2/positioning/absolute-non-replaced-width-004.xht": [
+   "54a6d0e4cd5a528298be17128f663e4848d6cce4",
+   "reftest"
+  ],
+  "css/CSS2/positioning/absolute-non-replaced-width-005.xht": [
+   "181a16571c13447ae75ce1c05a900e125c8d3d1a",
+   "reftest"
+  ],
+  "css/CSS2/positioning/absolute-non-replaced-width-006.xht": [
+   "059fa8c60a2fe66f43420d16d7fb7947b18ced4f",
+   "reftest"
+  ],
+  "css/CSS2/positioning/absolute-non-replaced-width-007.xht": [
+   "9ea4217f181e90a473721560cc03d8d97f27af8e",
+   "reftest"
+  ],
+  "css/CSS2/positioning/absolute-non-replaced-width-008-ref.xht": [
+   "cf93a82086805c22cde936934fc308daeb286539",
+   "support"
+  ],
+  "css/CSS2/positioning/absolute-non-replaced-width-008.xht": [
+   "91f32f57b13894f7f835abf6710a788cce062fa6",
+   "reftest"
+  ],
+  "css/CSS2/positioning/absolute-non-replaced-width-009.xht": [
+   "7a0fc394b6aef0547a4a47b1a45a32d359086cf1",
+   "visual"
+  ],
+  "css/CSS2/positioning/absolute-non-replaced-width-010.xht": [
+   "7d5c335226aff433222b0e8d27be0583248156df",
+   "reftest"
+  ],
+  "css/CSS2/positioning/absolute-non-replaced-width-011.xht": [
+   "709cf845173aabb6632d01f122668b1f082e40a0",
+   "reftest"
+  ],
+  "css/CSS2/positioning/absolute-non-replaced-width-012.xht": [
+   "8315ff20df09fb3f1faa5c9c3f79625485cfd098",
+   "reftest"
+  ],
+  "css/CSS2/positioning/absolute-non-replaced-width-013.xht": [
+   "4d34e6fd650df15f00c0b6906a5e8c0b961a2d56",
+   "reftest"
+  ],
+  "css/CSS2/positioning/absolute-non-replaced-width-014.xht": [
+   "fe610aa9a6a6d9a7e0726cea83f1a6e0491a2456",
+   "reftest"
+  ],
+  "css/CSS2/positioning/absolute-non-replaced-width-015-ref.xht": [
+   "f909d6a93644d74c7f54269933eb8162a5f9903a",
+   "support"
+  ],
+  "css/CSS2/positioning/absolute-non-replaced-width-015.xht": [
+   "61ef23e4d0fc1f772e38444045a6c0e6e55ee854",
+   "reftest"
+  ],
+  "css/CSS2/positioning/absolute-non-replaced-width-016.xht": [
+   "05f1f2227d479e6e5379fd8e1e534c25879d2a18",
+   "reftest"
+  ],
+  "css/CSS2/positioning/absolute-non-replaced-width-017-ref.xht": [
+   "c38213a432ff3d7ed85b5e91f35bc684b132f833",
+   "support"
+  ],
+  "css/CSS2/positioning/absolute-non-replaced-width-017.xht": [
+   "5e57e70ba9d37338ae48c361246ccb9e6a63c9df",
+   "reftest"
+  ],
+  "css/CSS2/positioning/absolute-non-replaced-width-018.xht": [
+   "9c1f36a18db5c6446106dd012a34ce86b6c6a909",
+   "reftest"
+  ],
+  "css/CSS2/positioning/absolute-non-replaced-width-019.xht": [
+   "ceeefd5649b1453ffaab8b84f3be7198a877a599",
+   "reftest"
+  ],
+  "css/CSS2/positioning/absolute-non-replaced-width-020.xht": [
+   "b847f274c1dd64575d3fea70a7e09e5654888bdb",
+   "reftest"
+  ],
+  "css/CSS2/positioning/absolute-non-replaced-width-021-ref.xht": [
+   "c398bcc35f27465ae877a68b2ada1126f40fb2e7",
+   "support"
+  ],
+  "css/CSS2/positioning/absolute-non-replaced-width-021.xht": [
+   "5961b687e88009a74a9ad205528ddceae115ed4d",
+   "reftest"
+  ],
+  "css/CSS2/positioning/absolute-non-replaced-width-022.xht": [
+   "5913d7460e3d479595e015188311164dc756919f",
+   "reftest"
+  ],
+  "css/CSS2/positioning/absolute-non-replaced-width-023.xht": [
+   "5f2e8026fef6afe883a4b5280faa405c90e0dd19",
+   "reftest"
+  ],
+  "css/CSS2/positioning/absolute-non-replaced-width-024.xht": [
+   "ca68648dd598de5315dd9266f3b01696accbcf30",
+   "reftest"
+  ],
+  "css/CSS2/positioning/absolute-non-replaced-width-025-ref.xht": [
+   "98fcbb89dac2db4a8fdbc177d788d0f26a3f33fa",
+   "support"
+  ],
+  "css/CSS2/positioning/absolute-non-replaced-width-025.xht": [
+   "c10dbd98d4dc26da1bfadc53064cd9d53e297f13",
+   "reftest"
+  ],
+  "css/CSS2/positioning/absolute-non-replaced-width-026-ref.xht": [
+   "9a49224b6bf0ebca62f2a76577bcc232cbaac9db",
+   "support"
+  ],
+  "css/CSS2/positioning/absolute-non-replaced-width-026.xht": [
+   "c0a7c71273d3dc15eeb671ddcd47baf4d65eec63",
+   "reftest"
+  ],
+  "css/CSS2/positioning/absolute-non-replaced-width-027.xht": [
+   "687af01d0ac556f71fda5854ed35c5dff6394891",
+   "reftest"
+  ],
+  "css/CSS2/positioning/absolute-non-replaced-width-028.xht": [
+   "9c31da66b8721fc5c6d761395f53c40b7f6d1d21",
+   "visual"
+  ],
+  "css/CSS2/positioning/absolute-replaced-height-001-ref.xht": [
+   "113b1d641017e3eea22b354260a3b2918fdd072d",
+   "support"
+  ],
+  "css/CSS2/positioning/absolute-replaced-height-001.xht": [
+   "c03cae5b9651662f601174a07f14c8837105c813",
+   "reftest"
+  ],
+  "css/CSS2/positioning/absolute-replaced-height-002-ref.xht": [
+   "f42492c135aeff7c2fc882fcefeccbbc5959f1d0",
+   "support"
+  ],
+  "css/CSS2/positioning/absolute-replaced-height-002.xht": [
+   "398e31ce72f10dcd355092c38b104e41db68614e",
+   "reftest"
+  ],
+  "css/CSS2/positioning/absolute-replaced-height-003.xht": [
+   "0656f32cb02586f7ff3a131bcb53f9931fb3d992",
+   "reftest"
+  ],
+  "css/CSS2/positioning/absolute-replaced-height-004-ref.xht": [
+   "4cecc6a4a47ecf26cabc9ff832bc5486e52b0aab",
+   "support"
+  ],
+  "css/CSS2/positioning/absolute-replaced-height-004.xht": [
+   "e4951dd6893661077419ee4d0e7739c4211559c9",
+   "reftest"
+  ],
+  "css/CSS2/positioning/absolute-replaced-height-005-ref.xht": [
+   "7d1c316b06175131fc156a0b305c9036e9a7170a",
+   "support"
+  ],
+  "css/CSS2/positioning/absolute-replaced-height-005.xht": [
+   "40ad8f15c3969b5e697fea21ccaaad0ad3389aac",
+   "reftest"
+  ],
+  "css/CSS2/positioning/absolute-replaced-height-006-ref.xht": [
+   "2b44563ee5c5a397a5b165e7ce1b42ead71600bd",
+   "support"
+  ],
+  "css/CSS2/positioning/absolute-replaced-height-006.xht": [
+   "c90348c475df53c58fbf9e3aaead08bfc0cdca7f",
+   "reftest"
+  ],
+  "css/CSS2/positioning/absolute-replaced-height-007-ref.xht": [
+   "03be962783199b27c4291f29c969b3f55cd0f5f0",
+   "support"
+  ],
+  "css/CSS2/positioning/absolute-replaced-height-007.xht": [
+   "c6e7230c9378e44f5f702f6a1e3274dd25017380",
+   "reftest"
+  ],
+  "css/CSS2/positioning/absolute-replaced-height-008-ref.xht": [
+   "205b82a64ad972138827a593df0129c0b03aeff1",
+   "support"
+  ],
+  "css/CSS2/positioning/absolute-replaced-height-008.xht": [
+   "8ea6a25502bd284df4e83eeb926266ca41bc42a6",
+   "reftest"
+  ],
+  "css/CSS2/positioning/absolute-replaced-height-009.xht": [
+   "b2bbc3ef671ea038f76bf755c96da6f6f1687785",
+   "reftest"
+  ],
+  "css/CSS2/positioning/absolute-replaced-height-010-ref.xht": [
+   "4475bddb3c428de0f60baa4f22650e4003eefa1c",
+   "support"
+  ],
+  "css/CSS2/positioning/absolute-replaced-height-010.xht": [
+   "5f09d580f30832754f24cdf7dc4b5e26eb867645",
+   "reftest"
+  ],
+  "css/CSS2/positioning/absolute-replaced-height-011-ref.xht": [
+   "d0b95d6b19fd0f403259c621ad6dcf637617c0cc",
+   "support"
+  ],
+  "css/CSS2/positioning/absolute-replaced-height-011.xht": [
+   "2801dbd7d81a17bd37edd64c0fe8ab4984271395",
+   "reftest"
+  ],
+  "css/CSS2/positioning/absolute-replaced-height-012-ref.xht": [
+   "f440173e71adf9a880d6a0389a9c3557f78c3fe4",
+   "support"
+  ],
+  "css/CSS2/positioning/absolute-replaced-height-012.xht": [
+   "bdef179d943c4c71665d359dd95ac4bc8ad53029",
+   "reftest"
+  ],
+  "css/CSS2/positioning/absolute-replaced-height-013-ref.xht": [
+   "6ee3b046eb04a4485626e9eb9fa6a0f47c8fbd7f",
+   "support"
+  ],
+  "css/CSS2/positioning/absolute-replaced-height-013.xht": [
+   "24c5e7e587a2a746143177aeec2912e35d1a691d",
+   "reftest"
+  ],
+  "css/CSS2/positioning/absolute-replaced-height-014-ref.xht": [
+   "e411ccd8fc22903b4bcbb49b4a8e8817b7ae4791",
+   "support"
+  ],
+  "css/CSS2/positioning/absolute-replaced-height-014.xht": [
+   "ad3e998ca241189dd2da7affe9ce6c5974a96177",
+   "reftest"
+  ],
+  "css/CSS2/positioning/absolute-replaced-height-016.xht": [
+   "448807d5914665fd1cd6186c430cad67f4d757e5",
+   "reftest"
+  ],
+  "css/CSS2/positioning/absolute-replaced-height-017.xht": [
+   "0fecd8d993f0402335bb9f6a614ca67cc307e01d",
+   "reftest"
+  ],
+  "css/CSS2/positioning/absolute-replaced-height-018.xht": [
+   "c7f894f4aaed78309230d46f414b95074a473c71",
+   "reftest"
+  ],
+  "css/CSS2/positioning/absolute-replaced-height-019.xht": [
+   "22ed5514cd548f7a4f447b0adb06d87d04859146",
+   "reftest"
+  ],
+  "css/CSS2/positioning/absolute-replaced-height-020.xht": [
+   "c762aefef5aa670602d67ccf8d371e5380b25d97",
+   "reftest"
+  ],
+  "css/CSS2/positioning/absolute-replaced-height-021.xht": [
+   "f22fe47a1c9cc7db406bbce50cb7adb34372b2f1",
+   "reftest"
+  ],
+  "css/CSS2/positioning/absolute-replaced-height-022.xht": [
+   "aab5de3daaf6404ecbf389d92a2b970da284ddd6",
+   "reftest"
+  ],
+  "css/CSS2/positioning/absolute-replaced-height-023.xht": [
+   "d5758b2992e9c5b0e20fa94603f343dffe7e8521",
+   "reftest"
+  ],
+  "css/CSS2/positioning/absolute-replaced-height-024.xht": [
+   "1ca571a4b51a630c347aa2dad34c145e62173120",
+   "reftest"
+  ],
+  "css/CSS2/positioning/absolute-replaced-height-025.xht": [
+   "e6122aab9278509f8f29245bb673bbd3d2961363",
+   "reftest"
+  ],
+  "css/CSS2/positioning/absolute-replaced-height-026.xht": [
+   "99f2bc9bb83aab714fd2c27b9e46ac30ba7e3098",
+   "reftest"
+  ],
+  "css/CSS2/positioning/absolute-replaced-height-027.xht": [
+   "79d5944c1f830f7b5c23c62785a2a5475059af9d",
+   "reftest"
+  ],
+  "css/CSS2/positioning/absolute-replaced-height-028.xht": [
+   "135bac676a58deeba746064002f48bd20c173813",
+   "reftest"
+  ],
+  "css/CSS2/positioning/absolute-replaced-height-029.xht": [
+   "09e6651a9e49a4c64cde35007796c6533efc7d70",
+   "reftest"
+  ],
+  "css/CSS2/positioning/absolute-replaced-height-030.xht": [
+   "6a81511568186be3431024f9587c1ec425dfe979",
+   "reftest"
+  ],
+  "css/CSS2/positioning/absolute-replaced-height-031.xht": [
+   "8a6260c7b9b7e591c4a560fb4d189d9196208955",
+   "reftest"
+  ],
+  "css/CSS2/positioning/absolute-replaced-height-032.xht": [
+   "3c7a621e10bd1a0ca80b9b373da0726239a37782",
+   "reftest"
+  ],
+  "css/CSS2/positioning/absolute-replaced-height-033.xht": [
+   "3045a7f1589ae81f37cba26c602717689eff6780",
+   "reftest"
+  ],
+  "css/CSS2/positioning/absolute-replaced-height-034.xht": [
+   "ec02c99785f0714afc14f7365590af511359da9a",
+   "reftest"
+  ],
+  "css/CSS2/positioning/absolute-replaced-height-035.xht": [
+   "80be0e5a47d903579a32a41cfad932d9379689b7",
+   "reftest"
+  ],
+  "css/CSS2/positioning/absolute-replaced-height-036.xht": [
+   "294ffd246125ae422bd69cf3745979aed37b1fe2",
+   "reftest"
+  ],
+  "css/CSS2/positioning/absolute-replaced-width-001-ref.xht": [
+   "abea5ee4d1feeda0cecd27c120fe3653b0dfb0bc",
+   "support"
+  ],
+  "css/CSS2/positioning/absolute-replaced-width-001.xht": [
+   "7c9de100b8e6848d319f920de40717e3eb6a7951",
+   "reftest"
+  ],
+  "css/CSS2/positioning/absolute-replaced-width-002-ref.xht": [
+   "c0f711c20a73af1b67343f235d7b75c9f17f2ac7",
+   "support"
+  ],
+  "css/CSS2/positioning/absolute-replaced-width-002.xht": [
+   "161d61eb702273bf3183b87c5cda652a42e1ad86",
+   "reftest"
+  ],
+  "css/CSS2/positioning/absolute-replaced-width-003-ref.xht": [
+   "d000a70dd9063e7a536bba18cd8b6eaca0ddb203",
+   "support"
+  ],
+  "css/CSS2/positioning/absolute-replaced-width-003.xht": [
+   "e9956e1023039d7ea43d4a5e2c8f02533dfd041d",
+   "reftest"
+  ],
+  "css/CSS2/positioning/absolute-replaced-width-003a-ref.xht": [
+   "10442dd361867e6cc4aa2b45d92281fcdf23898f",
+   "support"
+  ],
+  "css/CSS2/positioning/absolute-replaced-width-003a.xht": [
+   "76ba6c59274f96810e61e9088a05d950c3fe1b5a",
+   "reftest"
+  ],
+  "css/CSS2/positioning/absolute-replaced-width-003b-ref.xht": [
+   "48d3f913e77f3d67f4ee5ceecd88d69cae5bf418",
+   "support"
+  ],
+  "css/CSS2/positioning/absolute-replaced-width-003b.xht": [
+   "62f055cfe03002cd841da926af68974b6cae3398",
+   "reftest"
+  ],
+  "css/CSS2/positioning/absolute-replaced-width-003c-ref.xht": [
+   "ee26a908e3b237015b997e6d51c1f6487c8906fc",
+   "support"
+  ],
+  "css/CSS2/positioning/absolute-replaced-width-003c.xht": [
+   "8033da54a2033a8078d2287538d030d1d9f63421",
+   "reftest"
+  ],
+  "css/CSS2/positioning/absolute-replaced-width-004-ref.xht": [
+   "4e3d05d66ecbd958f0f7c14db20365ffb86537ad",
+   "support"
+  ],
+  "css/CSS2/positioning/absolute-replaced-width-004.xht": [
+   "eee162f88e7597c5eb84647ba6ea778e98f04aff",
+   "reftest"
+  ],
+  "css/CSS2/positioning/absolute-replaced-width-006-ref.xht": [
+   "3fa360472777d08adb89a22ece068a0b0dbaf174",
+   "support"
+  ],
+  "css/CSS2/positioning/absolute-replaced-width-006.xht": [
+   "02debc6ce54bc2487a50a3154b94612d3b11a5ae",
+   "reftest"
+  ],
+  "css/CSS2/positioning/absolute-replaced-width-008.xht": [
+   "a7b18ec0376adf32111ba9c3e10c1266616a15ce",
+   "reftest"
+  ],
+  "css/CSS2/positioning/absolute-replaced-width-009.xht": [
+   "ee4a7218688febb2fb4aeb9c7ce9ffb97fbb17f4",
+   "reftest"
+  ],
+  "css/CSS2/positioning/absolute-replaced-width-010.xht": [
+   "785830f600f7b73414ac465e00dc5d2092defa4d",
+   "reftest"
+  ],
+  "css/CSS2/positioning/absolute-replaced-width-011.xht": [
+   "ab7afe6072b6d1d53ff10448e2ef7c21b96cbcf5",
+   "reftest"
+  ],
+  "css/CSS2/positioning/absolute-replaced-width-013.xht": [
+   "b464e096ccb1bc02a89592946ea9f312e7709f2e",
+   "reftest"
+  ],
+  "css/CSS2/positioning/absolute-replaced-width-015-ref.xht": [
+   "832feb77298e90bf8bb8f06ce13eee8c82ab7821",
+   "support"
+  ],
+  "css/CSS2/positioning/absolute-replaced-width-015.xht": [
+   "0eda36c771d149d021da42a05033c782756bafba",
+   "reftest"
+  ],
+  "css/CSS2/positioning/absolute-replaced-width-020-ref.xht": [
+   "d7eb879625a5b4a9c1ae4eecf284d1519df22d25",
+   "support"
+  ],
+  "css/CSS2/positioning/absolute-replaced-width-020.xht": [
+   "eedde84b13728c3800f49ba5033490f7ce52e507",
+   "reftest"
+  ],
+  "css/CSS2/positioning/absolute-replaced-width-022-ref.xht": [
+   "f7bfa9ae92e9e0b966bbc9b75c80ee99b2b81bb1",
+   "support"
+  ],
+  "css/CSS2/positioning/absolute-replaced-width-022.xht": [
+   "ba3185653f532055d8d735665e2f957e56203f43",
+   "reftest"
+  ],
+  "css/CSS2/positioning/absolute-replaced-width-023-ref.xht": [
+   "5b8e04cb5740f7389056e44daddd52b96f40c692",
+   "support"
+  ],
+  "css/CSS2/positioning/absolute-replaced-width-023.xht": [
+   "e1e920fabfdb573d0d50bfa9e83caa55052c152f",
+   "reftest"
+  ],
+  "css/CSS2/positioning/absolute-replaced-width-024-ref.xht": [
+   "ae43810f3d490e20878fc44d3e7f14c8412bfd95",
+   "support"
+  ],
+  "css/CSS2/positioning/absolute-replaced-width-024.xht": [
+   "98b913765002fc75029fdc9698bf6d80b5eba64f",
+   "reftest"
+  ],
+  "css/CSS2/positioning/absolute-replaced-width-025-ref.xht": [
+   "b0ab95e1bf276e09afef2e9b7c6cd99c94ab4fd0",
+   "support"
+  ],
+  "css/CSS2/positioning/absolute-replaced-width-025.xht": [
+   "42dd6578a7942d38e2e729f3c2196f348b5a1a41",
+   "reftest"
+  ],
+  "css/CSS2/positioning/absolute-replaced-width-027-ref.xht": [
+   "2c3b02cc80860855e4a0830c8bc4da03905367be",
+   "support"
+  ],
+  "css/CSS2/positioning/absolute-replaced-width-027.xht": [
+   "0d562337db1daa90c3846a0ef7ed639b09de723c",
+   "reftest"
+  ],
+  "css/CSS2/positioning/absolute-replaced-width-029.xht": [
+   "f934ca5d7a1de6fd9051e82dd79e90ac2925fa70",
+   "reftest"
+  ],
+  "css/CSS2/positioning/absolute-replaced-width-030.xht": [
+   "3226978be5ea8500d72865cfe683c88e58577c2e",
+   "reftest"
+  ],
+  "css/CSS2/positioning/absolute-replaced-width-031.xht": [
+   "9d775abf6ca0d5871cf6cb91e6f3575ce6a27f86",
+   "reftest"
+  ],
+  "css/CSS2/positioning/absolute-replaced-width-032.xht": [
+   "7f1c94a4769b9f1c827f617f35ade327ccfab8ae",
+   "reftest"
+  ],
+  "css/CSS2/positioning/absolute-replaced-width-034.xht": [
+   "f861d7fc26ab0cb16624207395e500ef7d5c8352",
+   "reftest"
+  ],
+  "css/CSS2/positioning/absolute-replaced-width-036-ref.xht": [
+   "49c79d5891e51a84d0ed92ae40727a3071f95d41",
+   "support"
+  ],
+  "css/CSS2/positioning/absolute-replaced-width-036.xht": [
+   "e1f577742ba6476ba3905dc68199087f43d326f0",
+   "reftest"
+  ],
+  "css/CSS2/positioning/absolute-replaced-width-037-ref.xht": [
+   "ca7c510fac67363890110df01d869670045b6fa9",
+   "support"
+  ],
+  "css/CSS2/positioning/absolute-replaced-width-037.xht": [
+   "6df9137b3fd09e5536db4f3d824bb71a581fc6d0",
+   "reftest"
+  ],
+  "css/CSS2/positioning/absolute-replaced-width-038-ref.xht": [
+   "8a20e9e6539f92babe9cf01fbc37a70539879f9c",
+   "support"
+  ],
+  "css/CSS2/positioning/absolute-replaced-width-038.xht": [
+   "c488c2157cd28e2338db26b01345291d6d5b30f2",
+   "reftest"
+  ],
+  "css/CSS2/positioning/absolute-replaced-width-039-ref.xht": [
+   "d1628ba637d043512ad1901b2a16b118bb2d238c",
+   "support"
+  ],
+  "css/CSS2/positioning/absolute-replaced-width-039.xht": [
+   "d6b0ddbeb2bac1070b803e1aa2c3c1ec87452a40",
+   "reftest"
+  ],
+  "css/CSS2/positioning/absolute-replaced-width-041-ref.xht": [
+   "9e27d87546595fdb5c140ed2721cd0d73fa0d3e9",
+   "support"
+  ],
+  "css/CSS2/positioning/absolute-replaced-width-041.xht": [
+   "57b1b9eab1642859728fc1593605be6e245d7d74",
+   "reftest"
+  ],
+  "css/CSS2/positioning/absolute-replaced-width-043.xht": [
+   "310f2ab9b083f9580e66f3d156713ec399f39c3f",
+   "reftest"
+  ],
+  "css/CSS2/positioning/absolute-replaced-width-048.xht": [
+   "cfc703cecace764d65eab3c800df3eb8660333c0",
+   "reftest"
+  ],
+  "css/CSS2/positioning/absolute-replaced-width-050.xht": [
+   "5c4144badf6a2ae2e8ec28e7b812434a876ddc17",
+   "reftest"
+  ],
+  "css/CSS2/positioning/absolute-replaced-width-051.xht": [
+   "ad557c6eaac2f4362a8d474d5c8b1803edef40a2",
+   "reftest"
+  ],
+  "css/CSS2/positioning/absolute-replaced-width-052.xht": [
+   "959d2bbe8475402a5334820e82dd3ca2fb00df08",
+   "reftest"
+  ],
+  "css/CSS2/positioning/absolute-replaced-width-053.xht": [
+   "950097188533fe95b82d9e61e37ca94db35825cc",
+   "reftest"
+  ],
+  "css/CSS2/positioning/absolute-replaced-width-055.xht": [
+   "cc07eeec41f7979420e2828161be91041ae5aa47",
+   "reftest"
+  ],
+  "css/CSS2/positioning/absolute-replaced-width-057.xht": [
+   "bf10595fd66622740454bc16eb6c91002ca6519f",
+   "reftest"
+  ],
+  "css/CSS2/positioning/absolute-replaced-width-062.xht": [
+   "e9957c2416e1567292134637c313221e5a9ecc8b",
+   "reftest"
+  ],
+  "css/CSS2/positioning/absolute-replaced-width-064.xht": [
+   "3ca799b205578c362400d6dd3c0d1d0decd774c2",
+   "reftest"
+  ],
+  "css/CSS2/positioning/absolute-replaced-width-065.xht": [
+   "7475928e388295a02f3d66ff55f3f78488b2a1b3",
+   "reftest"
+  ],
+  "css/CSS2/positioning/absolute-replaced-width-066.xht": [
+   "6e6345de8531e8305638b37dce66a177f35c2956",
+   "reftest"
+  ],
+  "css/CSS2/positioning/absolute-replaced-width-067.xht": [
+   "43a56695c8b49154d79e3eb5038a207b3bea961e",
+   "reftest"
+  ],
+  "css/CSS2/positioning/absolute-replaced-width-069.xht": [
+   "adf6625ef23ccef8681fcaa875ce1150b42efb1a",
+   "reftest"
+  ],
+  "css/CSS2/positioning/absolute-replaced-width-071.xht": [
+   "f7932ed70695f043d2137bdd0a5f0fd97dba9d5c",
+   "reftest"
+  ],
+  "css/CSS2/positioning/absolute-replaced-width-076.xht": [
+   "2312ab4dcd53d1933d49030c9e2dd36a08bd39db",
+   "reftest"
+  ],
+  "css/CSS2/positioning/abspos-001-ref.xht": [
+   "b1ab54a135028aebf128b95b96be9b0754b4ce7e",
+   "support"
+  ],
+  "css/CSS2/positioning/abspos-001.xht": [
+   "8f464d0cbf27418c750027c6d3a2eeaffe3c4076",
+   "reftest"
+  ],
+  "css/CSS2/positioning/abspos-002-ref.xht": [
+   "9c24cecd29b8e2a89af6761e410c907d9f73fa8c",
+   "support"
+  ],
+  "css/CSS2/positioning/abspos-002.xht": [
+   "84ba334bc9f6ed529efa88b58833c6c9b3df0887",
+   "reftest"
+  ],
+  "css/CSS2/positioning/abspos-003.xht": [
+   "4549d8fe64dd5a62de8ae399afa2b471661470d1",
+   "visual"
+  ],
+  "css/CSS2/positioning/abspos-004.xht": [
+   "a4aa8a1833fffeb91d8b9bc6f2aa0914757d1184",
+   "visual"
+  ],
+  "css/CSS2/positioning/abspos-006.xht": [
+   "09db18dd647769ffd30728b3c70705233e674519",
+   "visual"
+  ],
+  "css/CSS2/positioning/abspos-007-ref.xht": [
+   "d3baf71ceb2be2e267abd4f9f073662aa8be5173",
+   "support"
+  ],
+  "css/CSS2/positioning/abspos-007.xht": [
+   "876ecdb5970dcd37b18d02a86922c7148b30f918",
+   "reftest"
+  ],
+  "css/CSS2/positioning/abspos-008-ref.xht": [
+   "138effc904a3c1d79774836a0d9825c937728e69",
+   "support"
+  ],
+  "css/CSS2/positioning/abspos-008.xht": [
+   "7ec8fb68039845b726eb7c5c82a70dd2adbc5ab8",
+   "reftest"
+  ],
+  "css/CSS2/positioning/abspos-009-ref.xht": [
+   "60528e0d467a871a46b8d9e8c708d978db4a6cdf",
+   "support"
+  ],
+  "css/CSS2/positioning/abspos-009.xht": [
+   "9ca0b8be7f3550e6cda1470c44dc96224e14624c",
+   "reftest"
+  ],
+  "css/CSS2/positioning/abspos-010.xht": [
+   "bf9f120cbc053345298def9830b1ec8d32bb454a",
+   "visual"
+  ],
+  "css/CSS2/positioning/abspos-011-ref.xht": [
+   "c235af55f1a48bf1537880675cc07fb540672238",
+   "support"
+  ],
+  "css/CSS2/positioning/abspos-011.xht": [
+   "7deaa3e6c992cbc2cdcc8aba918d3896bc21c396",
+   "reftest"
+  ],
+  "css/CSS2/positioning/abspos-012.xht": [
+   "888c0e9b10f97a37f320f9d947650bd10d0f3126",
+   "reftest"
+  ],
+  "css/CSS2/positioning/abspos-013-ref.xht": [
+   "adbc5d93bd0998cb2ac466072571208b6cce3ec8",
+   "support"
+  ],
+  "css/CSS2/positioning/abspos-013.xht": [
+   "b0d8bd75b8e4ec527bfe44ceeb9f3707fa65ca01",
+   "reftest"
+  ],
+  "css/CSS2/positioning/abspos-014.xht": [
+   "5a4165d152321b4edd00f876d7270e508ab6cab9",
+   "reftest"
+  ],
+  "css/CSS2/positioning/abspos-015.xht": [
+   "397198bb40505dcf2b3524c7039e92fab62294f7",
+   "reftest"
+  ],
+  "css/CSS2/positioning/abspos-016.xht": [
+   "e3dd5035db495f78ef9c39e546589f0e8a49bace",
+   "reftest"
+  ],
+  "css/CSS2/positioning/abspos-017.xht": [
+   "f2c7d5be5cf175f88ed236a3370cc91823004989",
+   "reftest"
+  ],
+  "css/CSS2/positioning/abspos-018.xht": [
+   "03fbd95051a671b8a8cc1b65f2ef83e527db8ac8",
+   "reftest"
+  ],
+  "css/CSS2/positioning/abspos-019.xht": [
+   "2b3f8eb4857aad4ac15c73d9481e2c81ab18dc0d",
+   "reftest"
+  ],
+  "css/CSS2/positioning/abspos-020.xht": [
+   "3580425e9100a0491a71e8b09867a59f4d844b40",
+   "reftest"
+  ],
+  "css/CSS2/positioning/abspos-022.xht": [
+   "33aa6b75932ea432fc010e8615affa202f8bcf0a",
+   "reftest"
+  ],
+  "css/CSS2/positioning/abspos-023.xht": [
+   "fe2f75d08fa865c80a43775e1edadfea87570975",
+   "visual"
+  ],
+  "css/CSS2/positioning/abspos-024-ref.xht": [
+   "d58a49eff34a4a8ecf385234d15a44610dcd81f6",
+   "support"
+  ],
+  "css/CSS2/positioning/abspos-024.xht": [
+   "24ae641d12a1c7545a7707a69c159f6a9b239082",
+   "reftest"
+  ],
+  "css/CSS2/positioning/abspos-025-ref.xht": [
+   "4763a70f6af6124217c5add981172f42ca1ba57b",
+   "support"
+  ],
+  "css/CSS2/positioning/abspos-025.xht": [
+   "d6aa2b7045721e88a507299d5527aa10a1b3e276",
+   "reftest"
+  ],
+  "css/CSS2/positioning/abspos-026.xht": [
+   "4f347c36961bc7a6d5e479975bce038ee1472295",
+   "reftest"
+  ],
+  "css/CSS2/positioning/abspos-027.xht": [
+   "4206e6ba1f6839097eeeedf836b959883bfb0f4b",
+   "reftest"
+  ],
+  "css/CSS2/positioning/abspos-028-ref.xht": [
+   "f6e9034a92073246f214af8e10aa09f4b2112f9c",
+   "support"
+  ],
+  "css/CSS2/positioning/abspos-028.xht": [
+   "dd63d346c990db24be8085fd625b5f916d4fe3cc",
+   "reftest"
+  ],
+  "css/CSS2/positioning/abspos-containing-block-001-ref.xht": [
+   "f8962e71160a983c274d9c240ee2bde75a8598a3",
+   "support"
+  ],
+  "css/CSS2/positioning/abspos-containing-block-001.xht": [
+   "acd5546141dc42edf46affac2c67df2254fbae4c",
+   "reftest"
+  ],
+  "css/CSS2/positioning/abspos-containing-block-002.xht": [
+   "9fbd2701744eedd2e75feceb57d07dc4e7de8c7a",
+   "reftest"
+  ],
+  "css/CSS2/positioning/abspos-containing-block-003.xht": [
+   "1d7d08a6320d7ef08938a4ff30b7e43cb2d04d0b",
+   "reftest"
+  ],
+  "css/CSS2/positioning/abspos-containing-block-004.xht": [
+   "23b52824dd0c1970bfaa253f6c290e7612596ed8",
+   "reftest"
+  ],
+  "css/CSS2/positioning/abspos-containing-block-005.xht": [
+   "8d99133bd55052b76770e51d310290379120199d",
+   "reftest"
+  ],
+  "css/CSS2/positioning/abspos-containing-block-006.xht": [
+   "3d125fd94346ab9531aa52ca7e7fdcef55f854e5",
+   "reftest"
+  ],
+  "css/CSS2/positioning/abspos-containing-block-007.xht": [
+   "3cd30fd6fe0c1a23da3969f72e94fc453a96a15d",
+   "reftest"
+  ],
+  "css/CSS2/positioning/abspos-containing-block-008.xht": [
+   "4db92d001941863f8fdd45683a4f661e442aafbc",
+   "reftest"
+  ],
+  "css/CSS2/positioning/abspos-containing-block-009.xht": [
+   "ec73dd612746f2b107966c8553fefb2c753ea638",
+   "reftest"
+  ],
+  "css/CSS2/positioning/abspos-containing-block-010-ref.xht": [
+   "51b6556bc21b0a5f3d79496295ee67d55f7a1bae",
+   "support"
+  ],
+  "css/CSS2/positioning/abspos-containing-block-010.xht": [
+   "58327b3639645565edbb24d002c19b6fdecd596d",
+   "reftest"
+  ],
+  "css/CSS2/positioning/abspos-inline-001.xht": [
+   "9971d660022e3448ff90cd1dd9797678b75a5ae1",
+   "manual"
+  ],
+  "css/CSS2/positioning/abspos-inline-002.xht": [
+   "57a3a74ad0d53f89061add665a4a5667b32b9732",
+   "manual"
+  ],
+  "css/CSS2/positioning/abspos-inline-003.xht": [
+   "df045cabb5a2d155cbbcd5b7cd518f98b959e664",
+   "manual"
+  ],
+  "css/CSS2/positioning/abspos-inline-004.xht": [
+   "10f01c4df36c1347b7fe2dbdb2a01cd521ec7b26",
+   "manual"
+  ],
+  "css/CSS2/positioning/abspos-inline-005.xht": [
+   "d974370d4b268b0dc2b3305a35ae034255ca567b",
+   "manual"
+  ],
+  "css/CSS2/positioning/abspos-inline-006.xht": [
+   "c7b445070b3baa446741d3561c67fe6e4d89246f",
+   "manual"
+  ],
+  "css/CSS2/positioning/abspos-overflow-001-ref.xht": [
+   "69ee40481d5d49b0f165660e73f4aa6a5509515e",
+   "support"
+  ],
+  "css/CSS2/positioning/abspos-overflow-001.xht": [
+   "3af72e901d7f3115a210e042ce3c84f6dfb0468c",
+   "reftest"
+  ],
+  "css/CSS2/positioning/abspos-overflow-002-ref.xht": [
+   "ffa5197d7c950642c8a10621cfe402a4cea93abf",
+   "support"
+  ],
+  "css/CSS2/positioning/abspos-overflow-002.xht": [
+   "afccb2778c784353cc3553586dea0d416b0bc61b",
+   "reftest"
+  ],
+  "css/CSS2/positioning/abspos-overflow-003-ref.xht": [
+   "d05546e1bcc27bacc001866807c47d15ab61c07c",
+   "support"
+  ],
+  "css/CSS2/positioning/abspos-overflow-003.xht": [
+   "104ba81699581604ac3e38ecc8595fda7133733f",
+   "reftest"
+  ],
+  "css/CSS2/positioning/abspos-overflow-004-ref.xht": [
+   "32e3fb6c7bee224de0622870185881d8d801a4aa",
+   "support"
+  ],
+  "css/CSS2/positioning/abspos-overflow-004.xht": [
+   "919629d49bc01a962c00e36d563296efaa4e09d0",
+   "reftest"
+  ],
+  "css/CSS2/positioning/abspos-overflow-005-ref.xht": [
+   "a7f0274af06e6e0c9b99b13d9f391f90ed4cc4cf",
+   "support"
+  ],
+  "css/CSS2/positioning/abspos-overflow-005.xht": [
+   "6dad4eb941e11dda5850f1458d331eef5a5bc2b4",
+   "reftest"
+  ],
+  "css/CSS2/positioning/abspos-overflow-006-ref.xht": [
+   "251d8ae2cf9388bd85172adcf79f8af753313001",
+   "support"
+  ],
+  "css/CSS2/positioning/abspos-overflow-006.xht": [
+   "3d511bd749cf4589de032ba094346572f91ee983",
+   "reftest"
+  ],
+  "css/CSS2/positioning/abspos-overflow-007.xht": [
+   "8d7e53fba9a5a0ec78a25bc960da3b1d9a960958",
+   "reftest"
+  ],
+  "css/CSS2/positioning/abspos-overflow-008.xht": [
+   "d97239cafb1ce0c06d54bb2b50e649d8d8633f2c",
+   "reftest"
+  ],
+  "css/CSS2/positioning/abspos-overflow-009.xht": [
+   "9b7e036f1d49d510da13671a84f7cd0958e5a328",
+   "reftest"
+  ],
+  "css/CSS2/positioning/abspos-overflow-010-ref.xht": [
+   "5c1c0c38fd20ec829202d543b798a8becb6fe03e",
+   "support"
+  ],
+  "css/CSS2/positioning/abspos-overflow-010.xht": [
+   "8cf2e9f474e8b9f53b23eac7fdd3286e1bc5da7d",
+   "reftest"
+  ],
+  "css/CSS2/positioning/abspos-overflow-011-ref.xht": [
+   "97a51e28bc32a1be65a5eeed25db291842ad8594",
+   "support"
+  ],
+  "css/CSS2/positioning/abspos-overflow-011.xht": [
+   "34148f67aaef104f9e31ed68497737bb8b69169d",
+   "reftest"
+  ],
+  "css/CSS2/positioning/abspos-overflow-012.xht": [
+   "d2e2568a414c59871989e47bca4a1e015ab8ef81",
+   "reftest"
+  ],
+  "css/CSS2/positioning/abspos-paged-001.xht": [
+   "ea2f2ad5f2b652ab455af7d1c68d2d673fdc0856",
+   "manual"
+  ],
+  "css/CSS2/positioning/abspos-paged-002.xht": [
+   "5f6d8c6f08e7c67c0cefdfe1fcd144532860712f",
+   "manual"
+  ],
+  "css/CSS2/positioning/abspos-width-001.xht": [
+   "51eff689e3037863fe393174ea9d8e44cd146995",
+   "reftest"
+  ],
+  "css/CSS2/positioning/abspos-width-002.xht": [
+   "705c81c920985a7b57e724774c578a0119ab0189",
+   "reftest"
+  ],
+  "css/CSS2/positioning/abspos-width-003.xht": [
+   "827a824f1642259306a5e506e00524bbeb161da9",
+   "reftest"
+  ],
+  "css/CSS2/positioning/abspos-width-004.xht": [
+   "ec9c4a4595cb21eb99e362211842b55ed7d61963",
+   "reftest"
+  ],
+  "css/CSS2/positioning/abspos-width-005-ref.xht": [
+   "79c0dba4d622be65a9e300c4258373767c2c1159",
+   "support"
+  ],
+  "css/CSS2/positioning/abspos-width-005.xht": [
+   "f264fbe2c71755935b31425c11bcc246ae3800f5",
+   "reftest"
+  ],
+  "css/CSS2/positioning/abspos-zero-width-001.xht": [
+   "07080c0cd81297efb4f43335115ef9aca4f17820",
+   "visual"
+  ],
+  "css/CSS2/positioning/bottom-004.xht": [
+   "fd565fe66f3e1c735d43f5501caeff79285635d4",
+   "reftest"
+  ],
+  "css/CSS2/positioning/bottom-005.xht": [
+   "11a19b734db558905bc6ae4c81806ce4758f9912",
+   "reftest"
+  ],
+  "css/CSS2/positioning/bottom-006.xht": [
+   "4e241c6dc5437b3f405fd9ab3630eb781155b863",
+   "reftest"
+  ],
+  "css/CSS2/positioning/bottom-007-ref.xht": [
+   "360798cbbf62cb5dcd1d9b7ce19f9a6c61131c90",
+   "support"
+  ],
+  "css/CSS2/positioning/bottom-007.xht": [
+   "083a50d3fe9ba6f3196637c13d0ce4ab74e0b429",
+   "reftest"
+  ],
+  "css/CSS2/positioning/bottom-008.xht": [
+   "46018fc302e6894ed0785fe0985b5a856d211f40",
+   "reftest"
+  ],
+  "css/CSS2/positioning/bottom-016.xht": [
+   "f485c44ee2fdb6294d20c51a9ed2a59ee5a69498",
+   "reftest"
+  ],
+  "css/CSS2/positioning/bottom-017.xht": [
+   "6325d0ceb0cea6a1c22338a5a9bb796cfbee996b",
+   "reftest"
+  ],
+  "css/CSS2/positioning/bottom-018.xht": [
+   "b27ffbdc247ef1bf72aed6b34a42ee1f772307ed",
+   "reftest"
+  ],
+  "css/CSS2/positioning/bottom-019-ref.xht": [
+   "aec53abfbb4187be51fe3e0a5418b2ffb89b30ad",
+   "support"
+  ],
+  "css/CSS2/positioning/bottom-019.xht": [
+   "fc81b98e53293841ae33c33160489099f42f9909",
+   "reftest"
+  ],
+  "css/CSS2/positioning/bottom-020.xht": [
+   "ceb03705eb6408736b2e5e0882151c7f583aad71",
+   "reftest"
+  ],
+  "css/CSS2/positioning/bottom-028.xht": [
+   "444d9bfb79b03be9b2d817107e5f4ec142ec35c7",
+   "reftest"
+  ],
+  "css/CSS2/positioning/bottom-029.xht": [
+   "7bc6fa5e61fa9e72cb2f1f1c351e7641ae29350f",
+   "reftest"
+  ],
+  "css/CSS2/positioning/bottom-030.xht": [
+   "6c326f42239c0922b796abf1a10fe222f9eeab7b",
+   "reftest"
+  ],
+  "css/CSS2/positioning/bottom-031.xht": [
+   "f19145f2b3e5cf3fd878b9692f93e59fa6ebbe37",
+   "reftest"
+  ],
+  "css/CSS2/positioning/bottom-032.xht": [
+   "17c6119f66279fb84154b10415e13d8e891c51af",
+   "reftest"
+  ],
+  "css/CSS2/positioning/bottom-040.xht": [
+   "e28e356940941ec9a9a615e73fd1fd8b51d4614a",
+   "reftest"
+  ],
+  "css/CSS2/positioning/bottom-041.xht": [
+   "3077ba7ab612604caf094ea7d6f8fc4a06a4d8c2",
+   "reftest"
+  ],
+  "css/CSS2/positioning/bottom-042.xht": [
+   "69a5ceec1a21c2b4bb4329ecb0e4e4a92008e478",
+   "reftest"
+  ],
+  "css/CSS2/positioning/bottom-043.xht": [
+   "6ceb66efe5a1cb9d2b5993d50a467d92c9705d05",
+   "reftest"
+  ],
+  "css/CSS2/positioning/bottom-044.xht": [
+   "cfa2b4962609ed18107bdcafc75fc2da961f4e94",
+   "reftest"
+  ],
+  "css/CSS2/positioning/bottom-052.xht": [
+   "dce1143049d8bf938ef6fd62e3bd14b985fd9cb9",
+   "reftest"
+  ],
+  "css/CSS2/positioning/bottom-053.xht": [
+   "e1b20372610a43b78104764419fa83ca3e962aa2",
+   "reftest"
+  ],
+  "css/CSS2/positioning/bottom-054.xht": [
+   "222764259e9a13804921d93070f3f7e4ab33bfd6",
+   "reftest"
+  ],
+  "css/CSS2/positioning/bottom-055.xht": [
+   "a7e910f63dec62ee683b925b153070add77b8302",
+   "reftest"
+  ],
+  "css/CSS2/positioning/bottom-056.xht": [
+   "2b80d657491b73f99cf0e5021aafcaf062809bc8",
+   "reftest"
+  ],
+  "css/CSS2/positioning/bottom-064.xht": [
+   "f0b6d47271e606dd0ca1d94aaac38e2db29a81a6",
+   "reftest"
+  ],
+  "css/CSS2/positioning/bottom-065.xht": [
+   "f37d81ce9a6066eb7bc03848f390db6ba611b649",
+   "reftest"
+  ],
+  "css/CSS2/positioning/bottom-066.xht": [
+   "e48f4845b769ddf740de97bd653b822162443003",
+   "reftest"
+  ],
+  "css/CSS2/positioning/bottom-067.xht": [
+   "653361119bad53cade68b18e982e8ea75b2661da",
+   "reftest"
+  ],
+  "css/CSS2/positioning/bottom-068.xht": [
+   "80f39f4ef0785e5537b707a3e940fec26e6a4557",
+   "reftest"
+  ],
+  "css/CSS2/positioning/bottom-076.xht": [
+   "c9ce55e427b0f84f7d96f9df34ae7963ea8df5a5",
+   "reftest"
+  ],
+  "css/CSS2/positioning/bottom-077.xht": [
+   "f48badc2e65d99f034647d406d67160c7ad63345",
+   "reftest"
+  ],
+  "css/CSS2/positioning/bottom-078.xht": [
+   "2e7b59e11b0f101c3eafaf4eb4fef60f323152e7",
+   "reftest"
+  ],
+  "css/CSS2/positioning/bottom-079-ref.xht": [
+   "178310e3289742df2f0e10ae18964f4e79c3ebc1",
+   "support"
+  ],
+  "css/CSS2/positioning/bottom-079.xht": [
+   "52f87964ce66b388790b37e829d0bfebf1d814f4",
+   "reftest"
+  ],
+  "css/CSS2/positioning/bottom-080.xht": [
+   "6bd5341beb669e75fa2e4c853d0dadddf817603a",
+   "reftest"
+  ],
+  "css/CSS2/positioning/bottom-088.xht": [
+   "e756d23943bbb23142ca97c4dd974d2d839c75a3",
+   "reftest"
+  ],
+  "css/CSS2/positioning/bottom-089.xht": [
+   "a60841aa2b5a207b952323946e9732e8d994fbfb",
+   "reftest"
+  ],
+  "css/CSS2/positioning/bottom-090.xht": [
+   "690750a368911d59fdbeb9a49ea64b141492a096",
+   "reftest"
+  ],
+  "css/CSS2/positioning/bottom-091.xht": [
+   "812f3833cf90fe9c371ec9bfceceb3fc60861a6b",
+   "reftest"
+  ],
+  "css/CSS2/positioning/bottom-092.xht": [
+   "0275b047311d9767bb614b30796cb7ebcf1deb9f",
+   "reftest"
+  ],
+  "css/CSS2/positioning/bottom-100.xht": [
+   "c8e9b7463a45a739bedc662a4be734c98d46572e",
+   "reftest"
+  ],
+  "css/CSS2/positioning/bottom-101.xht": [
+   "9d069229359a60d6e4f781ea4341012644203b87",
+   "reftest"
+  ],
+  "css/CSS2/positioning/bottom-102.xht": [
+   "26c34b000a35db5f7b93b38983f8a7dd5bbe828f",
+   "reftest"
+  ],
+  "css/CSS2/positioning/bottom-103.xht": [
+   "23e384ca6c0de1c8f6eed9ee18a858e3fc297f46",
+   "reftest"
+  ],
+  "css/CSS2/positioning/bottom-104.xht": [
+   "a0b7f456c07225b95d9b74abafb88171502cb5ea",
+   "reftest"
+  ],
+  "css/CSS2/positioning/bottom-109.xht": [
+   "8369f8284e3e86c5c383130f33c6d051e7178f85",
+   "reftest"
+  ],
+  "css/CSS2/positioning/bottom-110.xht": [
+   "ca5e95ce523a7ad8a0e01a564bffc08dcf19a4fa",
+   "reftest"
+  ],
+  "css/CSS2/positioning/bottom-111.xht": [
+   "21bf5dde35009a6bfbb24981c797ff1f692bef62",
+   "reftest"
+  ],
+  "css/CSS2/positioning/bottom-112.xht": [
+   "8638c47e907e1768cce73ffd6d7d0c9704fe2757",
+   "reftest"
+  ],
+  "css/CSS2/positioning/bottom-113-ref.xht": [
+   "55c6babc81c7325f144eb5eb14902960b762840e",
+   "support"
+  ],
+  "css/CSS2/positioning/bottom-113.xht": [
+   "102b9707317822bb1794a3899a6770f75d44054e",
+   "reftest"
+  ],
+  "css/CSS2/positioning/bottom-applies-to-001-ref.xht": [
+   "16e69098c406c156500d363945bff1c3cbfb517b",
+   "support"
+  ],
+  "css/CSS2/positioning/bottom-applies-to-001.xht": [
+   "07a107ac143055b6d217472765d6e06a14c9fd3f",
+   "reftest"
+  ],
+  "css/CSS2/positioning/bottom-applies-to-002.xht": [
+   "dd861b9971feb0e5bf87d5b991556035edbc8c3a",
+   "reftest"
+  ],
+  "css/CSS2/positioning/bottom-applies-to-003.xht": [
+   "2346e326ebc2933192f4add6234ad101900323f7",
+   "reftest"
+  ],
+  "css/CSS2/positioning/bottom-applies-to-004.xht": [
+   "508adcd10183b734d2415644d90fbbc97480fe39",
+   "reftest"
+  ],
+  "css/CSS2/positioning/bottom-applies-to-005.xht": [
+   "fbb6c08194a0200550006b9a29555c67d2c6e184",
+   "reftest"
+  ],
+  "css/CSS2/positioning/bottom-applies-to-006.xht": [
+   "3debe7696af9859856b16892ee533ca16ec1ef78",
+   "reftest"
+  ],
+  "css/CSS2/positioning/bottom-applies-to-007.xht": [
+   "80e98ac93200f89c7b3e81df9ded5abedb7dcfb1",
+   "reftest"
+  ],
+  "css/CSS2/positioning/bottom-applies-to-008.xht": [
+   "797b132a8bef0e6ad85dcf1ef03f2d593f54e4fd",
+   "visual"
+  ],
+  "css/CSS2/positioning/bottom-applies-to-009.xht": [
+   "2c031da9c4a288a14da1c797d127c9fb5fa737b6",
+   "reftest"
+  ],
+  "css/CSS2/positioning/bottom-applies-to-010.xht": [
+   "ec3ca5f0752224945f773a8e356436587641ba80",
+   "visual"
+  ],
+  "css/CSS2/positioning/bottom-applies-to-012.xht": [
+   "2c8ac0d61d95ebb8c56aff8d2cec1994ab4a20c3",
+   "reftest"
+  ],
+  "css/CSS2/positioning/bottom-applies-to-013.xht": [
+   "0582174ae1bd2e35a664b4acaa14819412c5eeef",
+   "reftest"
+  ],
+  "css/CSS2/positioning/bottom-applies-to-014.xht": [
+   "f7352dd038bae6427de8b9f63a8c68f61f8d4a99",
+   "reftest"
+  ],
+  "css/CSS2/positioning/bottom-applies-to-015.xht": [
+   "13f50ffb66da5987fb17e52fa2e60244573c4790",
+   "reftest"
+  ],
+  "css/CSS2/positioning/bottom-offset-001-ref.xht": [
+   "62243eeed4cde534c402a27255e69a66cb5799fa",
+   "support"
+  ],
+  "css/CSS2/positioning/bottom-offset-001.xht": [
+   "cf92a9bacb074458c6515f7b56e185806a2b13a4",
+   "reftest"
+  ],
+  "css/CSS2/positioning/bottom-offset-002.xht": [
+   "4587ac96c6435b0747227195be19d23eb16f4cc8",
+   "reftest"
+  ],
+  "css/CSS2/positioning/bottom-offset-003.xht": [
+   "0bfe4e8c686ebf97357a511b3b081fcb35947e36",
+   "reftest"
+  ],
+  "css/CSS2/positioning/bottom-offset-percentage-001-ref.xht": [
+   "cf6de0467b190977fc86f38b73eac1007d46f1d9",
+   "support"
+  ],
+  "css/CSS2/positioning/bottom-offset-percentage-001.xht": [
+   "4e0e00e02787daa7f3a4b521979ad849751a99b3",
+   "reftest"
+  ],
+  "css/CSS2/positioning/dynamic-top-change-001-ref.xht": [
+   "04e332a36e8692fefd5a6ee0229195befa8c55fe",
+   "support"
+  ],
+  "css/CSS2/positioning/dynamic-top-change-001.xht": [
+   "6df86fd54d7924387af55d77b435df7e5cb9e958",
+   "reftest"
+  ],
+  "css/CSS2/positioning/dynamic-top-change-002-ref.xht": [
+   "848c349e6cfb438d8799b00228a53b090e5b4a18",
+   "support"
+  ],
+  "css/CSS2/positioning/dynamic-top-change-002.xht": [
+   "40c5059cec88e2c85aceb832cb28179d82c607b2",
+   "reftest"
+  ],
+  "css/CSS2/positioning/dynamic-top-change-003.xht": [
+   "f04c237d91f706ec3af3be1727c0fd86a256b4a7",
+   "reftest"
+  ],
+  "css/CSS2/positioning/dynamic-top-change-004.xht": [
+   "ae0183eee43b2a0acc8bb2938f41f84225eda04c",
+   "reftest"
+  ],
+  "css/CSS2/positioning/dynamic-top-change-005.xht": [
+   "e4c1363a050570443931ed08097fd5a3e2e46e20",
+   "visual"
+  ],
+  "css/CSS2/positioning/dynamic-top-change-005a.xht": [
+   "a3b66c29e309d9ad615ec170f2ced76fe401e301",
+   "visual"
+  ],
+  "css/CSS2/positioning/dynamic-top-change-005b.xht": [
+   "ffce7b03a1ca920e20a368d7759bc2bab59deb2a",
+   "visual"
+  ],
+  "css/CSS2/positioning/left-004-ref.xht": [
+   "b5c2ff461c17f75e3ed5a51702a7252588416ad0",
+   "support"
+  ],
+  "css/CSS2/positioning/left-004.xht": [
+   "e81f5af3030f5cc3aad87ee4c920bc61b8b6f120",
+   "reftest"
+  ],
+  "css/CSS2/positioning/left-005.xht": [
+   "08854022561418f093a8abc15a9b71296543b4b9",
+   "reftest"
+  ],
+  "css/CSS2/positioning/left-006.xht": [
+   "347c1ff6e525ae06dee1fbd306a84339ddba8b1f",
+   "reftest"
+  ],
+  "css/CSS2/positioning/left-007-ref.xht": [
+   "2522a0b52d1af99a3bf8a90e1717e164e5e3541c",
+   "support"
+  ],
+  "css/CSS2/positioning/left-007.xht": [
+   "cdb22cffadcb734f33a1ab54fd330a7ac497ea7b",
+   "reftest"
+  ],
+  "css/CSS2/positioning/left-008.xht": [
+   "f4100bbedeb9c2f49ac759630e099865d0b5af14",
+   "reftest"
+  ],
+  "css/CSS2/positioning/left-016.xht": [
+   "7896482f899fad5a6fd9710adaccba856b41d8ee",
+   "reftest"
+  ],
+  "css/CSS2/positioning/left-017.xht": [
+   "b40cfb389ff465b0fcdb00297e7dbaae0dcec67b",
+   "reftest"
+  ],
+  "css/CSS2/positioning/left-018.xht": [
+   "115adabc737b9cfbc63254c2698c51c3db3e3bab",
+   "reftest"
+  ],
+  "css/CSS2/positioning/left-019.xht": [
+   "b0ea1af8dda8808604bc8c27c1dc9b3fe580bde1",
+   "reftest"
+  ],
+  "css/CSS2/positioning/left-020.xht": [
+   "bb30e2600ca082f11abcd5e3eb764e1b680cc347",
+   "reftest"
+  ],
+  "css/CSS2/positioning/left-028.xht": [
+   "cb45440ddb7db53c3e218b1d5e6c0b7a8b4cb83a",
+   "reftest"
+  ],
+  "css/CSS2/positioning/left-029.xht": [
+   "d69d74cbb6e45198856971b66f5927bdcd8b5a94",
+   "reftest"
+  ],
+  "css/CSS2/positioning/left-030.xht": [
+   "35050594588c7b5ca47e9a80455830e5576fcdcd",
+   "reftest"
+  ],
+  "css/CSS2/positioning/left-031-ref.xht": [
+   "a93abfd71c587dea04472532c72201a6a8467ed7",
+   "support"
+  ],
+  "css/CSS2/positioning/left-031.xht": [
+   "1ca55389222841a7147257c4ce7eb1a7d0dde344",
+   "reftest"
+  ],
+  "css/CSS2/positioning/left-032.xht": [
+   "51df49010c3f57941559de8dc25e56ff37f77256",
+   "reftest"
+  ],
+  "css/CSS2/positioning/left-040.xht": [
+   "3f30d6507a2e2ce3ce1b93a5d4b6e8f315371b4a",
+   "reftest"
+  ],
+  "css/CSS2/positioning/left-041.xht": [
+   "f55cb50baede594f212dfd43d2ef79d625564e7c",
+   "reftest"
+  ],
+  "css/CSS2/positioning/left-042.xht": [
+   "ccfc6d1e14e7303fe9afbd5c12d2765b8bb3d823",
+   "reftest"
+  ],
+  "css/CSS2/positioning/left-043.xht": [
+   "917e60896db26ccae5e8ad018e1acb8fb4e11b54",
+   "reftest"
+  ],
+  "css/CSS2/positioning/left-044.xht": [
+   "dd976bc663a58e80aa97e6c839aaf2e77c4eb482",
+   "reftest"
+  ],
+  "css/CSS2/positioning/left-052.xht": [
+   "8bd236600b2f8faba19ac96a3382c9dddd664a2a",
+   "reftest"
+  ],
+  "css/CSS2/positioning/left-053.xht": [
+   "f6ccdd4fbde796b61207f317350aa473ac968baf",
+   "reftest"
+  ],
+  "css/CSS2/positioning/left-054.xht": [
+   "584fd4bd9091f3bc7e08463a3fcd47f6254e7482",
+   "reftest"
+  ],
+  "css/CSS2/positioning/left-055.xht": [
+   "1835bad117dd167192bd0c4f8550292541ea7c32",
+   "reftest"
+  ],
+  "css/CSS2/positioning/left-056.xht": [
+   "d0c50bab4c8ab5de4b775ed0725055a1a632fa87",
+   "reftest"
+  ],
+  "css/CSS2/positioning/left-064.xht": [
+   "980d07d58d5fcea6f892a2ab5672573d60ff1b50",
+   "reftest"
+  ],
+  "css/CSS2/positioning/left-065.xht": [
+   "d056322d75b52dd03970ad1932bd029b5e73a8f5",
+   "reftest"
+  ],
+  "css/CSS2/positioning/left-066.xht": [
+   "0ba2a760d404808a18c1f705fe8f52c6ae3d5fd6",
+   "reftest"
+  ],
+  "css/CSS2/positioning/left-067.xht": [
+   "26efa7aa45705d8273cb0b069b75bc1e4483fae5",
+   "reftest"
+  ],
+  "css/CSS2/positioning/left-068.xht": [
+   "658d4d8bfb46df2e8dba65432a70099dd74790f3",
+   "reftest"
+  ],
+  "css/CSS2/positioning/left-076.xht": [
+   "fef591675cd27fcc1a82706758defe3d5a817dd1",
+   "reftest"
+  ],
+  "css/CSS2/positioning/left-077.xht": [
+   "dcadf836e98063f47a3b734418df0162342de440",
+   "reftest"
+  ],
+  "css/CSS2/positioning/left-078.xht": [
+   "0c706bd1da31d260c67dbda9485f867f7a4b77d8",
+   "reftest"
+  ],
+  "css/CSS2/positioning/left-079-ref.xht": [
+   "c8981c10dfe4ea2efedfb8dced6b9e8ab0b9651c",
+   "support"
+  ],
+  "css/CSS2/positioning/left-079.xht": [
+   "1845ea58f6e351a019805a24ecead273ef2cc8bb",
+   "reftest"
+  ],
+  "css/CSS2/positioning/left-080.xht": [
+   "38f086fdd545d834a16cc41d1c65f1fe82a77b62",
+   "reftest"
+  ],
+  "css/CSS2/positioning/left-088.xht": [
+   "687749c49f885205d75c5f70f057f299e8b542f3",
+   "reftest"
+  ],
+  "css/CSS2/positioning/left-089.xht": [
+   "4c06a821472789b8724ebd8312e48a7492b7b427",
+   "reftest"
+  ],
+  "css/CSS2/positioning/left-090.xht": [
+   "eaa12c6258a6286c1cf5508b27a3308f1f2d0e87",
+   "reftest"
+  ],
+  "css/CSS2/positioning/left-091.xht": [
+   "bc2028bdf47355d1eeb5bab8dfaf4719d0a9ca17",
+   "reftest"
+  ],
+  "css/CSS2/positioning/left-092.xht": [
+   "2d743bf390ef525f04171449f2edc5c055b09001",
+   "reftest"
+  ],
+  "css/CSS2/positioning/left-100.xht": [
+   "1d290e4f55efc51cc1f4ea038d3d0833bbaa4d79",
+   "reftest"
+  ],
+  "css/CSS2/positioning/left-101.xht": [
+   "ba1c271b6263f13efbcaa9d5667e4eefc083912b",
+   "reftest"
+  ],
+  "css/CSS2/positioning/left-102.xht": [
+   "35b41463e8088db0f61fc86f066d101f6346bedf",
+   "reftest"
+  ],
+  "css/CSS2/positioning/left-103.xht": [
+   "754cb2d7c5bf54b293a016b111898542d2ca3af8",
+   "reftest"
+  ],
+  "css/CSS2/positioning/left-104.xht": [
+   "77c00f0f08677e14dbae88293a8161c80ff48497",
+   "reftest"
+  ],
+  "css/CSS2/positioning/left-109.xht": [
+   "0241395bcf586f62179a217ed02ad2d3f46404e0",
+   "reftest"
+  ],
+  "css/CSS2/positioning/left-110.xht": [
+   "374361a6bb3f8952377f0f2e4670ad0ce870a497",
+   "reftest"
+  ],
+  "css/CSS2/positioning/left-111.xht": [
+   "f60e531e12d926ae96d57d21a7b18be7bbcf6cd3",
+   "reftest"
+  ],
+  "css/CSS2/positioning/left-112.xht": [
+   "a63dfcbfc0f2a8f4159fbc394351c37eb388959b",
+   "reftest"
+  ],
+  "css/CSS2/positioning/left-113-ref.xht": [
+   "38d59ac3834fc1f495270b038bb25d064a2f1675",
+   "support"
+  ],
+  "css/CSS2/positioning/left-113.xht": [
+   "9705e10da384686afca504ff3e99921b645fa2b3",
+   "reftest"
+  ],
+  "css/CSS2/positioning/left-applies-to-001-ref.xht": [
+   "25163a620b023f4931731b778eaf8a1824aa7eb0",
+   "support"
+  ],
+  "css/CSS2/positioning/left-applies-to-001.xht": [
+   "b92b303181eb49270ab9efd60a031e6679804b1a",
+   "reftest"
+  ],
+  "css/CSS2/positioning/left-applies-to-002.xht": [
+   "f0f30f77fdd84975b6f788dc530b3366a3f21c86",
+   "reftest"
+  ],
+  "css/CSS2/positioning/left-applies-to-003.xht": [
+   "81c13ca5fff255f2a53d0755c1d9ffa4155fa244",
+   "reftest"
+  ],
+  "css/CSS2/positioning/left-applies-to-004.xht": [
+   "5dc537273f7d795892941264ff2f6e6e8ae09432",
+   "reftest"
+  ],
+  "css/CSS2/positioning/left-applies-to-005.xht": [
+   "16c861e9ea038bca8152f711aa10896aa91758df",
+   "reftest"
+  ],
+  "css/CSS2/positioning/left-applies-to-006.xht": [
+   "3781604438d2c8153f86dee771cbf384f38ba0e2",
+   "reftest"
+  ],
+  "css/CSS2/positioning/left-applies-to-007.xht": [
+   "cf176b79c4d06ba0435730d7cd72fadfa54a1be3",
+   "reftest"
+  ],
+  "css/CSS2/positioning/left-applies-to-008.xht": [
+   "989bc34dbb368bfd9378c8415249eb2dc82422df",
+   "visual"
+  ],
+  "css/CSS2/positioning/left-applies-to-009.xht": [
+   "9395cb46b48cab3b76ec02f3d8279a9c9813808c",
+   "reftest"
+  ],
+  "css/CSS2/positioning/left-applies-to-010.xht": [
+   "7cbb00f98d5d320920c8f3f5edb39194a455c487",
+   "visual"
+  ],
+  "css/CSS2/positioning/left-applies-to-012.xht": [
+   "c2073e54115c87a89d729b2389ac53f6b889066f",
+   "reftest"
+  ],
+  "css/CSS2/positioning/left-applies-to-013.xht": [
+   "f8ae3686290fc38fd0e3871ab05c458ff8b89dcc",
+   "reftest"
+  ],
+  "css/CSS2/positioning/left-applies-to-014.xht": [
+   "ff8a2f5bef6a56eb44e59965cc3d5ab5a1e36d1e",
+   "reftest"
+  ],
+  "css/CSS2/positioning/left-applies-to-015.xht": [
+   "28686df9356f5025d8146bfa7aebbffe983ffd30",
+   "reftest"
+  ],
+  "css/CSS2/positioning/left-offset-001-ref.xht": [
+   "ad302e81ae2622d714c34331f5bbf65286844d9b",
+   "support"
+  ],
+  "css/CSS2/positioning/left-offset-001.xht": [
+   "06beab3d575cd0909300628151b0d40989f8d291",
+   "reftest"
+  ],
+  "css/CSS2/positioning/left-offset-002.xht": [
+   "f0757e9dda0b2f79a0985aca63d158dac1cbee01",
+   "reftest"
+  ],
+  "css/CSS2/positioning/left-offset-003-ref.xht": [
+   "f89e83737819e5fdabb11fe16e5dbe11c53dfdb9",
+   "support"
+  ],
+  "css/CSS2/positioning/left-offset-003.xht": [
+   "47c413acb0c10220fc346236a1db07792f47856b",
+   "reftest"
+  ],
+  "css/CSS2/positioning/left-offset-percentage-001-ref.xht": [
+   "b40f07ba081ebf1427daed80c2c6831ba96705e8",
+   "support"
+  ],
+  "css/CSS2/positioning/left-offset-percentage-001.xht": [
+   "b0742545a275d2211b90432a5f63f30b4cc318fa",
+   "reftest"
+  ],
+  "css/CSS2/positioning/left-offset-percentage-002-ref.xht": [
+   "53a696aff25b8a12f563d8c5c5a5a1ae6b4a7328",
+   "support"
+  ],
+  "css/CSS2/positioning/left-offset-percentage-002.xht": [
+   "a6a5983c404babeeee4c84505fba860c54f4aa0d",
+   "reftest"
+  ],
+  "css/CSS2/positioning/position-001.xht": [
+   "a911d891ab0bbd0591bb048b3b5b0d35c28be351",
+   "visual"
+  ],
+  "css/CSS2/positioning/position-002.xht": [
+   "3207765cc3e2bfa9dbd2e26b459c4a2c508e43ff",
+   "visual"
+  ],
+  "css/CSS2/positioning/position-003.xht": [
+   "6563be7d11627b6582318b8044727b310b4978d3",
+   "visual"
+  ],
+  "css/CSS2/positioning/position-004.xht": [
+   "13d16673d4d4964faa26faa03f6130a379244ce3",
+   "manual"
+  ],
+  "css/CSS2/positioning/position-005.xht": [
+   "e8c3fdbf4bb149412ef645c79eaca15126f3b082",
+   "visual"
+  ],
+  "css/CSS2/positioning/position-006-ref.xht": [
+   "a353d509fc5bd8ce9ebeb4505389b30b802c4968",
+   "support"
+  ],
+  "css/CSS2/positioning/position-006.xht": [
+   "af144b766acdd237bca57a8570ad2d283ef02efc",
+   "reftest"
+  ],
+  "css/CSS2/positioning/position-absolute-001.xht": [
+   "26f25feebc5c0b682a4e136b31051d5bc834d9b2",
+   "reftest"
+  ],
+  "css/CSS2/positioning/position-absolute-002-ref.xht": [
+   "dc1950d072e3213a1accbf6b57d2ef6f64e913ad",
+   "support"
+  ],
+  "css/CSS2/positioning/position-absolute-002.xht": [
+   "4cb1e180a0351c281c7d5bc8109e34fb5eb8bae0",
+   "reftest"
+  ],
+  "css/CSS2/positioning/position-absolute-003.xht": [
+   "edba32541d828cbc0b3205962de75d851e37ebdb",
+   "reftest"
+  ],
+  "css/CSS2/positioning/position-absolute-004-ref.xht": [
+   "2ac00b913398a21e6f0c3ec8e65261720be7ddc3",
+   "support"
+  ],
+  "css/CSS2/positioning/position-absolute-004.xht": [
+   "59d33b6a5f2cf8c6ffcf2e6a8924c5b00005f4aa",
+   "reftest"
+  ],
+  "css/CSS2/positioning/position-absolute-005.xht": [
+   "239489de6ed845c7b7a71c34d3aa2ffff10b9745",
+   "visual"
+  ],
+  "css/CSS2/positioning/position-absolute-006.xht": [
+   "fdca9a8b013afc72f63d847f19532df75d11618a",
+   "reftest"
+  ],
+  "css/CSS2/positioning/position-absolute-007-ref.xht": [
+   "acdf85ffbced8570f40136102035ae59cf51b4ba",
+   "support"
+  ],
+  "css/CSS2/positioning/position-absolute-007.xht": [
+   "e8b3b98d1d63fb0281edd8eaa93662ebe0528de2",
+   "reftest"
+  ],
+  "css/CSS2/positioning/position-absolute-008.xht": [
+   "a41202060b50a3f8879620bfa78f6cb0c68ece6d",
+   "reftest"
+  ],
+  "css/CSS2/positioning/position-applies-to-001.xht": [
+   "dcee9ec75c618dd4037590817b9c1d9e61583d62",
+   "reftest"
+  ],
+  "css/CSS2/positioning/position-applies-to-002.xht": [
+   "ad9bc9e493a3300ec41b17809217cdea2aeb4f60",
+   "reftest"
+  ],
+  "css/CSS2/positioning/position-applies-to-003.xht": [
+   "f79197464ef2d23a6c932b2aef92ec5d13a89252",
+   "reftest"
+  ],
+  "css/CSS2/positioning/position-applies-to-004.xht": [
+   "7a8306f3368ef0c63517007ebc13895702be4b72",
+   "reftest"
+  ],
+  "css/CSS2/positioning/position-applies-to-005.xht": [
+   "8046f68b14c839dd4230bfe6b2600664cd83bb0e",
+   "reftest"
+  ],
+  "css/CSS2/positioning/position-applies-to-006.xht": [
+   "567883b0e197271f219a67517fd4ee7b8854f4bb",
+   "reftest"
+  ],
+  "css/CSS2/positioning/position-applies-to-007.xht": [
+   "f8785d940bd34b34e5067197c69f429b15dcfc61",
+   "reftest"
+  ],
+  "css/CSS2/positioning/position-applies-to-008.xht": [
+   "e26b885cc7f30c146811682d01fba0928b4051a1",
+   "visual"
+  ],
+  "css/CSS2/positioning/position-applies-to-009.xht": [
+   "088a0a08959babfa3fa7e5b94bc90b7699522e07",
+   "reftest"
+  ],
+  "css/CSS2/positioning/position-applies-to-010.xht": [
+   "f83bac25d1c78c351a0bfdc50819b6f1ae23c47b",
+   "visual"
+  ],
+  "css/CSS2/positioning/position-applies-to-012.xht": [
+   "291a9b4cf93974e173bfb55a4ce85ed0d22a2819",
+   "reftest"
+  ],
+  "css/CSS2/positioning/position-applies-to-013.xht": [
+   "1db29dfd748d14b02e9b162c6d1c1f35933b1b54",
+   "reftest"
+  ],
+  "css/CSS2/positioning/position-applies-to-014.xht": [
+   "b672f69abc301b885ecf009a8115029e281090f5",
+   "reftest"
+  ],
+  "css/CSS2/positioning/position-applies-to-015.xht": [
+   "5c7b0f14a48dff159b406e8145e87c25343016a4",
+   "reftest"
+  ],
+  "css/CSS2/positioning/position-fixed-001.xht": [
+   "044b04525c93b5957a6d055791ee3ddd928e2414",
+   "reftest"
+  ],
+  "css/CSS2/positioning/position-fixed-002.xht": [
+   "a6671be74b1e84232eda1918f4f5c4e4532edca7",
+   "visual"
+  ],
+  "css/CSS2/positioning/position-fixed-003.xht": [
+   "89a253dcb0f8d5bddbc4a01cd21dc2499f0579b4",
+   "manual"
+  ],
+  "css/CSS2/positioning/position-fixed-004.xht": [
+   "2ef3c6e9b8a0640838ca1ae000d0cb5edcf75826",
+   "manual"
+  ],
+  "css/CSS2/positioning/position-fixed-005.xht": [
+   "f39810bb20f806cdf17023757f6c353c9c121982",
+   "manual"
+  ],
+  "css/CSS2/positioning/position-fixed-006.xht": [
+   "3d2a03b1ba84e1efcc60b09d5a12889aa1c685b9",
+   "visual"
+  ],
+  "css/CSS2/positioning/position-fixed-007-ref.xht": [
+   "af716e63244d4c04743db77a4e807eee6c7d53e9",
+   "support"
+  ],
+  "css/CSS2/positioning/position-fixed-007.xht": [
+   "b9164b24a96807ac2d7f0658877f30d97d2b0eac",
+   "reftest"
+  ],
+  "css/CSS2/positioning/position-relative-001-ref.xht": [
+   "d2806dcbf9cbe87b1bfee147ae55cda2ea4ed01f",
+   "support"
+  ],
+  "css/CSS2/positioning/position-relative-001.xht": [
+   "6d25a66ef2b91495abe5c65f82a4c497fd5833f5",
+   "reftest"
+  ],
+  "css/CSS2/positioning/position-relative-002.xht": [
+   "bcf12e78366aa1e03c8d55f5c5fe7997849ef610",
+   "visual"
+  ],
+  "css/CSS2/positioning/position-relative-003-ref.xht": [
+   "c91555ae945130de9344904dfd9eaf9dc25b9c3b",
+   "support"
+  ],
+  "css/CSS2/positioning/position-relative-003.xht": [
+   "b7eb98948a272060069f33bc94579d85dd14fdd3",
+   "reftest"
+  ],
+  "css/CSS2/positioning/position-relative-004-ref.xht": [
+   "1df67a31025d733d38fb505e62659df9bd733178",
+   "support"
+  ],
+  "css/CSS2/positioning/position-relative-004.xht": [
+   "ab4e8242cbef90917a0f3cba15cddb4defbdd88f",
+   "reftest"
+  ],
+  "css/CSS2/positioning/position-relative-005-ref.xht": [
+   "83ed07695e3f31a85627d407b4d8514243403daf",
+   "support"
+  ],
+  "css/CSS2/positioning/position-relative-005.xht": [
+   "b6fff4a08e8bbb577bd182c355b6264ad6586f01",
+   "reftest"
+  ],
+  "css/CSS2/positioning/position-relative-006.xht": [
+   "b25ec5779084a1003c646a0a03bd4b09eaf9aafd",
+   "reftest"
+  ],
+  "css/CSS2/positioning/position-relative-007.xht": [
+   "722e6217a02a4044d9cefef19d81f60cd00022a1",
+   "reftest"
+  ],
+  "css/CSS2/positioning/position-relative-008.xht": [
+   "fc52f63af6b0ce93153f4fe0054bd5fc11d8e153",
+   "visual"
+  ],
+  "css/CSS2/positioning/position-relative-009.xht": [
+   "ecf84e7ecc21ee52dffc380ff1c3cb6a9a9368d8",
+   "reftest"
+  ],
+  "css/CSS2/positioning/position-relative-010.xht": [
+   "1c315962ee35d66742128af5c54c4c2f38d2610b",
+   "reftest"
+  ],
+  "css/CSS2/positioning/position-relative-013.xht": [
+   "b333150d2c3ed541a6b5b4be8c5faa0a526f910c",
+   "reftest"
+  ],
+  "css/CSS2/positioning/position-relative-014-ref.xht": [
+   "f5ed95dddd767c32063d9774a72263283c2dae02",
+   "support"
+  ],
+  "css/CSS2/positioning/position-relative-014.xht": [
+   "cbe274506a6d668b0339ed5db706b8eed2b83bc7",
+   "reftest"
+  ],
+  "css/CSS2/positioning/position-relative-015.xht": [
+   "21f32509453a516fedaaa96b81922e3ae38b3005",
+   "reftest"
+  ],
+  "css/CSS2/positioning/position-relative-016-ref.xht": [
+   "61c618e86ef54c50c10309ce7d4bda55cacdd17c",
+   "support"
+  ],
+  "css/CSS2/positioning/position-relative-016.xht": [
+   "2afe0a115e1c83fd6fd7a5b05fd48b550d6f89e0",
+   "reftest"
+  ],
+  "css/CSS2/positioning/position-relative-017.xht": [
+   "01928ddc26fb8803431b6d587dbc53c56645ce39",
+   "reftest"
+  ],
+  "css/CSS2/positioning/position-relative-018-ref.xht": [
+   "835f83cf0bf0f8337c05fd5e41dd07642c6916ea",
+   "support"
+  ],
+  "css/CSS2/positioning/position-relative-018.xht": [
+   "5a172a07c4d7405a61fe39f976a38fcb183e9423",
+   "reftest"
+  ],
+  "css/CSS2/positioning/position-relative-019.xht": [
+   "31f1000bddc3ccbbc126b455c209eec674896c35",
+   "reftest"
+  ],
+  "css/CSS2/positioning/position-relative-020.xht": [
+   "c0613a67f8da782ff0bd460e0595779358d728a5",
+   "manual"
+  ],
+  "css/CSS2/positioning/position-relative-021.xht": [
+   "a0cd4d30063f2cb6ac703156259e4e6301b37cbc",
+   "manual"
+  ],
+  "css/CSS2/positioning/position-relative-022.xht": [
+   "a839fa0173aeae54223b8ffa1fcb0c2720c2345c",
+   "manual"
+  ],
+  "css/CSS2/positioning/position-relative-027-ref.xht": [
+   "5811eea02f162975a5b7e232be8ccd5326b9ceca",
+   "support"
+  ],
+  "css/CSS2/positioning/position-relative-027.xht": [
+   "0d7e9b8d7e47fed3549a75ba01f2c213a4c7d3b7",
+   "reftest"
+  ],
+  "css/CSS2/positioning/position-relative-028-ref.xht": [
+   "d36a68d78c183f1aa9586570381eccd8d9ecd363",
+   "support"
+  ],
+  "css/CSS2/positioning/position-relative-028.xht": [
+   "f18a7853fa27400dbc3acc7a6e94a507b52ccd9d",
+   "reftest"
+  ],
+  "css/CSS2/positioning/position-relative-029.xht": [
+   "8c6f0d088aab3de6b3c119937fa623bd703ebab0",
+   "reftest"
+  ],
+  "css/CSS2/positioning/position-relative-030-ref.xht": [
+   "6da8d326953f8cf28ab315db56a8de4634035506",
+   "support"
+  ],
+  "css/CSS2/positioning/position-relative-030.xht": [
+   "41e78df4ab344d184f03cd38723fa207169b6941",
+   "reftest"
+  ],
+  "css/CSS2/positioning/position-relative-031-ref.xht": [
+   "d8ab20871c04f15927a2421400fc0bd94751d801",
+   "support"
+  ],
+  "css/CSS2/positioning/position-relative-031.xht": [
+   "3e7ea161ba0c2ca703de599084a12f67841ce8cc",
+   "reftest"
+  ],
+  "css/CSS2/positioning/position-relative-032-ref.xht": [
+   "8a894d8e2fe2b660b91f6e865dc8dc1d9a753d76",
+   "support"
+  ],
+  "css/CSS2/positioning/position-relative-032.xht": [
+   "140f34dda458aa3f3bc17fbe41463b5f161cdbaf",
+   "reftest"
+  ],
+  "css/CSS2/positioning/position-relative-033-ref.xht": [
+   "991f2b892246ec07fda81a08a0caff0cf05ab4c3",
+   "support"
+  ],
+  "css/CSS2/positioning/position-relative-033.xht": [
+   "9dd03c08ee48a2f7c6ef8a3b93d7c9b3bcf3cb2d",
+   "reftest"
+  ],
+  "css/CSS2/positioning/position-relative-034.xht": [
+   "6418d5b746512edfc985db91cab4ea7248d36feb",
+   "manual"
+  ],
+  "css/CSS2/positioning/position-relative-035-ref.xht": [
+   "9b498b666f188f5336f548c4a854382d9fe98d76",
+   "support"
+  ],
+  "css/CSS2/positioning/position-relative-035.xht": [
+   "4fd261bbe900307afcfb9e6644f67305a89754cb",
+   "reftest"
+  ],
+  "css/CSS2/positioning/position-relative-036.xht": [
+   "a31a05ecf1baa52042aac4cac2bdceb87ccb66f3",
+   "manual"
+  ],
+  "css/CSS2/positioning/position-relative-037-ref.xht": [
+   "2309c6edbb197f97163ec89d7881fde2bfe42235",
+   "support"
+  ],
+  "css/CSS2/positioning/position-relative-037.xht": [
+   "9a8f28080799f83325589845abe977010ec493bc",
+   "reftest"
+  ],
+  "css/CSS2/positioning/position-relative-038-ref.xht": [
+   "fd66e1f9fbd3f69b83bf8c527cef994a61605432",
+   "support"
+  ],
+  "css/CSS2/positioning/position-relative-038.xht": [
+   "b2ee62bfad3597537bf980c5a9aeae656a204eaa",
+   "reftest"
+  ],
+  "css/CSS2/positioning/position-relative-nested-001-ref.xht": [
+   "f77d0756e66c1e0874195247b8dba1b7c392d47c",
+   "support"
+  ],
+  "css/CSS2/positioning/position-relative-nested-001.xht": [
+   "09568e6adbdf1dd27622658e1fef970e43b9c9d9",
+   "reftest"
+  ],
+  "css/CSS2/positioning/position-static-001-ref.xht": [
+   "56011fd24ab00aef3025b07cccfee49971695be5",
+   "support"
+  ],
+  "css/CSS2/positioning/position-static-001.xht": [
+   "3ee674d158e165662106311d7f2d55e8fdabe7e5",
+   "reftest"
+  ],
+  "css/CSS2/positioning/positioning-float-001-ref.xht": [
+   "6c2415a373b5eda24ddb8718d4d2483a2a2902a3",
+   "support"
+  ],
+  "css/CSS2/positioning/positioning-float-001.xht": [
+   "f09c12ed86ca1c628f5cd14af54e5815eef5b3b0",
+   "reftest"
+  ],
+  "css/CSS2/positioning/positioning-float-002-ref.xht": [
+   "bd6fcf0bc32e18305a817e39ac350fec4a00e815",
+   "support"
+  ],
+  "css/CSS2/positioning/positioning-float-002.xht": [
+   "fc2d5ac0a15935e75b2e7c3a4d8fc73403b6eed3",
+   "reftest"
+  ],
+  "css/CSS2/positioning/relpos-calcs-001-ref.xht": [
+   "3132cdbc335c90e0f492871bebc8eea52e3979f8",
+   "support"
+  ],
+  "css/CSS2/positioning/relpos-calcs-001.xht": [
+   "ddfe2c8396149859c66a5be7c5e94be98a8352fd",
+   "reftest"
+  ],
+  "css/CSS2/positioning/relpos-calcs-002.xht": [
+   "5b4daa3199e0f690ef42151022ca8aba091e91f4",
+   "reftest"
+  ],
+  "css/CSS2/positioning/relpos-calcs-003.xht": [
+   "6a8f543a4b055bcf15d42ae7682376e4ba70abc6",
+   "reftest"
+  ],
+  "css/CSS2/positioning/relpos-calcs-004.xht": [
+   "3076268c88eaba59f27d6c36ba29bb83561d2ee7",
+   "reftest"
+  ],
+  "css/CSS2/positioning/relpos-calcs-005.xht": [
+   "29451d33a894a908676585db0b403088d7e523e9",
+   "reftest"
+  ],
+  "css/CSS2/positioning/relpos-calcs-006.xht": [
+   "144a2eeb924a0fd956b1238bc118a5062700cccf",
+   "reftest"
+  ],
+  "css/CSS2/positioning/relpos-calcs-007.xht": [
+   "0a8b49357d6719b6d474e053d4ecb96fe77f56a8",
+   "reftest"
+  ],
+  "css/CSS2/positioning/right-004-ref.xht": [
+   "878bdb126fb84cc669b66436965399e064722fea",
+   "support"
+  ],
+  "css/CSS2/positioning/right-004.xht": [
+   "2403896a8079c13adc1df9be28d0c5a658752236",
+   "reftest"
+  ],
+  "css/CSS2/positioning/right-005.xht": [
+   "df666ac6fc836e5e429f9551ba24eac4a2c4cecb",
+   "reftest"
+  ],
+  "css/CSS2/positioning/right-006.xht": [
+   "c2ca8015a0a2afa96c0fb81eeaf3909c394f0db9",
+   "reftest"
+  ],
+  "css/CSS2/positioning/right-007-ref.xht": [
+   "09d8547ad61ac3e44834c86dd109b0eb7f2a650f",
+   "support"
+  ],
+  "css/CSS2/positioning/right-007.xht": [
+   "2d5ed0b03facba34669cdbea1b99d5febc451f53",
+   "reftest"
+  ],
+  "css/CSS2/positioning/right-008.xht": [
+   "cf3511cbb7d69ec4cd27978af4bb76d8380da3b6",
+   "reftest"
+  ],
+  "css/CSS2/positioning/right-016.xht": [
+   "063d11b9089b46588340e0e5816611087e87a491",
+   "reftest"
+  ],
+  "css/CSS2/positioning/right-017.xht": [
+   "91f545c1906f7199bc95d7ab7e12938a94c9ce09",
+   "reftest"
+  ],
+  "css/CSS2/positioning/right-018.xht": [
+   "228dc3be77b7d1631aed6195513574e5d2ec6720",
+   "reftest"
+  ],
+  "css/CSS2/positioning/right-019-ref.xht": [
+   "28dfdbe6f5b56c4ed469f1c4c843c60ee118742a",
+   "support"
+  ],
+  "css/CSS2/positioning/right-019.xht": [
+   "3d37b9fdc3d3248882a4568ccc83b7352a2c2baa",
+   "reftest"
+  ],
+  "css/CSS2/positioning/right-020.xht": [
+   "0c57f0dad0d826833a3702d6e31b6223fb859afc",
+   "reftest"
+  ],
+  "css/CSS2/positioning/right-028.xht": [
+   "91eac5d44ba292bb375f0e06db089b1051058b87",
+   "reftest"
+  ],
+  "css/CSS2/positioning/right-029.xht": [
+   "abd4b77dd525b8db086c35888378b52d5d1f91f0",
+   "reftest"
+  ],
+  "css/CSS2/positioning/right-030.xht": [
+   "c660cfade0b57477faec85db7095e967f2ff80a1",
+   "reftest"
+  ],
+  "css/CSS2/positioning/right-031-ref.xht": [
+   "77a7333e36b710cf93cf1be7a0ad4bcf2cf9506e",
+   "support"
+  ],
+  "css/CSS2/positioning/right-031.xht": [
+   "60db0c5ca4d10841c6e130688828f280a22a14bf",
+   "reftest"
+  ],
+  "css/CSS2/positioning/right-032.xht": [
+   "280f120a9921a89119291a772dedbd193a245f39",
+   "reftest"
+  ],
+  "css/CSS2/positioning/right-040.xht": [
+   "085ffa040d01385be7bfcb4f102e84ea4b7ef5c2",
+   "reftest"
+  ],
+  "css/CSS2/positioning/right-041.xht": [
+   "cfbd81396f84104f77860184c6ee25d82db0375d",
+   "reftest"
+  ],
+  "css/CSS2/positioning/right-042.xht": [
+   "6a21fa287a8dac89ef5d7cd6b7db1f4403b20964",
+   "reftest"
+  ],
+  "css/CSS2/positioning/right-043.xht": [
+   "a13d8b1dbb31f40553dd323d71d0719f9d668e80",
+   "reftest"
+  ],
+  "css/CSS2/positioning/right-044.xht": [
+   "30002702e154ee221cfca8b97b80430b9bfe1b41",
+   "reftest"
+  ],
+  "css/CSS2/positioning/right-052.xht": [
+   "7940f70fe3a1850451b13971c68a7df5a7279ca7",
+   "reftest"
+  ],
+  "css/CSS2/positioning/right-053.xht": [
+   "c75d9597b1dd870e5d0e5e1bfdf0cfccd8dfa8df",
+   "reftest"
+  ],
+  "css/CSS2/positioning/right-054.xht": [
+   "92c180868a0eeeac1ff69ff943dbfe34515d5b67",
+   "reftest"
+  ],
+  "css/CSS2/positioning/right-055.xht": [
+   "8c834f05336beca8fad3cab1ce229186e3deaaed",
+   "reftest"
+  ],
+  "css/CSS2/positioning/right-056.xht": [
+   "69f72d4d680df3c2b6f49cb479679f89c29418fb",
+   "reftest"
+  ],
+  "css/CSS2/positioning/right-064.xht": [
+   "e8e8cd55a4f6f28ca5d96c4c04e8e9c9ce133843",
+   "reftest"
+  ],
+  "css/CSS2/positioning/right-065.xht": [
+   "74e456e5bcadbf496c1c5b1b11107f55b756092b",
+   "reftest"
+  ],
+  "css/CSS2/positioning/right-066.xht": [
+   "7c3ac77db067dd0d21f87a6ad504586566f0e513",
+   "reftest"
+  ],
+  "css/CSS2/positioning/right-067.xht": [
+   "e172175552bd0a86709f5b6e1005b6c6369711a6",
+   "reftest"
+  ],
+  "css/CSS2/positioning/right-068.xht": [
+   "87d6efcf56a93862bb6c9193abea9569d66744d0",
+   "reftest"
+  ],
+  "css/CSS2/positioning/right-076.xht": [
+   "c521e0b6516102581a2d0ad135feb7cd864afd69",
+   "reftest"
+  ],
+  "css/CSS2/positioning/right-077.xht": [
+   "163bd377ab8e295b639123294c017bb5b372ae88",
+   "reftest"
+  ],
+  "css/CSS2/positioning/right-078.xht": [
+   "42794ae2995a27d37e17e73e6f37cb53cbf0f95a",
+   "reftest"
+  ],
+  "css/CSS2/positioning/right-079-ref.xht": [
+   "929b35703246d0b37f2d5c9afa2c504785c413fc",
+   "support"
+  ],
+  "css/CSS2/positioning/right-079.xht": [
+   "8773960e68b644f7f40a2b13f99828eb78a57450",
+   "reftest"
+  ],
+  "css/CSS2/positioning/right-080.xht": [
+   "43c6a8e0e3e737444a7111f03d0071b415393a52",
+   "reftest"
+  ],
+  "css/CSS2/positioning/right-088.xht": [
+   "5e7ebc9696c0688ff2ecc742e898d81675f83376",
+   "reftest"
+  ],
+  "css/CSS2/positioning/right-089.xht": [
+   "cfb48fd6a8d54d82bb53bd066fa71905c5dbb807",
+   "reftest"
+  ],
+  "css/CSS2/positioning/right-090.xht": [
+   "66c1b076cd8edaf1a4e443a09afa5e894d5b8a11",
+   "reftest"
+  ],
+  "css/CSS2/positioning/right-091.xht": [
+   "34506bd2362c64c11cdda5ff9d7222376fb5149e",
+   "reftest"
+  ],
+  "css/CSS2/positioning/right-092.xht": [
+   "6ac37ca8e4537b0801423916a56f2e52a42e8a1f",
+   "reftest"
+  ],
+  "css/CSS2/positioning/right-100-ref.xht": [
+   "39637a1678421e1b795dbfde27a1c170d55c5069",
+   "support"
+  ],
+  "css/CSS2/positioning/right-100.xht": [
+   "28d9d20d9b138fdda50027352ed7aa32c18acee1",
+   "reftest"
+  ],
+  "css/CSS2/positioning/right-101.xht": [
+   "bce4dbb4ee1064c0049b7dbf4d10273d0664545f",
+   "reftest"
+  ],
+  "css/CSS2/positioning/right-102.xht": [
+   "6b4e5958527a3a178e282fdff233c9c38ede54f4",
+   "reftest"
+  ],
+  "css/CSS2/positioning/right-103-ref.xht": [
+   "780ed33618cbc06af93abf717b9108b808ac6043",
+   "support"
+  ],
+  "css/CSS2/positioning/right-103.xht": [
+   "d46d49a13f048df883b2a37b5708f4e92793504d",
+   "reftest"
+  ],
+  "css/CSS2/positioning/right-104.xht": [
+   "27dab2d7e9902a0e16c1162b3fccbb24a9705e5e",
+   "reftest"
+  ],
+  "css/CSS2/positioning/right-109.xht": [
+   "31489261a035aba0f5cba810498270e53501bca9",
+   "reftest"
+  ],
+  "css/CSS2/positioning/right-110.xht": [
+   "6a913826763af70739f82863fadd0fee955e2ce1",
+   "reftest"
+  ],
+  "css/CSS2/positioning/right-111.xht": [
+   "458fa5272e3360dad5ea182d5d1c3126780679f3",
+   "reftest"
+  ],
+  "css/CSS2/positioning/right-112.xht": [
+   "333b8c117b6c8ac2e4c39fa206635ecac305cc8f",
+   "reftest"
+  ],
+  "css/CSS2/positioning/right-113.xht": [
+   "0d0c181e140abe5ea318867d4b797fc1dab8a6e5",
+   "reftest"
+  ],
+  "css/CSS2/positioning/right-applies-to-001-ref.xht": [
+   "055ee523f79b2e075c853777aaf5538d18aff70d",
+   "support"
+  ],
+  "css/CSS2/positioning/right-applies-to-001.xht": [
+   "2aa5c6e1d3e473e69735a67a35a41faad4934872",
+   "reftest"
+  ],
+  "css/CSS2/positioning/right-applies-to-002.xht": [
+   "d7cdeec9d997cd82679a1e634f647a2fc393a1de",
+   "reftest"
+  ],
+  "css/CSS2/positioning/right-applies-to-003.xht": [
+   "68f4d3be987810ceacf1a8479c98fa0e7389d31c",
+   "reftest"
+  ],
+  "css/CSS2/positioning/right-applies-to-004.xht": [
+   "b62a2b105863076e748e722099858ed581c506f5",
+   "reftest"
+  ],
+  "css/CSS2/positioning/right-applies-to-005.xht": [
+   "e6f00113504866c2e6bcb8dc6dd930c5cb80c8e8",
+   "reftest"
+  ],
+  "css/CSS2/positioning/right-applies-to-006.xht": [
+   "210c597430b2430eca93052fa406c1b267e39bf6",
+   "reftest"
+  ],
+  "css/CSS2/positioning/right-applies-to-007.xht": [
+   "1e5e39f26d88bd5f2f790beac98bfa55e01ad937",
+   "reftest"
+  ],
+  "css/CSS2/positioning/right-applies-to-008.xht": [
+   "2de9c9299fcb9e44abc4acfbfe40ab2495168e8a",
+   "visual"
+  ],
+  "css/CSS2/positioning/right-applies-to-009.xht": [
+   "94dbb548aabb084f9ed758a3ded3ac135873e02b",
+   "reftest"
+  ],
+  "css/CSS2/positioning/right-applies-to-010.xht": [
+   "35d0bf65ff5901af8f96887eabeb3abf4063e3c8",
+   "visual"
+  ],
+  "css/CSS2/positioning/right-applies-to-012.xht": [
+   "12fee90072e85d71cdac4ae01e6067f4f0e712f6",
+   "reftest"
+  ],
+  "css/CSS2/positioning/right-applies-to-013.xht": [
+   "5d4f5238d34c3b8f478f6d1aec9705a36022f12a",
+   "reftest"
+  ],
+  "css/CSS2/positioning/right-applies-to-014.xht": [
+   "e542cd0f0e5fa462d284c482cc69558741f223e7",
+   "reftest"
+  ],
+  "css/CSS2/positioning/right-applies-to-015.xht": [
+   "5e7d05bb46a5e73cd427bb9a0cc4b93c39be626d",
+   "reftest"
+  ],
+  "css/CSS2/positioning/right-offset-001-ref.xht": [
+   "efda7559d3a944487b23b977d4e4a16045ea58ef",
+   "support"
+  ],
+  "css/CSS2/positioning/right-offset-001.xht": [
+   "d0e7d9e02b523435b3a46dd8fe92de682ffe18fc",
+   "reftest"
+  ],
+  "css/CSS2/positioning/right-offset-002.xht": [
+   "abeb73bceb76f7fb93f1182453d2a539310a63b6",
+   "reftest"
+  ],
+  "css/CSS2/positioning/right-offset-003.xht": [
+   "48884d5e0a6b35711e7208fc037b42b562715962",
+   "reftest"
+  ],
+  "css/CSS2/positioning/right-offset-004.xht": [
+   "b15c0f54cbdf86ad60158db9d015556b7e51bf99",
+   "reftest"
+  ],
+  "css/CSS2/positioning/right-offset-percentage-001-ref.xht": [
+   "b42c00019cb349a9f67eb3f4a9ca1d6a8486fc63",
+   "support"
+  ],
+  "css/CSS2/positioning/right-offset-percentage-001.xht": [
+   "8e119030e3cffce36c4e25756e9acf350802889f",
+   "reftest"
+  ],
+  "css/CSS2/positioning/support/100x100-lime.png": [
+   "b02fc2d0ad1d95a2aeb6011022e63928841b183f",
+   "support"
+  ],
+  "css/CSS2/positioning/support/100x100-red.png": [
+   "6fdfe9cdb3f6aca4564a08e443784e3abd952b52",
+   "support"
+  ],
+  "css/CSS2/positioning/support/1x1-green.png": [
+   "51e7b6974a09eda6cb31337717c5eaeb9c44b443",
+   "support"
+  ],
+  "css/CSS2/positioning/support/1x1-lime.png": [
+   "b040eb633a35c0648ad72a2902361faf25bc419d",
+   "support"
+  ],
+  "css/CSS2/positioning/support/1x1-maroon.png": [
+   "f78757e5ebe897bd618d100718385c84e00f2369",
+   "support"
+  ],
+  "css/CSS2/positioning/support/1x1-navy.png": [
+   "a3fd80b2c79866fd343e18eef5a51ed6e835e53e",
+   "support"
+  ],
+  "css/CSS2/positioning/support/1x1-red.png": [
+   "b8da86921d04ba42f42b0a60b03c5c2172f58c2b",
+   "support"
+  ],
+  "css/CSS2/positioning/support/1x1-white.png": [
+   "71b246439f915ad21c7d39414d9f85c8ed73b4ca",
+   "support"
+  ],
+  "css/CSS2/positioning/support/60x60-gg-rr.png": [
+   "e4843d42a26189132e1bdd53e8618521330baeca",
+   "support"
+  ],
+  "css/CSS2/positioning/support/60x60-green.png": [
+   "2f8eb2409b0a18e0bff90725ec7eedc16e7be448",
+   "support"
+  ],
+  "css/CSS2/positioning/support/60x60-red.png": [
+   "415b835abaaab822aab11880354296e7356bbb0a",
+   "support"
+  ],
+  "css/CSS2/positioning/support/a-green.css": [
+   "a9716c222274ba868bfd06c05e28cb7762d93245",
+   "support"
+  ],
+  "css/CSS2/positioning/support/b-green.css": [
+   "eb78a4d12f35b4249051826ea000c53d04df80b7",
+   "support"
+  ],
+  "css/CSS2/positioning/support/black15x15.png": [
+   "9252cae16138e45c07796fa5a10b6100ae703eaa",
+   "support"
+  ],
+  "css/CSS2/positioning/support/blue15x15.png": [
+   "eb48032c07bfeb1d3b6be6e5c9c34d2fe2180767",
+   "support"
+  ],
+  "css/CSS2/positioning/support/blue96x96.png": [
+   "99949c515749e66f471c3589ee7a0ef518aaccb5",
+   "support"
+  ],
+  "css/CSS2/positioning/support/c-red.css": [
+   "dc288b7aa49b57e0abf803741e78582ba5ceffdb",
+   "support"
+  ],
+  "css/CSS2/positioning/support/cat.png": [
+   "461fd17b274662b88500cdf42bab7f3b79e6019d",
+   "support"
+  ],
+  "css/CSS2/positioning/support/diamond.png": [
+   "4a136dfe39879f33f627a6de92f1e43fe8af7b94",
+   "support"
+  ],
+  "css/CSS2/positioning/support/green-rectangle-50wideBy10tall.png": [
+   "4793a81fb04b63524970d8906c4ca0fc4e8571db",
+   "support"
+  ],
+  "css/CSS2/positioning/support/green15x15.png": [
+   "de1830c21195763f7327f270b14b6d50dfdfb21d",
+   "support"
+  ],
+  "css/CSS2/positioning/support/green_box.png": [
+   "e4686e26d7668b1a087810cc823252e32fde749e",
+   "support"
+  ],
+  "css/CSS2/positioning/support/pattern-grg-rrg-rgg.png": [
+   "27080d4df556f59d4b501e03f2847bd9da5756a9",
+   "support"
+  ],
+  "css/CSS2/positioning/support/pattern-tr.png": [
+   "c1e687deee7b79ae091f2b42c4f6cff430076444",
+   "support"
+  ],
+  "css/CSS2/positioning/support/red_box.png": [
+   "6fdfe9cdb3f6aca4564a08e443784e3abd952b52",
+   "support"
+  ],
+  "css/CSS2/positioning/support/ring.png": [
+   "11dd9e78a68b2fc5eb69c401920b43070751a569",
+   "support"
+  ],
+  "css/CSS2/positioning/support/square-purple.png": [
+   "ef0619128f22e05920930420b7d96f91f860d904",
+   "support"
+  ],
+  "css/CSS2/positioning/support/square-teal.png": [
+   "92efae44b710cf1ddd9ba96e593dae03fb2519c4",
+   "support"
+  ],
+  "css/CSS2/positioning/support/square-white.png": [
+   "2f93fcc1462ba32b9b7899e5e78c869e529e68ee",
+   "support"
+  ],
+  "css/CSS2/positioning/support/swatch-blue.png": [
+   "e79958e10feeeed3db88dee9bae9ea80055593c5",
+   "support"
+  ],
+  "css/CSS2/positioning/support/swatch-green.png": [
+   "c51a03a807743f59e3027371ccfbd8e80235a485",
+   "support"
+  ],
+  "css/CSS2/positioning/support/swatch-lime.png": [
+   "ee2cc3dcd6d8dda7c0e4ef3bbc7e63c74118211d",
+   "support"
+  ],
+  "css/CSS2/positioning/support/swatch-orange.png": [
+   "10768a5177b772013e628c7397ae64725057295d",
+   "support"
+  ],
+  "css/CSS2/positioning/support/swatch-red.png": [
+   "eedea3e9a99c18f5fc2de3796be2c6f9da2ea07d",
+   "support"
+  ],
+  "css/CSS2/positioning/support/swatch-white.png": [
+   "5bccb1922de065e551d7d106e6493bb91040f3da",
+   "support"
+  ],
+  "css/CSS2/positioning/support/swatch-yellow.png": [
+   "9cc73897c2e1fc45f5224d81d02a6b87bf72b1fa",
+   "support"
+  ],
+  "css/CSS2/positioning/support/test-bl.png": [
+   "16e4eaa4864c10e72433e575f59c9b67763fe06a",
+   "support"
+  ],
+  "css/CSS2/positioning/support/test-br.png": [
+   "37f65e7a21d9b9b2daa508f193b8f665c58a1ce9",
+   "support"
+  ],
+  "css/CSS2/positioning/support/test-outer.png": [
+   "a0b8dfa40065b27f1d939ce0aab39ada3933c574",
+   "support"
+  ],
+  "css/CSS2/positioning/support/test-tl.png": [
+   "956e5156fd8c0e75b1c0f3b8b3b900b653663f74",
+   "support"
+  ],
+  "css/CSS2/positioning/support/test-tr.png": [
+   "078e1dd6dd61d36cec239ed75d02051f61fe60a5",
+   "support"
+  ],
+  "css/CSS2/positioning/top-004.xht": [
+   "fd501481fbea492b18386986a2f6220e452f14de",
+   "reftest"
+  ],
+  "css/CSS2/positioning/top-005.xht": [
+   "8704c2bc7a966d3f44ddfea4d6a50d5e2b165167",
+   "reftest"
+  ],
+  "css/CSS2/positioning/top-006.xht": [
+   "2b1e7341801708319ff726f6bb1677606200676b",
+   "reftest"
+  ],
+  "css/CSS2/positioning/top-007-ref.xht": [
+   "360798cbbf62cb5dcd1d9b7ce19f9a6c61131c90",
+   "support"
+  ],
+  "css/CSS2/positioning/top-007.xht": [
+   "021a814be19e7b39720c9373eb751b83d3538711",
+   "reftest"
+  ],
+  "css/CSS2/positioning/top-008.xht": [
+   "784a11ac6fa179d0eddb245dee348df46a4fe15a",
+   "reftest"
+  ],
+  "css/CSS2/positioning/top-016.xht": [
+   "05c0314d130f22aa85f5a942e59d324effb99e13",
+   "reftest"
+  ],
+  "css/CSS2/positioning/top-017.xht": [
+   "3ec7026d7b129f6c49375750980b58507d9995dc",
+   "reftest"
+  ],
+  "css/CSS2/positioning/top-018.xht": [
+   "310940e283da7a7faa1cccb039f0635465f6f249",
+   "reftest"
+  ],
+  "css/CSS2/positioning/top-019-ref.xht": [
+   "aec53abfbb4187be51fe3e0a5418b2ffb89b30ad",
+   "support"
+  ],
+  "css/CSS2/positioning/top-019.xht": [
+   "7b82827f5931d32b59a134013f731a3fe984405f",
+   "reftest"
+  ],
+  "css/CSS2/positioning/top-020.xht": [
+   "04519b70b2d45a70e6e446bcf43fdb9016dbc4ad",
+   "reftest"
+  ],
+  "css/CSS2/positioning/top-028.xht": [
+   "fcef16c70a482139dc797704ec0622413d7c47fe",
+   "reftest"
+  ],
+  "css/CSS2/positioning/top-029.xht": [
+   "dfff88266b88aa6124e6de16c0ff6546476f3786",
+   "reftest"
+  ],
+  "css/CSS2/positioning/top-030.xht": [
+   "b5e6e0cbe1ea7e5babda461467020bcd2eb02b97",
+   "reftest"
+  ],
+  "css/CSS2/positioning/top-031.xht": [
+   "48822e1651f5ac48801641891f5a29ce619855cf",
+   "reftest"
+  ],
+  "css/CSS2/positioning/top-032.xht": [
+   "2ea6845a14b23e884f65bd47d57e084d475371be",
+   "reftest"
+  ],
+  "css/CSS2/positioning/top-040.xht": [
+   "7135383082472a272d3d400546b195c6cc3a5e71",
+   "reftest"
+  ],
+  "css/CSS2/positioning/top-041.xht": [
+   "15a7edcd27b74b20567497cf4e38fae56480a9e2",
+   "reftest"
+  ],
+  "css/CSS2/positioning/top-042.xht": [
+   "9d9f417f871245aa182c75829f1cf8f3eb4b0583",
+   "reftest"
+  ],
+  "css/CSS2/positioning/top-043.xht": [
+   "07072e9b1c960d2921c7c44037102637de5cfb2f",
+   "reftest"
+  ],
+  "css/CSS2/positioning/top-044.xht": [
+   "691f7fe5315b2c86b0a80a85c91c9a9cd2fa62cc",
+   "reftest"
+  ],
+  "css/CSS2/positioning/top-052.xht": [
+   "3391d3ccf7c645eb0e774aa8ac11f9bc84aa4bef",
+   "reftest"
+  ],
+  "css/CSS2/positioning/top-053.xht": [
+   "fdeaae1915bcb18b69c1616bc91d7601557536e4",
+   "reftest"
+  ],
+  "css/CSS2/positioning/top-054.xht": [
+   "aa3f729a708ea327633d34a9cee67b53519d103c",
+   "reftest"
+  ],
+  "css/CSS2/positioning/top-055.xht": [
+   "b45ab996f60d15d90d980fcc665d1dac011eecbd",
+   "reftest"
+  ],
+  "css/CSS2/positioning/top-056.xht": [
+   "684f728c03853ffe468fd6a3adb5dc9393e4772a",
+   "reftest"
+  ],
+  "css/CSS2/positioning/top-064.xht": [
+   "6f464c066c9e0ae6b5dd4f302607b9022a82f6e9",
+   "reftest"
+  ],
+  "css/CSS2/positioning/top-065.xht": [
+   "89f13529fc628fd080b973c32c333d22bad007bd",
+   "reftest"
+  ],
+  "css/CSS2/positioning/top-066.xht": [
+   "36643b6f718b3204eae666c13fa40bbef9046862",
+   "reftest"
+  ],
+  "css/CSS2/positioning/top-067.xht": [
+   "4a1ee0c26e81948fe4ca96a58e71667857800373",
+   "reftest"
+  ],
+  "css/CSS2/positioning/top-068.xht": [
+   "a6e42b2885af22232d50076d707efe3261caa688",
+   "reftest"
+  ],
+  "css/CSS2/positioning/top-076.xht": [
+   "e5a0b8eb0af56c13430c8c1bae95e36301ba771e",
+   "reftest"
+  ],
+  "css/CSS2/positioning/top-077.xht": [
+   "5fa461b5975ad8b183290e36e500c55232ebaf89",
+   "reftest"
+  ],
+  "css/CSS2/positioning/top-078.xht": [
+   "17f5a4a66c6f0eeba379458dc4df486561897f04",
+   "reftest"
+  ],
+  "css/CSS2/positioning/top-079-ref.xht": [
+   "36c52fc6af89e5e92cd8eb56db3ed8bdebfd8497",
+   "support"
+  ],
+  "css/CSS2/positioning/top-079.xht": [
+   "026b95e52d6c47402e256a9ada98eadbed956525",
+   "reftest"
+  ],
+  "css/CSS2/positioning/top-080.xht": [
+   "717baa19a5a03086ba0f104179b42f8318bf8ecd",
+   "reftest"
+  ],
+  "css/CSS2/positioning/top-088.xht": [
+   "a8d3aaf277884966a6955edf5705f4634fac2077",
+   "reftest"
+  ],
+  "css/CSS2/positioning/top-089.xht": [
+   "d274c25518dfee0e68f0fcf5ab1acac76d0f217e",
+   "reftest"
+  ],
+  "css/CSS2/positioning/top-090.xht": [
+   "be57836b0391306ab6850230bfaf02b9593a3739",
+   "reftest"
+  ],
+  "css/CSS2/positioning/top-091.xht": [
+   "b81f15b550fa84260a24dca090e67e9d347f70d6",
+   "reftest"
+  ],
+  "css/CSS2/positioning/top-092.xht": [
+   "2d039fa86657e2e819467b5d49e0ac2c84dde3f1",
+   "reftest"
+  ],
+  "css/CSS2/positioning/top-100.xht": [
+   "488b75fd6135193cc08ebd2e2be06fb1850af867",
+   "reftest"
+  ],
+  "css/CSS2/positioning/top-101.xht": [
+   "852160564616f54986da1429864fe2843a7a5967",
+   "reftest"
+  ],
+  "css/CSS2/positioning/top-102.xht": [
+   "f300289cc4981568f16fc737f70436c08389560f",
+   "reftest"
+  ],
+  "css/CSS2/positioning/top-103.xht": [
+   "9f3e72f608863735d637e6e30384222762c5dd0d",
+   "reftest"
+  ],
+  "css/CSS2/positioning/top-104.xht": [
+   "263444e67ad8a184b216b5da8c9a4163b20c19df",
+   "reftest"
+  ],
+  "css/CSS2/positioning/top-109.xht": [
+   "0e8194f91109a321a9c8f6f6245e33bf41fe338f",
+   "reftest"
+  ],
+  "css/CSS2/positioning/top-110.xht": [
+   "9688af21820930ddfb04c93fa06a2dc7fcaf7f44",
+   "reftest"
+  ],
+  "css/CSS2/positioning/top-111.xht": [
+   "dce6e63f294a9890382a297a32a96c60677c54fc",
+   "reftest"
+  ],
+  "css/CSS2/positioning/top-112.xht": [
+   "28896156f439637f1b8596490ce6f4a770064a85",
+   "reftest"
+  ],
+  "css/CSS2/positioning/top-113-ref.xht": [
+   "2168b6571f2eca4bb63146bf1bc93352ff31ce77",
+   "support"
+  ],
+  "css/CSS2/positioning/top-113.xht": [
+   "ae2cd00d9a22922494f357de1261495d7b568249",
+   "reftest"
+  ],
+  "css/CSS2/positioning/top-applies-to-001-ref.xht": [
+   "5db236198fc2f01a92a9f6ae7e5a8b021a23b18d",
+   "support"
+  ],
+  "css/CSS2/positioning/top-applies-to-001.xht": [
+   "04b1e31645554e2a5fac707658028150ff40500f",
+   "reftest"
+  ],
+  "css/CSS2/positioning/top-applies-to-002.xht": [
+   "1f67255402c0cd734a9ac22b2aa7384a04f84b9d",
+   "reftest"
+  ],
+  "css/CSS2/positioning/top-applies-to-003.xht": [
+   "03878465ff0e3c920bec6dcf69def4bb6d6d5e3f",
+   "reftest"
+  ],
+  "css/CSS2/positioning/top-applies-to-004.xht": [
+   "e92958c36f532b6f167a2b659af3c2ce2d4b6f7a",
+   "reftest"
+  ],
+  "css/CSS2/positioning/top-applies-to-005.xht": [
+   "5ffd2d12e6bd6eb6893f5da53bb00f4a4816cb17",
+   "reftest"
+  ],
+  "css/CSS2/positioning/top-applies-to-006.xht": [
+   "709364a3d5c5efb1d97ab14e338303950de7ea72",
+   "reftest"
+  ],
+  "css/CSS2/positioning/top-applies-to-007.xht": [
+   "199cb996b243c9ccd98b00be3b37454fbeba55ca",
+   "reftest"
+  ],
+  "css/CSS2/positioning/top-applies-to-008.xht": [
+   "b1c3b8d24e95213933def55fa98743005188f5fe",
+   "visual"
+  ],
+  "css/CSS2/positioning/top-applies-to-009.xht": [
+   "9a2a2fd632096ffcd92022e803ee23d5e34cb116",
+   "reftest"
+  ],
+  "css/CSS2/positioning/top-applies-to-010.xht": [
+   "1def565aeff9ac5b32c992a1cbef42518750abed",
+   "visual"
+  ],
+  "css/CSS2/positioning/top-applies-to-012.xht": [
+   "a884c66e41c5130c35919818d0c3e4d221cf2e5d",
+   "reftest"
+  ],
+  "css/CSS2/positioning/top-applies-to-013.xht": [
+   "d22f5140d76d528b2133020ee1090c2334191deb",
+   "reftest"
+  ],
+  "css/CSS2/positioning/top-applies-to-014.xht": [
+   "79bf61d1a75f645407416bb94b73c9df52ca50c0",
+   "reftest"
+  ],
+  "css/CSS2/positioning/top-applies-to-015.xht": [
+   "95fda6417983e8aa82a474dd6fccb6c64ce4ea3d",
+   "reftest"
+  ],
+  "css/CSS2/positioning/top-offset-001.xht": [
+   "fefc4b9148f8b99c5fbb3743b3d26ae0cd2e5b08",
+   "reftest"
+  ],
+  "css/CSS2/positioning/top-offset-002.xht": [
+   "4d453ff3ea77506c6e670a9c2246a50e66d9f22e",
+   "reftest"
+  ],
+  "css/CSS2/positioning/top-offset-003-ref.xht": [
+   "5b3738e57f9125d3fce09287237917feb588d481",
+   "support"
+  ],
+  "css/CSS2/positioning/top-offset-003.xht": [
+   "4971a1198e7871c35d882b09933d8081889e828d",
+   "reftest"
+  ],
+  "css/CSS2/positioning/top-offset-percentage-001-ref.xht": [
+   "c9257cb78b7e88e8af47fddee635836ee81be635",
+   "support"
+  ],
+  "css/CSS2/positioning/top-offset-percentage-001.xht": [
+   "fd92e44fbaa01603ac361c39b5e9e3e5f4bc9e65",
+   "reftest"
+  ],
+  "css/CSS2/positioning/top-offset-percentage-002.xht": [
+   "4e18ff75863795095389735b96d557a8fbffde44",
+   "reftest"
+  ],
   "css/CSS2/reference/60x60-green.html": [
    "c9d25fc5f68ddf46dbdf1176e719b53a22f915f7",
    "support"
@@ -140022,10 +169259,6 @@
    "a940a84552ddcd716af743e0e8746c7582b5c760",
    "testharness"
   ],
-  "cssom/css-style-attribute-modifications-expected.txt": [
-   "eac29a7197d541b3aaa449c2cfa845065a55ce38",
-   "support"
-  ],
   "cssom/css-style-attribute-modifications.html": [
    "9199534f3b6cc473832562b1701ade3a05dde172",
    "testharness"
@@ -141359,7 +170592,7 @@
    "support"
   ],
   "dom/nodes/Document-createEvent-expected.txt": [
-   "22d957287ad20dda1d66952115fb03a4888a2b5e",
+   "9a75495dc86848b23a0d24777cdea77997c95947",
    "support"
   ],
   "dom/nodes/Document-createEvent.html": [
@@ -141879,15 +171112,15 @@
    "support"
   ],
   "dom/nodes/ParentNode-querySelector-All-xht-expected.txt": [
-   "fd138bb82b31add986f3b01fd8171f2317dc0c21",
+   "94ab38fd1bb7c2c15998a9fef71b90ee8970164d",
    "support"
   ],
   "dom/nodes/ParentNode-querySelector-All-xht.xht": [
-   "ad28a6ca45cc102865b170dac5a9837a09ad5563",
+   "5469b8ad07ecbb07d5ca46d82c71aa4e470a5c2e",
    "testharness"
   ],
   "dom/nodes/ParentNode-querySelector-All.html": [
-   "c94c9d2b9d84260e9ef7ae36a77ffceaaf18fad1",
+   "83baf7fa751b086622742908845c7a4db2e65fcb",
    "testharness"
   ],
   "dom/nodes/ParentNode-querySelector-All.js": [
@@ -142683,17 +171916,13 @@
    "testharness"
   ],
   "editing/run/backcolor-expected.txt": [
-   "290a29950ec3506ba374ee5b4324d54a473c8b82",
+   "bb8888c8c50844dd4a54f5cd03ed519c5b2ed864",
    "support"
   ],
   "editing/run/backcolor.html": [
    "72840bfcf7e62249773e925f79ba196218964373",
    "testharness"
   ],
-  "editing/run/bold-expected.txt": [
-   "8523edde1c352ca2cf1df036e2497407aea465f9",
-   "support"
-  ],
   "editing/run/bold.html": [
    "afd5a6f83bea4869dd3e26c3155f42fa97825f31",
    "testharness"
@@ -142723,7 +171952,7 @@
    "testharness"
   ],
   "editing/run/fontsize-expected.txt": [
-   "3a1f269384cc7fedf672bbe6309c19e3ca775219",
+   "9448a3dcb19b8f6c9736822235eb5356fd93c6c4",
    "support"
   ],
   "editing/run/fontsize.html": [
@@ -142731,7 +171960,7 @@
    "testharness"
   ],
   "editing/run/forecolor-expected.txt": [
-   "feb85e1b410ac5cc789b57b498a7988c9f695190",
+   "d9e0dbb1ece5e99bf6daeae163d848dab4f422dd",
    "support"
   ],
   "editing/run/forecolor.html": [
@@ -142755,7 +171984,7 @@
    "testharness"
   ],
   "editing/run/hilitecolor-expected.txt": [
-   "8db6c739cc8f74a5c9ca2d922b8cf49e85670739",
+   "3d5c6f433c10b06fa53f996aa8634fe63ef7cda4",
    "support"
   ],
   "editing/run/hilitecolor.html": [
@@ -142838,18 +172067,10 @@
    "6a4b267457182ea6de8835db633c1420b84c1c05",
    "testharness"
   ],
-  "editing/run/justifycenter-expected.txt": [
-   "34386a044c514d33fca6f39fe7f8db0229febf22",
-   "support"
-  ],
   "editing/run/justifycenter.html": [
    "8cd4e2356ad9f624c3dd60fe3c11879144667ade",
    "testharness"
   ],
-  "editing/run/justifyfull-expected.txt": [
-   "1c0a838a1aeaa868666b46036786aa5c75cf0694",
-   "support"
-  ],
   "editing/run/justifyfull.html": [
    "86c11e290c9cd638d47772f5d768a85032959255",
    "testharness"
@@ -142862,10 +172083,6 @@
    "ae457fa7fd35d9f8a23c491e0c34035ecaecf910",
    "testharness"
   ],
-  "editing/run/justifyright-expected.txt": [
-   "23e3af866fcd43154f3c21ad6be2b6add58a560b",
-   "support"
-  ],
   "editing/run/justifyright.html": [
    "a2b6ddbde460033add9355db7667fa01808cf163",
    "testharness"
@@ -142895,7 +172112,7 @@
    "testharness"
   ],
   "editing/run/removeformat-expected.txt": [
-   "c0281af06ff6f77b3032fe82f091ae149a29f8d5",
+   "db6a9aef56a586417aeecef1f73e70278dda31f7",
    "support"
   ],
   "editing/run/removeformat.html": [
@@ -154054,6 +183271,30 @@
    "0dd816530943f3a6fa3235b1d481f70ca578b6e6",
    "reftest"
   ],
+  "html/rendering/non-replaced-elements/the-page/iframe-body-margin-attributes-expected.txt": [
+   "9766efdfb114461d84439266c13050c754f6f138",
+   "support"
+  ],
+  "html/rendering/non-replaced-elements/the-page/iframe-body-margin-attributes.html": [
+   "68e9c15f160415a652650331f403dd324cd402e9",
+   "testharness"
+  ],
+  "html/rendering/non-replaced-elements/the-page/iframe-marginwidth-marginheight-expected.txt": [
+   "c2273f5968d5e30c8846117dfb955dc31c2ac3ab",
+   "support"
+  ],
+  "html/rendering/non-replaced-elements/the-page/iframe-marginwidth-marginheight.html": [
+   "db8b96ffd3b16bc78d937b46860de8c22d857947",
+   "testharness"
+  ],
+  "html/rendering/non-replaced-elements/the-page/support/body-marginwidth-marginheight.html": [
+   "d75fd3830c23860db68fe23589f74a7bdc95be91",
+   "support"
+  ],
+  "html/rendering/non-replaced-elements/the-page/support/body-topmargin-leftmargin.html": [
+   "1c31ddd13c97504f59d1e403f6ab90252fa68e0c",
+   "support"
+  ],
   "html/rendering/non-replaced-elements/the-page/test-body.xhtml": [
    "7a229199399e678847280e6e88e40e5b37bfdd11",
    "support"
@@ -155886,8 +185127,12 @@
    "e4835db1c781cad4b259b782a57b452022a50d79",
    "testharness"
   ],
+  "html/semantics/forms/textfieldselection/selection-after-content-change-expected.txt": [
+   "158d99363f5aaf434fffe94941eb9f9436261265",
+   "support"
+  ],
   "html/semantics/forms/textfieldselection/selection-after-content-change.html": [
-   "c7f9433a664b59f59be933cdf607c158a599dff7",
+   "e256a498b2f958dcc6efde8393a79b61e793642a",
    "testharness"
   ],
   "html/semantics/forms/textfieldselection/selection-not-application-textarea.html": [
@@ -173298,6 +202543,10 @@
    "3817418bce8608ad6305acf0119fb0f2694e5531",
    "testharness"
   ],
+  "streams/readable-streams/floating-point-total-queue-size.sharedworker-expected.txt": [
+   "5761d049d4a9ea1eb9ea9dd523ea653c6f97497c",
+   "support"
+  ],
   "streams/readable-streams/floating-point-total-queue-size.sharedworker.html": [
    "00af09f46d126d6d2944d13831896e648094d1a8",
    "testharness"
@@ -173458,6 +202707,10 @@
    "b69530ebf51ccaf781ff78172be2f4607ee22c86",
    "testharness"
   ],
+  "streams/writable-streams/aborting.sharedworker-expected.txt": [
+   "78ce21b210a6a8f73647ea919060bbbee6e0b49e",
+   "support"
+  ],
   "streams/writable-streams/aborting.sharedworker.html": [
    "9e792fad19cd10a96440478cb7e0486f41b70bf4",
    "testharness"
@@ -173570,6 +202823,10 @@
    "5461a766e8047c6d50b7943d99f8ebb4c140a547",
    "testharness"
   ],
+  "streams/writable-streams/close.sharedworker-expected.txt": [
+   "e59e0f69187bec32019ecdcd9cf7a97ebc0cf18f",
+   "support"
+  ],
   "streams/writable-streams/close.sharedworker.html": [
    "b2aeb127d5ae7087b42e3fc08faaa113c84e6fd8",
    "testharness"
@@ -173602,6 +202859,10 @@
    "025f934a714ce8c52df953ba570a527cbcb88399",
    "testharness"
   ],
+  "streams/writable-streams/constructor.sharedworker-expected.txt": [
+   "742d264da53440cac0d79cadaea4e503f374cf48",
+   "support"
+  ],
   "streams/writable-streams/constructor.sharedworker.html": [
    "f6ce1491f86ee048da0f6135440b7aa5359caa22",
    "testharness"
@@ -173654,6 +202915,10 @@
    "d8a0b8b68a7a59c9bf186336a6e22f34912fb7e5",
    "testharness"
   ],
+  "streams/writable-streams/error.sharedworker-expected.txt": [
+   "bc51f025fe06daa1a605ad5443cb3c47b994f70e",
+   "support"
+  ],
   "streams/writable-streams/error.sharedworker.html": [
    "0eaf67b6f635e95fe96a95082d4015cc9f427eef",
    "testharness"
@@ -173726,6 +202991,10 @@
    "2ef8fc878249c429a89e0748e6a98fac47c1a99a",
    "testharness"
   ],
+  "streams/writable-streams/properties.sharedworker-expected.txt": [
+   "5eda14d2b172954c097a528aa24205edf481eaea",
+   "support"
+  ],
   "streams/writable-streams/properties.sharedworker.html": [
    "5c855e897d1143092ecc10b58268e6a576882184",
    "testharness"
diff --git a/third_party/WebKit/LayoutTests/external/wpt/cssom/css-style-attribute-modifications-expected.txt b/third_party/WebKit/LayoutTests/external/wpt/cssom/css-style-attribute-modifications-expected.txt
deleted file mode 100644
index 3a812409..0000000
--- a/third_party/WebKit/LayoutTests/external/wpt/cssom/css-style-attribute-modifications-expected.txt
+++ /dev/null
@@ -1,4 +0,0 @@
-This is a testharness.js-based test.
-FAIL Mutating the style declaration doesn't remove the style attribute assert_true: expected true got false
-Harness: the test ran to completion.
-
diff --git a/third_party/WebKit/LayoutTests/external/wpt/dom/nodes/Document-createEvent-expected.txt b/third_party/WebKit/LayoutTests/external/wpt/dom/nodes/Document-createEvent-expected.txt
index 727ee6ad..72e81162 100644
--- a/third_party/WebKit/LayoutTests/external/wpt/dom/nodes/Document-createEvent-expected.txt
+++ b/third_party/WebKit/LayoutTests/external/wpt/dom/nodes/Document-createEvent-expected.txt
@@ -1,5 +1,5 @@
 This is a testharness.js-based test.
-Found 331 tests; 306 PASS, 25 FAIL, 0 TIMEOUT, 0 NOTRUN.
+Found 331 tests; 307 PASS, 24 FAIL, 0 TIMEOUT, 0 NOTRUN.
 PASS AnimationEvent should be an alias for AnimationEvent. 
 PASS createEvent('AnimationEvent') should be initialized correctly. 
 PASS animationevent should be an alias for AnimationEvent. 
@@ -333,9 +333,7 @@
 PASS Should throw NOT_SUPPORTED_ERR for pluralized non-legacy event interface "TimeEvents" 
 PASS Should throw NOT_SUPPORTED_ERR for non-legacy event interface "WebKitAnimationEvent" 
 PASS Should throw NOT_SUPPORTED_ERR for pluralized non-legacy event interface "WebKitAnimationEvents" 
-FAIL Should throw NOT_SUPPORTED_ERR for non-legacy event interface "WebKitTransitionEvent" assert_throws: function "function () {
-        var evt = document.createEvent(eventInterface);
-      }" did not throw
+PASS Should throw NOT_SUPPORTED_ERR for non-legacy event interface "WebKitTransitionEvent" 
 PASS Should throw NOT_SUPPORTED_ERR for pluralized non-legacy event interface "WebKitTransitionEvents" 
 PASS Should throw NOT_SUPPORTED_ERR for non-legacy event interface "XULCommandEvent" 
 PASS Should throw NOT_SUPPORTED_ERR for pluralized non-legacy event interface "XULCommandEvents" 
diff --git a/third_party/WebKit/LayoutTests/external/wpt/dom/nodes/ParentNode-querySelector-All-xht-expected.txt b/third_party/WebKit/LayoutTests/external/wpt/dom/nodes/ParentNode-querySelector-All-xht-expected.txt
index 4e0486c..f3a9510 100644
--- a/third_party/WebKit/LayoutTests/external/wpt/dom/nodes/ParentNode-querySelector-All-xht-expected.txt
+++ b/third_party/WebKit/LayoutTests/external/wpt/dom/nodes/ParentNode-querySelector-All-xht-expected.txt
@@ -1,5 +1,5 @@
 This is a testharness.js-based test.
-Found 1863 tests; 1805 PASS, 58 FAIL, 0 TIMEOUT, 0 NOTRUN.
+Found 1863 tests; 1809 PASS, 54 FAIL, 0 TIMEOUT, 0 NOTRUN.
 PASS Selectors-API Test Suite: XHTML 
 PASS Document supports querySelector 
 PASS Document supports querySelectorAll 
@@ -497,8 +497,8 @@
 PASS Document.querySelector: :link and :visited pseudo-class selectors, matching a and area elements with href attributes: #pseudo-link :link, #pseudo-link :visited 
 FAIL Document.querySelectorAll: :link and :visited pseudo-class selectors, matching link elements with href attributes: #head :link, #head :visited assert_equals: The method should return the expected number of matches. expected 2 but got 0
 FAIL Document.querySelector: :link and :visited pseudo-class selectors, matching link elements with href attributes: #head :link, #head :visited assert_not_equals: The method should return a match. got disallowed value null
-FAIL Document.querySelectorAll: :target pseudo-class selector, matching the element referenced by the URL fragment identifier: :target assert_equals: The method should return the expected number of matches. expected 1 but got 0
-FAIL Document.querySelector: :target pseudo-class selector, matching the element referenced by the URL fragment identifier: :target assert_not_equals: The method should return a match. got disallowed value null
+PASS Document.querySelectorAll: :target pseudo-class selector, matching the element referenced by the URL fragment identifier: :target 
+PASS Document.querySelector: :target pseudo-class selector, matching the element referenced by the URL fragment identifier: :target 
 PASS Document.querySelectorAll: :lang pseudo-class selector, matching inherited language: #pseudo-lang-div1:lang(en) 
 PASS Document.querySelector: :lang pseudo-class selector, matching inherited language: #pseudo-lang-div1:lang(en) 
 PASS Document.querySelectorAll: :lang pseudo-class selector, matching specified language with exact value: #pseudo-lang-div2:lang(fr) 
@@ -1773,8 +1773,8 @@
 PASS In-document Element.querySelector: :link and :visited pseudo-class selectors, not matching link elements with href attributes: #head :link, #head :visited 
 PASS In-document Element.querySelectorAll: :link and :visited pseudo-class selectors, chained, mutually exclusive pseudo-classes match nothing: :link:visited 
 PASS In-document Element.querySelector: :link and :visited pseudo-class selectors, chained, mutually exclusive pseudo-classes match nothing: :link:visited 
-FAIL In-document Element.querySelectorAll: :target pseudo-class selector, matching the element referenced by the URL fragment identifier: :target assert_equals: The method should return the expected number of matches. expected 1 but got 0
-FAIL In-document Element.querySelector: :target pseudo-class selector, matching the element referenced by the URL fragment identifier: :target assert_not_equals: The method should return a match. got disallowed value null
+PASS In-document Element.querySelectorAll: :target pseudo-class selector, matching the element referenced by the URL fragment identifier: :target 
+PASS In-document Element.querySelector: :target pseudo-class selector, matching the element referenced by the URL fragment identifier: :target 
 PASS In-document Element.querySelectorAll: :lang pseudo-class selector, matching inherited language: #pseudo-lang-div1:lang(en) 
 PASS In-document Element.querySelector: :lang pseudo-class selector, matching inherited language: #pseudo-lang-div1:lang(en) 
 PASS In-document Element.querySelectorAll: :lang pseudo-class selector, matching specified language with exact value: #pseudo-lang-div2:lang(fr) 
diff --git a/third_party/WebKit/LayoutTests/external/wpt/dom/nodes/ParentNode-querySelector-All-xht.xht b/third_party/WebKit/LayoutTests/external/wpt/dom/nodes/ParentNode-querySelector-All-xht.xht
index 7a67320..3915aee 100644
--- a/third_party/WebKit/LayoutTests/external/wpt/dom/nodes/ParentNode-querySelector-All-xht.xht
+++ b/third_party/WebKit/LayoutTests/external/wpt/dom/nodes/ParentNode-querySelector-All-xht.xht
@@ -14,12 +14,18 @@
 <script><![CDATA[
 async_test(function() {
   var frame = document.createElement("iframe");
-  frame.onload = this.step_func_done(init);
+  var self = this;
+  frame.onload = function() {
+    // :target doesn't work before a page rendering on some browsers.  We run
+    // tests after an animation frame because it may be later than the first
+    // page rendering.
+    requestAnimationFrame(self.step_func_done(init.bind(self, frame)));
+  };
   frame.src = "ParentNode-querySelector-All-content.xht#target";
   document.body.appendChild(frame);
 })
 
-function init(e) {
+function init(target) {
   /*
    * This test suite tests Selectors API methods in 4 different contexts:
    * 1. Document node
@@ -58,7 +64,7 @@
   var docType  = "xhtml"; // Only run tests suitable for XHTML
 
   // Prepare the nodes for testing
-  var doc = e.target.contentDocument;                 // Document Node tests
+  var doc = target.contentDocument;                 // Document Node tests
 
   var element = doc.getElementById("root");   // In-document Element Node tests
 
diff --git a/third_party/WebKit/LayoutTests/external/wpt/dom/nodes/ParentNode-querySelector-All.html b/third_party/WebKit/LayoutTests/external/wpt/dom/nodes/ParentNode-querySelector-All.html
index 159b0b9..a1793df4 100644
--- a/third_party/WebKit/LayoutTests/external/wpt/dom/nodes/ParentNode-querySelector-All.html
+++ b/third_party/WebKit/LayoutTests/external/wpt/dom/nodes/ParentNode-querySelector-All.html
@@ -12,12 +12,18 @@
 <script>
 async_test(function() {
   var frame = document.createElement("iframe");
-  frame.onload = this.step_func_done(init);
+  var self = this;
+  frame.onload = function() {
+    // :target doesn't work before a page rendering on some browsers.  We run
+    // tests after an animation frame because it may be later than the first
+    // page rendering.
+    requestAnimationFrame(self.step_func_done(init.bind(self, frame)));
+  };
   frame.src = "ParentNode-querySelector-All-content.html#target";
   document.body.appendChild(frame);
 });
 
-function init(e) {
+function init(target) {
   /*
    * This test suite tests Selectors API methods in 4 different contexts:
    * 1. Document node
@@ -56,7 +62,7 @@
   var docType  = "html"; // Only run tests suitable for HTML
 
   // Prepare the nodes for testing
-  var doc = e.target.contentDocument;                 // Document Node tests
+  var doc = target.contentDocument;                 // Document Node tests
 
   var element = doc.getElementById("root");   // In-document Element Node tests
 
diff --git a/third_party/WebKit/LayoutTests/external/wpt/editing/run/backcolor-expected.txt b/third_party/WebKit/LayoutTests/external/wpt/editing/run/backcolor-expected.txt
index dc6ab3c..6a067d26 100644
--- a/third_party/WebKit/LayoutTests/external/wpt/editing/run/backcolor-expected.txt
+++ b/third_party/WebKit/LayoutTests/external/wpt/editing/run/backcolor-expected.txt
@@ -495,7 +495,7 @@
 FAIL [["stylewithcss","false"],["backcolor","#00FFFF"]] "{<table><tr><td>foo<td>bar<td>baz</table>}" queryCommandValue("backcolor") after assert_equals: Wrong result returned (after color normalization) expected "rgb(0, 255, 255)" but got "rgba(0, 0, 0, 0)"
 PASS [["backcolor","#00FFFF"]] "<p style=\"background-color: rgb(0, 255, 255)\">foo[bar]baz</p>": execCommand("backcolor", false, "#00FFFF") return value 
 PASS [["backcolor","#00FFFF"]] "<p style=\"background-color: rgb(0, 255, 255)\">foo[bar]baz</p>" checks for modifications to non-editable content 
-FAIL [["backcolor","#00FFFF"]] "<p style=\"background-color: rgb(0, 255, 255)\">foo[bar]baz</p>" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<p style=\"background-color:rgb(0, 255, 255)\">foobarbaz</p>" but got "<p><span style=\"background-color:rgb(0, 255, 255)\">foobarbaz</span></p>"
+FAIL [["backcolor","#00FFFF"]] "<p style=\"background-color: rgb(0, 255, 255)\">foo[bar]baz</p>" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<p style=\"background-color:rgb(0, 255, 255)\">foobarbaz</p>" but got "<p style=\"\"><span style=\"background-color:rgb(0, 255, 255)\">foobarbaz</span></p>"
 PASS [["backcolor","#00FFFF"]] "<p style=\"background-color: rgb(0, 255, 255)\">foo[bar]baz</p>" queryCommandIndeterm("backcolor") before 
 PASS [["backcolor","#00FFFF"]] "<p style=\"background-color: rgb(0, 255, 255)\">foo[bar]baz</p>" queryCommandState("backcolor") before 
 PASS [["backcolor","#00FFFF"]] "<p style=\"background-color: rgb(0, 255, 255)\">foo[bar]baz</p>" queryCommandValue("backcolor") before 
@@ -504,7 +504,7 @@
 PASS [["backcolor","#00FFFF"]] "<p style=\"background-color: rgb(0, 255, 255)\">foo[bar]baz</p>" queryCommandValue("backcolor") after 
 PASS [["backcolor","#00FFFF"]] "<p style=\"background-color: #00ffff\">foo[bar]baz</p>": execCommand("backcolor", false, "#00FFFF") return value 
 PASS [["backcolor","#00FFFF"]] "<p style=\"background-color: #00ffff\">foo[bar]baz</p>" checks for modifications to non-editable content 
-FAIL [["backcolor","#00FFFF"]] "<p style=\"background-color: #00ffff\">foo[bar]baz</p>" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<p style=\"background-color:rgb(0, 255, 255)\">foobarbaz</p>" but got "<p><span style=\"background-color:rgb(0, 255, 255)\">foobarbaz</span></p>"
+FAIL [["backcolor","#00FFFF"]] "<p style=\"background-color: #00ffff\">foo[bar]baz</p>" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<p style=\"background-color:rgb(0, 255, 255)\">foobarbaz</p>" but got "<p style=\"\"><span style=\"background-color:rgb(0, 255, 255)\">foobarbaz</span></p>"
 PASS [["backcolor","#00FFFF"]] "<p style=\"background-color: #00ffff\">foo[bar]baz</p>" queryCommandIndeterm("backcolor") before 
 PASS [["backcolor","#00FFFF"]] "<p style=\"background-color: #00ffff\">foo[bar]baz</p>" queryCommandState("backcolor") before 
 PASS [["backcolor","#00FFFF"]] "<p style=\"background-color: #00ffff\">foo[bar]baz</p>" queryCommandValue("backcolor") before 
@@ -513,7 +513,7 @@
 PASS [["backcolor","#00FFFF"]] "<p style=\"background-color: #00ffff\">foo[bar]baz</p>" queryCommandValue("backcolor") after 
 PASS [["backcolor","#00FFFF"]] "<p style=\"background-color: aqua\">foo[bar]baz</p>": execCommand("backcolor", false, "#00FFFF") return value 
 PASS [["backcolor","#00FFFF"]] "<p style=\"background-color: aqua\">foo[bar]baz</p>" checks for modifications to non-editable content 
-FAIL [["backcolor","#00FFFF"]] "<p style=\"background-color: aqua\">foo[bar]baz</p>" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<p style=\"background-color:rgb(0, 255, 255)\">foobarbaz</p>" but got "<p><span style=\"background-color:rgb(0, 255, 255)\">foo</span><span style=\"background-color:rgb(0, 255, 255)\">bar</span><span style=\"background-color:rgb(0, 255, 255)\">baz</span></p>"
+FAIL [["backcolor","#00FFFF"]] "<p style=\"background-color: aqua\">foo[bar]baz</p>" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<p style=\"background-color:rgb(0, 255, 255)\">foobarbaz</p>" but got "<p style=\"\"><span style=\"background-color:rgb(0, 255, 255)\">foo</span><span style=\"background-color:rgb(0, 255, 255)\">bar</span><span style=\"background-color:rgb(0, 255, 255)\">baz</span></p>"
 PASS [["backcolor","#00FFFF"]] "<p style=\"background-color: aqua\">foo[bar]baz</p>" queryCommandIndeterm("backcolor") before 
 PASS [["backcolor","#00FFFF"]] "<p style=\"background-color: aqua\">foo[bar]baz</p>" queryCommandState("backcolor") before 
 PASS [["backcolor","#00FFFF"]] "<p style=\"background-color: aqua\">foo[bar]baz</p>" queryCommandValue("backcolor") before 
@@ -523,7 +523,7 @@
 PASS [["stylewithcss","true"],["backcolor","#00FFFF"]] "{<p style=\"background-color: aqua\">foo</p><p>bar</p>}": execCommand("stylewithcss", false, "true") return value 
 PASS [["stylewithcss","true"],["backcolor","#00FFFF"]] "{<p style=\"background-color: aqua\">foo</p><p>bar</p>}": execCommand("backcolor", false, "#00FFFF") return value 
 PASS [["stylewithcss","true"],["backcolor","#00FFFF"]] "{<p style=\"background-color: aqua\">foo</p><p>bar</p>}" checks for modifications to non-editable content 
-FAIL [["stylewithcss","true"],["backcolor","#00FFFF"]] "{<p style=\"background-color: aqua\">foo</p><p>bar</p>}" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<p style=\"background-color:rgb(0, 255, 255)\">foo</p><p><span style=\"background-color:rgb(0, 255, 255)\">bar</span></p>" but got "<p><span style=\"background-color:rgb(0, 255, 255)\">foo</span></p><p><span style=\"background-color:rgb(0, 255, 255)\">bar</span></p>"
+FAIL [["stylewithcss","true"],["backcolor","#00FFFF"]] "{<p style=\"background-color: aqua\">foo</p><p>bar</p>}" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<p style=\"background-color:rgb(0, 255, 255)\">foo</p><p><span style=\"background-color:rgb(0, 255, 255)\">bar</span></p>" but got "<p style=\"\"><span style=\"background-color:rgb(0, 255, 255)\">foo</span></p><p><span style=\"background-color:rgb(0, 255, 255)\">bar</span></p>"
 PASS [["stylewithcss","true"],["backcolor","#00FFFF"]] "{<p style=\"background-color: aqua\">foo</p><p>bar</p>}" queryCommandIndeterm("stylewithcss") before 
 PASS [["stylewithcss","true"],["backcolor","#00FFFF"]] "{<p style=\"background-color: aqua\">foo</p><p>bar</p>}" queryCommandState("stylewithcss") before 
 PASS [["stylewithcss","true"],["backcolor","#00FFFF"]] "{<p style=\"background-color: aqua\">foo</p><p>bar</p>}" queryCommandValue("stylewithcss") before 
@@ -539,7 +539,7 @@
 PASS [["stylewithcss","false"],["backcolor","#00FFFF"]] "{<p style=\"background-color: aqua\">foo</p><p>bar</p>}": execCommand("stylewithcss", false, "false") return value 
 PASS [["stylewithcss","false"],["backcolor","#00FFFF"]] "{<p style=\"background-color: aqua\">foo</p><p>bar</p>}": execCommand("backcolor", false, "#00FFFF") return value 
 PASS [["stylewithcss","false"],["backcolor","#00FFFF"]] "{<p style=\"background-color: aqua\">foo</p><p>bar</p>}" checks for modifications to non-editable content 
-FAIL [["stylewithcss","false"],["backcolor","#00FFFF"]] "{<p style=\"background-color: aqua\">foo</p><p>bar</p>}" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<p style=\"background-color:rgb(0, 255, 255)\">foo</p><p><span style=\"background-color:rgb(0, 255, 255)\">bar</span></p>" but got "<p><span style=\"background-color:rgb(0, 255, 255)\">foo</span></p><p><span style=\"background-color:rgb(0, 255, 255)\">bar</span></p>"
+FAIL [["stylewithcss","false"],["backcolor","#00FFFF"]] "{<p style=\"background-color: aqua\">foo</p><p>bar</p>}" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<p style=\"background-color:rgb(0, 255, 255)\">foo</p><p><span style=\"background-color:rgb(0, 255, 255)\">bar</span></p>" but got "<p style=\"\"><span style=\"background-color:rgb(0, 255, 255)\">foo</span></p><p><span style=\"background-color:rgb(0, 255, 255)\">bar</span></p>"
 PASS [["stylewithcss","false"],["backcolor","#00FFFF"]] "{<p style=\"background-color: aqua\">foo</p><p>bar</p>}" queryCommandIndeterm("stylewithcss") before 
 PASS [["stylewithcss","false"],["backcolor","#00FFFF"]] "{<p style=\"background-color: aqua\">foo</p><p>bar</p>}" queryCommandState("stylewithcss") before 
 PASS [["stylewithcss","false"],["backcolor","#00FFFF"]] "{<p style=\"background-color: aqua\">foo</p><p>bar</p>}" queryCommandValue("stylewithcss") before 
@@ -691,7 +691,7 @@
 PASS [["backcolor","#00FFFF"]] "<span style=\"background-color: aqua\">foo<span style=\"background-color: tan\">b[ar]</span>baz</span>" queryCommandValue("backcolor") after 
 PASS [["backcolor","#00FFFF"]] "<p style=\"background-color: aqua\">foo<span style=\"background-color: tan\">b[ar]</span>baz</p>": execCommand("backcolor", false, "#00FFFF") return value 
 PASS [["backcolor","#00FFFF"]] "<p style=\"background-color: aqua\">foo<span style=\"background-color: tan\">b[ar]</span>baz</p>" checks for modifications to non-editable content 
-FAIL [["backcolor","#00FFFF"]] "<p style=\"background-color: aqua\">foo<span style=\"background-color: tan\">b[ar]</span>baz</p>" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<p style=\"background-color:rgb(0, 255, 255)\">foo<span style=\"background-color:rgb(210, 180, 140)\">b</span>arbaz</p>" but got "<p><span style=\"background-color:rgb(0, 255, 255)\">foo</span><span style=\"background-color:rgb(210, 180, 140)\">b</span><span style=\"background-color:rgb(0, 255, 255)\">ar</span><span style=\"background-color:rgb(0, 255, 255)\">baz</span></p>"
+FAIL [["backcolor","#00FFFF"]] "<p style=\"background-color: aqua\">foo<span style=\"background-color: tan\">b[ar]</span>baz</p>" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<p style=\"background-color:rgb(0, 255, 255)\">foo<span style=\"background-color:rgb(210, 180, 140)\">b</span>arbaz</p>" but got "<p style=\"\"><span style=\"background-color:rgb(0, 255, 255)\">foo</span><span style=\"background-color:rgb(210, 180, 140)\">b</span><span style=\"background-color:rgb(0, 255, 255)\">ar</span><span style=\"background-color:rgb(0, 255, 255)\">baz</span></p>"
 PASS [["backcolor","#00FFFF"]] "<p style=\"background-color: aqua\">foo<span style=\"background-color: tan\">b[ar]</span>baz</p>" queryCommandIndeterm("backcolor") before 
 PASS [["backcolor","#00FFFF"]] "<p style=\"background-color: aqua\">foo<span style=\"background-color: tan\">b[ar]</span>baz</p>" queryCommandState("backcolor") before 
 PASS [["backcolor","#00FFFF"]] "<p style=\"background-color: aqua\">foo<span style=\"background-color: tan\">b[ar]</span>baz</p>" queryCommandValue("backcolor") before 
@@ -701,7 +701,7 @@
 PASS [["stylewithcss","true"],["backcolor","#00FFFF"]] "<div style=\"background-color: aqua\"><p style=\"background-color: tan\">b[ar]</p></div>": execCommand("stylewithcss", false, "true") return value 
 PASS [["stylewithcss","true"],["backcolor","#00FFFF"]] "<div style=\"background-color: aqua\"><p style=\"background-color: tan\">b[ar]</p></div>": execCommand("backcolor", false, "#00FFFF") return value 
 PASS [["stylewithcss","true"],["backcolor","#00FFFF"]] "<div style=\"background-color: aqua\"><p style=\"background-color: tan\">b[ar]</p></div>" checks for modifications to non-editable content 
-FAIL [["stylewithcss","true"],["backcolor","#00FFFF"]] "<div style=\"background-color: aqua\"><p style=\"background-color: tan\">b[ar]</p></div>" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<div style=\"background-color:rgb(0, 255, 255)\"><p style=\"background-color:rgb(210, 180, 140)\">b<span style=\"background-color:rgb(0, 255, 255)\">ar</span></p></div>" but got "<div><p><span style=\"background-color:rgb(210, 180, 140)\">b</span><span style=\"background-color:rgb(0, 255, 255)\">ar</span></p></div>"
+FAIL [["stylewithcss","true"],["backcolor","#00FFFF"]] "<div style=\"background-color: aqua\"><p style=\"background-color: tan\">b[ar]</p></div>" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<div style=\"background-color:rgb(0, 255, 255)\"><p style=\"background-color:rgb(210, 180, 140)\">b<span style=\"background-color:rgb(0, 255, 255)\">ar</span></p></div>" but got "<div style=\"\"><p style=\"\"><span style=\"background-color:rgb(210, 180, 140)\">b</span><span style=\"background-color:rgb(0, 255, 255)\">ar</span></p></div>"
 PASS [["stylewithcss","true"],["backcolor","#00FFFF"]] "<div style=\"background-color: aqua\"><p style=\"background-color: tan\">b[ar]</p></div>" queryCommandIndeterm("stylewithcss") before 
 PASS [["stylewithcss","true"],["backcolor","#00FFFF"]] "<div style=\"background-color: aqua\"><p style=\"background-color: tan\">b[ar]</p></div>" queryCommandState("stylewithcss") before 
 PASS [["stylewithcss","true"],["backcolor","#00FFFF"]] "<div style=\"background-color: aqua\"><p style=\"background-color: tan\">b[ar]</p></div>" queryCommandValue("stylewithcss") before 
@@ -717,7 +717,7 @@
 PASS [["stylewithcss","false"],["backcolor","#00FFFF"]] "<div style=\"background-color: aqua\"><p style=\"background-color: tan\">b[ar]</p></div>": execCommand("stylewithcss", false, "false") return value 
 PASS [["stylewithcss","false"],["backcolor","#00FFFF"]] "<div style=\"background-color: aqua\"><p style=\"background-color: tan\">b[ar]</p></div>": execCommand("backcolor", false, "#00FFFF") return value 
 PASS [["stylewithcss","false"],["backcolor","#00FFFF"]] "<div style=\"background-color: aqua\"><p style=\"background-color: tan\">b[ar]</p></div>" checks for modifications to non-editable content 
-FAIL [["stylewithcss","false"],["backcolor","#00FFFF"]] "<div style=\"background-color: aqua\"><p style=\"background-color: tan\">b[ar]</p></div>" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<div style=\"background-color:rgb(0, 255, 255)\"><p style=\"background-color:rgb(210, 180, 140)\">b<span style=\"background-color:rgb(0, 255, 255)\">ar</span></p></div>" but got "<div><p><span style=\"background-color:rgb(210, 180, 140)\">b</span><span style=\"background-color:rgb(0, 255, 255)\">ar</span></p></div>"
+FAIL [["stylewithcss","false"],["backcolor","#00FFFF"]] "<div style=\"background-color: aqua\"><p style=\"background-color: tan\">b[ar]</p></div>" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<div style=\"background-color:rgb(0, 255, 255)\"><p style=\"background-color:rgb(210, 180, 140)\">b<span style=\"background-color:rgb(0, 255, 255)\">ar</span></p></div>" but got "<div style=\"\"><p style=\"\"><span style=\"background-color:rgb(210, 180, 140)\">b</span><span style=\"background-color:rgb(0, 255, 255)\">ar</span></p></div>"
 PASS [["stylewithcss","false"],["backcolor","#00FFFF"]] "<div style=\"background-color: aqua\"><p style=\"background-color: tan\">b[ar]</p></div>" queryCommandIndeterm("stylewithcss") before 
 PASS [["stylewithcss","false"],["backcolor","#00FFFF"]] "<div style=\"background-color: aqua\"><p style=\"background-color: tan\">b[ar]</p></div>" queryCommandState("stylewithcss") before 
 PASS [["stylewithcss","false"],["backcolor","#00FFFF"]] "<div style=\"background-color: aqua\"><p style=\"background-color: tan\">b[ar]</p></div>" queryCommandValue("stylewithcss") before 
diff --git a/third_party/WebKit/LayoutTests/external/wpt/editing/run/bold-expected.txt b/third_party/WebKit/LayoutTests/external/wpt/editing/run/bold-expected.txt
deleted file mode 100644
index 09e4bd4..0000000
--- a/third_party/WebKit/LayoutTests/external/wpt/editing/run/bold-expected.txt
+++ /dev/null
@@ -1,3016 +0,0 @@
-This is a testharness.js-based test.
-Found 3012 tests; 2511 PASS, 501 FAIL, 0 TIMEOUT, 0 NOTRUN.
-PASS [["bold",""]] "foo[]bar": execCommand("bold", false, "") return value 
-PASS [["bold",""]] "foo[]bar" checks for modifications to non-editable content 
-PASS [["bold",""]] "foo[]bar" compare innerHTML 
-PASS [["bold",""]] "foo[]bar" queryCommandIndeterm("bold") before 
-PASS [["bold",""]] "foo[]bar" queryCommandState("bold") before 
-FAIL [["bold",""]] "foo[]bar" queryCommandValue("bold") before assert_equals: Wrong result returned expected "" but got "false"
-PASS [["bold",""]] "foo[]bar" queryCommandIndeterm("bold") after 
-PASS [["bold",""]] "foo[]bar" queryCommandState("bold") after 
-FAIL [["bold",""]] "foo[]bar" queryCommandValue("bold") after assert_equals: Wrong result returned expected "" but got "true"
-PASS [["stylewithcss","true"],["bold",""]] "<p>[foo</p> <p>bar]</p>": execCommand("stylewithcss", false, "true") return value 
-PASS [["stylewithcss","true"],["bold",""]] "<p>[foo</p> <p>bar]</p>": execCommand("bold", false, "") return value 
-PASS [["stylewithcss","true"],["bold",""]] "<p>[foo</p> <p>bar]</p>" checks for modifications to non-editable content 
-PASS [["stylewithcss","true"],["bold",""]] "<p>[foo</p> <p>bar]</p>" compare innerHTML 
-PASS [["stylewithcss","true"],["bold",""]] "<p>[foo</p> <p>bar]</p>" queryCommandIndeterm("stylewithcss") before 
-FAIL [["stylewithcss","true"],["bold",""]] "<p>[foo</p> <p>bar]</p>" queryCommandState("stylewithcss") before assert_equals: Wrong result returned expected false but got true
-PASS [["stylewithcss","true"],["bold",""]] "<p>[foo</p> <p>bar]</p>" queryCommandValue("stylewithcss") before 
-PASS [["stylewithcss","true"],["bold",""]] "<p>[foo</p> <p>bar]</p>" queryCommandIndeterm("stylewithcss") after 
-PASS [["stylewithcss","true"],["bold",""]] "<p>[foo</p> <p>bar]</p>" queryCommandState("stylewithcss") after 
-PASS [["stylewithcss","true"],["bold",""]] "<p>[foo</p> <p>bar]</p>" queryCommandValue("stylewithcss") after 
-PASS [["stylewithcss","true"],["bold",""]] "<p>[foo</p> <p>bar]</p>" queryCommandIndeterm("bold") before 
-PASS [["stylewithcss","true"],["bold",""]] "<p>[foo</p> <p>bar]</p>" queryCommandState("bold") before 
-FAIL [["stylewithcss","true"],["bold",""]] "<p>[foo</p> <p>bar]</p>" queryCommandValue("bold") before assert_equals: Wrong result returned expected "" but got "false"
-PASS [["stylewithcss","true"],["bold",""]] "<p>[foo</p> <p>bar]</p>" queryCommandIndeterm("bold") after 
-PASS [["stylewithcss","true"],["bold",""]] "<p>[foo</p> <p>bar]</p>" queryCommandState("bold") after 
-FAIL [["stylewithcss","true"],["bold",""]] "<p>[foo</p> <p>bar]</p>" queryCommandValue("bold") after assert_equals: Wrong result returned expected "" but got "true"
-PASS [["stylewithcss","false"],["bold",""]] "<p>[foo</p> <p>bar]</p>": execCommand("stylewithcss", false, "false") return value 
-PASS [["stylewithcss","false"],["bold",""]] "<p>[foo</p> <p>bar]</p>": execCommand("bold", false, "") return value 
-PASS [["stylewithcss","false"],["bold",""]] "<p>[foo</p> <p>bar]</p>" checks for modifications to non-editable content 
-PASS [["stylewithcss","false"],["bold",""]] "<p>[foo</p> <p>bar]</p>" compare innerHTML 
-PASS [["stylewithcss","false"],["bold",""]] "<p>[foo</p> <p>bar]</p>" queryCommandIndeterm("stylewithcss") before 
-PASS [["stylewithcss","false"],["bold",""]] "<p>[foo</p> <p>bar]</p>" queryCommandState("stylewithcss") before 
-PASS [["stylewithcss","false"],["bold",""]] "<p>[foo</p> <p>bar]</p>" queryCommandValue("stylewithcss") before 
-PASS [["stylewithcss","false"],["bold",""]] "<p>[foo</p> <p>bar]</p>" queryCommandIndeterm("stylewithcss") after 
-PASS [["stylewithcss","false"],["bold",""]] "<p>[foo</p> <p>bar]</p>" queryCommandState("stylewithcss") after 
-PASS [["stylewithcss","false"],["bold",""]] "<p>[foo</p> <p>bar]</p>" queryCommandValue("stylewithcss") after 
-PASS [["stylewithcss","false"],["bold",""]] "<p>[foo</p> <p>bar]</p>" queryCommandIndeterm("bold") before 
-PASS [["stylewithcss","false"],["bold",""]] "<p>[foo</p> <p>bar]</p>" queryCommandState("bold") before 
-FAIL [["stylewithcss","false"],["bold",""]] "<p>[foo</p> <p>bar]</p>" queryCommandValue("bold") before assert_equals: Wrong result returned expected "" but got "false"
-PASS [["stylewithcss","false"],["bold",""]] "<p>[foo</p> <p>bar]</p>" queryCommandIndeterm("bold") after 
-PASS [["stylewithcss","false"],["bold",""]] "<p>[foo</p> <p>bar]</p>" queryCommandState("bold") after 
-FAIL [["stylewithcss","false"],["bold",""]] "<p>[foo</p> <p>bar]</p>" queryCommandValue("bold") after assert_equals: Wrong result returned expected "" but got "true"
-PASS [["stylewithcss","true"],["bold",""]] "<span>[foo</span> <span>bar]</span>": execCommand("stylewithcss", false, "true") return value 
-PASS [["stylewithcss","true"],["bold",""]] "<span>[foo</span> <span>bar]</span>": execCommand("bold", false, "") return value 
-PASS [["stylewithcss","true"],["bold",""]] "<span>[foo</span> <span>bar]</span>" checks for modifications to non-editable content 
-PASS [["stylewithcss","true"],["bold",""]] "<span>[foo</span> <span>bar]</span>" compare innerHTML 
-PASS [["stylewithcss","true"],["bold",""]] "<span>[foo</span> <span>bar]</span>" queryCommandIndeterm("stylewithcss") before 
-PASS [["stylewithcss","true"],["bold",""]] "<span>[foo</span> <span>bar]</span>" queryCommandState("stylewithcss") before 
-PASS [["stylewithcss","true"],["bold",""]] "<span>[foo</span> <span>bar]</span>" queryCommandValue("stylewithcss") before 
-PASS [["stylewithcss","true"],["bold",""]] "<span>[foo</span> <span>bar]</span>" queryCommandIndeterm("stylewithcss") after 
-PASS [["stylewithcss","true"],["bold",""]] "<span>[foo</span> <span>bar]</span>" queryCommandState("stylewithcss") after 
-PASS [["stylewithcss","true"],["bold",""]] "<span>[foo</span> <span>bar]</span>" queryCommandValue("stylewithcss") after 
-PASS [["stylewithcss","true"],["bold",""]] "<span>[foo</span> <span>bar]</span>" queryCommandIndeterm("bold") before 
-PASS [["stylewithcss","true"],["bold",""]] "<span>[foo</span> <span>bar]</span>" queryCommandState("bold") before 
-FAIL [["stylewithcss","true"],["bold",""]] "<span>[foo</span> <span>bar]</span>" queryCommandValue("bold") before assert_equals: Wrong result returned expected "" but got "false"
-PASS [["stylewithcss","true"],["bold",""]] "<span>[foo</span> <span>bar]</span>" queryCommandIndeterm("bold") after 
-PASS [["stylewithcss","true"],["bold",""]] "<span>[foo</span> <span>bar]</span>" queryCommandState("bold") after 
-FAIL [["stylewithcss","true"],["bold",""]] "<span>[foo</span> <span>bar]</span>" queryCommandValue("bold") after assert_equals: Wrong result returned expected "" but got "true"
-PASS [["stylewithcss","false"],["bold",""]] "<span>[foo</span> <span>bar]</span>": execCommand("stylewithcss", false, "false") return value 
-PASS [["stylewithcss","false"],["bold",""]] "<span>[foo</span> <span>bar]</span>": execCommand("bold", false, "") return value 
-PASS [["stylewithcss","false"],["bold",""]] "<span>[foo</span> <span>bar]</span>" checks for modifications to non-editable content 
-PASS [["stylewithcss","false"],["bold",""]] "<span>[foo</span> <span>bar]</span>" compare innerHTML 
-PASS [["stylewithcss","false"],["bold",""]] "<span>[foo</span> <span>bar]</span>" queryCommandIndeterm("stylewithcss") before 
-PASS [["stylewithcss","false"],["bold",""]] "<span>[foo</span> <span>bar]</span>" queryCommandState("stylewithcss") before 
-PASS [["stylewithcss","false"],["bold",""]] "<span>[foo</span> <span>bar]</span>" queryCommandValue("stylewithcss") before 
-PASS [["stylewithcss","false"],["bold",""]] "<span>[foo</span> <span>bar]</span>" queryCommandIndeterm("stylewithcss") after 
-PASS [["stylewithcss","false"],["bold",""]] "<span>[foo</span> <span>bar]</span>" queryCommandState("stylewithcss") after 
-PASS [["stylewithcss","false"],["bold",""]] "<span>[foo</span> <span>bar]</span>" queryCommandValue("stylewithcss") after 
-PASS [["stylewithcss","false"],["bold",""]] "<span>[foo</span> <span>bar]</span>" queryCommandIndeterm("bold") before 
-PASS [["stylewithcss","false"],["bold",""]] "<span>[foo</span> <span>bar]</span>" queryCommandState("bold") before 
-FAIL [["stylewithcss","false"],["bold",""]] "<span>[foo</span> <span>bar]</span>" queryCommandValue("bold") before assert_equals: Wrong result returned expected "" but got "false"
-PASS [["stylewithcss","false"],["bold",""]] "<span>[foo</span> <span>bar]</span>" queryCommandIndeterm("bold") after 
-PASS [["stylewithcss","false"],["bold",""]] "<span>[foo</span> <span>bar]</span>" queryCommandState("bold") after 
-FAIL [["stylewithcss","false"],["bold",""]] "<span>[foo</span> <span>bar]</span>" queryCommandValue("bold") after assert_equals: Wrong result returned expected "" but got "true"
-PASS [["stylewithcss","true"],["bold",""]] "<p>[foo</p><p> <span>bar</span> </p><p>baz]</p>": execCommand("stylewithcss", false, "true") return value 
-PASS [["stylewithcss","true"],["bold",""]] "<p>[foo</p><p> <span>bar</span> </p><p>baz]</p>": execCommand("bold", false, "") return value 
-PASS [["stylewithcss","true"],["bold",""]] "<p>[foo</p><p> <span>bar</span> </p><p>baz]</p>" checks for modifications to non-editable content 
-FAIL [["stylewithcss","true"],["bold",""]] "<p>[foo</p><p> <span>bar</span> </p><p>baz]</p>" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<p><span style=\"font-weight:bold\">foo</span></p><p> <span style=\"font-weight:bold\"><span>bar</span></span> </p><p><span style=\"font-weight:bold\">baz</span></p>" but got "<p><span style=\"font-weight:bold\">foo</span></p><p> <span style=\"font-weight:bold\"><span>bar</span> </span></p><p><span style=\"font-weight:bold\">baz</span></p>"
-PASS [["stylewithcss","true"],["bold",""]] "<p>[foo</p><p> <span>bar</span> </p><p>baz]</p>" queryCommandIndeterm("stylewithcss") before 
-PASS [["stylewithcss","true"],["bold",""]] "<p>[foo</p><p> <span>bar</span> </p><p>baz]</p>" queryCommandState("stylewithcss") before 
-PASS [["stylewithcss","true"],["bold",""]] "<p>[foo</p><p> <span>bar</span> </p><p>baz]</p>" queryCommandValue("stylewithcss") before 
-PASS [["stylewithcss","true"],["bold",""]] "<p>[foo</p><p> <span>bar</span> </p><p>baz]</p>" queryCommandIndeterm("stylewithcss") after 
-PASS [["stylewithcss","true"],["bold",""]] "<p>[foo</p><p> <span>bar</span> </p><p>baz]</p>" queryCommandState("stylewithcss") after 
-PASS [["stylewithcss","true"],["bold",""]] "<p>[foo</p><p> <span>bar</span> </p><p>baz]</p>" queryCommandValue("stylewithcss") after 
-PASS [["stylewithcss","true"],["bold",""]] "<p>[foo</p><p> <span>bar</span> </p><p>baz]</p>" queryCommandIndeterm("bold") before 
-PASS [["stylewithcss","true"],["bold",""]] "<p>[foo</p><p> <span>bar</span> </p><p>baz]</p>" queryCommandState("bold") before 
-FAIL [["stylewithcss","true"],["bold",""]] "<p>[foo</p><p> <span>bar</span> </p><p>baz]</p>" queryCommandValue("bold") before assert_equals: Wrong result returned expected "" but got "false"
-PASS [["stylewithcss","true"],["bold",""]] "<p>[foo</p><p> <span>bar</span> </p><p>baz]</p>" queryCommandIndeterm("bold") after 
-PASS [["stylewithcss","true"],["bold",""]] "<p>[foo</p><p> <span>bar</span> </p><p>baz]</p>" queryCommandState("bold") after 
-FAIL [["stylewithcss","true"],["bold",""]] "<p>[foo</p><p> <span>bar</span> </p><p>baz]</p>" queryCommandValue("bold") after assert_equals: Wrong result returned expected "" but got "true"
-PASS [["stylewithcss","false"],["bold",""]] "<p>[foo</p><p> <span>bar</span> </p><p>baz]</p>": execCommand("stylewithcss", false, "false") return value 
-PASS [["stylewithcss","false"],["bold",""]] "<p>[foo</p><p> <span>bar</span> </p><p>baz]</p>": execCommand("bold", false, "") return value 
-PASS [["stylewithcss","false"],["bold",""]] "<p>[foo</p><p> <span>bar</span> </p><p>baz]</p>" checks for modifications to non-editable content 
-FAIL [["stylewithcss","false"],["bold",""]] "<p>[foo</p><p> <span>bar</span> </p><p>baz]</p>" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<p><b>foo</b></p><p> <b><span>bar</span></b> </p><p><b>baz</b></p>" but got "<p><b>foo</b></p><p> <b><span>bar</span> </b></p><p><b>baz</b></p>"
-PASS [["stylewithcss","false"],["bold",""]] "<p>[foo</p><p> <span>bar</span> </p><p>baz]</p>" queryCommandIndeterm("stylewithcss") before 
-PASS [["stylewithcss","false"],["bold",""]] "<p>[foo</p><p> <span>bar</span> </p><p>baz]</p>" queryCommandState("stylewithcss") before 
-PASS [["stylewithcss","false"],["bold",""]] "<p>[foo</p><p> <span>bar</span> </p><p>baz]</p>" queryCommandValue("stylewithcss") before 
-PASS [["stylewithcss","false"],["bold",""]] "<p>[foo</p><p> <span>bar</span> </p><p>baz]</p>" queryCommandIndeterm("stylewithcss") after 
-PASS [["stylewithcss","false"],["bold",""]] "<p>[foo</p><p> <span>bar</span> </p><p>baz]</p>" queryCommandState("stylewithcss") after 
-PASS [["stylewithcss","false"],["bold",""]] "<p>[foo</p><p> <span>bar</span> </p><p>baz]</p>" queryCommandValue("stylewithcss") after 
-PASS [["stylewithcss","false"],["bold",""]] "<p>[foo</p><p> <span>bar</span> </p><p>baz]</p>" queryCommandIndeterm("bold") before 
-PASS [["stylewithcss","false"],["bold",""]] "<p>[foo</p><p> <span>bar</span> </p><p>baz]</p>" queryCommandState("bold") before 
-FAIL [["stylewithcss","false"],["bold",""]] "<p>[foo</p><p> <span>bar</span> </p><p>baz]</p>" queryCommandValue("bold") before assert_equals: Wrong result returned expected "" but got "false"
-PASS [["stylewithcss","false"],["bold",""]] "<p>[foo</p><p> <span>bar</span> </p><p>baz]</p>" queryCommandIndeterm("bold") after 
-PASS [["stylewithcss","false"],["bold",""]] "<p>[foo</p><p> <span>bar</span> </p><p>baz]</p>" queryCommandState("bold") after 
-FAIL [["stylewithcss","false"],["bold",""]] "<p>[foo</p><p> <span>bar</span> </p><p>baz]</p>" queryCommandValue("bold") after assert_equals: Wrong result returned expected "" but got "true"
-PASS [["stylewithcss","true"],["bold",""]] "<p>[foo<p><br><p>bar]": execCommand("stylewithcss", false, "true") return value 
-PASS [["stylewithcss","true"],["bold",""]] "<p>[foo<p><br><p>bar]": execCommand("bold", false, "") return value 
-PASS [["stylewithcss","true"],["bold",""]] "<p>[foo<p><br><p>bar]" checks for modifications to non-editable content 
-PASS [["stylewithcss","true"],["bold",""]] "<p>[foo<p><br><p>bar]" compare innerHTML 
-PASS [["stylewithcss","true"],["bold",""]] "<p>[foo<p><br><p>bar]" queryCommandIndeterm("stylewithcss") before 
-PASS [["stylewithcss","true"],["bold",""]] "<p>[foo<p><br><p>bar]" queryCommandState("stylewithcss") before 
-PASS [["stylewithcss","true"],["bold",""]] "<p>[foo<p><br><p>bar]" queryCommandValue("stylewithcss") before 
-PASS [["stylewithcss","true"],["bold",""]] "<p>[foo<p><br><p>bar]" queryCommandIndeterm("stylewithcss") after 
-PASS [["stylewithcss","true"],["bold",""]] "<p>[foo<p><br><p>bar]" queryCommandState("stylewithcss") after 
-PASS [["stylewithcss","true"],["bold",""]] "<p>[foo<p><br><p>bar]" queryCommandValue("stylewithcss") after 
-PASS [["stylewithcss","true"],["bold",""]] "<p>[foo<p><br><p>bar]" queryCommandIndeterm("bold") before 
-PASS [["stylewithcss","true"],["bold",""]] "<p>[foo<p><br><p>bar]" queryCommandState("bold") before 
-FAIL [["stylewithcss","true"],["bold",""]] "<p>[foo<p><br><p>bar]" queryCommandValue("bold") before assert_equals: Wrong result returned expected "" but got "false"
-PASS [["stylewithcss","true"],["bold",""]] "<p>[foo<p><br><p>bar]" queryCommandIndeterm("bold") after 
-PASS [["stylewithcss","true"],["bold",""]] "<p>[foo<p><br><p>bar]" queryCommandState("bold") after 
-FAIL [["stylewithcss","true"],["bold",""]] "<p>[foo<p><br><p>bar]" queryCommandValue("bold") after assert_equals: Wrong result returned expected "" but got "true"
-PASS [["stylewithcss","false"],["bold",""]] "<p>[foo<p><br><p>bar]": execCommand("stylewithcss", false, "false") return value 
-PASS [["stylewithcss","false"],["bold",""]] "<p>[foo<p><br><p>bar]": execCommand("bold", false, "") return value 
-PASS [["stylewithcss","false"],["bold",""]] "<p>[foo<p><br><p>bar]" checks for modifications to non-editable content 
-PASS [["stylewithcss","false"],["bold",""]] "<p>[foo<p><br><p>bar]" compare innerHTML 
-PASS [["stylewithcss","false"],["bold",""]] "<p>[foo<p><br><p>bar]" queryCommandIndeterm("stylewithcss") before 
-PASS [["stylewithcss","false"],["bold",""]] "<p>[foo<p><br><p>bar]" queryCommandState("stylewithcss") before 
-PASS [["stylewithcss","false"],["bold",""]] "<p>[foo<p><br><p>bar]" queryCommandValue("stylewithcss") before 
-PASS [["stylewithcss","false"],["bold",""]] "<p>[foo<p><br><p>bar]" queryCommandIndeterm("stylewithcss") after 
-PASS [["stylewithcss","false"],["bold",""]] "<p>[foo<p><br><p>bar]" queryCommandState("stylewithcss") after 
-PASS [["stylewithcss","false"],["bold",""]] "<p>[foo<p><br><p>bar]" queryCommandValue("stylewithcss") after 
-PASS [["stylewithcss","false"],["bold",""]] "<p>[foo<p><br><p>bar]" queryCommandIndeterm("bold") before 
-PASS [["stylewithcss","false"],["bold",""]] "<p>[foo<p><br><p>bar]" queryCommandState("bold") before 
-FAIL [["stylewithcss","false"],["bold",""]] "<p>[foo<p><br><p>bar]" queryCommandValue("bold") before assert_equals: Wrong result returned expected "" but got "false"
-PASS [["stylewithcss","false"],["bold",""]] "<p>[foo<p><br><p>bar]" queryCommandIndeterm("bold") after 
-PASS [["stylewithcss","false"],["bold",""]] "<p>[foo<p><br><p>bar]" queryCommandState("bold") after 
-FAIL [["stylewithcss","false"],["bold",""]] "<p>[foo<p><br><p>bar]" queryCommandValue("bold") after assert_equals: Wrong result returned expected "" but got "true"
-PASS [["bold",""]] "<b>foo[]bar</b>": execCommand("bold", false, "") return value 
-PASS [["bold",""]] "<b>foo[]bar</b>" checks for modifications to non-editable content 
-PASS [["bold",""]] "<b>foo[]bar</b>" compare innerHTML 
-PASS [["bold",""]] "<b>foo[]bar</b>" queryCommandIndeterm("bold") before 
-PASS [["bold",""]] "<b>foo[]bar</b>" queryCommandState("bold") before 
-FAIL [["bold",""]] "<b>foo[]bar</b>" queryCommandValue("bold") before assert_equals: Wrong result returned expected "" but got "true"
-PASS [["bold",""]] "<b>foo[]bar</b>" queryCommandIndeterm("bold") after 
-PASS [["bold",""]] "<b>foo[]bar</b>" queryCommandState("bold") after 
-FAIL [["bold",""]] "<b>foo[]bar</b>" queryCommandValue("bold") after assert_equals: Wrong result returned expected "" but got "false"
-PASS [["bold",""]] "<i>foo[]bar</i>": execCommand("bold", false, "") return value 
-PASS [["bold",""]] "<i>foo[]bar</i>" checks for modifications to non-editable content 
-PASS [["bold",""]] "<i>foo[]bar</i>" compare innerHTML 
-PASS [["bold",""]] "<i>foo[]bar</i>" queryCommandIndeterm("bold") before 
-PASS [["bold",""]] "<i>foo[]bar</i>" queryCommandState("bold") before 
-FAIL [["bold",""]] "<i>foo[]bar</i>" queryCommandValue("bold") before assert_equals: Wrong result returned expected "" but got "false"
-PASS [["bold",""]] "<i>foo[]bar</i>" queryCommandIndeterm("bold") after 
-PASS [["bold",""]] "<i>foo[]bar</i>" queryCommandState("bold") after 
-FAIL [["bold",""]] "<i>foo[]bar</i>" queryCommandValue("bold") after assert_equals: Wrong result returned expected "" but got "true"
-PASS [["bold",""]] "<span>foo</span>{}<span>bar</span>": execCommand("bold", false, "") return value 
-PASS [["bold",""]] "<span>foo</span>{}<span>bar</span>" checks for modifications to non-editable content 
-PASS [["bold",""]] "<span>foo</span>{}<span>bar</span>" compare innerHTML 
-PASS [["bold",""]] "<span>foo</span>{}<span>bar</span>" queryCommandIndeterm("bold") before 
-PASS [["bold",""]] "<span>foo</span>{}<span>bar</span>" queryCommandState("bold") before 
-FAIL [["bold",""]] "<span>foo</span>{}<span>bar</span>" queryCommandValue("bold") before assert_equals: Wrong result returned expected "" but got "false"
-PASS [["bold",""]] "<span>foo</span>{}<span>bar</span>" queryCommandIndeterm("bold") after 
-PASS [["bold",""]] "<span>foo</span>{}<span>bar</span>" queryCommandState("bold") after 
-FAIL [["bold",""]] "<span>foo</span>{}<span>bar</span>" queryCommandValue("bold") after assert_equals: Wrong result returned expected "" but got "true"
-PASS [["bold",""]] "<span>foo[</span><span>]bar</span>": execCommand("bold", false, "") return value 
-PASS [["bold",""]] "<span>foo[</span><span>]bar</span>" checks for modifications to non-editable content 
-PASS [["bold",""]] "<span>foo[</span><span>]bar</span>" compare innerHTML 
-PASS [["bold",""]] "<span>foo[</span><span>]bar</span>" queryCommandIndeterm("bold") before 
-PASS [["bold",""]] "<span>foo[</span><span>]bar</span>" queryCommandState("bold") before 
-FAIL [["bold",""]] "<span>foo[</span><span>]bar</span>" queryCommandValue("bold") before assert_equals: Wrong result returned expected "" but got "false"
-PASS [["bold",""]] "<span>foo[</span><span>]bar</span>" queryCommandIndeterm("bold") after 
-PASS [["bold",""]] "<span>foo[</span><span>]bar</span>" queryCommandState("bold") after 
-FAIL [["bold",""]] "<span>foo[</span><span>]bar</span>" queryCommandValue("bold") after assert_equals: Wrong result returned expected "" but got "true"
-PASS [["stylewithcss","true"],["bold",""]] "foo[bar]baz": execCommand("stylewithcss", false, "true") return value 
-PASS [["stylewithcss","true"],["bold",""]] "foo[bar]baz": execCommand("bold", false, "") return value 
-PASS [["stylewithcss","true"],["bold",""]] "foo[bar]baz" checks for modifications to non-editable content 
-PASS [["stylewithcss","true"],["bold",""]] "foo[bar]baz" compare innerHTML 
-PASS [["stylewithcss","true"],["bold",""]] "foo[bar]baz" queryCommandIndeterm("stylewithcss") before 
-PASS [["stylewithcss","true"],["bold",""]] "foo[bar]baz" queryCommandState("stylewithcss") before 
-PASS [["stylewithcss","true"],["bold",""]] "foo[bar]baz" queryCommandValue("stylewithcss") before 
-PASS [["stylewithcss","true"],["bold",""]] "foo[bar]baz" queryCommandIndeterm("stylewithcss") after 
-PASS [["stylewithcss","true"],["bold",""]] "foo[bar]baz" queryCommandState("stylewithcss") after 
-PASS [["stylewithcss","true"],["bold",""]] "foo[bar]baz" queryCommandValue("stylewithcss") after 
-PASS [["stylewithcss","true"],["bold",""]] "foo[bar]baz" queryCommandIndeterm("bold") before 
-PASS [["stylewithcss","true"],["bold",""]] "foo[bar]baz" queryCommandState("bold") before 
-FAIL [["stylewithcss","true"],["bold",""]] "foo[bar]baz" queryCommandValue("bold") before assert_equals: Wrong result returned expected "" but got "false"
-PASS [["stylewithcss","true"],["bold",""]] "foo[bar]baz" queryCommandIndeterm("bold") after 
-PASS [["stylewithcss","true"],["bold",""]] "foo[bar]baz" queryCommandState("bold") after 
-FAIL [["stylewithcss","true"],["bold",""]] "foo[bar]baz" queryCommandValue("bold") after assert_equals: Wrong result returned expected "" but got "true"
-PASS [["stylewithcss","false"],["bold",""]] "foo[bar]baz": execCommand("stylewithcss", false, "false") return value 
-PASS [["stylewithcss","false"],["bold",""]] "foo[bar]baz": execCommand("bold", false, "") return value 
-PASS [["stylewithcss","false"],["bold",""]] "foo[bar]baz" checks for modifications to non-editable content 
-PASS [["stylewithcss","false"],["bold",""]] "foo[bar]baz" compare innerHTML 
-PASS [["stylewithcss","false"],["bold",""]] "foo[bar]baz" queryCommandIndeterm("stylewithcss") before 
-PASS [["stylewithcss","false"],["bold",""]] "foo[bar]baz" queryCommandState("stylewithcss") before 
-PASS [["stylewithcss","false"],["bold",""]] "foo[bar]baz" queryCommandValue("stylewithcss") before 
-PASS [["stylewithcss","false"],["bold",""]] "foo[bar]baz" queryCommandIndeterm("stylewithcss") after 
-PASS [["stylewithcss","false"],["bold",""]] "foo[bar]baz" queryCommandState("stylewithcss") after 
-PASS [["stylewithcss","false"],["bold",""]] "foo[bar]baz" queryCommandValue("stylewithcss") after 
-PASS [["stylewithcss","false"],["bold",""]] "foo[bar]baz" queryCommandIndeterm("bold") before 
-PASS [["stylewithcss","false"],["bold",""]] "foo[bar]baz" queryCommandState("bold") before 
-FAIL [["stylewithcss","false"],["bold",""]] "foo[bar]baz" queryCommandValue("bold") before assert_equals: Wrong result returned expected "" but got "false"
-PASS [["stylewithcss","false"],["bold",""]] "foo[bar]baz" queryCommandIndeterm("bold") after 
-PASS [["stylewithcss","false"],["bold",""]] "foo[bar]baz" queryCommandState("bold") after 
-FAIL [["stylewithcss","false"],["bold",""]] "foo[bar]baz" queryCommandValue("bold") after assert_equals: Wrong result returned expected "" but got "true"
-PASS [["bold",""]] "foo[bar<b>baz]qoz</b>quz": execCommand("bold", false, "") return value 
-PASS [["bold",""]] "foo[bar<b>baz]qoz</b>quz" checks for modifications to non-editable content 
-PASS [["bold",""]] "foo[bar<b>baz]qoz</b>quz" compare innerHTML 
-FAIL [["bold",""]] "foo[bar<b>baz]qoz</b>quz" queryCommandIndeterm("bold") before assert_equals: Wrong result returned expected true but got false
-PASS [["bold",""]] "foo[bar<b>baz]qoz</b>quz" queryCommandState("bold") before 
-FAIL [["bold",""]] "foo[bar<b>baz]qoz</b>quz" queryCommandValue("bold") before assert_equals: Wrong result returned expected "" but got "false"
-PASS [["bold",""]] "foo[bar<b>baz]qoz</b>quz" queryCommandIndeterm("bold") after 
-PASS [["bold",""]] "foo[bar<b>baz]qoz</b>quz" queryCommandState("bold") after 
-FAIL [["bold",""]] "foo[bar<b>baz]qoz</b>quz" queryCommandValue("bold") after assert_equals: Wrong result returned expected "" but got "true"
-PASS [["stylewithcss","true"],["bold",""]] "foo[bar<i>baz]qoz</i>quz": execCommand("stylewithcss", false, "true") return value 
-PASS [["stylewithcss","true"],["bold",""]] "foo[bar<i>baz]qoz</i>quz": execCommand("bold", false, "") return value 
-PASS [["stylewithcss","true"],["bold",""]] "foo[bar<i>baz]qoz</i>quz" checks for modifications to non-editable content 
-PASS [["stylewithcss","true"],["bold",""]] "foo[bar<i>baz]qoz</i>quz" compare innerHTML 
-PASS [["stylewithcss","true"],["bold",""]] "foo[bar<i>baz]qoz</i>quz" queryCommandIndeterm("stylewithcss") before 
-PASS [["stylewithcss","true"],["bold",""]] "foo[bar<i>baz]qoz</i>quz" queryCommandState("stylewithcss") before 
-PASS [["stylewithcss","true"],["bold",""]] "foo[bar<i>baz]qoz</i>quz" queryCommandValue("stylewithcss") before 
-PASS [["stylewithcss","true"],["bold",""]] "foo[bar<i>baz]qoz</i>quz" queryCommandIndeterm("stylewithcss") after 
-PASS [["stylewithcss","true"],["bold",""]] "foo[bar<i>baz]qoz</i>quz" queryCommandState("stylewithcss") after 
-PASS [["stylewithcss","true"],["bold",""]] "foo[bar<i>baz]qoz</i>quz" queryCommandValue("stylewithcss") after 
-PASS [["stylewithcss","true"],["bold",""]] "foo[bar<i>baz]qoz</i>quz" queryCommandIndeterm("bold") before 
-PASS [["stylewithcss","true"],["bold",""]] "foo[bar<i>baz]qoz</i>quz" queryCommandState("bold") before 
-FAIL [["stylewithcss","true"],["bold",""]] "foo[bar<i>baz]qoz</i>quz" queryCommandValue("bold") before assert_equals: Wrong result returned expected "" but got "false"
-PASS [["stylewithcss","true"],["bold",""]] "foo[bar<i>baz]qoz</i>quz" queryCommandIndeterm("bold") after 
-PASS [["stylewithcss","true"],["bold",""]] "foo[bar<i>baz]qoz</i>quz" queryCommandState("bold") after 
-FAIL [["stylewithcss","true"],["bold",""]] "foo[bar<i>baz]qoz</i>quz" queryCommandValue("bold") after assert_equals: Wrong result returned expected "" but got "true"
-PASS [["stylewithcss","false"],["bold",""]] "foo[bar<i>baz]qoz</i>quz": execCommand("stylewithcss", false, "false") return value 
-PASS [["stylewithcss","false"],["bold",""]] "foo[bar<i>baz]qoz</i>quz": execCommand("bold", false, "") return value 
-PASS [["stylewithcss","false"],["bold",""]] "foo[bar<i>baz]qoz</i>quz" checks for modifications to non-editable content 
-PASS [["stylewithcss","false"],["bold",""]] "foo[bar<i>baz]qoz</i>quz" compare innerHTML 
-PASS [["stylewithcss","false"],["bold",""]] "foo[bar<i>baz]qoz</i>quz" queryCommandIndeterm("stylewithcss") before 
-PASS [["stylewithcss","false"],["bold",""]] "foo[bar<i>baz]qoz</i>quz" queryCommandState("stylewithcss") before 
-PASS [["stylewithcss","false"],["bold",""]] "foo[bar<i>baz]qoz</i>quz" queryCommandValue("stylewithcss") before 
-PASS [["stylewithcss","false"],["bold",""]] "foo[bar<i>baz]qoz</i>quz" queryCommandIndeterm("stylewithcss") after 
-PASS [["stylewithcss","false"],["bold",""]] "foo[bar<i>baz]qoz</i>quz" queryCommandState("stylewithcss") after 
-PASS [["stylewithcss","false"],["bold",""]] "foo[bar<i>baz]qoz</i>quz" queryCommandValue("stylewithcss") after 
-PASS [["stylewithcss","false"],["bold",""]] "foo[bar<i>baz]qoz</i>quz" queryCommandIndeterm("bold") before 
-PASS [["stylewithcss","false"],["bold",""]] "foo[bar<i>baz]qoz</i>quz" queryCommandState("bold") before 
-FAIL [["stylewithcss","false"],["bold",""]] "foo[bar<i>baz]qoz</i>quz" queryCommandValue("bold") before assert_equals: Wrong result returned expected "" but got "false"
-PASS [["stylewithcss","false"],["bold",""]] "foo[bar<i>baz]qoz</i>quz" queryCommandIndeterm("bold") after 
-PASS [["stylewithcss","false"],["bold",""]] "foo[bar<i>baz]qoz</i>quz" queryCommandState("bold") after 
-FAIL [["stylewithcss","false"],["bold",""]] "foo[bar<i>baz]qoz</i>quz" queryCommandValue("bold") after assert_equals: Wrong result returned expected "" but got "true"
-PASS [["stylewithcss","true"],["bold",""]] "{<p><p> <p>foo</p>}": execCommand("stylewithcss", false, "true") return value 
-PASS [["stylewithcss","true"],["bold",""]] "{<p><p> <p>foo</p>}": execCommand("bold", false, "") return value 
-PASS [["stylewithcss","true"],["bold",""]] "{<p><p> <p>foo</p>}" checks for modifications to non-editable content 
-PASS [["stylewithcss","true"],["bold",""]] "{<p><p> <p>foo</p>}" compare innerHTML 
-PASS [["stylewithcss","true"],["bold",""]] "{<p><p> <p>foo</p>}" queryCommandIndeterm("stylewithcss") before 
-PASS [["stylewithcss","true"],["bold",""]] "{<p><p> <p>foo</p>}" queryCommandState("stylewithcss") before 
-PASS [["stylewithcss","true"],["bold",""]] "{<p><p> <p>foo</p>}" queryCommandValue("stylewithcss") before 
-PASS [["stylewithcss","true"],["bold",""]] "{<p><p> <p>foo</p>}" queryCommandIndeterm("stylewithcss") after 
-PASS [["stylewithcss","true"],["bold",""]] "{<p><p> <p>foo</p>}" queryCommandState("stylewithcss") after 
-PASS [["stylewithcss","true"],["bold",""]] "{<p><p> <p>foo</p>}" queryCommandValue("stylewithcss") after 
-PASS [["stylewithcss","true"],["bold",""]] "{<p><p> <p>foo</p>}" queryCommandIndeterm("bold") before 
-PASS [["stylewithcss","true"],["bold",""]] "{<p><p> <p>foo</p>}" queryCommandState("bold") before 
-FAIL [["stylewithcss","true"],["bold",""]] "{<p><p> <p>foo</p>}" queryCommandValue("bold") before assert_equals: Wrong result returned expected "" but got "false"
-PASS [["stylewithcss","true"],["bold",""]] "{<p><p> <p>foo</p>}" queryCommandIndeterm("bold") after 
-PASS [["stylewithcss","true"],["bold",""]] "{<p><p> <p>foo</p>}" queryCommandState("bold") after 
-FAIL [["stylewithcss","true"],["bold",""]] "{<p><p> <p>foo</p>}" queryCommandValue("bold") after assert_equals: Wrong result returned expected "" but got "true"
-PASS [["stylewithcss","false"],["bold",""]] "{<p><p> <p>foo</p>}": execCommand("stylewithcss", false, "false") return value 
-PASS [["stylewithcss","false"],["bold",""]] "{<p><p> <p>foo</p>}": execCommand("bold", false, "") return value 
-PASS [["stylewithcss","false"],["bold",""]] "{<p><p> <p>foo</p>}" checks for modifications to non-editable content 
-PASS [["stylewithcss","false"],["bold",""]] "{<p><p> <p>foo</p>}" compare innerHTML 
-PASS [["stylewithcss","false"],["bold",""]] "{<p><p> <p>foo</p>}" queryCommandIndeterm("stylewithcss") before 
-PASS [["stylewithcss","false"],["bold",""]] "{<p><p> <p>foo</p>}" queryCommandState("stylewithcss") before 
-PASS [["stylewithcss","false"],["bold",""]] "{<p><p> <p>foo</p>}" queryCommandValue("stylewithcss") before 
-PASS [["stylewithcss","false"],["bold",""]] "{<p><p> <p>foo</p>}" queryCommandIndeterm("stylewithcss") after 
-PASS [["stylewithcss","false"],["bold",""]] "{<p><p> <p>foo</p>}" queryCommandState("stylewithcss") after 
-PASS [["stylewithcss","false"],["bold",""]] "{<p><p> <p>foo</p>}" queryCommandValue("stylewithcss") after 
-PASS [["stylewithcss","false"],["bold",""]] "{<p><p> <p>foo</p>}" queryCommandIndeterm("bold") before 
-PASS [["stylewithcss","false"],["bold",""]] "{<p><p> <p>foo</p>}" queryCommandState("bold") before 
-FAIL [["stylewithcss","false"],["bold",""]] "{<p><p> <p>foo</p>}" queryCommandValue("bold") before assert_equals: Wrong result returned expected "" but got "false"
-PASS [["stylewithcss","false"],["bold",""]] "{<p><p> <p>foo</p>}" queryCommandIndeterm("bold") after 
-PASS [["stylewithcss","false"],["bold",""]] "{<p><p> <p>foo</p>}" queryCommandState("bold") after 
-FAIL [["stylewithcss","false"],["bold",""]] "{<p><p> <p>foo</p>}" queryCommandValue("bold") after assert_equals: Wrong result returned expected "" but got "true"
-PASS [["bold",""]] "foo<span contenteditable=false>[bar]</span>baz": execCommand("bold", false, "") return value 
-PASS [["bold",""]] "foo<span contenteditable=false>[bar]</span>baz" checks for modifications to non-editable content 
-PASS [["bold",""]] "foo<span contenteditable=false>[bar]</span>baz" compare innerHTML 
-PASS [["bold",""]] "foo<span contenteditable=false>[bar]</span>baz" queryCommandIndeterm("bold") before 
-PASS [["bold",""]] "foo<span contenteditable=false>[bar]</span>baz" queryCommandState("bold") before 
-FAIL [["bold",""]] "foo<span contenteditable=false>[bar]</span>baz" queryCommandValue("bold") before assert_equals: Wrong result returned expected "" but got "false"
-PASS [["bold",""]] "foo<span contenteditable=false>[bar]</span>baz" queryCommandIndeterm("bold") after 
-PASS [["bold",""]] "foo<span contenteditable=false>[bar]</span>baz" queryCommandState("bold") after 
-FAIL [["bold",""]] "foo<span contenteditable=false>[bar]</span>baz" queryCommandValue("bold") after assert_equals: Wrong result returned expected "" but got "false"
-PASS [["stylewithcss","true"],["bold",""]] "fo[o<span contenteditable=false>bar</span>b]az": execCommand("stylewithcss", false, "true") return value 
-PASS [["stylewithcss","true"],["bold",""]] "fo[o<span contenteditable=false>bar</span>b]az": execCommand("bold", false, "") return value 
-PASS [["stylewithcss","true"],["bold",""]] "fo[o<span contenteditable=false>bar</span>b]az" checks for modifications to non-editable content 
-PASS [["stylewithcss","true"],["bold",""]] "fo[o<span contenteditable=false>bar</span>b]az" compare innerHTML 
-PASS [["stylewithcss","true"],["bold",""]] "fo[o<span contenteditable=false>bar</span>b]az" queryCommandIndeterm("stylewithcss") before 
-PASS [["stylewithcss","true"],["bold",""]] "fo[o<span contenteditable=false>bar</span>b]az" queryCommandState("stylewithcss") before 
-PASS [["stylewithcss","true"],["bold",""]] "fo[o<span contenteditable=false>bar</span>b]az" queryCommandValue("stylewithcss") before 
-PASS [["stylewithcss","true"],["bold",""]] "fo[o<span contenteditable=false>bar</span>b]az" queryCommandIndeterm("stylewithcss") after 
-PASS [["stylewithcss","true"],["bold",""]] "fo[o<span contenteditable=false>bar</span>b]az" queryCommandState("stylewithcss") after 
-PASS [["stylewithcss","true"],["bold",""]] "fo[o<span contenteditable=false>bar</span>b]az" queryCommandValue("stylewithcss") after 
-PASS [["stylewithcss","true"],["bold",""]] "fo[o<span contenteditable=false>bar</span>b]az" queryCommandIndeterm("bold") before 
-PASS [["stylewithcss","true"],["bold",""]] "fo[o<span contenteditable=false>bar</span>b]az" queryCommandState("bold") before 
-FAIL [["stylewithcss","true"],["bold",""]] "fo[o<span contenteditable=false>bar</span>b]az" queryCommandValue("bold") before assert_equals: Wrong result returned expected "" but got "false"
-PASS [["stylewithcss","true"],["bold",""]] "fo[o<span contenteditable=false>bar</span>b]az" queryCommandIndeterm("bold") after 
-PASS [["stylewithcss","true"],["bold",""]] "fo[o<span contenteditable=false>bar</span>b]az" queryCommandState("bold") after 
-FAIL [["stylewithcss","true"],["bold",""]] "fo[o<span contenteditable=false>bar</span>b]az" queryCommandValue("bold") after assert_equals: Wrong result returned expected "" but got "true"
-PASS [["stylewithcss","false"],["bold",""]] "fo[o<span contenteditable=false>bar</span>b]az": execCommand("stylewithcss", false, "false") return value 
-PASS [["stylewithcss","false"],["bold",""]] "fo[o<span contenteditable=false>bar</span>b]az": execCommand("bold", false, "") return value 
-PASS [["stylewithcss","false"],["bold",""]] "fo[o<span contenteditable=false>bar</span>b]az" checks for modifications to non-editable content 
-PASS [["stylewithcss","false"],["bold",""]] "fo[o<span contenteditable=false>bar</span>b]az" compare innerHTML 
-PASS [["stylewithcss","false"],["bold",""]] "fo[o<span contenteditable=false>bar</span>b]az" queryCommandIndeterm("stylewithcss") before 
-PASS [["stylewithcss","false"],["bold",""]] "fo[o<span contenteditable=false>bar</span>b]az" queryCommandState("stylewithcss") before 
-PASS [["stylewithcss","false"],["bold",""]] "fo[o<span contenteditable=false>bar</span>b]az" queryCommandValue("stylewithcss") before 
-PASS [["stylewithcss","false"],["bold",""]] "fo[o<span contenteditable=false>bar</span>b]az" queryCommandIndeterm("stylewithcss") after 
-PASS [["stylewithcss","false"],["bold",""]] "fo[o<span contenteditable=false>bar</span>b]az" queryCommandState("stylewithcss") after 
-PASS [["stylewithcss","false"],["bold",""]] "fo[o<span contenteditable=false>bar</span>b]az" queryCommandValue("stylewithcss") after 
-PASS [["stylewithcss","false"],["bold",""]] "fo[o<span contenteditable=false>bar</span>b]az" queryCommandIndeterm("bold") before 
-PASS [["stylewithcss","false"],["bold",""]] "fo[o<span contenteditable=false>bar</span>b]az" queryCommandState("bold") before 
-FAIL [["stylewithcss","false"],["bold",""]] "fo[o<span contenteditable=false>bar</span>b]az" queryCommandValue("bold") before assert_equals: Wrong result returned expected "" but got "false"
-PASS [["stylewithcss","false"],["bold",""]] "fo[o<span contenteditable=false>bar</span>b]az" queryCommandIndeterm("bold") after 
-PASS [["stylewithcss","false"],["bold",""]] "fo[o<span contenteditable=false>bar</span>b]az" queryCommandState("bold") after 
-FAIL [["stylewithcss","false"],["bold",""]] "fo[o<span contenteditable=false>bar</span>b]az" queryCommandValue("bold") after assert_equals: Wrong result returned expected "" but got "true"
-PASS [["bold",""]] "foo<span contenteditable=false>ba[r</span>b]az": execCommand("bold", false, "") return value 
-PASS [["bold",""]] "foo<span contenteditable=false>ba[r</span>b]az" checks for modifications to non-editable content 
-PASS [["bold",""]] "foo<span contenteditable=false>ba[r</span>b]az" compare innerHTML 
-PASS [["bold",""]] "foo<span contenteditable=false>ba[r</span>b]az" queryCommandIndeterm("bold") before 
-PASS [["bold",""]] "foo<span contenteditable=false>ba[r</span>b]az" queryCommandState("bold") before 
-FAIL [["bold",""]] "foo<span contenteditable=false>ba[r</span>b]az" queryCommandValue("bold") before assert_equals: Wrong result returned expected "" but got "false"
-PASS [["bold",""]] "foo<span contenteditable=false>ba[r</span>b]az" queryCommandIndeterm("bold") after 
-PASS [["bold",""]] "foo<span contenteditable=false>ba[r</span>b]az" queryCommandState("bold") after 
-FAIL [["bold",""]] "foo<span contenteditable=false>ba[r</span>b]az" queryCommandValue("bold") after assert_equals: Wrong result returned expected "" but got "false"
-FAIL [["bold",""]] "fo[o<span contenteditable=false>b]ar</span>baz": execCommand("bold", false, "") return value assert_equals: expected false but got true
-PASS [["bold",""]] "fo[o<span contenteditable=false>b]ar</span>baz" checks for modifications to non-editable content 
-FAIL [["bold",""]] "fo[o<span contenteditable=false>b]ar</span>baz" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "foo<span contenteditable=\"false\">bar</span>baz" but got "fo<b>o</b><span contenteditable=\"false\">bar</span>baz"
-PASS [["bold",""]] "fo[o<span contenteditable=false>b]ar</span>baz" queryCommandIndeterm("bold") before 
-PASS [["bold",""]] "fo[o<span contenteditable=false>b]ar</span>baz" queryCommandState("bold") before 
-FAIL [["bold",""]] "fo[o<span contenteditable=false>b]ar</span>baz" queryCommandValue("bold") before assert_equals: Wrong result returned expected "" but got "false"
-PASS [["bold",""]] "fo[o<span contenteditable=false>b]ar</span>baz" queryCommandIndeterm("bold") after 
-FAIL [["bold",""]] "fo[o<span contenteditable=false>b]ar</span>baz" queryCommandState("bold") after assert_equals: Wrong result returned expected false but got true
-FAIL [["bold",""]] "fo[o<span contenteditable=false>b]ar</span>baz" queryCommandValue("bold") after assert_equals: Wrong result returned expected "" but got "true"
-PASS [["stylewithcss","true"],["bold",""]] "fo[<b>o</b><span contenteditable=false>bar</span><b>b</b>]az": execCommand("stylewithcss", false, "true") return value 
-PASS [["stylewithcss","true"],["bold",""]] "fo[<b>o</b><span contenteditable=false>bar</span><b>b</b>]az": execCommand("bold", false, "") return value 
-PASS [["stylewithcss","true"],["bold",""]] "fo[<b>o</b><span contenteditable=false>bar</span><b>b</b>]az" checks for modifications to non-editable content 
-PASS [["stylewithcss","true"],["bold",""]] "fo[<b>o</b><span contenteditable=false>bar</span><b>b</b>]az" compare innerHTML 
-PASS [["stylewithcss","true"],["bold",""]] "fo[<b>o</b><span contenteditable=false>bar</span><b>b</b>]az" queryCommandIndeterm("stylewithcss") before 
-PASS [["stylewithcss","true"],["bold",""]] "fo[<b>o</b><span contenteditable=false>bar</span><b>b</b>]az" queryCommandState("stylewithcss") before 
-PASS [["stylewithcss","true"],["bold",""]] "fo[<b>o</b><span contenteditable=false>bar</span><b>b</b>]az" queryCommandValue("stylewithcss") before 
-PASS [["stylewithcss","true"],["bold",""]] "fo[<b>o</b><span contenteditable=false>bar</span><b>b</b>]az" queryCommandIndeterm("stylewithcss") after 
-PASS [["stylewithcss","true"],["bold",""]] "fo[<b>o</b><span contenteditable=false>bar</span><b>b</b>]az" queryCommandState("stylewithcss") after 
-PASS [["stylewithcss","true"],["bold",""]] "fo[<b>o</b><span contenteditable=false>bar</span><b>b</b>]az" queryCommandValue("stylewithcss") after 
-PASS [["stylewithcss","true"],["bold",""]] "fo[<b>o</b><span contenteditable=false>bar</span><b>b</b>]az" queryCommandIndeterm("bold") before 
-PASS [["stylewithcss","true"],["bold",""]] "fo[<b>o</b><span contenteditable=false>bar</span><b>b</b>]az" queryCommandState("bold") before 
-FAIL [["stylewithcss","true"],["bold",""]] "fo[<b>o</b><span contenteditable=false>bar</span><b>b</b>]az" queryCommandValue("bold") before assert_equals: Wrong result returned expected "" but got "true"
-PASS [["stylewithcss","true"],["bold",""]] "fo[<b>o</b><span contenteditable=false>bar</span><b>b</b>]az" queryCommandIndeterm("bold") after 
-PASS [["stylewithcss","true"],["bold",""]] "fo[<b>o</b><span contenteditable=false>bar</span><b>b</b>]az" queryCommandState("bold") after 
-FAIL [["stylewithcss","true"],["bold",""]] "fo[<b>o</b><span contenteditable=false>bar</span><b>b</b>]az" queryCommandValue("bold") after assert_equals: Wrong result returned expected "" but got "false"
-PASS [["stylewithcss","false"],["bold",""]] "fo[<b>o</b><span contenteditable=false>bar</span><b>b</b>]az": execCommand("stylewithcss", false, "false") return value 
-PASS [["stylewithcss","false"],["bold",""]] "fo[<b>o</b><span contenteditable=false>bar</span><b>b</b>]az": execCommand("bold", false, "") return value 
-PASS [["stylewithcss","false"],["bold",""]] "fo[<b>o</b><span contenteditable=false>bar</span><b>b</b>]az" checks for modifications to non-editable content 
-PASS [["stylewithcss","false"],["bold",""]] "fo[<b>o</b><span contenteditable=false>bar</span><b>b</b>]az" compare innerHTML 
-PASS [["stylewithcss","false"],["bold",""]] "fo[<b>o</b><span contenteditable=false>bar</span><b>b</b>]az" queryCommandIndeterm("stylewithcss") before 
-PASS [["stylewithcss","false"],["bold",""]] "fo[<b>o</b><span contenteditable=false>bar</span><b>b</b>]az" queryCommandState("stylewithcss") before 
-PASS [["stylewithcss","false"],["bold",""]] "fo[<b>o</b><span contenteditable=false>bar</span><b>b</b>]az" queryCommandValue("stylewithcss") before 
-PASS [["stylewithcss","false"],["bold",""]] "fo[<b>o</b><span contenteditable=false>bar</span><b>b</b>]az" queryCommandIndeterm("stylewithcss") after 
-PASS [["stylewithcss","false"],["bold",""]] "fo[<b>o</b><span contenteditable=false>bar</span><b>b</b>]az" queryCommandState("stylewithcss") after 
-PASS [["stylewithcss","false"],["bold",""]] "fo[<b>o</b><span contenteditable=false>bar</span><b>b</b>]az" queryCommandValue("stylewithcss") after 
-PASS [["stylewithcss","false"],["bold",""]] "fo[<b>o</b><span contenteditable=false>bar</span><b>b</b>]az" queryCommandIndeterm("bold") before 
-PASS [["stylewithcss","false"],["bold",""]] "fo[<b>o</b><span contenteditable=false>bar</span><b>b</b>]az" queryCommandState("bold") before 
-FAIL [["stylewithcss","false"],["bold",""]] "fo[<b>o</b><span contenteditable=false>bar</span><b>b</b>]az" queryCommandValue("bold") before assert_equals: Wrong result returned expected "" but got "true"
-PASS [["stylewithcss","false"],["bold",""]] "fo[<b>o</b><span contenteditable=false>bar</span><b>b</b>]az" queryCommandIndeterm("bold") after 
-PASS [["stylewithcss","false"],["bold",""]] "fo[<b>o</b><span contenteditable=false>bar</span><b>b</b>]az" queryCommandState("bold") after 
-FAIL [["stylewithcss","false"],["bold",""]] "fo[<b>o</b><span contenteditable=false>bar</span><b>b</b>]az" queryCommandValue("bold") after assert_equals: Wrong result returned expected "" but got "false"
-PASS [["stylewithcss","true"],["bold",""]] "<span contenteditable=false>foo<span contenteditable=true>[bar]</span>baz</span>": execCommand("stylewithcss", false, "true") return value 
-PASS [["stylewithcss","true"],["bold",""]] "<span contenteditable=false>foo<span contenteditable=true>[bar]</span>baz</span>": execCommand("bold", false, "") return value 
-PASS [["stylewithcss","true"],["bold",""]] "<span contenteditable=false>foo<span contenteditable=true>[bar]</span>baz</span>" checks for modifications to non-editable content 
-PASS [["stylewithcss","true"],["bold",""]] "<span contenteditable=false>foo<span contenteditable=true>[bar]</span>baz</span>" compare innerHTML 
-PASS [["stylewithcss","true"],["bold",""]] "<span contenteditable=false>foo<span contenteditable=true>[bar]</span>baz</span>" queryCommandIndeterm("stylewithcss") before 
-PASS [["stylewithcss","true"],["bold",""]] "<span contenteditable=false>foo<span contenteditable=true>[bar]</span>baz</span>" queryCommandState("stylewithcss") before 
-PASS [["stylewithcss","true"],["bold",""]] "<span contenteditable=false>foo<span contenteditable=true>[bar]</span>baz</span>" queryCommandValue("stylewithcss") before 
-PASS [["stylewithcss","true"],["bold",""]] "<span contenteditable=false>foo<span contenteditable=true>[bar]</span>baz</span>" queryCommandIndeterm("stylewithcss") after 
-PASS [["stylewithcss","true"],["bold",""]] "<span contenteditable=false>foo<span contenteditable=true>[bar]</span>baz</span>" queryCommandState("stylewithcss") after 
-PASS [["stylewithcss","true"],["bold",""]] "<span contenteditable=false>foo<span contenteditable=true>[bar]</span>baz</span>" queryCommandValue("stylewithcss") after 
-PASS [["stylewithcss","true"],["bold",""]] "<span contenteditable=false>foo<span contenteditable=true>[bar]</span>baz</span>" queryCommandIndeterm("bold") before 
-PASS [["stylewithcss","true"],["bold",""]] "<span contenteditable=false>foo<span contenteditable=true>[bar]</span>baz</span>" queryCommandState("bold") before 
-FAIL [["stylewithcss","true"],["bold",""]] "<span contenteditable=false>foo<span contenteditable=true>[bar]</span>baz</span>" queryCommandValue("bold") before assert_equals: Wrong result returned expected "" but got "false"
-PASS [["stylewithcss","true"],["bold",""]] "<span contenteditable=false>foo<span contenteditable=true>[bar]</span>baz</span>" queryCommandIndeterm("bold") after 
-PASS [["stylewithcss","true"],["bold",""]] "<span contenteditable=false>foo<span contenteditable=true>[bar]</span>baz</span>" queryCommandState("bold") after 
-FAIL [["stylewithcss","true"],["bold",""]] "<span contenteditable=false>foo<span contenteditable=true>[bar]</span>baz</span>" queryCommandValue("bold") after assert_equals: Wrong result returned expected "" but got "true"
-PASS [["stylewithcss","false"],["bold",""]] "<span contenteditable=false>foo<span contenteditable=true>[bar]</span>baz</span>": execCommand("stylewithcss", false, "false") return value 
-PASS [["stylewithcss","false"],["bold",""]] "<span contenteditable=false>foo<span contenteditable=true>[bar]</span>baz</span>": execCommand("bold", false, "") return value 
-PASS [["stylewithcss","false"],["bold",""]] "<span contenteditable=false>foo<span contenteditable=true>[bar]</span>baz</span>" checks for modifications to non-editable content 
-PASS [["stylewithcss","false"],["bold",""]] "<span contenteditable=false>foo<span contenteditable=true>[bar]</span>baz</span>" compare innerHTML 
-PASS [["stylewithcss","false"],["bold",""]] "<span contenteditable=false>foo<span contenteditable=true>[bar]</span>baz</span>" queryCommandIndeterm("stylewithcss") before 
-PASS [["stylewithcss","false"],["bold",""]] "<span contenteditable=false>foo<span contenteditable=true>[bar]</span>baz</span>" queryCommandState("stylewithcss") before 
-PASS [["stylewithcss","false"],["bold",""]] "<span contenteditable=false>foo<span contenteditable=true>[bar]</span>baz</span>" queryCommandValue("stylewithcss") before 
-PASS [["stylewithcss","false"],["bold",""]] "<span contenteditable=false>foo<span contenteditable=true>[bar]</span>baz</span>" queryCommandIndeterm("stylewithcss") after 
-PASS [["stylewithcss","false"],["bold",""]] "<span contenteditable=false>foo<span contenteditable=true>[bar]</span>baz</span>" queryCommandState("stylewithcss") after 
-PASS [["stylewithcss","false"],["bold",""]] "<span contenteditable=false>foo<span contenteditable=true>[bar]</span>baz</span>" queryCommandValue("stylewithcss") after 
-PASS [["stylewithcss","false"],["bold",""]] "<span contenteditable=false>foo<span contenteditable=true>[bar]</span>baz</span>" queryCommandIndeterm("bold") before 
-PASS [["stylewithcss","false"],["bold",""]] "<span contenteditable=false>foo<span contenteditable=true>[bar]</span>baz</span>" queryCommandState("bold") before 
-FAIL [["stylewithcss","false"],["bold",""]] "<span contenteditable=false>foo<span contenteditable=true>[bar]</span>baz</span>" queryCommandValue("bold") before assert_equals: Wrong result returned expected "" but got "false"
-PASS [["stylewithcss","false"],["bold",""]] "<span contenteditable=false>foo<span contenteditable=true>[bar]</span>baz</span>" queryCommandIndeterm("bold") after 
-PASS [["stylewithcss","false"],["bold",""]] "<span contenteditable=false>foo<span contenteditable=true>[bar]</span>baz</span>" queryCommandState("bold") after 
-FAIL [["stylewithcss","false"],["bold",""]] "<span contenteditable=false>foo<span contenteditable=true>[bar]</span>baz</span>" queryCommandValue("bold") after assert_equals: Wrong result returned expected "" but got "true"
-PASS [["bold",""]] "<span contenteditable=false>fo[o<span contenteditable=true>bar</span>b]az</span>": execCommand("bold", false, "") return value 
-PASS [["bold",""]] "<span contenteditable=false>fo[o<span contenteditable=true>bar</span>b]az</span>" checks for modifications to non-editable content 
-PASS [["bold",""]] "<span contenteditable=false>fo[o<span contenteditable=true>bar</span>b]az</span>" compare innerHTML 
-PASS [["bold",""]] "<span contenteditable=false>fo[o<span contenteditable=true>bar</span>b]az</span>" queryCommandIndeterm("bold") before 
-PASS [["bold",""]] "<span contenteditable=false>fo[o<span contenteditable=true>bar</span>b]az</span>" queryCommandState("bold") before 
-FAIL [["bold",""]] "<span contenteditable=false>fo[o<span contenteditable=true>bar</span>b]az</span>" queryCommandValue("bold") before assert_equals: Wrong result returned expected "" but got "false"
-PASS [["bold",""]] "<span contenteditable=false>fo[o<span contenteditable=true>bar</span>b]az</span>" queryCommandIndeterm("bold") after 
-PASS [["bold",""]] "<span contenteditable=false>fo[o<span contenteditable=true>bar</span>b]az</span>" queryCommandState("bold") after 
-FAIL [["bold",""]] "<span contenteditable=false>fo[o<span contenteditable=true>bar</span>b]az</span>" queryCommandValue("bold") after assert_equals: Wrong result returned expected "" but got "false"
-FAIL [["bold",""]] "<span contenteditable=false>foo<span contenteditable=true>ba[r</span>b]az</span>": execCommand("bold", false, "") return value assert_equals: expected false but got true
-PASS [["bold",""]] "<span contenteditable=false>foo<span contenteditable=true>ba[r</span>b]az</span>" checks for modifications to non-editable content 
-FAIL [["bold",""]] "<span contenteditable=false>foo<span contenteditable=true>ba[r</span>b]az</span>" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<span contenteditable=\"false\">foo<span contenteditable=\"true\">bar</span>baz</span>" but got "<span contenteditable=\"false\">foo<span contenteditable=\"true\">ba<b>r</b></span>baz</span>"
-PASS [["bold",""]] "<span contenteditable=false>foo<span contenteditable=true>ba[r</span>b]az</span>" queryCommandIndeterm("bold") before 
-PASS [["bold",""]] "<span contenteditable=false>foo<span contenteditable=true>ba[r</span>b]az</span>" queryCommandState("bold") before 
-FAIL [["bold",""]] "<span contenteditable=false>foo<span contenteditable=true>ba[r</span>b]az</span>" queryCommandValue("bold") before assert_equals: Wrong result returned expected "" but got "false"
-PASS [["bold",""]] "<span contenteditable=false>foo<span contenteditable=true>ba[r</span>b]az</span>" queryCommandIndeterm("bold") after 
-FAIL [["bold",""]] "<span contenteditable=false>foo<span contenteditable=true>ba[r</span>b]az</span>" queryCommandState("bold") after assert_equals: Wrong result returned expected false but got true
-FAIL [["bold",""]] "<span contenteditable=false>foo<span contenteditable=true>ba[r</span>b]az</span>" queryCommandValue("bold") after assert_equals: Wrong result returned expected "" but got "true"
-PASS [["bold",""]] "<span contenteditable=false>fo[o<span contenteditable=true>b]ar</span>baz</span>": execCommand("bold", false, "") return value 
-PASS [["bold",""]] "<span contenteditable=false>fo[o<span contenteditable=true>b]ar</span>baz</span>" checks for modifications to non-editable content 
-PASS [["bold",""]] "<span contenteditable=false>fo[o<span contenteditable=true>b]ar</span>baz</span>" compare innerHTML 
-PASS [["bold",""]] "<span contenteditable=false>fo[o<span contenteditable=true>b]ar</span>baz</span>" queryCommandIndeterm("bold") before 
-PASS [["bold",""]] "<span contenteditable=false>fo[o<span contenteditable=true>b]ar</span>baz</span>" queryCommandState("bold") before 
-FAIL [["bold",""]] "<span contenteditable=false>fo[o<span contenteditable=true>b]ar</span>baz</span>" queryCommandValue("bold") before assert_equals: Wrong result returned expected "" but got "false"
-PASS [["bold",""]] "<span contenteditable=false>fo[o<span contenteditable=true>b]ar</span>baz</span>" queryCommandIndeterm("bold") after 
-PASS [["bold",""]] "<span contenteditable=false>fo[o<span contenteditable=true>b]ar</span>baz</span>" queryCommandState("bold") after 
-FAIL [["bold",""]] "<span contenteditable=false>fo[o<span contenteditable=true>b]ar</span>baz</span>" queryCommandValue("bold") after assert_equals: Wrong result returned expected "" but got "false"
-PASS [["bold",""]] "<span contenteditable=false>fo[<b>o<span contenteditable=true>bar</span>b</b>]az</span>": execCommand("bold", false, "") return value 
-PASS [["bold",""]] "<span contenteditable=false>fo[<b>o<span contenteditable=true>bar</span>b</b>]az</span>" checks for modifications to non-editable content 
-PASS [["bold",""]] "<span contenteditable=false>fo[<b>o<span contenteditable=true>bar</span>b</b>]az</span>" compare innerHTML 
-PASS [["bold",""]] "<span contenteditable=false>fo[<b>o<span contenteditable=true>bar</span>b</b>]az</span>" queryCommandIndeterm("bold") before 
-PASS [["bold",""]] "<span contenteditable=false>fo[<b>o<span contenteditable=true>bar</span>b</b>]az</span>" queryCommandState("bold") before 
-FAIL [["bold",""]] "<span contenteditable=false>fo[<b>o<span contenteditable=true>bar</span>b</b>]az</span>" queryCommandValue("bold") before assert_equals: Wrong result returned expected "" but got "true"
-PASS [["bold",""]] "<span contenteditable=false>fo[<b>o<span contenteditable=true>bar</span>b</b>]az</span>" queryCommandIndeterm("bold") after 
-PASS [["bold",""]] "<span contenteditable=false>fo[<b>o<span contenteditable=true>bar</span>b</b>]az</span>" queryCommandState("bold") after 
-FAIL [["bold",""]] "<span contenteditable=false>fo[<b>o<span contenteditable=true>bar</span>b</b>]az</span>" queryCommandValue("bold") after assert_equals: Wrong result returned expected "" but got "true"
-PASS [["stylewithcss","true"],["bold",""]] "<table><tbody><tr><td>foo<td>b[a]r<td>baz</table>": execCommand("stylewithcss", false, "true") return value 
-PASS [["stylewithcss","true"],["bold",""]] "<table><tbody><tr><td>foo<td>b[a]r<td>baz</table>": execCommand("bold", false, "") return value 
-PASS [["stylewithcss","true"],["bold",""]] "<table><tbody><tr><td>foo<td>b[a]r<td>baz</table>" checks for modifications to non-editable content 
-PASS [["stylewithcss","true"],["bold",""]] "<table><tbody><tr><td>foo<td>b[a]r<td>baz</table>" compare innerHTML 
-PASS [["stylewithcss","true"],["bold",""]] "<table><tbody><tr><td>foo<td>b[a]r<td>baz</table>" queryCommandIndeterm("stylewithcss") before 
-PASS [["stylewithcss","true"],["bold",""]] "<table><tbody><tr><td>foo<td>b[a]r<td>baz</table>" queryCommandState("stylewithcss") before 
-PASS [["stylewithcss","true"],["bold",""]] "<table><tbody><tr><td>foo<td>b[a]r<td>baz</table>" queryCommandValue("stylewithcss") before 
-PASS [["stylewithcss","true"],["bold",""]] "<table><tbody><tr><td>foo<td>b[a]r<td>baz</table>" queryCommandIndeterm("stylewithcss") after 
-PASS [["stylewithcss","true"],["bold",""]] "<table><tbody><tr><td>foo<td>b[a]r<td>baz</table>" queryCommandState("stylewithcss") after 
-PASS [["stylewithcss","true"],["bold",""]] "<table><tbody><tr><td>foo<td>b[a]r<td>baz</table>" queryCommandValue("stylewithcss") after 
-PASS [["stylewithcss","true"],["bold",""]] "<table><tbody><tr><td>foo<td>b[a]r<td>baz</table>" queryCommandIndeterm("bold") before 
-PASS [["stylewithcss","true"],["bold",""]] "<table><tbody><tr><td>foo<td>b[a]r<td>baz</table>" queryCommandState("bold") before 
-FAIL [["stylewithcss","true"],["bold",""]] "<table><tbody><tr><td>foo<td>b[a]r<td>baz</table>" queryCommandValue("bold") before assert_equals: Wrong result returned expected "" but got "false"
-PASS [["stylewithcss","true"],["bold",""]] "<table><tbody><tr><td>foo<td>b[a]r<td>baz</table>" queryCommandIndeterm("bold") after 
-PASS [["stylewithcss","true"],["bold",""]] "<table><tbody><tr><td>foo<td>b[a]r<td>baz</table>" queryCommandState("bold") after 
-FAIL [["stylewithcss","true"],["bold",""]] "<table><tbody><tr><td>foo<td>b[a]r<td>baz</table>" queryCommandValue("bold") after assert_equals: Wrong result returned expected "" but got "true"
-PASS [["stylewithcss","false"],["bold",""]] "<table><tbody><tr><td>foo<td>b[a]r<td>baz</table>": execCommand("stylewithcss", false, "false") return value 
-PASS [["stylewithcss","false"],["bold",""]] "<table><tbody><tr><td>foo<td>b[a]r<td>baz</table>": execCommand("bold", false, "") return value 
-PASS [["stylewithcss","false"],["bold",""]] "<table><tbody><tr><td>foo<td>b[a]r<td>baz</table>" checks for modifications to non-editable content 
-PASS [["stylewithcss","false"],["bold",""]] "<table><tbody><tr><td>foo<td>b[a]r<td>baz</table>" compare innerHTML 
-PASS [["stylewithcss","false"],["bold",""]] "<table><tbody><tr><td>foo<td>b[a]r<td>baz</table>" queryCommandIndeterm("stylewithcss") before 
-PASS [["stylewithcss","false"],["bold",""]] "<table><tbody><tr><td>foo<td>b[a]r<td>baz</table>" queryCommandState("stylewithcss") before 
-PASS [["stylewithcss","false"],["bold",""]] "<table><tbody><tr><td>foo<td>b[a]r<td>baz</table>" queryCommandValue("stylewithcss") before 
-PASS [["stylewithcss","false"],["bold",""]] "<table><tbody><tr><td>foo<td>b[a]r<td>baz</table>" queryCommandIndeterm("stylewithcss") after 
-PASS [["stylewithcss","false"],["bold",""]] "<table><tbody><tr><td>foo<td>b[a]r<td>baz</table>" queryCommandState("stylewithcss") after 
-PASS [["stylewithcss","false"],["bold",""]] "<table><tbody><tr><td>foo<td>b[a]r<td>baz</table>" queryCommandValue("stylewithcss") after 
-PASS [["stylewithcss","false"],["bold",""]] "<table><tbody><tr><td>foo<td>b[a]r<td>baz</table>" queryCommandIndeterm("bold") before 
-PASS [["stylewithcss","false"],["bold",""]] "<table><tbody><tr><td>foo<td>b[a]r<td>baz</table>" queryCommandState("bold") before 
-FAIL [["stylewithcss","false"],["bold",""]] "<table><tbody><tr><td>foo<td>b[a]r<td>baz</table>" queryCommandValue("bold") before assert_equals: Wrong result returned expected "" but got "false"
-PASS [["stylewithcss","false"],["bold",""]] "<table><tbody><tr><td>foo<td>b[a]r<td>baz</table>" queryCommandIndeterm("bold") after 
-PASS [["stylewithcss","false"],["bold",""]] "<table><tbody><tr><td>foo<td>b[a]r<td>baz</table>" queryCommandState("bold") after 
-FAIL [["stylewithcss","false"],["bold",""]] "<table><tbody><tr><td>foo<td>b[a]r<td>baz</table>" queryCommandValue("bold") after assert_equals: Wrong result returned expected "" but got "true"
-PASS [["stylewithcss","true"],["bold",""]] "<table><tbody><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table>": execCommand("stylewithcss", false, "true") return value 
-PASS [["stylewithcss","true"],["bold",""]] "<table><tbody><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table>": execCommand("bold", false, "") return value 
-PASS [["stylewithcss","true"],["bold",""]] "<table><tbody><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table>" checks for modifications to non-editable content 
-PASS [["stylewithcss","true"],["bold",""]] "<table><tbody><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table>" compare innerHTML 
-PASS [["stylewithcss","true"],["bold",""]] "<table><tbody><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table>" queryCommandIndeterm("stylewithcss") before 
-PASS [["stylewithcss","true"],["bold",""]] "<table><tbody><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table>" queryCommandState("stylewithcss") before 
-PASS [["stylewithcss","true"],["bold",""]] "<table><tbody><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table>" queryCommandValue("stylewithcss") before 
-PASS [["stylewithcss","true"],["bold",""]] "<table><tbody><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table>" queryCommandIndeterm("stylewithcss") after 
-PASS [["stylewithcss","true"],["bold",""]] "<table><tbody><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table>" queryCommandState("stylewithcss") after 
-PASS [["stylewithcss","true"],["bold",""]] "<table><tbody><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table>" queryCommandValue("stylewithcss") after 
-PASS [["stylewithcss","true"],["bold",""]] "<table><tbody><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table>" queryCommandIndeterm("bold") before 
-PASS [["stylewithcss","true"],["bold",""]] "<table><tbody><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table>" queryCommandState("bold") before 
-FAIL [["stylewithcss","true"],["bold",""]] "<table><tbody><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table>" queryCommandValue("bold") before assert_equals: Wrong result returned expected "" but got "false"
-PASS [["stylewithcss","true"],["bold",""]] "<table><tbody><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table>" queryCommandIndeterm("bold") after 
-PASS [["stylewithcss","true"],["bold",""]] "<table><tbody><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table>" queryCommandState("bold") after 
-FAIL [["stylewithcss","true"],["bold",""]] "<table><tbody><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table>" queryCommandValue("bold") after assert_equals: Wrong result returned expected "" but got "true"
-PASS [["stylewithcss","false"],["bold",""]] "<table><tbody><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table>": execCommand("stylewithcss", false, "false") return value 
-PASS [["stylewithcss","false"],["bold",""]] "<table><tbody><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table>": execCommand("bold", false, "") return value 
-PASS [["stylewithcss","false"],["bold",""]] "<table><tbody><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table>" checks for modifications to non-editable content 
-PASS [["stylewithcss","false"],["bold",""]] "<table><tbody><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table>" compare innerHTML 
-PASS [["stylewithcss","false"],["bold",""]] "<table><tbody><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table>" queryCommandIndeterm("stylewithcss") before 
-PASS [["stylewithcss","false"],["bold",""]] "<table><tbody><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table>" queryCommandState("stylewithcss") before 
-PASS [["stylewithcss","false"],["bold",""]] "<table><tbody><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table>" queryCommandValue("stylewithcss") before 
-PASS [["stylewithcss","false"],["bold",""]] "<table><tbody><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table>" queryCommandIndeterm("stylewithcss") after 
-PASS [["stylewithcss","false"],["bold",""]] "<table><tbody><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table>" queryCommandState("stylewithcss") after 
-PASS [["stylewithcss","false"],["bold",""]] "<table><tbody><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table>" queryCommandValue("stylewithcss") after 
-PASS [["stylewithcss","false"],["bold",""]] "<table><tbody><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table>" queryCommandIndeterm("bold") before 
-PASS [["stylewithcss","false"],["bold",""]] "<table><tbody><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table>" queryCommandState("bold") before 
-FAIL [["stylewithcss","false"],["bold",""]] "<table><tbody><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table>" queryCommandValue("bold") before assert_equals: Wrong result returned expected "" but got "false"
-PASS [["stylewithcss","false"],["bold",""]] "<table><tbody><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table>" queryCommandIndeterm("bold") after 
-PASS [["stylewithcss","false"],["bold",""]] "<table><tbody><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table>" queryCommandState("bold") after 
-FAIL [["stylewithcss","false"],["bold",""]] "<table><tbody><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table>" queryCommandValue("bold") after assert_equals: Wrong result returned expected "" but got "true"
-PASS [["stylewithcss","true"],["bold",""]] "<table><tbody><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table>": execCommand("stylewithcss", false, "true") return value 
-PASS [["stylewithcss","true"],["bold",""]] "<table><tbody><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table>": execCommand("bold", false, "") return value 
-PASS [["stylewithcss","true"],["bold",""]] "<table><tbody><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table>" checks for modifications to non-editable content 
-PASS [["stylewithcss","true"],["bold",""]] "<table><tbody><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table>" compare innerHTML 
-PASS [["stylewithcss","true"],["bold",""]] "<table><tbody><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table>" queryCommandIndeterm("stylewithcss") before 
-PASS [["stylewithcss","true"],["bold",""]] "<table><tbody><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table>" queryCommandState("stylewithcss") before 
-PASS [["stylewithcss","true"],["bold",""]] "<table><tbody><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table>" queryCommandValue("stylewithcss") before 
-PASS [["stylewithcss","true"],["bold",""]] "<table><tbody><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table>" queryCommandIndeterm("stylewithcss") after 
-PASS [["stylewithcss","true"],["bold",""]] "<table><tbody><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table>" queryCommandState("stylewithcss") after 
-PASS [["stylewithcss","true"],["bold",""]] "<table><tbody><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table>" queryCommandValue("stylewithcss") after 
-PASS [["stylewithcss","true"],["bold",""]] "<table><tbody><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table>" queryCommandIndeterm("bold") before 
-PASS [["stylewithcss","true"],["bold",""]] "<table><tbody><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table>" queryCommandState("bold") before 
-FAIL [["stylewithcss","true"],["bold",""]] "<table><tbody><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table>" queryCommandValue("bold") before assert_equals: Wrong result returned expected "" but got "false"
-PASS [["stylewithcss","true"],["bold",""]] "<table><tbody><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table>" queryCommandIndeterm("bold") after 
-PASS [["stylewithcss","true"],["bold",""]] "<table><tbody><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table>" queryCommandState("bold") after 
-FAIL [["stylewithcss","true"],["bold",""]] "<table><tbody><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table>" queryCommandValue("bold") after assert_equals: Wrong result returned expected "" but got "true"
-PASS [["stylewithcss","false"],["bold",""]] "<table><tbody><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table>": execCommand("stylewithcss", false, "false") return value 
-PASS [["stylewithcss","false"],["bold",""]] "<table><tbody><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table>": execCommand("bold", false, "") return value 
-PASS [["stylewithcss","false"],["bold",""]] "<table><tbody><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table>" checks for modifications to non-editable content 
-PASS [["stylewithcss","false"],["bold",""]] "<table><tbody><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table>" compare innerHTML 
-PASS [["stylewithcss","false"],["bold",""]] "<table><tbody><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table>" queryCommandIndeterm("stylewithcss") before 
-PASS [["stylewithcss","false"],["bold",""]] "<table><tbody><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table>" queryCommandState("stylewithcss") before 
-PASS [["stylewithcss","false"],["bold",""]] "<table><tbody><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table>" queryCommandValue("stylewithcss") before 
-PASS [["stylewithcss","false"],["bold",""]] "<table><tbody><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table>" queryCommandIndeterm("stylewithcss") after 
-PASS [["stylewithcss","false"],["bold",""]] "<table><tbody><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table>" queryCommandState("stylewithcss") after 
-PASS [["stylewithcss","false"],["bold",""]] "<table><tbody><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table>" queryCommandValue("stylewithcss") after 
-PASS [["stylewithcss","false"],["bold",""]] "<table><tbody><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table>" queryCommandIndeterm("bold") before 
-PASS [["stylewithcss","false"],["bold",""]] "<table><tbody><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table>" queryCommandState("bold") before 
-FAIL [["stylewithcss","false"],["bold",""]] "<table><tbody><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table>" queryCommandValue("bold") before assert_equals: Wrong result returned expected "" but got "false"
-PASS [["stylewithcss","false"],["bold",""]] "<table><tbody><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table>" queryCommandIndeterm("bold") after 
-PASS [["stylewithcss","false"],["bold",""]] "<table><tbody><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table>" queryCommandState("bold") after 
-FAIL [["stylewithcss","false"],["bold",""]] "<table><tbody><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table>" queryCommandValue("bold") after assert_equals: Wrong result returned expected "" but got "true"
-PASS [["stylewithcss","true"],["bold",""]] "<table><tbody data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table>": execCommand("stylewithcss", false, "true") return value 
-PASS [["stylewithcss","true"],["bold",""]] "<table><tbody data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table>": execCommand("bold", false, "") return value 
-PASS [["stylewithcss","true"],["bold",""]] "<table><tbody data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table>" checks for modifications to non-editable content 
-PASS [["stylewithcss","true"],["bold",""]] "<table><tbody data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table>" compare innerHTML 
-PASS [["stylewithcss","true"],["bold",""]] "<table><tbody data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table>" queryCommandIndeterm("stylewithcss") before 
-PASS [["stylewithcss","true"],["bold",""]] "<table><tbody data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table>" queryCommandState("stylewithcss") before 
-PASS [["stylewithcss","true"],["bold",""]] "<table><tbody data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table>" queryCommandValue("stylewithcss") before 
-PASS [["stylewithcss","true"],["bold",""]] "<table><tbody data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table>" queryCommandIndeterm("stylewithcss") after 
-PASS [["stylewithcss","true"],["bold",""]] "<table><tbody data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table>" queryCommandState("stylewithcss") after 
-PASS [["stylewithcss","true"],["bold",""]] "<table><tbody data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table>" queryCommandValue("stylewithcss") after 
-PASS [["stylewithcss","true"],["bold",""]] "<table><tbody data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table>" queryCommandIndeterm("bold") before 
-PASS [["stylewithcss","true"],["bold",""]] "<table><tbody data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table>" queryCommandState("bold") before 
-FAIL [["stylewithcss","true"],["bold",""]] "<table><tbody data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table>" queryCommandValue("bold") before assert_equals: Wrong result returned expected "" but got "false"
-PASS [["stylewithcss","true"],["bold",""]] "<table><tbody data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table>" queryCommandIndeterm("bold") after 
-PASS [["stylewithcss","true"],["bold",""]] "<table><tbody data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table>" queryCommandState("bold") after 
-FAIL [["stylewithcss","true"],["bold",""]] "<table><tbody data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table>" queryCommandValue("bold") after assert_equals: Wrong result returned expected "" but got "true"
-PASS [["stylewithcss","false"],["bold",""]] "<table><tbody data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table>": execCommand("stylewithcss", false, "false") return value 
-PASS [["stylewithcss","false"],["bold",""]] "<table><tbody data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table>": execCommand("bold", false, "") return value 
-PASS [["stylewithcss","false"],["bold",""]] "<table><tbody data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table>" checks for modifications to non-editable content 
-PASS [["stylewithcss","false"],["bold",""]] "<table><tbody data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table>" compare innerHTML 
-PASS [["stylewithcss","false"],["bold",""]] "<table><tbody data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table>" queryCommandIndeterm("stylewithcss") before 
-PASS [["stylewithcss","false"],["bold",""]] "<table><tbody data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table>" queryCommandState("stylewithcss") before 
-PASS [["stylewithcss","false"],["bold",""]] "<table><tbody data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table>" queryCommandValue("stylewithcss") before 
-PASS [["stylewithcss","false"],["bold",""]] "<table><tbody data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table>" queryCommandIndeterm("stylewithcss") after 
-PASS [["stylewithcss","false"],["bold",""]] "<table><tbody data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table>" queryCommandState("stylewithcss") after 
-PASS [["stylewithcss","false"],["bold",""]] "<table><tbody data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table>" queryCommandValue("stylewithcss") after 
-PASS [["stylewithcss","false"],["bold",""]] "<table><tbody data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table>" queryCommandIndeterm("bold") before 
-PASS [["stylewithcss","false"],["bold",""]] "<table><tbody data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table>" queryCommandState("bold") before 
-FAIL [["stylewithcss","false"],["bold",""]] "<table><tbody data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table>" queryCommandValue("bold") before assert_equals: Wrong result returned expected "" but got "false"
-PASS [["stylewithcss","false"],["bold",""]] "<table><tbody data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table>" queryCommandIndeterm("bold") after 
-PASS [["stylewithcss","false"],["bold",""]] "<table><tbody data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table>" queryCommandState("bold") after 
-FAIL [["stylewithcss","false"],["bold",""]] "<table><tbody data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table>" queryCommandValue("bold") after assert_equals: Wrong result returned expected "" but got "true"
-PASS [["stylewithcss","true"],["bold",""]] "<table data-start=0 data-end=1><tbody><tr><td>foo<td>bar<td>baz</table>": execCommand("stylewithcss", false, "true") return value 
-PASS [["stylewithcss","true"],["bold",""]] "<table data-start=0 data-end=1><tbody><tr><td>foo<td>bar<td>baz</table>": execCommand("bold", false, "") return value 
-PASS [["stylewithcss","true"],["bold",""]] "<table data-start=0 data-end=1><tbody><tr><td>foo<td>bar<td>baz</table>" checks for modifications to non-editable content 
-PASS [["stylewithcss","true"],["bold",""]] "<table data-start=0 data-end=1><tbody><tr><td>foo<td>bar<td>baz</table>" compare innerHTML 
-PASS [["stylewithcss","true"],["bold",""]] "<table data-start=0 data-end=1><tbody><tr><td>foo<td>bar<td>baz</table>" queryCommandIndeterm("stylewithcss") before 
-PASS [["stylewithcss","true"],["bold",""]] "<table data-start=0 data-end=1><tbody><tr><td>foo<td>bar<td>baz</table>" queryCommandState("stylewithcss") before 
-PASS [["stylewithcss","true"],["bold",""]] "<table data-start=0 data-end=1><tbody><tr><td>foo<td>bar<td>baz</table>" queryCommandValue("stylewithcss") before 
-PASS [["stylewithcss","true"],["bold",""]] "<table data-start=0 data-end=1><tbody><tr><td>foo<td>bar<td>baz</table>" queryCommandIndeterm("stylewithcss") after 
-PASS [["stylewithcss","true"],["bold",""]] "<table data-start=0 data-end=1><tbody><tr><td>foo<td>bar<td>baz</table>" queryCommandState("stylewithcss") after 
-PASS [["stylewithcss","true"],["bold",""]] "<table data-start=0 data-end=1><tbody><tr><td>foo<td>bar<td>baz</table>" queryCommandValue("stylewithcss") after 
-PASS [["stylewithcss","true"],["bold",""]] "<table data-start=0 data-end=1><tbody><tr><td>foo<td>bar<td>baz</table>" queryCommandIndeterm("bold") before 
-PASS [["stylewithcss","true"],["bold",""]] "<table data-start=0 data-end=1><tbody><tr><td>foo<td>bar<td>baz</table>" queryCommandState("bold") before 
-FAIL [["stylewithcss","true"],["bold",""]] "<table data-start=0 data-end=1><tbody><tr><td>foo<td>bar<td>baz</table>" queryCommandValue("bold") before assert_equals: Wrong result returned expected "" but got "false"
-PASS [["stylewithcss","true"],["bold",""]] "<table data-start=0 data-end=1><tbody><tr><td>foo<td>bar<td>baz</table>" queryCommandIndeterm("bold") after 
-FAIL [["stylewithcss","true"],["bold",""]] "<table data-start=0 data-end=1><tbody><tr><td>foo<td>bar<td>baz</table>" queryCommandState("bold") after assert_equals: Wrong result returned expected true but got false
-FAIL [["stylewithcss","true"],["bold",""]] "<table data-start=0 data-end=1><tbody><tr><td>foo<td>bar<td>baz</table>" queryCommandValue("bold") after assert_equals: Wrong result returned expected "" but got "false"
-PASS [["stylewithcss","false"],["bold",""]] "<table data-start=0 data-end=1><tbody><tr><td>foo<td>bar<td>baz</table>": execCommand("stylewithcss", false, "false") return value 
-PASS [["stylewithcss","false"],["bold",""]] "<table data-start=0 data-end=1><tbody><tr><td>foo<td>bar<td>baz</table>": execCommand("bold", false, "") return value 
-PASS [["stylewithcss","false"],["bold",""]] "<table data-start=0 data-end=1><tbody><tr><td>foo<td>bar<td>baz</table>" checks for modifications to non-editable content 
-PASS [["stylewithcss","false"],["bold",""]] "<table data-start=0 data-end=1><tbody><tr><td>foo<td>bar<td>baz</table>" compare innerHTML 
-PASS [["stylewithcss","false"],["bold",""]] "<table data-start=0 data-end=1><tbody><tr><td>foo<td>bar<td>baz</table>" queryCommandIndeterm("stylewithcss") before 
-PASS [["stylewithcss","false"],["bold",""]] "<table data-start=0 data-end=1><tbody><tr><td>foo<td>bar<td>baz</table>" queryCommandState("stylewithcss") before 
-PASS [["stylewithcss","false"],["bold",""]] "<table data-start=0 data-end=1><tbody><tr><td>foo<td>bar<td>baz</table>" queryCommandValue("stylewithcss") before 
-PASS [["stylewithcss","false"],["bold",""]] "<table data-start=0 data-end=1><tbody><tr><td>foo<td>bar<td>baz</table>" queryCommandIndeterm("stylewithcss") after 
-PASS [["stylewithcss","false"],["bold",""]] "<table data-start=0 data-end=1><tbody><tr><td>foo<td>bar<td>baz</table>" queryCommandState("stylewithcss") after 
-PASS [["stylewithcss","false"],["bold",""]] "<table data-start=0 data-end=1><tbody><tr><td>foo<td>bar<td>baz</table>" queryCommandValue("stylewithcss") after 
-PASS [["stylewithcss","false"],["bold",""]] "<table data-start=0 data-end=1><tbody><tr><td>foo<td>bar<td>baz</table>" queryCommandIndeterm("bold") before 
-PASS [["stylewithcss","false"],["bold",""]] "<table data-start=0 data-end=1><tbody><tr><td>foo<td>bar<td>baz</table>" queryCommandState("bold") before 
-FAIL [["stylewithcss","false"],["bold",""]] "<table data-start=0 data-end=1><tbody><tr><td>foo<td>bar<td>baz</table>" queryCommandValue("bold") before assert_equals: Wrong result returned expected "" but got "false"
-PASS [["stylewithcss","false"],["bold",""]] "<table data-start=0 data-end=1><tbody><tr><td>foo<td>bar<td>baz</table>" queryCommandIndeterm("bold") after 
-FAIL [["stylewithcss","false"],["bold",""]] "<table data-start=0 data-end=1><tbody><tr><td>foo<td>bar<td>baz</table>" queryCommandState("bold") after assert_equals: Wrong result returned expected true but got false
-FAIL [["stylewithcss","false"],["bold",""]] "<table data-start=0 data-end=1><tbody><tr><td>foo<td>bar<td>baz</table>" queryCommandValue("bold") after assert_equals: Wrong result returned expected "" but got "false"
-PASS [["stylewithcss","true"],["bold",""]] "{<table><tr><td>foo<td>bar<td>baz</table>}": execCommand("stylewithcss", false, "true") return value 
-PASS [["stylewithcss","true"],["bold",""]] "{<table><tr><td>foo<td>bar<td>baz</table>}": execCommand("bold", false, "") return value 
-PASS [["stylewithcss","true"],["bold",""]] "{<table><tr><td>foo<td>bar<td>baz</table>}" checks for modifications to non-editable content 
-PASS [["stylewithcss","true"],["bold",""]] "{<table><tr><td>foo<td>bar<td>baz</table>}" compare innerHTML 
-PASS [["stylewithcss","true"],["bold",""]] "{<table><tr><td>foo<td>bar<td>baz</table>}" queryCommandIndeterm("stylewithcss") before 
-PASS [["stylewithcss","true"],["bold",""]] "{<table><tr><td>foo<td>bar<td>baz</table>}" queryCommandState("stylewithcss") before 
-PASS [["stylewithcss","true"],["bold",""]] "{<table><tr><td>foo<td>bar<td>baz</table>}" queryCommandValue("stylewithcss") before 
-PASS [["stylewithcss","true"],["bold",""]] "{<table><tr><td>foo<td>bar<td>baz</table>}" queryCommandIndeterm("stylewithcss") after 
-PASS [["stylewithcss","true"],["bold",""]] "{<table><tr><td>foo<td>bar<td>baz</table>}" queryCommandState("stylewithcss") after 
-PASS [["stylewithcss","true"],["bold",""]] "{<table><tr><td>foo<td>bar<td>baz</table>}" queryCommandValue("stylewithcss") after 
-PASS [["stylewithcss","true"],["bold",""]] "{<table><tr><td>foo<td>bar<td>baz</table>}" queryCommandIndeterm("bold") before 
-PASS [["stylewithcss","true"],["bold",""]] "{<table><tr><td>foo<td>bar<td>baz</table>}" queryCommandState("bold") before 
-FAIL [["stylewithcss","true"],["bold",""]] "{<table><tr><td>foo<td>bar<td>baz</table>}" queryCommandValue("bold") before assert_equals: Wrong result returned expected "" but got "false"
-PASS [["stylewithcss","true"],["bold",""]] "{<table><tr><td>foo<td>bar<td>baz</table>}" queryCommandIndeterm("bold") after 
-FAIL [["stylewithcss","true"],["bold",""]] "{<table><tr><td>foo<td>bar<td>baz</table>}" queryCommandState("bold") after assert_equals: Wrong result returned expected true but got false
-FAIL [["stylewithcss","true"],["bold",""]] "{<table><tr><td>foo<td>bar<td>baz</table>}" queryCommandValue("bold") after assert_equals: Wrong result returned expected "" but got "false"
-PASS [["stylewithcss","false"],["bold",""]] "{<table><tr><td>foo<td>bar<td>baz</table>}": execCommand("stylewithcss", false, "false") return value 
-PASS [["stylewithcss","false"],["bold",""]] "{<table><tr><td>foo<td>bar<td>baz</table>}": execCommand("bold", false, "") return value 
-PASS [["stylewithcss","false"],["bold",""]] "{<table><tr><td>foo<td>bar<td>baz</table>}" checks for modifications to non-editable content 
-PASS [["stylewithcss","false"],["bold",""]] "{<table><tr><td>foo<td>bar<td>baz</table>}" compare innerHTML 
-PASS [["stylewithcss","false"],["bold",""]] "{<table><tr><td>foo<td>bar<td>baz</table>}" queryCommandIndeterm("stylewithcss") before 
-PASS [["stylewithcss","false"],["bold",""]] "{<table><tr><td>foo<td>bar<td>baz</table>}" queryCommandState("stylewithcss") before 
-PASS [["stylewithcss","false"],["bold",""]] "{<table><tr><td>foo<td>bar<td>baz</table>}" queryCommandValue("stylewithcss") before 
-PASS [["stylewithcss","false"],["bold",""]] "{<table><tr><td>foo<td>bar<td>baz</table>}" queryCommandIndeterm("stylewithcss") after 
-PASS [["stylewithcss","false"],["bold",""]] "{<table><tr><td>foo<td>bar<td>baz</table>}" queryCommandState("stylewithcss") after 
-PASS [["stylewithcss","false"],["bold",""]] "{<table><tr><td>foo<td>bar<td>baz</table>}" queryCommandValue("stylewithcss") after 
-PASS [["stylewithcss","false"],["bold",""]] "{<table><tr><td>foo<td>bar<td>baz</table>}" queryCommandIndeterm("bold") before 
-PASS [["stylewithcss","false"],["bold",""]] "{<table><tr><td>foo<td>bar<td>baz</table>}" queryCommandState("bold") before 
-FAIL [["stylewithcss","false"],["bold",""]] "{<table><tr><td>foo<td>bar<td>baz</table>}" queryCommandValue("bold") before assert_equals: Wrong result returned expected "" but got "false"
-PASS [["stylewithcss","false"],["bold",""]] "{<table><tr><td>foo<td>bar<td>baz</table>}" queryCommandIndeterm("bold") after 
-FAIL [["stylewithcss","false"],["bold",""]] "{<table><tr><td>foo<td>bar<td>baz</table>}" queryCommandState("bold") after assert_equals: Wrong result returned expected true but got false
-FAIL [["stylewithcss","false"],["bold",""]] "{<table><tr><td>foo<td>bar<td>baz</table>}" queryCommandValue("bold") after assert_equals: Wrong result returned expected "" but got "false"
-PASS [["stylewithcss","true"],["bold",""]] "foo<span style=\"font-weight: bold\">[bar]</span>baz": execCommand("stylewithcss", false, "true") return value 
-PASS [["stylewithcss","true"],["bold",""]] "foo<span style=\"font-weight: bold\">[bar]</span>baz": execCommand("bold", false, "") return value 
-PASS [["stylewithcss","true"],["bold",""]] "foo<span style=\"font-weight: bold\">[bar]</span>baz" checks for modifications to non-editable content 
-PASS [["stylewithcss","true"],["bold",""]] "foo<span style=\"font-weight: bold\">[bar]</span>baz" compare innerHTML 
-PASS [["stylewithcss","true"],["bold",""]] "foo<span style=\"font-weight: bold\">[bar]</span>baz" queryCommandIndeterm("stylewithcss") before 
-PASS [["stylewithcss","true"],["bold",""]] "foo<span style=\"font-weight: bold\">[bar]</span>baz" queryCommandState("stylewithcss") before 
-PASS [["stylewithcss","true"],["bold",""]] "foo<span style=\"font-weight: bold\">[bar]</span>baz" queryCommandValue("stylewithcss") before 
-PASS [["stylewithcss","true"],["bold",""]] "foo<span style=\"font-weight: bold\">[bar]</span>baz" queryCommandIndeterm("stylewithcss") after 
-PASS [["stylewithcss","true"],["bold",""]] "foo<span style=\"font-weight: bold\">[bar]</span>baz" queryCommandState("stylewithcss") after 
-PASS [["stylewithcss","true"],["bold",""]] "foo<span style=\"font-weight: bold\">[bar]</span>baz" queryCommandValue("stylewithcss") after 
-PASS [["stylewithcss","true"],["bold",""]] "foo<span style=\"font-weight: bold\">[bar]</span>baz" queryCommandIndeterm("bold") before 
-PASS [["stylewithcss","true"],["bold",""]] "foo<span style=\"font-weight: bold\">[bar]</span>baz" queryCommandState("bold") before 
-FAIL [["stylewithcss","true"],["bold",""]] "foo<span style=\"font-weight: bold\">[bar]</span>baz" queryCommandValue("bold") before assert_equals: Wrong result returned expected "" but got "true"
-PASS [["stylewithcss","true"],["bold",""]] "foo<span style=\"font-weight: bold\">[bar]</span>baz" queryCommandIndeterm("bold") after 
-PASS [["stylewithcss","true"],["bold",""]] "foo<span style=\"font-weight: bold\">[bar]</span>baz" queryCommandState("bold") after 
-FAIL [["stylewithcss","true"],["bold",""]] "foo<span style=\"font-weight: bold\">[bar]</span>baz" queryCommandValue("bold") after assert_equals: Wrong result returned expected "" but got "false"
-PASS [["stylewithcss","false"],["bold",""]] "foo<span style=\"font-weight: bold\">[bar]</span>baz": execCommand("stylewithcss", false, "false") return value 
-PASS [["stylewithcss","false"],["bold",""]] "foo<span style=\"font-weight: bold\">[bar]</span>baz": execCommand("bold", false, "") return value 
-PASS [["stylewithcss","false"],["bold",""]] "foo<span style=\"font-weight: bold\">[bar]</span>baz" checks for modifications to non-editable content 
-PASS [["stylewithcss","false"],["bold",""]] "foo<span style=\"font-weight: bold\">[bar]</span>baz" compare innerHTML 
-PASS [["stylewithcss","false"],["bold",""]] "foo<span style=\"font-weight: bold\">[bar]</span>baz" queryCommandIndeterm("stylewithcss") before 
-PASS [["stylewithcss","false"],["bold",""]] "foo<span style=\"font-weight: bold\">[bar]</span>baz" queryCommandState("stylewithcss") before 
-PASS [["stylewithcss","false"],["bold",""]] "foo<span style=\"font-weight: bold\">[bar]</span>baz" queryCommandValue("stylewithcss") before 
-PASS [["stylewithcss","false"],["bold",""]] "foo<span style=\"font-weight: bold\">[bar]</span>baz" queryCommandIndeterm("stylewithcss") after 
-PASS [["stylewithcss","false"],["bold",""]] "foo<span style=\"font-weight: bold\">[bar]</span>baz" queryCommandState("stylewithcss") after 
-PASS [["stylewithcss","false"],["bold",""]] "foo<span style=\"font-weight: bold\">[bar]</span>baz" queryCommandValue("stylewithcss") after 
-PASS [["stylewithcss","false"],["bold",""]] "foo<span style=\"font-weight: bold\">[bar]</span>baz" queryCommandIndeterm("bold") before 
-PASS [["stylewithcss","false"],["bold",""]] "foo<span style=\"font-weight: bold\">[bar]</span>baz" queryCommandState("bold") before 
-FAIL [["stylewithcss","false"],["bold",""]] "foo<span style=\"font-weight: bold\">[bar]</span>baz" queryCommandValue("bold") before assert_equals: Wrong result returned expected "" but got "true"
-PASS [["stylewithcss","false"],["bold",""]] "foo<span style=\"font-weight: bold\">[bar]</span>baz" queryCommandIndeterm("bold") after 
-PASS [["stylewithcss","false"],["bold",""]] "foo<span style=\"font-weight: bold\">[bar]</span>baz" queryCommandState("bold") after 
-FAIL [["stylewithcss","false"],["bold",""]] "foo<span style=\"font-weight: bold\">[bar]</span>baz" queryCommandValue("bold") after assert_equals: Wrong result returned expected "" but got "false"
-PASS [["stylewithcss","true"],["bold",""]] "foo<b>[bar]</b>baz": execCommand("stylewithcss", false, "true") return value 
-PASS [["stylewithcss","true"],["bold",""]] "foo<b>[bar]</b>baz": execCommand("bold", false, "") return value 
-PASS [["stylewithcss","true"],["bold",""]] "foo<b>[bar]</b>baz" checks for modifications to non-editable content 
-PASS [["stylewithcss","true"],["bold",""]] "foo<b>[bar]</b>baz" compare innerHTML 
-PASS [["stylewithcss","true"],["bold",""]] "foo<b>[bar]</b>baz" queryCommandIndeterm("stylewithcss") before 
-PASS [["stylewithcss","true"],["bold",""]] "foo<b>[bar]</b>baz" queryCommandState("stylewithcss") before 
-PASS [["stylewithcss","true"],["bold",""]] "foo<b>[bar]</b>baz" queryCommandValue("stylewithcss") before 
-PASS [["stylewithcss","true"],["bold",""]] "foo<b>[bar]</b>baz" queryCommandIndeterm("stylewithcss") after 
-PASS [["stylewithcss","true"],["bold",""]] "foo<b>[bar]</b>baz" queryCommandState("stylewithcss") after 
-PASS [["stylewithcss","true"],["bold",""]] "foo<b>[bar]</b>baz" queryCommandValue("stylewithcss") after 
-PASS [["stylewithcss","true"],["bold",""]] "foo<b>[bar]</b>baz" queryCommandIndeterm("bold") before 
-PASS [["stylewithcss","true"],["bold",""]] "foo<b>[bar]</b>baz" queryCommandState("bold") before 
-FAIL [["stylewithcss","true"],["bold",""]] "foo<b>[bar]</b>baz" queryCommandValue("bold") before assert_equals: Wrong result returned expected "" but got "true"
-PASS [["stylewithcss","true"],["bold",""]] "foo<b>[bar]</b>baz" queryCommandIndeterm("bold") after 
-PASS [["stylewithcss","true"],["bold",""]] "foo<b>[bar]</b>baz" queryCommandState("bold") after 
-FAIL [["stylewithcss","true"],["bold",""]] "foo<b>[bar]</b>baz" queryCommandValue("bold") after assert_equals: Wrong result returned expected "" but got "false"
-PASS [["stylewithcss","false"],["bold",""]] "foo<b>[bar]</b>baz": execCommand("stylewithcss", false, "false") return value 
-PASS [["stylewithcss","false"],["bold",""]] "foo<b>[bar]</b>baz": execCommand("bold", false, "") return value 
-PASS [["stylewithcss","false"],["bold",""]] "foo<b>[bar]</b>baz" checks for modifications to non-editable content 
-PASS [["stylewithcss","false"],["bold",""]] "foo<b>[bar]</b>baz" compare innerHTML 
-PASS [["stylewithcss","false"],["bold",""]] "foo<b>[bar]</b>baz" queryCommandIndeterm("stylewithcss") before 
-PASS [["stylewithcss","false"],["bold",""]] "foo<b>[bar]</b>baz" queryCommandState("stylewithcss") before 
-PASS [["stylewithcss","false"],["bold",""]] "foo<b>[bar]</b>baz" queryCommandValue("stylewithcss") before 
-PASS [["stylewithcss","false"],["bold",""]] "foo<b>[bar]</b>baz" queryCommandIndeterm("stylewithcss") after 
-PASS [["stylewithcss","false"],["bold",""]] "foo<b>[bar]</b>baz" queryCommandState("stylewithcss") after 
-PASS [["stylewithcss","false"],["bold",""]] "foo<b>[bar]</b>baz" queryCommandValue("stylewithcss") after 
-PASS [["stylewithcss","false"],["bold",""]] "foo<b>[bar]</b>baz" queryCommandIndeterm("bold") before 
-PASS [["stylewithcss","false"],["bold",""]] "foo<b>[bar]</b>baz" queryCommandState("bold") before 
-FAIL [["stylewithcss","false"],["bold",""]] "foo<b>[bar]</b>baz" queryCommandValue("bold") before assert_equals: Wrong result returned expected "" but got "true"
-PASS [["stylewithcss","false"],["bold",""]] "foo<b>[bar]</b>baz" queryCommandIndeterm("bold") after 
-PASS [["stylewithcss","false"],["bold",""]] "foo<b>[bar]</b>baz" queryCommandState("bold") after 
-FAIL [["stylewithcss","false"],["bold",""]] "foo<b>[bar]</b>baz" queryCommandValue("bold") after assert_equals: Wrong result returned expected "" but got "false"
-PASS [["bold",""]] "foo<b>bar</b>[baz]": execCommand("bold", false, "") return value 
-PASS [["bold",""]] "foo<b>bar</b>[baz]" checks for modifications to non-editable content 
-PASS [["bold",""]] "foo<b>bar</b>[baz]" compare innerHTML 
-PASS [["bold",""]] "foo<b>bar</b>[baz]" queryCommandIndeterm("bold") before 
-PASS [["bold",""]] "foo<b>bar</b>[baz]" queryCommandState("bold") before 
-FAIL [["bold",""]] "foo<b>bar</b>[baz]" queryCommandValue("bold") before assert_equals: Wrong result returned expected "" but got "false"
-PASS [["bold",""]] "foo<b>bar</b>[baz]" queryCommandIndeterm("bold") after 
-PASS [["bold",""]] "foo<b>bar</b>[baz]" queryCommandState("bold") after 
-FAIL [["bold",""]] "foo<b>bar</b>[baz]" queryCommandValue("bold") after assert_equals: Wrong result returned expected "" but got "true"
-PASS [["bold",""]] "[foo]<b>bar</b>baz": execCommand("bold", false, "") return value 
-PASS [["bold",""]] "[foo]<b>bar</b>baz" checks for modifications to non-editable content 
-PASS [["bold",""]] "[foo]<b>bar</b>baz" compare innerHTML 
-PASS [["bold",""]] "[foo]<b>bar</b>baz" queryCommandIndeterm("bold") before 
-PASS [["bold",""]] "[foo]<b>bar</b>baz" queryCommandState("bold") before 
-FAIL [["bold",""]] "[foo]<b>bar</b>baz" queryCommandValue("bold") before assert_equals: Wrong result returned expected "" but got "false"
-PASS [["bold",""]] "[foo]<b>bar</b>baz" queryCommandIndeterm("bold") after 
-PASS [["bold",""]] "[foo]<b>bar</b>baz" queryCommandState("bold") after 
-FAIL [["bold",""]] "[foo]<b>bar</b>baz" queryCommandValue("bold") after assert_equals: Wrong result returned expected "" but got "true"
-PASS [["stylewithcss","true"],["bold",""]] "<b>foo</b>[bar]<b>baz</b>": execCommand("stylewithcss", false, "true") return value 
-PASS [["stylewithcss","true"],["bold",""]] "<b>foo</b>[bar]<b>baz</b>": execCommand("bold", false, "") return value 
-PASS [["stylewithcss","true"],["bold",""]] "<b>foo</b>[bar]<b>baz</b>" checks for modifications to non-editable content 
-FAIL [["stylewithcss","true"],["bold",""]] "<b>foo</b>[bar]<b>baz</b>" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<b>foobarbaz</b>" but got "<b>foo</b><span style=\"font-weight:bold\">bar</span><b>baz</b>"
-PASS [["stylewithcss","true"],["bold",""]] "<b>foo</b>[bar]<b>baz</b>" queryCommandIndeterm("stylewithcss") before 
-PASS [["stylewithcss","true"],["bold",""]] "<b>foo</b>[bar]<b>baz</b>" queryCommandState("stylewithcss") before 
-PASS [["stylewithcss","true"],["bold",""]] "<b>foo</b>[bar]<b>baz</b>" queryCommandValue("stylewithcss") before 
-PASS [["stylewithcss","true"],["bold",""]] "<b>foo</b>[bar]<b>baz</b>" queryCommandIndeterm("stylewithcss") after 
-PASS [["stylewithcss","true"],["bold",""]] "<b>foo</b>[bar]<b>baz</b>" queryCommandState("stylewithcss") after 
-PASS [["stylewithcss","true"],["bold",""]] "<b>foo</b>[bar]<b>baz</b>" queryCommandValue("stylewithcss") after 
-PASS [["stylewithcss","true"],["bold",""]] "<b>foo</b>[bar]<b>baz</b>" queryCommandIndeterm("bold") before 
-PASS [["stylewithcss","true"],["bold",""]] "<b>foo</b>[bar]<b>baz</b>" queryCommandState("bold") before 
-FAIL [["stylewithcss","true"],["bold",""]] "<b>foo</b>[bar]<b>baz</b>" queryCommandValue("bold") before assert_equals: Wrong result returned expected "" but got "false"
-PASS [["stylewithcss","true"],["bold",""]] "<b>foo</b>[bar]<b>baz</b>" queryCommandIndeterm("bold") after 
-PASS [["stylewithcss","true"],["bold",""]] "<b>foo</b>[bar]<b>baz</b>" queryCommandState("bold") after 
-FAIL [["stylewithcss","true"],["bold",""]] "<b>foo</b>[bar]<b>baz</b>" queryCommandValue("bold") after assert_equals: Wrong result returned expected "" but got "true"
-PASS [["stylewithcss","false"],["bold",""]] "<b>foo</b>[bar]<b>baz</b>": execCommand("stylewithcss", false, "false") return value 
-PASS [["stylewithcss","false"],["bold",""]] "<b>foo</b>[bar]<b>baz</b>": execCommand("bold", false, "") return value 
-PASS [["stylewithcss","false"],["bold",""]] "<b>foo</b>[bar]<b>baz</b>" checks for modifications to non-editable content 
-PASS [["stylewithcss","false"],["bold",""]] "<b>foo</b>[bar]<b>baz</b>" compare innerHTML 
-PASS [["stylewithcss","false"],["bold",""]] "<b>foo</b>[bar]<b>baz</b>" queryCommandIndeterm("stylewithcss") before 
-PASS [["stylewithcss","false"],["bold",""]] "<b>foo</b>[bar]<b>baz</b>" queryCommandState("stylewithcss") before 
-PASS [["stylewithcss","false"],["bold",""]] "<b>foo</b>[bar]<b>baz</b>" queryCommandValue("stylewithcss") before 
-PASS [["stylewithcss","false"],["bold",""]] "<b>foo</b>[bar]<b>baz</b>" queryCommandIndeterm("stylewithcss") after 
-PASS [["stylewithcss","false"],["bold",""]] "<b>foo</b>[bar]<b>baz</b>" queryCommandState("stylewithcss") after 
-PASS [["stylewithcss","false"],["bold",""]] "<b>foo</b>[bar]<b>baz</b>" queryCommandValue("stylewithcss") after 
-PASS [["stylewithcss","false"],["bold",""]] "<b>foo</b>[bar]<b>baz</b>" queryCommandIndeterm("bold") before 
-PASS [["stylewithcss","false"],["bold",""]] "<b>foo</b>[bar]<b>baz</b>" queryCommandState("bold") before 
-FAIL [["stylewithcss","false"],["bold",""]] "<b>foo</b>[bar]<b>baz</b>" queryCommandValue("bold") before assert_equals: Wrong result returned expected "" but got "false"
-PASS [["stylewithcss","false"],["bold",""]] "<b>foo</b>[bar]<b>baz</b>" queryCommandIndeterm("bold") after 
-PASS [["stylewithcss","false"],["bold",""]] "<b>foo</b>[bar]<b>baz</b>" queryCommandState("bold") after 
-FAIL [["stylewithcss","false"],["bold",""]] "<b>foo</b>[bar]<b>baz</b>" queryCommandValue("bold") after assert_equals: Wrong result returned expected "" but got "true"
-PASS [["bold",""]] "foo<strong>bar</strong>[baz]": execCommand("bold", false, "") return value 
-PASS [["bold",""]] "foo<strong>bar</strong>[baz]" checks for modifications to non-editable content 
-FAIL [["bold",""]] "foo<strong>bar</strong>[baz]" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "foo<strong>barbaz</strong>" but got "foo<strong>bar</strong><b>baz</b>"
-PASS [["bold",""]] "foo<strong>bar</strong>[baz]" queryCommandIndeterm("bold") before 
-PASS [["bold",""]] "foo<strong>bar</strong>[baz]" queryCommandState("bold") before 
-FAIL [["bold",""]] "foo<strong>bar</strong>[baz]" queryCommandValue("bold") before assert_equals: Wrong result returned expected "" but got "false"
-PASS [["bold",""]] "foo<strong>bar</strong>[baz]" queryCommandIndeterm("bold") after 
-PASS [["bold",""]] "foo<strong>bar</strong>[baz]" queryCommandState("bold") after 
-FAIL [["bold",""]] "foo<strong>bar</strong>[baz]" queryCommandValue("bold") after assert_equals: Wrong result returned expected "" but got "true"
-PASS [["bold",""]] "[foo]<strong>bar</strong>baz": execCommand("bold", false, "") return value 
-PASS [["bold",""]] "[foo]<strong>bar</strong>baz" checks for modifications to non-editable content 
-FAIL [["bold",""]] "[foo]<strong>bar</strong>baz" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<strong>foobar</strong>baz" but got "<b>foo</b><strong>bar</strong>baz"
-PASS [["bold",""]] "[foo]<strong>bar</strong>baz" queryCommandIndeterm("bold") before 
-PASS [["bold",""]] "[foo]<strong>bar</strong>baz" queryCommandState("bold") before 
-FAIL [["bold",""]] "[foo]<strong>bar</strong>baz" queryCommandValue("bold") before assert_equals: Wrong result returned expected "" but got "false"
-PASS [["bold",""]] "[foo]<strong>bar</strong>baz" queryCommandIndeterm("bold") after 
-PASS [["bold",""]] "[foo]<strong>bar</strong>baz" queryCommandState("bold") after 
-FAIL [["bold",""]] "[foo]<strong>bar</strong>baz" queryCommandValue("bold") after assert_equals: Wrong result returned expected "" but got "true"
-PASS [["bold",""]] "<strong>foo</strong>[bar]<strong>baz</strong>": execCommand("bold", false, "") return value 
-PASS [["bold",""]] "<strong>foo</strong>[bar]<strong>baz</strong>" checks for modifications to non-editable content 
-FAIL [["bold",""]] "<strong>foo</strong>[bar]<strong>baz</strong>" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<strong>foobarbaz</strong>" but got "<strong>foo</strong><b>bar</b><strong>baz</strong>"
-PASS [["bold",""]] "<strong>foo</strong>[bar]<strong>baz</strong>" queryCommandIndeterm("bold") before 
-PASS [["bold",""]] "<strong>foo</strong>[bar]<strong>baz</strong>" queryCommandState("bold") before 
-FAIL [["bold",""]] "<strong>foo</strong>[bar]<strong>baz</strong>" queryCommandValue("bold") before assert_equals: Wrong result returned expected "" but got "false"
-PASS [["bold",""]] "<strong>foo</strong>[bar]<strong>baz</strong>" queryCommandIndeterm("bold") after 
-PASS [["bold",""]] "<strong>foo</strong>[bar]<strong>baz</strong>" queryCommandState("bold") after 
-FAIL [["bold",""]] "<strong>foo</strong>[bar]<strong>baz</strong>" queryCommandValue("bold") after assert_equals: Wrong result returned expected "" but got "true"
-PASS [["bold",""]] "<b>foo</b>[bar]<strong>baz</strong>": execCommand("bold", false, "") return value 
-PASS [["bold",""]] "<b>foo</b>[bar]<strong>baz</strong>" checks for modifications to non-editable content 
-FAIL [["bold",""]] "<b>foo</b>[bar]<strong>baz</strong>" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<b>foobarbaz</b>" but got "<b>foobar</b><strong>baz</strong>"
-PASS [["bold",""]] "<b>foo</b>[bar]<strong>baz</strong>" queryCommandIndeterm("bold") before 
-PASS [["bold",""]] "<b>foo</b>[bar]<strong>baz</strong>" queryCommandState("bold") before 
-FAIL [["bold",""]] "<b>foo</b>[bar]<strong>baz</strong>" queryCommandValue("bold") before assert_equals: Wrong result returned expected "" but got "false"
-PASS [["bold",""]] "<b>foo</b>[bar]<strong>baz</strong>" queryCommandIndeterm("bold") after 
-PASS [["bold",""]] "<b>foo</b>[bar]<strong>baz</strong>" queryCommandState("bold") after 
-FAIL [["bold",""]] "<b>foo</b>[bar]<strong>baz</strong>" queryCommandValue("bold") after assert_equals: Wrong result returned expected "" but got "true"
-PASS [["stylewithcss","true"],["bold",""]] "<strong>foo</strong>[bar]<b>baz</b>": execCommand("stylewithcss", false, "true") return value 
-PASS [["stylewithcss","true"],["bold",""]] "<strong>foo</strong>[bar]<b>baz</b>": execCommand("bold", false, "") return value 
-PASS [["stylewithcss","true"],["bold",""]] "<strong>foo</strong>[bar]<b>baz</b>" checks for modifications to non-editable content 
-FAIL [["stylewithcss","true"],["bold",""]] "<strong>foo</strong>[bar]<b>baz</b>" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<strong>foobarbaz</strong>" but got "<strong>foo</strong><span style=\"font-weight:bold\">bar</span><b>baz</b>"
-PASS [["stylewithcss","true"],["bold",""]] "<strong>foo</strong>[bar]<b>baz</b>" queryCommandIndeterm("stylewithcss") before 
-PASS [["stylewithcss","true"],["bold",""]] "<strong>foo</strong>[bar]<b>baz</b>" queryCommandState("stylewithcss") before 
-PASS [["stylewithcss","true"],["bold",""]] "<strong>foo</strong>[bar]<b>baz</b>" queryCommandValue("stylewithcss") before 
-PASS [["stylewithcss","true"],["bold",""]] "<strong>foo</strong>[bar]<b>baz</b>" queryCommandIndeterm("stylewithcss") after 
-PASS [["stylewithcss","true"],["bold",""]] "<strong>foo</strong>[bar]<b>baz</b>" queryCommandState("stylewithcss") after 
-PASS [["stylewithcss","true"],["bold",""]] "<strong>foo</strong>[bar]<b>baz</b>" queryCommandValue("stylewithcss") after 
-PASS [["stylewithcss","true"],["bold",""]] "<strong>foo</strong>[bar]<b>baz</b>" queryCommandIndeterm("bold") before 
-PASS [["stylewithcss","true"],["bold",""]] "<strong>foo</strong>[bar]<b>baz</b>" queryCommandState("bold") before 
-FAIL [["stylewithcss","true"],["bold",""]] "<strong>foo</strong>[bar]<b>baz</b>" queryCommandValue("bold") before assert_equals: Wrong result returned expected "" but got "false"
-PASS [["stylewithcss","true"],["bold",""]] "<strong>foo</strong>[bar]<b>baz</b>" queryCommandIndeterm("bold") after 
-PASS [["stylewithcss","true"],["bold",""]] "<strong>foo</strong>[bar]<b>baz</b>" queryCommandState("bold") after 
-FAIL [["stylewithcss","true"],["bold",""]] "<strong>foo</strong>[bar]<b>baz</b>" queryCommandValue("bold") after assert_equals: Wrong result returned expected "" but got "true"
-PASS [["stylewithcss","false"],["bold",""]] "<strong>foo</strong>[bar]<b>baz</b>": execCommand("stylewithcss", false, "false") return value 
-PASS [["stylewithcss","false"],["bold",""]] "<strong>foo</strong>[bar]<b>baz</b>": execCommand("bold", false, "") return value 
-PASS [["stylewithcss","false"],["bold",""]] "<strong>foo</strong>[bar]<b>baz</b>" checks for modifications to non-editable content 
-FAIL [["stylewithcss","false"],["bold",""]] "<strong>foo</strong>[bar]<b>baz</b>" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<strong>foobarbaz</strong>" but got "<strong>foo</strong><b>barbaz</b>"
-PASS [["stylewithcss","false"],["bold",""]] "<strong>foo</strong>[bar]<b>baz</b>" queryCommandIndeterm("stylewithcss") before 
-PASS [["stylewithcss","false"],["bold",""]] "<strong>foo</strong>[bar]<b>baz</b>" queryCommandState("stylewithcss") before 
-PASS [["stylewithcss","false"],["bold",""]] "<strong>foo</strong>[bar]<b>baz</b>" queryCommandValue("stylewithcss") before 
-PASS [["stylewithcss","false"],["bold",""]] "<strong>foo</strong>[bar]<b>baz</b>" queryCommandIndeterm("stylewithcss") after 
-PASS [["stylewithcss","false"],["bold",""]] "<strong>foo</strong>[bar]<b>baz</b>" queryCommandState("stylewithcss") after 
-PASS [["stylewithcss","false"],["bold",""]] "<strong>foo</strong>[bar]<b>baz</b>" queryCommandValue("stylewithcss") after 
-PASS [["stylewithcss","false"],["bold",""]] "<strong>foo</strong>[bar]<b>baz</b>" queryCommandIndeterm("bold") before 
-PASS [["stylewithcss","false"],["bold",""]] "<strong>foo</strong>[bar]<b>baz</b>" queryCommandState("bold") before 
-FAIL [["stylewithcss","false"],["bold",""]] "<strong>foo</strong>[bar]<b>baz</b>" queryCommandValue("bold") before assert_equals: Wrong result returned expected "" but got "false"
-PASS [["stylewithcss","false"],["bold",""]] "<strong>foo</strong>[bar]<b>baz</b>" queryCommandIndeterm("bold") after 
-PASS [["stylewithcss","false"],["bold",""]] "<strong>foo</strong>[bar]<b>baz</b>" queryCommandState("bold") after 
-FAIL [["stylewithcss","false"],["bold",""]] "<strong>foo</strong>[bar]<b>baz</b>" queryCommandValue("bold") after assert_equals: Wrong result returned expected "" but got "true"
-PASS [["stylewithcss","true"],["bold",""]] "foo[<b>bar</b>]baz": execCommand("stylewithcss", false, "true") return value 
-PASS [["stylewithcss","true"],["bold",""]] "foo[<b>bar</b>]baz": execCommand("bold", false, "") return value 
-PASS [["stylewithcss","true"],["bold",""]] "foo[<b>bar</b>]baz" checks for modifications to non-editable content 
-PASS [["stylewithcss","true"],["bold",""]] "foo[<b>bar</b>]baz" compare innerHTML 
-PASS [["stylewithcss","true"],["bold",""]] "foo[<b>bar</b>]baz" queryCommandIndeterm("stylewithcss") before 
-PASS [["stylewithcss","true"],["bold",""]] "foo[<b>bar</b>]baz" queryCommandState("stylewithcss") before 
-PASS [["stylewithcss","true"],["bold",""]] "foo[<b>bar</b>]baz" queryCommandValue("stylewithcss") before 
-PASS [["stylewithcss","true"],["bold",""]] "foo[<b>bar</b>]baz" queryCommandIndeterm("stylewithcss") after 
-PASS [["stylewithcss","true"],["bold",""]] "foo[<b>bar</b>]baz" queryCommandState("stylewithcss") after 
-PASS [["stylewithcss","true"],["bold",""]] "foo[<b>bar</b>]baz" queryCommandValue("stylewithcss") after 
-PASS [["stylewithcss","true"],["bold",""]] "foo[<b>bar</b>]baz" queryCommandIndeterm("bold") before 
-PASS [["stylewithcss","true"],["bold",""]] "foo[<b>bar</b>]baz" queryCommandState("bold") before 
-FAIL [["stylewithcss","true"],["bold",""]] "foo[<b>bar</b>]baz" queryCommandValue("bold") before assert_equals: Wrong result returned expected "" but got "true"
-PASS [["stylewithcss","true"],["bold",""]] "foo[<b>bar</b>]baz" queryCommandIndeterm("bold") after 
-PASS [["stylewithcss","true"],["bold",""]] "foo[<b>bar</b>]baz" queryCommandState("bold") after 
-FAIL [["stylewithcss","true"],["bold",""]] "foo[<b>bar</b>]baz" queryCommandValue("bold") after assert_equals: Wrong result returned expected "" but got "false"
-PASS [["stylewithcss","false"],["bold",""]] "foo[<b>bar</b>]baz": execCommand("stylewithcss", false, "false") return value 
-PASS [["stylewithcss","false"],["bold",""]] "foo[<b>bar</b>]baz": execCommand("bold", false, "") return value 
-PASS [["stylewithcss","false"],["bold",""]] "foo[<b>bar</b>]baz" checks for modifications to non-editable content 
-PASS [["stylewithcss","false"],["bold",""]] "foo[<b>bar</b>]baz" compare innerHTML 
-PASS [["stylewithcss","false"],["bold",""]] "foo[<b>bar</b>]baz" queryCommandIndeterm("stylewithcss") before 
-PASS [["stylewithcss","false"],["bold",""]] "foo[<b>bar</b>]baz" queryCommandState("stylewithcss") before 
-PASS [["stylewithcss","false"],["bold",""]] "foo[<b>bar</b>]baz" queryCommandValue("stylewithcss") before 
-PASS [["stylewithcss","false"],["bold",""]] "foo[<b>bar</b>]baz" queryCommandIndeterm("stylewithcss") after 
-PASS [["stylewithcss","false"],["bold",""]] "foo[<b>bar</b>]baz" queryCommandState("stylewithcss") after 
-PASS [["stylewithcss","false"],["bold",""]] "foo[<b>bar</b>]baz" queryCommandValue("stylewithcss") after 
-PASS [["stylewithcss","false"],["bold",""]] "foo[<b>bar</b>]baz" queryCommandIndeterm("bold") before 
-PASS [["stylewithcss","false"],["bold",""]] "foo[<b>bar</b>]baz" queryCommandState("bold") before 
-FAIL [["stylewithcss","false"],["bold",""]] "foo[<b>bar</b>]baz" queryCommandValue("bold") before assert_equals: Wrong result returned expected "" but got "true"
-PASS [["stylewithcss","false"],["bold",""]] "foo[<b>bar</b>]baz" queryCommandIndeterm("bold") after 
-PASS [["stylewithcss","false"],["bold",""]] "foo[<b>bar</b>]baz" queryCommandState("bold") after 
-FAIL [["stylewithcss","false"],["bold",""]] "foo[<b>bar</b>]baz" queryCommandValue("bold") after assert_equals: Wrong result returned expected "" but got "false"
-PASS [["stylewithcss","true"],["bold",""]] "foo[<b>bar]</b>baz": execCommand("stylewithcss", false, "true") return value 
-PASS [["stylewithcss","true"],["bold",""]] "foo[<b>bar]</b>baz": execCommand("bold", false, "") return value 
-PASS [["stylewithcss","true"],["bold",""]] "foo[<b>bar]</b>baz" checks for modifications to non-editable content 
-PASS [["stylewithcss","true"],["bold",""]] "foo[<b>bar]</b>baz" compare innerHTML 
-PASS [["stylewithcss","true"],["bold",""]] "foo[<b>bar]</b>baz" queryCommandIndeterm("stylewithcss") before 
-PASS [["stylewithcss","true"],["bold",""]] "foo[<b>bar]</b>baz" queryCommandState("stylewithcss") before 
-PASS [["stylewithcss","true"],["bold",""]] "foo[<b>bar]</b>baz" queryCommandValue("stylewithcss") before 
-PASS [["stylewithcss","true"],["bold",""]] "foo[<b>bar]</b>baz" queryCommandIndeterm("stylewithcss") after 
-PASS [["stylewithcss","true"],["bold",""]] "foo[<b>bar]</b>baz" queryCommandState("stylewithcss") after 
-PASS [["stylewithcss","true"],["bold",""]] "foo[<b>bar]</b>baz" queryCommandValue("stylewithcss") after 
-PASS [["stylewithcss","true"],["bold",""]] "foo[<b>bar]</b>baz" queryCommandIndeterm("bold") before 
-PASS [["stylewithcss","true"],["bold",""]] "foo[<b>bar]</b>baz" queryCommandState("bold") before 
-FAIL [["stylewithcss","true"],["bold",""]] "foo[<b>bar]</b>baz" queryCommandValue("bold") before assert_equals: Wrong result returned expected "" but got "true"
-PASS [["stylewithcss","true"],["bold",""]] "foo[<b>bar]</b>baz" queryCommandIndeterm("bold") after 
-PASS [["stylewithcss","true"],["bold",""]] "foo[<b>bar]</b>baz" queryCommandState("bold") after 
-FAIL [["stylewithcss","true"],["bold",""]] "foo[<b>bar]</b>baz" queryCommandValue("bold") after assert_equals: Wrong result returned expected "" but got "false"
-PASS [["stylewithcss","false"],["bold",""]] "foo[<b>bar]</b>baz": execCommand("stylewithcss", false, "false") return value 
-PASS [["stylewithcss","false"],["bold",""]] "foo[<b>bar]</b>baz": execCommand("bold", false, "") return value 
-PASS [["stylewithcss","false"],["bold",""]] "foo[<b>bar]</b>baz" checks for modifications to non-editable content 
-PASS [["stylewithcss","false"],["bold",""]] "foo[<b>bar]</b>baz" compare innerHTML 
-PASS [["stylewithcss","false"],["bold",""]] "foo[<b>bar]</b>baz" queryCommandIndeterm("stylewithcss") before 
-PASS [["stylewithcss","false"],["bold",""]] "foo[<b>bar]</b>baz" queryCommandState("stylewithcss") before 
-PASS [["stylewithcss","false"],["bold",""]] "foo[<b>bar]</b>baz" queryCommandValue("stylewithcss") before 
-PASS [["stylewithcss","false"],["bold",""]] "foo[<b>bar]</b>baz" queryCommandIndeterm("stylewithcss") after 
-PASS [["stylewithcss","false"],["bold",""]] "foo[<b>bar]</b>baz" queryCommandState("stylewithcss") after 
-PASS [["stylewithcss","false"],["bold",""]] "foo[<b>bar]</b>baz" queryCommandValue("stylewithcss") after 
-PASS [["stylewithcss","false"],["bold",""]] "foo[<b>bar]</b>baz" queryCommandIndeterm("bold") before 
-PASS [["stylewithcss","false"],["bold",""]] "foo[<b>bar]</b>baz" queryCommandState("bold") before 
-FAIL [["stylewithcss","false"],["bold",""]] "foo[<b>bar]</b>baz" queryCommandValue("bold") before assert_equals: Wrong result returned expected "" but got "true"
-PASS [["stylewithcss","false"],["bold",""]] "foo[<b>bar]</b>baz" queryCommandIndeterm("bold") after 
-PASS [["stylewithcss","false"],["bold",""]] "foo[<b>bar]</b>baz" queryCommandState("bold") after 
-FAIL [["stylewithcss","false"],["bold",""]] "foo[<b>bar]</b>baz" queryCommandValue("bold") after assert_equals: Wrong result returned expected "" but got "false"
-PASS [["stylewithcss","true"],["bold",""]] "foo<b>[bar</b>]baz": execCommand("stylewithcss", false, "true") return value 
-PASS [["stylewithcss","true"],["bold",""]] "foo<b>[bar</b>]baz": execCommand("bold", false, "") return value 
-PASS [["stylewithcss","true"],["bold",""]] "foo<b>[bar</b>]baz" checks for modifications to non-editable content 
-PASS [["stylewithcss","true"],["bold",""]] "foo<b>[bar</b>]baz" compare innerHTML 
-PASS [["stylewithcss","true"],["bold",""]] "foo<b>[bar</b>]baz" queryCommandIndeterm("stylewithcss") before 
-PASS [["stylewithcss","true"],["bold",""]] "foo<b>[bar</b>]baz" queryCommandState("stylewithcss") before 
-PASS [["stylewithcss","true"],["bold",""]] "foo<b>[bar</b>]baz" queryCommandValue("stylewithcss") before 
-PASS [["stylewithcss","true"],["bold",""]] "foo<b>[bar</b>]baz" queryCommandIndeterm("stylewithcss") after 
-PASS [["stylewithcss","true"],["bold",""]] "foo<b>[bar</b>]baz" queryCommandState("stylewithcss") after 
-PASS [["stylewithcss","true"],["bold",""]] "foo<b>[bar</b>]baz" queryCommandValue("stylewithcss") after 
-PASS [["stylewithcss","true"],["bold",""]] "foo<b>[bar</b>]baz" queryCommandIndeterm("bold") before 
-PASS [["stylewithcss","true"],["bold",""]] "foo<b>[bar</b>]baz" queryCommandState("bold") before 
-FAIL [["stylewithcss","true"],["bold",""]] "foo<b>[bar</b>]baz" queryCommandValue("bold") before assert_equals: Wrong result returned expected "" but got "true"
-PASS [["stylewithcss","true"],["bold",""]] "foo<b>[bar</b>]baz" queryCommandIndeterm("bold") after 
-PASS [["stylewithcss","true"],["bold",""]] "foo<b>[bar</b>]baz" queryCommandState("bold") after 
-FAIL [["stylewithcss","true"],["bold",""]] "foo<b>[bar</b>]baz" queryCommandValue("bold") after assert_equals: Wrong result returned expected "" but got "false"
-PASS [["stylewithcss","false"],["bold",""]] "foo<b>[bar</b>]baz": execCommand("stylewithcss", false, "false") return value 
-PASS [["stylewithcss","false"],["bold",""]] "foo<b>[bar</b>]baz": execCommand("bold", false, "") return value 
-PASS [["stylewithcss","false"],["bold",""]] "foo<b>[bar</b>]baz" checks for modifications to non-editable content 
-PASS [["stylewithcss","false"],["bold",""]] "foo<b>[bar</b>]baz" compare innerHTML 
-PASS [["stylewithcss","false"],["bold",""]] "foo<b>[bar</b>]baz" queryCommandIndeterm("stylewithcss") before 
-PASS [["stylewithcss","false"],["bold",""]] "foo<b>[bar</b>]baz" queryCommandState("stylewithcss") before 
-PASS [["stylewithcss","false"],["bold",""]] "foo<b>[bar</b>]baz" queryCommandValue("stylewithcss") before 
-PASS [["stylewithcss","false"],["bold",""]] "foo<b>[bar</b>]baz" queryCommandIndeterm("stylewithcss") after 
-PASS [["stylewithcss","false"],["bold",""]] "foo<b>[bar</b>]baz" queryCommandState("stylewithcss") after 
-PASS [["stylewithcss","false"],["bold",""]] "foo<b>[bar</b>]baz" queryCommandValue("stylewithcss") after 
-PASS [["stylewithcss","false"],["bold",""]] "foo<b>[bar</b>]baz" queryCommandIndeterm("bold") before 
-PASS [["stylewithcss","false"],["bold",""]] "foo<b>[bar</b>]baz" queryCommandState("bold") before 
-FAIL [["stylewithcss","false"],["bold",""]] "foo<b>[bar</b>]baz" queryCommandValue("bold") before assert_equals: Wrong result returned expected "" but got "true"
-PASS [["stylewithcss","false"],["bold",""]] "foo<b>[bar</b>]baz" queryCommandIndeterm("bold") after 
-PASS [["stylewithcss","false"],["bold",""]] "foo<b>[bar</b>]baz" queryCommandState("bold") after 
-FAIL [["stylewithcss","false"],["bold",""]] "foo<b>[bar</b>]baz" queryCommandValue("bold") after assert_equals: Wrong result returned expected "" but got "false"
-PASS [["bold",""]] "foo{<b></b>}baz": execCommand("bold", false, "") return value 
-PASS [["bold",""]] "foo{<b></b>}baz" checks for modifications to non-editable content 
-PASS [["bold",""]] "foo{<b></b>}baz" compare innerHTML 
-PASS [["bold",""]] "foo{<b></b>}baz" queryCommandIndeterm("bold") before 
-PASS [["bold",""]] "foo{<b></b>}baz" queryCommandState("bold") before 
-FAIL [["bold",""]] "foo{<b></b>}baz" queryCommandValue("bold") before assert_equals: Wrong result returned expected "" but got "false"
-PASS [["bold",""]] "foo{<b></b>}baz" queryCommandIndeterm("bold") after 
-PASS [["bold",""]] "foo{<b></b>}baz" queryCommandState("bold") after 
-FAIL [["bold",""]] "foo{<b></b>}baz" queryCommandValue("bold") after assert_equals: Wrong result returned expected "" but got "true"
-PASS [["bold",""]] "foo{<i></i>}baz": execCommand("bold", false, "") return value 
-PASS [["bold",""]] "foo{<i></i>}baz" checks for modifications to non-editable content 
-PASS [["bold",""]] "foo{<i></i>}baz" compare innerHTML 
-PASS [["bold",""]] "foo{<i></i>}baz" queryCommandIndeterm("bold") before 
-PASS [["bold",""]] "foo{<i></i>}baz" queryCommandState("bold") before 
-FAIL [["bold",""]] "foo{<i></i>}baz" queryCommandValue("bold") before assert_equals: Wrong result returned expected "" but got "false"
-PASS [["bold",""]] "foo{<i></i>}baz" queryCommandIndeterm("bold") after 
-PASS [["bold",""]] "foo{<i></i>}baz" queryCommandState("bold") after 
-FAIL [["bold",""]] "foo{<i></i>}baz" queryCommandValue("bold") after assert_equals: Wrong result returned expected "" but got "true"
-PASS [["bold",""]] "foo{<b><i></i></b>}baz": execCommand("bold", false, "") return value 
-PASS [["bold",""]] "foo{<b><i></i></b>}baz" checks for modifications to non-editable content 
-PASS [["bold",""]] "foo{<b><i></i></b>}baz" compare innerHTML 
-PASS [["bold",""]] "foo{<b><i></i></b>}baz" queryCommandIndeterm("bold") before 
-PASS [["bold",""]] "foo{<b><i></i></b>}baz" queryCommandState("bold") before 
-FAIL [["bold",""]] "foo{<b><i></i></b>}baz" queryCommandValue("bold") before assert_equals: Wrong result returned expected "" but got "false"
-PASS [["bold",""]] "foo{<b><i></i></b>}baz" queryCommandIndeterm("bold") after 
-PASS [["bold",""]] "foo{<b><i></i></b>}baz" queryCommandState("bold") after 
-FAIL [["bold",""]] "foo{<b><i></i></b>}baz" queryCommandValue("bold") after assert_equals: Wrong result returned expected "" but got "true"
-PASS [["bold",""]] "foo{<i><b></b></i>}baz": execCommand("bold", false, "") return value 
-PASS [["bold",""]] "foo{<i><b></b></i>}baz" checks for modifications to non-editable content 
-PASS [["bold",""]] "foo{<i><b></b></i>}baz" compare innerHTML 
-PASS [["bold",""]] "foo{<i><b></b></i>}baz" queryCommandIndeterm("bold") before 
-PASS [["bold",""]] "foo{<i><b></b></i>}baz" queryCommandState("bold") before 
-FAIL [["bold",""]] "foo{<i><b></b></i>}baz" queryCommandValue("bold") before assert_equals: Wrong result returned expected "" but got "false"
-PASS [["bold",""]] "foo{<i><b></b></i>}baz" queryCommandIndeterm("bold") after 
-PASS [["bold",""]] "foo{<i><b></b></i>}baz" queryCommandState("bold") after 
-FAIL [["bold",""]] "foo{<i><b></b></i>}baz" queryCommandValue("bold") after assert_equals: Wrong result returned expected "" but got "true"
-PASS [["bold",""]] "foo<strong>[bar]</strong>baz": execCommand("bold", false, "") return value 
-PASS [["bold",""]] "foo<strong>[bar]</strong>baz" checks for modifications to non-editable content 
-PASS [["bold",""]] "foo<strong>[bar]</strong>baz" compare innerHTML 
-PASS [["bold",""]] "foo<strong>[bar]</strong>baz" queryCommandIndeterm("bold") before 
-PASS [["bold",""]] "foo<strong>[bar]</strong>baz" queryCommandState("bold") before 
-FAIL [["bold",""]] "foo<strong>[bar]</strong>baz" queryCommandValue("bold") before assert_equals: Wrong result returned expected "" but got "true"
-PASS [["bold",""]] "foo<strong>[bar]</strong>baz" queryCommandIndeterm("bold") after 
-PASS [["bold",""]] "foo<strong>[bar]</strong>baz" queryCommandState("bold") after 
-FAIL [["bold",""]] "foo<strong>[bar]</strong>baz" queryCommandValue("bold") after assert_equals: Wrong result returned expected "" but got "false"
-PASS [["bold",""]] "foo[<strong>bar</strong>]baz": execCommand("bold", false, "") return value 
-PASS [["bold",""]] "foo[<strong>bar</strong>]baz" checks for modifications to non-editable content 
-PASS [["bold",""]] "foo[<strong>bar</strong>]baz" compare innerHTML 
-PASS [["bold",""]] "foo[<strong>bar</strong>]baz" queryCommandIndeterm("bold") before 
-PASS [["bold",""]] "foo[<strong>bar</strong>]baz" queryCommandState("bold") before 
-FAIL [["bold",""]] "foo[<strong>bar</strong>]baz" queryCommandValue("bold") before assert_equals: Wrong result returned expected "" but got "true"
-PASS [["bold",""]] "foo[<strong>bar</strong>]baz" queryCommandIndeterm("bold") after 
-PASS [["bold",""]] "foo[<strong>bar</strong>]baz" queryCommandState("bold") after 
-FAIL [["bold",""]] "foo[<strong>bar</strong>]baz" queryCommandValue("bold") after assert_equals: Wrong result returned expected "" but got "false"
-PASS [["bold",""]] "foo[<strong>bar]</strong>baz": execCommand("bold", false, "") return value 
-PASS [["bold",""]] "foo[<strong>bar]</strong>baz" checks for modifications to non-editable content 
-PASS [["bold",""]] "foo[<strong>bar]</strong>baz" compare innerHTML 
-PASS [["bold",""]] "foo[<strong>bar]</strong>baz" queryCommandIndeterm("bold") before 
-PASS [["bold",""]] "foo[<strong>bar]</strong>baz" queryCommandState("bold") before 
-FAIL [["bold",""]] "foo[<strong>bar]</strong>baz" queryCommandValue("bold") before assert_equals: Wrong result returned expected "" but got "true"
-PASS [["bold",""]] "foo[<strong>bar]</strong>baz" queryCommandIndeterm("bold") after 
-PASS [["bold",""]] "foo[<strong>bar]</strong>baz" queryCommandState("bold") after 
-FAIL [["bold",""]] "foo[<strong>bar]</strong>baz" queryCommandValue("bold") after assert_equals: Wrong result returned expected "" but got "false"
-PASS [["bold",""]] "foo<strong>[bar</strong>]baz": execCommand("bold", false, "") return value 
-PASS [["bold",""]] "foo<strong>[bar</strong>]baz" checks for modifications to non-editable content 
-PASS [["bold",""]] "foo<strong>[bar</strong>]baz" compare innerHTML 
-PASS [["bold",""]] "foo<strong>[bar</strong>]baz" queryCommandIndeterm("bold") before 
-PASS [["bold",""]] "foo<strong>[bar</strong>]baz" queryCommandState("bold") before 
-FAIL [["bold",""]] "foo<strong>[bar</strong>]baz" queryCommandValue("bold") before assert_equals: Wrong result returned expected "" but got "true"
-PASS [["bold",""]] "foo<strong>[bar</strong>]baz" queryCommandIndeterm("bold") after 
-PASS [["bold",""]] "foo<strong>[bar</strong>]baz" queryCommandState("bold") after 
-FAIL [["bold",""]] "foo<strong>[bar</strong>]baz" queryCommandValue("bold") after assert_equals: Wrong result returned expected "" but got "false"
-PASS [["stylewithcss","true"],["bold",""]] "foo[<span style=\"font-weight: bold\">bar</span>]baz": execCommand("stylewithcss", false, "true") return value 
-PASS [["stylewithcss","true"],["bold",""]] "foo[<span style=\"font-weight: bold\">bar</span>]baz": execCommand("bold", false, "") return value 
-PASS [["stylewithcss","true"],["bold",""]] "foo[<span style=\"font-weight: bold\">bar</span>]baz" checks for modifications to non-editable content 
-PASS [["stylewithcss","true"],["bold",""]] "foo[<span style=\"font-weight: bold\">bar</span>]baz" compare innerHTML 
-PASS [["stylewithcss","true"],["bold",""]] "foo[<span style=\"font-weight: bold\">bar</span>]baz" queryCommandIndeterm("stylewithcss") before 
-PASS [["stylewithcss","true"],["bold",""]] "foo[<span style=\"font-weight: bold\">bar</span>]baz" queryCommandState("stylewithcss") before 
-PASS [["stylewithcss","true"],["bold",""]] "foo[<span style=\"font-weight: bold\">bar</span>]baz" queryCommandValue("stylewithcss") before 
-PASS [["stylewithcss","true"],["bold",""]] "foo[<span style=\"font-weight: bold\">bar</span>]baz" queryCommandIndeterm("stylewithcss") after 
-PASS [["stylewithcss","true"],["bold",""]] "foo[<span style=\"font-weight: bold\">bar</span>]baz" queryCommandState("stylewithcss") after 
-PASS [["stylewithcss","true"],["bold",""]] "foo[<span style=\"font-weight: bold\">bar</span>]baz" queryCommandValue("stylewithcss") after 
-PASS [["stylewithcss","true"],["bold",""]] "foo[<span style=\"font-weight: bold\">bar</span>]baz" queryCommandIndeterm("bold") before 
-PASS [["stylewithcss","true"],["bold",""]] "foo[<span style=\"font-weight: bold\">bar</span>]baz" queryCommandState("bold") before 
-FAIL [["stylewithcss","true"],["bold",""]] "foo[<span style=\"font-weight: bold\">bar</span>]baz" queryCommandValue("bold") before assert_equals: Wrong result returned expected "" but got "true"
-PASS [["stylewithcss","true"],["bold",""]] "foo[<span style=\"font-weight: bold\">bar</span>]baz" queryCommandIndeterm("bold") after 
-PASS [["stylewithcss","true"],["bold",""]] "foo[<span style=\"font-weight: bold\">bar</span>]baz" queryCommandState("bold") after 
-FAIL [["stylewithcss","true"],["bold",""]] "foo[<span style=\"font-weight: bold\">bar</span>]baz" queryCommandValue("bold") after assert_equals: Wrong result returned expected "" but got "false"
-PASS [["stylewithcss","false"],["bold",""]] "foo[<span style=\"font-weight: bold\">bar</span>]baz": execCommand("stylewithcss", false, "false") return value 
-PASS [["stylewithcss","false"],["bold",""]] "foo[<span style=\"font-weight: bold\">bar</span>]baz": execCommand("bold", false, "") return value 
-PASS [["stylewithcss","false"],["bold",""]] "foo[<span style=\"font-weight: bold\">bar</span>]baz" checks for modifications to non-editable content 
-PASS [["stylewithcss","false"],["bold",""]] "foo[<span style=\"font-weight: bold\">bar</span>]baz" compare innerHTML 
-PASS [["stylewithcss","false"],["bold",""]] "foo[<span style=\"font-weight: bold\">bar</span>]baz" queryCommandIndeterm("stylewithcss") before 
-PASS [["stylewithcss","false"],["bold",""]] "foo[<span style=\"font-weight: bold\">bar</span>]baz" queryCommandState("stylewithcss") before 
-PASS [["stylewithcss","false"],["bold",""]] "foo[<span style=\"font-weight: bold\">bar</span>]baz" queryCommandValue("stylewithcss") before 
-PASS [["stylewithcss","false"],["bold",""]] "foo[<span style=\"font-weight: bold\">bar</span>]baz" queryCommandIndeterm("stylewithcss") after 
-PASS [["stylewithcss","false"],["bold",""]] "foo[<span style=\"font-weight: bold\">bar</span>]baz" queryCommandState("stylewithcss") after 
-PASS [["stylewithcss","false"],["bold",""]] "foo[<span style=\"font-weight: bold\">bar</span>]baz" queryCommandValue("stylewithcss") after 
-PASS [["stylewithcss","false"],["bold",""]] "foo[<span style=\"font-weight: bold\">bar</span>]baz" queryCommandIndeterm("bold") before 
-PASS [["stylewithcss","false"],["bold",""]] "foo[<span style=\"font-weight: bold\">bar</span>]baz" queryCommandState("bold") before 
-FAIL [["stylewithcss","false"],["bold",""]] "foo[<span style=\"font-weight: bold\">bar</span>]baz" queryCommandValue("bold") before assert_equals: Wrong result returned expected "" but got "true"
-PASS [["stylewithcss","false"],["bold",""]] "foo[<span style=\"font-weight: bold\">bar</span>]baz" queryCommandIndeterm("bold") after 
-PASS [["stylewithcss","false"],["bold",""]] "foo[<span style=\"font-weight: bold\">bar</span>]baz" queryCommandState("bold") after 
-FAIL [["stylewithcss","false"],["bold",""]] "foo[<span style=\"font-weight: bold\">bar</span>]baz" queryCommandValue("bold") after assert_equals: Wrong result returned expected "" but got "false"
-PASS [["stylewithcss","true"],["bold",""]] "foo[<span style=\"font-weight: bold\">bar]</span>baz": execCommand("stylewithcss", false, "true") return value 
-PASS [["stylewithcss","true"],["bold",""]] "foo[<span style=\"font-weight: bold\">bar]</span>baz": execCommand("bold", false, "") return value 
-PASS [["stylewithcss","true"],["bold",""]] "foo[<span style=\"font-weight: bold\">bar]</span>baz" checks for modifications to non-editable content 
-PASS [["stylewithcss","true"],["bold",""]] "foo[<span style=\"font-weight: bold\">bar]</span>baz" compare innerHTML 
-PASS [["stylewithcss","true"],["bold",""]] "foo[<span style=\"font-weight: bold\">bar]</span>baz" queryCommandIndeterm("stylewithcss") before 
-PASS [["stylewithcss","true"],["bold",""]] "foo[<span style=\"font-weight: bold\">bar]</span>baz" queryCommandState("stylewithcss") before 
-PASS [["stylewithcss","true"],["bold",""]] "foo[<span style=\"font-weight: bold\">bar]</span>baz" queryCommandValue("stylewithcss") before 
-PASS [["stylewithcss","true"],["bold",""]] "foo[<span style=\"font-weight: bold\">bar]</span>baz" queryCommandIndeterm("stylewithcss") after 
-PASS [["stylewithcss","true"],["bold",""]] "foo[<span style=\"font-weight: bold\">bar]</span>baz" queryCommandState("stylewithcss") after 
-PASS [["stylewithcss","true"],["bold",""]] "foo[<span style=\"font-weight: bold\">bar]</span>baz" queryCommandValue("stylewithcss") after 
-PASS [["stylewithcss","true"],["bold",""]] "foo[<span style=\"font-weight: bold\">bar]</span>baz" queryCommandIndeterm("bold") before 
-PASS [["stylewithcss","true"],["bold",""]] "foo[<span style=\"font-weight: bold\">bar]</span>baz" queryCommandState("bold") before 
-FAIL [["stylewithcss","true"],["bold",""]] "foo[<span style=\"font-weight: bold\">bar]</span>baz" queryCommandValue("bold") before assert_equals: Wrong result returned expected "" but got "true"
-PASS [["stylewithcss","true"],["bold",""]] "foo[<span style=\"font-weight: bold\">bar]</span>baz" queryCommandIndeterm("bold") after 
-PASS [["stylewithcss","true"],["bold",""]] "foo[<span style=\"font-weight: bold\">bar]</span>baz" queryCommandState("bold") after 
-FAIL [["stylewithcss","true"],["bold",""]] "foo[<span style=\"font-weight: bold\">bar]</span>baz" queryCommandValue("bold") after assert_equals: Wrong result returned expected "" but got "false"
-PASS [["stylewithcss","false"],["bold",""]] "foo[<span style=\"font-weight: bold\">bar]</span>baz": execCommand("stylewithcss", false, "false") return value 
-PASS [["stylewithcss","false"],["bold",""]] "foo[<span style=\"font-weight: bold\">bar]</span>baz": execCommand("bold", false, "") return value 
-PASS [["stylewithcss","false"],["bold",""]] "foo[<span style=\"font-weight: bold\">bar]</span>baz" checks for modifications to non-editable content 
-PASS [["stylewithcss","false"],["bold",""]] "foo[<span style=\"font-weight: bold\">bar]</span>baz" compare innerHTML 
-PASS [["stylewithcss","false"],["bold",""]] "foo[<span style=\"font-weight: bold\">bar]</span>baz" queryCommandIndeterm("stylewithcss") before 
-PASS [["stylewithcss","false"],["bold",""]] "foo[<span style=\"font-weight: bold\">bar]</span>baz" queryCommandState("stylewithcss") before 
-PASS [["stylewithcss","false"],["bold",""]] "foo[<span style=\"font-weight: bold\">bar]</span>baz" queryCommandValue("stylewithcss") before 
-PASS [["stylewithcss","false"],["bold",""]] "foo[<span style=\"font-weight: bold\">bar]</span>baz" queryCommandIndeterm("stylewithcss") after 
-PASS [["stylewithcss","false"],["bold",""]] "foo[<span style=\"font-weight: bold\">bar]</span>baz" queryCommandState("stylewithcss") after 
-PASS [["stylewithcss","false"],["bold",""]] "foo[<span style=\"font-weight: bold\">bar]</span>baz" queryCommandValue("stylewithcss") after 
-PASS [["stylewithcss","false"],["bold",""]] "foo[<span style=\"font-weight: bold\">bar]</span>baz" queryCommandIndeterm("bold") before 
-PASS [["stylewithcss","false"],["bold",""]] "foo[<span style=\"font-weight: bold\">bar]</span>baz" queryCommandState("bold") before 
-FAIL [["stylewithcss","false"],["bold",""]] "foo[<span style=\"font-weight: bold\">bar]</span>baz" queryCommandValue("bold") before assert_equals: Wrong result returned expected "" but got "true"
-PASS [["stylewithcss","false"],["bold",""]] "foo[<span style=\"font-weight: bold\">bar]</span>baz" queryCommandIndeterm("bold") after 
-PASS [["stylewithcss","false"],["bold",""]] "foo[<span style=\"font-weight: bold\">bar]</span>baz" queryCommandState("bold") after 
-FAIL [["stylewithcss","false"],["bold",""]] "foo[<span style=\"font-weight: bold\">bar]</span>baz" queryCommandValue("bold") after assert_equals: Wrong result returned expected "" but got "false"
-PASS [["stylewithcss","true"],["bold",""]] "foo<span style=\"font-weight: bold\">[bar</span>]baz": execCommand("stylewithcss", false, "true") return value 
-PASS [["stylewithcss","true"],["bold",""]] "foo<span style=\"font-weight: bold\">[bar</span>]baz": execCommand("bold", false, "") return value 
-PASS [["stylewithcss","true"],["bold",""]] "foo<span style=\"font-weight: bold\">[bar</span>]baz" checks for modifications to non-editable content 
-PASS [["stylewithcss","true"],["bold",""]] "foo<span style=\"font-weight: bold\">[bar</span>]baz" compare innerHTML 
-PASS [["stylewithcss","true"],["bold",""]] "foo<span style=\"font-weight: bold\">[bar</span>]baz" queryCommandIndeterm("stylewithcss") before 
-PASS [["stylewithcss","true"],["bold",""]] "foo<span style=\"font-weight: bold\">[bar</span>]baz" queryCommandState("stylewithcss") before 
-PASS [["stylewithcss","true"],["bold",""]] "foo<span style=\"font-weight: bold\">[bar</span>]baz" queryCommandValue("stylewithcss") before 
-PASS [["stylewithcss","true"],["bold",""]] "foo<span style=\"font-weight: bold\">[bar</span>]baz" queryCommandIndeterm("stylewithcss") after 
-PASS [["stylewithcss","true"],["bold",""]] "foo<span style=\"font-weight: bold\">[bar</span>]baz" queryCommandState("stylewithcss") after 
-PASS [["stylewithcss","true"],["bold",""]] "foo<span style=\"font-weight: bold\">[bar</span>]baz" queryCommandValue("stylewithcss") after 
-PASS [["stylewithcss","true"],["bold",""]] "foo<span style=\"font-weight: bold\">[bar</span>]baz" queryCommandIndeterm("bold") before 
-PASS [["stylewithcss","true"],["bold",""]] "foo<span style=\"font-weight: bold\">[bar</span>]baz" queryCommandState("bold") before 
-FAIL [["stylewithcss","true"],["bold",""]] "foo<span style=\"font-weight: bold\">[bar</span>]baz" queryCommandValue("bold") before assert_equals: Wrong result returned expected "" but got "true"
-PASS [["stylewithcss","true"],["bold",""]] "foo<span style=\"font-weight: bold\">[bar</span>]baz" queryCommandIndeterm("bold") after 
-PASS [["stylewithcss","true"],["bold",""]] "foo<span style=\"font-weight: bold\">[bar</span>]baz" queryCommandState("bold") after 
-FAIL [["stylewithcss","true"],["bold",""]] "foo<span style=\"font-weight: bold\">[bar</span>]baz" queryCommandValue("bold") after assert_equals: Wrong result returned expected "" but got "false"
-PASS [["stylewithcss","false"],["bold",""]] "foo<span style=\"font-weight: bold\">[bar</span>]baz": execCommand("stylewithcss", false, "false") return value 
-PASS [["stylewithcss","false"],["bold",""]] "foo<span style=\"font-weight: bold\">[bar</span>]baz": execCommand("bold", false, "") return value 
-PASS [["stylewithcss","false"],["bold",""]] "foo<span style=\"font-weight: bold\">[bar</span>]baz" checks for modifications to non-editable content 
-PASS [["stylewithcss","false"],["bold",""]] "foo<span style=\"font-weight: bold\">[bar</span>]baz" compare innerHTML 
-PASS [["stylewithcss","false"],["bold",""]] "foo<span style=\"font-weight: bold\">[bar</span>]baz" queryCommandIndeterm("stylewithcss") before 
-PASS [["stylewithcss","false"],["bold",""]] "foo<span style=\"font-weight: bold\">[bar</span>]baz" queryCommandState("stylewithcss") before 
-PASS [["stylewithcss","false"],["bold",""]] "foo<span style=\"font-weight: bold\">[bar</span>]baz" queryCommandValue("stylewithcss") before 
-PASS [["stylewithcss","false"],["bold",""]] "foo<span style=\"font-weight: bold\">[bar</span>]baz" queryCommandIndeterm("stylewithcss") after 
-PASS [["stylewithcss","false"],["bold",""]] "foo<span style=\"font-weight: bold\">[bar</span>]baz" queryCommandState("stylewithcss") after 
-PASS [["stylewithcss","false"],["bold",""]] "foo<span style=\"font-weight: bold\">[bar</span>]baz" queryCommandValue("stylewithcss") after 
-PASS [["stylewithcss","false"],["bold",""]] "foo<span style=\"font-weight: bold\">[bar</span>]baz" queryCommandIndeterm("bold") before 
-PASS [["stylewithcss","false"],["bold",""]] "foo<span style=\"font-weight: bold\">[bar</span>]baz" queryCommandState("bold") before 
-FAIL [["stylewithcss","false"],["bold",""]] "foo<span style=\"font-weight: bold\">[bar</span>]baz" queryCommandValue("bold") before assert_equals: Wrong result returned expected "" but got "true"
-PASS [["stylewithcss","false"],["bold",""]] "foo<span style=\"font-weight: bold\">[bar</span>]baz" queryCommandIndeterm("bold") after 
-PASS [["stylewithcss","false"],["bold",""]] "foo<span style=\"font-weight: bold\">[bar</span>]baz" queryCommandState("bold") after 
-FAIL [["stylewithcss","false"],["bold",""]] "foo<span style=\"font-weight: bold\">[bar</span>]baz" queryCommandValue("bold") after assert_equals: Wrong result returned expected "" but got "false"
-PASS [["stylewithcss","true"],["bold",""]] "<b>{<p>foo</p><p>bar</p>}<p>baz</p></b>": execCommand("stylewithcss", false, "true") return value 
-PASS [["stylewithcss","true"],["bold",""]] "<b>{<p>foo</p><p>bar</p>}<p>baz</p></b>": execCommand("bold", false, "") return value 
-PASS [["stylewithcss","true"],["bold",""]] "<b>{<p>foo</p><p>bar</p>}<p>baz</p></b>" checks for modifications to non-editable content 
-FAIL [["stylewithcss","true"],["bold",""]] "<b>{<p>foo</p><p>bar</p>}<p>baz</p></b>" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<p>foo</p><p>bar</p><p><span style=\"font-weight:bold\">baz</span></p>" but got "<p>foo</p><p>bar</p><p style=\"font-weight:bold\">baz</p>"
-PASS [["stylewithcss","true"],["bold",""]] "<b>{<p>foo</p><p>bar</p>}<p>baz</p></b>" queryCommandIndeterm("stylewithcss") before 
-PASS [["stylewithcss","true"],["bold",""]] "<b>{<p>foo</p><p>bar</p>}<p>baz</p></b>" queryCommandState("stylewithcss") before 
-PASS [["stylewithcss","true"],["bold",""]] "<b>{<p>foo</p><p>bar</p>}<p>baz</p></b>" queryCommandValue("stylewithcss") before 
-PASS [["stylewithcss","true"],["bold",""]] "<b>{<p>foo</p><p>bar</p>}<p>baz</p></b>" queryCommandIndeterm("stylewithcss") after 
-PASS [["stylewithcss","true"],["bold",""]] "<b>{<p>foo</p><p>bar</p>}<p>baz</p></b>" queryCommandState("stylewithcss") after 
-PASS [["stylewithcss","true"],["bold",""]] "<b>{<p>foo</p><p>bar</p>}<p>baz</p></b>" queryCommandValue("stylewithcss") after 
-PASS [["stylewithcss","true"],["bold",""]] "<b>{<p>foo</p><p>bar</p>}<p>baz</p></b>" queryCommandIndeterm("bold") before 
-PASS [["stylewithcss","true"],["bold",""]] "<b>{<p>foo</p><p>bar</p>}<p>baz</p></b>" queryCommandState("bold") before 
-FAIL [["stylewithcss","true"],["bold",""]] "<b>{<p>foo</p><p>bar</p>}<p>baz</p></b>" queryCommandValue("bold") before assert_equals: Wrong result returned expected "" but got "true"
-PASS [["stylewithcss","true"],["bold",""]] "<b>{<p>foo</p><p>bar</p>}<p>baz</p></b>" queryCommandIndeterm("bold") after 
-PASS [["stylewithcss","true"],["bold",""]] "<b>{<p>foo</p><p>bar</p>}<p>baz</p></b>" queryCommandState("bold") after 
-FAIL [["stylewithcss","true"],["bold",""]] "<b>{<p>foo</p><p>bar</p>}<p>baz</p></b>" queryCommandValue("bold") after assert_equals: Wrong result returned expected "" but got "false"
-PASS [["stylewithcss","false"],["bold",""]] "<b>{<p>foo</p><p>bar</p>}<p>baz</p></b>": execCommand("stylewithcss", false, "false") return value 
-PASS [["stylewithcss","false"],["bold",""]] "<b>{<p>foo</p><p>bar</p>}<p>baz</p></b>": execCommand("bold", false, "") return value 
-PASS [["stylewithcss","false"],["bold",""]] "<b>{<p>foo</p><p>bar</p>}<p>baz</p></b>" checks for modifications to non-editable content 
-FAIL [["stylewithcss","false"],["bold",""]] "<b>{<p>foo</p><p>bar</p>}<p>baz</p></b>" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<p>foo</p><p>bar</p><p><b>baz</b></p>" but got "<p>foo</p><p>bar</p><p style=\"font-weight:bold\">baz</p>"
-PASS [["stylewithcss","false"],["bold",""]] "<b>{<p>foo</p><p>bar</p>}<p>baz</p></b>" queryCommandIndeterm("stylewithcss") before 
-PASS [["stylewithcss","false"],["bold",""]] "<b>{<p>foo</p><p>bar</p>}<p>baz</p></b>" queryCommandState("stylewithcss") before 
-PASS [["stylewithcss","false"],["bold",""]] "<b>{<p>foo</p><p>bar</p>}<p>baz</p></b>" queryCommandValue("stylewithcss") before 
-PASS [["stylewithcss","false"],["bold",""]] "<b>{<p>foo</p><p>bar</p>}<p>baz</p></b>" queryCommandIndeterm("stylewithcss") after 
-PASS [["stylewithcss","false"],["bold",""]] "<b>{<p>foo</p><p>bar</p>}<p>baz</p></b>" queryCommandState("stylewithcss") after 
-PASS [["stylewithcss","false"],["bold",""]] "<b>{<p>foo</p><p>bar</p>}<p>baz</p></b>" queryCommandValue("stylewithcss") after 
-PASS [["stylewithcss","false"],["bold",""]] "<b>{<p>foo</p><p>bar</p>}<p>baz</p></b>" queryCommandIndeterm("bold") before 
-PASS [["stylewithcss","false"],["bold",""]] "<b>{<p>foo</p><p>bar</p>}<p>baz</p></b>" queryCommandState("bold") before 
-FAIL [["stylewithcss","false"],["bold",""]] "<b>{<p>foo</p><p>bar</p>}<p>baz</p></b>" queryCommandValue("bold") before assert_equals: Wrong result returned expected "" but got "true"
-PASS [["stylewithcss","false"],["bold",""]] "<b>{<p>foo</p><p>bar</p>}<p>baz</p></b>" queryCommandIndeterm("bold") after 
-PASS [["stylewithcss","false"],["bold",""]] "<b>{<p>foo</p><p>bar</p>}<p>baz</p></b>" queryCommandState("bold") after 
-FAIL [["stylewithcss","false"],["bold",""]] "<b>{<p>foo</p><p>bar</p>}<p>baz</p></b>" queryCommandValue("bold") after assert_equals: Wrong result returned expected "" but got "false"
-PASS [["stylewithcss","true"],["bold",""]] "<b><p>foo[<i>bar</i>}</p><p>baz</p></b>": execCommand("stylewithcss", false, "true") return value 
-PASS [["stylewithcss","true"],["bold",""]] "<b><p>foo[<i>bar</i>}</p><p>baz</p></b>": execCommand("bold", false, "") return value 
-PASS [["stylewithcss","true"],["bold",""]] "<b><p>foo[<i>bar</i>}</p><p>baz</p></b>" checks for modifications to non-editable content 
-FAIL [["stylewithcss","true"],["bold",""]] "<b><p>foo[<i>bar</i>}</p><p>baz</p></b>" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<p><span style=\"font-weight:bold\">foo</span><i>bar</i></p><p><span style=\"font-weight:bold\">baz</span></p>" but got "<p><span style=\"font-weight:bold\">foo</span><i>bar</i></p><p style=\"font-weight:bold\">baz</p>"
-PASS [["stylewithcss","true"],["bold",""]] "<b><p>foo[<i>bar</i>}</p><p>baz</p></b>" queryCommandIndeterm("stylewithcss") before 
-PASS [["stylewithcss","true"],["bold",""]] "<b><p>foo[<i>bar</i>}</p><p>baz</p></b>" queryCommandState("stylewithcss") before 
-PASS [["stylewithcss","true"],["bold",""]] "<b><p>foo[<i>bar</i>}</p><p>baz</p></b>" queryCommandValue("stylewithcss") before 
-PASS [["stylewithcss","true"],["bold",""]] "<b><p>foo[<i>bar</i>}</p><p>baz</p></b>" queryCommandIndeterm("stylewithcss") after 
-PASS [["stylewithcss","true"],["bold",""]] "<b><p>foo[<i>bar</i>}</p><p>baz</p></b>" queryCommandState("stylewithcss") after 
-PASS [["stylewithcss","true"],["bold",""]] "<b><p>foo[<i>bar</i>}</p><p>baz</p></b>" queryCommandValue("stylewithcss") after 
-PASS [["stylewithcss","true"],["bold",""]] "<b><p>foo[<i>bar</i>}</p><p>baz</p></b>" queryCommandIndeterm("bold") before 
-PASS [["stylewithcss","true"],["bold",""]] "<b><p>foo[<i>bar</i>}</p><p>baz</p></b>" queryCommandState("bold") before 
-FAIL [["stylewithcss","true"],["bold",""]] "<b><p>foo[<i>bar</i>}</p><p>baz</p></b>" queryCommandValue("bold") before assert_equals: Wrong result returned expected "" but got "true"
-PASS [["stylewithcss","true"],["bold",""]] "<b><p>foo[<i>bar</i>}</p><p>baz</p></b>" queryCommandIndeterm("bold") after 
-PASS [["stylewithcss","true"],["bold",""]] "<b><p>foo[<i>bar</i>}</p><p>baz</p></b>" queryCommandState("bold") after 
-FAIL [["stylewithcss","true"],["bold",""]] "<b><p>foo[<i>bar</i>}</p><p>baz</p></b>" queryCommandValue("bold") after assert_equals: Wrong result returned expected "" but got "false"
-PASS [["stylewithcss","false"],["bold",""]] "<b><p>foo[<i>bar</i>}</p><p>baz</p></b>": execCommand("stylewithcss", false, "false") return value 
-PASS [["stylewithcss","false"],["bold",""]] "<b><p>foo[<i>bar</i>}</p><p>baz</p></b>": execCommand("bold", false, "") return value 
-PASS [["stylewithcss","false"],["bold",""]] "<b><p>foo[<i>bar</i>}</p><p>baz</p></b>" checks for modifications to non-editable content 
-FAIL [["stylewithcss","false"],["bold",""]] "<b><p>foo[<i>bar</i>}</p><p>baz</p></b>" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<p><b>foo</b><i>bar</i></p><p><b>baz</b></p>" but got "<p><b>foo</b><i>bar</i></p><p style=\"font-weight:bold\">baz</p>"
-PASS [["stylewithcss","false"],["bold",""]] "<b><p>foo[<i>bar</i>}</p><p>baz</p></b>" queryCommandIndeterm("stylewithcss") before 
-PASS [["stylewithcss","false"],["bold",""]] "<b><p>foo[<i>bar</i>}</p><p>baz</p></b>" queryCommandState("stylewithcss") before 
-PASS [["stylewithcss","false"],["bold",""]] "<b><p>foo[<i>bar</i>}</p><p>baz</p></b>" queryCommandValue("stylewithcss") before 
-PASS [["stylewithcss","false"],["bold",""]] "<b><p>foo[<i>bar</i>}</p><p>baz</p></b>" queryCommandIndeterm("stylewithcss") after 
-PASS [["stylewithcss","false"],["bold",""]] "<b><p>foo[<i>bar</i>}</p><p>baz</p></b>" queryCommandState("stylewithcss") after 
-PASS [["stylewithcss","false"],["bold",""]] "<b><p>foo[<i>bar</i>}</p><p>baz</p></b>" queryCommandValue("stylewithcss") after 
-PASS [["stylewithcss","false"],["bold",""]] "<b><p>foo[<i>bar</i>}</p><p>baz</p></b>" queryCommandIndeterm("bold") before 
-PASS [["stylewithcss","false"],["bold",""]] "<b><p>foo[<i>bar</i>}</p><p>baz</p></b>" queryCommandState("bold") before 
-FAIL [["stylewithcss","false"],["bold",""]] "<b><p>foo[<i>bar</i>}</p><p>baz</p></b>" queryCommandValue("bold") before assert_equals: Wrong result returned expected "" but got "true"
-PASS [["stylewithcss","false"],["bold",""]] "<b><p>foo[<i>bar</i>}</p><p>baz</p></b>" queryCommandIndeterm("bold") after 
-PASS [["stylewithcss","false"],["bold",""]] "<b><p>foo[<i>bar</i>}</p><p>baz</p></b>" queryCommandState("bold") after 
-FAIL [["stylewithcss","false"],["bold",""]] "<b><p>foo[<i>bar</i>}</p><p>baz</p></b>" queryCommandValue("bold") after assert_equals: Wrong result returned expected "" but got "false"
-PASS [["bold",""]] "foo [bar <b>baz] qoz</b> quz sic": execCommand("bold", false, "") return value 
-PASS [["bold",""]] "foo [bar <b>baz] qoz</b> quz sic" checks for modifications to non-editable content 
-PASS [["bold",""]] "foo [bar <b>baz] qoz</b> quz sic" compare innerHTML 
-FAIL [["bold",""]] "foo [bar <b>baz] qoz</b> quz sic" queryCommandIndeterm("bold") before assert_equals: Wrong result returned expected true but got false
-PASS [["bold",""]] "foo [bar <b>baz] qoz</b> quz sic" queryCommandState("bold") before 
-FAIL [["bold",""]] "foo [bar <b>baz] qoz</b> quz sic" queryCommandValue("bold") before assert_equals: Wrong result returned expected "" but got "false"
-PASS [["bold",""]] "foo [bar <b>baz] qoz</b> quz sic" queryCommandIndeterm("bold") after 
-PASS [["bold",""]] "foo [bar <b>baz] qoz</b> quz sic" queryCommandState("bold") after 
-FAIL [["bold",""]] "foo [bar <b>baz] qoz</b> quz sic" queryCommandValue("bold") after assert_equals: Wrong result returned expected "" but got "true"
-PASS [["bold",""]] "foo bar <b>baz [qoz</b> quz] sic": execCommand("bold", false, "") return value 
-PASS [["bold",""]] "foo bar <b>baz [qoz</b> quz] sic" checks for modifications to non-editable content 
-FAIL [["bold",""]] "foo bar <b>baz [qoz</b> quz] sic" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "foo bar <b>baz qoz quz</b> sic" but got "foo bar <b>baz </b>qoz quz sic"
-FAIL [["bold",""]] "foo bar <b>baz [qoz</b> quz] sic" queryCommandIndeterm("bold") before assert_equals: Wrong result returned expected true but got false
-FAIL [["bold",""]] "foo bar <b>baz [qoz</b> quz] sic" queryCommandState("bold") before assert_equals: Wrong result returned expected false but got true
-FAIL [["bold",""]] "foo bar <b>baz [qoz</b> quz] sic" queryCommandValue("bold") before assert_equals: Wrong result returned expected "" but got "true"
-PASS [["bold",""]] "foo bar <b>baz [qoz</b> quz] sic" queryCommandIndeterm("bold") after 
-FAIL [["bold",""]] "foo bar <b>baz [qoz</b> quz] sic" queryCommandState("bold") after assert_equals: Wrong result returned expected true but got false
-FAIL [["bold",""]] "foo bar <b>baz [qoz</b> quz] sic" queryCommandValue("bold") after assert_equals: Wrong result returned expected "" but got "false"
-PASS [["stylewithcss","true"],["bold",""]] "<b id=purple>bar [baz] qoz</b>": execCommand("stylewithcss", false, "true") return value 
-PASS [["stylewithcss","true"],["bold",""]] "<b id=purple>bar [baz] qoz</b>": execCommand("bold", false, "") return value 
-PASS [["stylewithcss","true"],["bold",""]] "<b id=purple>bar [baz] qoz</b>" checks for modifications to non-editable content 
-FAIL [["stylewithcss","true"],["bold",""]] "<b id=purple>bar [baz] qoz</b>" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<span id=\"purple\"><span style=\"font-weight:bold\">bar </span>baz<span style=\"font-weight:bold\"> qoz</span></span>" but got "<b id=\"purple\">bar </b>baz<b> qoz</b>"
-PASS [["stylewithcss","true"],["bold",""]] "<b id=purple>bar [baz] qoz</b>" queryCommandIndeterm("stylewithcss") before 
-PASS [["stylewithcss","true"],["bold",""]] "<b id=purple>bar [baz] qoz</b>" queryCommandState("stylewithcss") before 
-PASS [["stylewithcss","true"],["bold",""]] "<b id=purple>bar [baz] qoz</b>" queryCommandValue("stylewithcss") before 
-PASS [["stylewithcss","true"],["bold",""]] "<b id=purple>bar [baz] qoz</b>" queryCommandIndeterm("stylewithcss") after 
-PASS [["stylewithcss","true"],["bold",""]] "<b id=purple>bar [baz] qoz</b>" queryCommandState("stylewithcss") after 
-PASS [["stylewithcss","true"],["bold",""]] "<b id=purple>bar [baz] qoz</b>" queryCommandValue("stylewithcss") after 
-PASS [["stylewithcss","true"],["bold",""]] "<b id=purple>bar [baz] qoz</b>" queryCommandIndeterm("bold") before 
-PASS [["stylewithcss","true"],["bold",""]] "<b id=purple>bar [baz] qoz</b>" queryCommandState("bold") before 
-FAIL [["stylewithcss","true"],["bold",""]] "<b id=purple>bar [baz] qoz</b>" queryCommandValue("bold") before assert_equals: Wrong result returned expected "" but got "true"
-PASS [["stylewithcss","true"],["bold",""]] "<b id=purple>bar [baz] qoz</b>" queryCommandIndeterm("bold") after 
-PASS [["stylewithcss","true"],["bold",""]] "<b id=purple>bar [baz] qoz</b>" queryCommandState("bold") after 
-FAIL [["stylewithcss","true"],["bold",""]] "<b id=purple>bar [baz] qoz</b>" queryCommandValue("bold") after assert_equals: Wrong result returned expected "" but got "false"
-PASS [["stylewithcss","false"],["bold",""]] "<b id=purple>bar [baz] qoz</b>": execCommand("stylewithcss", false, "false") return value 
-PASS [["stylewithcss","false"],["bold",""]] "<b id=purple>bar [baz] qoz</b>": execCommand("bold", false, "") return value 
-PASS [["stylewithcss","false"],["bold",""]] "<b id=purple>bar [baz] qoz</b>" checks for modifications to non-editable content 
-FAIL [["stylewithcss","false"],["bold",""]] "<b id=purple>bar [baz] qoz</b>" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<span id=\"purple\"><b>bar </b>baz<b> qoz</b></span>" but got "<b id=\"purple\">bar </b>baz<b> qoz</b>"
-PASS [["stylewithcss","false"],["bold",""]] "<b id=purple>bar [baz] qoz</b>" queryCommandIndeterm("stylewithcss") before 
-PASS [["stylewithcss","false"],["bold",""]] "<b id=purple>bar [baz] qoz</b>" queryCommandState("stylewithcss") before 
-PASS [["stylewithcss","false"],["bold",""]] "<b id=purple>bar [baz] qoz</b>" queryCommandValue("stylewithcss") before 
-PASS [["stylewithcss","false"],["bold",""]] "<b id=purple>bar [baz] qoz</b>" queryCommandIndeterm("stylewithcss") after 
-PASS [["stylewithcss","false"],["bold",""]] "<b id=purple>bar [baz] qoz</b>" queryCommandState("stylewithcss") after 
-PASS [["stylewithcss","false"],["bold",""]] "<b id=purple>bar [baz] qoz</b>" queryCommandValue("stylewithcss") after 
-PASS [["stylewithcss","false"],["bold",""]] "<b id=purple>bar [baz] qoz</b>" queryCommandIndeterm("bold") before 
-PASS [["stylewithcss","false"],["bold",""]] "<b id=purple>bar [baz] qoz</b>" queryCommandState("bold") before 
-FAIL [["stylewithcss","false"],["bold",""]] "<b id=purple>bar [baz] qoz</b>" queryCommandValue("bold") before assert_equals: Wrong result returned expected "" but got "true"
-PASS [["stylewithcss","false"],["bold",""]] "<b id=purple>bar [baz] qoz</b>" queryCommandIndeterm("bold") after 
-PASS [["stylewithcss","false"],["bold",""]] "<b id=purple>bar [baz] qoz</b>" queryCommandState("bold") after 
-FAIL [["stylewithcss","false"],["bold",""]] "<b id=purple>bar [baz] qoz</b>" queryCommandValue("bold") after assert_equals: Wrong result returned expected "" but got "false"
-PASS [["stylewithcss","true"],["bold",""]] "foo<span style=\"font-weight: 100\">[bar]</span>baz": execCommand("stylewithcss", false, "true") return value 
-PASS [["stylewithcss","true"],["bold",""]] "foo<span style=\"font-weight: 100\">[bar]</span>baz": execCommand("bold", false, "") return value 
-PASS [["stylewithcss","true"],["bold",""]] "foo<span style=\"font-weight: 100\">[bar]</span>baz" checks for modifications to non-editable content 
-PASS [["stylewithcss","true"],["bold",""]] "foo<span style=\"font-weight: 100\">[bar]</span>baz" compare innerHTML 
-PASS [["stylewithcss","true"],["bold",""]] "foo<span style=\"font-weight: 100\">[bar]</span>baz" queryCommandIndeterm("stylewithcss") before 
-PASS [["stylewithcss","true"],["bold",""]] "foo<span style=\"font-weight: 100\">[bar]</span>baz" queryCommandState("stylewithcss") before 
-PASS [["stylewithcss","true"],["bold",""]] "foo<span style=\"font-weight: 100\">[bar]</span>baz" queryCommandValue("stylewithcss") before 
-PASS [["stylewithcss","true"],["bold",""]] "foo<span style=\"font-weight: 100\">[bar]</span>baz" queryCommandIndeterm("stylewithcss") after 
-PASS [["stylewithcss","true"],["bold",""]] "foo<span style=\"font-weight: 100\">[bar]</span>baz" queryCommandState("stylewithcss") after 
-PASS [["stylewithcss","true"],["bold",""]] "foo<span style=\"font-weight: 100\">[bar]</span>baz" queryCommandValue("stylewithcss") after 
-PASS [["stylewithcss","true"],["bold",""]] "foo<span style=\"font-weight: 100\">[bar]</span>baz" queryCommandIndeterm("bold") before 
-PASS [["stylewithcss","true"],["bold",""]] "foo<span style=\"font-weight: 100\">[bar]</span>baz" queryCommandState("bold") before 
-FAIL [["stylewithcss","true"],["bold",""]] "foo<span style=\"font-weight: 100\">[bar]</span>baz" queryCommandValue("bold") before assert_equals: Wrong result returned expected "" but got "false"
-PASS [["stylewithcss","true"],["bold",""]] "foo<span style=\"font-weight: 100\">[bar]</span>baz" queryCommandIndeterm("bold") after 
-PASS [["stylewithcss","true"],["bold",""]] "foo<span style=\"font-weight: 100\">[bar]</span>baz" queryCommandState("bold") after 
-FAIL [["stylewithcss","true"],["bold",""]] "foo<span style=\"font-weight: 100\">[bar]</span>baz" queryCommandValue("bold") after assert_equals: Wrong result returned expected "" but got "true"
-PASS [["stylewithcss","false"],["bold",""]] "foo<span style=\"font-weight: 100\">[bar]</span>baz": execCommand("stylewithcss", false, "false") return value 
-PASS [["stylewithcss","false"],["bold",""]] "foo<span style=\"font-weight: 100\">[bar]</span>baz": execCommand("bold", false, "") return value 
-PASS [["stylewithcss","false"],["bold",""]] "foo<span style=\"font-weight: 100\">[bar]</span>baz" checks for modifications to non-editable content 
-PASS [["stylewithcss","false"],["bold",""]] "foo<span style=\"font-weight: 100\">[bar]</span>baz" compare innerHTML 
-PASS [["stylewithcss","false"],["bold",""]] "foo<span style=\"font-weight: 100\">[bar]</span>baz" queryCommandIndeterm("stylewithcss") before 
-PASS [["stylewithcss","false"],["bold",""]] "foo<span style=\"font-weight: 100\">[bar]</span>baz" queryCommandState("stylewithcss") before 
-PASS [["stylewithcss","false"],["bold",""]] "foo<span style=\"font-weight: 100\">[bar]</span>baz" queryCommandValue("stylewithcss") before 
-PASS [["stylewithcss","false"],["bold",""]] "foo<span style=\"font-weight: 100\">[bar]</span>baz" queryCommandIndeterm("stylewithcss") after 
-PASS [["stylewithcss","false"],["bold",""]] "foo<span style=\"font-weight: 100\">[bar]</span>baz" queryCommandState("stylewithcss") after 
-PASS [["stylewithcss","false"],["bold",""]] "foo<span style=\"font-weight: 100\">[bar]</span>baz" queryCommandValue("stylewithcss") after 
-PASS [["stylewithcss","false"],["bold",""]] "foo<span style=\"font-weight: 100\">[bar]</span>baz" queryCommandIndeterm("bold") before 
-PASS [["stylewithcss","false"],["bold",""]] "foo<span style=\"font-weight: 100\">[bar]</span>baz" queryCommandState("bold") before 
-FAIL [["stylewithcss","false"],["bold",""]] "foo<span style=\"font-weight: 100\">[bar]</span>baz" queryCommandValue("bold") before assert_equals: Wrong result returned expected "" but got "false"
-PASS [["stylewithcss","false"],["bold",""]] "foo<span style=\"font-weight: 100\">[bar]</span>baz" queryCommandIndeterm("bold") after 
-PASS [["stylewithcss","false"],["bold",""]] "foo<span style=\"font-weight: 100\">[bar]</span>baz" queryCommandState("bold") after 
-FAIL [["stylewithcss","false"],["bold",""]] "foo<span style=\"font-weight: 100\">[bar]</span>baz" queryCommandValue("bold") after assert_equals: Wrong result returned expected "" but got "true"
-PASS [["stylewithcss","true"],["bold",""]] "foo<span style=\"font-weight: 200\">[bar]</span>baz": execCommand("stylewithcss", false, "true") return value 
-PASS [["stylewithcss","true"],["bold",""]] "foo<span style=\"font-weight: 200\">[bar]</span>baz": execCommand("bold", false, "") return value 
-PASS [["stylewithcss","true"],["bold",""]] "foo<span style=\"font-weight: 200\">[bar]</span>baz" checks for modifications to non-editable content 
-PASS [["stylewithcss","true"],["bold",""]] "foo<span style=\"font-weight: 200\">[bar]</span>baz" compare innerHTML 
-PASS [["stylewithcss","true"],["bold",""]] "foo<span style=\"font-weight: 200\">[bar]</span>baz" queryCommandIndeterm("stylewithcss") before 
-PASS [["stylewithcss","true"],["bold",""]] "foo<span style=\"font-weight: 200\">[bar]</span>baz" queryCommandState("stylewithcss") before 
-PASS [["stylewithcss","true"],["bold",""]] "foo<span style=\"font-weight: 200\">[bar]</span>baz" queryCommandValue("stylewithcss") before 
-PASS [["stylewithcss","true"],["bold",""]] "foo<span style=\"font-weight: 200\">[bar]</span>baz" queryCommandIndeterm("stylewithcss") after 
-PASS [["stylewithcss","true"],["bold",""]] "foo<span style=\"font-weight: 200\">[bar]</span>baz" queryCommandState("stylewithcss") after 
-PASS [["stylewithcss","true"],["bold",""]] "foo<span style=\"font-weight: 200\">[bar]</span>baz" queryCommandValue("stylewithcss") after 
-PASS [["stylewithcss","true"],["bold",""]] "foo<span style=\"font-weight: 200\">[bar]</span>baz" queryCommandIndeterm("bold") before 
-PASS [["stylewithcss","true"],["bold",""]] "foo<span style=\"font-weight: 200\">[bar]</span>baz" queryCommandState("bold") before 
-FAIL [["stylewithcss","true"],["bold",""]] "foo<span style=\"font-weight: 200\">[bar]</span>baz" queryCommandValue("bold") before assert_equals: Wrong result returned expected "" but got "false"
-PASS [["stylewithcss","true"],["bold",""]] "foo<span style=\"font-weight: 200\">[bar]</span>baz" queryCommandIndeterm("bold") after 
-PASS [["stylewithcss","true"],["bold",""]] "foo<span style=\"font-weight: 200\">[bar]</span>baz" queryCommandState("bold") after 
-FAIL [["stylewithcss","true"],["bold",""]] "foo<span style=\"font-weight: 200\">[bar]</span>baz" queryCommandValue("bold") after assert_equals: Wrong result returned expected "" but got "true"
-PASS [["stylewithcss","false"],["bold",""]] "foo<span style=\"font-weight: 200\">[bar]</span>baz": execCommand("stylewithcss", false, "false") return value 
-PASS [["stylewithcss","false"],["bold",""]] "foo<span style=\"font-weight: 200\">[bar]</span>baz": execCommand("bold", false, "") return value 
-PASS [["stylewithcss","false"],["bold",""]] "foo<span style=\"font-weight: 200\">[bar]</span>baz" checks for modifications to non-editable content 
-PASS [["stylewithcss","false"],["bold",""]] "foo<span style=\"font-weight: 200\">[bar]</span>baz" compare innerHTML 
-PASS [["stylewithcss","false"],["bold",""]] "foo<span style=\"font-weight: 200\">[bar]</span>baz" queryCommandIndeterm("stylewithcss") before 
-PASS [["stylewithcss","false"],["bold",""]] "foo<span style=\"font-weight: 200\">[bar]</span>baz" queryCommandState("stylewithcss") before 
-PASS [["stylewithcss","false"],["bold",""]] "foo<span style=\"font-weight: 200\">[bar]</span>baz" queryCommandValue("stylewithcss") before 
-PASS [["stylewithcss","false"],["bold",""]] "foo<span style=\"font-weight: 200\">[bar]</span>baz" queryCommandIndeterm("stylewithcss") after 
-PASS [["stylewithcss","false"],["bold",""]] "foo<span style=\"font-weight: 200\">[bar]</span>baz" queryCommandState("stylewithcss") after 
-PASS [["stylewithcss","false"],["bold",""]] "foo<span style=\"font-weight: 200\">[bar]</span>baz" queryCommandValue("stylewithcss") after 
-PASS [["stylewithcss","false"],["bold",""]] "foo<span style=\"font-weight: 200\">[bar]</span>baz" queryCommandIndeterm("bold") before 
-PASS [["stylewithcss","false"],["bold",""]] "foo<span style=\"font-weight: 200\">[bar]</span>baz" queryCommandState("bold") before 
-FAIL [["stylewithcss","false"],["bold",""]] "foo<span style=\"font-weight: 200\">[bar]</span>baz" queryCommandValue("bold") before assert_equals: Wrong result returned expected "" but got "false"
-PASS [["stylewithcss","false"],["bold",""]] "foo<span style=\"font-weight: 200\">[bar]</span>baz" queryCommandIndeterm("bold") after 
-PASS [["stylewithcss","false"],["bold",""]] "foo<span style=\"font-weight: 200\">[bar]</span>baz" queryCommandState("bold") after 
-FAIL [["stylewithcss","false"],["bold",""]] "foo<span style=\"font-weight: 200\">[bar]</span>baz" queryCommandValue("bold") after assert_equals: Wrong result returned expected "" but got "true"
-PASS [["stylewithcss","true"],["bold",""]] "foo<span style=\"font-weight: 300\">[bar]</span>baz": execCommand("stylewithcss", false, "true") return value 
-PASS [["stylewithcss","true"],["bold",""]] "foo<span style=\"font-weight: 300\">[bar]</span>baz": execCommand("bold", false, "") return value 
-PASS [["stylewithcss","true"],["bold",""]] "foo<span style=\"font-weight: 300\">[bar]</span>baz" checks for modifications to non-editable content 
-PASS [["stylewithcss","true"],["bold",""]] "foo<span style=\"font-weight: 300\">[bar]</span>baz" compare innerHTML 
-PASS [["stylewithcss","true"],["bold",""]] "foo<span style=\"font-weight: 300\">[bar]</span>baz" queryCommandIndeterm("stylewithcss") before 
-PASS [["stylewithcss","true"],["bold",""]] "foo<span style=\"font-weight: 300\">[bar]</span>baz" queryCommandState("stylewithcss") before 
-PASS [["stylewithcss","true"],["bold",""]] "foo<span style=\"font-weight: 300\">[bar]</span>baz" queryCommandValue("stylewithcss") before 
-PASS [["stylewithcss","true"],["bold",""]] "foo<span style=\"font-weight: 300\">[bar]</span>baz" queryCommandIndeterm("stylewithcss") after 
-PASS [["stylewithcss","true"],["bold",""]] "foo<span style=\"font-weight: 300\">[bar]</span>baz" queryCommandState("stylewithcss") after 
-PASS [["stylewithcss","true"],["bold",""]] "foo<span style=\"font-weight: 300\">[bar]</span>baz" queryCommandValue("stylewithcss") after 
-PASS [["stylewithcss","true"],["bold",""]] "foo<span style=\"font-weight: 300\">[bar]</span>baz" queryCommandIndeterm("bold") before 
-PASS [["stylewithcss","true"],["bold",""]] "foo<span style=\"font-weight: 300\">[bar]</span>baz" queryCommandState("bold") before 
-FAIL [["stylewithcss","true"],["bold",""]] "foo<span style=\"font-weight: 300\">[bar]</span>baz" queryCommandValue("bold") before assert_equals: Wrong result returned expected "" but got "false"
-PASS [["stylewithcss","true"],["bold",""]] "foo<span style=\"font-weight: 300\">[bar]</span>baz" queryCommandIndeterm("bold") after 
-PASS [["stylewithcss","true"],["bold",""]] "foo<span style=\"font-weight: 300\">[bar]</span>baz" queryCommandState("bold") after 
-FAIL [["stylewithcss","true"],["bold",""]] "foo<span style=\"font-weight: 300\">[bar]</span>baz" queryCommandValue("bold") after assert_equals: Wrong result returned expected "" but got "true"
-PASS [["stylewithcss","false"],["bold",""]] "foo<span style=\"font-weight: 300\">[bar]</span>baz": execCommand("stylewithcss", false, "false") return value 
-PASS [["stylewithcss","false"],["bold",""]] "foo<span style=\"font-weight: 300\">[bar]</span>baz": execCommand("bold", false, "") return value 
-PASS [["stylewithcss","false"],["bold",""]] "foo<span style=\"font-weight: 300\">[bar]</span>baz" checks for modifications to non-editable content 
-PASS [["stylewithcss","false"],["bold",""]] "foo<span style=\"font-weight: 300\">[bar]</span>baz" compare innerHTML 
-PASS [["stylewithcss","false"],["bold",""]] "foo<span style=\"font-weight: 300\">[bar]</span>baz" queryCommandIndeterm("stylewithcss") before 
-PASS [["stylewithcss","false"],["bold",""]] "foo<span style=\"font-weight: 300\">[bar]</span>baz" queryCommandState("stylewithcss") before 
-PASS [["stylewithcss","false"],["bold",""]] "foo<span style=\"font-weight: 300\">[bar]</span>baz" queryCommandValue("stylewithcss") before 
-PASS [["stylewithcss","false"],["bold",""]] "foo<span style=\"font-weight: 300\">[bar]</span>baz" queryCommandIndeterm("stylewithcss") after 
-PASS [["stylewithcss","false"],["bold",""]] "foo<span style=\"font-weight: 300\">[bar]</span>baz" queryCommandState("stylewithcss") after 
-PASS [["stylewithcss","false"],["bold",""]] "foo<span style=\"font-weight: 300\">[bar]</span>baz" queryCommandValue("stylewithcss") after 
-PASS [["stylewithcss","false"],["bold",""]] "foo<span style=\"font-weight: 300\">[bar]</span>baz" queryCommandIndeterm("bold") before 
-PASS [["stylewithcss","false"],["bold",""]] "foo<span style=\"font-weight: 300\">[bar]</span>baz" queryCommandState("bold") before 
-FAIL [["stylewithcss","false"],["bold",""]] "foo<span style=\"font-weight: 300\">[bar]</span>baz" queryCommandValue("bold") before assert_equals: Wrong result returned expected "" but got "false"
-PASS [["stylewithcss","false"],["bold",""]] "foo<span style=\"font-weight: 300\">[bar]</span>baz" queryCommandIndeterm("bold") after 
-PASS [["stylewithcss","false"],["bold",""]] "foo<span style=\"font-weight: 300\">[bar]</span>baz" queryCommandState("bold") after 
-FAIL [["stylewithcss","false"],["bold",""]] "foo<span style=\"font-weight: 300\">[bar]</span>baz" queryCommandValue("bold") after assert_equals: Wrong result returned expected "" but got "true"
-PASS [["stylewithcss","true"],["bold",""]] "foo<span style=\"font-weight: 400\">[bar]</span>baz": execCommand("stylewithcss", false, "true") return value 
-PASS [["stylewithcss","true"],["bold",""]] "foo<span style=\"font-weight: 400\">[bar]</span>baz": execCommand("bold", false, "") return value 
-PASS [["stylewithcss","true"],["bold",""]] "foo<span style=\"font-weight: 400\">[bar]</span>baz" checks for modifications to non-editable content 
-PASS [["stylewithcss","true"],["bold",""]] "foo<span style=\"font-weight: 400\">[bar]</span>baz" compare innerHTML 
-PASS [["stylewithcss","true"],["bold",""]] "foo<span style=\"font-weight: 400\">[bar]</span>baz" queryCommandIndeterm("stylewithcss") before 
-PASS [["stylewithcss","true"],["bold",""]] "foo<span style=\"font-weight: 400\">[bar]</span>baz" queryCommandState("stylewithcss") before 
-PASS [["stylewithcss","true"],["bold",""]] "foo<span style=\"font-weight: 400\">[bar]</span>baz" queryCommandValue("stylewithcss") before 
-PASS [["stylewithcss","true"],["bold",""]] "foo<span style=\"font-weight: 400\">[bar]</span>baz" queryCommandIndeterm("stylewithcss") after 
-PASS [["stylewithcss","true"],["bold",""]] "foo<span style=\"font-weight: 400\">[bar]</span>baz" queryCommandState("stylewithcss") after 
-PASS [["stylewithcss","true"],["bold",""]] "foo<span style=\"font-weight: 400\">[bar]</span>baz" queryCommandValue("stylewithcss") after 
-PASS [["stylewithcss","true"],["bold",""]] "foo<span style=\"font-weight: 400\">[bar]</span>baz" queryCommandIndeterm("bold") before 
-PASS [["stylewithcss","true"],["bold",""]] "foo<span style=\"font-weight: 400\">[bar]</span>baz" queryCommandState("bold") before 
-FAIL [["stylewithcss","true"],["bold",""]] "foo<span style=\"font-weight: 400\">[bar]</span>baz" queryCommandValue("bold") before assert_equals: Wrong result returned expected "" but got "false"
-PASS [["stylewithcss","true"],["bold",""]] "foo<span style=\"font-weight: 400\">[bar]</span>baz" queryCommandIndeterm("bold") after 
-PASS [["stylewithcss","true"],["bold",""]] "foo<span style=\"font-weight: 400\">[bar]</span>baz" queryCommandState("bold") after 
-FAIL [["stylewithcss","true"],["bold",""]] "foo<span style=\"font-weight: 400\">[bar]</span>baz" queryCommandValue("bold") after assert_equals: Wrong result returned expected "" but got "true"
-PASS [["stylewithcss","false"],["bold",""]] "foo<span style=\"font-weight: 400\">[bar]</span>baz": execCommand("stylewithcss", false, "false") return value 
-PASS [["stylewithcss","false"],["bold",""]] "foo<span style=\"font-weight: 400\">[bar]</span>baz": execCommand("bold", false, "") return value 
-PASS [["stylewithcss","false"],["bold",""]] "foo<span style=\"font-weight: 400\">[bar]</span>baz" checks for modifications to non-editable content 
-PASS [["stylewithcss","false"],["bold",""]] "foo<span style=\"font-weight: 400\">[bar]</span>baz" compare innerHTML 
-PASS [["stylewithcss","false"],["bold",""]] "foo<span style=\"font-weight: 400\">[bar]</span>baz" queryCommandIndeterm("stylewithcss") before 
-PASS [["stylewithcss","false"],["bold",""]] "foo<span style=\"font-weight: 400\">[bar]</span>baz" queryCommandState("stylewithcss") before 
-PASS [["stylewithcss","false"],["bold",""]] "foo<span style=\"font-weight: 400\">[bar]</span>baz" queryCommandValue("stylewithcss") before 
-PASS [["stylewithcss","false"],["bold",""]] "foo<span style=\"font-weight: 400\">[bar]</span>baz" queryCommandIndeterm("stylewithcss") after 
-PASS [["stylewithcss","false"],["bold",""]] "foo<span style=\"font-weight: 400\">[bar]</span>baz" queryCommandState("stylewithcss") after 
-PASS [["stylewithcss","false"],["bold",""]] "foo<span style=\"font-weight: 400\">[bar]</span>baz" queryCommandValue("stylewithcss") after 
-PASS [["stylewithcss","false"],["bold",""]] "foo<span style=\"font-weight: 400\">[bar]</span>baz" queryCommandIndeterm("bold") before 
-PASS [["stylewithcss","false"],["bold",""]] "foo<span style=\"font-weight: 400\">[bar]</span>baz" queryCommandState("bold") before 
-FAIL [["stylewithcss","false"],["bold",""]] "foo<span style=\"font-weight: 400\">[bar]</span>baz" queryCommandValue("bold") before assert_equals: Wrong result returned expected "" but got "false"
-PASS [["stylewithcss","false"],["bold",""]] "foo<span style=\"font-weight: 400\">[bar]</span>baz" queryCommandIndeterm("bold") after 
-PASS [["stylewithcss","false"],["bold",""]] "foo<span style=\"font-weight: 400\">[bar]</span>baz" queryCommandState("bold") after 
-FAIL [["stylewithcss","false"],["bold",""]] "foo<span style=\"font-weight: 400\">[bar]</span>baz" queryCommandValue("bold") after assert_equals: Wrong result returned expected "" but got "true"
-PASS [["stylewithcss","true"],["bold",""]] "foo<span style=\"font-weight: 500\">[bar]</span>baz": execCommand("stylewithcss", false, "true") return value 
-PASS [["stylewithcss","true"],["bold",""]] "foo<span style=\"font-weight: 500\">[bar]</span>baz": execCommand("bold", false, "") return value 
-PASS [["stylewithcss","true"],["bold",""]] "foo<span style=\"font-weight: 500\">[bar]</span>baz" checks for modifications to non-editable content 
-PASS [["stylewithcss","true"],["bold",""]] "foo<span style=\"font-weight: 500\">[bar]</span>baz" compare innerHTML 
-PASS [["stylewithcss","true"],["bold",""]] "foo<span style=\"font-weight: 500\">[bar]</span>baz" queryCommandIndeterm("stylewithcss") before 
-PASS [["stylewithcss","true"],["bold",""]] "foo<span style=\"font-weight: 500\">[bar]</span>baz" queryCommandState("stylewithcss") before 
-PASS [["stylewithcss","true"],["bold",""]] "foo<span style=\"font-weight: 500\">[bar]</span>baz" queryCommandValue("stylewithcss") before 
-PASS [["stylewithcss","true"],["bold",""]] "foo<span style=\"font-weight: 500\">[bar]</span>baz" queryCommandIndeterm("stylewithcss") after 
-PASS [["stylewithcss","true"],["bold",""]] "foo<span style=\"font-weight: 500\">[bar]</span>baz" queryCommandState("stylewithcss") after 
-PASS [["stylewithcss","true"],["bold",""]] "foo<span style=\"font-weight: 500\">[bar]</span>baz" queryCommandValue("stylewithcss") after 
-PASS [["stylewithcss","true"],["bold",""]] "foo<span style=\"font-weight: 500\">[bar]</span>baz" queryCommandIndeterm("bold") before 
-PASS [["stylewithcss","true"],["bold",""]] "foo<span style=\"font-weight: 500\">[bar]</span>baz" queryCommandState("bold") before 
-FAIL [["stylewithcss","true"],["bold",""]] "foo<span style=\"font-weight: 500\">[bar]</span>baz" queryCommandValue("bold") before assert_equals: Wrong result returned expected "" but got "false"
-PASS [["stylewithcss","true"],["bold",""]] "foo<span style=\"font-weight: 500\">[bar]</span>baz" queryCommandIndeterm("bold") after 
-PASS [["stylewithcss","true"],["bold",""]] "foo<span style=\"font-weight: 500\">[bar]</span>baz" queryCommandState("bold") after 
-FAIL [["stylewithcss","true"],["bold",""]] "foo<span style=\"font-weight: 500\">[bar]</span>baz" queryCommandValue("bold") after assert_equals: Wrong result returned expected "" but got "true"
-PASS [["stylewithcss","false"],["bold",""]] "foo<span style=\"font-weight: 500\">[bar]</span>baz": execCommand("stylewithcss", false, "false") return value 
-PASS [["stylewithcss","false"],["bold",""]] "foo<span style=\"font-weight: 500\">[bar]</span>baz": execCommand("bold", false, "") return value 
-PASS [["stylewithcss","false"],["bold",""]] "foo<span style=\"font-weight: 500\">[bar]</span>baz" checks for modifications to non-editable content 
-PASS [["stylewithcss","false"],["bold",""]] "foo<span style=\"font-weight: 500\">[bar]</span>baz" compare innerHTML 
-PASS [["stylewithcss","false"],["bold",""]] "foo<span style=\"font-weight: 500\">[bar]</span>baz" queryCommandIndeterm("stylewithcss") before 
-PASS [["stylewithcss","false"],["bold",""]] "foo<span style=\"font-weight: 500\">[bar]</span>baz" queryCommandState("stylewithcss") before 
-PASS [["stylewithcss","false"],["bold",""]] "foo<span style=\"font-weight: 500\">[bar]</span>baz" queryCommandValue("stylewithcss") before 
-PASS [["stylewithcss","false"],["bold",""]] "foo<span style=\"font-weight: 500\">[bar]</span>baz" queryCommandIndeterm("stylewithcss") after 
-PASS [["stylewithcss","false"],["bold",""]] "foo<span style=\"font-weight: 500\">[bar]</span>baz" queryCommandState("stylewithcss") after 
-PASS [["stylewithcss","false"],["bold",""]] "foo<span style=\"font-weight: 500\">[bar]</span>baz" queryCommandValue("stylewithcss") after 
-PASS [["stylewithcss","false"],["bold",""]] "foo<span style=\"font-weight: 500\">[bar]</span>baz" queryCommandIndeterm("bold") before 
-PASS [["stylewithcss","false"],["bold",""]] "foo<span style=\"font-weight: 500\">[bar]</span>baz" queryCommandState("bold") before 
-FAIL [["stylewithcss","false"],["bold",""]] "foo<span style=\"font-weight: 500\">[bar]</span>baz" queryCommandValue("bold") before assert_equals: Wrong result returned expected "" but got "false"
-PASS [["stylewithcss","false"],["bold",""]] "foo<span style=\"font-weight: 500\">[bar]</span>baz" queryCommandIndeterm("bold") after 
-PASS [["stylewithcss","false"],["bold",""]] "foo<span style=\"font-weight: 500\">[bar]</span>baz" queryCommandState("bold") after 
-FAIL [["stylewithcss","false"],["bold",""]] "foo<span style=\"font-weight: 500\">[bar]</span>baz" queryCommandValue("bold") after assert_equals: Wrong result returned expected "" but got "true"
-PASS [["stylewithcss","true"],["bold",""]] "foo<span style=\"font-weight: 600\">[bar]</span>baz": execCommand("stylewithcss", false, "true") return value 
-PASS [["stylewithcss","true"],["bold",""]] "foo<span style=\"font-weight: 600\">[bar]</span>baz": execCommand("bold", false, "") return value 
-PASS [["stylewithcss","true"],["bold",""]] "foo<span style=\"font-weight: 600\">[bar]</span>baz" checks for modifications to non-editable content 
-PASS [["stylewithcss","true"],["bold",""]] "foo<span style=\"font-weight: 600\">[bar]</span>baz" compare innerHTML 
-PASS [["stylewithcss","true"],["bold",""]] "foo<span style=\"font-weight: 600\">[bar]</span>baz" queryCommandIndeterm("stylewithcss") before 
-PASS [["stylewithcss","true"],["bold",""]] "foo<span style=\"font-weight: 600\">[bar]</span>baz" queryCommandState("stylewithcss") before 
-PASS [["stylewithcss","true"],["bold",""]] "foo<span style=\"font-weight: 600\">[bar]</span>baz" queryCommandValue("stylewithcss") before 
-PASS [["stylewithcss","true"],["bold",""]] "foo<span style=\"font-weight: 600\">[bar]</span>baz" queryCommandIndeterm("stylewithcss") after 
-PASS [["stylewithcss","true"],["bold",""]] "foo<span style=\"font-weight: 600\">[bar]</span>baz" queryCommandState("stylewithcss") after 
-PASS [["stylewithcss","true"],["bold",""]] "foo<span style=\"font-weight: 600\">[bar]</span>baz" queryCommandValue("stylewithcss") after 
-PASS [["stylewithcss","true"],["bold",""]] "foo<span style=\"font-weight: 600\">[bar]</span>baz" queryCommandIndeterm("bold") before 
-PASS [["stylewithcss","true"],["bold",""]] "foo<span style=\"font-weight: 600\">[bar]</span>baz" queryCommandState("bold") before 
-FAIL [["stylewithcss","true"],["bold",""]] "foo<span style=\"font-weight: 600\">[bar]</span>baz" queryCommandValue("bold") before assert_equals: Wrong result returned expected "" but got "true"
-PASS [["stylewithcss","true"],["bold",""]] "foo<span style=\"font-weight: 600\">[bar]</span>baz" queryCommandIndeterm("bold") after 
-PASS [["stylewithcss","true"],["bold",""]] "foo<span style=\"font-weight: 600\">[bar]</span>baz" queryCommandState("bold") after 
-FAIL [["stylewithcss","true"],["bold",""]] "foo<span style=\"font-weight: 600\">[bar]</span>baz" queryCommandValue("bold") after assert_equals: Wrong result returned expected "" but got "false"
-PASS [["stylewithcss","false"],["bold",""]] "foo<span style=\"font-weight: 600\">[bar]</span>baz": execCommand("stylewithcss", false, "false") return value 
-PASS [["stylewithcss","false"],["bold",""]] "foo<span style=\"font-weight: 600\">[bar]</span>baz": execCommand("bold", false, "") return value 
-PASS [["stylewithcss","false"],["bold",""]] "foo<span style=\"font-weight: 600\">[bar]</span>baz" checks for modifications to non-editable content 
-PASS [["stylewithcss","false"],["bold",""]] "foo<span style=\"font-weight: 600\">[bar]</span>baz" compare innerHTML 
-PASS [["stylewithcss","false"],["bold",""]] "foo<span style=\"font-weight: 600\">[bar]</span>baz" queryCommandIndeterm("stylewithcss") before 
-PASS [["stylewithcss","false"],["bold",""]] "foo<span style=\"font-weight: 600\">[bar]</span>baz" queryCommandState("stylewithcss") before 
-PASS [["stylewithcss","false"],["bold",""]] "foo<span style=\"font-weight: 600\">[bar]</span>baz" queryCommandValue("stylewithcss") before 
-PASS [["stylewithcss","false"],["bold",""]] "foo<span style=\"font-weight: 600\">[bar]</span>baz" queryCommandIndeterm("stylewithcss") after 
-PASS [["stylewithcss","false"],["bold",""]] "foo<span style=\"font-weight: 600\">[bar]</span>baz" queryCommandState("stylewithcss") after 
-PASS [["stylewithcss","false"],["bold",""]] "foo<span style=\"font-weight: 600\">[bar]</span>baz" queryCommandValue("stylewithcss") after 
-PASS [["stylewithcss","false"],["bold",""]] "foo<span style=\"font-weight: 600\">[bar]</span>baz" queryCommandIndeterm("bold") before 
-PASS [["stylewithcss","false"],["bold",""]] "foo<span style=\"font-weight: 600\">[bar]</span>baz" queryCommandState("bold") before 
-FAIL [["stylewithcss","false"],["bold",""]] "foo<span style=\"font-weight: 600\">[bar]</span>baz" queryCommandValue("bold") before assert_equals: Wrong result returned expected "" but got "true"
-PASS [["stylewithcss","false"],["bold",""]] "foo<span style=\"font-weight: 600\">[bar]</span>baz" queryCommandIndeterm("bold") after 
-PASS [["stylewithcss","false"],["bold",""]] "foo<span style=\"font-weight: 600\">[bar]</span>baz" queryCommandState("bold") after 
-FAIL [["stylewithcss","false"],["bold",""]] "foo<span style=\"font-weight: 600\">[bar]</span>baz" queryCommandValue("bold") after assert_equals: Wrong result returned expected "" but got "false"
-PASS [["stylewithcss","true"],["bold",""]] "foo<span style=\"font-weight: 700\">[bar]</span>baz": execCommand("stylewithcss", false, "true") return value 
-PASS [["stylewithcss","true"],["bold",""]] "foo<span style=\"font-weight: 700\">[bar]</span>baz": execCommand("bold", false, "") return value 
-PASS [["stylewithcss","true"],["bold",""]] "foo<span style=\"font-weight: 700\">[bar]</span>baz" checks for modifications to non-editable content 
-PASS [["stylewithcss","true"],["bold",""]] "foo<span style=\"font-weight: 700\">[bar]</span>baz" compare innerHTML 
-PASS [["stylewithcss","true"],["bold",""]] "foo<span style=\"font-weight: 700\">[bar]</span>baz" queryCommandIndeterm("stylewithcss") before 
-PASS [["stylewithcss","true"],["bold",""]] "foo<span style=\"font-weight: 700\">[bar]</span>baz" queryCommandState("stylewithcss") before 
-PASS [["stylewithcss","true"],["bold",""]] "foo<span style=\"font-weight: 700\">[bar]</span>baz" queryCommandValue("stylewithcss") before 
-PASS [["stylewithcss","true"],["bold",""]] "foo<span style=\"font-weight: 700\">[bar]</span>baz" queryCommandIndeterm("stylewithcss") after 
-PASS [["stylewithcss","true"],["bold",""]] "foo<span style=\"font-weight: 700\">[bar]</span>baz" queryCommandState("stylewithcss") after 
-PASS [["stylewithcss","true"],["bold",""]] "foo<span style=\"font-weight: 700\">[bar]</span>baz" queryCommandValue("stylewithcss") after 
-PASS [["stylewithcss","true"],["bold",""]] "foo<span style=\"font-weight: 700\">[bar]</span>baz" queryCommandIndeterm("bold") before 
-PASS [["stylewithcss","true"],["bold",""]] "foo<span style=\"font-weight: 700\">[bar]</span>baz" queryCommandState("bold") before 
-FAIL [["stylewithcss","true"],["bold",""]] "foo<span style=\"font-weight: 700\">[bar]</span>baz" queryCommandValue("bold") before assert_equals: Wrong result returned expected "" but got "true"
-PASS [["stylewithcss","true"],["bold",""]] "foo<span style=\"font-weight: 700\">[bar]</span>baz" queryCommandIndeterm("bold") after 
-PASS [["stylewithcss","true"],["bold",""]] "foo<span style=\"font-weight: 700\">[bar]</span>baz" queryCommandState("bold") after 
-FAIL [["stylewithcss","true"],["bold",""]] "foo<span style=\"font-weight: 700\">[bar]</span>baz" queryCommandValue("bold") after assert_equals: Wrong result returned expected "" but got "false"
-PASS [["stylewithcss","false"],["bold",""]] "foo<span style=\"font-weight: 700\">[bar]</span>baz": execCommand("stylewithcss", false, "false") return value 
-PASS [["stylewithcss","false"],["bold",""]] "foo<span style=\"font-weight: 700\">[bar]</span>baz": execCommand("bold", false, "") return value 
-PASS [["stylewithcss","false"],["bold",""]] "foo<span style=\"font-weight: 700\">[bar]</span>baz" checks for modifications to non-editable content 
-PASS [["stylewithcss","false"],["bold",""]] "foo<span style=\"font-weight: 700\">[bar]</span>baz" compare innerHTML 
-PASS [["stylewithcss","false"],["bold",""]] "foo<span style=\"font-weight: 700\">[bar]</span>baz" queryCommandIndeterm("stylewithcss") before 
-PASS [["stylewithcss","false"],["bold",""]] "foo<span style=\"font-weight: 700\">[bar]</span>baz" queryCommandState("stylewithcss") before 
-PASS [["stylewithcss","false"],["bold",""]] "foo<span style=\"font-weight: 700\">[bar]</span>baz" queryCommandValue("stylewithcss") before 
-PASS [["stylewithcss","false"],["bold",""]] "foo<span style=\"font-weight: 700\">[bar]</span>baz" queryCommandIndeterm("stylewithcss") after 
-PASS [["stylewithcss","false"],["bold",""]] "foo<span style=\"font-weight: 700\">[bar]</span>baz" queryCommandState("stylewithcss") after 
-PASS [["stylewithcss","false"],["bold",""]] "foo<span style=\"font-weight: 700\">[bar]</span>baz" queryCommandValue("stylewithcss") after 
-PASS [["stylewithcss","false"],["bold",""]] "foo<span style=\"font-weight: 700\">[bar]</span>baz" queryCommandIndeterm("bold") before 
-PASS [["stylewithcss","false"],["bold",""]] "foo<span style=\"font-weight: 700\">[bar]</span>baz" queryCommandState("bold") before 
-FAIL [["stylewithcss","false"],["bold",""]] "foo<span style=\"font-weight: 700\">[bar]</span>baz" queryCommandValue("bold") before assert_equals: Wrong result returned expected "" but got "true"
-PASS [["stylewithcss","false"],["bold",""]] "foo<span style=\"font-weight: 700\">[bar]</span>baz" queryCommandIndeterm("bold") after 
-PASS [["stylewithcss","false"],["bold",""]] "foo<span style=\"font-weight: 700\">[bar]</span>baz" queryCommandState("bold") after 
-FAIL [["stylewithcss","false"],["bold",""]] "foo<span style=\"font-weight: 700\">[bar]</span>baz" queryCommandValue("bold") after assert_equals: Wrong result returned expected "" but got "false"
-PASS [["stylewithcss","true"],["bold",""]] "foo<span style=\"font-weight: 800\">[bar]</span>baz": execCommand("stylewithcss", false, "true") return value 
-PASS [["stylewithcss","true"],["bold",""]] "foo<span style=\"font-weight: 800\">[bar]</span>baz": execCommand("bold", false, "") return value 
-PASS [["stylewithcss","true"],["bold",""]] "foo<span style=\"font-weight: 800\">[bar]</span>baz" checks for modifications to non-editable content 
-PASS [["stylewithcss","true"],["bold",""]] "foo<span style=\"font-weight: 800\">[bar]</span>baz" compare innerHTML 
-PASS [["stylewithcss","true"],["bold",""]] "foo<span style=\"font-weight: 800\">[bar]</span>baz" queryCommandIndeterm("stylewithcss") before 
-PASS [["stylewithcss","true"],["bold",""]] "foo<span style=\"font-weight: 800\">[bar]</span>baz" queryCommandState("stylewithcss") before 
-PASS [["stylewithcss","true"],["bold",""]] "foo<span style=\"font-weight: 800\">[bar]</span>baz" queryCommandValue("stylewithcss") before 
-PASS [["stylewithcss","true"],["bold",""]] "foo<span style=\"font-weight: 800\">[bar]</span>baz" queryCommandIndeterm("stylewithcss") after 
-PASS [["stylewithcss","true"],["bold",""]] "foo<span style=\"font-weight: 800\">[bar]</span>baz" queryCommandState("stylewithcss") after 
-PASS [["stylewithcss","true"],["bold",""]] "foo<span style=\"font-weight: 800\">[bar]</span>baz" queryCommandValue("stylewithcss") after 
-PASS [["stylewithcss","true"],["bold",""]] "foo<span style=\"font-weight: 800\">[bar]</span>baz" queryCommandIndeterm("bold") before 
-PASS [["stylewithcss","true"],["bold",""]] "foo<span style=\"font-weight: 800\">[bar]</span>baz" queryCommandState("bold") before 
-FAIL [["stylewithcss","true"],["bold",""]] "foo<span style=\"font-weight: 800\">[bar]</span>baz" queryCommandValue("bold") before assert_equals: Wrong result returned expected "" but got "true"
-PASS [["stylewithcss","true"],["bold",""]] "foo<span style=\"font-weight: 800\">[bar]</span>baz" queryCommandIndeterm("bold") after 
-PASS [["stylewithcss","true"],["bold",""]] "foo<span style=\"font-weight: 800\">[bar]</span>baz" queryCommandState("bold") after 
-FAIL [["stylewithcss","true"],["bold",""]] "foo<span style=\"font-weight: 800\">[bar]</span>baz" queryCommandValue("bold") after assert_equals: Wrong result returned expected "" but got "false"
-PASS [["stylewithcss","false"],["bold",""]] "foo<span style=\"font-weight: 800\">[bar]</span>baz": execCommand("stylewithcss", false, "false") return value 
-PASS [["stylewithcss","false"],["bold",""]] "foo<span style=\"font-weight: 800\">[bar]</span>baz": execCommand("bold", false, "") return value 
-PASS [["stylewithcss","false"],["bold",""]] "foo<span style=\"font-weight: 800\">[bar]</span>baz" checks for modifications to non-editable content 
-PASS [["stylewithcss","false"],["bold",""]] "foo<span style=\"font-weight: 800\">[bar]</span>baz" compare innerHTML 
-PASS [["stylewithcss","false"],["bold",""]] "foo<span style=\"font-weight: 800\">[bar]</span>baz" queryCommandIndeterm("stylewithcss") before 
-PASS [["stylewithcss","false"],["bold",""]] "foo<span style=\"font-weight: 800\">[bar]</span>baz" queryCommandState("stylewithcss") before 
-PASS [["stylewithcss","false"],["bold",""]] "foo<span style=\"font-weight: 800\">[bar]</span>baz" queryCommandValue("stylewithcss") before 
-PASS [["stylewithcss","false"],["bold",""]] "foo<span style=\"font-weight: 800\">[bar]</span>baz" queryCommandIndeterm("stylewithcss") after 
-PASS [["stylewithcss","false"],["bold",""]] "foo<span style=\"font-weight: 800\">[bar]</span>baz" queryCommandState("stylewithcss") after 
-PASS [["stylewithcss","false"],["bold",""]] "foo<span style=\"font-weight: 800\">[bar]</span>baz" queryCommandValue("stylewithcss") after 
-PASS [["stylewithcss","false"],["bold",""]] "foo<span style=\"font-weight: 800\">[bar]</span>baz" queryCommandIndeterm("bold") before 
-PASS [["stylewithcss","false"],["bold",""]] "foo<span style=\"font-weight: 800\">[bar]</span>baz" queryCommandState("bold") before 
-FAIL [["stylewithcss","false"],["bold",""]] "foo<span style=\"font-weight: 800\">[bar]</span>baz" queryCommandValue("bold") before assert_equals: Wrong result returned expected "" but got "true"
-PASS [["stylewithcss","false"],["bold",""]] "foo<span style=\"font-weight: 800\">[bar]</span>baz" queryCommandIndeterm("bold") after 
-PASS [["stylewithcss","false"],["bold",""]] "foo<span style=\"font-weight: 800\">[bar]</span>baz" queryCommandState("bold") after 
-FAIL [["stylewithcss","false"],["bold",""]] "foo<span style=\"font-weight: 800\">[bar]</span>baz" queryCommandValue("bold") after assert_equals: Wrong result returned expected "" but got "false"
-PASS [["stylewithcss","true"],["bold",""]] "foo<span style=\"font-weight: 900\">[bar]</span>baz": execCommand("stylewithcss", false, "true") return value 
-PASS [["stylewithcss","true"],["bold",""]] "foo<span style=\"font-weight: 900\">[bar]</span>baz": execCommand("bold", false, "") return value 
-PASS [["stylewithcss","true"],["bold",""]] "foo<span style=\"font-weight: 900\">[bar]</span>baz" checks for modifications to non-editable content 
-PASS [["stylewithcss","true"],["bold",""]] "foo<span style=\"font-weight: 900\">[bar]</span>baz" compare innerHTML 
-PASS [["stylewithcss","true"],["bold",""]] "foo<span style=\"font-weight: 900\">[bar]</span>baz" queryCommandIndeterm("stylewithcss") before 
-PASS [["stylewithcss","true"],["bold",""]] "foo<span style=\"font-weight: 900\">[bar]</span>baz" queryCommandState("stylewithcss") before 
-PASS [["stylewithcss","true"],["bold",""]] "foo<span style=\"font-weight: 900\">[bar]</span>baz" queryCommandValue("stylewithcss") before 
-PASS [["stylewithcss","true"],["bold",""]] "foo<span style=\"font-weight: 900\">[bar]</span>baz" queryCommandIndeterm("stylewithcss") after 
-PASS [["stylewithcss","true"],["bold",""]] "foo<span style=\"font-weight: 900\">[bar]</span>baz" queryCommandState("stylewithcss") after 
-PASS [["stylewithcss","true"],["bold",""]] "foo<span style=\"font-weight: 900\">[bar]</span>baz" queryCommandValue("stylewithcss") after 
-PASS [["stylewithcss","true"],["bold",""]] "foo<span style=\"font-weight: 900\">[bar]</span>baz" queryCommandIndeterm("bold") before 
-PASS [["stylewithcss","true"],["bold",""]] "foo<span style=\"font-weight: 900\">[bar]</span>baz" queryCommandState("bold") before 
-FAIL [["stylewithcss","true"],["bold",""]] "foo<span style=\"font-weight: 900\">[bar]</span>baz" queryCommandValue("bold") before assert_equals: Wrong result returned expected "" but got "true"
-PASS [["stylewithcss","true"],["bold",""]] "foo<span style=\"font-weight: 900\">[bar]</span>baz" queryCommandIndeterm("bold") after 
-PASS [["stylewithcss","true"],["bold",""]] "foo<span style=\"font-weight: 900\">[bar]</span>baz" queryCommandState("bold") after 
-FAIL [["stylewithcss","true"],["bold",""]] "foo<span style=\"font-weight: 900\">[bar]</span>baz" queryCommandValue("bold") after assert_equals: Wrong result returned expected "" but got "false"
-PASS [["stylewithcss","false"],["bold",""]] "foo<span style=\"font-weight: 900\">[bar]</span>baz": execCommand("stylewithcss", false, "false") return value 
-PASS [["stylewithcss","false"],["bold",""]] "foo<span style=\"font-weight: 900\">[bar]</span>baz": execCommand("bold", false, "") return value 
-PASS [["stylewithcss","false"],["bold",""]] "foo<span style=\"font-weight: 900\">[bar]</span>baz" checks for modifications to non-editable content 
-PASS [["stylewithcss","false"],["bold",""]] "foo<span style=\"font-weight: 900\">[bar]</span>baz" compare innerHTML 
-PASS [["stylewithcss","false"],["bold",""]] "foo<span style=\"font-weight: 900\">[bar]</span>baz" queryCommandIndeterm("stylewithcss") before 
-PASS [["stylewithcss","false"],["bold",""]] "foo<span style=\"font-weight: 900\">[bar]</span>baz" queryCommandState("stylewithcss") before 
-PASS [["stylewithcss","false"],["bold",""]] "foo<span style=\"font-weight: 900\">[bar]</span>baz" queryCommandValue("stylewithcss") before 
-PASS [["stylewithcss","false"],["bold",""]] "foo<span style=\"font-weight: 900\">[bar]</span>baz" queryCommandIndeterm("stylewithcss") after 
-PASS [["stylewithcss","false"],["bold",""]] "foo<span style=\"font-weight: 900\">[bar]</span>baz" queryCommandState("stylewithcss") after 
-PASS [["stylewithcss","false"],["bold",""]] "foo<span style=\"font-weight: 900\">[bar]</span>baz" queryCommandValue("stylewithcss") after 
-PASS [["stylewithcss","false"],["bold",""]] "foo<span style=\"font-weight: 900\">[bar]</span>baz" queryCommandIndeterm("bold") before 
-PASS [["stylewithcss","false"],["bold",""]] "foo<span style=\"font-weight: 900\">[bar]</span>baz" queryCommandState("bold") before 
-FAIL [["stylewithcss","false"],["bold",""]] "foo<span style=\"font-weight: 900\">[bar]</span>baz" queryCommandValue("bold") before assert_equals: Wrong result returned expected "" but got "true"
-PASS [["stylewithcss","false"],["bold",""]] "foo<span style=\"font-weight: 900\">[bar]</span>baz" queryCommandIndeterm("bold") after 
-PASS [["stylewithcss","false"],["bold",""]] "foo<span style=\"font-weight: 900\">[bar]</span>baz" queryCommandState("bold") after 
-FAIL [["stylewithcss","false"],["bold",""]] "foo<span style=\"font-weight: 900\">[bar]</span>baz" queryCommandValue("bold") after assert_equals: Wrong result returned expected "" but got "false"
-PASS [["stylewithcss","true"],["bold",""]] "foo<span style=\"font-weight: 400\">[bar</span>]baz": execCommand("stylewithcss", false, "true") return value 
-PASS [["stylewithcss","true"],["bold",""]] "foo<span style=\"font-weight: 400\">[bar</span>]baz": execCommand("bold", false, "") return value 
-PASS [["stylewithcss","true"],["bold",""]] "foo<span style=\"font-weight: 400\">[bar</span>]baz" checks for modifications to non-editable content 
-PASS [["stylewithcss","true"],["bold",""]] "foo<span style=\"font-weight: 400\">[bar</span>]baz" compare innerHTML 
-PASS [["stylewithcss","true"],["bold",""]] "foo<span style=\"font-weight: 400\">[bar</span>]baz" queryCommandIndeterm("stylewithcss") before 
-PASS [["stylewithcss","true"],["bold",""]] "foo<span style=\"font-weight: 400\">[bar</span>]baz" queryCommandState("stylewithcss") before 
-PASS [["stylewithcss","true"],["bold",""]] "foo<span style=\"font-weight: 400\">[bar</span>]baz" queryCommandValue("stylewithcss") before 
-PASS [["stylewithcss","true"],["bold",""]] "foo<span style=\"font-weight: 400\">[bar</span>]baz" queryCommandIndeterm("stylewithcss") after 
-PASS [["stylewithcss","true"],["bold",""]] "foo<span style=\"font-weight: 400\">[bar</span>]baz" queryCommandState("stylewithcss") after 
-PASS [["stylewithcss","true"],["bold",""]] "foo<span style=\"font-weight: 400\">[bar</span>]baz" queryCommandValue("stylewithcss") after 
-PASS [["stylewithcss","true"],["bold",""]] "foo<span style=\"font-weight: 400\">[bar</span>]baz" queryCommandIndeterm("bold") before 
-PASS [["stylewithcss","true"],["bold",""]] "foo<span style=\"font-weight: 400\">[bar</span>]baz" queryCommandState("bold") before 
-FAIL [["stylewithcss","true"],["bold",""]] "foo<span style=\"font-weight: 400\">[bar</span>]baz" queryCommandValue("bold") before assert_equals: Wrong result returned expected "" but got "false"
-PASS [["stylewithcss","true"],["bold",""]] "foo<span style=\"font-weight: 400\">[bar</span>]baz" queryCommandIndeterm("bold") after 
-PASS [["stylewithcss","true"],["bold",""]] "foo<span style=\"font-weight: 400\">[bar</span>]baz" queryCommandState("bold") after 
-FAIL [["stylewithcss","true"],["bold",""]] "foo<span style=\"font-weight: 400\">[bar</span>]baz" queryCommandValue("bold") after assert_equals: Wrong result returned expected "" but got "true"
-PASS [["stylewithcss","false"],["bold",""]] "foo<span style=\"font-weight: 400\">[bar</span>]baz": execCommand("stylewithcss", false, "false") return value 
-PASS [["stylewithcss","false"],["bold",""]] "foo<span style=\"font-weight: 400\">[bar</span>]baz": execCommand("bold", false, "") return value 
-PASS [["stylewithcss","false"],["bold",""]] "foo<span style=\"font-weight: 400\">[bar</span>]baz" checks for modifications to non-editable content 
-PASS [["stylewithcss","false"],["bold",""]] "foo<span style=\"font-weight: 400\">[bar</span>]baz" compare innerHTML 
-PASS [["stylewithcss","false"],["bold",""]] "foo<span style=\"font-weight: 400\">[bar</span>]baz" queryCommandIndeterm("stylewithcss") before 
-PASS [["stylewithcss","false"],["bold",""]] "foo<span style=\"font-weight: 400\">[bar</span>]baz" queryCommandState("stylewithcss") before 
-PASS [["stylewithcss","false"],["bold",""]] "foo<span style=\"font-weight: 400\">[bar</span>]baz" queryCommandValue("stylewithcss") before 
-PASS [["stylewithcss","false"],["bold",""]] "foo<span style=\"font-weight: 400\">[bar</span>]baz" queryCommandIndeterm("stylewithcss") after 
-PASS [["stylewithcss","false"],["bold",""]] "foo<span style=\"font-weight: 400\">[bar</span>]baz" queryCommandState("stylewithcss") after 
-PASS [["stylewithcss","false"],["bold",""]] "foo<span style=\"font-weight: 400\">[bar</span>]baz" queryCommandValue("stylewithcss") after 
-PASS [["stylewithcss","false"],["bold",""]] "foo<span style=\"font-weight: 400\">[bar</span>]baz" queryCommandIndeterm("bold") before 
-PASS [["stylewithcss","false"],["bold",""]] "foo<span style=\"font-weight: 400\">[bar</span>]baz" queryCommandState("bold") before 
-FAIL [["stylewithcss","false"],["bold",""]] "foo<span style=\"font-weight: 400\">[bar</span>]baz" queryCommandValue("bold") before assert_equals: Wrong result returned expected "" but got "false"
-PASS [["stylewithcss","false"],["bold",""]] "foo<span style=\"font-weight: 400\">[bar</span>]baz" queryCommandIndeterm("bold") after 
-PASS [["stylewithcss","false"],["bold",""]] "foo<span style=\"font-weight: 400\">[bar</span>]baz" queryCommandState("bold") after 
-FAIL [["stylewithcss","false"],["bold",""]] "foo<span style=\"font-weight: 400\">[bar</span>]baz" queryCommandValue("bold") after assert_equals: Wrong result returned expected "" but got "true"
-PASS [["stylewithcss","true"],["bold",""]] "foo<span style=\"font-weight: 700\">[bar</span>]baz": execCommand("stylewithcss", false, "true") return value 
-PASS [["stylewithcss","true"],["bold",""]] "foo<span style=\"font-weight: 700\">[bar</span>]baz": execCommand("bold", false, "") return value 
-PASS [["stylewithcss","true"],["bold",""]] "foo<span style=\"font-weight: 700\">[bar</span>]baz" checks for modifications to non-editable content 
-PASS [["stylewithcss","true"],["bold",""]] "foo<span style=\"font-weight: 700\">[bar</span>]baz" compare innerHTML 
-PASS [["stylewithcss","true"],["bold",""]] "foo<span style=\"font-weight: 700\">[bar</span>]baz" queryCommandIndeterm("stylewithcss") before 
-PASS [["stylewithcss","true"],["bold",""]] "foo<span style=\"font-weight: 700\">[bar</span>]baz" queryCommandState("stylewithcss") before 
-PASS [["stylewithcss","true"],["bold",""]] "foo<span style=\"font-weight: 700\">[bar</span>]baz" queryCommandValue("stylewithcss") before 
-PASS [["stylewithcss","true"],["bold",""]] "foo<span style=\"font-weight: 700\">[bar</span>]baz" queryCommandIndeterm("stylewithcss") after 
-PASS [["stylewithcss","true"],["bold",""]] "foo<span style=\"font-weight: 700\">[bar</span>]baz" queryCommandState("stylewithcss") after 
-PASS [["stylewithcss","true"],["bold",""]] "foo<span style=\"font-weight: 700\">[bar</span>]baz" queryCommandValue("stylewithcss") after 
-PASS [["stylewithcss","true"],["bold",""]] "foo<span style=\"font-weight: 700\">[bar</span>]baz" queryCommandIndeterm("bold") before 
-PASS [["stylewithcss","true"],["bold",""]] "foo<span style=\"font-weight: 700\">[bar</span>]baz" queryCommandState("bold") before 
-FAIL [["stylewithcss","true"],["bold",""]] "foo<span style=\"font-weight: 700\">[bar</span>]baz" queryCommandValue("bold") before assert_equals: Wrong result returned expected "" but got "true"
-PASS [["stylewithcss","true"],["bold",""]] "foo<span style=\"font-weight: 700\">[bar</span>]baz" queryCommandIndeterm("bold") after 
-PASS [["stylewithcss","true"],["bold",""]] "foo<span style=\"font-weight: 700\">[bar</span>]baz" queryCommandState("bold") after 
-FAIL [["stylewithcss","true"],["bold",""]] "foo<span style=\"font-weight: 700\">[bar</span>]baz" queryCommandValue("bold") after assert_equals: Wrong result returned expected "" but got "false"
-PASS [["stylewithcss","false"],["bold",""]] "foo<span style=\"font-weight: 700\">[bar</span>]baz": execCommand("stylewithcss", false, "false") return value 
-PASS [["stylewithcss","false"],["bold",""]] "foo<span style=\"font-weight: 700\">[bar</span>]baz": execCommand("bold", false, "") return value 
-PASS [["stylewithcss","false"],["bold",""]] "foo<span style=\"font-weight: 700\">[bar</span>]baz" checks for modifications to non-editable content 
-PASS [["stylewithcss","false"],["bold",""]] "foo<span style=\"font-weight: 700\">[bar</span>]baz" compare innerHTML 
-PASS [["stylewithcss","false"],["bold",""]] "foo<span style=\"font-weight: 700\">[bar</span>]baz" queryCommandIndeterm("stylewithcss") before 
-PASS [["stylewithcss","false"],["bold",""]] "foo<span style=\"font-weight: 700\">[bar</span>]baz" queryCommandState("stylewithcss") before 
-PASS [["stylewithcss","false"],["bold",""]] "foo<span style=\"font-weight: 700\">[bar</span>]baz" queryCommandValue("stylewithcss") before 
-PASS [["stylewithcss","false"],["bold",""]] "foo<span style=\"font-weight: 700\">[bar</span>]baz" queryCommandIndeterm("stylewithcss") after 
-PASS [["stylewithcss","false"],["bold",""]] "foo<span style=\"font-weight: 700\">[bar</span>]baz" queryCommandState("stylewithcss") after 
-PASS [["stylewithcss","false"],["bold",""]] "foo<span style=\"font-weight: 700\">[bar</span>]baz" queryCommandValue("stylewithcss") after 
-PASS [["stylewithcss","false"],["bold",""]] "foo<span style=\"font-weight: 700\">[bar</span>]baz" queryCommandIndeterm("bold") before 
-PASS [["stylewithcss","false"],["bold",""]] "foo<span style=\"font-weight: 700\">[bar</span>]baz" queryCommandState("bold") before 
-FAIL [["stylewithcss","false"],["bold",""]] "foo<span style=\"font-weight: 700\">[bar</span>]baz" queryCommandValue("bold") before assert_equals: Wrong result returned expected "" but got "true"
-PASS [["stylewithcss","false"],["bold",""]] "foo<span style=\"font-weight: 700\">[bar</span>]baz" queryCommandIndeterm("bold") after 
-PASS [["stylewithcss","false"],["bold",""]] "foo<span style=\"font-weight: 700\">[bar</span>]baz" queryCommandState("bold") after 
-FAIL [["stylewithcss","false"],["bold",""]] "foo<span style=\"font-weight: 700\">[bar</span>]baz" queryCommandValue("bold") after assert_equals: Wrong result returned expected "" but got "false"
-PASS [["stylewithcss","true"],["bold",""]] "foo[<span style=\"font-weight: 400\">bar]</span>baz": execCommand("stylewithcss", false, "true") return value 
-PASS [["stylewithcss","true"],["bold",""]] "foo[<span style=\"font-weight: 400\">bar]</span>baz": execCommand("bold", false, "") return value 
-PASS [["stylewithcss","true"],["bold",""]] "foo[<span style=\"font-weight: 400\">bar]</span>baz" checks for modifications to non-editable content 
-PASS [["stylewithcss","true"],["bold",""]] "foo[<span style=\"font-weight: 400\">bar]</span>baz" compare innerHTML 
-PASS [["stylewithcss","true"],["bold",""]] "foo[<span style=\"font-weight: 400\">bar]</span>baz" queryCommandIndeterm("stylewithcss") before 
-PASS [["stylewithcss","true"],["bold",""]] "foo[<span style=\"font-weight: 400\">bar]</span>baz" queryCommandState("stylewithcss") before 
-PASS [["stylewithcss","true"],["bold",""]] "foo[<span style=\"font-weight: 400\">bar]</span>baz" queryCommandValue("stylewithcss") before 
-PASS [["stylewithcss","true"],["bold",""]] "foo[<span style=\"font-weight: 400\">bar]</span>baz" queryCommandIndeterm("stylewithcss") after 
-PASS [["stylewithcss","true"],["bold",""]] "foo[<span style=\"font-weight: 400\">bar]</span>baz" queryCommandState("stylewithcss") after 
-PASS [["stylewithcss","true"],["bold",""]] "foo[<span style=\"font-weight: 400\">bar]</span>baz" queryCommandValue("stylewithcss") after 
-PASS [["stylewithcss","true"],["bold",""]] "foo[<span style=\"font-weight: 400\">bar]</span>baz" queryCommandIndeterm("bold") before 
-PASS [["stylewithcss","true"],["bold",""]] "foo[<span style=\"font-weight: 400\">bar]</span>baz" queryCommandState("bold") before 
-FAIL [["stylewithcss","true"],["bold",""]] "foo[<span style=\"font-weight: 400\">bar]</span>baz" queryCommandValue("bold") before assert_equals: Wrong result returned expected "" but got "false"
-PASS [["stylewithcss","true"],["bold",""]] "foo[<span style=\"font-weight: 400\">bar]</span>baz" queryCommandIndeterm("bold") after 
-PASS [["stylewithcss","true"],["bold",""]] "foo[<span style=\"font-weight: 400\">bar]</span>baz" queryCommandState("bold") after 
-FAIL [["stylewithcss","true"],["bold",""]] "foo[<span style=\"font-weight: 400\">bar]</span>baz" queryCommandValue("bold") after assert_equals: Wrong result returned expected "" but got "true"
-PASS [["stylewithcss","false"],["bold",""]] "foo[<span style=\"font-weight: 400\">bar]</span>baz": execCommand("stylewithcss", false, "false") return value 
-PASS [["stylewithcss","false"],["bold",""]] "foo[<span style=\"font-weight: 400\">bar]</span>baz": execCommand("bold", false, "") return value 
-PASS [["stylewithcss","false"],["bold",""]] "foo[<span style=\"font-weight: 400\">bar]</span>baz" checks for modifications to non-editable content 
-PASS [["stylewithcss","false"],["bold",""]] "foo[<span style=\"font-weight: 400\">bar]</span>baz" compare innerHTML 
-PASS [["stylewithcss","false"],["bold",""]] "foo[<span style=\"font-weight: 400\">bar]</span>baz" queryCommandIndeterm("stylewithcss") before 
-PASS [["stylewithcss","false"],["bold",""]] "foo[<span style=\"font-weight: 400\">bar]</span>baz" queryCommandState("stylewithcss") before 
-PASS [["stylewithcss","false"],["bold",""]] "foo[<span style=\"font-weight: 400\">bar]</span>baz" queryCommandValue("stylewithcss") before 
-PASS [["stylewithcss","false"],["bold",""]] "foo[<span style=\"font-weight: 400\">bar]</span>baz" queryCommandIndeterm("stylewithcss") after 
-PASS [["stylewithcss","false"],["bold",""]] "foo[<span style=\"font-weight: 400\">bar]</span>baz" queryCommandState("stylewithcss") after 
-PASS [["stylewithcss","false"],["bold",""]] "foo[<span style=\"font-weight: 400\">bar]</span>baz" queryCommandValue("stylewithcss") after 
-PASS [["stylewithcss","false"],["bold",""]] "foo[<span style=\"font-weight: 400\">bar]</span>baz" queryCommandIndeterm("bold") before 
-PASS [["stylewithcss","false"],["bold",""]] "foo[<span style=\"font-weight: 400\">bar]</span>baz" queryCommandState("bold") before 
-FAIL [["stylewithcss","false"],["bold",""]] "foo[<span style=\"font-weight: 400\">bar]</span>baz" queryCommandValue("bold") before assert_equals: Wrong result returned expected "" but got "false"
-PASS [["stylewithcss","false"],["bold",""]] "foo[<span style=\"font-weight: 400\">bar]</span>baz" queryCommandIndeterm("bold") after 
-PASS [["stylewithcss","false"],["bold",""]] "foo[<span style=\"font-weight: 400\">bar]</span>baz" queryCommandState("bold") after 
-FAIL [["stylewithcss","false"],["bold",""]] "foo[<span style=\"font-weight: 400\">bar]</span>baz" queryCommandValue("bold") after assert_equals: Wrong result returned expected "" but got "true"
-PASS [["stylewithcss","true"],["bold",""]] "foo[<span style=\"font-weight: 700\">bar]</span>baz": execCommand("stylewithcss", false, "true") return value 
-PASS [["stylewithcss","true"],["bold",""]] "foo[<span style=\"font-weight: 700\">bar]</span>baz": execCommand("bold", false, "") return value 
-PASS [["stylewithcss","true"],["bold",""]] "foo[<span style=\"font-weight: 700\">bar]</span>baz" checks for modifications to non-editable content 
-PASS [["stylewithcss","true"],["bold",""]] "foo[<span style=\"font-weight: 700\">bar]</span>baz" compare innerHTML 
-PASS [["stylewithcss","true"],["bold",""]] "foo[<span style=\"font-weight: 700\">bar]</span>baz" queryCommandIndeterm("stylewithcss") before 
-PASS [["stylewithcss","true"],["bold",""]] "foo[<span style=\"font-weight: 700\">bar]</span>baz" queryCommandState("stylewithcss") before 
-PASS [["stylewithcss","true"],["bold",""]] "foo[<span style=\"font-weight: 700\">bar]</span>baz" queryCommandValue("stylewithcss") before 
-PASS [["stylewithcss","true"],["bold",""]] "foo[<span style=\"font-weight: 700\">bar]</span>baz" queryCommandIndeterm("stylewithcss") after 
-PASS [["stylewithcss","true"],["bold",""]] "foo[<span style=\"font-weight: 700\">bar]</span>baz" queryCommandState("stylewithcss") after 
-PASS [["stylewithcss","true"],["bold",""]] "foo[<span style=\"font-weight: 700\">bar]</span>baz" queryCommandValue("stylewithcss") after 
-PASS [["stylewithcss","true"],["bold",""]] "foo[<span style=\"font-weight: 700\">bar]</span>baz" queryCommandIndeterm("bold") before 
-PASS [["stylewithcss","true"],["bold",""]] "foo[<span style=\"font-weight: 700\">bar]</span>baz" queryCommandState("bold") before 
-FAIL [["stylewithcss","true"],["bold",""]] "foo[<span style=\"font-weight: 700\">bar]</span>baz" queryCommandValue("bold") before assert_equals: Wrong result returned expected "" but got "true"
-PASS [["stylewithcss","true"],["bold",""]] "foo[<span style=\"font-weight: 700\">bar]</span>baz" queryCommandIndeterm("bold") after 
-PASS [["stylewithcss","true"],["bold",""]] "foo[<span style=\"font-weight: 700\">bar]</span>baz" queryCommandState("bold") after 
-FAIL [["stylewithcss","true"],["bold",""]] "foo[<span style=\"font-weight: 700\">bar]</span>baz" queryCommandValue("bold") after assert_equals: Wrong result returned expected "" but got "false"
-PASS [["stylewithcss","false"],["bold",""]] "foo[<span style=\"font-weight: 700\">bar]</span>baz": execCommand("stylewithcss", false, "false") return value 
-PASS [["stylewithcss","false"],["bold",""]] "foo[<span style=\"font-weight: 700\">bar]</span>baz": execCommand("bold", false, "") return value 
-PASS [["stylewithcss","false"],["bold",""]] "foo[<span style=\"font-weight: 700\">bar]</span>baz" checks for modifications to non-editable content 
-PASS [["stylewithcss","false"],["bold",""]] "foo[<span style=\"font-weight: 700\">bar]</span>baz" compare innerHTML 
-PASS [["stylewithcss","false"],["bold",""]] "foo[<span style=\"font-weight: 700\">bar]</span>baz" queryCommandIndeterm("stylewithcss") before 
-PASS [["stylewithcss","false"],["bold",""]] "foo[<span style=\"font-weight: 700\">bar]</span>baz" queryCommandState("stylewithcss") before 
-PASS [["stylewithcss","false"],["bold",""]] "foo[<span style=\"font-weight: 700\">bar]</span>baz" queryCommandValue("stylewithcss") before 
-PASS [["stylewithcss","false"],["bold",""]] "foo[<span style=\"font-weight: 700\">bar]</span>baz" queryCommandIndeterm("stylewithcss") after 
-PASS [["stylewithcss","false"],["bold",""]] "foo[<span style=\"font-weight: 700\">bar]</span>baz" queryCommandState("stylewithcss") after 
-PASS [["stylewithcss","false"],["bold",""]] "foo[<span style=\"font-weight: 700\">bar]</span>baz" queryCommandValue("stylewithcss") after 
-PASS [["stylewithcss","false"],["bold",""]] "foo[<span style=\"font-weight: 700\">bar]</span>baz" queryCommandIndeterm("bold") before 
-PASS [["stylewithcss","false"],["bold",""]] "foo[<span style=\"font-weight: 700\">bar]</span>baz" queryCommandState("bold") before 
-FAIL [["stylewithcss","false"],["bold",""]] "foo[<span style=\"font-weight: 700\">bar]</span>baz" queryCommandValue("bold") before assert_equals: Wrong result returned expected "" but got "true"
-PASS [["stylewithcss","false"],["bold",""]] "foo[<span style=\"font-weight: 700\">bar]</span>baz" queryCommandIndeterm("bold") after 
-PASS [["stylewithcss","false"],["bold",""]] "foo[<span style=\"font-weight: 700\">bar]</span>baz" queryCommandState("bold") after 
-FAIL [["stylewithcss","false"],["bold",""]] "foo[<span style=\"font-weight: 700\">bar]</span>baz" queryCommandValue("bold") after assert_equals: Wrong result returned expected "" but got "false"
-PASS [["stylewithcss","true"],["bold",""]] "foo[<span style=\"font-weight: 400\">bar</span>]baz": execCommand("stylewithcss", false, "true") return value 
-PASS [["stylewithcss","true"],["bold",""]] "foo[<span style=\"font-weight: 400\">bar</span>]baz": execCommand("bold", false, "") return value 
-PASS [["stylewithcss","true"],["bold",""]] "foo[<span style=\"font-weight: 400\">bar</span>]baz" checks for modifications to non-editable content 
-PASS [["stylewithcss","true"],["bold",""]] "foo[<span style=\"font-weight: 400\">bar</span>]baz" compare innerHTML 
-PASS [["stylewithcss","true"],["bold",""]] "foo[<span style=\"font-weight: 400\">bar</span>]baz" queryCommandIndeterm("stylewithcss") before 
-PASS [["stylewithcss","true"],["bold",""]] "foo[<span style=\"font-weight: 400\">bar</span>]baz" queryCommandState("stylewithcss") before 
-PASS [["stylewithcss","true"],["bold",""]] "foo[<span style=\"font-weight: 400\">bar</span>]baz" queryCommandValue("stylewithcss") before 
-PASS [["stylewithcss","true"],["bold",""]] "foo[<span style=\"font-weight: 400\">bar</span>]baz" queryCommandIndeterm("stylewithcss") after 
-PASS [["stylewithcss","true"],["bold",""]] "foo[<span style=\"font-weight: 400\">bar</span>]baz" queryCommandState("stylewithcss") after 
-PASS [["stylewithcss","true"],["bold",""]] "foo[<span style=\"font-weight: 400\">bar</span>]baz" queryCommandValue("stylewithcss") after 
-PASS [["stylewithcss","true"],["bold",""]] "foo[<span style=\"font-weight: 400\">bar</span>]baz" queryCommandIndeterm("bold") before 
-PASS [["stylewithcss","true"],["bold",""]] "foo[<span style=\"font-weight: 400\">bar</span>]baz" queryCommandState("bold") before 
-FAIL [["stylewithcss","true"],["bold",""]] "foo[<span style=\"font-weight: 400\">bar</span>]baz" queryCommandValue("bold") before assert_equals: Wrong result returned expected "" but got "false"
-PASS [["stylewithcss","true"],["bold",""]] "foo[<span style=\"font-weight: 400\">bar</span>]baz" queryCommandIndeterm("bold") after 
-PASS [["stylewithcss","true"],["bold",""]] "foo[<span style=\"font-weight: 400\">bar</span>]baz" queryCommandState("bold") after 
-FAIL [["stylewithcss","true"],["bold",""]] "foo[<span style=\"font-weight: 400\">bar</span>]baz" queryCommandValue("bold") after assert_equals: Wrong result returned expected "" but got "true"
-PASS [["stylewithcss","false"],["bold",""]] "foo[<span style=\"font-weight: 400\">bar</span>]baz": execCommand("stylewithcss", false, "false") return value 
-PASS [["stylewithcss","false"],["bold",""]] "foo[<span style=\"font-weight: 400\">bar</span>]baz": execCommand("bold", false, "") return value 
-PASS [["stylewithcss","false"],["bold",""]] "foo[<span style=\"font-weight: 400\">bar</span>]baz" checks for modifications to non-editable content 
-PASS [["stylewithcss","false"],["bold",""]] "foo[<span style=\"font-weight: 400\">bar</span>]baz" compare innerHTML 
-PASS [["stylewithcss","false"],["bold",""]] "foo[<span style=\"font-weight: 400\">bar</span>]baz" queryCommandIndeterm("stylewithcss") before 
-PASS [["stylewithcss","false"],["bold",""]] "foo[<span style=\"font-weight: 400\">bar</span>]baz" queryCommandState("stylewithcss") before 
-PASS [["stylewithcss","false"],["bold",""]] "foo[<span style=\"font-weight: 400\">bar</span>]baz" queryCommandValue("stylewithcss") before 
-PASS [["stylewithcss","false"],["bold",""]] "foo[<span style=\"font-weight: 400\">bar</span>]baz" queryCommandIndeterm("stylewithcss") after 
-PASS [["stylewithcss","false"],["bold",""]] "foo[<span style=\"font-weight: 400\">bar</span>]baz" queryCommandState("stylewithcss") after 
-PASS [["stylewithcss","false"],["bold",""]] "foo[<span style=\"font-weight: 400\">bar</span>]baz" queryCommandValue("stylewithcss") after 
-PASS [["stylewithcss","false"],["bold",""]] "foo[<span style=\"font-weight: 400\">bar</span>]baz" queryCommandIndeterm("bold") before 
-PASS [["stylewithcss","false"],["bold",""]] "foo[<span style=\"font-weight: 400\">bar</span>]baz" queryCommandState("bold") before 
-FAIL [["stylewithcss","false"],["bold",""]] "foo[<span style=\"font-weight: 400\">bar</span>]baz" queryCommandValue("bold") before assert_equals: Wrong result returned expected "" but got "false"
-PASS [["stylewithcss","false"],["bold",""]] "foo[<span style=\"font-weight: 400\">bar</span>]baz" queryCommandIndeterm("bold") after 
-PASS [["stylewithcss","false"],["bold",""]] "foo[<span style=\"font-weight: 400\">bar</span>]baz" queryCommandState("bold") after 
-FAIL [["stylewithcss","false"],["bold",""]] "foo[<span style=\"font-weight: 400\">bar</span>]baz" queryCommandValue("bold") after assert_equals: Wrong result returned expected "" but got "true"
-PASS [["stylewithcss","true"],["bold",""]] "foo[<span style=\"font-weight: 700\">bar</span>]baz": execCommand("stylewithcss", false, "true") return value 
-PASS [["stylewithcss","true"],["bold",""]] "foo[<span style=\"font-weight: 700\">bar</span>]baz": execCommand("bold", false, "") return value 
-PASS [["stylewithcss","true"],["bold",""]] "foo[<span style=\"font-weight: 700\">bar</span>]baz" checks for modifications to non-editable content 
-PASS [["stylewithcss","true"],["bold",""]] "foo[<span style=\"font-weight: 700\">bar</span>]baz" compare innerHTML 
-PASS [["stylewithcss","true"],["bold",""]] "foo[<span style=\"font-weight: 700\">bar</span>]baz" queryCommandIndeterm("stylewithcss") before 
-PASS [["stylewithcss","true"],["bold",""]] "foo[<span style=\"font-weight: 700\">bar</span>]baz" queryCommandState("stylewithcss") before 
-PASS [["stylewithcss","true"],["bold",""]] "foo[<span style=\"font-weight: 700\">bar</span>]baz" queryCommandValue("stylewithcss") before 
-PASS [["stylewithcss","true"],["bold",""]] "foo[<span style=\"font-weight: 700\">bar</span>]baz" queryCommandIndeterm("stylewithcss") after 
-PASS [["stylewithcss","true"],["bold",""]] "foo[<span style=\"font-weight: 700\">bar</span>]baz" queryCommandState("stylewithcss") after 
-PASS [["stylewithcss","true"],["bold",""]] "foo[<span style=\"font-weight: 700\">bar</span>]baz" queryCommandValue("stylewithcss") after 
-PASS [["stylewithcss","true"],["bold",""]] "foo[<span style=\"font-weight: 700\">bar</span>]baz" queryCommandIndeterm("bold") before 
-PASS [["stylewithcss","true"],["bold",""]] "foo[<span style=\"font-weight: 700\">bar</span>]baz" queryCommandState("bold") before 
-FAIL [["stylewithcss","true"],["bold",""]] "foo[<span style=\"font-weight: 700\">bar</span>]baz" queryCommandValue("bold") before assert_equals: Wrong result returned expected "" but got "true"
-PASS [["stylewithcss","true"],["bold",""]] "foo[<span style=\"font-weight: 700\">bar</span>]baz" queryCommandIndeterm("bold") after 
-PASS [["stylewithcss","true"],["bold",""]] "foo[<span style=\"font-weight: 700\">bar</span>]baz" queryCommandState("bold") after 
-FAIL [["stylewithcss","true"],["bold",""]] "foo[<span style=\"font-weight: 700\">bar</span>]baz" queryCommandValue("bold") after assert_equals: Wrong result returned expected "" but got "false"
-PASS [["stylewithcss","false"],["bold",""]] "foo[<span style=\"font-weight: 700\">bar</span>]baz": execCommand("stylewithcss", false, "false") return value 
-PASS [["stylewithcss","false"],["bold",""]] "foo[<span style=\"font-weight: 700\">bar</span>]baz": execCommand("bold", false, "") return value 
-PASS [["stylewithcss","false"],["bold",""]] "foo[<span style=\"font-weight: 700\">bar</span>]baz" checks for modifications to non-editable content 
-PASS [["stylewithcss","false"],["bold",""]] "foo[<span style=\"font-weight: 700\">bar</span>]baz" compare innerHTML 
-PASS [["stylewithcss","false"],["bold",""]] "foo[<span style=\"font-weight: 700\">bar</span>]baz" queryCommandIndeterm("stylewithcss") before 
-PASS [["stylewithcss","false"],["bold",""]] "foo[<span style=\"font-weight: 700\">bar</span>]baz" queryCommandState("stylewithcss") before 
-PASS [["stylewithcss","false"],["bold",""]] "foo[<span style=\"font-weight: 700\">bar</span>]baz" queryCommandValue("stylewithcss") before 
-PASS [["stylewithcss","false"],["bold",""]] "foo[<span style=\"font-weight: 700\">bar</span>]baz" queryCommandIndeterm("stylewithcss") after 
-PASS [["stylewithcss","false"],["bold",""]] "foo[<span style=\"font-weight: 700\">bar</span>]baz" queryCommandState("stylewithcss") after 
-PASS [["stylewithcss","false"],["bold",""]] "foo[<span style=\"font-weight: 700\">bar</span>]baz" queryCommandValue("stylewithcss") after 
-PASS [["stylewithcss","false"],["bold",""]] "foo[<span style=\"font-weight: 700\">bar</span>]baz" queryCommandIndeterm("bold") before 
-PASS [["stylewithcss","false"],["bold",""]] "foo[<span style=\"font-weight: 700\">bar</span>]baz" queryCommandState("bold") before 
-FAIL [["stylewithcss","false"],["bold",""]] "foo[<span style=\"font-weight: 700\">bar</span>]baz" queryCommandValue("bold") before assert_equals: Wrong result returned expected "" but got "true"
-PASS [["stylewithcss","false"],["bold",""]] "foo[<span style=\"font-weight: 700\">bar</span>]baz" queryCommandIndeterm("bold") after 
-PASS [["stylewithcss","false"],["bold",""]] "foo[<span style=\"font-weight: 700\">bar</span>]baz" queryCommandState("bold") after 
-FAIL [["stylewithcss","false"],["bold",""]] "foo[<span style=\"font-weight: 700\">bar</span>]baz" queryCommandValue("bold") after assert_equals: Wrong result returned expected "" but got "false"
-PASS [["stylewithcss","true"],["bold",""]] "<span style=\"font-weight: 100\">foo[bar]baz</span>": execCommand("stylewithcss", false, "true") return value 
-PASS [["stylewithcss","true"],["bold",""]] "<span style=\"font-weight: 100\">foo[bar]baz</span>": execCommand("bold", false, "") return value 
-PASS [["stylewithcss","true"],["bold",""]] "<span style=\"font-weight: 100\">foo[bar]baz</span>" checks for modifications to non-editable content 
-FAIL [["stylewithcss","true"],["bold",""]] "<span style=\"font-weight: 100\">foo[bar]baz</span>" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<span style=\"font-weight:100\">foo<span style=\"font-weight:bold\">bar</span>baz</span>" but got "<span style=\"font-weight:100\">foo</span><span style=\"font-weight:bold\">bar</span><span style=\"font-weight:100\">baz</span>"
-PASS [["stylewithcss","true"],["bold",""]] "<span style=\"font-weight: 100\">foo[bar]baz</span>" queryCommandIndeterm("stylewithcss") before 
-PASS [["stylewithcss","true"],["bold",""]] "<span style=\"font-weight: 100\">foo[bar]baz</span>" queryCommandState("stylewithcss") before 
-PASS [["stylewithcss","true"],["bold",""]] "<span style=\"font-weight: 100\">foo[bar]baz</span>" queryCommandValue("stylewithcss") before 
-PASS [["stylewithcss","true"],["bold",""]] "<span style=\"font-weight: 100\">foo[bar]baz</span>" queryCommandIndeterm("stylewithcss") after 
-PASS [["stylewithcss","true"],["bold",""]] "<span style=\"font-weight: 100\">foo[bar]baz</span>" queryCommandState("stylewithcss") after 
-PASS [["stylewithcss","true"],["bold",""]] "<span style=\"font-weight: 100\">foo[bar]baz</span>" queryCommandValue("stylewithcss") after 
-PASS [["stylewithcss","true"],["bold",""]] "<span style=\"font-weight: 100\">foo[bar]baz</span>" queryCommandIndeterm("bold") before 
-PASS [["stylewithcss","true"],["bold",""]] "<span style=\"font-weight: 100\">foo[bar]baz</span>" queryCommandState("bold") before 
-FAIL [["stylewithcss","true"],["bold",""]] "<span style=\"font-weight: 100\">foo[bar]baz</span>" queryCommandValue("bold") before assert_equals: Wrong result returned expected "" but got "false"
-PASS [["stylewithcss","true"],["bold",""]] "<span style=\"font-weight: 100\">foo[bar]baz</span>" queryCommandIndeterm("bold") after 
-PASS [["stylewithcss","true"],["bold",""]] "<span style=\"font-weight: 100\">foo[bar]baz</span>" queryCommandState("bold") after 
-FAIL [["stylewithcss","true"],["bold",""]] "<span style=\"font-weight: 100\">foo[bar]baz</span>" queryCommandValue("bold") after assert_equals: Wrong result returned expected "" but got "true"
-PASS [["stylewithcss","false"],["bold",""]] "<span style=\"font-weight: 100\">foo[bar]baz</span>": execCommand("stylewithcss", false, "false") return value 
-PASS [["stylewithcss","false"],["bold",""]] "<span style=\"font-weight: 100\">foo[bar]baz</span>": execCommand("bold", false, "") return value 
-PASS [["stylewithcss","false"],["bold",""]] "<span style=\"font-weight: 100\">foo[bar]baz</span>" checks for modifications to non-editable content 
-FAIL [["stylewithcss","false"],["bold",""]] "<span style=\"font-weight: 100\">foo[bar]baz</span>" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<span style=\"font-weight:100\">foo<b>bar</b>baz</span>" but got "<span style=\"font-weight:100\">foo</span><b>bar</b><span style=\"font-weight:100\">baz</span>"
-PASS [["stylewithcss","false"],["bold",""]] "<span style=\"font-weight: 100\">foo[bar]baz</span>" queryCommandIndeterm("stylewithcss") before 
-PASS [["stylewithcss","false"],["bold",""]] "<span style=\"font-weight: 100\">foo[bar]baz</span>" queryCommandState("stylewithcss") before 
-PASS [["stylewithcss","false"],["bold",""]] "<span style=\"font-weight: 100\">foo[bar]baz</span>" queryCommandValue("stylewithcss") before 
-PASS [["stylewithcss","false"],["bold",""]] "<span style=\"font-weight: 100\">foo[bar]baz</span>" queryCommandIndeterm("stylewithcss") after 
-PASS [["stylewithcss","false"],["bold",""]] "<span style=\"font-weight: 100\">foo[bar]baz</span>" queryCommandState("stylewithcss") after 
-PASS [["stylewithcss","false"],["bold",""]] "<span style=\"font-weight: 100\">foo[bar]baz</span>" queryCommandValue("stylewithcss") after 
-PASS [["stylewithcss","false"],["bold",""]] "<span style=\"font-weight: 100\">foo[bar]baz</span>" queryCommandIndeterm("bold") before 
-PASS [["stylewithcss","false"],["bold",""]] "<span style=\"font-weight: 100\">foo[bar]baz</span>" queryCommandState("bold") before 
-FAIL [["stylewithcss","false"],["bold",""]] "<span style=\"font-weight: 100\">foo[bar]baz</span>" queryCommandValue("bold") before assert_equals: Wrong result returned expected "" but got "false"
-PASS [["stylewithcss","false"],["bold",""]] "<span style=\"font-weight: 100\">foo[bar]baz</span>" queryCommandIndeterm("bold") after 
-PASS [["stylewithcss","false"],["bold",""]] "<span style=\"font-weight: 100\">foo[bar]baz</span>" queryCommandState("bold") after 
-FAIL [["stylewithcss","false"],["bold",""]] "<span style=\"font-weight: 100\">foo[bar]baz</span>" queryCommandValue("bold") after assert_equals: Wrong result returned expected "" but got "true"
-PASS [["stylewithcss","true"],["bold",""]] "<span style=\"font-weight: 400\">foo[bar]baz</span>": execCommand("stylewithcss", false, "true") return value 
-PASS [["stylewithcss","true"],["bold",""]] "<span style=\"font-weight: 400\">foo[bar]baz</span>": execCommand("bold", false, "") return value 
-PASS [["stylewithcss","true"],["bold",""]] "<span style=\"font-weight: 400\">foo[bar]baz</span>" checks for modifications to non-editable content 
-FAIL [["stylewithcss","true"],["bold",""]] "<span style=\"font-weight: 400\">foo[bar]baz</span>" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<span style=\"font-weight:400\">foo<span style=\"font-weight:bold\">bar</span>baz</span>" but got "<span style=\"font-weight:400\">foo</span><span style=\"font-weight:bold\">bar</span><span style=\"font-weight:400\">baz</span>"
-PASS [["stylewithcss","true"],["bold",""]] "<span style=\"font-weight: 400\">foo[bar]baz</span>" queryCommandIndeterm("stylewithcss") before 
-PASS [["stylewithcss","true"],["bold",""]] "<span style=\"font-weight: 400\">foo[bar]baz</span>" queryCommandState("stylewithcss") before 
-PASS [["stylewithcss","true"],["bold",""]] "<span style=\"font-weight: 400\">foo[bar]baz</span>" queryCommandValue("stylewithcss") before 
-PASS [["stylewithcss","true"],["bold",""]] "<span style=\"font-weight: 400\">foo[bar]baz</span>" queryCommandIndeterm("stylewithcss") after 
-PASS [["stylewithcss","true"],["bold",""]] "<span style=\"font-weight: 400\">foo[bar]baz</span>" queryCommandState("stylewithcss") after 
-PASS [["stylewithcss","true"],["bold",""]] "<span style=\"font-weight: 400\">foo[bar]baz</span>" queryCommandValue("stylewithcss") after 
-PASS [["stylewithcss","true"],["bold",""]] "<span style=\"font-weight: 400\">foo[bar]baz</span>" queryCommandIndeterm("bold") before 
-PASS [["stylewithcss","true"],["bold",""]] "<span style=\"font-weight: 400\">foo[bar]baz</span>" queryCommandState("bold") before 
-FAIL [["stylewithcss","true"],["bold",""]] "<span style=\"font-weight: 400\">foo[bar]baz</span>" queryCommandValue("bold") before assert_equals: Wrong result returned expected "" but got "false"
-PASS [["stylewithcss","true"],["bold",""]] "<span style=\"font-weight: 400\">foo[bar]baz</span>" queryCommandIndeterm("bold") after 
-PASS [["stylewithcss","true"],["bold",""]] "<span style=\"font-weight: 400\">foo[bar]baz</span>" queryCommandState("bold") after 
-FAIL [["stylewithcss","true"],["bold",""]] "<span style=\"font-weight: 400\">foo[bar]baz</span>" queryCommandValue("bold") after assert_equals: Wrong result returned expected "" but got "true"
-PASS [["stylewithcss","false"],["bold",""]] "<span style=\"font-weight: 400\">foo[bar]baz</span>": execCommand("stylewithcss", false, "false") return value 
-PASS [["stylewithcss","false"],["bold",""]] "<span style=\"font-weight: 400\">foo[bar]baz</span>": execCommand("bold", false, "") return value 
-PASS [["stylewithcss","false"],["bold",""]] "<span style=\"font-weight: 400\">foo[bar]baz</span>" checks for modifications to non-editable content 
-FAIL [["stylewithcss","false"],["bold",""]] "<span style=\"font-weight: 400\">foo[bar]baz</span>" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<span style=\"font-weight:400\">foo<b>bar</b>baz</span>" but got "<span style=\"font-weight:400\">foo</span><b>bar</b><span style=\"font-weight:400\">baz</span>"
-PASS [["stylewithcss","false"],["bold",""]] "<span style=\"font-weight: 400\">foo[bar]baz</span>" queryCommandIndeterm("stylewithcss") before 
-PASS [["stylewithcss","false"],["bold",""]] "<span style=\"font-weight: 400\">foo[bar]baz</span>" queryCommandState("stylewithcss") before 
-PASS [["stylewithcss","false"],["bold",""]] "<span style=\"font-weight: 400\">foo[bar]baz</span>" queryCommandValue("stylewithcss") before 
-PASS [["stylewithcss","false"],["bold",""]] "<span style=\"font-weight: 400\">foo[bar]baz</span>" queryCommandIndeterm("stylewithcss") after 
-PASS [["stylewithcss","false"],["bold",""]] "<span style=\"font-weight: 400\">foo[bar]baz</span>" queryCommandState("stylewithcss") after 
-PASS [["stylewithcss","false"],["bold",""]] "<span style=\"font-weight: 400\">foo[bar]baz</span>" queryCommandValue("stylewithcss") after 
-PASS [["stylewithcss","false"],["bold",""]] "<span style=\"font-weight: 400\">foo[bar]baz</span>" queryCommandIndeterm("bold") before 
-PASS [["stylewithcss","false"],["bold",""]] "<span style=\"font-weight: 400\">foo[bar]baz</span>" queryCommandState("bold") before 
-FAIL [["stylewithcss","false"],["bold",""]] "<span style=\"font-weight: 400\">foo[bar]baz</span>" queryCommandValue("bold") before assert_equals: Wrong result returned expected "" but got "false"
-PASS [["stylewithcss","false"],["bold",""]] "<span style=\"font-weight: 400\">foo[bar]baz</span>" queryCommandIndeterm("bold") after 
-PASS [["stylewithcss","false"],["bold",""]] "<span style=\"font-weight: 400\">foo[bar]baz</span>" queryCommandState("bold") after 
-FAIL [["stylewithcss","false"],["bold",""]] "<span style=\"font-weight: 400\">foo[bar]baz</span>" queryCommandValue("bold") after assert_equals: Wrong result returned expected "" but got "true"
-PASS [["stylewithcss","true"],["bold",""]] "<span style=\"font-weight: 700\">foo[bar]baz</span>": execCommand("stylewithcss", false, "true") return value 
-PASS [["stylewithcss","true"],["bold",""]] "<span style=\"font-weight: 700\">foo[bar]baz</span>": execCommand("bold", false, "") return value 
-PASS [["stylewithcss","true"],["bold",""]] "<span style=\"font-weight: 700\">foo[bar]baz</span>" checks for modifications to non-editable content 
-PASS [["stylewithcss","true"],["bold",""]] "<span style=\"font-weight: 700\">foo[bar]baz</span>" compare innerHTML 
-PASS [["stylewithcss","true"],["bold",""]] "<span style=\"font-weight: 700\">foo[bar]baz</span>" queryCommandIndeterm("stylewithcss") before 
-PASS [["stylewithcss","true"],["bold",""]] "<span style=\"font-weight: 700\">foo[bar]baz</span>" queryCommandState("stylewithcss") before 
-PASS [["stylewithcss","true"],["bold",""]] "<span style=\"font-weight: 700\">foo[bar]baz</span>" queryCommandValue("stylewithcss") before 
-PASS [["stylewithcss","true"],["bold",""]] "<span style=\"font-weight: 700\">foo[bar]baz</span>" queryCommandIndeterm("stylewithcss") after 
-PASS [["stylewithcss","true"],["bold",""]] "<span style=\"font-weight: 700\">foo[bar]baz</span>" queryCommandState("stylewithcss") after 
-PASS [["stylewithcss","true"],["bold",""]] "<span style=\"font-weight: 700\">foo[bar]baz</span>" queryCommandValue("stylewithcss") after 
-PASS [["stylewithcss","true"],["bold",""]] "<span style=\"font-weight: 700\">foo[bar]baz</span>" queryCommandIndeterm("bold") before 
-PASS [["stylewithcss","true"],["bold",""]] "<span style=\"font-weight: 700\">foo[bar]baz</span>" queryCommandState("bold") before 
-FAIL [["stylewithcss","true"],["bold",""]] "<span style=\"font-weight: 700\">foo[bar]baz</span>" queryCommandValue("bold") before assert_equals: Wrong result returned expected "" but got "true"
-PASS [["stylewithcss","true"],["bold",""]] "<span style=\"font-weight: 700\">foo[bar]baz</span>" queryCommandIndeterm("bold") after 
-PASS [["stylewithcss","true"],["bold",""]] "<span style=\"font-weight: 700\">foo[bar]baz</span>" queryCommandState("bold") after 
-FAIL [["stylewithcss","true"],["bold",""]] "<span style=\"font-weight: 700\">foo[bar]baz</span>" queryCommandValue("bold") after assert_equals: Wrong result returned expected "" but got "false"
-PASS [["stylewithcss","false"],["bold",""]] "<span style=\"font-weight: 700\">foo[bar]baz</span>": execCommand("stylewithcss", false, "false") return value 
-PASS [["stylewithcss","false"],["bold",""]] "<span style=\"font-weight: 700\">foo[bar]baz</span>": execCommand("bold", false, "") return value 
-PASS [["stylewithcss","false"],["bold",""]] "<span style=\"font-weight: 700\">foo[bar]baz</span>" checks for modifications to non-editable content 
-FAIL [["stylewithcss","false"],["bold",""]] "<span style=\"font-weight: 700\">foo[bar]baz</span>" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<b>foo</b>bar<b>baz</b>" but got "<span style=\"font-weight:700\">foo</span>bar<span style=\"font-weight:700\">baz</span>"
-PASS [["stylewithcss","false"],["bold",""]] "<span style=\"font-weight: 700\">foo[bar]baz</span>" queryCommandIndeterm("stylewithcss") before 
-PASS [["stylewithcss","false"],["bold",""]] "<span style=\"font-weight: 700\">foo[bar]baz</span>" queryCommandState("stylewithcss") before 
-PASS [["stylewithcss","false"],["bold",""]] "<span style=\"font-weight: 700\">foo[bar]baz</span>" queryCommandValue("stylewithcss") before 
-PASS [["stylewithcss","false"],["bold",""]] "<span style=\"font-weight: 700\">foo[bar]baz</span>" queryCommandIndeterm("stylewithcss") after 
-PASS [["stylewithcss","false"],["bold",""]] "<span style=\"font-weight: 700\">foo[bar]baz</span>" queryCommandState("stylewithcss") after 
-PASS [["stylewithcss","false"],["bold",""]] "<span style=\"font-weight: 700\">foo[bar]baz</span>" queryCommandValue("stylewithcss") after 
-PASS [["stylewithcss","false"],["bold",""]] "<span style=\"font-weight: 700\">foo[bar]baz</span>" queryCommandIndeterm("bold") before 
-PASS [["stylewithcss","false"],["bold",""]] "<span style=\"font-weight: 700\">foo[bar]baz</span>" queryCommandState("bold") before 
-FAIL [["stylewithcss","false"],["bold",""]] "<span style=\"font-weight: 700\">foo[bar]baz</span>" queryCommandValue("bold") before assert_equals: Wrong result returned expected "" but got "true"
-PASS [["stylewithcss","false"],["bold",""]] "<span style=\"font-weight: 700\">foo[bar]baz</span>" queryCommandIndeterm("bold") after 
-PASS [["stylewithcss","false"],["bold",""]] "<span style=\"font-weight: 700\">foo[bar]baz</span>" queryCommandState("bold") after 
-FAIL [["stylewithcss","false"],["bold",""]] "<span style=\"font-weight: 700\">foo[bar]baz</span>" queryCommandValue("bold") after assert_equals: Wrong result returned expected "" but got "false"
-PASS [["stylewithcss","true"],["bold",""]] "<span style=\"font-weight: 900\">foo[bar]baz</span>": execCommand("stylewithcss", false, "true") return value 
-PASS [["stylewithcss","true"],["bold",""]] "<span style=\"font-weight: 900\">foo[bar]baz</span>": execCommand("bold", false, "") return value 
-PASS [["stylewithcss","true"],["bold",""]] "<span style=\"font-weight: 900\">foo[bar]baz</span>" checks for modifications to non-editable content 
-PASS [["stylewithcss","true"],["bold",""]] "<span style=\"font-weight: 900\">foo[bar]baz</span>" compare innerHTML 
-PASS [["stylewithcss","true"],["bold",""]] "<span style=\"font-weight: 900\">foo[bar]baz</span>" queryCommandIndeterm("stylewithcss") before 
-PASS [["stylewithcss","true"],["bold",""]] "<span style=\"font-weight: 900\">foo[bar]baz</span>" queryCommandState("stylewithcss") before 
-PASS [["stylewithcss","true"],["bold",""]] "<span style=\"font-weight: 900\">foo[bar]baz</span>" queryCommandValue("stylewithcss") before 
-PASS [["stylewithcss","true"],["bold",""]] "<span style=\"font-weight: 900\">foo[bar]baz</span>" queryCommandIndeterm("stylewithcss") after 
-PASS [["stylewithcss","true"],["bold",""]] "<span style=\"font-weight: 900\">foo[bar]baz</span>" queryCommandState("stylewithcss") after 
-PASS [["stylewithcss","true"],["bold",""]] "<span style=\"font-weight: 900\">foo[bar]baz</span>" queryCommandValue("stylewithcss") after 
-PASS [["stylewithcss","true"],["bold",""]] "<span style=\"font-weight: 900\">foo[bar]baz</span>" queryCommandIndeterm("bold") before 
-PASS [["stylewithcss","true"],["bold",""]] "<span style=\"font-weight: 900\">foo[bar]baz</span>" queryCommandState("bold") before 
-FAIL [["stylewithcss","true"],["bold",""]] "<span style=\"font-weight: 900\">foo[bar]baz</span>" queryCommandValue("bold") before assert_equals: Wrong result returned expected "" but got "true"
-PASS [["stylewithcss","true"],["bold",""]] "<span style=\"font-weight: 900\">foo[bar]baz</span>" queryCommandIndeterm("bold") after 
-PASS [["stylewithcss","true"],["bold",""]] "<span style=\"font-weight: 900\">foo[bar]baz</span>" queryCommandState("bold") after 
-FAIL [["stylewithcss","true"],["bold",""]] "<span style=\"font-weight: 900\">foo[bar]baz</span>" queryCommandValue("bold") after assert_equals: Wrong result returned expected "" but got "false"
-PASS [["stylewithcss","false"],["bold",""]] "<span style=\"font-weight: 900\">foo[bar]baz</span>": execCommand("stylewithcss", false, "false") return value 
-PASS [["stylewithcss","false"],["bold",""]] "<span style=\"font-weight: 900\">foo[bar]baz</span>": execCommand("bold", false, "") return value 
-PASS [["stylewithcss","false"],["bold",""]] "<span style=\"font-weight: 900\">foo[bar]baz</span>" checks for modifications to non-editable content 
-PASS [["stylewithcss","false"],["bold",""]] "<span style=\"font-weight: 900\">foo[bar]baz</span>" compare innerHTML 
-PASS [["stylewithcss","false"],["bold",""]] "<span style=\"font-weight: 900\">foo[bar]baz</span>" queryCommandIndeterm("stylewithcss") before 
-PASS [["stylewithcss","false"],["bold",""]] "<span style=\"font-weight: 900\">foo[bar]baz</span>" queryCommandState("stylewithcss") before 
-PASS [["stylewithcss","false"],["bold",""]] "<span style=\"font-weight: 900\">foo[bar]baz</span>" queryCommandValue("stylewithcss") before 
-PASS [["stylewithcss","false"],["bold",""]] "<span style=\"font-weight: 900\">foo[bar]baz</span>" queryCommandIndeterm("stylewithcss") after 
-PASS [["stylewithcss","false"],["bold",""]] "<span style=\"font-weight: 900\">foo[bar]baz</span>" queryCommandState("stylewithcss") after 
-PASS [["stylewithcss","false"],["bold",""]] "<span style=\"font-weight: 900\">foo[bar]baz</span>" queryCommandValue("stylewithcss") after 
-PASS [["stylewithcss","false"],["bold",""]] "<span style=\"font-weight: 900\">foo[bar]baz</span>" queryCommandIndeterm("bold") before 
-PASS [["stylewithcss","false"],["bold",""]] "<span style=\"font-weight: 900\">foo[bar]baz</span>" queryCommandState("bold") before 
-FAIL [["stylewithcss","false"],["bold",""]] "<span style=\"font-weight: 900\">foo[bar]baz</span>" queryCommandValue("bold") before assert_equals: Wrong result returned expected "" but got "true"
-PASS [["stylewithcss","false"],["bold",""]] "<span style=\"font-weight: 900\">foo[bar]baz</span>" queryCommandIndeterm("bold") after 
-PASS [["stylewithcss","false"],["bold",""]] "<span style=\"font-weight: 900\">foo[bar]baz</span>" queryCommandState("bold") after 
-FAIL [["stylewithcss","false"],["bold",""]] "<span style=\"font-weight: 900\">foo[bar]baz</span>" queryCommandValue("bold") after assert_equals: Wrong result returned expected "" but got "false"
-PASS [["stylewithcss","true"],["bold",""]] "{<span style=\"font-weight: 100\">foobar]baz</span>": execCommand("stylewithcss", false, "true") return value 
-PASS [["stylewithcss","true"],["bold",""]] "{<span style=\"font-weight: 100\">foobar]baz</span>": execCommand("bold", false, "") return value 
-PASS [["stylewithcss","true"],["bold",""]] "{<span style=\"font-weight: 100\">foobar]baz</span>" checks for modifications to non-editable content 
-FAIL [["stylewithcss","true"],["bold",""]] "{<span style=\"font-weight: 100\">foobar]baz</span>" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<span style=\"font-weight:100\"><span style=\"font-weight:bold\">foobar</span>baz</span>" but got "<span style=\"font-weight:bold\">foobar</span><span style=\"font-weight:100\">baz</span>"
-PASS [["stylewithcss","true"],["bold",""]] "{<span style=\"font-weight: 100\">foobar]baz</span>" queryCommandIndeterm("stylewithcss") before 
-PASS [["stylewithcss","true"],["bold",""]] "{<span style=\"font-weight: 100\">foobar]baz</span>" queryCommandState("stylewithcss") before 
-PASS [["stylewithcss","true"],["bold",""]] "{<span style=\"font-weight: 100\">foobar]baz</span>" queryCommandValue("stylewithcss") before 
-PASS [["stylewithcss","true"],["bold",""]] "{<span style=\"font-weight: 100\">foobar]baz</span>" queryCommandIndeterm("stylewithcss") after 
-PASS [["stylewithcss","true"],["bold",""]] "{<span style=\"font-weight: 100\">foobar]baz</span>" queryCommandState("stylewithcss") after 
-PASS [["stylewithcss","true"],["bold",""]] "{<span style=\"font-weight: 100\">foobar]baz</span>" queryCommandValue("stylewithcss") after 
-PASS [["stylewithcss","true"],["bold",""]] "{<span style=\"font-weight: 100\">foobar]baz</span>" queryCommandIndeterm("bold") before 
-PASS [["stylewithcss","true"],["bold",""]] "{<span style=\"font-weight: 100\">foobar]baz</span>" queryCommandState("bold") before 
-FAIL [["stylewithcss","true"],["bold",""]] "{<span style=\"font-weight: 100\">foobar]baz</span>" queryCommandValue("bold") before assert_equals: Wrong result returned expected "" but got "false"
-PASS [["stylewithcss","true"],["bold",""]] "{<span style=\"font-weight: 100\">foobar]baz</span>" queryCommandIndeterm("bold") after 
-PASS [["stylewithcss","true"],["bold",""]] "{<span style=\"font-weight: 100\">foobar]baz</span>" queryCommandState("bold") after 
-FAIL [["stylewithcss","true"],["bold",""]] "{<span style=\"font-weight: 100\">foobar]baz</span>" queryCommandValue("bold") after assert_equals: Wrong result returned expected "" but got "true"
-PASS [["stylewithcss","false"],["bold",""]] "{<span style=\"font-weight: 100\">foobar]baz</span>": execCommand("stylewithcss", false, "false") return value 
-PASS [["stylewithcss","false"],["bold",""]] "{<span style=\"font-weight: 100\">foobar]baz</span>": execCommand("bold", false, "") return value 
-PASS [["stylewithcss","false"],["bold",""]] "{<span style=\"font-weight: 100\">foobar]baz</span>" checks for modifications to non-editable content 
-FAIL [["stylewithcss","false"],["bold",""]] "{<span style=\"font-weight: 100\">foobar]baz</span>" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<span style=\"font-weight:100\"><b>foobar</b>baz</span>" but got "<b>foobar</b><span style=\"font-weight:100\">baz</span>"
-PASS [["stylewithcss","false"],["bold",""]] "{<span style=\"font-weight: 100\">foobar]baz</span>" queryCommandIndeterm("stylewithcss") before 
-PASS [["stylewithcss","false"],["bold",""]] "{<span style=\"font-weight: 100\">foobar]baz</span>" queryCommandState("stylewithcss") before 
-PASS [["stylewithcss","false"],["bold",""]] "{<span style=\"font-weight: 100\">foobar]baz</span>" queryCommandValue("stylewithcss") before 
-PASS [["stylewithcss","false"],["bold",""]] "{<span style=\"font-weight: 100\">foobar]baz</span>" queryCommandIndeterm("stylewithcss") after 
-PASS [["stylewithcss","false"],["bold",""]] "{<span style=\"font-weight: 100\">foobar]baz</span>" queryCommandState("stylewithcss") after 
-PASS [["stylewithcss","false"],["bold",""]] "{<span style=\"font-weight: 100\">foobar]baz</span>" queryCommandValue("stylewithcss") after 
-PASS [["stylewithcss","false"],["bold",""]] "{<span style=\"font-weight: 100\">foobar]baz</span>" queryCommandIndeterm("bold") before 
-PASS [["stylewithcss","false"],["bold",""]] "{<span style=\"font-weight: 100\">foobar]baz</span>" queryCommandState("bold") before 
-FAIL [["stylewithcss","false"],["bold",""]] "{<span style=\"font-weight: 100\">foobar]baz</span>" queryCommandValue("bold") before assert_equals: Wrong result returned expected "" but got "false"
-PASS [["stylewithcss","false"],["bold",""]] "{<span style=\"font-weight: 100\">foobar]baz</span>" queryCommandIndeterm("bold") after 
-PASS [["stylewithcss","false"],["bold",""]] "{<span style=\"font-weight: 100\">foobar]baz</span>" queryCommandState("bold") after 
-FAIL [["stylewithcss","false"],["bold",""]] "{<span style=\"font-weight: 100\">foobar]baz</span>" queryCommandValue("bold") after assert_equals: Wrong result returned expected "" but got "true"
-PASS [["stylewithcss","true"],["bold",""]] "{<span style=\"font-weight: 400\">foobar]baz</span>": execCommand("stylewithcss", false, "true") return value 
-PASS [["stylewithcss","true"],["bold",""]] "{<span style=\"font-weight: 400\">foobar]baz</span>": execCommand("bold", false, "") return value 
-PASS [["stylewithcss","true"],["bold",""]] "{<span style=\"font-weight: 400\">foobar]baz</span>" checks for modifications to non-editable content 
-FAIL [["stylewithcss","true"],["bold",""]] "{<span style=\"font-weight: 400\">foobar]baz</span>" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<span style=\"font-weight:400\"><span style=\"font-weight:bold\">foobar</span>baz</span>" but got "<span style=\"font-weight:bold\">foobar</span><span style=\"font-weight:400\">baz</span>"
-PASS [["stylewithcss","true"],["bold",""]] "{<span style=\"font-weight: 400\">foobar]baz</span>" queryCommandIndeterm("stylewithcss") before 
-PASS [["stylewithcss","true"],["bold",""]] "{<span style=\"font-weight: 400\">foobar]baz</span>" queryCommandState("stylewithcss") before 
-PASS [["stylewithcss","true"],["bold",""]] "{<span style=\"font-weight: 400\">foobar]baz</span>" queryCommandValue("stylewithcss") before 
-PASS [["stylewithcss","true"],["bold",""]] "{<span style=\"font-weight: 400\">foobar]baz</span>" queryCommandIndeterm("stylewithcss") after 
-PASS [["stylewithcss","true"],["bold",""]] "{<span style=\"font-weight: 400\">foobar]baz</span>" queryCommandState("stylewithcss") after 
-PASS [["stylewithcss","true"],["bold",""]] "{<span style=\"font-weight: 400\">foobar]baz</span>" queryCommandValue("stylewithcss") after 
-PASS [["stylewithcss","true"],["bold",""]] "{<span style=\"font-weight: 400\">foobar]baz</span>" queryCommandIndeterm("bold") before 
-PASS [["stylewithcss","true"],["bold",""]] "{<span style=\"font-weight: 400\">foobar]baz</span>" queryCommandState("bold") before 
-FAIL [["stylewithcss","true"],["bold",""]] "{<span style=\"font-weight: 400\">foobar]baz</span>" queryCommandValue("bold") before assert_equals: Wrong result returned expected "" but got "false"
-PASS [["stylewithcss","true"],["bold",""]] "{<span style=\"font-weight: 400\">foobar]baz</span>" queryCommandIndeterm("bold") after 
-PASS [["stylewithcss","true"],["bold",""]] "{<span style=\"font-weight: 400\">foobar]baz</span>" queryCommandState("bold") after 
-FAIL [["stylewithcss","true"],["bold",""]] "{<span style=\"font-weight: 400\">foobar]baz</span>" queryCommandValue("bold") after assert_equals: Wrong result returned expected "" but got "true"
-PASS [["stylewithcss","false"],["bold",""]] "{<span style=\"font-weight: 400\">foobar]baz</span>": execCommand("stylewithcss", false, "false") return value 
-PASS [["stylewithcss","false"],["bold",""]] "{<span style=\"font-weight: 400\">foobar]baz</span>": execCommand("bold", false, "") return value 
-PASS [["stylewithcss","false"],["bold",""]] "{<span style=\"font-weight: 400\">foobar]baz</span>" checks for modifications to non-editable content 
-FAIL [["stylewithcss","false"],["bold",""]] "{<span style=\"font-weight: 400\">foobar]baz</span>" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<span style=\"font-weight:400\"><b>foobar</b>baz</span>" but got "<b>foobar</b><span style=\"font-weight:400\">baz</span>"
-PASS [["stylewithcss","false"],["bold",""]] "{<span style=\"font-weight: 400\">foobar]baz</span>" queryCommandIndeterm("stylewithcss") before 
-PASS [["stylewithcss","false"],["bold",""]] "{<span style=\"font-weight: 400\">foobar]baz</span>" queryCommandState("stylewithcss") before 
-PASS [["stylewithcss","false"],["bold",""]] "{<span style=\"font-weight: 400\">foobar]baz</span>" queryCommandValue("stylewithcss") before 
-PASS [["stylewithcss","false"],["bold",""]] "{<span style=\"font-weight: 400\">foobar]baz</span>" queryCommandIndeterm("stylewithcss") after 
-PASS [["stylewithcss","false"],["bold",""]] "{<span style=\"font-weight: 400\">foobar]baz</span>" queryCommandState("stylewithcss") after 
-PASS [["stylewithcss","false"],["bold",""]] "{<span style=\"font-weight: 400\">foobar]baz</span>" queryCommandValue("stylewithcss") after 
-PASS [["stylewithcss","false"],["bold",""]] "{<span style=\"font-weight: 400\">foobar]baz</span>" queryCommandIndeterm("bold") before 
-PASS [["stylewithcss","false"],["bold",""]] "{<span style=\"font-weight: 400\">foobar]baz</span>" queryCommandState("bold") before 
-FAIL [["stylewithcss","false"],["bold",""]] "{<span style=\"font-weight: 400\">foobar]baz</span>" queryCommandValue("bold") before assert_equals: Wrong result returned expected "" but got "false"
-PASS [["stylewithcss","false"],["bold",""]] "{<span style=\"font-weight: 400\">foobar]baz</span>" queryCommandIndeterm("bold") after 
-PASS [["stylewithcss","false"],["bold",""]] "{<span style=\"font-weight: 400\">foobar]baz</span>" queryCommandState("bold") after 
-FAIL [["stylewithcss","false"],["bold",""]] "{<span style=\"font-weight: 400\">foobar]baz</span>" queryCommandValue("bold") after assert_equals: Wrong result returned expected "" but got "true"
-PASS [["stylewithcss","true"],["bold",""]] "{<span style=\"font-weight: 700\">foobar]baz</span>": execCommand("stylewithcss", false, "true") return value 
-PASS [["stylewithcss","true"],["bold",""]] "{<span style=\"font-weight: 700\">foobar]baz</span>": execCommand("bold", false, "") return value 
-PASS [["stylewithcss","true"],["bold",""]] "{<span style=\"font-weight: 700\">foobar]baz</span>" checks for modifications to non-editable content 
-PASS [["stylewithcss","true"],["bold",""]] "{<span style=\"font-weight: 700\">foobar]baz</span>" compare innerHTML 
-PASS [["stylewithcss","true"],["bold",""]] "{<span style=\"font-weight: 700\">foobar]baz</span>" queryCommandIndeterm("stylewithcss") before 
-PASS [["stylewithcss","true"],["bold",""]] "{<span style=\"font-weight: 700\">foobar]baz</span>" queryCommandState("stylewithcss") before 
-PASS [["stylewithcss","true"],["bold",""]] "{<span style=\"font-weight: 700\">foobar]baz</span>" queryCommandValue("stylewithcss") before 
-PASS [["stylewithcss","true"],["bold",""]] "{<span style=\"font-weight: 700\">foobar]baz</span>" queryCommandIndeterm("stylewithcss") after 
-PASS [["stylewithcss","true"],["bold",""]] "{<span style=\"font-weight: 700\">foobar]baz</span>" queryCommandState("stylewithcss") after 
-PASS [["stylewithcss","true"],["bold",""]] "{<span style=\"font-weight: 700\">foobar]baz</span>" queryCommandValue("stylewithcss") after 
-PASS [["stylewithcss","true"],["bold",""]] "{<span style=\"font-weight: 700\">foobar]baz</span>" queryCommandIndeterm("bold") before 
-PASS [["stylewithcss","true"],["bold",""]] "{<span style=\"font-weight: 700\">foobar]baz</span>" queryCommandState("bold") before 
-FAIL [["stylewithcss","true"],["bold",""]] "{<span style=\"font-weight: 700\">foobar]baz</span>" queryCommandValue("bold") before assert_equals: Wrong result returned expected "" but got "true"
-PASS [["stylewithcss","true"],["bold",""]] "{<span style=\"font-weight: 700\">foobar]baz</span>" queryCommandIndeterm("bold") after 
-PASS [["stylewithcss","true"],["bold",""]] "{<span style=\"font-weight: 700\">foobar]baz</span>" queryCommandState("bold") after 
-FAIL [["stylewithcss","true"],["bold",""]] "{<span style=\"font-weight: 700\">foobar]baz</span>" queryCommandValue("bold") after assert_equals: Wrong result returned expected "" but got "false"
-PASS [["stylewithcss","false"],["bold",""]] "{<span style=\"font-weight: 700\">foobar]baz</span>": execCommand("stylewithcss", false, "false") return value 
-PASS [["stylewithcss","false"],["bold",""]] "{<span style=\"font-weight: 700\">foobar]baz</span>": execCommand("bold", false, "") return value 
-PASS [["stylewithcss","false"],["bold",""]] "{<span style=\"font-weight: 700\">foobar]baz</span>" checks for modifications to non-editable content 
-FAIL [["stylewithcss","false"],["bold",""]] "{<span style=\"font-weight: 700\">foobar]baz</span>" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "foobar<b>baz</b>" but got "foobar<span style=\"font-weight:700\">baz</span>"
-PASS [["stylewithcss","false"],["bold",""]] "{<span style=\"font-weight: 700\">foobar]baz</span>" queryCommandIndeterm("stylewithcss") before 
-PASS [["stylewithcss","false"],["bold",""]] "{<span style=\"font-weight: 700\">foobar]baz</span>" queryCommandState("stylewithcss") before 
-PASS [["stylewithcss","false"],["bold",""]] "{<span style=\"font-weight: 700\">foobar]baz</span>" queryCommandValue("stylewithcss") before 
-PASS [["stylewithcss","false"],["bold",""]] "{<span style=\"font-weight: 700\">foobar]baz</span>" queryCommandIndeterm("stylewithcss") after 
-PASS [["stylewithcss","false"],["bold",""]] "{<span style=\"font-weight: 700\">foobar]baz</span>" queryCommandState("stylewithcss") after 
-PASS [["stylewithcss","false"],["bold",""]] "{<span style=\"font-weight: 700\">foobar]baz</span>" queryCommandValue("stylewithcss") after 
-PASS [["stylewithcss","false"],["bold",""]] "{<span style=\"font-weight: 700\">foobar]baz</span>" queryCommandIndeterm("bold") before 
-PASS [["stylewithcss","false"],["bold",""]] "{<span style=\"font-weight: 700\">foobar]baz</span>" queryCommandState("bold") before 
-FAIL [["stylewithcss","false"],["bold",""]] "{<span style=\"font-weight: 700\">foobar]baz</span>" queryCommandValue("bold") before assert_equals: Wrong result returned expected "" but got "true"
-PASS [["stylewithcss","false"],["bold",""]] "{<span style=\"font-weight: 700\">foobar]baz</span>" queryCommandIndeterm("bold") after 
-PASS [["stylewithcss","false"],["bold",""]] "{<span style=\"font-weight: 700\">foobar]baz</span>" queryCommandState("bold") after 
-FAIL [["stylewithcss","false"],["bold",""]] "{<span style=\"font-weight: 700\">foobar]baz</span>" queryCommandValue("bold") after assert_equals: Wrong result returned expected "" but got "false"
-PASS [["bold",""]] "{<span style=\"font-weight: 900\">foobar]baz</span>": execCommand("bold", false, "") return value 
-PASS [["bold",""]] "{<span style=\"font-weight: 900\">foobar]baz</span>" checks for modifications to non-editable content 
-PASS [["bold",""]] "{<span style=\"font-weight: 900\">foobar]baz</span>" compare innerHTML 
-PASS [["bold",""]] "{<span style=\"font-weight: 900\">foobar]baz</span>" queryCommandIndeterm("bold") before 
-PASS [["bold",""]] "{<span style=\"font-weight: 900\">foobar]baz</span>" queryCommandState("bold") before 
-FAIL [["bold",""]] "{<span style=\"font-weight: 900\">foobar]baz</span>" queryCommandValue("bold") before assert_equals: Wrong result returned expected "" but got "true"
-PASS [["bold",""]] "{<span style=\"font-weight: 900\">foobar]baz</span>" queryCommandIndeterm("bold") after 
-PASS [["bold",""]] "{<span style=\"font-weight: 900\">foobar]baz</span>" queryCommandState("bold") after 
-FAIL [["bold",""]] "{<span style=\"font-weight: 900\">foobar]baz</span>" queryCommandValue("bold") after assert_equals: Wrong result returned expected "" but got "false"
-PASS [["stylewithcss","true"],["bold",""]] "<span style=\"font-weight: 100\">foo[barbaz</span>}": execCommand("stylewithcss", false, "true") return value 
-PASS [["stylewithcss","true"],["bold",""]] "<span style=\"font-weight: 100\">foo[barbaz</span>}": execCommand("bold", false, "") return value 
-PASS [["stylewithcss","true"],["bold",""]] "<span style=\"font-weight: 100\">foo[barbaz</span>}" checks for modifications to non-editable content 
-FAIL [["stylewithcss","true"],["bold",""]] "<span style=\"font-weight: 100\">foo[barbaz</span>}" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<span style=\"font-weight:100\">foo<span style=\"font-weight:bold\">barbaz</span></span>" but got "<span style=\"font-weight:100\">foo</span><span style=\"font-weight:bold\">barbaz</span>"
-PASS [["stylewithcss","true"],["bold",""]] "<span style=\"font-weight: 100\">foo[barbaz</span>}" queryCommandIndeterm("stylewithcss") before 
-PASS [["stylewithcss","true"],["bold",""]] "<span style=\"font-weight: 100\">foo[barbaz</span>}" queryCommandState("stylewithcss") before 
-PASS [["stylewithcss","true"],["bold",""]] "<span style=\"font-weight: 100\">foo[barbaz</span>}" queryCommandValue("stylewithcss") before 
-PASS [["stylewithcss","true"],["bold",""]] "<span style=\"font-weight: 100\">foo[barbaz</span>}" queryCommandIndeterm("stylewithcss") after 
-PASS [["stylewithcss","true"],["bold",""]] "<span style=\"font-weight: 100\">foo[barbaz</span>}" queryCommandState("stylewithcss") after 
-PASS [["stylewithcss","true"],["bold",""]] "<span style=\"font-weight: 100\">foo[barbaz</span>}" queryCommandValue("stylewithcss") after 
-PASS [["stylewithcss","true"],["bold",""]] "<span style=\"font-weight: 100\">foo[barbaz</span>}" queryCommandIndeterm("bold") before 
-PASS [["stylewithcss","true"],["bold",""]] "<span style=\"font-weight: 100\">foo[barbaz</span>}" queryCommandState("bold") before 
-FAIL [["stylewithcss","true"],["bold",""]] "<span style=\"font-weight: 100\">foo[barbaz</span>}" queryCommandValue("bold") before assert_equals: Wrong result returned expected "" but got "false"
-PASS [["stylewithcss","true"],["bold",""]] "<span style=\"font-weight: 100\">foo[barbaz</span>}" queryCommandIndeterm("bold") after 
-PASS [["stylewithcss","true"],["bold",""]] "<span style=\"font-weight: 100\">foo[barbaz</span>}" queryCommandState("bold") after 
-FAIL [["stylewithcss","true"],["bold",""]] "<span style=\"font-weight: 100\">foo[barbaz</span>}" queryCommandValue("bold") after assert_equals: Wrong result returned expected "" but got "true"
-PASS [["stylewithcss","false"],["bold",""]] "<span style=\"font-weight: 100\">foo[barbaz</span>}": execCommand("stylewithcss", false, "false") return value 
-PASS [["stylewithcss","false"],["bold",""]] "<span style=\"font-weight: 100\">foo[barbaz</span>}": execCommand("bold", false, "") return value 
-PASS [["stylewithcss","false"],["bold",""]] "<span style=\"font-weight: 100\">foo[barbaz</span>}" checks for modifications to non-editable content 
-FAIL [["stylewithcss","false"],["bold",""]] "<span style=\"font-weight: 100\">foo[barbaz</span>}" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<span style=\"font-weight:100\">foo<b>barbaz</b></span>" but got "<span style=\"font-weight:100\">foo</span><b>barbaz</b>"
-PASS [["stylewithcss","false"],["bold",""]] "<span style=\"font-weight: 100\">foo[barbaz</span>}" queryCommandIndeterm("stylewithcss") before 
-PASS [["stylewithcss","false"],["bold",""]] "<span style=\"font-weight: 100\">foo[barbaz</span>}" queryCommandState("stylewithcss") before 
-PASS [["stylewithcss","false"],["bold",""]] "<span style=\"font-weight: 100\">foo[barbaz</span>}" queryCommandValue("stylewithcss") before 
-PASS [["stylewithcss","false"],["bold",""]] "<span style=\"font-weight: 100\">foo[barbaz</span>}" queryCommandIndeterm("stylewithcss") after 
-PASS [["stylewithcss","false"],["bold",""]] "<span style=\"font-weight: 100\">foo[barbaz</span>}" queryCommandState("stylewithcss") after 
-PASS [["stylewithcss","false"],["bold",""]] "<span style=\"font-weight: 100\">foo[barbaz</span>}" queryCommandValue("stylewithcss") after 
-PASS [["stylewithcss","false"],["bold",""]] "<span style=\"font-weight: 100\">foo[barbaz</span>}" queryCommandIndeterm("bold") before 
-PASS [["stylewithcss","false"],["bold",""]] "<span style=\"font-weight: 100\">foo[barbaz</span>}" queryCommandState("bold") before 
-FAIL [["stylewithcss","false"],["bold",""]] "<span style=\"font-weight: 100\">foo[barbaz</span>}" queryCommandValue("bold") before assert_equals: Wrong result returned expected "" but got "false"
-PASS [["stylewithcss","false"],["bold",""]] "<span style=\"font-weight: 100\">foo[barbaz</span>}" queryCommandIndeterm("bold") after 
-PASS [["stylewithcss","false"],["bold",""]] "<span style=\"font-weight: 100\">foo[barbaz</span>}" queryCommandState("bold") after 
-FAIL [["stylewithcss","false"],["bold",""]] "<span style=\"font-weight: 100\">foo[barbaz</span>}" queryCommandValue("bold") after assert_equals: Wrong result returned expected "" but got "true"
-PASS [["stylewithcss","true"],["bold",""]] "<span style=\"font-weight: 400\">foo[barbaz</span>}": execCommand("stylewithcss", false, "true") return value 
-PASS [["stylewithcss","true"],["bold",""]] "<span style=\"font-weight: 400\">foo[barbaz</span>}": execCommand("bold", false, "") return value 
-PASS [["stylewithcss","true"],["bold",""]] "<span style=\"font-weight: 400\">foo[barbaz</span>}" checks for modifications to non-editable content 
-FAIL [["stylewithcss","true"],["bold",""]] "<span style=\"font-weight: 400\">foo[barbaz</span>}" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<span style=\"font-weight:400\">foo<span style=\"font-weight:bold\">barbaz</span></span>" but got "<span style=\"font-weight:400\">foo</span><span style=\"font-weight:bold\">barbaz</span>"
-PASS [["stylewithcss","true"],["bold",""]] "<span style=\"font-weight: 400\">foo[barbaz</span>}" queryCommandIndeterm("stylewithcss") before 
-PASS [["stylewithcss","true"],["bold",""]] "<span style=\"font-weight: 400\">foo[barbaz</span>}" queryCommandState("stylewithcss") before 
-PASS [["stylewithcss","true"],["bold",""]] "<span style=\"font-weight: 400\">foo[barbaz</span>}" queryCommandValue("stylewithcss") before 
-PASS [["stylewithcss","true"],["bold",""]] "<span style=\"font-weight: 400\">foo[barbaz</span>}" queryCommandIndeterm("stylewithcss") after 
-PASS [["stylewithcss","true"],["bold",""]] "<span style=\"font-weight: 400\">foo[barbaz</span>}" queryCommandState("stylewithcss") after 
-PASS [["stylewithcss","true"],["bold",""]] "<span style=\"font-weight: 400\">foo[barbaz</span>}" queryCommandValue("stylewithcss") after 
-PASS [["stylewithcss","true"],["bold",""]] "<span style=\"font-weight: 400\">foo[barbaz</span>}" queryCommandIndeterm("bold") before 
-PASS [["stylewithcss","true"],["bold",""]] "<span style=\"font-weight: 400\">foo[barbaz</span>}" queryCommandState("bold") before 
-FAIL [["stylewithcss","true"],["bold",""]] "<span style=\"font-weight: 400\">foo[barbaz</span>}" queryCommandValue("bold") before assert_equals: Wrong result returned expected "" but got "false"
-PASS [["stylewithcss","true"],["bold",""]] "<span style=\"font-weight: 400\">foo[barbaz</span>}" queryCommandIndeterm("bold") after 
-PASS [["stylewithcss","true"],["bold",""]] "<span style=\"font-weight: 400\">foo[barbaz</span>}" queryCommandState("bold") after 
-FAIL [["stylewithcss","true"],["bold",""]] "<span style=\"font-weight: 400\">foo[barbaz</span>}" queryCommandValue("bold") after assert_equals: Wrong result returned expected "" but got "true"
-PASS [["stylewithcss","false"],["bold",""]] "<span style=\"font-weight: 400\">foo[barbaz</span>}": execCommand("stylewithcss", false, "false") return value 
-PASS [["stylewithcss","false"],["bold",""]] "<span style=\"font-weight: 400\">foo[barbaz</span>}": execCommand("bold", false, "") return value 
-PASS [["stylewithcss","false"],["bold",""]] "<span style=\"font-weight: 400\">foo[barbaz</span>}" checks for modifications to non-editable content 
-FAIL [["stylewithcss","false"],["bold",""]] "<span style=\"font-weight: 400\">foo[barbaz</span>}" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<span style=\"font-weight:400\">foo<b>barbaz</b></span>" but got "<span style=\"font-weight:400\">foo</span><b>barbaz</b>"
-PASS [["stylewithcss","false"],["bold",""]] "<span style=\"font-weight: 400\">foo[barbaz</span>}" queryCommandIndeterm("stylewithcss") before 
-PASS [["stylewithcss","false"],["bold",""]] "<span style=\"font-weight: 400\">foo[barbaz</span>}" queryCommandState("stylewithcss") before 
-PASS [["stylewithcss","false"],["bold",""]] "<span style=\"font-weight: 400\">foo[barbaz</span>}" queryCommandValue("stylewithcss") before 
-PASS [["stylewithcss","false"],["bold",""]] "<span style=\"font-weight: 400\">foo[barbaz</span>}" queryCommandIndeterm("stylewithcss") after 
-PASS [["stylewithcss","false"],["bold",""]] "<span style=\"font-weight: 400\">foo[barbaz</span>}" queryCommandState("stylewithcss") after 
-PASS [["stylewithcss","false"],["bold",""]] "<span style=\"font-weight: 400\">foo[barbaz</span>}" queryCommandValue("stylewithcss") after 
-PASS [["stylewithcss","false"],["bold",""]] "<span style=\"font-weight: 400\">foo[barbaz</span>}" queryCommandIndeterm("bold") before 
-PASS [["stylewithcss","false"],["bold",""]] "<span style=\"font-weight: 400\">foo[barbaz</span>}" queryCommandState("bold") before 
-FAIL [["stylewithcss","false"],["bold",""]] "<span style=\"font-weight: 400\">foo[barbaz</span>}" queryCommandValue("bold") before assert_equals: Wrong result returned expected "" but got "false"
-PASS [["stylewithcss","false"],["bold",""]] "<span style=\"font-weight: 400\">foo[barbaz</span>}" queryCommandIndeterm("bold") after 
-PASS [["stylewithcss","false"],["bold",""]] "<span style=\"font-weight: 400\">foo[barbaz</span>}" queryCommandState("bold") after 
-FAIL [["stylewithcss","false"],["bold",""]] "<span style=\"font-weight: 400\">foo[barbaz</span>}" queryCommandValue("bold") after assert_equals: Wrong result returned expected "" but got "true"
-PASS [["stylewithcss","true"],["bold",""]] "<span style=\"font-weight: 700\">foo[barbaz</span>}": execCommand("stylewithcss", false, "true") return value 
-PASS [["stylewithcss","true"],["bold",""]] "<span style=\"font-weight: 700\">foo[barbaz</span>}": execCommand("bold", false, "") return value 
-PASS [["stylewithcss","true"],["bold",""]] "<span style=\"font-weight: 700\">foo[barbaz</span>}" checks for modifications to non-editable content 
-PASS [["stylewithcss","true"],["bold",""]] "<span style=\"font-weight: 700\">foo[barbaz</span>}" compare innerHTML 
-PASS [["stylewithcss","true"],["bold",""]] "<span style=\"font-weight: 700\">foo[barbaz</span>}" queryCommandIndeterm("stylewithcss") before 
-PASS [["stylewithcss","true"],["bold",""]] "<span style=\"font-weight: 700\">foo[barbaz</span>}" queryCommandState("stylewithcss") before 
-PASS [["stylewithcss","true"],["bold",""]] "<span style=\"font-weight: 700\">foo[barbaz</span>}" queryCommandValue("stylewithcss") before 
-PASS [["stylewithcss","true"],["bold",""]] "<span style=\"font-weight: 700\">foo[barbaz</span>}" queryCommandIndeterm("stylewithcss") after 
-PASS [["stylewithcss","true"],["bold",""]] "<span style=\"font-weight: 700\">foo[barbaz</span>}" queryCommandState("stylewithcss") after 
-PASS [["stylewithcss","true"],["bold",""]] "<span style=\"font-weight: 700\">foo[barbaz</span>}" queryCommandValue("stylewithcss") after 
-PASS [["stylewithcss","true"],["bold",""]] "<span style=\"font-weight: 700\">foo[barbaz</span>}" queryCommandIndeterm("bold") before 
-PASS [["stylewithcss","true"],["bold",""]] "<span style=\"font-weight: 700\">foo[barbaz</span>}" queryCommandState("bold") before 
-FAIL [["stylewithcss","true"],["bold",""]] "<span style=\"font-weight: 700\">foo[barbaz</span>}" queryCommandValue("bold") before assert_equals: Wrong result returned expected "" but got "true"
-PASS [["stylewithcss","true"],["bold",""]] "<span style=\"font-weight: 700\">foo[barbaz</span>}" queryCommandIndeterm("bold") after 
-PASS [["stylewithcss","true"],["bold",""]] "<span style=\"font-weight: 700\">foo[barbaz</span>}" queryCommandState("bold") after 
-FAIL [["stylewithcss","true"],["bold",""]] "<span style=\"font-weight: 700\">foo[barbaz</span>}" queryCommandValue("bold") after assert_equals: Wrong result returned expected "" but got "false"
-PASS [["stylewithcss","false"],["bold",""]] "<span style=\"font-weight: 700\">foo[barbaz</span>}": execCommand("stylewithcss", false, "false") return value 
-PASS [["stylewithcss","false"],["bold",""]] "<span style=\"font-weight: 700\">foo[barbaz</span>}": execCommand("bold", false, "") return value 
-PASS [["stylewithcss","false"],["bold",""]] "<span style=\"font-weight: 700\">foo[barbaz</span>}" checks for modifications to non-editable content 
-FAIL [["stylewithcss","false"],["bold",""]] "<span style=\"font-weight: 700\">foo[barbaz</span>}" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<b>foo</b>barbaz" but got "<span style=\"font-weight:700\">foo</span>barbaz"
-PASS [["stylewithcss","false"],["bold",""]] "<span style=\"font-weight: 700\">foo[barbaz</span>}" queryCommandIndeterm("stylewithcss") before 
-PASS [["stylewithcss","false"],["bold",""]] "<span style=\"font-weight: 700\">foo[barbaz</span>}" queryCommandState("stylewithcss") before 
-PASS [["stylewithcss","false"],["bold",""]] "<span style=\"font-weight: 700\">foo[barbaz</span>}" queryCommandValue("stylewithcss") before 
-PASS [["stylewithcss","false"],["bold",""]] "<span style=\"font-weight: 700\">foo[barbaz</span>}" queryCommandIndeterm("stylewithcss") after 
-PASS [["stylewithcss","false"],["bold",""]] "<span style=\"font-weight: 700\">foo[barbaz</span>}" queryCommandState("stylewithcss") after 
-PASS [["stylewithcss","false"],["bold",""]] "<span style=\"font-weight: 700\">foo[barbaz</span>}" queryCommandValue("stylewithcss") after 
-PASS [["stylewithcss","false"],["bold",""]] "<span style=\"font-weight: 700\">foo[barbaz</span>}" queryCommandIndeterm("bold") before 
-PASS [["stylewithcss","false"],["bold",""]] "<span style=\"font-weight: 700\">foo[barbaz</span>}" queryCommandState("bold") before 
-FAIL [["stylewithcss","false"],["bold",""]] "<span style=\"font-weight: 700\">foo[barbaz</span>}" queryCommandValue("bold") before assert_equals: Wrong result returned expected "" but got "true"
-PASS [["stylewithcss","false"],["bold",""]] "<span style=\"font-weight: 700\">foo[barbaz</span>}" queryCommandIndeterm("bold") after 
-PASS [["stylewithcss","false"],["bold",""]] "<span style=\"font-weight: 700\">foo[barbaz</span>}" queryCommandState("bold") after 
-FAIL [["stylewithcss","false"],["bold",""]] "<span style=\"font-weight: 700\">foo[barbaz</span>}" queryCommandValue("bold") after assert_equals: Wrong result returned expected "" but got "false"
-PASS [["bold",""]] "<span style=\"font-weight: 900\">foo[barbaz</span>}": execCommand("bold", false, "") return value 
-PASS [["bold",""]] "<span style=\"font-weight: 900\">foo[barbaz</span>}" checks for modifications to non-editable content 
-PASS [["bold",""]] "<span style=\"font-weight: 900\">foo[barbaz</span>}" compare innerHTML 
-PASS [["bold",""]] "<span style=\"font-weight: 900\">foo[barbaz</span>}" queryCommandIndeterm("bold") before 
-PASS [["bold",""]] "<span style=\"font-weight: 900\">foo[barbaz</span>}" queryCommandState("bold") before 
-FAIL [["bold",""]] "<span style=\"font-weight: 900\">foo[barbaz</span>}" queryCommandValue("bold") before assert_equals: Wrong result returned expected "" but got "true"
-PASS [["bold",""]] "<span style=\"font-weight: 900\">foo[barbaz</span>}" queryCommandIndeterm("bold") after 
-PASS [["bold",""]] "<span style=\"font-weight: 900\">foo[barbaz</span>}" queryCommandState("bold") after 
-FAIL [["bold",""]] "<span style=\"font-weight: 900\">foo[barbaz</span>}" queryCommandValue("bold") after assert_equals: Wrong result returned expected "" but got "false"
-PASS [["stylewithcss","true"],["bold",""]] "<h3>foo[bar]baz</h3>": execCommand("stylewithcss", false, "true") return value 
-PASS [["stylewithcss","true"],["bold",""]] "<h3>foo[bar]baz</h3>": execCommand("bold", false, "") return value 
-PASS [["stylewithcss","true"],["bold",""]] "<h3>foo[bar]baz</h3>" checks for modifications to non-editable content 
-PASS [["stylewithcss","true"],["bold",""]] "<h3>foo[bar]baz</h3>" compare innerHTML 
-PASS [["stylewithcss","true"],["bold",""]] "<h3>foo[bar]baz</h3>" queryCommandIndeterm("stylewithcss") before 
-PASS [["stylewithcss","true"],["bold",""]] "<h3>foo[bar]baz</h3>" queryCommandState("stylewithcss") before 
-PASS [["stylewithcss","true"],["bold",""]] "<h3>foo[bar]baz</h3>" queryCommandValue("stylewithcss") before 
-PASS [["stylewithcss","true"],["bold",""]] "<h3>foo[bar]baz</h3>" queryCommandIndeterm("stylewithcss") after 
-PASS [["stylewithcss","true"],["bold",""]] "<h3>foo[bar]baz</h3>" queryCommandState("stylewithcss") after 
-PASS [["stylewithcss","true"],["bold",""]] "<h3>foo[bar]baz</h3>" queryCommandValue("stylewithcss") after 
-PASS [["stylewithcss","true"],["bold",""]] "<h3>foo[bar]baz</h3>" queryCommandIndeterm("bold") before 
-PASS [["stylewithcss","true"],["bold",""]] "<h3>foo[bar]baz</h3>" queryCommandState("bold") before 
-FAIL [["stylewithcss","true"],["bold",""]] "<h3>foo[bar]baz</h3>" queryCommandValue("bold") before assert_equals: Wrong result returned expected "" but got "true"
-PASS [["stylewithcss","true"],["bold",""]] "<h3>foo[bar]baz</h3>" queryCommandIndeterm("bold") after 
-PASS [["stylewithcss","true"],["bold",""]] "<h3>foo[bar]baz</h3>" queryCommandState("bold") after 
-FAIL [["stylewithcss","true"],["bold",""]] "<h3>foo[bar]baz</h3>" queryCommandValue("bold") after assert_equals: Wrong result returned expected "" but got "false"
-PASS [["stylewithcss","false"],["bold",""]] "<h3>foo[bar]baz</h3>": execCommand("stylewithcss", false, "false") return value 
-PASS [["stylewithcss","false"],["bold",""]] "<h3>foo[bar]baz</h3>": execCommand("bold", false, "") return value 
-PASS [["stylewithcss","false"],["bold",""]] "<h3>foo[bar]baz</h3>" checks for modifications to non-editable content 
-PASS [["stylewithcss","false"],["bold",""]] "<h3>foo[bar]baz</h3>" compare innerHTML 
-PASS [["stylewithcss","false"],["bold",""]] "<h3>foo[bar]baz</h3>" queryCommandIndeterm("stylewithcss") before 
-PASS [["stylewithcss","false"],["bold",""]] "<h3>foo[bar]baz</h3>" queryCommandState("stylewithcss") before 
-PASS [["stylewithcss","false"],["bold",""]] "<h3>foo[bar]baz</h3>" queryCommandValue("stylewithcss") before 
-PASS [["stylewithcss","false"],["bold",""]] "<h3>foo[bar]baz</h3>" queryCommandIndeterm("stylewithcss") after 
-PASS [["stylewithcss","false"],["bold",""]] "<h3>foo[bar]baz</h3>" queryCommandState("stylewithcss") after 
-PASS [["stylewithcss","false"],["bold",""]] "<h3>foo[bar]baz</h3>" queryCommandValue("stylewithcss") after 
-PASS [["stylewithcss","false"],["bold",""]] "<h3>foo[bar]baz</h3>" queryCommandIndeterm("bold") before 
-PASS [["stylewithcss","false"],["bold",""]] "<h3>foo[bar]baz</h3>" queryCommandState("bold") before 
-FAIL [["stylewithcss","false"],["bold",""]] "<h3>foo[bar]baz</h3>" queryCommandValue("bold") before assert_equals: Wrong result returned expected "" but got "true"
-PASS [["stylewithcss","false"],["bold",""]] "<h3>foo[bar]baz</h3>" queryCommandIndeterm("bold") after 
-PASS [["stylewithcss","false"],["bold",""]] "<h3>foo[bar]baz</h3>" queryCommandState("bold") after 
-FAIL [["stylewithcss","false"],["bold",""]] "<h3>foo[bar]baz</h3>" queryCommandValue("bold") after assert_equals: Wrong result returned expected "" but got "false"
-PASS [["stylewithcss","true"],["bold",""]] "{<h3>foobar]baz</h3>": execCommand("stylewithcss", false, "true") return value 
-PASS [["stylewithcss","true"],["bold",""]] "{<h3>foobar]baz</h3>": execCommand("bold", false, "") return value 
-PASS [["stylewithcss","true"],["bold",""]] "{<h3>foobar]baz</h3>" checks for modifications to non-editable content 
-PASS [["stylewithcss","true"],["bold",""]] "{<h3>foobar]baz</h3>" compare innerHTML 
-PASS [["stylewithcss","true"],["bold",""]] "{<h3>foobar]baz</h3>" queryCommandIndeterm("stylewithcss") before 
-PASS [["stylewithcss","true"],["bold",""]] "{<h3>foobar]baz</h3>" queryCommandState("stylewithcss") before 
-PASS [["stylewithcss","true"],["bold",""]] "{<h3>foobar]baz</h3>" queryCommandValue("stylewithcss") before 
-PASS [["stylewithcss","true"],["bold",""]] "{<h3>foobar]baz</h3>" queryCommandIndeterm("stylewithcss") after 
-PASS [["stylewithcss","true"],["bold",""]] "{<h3>foobar]baz</h3>" queryCommandState("stylewithcss") after 
-PASS [["stylewithcss","true"],["bold",""]] "{<h3>foobar]baz</h3>" queryCommandValue("stylewithcss") after 
-PASS [["stylewithcss","true"],["bold",""]] "{<h3>foobar]baz</h3>" queryCommandIndeterm("bold") before 
-PASS [["stylewithcss","true"],["bold",""]] "{<h3>foobar]baz</h3>" queryCommandState("bold") before 
-FAIL [["stylewithcss","true"],["bold",""]] "{<h3>foobar]baz</h3>" queryCommandValue("bold") before assert_equals: Wrong result returned expected "" but got "true"
-PASS [["stylewithcss","true"],["bold",""]] "{<h3>foobar]baz</h3>" queryCommandIndeterm("bold") after 
-PASS [["stylewithcss","true"],["bold",""]] "{<h3>foobar]baz</h3>" queryCommandState("bold") after 
-FAIL [["stylewithcss","true"],["bold",""]] "{<h3>foobar]baz</h3>" queryCommandValue("bold") after assert_equals: Wrong result returned expected "" but got "false"
-PASS [["stylewithcss","false"],["bold",""]] "{<h3>foobar]baz</h3>": execCommand("stylewithcss", false, "false") return value 
-PASS [["stylewithcss","false"],["bold",""]] "{<h3>foobar]baz</h3>": execCommand("bold", false, "") return value 
-PASS [["stylewithcss","false"],["bold",""]] "{<h3>foobar]baz</h3>" checks for modifications to non-editable content 
-PASS [["stylewithcss","false"],["bold",""]] "{<h3>foobar]baz</h3>" compare innerHTML 
-PASS [["stylewithcss","false"],["bold",""]] "{<h3>foobar]baz</h3>" queryCommandIndeterm("stylewithcss") before 
-PASS [["stylewithcss","false"],["bold",""]] "{<h3>foobar]baz</h3>" queryCommandState("stylewithcss") before 
-PASS [["stylewithcss","false"],["bold",""]] "{<h3>foobar]baz</h3>" queryCommandValue("stylewithcss") before 
-PASS [["stylewithcss","false"],["bold",""]] "{<h3>foobar]baz</h3>" queryCommandIndeterm("stylewithcss") after 
-PASS [["stylewithcss","false"],["bold",""]] "{<h3>foobar]baz</h3>" queryCommandState("stylewithcss") after 
-PASS [["stylewithcss","false"],["bold",""]] "{<h3>foobar]baz</h3>" queryCommandValue("stylewithcss") after 
-PASS [["stylewithcss","false"],["bold",""]] "{<h3>foobar]baz</h3>" queryCommandIndeterm("bold") before 
-PASS [["stylewithcss","false"],["bold",""]] "{<h3>foobar]baz</h3>" queryCommandState("bold") before 
-FAIL [["stylewithcss","false"],["bold",""]] "{<h3>foobar]baz</h3>" queryCommandValue("bold") before assert_equals: Wrong result returned expected "" but got "true"
-PASS [["stylewithcss","false"],["bold",""]] "{<h3>foobar]baz</h3>" queryCommandIndeterm("bold") after 
-PASS [["stylewithcss","false"],["bold",""]] "{<h3>foobar]baz</h3>" queryCommandState("bold") after 
-FAIL [["stylewithcss","false"],["bold",""]] "{<h3>foobar]baz</h3>" queryCommandValue("bold") after assert_equals: Wrong result returned expected "" but got "false"
-PASS [["stylewithcss","true"],["bold",""]] "<h3>foo[barbaz</h3>}": execCommand("stylewithcss", false, "true") return value 
-PASS [["stylewithcss","true"],["bold",""]] "<h3>foo[barbaz</h3>}": execCommand("bold", false, "") return value 
-PASS [["stylewithcss","true"],["bold",""]] "<h3>foo[barbaz</h3>}" checks for modifications to non-editable content 
-PASS [["stylewithcss","true"],["bold",""]] "<h3>foo[barbaz</h3>}" compare innerHTML 
-PASS [["stylewithcss","true"],["bold",""]] "<h3>foo[barbaz</h3>}" queryCommandIndeterm("stylewithcss") before 
-PASS [["stylewithcss","true"],["bold",""]] "<h3>foo[barbaz</h3>}" queryCommandState("stylewithcss") before 
-PASS [["stylewithcss","true"],["bold",""]] "<h3>foo[barbaz</h3>}" queryCommandValue("stylewithcss") before 
-PASS [["stylewithcss","true"],["bold",""]] "<h3>foo[barbaz</h3>}" queryCommandIndeterm("stylewithcss") after 
-PASS [["stylewithcss","true"],["bold",""]] "<h3>foo[barbaz</h3>}" queryCommandState("stylewithcss") after 
-PASS [["stylewithcss","true"],["bold",""]] "<h3>foo[barbaz</h3>}" queryCommandValue("stylewithcss") after 
-PASS [["stylewithcss","true"],["bold",""]] "<h3>foo[barbaz</h3>}" queryCommandIndeterm("bold") before 
-PASS [["stylewithcss","true"],["bold",""]] "<h3>foo[barbaz</h3>}" queryCommandState("bold") before 
-FAIL [["stylewithcss","true"],["bold",""]] "<h3>foo[barbaz</h3>}" queryCommandValue("bold") before assert_equals: Wrong result returned expected "" but got "true"
-PASS [["stylewithcss","true"],["bold",""]] "<h3>foo[barbaz</h3>}" queryCommandIndeterm("bold") after 
-PASS [["stylewithcss","true"],["bold",""]] "<h3>foo[barbaz</h3>}" queryCommandState("bold") after 
-FAIL [["stylewithcss","true"],["bold",""]] "<h3>foo[barbaz</h3>}" queryCommandValue("bold") after assert_equals: Wrong result returned expected "" but got "false"
-PASS [["stylewithcss","false"],["bold",""]] "<h3>foo[barbaz</h3>}": execCommand("stylewithcss", false, "false") return value 
-PASS [["stylewithcss","false"],["bold",""]] "<h3>foo[barbaz</h3>}": execCommand("bold", false, "") return value 
-PASS [["stylewithcss","false"],["bold",""]] "<h3>foo[barbaz</h3>}" checks for modifications to non-editable content 
-PASS [["stylewithcss","false"],["bold",""]] "<h3>foo[barbaz</h3>}" compare innerHTML 
-PASS [["stylewithcss","false"],["bold",""]] "<h3>foo[barbaz</h3>}" queryCommandIndeterm("stylewithcss") before 
-PASS [["stylewithcss","false"],["bold",""]] "<h3>foo[barbaz</h3>}" queryCommandState("stylewithcss") before 
-PASS [["stylewithcss","false"],["bold",""]] "<h3>foo[barbaz</h3>}" queryCommandValue("stylewithcss") before 
-PASS [["stylewithcss","false"],["bold",""]] "<h3>foo[barbaz</h3>}" queryCommandIndeterm("stylewithcss") after 
-PASS [["stylewithcss","false"],["bold",""]] "<h3>foo[barbaz</h3>}" queryCommandState("stylewithcss") after 
-PASS [["stylewithcss","false"],["bold",""]] "<h3>foo[barbaz</h3>}" queryCommandValue("stylewithcss") after 
-PASS [["stylewithcss","false"],["bold",""]] "<h3>foo[barbaz</h3>}" queryCommandIndeterm("bold") before 
-PASS [["stylewithcss","false"],["bold",""]] "<h3>foo[barbaz</h3>}" queryCommandState("bold") before 
-FAIL [["stylewithcss","false"],["bold",""]] "<h3>foo[barbaz</h3>}" queryCommandValue("bold") before assert_equals: Wrong result returned expected "" but got "true"
-PASS [["stylewithcss","false"],["bold",""]] "<h3>foo[barbaz</h3>}" queryCommandIndeterm("bold") after 
-PASS [["stylewithcss","false"],["bold",""]] "<h3>foo[barbaz</h3>}" queryCommandState("bold") after 
-FAIL [["stylewithcss","false"],["bold",""]] "<h3>foo[barbaz</h3>}" queryCommandValue("bold") after assert_equals: Wrong result returned expected "" but got "false"
-PASS [["stylewithcss","true"],["bold",""]] "<h3>[foobarbaz]</h3>": execCommand("stylewithcss", false, "true") return value 
-PASS [["stylewithcss","true"],["bold",""]] "<h3>[foobarbaz]</h3>": execCommand("bold", false, "") return value 
-PASS [["stylewithcss","true"],["bold",""]] "<h3>[foobarbaz]</h3>" checks for modifications to non-editable content 
-PASS [["stylewithcss","true"],["bold",""]] "<h3>[foobarbaz]</h3>" compare innerHTML 
-PASS [["stylewithcss","true"],["bold",""]] "<h3>[foobarbaz]</h3>" queryCommandIndeterm("stylewithcss") before 
-PASS [["stylewithcss","true"],["bold",""]] "<h3>[foobarbaz]</h3>" queryCommandState("stylewithcss") before 
-PASS [["stylewithcss","true"],["bold",""]] "<h3>[foobarbaz]</h3>" queryCommandValue("stylewithcss") before 
-PASS [["stylewithcss","true"],["bold",""]] "<h3>[foobarbaz]</h3>" queryCommandIndeterm("stylewithcss") after 
-PASS [["stylewithcss","true"],["bold",""]] "<h3>[foobarbaz]</h3>" queryCommandState("stylewithcss") after 
-PASS [["stylewithcss","true"],["bold",""]] "<h3>[foobarbaz]</h3>" queryCommandValue("stylewithcss") after 
-PASS [["stylewithcss","true"],["bold",""]] "<h3>[foobarbaz]</h3>" queryCommandIndeterm("bold") before 
-PASS [["stylewithcss","true"],["bold",""]] "<h3>[foobarbaz]</h3>" queryCommandState("bold") before 
-FAIL [["stylewithcss","true"],["bold",""]] "<h3>[foobarbaz]</h3>" queryCommandValue("bold") before assert_equals: Wrong result returned expected "" but got "true"
-PASS [["stylewithcss","true"],["bold",""]] "<h3>[foobarbaz]</h3>" queryCommandIndeterm("bold") after 
-PASS [["stylewithcss","true"],["bold",""]] "<h3>[foobarbaz]</h3>" queryCommandState("bold") after 
-FAIL [["stylewithcss","true"],["bold",""]] "<h3>[foobarbaz]</h3>" queryCommandValue("bold") after assert_equals: Wrong result returned expected "" but got "false"
-PASS [["stylewithcss","false"],["bold",""]] "<h3>[foobarbaz]</h3>": execCommand("stylewithcss", false, "false") return value 
-PASS [["stylewithcss","false"],["bold",""]] "<h3>[foobarbaz]</h3>": execCommand("bold", false, "") return value 
-PASS [["stylewithcss","false"],["bold",""]] "<h3>[foobarbaz]</h3>" checks for modifications to non-editable content 
-PASS [["stylewithcss","false"],["bold",""]] "<h3>[foobarbaz]</h3>" compare innerHTML 
-PASS [["stylewithcss","false"],["bold",""]] "<h3>[foobarbaz]</h3>" queryCommandIndeterm("stylewithcss") before 
-PASS [["stylewithcss","false"],["bold",""]] "<h3>[foobarbaz]</h3>" queryCommandState("stylewithcss") before 
-PASS [["stylewithcss","false"],["bold",""]] "<h3>[foobarbaz]</h3>" queryCommandValue("stylewithcss") before 
-PASS [["stylewithcss","false"],["bold",""]] "<h3>[foobarbaz]</h3>" queryCommandIndeterm("stylewithcss") after 
-PASS [["stylewithcss","false"],["bold",""]] "<h3>[foobarbaz]</h3>" queryCommandState("stylewithcss") after 
-PASS [["stylewithcss","false"],["bold",""]] "<h3>[foobarbaz]</h3>" queryCommandValue("stylewithcss") after 
-PASS [["stylewithcss","false"],["bold",""]] "<h3>[foobarbaz]</h3>" queryCommandIndeterm("bold") before 
-PASS [["stylewithcss","false"],["bold",""]] "<h3>[foobarbaz]</h3>" queryCommandState("bold") before 
-FAIL [["stylewithcss","false"],["bold",""]] "<h3>[foobarbaz]</h3>" queryCommandValue("bold") before assert_equals: Wrong result returned expected "" but got "true"
-PASS [["stylewithcss","false"],["bold",""]] "<h3>[foobarbaz]</h3>" queryCommandIndeterm("bold") after 
-PASS [["stylewithcss","false"],["bold",""]] "<h3>[foobarbaz]</h3>" queryCommandState("bold") after 
-FAIL [["stylewithcss","false"],["bold",""]] "<h3>[foobarbaz]</h3>" queryCommandValue("bold") after assert_equals: Wrong result returned expected "" but got "false"
-PASS [["stylewithcss","true"],["bold",""]] "{<h3>foobarbaz]</h3>": execCommand("stylewithcss", false, "true") return value 
-PASS [["stylewithcss","true"],["bold",""]] "{<h3>foobarbaz]</h3>": execCommand("bold", false, "") return value 
-PASS [["stylewithcss","true"],["bold",""]] "{<h3>foobarbaz]</h3>" checks for modifications to non-editable content 
-PASS [["stylewithcss","true"],["bold",""]] "{<h3>foobarbaz]</h3>" compare innerHTML 
-PASS [["stylewithcss","true"],["bold",""]] "{<h3>foobarbaz]</h3>" queryCommandIndeterm("stylewithcss") before 
-PASS [["stylewithcss","true"],["bold",""]] "{<h3>foobarbaz]</h3>" queryCommandState("stylewithcss") before 
-PASS [["stylewithcss","true"],["bold",""]] "{<h3>foobarbaz]</h3>" queryCommandValue("stylewithcss") before 
-PASS [["stylewithcss","true"],["bold",""]] "{<h3>foobarbaz]</h3>" queryCommandIndeterm("stylewithcss") after 
-PASS [["stylewithcss","true"],["bold",""]] "{<h3>foobarbaz]</h3>" queryCommandState("stylewithcss") after 
-PASS [["stylewithcss","true"],["bold",""]] "{<h3>foobarbaz]</h3>" queryCommandValue("stylewithcss") after 
-PASS [["stylewithcss","true"],["bold",""]] "{<h3>foobarbaz]</h3>" queryCommandIndeterm("bold") before 
-PASS [["stylewithcss","true"],["bold",""]] "{<h3>foobarbaz]</h3>" queryCommandState("bold") before 
-FAIL [["stylewithcss","true"],["bold",""]] "{<h3>foobarbaz]</h3>" queryCommandValue("bold") before assert_equals: Wrong result returned expected "" but got "true"
-PASS [["stylewithcss","true"],["bold",""]] "{<h3>foobarbaz]</h3>" queryCommandIndeterm("bold") after 
-PASS [["stylewithcss","true"],["bold",""]] "{<h3>foobarbaz]</h3>" queryCommandState("bold") after 
-FAIL [["stylewithcss","true"],["bold",""]] "{<h3>foobarbaz]</h3>" queryCommandValue("bold") after assert_equals: Wrong result returned expected "" but got "false"
-PASS [["stylewithcss","false"],["bold",""]] "{<h3>foobarbaz]</h3>": execCommand("stylewithcss", false, "false") return value 
-PASS [["stylewithcss","false"],["bold",""]] "{<h3>foobarbaz]</h3>": execCommand("bold", false, "") return value 
-PASS [["stylewithcss","false"],["bold",""]] "{<h3>foobarbaz]</h3>" checks for modifications to non-editable content 
-PASS [["stylewithcss","false"],["bold",""]] "{<h3>foobarbaz]</h3>" compare innerHTML 
-PASS [["stylewithcss","false"],["bold",""]] "{<h3>foobarbaz]</h3>" queryCommandIndeterm("stylewithcss") before 
-PASS [["stylewithcss","false"],["bold",""]] "{<h3>foobarbaz]</h3>" queryCommandState("stylewithcss") before 
-PASS [["stylewithcss","false"],["bold",""]] "{<h3>foobarbaz]</h3>" queryCommandValue("stylewithcss") before 
-PASS [["stylewithcss","false"],["bold",""]] "{<h3>foobarbaz]</h3>" queryCommandIndeterm("stylewithcss") after 
-PASS [["stylewithcss","false"],["bold",""]] "{<h3>foobarbaz]</h3>" queryCommandState("stylewithcss") after 
-PASS [["stylewithcss","false"],["bold",""]] "{<h3>foobarbaz]</h3>" queryCommandValue("stylewithcss") after 
-PASS [["stylewithcss","false"],["bold",""]] "{<h3>foobarbaz]</h3>" queryCommandIndeterm("bold") before 
-PASS [["stylewithcss","false"],["bold",""]] "{<h3>foobarbaz]</h3>" queryCommandState("bold") before 
-FAIL [["stylewithcss","false"],["bold",""]] "{<h3>foobarbaz]</h3>" queryCommandValue("bold") before assert_equals: Wrong result returned expected "" but got "true"
-PASS [["stylewithcss","false"],["bold",""]] "{<h3>foobarbaz]</h3>" queryCommandIndeterm("bold") after 
-PASS [["stylewithcss","false"],["bold",""]] "{<h3>foobarbaz]</h3>" queryCommandState("bold") after 
-FAIL [["stylewithcss","false"],["bold",""]] "{<h3>foobarbaz]</h3>" queryCommandValue("bold") after assert_equals: Wrong result returned expected "" but got "false"
-PASS [["stylewithcss","true"],["bold",""]] "<h3>[foobarbaz</h3>}": execCommand("stylewithcss", false, "true") return value 
-PASS [["stylewithcss","true"],["bold",""]] "<h3>[foobarbaz</h3>}": execCommand("bold", false, "") return value 
-PASS [["stylewithcss","true"],["bold",""]] "<h3>[foobarbaz</h3>}" checks for modifications to non-editable content 
-PASS [["stylewithcss","true"],["bold",""]] "<h3>[foobarbaz</h3>}" compare innerHTML 
-PASS [["stylewithcss","true"],["bold",""]] "<h3>[foobarbaz</h3>}" queryCommandIndeterm("stylewithcss") before 
-PASS [["stylewithcss","true"],["bold",""]] "<h3>[foobarbaz</h3>}" queryCommandState("stylewithcss") before 
-PASS [["stylewithcss","true"],["bold",""]] "<h3>[foobarbaz</h3>}" queryCommandValue("stylewithcss") before 
-PASS [["stylewithcss","true"],["bold",""]] "<h3>[foobarbaz</h3>}" queryCommandIndeterm("stylewithcss") after 
-PASS [["stylewithcss","true"],["bold",""]] "<h3>[foobarbaz</h3>}" queryCommandState("stylewithcss") after 
-PASS [["stylewithcss","true"],["bold",""]] "<h3>[foobarbaz</h3>}" queryCommandValue("stylewithcss") after 
-PASS [["stylewithcss","true"],["bold",""]] "<h3>[foobarbaz</h3>}" queryCommandIndeterm("bold") before 
-PASS [["stylewithcss","true"],["bold",""]] "<h3>[foobarbaz</h3>}" queryCommandState("bold") before 
-FAIL [["stylewithcss","true"],["bold",""]] "<h3>[foobarbaz</h3>}" queryCommandValue("bold") before assert_equals: Wrong result returned expected "" but got "true"
-PASS [["stylewithcss","true"],["bold",""]] "<h3>[foobarbaz</h3>}" queryCommandIndeterm("bold") after 
-PASS [["stylewithcss","true"],["bold",""]] "<h3>[foobarbaz</h3>}" queryCommandState("bold") after 
-FAIL [["stylewithcss","true"],["bold",""]] "<h3>[foobarbaz</h3>}" queryCommandValue("bold") after assert_equals: Wrong result returned expected "" but got "false"
-PASS [["stylewithcss","false"],["bold",""]] "<h3>[foobarbaz</h3>}": execCommand("stylewithcss", false, "false") return value 
-PASS [["stylewithcss","false"],["bold",""]] "<h3>[foobarbaz</h3>}": execCommand("bold", false, "") return value 
-PASS [["stylewithcss","false"],["bold",""]] "<h3>[foobarbaz</h3>}" checks for modifications to non-editable content 
-PASS [["stylewithcss","false"],["bold",""]] "<h3>[foobarbaz</h3>}" compare innerHTML 
-PASS [["stylewithcss","false"],["bold",""]] "<h3>[foobarbaz</h3>}" queryCommandIndeterm("stylewithcss") before 
-PASS [["stylewithcss","false"],["bold",""]] "<h3>[foobarbaz</h3>}" queryCommandState("stylewithcss") before 
-PASS [["stylewithcss","false"],["bold",""]] "<h3>[foobarbaz</h3>}" queryCommandValue("stylewithcss") before 
-PASS [["stylewithcss","false"],["bold",""]] "<h3>[foobarbaz</h3>}" queryCommandIndeterm("stylewithcss") after 
-PASS [["stylewithcss","false"],["bold",""]] "<h3>[foobarbaz</h3>}" queryCommandState("stylewithcss") after 
-PASS [["stylewithcss","false"],["bold",""]] "<h3>[foobarbaz</h3>}" queryCommandValue("stylewithcss") after 
-PASS [["stylewithcss","false"],["bold",""]] "<h3>[foobarbaz</h3>}" queryCommandIndeterm("bold") before 
-PASS [["stylewithcss","false"],["bold",""]] "<h3>[foobarbaz</h3>}" queryCommandState("bold") before 
-FAIL [["stylewithcss","false"],["bold",""]] "<h3>[foobarbaz</h3>}" queryCommandValue("bold") before assert_equals: Wrong result returned expected "" but got "true"
-PASS [["stylewithcss","false"],["bold",""]] "<h3>[foobarbaz</h3>}" queryCommandIndeterm("bold") after 
-PASS [["stylewithcss","false"],["bold",""]] "<h3>[foobarbaz</h3>}" queryCommandState("bold") after 
-FAIL [["stylewithcss","false"],["bold",""]] "<h3>[foobarbaz</h3>}" queryCommandValue("bold") after assert_equals: Wrong result returned expected "" but got "false"
-PASS [["stylewithcss","true"],["bold",""]] "{<h3>foobarbaz</h3>}": execCommand("stylewithcss", false, "true") return value 
-PASS [["stylewithcss","true"],["bold",""]] "{<h3>foobarbaz</h3>}": execCommand("bold", false, "") return value 
-PASS [["stylewithcss","true"],["bold",""]] "{<h3>foobarbaz</h3>}" checks for modifications to non-editable content 
-PASS [["stylewithcss","true"],["bold",""]] "{<h3>foobarbaz</h3>}" compare innerHTML 
-PASS [["stylewithcss","true"],["bold",""]] "{<h3>foobarbaz</h3>}" queryCommandIndeterm("stylewithcss") before 
-PASS [["stylewithcss","true"],["bold",""]] "{<h3>foobarbaz</h3>}" queryCommandState("stylewithcss") before 
-PASS [["stylewithcss","true"],["bold",""]] "{<h3>foobarbaz</h3>}" queryCommandValue("stylewithcss") before 
-PASS [["stylewithcss","true"],["bold",""]] "{<h3>foobarbaz</h3>}" queryCommandIndeterm("stylewithcss") after 
-PASS [["stylewithcss","true"],["bold",""]] "{<h3>foobarbaz</h3>}" queryCommandState("stylewithcss") after 
-PASS [["stylewithcss","true"],["bold",""]] "{<h3>foobarbaz</h3>}" queryCommandValue("stylewithcss") after 
-PASS [["stylewithcss","true"],["bold",""]] "{<h3>foobarbaz</h3>}" queryCommandIndeterm("bold") before 
-PASS [["stylewithcss","true"],["bold",""]] "{<h3>foobarbaz</h3>}" queryCommandState("bold") before 
-FAIL [["stylewithcss","true"],["bold",""]] "{<h3>foobarbaz</h3>}" queryCommandValue("bold") before assert_equals: Wrong result returned expected "" but got "true"
-PASS [["stylewithcss","true"],["bold",""]] "{<h3>foobarbaz</h3>}" queryCommandIndeterm("bold") after 
-PASS [["stylewithcss","true"],["bold",""]] "{<h3>foobarbaz</h3>}" queryCommandState("bold") after 
-FAIL [["stylewithcss","true"],["bold",""]] "{<h3>foobarbaz</h3>}" queryCommandValue("bold") after assert_equals: Wrong result returned expected "" but got "false"
-PASS [["stylewithcss","false"],["bold",""]] "{<h3>foobarbaz</h3>}": execCommand("stylewithcss", false, "false") return value 
-PASS [["stylewithcss","false"],["bold",""]] "{<h3>foobarbaz</h3>}": execCommand("bold", false, "") return value 
-PASS [["stylewithcss","false"],["bold",""]] "{<h3>foobarbaz</h3>}" checks for modifications to non-editable content 
-PASS [["stylewithcss","false"],["bold",""]] "{<h3>foobarbaz</h3>}" compare innerHTML 
-PASS [["stylewithcss","false"],["bold",""]] "{<h3>foobarbaz</h3>}" queryCommandIndeterm("stylewithcss") before 
-PASS [["stylewithcss","false"],["bold",""]] "{<h3>foobarbaz</h3>}" queryCommandState("stylewithcss") before 
-PASS [["stylewithcss","false"],["bold",""]] "{<h3>foobarbaz</h3>}" queryCommandValue("stylewithcss") before 
-PASS [["stylewithcss","false"],["bold",""]] "{<h3>foobarbaz</h3>}" queryCommandIndeterm("stylewithcss") after 
-PASS [["stylewithcss","false"],["bold",""]] "{<h3>foobarbaz</h3>}" queryCommandState("stylewithcss") after 
-PASS [["stylewithcss","false"],["bold",""]] "{<h3>foobarbaz</h3>}" queryCommandValue("stylewithcss") after 
-PASS [["stylewithcss","false"],["bold",""]] "{<h3>foobarbaz</h3>}" queryCommandIndeterm("bold") before 
-PASS [["stylewithcss","false"],["bold",""]] "{<h3>foobarbaz</h3>}" queryCommandState("bold") before 
-FAIL [["stylewithcss","false"],["bold",""]] "{<h3>foobarbaz</h3>}" queryCommandValue("bold") before assert_equals: Wrong result returned expected "" but got "true"
-PASS [["stylewithcss","false"],["bold",""]] "{<h3>foobarbaz</h3>}" queryCommandIndeterm("bold") after 
-PASS [["stylewithcss","false"],["bold",""]] "{<h3>foobarbaz</h3>}" queryCommandState("bold") after 
-FAIL [["stylewithcss","false"],["bold",""]] "{<h3>foobarbaz</h3>}" queryCommandValue("bold") after assert_equals: Wrong result returned expected "" but got "false"
-PASS [["stylewithcss","true"],["bold",""]] "<b>foo<span style=\"font-weight: normal\">bar<b>[baz]</b>quz</span>qoz</b>": execCommand("stylewithcss", false, "true") return value 
-PASS [["stylewithcss","true"],["bold",""]] "<b>foo<span style=\"font-weight: normal\">bar<b>[baz]</b>quz</span>qoz</b>": execCommand("bold", false, "") return value 
-PASS [["stylewithcss","true"],["bold",""]] "<b>foo<span style=\"font-weight: normal\">bar<b>[baz]</b>quz</span>qoz</b>" checks for modifications to non-editable content 
-FAIL [["stylewithcss","true"],["bold",""]] "<b>foo<span style=\"font-weight: normal\">bar<b>[baz]</b>quz</span>qoz</b>" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<b>foo<span style=\"font-weight:normal\">barbazquz</span>qoz</b>" but got "<span style=\"font-weight:bold\">foo</span>barbazquz<span style=\"font-weight:bold\">qoz</span>"
-PASS [["stylewithcss","true"],["bold",""]] "<b>foo<span style=\"font-weight: normal\">bar<b>[baz]</b>quz</span>qoz</b>" queryCommandIndeterm("stylewithcss") before 
-PASS [["stylewithcss","true"],["bold",""]] "<b>foo<span style=\"font-weight: normal\">bar<b>[baz]</b>quz</span>qoz</b>" queryCommandState("stylewithcss") before 
-PASS [["stylewithcss","true"],["bold",""]] "<b>foo<span style=\"font-weight: normal\">bar<b>[baz]</b>quz</span>qoz</b>" queryCommandValue("stylewithcss") before 
-PASS [["stylewithcss","true"],["bold",""]] "<b>foo<span style=\"font-weight: normal\">bar<b>[baz]</b>quz</span>qoz</b>" queryCommandIndeterm("stylewithcss") after 
-PASS [["stylewithcss","true"],["bold",""]] "<b>foo<span style=\"font-weight: normal\">bar<b>[baz]</b>quz</span>qoz</b>" queryCommandState("stylewithcss") after 
-PASS [["stylewithcss","true"],["bold",""]] "<b>foo<span style=\"font-weight: normal\">bar<b>[baz]</b>quz</span>qoz</b>" queryCommandValue("stylewithcss") after 
-PASS [["stylewithcss","true"],["bold",""]] "<b>foo<span style=\"font-weight: normal\">bar<b>[baz]</b>quz</span>qoz</b>" queryCommandIndeterm("bold") before 
-PASS [["stylewithcss","true"],["bold",""]] "<b>foo<span style=\"font-weight: normal\">bar<b>[baz]</b>quz</span>qoz</b>" queryCommandState("bold") before 
-FAIL [["stylewithcss","true"],["bold",""]] "<b>foo<span style=\"font-weight: normal\">bar<b>[baz]</b>quz</span>qoz</b>" queryCommandValue("bold") before assert_equals: Wrong result returned expected "" but got "true"
-PASS [["stylewithcss","true"],["bold",""]] "<b>foo<span style=\"font-weight: normal\">bar<b>[baz]</b>quz</span>qoz</b>" queryCommandIndeterm("bold") after 
-PASS [["stylewithcss","true"],["bold",""]] "<b>foo<span style=\"font-weight: normal\">bar<b>[baz]</b>quz</span>qoz</b>" queryCommandState("bold") after 
-FAIL [["stylewithcss","true"],["bold",""]] "<b>foo<span style=\"font-weight: normal\">bar<b>[baz]</b>quz</span>qoz</b>" queryCommandValue("bold") after assert_equals: Wrong result returned expected "" but got "false"
-PASS [["stylewithcss","false"],["bold",""]] "<b>foo<span style=\"font-weight: normal\">bar<b>[baz]</b>quz</span>qoz</b>": execCommand("stylewithcss", false, "false") return value 
-PASS [["stylewithcss","false"],["bold",""]] "<b>foo<span style=\"font-weight: normal\">bar<b>[baz]</b>quz</span>qoz</b>": execCommand("bold", false, "") return value 
-PASS [["stylewithcss","false"],["bold",""]] "<b>foo<span style=\"font-weight: normal\">bar<b>[baz]</b>quz</span>qoz</b>" checks for modifications to non-editable content 
-FAIL [["stylewithcss","false"],["bold",""]] "<b>foo<span style=\"font-weight: normal\">bar<b>[baz]</b>quz</span>qoz</b>" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<b>foo<span style=\"font-weight:normal\">barbazquz</span>qoz</b>" but got "<b>foo</b>barbazquz<b>qoz</b>"
-PASS [["stylewithcss","false"],["bold",""]] "<b>foo<span style=\"font-weight: normal\">bar<b>[baz]</b>quz</span>qoz</b>" queryCommandIndeterm("stylewithcss") before 
-PASS [["stylewithcss","false"],["bold",""]] "<b>foo<span style=\"font-weight: normal\">bar<b>[baz]</b>quz</span>qoz</b>" queryCommandState("stylewithcss") before 
-PASS [["stylewithcss","false"],["bold",""]] "<b>foo<span style=\"font-weight: normal\">bar<b>[baz]</b>quz</span>qoz</b>" queryCommandValue("stylewithcss") before 
-PASS [["stylewithcss","false"],["bold",""]] "<b>foo<span style=\"font-weight: normal\">bar<b>[baz]</b>quz</span>qoz</b>" queryCommandIndeterm("stylewithcss") after 
-PASS [["stylewithcss","false"],["bold",""]] "<b>foo<span style=\"font-weight: normal\">bar<b>[baz]</b>quz</span>qoz</b>" queryCommandState("stylewithcss") after 
-PASS [["stylewithcss","false"],["bold",""]] "<b>foo<span style=\"font-weight: normal\">bar<b>[baz]</b>quz</span>qoz</b>" queryCommandValue("stylewithcss") after 
-PASS [["stylewithcss","false"],["bold",""]] "<b>foo<span style=\"font-weight: normal\">bar<b>[baz]</b>quz</span>qoz</b>" queryCommandIndeterm("bold") before 
-PASS [["stylewithcss","false"],["bold",""]] "<b>foo<span style=\"font-weight: normal\">bar<b>[baz]</b>quz</span>qoz</b>" queryCommandState("bold") before 
-FAIL [["stylewithcss","false"],["bold",""]] "<b>foo<span style=\"font-weight: normal\">bar<b>[baz]</b>quz</span>qoz</b>" queryCommandValue("bold") before assert_equals: Wrong result returned expected "" but got "true"
-PASS [["stylewithcss","false"],["bold",""]] "<b>foo<span style=\"font-weight: normal\">bar<b>[baz]</b>quz</span>qoz</b>" queryCommandIndeterm("bold") after 
-PASS [["stylewithcss","false"],["bold",""]] "<b>foo<span style=\"font-weight: normal\">bar<b>[baz]</b>quz</span>qoz</b>" queryCommandState("bold") after 
-FAIL [["stylewithcss","false"],["bold",""]] "<b>foo<span style=\"font-weight: normal\">bar<b>[baz]</b>quz</span>qoz</b>" queryCommandValue("bold") after assert_equals: Wrong result returned expected "" but got "false"
-PASS [["stylewithcss","true"],["bold",""]] "<b>foo<span style=\"font-weight: normal\">[bar]</span>baz</b>": execCommand("stylewithcss", false, "true") return value 
-PASS [["stylewithcss","true"],["bold",""]] "<b>foo<span style=\"font-weight: normal\">[bar]</span>baz</b>": execCommand("bold", false, "") return value 
-PASS [["stylewithcss","true"],["bold",""]] "<b>foo<span style=\"font-weight: normal\">[bar]</span>baz</b>" checks for modifications to non-editable content 
-PASS [["stylewithcss","true"],["bold",""]] "<b>foo<span style=\"font-weight: normal\">[bar]</span>baz</b>" compare innerHTML 
-PASS [["stylewithcss","true"],["bold",""]] "<b>foo<span style=\"font-weight: normal\">[bar]</span>baz</b>" queryCommandIndeterm("stylewithcss") before 
-PASS [["stylewithcss","true"],["bold",""]] "<b>foo<span style=\"font-weight: normal\">[bar]</span>baz</b>" queryCommandState("stylewithcss") before 
-PASS [["stylewithcss","true"],["bold",""]] "<b>foo<span style=\"font-weight: normal\">[bar]</span>baz</b>" queryCommandValue("stylewithcss") before 
-PASS [["stylewithcss","true"],["bold",""]] "<b>foo<span style=\"font-weight: normal\">[bar]</span>baz</b>" queryCommandIndeterm("stylewithcss") after 
-PASS [["stylewithcss","true"],["bold",""]] "<b>foo<span style=\"font-weight: normal\">[bar]</span>baz</b>" queryCommandState("stylewithcss") after 
-PASS [["stylewithcss","true"],["bold",""]] "<b>foo<span style=\"font-weight: normal\">[bar]</span>baz</b>" queryCommandValue("stylewithcss") after 
-PASS [["stylewithcss","true"],["bold",""]] "<b>foo<span style=\"font-weight: normal\">[bar]</span>baz</b>" queryCommandIndeterm("bold") before 
-PASS [["stylewithcss","true"],["bold",""]] "<b>foo<span style=\"font-weight: normal\">[bar]</span>baz</b>" queryCommandState("bold") before 
-FAIL [["stylewithcss","true"],["bold",""]] "<b>foo<span style=\"font-weight: normal\">[bar]</span>baz</b>" queryCommandValue("bold") before assert_equals: Wrong result returned expected "" but got "false"
-PASS [["stylewithcss","true"],["bold",""]] "<b>foo<span style=\"font-weight: normal\">[bar]</span>baz</b>" queryCommandIndeterm("bold") after 
-PASS [["stylewithcss","true"],["bold",""]] "<b>foo<span style=\"font-weight: normal\">[bar]</span>baz</b>" queryCommandState("bold") after 
-FAIL [["stylewithcss","true"],["bold",""]] "<b>foo<span style=\"font-weight: normal\">[bar]</span>baz</b>" queryCommandValue("bold") after assert_equals: Wrong result returned expected "" but got "true"
-PASS [["stylewithcss","false"],["bold",""]] "<b>foo<span style=\"font-weight: normal\">[bar]</span>baz</b>": execCommand("stylewithcss", false, "false") return value 
-PASS [["stylewithcss","false"],["bold",""]] "<b>foo<span style=\"font-weight: normal\">[bar]</span>baz</b>": execCommand("bold", false, "") return value 
-PASS [["stylewithcss","false"],["bold",""]] "<b>foo<span style=\"font-weight: normal\">[bar]</span>baz</b>" checks for modifications to non-editable content 
-PASS [["stylewithcss","false"],["bold",""]] "<b>foo<span style=\"font-weight: normal\">[bar]</span>baz</b>" compare innerHTML 
-PASS [["stylewithcss","false"],["bold",""]] "<b>foo<span style=\"font-weight: normal\">[bar]</span>baz</b>" queryCommandIndeterm("stylewithcss") before 
-PASS [["stylewithcss","false"],["bold",""]] "<b>foo<span style=\"font-weight: normal\">[bar]</span>baz</b>" queryCommandState("stylewithcss") before 
-PASS [["stylewithcss","false"],["bold",""]] "<b>foo<span style=\"font-weight: normal\">[bar]</span>baz</b>" queryCommandValue("stylewithcss") before 
-PASS [["stylewithcss","false"],["bold",""]] "<b>foo<span style=\"font-weight: normal\">[bar]</span>baz</b>" queryCommandIndeterm("stylewithcss") after 
-PASS [["stylewithcss","false"],["bold",""]] "<b>foo<span style=\"font-weight: normal\">[bar]</span>baz</b>" queryCommandState("stylewithcss") after 
-PASS [["stylewithcss","false"],["bold",""]] "<b>foo<span style=\"font-weight: normal\">[bar]</span>baz</b>" queryCommandValue("stylewithcss") after 
-PASS [["stylewithcss","false"],["bold",""]] "<b>foo<span style=\"font-weight: normal\">[bar]</span>baz</b>" queryCommandIndeterm("bold") before 
-PASS [["stylewithcss","false"],["bold",""]] "<b>foo<span style=\"font-weight: normal\">[bar]</span>baz</b>" queryCommandState("bold") before 
-FAIL [["stylewithcss","false"],["bold",""]] "<b>foo<span style=\"font-weight: normal\">[bar]</span>baz</b>" queryCommandValue("bold") before assert_equals: Wrong result returned expected "" but got "false"
-PASS [["stylewithcss","false"],["bold",""]] "<b>foo<span style=\"font-weight: normal\">[bar]</span>baz</b>" queryCommandIndeterm("bold") after 
-PASS [["stylewithcss","false"],["bold",""]] "<b>foo<span style=\"font-weight: normal\">[bar]</span>baz</b>" queryCommandState("bold") after 
-FAIL [["stylewithcss","false"],["bold",""]] "<b>foo<span style=\"font-weight: normal\">[bar]</span>baz</b>" queryCommandValue("bold") after assert_equals: Wrong result returned expected "" but got "true"
-PASS [["stylewithcss","true"],["bold",""]] "{<b>foo</b> <b>bar</b>}": execCommand("stylewithcss", false, "true") return value 
-PASS [["stylewithcss","true"],["bold",""]] "{<b>foo</b> <b>bar</b>}": execCommand("bold", false, "") return value 
-PASS [["stylewithcss","true"],["bold",""]] "{<b>foo</b> <b>bar</b>}" checks for modifications to non-editable content 
-FAIL [["stylewithcss","true"],["bold",""]] "{<b>foo</b> <b>bar</b>}" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<span style=\"font-weight:bold\">foo bar</span>" but got "foo bar"
-PASS [["stylewithcss","true"],["bold",""]] "{<b>foo</b> <b>bar</b>}" queryCommandIndeterm("stylewithcss") before 
-PASS [["stylewithcss","true"],["bold",""]] "{<b>foo</b> <b>bar</b>}" queryCommandState("stylewithcss") before 
-PASS [["stylewithcss","true"],["bold",""]] "{<b>foo</b> <b>bar</b>}" queryCommandValue("stylewithcss") before 
-PASS [["stylewithcss","true"],["bold",""]] "{<b>foo</b> <b>bar</b>}" queryCommandIndeterm("stylewithcss") after 
-PASS [["stylewithcss","true"],["bold",""]] "{<b>foo</b> <b>bar</b>}" queryCommandState("stylewithcss") after 
-PASS [["stylewithcss","true"],["bold",""]] "{<b>foo</b> <b>bar</b>}" queryCommandValue("stylewithcss") after 
-FAIL [["stylewithcss","true"],["bold",""]] "{<b>foo</b> <b>bar</b>}" queryCommandIndeterm("bold") before assert_equals: Wrong result returned expected true but got false
-FAIL [["stylewithcss","true"],["bold",""]] "{<b>foo</b> <b>bar</b>}" queryCommandState("bold") before assert_equals: Wrong result returned expected false but got true
-FAIL [["stylewithcss","true"],["bold",""]] "{<b>foo</b> <b>bar</b>}" queryCommandValue("bold") before assert_equals: Wrong result returned expected "" but got "true"
-PASS [["stylewithcss","true"],["bold",""]] "{<b>foo</b> <b>bar</b>}" queryCommandIndeterm("bold") after 
-FAIL [["stylewithcss","true"],["bold",""]] "{<b>foo</b> <b>bar</b>}" queryCommandState("bold") after assert_equals: Wrong result returned expected true but got false
-FAIL [["stylewithcss","true"],["bold",""]] "{<b>foo</b> <b>bar</b>}" queryCommandValue("bold") after assert_equals: Wrong result returned expected "" but got "false"
-PASS [["stylewithcss","false"],["bold",""]] "{<b>foo</b> <b>bar</b>}": execCommand("stylewithcss", false, "false") return value 
-PASS [["stylewithcss","false"],["bold",""]] "{<b>foo</b> <b>bar</b>}": execCommand("bold", false, "") return value 
-PASS [["stylewithcss","false"],["bold",""]] "{<b>foo</b> <b>bar</b>}" checks for modifications to non-editable content 
-FAIL [["stylewithcss","false"],["bold",""]] "{<b>foo</b> <b>bar</b>}" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<b>foo bar</b>" but got "foo bar"
-PASS [["stylewithcss","false"],["bold",""]] "{<b>foo</b> <b>bar</b>}" queryCommandIndeterm("stylewithcss") before 
-PASS [["stylewithcss","false"],["bold",""]] "{<b>foo</b> <b>bar</b>}" queryCommandState("stylewithcss") before 
-PASS [["stylewithcss","false"],["bold",""]] "{<b>foo</b> <b>bar</b>}" queryCommandValue("stylewithcss") before 
-PASS [["stylewithcss","false"],["bold",""]] "{<b>foo</b> <b>bar</b>}" queryCommandIndeterm("stylewithcss") after 
-PASS [["stylewithcss","false"],["bold",""]] "{<b>foo</b> <b>bar</b>}" queryCommandState("stylewithcss") after 
-PASS [["stylewithcss","false"],["bold",""]] "{<b>foo</b> <b>bar</b>}" queryCommandValue("stylewithcss") after 
-FAIL [["stylewithcss","false"],["bold",""]] "{<b>foo</b> <b>bar</b>}" queryCommandIndeterm("bold") before assert_equals: Wrong result returned expected true but got false
-FAIL [["stylewithcss","false"],["bold",""]] "{<b>foo</b> <b>bar</b>}" queryCommandState("bold") before assert_equals: Wrong result returned expected false but got true
-FAIL [["stylewithcss","false"],["bold",""]] "{<b>foo</b> <b>bar</b>}" queryCommandValue("bold") before assert_equals: Wrong result returned expected "" but got "true"
-PASS [["stylewithcss","false"],["bold",""]] "{<b>foo</b> <b>bar</b>}" queryCommandIndeterm("bold") after 
-FAIL [["stylewithcss","false"],["bold",""]] "{<b>foo</b> <b>bar</b>}" queryCommandState("bold") after assert_equals: Wrong result returned expected true but got false
-FAIL [["stylewithcss","false"],["bold",""]] "{<b>foo</b> <b>bar</b>}" queryCommandValue("bold") after assert_equals: Wrong result returned expected "" but got "false"
-PASS [["stylewithcss","true"],["bold",""]] "{<h3>foo</h3><b>bar</b>}": execCommand("stylewithcss", false, "true") return value 
-PASS [["stylewithcss","true"],["bold",""]] "{<h3>foo</h3><b>bar</b>}": execCommand("bold", false, "") return value 
-PASS [["stylewithcss","true"],["bold",""]] "{<h3>foo</h3><b>bar</b>}" checks for modifications to non-editable content 
-PASS [["stylewithcss","true"],["bold",""]] "{<h3>foo</h3><b>bar</b>}" compare innerHTML 
-PASS [["stylewithcss","true"],["bold",""]] "{<h3>foo</h3><b>bar</b>}" queryCommandIndeterm("stylewithcss") before 
-PASS [["stylewithcss","true"],["bold",""]] "{<h3>foo</h3><b>bar</b>}" queryCommandState("stylewithcss") before 
-PASS [["stylewithcss","true"],["bold",""]] "{<h3>foo</h3><b>bar</b>}" queryCommandValue("stylewithcss") before 
-PASS [["stylewithcss","true"],["bold",""]] "{<h3>foo</h3><b>bar</b>}" queryCommandIndeterm("stylewithcss") after 
-PASS [["stylewithcss","true"],["bold",""]] "{<h3>foo</h3><b>bar</b>}" queryCommandState("stylewithcss") after 
-PASS [["stylewithcss","true"],["bold",""]] "{<h3>foo</h3><b>bar</b>}" queryCommandValue("stylewithcss") after 
-PASS [["stylewithcss","true"],["bold",""]] "{<h3>foo</h3><b>bar</b>}" queryCommandIndeterm("bold") before 
-PASS [["stylewithcss","true"],["bold",""]] "{<h3>foo</h3><b>bar</b>}" queryCommandState("bold") before 
-FAIL [["stylewithcss","true"],["bold",""]] "{<h3>foo</h3><b>bar</b>}" queryCommandValue("bold") before assert_equals: Wrong result returned expected "" but got "true"
-PASS [["stylewithcss","true"],["bold",""]] "{<h3>foo</h3><b>bar</b>}" queryCommandIndeterm("bold") after 
-PASS [["stylewithcss","true"],["bold",""]] "{<h3>foo</h3><b>bar</b>}" queryCommandState("bold") after 
-FAIL [["stylewithcss","true"],["bold",""]] "{<h3>foo</h3><b>bar</b>}" queryCommandValue("bold") after assert_equals: Wrong result returned expected "" but got "false"
-PASS [["stylewithcss","false"],["bold",""]] "{<h3>foo</h3><b>bar</b>}": execCommand("stylewithcss", false, "false") return value 
-PASS [["stylewithcss","false"],["bold",""]] "{<h3>foo</h3><b>bar</b>}": execCommand("bold", false, "") return value 
-PASS [["stylewithcss","false"],["bold",""]] "{<h3>foo</h3><b>bar</b>}" checks for modifications to non-editable content 
-PASS [["stylewithcss","false"],["bold",""]] "{<h3>foo</h3><b>bar</b>}" compare innerHTML 
-PASS [["stylewithcss","false"],["bold",""]] "{<h3>foo</h3><b>bar</b>}" queryCommandIndeterm("stylewithcss") before 
-PASS [["stylewithcss","false"],["bold",""]] "{<h3>foo</h3><b>bar</b>}" queryCommandState("stylewithcss") before 
-PASS [["stylewithcss","false"],["bold",""]] "{<h3>foo</h3><b>bar</b>}" queryCommandValue("stylewithcss") before 
-PASS [["stylewithcss","false"],["bold",""]] "{<h3>foo</h3><b>bar</b>}" queryCommandIndeterm("stylewithcss") after 
-PASS [["stylewithcss","false"],["bold",""]] "{<h3>foo</h3><b>bar</b>}" queryCommandState("stylewithcss") after 
-PASS [["stylewithcss","false"],["bold",""]] "{<h3>foo</h3><b>bar</b>}" queryCommandValue("stylewithcss") after 
-PASS [["stylewithcss","false"],["bold",""]] "{<h3>foo</h3><b>bar</b>}" queryCommandIndeterm("bold") before 
-PASS [["stylewithcss","false"],["bold",""]] "{<h3>foo</h3><b>bar</b>}" queryCommandState("bold") before 
-FAIL [["stylewithcss","false"],["bold",""]] "{<h3>foo</h3><b>bar</b>}" queryCommandValue("bold") before assert_equals: Wrong result returned expected "" but got "true"
-PASS [["stylewithcss","false"],["bold",""]] "{<h3>foo</h3><b>bar</b>}" queryCommandIndeterm("bold") after 
-PASS [["stylewithcss","false"],["bold",""]] "{<h3>foo</h3><b>bar</b>}" queryCommandState("bold") after 
-FAIL [["stylewithcss","false"],["bold",""]] "{<h3>foo</h3><b>bar</b>}" queryCommandValue("bold") after assert_equals: Wrong result returned expected "" but got "false"
-PASS [["stylewithcss","true"],["bold",""]] "<i><b>foo</b></i>[bar]<i><b>baz</b></i>": execCommand("stylewithcss", false, "true") return value 
-PASS [["stylewithcss","true"],["bold",""]] "<i><b>foo</b></i>[bar]<i><b>baz</b></i>": execCommand("bold", false, "") return value 
-PASS [["stylewithcss","true"],["bold",""]] "<i><b>foo</b></i>[bar]<i><b>baz</b></i>" checks for modifications to non-editable content 
-FAIL [["stylewithcss","true"],["bold",""]] "<i><b>foo</b></i>[bar]<i><b>baz</b></i>" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<b><i>foo</i>bar<i>baz</i></b>" but got "<i><b>foo</b></i><span style=\"font-weight:bold\">bar</span><i><b>baz</b></i>"
-PASS [["stylewithcss","true"],["bold",""]] "<i><b>foo</b></i>[bar]<i><b>baz</b></i>" queryCommandIndeterm("stylewithcss") before 
-PASS [["stylewithcss","true"],["bold",""]] "<i><b>foo</b></i>[bar]<i><b>baz</b></i>" queryCommandState("stylewithcss") before 
-PASS [["stylewithcss","true"],["bold",""]] "<i><b>foo</b></i>[bar]<i><b>baz</b></i>" queryCommandValue("stylewithcss") before 
-PASS [["stylewithcss","true"],["bold",""]] "<i><b>foo</b></i>[bar]<i><b>baz</b></i>" queryCommandIndeterm("stylewithcss") after 
-PASS [["stylewithcss","true"],["bold",""]] "<i><b>foo</b></i>[bar]<i><b>baz</b></i>" queryCommandState("stylewithcss") after 
-PASS [["stylewithcss","true"],["bold",""]] "<i><b>foo</b></i>[bar]<i><b>baz</b></i>" queryCommandValue("stylewithcss") after 
-PASS [["stylewithcss","true"],["bold",""]] "<i><b>foo</b></i>[bar]<i><b>baz</b></i>" queryCommandIndeterm("bold") before 
-PASS [["stylewithcss","true"],["bold",""]] "<i><b>foo</b></i>[bar]<i><b>baz</b></i>" queryCommandState("bold") before 
-FAIL [["stylewithcss","true"],["bold",""]] "<i><b>foo</b></i>[bar]<i><b>baz</b></i>" queryCommandValue("bold") before assert_equals: Wrong result returned expected "" but got "false"
-PASS [["stylewithcss","true"],["bold",""]] "<i><b>foo</b></i>[bar]<i><b>baz</b></i>" queryCommandIndeterm("bold") after 
-PASS [["stylewithcss","true"],["bold",""]] "<i><b>foo</b></i>[bar]<i><b>baz</b></i>" queryCommandState("bold") after 
-FAIL [["stylewithcss","true"],["bold",""]] "<i><b>foo</b></i>[bar]<i><b>baz</b></i>" queryCommandValue("bold") after assert_equals: Wrong result returned expected "" but got "true"
-PASS [["stylewithcss","false"],["bold",""]] "<i><b>foo</b></i>[bar]<i><b>baz</b></i>": execCommand("stylewithcss", false, "false") return value 
-PASS [["stylewithcss","false"],["bold",""]] "<i><b>foo</b></i>[bar]<i><b>baz</b></i>": execCommand("bold", false, "") return value 
-PASS [["stylewithcss","false"],["bold",""]] "<i><b>foo</b></i>[bar]<i><b>baz</b></i>" checks for modifications to non-editable content 
-FAIL [["stylewithcss","false"],["bold",""]] "<i><b>foo</b></i>[bar]<i><b>baz</b></i>" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<b><i>foo</i>bar<i>baz</i></b>" but got "<i><b>foo</b></i><b>bar</b><i><b>baz</b></i>"
-PASS [["stylewithcss","false"],["bold",""]] "<i><b>foo</b></i>[bar]<i><b>baz</b></i>" queryCommandIndeterm("stylewithcss") before 
-PASS [["stylewithcss","false"],["bold",""]] "<i><b>foo</b></i>[bar]<i><b>baz</b></i>" queryCommandState("stylewithcss") before 
-PASS [["stylewithcss","false"],["bold",""]] "<i><b>foo</b></i>[bar]<i><b>baz</b></i>" queryCommandValue("stylewithcss") before 
-PASS [["stylewithcss","false"],["bold",""]] "<i><b>foo</b></i>[bar]<i><b>baz</b></i>" queryCommandIndeterm("stylewithcss") after 
-PASS [["stylewithcss","false"],["bold",""]] "<i><b>foo</b></i>[bar]<i><b>baz</b></i>" queryCommandState("stylewithcss") after 
-PASS [["stylewithcss","false"],["bold",""]] "<i><b>foo</b></i>[bar]<i><b>baz</b></i>" queryCommandValue("stylewithcss") after 
-PASS [["stylewithcss","false"],["bold",""]] "<i><b>foo</b></i>[bar]<i><b>baz</b></i>" queryCommandIndeterm("bold") before 
-PASS [["stylewithcss","false"],["bold",""]] "<i><b>foo</b></i>[bar]<i><b>baz</b></i>" queryCommandState("bold") before 
-FAIL [["stylewithcss","false"],["bold",""]] "<i><b>foo</b></i>[bar]<i><b>baz</b></i>" queryCommandValue("bold") before assert_equals: Wrong result returned expected "" but got "false"
-PASS [["stylewithcss","false"],["bold",""]] "<i><b>foo</b></i>[bar]<i><b>baz</b></i>" queryCommandIndeterm("bold") after 
-PASS [["stylewithcss","false"],["bold",""]] "<i><b>foo</b></i>[bar]<i><b>baz</b></i>" queryCommandState("bold") after 
-FAIL [["stylewithcss","false"],["bold",""]] "<i><b>foo</b></i>[bar]<i><b>baz</b></i>" queryCommandValue("bold") after assert_equals: Wrong result returned expected "" but got "true"
-PASS [["stylewithcss","true"],["bold",""]] "<i><b>foo</b></i>[bar]<b>baz</b>": execCommand("stylewithcss", false, "true") return value 
-PASS [["stylewithcss","true"],["bold",""]] "<i><b>foo</b></i>[bar]<b>baz</b>": execCommand("bold", false, "") return value 
-PASS [["stylewithcss","true"],["bold",""]] "<i><b>foo</b></i>[bar]<b>baz</b>" checks for modifications to non-editable content 
-FAIL [["stylewithcss","true"],["bold",""]] "<i><b>foo</b></i>[bar]<b>baz</b>" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<b><i>foo</i>barbaz</b>" but got "<i><b>foo</b></i><span style=\"font-weight:bold\">bar</span><b>baz</b>"
-PASS [["stylewithcss","true"],["bold",""]] "<i><b>foo</b></i>[bar]<b>baz</b>" queryCommandIndeterm("stylewithcss") before 
-PASS [["stylewithcss","true"],["bold",""]] "<i><b>foo</b></i>[bar]<b>baz</b>" queryCommandState("stylewithcss") before 
-PASS [["stylewithcss","true"],["bold",""]] "<i><b>foo</b></i>[bar]<b>baz</b>" queryCommandValue("stylewithcss") before 
-PASS [["stylewithcss","true"],["bold",""]] "<i><b>foo</b></i>[bar]<b>baz</b>" queryCommandIndeterm("stylewithcss") after 
-PASS [["stylewithcss","true"],["bold",""]] "<i><b>foo</b></i>[bar]<b>baz</b>" queryCommandState("stylewithcss") after 
-PASS [["stylewithcss","true"],["bold",""]] "<i><b>foo</b></i>[bar]<b>baz</b>" queryCommandValue("stylewithcss") after 
-PASS [["stylewithcss","true"],["bold",""]] "<i><b>foo</b></i>[bar]<b>baz</b>" queryCommandIndeterm("bold") before 
-PASS [["stylewithcss","true"],["bold",""]] "<i><b>foo</b></i>[bar]<b>baz</b>" queryCommandState("bold") before 
-FAIL [["stylewithcss","true"],["bold",""]] "<i><b>foo</b></i>[bar]<b>baz</b>" queryCommandValue("bold") before assert_equals: Wrong result returned expected "" but got "false"
-PASS [["stylewithcss","true"],["bold",""]] "<i><b>foo</b></i>[bar]<b>baz</b>" queryCommandIndeterm("bold") after 
-PASS [["stylewithcss","true"],["bold",""]] "<i><b>foo</b></i>[bar]<b>baz</b>" queryCommandState("bold") after 
-FAIL [["stylewithcss","true"],["bold",""]] "<i><b>foo</b></i>[bar]<b>baz</b>" queryCommandValue("bold") after assert_equals: Wrong result returned expected "" but got "true"
-PASS [["stylewithcss","false"],["bold",""]] "<i><b>foo</b></i>[bar]<b>baz</b>": execCommand("stylewithcss", false, "false") return value 
-PASS [["stylewithcss","false"],["bold",""]] "<i><b>foo</b></i>[bar]<b>baz</b>": execCommand("bold", false, "") return value 
-PASS [["stylewithcss","false"],["bold",""]] "<i><b>foo</b></i>[bar]<b>baz</b>" checks for modifications to non-editable content 
-FAIL [["stylewithcss","false"],["bold",""]] "<i><b>foo</b></i>[bar]<b>baz</b>" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<b><i>foo</i>barbaz</b>" but got "<i><b>foo</b></i><b>barbaz</b>"
-PASS [["stylewithcss","false"],["bold",""]] "<i><b>foo</b></i>[bar]<b>baz</b>" queryCommandIndeterm("stylewithcss") before 
-PASS [["stylewithcss","false"],["bold",""]] "<i><b>foo</b></i>[bar]<b>baz</b>" queryCommandState("stylewithcss") before 
-PASS [["stylewithcss","false"],["bold",""]] "<i><b>foo</b></i>[bar]<b>baz</b>" queryCommandValue("stylewithcss") before 
-PASS [["stylewithcss","false"],["bold",""]] "<i><b>foo</b></i>[bar]<b>baz</b>" queryCommandIndeterm("stylewithcss") after 
-PASS [["stylewithcss","false"],["bold",""]] "<i><b>foo</b></i>[bar]<b>baz</b>" queryCommandState("stylewithcss") after 
-PASS [["stylewithcss","false"],["bold",""]] "<i><b>foo</b></i>[bar]<b>baz</b>" queryCommandValue("stylewithcss") after 
-PASS [["stylewithcss","false"],["bold",""]] "<i><b>foo</b></i>[bar]<b>baz</b>" queryCommandIndeterm("bold") before 
-PASS [["stylewithcss","false"],["bold",""]] "<i><b>foo</b></i>[bar]<b>baz</b>" queryCommandState("bold") before 
-FAIL [["stylewithcss","false"],["bold",""]] "<i><b>foo</b></i>[bar]<b>baz</b>" queryCommandValue("bold") before assert_equals: Wrong result returned expected "" but got "false"
-PASS [["stylewithcss","false"],["bold",""]] "<i><b>foo</b></i>[bar]<b>baz</b>" queryCommandIndeterm("bold") after 
-PASS [["stylewithcss","false"],["bold",""]] "<i><b>foo</b></i>[bar]<b>baz</b>" queryCommandState("bold") after 
-FAIL [["stylewithcss","false"],["bold",""]] "<i><b>foo</b></i>[bar]<b>baz</b>" queryCommandValue("bold") after assert_equals: Wrong result returned expected "" but got "true"
-PASS [["stylewithcss","true"],["bold",""]] "<b>foo</b>[bar]<i><b>baz</b></i>": execCommand("stylewithcss", false, "true") return value 
-PASS [["stylewithcss","true"],["bold",""]] "<b>foo</b>[bar]<i><b>baz</b></i>": execCommand("bold", false, "") return value 
-PASS [["stylewithcss","true"],["bold",""]] "<b>foo</b>[bar]<i><b>baz</b></i>" checks for modifications to non-editable content 
-FAIL [["stylewithcss","true"],["bold",""]] "<b>foo</b>[bar]<i><b>baz</b></i>" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<b>foobar<i>baz</i></b>" but got "<b>foo</b><span style=\"font-weight:bold\">bar</span><i><b>baz</b></i>"
-PASS [["stylewithcss","true"],["bold",""]] "<b>foo</b>[bar]<i><b>baz</b></i>" queryCommandIndeterm("stylewithcss") before 
-PASS [["stylewithcss","true"],["bold",""]] "<b>foo</b>[bar]<i><b>baz</b></i>" queryCommandState("stylewithcss") before 
-PASS [["stylewithcss","true"],["bold",""]] "<b>foo</b>[bar]<i><b>baz</b></i>" queryCommandValue("stylewithcss") before 
-PASS [["stylewithcss","true"],["bold",""]] "<b>foo</b>[bar]<i><b>baz</b></i>" queryCommandIndeterm("stylewithcss") after 
-PASS [["stylewithcss","true"],["bold",""]] "<b>foo</b>[bar]<i><b>baz</b></i>" queryCommandState("stylewithcss") after 
-PASS [["stylewithcss","true"],["bold",""]] "<b>foo</b>[bar]<i><b>baz</b></i>" queryCommandValue("stylewithcss") after 
-PASS [["stylewithcss","true"],["bold",""]] "<b>foo</b>[bar]<i><b>baz</b></i>" queryCommandIndeterm("bold") before 
-PASS [["stylewithcss","true"],["bold",""]] "<b>foo</b>[bar]<i><b>baz</b></i>" queryCommandState("bold") before 
-FAIL [["stylewithcss","true"],["bold",""]] "<b>foo</b>[bar]<i><b>baz</b></i>" queryCommandValue("bold") before assert_equals: Wrong result returned expected "" but got "false"
-PASS [["stylewithcss","true"],["bold",""]] "<b>foo</b>[bar]<i><b>baz</b></i>" queryCommandIndeterm("bold") after 
-PASS [["stylewithcss","true"],["bold",""]] "<b>foo</b>[bar]<i><b>baz</b></i>" queryCommandState("bold") after 
-FAIL [["stylewithcss","true"],["bold",""]] "<b>foo</b>[bar]<i><b>baz</b></i>" queryCommandValue("bold") after assert_equals: Wrong result returned expected "" but got "true"
-PASS [["stylewithcss","false"],["bold",""]] "<b>foo</b>[bar]<i><b>baz</b></i>": execCommand("stylewithcss", false, "false") return value 
-PASS [["stylewithcss","false"],["bold",""]] "<b>foo</b>[bar]<i><b>baz</b></i>": execCommand("bold", false, "") return value 
-PASS [["stylewithcss","false"],["bold",""]] "<b>foo</b>[bar]<i><b>baz</b></i>" checks for modifications to non-editable content 
-FAIL [["stylewithcss","false"],["bold",""]] "<b>foo</b>[bar]<i><b>baz</b></i>" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<b>foobar<i>baz</i></b>" but got "<b>foobar</b><i><b>baz</b></i>"
-PASS [["stylewithcss","false"],["bold",""]] "<b>foo</b>[bar]<i><b>baz</b></i>" queryCommandIndeterm("stylewithcss") before 
-PASS [["stylewithcss","false"],["bold",""]] "<b>foo</b>[bar]<i><b>baz</b></i>" queryCommandState("stylewithcss") before 
-PASS [["stylewithcss","false"],["bold",""]] "<b>foo</b>[bar]<i><b>baz</b></i>" queryCommandValue("stylewithcss") before 
-PASS [["stylewithcss","false"],["bold",""]] "<b>foo</b>[bar]<i><b>baz</b></i>" queryCommandIndeterm("stylewithcss") after 
-PASS [["stylewithcss","false"],["bold",""]] "<b>foo</b>[bar]<i><b>baz</b></i>" queryCommandState("stylewithcss") after 
-PASS [["stylewithcss","false"],["bold",""]] "<b>foo</b>[bar]<i><b>baz</b></i>" queryCommandValue("stylewithcss") after 
-PASS [["stylewithcss","false"],["bold",""]] "<b>foo</b>[bar]<i><b>baz</b></i>" queryCommandIndeterm("bold") before 
-PASS [["stylewithcss","false"],["bold",""]] "<b>foo</b>[bar]<i><b>baz</b></i>" queryCommandState("bold") before 
-FAIL [["stylewithcss","false"],["bold",""]] "<b>foo</b>[bar]<i><b>baz</b></i>" queryCommandValue("bold") before assert_equals: Wrong result returned expected "" but got "false"
-PASS [["stylewithcss","false"],["bold",""]] "<b>foo</b>[bar]<i><b>baz</b></i>" queryCommandIndeterm("bold") after 
-PASS [["stylewithcss","false"],["bold",""]] "<b>foo</b>[bar]<i><b>baz</b></i>" queryCommandState("bold") after 
-FAIL [["stylewithcss","false"],["bold",""]] "<b>foo</b>[bar]<i><b>baz</b></i>" queryCommandValue("bold") after assert_equals: Wrong result returned expected "" but got "true"
-PASS [["bold",""]] "<font color=blue face=monospace><b>foo</b></font>[bar]": execCommand("bold", false, "") return value 
-PASS [["bold",""]] "<font color=blue face=monospace><b>foo</b></font>[bar]" checks for modifications to non-editable content 
-FAIL [["bold",""]] "<font color=blue face=monospace><b>foo</b></font>[bar]" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<b><font color=\"blue\" face=\"monospace\">foo</font>bar</b>" but got "<font color=\"blue\" face=\"monospace\"><b>foo</b></font><b>bar</b>"
-PASS [["bold",""]] "<font color=blue face=monospace><b>foo</b></font>[bar]" queryCommandIndeterm("bold") before 
-PASS [["bold",""]] "<font color=blue face=monospace><b>foo</b></font>[bar]" queryCommandState("bold") before 
-FAIL [["bold",""]] "<font color=blue face=monospace><b>foo</b></font>[bar]" queryCommandValue("bold") before assert_equals: Wrong result returned expected "" but got "false"
-PASS [["bold",""]] "<font color=blue face=monospace><b>foo</b></font>[bar]" queryCommandIndeterm("bold") after 
-PASS [["bold",""]] "<font color=blue face=monospace><b>foo</b></font>[bar]" queryCommandState("bold") after 
-FAIL [["bold",""]] "<font color=blue face=monospace><b>foo</b></font>[bar]" queryCommandValue("bold") after assert_equals: Wrong result returned expected "" but got "true"
-PASS [["stylewithcss","true"],["bold",""]] "foo<span style=\"font-weight: normal\"><b>{bar}</b></span>baz": execCommand("stylewithcss", false, "true") return value 
-PASS [["stylewithcss","true"],["bold",""]] "foo<span style=\"font-weight: normal\"><b>{bar}</b></span>baz": execCommand("bold", false, "") return value 
-PASS [["stylewithcss","true"],["bold",""]] "foo<span style=\"font-weight: normal\"><b>{bar}</b></span>baz" checks for modifications to non-editable content 
-PASS [["stylewithcss","true"],["bold",""]] "foo<span style=\"font-weight: normal\"><b>{bar}</b></span>baz" compare innerHTML 
-PASS [["stylewithcss","true"],["bold",""]] "foo<span style=\"font-weight: normal\"><b>{bar}</b></span>baz" queryCommandIndeterm("stylewithcss") before 
-PASS [["stylewithcss","true"],["bold",""]] "foo<span style=\"font-weight: normal\"><b>{bar}</b></span>baz" queryCommandState("stylewithcss") before 
-PASS [["stylewithcss","true"],["bold",""]] "foo<span style=\"font-weight: normal\"><b>{bar}</b></span>baz" queryCommandValue("stylewithcss") before 
-PASS [["stylewithcss","true"],["bold",""]] "foo<span style=\"font-weight: normal\"><b>{bar}</b></span>baz" queryCommandIndeterm("stylewithcss") after 
-PASS [["stylewithcss","true"],["bold",""]] "foo<span style=\"font-weight: normal\"><b>{bar}</b></span>baz" queryCommandState("stylewithcss") after 
-PASS [["stylewithcss","true"],["bold",""]] "foo<span style=\"font-weight: normal\"><b>{bar}</b></span>baz" queryCommandValue("stylewithcss") after 
-PASS [["stylewithcss","true"],["bold",""]] "foo<span style=\"font-weight: normal\"><b>{bar}</b></span>baz" queryCommandIndeterm("bold") before 
-PASS [["stylewithcss","true"],["bold",""]] "foo<span style=\"font-weight: normal\"><b>{bar}</b></span>baz" queryCommandState("bold") before 
-FAIL [["stylewithcss","true"],["bold",""]] "foo<span style=\"font-weight: normal\"><b>{bar}</b></span>baz" queryCommandValue("bold") before assert_equals: Wrong result returned expected "" but got "true"
-PASS [["stylewithcss","true"],["bold",""]] "foo<span style=\"font-weight: normal\"><b>{bar}</b></span>baz" queryCommandIndeterm("bold") after 
-PASS [["stylewithcss","true"],["bold",""]] "foo<span style=\"font-weight: normal\"><b>{bar}</b></span>baz" queryCommandState("bold") after 
-FAIL [["stylewithcss","true"],["bold",""]] "foo<span style=\"font-weight: normal\"><b>{bar}</b></span>baz" queryCommandValue("bold") after assert_equals: Wrong result returned expected "" but got "false"
-PASS [["stylewithcss","false"],["bold",""]] "foo<span style=\"font-weight: normal\"><b>{bar}</b></span>baz": execCommand("stylewithcss", false, "false") return value 
-PASS [["stylewithcss","false"],["bold",""]] "foo<span style=\"font-weight: normal\"><b>{bar}</b></span>baz": execCommand("bold", false, "") return value 
-PASS [["stylewithcss","false"],["bold",""]] "foo<span style=\"font-weight: normal\"><b>{bar}</b></span>baz" checks for modifications to non-editable content 
-PASS [["stylewithcss","false"],["bold",""]] "foo<span style=\"font-weight: normal\"><b>{bar}</b></span>baz" compare innerHTML 
-PASS [["stylewithcss","false"],["bold",""]] "foo<span style=\"font-weight: normal\"><b>{bar}</b></span>baz" queryCommandIndeterm("stylewithcss") before 
-PASS [["stylewithcss","false"],["bold",""]] "foo<span style=\"font-weight: normal\"><b>{bar}</b></span>baz" queryCommandState("stylewithcss") before 
-PASS [["stylewithcss","false"],["bold",""]] "foo<span style=\"font-weight: normal\"><b>{bar}</b></span>baz" queryCommandValue("stylewithcss") before 
-PASS [["stylewithcss","false"],["bold",""]] "foo<span style=\"font-weight: normal\"><b>{bar}</b></span>baz" queryCommandIndeterm("stylewithcss") after 
-PASS [["stylewithcss","false"],["bold",""]] "foo<span style=\"font-weight: normal\"><b>{bar}</b></span>baz" queryCommandState("stylewithcss") after 
-PASS [["stylewithcss","false"],["bold",""]] "foo<span style=\"font-weight: normal\"><b>{bar}</b></span>baz" queryCommandValue("stylewithcss") after 
-PASS [["stylewithcss","false"],["bold",""]] "foo<span style=\"font-weight: normal\"><b>{bar}</b></span>baz" queryCommandIndeterm("bold") before 
-PASS [["stylewithcss","false"],["bold",""]] "foo<span style=\"font-weight: normal\"><b>{bar}</b></span>baz" queryCommandState("bold") before 
-FAIL [["stylewithcss","false"],["bold",""]] "foo<span style=\"font-weight: normal\"><b>{bar}</b></span>baz" queryCommandValue("bold") before assert_equals: Wrong result returned expected "" but got "true"
-PASS [["stylewithcss","false"],["bold",""]] "foo<span style=\"font-weight: normal\"><b>{bar}</b></span>baz" queryCommandIndeterm("bold") after 
-PASS [["stylewithcss","false"],["bold",""]] "foo<span style=\"font-weight: normal\"><b>{bar}</b></span>baz" queryCommandState("bold") after 
-FAIL [["stylewithcss","false"],["bold",""]] "foo<span style=\"font-weight: normal\"><b>{bar}</b></span>baz" queryCommandValue("bold") after assert_equals: Wrong result returned expected "" but got "false"
-PASS [["stylewithcss","true"],["bold",""]] "[foo<span class=notbold>bar</span>baz]": execCommand("stylewithcss", false, "true") return value 
-PASS [["stylewithcss","true"],["bold",""]] "[foo<span class=notbold>bar</span>baz]": execCommand("bold", false, "") return value 
-PASS [["stylewithcss","true"],["bold",""]] "[foo<span class=notbold>bar</span>baz]" checks for modifications to non-editable content 
-FAIL [["stylewithcss","true"],["bold",""]] "[foo<span class=notbold>bar</span>baz]" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<span style=\"font-weight:bold\">foo<span class=\"notbold\"><span style=\"font-weight:bold\">bar</span></span>baz</span>" but got "<span style=\"font-weight:bold\">foo<span class=\"notbold\">bar</span>baz</span>"
-PASS [["stylewithcss","true"],["bold",""]] "[foo<span class=notbold>bar</span>baz]" queryCommandIndeterm("stylewithcss") before 
-PASS [["stylewithcss","true"],["bold",""]] "[foo<span class=notbold>bar</span>baz]" queryCommandState("stylewithcss") before 
-PASS [["stylewithcss","true"],["bold",""]] "[foo<span class=notbold>bar</span>baz]" queryCommandValue("stylewithcss") before 
-PASS [["stylewithcss","true"],["bold",""]] "[foo<span class=notbold>bar</span>baz]" queryCommandIndeterm("stylewithcss") after 
-PASS [["stylewithcss","true"],["bold",""]] "[foo<span class=notbold>bar</span>baz]" queryCommandState("stylewithcss") after 
-PASS [["stylewithcss","true"],["bold",""]] "[foo<span class=notbold>bar</span>baz]" queryCommandValue("stylewithcss") after 
-PASS [["stylewithcss","true"],["bold",""]] "[foo<span class=notbold>bar</span>baz]" queryCommandIndeterm("bold") before 
-PASS [["stylewithcss","true"],["bold",""]] "[foo<span class=notbold>bar</span>baz]" queryCommandState("bold") before 
-FAIL [["stylewithcss","true"],["bold",""]] "[foo<span class=notbold>bar</span>baz]" queryCommandValue("bold") before assert_equals: Wrong result returned expected "" but got "false"
-PASS [["stylewithcss","true"],["bold",""]] "[foo<span class=notbold>bar</span>baz]" queryCommandIndeterm("bold") after 
-PASS [["stylewithcss","true"],["bold",""]] "[foo<span class=notbold>bar</span>baz]" queryCommandState("bold") after 
-FAIL [["stylewithcss","true"],["bold",""]] "[foo<span class=notbold>bar</span>baz]" queryCommandValue("bold") after assert_equals: Wrong result returned expected "" but got "true"
-PASS [["stylewithcss","false"],["bold",""]] "[foo<span class=notbold>bar</span>baz]": execCommand("stylewithcss", false, "false") return value 
-PASS [["stylewithcss","false"],["bold",""]] "[foo<span class=notbold>bar</span>baz]": execCommand("bold", false, "") return value 
-PASS [["stylewithcss","false"],["bold",""]] "[foo<span class=notbold>bar</span>baz]" checks for modifications to non-editable content 
-FAIL [["stylewithcss","false"],["bold",""]] "[foo<span class=notbold>bar</span>baz]" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<b>foo<span class=\"notbold\"><b>bar</b></span>baz</b>" but got "<b>foo<span class=\"notbold\">bar</span>baz</b>"
-PASS [["stylewithcss","false"],["bold",""]] "[foo<span class=notbold>bar</span>baz]" queryCommandIndeterm("stylewithcss") before 
-PASS [["stylewithcss","false"],["bold",""]] "[foo<span class=notbold>bar</span>baz]" queryCommandState("stylewithcss") before 
-PASS [["stylewithcss","false"],["bold",""]] "[foo<span class=notbold>bar</span>baz]" queryCommandValue("stylewithcss") before 
-PASS [["stylewithcss","false"],["bold",""]] "[foo<span class=notbold>bar</span>baz]" queryCommandIndeterm("stylewithcss") after 
-PASS [["stylewithcss","false"],["bold",""]] "[foo<span class=notbold>bar</span>baz]" queryCommandState("stylewithcss") after 
-PASS [["stylewithcss","false"],["bold",""]] "[foo<span class=notbold>bar</span>baz]" queryCommandValue("stylewithcss") after 
-PASS [["stylewithcss","false"],["bold",""]] "[foo<span class=notbold>bar</span>baz]" queryCommandIndeterm("bold") before 
-PASS [["stylewithcss","false"],["bold",""]] "[foo<span class=notbold>bar</span>baz]" queryCommandState("bold") before 
-FAIL [["stylewithcss","false"],["bold",""]] "[foo<span class=notbold>bar</span>baz]" queryCommandValue("bold") before assert_equals: Wrong result returned expected "" but got "false"
-PASS [["stylewithcss","false"],["bold",""]] "[foo<span class=notbold>bar</span>baz]" queryCommandIndeterm("bold") after 
-PASS [["stylewithcss","false"],["bold",""]] "[foo<span class=notbold>bar</span>baz]" queryCommandState("bold") after 
-FAIL [["stylewithcss","false"],["bold",""]] "[foo<span class=notbold>bar</span>baz]" queryCommandValue("bold") after assert_equals: Wrong result returned expected "" but got "true"
-PASS [["stylewithcss","true"],["bold",""]] "<b><span class=notbold>[foo]</span></b>": execCommand("stylewithcss", false, "true") return value 
-PASS [["stylewithcss","true"],["bold",""]] "<b><span class=notbold>[foo]</span></b>": execCommand("bold", false, "") return value 
-PASS [["stylewithcss","true"],["bold",""]] "<b><span class=notbold>[foo]</span></b>" checks for modifications to non-editable content 
-FAIL [["stylewithcss","true"],["bold",""]] "<b><span class=notbold>[foo]</span></b>" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<span class=\"notbold\"><span style=\"font-weight:bold\">foo</span></span>" but got "<span class=\"notbold\" style=\"font-weight:bold\">foo</span>"
-PASS [["stylewithcss","true"],["bold",""]] "<b><span class=notbold>[foo]</span></b>" queryCommandIndeterm("stylewithcss") before 
-PASS [["stylewithcss","true"],["bold",""]] "<b><span class=notbold>[foo]</span></b>" queryCommandState("stylewithcss") before 
-PASS [["stylewithcss","true"],["bold",""]] "<b><span class=notbold>[foo]</span></b>" queryCommandValue("stylewithcss") before 
-PASS [["stylewithcss","true"],["bold",""]] "<b><span class=notbold>[foo]</span></b>" queryCommandIndeterm("stylewithcss") after 
-PASS [["stylewithcss","true"],["bold",""]] "<b><span class=notbold>[foo]</span></b>" queryCommandState("stylewithcss") after 
-PASS [["stylewithcss","true"],["bold",""]] "<b><span class=notbold>[foo]</span></b>" queryCommandValue("stylewithcss") after 
-PASS [["stylewithcss","true"],["bold",""]] "<b><span class=notbold>[foo]</span></b>" queryCommandIndeterm("bold") before 
-PASS [["stylewithcss","true"],["bold",""]] "<b><span class=notbold>[foo]</span></b>" queryCommandState("bold") before 
-FAIL [["stylewithcss","true"],["bold",""]] "<b><span class=notbold>[foo]</span></b>" queryCommandValue("bold") before assert_equals: Wrong result returned expected "" but got "false"
-PASS [["stylewithcss","true"],["bold",""]] "<b><span class=notbold>[foo]</span></b>" queryCommandIndeterm("bold") after 
-PASS [["stylewithcss","true"],["bold",""]] "<b><span class=notbold>[foo]</span></b>" queryCommandState("bold") after 
-FAIL [["stylewithcss","true"],["bold",""]] "<b><span class=notbold>[foo]</span></b>" queryCommandValue("bold") after assert_equals: Wrong result returned expected "" but got "true"
-PASS [["stylewithcss","false"],["bold",""]] "<b><span class=notbold>[foo]</span></b>": execCommand("stylewithcss", false, "false") return value 
-PASS [["stylewithcss","false"],["bold",""]] "<b><span class=notbold>[foo]</span></b>": execCommand("bold", false, "") return value 
-PASS [["stylewithcss","false"],["bold",""]] "<b><span class=notbold>[foo]</span></b>" checks for modifications to non-editable content 
-PASS [["stylewithcss","false"],["bold",""]] "<b><span class=notbold>[foo]</span></b>" compare innerHTML 
-PASS [["stylewithcss","false"],["bold",""]] "<b><span class=notbold>[foo]</span></b>" queryCommandIndeterm("stylewithcss") before 
-PASS [["stylewithcss","false"],["bold",""]] "<b><span class=notbold>[foo]</span></b>" queryCommandState("stylewithcss") before 
-PASS [["stylewithcss","false"],["bold",""]] "<b><span class=notbold>[foo]</span></b>" queryCommandValue("stylewithcss") before 
-PASS [["stylewithcss","false"],["bold",""]] "<b><span class=notbold>[foo]</span></b>" queryCommandIndeterm("stylewithcss") after 
-PASS [["stylewithcss","false"],["bold",""]] "<b><span class=notbold>[foo]</span></b>" queryCommandState("stylewithcss") after 
-PASS [["stylewithcss","false"],["bold",""]] "<b><span class=notbold>[foo]</span></b>" queryCommandValue("stylewithcss") after 
-PASS [["stylewithcss","false"],["bold",""]] "<b><span class=notbold>[foo]</span></b>" queryCommandIndeterm("bold") before 
-PASS [["stylewithcss","false"],["bold",""]] "<b><span class=notbold>[foo]</span></b>" queryCommandState("bold") before 
-FAIL [["stylewithcss","false"],["bold",""]] "<b><span class=notbold>[foo]</span></b>" queryCommandValue("bold") before assert_equals: Wrong result returned expected "" but got "false"
-PASS [["stylewithcss","false"],["bold",""]] "<b><span class=notbold>[foo]</span></b>" queryCommandIndeterm("bold") after 
-PASS [["stylewithcss","false"],["bold",""]] "<b><span class=notbold>[foo]</span></b>" queryCommandState("bold") after 
-FAIL [["stylewithcss","false"],["bold",""]] "<b><span class=notbold>[foo]</span></b>" queryCommandValue("bold") after assert_equals: Wrong result returned expected "" but got "true"
-PASS [["stylewithcss","true"],["bold",""]] "<b><span class=notbold>foo[bar]baz</span></b>": execCommand("stylewithcss", false, "true") return value 
-PASS [["stylewithcss","true"],["bold",""]] "<b><span class=notbold>foo[bar]baz</span></b>": execCommand("bold", false, "") return value 
-PASS [["stylewithcss","true"],["bold",""]] "<b><span class=notbold>foo[bar]baz</span></b>" checks for modifications to non-editable content 
-PASS [["stylewithcss","true"],["bold",""]] "<b><span class=notbold>foo[bar]baz</span></b>" compare innerHTML 
-PASS [["stylewithcss","true"],["bold",""]] "<b><span class=notbold>foo[bar]baz</span></b>" queryCommandIndeterm("stylewithcss") before 
-PASS [["stylewithcss","true"],["bold",""]] "<b><span class=notbold>foo[bar]baz</span></b>" queryCommandState("stylewithcss") before 
-PASS [["stylewithcss","true"],["bold",""]] "<b><span class=notbold>foo[bar]baz</span></b>" queryCommandValue("stylewithcss") before 
-PASS [["stylewithcss","true"],["bold",""]] "<b><span class=notbold>foo[bar]baz</span></b>" queryCommandIndeterm("stylewithcss") after 
-PASS [["stylewithcss","true"],["bold",""]] "<b><span class=notbold>foo[bar]baz</span></b>" queryCommandState("stylewithcss") after 
-PASS [["stylewithcss","true"],["bold",""]] "<b><span class=notbold>foo[bar]baz</span></b>" queryCommandValue("stylewithcss") after 
-PASS [["stylewithcss","true"],["bold",""]] "<b><span class=notbold>foo[bar]baz</span></b>" queryCommandIndeterm("bold") before 
-PASS [["stylewithcss","true"],["bold",""]] "<b><span class=notbold>foo[bar]baz</span></b>" queryCommandState("bold") before 
-FAIL [["stylewithcss","true"],["bold",""]] "<b><span class=notbold>foo[bar]baz</span></b>" queryCommandValue("bold") before assert_equals: Wrong result returned expected "" but got "false"
-PASS [["stylewithcss","true"],["bold",""]] "<b><span class=notbold>foo[bar]baz</span></b>" queryCommandIndeterm("bold") after 
-PASS [["stylewithcss","true"],["bold",""]] "<b><span class=notbold>foo[bar]baz</span></b>" queryCommandState("bold") after 
-FAIL [["stylewithcss","true"],["bold",""]] "<b><span class=notbold>foo[bar]baz</span></b>" queryCommandValue("bold") after assert_equals: Wrong result returned expected "" but got "true"
-PASS [["stylewithcss","false"],["bold",""]] "<b><span class=notbold>foo[bar]baz</span></b>": execCommand("stylewithcss", false, "false") return value 
-PASS [["stylewithcss","false"],["bold",""]] "<b><span class=notbold>foo[bar]baz</span></b>": execCommand("bold", false, "") return value 
-PASS [["stylewithcss","false"],["bold",""]] "<b><span class=notbold>foo[bar]baz</span></b>" checks for modifications to non-editable content 
-PASS [["stylewithcss","false"],["bold",""]] "<b><span class=notbold>foo[bar]baz</span></b>" compare innerHTML 
-PASS [["stylewithcss","false"],["bold",""]] "<b><span class=notbold>foo[bar]baz</span></b>" queryCommandIndeterm("stylewithcss") before 
-PASS [["stylewithcss","false"],["bold",""]] "<b><span class=notbold>foo[bar]baz</span></b>" queryCommandState("stylewithcss") before 
-PASS [["stylewithcss","false"],["bold",""]] "<b><span class=notbold>foo[bar]baz</span></b>" queryCommandValue("stylewithcss") before 
-PASS [["stylewithcss","false"],["bold",""]] "<b><span class=notbold>foo[bar]baz</span></b>" queryCommandIndeterm("stylewithcss") after 
-PASS [["stylewithcss","false"],["bold",""]] "<b><span class=notbold>foo[bar]baz</span></b>" queryCommandState("stylewithcss") after 
-PASS [["stylewithcss","false"],["bold",""]] "<b><span class=notbold>foo[bar]baz</span></b>" queryCommandValue("stylewithcss") after 
-PASS [["stylewithcss","false"],["bold",""]] "<b><span class=notbold>foo[bar]baz</span></b>" queryCommandIndeterm("bold") before 
-PASS [["stylewithcss","false"],["bold",""]] "<b><span class=notbold>foo[bar]baz</span></b>" queryCommandState("bold") before 
-FAIL [["stylewithcss","false"],["bold",""]] "<b><span class=notbold>foo[bar]baz</span></b>" queryCommandValue("bold") before assert_equals: Wrong result returned expected "" but got "false"
-PASS [["stylewithcss","false"],["bold",""]] "<b><span class=notbold>foo[bar]baz</span></b>" queryCommandIndeterm("bold") after 
-PASS [["stylewithcss","false"],["bold",""]] "<b><span class=notbold>foo[bar]baz</span></b>" queryCommandState("bold") after 
-FAIL [["stylewithcss","false"],["bold",""]] "<b><span class=notbold>foo[bar]baz</span></b>" queryCommandValue("bold") after assert_equals: Wrong result returned expected "" but got "true"
-PASS [["stylewithcss","true"],["bold",""]] "<p style=\"font-weight: bold\">foo[bar]baz</p>": execCommand("stylewithcss", false, "true") return value 
-PASS [["stylewithcss","true"],["bold",""]] "<p style=\"font-weight: bold\">foo[bar]baz</p>": execCommand("bold", false, "") return value 
-PASS [["stylewithcss","true"],["bold",""]] "<p style=\"font-weight: bold\">foo[bar]baz</p>" checks for modifications to non-editable content 
-PASS [["stylewithcss","true"],["bold",""]] "<p style=\"font-weight: bold\">foo[bar]baz</p>" compare innerHTML 
-PASS [["stylewithcss","true"],["bold",""]] "<p style=\"font-weight: bold\">foo[bar]baz</p>" queryCommandIndeterm("stylewithcss") before 
-PASS [["stylewithcss","true"],["bold",""]] "<p style=\"font-weight: bold\">foo[bar]baz</p>" queryCommandState("stylewithcss") before 
-PASS [["stylewithcss","true"],["bold",""]] "<p style=\"font-weight: bold\">foo[bar]baz</p>" queryCommandValue("stylewithcss") before 
-PASS [["stylewithcss","true"],["bold",""]] "<p style=\"font-weight: bold\">foo[bar]baz</p>" queryCommandIndeterm("stylewithcss") after 
-PASS [["stylewithcss","true"],["bold",""]] "<p style=\"font-weight: bold\">foo[bar]baz</p>" queryCommandState("stylewithcss") after 
-PASS [["stylewithcss","true"],["bold",""]] "<p style=\"font-weight: bold\">foo[bar]baz</p>" queryCommandValue("stylewithcss") after 
-PASS [["stylewithcss","true"],["bold",""]] "<p style=\"font-weight: bold\">foo[bar]baz</p>" queryCommandIndeterm("bold") before 
-PASS [["stylewithcss","true"],["bold",""]] "<p style=\"font-weight: bold\">foo[bar]baz</p>" queryCommandState("bold") before 
-FAIL [["stylewithcss","true"],["bold",""]] "<p style=\"font-weight: bold\">foo[bar]baz</p>" queryCommandValue("bold") before assert_equals: Wrong result returned expected "" but got "true"
-PASS [["stylewithcss","true"],["bold",""]] "<p style=\"font-weight: bold\">foo[bar]baz</p>" queryCommandIndeterm("bold") after 
-PASS [["stylewithcss","true"],["bold",""]] "<p style=\"font-weight: bold\">foo[bar]baz</p>" queryCommandState("bold") after 
-FAIL [["stylewithcss","true"],["bold",""]] "<p style=\"font-weight: bold\">foo[bar]baz</p>" queryCommandValue("bold") after assert_equals: Wrong result returned expected "" but got "false"
-PASS [["stylewithcss","false"],["bold",""]] "<p style=\"font-weight: bold\">foo[bar]baz</p>": execCommand("stylewithcss", false, "false") return value 
-PASS [["stylewithcss","false"],["bold",""]] "<p style=\"font-weight: bold\">foo[bar]baz</p>": execCommand("bold", false, "") return value 
-PASS [["stylewithcss","false"],["bold",""]] "<p style=\"font-weight: bold\">foo[bar]baz</p>" checks for modifications to non-editable content 
-FAIL [["stylewithcss","false"],["bold",""]] "<p style=\"font-weight: bold\">foo[bar]baz</p>" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<p><b>foo</b>bar<b>baz</b></p>" but got "<p><span style=\"font-weight:bold\">foo</span>bar<b>baz</b></p>"
-PASS [["stylewithcss","false"],["bold",""]] "<p style=\"font-weight: bold\">foo[bar]baz</p>" queryCommandIndeterm("stylewithcss") before 
-PASS [["stylewithcss","false"],["bold",""]] "<p style=\"font-weight: bold\">foo[bar]baz</p>" queryCommandState("stylewithcss") before 
-PASS [["stylewithcss","false"],["bold",""]] "<p style=\"font-weight: bold\">foo[bar]baz</p>" queryCommandValue("stylewithcss") before 
-PASS [["stylewithcss","false"],["bold",""]] "<p style=\"font-weight: bold\">foo[bar]baz</p>" queryCommandIndeterm("stylewithcss") after 
-PASS [["stylewithcss","false"],["bold",""]] "<p style=\"font-weight: bold\">foo[bar]baz</p>" queryCommandState("stylewithcss") after 
-PASS [["stylewithcss","false"],["bold",""]] "<p style=\"font-weight: bold\">foo[bar]baz</p>" queryCommandValue("stylewithcss") after 
-PASS [["stylewithcss","false"],["bold",""]] "<p style=\"font-weight: bold\">foo[bar]baz</p>" queryCommandIndeterm("bold") before 
-PASS [["stylewithcss","false"],["bold",""]] "<p style=\"font-weight: bold\">foo[bar]baz</p>" queryCommandState("bold") before 
-FAIL [["stylewithcss","false"],["bold",""]] "<p style=\"font-weight: bold\">foo[bar]baz</p>" queryCommandValue("bold") before assert_equals: Wrong result returned expected "" but got "true"
-PASS [["stylewithcss","false"],["bold",""]] "<p style=\"font-weight: bold\">foo[bar]baz</p>" queryCommandIndeterm("bold") after 
-PASS [["stylewithcss","false"],["bold",""]] "<p style=\"font-weight: bold\">foo[bar]baz</p>" queryCommandState("bold") after 
-FAIL [["stylewithcss","false"],["bold",""]] "<p style=\"font-weight: bold\">foo[bar]baz</p>" queryCommandValue("bold") after assert_equals: Wrong result returned expected "" but got "false"
-PASS [["bold",""]] "fo[o<b>b]ar</b>baz": execCommand("bold", false, "") return value 
-PASS [["bold",""]] "fo[o<b>b]ar</b>baz" checks for modifications to non-editable content 
-PASS [["bold",""]] "fo[o<b>b]ar</b>baz" compare innerHTML 
-FAIL [["bold",""]] "fo[o<b>b]ar</b>baz" queryCommandIndeterm("bold") before assert_equals: Wrong result returned expected true but got false
-PASS [["bold",""]] "fo[o<b>b]ar</b>baz" queryCommandState("bold") before 
-FAIL [["bold",""]] "fo[o<b>b]ar</b>baz" queryCommandValue("bold") before assert_equals: Wrong result returned expected "" but got "false"
-PASS [["bold",""]] "fo[o<b>b]ar</b>baz" queryCommandIndeterm("bold") after 
-PASS [["bold",""]] "fo[o<b>b]ar</b>baz" queryCommandState("bold") after 
-FAIL [["bold",""]] "fo[o<b>b]ar</b>baz" queryCommandValue("bold") after assert_equals: Wrong result returned expected "" but got "true"
-PASS [["bold",""]] "foo<b>ba[r</b>b]az": execCommand("bold", false, "") return value 
-PASS [["bold",""]] "foo<b>ba[r</b>b]az" checks for modifications to non-editable content 
-FAIL [["bold",""]] "foo<b>ba[r</b>b]az" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "foo<b>barb</b>az" but got "foo<b>ba</b>rbaz"
-FAIL [["bold",""]] "foo<b>ba[r</b>b]az" queryCommandIndeterm("bold") before assert_equals: Wrong result returned expected true but got false
-FAIL [["bold",""]] "foo<b>ba[r</b>b]az" queryCommandState("bold") before assert_equals: Wrong result returned expected false but got true
-FAIL [["bold",""]] "foo<b>ba[r</b>b]az" queryCommandValue("bold") before assert_equals: Wrong result returned expected "" but got "true"
-PASS [["bold",""]] "foo<b>ba[r</b>b]az" queryCommandIndeterm("bold") after 
-FAIL [["bold",""]] "foo<b>ba[r</b>b]az" queryCommandState("bold") after assert_equals: Wrong result returned expected true but got false
-FAIL [["bold",""]] "foo<b>ba[r</b>b]az" queryCommandValue("bold") after assert_equals: Wrong result returned expected "" but got "false"
-PASS [["stylewithcss","true"],["bold",""]] "fo[o<b>bar</b>b]az": execCommand("stylewithcss", false, "true") return value 
-PASS [["stylewithcss","true"],["bold",""]] "fo[o<b>bar</b>b]az": execCommand("bold", false, "") return value 
-PASS [["stylewithcss","true"],["bold",""]] "fo[o<b>bar</b>b]az" checks for modifications to non-editable content 
-PASS [["stylewithcss","true"],["bold",""]] "fo[o<b>bar</b>b]az" compare innerHTML 
-PASS [["stylewithcss","true"],["bold",""]] "fo[o<b>bar</b>b]az" queryCommandIndeterm("stylewithcss") before 
-PASS [["stylewithcss","true"],["bold",""]] "fo[o<b>bar</b>b]az" queryCommandState("stylewithcss") before 
-PASS [["stylewithcss","true"],["bold",""]] "fo[o<b>bar</b>b]az" queryCommandValue("stylewithcss") before 
-PASS [["stylewithcss","true"],["bold",""]] "fo[o<b>bar</b>b]az" queryCommandIndeterm("stylewithcss") after 
-PASS [["stylewithcss","true"],["bold",""]] "fo[o<b>bar</b>b]az" queryCommandState("stylewithcss") after 
-PASS [["stylewithcss","true"],["bold",""]] "fo[o<b>bar</b>b]az" queryCommandValue("stylewithcss") after 
-FAIL [["stylewithcss","true"],["bold",""]] "fo[o<b>bar</b>b]az" queryCommandIndeterm("bold") before assert_equals: Wrong result returned expected true but got false
-PASS [["stylewithcss","true"],["bold",""]] "fo[o<b>bar</b>b]az" queryCommandState("bold") before 
-FAIL [["stylewithcss","true"],["bold",""]] "fo[o<b>bar</b>b]az" queryCommandValue("bold") before assert_equals: Wrong result returned expected "" but got "false"
-PASS [["stylewithcss","true"],["bold",""]] "fo[o<b>bar</b>b]az" queryCommandIndeterm("bold") after 
-PASS [["stylewithcss","true"],["bold",""]] "fo[o<b>bar</b>b]az" queryCommandState("bold") after 
-FAIL [["stylewithcss","true"],["bold",""]] "fo[o<b>bar</b>b]az" queryCommandValue("bold") after assert_equals: Wrong result returned expected "" but got "true"
-PASS [["stylewithcss","false"],["bold",""]] "fo[o<b>bar</b>b]az": execCommand("stylewithcss", false, "false") return value 
-PASS [["stylewithcss","false"],["bold",""]] "fo[o<b>bar</b>b]az": execCommand("bold", false, "") return value 
-PASS [["stylewithcss","false"],["bold",""]] "fo[o<b>bar</b>b]az" checks for modifications to non-editable content 
-PASS [["stylewithcss","false"],["bold",""]] "fo[o<b>bar</b>b]az" compare innerHTML 
-PASS [["stylewithcss","false"],["bold",""]] "fo[o<b>bar</b>b]az" queryCommandIndeterm("stylewithcss") before 
-PASS [["stylewithcss","false"],["bold",""]] "fo[o<b>bar</b>b]az" queryCommandState("stylewithcss") before 
-PASS [["stylewithcss","false"],["bold",""]] "fo[o<b>bar</b>b]az" queryCommandValue("stylewithcss") before 
-PASS [["stylewithcss","false"],["bold",""]] "fo[o<b>bar</b>b]az" queryCommandIndeterm("stylewithcss") after 
-PASS [["stylewithcss","false"],["bold",""]] "fo[o<b>bar</b>b]az" queryCommandState("stylewithcss") after 
-PASS [["stylewithcss","false"],["bold",""]] "fo[o<b>bar</b>b]az" queryCommandValue("stylewithcss") after 
-FAIL [["stylewithcss","false"],["bold",""]] "fo[o<b>bar</b>b]az" queryCommandIndeterm("bold") before assert_equals: Wrong result returned expected true but got false
-PASS [["stylewithcss","false"],["bold",""]] "fo[o<b>bar</b>b]az" queryCommandState("bold") before 
-FAIL [["stylewithcss","false"],["bold",""]] "fo[o<b>bar</b>b]az" queryCommandValue("bold") before assert_equals: Wrong result returned expected "" but got "false"
-PASS [["stylewithcss","false"],["bold",""]] "fo[o<b>bar</b>b]az" queryCommandIndeterm("bold") after 
-PASS [["stylewithcss","false"],["bold",""]] "fo[o<b>bar</b>b]az" queryCommandState("bold") after 
-FAIL [["stylewithcss","false"],["bold",""]] "fo[o<b>bar</b>b]az" queryCommandValue("bold") after assert_equals: Wrong result returned expected "" but got "true"
-PASS [["stylewithcss","true"],["bold",""]] "foo[<b>b]ar</b>baz": execCommand("stylewithcss", false, "true") return value 
-PASS [["stylewithcss","true"],["bold",""]] "foo[<b>b]ar</b>baz": execCommand("bold", false, "") return value 
-PASS [["stylewithcss","true"],["bold",""]] "foo[<b>b]ar</b>baz" checks for modifications to non-editable content 
-FAIL [["stylewithcss","true"],["bold",""]] "foo[<b>b]ar</b>baz" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "foob<span style=\"font-weight:bold\">ar</span>baz" but got "foob<b>ar</b>baz"
-PASS [["stylewithcss","true"],["bold",""]] "foo[<b>b]ar</b>baz" queryCommandIndeterm("stylewithcss") before 
-PASS [["stylewithcss","true"],["bold",""]] "foo[<b>b]ar</b>baz" queryCommandState("stylewithcss") before 
-PASS [["stylewithcss","true"],["bold",""]] "foo[<b>b]ar</b>baz" queryCommandValue("stylewithcss") before 
-PASS [["stylewithcss","true"],["bold",""]] "foo[<b>b]ar</b>baz" queryCommandIndeterm("stylewithcss") after 
-PASS [["stylewithcss","true"],["bold",""]] "foo[<b>b]ar</b>baz" queryCommandState("stylewithcss") after 
-PASS [["stylewithcss","true"],["bold",""]] "foo[<b>b]ar</b>baz" queryCommandValue("stylewithcss") after 
-PASS [["stylewithcss","true"],["bold",""]] "foo[<b>b]ar</b>baz" queryCommandIndeterm("bold") before 
-PASS [["stylewithcss","true"],["bold",""]] "foo[<b>b]ar</b>baz" queryCommandState("bold") before 
-FAIL [["stylewithcss","true"],["bold",""]] "foo[<b>b]ar</b>baz" queryCommandValue("bold") before assert_equals: Wrong result returned expected "" but got "true"
-PASS [["stylewithcss","true"],["bold",""]] "foo[<b>b]ar</b>baz" queryCommandIndeterm("bold") after 
-PASS [["stylewithcss","true"],["bold",""]] "foo[<b>b]ar</b>baz" queryCommandState("bold") after 
-FAIL [["stylewithcss","true"],["bold",""]] "foo[<b>b]ar</b>baz" queryCommandValue("bold") after assert_equals: Wrong result returned expected "" but got "false"
-PASS [["stylewithcss","false"],["bold",""]] "foo[<b>b]ar</b>baz": execCommand("stylewithcss", false, "false") return value 
-PASS [["stylewithcss","false"],["bold",""]] "foo[<b>b]ar</b>baz": execCommand("bold", false, "") return value 
-PASS [["stylewithcss","false"],["bold",""]] "foo[<b>b]ar</b>baz" checks for modifications to non-editable content 
-PASS [["stylewithcss","false"],["bold",""]] "foo[<b>b]ar</b>baz" compare innerHTML 
-PASS [["stylewithcss","false"],["bold",""]] "foo[<b>b]ar</b>baz" queryCommandIndeterm("stylewithcss") before 
-PASS [["stylewithcss","false"],["bold",""]] "foo[<b>b]ar</b>baz" queryCommandState("stylewithcss") before 
-PASS [["stylewithcss","false"],["bold",""]] "foo[<b>b]ar</b>baz" queryCommandValue("stylewithcss") before 
-PASS [["stylewithcss","false"],["bold",""]] "foo[<b>b]ar</b>baz" queryCommandIndeterm("stylewithcss") after 
-PASS [["stylewithcss","false"],["bold",""]] "foo[<b>b]ar</b>baz" queryCommandState("stylewithcss") after 
-PASS [["stylewithcss","false"],["bold",""]] "foo[<b>b]ar</b>baz" queryCommandValue("stylewithcss") after 
-PASS [["stylewithcss","false"],["bold",""]] "foo[<b>b]ar</b>baz" queryCommandIndeterm("bold") before 
-PASS [["stylewithcss","false"],["bold",""]] "foo[<b>b]ar</b>baz" queryCommandState("bold") before 
-FAIL [["stylewithcss","false"],["bold",""]] "foo[<b>b]ar</b>baz" queryCommandValue("bold") before assert_equals: Wrong result returned expected "" but got "true"
-PASS [["stylewithcss","false"],["bold",""]] "foo[<b>b]ar</b>baz" queryCommandIndeterm("bold") after 
-PASS [["stylewithcss","false"],["bold",""]] "foo[<b>b]ar</b>baz" queryCommandState("bold") after 
-FAIL [["stylewithcss","false"],["bold",""]] "foo[<b>b]ar</b>baz" queryCommandValue("bold") after assert_equals: Wrong result returned expected "" but got "false"
-PASS [["stylewithcss","true"],["bold",""]] "foo<b>ba[r</b>]baz": execCommand("stylewithcss", false, "true") return value 
-PASS [["stylewithcss","true"],["bold",""]] "foo<b>ba[r</b>]baz": execCommand("bold", false, "") return value 
-PASS [["stylewithcss","true"],["bold",""]] "foo<b>ba[r</b>]baz" checks for modifications to non-editable content 
-FAIL [["stylewithcss","true"],["bold",""]] "foo<b>ba[r</b>]baz" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "foo<span style=\"font-weight:bold\">ba</span>rbaz" but got "foo<b>ba</b>rbaz"
-PASS [["stylewithcss","true"],["bold",""]] "foo<b>ba[r</b>]baz" queryCommandIndeterm("stylewithcss") before 
-PASS [["stylewithcss","true"],["bold",""]] "foo<b>ba[r</b>]baz" queryCommandState("stylewithcss") before 
-PASS [["stylewithcss","true"],["bold",""]] "foo<b>ba[r</b>]baz" queryCommandValue("stylewithcss") before 
-PASS [["stylewithcss","true"],["bold",""]] "foo<b>ba[r</b>]baz" queryCommandIndeterm("stylewithcss") after 
-PASS [["stylewithcss","true"],["bold",""]] "foo<b>ba[r</b>]baz" queryCommandState("stylewithcss") after 
-PASS [["stylewithcss","true"],["bold",""]] "foo<b>ba[r</b>]baz" queryCommandValue("stylewithcss") after 
-PASS [["stylewithcss","true"],["bold",""]] "foo<b>ba[r</b>]baz" queryCommandIndeterm("bold") before 
-PASS [["stylewithcss","true"],["bold",""]] "foo<b>ba[r</b>]baz" queryCommandState("bold") before 
-FAIL [["stylewithcss","true"],["bold",""]] "foo<b>ba[r</b>]baz" queryCommandValue("bold") before assert_equals: Wrong result returned expected "" but got "true"
-PASS [["stylewithcss","true"],["bold",""]] "foo<b>ba[r</b>]baz" queryCommandIndeterm("bold") after 
-PASS [["stylewithcss","true"],["bold",""]] "foo<b>ba[r</b>]baz" queryCommandState("bold") after 
-FAIL [["stylewithcss","true"],["bold",""]] "foo<b>ba[r</b>]baz" queryCommandValue("bold") after assert_equals: Wrong result returned expected "" but got "false"
-PASS [["stylewithcss","false"],["bold",""]] "foo<b>ba[r</b>]baz": execCommand("stylewithcss", false, "false") return value 
-PASS [["stylewithcss","false"],["bold",""]] "foo<b>ba[r</b>]baz": execCommand("bold", false, "") return value 
-PASS [["stylewithcss","false"],["bold",""]] "foo<b>ba[r</b>]baz" checks for modifications to non-editable content 
-PASS [["stylewithcss","false"],["bold",""]] "foo<b>ba[r</b>]baz" compare innerHTML 
-PASS [["stylewithcss","false"],["bold",""]] "foo<b>ba[r</b>]baz" queryCommandIndeterm("stylewithcss") before 
-PASS [["stylewithcss","false"],["bold",""]] "foo<b>ba[r</b>]baz" queryCommandState("stylewithcss") before 
-PASS [["stylewithcss","false"],["bold",""]] "foo<b>ba[r</b>]baz" queryCommandValue("stylewithcss") before 
-PASS [["stylewithcss","false"],["bold",""]] "foo<b>ba[r</b>]baz" queryCommandIndeterm("stylewithcss") after 
-PASS [["stylewithcss","false"],["bold",""]] "foo<b>ba[r</b>]baz" queryCommandState("stylewithcss") after 
-PASS [["stylewithcss","false"],["bold",""]] "foo<b>ba[r</b>]baz" queryCommandValue("stylewithcss") after 
-PASS [["stylewithcss","false"],["bold",""]] "foo<b>ba[r</b>]baz" queryCommandIndeterm("bold") before 
-PASS [["stylewithcss","false"],["bold",""]] "foo<b>ba[r</b>]baz" queryCommandState("bold") before 
-FAIL [["stylewithcss","false"],["bold",""]] "foo<b>ba[r</b>]baz" queryCommandValue("bold") before assert_equals: Wrong result returned expected "" but got "true"
-PASS [["stylewithcss","false"],["bold",""]] "foo<b>ba[r</b>]baz" queryCommandIndeterm("bold") after 
-PASS [["stylewithcss","false"],["bold",""]] "foo<b>ba[r</b>]baz" queryCommandState("bold") after 
-FAIL [["stylewithcss","false"],["bold",""]] "foo<b>ba[r</b>]baz" queryCommandValue("bold") after assert_equals: Wrong result returned expected "" but got "false"
-PASS [["stylewithcss","true"],["bold",""]] "foo{<b>bar</b>}baz": execCommand("stylewithcss", false, "true") return value 
-PASS [["stylewithcss","true"],["bold",""]] "foo{<b>bar</b>}baz": execCommand("bold", false, "") return value 
-PASS [["stylewithcss","true"],["bold",""]] "foo{<b>bar</b>}baz" checks for modifications to non-editable content 
-PASS [["stylewithcss","true"],["bold",""]] "foo{<b>bar</b>}baz" compare innerHTML 
-PASS [["stylewithcss","true"],["bold",""]] "foo{<b>bar</b>}baz" queryCommandIndeterm("stylewithcss") before 
-PASS [["stylewithcss","true"],["bold",""]] "foo{<b>bar</b>}baz" queryCommandState("stylewithcss") before 
-PASS [["stylewithcss","true"],["bold",""]] "foo{<b>bar</b>}baz" queryCommandValue("stylewithcss") before 
-PASS [["stylewithcss","true"],["bold",""]] "foo{<b>bar</b>}baz" queryCommandIndeterm("stylewithcss") after 
-PASS [["stylewithcss","true"],["bold",""]] "foo{<b>bar</b>}baz" queryCommandState("stylewithcss") after 
-PASS [["stylewithcss","true"],["bold",""]] "foo{<b>bar</b>}baz" queryCommandValue("stylewithcss") after 
-PASS [["stylewithcss","true"],["bold",""]] "foo{<b>bar</b>}baz" queryCommandIndeterm("bold") before 
-PASS [["stylewithcss","true"],["bold",""]] "foo{<b>bar</b>}baz" queryCommandState("bold") before 
-FAIL [["stylewithcss","true"],["bold",""]] "foo{<b>bar</b>}baz" queryCommandValue("bold") before assert_equals: Wrong result returned expected "" but got "true"
-PASS [["stylewithcss","true"],["bold",""]] "foo{<b>bar</b>}baz" queryCommandIndeterm("bold") after 
-PASS [["stylewithcss","true"],["bold",""]] "foo{<b>bar</b>}baz" queryCommandState("bold") after 
-FAIL [["stylewithcss","true"],["bold",""]] "foo{<b>bar</b>}baz" queryCommandValue("bold") after assert_equals: Wrong result returned expected "" but got "false"
-PASS [["stylewithcss","false"],["bold",""]] "foo{<b>bar</b>}baz": execCommand("stylewithcss", false, "false") return value 
-PASS [["stylewithcss","false"],["bold",""]] "foo{<b>bar</b>}baz": execCommand("bold", false, "") return value 
-PASS [["stylewithcss","false"],["bold",""]] "foo{<b>bar</b>}baz" checks for modifications to non-editable content 
-PASS [["stylewithcss","false"],["bold",""]] "foo{<b>bar</b>}baz" compare innerHTML 
-PASS [["stylewithcss","false"],["bold",""]] "foo{<b>bar</b>}baz" queryCommandIndeterm("stylewithcss") before 
-PASS [["stylewithcss","false"],["bold",""]] "foo{<b>bar</b>}baz" queryCommandState("stylewithcss") before 
-PASS [["stylewithcss","false"],["bold",""]] "foo{<b>bar</b>}baz" queryCommandValue("stylewithcss") before 
-PASS [["stylewithcss","false"],["bold",""]] "foo{<b>bar</b>}baz" queryCommandIndeterm("stylewithcss") after 
-PASS [["stylewithcss","false"],["bold",""]] "foo{<b>bar</b>}baz" queryCommandState("stylewithcss") after 
-PASS [["stylewithcss","false"],["bold",""]] "foo{<b>bar</b>}baz" queryCommandValue("stylewithcss") after 
-PASS [["stylewithcss","false"],["bold",""]] "foo{<b>bar</b>}baz" queryCommandIndeterm("bold") before 
-PASS [["stylewithcss","false"],["bold",""]] "foo{<b>bar</b>}baz" queryCommandState("bold") before 
-FAIL [["stylewithcss","false"],["bold",""]] "foo{<b>bar</b>}baz" queryCommandValue("bold") before assert_equals: Wrong result returned expected "" but got "true"
-PASS [["stylewithcss","false"],["bold",""]] "foo{<b>bar</b>}baz" queryCommandIndeterm("bold") after 
-PASS [["stylewithcss","false"],["bold",""]] "foo{<b>bar</b>}baz" queryCommandState("bold") after 
-FAIL [["stylewithcss","false"],["bold",""]] "foo{<b>bar</b>}baz" queryCommandValue("bold") after assert_equals: Wrong result returned expected "" but got "false"
-PASS [["bold",""]] "fo[o<span style=font-weight:bold>b]ar</span>baz": execCommand("bold", false, "") return value 
-PASS [["bold",""]] "fo[o<span style=font-weight:bold>b]ar</span>baz" checks for modifications to non-editable content 
-FAIL [["bold",""]] "fo[o<span style=font-weight:bold>b]ar</span>baz" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "fo<span style=\"font-weight:bold\">obar</span>baz" but got "fo<b>ob</b><span style=\"font-weight:bold\">ar</span>baz"
-FAIL [["bold",""]] "fo[o<span style=font-weight:bold>b]ar</span>baz" queryCommandIndeterm("bold") before assert_equals: Wrong result returned expected true but got false
-PASS [["bold",""]] "fo[o<span style=font-weight:bold>b]ar</span>baz" queryCommandState("bold") before 
-FAIL [["bold",""]] "fo[o<span style=font-weight:bold>b]ar</span>baz" queryCommandValue("bold") before assert_equals: Wrong result returned expected "" but got "false"
-PASS [["bold",""]] "fo[o<span style=font-weight:bold>b]ar</span>baz" queryCommandIndeterm("bold") after 
-PASS [["bold",""]] "fo[o<span style=font-weight:bold>b]ar</span>baz" queryCommandState("bold") after 
-FAIL [["bold",""]] "fo[o<span style=font-weight:bold>b]ar</span>baz" queryCommandValue("bold") after assert_equals: Wrong result returned expected "" but got "true"
-PASS [["bold",""]] "<span style=font-weight:800>fo[o</span><span style=font-weight:900>b]ar</span>": execCommand("bold", false, "") return value 
-PASS [["bold",""]] "<span style=font-weight:800>fo[o</span><span style=font-weight:900>b]ar</span>" checks for modifications to non-editable content 
-PASS [["bold",""]] "<span style=font-weight:800>fo[o</span><span style=font-weight:900>b]ar</span>" compare innerHTML 
-PASS [["bold",""]] "<span style=font-weight:800>fo[o</span><span style=font-weight:900>b]ar</span>" queryCommandIndeterm("bold") before 
-PASS [["bold",""]] "<span style=font-weight:800>fo[o</span><span style=font-weight:900>b]ar</span>" queryCommandState("bold") before 
-FAIL [["bold",""]] "<span style=font-weight:800>fo[o</span><span style=font-weight:900>b]ar</span>" queryCommandValue("bold") before assert_equals: Wrong result returned expected "" but got "true"
-PASS [["bold",""]] "<span style=font-weight:800>fo[o</span><span style=font-weight:900>b]ar</span>" queryCommandIndeterm("bold") after 
-PASS [["bold",""]] "<span style=font-weight:800>fo[o</span><span style=font-weight:900>b]ar</span>" queryCommandState("bold") after 
-FAIL [["bold",""]] "<span style=font-weight:800>fo[o</span><span style=font-weight:900>b]ar</span>" queryCommandValue("bold") after assert_equals: Wrong result returned expected "" but got "false"
-PASS [["stylewithcss","true"],["bold",""]] "<span style=font-weight:700>fo[o</span><span style=font-weight:800>b]ar</span>": execCommand("stylewithcss", false, "true") return value 
-PASS [["stylewithcss","true"],["bold",""]] "<span style=font-weight:700>fo[o</span><span style=font-weight:800>b]ar</span>": execCommand("bold", false, "") return value 
-PASS [["stylewithcss","true"],["bold",""]] "<span style=font-weight:700>fo[o</span><span style=font-weight:800>b]ar</span>" checks for modifications to non-editable content 
-PASS [["stylewithcss","true"],["bold",""]] "<span style=font-weight:700>fo[o</span><span style=font-weight:800>b]ar</span>" compare innerHTML 
-PASS [["stylewithcss","true"],["bold",""]] "<span style=font-weight:700>fo[o</span><span style=font-weight:800>b]ar</span>" queryCommandIndeterm("stylewithcss") before 
-PASS [["stylewithcss","true"],["bold",""]] "<span style=font-weight:700>fo[o</span><span style=font-weight:800>b]ar</span>" queryCommandState("stylewithcss") before 
-PASS [["stylewithcss","true"],["bold",""]] "<span style=font-weight:700>fo[o</span><span style=font-weight:800>b]ar</span>" queryCommandValue("stylewithcss") before 
-PASS [["stylewithcss","true"],["bold",""]] "<span style=font-weight:700>fo[o</span><span style=font-weight:800>b]ar</span>" queryCommandIndeterm("stylewithcss") after 
-PASS [["stylewithcss","true"],["bold",""]] "<span style=font-weight:700>fo[o</span><span style=font-weight:800>b]ar</span>" queryCommandState("stylewithcss") after 
-PASS [["stylewithcss","true"],["bold",""]] "<span style=font-weight:700>fo[o</span><span style=font-weight:800>b]ar</span>" queryCommandValue("stylewithcss") after 
-PASS [["stylewithcss","true"],["bold",""]] "<span style=font-weight:700>fo[o</span><span style=font-weight:800>b]ar</span>" queryCommandIndeterm("bold") before 
-PASS [["stylewithcss","true"],["bold",""]] "<span style=font-weight:700>fo[o</span><span style=font-weight:800>b]ar</span>" queryCommandState("bold") before 
-FAIL [["stylewithcss","true"],["bold",""]] "<span style=font-weight:700>fo[o</span><span style=font-weight:800>b]ar</span>" queryCommandValue("bold") before assert_equals: Wrong result returned expected "" but got "true"
-PASS [["stylewithcss","true"],["bold",""]] "<span style=font-weight:700>fo[o</span><span style=font-weight:800>b]ar</span>" queryCommandIndeterm("bold") after 
-PASS [["stylewithcss","true"],["bold",""]] "<span style=font-weight:700>fo[o</span><span style=font-weight:800>b]ar</span>" queryCommandState("bold") after 
-FAIL [["stylewithcss","true"],["bold",""]] "<span style=font-weight:700>fo[o</span><span style=font-weight:800>b]ar</span>" queryCommandValue("bold") after assert_equals: Wrong result returned expected "" but got "false"
-PASS [["stylewithcss","false"],["bold",""]] "<span style=font-weight:700>fo[o</span><span style=font-weight:800>b]ar</span>": execCommand("stylewithcss", false, "false") return value 
-PASS [["stylewithcss","false"],["bold",""]] "<span style=font-weight:700>fo[o</span><span style=font-weight:800>b]ar</span>": execCommand("bold", false, "") return value 
-PASS [["stylewithcss","false"],["bold",""]] "<span style=font-weight:700>fo[o</span><span style=font-weight:800>b]ar</span>" checks for modifications to non-editable content 
-FAIL [["stylewithcss","false"],["bold",""]] "<span style=font-weight:700>fo[o</span><span style=font-weight:800>b]ar</span>" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<b>fo</b>ob<span style=\"font-weight:800\">ar</span>" but got "<span style=\"font-weight:700\">fo</span>ob<span style=\"font-weight:800\">ar</span>"
-PASS [["stylewithcss","false"],["bold",""]] "<span style=font-weight:700>fo[o</span><span style=font-weight:800>b]ar</span>" queryCommandIndeterm("stylewithcss") before 
-PASS [["stylewithcss","false"],["bold",""]] "<span style=font-weight:700>fo[o</span><span style=font-weight:800>b]ar</span>" queryCommandState("stylewithcss") before 
-PASS [["stylewithcss","false"],["bold",""]] "<span style=font-weight:700>fo[o</span><span style=font-weight:800>b]ar</span>" queryCommandValue("stylewithcss") before 
-PASS [["stylewithcss","false"],["bold",""]] "<span style=font-weight:700>fo[o</span><span style=font-weight:800>b]ar</span>" queryCommandIndeterm("stylewithcss") after 
-PASS [["stylewithcss","false"],["bold",""]] "<span style=font-weight:700>fo[o</span><span style=font-weight:800>b]ar</span>" queryCommandState("stylewithcss") after 
-PASS [["stylewithcss","false"],["bold",""]] "<span style=font-weight:700>fo[o</span><span style=font-weight:800>b]ar</span>" queryCommandValue("stylewithcss") after 
-PASS [["stylewithcss","false"],["bold",""]] "<span style=font-weight:700>fo[o</span><span style=font-weight:800>b]ar</span>" queryCommandIndeterm("bold") before 
-PASS [["stylewithcss","false"],["bold",""]] "<span style=font-weight:700>fo[o</span><span style=font-weight:800>b]ar</span>" queryCommandState("bold") before 
-FAIL [["stylewithcss","false"],["bold",""]] "<span style=font-weight:700>fo[o</span><span style=font-weight:800>b]ar</span>" queryCommandValue("bold") before assert_equals: Wrong result returned expected "" but got "true"
-PASS [["stylewithcss","false"],["bold",""]] "<span style=font-weight:700>fo[o</span><span style=font-weight:800>b]ar</span>" queryCommandIndeterm("bold") after 
-PASS [["stylewithcss","false"],["bold",""]] "<span style=font-weight:700>fo[o</span><span style=font-weight:800>b]ar</span>" queryCommandState("bold") after 
-FAIL [["stylewithcss","false"],["bold",""]] "<span style=font-weight:700>fo[o</span><span style=font-weight:800>b]ar</span>" queryCommandValue("bold") after assert_equals: Wrong result returned expected "" but got "false"
-PASS [["stylewithcss","true"],["bold",""]] "<span style=font-weight:600>fo[o</span><span style=font-weight:700>b]ar</span>": execCommand("stylewithcss", false, "true") return value 
-PASS [["stylewithcss","true"],["bold",""]] "<span style=font-weight:600>fo[o</span><span style=font-weight:700>b]ar</span>": execCommand("bold", false, "") return value 
-PASS [["stylewithcss","true"],["bold",""]] "<span style=font-weight:600>fo[o</span><span style=font-weight:700>b]ar</span>" checks for modifications to non-editable content 
-PASS [["stylewithcss","true"],["bold",""]] "<span style=font-weight:600>fo[o</span><span style=font-weight:700>b]ar</span>" compare innerHTML 
-PASS [["stylewithcss","true"],["bold",""]] "<span style=font-weight:600>fo[o</span><span style=font-weight:700>b]ar</span>" queryCommandIndeterm("stylewithcss") before 
-PASS [["stylewithcss","true"],["bold",""]] "<span style=font-weight:600>fo[o</span><span style=font-weight:700>b]ar</span>" queryCommandState("stylewithcss") before 
-PASS [["stylewithcss","true"],["bold",""]] "<span style=font-weight:600>fo[o</span><span style=font-weight:700>b]ar</span>" queryCommandValue("stylewithcss") before 
-PASS [["stylewithcss","true"],["bold",""]] "<span style=font-weight:600>fo[o</span><span style=font-weight:700>b]ar</span>" queryCommandIndeterm("stylewithcss") after 
-PASS [["stylewithcss","true"],["bold",""]] "<span style=font-weight:600>fo[o</span><span style=font-weight:700>b]ar</span>" queryCommandState("stylewithcss") after 
-PASS [["stylewithcss","true"],["bold",""]] "<span style=font-weight:600>fo[o</span><span style=font-weight:700>b]ar</span>" queryCommandValue("stylewithcss") after 
-PASS [["stylewithcss","true"],["bold",""]] "<span style=font-weight:600>fo[o</span><span style=font-weight:700>b]ar</span>" queryCommandIndeterm("bold") before 
-PASS [["stylewithcss","true"],["bold",""]] "<span style=font-weight:600>fo[o</span><span style=font-weight:700>b]ar</span>" queryCommandState("bold") before 
-FAIL [["stylewithcss","true"],["bold",""]] "<span style=font-weight:600>fo[o</span><span style=font-weight:700>b]ar</span>" queryCommandValue("bold") before assert_equals: Wrong result returned expected "" but got "true"
-PASS [["stylewithcss","true"],["bold",""]] "<span style=font-weight:600>fo[o</span><span style=font-weight:700>b]ar</span>" queryCommandIndeterm("bold") after 
-PASS [["stylewithcss","true"],["bold",""]] "<span style=font-weight:600>fo[o</span><span style=font-weight:700>b]ar</span>" queryCommandState("bold") after 
-FAIL [["stylewithcss","true"],["bold",""]] "<span style=font-weight:600>fo[o</span><span style=font-weight:700>b]ar</span>" queryCommandValue("bold") after assert_equals: Wrong result returned expected "" but got "false"
-PASS [["stylewithcss","false"],["bold",""]] "<span style=font-weight:600>fo[o</span><span style=font-weight:700>b]ar</span>": execCommand("stylewithcss", false, "false") return value 
-PASS [["stylewithcss","false"],["bold",""]] "<span style=font-weight:600>fo[o</span><span style=font-weight:700>b]ar</span>": execCommand("bold", false, "") return value 
-PASS [["stylewithcss","false"],["bold",""]] "<span style=font-weight:600>fo[o</span><span style=font-weight:700>b]ar</span>" checks for modifications to non-editable content 
-FAIL [["stylewithcss","false"],["bold",""]] "<span style=font-weight:600>fo[o</span><span style=font-weight:700>b]ar</span>" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<span style=\"font-weight:600\">fo</span>ob<b>ar</b>" but got "<span style=\"font-weight:600\">fo</span>ob<span style=\"font-weight:700\">ar</span>"
-PASS [["stylewithcss","false"],["bold",""]] "<span style=font-weight:600>fo[o</span><span style=font-weight:700>b]ar</span>" queryCommandIndeterm("stylewithcss") before 
-PASS [["stylewithcss","false"],["bold",""]] "<span style=font-weight:600>fo[o</span><span style=font-weight:700>b]ar</span>" queryCommandState("stylewithcss") before 
-PASS [["stylewithcss","false"],["bold",""]] "<span style=font-weight:600>fo[o</span><span style=font-weight:700>b]ar</span>" queryCommandValue("stylewithcss") before 
-PASS [["stylewithcss","false"],["bold",""]] "<span style=font-weight:600>fo[o</span><span style=font-weight:700>b]ar</span>" queryCommandIndeterm("stylewithcss") after 
-PASS [["stylewithcss","false"],["bold",""]] "<span style=font-weight:600>fo[o</span><span style=font-weight:700>b]ar</span>" queryCommandState("stylewithcss") after 
-PASS [["stylewithcss","false"],["bold",""]] "<span style=font-weight:600>fo[o</span><span style=font-weight:700>b]ar</span>" queryCommandValue("stylewithcss") after 
-PASS [["stylewithcss","false"],["bold",""]] "<span style=font-weight:600>fo[o</span><span style=font-weight:700>b]ar</span>" queryCommandIndeterm("bold") before 
-PASS [["stylewithcss","false"],["bold",""]] "<span style=font-weight:600>fo[o</span><span style=font-weight:700>b]ar</span>" queryCommandState("bold") before 
-FAIL [["stylewithcss","false"],["bold",""]] "<span style=font-weight:600>fo[o</span><span style=font-weight:700>b]ar</span>" queryCommandValue("bold") before assert_equals: Wrong result returned expected "" but got "true"
-PASS [["stylewithcss","false"],["bold",""]] "<span style=font-weight:600>fo[o</span><span style=font-weight:700>b]ar</span>" queryCommandIndeterm("bold") after 
-PASS [["stylewithcss","false"],["bold",""]] "<span style=font-weight:600>fo[o</span><span style=font-weight:700>b]ar</span>" queryCommandState("bold") after 
-FAIL [["stylewithcss","false"],["bold",""]] "<span style=font-weight:600>fo[o</span><span style=font-weight:700>b]ar</span>" queryCommandValue("bold") after assert_equals: Wrong result returned expected "" but got "false"
-PASS [["stylewithcss","true"],["bold",""]] "<span style=font-weight:500>fo[o</span><span style=font-weight:600>b]ar</span>": execCommand("stylewithcss", false, "true") return value 
-PASS [["stylewithcss","true"],["bold",""]] "<span style=font-weight:500>fo[o</span><span style=font-weight:600>b]ar</span>": execCommand("bold", false, "") return value 
-PASS [["stylewithcss","true"],["bold",""]] "<span style=font-weight:500>fo[o</span><span style=font-weight:600>b]ar</span>" checks for modifications to non-editable content 
-FAIL [["stylewithcss","true"],["bold",""]] "<span style=font-weight:500>fo[o</span><span style=font-weight:600>b]ar</span>" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<span style=\"font-weight:500\">fo<span style=\"font-weight:bold\">o</span></span><span style=\"font-weight:600\"><span style=\"font-weight:bold\">b</span>ar</span>" but got "<span style=\"font-weight:500\">fo</span><span style=\"font-weight:bold\">ob</span><span style=\"font-weight:600\">ar</span>"
-PASS [["stylewithcss","true"],["bold",""]] "<span style=font-weight:500>fo[o</span><span style=font-weight:600>b]ar</span>" queryCommandIndeterm("stylewithcss") before 
-PASS [["stylewithcss","true"],["bold",""]] "<span style=font-weight:500>fo[o</span><span style=font-weight:600>b]ar</span>" queryCommandState("stylewithcss") before 
-PASS [["stylewithcss","true"],["bold",""]] "<span style=font-weight:500>fo[o</span><span style=font-weight:600>b]ar</span>" queryCommandValue("stylewithcss") before 
-PASS [["stylewithcss","true"],["bold",""]] "<span style=font-weight:500>fo[o</span><span style=font-weight:600>b]ar</span>" queryCommandIndeterm("stylewithcss") after 
-PASS [["stylewithcss","true"],["bold",""]] "<span style=font-weight:500>fo[o</span><span style=font-weight:600>b]ar</span>" queryCommandState("stylewithcss") after 
-PASS [["stylewithcss","true"],["bold",""]] "<span style=font-weight:500>fo[o</span><span style=font-weight:600>b]ar</span>" queryCommandValue("stylewithcss") after 
-FAIL [["stylewithcss","true"],["bold",""]] "<span style=font-weight:500>fo[o</span><span style=font-weight:600>b]ar</span>" queryCommandIndeterm("bold") before assert_equals: Wrong result returned expected true but got false
-PASS [["stylewithcss","true"],["bold",""]] "<span style=font-weight:500>fo[o</span><span style=font-weight:600>b]ar</span>" queryCommandState("bold") before 
-FAIL [["stylewithcss","true"],["bold",""]] "<span style=font-weight:500>fo[o</span><span style=font-weight:600>b]ar</span>" queryCommandValue("bold") before assert_equals: Wrong result returned expected "" but got "false"
-PASS [["stylewithcss","true"],["bold",""]] "<span style=font-weight:500>fo[o</span><span style=font-weight:600>b]ar</span>" queryCommandIndeterm("bold") after 
-PASS [["stylewithcss","true"],["bold",""]] "<span style=font-weight:500>fo[o</span><span style=font-weight:600>b]ar</span>" queryCommandState("bold") after 
-FAIL [["stylewithcss","true"],["bold",""]] "<span style=font-weight:500>fo[o</span><span style=font-weight:600>b]ar</span>" queryCommandValue("bold") after assert_equals: Wrong result returned expected "" but got "true"
-PASS [["stylewithcss","false"],["bold",""]] "<span style=font-weight:500>fo[o</span><span style=font-weight:600>b]ar</span>": execCommand("stylewithcss", false, "false") return value 
-PASS [["stylewithcss","false"],["bold",""]] "<span style=font-weight:500>fo[o</span><span style=font-weight:600>b]ar</span>": execCommand("bold", false, "") return value 
-PASS [["stylewithcss","false"],["bold",""]] "<span style=font-weight:500>fo[o</span><span style=font-weight:600>b]ar</span>" checks for modifications to non-editable content 
-FAIL [["stylewithcss","false"],["bold",""]] "<span style=font-weight:500>fo[o</span><span style=font-weight:600>b]ar</span>" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<span style=\"font-weight:500\">fo<b>o</b></span><span style=\"font-weight:600\"><b>b</b>ar</span>" but got "<span style=\"font-weight:500\">fo</span><b>ob</b><span style=\"font-weight:600\">ar</span>"
-PASS [["stylewithcss","false"],["bold",""]] "<span style=font-weight:500>fo[o</span><span style=font-weight:600>b]ar</span>" queryCommandIndeterm("stylewithcss") before 
-PASS [["stylewithcss","false"],["bold",""]] "<span style=font-weight:500>fo[o</span><span style=font-weight:600>b]ar</span>" queryCommandState("stylewithcss") before 
-PASS [["stylewithcss","false"],["bold",""]] "<span style=font-weight:500>fo[o</span><span style=font-weight:600>b]ar</span>" queryCommandValue("stylewithcss") before 
-PASS [["stylewithcss","false"],["bold",""]] "<span style=font-weight:500>fo[o</span><span style=font-weight:600>b]ar</span>" queryCommandIndeterm("stylewithcss") after 
-PASS [["stylewithcss","false"],["bold",""]] "<span style=font-weight:500>fo[o</span><span style=font-weight:600>b]ar</span>" queryCommandState("stylewithcss") after 
-PASS [["stylewithcss","false"],["bold",""]] "<span style=font-weight:500>fo[o</span><span style=font-weight:600>b]ar</span>" queryCommandValue("stylewithcss") after 
-FAIL [["stylewithcss","false"],["bold",""]] "<span style=font-weight:500>fo[o</span><span style=font-weight:600>b]ar</span>" queryCommandIndeterm("bold") before assert_equals: Wrong result returned expected true but got false
-PASS [["stylewithcss","false"],["bold",""]] "<span style=font-weight:500>fo[o</span><span style=font-weight:600>b]ar</span>" queryCommandState("bold") before 
-FAIL [["stylewithcss","false"],["bold",""]] "<span style=font-weight:500>fo[o</span><span style=font-weight:600>b]ar</span>" queryCommandValue("bold") before assert_equals: Wrong result returned expected "" but got "false"
-PASS [["stylewithcss","false"],["bold",""]] "<span style=font-weight:500>fo[o</span><span style=font-weight:600>b]ar</span>" queryCommandIndeterm("bold") after 
-PASS [["stylewithcss","false"],["bold",""]] "<span style=font-weight:500>fo[o</span><span style=font-weight:600>b]ar</span>" queryCommandState("bold") after 
-FAIL [["stylewithcss","false"],["bold",""]] "<span style=font-weight:500>fo[o</span><span style=font-weight:600>b]ar</span>" queryCommandValue("bold") after assert_equals: Wrong result returned expected "" but got "true"
-PASS [["stylewithcss","true"],["bold",""]] "<span style=font-weight:400>fo[o</span><span style=font-weight:500>b]ar</span>": execCommand("stylewithcss", false, "true") return value 
-PASS [["stylewithcss","true"],["bold",""]] "<span style=font-weight:400>fo[o</span><span style=font-weight:500>b]ar</span>": execCommand("bold", false, "") return value 
-PASS [["stylewithcss","true"],["bold",""]] "<span style=font-weight:400>fo[o</span><span style=font-weight:500>b]ar</span>" checks for modifications to non-editable content 
-FAIL [["stylewithcss","true"],["bold",""]] "<span style=font-weight:400>fo[o</span><span style=font-weight:500>b]ar</span>" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<span style=\"font-weight:400\">fo<span style=\"font-weight:bold\">o</span></span><span style=\"font-weight:500\"><span style=\"font-weight:bold\">b</span>ar</span>" but got "<span style=\"font-weight:400\">fo</span><span style=\"font-weight:bold\">ob</span><span style=\"font-weight:500\">ar</span>"
-PASS [["stylewithcss","true"],["bold",""]] "<span style=font-weight:400>fo[o</span><span style=font-weight:500>b]ar</span>" queryCommandIndeterm("stylewithcss") before 
-PASS [["stylewithcss","true"],["bold",""]] "<span style=font-weight:400>fo[o</span><span style=font-weight:500>b]ar</span>" queryCommandState("stylewithcss") before 
-PASS [["stylewithcss","true"],["bold",""]] "<span style=font-weight:400>fo[o</span><span style=font-weight:500>b]ar</span>" queryCommandValue("stylewithcss") before 
-PASS [["stylewithcss","true"],["bold",""]] "<span style=font-weight:400>fo[o</span><span style=font-weight:500>b]ar</span>" queryCommandIndeterm("stylewithcss") after 
-PASS [["stylewithcss","true"],["bold",""]] "<span style=font-weight:400>fo[o</span><span style=font-weight:500>b]ar</span>" queryCommandState("stylewithcss") after 
-PASS [["stylewithcss","true"],["bold",""]] "<span style=font-weight:400>fo[o</span><span style=font-weight:500>b]ar</span>" queryCommandValue("stylewithcss") after 
-PASS [["stylewithcss","true"],["bold",""]] "<span style=font-weight:400>fo[o</span><span style=font-weight:500>b]ar</span>" queryCommandIndeterm("bold") before 
-PASS [["stylewithcss","true"],["bold",""]] "<span style=font-weight:400>fo[o</span><span style=font-weight:500>b]ar</span>" queryCommandState("bold") before 
-FAIL [["stylewithcss","true"],["bold",""]] "<span style=font-weight:400>fo[o</span><span style=font-weight:500>b]ar</span>" queryCommandValue("bold") before assert_equals: Wrong result returned expected "" but got "false"
-PASS [["stylewithcss","true"],["bold",""]] "<span style=font-weight:400>fo[o</span><span style=font-weight:500>b]ar</span>" queryCommandIndeterm("bold") after 
-PASS [["stylewithcss","true"],["bold",""]] "<span style=font-weight:400>fo[o</span><span style=font-weight:500>b]ar</span>" queryCommandState("bold") after 
-FAIL [["stylewithcss","true"],["bold",""]] "<span style=font-weight:400>fo[o</span><span style=font-weight:500>b]ar</span>" queryCommandValue("bold") after assert_equals: Wrong result returned expected "" but got "true"
-PASS [["stylewithcss","false"],["bold",""]] "<span style=font-weight:400>fo[o</span><span style=font-weight:500>b]ar</span>": execCommand("stylewithcss", false, "false") return value 
-PASS [["stylewithcss","false"],["bold",""]] "<span style=font-weight:400>fo[o</span><span style=font-weight:500>b]ar</span>": execCommand("bold", false, "") return value 
-PASS [["stylewithcss","false"],["bold",""]] "<span style=font-weight:400>fo[o</span><span style=font-weight:500>b]ar</span>" checks for modifications to non-editable content 
-FAIL [["stylewithcss","false"],["bold",""]] "<span style=font-weight:400>fo[o</span><span style=font-weight:500>b]ar</span>" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<span style=\"font-weight:400\">fo<b>o</b></span><span style=\"font-weight:500\"><b>b</b>ar</span>" but got "<span style=\"font-weight:400\">fo</span><b>ob</b><span style=\"font-weight:500\">ar</span>"
-PASS [["stylewithcss","false"],["bold",""]] "<span style=font-weight:400>fo[o</span><span style=font-weight:500>b]ar</span>" queryCommandIndeterm("stylewithcss") before 
-PASS [["stylewithcss","false"],["bold",""]] "<span style=font-weight:400>fo[o</span><span style=font-weight:500>b]ar</span>" queryCommandState("stylewithcss") before 
-PASS [["stylewithcss","false"],["bold",""]] "<span style=font-weight:400>fo[o</span><span style=font-weight:500>b]ar</span>" queryCommandValue("stylewithcss") before 
-PASS [["stylewithcss","false"],["bold",""]] "<span style=font-weight:400>fo[o</span><span style=font-weight:500>b]ar</span>" queryCommandIndeterm("stylewithcss") after 
-PASS [["stylewithcss","false"],["bold",""]] "<span style=font-weight:400>fo[o</span><span style=font-weight:500>b]ar</span>" queryCommandState("stylewithcss") after 
-PASS [["stylewithcss","false"],["bold",""]] "<span style=font-weight:400>fo[o</span><span style=font-weight:500>b]ar</span>" queryCommandValue("stylewithcss") after 
-PASS [["stylewithcss","false"],["bold",""]] "<span style=font-weight:400>fo[o</span><span style=font-weight:500>b]ar</span>" queryCommandIndeterm("bold") before 
-PASS [["stylewithcss","false"],["bold",""]] "<span style=font-weight:400>fo[o</span><span style=font-weight:500>b]ar</span>" queryCommandState("bold") before 
-FAIL [["stylewithcss","false"],["bold",""]] "<span style=font-weight:400>fo[o</span><span style=font-weight:500>b]ar</span>" queryCommandValue("bold") before assert_equals: Wrong result returned expected "" but got "false"
-PASS [["stylewithcss","false"],["bold",""]] "<span style=font-weight:400>fo[o</span><span style=font-weight:500>b]ar</span>" queryCommandIndeterm("bold") after 
-PASS [["stylewithcss","false"],["bold",""]] "<span style=font-weight:400>fo[o</span><span style=font-weight:500>b]ar</span>" queryCommandState("bold") after 
-FAIL [["stylewithcss","false"],["bold",""]] "<span style=font-weight:400>fo[o</span><span style=font-weight:500>b]ar</span>" queryCommandValue("bold") after assert_equals: Wrong result returned expected "" but got "true"
-PASS [["stylewithcss","true"],["bold",""]] "<span style=font-weight:300>fo[o</span><span style=font-weight:400>b]ar</span>": execCommand("stylewithcss", false, "true") return value 
-PASS [["stylewithcss","true"],["bold",""]] "<span style=font-weight:300>fo[o</span><span style=font-weight:400>b]ar</span>": execCommand("bold", false, "") return value 
-PASS [["stylewithcss","true"],["bold",""]] "<span style=font-weight:300>fo[o</span><span style=font-weight:400>b]ar</span>" checks for modifications to non-editable content 
-FAIL [["stylewithcss","true"],["bold",""]] "<span style=font-weight:300>fo[o</span><span style=font-weight:400>b]ar</span>" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<span style=\"font-weight:300\">fo<span style=\"font-weight:bold\">o</span></span><span style=\"font-weight:400\"><span style=\"font-weight:bold\">b</span>ar</span>" but got "<span style=\"font-weight:300\">fo</span><span style=\"font-weight:bold\">ob</span><span style=\"font-weight:400\">ar</span>"
-PASS [["stylewithcss","true"],["bold",""]] "<span style=font-weight:300>fo[o</span><span style=font-weight:400>b]ar</span>" queryCommandIndeterm("stylewithcss") before 
-PASS [["stylewithcss","true"],["bold",""]] "<span style=font-weight:300>fo[o</span><span style=font-weight:400>b]ar</span>" queryCommandState("stylewithcss") before 
-PASS [["stylewithcss","true"],["bold",""]] "<span style=font-weight:300>fo[o</span><span style=font-weight:400>b]ar</span>" queryCommandValue("stylewithcss") before 
-PASS [["stylewithcss","true"],["bold",""]] "<span style=font-weight:300>fo[o</span><span style=font-weight:400>b]ar</span>" queryCommandIndeterm("stylewithcss") after 
-PASS [["stylewithcss","true"],["bold",""]] "<span style=font-weight:300>fo[o</span><span style=font-weight:400>b]ar</span>" queryCommandState("stylewithcss") after 
-PASS [["stylewithcss","true"],["bold",""]] "<span style=font-weight:300>fo[o</span><span style=font-weight:400>b]ar</span>" queryCommandValue("stylewithcss") after 
-PASS [["stylewithcss","true"],["bold",""]] "<span style=font-weight:300>fo[o</span><span style=font-weight:400>b]ar</span>" queryCommandIndeterm("bold") before 
-PASS [["stylewithcss","true"],["bold",""]] "<span style=font-weight:300>fo[o</span><span style=font-weight:400>b]ar</span>" queryCommandState("bold") before 
-FAIL [["stylewithcss","true"],["bold",""]] "<span style=font-weight:300>fo[o</span><span style=font-weight:400>b]ar</span>" queryCommandValue("bold") before assert_equals: Wrong result returned expected "" but got "false"
-PASS [["stylewithcss","true"],["bold",""]] "<span style=font-weight:300>fo[o</span><span style=font-weight:400>b]ar</span>" queryCommandIndeterm("bold") after 
-PASS [["stylewithcss","true"],["bold",""]] "<span style=font-weight:300>fo[o</span><span style=font-weight:400>b]ar</span>" queryCommandState("bold") after 
-FAIL [["stylewithcss","true"],["bold",""]] "<span style=font-weight:300>fo[o</span><span style=font-weight:400>b]ar</span>" queryCommandValue("bold") after assert_equals: Wrong result returned expected "" but got "true"
-PASS [["stylewithcss","false"],["bold",""]] "<span style=font-weight:300>fo[o</span><span style=font-weight:400>b]ar</span>": execCommand("stylewithcss", false, "false") return value 
-PASS [["stylewithcss","false"],["bold",""]] "<span style=font-weight:300>fo[o</span><span style=font-weight:400>b]ar</span>": execCommand("bold", false, "") return value 
-PASS [["stylewithcss","false"],["bold",""]] "<span style=font-weight:300>fo[o</span><span style=font-weight:400>b]ar</span>" checks for modifications to non-editable content 
-FAIL [["stylewithcss","false"],["bold",""]] "<span style=font-weight:300>fo[o</span><span style=font-weight:400>b]ar</span>" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<span style=\"font-weight:300\">fo<b>o</b></span><span style=\"font-weight:400\"><b>b</b>ar</span>" but got "<span style=\"font-weight:300\">fo</span><b>ob</b><span style=\"font-weight:400\">ar</span>"
-PASS [["stylewithcss","false"],["bold",""]] "<span style=font-weight:300>fo[o</span><span style=font-weight:400>b]ar</span>" queryCommandIndeterm("stylewithcss") before 
-PASS [["stylewithcss","false"],["bold",""]] "<span style=font-weight:300>fo[o</span><span style=font-weight:400>b]ar</span>" queryCommandState("stylewithcss") before 
-PASS [["stylewithcss","false"],["bold",""]] "<span style=font-weight:300>fo[o</span><span style=font-weight:400>b]ar</span>" queryCommandValue("stylewithcss") before 
-PASS [["stylewithcss","false"],["bold",""]] "<span style=font-weight:300>fo[o</span><span style=font-weight:400>b]ar</span>" queryCommandIndeterm("stylewithcss") after 
-PASS [["stylewithcss","false"],["bold",""]] "<span style=font-weight:300>fo[o</span><span style=font-weight:400>b]ar</span>" queryCommandState("stylewithcss") after 
-PASS [["stylewithcss","false"],["bold",""]] "<span style=font-weight:300>fo[o</span><span style=font-weight:400>b]ar</span>" queryCommandValue("stylewithcss") after 
-PASS [["stylewithcss","false"],["bold",""]] "<span style=font-weight:300>fo[o</span><span style=font-weight:400>b]ar</span>" queryCommandIndeterm("bold") before 
-PASS [["stylewithcss","false"],["bold",""]] "<span style=font-weight:300>fo[o</span><span style=font-weight:400>b]ar</span>" queryCommandState("bold") before 
-FAIL [["stylewithcss","false"],["bold",""]] "<span style=font-weight:300>fo[o</span><span style=font-weight:400>b]ar</span>" queryCommandValue("bold") before assert_equals: Wrong result returned expected "" but got "false"
-PASS [["stylewithcss","false"],["bold",""]] "<span style=font-weight:300>fo[o</span><span style=font-weight:400>b]ar</span>" queryCommandIndeterm("bold") after 
-PASS [["stylewithcss","false"],["bold",""]] "<span style=font-weight:300>fo[o</span><span style=font-weight:400>b]ar</span>" queryCommandState("bold") after 
-FAIL [["stylewithcss","false"],["bold",""]] "<span style=font-weight:300>fo[o</span><span style=font-weight:400>b]ar</span>" queryCommandValue("bold") after assert_equals: Wrong result returned expected "" but got "true"
-PASS [["stylewithcss","true"],["bold",""]] "<span style=font-weight:200>fo[o</span><span style=font-weight:300>b]ar</span>": execCommand("stylewithcss", false, "true") return value 
-PASS [["stylewithcss","true"],["bold",""]] "<span style=font-weight:200>fo[o</span><span style=font-weight:300>b]ar</span>": execCommand("bold", false, "") return value 
-PASS [["stylewithcss","true"],["bold",""]] "<span style=font-weight:200>fo[o</span><span style=font-weight:300>b]ar</span>" checks for modifications to non-editable content 
-FAIL [["stylewithcss","true"],["bold",""]] "<span style=font-weight:200>fo[o</span><span style=font-weight:300>b]ar</span>" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<span style=\"font-weight:200\">fo<span style=\"font-weight:bold\">o</span></span><span style=\"font-weight:300\"><span style=\"font-weight:bold\">b</span>ar</span>" but got "<span style=\"font-weight:200\">fo</span><span style=\"font-weight:bold\">ob</span><span style=\"font-weight:300\">ar</span>"
-PASS [["stylewithcss","true"],["bold",""]] "<span style=font-weight:200>fo[o</span><span style=font-weight:300>b]ar</span>" queryCommandIndeterm("stylewithcss") before 
-PASS [["stylewithcss","true"],["bold",""]] "<span style=font-weight:200>fo[o</span><span style=font-weight:300>b]ar</span>" queryCommandState("stylewithcss") before 
-PASS [["stylewithcss","true"],["bold",""]] "<span style=font-weight:200>fo[o</span><span style=font-weight:300>b]ar</span>" queryCommandValue("stylewithcss") before 
-PASS [["stylewithcss","true"],["bold",""]] "<span style=font-weight:200>fo[o</span><span style=font-weight:300>b]ar</span>" queryCommandIndeterm("stylewithcss") after 
-PASS [["stylewithcss","true"],["bold",""]] "<span style=font-weight:200>fo[o</span><span style=font-weight:300>b]ar</span>" queryCommandState("stylewithcss") after 
-PASS [["stylewithcss","true"],["bold",""]] "<span style=font-weight:200>fo[o</span><span style=font-weight:300>b]ar</span>" queryCommandValue("stylewithcss") after 
-PASS [["stylewithcss","true"],["bold",""]] "<span style=font-weight:200>fo[o</span><span style=font-weight:300>b]ar</span>" queryCommandIndeterm("bold") before 
-PASS [["stylewithcss","true"],["bold",""]] "<span style=font-weight:200>fo[o</span><span style=font-weight:300>b]ar</span>" queryCommandState("bold") before 
-FAIL [["stylewithcss","true"],["bold",""]] "<span style=font-weight:200>fo[o</span><span style=font-weight:300>b]ar</span>" queryCommandValue("bold") before assert_equals: Wrong result returned expected "" but got "false"
-PASS [["stylewithcss","true"],["bold",""]] "<span style=font-weight:200>fo[o</span><span style=font-weight:300>b]ar</span>" queryCommandIndeterm("bold") after 
-PASS [["stylewithcss","true"],["bold",""]] "<span style=font-weight:200>fo[o</span><span style=font-weight:300>b]ar</span>" queryCommandState("bold") after 
-FAIL [["stylewithcss","true"],["bold",""]] "<span style=font-weight:200>fo[o</span><span style=font-weight:300>b]ar</span>" queryCommandValue("bold") after assert_equals: Wrong result returned expected "" but got "true"
-PASS [["stylewithcss","false"],["bold",""]] "<span style=font-weight:200>fo[o</span><span style=font-weight:300>b]ar</span>": execCommand("stylewithcss", false, "false") return value 
-PASS [["stylewithcss","false"],["bold",""]] "<span style=font-weight:200>fo[o</span><span style=font-weight:300>b]ar</span>": execCommand("bold", false, "") return value 
-PASS [["stylewithcss","false"],["bold",""]] "<span style=font-weight:200>fo[o</span><span style=font-weight:300>b]ar</span>" checks for modifications to non-editable content 
-FAIL [["stylewithcss","false"],["bold",""]] "<span style=font-weight:200>fo[o</span><span style=font-weight:300>b]ar</span>" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<span style=\"font-weight:200\">fo<b>o</b></span><span style=\"font-weight:300\"><b>b</b>ar</span>" but got "<span style=\"font-weight:200\">fo</span><b>ob</b><span style=\"font-weight:300\">ar</span>"
-PASS [["stylewithcss","false"],["bold",""]] "<span style=font-weight:200>fo[o</span><span style=font-weight:300>b]ar</span>" queryCommandIndeterm("stylewithcss") before 
-PASS [["stylewithcss","false"],["bold",""]] "<span style=font-weight:200>fo[o</span><span style=font-weight:300>b]ar</span>" queryCommandState("stylewithcss") before 
-PASS [["stylewithcss","false"],["bold",""]] "<span style=font-weight:200>fo[o</span><span style=font-weight:300>b]ar</span>" queryCommandValue("stylewithcss") before 
-PASS [["stylewithcss","false"],["bold",""]] "<span style=font-weight:200>fo[o</span><span style=font-weight:300>b]ar</span>" queryCommandIndeterm("stylewithcss") after 
-PASS [["stylewithcss","false"],["bold",""]] "<span style=font-weight:200>fo[o</span><span style=font-weight:300>b]ar</span>" queryCommandState("stylewithcss") after 
-PASS [["stylewithcss","false"],["bold",""]] "<span style=font-weight:200>fo[o</span><span style=font-weight:300>b]ar</span>" queryCommandValue("stylewithcss") after 
-PASS [["stylewithcss","false"],["bold",""]] "<span style=font-weight:200>fo[o</span><span style=font-weight:300>b]ar</span>" queryCommandIndeterm("bold") before 
-PASS [["stylewithcss","false"],["bold",""]] "<span style=font-weight:200>fo[o</span><span style=font-weight:300>b]ar</span>" queryCommandState("bold") before 
-FAIL [["stylewithcss","false"],["bold",""]] "<span style=font-weight:200>fo[o</span><span style=font-weight:300>b]ar</span>" queryCommandValue("bold") before assert_equals: Wrong result returned expected "" but got "false"
-PASS [["stylewithcss","false"],["bold",""]] "<span style=font-weight:200>fo[o</span><span style=font-weight:300>b]ar</span>" queryCommandIndeterm("bold") after 
-PASS [["stylewithcss","false"],["bold",""]] "<span style=font-weight:200>fo[o</span><span style=font-weight:300>b]ar</span>" queryCommandState("bold") after 
-FAIL [["stylewithcss","false"],["bold",""]] "<span style=font-weight:200>fo[o</span><span style=font-weight:300>b]ar</span>" queryCommandValue("bold") after assert_equals: Wrong result returned expected "" but got "true"
-PASS [["stylewithcss","true"],["bold",""]] "<span style=font-weight:100>fo[o</span><span style=font-weight:200>b]ar</span>": execCommand("stylewithcss", false, "true") return value 
-PASS [["stylewithcss","true"],["bold",""]] "<span style=font-weight:100>fo[o</span><span style=font-weight:200>b]ar</span>": execCommand("bold", false, "") return value 
-PASS [["stylewithcss","true"],["bold",""]] "<span style=font-weight:100>fo[o</span><span style=font-weight:200>b]ar</span>" checks for modifications to non-editable content 
-FAIL [["stylewithcss","true"],["bold",""]] "<span style=font-weight:100>fo[o</span><span style=font-weight:200>b]ar</span>" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<span style=\"font-weight:100\">fo<span style=\"font-weight:bold\">o</span></span><span style=\"font-weight:200\"><span style=\"font-weight:bold\">b</span>ar</span>" but got "<span style=\"font-weight:100\">fo</span><span style=\"font-weight:bold\">ob</span><span style=\"font-weight:200\">ar</span>"
-PASS [["stylewithcss","true"],["bold",""]] "<span style=font-weight:100>fo[o</span><span style=font-weight:200>b]ar</span>" queryCommandIndeterm("stylewithcss") before 
-PASS [["stylewithcss","true"],["bold",""]] "<span style=font-weight:100>fo[o</span><span style=font-weight:200>b]ar</span>" queryCommandState("stylewithcss") before 
-PASS [["stylewithcss","true"],["bold",""]] "<span style=font-weight:100>fo[o</span><span style=font-weight:200>b]ar</span>" queryCommandValue("stylewithcss") before 
-PASS [["stylewithcss","true"],["bold",""]] "<span style=font-weight:100>fo[o</span><span style=font-weight:200>b]ar</span>" queryCommandIndeterm("stylewithcss") after 
-PASS [["stylewithcss","true"],["bold",""]] "<span style=font-weight:100>fo[o</span><span style=font-weight:200>b]ar</span>" queryCommandState("stylewithcss") after 
-PASS [["stylewithcss","true"],["bold",""]] "<span style=font-weight:100>fo[o</span><span style=font-weight:200>b]ar</span>" queryCommandValue("stylewithcss") after 
-PASS [["stylewithcss","true"],["bold",""]] "<span style=font-weight:100>fo[o</span><span style=font-weight:200>b]ar</span>" queryCommandIndeterm("bold") before 
-PASS [["stylewithcss","true"],["bold",""]] "<span style=font-weight:100>fo[o</span><span style=font-weight:200>b]ar</span>" queryCommandState("bold") before 
-FAIL [["stylewithcss","true"],["bold",""]] "<span style=font-weight:100>fo[o</span><span style=font-weight:200>b]ar</span>" queryCommandValue("bold") before assert_equals: Wrong result returned expected "" but got "false"
-PASS [["stylewithcss","true"],["bold",""]] "<span style=font-weight:100>fo[o</span><span style=font-weight:200>b]ar</span>" queryCommandIndeterm("bold") after 
-PASS [["stylewithcss","true"],["bold",""]] "<span style=font-weight:100>fo[o</span><span style=font-weight:200>b]ar</span>" queryCommandState("bold") after 
-FAIL [["stylewithcss","true"],["bold",""]] "<span style=font-weight:100>fo[o</span><span style=font-weight:200>b]ar</span>" queryCommandValue("bold") after assert_equals: Wrong result returned expected "" but got "true"
-PASS [["stylewithcss","false"],["bold",""]] "<span style=font-weight:100>fo[o</span><span style=font-weight:200>b]ar</span>": execCommand("stylewithcss", false, "false") return value 
-PASS [["stylewithcss","false"],["bold",""]] "<span style=font-weight:100>fo[o</span><span style=font-weight:200>b]ar</span>": execCommand("bold", false, "") return value 
-PASS [["stylewithcss","false"],["bold",""]] "<span style=font-weight:100>fo[o</span><span style=font-weight:200>b]ar</span>" checks for modifications to non-editable content 
-FAIL [["stylewithcss","false"],["bold",""]] "<span style=font-weight:100>fo[o</span><span style=font-weight:200>b]ar</span>" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<span style=\"font-weight:100\">fo<b>o</b></span><span style=\"font-weight:200\"><b>b</b>ar</span>" but got "<span style=\"font-weight:100\">fo</span><b>ob</b><span style=\"font-weight:200\">ar</span>"
-PASS [["stylewithcss","false"],["bold",""]] "<span style=font-weight:100>fo[o</span><span style=font-weight:200>b]ar</span>" queryCommandIndeterm("stylewithcss") before 
-PASS [["stylewithcss","false"],["bold",""]] "<span style=font-weight:100>fo[o</span><span style=font-weight:200>b]ar</span>" queryCommandState("stylewithcss") before 
-PASS [["stylewithcss","false"],["bold",""]] "<span style=font-weight:100>fo[o</span><span style=font-weight:200>b]ar</span>" queryCommandValue("stylewithcss") before 
-PASS [["stylewithcss","false"],["bold",""]] "<span style=font-weight:100>fo[o</span><span style=font-weight:200>b]ar</span>" queryCommandIndeterm("stylewithcss") after 
-PASS [["stylewithcss","false"],["bold",""]] "<span style=font-weight:100>fo[o</span><span style=font-weight:200>b]ar</span>" queryCommandState("stylewithcss") after 
-PASS [["stylewithcss","false"],["bold",""]] "<span style=font-weight:100>fo[o</span><span style=font-weight:200>b]ar</span>" queryCommandValue("stylewithcss") after 
-PASS [["stylewithcss","false"],["bold",""]] "<span style=font-weight:100>fo[o</span><span style=font-weight:200>b]ar</span>" queryCommandIndeterm("bold") before 
-PASS [["stylewithcss","false"],["bold",""]] "<span style=font-weight:100>fo[o</span><span style=font-weight:200>b]ar</span>" queryCommandState("bold") before 
-FAIL [["stylewithcss","false"],["bold",""]] "<span style=font-weight:100>fo[o</span><span style=font-weight:200>b]ar</span>" queryCommandValue("bold") before assert_equals: Wrong result returned expected "" but got "false"
-PASS [["stylewithcss","false"],["bold",""]] "<span style=font-weight:100>fo[o</span><span style=font-weight:200>b]ar</span>" queryCommandIndeterm("bold") after 
-PASS [["stylewithcss","false"],["bold",""]] "<span style=font-weight:100>fo[o</span><span style=font-weight:200>b]ar</span>" queryCommandState("bold") after 
-FAIL [["stylewithcss","false"],["bold",""]] "<span style=font-weight:100>fo[o</span><span style=font-weight:200>b]ar</span>" queryCommandValue("bold") after assert_equals: Wrong result returned expected "" but got "true"
-Harness: the test ran to completion.
-
diff --git a/third_party/WebKit/LayoutTests/external/wpt/editing/run/fontsize-expected.txt b/third_party/WebKit/LayoutTests/external/wpt/editing/run/fontsize-expected.txt
index 7a0fdde..9861bc6 100644
--- a/third_party/WebKit/LayoutTests/external/wpt/editing/run/fontsize-expected.txt
+++ b/third_party/WebKit/LayoutTests/external/wpt/editing/run/fontsize-expected.txt
@@ -1,5 +1,5 @@
 This is a testharness.js-based test.
-Found 2370 tests; 2281 PASS, 89 FAIL, 0 TIMEOUT, 0 NOTRUN.
+Found 2370 tests; 2276 PASS, 94 FAIL, 0 TIMEOUT, 0 NOTRUN.
 PASS [["fontsize","4"]] "foo[]bar": execCommand("fontsize", false, "4") return value 
 PASS [["fontsize","4"]] "foo[]bar" checks for modifications to non-editable content 
 PASS [["fontsize","4"]] "foo[]bar" compare innerHTML 
@@ -1578,7 +1578,7 @@
 PASS [["stylewithcss","true"],["fontsize","4"]] "<p style=\"font-size: xx-small\">foo[bar]baz</p>": execCommand("stylewithcss", false, "true") return value 
 PASS [["stylewithcss","true"],["fontsize","4"]] "<p style=\"font-size: xx-small\">foo[bar]baz</p>": execCommand("fontsize", false, "4") return value 
 PASS [["stylewithcss","true"],["fontsize","4"]] "<p style=\"font-size: xx-small\">foo[bar]baz</p>" checks for modifications to non-editable content 
-FAIL [["stylewithcss","true"],["fontsize","4"]] "<p style=\"font-size: xx-small\">foo[bar]baz</p>" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<p style=\"font-size:xx-small\">foo<span style=\"font-size:large\">bar</span>baz</p>" but got "<p><span style=\"font-size:xx-small\">foo</span><span style=\"font-size:large\">bar</span><span style=\"font-size:xx-small\">baz</span></p>"
+FAIL [["stylewithcss","true"],["fontsize","4"]] "<p style=\"font-size: xx-small\">foo[bar]baz</p>" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<p style=\"font-size:xx-small\">foo<span style=\"font-size:large\">bar</span>baz</p>" but got "<p style=\"\"><span style=\"font-size:xx-small\">foo</span><span style=\"font-size:large\">bar</span><span style=\"font-size:xx-small\">baz</span></p>"
 PASS [["stylewithcss","true"],["fontsize","4"]] "<p style=\"font-size: xx-small\">foo[bar]baz</p>" queryCommandIndeterm("stylewithcss") before 
 PASS [["stylewithcss","true"],["fontsize","4"]] "<p style=\"font-size: xx-small\">foo[bar]baz</p>" queryCommandState("stylewithcss") before 
 PASS [["stylewithcss","true"],["fontsize","4"]] "<p style=\"font-size: xx-small\">foo[bar]baz</p>" queryCommandValue("stylewithcss") before 
@@ -1594,7 +1594,7 @@
 PASS [["stylewithcss","false"],["fontsize","4"]] "<p style=\"font-size: xx-small\">foo[bar]baz</p>": execCommand("stylewithcss", false, "false") return value 
 PASS [["stylewithcss","false"],["fontsize","4"]] "<p style=\"font-size: xx-small\">foo[bar]baz</p>": execCommand("fontsize", false, "4") return value 
 PASS [["stylewithcss","false"],["fontsize","4"]] "<p style=\"font-size: xx-small\">foo[bar]baz</p>" checks for modifications to non-editable content 
-FAIL [["stylewithcss","false"],["fontsize","4"]] "<p style=\"font-size: xx-small\">foo[bar]baz</p>" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<p style=\"font-size:xx-small\">foo<font size=\"4\">bar</font>baz</p>" but got "<p><span style=\"font-size:xx-small\">foo</span><font size=\"4\">bar</font><span style=\"font-size:xx-small\">baz</span></p>"
+FAIL [["stylewithcss","false"],["fontsize","4"]] "<p style=\"font-size: xx-small\">foo[bar]baz</p>" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<p style=\"font-size:xx-small\">foo<font size=\"4\">bar</font>baz</p>" but got "<p style=\"\"><span style=\"font-size:xx-small\">foo</span><font size=\"4\">bar</font><span style=\"font-size:xx-small\">baz</span></p>"
 PASS [["stylewithcss","false"],["fontsize","4"]] "<p style=\"font-size: xx-small\">foo[bar]baz</p>" queryCommandIndeterm("stylewithcss") before 
 PASS [["stylewithcss","false"],["fontsize","4"]] "<p style=\"font-size: xx-small\">foo[bar]baz</p>" queryCommandState("stylewithcss") before 
 PASS [["stylewithcss","false"],["fontsize","4"]] "<p style=\"font-size: xx-small\">foo[bar]baz</p>" queryCommandValue("stylewithcss") before 
@@ -1610,7 +1610,7 @@
 PASS [["stylewithcss","true"],["fontsize","4"]] "<p style=\"font-size: medium\">foo[bar]baz</p>": execCommand("stylewithcss", false, "true") return value 
 PASS [["stylewithcss","true"],["fontsize","4"]] "<p style=\"font-size: medium\">foo[bar]baz</p>": execCommand("fontsize", false, "4") return value 
 PASS [["stylewithcss","true"],["fontsize","4"]] "<p style=\"font-size: medium\">foo[bar]baz</p>" checks for modifications to non-editable content 
-FAIL [["stylewithcss","true"],["fontsize","4"]] "<p style=\"font-size: medium\">foo[bar]baz</p>" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<p style=\"font-size:medium\">foo<span style=\"font-size:large\">bar</span>baz</p>" but got "<p><span style=\"font-size:medium\">foo</span><span style=\"font-size:large\">bar</span>baz</p>"
+FAIL [["stylewithcss","true"],["fontsize","4"]] "<p style=\"font-size: medium\">foo[bar]baz</p>" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<p style=\"font-size:medium\">foo<span style=\"font-size:large\">bar</span>baz</p>" but got "<p style=\"\"><span style=\"font-size:medium\">foo</span><span style=\"font-size:large\">bar</span>baz</p>"
 PASS [["stylewithcss","true"],["fontsize","4"]] "<p style=\"font-size: medium\">foo[bar]baz</p>" queryCommandIndeterm("stylewithcss") before 
 PASS [["stylewithcss","true"],["fontsize","4"]] "<p style=\"font-size: medium\">foo[bar]baz</p>" queryCommandState("stylewithcss") before 
 PASS [["stylewithcss","true"],["fontsize","4"]] "<p style=\"font-size: medium\">foo[bar]baz</p>" queryCommandValue("stylewithcss") before 
@@ -1626,7 +1626,7 @@
 PASS [["stylewithcss","false"],["fontsize","4"]] "<p style=\"font-size: medium\">foo[bar]baz</p>": execCommand("stylewithcss", false, "false") return value 
 PASS [["stylewithcss","false"],["fontsize","4"]] "<p style=\"font-size: medium\">foo[bar]baz</p>": execCommand("fontsize", false, "4") return value 
 PASS [["stylewithcss","false"],["fontsize","4"]] "<p style=\"font-size: medium\">foo[bar]baz</p>" checks for modifications to non-editable content 
-FAIL [["stylewithcss","false"],["fontsize","4"]] "<p style=\"font-size: medium\">foo[bar]baz</p>" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<p style=\"font-size:medium\">foo<font size=\"4\">bar</font>baz</p>" but got "<p><span style=\"font-size:medium\">foo</span><font size=\"4\">bar</font>baz</p>"
+FAIL [["stylewithcss","false"],["fontsize","4"]] "<p style=\"font-size: medium\">foo[bar]baz</p>" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<p style=\"font-size:medium\">foo<font size=\"4\">bar</font>baz</p>" but got "<p style=\"\"><span style=\"font-size:medium\">foo</span><font size=\"4\">bar</font>baz</p>"
 PASS [["stylewithcss","false"],["fontsize","4"]] "<p style=\"font-size: medium\">foo[bar]baz</p>" queryCommandIndeterm("stylewithcss") before 
 PASS [["stylewithcss","false"],["fontsize","4"]] "<p style=\"font-size: medium\">foo[bar]baz</p>" queryCommandState("stylewithcss") before 
 PASS [["stylewithcss","false"],["fontsize","4"]] "<p style=\"font-size: medium\">foo[bar]baz</p>" queryCommandValue("stylewithcss") before 
@@ -1641,7 +1641,7 @@
 PASS [["stylewithcss","false"],["fontsize","4"]] "<p style=\"font-size: medium\">foo[bar]baz</p>" queryCommandValue("fontsize") after 
 PASS [["fontsize","4"]] "<p style=\"font-size: large\">foo[bar]baz</p>": execCommand("fontsize", false, "4") return value 
 PASS [["fontsize","4"]] "<p style=\"font-size: large\">foo[bar]baz</p>" checks for modifications to non-editable content 
-FAIL [["fontsize","4"]] "<p style=\"font-size: large\">foo[bar]baz</p>" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<p style=\"font-size:large\">foobarbaz</p>" but got "<p><span style=\"font-size:large\">foo</span><font size=\"4\">barbaz</font></p>"
+FAIL [["fontsize","4"]] "<p style=\"font-size: large\">foo[bar]baz</p>" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<p style=\"font-size:large\">foobarbaz</p>" but got "<p style=\"\"><span style=\"font-size:large\">foo</span><font size=\"4\">barbaz</font></p>"
 PASS [["fontsize","4"]] "<p style=\"font-size: large\">foo[bar]baz</p>" queryCommandIndeterm("fontsize") before 
 PASS [["fontsize","4"]] "<p style=\"font-size: large\">foo[bar]baz</p>" queryCommandState("fontsize") before 
 PASS [["fontsize","4"]] "<p style=\"font-size: large\">foo[bar]baz</p>" queryCommandValue("fontsize") before 
@@ -1651,7 +1651,7 @@
 PASS [["stylewithcss","true"],["fontsize","4"]] "<p style=\"font-size: 2em\">foo[bar]baz</p>": execCommand("stylewithcss", false, "true") return value 
 PASS [["stylewithcss","true"],["fontsize","4"]] "<p style=\"font-size: 2em\">foo[bar]baz</p>": execCommand("fontsize", false, "4") return value 
 PASS [["stylewithcss","true"],["fontsize","4"]] "<p style=\"font-size: 2em\">foo[bar]baz</p>" checks for modifications to non-editable content 
-FAIL [["stylewithcss","true"],["fontsize","4"]] "<p style=\"font-size: 2em\">foo[bar]baz</p>" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<p style=\"font-size:2em\">foo<span style=\"font-size:large\">bar</span>baz</p>" but got "<p><span style=\"font-size:2em\">foo</span><span style=\"font-size:large\">bar</span><span style=\"font-size:2em\">baz</span></p>"
+FAIL [["stylewithcss","true"],["fontsize","4"]] "<p style=\"font-size: 2em\">foo[bar]baz</p>" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<p style=\"font-size:2em\">foo<span style=\"font-size:large\">bar</span>baz</p>" but got "<p style=\"\"><span style=\"font-size:2em\">foo</span><span style=\"font-size:large\">bar</span><span style=\"font-size:2em\">baz</span></p>"
 PASS [["stylewithcss","true"],["fontsize","4"]] "<p style=\"font-size: 2em\">foo[bar]baz</p>" queryCommandIndeterm("stylewithcss") before 
 PASS [["stylewithcss","true"],["fontsize","4"]] "<p style=\"font-size: 2em\">foo[bar]baz</p>" queryCommandState("stylewithcss") before 
 PASS [["stylewithcss","true"],["fontsize","4"]] "<p style=\"font-size: 2em\">foo[bar]baz</p>" queryCommandValue("stylewithcss") before 
@@ -1667,7 +1667,7 @@
 PASS [["stylewithcss","false"],["fontsize","4"]] "<p style=\"font-size: 2em\">foo[bar]baz</p>": execCommand("stylewithcss", false, "false") return value 
 PASS [["stylewithcss","false"],["fontsize","4"]] "<p style=\"font-size: 2em\">foo[bar]baz</p>": execCommand("fontsize", false, "4") return value 
 PASS [["stylewithcss","false"],["fontsize","4"]] "<p style=\"font-size: 2em\">foo[bar]baz</p>" checks for modifications to non-editable content 
-FAIL [["stylewithcss","false"],["fontsize","4"]] "<p style=\"font-size: 2em\">foo[bar]baz</p>" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<p style=\"font-size:2em\">foo<font size=\"4\">bar</font>baz</p>" but got "<p><span style=\"font-size:2em\">foo</span><font size=\"4\">bar</font><span style=\"font-size:2em\">baz</span></p>"
+FAIL [["stylewithcss","false"],["fontsize","4"]] "<p style=\"font-size: 2em\">foo[bar]baz</p>" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<p style=\"font-size:2em\">foo<font size=\"4\">bar</font>baz</p>" but got "<p style=\"\"><span style=\"font-size:2em\">foo</span><font size=\"4\">bar</font><span style=\"font-size:2em\">baz</span></p>"
 PASS [["stylewithcss","false"],["fontsize","4"]] "<p style=\"font-size: 2em\">foo[bar]baz</p>" queryCommandIndeterm("stylewithcss") before 
 PASS [["stylewithcss","false"],["fontsize","4"]] "<p style=\"font-size: 2em\">foo[bar]baz</p>" queryCommandState("stylewithcss") before 
 PASS [["stylewithcss","false"],["fontsize","4"]] "<p style=\"font-size: 2em\">foo[bar]baz</p>" queryCommandValue("stylewithcss") before 
@@ -1683,7 +1683,7 @@
 PASS [["stylewithcss","true"],["fontsize","3"]] "<p style=\"font-size: xx-small\">foo[bar]baz</p>": execCommand("stylewithcss", false, "true") return value 
 PASS [["stylewithcss","true"],["fontsize","3"]] "<p style=\"font-size: xx-small\">foo[bar]baz</p>": execCommand("fontsize", false, "3") return value 
 PASS [["stylewithcss","true"],["fontsize","3"]] "<p style=\"font-size: xx-small\">foo[bar]baz</p>" checks for modifications to non-editable content 
-PASS [["stylewithcss","true"],["fontsize","3"]] "<p style=\"font-size: xx-small\">foo[bar]baz</p>" compare innerHTML 
+FAIL [["stylewithcss","true"],["fontsize","3"]] "<p style=\"font-size: xx-small\">foo[bar]baz</p>" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<p><span style=\"font-size:xx-small\">foo</span>bar<span style=\"font-size:xx-small\">baz</span></p>" but got "<p style=\"\"><span style=\"font-size:xx-small\">foo</span>bar<span style=\"font-size:xx-small\">baz</span></p>"
 PASS [["stylewithcss","true"],["fontsize","3"]] "<p style=\"font-size: xx-small\">foo[bar]baz</p>" queryCommandIndeterm("stylewithcss") before 
 PASS [["stylewithcss","true"],["fontsize","3"]] "<p style=\"font-size: xx-small\">foo[bar]baz</p>" queryCommandState("stylewithcss") before 
 PASS [["stylewithcss","true"],["fontsize","3"]] "<p style=\"font-size: xx-small\">foo[bar]baz</p>" queryCommandValue("stylewithcss") before 
@@ -1699,7 +1699,7 @@
 PASS [["stylewithcss","false"],["fontsize","3"]] "<p style=\"font-size: xx-small\">foo[bar]baz</p>": execCommand("stylewithcss", false, "false") return value 
 PASS [["stylewithcss","false"],["fontsize","3"]] "<p style=\"font-size: xx-small\">foo[bar]baz</p>": execCommand("fontsize", false, "3") return value 
 PASS [["stylewithcss","false"],["fontsize","3"]] "<p style=\"font-size: xx-small\">foo[bar]baz</p>" checks for modifications to non-editable content 
-PASS [["stylewithcss","false"],["fontsize","3"]] "<p style=\"font-size: xx-small\">foo[bar]baz</p>" compare innerHTML 
+FAIL [["stylewithcss","false"],["fontsize","3"]] "<p style=\"font-size: xx-small\">foo[bar]baz</p>" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<p><span style=\"font-size:xx-small\">foo</span>bar<span style=\"font-size:xx-small\">baz</span></p>" but got "<p style=\"\"><span style=\"font-size:xx-small\">foo</span>bar<span style=\"font-size:xx-small\">baz</span></p>"
 PASS [["stylewithcss","false"],["fontsize","3"]] "<p style=\"font-size: xx-small\">foo[bar]baz</p>" queryCommandIndeterm("stylewithcss") before 
 PASS [["stylewithcss","false"],["fontsize","3"]] "<p style=\"font-size: xx-small\">foo[bar]baz</p>" queryCommandState("stylewithcss") before 
 PASS [["stylewithcss","false"],["fontsize","3"]] "<p style=\"font-size: xx-small\">foo[bar]baz</p>" queryCommandValue("stylewithcss") before 
@@ -1714,7 +1714,7 @@
 PASS [["stylewithcss","false"],["fontsize","3"]] "<p style=\"font-size: xx-small\">foo[bar]baz</p>" queryCommandValue("fontsize") after 
 PASS [["fontsize","3"]] "<p style=\"font-size: medium\">foo[bar]baz</p>": execCommand("fontsize", false, "3") return value 
 PASS [["fontsize","3"]] "<p style=\"font-size: medium\">foo[bar]baz</p>" checks for modifications to non-editable content 
-FAIL [["fontsize","3"]] "<p style=\"font-size: medium\">foo[bar]baz</p>" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<p style=\"font-size:medium\">foobarbaz</p>" but got "<p><span style=\"font-size:medium\">foo</span>barbaz</p>"
+FAIL [["fontsize","3"]] "<p style=\"font-size: medium\">foo[bar]baz</p>" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<p style=\"font-size:medium\">foobarbaz</p>" but got "<p style=\"\"><span style=\"font-size:medium\">foo</span>barbaz</p>"
 PASS [["fontsize","3"]] "<p style=\"font-size: medium\">foo[bar]baz</p>" queryCommandIndeterm("fontsize") before 
 PASS [["fontsize","3"]] "<p style=\"font-size: medium\">foo[bar]baz</p>" queryCommandState("fontsize") before 
 PASS [["fontsize","3"]] "<p style=\"font-size: medium\">foo[bar]baz</p>" queryCommandValue("fontsize") before 
@@ -1724,7 +1724,7 @@
 PASS [["stylewithcss","true"],["fontsize","3"]] "<p style=\"font-size: large\">foo[bar]baz</p>": execCommand("stylewithcss", false, "true") return value 
 PASS [["stylewithcss","true"],["fontsize","3"]] "<p style=\"font-size: large\">foo[bar]baz</p>": execCommand("fontsize", false, "3") return value 
 PASS [["stylewithcss","true"],["fontsize","3"]] "<p style=\"font-size: large\">foo[bar]baz</p>" checks for modifications to non-editable content 
-PASS [["stylewithcss","true"],["fontsize","3"]] "<p style=\"font-size: large\">foo[bar]baz</p>" compare innerHTML 
+FAIL [["stylewithcss","true"],["fontsize","3"]] "<p style=\"font-size: large\">foo[bar]baz</p>" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<p><span style=\"font-size:large\">foo</span>bar<span style=\"font-size:large\">baz</span></p>" but got "<p style=\"\"><span style=\"font-size:large\">foo</span>bar<span style=\"font-size:large\">baz</span></p>"
 PASS [["stylewithcss","true"],["fontsize","3"]] "<p style=\"font-size: large\">foo[bar]baz</p>" queryCommandIndeterm("stylewithcss") before 
 PASS [["stylewithcss","true"],["fontsize","3"]] "<p style=\"font-size: large\">foo[bar]baz</p>" queryCommandState("stylewithcss") before 
 PASS [["stylewithcss","true"],["fontsize","3"]] "<p style=\"font-size: large\">foo[bar]baz</p>" queryCommandValue("stylewithcss") before 
@@ -1740,7 +1740,7 @@
 PASS [["stylewithcss","false"],["fontsize","3"]] "<p style=\"font-size: large\">foo[bar]baz</p>": execCommand("stylewithcss", false, "false") return value 
 PASS [["stylewithcss","false"],["fontsize","3"]] "<p style=\"font-size: large\">foo[bar]baz</p>": execCommand("fontsize", false, "3") return value 
 PASS [["stylewithcss","false"],["fontsize","3"]] "<p style=\"font-size: large\">foo[bar]baz</p>" checks for modifications to non-editable content 
-FAIL [["stylewithcss","false"],["fontsize","3"]] "<p style=\"font-size: large\">foo[bar]baz</p>" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<p><font size=\"4\">foo</font>bar<font size=\"4\">baz</font></p>" but got "<p><span style=\"font-size:large\">foo</span>bar<font size=\"4\">baz</font></p>"
+FAIL [["stylewithcss","false"],["fontsize","3"]] "<p style=\"font-size: large\">foo[bar]baz</p>" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<p><font size=\"4\">foo</font>bar<font size=\"4\">baz</font></p>" but got "<p style=\"\"><span style=\"font-size:large\">foo</span>bar<font size=\"4\">baz</font></p>"
 PASS [["stylewithcss","false"],["fontsize","3"]] "<p style=\"font-size: large\">foo[bar]baz</p>" queryCommandIndeterm("stylewithcss") before 
 PASS [["stylewithcss","false"],["fontsize","3"]] "<p style=\"font-size: large\">foo[bar]baz</p>" queryCommandState("stylewithcss") before 
 PASS [["stylewithcss","false"],["fontsize","3"]] "<p style=\"font-size: large\">foo[bar]baz</p>" queryCommandValue("stylewithcss") before 
@@ -1756,7 +1756,7 @@
 PASS [["stylewithcss","true"],["fontsize","3"]] "<p style=\"font-size: 2em\">foo[bar]baz</p>": execCommand("stylewithcss", false, "true") return value 
 PASS [["stylewithcss","true"],["fontsize","3"]] "<p style=\"font-size: 2em\">foo[bar]baz</p>": execCommand("fontsize", false, "3") return value 
 PASS [["stylewithcss","true"],["fontsize","3"]] "<p style=\"font-size: 2em\">foo[bar]baz</p>" checks for modifications to non-editable content 
-PASS [["stylewithcss","true"],["fontsize","3"]] "<p style=\"font-size: 2em\">foo[bar]baz</p>" compare innerHTML 
+FAIL [["stylewithcss","true"],["fontsize","3"]] "<p style=\"font-size: 2em\">foo[bar]baz</p>" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<p><span style=\"font-size:2em\">foo</span>bar<span style=\"font-size:2em\">baz</span></p>" but got "<p style=\"\"><span style=\"font-size:2em\">foo</span>bar<span style=\"font-size:2em\">baz</span></p>"
 PASS [["stylewithcss","true"],["fontsize","3"]] "<p style=\"font-size: 2em\">foo[bar]baz</p>" queryCommandIndeterm("stylewithcss") before 
 PASS [["stylewithcss","true"],["fontsize","3"]] "<p style=\"font-size: 2em\">foo[bar]baz</p>" queryCommandState("stylewithcss") before 
 PASS [["stylewithcss","true"],["fontsize","3"]] "<p style=\"font-size: 2em\">foo[bar]baz</p>" queryCommandValue("stylewithcss") before 
@@ -1772,7 +1772,7 @@
 PASS [["stylewithcss","false"],["fontsize","3"]] "<p style=\"font-size: 2em\">foo[bar]baz</p>": execCommand("stylewithcss", false, "false") return value 
 PASS [["stylewithcss","false"],["fontsize","3"]] "<p style=\"font-size: 2em\">foo[bar]baz</p>": execCommand("fontsize", false, "3") return value 
 PASS [["stylewithcss","false"],["fontsize","3"]] "<p style=\"font-size: 2em\">foo[bar]baz</p>" checks for modifications to non-editable content 
-PASS [["stylewithcss","false"],["fontsize","3"]] "<p style=\"font-size: 2em\">foo[bar]baz</p>" compare innerHTML 
+FAIL [["stylewithcss","false"],["fontsize","3"]] "<p style=\"font-size: 2em\">foo[bar]baz</p>" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<p><span style=\"font-size:2em\">foo</span>bar<span style=\"font-size:2em\">baz</span></p>" but got "<p style=\"\"><span style=\"font-size:2em\">foo</span>bar<span style=\"font-size:2em\">baz</span></p>"
 PASS [["stylewithcss","false"],["fontsize","3"]] "<p style=\"font-size: 2em\">foo[bar]baz</p>" queryCommandIndeterm("stylewithcss") before 
 PASS [["stylewithcss","false"],["fontsize","3"]] "<p style=\"font-size: 2em\">foo[bar]baz</p>" queryCommandState("stylewithcss") before 
 PASS [["stylewithcss","false"],["fontsize","3"]] "<p style=\"font-size: 2em\">foo[bar]baz</p>" queryCommandValue("stylewithcss") before 
diff --git a/third_party/WebKit/LayoutTests/external/wpt/editing/run/forecolor-expected.txt b/third_party/WebKit/LayoutTests/external/wpt/editing/run/forecolor-expected.txt
index 6994c8a0..b082e87 100644
--- a/third_party/WebKit/LayoutTests/external/wpt/editing/run/forecolor-expected.txt
+++ b/third_party/WebKit/LayoutTests/external/wpt/editing/run/forecolor-expected.txt
@@ -1247,7 +1247,7 @@
 PASS [["stylewithcss","false"],["forecolor","#0000FF"]] "<font color=blue>foo<font color=brown>[bar]</font>baz</font>": execCommand("stylewithcss", false, "false") return value 
 PASS [["stylewithcss","false"],["forecolor","#0000FF"]] "<font color=blue>foo<font color=brown>[bar]</font>baz</font>": execCommand("forecolor", false, "#0000FF") return value 
 PASS [["stylewithcss","false"],["forecolor","#0000FF"]] "<font color=blue>foo<font color=brown>[bar]</font>baz</font>" checks for modifications to non-editable content 
-FAIL [["stylewithcss","false"],["forecolor","#0000FF"]] "<font color=blue>foo<font color=brown>[bar]</font>baz</font>" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<font color=\"blue\">foobarbaz</font>" but got "<font color=\"#0000ff\">foo</font><font color=\"#0000ff\">bar</font><font color=\"#0000ff\">baz</font>"
+FAIL [["stylewithcss","false"],["forecolor","#0000FF"]] "<font color=blue>foo<font color=brown>[bar]</font>baz</font>" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<font color=\"blue\">foobarbaz</font>" but got "<font color=\"#0000ff\">foo</font><font style=\"\" color=\"#0000ff\">bar</font><font color=\"#0000ff\">baz</font>"
 PASS [["stylewithcss","false"],["forecolor","#0000FF"]] "<font color=blue>foo<font color=brown>[bar]</font>baz</font>" queryCommandIndeterm("stylewithcss") before 
 PASS [["stylewithcss","false"],["forecolor","#0000FF"]] "<font color=blue>foo<font color=brown>[bar]</font>baz</font>" queryCommandState("stylewithcss") before 
 PASS [["stylewithcss","false"],["forecolor","#0000FF"]] "<font color=blue>foo<font color=brown>[bar]</font>baz</font>" queryCommandValue("stylewithcss") before 
@@ -1327,7 +1327,7 @@
 PASS [["stylewithcss","true"],["forecolor","#0000FF"]] "<span style=\"color: rgb(0, 0, 255)\">foo<span id=purple>b[a]r</span>baz</span>": execCommand("stylewithcss", false, "true") return value 
 PASS [["stylewithcss","true"],["forecolor","#0000FF"]] "<span style=\"color: rgb(0, 0, 255)\">foo<span id=purple>b[a]r</span>baz</span>": execCommand("forecolor", false, "#0000FF") return value 
 PASS [["stylewithcss","true"],["forecolor","#0000FF"]] "<span style=\"color: rgb(0, 0, 255)\">foo<span id=purple>b[a]r</span>baz</span>" checks for modifications to non-editable content 
-FAIL [["stylewithcss","true"],["forecolor","#0000FF"]] "<span style=\"color: rgb(0, 0, 255)\">foo<span id=purple>b[a]r</span>baz</span>" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<span style=\"color:rgb(0, 0, 255)\">foo<span id=\"purple\">b<span style=\"color:rgb(0, 0, 255)\">a</span>r</span>baz</span>" but got "<span style=\"color:rgb(0, 0, 255)\">foo</span><span id=\"purple\"><span style=\"color:rgb(0, 0, 255)\">bar</span></span><span style=\"color:rgb(0, 0, 255)\">baz</span>"
+FAIL [["stylewithcss","true"],["forecolor","#0000FF"]] "<span style=\"color: rgb(0, 0, 255)\">foo<span id=purple>b[a]r</span>baz</span>" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<span style=\"color:rgb(0, 0, 255)\">foo<span id=\"purple\">b<span style=\"color:rgb(0, 0, 255)\">a</span>r</span>baz</span>" but got "<span style=\"color:rgb(0, 0, 255)\">foo</span><span id=\"purple\" style=\"\"><span style=\"color:rgb(0, 0, 255)\">bar</span></span><span style=\"color:rgb(0, 0, 255)\">baz</span>"
 PASS [["stylewithcss","true"],["forecolor","#0000FF"]] "<span style=\"color: rgb(0, 0, 255)\">foo<span id=purple>b[a]r</span>baz</span>" queryCommandIndeterm("stylewithcss") before 
 PASS [["stylewithcss","true"],["forecolor","#0000FF"]] "<span style=\"color: rgb(0, 0, 255)\">foo<span id=purple>b[a]r</span>baz</span>" queryCommandState("stylewithcss") before 
 PASS [["stylewithcss","true"],["forecolor","#0000FF"]] "<span style=\"color: rgb(0, 0, 255)\">foo<span id=purple>b[a]r</span>baz</span>" queryCommandValue("stylewithcss") before 
@@ -1343,7 +1343,7 @@
 PASS [["stylewithcss","false"],["forecolor","#0000FF"]] "<span style=\"color: rgb(0, 0, 255)\">foo<span id=purple>b[a]r</span>baz</span>": execCommand("stylewithcss", false, "false") return value 
 PASS [["stylewithcss","false"],["forecolor","#0000FF"]] "<span style=\"color: rgb(0, 0, 255)\">foo<span id=purple>b[a]r</span>baz</span>": execCommand("forecolor", false, "#0000FF") return value 
 PASS [["stylewithcss","false"],["forecolor","#0000FF"]] "<span style=\"color: rgb(0, 0, 255)\">foo<span id=purple>b[a]r</span>baz</span>" checks for modifications to non-editable content 
-FAIL [["stylewithcss","false"],["forecolor","#0000FF"]] "<span style=\"color: rgb(0, 0, 255)\">foo<span id=purple>b[a]r</span>baz</span>" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<span style=\"color:rgb(0, 0, 255)\">foo<span id=\"purple\">b<font color=\"#0000ff\">a</font>r</span>baz</span>" but got "<font color=\"#0000ff\">foo</font><span id=\"purple\"><font color=\"#0000ff\">bar</font></span><font color=\"#0000ff\">baz</font>"
+FAIL [["stylewithcss","false"],["forecolor","#0000FF"]] "<span style=\"color: rgb(0, 0, 255)\">foo<span id=purple>b[a]r</span>baz</span>" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<span style=\"color:rgb(0, 0, 255)\">foo<span id=\"purple\">b<font color=\"#0000ff\">a</font>r</span>baz</span>" but got "<font color=\"#0000ff\">foo</font><span id=\"purple\" style=\"\"><font color=\"#0000ff\">bar</font></span><font color=\"#0000ff\">baz</font>"
 PASS [["stylewithcss","false"],["forecolor","#0000FF"]] "<span style=\"color: rgb(0, 0, 255)\">foo<span id=purple>b[a]r</span>baz</span>" queryCommandIndeterm("stylewithcss") before 
 PASS [["stylewithcss","false"],["forecolor","#0000FF"]] "<span style=\"color: rgb(0, 0, 255)\">foo<span id=purple>b[a]r</span>baz</span>" queryCommandState("stylewithcss") before 
 PASS [["stylewithcss","false"],["forecolor","#0000FF"]] "<span style=\"color: rgb(0, 0, 255)\">foo<span id=purple>b[a]r</span>baz</span>" queryCommandValue("stylewithcss") before 
diff --git a/third_party/WebKit/LayoutTests/external/wpt/editing/run/hilitecolor-expected.txt b/third_party/WebKit/LayoutTests/external/wpt/editing/run/hilitecolor-expected.txt
index 1abbb7b..525bdbdec 100644
--- a/third_party/WebKit/LayoutTests/external/wpt/editing/run/hilitecolor-expected.txt
+++ b/third_party/WebKit/LayoutTests/external/wpt/editing/run/hilitecolor-expected.txt
@@ -495,7 +495,7 @@
 FAIL [["stylewithcss","false"],["hilitecolor","#00FFFF"]] "{<table><tr><td>foo<td>bar<td>baz</table>}" queryCommandValue("hilitecolor") after assert_equals: Wrong result returned (after color normalization) expected "rgb(0, 255, 255)" but got "rgb(0, 0, 0)"
 PASS [["hilitecolor","#00FFFF"]] "<p style=\"background-color: rgb(0, 255, 255)\">foo[bar]baz</p>": execCommand("hilitecolor", false, "#00FFFF") return value 
 PASS [["hilitecolor","#00FFFF"]] "<p style=\"background-color: rgb(0, 255, 255)\">foo[bar]baz</p>" checks for modifications to non-editable content 
-FAIL [["hilitecolor","#00FFFF"]] "<p style=\"background-color: rgb(0, 255, 255)\">foo[bar]baz</p>" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<p style=\"background-color:rgb(0, 255, 255)\">foobarbaz</p>" but got "<p><span style=\"background-color:rgb(0, 255, 255)\">foobarbaz</span></p>"
+FAIL [["hilitecolor","#00FFFF"]] "<p style=\"background-color: rgb(0, 255, 255)\">foo[bar]baz</p>" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<p style=\"background-color:rgb(0, 255, 255)\">foobarbaz</p>" but got "<p style=\"\"><span style=\"background-color:rgb(0, 255, 255)\">foobarbaz</span></p>"
 PASS [["hilitecolor","#00FFFF"]] "<p style=\"background-color: rgb(0, 255, 255)\">foo[bar]baz</p>" queryCommandIndeterm("hilitecolor") before 
 PASS [["hilitecolor","#00FFFF"]] "<p style=\"background-color: rgb(0, 255, 255)\">foo[bar]baz</p>" queryCommandState("hilitecolor") before 
 FAIL [["hilitecolor","#00FFFF"]] "<p style=\"background-color: rgb(0, 255, 255)\">foo[bar]baz</p>" queryCommandValue("hilitecolor") before assert_equals: Wrong result returned (after color normalization) expected "rgb(0, 255, 255)" but got "rgb(0, 0, 0)"
@@ -504,7 +504,7 @@
 FAIL [["hilitecolor","#00FFFF"]] "<p style=\"background-color: rgb(0, 255, 255)\">foo[bar]baz</p>" queryCommandValue("hilitecolor") after assert_equals: Wrong result returned (after color normalization) expected "rgb(0, 255, 255)" but got "rgb(0, 0, 0)"
 PASS [["hilitecolor","#00FFFF"]] "<p style=\"background-color: #00ffff\">foo[bar]baz</p>": execCommand("hilitecolor", false, "#00FFFF") return value 
 PASS [["hilitecolor","#00FFFF"]] "<p style=\"background-color: #00ffff\">foo[bar]baz</p>" checks for modifications to non-editable content 
-FAIL [["hilitecolor","#00FFFF"]] "<p style=\"background-color: #00ffff\">foo[bar]baz</p>" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<p style=\"background-color:rgb(0, 255, 255)\">foobarbaz</p>" but got "<p><span style=\"background-color:rgb(0, 255, 255)\">foobarbaz</span></p>"
+FAIL [["hilitecolor","#00FFFF"]] "<p style=\"background-color: #00ffff\">foo[bar]baz</p>" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<p style=\"background-color:rgb(0, 255, 255)\">foobarbaz</p>" but got "<p style=\"\"><span style=\"background-color:rgb(0, 255, 255)\">foobarbaz</span></p>"
 PASS [["hilitecolor","#00FFFF"]] "<p style=\"background-color: #00ffff\">foo[bar]baz</p>" queryCommandIndeterm("hilitecolor") before 
 PASS [["hilitecolor","#00FFFF"]] "<p style=\"background-color: #00ffff\">foo[bar]baz</p>" queryCommandState("hilitecolor") before 
 FAIL [["hilitecolor","#00FFFF"]] "<p style=\"background-color: #00ffff\">foo[bar]baz</p>" queryCommandValue("hilitecolor") before assert_equals: Wrong result returned (after color normalization) expected "rgb(0, 255, 255)" but got "rgb(0, 0, 0)"
@@ -513,7 +513,7 @@
 FAIL [["hilitecolor","#00FFFF"]] "<p style=\"background-color: #00ffff\">foo[bar]baz</p>" queryCommandValue("hilitecolor") after assert_equals: Wrong result returned (after color normalization) expected "rgb(0, 255, 255)" but got "rgb(0, 0, 0)"
 PASS [["hilitecolor","#00FFFF"]] "<p style=\"background-color: aqua\">foo[bar]baz</p>": execCommand("hilitecolor", false, "#00FFFF") return value 
 PASS [["hilitecolor","#00FFFF"]] "<p style=\"background-color: aqua\">foo[bar]baz</p>" checks for modifications to non-editable content 
-FAIL [["hilitecolor","#00FFFF"]] "<p style=\"background-color: aqua\">foo[bar]baz</p>" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<p style=\"background-color:rgb(0, 255, 255)\">foobarbaz</p>" but got "<p><span style=\"background-color:rgb(0, 255, 255)\">foo</span><span style=\"background-color:rgb(0, 255, 255)\">bar</span><span style=\"background-color:rgb(0, 255, 255)\">baz</span></p>"
+FAIL [["hilitecolor","#00FFFF"]] "<p style=\"background-color: aqua\">foo[bar]baz</p>" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<p style=\"background-color:rgb(0, 255, 255)\">foobarbaz</p>" but got "<p style=\"\"><span style=\"background-color:rgb(0, 255, 255)\">foo</span><span style=\"background-color:rgb(0, 255, 255)\">bar</span><span style=\"background-color:rgb(0, 255, 255)\">baz</span></p>"
 PASS [["hilitecolor","#00FFFF"]] "<p style=\"background-color: aqua\">foo[bar]baz</p>" queryCommandIndeterm("hilitecolor") before 
 PASS [["hilitecolor","#00FFFF"]] "<p style=\"background-color: aqua\">foo[bar]baz</p>" queryCommandState("hilitecolor") before 
 FAIL [["hilitecolor","#00FFFF"]] "<p style=\"background-color: aqua\">foo[bar]baz</p>" queryCommandValue("hilitecolor") before assert_equals: Wrong result returned (after color normalization) expected "rgb(0, 255, 255)" but got "rgb(0, 0, 0)"
@@ -523,7 +523,7 @@
 PASS [["stylewithcss","true"],["hilitecolor","#00FFFF"]] "{<p style=\"background-color: aqua\">foo</p><p>bar</p>}": execCommand("stylewithcss", false, "true") return value 
 PASS [["stylewithcss","true"],["hilitecolor","#00FFFF"]] "{<p style=\"background-color: aqua\">foo</p><p>bar</p>}": execCommand("hilitecolor", false, "#00FFFF") return value 
 PASS [["stylewithcss","true"],["hilitecolor","#00FFFF"]] "{<p style=\"background-color: aqua\">foo</p><p>bar</p>}" checks for modifications to non-editable content 
-FAIL [["stylewithcss","true"],["hilitecolor","#00FFFF"]] "{<p style=\"background-color: aqua\">foo</p><p>bar</p>}" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<p style=\"background-color:rgb(0, 255, 255)\">foo</p><p><span style=\"background-color:rgb(0, 255, 255)\">bar</span></p>" but got "<p><span style=\"background-color:rgb(0, 255, 255)\">foo</span></p><p><span style=\"background-color:rgb(0, 255, 255)\">bar</span></p>"
+FAIL [["stylewithcss","true"],["hilitecolor","#00FFFF"]] "{<p style=\"background-color: aqua\">foo</p><p>bar</p>}" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<p style=\"background-color:rgb(0, 255, 255)\">foo</p><p><span style=\"background-color:rgb(0, 255, 255)\">bar</span></p>" but got "<p style=\"\"><span style=\"background-color:rgb(0, 255, 255)\">foo</span></p><p><span style=\"background-color:rgb(0, 255, 255)\">bar</span></p>"
 PASS [["stylewithcss","true"],["hilitecolor","#00FFFF"]] "{<p style=\"background-color: aqua\">foo</p><p>bar</p>}" queryCommandIndeterm("stylewithcss") before 
 PASS [["stylewithcss","true"],["hilitecolor","#00FFFF"]] "{<p style=\"background-color: aqua\">foo</p><p>bar</p>}" queryCommandState("stylewithcss") before 
 PASS [["stylewithcss","true"],["hilitecolor","#00FFFF"]] "{<p style=\"background-color: aqua\">foo</p><p>bar</p>}" queryCommandValue("stylewithcss") before 
@@ -539,7 +539,7 @@
 PASS [["stylewithcss","false"],["hilitecolor","#00FFFF"]] "{<p style=\"background-color: aqua\">foo</p><p>bar</p>}": execCommand("stylewithcss", false, "false") return value 
 PASS [["stylewithcss","false"],["hilitecolor","#00FFFF"]] "{<p style=\"background-color: aqua\">foo</p><p>bar</p>}": execCommand("hilitecolor", false, "#00FFFF") return value 
 PASS [["stylewithcss","false"],["hilitecolor","#00FFFF"]] "{<p style=\"background-color: aqua\">foo</p><p>bar</p>}" checks for modifications to non-editable content 
-FAIL [["stylewithcss","false"],["hilitecolor","#00FFFF"]] "{<p style=\"background-color: aqua\">foo</p><p>bar</p>}" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<p style=\"background-color:rgb(0, 255, 255)\">foo</p><p><span style=\"background-color:rgb(0, 255, 255)\">bar</span></p>" but got "<p><span style=\"background-color:rgb(0, 255, 255)\">foo</span></p><p><span style=\"background-color:rgb(0, 255, 255)\">bar</span></p>"
+FAIL [["stylewithcss","false"],["hilitecolor","#00FFFF"]] "{<p style=\"background-color: aqua\">foo</p><p>bar</p>}" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<p style=\"background-color:rgb(0, 255, 255)\">foo</p><p><span style=\"background-color:rgb(0, 255, 255)\">bar</span></p>" but got "<p style=\"\"><span style=\"background-color:rgb(0, 255, 255)\">foo</span></p><p><span style=\"background-color:rgb(0, 255, 255)\">bar</span></p>"
 PASS [["stylewithcss","false"],["hilitecolor","#00FFFF"]] "{<p style=\"background-color: aqua\">foo</p><p>bar</p>}" queryCommandIndeterm("stylewithcss") before 
 PASS [["stylewithcss","false"],["hilitecolor","#00FFFF"]] "{<p style=\"background-color: aqua\">foo</p><p>bar</p>}" queryCommandState("stylewithcss") before 
 PASS [["stylewithcss","false"],["hilitecolor","#00FFFF"]] "{<p style=\"background-color: aqua\">foo</p><p>bar</p>}" queryCommandValue("stylewithcss") before 
@@ -691,7 +691,7 @@
 FAIL [["hilitecolor","#00FFFF"]] "<span style=\"background-color: aqua\">foo<span style=\"background-color: tan\">b[ar]</span>baz</span>" queryCommandValue("hilitecolor") after assert_equals: Wrong result returned (after color normalization) expected "rgb(0, 255, 255)" but got "rgb(0, 0, 0)"
 PASS [["hilitecolor","#00FFFF"]] "<p style=\"background-color: aqua\">foo<span style=\"background-color: tan\">b[ar]</span>baz</p>": execCommand("hilitecolor", false, "#00FFFF") return value 
 PASS [["hilitecolor","#00FFFF"]] "<p style=\"background-color: aqua\">foo<span style=\"background-color: tan\">b[ar]</span>baz</p>" checks for modifications to non-editable content 
-FAIL [["hilitecolor","#00FFFF"]] "<p style=\"background-color: aqua\">foo<span style=\"background-color: tan\">b[ar]</span>baz</p>" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<p style=\"background-color:rgb(0, 255, 255)\">foo<span style=\"background-color:rgb(210, 180, 140)\">b</span>arbaz</p>" but got "<p><span style=\"background-color:rgb(0, 255, 255)\">foo</span><span style=\"background-color:rgb(210, 180, 140)\">b</span><span style=\"background-color:rgb(0, 255, 255)\">ar</span><span style=\"background-color:rgb(0, 255, 255)\">baz</span></p>"
+FAIL [["hilitecolor","#00FFFF"]] "<p style=\"background-color: aqua\">foo<span style=\"background-color: tan\">b[ar]</span>baz</p>" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<p style=\"background-color:rgb(0, 255, 255)\">foo<span style=\"background-color:rgb(210, 180, 140)\">b</span>arbaz</p>" but got "<p style=\"\"><span style=\"background-color:rgb(0, 255, 255)\">foo</span><span style=\"background-color:rgb(210, 180, 140)\">b</span><span style=\"background-color:rgb(0, 255, 255)\">ar</span><span style=\"background-color:rgb(0, 255, 255)\">baz</span></p>"
 PASS [["hilitecolor","#00FFFF"]] "<p style=\"background-color: aqua\">foo<span style=\"background-color: tan\">b[ar]</span>baz</p>" queryCommandIndeterm("hilitecolor") before 
 PASS [["hilitecolor","#00FFFF"]] "<p style=\"background-color: aqua\">foo<span style=\"background-color: tan\">b[ar]</span>baz</p>" queryCommandState("hilitecolor") before 
 FAIL [["hilitecolor","#00FFFF"]] "<p style=\"background-color: aqua\">foo<span style=\"background-color: tan\">b[ar]</span>baz</p>" queryCommandValue("hilitecolor") before assert_equals: Wrong result returned (after color normalization) expected "rgb(210, 180, 140)" but got "rgb(0, 0, 0)"
@@ -701,7 +701,7 @@
 PASS [["stylewithcss","true"],["hilitecolor","#00FFFF"]] "<div style=\"background-color: aqua\"><p style=\"background-color: tan\">b[ar]</p></div>": execCommand("stylewithcss", false, "true") return value 
 PASS [["stylewithcss","true"],["hilitecolor","#00FFFF"]] "<div style=\"background-color: aqua\"><p style=\"background-color: tan\">b[ar]</p></div>": execCommand("hilitecolor", false, "#00FFFF") return value 
 PASS [["stylewithcss","true"],["hilitecolor","#00FFFF"]] "<div style=\"background-color: aqua\"><p style=\"background-color: tan\">b[ar]</p></div>" checks for modifications to non-editable content 
-FAIL [["stylewithcss","true"],["hilitecolor","#00FFFF"]] "<div style=\"background-color: aqua\"><p style=\"background-color: tan\">b[ar]</p></div>" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<div style=\"background-color:rgb(0, 255, 255)\"><p style=\"background-color:rgb(210, 180, 140)\">b<span style=\"background-color:rgb(0, 255, 255)\">ar</span></p></div>" but got "<div><p><span style=\"background-color:rgb(210, 180, 140)\">b</span><span style=\"background-color:rgb(0, 255, 255)\">ar</span></p></div>"
+FAIL [["stylewithcss","true"],["hilitecolor","#00FFFF"]] "<div style=\"background-color: aqua\"><p style=\"background-color: tan\">b[ar]</p></div>" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<div style=\"background-color:rgb(0, 255, 255)\"><p style=\"background-color:rgb(210, 180, 140)\">b<span style=\"background-color:rgb(0, 255, 255)\">ar</span></p></div>" but got "<div style=\"\"><p style=\"\"><span style=\"background-color:rgb(210, 180, 140)\">b</span><span style=\"background-color:rgb(0, 255, 255)\">ar</span></p></div>"
 PASS [["stylewithcss","true"],["hilitecolor","#00FFFF"]] "<div style=\"background-color: aqua\"><p style=\"background-color: tan\">b[ar]</p></div>" queryCommandIndeterm("stylewithcss") before 
 PASS [["stylewithcss","true"],["hilitecolor","#00FFFF"]] "<div style=\"background-color: aqua\"><p style=\"background-color: tan\">b[ar]</p></div>" queryCommandState("stylewithcss") before 
 PASS [["stylewithcss","true"],["hilitecolor","#00FFFF"]] "<div style=\"background-color: aqua\"><p style=\"background-color: tan\">b[ar]</p></div>" queryCommandValue("stylewithcss") before 
@@ -717,7 +717,7 @@
 PASS [["stylewithcss","false"],["hilitecolor","#00FFFF"]] "<div style=\"background-color: aqua\"><p style=\"background-color: tan\">b[ar]</p></div>": execCommand("stylewithcss", false, "false") return value 
 PASS [["stylewithcss","false"],["hilitecolor","#00FFFF"]] "<div style=\"background-color: aqua\"><p style=\"background-color: tan\">b[ar]</p></div>": execCommand("hilitecolor", false, "#00FFFF") return value 
 PASS [["stylewithcss","false"],["hilitecolor","#00FFFF"]] "<div style=\"background-color: aqua\"><p style=\"background-color: tan\">b[ar]</p></div>" checks for modifications to non-editable content 
-FAIL [["stylewithcss","false"],["hilitecolor","#00FFFF"]] "<div style=\"background-color: aqua\"><p style=\"background-color: tan\">b[ar]</p></div>" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<div style=\"background-color:rgb(0, 255, 255)\"><p style=\"background-color:rgb(210, 180, 140)\">b<span style=\"background-color:rgb(0, 255, 255)\">ar</span></p></div>" but got "<div><p><span style=\"background-color:rgb(210, 180, 140)\">b</span><span style=\"background-color:rgb(0, 255, 255)\">ar</span></p></div>"
+FAIL [["stylewithcss","false"],["hilitecolor","#00FFFF"]] "<div style=\"background-color: aqua\"><p style=\"background-color: tan\">b[ar]</p></div>" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<div style=\"background-color:rgb(0, 255, 255)\"><p style=\"background-color:rgb(210, 180, 140)\">b<span style=\"background-color:rgb(0, 255, 255)\">ar</span></p></div>" but got "<div style=\"\"><p style=\"\"><span style=\"background-color:rgb(210, 180, 140)\">b</span><span style=\"background-color:rgb(0, 255, 255)\">ar</span></p></div>"
 PASS [["stylewithcss","false"],["hilitecolor","#00FFFF"]] "<div style=\"background-color: aqua\"><p style=\"background-color: tan\">b[ar]</p></div>" queryCommandIndeterm("stylewithcss") before 
 PASS [["stylewithcss","false"],["hilitecolor","#00FFFF"]] "<div style=\"background-color: aqua\"><p style=\"background-color: tan\">b[ar]</p></div>" queryCommandState("stylewithcss") before 
 PASS [["stylewithcss","false"],["hilitecolor","#00FFFF"]] "<div style=\"background-color: aqua\"><p style=\"background-color: tan\">b[ar]</p></div>" queryCommandValue("stylewithcss") before 
diff --git a/third_party/WebKit/LayoutTests/external/wpt/editing/run/justifycenter-expected.txt b/third_party/WebKit/LayoutTests/external/wpt/editing/run/justifycenter-expected.txt
deleted file mode 100644
index 714656c..0000000
--- a/third_party/WebKit/LayoutTests/external/wpt/editing/run/justifycenter-expected.txt
+++ /dev/null
@@ -1,6150 +0,0 @@
-This is a testharness.js-based test.
-Found 6146 tests; 5215 PASS, 931 FAIL, 0 TIMEOUT, 0 NOTRUN.
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "foo[]bar<p>extra": execCommand("stylewithcss", false, "true") return value 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "foo[]bar<p>extra": execCommand("defaultparagraphseparator", false, "div") return value 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "foo[]bar<p>extra": execCommand("justifycenter", false, "") return value 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "foo[]bar<p>extra" checks for modifications to non-editable content 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "foo[]bar<p>extra" compare innerHTML 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "foo[]bar<p>extra" queryCommandIndeterm("stylewithcss") before 
-FAIL [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "foo[]bar<p>extra" queryCommandState("stylewithcss") before assert_equals: Wrong result returned expected false but got true
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "foo[]bar<p>extra" queryCommandValue("stylewithcss") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "foo[]bar<p>extra" queryCommandIndeterm("stylewithcss") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "foo[]bar<p>extra" queryCommandState("stylewithcss") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "foo[]bar<p>extra" queryCommandValue("stylewithcss") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "foo[]bar<p>extra" queryCommandIndeterm("defaultparagraphseparator") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "foo[]bar<p>extra" queryCommandState("defaultparagraphseparator") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "foo[]bar<p>extra" queryCommandValue("defaultparagraphseparator") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "foo[]bar<p>extra" queryCommandIndeterm("defaultparagraphseparator") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "foo[]bar<p>extra" queryCommandState("defaultparagraphseparator") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "foo[]bar<p>extra" queryCommandValue("defaultparagraphseparator") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "foo[]bar<p>extra" queryCommandIndeterm("justifycenter") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "foo[]bar<p>extra" queryCommandState("justifycenter") before 
-FAIL [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "foo[]bar<p>extra" queryCommandValue("justifycenter") before assert_equals: Wrong result returned expected "left" but got "false"
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "foo[]bar<p>extra" queryCommandIndeterm("justifycenter") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "foo[]bar<p>extra" queryCommandState("justifycenter") after 
-FAIL [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "foo[]bar<p>extra" queryCommandValue("justifycenter") after assert_equals: Wrong result returned expected "center" but got "true"
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "foo[]bar<p>extra": execCommand("stylewithcss", false, "false") return value 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "foo[]bar<p>extra": execCommand("defaultparagraphseparator", false, "div") return value 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "foo[]bar<p>extra": execCommand("justifycenter", false, "") return value 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "foo[]bar<p>extra" checks for modifications to non-editable content 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "foo[]bar<p>extra" compare innerHTML 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "foo[]bar<p>extra" queryCommandIndeterm("stylewithcss") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "foo[]bar<p>extra" queryCommandState("stylewithcss") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "foo[]bar<p>extra" queryCommandValue("stylewithcss") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "foo[]bar<p>extra" queryCommandIndeterm("stylewithcss") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "foo[]bar<p>extra" queryCommandState("stylewithcss") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "foo[]bar<p>extra" queryCommandValue("stylewithcss") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "foo[]bar<p>extra" queryCommandIndeterm("defaultparagraphseparator") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "foo[]bar<p>extra" queryCommandState("defaultparagraphseparator") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "foo[]bar<p>extra" queryCommandValue("defaultparagraphseparator") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "foo[]bar<p>extra" queryCommandIndeterm("defaultparagraphseparator") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "foo[]bar<p>extra" queryCommandState("defaultparagraphseparator") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "foo[]bar<p>extra" queryCommandValue("defaultparagraphseparator") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "foo[]bar<p>extra" queryCommandIndeterm("justifycenter") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "foo[]bar<p>extra" queryCommandState("justifycenter") before 
-FAIL [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "foo[]bar<p>extra" queryCommandValue("justifycenter") before assert_equals: Wrong result returned expected "left" but got "false"
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "foo[]bar<p>extra" queryCommandIndeterm("justifycenter") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "foo[]bar<p>extra" queryCommandState("justifycenter") after 
-FAIL [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "foo[]bar<p>extra" queryCommandValue("justifycenter") after assert_equals: Wrong result returned expected "center" but got "true"
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "foo[]bar<p>extra": execCommand("stylewithcss", false, "true") return value 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "foo[]bar<p>extra": execCommand("defaultparagraphseparator", false, "p") return value 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "foo[]bar<p>extra": execCommand("justifycenter", false, "") return value 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "foo[]bar<p>extra" checks for modifications to non-editable content 
-FAIL [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "foo[]bar<p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<div style=\"text-align:center\">foobar</div><p>extra</p>" but got "<p style=\"text-align:center\">foobar</p><p>extra</p>"
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "foo[]bar<p>extra" queryCommandIndeterm("stylewithcss") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "foo[]bar<p>extra" queryCommandState("stylewithcss") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "foo[]bar<p>extra" queryCommandValue("stylewithcss") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "foo[]bar<p>extra" queryCommandIndeterm("stylewithcss") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "foo[]bar<p>extra" queryCommandState("stylewithcss") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "foo[]bar<p>extra" queryCommandValue("stylewithcss") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "foo[]bar<p>extra" queryCommandIndeterm("defaultparagraphseparator") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "foo[]bar<p>extra" queryCommandState("defaultparagraphseparator") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "foo[]bar<p>extra" queryCommandValue("defaultparagraphseparator") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "foo[]bar<p>extra" queryCommandIndeterm("defaultparagraphseparator") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "foo[]bar<p>extra" queryCommandState("defaultparagraphseparator") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "foo[]bar<p>extra" queryCommandValue("defaultparagraphseparator") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "foo[]bar<p>extra" queryCommandIndeterm("justifycenter") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "foo[]bar<p>extra" queryCommandState("justifycenter") before 
-FAIL [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "foo[]bar<p>extra" queryCommandValue("justifycenter") before assert_equals: Wrong result returned expected "left" but got "false"
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "foo[]bar<p>extra" queryCommandIndeterm("justifycenter") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "foo[]bar<p>extra" queryCommandState("justifycenter") after 
-FAIL [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "foo[]bar<p>extra" queryCommandValue("justifycenter") after assert_equals: Wrong result returned expected "center" but got "true"
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "foo[]bar<p>extra": execCommand("stylewithcss", false, "false") return value 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "foo[]bar<p>extra": execCommand("defaultparagraphseparator", false, "p") return value 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "foo[]bar<p>extra": execCommand("justifycenter", false, "") return value 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "foo[]bar<p>extra" checks for modifications to non-editable content 
-FAIL [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "foo[]bar<p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<div style=\"text-align:center\">foobar</div><p>extra</p>" but got "<p style=\"text-align:center\">foobar</p><p>extra</p>"
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "foo[]bar<p>extra" queryCommandIndeterm("stylewithcss") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "foo[]bar<p>extra" queryCommandState("stylewithcss") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "foo[]bar<p>extra" queryCommandValue("stylewithcss") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "foo[]bar<p>extra" queryCommandIndeterm("stylewithcss") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "foo[]bar<p>extra" queryCommandState("stylewithcss") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "foo[]bar<p>extra" queryCommandValue("stylewithcss") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "foo[]bar<p>extra" queryCommandIndeterm("defaultparagraphseparator") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "foo[]bar<p>extra" queryCommandState("defaultparagraphseparator") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "foo[]bar<p>extra" queryCommandValue("defaultparagraphseparator") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "foo[]bar<p>extra" queryCommandIndeterm("defaultparagraphseparator") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "foo[]bar<p>extra" queryCommandState("defaultparagraphseparator") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "foo[]bar<p>extra" queryCommandValue("defaultparagraphseparator") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "foo[]bar<p>extra" queryCommandIndeterm("justifycenter") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "foo[]bar<p>extra" queryCommandState("justifycenter") before 
-FAIL [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "foo[]bar<p>extra" queryCommandValue("justifycenter") before assert_equals: Wrong result returned expected "left" but got "false"
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "foo[]bar<p>extra" queryCommandIndeterm("justifycenter") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "foo[]bar<p>extra" queryCommandState("justifycenter") after 
-FAIL [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "foo[]bar<p>extra" queryCommandValue("justifycenter") after assert_equals: Wrong result returned expected "center" but got "true"
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<span>foo</span>{}<span>bar</span><p>extra": execCommand("stylewithcss", false, "true") return value 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<span>foo</span>{}<span>bar</span><p>extra": execCommand("defaultparagraphseparator", false, "div") return value 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<span>foo</span>{}<span>bar</span><p>extra": execCommand("justifycenter", false, "") return value 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<span>foo</span>{}<span>bar</span><p>extra" checks for modifications to non-editable content 
-FAIL [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<span>foo</span>{}<span>bar</span><p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<div style=\"text-align:center\"><span>foo</span><span>bar</span></div><p>extra</p>" but got "<div style=\"text-align:center\">foobar</div><p>extra</p>"
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<span>foo</span>{}<span>bar</span><p>extra" queryCommandIndeterm("stylewithcss") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<span>foo</span>{}<span>bar</span><p>extra" queryCommandState("stylewithcss") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<span>foo</span>{}<span>bar</span><p>extra" queryCommandValue("stylewithcss") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<span>foo</span>{}<span>bar</span><p>extra" queryCommandIndeterm("stylewithcss") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<span>foo</span>{}<span>bar</span><p>extra" queryCommandState("stylewithcss") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<span>foo</span>{}<span>bar</span><p>extra" queryCommandValue("stylewithcss") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<span>foo</span>{}<span>bar</span><p>extra" queryCommandIndeterm("defaultparagraphseparator") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<span>foo</span>{}<span>bar</span><p>extra" queryCommandState("defaultparagraphseparator") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<span>foo</span>{}<span>bar</span><p>extra" queryCommandValue("defaultparagraphseparator") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<span>foo</span>{}<span>bar</span><p>extra" queryCommandIndeterm("defaultparagraphseparator") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<span>foo</span>{}<span>bar</span><p>extra" queryCommandState("defaultparagraphseparator") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<span>foo</span>{}<span>bar</span><p>extra" queryCommandValue("defaultparagraphseparator") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<span>foo</span>{}<span>bar</span><p>extra" queryCommandIndeterm("justifycenter") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<span>foo</span>{}<span>bar</span><p>extra" queryCommandState("justifycenter") before 
-FAIL [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<span>foo</span>{}<span>bar</span><p>extra" queryCommandValue("justifycenter") before assert_equals: Wrong result returned expected "left" but got "false"
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<span>foo</span>{}<span>bar</span><p>extra" queryCommandIndeterm("justifycenter") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<span>foo</span>{}<span>bar</span><p>extra" queryCommandState("justifycenter") after 
-FAIL [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<span>foo</span>{}<span>bar</span><p>extra" queryCommandValue("justifycenter") after assert_equals: Wrong result returned expected "center" but got "true"
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<span>foo</span>{}<span>bar</span><p>extra": execCommand("stylewithcss", false, "false") return value 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<span>foo</span>{}<span>bar</span><p>extra": execCommand("defaultparagraphseparator", false, "div") return value 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<span>foo</span>{}<span>bar</span><p>extra": execCommand("justifycenter", false, "") return value 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<span>foo</span>{}<span>bar</span><p>extra" checks for modifications to non-editable content 
-FAIL [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<span>foo</span>{}<span>bar</span><p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<div style=\"text-align:center\"><span>foo</span><span>bar</span></div><p>extra</p>" but got "<div style=\"text-align:center\">foobar</div><p>extra</p>"
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<span>foo</span>{}<span>bar</span><p>extra" queryCommandIndeterm("stylewithcss") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<span>foo</span>{}<span>bar</span><p>extra" queryCommandState("stylewithcss") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<span>foo</span>{}<span>bar</span><p>extra" queryCommandValue("stylewithcss") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<span>foo</span>{}<span>bar</span><p>extra" queryCommandIndeterm("stylewithcss") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<span>foo</span>{}<span>bar</span><p>extra" queryCommandState("stylewithcss") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<span>foo</span>{}<span>bar</span><p>extra" queryCommandValue("stylewithcss") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<span>foo</span>{}<span>bar</span><p>extra" queryCommandIndeterm("defaultparagraphseparator") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<span>foo</span>{}<span>bar</span><p>extra" queryCommandState("defaultparagraphseparator") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<span>foo</span>{}<span>bar</span><p>extra" queryCommandValue("defaultparagraphseparator") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<span>foo</span>{}<span>bar</span><p>extra" queryCommandIndeterm("defaultparagraphseparator") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<span>foo</span>{}<span>bar</span><p>extra" queryCommandState("defaultparagraphseparator") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<span>foo</span>{}<span>bar</span><p>extra" queryCommandValue("defaultparagraphseparator") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<span>foo</span>{}<span>bar</span><p>extra" queryCommandIndeterm("justifycenter") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<span>foo</span>{}<span>bar</span><p>extra" queryCommandState("justifycenter") before 
-FAIL [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<span>foo</span>{}<span>bar</span><p>extra" queryCommandValue("justifycenter") before assert_equals: Wrong result returned expected "left" but got "false"
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<span>foo</span>{}<span>bar</span><p>extra" queryCommandIndeterm("justifycenter") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<span>foo</span>{}<span>bar</span><p>extra" queryCommandState("justifycenter") after 
-FAIL [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<span>foo</span>{}<span>bar</span><p>extra" queryCommandValue("justifycenter") after assert_equals: Wrong result returned expected "center" but got "true"
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<span>foo</span>{}<span>bar</span><p>extra": execCommand("stylewithcss", false, "true") return value 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<span>foo</span>{}<span>bar</span><p>extra": execCommand("defaultparagraphseparator", false, "p") return value 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<span>foo</span>{}<span>bar</span><p>extra": execCommand("justifycenter", false, "") return value 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<span>foo</span>{}<span>bar</span><p>extra" checks for modifications to non-editable content 
-FAIL [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<span>foo</span>{}<span>bar</span><p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<div style=\"text-align:center\"><span>foo</span><span>bar</span></div><p>extra</p>" but got "<p style=\"text-align:center\">foobar</p><p>extra</p>"
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<span>foo</span>{}<span>bar</span><p>extra" queryCommandIndeterm("stylewithcss") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<span>foo</span>{}<span>bar</span><p>extra" queryCommandState("stylewithcss") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<span>foo</span>{}<span>bar</span><p>extra" queryCommandValue("stylewithcss") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<span>foo</span>{}<span>bar</span><p>extra" queryCommandIndeterm("stylewithcss") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<span>foo</span>{}<span>bar</span><p>extra" queryCommandState("stylewithcss") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<span>foo</span>{}<span>bar</span><p>extra" queryCommandValue("stylewithcss") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<span>foo</span>{}<span>bar</span><p>extra" queryCommandIndeterm("defaultparagraphseparator") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<span>foo</span>{}<span>bar</span><p>extra" queryCommandState("defaultparagraphseparator") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<span>foo</span>{}<span>bar</span><p>extra" queryCommandValue("defaultparagraphseparator") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<span>foo</span>{}<span>bar</span><p>extra" queryCommandIndeterm("defaultparagraphseparator") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<span>foo</span>{}<span>bar</span><p>extra" queryCommandState("defaultparagraphseparator") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<span>foo</span>{}<span>bar</span><p>extra" queryCommandValue("defaultparagraphseparator") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<span>foo</span>{}<span>bar</span><p>extra" queryCommandIndeterm("justifycenter") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<span>foo</span>{}<span>bar</span><p>extra" queryCommandState("justifycenter") before 
-FAIL [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<span>foo</span>{}<span>bar</span><p>extra" queryCommandValue("justifycenter") before assert_equals: Wrong result returned expected "left" but got "false"
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<span>foo</span>{}<span>bar</span><p>extra" queryCommandIndeterm("justifycenter") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<span>foo</span>{}<span>bar</span><p>extra" queryCommandState("justifycenter") after 
-FAIL [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<span>foo</span>{}<span>bar</span><p>extra" queryCommandValue("justifycenter") after assert_equals: Wrong result returned expected "center" but got "true"
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<span>foo</span>{}<span>bar</span><p>extra": execCommand("stylewithcss", false, "false") return value 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<span>foo</span>{}<span>bar</span><p>extra": execCommand("defaultparagraphseparator", false, "p") return value 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<span>foo</span>{}<span>bar</span><p>extra": execCommand("justifycenter", false, "") return value 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<span>foo</span>{}<span>bar</span><p>extra" checks for modifications to non-editable content 
-FAIL [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<span>foo</span>{}<span>bar</span><p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<div style=\"text-align:center\"><span>foo</span><span>bar</span></div><p>extra</p>" but got "<p style=\"text-align:center\">foobar</p><p>extra</p>"
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<span>foo</span>{}<span>bar</span><p>extra" queryCommandIndeterm("stylewithcss") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<span>foo</span>{}<span>bar</span><p>extra" queryCommandState("stylewithcss") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<span>foo</span>{}<span>bar</span><p>extra" queryCommandValue("stylewithcss") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<span>foo</span>{}<span>bar</span><p>extra" queryCommandIndeterm("stylewithcss") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<span>foo</span>{}<span>bar</span><p>extra" queryCommandState("stylewithcss") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<span>foo</span>{}<span>bar</span><p>extra" queryCommandValue("stylewithcss") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<span>foo</span>{}<span>bar</span><p>extra" queryCommandIndeterm("defaultparagraphseparator") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<span>foo</span>{}<span>bar</span><p>extra" queryCommandState("defaultparagraphseparator") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<span>foo</span>{}<span>bar</span><p>extra" queryCommandValue("defaultparagraphseparator") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<span>foo</span>{}<span>bar</span><p>extra" queryCommandIndeterm("defaultparagraphseparator") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<span>foo</span>{}<span>bar</span><p>extra" queryCommandState("defaultparagraphseparator") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<span>foo</span>{}<span>bar</span><p>extra" queryCommandValue("defaultparagraphseparator") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<span>foo</span>{}<span>bar</span><p>extra" queryCommandIndeterm("justifycenter") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<span>foo</span>{}<span>bar</span><p>extra" queryCommandState("justifycenter") before 
-FAIL [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<span>foo</span>{}<span>bar</span><p>extra" queryCommandValue("justifycenter") before assert_equals: Wrong result returned expected "left" but got "false"
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<span>foo</span>{}<span>bar</span><p>extra" queryCommandIndeterm("justifycenter") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<span>foo</span>{}<span>bar</span><p>extra" queryCommandState("justifycenter") after 
-FAIL [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<span>foo</span>{}<span>bar</span><p>extra" queryCommandValue("justifycenter") after assert_equals: Wrong result returned expected "center" but got "true"
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<span>foo[</span><span>]bar</span><p>extra": execCommand("stylewithcss", false, "true") return value 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<span>foo[</span><span>]bar</span><p>extra": execCommand("defaultparagraphseparator", false, "div") return value 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<span>foo[</span><span>]bar</span><p>extra": execCommand("justifycenter", false, "") return value 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<span>foo[</span><span>]bar</span><p>extra" checks for modifications to non-editable content 
-FAIL [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<span>foo[</span><span>]bar</span><p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<div style=\"text-align:center\"><span>foo</span><span>bar</span></div><p>extra</p>" but got "<div style=\"text-align:center\">foobar</div><p>extra</p>"
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<span>foo[</span><span>]bar</span><p>extra" queryCommandIndeterm("stylewithcss") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<span>foo[</span><span>]bar</span><p>extra" queryCommandState("stylewithcss") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<span>foo[</span><span>]bar</span><p>extra" queryCommandValue("stylewithcss") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<span>foo[</span><span>]bar</span><p>extra" queryCommandIndeterm("stylewithcss") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<span>foo[</span><span>]bar</span><p>extra" queryCommandState("stylewithcss") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<span>foo[</span><span>]bar</span><p>extra" queryCommandValue("stylewithcss") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<span>foo[</span><span>]bar</span><p>extra" queryCommandIndeterm("defaultparagraphseparator") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<span>foo[</span><span>]bar</span><p>extra" queryCommandState("defaultparagraphseparator") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<span>foo[</span><span>]bar</span><p>extra" queryCommandValue("defaultparagraphseparator") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<span>foo[</span><span>]bar</span><p>extra" queryCommandIndeterm("defaultparagraphseparator") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<span>foo[</span><span>]bar</span><p>extra" queryCommandState("defaultparagraphseparator") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<span>foo[</span><span>]bar</span><p>extra" queryCommandValue("defaultparagraphseparator") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<span>foo[</span><span>]bar</span><p>extra" queryCommandIndeterm("justifycenter") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<span>foo[</span><span>]bar</span><p>extra" queryCommandState("justifycenter") before 
-FAIL [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<span>foo[</span><span>]bar</span><p>extra" queryCommandValue("justifycenter") before assert_equals: Wrong result returned expected "left" but got "false"
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<span>foo[</span><span>]bar</span><p>extra" queryCommandIndeterm("justifycenter") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<span>foo[</span><span>]bar</span><p>extra" queryCommandState("justifycenter") after 
-FAIL [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<span>foo[</span><span>]bar</span><p>extra" queryCommandValue("justifycenter") after assert_equals: Wrong result returned expected "center" but got "true"
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<span>foo[</span><span>]bar</span><p>extra": execCommand("stylewithcss", false, "false") return value 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<span>foo[</span><span>]bar</span><p>extra": execCommand("defaultparagraphseparator", false, "div") return value 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<span>foo[</span><span>]bar</span><p>extra": execCommand("justifycenter", false, "") return value 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<span>foo[</span><span>]bar</span><p>extra" checks for modifications to non-editable content 
-FAIL [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<span>foo[</span><span>]bar</span><p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<div style=\"text-align:center\"><span>foo</span><span>bar</span></div><p>extra</p>" but got "<div style=\"text-align:center\">foobar</div><p>extra</p>"
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<span>foo[</span><span>]bar</span><p>extra" queryCommandIndeterm("stylewithcss") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<span>foo[</span><span>]bar</span><p>extra" queryCommandState("stylewithcss") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<span>foo[</span><span>]bar</span><p>extra" queryCommandValue("stylewithcss") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<span>foo[</span><span>]bar</span><p>extra" queryCommandIndeterm("stylewithcss") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<span>foo[</span><span>]bar</span><p>extra" queryCommandState("stylewithcss") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<span>foo[</span><span>]bar</span><p>extra" queryCommandValue("stylewithcss") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<span>foo[</span><span>]bar</span><p>extra" queryCommandIndeterm("defaultparagraphseparator") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<span>foo[</span><span>]bar</span><p>extra" queryCommandState("defaultparagraphseparator") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<span>foo[</span><span>]bar</span><p>extra" queryCommandValue("defaultparagraphseparator") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<span>foo[</span><span>]bar</span><p>extra" queryCommandIndeterm("defaultparagraphseparator") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<span>foo[</span><span>]bar</span><p>extra" queryCommandState("defaultparagraphseparator") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<span>foo[</span><span>]bar</span><p>extra" queryCommandValue("defaultparagraphseparator") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<span>foo[</span><span>]bar</span><p>extra" queryCommandIndeterm("justifycenter") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<span>foo[</span><span>]bar</span><p>extra" queryCommandState("justifycenter") before 
-FAIL [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<span>foo[</span><span>]bar</span><p>extra" queryCommandValue("justifycenter") before assert_equals: Wrong result returned expected "left" but got "false"
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<span>foo[</span><span>]bar</span><p>extra" queryCommandIndeterm("justifycenter") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<span>foo[</span><span>]bar</span><p>extra" queryCommandState("justifycenter") after 
-FAIL [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<span>foo[</span><span>]bar</span><p>extra" queryCommandValue("justifycenter") after assert_equals: Wrong result returned expected "center" but got "true"
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<span>foo[</span><span>]bar</span><p>extra": execCommand("stylewithcss", false, "true") return value 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<span>foo[</span><span>]bar</span><p>extra": execCommand("defaultparagraphseparator", false, "p") return value 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<span>foo[</span><span>]bar</span><p>extra": execCommand("justifycenter", false, "") return value 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<span>foo[</span><span>]bar</span><p>extra" checks for modifications to non-editable content 
-FAIL [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<span>foo[</span><span>]bar</span><p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<div style=\"text-align:center\"><span>foo</span><span>bar</span></div><p>extra</p>" but got "<p style=\"text-align:center\">foobar</p><p>extra</p>"
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<span>foo[</span><span>]bar</span><p>extra" queryCommandIndeterm("stylewithcss") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<span>foo[</span><span>]bar</span><p>extra" queryCommandState("stylewithcss") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<span>foo[</span><span>]bar</span><p>extra" queryCommandValue("stylewithcss") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<span>foo[</span><span>]bar</span><p>extra" queryCommandIndeterm("stylewithcss") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<span>foo[</span><span>]bar</span><p>extra" queryCommandState("stylewithcss") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<span>foo[</span><span>]bar</span><p>extra" queryCommandValue("stylewithcss") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<span>foo[</span><span>]bar</span><p>extra" queryCommandIndeterm("defaultparagraphseparator") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<span>foo[</span><span>]bar</span><p>extra" queryCommandState("defaultparagraphseparator") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<span>foo[</span><span>]bar</span><p>extra" queryCommandValue("defaultparagraphseparator") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<span>foo[</span><span>]bar</span><p>extra" queryCommandIndeterm("defaultparagraphseparator") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<span>foo[</span><span>]bar</span><p>extra" queryCommandState("defaultparagraphseparator") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<span>foo[</span><span>]bar</span><p>extra" queryCommandValue("defaultparagraphseparator") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<span>foo[</span><span>]bar</span><p>extra" queryCommandIndeterm("justifycenter") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<span>foo[</span><span>]bar</span><p>extra" queryCommandState("justifycenter") before 
-FAIL [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<span>foo[</span><span>]bar</span><p>extra" queryCommandValue("justifycenter") before assert_equals: Wrong result returned expected "left" but got "false"
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<span>foo[</span><span>]bar</span><p>extra" queryCommandIndeterm("justifycenter") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<span>foo[</span><span>]bar</span><p>extra" queryCommandState("justifycenter") after 
-FAIL [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<span>foo[</span><span>]bar</span><p>extra" queryCommandValue("justifycenter") after assert_equals: Wrong result returned expected "center" but got "true"
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<span>foo[</span><span>]bar</span><p>extra": execCommand("stylewithcss", false, "false") return value 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<span>foo[</span><span>]bar</span><p>extra": execCommand("defaultparagraphseparator", false, "p") return value 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<span>foo[</span><span>]bar</span><p>extra": execCommand("justifycenter", false, "") return value 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<span>foo[</span><span>]bar</span><p>extra" checks for modifications to non-editable content 
-FAIL [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<span>foo[</span><span>]bar</span><p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<div style=\"text-align:center\"><span>foo</span><span>bar</span></div><p>extra</p>" but got "<p style=\"text-align:center\">foobar</p><p>extra</p>"
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<span>foo[</span><span>]bar</span><p>extra" queryCommandIndeterm("stylewithcss") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<span>foo[</span><span>]bar</span><p>extra" queryCommandState("stylewithcss") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<span>foo[</span><span>]bar</span><p>extra" queryCommandValue("stylewithcss") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<span>foo[</span><span>]bar</span><p>extra" queryCommandIndeterm("stylewithcss") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<span>foo[</span><span>]bar</span><p>extra" queryCommandState("stylewithcss") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<span>foo[</span><span>]bar</span><p>extra" queryCommandValue("stylewithcss") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<span>foo[</span><span>]bar</span><p>extra" queryCommandIndeterm("defaultparagraphseparator") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<span>foo[</span><span>]bar</span><p>extra" queryCommandState("defaultparagraphseparator") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<span>foo[</span><span>]bar</span><p>extra" queryCommandValue("defaultparagraphseparator") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<span>foo[</span><span>]bar</span><p>extra" queryCommandIndeterm("defaultparagraphseparator") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<span>foo[</span><span>]bar</span><p>extra" queryCommandState("defaultparagraphseparator") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<span>foo[</span><span>]bar</span><p>extra" queryCommandValue("defaultparagraphseparator") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<span>foo[</span><span>]bar</span><p>extra" queryCommandIndeterm("justifycenter") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<span>foo[</span><span>]bar</span><p>extra" queryCommandState("justifycenter") before 
-FAIL [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<span>foo[</span><span>]bar</span><p>extra" queryCommandValue("justifycenter") before assert_equals: Wrong result returned expected "left" but got "false"
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<span>foo[</span><span>]bar</span><p>extra" queryCommandIndeterm("justifycenter") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<span>foo[</span><span>]bar</span><p>extra" queryCommandState("justifycenter") after 
-FAIL [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<span>foo[</span><span>]bar</span><p>extra" queryCommandValue("justifycenter") after assert_equals: Wrong result returned expected "center" but got "true"
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "foo[bar]baz<p>extra": execCommand("stylewithcss", false, "true") return value 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "foo[bar]baz<p>extra": execCommand("defaultparagraphseparator", false, "div") return value 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "foo[bar]baz<p>extra": execCommand("justifycenter", false, "") return value 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "foo[bar]baz<p>extra" checks for modifications to non-editable content 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "foo[bar]baz<p>extra" compare innerHTML 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "foo[bar]baz<p>extra" queryCommandIndeterm("stylewithcss") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "foo[bar]baz<p>extra" queryCommandState("stylewithcss") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "foo[bar]baz<p>extra" queryCommandValue("stylewithcss") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "foo[bar]baz<p>extra" queryCommandIndeterm("stylewithcss") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "foo[bar]baz<p>extra" queryCommandState("stylewithcss") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "foo[bar]baz<p>extra" queryCommandValue("stylewithcss") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "foo[bar]baz<p>extra" queryCommandIndeterm("defaultparagraphseparator") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "foo[bar]baz<p>extra" queryCommandState("defaultparagraphseparator") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "foo[bar]baz<p>extra" queryCommandValue("defaultparagraphseparator") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "foo[bar]baz<p>extra" queryCommandIndeterm("defaultparagraphseparator") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "foo[bar]baz<p>extra" queryCommandState("defaultparagraphseparator") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "foo[bar]baz<p>extra" queryCommandValue("defaultparagraphseparator") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "foo[bar]baz<p>extra" queryCommandIndeterm("justifycenter") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "foo[bar]baz<p>extra" queryCommandState("justifycenter") before 
-FAIL [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "foo[bar]baz<p>extra" queryCommandValue("justifycenter") before assert_equals: Wrong result returned expected "left" but got "false"
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "foo[bar]baz<p>extra" queryCommandIndeterm("justifycenter") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "foo[bar]baz<p>extra" queryCommandState("justifycenter") after 
-FAIL [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "foo[bar]baz<p>extra" queryCommandValue("justifycenter") after assert_equals: Wrong result returned expected "center" but got "true"
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "foo[bar]baz<p>extra": execCommand("stylewithcss", false, "false") return value 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "foo[bar]baz<p>extra": execCommand("defaultparagraphseparator", false, "div") return value 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "foo[bar]baz<p>extra": execCommand("justifycenter", false, "") return value 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "foo[bar]baz<p>extra" checks for modifications to non-editable content 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "foo[bar]baz<p>extra" compare innerHTML 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "foo[bar]baz<p>extra" queryCommandIndeterm("stylewithcss") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "foo[bar]baz<p>extra" queryCommandState("stylewithcss") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "foo[bar]baz<p>extra" queryCommandValue("stylewithcss") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "foo[bar]baz<p>extra" queryCommandIndeterm("stylewithcss") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "foo[bar]baz<p>extra" queryCommandState("stylewithcss") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "foo[bar]baz<p>extra" queryCommandValue("stylewithcss") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "foo[bar]baz<p>extra" queryCommandIndeterm("defaultparagraphseparator") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "foo[bar]baz<p>extra" queryCommandState("defaultparagraphseparator") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "foo[bar]baz<p>extra" queryCommandValue("defaultparagraphseparator") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "foo[bar]baz<p>extra" queryCommandIndeterm("defaultparagraphseparator") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "foo[bar]baz<p>extra" queryCommandState("defaultparagraphseparator") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "foo[bar]baz<p>extra" queryCommandValue("defaultparagraphseparator") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "foo[bar]baz<p>extra" queryCommandIndeterm("justifycenter") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "foo[bar]baz<p>extra" queryCommandState("justifycenter") before 
-FAIL [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "foo[bar]baz<p>extra" queryCommandValue("justifycenter") before assert_equals: Wrong result returned expected "left" but got "false"
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "foo[bar]baz<p>extra" queryCommandIndeterm("justifycenter") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "foo[bar]baz<p>extra" queryCommandState("justifycenter") after 
-FAIL [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "foo[bar]baz<p>extra" queryCommandValue("justifycenter") after assert_equals: Wrong result returned expected "center" but got "true"
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "foo[bar]baz<p>extra": execCommand("stylewithcss", false, "true") return value 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "foo[bar]baz<p>extra": execCommand("defaultparagraphseparator", false, "p") return value 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "foo[bar]baz<p>extra": execCommand("justifycenter", false, "") return value 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "foo[bar]baz<p>extra" checks for modifications to non-editable content 
-FAIL [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "foo[bar]baz<p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<div style=\"text-align:center\">foobarbaz</div><p>extra</p>" but got "<p style=\"text-align:center\">foobarbaz</p><p>extra</p>"
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "foo[bar]baz<p>extra" queryCommandIndeterm("stylewithcss") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "foo[bar]baz<p>extra" queryCommandState("stylewithcss") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "foo[bar]baz<p>extra" queryCommandValue("stylewithcss") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "foo[bar]baz<p>extra" queryCommandIndeterm("stylewithcss") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "foo[bar]baz<p>extra" queryCommandState("stylewithcss") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "foo[bar]baz<p>extra" queryCommandValue("stylewithcss") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "foo[bar]baz<p>extra" queryCommandIndeterm("defaultparagraphseparator") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "foo[bar]baz<p>extra" queryCommandState("defaultparagraphseparator") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "foo[bar]baz<p>extra" queryCommandValue("defaultparagraphseparator") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "foo[bar]baz<p>extra" queryCommandIndeterm("defaultparagraphseparator") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "foo[bar]baz<p>extra" queryCommandState("defaultparagraphseparator") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "foo[bar]baz<p>extra" queryCommandValue("defaultparagraphseparator") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "foo[bar]baz<p>extra" queryCommandIndeterm("justifycenter") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "foo[bar]baz<p>extra" queryCommandState("justifycenter") before 
-FAIL [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "foo[bar]baz<p>extra" queryCommandValue("justifycenter") before assert_equals: Wrong result returned expected "left" but got "false"
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "foo[bar]baz<p>extra" queryCommandIndeterm("justifycenter") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "foo[bar]baz<p>extra" queryCommandState("justifycenter") after 
-FAIL [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "foo[bar]baz<p>extra" queryCommandValue("justifycenter") after assert_equals: Wrong result returned expected "center" but got "true"
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "foo[bar]baz<p>extra": execCommand("stylewithcss", false, "false") return value 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "foo[bar]baz<p>extra": execCommand("defaultparagraphseparator", false, "p") return value 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "foo[bar]baz<p>extra": execCommand("justifycenter", false, "") return value 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "foo[bar]baz<p>extra" checks for modifications to non-editable content 
-FAIL [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "foo[bar]baz<p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<div style=\"text-align:center\">foobarbaz</div><p>extra</p>" but got "<p style=\"text-align:center\">foobarbaz</p><p>extra</p>"
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "foo[bar]baz<p>extra" queryCommandIndeterm("stylewithcss") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "foo[bar]baz<p>extra" queryCommandState("stylewithcss") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "foo[bar]baz<p>extra" queryCommandValue("stylewithcss") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "foo[bar]baz<p>extra" queryCommandIndeterm("stylewithcss") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "foo[bar]baz<p>extra" queryCommandState("stylewithcss") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "foo[bar]baz<p>extra" queryCommandValue("stylewithcss") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "foo[bar]baz<p>extra" queryCommandIndeterm("defaultparagraphseparator") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "foo[bar]baz<p>extra" queryCommandState("defaultparagraphseparator") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "foo[bar]baz<p>extra" queryCommandValue("defaultparagraphseparator") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "foo[bar]baz<p>extra" queryCommandIndeterm("defaultparagraphseparator") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "foo[bar]baz<p>extra" queryCommandState("defaultparagraphseparator") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "foo[bar]baz<p>extra" queryCommandValue("defaultparagraphseparator") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "foo[bar]baz<p>extra" queryCommandIndeterm("justifycenter") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "foo[bar]baz<p>extra" queryCommandState("justifycenter") before 
-FAIL [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "foo[bar]baz<p>extra" queryCommandValue("justifycenter") before assert_equals: Wrong result returned expected "left" but got "false"
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "foo[bar]baz<p>extra" queryCommandIndeterm("justifycenter") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "foo[bar]baz<p>extra" queryCommandState("justifycenter") after 
-FAIL [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "foo[bar]baz<p>extra" queryCommandValue("justifycenter") after assert_equals: Wrong result returned expected "center" but got "true"
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "foo[bar<b>baz]qoz</b>quz<p>extra": execCommand("stylewithcss", false, "true") return value 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "foo[bar<b>baz]qoz</b>quz<p>extra": execCommand("defaultparagraphseparator", false, "div") return value 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "foo[bar<b>baz]qoz</b>quz<p>extra": execCommand("justifycenter", false, "") return value 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "foo[bar<b>baz]qoz</b>quz<p>extra" checks for modifications to non-editable content 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "foo[bar<b>baz]qoz</b>quz<p>extra" compare innerHTML 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "foo[bar<b>baz]qoz</b>quz<p>extra" queryCommandIndeterm("stylewithcss") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "foo[bar<b>baz]qoz</b>quz<p>extra" queryCommandState("stylewithcss") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "foo[bar<b>baz]qoz</b>quz<p>extra" queryCommandValue("stylewithcss") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "foo[bar<b>baz]qoz</b>quz<p>extra" queryCommandIndeterm("stylewithcss") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "foo[bar<b>baz]qoz</b>quz<p>extra" queryCommandState("stylewithcss") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "foo[bar<b>baz]qoz</b>quz<p>extra" queryCommandValue("stylewithcss") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "foo[bar<b>baz]qoz</b>quz<p>extra" queryCommandIndeterm("defaultparagraphseparator") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "foo[bar<b>baz]qoz</b>quz<p>extra" queryCommandState("defaultparagraphseparator") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "foo[bar<b>baz]qoz</b>quz<p>extra" queryCommandValue("defaultparagraphseparator") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "foo[bar<b>baz]qoz</b>quz<p>extra" queryCommandIndeterm("defaultparagraphseparator") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "foo[bar<b>baz]qoz</b>quz<p>extra" queryCommandState("defaultparagraphseparator") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "foo[bar<b>baz]qoz</b>quz<p>extra" queryCommandValue("defaultparagraphseparator") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "foo[bar<b>baz]qoz</b>quz<p>extra" queryCommandIndeterm("justifycenter") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "foo[bar<b>baz]qoz</b>quz<p>extra" queryCommandState("justifycenter") before 
-FAIL [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "foo[bar<b>baz]qoz</b>quz<p>extra" queryCommandValue("justifycenter") before assert_equals: Wrong result returned expected "left" but got "false"
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "foo[bar<b>baz]qoz</b>quz<p>extra" queryCommandIndeterm("justifycenter") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "foo[bar<b>baz]qoz</b>quz<p>extra" queryCommandState("justifycenter") after 
-FAIL [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "foo[bar<b>baz]qoz</b>quz<p>extra" queryCommandValue("justifycenter") after assert_equals: Wrong result returned expected "center" but got "true"
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "foo[bar<b>baz]qoz</b>quz<p>extra": execCommand("stylewithcss", false, "false") return value 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "foo[bar<b>baz]qoz</b>quz<p>extra": execCommand("defaultparagraphseparator", false, "div") return value 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "foo[bar<b>baz]qoz</b>quz<p>extra": execCommand("justifycenter", false, "") return value 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "foo[bar<b>baz]qoz</b>quz<p>extra" checks for modifications to non-editable content 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "foo[bar<b>baz]qoz</b>quz<p>extra" compare innerHTML 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "foo[bar<b>baz]qoz</b>quz<p>extra" queryCommandIndeterm("stylewithcss") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "foo[bar<b>baz]qoz</b>quz<p>extra" queryCommandState("stylewithcss") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "foo[bar<b>baz]qoz</b>quz<p>extra" queryCommandValue("stylewithcss") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "foo[bar<b>baz]qoz</b>quz<p>extra" queryCommandIndeterm("stylewithcss") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "foo[bar<b>baz]qoz</b>quz<p>extra" queryCommandState("stylewithcss") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "foo[bar<b>baz]qoz</b>quz<p>extra" queryCommandValue("stylewithcss") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "foo[bar<b>baz]qoz</b>quz<p>extra" queryCommandIndeterm("defaultparagraphseparator") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "foo[bar<b>baz]qoz</b>quz<p>extra" queryCommandState("defaultparagraphseparator") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "foo[bar<b>baz]qoz</b>quz<p>extra" queryCommandValue("defaultparagraphseparator") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "foo[bar<b>baz]qoz</b>quz<p>extra" queryCommandIndeterm("defaultparagraphseparator") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "foo[bar<b>baz]qoz</b>quz<p>extra" queryCommandState("defaultparagraphseparator") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "foo[bar<b>baz]qoz</b>quz<p>extra" queryCommandValue("defaultparagraphseparator") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "foo[bar<b>baz]qoz</b>quz<p>extra" queryCommandIndeterm("justifycenter") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "foo[bar<b>baz]qoz</b>quz<p>extra" queryCommandState("justifycenter") before 
-FAIL [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "foo[bar<b>baz]qoz</b>quz<p>extra" queryCommandValue("justifycenter") before assert_equals: Wrong result returned expected "left" but got "false"
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "foo[bar<b>baz]qoz</b>quz<p>extra" queryCommandIndeterm("justifycenter") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "foo[bar<b>baz]qoz</b>quz<p>extra" queryCommandState("justifycenter") after 
-FAIL [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "foo[bar<b>baz]qoz</b>quz<p>extra" queryCommandValue("justifycenter") after assert_equals: Wrong result returned expected "center" but got "true"
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "foo[bar<b>baz]qoz</b>quz<p>extra": execCommand("stylewithcss", false, "true") return value 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "foo[bar<b>baz]qoz</b>quz<p>extra": execCommand("defaultparagraphseparator", false, "p") return value 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "foo[bar<b>baz]qoz</b>quz<p>extra": execCommand("justifycenter", false, "") return value 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "foo[bar<b>baz]qoz</b>quz<p>extra" checks for modifications to non-editable content 
-FAIL [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "foo[bar<b>baz]qoz</b>quz<p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<div style=\"text-align:center\">foobar<b>bazqoz</b>quz</div><p>extra</p>" but got "<p style=\"text-align:center\">foobar<b>bazqoz</b>quz</p><p>extra</p>"
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "foo[bar<b>baz]qoz</b>quz<p>extra" queryCommandIndeterm("stylewithcss") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "foo[bar<b>baz]qoz</b>quz<p>extra" queryCommandState("stylewithcss") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "foo[bar<b>baz]qoz</b>quz<p>extra" queryCommandValue("stylewithcss") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "foo[bar<b>baz]qoz</b>quz<p>extra" queryCommandIndeterm("stylewithcss") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "foo[bar<b>baz]qoz</b>quz<p>extra" queryCommandState("stylewithcss") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "foo[bar<b>baz]qoz</b>quz<p>extra" queryCommandValue("stylewithcss") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "foo[bar<b>baz]qoz</b>quz<p>extra" queryCommandIndeterm("defaultparagraphseparator") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "foo[bar<b>baz]qoz</b>quz<p>extra" queryCommandState("defaultparagraphseparator") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "foo[bar<b>baz]qoz</b>quz<p>extra" queryCommandValue("defaultparagraphseparator") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "foo[bar<b>baz]qoz</b>quz<p>extra" queryCommandIndeterm("defaultparagraphseparator") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "foo[bar<b>baz]qoz</b>quz<p>extra" queryCommandState("defaultparagraphseparator") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "foo[bar<b>baz]qoz</b>quz<p>extra" queryCommandValue("defaultparagraphseparator") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "foo[bar<b>baz]qoz</b>quz<p>extra" queryCommandIndeterm("justifycenter") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "foo[bar<b>baz]qoz</b>quz<p>extra" queryCommandState("justifycenter") before 
-FAIL [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "foo[bar<b>baz]qoz</b>quz<p>extra" queryCommandValue("justifycenter") before assert_equals: Wrong result returned expected "left" but got "false"
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "foo[bar<b>baz]qoz</b>quz<p>extra" queryCommandIndeterm("justifycenter") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "foo[bar<b>baz]qoz</b>quz<p>extra" queryCommandState("justifycenter") after 
-FAIL [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "foo[bar<b>baz]qoz</b>quz<p>extra" queryCommandValue("justifycenter") after assert_equals: Wrong result returned expected "center" but got "true"
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "foo[bar<b>baz]qoz</b>quz<p>extra": execCommand("stylewithcss", false, "false") return value 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "foo[bar<b>baz]qoz</b>quz<p>extra": execCommand("defaultparagraphseparator", false, "p") return value 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "foo[bar<b>baz]qoz</b>quz<p>extra": execCommand("justifycenter", false, "") return value 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "foo[bar<b>baz]qoz</b>quz<p>extra" checks for modifications to non-editable content 
-FAIL [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "foo[bar<b>baz]qoz</b>quz<p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<div style=\"text-align:center\">foobar<b>bazqoz</b>quz</div><p>extra</p>" but got "<p style=\"text-align:center\">foobar<b>bazqoz</b>quz</p><p>extra</p>"
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "foo[bar<b>baz]qoz</b>quz<p>extra" queryCommandIndeterm("stylewithcss") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "foo[bar<b>baz]qoz</b>quz<p>extra" queryCommandState("stylewithcss") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "foo[bar<b>baz]qoz</b>quz<p>extra" queryCommandValue("stylewithcss") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "foo[bar<b>baz]qoz</b>quz<p>extra" queryCommandIndeterm("stylewithcss") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "foo[bar<b>baz]qoz</b>quz<p>extra" queryCommandState("stylewithcss") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "foo[bar<b>baz]qoz</b>quz<p>extra" queryCommandValue("stylewithcss") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "foo[bar<b>baz]qoz</b>quz<p>extra" queryCommandIndeterm("defaultparagraphseparator") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "foo[bar<b>baz]qoz</b>quz<p>extra" queryCommandState("defaultparagraphseparator") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "foo[bar<b>baz]qoz</b>quz<p>extra" queryCommandValue("defaultparagraphseparator") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "foo[bar<b>baz]qoz</b>quz<p>extra" queryCommandIndeterm("defaultparagraphseparator") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "foo[bar<b>baz]qoz</b>quz<p>extra" queryCommandState("defaultparagraphseparator") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "foo[bar<b>baz]qoz</b>quz<p>extra" queryCommandValue("defaultparagraphseparator") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "foo[bar<b>baz]qoz</b>quz<p>extra" queryCommandIndeterm("justifycenter") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "foo[bar<b>baz]qoz</b>quz<p>extra" queryCommandState("justifycenter") before 
-FAIL [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "foo[bar<b>baz]qoz</b>quz<p>extra" queryCommandValue("justifycenter") before assert_equals: Wrong result returned expected "left" but got "false"
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "foo[bar<b>baz]qoz</b>quz<p>extra" queryCommandIndeterm("justifycenter") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "foo[bar<b>baz]qoz</b>quz<p>extra" queryCommandState("justifycenter") after 
-FAIL [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "foo[bar<b>baz]qoz</b>quz<p>extra" queryCommandValue("justifycenter") after assert_equals: Wrong result returned expected "center" but got "true"
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<p>foo[]bar<p>extra": execCommand("stylewithcss", false, "true") return value 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<p>foo[]bar<p>extra": execCommand("defaultparagraphseparator", false, "div") return value 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<p>foo[]bar<p>extra": execCommand("justifycenter", false, "") return value 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<p>foo[]bar<p>extra" checks for modifications to non-editable content 
-FAIL [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<p>foo[]bar<p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<div style=\"text-align:center\"><p>foobar</p></div><p>extra</p>" but got "<p style=\"text-align:center\">foobar</p><p>extra</p>"
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<p>foo[]bar<p>extra" queryCommandIndeterm("stylewithcss") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<p>foo[]bar<p>extra" queryCommandState("stylewithcss") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<p>foo[]bar<p>extra" queryCommandValue("stylewithcss") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<p>foo[]bar<p>extra" queryCommandIndeterm("stylewithcss") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<p>foo[]bar<p>extra" queryCommandState("stylewithcss") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<p>foo[]bar<p>extra" queryCommandValue("stylewithcss") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<p>foo[]bar<p>extra" queryCommandIndeterm("defaultparagraphseparator") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<p>foo[]bar<p>extra" queryCommandState("defaultparagraphseparator") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<p>foo[]bar<p>extra" queryCommandValue("defaultparagraphseparator") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<p>foo[]bar<p>extra" queryCommandIndeterm("defaultparagraphseparator") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<p>foo[]bar<p>extra" queryCommandState("defaultparagraphseparator") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<p>foo[]bar<p>extra" queryCommandValue("defaultparagraphseparator") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<p>foo[]bar<p>extra" queryCommandIndeterm("justifycenter") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<p>foo[]bar<p>extra" queryCommandState("justifycenter") before 
-FAIL [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<p>foo[]bar<p>extra" queryCommandValue("justifycenter") before assert_equals: Wrong result returned expected "left" but got "false"
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<p>foo[]bar<p>extra" queryCommandIndeterm("justifycenter") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<p>foo[]bar<p>extra" queryCommandState("justifycenter") after 
-FAIL [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<p>foo[]bar<p>extra" queryCommandValue("justifycenter") after assert_equals: Wrong result returned expected "center" but got "true"
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<p>foo[]bar<p>extra": execCommand("stylewithcss", false, "false") return value 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<p>foo[]bar<p>extra": execCommand("defaultparagraphseparator", false, "div") return value 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<p>foo[]bar<p>extra": execCommand("justifycenter", false, "") return value 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<p>foo[]bar<p>extra" checks for modifications to non-editable content 
-FAIL [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<p>foo[]bar<p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<div style=\"text-align:center\"><p>foobar</p></div><p>extra</p>" but got "<p style=\"text-align:center\">foobar</p><p>extra</p>"
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<p>foo[]bar<p>extra" queryCommandIndeterm("stylewithcss") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<p>foo[]bar<p>extra" queryCommandState("stylewithcss") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<p>foo[]bar<p>extra" queryCommandValue("stylewithcss") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<p>foo[]bar<p>extra" queryCommandIndeterm("stylewithcss") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<p>foo[]bar<p>extra" queryCommandState("stylewithcss") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<p>foo[]bar<p>extra" queryCommandValue("stylewithcss") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<p>foo[]bar<p>extra" queryCommandIndeterm("defaultparagraphseparator") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<p>foo[]bar<p>extra" queryCommandState("defaultparagraphseparator") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<p>foo[]bar<p>extra" queryCommandValue("defaultparagraphseparator") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<p>foo[]bar<p>extra" queryCommandIndeterm("defaultparagraphseparator") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<p>foo[]bar<p>extra" queryCommandState("defaultparagraphseparator") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<p>foo[]bar<p>extra" queryCommandValue("defaultparagraphseparator") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<p>foo[]bar<p>extra" queryCommandIndeterm("justifycenter") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<p>foo[]bar<p>extra" queryCommandState("justifycenter") before 
-FAIL [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<p>foo[]bar<p>extra" queryCommandValue("justifycenter") before assert_equals: Wrong result returned expected "left" but got "false"
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<p>foo[]bar<p>extra" queryCommandIndeterm("justifycenter") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<p>foo[]bar<p>extra" queryCommandState("justifycenter") after 
-FAIL [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<p>foo[]bar<p>extra" queryCommandValue("justifycenter") after assert_equals: Wrong result returned expected "center" but got "true"
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<p>foo[]bar<p>extra": execCommand("stylewithcss", false, "true") return value 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<p>foo[]bar<p>extra": execCommand("defaultparagraphseparator", false, "p") return value 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<p>foo[]bar<p>extra": execCommand("justifycenter", false, "") return value 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<p>foo[]bar<p>extra" checks for modifications to non-editable content 
-FAIL [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<p>foo[]bar<p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<div style=\"text-align:center\"><p>foobar</p></div><p>extra</p>" but got "<p style=\"text-align:center\">foobar</p><p>extra</p>"
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<p>foo[]bar<p>extra" queryCommandIndeterm("stylewithcss") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<p>foo[]bar<p>extra" queryCommandState("stylewithcss") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<p>foo[]bar<p>extra" queryCommandValue("stylewithcss") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<p>foo[]bar<p>extra" queryCommandIndeterm("stylewithcss") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<p>foo[]bar<p>extra" queryCommandState("stylewithcss") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<p>foo[]bar<p>extra" queryCommandValue("stylewithcss") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<p>foo[]bar<p>extra" queryCommandIndeterm("defaultparagraphseparator") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<p>foo[]bar<p>extra" queryCommandState("defaultparagraphseparator") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<p>foo[]bar<p>extra" queryCommandValue("defaultparagraphseparator") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<p>foo[]bar<p>extra" queryCommandIndeterm("defaultparagraphseparator") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<p>foo[]bar<p>extra" queryCommandState("defaultparagraphseparator") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<p>foo[]bar<p>extra" queryCommandValue("defaultparagraphseparator") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<p>foo[]bar<p>extra" queryCommandIndeterm("justifycenter") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<p>foo[]bar<p>extra" queryCommandState("justifycenter") before 
-FAIL [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<p>foo[]bar<p>extra" queryCommandValue("justifycenter") before assert_equals: Wrong result returned expected "left" but got "false"
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<p>foo[]bar<p>extra" queryCommandIndeterm("justifycenter") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<p>foo[]bar<p>extra" queryCommandState("justifycenter") after 
-FAIL [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<p>foo[]bar<p>extra" queryCommandValue("justifycenter") after assert_equals: Wrong result returned expected "center" but got "true"
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<p>foo[]bar<p>extra": execCommand("stylewithcss", false, "false") return value 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<p>foo[]bar<p>extra": execCommand("defaultparagraphseparator", false, "p") return value 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<p>foo[]bar<p>extra": execCommand("justifycenter", false, "") return value 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<p>foo[]bar<p>extra" checks for modifications to non-editable content 
-FAIL [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<p>foo[]bar<p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<div style=\"text-align:center\"><p>foobar</p></div><p>extra</p>" but got "<p style=\"text-align:center\">foobar</p><p>extra</p>"
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<p>foo[]bar<p>extra" queryCommandIndeterm("stylewithcss") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<p>foo[]bar<p>extra" queryCommandState("stylewithcss") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<p>foo[]bar<p>extra" queryCommandValue("stylewithcss") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<p>foo[]bar<p>extra" queryCommandIndeterm("stylewithcss") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<p>foo[]bar<p>extra" queryCommandState("stylewithcss") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<p>foo[]bar<p>extra" queryCommandValue("stylewithcss") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<p>foo[]bar<p>extra" queryCommandIndeterm("defaultparagraphseparator") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<p>foo[]bar<p>extra" queryCommandState("defaultparagraphseparator") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<p>foo[]bar<p>extra" queryCommandValue("defaultparagraphseparator") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<p>foo[]bar<p>extra" queryCommandIndeterm("defaultparagraphseparator") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<p>foo[]bar<p>extra" queryCommandState("defaultparagraphseparator") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<p>foo[]bar<p>extra" queryCommandValue("defaultparagraphseparator") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<p>foo[]bar<p>extra" queryCommandIndeterm("justifycenter") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<p>foo[]bar<p>extra" queryCommandState("justifycenter") before 
-FAIL [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<p>foo[]bar<p>extra" queryCommandValue("justifycenter") before assert_equals: Wrong result returned expected "left" but got "false"
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<p>foo[]bar<p>extra" queryCommandIndeterm("justifycenter") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<p>foo[]bar<p>extra" queryCommandState("justifycenter") after 
-FAIL [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<p>foo[]bar<p>extra" queryCommandValue("justifycenter") after assert_equals: Wrong result returned expected "center" but got "true"
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<p>foo[bar]baz<p>extra": execCommand("stylewithcss", false, "true") return value 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<p>foo[bar]baz<p>extra": execCommand("defaultparagraphseparator", false, "div") return value 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<p>foo[bar]baz<p>extra": execCommand("justifycenter", false, "") return value 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<p>foo[bar]baz<p>extra" checks for modifications to non-editable content 
-FAIL [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<p>foo[bar]baz<p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<div style=\"text-align:center\"><p>foobarbaz</p></div><p>extra</p>" but got "<p style=\"text-align:center\">foobarbaz</p><p>extra</p>"
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<p>foo[bar]baz<p>extra" queryCommandIndeterm("stylewithcss") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<p>foo[bar]baz<p>extra" queryCommandState("stylewithcss") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<p>foo[bar]baz<p>extra" queryCommandValue("stylewithcss") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<p>foo[bar]baz<p>extra" queryCommandIndeterm("stylewithcss") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<p>foo[bar]baz<p>extra" queryCommandState("stylewithcss") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<p>foo[bar]baz<p>extra" queryCommandValue("stylewithcss") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<p>foo[bar]baz<p>extra" queryCommandIndeterm("defaultparagraphseparator") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<p>foo[bar]baz<p>extra" queryCommandState("defaultparagraphseparator") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<p>foo[bar]baz<p>extra" queryCommandValue("defaultparagraphseparator") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<p>foo[bar]baz<p>extra" queryCommandIndeterm("defaultparagraphseparator") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<p>foo[bar]baz<p>extra" queryCommandState("defaultparagraphseparator") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<p>foo[bar]baz<p>extra" queryCommandValue("defaultparagraphseparator") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<p>foo[bar]baz<p>extra" queryCommandIndeterm("justifycenter") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<p>foo[bar]baz<p>extra" queryCommandState("justifycenter") before 
-FAIL [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<p>foo[bar]baz<p>extra" queryCommandValue("justifycenter") before assert_equals: Wrong result returned expected "left" but got "false"
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<p>foo[bar]baz<p>extra" queryCommandIndeterm("justifycenter") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<p>foo[bar]baz<p>extra" queryCommandState("justifycenter") after 
-FAIL [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<p>foo[bar]baz<p>extra" queryCommandValue("justifycenter") after assert_equals: Wrong result returned expected "center" but got "true"
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<p>foo[bar]baz<p>extra": execCommand("stylewithcss", false, "false") return value 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<p>foo[bar]baz<p>extra": execCommand("defaultparagraphseparator", false, "div") return value 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<p>foo[bar]baz<p>extra": execCommand("justifycenter", false, "") return value 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<p>foo[bar]baz<p>extra" checks for modifications to non-editable content 
-FAIL [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<p>foo[bar]baz<p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<div style=\"text-align:center\"><p>foobarbaz</p></div><p>extra</p>" but got "<p style=\"text-align:center\">foobarbaz</p><p>extra</p>"
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<p>foo[bar]baz<p>extra" queryCommandIndeterm("stylewithcss") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<p>foo[bar]baz<p>extra" queryCommandState("stylewithcss") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<p>foo[bar]baz<p>extra" queryCommandValue("stylewithcss") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<p>foo[bar]baz<p>extra" queryCommandIndeterm("stylewithcss") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<p>foo[bar]baz<p>extra" queryCommandState("stylewithcss") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<p>foo[bar]baz<p>extra" queryCommandValue("stylewithcss") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<p>foo[bar]baz<p>extra" queryCommandIndeterm("defaultparagraphseparator") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<p>foo[bar]baz<p>extra" queryCommandState("defaultparagraphseparator") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<p>foo[bar]baz<p>extra" queryCommandValue("defaultparagraphseparator") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<p>foo[bar]baz<p>extra" queryCommandIndeterm("defaultparagraphseparator") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<p>foo[bar]baz<p>extra" queryCommandState("defaultparagraphseparator") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<p>foo[bar]baz<p>extra" queryCommandValue("defaultparagraphseparator") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<p>foo[bar]baz<p>extra" queryCommandIndeterm("justifycenter") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<p>foo[bar]baz<p>extra" queryCommandState("justifycenter") before 
-FAIL [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<p>foo[bar]baz<p>extra" queryCommandValue("justifycenter") before assert_equals: Wrong result returned expected "left" but got "false"
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<p>foo[bar]baz<p>extra" queryCommandIndeterm("justifycenter") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<p>foo[bar]baz<p>extra" queryCommandState("justifycenter") after 
-FAIL [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<p>foo[bar]baz<p>extra" queryCommandValue("justifycenter") after assert_equals: Wrong result returned expected "center" but got "true"
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<p>foo[bar]baz<p>extra": execCommand("stylewithcss", false, "true") return value 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<p>foo[bar]baz<p>extra": execCommand("defaultparagraphseparator", false, "p") return value 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<p>foo[bar]baz<p>extra": execCommand("justifycenter", false, "") return value 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<p>foo[bar]baz<p>extra" checks for modifications to non-editable content 
-FAIL [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<p>foo[bar]baz<p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<div style=\"text-align:center\"><p>foobarbaz</p></div><p>extra</p>" but got "<p style=\"text-align:center\">foobarbaz</p><p>extra</p>"
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<p>foo[bar]baz<p>extra" queryCommandIndeterm("stylewithcss") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<p>foo[bar]baz<p>extra" queryCommandState("stylewithcss") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<p>foo[bar]baz<p>extra" queryCommandValue("stylewithcss") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<p>foo[bar]baz<p>extra" queryCommandIndeterm("stylewithcss") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<p>foo[bar]baz<p>extra" queryCommandState("stylewithcss") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<p>foo[bar]baz<p>extra" queryCommandValue("stylewithcss") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<p>foo[bar]baz<p>extra" queryCommandIndeterm("defaultparagraphseparator") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<p>foo[bar]baz<p>extra" queryCommandState("defaultparagraphseparator") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<p>foo[bar]baz<p>extra" queryCommandValue("defaultparagraphseparator") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<p>foo[bar]baz<p>extra" queryCommandIndeterm("defaultparagraphseparator") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<p>foo[bar]baz<p>extra" queryCommandState("defaultparagraphseparator") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<p>foo[bar]baz<p>extra" queryCommandValue("defaultparagraphseparator") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<p>foo[bar]baz<p>extra" queryCommandIndeterm("justifycenter") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<p>foo[bar]baz<p>extra" queryCommandState("justifycenter") before 
-FAIL [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<p>foo[bar]baz<p>extra" queryCommandValue("justifycenter") before assert_equals: Wrong result returned expected "left" but got "false"
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<p>foo[bar]baz<p>extra" queryCommandIndeterm("justifycenter") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<p>foo[bar]baz<p>extra" queryCommandState("justifycenter") after 
-FAIL [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<p>foo[bar]baz<p>extra" queryCommandValue("justifycenter") after assert_equals: Wrong result returned expected "center" but got "true"
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<p>foo[bar]baz<p>extra": execCommand("stylewithcss", false, "false") return value 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<p>foo[bar]baz<p>extra": execCommand("defaultparagraphseparator", false, "p") return value 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<p>foo[bar]baz<p>extra": execCommand("justifycenter", false, "") return value 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<p>foo[bar]baz<p>extra" checks for modifications to non-editable content 
-FAIL [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<p>foo[bar]baz<p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<div style=\"text-align:center\"><p>foobarbaz</p></div><p>extra</p>" but got "<p style=\"text-align:center\">foobarbaz</p><p>extra</p>"
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<p>foo[bar]baz<p>extra" queryCommandIndeterm("stylewithcss") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<p>foo[bar]baz<p>extra" queryCommandState("stylewithcss") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<p>foo[bar]baz<p>extra" queryCommandValue("stylewithcss") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<p>foo[bar]baz<p>extra" queryCommandIndeterm("stylewithcss") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<p>foo[bar]baz<p>extra" queryCommandState("stylewithcss") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<p>foo[bar]baz<p>extra" queryCommandValue("stylewithcss") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<p>foo[bar]baz<p>extra" queryCommandIndeterm("defaultparagraphseparator") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<p>foo[bar]baz<p>extra" queryCommandState("defaultparagraphseparator") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<p>foo[bar]baz<p>extra" queryCommandValue("defaultparagraphseparator") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<p>foo[bar]baz<p>extra" queryCommandIndeterm("defaultparagraphseparator") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<p>foo[bar]baz<p>extra" queryCommandState("defaultparagraphseparator") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<p>foo[bar]baz<p>extra" queryCommandValue("defaultparagraphseparator") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<p>foo[bar]baz<p>extra" queryCommandIndeterm("justifycenter") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<p>foo[bar]baz<p>extra" queryCommandState("justifycenter") before 
-FAIL [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<p>foo[bar]baz<p>extra" queryCommandValue("justifycenter") before assert_equals: Wrong result returned expected "left" but got "false"
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<p>foo[bar]baz<p>extra" queryCommandIndeterm("justifycenter") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<p>foo[bar]baz<p>extra" queryCommandState("justifycenter") after 
-FAIL [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<p>foo[bar]baz<p>extra" queryCommandValue("justifycenter") after assert_equals: Wrong result returned expected "center" but got "true"
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<h1>foo[bar]baz</h1><p>extra": execCommand("stylewithcss", false, "true") return value 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<h1>foo[bar]baz</h1><p>extra": execCommand("defaultparagraphseparator", false, "div") return value 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<h1>foo[bar]baz</h1><p>extra": execCommand("justifycenter", false, "") return value 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<h1>foo[bar]baz</h1><p>extra" checks for modifications to non-editable content 
-FAIL [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<h1>foo[bar]baz</h1><p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<div style=\"text-align:center\"><h1>foobarbaz</h1></div><p>extra</p>" but got "<h1 style=\"text-align:center\">foobarbaz</h1><p>extra</p>"
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<h1>foo[bar]baz</h1><p>extra" queryCommandIndeterm("stylewithcss") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<h1>foo[bar]baz</h1><p>extra" queryCommandState("stylewithcss") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<h1>foo[bar]baz</h1><p>extra" queryCommandValue("stylewithcss") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<h1>foo[bar]baz</h1><p>extra" queryCommandIndeterm("stylewithcss") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<h1>foo[bar]baz</h1><p>extra" queryCommandState("stylewithcss") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<h1>foo[bar]baz</h1><p>extra" queryCommandValue("stylewithcss") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<h1>foo[bar]baz</h1><p>extra" queryCommandIndeterm("defaultparagraphseparator") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<h1>foo[bar]baz</h1><p>extra" queryCommandState("defaultparagraphseparator") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<h1>foo[bar]baz</h1><p>extra" queryCommandValue("defaultparagraphseparator") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<h1>foo[bar]baz</h1><p>extra" queryCommandIndeterm("defaultparagraphseparator") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<h1>foo[bar]baz</h1><p>extra" queryCommandState("defaultparagraphseparator") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<h1>foo[bar]baz</h1><p>extra" queryCommandValue("defaultparagraphseparator") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<h1>foo[bar]baz</h1><p>extra" queryCommandIndeterm("justifycenter") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<h1>foo[bar]baz</h1><p>extra" queryCommandState("justifycenter") before 
-FAIL [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<h1>foo[bar]baz</h1><p>extra" queryCommandValue("justifycenter") before assert_equals: Wrong result returned expected "left" but got "false"
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<h1>foo[bar]baz</h1><p>extra" queryCommandIndeterm("justifycenter") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<h1>foo[bar]baz</h1><p>extra" queryCommandState("justifycenter") after 
-FAIL [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<h1>foo[bar]baz</h1><p>extra" queryCommandValue("justifycenter") after assert_equals: Wrong result returned expected "center" but got "true"
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<h1>foo[bar]baz</h1><p>extra": execCommand("stylewithcss", false, "false") return value 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<h1>foo[bar]baz</h1><p>extra": execCommand("defaultparagraphseparator", false, "div") return value 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<h1>foo[bar]baz</h1><p>extra": execCommand("justifycenter", false, "") return value 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<h1>foo[bar]baz</h1><p>extra" checks for modifications to non-editable content 
-FAIL [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<h1>foo[bar]baz</h1><p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<div style=\"text-align:center\"><h1>foobarbaz</h1></div><p>extra</p>" but got "<h1 style=\"text-align:center\">foobarbaz</h1><p>extra</p>"
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<h1>foo[bar]baz</h1><p>extra" queryCommandIndeterm("stylewithcss") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<h1>foo[bar]baz</h1><p>extra" queryCommandState("stylewithcss") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<h1>foo[bar]baz</h1><p>extra" queryCommandValue("stylewithcss") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<h1>foo[bar]baz</h1><p>extra" queryCommandIndeterm("stylewithcss") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<h1>foo[bar]baz</h1><p>extra" queryCommandState("stylewithcss") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<h1>foo[bar]baz</h1><p>extra" queryCommandValue("stylewithcss") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<h1>foo[bar]baz</h1><p>extra" queryCommandIndeterm("defaultparagraphseparator") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<h1>foo[bar]baz</h1><p>extra" queryCommandState("defaultparagraphseparator") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<h1>foo[bar]baz</h1><p>extra" queryCommandValue("defaultparagraphseparator") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<h1>foo[bar]baz</h1><p>extra" queryCommandIndeterm("defaultparagraphseparator") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<h1>foo[bar]baz</h1><p>extra" queryCommandState("defaultparagraphseparator") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<h1>foo[bar]baz</h1><p>extra" queryCommandValue("defaultparagraphseparator") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<h1>foo[bar]baz</h1><p>extra" queryCommandIndeterm("justifycenter") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<h1>foo[bar]baz</h1><p>extra" queryCommandState("justifycenter") before 
-FAIL [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<h1>foo[bar]baz</h1><p>extra" queryCommandValue("justifycenter") before assert_equals: Wrong result returned expected "left" but got "false"
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<h1>foo[bar]baz</h1><p>extra" queryCommandIndeterm("justifycenter") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<h1>foo[bar]baz</h1><p>extra" queryCommandState("justifycenter") after 
-FAIL [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<h1>foo[bar]baz</h1><p>extra" queryCommandValue("justifycenter") after assert_equals: Wrong result returned expected "center" but got "true"
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<h1>foo[bar]baz</h1><p>extra": execCommand("stylewithcss", false, "true") return value 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<h1>foo[bar]baz</h1><p>extra": execCommand("defaultparagraphseparator", false, "p") return value 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<h1>foo[bar]baz</h1><p>extra": execCommand("justifycenter", false, "") return value 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<h1>foo[bar]baz</h1><p>extra" checks for modifications to non-editable content 
-FAIL [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<h1>foo[bar]baz</h1><p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<div style=\"text-align:center\"><h1>foobarbaz</h1></div><p>extra</p>" but got "<h1 style=\"text-align:center\">foobarbaz</h1><p>extra</p>"
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<h1>foo[bar]baz</h1><p>extra" queryCommandIndeterm("stylewithcss") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<h1>foo[bar]baz</h1><p>extra" queryCommandState("stylewithcss") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<h1>foo[bar]baz</h1><p>extra" queryCommandValue("stylewithcss") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<h1>foo[bar]baz</h1><p>extra" queryCommandIndeterm("stylewithcss") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<h1>foo[bar]baz</h1><p>extra" queryCommandState("stylewithcss") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<h1>foo[bar]baz</h1><p>extra" queryCommandValue("stylewithcss") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<h1>foo[bar]baz</h1><p>extra" queryCommandIndeterm("defaultparagraphseparator") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<h1>foo[bar]baz</h1><p>extra" queryCommandState("defaultparagraphseparator") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<h1>foo[bar]baz</h1><p>extra" queryCommandValue("defaultparagraphseparator") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<h1>foo[bar]baz</h1><p>extra" queryCommandIndeterm("defaultparagraphseparator") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<h1>foo[bar]baz</h1><p>extra" queryCommandState("defaultparagraphseparator") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<h1>foo[bar]baz</h1><p>extra" queryCommandValue("defaultparagraphseparator") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<h1>foo[bar]baz</h1><p>extra" queryCommandIndeterm("justifycenter") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<h1>foo[bar]baz</h1><p>extra" queryCommandState("justifycenter") before 
-FAIL [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<h1>foo[bar]baz</h1><p>extra" queryCommandValue("justifycenter") before assert_equals: Wrong result returned expected "left" but got "false"
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<h1>foo[bar]baz</h1><p>extra" queryCommandIndeterm("justifycenter") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<h1>foo[bar]baz</h1><p>extra" queryCommandState("justifycenter") after 
-FAIL [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<h1>foo[bar]baz</h1><p>extra" queryCommandValue("justifycenter") after assert_equals: Wrong result returned expected "center" but got "true"
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<h1>foo[bar]baz</h1><p>extra": execCommand("stylewithcss", false, "false") return value 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<h1>foo[bar]baz</h1><p>extra": execCommand("defaultparagraphseparator", false, "p") return value 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<h1>foo[bar]baz</h1><p>extra": execCommand("justifycenter", false, "") return value 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<h1>foo[bar]baz</h1><p>extra" checks for modifications to non-editable content 
-FAIL [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<h1>foo[bar]baz</h1><p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<div style=\"text-align:center\"><h1>foobarbaz</h1></div><p>extra</p>" but got "<h1 style=\"text-align:center\">foobarbaz</h1><p>extra</p>"
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<h1>foo[bar]baz</h1><p>extra" queryCommandIndeterm("stylewithcss") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<h1>foo[bar]baz</h1><p>extra" queryCommandState("stylewithcss") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<h1>foo[bar]baz</h1><p>extra" queryCommandValue("stylewithcss") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<h1>foo[bar]baz</h1><p>extra" queryCommandIndeterm("stylewithcss") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<h1>foo[bar]baz</h1><p>extra" queryCommandState("stylewithcss") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<h1>foo[bar]baz</h1><p>extra" queryCommandValue("stylewithcss") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<h1>foo[bar]baz</h1><p>extra" queryCommandIndeterm("defaultparagraphseparator") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<h1>foo[bar]baz</h1><p>extra" queryCommandState("defaultparagraphseparator") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<h1>foo[bar]baz</h1><p>extra" queryCommandValue("defaultparagraphseparator") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<h1>foo[bar]baz</h1><p>extra" queryCommandIndeterm("defaultparagraphseparator") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<h1>foo[bar]baz</h1><p>extra" queryCommandState("defaultparagraphseparator") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<h1>foo[bar]baz</h1><p>extra" queryCommandValue("defaultparagraphseparator") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<h1>foo[bar]baz</h1><p>extra" queryCommandIndeterm("justifycenter") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<h1>foo[bar]baz</h1><p>extra" queryCommandState("justifycenter") before 
-FAIL [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<h1>foo[bar]baz</h1><p>extra" queryCommandValue("justifycenter") before assert_equals: Wrong result returned expected "left" but got "false"
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<h1>foo[bar]baz</h1><p>extra" queryCommandIndeterm("justifycenter") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<h1>foo[bar]baz</h1><p>extra" queryCommandState("justifycenter") after 
-FAIL [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<h1>foo[bar]baz</h1><p>extra" queryCommandValue("justifycenter") after assert_equals: Wrong result returned expected "center" but got "true"
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<pre>foo[bar]baz</pre><p>extra": execCommand("stylewithcss", false, "true") return value 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<pre>foo[bar]baz</pre><p>extra": execCommand("defaultparagraphseparator", false, "div") return value 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<pre>foo[bar]baz</pre><p>extra": execCommand("justifycenter", false, "") return value 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<pre>foo[bar]baz</pre><p>extra" checks for modifications to non-editable content 
-FAIL [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<pre>foo[bar]baz</pre><p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<div style=\"text-align:center\"><pre>foobarbaz</pre></div><p>extra</p>" but got "<pre style=\"text-align:center\">foobarbaz</pre><p>extra</p>"
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<pre>foo[bar]baz</pre><p>extra" queryCommandIndeterm("stylewithcss") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<pre>foo[bar]baz</pre><p>extra" queryCommandState("stylewithcss") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<pre>foo[bar]baz</pre><p>extra" queryCommandValue("stylewithcss") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<pre>foo[bar]baz</pre><p>extra" queryCommandIndeterm("stylewithcss") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<pre>foo[bar]baz</pre><p>extra" queryCommandState("stylewithcss") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<pre>foo[bar]baz</pre><p>extra" queryCommandValue("stylewithcss") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<pre>foo[bar]baz</pre><p>extra" queryCommandIndeterm("defaultparagraphseparator") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<pre>foo[bar]baz</pre><p>extra" queryCommandState("defaultparagraphseparator") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<pre>foo[bar]baz</pre><p>extra" queryCommandValue("defaultparagraphseparator") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<pre>foo[bar]baz</pre><p>extra" queryCommandIndeterm("defaultparagraphseparator") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<pre>foo[bar]baz</pre><p>extra" queryCommandState("defaultparagraphseparator") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<pre>foo[bar]baz</pre><p>extra" queryCommandValue("defaultparagraphseparator") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<pre>foo[bar]baz</pre><p>extra" queryCommandIndeterm("justifycenter") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<pre>foo[bar]baz</pre><p>extra" queryCommandState("justifycenter") before 
-FAIL [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<pre>foo[bar]baz</pre><p>extra" queryCommandValue("justifycenter") before assert_equals: Wrong result returned expected "left" but got "false"
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<pre>foo[bar]baz</pre><p>extra" queryCommandIndeterm("justifycenter") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<pre>foo[bar]baz</pre><p>extra" queryCommandState("justifycenter") after 
-FAIL [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<pre>foo[bar]baz</pre><p>extra" queryCommandValue("justifycenter") after assert_equals: Wrong result returned expected "center" but got "true"
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<pre>foo[bar]baz</pre><p>extra": execCommand("stylewithcss", false, "false") return value 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<pre>foo[bar]baz</pre><p>extra": execCommand("defaultparagraphseparator", false, "div") return value 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<pre>foo[bar]baz</pre><p>extra": execCommand("justifycenter", false, "") return value 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<pre>foo[bar]baz</pre><p>extra" checks for modifications to non-editable content 
-FAIL [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<pre>foo[bar]baz</pre><p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<div style=\"text-align:center\"><pre>foobarbaz</pre></div><p>extra</p>" but got "<pre style=\"text-align:center\">foobarbaz</pre><p>extra</p>"
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<pre>foo[bar]baz</pre><p>extra" queryCommandIndeterm("stylewithcss") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<pre>foo[bar]baz</pre><p>extra" queryCommandState("stylewithcss") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<pre>foo[bar]baz</pre><p>extra" queryCommandValue("stylewithcss") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<pre>foo[bar]baz</pre><p>extra" queryCommandIndeterm("stylewithcss") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<pre>foo[bar]baz</pre><p>extra" queryCommandState("stylewithcss") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<pre>foo[bar]baz</pre><p>extra" queryCommandValue("stylewithcss") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<pre>foo[bar]baz</pre><p>extra" queryCommandIndeterm("defaultparagraphseparator") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<pre>foo[bar]baz</pre><p>extra" queryCommandState("defaultparagraphseparator") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<pre>foo[bar]baz</pre><p>extra" queryCommandValue("defaultparagraphseparator") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<pre>foo[bar]baz</pre><p>extra" queryCommandIndeterm("defaultparagraphseparator") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<pre>foo[bar]baz</pre><p>extra" queryCommandState("defaultparagraphseparator") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<pre>foo[bar]baz</pre><p>extra" queryCommandValue("defaultparagraphseparator") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<pre>foo[bar]baz</pre><p>extra" queryCommandIndeterm("justifycenter") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<pre>foo[bar]baz</pre><p>extra" queryCommandState("justifycenter") before 
-FAIL [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<pre>foo[bar]baz</pre><p>extra" queryCommandValue("justifycenter") before assert_equals: Wrong result returned expected "left" but got "false"
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<pre>foo[bar]baz</pre><p>extra" queryCommandIndeterm("justifycenter") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<pre>foo[bar]baz</pre><p>extra" queryCommandState("justifycenter") after 
-FAIL [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<pre>foo[bar]baz</pre><p>extra" queryCommandValue("justifycenter") after assert_equals: Wrong result returned expected "center" but got "true"
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<pre>foo[bar]baz</pre><p>extra": execCommand("stylewithcss", false, "true") return value 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<pre>foo[bar]baz</pre><p>extra": execCommand("defaultparagraphseparator", false, "p") return value 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<pre>foo[bar]baz</pre><p>extra": execCommand("justifycenter", false, "") return value 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<pre>foo[bar]baz</pre><p>extra" checks for modifications to non-editable content 
-FAIL [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<pre>foo[bar]baz</pre><p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<div style=\"text-align:center\"><pre>foobarbaz</pre></div><p>extra</p>" but got "<pre style=\"text-align:center\">foobarbaz</pre><p>extra</p>"
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<pre>foo[bar]baz</pre><p>extra" queryCommandIndeterm("stylewithcss") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<pre>foo[bar]baz</pre><p>extra" queryCommandState("stylewithcss") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<pre>foo[bar]baz</pre><p>extra" queryCommandValue("stylewithcss") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<pre>foo[bar]baz</pre><p>extra" queryCommandIndeterm("stylewithcss") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<pre>foo[bar]baz</pre><p>extra" queryCommandState("stylewithcss") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<pre>foo[bar]baz</pre><p>extra" queryCommandValue("stylewithcss") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<pre>foo[bar]baz</pre><p>extra" queryCommandIndeterm("defaultparagraphseparator") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<pre>foo[bar]baz</pre><p>extra" queryCommandState("defaultparagraphseparator") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<pre>foo[bar]baz</pre><p>extra" queryCommandValue("defaultparagraphseparator") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<pre>foo[bar]baz</pre><p>extra" queryCommandIndeterm("defaultparagraphseparator") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<pre>foo[bar]baz</pre><p>extra" queryCommandState("defaultparagraphseparator") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<pre>foo[bar]baz</pre><p>extra" queryCommandValue("defaultparagraphseparator") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<pre>foo[bar]baz</pre><p>extra" queryCommandIndeterm("justifycenter") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<pre>foo[bar]baz</pre><p>extra" queryCommandState("justifycenter") before 
-FAIL [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<pre>foo[bar]baz</pre><p>extra" queryCommandValue("justifycenter") before assert_equals: Wrong result returned expected "left" but got "false"
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<pre>foo[bar]baz</pre><p>extra" queryCommandIndeterm("justifycenter") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<pre>foo[bar]baz</pre><p>extra" queryCommandState("justifycenter") after 
-FAIL [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<pre>foo[bar]baz</pre><p>extra" queryCommandValue("justifycenter") after assert_equals: Wrong result returned expected "center" but got "true"
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<pre>foo[bar]baz</pre><p>extra": execCommand("stylewithcss", false, "false") return value 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<pre>foo[bar]baz</pre><p>extra": execCommand("defaultparagraphseparator", false, "p") return value 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<pre>foo[bar]baz</pre><p>extra": execCommand("justifycenter", false, "") return value 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<pre>foo[bar]baz</pre><p>extra" checks for modifications to non-editable content 
-FAIL [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<pre>foo[bar]baz</pre><p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<div style=\"text-align:center\"><pre>foobarbaz</pre></div><p>extra</p>" but got "<pre style=\"text-align:center\">foobarbaz</pre><p>extra</p>"
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<pre>foo[bar]baz</pre><p>extra" queryCommandIndeterm("stylewithcss") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<pre>foo[bar]baz</pre><p>extra" queryCommandState("stylewithcss") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<pre>foo[bar]baz</pre><p>extra" queryCommandValue("stylewithcss") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<pre>foo[bar]baz</pre><p>extra" queryCommandIndeterm("stylewithcss") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<pre>foo[bar]baz</pre><p>extra" queryCommandState("stylewithcss") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<pre>foo[bar]baz</pre><p>extra" queryCommandValue("stylewithcss") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<pre>foo[bar]baz</pre><p>extra" queryCommandIndeterm("defaultparagraphseparator") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<pre>foo[bar]baz</pre><p>extra" queryCommandState("defaultparagraphseparator") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<pre>foo[bar]baz</pre><p>extra" queryCommandValue("defaultparagraphseparator") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<pre>foo[bar]baz</pre><p>extra" queryCommandIndeterm("defaultparagraphseparator") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<pre>foo[bar]baz</pre><p>extra" queryCommandState("defaultparagraphseparator") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<pre>foo[bar]baz</pre><p>extra" queryCommandValue("defaultparagraphseparator") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<pre>foo[bar]baz</pre><p>extra" queryCommandIndeterm("justifycenter") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<pre>foo[bar]baz</pre><p>extra" queryCommandState("justifycenter") before 
-FAIL [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<pre>foo[bar]baz</pre><p>extra" queryCommandValue("justifycenter") before assert_equals: Wrong result returned expected "left" but got "false"
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<pre>foo[bar]baz</pre><p>extra" queryCommandIndeterm("justifycenter") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<pre>foo[bar]baz</pre><p>extra" queryCommandState("justifycenter") after 
-FAIL [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<pre>foo[bar]baz</pre><p>extra" queryCommandValue("justifycenter") after assert_equals: Wrong result returned expected "center" but got "true"
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<xmp>foo[bar]baz</xmp><p>extra": execCommand("stylewithcss", false, "true") return value 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<xmp>foo[bar]baz</xmp><p>extra": execCommand("defaultparagraphseparator", false, "div") return value 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<xmp>foo[bar]baz</xmp><p>extra": execCommand("justifycenter", false, "") return value 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<xmp>foo[bar]baz</xmp><p>extra" checks for modifications to non-editable content 
-FAIL [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<xmp>foo[bar]baz</xmp><p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<div style=\"text-align:center\"><xmp>foobarbaz</xmp></div><p>extra</p>" but got "<xmp style=\"text-align:center\">foobarbaz</xmp><p>extra</p>"
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<xmp>foo[bar]baz</xmp><p>extra" queryCommandIndeterm("stylewithcss") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<xmp>foo[bar]baz</xmp><p>extra" queryCommandState("stylewithcss") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<xmp>foo[bar]baz</xmp><p>extra" queryCommandValue("stylewithcss") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<xmp>foo[bar]baz</xmp><p>extra" queryCommandIndeterm("stylewithcss") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<xmp>foo[bar]baz</xmp><p>extra" queryCommandState("stylewithcss") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<xmp>foo[bar]baz</xmp><p>extra" queryCommandValue("stylewithcss") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<xmp>foo[bar]baz</xmp><p>extra" queryCommandIndeterm("defaultparagraphseparator") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<xmp>foo[bar]baz</xmp><p>extra" queryCommandState("defaultparagraphseparator") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<xmp>foo[bar]baz</xmp><p>extra" queryCommandValue("defaultparagraphseparator") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<xmp>foo[bar]baz</xmp><p>extra" queryCommandIndeterm("defaultparagraphseparator") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<xmp>foo[bar]baz</xmp><p>extra" queryCommandState("defaultparagraphseparator") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<xmp>foo[bar]baz</xmp><p>extra" queryCommandValue("defaultparagraphseparator") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<xmp>foo[bar]baz</xmp><p>extra" queryCommandIndeterm("justifycenter") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<xmp>foo[bar]baz</xmp><p>extra" queryCommandState("justifycenter") before 
-FAIL [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<xmp>foo[bar]baz</xmp><p>extra" queryCommandValue("justifycenter") before assert_equals: Wrong result returned expected "left" but got "false"
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<xmp>foo[bar]baz</xmp><p>extra" queryCommandIndeterm("justifycenter") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<xmp>foo[bar]baz</xmp><p>extra" queryCommandState("justifycenter") after 
-FAIL [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<xmp>foo[bar]baz</xmp><p>extra" queryCommandValue("justifycenter") after assert_equals: Wrong result returned expected "center" but got "true"
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<xmp>foo[bar]baz</xmp><p>extra": execCommand("stylewithcss", false, "false") return value 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<xmp>foo[bar]baz</xmp><p>extra": execCommand("defaultparagraphseparator", false, "div") return value 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<xmp>foo[bar]baz</xmp><p>extra": execCommand("justifycenter", false, "") return value 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<xmp>foo[bar]baz</xmp><p>extra" checks for modifications to non-editable content 
-FAIL [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<xmp>foo[bar]baz</xmp><p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<div style=\"text-align:center\"><xmp>foobarbaz</xmp></div><p>extra</p>" but got "<xmp style=\"text-align:center\">foobarbaz</xmp><p>extra</p>"
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<xmp>foo[bar]baz</xmp><p>extra" queryCommandIndeterm("stylewithcss") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<xmp>foo[bar]baz</xmp><p>extra" queryCommandState("stylewithcss") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<xmp>foo[bar]baz</xmp><p>extra" queryCommandValue("stylewithcss") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<xmp>foo[bar]baz</xmp><p>extra" queryCommandIndeterm("stylewithcss") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<xmp>foo[bar]baz</xmp><p>extra" queryCommandState("stylewithcss") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<xmp>foo[bar]baz</xmp><p>extra" queryCommandValue("stylewithcss") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<xmp>foo[bar]baz</xmp><p>extra" queryCommandIndeterm("defaultparagraphseparator") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<xmp>foo[bar]baz</xmp><p>extra" queryCommandState("defaultparagraphseparator") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<xmp>foo[bar]baz</xmp><p>extra" queryCommandValue("defaultparagraphseparator") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<xmp>foo[bar]baz</xmp><p>extra" queryCommandIndeterm("defaultparagraphseparator") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<xmp>foo[bar]baz</xmp><p>extra" queryCommandState("defaultparagraphseparator") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<xmp>foo[bar]baz</xmp><p>extra" queryCommandValue("defaultparagraphseparator") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<xmp>foo[bar]baz</xmp><p>extra" queryCommandIndeterm("justifycenter") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<xmp>foo[bar]baz</xmp><p>extra" queryCommandState("justifycenter") before 
-FAIL [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<xmp>foo[bar]baz</xmp><p>extra" queryCommandValue("justifycenter") before assert_equals: Wrong result returned expected "left" but got "false"
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<xmp>foo[bar]baz</xmp><p>extra" queryCommandIndeterm("justifycenter") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<xmp>foo[bar]baz</xmp><p>extra" queryCommandState("justifycenter") after 
-FAIL [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<xmp>foo[bar]baz</xmp><p>extra" queryCommandValue("justifycenter") after assert_equals: Wrong result returned expected "center" but got "true"
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<xmp>foo[bar]baz</xmp><p>extra": execCommand("stylewithcss", false, "true") return value 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<xmp>foo[bar]baz</xmp><p>extra": execCommand("defaultparagraphseparator", false, "p") return value 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<xmp>foo[bar]baz</xmp><p>extra": execCommand("justifycenter", false, "") return value 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<xmp>foo[bar]baz</xmp><p>extra" checks for modifications to non-editable content 
-FAIL [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<xmp>foo[bar]baz</xmp><p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<div style=\"text-align:center\"><xmp>foobarbaz</xmp></div><p>extra</p>" but got "<xmp style=\"text-align:center\">foobarbaz</xmp><p>extra</p>"
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<xmp>foo[bar]baz</xmp><p>extra" queryCommandIndeterm("stylewithcss") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<xmp>foo[bar]baz</xmp><p>extra" queryCommandState("stylewithcss") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<xmp>foo[bar]baz</xmp><p>extra" queryCommandValue("stylewithcss") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<xmp>foo[bar]baz</xmp><p>extra" queryCommandIndeterm("stylewithcss") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<xmp>foo[bar]baz</xmp><p>extra" queryCommandState("stylewithcss") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<xmp>foo[bar]baz</xmp><p>extra" queryCommandValue("stylewithcss") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<xmp>foo[bar]baz</xmp><p>extra" queryCommandIndeterm("defaultparagraphseparator") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<xmp>foo[bar]baz</xmp><p>extra" queryCommandState("defaultparagraphseparator") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<xmp>foo[bar]baz</xmp><p>extra" queryCommandValue("defaultparagraphseparator") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<xmp>foo[bar]baz</xmp><p>extra" queryCommandIndeterm("defaultparagraphseparator") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<xmp>foo[bar]baz</xmp><p>extra" queryCommandState("defaultparagraphseparator") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<xmp>foo[bar]baz</xmp><p>extra" queryCommandValue("defaultparagraphseparator") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<xmp>foo[bar]baz</xmp><p>extra" queryCommandIndeterm("justifycenter") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<xmp>foo[bar]baz</xmp><p>extra" queryCommandState("justifycenter") before 
-FAIL [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<xmp>foo[bar]baz</xmp><p>extra" queryCommandValue("justifycenter") before assert_equals: Wrong result returned expected "left" but got "false"
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<xmp>foo[bar]baz</xmp><p>extra" queryCommandIndeterm("justifycenter") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<xmp>foo[bar]baz</xmp><p>extra" queryCommandState("justifycenter") after 
-FAIL [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<xmp>foo[bar]baz</xmp><p>extra" queryCommandValue("justifycenter") after assert_equals: Wrong result returned expected "center" but got "true"
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<xmp>foo[bar]baz</xmp><p>extra": execCommand("stylewithcss", false, "false") return value 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<xmp>foo[bar]baz</xmp><p>extra": execCommand("defaultparagraphseparator", false, "p") return value 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<xmp>foo[bar]baz</xmp><p>extra": execCommand("justifycenter", false, "") return value 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<xmp>foo[bar]baz</xmp><p>extra" checks for modifications to non-editable content 
-FAIL [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<xmp>foo[bar]baz</xmp><p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<div style=\"text-align:center\"><xmp>foobarbaz</xmp></div><p>extra</p>" but got "<xmp style=\"text-align:center\">foobarbaz</xmp><p>extra</p>"
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<xmp>foo[bar]baz</xmp><p>extra" queryCommandIndeterm("stylewithcss") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<xmp>foo[bar]baz</xmp><p>extra" queryCommandState("stylewithcss") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<xmp>foo[bar]baz</xmp><p>extra" queryCommandValue("stylewithcss") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<xmp>foo[bar]baz</xmp><p>extra" queryCommandIndeterm("stylewithcss") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<xmp>foo[bar]baz</xmp><p>extra" queryCommandState("stylewithcss") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<xmp>foo[bar]baz</xmp><p>extra" queryCommandValue("stylewithcss") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<xmp>foo[bar]baz</xmp><p>extra" queryCommandIndeterm("defaultparagraphseparator") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<xmp>foo[bar]baz</xmp><p>extra" queryCommandState("defaultparagraphseparator") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<xmp>foo[bar]baz</xmp><p>extra" queryCommandValue("defaultparagraphseparator") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<xmp>foo[bar]baz</xmp><p>extra" queryCommandIndeterm("defaultparagraphseparator") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<xmp>foo[bar]baz</xmp><p>extra" queryCommandState("defaultparagraphseparator") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<xmp>foo[bar]baz</xmp><p>extra" queryCommandValue("defaultparagraphseparator") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<xmp>foo[bar]baz</xmp><p>extra" queryCommandIndeterm("justifycenter") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<xmp>foo[bar]baz</xmp><p>extra" queryCommandState("justifycenter") before 
-FAIL [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<xmp>foo[bar]baz</xmp><p>extra" queryCommandValue("justifycenter") before assert_equals: Wrong result returned expected "left" but got "false"
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<xmp>foo[bar]baz</xmp><p>extra" queryCommandIndeterm("justifycenter") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<xmp>foo[bar]baz</xmp><p>extra" queryCommandState("justifycenter") after 
-FAIL [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<xmp>foo[bar]baz</xmp><p>extra" queryCommandValue("justifycenter") after assert_equals: Wrong result returned expected "center" but got "true"
-PASS [["justifycenter",""]] "<center><p>[foo]<p>bar</center><p>extra": execCommand("justifycenter", false, "") return value 
-PASS [["justifycenter",""]] "<center><p>[foo]<p>bar</center><p>extra" checks for modifications to non-editable content 
-PASS [["justifycenter",""]] "<center><p>[foo]<p>bar</center><p>extra" compare innerHTML 
-PASS [["justifycenter",""]] "<center><p>[foo]<p>bar</center><p>extra" queryCommandIndeterm("justifycenter") before 
-PASS [["justifycenter",""]] "<center><p>[foo]<p>bar</center><p>extra" queryCommandState("justifycenter") before 
-FAIL [["justifycenter",""]] "<center><p>[foo]<p>bar</center><p>extra" queryCommandValue("justifycenter") before assert_equals: Wrong result returned expected "center" but got "true"
-PASS [["justifycenter",""]] "<center><p>[foo]<p>bar</center><p>extra" queryCommandIndeterm("justifycenter") after 
-PASS [["justifycenter",""]] "<center><p>[foo]<p>bar</center><p>extra" queryCommandState("justifycenter") after 
-FAIL [["justifycenter",""]] "<center><p>[foo]<p>bar</center><p>extra" queryCommandValue("justifycenter") after assert_equals: Wrong result returned expected "center" but got "true"
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<center><p>[foo<p>bar]</center><p>extra": execCommand("stylewithcss", false, "true") return value 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<center><p>[foo<p>bar]</center><p>extra": execCommand("defaultparagraphseparator", false, "div") return value 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<center><p>[foo<p>bar]</center><p>extra": execCommand("justifycenter", false, "") return value 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<center><p>[foo<p>bar]</center><p>extra" checks for modifications to non-editable content 
-FAIL [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<center><p>[foo<p>bar]</center><p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<div style=\"text-align:center\"><p>foo</p><p>bar</p></div><p>extra</p>" but got "<center><p>foo</p><p>bar</p></center><p>extra</p>"
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<center><p>[foo<p>bar]</center><p>extra" queryCommandIndeterm("stylewithcss") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<center><p>[foo<p>bar]</center><p>extra" queryCommandState("stylewithcss") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<center><p>[foo<p>bar]</center><p>extra" queryCommandValue("stylewithcss") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<center><p>[foo<p>bar]</center><p>extra" queryCommandIndeterm("stylewithcss") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<center><p>[foo<p>bar]</center><p>extra" queryCommandState("stylewithcss") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<center><p>[foo<p>bar]</center><p>extra" queryCommandValue("stylewithcss") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<center><p>[foo<p>bar]</center><p>extra" queryCommandIndeterm("defaultparagraphseparator") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<center><p>[foo<p>bar]</center><p>extra" queryCommandState("defaultparagraphseparator") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<center><p>[foo<p>bar]</center><p>extra" queryCommandValue("defaultparagraphseparator") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<center><p>[foo<p>bar]</center><p>extra" queryCommandIndeterm("defaultparagraphseparator") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<center><p>[foo<p>bar]</center><p>extra" queryCommandState("defaultparagraphseparator") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<center><p>[foo<p>bar]</center><p>extra" queryCommandValue("defaultparagraphseparator") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<center><p>[foo<p>bar]</center><p>extra" queryCommandIndeterm("justifycenter") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<center><p>[foo<p>bar]</center><p>extra" queryCommandState("justifycenter") before 
-FAIL [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<center><p>[foo<p>bar]</center><p>extra" queryCommandValue("justifycenter") before assert_equals: Wrong result returned expected "center" but got "true"
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<center><p>[foo<p>bar]</center><p>extra" queryCommandIndeterm("justifycenter") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<center><p>[foo<p>bar]</center><p>extra" queryCommandState("justifycenter") after 
-FAIL [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<center><p>[foo<p>bar]</center><p>extra" queryCommandValue("justifycenter") after assert_equals: Wrong result returned expected "center" but got "true"
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<center><p>[foo<p>bar]</center><p>extra": execCommand("stylewithcss", false, "false") return value 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<center><p>[foo<p>bar]</center><p>extra": execCommand("defaultparagraphseparator", false, "div") return value 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<center><p>[foo<p>bar]</center><p>extra": execCommand("justifycenter", false, "") return value 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<center><p>[foo<p>bar]</center><p>extra" checks for modifications to non-editable content 
-FAIL [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<center><p>[foo<p>bar]</center><p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<div style=\"text-align:center\"><p>foo</p><p>bar</p></div><p>extra</p>" but got "<center><p>foo</p><p>bar</p></center><p>extra</p>"
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<center><p>[foo<p>bar]</center><p>extra" queryCommandIndeterm("stylewithcss") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<center><p>[foo<p>bar]</center><p>extra" queryCommandState("stylewithcss") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<center><p>[foo<p>bar]</center><p>extra" queryCommandValue("stylewithcss") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<center><p>[foo<p>bar]</center><p>extra" queryCommandIndeterm("stylewithcss") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<center><p>[foo<p>bar]</center><p>extra" queryCommandState("stylewithcss") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<center><p>[foo<p>bar]</center><p>extra" queryCommandValue("stylewithcss") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<center><p>[foo<p>bar]</center><p>extra" queryCommandIndeterm("defaultparagraphseparator") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<center><p>[foo<p>bar]</center><p>extra" queryCommandState("defaultparagraphseparator") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<center><p>[foo<p>bar]</center><p>extra" queryCommandValue("defaultparagraphseparator") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<center><p>[foo<p>bar]</center><p>extra" queryCommandIndeterm("defaultparagraphseparator") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<center><p>[foo<p>bar]</center><p>extra" queryCommandState("defaultparagraphseparator") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<center><p>[foo<p>bar]</center><p>extra" queryCommandValue("defaultparagraphseparator") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<center><p>[foo<p>bar]</center><p>extra" queryCommandIndeterm("justifycenter") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<center><p>[foo<p>bar]</center><p>extra" queryCommandState("justifycenter") before 
-FAIL [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<center><p>[foo<p>bar]</center><p>extra" queryCommandValue("justifycenter") before assert_equals: Wrong result returned expected "center" but got "true"
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<center><p>[foo<p>bar]</center><p>extra" queryCommandIndeterm("justifycenter") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<center><p>[foo<p>bar]</center><p>extra" queryCommandState("justifycenter") after 
-FAIL [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<center><p>[foo<p>bar]</center><p>extra" queryCommandValue("justifycenter") after assert_equals: Wrong result returned expected "center" but got "true"
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<center><p>[foo<p>bar]</center><p>extra": execCommand("stylewithcss", false, "true") return value 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<center><p>[foo<p>bar]</center><p>extra": execCommand("defaultparagraphseparator", false, "p") return value 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<center><p>[foo<p>bar]</center><p>extra": execCommand("justifycenter", false, "") return value 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<center><p>[foo<p>bar]</center><p>extra" checks for modifications to non-editable content 
-FAIL [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<center><p>[foo<p>bar]</center><p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<div style=\"text-align:center\"><p>foo</p><p>bar</p></div><p>extra</p>" but got "<center><p>foo</p><p>bar</p></center><p>extra</p>"
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<center><p>[foo<p>bar]</center><p>extra" queryCommandIndeterm("stylewithcss") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<center><p>[foo<p>bar]</center><p>extra" queryCommandState("stylewithcss") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<center><p>[foo<p>bar]</center><p>extra" queryCommandValue("stylewithcss") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<center><p>[foo<p>bar]</center><p>extra" queryCommandIndeterm("stylewithcss") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<center><p>[foo<p>bar]</center><p>extra" queryCommandState("stylewithcss") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<center><p>[foo<p>bar]</center><p>extra" queryCommandValue("stylewithcss") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<center><p>[foo<p>bar]</center><p>extra" queryCommandIndeterm("defaultparagraphseparator") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<center><p>[foo<p>bar]</center><p>extra" queryCommandState("defaultparagraphseparator") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<center><p>[foo<p>bar]</center><p>extra" queryCommandValue("defaultparagraphseparator") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<center><p>[foo<p>bar]</center><p>extra" queryCommandIndeterm("defaultparagraphseparator") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<center><p>[foo<p>bar]</center><p>extra" queryCommandState("defaultparagraphseparator") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<center><p>[foo<p>bar]</center><p>extra" queryCommandValue("defaultparagraphseparator") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<center><p>[foo<p>bar]</center><p>extra" queryCommandIndeterm("justifycenter") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<center><p>[foo<p>bar]</center><p>extra" queryCommandState("justifycenter") before 
-FAIL [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<center><p>[foo<p>bar]</center><p>extra" queryCommandValue("justifycenter") before assert_equals: Wrong result returned expected "center" but got "true"
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<center><p>[foo<p>bar]</center><p>extra" queryCommandIndeterm("justifycenter") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<center><p>[foo<p>bar]</center><p>extra" queryCommandState("justifycenter") after 
-FAIL [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<center><p>[foo<p>bar]</center><p>extra" queryCommandValue("justifycenter") after assert_equals: Wrong result returned expected "center" but got "true"
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<center><p>[foo<p>bar]</center><p>extra": execCommand("stylewithcss", false, "false") return value 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<center><p>[foo<p>bar]</center><p>extra": execCommand("defaultparagraphseparator", false, "p") return value 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<center><p>[foo<p>bar]</center><p>extra": execCommand("justifycenter", false, "") return value 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<center><p>[foo<p>bar]</center><p>extra" checks for modifications to non-editable content 
-FAIL [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<center><p>[foo<p>bar]</center><p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<div style=\"text-align:center\"><p>foo</p><p>bar</p></div><p>extra</p>" but got "<center><p>foo</p><p>bar</p></center><p>extra</p>"
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<center><p>[foo<p>bar]</center><p>extra" queryCommandIndeterm("stylewithcss") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<center><p>[foo<p>bar]</center><p>extra" queryCommandState("stylewithcss") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<center><p>[foo<p>bar]</center><p>extra" queryCommandValue("stylewithcss") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<center><p>[foo<p>bar]</center><p>extra" queryCommandIndeterm("stylewithcss") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<center><p>[foo<p>bar]</center><p>extra" queryCommandState("stylewithcss") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<center><p>[foo<p>bar]</center><p>extra" queryCommandValue("stylewithcss") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<center><p>[foo<p>bar]</center><p>extra" queryCommandIndeterm("defaultparagraphseparator") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<center><p>[foo<p>bar]</center><p>extra" queryCommandState("defaultparagraphseparator") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<center><p>[foo<p>bar]</center><p>extra" queryCommandValue("defaultparagraphseparator") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<center><p>[foo<p>bar]</center><p>extra" queryCommandIndeterm("defaultparagraphseparator") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<center><p>[foo<p>bar]</center><p>extra" queryCommandState("defaultparagraphseparator") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<center><p>[foo<p>bar]</center><p>extra" queryCommandValue("defaultparagraphseparator") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<center><p>[foo<p>bar]</center><p>extra" queryCommandIndeterm("justifycenter") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<center><p>[foo<p>bar]</center><p>extra" queryCommandState("justifycenter") before 
-FAIL [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<center><p>[foo<p>bar]</center><p>extra" queryCommandValue("justifycenter") before assert_equals: Wrong result returned expected "center" but got "true"
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<center><p>[foo<p>bar]</center><p>extra" queryCommandIndeterm("justifycenter") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<center><p>[foo<p>bar]</center><p>extra" queryCommandState("justifycenter") after 
-FAIL [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<center><p>[foo<p>bar]</center><p>extra" queryCommandValue("justifycenter") after assert_equals: Wrong result returned expected "center" but got "true"
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table><tbody><tr><td>foo<td>b[a]r<td>baz</table><p>extra": execCommand("stylewithcss", false, "true") return value 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table><tbody><tr><td>foo<td>b[a]r<td>baz</table><p>extra": execCommand("defaultparagraphseparator", false, "div") return value 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table><tbody><tr><td>foo<td>b[a]r<td>baz</table><p>extra": execCommand("justifycenter", false, "") return value 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table><tbody><tr><td>foo<td>b[a]r<td>baz</table><p>extra" checks for modifications to non-editable content 
-FAIL [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table><tbody><tr><td>foo<td>b[a]r<td>baz</table><p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<table><tbody><tr><td>foo</td><td><div style=\"text-align:center\">bar</div></td><td>baz</td></tr></tbody></table><p>extra</p>" but got "<table><tbody><tr><td>foo</td><td style=\"text-align:center\">bar</td><td>baz</td></tr></tbody></table><p>extra</p>"
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table><tbody><tr><td>foo<td>b[a]r<td>baz</table><p>extra" queryCommandIndeterm("stylewithcss") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table><tbody><tr><td>foo<td>b[a]r<td>baz</table><p>extra" queryCommandState("stylewithcss") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table><tbody><tr><td>foo<td>b[a]r<td>baz</table><p>extra" queryCommandValue("stylewithcss") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table><tbody><tr><td>foo<td>b[a]r<td>baz</table><p>extra" queryCommandIndeterm("stylewithcss") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table><tbody><tr><td>foo<td>b[a]r<td>baz</table><p>extra" queryCommandState("stylewithcss") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table><tbody><tr><td>foo<td>b[a]r<td>baz</table><p>extra" queryCommandValue("stylewithcss") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table><tbody><tr><td>foo<td>b[a]r<td>baz</table><p>extra" queryCommandIndeterm("defaultparagraphseparator") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table><tbody><tr><td>foo<td>b[a]r<td>baz</table><p>extra" queryCommandState("defaultparagraphseparator") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table><tbody><tr><td>foo<td>b[a]r<td>baz</table><p>extra" queryCommandValue("defaultparagraphseparator") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table><tbody><tr><td>foo<td>b[a]r<td>baz</table><p>extra" queryCommandIndeterm("defaultparagraphseparator") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table><tbody><tr><td>foo<td>b[a]r<td>baz</table><p>extra" queryCommandState("defaultparagraphseparator") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table><tbody><tr><td>foo<td>b[a]r<td>baz</table><p>extra" queryCommandValue("defaultparagraphseparator") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table><tbody><tr><td>foo<td>b[a]r<td>baz</table><p>extra" queryCommandIndeterm("justifycenter") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table><tbody><tr><td>foo<td>b[a]r<td>baz</table><p>extra" queryCommandState("justifycenter") before 
-FAIL [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table><tbody><tr><td>foo<td>b[a]r<td>baz</table><p>extra" queryCommandValue("justifycenter") before assert_equals: Wrong result returned expected "left" but got "false"
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table><tbody><tr><td>foo<td>b[a]r<td>baz</table><p>extra" queryCommandIndeterm("justifycenter") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table><tbody><tr><td>foo<td>b[a]r<td>baz</table><p>extra" queryCommandState("justifycenter") after 
-FAIL [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table><tbody><tr><td>foo<td>b[a]r<td>baz</table><p>extra" queryCommandValue("justifycenter") after assert_equals: Wrong result returned expected "center" but got "true"
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table><tbody><tr><td>foo<td>b[a]r<td>baz</table><p>extra": execCommand("stylewithcss", false, "false") return value 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table><tbody><tr><td>foo<td>b[a]r<td>baz</table><p>extra": execCommand("defaultparagraphseparator", false, "div") return value 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table><tbody><tr><td>foo<td>b[a]r<td>baz</table><p>extra": execCommand("justifycenter", false, "") return value 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table><tbody><tr><td>foo<td>b[a]r<td>baz</table><p>extra" checks for modifications to non-editable content 
-FAIL [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table><tbody><tr><td>foo<td>b[a]r<td>baz</table><p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<table><tbody><tr><td>foo</td><td><div style=\"text-align:center\">bar</div></td><td>baz</td></tr></tbody></table><p>extra</p>" but got "<table><tbody><tr><td>foo</td><td style=\"text-align:center\">bar</td><td>baz</td></tr></tbody></table><p>extra</p>"
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table><tbody><tr><td>foo<td>b[a]r<td>baz</table><p>extra" queryCommandIndeterm("stylewithcss") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table><tbody><tr><td>foo<td>b[a]r<td>baz</table><p>extra" queryCommandState("stylewithcss") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table><tbody><tr><td>foo<td>b[a]r<td>baz</table><p>extra" queryCommandValue("stylewithcss") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table><tbody><tr><td>foo<td>b[a]r<td>baz</table><p>extra" queryCommandIndeterm("stylewithcss") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table><tbody><tr><td>foo<td>b[a]r<td>baz</table><p>extra" queryCommandState("stylewithcss") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table><tbody><tr><td>foo<td>b[a]r<td>baz</table><p>extra" queryCommandValue("stylewithcss") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table><tbody><tr><td>foo<td>b[a]r<td>baz</table><p>extra" queryCommandIndeterm("defaultparagraphseparator") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table><tbody><tr><td>foo<td>b[a]r<td>baz</table><p>extra" queryCommandState("defaultparagraphseparator") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table><tbody><tr><td>foo<td>b[a]r<td>baz</table><p>extra" queryCommandValue("defaultparagraphseparator") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table><tbody><tr><td>foo<td>b[a]r<td>baz</table><p>extra" queryCommandIndeterm("defaultparagraphseparator") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table><tbody><tr><td>foo<td>b[a]r<td>baz</table><p>extra" queryCommandState("defaultparagraphseparator") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table><tbody><tr><td>foo<td>b[a]r<td>baz</table><p>extra" queryCommandValue("defaultparagraphseparator") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table><tbody><tr><td>foo<td>b[a]r<td>baz</table><p>extra" queryCommandIndeterm("justifycenter") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table><tbody><tr><td>foo<td>b[a]r<td>baz</table><p>extra" queryCommandState("justifycenter") before 
-FAIL [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table><tbody><tr><td>foo<td>b[a]r<td>baz</table><p>extra" queryCommandValue("justifycenter") before assert_equals: Wrong result returned expected "left" but got "false"
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table><tbody><tr><td>foo<td>b[a]r<td>baz</table><p>extra" queryCommandIndeterm("justifycenter") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table><tbody><tr><td>foo<td>b[a]r<td>baz</table><p>extra" queryCommandState("justifycenter") after 
-FAIL [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table><tbody><tr><td>foo<td>b[a]r<td>baz</table><p>extra" queryCommandValue("justifycenter") after assert_equals: Wrong result returned expected "center" but got "true"
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table><tbody><tr><td>foo<td>b[a]r<td>baz</table><p>extra": execCommand("stylewithcss", false, "true") return value 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table><tbody><tr><td>foo<td>b[a]r<td>baz</table><p>extra": execCommand("defaultparagraphseparator", false, "p") return value 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table><tbody><tr><td>foo<td>b[a]r<td>baz</table><p>extra": execCommand("justifycenter", false, "") return value 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table><tbody><tr><td>foo<td>b[a]r<td>baz</table><p>extra" checks for modifications to non-editable content 
-FAIL [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table><tbody><tr><td>foo<td>b[a]r<td>baz</table><p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<table><tbody><tr><td>foo</td><td><div style=\"text-align:center\">bar</div></td><td>baz</td></tr></tbody></table><p>extra</p>" but got "<table><tbody><tr><td>foo</td><td style=\"text-align:center\">bar</td><td>baz</td></tr></tbody></table><p>extra</p>"
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table><tbody><tr><td>foo<td>b[a]r<td>baz</table><p>extra" queryCommandIndeterm("stylewithcss") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table><tbody><tr><td>foo<td>b[a]r<td>baz</table><p>extra" queryCommandState("stylewithcss") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table><tbody><tr><td>foo<td>b[a]r<td>baz</table><p>extra" queryCommandValue("stylewithcss") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table><tbody><tr><td>foo<td>b[a]r<td>baz</table><p>extra" queryCommandIndeterm("stylewithcss") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table><tbody><tr><td>foo<td>b[a]r<td>baz</table><p>extra" queryCommandState("stylewithcss") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table><tbody><tr><td>foo<td>b[a]r<td>baz</table><p>extra" queryCommandValue("stylewithcss") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table><tbody><tr><td>foo<td>b[a]r<td>baz</table><p>extra" queryCommandIndeterm("defaultparagraphseparator") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table><tbody><tr><td>foo<td>b[a]r<td>baz</table><p>extra" queryCommandState("defaultparagraphseparator") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table><tbody><tr><td>foo<td>b[a]r<td>baz</table><p>extra" queryCommandValue("defaultparagraphseparator") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table><tbody><tr><td>foo<td>b[a]r<td>baz</table><p>extra" queryCommandIndeterm("defaultparagraphseparator") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table><tbody><tr><td>foo<td>b[a]r<td>baz</table><p>extra" queryCommandState("defaultparagraphseparator") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table><tbody><tr><td>foo<td>b[a]r<td>baz</table><p>extra" queryCommandValue("defaultparagraphseparator") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table><tbody><tr><td>foo<td>b[a]r<td>baz</table><p>extra" queryCommandIndeterm("justifycenter") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table><tbody><tr><td>foo<td>b[a]r<td>baz</table><p>extra" queryCommandState("justifycenter") before 
-FAIL [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table><tbody><tr><td>foo<td>b[a]r<td>baz</table><p>extra" queryCommandValue("justifycenter") before assert_equals: Wrong result returned expected "left" but got "false"
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table><tbody><tr><td>foo<td>b[a]r<td>baz</table><p>extra" queryCommandIndeterm("justifycenter") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table><tbody><tr><td>foo<td>b[a]r<td>baz</table><p>extra" queryCommandState("justifycenter") after 
-FAIL [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table><tbody><tr><td>foo<td>b[a]r<td>baz</table><p>extra" queryCommandValue("justifycenter") after assert_equals: Wrong result returned expected "center" but got "true"
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table><tbody><tr><td>foo<td>b[a]r<td>baz</table><p>extra": execCommand("stylewithcss", false, "false") return value 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table><tbody><tr><td>foo<td>b[a]r<td>baz</table><p>extra": execCommand("defaultparagraphseparator", false, "p") return value 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table><tbody><tr><td>foo<td>b[a]r<td>baz</table><p>extra": execCommand("justifycenter", false, "") return value 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table><tbody><tr><td>foo<td>b[a]r<td>baz</table><p>extra" checks for modifications to non-editable content 
-FAIL [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table><tbody><tr><td>foo<td>b[a]r<td>baz</table><p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<table><tbody><tr><td>foo</td><td><div style=\"text-align:center\">bar</div></td><td>baz</td></tr></tbody></table><p>extra</p>" but got "<table><tbody><tr><td>foo</td><td style=\"text-align:center\">bar</td><td>baz</td></tr></tbody></table><p>extra</p>"
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table><tbody><tr><td>foo<td>b[a]r<td>baz</table><p>extra" queryCommandIndeterm("stylewithcss") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table><tbody><tr><td>foo<td>b[a]r<td>baz</table><p>extra" queryCommandState("stylewithcss") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table><tbody><tr><td>foo<td>b[a]r<td>baz</table><p>extra" queryCommandValue("stylewithcss") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table><tbody><tr><td>foo<td>b[a]r<td>baz</table><p>extra" queryCommandIndeterm("stylewithcss") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table><tbody><tr><td>foo<td>b[a]r<td>baz</table><p>extra" queryCommandState("stylewithcss") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table><tbody><tr><td>foo<td>b[a]r<td>baz</table><p>extra" queryCommandValue("stylewithcss") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table><tbody><tr><td>foo<td>b[a]r<td>baz</table><p>extra" queryCommandIndeterm("defaultparagraphseparator") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table><tbody><tr><td>foo<td>b[a]r<td>baz</table><p>extra" queryCommandState("defaultparagraphseparator") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table><tbody><tr><td>foo<td>b[a]r<td>baz</table><p>extra" queryCommandValue("defaultparagraphseparator") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table><tbody><tr><td>foo<td>b[a]r<td>baz</table><p>extra" queryCommandIndeterm("defaultparagraphseparator") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table><tbody><tr><td>foo<td>b[a]r<td>baz</table><p>extra" queryCommandState("defaultparagraphseparator") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table><tbody><tr><td>foo<td>b[a]r<td>baz</table><p>extra" queryCommandValue("defaultparagraphseparator") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table><tbody><tr><td>foo<td>b[a]r<td>baz</table><p>extra" queryCommandIndeterm("justifycenter") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table><tbody><tr><td>foo<td>b[a]r<td>baz</table><p>extra" queryCommandState("justifycenter") before 
-FAIL [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table><tbody><tr><td>foo<td>b[a]r<td>baz</table><p>extra" queryCommandValue("justifycenter") before assert_equals: Wrong result returned expected "left" but got "false"
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table><tbody><tr><td>foo<td>b[a]r<td>baz</table><p>extra" queryCommandIndeterm("justifycenter") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table><tbody><tr><td>foo<td>b[a]r<td>baz</table><p>extra" queryCommandState("justifycenter") after 
-FAIL [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table><tbody><tr><td>foo<td>b[a]r<td>baz</table><p>extra" queryCommandValue("justifycenter") after assert_equals: Wrong result returned expected "center" but got "true"
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table><tbody><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table><p>extra": execCommand("stylewithcss", false, "true") return value 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table><tbody><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table><p>extra": execCommand("defaultparagraphseparator", false, "div") return value 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table><tbody><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table><p>extra": execCommand("justifycenter", false, "") return value 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table><tbody><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table><p>extra" checks for modifications to non-editable content 
-FAIL [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table><tbody><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table><p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<table><tbody><tr><td>foo</td><td><div style=\"text-align:center\">bar</div></td><td>baz</td></tr></tbody></table><p>extra</p>" but got "<table><tbody><tr><td>foo</td><td style=\"text-align:center\">bar</td><td style=\"text-align:center\">baz</td></tr></tbody></table><p>extra</p>"
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table><tbody><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("stylewithcss") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table><tbody><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("stylewithcss") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table><tbody><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("stylewithcss") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table><tbody><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("stylewithcss") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table><tbody><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("stylewithcss") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table><tbody><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("stylewithcss") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table><tbody><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("defaultparagraphseparator") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table><tbody><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("defaultparagraphseparator") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table><tbody><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("defaultparagraphseparator") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table><tbody><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("defaultparagraphseparator") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table><tbody><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("defaultparagraphseparator") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table><tbody><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("defaultparagraphseparator") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table><tbody><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("justifycenter") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table><tbody><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("justifycenter") before 
-FAIL [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table><tbody><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("justifycenter") before assert_equals: Wrong result returned expected "left" but got "false"
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table><tbody><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("justifycenter") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table><tbody><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("justifycenter") after 
-FAIL [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table><tbody><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("justifycenter") after assert_equals: Wrong result returned expected "center" but got "true"
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table><tbody><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table><p>extra": execCommand("stylewithcss", false, "false") return value 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table><tbody><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table><p>extra": execCommand("defaultparagraphseparator", false, "div") return value 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table><tbody><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table><p>extra": execCommand("justifycenter", false, "") return value 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table><tbody><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table><p>extra" checks for modifications to non-editable content 
-FAIL [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table><tbody><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table><p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<table><tbody><tr><td>foo</td><td><div style=\"text-align:center\">bar</div></td><td>baz</td></tr></tbody></table><p>extra</p>" but got "<table><tbody><tr><td>foo</td><td style=\"text-align:center\">bar</td><td style=\"text-align:center\">baz</td></tr></tbody></table><p>extra</p>"
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table><tbody><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("stylewithcss") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table><tbody><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("stylewithcss") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table><tbody><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("stylewithcss") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table><tbody><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("stylewithcss") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table><tbody><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("stylewithcss") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table><tbody><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("stylewithcss") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table><tbody><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("defaultparagraphseparator") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table><tbody><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("defaultparagraphseparator") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table><tbody><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("defaultparagraphseparator") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table><tbody><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("defaultparagraphseparator") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table><tbody><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("defaultparagraphseparator") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table><tbody><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("defaultparagraphseparator") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table><tbody><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("justifycenter") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table><tbody><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("justifycenter") before 
-FAIL [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table><tbody><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("justifycenter") before assert_equals: Wrong result returned expected "left" but got "false"
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table><tbody><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("justifycenter") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table><tbody><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("justifycenter") after 
-FAIL [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table><tbody><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("justifycenter") after assert_equals: Wrong result returned expected "center" but got "true"
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table><tbody><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table><p>extra": execCommand("stylewithcss", false, "true") return value 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table><tbody><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table><p>extra": execCommand("defaultparagraphseparator", false, "p") return value 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table><tbody><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table><p>extra": execCommand("justifycenter", false, "") return value 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table><tbody><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table><p>extra" checks for modifications to non-editable content 
-FAIL [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table><tbody><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table><p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<table><tbody><tr><td>foo</td><td><div style=\"text-align:center\">bar</div></td><td>baz</td></tr></tbody></table><p>extra</p>" but got "<table><tbody><tr><td>foo</td><td style=\"text-align:center\">bar</td><td style=\"text-align:center\">baz</td></tr></tbody></table><p>extra</p>"
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table><tbody><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("stylewithcss") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table><tbody><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("stylewithcss") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table><tbody><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("stylewithcss") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table><tbody><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("stylewithcss") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table><tbody><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("stylewithcss") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table><tbody><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("stylewithcss") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table><tbody><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("defaultparagraphseparator") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table><tbody><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("defaultparagraphseparator") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table><tbody><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("defaultparagraphseparator") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table><tbody><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("defaultparagraphseparator") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table><tbody><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("defaultparagraphseparator") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table><tbody><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("defaultparagraphseparator") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table><tbody><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("justifycenter") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table><tbody><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("justifycenter") before 
-FAIL [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table><tbody><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("justifycenter") before assert_equals: Wrong result returned expected "left" but got "false"
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table><tbody><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("justifycenter") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table><tbody><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("justifycenter") after 
-FAIL [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table><tbody><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("justifycenter") after assert_equals: Wrong result returned expected "center" but got "true"
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table><tbody><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table><p>extra": execCommand("stylewithcss", false, "false") return value 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table><tbody><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table><p>extra": execCommand("defaultparagraphseparator", false, "p") return value 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table><tbody><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table><p>extra": execCommand("justifycenter", false, "") return value 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table><tbody><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table><p>extra" checks for modifications to non-editable content 
-FAIL [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table><tbody><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table><p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<table><tbody><tr><td>foo</td><td><div style=\"text-align:center\">bar</div></td><td>baz</td></tr></tbody></table><p>extra</p>" but got "<table><tbody><tr><td>foo</td><td style=\"text-align:center\">bar</td><td style=\"text-align:center\">baz</td></tr></tbody></table><p>extra</p>"
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table><tbody><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("stylewithcss") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table><tbody><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("stylewithcss") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table><tbody><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("stylewithcss") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table><tbody><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("stylewithcss") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table><tbody><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("stylewithcss") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table><tbody><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("stylewithcss") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table><tbody><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("defaultparagraphseparator") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table><tbody><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("defaultparagraphseparator") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table><tbody><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("defaultparagraphseparator") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table><tbody><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("defaultparagraphseparator") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table><tbody><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("defaultparagraphseparator") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table><tbody><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("defaultparagraphseparator") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table><tbody><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("justifycenter") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table><tbody><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("justifycenter") before 
-FAIL [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table><tbody><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("justifycenter") before assert_equals: Wrong result returned expected "left" but got "false"
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table><tbody><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("justifycenter") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table><tbody><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("justifycenter") after 
-FAIL [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table><tbody><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("justifycenter") after assert_equals: Wrong result returned expected "center" but got "true"
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table><tbody><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table><p>extra": execCommand("stylewithcss", false, "true") return value 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table><tbody><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table><p>extra": execCommand("defaultparagraphseparator", false, "div") return value 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table><tbody><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table><p>extra": execCommand("justifycenter", false, "") return value 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table><tbody><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table><p>extra" checks for modifications to non-editable content 
-FAIL [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table><tbody><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table><p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<table><tbody><tr><td><div style=\"text-align:center\">foo</div></td><td><div style=\"text-align:center\">bar</div></td><td>baz</td></tr></tbody></table><p>extra</p>" but got "<table><tbody><tr><td style=\"text-align:center\">foo</td><td style=\"text-align:center\">bar</td><td style=\"text-align:center\">baz</td></tr></tbody></table><p>extra</p>"
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table><tbody><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("stylewithcss") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table><tbody><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("stylewithcss") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table><tbody><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("stylewithcss") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table><tbody><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("stylewithcss") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table><tbody><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("stylewithcss") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table><tbody><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("stylewithcss") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table><tbody><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("defaultparagraphseparator") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table><tbody><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("defaultparagraphseparator") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table><tbody><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("defaultparagraphseparator") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table><tbody><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("defaultparagraphseparator") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table><tbody><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("defaultparagraphseparator") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table><tbody><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("defaultparagraphseparator") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table><tbody><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("justifycenter") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table><tbody><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("justifycenter") before 
-FAIL [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table><tbody><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("justifycenter") before assert_equals: Wrong result returned expected "left" but got "false"
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table><tbody><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("justifycenter") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table><tbody><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("justifycenter") after 
-FAIL [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table><tbody><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("justifycenter") after assert_equals: Wrong result returned expected "center" but got "true"
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table><tbody><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table><p>extra": execCommand("stylewithcss", false, "false") return value 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table><tbody><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table><p>extra": execCommand("defaultparagraphseparator", false, "div") return value 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table><tbody><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table><p>extra": execCommand("justifycenter", false, "") return value 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table><tbody><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table><p>extra" checks for modifications to non-editable content 
-FAIL [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table><tbody><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table><p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<table><tbody><tr><td><div style=\"text-align:center\">foo</div></td><td><div style=\"text-align:center\">bar</div></td><td>baz</td></tr></tbody></table><p>extra</p>" but got "<table><tbody><tr><td style=\"text-align:center\">foo</td><td style=\"text-align:center\">bar</td><td style=\"text-align:center\">baz</td></tr></tbody></table><p>extra</p>"
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table><tbody><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("stylewithcss") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table><tbody><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("stylewithcss") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table><tbody><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("stylewithcss") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table><tbody><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("stylewithcss") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table><tbody><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("stylewithcss") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table><tbody><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("stylewithcss") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table><tbody><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("defaultparagraphseparator") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table><tbody><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("defaultparagraphseparator") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table><tbody><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("defaultparagraphseparator") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table><tbody><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("defaultparagraphseparator") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table><tbody><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("defaultparagraphseparator") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table><tbody><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("defaultparagraphseparator") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table><tbody><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("justifycenter") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table><tbody><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("justifycenter") before 
-FAIL [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table><tbody><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("justifycenter") before assert_equals: Wrong result returned expected "left" but got "false"
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table><tbody><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("justifycenter") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table><tbody><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("justifycenter") after 
-FAIL [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table><tbody><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("justifycenter") after assert_equals: Wrong result returned expected "center" but got "true"
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table><tbody><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table><p>extra": execCommand("stylewithcss", false, "true") return value 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table><tbody><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table><p>extra": execCommand("defaultparagraphseparator", false, "p") return value 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table><tbody><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table><p>extra": execCommand("justifycenter", false, "") return value 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table><tbody><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table><p>extra" checks for modifications to non-editable content 
-FAIL [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table><tbody><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table><p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<table><tbody><tr><td><div style=\"text-align:center\">foo</div></td><td><div style=\"text-align:center\">bar</div></td><td>baz</td></tr></tbody></table><p>extra</p>" but got "<table><tbody><tr><td style=\"text-align:center\">foo</td><td style=\"text-align:center\">bar</td><td style=\"text-align:center\">baz</td></tr></tbody></table><p>extra</p>"
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table><tbody><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("stylewithcss") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table><tbody><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("stylewithcss") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table><tbody><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("stylewithcss") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table><tbody><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("stylewithcss") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table><tbody><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("stylewithcss") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table><tbody><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("stylewithcss") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table><tbody><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("defaultparagraphseparator") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table><tbody><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("defaultparagraphseparator") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table><tbody><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("defaultparagraphseparator") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table><tbody><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("defaultparagraphseparator") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table><tbody><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("defaultparagraphseparator") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table><tbody><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("defaultparagraphseparator") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table><tbody><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("justifycenter") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table><tbody><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("justifycenter") before 
-FAIL [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table><tbody><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("justifycenter") before assert_equals: Wrong result returned expected "left" but got "false"
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table><tbody><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("justifycenter") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table><tbody><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("justifycenter") after 
-FAIL [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table><tbody><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("justifycenter") after assert_equals: Wrong result returned expected "center" but got "true"
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table><tbody><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table><p>extra": execCommand("stylewithcss", false, "false") return value 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table><tbody><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table><p>extra": execCommand("defaultparagraphseparator", false, "p") return value 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table><tbody><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table><p>extra": execCommand("justifycenter", false, "") return value 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table><tbody><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table><p>extra" checks for modifications to non-editable content 
-FAIL [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table><tbody><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table><p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<table><tbody><tr><td><div style=\"text-align:center\">foo</div></td><td><div style=\"text-align:center\">bar</div></td><td>baz</td></tr></tbody></table><p>extra</p>" but got "<table><tbody><tr><td style=\"text-align:center\">foo</td><td style=\"text-align:center\">bar</td><td style=\"text-align:center\">baz</td></tr></tbody></table><p>extra</p>"
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table><tbody><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("stylewithcss") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table><tbody><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("stylewithcss") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table><tbody><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("stylewithcss") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table><tbody><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("stylewithcss") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table><tbody><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("stylewithcss") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table><tbody><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("stylewithcss") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table><tbody><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("defaultparagraphseparator") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table><tbody><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("defaultparagraphseparator") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table><tbody><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("defaultparagraphseparator") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table><tbody><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("defaultparagraphseparator") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table><tbody><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("defaultparagraphseparator") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table><tbody><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("defaultparagraphseparator") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table><tbody><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("justifycenter") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table><tbody><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("justifycenter") before 
-FAIL [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table><tbody><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("justifycenter") before assert_equals: Wrong result returned expected "left" but got "false"
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table><tbody><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("justifycenter") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table><tbody><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("justifycenter") after 
-FAIL [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table><tbody><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("justifycenter") after assert_equals: Wrong result returned expected "center" but got "true"
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table><tbody data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra": execCommand("stylewithcss", false, "true") return value 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table><tbody data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra": execCommand("defaultparagraphseparator", false, "div") return value 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table><tbody data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra": execCommand("justifycenter", false, "") return value 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table><tbody data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" checks for modifications to non-editable content 
-FAIL [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table><tbody data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<div style=\"text-align:center\"><table><tbody><tr><td>foo</td><td>bar</td><td>baz</td></tr></tbody></table></div><p>extra</p>" but got "<table style=\"text-align:center\"><tbody><tr><td style=\"text-align:center\">foo</td><td style=\"text-align:center\">bar</td><td style=\"text-align:center\">baz</td></tr></tbody></table><p>extra</p>"
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table><tbody data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("stylewithcss") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table><tbody data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("stylewithcss") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table><tbody data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("stylewithcss") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table><tbody data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("stylewithcss") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table><tbody data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("stylewithcss") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table><tbody data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("stylewithcss") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table><tbody data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("defaultparagraphseparator") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table><tbody data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("defaultparagraphseparator") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table><tbody data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("defaultparagraphseparator") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table><tbody data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("defaultparagraphseparator") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table><tbody data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("defaultparagraphseparator") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table><tbody data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("defaultparagraphseparator") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table><tbody data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("justifycenter") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table><tbody data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("justifycenter") before 
-FAIL [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table><tbody data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("justifycenter") before assert_equals: Wrong result returned expected "left" but got "false"
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table><tbody data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("justifycenter") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table><tbody data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("justifycenter") after 
-FAIL [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table><tbody data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("justifycenter") after assert_equals: Wrong result returned expected "center" but got "true"
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table><tbody data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra": execCommand("stylewithcss", false, "false") return value 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table><tbody data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra": execCommand("defaultparagraphseparator", false, "div") return value 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table><tbody data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra": execCommand("justifycenter", false, "") return value 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table><tbody data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" checks for modifications to non-editable content 
-FAIL [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table><tbody data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<div style=\"text-align:center\"><table><tbody><tr><td>foo</td><td>bar</td><td>baz</td></tr></tbody></table></div><p>extra</p>" but got "<table style=\"text-align:center\"><tbody><tr><td style=\"text-align:center\">foo</td><td style=\"text-align:center\">bar</td><td style=\"text-align:center\">baz</td></tr></tbody></table><p>extra</p>"
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table><tbody data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("stylewithcss") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table><tbody data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("stylewithcss") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table><tbody data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("stylewithcss") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table><tbody data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("stylewithcss") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table><tbody data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("stylewithcss") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table><tbody data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("stylewithcss") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table><tbody data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("defaultparagraphseparator") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table><tbody data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("defaultparagraphseparator") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table><tbody data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("defaultparagraphseparator") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table><tbody data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("defaultparagraphseparator") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table><tbody data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("defaultparagraphseparator") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table><tbody data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("defaultparagraphseparator") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table><tbody data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("justifycenter") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table><tbody data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("justifycenter") before 
-FAIL [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table><tbody data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("justifycenter") before assert_equals: Wrong result returned expected "left" but got "false"
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table><tbody data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("justifycenter") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table><tbody data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("justifycenter") after 
-FAIL [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table><tbody data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("justifycenter") after assert_equals: Wrong result returned expected "center" but got "true"
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table><tbody data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra": execCommand("stylewithcss", false, "true") return value 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table><tbody data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra": execCommand("defaultparagraphseparator", false, "p") return value 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table><tbody data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra": execCommand("justifycenter", false, "") return value 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table><tbody data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" checks for modifications to non-editable content 
-FAIL [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table><tbody data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<div style=\"text-align:center\"><table><tbody><tr><td>foo</td><td>bar</td><td>baz</td></tr></tbody></table></div><p>extra</p>" but got "<table style=\"text-align:center\"><tbody><tr><td style=\"text-align:center\">foo</td><td style=\"text-align:center\">bar</td><td style=\"text-align:center\">baz</td></tr></tbody></table><p>extra</p>"
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table><tbody data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("stylewithcss") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table><tbody data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("stylewithcss") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table><tbody data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("stylewithcss") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table><tbody data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("stylewithcss") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table><tbody data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("stylewithcss") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table><tbody data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("stylewithcss") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table><tbody data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("defaultparagraphseparator") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table><tbody data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("defaultparagraphseparator") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table><tbody data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("defaultparagraphseparator") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table><tbody data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("defaultparagraphseparator") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table><tbody data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("defaultparagraphseparator") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table><tbody data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("defaultparagraphseparator") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table><tbody data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("justifycenter") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table><tbody data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("justifycenter") before 
-FAIL [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table><tbody data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("justifycenter") before assert_equals: Wrong result returned expected "left" but got "false"
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table><tbody data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("justifycenter") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table><tbody data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("justifycenter") after 
-FAIL [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table><tbody data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("justifycenter") after assert_equals: Wrong result returned expected "center" but got "true"
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table><tbody data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra": execCommand("stylewithcss", false, "false") return value 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table><tbody data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra": execCommand("defaultparagraphseparator", false, "p") return value 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table><tbody data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra": execCommand("justifycenter", false, "") return value 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table><tbody data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" checks for modifications to non-editable content 
-FAIL [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table><tbody data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<div style=\"text-align:center\"><table><tbody><tr><td>foo</td><td>bar</td><td>baz</td></tr></tbody></table></div><p>extra</p>" but got "<table style=\"text-align:center\"><tbody><tr><td style=\"text-align:center\">foo</td><td style=\"text-align:center\">bar</td><td style=\"text-align:center\">baz</td></tr></tbody></table><p>extra</p>"
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table><tbody data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("stylewithcss") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table><tbody data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("stylewithcss") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table><tbody data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("stylewithcss") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table><tbody data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("stylewithcss") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table><tbody data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("stylewithcss") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table><tbody data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("stylewithcss") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table><tbody data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("defaultparagraphseparator") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table><tbody data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("defaultparagraphseparator") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table><tbody data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("defaultparagraphseparator") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table><tbody data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("defaultparagraphseparator") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table><tbody data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("defaultparagraphseparator") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table><tbody data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("defaultparagraphseparator") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table><tbody data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("justifycenter") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table><tbody data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("justifycenter") before 
-FAIL [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table><tbody data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("justifycenter") before assert_equals: Wrong result returned expected "left" but got "false"
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table><tbody data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("justifycenter") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table><tbody data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("justifycenter") after 
-FAIL [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table><tbody data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("justifycenter") after assert_equals: Wrong result returned expected "center" but got "true"
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table data-start=0 data-end=1><tbody><tr><td>foo<td>bar<td>baz</table><p>extra": execCommand("stylewithcss", false, "true") return value 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table data-start=0 data-end=1><tbody><tr><td>foo<td>bar<td>baz</table><p>extra": execCommand("defaultparagraphseparator", false, "div") return value 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table data-start=0 data-end=1><tbody><tr><td>foo<td>bar<td>baz</table><p>extra": execCommand("justifycenter", false, "") return value 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table data-start=0 data-end=1><tbody><tr><td>foo<td>bar<td>baz</table><p>extra" checks for modifications to non-editable content 
-FAIL [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table data-start=0 data-end=1><tbody><tr><td>foo<td>bar<td>baz</table><p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<div style=\"text-align:center\"><table><tbody><tr><td>foo</td><td>bar</td><td>baz</td></tr></tbody></table></div><p>extra</p>" but got "<table style=\"text-align:center\"><tbody><tr><td>foo</td><td>bar</td><td>baz</td></tr></tbody></table><p>extra</p>"
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table data-start=0 data-end=1><tbody><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("stylewithcss") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table data-start=0 data-end=1><tbody><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("stylewithcss") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table data-start=0 data-end=1><tbody><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("stylewithcss") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table data-start=0 data-end=1><tbody><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("stylewithcss") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table data-start=0 data-end=1><tbody><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("stylewithcss") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table data-start=0 data-end=1><tbody><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("stylewithcss") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table data-start=0 data-end=1><tbody><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("defaultparagraphseparator") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table data-start=0 data-end=1><tbody><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("defaultparagraphseparator") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table data-start=0 data-end=1><tbody><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("defaultparagraphseparator") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table data-start=0 data-end=1><tbody><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("defaultparagraphseparator") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table data-start=0 data-end=1><tbody><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("defaultparagraphseparator") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table data-start=0 data-end=1><tbody><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("defaultparagraphseparator") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table data-start=0 data-end=1><tbody><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("justifycenter") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table data-start=0 data-end=1><tbody><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("justifycenter") before 
-FAIL [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table data-start=0 data-end=1><tbody><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("justifycenter") before assert_equals: Wrong result returned expected "left" but got "false"
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table data-start=0 data-end=1><tbody><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("justifycenter") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table data-start=0 data-end=1><tbody><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("justifycenter") after 
-FAIL [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table data-start=0 data-end=1><tbody><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("justifycenter") after assert_equals: Wrong result returned expected "center" but got "true"
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table data-start=0 data-end=1><tbody><tr><td>foo<td>bar<td>baz</table><p>extra": execCommand("stylewithcss", false, "false") return value 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table data-start=0 data-end=1><tbody><tr><td>foo<td>bar<td>baz</table><p>extra": execCommand("defaultparagraphseparator", false, "div") return value 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table data-start=0 data-end=1><tbody><tr><td>foo<td>bar<td>baz</table><p>extra": execCommand("justifycenter", false, "") return value 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table data-start=0 data-end=1><tbody><tr><td>foo<td>bar<td>baz</table><p>extra" checks for modifications to non-editable content 
-FAIL [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table data-start=0 data-end=1><tbody><tr><td>foo<td>bar<td>baz</table><p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<div style=\"text-align:center\"><table><tbody><tr><td>foo</td><td>bar</td><td>baz</td></tr></tbody></table></div><p>extra</p>" but got "<table style=\"text-align:center\"><tbody><tr><td>foo</td><td>bar</td><td>baz</td></tr></tbody></table><p>extra</p>"
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table data-start=0 data-end=1><tbody><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("stylewithcss") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table data-start=0 data-end=1><tbody><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("stylewithcss") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table data-start=0 data-end=1><tbody><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("stylewithcss") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table data-start=0 data-end=1><tbody><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("stylewithcss") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table data-start=0 data-end=1><tbody><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("stylewithcss") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table data-start=0 data-end=1><tbody><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("stylewithcss") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table data-start=0 data-end=1><tbody><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("defaultparagraphseparator") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table data-start=0 data-end=1><tbody><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("defaultparagraphseparator") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table data-start=0 data-end=1><tbody><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("defaultparagraphseparator") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table data-start=0 data-end=1><tbody><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("defaultparagraphseparator") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table data-start=0 data-end=1><tbody><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("defaultparagraphseparator") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table data-start=0 data-end=1><tbody><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("defaultparagraphseparator") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table data-start=0 data-end=1><tbody><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("justifycenter") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table data-start=0 data-end=1><tbody><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("justifycenter") before 
-FAIL [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table data-start=0 data-end=1><tbody><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("justifycenter") before assert_equals: Wrong result returned expected "left" but got "false"
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table data-start=0 data-end=1><tbody><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("justifycenter") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table data-start=0 data-end=1><tbody><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("justifycenter") after 
-FAIL [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table data-start=0 data-end=1><tbody><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("justifycenter") after assert_equals: Wrong result returned expected "center" but got "true"
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table data-start=0 data-end=1><tbody><tr><td>foo<td>bar<td>baz</table><p>extra": execCommand("stylewithcss", false, "true") return value 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table data-start=0 data-end=1><tbody><tr><td>foo<td>bar<td>baz</table><p>extra": execCommand("defaultparagraphseparator", false, "p") return value 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table data-start=0 data-end=1><tbody><tr><td>foo<td>bar<td>baz</table><p>extra": execCommand("justifycenter", false, "") return value 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table data-start=0 data-end=1><tbody><tr><td>foo<td>bar<td>baz</table><p>extra" checks for modifications to non-editable content 
-FAIL [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table data-start=0 data-end=1><tbody><tr><td>foo<td>bar<td>baz</table><p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<div style=\"text-align:center\"><table><tbody><tr><td>foo</td><td>bar</td><td>baz</td></tr></tbody></table></div><p>extra</p>" but got "<table style=\"text-align:center\"><tbody><tr><td>foo</td><td>bar</td><td>baz</td></tr></tbody></table><p>extra</p>"
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table data-start=0 data-end=1><tbody><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("stylewithcss") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table data-start=0 data-end=1><tbody><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("stylewithcss") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table data-start=0 data-end=1><tbody><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("stylewithcss") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table data-start=0 data-end=1><tbody><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("stylewithcss") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table data-start=0 data-end=1><tbody><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("stylewithcss") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table data-start=0 data-end=1><tbody><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("stylewithcss") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table data-start=0 data-end=1><tbody><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("defaultparagraphseparator") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table data-start=0 data-end=1><tbody><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("defaultparagraphseparator") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table data-start=0 data-end=1><tbody><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("defaultparagraphseparator") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table data-start=0 data-end=1><tbody><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("defaultparagraphseparator") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table data-start=0 data-end=1><tbody><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("defaultparagraphseparator") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table data-start=0 data-end=1><tbody><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("defaultparagraphseparator") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table data-start=0 data-end=1><tbody><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("justifycenter") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table data-start=0 data-end=1><tbody><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("justifycenter") before 
-FAIL [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table data-start=0 data-end=1><tbody><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("justifycenter") before assert_equals: Wrong result returned expected "left" but got "false"
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table data-start=0 data-end=1><tbody><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("justifycenter") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table data-start=0 data-end=1><tbody><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("justifycenter") after 
-FAIL [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table data-start=0 data-end=1><tbody><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("justifycenter") after assert_equals: Wrong result returned expected "center" but got "true"
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table data-start=0 data-end=1><tbody><tr><td>foo<td>bar<td>baz</table><p>extra": execCommand("stylewithcss", false, "false") return value 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table data-start=0 data-end=1><tbody><tr><td>foo<td>bar<td>baz</table><p>extra": execCommand("defaultparagraphseparator", false, "p") return value 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table data-start=0 data-end=1><tbody><tr><td>foo<td>bar<td>baz</table><p>extra": execCommand("justifycenter", false, "") return value 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table data-start=0 data-end=1><tbody><tr><td>foo<td>bar<td>baz</table><p>extra" checks for modifications to non-editable content 
-FAIL [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table data-start=0 data-end=1><tbody><tr><td>foo<td>bar<td>baz</table><p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<div style=\"text-align:center\"><table><tbody><tr><td>foo</td><td>bar</td><td>baz</td></tr></tbody></table></div><p>extra</p>" but got "<table style=\"text-align:center\"><tbody><tr><td>foo</td><td>bar</td><td>baz</td></tr></tbody></table><p>extra</p>"
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table data-start=0 data-end=1><tbody><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("stylewithcss") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table data-start=0 data-end=1><tbody><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("stylewithcss") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table data-start=0 data-end=1><tbody><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("stylewithcss") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table data-start=0 data-end=1><tbody><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("stylewithcss") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table data-start=0 data-end=1><tbody><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("stylewithcss") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table data-start=0 data-end=1><tbody><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("stylewithcss") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table data-start=0 data-end=1><tbody><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("defaultparagraphseparator") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table data-start=0 data-end=1><tbody><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("defaultparagraphseparator") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table data-start=0 data-end=1><tbody><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("defaultparagraphseparator") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table data-start=0 data-end=1><tbody><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("defaultparagraphseparator") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table data-start=0 data-end=1><tbody><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("defaultparagraphseparator") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table data-start=0 data-end=1><tbody><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("defaultparagraphseparator") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table data-start=0 data-end=1><tbody><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("justifycenter") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table data-start=0 data-end=1><tbody><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("justifycenter") before 
-FAIL [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table data-start=0 data-end=1><tbody><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("justifycenter") before assert_equals: Wrong result returned expected "left" but got "false"
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table data-start=0 data-end=1><tbody><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("justifycenter") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table data-start=0 data-end=1><tbody><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("justifycenter") after 
-FAIL [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table data-start=0 data-end=1><tbody><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("justifycenter") after assert_equals: Wrong result returned expected "center" but got "true"
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "{<table><tr><td>foo<td>bar<td>baz</table>}<p>extra": execCommand("stylewithcss", false, "true") return value 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "{<table><tr><td>foo<td>bar<td>baz</table>}<p>extra": execCommand("defaultparagraphseparator", false, "div") return value 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "{<table><tr><td>foo<td>bar<td>baz</table>}<p>extra": execCommand("justifycenter", false, "") return value 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "{<table><tr><td>foo<td>bar<td>baz</table>}<p>extra" checks for modifications to non-editable content 
-FAIL [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "{<table><tr><td>foo<td>bar<td>baz</table>}<p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<div style=\"text-align:center\"><table><tbody><tr><td>foo</td><td>bar</td><td>baz</td></tr></tbody></table></div><p>extra</p>" but got "<table style=\"text-align:center\"><tbody><tr><td>foo</td><td>bar</td><td>baz</td></tr></tbody></table><p style=\"text-align:center\">extra</p>"
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "{<table><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandIndeterm("stylewithcss") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "{<table><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandState("stylewithcss") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "{<table><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandValue("stylewithcss") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "{<table><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandIndeterm("stylewithcss") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "{<table><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandState("stylewithcss") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "{<table><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandValue("stylewithcss") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "{<table><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandIndeterm("defaultparagraphseparator") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "{<table><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandState("defaultparagraphseparator") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "{<table><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandValue("defaultparagraphseparator") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "{<table><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandIndeterm("defaultparagraphseparator") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "{<table><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandState("defaultparagraphseparator") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "{<table><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandValue("defaultparagraphseparator") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "{<table><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandIndeterm("justifycenter") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "{<table><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandState("justifycenter") before 
-FAIL [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "{<table><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandValue("justifycenter") before assert_equals: Wrong result returned expected "left" but got "false"
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "{<table><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandIndeterm("justifycenter") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "{<table><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandState("justifycenter") after 
-FAIL [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "{<table><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandValue("justifycenter") after assert_equals: Wrong result returned expected "center" but got "true"
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "{<table><tr><td>foo<td>bar<td>baz</table>}<p>extra": execCommand("stylewithcss", false, "false") return value 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "{<table><tr><td>foo<td>bar<td>baz</table>}<p>extra": execCommand("defaultparagraphseparator", false, "div") return value 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "{<table><tr><td>foo<td>bar<td>baz</table>}<p>extra": execCommand("justifycenter", false, "") return value 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "{<table><tr><td>foo<td>bar<td>baz</table>}<p>extra" checks for modifications to non-editable content 
-FAIL [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "{<table><tr><td>foo<td>bar<td>baz</table>}<p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<div style=\"text-align:center\"><table><tbody><tr><td>foo</td><td>bar</td><td>baz</td></tr></tbody></table></div><p>extra</p>" but got "<table style=\"text-align:center\"><tbody><tr><td>foo</td><td>bar</td><td>baz</td></tr></tbody></table><p style=\"text-align:center\">extra</p>"
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "{<table><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandIndeterm("stylewithcss") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "{<table><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandState("stylewithcss") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "{<table><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandValue("stylewithcss") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "{<table><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandIndeterm("stylewithcss") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "{<table><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandState("stylewithcss") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "{<table><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandValue("stylewithcss") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "{<table><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandIndeterm("defaultparagraphseparator") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "{<table><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandState("defaultparagraphseparator") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "{<table><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandValue("defaultparagraphseparator") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "{<table><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandIndeterm("defaultparagraphseparator") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "{<table><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandState("defaultparagraphseparator") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "{<table><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandValue("defaultparagraphseparator") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "{<table><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandIndeterm("justifycenter") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "{<table><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandState("justifycenter") before 
-FAIL [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "{<table><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandValue("justifycenter") before assert_equals: Wrong result returned expected "left" but got "false"
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "{<table><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandIndeterm("justifycenter") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "{<table><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandState("justifycenter") after 
-FAIL [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "{<table><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandValue("justifycenter") after assert_equals: Wrong result returned expected "center" but got "true"
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "{<table><tr><td>foo<td>bar<td>baz</table>}<p>extra": execCommand("stylewithcss", false, "true") return value 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "{<table><tr><td>foo<td>bar<td>baz</table>}<p>extra": execCommand("defaultparagraphseparator", false, "p") return value 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "{<table><tr><td>foo<td>bar<td>baz</table>}<p>extra": execCommand("justifycenter", false, "") return value 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "{<table><tr><td>foo<td>bar<td>baz</table>}<p>extra" checks for modifications to non-editable content 
-FAIL [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "{<table><tr><td>foo<td>bar<td>baz</table>}<p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<div style=\"text-align:center\"><table><tbody><tr><td>foo</td><td>bar</td><td>baz</td></tr></tbody></table></div><p>extra</p>" but got "<table style=\"text-align:center\"><tbody><tr><td>foo</td><td>bar</td><td>baz</td></tr></tbody></table><p style=\"text-align:center\">extra</p>"
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "{<table><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandIndeterm("stylewithcss") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "{<table><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandState("stylewithcss") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "{<table><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandValue("stylewithcss") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "{<table><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandIndeterm("stylewithcss") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "{<table><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandState("stylewithcss") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "{<table><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandValue("stylewithcss") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "{<table><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandIndeterm("defaultparagraphseparator") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "{<table><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandState("defaultparagraphseparator") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "{<table><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandValue("defaultparagraphseparator") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "{<table><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandIndeterm("defaultparagraphseparator") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "{<table><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandState("defaultparagraphseparator") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "{<table><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandValue("defaultparagraphseparator") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "{<table><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandIndeterm("justifycenter") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "{<table><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandState("justifycenter") before 
-FAIL [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "{<table><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandValue("justifycenter") before assert_equals: Wrong result returned expected "left" but got "false"
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "{<table><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandIndeterm("justifycenter") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "{<table><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandState("justifycenter") after 
-FAIL [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "{<table><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandValue("justifycenter") after assert_equals: Wrong result returned expected "center" but got "true"
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "{<table><tr><td>foo<td>bar<td>baz</table>}<p>extra": execCommand("stylewithcss", false, "false") return value 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "{<table><tr><td>foo<td>bar<td>baz</table>}<p>extra": execCommand("defaultparagraphseparator", false, "p") return value 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "{<table><tr><td>foo<td>bar<td>baz</table>}<p>extra": execCommand("justifycenter", false, "") return value 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "{<table><tr><td>foo<td>bar<td>baz</table>}<p>extra" checks for modifications to non-editable content 
-FAIL [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "{<table><tr><td>foo<td>bar<td>baz</table>}<p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<div style=\"text-align:center\"><table><tbody><tr><td>foo</td><td>bar</td><td>baz</td></tr></tbody></table></div><p>extra</p>" but got "<table style=\"text-align:center\"><tbody><tr><td>foo</td><td>bar</td><td>baz</td></tr></tbody></table><p style=\"text-align:center\">extra</p>"
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "{<table><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandIndeterm("stylewithcss") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "{<table><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandState("stylewithcss") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "{<table><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandValue("stylewithcss") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "{<table><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandIndeterm("stylewithcss") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "{<table><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandState("stylewithcss") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "{<table><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandValue("stylewithcss") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "{<table><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandIndeterm("defaultparagraphseparator") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "{<table><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandState("defaultparagraphseparator") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "{<table><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandValue("defaultparagraphseparator") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "{<table><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandIndeterm("defaultparagraphseparator") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "{<table><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandState("defaultparagraphseparator") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "{<table><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandValue("defaultparagraphseparator") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "{<table><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandIndeterm("justifycenter") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "{<table><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandState("justifycenter") before 
-FAIL [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "{<table><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandValue("justifycenter") before assert_equals: Wrong result returned expected "left" but got "false"
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "{<table><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandIndeterm("justifycenter") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "{<table><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandState("justifycenter") after 
-FAIL [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "{<table><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandValue("justifycenter") after assert_equals: Wrong result returned expected "center" but got "true"
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table align=center><tbody><tr><td>foo<td>b[a]r<td>baz</table><p>extra": execCommand("stylewithcss", false, "true") return value 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table align=center><tbody><tr><td>foo<td>b[a]r<td>baz</table><p>extra": execCommand("defaultparagraphseparator", false, "div") return value 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table align=center><tbody><tr><td>foo<td>b[a]r<td>baz</table><p>extra": execCommand("justifycenter", false, "") return value 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table align=center><tbody><tr><td>foo<td>b[a]r<td>baz</table><p>extra" checks for modifications to non-editable content 
-FAIL [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table align=center><tbody><tr><td>foo<td>b[a]r<td>baz</table><p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<table align=\"center\"><tbody><tr><td>foo</td><td><div style=\"text-align:center\">bar</div></td><td>baz</td></tr></tbody></table><p>extra</p>" but got "<table align=\"center\"><tbody><tr><td>foo</td><td style=\"text-align:center\">bar</td><td>baz</td></tr></tbody></table><p>extra</p>"
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table align=center><tbody><tr><td>foo<td>b[a]r<td>baz</table><p>extra" queryCommandIndeterm("stylewithcss") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table align=center><tbody><tr><td>foo<td>b[a]r<td>baz</table><p>extra" queryCommandState("stylewithcss") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table align=center><tbody><tr><td>foo<td>b[a]r<td>baz</table><p>extra" queryCommandValue("stylewithcss") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table align=center><tbody><tr><td>foo<td>b[a]r<td>baz</table><p>extra" queryCommandIndeterm("stylewithcss") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table align=center><tbody><tr><td>foo<td>b[a]r<td>baz</table><p>extra" queryCommandState("stylewithcss") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table align=center><tbody><tr><td>foo<td>b[a]r<td>baz</table><p>extra" queryCommandValue("stylewithcss") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table align=center><tbody><tr><td>foo<td>b[a]r<td>baz</table><p>extra" queryCommandIndeterm("defaultparagraphseparator") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table align=center><tbody><tr><td>foo<td>b[a]r<td>baz</table><p>extra" queryCommandState("defaultparagraphseparator") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table align=center><tbody><tr><td>foo<td>b[a]r<td>baz</table><p>extra" queryCommandValue("defaultparagraphseparator") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table align=center><tbody><tr><td>foo<td>b[a]r<td>baz</table><p>extra" queryCommandIndeterm("defaultparagraphseparator") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table align=center><tbody><tr><td>foo<td>b[a]r<td>baz</table><p>extra" queryCommandState("defaultparagraphseparator") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table align=center><tbody><tr><td>foo<td>b[a]r<td>baz</table><p>extra" queryCommandValue("defaultparagraphseparator") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table align=center><tbody><tr><td>foo<td>b[a]r<td>baz</table><p>extra" queryCommandIndeterm("justifycenter") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table align=center><tbody><tr><td>foo<td>b[a]r<td>baz</table><p>extra" queryCommandState("justifycenter") before 
-FAIL [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table align=center><tbody><tr><td>foo<td>b[a]r<td>baz</table><p>extra" queryCommandValue("justifycenter") before assert_equals: Wrong result returned expected "left" but got "false"
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table align=center><tbody><tr><td>foo<td>b[a]r<td>baz</table><p>extra" queryCommandIndeterm("justifycenter") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table align=center><tbody><tr><td>foo<td>b[a]r<td>baz</table><p>extra" queryCommandState("justifycenter") after 
-FAIL [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table align=center><tbody><tr><td>foo<td>b[a]r<td>baz</table><p>extra" queryCommandValue("justifycenter") after assert_equals: Wrong result returned expected "center" but got "true"
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table align=center><tbody><tr><td>foo<td>b[a]r<td>baz</table><p>extra": execCommand("stylewithcss", false, "false") return value 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table align=center><tbody><tr><td>foo<td>b[a]r<td>baz</table><p>extra": execCommand("defaultparagraphseparator", false, "div") return value 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table align=center><tbody><tr><td>foo<td>b[a]r<td>baz</table><p>extra": execCommand("justifycenter", false, "") return value 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table align=center><tbody><tr><td>foo<td>b[a]r<td>baz</table><p>extra" checks for modifications to non-editable content 
-FAIL [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table align=center><tbody><tr><td>foo<td>b[a]r<td>baz</table><p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<table align=\"center\"><tbody><tr><td>foo</td><td><div style=\"text-align:center\">bar</div></td><td>baz</td></tr></tbody></table><p>extra</p>" but got "<table align=\"center\"><tbody><tr><td>foo</td><td style=\"text-align:center\">bar</td><td>baz</td></tr></tbody></table><p>extra</p>"
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table align=center><tbody><tr><td>foo<td>b[a]r<td>baz</table><p>extra" queryCommandIndeterm("stylewithcss") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table align=center><tbody><tr><td>foo<td>b[a]r<td>baz</table><p>extra" queryCommandState("stylewithcss") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table align=center><tbody><tr><td>foo<td>b[a]r<td>baz</table><p>extra" queryCommandValue("stylewithcss") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table align=center><tbody><tr><td>foo<td>b[a]r<td>baz</table><p>extra" queryCommandIndeterm("stylewithcss") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table align=center><tbody><tr><td>foo<td>b[a]r<td>baz</table><p>extra" queryCommandState("stylewithcss") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table align=center><tbody><tr><td>foo<td>b[a]r<td>baz</table><p>extra" queryCommandValue("stylewithcss") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table align=center><tbody><tr><td>foo<td>b[a]r<td>baz</table><p>extra" queryCommandIndeterm("defaultparagraphseparator") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table align=center><tbody><tr><td>foo<td>b[a]r<td>baz</table><p>extra" queryCommandState("defaultparagraphseparator") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table align=center><tbody><tr><td>foo<td>b[a]r<td>baz</table><p>extra" queryCommandValue("defaultparagraphseparator") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table align=center><tbody><tr><td>foo<td>b[a]r<td>baz</table><p>extra" queryCommandIndeterm("defaultparagraphseparator") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table align=center><tbody><tr><td>foo<td>b[a]r<td>baz</table><p>extra" queryCommandState("defaultparagraphseparator") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table align=center><tbody><tr><td>foo<td>b[a]r<td>baz</table><p>extra" queryCommandValue("defaultparagraphseparator") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table align=center><tbody><tr><td>foo<td>b[a]r<td>baz</table><p>extra" queryCommandIndeterm("justifycenter") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table align=center><tbody><tr><td>foo<td>b[a]r<td>baz</table><p>extra" queryCommandState("justifycenter") before 
-FAIL [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table align=center><tbody><tr><td>foo<td>b[a]r<td>baz</table><p>extra" queryCommandValue("justifycenter") before assert_equals: Wrong result returned expected "left" but got "false"
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table align=center><tbody><tr><td>foo<td>b[a]r<td>baz</table><p>extra" queryCommandIndeterm("justifycenter") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table align=center><tbody><tr><td>foo<td>b[a]r<td>baz</table><p>extra" queryCommandState("justifycenter") after 
-FAIL [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table align=center><tbody><tr><td>foo<td>b[a]r<td>baz</table><p>extra" queryCommandValue("justifycenter") after assert_equals: Wrong result returned expected "center" but got "true"
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table align=center><tbody><tr><td>foo<td>b[a]r<td>baz</table><p>extra": execCommand("stylewithcss", false, "true") return value 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table align=center><tbody><tr><td>foo<td>b[a]r<td>baz</table><p>extra": execCommand("defaultparagraphseparator", false, "p") return value 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table align=center><tbody><tr><td>foo<td>b[a]r<td>baz</table><p>extra": execCommand("justifycenter", false, "") return value 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table align=center><tbody><tr><td>foo<td>b[a]r<td>baz</table><p>extra" checks for modifications to non-editable content 
-FAIL [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table align=center><tbody><tr><td>foo<td>b[a]r<td>baz</table><p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<table align=\"center\"><tbody><tr><td>foo</td><td><div style=\"text-align:center\">bar</div></td><td>baz</td></tr></tbody></table><p>extra</p>" but got "<table align=\"center\"><tbody><tr><td>foo</td><td style=\"text-align:center\">bar</td><td>baz</td></tr></tbody></table><p>extra</p>"
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table align=center><tbody><tr><td>foo<td>b[a]r<td>baz</table><p>extra" queryCommandIndeterm("stylewithcss") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table align=center><tbody><tr><td>foo<td>b[a]r<td>baz</table><p>extra" queryCommandState("stylewithcss") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table align=center><tbody><tr><td>foo<td>b[a]r<td>baz</table><p>extra" queryCommandValue("stylewithcss") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table align=center><tbody><tr><td>foo<td>b[a]r<td>baz</table><p>extra" queryCommandIndeterm("stylewithcss") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table align=center><tbody><tr><td>foo<td>b[a]r<td>baz</table><p>extra" queryCommandState("stylewithcss") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table align=center><tbody><tr><td>foo<td>b[a]r<td>baz</table><p>extra" queryCommandValue("stylewithcss") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table align=center><tbody><tr><td>foo<td>b[a]r<td>baz</table><p>extra" queryCommandIndeterm("defaultparagraphseparator") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table align=center><tbody><tr><td>foo<td>b[a]r<td>baz</table><p>extra" queryCommandState("defaultparagraphseparator") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table align=center><tbody><tr><td>foo<td>b[a]r<td>baz</table><p>extra" queryCommandValue("defaultparagraphseparator") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table align=center><tbody><tr><td>foo<td>b[a]r<td>baz</table><p>extra" queryCommandIndeterm("defaultparagraphseparator") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table align=center><tbody><tr><td>foo<td>b[a]r<td>baz</table><p>extra" queryCommandState("defaultparagraphseparator") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table align=center><tbody><tr><td>foo<td>b[a]r<td>baz</table><p>extra" queryCommandValue("defaultparagraphseparator") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table align=center><tbody><tr><td>foo<td>b[a]r<td>baz</table><p>extra" queryCommandIndeterm("justifycenter") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table align=center><tbody><tr><td>foo<td>b[a]r<td>baz</table><p>extra" queryCommandState("justifycenter") before 
-FAIL [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table align=center><tbody><tr><td>foo<td>b[a]r<td>baz</table><p>extra" queryCommandValue("justifycenter") before assert_equals: Wrong result returned expected "left" but got "false"
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table align=center><tbody><tr><td>foo<td>b[a]r<td>baz</table><p>extra" queryCommandIndeterm("justifycenter") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table align=center><tbody><tr><td>foo<td>b[a]r<td>baz</table><p>extra" queryCommandState("justifycenter") after 
-FAIL [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table align=center><tbody><tr><td>foo<td>b[a]r<td>baz</table><p>extra" queryCommandValue("justifycenter") after assert_equals: Wrong result returned expected "center" but got "true"
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table align=center><tbody><tr><td>foo<td>b[a]r<td>baz</table><p>extra": execCommand("stylewithcss", false, "false") return value 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table align=center><tbody><tr><td>foo<td>b[a]r<td>baz</table><p>extra": execCommand("defaultparagraphseparator", false, "p") return value 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table align=center><tbody><tr><td>foo<td>b[a]r<td>baz</table><p>extra": execCommand("justifycenter", false, "") return value 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table align=center><tbody><tr><td>foo<td>b[a]r<td>baz</table><p>extra" checks for modifications to non-editable content 
-FAIL [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table align=center><tbody><tr><td>foo<td>b[a]r<td>baz</table><p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<table align=\"center\"><tbody><tr><td>foo</td><td><div style=\"text-align:center\">bar</div></td><td>baz</td></tr></tbody></table><p>extra</p>" but got "<table align=\"center\"><tbody><tr><td>foo</td><td style=\"text-align:center\">bar</td><td>baz</td></tr></tbody></table><p>extra</p>"
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table align=center><tbody><tr><td>foo<td>b[a]r<td>baz</table><p>extra" queryCommandIndeterm("stylewithcss") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table align=center><tbody><tr><td>foo<td>b[a]r<td>baz</table><p>extra" queryCommandState("stylewithcss") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table align=center><tbody><tr><td>foo<td>b[a]r<td>baz</table><p>extra" queryCommandValue("stylewithcss") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table align=center><tbody><tr><td>foo<td>b[a]r<td>baz</table><p>extra" queryCommandIndeterm("stylewithcss") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table align=center><tbody><tr><td>foo<td>b[a]r<td>baz</table><p>extra" queryCommandState("stylewithcss") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table align=center><tbody><tr><td>foo<td>b[a]r<td>baz</table><p>extra" queryCommandValue("stylewithcss") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table align=center><tbody><tr><td>foo<td>b[a]r<td>baz</table><p>extra" queryCommandIndeterm("defaultparagraphseparator") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table align=center><tbody><tr><td>foo<td>b[a]r<td>baz</table><p>extra" queryCommandState("defaultparagraphseparator") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table align=center><tbody><tr><td>foo<td>b[a]r<td>baz</table><p>extra" queryCommandValue("defaultparagraphseparator") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table align=center><tbody><tr><td>foo<td>b[a]r<td>baz</table><p>extra" queryCommandIndeterm("defaultparagraphseparator") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table align=center><tbody><tr><td>foo<td>b[a]r<td>baz</table><p>extra" queryCommandState("defaultparagraphseparator") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table align=center><tbody><tr><td>foo<td>b[a]r<td>baz</table><p>extra" queryCommandValue("defaultparagraphseparator") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table align=center><tbody><tr><td>foo<td>b[a]r<td>baz</table><p>extra" queryCommandIndeterm("justifycenter") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table align=center><tbody><tr><td>foo<td>b[a]r<td>baz</table><p>extra" queryCommandState("justifycenter") before 
-FAIL [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table align=center><tbody><tr><td>foo<td>b[a]r<td>baz</table><p>extra" queryCommandValue("justifycenter") before assert_equals: Wrong result returned expected "left" but got "false"
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table align=center><tbody><tr><td>foo<td>b[a]r<td>baz</table><p>extra" queryCommandIndeterm("justifycenter") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table align=center><tbody><tr><td>foo<td>b[a]r<td>baz</table><p>extra" queryCommandState("justifycenter") after 
-FAIL [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table align=center><tbody><tr><td>foo<td>b[a]r<td>baz</table><p>extra" queryCommandValue("justifycenter") after assert_equals: Wrong result returned expected "center" but got "true"
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table align=center><tbody><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table><p>extra": execCommand("stylewithcss", false, "true") return value 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table align=center><tbody><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table><p>extra": execCommand("defaultparagraphseparator", false, "div") return value 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table align=center><tbody><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table><p>extra": execCommand("justifycenter", false, "") return value 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table align=center><tbody><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table><p>extra" checks for modifications to non-editable content 
-FAIL [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table align=center><tbody><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table><p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<table align=\"center\"><tbody><tr><td>foo</td><td><div style=\"text-align:center\">bar</div></td><td>baz</td></tr></tbody></table><p>extra</p>" but got "<table align=\"center\"><tbody><tr><td>foo</td><td style=\"text-align:center\">bar</td><td style=\"text-align:center\">baz</td></tr></tbody></table><p>extra</p>"
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table align=center><tbody><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("stylewithcss") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table align=center><tbody><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("stylewithcss") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table align=center><tbody><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("stylewithcss") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table align=center><tbody><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("stylewithcss") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table align=center><tbody><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("stylewithcss") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table align=center><tbody><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("stylewithcss") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table align=center><tbody><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("defaultparagraphseparator") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table align=center><tbody><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("defaultparagraphseparator") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table align=center><tbody><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("defaultparagraphseparator") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table align=center><tbody><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("defaultparagraphseparator") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table align=center><tbody><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("defaultparagraphseparator") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table align=center><tbody><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("defaultparagraphseparator") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table align=center><tbody><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("justifycenter") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table align=center><tbody><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("justifycenter") before 
-FAIL [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table align=center><tbody><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("justifycenter") before assert_equals: Wrong result returned expected "left" but got "false"
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table align=center><tbody><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("justifycenter") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table align=center><tbody><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("justifycenter") after 
-FAIL [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table align=center><tbody><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("justifycenter") after assert_equals: Wrong result returned expected "center" but got "true"
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table align=center><tbody><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table><p>extra": execCommand("stylewithcss", false, "false") return value 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table align=center><tbody><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table><p>extra": execCommand("defaultparagraphseparator", false, "div") return value 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table align=center><tbody><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table><p>extra": execCommand("justifycenter", false, "") return value 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table align=center><tbody><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table><p>extra" checks for modifications to non-editable content 
-FAIL [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table align=center><tbody><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table><p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<table align=\"center\"><tbody><tr><td>foo</td><td><div style=\"text-align:center\">bar</div></td><td>baz</td></tr></tbody></table><p>extra</p>" but got "<table align=\"center\"><tbody><tr><td>foo</td><td style=\"text-align:center\">bar</td><td style=\"text-align:center\">baz</td></tr></tbody></table><p>extra</p>"
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table align=center><tbody><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("stylewithcss") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table align=center><tbody><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("stylewithcss") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table align=center><tbody><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("stylewithcss") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table align=center><tbody><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("stylewithcss") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table align=center><tbody><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("stylewithcss") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table align=center><tbody><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("stylewithcss") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table align=center><tbody><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("defaultparagraphseparator") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table align=center><tbody><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("defaultparagraphseparator") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table align=center><tbody><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("defaultparagraphseparator") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table align=center><tbody><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("defaultparagraphseparator") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table align=center><tbody><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("defaultparagraphseparator") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table align=center><tbody><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("defaultparagraphseparator") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table align=center><tbody><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("justifycenter") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table align=center><tbody><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("justifycenter") before 
-FAIL [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table align=center><tbody><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("justifycenter") before assert_equals: Wrong result returned expected "left" but got "false"
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table align=center><tbody><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("justifycenter") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table align=center><tbody><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("justifycenter") after 
-FAIL [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table align=center><tbody><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("justifycenter") after assert_equals: Wrong result returned expected "center" but got "true"
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table align=center><tbody><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table><p>extra": execCommand("stylewithcss", false, "true") return value 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table align=center><tbody><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table><p>extra": execCommand("defaultparagraphseparator", false, "p") return value 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table align=center><tbody><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table><p>extra": execCommand("justifycenter", false, "") return value 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table align=center><tbody><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table><p>extra" checks for modifications to non-editable content 
-FAIL [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table align=center><tbody><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table><p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<table align=\"center\"><tbody><tr><td>foo</td><td><div style=\"text-align:center\">bar</div></td><td>baz</td></tr></tbody></table><p>extra</p>" but got "<table align=\"center\"><tbody><tr><td>foo</td><td style=\"text-align:center\">bar</td><td style=\"text-align:center\">baz</td></tr></tbody></table><p>extra</p>"
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table align=center><tbody><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("stylewithcss") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table align=center><tbody><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("stylewithcss") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table align=center><tbody><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("stylewithcss") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table align=center><tbody><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("stylewithcss") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table align=center><tbody><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("stylewithcss") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table align=center><tbody><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("stylewithcss") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table align=center><tbody><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("defaultparagraphseparator") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table align=center><tbody><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("defaultparagraphseparator") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table align=center><tbody><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("defaultparagraphseparator") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table align=center><tbody><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("defaultparagraphseparator") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table align=center><tbody><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("defaultparagraphseparator") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table align=center><tbody><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("defaultparagraphseparator") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table align=center><tbody><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("justifycenter") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table align=center><tbody><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("justifycenter") before 
-FAIL [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table align=center><tbody><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("justifycenter") before assert_equals: Wrong result returned expected "left" but got "false"
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table align=center><tbody><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("justifycenter") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table align=center><tbody><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("justifycenter") after 
-FAIL [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table align=center><tbody><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("justifycenter") after assert_equals: Wrong result returned expected "center" but got "true"
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table align=center><tbody><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table><p>extra": execCommand("stylewithcss", false, "false") return value 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table align=center><tbody><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table><p>extra": execCommand("defaultparagraphseparator", false, "p") return value 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table align=center><tbody><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table><p>extra": execCommand("justifycenter", false, "") return value 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table align=center><tbody><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table><p>extra" checks for modifications to non-editable content 
-FAIL [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table align=center><tbody><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table><p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<table align=\"center\"><tbody><tr><td>foo</td><td><div style=\"text-align:center\">bar</div></td><td>baz</td></tr></tbody></table><p>extra</p>" but got "<table align=\"center\"><tbody><tr><td>foo</td><td style=\"text-align:center\">bar</td><td style=\"text-align:center\">baz</td></tr></tbody></table><p>extra</p>"
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table align=center><tbody><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("stylewithcss") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table align=center><tbody><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("stylewithcss") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table align=center><tbody><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("stylewithcss") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table align=center><tbody><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("stylewithcss") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table align=center><tbody><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("stylewithcss") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table align=center><tbody><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("stylewithcss") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table align=center><tbody><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("defaultparagraphseparator") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table align=center><tbody><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("defaultparagraphseparator") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table align=center><tbody><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("defaultparagraphseparator") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table align=center><tbody><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("defaultparagraphseparator") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table align=center><tbody><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("defaultparagraphseparator") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table align=center><tbody><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("defaultparagraphseparator") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table align=center><tbody><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("justifycenter") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table align=center><tbody><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("justifycenter") before 
-FAIL [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table align=center><tbody><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("justifycenter") before assert_equals: Wrong result returned expected "left" but got "false"
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table align=center><tbody><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("justifycenter") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table align=center><tbody><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("justifycenter") after 
-FAIL [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table align=center><tbody><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("justifycenter") after assert_equals: Wrong result returned expected "center" but got "true"
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table align=center><tbody><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table><p>extra": execCommand("stylewithcss", false, "true") return value 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table align=center><tbody><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table><p>extra": execCommand("defaultparagraphseparator", false, "div") return value 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table align=center><tbody><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table><p>extra": execCommand("justifycenter", false, "") return value 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table align=center><tbody><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table><p>extra" checks for modifications to non-editable content 
-FAIL [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table align=center><tbody><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table><p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<table align=\"center\"><tbody><tr><td><div style=\"text-align:center\">foo</div></td><td><div style=\"text-align:center\">bar</div></td><td>baz</td></tr></tbody></table><p>extra</p>" but got "<table align=\"center\"><tbody><tr><td style=\"text-align:center\">foo</td><td style=\"text-align:center\">bar</td><td style=\"text-align:center\">baz</td></tr></tbody></table><p>extra</p>"
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table align=center><tbody><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("stylewithcss") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table align=center><tbody><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("stylewithcss") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table align=center><tbody><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("stylewithcss") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table align=center><tbody><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("stylewithcss") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table align=center><tbody><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("stylewithcss") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table align=center><tbody><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("stylewithcss") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table align=center><tbody><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("defaultparagraphseparator") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table align=center><tbody><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("defaultparagraphseparator") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table align=center><tbody><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("defaultparagraphseparator") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table align=center><tbody><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("defaultparagraphseparator") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table align=center><tbody><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("defaultparagraphseparator") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table align=center><tbody><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("defaultparagraphseparator") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table align=center><tbody><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("justifycenter") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table align=center><tbody><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("justifycenter") before 
-FAIL [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table align=center><tbody><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("justifycenter") before assert_equals: Wrong result returned expected "left" but got "false"
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table align=center><tbody><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("justifycenter") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table align=center><tbody><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("justifycenter") after 
-FAIL [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table align=center><tbody><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("justifycenter") after assert_equals: Wrong result returned expected "center" but got "true"
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table align=center><tbody><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table><p>extra": execCommand("stylewithcss", false, "false") return value 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table align=center><tbody><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table><p>extra": execCommand("defaultparagraphseparator", false, "div") return value 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table align=center><tbody><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table><p>extra": execCommand("justifycenter", false, "") return value 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table align=center><tbody><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table><p>extra" checks for modifications to non-editable content 
-FAIL [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table align=center><tbody><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table><p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<table align=\"center\"><tbody><tr><td><div style=\"text-align:center\">foo</div></td><td><div style=\"text-align:center\">bar</div></td><td>baz</td></tr></tbody></table><p>extra</p>" but got "<table align=\"center\"><tbody><tr><td style=\"text-align:center\">foo</td><td style=\"text-align:center\">bar</td><td style=\"text-align:center\">baz</td></tr></tbody></table><p>extra</p>"
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table align=center><tbody><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("stylewithcss") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table align=center><tbody><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("stylewithcss") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table align=center><tbody><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("stylewithcss") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table align=center><tbody><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("stylewithcss") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table align=center><tbody><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("stylewithcss") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table align=center><tbody><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("stylewithcss") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table align=center><tbody><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("defaultparagraphseparator") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table align=center><tbody><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("defaultparagraphseparator") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table align=center><tbody><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("defaultparagraphseparator") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table align=center><tbody><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("defaultparagraphseparator") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table align=center><tbody><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("defaultparagraphseparator") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table align=center><tbody><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("defaultparagraphseparator") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table align=center><tbody><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("justifycenter") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table align=center><tbody><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("justifycenter") before 
-FAIL [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table align=center><tbody><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("justifycenter") before assert_equals: Wrong result returned expected "left" but got "false"
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table align=center><tbody><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("justifycenter") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table align=center><tbody><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("justifycenter") after 
-FAIL [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table align=center><tbody><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("justifycenter") after assert_equals: Wrong result returned expected "center" but got "true"
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table align=center><tbody><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table><p>extra": execCommand("stylewithcss", false, "true") return value 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table align=center><tbody><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table><p>extra": execCommand("defaultparagraphseparator", false, "p") return value 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table align=center><tbody><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table><p>extra": execCommand("justifycenter", false, "") return value 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table align=center><tbody><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table><p>extra" checks for modifications to non-editable content 
-FAIL [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table align=center><tbody><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table><p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<table align=\"center\"><tbody><tr><td><div style=\"text-align:center\">foo</div></td><td><div style=\"text-align:center\">bar</div></td><td>baz</td></tr></tbody></table><p>extra</p>" but got "<table align=\"center\"><tbody><tr><td style=\"text-align:center\">foo</td><td style=\"text-align:center\">bar</td><td style=\"text-align:center\">baz</td></tr></tbody></table><p>extra</p>"
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table align=center><tbody><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("stylewithcss") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table align=center><tbody><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("stylewithcss") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table align=center><tbody><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("stylewithcss") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table align=center><tbody><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("stylewithcss") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table align=center><tbody><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("stylewithcss") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table align=center><tbody><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("stylewithcss") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table align=center><tbody><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("defaultparagraphseparator") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table align=center><tbody><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("defaultparagraphseparator") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table align=center><tbody><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("defaultparagraphseparator") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table align=center><tbody><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("defaultparagraphseparator") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table align=center><tbody><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("defaultparagraphseparator") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table align=center><tbody><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("defaultparagraphseparator") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table align=center><tbody><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("justifycenter") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table align=center><tbody><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("justifycenter") before 
-FAIL [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table align=center><tbody><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("justifycenter") before assert_equals: Wrong result returned expected "left" but got "false"
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table align=center><tbody><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("justifycenter") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table align=center><tbody><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("justifycenter") after 
-FAIL [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table align=center><tbody><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("justifycenter") after assert_equals: Wrong result returned expected "center" but got "true"
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table align=center><tbody><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table><p>extra": execCommand("stylewithcss", false, "false") return value 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table align=center><tbody><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table><p>extra": execCommand("defaultparagraphseparator", false, "p") return value 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table align=center><tbody><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table><p>extra": execCommand("justifycenter", false, "") return value 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table align=center><tbody><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table><p>extra" checks for modifications to non-editable content 
-FAIL [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table align=center><tbody><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table><p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<table align=\"center\"><tbody><tr><td><div style=\"text-align:center\">foo</div></td><td><div style=\"text-align:center\">bar</div></td><td>baz</td></tr></tbody></table><p>extra</p>" but got "<table align=\"center\"><tbody><tr><td style=\"text-align:center\">foo</td><td style=\"text-align:center\">bar</td><td style=\"text-align:center\">baz</td></tr></tbody></table><p>extra</p>"
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table align=center><tbody><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("stylewithcss") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table align=center><tbody><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("stylewithcss") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table align=center><tbody><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("stylewithcss") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table align=center><tbody><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("stylewithcss") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table align=center><tbody><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("stylewithcss") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table align=center><tbody><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("stylewithcss") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table align=center><tbody><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("defaultparagraphseparator") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table align=center><tbody><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("defaultparagraphseparator") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table align=center><tbody><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("defaultparagraphseparator") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table align=center><tbody><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("defaultparagraphseparator") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table align=center><tbody><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("defaultparagraphseparator") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table align=center><tbody><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("defaultparagraphseparator") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table align=center><tbody><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("justifycenter") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table align=center><tbody><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("justifycenter") before 
-FAIL [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table align=center><tbody><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("justifycenter") before assert_equals: Wrong result returned expected "left" but got "false"
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table align=center><tbody><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("justifycenter") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table align=center><tbody><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("justifycenter") after 
-FAIL [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table align=center><tbody><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("justifycenter") after assert_equals: Wrong result returned expected "center" but got "true"
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table align=center><tbody data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra": execCommand("stylewithcss", false, "true") return value 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table align=center><tbody data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra": execCommand("defaultparagraphseparator", false, "div") return value 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table align=center><tbody data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra": execCommand("justifycenter", false, "") return value 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table align=center><tbody data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" checks for modifications to non-editable content 
-FAIL [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table align=center><tbody data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<div style=\"text-align:center\"><table><tbody><tr><td>foo</td><td>bar</td><td>baz</td></tr></tbody></table></div><p>extra</p>" but got "<table align=\"center\" style=\"text-align:center\"><tbody><tr><td style=\"text-align:center\">foo</td><td style=\"text-align:center\">bar</td><td style=\"text-align:center\">baz</td></tr></tbody></table><p>extra</p>"
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table align=center><tbody data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("stylewithcss") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table align=center><tbody data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("stylewithcss") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table align=center><tbody data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("stylewithcss") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table align=center><tbody data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("stylewithcss") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table align=center><tbody data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("stylewithcss") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table align=center><tbody data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("stylewithcss") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table align=center><tbody data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("defaultparagraphseparator") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table align=center><tbody data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("defaultparagraphseparator") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table align=center><tbody data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("defaultparagraphseparator") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table align=center><tbody data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("defaultparagraphseparator") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table align=center><tbody data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("defaultparagraphseparator") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table align=center><tbody data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("defaultparagraphseparator") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table align=center><tbody data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("justifycenter") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table align=center><tbody data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("justifycenter") before 
-FAIL [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table align=center><tbody data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("justifycenter") before assert_equals: Wrong result returned expected "left" but got "false"
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table align=center><tbody data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("justifycenter") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table align=center><tbody data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("justifycenter") after 
-FAIL [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table align=center><tbody data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("justifycenter") after assert_equals: Wrong result returned expected "center" but got "true"
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table align=center><tbody data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra": execCommand("stylewithcss", false, "false") return value 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table align=center><tbody data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra": execCommand("defaultparagraphseparator", false, "div") return value 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table align=center><tbody data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra": execCommand("justifycenter", false, "") return value 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table align=center><tbody data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" checks for modifications to non-editable content 
-FAIL [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table align=center><tbody data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<div style=\"text-align:center\"><table><tbody><tr><td>foo</td><td>bar</td><td>baz</td></tr></tbody></table></div><p>extra</p>" but got "<table align=\"center\" style=\"text-align:center\"><tbody><tr><td style=\"text-align:center\">foo</td><td style=\"text-align:center\">bar</td><td style=\"text-align:center\">baz</td></tr></tbody></table><p>extra</p>"
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table align=center><tbody data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("stylewithcss") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table align=center><tbody data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("stylewithcss") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table align=center><tbody data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("stylewithcss") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table align=center><tbody data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("stylewithcss") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table align=center><tbody data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("stylewithcss") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table align=center><tbody data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("stylewithcss") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table align=center><tbody data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("defaultparagraphseparator") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table align=center><tbody data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("defaultparagraphseparator") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table align=center><tbody data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("defaultparagraphseparator") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table align=center><tbody data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("defaultparagraphseparator") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table align=center><tbody data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("defaultparagraphseparator") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table align=center><tbody data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("defaultparagraphseparator") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table align=center><tbody data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("justifycenter") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table align=center><tbody data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("justifycenter") before 
-FAIL [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table align=center><tbody data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("justifycenter") before assert_equals: Wrong result returned expected "left" but got "false"
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table align=center><tbody data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("justifycenter") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table align=center><tbody data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("justifycenter") after 
-FAIL [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table align=center><tbody data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("justifycenter") after assert_equals: Wrong result returned expected "center" but got "true"
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table align=center><tbody data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra": execCommand("stylewithcss", false, "true") return value 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table align=center><tbody data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra": execCommand("defaultparagraphseparator", false, "p") return value 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table align=center><tbody data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra": execCommand("justifycenter", false, "") return value 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table align=center><tbody data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" checks for modifications to non-editable content 
-FAIL [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table align=center><tbody data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<div style=\"text-align:center\"><table><tbody><tr><td>foo</td><td>bar</td><td>baz</td></tr></tbody></table></div><p>extra</p>" but got "<table align=\"center\" style=\"text-align:center\"><tbody><tr><td style=\"text-align:center\">foo</td><td style=\"text-align:center\">bar</td><td style=\"text-align:center\">baz</td></tr></tbody></table><p>extra</p>"
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table align=center><tbody data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("stylewithcss") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table align=center><tbody data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("stylewithcss") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table align=center><tbody data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("stylewithcss") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table align=center><tbody data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("stylewithcss") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table align=center><tbody data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("stylewithcss") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table align=center><tbody data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("stylewithcss") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table align=center><tbody data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("defaultparagraphseparator") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table align=center><tbody data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("defaultparagraphseparator") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table align=center><tbody data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("defaultparagraphseparator") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table align=center><tbody data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("defaultparagraphseparator") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table align=center><tbody data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("defaultparagraphseparator") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table align=center><tbody data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("defaultparagraphseparator") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table align=center><tbody data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("justifycenter") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table align=center><tbody data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("justifycenter") before 
-FAIL [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table align=center><tbody data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("justifycenter") before assert_equals: Wrong result returned expected "left" but got "false"
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table align=center><tbody data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("justifycenter") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table align=center><tbody data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("justifycenter") after 
-FAIL [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table align=center><tbody data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("justifycenter") after assert_equals: Wrong result returned expected "center" but got "true"
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table align=center><tbody data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra": execCommand("stylewithcss", false, "false") return value 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table align=center><tbody data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra": execCommand("defaultparagraphseparator", false, "p") return value 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table align=center><tbody data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra": execCommand("justifycenter", false, "") return value 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table align=center><tbody data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" checks for modifications to non-editable content 
-FAIL [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table align=center><tbody data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<div style=\"text-align:center\"><table><tbody><tr><td>foo</td><td>bar</td><td>baz</td></tr></tbody></table></div><p>extra</p>" but got "<table align=\"center\" style=\"text-align:center\"><tbody><tr><td style=\"text-align:center\">foo</td><td style=\"text-align:center\">bar</td><td style=\"text-align:center\">baz</td></tr></tbody></table><p>extra</p>"
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table align=center><tbody data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("stylewithcss") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table align=center><tbody data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("stylewithcss") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table align=center><tbody data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("stylewithcss") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table align=center><tbody data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("stylewithcss") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table align=center><tbody data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("stylewithcss") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table align=center><tbody data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("stylewithcss") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table align=center><tbody data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("defaultparagraphseparator") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table align=center><tbody data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("defaultparagraphseparator") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table align=center><tbody data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("defaultparagraphseparator") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table align=center><tbody data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("defaultparagraphseparator") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table align=center><tbody data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("defaultparagraphseparator") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table align=center><tbody data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("defaultparagraphseparator") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table align=center><tbody data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("justifycenter") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table align=center><tbody data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("justifycenter") before 
-FAIL [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table align=center><tbody data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("justifycenter") before assert_equals: Wrong result returned expected "left" but got "false"
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table align=center><tbody data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("justifycenter") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table align=center><tbody data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("justifycenter") after 
-FAIL [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table align=center><tbody data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("justifycenter") after assert_equals: Wrong result returned expected "center" but got "true"
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table align=center data-start=0 data-end=1><tbody><tr><td>foo<td>bar<td>baz</table><p>extra": execCommand("stylewithcss", false, "true") return value 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table align=center data-start=0 data-end=1><tbody><tr><td>foo<td>bar<td>baz</table><p>extra": execCommand("defaultparagraphseparator", false, "div") return value 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table align=center data-start=0 data-end=1><tbody><tr><td>foo<td>bar<td>baz</table><p>extra": execCommand("justifycenter", false, "") return value 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table align=center data-start=0 data-end=1><tbody><tr><td>foo<td>bar<td>baz</table><p>extra" checks for modifications to non-editable content 
-FAIL [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table align=center data-start=0 data-end=1><tbody><tr><td>foo<td>bar<td>baz</table><p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<div style=\"text-align:center\"><table><tbody><tr><td>foo</td><td>bar</td><td>baz</td></tr></tbody></table></div><p>extra</p>" but got "<table align=\"center\" style=\"text-align:center\"><tbody><tr><td>foo</td><td>bar</td><td>baz</td></tr></tbody></table><p>extra</p>"
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table align=center data-start=0 data-end=1><tbody><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("stylewithcss") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table align=center data-start=0 data-end=1><tbody><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("stylewithcss") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table align=center data-start=0 data-end=1><tbody><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("stylewithcss") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table align=center data-start=0 data-end=1><tbody><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("stylewithcss") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table align=center data-start=0 data-end=1><tbody><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("stylewithcss") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table align=center data-start=0 data-end=1><tbody><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("stylewithcss") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table align=center data-start=0 data-end=1><tbody><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("defaultparagraphseparator") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table align=center data-start=0 data-end=1><tbody><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("defaultparagraphseparator") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table align=center data-start=0 data-end=1><tbody><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("defaultparagraphseparator") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table align=center data-start=0 data-end=1><tbody><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("defaultparagraphseparator") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table align=center data-start=0 data-end=1><tbody><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("defaultparagraphseparator") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table align=center data-start=0 data-end=1><tbody><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("defaultparagraphseparator") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table align=center data-start=0 data-end=1><tbody><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("justifycenter") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table align=center data-start=0 data-end=1><tbody><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("justifycenter") before 
-FAIL [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table align=center data-start=0 data-end=1><tbody><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("justifycenter") before assert_equals: Wrong result returned expected "left" but got "false"
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table align=center data-start=0 data-end=1><tbody><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("justifycenter") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table align=center data-start=0 data-end=1><tbody><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("justifycenter") after 
-FAIL [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table align=center data-start=0 data-end=1><tbody><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("justifycenter") after assert_equals: Wrong result returned expected "center" but got "true"
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table align=center data-start=0 data-end=1><tbody><tr><td>foo<td>bar<td>baz</table><p>extra": execCommand("stylewithcss", false, "false") return value 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table align=center data-start=0 data-end=1><tbody><tr><td>foo<td>bar<td>baz</table><p>extra": execCommand("defaultparagraphseparator", false, "div") return value 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table align=center data-start=0 data-end=1><tbody><tr><td>foo<td>bar<td>baz</table><p>extra": execCommand("justifycenter", false, "") return value 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table align=center data-start=0 data-end=1><tbody><tr><td>foo<td>bar<td>baz</table><p>extra" checks for modifications to non-editable content 
-FAIL [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table align=center data-start=0 data-end=1><tbody><tr><td>foo<td>bar<td>baz</table><p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<div style=\"text-align:center\"><table><tbody><tr><td>foo</td><td>bar</td><td>baz</td></tr></tbody></table></div><p>extra</p>" but got "<table align=\"center\" style=\"text-align:center\"><tbody><tr><td>foo</td><td>bar</td><td>baz</td></tr></tbody></table><p>extra</p>"
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table align=center data-start=0 data-end=1><tbody><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("stylewithcss") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table align=center data-start=0 data-end=1><tbody><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("stylewithcss") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table align=center data-start=0 data-end=1><tbody><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("stylewithcss") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table align=center data-start=0 data-end=1><tbody><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("stylewithcss") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table align=center data-start=0 data-end=1><tbody><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("stylewithcss") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table align=center data-start=0 data-end=1><tbody><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("stylewithcss") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table align=center data-start=0 data-end=1><tbody><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("defaultparagraphseparator") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table align=center data-start=0 data-end=1><tbody><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("defaultparagraphseparator") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table align=center data-start=0 data-end=1><tbody><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("defaultparagraphseparator") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table align=center data-start=0 data-end=1><tbody><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("defaultparagraphseparator") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table align=center data-start=0 data-end=1><tbody><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("defaultparagraphseparator") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table align=center data-start=0 data-end=1><tbody><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("defaultparagraphseparator") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table align=center data-start=0 data-end=1><tbody><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("justifycenter") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table align=center data-start=0 data-end=1><tbody><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("justifycenter") before 
-FAIL [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table align=center data-start=0 data-end=1><tbody><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("justifycenter") before assert_equals: Wrong result returned expected "left" but got "false"
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table align=center data-start=0 data-end=1><tbody><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("justifycenter") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table align=center data-start=0 data-end=1><tbody><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("justifycenter") after 
-FAIL [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table align=center data-start=0 data-end=1><tbody><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("justifycenter") after assert_equals: Wrong result returned expected "center" but got "true"
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table align=center data-start=0 data-end=1><tbody><tr><td>foo<td>bar<td>baz</table><p>extra": execCommand("stylewithcss", false, "true") return value 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table align=center data-start=0 data-end=1><tbody><tr><td>foo<td>bar<td>baz</table><p>extra": execCommand("defaultparagraphseparator", false, "p") return value 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table align=center data-start=0 data-end=1><tbody><tr><td>foo<td>bar<td>baz</table><p>extra": execCommand("justifycenter", false, "") return value 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table align=center data-start=0 data-end=1><tbody><tr><td>foo<td>bar<td>baz</table><p>extra" checks for modifications to non-editable content 
-FAIL [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table align=center data-start=0 data-end=1><tbody><tr><td>foo<td>bar<td>baz</table><p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<div style=\"text-align:center\"><table><tbody><tr><td>foo</td><td>bar</td><td>baz</td></tr></tbody></table></div><p>extra</p>" but got "<table align=\"center\" style=\"text-align:center\"><tbody><tr><td>foo</td><td>bar</td><td>baz</td></tr></tbody></table><p>extra</p>"
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table align=center data-start=0 data-end=1><tbody><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("stylewithcss") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table align=center data-start=0 data-end=1><tbody><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("stylewithcss") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table align=center data-start=0 data-end=1><tbody><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("stylewithcss") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table align=center data-start=0 data-end=1><tbody><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("stylewithcss") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table align=center data-start=0 data-end=1><tbody><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("stylewithcss") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table align=center data-start=0 data-end=1><tbody><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("stylewithcss") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table align=center data-start=0 data-end=1><tbody><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("defaultparagraphseparator") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table align=center data-start=0 data-end=1><tbody><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("defaultparagraphseparator") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table align=center data-start=0 data-end=1><tbody><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("defaultparagraphseparator") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table align=center data-start=0 data-end=1><tbody><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("defaultparagraphseparator") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table align=center data-start=0 data-end=1><tbody><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("defaultparagraphseparator") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table align=center data-start=0 data-end=1><tbody><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("defaultparagraphseparator") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table align=center data-start=0 data-end=1><tbody><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("justifycenter") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table align=center data-start=0 data-end=1><tbody><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("justifycenter") before 
-FAIL [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table align=center data-start=0 data-end=1><tbody><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("justifycenter") before assert_equals: Wrong result returned expected "left" but got "false"
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table align=center data-start=0 data-end=1><tbody><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("justifycenter") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table align=center data-start=0 data-end=1><tbody><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("justifycenter") after 
-FAIL [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table align=center data-start=0 data-end=1><tbody><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("justifycenter") after assert_equals: Wrong result returned expected "center" but got "true"
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table align=center data-start=0 data-end=1><tbody><tr><td>foo<td>bar<td>baz</table><p>extra": execCommand("stylewithcss", false, "false") return value 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table align=center data-start=0 data-end=1><tbody><tr><td>foo<td>bar<td>baz</table><p>extra": execCommand("defaultparagraphseparator", false, "p") return value 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table align=center data-start=0 data-end=1><tbody><tr><td>foo<td>bar<td>baz</table><p>extra": execCommand("justifycenter", false, "") return value 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table align=center data-start=0 data-end=1><tbody><tr><td>foo<td>bar<td>baz</table><p>extra" checks for modifications to non-editable content 
-FAIL [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table align=center data-start=0 data-end=1><tbody><tr><td>foo<td>bar<td>baz</table><p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<div style=\"text-align:center\"><table><tbody><tr><td>foo</td><td>bar</td><td>baz</td></tr></tbody></table></div><p>extra</p>" but got "<table align=\"center\" style=\"text-align:center\"><tbody><tr><td>foo</td><td>bar</td><td>baz</td></tr></tbody></table><p>extra</p>"
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table align=center data-start=0 data-end=1><tbody><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("stylewithcss") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table align=center data-start=0 data-end=1><tbody><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("stylewithcss") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table align=center data-start=0 data-end=1><tbody><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("stylewithcss") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table align=center data-start=0 data-end=1><tbody><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("stylewithcss") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table align=center data-start=0 data-end=1><tbody><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("stylewithcss") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table align=center data-start=0 data-end=1><tbody><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("stylewithcss") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table align=center data-start=0 data-end=1><tbody><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("defaultparagraphseparator") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table align=center data-start=0 data-end=1><tbody><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("defaultparagraphseparator") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table align=center data-start=0 data-end=1><tbody><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("defaultparagraphseparator") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table align=center data-start=0 data-end=1><tbody><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("defaultparagraphseparator") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table align=center data-start=0 data-end=1><tbody><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("defaultparagraphseparator") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table align=center data-start=0 data-end=1><tbody><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("defaultparagraphseparator") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table align=center data-start=0 data-end=1><tbody><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("justifycenter") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table align=center data-start=0 data-end=1><tbody><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("justifycenter") before 
-FAIL [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table align=center data-start=0 data-end=1><tbody><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("justifycenter") before assert_equals: Wrong result returned expected "left" but got "false"
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table align=center data-start=0 data-end=1><tbody><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("justifycenter") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table align=center data-start=0 data-end=1><tbody><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("justifycenter") after 
-FAIL [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table align=center data-start=0 data-end=1><tbody><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("justifycenter") after assert_equals: Wrong result returned expected "center" but got "true"
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "{<table align=center><tr><td>foo<td>bar<td>baz</table>}<p>extra": execCommand("stylewithcss", false, "true") return value 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "{<table align=center><tr><td>foo<td>bar<td>baz</table>}<p>extra": execCommand("defaultparagraphseparator", false, "div") return value 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "{<table align=center><tr><td>foo<td>bar<td>baz</table>}<p>extra": execCommand("justifycenter", false, "") return value 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "{<table align=center><tr><td>foo<td>bar<td>baz</table>}<p>extra" checks for modifications to non-editable content 
-FAIL [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "{<table align=center><tr><td>foo<td>bar<td>baz</table>}<p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<div style=\"text-align:center\"><table><tbody><tr><td>foo</td><td>bar</td><td>baz</td></tr></tbody></table></div><p>extra</p>" but got "<table align=\"center\" style=\"text-align:center\"><tbody><tr><td>foo</td><td>bar</td><td>baz</td></tr></tbody></table><p style=\"text-align:center\">extra</p>"
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "{<table align=center><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandIndeterm("stylewithcss") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "{<table align=center><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandState("stylewithcss") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "{<table align=center><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandValue("stylewithcss") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "{<table align=center><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandIndeterm("stylewithcss") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "{<table align=center><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandState("stylewithcss") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "{<table align=center><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandValue("stylewithcss") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "{<table align=center><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandIndeterm("defaultparagraphseparator") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "{<table align=center><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandState("defaultparagraphseparator") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "{<table align=center><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandValue("defaultparagraphseparator") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "{<table align=center><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandIndeterm("defaultparagraphseparator") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "{<table align=center><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandState("defaultparagraphseparator") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "{<table align=center><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandValue("defaultparagraphseparator") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "{<table align=center><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandIndeterm("justifycenter") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "{<table align=center><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandState("justifycenter") before 
-FAIL [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "{<table align=center><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandValue("justifycenter") before assert_equals: Wrong result returned expected "left" but got "false"
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "{<table align=center><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandIndeterm("justifycenter") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "{<table align=center><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandState("justifycenter") after 
-FAIL [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "{<table align=center><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandValue("justifycenter") after assert_equals: Wrong result returned expected "center" but got "true"
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "{<table align=center><tr><td>foo<td>bar<td>baz</table>}<p>extra": execCommand("stylewithcss", false, "false") return value 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "{<table align=center><tr><td>foo<td>bar<td>baz</table>}<p>extra": execCommand("defaultparagraphseparator", false, "div") return value 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "{<table align=center><tr><td>foo<td>bar<td>baz</table>}<p>extra": execCommand("justifycenter", false, "") return value 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "{<table align=center><tr><td>foo<td>bar<td>baz</table>}<p>extra" checks for modifications to non-editable content 
-FAIL [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "{<table align=center><tr><td>foo<td>bar<td>baz</table>}<p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<div style=\"text-align:center\"><table><tbody><tr><td>foo</td><td>bar</td><td>baz</td></tr></tbody></table></div><p>extra</p>" but got "<table align=\"center\" style=\"text-align:center\"><tbody><tr><td>foo</td><td>bar</td><td>baz</td></tr></tbody></table><p style=\"text-align:center\">extra</p>"
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "{<table align=center><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandIndeterm("stylewithcss") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "{<table align=center><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandState("stylewithcss") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "{<table align=center><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandValue("stylewithcss") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "{<table align=center><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandIndeterm("stylewithcss") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "{<table align=center><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandState("stylewithcss") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "{<table align=center><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandValue("stylewithcss") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "{<table align=center><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandIndeterm("defaultparagraphseparator") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "{<table align=center><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandState("defaultparagraphseparator") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "{<table align=center><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandValue("defaultparagraphseparator") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "{<table align=center><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandIndeterm("defaultparagraphseparator") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "{<table align=center><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandState("defaultparagraphseparator") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "{<table align=center><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandValue("defaultparagraphseparator") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "{<table align=center><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandIndeterm("justifycenter") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "{<table align=center><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandState("justifycenter") before 
-FAIL [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "{<table align=center><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandValue("justifycenter") before assert_equals: Wrong result returned expected "left" but got "false"
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "{<table align=center><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandIndeterm("justifycenter") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "{<table align=center><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandState("justifycenter") after 
-FAIL [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "{<table align=center><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandValue("justifycenter") after assert_equals: Wrong result returned expected "center" but got "true"
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "{<table align=center><tr><td>foo<td>bar<td>baz</table>}<p>extra": execCommand("stylewithcss", false, "true") return value 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "{<table align=center><tr><td>foo<td>bar<td>baz</table>}<p>extra": execCommand("defaultparagraphseparator", false, "p") return value 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "{<table align=center><tr><td>foo<td>bar<td>baz</table>}<p>extra": execCommand("justifycenter", false, "") return value 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "{<table align=center><tr><td>foo<td>bar<td>baz</table>}<p>extra" checks for modifications to non-editable content 
-FAIL [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "{<table align=center><tr><td>foo<td>bar<td>baz</table>}<p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<div style=\"text-align:center\"><table><tbody><tr><td>foo</td><td>bar</td><td>baz</td></tr></tbody></table></div><p>extra</p>" but got "<table align=\"center\" style=\"text-align:center\"><tbody><tr><td>foo</td><td>bar</td><td>baz</td></tr></tbody></table><p style=\"text-align:center\">extra</p>"
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "{<table align=center><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandIndeterm("stylewithcss") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "{<table align=center><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandState("stylewithcss") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "{<table align=center><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandValue("stylewithcss") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "{<table align=center><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandIndeterm("stylewithcss") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "{<table align=center><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandState("stylewithcss") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "{<table align=center><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandValue("stylewithcss") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "{<table align=center><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandIndeterm("defaultparagraphseparator") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "{<table align=center><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandState("defaultparagraphseparator") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "{<table align=center><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandValue("defaultparagraphseparator") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "{<table align=center><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandIndeterm("defaultparagraphseparator") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "{<table align=center><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandState("defaultparagraphseparator") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "{<table align=center><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandValue("defaultparagraphseparator") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "{<table align=center><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandIndeterm("justifycenter") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "{<table align=center><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandState("justifycenter") before 
-FAIL [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "{<table align=center><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandValue("justifycenter") before assert_equals: Wrong result returned expected "left" but got "false"
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "{<table align=center><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandIndeterm("justifycenter") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "{<table align=center><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandState("justifycenter") after 
-FAIL [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "{<table align=center><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandValue("justifycenter") after assert_equals: Wrong result returned expected "center" but got "true"
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "{<table align=center><tr><td>foo<td>bar<td>baz</table>}<p>extra": execCommand("stylewithcss", false, "false") return value 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "{<table align=center><tr><td>foo<td>bar<td>baz</table>}<p>extra": execCommand("defaultparagraphseparator", false, "p") return value 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "{<table align=center><tr><td>foo<td>bar<td>baz</table>}<p>extra": execCommand("justifycenter", false, "") return value 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "{<table align=center><tr><td>foo<td>bar<td>baz</table>}<p>extra" checks for modifications to non-editable content 
-FAIL [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "{<table align=center><tr><td>foo<td>bar<td>baz</table>}<p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<div style=\"text-align:center\"><table><tbody><tr><td>foo</td><td>bar</td><td>baz</td></tr></tbody></table></div><p>extra</p>" but got "<table align=\"center\" style=\"text-align:center\"><tbody><tr><td>foo</td><td>bar</td><td>baz</td></tr></tbody></table><p style=\"text-align:center\">extra</p>"
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "{<table align=center><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandIndeterm("stylewithcss") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "{<table align=center><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandState("stylewithcss") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "{<table align=center><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandValue("stylewithcss") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "{<table align=center><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandIndeterm("stylewithcss") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "{<table align=center><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandState("stylewithcss") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "{<table align=center><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandValue("stylewithcss") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "{<table align=center><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandIndeterm("defaultparagraphseparator") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "{<table align=center><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandState("defaultparagraphseparator") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "{<table align=center><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandValue("defaultparagraphseparator") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "{<table align=center><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandIndeterm("defaultparagraphseparator") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "{<table align=center><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandState("defaultparagraphseparator") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "{<table align=center><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandValue("defaultparagraphseparator") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "{<table align=center><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandIndeterm("justifycenter") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "{<table align=center><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandState("justifycenter") before 
-FAIL [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "{<table align=center><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandValue("justifycenter") before assert_equals: Wrong result returned expected "left" but got "false"
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "{<table align=center><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandIndeterm("justifycenter") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "{<table align=center><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandState("justifycenter") after 
-FAIL [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "{<table align=center><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandValue("justifycenter") after assert_equals: Wrong result returned expected "center" but got "true"
-PASS [["justifycenter",""]] "<table><tbody align=center><tr><td>foo<td>b[a]r<td>baz</table><p>extra": execCommand("justifycenter", false, "") return value 
-PASS [["justifycenter",""]] "<table><tbody align=center><tr><td>foo<td>b[a]r<td>baz</table><p>extra" checks for modifications to non-editable content 
-PASS [["justifycenter",""]] "<table><tbody align=center><tr><td>foo<td>b[a]r<td>baz</table><p>extra" compare innerHTML 
-PASS [["justifycenter",""]] "<table><tbody align=center><tr><td>foo<td>b[a]r<td>baz</table><p>extra" queryCommandIndeterm("justifycenter") before 
-PASS [["justifycenter",""]] "<table><tbody align=center><tr><td>foo<td>b[a]r<td>baz</table><p>extra" queryCommandState("justifycenter") before 
-FAIL [["justifycenter",""]] "<table><tbody align=center><tr><td>foo<td>b[a]r<td>baz</table><p>extra" queryCommandValue("justifycenter") before assert_equals: Wrong result returned expected "center" but got "true"
-PASS [["justifycenter",""]] "<table><tbody align=center><tr><td>foo<td>b[a]r<td>baz</table><p>extra" queryCommandIndeterm("justifycenter") after 
-PASS [["justifycenter",""]] "<table><tbody align=center><tr><td>foo<td>b[a]r<td>baz</table><p>extra" queryCommandState("justifycenter") after 
-FAIL [["justifycenter",""]] "<table><tbody align=center><tr><td>foo<td>b[a]r<td>baz</table><p>extra" queryCommandValue("justifycenter") after assert_equals: Wrong result returned expected "center" but got "true"
-PASS [["justifycenter",""]] "<table><tbody align=center><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table><p>extra": execCommand("justifycenter", false, "") return value 
-PASS [["justifycenter",""]] "<table><tbody align=center><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table><p>extra" checks for modifications to non-editable content 
-PASS [["justifycenter",""]] "<table><tbody align=center><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table><p>extra" compare innerHTML 
-PASS [["justifycenter",""]] "<table><tbody align=center><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("justifycenter") before 
-PASS [["justifycenter",""]] "<table><tbody align=center><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("justifycenter") before 
-FAIL [["justifycenter",""]] "<table><tbody align=center><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("justifycenter") before assert_equals: Wrong result returned expected "center" but got "true"
-PASS [["justifycenter",""]] "<table><tbody align=center><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("justifycenter") after 
-PASS [["justifycenter",""]] "<table><tbody align=center><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("justifycenter") after 
-FAIL [["justifycenter",""]] "<table><tbody align=center><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("justifycenter") after assert_equals: Wrong result returned expected "center" but got "true"
-PASS [["justifycenter",""]] "<table><tbody align=center><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table><p>extra": execCommand("justifycenter", false, "") return value 
-PASS [["justifycenter",""]] "<table><tbody align=center><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table><p>extra" checks for modifications to non-editable content 
-PASS [["justifycenter",""]] "<table><tbody align=center><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table><p>extra" compare innerHTML 
-PASS [["justifycenter",""]] "<table><tbody align=center><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("justifycenter") before 
-PASS [["justifycenter",""]] "<table><tbody align=center><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("justifycenter") before 
-FAIL [["justifycenter",""]] "<table><tbody align=center><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("justifycenter") before assert_equals: Wrong result returned expected "center" but got "true"
-PASS [["justifycenter",""]] "<table><tbody align=center><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("justifycenter") after 
-PASS [["justifycenter",""]] "<table><tbody align=center><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("justifycenter") after 
-FAIL [["justifycenter",""]] "<table><tbody align=center><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("justifycenter") after assert_equals: Wrong result returned expected "center" but got "true"
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table><tbody align=center data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra": execCommand("stylewithcss", false, "true") return value 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table><tbody align=center data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra": execCommand("defaultparagraphseparator", false, "div") return value 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table><tbody align=center data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra": execCommand("justifycenter", false, "") return value 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table><tbody align=center data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" checks for modifications to non-editable content 
-FAIL [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table><tbody align=center data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<div style=\"text-align:center\"><table><tbody><tr><td>foo</td><td>bar</td><td>baz</td></tr></tbody></table></div><p>extra</p>" but got "<table style=\"text-align:center\"><tbody align=\"center\"><tr><td>foo</td><td>bar</td><td>baz</td></tr></tbody></table><p>extra</p>"
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table><tbody align=center data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("stylewithcss") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table><tbody align=center data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("stylewithcss") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table><tbody align=center data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("stylewithcss") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table><tbody align=center data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("stylewithcss") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table><tbody align=center data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("stylewithcss") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table><tbody align=center data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("stylewithcss") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table><tbody align=center data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("defaultparagraphseparator") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table><tbody align=center data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("defaultparagraphseparator") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table><tbody align=center data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("defaultparagraphseparator") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table><tbody align=center data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("defaultparagraphseparator") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table><tbody align=center data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("defaultparagraphseparator") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table><tbody align=center data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("defaultparagraphseparator") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table><tbody align=center data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("justifycenter") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table><tbody align=center data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("justifycenter") before 
-FAIL [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table><tbody align=center data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("justifycenter") before assert_equals: Wrong result returned expected "center" but got "true"
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table><tbody align=center data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("justifycenter") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table><tbody align=center data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("justifycenter") after 
-FAIL [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table><tbody align=center data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("justifycenter") after assert_equals: Wrong result returned expected "center" but got "true"
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table><tbody align=center data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra": execCommand("stylewithcss", false, "false") return value 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table><tbody align=center data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra": execCommand("defaultparagraphseparator", false, "div") return value 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table><tbody align=center data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra": execCommand("justifycenter", false, "") return value 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table><tbody align=center data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" checks for modifications to non-editable content 
-FAIL [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table><tbody align=center data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<div style=\"text-align:center\"><table><tbody><tr><td>foo</td><td>bar</td><td>baz</td></tr></tbody></table></div><p>extra</p>" but got "<table style=\"text-align:center\"><tbody align=\"center\"><tr><td>foo</td><td>bar</td><td>baz</td></tr></tbody></table><p>extra</p>"
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table><tbody align=center data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("stylewithcss") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table><tbody align=center data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("stylewithcss") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table><tbody align=center data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("stylewithcss") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table><tbody align=center data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("stylewithcss") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table><tbody align=center data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("stylewithcss") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table><tbody align=center data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("stylewithcss") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table><tbody align=center data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("defaultparagraphseparator") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table><tbody align=center data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("defaultparagraphseparator") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table><tbody align=center data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("defaultparagraphseparator") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table><tbody align=center data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("defaultparagraphseparator") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table><tbody align=center data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("defaultparagraphseparator") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table><tbody align=center data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("defaultparagraphseparator") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table><tbody align=center data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("justifycenter") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table><tbody align=center data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("justifycenter") before 
-FAIL [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table><tbody align=center data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("justifycenter") before assert_equals: Wrong result returned expected "center" but got "true"
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table><tbody align=center data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("justifycenter") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table><tbody align=center data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("justifycenter") after 
-FAIL [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table><tbody align=center data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("justifycenter") after assert_equals: Wrong result returned expected "center" but got "true"
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table><tbody align=center data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra": execCommand("stylewithcss", false, "true") return value 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table><tbody align=center data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra": execCommand("defaultparagraphseparator", false, "p") return value 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table><tbody align=center data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra": execCommand("justifycenter", false, "") return value 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table><tbody align=center data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" checks for modifications to non-editable content 
-FAIL [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table><tbody align=center data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<div style=\"text-align:center\"><table><tbody><tr><td>foo</td><td>bar</td><td>baz</td></tr></tbody></table></div><p>extra</p>" but got "<table style=\"text-align:center\"><tbody align=\"center\"><tr><td>foo</td><td>bar</td><td>baz</td></tr></tbody></table><p>extra</p>"
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table><tbody align=center data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("stylewithcss") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table><tbody align=center data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("stylewithcss") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table><tbody align=center data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("stylewithcss") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table><tbody align=center data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("stylewithcss") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table><tbody align=center data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("stylewithcss") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table><tbody align=center data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("stylewithcss") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table><tbody align=center data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("defaultparagraphseparator") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table><tbody align=center data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("defaultparagraphseparator") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table><tbody align=center data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("defaultparagraphseparator") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table><tbody align=center data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("defaultparagraphseparator") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table><tbody align=center data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("defaultparagraphseparator") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table><tbody align=center data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("defaultparagraphseparator") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table><tbody align=center data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("justifycenter") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table><tbody align=center data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("justifycenter") before 
-FAIL [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table><tbody align=center data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("justifycenter") before assert_equals: Wrong result returned expected "center" but got "true"
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table><tbody align=center data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("justifycenter") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table><tbody align=center data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("justifycenter") after 
-FAIL [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table><tbody align=center data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("justifycenter") after assert_equals: Wrong result returned expected "center" but got "true"
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table><tbody align=center data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra": execCommand("stylewithcss", false, "false") return value 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table><tbody align=center data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra": execCommand("defaultparagraphseparator", false, "p") return value 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table><tbody align=center data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra": execCommand("justifycenter", false, "") return value 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table><tbody align=center data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" checks for modifications to non-editable content 
-FAIL [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table><tbody align=center data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<div style=\"text-align:center\"><table><tbody><tr><td>foo</td><td>bar</td><td>baz</td></tr></tbody></table></div><p>extra</p>" but got "<table style=\"text-align:center\"><tbody align=\"center\"><tr><td>foo</td><td>bar</td><td>baz</td></tr></tbody></table><p>extra</p>"
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table><tbody align=center data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("stylewithcss") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table><tbody align=center data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("stylewithcss") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table><tbody align=center data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("stylewithcss") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table><tbody align=center data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("stylewithcss") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table><tbody align=center data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("stylewithcss") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table><tbody align=center data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("stylewithcss") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table><tbody align=center data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("defaultparagraphseparator") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table><tbody align=center data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("defaultparagraphseparator") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table><tbody align=center data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("defaultparagraphseparator") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table><tbody align=center data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("defaultparagraphseparator") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table><tbody align=center data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("defaultparagraphseparator") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table><tbody align=center data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("defaultparagraphseparator") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table><tbody align=center data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("justifycenter") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table><tbody align=center data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("justifycenter") before 
-FAIL [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table><tbody align=center data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("justifycenter") before assert_equals: Wrong result returned expected "center" but got "true"
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table><tbody align=center data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("justifycenter") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table><tbody align=center data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("justifycenter") after 
-FAIL [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table><tbody align=center data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("justifycenter") after assert_equals: Wrong result returned expected "center" but got "true"
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table data-start=0 data-end=1><tbody align=center><tr><td>foo<td>bar<td>baz</table><p>extra": execCommand("stylewithcss", false, "true") return value 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table data-start=0 data-end=1><tbody align=center><tr><td>foo<td>bar<td>baz</table><p>extra": execCommand("defaultparagraphseparator", false, "div") return value 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table data-start=0 data-end=1><tbody align=center><tr><td>foo<td>bar<td>baz</table><p>extra": execCommand("justifycenter", false, "") return value 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table data-start=0 data-end=1><tbody align=center><tr><td>foo<td>bar<td>baz</table><p>extra" checks for modifications to non-editable content 
-FAIL [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table data-start=0 data-end=1><tbody align=center><tr><td>foo<td>bar<td>baz</table><p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<div style=\"text-align:center\"><table><tbody><tr><td>foo</td><td>bar</td><td>baz</td></tr></tbody></table></div><p>extra</p>" but got "<table style=\"text-align:center\"><tbody align=\"center\"><tr><td>foo</td><td>bar</td><td>baz</td></tr></tbody></table><p>extra</p>"
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table data-start=0 data-end=1><tbody align=center><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("stylewithcss") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table data-start=0 data-end=1><tbody align=center><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("stylewithcss") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table data-start=0 data-end=1><tbody align=center><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("stylewithcss") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table data-start=0 data-end=1><tbody align=center><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("stylewithcss") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table data-start=0 data-end=1><tbody align=center><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("stylewithcss") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table data-start=0 data-end=1><tbody align=center><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("stylewithcss") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table data-start=0 data-end=1><tbody align=center><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("defaultparagraphseparator") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table data-start=0 data-end=1><tbody align=center><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("defaultparagraphseparator") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table data-start=0 data-end=1><tbody align=center><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("defaultparagraphseparator") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table data-start=0 data-end=1><tbody align=center><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("defaultparagraphseparator") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table data-start=0 data-end=1><tbody align=center><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("defaultparagraphseparator") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table data-start=0 data-end=1><tbody align=center><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("defaultparagraphseparator") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table data-start=0 data-end=1><tbody align=center><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("justifycenter") before 
-FAIL [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table data-start=0 data-end=1><tbody align=center><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("justifycenter") before assert_equals: Wrong result returned expected true but got false
-FAIL [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table data-start=0 data-end=1><tbody align=center><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("justifycenter") before assert_equals: Wrong result returned expected "center" but got "false"
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table data-start=0 data-end=1><tbody align=center><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("justifycenter") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table data-start=0 data-end=1><tbody align=center><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("justifycenter") after 
-FAIL [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table data-start=0 data-end=1><tbody align=center><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("justifycenter") after assert_equals: Wrong result returned expected "center" but got "true"
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table data-start=0 data-end=1><tbody align=center><tr><td>foo<td>bar<td>baz</table><p>extra": execCommand("stylewithcss", false, "false") return value 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table data-start=0 data-end=1><tbody align=center><tr><td>foo<td>bar<td>baz</table><p>extra": execCommand("defaultparagraphseparator", false, "div") return value 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table data-start=0 data-end=1><tbody align=center><tr><td>foo<td>bar<td>baz</table><p>extra": execCommand("justifycenter", false, "") return value 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table data-start=0 data-end=1><tbody align=center><tr><td>foo<td>bar<td>baz</table><p>extra" checks for modifications to non-editable content 
-FAIL [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table data-start=0 data-end=1><tbody align=center><tr><td>foo<td>bar<td>baz</table><p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<div style=\"text-align:center\"><table><tbody><tr><td>foo</td><td>bar</td><td>baz</td></tr></tbody></table></div><p>extra</p>" but got "<table style=\"text-align:center\"><tbody align=\"center\"><tr><td>foo</td><td>bar</td><td>baz</td></tr></tbody></table><p>extra</p>"
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table data-start=0 data-end=1><tbody align=center><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("stylewithcss") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table data-start=0 data-end=1><tbody align=center><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("stylewithcss") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table data-start=0 data-end=1><tbody align=center><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("stylewithcss") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table data-start=0 data-end=1><tbody align=center><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("stylewithcss") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table data-start=0 data-end=1><tbody align=center><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("stylewithcss") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table data-start=0 data-end=1><tbody align=center><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("stylewithcss") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table data-start=0 data-end=1><tbody align=center><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("defaultparagraphseparator") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table data-start=0 data-end=1><tbody align=center><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("defaultparagraphseparator") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table data-start=0 data-end=1><tbody align=center><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("defaultparagraphseparator") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table data-start=0 data-end=1><tbody align=center><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("defaultparagraphseparator") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table data-start=0 data-end=1><tbody align=center><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("defaultparagraphseparator") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table data-start=0 data-end=1><tbody align=center><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("defaultparagraphseparator") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table data-start=0 data-end=1><tbody align=center><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("justifycenter") before 
-FAIL [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table data-start=0 data-end=1><tbody align=center><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("justifycenter") before assert_equals: Wrong result returned expected true but got false
-FAIL [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table data-start=0 data-end=1><tbody align=center><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("justifycenter") before assert_equals: Wrong result returned expected "center" but got "false"
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table data-start=0 data-end=1><tbody align=center><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("justifycenter") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table data-start=0 data-end=1><tbody align=center><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("justifycenter") after 
-FAIL [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table data-start=0 data-end=1><tbody align=center><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("justifycenter") after assert_equals: Wrong result returned expected "center" but got "true"
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table data-start=0 data-end=1><tbody align=center><tr><td>foo<td>bar<td>baz</table><p>extra": execCommand("stylewithcss", false, "true") return value 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table data-start=0 data-end=1><tbody align=center><tr><td>foo<td>bar<td>baz</table><p>extra": execCommand("defaultparagraphseparator", false, "p") return value 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table data-start=0 data-end=1><tbody align=center><tr><td>foo<td>bar<td>baz</table><p>extra": execCommand("justifycenter", false, "") return value 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table data-start=0 data-end=1><tbody align=center><tr><td>foo<td>bar<td>baz</table><p>extra" checks for modifications to non-editable content 
-FAIL [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table data-start=0 data-end=1><tbody align=center><tr><td>foo<td>bar<td>baz</table><p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<div style=\"text-align:center\"><table><tbody><tr><td>foo</td><td>bar</td><td>baz</td></tr></tbody></table></div><p>extra</p>" but got "<table style=\"text-align:center\"><tbody align=\"center\"><tr><td>foo</td><td>bar</td><td>baz</td></tr></tbody></table><p>extra</p>"
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table data-start=0 data-end=1><tbody align=center><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("stylewithcss") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table data-start=0 data-end=1><tbody align=center><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("stylewithcss") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table data-start=0 data-end=1><tbody align=center><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("stylewithcss") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table data-start=0 data-end=1><tbody align=center><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("stylewithcss") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table data-start=0 data-end=1><tbody align=center><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("stylewithcss") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table data-start=0 data-end=1><tbody align=center><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("stylewithcss") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table data-start=0 data-end=1><tbody align=center><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("defaultparagraphseparator") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table data-start=0 data-end=1><tbody align=center><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("defaultparagraphseparator") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table data-start=0 data-end=1><tbody align=center><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("defaultparagraphseparator") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table data-start=0 data-end=1><tbody align=center><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("defaultparagraphseparator") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table data-start=0 data-end=1><tbody align=center><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("defaultparagraphseparator") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table data-start=0 data-end=1><tbody align=center><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("defaultparagraphseparator") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table data-start=0 data-end=1><tbody align=center><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("justifycenter") before 
-FAIL [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table data-start=0 data-end=1><tbody align=center><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("justifycenter") before assert_equals: Wrong result returned expected true but got false
-FAIL [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table data-start=0 data-end=1><tbody align=center><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("justifycenter") before assert_equals: Wrong result returned expected "center" but got "false"
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table data-start=0 data-end=1><tbody align=center><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("justifycenter") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table data-start=0 data-end=1><tbody align=center><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("justifycenter") after 
-FAIL [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table data-start=0 data-end=1><tbody align=center><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("justifycenter") after assert_equals: Wrong result returned expected "center" but got "true"
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table data-start=0 data-end=1><tbody align=center><tr><td>foo<td>bar<td>baz</table><p>extra": execCommand("stylewithcss", false, "false") return value 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table data-start=0 data-end=1><tbody align=center><tr><td>foo<td>bar<td>baz</table><p>extra": execCommand("defaultparagraphseparator", false, "p") return value 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table data-start=0 data-end=1><tbody align=center><tr><td>foo<td>bar<td>baz</table><p>extra": execCommand("justifycenter", false, "") return value 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table data-start=0 data-end=1><tbody align=center><tr><td>foo<td>bar<td>baz</table><p>extra" checks for modifications to non-editable content 
-FAIL [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table data-start=0 data-end=1><tbody align=center><tr><td>foo<td>bar<td>baz</table><p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<div style=\"text-align:center\"><table><tbody><tr><td>foo</td><td>bar</td><td>baz</td></tr></tbody></table></div><p>extra</p>" but got "<table style=\"text-align:center\"><tbody align=\"center\"><tr><td>foo</td><td>bar</td><td>baz</td></tr></tbody></table><p>extra</p>"
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table data-start=0 data-end=1><tbody align=center><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("stylewithcss") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table data-start=0 data-end=1><tbody align=center><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("stylewithcss") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table data-start=0 data-end=1><tbody align=center><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("stylewithcss") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table data-start=0 data-end=1><tbody align=center><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("stylewithcss") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table data-start=0 data-end=1><tbody align=center><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("stylewithcss") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table data-start=0 data-end=1><tbody align=center><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("stylewithcss") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table data-start=0 data-end=1><tbody align=center><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("defaultparagraphseparator") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table data-start=0 data-end=1><tbody align=center><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("defaultparagraphseparator") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table data-start=0 data-end=1><tbody align=center><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("defaultparagraphseparator") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table data-start=0 data-end=1><tbody align=center><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("defaultparagraphseparator") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table data-start=0 data-end=1><tbody align=center><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("defaultparagraphseparator") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table data-start=0 data-end=1><tbody align=center><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("defaultparagraphseparator") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table data-start=0 data-end=1><tbody align=center><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("justifycenter") before 
-FAIL [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table data-start=0 data-end=1><tbody align=center><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("justifycenter") before assert_equals: Wrong result returned expected true but got false
-FAIL [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table data-start=0 data-end=1><tbody align=center><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("justifycenter") before assert_equals: Wrong result returned expected "center" but got "false"
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table data-start=0 data-end=1><tbody align=center><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("justifycenter") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table data-start=0 data-end=1><tbody align=center><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("justifycenter") after 
-FAIL [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table data-start=0 data-end=1><tbody align=center><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("justifycenter") after assert_equals: Wrong result returned expected "center" but got "true"
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "{<table><tbody align=center><tr><td>foo<td>bar<td>baz</table>}<p>extra": execCommand("stylewithcss", false, "true") return value 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "{<table><tbody align=center><tr><td>foo<td>bar<td>baz</table>}<p>extra": execCommand("defaultparagraphseparator", false, "div") return value 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "{<table><tbody align=center><tr><td>foo<td>bar<td>baz</table>}<p>extra": execCommand("justifycenter", false, "") return value 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "{<table><tbody align=center><tr><td>foo<td>bar<td>baz</table>}<p>extra" checks for modifications to non-editable content 
-FAIL [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "{<table><tbody align=center><tr><td>foo<td>bar<td>baz</table>}<p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<div style=\"text-align:center\"><table><tbody><tr><td>foo</td><td>bar</td><td>baz</td></tr></tbody></table></div><p>extra</p>" but got "<table style=\"text-align:center\"><tbody align=\"center\"><tr><td>foo</td><td>bar</td><td>baz</td></tr></tbody></table><p style=\"text-align:center\">extra</p>"
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "{<table><tbody align=center><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandIndeterm("stylewithcss") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "{<table><tbody align=center><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandState("stylewithcss") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "{<table><tbody align=center><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandValue("stylewithcss") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "{<table><tbody align=center><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandIndeterm("stylewithcss") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "{<table><tbody align=center><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandState("stylewithcss") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "{<table><tbody align=center><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandValue("stylewithcss") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "{<table><tbody align=center><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandIndeterm("defaultparagraphseparator") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "{<table><tbody align=center><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandState("defaultparagraphseparator") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "{<table><tbody align=center><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandValue("defaultparagraphseparator") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "{<table><tbody align=center><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandIndeterm("defaultparagraphseparator") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "{<table><tbody align=center><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandState("defaultparagraphseparator") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "{<table><tbody align=center><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandValue("defaultparagraphseparator") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "{<table><tbody align=center><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandIndeterm("justifycenter") before 
-FAIL [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "{<table><tbody align=center><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandState("justifycenter") before assert_equals: Wrong result returned expected true but got false
-FAIL [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "{<table><tbody align=center><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandValue("justifycenter") before assert_equals: Wrong result returned expected "center" but got "false"
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "{<table><tbody align=center><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandIndeterm("justifycenter") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "{<table><tbody align=center><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandState("justifycenter") after 
-FAIL [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "{<table><tbody align=center><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandValue("justifycenter") after assert_equals: Wrong result returned expected "center" but got "true"
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "{<table><tbody align=center><tr><td>foo<td>bar<td>baz</table>}<p>extra": execCommand("stylewithcss", false, "false") return value 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "{<table><tbody align=center><tr><td>foo<td>bar<td>baz</table>}<p>extra": execCommand("defaultparagraphseparator", false, "div") return value 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "{<table><tbody align=center><tr><td>foo<td>bar<td>baz</table>}<p>extra": execCommand("justifycenter", false, "") return value 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "{<table><tbody align=center><tr><td>foo<td>bar<td>baz</table>}<p>extra" checks for modifications to non-editable content 
-FAIL [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "{<table><tbody align=center><tr><td>foo<td>bar<td>baz</table>}<p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<div style=\"text-align:center\"><table><tbody><tr><td>foo</td><td>bar</td><td>baz</td></tr></tbody></table></div><p>extra</p>" but got "<table style=\"text-align:center\"><tbody align=\"center\"><tr><td>foo</td><td>bar</td><td>baz</td></tr></tbody></table><p style=\"text-align:center\">extra</p>"
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "{<table><tbody align=center><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandIndeterm("stylewithcss") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "{<table><tbody align=center><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandState("stylewithcss") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "{<table><tbody align=center><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandValue("stylewithcss") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "{<table><tbody align=center><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandIndeterm("stylewithcss") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "{<table><tbody align=center><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandState("stylewithcss") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "{<table><tbody align=center><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandValue("stylewithcss") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "{<table><tbody align=center><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandIndeterm("defaultparagraphseparator") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "{<table><tbody align=center><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandState("defaultparagraphseparator") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "{<table><tbody align=center><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandValue("defaultparagraphseparator") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "{<table><tbody align=center><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandIndeterm("defaultparagraphseparator") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "{<table><tbody align=center><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandState("defaultparagraphseparator") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "{<table><tbody align=center><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandValue("defaultparagraphseparator") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "{<table><tbody align=center><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandIndeterm("justifycenter") before 
-FAIL [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "{<table><tbody align=center><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandState("justifycenter") before assert_equals: Wrong result returned expected true but got false
-FAIL [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "{<table><tbody align=center><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandValue("justifycenter") before assert_equals: Wrong result returned expected "center" but got "false"
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "{<table><tbody align=center><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandIndeterm("justifycenter") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "{<table><tbody align=center><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandState("justifycenter") after 
-FAIL [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "{<table><tbody align=center><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandValue("justifycenter") after assert_equals: Wrong result returned expected "center" but got "true"
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "{<table><tbody align=center><tr><td>foo<td>bar<td>baz</table>}<p>extra": execCommand("stylewithcss", false, "true") return value 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "{<table><tbody align=center><tr><td>foo<td>bar<td>baz</table>}<p>extra": execCommand("defaultparagraphseparator", false, "p") return value 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "{<table><tbody align=center><tr><td>foo<td>bar<td>baz</table>}<p>extra": execCommand("justifycenter", false, "") return value 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "{<table><tbody align=center><tr><td>foo<td>bar<td>baz</table>}<p>extra" checks for modifications to non-editable content 
-FAIL [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "{<table><tbody align=center><tr><td>foo<td>bar<td>baz</table>}<p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<div style=\"text-align:center\"><table><tbody><tr><td>foo</td><td>bar</td><td>baz</td></tr></tbody></table></div><p>extra</p>" but got "<table style=\"text-align:center\"><tbody align=\"center\"><tr><td>foo</td><td>bar</td><td>baz</td></tr></tbody></table><p style=\"text-align:center\">extra</p>"
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "{<table><tbody align=center><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandIndeterm("stylewithcss") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "{<table><tbody align=center><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandState("stylewithcss") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "{<table><tbody align=center><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandValue("stylewithcss") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "{<table><tbody align=center><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandIndeterm("stylewithcss") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "{<table><tbody align=center><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandState("stylewithcss") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "{<table><tbody align=center><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandValue("stylewithcss") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "{<table><tbody align=center><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandIndeterm("defaultparagraphseparator") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "{<table><tbody align=center><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandState("defaultparagraphseparator") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "{<table><tbody align=center><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandValue("defaultparagraphseparator") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "{<table><tbody align=center><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandIndeterm("defaultparagraphseparator") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "{<table><tbody align=center><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandState("defaultparagraphseparator") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "{<table><tbody align=center><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandValue("defaultparagraphseparator") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "{<table><tbody align=center><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandIndeterm("justifycenter") before 
-FAIL [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "{<table><tbody align=center><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandState("justifycenter") before assert_equals: Wrong result returned expected true but got false
-FAIL [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "{<table><tbody align=center><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandValue("justifycenter") before assert_equals: Wrong result returned expected "center" but got "false"
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "{<table><tbody align=center><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandIndeterm("justifycenter") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "{<table><tbody align=center><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandState("justifycenter") after 
-FAIL [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "{<table><tbody align=center><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandValue("justifycenter") after assert_equals: Wrong result returned expected "center" but got "true"
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "{<table><tbody align=center><tr><td>foo<td>bar<td>baz</table>}<p>extra": execCommand("stylewithcss", false, "false") return value 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "{<table><tbody align=center><tr><td>foo<td>bar<td>baz</table>}<p>extra": execCommand("defaultparagraphseparator", false, "p") return value 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "{<table><tbody align=center><tr><td>foo<td>bar<td>baz</table>}<p>extra": execCommand("justifycenter", false, "") return value 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "{<table><tbody align=center><tr><td>foo<td>bar<td>baz</table>}<p>extra" checks for modifications to non-editable content 
-FAIL [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "{<table><tbody align=center><tr><td>foo<td>bar<td>baz</table>}<p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<div style=\"text-align:center\"><table><tbody><tr><td>foo</td><td>bar</td><td>baz</td></tr></tbody></table></div><p>extra</p>" but got "<table style=\"text-align:center\"><tbody align=\"center\"><tr><td>foo</td><td>bar</td><td>baz</td></tr></tbody></table><p style=\"text-align:center\">extra</p>"
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "{<table><tbody align=center><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandIndeterm("stylewithcss") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "{<table><tbody align=center><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandState("stylewithcss") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "{<table><tbody align=center><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandValue("stylewithcss") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "{<table><tbody align=center><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandIndeterm("stylewithcss") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "{<table><tbody align=center><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandState("stylewithcss") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "{<table><tbody align=center><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandValue("stylewithcss") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "{<table><tbody align=center><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandIndeterm("defaultparagraphseparator") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "{<table><tbody align=center><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandState("defaultparagraphseparator") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "{<table><tbody align=center><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandValue("defaultparagraphseparator") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "{<table><tbody align=center><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandIndeterm("defaultparagraphseparator") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "{<table><tbody align=center><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandState("defaultparagraphseparator") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "{<table><tbody align=center><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandValue("defaultparagraphseparator") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "{<table><tbody align=center><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandIndeterm("justifycenter") before 
-FAIL [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "{<table><tbody align=center><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandState("justifycenter") before assert_equals: Wrong result returned expected true but got false
-FAIL [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "{<table><tbody align=center><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandValue("justifycenter") before assert_equals: Wrong result returned expected "center" but got "false"
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "{<table><tbody align=center><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandIndeterm("justifycenter") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "{<table><tbody align=center><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandState("justifycenter") after 
-FAIL [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "{<table><tbody align=center><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandValue("justifycenter") after assert_equals: Wrong result returned expected "center" but got "true"
-PASS [["justifycenter",""]] "<table><tbody><tr align=center><td>foo<td>b[a]r<td>baz</table><p>extra": execCommand("justifycenter", false, "") return value 
-PASS [["justifycenter",""]] "<table><tbody><tr align=center><td>foo<td>b[a]r<td>baz</table><p>extra" checks for modifications to non-editable content 
-PASS [["justifycenter",""]] "<table><tbody><tr align=center><td>foo<td>b[a]r<td>baz</table><p>extra" compare innerHTML 
-PASS [["justifycenter",""]] "<table><tbody><tr align=center><td>foo<td>b[a]r<td>baz</table><p>extra" queryCommandIndeterm("justifycenter") before 
-PASS [["justifycenter",""]] "<table><tbody><tr align=center><td>foo<td>b[a]r<td>baz</table><p>extra" queryCommandState("justifycenter") before 
-FAIL [["justifycenter",""]] "<table><tbody><tr align=center><td>foo<td>b[a]r<td>baz</table><p>extra" queryCommandValue("justifycenter") before assert_equals: Wrong result returned expected "center" but got "true"
-PASS [["justifycenter",""]] "<table><tbody><tr align=center><td>foo<td>b[a]r<td>baz</table><p>extra" queryCommandIndeterm("justifycenter") after 
-PASS [["justifycenter",""]] "<table><tbody><tr align=center><td>foo<td>b[a]r<td>baz</table><p>extra" queryCommandState("justifycenter") after 
-FAIL [["justifycenter",""]] "<table><tbody><tr align=center><td>foo<td>b[a]r<td>baz</table><p>extra" queryCommandValue("justifycenter") after assert_equals: Wrong result returned expected "center" but got "true"
-PASS [["justifycenter",""]] "<table><tbody><tr align=center data-start=1 data-end=2><td>foo<td>bar<td>baz</table><p>extra": execCommand("justifycenter", false, "") return value 
-PASS [["justifycenter",""]] "<table><tbody><tr align=center data-start=1 data-end=2><td>foo<td>bar<td>baz</table><p>extra" checks for modifications to non-editable content 
-PASS [["justifycenter",""]] "<table><tbody><tr align=center data-start=1 data-end=2><td>foo<td>bar<td>baz</table><p>extra" compare innerHTML 
-PASS [["justifycenter",""]] "<table><tbody><tr align=center data-start=1 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("justifycenter") before 
-PASS [["justifycenter",""]] "<table><tbody><tr align=center data-start=1 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("justifycenter") before 
-FAIL [["justifycenter",""]] "<table><tbody><tr align=center data-start=1 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("justifycenter") before assert_equals: Wrong result returned expected "center" but got "true"
-PASS [["justifycenter",""]] "<table><tbody><tr align=center data-start=1 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("justifycenter") after 
-PASS [["justifycenter",""]] "<table><tbody><tr align=center data-start=1 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("justifycenter") after 
-FAIL [["justifycenter",""]] "<table><tbody><tr align=center data-start=1 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("justifycenter") after assert_equals: Wrong result returned expected "center" but got "true"
-PASS [["justifycenter",""]] "<table><tbody><tr align=center data-start=0 data-end=2><td>foo<td>bar<td>baz</table><p>extra": execCommand("justifycenter", false, "") return value 
-PASS [["justifycenter",""]] "<table><tbody><tr align=center data-start=0 data-end=2><td>foo<td>bar<td>baz</table><p>extra" checks for modifications to non-editable content 
-PASS [["justifycenter",""]] "<table><tbody><tr align=center data-start=0 data-end=2><td>foo<td>bar<td>baz</table><p>extra" compare innerHTML 
-PASS [["justifycenter",""]] "<table><tbody><tr align=center data-start=0 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("justifycenter") before 
-PASS [["justifycenter",""]] "<table><tbody><tr align=center data-start=0 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("justifycenter") before 
-FAIL [["justifycenter",""]] "<table><tbody><tr align=center data-start=0 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("justifycenter") before assert_equals: Wrong result returned expected "center" but got "true"
-PASS [["justifycenter",""]] "<table><tbody><tr align=center data-start=0 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("justifycenter") after 
-PASS [["justifycenter",""]] "<table><tbody><tr align=center data-start=0 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("justifycenter") after 
-FAIL [["justifycenter",""]] "<table><tbody><tr align=center data-start=0 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("justifycenter") after assert_equals: Wrong result returned expected "center" but got "true"
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table><tbody data-start=0 data-end=1><tr align=center><td>foo<td>bar<td>baz</table><p>extra": execCommand("stylewithcss", false, "true") return value 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table><tbody data-start=0 data-end=1><tr align=center><td>foo<td>bar<td>baz</table><p>extra": execCommand("defaultparagraphseparator", false, "div") return value 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table><tbody data-start=0 data-end=1><tr align=center><td>foo<td>bar<td>baz</table><p>extra": execCommand("justifycenter", false, "") return value 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table><tbody data-start=0 data-end=1><tr align=center><td>foo<td>bar<td>baz</table><p>extra" checks for modifications to non-editable content 
-FAIL [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table><tbody data-start=0 data-end=1><tr align=center><td>foo<td>bar<td>baz</table><p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<div style=\"text-align:center\"><table><tbody><tr><td>foo</td><td>bar</td><td>baz</td></tr></tbody></table></div><p>extra</p>" but got "<table style=\"text-align:center\"><tbody><tr align=\"center\"><td>foo</td><td>bar</td><td>baz</td></tr></tbody></table><p>extra</p>"
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table><tbody data-start=0 data-end=1><tr align=center><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("stylewithcss") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table><tbody data-start=0 data-end=1><tr align=center><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("stylewithcss") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table><tbody data-start=0 data-end=1><tr align=center><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("stylewithcss") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table><tbody data-start=0 data-end=1><tr align=center><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("stylewithcss") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table><tbody data-start=0 data-end=1><tr align=center><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("stylewithcss") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table><tbody data-start=0 data-end=1><tr align=center><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("stylewithcss") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table><tbody data-start=0 data-end=1><tr align=center><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("defaultparagraphseparator") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table><tbody data-start=0 data-end=1><tr align=center><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("defaultparagraphseparator") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table><tbody data-start=0 data-end=1><tr align=center><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("defaultparagraphseparator") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table><tbody data-start=0 data-end=1><tr align=center><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("defaultparagraphseparator") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table><tbody data-start=0 data-end=1><tr align=center><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("defaultparagraphseparator") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table><tbody data-start=0 data-end=1><tr align=center><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("defaultparagraphseparator") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table><tbody data-start=0 data-end=1><tr align=center><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("justifycenter") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table><tbody data-start=0 data-end=1><tr align=center><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("justifycenter") before 
-FAIL [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table><tbody data-start=0 data-end=1><tr align=center><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("justifycenter") before assert_equals: Wrong result returned expected "center" but got "true"
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table><tbody data-start=0 data-end=1><tr align=center><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("justifycenter") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table><tbody data-start=0 data-end=1><tr align=center><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("justifycenter") after 
-FAIL [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table><tbody data-start=0 data-end=1><tr align=center><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("justifycenter") after assert_equals: Wrong result returned expected "center" but got "true"
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table><tbody data-start=0 data-end=1><tr align=center><td>foo<td>bar<td>baz</table><p>extra": execCommand("stylewithcss", false, "false") return value 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table><tbody data-start=0 data-end=1><tr align=center><td>foo<td>bar<td>baz</table><p>extra": execCommand("defaultparagraphseparator", false, "div") return value 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table><tbody data-start=0 data-end=1><tr align=center><td>foo<td>bar<td>baz</table><p>extra": execCommand("justifycenter", false, "") return value 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table><tbody data-start=0 data-end=1><tr align=center><td>foo<td>bar<td>baz</table><p>extra" checks for modifications to non-editable content 
-FAIL [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table><tbody data-start=0 data-end=1><tr align=center><td>foo<td>bar<td>baz</table><p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<div style=\"text-align:center\"><table><tbody><tr><td>foo</td><td>bar</td><td>baz</td></tr></tbody></table></div><p>extra</p>" but got "<table style=\"text-align:center\"><tbody><tr align=\"center\"><td>foo</td><td>bar</td><td>baz</td></tr></tbody></table><p>extra</p>"
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table><tbody data-start=0 data-end=1><tr align=center><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("stylewithcss") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table><tbody data-start=0 data-end=1><tr align=center><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("stylewithcss") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table><tbody data-start=0 data-end=1><tr align=center><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("stylewithcss") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table><tbody data-start=0 data-end=1><tr align=center><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("stylewithcss") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table><tbody data-start=0 data-end=1><tr align=center><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("stylewithcss") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table><tbody data-start=0 data-end=1><tr align=center><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("stylewithcss") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table><tbody data-start=0 data-end=1><tr align=center><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("defaultparagraphseparator") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table><tbody data-start=0 data-end=1><tr align=center><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("defaultparagraphseparator") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table><tbody data-start=0 data-end=1><tr align=center><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("defaultparagraphseparator") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table><tbody data-start=0 data-end=1><tr align=center><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("defaultparagraphseparator") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table><tbody data-start=0 data-end=1><tr align=center><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("defaultparagraphseparator") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table><tbody data-start=0 data-end=1><tr align=center><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("defaultparagraphseparator") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table><tbody data-start=0 data-end=1><tr align=center><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("justifycenter") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table><tbody data-start=0 data-end=1><tr align=center><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("justifycenter") before 
-FAIL [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table><tbody data-start=0 data-end=1><tr align=center><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("justifycenter") before assert_equals: Wrong result returned expected "center" but got "true"
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table><tbody data-start=0 data-end=1><tr align=center><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("justifycenter") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table><tbody data-start=0 data-end=1><tr align=center><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("justifycenter") after 
-FAIL [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table><tbody data-start=0 data-end=1><tr align=center><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("justifycenter") after assert_equals: Wrong result returned expected "center" but got "true"
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table><tbody data-start=0 data-end=1><tr align=center><td>foo<td>bar<td>baz</table><p>extra": execCommand("stylewithcss", false, "true") return value 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table><tbody data-start=0 data-end=1><tr align=center><td>foo<td>bar<td>baz</table><p>extra": execCommand("defaultparagraphseparator", false, "p") return value 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table><tbody data-start=0 data-end=1><tr align=center><td>foo<td>bar<td>baz</table><p>extra": execCommand("justifycenter", false, "") return value 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table><tbody data-start=0 data-end=1><tr align=center><td>foo<td>bar<td>baz</table><p>extra" checks for modifications to non-editable content 
-FAIL [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table><tbody data-start=0 data-end=1><tr align=center><td>foo<td>bar<td>baz</table><p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<div style=\"text-align:center\"><table><tbody><tr><td>foo</td><td>bar</td><td>baz</td></tr></tbody></table></div><p>extra</p>" but got "<table style=\"text-align:center\"><tbody><tr align=\"center\"><td>foo</td><td>bar</td><td>baz</td></tr></tbody></table><p>extra</p>"
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table><tbody data-start=0 data-end=1><tr align=center><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("stylewithcss") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table><tbody data-start=0 data-end=1><tr align=center><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("stylewithcss") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table><tbody data-start=0 data-end=1><tr align=center><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("stylewithcss") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table><tbody data-start=0 data-end=1><tr align=center><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("stylewithcss") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table><tbody data-start=0 data-end=1><tr align=center><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("stylewithcss") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table><tbody data-start=0 data-end=1><tr align=center><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("stylewithcss") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table><tbody data-start=0 data-end=1><tr align=center><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("defaultparagraphseparator") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table><tbody data-start=0 data-end=1><tr align=center><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("defaultparagraphseparator") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table><tbody data-start=0 data-end=1><tr align=center><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("defaultparagraphseparator") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table><tbody data-start=0 data-end=1><tr align=center><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("defaultparagraphseparator") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table><tbody data-start=0 data-end=1><tr align=center><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("defaultparagraphseparator") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table><tbody data-start=0 data-end=1><tr align=center><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("defaultparagraphseparator") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table><tbody data-start=0 data-end=1><tr align=center><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("justifycenter") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table><tbody data-start=0 data-end=1><tr align=center><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("justifycenter") before 
-FAIL [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table><tbody data-start=0 data-end=1><tr align=center><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("justifycenter") before assert_equals: Wrong result returned expected "center" but got "true"
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table><tbody data-start=0 data-end=1><tr align=center><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("justifycenter") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table><tbody data-start=0 data-end=1><tr align=center><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("justifycenter") after 
-FAIL [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table><tbody data-start=0 data-end=1><tr align=center><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("justifycenter") after assert_equals: Wrong result returned expected "center" but got "true"
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table><tbody data-start=0 data-end=1><tr align=center><td>foo<td>bar<td>baz</table><p>extra": execCommand("stylewithcss", false, "false") return value 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table><tbody data-start=0 data-end=1><tr align=center><td>foo<td>bar<td>baz</table><p>extra": execCommand("defaultparagraphseparator", false, "p") return value 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table><tbody data-start=0 data-end=1><tr align=center><td>foo<td>bar<td>baz</table><p>extra": execCommand("justifycenter", false, "") return value 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table><tbody data-start=0 data-end=1><tr align=center><td>foo<td>bar<td>baz</table><p>extra" checks for modifications to non-editable content 
-FAIL [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table><tbody data-start=0 data-end=1><tr align=center><td>foo<td>bar<td>baz</table><p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<div style=\"text-align:center\"><table><tbody><tr><td>foo</td><td>bar</td><td>baz</td></tr></tbody></table></div><p>extra</p>" but got "<table style=\"text-align:center\"><tbody><tr align=\"center\"><td>foo</td><td>bar</td><td>baz</td></tr></tbody></table><p>extra</p>"
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table><tbody data-start=0 data-end=1><tr align=center><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("stylewithcss") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table><tbody data-start=0 data-end=1><tr align=center><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("stylewithcss") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table><tbody data-start=0 data-end=1><tr align=center><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("stylewithcss") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table><tbody data-start=0 data-end=1><tr align=center><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("stylewithcss") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table><tbody data-start=0 data-end=1><tr align=center><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("stylewithcss") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table><tbody data-start=0 data-end=1><tr align=center><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("stylewithcss") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table><tbody data-start=0 data-end=1><tr align=center><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("defaultparagraphseparator") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table><tbody data-start=0 data-end=1><tr align=center><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("defaultparagraphseparator") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table><tbody data-start=0 data-end=1><tr align=center><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("defaultparagraphseparator") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table><tbody data-start=0 data-end=1><tr align=center><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("defaultparagraphseparator") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table><tbody data-start=0 data-end=1><tr align=center><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("defaultparagraphseparator") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table><tbody data-start=0 data-end=1><tr align=center><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("defaultparagraphseparator") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table><tbody data-start=0 data-end=1><tr align=center><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("justifycenter") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table><tbody data-start=0 data-end=1><tr align=center><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("justifycenter") before 
-FAIL [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table><tbody data-start=0 data-end=1><tr align=center><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("justifycenter") before assert_equals: Wrong result returned expected "center" but got "true"
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table><tbody data-start=0 data-end=1><tr align=center><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("justifycenter") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table><tbody data-start=0 data-end=1><tr align=center><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("justifycenter") after 
-FAIL [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table><tbody data-start=0 data-end=1><tr align=center><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("justifycenter") after assert_equals: Wrong result returned expected "center" but got "true"
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table data-start=0 data-end=1><tbody><tr align=center><td>foo<td>bar<td>baz</table><p>extra": execCommand("stylewithcss", false, "true") return value 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table data-start=0 data-end=1><tbody><tr align=center><td>foo<td>bar<td>baz</table><p>extra": execCommand("defaultparagraphseparator", false, "div") return value 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table data-start=0 data-end=1><tbody><tr align=center><td>foo<td>bar<td>baz</table><p>extra": execCommand("justifycenter", false, "") return value 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table data-start=0 data-end=1><tbody><tr align=center><td>foo<td>bar<td>baz</table><p>extra" checks for modifications to non-editable content 
-FAIL [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table data-start=0 data-end=1><tbody><tr align=center><td>foo<td>bar<td>baz</table><p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<div style=\"text-align:center\"><table><tbody><tr><td>foo</td><td>bar</td><td>baz</td></tr></tbody></table></div><p>extra</p>" but got "<table style=\"text-align:center\"><tbody><tr align=\"center\"><td>foo</td><td>bar</td><td>baz</td></tr></tbody></table><p>extra</p>"
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table data-start=0 data-end=1><tbody><tr align=center><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("stylewithcss") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table data-start=0 data-end=1><tbody><tr align=center><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("stylewithcss") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table data-start=0 data-end=1><tbody><tr align=center><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("stylewithcss") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table data-start=0 data-end=1><tbody><tr align=center><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("stylewithcss") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table data-start=0 data-end=1><tbody><tr align=center><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("stylewithcss") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table data-start=0 data-end=1><tbody><tr align=center><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("stylewithcss") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table data-start=0 data-end=1><tbody><tr align=center><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("defaultparagraphseparator") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table data-start=0 data-end=1><tbody><tr align=center><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("defaultparagraphseparator") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table data-start=0 data-end=1><tbody><tr align=center><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("defaultparagraphseparator") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table data-start=0 data-end=1><tbody><tr align=center><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("defaultparagraphseparator") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table data-start=0 data-end=1><tbody><tr align=center><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("defaultparagraphseparator") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table data-start=0 data-end=1><tbody><tr align=center><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("defaultparagraphseparator") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table data-start=0 data-end=1><tbody><tr align=center><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("justifycenter") before 
-FAIL [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table data-start=0 data-end=1><tbody><tr align=center><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("justifycenter") before assert_equals: Wrong result returned expected true but got false
-FAIL [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table data-start=0 data-end=1><tbody><tr align=center><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("justifycenter") before assert_equals: Wrong result returned expected "center" but got "false"
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table data-start=0 data-end=1><tbody><tr align=center><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("justifycenter") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table data-start=0 data-end=1><tbody><tr align=center><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("justifycenter") after 
-FAIL [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table data-start=0 data-end=1><tbody><tr align=center><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("justifycenter") after assert_equals: Wrong result returned expected "center" but got "true"
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table data-start=0 data-end=1><tbody><tr align=center><td>foo<td>bar<td>baz</table><p>extra": execCommand("stylewithcss", false, "false") return value 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table data-start=0 data-end=1><tbody><tr align=center><td>foo<td>bar<td>baz</table><p>extra": execCommand("defaultparagraphseparator", false, "div") return value 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table data-start=0 data-end=1><tbody><tr align=center><td>foo<td>bar<td>baz</table><p>extra": execCommand("justifycenter", false, "") return value 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table data-start=0 data-end=1><tbody><tr align=center><td>foo<td>bar<td>baz</table><p>extra" checks for modifications to non-editable content 
-FAIL [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table data-start=0 data-end=1><tbody><tr align=center><td>foo<td>bar<td>baz</table><p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<div style=\"text-align:center\"><table><tbody><tr><td>foo</td><td>bar</td><td>baz</td></tr></tbody></table></div><p>extra</p>" but got "<table style=\"text-align:center\"><tbody><tr align=\"center\"><td>foo</td><td>bar</td><td>baz</td></tr></tbody></table><p>extra</p>"
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table data-start=0 data-end=1><tbody><tr align=center><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("stylewithcss") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table data-start=0 data-end=1><tbody><tr align=center><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("stylewithcss") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table data-start=0 data-end=1><tbody><tr align=center><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("stylewithcss") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table data-start=0 data-end=1><tbody><tr align=center><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("stylewithcss") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table data-start=0 data-end=1><tbody><tr align=center><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("stylewithcss") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table data-start=0 data-end=1><tbody><tr align=center><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("stylewithcss") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table data-start=0 data-end=1><tbody><tr align=center><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("defaultparagraphseparator") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table data-start=0 data-end=1><tbody><tr align=center><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("defaultparagraphseparator") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table data-start=0 data-end=1><tbody><tr align=center><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("defaultparagraphseparator") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table data-start=0 data-end=1><tbody><tr align=center><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("defaultparagraphseparator") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table data-start=0 data-end=1><tbody><tr align=center><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("defaultparagraphseparator") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table data-start=0 data-end=1><tbody><tr align=center><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("defaultparagraphseparator") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table data-start=0 data-end=1><tbody><tr align=center><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("justifycenter") before 
-FAIL [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table data-start=0 data-end=1><tbody><tr align=center><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("justifycenter") before assert_equals: Wrong result returned expected true but got false
-FAIL [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table data-start=0 data-end=1><tbody><tr align=center><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("justifycenter") before assert_equals: Wrong result returned expected "center" but got "false"
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table data-start=0 data-end=1><tbody><tr align=center><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("justifycenter") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table data-start=0 data-end=1><tbody><tr align=center><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("justifycenter") after 
-FAIL [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table data-start=0 data-end=1><tbody><tr align=center><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("justifycenter") after assert_equals: Wrong result returned expected "center" but got "true"
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table data-start=0 data-end=1><tbody><tr align=center><td>foo<td>bar<td>baz</table><p>extra": execCommand("stylewithcss", false, "true") return value 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table data-start=0 data-end=1><tbody><tr align=center><td>foo<td>bar<td>baz</table><p>extra": execCommand("defaultparagraphseparator", false, "p") return value 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table data-start=0 data-end=1><tbody><tr align=center><td>foo<td>bar<td>baz</table><p>extra": execCommand("justifycenter", false, "") return value 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table data-start=0 data-end=1><tbody><tr align=center><td>foo<td>bar<td>baz</table><p>extra" checks for modifications to non-editable content 
-FAIL [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table data-start=0 data-end=1><tbody><tr align=center><td>foo<td>bar<td>baz</table><p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<div style=\"text-align:center\"><table><tbody><tr><td>foo</td><td>bar</td><td>baz</td></tr></tbody></table></div><p>extra</p>" but got "<table style=\"text-align:center\"><tbody><tr align=\"center\"><td>foo</td><td>bar</td><td>baz</td></tr></tbody></table><p>extra</p>"
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table data-start=0 data-end=1><tbody><tr align=center><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("stylewithcss") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table data-start=0 data-end=1><tbody><tr align=center><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("stylewithcss") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table data-start=0 data-end=1><tbody><tr align=center><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("stylewithcss") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table data-start=0 data-end=1><tbody><tr align=center><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("stylewithcss") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table data-start=0 data-end=1><tbody><tr align=center><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("stylewithcss") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table data-start=0 data-end=1><tbody><tr align=center><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("stylewithcss") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table data-start=0 data-end=1><tbody><tr align=center><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("defaultparagraphseparator") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table data-start=0 data-end=1><tbody><tr align=center><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("defaultparagraphseparator") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table data-start=0 data-end=1><tbody><tr align=center><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("defaultparagraphseparator") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table data-start=0 data-end=1><tbody><tr align=center><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("defaultparagraphseparator") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table data-start=0 data-end=1><tbody><tr align=center><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("defaultparagraphseparator") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table data-start=0 data-end=1><tbody><tr align=center><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("defaultparagraphseparator") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table data-start=0 data-end=1><tbody><tr align=center><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("justifycenter") before 
-FAIL [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table data-start=0 data-end=1><tbody><tr align=center><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("justifycenter") before assert_equals: Wrong result returned expected true but got false
-FAIL [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table data-start=0 data-end=1><tbody><tr align=center><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("justifycenter") before assert_equals: Wrong result returned expected "center" but got "false"
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table data-start=0 data-end=1><tbody><tr align=center><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("justifycenter") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table data-start=0 data-end=1><tbody><tr align=center><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("justifycenter") after 
-FAIL [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table data-start=0 data-end=1><tbody><tr align=center><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("justifycenter") after assert_equals: Wrong result returned expected "center" but got "true"
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table data-start=0 data-end=1><tbody><tr align=center><td>foo<td>bar<td>baz</table><p>extra": execCommand("stylewithcss", false, "false") return value 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table data-start=0 data-end=1><tbody><tr align=center><td>foo<td>bar<td>baz</table><p>extra": execCommand("defaultparagraphseparator", false, "p") return value 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table data-start=0 data-end=1><tbody><tr align=center><td>foo<td>bar<td>baz</table><p>extra": execCommand("justifycenter", false, "") return value 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table data-start=0 data-end=1><tbody><tr align=center><td>foo<td>bar<td>baz</table><p>extra" checks for modifications to non-editable content 
-FAIL [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table data-start=0 data-end=1><tbody><tr align=center><td>foo<td>bar<td>baz</table><p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<div style=\"text-align:center\"><table><tbody><tr><td>foo</td><td>bar</td><td>baz</td></tr></tbody></table></div><p>extra</p>" but got "<table style=\"text-align:center\"><tbody><tr align=\"center\"><td>foo</td><td>bar</td><td>baz</td></tr></tbody></table><p>extra</p>"
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table data-start=0 data-end=1><tbody><tr align=center><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("stylewithcss") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table data-start=0 data-end=1><tbody><tr align=center><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("stylewithcss") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table data-start=0 data-end=1><tbody><tr align=center><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("stylewithcss") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table data-start=0 data-end=1><tbody><tr align=center><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("stylewithcss") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table data-start=0 data-end=1><tbody><tr align=center><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("stylewithcss") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table data-start=0 data-end=1><tbody><tr align=center><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("stylewithcss") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table data-start=0 data-end=1><tbody><tr align=center><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("defaultparagraphseparator") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table data-start=0 data-end=1><tbody><tr align=center><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("defaultparagraphseparator") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table data-start=0 data-end=1><tbody><tr align=center><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("defaultparagraphseparator") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table data-start=0 data-end=1><tbody><tr align=center><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("defaultparagraphseparator") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table data-start=0 data-end=1><tbody><tr align=center><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("defaultparagraphseparator") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table data-start=0 data-end=1><tbody><tr align=center><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("defaultparagraphseparator") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table data-start=0 data-end=1><tbody><tr align=center><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("justifycenter") before 
-FAIL [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table data-start=0 data-end=1><tbody><tr align=center><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("justifycenter") before assert_equals: Wrong result returned expected true but got false
-FAIL [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table data-start=0 data-end=1><tbody><tr align=center><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("justifycenter") before assert_equals: Wrong result returned expected "center" but got "false"
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table data-start=0 data-end=1><tbody><tr align=center><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("justifycenter") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table data-start=0 data-end=1><tbody><tr align=center><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("justifycenter") after 
-FAIL [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table data-start=0 data-end=1><tbody><tr align=center><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("justifycenter") after assert_equals: Wrong result returned expected "center" but got "true"
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "{<table><tr align=center><td>foo<td>bar<td>baz</table>}<p>extra": execCommand("stylewithcss", false, "true") return value 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "{<table><tr align=center><td>foo<td>bar<td>baz</table>}<p>extra": execCommand("defaultparagraphseparator", false, "div") return value 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "{<table><tr align=center><td>foo<td>bar<td>baz</table>}<p>extra": execCommand("justifycenter", false, "") return value 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "{<table><tr align=center><td>foo<td>bar<td>baz</table>}<p>extra" checks for modifications to non-editable content 
-FAIL [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "{<table><tr align=center><td>foo<td>bar<td>baz</table>}<p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<div style=\"text-align:center\"><table><tbody><tr><td>foo</td><td>bar</td><td>baz</td></tr></tbody></table></div><p>extra</p>" but got "<table style=\"text-align:center\"><tbody><tr align=\"center\"><td>foo</td><td>bar</td><td>baz</td></tr></tbody></table><p style=\"text-align:center\">extra</p>"
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "{<table><tr align=center><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandIndeterm("stylewithcss") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "{<table><tr align=center><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandState("stylewithcss") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "{<table><tr align=center><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandValue("stylewithcss") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "{<table><tr align=center><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandIndeterm("stylewithcss") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "{<table><tr align=center><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandState("stylewithcss") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "{<table><tr align=center><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandValue("stylewithcss") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "{<table><tr align=center><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandIndeterm("defaultparagraphseparator") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "{<table><tr align=center><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandState("defaultparagraphseparator") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "{<table><tr align=center><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandValue("defaultparagraphseparator") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "{<table><tr align=center><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandIndeterm("defaultparagraphseparator") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "{<table><tr align=center><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandState("defaultparagraphseparator") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "{<table><tr align=center><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandValue("defaultparagraphseparator") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "{<table><tr align=center><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandIndeterm("justifycenter") before 
-FAIL [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "{<table><tr align=center><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandState("justifycenter") before assert_equals: Wrong result returned expected true but got false
-FAIL [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "{<table><tr align=center><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandValue("justifycenter") before assert_equals: Wrong result returned expected "center" but got "false"
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "{<table><tr align=center><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandIndeterm("justifycenter") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "{<table><tr align=center><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandState("justifycenter") after 
-FAIL [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "{<table><tr align=center><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandValue("justifycenter") after assert_equals: Wrong result returned expected "center" but got "true"
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "{<table><tr align=center><td>foo<td>bar<td>baz</table>}<p>extra": execCommand("stylewithcss", false, "false") return value 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "{<table><tr align=center><td>foo<td>bar<td>baz</table>}<p>extra": execCommand("defaultparagraphseparator", false, "div") return value 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "{<table><tr align=center><td>foo<td>bar<td>baz</table>}<p>extra": execCommand("justifycenter", false, "") return value 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "{<table><tr align=center><td>foo<td>bar<td>baz</table>}<p>extra" checks for modifications to non-editable content 
-FAIL [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "{<table><tr align=center><td>foo<td>bar<td>baz</table>}<p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<div style=\"text-align:center\"><table><tbody><tr><td>foo</td><td>bar</td><td>baz</td></tr></tbody></table></div><p>extra</p>" but got "<table style=\"text-align:center\"><tbody><tr align=\"center\"><td>foo</td><td>bar</td><td>baz</td></tr></tbody></table><p style=\"text-align:center\">extra</p>"
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "{<table><tr align=center><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandIndeterm("stylewithcss") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "{<table><tr align=center><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandState("stylewithcss") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "{<table><tr align=center><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandValue("stylewithcss") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "{<table><tr align=center><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandIndeterm("stylewithcss") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "{<table><tr align=center><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandState("stylewithcss") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "{<table><tr align=center><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandValue("stylewithcss") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "{<table><tr align=center><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandIndeterm("defaultparagraphseparator") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "{<table><tr align=center><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandState("defaultparagraphseparator") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "{<table><tr align=center><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandValue("defaultparagraphseparator") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "{<table><tr align=center><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandIndeterm("defaultparagraphseparator") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "{<table><tr align=center><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandState("defaultparagraphseparator") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "{<table><tr align=center><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandValue("defaultparagraphseparator") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "{<table><tr align=center><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandIndeterm("justifycenter") before 
-FAIL [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "{<table><tr align=center><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandState("justifycenter") before assert_equals: Wrong result returned expected true but got false
-FAIL [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "{<table><tr align=center><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandValue("justifycenter") before assert_equals: Wrong result returned expected "center" but got "false"
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "{<table><tr align=center><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandIndeterm("justifycenter") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "{<table><tr align=center><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandState("justifycenter") after 
-FAIL [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "{<table><tr align=center><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandValue("justifycenter") after assert_equals: Wrong result returned expected "center" but got "true"
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "{<table><tr align=center><td>foo<td>bar<td>baz</table>}<p>extra": execCommand("stylewithcss", false, "true") return value 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "{<table><tr align=center><td>foo<td>bar<td>baz</table>}<p>extra": execCommand("defaultparagraphseparator", false, "p") return value 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "{<table><tr align=center><td>foo<td>bar<td>baz</table>}<p>extra": execCommand("justifycenter", false, "") return value 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "{<table><tr align=center><td>foo<td>bar<td>baz</table>}<p>extra" checks for modifications to non-editable content 
-FAIL [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "{<table><tr align=center><td>foo<td>bar<td>baz</table>}<p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<div style=\"text-align:center\"><table><tbody><tr><td>foo</td><td>bar</td><td>baz</td></tr></tbody></table></div><p>extra</p>" but got "<table style=\"text-align:center\"><tbody><tr align=\"center\"><td>foo</td><td>bar</td><td>baz</td></tr></tbody></table><p style=\"text-align:center\">extra</p>"
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "{<table><tr align=center><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandIndeterm("stylewithcss") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "{<table><tr align=center><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandState("stylewithcss") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "{<table><tr align=center><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandValue("stylewithcss") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "{<table><tr align=center><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandIndeterm("stylewithcss") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "{<table><tr align=center><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandState("stylewithcss") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "{<table><tr align=center><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandValue("stylewithcss") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "{<table><tr align=center><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandIndeterm("defaultparagraphseparator") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "{<table><tr align=center><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandState("defaultparagraphseparator") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "{<table><tr align=center><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandValue("defaultparagraphseparator") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "{<table><tr align=center><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandIndeterm("defaultparagraphseparator") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "{<table><tr align=center><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandState("defaultparagraphseparator") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "{<table><tr align=center><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandValue("defaultparagraphseparator") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "{<table><tr align=center><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandIndeterm("justifycenter") before 
-FAIL [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "{<table><tr align=center><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandState("justifycenter") before assert_equals: Wrong result returned expected true but got false
-FAIL [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "{<table><tr align=center><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandValue("justifycenter") before assert_equals: Wrong result returned expected "center" but got "false"
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "{<table><tr align=center><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandIndeterm("justifycenter") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "{<table><tr align=center><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandState("justifycenter") after 
-FAIL [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "{<table><tr align=center><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandValue("justifycenter") after assert_equals: Wrong result returned expected "center" but got "true"
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "{<table><tr align=center><td>foo<td>bar<td>baz</table>}<p>extra": execCommand("stylewithcss", false, "false") return value 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "{<table><tr align=center><td>foo<td>bar<td>baz</table>}<p>extra": execCommand("defaultparagraphseparator", false, "p") return value 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "{<table><tr align=center><td>foo<td>bar<td>baz</table>}<p>extra": execCommand("justifycenter", false, "") return value 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "{<table><tr align=center><td>foo<td>bar<td>baz</table>}<p>extra" checks for modifications to non-editable content 
-FAIL [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "{<table><tr align=center><td>foo<td>bar<td>baz</table>}<p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<div style=\"text-align:center\"><table><tbody><tr><td>foo</td><td>bar</td><td>baz</td></tr></tbody></table></div><p>extra</p>" but got "<table style=\"text-align:center\"><tbody><tr align=\"center\"><td>foo</td><td>bar</td><td>baz</td></tr></tbody></table><p style=\"text-align:center\">extra</p>"
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "{<table><tr align=center><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandIndeterm("stylewithcss") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "{<table><tr align=center><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandState("stylewithcss") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "{<table><tr align=center><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandValue("stylewithcss") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "{<table><tr align=center><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandIndeterm("stylewithcss") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "{<table><tr align=center><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandState("stylewithcss") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "{<table><tr align=center><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandValue("stylewithcss") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "{<table><tr align=center><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandIndeterm("defaultparagraphseparator") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "{<table><tr align=center><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandState("defaultparagraphseparator") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "{<table><tr align=center><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandValue("defaultparagraphseparator") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "{<table><tr align=center><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandIndeterm("defaultparagraphseparator") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "{<table><tr align=center><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandState("defaultparagraphseparator") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "{<table><tr align=center><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandValue("defaultparagraphseparator") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "{<table><tr align=center><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandIndeterm("justifycenter") before 
-FAIL [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "{<table><tr align=center><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandState("justifycenter") before assert_equals: Wrong result returned expected true but got false
-FAIL [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "{<table><tr align=center><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandValue("justifycenter") before assert_equals: Wrong result returned expected "center" but got "false"
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "{<table><tr align=center><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandIndeterm("justifycenter") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "{<table><tr align=center><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandState("justifycenter") after 
-FAIL [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "{<table><tr align=center><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandValue("justifycenter") after assert_equals: Wrong result returned expected "center" but got "true"
-PASS [["justifycenter",""]] "<div align=center><p>[foo]<p>bar</div><p>extra": execCommand("justifycenter", false, "") return value 
-PASS [["justifycenter",""]] "<div align=center><p>[foo]<p>bar</div><p>extra" checks for modifications to non-editable content 
-PASS [["justifycenter",""]] "<div align=center><p>[foo]<p>bar</div><p>extra" compare innerHTML 
-PASS [["justifycenter",""]] "<div align=center><p>[foo]<p>bar</div><p>extra" queryCommandIndeterm("justifycenter") before 
-PASS [["justifycenter",""]] "<div align=center><p>[foo]<p>bar</div><p>extra" queryCommandState("justifycenter") before 
-FAIL [["justifycenter",""]] "<div align=center><p>[foo]<p>bar</div><p>extra" queryCommandValue("justifycenter") before assert_equals: Wrong result returned expected "center" but got "true"
-PASS [["justifycenter",""]] "<div align=center><p>[foo]<p>bar</div><p>extra" queryCommandIndeterm("justifycenter") after 
-PASS [["justifycenter",""]] "<div align=center><p>[foo]<p>bar</div><p>extra" queryCommandState("justifycenter") after 
-FAIL [["justifycenter",""]] "<div align=center><p>[foo]<p>bar</div><p>extra" queryCommandValue("justifycenter") after assert_equals: Wrong result returned expected "center" but got "true"
-PASS [["stylewithcss","true"],["justifycenter",""]] "<div align=center><p>[foo<p>bar}</div><p>extra": execCommand("stylewithcss", false, "true") return value 
-PASS [["stylewithcss","true"],["justifycenter",""]] "<div align=center><p>[foo<p>bar}</div><p>extra": execCommand("justifycenter", false, "") return value 
-PASS [["stylewithcss","true"],["justifycenter",""]] "<div align=center><p>[foo<p>bar}</div><p>extra" checks for modifications to non-editable content 
-FAIL [["stylewithcss","true"],["justifycenter",""]] "<div align=center><p>[foo<p>bar}</div><p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<div style=\"text-align:center\"><p>foo</p><p>bar</p></div><p>extra</p>" but got "<div align=\"center\"><p>foo</p><p>bar</p></div><p>extra</p>"
-PASS [["stylewithcss","true"],["justifycenter",""]] "<div align=center><p>[foo<p>bar}</div><p>extra" queryCommandIndeterm("stylewithcss") before 
-PASS [["stylewithcss","true"],["justifycenter",""]] "<div align=center><p>[foo<p>bar}</div><p>extra" queryCommandState("stylewithcss") before 
-PASS [["stylewithcss","true"],["justifycenter",""]] "<div align=center><p>[foo<p>bar}</div><p>extra" queryCommandValue("stylewithcss") before 
-PASS [["stylewithcss","true"],["justifycenter",""]] "<div align=center><p>[foo<p>bar}</div><p>extra" queryCommandIndeterm("stylewithcss") after 
-PASS [["stylewithcss","true"],["justifycenter",""]] "<div align=center><p>[foo<p>bar}</div><p>extra" queryCommandState("stylewithcss") after 
-PASS [["stylewithcss","true"],["justifycenter",""]] "<div align=center><p>[foo<p>bar}</div><p>extra" queryCommandValue("stylewithcss") after 
-PASS [["stylewithcss","true"],["justifycenter",""]] "<div align=center><p>[foo<p>bar}</div><p>extra" queryCommandIndeterm("justifycenter") before 
-PASS [["stylewithcss","true"],["justifycenter",""]] "<div align=center><p>[foo<p>bar}</div><p>extra" queryCommandState("justifycenter") before 
-FAIL [["stylewithcss","true"],["justifycenter",""]] "<div align=center><p>[foo<p>bar}</div><p>extra" queryCommandValue("justifycenter") before assert_equals: Wrong result returned expected "center" but got "true"
-PASS [["stylewithcss","true"],["justifycenter",""]] "<div align=center><p>[foo<p>bar}</div><p>extra" queryCommandIndeterm("justifycenter") after 
-PASS [["stylewithcss","true"],["justifycenter",""]] "<div align=center><p>[foo<p>bar}</div><p>extra" queryCommandState("justifycenter") after 
-FAIL [["stylewithcss","true"],["justifycenter",""]] "<div align=center><p>[foo<p>bar}</div><p>extra" queryCommandValue("justifycenter") after assert_equals: Wrong result returned expected "center" but got "true"
-PASS [["stylewithcss","false"],["justifycenter",""]] "<div align=center><p>[foo<p>bar}</div><p>extra": execCommand("stylewithcss", false, "false") return value 
-PASS [["stylewithcss","false"],["justifycenter",""]] "<div align=center><p>[foo<p>bar}</div><p>extra": execCommand("justifycenter", false, "") return value 
-PASS [["stylewithcss","false"],["justifycenter",""]] "<div align=center><p>[foo<p>bar}</div><p>extra" checks for modifications to non-editable content 
-FAIL [["stylewithcss","false"],["justifycenter",""]] "<div align=center><p>[foo<p>bar}</div><p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<div style=\"text-align:center\"><p>foo</p><p>bar</p></div><p>extra</p>" but got "<div align=\"center\"><p>foo</p><p>bar</p></div><p>extra</p>"
-PASS [["stylewithcss","false"],["justifycenter",""]] "<div align=center><p>[foo<p>bar}</div><p>extra" queryCommandIndeterm("stylewithcss") before 
-PASS [["stylewithcss","false"],["justifycenter",""]] "<div align=center><p>[foo<p>bar}</div><p>extra" queryCommandState("stylewithcss") before 
-PASS [["stylewithcss","false"],["justifycenter",""]] "<div align=center><p>[foo<p>bar}</div><p>extra" queryCommandValue("stylewithcss") before 
-PASS [["stylewithcss","false"],["justifycenter",""]] "<div align=center><p>[foo<p>bar}</div><p>extra" queryCommandIndeterm("stylewithcss") after 
-PASS [["stylewithcss","false"],["justifycenter",""]] "<div align=center><p>[foo<p>bar}</div><p>extra" queryCommandState("stylewithcss") after 
-PASS [["stylewithcss","false"],["justifycenter",""]] "<div align=center><p>[foo<p>bar}</div><p>extra" queryCommandValue("stylewithcss") after 
-PASS [["stylewithcss","false"],["justifycenter",""]] "<div align=center><p>[foo<p>bar}</div><p>extra" queryCommandIndeterm("justifycenter") before 
-PASS [["stylewithcss","false"],["justifycenter",""]] "<div align=center><p>[foo<p>bar}</div><p>extra" queryCommandState("justifycenter") before 
-FAIL [["stylewithcss","false"],["justifycenter",""]] "<div align=center><p>[foo<p>bar}</div><p>extra" queryCommandValue("justifycenter") before assert_equals: Wrong result returned expected "center" but got "true"
-PASS [["stylewithcss","false"],["justifycenter",""]] "<div align=center><p>[foo<p>bar}</div><p>extra" queryCommandIndeterm("justifycenter") after 
-PASS [["stylewithcss","false"],["justifycenter",""]] "<div align=center><p>[foo<p>bar}</div><p>extra" queryCommandState("justifycenter") after 
-FAIL [["stylewithcss","false"],["justifycenter",""]] "<div align=center><p>[foo<p>bar}</div><p>extra" queryCommandValue("justifycenter") after assert_equals: Wrong result returned expected "center" but got "true"
-PASS [["justifycenter",""]] "<div style=text-align:center><p>[foo]<p>bar</div><p>extra": execCommand("justifycenter", false, "") return value 
-PASS [["justifycenter",""]] "<div style=text-align:center><p>[foo]<p>bar</div><p>extra" checks for modifications to non-editable content 
-PASS [["justifycenter",""]] "<div style=text-align:center><p>[foo]<p>bar</div><p>extra" compare innerHTML 
-PASS [["justifycenter",""]] "<div style=text-align:center><p>[foo]<p>bar</div><p>extra" queryCommandIndeterm("justifycenter") before 
-PASS [["justifycenter",""]] "<div style=text-align:center><p>[foo]<p>bar</div><p>extra" queryCommandState("justifycenter") before 
-FAIL [["justifycenter",""]] "<div style=text-align:center><p>[foo]<p>bar</div><p>extra" queryCommandValue("justifycenter") before assert_equals: Wrong result returned expected "center" but got "true"
-PASS [["justifycenter",""]] "<div style=text-align:center><p>[foo]<p>bar</div><p>extra" queryCommandIndeterm("justifycenter") after 
-PASS [["justifycenter",""]] "<div style=text-align:center><p>[foo]<p>bar</div><p>extra" queryCommandState("justifycenter") after 
-FAIL [["justifycenter",""]] "<div style=text-align:center><p>[foo]<p>bar</div><p>extra" queryCommandValue("justifycenter") after assert_equals: Wrong result returned expected "center" but got "true"
-PASS [["justifycenter",""]] "<div style=text-align:center><p>[foo<p>bar]</div><p>extra": execCommand("justifycenter", false, "") return value 
-PASS [["justifycenter",""]] "<div style=text-align:center><p>[foo<p>bar]</div><p>extra" checks for modifications to non-editable content 
-PASS [["justifycenter",""]] "<div style=text-align:center><p>[foo<p>bar]</div><p>extra" compare innerHTML 
-PASS [["justifycenter",""]] "<div style=text-align:center><p>[foo<p>bar]</div><p>extra" queryCommandIndeterm("justifycenter") before 
-PASS [["justifycenter",""]] "<div style=text-align:center><p>[foo<p>bar]</div><p>extra" queryCommandState("justifycenter") before 
-FAIL [["justifycenter",""]] "<div style=text-align:center><p>[foo<p>bar]</div><p>extra" queryCommandValue("justifycenter") before assert_equals: Wrong result returned expected "center" but got "true"
-PASS [["justifycenter",""]] "<div style=text-align:center><p>[foo<p>bar]</div><p>extra" queryCommandIndeterm("justifycenter") after 
-PASS [["justifycenter",""]] "<div style=text-align:center><p>[foo<p>bar]</div><p>extra" queryCommandState("justifycenter") after 
-FAIL [["justifycenter",""]] "<div style=text-align:center><p>[foo<p>bar]</div><p>extra" queryCommandValue("justifycenter") after assert_equals: Wrong result returned expected "center" but got "true"
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div align=justify><p>[foo]<p>bar</div><p>extra": execCommand("stylewithcss", false, "true") return value 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div align=justify><p>[foo]<p>bar</div><p>extra": execCommand("defaultparagraphseparator", false, "div") return value 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div align=justify><p>[foo]<p>bar</div><p>extra": execCommand("justifycenter", false, "") return value 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div align=justify><p>[foo]<p>bar</div><p>extra" checks for modifications to non-editable content 
-FAIL [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div align=justify><p>[foo]<p>bar</div><p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<div align=\"justify\"><div style=\"text-align:center\"><p>foo</p></div><p>bar</p></div><p>extra</p>" but got "<div align=\"justify\"><p style=\"text-align:center\">foo</p><p>bar</p></div><p>extra</p>"
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div align=justify><p>[foo]<p>bar</div><p>extra" queryCommandIndeterm("stylewithcss") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div align=justify><p>[foo]<p>bar</div><p>extra" queryCommandState("stylewithcss") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div align=justify><p>[foo]<p>bar</div><p>extra" queryCommandValue("stylewithcss") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div align=justify><p>[foo]<p>bar</div><p>extra" queryCommandIndeterm("stylewithcss") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div align=justify><p>[foo]<p>bar</div><p>extra" queryCommandState("stylewithcss") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div align=justify><p>[foo]<p>bar</div><p>extra" queryCommandValue("stylewithcss") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div align=justify><p>[foo]<p>bar</div><p>extra" queryCommandIndeterm("defaultparagraphseparator") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div align=justify><p>[foo]<p>bar</div><p>extra" queryCommandState("defaultparagraphseparator") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div align=justify><p>[foo]<p>bar</div><p>extra" queryCommandValue("defaultparagraphseparator") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div align=justify><p>[foo]<p>bar</div><p>extra" queryCommandIndeterm("defaultparagraphseparator") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div align=justify><p>[foo]<p>bar</div><p>extra" queryCommandState("defaultparagraphseparator") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div align=justify><p>[foo]<p>bar</div><p>extra" queryCommandValue("defaultparagraphseparator") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div align=justify><p>[foo]<p>bar</div><p>extra" queryCommandIndeterm("justifycenter") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div align=justify><p>[foo]<p>bar</div><p>extra" queryCommandState("justifycenter") before 
-FAIL [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div align=justify><p>[foo]<p>bar</div><p>extra" queryCommandValue("justifycenter") before assert_equals: Wrong result returned expected "justify" but got "false"
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div align=justify><p>[foo]<p>bar</div><p>extra" queryCommandIndeterm("justifycenter") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div align=justify><p>[foo]<p>bar</div><p>extra" queryCommandState("justifycenter") after 
-FAIL [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div align=justify><p>[foo]<p>bar</div><p>extra" queryCommandValue("justifycenter") after assert_equals: Wrong result returned expected "center" but got "true"
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div align=justify><p>[foo]<p>bar</div><p>extra": execCommand("stylewithcss", false, "false") return value 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div align=justify><p>[foo]<p>bar</div><p>extra": execCommand("defaultparagraphseparator", false, "div") return value 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div align=justify><p>[foo]<p>bar</div><p>extra": execCommand("justifycenter", false, "") return value 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div align=justify><p>[foo]<p>bar</div><p>extra" checks for modifications to non-editable content 
-FAIL [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div align=justify><p>[foo]<p>bar</div><p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<div align=\"justify\"><div style=\"text-align:center\"><p>foo</p></div><p>bar</p></div><p>extra</p>" but got "<div align=\"justify\"><p style=\"text-align:center\">foo</p><p>bar</p></div><p>extra</p>"
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div align=justify><p>[foo]<p>bar</div><p>extra" queryCommandIndeterm("stylewithcss") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div align=justify><p>[foo]<p>bar</div><p>extra" queryCommandState("stylewithcss") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div align=justify><p>[foo]<p>bar</div><p>extra" queryCommandValue("stylewithcss") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div align=justify><p>[foo]<p>bar</div><p>extra" queryCommandIndeterm("stylewithcss") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div align=justify><p>[foo]<p>bar</div><p>extra" queryCommandState("stylewithcss") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div align=justify><p>[foo]<p>bar</div><p>extra" queryCommandValue("stylewithcss") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div align=justify><p>[foo]<p>bar</div><p>extra" queryCommandIndeterm("defaultparagraphseparator") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div align=justify><p>[foo]<p>bar</div><p>extra" queryCommandState("defaultparagraphseparator") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div align=justify><p>[foo]<p>bar</div><p>extra" queryCommandValue("defaultparagraphseparator") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div align=justify><p>[foo]<p>bar</div><p>extra" queryCommandIndeterm("defaultparagraphseparator") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div align=justify><p>[foo]<p>bar</div><p>extra" queryCommandState("defaultparagraphseparator") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div align=justify><p>[foo]<p>bar</div><p>extra" queryCommandValue("defaultparagraphseparator") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div align=justify><p>[foo]<p>bar</div><p>extra" queryCommandIndeterm("justifycenter") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div align=justify><p>[foo]<p>bar</div><p>extra" queryCommandState("justifycenter") before 
-FAIL [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div align=justify><p>[foo]<p>bar</div><p>extra" queryCommandValue("justifycenter") before assert_equals: Wrong result returned expected "justify" but got "false"
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div align=justify><p>[foo]<p>bar</div><p>extra" queryCommandIndeterm("justifycenter") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div align=justify><p>[foo]<p>bar</div><p>extra" queryCommandState("justifycenter") after 
-FAIL [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div align=justify><p>[foo]<p>bar</div><p>extra" queryCommandValue("justifycenter") after assert_equals: Wrong result returned expected "center" but got "true"
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div align=justify><p>[foo]<p>bar</div><p>extra": execCommand("stylewithcss", false, "true") return value 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div align=justify><p>[foo]<p>bar</div><p>extra": execCommand("defaultparagraphseparator", false, "p") return value 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div align=justify><p>[foo]<p>bar</div><p>extra": execCommand("justifycenter", false, "") return value 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div align=justify><p>[foo]<p>bar</div><p>extra" checks for modifications to non-editable content 
-FAIL [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div align=justify><p>[foo]<p>bar</div><p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<div align=\"justify\"><div style=\"text-align:center\"><p>foo</p></div><p>bar</p></div><p>extra</p>" but got "<div align=\"justify\"><p style=\"text-align:center\">foo</p><p>bar</p></div><p>extra</p>"
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div align=justify><p>[foo]<p>bar</div><p>extra" queryCommandIndeterm("stylewithcss") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div align=justify><p>[foo]<p>bar</div><p>extra" queryCommandState("stylewithcss") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div align=justify><p>[foo]<p>bar</div><p>extra" queryCommandValue("stylewithcss") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div align=justify><p>[foo]<p>bar</div><p>extra" queryCommandIndeterm("stylewithcss") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div align=justify><p>[foo]<p>bar</div><p>extra" queryCommandState("stylewithcss") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div align=justify><p>[foo]<p>bar</div><p>extra" queryCommandValue("stylewithcss") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div align=justify><p>[foo]<p>bar</div><p>extra" queryCommandIndeterm("defaultparagraphseparator") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div align=justify><p>[foo]<p>bar</div><p>extra" queryCommandState("defaultparagraphseparator") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div align=justify><p>[foo]<p>bar</div><p>extra" queryCommandValue("defaultparagraphseparator") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div align=justify><p>[foo]<p>bar</div><p>extra" queryCommandIndeterm("defaultparagraphseparator") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div align=justify><p>[foo]<p>bar</div><p>extra" queryCommandState("defaultparagraphseparator") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div align=justify><p>[foo]<p>bar</div><p>extra" queryCommandValue("defaultparagraphseparator") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div align=justify><p>[foo]<p>bar</div><p>extra" queryCommandIndeterm("justifycenter") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div align=justify><p>[foo]<p>bar</div><p>extra" queryCommandState("justifycenter") before 
-FAIL [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div align=justify><p>[foo]<p>bar</div><p>extra" queryCommandValue("justifycenter") before assert_equals: Wrong result returned expected "justify" but got "false"
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div align=justify><p>[foo]<p>bar</div><p>extra" queryCommandIndeterm("justifycenter") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div align=justify><p>[foo]<p>bar</div><p>extra" queryCommandState("justifycenter") after 
-FAIL [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div align=justify><p>[foo]<p>bar</div><p>extra" queryCommandValue("justifycenter") after assert_equals: Wrong result returned expected "center" but got "true"
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div align=justify><p>[foo]<p>bar</div><p>extra": execCommand("stylewithcss", false, "false") return value 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div align=justify><p>[foo]<p>bar</div><p>extra": execCommand("defaultparagraphseparator", false, "p") return value 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div align=justify><p>[foo]<p>bar</div><p>extra": execCommand("justifycenter", false, "") return value 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div align=justify><p>[foo]<p>bar</div><p>extra" checks for modifications to non-editable content 
-FAIL [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div align=justify><p>[foo]<p>bar</div><p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<div align=\"justify\"><div style=\"text-align:center\"><p>foo</p></div><p>bar</p></div><p>extra</p>" but got "<div align=\"justify\"><p style=\"text-align:center\">foo</p><p>bar</p></div><p>extra</p>"
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div align=justify><p>[foo]<p>bar</div><p>extra" queryCommandIndeterm("stylewithcss") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div align=justify><p>[foo]<p>bar</div><p>extra" queryCommandState("stylewithcss") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div align=justify><p>[foo]<p>bar</div><p>extra" queryCommandValue("stylewithcss") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div align=justify><p>[foo]<p>bar</div><p>extra" queryCommandIndeterm("stylewithcss") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div align=justify><p>[foo]<p>bar</div><p>extra" queryCommandState("stylewithcss") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div align=justify><p>[foo]<p>bar</div><p>extra" queryCommandValue("stylewithcss") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div align=justify><p>[foo]<p>bar</div><p>extra" queryCommandIndeterm("defaultparagraphseparator") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div align=justify><p>[foo]<p>bar</div><p>extra" queryCommandState("defaultparagraphseparator") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div align=justify><p>[foo]<p>bar</div><p>extra" queryCommandValue("defaultparagraphseparator") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div align=justify><p>[foo]<p>bar</div><p>extra" queryCommandIndeterm("defaultparagraphseparator") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div align=justify><p>[foo]<p>bar</div><p>extra" queryCommandState("defaultparagraphseparator") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div align=justify><p>[foo]<p>bar</div><p>extra" queryCommandValue("defaultparagraphseparator") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div align=justify><p>[foo]<p>bar</div><p>extra" queryCommandIndeterm("justifycenter") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div align=justify><p>[foo]<p>bar</div><p>extra" queryCommandState("justifycenter") before 
-FAIL [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div align=justify><p>[foo]<p>bar</div><p>extra" queryCommandValue("justifycenter") before assert_equals: Wrong result returned expected "justify" but got "false"
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div align=justify><p>[foo]<p>bar</div><p>extra" queryCommandIndeterm("justifycenter") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div align=justify><p>[foo]<p>bar</div><p>extra" queryCommandState("justifycenter") after 
-FAIL [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div align=justify><p>[foo]<p>bar</div><p>extra" queryCommandValue("justifycenter") after assert_equals: Wrong result returned expected "center" but got "true"
-PASS [["stylewithcss","true"],["justifycenter",""]] "<div align=justify><p>[foo<p>bar}</div><p>extra": execCommand("stylewithcss", false, "true") return value 
-PASS [["stylewithcss","true"],["justifycenter",""]] "<div align=justify><p>[foo<p>bar}</div><p>extra": execCommand("justifycenter", false, "") return value 
-PASS [["stylewithcss","true"],["justifycenter",""]] "<div align=justify><p>[foo<p>bar}</div><p>extra" checks for modifications to non-editable content 
-FAIL [["stylewithcss","true"],["justifycenter",""]] "<div align=justify><p>[foo<p>bar}</div><p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<div style=\"text-align:center\"><p>foo</p><p>bar</p></div><p>extra</p>" but got "<div align=\"justify\"><p style=\"text-align:center\">foo</p><p style=\"text-align:center\">bar</p></div><p>extra</p>"
-PASS [["stylewithcss","true"],["justifycenter",""]] "<div align=justify><p>[foo<p>bar}</div><p>extra" queryCommandIndeterm("stylewithcss") before 
-PASS [["stylewithcss","true"],["justifycenter",""]] "<div align=justify><p>[foo<p>bar}</div><p>extra" queryCommandState("stylewithcss") before 
-PASS [["stylewithcss","true"],["justifycenter",""]] "<div align=justify><p>[foo<p>bar}</div><p>extra" queryCommandValue("stylewithcss") before 
-PASS [["stylewithcss","true"],["justifycenter",""]] "<div align=justify><p>[foo<p>bar}</div><p>extra" queryCommandIndeterm("stylewithcss") after 
-PASS [["stylewithcss","true"],["justifycenter",""]] "<div align=justify><p>[foo<p>bar}</div><p>extra" queryCommandState("stylewithcss") after 
-PASS [["stylewithcss","true"],["justifycenter",""]] "<div align=justify><p>[foo<p>bar}</div><p>extra" queryCommandValue("stylewithcss") after 
-PASS [["stylewithcss","true"],["justifycenter",""]] "<div align=justify><p>[foo<p>bar}</div><p>extra" queryCommandIndeterm("justifycenter") before 
-PASS [["stylewithcss","true"],["justifycenter",""]] "<div align=justify><p>[foo<p>bar}</div><p>extra" queryCommandState("justifycenter") before 
-FAIL [["stylewithcss","true"],["justifycenter",""]] "<div align=justify><p>[foo<p>bar}</div><p>extra" queryCommandValue("justifycenter") before assert_equals: Wrong result returned expected "justify" but got "false"
-PASS [["stylewithcss","true"],["justifycenter",""]] "<div align=justify><p>[foo<p>bar}</div><p>extra" queryCommandIndeterm("justifycenter") after 
-PASS [["stylewithcss","true"],["justifycenter",""]] "<div align=justify><p>[foo<p>bar}</div><p>extra" queryCommandState("justifycenter") after 
-FAIL [["stylewithcss","true"],["justifycenter",""]] "<div align=justify><p>[foo<p>bar}</div><p>extra" queryCommandValue("justifycenter") after assert_equals: Wrong result returned expected "center" but got "true"
-PASS [["stylewithcss","false"],["justifycenter",""]] "<div align=justify><p>[foo<p>bar}</div><p>extra": execCommand("stylewithcss", false, "false") return value 
-PASS [["stylewithcss","false"],["justifycenter",""]] "<div align=justify><p>[foo<p>bar}</div><p>extra": execCommand("justifycenter", false, "") return value 
-PASS [["stylewithcss","false"],["justifycenter",""]] "<div align=justify><p>[foo<p>bar}</div><p>extra" checks for modifications to non-editable content 
-FAIL [["stylewithcss","false"],["justifycenter",""]] "<div align=justify><p>[foo<p>bar}</div><p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<div style=\"text-align:center\"><p>foo</p><p>bar</p></div><p>extra</p>" but got "<div align=\"justify\"><p style=\"text-align:center\">foo</p><p style=\"text-align:center\">bar</p></div><p>extra</p>"
-PASS [["stylewithcss","false"],["justifycenter",""]] "<div align=justify><p>[foo<p>bar}</div><p>extra" queryCommandIndeterm("stylewithcss") before 
-PASS [["stylewithcss","false"],["justifycenter",""]] "<div align=justify><p>[foo<p>bar}</div><p>extra" queryCommandState("stylewithcss") before 
-PASS [["stylewithcss","false"],["justifycenter",""]] "<div align=justify><p>[foo<p>bar}</div><p>extra" queryCommandValue("stylewithcss") before 
-PASS [["stylewithcss","false"],["justifycenter",""]] "<div align=justify><p>[foo<p>bar}</div><p>extra" queryCommandIndeterm("stylewithcss") after 
-PASS [["stylewithcss","false"],["justifycenter",""]] "<div align=justify><p>[foo<p>bar}</div><p>extra" queryCommandState("stylewithcss") after 
-PASS [["stylewithcss","false"],["justifycenter",""]] "<div align=justify><p>[foo<p>bar}</div><p>extra" queryCommandValue("stylewithcss") after 
-PASS [["stylewithcss","false"],["justifycenter",""]] "<div align=justify><p>[foo<p>bar}</div><p>extra" queryCommandIndeterm("justifycenter") before 
-PASS [["stylewithcss","false"],["justifycenter",""]] "<div align=justify><p>[foo<p>bar}</div><p>extra" queryCommandState("justifycenter") before 
-FAIL [["stylewithcss","false"],["justifycenter",""]] "<div align=justify><p>[foo<p>bar}</div><p>extra" queryCommandValue("justifycenter") before assert_equals: Wrong result returned expected "justify" but got "false"
-PASS [["stylewithcss","false"],["justifycenter",""]] "<div align=justify><p>[foo<p>bar}</div><p>extra" queryCommandIndeterm("justifycenter") after 
-PASS [["stylewithcss","false"],["justifycenter",""]] "<div align=justify><p>[foo<p>bar}</div><p>extra" queryCommandState("justifycenter") after 
-FAIL [["stylewithcss","false"],["justifycenter",""]] "<div align=justify><p>[foo<p>bar}</div><p>extra" queryCommandValue("justifycenter") after assert_equals: Wrong result returned expected "center" but got "true"
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div style=text-align:justify><p>[foo]<p>bar</div><p>extra": execCommand("stylewithcss", false, "true") return value 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div style=text-align:justify><p>[foo]<p>bar</div><p>extra": execCommand("defaultparagraphseparator", false, "div") return value 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div style=text-align:justify><p>[foo]<p>bar</div><p>extra": execCommand("justifycenter", false, "") return value 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div style=text-align:justify><p>[foo]<p>bar</div><p>extra" checks for modifications to non-editable content 
-FAIL [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div style=text-align:justify><p>[foo]<p>bar</div><p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<div style=\"text-align:justify\"><div style=\"text-align:center\"><p>foo</p></div><p>bar</p></div><p>extra</p>" but got "<div style=\"text-align:justify\"><p style=\"text-align:center\">foo</p><p>bar</p></div><p>extra</p>"
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div style=text-align:justify><p>[foo]<p>bar</div><p>extra" queryCommandIndeterm("stylewithcss") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div style=text-align:justify><p>[foo]<p>bar</div><p>extra" queryCommandState("stylewithcss") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div style=text-align:justify><p>[foo]<p>bar</div><p>extra" queryCommandValue("stylewithcss") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div style=text-align:justify><p>[foo]<p>bar</div><p>extra" queryCommandIndeterm("stylewithcss") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div style=text-align:justify><p>[foo]<p>bar</div><p>extra" queryCommandState("stylewithcss") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div style=text-align:justify><p>[foo]<p>bar</div><p>extra" queryCommandValue("stylewithcss") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div style=text-align:justify><p>[foo]<p>bar</div><p>extra" queryCommandIndeterm("defaultparagraphseparator") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div style=text-align:justify><p>[foo]<p>bar</div><p>extra" queryCommandState("defaultparagraphseparator") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div style=text-align:justify><p>[foo]<p>bar</div><p>extra" queryCommandValue("defaultparagraphseparator") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div style=text-align:justify><p>[foo]<p>bar</div><p>extra" queryCommandIndeterm("defaultparagraphseparator") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div style=text-align:justify><p>[foo]<p>bar</div><p>extra" queryCommandState("defaultparagraphseparator") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div style=text-align:justify><p>[foo]<p>bar</div><p>extra" queryCommandValue("defaultparagraphseparator") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div style=text-align:justify><p>[foo]<p>bar</div><p>extra" queryCommandIndeterm("justifycenter") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div style=text-align:justify><p>[foo]<p>bar</div><p>extra" queryCommandState("justifycenter") before 
-FAIL [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div style=text-align:justify><p>[foo]<p>bar</div><p>extra" queryCommandValue("justifycenter") before assert_equals: Wrong result returned expected "justify" but got "false"
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div style=text-align:justify><p>[foo]<p>bar</div><p>extra" queryCommandIndeterm("justifycenter") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div style=text-align:justify><p>[foo]<p>bar</div><p>extra" queryCommandState("justifycenter") after 
-FAIL [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div style=text-align:justify><p>[foo]<p>bar</div><p>extra" queryCommandValue("justifycenter") after assert_equals: Wrong result returned expected "center" but got "true"
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div style=text-align:justify><p>[foo]<p>bar</div><p>extra": execCommand("stylewithcss", false, "false") return value 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div style=text-align:justify><p>[foo]<p>bar</div><p>extra": execCommand("defaultparagraphseparator", false, "div") return value 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div style=text-align:justify><p>[foo]<p>bar</div><p>extra": execCommand("justifycenter", false, "") return value 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div style=text-align:justify><p>[foo]<p>bar</div><p>extra" checks for modifications to non-editable content 
-FAIL [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div style=text-align:justify><p>[foo]<p>bar</div><p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<div style=\"text-align:justify\"><div style=\"text-align:center\"><p>foo</p></div><p>bar</p></div><p>extra</p>" but got "<div style=\"text-align:justify\"><p style=\"text-align:center\">foo</p><p>bar</p></div><p>extra</p>"
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div style=text-align:justify><p>[foo]<p>bar</div><p>extra" queryCommandIndeterm("stylewithcss") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div style=text-align:justify><p>[foo]<p>bar</div><p>extra" queryCommandState("stylewithcss") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div style=text-align:justify><p>[foo]<p>bar</div><p>extra" queryCommandValue("stylewithcss") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div style=text-align:justify><p>[foo]<p>bar</div><p>extra" queryCommandIndeterm("stylewithcss") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div style=text-align:justify><p>[foo]<p>bar</div><p>extra" queryCommandState("stylewithcss") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div style=text-align:justify><p>[foo]<p>bar</div><p>extra" queryCommandValue("stylewithcss") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div style=text-align:justify><p>[foo]<p>bar</div><p>extra" queryCommandIndeterm("defaultparagraphseparator") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div style=text-align:justify><p>[foo]<p>bar</div><p>extra" queryCommandState("defaultparagraphseparator") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div style=text-align:justify><p>[foo]<p>bar</div><p>extra" queryCommandValue("defaultparagraphseparator") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div style=text-align:justify><p>[foo]<p>bar</div><p>extra" queryCommandIndeterm("defaultparagraphseparator") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div style=text-align:justify><p>[foo]<p>bar</div><p>extra" queryCommandState("defaultparagraphseparator") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div style=text-align:justify><p>[foo]<p>bar</div><p>extra" queryCommandValue("defaultparagraphseparator") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div style=text-align:justify><p>[foo]<p>bar</div><p>extra" queryCommandIndeterm("justifycenter") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div style=text-align:justify><p>[foo]<p>bar</div><p>extra" queryCommandState("justifycenter") before 
-FAIL [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div style=text-align:justify><p>[foo]<p>bar</div><p>extra" queryCommandValue("justifycenter") before assert_equals: Wrong result returned expected "justify" but got "false"
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div style=text-align:justify><p>[foo]<p>bar</div><p>extra" queryCommandIndeterm("justifycenter") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div style=text-align:justify><p>[foo]<p>bar</div><p>extra" queryCommandState("justifycenter") after 
-FAIL [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div style=text-align:justify><p>[foo]<p>bar</div><p>extra" queryCommandValue("justifycenter") after assert_equals: Wrong result returned expected "center" but got "true"
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div style=text-align:justify><p>[foo]<p>bar</div><p>extra": execCommand("stylewithcss", false, "true") return value 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div style=text-align:justify><p>[foo]<p>bar</div><p>extra": execCommand("defaultparagraphseparator", false, "p") return value 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div style=text-align:justify><p>[foo]<p>bar</div><p>extra": execCommand("justifycenter", false, "") return value 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div style=text-align:justify><p>[foo]<p>bar</div><p>extra" checks for modifications to non-editable content 
-FAIL [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div style=text-align:justify><p>[foo]<p>bar</div><p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<div style=\"text-align:justify\"><div style=\"text-align:center\"><p>foo</p></div><p>bar</p></div><p>extra</p>" but got "<div style=\"text-align:justify\"><p style=\"text-align:center\">foo</p><p>bar</p></div><p>extra</p>"
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div style=text-align:justify><p>[foo]<p>bar</div><p>extra" queryCommandIndeterm("stylewithcss") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div style=text-align:justify><p>[foo]<p>bar</div><p>extra" queryCommandState("stylewithcss") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div style=text-align:justify><p>[foo]<p>bar</div><p>extra" queryCommandValue("stylewithcss") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div style=text-align:justify><p>[foo]<p>bar</div><p>extra" queryCommandIndeterm("stylewithcss") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div style=text-align:justify><p>[foo]<p>bar</div><p>extra" queryCommandState("stylewithcss") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div style=text-align:justify><p>[foo]<p>bar</div><p>extra" queryCommandValue("stylewithcss") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div style=text-align:justify><p>[foo]<p>bar</div><p>extra" queryCommandIndeterm("defaultparagraphseparator") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div style=text-align:justify><p>[foo]<p>bar</div><p>extra" queryCommandState("defaultparagraphseparator") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div style=text-align:justify><p>[foo]<p>bar</div><p>extra" queryCommandValue("defaultparagraphseparator") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div style=text-align:justify><p>[foo]<p>bar</div><p>extra" queryCommandIndeterm("defaultparagraphseparator") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div style=text-align:justify><p>[foo]<p>bar</div><p>extra" queryCommandState("defaultparagraphseparator") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div style=text-align:justify><p>[foo]<p>bar</div><p>extra" queryCommandValue("defaultparagraphseparator") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div style=text-align:justify><p>[foo]<p>bar</div><p>extra" queryCommandIndeterm("justifycenter") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div style=text-align:justify><p>[foo]<p>bar</div><p>extra" queryCommandState("justifycenter") before 
-FAIL [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div style=text-align:justify><p>[foo]<p>bar</div><p>extra" queryCommandValue("justifycenter") before assert_equals: Wrong result returned expected "justify" but got "false"
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div style=text-align:justify><p>[foo]<p>bar</div><p>extra" queryCommandIndeterm("justifycenter") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div style=text-align:justify><p>[foo]<p>bar</div><p>extra" queryCommandState("justifycenter") after 
-FAIL [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div style=text-align:justify><p>[foo]<p>bar</div><p>extra" queryCommandValue("justifycenter") after assert_equals: Wrong result returned expected "center" but got "true"
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div style=text-align:justify><p>[foo]<p>bar</div><p>extra": execCommand("stylewithcss", false, "false") return value 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div style=text-align:justify><p>[foo]<p>bar</div><p>extra": execCommand("defaultparagraphseparator", false, "p") return value 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div style=text-align:justify><p>[foo]<p>bar</div><p>extra": execCommand("justifycenter", false, "") return value 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div style=text-align:justify><p>[foo]<p>bar</div><p>extra" checks for modifications to non-editable content 
-FAIL [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div style=text-align:justify><p>[foo]<p>bar</div><p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<div style=\"text-align:justify\"><div style=\"text-align:center\"><p>foo</p></div><p>bar</p></div><p>extra</p>" but got "<div style=\"text-align:justify\"><p style=\"text-align:center\">foo</p><p>bar</p></div><p>extra</p>"
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div style=text-align:justify><p>[foo]<p>bar</div><p>extra" queryCommandIndeterm("stylewithcss") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div style=text-align:justify><p>[foo]<p>bar</div><p>extra" queryCommandState("stylewithcss") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div style=text-align:justify><p>[foo]<p>bar</div><p>extra" queryCommandValue("stylewithcss") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div style=text-align:justify><p>[foo]<p>bar</div><p>extra" queryCommandIndeterm("stylewithcss") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div style=text-align:justify><p>[foo]<p>bar</div><p>extra" queryCommandState("stylewithcss") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div style=text-align:justify><p>[foo]<p>bar</div><p>extra" queryCommandValue("stylewithcss") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div style=text-align:justify><p>[foo]<p>bar</div><p>extra" queryCommandIndeterm("defaultparagraphseparator") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div style=text-align:justify><p>[foo]<p>bar</div><p>extra" queryCommandState("defaultparagraphseparator") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div style=text-align:justify><p>[foo]<p>bar</div><p>extra" queryCommandValue("defaultparagraphseparator") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div style=text-align:justify><p>[foo]<p>bar</div><p>extra" queryCommandIndeterm("defaultparagraphseparator") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div style=text-align:justify><p>[foo]<p>bar</div><p>extra" queryCommandState("defaultparagraphseparator") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div style=text-align:justify><p>[foo]<p>bar</div><p>extra" queryCommandValue("defaultparagraphseparator") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div style=text-align:justify><p>[foo]<p>bar</div><p>extra" queryCommandIndeterm("justifycenter") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div style=text-align:justify><p>[foo]<p>bar</div><p>extra" queryCommandState("justifycenter") before 
-FAIL [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div style=text-align:justify><p>[foo]<p>bar</div><p>extra" queryCommandValue("justifycenter") before assert_equals: Wrong result returned expected "justify" but got "false"
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div style=text-align:justify><p>[foo]<p>bar</div><p>extra" queryCommandIndeterm("justifycenter") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div style=text-align:justify><p>[foo]<p>bar</div><p>extra" queryCommandState("justifycenter") after 
-FAIL [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div style=text-align:justify><p>[foo]<p>bar</div><p>extra" queryCommandValue("justifycenter") after assert_equals: Wrong result returned expected "center" but got "true"
-PASS [["justifycenter",""]] "<div style=text-align:justify><p>[foo<p>bar]</div><p>extra": execCommand("justifycenter", false, "") return value 
-PASS [["justifycenter",""]] "<div style=text-align:justify><p>[foo<p>bar]</div><p>extra" checks for modifications to non-editable content 
-FAIL [["justifycenter",""]] "<div style=text-align:justify><p>[foo<p>bar]</div><p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<div style=\"text-align:center\"><p>foo</p><p>bar</p></div><p>extra</p>" but got "<div style=\"text-align:justify\"><p style=\"text-align:center\">foo</p><p style=\"text-align:center\">bar</p></div><p>extra</p>"
-PASS [["justifycenter",""]] "<div style=text-align:justify><p>[foo<p>bar]</div><p>extra" queryCommandIndeterm("justifycenter") before 
-PASS [["justifycenter",""]] "<div style=text-align:justify><p>[foo<p>bar]</div><p>extra" queryCommandState("justifycenter") before 
-FAIL [["justifycenter",""]] "<div style=text-align:justify><p>[foo<p>bar]</div><p>extra" queryCommandValue("justifycenter") before assert_equals: Wrong result returned expected "justify" but got "false"
-PASS [["justifycenter",""]] "<div style=text-align:justify><p>[foo<p>bar]</div><p>extra" queryCommandIndeterm("justifycenter") after 
-PASS [["justifycenter",""]] "<div style=text-align:justify><p>[foo<p>bar]</div><p>extra" queryCommandState("justifycenter") after 
-FAIL [["justifycenter",""]] "<div style=text-align:justify><p>[foo<p>bar]</div><p>extra" queryCommandValue("justifycenter") after assert_equals: Wrong result returned expected "center" but got "true"
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div align=left><p>[foo]<p>bar</div><p>extra": execCommand("stylewithcss", false, "true") return value 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div align=left><p>[foo]<p>bar</div><p>extra": execCommand("defaultparagraphseparator", false, "div") return value 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div align=left><p>[foo]<p>bar</div><p>extra": execCommand("justifycenter", false, "") return value 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div align=left><p>[foo]<p>bar</div><p>extra" checks for modifications to non-editable content 
-FAIL [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div align=left><p>[foo]<p>bar</div><p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<div align=\"left\"><div style=\"text-align:center\"><p>foo</p></div><p>bar</p></div><p>extra</p>" but got "<div align=\"left\"><p style=\"text-align:center\">foo</p><p>bar</p></div><p>extra</p>"
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div align=left><p>[foo]<p>bar</div><p>extra" queryCommandIndeterm("stylewithcss") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div align=left><p>[foo]<p>bar</div><p>extra" queryCommandState("stylewithcss") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div align=left><p>[foo]<p>bar</div><p>extra" queryCommandValue("stylewithcss") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div align=left><p>[foo]<p>bar</div><p>extra" queryCommandIndeterm("stylewithcss") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div align=left><p>[foo]<p>bar</div><p>extra" queryCommandState("stylewithcss") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div align=left><p>[foo]<p>bar</div><p>extra" queryCommandValue("stylewithcss") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div align=left><p>[foo]<p>bar</div><p>extra" queryCommandIndeterm("defaultparagraphseparator") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div align=left><p>[foo]<p>bar</div><p>extra" queryCommandState("defaultparagraphseparator") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div align=left><p>[foo]<p>bar</div><p>extra" queryCommandValue("defaultparagraphseparator") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div align=left><p>[foo]<p>bar</div><p>extra" queryCommandIndeterm("defaultparagraphseparator") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div align=left><p>[foo]<p>bar</div><p>extra" queryCommandState("defaultparagraphseparator") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div align=left><p>[foo]<p>bar</div><p>extra" queryCommandValue("defaultparagraphseparator") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div align=left><p>[foo]<p>bar</div><p>extra" queryCommandIndeterm("justifycenter") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div align=left><p>[foo]<p>bar</div><p>extra" queryCommandState("justifycenter") before 
-FAIL [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div align=left><p>[foo]<p>bar</div><p>extra" queryCommandValue("justifycenter") before assert_equals: Wrong result returned expected "left" but got "false"
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div align=left><p>[foo]<p>bar</div><p>extra" queryCommandIndeterm("justifycenter") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div align=left><p>[foo]<p>bar</div><p>extra" queryCommandState("justifycenter") after 
-FAIL [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div align=left><p>[foo]<p>bar</div><p>extra" queryCommandValue("justifycenter") after assert_equals: Wrong result returned expected "center" but got "true"
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div align=left><p>[foo]<p>bar</div><p>extra": execCommand("stylewithcss", false, "false") return value 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div align=left><p>[foo]<p>bar</div><p>extra": execCommand("defaultparagraphseparator", false, "div") return value 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div align=left><p>[foo]<p>bar</div><p>extra": execCommand("justifycenter", false, "") return value 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div align=left><p>[foo]<p>bar</div><p>extra" checks for modifications to non-editable content 
-FAIL [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div align=left><p>[foo]<p>bar</div><p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<div align=\"left\"><div style=\"text-align:center\"><p>foo</p></div><p>bar</p></div><p>extra</p>" but got "<div align=\"left\"><p style=\"text-align:center\">foo</p><p>bar</p></div><p>extra</p>"
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div align=left><p>[foo]<p>bar</div><p>extra" queryCommandIndeterm("stylewithcss") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div align=left><p>[foo]<p>bar</div><p>extra" queryCommandState("stylewithcss") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div align=left><p>[foo]<p>bar</div><p>extra" queryCommandValue("stylewithcss") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div align=left><p>[foo]<p>bar</div><p>extra" queryCommandIndeterm("stylewithcss") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div align=left><p>[foo]<p>bar</div><p>extra" queryCommandState("stylewithcss") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div align=left><p>[foo]<p>bar</div><p>extra" queryCommandValue("stylewithcss") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div align=left><p>[foo]<p>bar</div><p>extra" queryCommandIndeterm("defaultparagraphseparator") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div align=left><p>[foo]<p>bar</div><p>extra" queryCommandState("defaultparagraphseparator") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div align=left><p>[foo]<p>bar</div><p>extra" queryCommandValue("defaultparagraphseparator") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div align=left><p>[foo]<p>bar</div><p>extra" queryCommandIndeterm("defaultparagraphseparator") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div align=left><p>[foo]<p>bar</div><p>extra" queryCommandState("defaultparagraphseparator") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div align=left><p>[foo]<p>bar</div><p>extra" queryCommandValue("defaultparagraphseparator") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div align=left><p>[foo]<p>bar</div><p>extra" queryCommandIndeterm("justifycenter") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div align=left><p>[foo]<p>bar</div><p>extra" queryCommandState("justifycenter") before 
-FAIL [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div align=left><p>[foo]<p>bar</div><p>extra" queryCommandValue("justifycenter") before assert_equals: Wrong result returned expected "left" but got "false"
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div align=left><p>[foo]<p>bar</div><p>extra" queryCommandIndeterm("justifycenter") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div align=left><p>[foo]<p>bar</div><p>extra" queryCommandState("justifycenter") after 
-FAIL [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div align=left><p>[foo]<p>bar</div><p>extra" queryCommandValue("justifycenter") after assert_equals: Wrong result returned expected "center" but got "true"
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div align=left><p>[foo]<p>bar</div><p>extra": execCommand("stylewithcss", false, "true") return value 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div align=left><p>[foo]<p>bar</div><p>extra": execCommand("defaultparagraphseparator", false, "p") return value 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div align=left><p>[foo]<p>bar</div><p>extra": execCommand("justifycenter", false, "") return value 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div align=left><p>[foo]<p>bar</div><p>extra" checks for modifications to non-editable content 
-FAIL [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div align=left><p>[foo]<p>bar</div><p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<div align=\"left\"><div style=\"text-align:center\"><p>foo</p></div><p>bar</p></div><p>extra</p>" but got "<div align=\"left\"><p style=\"text-align:center\">foo</p><p>bar</p></div><p>extra</p>"
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div align=left><p>[foo]<p>bar</div><p>extra" queryCommandIndeterm("stylewithcss") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div align=left><p>[foo]<p>bar</div><p>extra" queryCommandState("stylewithcss") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div align=left><p>[foo]<p>bar</div><p>extra" queryCommandValue("stylewithcss") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div align=left><p>[foo]<p>bar</div><p>extra" queryCommandIndeterm("stylewithcss") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div align=left><p>[foo]<p>bar</div><p>extra" queryCommandState("stylewithcss") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div align=left><p>[foo]<p>bar</div><p>extra" queryCommandValue("stylewithcss") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div align=left><p>[foo]<p>bar</div><p>extra" queryCommandIndeterm("defaultparagraphseparator") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div align=left><p>[foo]<p>bar</div><p>extra" queryCommandState("defaultparagraphseparator") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div align=left><p>[foo]<p>bar</div><p>extra" queryCommandValue("defaultparagraphseparator") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div align=left><p>[foo]<p>bar</div><p>extra" queryCommandIndeterm("defaultparagraphseparator") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div align=left><p>[foo]<p>bar</div><p>extra" queryCommandState("defaultparagraphseparator") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div align=left><p>[foo]<p>bar</div><p>extra" queryCommandValue("defaultparagraphseparator") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div align=left><p>[foo]<p>bar</div><p>extra" queryCommandIndeterm("justifycenter") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div align=left><p>[foo]<p>bar</div><p>extra" queryCommandState("justifycenter") before 
-FAIL [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div align=left><p>[foo]<p>bar</div><p>extra" queryCommandValue("justifycenter") before assert_equals: Wrong result returned expected "left" but got "false"
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div align=left><p>[foo]<p>bar</div><p>extra" queryCommandIndeterm("justifycenter") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div align=left><p>[foo]<p>bar</div><p>extra" queryCommandState("justifycenter") after 
-FAIL [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div align=left><p>[foo]<p>bar</div><p>extra" queryCommandValue("justifycenter") after assert_equals: Wrong result returned expected "center" but got "true"
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div align=left><p>[foo]<p>bar</div><p>extra": execCommand("stylewithcss", false, "false") return value 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div align=left><p>[foo]<p>bar</div><p>extra": execCommand("defaultparagraphseparator", false, "p") return value 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div align=left><p>[foo]<p>bar</div><p>extra": execCommand("justifycenter", false, "") return value 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div align=left><p>[foo]<p>bar</div><p>extra" checks for modifications to non-editable content 
-FAIL [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div align=left><p>[foo]<p>bar</div><p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<div align=\"left\"><div style=\"text-align:center\"><p>foo</p></div><p>bar</p></div><p>extra</p>" but got "<div align=\"left\"><p style=\"text-align:center\">foo</p><p>bar</p></div><p>extra</p>"
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div align=left><p>[foo]<p>bar</div><p>extra" queryCommandIndeterm("stylewithcss") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div align=left><p>[foo]<p>bar</div><p>extra" queryCommandState("stylewithcss") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div align=left><p>[foo]<p>bar</div><p>extra" queryCommandValue("stylewithcss") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div align=left><p>[foo]<p>bar</div><p>extra" queryCommandIndeterm("stylewithcss") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div align=left><p>[foo]<p>bar</div><p>extra" queryCommandState("stylewithcss") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div align=left><p>[foo]<p>bar</div><p>extra" queryCommandValue("stylewithcss") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div align=left><p>[foo]<p>bar</div><p>extra" queryCommandIndeterm("defaultparagraphseparator") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div align=left><p>[foo]<p>bar</div><p>extra" queryCommandState("defaultparagraphseparator") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div align=left><p>[foo]<p>bar</div><p>extra" queryCommandValue("defaultparagraphseparator") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div align=left><p>[foo]<p>bar</div><p>extra" queryCommandIndeterm("defaultparagraphseparator") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div align=left><p>[foo]<p>bar</div><p>extra" queryCommandState("defaultparagraphseparator") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div align=left><p>[foo]<p>bar</div><p>extra" queryCommandValue("defaultparagraphseparator") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div align=left><p>[foo]<p>bar</div><p>extra" queryCommandIndeterm("justifycenter") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div align=left><p>[foo]<p>bar</div><p>extra" queryCommandState("justifycenter") before 
-FAIL [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div align=left><p>[foo]<p>bar</div><p>extra" queryCommandValue("justifycenter") before assert_equals: Wrong result returned expected "left" but got "false"
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div align=left><p>[foo]<p>bar</div><p>extra" queryCommandIndeterm("justifycenter") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div align=left><p>[foo]<p>bar</div><p>extra" queryCommandState("justifycenter") after 
-FAIL [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div align=left><p>[foo]<p>bar</div><p>extra" queryCommandValue("justifycenter") after assert_equals: Wrong result returned expected "center" but got "true"
-PASS [["stylewithcss","true"],["justifycenter",""]] "<div align=left><p>[foo<p>bar}</div><p>extra": execCommand("stylewithcss", false, "true") return value 
-PASS [["stylewithcss","true"],["justifycenter",""]] "<div align=left><p>[foo<p>bar}</div><p>extra": execCommand("justifycenter", false, "") return value 
-PASS [["stylewithcss","true"],["justifycenter",""]] "<div align=left><p>[foo<p>bar}</div><p>extra" checks for modifications to non-editable content 
-FAIL [["stylewithcss","true"],["justifycenter",""]] "<div align=left><p>[foo<p>bar}</div><p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<div style=\"text-align:center\"><p>foo</p><p>bar</p></div><p>extra</p>" but got "<div align=\"left\"><p style=\"text-align:center\">foo</p><p style=\"text-align:center\">bar</p></div><p>extra</p>"
-PASS [["stylewithcss","true"],["justifycenter",""]] "<div align=left><p>[foo<p>bar}</div><p>extra" queryCommandIndeterm("stylewithcss") before 
-PASS [["stylewithcss","true"],["justifycenter",""]] "<div align=left><p>[foo<p>bar}</div><p>extra" queryCommandState("stylewithcss") before 
-PASS [["stylewithcss","true"],["justifycenter",""]] "<div align=left><p>[foo<p>bar}</div><p>extra" queryCommandValue("stylewithcss") before 
-PASS [["stylewithcss","true"],["justifycenter",""]] "<div align=left><p>[foo<p>bar}</div><p>extra" queryCommandIndeterm("stylewithcss") after 
-PASS [["stylewithcss","true"],["justifycenter",""]] "<div align=left><p>[foo<p>bar}</div><p>extra" queryCommandState("stylewithcss") after 
-PASS [["stylewithcss","true"],["justifycenter",""]] "<div align=left><p>[foo<p>bar}</div><p>extra" queryCommandValue("stylewithcss") after 
-PASS [["stylewithcss","true"],["justifycenter",""]] "<div align=left><p>[foo<p>bar}</div><p>extra" queryCommandIndeterm("justifycenter") before 
-PASS [["stylewithcss","true"],["justifycenter",""]] "<div align=left><p>[foo<p>bar}</div><p>extra" queryCommandState("justifycenter") before 
-FAIL [["stylewithcss","true"],["justifycenter",""]] "<div align=left><p>[foo<p>bar}</div><p>extra" queryCommandValue("justifycenter") before assert_equals: Wrong result returned expected "left" but got "false"
-PASS [["stylewithcss","true"],["justifycenter",""]] "<div align=left><p>[foo<p>bar}</div><p>extra" queryCommandIndeterm("justifycenter") after 
-PASS [["stylewithcss","true"],["justifycenter",""]] "<div align=left><p>[foo<p>bar}</div><p>extra" queryCommandState("justifycenter") after 
-FAIL [["stylewithcss","true"],["justifycenter",""]] "<div align=left><p>[foo<p>bar}</div><p>extra" queryCommandValue("justifycenter") after assert_equals: Wrong result returned expected "center" but got "true"
-PASS [["stylewithcss","false"],["justifycenter",""]] "<div align=left><p>[foo<p>bar}</div><p>extra": execCommand("stylewithcss", false, "false") return value 
-PASS [["stylewithcss","false"],["justifycenter",""]] "<div align=left><p>[foo<p>bar}</div><p>extra": execCommand("justifycenter", false, "") return value 
-PASS [["stylewithcss","false"],["justifycenter",""]] "<div align=left><p>[foo<p>bar}</div><p>extra" checks for modifications to non-editable content 
-FAIL [["stylewithcss","false"],["justifycenter",""]] "<div align=left><p>[foo<p>bar}</div><p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<div style=\"text-align:center\"><p>foo</p><p>bar</p></div><p>extra</p>" but got "<div align=\"left\"><p style=\"text-align:center\">foo</p><p style=\"text-align:center\">bar</p></div><p>extra</p>"
-PASS [["stylewithcss","false"],["justifycenter",""]] "<div align=left><p>[foo<p>bar}</div><p>extra" queryCommandIndeterm("stylewithcss") before 
-PASS [["stylewithcss","false"],["justifycenter",""]] "<div align=left><p>[foo<p>bar}</div><p>extra" queryCommandState("stylewithcss") before 
-PASS [["stylewithcss","false"],["justifycenter",""]] "<div align=left><p>[foo<p>bar}</div><p>extra" queryCommandValue("stylewithcss") before 
-PASS [["stylewithcss","false"],["justifycenter",""]] "<div align=left><p>[foo<p>bar}</div><p>extra" queryCommandIndeterm("stylewithcss") after 
-PASS [["stylewithcss","false"],["justifycenter",""]] "<div align=left><p>[foo<p>bar}</div><p>extra" queryCommandState("stylewithcss") after 
-PASS [["stylewithcss","false"],["justifycenter",""]] "<div align=left><p>[foo<p>bar}</div><p>extra" queryCommandValue("stylewithcss") after 
-PASS [["stylewithcss","false"],["justifycenter",""]] "<div align=left><p>[foo<p>bar}</div><p>extra" queryCommandIndeterm("justifycenter") before 
-PASS [["stylewithcss","false"],["justifycenter",""]] "<div align=left><p>[foo<p>bar}</div><p>extra" queryCommandState("justifycenter") before 
-FAIL [["stylewithcss","false"],["justifycenter",""]] "<div align=left><p>[foo<p>bar}</div><p>extra" queryCommandValue("justifycenter") before assert_equals: Wrong result returned expected "left" but got "false"
-PASS [["stylewithcss","false"],["justifycenter",""]] "<div align=left><p>[foo<p>bar}</div><p>extra" queryCommandIndeterm("justifycenter") after 
-PASS [["stylewithcss","false"],["justifycenter",""]] "<div align=left><p>[foo<p>bar}</div><p>extra" queryCommandState("justifycenter") after 
-FAIL [["stylewithcss","false"],["justifycenter",""]] "<div align=left><p>[foo<p>bar}</div><p>extra" queryCommandValue("justifycenter") after assert_equals: Wrong result returned expected "center" but got "true"
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div style=text-align:left><p>[foo]<p>bar</div><p>extra": execCommand("stylewithcss", false, "true") return value 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div style=text-align:left><p>[foo]<p>bar</div><p>extra": execCommand("defaultparagraphseparator", false, "div") return value 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div style=text-align:left><p>[foo]<p>bar</div><p>extra": execCommand("justifycenter", false, "") return value 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div style=text-align:left><p>[foo]<p>bar</div><p>extra" checks for modifications to non-editable content 
-FAIL [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div style=text-align:left><p>[foo]<p>bar</div><p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<div style=\"text-align:left\"><div style=\"text-align:center\"><p>foo</p></div><p>bar</p></div><p>extra</p>" but got "<div style=\"text-align:left\"><p style=\"text-align:center\">foo</p><p>bar</p></div><p>extra</p>"
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div style=text-align:left><p>[foo]<p>bar</div><p>extra" queryCommandIndeterm("stylewithcss") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div style=text-align:left><p>[foo]<p>bar</div><p>extra" queryCommandState("stylewithcss") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div style=text-align:left><p>[foo]<p>bar</div><p>extra" queryCommandValue("stylewithcss") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div style=text-align:left><p>[foo]<p>bar</div><p>extra" queryCommandIndeterm("stylewithcss") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div style=text-align:left><p>[foo]<p>bar</div><p>extra" queryCommandState("stylewithcss") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div style=text-align:left><p>[foo]<p>bar</div><p>extra" queryCommandValue("stylewithcss") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div style=text-align:left><p>[foo]<p>bar</div><p>extra" queryCommandIndeterm("defaultparagraphseparator") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div style=text-align:left><p>[foo]<p>bar</div><p>extra" queryCommandState("defaultparagraphseparator") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div style=text-align:left><p>[foo]<p>bar</div><p>extra" queryCommandValue("defaultparagraphseparator") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div style=text-align:left><p>[foo]<p>bar</div><p>extra" queryCommandIndeterm("defaultparagraphseparator") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div style=text-align:left><p>[foo]<p>bar</div><p>extra" queryCommandState("defaultparagraphseparator") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div style=text-align:left><p>[foo]<p>bar</div><p>extra" queryCommandValue("defaultparagraphseparator") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div style=text-align:left><p>[foo]<p>bar</div><p>extra" queryCommandIndeterm("justifycenter") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div style=text-align:left><p>[foo]<p>bar</div><p>extra" queryCommandState("justifycenter") before 
-FAIL [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div style=text-align:left><p>[foo]<p>bar</div><p>extra" queryCommandValue("justifycenter") before assert_equals: Wrong result returned expected "left" but got "false"
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div style=text-align:left><p>[foo]<p>bar</div><p>extra" queryCommandIndeterm("justifycenter") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div style=text-align:left><p>[foo]<p>bar</div><p>extra" queryCommandState("justifycenter") after 
-FAIL [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div style=text-align:left><p>[foo]<p>bar</div><p>extra" queryCommandValue("justifycenter") after assert_equals: Wrong result returned expected "center" but got "true"
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div style=text-align:left><p>[foo]<p>bar</div><p>extra": execCommand("stylewithcss", false, "false") return value 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div style=text-align:left><p>[foo]<p>bar</div><p>extra": execCommand("defaultparagraphseparator", false, "div") return value 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div style=text-align:left><p>[foo]<p>bar</div><p>extra": execCommand("justifycenter", false, "") return value 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div style=text-align:left><p>[foo]<p>bar</div><p>extra" checks for modifications to non-editable content 
-FAIL [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div style=text-align:left><p>[foo]<p>bar</div><p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<div style=\"text-align:left\"><div style=\"text-align:center\"><p>foo</p></div><p>bar</p></div><p>extra</p>" but got "<div style=\"text-align:left\"><p style=\"text-align:center\">foo</p><p>bar</p></div><p>extra</p>"
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div style=text-align:left><p>[foo]<p>bar</div><p>extra" queryCommandIndeterm("stylewithcss") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div style=text-align:left><p>[foo]<p>bar</div><p>extra" queryCommandState("stylewithcss") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div style=text-align:left><p>[foo]<p>bar</div><p>extra" queryCommandValue("stylewithcss") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div style=text-align:left><p>[foo]<p>bar</div><p>extra" queryCommandIndeterm("stylewithcss") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div style=text-align:left><p>[foo]<p>bar</div><p>extra" queryCommandState("stylewithcss") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div style=text-align:left><p>[foo]<p>bar</div><p>extra" queryCommandValue("stylewithcss") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div style=text-align:left><p>[foo]<p>bar</div><p>extra" queryCommandIndeterm("defaultparagraphseparator") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div style=text-align:left><p>[foo]<p>bar</div><p>extra" queryCommandState("defaultparagraphseparator") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div style=text-align:left><p>[foo]<p>bar</div><p>extra" queryCommandValue("defaultparagraphseparator") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div style=text-align:left><p>[foo]<p>bar</div><p>extra" queryCommandIndeterm("defaultparagraphseparator") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div style=text-align:left><p>[foo]<p>bar</div><p>extra" queryCommandState("defaultparagraphseparator") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div style=text-align:left><p>[foo]<p>bar</div><p>extra" queryCommandValue("defaultparagraphseparator") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div style=text-align:left><p>[foo]<p>bar</div><p>extra" queryCommandIndeterm("justifycenter") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div style=text-align:left><p>[foo]<p>bar</div><p>extra" queryCommandState("justifycenter") before 
-FAIL [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div style=text-align:left><p>[foo]<p>bar</div><p>extra" queryCommandValue("justifycenter") before assert_equals: Wrong result returned expected "left" but got "false"
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div style=text-align:left><p>[foo]<p>bar</div><p>extra" queryCommandIndeterm("justifycenter") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div style=text-align:left><p>[foo]<p>bar</div><p>extra" queryCommandState("justifycenter") after 
-FAIL [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div style=text-align:left><p>[foo]<p>bar</div><p>extra" queryCommandValue("justifycenter") after assert_equals: Wrong result returned expected "center" but got "true"
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div style=text-align:left><p>[foo]<p>bar</div><p>extra": execCommand("stylewithcss", false, "true") return value 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div style=text-align:left><p>[foo]<p>bar</div><p>extra": execCommand("defaultparagraphseparator", false, "p") return value 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div style=text-align:left><p>[foo]<p>bar</div><p>extra": execCommand("justifycenter", false, "") return value 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div style=text-align:left><p>[foo]<p>bar</div><p>extra" checks for modifications to non-editable content 
-FAIL [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div style=text-align:left><p>[foo]<p>bar</div><p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<div style=\"text-align:left\"><div style=\"text-align:center\"><p>foo</p></div><p>bar</p></div><p>extra</p>" but got "<div style=\"text-align:left\"><p style=\"text-align:center\">foo</p><p>bar</p></div><p>extra</p>"
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div style=text-align:left><p>[foo]<p>bar</div><p>extra" queryCommandIndeterm("stylewithcss") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div style=text-align:left><p>[foo]<p>bar</div><p>extra" queryCommandState("stylewithcss") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div style=text-align:left><p>[foo]<p>bar</div><p>extra" queryCommandValue("stylewithcss") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div style=text-align:left><p>[foo]<p>bar</div><p>extra" queryCommandIndeterm("stylewithcss") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div style=text-align:left><p>[foo]<p>bar</div><p>extra" queryCommandState("stylewithcss") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div style=text-align:left><p>[foo]<p>bar</div><p>extra" queryCommandValue("stylewithcss") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div style=text-align:left><p>[foo]<p>bar</div><p>extra" queryCommandIndeterm("defaultparagraphseparator") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div style=text-align:left><p>[foo]<p>bar</div><p>extra" queryCommandState("defaultparagraphseparator") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div style=text-align:left><p>[foo]<p>bar</div><p>extra" queryCommandValue("defaultparagraphseparator") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div style=text-align:left><p>[foo]<p>bar</div><p>extra" queryCommandIndeterm("defaultparagraphseparator") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div style=text-align:left><p>[foo]<p>bar</div><p>extra" queryCommandState("defaultparagraphseparator") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div style=text-align:left><p>[foo]<p>bar</div><p>extra" queryCommandValue("defaultparagraphseparator") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div style=text-align:left><p>[foo]<p>bar</div><p>extra" queryCommandIndeterm("justifycenter") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div style=text-align:left><p>[foo]<p>bar</div><p>extra" queryCommandState("justifycenter") before 
-FAIL [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div style=text-align:left><p>[foo]<p>bar</div><p>extra" queryCommandValue("justifycenter") before assert_equals: Wrong result returned expected "left" but got "false"
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div style=text-align:left><p>[foo]<p>bar</div><p>extra" queryCommandIndeterm("justifycenter") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div style=text-align:left><p>[foo]<p>bar</div><p>extra" queryCommandState("justifycenter") after 
-FAIL [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div style=text-align:left><p>[foo]<p>bar</div><p>extra" queryCommandValue("justifycenter") after assert_equals: Wrong result returned expected "center" but got "true"
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div style=text-align:left><p>[foo]<p>bar</div><p>extra": execCommand("stylewithcss", false, "false") return value 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div style=text-align:left><p>[foo]<p>bar</div><p>extra": execCommand("defaultparagraphseparator", false, "p") return value 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div style=text-align:left><p>[foo]<p>bar</div><p>extra": execCommand("justifycenter", false, "") return value 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div style=text-align:left><p>[foo]<p>bar</div><p>extra" checks for modifications to non-editable content 
-FAIL [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div style=text-align:left><p>[foo]<p>bar</div><p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<div style=\"text-align:left\"><div style=\"text-align:center\"><p>foo</p></div><p>bar</p></div><p>extra</p>" but got "<div style=\"text-align:left\"><p style=\"text-align:center\">foo</p><p>bar</p></div><p>extra</p>"
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div style=text-align:left><p>[foo]<p>bar</div><p>extra" queryCommandIndeterm("stylewithcss") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div style=text-align:left><p>[foo]<p>bar</div><p>extra" queryCommandState("stylewithcss") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div style=text-align:left><p>[foo]<p>bar</div><p>extra" queryCommandValue("stylewithcss") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div style=text-align:left><p>[foo]<p>bar</div><p>extra" queryCommandIndeterm("stylewithcss") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div style=text-align:left><p>[foo]<p>bar</div><p>extra" queryCommandState("stylewithcss") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div style=text-align:left><p>[foo]<p>bar</div><p>extra" queryCommandValue("stylewithcss") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div style=text-align:left><p>[foo]<p>bar</div><p>extra" queryCommandIndeterm("defaultparagraphseparator") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div style=text-align:left><p>[foo]<p>bar</div><p>extra" queryCommandState("defaultparagraphseparator") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div style=text-align:left><p>[foo]<p>bar</div><p>extra" queryCommandValue("defaultparagraphseparator") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div style=text-align:left><p>[foo]<p>bar</div><p>extra" queryCommandIndeterm("defaultparagraphseparator") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div style=text-align:left><p>[foo]<p>bar</div><p>extra" queryCommandState("defaultparagraphseparator") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div style=text-align:left><p>[foo]<p>bar</div><p>extra" queryCommandValue("defaultparagraphseparator") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div style=text-align:left><p>[foo]<p>bar</div><p>extra" queryCommandIndeterm("justifycenter") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div style=text-align:left><p>[foo]<p>bar</div><p>extra" queryCommandState("justifycenter") before 
-FAIL [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div style=text-align:left><p>[foo]<p>bar</div><p>extra" queryCommandValue("justifycenter") before assert_equals: Wrong result returned expected "left" but got "false"
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div style=text-align:left><p>[foo]<p>bar</div><p>extra" queryCommandIndeterm("justifycenter") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div style=text-align:left><p>[foo]<p>bar</div><p>extra" queryCommandState("justifycenter") after 
-FAIL [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div style=text-align:left><p>[foo]<p>bar</div><p>extra" queryCommandValue("justifycenter") after assert_equals: Wrong result returned expected "center" but got "true"
-PASS [["justifycenter",""]] "<div style=text-align:left><p>[foo<p>bar]</div><p>extra": execCommand("justifycenter", false, "") return value 
-PASS [["justifycenter",""]] "<div style=text-align:left><p>[foo<p>bar]</div><p>extra" checks for modifications to non-editable content 
-FAIL [["justifycenter",""]] "<div style=text-align:left><p>[foo<p>bar]</div><p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<div style=\"text-align:center\"><p>foo</p><p>bar</p></div><p>extra</p>" but got "<div style=\"text-align:left\"><p style=\"text-align:center\">foo</p><p style=\"text-align:center\">bar</p></div><p>extra</p>"
-PASS [["justifycenter",""]] "<div style=text-align:left><p>[foo<p>bar]</div><p>extra" queryCommandIndeterm("justifycenter") before 
-PASS [["justifycenter",""]] "<div style=text-align:left><p>[foo<p>bar]</div><p>extra" queryCommandState("justifycenter") before 
-FAIL [["justifycenter",""]] "<div style=text-align:left><p>[foo<p>bar]</div><p>extra" queryCommandValue("justifycenter") before assert_equals: Wrong result returned expected "left" but got "false"
-PASS [["justifycenter",""]] "<div style=text-align:left><p>[foo<p>bar]</div><p>extra" queryCommandIndeterm("justifycenter") after 
-PASS [["justifycenter",""]] "<div style=text-align:left><p>[foo<p>bar]</div><p>extra" queryCommandState("justifycenter") after 
-FAIL [["justifycenter",""]] "<div style=text-align:left><p>[foo<p>bar]</div><p>extra" queryCommandValue("justifycenter") after assert_equals: Wrong result returned expected "center" but got "true"
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div align=right><p>[foo]<p>bar</div><p>extra": execCommand("stylewithcss", false, "true") return value 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div align=right><p>[foo]<p>bar</div><p>extra": execCommand("defaultparagraphseparator", false, "div") return value 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div align=right><p>[foo]<p>bar</div><p>extra": execCommand("justifycenter", false, "") return value 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div align=right><p>[foo]<p>bar</div><p>extra" checks for modifications to non-editable content 
-FAIL [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div align=right><p>[foo]<p>bar</div><p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<div align=\"right\"><div style=\"text-align:center\"><p>foo</p></div><p>bar</p></div><p>extra</p>" but got "<div align=\"right\"><p style=\"text-align:center\">foo</p><p>bar</p></div><p>extra</p>"
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div align=right><p>[foo]<p>bar</div><p>extra" queryCommandIndeterm("stylewithcss") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div align=right><p>[foo]<p>bar</div><p>extra" queryCommandState("stylewithcss") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div align=right><p>[foo]<p>bar</div><p>extra" queryCommandValue("stylewithcss") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div align=right><p>[foo]<p>bar</div><p>extra" queryCommandIndeterm("stylewithcss") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div align=right><p>[foo]<p>bar</div><p>extra" queryCommandState("stylewithcss") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div align=right><p>[foo]<p>bar</div><p>extra" queryCommandValue("stylewithcss") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div align=right><p>[foo]<p>bar</div><p>extra" queryCommandIndeterm("defaultparagraphseparator") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div align=right><p>[foo]<p>bar</div><p>extra" queryCommandState("defaultparagraphseparator") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div align=right><p>[foo]<p>bar</div><p>extra" queryCommandValue("defaultparagraphseparator") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div align=right><p>[foo]<p>bar</div><p>extra" queryCommandIndeterm("defaultparagraphseparator") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div align=right><p>[foo]<p>bar</div><p>extra" queryCommandState("defaultparagraphseparator") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div align=right><p>[foo]<p>bar</div><p>extra" queryCommandValue("defaultparagraphseparator") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div align=right><p>[foo]<p>bar</div><p>extra" queryCommandIndeterm("justifycenter") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div align=right><p>[foo]<p>bar</div><p>extra" queryCommandState("justifycenter") before 
-FAIL [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div align=right><p>[foo]<p>bar</div><p>extra" queryCommandValue("justifycenter") before assert_equals: Wrong result returned expected "right" but got "false"
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div align=right><p>[foo]<p>bar</div><p>extra" queryCommandIndeterm("justifycenter") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div align=right><p>[foo]<p>bar</div><p>extra" queryCommandState("justifycenter") after 
-FAIL [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div align=right><p>[foo]<p>bar</div><p>extra" queryCommandValue("justifycenter") after assert_equals: Wrong result returned expected "center" but got "true"
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div align=right><p>[foo]<p>bar</div><p>extra": execCommand("stylewithcss", false, "false") return value 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div align=right><p>[foo]<p>bar</div><p>extra": execCommand("defaultparagraphseparator", false, "div") return value 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div align=right><p>[foo]<p>bar</div><p>extra": execCommand("justifycenter", false, "") return value 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div align=right><p>[foo]<p>bar</div><p>extra" checks for modifications to non-editable content 
-FAIL [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div align=right><p>[foo]<p>bar</div><p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<div align=\"right\"><div style=\"text-align:center\"><p>foo</p></div><p>bar</p></div><p>extra</p>" but got "<div align=\"right\"><p style=\"text-align:center\">foo</p><p>bar</p></div><p>extra</p>"
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div align=right><p>[foo]<p>bar</div><p>extra" queryCommandIndeterm("stylewithcss") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div align=right><p>[foo]<p>bar</div><p>extra" queryCommandState("stylewithcss") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div align=right><p>[foo]<p>bar</div><p>extra" queryCommandValue("stylewithcss") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div align=right><p>[foo]<p>bar</div><p>extra" queryCommandIndeterm("stylewithcss") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div align=right><p>[foo]<p>bar</div><p>extra" queryCommandState("stylewithcss") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div align=right><p>[foo]<p>bar</div><p>extra" queryCommandValue("stylewithcss") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div align=right><p>[foo]<p>bar</div><p>extra" queryCommandIndeterm("defaultparagraphseparator") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div align=right><p>[foo]<p>bar</div><p>extra" queryCommandState("defaultparagraphseparator") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div align=right><p>[foo]<p>bar</div><p>extra" queryCommandValue("defaultparagraphseparator") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div align=right><p>[foo]<p>bar</div><p>extra" queryCommandIndeterm("defaultparagraphseparator") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div align=right><p>[foo]<p>bar</div><p>extra" queryCommandState("defaultparagraphseparator") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div align=right><p>[foo]<p>bar</div><p>extra" queryCommandValue("defaultparagraphseparator") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div align=right><p>[foo]<p>bar</div><p>extra" queryCommandIndeterm("justifycenter") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div align=right><p>[foo]<p>bar</div><p>extra" queryCommandState("justifycenter") before 
-FAIL [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div align=right><p>[foo]<p>bar</div><p>extra" queryCommandValue("justifycenter") before assert_equals: Wrong result returned expected "right" but got "false"
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div align=right><p>[foo]<p>bar</div><p>extra" queryCommandIndeterm("justifycenter") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div align=right><p>[foo]<p>bar</div><p>extra" queryCommandState("justifycenter") after 
-FAIL [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div align=right><p>[foo]<p>bar</div><p>extra" queryCommandValue("justifycenter") after assert_equals: Wrong result returned expected "center" but got "true"
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div align=right><p>[foo]<p>bar</div><p>extra": execCommand("stylewithcss", false, "true") return value 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div align=right><p>[foo]<p>bar</div><p>extra": execCommand("defaultparagraphseparator", false, "p") return value 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div align=right><p>[foo]<p>bar</div><p>extra": execCommand("justifycenter", false, "") return value 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div align=right><p>[foo]<p>bar</div><p>extra" checks for modifications to non-editable content 
-FAIL [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div align=right><p>[foo]<p>bar</div><p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<div align=\"right\"><div style=\"text-align:center\"><p>foo</p></div><p>bar</p></div><p>extra</p>" but got "<div align=\"right\"><p style=\"text-align:center\">foo</p><p>bar</p></div><p>extra</p>"
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div align=right><p>[foo]<p>bar</div><p>extra" queryCommandIndeterm("stylewithcss") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div align=right><p>[foo]<p>bar</div><p>extra" queryCommandState("stylewithcss") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div align=right><p>[foo]<p>bar</div><p>extra" queryCommandValue("stylewithcss") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div align=right><p>[foo]<p>bar</div><p>extra" queryCommandIndeterm("stylewithcss") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div align=right><p>[foo]<p>bar</div><p>extra" queryCommandState("stylewithcss") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div align=right><p>[foo]<p>bar</div><p>extra" queryCommandValue("stylewithcss") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div align=right><p>[foo]<p>bar</div><p>extra" queryCommandIndeterm("defaultparagraphseparator") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div align=right><p>[foo]<p>bar</div><p>extra" queryCommandState("defaultparagraphseparator") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div align=right><p>[foo]<p>bar</div><p>extra" queryCommandValue("defaultparagraphseparator") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div align=right><p>[foo]<p>bar</div><p>extra" queryCommandIndeterm("defaultparagraphseparator") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div align=right><p>[foo]<p>bar</div><p>extra" queryCommandState("defaultparagraphseparator") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div align=right><p>[foo]<p>bar</div><p>extra" queryCommandValue("defaultparagraphseparator") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div align=right><p>[foo]<p>bar</div><p>extra" queryCommandIndeterm("justifycenter") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div align=right><p>[foo]<p>bar</div><p>extra" queryCommandState("justifycenter") before 
-FAIL [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div align=right><p>[foo]<p>bar</div><p>extra" queryCommandValue("justifycenter") before assert_equals: Wrong result returned expected "right" but got "false"
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div align=right><p>[foo]<p>bar</div><p>extra" queryCommandIndeterm("justifycenter") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div align=right><p>[foo]<p>bar</div><p>extra" queryCommandState("justifycenter") after 
-FAIL [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div align=right><p>[foo]<p>bar</div><p>extra" queryCommandValue("justifycenter") after assert_equals: Wrong result returned expected "center" but got "true"
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div align=right><p>[foo]<p>bar</div><p>extra": execCommand("stylewithcss", false, "false") return value 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div align=right><p>[foo]<p>bar</div><p>extra": execCommand("defaultparagraphseparator", false, "p") return value 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div align=right><p>[foo]<p>bar</div><p>extra": execCommand("justifycenter", false, "") return value 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div align=right><p>[foo]<p>bar</div><p>extra" checks for modifications to non-editable content 
-FAIL [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div align=right><p>[foo]<p>bar</div><p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<div align=\"right\"><div style=\"text-align:center\"><p>foo</p></div><p>bar</p></div><p>extra</p>" but got "<div align=\"right\"><p style=\"text-align:center\">foo</p><p>bar</p></div><p>extra</p>"
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div align=right><p>[foo]<p>bar</div><p>extra" queryCommandIndeterm("stylewithcss") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div align=right><p>[foo]<p>bar</div><p>extra" queryCommandState("stylewithcss") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div align=right><p>[foo]<p>bar</div><p>extra" queryCommandValue("stylewithcss") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div align=right><p>[foo]<p>bar</div><p>extra" queryCommandIndeterm("stylewithcss") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div align=right><p>[foo]<p>bar</div><p>extra" queryCommandState("stylewithcss") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div align=right><p>[foo]<p>bar</div><p>extra" queryCommandValue("stylewithcss") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div align=right><p>[foo]<p>bar</div><p>extra" queryCommandIndeterm("defaultparagraphseparator") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div align=right><p>[foo]<p>bar</div><p>extra" queryCommandState("defaultparagraphseparator") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div align=right><p>[foo]<p>bar</div><p>extra" queryCommandValue("defaultparagraphseparator") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div align=right><p>[foo]<p>bar</div><p>extra" queryCommandIndeterm("defaultparagraphseparator") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div align=right><p>[foo]<p>bar</div><p>extra" queryCommandState("defaultparagraphseparator") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div align=right><p>[foo]<p>bar</div><p>extra" queryCommandValue("defaultparagraphseparator") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div align=right><p>[foo]<p>bar</div><p>extra" queryCommandIndeterm("justifycenter") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div align=right><p>[foo]<p>bar</div><p>extra" queryCommandState("justifycenter") before 
-FAIL [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div align=right><p>[foo]<p>bar</div><p>extra" queryCommandValue("justifycenter") before assert_equals: Wrong result returned expected "right" but got "false"
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div align=right><p>[foo]<p>bar</div><p>extra" queryCommandIndeterm("justifycenter") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div align=right><p>[foo]<p>bar</div><p>extra" queryCommandState("justifycenter") after 
-FAIL [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div align=right><p>[foo]<p>bar</div><p>extra" queryCommandValue("justifycenter") after assert_equals: Wrong result returned expected "center" but got "true"
-PASS [["stylewithcss","true"],["justifycenter",""]] "<div align=right><p>[foo<p>bar}</div><p>extra": execCommand("stylewithcss", false, "true") return value 
-PASS [["stylewithcss","true"],["justifycenter",""]] "<div align=right><p>[foo<p>bar}</div><p>extra": execCommand("justifycenter", false, "") return value 
-PASS [["stylewithcss","true"],["justifycenter",""]] "<div align=right><p>[foo<p>bar}</div><p>extra" checks for modifications to non-editable content 
-FAIL [["stylewithcss","true"],["justifycenter",""]] "<div align=right><p>[foo<p>bar}</div><p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<div style=\"text-align:center\"><p>foo</p><p>bar</p></div><p>extra</p>" but got "<div align=\"right\"><p style=\"text-align:center\">foo</p><p style=\"text-align:center\">bar</p></div><p>extra</p>"
-PASS [["stylewithcss","true"],["justifycenter",""]] "<div align=right><p>[foo<p>bar}</div><p>extra" queryCommandIndeterm("stylewithcss") before 
-PASS [["stylewithcss","true"],["justifycenter",""]] "<div align=right><p>[foo<p>bar}</div><p>extra" queryCommandState("stylewithcss") before 
-PASS [["stylewithcss","true"],["justifycenter",""]] "<div align=right><p>[foo<p>bar}</div><p>extra" queryCommandValue("stylewithcss") before 
-PASS [["stylewithcss","true"],["justifycenter",""]] "<div align=right><p>[foo<p>bar}</div><p>extra" queryCommandIndeterm("stylewithcss") after 
-PASS [["stylewithcss","true"],["justifycenter",""]] "<div align=right><p>[foo<p>bar}</div><p>extra" queryCommandState("stylewithcss") after 
-PASS [["stylewithcss","true"],["justifycenter",""]] "<div align=right><p>[foo<p>bar}</div><p>extra" queryCommandValue("stylewithcss") after 
-PASS [["stylewithcss","true"],["justifycenter",""]] "<div align=right><p>[foo<p>bar}</div><p>extra" queryCommandIndeterm("justifycenter") before 
-PASS [["stylewithcss","true"],["justifycenter",""]] "<div align=right><p>[foo<p>bar}</div><p>extra" queryCommandState("justifycenter") before 
-FAIL [["stylewithcss","true"],["justifycenter",""]] "<div align=right><p>[foo<p>bar}</div><p>extra" queryCommandValue("justifycenter") before assert_equals: Wrong result returned expected "right" but got "false"
-PASS [["stylewithcss","true"],["justifycenter",""]] "<div align=right><p>[foo<p>bar}</div><p>extra" queryCommandIndeterm("justifycenter") after 
-PASS [["stylewithcss","true"],["justifycenter",""]] "<div align=right><p>[foo<p>bar}</div><p>extra" queryCommandState("justifycenter") after 
-FAIL [["stylewithcss","true"],["justifycenter",""]] "<div align=right><p>[foo<p>bar}</div><p>extra" queryCommandValue("justifycenter") after assert_equals: Wrong result returned expected "center" but got "true"
-PASS [["stylewithcss","false"],["justifycenter",""]] "<div align=right><p>[foo<p>bar}</div><p>extra": execCommand("stylewithcss", false, "false") return value 
-PASS [["stylewithcss","false"],["justifycenter",""]] "<div align=right><p>[foo<p>bar}</div><p>extra": execCommand("justifycenter", false, "") return value 
-PASS [["stylewithcss","false"],["justifycenter",""]] "<div align=right><p>[foo<p>bar}</div><p>extra" checks for modifications to non-editable content 
-FAIL [["stylewithcss","false"],["justifycenter",""]] "<div align=right><p>[foo<p>bar}</div><p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<div style=\"text-align:center\"><p>foo</p><p>bar</p></div><p>extra</p>" but got "<div align=\"right\"><p style=\"text-align:center\">foo</p><p style=\"text-align:center\">bar</p></div><p>extra</p>"
-PASS [["stylewithcss","false"],["justifycenter",""]] "<div align=right><p>[foo<p>bar}</div><p>extra" queryCommandIndeterm("stylewithcss") before 
-PASS [["stylewithcss","false"],["justifycenter",""]] "<div align=right><p>[foo<p>bar}</div><p>extra" queryCommandState("stylewithcss") before 
-PASS [["stylewithcss","false"],["justifycenter",""]] "<div align=right><p>[foo<p>bar}</div><p>extra" queryCommandValue("stylewithcss") before 
-PASS [["stylewithcss","false"],["justifycenter",""]] "<div align=right><p>[foo<p>bar}</div><p>extra" queryCommandIndeterm("stylewithcss") after 
-PASS [["stylewithcss","false"],["justifycenter",""]] "<div align=right><p>[foo<p>bar}</div><p>extra" queryCommandState("stylewithcss") after 
-PASS [["stylewithcss","false"],["justifycenter",""]] "<div align=right><p>[foo<p>bar}</div><p>extra" queryCommandValue("stylewithcss") after 
-PASS [["stylewithcss","false"],["justifycenter",""]] "<div align=right><p>[foo<p>bar}</div><p>extra" queryCommandIndeterm("justifycenter") before 
-PASS [["stylewithcss","false"],["justifycenter",""]] "<div align=right><p>[foo<p>bar}</div><p>extra" queryCommandState("justifycenter") before 
-FAIL [["stylewithcss","false"],["justifycenter",""]] "<div align=right><p>[foo<p>bar}</div><p>extra" queryCommandValue("justifycenter") before assert_equals: Wrong result returned expected "right" but got "false"
-PASS [["stylewithcss","false"],["justifycenter",""]] "<div align=right><p>[foo<p>bar}</div><p>extra" queryCommandIndeterm("justifycenter") after 
-PASS [["stylewithcss","false"],["justifycenter",""]] "<div align=right><p>[foo<p>bar}</div><p>extra" queryCommandState("justifycenter") after 
-FAIL [["stylewithcss","false"],["justifycenter",""]] "<div align=right><p>[foo<p>bar}</div><p>extra" queryCommandValue("justifycenter") after assert_equals: Wrong result returned expected "center" but got "true"
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div style=text-align:right><p>[foo]<p>bar</div><p>extra": execCommand("stylewithcss", false, "true") return value 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div style=text-align:right><p>[foo]<p>bar</div><p>extra": execCommand("defaultparagraphseparator", false, "div") return value 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div style=text-align:right><p>[foo]<p>bar</div><p>extra": execCommand("justifycenter", false, "") return value 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div style=text-align:right><p>[foo]<p>bar</div><p>extra" checks for modifications to non-editable content 
-FAIL [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div style=text-align:right><p>[foo]<p>bar</div><p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<div style=\"text-align:right\"><div style=\"text-align:center\"><p>foo</p></div><p>bar</p></div><p>extra</p>" but got "<div style=\"text-align:right\"><p style=\"text-align:center\">foo</p><p>bar</p></div><p>extra</p>"
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div style=text-align:right><p>[foo]<p>bar</div><p>extra" queryCommandIndeterm("stylewithcss") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div style=text-align:right><p>[foo]<p>bar</div><p>extra" queryCommandState("stylewithcss") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div style=text-align:right><p>[foo]<p>bar</div><p>extra" queryCommandValue("stylewithcss") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div style=text-align:right><p>[foo]<p>bar</div><p>extra" queryCommandIndeterm("stylewithcss") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div style=text-align:right><p>[foo]<p>bar</div><p>extra" queryCommandState("stylewithcss") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div style=text-align:right><p>[foo]<p>bar</div><p>extra" queryCommandValue("stylewithcss") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div style=text-align:right><p>[foo]<p>bar</div><p>extra" queryCommandIndeterm("defaultparagraphseparator") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div style=text-align:right><p>[foo]<p>bar</div><p>extra" queryCommandState("defaultparagraphseparator") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div style=text-align:right><p>[foo]<p>bar</div><p>extra" queryCommandValue("defaultparagraphseparator") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div style=text-align:right><p>[foo]<p>bar</div><p>extra" queryCommandIndeterm("defaultparagraphseparator") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div style=text-align:right><p>[foo]<p>bar</div><p>extra" queryCommandState("defaultparagraphseparator") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div style=text-align:right><p>[foo]<p>bar</div><p>extra" queryCommandValue("defaultparagraphseparator") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div style=text-align:right><p>[foo]<p>bar</div><p>extra" queryCommandIndeterm("justifycenter") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div style=text-align:right><p>[foo]<p>bar</div><p>extra" queryCommandState("justifycenter") before 
-FAIL [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div style=text-align:right><p>[foo]<p>bar</div><p>extra" queryCommandValue("justifycenter") before assert_equals: Wrong result returned expected "right" but got "false"
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div style=text-align:right><p>[foo]<p>bar</div><p>extra" queryCommandIndeterm("justifycenter") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div style=text-align:right><p>[foo]<p>bar</div><p>extra" queryCommandState("justifycenter") after 
-FAIL [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div style=text-align:right><p>[foo]<p>bar</div><p>extra" queryCommandValue("justifycenter") after assert_equals: Wrong result returned expected "center" but got "true"
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div style=text-align:right><p>[foo]<p>bar</div><p>extra": execCommand("stylewithcss", false, "false") return value 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div style=text-align:right><p>[foo]<p>bar</div><p>extra": execCommand("defaultparagraphseparator", false, "div") return value 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div style=text-align:right><p>[foo]<p>bar</div><p>extra": execCommand("justifycenter", false, "") return value 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div style=text-align:right><p>[foo]<p>bar</div><p>extra" checks for modifications to non-editable content 
-FAIL [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div style=text-align:right><p>[foo]<p>bar</div><p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<div style=\"text-align:right\"><div style=\"text-align:center\"><p>foo</p></div><p>bar</p></div><p>extra</p>" but got "<div style=\"text-align:right\"><p style=\"text-align:center\">foo</p><p>bar</p></div><p>extra</p>"
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div style=text-align:right><p>[foo]<p>bar</div><p>extra" queryCommandIndeterm("stylewithcss") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div style=text-align:right><p>[foo]<p>bar</div><p>extra" queryCommandState("stylewithcss") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div style=text-align:right><p>[foo]<p>bar</div><p>extra" queryCommandValue("stylewithcss") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div style=text-align:right><p>[foo]<p>bar</div><p>extra" queryCommandIndeterm("stylewithcss") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div style=text-align:right><p>[foo]<p>bar</div><p>extra" queryCommandState("stylewithcss") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div style=text-align:right><p>[foo]<p>bar</div><p>extra" queryCommandValue("stylewithcss") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div style=text-align:right><p>[foo]<p>bar</div><p>extra" queryCommandIndeterm("defaultparagraphseparator") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div style=text-align:right><p>[foo]<p>bar</div><p>extra" queryCommandState("defaultparagraphseparator") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div style=text-align:right><p>[foo]<p>bar</div><p>extra" queryCommandValue("defaultparagraphseparator") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div style=text-align:right><p>[foo]<p>bar</div><p>extra" queryCommandIndeterm("defaultparagraphseparator") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div style=text-align:right><p>[foo]<p>bar</div><p>extra" queryCommandState("defaultparagraphseparator") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div style=text-align:right><p>[foo]<p>bar</div><p>extra" queryCommandValue("defaultparagraphseparator") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div style=text-align:right><p>[foo]<p>bar</div><p>extra" queryCommandIndeterm("justifycenter") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div style=text-align:right><p>[foo]<p>bar</div><p>extra" queryCommandState("justifycenter") before 
-FAIL [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div style=text-align:right><p>[foo]<p>bar</div><p>extra" queryCommandValue("justifycenter") before assert_equals: Wrong result returned expected "right" but got "false"
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div style=text-align:right><p>[foo]<p>bar</div><p>extra" queryCommandIndeterm("justifycenter") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div style=text-align:right><p>[foo]<p>bar</div><p>extra" queryCommandState("justifycenter") after 
-FAIL [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div style=text-align:right><p>[foo]<p>bar</div><p>extra" queryCommandValue("justifycenter") after assert_equals: Wrong result returned expected "center" but got "true"
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div style=text-align:right><p>[foo]<p>bar</div><p>extra": execCommand("stylewithcss", false, "true") return value 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div style=text-align:right><p>[foo]<p>bar</div><p>extra": execCommand("defaultparagraphseparator", false, "p") return value 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div style=text-align:right><p>[foo]<p>bar</div><p>extra": execCommand("justifycenter", false, "") return value 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div style=text-align:right><p>[foo]<p>bar</div><p>extra" checks for modifications to non-editable content 
-FAIL [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div style=text-align:right><p>[foo]<p>bar</div><p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<div style=\"text-align:right\"><div style=\"text-align:center\"><p>foo</p></div><p>bar</p></div><p>extra</p>" but got "<div style=\"text-align:right\"><p style=\"text-align:center\">foo</p><p>bar</p></div><p>extra</p>"
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div style=text-align:right><p>[foo]<p>bar</div><p>extra" queryCommandIndeterm("stylewithcss") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div style=text-align:right><p>[foo]<p>bar</div><p>extra" queryCommandState("stylewithcss") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div style=text-align:right><p>[foo]<p>bar</div><p>extra" queryCommandValue("stylewithcss") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div style=text-align:right><p>[foo]<p>bar</div><p>extra" queryCommandIndeterm("stylewithcss") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div style=text-align:right><p>[foo]<p>bar</div><p>extra" queryCommandState("stylewithcss") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div style=text-align:right><p>[foo]<p>bar</div><p>extra" queryCommandValue("stylewithcss") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div style=text-align:right><p>[foo]<p>bar</div><p>extra" queryCommandIndeterm("defaultparagraphseparator") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div style=text-align:right><p>[foo]<p>bar</div><p>extra" queryCommandState("defaultparagraphseparator") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div style=text-align:right><p>[foo]<p>bar</div><p>extra" queryCommandValue("defaultparagraphseparator") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div style=text-align:right><p>[foo]<p>bar</div><p>extra" queryCommandIndeterm("defaultparagraphseparator") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div style=text-align:right><p>[foo]<p>bar</div><p>extra" queryCommandState("defaultparagraphseparator") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div style=text-align:right><p>[foo]<p>bar</div><p>extra" queryCommandValue("defaultparagraphseparator") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div style=text-align:right><p>[foo]<p>bar</div><p>extra" queryCommandIndeterm("justifycenter") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div style=text-align:right><p>[foo]<p>bar</div><p>extra" queryCommandState("justifycenter") before 
-FAIL [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div style=text-align:right><p>[foo]<p>bar</div><p>extra" queryCommandValue("justifycenter") before assert_equals: Wrong result returned expected "right" but got "false"
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div style=text-align:right><p>[foo]<p>bar</div><p>extra" queryCommandIndeterm("justifycenter") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div style=text-align:right><p>[foo]<p>bar</div><p>extra" queryCommandState("justifycenter") after 
-FAIL [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div style=text-align:right><p>[foo]<p>bar</div><p>extra" queryCommandValue("justifycenter") after assert_equals: Wrong result returned expected "center" but got "true"
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div style=text-align:right><p>[foo]<p>bar</div><p>extra": execCommand("stylewithcss", false, "false") return value 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div style=text-align:right><p>[foo]<p>bar</div><p>extra": execCommand("defaultparagraphseparator", false, "p") return value 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div style=text-align:right><p>[foo]<p>bar</div><p>extra": execCommand("justifycenter", false, "") return value 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div style=text-align:right><p>[foo]<p>bar</div><p>extra" checks for modifications to non-editable content 
-FAIL [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div style=text-align:right><p>[foo]<p>bar</div><p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<div style=\"text-align:right\"><div style=\"text-align:center\"><p>foo</p></div><p>bar</p></div><p>extra</p>" but got "<div style=\"text-align:right\"><p style=\"text-align:center\">foo</p><p>bar</p></div><p>extra</p>"
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div style=text-align:right><p>[foo]<p>bar</div><p>extra" queryCommandIndeterm("stylewithcss") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div style=text-align:right><p>[foo]<p>bar</div><p>extra" queryCommandState("stylewithcss") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div style=text-align:right><p>[foo]<p>bar</div><p>extra" queryCommandValue("stylewithcss") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div style=text-align:right><p>[foo]<p>bar</div><p>extra" queryCommandIndeterm("stylewithcss") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div style=text-align:right><p>[foo]<p>bar</div><p>extra" queryCommandState("stylewithcss") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div style=text-align:right><p>[foo]<p>bar</div><p>extra" queryCommandValue("stylewithcss") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div style=text-align:right><p>[foo]<p>bar</div><p>extra" queryCommandIndeterm("defaultparagraphseparator") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div style=text-align:right><p>[foo]<p>bar</div><p>extra" queryCommandState("defaultparagraphseparator") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div style=text-align:right><p>[foo]<p>bar</div><p>extra" queryCommandValue("defaultparagraphseparator") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div style=text-align:right><p>[foo]<p>bar</div><p>extra" queryCommandIndeterm("defaultparagraphseparator") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div style=text-align:right><p>[foo]<p>bar</div><p>extra" queryCommandState("defaultparagraphseparator") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div style=text-align:right><p>[foo]<p>bar</div><p>extra" queryCommandValue("defaultparagraphseparator") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div style=text-align:right><p>[foo]<p>bar</div><p>extra" queryCommandIndeterm("justifycenter") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div style=text-align:right><p>[foo]<p>bar</div><p>extra" queryCommandState("justifycenter") before 
-FAIL [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div style=text-align:right><p>[foo]<p>bar</div><p>extra" queryCommandValue("justifycenter") before assert_equals: Wrong result returned expected "right" but got "false"
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div style=text-align:right><p>[foo]<p>bar</div><p>extra" queryCommandIndeterm("justifycenter") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div style=text-align:right><p>[foo]<p>bar</div><p>extra" queryCommandState("justifycenter") after 
-FAIL [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div style=text-align:right><p>[foo]<p>bar</div><p>extra" queryCommandValue("justifycenter") after assert_equals: Wrong result returned expected "center" but got "true"
-PASS [["justifycenter",""]] "<div style=text-align:right><p>[foo<p>bar]</div><p>extra": execCommand("justifycenter", false, "") return value 
-PASS [["justifycenter",""]] "<div style=text-align:right><p>[foo<p>bar]</div><p>extra" checks for modifications to non-editable content 
-FAIL [["justifycenter",""]] "<div style=text-align:right><p>[foo<p>bar]</div><p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<div style=\"text-align:center\"><p>foo</p><p>bar</p></div><p>extra</p>" but got "<div style=\"text-align:right\"><p style=\"text-align:center\">foo</p><p style=\"text-align:center\">bar</p></div><p>extra</p>"
-PASS [["justifycenter",""]] "<div style=text-align:right><p>[foo<p>bar]</div><p>extra" queryCommandIndeterm("justifycenter") before 
-PASS [["justifycenter",""]] "<div style=text-align:right><p>[foo<p>bar]</div><p>extra" queryCommandState("justifycenter") before 
-FAIL [["justifycenter",""]] "<div style=text-align:right><p>[foo<p>bar]</div><p>extra" queryCommandValue("justifycenter") before assert_equals: Wrong result returned expected "right" but got "false"
-PASS [["justifycenter",""]] "<div style=text-align:right><p>[foo<p>bar]</div><p>extra" queryCommandIndeterm("justifycenter") after 
-PASS [["justifycenter",""]] "<div style=text-align:right><p>[foo<p>bar]</div><p>extra" queryCommandState("justifycenter") after 
-FAIL [["justifycenter",""]] "<div style=text-align:right><p>[foo<p>bar]</div><p>extra" queryCommandValue("justifycenter") after assert_equals: Wrong result returned expected "center" but got "true"
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<center>foo</center>[bar]<p>extra": execCommand("stylewithcss", false, "true") return value 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<center>foo</center>[bar]<p>extra": execCommand("defaultparagraphseparator", false, "div") return value 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<center>foo</center>[bar]<p>extra": execCommand("justifycenter", false, "") return value 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<center>foo</center>[bar]<p>extra" checks for modifications to non-editable content 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<center>foo</center>[bar]<p>extra" compare innerHTML 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<center>foo</center>[bar]<p>extra" queryCommandIndeterm("stylewithcss") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<center>foo</center>[bar]<p>extra" queryCommandState("stylewithcss") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<center>foo</center>[bar]<p>extra" queryCommandValue("stylewithcss") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<center>foo</center>[bar]<p>extra" queryCommandIndeterm("stylewithcss") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<center>foo</center>[bar]<p>extra" queryCommandState("stylewithcss") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<center>foo</center>[bar]<p>extra" queryCommandValue("stylewithcss") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<center>foo</center>[bar]<p>extra" queryCommandIndeterm("defaultparagraphseparator") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<center>foo</center>[bar]<p>extra" queryCommandState("defaultparagraphseparator") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<center>foo</center>[bar]<p>extra" queryCommandValue("defaultparagraphseparator") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<center>foo</center>[bar]<p>extra" queryCommandIndeterm("defaultparagraphseparator") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<center>foo</center>[bar]<p>extra" queryCommandState("defaultparagraphseparator") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<center>foo</center>[bar]<p>extra" queryCommandValue("defaultparagraphseparator") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<center>foo</center>[bar]<p>extra" queryCommandIndeterm("justifycenter") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<center>foo</center>[bar]<p>extra" queryCommandState("justifycenter") before 
-FAIL [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<center>foo</center>[bar]<p>extra" queryCommandValue("justifycenter") before assert_equals: Wrong result returned expected "left" but got "false"
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<center>foo</center>[bar]<p>extra" queryCommandIndeterm("justifycenter") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<center>foo</center>[bar]<p>extra" queryCommandState("justifycenter") after 
-FAIL [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<center>foo</center>[bar]<p>extra" queryCommandValue("justifycenter") after assert_equals: Wrong result returned expected "center" but got "true"
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<center>foo</center>[bar]<p>extra": execCommand("stylewithcss", false, "false") return value 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<center>foo</center>[bar]<p>extra": execCommand("defaultparagraphseparator", false, "div") return value 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<center>foo</center>[bar]<p>extra": execCommand("justifycenter", false, "") return value 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<center>foo</center>[bar]<p>extra" checks for modifications to non-editable content 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<center>foo</center>[bar]<p>extra" compare innerHTML 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<center>foo</center>[bar]<p>extra" queryCommandIndeterm("stylewithcss") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<center>foo</center>[bar]<p>extra" queryCommandState("stylewithcss") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<center>foo</center>[bar]<p>extra" queryCommandValue("stylewithcss") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<center>foo</center>[bar]<p>extra" queryCommandIndeterm("stylewithcss") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<center>foo</center>[bar]<p>extra" queryCommandState("stylewithcss") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<center>foo</center>[bar]<p>extra" queryCommandValue("stylewithcss") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<center>foo</center>[bar]<p>extra" queryCommandIndeterm("defaultparagraphseparator") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<center>foo</center>[bar]<p>extra" queryCommandState("defaultparagraphseparator") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<center>foo</center>[bar]<p>extra" queryCommandValue("defaultparagraphseparator") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<center>foo</center>[bar]<p>extra" queryCommandIndeterm("defaultparagraphseparator") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<center>foo</center>[bar]<p>extra" queryCommandState("defaultparagraphseparator") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<center>foo</center>[bar]<p>extra" queryCommandValue("defaultparagraphseparator") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<center>foo</center>[bar]<p>extra" queryCommandIndeterm("justifycenter") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<center>foo</center>[bar]<p>extra" queryCommandState("justifycenter") before 
-FAIL [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<center>foo</center>[bar]<p>extra" queryCommandValue("justifycenter") before assert_equals: Wrong result returned expected "left" but got "false"
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<center>foo</center>[bar]<p>extra" queryCommandIndeterm("justifycenter") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<center>foo</center>[bar]<p>extra" queryCommandState("justifycenter") after 
-FAIL [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<center>foo</center>[bar]<p>extra" queryCommandValue("justifycenter") after assert_equals: Wrong result returned expected "center" but got "true"
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<center>foo</center>[bar]<p>extra": execCommand("stylewithcss", false, "true") return value 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<center>foo</center>[bar]<p>extra": execCommand("defaultparagraphseparator", false, "p") return value 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<center>foo</center>[bar]<p>extra": execCommand("justifycenter", false, "") return value 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<center>foo</center>[bar]<p>extra" checks for modifications to non-editable content 
-FAIL [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<center>foo</center>[bar]<p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<center>foo</center><div style=\"text-align:center\">bar</div><p>extra</p>" but got "<center>foo</center><p style=\"text-align:center\">bar</p><p>extra</p>"
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<center>foo</center>[bar]<p>extra" queryCommandIndeterm("stylewithcss") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<center>foo</center>[bar]<p>extra" queryCommandState("stylewithcss") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<center>foo</center>[bar]<p>extra" queryCommandValue("stylewithcss") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<center>foo</center>[bar]<p>extra" queryCommandIndeterm("stylewithcss") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<center>foo</center>[bar]<p>extra" queryCommandState("stylewithcss") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<center>foo</center>[bar]<p>extra" queryCommandValue("stylewithcss") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<center>foo</center>[bar]<p>extra" queryCommandIndeterm("defaultparagraphseparator") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<center>foo</center>[bar]<p>extra" queryCommandState("defaultparagraphseparator") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<center>foo</center>[bar]<p>extra" queryCommandValue("defaultparagraphseparator") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<center>foo</center>[bar]<p>extra" queryCommandIndeterm("defaultparagraphseparator") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<center>foo</center>[bar]<p>extra" queryCommandState("defaultparagraphseparator") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<center>foo</center>[bar]<p>extra" queryCommandValue("defaultparagraphseparator") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<center>foo</center>[bar]<p>extra" queryCommandIndeterm("justifycenter") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<center>foo</center>[bar]<p>extra" queryCommandState("justifycenter") before 
-FAIL [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<center>foo</center>[bar]<p>extra" queryCommandValue("justifycenter") before assert_equals: Wrong result returned expected "left" but got "false"
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<center>foo</center>[bar]<p>extra" queryCommandIndeterm("justifycenter") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<center>foo</center>[bar]<p>extra" queryCommandState("justifycenter") after 
-FAIL [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<center>foo</center>[bar]<p>extra" queryCommandValue("justifycenter") after assert_equals: Wrong result returned expected "center" but got "true"
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<center>foo</center>[bar]<p>extra": execCommand("stylewithcss", false, "false") return value 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<center>foo</center>[bar]<p>extra": execCommand("defaultparagraphseparator", false, "p") return value 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<center>foo</center>[bar]<p>extra": execCommand("justifycenter", false, "") return value 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<center>foo</center>[bar]<p>extra" checks for modifications to non-editable content 
-FAIL [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<center>foo</center>[bar]<p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<center>foo</center><div style=\"text-align:center\">bar</div><p>extra</p>" but got "<center>foo</center><p style=\"text-align:center\">bar</p><p>extra</p>"
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<center>foo</center>[bar]<p>extra" queryCommandIndeterm("stylewithcss") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<center>foo</center>[bar]<p>extra" queryCommandState("stylewithcss") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<center>foo</center>[bar]<p>extra" queryCommandValue("stylewithcss") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<center>foo</center>[bar]<p>extra" queryCommandIndeterm("stylewithcss") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<center>foo</center>[bar]<p>extra" queryCommandState("stylewithcss") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<center>foo</center>[bar]<p>extra" queryCommandValue("stylewithcss") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<center>foo</center>[bar]<p>extra" queryCommandIndeterm("defaultparagraphseparator") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<center>foo</center>[bar]<p>extra" queryCommandState("defaultparagraphseparator") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<center>foo</center>[bar]<p>extra" queryCommandValue("defaultparagraphseparator") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<center>foo</center>[bar]<p>extra" queryCommandIndeterm("defaultparagraphseparator") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<center>foo</center>[bar]<p>extra" queryCommandState("defaultparagraphseparator") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<center>foo</center>[bar]<p>extra" queryCommandValue("defaultparagraphseparator") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<center>foo</center>[bar]<p>extra" queryCommandIndeterm("justifycenter") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<center>foo</center>[bar]<p>extra" queryCommandState("justifycenter") before 
-FAIL [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<center>foo</center>[bar]<p>extra" queryCommandValue("justifycenter") before assert_equals: Wrong result returned expected "left" but got "false"
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<center>foo</center>[bar]<p>extra" queryCommandIndeterm("justifycenter") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<center>foo</center>[bar]<p>extra" queryCommandState("justifycenter") after 
-FAIL [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<center>foo</center>[bar]<p>extra" queryCommandValue("justifycenter") after assert_equals: Wrong result returned expected "center" but got "true"
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "[foo]<center>bar</center><p>extra": execCommand("stylewithcss", false, "true") return value 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "[foo]<center>bar</center><p>extra": execCommand("defaultparagraphseparator", false, "div") return value 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "[foo]<center>bar</center><p>extra": execCommand("justifycenter", false, "") return value 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "[foo]<center>bar</center><p>extra" checks for modifications to non-editable content 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "[foo]<center>bar</center><p>extra" compare innerHTML 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "[foo]<center>bar</center><p>extra" queryCommandIndeterm("stylewithcss") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "[foo]<center>bar</center><p>extra" queryCommandState("stylewithcss") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "[foo]<center>bar</center><p>extra" queryCommandValue("stylewithcss") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "[foo]<center>bar</center><p>extra" queryCommandIndeterm("stylewithcss") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "[foo]<center>bar</center><p>extra" queryCommandState("stylewithcss") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "[foo]<center>bar</center><p>extra" queryCommandValue("stylewithcss") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "[foo]<center>bar</center><p>extra" queryCommandIndeterm("defaultparagraphseparator") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "[foo]<center>bar</center><p>extra" queryCommandState("defaultparagraphseparator") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "[foo]<center>bar</center><p>extra" queryCommandValue("defaultparagraphseparator") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "[foo]<center>bar</center><p>extra" queryCommandIndeterm("defaultparagraphseparator") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "[foo]<center>bar</center><p>extra" queryCommandState("defaultparagraphseparator") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "[foo]<center>bar</center><p>extra" queryCommandValue("defaultparagraphseparator") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "[foo]<center>bar</center><p>extra" queryCommandIndeterm("justifycenter") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "[foo]<center>bar</center><p>extra" queryCommandState("justifycenter") before 
-FAIL [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "[foo]<center>bar</center><p>extra" queryCommandValue("justifycenter") before assert_equals: Wrong result returned expected "left" but got "false"
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "[foo]<center>bar</center><p>extra" queryCommandIndeterm("justifycenter") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "[foo]<center>bar</center><p>extra" queryCommandState("justifycenter") after 
-FAIL [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "[foo]<center>bar</center><p>extra" queryCommandValue("justifycenter") after assert_equals: Wrong result returned expected "center" but got "true"
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "[foo]<center>bar</center><p>extra": execCommand("stylewithcss", false, "false") return value 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "[foo]<center>bar</center><p>extra": execCommand("defaultparagraphseparator", false, "div") return value 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "[foo]<center>bar</center><p>extra": execCommand("justifycenter", false, "") return value 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "[foo]<center>bar</center><p>extra" checks for modifications to non-editable content 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "[foo]<center>bar</center><p>extra" compare innerHTML 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "[foo]<center>bar</center><p>extra" queryCommandIndeterm("stylewithcss") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "[foo]<center>bar</center><p>extra" queryCommandState("stylewithcss") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "[foo]<center>bar</center><p>extra" queryCommandValue("stylewithcss") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "[foo]<center>bar</center><p>extra" queryCommandIndeterm("stylewithcss") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "[foo]<center>bar</center><p>extra" queryCommandState("stylewithcss") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "[foo]<center>bar</center><p>extra" queryCommandValue("stylewithcss") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "[foo]<center>bar</center><p>extra" queryCommandIndeterm("defaultparagraphseparator") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "[foo]<center>bar</center><p>extra" queryCommandState("defaultparagraphseparator") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "[foo]<center>bar</center><p>extra" queryCommandValue("defaultparagraphseparator") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "[foo]<center>bar</center><p>extra" queryCommandIndeterm("defaultparagraphseparator") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "[foo]<center>bar</center><p>extra" queryCommandState("defaultparagraphseparator") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "[foo]<center>bar</center><p>extra" queryCommandValue("defaultparagraphseparator") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "[foo]<center>bar</center><p>extra" queryCommandIndeterm("justifycenter") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "[foo]<center>bar</center><p>extra" queryCommandState("justifycenter") before 
-FAIL [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "[foo]<center>bar</center><p>extra" queryCommandValue("justifycenter") before assert_equals: Wrong result returned expected "left" but got "false"
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "[foo]<center>bar</center><p>extra" queryCommandIndeterm("justifycenter") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "[foo]<center>bar</center><p>extra" queryCommandState("justifycenter") after 
-FAIL [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "[foo]<center>bar</center><p>extra" queryCommandValue("justifycenter") after assert_equals: Wrong result returned expected "center" but got "true"
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "[foo]<center>bar</center><p>extra": execCommand("stylewithcss", false, "true") return value 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "[foo]<center>bar</center><p>extra": execCommand("defaultparagraphseparator", false, "p") return value 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "[foo]<center>bar</center><p>extra": execCommand("justifycenter", false, "") return value 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "[foo]<center>bar</center><p>extra" checks for modifications to non-editable content 
-FAIL [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "[foo]<center>bar</center><p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<div style=\"text-align:center\">foo</div><center>bar</center><p>extra</p>" but got "<p style=\"text-align:center\">foo</p><center>bar</center><p>extra</p>"
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "[foo]<center>bar</center><p>extra" queryCommandIndeterm("stylewithcss") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "[foo]<center>bar</center><p>extra" queryCommandState("stylewithcss") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "[foo]<center>bar</center><p>extra" queryCommandValue("stylewithcss") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "[foo]<center>bar</center><p>extra" queryCommandIndeterm("stylewithcss") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "[foo]<center>bar</center><p>extra" queryCommandState("stylewithcss") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "[foo]<center>bar</center><p>extra" queryCommandValue("stylewithcss") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "[foo]<center>bar</center><p>extra" queryCommandIndeterm("defaultparagraphseparator") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "[foo]<center>bar</center><p>extra" queryCommandState("defaultparagraphseparator") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "[foo]<center>bar</center><p>extra" queryCommandValue("defaultparagraphseparator") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "[foo]<center>bar</center><p>extra" queryCommandIndeterm("defaultparagraphseparator") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "[foo]<center>bar</center><p>extra" queryCommandState("defaultparagraphseparator") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "[foo]<center>bar</center><p>extra" queryCommandValue("defaultparagraphseparator") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "[foo]<center>bar</center><p>extra" queryCommandIndeterm("justifycenter") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "[foo]<center>bar</center><p>extra" queryCommandState("justifycenter") before 
-FAIL [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "[foo]<center>bar</center><p>extra" queryCommandValue("justifycenter") before assert_equals: Wrong result returned expected "left" but got "false"
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "[foo]<center>bar</center><p>extra" queryCommandIndeterm("justifycenter") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "[foo]<center>bar</center><p>extra" queryCommandState("justifycenter") after 
-FAIL [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "[foo]<center>bar</center><p>extra" queryCommandValue("justifycenter") after assert_equals: Wrong result returned expected "center" but got "true"
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "[foo]<center>bar</center><p>extra": execCommand("stylewithcss", false, "false") return value 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "[foo]<center>bar</center><p>extra": execCommand("defaultparagraphseparator", false, "p") return value 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "[foo]<center>bar</center><p>extra": execCommand("justifycenter", false, "") return value 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "[foo]<center>bar</center><p>extra" checks for modifications to non-editable content 
-FAIL [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "[foo]<center>bar</center><p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<div style=\"text-align:center\">foo</div><center>bar</center><p>extra</p>" but got "<p style=\"text-align:center\">foo</p><center>bar</center><p>extra</p>"
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "[foo]<center>bar</center><p>extra" queryCommandIndeterm("stylewithcss") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "[foo]<center>bar</center><p>extra" queryCommandState("stylewithcss") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "[foo]<center>bar</center><p>extra" queryCommandValue("stylewithcss") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "[foo]<center>bar</center><p>extra" queryCommandIndeterm("stylewithcss") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "[foo]<center>bar</center><p>extra" queryCommandState("stylewithcss") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "[foo]<center>bar</center><p>extra" queryCommandValue("stylewithcss") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "[foo]<center>bar</center><p>extra" queryCommandIndeterm("defaultparagraphseparator") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "[foo]<center>bar</center><p>extra" queryCommandState("defaultparagraphseparator") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "[foo]<center>bar</center><p>extra" queryCommandValue("defaultparagraphseparator") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "[foo]<center>bar</center><p>extra" queryCommandIndeterm("defaultparagraphseparator") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "[foo]<center>bar</center><p>extra" queryCommandState("defaultparagraphseparator") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "[foo]<center>bar</center><p>extra" queryCommandValue("defaultparagraphseparator") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "[foo]<center>bar</center><p>extra" queryCommandIndeterm("justifycenter") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "[foo]<center>bar</center><p>extra" queryCommandState("justifycenter") before 
-FAIL [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "[foo]<center>bar</center><p>extra" queryCommandValue("justifycenter") before assert_equals: Wrong result returned expected "left" but got "false"
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "[foo]<center>bar</center><p>extra" queryCommandIndeterm("justifycenter") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "[foo]<center>bar</center><p>extra" queryCommandState("justifycenter") after 
-FAIL [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "[foo]<center>bar</center><p>extra" queryCommandValue("justifycenter") after assert_equals: Wrong result returned expected "center" but got "true"
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<center>foo</center>[bar]<center>baz</center><p>extra": execCommand("stylewithcss", false, "true") return value 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<center>foo</center>[bar]<center>baz</center><p>extra": execCommand("defaultparagraphseparator", false, "div") return value 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<center>foo</center>[bar]<center>baz</center><p>extra": execCommand("justifycenter", false, "") return value 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<center>foo</center>[bar]<center>baz</center><p>extra" checks for modifications to non-editable content 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<center>foo</center>[bar]<center>baz</center><p>extra" compare innerHTML 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<center>foo</center>[bar]<center>baz</center><p>extra" queryCommandIndeterm("stylewithcss") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<center>foo</center>[bar]<center>baz</center><p>extra" queryCommandState("stylewithcss") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<center>foo</center>[bar]<center>baz</center><p>extra" queryCommandValue("stylewithcss") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<center>foo</center>[bar]<center>baz</center><p>extra" queryCommandIndeterm("stylewithcss") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<center>foo</center>[bar]<center>baz</center><p>extra" queryCommandState("stylewithcss") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<center>foo</center>[bar]<center>baz</center><p>extra" queryCommandValue("stylewithcss") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<center>foo</center>[bar]<center>baz</center><p>extra" queryCommandIndeterm("defaultparagraphseparator") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<center>foo</center>[bar]<center>baz</center><p>extra" queryCommandState("defaultparagraphseparator") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<center>foo</center>[bar]<center>baz</center><p>extra" queryCommandValue("defaultparagraphseparator") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<center>foo</center>[bar]<center>baz</center><p>extra" queryCommandIndeterm("defaultparagraphseparator") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<center>foo</center>[bar]<center>baz</center><p>extra" queryCommandState("defaultparagraphseparator") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<center>foo</center>[bar]<center>baz</center><p>extra" queryCommandValue("defaultparagraphseparator") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<center>foo</center>[bar]<center>baz</center><p>extra" queryCommandIndeterm("justifycenter") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<center>foo</center>[bar]<center>baz</center><p>extra" queryCommandState("justifycenter") before 
-FAIL [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<center>foo</center>[bar]<center>baz</center><p>extra" queryCommandValue("justifycenter") before assert_equals: Wrong result returned expected "left" but got "false"
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<center>foo</center>[bar]<center>baz</center><p>extra" queryCommandIndeterm("justifycenter") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<center>foo</center>[bar]<center>baz</center><p>extra" queryCommandState("justifycenter") after 
-FAIL [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<center>foo</center>[bar]<center>baz</center><p>extra" queryCommandValue("justifycenter") after assert_equals: Wrong result returned expected "center" but got "true"
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<center>foo</center>[bar]<center>baz</center><p>extra": execCommand("stylewithcss", false, "false") return value 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<center>foo</center>[bar]<center>baz</center><p>extra": execCommand("defaultparagraphseparator", false, "div") return value 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<center>foo</center>[bar]<center>baz</center><p>extra": execCommand("justifycenter", false, "") return value 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<center>foo</center>[bar]<center>baz</center><p>extra" checks for modifications to non-editable content 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<center>foo</center>[bar]<center>baz</center><p>extra" compare innerHTML 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<center>foo</center>[bar]<center>baz</center><p>extra" queryCommandIndeterm("stylewithcss") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<center>foo</center>[bar]<center>baz</center><p>extra" queryCommandState("stylewithcss") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<center>foo</center>[bar]<center>baz</center><p>extra" queryCommandValue("stylewithcss") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<center>foo</center>[bar]<center>baz</center><p>extra" queryCommandIndeterm("stylewithcss") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<center>foo</center>[bar]<center>baz</center><p>extra" queryCommandState("stylewithcss") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<center>foo</center>[bar]<center>baz</center><p>extra" queryCommandValue("stylewithcss") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<center>foo</center>[bar]<center>baz</center><p>extra" queryCommandIndeterm("defaultparagraphseparator") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<center>foo</center>[bar]<center>baz</center><p>extra" queryCommandState("defaultparagraphseparator") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<center>foo</center>[bar]<center>baz</center><p>extra" queryCommandValue("defaultparagraphseparator") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<center>foo</center>[bar]<center>baz</center><p>extra" queryCommandIndeterm("defaultparagraphseparator") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<center>foo</center>[bar]<center>baz</center><p>extra" queryCommandState("defaultparagraphseparator") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<center>foo</center>[bar]<center>baz</center><p>extra" queryCommandValue("defaultparagraphseparator") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<center>foo</center>[bar]<center>baz</center><p>extra" queryCommandIndeterm("justifycenter") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<center>foo</center>[bar]<center>baz</center><p>extra" queryCommandState("justifycenter") before 
-FAIL [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<center>foo</center>[bar]<center>baz</center><p>extra" queryCommandValue("justifycenter") before assert_equals: Wrong result returned expected "left" but got "false"
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<center>foo</center>[bar]<center>baz</center><p>extra" queryCommandIndeterm("justifycenter") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<center>foo</center>[bar]<center>baz</center><p>extra" queryCommandState("justifycenter") after 
-FAIL [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<center>foo</center>[bar]<center>baz</center><p>extra" queryCommandValue("justifycenter") after assert_equals: Wrong result returned expected "center" but got "true"
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<center>foo</center>[bar]<center>baz</center><p>extra": execCommand("stylewithcss", false, "true") return value 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<center>foo</center>[bar]<center>baz</center><p>extra": execCommand("defaultparagraphseparator", false, "p") return value 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<center>foo</center>[bar]<center>baz</center><p>extra": execCommand("justifycenter", false, "") return value 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<center>foo</center>[bar]<center>baz</center><p>extra" checks for modifications to non-editable content 
-FAIL [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<center>foo</center>[bar]<center>baz</center><p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<center>foo</center><div style=\"text-align:center\">bar</div><center>baz</center><p>extra</p>" but got "<center>foo</center><p style=\"text-align:center\">bar</p><center>baz</center><p>extra</p>"
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<center>foo</center>[bar]<center>baz</center><p>extra" queryCommandIndeterm("stylewithcss") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<center>foo</center>[bar]<center>baz</center><p>extra" queryCommandState("stylewithcss") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<center>foo</center>[bar]<center>baz</center><p>extra" queryCommandValue("stylewithcss") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<center>foo</center>[bar]<center>baz</center><p>extra" queryCommandIndeterm("stylewithcss") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<center>foo</center>[bar]<center>baz</center><p>extra" queryCommandState("stylewithcss") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<center>foo</center>[bar]<center>baz</center><p>extra" queryCommandValue("stylewithcss") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<center>foo</center>[bar]<center>baz</center><p>extra" queryCommandIndeterm("defaultparagraphseparator") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<center>foo</center>[bar]<center>baz</center><p>extra" queryCommandState("defaultparagraphseparator") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<center>foo</center>[bar]<center>baz</center><p>extra" queryCommandValue("defaultparagraphseparator") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<center>foo</center>[bar]<center>baz</center><p>extra" queryCommandIndeterm("defaultparagraphseparator") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<center>foo</center>[bar]<center>baz</center><p>extra" queryCommandState("defaultparagraphseparator") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<center>foo</center>[bar]<center>baz</center><p>extra" queryCommandValue("defaultparagraphseparator") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<center>foo</center>[bar]<center>baz</center><p>extra" queryCommandIndeterm("justifycenter") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<center>foo</center>[bar]<center>baz</center><p>extra" queryCommandState("justifycenter") before 
-FAIL [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<center>foo</center>[bar]<center>baz</center><p>extra" queryCommandValue("justifycenter") before assert_equals: Wrong result returned expected "left" but got "false"
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<center>foo</center>[bar]<center>baz</center><p>extra" queryCommandIndeterm("justifycenter") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<center>foo</center>[bar]<center>baz</center><p>extra" queryCommandState("justifycenter") after 
-FAIL [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<center>foo</center>[bar]<center>baz</center><p>extra" queryCommandValue("justifycenter") after assert_equals: Wrong result returned expected "center" but got "true"
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<center>foo</center>[bar]<center>baz</center><p>extra": execCommand("stylewithcss", false, "false") return value 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<center>foo</center>[bar]<center>baz</center><p>extra": execCommand("defaultparagraphseparator", false, "p") return value 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<center>foo</center>[bar]<center>baz</center><p>extra": execCommand("justifycenter", false, "") return value 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<center>foo</center>[bar]<center>baz</center><p>extra" checks for modifications to non-editable content 
-FAIL [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<center>foo</center>[bar]<center>baz</center><p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<center>foo</center><div style=\"text-align:center\">bar</div><center>baz</center><p>extra</p>" but got "<center>foo</center><p style=\"text-align:center\">bar</p><center>baz</center><p>extra</p>"
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<center>foo</center>[bar]<center>baz</center><p>extra" queryCommandIndeterm("stylewithcss") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<center>foo</center>[bar]<center>baz</center><p>extra" queryCommandState("stylewithcss") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<center>foo</center>[bar]<center>baz</center><p>extra" queryCommandValue("stylewithcss") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<center>foo</center>[bar]<center>baz</center><p>extra" queryCommandIndeterm("stylewithcss") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<center>foo</center>[bar]<center>baz</center><p>extra" queryCommandState("stylewithcss") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<center>foo</center>[bar]<center>baz</center><p>extra" queryCommandValue("stylewithcss") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<center>foo</center>[bar]<center>baz</center><p>extra" queryCommandIndeterm("defaultparagraphseparator") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<center>foo</center>[bar]<center>baz</center><p>extra" queryCommandState("defaultparagraphseparator") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<center>foo</center>[bar]<center>baz</center><p>extra" queryCommandValue("defaultparagraphseparator") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<center>foo</center>[bar]<center>baz</center><p>extra" queryCommandIndeterm("defaultparagraphseparator") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<center>foo</center>[bar]<center>baz</center><p>extra" queryCommandState("defaultparagraphseparator") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<center>foo</center>[bar]<center>baz</center><p>extra" queryCommandValue("defaultparagraphseparator") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<center>foo</center>[bar]<center>baz</center><p>extra" queryCommandIndeterm("justifycenter") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<center>foo</center>[bar]<center>baz</center><p>extra" queryCommandState("justifycenter") before 
-FAIL [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<center>foo</center>[bar]<center>baz</center><p>extra" queryCommandValue("justifycenter") before assert_equals: Wrong result returned expected "left" but got "false"
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<center>foo</center>[bar]<center>baz</center><p>extra" queryCommandIndeterm("justifycenter") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<center>foo</center>[bar]<center>baz</center><p>extra" queryCommandState("justifycenter") after 
-FAIL [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<center>foo</center>[bar]<center>baz</center><p>extra" queryCommandValue("justifycenter") after assert_equals: Wrong result returned expected "center" but got "true"
-PASS [["justifycenter",""]] "<div align=center>foo</div>[bar]<p>extra": execCommand("justifycenter", false, "") return value 
-PASS [["justifycenter",""]] "<div align=center>foo</div>[bar]<p>extra" checks for modifications to non-editable content 
-FAIL [["justifycenter",""]] "<div align=center>foo</div>[bar]<p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<div align=\"center\">foo<br>bar</div><p>extra</p>" but got "<div align=\"center\">foo</div><p style=\"text-align:center\">bar</p><p>extra</p>"
-PASS [["justifycenter",""]] "<div align=center>foo</div>[bar]<p>extra" queryCommandIndeterm("justifycenter") before 
-PASS [["justifycenter",""]] "<div align=center>foo</div>[bar]<p>extra" queryCommandState("justifycenter") before 
-FAIL [["justifycenter",""]] "<div align=center>foo</div>[bar]<p>extra" queryCommandValue("justifycenter") before assert_equals: Wrong result returned expected "left" but got "false"
-PASS [["justifycenter",""]] "<div align=center>foo</div>[bar]<p>extra" queryCommandIndeterm("justifycenter") after 
-PASS [["justifycenter",""]] "<div align=center>foo</div>[bar]<p>extra" queryCommandState("justifycenter") after 
-FAIL [["justifycenter",""]] "<div align=center>foo</div>[bar]<p>extra" queryCommandValue("justifycenter") after assert_equals: Wrong result returned expected "center" but got "true"
-PASS [["justifycenter",""]] "[foo]<div align=center>bar</div><p>extra": execCommand("justifycenter", false, "") return value 
-PASS [["justifycenter",""]] "[foo]<div align=center>bar</div><p>extra" checks for modifications to non-editable content 
-FAIL [["justifycenter",""]] "[foo]<div align=center>bar</div><p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<div align=\"center\">foo<br>bar</div><p>extra</p>" but got "<p style=\"text-align:center\">foo</p><div align=\"center\">bar</div><p>extra</p>"
-PASS [["justifycenter",""]] "[foo]<div align=center>bar</div><p>extra" queryCommandIndeterm("justifycenter") before 
-PASS [["justifycenter",""]] "[foo]<div align=center>bar</div><p>extra" queryCommandState("justifycenter") before 
-FAIL [["justifycenter",""]] "[foo]<div align=center>bar</div><p>extra" queryCommandValue("justifycenter") before assert_equals: Wrong result returned expected "left" but got "false"
-PASS [["justifycenter",""]] "[foo]<div align=center>bar</div><p>extra" queryCommandIndeterm("justifycenter") after 
-PASS [["justifycenter",""]] "[foo]<div align=center>bar</div><p>extra" queryCommandState("justifycenter") after 
-FAIL [["justifycenter",""]] "[foo]<div align=center>bar</div><p>extra" queryCommandValue("justifycenter") after assert_equals: Wrong result returned expected "center" but got "true"
-PASS [["defaultparagraphseparator","div"],["justifycenter",""]] "<div align=center>foo</div>[bar]<div align=center>baz</div><p>extra": execCommand("defaultparagraphseparator", false, "div") return value 
-PASS [["defaultparagraphseparator","div"],["justifycenter",""]] "<div align=center>foo</div>[bar]<div align=center>baz</div><p>extra": execCommand("justifycenter", false, "") return value 
-PASS [["defaultparagraphseparator","div"],["justifycenter",""]] "<div align=center>foo</div>[bar]<div align=center>baz</div><p>extra" checks for modifications to non-editable content 
-FAIL [["defaultparagraphseparator","div"],["justifycenter",""]] "<div align=center>foo</div>[bar]<div align=center>baz</div><p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<div align=\"center\">foo<br>bar<br>baz</div><p>extra</p>" but got "<div align=\"center\">foo</div><div style=\"text-align:center\">bar</div><div align=\"center\">baz</div><p>extra</p>"
-PASS [["defaultparagraphseparator","div"],["justifycenter",""]] "<div align=center>foo</div>[bar]<div align=center>baz</div><p>extra" queryCommandIndeterm("defaultparagraphseparator") before 
-PASS [["defaultparagraphseparator","div"],["justifycenter",""]] "<div align=center>foo</div>[bar]<div align=center>baz</div><p>extra" queryCommandState("defaultparagraphseparator") before 
-PASS [["defaultparagraphseparator","div"],["justifycenter",""]] "<div align=center>foo</div>[bar]<div align=center>baz</div><p>extra" queryCommandValue("defaultparagraphseparator") before 
-PASS [["defaultparagraphseparator","div"],["justifycenter",""]] "<div align=center>foo</div>[bar]<div align=center>baz</div><p>extra" queryCommandIndeterm("defaultparagraphseparator") after 
-PASS [["defaultparagraphseparator","div"],["justifycenter",""]] "<div align=center>foo</div>[bar]<div align=center>baz</div><p>extra" queryCommandState("defaultparagraphseparator") after 
-PASS [["defaultparagraphseparator","div"],["justifycenter",""]] "<div align=center>foo</div>[bar]<div align=center>baz</div><p>extra" queryCommandValue("defaultparagraphseparator") after 
-PASS [["defaultparagraphseparator","div"],["justifycenter",""]] "<div align=center>foo</div>[bar]<div align=center>baz</div><p>extra" queryCommandIndeterm("justifycenter") before 
-PASS [["defaultparagraphseparator","div"],["justifycenter",""]] "<div align=center>foo</div>[bar]<div align=center>baz</div><p>extra" queryCommandState("justifycenter") before 
-FAIL [["defaultparagraphseparator","div"],["justifycenter",""]] "<div align=center>foo</div>[bar]<div align=center>baz</div><p>extra" queryCommandValue("justifycenter") before assert_equals: Wrong result returned expected "left" but got "false"
-PASS [["defaultparagraphseparator","div"],["justifycenter",""]] "<div align=center>foo</div>[bar]<div align=center>baz</div><p>extra" queryCommandIndeterm("justifycenter") after 
-PASS [["defaultparagraphseparator","div"],["justifycenter",""]] "<div align=center>foo</div>[bar]<div align=center>baz</div><p>extra" queryCommandState("justifycenter") after 
-FAIL [["defaultparagraphseparator","div"],["justifycenter",""]] "<div align=center>foo</div>[bar]<div align=center>baz</div><p>extra" queryCommandValue("justifycenter") after assert_equals: Wrong result returned expected "center" but got "true"
-PASS [["defaultparagraphseparator","p"],["justifycenter",""]] "<div align=center>foo</div>[bar]<div align=center>baz</div><p>extra": execCommand("defaultparagraphseparator", false, "p") return value 
-PASS [["defaultparagraphseparator","p"],["justifycenter",""]] "<div align=center>foo</div>[bar]<div align=center>baz</div><p>extra": execCommand("justifycenter", false, "") return value 
-PASS [["defaultparagraphseparator","p"],["justifycenter",""]] "<div align=center>foo</div>[bar]<div align=center>baz</div><p>extra" checks for modifications to non-editable content 
-FAIL [["defaultparagraphseparator","p"],["justifycenter",""]] "<div align=center>foo</div>[bar]<div align=center>baz</div><p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<div align=\"center\">foo<br>bar<br>baz</div><p>extra</p>" but got "<div align=\"center\">foo</div><p style=\"text-align:center\">bar</p><div align=\"center\">baz</div><p>extra</p>"
-PASS [["defaultparagraphseparator","p"],["justifycenter",""]] "<div align=center>foo</div>[bar]<div align=center>baz</div><p>extra" queryCommandIndeterm("defaultparagraphseparator") before 
-PASS [["defaultparagraphseparator","p"],["justifycenter",""]] "<div align=center>foo</div>[bar]<div align=center>baz</div><p>extra" queryCommandState("defaultparagraphseparator") before 
-PASS [["defaultparagraphseparator","p"],["justifycenter",""]] "<div align=center>foo</div>[bar]<div align=center>baz</div><p>extra" queryCommandValue("defaultparagraphseparator") before 
-PASS [["defaultparagraphseparator","p"],["justifycenter",""]] "<div align=center>foo</div>[bar]<div align=center>baz</div><p>extra" queryCommandIndeterm("defaultparagraphseparator") after 
-PASS [["defaultparagraphseparator","p"],["justifycenter",""]] "<div align=center>foo</div>[bar]<div align=center>baz</div><p>extra" queryCommandState("defaultparagraphseparator") after 
-PASS [["defaultparagraphseparator","p"],["justifycenter",""]] "<div align=center>foo</div>[bar]<div align=center>baz</div><p>extra" queryCommandValue("defaultparagraphseparator") after 
-PASS [["defaultparagraphseparator","p"],["justifycenter",""]] "<div align=center>foo</div>[bar]<div align=center>baz</div><p>extra" queryCommandIndeterm("justifycenter") before 
-PASS [["defaultparagraphseparator","p"],["justifycenter",""]] "<div align=center>foo</div>[bar]<div align=center>baz</div><p>extra" queryCommandState("justifycenter") before 
-FAIL [["defaultparagraphseparator","p"],["justifycenter",""]] "<div align=center>foo</div>[bar]<div align=center>baz</div><p>extra" queryCommandValue("justifycenter") before assert_equals: Wrong result returned expected "left" but got "false"
-PASS [["defaultparagraphseparator","p"],["justifycenter",""]] "<div align=center>foo</div>[bar]<div align=center>baz</div><p>extra" queryCommandIndeterm("justifycenter") after 
-PASS [["defaultparagraphseparator","p"],["justifycenter",""]] "<div align=center>foo</div>[bar]<div align=center>baz</div><p>extra" queryCommandState("justifycenter") after 
-FAIL [["defaultparagraphseparator","p"],["justifycenter",""]] "<div align=center>foo</div>[bar]<div align=center>baz</div><p>extra" queryCommandValue("justifycenter") after assert_equals: Wrong result returned expected "center" but got "true"
-PASS [["justifycenter",""]] "<div align=center><p>foo</div><p>[bar]<p>extra": execCommand("justifycenter", false, "") return value 
-PASS [["justifycenter",""]] "<div align=center><p>foo</div><p>[bar]<p>extra" checks for modifications to non-editable content 
-FAIL [["justifycenter",""]] "<div align=center><p>foo</div><p>[bar]<p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<div align=\"center\"><p>foo</p><p>bar</p></div><p>extra</p>" but got "<div align=\"center\"><p>foo</p></div><p style=\"text-align:center\">bar</p><p>extra</p>"
-PASS [["justifycenter",""]] "<div align=center><p>foo</div><p>[bar]<p>extra" queryCommandIndeterm("justifycenter") before 
-PASS [["justifycenter",""]] "<div align=center><p>foo</div><p>[bar]<p>extra" queryCommandState("justifycenter") before 
-FAIL [["justifycenter",""]] "<div align=center><p>foo</div><p>[bar]<p>extra" queryCommandValue("justifycenter") before assert_equals: Wrong result returned expected "left" but got "false"
-PASS [["justifycenter",""]] "<div align=center><p>foo</div><p>[bar]<p>extra" queryCommandIndeterm("justifycenter") after 
-PASS [["justifycenter",""]] "<div align=center><p>foo</div><p>[bar]<p>extra" queryCommandState("justifycenter") after 
-FAIL [["justifycenter",""]] "<div align=center><p>foo</div><p>[bar]<p>extra" queryCommandValue("justifycenter") after assert_equals: Wrong result returned expected "center" but got "true"
-PASS [["justifycenter",""]] "<p>[foo]<div align=center><p>bar</div><p>extra": execCommand("justifycenter", false, "") return value 
-PASS [["justifycenter",""]] "<p>[foo]<div align=center><p>bar</div><p>extra" checks for modifications to non-editable content 
-FAIL [["justifycenter",""]] "<p>[foo]<div align=center><p>bar</div><p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<div align=\"center\"><p>foo</p><p>bar</p></div><p>extra</p>" but got "<p style=\"text-align:center\">foo</p><div align=\"center\"><p>bar</p></div><p>extra</p>"
-PASS [["justifycenter",""]] "<p>[foo]<div align=center><p>bar</div><p>extra" queryCommandIndeterm("justifycenter") before 
-PASS [["justifycenter",""]] "<p>[foo]<div align=center><p>bar</div><p>extra" queryCommandState("justifycenter") before 
-FAIL [["justifycenter",""]] "<p>[foo]<div align=center><p>bar</div><p>extra" queryCommandValue("justifycenter") before assert_equals: Wrong result returned expected "left" but got "false"
-PASS [["justifycenter",""]] "<p>[foo]<div align=center><p>bar</div><p>extra" queryCommandIndeterm("justifycenter") after 
-PASS [["justifycenter",""]] "<p>[foo]<div align=center><p>bar</div><p>extra" queryCommandState("justifycenter") after 
-FAIL [["justifycenter",""]] "<p>[foo]<div align=center><p>bar</div><p>extra" queryCommandValue("justifycenter") after assert_equals: Wrong result returned expected "center" but got "true"
-PASS [["defaultparagraphseparator","div"],["justifycenter",""]] "<div align=center><p>foo</div><p>[bar]<div align=center><p>baz</div><p>extra": execCommand("defaultparagraphseparator", false, "div") return value 
-PASS [["defaultparagraphseparator","div"],["justifycenter",""]] "<div align=center><p>foo</div><p>[bar]<div align=center><p>baz</div><p>extra": execCommand("justifycenter", false, "") return value 
-PASS [["defaultparagraphseparator","div"],["justifycenter",""]] "<div align=center><p>foo</div><p>[bar]<div align=center><p>baz</div><p>extra" checks for modifications to non-editable content 
-FAIL [["defaultparagraphseparator","div"],["justifycenter",""]] "<div align=center><p>foo</div><p>[bar]<div align=center><p>baz</div><p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<div align=\"center\"><p>foo</p><p>bar</p><p>baz</p></div><p>extra</p>" but got "<div align=\"center\"><p>foo</p></div><p style=\"text-align:center\">bar</p><div align=\"center\"><p>baz</p></div><p>extra</p>"
-PASS [["defaultparagraphseparator","div"],["justifycenter",""]] "<div align=center><p>foo</div><p>[bar]<div align=center><p>baz</div><p>extra" queryCommandIndeterm("defaultparagraphseparator") before 
-PASS [["defaultparagraphseparator","div"],["justifycenter",""]] "<div align=center><p>foo</div><p>[bar]<div align=center><p>baz</div><p>extra" queryCommandState("defaultparagraphseparator") before 
-PASS [["defaultparagraphseparator","div"],["justifycenter",""]] "<div align=center><p>foo</div><p>[bar]<div align=center><p>baz</div><p>extra" queryCommandValue("defaultparagraphseparator") before 
-PASS [["defaultparagraphseparator","div"],["justifycenter",""]] "<div align=center><p>foo</div><p>[bar]<div align=center><p>baz</div><p>extra" queryCommandIndeterm("defaultparagraphseparator") after 
-PASS [["defaultparagraphseparator","div"],["justifycenter",""]] "<div align=center><p>foo</div><p>[bar]<div align=center><p>baz</div><p>extra" queryCommandState("defaultparagraphseparator") after 
-PASS [["defaultparagraphseparator","div"],["justifycenter",""]] "<div align=center><p>foo</div><p>[bar]<div align=center><p>baz</div><p>extra" queryCommandValue("defaultparagraphseparator") after 
-PASS [["defaultparagraphseparator","div"],["justifycenter",""]] "<div align=center><p>foo</div><p>[bar]<div align=center><p>baz</div><p>extra" queryCommandIndeterm("justifycenter") before 
-PASS [["defaultparagraphseparator","div"],["justifycenter",""]] "<div align=center><p>foo</div><p>[bar]<div align=center><p>baz</div><p>extra" queryCommandState("justifycenter") before 
-FAIL [["defaultparagraphseparator","div"],["justifycenter",""]] "<div align=center><p>foo</div><p>[bar]<div align=center><p>baz</div><p>extra" queryCommandValue("justifycenter") before assert_equals: Wrong result returned expected "left" but got "false"
-PASS [["defaultparagraphseparator","div"],["justifycenter",""]] "<div align=center><p>foo</div><p>[bar]<div align=center><p>baz</div><p>extra" queryCommandIndeterm("justifycenter") after 
-PASS [["defaultparagraphseparator","div"],["justifycenter",""]] "<div align=center><p>foo</div><p>[bar]<div align=center><p>baz</div><p>extra" queryCommandState("justifycenter") after 
-FAIL [["defaultparagraphseparator","div"],["justifycenter",""]] "<div align=center><p>foo</div><p>[bar]<div align=center><p>baz</div><p>extra" queryCommandValue("justifycenter") after assert_equals: Wrong result returned expected "center" but got "true"
-PASS [["defaultparagraphseparator","p"],["justifycenter",""]] "<div align=center><p>foo</div><p>[bar]<div align=center><p>baz</div><p>extra": execCommand("defaultparagraphseparator", false, "p") return value 
-PASS [["defaultparagraphseparator","p"],["justifycenter",""]] "<div align=center><p>foo</div><p>[bar]<div align=center><p>baz</div><p>extra": execCommand("justifycenter", false, "") return value 
-PASS [["defaultparagraphseparator","p"],["justifycenter",""]] "<div align=center><p>foo</div><p>[bar]<div align=center><p>baz</div><p>extra" checks for modifications to non-editable content 
-FAIL [["defaultparagraphseparator","p"],["justifycenter",""]] "<div align=center><p>foo</div><p>[bar]<div align=center><p>baz</div><p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<div align=\"center\"><p>foo</p><p>bar</p><p>baz</p></div><p>extra</p>" but got "<div align=\"center\"><p>foo</p></div><p style=\"text-align:center\">bar</p><div align=\"center\"><p>baz</p></div><p>extra</p>"
-PASS [["defaultparagraphseparator","p"],["justifycenter",""]] "<div align=center><p>foo</div><p>[bar]<div align=center><p>baz</div><p>extra" queryCommandIndeterm("defaultparagraphseparator") before 
-PASS [["defaultparagraphseparator","p"],["justifycenter",""]] "<div align=center><p>foo</div><p>[bar]<div align=center><p>baz</div><p>extra" queryCommandState("defaultparagraphseparator") before 
-PASS [["defaultparagraphseparator","p"],["justifycenter",""]] "<div align=center><p>foo</div><p>[bar]<div align=center><p>baz</div><p>extra" queryCommandValue("defaultparagraphseparator") before 
-PASS [["defaultparagraphseparator","p"],["justifycenter",""]] "<div align=center><p>foo</div><p>[bar]<div align=center><p>baz</div><p>extra" queryCommandIndeterm("defaultparagraphseparator") after 
-PASS [["defaultparagraphseparator","p"],["justifycenter",""]] "<div align=center><p>foo</div><p>[bar]<div align=center><p>baz</div><p>extra" queryCommandState("defaultparagraphseparator") after 
-PASS [["defaultparagraphseparator","p"],["justifycenter",""]] "<div align=center><p>foo</div><p>[bar]<div align=center><p>baz</div><p>extra" queryCommandValue("defaultparagraphseparator") after 
-PASS [["defaultparagraphseparator","p"],["justifycenter",""]] "<div align=center><p>foo</div><p>[bar]<div align=center><p>baz</div><p>extra" queryCommandIndeterm("justifycenter") before 
-PASS [["defaultparagraphseparator","p"],["justifycenter",""]] "<div align=center><p>foo</div><p>[bar]<div align=center><p>baz</div><p>extra" queryCommandState("justifycenter") before 
-FAIL [["defaultparagraphseparator","p"],["justifycenter",""]] "<div align=center><p>foo</div><p>[bar]<div align=center><p>baz</div><p>extra" queryCommandValue("justifycenter") before assert_equals: Wrong result returned expected "left" but got "false"
-PASS [["defaultparagraphseparator","p"],["justifycenter",""]] "<div align=center><p>foo</div><p>[bar]<div align=center><p>baz</div><p>extra" queryCommandIndeterm("justifycenter") after 
-PASS [["defaultparagraphseparator","p"],["justifycenter",""]] "<div align=center><p>foo</div><p>[bar]<div align=center><p>baz</div><p>extra" queryCommandState("justifycenter") after 
-FAIL [["defaultparagraphseparator","p"],["justifycenter",""]] "<div align=center><p>foo</div><p>[bar]<div align=center><p>baz</div><p>extra" queryCommandValue("justifycenter") after assert_equals: Wrong result returned expected "center" but got "true"
-PASS [["justifycenter",""]] "<div style=text-align:center>foo</div>[bar]<p>extra": execCommand("justifycenter", false, "") return value 
-PASS [["justifycenter",""]] "<div style=text-align:center>foo</div>[bar]<p>extra" checks for modifications to non-editable content 
-FAIL [["justifycenter",""]] "<div style=text-align:center>foo</div>[bar]<p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<div style=\"text-align:center\">foo<br>bar</div><p>extra</p>" but got "<div style=\"text-align:center\">foo</div><p style=\"text-align:center\">bar</p><p>extra</p>"
-PASS [["justifycenter",""]] "<div style=text-align:center>foo</div>[bar]<p>extra" queryCommandIndeterm("justifycenter") before 
-PASS [["justifycenter",""]] "<div style=text-align:center>foo</div>[bar]<p>extra" queryCommandState("justifycenter") before 
-FAIL [["justifycenter",""]] "<div style=text-align:center>foo</div>[bar]<p>extra" queryCommandValue("justifycenter") before assert_equals: Wrong result returned expected "left" but got "false"
-PASS [["justifycenter",""]] "<div style=text-align:center>foo</div>[bar]<p>extra" queryCommandIndeterm("justifycenter") after 
-PASS [["justifycenter",""]] "<div style=text-align:center>foo</div>[bar]<p>extra" queryCommandState("justifycenter") after 
-FAIL [["justifycenter",""]] "<div style=text-align:center>foo</div>[bar]<p>extra" queryCommandValue("justifycenter") after assert_equals: Wrong result returned expected "center" but got "true"
-PASS [["justifycenter",""]] "[foo]<div style=text-align:center>bar</div><p>extra": execCommand("justifycenter", false, "") return value 
-PASS [["justifycenter",""]] "[foo]<div style=text-align:center>bar</div><p>extra" checks for modifications to non-editable content 
-FAIL [["justifycenter",""]] "[foo]<div style=text-align:center>bar</div><p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<div style=\"text-align:center\">foo<br>bar</div><p>extra</p>" but got "<p style=\"text-align:center\">foo</p><div style=\"text-align:center\">bar</div><p>extra</p>"
-PASS [["justifycenter",""]] "[foo]<div style=text-align:center>bar</div><p>extra" queryCommandIndeterm("justifycenter") before 
-PASS [["justifycenter",""]] "[foo]<div style=text-align:center>bar</div><p>extra" queryCommandState("justifycenter") before 
-FAIL [["justifycenter",""]] "[foo]<div style=text-align:center>bar</div><p>extra" queryCommandValue("justifycenter") before assert_equals: Wrong result returned expected "left" but got "false"
-PASS [["justifycenter",""]] "[foo]<div style=text-align:center>bar</div><p>extra" queryCommandIndeterm("justifycenter") after 
-PASS [["justifycenter",""]] "[foo]<div style=text-align:center>bar</div><p>extra" queryCommandState("justifycenter") after 
-FAIL [["justifycenter",""]] "[foo]<div style=text-align:center>bar</div><p>extra" queryCommandValue("justifycenter") after assert_equals: Wrong result returned expected "center" but got "true"
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div style=text-align:center>foo</div>[bar]<div style=text-align:center>baz</div><p>extra": execCommand("stylewithcss", false, "true") return value 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div style=text-align:center>foo</div>[bar]<div style=text-align:center>baz</div><p>extra": execCommand("defaultparagraphseparator", false, "div") return value 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div style=text-align:center>foo</div>[bar]<div style=text-align:center>baz</div><p>extra": execCommand("justifycenter", false, "") return value 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div style=text-align:center>foo</div>[bar]<div style=text-align:center>baz</div><p>extra" checks for modifications to non-editable content 
-FAIL [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div style=text-align:center>foo</div>[bar]<div style=text-align:center>baz</div><p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<div style=\"text-align:center\">foo<br>bar<br>baz</div><p>extra</p>" but got "<div style=\"text-align:center\">foo</div><div style=\"text-align:center\">bar</div><div style=\"text-align:center\">baz</div><p>extra</p>"
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div style=text-align:center>foo</div>[bar]<div style=text-align:center>baz</div><p>extra" queryCommandIndeterm("stylewithcss") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div style=text-align:center>foo</div>[bar]<div style=text-align:center>baz</div><p>extra" queryCommandState("stylewithcss") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div style=text-align:center>foo</div>[bar]<div style=text-align:center>baz</div><p>extra" queryCommandValue("stylewithcss") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div style=text-align:center>foo</div>[bar]<div style=text-align:center>baz</div><p>extra" queryCommandIndeterm("stylewithcss") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div style=text-align:center>foo</div>[bar]<div style=text-align:center>baz</div><p>extra" queryCommandState("stylewithcss") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div style=text-align:center>foo</div>[bar]<div style=text-align:center>baz</div><p>extra" queryCommandValue("stylewithcss") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div style=text-align:center>foo</div>[bar]<div style=text-align:center>baz</div><p>extra" queryCommandIndeterm("defaultparagraphseparator") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div style=text-align:center>foo</div>[bar]<div style=text-align:center>baz</div><p>extra" queryCommandState("defaultparagraphseparator") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div style=text-align:center>foo</div>[bar]<div style=text-align:center>baz</div><p>extra" queryCommandValue("defaultparagraphseparator") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div style=text-align:center>foo</div>[bar]<div style=text-align:center>baz</div><p>extra" queryCommandIndeterm("defaultparagraphseparator") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div style=text-align:center>foo</div>[bar]<div style=text-align:center>baz</div><p>extra" queryCommandState("defaultparagraphseparator") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div style=text-align:center>foo</div>[bar]<div style=text-align:center>baz</div><p>extra" queryCommandValue("defaultparagraphseparator") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div style=text-align:center>foo</div>[bar]<div style=text-align:center>baz</div><p>extra" queryCommandIndeterm("justifycenter") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div style=text-align:center>foo</div>[bar]<div style=text-align:center>baz</div><p>extra" queryCommandState("justifycenter") before 
-FAIL [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div style=text-align:center>foo</div>[bar]<div style=text-align:center>baz</div><p>extra" queryCommandValue("justifycenter") before assert_equals: Wrong result returned expected "left" but got "false"
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div style=text-align:center>foo</div>[bar]<div style=text-align:center>baz</div><p>extra" queryCommandIndeterm("justifycenter") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div style=text-align:center>foo</div>[bar]<div style=text-align:center>baz</div><p>extra" queryCommandState("justifycenter") after 
-FAIL [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div style=text-align:center>foo</div>[bar]<div style=text-align:center>baz</div><p>extra" queryCommandValue("justifycenter") after assert_equals: Wrong result returned expected "center" but got "true"
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div style=text-align:center>foo</div>[bar]<div style=text-align:center>baz</div><p>extra": execCommand("stylewithcss", false, "false") return value 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div style=text-align:center>foo</div>[bar]<div style=text-align:center>baz</div><p>extra": execCommand("defaultparagraphseparator", false, "div") return value 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div style=text-align:center>foo</div>[bar]<div style=text-align:center>baz</div><p>extra": execCommand("justifycenter", false, "") return value 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div style=text-align:center>foo</div>[bar]<div style=text-align:center>baz</div><p>extra" checks for modifications to non-editable content 
-FAIL [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div style=text-align:center>foo</div>[bar]<div style=text-align:center>baz</div><p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<div style=\"text-align:center\">foo<br>bar<br>baz</div><p>extra</p>" but got "<div style=\"text-align:center\">foo</div><div style=\"text-align:center\">bar</div><div style=\"text-align:center\">baz</div><p>extra</p>"
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div style=text-align:center>foo</div>[bar]<div style=text-align:center>baz</div><p>extra" queryCommandIndeterm("stylewithcss") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div style=text-align:center>foo</div>[bar]<div style=text-align:center>baz</div><p>extra" queryCommandState("stylewithcss") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div style=text-align:center>foo</div>[bar]<div style=text-align:center>baz</div><p>extra" queryCommandValue("stylewithcss") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div style=text-align:center>foo</div>[bar]<div style=text-align:center>baz</div><p>extra" queryCommandIndeterm("stylewithcss") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div style=text-align:center>foo</div>[bar]<div style=text-align:center>baz</div><p>extra" queryCommandState("stylewithcss") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div style=text-align:center>foo</div>[bar]<div style=text-align:center>baz</div><p>extra" queryCommandValue("stylewithcss") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div style=text-align:center>foo</div>[bar]<div style=text-align:center>baz</div><p>extra" queryCommandIndeterm("defaultparagraphseparator") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div style=text-align:center>foo</div>[bar]<div style=text-align:center>baz</div><p>extra" queryCommandState("defaultparagraphseparator") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div style=text-align:center>foo</div>[bar]<div style=text-align:center>baz</div><p>extra" queryCommandValue("defaultparagraphseparator") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div style=text-align:center>foo</div>[bar]<div style=text-align:center>baz</div><p>extra" queryCommandIndeterm("defaultparagraphseparator") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div style=text-align:center>foo</div>[bar]<div style=text-align:center>baz</div><p>extra" queryCommandState("defaultparagraphseparator") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div style=text-align:center>foo</div>[bar]<div style=text-align:center>baz</div><p>extra" queryCommandValue("defaultparagraphseparator") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div style=text-align:center>foo</div>[bar]<div style=text-align:center>baz</div><p>extra" queryCommandIndeterm("justifycenter") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div style=text-align:center>foo</div>[bar]<div style=text-align:center>baz</div><p>extra" queryCommandState("justifycenter") before 
-FAIL [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div style=text-align:center>foo</div>[bar]<div style=text-align:center>baz</div><p>extra" queryCommandValue("justifycenter") before assert_equals: Wrong result returned expected "left" but got "false"
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div style=text-align:center>foo</div>[bar]<div style=text-align:center>baz</div><p>extra" queryCommandIndeterm("justifycenter") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div style=text-align:center>foo</div>[bar]<div style=text-align:center>baz</div><p>extra" queryCommandState("justifycenter") after 
-FAIL [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div style=text-align:center>foo</div>[bar]<div style=text-align:center>baz</div><p>extra" queryCommandValue("justifycenter") after assert_equals: Wrong result returned expected "center" but got "true"
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div style=text-align:center>foo</div>[bar]<div style=text-align:center>baz</div><p>extra": execCommand("stylewithcss", false, "true") return value 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div style=text-align:center>foo</div>[bar]<div style=text-align:center>baz</div><p>extra": execCommand("defaultparagraphseparator", false, "p") return value 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div style=text-align:center>foo</div>[bar]<div style=text-align:center>baz</div><p>extra": execCommand("justifycenter", false, "") return value 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div style=text-align:center>foo</div>[bar]<div style=text-align:center>baz</div><p>extra" checks for modifications to non-editable content 
-FAIL [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div style=text-align:center>foo</div>[bar]<div style=text-align:center>baz</div><p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<div style=\"text-align:center\">foo<br>bar<br>baz</div><p>extra</p>" but got "<div style=\"text-align:center\">foo</div><p style=\"text-align:center\">bar</p><div style=\"text-align:center\">baz</div><p>extra</p>"
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div style=text-align:center>foo</div>[bar]<div style=text-align:center>baz</div><p>extra" queryCommandIndeterm("stylewithcss") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div style=text-align:center>foo</div>[bar]<div style=text-align:center>baz</div><p>extra" queryCommandState("stylewithcss") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div style=text-align:center>foo</div>[bar]<div style=text-align:center>baz</div><p>extra" queryCommandValue("stylewithcss") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div style=text-align:center>foo</div>[bar]<div style=text-align:center>baz</div><p>extra" queryCommandIndeterm("stylewithcss") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div style=text-align:center>foo</div>[bar]<div style=text-align:center>baz</div><p>extra" queryCommandState("stylewithcss") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div style=text-align:center>foo</div>[bar]<div style=text-align:center>baz</div><p>extra" queryCommandValue("stylewithcss") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div style=text-align:center>foo</div>[bar]<div style=text-align:center>baz</div><p>extra" queryCommandIndeterm("defaultparagraphseparator") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div style=text-align:center>foo</div>[bar]<div style=text-align:center>baz</div><p>extra" queryCommandState("defaultparagraphseparator") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div style=text-align:center>foo</div>[bar]<div style=text-align:center>baz</div><p>extra" queryCommandValue("defaultparagraphseparator") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div style=text-align:center>foo</div>[bar]<div style=text-align:center>baz</div><p>extra" queryCommandIndeterm("defaultparagraphseparator") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div style=text-align:center>foo</div>[bar]<div style=text-align:center>baz</div><p>extra" queryCommandState("defaultparagraphseparator") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div style=text-align:center>foo</div>[bar]<div style=text-align:center>baz</div><p>extra" queryCommandValue("defaultparagraphseparator") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div style=text-align:center>foo</div>[bar]<div style=text-align:center>baz</div><p>extra" queryCommandIndeterm("justifycenter") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div style=text-align:center>foo</div>[bar]<div style=text-align:center>baz</div><p>extra" queryCommandState("justifycenter") before 
-FAIL [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div style=text-align:center>foo</div>[bar]<div style=text-align:center>baz</div><p>extra" queryCommandValue("justifycenter") before assert_equals: Wrong result returned expected "left" but got "false"
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div style=text-align:center>foo</div>[bar]<div style=text-align:center>baz</div><p>extra" queryCommandIndeterm("justifycenter") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div style=text-align:center>foo</div>[bar]<div style=text-align:center>baz</div><p>extra" queryCommandState("justifycenter") after 
-FAIL [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div style=text-align:center>foo</div>[bar]<div style=text-align:center>baz</div><p>extra" queryCommandValue("justifycenter") after assert_equals: Wrong result returned expected "center" but got "true"
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div style=text-align:center>foo</div>[bar]<div style=text-align:center>baz</div><p>extra": execCommand("stylewithcss", false, "false") return value 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div style=text-align:center>foo</div>[bar]<div style=text-align:center>baz</div><p>extra": execCommand("defaultparagraphseparator", false, "p") return value 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div style=text-align:center>foo</div>[bar]<div style=text-align:center>baz</div><p>extra": execCommand("justifycenter", false, "") return value 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div style=text-align:center>foo</div>[bar]<div style=text-align:center>baz</div><p>extra" checks for modifications to non-editable content 
-FAIL [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div style=text-align:center>foo</div>[bar]<div style=text-align:center>baz</div><p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<div style=\"text-align:center\">foo<br>bar<br>baz</div><p>extra</p>" but got "<div style=\"text-align:center\">foo</div><p style=\"text-align:center\">bar</p><div style=\"text-align:center\">baz</div><p>extra</p>"
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div style=text-align:center>foo</div>[bar]<div style=text-align:center>baz</div><p>extra" queryCommandIndeterm("stylewithcss") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div style=text-align:center>foo</div>[bar]<div style=text-align:center>baz</div><p>extra" queryCommandState("stylewithcss") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div style=text-align:center>foo</div>[bar]<div style=text-align:center>baz</div><p>extra" queryCommandValue("stylewithcss") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div style=text-align:center>foo</div>[bar]<div style=text-align:center>baz</div><p>extra" queryCommandIndeterm("stylewithcss") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div style=text-align:center>foo</div>[bar]<div style=text-align:center>baz</div><p>extra" queryCommandState("stylewithcss") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div style=text-align:center>foo</div>[bar]<div style=text-align:center>baz</div><p>extra" queryCommandValue("stylewithcss") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div style=text-align:center>foo</div>[bar]<div style=text-align:center>baz</div><p>extra" queryCommandIndeterm("defaultparagraphseparator") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div style=text-align:center>foo</div>[bar]<div style=text-align:center>baz</div><p>extra" queryCommandState("defaultparagraphseparator") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div style=text-align:center>foo</div>[bar]<div style=text-align:center>baz</div><p>extra" queryCommandValue("defaultparagraphseparator") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div style=text-align:center>foo</div>[bar]<div style=text-align:center>baz</div><p>extra" queryCommandIndeterm("defaultparagraphseparator") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div style=text-align:center>foo</div>[bar]<div style=text-align:center>baz</div><p>extra" queryCommandState("defaultparagraphseparator") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div style=text-align:center>foo</div>[bar]<div style=text-align:center>baz</div><p>extra" queryCommandValue("defaultparagraphseparator") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div style=text-align:center>foo</div>[bar]<div style=text-align:center>baz</div><p>extra" queryCommandIndeterm("justifycenter") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div style=text-align:center>foo</div>[bar]<div style=text-align:center>baz</div><p>extra" queryCommandState("justifycenter") before 
-FAIL [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div style=text-align:center>foo</div>[bar]<div style=text-align:center>baz</div><p>extra" queryCommandValue("justifycenter") before assert_equals: Wrong result returned expected "left" but got "false"
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div style=text-align:center>foo</div>[bar]<div style=text-align:center>baz</div><p>extra" queryCommandIndeterm("justifycenter") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div style=text-align:center>foo</div>[bar]<div style=text-align:center>baz</div><p>extra" queryCommandState("justifycenter") after 
-FAIL [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div style=text-align:center>foo</div>[bar]<div style=text-align:center>baz</div><p>extra" queryCommandValue("justifycenter") after assert_equals: Wrong result returned expected "center" but got "true"
-PASS [["justifycenter",""]] "<div style=text-align:center><p>foo</div><p>[bar]<p>extra": execCommand("justifycenter", false, "") return value 
-PASS [["justifycenter",""]] "<div style=text-align:center><p>foo</div><p>[bar]<p>extra" checks for modifications to non-editable content 
-FAIL [["justifycenter",""]] "<div style=text-align:center><p>foo</div><p>[bar]<p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<div style=\"text-align:center\"><p>foo</p><p>bar</p></div><p>extra</p>" but got "<div style=\"text-align:center\"><p>foo</p></div><p style=\"text-align:center\">bar</p><p>extra</p>"
-PASS [["justifycenter",""]] "<div style=text-align:center><p>foo</div><p>[bar]<p>extra" queryCommandIndeterm("justifycenter") before 
-PASS [["justifycenter",""]] "<div style=text-align:center><p>foo</div><p>[bar]<p>extra" queryCommandState("justifycenter") before 
-FAIL [["justifycenter",""]] "<div style=text-align:center><p>foo</div><p>[bar]<p>extra" queryCommandValue("justifycenter") before assert_equals: Wrong result returned expected "left" but got "false"
-PASS [["justifycenter",""]] "<div style=text-align:center><p>foo</div><p>[bar]<p>extra" queryCommandIndeterm("justifycenter") after 
-PASS [["justifycenter",""]] "<div style=text-align:center><p>foo</div><p>[bar]<p>extra" queryCommandState("justifycenter") after 
-FAIL [["justifycenter",""]] "<div style=text-align:center><p>foo</div><p>[bar]<p>extra" queryCommandValue("justifycenter") after assert_equals: Wrong result returned expected "center" but got "true"
-PASS [["justifycenter",""]] "<p>[foo]<div style=text-align:center><p>bar</div><p>extra": execCommand("justifycenter", false, "") return value 
-PASS [["justifycenter",""]] "<p>[foo]<div style=text-align:center><p>bar</div><p>extra" checks for modifications to non-editable content 
-FAIL [["justifycenter",""]] "<p>[foo]<div style=text-align:center><p>bar</div><p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<div style=\"text-align:center\"><p>foo</p><p>bar</p></div><p>extra</p>" but got "<p style=\"text-align:center\">foo</p><div style=\"text-align:center\"><p>bar</p></div><p>extra</p>"
-PASS [["justifycenter",""]] "<p>[foo]<div style=text-align:center><p>bar</div><p>extra" queryCommandIndeterm("justifycenter") before 
-PASS [["justifycenter",""]] "<p>[foo]<div style=text-align:center><p>bar</div><p>extra" queryCommandState("justifycenter") before 
-FAIL [["justifycenter",""]] "<p>[foo]<div style=text-align:center><p>bar</div><p>extra" queryCommandValue("justifycenter") before assert_equals: Wrong result returned expected "left" but got "false"
-PASS [["justifycenter",""]] "<p>[foo]<div style=text-align:center><p>bar</div><p>extra" queryCommandIndeterm("justifycenter") after 
-PASS [["justifycenter",""]] "<p>[foo]<div style=text-align:center><p>bar</div><p>extra" queryCommandState("justifycenter") after 
-FAIL [["justifycenter",""]] "<p>[foo]<div style=text-align:center><p>bar</div><p>extra" queryCommandValue("justifycenter") after assert_equals: Wrong result returned expected "center" but got "true"
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div style=text-align:center><p>foo</div><p>[bar]<div style=text-align:center><p>baz</div><p>extra": execCommand("stylewithcss", false, "true") return value 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div style=text-align:center><p>foo</div><p>[bar]<div style=text-align:center><p>baz</div><p>extra": execCommand("defaultparagraphseparator", false, "div") return value 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div style=text-align:center><p>foo</div><p>[bar]<div style=text-align:center><p>baz</div><p>extra": execCommand("justifycenter", false, "") return value 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div style=text-align:center><p>foo</div><p>[bar]<div style=text-align:center><p>baz</div><p>extra" checks for modifications to non-editable content 
-FAIL [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div style=text-align:center><p>foo</div><p>[bar]<div style=text-align:center><p>baz</div><p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<div style=\"text-align:center\"><p>foo</p><p>bar</p><p>baz</p></div><p>extra</p>" but got "<div style=\"text-align:center\"><p>foo</p></div><p style=\"text-align:center\">bar</p><div style=\"text-align:center\"><p>baz</p></div><p>extra</p>"
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div style=text-align:center><p>foo</div><p>[bar]<div style=text-align:center><p>baz</div><p>extra" queryCommandIndeterm("stylewithcss") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div style=text-align:center><p>foo</div><p>[bar]<div style=text-align:center><p>baz</div><p>extra" queryCommandState("stylewithcss") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div style=text-align:center><p>foo</div><p>[bar]<div style=text-align:center><p>baz</div><p>extra" queryCommandValue("stylewithcss") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div style=text-align:center><p>foo</div><p>[bar]<div style=text-align:center><p>baz</div><p>extra" queryCommandIndeterm("stylewithcss") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div style=text-align:center><p>foo</div><p>[bar]<div style=text-align:center><p>baz</div><p>extra" queryCommandState("stylewithcss") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div style=text-align:center><p>foo</div><p>[bar]<div style=text-align:center><p>baz</div><p>extra" queryCommandValue("stylewithcss") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div style=text-align:center><p>foo</div><p>[bar]<div style=text-align:center><p>baz</div><p>extra" queryCommandIndeterm("defaultparagraphseparator") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div style=text-align:center><p>foo</div><p>[bar]<div style=text-align:center><p>baz</div><p>extra" queryCommandState("defaultparagraphseparator") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div style=text-align:center><p>foo</div><p>[bar]<div style=text-align:center><p>baz</div><p>extra" queryCommandValue("defaultparagraphseparator") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div style=text-align:center><p>foo</div><p>[bar]<div style=text-align:center><p>baz</div><p>extra" queryCommandIndeterm("defaultparagraphseparator") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div style=text-align:center><p>foo</div><p>[bar]<div style=text-align:center><p>baz</div><p>extra" queryCommandState("defaultparagraphseparator") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div style=text-align:center><p>foo</div><p>[bar]<div style=text-align:center><p>baz</div><p>extra" queryCommandValue("defaultparagraphseparator") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div style=text-align:center><p>foo</div><p>[bar]<div style=text-align:center><p>baz</div><p>extra" queryCommandIndeterm("justifycenter") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div style=text-align:center><p>foo</div><p>[bar]<div style=text-align:center><p>baz</div><p>extra" queryCommandState("justifycenter") before 
-FAIL [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div style=text-align:center><p>foo</div><p>[bar]<div style=text-align:center><p>baz</div><p>extra" queryCommandValue("justifycenter") before assert_equals: Wrong result returned expected "left" but got "false"
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div style=text-align:center><p>foo</div><p>[bar]<div style=text-align:center><p>baz</div><p>extra" queryCommandIndeterm("justifycenter") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div style=text-align:center><p>foo</div><p>[bar]<div style=text-align:center><p>baz</div><p>extra" queryCommandState("justifycenter") after 
-FAIL [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div style=text-align:center><p>foo</div><p>[bar]<div style=text-align:center><p>baz</div><p>extra" queryCommandValue("justifycenter") after assert_equals: Wrong result returned expected "center" but got "true"
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div style=text-align:center><p>foo</div><p>[bar]<div style=text-align:center><p>baz</div><p>extra": execCommand("stylewithcss", false, "false") return value 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div style=text-align:center><p>foo</div><p>[bar]<div style=text-align:center><p>baz</div><p>extra": execCommand("defaultparagraphseparator", false, "div") return value 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div style=text-align:center><p>foo</div><p>[bar]<div style=text-align:center><p>baz</div><p>extra": execCommand("justifycenter", false, "") return value 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div style=text-align:center><p>foo</div><p>[bar]<div style=text-align:center><p>baz</div><p>extra" checks for modifications to non-editable content 
-FAIL [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div style=text-align:center><p>foo</div><p>[bar]<div style=text-align:center><p>baz</div><p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<div style=\"text-align:center\"><p>foo</p><p>bar</p><p>baz</p></div><p>extra</p>" but got "<div style=\"text-align:center\"><p>foo</p></div><p style=\"text-align:center\">bar</p><div style=\"text-align:center\"><p>baz</p></div><p>extra</p>"
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div style=text-align:center><p>foo</div><p>[bar]<div style=text-align:center><p>baz</div><p>extra" queryCommandIndeterm("stylewithcss") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div style=text-align:center><p>foo</div><p>[bar]<div style=text-align:center><p>baz</div><p>extra" queryCommandState("stylewithcss") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div style=text-align:center><p>foo</div><p>[bar]<div style=text-align:center><p>baz</div><p>extra" queryCommandValue("stylewithcss") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div style=text-align:center><p>foo</div><p>[bar]<div style=text-align:center><p>baz</div><p>extra" queryCommandIndeterm("stylewithcss") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div style=text-align:center><p>foo</div><p>[bar]<div style=text-align:center><p>baz</div><p>extra" queryCommandState("stylewithcss") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div style=text-align:center><p>foo</div><p>[bar]<div style=text-align:center><p>baz</div><p>extra" queryCommandValue("stylewithcss") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div style=text-align:center><p>foo</div><p>[bar]<div style=text-align:center><p>baz</div><p>extra" queryCommandIndeterm("defaultparagraphseparator") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div style=text-align:center><p>foo</div><p>[bar]<div style=text-align:center><p>baz</div><p>extra" queryCommandState("defaultparagraphseparator") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div style=text-align:center><p>foo</div><p>[bar]<div style=text-align:center><p>baz</div><p>extra" queryCommandValue("defaultparagraphseparator") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div style=text-align:center><p>foo</div><p>[bar]<div style=text-align:center><p>baz</div><p>extra" queryCommandIndeterm("defaultparagraphseparator") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div style=text-align:center><p>foo</div><p>[bar]<div style=text-align:center><p>baz</div><p>extra" queryCommandState("defaultparagraphseparator") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div style=text-align:center><p>foo</div><p>[bar]<div style=text-align:center><p>baz</div><p>extra" queryCommandValue("defaultparagraphseparator") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div style=text-align:center><p>foo</div><p>[bar]<div style=text-align:center><p>baz</div><p>extra" queryCommandIndeterm("justifycenter") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div style=text-align:center><p>foo</div><p>[bar]<div style=text-align:center><p>baz</div><p>extra" queryCommandState("justifycenter") before 
-FAIL [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div style=text-align:center><p>foo</div><p>[bar]<div style=text-align:center><p>baz</div><p>extra" queryCommandValue("justifycenter") before assert_equals: Wrong result returned expected "left" but got "false"
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div style=text-align:center><p>foo</div><p>[bar]<div style=text-align:center><p>baz</div><p>extra" queryCommandIndeterm("justifycenter") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div style=text-align:center><p>foo</div><p>[bar]<div style=text-align:center><p>baz</div><p>extra" queryCommandState("justifycenter") after 
-FAIL [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div style=text-align:center><p>foo</div><p>[bar]<div style=text-align:center><p>baz</div><p>extra" queryCommandValue("justifycenter") after assert_equals: Wrong result returned expected "center" but got "true"
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div style=text-align:center><p>foo</div><p>[bar]<div style=text-align:center><p>baz</div><p>extra": execCommand("stylewithcss", false, "true") return value 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div style=text-align:center><p>foo</div><p>[bar]<div style=text-align:center><p>baz</div><p>extra": execCommand("defaultparagraphseparator", false, "p") return value 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div style=text-align:center><p>foo</div><p>[bar]<div style=text-align:center><p>baz</div><p>extra": execCommand("justifycenter", false, "") return value 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div style=text-align:center><p>foo</div><p>[bar]<div style=text-align:center><p>baz</div><p>extra" checks for modifications to non-editable content 
-FAIL [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div style=text-align:center><p>foo</div><p>[bar]<div style=text-align:center><p>baz</div><p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<div style=\"text-align:center\"><p>foo</p><p>bar</p><p>baz</p></div><p>extra</p>" but got "<div style=\"text-align:center\"><p>foo</p></div><p style=\"text-align:center\">bar</p><div style=\"text-align:center\"><p>baz</p></div><p>extra</p>"
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div style=text-align:center><p>foo</div><p>[bar]<div style=text-align:center><p>baz</div><p>extra" queryCommandIndeterm("stylewithcss") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div style=text-align:center><p>foo</div><p>[bar]<div style=text-align:center><p>baz</div><p>extra" queryCommandState("stylewithcss") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div style=text-align:center><p>foo</div><p>[bar]<div style=text-align:center><p>baz</div><p>extra" queryCommandValue("stylewithcss") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div style=text-align:center><p>foo</div><p>[bar]<div style=text-align:center><p>baz</div><p>extra" queryCommandIndeterm("stylewithcss") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div style=text-align:center><p>foo</div><p>[bar]<div style=text-align:center><p>baz</div><p>extra" queryCommandState("stylewithcss") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div style=text-align:center><p>foo</div><p>[bar]<div style=text-align:center><p>baz</div><p>extra" queryCommandValue("stylewithcss") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div style=text-align:center><p>foo</div><p>[bar]<div style=text-align:center><p>baz</div><p>extra" queryCommandIndeterm("defaultparagraphseparator") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div style=text-align:center><p>foo</div><p>[bar]<div style=text-align:center><p>baz</div><p>extra" queryCommandState("defaultparagraphseparator") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div style=text-align:center><p>foo</div><p>[bar]<div style=text-align:center><p>baz</div><p>extra" queryCommandValue("defaultparagraphseparator") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div style=text-align:center><p>foo</div><p>[bar]<div style=text-align:center><p>baz</div><p>extra" queryCommandIndeterm("defaultparagraphseparator") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div style=text-align:center><p>foo</div><p>[bar]<div style=text-align:center><p>baz</div><p>extra" queryCommandState("defaultparagraphseparator") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div style=text-align:center><p>foo</div><p>[bar]<div style=text-align:center><p>baz</div><p>extra" queryCommandValue("defaultparagraphseparator") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div style=text-align:center><p>foo</div><p>[bar]<div style=text-align:center><p>baz</div><p>extra" queryCommandIndeterm("justifycenter") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div style=text-align:center><p>foo</div><p>[bar]<div style=text-align:center><p>baz</div><p>extra" queryCommandState("justifycenter") before 
-FAIL [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div style=text-align:center><p>foo</div><p>[bar]<div style=text-align:center><p>baz</div><p>extra" queryCommandValue("justifycenter") before assert_equals: Wrong result returned expected "left" but got "false"
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div style=text-align:center><p>foo</div><p>[bar]<div style=text-align:center><p>baz</div><p>extra" queryCommandIndeterm("justifycenter") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div style=text-align:center><p>foo</div><p>[bar]<div style=text-align:center><p>baz</div><p>extra" queryCommandState("justifycenter") after 
-FAIL [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div style=text-align:center><p>foo</div><p>[bar]<div style=text-align:center><p>baz</div><p>extra" queryCommandValue("justifycenter") after assert_equals: Wrong result returned expected "center" but got "true"
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div style=text-align:center><p>foo</div><p>[bar]<div style=text-align:center><p>baz</div><p>extra": execCommand("stylewithcss", false, "false") return value 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div style=text-align:center><p>foo</div><p>[bar]<div style=text-align:center><p>baz</div><p>extra": execCommand("defaultparagraphseparator", false, "p") return value 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div style=text-align:center><p>foo</div><p>[bar]<div style=text-align:center><p>baz</div><p>extra": execCommand("justifycenter", false, "") return value 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div style=text-align:center><p>foo</div><p>[bar]<div style=text-align:center><p>baz</div><p>extra" checks for modifications to non-editable content 
-FAIL [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div style=text-align:center><p>foo</div><p>[bar]<div style=text-align:center><p>baz</div><p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<div style=\"text-align:center\"><p>foo</p><p>bar</p><p>baz</p></div><p>extra</p>" but got "<div style=\"text-align:center\"><p>foo</p></div><p style=\"text-align:center\">bar</p><div style=\"text-align:center\"><p>baz</p></div><p>extra</p>"
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div style=text-align:center><p>foo</div><p>[bar]<div style=text-align:center><p>baz</div><p>extra" queryCommandIndeterm("stylewithcss") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div style=text-align:center><p>foo</div><p>[bar]<div style=text-align:center><p>baz</div><p>extra" queryCommandState("stylewithcss") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div style=text-align:center><p>foo</div><p>[bar]<div style=text-align:center><p>baz</div><p>extra" queryCommandValue("stylewithcss") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div style=text-align:center><p>foo</div><p>[bar]<div style=text-align:center><p>baz</div><p>extra" queryCommandIndeterm("stylewithcss") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div style=text-align:center><p>foo</div><p>[bar]<div style=text-align:center><p>baz</div><p>extra" queryCommandState("stylewithcss") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div style=text-align:center><p>foo</div><p>[bar]<div style=text-align:center><p>baz</div><p>extra" queryCommandValue("stylewithcss") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div style=text-align:center><p>foo</div><p>[bar]<div style=text-align:center><p>baz</div><p>extra" queryCommandIndeterm("defaultparagraphseparator") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div style=text-align:center><p>foo</div><p>[bar]<div style=text-align:center><p>baz</div><p>extra" queryCommandState("defaultparagraphseparator") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div style=text-align:center><p>foo</div><p>[bar]<div style=text-align:center><p>baz</div><p>extra" queryCommandValue("defaultparagraphseparator") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div style=text-align:center><p>foo</div><p>[bar]<div style=text-align:center><p>baz</div><p>extra" queryCommandIndeterm("defaultparagraphseparator") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div style=text-align:center><p>foo</div><p>[bar]<div style=text-align:center><p>baz</div><p>extra" queryCommandState("defaultparagraphseparator") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div style=text-align:center><p>foo</div><p>[bar]<div style=text-align:center><p>baz</div><p>extra" queryCommandValue("defaultparagraphseparator") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div style=text-align:center><p>foo</div><p>[bar]<div style=text-align:center><p>baz</div><p>extra" queryCommandIndeterm("justifycenter") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div style=text-align:center><p>foo</div><p>[bar]<div style=text-align:center><p>baz</div><p>extra" queryCommandState("justifycenter") before 
-FAIL [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div style=text-align:center><p>foo</div><p>[bar]<div style=text-align:center><p>baz</div><p>extra" queryCommandValue("justifycenter") before assert_equals: Wrong result returned expected "left" but got "false"
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div style=text-align:center><p>foo</div><p>[bar]<div style=text-align:center><p>baz</div><p>extra" queryCommandIndeterm("justifycenter") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div style=text-align:center><p>foo</div><p>[bar]<div style=text-align:center><p>baz</div><p>extra" queryCommandState("justifycenter") after 
-FAIL [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div style=text-align:center><p>foo</div><p>[bar]<div style=text-align:center><p>baz</div><p>extra" queryCommandValue("justifycenter") after assert_equals: Wrong result returned expected "center" but got "true"
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<p align=center>foo<p>[bar]<p>extra": execCommand("stylewithcss", false, "true") return value 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<p align=center>foo<p>[bar]<p>extra": execCommand("defaultparagraphseparator", false, "div") return value 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<p align=center>foo<p>[bar]<p>extra": execCommand("justifycenter", false, "") return value 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<p align=center>foo<p>[bar]<p>extra" checks for modifications to non-editable content 
-FAIL [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<p align=center>foo<p>[bar]<p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<p align=\"center\">foo</p><div style=\"text-align:center\"><p>bar</p></div><p>extra</p>" but got "<p align=\"center\">foo</p><p style=\"text-align:center\">bar</p><p>extra</p>"
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<p align=center>foo<p>[bar]<p>extra" queryCommandIndeterm("stylewithcss") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<p align=center>foo<p>[bar]<p>extra" queryCommandState("stylewithcss") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<p align=center>foo<p>[bar]<p>extra" queryCommandValue("stylewithcss") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<p align=center>foo<p>[bar]<p>extra" queryCommandIndeterm("stylewithcss") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<p align=center>foo<p>[bar]<p>extra" queryCommandState("stylewithcss") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<p align=center>foo<p>[bar]<p>extra" queryCommandValue("stylewithcss") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<p align=center>foo<p>[bar]<p>extra" queryCommandIndeterm("defaultparagraphseparator") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<p align=center>foo<p>[bar]<p>extra" queryCommandState("defaultparagraphseparator") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<p align=center>foo<p>[bar]<p>extra" queryCommandValue("defaultparagraphseparator") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<p align=center>foo<p>[bar]<p>extra" queryCommandIndeterm("defaultparagraphseparator") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<p align=center>foo<p>[bar]<p>extra" queryCommandState("defaultparagraphseparator") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<p align=center>foo<p>[bar]<p>extra" queryCommandValue("defaultparagraphseparator") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<p align=center>foo<p>[bar]<p>extra" queryCommandIndeterm("justifycenter") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<p align=center>foo<p>[bar]<p>extra" queryCommandState("justifycenter") before 
-FAIL [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<p align=center>foo<p>[bar]<p>extra" queryCommandValue("justifycenter") before assert_equals: Wrong result returned expected "left" but got "false"
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<p align=center>foo<p>[bar]<p>extra" queryCommandIndeterm("justifycenter") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<p align=center>foo<p>[bar]<p>extra" queryCommandState("justifycenter") after 
-FAIL [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<p align=center>foo<p>[bar]<p>extra" queryCommandValue("justifycenter") after assert_equals: Wrong result returned expected "center" but got "true"
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<p align=center>foo<p>[bar]<p>extra": execCommand("stylewithcss", false, "false") return value 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<p align=center>foo<p>[bar]<p>extra": execCommand("defaultparagraphseparator", false, "div") return value 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<p align=center>foo<p>[bar]<p>extra": execCommand("justifycenter", false, "") return value 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<p align=center>foo<p>[bar]<p>extra" checks for modifications to non-editable content 
-FAIL [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<p align=center>foo<p>[bar]<p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<p align=\"center\">foo</p><div style=\"text-align:center\"><p>bar</p></div><p>extra</p>" but got "<p align=\"center\">foo</p><p style=\"text-align:center\">bar</p><p>extra</p>"
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<p align=center>foo<p>[bar]<p>extra" queryCommandIndeterm("stylewithcss") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<p align=center>foo<p>[bar]<p>extra" queryCommandState("stylewithcss") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<p align=center>foo<p>[bar]<p>extra" queryCommandValue("stylewithcss") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<p align=center>foo<p>[bar]<p>extra" queryCommandIndeterm("stylewithcss") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<p align=center>foo<p>[bar]<p>extra" queryCommandState("stylewithcss") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<p align=center>foo<p>[bar]<p>extra" queryCommandValue("stylewithcss") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<p align=center>foo<p>[bar]<p>extra" queryCommandIndeterm("defaultparagraphseparator") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<p align=center>foo<p>[bar]<p>extra" queryCommandState("defaultparagraphseparator") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<p align=center>foo<p>[bar]<p>extra" queryCommandValue("defaultparagraphseparator") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<p align=center>foo<p>[bar]<p>extra" queryCommandIndeterm("defaultparagraphseparator") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<p align=center>foo<p>[bar]<p>extra" queryCommandState("defaultparagraphseparator") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<p align=center>foo<p>[bar]<p>extra" queryCommandValue("defaultparagraphseparator") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<p align=center>foo<p>[bar]<p>extra" queryCommandIndeterm("justifycenter") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<p align=center>foo<p>[bar]<p>extra" queryCommandState("justifycenter") before 
-FAIL [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<p align=center>foo<p>[bar]<p>extra" queryCommandValue("justifycenter") before assert_equals: Wrong result returned expected "left" but got "false"
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<p align=center>foo<p>[bar]<p>extra" queryCommandIndeterm("justifycenter") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<p align=center>foo<p>[bar]<p>extra" queryCommandState("justifycenter") after 
-FAIL [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<p align=center>foo<p>[bar]<p>extra" queryCommandValue("justifycenter") after assert_equals: Wrong result returned expected "center" but got "true"
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<p align=center>foo<p>[bar]<p>extra": execCommand("stylewithcss", false, "true") return value 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<p align=center>foo<p>[bar]<p>extra": execCommand("defaultparagraphseparator", false, "p") return value 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<p align=center>foo<p>[bar]<p>extra": execCommand("justifycenter", false, "") return value 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<p align=center>foo<p>[bar]<p>extra" checks for modifications to non-editable content 
-FAIL [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<p align=center>foo<p>[bar]<p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<p align=\"center\">foo</p><div style=\"text-align:center\"><p>bar</p></div><p>extra</p>" but got "<p align=\"center\">foo</p><p style=\"text-align:center\">bar</p><p>extra</p>"
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<p align=center>foo<p>[bar]<p>extra" queryCommandIndeterm("stylewithcss") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<p align=center>foo<p>[bar]<p>extra" queryCommandState("stylewithcss") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<p align=center>foo<p>[bar]<p>extra" queryCommandValue("stylewithcss") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<p align=center>foo<p>[bar]<p>extra" queryCommandIndeterm("stylewithcss") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<p align=center>foo<p>[bar]<p>extra" queryCommandState("stylewithcss") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<p align=center>foo<p>[bar]<p>extra" queryCommandValue("stylewithcss") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<p align=center>foo<p>[bar]<p>extra" queryCommandIndeterm("defaultparagraphseparator") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<p align=center>foo<p>[bar]<p>extra" queryCommandState("defaultparagraphseparator") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<p align=center>foo<p>[bar]<p>extra" queryCommandValue("defaultparagraphseparator") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<p align=center>foo<p>[bar]<p>extra" queryCommandIndeterm("defaultparagraphseparator") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<p align=center>foo<p>[bar]<p>extra" queryCommandState("defaultparagraphseparator") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<p align=center>foo<p>[bar]<p>extra" queryCommandValue("defaultparagraphseparator") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<p align=center>foo<p>[bar]<p>extra" queryCommandIndeterm("justifycenter") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<p align=center>foo<p>[bar]<p>extra" queryCommandState("justifycenter") before 
-FAIL [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<p align=center>foo<p>[bar]<p>extra" queryCommandValue("justifycenter") before assert_equals: Wrong result returned expected "left" but got "false"
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<p align=center>foo<p>[bar]<p>extra" queryCommandIndeterm("justifycenter") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<p align=center>foo<p>[bar]<p>extra" queryCommandState("justifycenter") after 
-FAIL [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<p align=center>foo<p>[bar]<p>extra" queryCommandValue("justifycenter") after assert_equals: Wrong result returned expected "center" but got "true"
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<p align=center>foo<p>[bar]<p>extra": execCommand("stylewithcss", false, "false") return value 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<p align=center>foo<p>[bar]<p>extra": execCommand("defaultparagraphseparator", false, "p") return value 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<p align=center>foo<p>[bar]<p>extra": execCommand("justifycenter", false, "") return value 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<p align=center>foo<p>[bar]<p>extra" checks for modifications to non-editable content 
-FAIL [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<p align=center>foo<p>[bar]<p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<p align=\"center\">foo</p><div style=\"text-align:center\"><p>bar</p></div><p>extra</p>" but got "<p align=\"center\">foo</p><p style=\"text-align:center\">bar</p><p>extra</p>"
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<p align=center>foo<p>[bar]<p>extra" queryCommandIndeterm("stylewithcss") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<p align=center>foo<p>[bar]<p>extra" queryCommandState("stylewithcss") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<p align=center>foo<p>[bar]<p>extra" queryCommandValue("stylewithcss") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<p align=center>foo<p>[bar]<p>extra" queryCommandIndeterm("stylewithcss") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<p align=center>foo<p>[bar]<p>extra" queryCommandState("stylewithcss") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<p align=center>foo<p>[bar]<p>extra" queryCommandValue("stylewithcss") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<p align=center>foo<p>[bar]<p>extra" queryCommandIndeterm("defaultparagraphseparator") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<p align=center>foo<p>[bar]<p>extra" queryCommandState("defaultparagraphseparator") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<p align=center>foo<p>[bar]<p>extra" queryCommandValue("defaultparagraphseparator") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<p align=center>foo<p>[bar]<p>extra" queryCommandIndeterm("defaultparagraphseparator") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<p align=center>foo<p>[bar]<p>extra" queryCommandState("defaultparagraphseparator") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<p align=center>foo<p>[bar]<p>extra" queryCommandValue("defaultparagraphseparator") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<p align=center>foo<p>[bar]<p>extra" queryCommandIndeterm("justifycenter") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<p align=center>foo<p>[bar]<p>extra" queryCommandState("justifycenter") before 
-FAIL [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<p align=center>foo<p>[bar]<p>extra" queryCommandValue("justifycenter") before assert_equals: Wrong result returned expected "left" but got "false"
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<p align=center>foo<p>[bar]<p>extra" queryCommandIndeterm("justifycenter") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<p align=center>foo<p>[bar]<p>extra" queryCommandState("justifycenter") after 
-FAIL [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<p align=center>foo<p>[bar]<p>extra" queryCommandValue("justifycenter") after assert_equals: Wrong result returned expected "center" but got "true"
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<p>[foo]<p align=center>bar<p>extra": execCommand("stylewithcss", false, "true") return value 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<p>[foo]<p align=center>bar<p>extra": execCommand("defaultparagraphseparator", false, "div") return value 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<p>[foo]<p align=center>bar<p>extra": execCommand("justifycenter", false, "") return value 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<p>[foo]<p align=center>bar<p>extra" checks for modifications to non-editable content 
-FAIL [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<p>[foo]<p align=center>bar<p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<div style=\"text-align:center\"><p>foo</p></div><p align=\"center\">bar</p><p>extra</p>" but got "<p style=\"text-align:center\">foo</p><p align=\"center\">bar</p><p>extra</p>"
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<p>[foo]<p align=center>bar<p>extra" queryCommandIndeterm("stylewithcss") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<p>[foo]<p align=center>bar<p>extra" queryCommandState("stylewithcss") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<p>[foo]<p align=center>bar<p>extra" queryCommandValue("stylewithcss") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<p>[foo]<p align=center>bar<p>extra" queryCommandIndeterm("stylewithcss") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<p>[foo]<p align=center>bar<p>extra" queryCommandState("stylewithcss") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<p>[foo]<p align=center>bar<p>extra" queryCommandValue("stylewithcss") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<p>[foo]<p align=center>bar<p>extra" queryCommandIndeterm("defaultparagraphseparator") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<p>[foo]<p align=center>bar<p>extra" queryCommandState("defaultparagraphseparator") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<p>[foo]<p align=center>bar<p>extra" queryCommandValue("defaultparagraphseparator") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<p>[foo]<p align=center>bar<p>extra" queryCommandIndeterm("defaultparagraphseparator") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<p>[foo]<p align=center>bar<p>extra" queryCommandState("defaultparagraphseparator") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<p>[foo]<p align=center>bar<p>extra" queryCommandValue("defaultparagraphseparator") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<p>[foo]<p align=center>bar<p>extra" queryCommandIndeterm("justifycenter") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<p>[foo]<p align=center>bar<p>extra" queryCommandState("justifycenter") before 
-FAIL [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<p>[foo]<p align=center>bar<p>extra" queryCommandValue("justifycenter") before assert_equals: Wrong result returned expected "left" but got "false"
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<p>[foo]<p align=center>bar<p>extra" queryCommandIndeterm("justifycenter") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<p>[foo]<p align=center>bar<p>extra" queryCommandState("justifycenter") after 
-FAIL [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<p>[foo]<p align=center>bar<p>extra" queryCommandValue("justifycenter") after assert_equals: Wrong result returned expected "center" but got "true"
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<p>[foo]<p align=center>bar<p>extra": execCommand("stylewithcss", false, "false") return value 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<p>[foo]<p align=center>bar<p>extra": execCommand("defaultparagraphseparator", false, "div") return value 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<p>[foo]<p align=center>bar<p>extra": execCommand("justifycenter", false, "") return value 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<p>[foo]<p align=center>bar<p>extra" checks for modifications to non-editable content 
-FAIL [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<p>[foo]<p align=center>bar<p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<div style=\"text-align:center\"><p>foo</p></div><p align=\"center\">bar</p><p>extra</p>" but got "<p style=\"text-align:center\">foo</p><p align=\"center\">bar</p><p>extra</p>"
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<p>[foo]<p align=center>bar<p>extra" queryCommandIndeterm("stylewithcss") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<p>[foo]<p align=center>bar<p>extra" queryCommandState("stylewithcss") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<p>[foo]<p align=center>bar<p>extra" queryCommandValue("stylewithcss") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<p>[foo]<p align=center>bar<p>extra" queryCommandIndeterm("stylewithcss") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<p>[foo]<p align=center>bar<p>extra" queryCommandState("stylewithcss") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<p>[foo]<p align=center>bar<p>extra" queryCommandValue("stylewithcss") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<p>[foo]<p align=center>bar<p>extra" queryCommandIndeterm("defaultparagraphseparator") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<p>[foo]<p align=center>bar<p>extra" queryCommandState("defaultparagraphseparator") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<p>[foo]<p align=center>bar<p>extra" queryCommandValue("defaultparagraphseparator") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<p>[foo]<p align=center>bar<p>extra" queryCommandIndeterm("defaultparagraphseparator") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<p>[foo]<p align=center>bar<p>extra" queryCommandState("defaultparagraphseparator") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<p>[foo]<p align=center>bar<p>extra" queryCommandValue("defaultparagraphseparator") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<p>[foo]<p align=center>bar<p>extra" queryCommandIndeterm("justifycenter") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<p>[foo]<p align=center>bar<p>extra" queryCommandState("justifycenter") before 
-FAIL [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<p>[foo]<p align=center>bar<p>extra" queryCommandValue("justifycenter") before assert_equals: Wrong result returned expected "left" but got "false"
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<p>[foo]<p align=center>bar<p>extra" queryCommandIndeterm("justifycenter") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<p>[foo]<p align=center>bar<p>extra" queryCommandState("justifycenter") after 
-FAIL [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<p>[foo]<p align=center>bar<p>extra" queryCommandValue("justifycenter") after assert_equals: Wrong result returned expected "center" but got "true"
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<p>[foo]<p align=center>bar<p>extra": execCommand("stylewithcss", false, "true") return value 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<p>[foo]<p align=center>bar<p>extra": execCommand("defaultparagraphseparator", false, "p") return value 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<p>[foo]<p align=center>bar<p>extra": execCommand("justifycenter", false, "") return value 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<p>[foo]<p align=center>bar<p>extra" checks for modifications to non-editable content 
-FAIL [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<p>[foo]<p align=center>bar<p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<div style=\"text-align:center\"><p>foo</p></div><p align=\"center\">bar</p><p>extra</p>" but got "<p style=\"text-align:center\">foo</p><p align=\"center\">bar</p><p>extra</p>"
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<p>[foo]<p align=center>bar<p>extra" queryCommandIndeterm("stylewithcss") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<p>[foo]<p align=center>bar<p>extra" queryCommandState("stylewithcss") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<p>[foo]<p align=center>bar<p>extra" queryCommandValue("stylewithcss") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<p>[foo]<p align=center>bar<p>extra" queryCommandIndeterm("stylewithcss") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<p>[foo]<p align=center>bar<p>extra" queryCommandState("stylewithcss") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<p>[foo]<p align=center>bar<p>extra" queryCommandValue("stylewithcss") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<p>[foo]<p align=center>bar<p>extra" queryCommandIndeterm("defaultparagraphseparator") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<p>[foo]<p align=center>bar<p>extra" queryCommandState("defaultparagraphseparator") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<p>[foo]<p align=center>bar<p>extra" queryCommandValue("defaultparagraphseparator") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<p>[foo]<p align=center>bar<p>extra" queryCommandIndeterm("defaultparagraphseparator") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<p>[foo]<p align=center>bar<p>extra" queryCommandState("defaultparagraphseparator") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<p>[foo]<p align=center>bar<p>extra" queryCommandValue("defaultparagraphseparator") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<p>[foo]<p align=center>bar<p>extra" queryCommandIndeterm("justifycenter") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<p>[foo]<p align=center>bar<p>extra" queryCommandState("justifycenter") before 
-FAIL [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<p>[foo]<p align=center>bar<p>extra" queryCommandValue("justifycenter") before assert_equals: Wrong result returned expected "left" but got "false"
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<p>[foo]<p align=center>bar<p>extra" queryCommandIndeterm("justifycenter") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<p>[foo]<p align=center>bar<p>extra" queryCommandState("justifycenter") after 
-FAIL [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<p>[foo]<p align=center>bar<p>extra" queryCommandValue("justifycenter") after assert_equals: Wrong result returned expected "center" but got "true"
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<p>[foo]<p align=center>bar<p>extra": execCommand("stylewithcss", false, "false") return value 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<p>[foo]<p align=center>bar<p>extra": execCommand("defaultparagraphseparator", false, "p") return value 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<p>[foo]<p align=center>bar<p>extra": execCommand("justifycenter", false, "") return value 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<p>[foo]<p align=center>bar<p>extra" checks for modifications to non-editable content 
-FAIL [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<p>[foo]<p align=center>bar<p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<div style=\"text-align:center\"><p>foo</p></div><p align=\"center\">bar</p><p>extra</p>" but got "<p style=\"text-align:center\">foo</p><p align=\"center\">bar</p><p>extra</p>"
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<p>[foo]<p align=center>bar<p>extra" queryCommandIndeterm("stylewithcss") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<p>[foo]<p align=center>bar<p>extra" queryCommandState("stylewithcss") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<p>[foo]<p align=center>bar<p>extra" queryCommandValue("stylewithcss") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<p>[foo]<p align=center>bar<p>extra" queryCommandIndeterm("stylewithcss") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<p>[foo]<p align=center>bar<p>extra" queryCommandState("stylewithcss") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<p>[foo]<p align=center>bar<p>extra" queryCommandValue("stylewithcss") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<p>[foo]<p align=center>bar<p>extra" queryCommandIndeterm("defaultparagraphseparator") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<p>[foo]<p align=center>bar<p>extra" queryCommandState("defaultparagraphseparator") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<p>[foo]<p align=center>bar<p>extra" queryCommandValue("defaultparagraphseparator") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<p>[foo]<p align=center>bar<p>extra" queryCommandIndeterm("defaultparagraphseparator") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<p>[foo]<p align=center>bar<p>extra" queryCommandState("defaultparagraphseparator") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<p>[foo]<p align=center>bar<p>extra" queryCommandValue("defaultparagraphseparator") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<p>[foo]<p align=center>bar<p>extra" queryCommandIndeterm("justifycenter") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<p>[foo]<p align=center>bar<p>extra" queryCommandState("justifycenter") before 
-FAIL [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<p>[foo]<p align=center>bar<p>extra" queryCommandValue("justifycenter") before assert_equals: Wrong result returned expected "left" but got "false"
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<p>[foo]<p align=center>bar<p>extra" queryCommandIndeterm("justifycenter") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<p>[foo]<p align=center>bar<p>extra" queryCommandState("justifycenter") after 
-FAIL [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<p>[foo]<p align=center>bar<p>extra" queryCommandValue("justifycenter") after assert_equals: Wrong result returned expected "center" but got "true"
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<p align=center>foo<p>[bar]<p align=center>baz<p>extra": execCommand("stylewithcss", false, "true") return value 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<p align=center>foo<p>[bar]<p align=center>baz<p>extra": execCommand("defaultparagraphseparator", false, "div") return value 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<p align=center>foo<p>[bar]<p align=center>baz<p>extra": execCommand("justifycenter", false, "") return value 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<p align=center>foo<p>[bar]<p align=center>baz<p>extra" checks for modifications to non-editable content 
-FAIL [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<p align=center>foo<p>[bar]<p align=center>baz<p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<p align=\"center\">foo</p><div style=\"text-align:center\"><p>bar</p></div><p align=\"center\">baz</p><p>extra</p>" but got "<p align=\"center\">foo</p><p style=\"text-align:center\">bar</p><p align=\"center\">baz</p><p>extra</p>"
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<p align=center>foo<p>[bar]<p align=center>baz<p>extra" queryCommandIndeterm("stylewithcss") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<p align=center>foo<p>[bar]<p align=center>baz<p>extra" queryCommandState("stylewithcss") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<p align=center>foo<p>[bar]<p align=center>baz<p>extra" queryCommandValue("stylewithcss") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<p align=center>foo<p>[bar]<p align=center>baz<p>extra" queryCommandIndeterm("stylewithcss") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<p align=center>foo<p>[bar]<p align=center>baz<p>extra" queryCommandState("stylewithcss") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<p align=center>foo<p>[bar]<p align=center>baz<p>extra" queryCommandValue("stylewithcss") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<p align=center>foo<p>[bar]<p align=center>baz<p>extra" queryCommandIndeterm("defaultparagraphseparator") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<p align=center>foo<p>[bar]<p align=center>baz<p>extra" queryCommandState("defaultparagraphseparator") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<p align=center>foo<p>[bar]<p align=center>baz<p>extra" queryCommandValue("defaultparagraphseparator") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<p align=center>foo<p>[bar]<p align=center>baz<p>extra" queryCommandIndeterm("defaultparagraphseparator") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<p align=center>foo<p>[bar]<p align=center>baz<p>extra" queryCommandState("defaultparagraphseparator") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<p align=center>foo<p>[bar]<p align=center>baz<p>extra" queryCommandValue("defaultparagraphseparator") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<p align=center>foo<p>[bar]<p align=center>baz<p>extra" queryCommandIndeterm("justifycenter") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<p align=center>foo<p>[bar]<p align=center>baz<p>extra" queryCommandState("justifycenter") before 
-FAIL [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<p align=center>foo<p>[bar]<p align=center>baz<p>extra" queryCommandValue("justifycenter") before assert_equals: Wrong result returned expected "left" but got "false"
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<p align=center>foo<p>[bar]<p align=center>baz<p>extra" queryCommandIndeterm("justifycenter") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<p align=center>foo<p>[bar]<p align=center>baz<p>extra" queryCommandState("justifycenter") after 
-FAIL [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<p align=center>foo<p>[bar]<p align=center>baz<p>extra" queryCommandValue("justifycenter") after assert_equals: Wrong result returned expected "center" but got "true"
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<p align=center>foo<p>[bar]<p align=center>baz<p>extra": execCommand("stylewithcss", false, "false") return value 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<p align=center>foo<p>[bar]<p align=center>baz<p>extra": execCommand("defaultparagraphseparator", false, "div") return value 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<p align=center>foo<p>[bar]<p align=center>baz<p>extra": execCommand("justifycenter", false, "") return value 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<p align=center>foo<p>[bar]<p align=center>baz<p>extra" checks for modifications to non-editable content 
-FAIL [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<p align=center>foo<p>[bar]<p align=center>baz<p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<p align=\"center\">foo</p><div style=\"text-align:center\"><p>bar</p></div><p align=\"center\">baz</p><p>extra</p>" but got "<p align=\"center\">foo</p><p style=\"text-align:center\">bar</p><p align=\"center\">baz</p><p>extra</p>"
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<p align=center>foo<p>[bar]<p align=center>baz<p>extra" queryCommandIndeterm("stylewithcss") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<p align=center>foo<p>[bar]<p align=center>baz<p>extra" queryCommandState("stylewithcss") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<p align=center>foo<p>[bar]<p align=center>baz<p>extra" queryCommandValue("stylewithcss") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<p align=center>foo<p>[bar]<p align=center>baz<p>extra" queryCommandIndeterm("stylewithcss") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<p align=center>foo<p>[bar]<p align=center>baz<p>extra" queryCommandState("stylewithcss") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<p align=center>foo<p>[bar]<p align=center>baz<p>extra" queryCommandValue("stylewithcss") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<p align=center>foo<p>[bar]<p align=center>baz<p>extra" queryCommandIndeterm("defaultparagraphseparator") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<p align=center>foo<p>[bar]<p align=center>baz<p>extra" queryCommandState("defaultparagraphseparator") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<p align=center>foo<p>[bar]<p align=center>baz<p>extra" queryCommandValue("defaultparagraphseparator") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<p align=center>foo<p>[bar]<p align=center>baz<p>extra" queryCommandIndeterm("defaultparagraphseparator") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<p align=center>foo<p>[bar]<p align=center>baz<p>extra" queryCommandState("defaultparagraphseparator") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<p align=center>foo<p>[bar]<p align=center>baz<p>extra" queryCommandValue("defaultparagraphseparator") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<p align=center>foo<p>[bar]<p align=center>baz<p>extra" queryCommandIndeterm("justifycenter") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<p align=center>foo<p>[bar]<p align=center>baz<p>extra" queryCommandState("justifycenter") before 
-FAIL [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<p align=center>foo<p>[bar]<p align=center>baz<p>extra" queryCommandValue("justifycenter") before assert_equals: Wrong result returned expected "left" but got "false"
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<p align=center>foo<p>[bar]<p align=center>baz<p>extra" queryCommandIndeterm("justifycenter") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<p align=center>foo<p>[bar]<p align=center>baz<p>extra" queryCommandState("justifycenter") after 
-FAIL [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<p align=center>foo<p>[bar]<p align=center>baz<p>extra" queryCommandValue("justifycenter") after assert_equals: Wrong result returned expected "center" but got "true"
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<p align=center>foo<p>[bar]<p align=center>baz<p>extra": execCommand("stylewithcss", false, "true") return value 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<p align=center>foo<p>[bar]<p align=center>baz<p>extra": execCommand("defaultparagraphseparator", false, "p") return value 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<p align=center>foo<p>[bar]<p align=center>baz<p>extra": execCommand("justifycenter", false, "") return value 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<p align=center>foo<p>[bar]<p align=center>baz<p>extra" checks for modifications to non-editable content 
-FAIL [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<p align=center>foo<p>[bar]<p align=center>baz<p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<p align=\"center\">foo</p><div style=\"text-align:center\"><p>bar</p></div><p align=\"center\">baz</p><p>extra</p>" but got "<p align=\"center\">foo</p><p style=\"text-align:center\">bar</p><p align=\"center\">baz</p><p>extra</p>"
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<p align=center>foo<p>[bar]<p align=center>baz<p>extra" queryCommandIndeterm("stylewithcss") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<p align=center>foo<p>[bar]<p align=center>baz<p>extra" queryCommandState("stylewithcss") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<p align=center>foo<p>[bar]<p align=center>baz<p>extra" queryCommandValue("stylewithcss") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<p align=center>foo<p>[bar]<p align=center>baz<p>extra" queryCommandIndeterm("stylewithcss") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<p align=center>foo<p>[bar]<p align=center>baz<p>extra" queryCommandState("stylewithcss") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<p align=center>foo<p>[bar]<p align=center>baz<p>extra" queryCommandValue("stylewithcss") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<p align=center>foo<p>[bar]<p align=center>baz<p>extra" queryCommandIndeterm("defaultparagraphseparator") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<p align=center>foo<p>[bar]<p align=center>baz<p>extra" queryCommandState("defaultparagraphseparator") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<p align=center>foo<p>[bar]<p align=center>baz<p>extra" queryCommandValue("defaultparagraphseparator") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<p align=center>foo<p>[bar]<p align=center>baz<p>extra" queryCommandIndeterm("defaultparagraphseparator") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<p align=center>foo<p>[bar]<p align=center>baz<p>extra" queryCommandState("defaultparagraphseparator") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<p align=center>foo<p>[bar]<p align=center>baz<p>extra" queryCommandValue("defaultparagraphseparator") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<p align=center>foo<p>[bar]<p align=center>baz<p>extra" queryCommandIndeterm("justifycenter") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<p align=center>foo<p>[bar]<p align=center>baz<p>extra" queryCommandState("justifycenter") before 
-FAIL [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<p align=center>foo<p>[bar]<p align=center>baz<p>extra" queryCommandValue("justifycenter") before assert_equals: Wrong result returned expected "left" but got "false"
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<p align=center>foo<p>[bar]<p align=center>baz<p>extra" queryCommandIndeterm("justifycenter") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<p align=center>foo<p>[bar]<p align=center>baz<p>extra" queryCommandState("justifycenter") after 
-FAIL [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<p align=center>foo<p>[bar]<p align=center>baz<p>extra" queryCommandValue("justifycenter") after assert_equals: Wrong result returned expected "center" but got "true"
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<p align=center>foo<p>[bar]<p align=center>baz<p>extra": execCommand("stylewithcss", false, "false") return value 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<p align=center>foo<p>[bar]<p align=center>baz<p>extra": execCommand("defaultparagraphseparator", false, "p") return value 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<p align=center>foo<p>[bar]<p align=center>baz<p>extra": execCommand("justifycenter", false, "") return value 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<p align=center>foo<p>[bar]<p align=center>baz<p>extra" checks for modifications to non-editable content 
-FAIL [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<p align=center>foo<p>[bar]<p align=center>baz<p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<p align=\"center\">foo</p><div style=\"text-align:center\"><p>bar</p></div><p align=\"center\">baz</p><p>extra</p>" but got "<p align=\"center\">foo</p><p style=\"text-align:center\">bar</p><p align=\"center\">baz</p><p>extra</p>"
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<p align=center>foo<p>[bar]<p align=center>baz<p>extra" queryCommandIndeterm("stylewithcss") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<p align=center>foo<p>[bar]<p align=center>baz<p>extra" queryCommandState("stylewithcss") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<p align=center>foo<p>[bar]<p align=center>baz<p>extra" queryCommandValue("stylewithcss") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<p align=center>foo<p>[bar]<p align=center>baz<p>extra" queryCommandIndeterm("stylewithcss") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<p align=center>foo<p>[bar]<p align=center>baz<p>extra" queryCommandState("stylewithcss") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<p align=center>foo<p>[bar]<p align=center>baz<p>extra" queryCommandValue("stylewithcss") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<p align=center>foo<p>[bar]<p align=center>baz<p>extra" queryCommandIndeterm("defaultparagraphseparator") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<p align=center>foo<p>[bar]<p align=center>baz<p>extra" queryCommandState("defaultparagraphseparator") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<p align=center>foo<p>[bar]<p align=center>baz<p>extra" queryCommandValue("defaultparagraphseparator") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<p align=center>foo<p>[bar]<p align=center>baz<p>extra" queryCommandIndeterm("defaultparagraphseparator") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<p align=center>foo<p>[bar]<p align=center>baz<p>extra" queryCommandState("defaultparagraphseparator") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<p align=center>foo<p>[bar]<p align=center>baz<p>extra" queryCommandValue("defaultparagraphseparator") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<p align=center>foo<p>[bar]<p align=center>baz<p>extra" queryCommandIndeterm("justifycenter") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<p align=center>foo<p>[bar]<p align=center>baz<p>extra" queryCommandState("justifycenter") before 
-FAIL [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<p align=center>foo<p>[bar]<p align=center>baz<p>extra" queryCommandValue("justifycenter") before assert_equals: Wrong result returned expected "left" but got "false"
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<p align=center>foo<p>[bar]<p align=center>baz<p>extra" queryCommandIndeterm("justifycenter") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<p align=center>foo<p>[bar]<p align=center>baz<p>extra" queryCommandState("justifycenter") after 
-FAIL [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<p align=center>foo<p>[bar]<p align=center>baz<p>extra" queryCommandValue("justifycenter") after assert_equals: Wrong result returned expected "center" but got "true"
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<center>[foo</center>bar]<p>extra": execCommand("stylewithcss", false, "true") return value 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<center>[foo</center>bar]<p>extra": execCommand("defaultparagraphseparator", false, "div") return value 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<center>[foo</center>bar]<p>extra": execCommand("justifycenter", false, "") return value 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<center>[foo</center>bar]<p>extra" checks for modifications to non-editable content 
-FAIL [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<center>[foo</center>bar]<p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<div style=\"text-align:center\">foo<br>bar</div><p>extra</p>" but got "<center>foo</center><div style=\"text-align:center\">bar</div><p>extra</p>"
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<center>[foo</center>bar]<p>extra" queryCommandIndeterm("stylewithcss") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<center>[foo</center>bar]<p>extra" queryCommandState("stylewithcss") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<center>[foo</center>bar]<p>extra" queryCommandValue("stylewithcss") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<center>[foo</center>bar]<p>extra" queryCommandIndeterm("stylewithcss") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<center>[foo</center>bar]<p>extra" queryCommandState("stylewithcss") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<center>[foo</center>bar]<p>extra" queryCommandValue("stylewithcss") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<center>[foo</center>bar]<p>extra" queryCommandIndeterm("defaultparagraphseparator") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<center>[foo</center>bar]<p>extra" queryCommandState("defaultparagraphseparator") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<center>[foo</center>bar]<p>extra" queryCommandValue("defaultparagraphseparator") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<center>[foo</center>bar]<p>extra" queryCommandIndeterm("defaultparagraphseparator") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<center>[foo</center>bar]<p>extra" queryCommandState("defaultparagraphseparator") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<center>[foo</center>bar]<p>extra" queryCommandValue("defaultparagraphseparator") after 
-FAIL [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<center>[foo</center>bar]<p>extra" queryCommandIndeterm("justifycenter") before assert_equals: Wrong result returned expected true but got false
-FAIL [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<center>[foo</center>bar]<p>extra" queryCommandState("justifycenter") before assert_equals: Wrong result returned expected false but got true
-FAIL [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<center>[foo</center>bar]<p>extra" queryCommandValue("justifycenter") before assert_equals: Wrong result returned expected "center" but got "true"
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<center>[foo</center>bar]<p>extra" queryCommandIndeterm("justifycenter") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<center>[foo</center>bar]<p>extra" queryCommandState("justifycenter") after 
-FAIL [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<center>[foo</center>bar]<p>extra" queryCommandValue("justifycenter") after assert_equals: Wrong result returned expected "center" but got "true"
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<center>[foo</center>bar]<p>extra": execCommand("stylewithcss", false, "false") return value 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<center>[foo</center>bar]<p>extra": execCommand("defaultparagraphseparator", false, "div") return value 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<center>[foo</center>bar]<p>extra": execCommand("justifycenter", false, "") return value 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<center>[foo</center>bar]<p>extra" checks for modifications to non-editable content 
-FAIL [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<center>[foo</center>bar]<p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<div style=\"text-align:center\">foo<br>bar</div><p>extra</p>" but got "<center>foo</center><div style=\"text-align:center\">bar</div><p>extra</p>"
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<center>[foo</center>bar]<p>extra" queryCommandIndeterm("stylewithcss") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<center>[foo</center>bar]<p>extra" queryCommandState("stylewithcss") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<center>[foo</center>bar]<p>extra" queryCommandValue("stylewithcss") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<center>[foo</center>bar]<p>extra" queryCommandIndeterm("stylewithcss") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<center>[foo</center>bar]<p>extra" queryCommandState("stylewithcss") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<center>[foo</center>bar]<p>extra" queryCommandValue("stylewithcss") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<center>[foo</center>bar]<p>extra" queryCommandIndeterm("defaultparagraphseparator") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<center>[foo</center>bar]<p>extra" queryCommandState("defaultparagraphseparator") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<center>[foo</center>bar]<p>extra" queryCommandValue("defaultparagraphseparator") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<center>[foo</center>bar]<p>extra" queryCommandIndeterm("defaultparagraphseparator") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<center>[foo</center>bar]<p>extra" queryCommandState("defaultparagraphseparator") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<center>[foo</center>bar]<p>extra" queryCommandValue("defaultparagraphseparator") after 
-FAIL [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<center>[foo</center>bar]<p>extra" queryCommandIndeterm("justifycenter") before assert_equals: Wrong result returned expected true but got false
-FAIL [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<center>[foo</center>bar]<p>extra" queryCommandState("justifycenter") before assert_equals: Wrong result returned expected false but got true
-FAIL [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<center>[foo</center>bar]<p>extra" queryCommandValue("justifycenter") before assert_equals: Wrong result returned expected "center" but got "true"
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<center>[foo</center>bar]<p>extra" queryCommandIndeterm("justifycenter") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<center>[foo</center>bar]<p>extra" queryCommandState("justifycenter") after 
-FAIL [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<center>[foo</center>bar]<p>extra" queryCommandValue("justifycenter") after assert_equals: Wrong result returned expected "center" but got "true"
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<center>[foo</center>bar]<p>extra": execCommand("stylewithcss", false, "true") return value 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<center>[foo</center>bar]<p>extra": execCommand("defaultparagraphseparator", false, "p") return value 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<center>[foo</center>bar]<p>extra": execCommand("justifycenter", false, "") return value 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<center>[foo</center>bar]<p>extra" checks for modifications to non-editable content 
-FAIL [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<center>[foo</center>bar]<p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<div style=\"text-align:center\">foo<br>bar</div><p>extra</p>" but got "<center>foo</center><p style=\"text-align:center\">bar</p><p>extra</p>"
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<center>[foo</center>bar]<p>extra" queryCommandIndeterm("stylewithcss") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<center>[foo</center>bar]<p>extra" queryCommandState("stylewithcss") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<center>[foo</center>bar]<p>extra" queryCommandValue("stylewithcss") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<center>[foo</center>bar]<p>extra" queryCommandIndeterm("stylewithcss") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<center>[foo</center>bar]<p>extra" queryCommandState("stylewithcss") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<center>[foo</center>bar]<p>extra" queryCommandValue("stylewithcss") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<center>[foo</center>bar]<p>extra" queryCommandIndeterm("defaultparagraphseparator") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<center>[foo</center>bar]<p>extra" queryCommandState("defaultparagraphseparator") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<center>[foo</center>bar]<p>extra" queryCommandValue("defaultparagraphseparator") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<center>[foo</center>bar]<p>extra" queryCommandIndeterm("defaultparagraphseparator") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<center>[foo</center>bar]<p>extra" queryCommandState("defaultparagraphseparator") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<center>[foo</center>bar]<p>extra" queryCommandValue("defaultparagraphseparator") after 
-FAIL [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<center>[foo</center>bar]<p>extra" queryCommandIndeterm("justifycenter") before assert_equals: Wrong result returned expected true but got false
-FAIL [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<center>[foo</center>bar]<p>extra" queryCommandState("justifycenter") before assert_equals: Wrong result returned expected false but got true
-FAIL [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<center>[foo</center>bar]<p>extra" queryCommandValue("justifycenter") before assert_equals: Wrong result returned expected "center" but got "true"
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<center>[foo</center>bar]<p>extra" queryCommandIndeterm("justifycenter") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<center>[foo</center>bar]<p>extra" queryCommandState("justifycenter") after 
-FAIL [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<center>[foo</center>bar]<p>extra" queryCommandValue("justifycenter") after assert_equals: Wrong result returned expected "center" but got "true"
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<center>[foo</center>bar]<p>extra": execCommand("stylewithcss", false, "false") return value 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<center>[foo</center>bar]<p>extra": execCommand("defaultparagraphseparator", false, "p") return value 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<center>[foo</center>bar]<p>extra": execCommand("justifycenter", false, "") return value 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<center>[foo</center>bar]<p>extra" checks for modifications to non-editable content 
-FAIL [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<center>[foo</center>bar]<p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<div style=\"text-align:center\">foo<br>bar</div><p>extra</p>" but got "<center>foo</center><p style=\"text-align:center\">bar</p><p>extra</p>"
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<center>[foo</center>bar]<p>extra" queryCommandIndeterm("stylewithcss") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<center>[foo</center>bar]<p>extra" queryCommandState("stylewithcss") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<center>[foo</center>bar]<p>extra" queryCommandValue("stylewithcss") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<center>[foo</center>bar]<p>extra" queryCommandIndeterm("stylewithcss") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<center>[foo</center>bar]<p>extra" queryCommandState("stylewithcss") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<center>[foo</center>bar]<p>extra" queryCommandValue("stylewithcss") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<center>[foo</center>bar]<p>extra" queryCommandIndeterm("defaultparagraphseparator") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<center>[foo</center>bar]<p>extra" queryCommandState("defaultparagraphseparator") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<center>[foo</center>bar]<p>extra" queryCommandValue("defaultparagraphseparator") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<center>[foo</center>bar]<p>extra" queryCommandIndeterm("defaultparagraphseparator") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<center>[foo</center>bar]<p>extra" queryCommandState("defaultparagraphseparator") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<center>[foo</center>bar]<p>extra" queryCommandValue("defaultparagraphseparator") after 
-FAIL [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<center>[foo</center>bar]<p>extra" queryCommandIndeterm("justifycenter") before assert_equals: Wrong result returned expected true but got false
-FAIL [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<center>[foo</center>bar]<p>extra" queryCommandState("justifycenter") before assert_equals: Wrong result returned expected false but got true
-FAIL [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<center>[foo</center>bar]<p>extra" queryCommandValue("justifycenter") before assert_equals: Wrong result returned expected "center" but got "true"
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<center>[foo</center>bar]<p>extra" queryCommandIndeterm("justifycenter") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<center>[foo</center>bar]<p>extra" queryCommandState("justifycenter") after 
-FAIL [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<center>[foo</center>bar]<p>extra" queryCommandValue("justifycenter") after assert_equals: Wrong result returned expected "center" but got "true"
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<center>fo[o</center>b]ar<p>extra": execCommand("stylewithcss", false, "true") return value 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<center>fo[o</center>b]ar<p>extra": execCommand("defaultparagraphseparator", false, "div") return value 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<center>fo[o</center>b]ar<p>extra": execCommand("justifycenter", false, "") return value 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<center>fo[o</center>b]ar<p>extra" checks for modifications to non-editable content 
-FAIL [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<center>fo[o</center>b]ar<p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<div style=\"text-align:center\">foo<br>bar</div><p>extra</p>" but got "<center>foo</center><div style=\"text-align:center\">bar</div><p>extra</p>"
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<center>fo[o</center>b]ar<p>extra" queryCommandIndeterm("stylewithcss") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<center>fo[o</center>b]ar<p>extra" queryCommandState("stylewithcss") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<center>fo[o</center>b]ar<p>extra" queryCommandValue("stylewithcss") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<center>fo[o</center>b]ar<p>extra" queryCommandIndeterm("stylewithcss") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<center>fo[o</center>b]ar<p>extra" queryCommandState("stylewithcss") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<center>fo[o</center>b]ar<p>extra" queryCommandValue("stylewithcss") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<center>fo[o</center>b]ar<p>extra" queryCommandIndeterm("defaultparagraphseparator") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<center>fo[o</center>b]ar<p>extra" queryCommandState("defaultparagraphseparator") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<center>fo[o</center>b]ar<p>extra" queryCommandValue("defaultparagraphseparator") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<center>fo[o</center>b]ar<p>extra" queryCommandIndeterm("defaultparagraphseparator") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<center>fo[o</center>b]ar<p>extra" queryCommandState("defaultparagraphseparator") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<center>fo[o</center>b]ar<p>extra" queryCommandValue("defaultparagraphseparator") after 
-FAIL [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<center>fo[o</center>b]ar<p>extra" queryCommandIndeterm("justifycenter") before assert_equals: Wrong result returned expected true but got false
-FAIL [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<center>fo[o</center>b]ar<p>extra" queryCommandState("justifycenter") before assert_equals: Wrong result returned expected false but got true
-FAIL [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<center>fo[o</center>b]ar<p>extra" queryCommandValue("justifycenter") before assert_equals: Wrong result returned expected "center" but got "true"
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<center>fo[o</center>b]ar<p>extra" queryCommandIndeterm("justifycenter") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<center>fo[o</center>b]ar<p>extra" queryCommandState("justifycenter") after 
-FAIL [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<center>fo[o</center>b]ar<p>extra" queryCommandValue("justifycenter") after assert_equals: Wrong result returned expected "center" but got "true"
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<center>fo[o</center>b]ar<p>extra": execCommand("stylewithcss", false, "false") return value 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<center>fo[o</center>b]ar<p>extra": execCommand("defaultparagraphseparator", false, "div") return value 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<center>fo[o</center>b]ar<p>extra": execCommand("justifycenter", false, "") return value 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<center>fo[o</center>b]ar<p>extra" checks for modifications to non-editable content 
-FAIL [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<center>fo[o</center>b]ar<p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<div style=\"text-align:center\">foo<br>bar</div><p>extra</p>" but got "<center>foo</center><div style=\"text-align:center\">bar</div><p>extra</p>"
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<center>fo[o</center>b]ar<p>extra" queryCommandIndeterm("stylewithcss") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<center>fo[o</center>b]ar<p>extra" queryCommandState("stylewithcss") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<center>fo[o</center>b]ar<p>extra" queryCommandValue("stylewithcss") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<center>fo[o</center>b]ar<p>extra" queryCommandIndeterm("stylewithcss") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<center>fo[o</center>b]ar<p>extra" queryCommandState("stylewithcss") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<center>fo[o</center>b]ar<p>extra" queryCommandValue("stylewithcss") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<center>fo[o</center>b]ar<p>extra" queryCommandIndeterm("defaultparagraphseparator") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<center>fo[o</center>b]ar<p>extra" queryCommandState("defaultparagraphseparator") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<center>fo[o</center>b]ar<p>extra" queryCommandValue("defaultparagraphseparator") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<center>fo[o</center>b]ar<p>extra" queryCommandIndeterm("defaultparagraphseparator") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<center>fo[o</center>b]ar<p>extra" queryCommandState("defaultparagraphseparator") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<center>fo[o</center>b]ar<p>extra" queryCommandValue("defaultparagraphseparator") after 
-FAIL [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<center>fo[o</center>b]ar<p>extra" queryCommandIndeterm("justifycenter") before assert_equals: Wrong result returned expected true but got false
-FAIL [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<center>fo[o</center>b]ar<p>extra" queryCommandState("justifycenter") before assert_equals: Wrong result returned expected false but got true
-FAIL [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<center>fo[o</center>b]ar<p>extra" queryCommandValue("justifycenter") before assert_equals: Wrong result returned expected "center" but got "true"
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<center>fo[o</center>b]ar<p>extra" queryCommandIndeterm("justifycenter") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<center>fo[o</center>b]ar<p>extra" queryCommandState("justifycenter") after 
-FAIL [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<center>fo[o</center>b]ar<p>extra" queryCommandValue("justifycenter") after assert_equals: Wrong result returned expected "center" but got "true"
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<center>fo[o</center>b]ar<p>extra": execCommand("stylewithcss", false, "true") return value 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<center>fo[o</center>b]ar<p>extra": execCommand("defaultparagraphseparator", false, "p") return value 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<center>fo[o</center>b]ar<p>extra": execCommand("justifycenter", false, "") return value 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<center>fo[o</center>b]ar<p>extra" checks for modifications to non-editable content 
-FAIL [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<center>fo[o</center>b]ar<p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<div style=\"text-align:center\">foo<br>bar</div><p>extra</p>" but got "<center>foo</center><p style=\"text-align:center\">bar</p><p>extra</p>"
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<center>fo[o</center>b]ar<p>extra" queryCommandIndeterm("stylewithcss") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<center>fo[o</center>b]ar<p>extra" queryCommandState("stylewithcss") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<center>fo[o</center>b]ar<p>extra" queryCommandValue("stylewithcss") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<center>fo[o</center>b]ar<p>extra" queryCommandIndeterm("stylewithcss") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<center>fo[o</center>b]ar<p>extra" queryCommandState("stylewithcss") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<center>fo[o</center>b]ar<p>extra" queryCommandValue("stylewithcss") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<center>fo[o</center>b]ar<p>extra" queryCommandIndeterm("defaultparagraphseparator") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<center>fo[o</center>b]ar<p>extra" queryCommandState("defaultparagraphseparator") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<center>fo[o</center>b]ar<p>extra" queryCommandValue("defaultparagraphseparator") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<center>fo[o</center>b]ar<p>extra" queryCommandIndeterm("defaultparagraphseparator") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<center>fo[o</center>b]ar<p>extra" queryCommandState("defaultparagraphseparator") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<center>fo[o</center>b]ar<p>extra" queryCommandValue("defaultparagraphseparator") after 
-FAIL [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<center>fo[o</center>b]ar<p>extra" queryCommandIndeterm("justifycenter") before assert_equals: Wrong result returned expected true but got false
-FAIL [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<center>fo[o</center>b]ar<p>extra" queryCommandState("justifycenter") before assert_equals: Wrong result returned expected false but got true
-FAIL [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<center>fo[o</center>b]ar<p>extra" queryCommandValue("justifycenter") before assert_equals: Wrong result returned expected "center" but got "true"
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<center>fo[o</center>b]ar<p>extra" queryCommandIndeterm("justifycenter") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<center>fo[o</center>b]ar<p>extra" queryCommandState("justifycenter") after 
-FAIL [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<center>fo[o</center>b]ar<p>extra" queryCommandValue("justifycenter") after assert_equals: Wrong result returned expected "center" but got "true"
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<center>fo[o</center>b]ar<p>extra": execCommand("stylewithcss", false, "false") return value 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<center>fo[o</center>b]ar<p>extra": execCommand("defaultparagraphseparator", false, "p") return value 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<center>fo[o</center>b]ar<p>extra": execCommand("justifycenter", false, "") return value 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<center>fo[o</center>b]ar<p>extra" checks for modifications to non-editable content 
-FAIL [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<center>fo[o</center>b]ar<p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<div style=\"text-align:center\">foo<br>bar</div><p>extra</p>" but got "<center>foo</center><p style=\"text-align:center\">bar</p><p>extra</p>"
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<center>fo[o</center>b]ar<p>extra" queryCommandIndeterm("stylewithcss") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<center>fo[o</center>b]ar<p>extra" queryCommandState("stylewithcss") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<center>fo[o</center>b]ar<p>extra" queryCommandValue("stylewithcss") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<center>fo[o</center>b]ar<p>extra" queryCommandIndeterm("stylewithcss") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<center>fo[o</center>b]ar<p>extra" queryCommandState("stylewithcss") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<center>fo[o</center>b]ar<p>extra" queryCommandValue("stylewithcss") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<center>fo[o</center>b]ar<p>extra" queryCommandIndeterm("defaultparagraphseparator") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<center>fo[o</center>b]ar<p>extra" queryCommandState("defaultparagraphseparator") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<center>fo[o</center>b]ar<p>extra" queryCommandValue("defaultparagraphseparator") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<center>fo[o</center>b]ar<p>extra" queryCommandIndeterm("defaultparagraphseparator") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<center>fo[o</center>b]ar<p>extra" queryCommandState("defaultparagraphseparator") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<center>fo[o</center>b]ar<p>extra" queryCommandValue("defaultparagraphseparator") after 
-FAIL [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<center>fo[o</center>b]ar<p>extra" queryCommandIndeterm("justifycenter") before assert_equals: Wrong result returned expected true but got false
-FAIL [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<center>fo[o</center>b]ar<p>extra" queryCommandState("justifycenter") before assert_equals: Wrong result returned expected false but got true
-FAIL [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<center>fo[o</center>b]ar<p>extra" queryCommandValue("justifycenter") before assert_equals: Wrong result returned expected "center" but got "true"
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<center>fo[o</center>b]ar<p>extra" queryCommandIndeterm("justifycenter") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<center>fo[o</center>b]ar<p>extra" queryCommandState("justifycenter") after 
-FAIL [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<center>fo[o</center>b]ar<p>extra" queryCommandValue("justifycenter") after assert_equals: Wrong result returned expected "center" but got "true"
-PASS [["stylewithcss","true"],["justifycenter",""]] "<div align=center>[foo</div>bar]<p>extra": execCommand("stylewithcss", false, "true") return value 
-PASS [["stylewithcss","true"],["justifycenter",""]] "<div align=center>[foo</div>bar]<p>extra": execCommand("justifycenter", false, "") return value 
-PASS [["stylewithcss","true"],["justifycenter",""]] "<div align=center>[foo</div>bar]<p>extra" checks for modifications to non-editable content 
-FAIL [["stylewithcss","true"],["justifycenter",""]] "<div align=center>[foo</div>bar]<p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<div style=\"text-align:center\">foo<br>bar</div><p>extra</p>" but got "<div align=\"center\">foo</div><p style=\"text-align:center\">bar</p><p>extra</p>"
-PASS [["stylewithcss","true"],["justifycenter",""]] "<div align=center>[foo</div>bar]<p>extra" queryCommandIndeterm("stylewithcss") before 
-PASS [["stylewithcss","true"],["justifycenter",""]] "<div align=center>[foo</div>bar]<p>extra" queryCommandState("stylewithcss") before 
-PASS [["stylewithcss","true"],["justifycenter",""]] "<div align=center>[foo</div>bar]<p>extra" queryCommandValue("stylewithcss") before 
-PASS [["stylewithcss","true"],["justifycenter",""]] "<div align=center>[foo</div>bar]<p>extra" queryCommandIndeterm("stylewithcss") after 
-PASS [["stylewithcss","true"],["justifycenter",""]] "<div align=center>[foo</div>bar]<p>extra" queryCommandState("stylewithcss") after 
-PASS [["stylewithcss","true"],["justifycenter",""]] "<div align=center>[foo</div>bar]<p>extra" queryCommandValue("stylewithcss") after 
-FAIL [["stylewithcss","true"],["justifycenter",""]] "<div align=center>[foo</div>bar]<p>extra" queryCommandIndeterm("justifycenter") before assert_equals: Wrong result returned expected true but got false
-FAIL [["stylewithcss","true"],["justifycenter",""]] "<div align=center>[foo</div>bar]<p>extra" queryCommandState("justifycenter") before assert_equals: Wrong result returned expected false but got true
-FAIL [["stylewithcss","true"],["justifycenter",""]] "<div align=center>[foo</div>bar]<p>extra" queryCommandValue("justifycenter") before assert_equals: Wrong result returned expected "center" but got "true"
-PASS [["stylewithcss","true"],["justifycenter",""]] "<div align=center>[foo</div>bar]<p>extra" queryCommandIndeterm("justifycenter") after 
-PASS [["stylewithcss","true"],["justifycenter",""]] "<div align=center>[foo</div>bar]<p>extra" queryCommandState("justifycenter") after 
-FAIL [["stylewithcss","true"],["justifycenter",""]] "<div align=center>[foo</div>bar]<p>extra" queryCommandValue("justifycenter") after assert_equals: Wrong result returned expected "center" but got "true"
-PASS [["stylewithcss","false"],["justifycenter",""]] "<div align=center>[foo</div>bar]<p>extra": execCommand("stylewithcss", false, "false") return value 
-PASS [["stylewithcss","false"],["justifycenter",""]] "<div align=center>[foo</div>bar]<p>extra": execCommand("justifycenter", false, "") return value 
-PASS [["stylewithcss","false"],["justifycenter",""]] "<div align=center>[foo</div>bar]<p>extra" checks for modifications to non-editable content 
-FAIL [["stylewithcss","false"],["justifycenter",""]] "<div align=center>[foo</div>bar]<p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<div style=\"text-align:center\">foo<br>bar</div><p>extra</p>" but got "<div align=\"center\">foo</div><p style=\"text-align:center\">bar</p><p>extra</p>"
-PASS [["stylewithcss","false"],["justifycenter",""]] "<div align=center>[foo</div>bar]<p>extra" queryCommandIndeterm("stylewithcss") before 
-PASS [["stylewithcss","false"],["justifycenter",""]] "<div align=center>[foo</div>bar]<p>extra" queryCommandState("stylewithcss") before 
-PASS [["stylewithcss","false"],["justifycenter",""]] "<div align=center>[foo</div>bar]<p>extra" queryCommandValue("stylewithcss") before 
-PASS [["stylewithcss","false"],["justifycenter",""]] "<div align=center>[foo</div>bar]<p>extra" queryCommandIndeterm("stylewithcss") after 
-PASS [["stylewithcss","false"],["justifycenter",""]] "<div align=center>[foo</div>bar]<p>extra" queryCommandState("stylewithcss") after 
-PASS [["stylewithcss","false"],["justifycenter",""]] "<div align=center>[foo</div>bar]<p>extra" queryCommandValue("stylewithcss") after 
-FAIL [["stylewithcss","false"],["justifycenter",""]] "<div align=center>[foo</div>bar]<p>extra" queryCommandIndeterm("justifycenter") before assert_equals: Wrong result returned expected true but got false
-FAIL [["stylewithcss","false"],["justifycenter",""]] "<div align=center>[foo</div>bar]<p>extra" queryCommandState("justifycenter") before assert_equals: Wrong result returned expected false but got true
-FAIL [["stylewithcss","false"],["justifycenter",""]] "<div align=center>[foo</div>bar]<p>extra" queryCommandValue("justifycenter") before assert_equals: Wrong result returned expected "center" but got "true"
-PASS [["stylewithcss","false"],["justifycenter",""]] "<div align=center>[foo</div>bar]<p>extra" queryCommandIndeterm("justifycenter") after 
-PASS [["stylewithcss","false"],["justifycenter",""]] "<div align=center>[foo</div>bar]<p>extra" queryCommandState("justifycenter") after 
-FAIL [["stylewithcss","false"],["justifycenter",""]] "<div align=center>[foo</div>bar]<p>extra" queryCommandValue("justifycenter") after assert_equals: Wrong result returned expected "center" but got "true"
-PASS [["stylewithcss","true"],["justifycenter",""]] "<div align=center>fo[o</div>b]ar<p>extra": execCommand("stylewithcss", false, "true") return value 
-PASS [["stylewithcss","true"],["justifycenter",""]] "<div align=center>fo[o</div>b]ar<p>extra": execCommand("justifycenter", false, "") return value 
-PASS [["stylewithcss","true"],["justifycenter",""]] "<div align=center>fo[o</div>b]ar<p>extra" checks for modifications to non-editable content 
-FAIL [["stylewithcss","true"],["justifycenter",""]] "<div align=center>fo[o</div>b]ar<p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<div style=\"text-align:center\">foo<br>bar</div><p>extra</p>" but got "<div align=\"center\">foo</div><p style=\"text-align:center\">bar</p><p>extra</p>"
-PASS [["stylewithcss","true"],["justifycenter",""]] "<div align=center>fo[o</div>b]ar<p>extra" queryCommandIndeterm("stylewithcss") before 
-PASS [["stylewithcss","true"],["justifycenter",""]] "<div align=center>fo[o</div>b]ar<p>extra" queryCommandState("stylewithcss") before 
-PASS [["stylewithcss","true"],["justifycenter",""]] "<div align=center>fo[o</div>b]ar<p>extra" queryCommandValue("stylewithcss") before 
-PASS [["stylewithcss","true"],["justifycenter",""]] "<div align=center>fo[o</div>b]ar<p>extra" queryCommandIndeterm("stylewithcss") after 
-PASS [["stylewithcss","true"],["justifycenter",""]] "<div align=center>fo[o</div>b]ar<p>extra" queryCommandState("stylewithcss") after 
-PASS [["stylewithcss","true"],["justifycenter",""]] "<div align=center>fo[o</div>b]ar<p>extra" queryCommandValue("stylewithcss") after 
-FAIL [["stylewithcss","true"],["justifycenter",""]] "<div align=center>fo[o</div>b]ar<p>extra" queryCommandIndeterm("justifycenter") before assert_equals: Wrong result returned expected true but got false
-FAIL [["stylewithcss","true"],["justifycenter",""]] "<div align=center>fo[o</div>b]ar<p>extra" queryCommandState("justifycenter") before assert_equals: Wrong result returned expected false but got true
-FAIL [["stylewithcss","true"],["justifycenter",""]] "<div align=center>fo[o</div>b]ar<p>extra" queryCommandValue("justifycenter") before assert_equals: Wrong result returned expected "center" but got "true"
-PASS [["stylewithcss","true"],["justifycenter",""]] "<div align=center>fo[o</div>b]ar<p>extra" queryCommandIndeterm("justifycenter") after 
-PASS [["stylewithcss","true"],["justifycenter",""]] "<div align=center>fo[o</div>b]ar<p>extra" queryCommandState("justifycenter") after 
-FAIL [["stylewithcss","true"],["justifycenter",""]] "<div align=center>fo[o</div>b]ar<p>extra" queryCommandValue("justifycenter") after assert_equals: Wrong result returned expected "center" but got "true"
-PASS [["stylewithcss","false"],["justifycenter",""]] "<div align=center>fo[o</div>b]ar<p>extra": execCommand("stylewithcss", false, "false") return value 
-PASS [["stylewithcss","false"],["justifycenter",""]] "<div align=center>fo[o</div>b]ar<p>extra": execCommand("justifycenter", false, "") return value 
-PASS [["stylewithcss","false"],["justifycenter",""]] "<div align=center>fo[o</div>b]ar<p>extra" checks for modifications to non-editable content 
-FAIL [["stylewithcss","false"],["justifycenter",""]] "<div align=center>fo[o</div>b]ar<p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<div style=\"text-align:center\">foo<br>bar</div><p>extra</p>" but got "<div align=\"center\">foo</div><p style=\"text-align:center\">bar</p><p>extra</p>"
-PASS [["stylewithcss","false"],["justifycenter",""]] "<div align=center>fo[o</div>b]ar<p>extra" queryCommandIndeterm("stylewithcss") before 
-PASS [["stylewithcss","false"],["justifycenter",""]] "<div align=center>fo[o</div>b]ar<p>extra" queryCommandState("stylewithcss") before 
-PASS [["stylewithcss","false"],["justifycenter",""]] "<div align=center>fo[o</div>b]ar<p>extra" queryCommandValue("stylewithcss") before 
-PASS [["stylewithcss","false"],["justifycenter",""]] "<div align=center>fo[o</div>b]ar<p>extra" queryCommandIndeterm("stylewithcss") after 
-PASS [["stylewithcss","false"],["justifycenter",""]] "<div align=center>fo[o</div>b]ar<p>extra" queryCommandState("stylewithcss") after 
-PASS [["stylewithcss","false"],["justifycenter",""]] "<div align=center>fo[o</div>b]ar<p>extra" queryCommandValue("stylewithcss") after 
-FAIL [["stylewithcss","false"],["justifycenter",""]] "<div align=center>fo[o</div>b]ar<p>extra" queryCommandIndeterm("justifycenter") before assert_equals: Wrong result returned expected true but got false
-FAIL [["stylewithcss","false"],["justifycenter",""]] "<div align=center>fo[o</div>b]ar<p>extra" queryCommandState("justifycenter") before assert_equals: Wrong result returned expected false but got true
-FAIL [["stylewithcss","false"],["justifycenter",""]] "<div align=center>fo[o</div>b]ar<p>extra" queryCommandValue("justifycenter") before assert_equals: Wrong result returned expected "center" but got "true"
-PASS [["stylewithcss","false"],["justifycenter",""]] "<div align=center>fo[o</div>b]ar<p>extra" queryCommandIndeterm("justifycenter") after 
-PASS [["stylewithcss","false"],["justifycenter",""]] "<div align=center>fo[o</div>b]ar<p>extra" queryCommandState("justifycenter") after 
-FAIL [["stylewithcss","false"],["justifycenter",""]] "<div align=center>fo[o</div>b]ar<p>extra" queryCommandValue("justifycenter") after assert_equals: Wrong result returned expected "center" but got "true"
-PASS [["justifycenter",""]] "<div style=text-align:center>[foo</div>bar]<p>extra": execCommand("justifycenter", false, "") return value 
-PASS [["justifycenter",""]] "<div style=text-align:center>[foo</div>bar]<p>extra" checks for modifications to non-editable content 
-FAIL [["justifycenter",""]] "<div style=text-align:center>[foo</div>bar]<p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<div style=\"text-align:center\">foo<br>bar</div><p>extra</p>" but got "<div style=\"text-align:center\">foo</div><p style=\"text-align:center\">bar</p><p>extra</p>"
-FAIL [["justifycenter",""]] "<div style=text-align:center>[foo</div>bar]<p>extra" queryCommandIndeterm("justifycenter") before assert_equals: Wrong result returned expected true but got false
-FAIL [["justifycenter",""]] "<div style=text-align:center>[foo</div>bar]<p>extra" queryCommandState("justifycenter") before assert_equals: Wrong result returned expected false but got true
-FAIL [["justifycenter",""]] "<div style=text-align:center>[foo</div>bar]<p>extra" queryCommandValue("justifycenter") before assert_equals: Wrong result returned expected "center" but got "true"
-PASS [["justifycenter",""]] "<div style=text-align:center>[foo</div>bar]<p>extra" queryCommandIndeterm("justifycenter") after 
-PASS [["justifycenter",""]] "<div style=text-align:center>[foo</div>bar]<p>extra" queryCommandState("justifycenter") after 
-FAIL [["justifycenter",""]] "<div style=text-align:center>[foo</div>bar]<p>extra" queryCommandValue("justifycenter") after assert_equals: Wrong result returned expected "center" but got "true"
-PASS [["justifycenter",""]] "<div style=text-align:center>fo[o</div>b]ar<p>extra": execCommand("justifycenter", false, "") return value 
-PASS [["justifycenter",""]] "<div style=text-align:center>fo[o</div>b]ar<p>extra" checks for modifications to non-editable content 
-FAIL [["justifycenter",""]] "<div style=text-align:center>fo[o</div>b]ar<p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<div style=\"text-align:center\">foo<br>bar</div><p>extra</p>" but got "<div style=\"text-align:center\">foo</div><p style=\"text-align:center\">bar</p><p>extra</p>"
-FAIL [["justifycenter",""]] "<div style=text-align:center>fo[o</div>b]ar<p>extra" queryCommandIndeterm("justifycenter") before assert_equals: Wrong result returned expected true but got false
-FAIL [["justifycenter",""]] "<div style=text-align:center>fo[o</div>b]ar<p>extra" queryCommandState("justifycenter") before assert_equals: Wrong result returned expected false but got true
-FAIL [["justifycenter",""]] "<div style=text-align:center>fo[o</div>b]ar<p>extra" queryCommandValue("justifycenter") before assert_equals: Wrong result returned expected "center" but got "true"
-PASS [["justifycenter",""]] "<div style=text-align:center>fo[o</div>b]ar<p>extra" queryCommandIndeterm("justifycenter") after 
-PASS [["justifycenter",""]] "<div style=text-align:center>fo[o</div>b]ar<p>extra" queryCommandState("justifycenter") after 
-FAIL [["justifycenter",""]] "<div style=text-align:center>fo[o</div>b]ar<p>extra" queryCommandValue("justifycenter") after assert_equals: Wrong result returned expected "center" but got "true"
-PASS [["defaultparagraphseparator","div"],["justifycenter",""]] "<span style=text-align:center>[foo]</span><p>extra": execCommand("defaultparagraphseparator", false, "div") return value 
-PASS [["defaultparagraphseparator","div"],["justifycenter",""]] "<span style=text-align:center>[foo]</span><p>extra": execCommand("justifycenter", false, "") return value 
-PASS [["defaultparagraphseparator","div"],["justifycenter",""]] "<span style=text-align:center>[foo]</span><p>extra" checks for modifications to non-editable content 
-FAIL [["defaultparagraphseparator","div"],["justifycenter",""]] "<span style=text-align:center>[foo]</span><p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<div style=\"text-align:center\">foo</div><p>extra</p>" but got "<span style=\"text-align:center\">foo</span><p>extra</p>"
-PASS [["defaultparagraphseparator","div"],["justifycenter",""]] "<span style=text-align:center>[foo]</span><p>extra" queryCommandIndeterm("defaultparagraphseparator") before 
-PASS [["defaultparagraphseparator","div"],["justifycenter",""]] "<span style=text-align:center>[foo]</span><p>extra" queryCommandState("defaultparagraphseparator") before 
-PASS [["defaultparagraphseparator","div"],["justifycenter",""]] "<span style=text-align:center>[foo]</span><p>extra" queryCommandValue("defaultparagraphseparator") before 
-PASS [["defaultparagraphseparator","div"],["justifycenter",""]] "<span style=text-align:center>[foo]</span><p>extra" queryCommandIndeterm("defaultparagraphseparator") after 
-PASS [["defaultparagraphseparator","div"],["justifycenter",""]] "<span style=text-align:center>[foo]</span><p>extra" queryCommandState("defaultparagraphseparator") after 
-PASS [["defaultparagraphseparator","div"],["justifycenter",""]] "<span style=text-align:center>[foo]</span><p>extra" queryCommandValue("defaultparagraphseparator") after 
-PASS [["defaultparagraphseparator","div"],["justifycenter",""]] "<span style=text-align:center>[foo]</span><p>extra" queryCommandIndeterm("justifycenter") before 
-FAIL [["defaultparagraphseparator","div"],["justifycenter",""]] "<span style=text-align:center>[foo]</span><p>extra" queryCommandState("justifycenter") before assert_equals: Wrong result returned expected false but got true
-FAIL [["defaultparagraphseparator","div"],["justifycenter",""]] "<span style=text-align:center>[foo]</span><p>extra" queryCommandValue("justifycenter") before assert_equals: Wrong result returned expected "left" but got "true"
-PASS [["defaultparagraphseparator","div"],["justifycenter",""]] "<span style=text-align:center>[foo]</span><p>extra" queryCommandIndeterm("justifycenter") after 
-PASS [["defaultparagraphseparator","div"],["justifycenter",""]] "<span style=text-align:center>[foo]</span><p>extra" queryCommandState("justifycenter") after 
-FAIL [["defaultparagraphseparator","div"],["justifycenter",""]] "<span style=text-align:center>[foo]</span><p>extra" queryCommandValue("justifycenter") after assert_equals: Wrong result returned expected "center" but got "true"
-PASS [["defaultparagraphseparator","p"],["justifycenter",""]] "<span style=text-align:center>[foo]</span><p>extra": execCommand("defaultparagraphseparator", false, "p") return value 
-PASS [["defaultparagraphseparator","p"],["justifycenter",""]] "<span style=text-align:center>[foo]</span><p>extra": execCommand("justifycenter", false, "") return value 
-PASS [["defaultparagraphseparator","p"],["justifycenter",""]] "<span style=text-align:center>[foo]</span><p>extra" checks for modifications to non-editable content 
-FAIL [["defaultparagraphseparator","p"],["justifycenter",""]] "<span style=text-align:center>[foo]</span><p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<div style=\"text-align:center\">foo</div><p>extra</p>" but got "<span style=\"text-align:center\">foo</span><p>extra</p>"
-PASS [["defaultparagraphseparator","p"],["justifycenter",""]] "<span style=text-align:center>[foo]</span><p>extra" queryCommandIndeterm("defaultparagraphseparator") before 
-PASS [["defaultparagraphseparator","p"],["justifycenter",""]] "<span style=text-align:center>[foo]</span><p>extra" queryCommandState("defaultparagraphseparator") before 
-PASS [["defaultparagraphseparator","p"],["justifycenter",""]] "<span style=text-align:center>[foo]</span><p>extra" queryCommandValue("defaultparagraphseparator") before 
-PASS [["defaultparagraphseparator","p"],["justifycenter",""]] "<span style=text-align:center>[foo]</span><p>extra" queryCommandIndeterm("defaultparagraphseparator") after 
-PASS [["defaultparagraphseparator","p"],["justifycenter",""]] "<span style=text-align:center>[foo]</span><p>extra" queryCommandState("defaultparagraphseparator") after 
-PASS [["defaultparagraphseparator","p"],["justifycenter",""]] "<span style=text-align:center>[foo]</span><p>extra" queryCommandValue("defaultparagraphseparator") after 
-PASS [["defaultparagraphseparator","p"],["justifycenter",""]] "<span style=text-align:center>[foo]</span><p>extra" queryCommandIndeterm("justifycenter") before 
-FAIL [["defaultparagraphseparator","p"],["justifycenter",""]] "<span style=text-align:center>[foo]</span><p>extra" queryCommandState("justifycenter") before assert_equals: Wrong result returned expected false but got true
-FAIL [["defaultparagraphseparator","p"],["justifycenter",""]] "<span style=text-align:center>[foo]</span><p>extra" queryCommandValue("justifycenter") before assert_equals: Wrong result returned expected "left" but got "true"
-PASS [["defaultparagraphseparator","p"],["justifycenter",""]] "<span style=text-align:center>[foo]</span><p>extra" queryCommandIndeterm("justifycenter") after 
-PASS [["defaultparagraphseparator","p"],["justifycenter",""]] "<span style=text-align:center>[foo]</span><p>extra" queryCommandState("justifycenter") after 
-FAIL [["defaultparagraphseparator","p"],["justifycenter",""]] "<span style=text-align:center>[foo]</span><p>extra" queryCommandValue("justifycenter") after assert_equals: Wrong result returned expected "center" but got "true"
-PASS [["defaultparagraphseparator","div"],["justifycenter",""]] "<span style=text-align:center>f[o]o</span><p>extra": execCommand("defaultparagraphseparator", false, "div") return value 
-PASS [["defaultparagraphseparator","div"],["justifycenter",""]] "<span style=text-align:center>f[o]o</span><p>extra": execCommand("justifycenter", false, "") return value 
-PASS [["defaultparagraphseparator","div"],["justifycenter",""]] "<span style=text-align:center>f[o]o</span><p>extra" checks for modifications to non-editable content 
-FAIL [["defaultparagraphseparator","div"],["justifycenter",""]] "<span style=text-align:center>f[o]o</span><p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<div style=\"text-align:center\">foo</div><p>extra</p>" but got "<span style=\"text-align:center\">foo</span><p>extra</p>"
-PASS [["defaultparagraphseparator","div"],["justifycenter",""]] "<span style=text-align:center>f[o]o</span><p>extra" queryCommandIndeterm("defaultparagraphseparator") before 
-PASS [["defaultparagraphseparator","div"],["justifycenter",""]] "<span style=text-align:center>f[o]o</span><p>extra" queryCommandState("defaultparagraphseparator") before 
-PASS [["defaultparagraphseparator","div"],["justifycenter",""]] "<span style=text-align:center>f[o]o</span><p>extra" queryCommandValue("defaultparagraphseparator") before 
-PASS [["defaultparagraphseparator","div"],["justifycenter",""]] "<span style=text-align:center>f[o]o</span><p>extra" queryCommandIndeterm("defaultparagraphseparator") after 
-PASS [["defaultparagraphseparator","div"],["justifycenter",""]] "<span style=text-align:center>f[o]o</span><p>extra" queryCommandState("defaultparagraphseparator") after 
-PASS [["defaultparagraphseparator","div"],["justifycenter",""]] "<span style=text-align:center>f[o]o</span><p>extra" queryCommandValue("defaultparagraphseparator") after 
-PASS [["defaultparagraphseparator","div"],["justifycenter",""]] "<span style=text-align:center>f[o]o</span><p>extra" queryCommandIndeterm("justifycenter") before 
-FAIL [["defaultparagraphseparator","div"],["justifycenter",""]] "<span style=text-align:center>f[o]o</span><p>extra" queryCommandState("justifycenter") before assert_equals: Wrong result returned expected false but got true
-FAIL [["defaultparagraphseparator","div"],["justifycenter",""]] "<span style=text-align:center>f[o]o</span><p>extra" queryCommandValue("justifycenter") before assert_equals: Wrong result returned expected "left" but got "true"
-PASS [["defaultparagraphseparator","div"],["justifycenter",""]] "<span style=text-align:center>f[o]o</span><p>extra" queryCommandIndeterm("justifycenter") after 
-PASS [["defaultparagraphseparator","div"],["justifycenter",""]] "<span style=text-align:center>f[o]o</span><p>extra" queryCommandState("justifycenter") after 
-FAIL [["defaultparagraphseparator","div"],["justifycenter",""]] "<span style=text-align:center>f[o]o</span><p>extra" queryCommandValue("justifycenter") after assert_equals: Wrong result returned expected "center" but got "true"
-PASS [["defaultparagraphseparator","p"],["justifycenter",""]] "<span style=text-align:center>f[o]o</span><p>extra": execCommand("defaultparagraphseparator", false, "p") return value 
-PASS [["defaultparagraphseparator","p"],["justifycenter",""]] "<span style=text-align:center>f[o]o</span><p>extra": execCommand("justifycenter", false, "") return value 
-PASS [["defaultparagraphseparator","p"],["justifycenter",""]] "<span style=text-align:center>f[o]o</span><p>extra" checks for modifications to non-editable content 
-FAIL [["defaultparagraphseparator","p"],["justifycenter",""]] "<span style=text-align:center>f[o]o</span><p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<div style=\"text-align:center\">foo</div><p>extra</p>" but got "<span style=\"text-align:center\">foo</span><p>extra</p>"
-PASS [["defaultparagraphseparator","p"],["justifycenter",""]] "<span style=text-align:center>f[o]o</span><p>extra" queryCommandIndeterm("defaultparagraphseparator") before 
-PASS [["defaultparagraphseparator","p"],["justifycenter",""]] "<span style=text-align:center>f[o]o</span><p>extra" queryCommandState("defaultparagraphseparator") before 
-PASS [["defaultparagraphseparator","p"],["justifycenter",""]] "<span style=text-align:center>f[o]o</span><p>extra" queryCommandValue("defaultparagraphseparator") before 
-PASS [["defaultparagraphseparator","p"],["justifycenter",""]] "<span style=text-align:center>f[o]o</span><p>extra" queryCommandIndeterm("defaultparagraphseparator") after 
-PASS [["defaultparagraphseparator","p"],["justifycenter",""]] "<span style=text-align:center>f[o]o</span><p>extra" queryCommandState("defaultparagraphseparator") after 
-PASS [["defaultparagraphseparator","p"],["justifycenter",""]] "<span style=text-align:center>f[o]o</span><p>extra" queryCommandValue("defaultparagraphseparator") after 
-PASS [["defaultparagraphseparator","p"],["justifycenter",""]] "<span style=text-align:center>f[o]o</span><p>extra" queryCommandIndeterm("justifycenter") before 
-FAIL [["defaultparagraphseparator","p"],["justifycenter",""]] "<span style=text-align:center>f[o]o</span><p>extra" queryCommandState("justifycenter") before assert_equals: Wrong result returned expected false but got true
-FAIL [["defaultparagraphseparator","p"],["justifycenter",""]] "<span style=text-align:center>f[o]o</span><p>extra" queryCommandValue("justifycenter") before assert_equals: Wrong result returned expected "left" but got "true"
-PASS [["defaultparagraphseparator","p"],["justifycenter",""]] "<span style=text-align:center>f[o]o</span><p>extra" queryCommandIndeterm("justifycenter") after 
-PASS [["defaultparagraphseparator","p"],["justifycenter",""]] "<span style=text-align:center>f[o]o</span><p>extra" queryCommandState("justifycenter") after 
-FAIL [["defaultparagraphseparator","p"],["justifycenter",""]] "<span style=text-align:center>f[o]o</span><p>extra" queryCommandValue("justifycenter") after assert_equals: Wrong result returned expected "center" but got "true"
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div style=text-align:center>[foo<div style=text-align:left contenteditable=false>bar</div>baz]</div><p>extra": execCommand("stylewithcss", false, "true") return value 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div style=text-align:center>[foo<div style=text-align:left contenteditable=false>bar</div>baz]</div><p>extra": execCommand("defaultparagraphseparator", false, "div") return value 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div style=text-align:center>[foo<div style=text-align:left contenteditable=false>bar</div>baz]</div><p>extra": execCommand("justifycenter", false, "") return value 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div style=text-align:center>[foo<div style=text-align:left contenteditable=false>bar</div>baz]</div><p>extra" checks for modifications to non-editable content 
-FAIL [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div style=text-align:center>[foo<div style=text-align:left contenteditable=false>bar</div>baz]</div><p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<div style=\"text-align:center\">foo</div><div style=\"text-align:left\" contenteditable=\"false\">bar</div><div style=\"text-align:center\">baz</div><p>extra</p>" but got "<div style=\"text-align:center\">foo<div contenteditable=\"false\" style=\"text-align:center\">bar</div>baz</div><p>extra</p>"
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div style=text-align:center>[foo<div style=text-align:left contenteditable=false>bar</div>baz]</div><p>extra" queryCommandIndeterm("stylewithcss") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div style=text-align:center>[foo<div style=text-align:left contenteditable=false>bar</div>baz]</div><p>extra" queryCommandState("stylewithcss") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div style=text-align:center>[foo<div style=text-align:left contenteditable=false>bar</div>baz]</div><p>extra" queryCommandValue("stylewithcss") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div style=text-align:center>[foo<div style=text-align:left contenteditable=false>bar</div>baz]</div><p>extra" queryCommandIndeterm("stylewithcss") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div style=text-align:center>[foo<div style=text-align:left contenteditable=false>bar</div>baz]</div><p>extra" queryCommandState("stylewithcss") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div style=text-align:center>[foo<div style=text-align:left contenteditable=false>bar</div>baz]</div><p>extra" queryCommandValue("stylewithcss") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div style=text-align:center>[foo<div style=text-align:left contenteditable=false>bar</div>baz]</div><p>extra" queryCommandIndeterm("defaultparagraphseparator") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div style=text-align:center>[foo<div style=text-align:left contenteditable=false>bar</div>baz]</div><p>extra" queryCommandState("defaultparagraphseparator") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div style=text-align:center>[foo<div style=text-align:left contenteditable=false>bar</div>baz]</div><p>extra" queryCommandValue("defaultparagraphseparator") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div style=text-align:center>[foo<div style=text-align:left contenteditable=false>bar</div>baz]</div><p>extra" queryCommandIndeterm("defaultparagraphseparator") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div style=text-align:center>[foo<div style=text-align:left contenteditable=false>bar</div>baz]</div><p>extra" queryCommandState("defaultparagraphseparator") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div style=text-align:center>[foo<div style=text-align:left contenteditable=false>bar</div>baz]</div><p>extra" queryCommandValue("defaultparagraphseparator") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div style=text-align:center>[foo<div style=text-align:left contenteditable=false>bar</div>baz]</div><p>extra" queryCommandIndeterm("justifycenter") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div style=text-align:center>[foo<div style=text-align:left contenteditable=false>bar</div>baz]</div><p>extra" queryCommandState("justifycenter") before 
-FAIL [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div style=text-align:center>[foo<div style=text-align:left contenteditable=false>bar</div>baz]</div><p>extra" queryCommandValue("justifycenter") before assert_equals: Wrong result returned expected "center" but got "true"
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div style=text-align:center>[foo<div style=text-align:left contenteditable=false>bar</div>baz]</div><p>extra" queryCommandIndeterm("justifycenter") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div style=text-align:center>[foo<div style=text-align:left contenteditable=false>bar</div>baz]</div><p>extra" queryCommandState("justifycenter") after 
-FAIL [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div style=text-align:center>[foo<div style=text-align:left contenteditable=false>bar</div>baz]</div><p>extra" queryCommandValue("justifycenter") after assert_equals: Wrong result returned expected "center" but got "true"
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div style=text-align:center>[foo<div style=text-align:left contenteditable=false>bar</div>baz]</div><p>extra": execCommand("stylewithcss", false, "false") return value 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div style=text-align:center>[foo<div style=text-align:left contenteditable=false>bar</div>baz]</div><p>extra": execCommand("defaultparagraphseparator", false, "div") return value 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div style=text-align:center>[foo<div style=text-align:left contenteditable=false>bar</div>baz]</div><p>extra": execCommand("justifycenter", false, "") return value 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div style=text-align:center>[foo<div style=text-align:left contenteditable=false>bar</div>baz]</div><p>extra" checks for modifications to non-editable content 
-FAIL [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div style=text-align:center>[foo<div style=text-align:left contenteditable=false>bar</div>baz]</div><p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<div style=\"text-align:center\">foo</div><div style=\"text-align:left\" contenteditable=\"false\">bar</div><div style=\"text-align:center\">baz</div><p>extra</p>" but got "<div style=\"text-align:center\">foo<div contenteditable=\"false\" style=\"text-align:center\">bar</div>baz</div><p>extra</p>"
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div style=text-align:center>[foo<div style=text-align:left contenteditable=false>bar</div>baz]</div><p>extra" queryCommandIndeterm("stylewithcss") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div style=text-align:center>[foo<div style=text-align:left contenteditable=false>bar</div>baz]</div><p>extra" queryCommandState("stylewithcss") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div style=text-align:center>[foo<div style=text-align:left contenteditable=false>bar</div>baz]</div><p>extra" queryCommandValue("stylewithcss") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div style=text-align:center>[foo<div style=text-align:left contenteditable=false>bar</div>baz]</div><p>extra" queryCommandIndeterm("stylewithcss") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div style=text-align:center>[foo<div style=text-align:left contenteditable=false>bar</div>baz]</div><p>extra" queryCommandState("stylewithcss") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div style=text-align:center>[foo<div style=text-align:left contenteditable=false>bar</div>baz]</div><p>extra" queryCommandValue("stylewithcss") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div style=text-align:center>[foo<div style=text-align:left contenteditable=false>bar</div>baz]</div><p>extra" queryCommandIndeterm("defaultparagraphseparator") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div style=text-align:center>[foo<div style=text-align:left contenteditable=false>bar</div>baz]</div><p>extra" queryCommandState("defaultparagraphseparator") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div style=text-align:center>[foo<div style=text-align:left contenteditable=false>bar</div>baz]</div><p>extra" queryCommandValue("defaultparagraphseparator") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div style=text-align:center>[foo<div style=text-align:left contenteditable=false>bar</div>baz]</div><p>extra" queryCommandIndeterm("defaultparagraphseparator") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div style=text-align:center>[foo<div style=text-align:left contenteditable=false>bar</div>baz]</div><p>extra" queryCommandState("defaultparagraphseparator") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div style=text-align:center>[foo<div style=text-align:left contenteditable=false>bar</div>baz]</div><p>extra" queryCommandValue("defaultparagraphseparator") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div style=text-align:center>[foo<div style=text-align:left contenteditable=false>bar</div>baz]</div><p>extra" queryCommandIndeterm("justifycenter") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div style=text-align:center>[foo<div style=text-align:left contenteditable=false>bar</div>baz]</div><p>extra" queryCommandState("justifycenter") before 
-FAIL [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div style=text-align:center>[foo<div style=text-align:left contenteditable=false>bar</div>baz]</div><p>extra" queryCommandValue("justifycenter") before assert_equals: Wrong result returned expected "center" but got "true"
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div style=text-align:center>[foo<div style=text-align:left contenteditable=false>bar</div>baz]</div><p>extra" queryCommandIndeterm("justifycenter") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div style=text-align:center>[foo<div style=text-align:left contenteditable=false>bar</div>baz]</div><p>extra" queryCommandState("justifycenter") after 
-FAIL [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div style=text-align:center>[foo<div style=text-align:left contenteditable=false>bar</div>baz]</div><p>extra" queryCommandValue("justifycenter") after assert_equals: Wrong result returned expected "center" but got "true"
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div style=text-align:center>[foo<div style=text-align:left contenteditable=false>bar</div>baz]</div><p>extra": execCommand("stylewithcss", false, "true") return value 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div style=text-align:center>[foo<div style=text-align:left contenteditable=false>bar</div>baz]</div><p>extra": execCommand("defaultparagraphseparator", false, "p") return value 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div style=text-align:center>[foo<div style=text-align:left contenteditable=false>bar</div>baz]</div><p>extra": execCommand("justifycenter", false, "") return value 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div style=text-align:center>[foo<div style=text-align:left contenteditable=false>bar</div>baz]</div><p>extra" checks for modifications to non-editable content 
-FAIL [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div style=text-align:center>[foo<div style=text-align:left contenteditable=false>bar</div>baz]</div><p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<div style=\"text-align:center\">foo</div><div style=\"text-align:left\" contenteditable=\"false\">bar</div><div style=\"text-align:center\">baz</div><p>extra</p>" but got "<div style=\"text-align:center\">foo<div contenteditable=\"false\" style=\"text-align:center\">bar</div>baz</div><p>extra</p>"
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div style=text-align:center>[foo<div style=text-align:left contenteditable=false>bar</div>baz]</div><p>extra" queryCommandIndeterm("stylewithcss") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div style=text-align:center>[foo<div style=text-align:left contenteditable=false>bar</div>baz]</div><p>extra" queryCommandState("stylewithcss") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div style=text-align:center>[foo<div style=text-align:left contenteditable=false>bar</div>baz]</div><p>extra" queryCommandValue("stylewithcss") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div style=text-align:center>[foo<div style=text-align:left contenteditable=false>bar</div>baz]</div><p>extra" queryCommandIndeterm("stylewithcss") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div style=text-align:center>[foo<div style=text-align:left contenteditable=false>bar</div>baz]</div><p>extra" queryCommandState("stylewithcss") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div style=text-align:center>[foo<div style=text-align:left contenteditable=false>bar</div>baz]</div><p>extra" queryCommandValue("stylewithcss") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div style=text-align:center>[foo<div style=text-align:left contenteditable=false>bar</div>baz]</div><p>extra" queryCommandIndeterm("defaultparagraphseparator") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div style=text-align:center>[foo<div style=text-align:left contenteditable=false>bar</div>baz]</div><p>extra" queryCommandState("defaultparagraphseparator") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div style=text-align:center>[foo<div style=text-align:left contenteditable=false>bar</div>baz]</div><p>extra" queryCommandValue("defaultparagraphseparator") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div style=text-align:center>[foo<div style=text-align:left contenteditable=false>bar</div>baz]</div><p>extra" queryCommandIndeterm("defaultparagraphseparator") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div style=text-align:center>[foo<div style=text-align:left contenteditable=false>bar</div>baz]</div><p>extra" queryCommandState("defaultparagraphseparator") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div style=text-align:center>[foo<div style=text-align:left contenteditable=false>bar</div>baz]</div><p>extra" queryCommandValue("defaultparagraphseparator") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div style=text-align:center>[foo<div style=text-align:left contenteditable=false>bar</div>baz]</div><p>extra" queryCommandIndeterm("justifycenter") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div style=text-align:center>[foo<div style=text-align:left contenteditable=false>bar</div>baz]</div><p>extra" queryCommandState("justifycenter") before 
-FAIL [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div style=text-align:center>[foo<div style=text-align:left contenteditable=false>bar</div>baz]</div><p>extra" queryCommandValue("justifycenter") before assert_equals: Wrong result returned expected "center" but got "true"
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div style=text-align:center>[foo<div style=text-align:left contenteditable=false>bar</div>baz]</div><p>extra" queryCommandIndeterm("justifycenter") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div style=text-align:center>[foo<div style=text-align:left contenteditable=false>bar</div>baz]</div><p>extra" queryCommandState("justifycenter") after 
-FAIL [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div style=text-align:center>[foo<div style=text-align:left contenteditable=false>bar</div>baz]</div><p>extra" queryCommandValue("justifycenter") after assert_equals: Wrong result returned expected "center" but got "true"
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div style=text-align:center>[foo<div style=text-align:left contenteditable=false>bar</div>baz]</div><p>extra": execCommand("stylewithcss", false, "false") return value 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div style=text-align:center>[foo<div style=text-align:left contenteditable=false>bar</div>baz]</div><p>extra": execCommand("defaultparagraphseparator", false, "p") return value 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div style=text-align:center>[foo<div style=text-align:left contenteditable=false>bar</div>baz]</div><p>extra": execCommand("justifycenter", false, "") return value 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div style=text-align:center>[foo<div style=text-align:left contenteditable=false>bar</div>baz]</div><p>extra" checks for modifications to non-editable content 
-FAIL [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div style=text-align:center>[foo<div style=text-align:left contenteditable=false>bar</div>baz]</div><p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<div style=\"text-align:center\">foo</div><div style=\"text-align:left\" contenteditable=\"false\">bar</div><div style=\"text-align:center\">baz</div><p>extra</p>" but got "<div style=\"text-align:center\">foo<div contenteditable=\"false\" style=\"text-align:center\">bar</div>baz</div><p>extra</p>"
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div style=text-align:center>[foo<div style=text-align:left contenteditable=false>bar</div>baz]</div><p>extra" queryCommandIndeterm("stylewithcss") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div style=text-align:center>[foo<div style=text-align:left contenteditable=false>bar</div>baz]</div><p>extra" queryCommandState("stylewithcss") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div style=text-align:center>[foo<div style=text-align:left contenteditable=false>bar</div>baz]</div><p>extra" queryCommandValue("stylewithcss") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div style=text-align:center>[foo<div style=text-align:left contenteditable=false>bar</div>baz]</div><p>extra" queryCommandIndeterm("stylewithcss") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div style=text-align:center>[foo<div style=text-align:left contenteditable=false>bar</div>baz]</div><p>extra" queryCommandState("stylewithcss") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div style=text-align:center>[foo<div style=text-align:left contenteditable=false>bar</div>baz]</div><p>extra" queryCommandValue("stylewithcss") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div style=text-align:center>[foo<div style=text-align:left contenteditable=false>bar</div>baz]</div><p>extra" queryCommandIndeterm("defaultparagraphseparator") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div style=text-align:center>[foo<div style=text-align:left contenteditable=false>bar</div>baz]</div><p>extra" queryCommandState("defaultparagraphseparator") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div style=text-align:center>[foo<div style=text-align:left contenteditable=false>bar</div>baz]</div><p>extra" queryCommandValue("defaultparagraphseparator") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div style=text-align:center>[foo<div style=text-align:left contenteditable=false>bar</div>baz]</div><p>extra" queryCommandIndeterm("defaultparagraphseparator") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div style=text-align:center>[foo<div style=text-align:left contenteditable=false>bar</div>baz]</div><p>extra" queryCommandState("defaultparagraphseparator") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div style=text-align:center>[foo<div style=text-align:left contenteditable=false>bar</div>baz]</div><p>extra" queryCommandValue("defaultparagraphseparator") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div style=text-align:center>[foo<div style=text-align:left contenteditable=false>bar</div>baz]</div><p>extra" queryCommandIndeterm("justifycenter") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div style=text-align:center>[foo<div style=text-align:left contenteditable=false>bar</div>baz]</div><p>extra" queryCommandState("justifycenter") before 
-FAIL [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div style=text-align:center>[foo<div style=text-align:left contenteditable=false>bar</div>baz]</div><p>extra" queryCommandValue("justifycenter") before assert_equals: Wrong result returned expected "center" but got "true"
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div style=text-align:center>[foo<div style=text-align:left contenteditable=false>bar</div>baz]</div><p>extra" queryCommandIndeterm("justifycenter") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div style=text-align:center>[foo<div style=text-align:left contenteditable=false>bar</div>baz]</div><p>extra" queryCommandState("justifycenter") after 
-FAIL [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div style=text-align:center>[foo<div style=text-align:left contenteditable=false>bar</div>baz]</div><p>extra" queryCommandValue("justifycenter") after assert_equals: Wrong result returned expected "center" but got "true"
-PASS [["stylewithcss","true"],["justifycenter",""]] "<div align=nonsense><p>[foo]</div><p>extra": execCommand("stylewithcss", false, "true") return value 
-PASS [["stylewithcss","true"],["justifycenter",""]] "<div align=nonsense><p>[foo]</div><p>extra": execCommand("justifycenter", false, "") return value 
-PASS [["stylewithcss","true"],["justifycenter",""]] "<div align=nonsense><p>[foo]</div><p>extra" checks for modifications to non-editable content 
-FAIL [["stylewithcss","true"],["justifycenter",""]] "<div align=nonsense><p>[foo]</div><p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<div style=\"text-align:center\"><p>foo</p></div><p>extra</p>" but got "<div align=\"nonsense\"><p style=\"text-align:center\">foo</p></div><p>extra</p>"
-PASS [["stylewithcss","true"],["justifycenter",""]] "<div align=nonsense><p>[foo]</div><p>extra" queryCommandIndeterm("stylewithcss") before 
-PASS [["stylewithcss","true"],["justifycenter",""]] "<div align=nonsense><p>[foo]</div><p>extra" queryCommandState("stylewithcss") before 
-PASS [["stylewithcss","true"],["justifycenter",""]] "<div align=nonsense><p>[foo]</div><p>extra" queryCommandValue("stylewithcss") before 
-PASS [["stylewithcss","true"],["justifycenter",""]] "<div align=nonsense><p>[foo]</div><p>extra" queryCommandIndeterm("stylewithcss") after 
-PASS [["stylewithcss","true"],["justifycenter",""]] "<div align=nonsense><p>[foo]</div><p>extra" queryCommandState("stylewithcss") after 
-PASS [["stylewithcss","true"],["justifycenter",""]] "<div align=nonsense><p>[foo]</div><p>extra" queryCommandValue("stylewithcss") after 
-PASS [["stylewithcss","true"],["justifycenter",""]] "<div align=nonsense><p>[foo]</div><p>extra" queryCommandIndeterm("justifycenter") before 
-PASS [["stylewithcss","true"],["justifycenter",""]] "<div align=nonsense><p>[foo]</div><p>extra" queryCommandState("justifycenter") before 
-FAIL [["stylewithcss","true"],["justifycenter",""]] "<div align=nonsense><p>[foo]</div><p>extra" queryCommandValue("justifycenter") before assert_equals: Wrong result returned expected "left" but got "false"
-PASS [["stylewithcss","true"],["justifycenter",""]] "<div align=nonsense><p>[foo]</div><p>extra" queryCommandIndeterm("justifycenter") after 
-PASS [["stylewithcss","true"],["justifycenter",""]] "<div align=nonsense><p>[foo]</div><p>extra" queryCommandState("justifycenter") after 
-FAIL [["stylewithcss","true"],["justifycenter",""]] "<div align=nonsense><p>[foo]</div><p>extra" queryCommandValue("justifycenter") after assert_equals: Wrong result returned expected "center" but got "true"
-PASS [["stylewithcss","false"],["justifycenter",""]] "<div align=nonsense><p>[foo]</div><p>extra": execCommand("stylewithcss", false, "false") return value 
-PASS [["stylewithcss","false"],["justifycenter",""]] "<div align=nonsense><p>[foo]</div><p>extra": execCommand("justifycenter", false, "") return value 
-PASS [["stylewithcss","false"],["justifycenter",""]] "<div align=nonsense><p>[foo]</div><p>extra" checks for modifications to non-editable content 
-FAIL [["stylewithcss","false"],["justifycenter",""]] "<div align=nonsense><p>[foo]</div><p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<div style=\"text-align:center\"><p>foo</p></div><p>extra</p>" but got "<div align=\"nonsense\"><p style=\"text-align:center\">foo</p></div><p>extra</p>"
-PASS [["stylewithcss","false"],["justifycenter",""]] "<div align=nonsense><p>[foo]</div><p>extra" queryCommandIndeterm("stylewithcss") before 
-PASS [["stylewithcss","false"],["justifycenter",""]] "<div align=nonsense><p>[foo]</div><p>extra" queryCommandState("stylewithcss") before 
-PASS [["stylewithcss","false"],["justifycenter",""]] "<div align=nonsense><p>[foo]</div><p>extra" queryCommandValue("stylewithcss") before 
-PASS [["stylewithcss","false"],["justifycenter",""]] "<div align=nonsense><p>[foo]</div><p>extra" queryCommandIndeterm("stylewithcss") after 
-PASS [["stylewithcss","false"],["justifycenter",""]] "<div align=nonsense><p>[foo]</div><p>extra" queryCommandState("stylewithcss") after 
-PASS [["stylewithcss","false"],["justifycenter",""]] "<div align=nonsense><p>[foo]</div><p>extra" queryCommandValue("stylewithcss") after 
-PASS [["stylewithcss","false"],["justifycenter",""]] "<div align=nonsense><p>[foo]</div><p>extra" queryCommandIndeterm("justifycenter") before 
-PASS [["stylewithcss","false"],["justifycenter",""]] "<div align=nonsense><p>[foo]</div><p>extra" queryCommandState("justifycenter") before 
-FAIL [["stylewithcss","false"],["justifycenter",""]] "<div align=nonsense><p>[foo]</div><p>extra" queryCommandValue("justifycenter") before assert_equals: Wrong result returned expected "left" but got "false"
-PASS [["stylewithcss","false"],["justifycenter",""]] "<div align=nonsense><p>[foo]</div><p>extra" queryCommandIndeterm("justifycenter") after 
-PASS [["stylewithcss","false"],["justifycenter",""]] "<div align=nonsense><p>[foo]</div><p>extra" queryCommandState("justifycenter") after 
-FAIL [["stylewithcss","false"],["justifycenter",""]] "<div align=nonsense><p>[foo]</div><p>extra" queryCommandValue("justifycenter") after assert_equals: Wrong result returned expected "center" but got "true"
-PASS [["justifycenter",""]] "<div style=text-align:inherit><p>[foo]</div><p>extra": execCommand("justifycenter", false, "") return value 
-PASS [["justifycenter",""]] "<div style=text-align:inherit><p>[foo]</div><p>extra" checks for modifications to non-editable content 
-FAIL [["justifycenter",""]] "<div style=text-align:inherit><p>[foo]</div><p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<div style=\"text-align:center\"><p>foo</p></div><p>extra</p>" but got "<div style=\"text-align:inherit\"><p style=\"text-align:center\">foo</p></div><p>extra</p>"
-PASS [["justifycenter",""]] "<div style=text-align:inherit><p>[foo]</div><p>extra" queryCommandIndeterm("justifycenter") before 
-PASS [["justifycenter",""]] "<div style=text-align:inherit><p>[foo]</div><p>extra" queryCommandState("justifycenter") before 
-FAIL [["justifycenter",""]] "<div style=text-align:inherit><p>[foo]</div><p>extra" queryCommandValue("justifycenter") before assert_equals: Wrong result returned expected "left" but got "false"
-PASS [["justifycenter",""]] "<div style=text-align:inherit><p>[foo]</div><p>extra" queryCommandIndeterm("justifycenter") after 
-PASS [["justifycenter",""]] "<div style=text-align:inherit><p>[foo]</div><p>extra" queryCommandState("justifycenter") after 
-FAIL [["justifycenter",""]] "<div style=text-align:inherit><p>[foo]</div><p>extra" queryCommandValue("justifycenter") after assert_equals: Wrong result returned expected "center" but got "true"
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<quasit align=right><p>[foo]</p></quasit><p>extra": execCommand("stylewithcss", false, "true") return value 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<quasit align=right><p>[foo]</p></quasit><p>extra": execCommand("defaultparagraphseparator", false, "div") return value 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<quasit align=right><p>[foo]</p></quasit><p>extra": execCommand("justifycenter", false, "") return value 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<quasit align=right><p>[foo]</p></quasit><p>extra" checks for modifications to non-editable content 
-FAIL [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<quasit align=right><p>[foo]</p></quasit><p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<div style=\"text-align:center\"><quasit><p>foo</p></quasit></div><p>extra</p>" but got "<quasit align=\"right\"><p style=\"text-align:center\">foo</p></quasit><p>extra</p>"
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<quasit align=right><p>[foo]</p></quasit><p>extra" queryCommandIndeterm("stylewithcss") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<quasit align=right><p>[foo]</p></quasit><p>extra" queryCommandState("stylewithcss") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<quasit align=right><p>[foo]</p></quasit><p>extra" queryCommandValue("stylewithcss") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<quasit align=right><p>[foo]</p></quasit><p>extra" queryCommandIndeterm("stylewithcss") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<quasit align=right><p>[foo]</p></quasit><p>extra" queryCommandState("stylewithcss") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<quasit align=right><p>[foo]</p></quasit><p>extra" queryCommandValue("stylewithcss") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<quasit align=right><p>[foo]</p></quasit><p>extra" queryCommandIndeterm("defaultparagraphseparator") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<quasit align=right><p>[foo]</p></quasit><p>extra" queryCommandState("defaultparagraphseparator") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<quasit align=right><p>[foo]</p></quasit><p>extra" queryCommandValue("defaultparagraphseparator") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<quasit align=right><p>[foo]</p></quasit><p>extra" queryCommandIndeterm("defaultparagraphseparator") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<quasit align=right><p>[foo]</p></quasit><p>extra" queryCommandState("defaultparagraphseparator") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<quasit align=right><p>[foo]</p></quasit><p>extra" queryCommandValue("defaultparagraphseparator") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<quasit align=right><p>[foo]</p></quasit><p>extra" queryCommandIndeterm("justifycenter") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<quasit align=right><p>[foo]</p></quasit><p>extra" queryCommandState("justifycenter") before 
-FAIL [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<quasit align=right><p>[foo]</p></quasit><p>extra" queryCommandValue("justifycenter") before assert_equals: Wrong result returned expected "left" but got "false"
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<quasit align=right><p>[foo]</p></quasit><p>extra" queryCommandIndeterm("justifycenter") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<quasit align=right><p>[foo]</p></quasit><p>extra" queryCommandState("justifycenter") after 
-FAIL [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<quasit align=right><p>[foo]</p></quasit><p>extra" queryCommandValue("justifycenter") after assert_equals: Wrong result returned expected "center" but got "true"
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<quasit align=right><p>[foo]</p></quasit><p>extra": execCommand("stylewithcss", false, "false") return value 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<quasit align=right><p>[foo]</p></quasit><p>extra": execCommand("defaultparagraphseparator", false, "div") return value 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<quasit align=right><p>[foo]</p></quasit><p>extra": execCommand("justifycenter", false, "") return value 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<quasit align=right><p>[foo]</p></quasit><p>extra" checks for modifications to non-editable content 
-FAIL [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<quasit align=right><p>[foo]</p></quasit><p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<div style=\"text-align:center\"><quasit><p>foo</p></quasit></div><p>extra</p>" but got "<quasit align=\"right\"><p style=\"text-align:center\">foo</p></quasit><p>extra</p>"
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<quasit align=right><p>[foo]</p></quasit><p>extra" queryCommandIndeterm("stylewithcss") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<quasit align=right><p>[foo]</p></quasit><p>extra" queryCommandState("stylewithcss") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<quasit align=right><p>[foo]</p></quasit><p>extra" queryCommandValue("stylewithcss") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<quasit align=right><p>[foo]</p></quasit><p>extra" queryCommandIndeterm("stylewithcss") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<quasit align=right><p>[foo]</p></quasit><p>extra" queryCommandState("stylewithcss") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<quasit align=right><p>[foo]</p></quasit><p>extra" queryCommandValue("stylewithcss") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<quasit align=right><p>[foo]</p></quasit><p>extra" queryCommandIndeterm("defaultparagraphseparator") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<quasit align=right><p>[foo]</p></quasit><p>extra" queryCommandState("defaultparagraphseparator") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<quasit align=right><p>[foo]</p></quasit><p>extra" queryCommandValue("defaultparagraphseparator") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<quasit align=right><p>[foo]</p></quasit><p>extra" queryCommandIndeterm("defaultparagraphseparator") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<quasit align=right><p>[foo]</p></quasit><p>extra" queryCommandState("defaultparagraphseparator") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<quasit align=right><p>[foo]</p></quasit><p>extra" queryCommandValue("defaultparagraphseparator") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<quasit align=right><p>[foo]</p></quasit><p>extra" queryCommandIndeterm("justifycenter") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<quasit align=right><p>[foo]</p></quasit><p>extra" queryCommandState("justifycenter") before 
-FAIL [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<quasit align=right><p>[foo]</p></quasit><p>extra" queryCommandValue("justifycenter") before assert_equals: Wrong result returned expected "left" but got "false"
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<quasit align=right><p>[foo]</p></quasit><p>extra" queryCommandIndeterm("justifycenter") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<quasit align=right><p>[foo]</p></quasit><p>extra" queryCommandState("justifycenter") after 
-FAIL [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<quasit align=right><p>[foo]</p></quasit><p>extra" queryCommandValue("justifycenter") after assert_equals: Wrong result returned expected "center" but got "true"
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<quasit align=right><p>[foo]</p></quasit><p>extra": execCommand("stylewithcss", false, "true") return value 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<quasit align=right><p>[foo]</p></quasit><p>extra": execCommand("defaultparagraphseparator", false, "p") return value 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<quasit align=right><p>[foo]</p></quasit><p>extra": execCommand("justifycenter", false, "") return value 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<quasit align=right><p>[foo]</p></quasit><p>extra" checks for modifications to non-editable content 
-FAIL [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<quasit align=right><p>[foo]</p></quasit><p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<div style=\"text-align:center\"><quasit><p>foo</p></quasit></div><p>extra</p>" but got "<quasit align=\"right\"><p style=\"text-align:center\">foo</p></quasit><p>extra</p>"
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<quasit align=right><p>[foo]</p></quasit><p>extra" queryCommandIndeterm("stylewithcss") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<quasit align=right><p>[foo]</p></quasit><p>extra" queryCommandState("stylewithcss") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<quasit align=right><p>[foo]</p></quasit><p>extra" queryCommandValue("stylewithcss") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<quasit align=right><p>[foo]</p></quasit><p>extra" queryCommandIndeterm("stylewithcss") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<quasit align=right><p>[foo]</p></quasit><p>extra" queryCommandState("stylewithcss") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<quasit align=right><p>[foo]</p></quasit><p>extra" queryCommandValue("stylewithcss") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<quasit align=right><p>[foo]</p></quasit><p>extra" queryCommandIndeterm("defaultparagraphseparator") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<quasit align=right><p>[foo]</p></quasit><p>extra" queryCommandState("defaultparagraphseparator") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<quasit align=right><p>[foo]</p></quasit><p>extra" queryCommandValue("defaultparagraphseparator") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<quasit align=right><p>[foo]</p></quasit><p>extra" queryCommandIndeterm("defaultparagraphseparator") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<quasit align=right><p>[foo]</p></quasit><p>extra" queryCommandState("defaultparagraphseparator") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<quasit align=right><p>[foo]</p></quasit><p>extra" queryCommandValue("defaultparagraphseparator") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<quasit align=right><p>[foo]</p></quasit><p>extra" queryCommandIndeterm("justifycenter") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<quasit align=right><p>[foo]</p></quasit><p>extra" queryCommandState("justifycenter") before 
-FAIL [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<quasit align=right><p>[foo]</p></quasit><p>extra" queryCommandValue("justifycenter") before assert_equals: Wrong result returned expected "left" but got "false"
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<quasit align=right><p>[foo]</p></quasit><p>extra" queryCommandIndeterm("justifycenter") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<quasit align=right><p>[foo]</p></quasit><p>extra" queryCommandState("justifycenter") after 
-FAIL [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<quasit align=right><p>[foo]</p></quasit><p>extra" queryCommandValue("justifycenter") after assert_equals: Wrong result returned expected "center" but got "true"
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<quasit align=right><p>[foo]</p></quasit><p>extra": execCommand("stylewithcss", false, "false") return value 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<quasit align=right><p>[foo]</p></quasit><p>extra": execCommand("defaultparagraphseparator", false, "p") return value 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<quasit align=right><p>[foo]</p></quasit><p>extra": execCommand("justifycenter", false, "") return value 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<quasit align=right><p>[foo]</p></quasit><p>extra" checks for modifications to non-editable content 
-FAIL [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<quasit align=right><p>[foo]</p></quasit><p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<div style=\"text-align:center\"><quasit><p>foo</p></quasit></div><p>extra</p>" but got "<quasit align=\"right\"><p style=\"text-align:center\">foo</p></quasit><p>extra</p>"
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<quasit align=right><p>[foo]</p></quasit><p>extra" queryCommandIndeterm("stylewithcss") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<quasit align=right><p>[foo]</p></quasit><p>extra" queryCommandState("stylewithcss") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<quasit align=right><p>[foo]</p></quasit><p>extra" queryCommandValue("stylewithcss") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<quasit align=right><p>[foo]</p></quasit><p>extra" queryCommandIndeterm("stylewithcss") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<quasit align=right><p>[foo]</p></quasit><p>extra" queryCommandState("stylewithcss") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<quasit align=right><p>[foo]</p></quasit><p>extra" queryCommandValue("stylewithcss") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<quasit align=right><p>[foo]</p></quasit><p>extra" queryCommandIndeterm("defaultparagraphseparator") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<quasit align=right><p>[foo]</p></quasit><p>extra" queryCommandState("defaultparagraphseparator") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<quasit align=right><p>[foo]</p></quasit><p>extra" queryCommandValue("defaultparagraphseparator") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<quasit align=right><p>[foo]</p></quasit><p>extra" queryCommandIndeterm("defaultparagraphseparator") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<quasit align=right><p>[foo]</p></quasit><p>extra" queryCommandState("defaultparagraphseparator") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<quasit align=right><p>[foo]</p></quasit><p>extra" queryCommandValue("defaultparagraphseparator") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<quasit align=right><p>[foo]</p></quasit><p>extra" queryCommandIndeterm("justifycenter") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<quasit align=right><p>[foo]</p></quasit><p>extra" queryCommandState("justifycenter") before 
-FAIL [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<quasit align=right><p>[foo]</p></quasit><p>extra" queryCommandValue("justifycenter") before assert_equals: Wrong result returned expected "left" but got "false"
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<quasit align=right><p>[foo]</p></quasit><p>extra" queryCommandIndeterm("justifycenter") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<quasit align=right><p>[foo]</p></quasit><p>extra" queryCommandState("justifycenter") after 
-FAIL [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<quasit align=right><p>[foo]</p></quasit><p>extra" queryCommandValue("justifycenter") after assert_equals: Wrong result returned expected "center" but got "true"
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div align=center>{<div align=left>foo</div>}</div>": execCommand("stylewithcss", false, "true") return value 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div align=center>{<div align=left>foo</div>}</div>": execCommand("defaultparagraphseparator", false, "div") return value 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div align=center>{<div align=left>foo</div>}</div>": execCommand("justifycenter", false, "") return value 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div align=center>{<div align=left>foo</div>}</div>" checks for modifications to non-editable content 
-FAIL [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div align=center>{<div align=left>foo</div>}</div>" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<div style=\"text-align:center\">foo</div>" but got "<div align=\"center\"><div align=\"left\" style=\"text-align:center\">foo</div></div>"
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div align=center>{<div align=left>foo</div>}</div>" queryCommandIndeterm("stylewithcss") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div align=center>{<div align=left>foo</div>}</div>" queryCommandState("stylewithcss") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div align=center>{<div align=left>foo</div>}</div>" queryCommandValue("stylewithcss") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div align=center>{<div align=left>foo</div>}</div>" queryCommandIndeterm("stylewithcss") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div align=center>{<div align=left>foo</div>}</div>" queryCommandState("stylewithcss") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div align=center>{<div align=left>foo</div>}</div>" queryCommandValue("stylewithcss") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div align=center>{<div align=left>foo</div>}</div>" queryCommandIndeterm("defaultparagraphseparator") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div align=center>{<div align=left>foo</div>}</div>" queryCommandState("defaultparagraphseparator") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div align=center>{<div align=left>foo</div>}</div>" queryCommandValue("defaultparagraphseparator") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div align=center>{<div align=left>foo</div>}</div>" queryCommandIndeterm("defaultparagraphseparator") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div align=center>{<div align=left>foo</div>}</div>" queryCommandState("defaultparagraphseparator") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div align=center>{<div align=left>foo</div>}</div>" queryCommandValue("defaultparagraphseparator") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div align=center>{<div align=left>foo</div>}</div>" queryCommandIndeterm("justifycenter") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div align=center>{<div align=left>foo</div>}</div>" queryCommandState("justifycenter") before 
-FAIL [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div align=center>{<div align=left>foo</div>}</div>" queryCommandValue("justifycenter") before assert_equals: Wrong result returned expected "left" but got "false"
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div align=center>{<div align=left>foo</div>}</div>" queryCommandIndeterm("justifycenter") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div align=center>{<div align=left>foo</div>}</div>" queryCommandState("justifycenter") after 
-FAIL [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div align=center>{<div align=left>foo</div>}</div>" queryCommandValue("justifycenter") after assert_equals: Wrong result returned expected "center" but got "true"
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div align=center>{<div align=left>foo</div>}</div>": execCommand("stylewithcss", false, "false") return value 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div align=center>{<div align=left>foo</div>}</div>": execCommand("defaultparagraphseparator", false, "div") return value 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div align=center>{<div align=left>foo</div>}</div>": execCommand("justifycenter", false, "") return value 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div align=center>{<div align=left>foo</div>}</div>" checks for modifications to non-editable content 
-FAIL [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div align=center>{<div align=left>foo</div>}</div>" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<div style=\"text-align:center\">foo</div>" but got "<div align=\"center\"><div align=\"left\" style=\"text-align:center\">foo</div></div>"
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div align=center>{<div align=left>foo</div>}</div>" queryCommandIndeterm("stylewithcss") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div align=center>{<div align=left>foo</div>}</div>" queryCommandState("stylewithcss") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div align=center>{<div align=left>foo</div>}</div>" queryCommandValue("stylewithcss") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div align=center>{<div align=left>foo</div>}</div>" queryCommandIndeterm("stylewithcss") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div align=center>{<div align=left>foo</div>}</div>" queryCommandState("stylewithcss") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div align=center>{<div align=left>foo</div>}</div>" queryCommandValue("stylewithcss") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div align=center>{<div align=left>foo</div>}</div>" queryCommandIndeterm("defaultparagraphseparator") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div align=center>{<div align=left>foo</div>}</div>" queryCommandState("defaultparagraphseparator") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div align=center>{<div align=left>foo</div>}</div>" queryCommandValue("defaultparagraphseparator") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div align=center>{<div align=left>foo</div>}</div>" queryCommandIndeterm("defaultparagraphseparator") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div align=center>{<div align=left>foo</div>}</div>" queryCommandState("defaultparagraphseparator") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div align=center>{<div align=left>foo</div>}</div>" queryCommandValue("defaultparagraphseparator") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div align=center>{<div align=left>foo</div>}</div>" queryCommandIndeterm("justifycenter") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div align=center>{<div align=left>foo</div>}</div>" queryCommandState("justifycenter") before 
-FAIL [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div align=center>{<div align=left>foo</div>}</div>" queryCommandValue("justifycenter") before assert_equals: Wrong result returned expected "left" but got "false"
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div align=center>{<div align=left>foo</div>}</div>" queryCommandIndeterm("justifycenter") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div align=center>{<div align=left>foo</div>}</div>" queryCommandState("justifycenter") after 
-FAIL [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div align=center>{<div align=left>foo</div>}</div>" queryCommandValue("justifycenter") after assert_equals: Wrong result returned expected "center" but got "true"
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div align=center>{<div align=left>foo</div>}</div>": execCommand("stylewithcss", false, "true") return value 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div align=center>{<div align=left>foo</div>}</div>": execCommand("defaultparagraphseparator", false, "p") return value 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div align=center>{<div align=left>foo</div>}</div>": execCommand("justifycenter", false, "") return value 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div align=center>{<div align=left>foo</div>}</div>" checks for modifications to non-editable content 
-FAIL [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div align=center>{<div align=left>foo</div>}</div>" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<div style=\"text-align:center\">foo</div>" but got "<div align=\"center\"><div align=\"left\" style=\"text-align:center\">foo</div></div>"
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div align=center>{<div align=left>foo</div>}</div>" queryCommandIndeterm("stylewithcss") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div align=center>{<div align=left>foo</div>}</div>" queryCommandState("stylewithcss") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div align=center>{<div align=left>foo</div>}</div>" queryCommandValue("stylewithcss") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div align=center>{<div align=left>foo</div>}</div>" queryCommandIndeterm("stylewithcss") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div align=center>{<div align=left>foo</div>}</div>" queryCommandState("stylewithcss") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div align=center>{<div align=left>foo</div>}</div>" queryCommandValue("stylewithcss") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div align=center>{<div align=left>foo</div>}</div>" queryCommandIndeterm("defaultparagraphseparator") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div align=center>{<div align=left>foo</div>}</div>" queryCommandState("defaultparagraphseparator") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div align=center>{<div align=left>foo</div>}</div>" queryCommandValue("defaultparagraphseparator") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div align=center>{<div align=left>foo</div>}</div>" queryCommandIndeterm("defaultparagraphseparator") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div align=center>{<div align=left>foo</div>}</div>" queryCommandState("defaultparagraphseparator") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div align=center>{<div align=left>foo</div>}</div>" queryCommandValue("defaultparagraphseparator") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div align=center>{<div align=left>foo</div>}</div>" queryCommandIndeterm("justifycenter") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div align=center>{<div align=left>foo</div>}</div>" queryCommandState("justifycenter") before 
-FAIL [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div align=center>{<div align=left>foo</div>}</div>" queryCommandValue("justifycenter") before assert_equals: Wrong result returned expected "left" but got "false"
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div align=center>{<div align=left>foo</div>}</div>" queryCommandIndeterm("justifycenter") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div align=center>{<div align=left>foo</div>}</div>" queryCommandState("justifycenter") after 
-FAIL [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div align=center>{<div align=left>foo</div>}</div>" queryCommandValue("justifycenter") after assert_equals: Wrong result returned expected "center" but got "true"
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div align=center>{<div align=left>foo</div>}</div>": execCommand("stylewithcss", false, "false") return value 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div align=center>{<div align=left>foo</div>}</div>": execCommand("defaultparagraphseparator", false, "p") return value 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div align=center>{<div align=left>foo</div>}</div>": execCommand("justifycenter", false, "") return value 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div align=center>{<div align=left>foo</div>}</div>" checks for modifications to non-editable content 
-FAIL [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div align=center>{<div align=left>foo</div>}</div>" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<div style=\"text-align:center\">foo</div>" but got "<div align=\"center\"><div align=\"left\" style=\"text-align:center\">foo</div></div>"
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div align=center>{<div align=left>foo</div>}</div>" queryCommandIndeterm("stylewithcss") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div align=center>{<div align=left>foo</div>}</div>" queryCommandState("stylewithcss") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div align=center>{<div align=left>foo</div>}</div>" queryCommandValue("stylewithcss") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div align=center>{<div align=left>foo</div>}</div>" queryCommandIndeterm("stylewithcss") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div align=center>{<div align=left>foo</div>}</div>" queryCommandState("stylewithcss") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div align=center>{<div align=left>foo</div>}</div>" queryCommandValue("stylewithcss") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div align=center>{<div align=left>foo</div>}</div>" queryCommandIndeterm("defaultparagraphseparator") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div align=center>{<div align=left>foo</div>}</div>" queryCommandState("defaultparagraphseparator") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div align=center>{<div align=left>foo</div>}</div>" queryCommandValue("defaultparagraphseparator") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div align=center>{<div align=left>foo</div>}</div>" queryCommandIndeterm("defaultparagraphseparator") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div align=center>{<div align=left>foo</div>}</div>" queryCommandState("defaultparagraphseparator") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div align=center>{<div align=left>foo</div>}</div>" queryCommandValue("defaultparagraphseparator") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div align=center>{<div align=left>foo</div>}</div>" queryCommandIndeterm("justifycenter") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div align=center>{<div align=left>foo</div>}</div>" queryCommandState("justifycenter") before 
-FAIL [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div align=center>{<div align=left>foo</div>}</div>" queryCommandValue("justifycenter") before assert_equals: Wrong result returned expected "left" but got "false"
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div align=center>{<div align=left>foo</div>}</div>" queryCommandIndeterm("justifycenter") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div align=center>{<div align=left>foo</div>}</div>" queryCommandState("justifycenter") after 
-FAIL [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div align=center>{<div align=left>foo</div>}</div>" queryCommandValue("justifycenter") after assert_equals: Wrong result returned expected "center" but got "true"
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div align=left>{<div align=center>foo</div>}</div>": execCommand("stylewithcss", false, "true") return value 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div align=left>{<div align=center>foo</div>}</div>": execCommand("defaultparagraphseparator", false, "div") return value 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div align=left>{<div align=center>foo</div>}</div>": execCommand("justifycenter", false, "") return value 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div align=left>{<div align=center>foo</div>}</div>" checks for modifications to non-editable content 
-FAIL [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div align=left>{<div align=center>foo</div>}</div>" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<div style=\"text-align:center\">foo</div>" but got "<div align=\"left\"><div align=\"center\">foo</div></div>"
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div align=left>{<div align=center>foo</div>}</div>" queryCommandIndeterm("stylewithcss") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div align=left>{<div align=center>foo</div>}</div>" queryCommandState("stylewithcss") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div align=left>{<div align=center>foo</div>}</div>" queryCommandValue("stylewithcss") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div align=left>{<div align=center>foo</div>}</div>" queryCommandIndeterm("stylewithcss") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div align=left>{<div align=center>foo</div>}</div>" queryCommandState("stylewithcss") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div align=left>{<div align=center>foo</div>}</div>" queryCommandValue("stylewithcss") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div align=left>{<div align=center>foo</div>}</div>" queryCommandIndeterm("defaultparagraphseparator") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div align=left>{<div align=center>foo</div>}</div>" queryCommandState("defaultparagraphseparator") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div align=left>{<div align=center>foo</div>}</div>" queryCommandValue("defaultparagraphseparator") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div align=left>{<div align=center>foo</div>}</div>" queryCommandIndeterm("defaultparagraphseparator") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div align=left>{<div align=center>foo</div>}</div>" queryCommandState("defaultparagraphseparator") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div align=left>{<div align=center>foo</div>}</div>" queryCommandValue("defaultparagraphseparator") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div align=left>{<div align=center>foo</div>}</div>" queryCommandIndeterm("justifycenter") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div align=left>{<div align=center>foo</div>}</div>" queryCommandState("justifycenter") before 
-FAIL [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div align=left>{<div align=center>foo</div>}</div>" queryCommandValue("justifycenter") before assert_equals: Wrong result returned expected "center" but got "true"
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div align=left>{<div align=center>foo</div>}</div>" queryCommandIndeterm("justifycenter") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div align=left>{<div align=center>foo</div>}</div>" queryCommandState("justifycenter") after 
-FAIL [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div align=left>{<div align=center>foo</div>}</div>" queryCommandValue("justifycenter") after assert_equals: Wrong result returned expected "center" but got "true"
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div align=left>{<div align=center>foo</div>}</div>": execCommand("stylewithcss", false, "false") return value 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div align=left>{<div align=center>foo</div>}</div>": execCommand("defaultparagraphseparator", false, "div") return value 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div align=left>{<div align=center>foo</div>}</div>": execCommand("justifycenter", false, "") return value 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div align=left>{<div align=center>foo</div>}</div>" checks for modifications to non-editable content 
-FAIL [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div align=left>{<div align=center>foo</div>}</div>" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<div style=\"text-align:center\">foo</div>" but got "<div align=\"left\"><div align=\"center\">foo</div></div>"
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div align=left>{<div align=center>foo</div>}</div>" queryCommandIndeterm("stylewithcss") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div align=left>{<div align=center>foo</div>}</div>" queryCommandState("stylewithcss") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div align=left>{<div align=center>foo</div>}</div>" queryCommandValue("stylewithcss") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div align=left>{<div align=center>foo</div>}</div>" queryCommandIndeterm("stylewithcss") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div align=left>{<div align=center>foo</div>}</div>" queryCommandState("stylewithcss") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div align=left>{<div align=center>foo</div>}</div>" queryCommandValue("stylewithcss") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div align=left>{<div align=center>foo</div>}</div>" queryCommandIndeterm("defaultparagraphseparator") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div align=left>{<div align=center>foo</div>}</div>" queryCommandState("defaultparagraphseparator") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div align=left>{<div align=center>foo</div>}</div>" queryCommandValue("defaultparagraphseparator") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div align=left>{<div align=center>foo</div>}</div>" queryCommandIndeterm("defaultparagraphseparator") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div align=left>{<div align=center>foo</div>}</div>" queryCommandState("defaultparagraphseparator") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div align=left>{<div align=center>foo</div>}</div>" queryCommandValue("defaultparagraphseparator") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div align=left>{<div align=center>foo</div>}</div>" queryCommandIndeterm("justifycenter") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div align=left>{<div align=center>foo</div>}</div>" queryCommandState("justifycenter") before 
-FAIL [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div align=left>{<div align=center>foo</div>}</div>" queryCommandValue("justifycenter") before assert_equals: Wrong result returned expected "center" but got "true"
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div align=left>{<div align=center>foo</div>}</div>" queryCommandIndeterm("justifycenter") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div align=left>{<div align=center>foo</div>}</div>" queryCommandState("justifycenter") after 
-FAIL [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div align=left>{<div align=center>foo</div>}</div>" queryCommandValue("justifycenter") after assert_equals: Wrong result returned expected "center" but got "true"
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div align=left>{<div align=center>foo</div>}</div>": execCommand("stylewithcss", false, "true") return value 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div align=left>{<div align=center>foo</div>}</div>": execCommand("defaultparagraphseparator", false, "p") return value 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div align=left>{<div align=center>foo</div>}</div>": execCommand("justifycenter", false, "") return value 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div align=left>{<div align=center>foo</div>}</div>" checks for modifications to non-editable content 
-FAIL [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div align=left>{<div align=center>foo</div>}</div>" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<div style=\"text-align:center\">foo</div>" but got "<div align=\"left\"><div align=\"center\">foo</div></div>"
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div align=left>{<div align=center>foo</div>}</div>" queryCommandIndeterm("stylewithcss") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div align=left>{<div align=center>foo</div>}</div>" queryCommandState("stylewithcss") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div align=left>{<div align=center>foo</div>}</div>" queryCommandValue("stylewithcss") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div align=left>{<div align=center>foo</div>}</div>" queryCommandIndeterm("stylewithcss") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div align=left>{<div align=center>foo</div>}</div>" queryCommandState("stylewithcss") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div align=left>{<div align=center>foo</div>}</div>" queryCommandValue("stylewithcss") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div align=left>{<div align=center>foo</div>}</div>" queryCommandIndeterm("defaultparagraphseparator") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div align=left>{<div align=center>foo</div>}</div>" queryCommandState("defaultparagraphseparator") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div align=left>{<div align=center>foo</div>}</div>" queryCommandValue("defaultparagraphseparator") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div align=left>{<div align=center>foo</div>}</div>" queryCommandIndeterm("defaultparagraphseparator") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div align=left>{<div align=center>foo</div>}</div>" queryCommandState("defaultparagraphseparator") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div align=left>{<div align=center>foo</div>}</div>" queryCommandValue("defaultparagraphseparator") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div align=left>{<div align=center>foo</div>}</div>" queryCommandIndeterm("justifycenter") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div align=left>{<div align=center>foo</div>}</div>" queryCommandState("justifycenter") before 
-FAIL [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div align=left>{<div align=center>foo</div>}</div>" queryCommandValue("justifycenter") before assert_equals: Wrong result returned expected "center" but got "true"
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div align=left>{<div align=center>foo</div>}</div>" queryCommandIndeterm("justifycenter") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div align=left>{<div align=center>foo</div>}</div>" queryCommandState("justifycenter") after 
-FAIL [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div align=left>{<div align=center>foo</div>}</div>" queryCommandValue("justifycenter") after assert_equals: Wrong result returned expected "center" but got "true"
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div align=left>{<div align=center>foo</div>}</div>": execCommand("stylewithcss", false, "false") return value 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div align=left>{<div align=center>foo</div>}</div>": execCommand("defaultparagraphseparator", false, "p") return value 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div align=left>{<div align=center>foo</div>}</div>": execCommand("justifycenter", false, "") return value 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div align=left>{<div align=center>foo</div>}</div>" checks for modifications to non-editable content 
-FAIL [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div align=left>{<div align=center>foo</div>}</div>" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<div style=\"text-align:center\">foo</div>" but got "<div align=\"left\"><div align=\"center\">foo</div></div>"
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div align=left>{<div align=center>foo</div>}</div>" queryCommandIndeterm("stylewithcss") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div align=left>{<div align=center>foo</div>}</div>" queryCommandState("stylewithcss") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div align=left>{<div align=center>foo</div>}</div>" queryCommandValue("stylewithcss") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div align=left>{<div align=center>foo</div>}</div>" queryCommandIndeterm("stylewithcss") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div align=left>{<div align=center>foo</div>}</div>" queryCommandState("stylewithcss") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div align=left>{<div align=center>foo</div>}</div>" queryCommandValue("stylewithcss") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div align=left>{<div align=center>foo</div>}</div>" queryCommandIndeterm("defaultparagraphseparator") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div align=left>{<div align=center>foo</div>}</div>" queryCommandState("defaultparagraphseparator") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div align=left>{<div align=center>foo</div>}</div>" queryCommandValue("defaultparagraphseparator") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div align=left>{<div align=center>foo</div>}</div>" queryCommandIndeterm("defaultparagraphseparator") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div align=left>{<div align=center>foo</div>}</div>" queryCommandState("defaultparagraphseparator") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div align=left>{<div align=center>foo</div>}</div>" queryCommandValue("defaultparagraphseparator") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div align=left>{<div align=center>foo</div>}</div>" queryCommandIndeterm("justifycenter") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div align=left>{<div align=center>foo</div>}</div>" queryCommandState("justifycenter") before 
-FAIL [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div align=left>{<div align=center>foo</div>}</div>" queryCommandValue("justifycenter") before assert_equals: Wrong result returned expected "center" but got "true"
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div align=left>{<div align=center>foo</div>}</div>" queryCommandIndeterm("justifycenter") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div align=left>{<div align=center>foo</div>}</div>" queryCommandState("justifycenter") after 
-FAIL [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div align=left>{<div align=center>foo</div>}</div>" queryCommandValue("justifycenter") after assert_equals: Wrong result returned expected "center" but got "true"
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div align=center>{<div align=left>foo</div>bar}</div>": execCommand("stylewithcss", false, "true") return value 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div align=center>{<div align=left>foo</div>bar}</div>": execCommand("defaultparagraphseparator", false, "div") return value 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div align=center>{<div align=left>foo</div>bar}</div>": execCommand("justifycenter", false, "") return value 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div align=center>{<div align=left>foo</div>bar}</div>" checks for modifications to non-editable content 
-FAIL [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div align=center>{<div align=left>foo</div>bar}</div>" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<div style=\"text-align:center\">foo<br>bar</div>" but got "<div align=\"center\"><div align=\"left\" style=\"text-align:center\">foo</div>bar</div>"
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div align=center>{<div align=left>foo</div>bar}</div>" queryCommandIndeterm("stylewithcss") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div align=center>{<div align=left>foo</div>bar}</div>" queryCommandState("stylewithcss") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div align=center>{<div align=left>foo</div>bar}</div>" queryCommandValue("stylewithcss") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div align=center>{<div align=left>foo</div>bar}</div>" queryCommandIndeterm("stylewithcss") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div align=center>{<div align=left>foo</div>bar}</div>" queryCommandState("stylewithcss") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div align=center>{<div align=left>foo</div>bar}</div>" queryCommandValue("stylewithcss") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div align=center>{<div align=left>foo</div>bar}</div>" queryCommandIndeterm("defaultparagraphseparator") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div align=center>{<div align=left>foo</div>bar}</div>" queryCommandState("defaultparagraphseparator") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div align=center>{<div align=left>foo</div>bar}</div>" queryCommandValue("defaultparagraphseparator") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div align=center>{<div align=left>foo</div>bar}</div>" queryCommandIndeterm("defaultparagraphseparator") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div align=center>{<div align=left>foo</div>bar}</div>" queryCommandState("defaultparagraphseparator") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div align=center>{<div align=left>foo</div>bar}</div>" queryCommandValue("defaultparagraphseparator") after 
-FAIL [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div align=center>{<div align=left>foo</div>bar}</div>" queryCommandIndeterm("justifycenter") before assert_equals: Wrong result returned expected true but got false
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div align=center>{<div align=left>foo</div>bar}</div>" queryCommandState("justifycenter") before 
-FAIL [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div align=center>{<div align=left>foo</div>bar}</div>" queryCommandValue("justifycenter") before assert_equals: Wrong result returned expected "left" but got "false"
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div align=center>{<div align=left>foo</div>bar}</div>" queryCommandIndeterm("justifycenter") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div align=center>{<div align=left>foo</div>bar}</div>" queryCommandState("justifycenter") after 
-FAIL [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div align=center>{<div align=left>foo</div>bar}</div>" queryCommandValue("justifycenter") after assert_equals: Wrong result returned expected "center" but got "true"
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div align=center>{<div align=left>foo</div>bar}</div>": execCommand("stylewithcss", false, "false") return value 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div align=center>{<div align=left>foo</div>bar}</div>": execCommand("defaultparagraphseparator", false, "div") return value 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div align=center>{<div align=left>foo</div>bar}</div>": execCommand("justifycenter", false, "") return value 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div align=center>{<div align=left>foo</div>bar}</div>" checks for modifications to non-editable content 
-FAIL [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div align=center>{<div align=left>foo</div>bar}</div>" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<div style=\"text-align:center\">foo<br>bar</div>" but got "<div align=\"center\"><div align=\"left\" style=\"text-align:center\">foo</div>bar</div>"
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div align=center>{<div align=left>foo</div>bar}</div>" queryCommandIndeterm("stylewithcss") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div align=center>{<div align=left>foo</div>bar}</div>" queryCommandState("stylewithcss") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div align=center>{<div align=left>foo</div>bar}</div>" queryCommandValue("stylewithcss") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div align=center>{<div align=left>foo</div>bar}</div>" queryCommandIndeterm("stylewithcss") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div align=center>{<div align=left>foo</div>bar}</div>" queryCommandState("stylewithcss") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div align=center>{<div align=left>foo</div>bar}</div>" queryCommandValue("stylewithcss") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div align=center>{<div align=left>foo</div>bar}</div>" queryCommandIndeterm("defaultparagraphseparator") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div align=center>{<div align=left>foo</div>bar}</div>" queryCommandState("defaultparagraphseparator") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div align=center>{<div align=left>foo</div>bar}</div>" queryCommandValue("defaultparagraphseparator") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div align=center>{<div align=left>foo</div>bar}</div>" queryCommandIndeterm("defaultparagraphseparator") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div align=center>{<div align=left>foo</div>bar}</div>" queryCommandState("defaultparagraphseparator") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div align=center>{<div align=left>foo</div>bar}</div>" queryCommandValue("defaultparagraphseparator") after 
-FAIL [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div align=center>{<div align=left>foo</div>bar}</div>" queryCommandIndeterm("justifycenter") before assert_equals: Wrong result returned expected true but got false
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div align=center>{<div align=left>foo</div>bar}</div>" queryCommandState("justifycenter") before 
-FAIL [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div align=center>{<div align=left>foo</div>bar}</div>" queryCommandValue("justifycenter") before assert_equals: Wrong result returned expected "left" but got "false"
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div align=center>{<div align=left>foo</div>bar}</div>" queryCommandIndeterm("justifycenter") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div align=center>{<div align=left>foo</div>bar}</div>" queryCommandState("justifycenter") after 
-FAIL [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div align=center>{<div align=left>foo</div>bar}</div>" queryCommandValue("justifycenter") after assert_equals: Wrong result returned expected "center" but got "true"
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div align=center>{<div align=left>foo</div>bar}</div>": execCommand("stylewithcss", false, "true") return value 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div align=center>{<div align=left>foo</div>bar}</div>": execCommand("defaultparagraphseparator", false, "p") return value 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div align=center>{<div align=left>foo</div>bar}</div>": execCommand("justifycenter", false, "") return value 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div align=center>{<div align=left>foo</div>bar}</div>" checks for modifications to non-editable content 
-FAIL [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div align=center>{<div align=left>foo</div>bar}</div>" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<div style=\"text-align:center\">foo<br>bar</div>" but got "<div align=\"center\"><div align=\"left\" style=\"text-align:center\">foo</div>bar</div>"
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div align=center>{<div align=left>foo</div>bar}</div>" queryCommandIndeterm("stylewithcss") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div align=center>{<div align=left>foo</div>bar}</div>" queryCommandState("stylewithcss") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div align=center>{<div align=left>foo</div>bar}</div>" queryCommandValue("stylewithcss") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div align=center>{<div align=left>foo</div>bar}</div>" queryCommandIndeterm("stylewithcss") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div align=center>{<div align=left>foo</div>bar}</div>" queryCommandState("stylewithcss") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div align=center>{<div align=left>foo</div>bar}</div>" queryCommandValue("stylewithcss") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div align=center>{<div align=left>foo</div>bar}</div>" queryCommandIndeterm("defaultparagraphseparator") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div align=center>{<div align=left>foo</div>bar}</div>" queryCommandState("defaultparagraphseparator") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div align=center>{<div align=left>foo</div>bar}</div>" queryCommandValue("defaultparagraphseparator") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div align=center>{<div align=left>foo</div>bar}</div>" queryCommandIndeterm("defaultparagraphseparator") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div align=center>{<div align=left>foo</div>bar}</div>" queryCommandState("defaultparagraphseparator") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div align=center>{<div align=left>foo</div>bar}</div>" queryCommandValue("defaultparagraphseparator") after 
-FAIL [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div align=center>{<div align=left>foo</div>bar}</div>" queryCommandIndeterm("justifycenter") before assert_equals: Wrong result returned expected true but got false
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div align=center>{<div align=left>foo</div>bar}</div>" queryCommandState("justifycenter") before 
-FAIL [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div align=center>{<div align=left>foo</div>bar}</div>" queryCommandValue("justifycenter") before assert_equals: Wrong result returned expected "left" but got "false"
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div align=center>{<div align=left>foo</div>bar}</div>" queryCommandIndeterm("justifycenter") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div align=center>{<div align=left>foo</div>bar}</div>" queryCommandState("justifycenter") after 
-FAIL [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div align=center>{<div align=left>foo</div>bar}</div>" queryCommandValue("justifycenter") after assert_equals: Wrong result returned expected "center" but got "true"
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div align=center>{<div align=left>foo</div>bar}</div>": execCommand("stylewithcss", false, "false") return value 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div align=center>{<div align=left>foo</div>bar}</div>": execCommand("defaultparagraphseparator", false, "p") return value 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div align=center>{<div align=left>foo</div>bar}</div>": execCommand("justifycenter", false, "") return value 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div align=center>{<div align=left>foo</div>bar}</div>" checks for modifications to non-editable content 
-FAIL [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div align=center>{<div align=left>foo</div>bar}</div>" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<div style=\"text-align:center\">foo<br>bar</div>" but got "<div align=\"center\"><div align=\"left\" style=\"text-align:center\">foo</div>bar</div>"
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div align=center>{<div align=left>foo</div>bar}</div>" queryCommandIndeterm("stylewithcss") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div align=center>{<div align=left>foo</div>bar}</div>" queryCommandState("stylewithcss") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div align=center>{<div align=left>foo</div>bar}</div>" queryCommandValue("stylewithcss") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div align=center>{<div align=left>foo</div>bar}</div>" queryCommandIndeterm("stylewithcss") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div align=center>{<div align=left>foo</div>bar}</div>" queryCommandState("stylewithcss") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div align=center>{<div align=left>foo</div>bar}</div>" queryCommandValue("stylewithcss") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div align=center>{<div align=left>foo</div>bar}</div>" queryCommandIndeterm("defaultparagraphseparator") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div align=center>{<div align=left>foo</div>bar}</div>" queryCommandState("defaultparagraphseparator") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div align=center>{<div align=left>foo</div>bar}</div>" queryCommandValue("defaultparagraphseparator") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div align=center>{<div align=left>foo</div>bar}</div>" queryCommandIndeterm("defaultparagraphseparator") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div align=center>{<div align=left>foo</div>bar}</div>" queryCommandState("defaultparagraphseparator") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div align=center>{<div align=left>foo</div>bar}</div>" queryCommandValue("defaultparagraphseparator") after 
-FAIL [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div align=center>{<div align=left>foo</div>bar}</div>" queryCommandIndeterm("justifycenter") before assert_equals: Wrong result returned expected true but got false
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div align=center>{<div align=left>foo</div>bar}</div>" queryCommandState("justifycenter") before 
-FAIL [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div align=center>{<div align=left>foo</div>bar}</div>" queryCommandValue("justifycenter") before assert_equals: Wrong result returned expected "left" but got "false"
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div align=center>{<div align=left>foo</div>bar}</div>" queryCommandIndeterm("justifycenter") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div align=center>{<div align=left>foo</div>bar}</div>" queryCommandState("justifycenter") after 
-FAIL [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div align=center>{<div align=left>foo</div>bar}</div>" queryCommandValue("justifycenter") after assert_equals: Wrong result returned expected "center" but got "true"
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div align=left>{<div align=center>foo</div>bar}</div>": execCommand("stylewithcss", false, "true") return value 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div align=left>{<div align=center>foo</div>bar}</div>": execCommand("defaultparagraphseparator", false, "div") return value 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div align=left>{<div align=center>foo</div>bar}</div>": execCommand("justifycenter", false, "") return value 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div align=left>{<div align=center>foo</div>bar}</div>" checks for modifications to non-editable content 
-FAIL [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div align=left>{<div align=center>foo</div>bar}</div>" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<div style=\"text-align:center\">foo<br>bar</div>" but got "<div align=\"left\"><div align=\"center\">foo</div><div style=\"text-align:center\">bar</div></div>"
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div align=left>{<div align=center>foo</div>bar}</div>" queryCommandIndeterm("stylewithcss") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div align=left>{<div align=center>foo</div>bar}</div>" queryCommandState("stylewithcss") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div align=left>{<div align=center>foo</div>bar}</div>" queryCommandValue("stylewithcss") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div align=left>{<div align=center>foo</div>bar}</div>" queryCommandIndeterm("stylewithcss") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div align=left>{<div align=center>foo</div>bar}</div>" queryCommandState("stylewithcss") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div align=left>{<div align=center>foo</div>bar}</div>" queryCommandValue("stylewithcss") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div align=left>{<div align=center>foo</div>bar}</div>" queryCommandIndeterm("defaultparagraphseparator") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div align=left>{<div align=center>foo</div>bar}</div>" queryCommandState("defaultparagraphseparator") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div align=left>{<div align=center>foo</div>bar}</div>" queryCommandValue("defaultparagraphseparator") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div align=left>{<div align=center>foo</div>bar}</div>" queryCommandIndeterm("defaultparagraphseparator") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div align=left>{<div align=center>foo</div>bar}</div>" queryCommandState("defaultparagraphseparator") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div align=left>{<div align=center>foo</div>bar}</div>" queryCommandValue("defaultparagraphseparator") after 
-FAIL [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div align=left>{<div align=center>foo</div>bar}</div>" queryCommandIndeterm("justifycenter") before assert_equals: Wrong result returned expected true but got false
-FAIL [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div align=left>{<div align=center>foo</div>bar}</div>" queryCommandState("justifycenter") before assert_equals: Wrong result returned expected false but got true
-FAIL [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div align=left>{<div align=center>foo</div>bar}</div>" queryCommandValue("justifycenter") before assert_equals: Wrong result returned expected "center" but got "true"
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div align=left>{<div align=center>foo</div>bar}</div>" queryCommandIndeterm("justifycenter") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div align=left>{<div align=center>foo</div>bar}</div>" queryCommandState("justifycenter") after 
-FAIL [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div align=left>{<div align=center>foo</div>bar}</div>" queryCommandValue("justifycenter") after assert_equals: Wrong result returned expected "center" but got "true"
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div align=left>{<div align=center>foo</div>bar}</div>": execCommand("stylewithcss", false, "false") return value 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div align=left>{<div align=center>foo</div>bar}</div>": execCommand("defaultparagraphseparator", false, "div") return value 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div align=left>{<div align=center>foo</div>bar}</div>": execCommand("justifycenter", false, "") return value 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div align=left>{<div align=center>foo</div>bar}</div>" checks for modifications to non-editable content 
-FAIL [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div align=left>{<div align=center>foo</div>bar}</div>" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<div style=\"text-align:center\">foo<br>bar</div>" but got "<div align=\"left\"><div align=\"center\">foo</div><div style=\"text-align:center\">bar</div></div>"
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div align=left>{<div align=center>foo</div>bar}</div>" queryCommandIndeterm("stylewithcss") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div align=left>{<div align=center>foo</div>bar}</div>" queryCommandState("stylewithcss") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div align=left>{<div align=center>foo</div>bar}</div>" queryCommandValue("stylewithcss") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div align=left>{<div align=center>foo</div>bar}</div>" queryCommandIndeterm("stylewithcss") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div align=left>{<div align=center>foo</div>bar}</div>" queryCommandState("stylewithcss") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div align=left>{<div align=center>foo</div>bar}</div>" queryCommandValue("stylewithcss") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div align=left>{<div align=center>foo</div>bar}</div>" queryCommandIndeterm("defaultparagraphseparator") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div align=left>{<div align=center>foo</div>bar}</div>" queryCommandState("defaultparagraphseparator") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div align=left>{<div align=center>foo</div>bar}</div>" queryCommandValue("defaultparagraphseparator") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div align=left>{<div align=center>foo</div>bar}</div>" queryCommandIndeterm("defaultparagraphseparator") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div align=left>{<div align=center>foo</div>bar}</div>" queryCommandState("defaultparagraphseparator") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div align=left>{<div align=center>foo</div>bar}</div>" queryCommandValue("defaultparagraphseparator") after 
-FAIL [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div align=left>{<div align=center>foo</div>bar}</div>" queryCommandIndeterm("justifycenter") before assert_equals: Wrong result returned expected true but got false
-FAIL [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div align=left>{<div align=center>foo</div>bar}</div>" queryCommandState("justifycenter") before assert_equals: Wrong result returned expected false but got true
-FAIL [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div align=left>{<div align=center>foo</div>bar}</div>" queryCommandValue("justifycenter") before assert_equals: Wrong result returned expected "center" but got "true"
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div align=left>{<div align=center>foo</div>bar}</div>" queryCommandIndeterm("justifycenter") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div align=left>{<div align=center>foo</div>bar}</div>" queryCommandState("justifycenter") after 
-FAIL [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div align=left>{<div align=center>foo</div>bar}</div>" queryCommandValue("justifycenter") after assert_equals: Wrong result returned expected "center" but got "true"
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div align=left>{<div align=center>foo</div>bar}</div>": execCommand("stylewithcss", false, "true") return value 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div align=left>{<div align=center>foo</div>bar}</div>": execCommand("defaultparagraphseparator", false, "p") return value 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div align=left>{<div align=center>foo</div>bar}</div>": execCommand("justifycenter", false, "") return value 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div align=left>{<div align=center>foo</div>bar}</div>" checks for modifications to non-editable content 
-FAIL [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div align=left>{<div align=center>foo</div>bar}</div>" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<div style=\"text-align:center\">foo<br>bar</div>" but got "<div align=\"left\"><div align=\"center\">foo</div><p style=\"text-align:center\">bar</p></div>"
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div align=left>{<div align=center>foo</div>bar}</div>" queryCommandIndeterm("stylewithcss") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div align=left>{<div align=center>foo</div>bar}</div>" queryCommandState("stylewithcss") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div align=left>{<div align=center>foo</div>bar}</div>" queryCommandValue("stylewithcss") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div align=left>{<div align=center>foo</div>bar}</div>" queryCommandIndeterm("stylewithcss") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div align=left>{<div align=center>foo</div>bar}</div>" queryCommandState("stylewithcss") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div align=left>{<div align=center>foo</div>bar}</div>" queryCommandValue("stylewithcss") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div align=left>{<div align=center>foo</div>bar}</div>" queryCommandIndeterm("defaultparagraphseparator") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div align=left>{<div align=center>foo</div>bar}</div>" queryCommandState("defaultparagraphseparator") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div align=left>{<div align=center>foo</div>bar}</div>" queryCommandValue("defaultparagraphseparator") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div align=left>{<div align=center>foo</div>bar}</div>" queryCommandIndeterm("defaultparagraphseparator") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div align=left>{<div align=center>foo</div>bar}</div>" queryCommandState("defaultparagraphseparator") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div align=left>{<div align=center>foo</div>bar}</div>" queryCommandValue("defaultparagraphseparator") after 
-FAIL [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div align=left>{<div align=center>foo</div>bar}</div>" queryCommandIndeterm("justifycenter") before assert_equals: Wrong result returned expected true but got false
-FAIL [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div align=left>{<div align=center>foo</div>bar}</div>" queryCommandState("justifycenter") before assert_equals: Wrong result returned expected false but got true
-FAIL [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div align=left>{<div align=center>foo</div>bar}</div>" queryCommandValue("justifycenter") before assert_equals: Wrong result returned expected "center" but got "true"
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div align=left>{<div align=center>foo</div>bar}</div>" queryCommandIndeterm("justifycenter") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div align=left>{<div align=center>foo</div>bar}</div>" queryCommandState("justifycenter") after 
-FAIL [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div align=left>{<div align=center>foo</div>bar}</div>" queryCommandValue("justifycenter") after assert_equals: Wrong result returned expected "center" but got "true"
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div align=left>{<div align=center>foo</div>bar}</div>": execCommand("stylewithcss", false, "false") return value 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div align=left>{<div align=center>foo</div>bar}</div>": execCommand("defaultparagraphseparator", false, "p") return value 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div align=left>{<div align=center>foo</div>bar}</div>": execCommand("justifycenter", false, "") return value 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div align=left>{<div align=center>foo</div>bar}</div>" checks for modifications to non-editable content 
-FAIL [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div align=left>{<div align=center>foo</div>bar}</div>" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<div style=\"text-align:center\">foo<br>bar</div>" but got "<div align=\"left\"><div align=\"center\">foo</div><p style=\"text-align:center\">bar</p></div>"
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div align=left>{<div align=center>foo</div>bar}</div>" queryCommandIndeterm("stylewithcss") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div align=left>{<div align=center>foo</div>bar}</div>" queryCommandState("stylewithcss") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div align=left>{<div align=center>foo</div>bar}</div>" queryCommandValue("stylewithcss") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div align=left>{<div align=center>foo</div>bar}</div>" queryCommandIndeterm("stylewithcss") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div align=left>{<div align=center>foo</div>bar}</div>" queryCommandState("stylewithcss") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div align=left>{<div align=center>foo</div>bar}</div>" queryCommandValue("stylewithcss") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div align=left>{<div align=center>foo</div>bar}</div>" queryCommandIndeterm("defaultparagraphseparator") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div align=left>{<div align=center>foo</div>bar}</div>" queryCommandState("defaultparagraphseparator") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div align=left>{<div align=center>foo</div>bar}</div>" queryCommandValue("defaultparagraphseparator") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div align=left>{<div align=center>foo</div>bar}</div>" queryCommandIndeterm("defaultparagraphseparator") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div align=left>{<div align=center>foo</div>bar}</div>" queryCommandState("defaultparagraphseparator") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div align=left>{<div align=center>foo</div>bar}</div>" queryCommandValue("defaultparagraphseparator") after 
-FAIL [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div align=left>{<div align=center>foo</div>bar}</div>" queryCommandIndeterm("justifycenter") before assert_equals: Wrong result returned expected true but got false
-FAIL [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div align=left>{<div align=center>foo</div>bar}</div>" queryCommandState("justifycenter") before assert_equals: Wrong result returned expected false but got true
-FAIL [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div align=left>{<div align=center>foo</div>bar}</div>" queryCommandValue("justifycenter") before assert_equals: Wrong result returned expected "center" but got "true"
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div align=left>{<div align=center>foo</div>bar}</div>" queryCommandIndeterm("justifycenter") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div align=left>{<div align=center>foo</div>bar}</div>" queryCommandState("justifycenter") after 
-FAIL [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div align=left>{<div align=center>foo</div>bar}</div>" queryCommandValue("justifycenter") after assert_equals: Wrong result returned expected "center" but got "true"
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div align=center>{<div align=left>foo</div><img src=/img/lion.svg>}</div>": execCommand("stylewithcss", false, "true") return value 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div align=center>{<div align=left>foo</div><img src=/img/lion.svg>}</div>": execCommand("defaultparagraphseparator", false, "div") return value 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div align=center>{<div align=left>foo</div><img src=/img/lion.svg>}</div>": execCommand("justifycenter", false, "") return value 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div align=center>{<div align=left>foo</div><img src=/img/lion.svg>}</div>" checks for modifications to non-editable content 
-FAIL [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div align=center>{<div align=left>foo</div><img src=/img/lion.svg>}</div>" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<div style=\"text-align:center\">foo<br><img src=\"/img/lion.svg\"></div>" but got "<div align=\"center\"><div align=\"left\" style=\"text-align:center\">foo</div><img src=\"/img/lion.svg\"></div>"
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div align=center>{<div align=left>foo</div><img src=/img/lion.svg>}</div>" queryCommandIndeterm("stylewithcss") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div align=center>{<div align=left>foo</div><img src=/img/lion.svg>}</div>" queryCommandState("stylewithcss") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div align=center>{<div align=left>foo</div><img src=/img/lion.svg>}</div>" queryCommandValue("stylewithcss") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div align=center>{<div align=left>foo</div><img src=/img/lion.svg>}</div>" queryCommandIndeterm("stylewithcss") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div align=center>{<div align=left>foo</div><img src=/img/lion.svg>}</div>" queryCommandState("stylewithcss") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div align=center>{<div align=left>foo</div><img src=/img/lion.svg>}</div>" queryCommandValue("stylewithcss") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div align=center>{<div align=left>foo</div><img src=/img/lion.svg>}</div>" queryCommandIndeterm("defaultparagraphseparator") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div align=center>{<div align=left>foo</div><img src=/img/lion.svg>}</div>" queryCommandState("defaultparagraphseparator") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div align=center>{<div align=left>foo</div><img src=/img/lion.svg>}</div>" queryCommandValue("defaultparagraphseparator") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div align=center>{<div align=left>foo</div><img src=/img/lion.svg>}</div>" queryCommandIndeterm("defaultparagraphseparator") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div align=center>{<div align=left>foo</div><img src=/img/lion.svg>}</div>" queryCommandState("defaultparagraphseparator") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div align=center>{<div align=left>foo</div><img src=/img/lion.svg>}</div>" queryCommandValue("defaultparagraphseparator") after 
-FAIL [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div align=center>{<div align=left>foo</div><img src=/img/lion.svg>}</div>" queryCommandIndeterm("justifycenter") before assert_equals: Wrong result returned expected true but got false
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div align=center>{<div align=left>foo</div><img src=/img/lion.svg>}</div>" queryCommandState("justifycenter") before 
-FAIL [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div align=center>{<div align=left>foo</div><img src=/img/lion.svg>}</div>" queryCommandValue("justifycenter") before assert_equals: Wrong result returned expected "left" but got "false"
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div align=center>{<div align=left>foo</div><img src=/img/lion.svg>}</div>" queryCommandIndeterm("justifycenter") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div align=center>{<div align=left>foo</div><img src=/img/lion.svg>}</div>" queryCommandState("justifycenter") after 
-FAIL [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div align=center>{<div align=left>foo</div><img src=/img/lion.svg>}</div>" queryCommandValue("justifycenter") after assert_equals: Wrong result returned expected "center" but got "true"
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div align=center>{<div align=left>foo</div><img src=/img/lion.svg>}</div>": execCommand("stylewithcss", false, "false") return value 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div align=center>{<div align=left>foo</div><img src=/img/lion.svg>}</div>": execCommand("defaultparagraphseparator", false, "div") return value 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div align=center>{<div align=left>foo</div><img src=/img/lion.svg>}</div>": execCommand("justifycenter", false, "") return value 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div align=center>{<div align=left>foo</div><img src=/img/lion.svg>}</div>" checks for modifications to non-editable content 
-FAIL [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div align=center>{<div align=left>foo</div><img src=/img/lion.svg>}</div>" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<div style=\"text-align:center\">foo<br><img src=\"/img/lion.svg\"></div>" but got "<div align=\"center\"><div align=\"left\" style=\"text-align:center\">foo</div><img src=\"/img/lion.svg\"></div>"
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div align=center>{<div align=left>foo</div><img src=/img/lion.svg>}</div>" queryCommandIndeterm("stylewithcss") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div align=center>{<div align=left>foo</div><img src=/img/lion.svg>}</div>" queryCommandState("stylewithcss") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div align=center>{<div align=left>foo</div><img src=/img/lion.svg>}</div>" queryCommandValue("stylewithcss") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div align=center>{<div align=left>foo</div><img src=/img/lion.svg>}</div>" queryCommandIndeterm("stylewithcss") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div align=center>{<div align=left>foo</div><img src=/img/lion.svg>}</div>" queryCommandState("stylewithcss") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div align=center>{<div align=left>foo</div><img src=/img/lion.svg>}</div>" queryCommandValue("stylewithcss") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div align=center>{<div align=left>foo</div><img src=/img/lion.svg>}</div>" queryCommandIndeterm("defaultparagraphseparator") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div align=center>{<div align=left>foo</div><img src=/img/lion.svg>}</div>" queryCommandState("defaultparagraphseparator") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div align=center>{<div align=left>foo</div><img src=/img/lion.svg>}</div>" queryCommandValue("defaultparagraphseparator") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div align=center>{<div align=left>foo</div><img src=/img/lion.svg>}</div>" queryCommandIndeterm("defaultparagraphseparator") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div align=center>{<div align=left>foo</div><img src=/img/lion.svg>}</div>" queryCommandState("defaultparagraphseparator") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div align=center>{<div align=left>foo</div><img src=/img/lion.svg>}</div>" queryCommandValue("defaultparagraphseparator") after 
-FAIL [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div align=center>{<div align=left>foo</div><img src=/img/lion.svg>}</div>" queryCommandIndeterm("justifycenter") before assert_equals: Wrong result returned expected true but got false
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div align=center>{<div align=left>foo</div><img src=/img/lion.svg>}</div>" queryCommandState("justifycenter") before 
-FAIL [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div align=center>{<div align=left>foo</div><img src=/img/lion.svg>}</div>" queryCommandValue("justifycenter") before assert_equals: Wrong result returned expected "left" but got "false"
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div align=center>{<div align=left>foo</div><img src=/img/lion.svg>}</div>" queryCommandIndeterm("justifycenter") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div align=center>{<div align=left>foo</div><img src=/img/lion.svg>}</div>" queryCommandState("justifycenter") after 
-FAIL [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div align=center>{<div align=left>foo</div><img src=/img/lion.svg>}</div>" queryCommandValue("justifycenter") after assert_equals: Wrong result returned expected "center" but got "true"
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div align=center>{<div align=left>foo</div><img src=/img/lion.svg>}</div>": execCommand("stylewithcss", false, "true") return value 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div align=center>{<div align=left>foo</div><img src=/img/lion.svg>}</div>": execCommand("defaultparagraphseparator", false, "p") return value 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div align=center>{<div align=left>foo</div><img src=/img/lion.svg>}</div>": execCommand("justifycenter", false, "") return value 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div align=center>{<div align=left>foo</div><img src=/img/lion.svg>}</div>" checks for modifications to non-editable content 
-FAIL [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div align=center>{<div align=left>foo</div><img src=/img/lion.svg>}</div>" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<div style=\"text-align:center\">foo<br><img src=\"/img/lion.svg\"></div>" but got "<div align=\"center\"><div align=\"left\" style=\"text-align:center\">foo</div><img src=\"/img/lion.svg\"></div>"
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div align=center>{<div align=left>foo</div><img src=/img/lion.svg>}</div>" queryCommandIndeterm("stylewithcss") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div align=center>{<div align=left>foo</div><img src=/img/lion.svg>}</div>" queryCommandState("stylewithcss") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div align=center>{<div align=left>foo</div><img src=/img/lion.svg>}</div>" queryCommandValue("stylewithcss") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div align=center>{<div align=left>foo</div><img src=/img/lion.svg>}</div>" queryCommandIndeterm("stylewithcss") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div align=center>{<div align=left>foo</div><img src=/img/lion.svg>}</div>" queryCommandState("stylewithcss") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div align=center>{<div align=left>foo</div><img src=/img/lion.svg>}</div>" queryCommandValue("stylewithcss") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div align=center>{<div align=left>foo</div><img src=/img/lion.svg>}</div>" queryCommandIndeterm("defaultparagraphseparator") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div align=center>{<div align=left>foo</div><img src=/img/lion.svg>}</div>" queryCommandState("defaultparagraphseparator") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div align=center>{<div align=left>foo</div><img src=/img/lion.svg>}</div>" queryCommandValue("defaultparagraphseparator") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div align=center>{<div align=left>foo</div><img src=/img/lion.svg>}</div>" queryCommandIndeterm("defaultparagraphseparator") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div align=center>{<div align=left>foo</div><img src=/img/lion.svg>}</div>" queryCommandState("defaultparagraphseparator") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div align=center>{<div align=left>foo</div><img src=/img/lion.svg>}</div>" queryCommandValue("defaultparagraphseparator") after 
-FAIL [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div align=center>{<div align=left>foo</div><img src=/img/lion.svg>}</div>" queryCommandIndeterm("justifycenter") before assert_equals: Wrong result returned expected true but got false
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div align=center>{<div align=left>foo</div><img src=/img/lion.svg>}</div>" queryCommandState("justifycenter") before 
-FAIL [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div align=center>{<div align=left>foo</div><img src=/img/lion.svg>}</div>" queryCommandValue("justifycenter") before assert_equals: Wrong result returned expected "left" but got "false"
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div align=center>{<div align=left>foo</div><img src=/img/lion.svg>}</div>" queryCommandIndeterm("justifycenter") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div align=center>{<div align=left>foo</div><img src=/img/lion.svg>}</div>" queryCommandState("justifycenter") after 
-FAIL [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div align=center>{<div align=left>foo</div><img src=/img/lion.svg>}</div>" queryCommandValue("justifycenter") after assert_equals: Wrong result returned expected "center" but got "true"
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div align=center>{<div align=left>foo</div><img src=/img/lion.svg>}</div>": execCommand("stylewithcss", false, "false") return value 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div align=center>{<div align=left>foo</div><img src=/img/lion.svg>}</div>": execCommand("defaultparagraphseparator", false, "p") return value 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div align=center>{<div align=left>foo</div><img src=/img/lion.svg>}</div>": execCommand("justifycenter", false, "") return value 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div align=center>{<div align=left>foo</div><img src=/img/lion.svg>}</div>" checks for modifications to non-editable content 
-FAIL [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div align=center>{<div align=left>foo</div><img src=/img/lion.svg>}</div>" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<div style=\"text-align:center\">foo<br><img src=\"/img/lion.svg\"></div>" but got "<div align=\"center\"><div align=\"left\" style=\"text-align:center\">foo</div><img src=\"/img/lion.svg\"></div>"
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div align=center>{<div align=left>foo</div><img src=/img/lion.svg>}</div>" queryCommandIndeterm("stylewithcss") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div align=center>{<div align=left>foo</div><img src=/img/lion.svg>}</div>" queryCommandState("stylewithcss") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div align=center>{<div align=left>foo</div><img src=/img/lion.svg>}</div>" queryCommandValue("stylewithcss") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div align=center>{<div align=left>foo</div><img src=/img/lion.svg>}</div>" queryCommandIndeterm("stylewithcss") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div align=center>{<div align=left>foo</div><img src=/img/lion.svg>}</div>" queryCommandState("stylewithcss") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div align=center>{<div align=left>foo</div><img src=/img/lion.svg>}</div>" queryCommandValue("stylewithcss") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div align=center>{<div align=left>foo</div><img src=/img/lion.svg>}</div>" queryCommandIndeterm("defaultparagraphseparator") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div align=center>{<div align=left>foo</div><img src=/img/lion.svg>}</div>" queryCommandState("defaultparagraphseparator") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div align=center>{<div align=left>foo</div><img src=/img/lion.svg>}</div>" queryCommandValue("defaultparagraphseparator") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div align=center>{<div align=left>foo</div><img src=/img/lion.svg>}</div>" queryCommandIndeterm("defaultparagraphseparator") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div align=center>{<div align=left>foo</div><img src=/img/lion.svg>}</div>" queryCommandState("defaultparagraphseparator") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div align=center>{<div align=left>foo</div><img src=/img/lion.svg>}</div>" queryCommandValue("defaultparagraphseparator") after 
-FAIL [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div align=center>{<div align=left>foo</div><img src=/img/lion.svg>}</div>" queryCommandIndeterm("justifycenter") before assert_equals: Wrong result returned expected true but got false
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div align=center>{<div align=left>foo</div><img src=/img/lion.svg>}</div>" queryCommandState("justifycenter") before 
-FAIL [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div align=center>{<div align=left>foo</div><img src=/img/lion.svg>}</div>" queryCommandValue("justifycenter") before assert_equals: Wrong result returned expected "left" but got "false"
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div align=center>{<div align=left>foo</div><img src=/img/lion.svg>}</div>" queryCommandIndeterm("justifycenter") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div align=center>{<div align=left>foo</div><img src=/img/lion.svg>}</div>" queryCommandState("justifycenter") after 
-FAIL [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div align=center>{<div align=left>foo</div><img src=/img/lion.svg>}</div>" queryCommandValue("justifycenter") after assert_equals: Wrong result returned expected "center" but got "true"
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div align=left>{<div align=center>foo</div><img src=/img/lion.svg>}</div>": execCommand("stylewithcss", false, "true") return value 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div align=left>{<div align=center>foo</div><img src=/img/lion.svg>}</div>": execCommand("defaultparagraphseparator", false, "div") return value 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div align=left>{<div align=center>foo</div><img src=/img/lion.svg>}</div>": execCommand("justifycenter", false, "") return value 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div align=left>{<div align=center>foo</div><img src=/img/lion.svg>}</div>" checks for modifications to non-editable content 
-FAIL [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div align=left>{<div align=center>foo</div><img src=/img/lion.svg>}</div>" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<div style=\"text-align:center\">foo<br><img src=\"/img/lion.svg\"></div>" but got "<div align=\"left\"><div align=\"center\">foo</div><div style=\"text-align:center\"><img src=\"/img/lion.svg\"></div></div>"
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div align=left>{<div align=center>foo</div><img src=/img/lion.svg>}</div>" queryCommandIndeterm("stylewithcss") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div align=left>{<div align=center>foo</div><img src=/img/lion.svg>}</div>" queryCommandState("stylewithcss") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div align=left>{<div align=center>foo</div><img src=/img/lion.svg>}</div>" queryCommandValue("stylewithcss") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div align=left>{<div align=center>foo</div><img src=/img/lion.svg>}</div>" queryCommandIndeterm("stylewithcss") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div align=left>{<div align=center>foo</div><img src=/img/lion.svg>}</div>" queryCommandState("stylewithcss") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div align=left>{<div align=center>foo</div><img src=/img/lion.svg>}</div>" queryCommandValue("stylewithcss") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div align=left>{<div align=center>foo</div><img src=/img/lion.svg>}</div>" queryCommandIndeterm("defaultparagraphseparator") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div align=left>{<div align=center>foo</div><img src=/img/lion.svg>}</div>" queryCommandState("defaultparagraphseparator") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div align=left>{<div align=center>foo</div><img src=/img/lion.svg>}</div>" queryCommandValue("defaultparagraphseparator") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div align=left>{<div align=center>foo</div><img src=/img/lion.svg>}</div>" queryCommandIndeterm("defaultparagraphseparator") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div align=left>{<div align=center>foo</div><img src=/img/lion.svg>}</div>" queryCommandState("defaultparagraphseparator") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div align=left>{<div align=center>foo</div><img src=/img/lion.svg>}</div>" queryCommandValue("defaultparagraphseparator") after 
-FAIL [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div align=left>{<div align=center>foo</div><img src=/img/lion.svg>}</div>" queryCommandIndeterm("justifycenter") before assert_equals: Wrong result returned expected true but got false
-FAIL [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div align=left>{<div align=center>foo</div><img src=/img/lion.svg>}</div>" queryCommandState("justifycenter") before assert_equals: Wrong result returned expected false but got true
-FAIL [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div align=left>{<div align=center>foo</div><img src=/img/lion.svg>}</div>" queryCommandValue("justifycenter") before assert_equals: Wrong result returned expected "center" but got "true"
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div align=left>{<div align=center>foo</div><img src=/img/lion.svg>}</div>" queryCommandIndeterm("justifycenter") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div align=left>{<div align=center>foo</div><img src=/img/lion.svg>}</div>" queryCommandState("justifycenter") after 
-FAIL [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div align=left>{<div align=center>foo</div><img src=/img/lion.svg>}</div>" queryCommandValue("justifycenter") after assert_equals: Wrong result returned expected "center" but got "true"
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div align=left>{<div align=center>foo</div><img src=/img/lion.svg>}</div>": execCommand("stylewithcss", false, "false") return value 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div align=left>{<div align=center>foo</div><img src=/img/lion.svg>}</div>": execCommand("defaultparagraphseparator", false, "div") return value 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div align=left>{<div align=center>foo</div><img src=/img/lion.svg>}</div>": execCommand("justifycenter", false, "") return value 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div align=left>{<div align=center>foo</div><img src=/img/lion.svg>}</div>" checks for modifications to non-editable content 
-FAIL [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div align=left>{<div align=center>foo</div><img src=/img/lion.svg>}</div>" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<div style=\"text-align:center\">foo<br><img src=\"/img/lion.svg\"></div>" but got "<div align=\"left\"><div align=\"center\">foo</div><div style=\"text-align:center\"><img src=\"/img/lion.svg\"></div></div>"
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div align=left>{<div align=center>foo</div><img src=/img/lion.svg>}</div>" queryCommandIndeterm("stylewithcss") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div align=left>{<div align=center>foo</div><img src=/img/lion.svg>}</div>" queryCommandState("stylewithcss") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div align=left>{<div align=center>foo</div><img src=/img/lion.svg>}</div>" queryCommandValue("stylewithcss") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div align=left>{<div align=center>foo</div><img src=/img/lion.svg>}</div>" queryCommandIndeterm("stylewithcss") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div align=left>{<div align=center>foo</div><img src=/img/lion.svg>}</div>" queryCommandState("stylewithcss") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div align=left>{<div align=center>foo</div><img src=/img/lion.svg>}</div>" queryCommandValue("stylewithcss") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div align=left>{<div align=center>foo</div><img src=/img/lion.svg>}</div>" queryCommandIndeterm("defaultparagraphseparator") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div align=left>{<div align=center>foo</div><img src=/img/lion.svg>}</div>" queryCommandState("defaultparagraphseparator") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div align=left>{<div align=center>foo</div><img src=/img/lion.svg>}</div>" queryCommandValue("defaultparagraphseparator") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div align=left>{<div align=center>foo</div><img src=/img/lion.svg>}</div>" queryCommandIndeterm("defaultparagraphseparator") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div align=left>{<div align=center>foo</div><img src=/img/lion.svg>}</div>" queryCommandState("defaultparagraphseparator") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div align=left>{<div align=center>foo</div><img src=/img/lion.svg>}</div>" queryCommandValue("defaultparagraphseparator") after 
-FAIL [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div align=left>{<div align=center>foo</div><img src=/img/lion.svg>}</div>" queryCommandIndeterm("justifycenter") before assert_equals: Wrong result returned expected true but got false
-FAIL [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div align=left>{<div align=center>foo</div><img src=/img/lion.svg>}</div>" queryCommandState("justifycenter") before assert_equals: Wrong result returned expected false but got true
-FAIL [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div align=left>{<div align=center>foo</div><img src=/img/lion.svg>}</div>" queryCommandValue("justifycenter") before assert_equals: Wrong result returned expected "center" but got "true"
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div align=left>{<div align=center>foo</div><img src=/img/lion.svg>}</div>" queryCommandIndeterm("justifycenter") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div align=left>{<div align=center>foo</div><img src=/img/lion.svg>}</div>" queryCommandState("justifycenter") after 
-FAIL [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div align=left>{<div align=center>foo</div><img src=/img/lion.svg>}</div>" queryCommandValue("justifycenter") after assert_equals: Wrong result returned expected "center" but got "true"
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div align=left>{<div align=center>foo</div><img src=/img/lion.svg>}</div>": execCommand("stylewithcss", false, "true") return value 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div align=left>{<div align=center>foo</div><img src=/img/lion.svg>}</div>": execCommand("defaultparagraphseparator", false, "p") return value 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div align=left>{<div align=center>foo</div><img src=/img/lion.svg>}</div>": execCommand("justifycenter", false, "") return value 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div align=left>{<div align=center>foo</div><img src=/img/lion.svg>}</div>" checks for modifications to non-editable content 
-FAIL [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div align=left>{<div align=center>foo</div><img src=/img/lion.svg>}</div>" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<div style=\"text-align:center\">foo<br><img src=\"/img/lion.svg\"></div>" but got "<div align=\"left\"><div align=\"center\">foo</div><p style=\"text-align:center\"><img src=\"/img/lion.svg\"></p></div>"
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div align=left>{<div align=center>foo</div><img src=/img/lion.svg>}</div>" queryCommandIndeterm("stylewithcss") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div align=left>{<div align=center>foo</div><img src=/img/lion.svg>}</div>" queryCommandState("stylewithcss") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div align=left>{<div align=center>foo</div><img src=/img/lion.svg>}</div>" queryCommandValue("stylewithcss") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div align=left>{<div align=center>foo</div><img src=/img/lion.svg>}</div>" queryCommandIndeterm("stylewithcss") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div align=left>{<div align=center>foo</div><img src=/img/lion.svg>}</div>" queryCommandState("stylewithcss") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div align=left>{<div align=center>foo</div><img src=/img/lion.svg>}</div>" queryCommandValue("stylewithcss") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div align=left>{<div align=center>foo</div><img src=/img/lion.svg>}</div>" queryCommandIndeterm("defaultparagraphseparator") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div align=left>{<div align=center>foo</div><img src=/img/lion.svg>}</div>" queryCommandState("defaultparagraphseparator") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div align=left>{<div align=center>foo</div><img src=/img/lion.svg>}</div>" queryCommandValue("defaultparagraphseparator") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div align=left>{<div align=center>foo</div><img src=/img/lion.svg>}</div>" queryCommandIndeterm("defaultparagraphseparator") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div align=left>{<div align=center>foo</div><img src=/img/lion.svg>}</div>" queryCommandState("defaultparagraphseparator") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div align=left>{<div align=center>foo</div><img src=/img/lion.svg>}</div>" queryCommandValue("defaultparagraphseparator") after 
-FAIL [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div align=left>{<div align=center>foo</div><img src=/img/lion.svg>}</div>" queryCommandIndeterm("justifycenter") before assert_equals: Wrong result returned expected true but got false
-FAIL [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div align=left>{<div align=center>foo</div><img src=/img/lion.svg>}</div>" queryCommandState("justifycenter") before assert_equals: Wrong result returned expected false but got true
-FAIL [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div align=left>{<div align=center>foo</div><img src=/img/lion.svg>}</div>" queryCommandValue("justifycenter") before assert_equals: Wrong result returned expected "center" but got "true"
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div align=left>{<div align=center>foo</div><img src=/img/lion.svg>}</div>" queryCommandIndeterm("justifycenter") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div align=left>{<div align=center>foo</div><img src=/img/lion.svg>}</div>" queryCommandState("justifycenter") after 
-FAIL [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div align=left>{<div align=center>foo</div><img src=/img/lion.svg>}</div>" queryCommandValue("justifycenter") after assert_equals: Wrong result returned expected "center" but got "true"
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div align=left>{<div align=center>foo</div><img src=/img/lion.svg>}</div>": execCommand("stylewithcss", false, "false") return value 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div align=left>{<div align=center>foo</div><img src=/img/lion.svg>}</div>": execCommand("defaultparagraphseparator", false, "p") return value 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div align=left>{<div align=center>foo</div><img src=/img/lion.svg>}</div>": execCommand("justifycenter", false, "") return value 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div align=left>{<div align=center>foo</div><img src=/img/lion.svg>}</div>" checks for modifications to non-editable content 
-FAIL [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div align=left>{<div align=center>foo</div><img src=/img/lion.svg>}</div>" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<div style=\"text-align:center\">foo<br><img src=\"/img/lion.svg\"></div>" but got "<div align=\"left\"><div align=\"center\">foo</div><p style=\"text-align:center\"><img src=\"/img/lion.svg\"></p></div>"
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div align=left>{<div align=center>foo</div><img src=/img/lion.svg>}</div>" queryCommandIndeterm("stylewithcss") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div align=left>{<div align=center>foo</div><img src=/img/lion.svg>}</div>" queryCommandState("stylewithcss") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div align=left>{<div align=center>foo</div><img src=/img/lion.svg>}</div>" queryCommandValue("stylewithcss") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div align=left>{<div align=center>foo</div><img src=/img/lion.svg>}</div>" queryCommandIndeterm("stylewithcss") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div align=left>{<div align=center>foo</div><img src=/img/lion.svg>}</div>" queryCommandState("stylewithcss") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div align=left>{<div align=center>foo</div><img src=/img/lion.svg>}</div>" queryCommandValue("stylewithcss") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div align=left>{<div align=center>foo</div><img src=/img/lion.svg>}</div>" queryCommandIndeterm("defaultparagraphseparator") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div align=left>{<div align=center>foo</div><img src=/img/lion.svg>}</div>" queryCommandState("defaultparagraphseparator") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div align=left>{<div align=center>foo</div><img src=/img/lion.svg>}</div>" queryCommandValue("defaultparagraphseparator") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div align=left>{<div align=center>foo</div><img src=/img/lion.svg>}</div>" queryCommandIndeterm("defaultparagraphseparator") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div align=left>{<div align=center>foo</div><img src=/img/lion.svg>}</div>" queryCommandState("defaultparagraphseparator") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div align=left>{<div align=center>foo</div><img src=/img/lion.svg>}</div>" queryCommandValue("defaultparagraphseparator") after 
-FAIL [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div align=left>{<div align=center>foo</div><img src=/img/lion.svg>}</div>" queryCommandIndeterm("justifycenter") before assert_equals: Wrong result returned expected true but got false
-FAIL [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div align=left>{<div align=center>foo</div><img src=/img/lion.svg>}</div>" queryCommandState("justifycenter") before assert_equals: Wrong result returned expected false but got true
-FAIL [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div align=left>{<div align=center>foo</div><img src=/img/lion.svg>}</div>" queryCommandValue("justifycenter") before assert_equals: Wrong result returned expected "center" but got "true"
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div align=left>{<div align=center>foo</div><img src=/img/lion.svg>}</div>" queryCommandIndeterm("justifycenter") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div align=left>{<div align=center>foo</div><img src=/img/lion.svg>}</div>" queryCommandState("justifycenter") after 
-FAIL [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div align=left>{<div align=center>foo</div><img src=/img/lion.svg>}</div>" queryCommandValue("justifycenter") after assert_equals: Wrong result returned expected "center" but got "true"
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div align=center>{<div align=left>foo</div><!-- bar -->}</div>": execCommand("stylewithcss", false, "true") return value 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div align=center>{<div align=left>foo</div><!-- bar -->}</div>": execCommand("defaultparagraphseparator", false, "div") return value 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div align=center>{<div align=left>foo</div><!-- bar -->}</div>": execCommand("justifycenter", false, "") return value 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div align=center>{<div align=left>foo</div><!-- bar -->}</div>" checks for modifications to non-editable content 
-FAIL [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div align=center>{<div align=left>foo</div><!-- bar -->}</div>" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<div style=\"text-align:center\">foo<!-- bar --></div>" but got "<div align=\"center\"><div align=\"left\" style=\"text-align:center\">foo</div><!-- bar --></div>"
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div align=center>{<div align=left>foo</div><!-- bar -->}</div>" queryCommandIndeterm("stylewithcss") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div align=center>{<div align=left>foo</div><!-- bar -->}</div>" queryCommandState("stylewithcss") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div align=center>{<div align=left>foo</div><!-- bar -->}</div>" queryCommandValue("stylewithcss") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div align=center>{<div align=left>foo</div><!-- bar -->}</div>" queryCommandIndeterm("stylewithcss") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div align=center>{<div align=left>foo</div><!-- bar -->}</div>" queryCommandState("stylewithcss") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div align=center>{<div align=left>foo</div><!-- bar -->}</div>" queryCommandValue("stylewithcss") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div align=center>{<div align=left>foo</div><!-- bar -->}</div>" queryCommandIndeterm("defaultparagraphseparator") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div align=center>{<div align=left>foo</div><!-- bar -->}</div>" queryCommandState("defaultparagraphseparator") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div align=center>{<div align=left>foo</div><!-- bar -->}</div>" queryCommandValue("defaultparagraphseparator") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div align=center>{<div align=left>foo</div><!-- bar -->}</div>" queryCommandIndeterm("defaultparagraphseparator") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div align=center>{<div align=left>foo</div><!-- bar -->}</div>" queryCommandState("defaultparagraphseparator") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div align=center>{<div align=left>foo</div><!-- bar -->}</div>" queryCommandValue("defaultparagraphseparator") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div align=center>{<div align=left>foo</div><!-- bar -->}</div>" queryCommandIndeterm("justifycenter") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div align=center>{<div align=left>foo</div><!-- bar -->}</div>" queryCommandState("justifycenter") before 
-FAIL [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div align=center>{<div align=left>foo</div><!-- bar -->}</div>" queryCommandValue("justifycenter") before assert_equals: Wrong result returned expected "left" but got "false"
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div align=center>{<div align=left>foo</div><!-- bar -->}</div>" queryCommandIndeterm("justifycenter") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div align=center>{<div align=left>foo</div><!-- bar -->}</div>" queryCommandState("justifycenter") after 
-FAIL [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div align=center>{<div align=left>foo</div><!-- bar -->}</div>" queryCommandValue("justifycenter") after assert_equals: Wrong result returned expected "center" but got "true"
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div align=center>{<div align=left>foo</div><!-- bar -->}</div>": execCommand("stylewithcss", false, "false") return value 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div align=center>{<div align=left>foo</div><!-- bar -->}</div>": execCommand("defaultparagraphseparator", false, "div") return value 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div align=center>{<div align=left>foo</div><!-- bar -->}</div>": execCommand("justifycenter", false, "") return value 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div align=center>{<div align=left>foo</div><!-- bar -->}</div>" checks for modifications to non-editable content 
-FAIL [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div align=center>{<div align=left>foo</div><!-- bar -->}</div>" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<div style=\"text-align:center\">foo<!-- bar --></div>" but got "<div align=\"center\"><div align=\"left\" style=\"text-align:center\">foo</div><!-- bar --></div>"
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div align=center>{<div align=left>foo</div><!-- bar -->}</div>" queryCommandIndeterm("stylewithcss") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div align=center>{<div align=left>foo</div><!-- bar -->}</div>" queryCommandState("stylewithcss") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div align=center>{<div align=left>foo</div><!-- bar -->}</div>" queryCommandValue("stylewithcss") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div align=center>{<div align=left>foo</div><!-- bar -->}</div>" queryCommandIndeterm("stylewithcss") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div align=center>{<div align=left>foo</div><!-- bar -->}</div>" queryCommandState("stylewithcss") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div align=center>{<div align=left>foo</div><!-- bar -->}</div>" queryCommandValue("stylewithcss") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div align=center>{<div align=left>foo</div><!-- bar -->}</div>" queryCommandIndeterm("defaultparagraphseparator") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div align=center>{<div align=left>foo</div><!-- bar -->}</div>" queryCommandState("defaultparagraphseparator") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div align=center>{<div align=left>foo</div><!-- bar -->}</div>" queryCommandValue("defaultparagraphseparator") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div align=center>{<div align=left>foo</div><!-- bar -->}</div>" queryCommandIndeterm("defaultparagraphseparator") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div align=center>{<div align=left>foo</div><!-- bar -->}</div>" queryCommandState("defaultparagraphseparator") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div align=center>{<div align=left>foo</div><!-- bar -->}</div>" queryCommandValue("defaultparagraphseparator") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div align=center>{<div align=left>foo</div><!-- bar -->}</div>" queryCommandIndeterm("justifycenter") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div align=center>{<div align=left>foo</div><!-- bar -->}</div>" queryCommandState("justifycenter") before 
-FAIL [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div align=center>{<div align=left>foo</div><!-- bar -->}</div>" queryCommandValue("justifycenter") before assert_equals: Wrong result returned expected "left" but got "false"
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div align=center>{<div align=left>foo</div><!-- bar -->}</div>" queryCommandIndeterm("justifycenter") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div align=center>{<div align=left>foo</div><!-- bar -->}</div>" queryCommandState("justifycenter") after 
-FAIL [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div align=center>{<div align=left>foo</div><!-- bar -->}</div>" queryCommandValue("justifycenter") after assert_equals: Wrong result returned expected "center" but got "true"
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div align=center>{<div align=left>foo</div><!-- bar -->}</div>": execCommand("stylewithcss", false, "true") return value 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div align=center>{<div align=left>foo</div><!-- bar -->}</div>": execCommand("defaultparagraphseparator", false, "p") return value 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div align=center>{<div align=left>foo</div><!-- bar -->}</div>": execCommand("justifycenter", false, "") return value 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div align=center>{<div align=left>foo</div><!-- bar -->}</div>" checks for modifications to non-editable content 
-FAIL [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div align=center>{<div align=left>foo</div><!-- bar -->}</div>" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<div style=\"text-align:center\">foo<!-- bar --></div>" but got "<div align=\"center\"><div align=\"left\" style=\"text-align:center\">foo</div><!-- bar --></div>"
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div align=center>{<div align=left>foo</div><!-- bar -->}</div>" queryCommandIndeterm("stylewithcss") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div align=center>{<div align=left>foo</div><!-- bar -->}</div>" queryCommandState("stylewithcss") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div align=center>{<div align=left>foo</div><!-- bar -->}</div>" queryCommandValue("stylewithcss") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div align=center>{<div align=left>foo</div><!-- bar -->}</div>" queryCommandIndeterm("stylewithcss") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div align=center>{<div align=left>foo</div><!-- bar -->}</div>" queryCommandState("stylewithcss") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div align=center>{<div align=left>foo</div><!-- bar -->}</div>" queryCommandValue("stylewithcss") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div align=center>{<div align=left>foo</div><!-- bar -->}</div>" queryCommandIndeterm("defaultparagraphseparator") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div align=center>{<div align=left>foo</div><!-- bar -->}</div>" queryCommandState("defaultparagraphseparator") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div align=center>{<div align=left>foo</div><!-- bar -->}</div>" queryCommandValue("defaultparagraphseparator") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div align=center>{<div align=left>foo</div><!-- bar -->}</div>" queryCommandIndeterm("defaultparagraphseparator") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div align=center>{<div align=left>foo</div><!-- bar -->}</div>" queryCommandState("defaultparagraphseparator") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div align=center>{<div align=left>foo</div><!-- bar -->}</div>" queryCommandValue("defaultparagraphseparator") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div align=center>{<div align=left>foo</div><!-- bar -->}</div>" queryCommandIndeterm("justifycenter") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div align=center>{<div align=left>foo</div><!-- bar -->}</div>" queryCommandState("justifycenter") before 
-FAIL [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div align=center>{<div align=left>foo</div><!-- bar -->}</div>" queryCommandValue("justifycenter") before assert_equals: Wrong result returned expected "left" but got "false"
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div align=center>{<div align=left>foo</div><!-- bar -->}</div>" queryCommandIndeterm("justifycenter") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div align=center>{<div align=left>foo</div><!-- bar -->}</div>" queryCommandState("justifycenter") after 
-FAIL [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div align=center>{<div align=left>foo</div><!-- bar -->}</div>" queryCommandValue("justifycenter") after assert_equals: Wrong result returned expected "center" but got "true"
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div align=center>{<div align=left>foo</div><!-- bar -->}</div>": execCommand("stylewithcss", false, "false") return value 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div align=center>{<div align=left>foo</div><!-- bar -->}</div>": execCommand("defaultparagraphseparator", false, "p") return value 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div align=center>{<div align=left>foo</div><!-- bar -->}</div>": execCommand("justifycenter", false, "") return value 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div align=center>{<div align=left>foo</div><!-- bar -->}</div>" checks for modifications to non-editable content 
-FAIL [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div align=center>{<div align=left>foo</div><!-- bar -->}</div>" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<div style=\"text-align:center\">foo<!-- bar --></div>" but got "<div align=\"center\"><div align=\"left\" style=\"text-align:center\">foo</div><!-- bar --></div>"
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div align=center>{<div align=left>foo</div><!-- bar -->}</div>" queryCommandIndeterm("stylewithcss") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div align=center>{<div align=left>foo</div><!-- bar -->}</div>" queryCommandState("stylewithcss") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div align=center>{<div align=left>foo</div><!-- bar -->}</div>" queryCommandValue("stylewithcss") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div align=center>{<div align=left>foo</div><!-- bar -->}</div>" queryCommandIndeterm("stylewithcss") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div align=center>{<div align=left>foo</div><!-- bar -->}</div>" queryCommandState("stylewithcss") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div align=center>{<div align=left>foo</div><!-- bar -->}</div>" queryCommandValue("stylewithcss") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div align=center>{<div align=left>foo</div><!-- bar -->}</div>" queryCommandIndeterm("defaultparagraphseparator") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div align=center>{<div align=left>foo</div><!-- bar -->}</div>" queryCommandState("defaultparagraphseparator") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div align=center>{<div align=left>foo</div><!-- bar -->}</div>" queryCommandValue("defaultparagraphseparator") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div align=center>{<div align=left>foo</div><!-- bar -->}</div>" queryCommandIndeterm("defaultparagraphseparator") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div align=center>{<div align=left>foo</div><!-- bar -->}</div>" queryCommandState("defaultparagraphseparator") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div align=center>{<div align=left>foo</div><!-- bar -->}</div>" queryCommandValue("defaultparagraphseparator") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div align=center>{<div align=left>foo</div><!-- bar -->}</div>" queryCommandIndeterm("justifycenter") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div align=center>{<div align=left>foo</div><!-- bar -->}</div>" queryCommandState("justifycenter") before 
-FAIL [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div align=center>{<div align=left>foo</div><!-- bar -->}</div>" queryCommandValue("justifycenter") before assert_equals: Wrong result returned expected "left" but got "false"
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div align=center>{<div align=left>foo</div><!-- bar -->}</div>" queryCommandIndeterm("justifycenter") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div align=center>{<div align=left>foo</div><!-- bar -->}</div>" queryCommandState("justifycenter") after 
-FAIL [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div align=center>{<div align=left>foo</div><!-- bar -->}</div>" queryCommandValue("justifycenter") after assert_equals: Wrong result returned expected "center" but got "true"
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div align=left>{<div align=center>foo</div><!-- bar -->}</div>": execCommand("stylewithcss", false, "true") return value 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div align=left>{<div align=center>foo</div><!-- bar -->}</div>": execCommand("defaultparagraphseparator", false, "div") return value 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div align=left>{<div align=center>foo</div><!-- bar -->}</div>": execCommand("justifycenter", false, "") return value 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div align=left>{<div align=center>foo</div><!-- bar -->}</div>" checks for modifications to non-editable content 
-FAIL [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div align=left>{<div align=center>foo</div><!-- bar -->}</div>" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<div style=\"text-align:center\">foo<!-- bar --></div>" but got "<div align=\"left\"><div align=\"center\">foo</div><!-- bar --></div>"
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div align=left>{<div align=center>foo</div><!-- bar -->}</div>" queryCommandIndeterm("stylewithcss") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div align=left>{<div align=center>foo</div><!-- bar -->}</div>" queryCommandState("stylewithcss") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div align=left>{<div align=center>foo</div><!-- bar -->}</div>" queryCommandValue("stylewithcss") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div align=left>{<div align=center>foo</div><!-- bar -->}</div>" queryCommandIndeterm("stylewithcss") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div align=left>{<div align=center>foo</div><!-- bar -->}</div>" queryCommandState("stylewithcss") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div align=left>{<div align=center>foo</div><!-- bar -->}</div>" queryCommandValue("stylewithcss") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div align=left>{<div align=center>foo</div><!-- bar -->}</div>" queryCommandIndeterm("defaultparagraphseparator") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div align=left>{<div align=center>foo</div><!-- bar -->}</div>" queryCommandState("defaultparagraphseparator") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div align=left>{<div align=center>foo</div><!-- bar -->}</div>" queryCommandValue("defaultparagraphseparator") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div align=left>{<div align=center>foo</div><!-- bar -->}</div>" queryCommandIndeterm("defaultparagraphseparator") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div align=left>{<div align=center>foo</div><!-- bar -->}</div>" queryCommandState("defaultparagraphseparator") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div align=left>{<div align=center>foo</div><!-- bar -->}</div>" queryCommandValue("defaultparagraphseparator") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div align=left>{<div align=center>foo</div><!-- bar -->}</div>" queryCommandIndeterm("justifycenter") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div align=left>{<div align=center>foo</div><!-- bar -->}</div>" queryCommandState("justifycenter") before 
-FAIL [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div align=left>{<div align=center>foo</div><!-- bar -->}</div>" queryCommandValue("justifycenter") before assert_equals: Wrong result returned expected "center" but got "true"
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div align=left>{<div align=center>foo</div><!-- bar -->}</div>" queryCommandIndeterm("justifycenter") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div align=left>{<div align=center>foo</div><!-- bar -->}</div>" queryCommandState("justifycenter") after 
-FAIL [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div align=left>{<div align=center>foo</div><!-- bar -->}</div>" queryCommandValue("justifycenter") after assert_equals: Wrong result returned expected "center" but got "true"
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div align=left>{<div align=center>foo</div><!-- bar -->}</div>": execCommand("stylewithcss", false, "false") return value 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div align=left>{<div align=center>foo</div><!-- bar -->}</div>": execCommand("defaultparagraphseparator", false, "div") return value 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div align=left>{<div align=center>foo</div><!-- bar -->}</div>": execCommand("justifycenter", false, "") return value 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div align=left>{<div align=center>foo</div><!-- bar -->}</div>" checks for modifications to non-editable content 
-FAIL [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div align=left>{<div align=center>foo</div><!-- bar -->}</div>" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<div style=\"text-align:center\">foo<!-- bar --></div>" but got "<div align=\"left\"><div align=\"center\">foo</div><!-- bar --></div>"
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div align=left>{<div align=center>foo</div><!-- bar -->}</div>" queryCommandIndeterm("stylewithcss") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div align=left>{<div align=center>foo</div><!-- bar -->}</div>" queryCommandState("stylewithcss") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div align=left>{<div align=center>foo</div><!-- bar -->}</div>" queryCommandValue("stylewithcss") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div align=left>{<div align=center>foo</div><!-- bar -->}</div>" queryCommandIndeterm("stylewithcss") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div align=left>{<div align=center>foo</div><!-- bar -->}</div>" queryCommandState("stylewithcss") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div align=left>{<div align=center>foo</div><!-- bar -->}</div>" queryCommandValue("stylewithcss") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div align=left>{<div align=center>foo</div><!-- bar -->}</div>" queryCommandIndeterm("defaultparagraphseparator") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div align=left>{<div align=center>foo</div><!-- bar -->}</div>" queryCommandState("defaultparagraphseparator") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div align=left>{<div align=center>foo</div><!-- bar -->}</div>" queryCommandValue("defaultparagraphseparator") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div align=left>{<div align=center>foo</div><!-- bar -->}</div>" queryCommandIndeterm("defaultparagraphseparator") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div align=left>{<div align=center>foo</div><!-- bar -->}</div>" queryCommandState("defaultparagraphseparator") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div align=left>{<div align=center>foo</div><!-- bar -->}</div>" queryCommandValue("defaultparagraphseparator") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div align=left>{<div align=center>foo</div><!-- bar -->}</div>" queryCommandIndeterm("justifycenter") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div align=left>{<div align=center>foo</div><!-- bar -->}</div>" queryCommandState("justifycenter") before 
-FAIL [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div align=left>{<div align=center>foo</div><!-- bar -->}</div>" queryCommandValue("justifycenter") before assert_equals: Wrong result returned expected "center" but got "true"
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div align=left>{<div align=center>foo</div><!-- bar -->}</div>" queryCommandIndeterm("justifycenter") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div align=left>{<div align=center>foo</div><!-- bar -->}</div>" queryCommandState("justifycenter") after 
-FAIL [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div align=left>{<div align=center>foo</div><!-- bar -->}</div>" queryCommandValue("justifycenter") after assert_equals: Wrong result returned expected "center" but got "true"
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div align=left>{<div align=center>foo</div><!-- bar -->}</div>": execCommand("stylewithcss", false, "true") return value 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div align=left>{<div align=center>foo</div><!-- bar -->}</div>": execCommand("defaultparagraphseparator", false, "p") return value 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div align=left>{<div align=center>foo</div><!-- bar -->}</div>": execCommand("justifycenter", false, "") return value 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div align=left>{<div align=center>foo</div><!-- bar -->}</div>" checks for modifications to non-editable content 
-FAIL [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div align=left>{<div align=center>foo</div><!-- bar -->}</div>" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<div style=\"text-align:center\">foo<!-- bar --></div>" but got "<div align=\"left\"><div align=\"center\">foo</div><!-- bar --></div>"
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div align=left>{<div align=center>foo</div><!-- bar -->}</div>" queryCommandIndeterm("stylewithcss") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div align=left>{<div align=center>foo</div><!-- bar -->}</div>" queryCommandState("stylewithcss") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div align=left>{<div align=center>foo</div><!-- bar -->}</div>" queryCommandValue("stylewithcss") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div align=left>{<div align=center>foo</div><!-- bar -->}</div>" queryCommandIndeterm("stylewithcss") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div align=left>{<div align=center>foo</div><!-- bar -->}</div>" queryCommandState("stylewithcss") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div align=left>{<div align=center>foo</div><!-- bar -->}</div>" queryCommandValue("stylewithcss") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div align=left>{<div align=center>foo</div><!-- bar -->}</div>" queryCommandIndeterm("defaultparagraphseparator") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div align=left>{<div align=center>foo</div><!-- bar -->}</div>" queryCommandState("defaultparagraphseparator") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div align=left>{<div align=center>foo</div><!-- bar -->}</div>" queryCommandValue("defaultparagraphseparator") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div align=left>{<div align=center>foo</div><!-- bar -->}</div>" queryCommandIndeterm("defaultparagraphseparator") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div align=left>{<div align=center>foo</div><!-- bar -->}</div>" queryCommandState("defaultparagraphseparator") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div align=left>{<div align=center>foo</div><!-- bar -->}</div>" queryCommandValue("defaultparagraphseparator") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div align=left>{<div align=center>foo</div><!-- bar -->}</div>" queryCommandIndeterm("justifycenter") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div align=left>{<div align=center>foo</div><!-- bar -->}</div>" queryCommandState("justifycenter") before 
-FAIL [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div align=left>{<div align=center>foo</div><!-- bar -->}</div>" queryCommandValue("justifycenter") before assert_equals: Wrong result returned expected "center" but got "true"
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div align=left>{<div align=center>foo</div><!-- bar -->}</div>" queryCommandIndeterm("justifycenter") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div align=left>{<div align=center>foo</div><!-- bar -->}</div>" queryCommandState("justifycenter") after 
-FAIL [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div align=left>{<div align=center>foo</div><!-- bar -->}</div>" queryCommandValue("justifycenter") after assert_equals: Wrong result returned expected "center" but got "true"
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div align=left>{<div align=center>foo</div><!-- bar -->}</div>": execCommand("stylewithcss", false, "false") return value 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div align=left>{<div align=center>foo</div><!-- bar -->}</div>": execCommand("defaultparagraphseparator", false, "p") return value 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div align=left>{<div align=center>foo</div><!-- bar -->}</div>": execCommand("justifycenter", false, "") return value 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div align=left>{<div align=center>foo</div><!-- bar -->}</div>" checks for modifications to non-editable content 
-FAIL [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div align=left>{<div align=center>foo</div><!-- bar -->}</div>" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<div style=\"text-align:center\">foo<!-- bar --></div>" but got "<div align=\"left\"><div align=\"center\">foo</div><!-- bar --></div>"
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div align=left>{<div align=center>foo</div><!-- bar -->}</div>" queryCommandIndeterm("stylewithcss") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div align=left>{<div align=center>foo</div><!-- bar -->}</div>" queryCommandState("stylewithcss") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div align=left>{<div align=center>foo</div><!-- bar -->}</div>" queryCommandValue("stylewithcss") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div align=left>{<div align=center>foo</div><!-- bar -->}</div>" queryCommandIndeterm("stylewithcss") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div align=left>{<div align=center>foo</div><!-- bar -->}</div>" queryCommandState("stylewithcss") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div align=left>{<div align=center>foo</div><!-- bar -->}</div>" queryCommandValue("stylewithcss") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div align=left>{<div align=center>foo</div><!-- bar -->}</div>" queryCommandIndeterm("defaultparagraphseparator") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div align=left>{<div align=center>foo</div><!-- bar -->}</div>" queryCommandState("defaultparagraphseparator") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div align=left>{<div align=center>foo</div><!-- bar -->}</div>" queryCommandValue("defaultparagraphseparator") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div align=left>{<div align=center>foo</div><!-- bar -->}</div>" queryCommandIndeterm("defaultparagraphseparator") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div align=left>{<div align=center>foo</div><!-- bar -->}</div>" queryCommandState("defaultparagraphseparator") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div align=left>{<div align=center>foo</div><!-- bar -->}</div>" queryCommandValue("defaultparagraphseparator") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div align=left>{<div align=center>foo</div><!-- bar -->}</div>" queryCommandIndeterm("justifycenter") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div align=left>{<div align=center>foo</div><!-- bar -->}</div>" queryCommandState("justifycenter") before 
-FAIL [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div align=left>{<div align=center>foo</div><!-- bar -->}</div>" queryCommandValue("justifycenter") before assert_equals: Wrong result returned expected "center" but got "true"
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div align=left>{<div align=center>foo</div><!-- bar -->}</div>" queryCommandIndeterm("justifycenter") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div align=left>{<div align=center>foo</div><!-- bar -->}</div>" queryCommandState("justifycenter") after 
-FAIL [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div align=left>{<div align=center>foo</div><!-- bar -->}</div>" queryCommandValue("justifycenter") after assert_equals: Wrong result returned expected "center" but got "true"
-PASS [["justifycenter",""]] "<div style=text-align:start>[foo]</div><p>extra": execCommand("justifycenter", false, "") return value 
-PASS [["justifycenter",""]] "<div style=text-align:start>[foo]</div><p>extra" checks for modifications to non-editable content 
-PASS [["justifycenter",""]] "<div style=text-align:start>[foo]</div><p>extra" compare innerHTML 
-PASS [["justifycenter",""]] "<div style=text-align:start>[foo]</div><p>extra" queryCommandIndeterm("justifycenter") before 
-PASS [["justifycenter",""]] "<div style=text-align:start>[foo]</div><p>extra" queryCommandState("justifycenter") before 
-FAIL [["justifycenter",""]] "<div style=text-align:start>[foo]</div><p>extra" queryCommandValue("justifycenter") before assert_equals: Wrong result returned expected "left" but got "false"
-PASS [["justifycenter",""]] "<div style=text-align:start>[foo]</div><p>extra" queryCommandIndeterm("justifycenter") after 
-PASS [["justifycenter",""]] "<div style=text-align:start>[foo]</div><p>extra" queryCommandState("justifycenter") after 
-FAIL [["justifycenter",""]] "<div style=text-align:start>[foo]</div><p>extra" queryCommandValue("justifycenter") after assert_equals: Wrong result returned expected "center" but got "true"
-PASS [["justifycenter",""]] "<div style=text-align:end>[foo]</div><p>extra": execCommand("justifycenter", false, "") return value 
-PASS [["justifycenter",""]] "<div style=text-align:end>[foo]</div><p>extra" checks for modifications to non-editable content 
-PASS [["justifycenter",""]] "<div style=text-align:end>[foo]</div><p>extra" compare innerHTML 
-PASS [["justifycenter",""]] "<div style=text-align:end>[foo]</div><p>extra" queryCommandIndeterm("justifycenter") before 
-PASS [["justifycenter",""]] "<div style=text-align:end>[foo]</div><p>extra" queryCommandState("justifycenter") before 
-FAIL [["justifycenter",""]] "<div style=text-align:end>[foo]</div><p>extra" queryCommandValue("justifycenter") before assert_equals: Wrong result returned expected "right" but got "false"
-PASS [["justifycenter",""]] "<div style=text-align:end>[foo]</div><p>extra" queryCommandIndeterm("justifycenter") after 
-PASS [["justifycenter",""]] "<div style=text-align:end>[foo]</div><p>extra" queryCommandState("justifycenter") after 
-FAIL [["justifycenter",""]] "<div style=text-align:end>[foo]</div><p>extra" queryCommandValue("justifycenter") after assert_equals: Wrong result returned expected "center" but got "true"
-PASS [["defaultparagraphseparator","div"],["justifycenter",""]] "<div dir=rtl style=text-align:start>[foo]</div><p>extra": execCommand("defaultparagraphseparator", false, "div") return value 
-PASS [["defaultparagraphseparator","div"],["justifycenter",""]] "<div dir=rtl style=text-align:start>[foo]</div><p>extra": execCommand("justifycenter", false, "") return value 
-PASS [["defaultparagraphseparator","div"],["justifycenter",""]] "<div dir=rtl style=text-align:start>[foo]</div><p>extra" checks for modifications to non-editable content 
-FAIL [["defaultparagraphseparator","div"],["justifycenter",""]] "<div dir=rtl style=text-align:start>[foo]</div><p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<div style=\"text-align:center\"><div dir=\"rtl\">foo</div></div><p>extra</p>" but got "<div dir=\"rtl\" style=\"text-align:center\">foo</div><p>extra</p>"
-PASS [["defaultparagraphseparator","div"],["justifycenter",""]] "<div dir=rtl style=text-align:start>[foo]</div><p>extra" queryCommandIndeterm("defaultparagraphseparator") before 
-PASS [["defaultparagraphseparator","div"],["justifycenter",""]] "<div dir=rtl style=text-align:start>[foo]</div><p>extra" queryCommandState("defaultparagraphseparator") before 
-PASS [["defaultparagraphseparator","div"],["justifycenter",""]] "<div dir=rtl style=text-align:start>[foo]</div><p>extra" queryCommandValue("defaultparagraphseparator") before 
-PASS [["defaultparagraphseparator","div"],["justifycenter",""]] "<div dir=rtl style=text-align:start>[foo]</div><p>extra" queryCommandIndeterm("defaultparagraphseparator") after 
-PASS [["defaultparagraphseparator","div"],["justifycenter",""]] "<div dir=rtl style=text-align:start>[foo]</div><p>extra" queryCommandState("defaultparagraphseparator") after 
-PASS [["defaultparagraphseparator","div"],["justifycenter",""]] "<div dir=rtl style=text-align:start>[foo]</div><p>extra" queryCommandValue("defaultparagraphseparator") after 
-PASS [["defaultparagraphseparator","div"],["justifycenter",""]] "<div dir=rtl style=text-align:start>[foo]</div><p>extra" queryCommandIndeterm("justifycenter") before 
-PASS [["defaultparagraphseparator","div"],["justifycenter",""]] "<div dir=rtl style=text-align:start>[foo]</div><p>extra" queryCommandState("justifycenter") before 
-FAIL [["defaultparagraphseparator","div"],["justifycenter",""]] "<div dir=rtl style=text-align:start>[foo]</div><p>extra" queryCommandValue("justifycenter") before assert_equals: Wrong result returned expected "right" but got "false"
-PASS [["defaultparagraphseparator","div"],["justifycenter",""]] "<div dir=rtl style=text-align:start>[foo]</div><p>extra" queryCommandIndeterm("justifycenter") after 
-PASS [["defaultparagraphseparator","div"],["justifycenter",""]] "<div dir=rtl style=text-align:start>[foo]</div><p>extra" queryCommandState("justifycenter") after 
-FAIL [["defaultparagraphseparator","div"],["justifycenter",""]] "<div dir=rtl style=text-align:start>[foo]</div><p>extra" queryCommandValue("justifycenter") after assert_equals: Wrong result returned expected "center" but got "true"
-PASS [["defaultparagraphseparator","p"],["justifycenter",""]] "<div dir=rtl style=text-align:start>[foo]</div><p>extra": execCommand("defaultparagraphseparator", false, "p") return value 
-PASS [["defaultparagraphseparator","p"],["justifycenter",""]] "<div dir=rtl style=text-align:start>[foo]</div><p>extra": execCommand("justifycenter", false, "") return value 
-PASS [["defaultparagraphseparator","p"],["justifycenter",""]] "<div dir=rtl style=text-align:start>[foo]</div><p>extra" checks for modifications to non-editable content 
-FAIL [["defaultparagraphseparator","p"],["justifycenter",""]] "<div dir=rtl style=text-align:start>[foo]</div><p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<div style=\"text-align:center\"><div dir=\"rtl\">foo</div></div><p>extra</p>" but got "<div dir=\"rtl\" style=\"text-align:center\">foo</div><p>extra</p>"
-PASS [["defaultparagraphseparator","p"],["justifycenter",""]] "<div dir=rtl style=text-align:start>[foo]</div><p>extra" queryCommandIndeterm("defaultparagraphseparator") before 
-PASS [["defaultparagraphseparator","p"],["justifycenter",""]] "<div dir=rtl style=text-align:start>[foo]</div><p>extra" queryCommandState("defaultparagraphseparator") before 
-PASS [["defaultparagraphseparator","p"],["justifycenter",""]] "<div dir=rtl style=text-align:start>[foo]</div><p>extra" queryCommandValue("defaultparagraphseparator") before 
-PASS [["defaultparagraphseparator","p"],["justifycenter",""]] "<div dir=rtl style=text-align:start>[foo]</div><p>extra" queryCommandIndeterm("defaultparagraphseparator") after 
-PASS [["defaultparagraphseparator","p"],["justifycenter",""]] "<div dir=rtl style=text-align:start>[foo]</div><p>extra" queryCommandState("defaultparagraphseparator") after 
-PASS [["defaultparagraphseparator","p"],["justifycenter",""]] "<div dir=rtl style=text-align:start>[foo]</div><p>extra" queryCommandValue("defaultparagraphseparator") after 
-PASS [["defaultparagraphseparator","p"],["justifycenter",""]] "<div dir=rtl style=text-align:start>[foo]</div><p>extra" queryCommandIndeterm("justifycenter") before 
-PASS [["defaultparagraphseparator","p"],["justifycenter",""]] "<div dir=rtl style=text-align:start>[foo]</div><p>extra" queryCommandState("justifycenter") before 
-FAIL [["defaultparagraphseparator","p"],["justifycenter",""]] "<div dir=rtl style=text-align:start>[foo]</div><p>extra" queryCommandValue("justifycenter") before assert_equals: Wrong result returned expected "right" but got "false"
-PASS [["defaultparagraphseparator","p"],["justifycenter",""]] "<div dir=rtl style=text-align:start>[foo]</div><p>extra" queryCommandIndeterm("justifycenter") after 
-PASS [["defaultparagraphseparator","p"],["justifycenter",""]] "<div dir=rtl style=text-align:start>[foo]</div><p>extra" queryCommandState("justifycenter") after 
-FAIL [["defaultparagraphseparator","p"],["justifycenter",""]] "<div dir=rtl style=text-align:start>[foo]</div><p>extra" queryCommandValue("justifycenter") after assert_equals: Wrong result returned expected "center" but got "true"
-PASS [["defaultparagraphseparator","div"],["justifycenter",""]] "<div dir=rtl style=text-align:end>[foo]</div><p>extra": execCommand("defaultparagraphseparator", false, "div") return value 
-PASS [["defaultparagraphseparator","div"],["justifycenter",""]] "<div dir=rtl style=text-align:end>[foo]</div><p>extra": execCommand("justifycenter", false, "") return value 
-PASS [["defaultparagraphseparator","div"],["justifycenter",""]] "<div dir=rtl style=text-align:end>[foo]</div><p>extra" checks for modifications to non-editable content 
-FAIL [["defaultparagraphseparator","div"],["justifycenter",""]] "<div dir=rtl style=text-align:end>[foo]</div><p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<div style=\"text-align:center\"><div dir=\"rtl\">foo</div></div><p>extra</p>" but got "<div dir=\"rtl\" style=\"text-align:center\">foo</div><p>extra</p>"
-PASS [["defaultparagraphseparator","div"],["justifycenter",""]] "<div dir=rtl style=text-align:end>[foo]</div><p>extra" queryCommandIndeterm("defaultparagraphseparator") before 
-PASS [["defaultparagraphseparator","div"],["justifycenter",""]] "<div dir=rtl style=text-align:end>[foo]</div><p>extra" queryCommandState("defaultparagraphseparator") before 
-PASS [["defaultparagraphseparator","div"],["justifycenter",""]] "<div dir=rtl style=text-align:end>[foo]</div><p>extra" queryCommandValue("defaultparagraphseparator") before 
-PASS [["defaultparagraphseparator","div"],["justifycenter",""]] "<div dir=rtl style=text-align:end>[foo]</div><p>extra" queryCommandIndeterm("defaultparagraphseparator") after 
-PASS [["defaultparagraphseparator","div"],["justifycenter",""]] "<div dir=rtl style=text-align:end>[foo]</div><p>extra" queryCommandState("defaultparagraphseparator") after 
-PASS [["defaultparagraphseparator","div"],["justifycenter",""]] "<div dir=rtl style=text-align:end>[foo]</div><p>extra" queryCommandValue("defaultparagraphseparator") after 
-PASS [["defaultparagraphseparator","div"],["justifycenter",""]] "<div dir=rtl style=text-align:end>[foo]</div><p>extra" queryCommandIndeterm("justifycenter") before 
-PASS [["defaultparagraphseparator","div"],["justifycenter",""]] "<div dir=rtl style=text-align:end>[foo]</div><p>extra" queryCommandState("justifycenter") before 
-FAIL [["defaultparagraphseparator","div"],["justifycenter",""]] "<div dir=rtl style=text-align:end>[foo]</div><p>extra" queryCommandValue("justifycenter") before assert_equals: Wrong result returned expected "left" but got "false"
-PASS [["defaultparagraphseparator","div"],["justifycenter",""]] "<div dir=rtl style=text-align:end>[foo]</div><p>extra" queryCommandIndeterm("justifycenter") after 
-PASS [["defaultparagraphseparator","div"],["justifycenter",""]] "<div dir=rtl style=text-align:end>[foo]</div><p>extra" queryCommandState("justifycenter") after 
-FAIL [["defaultparagraphseparator","div"],["justifycenter",""]] "<div dir=rtl style=text-align:end>[foo]</div><p>extra" queryCommandValue("justifycenter") after assert_equals: Wrong result returned expected "center" but got "true"
-PASS [["defaultparagraphseparator","p"],["justifycenter",""]] "<div dir=rtl style=text-align:end>[foo]</div><p>extra": execCommand("defaultparagraphseparator", false, "p") return value 
-PASS [["defaultparagraphseparator","p"],["justifycenter",""]] "<div dir=rtl style=text-align:end>[foo]</div><p>extra": execCommand("justifycenter", false, "") return value 
-PASS [["defaultparagraphseparator","p"],["justifycenter",""]] "<div dir=rtl style=text-align:end>[foo]</div><p>extra" checks for modifications to non-editable content 
-FAIL [["defaultparagraphseparator","p"],["justifycenter",""]] "<div dir=rtl style=text-align:end>[foo]</div><p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<div style=\"text-align:center\"><div dir=\"rtl\">foo</div></div><p>extra</p>" but got "<div dir=\"rtl\" style=\"text-align:center\">foo</div><p>extra</p>"
-PASS [["defaultparagraphseparator","p"],["justifycenter",""]] "<div dir=rtl style=text-align:end>[foo]</div><p>extra" queryCommandIndeterm("defaultparagraphseparator") before 
-PASS [["defaultparagraphseparator","p"],["justifycenter",""]] "<div dir=rtl style=text-align:end>[foo]</div><p>extra" queryCommandState("defaultparagraphseparator") before 
-PASS [["defaultparagraphseparator","p"],["justifycenter",""]] "<div dir=rtl style=text-align:end>[foo]</div><p>extra" queryCommandValue("defaultparagraphseparator") before 
-PASS [["defaultparagraphseparator","p"],["justifycenter",""]] "<div dir=rtl style=text-align:end>[foo]</div><p>extra" queryCommandIndeterm("defaultparagraphseparator") after 
-PASS [["defaultparagraphseparator","p"],["justifycenter",""]] "<div dir=rtl style=text-align:end>[foo]</div><p>extra" queryCommandState("defaultparagraphseparator") after 
-PASS [["defaultparagraphseparator","p"],["justifycenter",""]] "<div dir=rtl style=text-align:end>[foo]</div><p>extra" queryCommandValue("defaultparagraphseparator") after 
-PASS [["defaultparagraphseparator","p"],["justifycenter",""]] "<div dir=rtl style=text-align:end>[foo]</div><p>extra" queryCommandIndeterm("justifycenter") before 
-PASS [["defaultparagraphseparator","p"],["justifycenter",""]] "<div dir=rtl style=text-align:end>[foo]</div><p>extra" queryCommandState("justifycenter") before 
-FAIL [["defaultparagraphseparator","p"],["justifycenter",""]] "<div dir=rtl style=text-align:end>[foo]</div><p>extra" queryCommandValue("justifycenter") before assert_equals: Wrong result returned expected "left" but got "false"
-PASS [["defaultparagraphseparator","p"],["justifycenter",""]] "<div dir=rtl style=text-align:end>[foo]</div><p>extra" queryCommandIndeterm("justifycenter") after 
-PASS [["defaultparagraphseparator","p"],["justifycenter",""]] "<div dir=rtl style=text-align:end>[foo]</div><p>extra" queryCommandState("justifycenter") after 
-FAIL [["defaultparagraphseparator","p"],["justifycenter",""]] "<div dir=rtl style=text-align:end>[foo]</div><p>extra" queryCommandValue("justifycenter") after assert_equals: Wrong result returned expected "center" but got "true"
-PASS [["justifycenter",""]] "<div style=text-align:center><p>foo</div> <p>[bar]": execCommand("justifycenter", false, "") return value 
-PASS [["justifycenter",""]] "<div style=text-align:center><p>foo</div> <p>[bar]" checks for modifications to non-editable content 
-FAIL [["justifycenter",""]] "<div style=text-align:center><p>foo</div> <p>[bar]" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<div style=\"text-align:center\"><p>foo</p> <p>bar</p></div>" but got "<div style=\"text-align:center\"><p>foo</p></div> <p style=\"text-align:center\">bar</p>"
-PASS [["justifycenter",""]] "<div style=text-align:center><p>foo</div> <p>[bar]" queryCommandIndeterm("justifycenter") before 
-PASS [["justifycenter",""]] "<div style=text-align:center><p>foo</div> <p>[bar]" queryCommandState("justifycenter") before 
-FAIL [["justifycenter",""]] "<div style=text-align:center><p>foo</div> <p>[bar]" queryCommandValue("justifycenter") before assert_equals: Wrong result returned expected "left" but got "false"
-PASS [["justifycenter",""]] "<div style=text-align:center><p>foo</div> <p>[bar]" queryCommandIndeterm("justifycenter") after 
-PASS [["justifycenter",""]] "<div style=text-align:center><p>foo</div> <p>[bar]" queryCommandState("justifycenter") after 
-FAIL [["justifycenter",""]] "<div style=text-align:center><p>foo</div> <p>[bar]" queryCommandValue("justifycenter") after assert_equals: Wrong result returned expected "center" but got "true"
-PASS [["justifycenter",""]] "<div align=center><p>foo</div> <p>[bar]": execCommand("justifycenter", false, "") return value 
-PASS [["justifycenter",""]] "<div align=center><p>foo</div> <p>[bar]" checks for modifications to non-editable content 
-FAIL [["justifycenter",""]] "<div align=center><p>foo</div> <p>[bar]" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<div align=\"center\"><p>foo</p> <p>bar</p></div>" but got "<div align=\"center\"><p>foo</p></div> <p style=\"text-align:center\">bar</p>"
-PASS [["justifycenter",""]] "<div align=center><p>foo</div> <p>[bar]" queryCommandIndeterm("justifycenter") before 
-PASS [["justifycenter",""]] "<div align=center><p>foo</div> <p>[bar]" queryCommandState("justifycenter") before 
-FAIL [["justifycenter",""]] "<div align=center><p>foo</div> <p>[bar]" queryCommandValue("justifycenter") before assert_equals: Wrong result returned expected "left" but got "false"
-PASS [["justifycenter",""]] "<div align=center><p>foo</div> <p>[bar]" queryCommandIndeterm("justifycenter") after 
-PASS [["justifycenter",""]] "<div align=center><p>foo</div> <p>[bar]" queryCommandState("justifycenter") after 
-FAIL [["justifycenter",""]] "<div align=center><p>foo</div> <p>[bar]" queryCommandValue("justifycenter") after assert_equals: Wrong result returned expected "center" but got "true"
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<center><p>foo</center> <p>[bar]": execCommand("stylewithcss", false, "true") return value 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<center><p>foo</center> <p>[bar]": execCommand("defaultparagraphseparator", false, "div") return value 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<center><p>foo</center> <p>[bar]": execCommand("justifycenter", false, "") return value 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<center><p>foo</center> <p>[bar]" checks for modifications to non-editable content 
-FAIL [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<center><p>foo</center> <p>[bar]" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<center><p>foo</p></center><div style=\"text-align:center\"> <p>bar</p></div>" but got "<center><p>foo</p></center> <p style=\"text-align:center\">bar</p>"
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<center><p>foo</center> <p>[bar]" queryCommandIndeterm("stylewithcss") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<center><p>foo</center> <p>[bar]" queryCommandState("stylewithcss") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<center><p>foo</center> <p>[bar]" queryCommandValue("stylewithcss") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<center><p>foo</center> <p>[bar]" queryCommandIndeterm("stylewithcss") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<center><p>foo</center> <p>[bar]" queryCommandState("stylewithcss") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<center><p>foo</center> <p>[bar]" queryCommandValue("stylewithcss") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<center><p>foo</center> <p>[bar]" queryCommandIndeterm("defaultparagraphseparator") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<center><p>foo</center> <p>[bar]" queryCommandState("defaultparagraphseparator") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<center><p>foo</center> <p>[bar]" queryCommandValue("defaultparagraphseparator") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<center><p>foo</center> <p>[bar]" queryCommandIndeterm("defaultparagraphseparator") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<center><p>foo</center> <p>[bar]" queryCommandState("defaultparagraphseparator") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<center><p>foo</center> <p>[bar]" queryCommandValue("defaultparagraphseparator") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<center><p>foo</center> <p>[bar]" queryCommandIndeterm("justifycenter") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<center><p>foo</center> <p>[bar]" queryCommandState("justifycenter") before 
-FAIL [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<center><p>foo</center> <p>[bar]" queryCommandValue("justifycenter") before assert_equals: Wrong result returned expected "left" but got "false"
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<center><p>foo</center> <p>[bar]" queryCommandIndeterm("justifycenter") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<center><p>foo</center> <p>[bar]" queryCommandState("justifycenter") after 
-FAIL [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<center><p>foo</center> <p>[bar]" queryCommandValue("justifycenter") after assert_equals: Wrong result returned expected "center" but got "true"
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<center><p>foo</center> <p>[bar]": execCommand("stylewithcss", false, "false") return value 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<center><p>foo</center> <p>[bar]": execCommand("defaultparagraphseparator", false, "div") return value 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<center><p>foo</center> <p>[bar]": execCommand("justifycenter", false, "") return value 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<center><p>foo</center> <p>[bar]" checks for modifications to non-editable content 
-FAIL [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<center><p>foo</center> <p>[bar]" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<center><p>foo</p></center><div style=\"text-align:center\"> <p>bar</p></div>" but got "<center><p>foo</p></center> <p style=\"text-align:center\">bar</p>"
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<center><p>foo</center> <p>[bar]" queryCommandIndeterm("stylewithcss") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<center><p>foo</center> <p>[bar]" queryCommandState("stylewithcss") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<center><p>foo</center> <p>[bar]" queryCommandValue("stylewithcss") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<center><p>foo</center> <p>[bar]" queryCommandIndeterm("stylewithcss") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<center><p>foo</center> <p>[bar]" queryCommandState("stylewithcss") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<center><p>foo</center> <p>[bar]" queryCommandValue("stylewithcss") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<center><p>foo</center> <p>[bar]" queryCommandIndeterm("defaultparagraphseparator") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<center><p>foo</center> <p>[bar]" queryCommandState("defaultparagraphseparator") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<center><p>foo</center> <p>[bar]" queryCommandValue("defaultparagraphseparator") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<center><p>foo</center> <p>[bar]" queryCommandIndeterm("defaultparagraphseparator") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<center><p>foo</center> <p>[bar]" queryCommandState("defaultparagraphseparator") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<center><p>foo</center> <p>[bar]" queryCommandValue("defaultparagraphseparator") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<center><p>foo</center> <p>[bar]" queryCommandIndeterm("justifycenter") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<center><p>foo</center> <p>[bar]" queryCommandState("justifycenter") before 
-FAIL [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<center><p>foo</center> <p>[bar]" queryCommandValue("justifycenter") before assert_equals: Wrong result returned expected "left" but got "false"
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<center><p>foo</center> <p>[bar]" queryCommandIndeterm("justifycenter") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<center><p>foo</center> <p>[bar]" queryCommandState("justifycenter") after 
-FAIL [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<center><p>foo</center> <p>[bar]" queryCommandValue("justifycenter") after assert_equals: Wrong result returned expected "center" but got "true"
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<center><p>foo</center> <p>[bar]": execCommand("stylewithcss", false, "true") return value 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<center><p>foo</center> <p>[bar]": execCommand("defaultparagraphseparator", false, "p") return value 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<center><p>foo</center> <p>[bar]": execCommand("justifycenter", false, "") return value 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<center><p>foo</center> <p>[bar]" checks for modifications to non-editable content 
-FAIL [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<center><p>foo</center> <p>[bar]" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<center><p>foo</p></center><div style=\"text-align:center\"> <p>bar</p></div>" but got "<center><p>foo</p></center> <p style=\"text-align:center\">bar</p>"
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<center><p>foo</center> <p>[bar]" queryCommandIndeterm("stylewithcss") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<center><p>foo</center> <p>[bar]" queryCommandState("stylewithcss") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<center><p>foo</center> <p>[bar]" queryCommandValue("stylewithcss") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<center><p>foo</center> <p>[bar]" queryCommandIndeterm("stylewithcss") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<center><p>foo</center> <p>[bar]" queryCommandState("stylewithcss") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<center><p>foo</center> <p>[bar]" queryCommandValue("stylewithcss") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<center><p>foo</center> <p>[bar]" queryCommandIndeterm("defaultparagraphseparator") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<center><p>foo</center> <p>[bar]" queryCommandState("defaultparagraphseparator") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<center><p>foo</center> <p>[bar]" queryCommandValue("defaultparagraphseparator") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<center><p>foo</center> <p>[bar]" queryCommandIndeterm("defaultparagraphseparator") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<center><p>foo</center> <p>[bar]" queryCommandState("defaultparagraphseparator") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<center><p>foo</center> <p>[bar]" queryCommandValue("defaultparagraphseparator") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<center><p>foo</center> <p>[bar]" queryCommandIndeterm("justifycenter") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<center><p>foo</center> <p>[bar]" queryCommandState("justifycenter") before 
-FAIL [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<center><p>foo</center> <p>[bar]" queryCommandValue("justifycenter") before assert_equals: Wrong result returned expected "left" but got "false"
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<center><p>foo</center> <p>[bar]" queryCommandIndeterm("justifycenter") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<center><p>foo</center> <p>[bar]" queryCommandState("justifycenter") after 
-FAIL [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<center><p>foo</center> <p>[bar]" queryCommandValue("justifycenter") after assert_equals: Wrong result returned expected "center" but got "true"
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<center><p>foo</center> <p>[bar]": execCommand("stylewithcss", false, "false") return value 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<center><p>foo</center> <p>[bar]": execCommand("defaultparagraphseparator", false, "p") return value 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<center><p>foo</center> <p>[bar]": execCommand("justifycenter", false, "") return value 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<center><p>foo</center> <p>[bar]" checks for modifications to non-editable content 
-FAIL [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<center><p>foo</center> <p>[bar]" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<center><p>foo</p></center><div style=\"text-align:center\"> <p>bar</p></div>" but got "<center><p>foo</p></center> <p style=\"text-align:center\">bar</p>"
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<center><p>foo</center> <p>[bar]" queryCommandIndeterm("stylewithcss") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<center><p>foo</center> <p>[bar]" queryCommandState("stylewithcss") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<center><p>foo</center> <p>[bar]" queryCommandValue("stylewithcss") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<center><p>foo</center> <p>[bar]" queryCommandIndeterm("stylewithcss") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<center><p>foo</center> <p>[bar]" queryCommandState("stylewithcss") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<center><p>foo</center> <p>[bar]" queryCommandValue("stylewithcss") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<center><p>foo</center> <p>[bar]" queryCommandIndeterm("defaultparagraphseparator") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<center><p>foo</center> <p>[bar]" queryCommandState("defaultparagraphseparator") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<center><p>foo</center> <p>[bar]" queryCommandValue("defaultparagraphseparator") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<center><p>foo</center> <p>[bar]" queryCommandIndeterm("defaultparagraphseparator") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<center><p>foo</center> <p>[bar]" queryCommandState("defaultparagraphseparator") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<center><p>foo</center> <p>[bar]" queryCommandValue("defaultparagraphseparator") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<center><p>foo</center> <p>[bar]" queryCommandIndeterm("justifycenter") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<center><p>foo</center> <p>[bar]" queryCommandState("justifycenter") before 
-FAIL [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<center><p>foo</center> <p>[bar]" queryCommandValue("justifycenter") before assert_equals: Wrong result returned expected "left" but got "false"
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<center><p>foo</center> <p>[bar]" queryCommandIndeterm("justifycenter") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<center><p>foo</center> <p>[bar]" queryCommandState("justifycenter") after 
-FAIL [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<center><p>foo</center> <p>[bar]" queryCommandValue("justifycenter") after assert_equals: Wrong result returned expected "center" but got "true"
-PASS [["justifycenter",""]] "<p>[foo]</p> <div style=text-align:center><p>bar</div>": execCommand("justifycenter", false, "") return value 
-PASS [["justifycenter",""]] "<p>[foo]</p> <div style=text-align:center><p>bar</div>" checks for modifications to non-editable content 
-FAIL [["justifycenter",""]] "<p>[foo]</p> <div style=text-align:center><p>bar</div>" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<div style=\"text-align:center\"><p>foo</p> <p>bar</p></div>" but got "<p style=\"text-align:center\">foo</p> <div style=\"text-align:center\"><p>bar</p></div>"
-PASS [["justifycenter",""]] "<p>[foo]</p> <div style=text-align:center><p>bar</div>" queryCommandIndeterm("justifycenter") before 
-PASS [["justifycenter",""]] "<p>[foo]</p> <div style=text-align:center><p>bar</div>" queryCommandState("justifycenter") before 
-FAIL [["justifycenter",""]] "<p>[foo]</p> <div style=text-align:center><p>bar</div>" queryCommandValue("justifycenter") before assert_equals: Wrong result returned expected "left" but got "false"
-PASS [["justifycenter",""]] "<p>[foo]</p> <div style=text-align:center><p>bar</div>" queryCommandIndeterm("justifycenter") after 
-PASS [["justifycenter",""]] "<p>[foo]</p> <div style=text-align:center><p>bar</div>" queryCommandState("justifycenter") after 
-FAIL [["justifycenter",""]] "<p>[foo]</p> <div style=text-align:center><p>bar</div>" queryCommandValue("justifycenter") after assert_equals: Wrong result returned expected "center" but got "true"
-PASS [["justifycenter",""]] "<p>[foo]</p> <div align=center><p>bar</div>": execCommand("justifycenter", false, "") return value 
-PASS [["justifycenter",""]] "<p>[foo]</p> <div align=center><p>bar</div>" checks for modifications to non-editable content 
-FAIL [["justifycenter",""]] "<p>[foo]</p> <div align=center><p>bar</div>" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<div align=\"center\"><p>foo</p> <p>bar</p></div>" but got "<p style=\"text-align:center\">foo</p> <div align=\"center\"><p>bar</p></div>"
-PASS [["justifycenter",""]] "<p>[foo]</p> <div align=center><p>bar</div>" queryCommandIndeterm("justifycenter") before 
-PASS [["justifycenter",""]] "<p>[foo]</p> <div align=center><p>bar</div>" queryCommandState("justifycenter") before 
-FAIL [["justifycenter",""]] "<p>[foo]</p> <div align=center><p>bar</div>" queryCommandValue("justifycenter") before assert_equals: Wrong result returned expected "left" but got "false"
-PASS [["justifycenter",""]] "<p>[foo]</p> <div align=center><p>bar</div>" queryCommandIndeterm("justifycenter") after 
-PASS [["justifycenter",""]] "<p>[foo]</p> <div align=center><p>bar</div>" queryCommandState("justifycenter") after 
-FAIL [["justifycenter",""]] "<p>[foo]</p> <div align=center><p>bar</div>" queryCommandValue("justifycenter") after assert_equals: Wrong result returned expected "center" but got "true"
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<p>[foo]</p> <center><p>bar</center>": execCommand("stylewithcss", false, "true") return value 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<p>[foo]</p> <center><p>bar</center>": execCommand("defaultparagraphseparator", false, "div") return value 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<p>[foo]</p> <center><p>bar</center>": execCommand("justifycenter", false, "") return value 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<p>[foo]</p> <center><p>bar</center>" checks for modifications to non-editable content 
-FAIL [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<p>[foo]</p> <center><p>bar</center>" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<div style=\"text-align:center\"><p>foo</p> </div><center><p>bar</p></center>" but got "<p style=\"text-align:center\">foo</p> <center><p>bar</p></center>"
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<p>[foo]</p> <center><p>bar</center>" queryCommandIndeterm("stylewithcss") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<p>[foo]</p> <center><p>bar</center>" queryCommandState("stylewithcss") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<p>[foo]</p> <center><p>bar</center>" queryCommandValue("stylewithcss") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<p>[foo]</p> <center><p>bar</center>" queryCommandIndeterm("stylewithcss") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<p>[foo]</p> <center><p>bar</center>" queryCommandState("stylewithcss") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<p>[foo]</p> <center><p>bar</center>" queryCommandValue("stylewithcss") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<p>[foo]</p> <center><p>bar</center>" queryCommandIndeterm("defaultparagraphseparator") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<p>[foo]</p> <center><p>bar</center>" queryCommandState("defaultparagraphseparator") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<p>[foo]</p> <center><p>bar</center>" queryCommandValue("defaultparagraphseparator") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<p>[foo]</p> <center><p>bar</center>" queryCommandIndeterm("defaultparagraphseparator") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<p>[foo]</p> <center><p>bar</center>" queryCommandState("defaultparagraphseparator") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<p>[foo]</p> <center><p>bar</center>" queryCommandValue("defaultparagraphseparator") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<p>[foo]</p> <center><p>bar</center>" queryCommandIndeterm("justifycenter") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<p>[foo]</p> <center><p>bar</center>" queryCommandState("justifycenter") before 
-FAIL [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<p>[foo]</p> <center><p>bar</center>" queryCommandValue("justifycenter") before assert_equals: Wrong result returned expected "left" but got "false"
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<p>[foo]</p> <center><p>bar</center>" queryCommandIndeterm("justifycenter") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<p>[foo]</p> <center><p>bar</center>" queryCommandState("justifycenter") after 
-FAIL [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<p>[foo]</p> <center><p>bar</center>" queryCommandValue("justifycenter") after assert_equals: Wrong result returned expected "center" but got "true"
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<p>[foo]</p> <center><p>bar</center>": execCommand("stylewithcss", false, "false") return value 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<p>[foo]</p> <center><p>bar</center>": execCommand("defaultparagraphseparator", false, "div") return value 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<p>[foo]</p> <center><p>bar</center>": execCommand("justifycenter", false, "") return value 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<p>[foo]</p> <center><p>bar</center>" checks for modifications to non-editable content 
-FAIL [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<p>[foo]</p> <center><p>bar</center>" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<div style=\"text-align:center\"><p>foo</p> </div><center><p>bar</p></center>" but got "<p style=\"text-align:center\">foo</p> <center><p>bar</p></center>"
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<p>[foo]</p> <center><p>bar</center>" queryCommandIndeterm("stylewithcss") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<p>[foo]</p> <center><p>bar</center>" queryCommandState("stylewithcss") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<p>[foo]</p> <center><p>bar</center>" queryCommandValue("stylewithcss") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<p>[foo]</p> <center><p>bar</center>" queryCommandIndeterm("stylewithcss") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<p>[foo]</p> <center><p>bar</center>" queryCommandState("stylewithcss") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<p>[foo]</p> <center><p>bar</center>" queryCommandValue("stylewithcss") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<p>[foo]</p> <center><p>bar</center>" queryCommandIndeterm("defaultparagraphseparator") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<p>[foo]</p> <center><p>bar</center>" queryCommandState("defaultparagraphseparator") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<p>[foo]</p> <center><p>bar</center>" queryCommandValue("defaultparagraphseparator") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<p>[foo]</p> <center><p>bar</center>" queryCommandIndeterm("defaultparagraphseparator") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<p>[foo]</p> <center><p>bar</center>" queryCommandState("defaultparagraphseparator") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<p>[foo]</p> <center><p>bar</center>" queryCommandValue("defaultparagraphseparator") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<p>[foo]</p> <center><p>bar</center>" queryCommandIndeterm("justifycenter") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<p>[foo]</p> <center><p>bar</center>" queryCommandState("justifycenter") before 
-FAIL [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<p>[foo]</p> <center><p>bar</center>" queryCommandValue("justifycenter") before assert_equals: Wrong result returned expected "left" but got "false"
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<p>[foo]</p> <center><p>bar</center>" queryCommandIndeterm("justifycenter") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<p>[foo]</p> <center><p>bar</center>" queryCommandState("justifycenter") after 
-FAIL [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<p>[foo]</p> <center><p>bar</center>" queryCommandValue("justifycenter") after assert_equals: Wrong result returned expected "center" but got "true"
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<p>[foo]</p> <center><p>bar</center>": execCommand("stylewithcss", false, "true") return value 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<p>[foo]</p> <center><p>bar</center>": execCommand("defaultparagraphseparator", false, "p") return value 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<p>[foo]</p> <center><p>bar</center>": execCommand("justifycenter", false, "") return value 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<p>[foo]</p> <center><p>bar</center>" checks for modifications to non-editable content 
-FAIL [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<p>[foo]</p> <center><p>bar</center>" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<div style=\"text-align:center\"><p>foo</p> </div><center><p>bar</p></center>" but got "<p style=\"text-align:center\">foo</p> <center><p>bar</p></center>"
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<p>[foo]</p> <center><p>bar</center>" queryCommandIndeterm("stylewithcss") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<p>[foo]</p> <center><p>bar</center>" queryCommandState("stylewithcss") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<p>[foo]</p> <center><p>bar</center>" queryCommandValue("stylewithcss") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<p>[foo]</p> <center><p>bar</center>" queryCommandIndeterm("stylewithcss") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<p>[foo]</p> <center><p>bar</center>" queryCommandState("stylewithcss") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<p>[foo]</p> <center><p>bar</center>" queryCommandValue("stylewithcss") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<p>[foo]</p> <center><p>bar</center>" queryCommandIndeterm("defaultparagraphseparator") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<p>[foo]</p> <center><p>bar</center>" queryCommandState("defaultparagraphseparator") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<p>[foo]</p> <center><p>bar</center>" queryCommandValue("defaultparagraphseparator") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<p>[foo]</p> <center><p>bar</center>" queryCommandIndeterm("defaultparagraphseparator") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<p>[foo]</p> <center><p>bar</center>" queryCommandState("defaultparagraphseparator") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<p>[foo]</p> <center><p>bar</center>" queryCommandValue("defaultparagraphseparator") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<p>[foo]</p> <center><p>bar</center>" queryCommandIndeterm("justifycenter") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<p>[foo]</p> <center><p>bar</center>" queryCommandState("justifycenter") before 
-FAIL [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<p>[foo]</p> <center><p>bar</center>" queryCommandValue("justifycenter") before assert_equals: Wrong result returned expected "left" but got "false"
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<p>[foo]</p> <center><p>bar</center>" queryCommandIndeterm("justifycenter") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<p>[foo]</p> <center><p>bar</center>" queryCommandState("justifycenter") after 
-FAIL [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<p>[foo]</p> <center><p>bar</center>" queryCommandValue("justifycenter") after assert_equals: Wrong result returned expected "center" but got "true"
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<p>[foo]</p> <center><p>bar</center>": execCommand("stylewithcss", false, "false") return value 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<p>[foo]</p> <center><p>bar</center>": execCommand("defaultparagraphseparator", false, "p") return value 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<p>[foo]</p> <center><p>bar</center>": execCommand("justifycenter", false, "") return value 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<p>[foo]</p> <center><p>bar</center>" checks for modifications to non-editable content 
-FAIL [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<p>[foo]</p> <center><p>bar</center>" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<div style=\"text-align:center\"><p>foo</p> </div><center><p>bar</p></center>" but got "<p style=\"text-align:center\">foo</p> <center><p>bar</p></center>"
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<p>[foo]</p> <center><p>bar</center>" queryCommandIndeterm("stylewithcss") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<p>[foo]</p> <center><p>bar</center>" queryCommandState("stylewithcss") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<p>[foo]</p> <center><p>bar</center>" queryCommandValue("stylewithcss") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<p>[foo]</p> <center><p>bar</center>" queryCommandIndeterm("stylewithcss") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<p>[foo]</p> <center><p>bar</center>" queryCommandState("stylewithcss") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<p>[foo]</p> <center><p>bar</center>" queryCommandValue("stylewithcss") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<p>[foo]</p> <center><p>bar</center>" queryCommandIndeterm("defaultparagraphseparator") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<p>[foo]</p> <center><p>bar</center>" queryCommandState("defaultparagraphseparator") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<p>[foo]</p> <center><p>bar</center>" queryCommandValue("defaultparagraphseparator") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<p>[foo]</p> <center><p>bar</center>" queryCommandIndeterm("defaultparagraphseparator") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<p>[foo]</p> <center><p>bar</center>" queryCommandState("defaultparagraphseparator") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<p>[foo]</p> <center><p>bar</center>" queryCommandValue("defaultparagraphseparator") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<p>[foo]</p> <center><p>bar</center>" queryCommandIndeterm("justifycenter") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<p>[foo]</p> <center><p>bar</center>" queryCommandState("justifycenter") before 
-FAIL [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<p>[foo]</p> <center><p>bar</center>" queryCommandValue("justifycenter") before assert_equals: Wrong result returned expected "left" but got "false"
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<p>[foo]</p> <center><p>bar</center>" queryCommandIndeterm("justifycenter") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<p>[foo]</p> <center><p>bar</center>" queryCommandState("justifycenter") after 
-FAIL [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<p>[foo]</p> <center><p>bar</center>" queryCommandValue("justifycenter") after assert_equals: Wrong result returned expected "center" but got "true"
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div style=text-align:center><p>foo</div> <p>[bar]</p> <div style=text-align:center><p>baz</div>": execCommand("stylewithcss", false, "true") return value 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div style=text-align:center><p>foo</div> <p>[bar]</p> <div style=text-align:center><p>baz</div>": execCommand("defaultparagraphseparator", false, "div") return value 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div style=text-align:center><p>foo</div> <p>[bar]</p> <div style=text-align:center><p>baz</div>": execCommand("justifycenter", false, "") return value 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div style=text-align:center><p>foo</div> <p>[bar]</p> <div style=text-align:center><p>baz</div>" checks for modifications to non-editable content 
-FAIL [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div style=text-align:center><p>foo</div> <p>[bar]</p> <div style=text-align:center><p>baz</div>" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<div style=\"text-align:center\"><p>foo</p> <p>bar</p> <p>baz</p></div>" but got "<div style=\"text-align:center\"><p>foo</p></div> <p style=\"text-align:center\">bar</p> <div style=\"text-align:center\"><p>baz</p></div>"
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div style=text-align:center><p>foo</div> <p>[bar]</p> <div style=text-align:center><p>baz</div>" queryCommandIndeterm("stylewithcss") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div style=text-align:center><p>foo</div> <p>[bar]</p> <div style=text-align:center><p>baz</div>" queryCommandState("stylewithcss") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div style=text-align:center><p>foo</div> <p>[bar]</p> <div style=text-align:center><p>baz</div>" queryCommandValue("stylewithcss") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div style=text-align:center><p>foo</div> <p>[bar]</p> <div style=text-align:center><p>baz</div>" queryCommandIndeterm("stylewithcss") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div style=text-align:center><p>foo</div> <p>[bar]</p> <div style=text-align:center><p>baz</div>" queryCommandState("stylewithcss") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div style=text-align:center><p>foo</div> <p>[bar]</p> <div style=text-align:center><p>baz</div>" queryCommandValue("stylewithcss") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div style=text-align:center><p>foo</div> <p>[bar]</p> <div style=text-align:center><p>baz</div>" queryCommandIndeterm("defaultparagraphseparator") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div style=text-align:center><p>foo</div> <p>[bar]</p> <div style=text-align:center><p>baz</div>" queryCommandState("defaultparagraphseparator") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div style=text-align:center><p>foo</div> <p>[bar]</p> <div style=text-align:center><p>baz</div>" queryCommandValue("defaultparagraphseparator") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div style=text-align:center><p>foo</div> <p>[bar]</p> <div style=text-align:center><p>baz</div>" queryCommandIndeterm("defaultparagraphseparator") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div style=text-align:center><p>foo</div> <p>[bar]</p> <div style=text-align:center><p>baz</div>" queryCommandState("defaultparagraphseparator") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div style=text-align:center><p>foo</div> <p>[bar]</p> <div style=text-align:center><p>baz</div>" queryCommandValue("defaultparagraphseparator") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div style=text-align:center><p>foo</div> <p>[bar]</p> <div style=text-align:center><p>baz</div>" queryCommandIndeterm("justifycenter") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div style=text-align:center><p>foo</div> <p>[bar]</p> <div style=text-align:center><p>baz</div>" queryCommandState("justifycenter") before 
-FAIL [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div style=text-align:center><p>foo</div> <p>[bar]</p> <div style=text-align:center><p>baz</div>" queryCommandValue("justifycenter") before assert_equals: Wrong result returned expected "left" but got "false"
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div style=text-align:center><p>foo</div> <p>[bar]</p> <div style=text-align:center><p>baz</div>" queryCommandIndeterm("justifycenter") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div style=text-align:center><p>foo</div> <p>[bar]</p> <div style=text-align:center><p>baz</div>" queryCommandState("justifycenter") after 
-FAIL [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div style=text-align:center><p>foo</div> <p>[bar]</p> <div style=text-align:center><p>baz</div>" queryCommandValue("justifycenter") after assert_equals: Wrong result returned expected "center" but got "true"
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div style=text-align:center><p>foo</div> <p>[bar]</p> <div style=text-align:center><p>baz</div>": execCommand("stylewithcss", false, "false") return value 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div style=text-align:center><p>foo</div> <p>[bar]</p> <div style=text-align:center><p>baz</div>": execCommand("defaultparagraphseparator", false, "div") return value 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div style=text-align:center><p>foo</div> <p>[bar]</p> <div style=text-align:center><p>baz</div>": execCommand("justifycenter", false, "") return value 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div style=text-align:center><p>foo</div> <p>[bar]</p> <div style=text-align:center><p>baz</div>" checks for modifications to non-editable content 
-FAIL [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div style=text-align:center><p>foo</div> <p>[bar]</p> <div style=text-align:center><p>baz</div>" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<div style=\"text-align:center\"><p>foo</p> <p>bar</p> <p>baz</p></div>" but got "<div style=\"text-align:center\"><p>foo</p></div> <p style=\"text-align:center\">bar</p> <div style=\"text-align:center\"><p>baz</p></div>"
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div style=text-align:center><p>foo</div> <p>[bar]</p> <div style=text-align:center><p>baz</div>" queryCommandIndeterm("stylewithcss") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div style=text-align:center><p>foo</div> <p>[bar]</p> <div style=text-align:center><p>baz</div>" queryCommandState("stylewithcss") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div style=text-align:center><p>foo</div> <p>[bar]</p> <div style=text-align:center><p>baz</div>" queryCommandValue("stylewithcss") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div style=text-align:center><p>foo</div> <p>[bar]</p> <div style=text-align:center><p>baz</div>" queryCommandIndeterm("stylewithcss") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div style=text-align:center><p>foo</div> <p>[bar]</p> <div style=text-align:center><p>baz</div>" queryCommandState("stylewithcss") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div style=text-align:center><p>foo</div> <p>[bar]</p> <div style=text-align:center><p>baz</div>" queryCommandValue("stylewithcss") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div style=text-align:center><p>foo</div> <p>[bar]</p> <div style=text-align:center><p>baz</div>" queryCommandIndeterm("defaultparagraphseparator") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div style=text-align:center><p>foo</div> <p>[bar]</p> <div style=text-align:center><p>baz</div>" queryCommandState("defaultparagraphseparator") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div style=text-align:center><p>foo</div> <p>[bar]</p> <div style=text-align:center><p>baz</div>" queryCommandValue("defaultparagraphseparator") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div style=text-align:center><p>foo</div> <p>[bar]</p> <div style=text-align:center><p>baz</div>" queryCommandIndeterm("defaultparagraphseparator") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div style=text-align:center><p>foo</div> <p>[bar]</p> <div style=text-align:center><p>baz</div>" queryCommandState("defaultparagraphseparator") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div style=text-align:center><p>foo</div> <p>[bar]</p> <div style=text-align:center><p>baz</div>" queryCommandValue("defaultparagraphseparator") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div style=text-align:center><p>foo</div> <p>[bar]</p> <div style=text-align:center><p>baz</div>" queryCommandIndeterm("justifycenter") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div style=text-align:center><p>foo</div> <p>[bar]</p> <div style=text-align:center><p>baz</div>" queryCommandState("justifycenter") before 
-FAIL [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div style=text-align:center><p>foo</div> <p>[bar]</p> <div style=text-align:center><p>baz</div>" queryCommandValue("justifycenter") before assert_equals: Wrong result returned expected "left" but got "false"
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div style=text-align:center><p>foo</div> <p>[bar]</p> <div style=text-align:center><p>baz</div>" queryCommandIndeterm("justifycenter") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div style=text-align:center><p>foo</div> <p>[bar]</p> <div style=text-align:center><p>baz</div>" queryCommandState("justifycenter") after 
-FAIL [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div style=text-align:center><p>foo</div> <p>[bar]</p> <div style=text-align:center><p>baz</div>" queryCommandValue("justifycenter") after assert_equals: Wrong result returned expected "center" but got "true"
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div style=text-align:center><p>foo</div> <p>[bar]</p> <div style=text-align:center><p>baz</div>": execCommand("stylewithcss", false, "true") return value 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div style=text-align:center><p>foo</div> <p>[bar]</p> <div style=text-align:center><p>baz</div>": execCommand("defaultparagraphseparator", false, "p") return value 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div style=text-align:center><p>foo</div> <p>[bar]</p> <div style=text-align:center><p>baz</div>": execCommand("justifycenter", false, "") return value 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div style=text-align:center><p>foo</div> <p>[bar]</p> <div style=text-align:center><p>baz</div>" checks for modifications to non-editable content 
-FAIL [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div style=text-align:center><p>foo</div> <p>[bar]</p> <div style=text-align:center><p>baz</div>" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<div style=\"text-align:center\"><p>foo</p> <p>bar</p> <p>baz</p></div>" but got "<div style=\"text-align:center\"><p>foo</p></div> <p style=\"text-align:center\">bar</p> <div style=\"text-align:center\"><p>baz</p></div>"
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div style=text-align:center><p>foo</div> <p>[bar]</p> <div style=text-align:center><p>baz</div>" queryCommandIndeterm("stylewithcss") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div style=text-align:center><p>foo</div> <p>[bar]</p> <div style=text-align:center><p>baz</div>" queryCommandState("stylewithcss") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div style=text-align:center><p>foo</div> <p>[bar]</p> <div style=text-align:center><p>baz</div>" queryCommandValue("stylewithcss") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div style=text-align:center><p>foo</div> <p>[bar]</p> <div style=text-align:center><p>baz</div>" queryCommandIndeterm("stylewithcss") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div style=text-align:center><p>foo</div> <p>[bar]</p> <div style=text-align:center><p>baz</div>" queryCommandState("stylewithcss") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div style=text-align:center><p>foo</div> <p>[bar]</p> <div style=text-align:center><p>baz</div>" queryCommandValue("stylewithcss") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div style=text-align:center><p>foo</div> <p>[bar]</p> <div style=text-align:center><p>baz</div>" queryCommandIndeterm("defaultparagraphseparator") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div style=text-align:center><p>foo</div> <p>[bar]</p> <div style=text-align:center><p>baz</div>" queryCommandState("defaultparagraphseparator") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div style=text-align:center><p>foo</div> <p>[bar]</p> <div style=text-align:center><p>baz</div>" queryCommandValue("defaultparagraphseparator") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div style=text-align:center><p>foo</div> <p>[bar]</p> <div style=text-align:center><p>baz</div>" queryCommandIndeterm("defaultparagraphseparator") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div style=text-align:center><p>foo</div> <p>[bar]</p> <div style=text-align:center><p>baz</div>" queryCommandState("defaultparagraphseparator") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div style=text-align:center><p>foo</div> <p>[bar]</p> <div style=text-align:center><p>baz</div>" queryCommandValue("defaultparagraphseparator") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div style=text-align:center><p>foo</div> <p>[bar]</p> <div style=text-align:center><p>baz</div>" queryCommandIndeterm("justifycenter") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div style=text-align:center><p>foo</div> <p>[bar]</p> <div style=text-align:center><p>baz</div>" queryCommandState("justifycenter") before 
-FAIL [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div style=text-align:center><p>foo</div> <p>[bar]</p> <div style=text-align:center><p>baz</div>" queryCommandValue("justifycenter") before assert_equals: Wrong result returned expected "left" but got "false"
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div style=text-align:center><p>foo</div> <p>[bar]</p> <div style=text-align:center><p>baz</div>" queryCommandIndeterm("justifycenter") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div style=text-align:center><p>foo</div> <p>[bar]</p> <div style=text-align:center><p>baz</div>" queryCommandState("justifycenter") after 
-FAIL [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div style=text-align:center><p>foo</div> <p>[bar]</p> <div style=text-align:center><p>baz</div>" queryCommandValue("justifycenter") after assert_equals: Wrong result returned expected "center" but got "true"
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div style=text-align:center><p>foo</div> <p>[bar]</p> <div style=text-align:center><p>baz</div>": execCommand("stylewithcss", false, "false") return value 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div style=text-align:center><p>foo</div> <p>[bar]</p> <div style=text-align:center><p>baz</div>": execCommand("defaultparagraphseparator", false, "p") return value 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div style=text-align:center><p>foo</div> <p>[bar]</p> <div style=text-align:center><p>baz</div>": execCommand("justifycenter", false, "") return value 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div style=text-align:center><p>foo</div> <p>[bar]</p> <div style=text-align:center><p>baz</div>" checks for modifications to non-editable content 
-FAIL [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div style=text-align:center><p>foo</div> <p>[bar]</p> <div style=text-align:center><p>baz</div>" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<div style=\"text-align:center\"><p>foo</p> <p>bar</p> <p>baz</p></div>" but got "<div style=\"text-align:center\"><p>foo</p></div> <p style=\"text-align:center\">bar</p> <div style=\"text-align:center\"><p>baz</p></div>"
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div style=text-align:center><p>foo</div> <p>[bar]</p> <div style=text-align:center><p>baz</div>" queryCommandIndeterm("stylewithcss") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div style=text-align:center><p>foo</div> <p>[bar]</p> <div style=text-align:center><p>baz</div>" queryCommandState("stylewithcss") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div style=text-align:center><p>foo</div> <p>[bar]</p> <div style=text-align:center><p>baz</div>" queryCommandValue("stylewithcss") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div style=text-align:center><p>foo</div> <p>[bar]</p> <div style=text-align:center><p>baz</div>" queryCommandIndeterm("stylewithcss") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div style=text-align:center><p>foo</div> <p>[bar]</p> <div style=text-align:center><p>baz</div>" queryCommandState("stylewithcss") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div style=text-align:center><p>foo</div> <p>[bar]</p> <div style=text-align:center><p>baz</div>" queryCommandValue("stylewithcss") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div style=text-align:center><p>foo</div> <p>[bar]</p> <div style=text-align:center><p>baz</div>" queryCommandIndeterm("defaultparagraphseparator") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div style=text-align:center><p>foo</div> <p>[bar]</p> <div style=text-align:center><p>baz</div>" queryCommandState("defaultparagraphseparator") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div style=text-align:center><p>foo</div> <p>[bar]</p> <div style=text-align:center><p>baz</div>" queryCommandValue("defaultparagraphseparator") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div style=text-align:center><p>foo</div> <p>[bar]</p> <div style=text-align:center><p>baz</div>" queryCommandIndeterm("defaultparagraphseparator") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div style=text-align:center><p>foo</div> <p>[bar]</p> <div style=text-align:center><p>baz</div>" queryCommandState("defaultparagraphseparator") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div style=text-align:center><p>foo</div> <p>[bar]</p> <div style=text-align:center><p>baz</div>" queryCommandValue("defaultparagraphseparator") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div style=text-align:center><p>foo</div> <p>[bar]</p> <div style=text-align:center><p>baz</div>" queryCommandIndeterm("justifycenter") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div style=text-align:center><p>foo</div> <p>[bar]</p> <div style=text-align:center><p>baz</div>" queryCommandState("justifycenter") before 
-FAIL [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div style=text-align:center><p>foo</div> <p>[bar]</p> <div style=text-align:center><p>baz</div>" queryCommandValue("justifycenter") before assert_equals: Wrong result returned expected "left" but got "false"
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div style=text-align:center><p>foo</div> <p>[bar]</p> <div style=text-align:center><p>baz</div>" queryCommandIndeterm("justifycenter") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div style=text-align:center><p>foo</div> <p>[bar]</p> <div style=text-align:center><p>baz</div>" queryCommandState("justifycenter") after 
-FAIL [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div style=text-align:center><p>foo</div> <p>[bar]</p> <div style=text-align:center><p>baz</div>" queryCommandValue("justifycenter") after assert_equals: Wrong result returned expected "center" but got "true"
-PASS [["defaultparagraphseparator","div"],["justifycenter",""]] "<div align=center><p>foo</div> <p>[bar]</p> <div align=center><p>baz</div>": execCommand("defaultparagraphseparator", false, "div") return value 
-PASS [["defaultparagraphseparator","div"],["justifycenter",""]] "<div align=center><p>foo</div> <p>[bar]</p> <div align=center><p>baz</div>": execCommand("justifycenter", false, "") return value 
-PASS [["defaultparagraphseparator","div"],["justifycenter",""]] "<div align=center><p>foo</div> <p>[bar]</p> <div align=center><p>baz</div>" checks for modifications to non-editable content 
-FAIL [["defaultparagraphseparator","div"],["justifycenter",""]] "<div align=center><p>foo</div> <p>[bar]</p> <div align=center><p>baz</div>" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<div align=\"center\"><p>foo</p> <p>bar</p> <p>baz</p></div>" but got "<div align=\"center\"><p>foo</p></div> <p style=\"text-align:center\">bar</p> <div align=\"center\"><p>baz</p></div>"
-PASS [["defaultparagraphseparator","div"],["justifycenter",""]] "<div align=center><p>foo</div> <p>[bar]</p> <div align=center><p>baz</div>" queryCommandIndeterm("defaultparagraphseparator") before 
-PASS [["defaultparagraphseparator","div"],["justifycenter",""]] "<div align=center><p>foo</div> <p>[bar]</p> <div align=center><p>baz</div>" queryCommandState("defaultparagraphseparator") before 
-PASS [["defaultparagraphseparator","div"],["justifycenter",""]] "<div align=center><p>foo</div> <p>[bar]</p> <div align=center><p>baz</div>" queryCommandValue("defaultparagraphseparator") before 
-PASS [["defaultparagraphseparator","div"],["justifycenter",""]] "<div align=center><p>foo</div> <p>[bar]</p> <div align=center><p>baz</div>" queryCommandIndeterm("defaultparagraphseparator") after 
-PASS [["defaultparagraphseparator","div"],["justifycenter",""]] "<div align=center><p>foo</div> <p>[bar]</p> <div align=center><p>baz</div>" queryCommandState("defaultparagraphseparator") after 
-PASS [["defaultparagraphseparator","div"],["justifycenter",""]] "<div align=center><p>foo</div> <p>[bar]</p> <div align=center><p>baz</div>" queryCommandValue("defaultparagraphseparator") after 
-PASS [["defaultparagraphseparator","div"],["justifycenter",""]] "<div align=center><p>foo</div> <p>[bar]</p> <div align=center><p>baz</div>" queryCommandIndeterm("justifycenter") before 
-PASS [["defaultparagraphseparator","div"],["justifycenter",""]] "<div align=center><p>foo</div> <p>[bar]</p> <div align=center><p>baz</div>" queryCommandState("justifycenter") before 
-FAIL [["defaultparagraphseparator","div"],["justifycenter",""]] "<div align=center><p>foo</div> <p>[bar]</p> <div align=center><p>baz</div>" queryCommandValue("justifycenter") before assert_equals: Wrong result returned expected "left" but got "false"
-PASS [["defaultparagraphseparator","div"],["justifycenter",""]] "<div align=center><p>foo</div> <p>[bar]</p> <div align=center><p>baz</div>" queryCommandIndeterm("justifycenter") after 
-PASS [["defaultparagraphseparator","div"],["justifycenter",""]] "<div align=center><p>foo</div> <p>[bar]</p> <div align=center><p>baz</div>" queryCommandState("justifycenter") after 
-FAIL [["defaultparagraphseparator","div"],["justifycenter",""]] "<div align=center><p>foo</div> <p>[bar]</p> <div align=center><p>baz</div>" queryCommandValue("justifycenter") after assert_equals: Wrong result returned expected "center" but got "true"
-PASS [["defaultparagraphseparator","p"],["justifycenter",""]] "<div align=center><p>foo</div> <p>[bar]</p> <div align=center><p>baz</div>": execCommand("defaultparagraphseparator", false, "p") return value 
-PASS [["defaultparagraphseparator","p"],["justifycenter",""]] "<div align=center><p>foo</div> <p>[bar]</p> <div align=center><p>baz</div>": execCommand("justifycenter", false, "") return value 
-PASS [["defaultparagraphseparator","p"],["justifycenter",""]] "<div align=center><p>foo</div> <p>[bar]</p> <div align=center><p>baz</div>" checks for modifications to non-editable content 
-FAIL [["defaultparagraphseparator","p"],["justifycenter",""]] "<div align=center><p>foo</div> <p>[bar]</p> <div align=center><p>baz</div>" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<div align=\"center\"><p>foo</p> <p>bar</p> <p>baz</p></div>" but got "<div align=\"center\"><p>foo</p></div> <p style=\"text-align:center\">bar</p> <div align=\"center\"><p>baz</p></div>"
-PASS [["defaultparagraphseparator","p"],["justifycenter",""]] "<div align=center><p>foo</div> <p>[bar]</p> <div align=center><p>baz</div>" queryCommandIndeterm("defaultparagraphseparator") before 
-PASS [["defaultparagraphseparator","p"],["justifycenter",""]] "<div align=center><p>foo</div> <p>[bar]</p> <div align=center><p>baz</div>" queryCommandState("defaultparagraphseparator") before 
-PASS [["defaultparagraphseparator","p"],["justifycenter",""]] "<div align=center><p>foo</div> <p>[bar]</p> <div align=center><p>baz</div>" queryCommandValue("defaultparagraphseparator") before 
-PASS [["defaultparagraphseparator","p"],["justifycenter",""]] "<div align=center><p>foo</div> <p>[bar]</p> <div align=center><p>baz</div>" queryCommandIndeterm("defaultparagraphseparator") after 
-PASS [["defaultparagraphseparator","p"],["justifycenter",""]] "<div align=center><p>foo</div> <p>[bar]</p> <div align=center><p>baz</div>" queryCommandState("defaultparagraphseparator") after 
-PASS [["defaultparagraphseparator","p"],["justifycenter",""]] "<div align=center><p>foo</div> <p>[bar]</p> <div align=center><p>baz</div>" queryCommandValue("defaultparagraphseparator") after 
-PASS [["defaultparagraphseparator","p"],["justifycenter",""]] "<div align=center><p>foo</div> <p>[bar]</p> <div align=center><p>baz</div>" queryCommandIndeterm("justifycenter") before 
-PASS [["defaultparagraphseparator","p"],["justifycenter",""]] "<div align=center><p>foo</div> <p>[bar]</p> <div align=center><p>baz</div>" queryCommandState("justifycenter") before 
-FAIL [["defaultparagraphseparator","p"],["justifycenter",""]] "<div align=center><p>foo</div> <p>[bar]</p> <div align=center><p>baz</div>" queryCommandValue("justifycenter") before assert_equals: Wrong result returned expected "left" but got "false"
-PASS [["defaultparagraphseparator","p"],["justifycenter",""]] "<div align=center><p>foo</div> <p>[bar]</p> <div align=center><p>baz</div>" queryCommandIndeterm("justifycenter") after 
-PASS [["defaultparagraphseparator","p"],["justifycenter",""]] "<div align=center><p>foo</div> <p>[bar]</p> <div align=center><p>baz</div>" queryCommandState("justifycenter") after 
-FAIL [["defaultparagraphseparator","p"],["justifycenter",""]] "<div align=center><p>foo</div> <p>[bar]</p> <div align=center><p>baz</div>" queryCommandValue("justifycenter") after assert_equals: Wrong result returned expected "center" but got "true"
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<center><p>foo</center> <p>[bar]</p> <center><p>baz</center>": execCommand("stylewithcss", false, "true") return value 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<center><p>foo</center> <p>[bar]</p> <center><p>baz</center>": execCommand("defaultparagraphseparator", false, "div") return value 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<center><p>foo</center> <p>[bar]</p> <center><p>baz</center>": execCommand("justifycenter", false, "") return value 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<center><p>foo</center> <p>[bar]</p> <center><p>baz</center>" checks for modifications to non-editable content 
-FAIL [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<center><p>foo</center> <p>[bar]</p> <center><p>baz</center>" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<center><p>foo</p></center><div style=\"text-align:center\"> <p>bar</p> </div><center><p>baz</p></center>" but got "<center><p>foo</p></center> <p style=\"text-align:center\">bar</p> <center><p>baz</p></center>"
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<center><p>foo</center> <p>[bar]</p> <center><p>baz</center>" queryCommandIndeterm("stylewithcss") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<center><p>foo</center> <p>[bar]</p> <center><p>baz</center>" queryCommandState("stylewithcss") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<center><p>foo</center> <p>[bar]</p> <center><p>baz</center>" queryCommandValue("stylewithcss") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<center><p>foo</center> <p>[bar]</p> <center><p>baz</center>" queryCommandIndeterm("stylewithcss") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<center><p>foo</center> <p>[bar]</p> <center><p>baz</center>" queryCommandState("stylewithcss") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<center><p>foo</center> <p>[bar]</p> <center><p>baz</center>" queryCommandValue("stylewithcss") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<center><p>foo</center> <p>[bar]</p> <center><p>baz</center>" queryCommandIndeterm("defaultparagraphseparator") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<center><p>foo</center> <p>[bar]</p> <center><p>baz</center>" queryCommandState("defaultparagraphseparator") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<center><p>foo</center> <p>[bar]</p> <center><p>baz</center>" queryCommandValue("defaultparagraphseparator") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<center><p>foo</center> <p>[bar]</p> <center><p>baz</center>" queryCommandIndeterm("defaultparagraphseparator") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<center><p>foo</center> <p>[bar]</p> <center><p>baz</center>" queryCommandState("defaultparagraphseparator") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<center><p>foo</center> <p>[bar]</p> <center><p>baz</center>" queryCommandValue("defaultparagraphseparator") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<center><p>foo</center> <p>[bar]</p> <center><p>baz</center>" queryCommandIndeterm("justifycenter") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<center><p>foo</center> <p>[bar]</p> <center><p>baz</center>" queryCommandState("justifycenter") before 
-FAIL [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<center><p>foo</center> <p>[bar]</p> <center><p>baz</center>" queryCommandValue("justifycenter") before assert_equals: Wrong result returned expected "left" but got "false"
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<center><p>foo</center> <p>[bar]</p> <center><p>baz</center>" queryCommandIndeterm("justifycenter") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<center><p>foo</center> <p>[bar]</p> <center><p>baz</center>" queryCommandState("justifycenter") after 
-FAIL [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<center><p>foo</center> <p>[bar]</p> <center><p>baz</center>" queryCommandValue("justifycenter") after assert_equals: Wrong result returned expected "center" but got "true"
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<center><p>foo</center> <p>[bar]</p> <center><p>baz</center>": execCommand("stylewithcss", false, "false") return value 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<center><p>foo</center> <p>[bar]</p> <center><p>baz</center>": execCommand("defaultparagraphseparator", false, "div") return value 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<center><p>foo</center> <p>[bar]</p> <center><p>baz</center>": execCommand("justifycenter", false, "") return value 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<center><p>foo</center> <p>[bar]</p> <center><p>baz</center>" checks for modifications to non-editable content 
-FAIL [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<center><p>foo</center> <p>[bar]</p> <center><p>baz</center>" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<center><p>foo</p></center><div style=\"text-align:center\"> <p>bar</p> </div><center><p>baz</p></center>" but got "<center><p>foo</p></center> <p style=\"text-align:center\">bar</p> <center><p>baz</p></center>"
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<center><p>foo</center> <p>[bar]</p> <center><p>baz</center>" queryCommandIndeterm("stylewithcss") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<center><p>foo</center> <p>[bar]</p> <center><p>baz</center>" queryCommandState("stylewithcss") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<center><p>foo</center> <p>[bar]</p> <center><p>baz</center>" queryCommandValue("stylewithcss") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<center><p>foo</center> <p>[bar]</p> <center><p>baz</center>" queryCommandIndeterm("stylewithcss") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<center><p>foo</center> <p>[bar]</p> <center><p>baz</center>" queryCommandState("stylewithcss") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<center><p>foo</center> <p>[bar]</p> <center><p>baz</center>" queryCommandValue("stylewithcss") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<center><p>foo</center> <p>[bar]</p> <center><p>baz</center>" queryCommandIndeterm("defaultparagraphseparator") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<center><p>foo</center> <p>[bar]</p> <center><p>baz</center>" queryCommandState("defaultparagraphseparator") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<center><p>foo</center> <p>[bar]</p> <center><p>baz</center>" queryCommandValue("defaultparagraphseparator") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<center><p>foo</center> <p>[bar]</p> <center><p>baz</center>" queryCommandIndeterm("defaultparagraphseparator") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<center><p>foo</center> <p>[bar]</p> <center><p>baz</center>" queryCommandState("defaultparagraphseparator") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<center><p>foo</center> <p>[bar]</p> <center><p>baz</center>" queryCommandValue("defaultparagraphseparator") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<center><p>foo</center> <p>[bar]</p> <center><p>baz</center>" queryCommandIndeterm("justifycenter") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<center><p>foo</center> <p>[bar]</p> <center><p>baz</center>" queryCommandState("justifycenter") before 
-FAIL [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<center><p>foo</center> <p>[bar]</p> <center><p>baz</center>" queryCommandValue("justifycenter") before assert_equals: Wrong result returned expected "left" but got "false"
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<center><p>foo</center> <p>[bar]</p> <center><p>baz</center>" queryCommandIndeterm("justifycenter") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<center><p>foo</center> <p>[bar]</p> <center><p>baz</center>" queryCommandState("justifycenter") after 
-FAIL [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<center><p>foo</center> <p>[bar]</p> <center><p>baz</center>" queryCommandValue("justifycenter") after assert_equals: Wrong result returned expected "center" but got "true"
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<center><p>foo</center> <p>[bar]</p> <center><p>baz</center>": execCommand("stylewithcss", false, "true") return value 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<center><p>foo</center> <p>[bar]</p> <center><p>baz</center>": execCommand("defaultparagraphseparator", false, "p") return value 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<center><p>foo</center> <p>[bar]</p> <center><p>baz</center>": execCommand("justifycenter", false, "") return value 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<center><p>foo</center> <p>[bar]</p> <center><p>baz</center>" checks for modifications to non-editable content 
-FAIL [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<center><p>foo</center> <p>[bar]</p> <center><p>baz</center>" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<center><p>foo</p></center><div style=\"text-align:center\"> <p>bar</p> </div><center><p>baz</p></center>" but got "<center><p>foo</p></center> <p style=\"text-align:center\">bar</p> <center><p>baz</p></center>"
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<center><p>foo</center> <p>[bar]</p> <center><p>baz</center>" queryCommandIndeterm("stylewithcss") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<center><p>foo</center> <p>[bar]</p> <center><p>baz</center>" queryCommandState("stylewithcss") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<center><p>foo</center> <p>[bar]</p> <center><p>baz</center>" queryCommandValue("stylewithcss") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<center><p>foo</center> <p>[bar]</p> <center><p>baz</center>" queryCommandIndeterm("stylewithcss") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<center><p>foo</center> <p>[bar]</p> <center><p>baz</center>" queryCommandState("stylewithcss") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<center><p>foo</center> <p>[bar]</p> <center><p>baz</center>" queryCommandValue("stylewithcss") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<center><p>foo</center> <p>[bar]</p> <center><p>baz</center>" queryCommandIndeterm("defaultparagraphseparator") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<center><p>foo</center> <p>[bar]</p> <center><p>baz</center>" queryCommandState("defaultparagraphseparator") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<center><p>foo</center> <p>[bar]</p> <center><p>baz</center>" queryCommandValue("defaultparagraphseparator") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<center><p>foo</center> <p>[bar]</p> <center><p>baz</center>" queryCommandIndeterm("defaultparagraphseparator") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<center><p>foo</center> <p>[bar]</p> <center><p>baz</center>" queryCommandState("defaultparagraphseparator") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<center><p>foo</center> <p>[bar]</p> <center><p>baz</center>" queryCommandValue("defaultparagraphseparator") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<center><p>foo</center> <p>[bar]</p> <center><p>baz</center>" queryCommandIndeterm("justifycenter") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<center><p>foo</center> <p>[bar]</p> <center><p>baz</center>" queryCommandState("justifycenter") before 
-FAIL [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<center><p>foo</center> <p>[bar]</p> <center><p>baz</center>" queryCommandValue("justifycenter") before assert_equals: Wrong result returned expected "left" but got "false"
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<center><p>foo</center> <p>[bar]</p> <center><p>baz</center>" queryCommandIndeterm("justifycenter") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<center><p>foo</center> <p>[bar]</p> <center><p>baz</center>" queryCommandState("justifycenter") after 
-FAIL [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<center><p>foo</center> <p>[bar]</p> <center><p>baz</center>" queryCommandValue("justifycenter") after assert_equals: Wrong result returned expected "center" but got "true"
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<center><p>foo</center> <p>[bar]</p> <center><p>baz</center>": execCommand("stylewithcss", false, "false") return value 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<center><p>foo</center> <p>[bar]</p> <center><p>baz</center>": execCommand("defaultparagraphseparator", false, "p") return value 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<center><p>foo</center> <p>[bar]</p> <center><p>baz</center>": execCommand("justifycenter", false, "") return value 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<center><p>foo</center> <p>[bar]</p> <center><p>baz</center>" checks for modifications to non-editable content 
-FAIL [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<center><p>foo</center> <p>[bar]</p> <center><p>baz</center>" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<center><p>foo</p></center><div style=\"text-align:center\"> <p>bar</p> </div><center><p>baz</p></center>" but got "<center><p>foo</p></center> <p style=\"text-align:center\">bar</p> <center><p>baz</p></center>"
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<center><p>foo</center> <p>[bar]</p> <center><p>baz</center>" queryCommandIndeterm("stylewithcss") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<center><p>foo</center> <p>[bar]</p> <center><p>baz</center>" queryCommandState("stylewithcss") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<center><p>foo</center> <p>[bar]</p> <center><p>baz</center>" queryCommandValue("stylewithcss") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<center><p>foo</center> <p>[bar]</p> <center><p>baz</center>" queryCommandIndeterm("stylewithcss") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<center><p>foo</center> <p>[bar]</p> <center><p>baz</center>" queryCommandState("stylewithcss") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<center><p>foo</center> <p>[bar]</p> <center><p>baz</center>" queryCommandValue("stylewithcss") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<center><p>foo</center> <p>[bar]</p> <center><p>baz</center>" queryCommandIndeterm("defaultparagraphseparator") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<center><p>foo</center> <p>[bar]</p> <center><p>baz</center>" queryCommandState("defaultparagraphseparator") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<center><p>foo</center> <p>[bar]</p> <center><p>baz</center>" queryCommandValue("defaultparagraphseparator") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<center><p>foo</center> <p>[bar]</p> <center><p>baz</center>" queryCommandIndeterm("defaultparagraphseparator") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<center><p>foo</center> <p>[bar]</p> <center><p>baz</center>" queryCommandState("defaultparagraphseparator") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<center><p>foo</center> <p>[bar]</p> <center><p>baz</center>" queryCommandValue("defaultparagraphseparator") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<center><p>foo</center> <p>[bar]</p> <center><p>baz</center>" queryCommandIndeterm("justifycenter") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<center><p>foo</center> <p>[bar]</p> <center><p>baz</center>" queryCommandState("justifycenter") before 
-FAIL [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<center><p>foo</center> <p>[bar]</p> <center><p>baz</center>" queryCommandValue("justifycenter") before assert_equals: Wrong result returned expected "left" but got "false"
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<center><p>foo</center> <p>[bar]</p> <center><p>baz</center>" queryCommandIndeterm("justifycenter") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<center><p>foo</center> <p>[bar]</p> <center><p>baz</center>" queryCommandState("justifycenter") after 
-FAIL [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<center><p>foo</center> <p>[bar]</p> <center><p>baz</center>" queryCommandValue("justifycenter") after assert_equals: Wrong result returned expected "center" but got "true"
-Harness: the test ran to completion.
-
diff --git a/third_party/WebKit/LayoutTests/external/wpt/editing/run/justifyfull-expected.txt b/third_party/WebKit/LayoutTests/external/wpt/editing/run/justifyfull-expected.txt
deleted file mode 100644
index 3bd967c..0000000
--- a/third_party/WebKit/LayoutTests/external/wpt/editing/run/justifyfull-expected.txt
+++ /dev/null
@@ -1,4761 +0,0 @@
-This is a testharness.js-based test.
-Found 4757 tests; 4042 PASS, 715 FAIL, 0 TIMEOUT, 0 NOTRUN.
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "foo[]bar<p>extra": execCommand("stylewithcss", false, "true") return value 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "foo[]bar<p>extra": execCommand("defaultparagraphseparator", false, "div") return value 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "foo[]bar<p>extra": execCommand("justifyfull", false, "") return value 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "foo[]bar<p>extra" checks for modifications to non-editable content 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "foo[]bar<p>extra" compare innerHTML 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "foo[]bar<p>extra" queryCommandIndeterm("stylewithcss") before 
-FAIL [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "foo[]bar<p>extra" queryCommandState("stylewithcss") before assert_equals: Wrong result returned expected false but got true
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "foo[]bar<p>extra" queryCommandValue("stylewithcss") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "foo[]bar<p>extra" queryCommandIndeterm("stylewithcss") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "foo[]bar<p>extra" queryCommandState("stylewithcss") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "foo[]bar<p>extra" queryCommandValue("stylewithcss") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "foo[]bar<p>extra" queryCommandIndeterm("defaultparagraphseparator") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "foo[]bar<p>extra" queryCommandState("defaultparagraphseparator") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "foo[]bar<p>extra" queryCommandValue("defaultparagraphseparator") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "foo[]bar<p>extra" queryCommandIndeterm("defaultparagraphseparator") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "foo[]bar<p>extra" queryCommandState("defaultparagraphseparator") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "foo[]bar<p>extra" queryCommandValue("defaultparagraphseparator") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "foo[]bar<p>extra" queryCommandIndeterm("justifyfull") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "foo[]bar<p>extra" queryCommandState("justifyfull") before 
-FAIL [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "foo[]bar<p>extra" queryCommandValue("justifyfull") before assert_equals: Wrong result returned expected "left" but got "false"
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "foo[]bar<p>extra" queryCommandIndeterm("justifyfull") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "foo[]bar<p>extra" queryCommandState("justifyfull") after 
-FAIL [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "foo[]bar<p>extra" queryCommandValue("justifyfull") after assert_equals: Wrong result returned expected "justify" but got "true"
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "foo[]bar<p>extra": execCommand("stylewithcss", false, "false") return value 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "foo[]bar<p>extra": execCommand("defaultparagraphseparator", false, "div") return value 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "foo[]bar<p>extra": execCommand("justifyfull", false, "") return value 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "foo[]bar<p>extra" checks for modifications to non-editable content 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "foo[]bar<p>extra" compare innerHTML 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "foo[]bar<p>extra" queryCommandIndeterm("stylewithcss") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "foo[]bar<p>extra" queryCommandState("stylewithcss") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "foo[]bar<p>extra" queryCommandValue("stylewithcss") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "foo[]bar<p>extra" queryCommandIndeterm("stylewithcss") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "foo[]bar<p>extra" queryCommandState("stylewithcss") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "foo[]bar<p>extra" queryCommandValue("stylewithcss") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "foo[]bar<p>extra" queryCommandIndeterm("defaultparagraphseparator") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "foo[]bar<p>extra" queryCommandState("defaultparagraphseparator") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "foo[]bar<p>extra" queryCommandValue("defaultparagraphseparator") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "foo[]bar<p>extra" queryCommandIndeterm("defaultparagraphseparator") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "foo[]bar<p>extra" queryCommandState("defaultparagraphseparator") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "foo[]bar<p>extra" queryCommandValue("defaultparagraphseparator") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "foo[]bar<p>extra" queryCommandIndeterm("justifyfull") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "foo[]bar<p>extra" queryCommandState("justifyfull") before 
-FAIL [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "foo[]bar<p>extra" queryCommandValue("justifyfull") before assert_equals: Wrong result returned expected "left" but got "false"
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "foo[]bar<p>extra" queryCommandIndeterm("justifyfull") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "foo[]bar<p>extra" queryCommandState("justifyfull") after 
-FAIL [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "foo[]bar<p>extra" queryCommandValue("justifyfull") after assert_equals: Wrong result returned expected "justify" but got "true"
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "foo[]bar<p>extra": execCommand("stylewithcss", false, "true") return value 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "foo[]bar<p>extra": execCommand("defaultparagraphseparator", false, "p") return value 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "foo[]bar<p>extra": execCommand("justifyfull", false, "") return value 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "foo[]bar<p>extra" checks for modifications to non-editable content 
-FAIL [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "foo[]bar<p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<div style=\"text-align:justify\">foobar</div><p>extra</p>" but got "<p style=\"text-align:justify\">foobar</p><p>extra</p>"
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "foo[]bar<p>extra" queryCommandIndeterm("stylewithcss") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "foo[]bar<p>extra" queryCommandState("stylewithcss") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "foo[]bar<p>extra" queryCommandValue("stylewithcss") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "foo[]bar<p>extra" queryCommandIndeterm("stylewithcss") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "foo[]bar<p>extra" queryCommandState("stylewithcss") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "foo[]bar<p>extra" queryCommandValue("stylewithcss") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "foo[]bar<p>extra" queryCommandIndeterm("defaultparagraphseparator") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "foo[]bar<p>extra" queryCommandState("defaultparagraphseparator") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "foo[]bar<p>extra" queryCommandValue("defaultparagraphseparator") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "foo[]bar<p>extra" queryCommandIndeterm("defaultparagraphseparator") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "foo[]bar<p>extra" queryCommandState("defaultparagraphseparator") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "foo[]bar<p>extra" queryCommandValue("defaultparagraphseparator") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "foo[]bar<p>extra" queryCommandIndeterm("justifyfull") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "foo[]bar<p>extra" queryCommandState("justifyfull") before 
-FAIL [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "foo[]bar<p>extra" queryCommandValue("justifyfull") before assert_equals: Wrong result returned expected "left" but got "false"
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "foo[]bar<p>extra" queryCommandIndeterm("justifyfull") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "foo[]bar<p>extra" queryCommandState("justifyfull") after 
-FAIL [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "foo[]bar<p>extra" queryCommandValue("justifyfull") after assert_equals: Wrong result returned expected "justify" but got "true"
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "foo[]bar<p>extra": execCommand("stylewithcss", false, "false") return value 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "foo[]bar<p>extra": execCommand("defaultparagraphseparator", false, "p") return value 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "foo[]bar<p>extra": execCommand("justifyfull", false, "") return value 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "foo[]bar<p>extra" checks for modifications to non-editable content 
-FAIL [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "foo[]bar<p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<div style=\"text-align:justify\">foobar</div><p>extra</p>" but got "<p style=\"text-align:justify\">foobar</p><p>extra</p>"
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "foo[]bar<p>extra" queryCommandIndeterm("stylewithcss") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "foo[]bar<p>extra" queryCommandState("stylewithcss") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "foo[]bar<p>extra" queryCommandValue("stylewithcss") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "foo[]bar<p>extra" queryCommandIndeterm("stylewithcss") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "foo[]bar<p>extra" queryCommandState("stylewithcss") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "foo[]bar<p>extra" queryCommandValue("stylewithcss") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "foo[]bar<p>extra" queryCommandIndeterm("defaultparagraphseparator") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "foo[]bar<p>extra" queryCommandState("defaultparagraphseparator") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "foo[]bar<p>extra" queryCommandValue("defaultparagraphseparator") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "foo[]bar<p>extra" queryCommandIndeterm("defaultparagraphseparator") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "foo[]bar<p>extra" queryCommandState("defaultparagraphseparator") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "foo[]bar<p>extra" queryCommandValue("defaultparagraphseparator") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "foo[]bar<p>extra" queryCommandIndeterm("justifyfull") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "foo[]bar<p>extra" queryCommandState("justifyfull") before 
-FAIL [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "foo[]bar<p>extra" queryCommandValue("justifyfull") before assert_equals: Wrong result returned expected "left" but got "false"
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "foo[]bar<p>extra" queryCommandIndeterm("justifyfull") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "foo[]bar<p>extra" queryCommandState("justifyfull") after 
-FAIL [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "foo[]bar<p>extra" queryCommandValue("justifyfull") after assert_equals: Wrong result returned expected "justify" but got "true"
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<span>foo</span>{}<span>bar</span><p>extra": execCommand("stylewithcss", false, "true") return value 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<span>foo</span>{}<span>bar</span><p>extra": execCommand("defaultparagraphseparator", false, "div") return value 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<span>foo</span>{}<span>bar</span><p>extra": execCommand("justifyfull", false, "") return value 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<span>foo</span>{}<span>bar</span><p>extra" checks for modifications to non-editable content 
-FAIL [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<span>foo</span>{}<span>bar</span><p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<div style=\"text-align:justify\"><span>foo</span><span>bar</span></div><p>extra</p>" but got "<div style=\"text-align:justify\">foobar</div><p>extra</p>"
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<span>foo</span>{}<span>bar</span><p>extra" queryCommandIndeterm("stylewithcss") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<span>foo</span>{}<span>bar</span><p>extra" queryCommandState("stylewithcss") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<span>foo</span>{}<span>bar</span><p>extra" queryCommandValue("stylewithcss") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<span>foo</span>{}<span>bar</span><p>extra" queryCommandIndeterm("stylewithcss") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<span>foo</span>{}<span>bar</span><p>extra" queryCommandState("stylewithcss") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<span>foo</span>{}<span>bar</span><p>extra" queryCommandValue("stylewithcss") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<span>foo</span>{}<span>bar</span><p>extra" queryCommandIndeterm("defaultparagraphseparator") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<span>foo</span>{}<span>bar</span><p>extra" queryCommandState("defaultparagraphseparator") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<span>foo</span>{}<span>bar</span><p>extra" queryCommandValue("defaultparagraphseparator") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<span>foo</span>{}<span>bar</span><p>extra" queryCommandIndeterm("defaultparagraphseparator") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<span>foo</span>{}<span>bar</span><p>extra" queryCommandState("defaultparagraphseparator") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<span>foo</span>{}<span>bar</span><p>extra" queryCommandValue("defaultparagraphseparator") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<span>foo</span>{}<span>bar</span><p>extra" queryCommandIndeterm("justifyfull") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<span>foo</span>{}<span>bar</span><p>extra" queryCommandState("justifyfull") before 
-FAIL [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<span>foo</span>{}<span>bar</span><p>extra" queryCommandValue("justifyfull") before assert_equals: Wrong result returned expected "left" but got "false"
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<span>foo</span>{}<span>bar</span><p>extra" queryCommandIndeterm("justifyfull") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<span>foo</span>{}<span>bar</span><p>extra" queryCommandState("justifyfull") after 
-FAIL [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<span>foo</span>{}<span>bar</span><p>extra" queryCommandValue("justifyfull") after assert_equals: Wrong result returned expected "justify" but got "true"
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<span>foo</span>{}<span>bar</span><p>extra": execCommand("stylewithcss", false, "false") return value 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<span>foo</span>{}<span>bar</span><p>extra": execCommand("defaultparagraphseparator", false, "div") return value 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<span>foo</span>{}<span>bar</span><p>extra": execCommand("justifyfull", false, "") return value 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<span>foo</span>{}<span>bar</span><p>extra" checks for modifications to non-editable content 
-FAIL [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<span>foo</span>{}<span>bar</span><p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<div style=\"text-align:justify\"><span>foo</span><span>bar</span></div><p>extra</p>" but got "<div style=\"text-align:justify\">foobar</div><p>extra</p>"
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<span>foo</span>{}<span>bar</span><p>extra" queryCommandIndeterm("stylewithcss") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<span>foo</span>{}<span>bar</span><p>extra" queryCommandState("stylewithcss") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<span>foo</span>{}<span>bar</span><p>extra" queryCommandValue("stylewithcss") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<span>foo</span>{}<span>bar</span><p>extra" queryCommandIndeterm("stylewithcss") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<span>foo</span>{}<span>bar</span><p>extra" queryCommandState("stylewithcss") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<span>foo</span>{}<span>bar</span><p>extra" queryCommandValue("stylewithcss") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<span>foo</span>{}<span>bar</span><p>extra" queryCommandIndeterm("defaultparagraphseparator") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<span>foo</span>{}<span>bar</span><p>extra" queryCommandState("defaultparagraphseparator") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<span>foo</span>{}<span>bar</span><p>extra" queryCommandValue("defaultparagraphseparator") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<span>foo</span>{}<span>bar</span><p>extra" queryCommandIndeterm("defaultparagraphseparator") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<span>foo</span>{}<span>bar</span><p>extra" queryCommandState("defaultparagraphseparator") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<span>foo</span>{}<span>bar</span><p>extra" queryCommandValue("defaultparagraphseparator") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<span>foo</span>{}<span>bar</span><p>extra" queryCommandIndeterm("justifyfull") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<span>foo</span>{}<span>bar</span><p>extra" queryCommandState("justifyfull") before 
-FAIL [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<span>foo</span>{}<span>bar</span><p>extra" queryCommandValue("justifyfull") before assert_equals: Wrong result returned expected "left" but got "false"
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<span>foo</span>{}<span>bar</span><p>extra" queryCommandIndeterm("justifyfull") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<span>foo</span>{}<span>bar</span><p>extra" queryCommandState("justifyfull") after 
-FAIL [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<span>foo</span>{}<span>bar</span><p>extra" queryCommandValue("justifyfull") after assert_equals: Wrong result returned expected "justify" but got "true"
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<span>foo</span>{}<span>bar</span><p>extra": execCommand("stylewithcss", false, "true") return value 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<span>foo</span>{}<span>bar</span><p>extra": execCommand("defaultparagraphseparator", false, "p") return value 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<span>foo</span>{}<span>bar</span><p>extra": execCommand("justifyfull", false, "") return value 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<span>foo</span>{}<span>bar</span><p>extra" checks for modifications to non-editable content 
-FAIL [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<span>foo</span>{}<span>bar</span><p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<div style=\"text-align:justify\"><span>foo</span><span>bar</span></div><p>extra</p>" but got "<p style=\"text-align:justify\">foobar</p><p>extra</p>"
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<span>foo</span>{}<span>bar</span><p>extra" queryCommandIndeterm("stylewithcss") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<span>foo</span>{}<span>bar</span><p>extra" queryCommandState("stylewithcss") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<span>foo</span>{}<span>bar</span><p>extra" queryCommandValue("stylewithcss") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<span>foo</span>{}<span>bar</span><p>extra" queryCommandIndeterm("stylewithcss") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<span>foo</span>{}<span>bar</span><p>extra" queryCommandState("stylewithcss") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<span>foo</span>{}<span>bar</span><p>extra" queryCommandValue("stylewithcss") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<span>foo</span>{}<span>bar</span><p>extra" queryCommandIndeterm("defaultparagraphseparator") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<span>foo</span>{}<span>bar</span><p>extra" queryCommandState("defaultparagraphseparator") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<span>foo</span>{}<span>bar</span><p>extra" queryCommandValue("defaultparagraphseparator") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<span>foo</span>{}<span>bar</span><p>extra" queryCommandIndeterm("defaultparagraphseparator") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<span>foo</span>{}<span>bar</span><p>extra" queryCommandState("defaultparagraphseparator") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<span>foo</span>{}<span>bar</span><p>extra" queryCommandValue("defaultparagraphseparator") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<span>foo</span>{}<span>bar</span><p>extra" queryCommandIndeterm("justifyfull") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<span>foo</span>{}<span>bar</span><p>extra" queryCommandState("justifyfull") before 
-FAIL [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<span>foo</span>{}<span>bar</span><p>extra" queryCommandValue("justifyfull") before assert_equals: Wrong result returned expected "left" but got "false"
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<span>foo</span>{}<span>bar</span><p>extra" queryCommandIndeterm("justifyfull") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<span>foo</span>{}<span>bar</span><p>extra" queryCommandState("justifyfull") after 
-FAIL [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<span>foo</span>{}<span>bar</span><p>extra" queryCommandValue("justifyfull") after assert_equals: Wrong result returned expected "justify" but got "true"
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<span>foo</span>{}<span>bar</span><p>extra": execCommand("stylewithcss", false, "false") return value 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<span>foo</span>{}<span>bar</span><p>extra": execCommand("defaultparagraphseparator", false, "p") return value 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<span>foo</span>{}<span>bar</span><p>extra": execCommand("justifyfull", false, "") return value 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<span>foo</span>{}<span>bar</span><p>extra" checks for modifications to non-editable content 
-FAIL [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<span>foo</span>{}<span>bar</span><p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<div style=\"text-align:justify\"><span>foo</span><span>bar</span></div><p>extra</p>" but got "<p style=\"text-align:justify\">foobar</p><p>extra</p>"
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<span>foo</span>{}<span>bar</span><p>extra" queryCommandIndeterm("stylewithcss") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<span>foo</span>{}<span>bar</span><p>extra" queryCommandState("stylewithcss") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<span>foo</span>{}<span>bar</span><p>extra" queryCommandValue("stylewithcss") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<span>foo</span>{}<span>bar</span><p>extra" queryCommandIndeterm("stylewithcss") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<span>foo</span>{}<span>bar</span><p>extra" queryCommandState("stylewithcss") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<span>foo</span>{}<span>bar</span><p>extra" queryCommandValue("stylewithcss") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<span>foo</span>{}<span>bar</span><p>extra" queryCommandIndeterm("defaultparagraphseparator") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<span>foo</span>{}<span>bar</span><p>extra" queryCommandState("defaultparagraphseparator") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<span>foo</span>{}<span>bar</span><p>extra" queryCommandValue("defaultparagraphseparator") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<span>foo</span>{}<span>bar</span><p>extra" queryCommandIndeterm("defaultparagraphseparator") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<span>foo</span>{}<span>bar</span><p>extra" queryCommandState("defaultparagraphseparator") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<span>foo</span>{}<span>bar</span><p>extra" queryCommandValue("defaultparagraphseparator") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<span>foo</span>{}<span>bar</span><p>extra" queryCommandIndeterm("justifyfull") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<span>foo</span>{}<span>bar</span><p>extra" queryCommandState("justifyfull") before 
-FAIL [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<span>foo</span>{}<span>bar</span><p>extra" queryCommandValue("justifyfull") before assert_equals: Wrong result returned expected "left" but got "false"
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<span>foo</span>{}<span>bar</span><p>extra" queryCommandIndeterm("justifyfull") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<span>foo</span>{}<span>bar</span><p>extra" queryCommandState("justifyfull") after 
-FAIL [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<span>foo</span>{}<span>bar</span><p>extra" queryCommandValue("justifyfull") after assert_equals: Wrong result returned expected "justify" but got "true"
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<span>foo[</span><span>]bar</span><p>extra": execCommand("stylewithcss", false, "true") return value 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<span>foo[</span><span>]bar</span><p>extra": execCommand("defaultparagraphseparator", false, "div") return value 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<span>foo[</span><span>]bar</span><p>extra": execCommand("justifyfull", false, "") return value 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<span>foo[</span><span>]bar</span><p>extra" checks for modifications to non-editable content 
-FAIL [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<span>foo[</span><span>]bar</span><p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<div style=\"text-align:justify\"><span>foo</span><span>bar</span></div><p>extra</p>" but got "<div style=\"text-align:justify\">foobar</div><p>extra</p>"
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<span>foo[</span><span>]bar</span><p>extra" queryCommandIndeterm("stylewithcss") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<span>foo[</span><span>]bar</span><p>extra" queryCommandState("stylewithcss") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<span>foo[</span><span>]bar</span><p>extra" queryCommandValue("stylewithcss") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<span>foo[</span><span>]bar</span><p>extra" queryCommandIndeterm("stylewithcss") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<span>foo[</span><span>]bar</span><p>extra" queryCommandState("stylewithcss") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<span>foo[</span><span>]bar</span><p>extra" queryCommandValue("stylewithcss") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<span>foo[</span><span>]bar</span><p>extra" queryCommandIndeterm("defaultparagraphseparator") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<span>foo[</span><span>]bar</span><p>extra" queryCommandState("defaultparagraphseparator") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<span>foo[</span><span>]bar</span><p>extra" queryCommandValue("defaultparagraphseparator") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<span>foo[</span><span>]bar</span><p>extra" queryCommandIndeterm("defaultparagraphseparator") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<span>foo[</span><span>]bar</span><p>extra" queryCommandState("defaultparagraphseparator") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<span>foo[</span><span>]bar</span><p>extra" queryCommandValue("defaultparagraphseparator") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<span>foo[</span><span>]bar</span><p>extra" queryCommandIndeterm("justifyfull") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<span>foo[</span><span>]bar</span><p>extra" queryCommandState("justifyfull") before 
-FAIL [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<span>foo[</span><span>]bar</span><p>extra" queryCommandValue("justifyfull") before assert_equals: Wrong result returned expected "left" but got "false"
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<span>foo[</span><span>]bar</span><p>extra" queryCommandIndeterm("justifyfull") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<span>foo[</span><span>]bar</span><p>extra" queryCommandState("justifyfull") after 
-FAIL [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<span>foo[</span><span>]bar</span><p>extra" queryCommandValue("justifyfull") after assert_equals: Wrong result returned expected "justify" but got "true"
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<span>foo[</span><span>]bar</span><p>extra": execCommand("stylewithcss", false, "false") return value 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<span>foo[</span><span>]bar</span><p>extra": execCommand("defaultparagraphseparator", false, "div") return value 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<span>foo[</span><span>]bar</span><p>extra": execCommand("justifyfull", false, "") return value 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<span>foo[</span><span>]bar</span><p>extra" checks for modifications to non-editable content 
-FAIL [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<span>foo[</span><span>]bar</span><p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<div style=\"text-align:justify\"><span>foo</span><span>bar</span></div><p>extra</p>" but got "<div style=\"text-align:justify\">foobar</div><p>extra</p>"
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<span>foo[</span><span>]bar</span><p>extra" queryCommandIndeterm("stylewithcss") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<span>foo[</span><span>]bar</span><p>extra" queryCommandState("stylewithcss") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<span>foo[</span><span>]bar</span><p>extra" queryCommandValue("stylewithcss") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<span>foo[</span><span>]bar</span><p>extra" queryCommandIndeterm("stylewithcss") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<span>foo[</span><span>]bar</span><p>extra" queryCommandState("stylewithcss") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<span>foo[</span><span>]bar</span><p>extra" queryCommandValue("stylewithcss") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<span>foo[</span><span>]bar</span><p>extra" queryCommandIndeterm("defaultparagraphseparator") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<span>foo[</span><span>]bar</span><p>extra" queryCommandState("defaultparagraphseparator") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<span>foo[</span><span>]bar</span><p>extra" queryCommandValue("defaultparagraphseparator") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<span>foo[</span><span>]bar</span><p>extra" queryCommandIndeterm("defaultparagraphseparator") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<span>foo[</span><span>]bar</span><p>extra" queryCommandState("defaultparagraphseparator") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<span>foo[</span><span>]bar</span><p>extra" queryCommandValue("defaultparagraphseparator") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<span>foo[</span><span>]bar</span><p>extra" queryCommandIndeterm("justifyfull") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<span>foo[</span><span>]bar</span><p>extra" queryCommandState("justifyfull") before 
-FAIL [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<span>foo[</span><span>]bar</span><p>extra" queryCommandValue("justifyfull") before assert_equals: Wrong result returned expected "left" but got "false"
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<span>foo[</span><span>]bar</span><p>extra" queryCommandIndeterm("justifyfull") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<span>foo[</span><span>]bar</span><p>extra" queryCommandState("justifyfull") after 
-FAIL [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<span>foo[</span><span>]bar</span><p>extra" queryCommandValue("justifyfull") after assert_equals: Wrong result returned expected "justify" but got "true"
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<span>foo[</span><span>]bar</span><p>extra": execCommand("stylewithcss", false, "true") return value 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<span>foo[</span><span>]bar</span><p>extra": execCommand("defaultparagraphseparator", false, "p") return value 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<span>foo[</span><span>]bar</span><p>extra": execCommand("justifyfull", false, "") return value 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<span>foo[</span><span>]bar</span><p>extra" checks for modifications to non-editable content 
-FAIL [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<span>foo[</span><span>]bar</span><p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<div style=\"text-align:justify\"><span>foo</span><span>bar</span></div><p>extra</p>" but got "<p style=\"text-align:justify\">foobar</p><p>extra</p>"
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<span>foo[</span><span>]bar</span><p>extra" queryCommandIndeterm("stylewithcss") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<span>foo[</span><span>]bar</span><p>extra" queryCommandState("stylewithcss") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<span>foo[</span><span>]bar</span><p>extra" queryCommandValue("stylewithcss") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<span>foo[</span><span>]bar</span><p>extra" queryCommandIndeterm("stylewithcss") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<span>foo[</span><span>]bar</span><p>extra" queryCommandState("stylewithcss") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<span>foo[</span><span>]bar</span><p>extra" queryCommandValue("stylewithcss") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<span>foo[</span><span>]bar</span><p>extra" queryCommandIndeterm("defaultparagraphseparator") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<span>foo[</span><span>]bar</span><p>extra" queryCommandState("defaultparagraphseparator") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<span>foo[</span><span>]bar</span><p>extra" queryCommandValue("defaultparagraphseparator") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<span>foo[</span><span>]bar</span><p>extra" queryCommandIndeterm("defaultparagraphseparator") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<span>foo[</span><span>]bar</span><p>extra" queryCommandState("defaultparagraphseparator") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<span>foo[</span><span>]bar</span><p>extra" queryCommandValue("defaultparagraphseparator") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<span>foo[</span><span>]bar</span><p>extra" queryCommandIndeterm("justifyfull") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<span>foo[</span><span>]bar</span><p>extra" queryCommandState("justifyfull") before 
-FAIL [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<span>foo[</span><span>]bar</span><p>extra" queryCommandValue("justifyfull") before assert_equals: Wrong result returned expected "left" but got "false"
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<span>foo[</span><span>]bar</span><p>extra" queryCommandIndeterm("justifyfull") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<span>foo[</span><span>]bar</span><p>extra" queryCommandState("justifyfull") after 
-FAIL [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<span>foo[</span><span>]bar</span><p>extra" queryCommandValue("justifyfull") after assert_equals: Wrong result returned expected "justify" but got "true"
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<span>foo[</span><span>]bar</span><p>extra": execCommand("stylewithcss", false, "false") return value 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<span>foo[</span><span>]bar</span><p>extra": execCommand("defaultparagraphseparator", false, "p") return value 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<span>foo[</span><span>]bar</span><p>extra": execCommand("justifyfull", false, "") return value 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<span>foo[</span><span>]bar</span><p>extra" checks for modifications to non-editable content 
-FAIL [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<span>foo[</span><span>]bar</span><p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<div style=\"text-align:justify\"><span>foo</span><span>bar</span></div><p>extra</p>" but got "<p style=\"text-align:justify\">foobar</p><p>extra</p>"
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<span>foo[</span><span>]bar</span><p>extra" queryCommandIndeterm("stylewithcss") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<span>foo[</span><span>]bar</span><p>extra" queryCommandState("stylewithcss") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<span>foo[</span><span>]bar</span><p>extra" queryCommandValue("stylewithcss") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<span>foo[</span><span>]bar</span><p>extra" queryCommandIndeterm("stylewithcss") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<span>foo[</span><span>]bar</span><p>extra" queryCommandState("stylewithcss") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<span>foo[</span><span>]bar</span><p>extra" queryCommandValue("stylewithcss") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<span>foo[</span><span>]bar</span><p>extra" queryCommandIndeterm("defaultparagraphseparator") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<span>foo[</span><span>]bar</span><p>extra" queryCommandState("defaultparagraphseparator") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<span>foo[</span><span>]bar</span><p>extra" queryCommandValue("defaultparagraphseparator") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<span>foo[</span><span>]bar</span><p>extra" queryCommandIndeterm("defaultparagraphseparator") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<span>foo[</span><span>]bar</span><p>extra" queryCommandState("defaultparagraphseparator") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<span>foo[</span><span>]bar</span><p>extra" queryCommandValue("defaultparagraphseparator") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<span>foo[</span><span>]bar</span><p>extra" queryCommandIndeterm("justifyfull") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<span>foo[</span><span>]bar</span><p>extra" queryCommandState("justifyfull") before 
-FAIL [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<span>foo[</span><span>]bar</span><p>extra" queryCommandValue("justifyfull") before assert_equals: Wrong result returned expected "left" but got "false"
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<span>foo[</span><span>]bar</span><p>extra" queryCommandIndeterm("justifyfull") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<span>foo[</span><span>]bar</span><p>extra" queryCommandState("justifyfull") after 
-FAIL [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<span>foo[</span><span>]bar</span><p>extra" queryCommandValue("justifyfull") after assert_equals: Wrong result returned expected "justify" but got "true"
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "foo[bar]baz<p>extra": execCommand("stylewithcss", false, "true") return value 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "foo[bar]baz<p>extra": execCommand("defaultparagraphseparator", false, "div") return value 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "foo[bar]baz<p>extra": execCommand("justifyfull", false, "") return value 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "foo[bar]baz<p>extra" checks for modifications to non-editable content 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "foo[bar]baz<p>extra" compare innerHTML 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "foo[bar]baz<p>extra" queryCommandIndeterm("stylewithcss") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "foo[bar]baz<p>extra" queryCommandState("stylewithcss") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "foo[bar]baz<p>extra" queryCommandValue("stylewithcss") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "foo[bar]baz<p>extra" queryCommandIndeterm("stylewithcss") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "foo[bar]baz<p>extra" queryCommandState("stylewithcss") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "foo[bar]baz<p>extra" queryCommandValue("stylewithcss") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "foo[bar]baz<p>extra" queryCommandIndeterm("defaultparagraphseparator") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "foo[bar]baz<p>extra" queryCommandState("defaultparagraphseparator") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "foo[bar]baz<p>extra" queryCommandValue("defaultparagraphseparator") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "foo[bar]baz<p>extra" queryCommandIndeterm("defaultparagraphseparator") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "foo[bar]baz<p>extra" queryCommandState("defaultparagraphseparator") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "foo[bar]baz<p>extra" queryCommandValue("defaultparagraphseparator") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "foo[bar]baz<p>extra" queryCommandIndeterm("justifyfull") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "foo[bar]baz<p>extra" queryCommandState("justifyfull") before 
-FAIL [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "foo[bar]baz<p>extra" queryCommandValue("justifyfull") before assert_equals: Wrong result returned expected "left" but got "false"
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "foo[bar]baz<p>extra" queryCommandIndeterm("justifyfull") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "foo[bar]baz<p>extra" queryCommandState("justifyfull") after 
-FAIL [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "foo[bar]baz<p>extra" queryCommandValue("justifyfull") after assert_equals: Wrong result returned expected "justify" but got "true"
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "foo[bar]baz<p>extra": execCommand("stylewithcss", false, "false") return value 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "foo[bar]baz<p>extra": execCommand("defaultparagraphseparator", false, "div") return value 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "foo[bar]baz<p>extra": execCommand("justifyfull", false, "") return value 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "foo[bar]baz<p>extra" checks for modifications to non-editable content 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "foo[bar]baz<p>extra" compare innerHTML 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "foo[bar]baz<p>extra" queryCommandIndeterm("stylewithcss") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "foo[bar]baz<p>extra" queryCommandState("stylewithcss") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "foo[bar]baz<p>extra" queryCommandValue("stylewithcss") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "foo[bar]baz<p>extra" queryCommandIndeterm("stylewithcss") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "foo[bar]baz<p>extra" queryCommandState("stylewithcss") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "foo[bar]baz<p>extra" queryCommandValue("stylewithcss") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "foo[bar]baz<p>extra" queryCommandIndeterm("defaultparagraphseparator") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "foo[bar]baz<p>extra" queryCommandState("defaultparagraphseparator") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "foo[bar]baz<p>extra" queryCommandValue("defaultparagraphseparator") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "foo[bar]baz<p>extra" queryCommandIndeterm("defaultparagraphseparator") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "foo[bar]baz<p>extra" queryCommandState("defaultparagraphseparator") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "foo[bar]baz<p>extra" queryCommandValue("defaultparagraphseparator") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "foo[bar]baz<p>extra" queryCommandIndeterm("justifyfull") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "foo[bar]baz<p>extra" queryCommandState("justifyfull") before 
-FAIL [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "foo[bar]baz<p>extra" queryCommandValue("justifyfull") before assert_equals: Wrong result returned expected "left" but got "false"
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "foo[bar]baz<p>extra" queryCommandIndeterm("justifyfull") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "foo[bar]baz<p>extra" queryCommandState("justifyfull") after 
-FAIL [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "foo[bar]baz<p>extra" queryCommandValue("justifyfull") after assert_equals: Wrong result returned expected "justify" but got "true"
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "foo[bar]baz<p>extra": execCommand("stylewithcss", false, "true") return value 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "foo[bar]baz<p>extra": execCommand("defaultparagraphseparator", false, "p") return value 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "foo[bar]baz<p>extra": execCommand("justifyfull", false, "") return value 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "foo[bar]baz<p>extra" checks for modifications to non-editable content 
-FAIL [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "foo[bar]baz<p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<div style=\"text-align:justify\">foobarbaz</div><p>extra</p>" but got "<p style=\"text-align:justify\">foobarbaz</p><p>extra</p>"
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "foo[bar]baz<p>extra" queryCommandIndeterm("stylewithcss") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "foo[bar]baz<p>extra" queryCommandState("stylewithcss") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "foo[bar]baz<p>extra" queryCommandValue("stylewithcss") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "foo[bar]baz<p>extra" queryCommandIndeterm("stylewithcss") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "foo[bar]baz<p>extra" queryCommandState("stylewithcss") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "foo[bar]baz<p>extra" queryCommandValue("stylewithcss") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "foo[bar]baz<p>extra" queryCommandIndeterm("defaultparagraphseparator") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "foo[bar]baz<p>extra" queryCommandState("defaultparagraphseparator") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "foo[bar]baz<p>extra" queryCommandValue("defaultparagraphseparator") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "foo[bar]baz<p>extra" queryCommandIndeterm("defaultparagraphseparator") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "foo[bar]baz<p>extra" queryCommandState("defaultparagraphseparator") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "foo[bar]baz<p>extra" queryCommandValue("defaultparagraphseparator") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "foo[bar]baz<p>extra" queryCommandIndeterm("justifyfull") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "foo[bar]baz<p>extra" queryCommandState("justifyfull") before 
-FAIL [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "foo[bar]baz<p>extra" queryCommandValue("justifyfull") before assert_equals: Wrong result returned expected "left" but got "false"
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "foo[bar]baz<p>extra" queryCommandIndeterm("justifyfull") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "foo[bar]baz<p>extra" queryCommandState("justifyfull") after 
-FAIL [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "foo[bar]baz<p>extra" queryCommandValue("justifyfull") after assert_equals: Wrong result returned expected "justify" but got "true"
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "foo[bar]baz<p>extra": execCommand("stylewithcss", false, "false") return value 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "foo[bar]baz<p>extra": execCommand("defaultparagraphseparator", false, "p") return value 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "foo[bar]baz<p>extra": execCommand("justifyfull", false, "") return value 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "foo[bar]baz<p>extra" checks for modifications to non-editable content 
-FAIL [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "foo[bar]baz<p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<div style=\"text-align:justify\">foobarbaz</div><p>extra</p>" but got "<p style=\"text-align:justify\">foobarbaz</p><p>extra</p>"
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "foo[bar]baz<p>extra" queryCommandIndeterm("stylewithcss") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "foo[bar]baz<p>extra" queryCommandState("stylewithcss") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "foo[bar]baz<p>extra" queryCommandValue("stylewithcss") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "foo[bar]baz<p>extra" queryCommandIndeterm("stylewithcss") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "foo[bar]baz<p>extra" queryCommandState("stylewithcss") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "foo[bar]baz<p>extra" queryCommandValue("stylewithcss") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "foo[bar]baz<p>extra" queryCommandIndeterm("defaultparagraphseparator") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "foo[bar]baz<p>extra" queryCommandState("defaultparagraphseparator") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "foo[bar]baz<p>extra" queryCommandValue("defaultparagraphseparator") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "foo[bar]baz<p>extra" queryCommandIndeterm("defaultparagraphseparator") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "foo[bar]baz<p>extra" queryCommandState("defaultparagraphseparator") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "foo[bar]baz<p>extra" queryCommandValue("defaultparagraphseparator") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "foo[bar]baz<p>extra" queryCommandIndeterm("justifyfull") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "foo[bar]baz<p>extra" queryCommandState("justifyfull") before 
-FAIL [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "foo[bar]baz<p>extra" queryCommandValue("justifyfull") before assert_equals: Wrong result returned expected "left" but got "false"
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "foo[bar]baz<p>extra" queryCommandIndeterm("justifyfull") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "foo[bar]baz<p>extra" queryCommandState("justifyfull") after 
-FAIL [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "foo[bar]baz<p>extra" queryCommandValue("justifyfull") after assert_equals: Wrong result returned expected "justify" but got "true"
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "foo[bar<b>baz]qoz</b>quz<p>extra": execCommand("stylewithcss", false, "true") return value 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "foo[bar<b>baz]qoz</b>quz<p>extra": execCommand("defaultparagraphseparator", false, "div") return value 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "foo[bar<b>baz]qoz</b>quz<p>extra": execCommand("justifyfull", false, "") return value 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "foo[bar<b>baz]qoz</b>quz<p>extra" checks for modifications to non-editable content 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "foo[bar<b>baz]qoz</b>quz<p>extra" compare innerHTML 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "foo[bar<b>baz]qoz</b>quz<p>extra" queryCommandIndeterm("stylewithcss") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "foo[bar<b>baz]qoz</b>quz<p>extra" queryCommandState("stylewithcss") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "foo[bar<b>baz]qoz</b>quz<p>extra" queryCommandValue("stylewithcss") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "foo[bar<b>baz]qoz</b>quz<p>extra" queryCommandIndeterm("stylewithcss") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "foo[bar<b>baz]qoz</b>quz<p>extra" queryCommandState("stylewithcss") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "foo[bar<b>baz]qoz</b>quz<p>extra" queryCommandValue("stylewithcss") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "foo[bar<b>baz]qoz</b>quz<p>extra" queryCommandIndeterm("defaultparagraphseparator") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "foo[bar<b>baz]qoz</b>quz<p>extra" queryCommandState("defaultparagraphseparator") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "foo[bar<b>baz]qoz</b>quz<p>extra" queryCommandValue("defaultparagraphseparator") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "foo[bar<b>baz]qoz</b>quz<p>extra" queryCommandIndeterm("defaultparagraphseparator") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "foo[bar<b>baz]qoz</b>quz<p>extra" queryCommandState("defaultparagraphseparator") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "foo[bar<b>baz]qoz</b>quz<p>extra" queryCommandValue("defaultparagraphseparator") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "foo[bar<b>baz]qoz</b>quz<p>extra" queryCommandIndeterm("justifyfull") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "foo[bar<b>baz]qoz</b>quz<p>extra" queryCommandState("justifyfull") before 
-FAIL [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "foo[bar<b>baz]qoz</b>quz<p>extra" queryCommandValue("justifyfull") before assert_equals: Wrong result returned expected "left" but got "false"
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "foo[bar<b>baz]qoz</b>quz<p>extra" queryCommandIndeterm("justifyfull") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "foo[bar<b>baz]qoz</b>quz<p>extra" queryCommandState("justifyfull") after 
-FAIL [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "foo[bar<b>baz]qoz</b>quz<p>extra" queryCommandValue("justifyfull") after assert_equals: Wrong result returned expected "justify" but got "true"
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "foo[bar<b>baz]qoz</b>quz<p>extra": execCommand("stylewithcss", false, "false") return value 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "foo[bar<b>baz]qoz</b>quz<p>extra": execCommand("defaultparagraphseparator", false, "div") return value 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "foo[bar<b>baz]qoz</b>quz<p>extra": execCommand("justifyfull", false, "") return value 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "foo[bar<b>baz]qoz</b>quz<p>extra" checks for modifications to non-editable content 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "foo[bar<b>baz]qoz</b>quz<p>extra" compare innerHTML 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "foo[bar<b>baz]qoz</b>quz<p>extra" queryCommandIndeterm("stylewithcss") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "foo[bar<b>baz]qoz</b>quz<p>extra" queryCommandState("stylewithcss") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "foo[bar<b>baz]qoz</b>quz<p>extra" queryCommandValue("stylewithcss") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "foo[bar<b>baz]qoz</b>quz<p>extra" queryCommandIndeterm("stylewithcss") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "foo[bar<b>baz]qoz</b>quz<p>extra" queryCommandState("stylewithcss") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "foo[bar<b>baz]qoz</b>quz<p>extra" queryCommandValue("stylewithcss") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "foo[bar<b>baz]qoz</b>quz<p>extra" queryCommandIndeterm("defaultparagraphseparator") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "foo[bar<b>baz]qoz</b>quz<p>extra" queryCommandState("defaultparagraphseparator") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "foo[bar<b>baz]qoz</b>quz<p>extra" queryCommandValue("defaultparagraphseparator") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "foo[bar<b>baz]qoz</b>quz<p>extra" queryCommandIndeterm("defaultparagraphseparator") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "foo[bar<b>baz]qoz</b>quz<p>extra" queryCommandState("defaultparagraphseparator") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "foo[bar<b>baz]qoz</b>quz<p>extra" queryCommandValue("defaultparagraphseparator") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "foo[bar<b>baz]qoz</b>quz<p>extra" queryCommandIndeterm("justifyfull") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "foo[bar<b>baz]qoz</b>quz<p>extra" queryCommandState("justifyfull") before 
-FAIL [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "foo[bar<b>baz]qoz</b>quz<p>extra" queryCommandValue("justifyfull") before assert_equals: Wrong result returned expected "left" but got "false"
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "foo[bar<b>baz]qoz</b>quz<p>extra" queryCommandIndeterm("justifyfull") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "foo[bar<b>baz]qoz</b>quz<p>extra" queryCommandState("justifyfull") after 
-FAIL [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "foo[bar<b>baz]qoz</b>quz<p>extra" queryCommandValue("justifyfull") after assert_equals: Wrong result returned expected "justify" but got "true"
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "foo[bar<b>baz]qoz</b>quz<p>extra": execCommand("stylewithcss", false, "true") return value 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "foo[bar<b>baz]qoz</b>quz<p>extra": execCommand("defaultparagraphseparator", false, "p") return value 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "foo[bar<b>baz]qoz</b>quz<p>extra": execCommand("justifyfull", false, "") return value 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "foo[bar<b>baz]qoz</b>quz<p>extra" checks for modifications to non-editable content 
-FAIL [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "foo[bar<b>baz]qoz</b>quz<p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<div style=\"text-align:justify\">foobar<b>bazqoz</b>quz</div><p>extra</p>" but got "<p style=\"text-align:justify\">foobar<b>bazqoz</b>quz</p><p>extra</p>"
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "foo[bar<b>baz]qoz</b>quz<p>extra" queryCommandIndeterm("stylewithcss") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "foo[bar<b>baz]qoz</b>quz<p>extra" queryCommandState("stylewithcss") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "foo[bar<b>baz]qoz</b>quz<p>extra" queryCommandValue("stylewithcss") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "foo[bar<b>baz]qoz</b>quz<p>extra" queryCommandIndeterm("stylewithcss") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "foo[bar<b>baz]qoz</b>quz<p>extra" queryCommandState("stylewithcss") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "foo[bar<b>baz]qoz</b>quz<p>extra" queryCommandValue("stylewithcss") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "foo[bar<b>baz]qoz</b>quz<p>extra" queryCommandIndeterm("defaultparagraphseparator") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "foo[bar<b>baz]qoz</b>quz<p>extra" queryCommandState("defaultparagraphseparator") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "foo[bar<b>baz]qoz</b>quz<p>extra" queryCommandValue("defaultparagraphseparator") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "foo[bar<b>baz]qoz</b>quz<p>extra" queryCommandIndeterm("defaultparagraphseparator") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "foo[bar<b>baz]qoz</b>quz<p>extra" queryCommandState("defaultparagraphseparator") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "foo[bar<b>baz]qoz</b>quz<p>extra" queryCommandValue("defaultparagraphseparator") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "foo[bar<b>baz]qoz</b>quz<p>extra" queryCommandIndeterm("justifyfull") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "foo[bar<b>baz]qoz</b>quz<p>extra" queryCommandState("justifyfull") before 
-FAIL [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "foo[bar<b>baz]qoz</b>quz<p>extra" queryCommandValue("justifyfull") before assert_equals: Wrong result returned expected "left" but got "false"
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "foo[bar<b>baz]qoz</b>quz<p>extra" queryCommandIndeterm("justifyfull") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "foo[bar<b>baz]qoz</b>quz<p>extra" queryCommandState("justifyfull") after 
-FAIL [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "foo[bar<b>baz]qoz</b>quz<p>extra" queryCommandValue("justifyfull") after assert_equals: Wrong result returned expected "justify" but got "true"
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "foo[bar<b>baz]qoz</b>quz<p>extra": execCommand("stylewithcss", false, "false") return value 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "foo[bar<b>baz]qoz</b>quz<p>extra": execCommand("defaultparagraphseparator", false, "p") return value 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "foo[bar<b>baz]qoz</b>quz<p>extra": execCommand("justifyfull", false, "") return value 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "foo[bar<b>baz]qoz</b>quz<p>extra" checks for modifications to non-editable content 
-FAIL [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "foo[bar<b>baz]qoz</b>quz<p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<div style=\"text-align:justify\">foobar<b>bazqoz</b>quz</div><p>extra</p>" but got "<p style=\"text-align:justify\">foobar<b>bazqoz</b>quz</p><p>extra</p>"
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "foo[bar<b>baz]qoz</b>quz<p>extra" queryCommandIndeterm("stylewithcss") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "foo[bar<b>baz]qoz</b>quz<p>extra" queryCommandState("stylewithcss") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "foo[bar<b>baz]qoz</b>quz<p>extra" queryCommandValue("stylewithcss") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "foo[bar<b>baz]qoz</b>quz<p>extra" queryCommandIndeterm("stylewithcss") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "foo[bar<b>baz]qoz</b>quz<p>extra" queryCommandState("stylewithcss") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "foo[bar<b>baz]qoz</b>quz<p>extra" queryCommandValue("stylewithcss") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "foo[bar<b>baz]qoz</b>quz<p>extra" queryCommandIndeterm("defaultparagraphseparator") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "foo[bar<b>baz]qoz</b>quz<p>extra" queryCommandState("defaultparagraphseparator") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "foo[bar<b>baz]qoz</b>quz<p>extra" queryCommandValue("defaultparagraphseparator") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "foo[bar<b>baz]qoz</b>quz<p>extra" queryCommandIndeterm("defaultparagraphseparator") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "foo[bar<b>baz]qoz</b>quz<p>extra" queryCommandState("defaultparagraphseparator") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "foo[bar<b>baz]qoz</b>quz<p>extra" queryCommandValue("defaultparagraphseparator") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "foo[bar<b>baz]qoz</b>quz<p>extra" queryCommandIndeterm("justifyfull") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "foo[bar<b>baz]qoz</b>quz<p>extra" queryCommandState("justifyfull") before 
-FAIL [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "foo[bar<b>baz]qoz</b>quz<p>extra" queryCommandValue("justifyfull") before assert_equals: Wrong result returned expected "left" but got "false"
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "foo[bar<b>baz]qoz</b>quz<p>extra" queryCommandIndeterm("justifyfull") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "foo[bar<b>baz]qoz</b>quz<p>extra" queryCommandState("justifyfull") after 
-FAIL [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "foo[bar<b>baz]qoz</b>quz<p>extra" queryCommandValue("justifyfull") after assert_equals: Wrong result returned expected "justify" but got "true"
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<p>foo[]bar<p>extra": execCommand("stylewithcss", false, "true") return value 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<p>foo[]bar<p>extra": execCommand("defaultparagraphseparator", false, "div") return value 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<p>foo[]bar<p>extra": execCommand("justifyfull", false, "") return value 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<p>foo[]bar<p>extra" checks for modifications to non-editable content 
-FAIL [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<p>foo[]bar<p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<div style=\"text-align:justify\"><p>foobar</p></div><p>extra</p>" but got "<p style=\"text-align:justify\">foobar</p><p>extra</p>"
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<p>foo[]bar<p>extra" queryCommandIndeterm("stylewithcss") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<p>foo[]bar<p>extra" queryCommandState("stylewithcss") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<p>foo[]bar<p>extra" queryCommandValue("stylewithcss") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<p>foo[]bar<p>extra" queryCommandIndeterm("stylewithcss") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<p>foo[]bar<p>extra" queryCommandState("stylewithcss") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<p>foo[]bar<p>extra" queryCommandValue("stylewithcss") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<p>foo[]bar<p>extra" queryCommandIndeterm("defaultparagraphseparator") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<p>foo[]bar<p>extra" queryCommandState("defaultparagraphseparator") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<p>foo[]bar<p>extra" queryCommandValue("defaultparagraphseparator") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<p>foo[]bar<p>extra" queryCommandIndeterm("defaultparagraphseparator") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<p>foo[]bar<p>extra" queryCommandState("defaultparagraphseparator") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<p>foo[]bar<p>extra" queryCommandValue("defaultparagraphseparator") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<p>foo[]bar<p>extra" queryCommandIndeterm("justifyfull") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<p>foo[]bar<p>extra" queryCommandState("justifyfull") before 
-FAIL [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<p>foo[]bar<p>extra" queryCommandValue("justifyfull") before assert_equals: Wrong result returned expected "left" but got "false"
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<p>foo[]bar<p>extra" queryCommandIndeterm("justifyfull") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<p>foo[]bar<p>extra" queryCommandState("justifyfull") after 
-FAIL [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<p>foo[]bar<p>extra" queryCommandValue("justifyfull") after assert_equals: Wrong result returned expected "justify" but got "true"
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<p>foo[]bar<p>extra": execCommand("stylewithcss", false, "false") return value 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<p>foo[]bar<p>extra": execCommand("defaultparagraphseparator", false, "div") return value 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<p>foo[]bar<p>extra": execCommand("justifyfull", false, "") return value 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<p>foo[]bar<p>extra" checks for modifications to non-editable content 
-FAIL [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<p>foo[]bar<p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<div style=\"text-align:justify\"><p>foobar</p></div><p>extra</p>" but got "<p style=\"text-align:justify\">foobar</p><p>extra</p>"
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<p>foo[]bar<p>extra" queryCommandIndeterm("stylewithcss") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<p>foo[]bar<p>extra" queryCommandState("stylewithcss") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<p>foo[]bar<p>extra" queryCommandValue("stylewithcss") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<p>foo[]bar<p>extra" queryCommandIndeterm("stylewithcss") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<p>foo[]bar<p>extra" queryCommandState("stylewithcss") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<p>foo[]bar<p>extra" queryCommandValue("stylewithcss") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<p>foo[]bar<p>extra" queryCommandIndeterm("defaultparagraphseparator") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<p>foo[]bar<p>extra" queryCommandState("defaultparagraphseparator") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<p>foo[]bar<p>extra" queryCommandValue("defaultparagraphseparator") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<p>foo[]bar<p>extra" queryCommandIndeterm("defaultparagraphseparator") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<p>foo[]bar<p>extra" queryCommandState("defaultparagraphseparator") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<p>foo[]bar<p>extra" queryCommandValue("defaultparagraphseparator") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<p>foo[]bar<p>extra" queryCommandIndeterm("justifyfull") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<p>foo[]bar<p>extra" queryCommandState("justifyfull") before 
-FAIL [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<p>foo[]bar<p>extra" queryCommandValue("justifyfull") before assert_equals: Wrong result returned expected "left" but got "false"
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<p>foo[]bar<p>extra" queryCommandIndeterm("justifyfull") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<p>foo[]bar<p>extra" queryCommandState("justifyfull") after 
-FAIL [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<p>foo[]bar<p>extra" queryCommandValue("justifyfull") after assert_equals: Wrong result returned expected "justify" but got "true"
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<p>foo[]bar<p>extra": execCommand("stylewithcss", false, "true") return value 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<p>foo[]bar<p>extra": execCommand("defaultparagraphseparator", false, "p") return value 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<p>foo[]bar<p>extra": execCommand("justifyfull", false, "") return value 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<p>foo[]bar<p>extra" checks for modifications to non-editable content 
-FAIL [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<p>foo[]bar<p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<div style=\"text-align:justify\"><p>foobar</p></div><p>extra</p>" but got "<p style=\"text-align:justify\">foobar</p><p>extra</p>"
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<p>foo[]bar<p>extra" queryCommandIndeterm("stylewithcss") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<p>foo[]bar<p>extra" queryCommandState("stylewithcss") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<p>foo[]bar<p>extra" queryCommandValue("stylewithcss") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<p>foo[]bar<p>extra" queryCommandIndeterm("stylewithcss") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<p>foo[]bar<p>extra" queryCommandState("stylewithcss") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<p>foo[]bar<p>extra" queryCommandValue("stylewithcss") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<p>foo[]bar<p>extra" queryCommandIndeterm("defaultparagraphseparator") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<p>foo[]bar<p>extra" queryCommandState("defaultparagraphseparator") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<p>foo[]bar<p>extra" queryCommandValue("defaultparagraphseparator") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<p>foo[]bar<p>extra" queryCommandIndeterm("defaultparagraphseparator") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<p>foo[]bar<p>extra" queryCommandState("defaultparagraphseparator") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<p>foo[]bar<p>extra" queryCommandValue("defaultparagraphseparator") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<p>foo[]bar<p>extra" queryCommandIndeterm("justifyfull") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<p>foo[]bar<p>extra" queryCommandState("justifyfull") before 
-FAIL [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<p>foo[]bar<p>extra" queryCommandValue("justifyfull") before assert_equals: Wrong result returned expected "left" but got "false"
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<p>foo[]bar<p>extra" queryCommandIndeterm("justifyfull") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<p>foo[]bar<p>extra" queryCommandState("justifyfull") after 
-FAIL [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<p>foo[]bar<p>extra" queryCommandValue("justifyfull") after assert_equals: Wrong result returned expected "justify" but got "true"
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<p>foo[]bar<p>extra": execCommand("stylewithcss", false, "false") return value 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<p>foo[]bar<p>extra": execCommand("defaultparagraphseparator", false, "p") return value 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<p>foo[]bar<p>extra": execCommand("justifyfull", false, "") return value 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<p>foo[]bar<p>extra" checks for modifications to non-editable content 
-FAIL [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<p>foo[]bar<p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<div style=\"text-align:justify\"><p>foobar</p></div><p>extra</p>" but got "<p style=\"text-align:justify\">foobar</p><p>extra</p>"
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<p>foo[]bar<p>extra" queryCommandIndeterm("stylewithcss") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<p>foo[]bar<p>extra" queryCommandState("stylewithcss") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<p>foo[]bar<p>extra" queryCommandValue("stylewithcss") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<p>foo[]bar<p>extra" queryCommandIndeterm("stylewithcss") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<p>foo[]bar<p>extra" queryCommandState("stylewithcss") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<p>foo[]bar<p>extra" queryCommandValue("stylewithcss") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<p>foo[]bar<p>extra" queryCommandIndeterm("defaultparagraphseparator") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<p>foo[]bar<p>extra" queryCommandState("defaultparagraphseparator") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<p>foo[]bar<p>extra" queryCommandValue("defaultparagraphseparator") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<p>foo[]bar<p>extra" queryCommandIndeterm("defaultparagraphseparator") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<p>foo[]bar<p>extra" queryCommandState("defaultparagraphseparator") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<p>foo[]bar<p>extra" queryCommandValue("defaultparagraphseparator") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<p>foo[]bar<p>extra" queryCommandIndeterm("justifyfull") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<p>foo[]bar<p>extra" queryCommandState("justifyfull") before 
-FAIL [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<p>foo[]bar<p>extra" queryCommandValue("justifyfull") before assert_equals: Wrong result returned expected "left" but got "false"
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<p>foo[]bar<p>extra" queryCommandIndeterm("justifyfull") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<p>foo[]bar<p>extra" queryCommandState("justifyfull") after 
-FAIL [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<p>foo[]bar<p>extra" queryCommandValue("justifyfull") after assert_equals: Wrong result returned expected "justify" but got "true"
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<p>foo[bar]baz<p>extra": execCommand("stylewithcss", false, "true") return value 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<p>foo[bar]baz<p>extra": execCommand("defaultparagraphseparator", false, "div") return value 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<p>foo[bar]baz<p>extra": execCommand("justifyfull", false, "") return value 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<p>foo[bar]baz<p>extra" checks for modifications to non-editable content 
-FAIL [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<p>foo[bar]baz<p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<div style=\"text-align:justify\"><p>foobarbaz</p></div><p>extra</p>" but got "<p style=\"text-align:justify\">foobarbaz</p><p>extra</p>"
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<p>foo[bar]baz<p>extra" queryCommandIndeterm("stylewithcss") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<p>foo[bar]baz<p>extra" queryCommandState("stylewithcss") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<p>foo[bar]baz<p>extra" queryCommandValue("stylewithcss") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<p>foo[bar]baz<p>extra" queryCommandIndeterm("stylewithcss") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<p>foo[bar]baz<p>extra" queryCommandState("stylewithcss") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<p>foo[bar]baz<p>extra" queryCommandValue("stylewithcss") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<p>foo[bar]baz<p>extra" queryCommandIndeterm("defaultparagraphseparator") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<p>foo[bar]baz<p>extra" queryCommandState("defaultparagraphseparator") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<p>foo[bar]baz<p>extra" queryCommandValue("defaultparagraphseparator") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<p>foo[bar]baz<p>extra" queryCommandIndeterm("defaultparagraphseparator") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<p>foo[bar]baz<p>extra" queryCommandState("defaultparagraphseparator") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<p>foo[bar]baz<p>extra" queryCommandValue("defaultparagraphseparator") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<p>foo[bar]baz<p>extra" queryCommandIndeterm("justifyfull") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<p>foo[bar]baz<p>extra" queryCommandState("justifyfull") before 
-FAIL [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<p>foo[bar]baz<p>extra" queryCommandValue("justifyfull") before assert_equals: Wrong result returned expected "left" but got "false"
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<p>foo[bar]baz<p>extra" queryCommandIndeterm("justifyfull") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<p>foo[bar]baz<p>extra" queryCommandState("justifyfull") after 
-FAIL [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<p>foo[bar]baz<p>extra" queryCommandValue("justifyfull") after assert_equals: Wrong result returned expected "justify" but got "true"
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<p>foo[bar]baz<p>extra": execCommand("stylewithcss", false, "false") return value 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<p>foo[bar]baz<p>extra": execCommand("defaultparagraphseparator", false, "div") return value 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<p>foo[bar]baz<p>extra": execCommand("justifyfull", false, "") return value 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<p>foo[bar]baz<p>extra" checks for modifications to non-editable content 
-FAIL [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<p>foo[bar]baz<p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<div style=\"text-align:justify\"><p>foobarbaz</p></div><p>extra</p>" but got "<p style=\"text-align:justify\">foobarbaz</p><p>extra</p>"
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<p>foo[bar]baz<p>extra" queryCommandIndeterm("stylewithcss") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<p>foo[bar]baz<p>extra" queryCommandState("stylewithcss") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<p>foo[bar]baz<p>extra" queryCommandValue("stylewithcss") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<p>foo[bar]baz<p>extra" queryCommandIndeterm("stylewithcss") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<p>foo[bar]baz<p>extra" queryCommandState("stylewithcss") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<p>foo[bar]baz<p>extra" queryCommandValue("stylewithcss") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<p>foo[bar]baz<p>extra" queryCommandIndeterm("defaultparagraphseparator") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<p>foo[bar]baz<p>extra" queryCommandState("defaultparagraphseparator") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<p>foo[bar]baz<p>extra" queryCommandValue("defaultparagraphseparator") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<p>foo[bar]baz<p>extra" queryCommandIndeterm("defaultparagraphseparator") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<p>foo[bar]baz<p>extra" queryCommandState("defaultparagraphseparator") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<p>foo[bar]baz<p>extra" queryCommandValue("defaultparagraphseparator") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<p>foo[bar]baz<p>extra" queryCommandIndeterm("justifyfull") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<p>foo[bar]baz<p>extra" queryCommandState("justifyfull") before 
-FAIL [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<p>foo[bar]baz<p>extra" queryCommandValue("justifyfull") before assert_equals: Wrong result returned expected "left" but got "false"
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<p>foo[bar]baz<p>extra" queryCommandIndeterm("justifyfull") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<p>foo[bar]baz<p>extra" queryCommandState("justifyfull") after 
-FAIL [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<p>foo[bar]baz<p>extra" queryCommandValue("justifyfull") after assert_equals: Wrong result returned expected "justify" but got "true"
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<p>foo[bar]baz<p>extra": execCommand("stylewithcss", false, "true") return value 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<p>foo[bar]baz<p>extra": execCommand("defaultparagraphseparator", false, "p") return value 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<p>foo[bar]baz<p>extra": execCommand("justifyfull", false, "") return value 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<p>foo[bar]baz<p>extra" checks for modifications to non-editable content 
-FAIL [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<p>foo[bar]baz<p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<div style=\"text-align:justify\"><p>foobarbaz</p></div><p>extra</p>" but got "<p style=\"text-align:justify\">foobarbaz</p><p>extra</p>"
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<p>foo[bar]baz<p>extra" queryCommandIndeterm("stylewithcss") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<p>foo[bar]baz<p>extra" queryCommandState("stylewithcss") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<p>foo[bar]baz<p>extra" queryCommandValue("stylewithcss") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<p>foo[bar]baz<p>extra" queryCommandIndeterm("stylewithcss") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<p>foo[bar]baz<p>extra" queryCommandState("stylewithcss") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<p>foo[bar]baz<p>extra" queryCommandValue("stylewithcss") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<p>foo[bar]baz<p>extra" queryCommandIndeterm("defaultparagraphseparator") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<p>foo[bar]baz<p>extra" queryCommandState("defaultparagraphseparator") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<p>foo[bar]baz<p>extra" queryCommandValue("defaultparagraphseparator") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<p>foo[bar]baz<p>extra" queryCommandIndeterm("defaultparagraphseparator") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<p>foo[bar]baz<p>extra" queryCommandState("defaultparagraphseparator") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<p>foo[bar]baz<p>extra" queryCommandValue("defaultparagraphseparator") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<p>foo[bar]baz<p>extra" queryCommandIndeterm("justifyfull") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<p>foo[bar]baz<p>extra" queryCommandState("justifyfull") before 
-FAIL [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<p>foo[bar]baz<p>extra" queryCommandValue("justifyfull") before assert_equals: Wrong result returned expected "left" but got "false"
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<p>foo[bar]baz<p>extra" queryCommandIndeterm("justifyfull") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<p>foo[bar]baz<p>extra" queryCommandState("justifyfull") after 
-FAIL [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<p>foo[bar]baz<p>extra" queryCommandValue("justifyfull") after assert_equals: Wrong result returned expected "justify" but got "true"
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<p>foo[bar]baz<p>extra": execCommand("stylewithcss", false, "false") return value 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<p>foo[bar]baz<p>extra": execCommand("defaultparagraphseparator", false, "p") return value 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<p>foo[bar]baz<p>extra": execCommand("justifyfull", false, "") return value 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<p>foo[bar]baz<p>extra" checks for modifications to non-editable content 
-FAIL [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<p>foo[bar]baz<p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<div style=\"text-align:justify\"><p>foobarbaz</p></div><p>extra</p>" but got "<p style=\"text-align:justify\">foobarbaz</p><p>extra</p>"
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<p>foo[bar]baz<p>extra" queryCommandIndeterm("stylewithcss") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<p>foo[bar]baz<p>extra" queryCommandState("stylewithcss") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<p>foo[bar]baz<p>extra" queryCommandValue("stylewithcss") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<p>foo[bar]baz<p>extra" queryCommandIndeterm("stylewithcss") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<p>foo[bar]baz<p>extra" queryCommandState("stylewithcss") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<p>foo[bar]baz<p>extra" queryCommandValue("stylewithcss") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<p>foo[bar]baz<p>extra" queryCommandIndeterm("defaultparagraphseparator") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<p>foo[bar]baz<p>extra" queryCommandState("defaultparagraphseparator") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<p>foo[bar]baz<p>extra" queryCommandValue("defaultparagraphseparator") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<p>foo[bar]baz<p>extra" queryCommandIndeterm("defaultparagraphseparator") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<p>foo[bar]baz<p>extra" queryCommandState("defaultparagraphseparator") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<p>foo[bar]baz<p>extra" queryCommandValue("defaultparagraphseparator") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<p>foo[bar]baz<p>extra" queryCommandIndeterm("justifyfull") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<p>foo[bar]baz<p>extra" queryCommandState("justifyfull") before 
-FAIL [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<p>foo[bar]baz<p>extra" queryCommandValue("justifyfull") before assert_equals: Wrong result returned expected "left" but got "false"
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<p>foo[bar]baz<p>extra" queryCommandIndeterm("justifyfull") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<p>foo[bar]baz<p>extra" queryCommandState("justifyfull") after 
-FAIL [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<p>foo[bar]baz<p>extra" queryCommandValue("justifyfull") after assert_equals: Wrong result returned expected "justify" but got "true"
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<h1>foo[bar]baz</h1><p>extra": execCommand("stylewithcss", false, "true") return value 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<h1>foo[bar]baz</h1><p>extra": execCommand("defaultparagraphseparator", false, "div") return value 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<h1>foo[bar]baz</h1><p>extra": execCommand("justifyfull", false, "") return value 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<h1>foo[bar]baz</h1><p>extra" checks for modifications to non-editable content 
-FAIL [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<h1>foo[bar]baz</h1><p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<div style=\"text-align:justify\"><h1>foobarbaz</h1></div><p>extra</p>" but got "<h1 style=\"text-align:justify\">foobarbaz</h1><p>extra</p>"
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<h1>foo[bar]baz</h1><p>extra" queryCommandIndeterm("stylewithcss") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<h1>foo[bar]baz</h1><p>extra" queryCommandState("stylewithcss") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<h1>foo[bar]baz</h1><p>extra" queryCommandValue("stylewithcss") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<h1>foo[bar]baz</h1><p>extra" queryCommandIndeterm("stylewithcss") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<h1>foo[bar]baz</h1><p>extra" queryCommandState("stylewithcss") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<h1>foo[bar]baz</h1><p>extra" queryCommandValue("stylewithcss") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<h1>foo[bar]baz</h1><p>extra" queryCommandIndeterm("defaultparagraphseparator") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<h1>foo[bar]baz</h1><p>extra" queryCommandState("defaultparagraphseparator") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<h1>foo[bar]baz</h1><p>extra" queryCommandValue("defaultparagraphseparator") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<h1>foo[bar]baz</h1><p>extra" queryCommandIndeterm("defaultparagraphseparator") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<h1>foo[bar]baz</h1><p>extra" queryCommandState("defaultparagraphseparator") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<h1>foo[bar]baz</h1><p>extra" queryCommandValue("defaultparagraphseparator") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<h1>foo[bar]baz</h1><p>extra" queryCommandIndeterm("justifyfull") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<h1>foo[bar]baz</h1><p>extra" queryCommandState("justifyfull") before 
-FAIL [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<h1>foo[bar]baz</h1><p>extra" queryCommandValue("justifyfull") before assert_equals: Wrong result returned expected "left" but got "false"
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<h1>foo[bar]baz</h1><p>extra" queryCommandIndeterm("justifyfull") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<h1>foo[bar]baz</h1><p>extra" queryCommandState("justifyfull") after 
-FAIL [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<h1>foo[bar]baz</h1><p>extra" queryCommandValue("justifyfull") after assert_equals: Wrong result returned expected "justify" but got "true"
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<h1>foo[bar]baz</h1><p>extra": execCommand("stylewithcss", false, "false") return value 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<h1>foo[bar]baz</h1><p>extra": execCommand("defaultparagraphseparator", false, "div") return value 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<h1>foo[bar]baz</h1><p>extra": execCommand("justifyfull", false, "") return value 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<h1>foo[bar]baz</h1><p>extra" checks for modifications to non-editable content 
-FAIL [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<h1>foo[bar]baz</h1><p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<div style=\"text-align:justify\"><h1>foobarbaz</h1></div><p>extra</p>" but got "<h1 style=\"text-align:justify\">foobarbaz</h1><p>extra</p>"
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<h1>foo[bar]baz</h1><p>extra" queryCommandIndeterm("stylewithcss") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<h1>foo[bar]baz</h1><p>extra" queryCommandState("stylewithcss") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<h1>foo[bar]baz</h1><p>extra" queryCommandValue("stylewithcss") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<h1>foo[bar]baz</h1><p>extra" queryCommandIndeterm("stylewithcss") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<h1>foo[bar]baz</h1><p>extra" queryCommandState("stylewithcss") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<h1>foo[bar]baz</h1><p>extra" queryCommandValue("stylewithcss") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<h1>foo[bar]baz</h1><p>extra" queryCommandIndeterm("defaultparagraphseparator") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<h1>foo[bar]baz</h1><p>extra" queryCommandState("defaultparagraphseparator") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<h1>foo[bar]baz</h1><p>extra" queryCommandValue("defaultparagraphseparator") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<h1>foo[bar]baz</h1><p>extra" queryCommandIndeterm("defaultparagraphseparator") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<h1>foo[bar]baz</h1><p>extra" queryCommandState("defaultparagraphseparator") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<h1>foo[bar]baz</h1><p>extra" queryCommandValue("defaultparagraphseparator") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<h1>foo[bar]baz</h1><p>extra" queryCommandIndeterm("justifyfull") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<h1>foo[bar]baz</h1><p>extra" queryCommandState("justifyfull") before 
-FAIL [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<h1>foo[bar]baz</h1><p>extra" queryCommandValue("justifyfull") before assert_equals: Wrong result returned expected "left" but got "false"
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<h1>foo[bar]baz</h1><p>extra" queryCommandIndeterm("justifyfull") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<h1>foo[bar]baz</h1><p>extra" queryCommandState("justifyfull") after 
-FAIL [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<h1>foo[bar]baz</h1><p>extra" queryCommandValue("justifyfull") after assert_equals: Wrong result returned expected "justify" but got "true"
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<h1>foo[bar]baz</h1><p>extra": execCommand("stylewithcss", false, "true") return value 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<h1>foo[bar]baz</h1><p>extra": execCommand("defaultparagraphseparator", false, "p") return value 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<h1>foo[bar]baz</h1><p>extra": execCommand("justifyfull", false, "") return value 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<h1>foo[bar]baz</h1><p>extra" checks for modifications to non-editable content 
-FAIL [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<h1>foo[bar]baz</h1><p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<div style=\"text-align:justify\"><h1>foobarbaz</h1></div><p>extra</p>" but got "<h1 style=\"text-align:justify\">foobarbaz</h1><p>extra</p>"
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<h1>foo[bar]baz</h1><p>extra" queryCommandIndeterm("stylewithcss") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<h1>foo[bar]baz</h1><p>extra" queryCommandState("stylewithcss") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<h1>foo[bar]baz</h1><p>extra" queryCommandValue("stylewithcss") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<h1>foo[bar]baz</h1><p>extra" queryCommandIndeterm("stylewithcss") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<h1>foo[bar]baz</h1><p>extra" queryCommandState("stylewithcss") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<h1>foo[bar]baz</h1><p>extra" queryCommandValue("stylewithcss") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<h1>foo[bar]baz</h1><p>extra" queryCommandIndeterm("defaultparagraphseparator") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<h1>foo[bar]baz</h1><p>extra" queryCommandState("defaultparagraphseparator") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<h1>foo[bar]baz</h1><p>extra" queryCommandValue("defaultparagraphseparator") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<h1>foo[bar]baz</h1><p>extra" queryCommandIndeterm("defaultparagraphseparator") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<h1>foo[bar]baz</h1><p>extra" queryCommandState("defaultparagraphseparator") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<h1>foo[bar]baz</h1><p>extra" queryCommandValue("defaultparagraphseparator") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<h1>foo[bar]baz</h1><p>extra" queryCommandIndeterm("justifyfull") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<h1>foo[bar]baz</h1><p>extra" queryCommandState("justifyfull") before 
-FAIL [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<h1>foo[bar]baz</h1><p>extra" queryCommandValue("justifyfull") before assert_equals: Wrong result returned expected "left" but got "false"
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<h1>foo[bar]baz</h1><p>extra" queryCommandIndeterm("justifyfull") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<h1>foo[bar]baz</h1><p>extra" queryCommandState("justifyfull") after 
-FAIL [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<h1>foo[bar]baz</h1><p>extra" queryCommandValue("justifyfull") after assert_equals: Wrong result returned expected "justify" but got "true"
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<h1>foo[bar]baz</h1><p>extra": execCommand("stylewithcss", false, "false") return value 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<h1>foo[bar]baz</h1><p>extra": execCommand("defaultparagraphseparator", false, "p") return value 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<h1>foo[bar]baz</h1><p>extra": execCommand("justifyfull", false, "") return value 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<h1>foo[bar]baz</h1><p>extra" checks for modifications to non-editable content 
-FAIL [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<h1>foo[bar]baz</h1><p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<div style=\"text-align:justify\"><h1>foobarbaz</h1></div><p>extra</p>" but got "<h1 style=\"text-align:justify\">foobarbaz</h1><p>extra</p>"
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<h1>foo[bar]baz</h1><p>extra" queryCommandIndeterm("stylewithcss") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<h1>foo[bar]baz</h1><p>extra" queryCommandState("stylewithcss") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<h1>foo[bar]baz</h1><p>extra" queryCommandValue("stylewithcss") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<h1>foo[bar]baz</h1><p>extra" queryCommandIndeterm("stylewithcss") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<h1>foo[bar]baz</h1><p>extra" queryCommandState("stylewithcss") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<h1>foo[bar]baz</h1><p>extra" queryCommandValue("stylewithcss") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<h1>foo[bar]baz</h1><p>extra" queryCommandIndeterm("defaultparagraphseparator") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<h1>foo[bar]baz</h1><p>extra" queryCommandState("defaultparagraphseparator") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<h1>foo[bar]baz</h1><p>extra" queryCommandValue("defaultparagraphseparator") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<h1>foo[bar]baz</h1><p>extra" queryCommandIndeterm("defaultparagraphseparator") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<h1>foo[bar]baz</h1><p>extra" queryCommandState("defaultparagraphseparator") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<h1>foo[bar]baz</h1><p>extra" queryCommandValue("defaultparagraphseparator") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<h1>foo[bar]baz</h1><p>extra" queryCommandIndeterm("justifyfull") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<h1>foo[bar]baz</h1><p>extra" queryCommandState("justifyfull") before 
-FAIL [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<h1>foo[bar]baz</h1><p>extra" queryCommandValue("justifyfull") before assert_equals: Wrong result returned expected "left" but got "false"
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<h1>foo[bar]baz</h1><p>extra" queryCommandIndeterm("justifyfull") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<h1>foo[bar]baz</h1><p>extra" queryCommandState("justifyfull") after 
-FAIL [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<h1>foo[bar]baz</h1><p>extra" queryCommandValue("justifyfull") after assert_equals: Wrong result returned expected "justify" but got "true"
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<pre>foo[bar]baz</pre><p>extra": execCommand("stylewithcss", false, "true") return value 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<pre>foo[bar]baz</pre><p>extra": execCommand("defaultparagraphseparator", false, "div") return value 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<pre>foo[bar]baz</pre><p>extra": execCommand("justifyfull", false, "") return value 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<pre>foo[bar]baz</pre><p>extra" checks for modifications to non-editable content 
-FAIL [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<pre>foo[bar]baz</pre><p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<div style=\"text-align:justify\"><pre>foobarbaz</pre></div><p>extra</p>" but got "<pre style=\"text-align:justify\">foobarbaz</pre><p>extra</p>"
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<pre>foo[bar]baz</pre><p>extra" queryCommandIndeterm("stylewithcss") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<pre>foo[bar]baz</pre><p>extra" queryCommandState("stylewithcss") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<pre>foo[bar]baz</pre><p>extra" queryCommandValue("stylewithcss") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<pre>foo[bar]baz</pre><p>extra" queryCommandIndeterm("stylewithcss") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<pre>foo[bar]baz</pre><p>extra" queryCommandState("stylewithcss") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<pre>foo[bar]baz</pre><p>extra" queryCommandValue("stylewithcss") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<pre>foo[bar]baz</pre><p>extra" queryCommandIndeterm("defaultparagraphseparator") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<pre>foo[bar]baz</pre><p>extra" queryCommandState("defaultparagraphseparator") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<pre>foo[bar]baz</pre><p>extra" queryCommandValue("defaultparagraphseparator") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<pre>foo[bar]baz</pre><p>extra" queryCommandIndeterm("defaultparagraphseparator") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<pre>foo[bar]baz</pre><p>extra" queryCommandState("defaultparagraphseparator") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<pre>foo[bar]baz</pre><p>extra" queryCommandValue("defaultparagraphseparator") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<pre>foo[bar]baz</pre><p>extra" queryCommandIndeterm("justifyfull") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<pre>foo[bar]baz</pre><p>extra" queryCommandState("justifyfull") before 
-FAIL [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<pre>foo[bar]baz</pre><p>extra" queryCommandValue("justifyfull") before assert_equals: Wrong result returned expected "left" but got "false"
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<pre>foo[bar]baz</pre><p>extra" queryCommandIndeterm("justifyfull") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<pre>foo[bar]baz</pre><p>extra" queryCommandState("justifyfull") after 
-FAIL [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<pre>foo[bar]baz</pre><p>extra" queryCommandValue("justifyfull") after assert_equals: Wrong result returned expected "justify" but got "true"
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<pre>foo[bar]baz</pre><p>extra": execCommand("stylewithcss", false, "false") return value 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<pre>foo[bar]baz</pre><p>extra": execCommand("defaultparagraphseparator", false, "div") return value 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<pre>foo[bar]baz</pre><p>extra": execCommand("justifyfull", false, "") return value 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<pre>foo[bar]baz</pre><p>extra" checks for modifications to non-editable content 
-FAIL [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<pre>foo[bar]baz</pre><p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<div style=\"text-align:justify\"><pre>foobarbaz</pre></div><p>extra</p>" but got "<pre style=\"text-align:justify\">foobarbaz</pre><p>extra</p>"
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<pre>foo[bar]baz</pre><p>extra" queryCommandIndeterm("stylewithcss") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<pre>foo[bar]baz</pre><p>extra" queryCommandState("stylewithcss") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<pre>foo[bar]baz</pre><p>extra" queryCommandValue("stylewithcss") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<pre>foo[bar]baz</pre><p>extra" queryCommandIndeterm("stylewithcss") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<pre>foo[bar]baz</pre><p>extra" queryCommandState("stylewithcss") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<pre>foo[bar]baz</pre><p>extra" queryCommandValue("stylewithcss") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<pre>foo[bar]baz</pre><p>extra" queryCommandIndeterm("defaultparagraphseparator") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<pre>foo[bar]baz</pre><p>extra" queryCommandState("defaultparagraphseparator") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<pre>foo[bar]baz</pre><p>extra" queryCommandValue("defaultparagraphseparator") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<pre>foo[bar]baz</pre><p>extra" queryCommandIndeterm("defaultparagraphseparator") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<pre>foo[bar]baz</pre><p>extra" queryCommandState("defaultparagraphseparator") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<pre>foo[bar]baz</pre><p>extra" queryCommandValue("defaultparagraphseparator") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<pre>foo[bar]baz</pre><p>extra" queryCommandIndeterm("justifyfull") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<pre>foo[bar]baz</pre><p>extra" queryCommandState("justifyfull") before 
-FAIL [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<pre>foo[bar]baz</pre><p>extra" queryCommandValue("justifyfull") before assert_equals: Wrong result returned expected "left" but got "false"
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<pre>foo[bar]baz</pre><p>extra" queryCommandIndeterm("justifyfull") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<pre>foo[bar]baz</pre><p>extra" queryCommandState("justifyfull") after 
-FAIL [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<pre>foo[bar]baz</pre><p>extra" queryCommandValue("justifyfull") after assert_equals: Wrong result returned expected "justify" but got "true"
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<pre>foo[bar]baz</pre><p>extra": execCommand("stylewithcss", false, "true") return value 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<pre>foo[bar]baz</pre><p>extra": execCommand("defaultparagraphseparator", false, "p") return value 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<pre>foo[bar]baz</pre><p>extra": execCommand("justifyfull", false, "") return value 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<pre>foo[bar]baz</pre><p>extra" checks for modifications to non-editable content 
-FAIL [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<pre>foo[bar]baz</pre><p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<div style=\"text-align:justify\"><pre>foobarbaz</pre></div><p>extra</p>" but got "<pre style=\"text-align:justify\">foobarbaz</pre><p>extra</p>"
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<pre>foo[bar]baz</pre><p>extra" queryCommandIndeterm("stylewithcss") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<pre>foo[bar]baz</pre><p>extra" queryCommandState("stylewithcss") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<pre>foo[bar]baz</pre><p>extra" queryCommandValue("stylewithcss") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<pre>foo[bar]baz</pre><p>extra" queryCommandIndeterm("stylewithcss") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<pre>foo[bar]baz</pre><p>extra" queryCommandState("stylewithcss") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<pre>foo[bar]baz</pre><p>extra" queryCommandValue("stylewithcss") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<pre>foo[bar]baz</pre><p>extra" queryCommandIndeterm("defaultparagraphseparator") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<pre>foo[bar]baz</pre><p>extra" queryCommandState("defaultparagraphseparator") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<pre>foo[bar]baz</pre><p>extra" queryCommandValue("defaultparagraphseparator") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<pre>foo[bar]baz</pre><p>extra" queryCommandIndeterm("defaultparagraphseparator") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<pre>foo[bar]baz</pre><p>extra" queryCommandState("defaultparagraphseparator") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<pre>foo[bar]baz</pre><p>extra" queryCommandValue("defaultparagraphseparator") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<pre>foo[bar]baz</pre><p>extra" queryCommandIndeterm("justifyfull") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<pre>foo[bar]baz</pre><p>extra" queryCommandState("justifyfull") before 
-FAIL [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<pre>foo[bar]baz</pre><p>extra" queryCommandValue("justifyfull") before assert_equals: Wrong result returned expected "left" but got "false"
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<pre>foo[bar]baz</pre><p>extra" queryCommandIndeterm("justifyfull") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<pre>foo[bar]baz</pre><p>extra" queryCommandState("justifyfull") after 
-FAIL [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<pre>foo[bar]baz</pre><p>extra" queryCommandValue("justifyfull") after assert_equals: Wrong result returned expected "justify" but got "true"
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<pre>foo[bar]baz</pre><p>extra": execCommand("stylewithcss", false, "false") return value 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<pre>foo[bar]baz</pre><p>extra": execCommand("defaultparagraphseparator", false, "p") return value 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<pre>foo[bar]baz</pre><p>extra": execCommand("justifyfull", false, "") return value 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<pre>foo[bar]baz</pre><p>extra" checks for modifications to non-editable content 
-FAIL [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<pre>foo[bar]baz</pre><p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<div style=\"text-align:justify\"><pre>foobarbaz</pre></div><p>extra</p>" but got "<pre style=\"text-align:justify\">foobarbaz</pre><p>extra</p>"
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<pre>foo[bar]baz</pre><p>extra" queryCommandIndeterm("stylewithcss") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<pre>foo[bar]baz</pre><p>extra" queryCommandState("stylewithcss") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<pre>foo[bar]baz</pre><p>extra" queryCommandValue("stylewithcss") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<pre>foo[bar]baz</pre><p>extra" queryCommandIndeterm("stylewithcss") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<pre>foo[bar]baz</pre><p>extra" queryCommandState("stylewithcss") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<pre>foo[bar]baz</pre><p>extra" queryCommandValue("stylewithcss") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<pre>foo[bar]baz</pre><p>extra" queryCommandIndeterm("defaultparagraphseparator") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<pre>foo[bar]baz</pre><p>extra" queryCommandState("defaultparagraphseparator") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<pre>foo[bar]baz</pre><p>extra" queryCommandValue("defaultparagraphseparator") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<pre>foo[bar]baz</pre><p>extra" queryCommandIndeterm("defaultparagraphseparator") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<pre>foo[bar]baz</pre><p>extra" queryCommandState("defaultparagraphseparator") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<pre>foo[bar]baz</pre><p>extra" queryCommandValue("defaultparagraphseparator") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<pre>foo[bar]baz</pre><p>extra" queryCommandIndeterm("justifyfull") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<pre>foo[bar]baz</pre><p>extra" queryCommandState("justifyfull") before 
-FAIL [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<pre>foo[bar]baz</pre><p>extra" queryCommandValue("justifyfull") before assert_equals: Wrong result returned expected "left" but got "false"
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<pre>foo[bar]baz</pre><p>extra" queryCommandIndeterm("justifyfull") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<pre>foo[bar]baz</pre><p>extra" queryCommandState("justifyfull") after 
-FAIL [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<pre>foo[bar]baz</pre><p>extra" queryCommandValue("justifyfull") after assert_equals: Wrong result returned expected "justify" but got "true"
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<xmp>foo[bar]baz</xmp><p>extra": execCommand("stylewithcss", false, "true") return value 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<xmp>foo[bar]baz</xmp><p>extra": execCommand("defaultparagraphseparator", false, "div") return value 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<xmp>foo[bar]baz</xmp><p>extra": execCommand("justifyfull", false, "") return value 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<xmp>foo[bar]baz</xmp><p>extra" checks for modifications to non-editable content 
-FAIL [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<xmp>foo[bar]baz</xmp><p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<div style=\"text-align:justify\"><xmp>foobarbaz</xmp></div><p>extra</p>" but got "<xmp style=\"text-align:justify\">foobarbaz</xmp><p>extra</p>"
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<xmp>foo[bar]baz</xmp><p>extra" queryCommandIndeterm("stylewithcss") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<xmp>foo[bar]baz</xmp><p>extra" queryCommandState("stylewithcss") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<xmp>foo[bar]baz</xmp><p>extra" queryCommandValue("stylewithcss") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<xmp>foo[bar]baz</xmp><p>extra" queryCommandIndeterm("stylewithcss") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<xmp>foo[bar]baz</xmp><p>extra" queryCommandState("stylewithcss") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<xmp>foo[bar]baz</xmp><p>extra" queryCommandValue("stylewithcss") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<xmp>foo[bar]baz</xmp><p>extra" queryCommandIndeterm("defaultparagraphseparator") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<xmp>foo[bar]baz</xmp><p>extra" queryCommandState("defaultparagraphseparator") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<xmp>foo[bar]baz</xmp><p>extra" queryCommandValue("defaultparagraphseparator") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<xmp>foo[bar]baz</xmp><p>extra" queryCommandIndeterm("defaultparagraphseparator") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<xmp>foo[bar]baz</xmp><p>extra" queryCommandState("defaultparagraphseparator") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<xmp>foo[bar]baz</xmp><p>extra" queryCommandValue("defaultparagraphseparator") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<xmp>foo[bar]baz</xmp><p>extra" queryCommandIndeterm("justifyfull") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<xmp>foo[bar]baz</xmp><p>extra" queryCommandState("justifyfull") before 
-FAIL [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<xmp>foo[bar]baz</xmp><p>extra" queryCommandValue("justifyfull") before assert_equals: Wrong result returned expected "left" but got "false"
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<xmp>foo[bar]baz</xmp><p>extra" queryCommandIndeterm("justifyfull") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<xmp>foo[bar]baz</xmp><p>extra" queryCommandState("justifyfull") after 
-FAIL [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<xmp>foo[bar]baz</xmp><p>extra" queryCommandValue("justifyfull") after assert_equals: Wrong result returned expected "justify" but got "true"
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<xmp>foo[bar]baz</xmp><p>extra": execCommand("stylewithcss", false, "false") return value 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<xmp>foo[bar]baz</xmp><p>extra": execCommand("defaultparagraphseparator", false, "div") return value 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<xmp>foo[bar]baz</xmp><p>extra": execCommand("justifyfull", false, "") return value 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<xmp>foo[bar]baz</xmp><p>extra" checks for modifications to non-editable content 
-FAIL [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<xmp>foo[bar]baz</xmp><p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<div style=\"text-align:justify\"><xmp>foobarbaz</xmp></div><p>extra</p>" but got "<xmp style=\"text-align:justify\">foobarbaz</xmp><p>extra</p>"
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<xmp>foo[bar]baz</xmp><p>extra" queryCommandIndeterm("stylewithcss") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<xmp>foo[bar]baz</xmp><p>extra" queryCommandState("stylewithcss") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<xmp>foo[bar]baz</xmp><p>extra" queryCommandValue("stylewithcss") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<xmp>foo[bar]baz</xmp><p>extra" queryCommandIndeterm("stylewithcss") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<xmp>foo[bar]baz</xmp><p>extra" queryCommandState("stylewithcss") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<xmp>foo[bar]baz</xmp><p>extra" queryCommandValue("stylewithcss") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<xmp>foo[bar]baz</xmp><p>extra" queryCommandIndeterm("defaultparagraphseparator") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<xmp>foo[bar]baz</xmp><p>extra" queryCommandState("defaultparagraphseparator") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<xmp>foo[bar]baz</xmp><p>extra" queryCommandValue("defaultparagraphseparator") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<xmp>foo[bar]baz</xmp><p>extra" queryCommandIndeterm("defaultparagraphseparator") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<xmp>foo[bar]baz</xmp><p>extra" queryCommandState("defaultparagraphseparator") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<xmp>foo[bar]baz</xmp><p>extra" queryCommandValue("defaultparagraphseparator") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<xmp>foo[bar]baz</xmp><p>extra" queryCommandIndeterm("justifyfull") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<xmp>foo[bar]baz</xmp><p>extra" queryCommandState("justifyfull") before 
-FAIL [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<xmp>foo[bar]baz</xmp><p>extra" queryCommandValue("justifyfull") before assert_equals: Wrong result returned expected "left" but got "false"
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<xmp>foo[bar]baz</xmp><p>extra" queryCommandIndeterm("justifyfull") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<xmp>foo[bar]baz</xmp><p>extra" queryCommandState("justifyfull") after 
-FAIL [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<xmp>foo[bar]baz</xmp><p>extra" queryCommandValue("justifyfull") after assert_equals: Wrong result returned expected "justify" but got "true"
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<xmp>foo[bar]baz</xmp><p>extra": execCommand("stylewithcss", false, "true") return value 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<xmp>foo[bar]baz</xmp><p>extra": execCommand("defaultparagraphseparator", false, "p") return value 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<xmp>foo[bar]baz</xmp><p>extra": execCommand("justifyfull", false, "") return value 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<xmp>foo[bar]baz</xmp><p>extra" checks for modifications to non-editable content 
-FAIL [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<xmp>foo[bar]baz</xmp><p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<div style=\"text-align:justify\"><xmp>foobarbaz</xmp></div><p>extra</p>" but got "<xmp style=\"text-align:justify\">foobarbaz</xmp><p>extra</p>"
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<xmp>foo[bar]baz</xmp><p>extra" queryCommandIndeterm("stylewithcss") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<xmp>foo[bar]baz</xmp><p>extra" queryCommandState("stylewithcss") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<xmp>foo[bar]baz</xmp><p>extra" queryCommandValue("stylewithcss") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<xmp>foo[bar]baz</xmp><p>extra" queryCommandIndeterm("stylewithcss") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<xmp>foo[bar]baz</xmp><p>extra" queryCommandState("stylewithcss") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<xmp>foo[bar]baz</xmp><p>extra" queryCommandValue("stylewithcss") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<xmp>foo[bar]baz</xmp><p>extra" queryCommandIndeterm("defaultparagraphseparator") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<xmp>foo[bar]baz</xmp><p>extra" queryCommandState("defaultparagraphseparator") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<xmp>foo[bar]baz</xmp><p>extra" queryCommandValue("defaultparagraphseparator") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<xmp>foo[bar]baz</xmp><p>extra" queryCommandIndeterm("defaultparagraphseparator") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<xmp>foo[bar]baz</xmp><p>extra" queryCommandState("defaultparagraphseparator") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<xmp>foo[bar]baz</xmp><p>extra" queryCommandValue("defaultparagraphseparator") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<xmp>foo[bar]baz</xmp><p>extra" queryCommandIndeterm("justifyfull") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<xmp>foo[bar]baz</xmp><p>extra" queryCommandState("justifyfull") before 
-FAIL [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<xmp>foo[bar]baz</xmp><p>extra" queryCommandValue("justifyfull") before assert_equals: Wrong result returned expected "left" but got "false"
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<xmp>foo[bar]baz</xmp><p>extra" queryCommandIndeterm("justifyfull") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<xmp>foo[bar]baz</xmp><p>extra" queryCommandState("justifyfull") after 
-FAIL [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<xmp>foo[bar]baz</xmp><p>extra" queryCommandValue("justifyfull") after assert_equals: Wrong result returned expected "justify" but got "true"
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<xmp>foo[bar]baz</xmp><p>extra": execCommand("stylewithcss", false, "false") return value 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<xmp>foo[bar]baz</xmp><p>extra": execCommand("defaultparagraphseparator", false, "p") return value 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<xmp>foo[bar]baz</xmp><p>extra": execCommand("justifyfull", false, "") return value 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<xmp>foo[bar]baz</xmp><p>extra" checks for modifications to non-editable content 
-FAIL [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<xmp>foo[bar]baz</xmp><p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<div style=\"text-align:justify\"><xmp>foobarbaz</xmp></div><p>extra</p>" but got "<xmp style=\"text-align:justify\">foobarbaz</xmp><p>extra</p>"
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<xmp>foo[bar]baz</xmp><p>extra" queryCommandIndeterm("stylewithcss") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<xmp>foo[bar]baz</xmp><p>extra" queryCommandState("stylewithcss") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<xmp>foo[bar]baz</xmp><p>extra" queryCommandValue("stylewithcss") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<xmp>foo[bar]baz</xmp><p>extra" queryCommandIndeterm("stylewithcss") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<xmp>foo[bar]baz</xmp><p>extra" queryCommandState("stylewithcss") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<xmp>foo[bar]baz</xmp><p>extra" queryCommandValue("stylewithcss") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<xmp>foo[bar]baz</xmp><p>extra" queryCommandIndeterm("defaultparagraphseparator") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<xmp>foo[bar]baz</xmp><p>extra" queryCommandState("defaultparagraphseparator") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<xmp>foo[bar]baz</xmp><p>extra" queryCommandValue("defaultparagraphseparator") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<xmp>foo[bar]baz</xmp><p>extra" queryCommandIndeterm("defaultparagraphseparator") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<xmp>foo[bar]baz</xmp><p>extra" queryCommandState("defaultparagraphseparator") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<xmp>foo[bar]baz</xmp><p>extra" queryCommandValue("defaultparagraphseparator") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<xmp>foo[bar]baz</xmp><p>extra" queryCommandIndeterm("justifyfull") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<xmp>foo[bar]baz</xmp><p>extra" queryCommandState("justifyfull") before 
-FAIL [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<xmp>foo[bar]baz</xmp><p>extra" queryCommandValue("justifyfull") before assert_equals: Wrong result returned expected "left" but got "false"
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<xmp>foo[bar]baz</xmp><p>extra" queryCommandIndeterm("justifyfull") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<xmp>foo[bar]baz</xmp><p>extra" queryCommandState("justifyfull") after 
-FAIL [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<xmp>foo[bar]baz</xmp><p>extra" queryCommandValue("justifyfull") after assert_equals: Wrong result returned expected "justify" but got "true"
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<center><p>[foo]<p>bar</center><p>extra": execCommand("stylewithcss", false, "true") return value 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<center><p>[foo]<p>bar</center><p>extra": execCommand("defaultparagraphseparator", false, "div") return value 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<center><p>[foo]<p>bar</center><p>extra": execCommand("justifyfull", false, "") return value 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<center><p>[foo]<p>bar</center><p>extra" checks for modifications to non-editable content 
-FAIL [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<center><p>[foo]<p>bar</center><p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<center><div style=\"text-align:justify\"><p>foo</p></div><p>bar</p></center><p>extra</p>" but got "<center><p style=\"text-align:justify\">foo</p><p>bar</p></center><p>extra</p>"
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<center><p>[foo]<p>bar</center><p>extra" queryCommandIndeterm("stylewithcss") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<center><p>[foo]<p>bar</center><p>extra" queryCommandState("stylewithcss") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<center><p>[foo]<p>bar</center><p>extra" queryCommandValue("stylewithcss") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<center><p>[foo]<p>bar</center><p>extra" queryCommandIndeterm("stylewithcss") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<center><p>[foo]<p>bar</center><p>extra" queryCommandState("stylewithcss") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<center><p>[foo]<p>bar</center><p>extra" queryCommandValue("stylewithcss") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<center><p>[foo]<p>bar</center><p>extra" queryCommandIndeterm("defaultparagraphseparator") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<center><p>[foo]<p>bar</center><p>extra" queryCommandState("defaultparagraphseparator") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<center><p>[foo]<p>bar</center><p>extra" queryCommandValue("defaultparagraphseparator") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<center><p>[foo]<p>bar</center><p>extra" queryCommandIndeterm("defaultparagraphseparator") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<center><p>[foo]<p>bar</center><p>extra" queryCommandState("defaultparagraphseparator") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<center><p>[foo]<p>bar</center><p>extra" queryCommandValue("defaultparagraphseparator") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<center><p>[foo]<p>bar</center><p>extra" queryCommandIndeterm("justifyfull") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<center><p>[foo]<p>bar</center><p>extra" queryCommandState("justifyfull") before 
-FAIL [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<center><p>[foo]<p>bar</center><p>extra" queryCommandValue("justifyfull") before assert_equals: Wrong result returned expected "center" but got "false"
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<center><p>[foo]<p>bar</center><p>extra" queryCommandIndeterm("justifyfull") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<center><p>[foo]<p>bar</center><p>extra" queryCommandState("justifyfull") after 
-FAIL [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<center><p>[foo]<p>bar</center><p>extra" queryCommandValue("justifyfull") after assert_equals: Wrong result returned expected "justify" but got "true"
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<center><p>[foo]<p>bar</center><p>extra": execCommand("stylewithcss", false, "false") return value 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<center><p>[foo]<p>bar</center><p>extra": execCommand("defaultparagraphseparator", false, "div") return value 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<center><p>[foo]<p>bar</center><p>extra": execCommand("justifyfull", false, "") return value 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<center><p>[foo]<p>bar</center><p>extra" checks for modifications to non-editable content 
-FAIL [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<center><p>[foo]<p>bar</center><p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<center><div style=\"text-align:justify\"><p>foo</p></div><p>bar</p></center><p>extra</p>" but got "<center><p style=\"text-align:justify\">foo</p><p>bar</p></center><p>extra</p>"
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<center><p>[foo]<p>bar</center><p>extra" queryCommandIndeterm("stylewithcss") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<center><p>[foo]<p>bar</center><p>extra" queryCommandState("stylewithcss") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<center><p>[foo]<p>bar</center><p>extra" queryCommandValue("stylewithcss") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<center><p>[foo]<p>bar</center><p>extra" queryCommandIndeterm("stylewithcss") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<center><p>[foo]<p>bar</center><p>extra" queryCommandState("stylewithcss") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<center><p>[foo]<p>bar</center><p>extra" queryCommandValue("stylewithcss") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<center><p>[foo]<p>bar</center><p>extra" queryCommandIndeterm("defaultparagraphseparator") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<center><p>[foo]<p>bar</center><p>extra" queryCommandState("defaultparagraphseparator") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<center><p>[foo]<p>bar</center><p>extra" queryCommandValue("defaultparagraphseparator") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<center><p>[foo]<p>bar</center><p>extra" queryCommandIndeterm("defaultparagraphseparator") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<center><p>[foo]<p>bar</center><p>extra" queryCommandState("defaultparagraphseparator") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<center><p>[foo]<p>bar</center><p>extra" queryCommandValue("defaultparagraphseparator") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<center><p>[foo]<p>bar</center><p>extra" queryCommandIndeterm("justifyfull") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<center><p>[foo]<p>bar</center><p>extra" queryCommandState("justifyfull") before 
-FAIL [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<center><p>[foo]<p>bar</center><p>extra" queryCommandValue("justifyfull") before assert_equals: Wrong result returned expected "center" but got "false"
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<center><p>[foo]<p>bar</center><p>extra" queryCommandIndeterm("justifyfull") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<center><p>[foo]<p>bar</center><p>extra" queryCommandState("justifyfull") after 
-FAIL [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<center><p>[foo]<p>bar</center><p>extra" queryCommandValue("justifyfull") after assert_equals: Wrong result returned expected "justify" but got "true"
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<center><p>[foo]<p>bar</center><p>extra": execCommand("stylewithcss", false, "true") return value 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<center><p>[foo]<p>bar</center><p>extra": execCommand("defaultparagraphseparator", false, "p") return value 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<center><p>[foo]<p>bar</center><p>extra": execCommand("justifyfull", false, "") return value 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<center><p>[foo]<p>bar</center><p>extra" checks for modifications to non-editable content 
-FAIL [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<center><p>[foo]<p>bar</center><p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<center><div style=\"text-align:justify\"><p>foo</p></div><p>bar</p></center><p>extra</p>" but got "<center><p style=\"text-align:justify\">foo</p><p>bar</p></center><p>extra</p>"
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<center><p>[foo]<p>bar</center><p>extra" queryCommandIndeterm("stylewithcss") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<center><p>[foo]<p>bar</center><p>extra" queryCommandState("stylewithcss") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<center><p>[foo]<p>bar</center><p>extra" queryCommandValue("stylewithcss") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<center><p>[foo]<p>bar</center><p>extra" queryCommandIndeterm("stylewithcss") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<center><p>[foo]<p>bar</center><p>extra" queryCommandState("stylewithcss") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<center><p>[foo]<p>bar</center><p>extra" queryCommandValue("stylewithcss") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<center><p>[foo]<p>bar</center><p>extra" queryCommandIndeterm("defaultparagraphseparator") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<center><p>[foo]<p>bar</center><p>extra" queryCommandState("defaultparagraphseparator") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<center><p>[foo]<p>bar</center><p>extra" queryCommandValue("defaultparagraphseparator") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<center><p>[foo]<p>bar</center><p>extra" queryCommandIndeterm("defaultparagraphseparator") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<center><p>[foo]<p>bar</center><p>extra" queryCommandState("defaultparagraphseparator") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<center><p>[foo]<p>bar</center><p>extra" queryCommandValue("defaultparagraphseparator") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<center><p>[foo]<p>bar</center><p>extra" queryCommandIndeterm("justifyfull") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<center><p>[foo]<p>bar</center><p>extra" queryCommandState("justifyfull") before 
-FAIL [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<center><p>[foo]<p>bar</center><p>extra" queryCommandValue("justifyfull") before assert_equals: Wrong result returned expected "center" but got "false"
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<center><p>[foo]<p>bar</center><p>extra" queryCommandIndeterm("justifyfull") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<center><p>[foo]<p>bar</center><p>extra" queryCommandState("justifyfull") after 
-FAIL [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<center><p>[foo]<p>bar</center><p>extra" queryCommandValue("justifyfull") after assert_equals: Wrong result returned expected "justify" but got "true"
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<center><p>[foo]<p>bar</center><p>extra": execCommand("stylewithcss", false, "false") return value 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<center><p>[foo]<p>bar</center><p>extra": execCommand("defaultparagraphseparator", false, "p") return value 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<center><p>[foo]<p>bar</center><p>extra": execCommand("justifyfull", false, "") return value 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<center><p>[foo]<p>bar</center><p>extra" checks for modifications to non-editable content 
-FAIL [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<center><p>[foo]<p>bar</center><p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<center><div style=\"text-align:justify\"><p>foo</p></div><p>bar</p></center><p>extra</p>" but got "<center><p style=\"text-align:justify\">foo</p><p>bar</p></center><p>extra</p>"
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<center><p>[foo]<p>bar</center><p>extra" queryCommandIndeterm("stylewithcss") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<center><p>[foo]<p>bar</center><p>extra" queryCommandState("stylewithcss") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<center><p>[foo]<p>bar</center><p>extra" queryCommandValue("stylewithcss") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<center><p>[foo]<p>bar</center><p>extra" queryCommandIndeterm("stylewithcss") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<center><p>[foo]<p>bar</center><p>extra" queryCommandState("stylewithcss") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<center><p>[foo]<p>bar</center><p>extra" queryCommandValue("stylewithcss") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<center><p>[foo]<p>bar</center><p>extra" queryCommandIndeterm("defaultparagraphseparator") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<center><p>[foo]<p>bar</center><p>extra" queryCommandState("defaultparagraphseparator") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<center><p>[foo]<p>bar</center><p>extra" queryCommandValue("defaultparagraphseparator") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<center><p>[foo]<p>bar</center><p>extra" queryCommandIndeterm("defaultparagraphseparator") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<center><p>[foo]<p>bar</center><p>extra" queryCommandState("defaultparagraphseparator") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<center><p>[foo]<p>bar</center><p>extra" queryCommandValue("defaultparagraphseparator") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<center><p>[foo]<p>bar</center><p>extra" queryCommandIndeterm("justifyfull") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<center><p>[foo]<p>bar</center><p>extra" queryCommandState("justifyfull") before 
-FAIL [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<center><p>[foo]<p>bar</center><p>extra" queryCommandValue("justifyfull") before assert_equals: Wrong result returned expected "center" but got "false"
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<center><p>[foo]<p>bar</center><p>extra" queryCommandIndeterm("justifyfull") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<center><p>[foo]<p>bar</center><p>extra" queryCommandState("justifyfull") after 
-FAIL [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<center><p>[foo]<p>bar</center><p>extra" queryCommandValue("justifyfull") after assert_equals: Wrong result returned expected "justify" but got "true"
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<center><p>[foo<p>bar]</center><p>extra": execCommand("stylewithcss", false, "true") return value 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<center><p>[foo<p>bar]</center><p>extra": execCommand("defaultparagraphseparator", false, "div") return value 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<center><p>[foo<p>bar]</center><p>extra": execCommand("justifyfull", false, "") return value 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<center><p>[foo<p>bar]</center><p>extra" checks for modifications to non-editable content 
-FAIL [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<center><p>[foo<p>bar]</center><p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<div style=\"text-align:justify\"><p>foo</p><p>bar</p></div><p>extra</p>" but got "<center><p style=\"text-align:justify\">foo</p><p style=\"text-align:justify\">bar</p></center><p>extra</p>"
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<center><p>[foo<p>bar]</center><p>extra" queryCommandIndeterm("stylewithcss") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<center><p>[foo<p>bar]</center><p>extra" queryCommandState("stylewithcss") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<center><p>[foo<p>bar]</center><p>extra" queryCommandValue("stylewithcss") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<center><p>[foo<p>bar]</center><p>extra" queryCommandIndeterm("stylewithcss") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<center><p>[foo<p>bar]</center><p>extra" queryCommandState("stylewithcss") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<center><p>[foo<p>bar]</center><p>extra" queryCommandValue("stylewithcss") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<center><p>[foo<p>bar]</center><p>extra" queryCommandIndeterm("defaultparagraphseparator") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<center><p>[foo<p>bar]</center><p>extra" queryCommandState("defaultparagraphseparator") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<center><p>[foo<p>bar]</center><p>extra" queryCommandValue("defaultparagraphseparator") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<center><p>[foo<p>bar]</center><p>extra" queryCommandIndeterm("defaultparagraphseparator") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<center><p>[foo<p>bar]</center><p>extra" queryCommandState("defaultparagraphseparator") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<center><p>[foo<p>bar]</center><p>extra" queryCommandValue("defaultparagraphseparator") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<center><p>[foo<p>bar]</center><p>extra" queryCommandIndeterm("justifyfull") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<center><p>[foo<p>bar]</center><p>extra" queryCommandState("justifyfull") before 
-FAIL [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<center><p>[foo<p>bar]</center><p>extra" queryCommandValue("justifyfull") before assert_equals: Wrong result returned expected "center" but got "false"
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<center><p>[foo<p>bar]</center><p>extra" queryCommandIndeterm("justifyfull") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<center><p>[foo<p>bar]</center><p>extra" queryCommandState("justifyfull") after 
-FAIL [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<center><p>[foo<p>bar]</center><p>extra" queryCommandValue("justifyfull") after assert_equals: Wrong result returned expected "justify" but got "true"
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<center><p>[foo<p>bar]</center><p>extra": execCommand("stylewithcss", false, "false") return value 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<center><p>[foo<p>bar]</center><p>extra": execCommand("defaultparagraphseparator", false, "div") return value 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<center><p>[foo<p>bar]</center><p>extra": execCommand("justifyfull", false, "") return value 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<center><p>[foo<p>bar]</center><p>extra" checks for modifications to non-editable content 
-FAIL [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<center><p>[foo<p>bar]</center><p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<div style=\"text-align:justify\"><p>foo</p><p>bar</p></div><p>extra</p>" but got "<center><p style=\"text-align:justify\">foo</p><p style=\"text-align:justify\">bar</p></center><p>extra</p>"
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<center><p>[foo<p>bar]</center><p>extra" queryCommandIndeterm("stylewithcss") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<center><p>[foo<p>bar]</center><p>extra" queryCommandState("stylewithcss") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<center><p>[foo<p>bar]</center><p>extra" queryCommandValue("stylewithcss") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<center><p>[foo<p>bar]</center><p>extra" queryCommandIndeterm("stylewithcss") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<center><p>[foo<p>bar]</center><p>extra" queryCommandState("stylewithcss") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<center><p>[foo<p>bar]</center><p>extra" queryCommandValue("stylewithcss") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<center><p>[foo<p>bar]</center><p>extra" queryCommandIndeterm("defaultparagraphseparator") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<center><p>[foo<p>bar]</center><p>extra" queryCommandState("defaultparagraphseparator") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<center><p>[foo<p>bar]</center><p>extra" queryCommandValue("defaultparagraphseparator") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<center><p>[foo<p>bar]</center><p>extra" queryCommandIndeterm("defaultparagraphseparator") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<center><p>[foo<p>bar]</center><p>extra" queryCommandState("defaultparagraphseparator") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<center><p>[foo<p>bar]</center><p>extra" queryCommandValue("defaultparagraphseparator") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<center><p>[foo<p>bar]</center><p>extra" queryCommandIndeterm("justifyfull") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<center><p>[foo<p>bar]</center><p>extra" queryCommandState("justifyfull") before 
-FAIL [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<center><p>[foo<p>bar]</center><p>extra" queryCommandValue("justifyfull") before assert_equals: Wrong result returned expected "center" but got "false"
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<center><p>[foo<p>bar]</center><p>extra" queryCommandIndeterm("justifyfull") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<center><p>[foo<p>bar]</center><p>extra" queryCommandState("justifyfull") after 
-FAIL [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<center><p>[foo<p>bar]</center><p>extra" queryCommandValue("justifyfull") after assert_equals: Wrong result returned expected "justify" but got "true"
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<center><p>[foo<p>bar]</center><p>extra": execCommand("stylewithcss", false, "true") return value 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<center><p>[foo<p>bar]</center><p>extra": execCommand("defaultparagraphseparator", false, "p") return value 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<center><p>[foo<p>bar]</center><p>extra": execCommand("justifyfull", false, "") return value 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<center><p>[foo<p>bar]</center><p>extra" checks for modifications to non-editable content 
-FAIL [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<center><p>[foo<p>bar]</center><p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<div style=\"text-align:justify\"><p>foo</p><p>bar</p></div><p>extra</p>" but got "<center><p style=\"text-align:justify\">foo</p><p style=\"text-align:justify\">bar</p></center><p>extra</p>"
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<center><p>[foo<p>bar]</center><p>extra" queryCommandIndeterm("stylewithcss") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<center><p>[foo<p>bar]</center><p>extra" queryCommandState("stylewithcss") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<center><p>[foo<p>bar]</center><p>extra" queryCommandValue("stylewithcss") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<center><p>[foo<p>bar]</center><p>extra" queryCommandIndeterm("stylewithcss") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<center><p>[foo<p>bar]</center><p>extra" queryCommandState("stylewithcss") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<center><p>[foo<p>bar]</center><p>extra" queryCommandValue("stylewithcss") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<center><p>[foo<p>bar]</center><p>extra" queryCommandIndeterm("defaultparagraphseparator") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<center><p>[foo<p>bar]</center><p>extra" queryCommandState("defaultparagraphseparator") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<center><p>[foo<p>bar]</center><p>extra" queryCommandValue("defaultparagraphseparator") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<center><p>[foo<p>bar]</center><p>extra" queryCommandIndeterm("defaultparagraphseparator") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<center><p>[foo<p>bar]</center><p>extra" queryCommandState("defaultparagraphseparator") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<center><p>[foo<p>bar]</center><p>extra" queryCommandValue("defaultparagraphseparator") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<center><p>[foo<p>bar]</center><p>extra" queryCommandIndeterm("justifyfull") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<center><p>[foo<p>bar]</center><p>extra" queryCommandState("justifyfull") before 
-FAIL [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<center><p>[foo<p>bar]</center><p>extra" queryCommandValue("justifyfull") before assert_equals: Wrong result returned expected "center" but got "false"
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<center><p>[foo<p>bar]</center><p>extra" queryCommandIndeterm("justifyfull") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<center><p>[foo<p>bar]</center><p>extra" queryCommandState("justifyfull") after 
-FAIL [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<center><p>[foo<p>bar]</center><p>extra" queryCommandValue("justifyfull") after assert_equals: Wrong result returned expected "justify" but got "true"
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<center><p>[foo<p>bar]</center><p>extra": execCommand("stylewithcss", false, "false") return value 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<center><p>[foo<p>bar]</center><p>extra": execCommand("defaultparagraphseparator", false, "p") return value 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<center><p>[foo<p>bar]</center><p>extra": execCommand("justifyfull", false, "") return value 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<center><p>[foo<p>bar]</center><p>extra" checks for modifications to non-editable content 
-FAIL [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<center><p>[foo<p>bar]</center><p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<div style=\"text-align:justify\"><p>foo</p><p>bar</p></div><p>extra</p>" but got "<center><p style=\"text-align:justify\">foo</p><p style=\"text-align:justify\">bar</p></center><p>extra</p>"
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<center><p>[foo<p>bar]</center><p>extra" queryCommandIndeterm("stylewithcss") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<center><p>[foo<p>bar]</center><p>extra" queryCommandState("stylewithcss") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<center><p>[foo<p>bar]</center><p>extra" queryCommandValue("stylewithcss") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<center><p>[foo<p>bar]</center><p>extra" queryCommandIndeterm("stylewithcss") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<center><p>[foo<p>bar]</center><p>extra" queryCommandState("stylewithcss") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<center><p>[foo<p>bar]</center><p>extra" queryCommandValue("stylewithcss") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<center><p>[foo<p>bar]</center><p>extra" queryCommandIndeterm("defaultparagraphseparator") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<center><p>[foo<p>bar]</center><p>extra" queryCommandState("defaultparagraphseparator") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<center><p>[foo<p>bar]</center><p>extra" queryCommandValue("defaultparagraphseparator") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<center><p>[foo<p>bar]</center><p>extra" queryCommandIndeterm("defaultparagraphseparator") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<center><p>[foo<p>bar]</center><p>extra" queryCommandState("defaultparagraphseparator") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<center><p>[foo<p>bar]</center><p>extra" queryCommandValue("defaultparagraphseparator") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<center><p>[foo<p>bar]</center><p>extra" queryCommandIndeterm("justifyfull") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<center><p>[foo<p>bar]</center><p>extra" queryCommandState("justifyfull") before 
-FAIL [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<center><p>[foo<p>bar]</center><p>extra" queryCommandValue("justifyfull") before assert_equals: Wrong result returned expected "center" but got "false"
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<center><p>[foo<p>bar]</center><p>extra" queryCommandIndeterm("justifyfull") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<center><p>[foo<p>bar]</center><p>extra" queryCommandState("justifyfull") after 
-FAIL [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<center><p>[foo<p>bar]</center><p>extra" queryCommandValue("justifyfull") after assert_equals: Wrong result returned expected "justify" but got "true"
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table><tbody><tr><td>foo<td>b[a]r<td>baz</table><p>extra": execCommand("stylewithcss", false, "true") return value 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table><tbody><tr><td>foo<td>b[a]r<td>baz</table><p>extra": execCommand("defaultparagraphseparator", false, "div") return value 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table><tbody><tr><td>foo<td>b[a]r<td>baz</table><p>extra": execCommand("justifyfull", false, "") return value 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table><tbody><tr><td>foo<td>b[a]r<td>baz</table><p>extra" checks for modifications to non-editable content 
-FAIL [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table><tbody><tr><td>foo<td>b[a]r<td>baz</table><p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<table><tbody><tr><td>foo</td><td><div style=\"text-align:justify\">bar</div></td><td>baz</td></tr></tbody></table><p>extra</p>" but got "<table><tbody><tr><td>foo</td><td style=\"text-align:justify\">bar</td><td>baz</td></tr></tbody></table><p>extra</p>"
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table><tbody><tr><td>foo<td>b[a]r<td>baz</table><p>extra" queryCommandIndeterm("stylewithcss") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table><tbody><tr><td>foo<td>b[a]r<td>baz</table><p>extra" queryCommandState("stylewithcss") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table><tbody><tr><td>foo<td>b[a]r<td>baz</table><p>extra" queryCommandValue("stylewithcss") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table><tbody><tr><td>foo<td>b[a]r<td>baz</table><p>extra" queryCommandIndeterm("stylewithcss") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table><tbody><tr><td>foo<td>b[a]r<td>baz</table><p>extra" queryCommandState("stylewithcss") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table><tbody><tr><td>foo<td>b[a]r<td>baz</table><p>extra" queryCommandValue("stylewithcss") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table><tbody><tr><td>foo<td>b[a]r<td>baz</table><p>extra" queryCommandIndeterm("defaultparagraphseparator") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table><tbody><tr><td>foo<td>b[a]r<td>baz</table><p>extra" queryCommandState("defaultparagraphseparator") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table><tbody><tr><td>foo<td>b[a]r<td>baz</table><p>extra" queryCommandValue("defaultparagraphseparator") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table><tbody><tr><td>foo<td>b[a]r<td>baz</table><p>extra" queryCommandIndeterm("defaultparagraphseparator") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table><tbody><tr><td>foo<td>b[a]r<td>baz</table><p>extra" queryCommandState("defaultparagraphseparator") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table><tbody><tr><td>foo<td>b[a]r<td>baz</table><p>extra" queryCommandValue("defaultparagraphseparator") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table><tbody><tr><td>foo<td>b[a]r<td>baz</table><p>extra" queryCommandIndeterm("justifyfull") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table><tbody><tr><td>foo<td>b[a]r<td>baz</table><p>extra" queryCommandState("justifyfull") before 
-FAIL [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table><tbody><tr><td>foo<td>b[a]r<td>baz</table><p>extra" queryCommandValue("justifyfull") before assert_equals: Wrong result returned expected "left" but got "false"
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table><tbody><tr><td>foo<td>b[a]r<td>baz</table><p>extra" queryCommandIndeterm("justifyfull") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table><tbody><tr><td>foo<td>b[a]r<td>baz</table><p>extra" queryCommandState("justifyfull") after 
-FAIL [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table><tbody><tr><td>foo<td>b[a]r<td>baz</table><p>extra" queryCommandValue("justifyfull") after assert_equals: Wrong result returned expected "justify" but got "true"
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table><tbody><tr><td>foo<td>b[a]r<td>baz</table><p>extra": execCommand("stylewithcss", false, "false") return value 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table><tbody><tr><td>foo<td>b[a]r<td>baz</table><p>extra": execCommand("defaultparagraphseparator", false, "div") return value 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table><tbody><tr><td>foo<td>b[a]r<td>baz</table><p>extra": execCommand("justifyfull", false, "") return value 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table><tbody><tr><td>foo<td>b[a]r<td>baz</table><p>extra" checks for modifications to non-editable content 
-FAIL [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table><tbody><tr><td>foo<td>b[a]r<td>baz</table><p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<table><tbody><tr><td>foo</td><td><div style=\"text-align:justify\">bar</div></td><td>baz</td></tr></tbody></table><p>extra</p>" but got "<table><tbody><tr><td>foo</td><td style=\"text-align:justify\">bar</td><td>baz</td></tr></tbody></table><p>extra</p>"
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table><tbody><tr><td>foo<td>b[a]r<td>baz</table><p>extra" queryCommandIndeterm("stylewithcss") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table><tbody><tr><td>foo<td>b[a]r<td>baz</table><p>extra" queryCommandState("stylewithcss") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table><tbody><tr><td>foo<td>b[a]r<td>baz</table><p>extra" queryCommandValue("stylewithcss") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table><tbody><tr><td>foo<td>b[a]r<td>baz</table><p>extra" queryCommandIndeterm("stylewithcss") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table><tbody><tr><td>foo<td>b[a]r<td>baz</table><p>extra" queryCommandState("stylewithcss") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table><tbody><tr><td>foo<td>b[a]r<td>baz</table><p>extra" queryCommandValue("stylewithcss") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table><tbody><tr><td>foo<td>b[a]r<td>baz</table><p>extra" queryCommandIndeterm("defaultparagraphseparator") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table><tbody><tr><td>foo<td>b[a]r<td>baz</table><p>extra" queryCommandState("defaultparagraphseparator") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table><tbody><tr><td>foo<td>b[a]r<td>baz</table><p>extra" queryCommandValue("defaultparagraphseparator") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table><tbody><tr><td>foo<td>b[a]r<td>baz</table><p>extra" queryCommandIndeterm("defaultparagraphseparator") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table><tbody><tr><td>foo<td>b[a]r<td>baz</table><p>extra" queryCommandState("defaultparagraphseparator") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table><tbody><tr><td>foo<td>b[a]r<td>baz</table><p>extra" queryCommandValue("defaultparagraphseparator") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table><tbody><tr><td>foo<td>b[a]r<td>baz</table><p>extra" queryCommandIndeterm("justifyfull") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table><tbody><tr><td>foo<td>b[a]r<td>baz</table><p>extra" queryCommandState("justifyfull") before 
-FAIL [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table><tbody><tr><td>foo<td>b[a]r<td>baz</table><p>extra" queryCommandValue("justifyfull") before assert_equals: Wrong result returned expected "left" but got "false"
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table><tbody><tr><td>foo<td>b[a]r<td>baz</table><p>extra" queryCommandIndeterm("justifyfull") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table><tbody><tr><td>foo<td>b[a]r<td>baz</table><p>extra" queryCommandState("justifyfull") after 
-FAIL [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table><tbody><tr><td>foo<td>b[a]r<td>baz</table><p>extra" queryCommandValue("justifyfull") after assert_equals: Wrong result returned expected "justify" but got "true"
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table><tbody><tr><td>foo<td>b[a]r<td>baz</table><p>extra": execCommand("stylewithcss", false, "true") return value 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table><tbody><tr><td>foo<td>b[a]r<td>baz</table><p>extra": execCommand("defaultparagraphseparator", false, "p") return value 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table><tbody><tr><td>foo<td>b[a]r<td>baz</table><p>extra": execCommand("justifyfull", false, "") return value 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table><tbody><tr><td>foo<td>b[a]r<td>baz</table><p>extra" checks for modifications to non-editable content 
-FAIL [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table><tbody><tr><td>foo<td>b[a]r<td>baz</table><p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<table><tbody><tr><td>foo</td><td><div style=\"text-align:justify\">bar</div></td><td>baz</td></tr></tbody></table><p>extra</p>" but got "<table><tbody><tr><td>foo</td><td style=\"text-align:justify\">bar</td><td>baz</td></tr></tbody></table><p>extra</p>"
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table><tbody><tr><td>foo<td>b[a]r<td>baz</table><p>extra" queryCommandIndeterm("stylewithcss") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table><tbody><tr><td>foo<td>b[a]r<td>baz</table><p>extra" queryCommandState("stylewithcss") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table><tbody><tr><td>foo<td>b[a]r<td>baz</table><p>extra" queryCommandValue("stylewithcss") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table><tbody><tr><td>foo<td>b[a]r<td>baz</table><p>extra" queryCommandIndeterm("stylewithcss") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table><tbody><tr><td>foo<td>b[a]r<td>baz</table><p>extra" queryCommandState("stylewithcss") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table><tbody><tr><td>foo<td>b[a]r<td>baz</table><p>extra" queryCommandValue("stylewithcss") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table><tbody><tr><td>foo<td>b[a]r<td>baz</table><p>extra" queryCommandIndeterm("defaultparagraphseparator") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table><tbody><tr><td>foo<td>b[a]r<td>baz</table><p>extra" queryCommandState("defaultparagraphseparator") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table><tbody><tr><td>foo<td>b[a]r<td>baz</table><p>extra" queryCommandValue("defaultparagraphseparator") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table><tbody><tr><td>foo<td>b[a]r<td>baz</table><p>extra" queryCommandIndeterm("defaultparagraphseparator") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table><tbody><tr><td>foo<td>b[a]r<td>baz</table><p>extra" queryCommandState("defaultparagraphseparator") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table><tbody><tr><td>foo<td>b[a]r<td>baz</table><p>extra" queryCommandValue("defaultparagraphseparator") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table><tbody><tr><td>foo<td>b[a]r<td>baz</table><p>extra" queryCommandIndeterm("justifyfull") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table><tbody><tr><td>foo<td>b[a]r<td>baz</table><p>extra" queryCommandState("justifyfull") before 
-FAIL [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table><tbody><tr><td>foo<td>b[a]r<td>baz</table><p>extra" queryCommandValue("justifyfull") before assert_equals: Wrong result returned expected "left" but got "false"
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table><tbody><tr><td>foo<td>b[a]r<td>baz</table><p>extra" queryCommandIndeterm("justifyfull") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table><tbody><tr><td>foo<td>b[a]r<td>baz</table><p>extra" queryCommandState("justifyfull") after 
-FAIL [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table><tbody><tr><td>foo<td>b[a]r<td>baz</table><p>extra" queryCommandValue("justifyfull") after assert_equals: Wrong result returned expected "justify" but got "true"
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table><tbody><tr><td>foo<td>b[a]r<td>baz</table><p>extra": execCommand("stylewithcss", false, "false") return value 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table><tbody><tr><td>foo<td>b[a]r<td>baz</table><p>extra": execCommand("defaultparagraphseparator", false, "p") return value 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table><tbody><tr><td>foo<td>b[a]r<td>baz</table><p>extra": execCommand("justifyfull", false, "") return value 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table><tbody><tr><td>foo<td>b[a]r<td>baz</table><p>extra" checks for modifications to non-editable content 
-FAIL [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table><tbody><tr><td>foo<td>b[a]r<td>baz</table><p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<table><tbody><tr><td>foo</td><td><div style=\"text-align:justify\">bar</div></td><td>baz</td></tr></tbody></table><p>extra</p>" but got "<table><tbody><tr><td>foo</td><td style=\"text-align:justify\">bar</td><td>baz</td></tr></tbody></table><p>extra</p>"
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table><tbody><tr><td>foo<td>b[a]r<td>baz</table><p>extra" queryCommandIndeterm("stylewithcss") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table><tbody><tr><td>foo<td>b[a]r<td>baz</table><p>extra" queryCommandState("stylewithcss") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table><tbody><tr><td>foo<td>b[a]r<td>baz</table><p>extra" queryCommandValue("stylewithcss") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table><tbody><tr><td>foo<td>b[a]r<td>baz</table><p>extra" queryCommandIndeterm("stylewithcss") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table><tbody><tr><td>foo<td>b[a]r<td>baz</table><p>extra" queryCommandState("stylewithcss") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table><tbody><tr><td>foo<td>b[a]r<td>baz</table><p>extra" queryCommandValue("stylewithcss") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table><tbody><tr><td>foo<td>b[a]r<td>baz</table><p>extra" queryCommandIndeterm("defaultparagraphseparator") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table><tbody><tr><td>foo<td>b[a]r<td>baz</table><p>extra" queryCommandState("defaultparagraphseparator") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table><tbody><tr><td>foo<td>b[a]r<td>baz</table><p>extra" queryCommandValue("defaultparagraphseparator") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table><tbody><tr><td>foo<td>b[a]r<td>baz</table><p>extra" queryCommandIndeterm("defaultparagraphseparator") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table><tbody><tr><td>foo<td>b[a]r<td>baz</table><p>extra" queryCommandState("defaultparagraphseparator") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table><tbody><tr><td>foo<td>b[a]r<td>baz</table><p>extra" queryCommandValue("defaultparagraphseparator") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table><tbody><tr><td>foo<td>b[a]r<td>baz</table><p>extra" queryCommandIndeterm("justifyfull") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table><tbody><tr><td>foo<td>b[a]r<td>baz</table><p>extra" queryCommandState("justifyfull") before 
-FAIL [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table><tbody><tr><td>foo<td>b[a]r<td>baz</table><p>extra" queryCommandValue("justifyfull") before assert_equals: Wrong result returned expected "left" but got "false"
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table><tbody><tr><td>foo<td>b[a]r<td>baz</table><p>extra" queryCommandIndeterm("justifyfull") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table><tbody><tr><td>foo<td>b[a]r<td>baz</table><p>extra" queryCommandState("justifyfull") after 
-FAIL [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table><tbody><tr><td>foo<td>b[a]r<td>baz</table><p>extra" queryCommandValue("justifyfull") after assert_equals: Wrong result returned expected "justify" but got "true"
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table><tbody><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table><p>extra": execCommand("stylewithcss", false, "true") return value 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table><tbody><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table><p>extra": execCommand("defaultparagraphseparator", false, "div") return value 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table><tbody><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table><p>extra": execCommand("justifyfull", false, "") return value 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table><tbody><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table><p>extra" checks for modifications to non-editable content 
-FAIL [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table><tbody><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table><p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<table><tbody><tr><td>foo</td><td><div style=\"text-align:justify\">bar</div></td><td>baz</td></tr></tbody></table><p>extra</p>" but got "<table><tbody><tr><td>foo</td><td style=\"text-align:justify\">bar</td><td style=\"text-align:justify\">baz</td></tr></tbody></table><p>extra</p>"
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table><tbody><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("stylewithcss") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table><tbody><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("stylewithcss") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table><tbody><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("stylewithcss") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table><tbody><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("stylewithcss") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table><tbody><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("stylewithcss") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table><tbody><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("stylewithcss") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table><tbody><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("defaultparagraphseparator") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table><tbody><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("defaultparagraphseparator") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table><tbody><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("defaultparagraphseparator") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table><tbody><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("defaultparagraphseparator") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table><tbody><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("defaultparagraphseparator") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table><tbody><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("defaultparagraphseparator") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table><tbody><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("justifyfull") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table><tbody><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("justifyfull") before 
-FAIL [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table><tbody><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("justifyfull") before assert_equals: Wrong result returned expected "left" but got "false"
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table><tbody><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("justifyfull") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table><tbody><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("justifyfull") after 
-FAIL [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table><tbody><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("justifyfull") after assert_equals: Wrong result returned expected "justify" but got "true"
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table><tbody><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table><p>extra": execCommand("stylewithcss", false, "false") return value 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table><tbody><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table><p>extra": execCommand("defaultparagraphseparator", false, "div") return value 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table><tbody><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table><p>extra": execCommand("justifyfull", false, "") return value 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table><tbody><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table><p>extra" checks for modifications to non-editable content 
-FAIL [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table><tbody><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table><p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<table><tbody><tr><td>foo</td><td><div style=\"text-align:justify\">bar</div></td><td>baz</td></tr></tbody></table><p>extra</p>" but got "<table><tbody><tr><td>foo</td><td style=\"text-align:justify\">bar</td><td style=\"text-align:justify\">baz</td></tr></tbody></table><p>extra</p>"
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table><tbody><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("stylewithcss") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table><tbody><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("stylewithcss") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table><tbody><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("stylewithcss") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table><tbody><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("stylewithcss") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table><tbody><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("stylewithcss") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table><tbody><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("stylewithcss") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table><tbody><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("defaultparagraphseparator") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table><tbody><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("defaultparagraphseparator") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table><tbody><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("defaultparagraphseparator") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table><tbody><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("defaultparagraphseparator") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table><tbody><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("defaultparagraphseparator") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table><tbody><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("defaultparagraphseparator") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table><tbody><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("justifyfull") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table><tbody><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("justifyfull") before 
-FAIL [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table><tbody><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("justifyfull") before assert_equals: Wrong result returned expected "left" but got "false"
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table><tbody><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("justifyfull") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table><tbody><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("justifyfull") after 
-FAIL [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table><tbody><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("justifyfull") after assert_equals: Wrong result returned expected "justify" but got "true"
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table><tbody><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table><p>extra": execCommand("stylewithcss", false, "true") return value 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table><tbody><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table><p>extra": execCommand("defaultparagraphseparator", false, "p") return value 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table><tbody><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table><p>extra": execCommand("justifyfull", false, "") return value 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table><tbody><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table><p>extra" checks for modifications to non-editable content 
-FAIL [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table><tbody><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table><p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<table><tbody><tr><td>foo</td><td><div style=\"text-align:justify\">bar</div></td><td>baz</td></tr></tbody></table><p>extra</p>" but got "<table><tbody><tr><td>foo</td><td style=\"text-align:justify\">bar</td><td style=\"text-align:justify\">baz</td></tr></tbody></table><p>extra</p>"
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table><tbody><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("stylewithcss") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table><tbody><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("stylewithcss") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table><tbody><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("stylewithcss") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table><tbody><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("stylewithcss") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table><tbody><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("stylewithcss") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table><tbody><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("stylewithcss") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table><tbody><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("defaultparagraphseparator") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table><tbody><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("defaultparagraphseparator") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table><tbody><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("defaultparagraphseparator") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table><tbody><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("defaultparagraphseparator") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table><tbody><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("defaultparagraphseparator") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table><tbody><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("defaultparagraphseparator") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table><tbody><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("justifyfull") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table><tbody><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("justifyfull") before 
-FAIL [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table><tbody><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("justifyfull") before assert_equals: Wrong result returned expected "left" but got "false"
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table><tbody><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("justifyfull") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table><tbody><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("justifyfull") after 
-FAIL [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table><tbody><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("justifyfull") after assert_equals: Wrong result returned expected "justify" but got "true"
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table><tbody><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table><p>extra": execCommand("stylewithcss", false, "false") return value 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table><tbody><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table><p>extra": execCommand("defaultparagraphseparator", false, "p") return value 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table><tbody><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table><p>extra": execCommand("justifyfull", false, "") return value 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table><tbody><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table><p>extra" checks for modifications to non-editable content 
-FAIL [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table><tbody><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table><p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<table><tbody><tr><td>foo</td><td><div style=\"text-align:justify\">bar</div></td><td>baz</td></tr></tbody></table><p>extra</p>" but got "<table><tbody><tr><td>foo</td><td style=\"text-align:justify\">bar</td><td style=\"text-align:justify\">baz</td></tr></tbody></table><p>extra</p>"
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table><tbody><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("stylewithcss") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table><tbody><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("stylewithcss") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table><tbody><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("stylewithcss") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table><tbody><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("stylewithcss") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table><tbody><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("stylewithcss") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table><tbody><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("stylewithcss") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table><tbody><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("defaultparagraphseparator") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table><tbody><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("defaultparagraphseparator") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table><tbody><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("defaultparagraphseparator") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table><tbody><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("defaultparagraphseparator") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table><tbody><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("defaultparagraphseparator") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table><tbody><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("defaultparagraphseparator") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table><tbody><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("justifyfull") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table><tbody><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("justifyfull") before 
-FAIL [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table><tbody><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("justifyfull") before assert_equals: Wrong result returned expected "left" but got "false"
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table><tbody><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("justifyfull") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table><tbody><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("justifyfull") after 
-FAIL [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table><tbody><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("justifyfull") after assert_equals: Wrong result returned expected "justify" but got "true"
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table><tbody><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table><p>extra": execCommand("stylewithcss", false, "true") return value 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table><tbody><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table><p>extra": execCommand("defaultparagraphseparator", false, "div") return value 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table><tbody><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table><p>extra": execCommand("justifyfull", false, "") return value 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table><tbody><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table><p>extra" checks for modifications to non-editable content 
-FAIL [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table><tbody><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table><p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<table><tbody><tr><td><div style=\"text-align:justify\">foo</div></td><td><div style=\"text-align:justify\">bar</div></td><td>baz</td></tr></tbody></table><p>extra</p>" but got "<table><tbody><tr><td style=\"text-align:justify\">foo</td><td style=\"text-align:justify\">bar</td><td style=\"text-align:justify\">baz</td></tr></tbody></table><p>extra</p>"
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table><tbody><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("stylewithcss") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table><tbody><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("stylewithcss") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table><tbody><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("stylewithcss") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table><tbody><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("stylewithcss") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table><tbody><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("stylewithcss") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table><tbody><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("stylewithcss") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table><tbody><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("defaultparagraphseparator") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table><tbody><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("defaultparagraphseparator") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table><tbody><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("defaultparagraphseparator") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table><tbody><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("defaultparagraphseparator") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table><tbody><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("defaultparagraphseparator") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table><tbody><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("defaultparagraphseparator") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table><tbody><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("justifyfull") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table><tbody><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("justifyfull") before 
-FAIL [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table><tbody><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("justifyfull") before assert_equals: Wrong result returned expected "left" but got "false"
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table><tbody><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("justifyfull") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table><tbody><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("justifyfull") after 
-FAIL [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table><tbody><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("justifyfull") after assert_equals: Wrong result returned expected "justify" but got "true"
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table><tbody><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table><p>extra": execCommand("stylewithcss", false, "false") return value 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table><tbody><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table><p>extra": execCommand("defaultparagraphseparator", false, "div") return value 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table><tbody><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table><p>extra": execCommand("justifyfull", false, "") return value 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table><tbody><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table><p>extra" checks for modifications to non-editable content 
-FAIL [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table><tbody><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table><p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<table><tbody><tr><td><div style=\"text-align:justify\">foo</div></td><td><div style=\"text-align:justify\">bar</div></td><td>baz</td></tr></tbody></table><p>extra</p>" but got "<table><tbody><tr><td style=\"text-align:justify\">foo</td><td style=\"text-align:justify\">bar</td><td style=\"text-align:justify\">baz</td></tr></tbody></table><p>extra</p>"
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table><tbody><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("stylewithcss") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table><tbody><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("stylewithcss") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table><tbody><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("stylewithcss") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table><tbody><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("stylewithcss") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table><tbody><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("stylewithcss") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table><tbody><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("stylewithcss") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table><tbody><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("defaultparagraphseparator") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table><tbody><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("defaultparagraphseparator") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table><tbody><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("defaultparagraphseparator") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table><tbody><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("defaultparagraphseparator") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table><tbody><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("defaultparagraphseparator") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table><tbody><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("defaultparagraphseparator") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table><tbody><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("justifyfull") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table><tbody><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("justifyfull") before 
-FAIL [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table><tbody><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("justifyfull") before assert_equals: Wrong result returned expected "left" but got "false"
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table><tbody><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("justifyfull") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table><tbody><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("justifyfull") after 
-FAIL [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table><tbody><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("justifyfull") after assert_equals: Wrong result returned expected "justify" but got "true"
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table><tbody><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table><p>extra": execCommand("stylewithcss", false, "true") return value 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table><tbody><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table><p>extra": execCommand("defaultparagraphseparator", false, "p") return value 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table><tbody><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table><p>extra": execCommand("justifyfull", false, "") return value 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table><tbody><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table><p>extra" checks for modifications to non-editable content 
-FAIL [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table><tbody><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table><p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<table><tbody><tr><td><div style=\"text-align:justify\">foo</div></td><td><div style=\"text-align:justify\">bar</div></td><td>baz</td></tr></tbody></table><p>extra</p>" but got "<table><tbody><tr><td style=\"text-align:justify\">foo</td><td style=\"text-align:justify\">bar</td><td style=\"text-align:justify\">baz</td></tr></tbody></table><p>extra</p>"
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table><tbody><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("stylewithcss") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table><tbody><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("stylewithcss") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table><tbody><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("stylewithcss") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table><tbody><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("stylewithcss") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table><tbody><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("stylewithcss") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table><tbody><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("stylewithcss") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table><tbody><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("defaultparagraphseparator") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table><tbody><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("defaultparagraphseparator") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table><tbody><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("defaultparagraphseparator") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table><tbody><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("defaultparagraphseparator") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table><tbody><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("defaultparagraphseparator") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table><tbody><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("defaultparagraphseparator") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table><tbody><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("justifyfull") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table><tbody><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("justifyfull") before 
-FAIL [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table><tbody><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("justifyfull") before assert_equals: Wrong result returned expected "left" but got "false"
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table><tbody><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("justifyfull") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table><tbody><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("justifyfull") after 
-FAIL [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table><tbody><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("justifyfull") after assert_equals: Wrong result returned expected "justify" but got "true"
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table><tbody><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table><p>extra": execCommand("stylewithcss", false, "false") return value 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table><tbody><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table><p>extra": execCommand("defaultparagraphseparator", false, "p") return value 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table><tbody><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table><p>extra": execCommand("justifyfull", false, "") return value 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table><tbody><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table><p>extra" checks for modifications to non-editable content 
-FAIL [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table><tbody><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table><p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<table><tbody><tr><td><div style=\"text-align:justify\">foo</div></td><td><div style=\"text-align:justify\">bar</div></td><td>baz</td></tr></tbody></table><p>extra</p>" but got "<table><tbody><tr><td style=\"text-align:justify\">foo</td><td style=\"text-align:justify\">bar</td><td style=\"text-align:justify\">baz</td></tr></tbody></table><p>extra</p>"
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table><tbody><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("stylewithcss") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table><tbody><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("stylewithcss") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table><tbody><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("stylewithcss") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table><tbody><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("stylewithcss") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table><tbody><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("stylewithcss") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table><tbody><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("stylewithcss") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table><tbody><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("defaultparagraphseparator") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table><tbody><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("defaultparagraphseparator") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table><tbody><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("defaultparagraphseparator") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table><tbody><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("defaultparagraphseparator") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table><tbody><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("defaultparagraphseparator") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table><tbody><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("defaultparagraphseparator") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table><tbody><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("justifyfull") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table><tbody><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("justifyfull") before 
-FAIL [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table><tbody><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("justifyfull") before assert_equals: Wrong result returned expected "left" but got "false"
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table><tbody><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("justifyfull") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table><tbody><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("justifyfull") after 
-FAIL [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table><tbody><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("justifyfull") after assert_equals: Wrong result returned expected "justify" but got "true"
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table><tbody data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra": execCommand("stylewithcss", false, "true") return value 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table><tbody data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra": execCommand("defaultparagraphseparator", false, "div") return value 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table><tbody data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra": execCommand("justifyfull", false, "") return value 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table><tbody data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" checks for modifications to non-editable content 
-FAIL [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table><tbody data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<div style=\"text-align:justify\"><table><tbody><tr><td>foo</td><td>bar</td><td>baz</td></tr></tbody></table></div><p>extra</p>" but got "<table style=\"text-align:justify\"><tbody><tr><td style=\"text-align:justify\">foo</td><td style=\"text-align:justify\">bar</td><td style=\"text-align:justify\">baz</td></tr></tbody></table><p>extra</p>"
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table><tbody data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("stylewithcss") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table><tbody data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("stylewithcss") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table><tbody data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("stylewithcss") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table><tbody data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("stylewithcss") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table><tbody data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("stylewithcss") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table><tbody data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("stylewithcss") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table><tbody data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("defaultparagraphseparator") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table><tbody data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("defaultparagraphseparator") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table><tbody data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("defaultparagraphseparator") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table><tbody data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("defaultparagraphseparator") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table><tbody data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("defaultparagraphseparator") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table><tbody data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("defaultparagraphseparator") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table><tbody data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("justifyfull") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table><tbody data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("justifyfull") before 
-FAIL [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table><tbody data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("justifyfull") before assert_equals: Wrong result returned expected "left" but got "false"
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table><tbody data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("justifyfull") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table><tbody data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("justifyfull") after 
-FAIL [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table><tbody data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("justifyfull") after assert_equals: Wrong result returned expected "justify" but got "true"
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table><tbody data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra": execCommand("stylewithcss", false, "false") return value 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table><tbody data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra": execCommand("defaultparagraphseparator", false, "div") return value 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table><tbody data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra": execCommand("justifyfull", false, "") return value 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table><tbody data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" checks for modifications to non-editable content 
-FAIL [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table><tbody data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<div style=\"text-align:justify\"><table><tbody><tr><td>foo</td><td>bar</td><td>baz</td></tr></tbody></table></div><p>extra</p>" but got "<table style=\"text-align:justify\"><tbody><tr><td style=\"text-align:justify\">foo</td><td style=\"text-align:justify\">bar</td><td style=\"text-align:justify\">baz</td></tr></tbody></table><p>extra</p>"
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table><tbody data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("stylewithcss") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table><tbody data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("stylewithcss") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table><tbody data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("stylewithcss") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table><tbody data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("stylewithcss") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table><tbody data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("stylewithcss") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table><tbody data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("stylewithcss") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table><tbody data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("defaultparagraphseparator") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table><tbody data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("defaultparagraphseparator") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table><tbody data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("defaultparagraphseparator") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table><tbody data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("defaultparagraphseparator") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table><tbody data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("defaultparagraphseparator") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table><tbody data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("defaultparagraphseparator") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table><tbody data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("justifyfull") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table><tbody data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("justifyfull") before 
-FAIL [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table><tbody data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("justifyfull") before assert_equals: Wrong result returned expected "left" but got "false"
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table><tbody data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("justifyfull") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table><tbody data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("justifyfull") after 
-FAIL [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table><tbody data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("justifyfull") after assert_equals: Wrong result returned expected "justify" but got "true"
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table><tbody data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra": execCommand("stylewithcss", false, "true") return value 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table><tbody data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra": execCommand("defaultparagraphseparator", false, "p") return value 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table><tbody data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra": execCommand("justifyfull", false, "") return value 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table><tbody data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" checks for modifications to non-editable content 
-FAIL [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table><tbody data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<div style=\"text-align:justify\"><table><tbody><tr><td>foo</td><td>bar</td><td>baz</td></tr></tbody></table></div><p>extra</p>" but got "<table style=\"text-align:justify\"><tbody><tr><td style=\"text-align:justify\">foo</td><td style=\"text-align:justify\">bar</td><td style=\"text-align:justify\">baz</td></tr></tbody></table><p>extra</p>"
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table><tbody data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("stylewithcss") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table><tbody data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("stylewithcss") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table><tbody data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("stylewithcss") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table><tbody data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("stylewithcss") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table><tbody data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("stylewithcss") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table><tbody data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("stylewithcss") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table><tbody data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("defaultparagraphseparator") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table><tbody data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("defaultparagraphseparator") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table><tbody data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("defaultparagraphseparator") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table><tbody data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("defaultparagraphseparator") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table><tbody data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("defaultparagraphseparator") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table><tbody data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("defaultparagraphseparator") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table><tbody data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("justifyfull") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table><tbody data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("justifyfull") before 
-FAIL [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table><tbody data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("justifyfull") before assert_equals: Wrong result returned expected "left" but got "false"
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table><tbody data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("justifyfull") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table><tbody data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("justifyfull") after 
-FAIL [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table><tbody data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("justifyfull") after assert_equals: Wrong result returned expected "justify" but got "true"
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table><tbody data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra": execCommand("stylewithcss", false, "false") return value 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table><tbody data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra": execCommand("defaultparagraphseparator", false, "p") return value 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table><tbody data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra": execCommand("justifyfull", false, "") return value 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table><tbody data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" checks for modifications to non-editable content 
-FAIL [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table><tbody data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<div style=\"text-align:justify\"><table><tbody><tr><td>foo</td><td>bar</td><td>baz</td></tr></tbody></table></div><p>extra</p>" but got "<table style=\"text-align:justify\"><tbody><tr><td style=\"text-align:justify\">foo</td><td style=\"text-align:justify\">bar</td><td style=\"text-align:justify\">baz</td></tr></tbody></table><p>extra</p>"
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table><tbody data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("stylewithcss") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table><tbody data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("stylewithcss") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table><tbody data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("stylewithcss") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table><tbody data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("stylewithcss") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table><tbody data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("stylewithcss") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table><tbody data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("stylewithcss") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table><tbody data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("defaultparagraphseparator") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table><tbody data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("defaultparagraphseparator") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table><tbody data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("defaultparagraphseparator") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table><tbody data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("defaultparagraphseparator") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table><tbody data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("defaultparagraphseparator") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table><tbody data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("defaultparagraphseparator") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table><tbody data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("justifyfull") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table><tbody data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("justifyfull") before 
-FAIL [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table><tbody data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("justifyfull") before assert_equals: Wrong result returned expected "left" but got "false"
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table><tbody data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("justifyfull") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table><tbody data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("justifyfull") after 
-FAIL [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table><tbody data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("justifyfull") after assert_equals: Wrong result returned expected "justify" but got "true"
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table data-start=0 data-end=1><tbody><tr><td>foo<td>bar<td>baz</table><p>extra": execCommand("stylewithcss", false, "true") return value 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table data-start=0 data-end=1><tbody><tr><td>foo<td>bar<td>baz</table><p>extra": execCommand("defaultparagraphseparator", false, "div") return value 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table data-start=0 data-end=1><tbody><tr><td>foo<td>bar<td>baz</table><p>extra": execCommand("justifyfull", false, "") return value 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table data-start=0 data-end=1><tbody><tr><td>foo<td>bar<td>baz</table><p>extra" checks for modifications to non-editable content 
-FAIL [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table data-start=0 data-end=1><tbody><tr><td>foo<td>bar<td>baz</table><p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<div style=\"text-align:justify\"><table><tbody><tr><td>foo</td><td>bar</td><td>baz</td></tr></tbody></table></div><p>extra</p>" but got "<table style=\"text-align:justify\"><tbody><tr><td>foo</td><td>bar</td><td>baz</td></tr></tbody></table><p>extra</p>"
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table data-start=0 data-end=1><tbody><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("stylewithcss") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table data-start=0 data-end=1><tbody><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("stylewithcss") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table data-start=0 data-end=1><tbody><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("stylewithcss") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table data-start=0 data-end=1><tbody><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("stylewithcss") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table data-start=0 data-end=1><tbody><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("stylewithcss") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table data-start=0 data-end=1><tbody><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("stylewithcss") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table data-start=0 data-end=1><tbody><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("defaultparagraphseparator") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table data-start=0 data-end=1><tbody><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("defaultparagraphseparator") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table data-start=0 data-end=1><tbody><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("defaultparagraphseparator") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table data-start=0 data-end=1><tbody><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("defaultparagraphseparator") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table data-start=0 data-end=1><tbody><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("defaultparagraphseparator") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table data-start=0 data-end=1><tbody><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("defaultparagraphseparator") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table data-start=0 data-end=1><tbody><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("justifyfull") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table data-start=0 data-end=1><tbody><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("justifyfull") before 
-FAIL [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table data-start=0 data-end=1><tbody><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("justifyfull") before assert_equals: Wrong result returned expected "left" but got "false"
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table data-start=0 data-end=1><tbody><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("justifyfull") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table data-start=0 data-end=1><tbody><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("justifyfull") after 
-FAIL [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table data-start=0 data-end=1><tbody><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("justifyfull") after assert_equals: Wrong result returned expected "justify" but got "true"
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table data-start=0 data-end=1><tbody><tr><td>foo<td>bar<td>baz</table><p>extra": execCommand("stylewithcss", false, "false") return value 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table data-start=0 data-end=1><tbody><tr><td>foo<td>bar<td>baz</table><p>extra": execCommand("defaultparagraphseparator", false, "div") return value 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table data-start=0 data-end=1><tbody><tr><td>foo<td>bar<td>baz</table><p>extra": execCommand("justifyfull", false, "") return value 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table data-start=0 data-end=1><tbody><tr><td>foo<td>bar<td>baz</table><p>extra" checks for modifications to non-editable content 
-FAIL [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table data-start=0 data-end=1><tbody><tr><td>foo<td>bar<td>baz</table><p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<div style=\"text-align:justify\"><table><tbody><tr><td>foo</td><td>bar</td><td>baz</td></tr></tbody></table></div><p>extra</p>" but got "<table style=\"text-align:justify\"><tbody><tr><td>foo</td><td>bar</td><td>baz</td></tr></tbody></table><p>extra</p>"
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table data-start=0 data-end=1><tbody><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("stylewithcss") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table data-start=0 data-end=1><tbody><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("stylewithcss") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table data-start=0 data-end=1><tbody><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("stylewithcss") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table data-start=0 data-end=1><tbody><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("stylewithcss") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table data-start=0 data-end=1><tbody><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("stylewithcss") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table data-start=0 data-end=1><tbody><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("stylewithcss") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table data-start=0 data-end=1><tbody><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("defaultparagraphseparator") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table data-start=0 data-end=1><tbody><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("defaultparagraphseparator") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table data-start=0 data-end=1><tbody><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("defaultparagraphseparator") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table data-start=0 data-end=1><tbody><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("defaultparagraphseparator") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table data-start=0 data-end=1><tbody><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("defaultparagraphseparator") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table data-start=0 data-end=1><tbody><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("defaultparagraphseparator") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table data-start=0 data-end=1><tbody><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("justifyfull") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table data-start=0 data-end=1><tbody><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("justifyfull") before 
-FAIL [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table data-start=0 data-end=1><tbody><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("justifyfull") before assert_equals: Wrong result returned expected "left" but got "false"
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table data-start=0 data-end=1><tbody><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("justifyfull") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table data-start=0 data-end=1><tbody><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("justifyfull") after 
-FAIL [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table data-start=0 data-end=1><tbody><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("justifyfull") after assert_equals: Wrong result returned expected "justify" but got "true"
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table data-start=0 data-end=1><tbody><tr><td>foo<td>bar<td>baz</table><p>extra": execCommand("stylewithcss", false, "true") return value 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table data-start=0 data-end=1><tbody><tr><td>foo<td>bar<td>baz</table><p>extra": execCommand("defaultparagraphseparator", false, "p") return value 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table data-start=0 data-end=1><tbody><tr><td>foo<td>bar<td>baz</table><p>extra": execCommand("justifyfull", false, "") return value 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table data-start=0 data-end=1><tbody><tr><td>foo<td>bar<td>baz</table><p>extra" checks for modifications to non-editable content 
-FAIL [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table data-start=0 data-end=1><tbody><tr><td>foo<td>bar<td>baz</table><p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<div style=\"text-align:justify\"><table><tbody><tr><td>foo</td><td>bar</td><td>baz</td></tr></tbody></table></div><p>extra</p>" but got "<table style=\"text-align:justify\"><tbody><tr><td>foo</td><td>bar</td><td>baz</td></tr></tbody></table><p>extra</p>"
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table data-start=0 data-end=1><tbody><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("stylewithcss") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table data-start=0 data-end=1><tbody><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("stylewithcss") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table data-start=0 data-end=1><tbody><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("stylewithcss") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table data-start=0 data-end=1><tbody><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("stylewithcss") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table data-start=0 data-end=1><tbody><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("stylewithcss") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table data-start=0 data-end=1><tbody><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("stylewithcss") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table data-start=0 data-end=1><tbody><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("defaultparagraphseparator") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table data-start=0 data-end=1><tbody><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("defaultparagraphseparator") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table data-start=0 data-end=1><tbody><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("defaultparagraphseparator") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table data-start=0 data-end=1><tbody><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("defaultparagraphseparator") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table data-start=0 data-end=1><tbody><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("defaultparagraphseparator") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table data-start=0 data-end=1><tbody><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("defaultparagraphseparator") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table data-start=0 data-end=1><tbody><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("justifyfull") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table data-start=0 data-end=1><tbody><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("justifyfull") before 
-FAIL [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table data-start=0 data-end=1><tbody><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("justifyfull") before assert_equals: Wrong result returned expected "left" but got "false"
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table data-start=0 data-end=1><tbody><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("justifyfull") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table data-start=0 data-end=1><tbody><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("justifyfull") after 
-FAIL [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table data-start=0 data-end=1><tbody><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("justifyfull") after assert_equals: Wrong result returned expected "justify" but got "true"
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table data-start=0 data-end=1><tbody><tr><td>foo<td>bar<td>baz</table><p>extra": execCommand("stylewithcss", false, "false") return value 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table data-start=0 data-end=1><tbody><tr><td>foo<td>bar<td>baz</table><p>extra": execCommand("defaultparagraphseparator", false, "p") return value 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table data-start=0 data-end=1><tbody><tr><td>foo<td>bar<td>baz</table><p>extra": execCommand("justifyfull", false, "") return value 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table data-start=0 data-end=1><tbody><tr><td>foo<td>bar<td>baz</table><p>extra" checks for modifications to non-editable content 
-FAIL [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table data-start=0 data-end=1><tbody><tr><td>foo<td>bar<td>baz</table><p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<div style=\"text-align:justify\"><table><tbody><tr><td>foo</td><td>bar</td><td>baz</td></tr></tbody></table></div><p>extra</p>" but got "<table style=\"text-align:justify\"><tbody><tr><td>foo</td><td>bar</td><td>baz</td></tr></tbody></table><p>extra</p>"
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table data-start=0 data-end=1><tbody><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("stylewithcss") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table data-start=0 data-end=1><tbody><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("stylewithcss") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table data-start=0 data-end=1><tbody><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("stylewithcss") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table data-start=0 data-end=1><tbody><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("stylewithcss") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table data-start=0 data-end=1><tbody><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("stylewithcss") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table data-start=0 data-end=1><tbody><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("stylewithcss") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table data-start=0 data-end=1><tbody><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("defaultparagraphseparator") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table data-start=0 data-end=1><tbody><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("defaultparagraphseparator") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table data-start=0 data-end=1><tbody><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("defaultparagraphseparator") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table data-start=0 data-end=1><tbody><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("defaultparagraphseparator") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table data-start=0 data-end=1><tbody><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("defaultparagraphseparator") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table data-start=0 data-end=1><tbody><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("defaultparagraphseparator") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table data-start=0 data-end=1><tbody><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("justifyfull") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table data-start=0 data-end=1><tbody><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("justifyfull") before 
-FAIL [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table data-start=0 data-end=1><tbody><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("justifyfull") before assert_equals: Wrong result returned expected "left" but got "false"
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table data-start=0 data-end=1><tbody><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("justifyfull") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table data-start=0 data-end=1><tbody><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("justifyfull") after 
-FAIL [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table data-start=0 data-end=1><tbody><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("justifyfull") after assert_equals: Wrong result returned expected "justify" but got "true"
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "{<table><tr><td>foo<td>bar<td>baz</table>}<p>extra": execCommand("stylewithcss", false, "true") return value 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "{<table><tr><td>foo<td>bar<td>baz</table>}<p>extra": execCommand("defaultparagraphseparator", false, "div") return value 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "{<table><tr><td>foo<td>bar<td>baz</table>}<p>extra": execCommand("justifyfull", false, "") return value 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "{<table><tr><td>foo<td>bar<td>baz</table>}<p>extra" checks for modifications to non-editable content 
-FAIL [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "{<table><tr><td>foo<td>bar<td>baz</table>}<p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<div style=\"text-align:justify\"><table><tbody><tr><td>foo</td><td>bar</td><td>baz</td></tr></tbody></table></div><p>extra</p>" but got "<table style=\"text-align:justify\"><tbody><tr><td>foo</td><td>bar</td><td>baz</td></tr></tbody></table><p style=\"text-align:justify\">extra</p>"
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "{<table><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandIndeterm("stylewithcss") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "{<table><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandState("stylewithcss") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "{<table><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandValue("stylewithcss") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "{<table><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandIndeterm("stylewithcss") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "{<table><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandState("stylewithcss") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "{<table><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandValue("stylewithcss") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "{<table><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandIndeterm("defaultparagraphseparator") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "{<table><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandState("defaultparagraphseparator") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "{<table><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandValue("defaultparagraphseparator") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "{<table><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandIndeterm("defaultparagraphseparator") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "{<table><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandState("defaultparagraphseparator") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "{<table><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandValue("defaultparagraphseparator") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "{<table><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandIndeterm("justifyfull") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "{<table><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandState("justifyfull") before 
-FAIL [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "{<table><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandValue("justifyfull") before assert_equals: Wrong result returned expected "left" but got "false"
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "{<table><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandIndeterm("justifyfull") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "{<table><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandState("justifyfull") after 
-FAIL [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "{<table><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandValue("justifyfull") after assert_equals: Wrong result returned expected "justify" but got "true"
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "{<table><tr><td>foo<td>bar<td>baz</table>}<p>extra": execCommand("stylewithcss", false, "false") return value 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "{<table><tr><td>foo<td>bar<td>baz</table>}<p>extra": execCommand("defaultparagraphseparator", false, "div") return value 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "{<table><tr><td>foo<td>bar<td>baz</table>}<p>extra": execCommand("justifyfull", false, "") return value 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "{<table><tr><td>foo<td>bar<td>baz</table>}<p>extra" checks for modifications to non-editable content 
-FAIL [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "{<table><tr><td>foo<td>bar<td>baz</table>}<p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<div style=\"text-align:justify\"><table><tbody><tr><td>foo</td><td>bar</td><td>baz</td></tr></tbody></table></div><p>extra</p>" but got "<table style=\"text-align:justify\"><tbody><tr><td>foo</td><td>bar</td><td>baz</td></tr></tbody></table><p style=\"text-align:justify\">extra</p>"
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "{<table><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandIndeterm("stylewithcss") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "{<table><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandState("stylewithcss") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "{<table><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandValue("stylewithcss") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "{<table><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandIndeterm("stylewithcss") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "{<table><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandState("stylewithcss") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "{<table><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandValue("stylewithcss") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "{<table><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandIndeterm("defaultparagraphseparator") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "{<table><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandState("defaultparagraphseparator") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "{<table><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandValue("defaultparagraphseparator") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "{<table><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandIndeterm("defaultparagraphseparator") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "{<table><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandState("defaultparagraphseparator") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "{<table><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandValue("defaultparagraphseparator") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "{<table><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandIndeterm("justifyfull") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "{<table><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandState("justifyfull") before 
-FAIL [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "{<table><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandValue("justifyfull") before assert_equals: Wrong result returned expected "left" but got "false"
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "{<table><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandIndeterm("justifyfull") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "{<table><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandState("justifyfull") after 
-FAIL [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "{<table><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandValue("justifyfull") after assert_equals: Wrong result returned expected "justify" but got "true"
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "{<table><tr><td>foo<td>bar<td>baz</table>}<p>extra": execCommand("stylewithcss", false, "true") return value 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "{<table><tr><td>foo<td>bar<td>baz</table>}<p>extra": execCommand("defaultparagraphseparator", false, "p") return value 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "{<table><tr><td>foo<td>bar<td>baz</table>}<p>extra": execCommand("justifyfull", false, "") return value 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "{<table><tr><td>foo<td>bar<td>baz</table>}<p>extra" checks for modifications to non-editable content 
-FAIL [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "{<table><tr><td>foo<td>bar<td>baz</table>}<p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<div style=\"text-align:justify\"><table><tbody><tr><td>foo</td><td>bar</td><td>baz</td></tr></tbody></table></div><p>extra</p>" but got "<table style=\"text-align:justify\"><tbody><tr><td>foo</td><td>bar</td><td>baz</td></tr></tbody></table><p style=\"text-align:justify\">extra</p>"
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "{<table><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandIndeterm("stylewithcss") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "{<table><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandState("stylewithcss") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "{<table><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandValue("stylewithcss") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "{<table><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandIndeterm("stylewithcss") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "{<table><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandState("stylewithcss") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "{<table><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandValue("stylewithcss") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "{<table><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandIndeterm("defaultparagraphseparator") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "{<table><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandState("defaultparagraphseparator") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "{<table><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandValue("defaultparagraphseparator") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "{<table><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandIndeterm("defaultparagraphseparator") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "{<table><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandState("defaultparagraphseparator") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "{<table><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandValue("defaultparagraphseparator") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "{<table><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandIndeterm("justifyfull") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "{<table><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandState("justifyfull") before 
-FAIL [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "{<table><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandValue("justifyfull") before assert_equals: Wrong result returned expected "left" but got "false"
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "{<table><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandIndeterm("justifyfull") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "{<table><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandState("justifyfull") after 
-FAIL [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "{<table><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandValue("justifyfull") after assert_equals: Wrong result returned expected "justify" but got "true"
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "{<table><tr><td>foo<td>bar<td>baz</table>}<p>extra": execCommand("stylewithcss", false, "false") return value 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "{<table><tr><td>foo<td>bar<td>baz</table>}<p>extra": execCommand("defaultparagraphseparator", false, "p") return value 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "{<table><tr><td>foo<td>bar<td>baz</table>}<p>extra": execCommand("justifyfull", false, "") return value 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "{<table><tr><td>foo<td>bar<td>baz</table>}<p>extra" checks for modifications to non-editable content 
-FAIL [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "{<table><tr><td>foo<td>bar<td>baz</table>}<p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<div style=\"text-align:justify\"><table><tbody><tr><td>foo</td><td>bar</td><td>baz</td></tr></tbody></table></div><p>extra</p>" but got "<table style=\"text-align:justify\"><tbody><tr><td>foo</td><td>bar</td><td>baz</td></tr></tbody></table><p style=\"text-align:justify\">extra</p>"
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "{<table><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandIndeterm("stylewithcss") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "{<table><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandState("stylewithcss") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "{<table><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandValue("stylewithcss") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "{<table><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandIndeterm("stylewithcss") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "{<table><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandState("stylewithcss") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "{<table><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandValue("stylewithcss") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "{<table><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandIndeterm("defaultparagraphseparator") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "{<table><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandState("defaultparagraphseparator") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "{<table><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandValue("defaultparagraphseparator") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "{<table><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandIndeterm("defaultparagraphseparator") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "{<table><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandState("defaultparagraphseparator") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "{<table><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandValue("defaultparagraphseparator") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "{<table><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandIndeterm("justifyfull") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "{<table><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandState("justifyfull") before 
-FAIL [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "{<table><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandValue("justifyfull") before assert_equals: Wrong result returned expected "left" but got "false"
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "{<table><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandIndeterm("justifyfull") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "{<table><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandState("justifyfull") after 
-FAIL [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "{<table><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandValue("justifyfull") after assert_equals: Wrong result returned expected "justify" but got "true"
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table align=justify><tbody><tr><td>foo<td>b[a]r<td>baz</table><p>extra": execCommand("stylewithcss", false, "true") return value 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table align=justify><tbody><tr><td>foo<td>b[a]r<td>baz</table><p>extra": execCommand("defaultparagraphseparator", false, "div") return value 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table align=justify><tbody><tr><td>foo<td>b[a]r<td>baz</table><p>extra": execCommand("justifyfull", false, "") return value 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table align=justify><tbody><tr><td>foo<td>b[a]r<td>baz</table><p>extra" checks for modifications to non-editable content 
-FAIL [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table align=justify><tbody><tr><td>foo<td>b[a]r<td>baz</table><p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<table align=\"justify\"><tbody><tr><td>foo</td><td><div style=\"text-align:justify\">bar</div></td><td>baz</td></tr></tbody></table><p>extra</p>" but got "<table align=\"justify\"><tbody><tr><td>foo</td><td style=\"text-align:justify\">bar</td><td>baz</td></tr></tbody></table><p>extra</p>"
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table align=justify><tbody><tr><td>foo<td>b[a]r<td>baz</table><p>extra" queryCommandIndeterm("stylewithcss") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table align=justify><tbody><tr><td>foo<td>b[a]r<td>baz</table><p>extra" queryCommandState("stylewithcss") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table align=justify><tbody><tr><td>foo<td>b[a]r<td>baz</table><p>extra" queryCommandValue("stylewithcss") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table align=justify><tbody><tr><td>foo<td>b[a]r<td>baz</table><p>extra" queryCommandIndeterm("stylewithcss") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table align=justify><tbody><tr><td>foo<td>b[a]r<td>baz</table><p>extra" queryCommandState("stylewithcss") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table align=justify><tbody><tr><td>foo<td>b[a]r<td>baz</table><p>extra" queryCommandValue("stylewithcss") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table align=justify><tbody><tr><td>foo<td>b[a]r<td>baz</table><p>extra" queryCommandIndeterm("defaultparagraphseparator") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table align=justify><tbody><tr><td>foo<td>b[a]r<td>baz</table><p>extra" queryCommandState("defaultparagraphseparator") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table align=justify><tbody><tr><td>foo<td>b[a]r<td>baz</table><p>extra" queryCommandValue("defaultparagraphseparator") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table align=justify><tbody><tr><td>foo<td>b[a]r<td>baz</table><p>extra" queryCommandIndeterm("defaultparagraphseparator") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table align=justify><tbody><tr><td>foo<td>b[a]r<td>baz</table><p>extra" queryCommandState("defaultparagraphseparator") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table align=justify><tbody><tr><td>foo<td>b[a]r<td>baz</table><p>extra" queryCommandValue("defaultparagraphseparator") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table align=justify><tbody><tr><td>foo<td>b[a]r<td>baz</table><p>extra" queryCommandIndeterm("justifyfull") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table align=justify><tbody><tr><td>foo<td>b[a]r<td>baz</table><p>extra" queryCommandState("justifyfull") before 
-FAIL [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table align=justify><tbody><tr><td>foo<td>b[a]r<td>baz</table><p>extra" queryCommandValue("justifyfull") before assert_equals: Wrong result returned expected "left" but got "false"
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table align=justify><tbody><tr><td>foo<td>b[a]r<td>baz</table><p>extra" queryCommandIndeterm("justifyfull") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table align=justify><tbody><tr><td>foo<td>b[a]r<td>baz</table><p>extra" queryCommandState("justifyfull") after 
-FAIL [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table align=justify><tbody><tr><td>foo<td>b[a]r<td>baz</table><p>extra" queryCommandValue("justifyfull") after assert_equals: Wrong result returned expected "justify" but got "true"
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table align=justify><tbody><tr><td>foo<td>b[a]r<td>baz</table><p>extra": execCommand("stylewithcss", false, "false") return value 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table align=justify><tbody><tr><td>foo<td>b[a]r<td>baz</table><p>extra": execCommand("defaultparagraphseparator", false, "div") return value 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table align=justify><tbody><tr><td>foo<td>b[a]r<td>baz</table><p>extra": execCommand("justifyfull", false, "") return value 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table align=justify><tbody><tr><td>foo<td>b[a]r<td>baz</table><p>extra" checks for modifications to non-editable content 
-FAIL [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table align=justify><tbody><tr><td>foo<td>b[a]r<td>baz</table><p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<table align=\"justify\"><tbody><tr><td>foo</td><td><div style=\"text-align:justify\">bar</div></td><td>baz</td></tr></tbody></table><p>extra</p>" but got "<table align=\"justify\"><tbody><tr><td>foo</td><td style=\"text-align:justify\">bar</td><td>baz</td></tr></tbody></table><p>extra</p>"
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table align=justify><tbody><tr><td>foo<td>b[a]r<td>baz</table><p>extra" queryCommandIndeterm("stylewithcss") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table align=justify><tbody><tr><td>foo<td>b[a]r<td>baz</table><p>extra" queryCommandState("stylewithcss") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table align=justify><tbody><tr><td>foo<td>b[a]r<td>baz</table><p>extra" queryCommandValue("stylewithcss") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table align=justify><tbody><tr><td>foo<td>b[a]r<td>baz</table><p>extra" queryCommandIndeterm("stylewithcss") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table align=justify><tbody><tr><td>foo<td>b[a]r<td>baz</table><p>extra" queryCommandState("stylewithcss") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table align=justify><tbody><tr><td>foo<td>b[a]r<td>baz</table><p>extra" queryCommandValue("stylewithcss") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table align=justify><tbody><tr><td>foo<td>b[a]r<td>baz</table><p>extra" queryCommandIndeterm("defaultparagraphseparator") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table align=justify><tbody><tr><td>foo<td>b[a]r<td>baz</table><p>extra" queryCommandState("defaultparagraphseparator") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table align=justify><tbody><tr><td>foo<td>b[a]r<td>baz</table><p>extra" queryCommandValue("defaultparagraphseparator") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table align=justify><tbody><tr><td>foo<td>b[a]r<td>baz</table><p>extra" queryCommandIndeterm("defaultparagraphseparator") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table align=justify><tbody><tr><td>foo<td>b[a]r<td>baz</table><p>extra" queryCommandState("defaultparagraphseparator") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table align=justify><tbody><tr><td>foo<td>b[a]r<td>baz</table><p>extra" queryCommandValue("defaultparagraphseparator") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table align=justify><tbody><tr><td>foo<td>b[a]r<td>baz</table><p>extra" queryCommandIndeterm("justifyfull") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table align=justify><tbody><tr><td>foo<td>b[a]r<td>baz</table><p>extra" queryCommandState("justifyfull") before 
-FAIL [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table align=justify><tbody><tr><td>foo<td>b[a]r<td>baz</table><p>extra" queryCommandValue("justifyfull") before assert_equals: Wrong result returned expected "left" but got "false"
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table align=justify><tbody><tr><td>foo<td>b[a]r<td>baz</table><p>extra" queryCommandIndeterm("justifyfull") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table align=justify><tbody><tr><td>foo<td>b[a]r<td>baz</table><p>extra" queryCommandState("justifyfull") after 
-FAIL [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table align=justify><tbody><tr><td>foo<td>b[a]r<td>baz</table><p>extra" queryCommandValue("justifyfull") after assert_equals: Wrong result returned expected "justify" but got "true"
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table align=justify><tbody><tr><td>foo<td>b[a]r<td>baz</table><p>extra": execCommand("stylewithcss", false, "true") return value 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table align=justify><tbody><tr><td>foo<td>b[a]r<td>baz</table><p>extra": execCommand("defaultparagraphseparator", false, "p") return value 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table align=justify><tbody><tr><td>foo<td>b[a]r<td>baz</table><p>extra": execCommand("justifyfull", false, "") return value 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table align=justify><tbody><tr><td>foo<td>b[a]r<td>baz</table><p>extra" checks for modifications to non-editable content 
-FAIL [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table align=justify><tbody><tr><td>foo<td>b[a]r<td>baz</table><p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<table align=\"justify\"><tbody><tr><td>foo</td><td><div style=\"text-align:justify\">bar</div></td><td>baz</td></tr></tbody></table><p>extra</p>" but got "<table align=\"justify\"><tbody><tr><td>foo</td><td style=\"text-align:justify\">bar</td><td>baz</td></tr></tbody></table><p>extra</p>"
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table align=justify><tbody><tr><td>foo<td>b[a]r<td>baz</table><p>extra" queryCommandIndeterm("stylewithcss") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table align=justify><tbody><tr><td>foo<td>b[a]r<td>baz</table><p>extra" queryCommandState("stylewithcss") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table align=justify><tbody><tr><td>foo<td>b[a]r<td>baz</table><p>extra" queryCommandValue("stylewithcss") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table align=justify><tbody><tr><td>foo<td>b[a]r<td>baz</table><p>extra" queryCommandIndeterm("stylewithcss") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table align=justify><tbody><tr><td>foo<td>b[a]r<td>baz</table><p>extra" queryCommandState("stylewithcss") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table align=justify><tbody><tr><td>foo<td>b[a]r<td>baz</table><p>extra" queryCommandValue("stylewithcss") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table align=justify><tbody><tr><td>foo<td>b[a]r<td>baz</table><p>extra" queryCommandIndeterm("defaultparagraphseparator") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table align=justify><tbody><tr><td>foo<td>b[a]r<td>baz</table><p>extra" queryCommandState("defaultparagraphseparator") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table align=justify><tbody><tr><td>foo<td>b[a]r<td>baz</table><p>extra" queryCommandValue("defaultparagraphseparator") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table align=justify><tbody><tr><td>foo<td>b[a]r<td>baz</table><p>extra" queryCommandIndeterm("defaultparagraphseparator") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table align=justify><tbody><tr><td>foo<td>b[a]r<td>baz</table><p>extra" queryCommandState("defaultparagraphseparator") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table align=justify><tbody><tr><td>foo<td>b[a]r<td>baz</table><p>extra" queryCommandValue("defaultparagraphseparator") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table align=justify><tbody><tr><td>foo<td>b[a]r<td>baz</table><p>extra" queryCommandIndeterm("justifyfull") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table align=justify><tbody><tr><td>foo<td>b[a]r<td>baz</table><p>extra" queryCommandState("justifyfull") before 
-FAIL [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table align=justify><tbody><tr><td>foo<td>b[a]r<td>baz</table><p>extra" queryCommandValue("justifyfull") before assert_equals: Wrong result returned expected "left" but got "false"
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table align=justify><tbody><tr><td>foo<td>b[a]r<td>baz</table><p>extra" queryCommandIndeterm("justifyfull") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table align=justify><tbody><tr><td>foo<td>b[a]r<td>baz</table><p>extra" queryCommandState("justifyfull") after 
-FAIL [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table align=justify><tbody><tr><td>foo<td>b[a]r<td>baz</table><p>extra" queryCommandValue("justifyfull") after assert_equals: Wrong result returned expected "justify" but got "true"
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table align=justify><tbody><tr><td>foo<td>b[a]r<td>baz</table><p>extra": execCommand("stylewithcss", false, "false") return value 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table align=justify><tbody><tr><td>foo<td>b[a]r<td>baz</table><p>extra": execCommand("defaultparagraphseparator", false, "p") return value 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table align=justify><tbody><tr><td>foo<td>b[a]r<td>baz</table><p>extra": execCommand("justifyfull", false, "") return value 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table align=justify><tbody><tr><td>foo<td>b[a]r<td>baz</table><p>extra" checks for modifications to non-editable content 
-FAIL [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table align=justify><tbody><tr><td>foo<td>b[a]r<td>baz</table><p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<table align=\"justify\"><tbody><tr><td>foo</td><td><div style=\"text-align:justify\">bar</div></td><td>baz</td></tr></tbody></table><p>extra</p>" but got "<table align=\"justify\"><tbody><tr><td>foo</td><td style=\"text-align:justify\">bar</td><td>baz</td></tr></tbody></table><p>extra</p>"
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table align=justify><tbody><tr><td>foo<td>b[a]r<td>baz</table><p>extra" queryCommandIndeterm("stylewithcss") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table align=justify><tbody><tr><td>foo<td>b[a]r<td>baz</table><p>extra" queryCommandState("stylewithcss") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table align=justify><tbody><tr><td>foo<td>b[a]r<td>baz</table><p>extra" queryCommandValue("stylewithcss") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table align=justify><tbody><tr><td>foo<td>b[a]r<td>baz</table><p>extra" queryCommandIndeterm("stylewithcss") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table align=justify><tbody><tr><td>foo<td>b[a]r<td>baz</table><p>extra" queryCommandState("stylewithcss") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table align=justify><tbody><tr><td>foo<td>b[a]r<td>baz</table><p>extra" queryCommandValue("stylewithcss") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table align=justify><tbody><tr><td>foo<td>b[a]r<td>baz</table><p>extra" queryCommandIndeterm("defaultparagraphseparator") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table align=justify><tbody><tr><td>foo<td>b[a]r<td>baz</table><p>extra" queryCommandState("defaultparagraphseparator") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table align=justify><tbody><tr><td>foo<td>b[a]r<td>baz</table><p>extra" queryCommandValue("defaultparagraphseparator") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table align=justify><tbody><tr><td>foo<td>b[a]r<td>baz</table><p>extra" queryCommandIndeterm("defaultparagraphseparator") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table align=justify><tbody><tr><td>foo<td>b[a]r<td>baz</table><p>extra" queryCommandState("defaultparagraphseparator") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table align=justify><tbody><tr><td>foo<td>b[a]r<td>baz</table><p>extra" queryCommandValue("defaultparagraphseparator") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table align=justify><tbody><tr><td>foo<td>b[a]r<td>baz</table><p>extra" queryCommandIndeterm("justifyfull") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table align=justify><tbody><tr><td>foo<td>b[a]r<td>baz</table><p>extra" queryCommandState("justifyfull") before 
-FAIL [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table align=justify><tbody><tr><td>foo<td>b[a]r<td>baz</table><p>extra" queryCommandValue("justifyfull") before assert_equals: Wrong result returned expected "left" but got "false"
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table align=justify><tbody><tr><td>foo<td>b[a]r<td>baz</table><p>extra" queryCommandIndeterm("justifyfull") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table align=justify><tbody><tr><td>foo<td>b[a]r<td>baz</table><p>extra" queryCommandState("justifyfull") after 
-FAIL [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table align=justify><tbody><tr><td>foo<td>b[a]r<td>baz</table><p>extra" queryCommandValue("justifyfull") after assert_equals: Wrong result returned expected "justify" but got "true"
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table align=justify><tbody><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table><p>extra": execCommand("stylewithcss", false, "true") return value 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table align=justify><tbody><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table><p>extra": execCommand("defaultparagraphseparator", false, "div") return value 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table align=justify><tbody><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table><p>extra": execCommand("justifyfull", false, "") return value 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table align=justify><tbody><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table><p>extra" checks for modifications to non-editable content 
-FAIL [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table align=justify><tbody><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table><p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<table align=\"justify\"><tbody><tr><td>foo</td><td><div style=\"text-align:justify\">bar</div></td><td>baz</td></tr></tbody></table><p>extra</p>" but got "<table align=\"justify\"><tbody><tr><td>foo</td><td style=\"text-align:justify\">bar</td><td style=\"text-align:justify\">baz</td></tr></tbody></table><p>extra</p>"
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table align=justify><tbody><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("stylewithcss") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table align=justify><tbody><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("stylewithcss") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table align=justify><tbody><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("stylewithcss") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table align=justify><tbody><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("stylewithcss") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table align=justify><tbody><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("stylewithcss") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table align=justify><tbody><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("stylewithcss") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table align=justify><tbody><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("defaultparagraphseparator") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table align=justify><tbody><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("defaultparagraphseparator") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table align=justify><tbody><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("defaultparagraphseparator") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table align=justify><tbody><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("defaultparagraphseparator") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table align=justify><tbody><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("defaultparagraphseparator") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table align=justify><tbody><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("defaultparagraphseparator") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table align=justify><tbody><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("justifyfull") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table align=justify><tbody><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("justifyfull") before 
-FAIL [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table align=justify><tbody><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("justifyfull") before assert_equals: Wrong result returned expected "left" but got "false"
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table align=justify><tbody><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("justifyfull") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table align=justify><tbody><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("justifyfull") after 
-FAIL [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table align=justify><tbody><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("justifyfull") after assert_equals: Wrong result returned expected "justify" but got "true"
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table align=justify><tbody><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table><p>extra": execCommand("stylewithcss", false, "false") return value 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table align=justify><tbody><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table><p>extra": execCommand("defaultparagraphseparator", false, "div") return value 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table align=justify><tbody><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table><p>extra": execCommand("justifyfull", false, "") return value 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table align=justify><tbody><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table><p>extra" checks for modifications to non-editable content 
-FAIL [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table align=justify><tbody><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table><p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<table align=\"justify\"><tbody><tr><td>foo</td><td><div style=\"text-align:justify\">bar</div></td><td>baz</td></tr></tbody></table><p>extra</p>" but got "<table align=\"justify\"><tbody><tr><td>foo</td><td style=\"text-align:justify\">bar</td><td style=\"text-align:justify\">baz</td></tr></tbody></table><p>extra</p>"
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table align=justify><tbody><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("stylewithcss") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table align=justify><tbody><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("stylewithcss") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table align=justify><tbody><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("stylewithcss") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table align=justify><tbody><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("stylewithcss") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table align=justify><tbody><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("stylewithcss") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table align=justify><tbody><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("stylewithcss") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table align=justify><tbody><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("defaultparagraphseparator") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table align=justify><tbody><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("defaultparagraphseparator") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table align=justify><tbody><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("defaultparagraphseparator") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table align=justify><tbody><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("defaultparagraphseparator") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table align=justify><tbody><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("defaultparagraphseparator") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table align=justify><tbody><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("defaultparagraphseparator") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table align=justify><tbody><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("justifyfull") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table align=justify><tbody><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("justifyfull") before 
-FAIL [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table align=justify><tbody><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("justifyfull") before assert_equals: Wrong result returned expected "left" but got "false"
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table align=justify><tbody><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("justifyfull") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table align=justify><tbody><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("justifyfull") after 
-FAIL [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table align=justify><tbody><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("justifyfull") after assert_equals: Wrong result returned expected "justify" but got "true"
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table align=justify><tbody><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table><p>extra": execCommand("stylewithcss", false, "true") return value 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table align=justify><tbody><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table><p>extra": execCommand("defaultparagraphseparator", false, "p") return value 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table align=justify><tbody><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table><p>extra": execCommand("justifyfull", false, "") return value 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table align=justify><tbody><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table><p>extra" checks for modifications to non-editable content 
-FAIL [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table align=justify><tbody><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table><p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<table align=\"justify\"><tbody><tr><td>foo</td><td><div style=\"text-align:justify\">bar</div></td><td>baz</td></tr></tbody></table><p>extra</p>" but got "<table align=\"justify\"><tbody><tr><td>foo</td><td style=\"text-align:justify\">bar</td><td style=\"text-align:justify\">baz</td></tr></tbody></table><p>extra</p>"
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table align=justify><tbody><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("stylewithcss") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table align=justify><tbody><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("stylewithcss") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table align=justify><tbody><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("stylewithcss") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table align=justify><tbody><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("stylewithcss") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table align=justify><tbody><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("stylewithcss") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table align=justify><tbody><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("stylewithcss") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table align=justify><tbody><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("defaultparagraphseparator") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table align=justify><tbody><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("defaultparagraphseparator") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table align=justify><tbody><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("defaultparagraphseparator") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table align=justify><tbody><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("defaultparagraphseparator") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table align=justify><tbody><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("defaultparagraphseparator") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table align=justify><tbody><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("defaultparagraphseparator") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table align=justify><tbody><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("justifyfull") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table align=justify><tbody><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("justifyfull") before 
-FAIL [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table align=justify><tbody><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("justifyfull") before assert_equals: Wrong result returned expected "left" but got "false"
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table align=justify><tbody><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("justifyfull") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table align=justify><tbody><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("justifyfull") after 
-FAIL [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table align=justify><tbody><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("justifyfull") after assert_equals: Wrong result returned expected "justify" but got "true"
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table align=justify><tbody><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table><p>extra": execCommand("stylewithcss", false, "false") return value 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table align=justify><tbody><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table><p>extra": execCommand("defaultparagraphseparator", false, "p") return value 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table align=justify><tbody><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table><p>extra": execCommand("justifyfull", false, "") return value 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table align=justify><tbody><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table><p>extra" checks for modifications to non-editable content 
-FAIL [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table align=justify><tbody><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table><p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<table align=\"justify\"><tbody><tr><td>foo</td><td><div style=\"text-align:justify\">bar</div></td><td>baz</td></tr></tbody></table><p>extra</p>" but got "<table align=\"justify\"><tbody><tr><td>foo</td><td style=\"text-align:justify\">bar</td><td style=\"text-align:justify\">baz</td></tr></tbody></table><p>extra</p>"
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table align=justify><tbody><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("stylewithcss") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table align=justify><tbody><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("stylewithcss") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table align=justify><tbody><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("stylewithcss") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table align=justify><tbody><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("stylewithcss") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table align=justify><tbody><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("stylewithcss") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table align=justify><tbody><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("stylewithcss") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table align=justify><tbody><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("defaultparagraphseparator") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table align=justify><tbody><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("defaultparagraphseparator") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table align=justify><tbody><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("defaultparagraphseparator") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table align=justify><tbody><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("defaultparagraphseparator") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table align=justify><tbody><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("defaultparagraphseparator") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table align=justify><tbody><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("defaultparagraphseparator") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table align=justify><tbody><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("justifyfull") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table align=justify><tbody><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("justifyfull") before 
-FAIL [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table align=justify><tbody><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("justifyfull") before assert_equals: Wrong result returned expected "left" but got "false"
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table align=justify><tbody><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("justifyfull") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table align=justify><tbody><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("justifyfull") after 
-FAIL [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table align=justify><tbody><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("justifyfull") after assert_equals: Wrong result returned expected "justify" but got "true"
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table align=justify><tbody><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table><p>extra": execCommand("stylewithcss", false, "true") return value 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table align=justify><tbody><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table><p>extra": execCommand("defaultparagraphseparator", false, "div") return value 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table align=justify><tbody><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table><p>extra": execCommand("justifyfull", false, "") return value 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table align=justify><tbody><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table><p>extra" checks for modifications to non-editable content 
-FAIL [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table align=justify><tbody><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table><p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<table align=\"justify\"><tbody><tr><td><div style=\"text-align:justify\">foo</div></td><td><div style=\"text-align:justify\">bar</div></td><td>baz</td></tr></tbody></table><p>extra</p>" but got "<table align=\"justify\"><tbody><tr><td style=\"text-align:justify\">foo</td><td style=\"text-align:justify\">bar</td><td style=\"text-align:justify\">baz</td></tr></tbody></table><p>extra</p>"
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table align=justify><tbody><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("stylewithcss") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table align=justify><tbody><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("stylewithcss") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table align=justify><tbody><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("stylewithcss") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table align=justify><tbody><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("stylewithcss") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table align=justify><tbody><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("stylewithcss") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table align=justify><tbody><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("stylewithcss") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table align=justify><tbody><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("defaultparagraphseparator") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table align=justify><tbody><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("defaultparagraphseparator") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table align=justify><tbody><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("defaultparagraphseparator") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table align=justify><tbody><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("defaultparagraphseparator") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table align=justify><tbody><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("defaultparagraphseparator") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table align=justify><tbody><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("defaultparagraphseparator") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table align=justify><tbody><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("justifyfull") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table align=justify><tbody><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("justifyfull") before 
-FAIL [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table align=justify><tbody><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("justifyfull") before assert_equals: Wrong result returned expected "left" but got "false"
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table align=justify><tbody><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("justifyfull") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table align=justify><tbody><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("justifyfull") after 
-FAIL [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table align=justify><tbody><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("justifyfull") after assert_equals: Wrong result returned expected "justify" but got "true"
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table align=justify><tbody><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table><p>extra": execCommand("stylewithcss", false, "false") return value 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table align=justify><tbody><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table><p>extra": execCommand("defaultparagraphseparator", false, "div") return value 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table align=justify><tbody><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table><p>extra": execCommand("justifyfull", false, "") return value 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table align=justify><tbody><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table><p>extra" checks for modifications to non-editable content 
-FAIL [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table align=justify><tbody><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table><p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<table align=\"justify\"><tbody><tr><td><div style=\"text-align:justify\">foo</div></td><td><div style=\"text-align:justify\">bar</div></td><td>baz</td></tr></tbody></table><p>extra</p>" but got "<table align=\"justify\"><tbody><tr><td style=\"text-align:justify\">foo</td><td style=\"text-align:justify\">bar</td><td style=\"text-align:justify\">baz</td></tr></tbody></table><p>extra</p>"
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table align=justify><tbody><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("stylewithcss") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table align=justify><tbody><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("stylewithcss") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table align=justify><tbody><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("stylewithcss") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table align=justify><tbody><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("stylewithcss") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table align=justify><tbody><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("stylewithcss") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table align=justify><tbody><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("stylewithcss") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table align=justify><tbody><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("defaultparagraphseparator") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table align=justify><tbody><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("defaultparagraphseparator") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table align=justify><tbody><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("defaultparagraphseparator") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table align=justify><tbody><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("defaultparagraphseparator") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table align=justify><tbody><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("defaultparagraphseparator") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table align=justify><tbody><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("defaultparagraphseparator") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table align=justify><tbody><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("justifyfull") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table align=justify><tbody><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("justifyfull") before 
-FAIL [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table align=justify><tbody><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("justifyfull") before assert_equals: Wrong result returned expected "left" but got "false"
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table align=justify><tbody><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("justifyfull") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table align=justify><tbody><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("justifyfull") after 
-FAIL [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table align=justify><tbody><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("justifyfull") after assert_equals: Wrong result returned expected "justify" but got "true"
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table align=justify><tbody><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table><p>extra": execCommand("stylewithcss", false, "true") return value 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table align=justify><tbody><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table><p>extra": execCommand("defaultparagraphseparator", false, "p") return value 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table align=justify><tbody><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table><p>extra": execCommand("justifyfull", false, "") return value 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table align=justify><tbody><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table><p>extra" checks for modifications to non-editable content 
-FAIL [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table align=justify><tbody><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table><p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<table align=\"justify\"><tbody><tr><td><div style=\"text-align:justify\">foo</div></td><td><div style=\"text-align:justify\">bar</div></td><td>baz</td></tr></tbody></table><p>extra</p>" but got "<table align=\"justify\"><tbody><tr><td style=\"text-align:justify\">foo</td><td style=\"text-align:justify\">bar</td><td style=\"text-align:justify\">baz</td></tr></tbody></table><p>extra</p>"
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table align=justify><tbody><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("stylewithcss") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table align=justify><tbody><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("stylewithcss") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table align=justify><tbody><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("stylewithcss") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table align=justify><tbody><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("stylewithcss") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table align=justify><tbody><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("stylewithcss") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table align=justify><tbody><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("stylewithcss") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table align=justify><tbody><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("defaultparagraphseparator") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table align=justify><tbody><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("defaultparagraphseparator") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table align=justify><tbody><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("defaultparagraphseparator") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table align=justify><tbody><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("defaultparagraphseparator") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table align=justify><tbody><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("defaultparagraphseparator") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table align=justify><tbody><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("defaultparagraphseparator") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table align=justify><tbody><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("justifyfull") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table align=justify><tbody><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("justifyfull") before 
-FAIL [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table align=justify><tbody><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("justifyfull") before assert_equals: Wrong result returned expected "left" but got "false"
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table align=justify><tbody><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("justifyfull") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table align=justify><tbody><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("justifyfull") after 
-FAIL [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table align=justify><tbody><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("justifyfull") after assert_equals: Wrong result returned expected "justify" but got "true"
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table align=justify><tbody><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table><p>extra": execCommand("stylewithcss", false, "false") return value 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table align=justify><tbody><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table><p>extra": execCommand("defaultparagraphseparator", false, "p") return value 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table align=justify><tbody><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table><p>extra": execCommand("justifyfull", false, "") return value 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table align=justify><tbody><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table><p>extra" checks for modifications to non-editable content 
-FAIL [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table align=justify><tbody><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table><p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<table align=\"justify\"><tbody><tr><td><div style=\"text-align:justify\">foo</div></td><td><div style=\"text-align:justify\">bar</div></td><td>baz</td></tr></tbody></table><p>extra</p>" but got "<table align=\"justify\"><tbody><tr><td style=\"text-align:justify\">foo</td><td style=\"text-align:justify\">bar</td><td style=\"text-align:justify\">baz</td></tr></tbody></table><p>extra</p>"
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table align=justify><tbody><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("stylewithcss") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table align=justify><tbody><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("stylewithcss") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table align=justify><tbody><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("stylewithcss") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table align=justify><tbody><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("stylewithcss") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table align=justify><tbody><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("stylewithcss") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table align=justify><tbody><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("stylewithcss") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table align=justify><tbody><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("defaultparagraphseparator") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table align=justify><tbody><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("defaultparagraphseparator") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table align=justify><tbody><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("defaultparagraphseparator") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table align=justify><tbody><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("defaultparagraphseparator") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table align=justify><tbody><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("defaultparagraphseparator") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table align=justify><tbody><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("defaultparagraphseparator") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table align=justify><tbody><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("justifyfull") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table align=justify><tbody><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("justifyfull") before 
-FAIL [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table align=justify><tbody><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("justifyfull") before assert_equals: Wrong result returned expected "left" but got "false"
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table align=justify><tbody><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("justifyfull") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table align=justify><tbody><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("justifyfull") after 
-FAIL [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table align=justify><tbody><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("justifyfull") after assert_equals: Wrong result returned expected "justify" but got "true"
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table align=justify><tbody data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra": execCommand("stylewithcss", false, "true") return value 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table align=justify><tbody data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra": execCommand("defaultparagraphseparator", false, "div") return value 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table align=justify><tbody data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra": execCommand("justifyfull", false, "") return value 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table align=justify><tbody data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" checks for modifications to non-editable content 
-FAIL [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table align=justify><tbody data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<div style=\"text-align:justify\"><table><tbody><tr><td>foo</td><td>bar</td><td>baz</td></tr></tbody></table></div><p>extra</p>" but got "<table align=\"justify\" style=\"text-align:justify\"><tbody><tr><td style=\"text-align:justify\">foo</td><td style=\"text-align:justify\">bar</td><td style=\"text-align:justify\">baz</td></tr></tbody></table><p>extra</p>"
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table align=justify><tbody data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("stylewithcss") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table align=justify><tbody data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("stylewithcss") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table align=justify><tbody data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("stylewithcss") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table align=justify><tbody data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("stylewithcss") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table align=justify><tbody data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("stylewithcss") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table align=justify><tbody data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("stylewithcss") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table align=justify><tbody data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("defaultparagraphseparator") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table align=justify><tbody data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("defaultparagraphseparator") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table align=justify><tbody data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("defaultparagraphseparator") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table align=justify><tbody data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("defaultparagraphseparator") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table align=justify><tbody data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("defaultparagraphseparator") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table align=justify><tbody data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("defaultparagraphseparator") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table align=justify><tbody data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("justifyfull") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table align=justify><tbody data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("justifyfull") before 
-FAIL [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table align=justify><tbody data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("justifyfull") before assert_equals: Wrong result returned expected "left" but got "false"
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table align=justify><tbody data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("justifyfull") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table align=justify><tbody data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("justifyfull") after 
-FAIL [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table align=justify><tbody data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("justifyfull") after assert_equals: Wrong result returned expected "justify" but got "true"
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table align=justify><tbody data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra": execCommand("stylewithcss", false, "false") return value 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table align=justify><tbody data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra": execCommand("defaultparagraphseparator", false, "div") return value 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table align=justify><tbody data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra": execCommand("justifyfull", false, "") return value 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table align=justify><tbody data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" checks for modifications to non-editable content 
-FAIL [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table align=justify><tbody data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<div style=\"text-align:justify\"><table><tbody><tr><td>foo</td><td>bar</td><td>baz</td></tr></tbody></table></div><p>extra</p>" but got "<table align=\"justify\" style=\"text-align:justify\"><tbody><tr><td style=\"text-align:justify\">foo</td><td style=\"text-align:justify\">bar</td><td style=\"text-align:justify\">baz</td></tr></tbody></table><p>extra</p>"
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table align=justify><tbody data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("stylewithcss") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table align=justify><tbody data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("stylewithcss") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table align=justify><tbody data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("stylewithcss") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table align=justify><tbody data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("stylewithcss") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table align=justify><tbody data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("stylewithcss") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table align=justify><tbody data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("stylewithcss") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table align=justify><tbody data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("defaultparagraphseparator") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table align=justify><tbody data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("defaultparagraphseparator") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table align=justify><tbody data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("defaultparagraphseparator") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table align=justify><tbody data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("defaultparagraphseparator") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table align=justify><tbody data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("defaultparagraphseparator") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table align=justify><tbody data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("defaultparagraphseparator") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table align=justify><tbody data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("justifyfull") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table align=justify><tbody data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("justifyfull") before 
-FAIL [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table align=justify><tbody data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("justifyfull") before assert_equals: Wrong result returned expected "left" but got "false"
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table align=justify><tbody data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("justifyfull") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table align=justify><tbody data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("justifyfull") after 
-FAIL [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table align=justify><tbody data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("justifyfull") after assert_equals: Wrong result returned expected "justify" but got "true"
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table align=justify><tbody data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra": execCommand("stylewithcss", false, "true") return value 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table align=justify><tbody data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra": execCommand("defaultparagraphseparator", false, "p") return value 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table align=justify><tbody data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra": execCommand("justifyfull", false, "") return value 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table align=justify><tbody data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" checks for modifications to non-editable content 
-FAIL [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table align=justify><tbody data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<div style=\"text-align:justify\"><table><tbody><tr><td>foo</td><td>bar</td><td>baz</td></tr></tbody></table></div><p>extra</p>" but got "<table align=\"justify\" style=\"text-align:justify\"><tbody><tr><td style=\"text-align:justify\">foo</td><td style=\"text-align:justify\">bar</td><td style=\"text-align:justify\">baz</td></tr></tbody></table><p>extra</p>"
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table align=justify><tbody data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("stylewithcss") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table align=justify><tbody data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("stylewithcss") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table align=justify><tbody data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("stylewithcss") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table align=justify><tbody data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("stylewithcss") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table align=justify><tbody data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("stylewithcss") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table align=justify><tbody data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("stylewithcss") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table align=justify><tbody data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("defaultparagraphseparator") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table align=justify><tbody data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("defaultparagraphseparator") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table align=justify><tbody data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("defaultparagraphseparator") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table align=justify><tbody data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("defaultparagraphseparator") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table align=justify><tbody data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("defaultparagraphseparator") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table align=justify><tbody data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("defaultparagraphseparator") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table align=justify><tbody data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("justifyfull") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table align=justify><tbody data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("justifyfull") before 
-FAIL [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table align=justify><tbody data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("justifyfull") before assert_equals: Wrong result returned expected "left" but got "false"
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table align=justify><tbody data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("justifyfull") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table align=justify><tbody data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("justifyfull") after 
-FAIL [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table align=justify><tbody data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("justifyfull") after assert_equals: Wrong result returned expected "justify" but got "true"
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table align=justify><tbody data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra": execCommand("stylewithcss", false, "false") return value 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table align=justify><tbody data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra": execCommand("defaultparagraphseparator", false, "p") return value 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table align=justify><tbody data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra": execCommand("justifyfull", false, "") return value 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table align=justify><tbody data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" checks for modifications to non-editable content 
-FAIL [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table align=justify><tbody data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<div style=\"text-align:justify\"><table><tbody><tr><td>foo</td><td>bar</td><td>baz</td></tr></tbody></table></div><p>extra</p>" but got "<table align=\"justify\" style=\"text-align:justify\"><tbody><tr><td style=\"text-align:justify\">foo</td><td style=\"text-align:justify\">bar</td><td style=\"text-align:justify\">baz</td></tr></tbody></table><p>extra</p>"
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table align=justify><tbody data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("stylewithcss") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table align=justify><tbody data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("stylewithcss") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table align=justify><tbody data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("stylewithcss") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table align=justify><tbody data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("stylewithcss") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table align=justify><tbody data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("stylewithcss") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table align=justify><tbody data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("stylewithcss") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table align=justify><tbody data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("defaultparagraphseparator") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table align=justify><tbody data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("defaultparagraphseparator") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table align=justify><tbody data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("defaultparagraphseparator") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table align=justify><tbody data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("defaultparagraphseparator") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table align=justify><tbody data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("defaultparagraphseparator") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table align=justify><tbody data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("defaultparagraphseparator") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table align=justify><tbody data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("justifyfull") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table align=justify><tbody data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("justifyfull") before 
-FAIL [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table align=justify><tbody data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("justifyfull") before assert_equals: Wrong result returned expected "left" but got "false"
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table align=justify><tbody data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("justifyfull") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table align=justify><tbody data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("justifyfull") after 
-FAIL [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table align=justify><tbody data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("justifyfull") after assert_equals: Wrong result returned expected "justify" but got "true"
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table align=justify data-start=0 data-end=1><tbody><tr><td>foo<td>bar<td>baz</table><p>extra": execCommand("stylewithcss", false, "true") return value 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table align=justify data-start=0 data-end=1><tbody><tr><td>foo<td>bar<td>baz</table><p>extra": execCommand("defaultparagraphseparator", false, "div") return value 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table align=justify data-start=0 data-end=1><tbody><tr><td>foo<td>bar<td>baz</table><p>extra": execCommand("justifyfull", false, "") return value 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table align=justify data-start=0 data-end=1><tbody><tr><td>foo<td>bar<td>baz</table><p>extra" checks for modifications to non-editable content 
-FAIL [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table align=justify data-start=0 data-end=1><tbody><tr><td>foo<td>bar<td>baz</table><p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<div style=\"text-align:justify\"><table><tbody><tr><td>foo</td><td>bar</td><td>baz</td></tr></tbody></table></div><p>extra</p>" but got "<table align=\"justify\" style=\"text-align:justify\"><tbody><tr><td>foo</td><td>bar</td><td>baz</td></tr></tbody></table><p>extra</p>"
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table align=justify data-start=0 data-end=1><tbody><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("stylewithcss") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table align=justify data-start=0 data-end=1><tbody><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("stylewithcss") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table align=justify data-start=0 data-end=1><tbody><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("stylewithcss") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table align=justify data-start=0 data-end=1><tbody><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("stylewithcss") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table align=justify data-start=0 data-end=1><tbody><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("stylewithcss") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table align=justify data-start=0 data-end=1><tbody><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("stylewithcss") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table align=justify data-start=0 data-end=1><tbody><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("defaultparagraphseparator") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table align=justify data-start=0 data-end=1><tbody><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("defaultparagraphseparator") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table align=justify data-start=0 data-end=1><tbody><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("defaultparagraphseparator") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table align=justify data-start=0 data-end=1><tbody><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("defaultparagraphseparator") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table align=justify data-start=0 data-end=1><tbody><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("defaultparagraphseparator") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table align=justify data-start=0 data-end=1><tbody><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("defaultparagraphseparator") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table align=justify data-start=0 data-end=1><tbody><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("justifyfull") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table align=justify data-start=0 data-end=1><tbody><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("justifyfull") before 
-FAIL [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table align=justify data-start=0 data-end=1><tbody><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("justifyfull") before assert_equals: Wrong result returned expected "left" but got "false"
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table align=justify data-start=0 data-end=1><tbody><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("justifyfull") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table align=justify data-start=0 data-end=1><tbody><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("justifyfull") after 
-FAIL [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table align=justify data-start=0 data-end=1><tbody><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("justifyfull") after assert_equals: Wrong result returned expected "justify" but got "true"
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table align=justify data-start=0 data-end=1><tbody><tr><td>foo<td>bar<td>baz</table><p>extra": execCommand("stylewithcss", false, "false") return value 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table align=justify data-start=0 data-end=1><tbody><tr><td>foo<td>bar<td>baz</table><p>extra": execCommand("defaultparagraphseparator", false, "div") return value 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table align=justify data-start=0 data-end=1><tbody><tr><td>foo<td>bar<td>baz</table><p>extra": execCommand("justifyfull", false, "") return value 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table align=justify data-start=0 data-end=1><tbody><tr><td>foo<td>bar<td>baz</table><p>extra" checks for modifications to non-editable content 
-FAIL [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table align=justify data-start=0 data-end=1><tbody><tr><td>foo<td>bar<td>baz</table><p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<div style=\"text-align:justify\"><table><tbody><tr><td>foo</td><td>bar</td><td>baz</td></tr></tbody></table></div><p>extra</p>" but got "<table align=\"justify\" style=\"text-align:justify\"><tbody><tr><td>foo</td><td>bar</td><td>baz</td></tr></tbody></table><p>extra</p>"
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table align=justify data-start=0 data-end=1><tbody><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("stylewithcss") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table align=justify data-start=0 data-end=1><tbody><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("stylewithcss") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table align=justify data-start=0 data-end=1><tbody><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("stylewithcss") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table align=justify data-start=0 data-end=1><tbody><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("stylewithcss") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table align=justify data-start=0 data-end=1><tbody><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("stylewithcss") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table align=justify data-start=0 data-end=1><tbody><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("stylewithcss") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table align=justify data-start=0 data-end=1><tbody><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("defaultparagraphseparator") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table align=justify data-start=0 data-end=1><tbody><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("defaultparagraphseparator") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table align=justify data-start=0 data-end=1><tbody><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("defaultparagraphseparator") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table align=justify data-start=0 data-end=1><tbody><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("defaultparagraphseparator") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table align=justify data-start=0 data-end=1><tbody><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("defaultparagraphseparator") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table align=justify data-start=0 data-end=1><tbody><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("defaultparagraphseparator") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table align=justify data-start=0 data-end=1><tbody><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("justifyfull") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table align=justify data-start=0 data-end=1><tbody><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("justifyfull") before 
-FAIL [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table align=justify data-start=0 data-end=1><tbody><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("justifyfull") before assert_equals: Wrong result returned expected "left" but got "false"
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table align=justify data-start=0 data-end=1><tbody><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("justifyfull") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table align=justify data-start=0 data-end=1><tbody><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("justifyfull") after 
-FAIL [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table align=justify data-start=0 data-end=1><tbody><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("justifyfull") after assert_equals: Wrong result returned expected "justify" but got "true"
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table align=justify data-start=0 data-end=1><tbody><tr><td>foo<td>bar<td>baz</table><p>extra": execCommand("stylewithcss", false, "true") return value 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table align=justify data-start=0 data-end=1><tbody><tr><td>foo<td>bar<td>baz</table><p>extra": execCommand("defaultparagraphseparator", false, "p") return value 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table align=justify data-start=0 data-end=1><tbody><tr><td>foo<td>bar<td>baz</table><p>extra": execCommand("justifyfull", false, "") return value 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table align=justify data-start=0 data-end=1><tbody><tr><td>foo<td>bar<td>baz</table><p>extra" checks for modifications to non-editable content 
-FAIL [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table align=justify data-start=0 data-end=1><tbody><tr><td>foo<td>bar<td>baz</table><p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<div style=\"text-align:justify\"><table><tbody><tr><td>foo</td><td>bar</td><td>baz</td></tr></tbody></table></div><p>extra</p>" but got "<table align=\"justify\" style=\"text-align:justify\"><tbody><tr><td>foo</td><td>bar</td><td>baz</td></tr></tbody></table><p>extra</p>"
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table align=justify data-start=0 data-end=1><tbody><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("stylewithcss") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table align=justify data-start=0 data-end=1><tbody><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("stylewithcss") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table align=justify data-start=0 data-end=1><tbody><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("stylewithcss") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table align=justify data-start=0 data-end=1><tbody><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("stylewithcss") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table align=justify data-start=0 data-end=1><tbody><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("stylewithcss") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table align=justify data-start=0 data-end=1><tbody><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("stylewithcss") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table align=justify data-start=0 data-end=1><tbody><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("defaultparagraphseparator") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table align=justify data-start=0 data-end=1><tbody><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("defaultparagraphseparator") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table align=justify data-start=0 data-end=1><tbody><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("defaultparagraphseparator") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table align=justify data-start=0 data-end=1><tbody><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("defaultparagraphseparator") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table align=justify data-start=0 data-end=1><tbody><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("defaultparagraphseparator") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table align=justify data-start=0 data-end=1><tbody><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("defaultparagraphseparator") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table align=justify data-start=0 data-end=1><tbody><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("justifyfull") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table align=justify data-start=0 data-end=1><tbody><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("justifyfull") before 
-FAIL [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table align=justify data-start=0 data-end=1><tbody><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("justifyfull") before assert_equals: Wrong result returned expected "left" but got "false"
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table align=justify data-start=0 data-end=1><tbody><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("justifyfull") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table align=justify data-start=0 data-end=1><tbody><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("justifyfull") after 
-FAIL [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table align=justify data-start=0 data-end=1><tbody><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("justifyfull") after assert_equals: Wrong result returned expected "justify" but got "true"
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table align=justify data-start=0 data-end=1><tbody><tr><td>foo<td>bar<td>baz</table><p>extra": execCommand("stylewithcss", false, "false") return value 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table align=justify data-start=0 data-end=1><tbody><tr><td>foo<td>bar<td>baz</table><p>extra": execCommand("defaultparagraphseparator", false, "p") return value 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table align=justify data-start=0 data-end=1><tbody><tr><td>foo<td>bar<td>baz</table><p>extra": execCommand("justifyfull", false, "") return value 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table align=justify data-start=0 data-end=1><tbody><tr><td>foo<td>bar<td>baz</table><p>extra" checks for modifications to non-editable content 
-FAIL [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table align=justify data-start=0 data-end=1><tbody><tr><td>foo<td>bar<td>baz</table><p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<div style=\"text-align:justify\"><table><tbody><tr><td>foo</td><td>bar</td><td>baz</td></tr></tbody></table></div><p>extra</p>" but got "<table align=\"justify\" style=\"text-align:justify\"><tbody><tr><td>foo</td><td>bar</td><td>baz</td></tr></tbody></table><p>extra</p>"
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table align=justify data-start=0 data-end=1><tbody><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("stylewithcss") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table align=justify data-start=0 data-end=1><tbody><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("stylewithcss") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table align=justify data-start=0 data-end=1><tbody><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("stylewithcss") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table align=justify data-start=0 data-end=1><tbody><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("stylewithcss") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table align=justify data-start=0 data-end=1><tbody><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("stylewithcss") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table align=justify data-start=0 data-end=1><tbody><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("stylewithcss") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table align=justify data-start=0 data-end=1><tbody><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("defaultparagraphseparator") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table align=justify data-start=0 data-end=1><tbody><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("defaultparagraphseparator") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table align=justify data-start=0 data-end=1><tbody><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("defaultparagraphseparator") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table align=justify data-start=0 data-end=1><tbody><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("defaultparagraphseparator") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table align=justify data-start=0 data-end=1><tbody><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("defaultparagraphseparator") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table align=justify data-start=0 data-end=1><tbody><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("defaultparagraphseparator") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table align=justify data-start=0 data-end=1><tbody><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("justifyfull") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table align=justify data-start=0 data-end=1><tbody><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("justifyfull") before 
-FAIL [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table align=justify data-start=0 data-end=1><tbody><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("justifyfull") before assert_equals: Wrong result returned expected "left" but got "false"
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table align=justify data-start=0 data-end=1><tbody><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("justifyfull") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table align=justify data-start=0 data-end=1><tbody><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("justifyfull") after 
-FAIL [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table align=justify data-start=0 data-end=1><tbody><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("justifyfull") after assert_equals: Wrong result returned expected "justify" but got "true"
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "{<table align=justify><tr><td>foo<td>bar<td>baz</table>}<p>extra": execCommand("stylewithcss", false, "true") return value 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "{<table align=justify><tr><td>foo<td>bar<td>baz</table>}<p>extra": execCommand("defaultparagraphseparator", false, "div") return value 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "{<table align=justify><tr><td>foo<td>bar<td>baz</table>}<p>extra": execCommand("justifyfull", false, "") return value 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "{<table align=justify><tr><td>foo<td>bar<td>baz</table>}<p>extra" checks for modifications to non-editable content 
-FAIL [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "{<table align=justify><tr><td>foo<td>bar<td>baz</table>}<p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<div style=\"text-align:justify\"><table><tbody><tr><td>foo</td><td>bar</td><td>baz</td></tr></tbody></table></div><p>extra</p>" but got "<table align=\"justify\" style=\"text-align:justify\"><tbody><tr><td>foo</td><td>bar</td><td>baz</td></tr></tbody></table><p style=\"text-align:justify\">extra</p>"
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "{<table align=justify><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandIndeterm("stylewithcss") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "{<table align=justify><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandState("stylewithcss") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "{<table align=justify><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandValue("stylewithcss") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "{<table align=justify><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandIndeterm("stylewithcss") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "{<table align=justify><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandState("stylewithcss") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "{<table align=justify><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandValue("stylewithcss") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "{<table align=justify><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandIndeterm("defaultparagraphseparator") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "{<table align=justify><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandState("defaultparagraphseparator") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "{<table align=justify><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandValue("defaultparagraphseparator") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "{<table align=justify><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandIndeterm("defaultparagraphseparator") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "{<table align=justify><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandState("defaultparagraphseparator") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "{<table align=justify><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandValue("defaultparagraphseparator") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "{<table align=justify><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandIndeterm("justifyfull") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "{<table align=justify><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandState("justifyfull") before 
-FAIL [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "{<table align=justify><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandValue("justifyfull") before assert_equals: Wrong result returned expected "left" but got "false"
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "{<table align=justify><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandIndeterm("justifyfull") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "{<table align=justify><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandState("justifyfull") after 
-FAIL [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "{<table align=justify><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandValue("justifyfull") after assert_equals: Wrong result returned expected "justify" but got "true"
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "{<table align=justify><tr><td>foo<td>bar<td>baz</table>}<p>extra": execCommand("stylewithcss", false, "false") return value 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "{<table align=justify><tr><td>foo<td>bar<td>baz</table>}<p>extra": execCommand("defaultparagraphseparator", false, "div") return value 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "{<table align=justify><tr><td>foo<td>bar<td>baz</table>}<p>extra": execCommand("justifyfull", false, "") return value 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "{<table align=justify><tr><td>foo<td>bar<td>baz</table>}<p>extra" checks for modifications to non-editable content 
-FAIL [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "{<table align=justify><tr><td>foo<td>bar<td>baz</table>}<p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<div style=\"text-align:justify\"><table><tbody><tr><td>foo</td><td>bar</td><td>baz</td></tr></tbody></table></div><p>extra</p>" but got "<table align=\"justify\" style=\"text-align:justify\"><tbody><tr><td>foo</td><td>bar</td><td>baz</td></tr></tbody></table><p style=\"text-align:justify\">extra</p>"
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "{<table align=justify><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandIndeterm("stylewithcss") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "{<table align=justify><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandState("stylewithcss") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "{<table align=justify><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandValue("stylewithcss") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "{<table align=justify><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandIndeterm("stylewithcss") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "{<table align=justify><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandState("stylewithcss") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "{<table align=justify><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandValue("stylewithcss") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "{<table align=justify><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandIndeterm("defaultparagraphseparator") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "{<table align=justify><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandState("defaultparagraphseparator") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "{<table align=justify><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandValue("defaultparagraphseparator") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "{<table align=justify><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandIndeterm("defaultparagraphseparator") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "{<table align=justify><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandState("defaultparagraphseparator") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "{<table align=justify><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandValue("defaultparagraphseparator") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "{<table align=justify><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandIndeterm("justifyfull") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "{<table align=justify><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandState("justifyfull") before 
-FAIL [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "{<table align=justify><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandValue("justifyfull") before assert_equals: Wrong result returned expected "left" but got "false"
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "{<table align=justify><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandIndeterm("justifyfull") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "{<table align=justify><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandState("justifyfull") after 
-FAIL [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "{<table align=justify><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandValue("justifyfull") after assert_equals: Wrong result returned expected "justify" but got "true"
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "{<table align=justify><tr><td>foo<td>bar<td>baz</table>}<p>extra": execCommand("stylewithcss", false, "true") return value 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "{<table align=justify><tr><td>foo<td>bar<td>baz</table>}<p>extra": execCommand("defaultparagraphseparator", false, "p") return value 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "{<table align=justify><tr><td>foo<td>bar<td>baz</table>}<p>extra": execCommand("justifyfull", false, "") return value 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "{<table align=justify><tr><td>foo<td>bar<td>baz</table>}<p>extra" checks for modifications to non-editable content 
-FAIL [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "{<table align=justify><tr><td>foo<td>bar<td>baz</table>}<p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<div style=\"text-align:justify\"><table><tbody><tr><td>foo</td><td>bar</td><td>baz</td></tr></tbody></table></div><p>extra</p>" but got "<table align=\"justify\" style=\"text-align:justify\"><tbody><tr><td>foo</td><td>bar</td><td>baz</td></tr></tbody></table><p style=\"text-align:justify\">extra</p>"
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "{<table align=justify><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandIndeterm("stylewithcss") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "{<table align=justify><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandState("stylewithcss") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "{<table align=justify><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandValue("stylewithcss") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "{<table align=justify><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandIndeterm("stylewithcss") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "{<table align=justify><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandState("stylewithcss") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "{<table align=justify><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandValue("stylewithcss") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "{<table align=justify><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandIndeterm("defaultparagraphseparator") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "{<table align=justify><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandState("defaultparagraphseparator") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "{<table align=justify><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandValue("defaultparagraphseparator") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "{<table align=justify><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandIndeterm("defaultparagraphseparator") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "{<table align=justify><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandState("defaultparagraphseparator") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "{<table align=justify><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandValue("defaultparagraphseparator") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "{<table align=justify><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandIndeterm("justifyfull") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "{<table align=justify><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandState("justifyfull") before 
-FAIL [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "{<table align=justify><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandValue("justifyfull") before assert_equals: Wrong result returned expected "left" but got "false"
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "{<table align=justify><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandIndeterm("justifyfull") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "{<table align=justify><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandState("justifyfull") after 
-FAIL [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "{<table align=justify><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandValue("justifyfull") after assert_equals: Wrong result returned expected "justify" but got "true"
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "{<table align=justify><tr><td>foo<td>bar<td>baz</table>}<p>extra": execCommand("stylewithcss", false, "false") return value 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "{<table align=justify><tr><td>foo<td>bar<td>baz</table>}<p>extra": execCommand("defaultparagraphseparator", false, "p") return value 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "{<table align=justify><tr><td>foo<td>bar<td>baz</table>}<p>extra": execCommand("justifyfull", false, "") return value 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "{<table align=justify><tr><td>foo<td>bar<td>baz</table>}<p>extra" checks for modifications to non-editable content 
-FAIL [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "{<table align=justify><tr><td>foo<td>bar<td>baz</table>}<p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<div style=\"text-align:justify\"><table><tbody><tr><td>foo</td><td>bar</td><td>baz</td></tr></tbody></table></div><p>extra</p>" but got "<table align=\"justify\" style=\"text-align:justify\"><tbody><tr><td>foo</td><td>bar</td><td>baz</td></tr></tbody></table><p style=\"text-align:justify\">extra</p>"
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "{<table align=justify><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandIndeterm("stylewithcss") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "{<table align=justify><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandState("stylewithcss") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "{<table align=justify><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandValue("stylewithcss") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "{<table align=justify><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandIndeterm("stylewithcss") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "{<table align=justify><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandState("stylewithcss") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "{<table align=justify><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandValue("stylewithcss") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "{<table align=justify><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandIndeterm("defaultparagraphseparator") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "{<table align=justify><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandState("defaultparagraphseparator") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "{<table align=justify><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandValue("defaultparagraphseparator") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "{<table align=justify><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandIndeterm("defaultparagraphseparator") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "{<table align=justify><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandState("defaultparagraphseparator") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "{<table align=justify><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandValue("defaultparagraphseparator") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "{<table align=justify><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandIndeterm("justifyfull") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "{<table align=justify><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandState("justifyfull") before 
-FAIL [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "{<table align=justify><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandValue("justifyfull") before assert_equals: Wrong result returned expected "left" but got "false"
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "{<table align=justify><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandIndeterm("justifyfull") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "{<table align=justify><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandState("justifyfull") after 
-FAIL [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "{<table align=justify><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandValue("justifyfull") after assert_equals: Wrong result returned expected "justify" but got "true"
-PASS [["justifyfull",""]] "<table><tbody align=justify><tr><td>foo<td>b[a]r<td>baz</table><p>extra": execCommand("justifyfull", false, "") return value 
-PASS [["justifyfull",""]] "<table><tbody align=justify><tr><td>foo<td>b[a]r<td>baz</table><p>extra" checks for modifications to non-editable content 
-PASS [["justifyfull",""]] "<table><tbody align=justify><tr><td>foo<td>b[a]r<td>baz</table><p>extra" compare innerHTML 
-PASS [["justifyfull",""]] "<table><tbody align=justify><tr><td>foo<td>b[a]r<td>baz</table><p>extra" queryCommandIndeterm("justifyfull") before 
-PASS [["justifyfull",""]] "<table><tbody align=justify><tr><td>foo<td>b[a]r<td>baz</table><p>extra" queryCommandState("justifyfull") before 
-FAIL [["justifyfull",""]] "<table><tbody align=justify><tr><td>foo<td>b[a]r<td>baz</table><p>extra" queryCommandValue("justifyfull") before assert_equals: Wrong result returned expected "justify" but got "true"
-PASS [["justifyfull",""]] "<table><tbody align=justify><tr><td>foo<td>b[a]r<td>baz</table><p>extra" queryCommandIndeterm("justifyfull") after 
-PASS [["justifyfull",""]] "<table><tbody align=justify><tr><td>foo<td>b[a]r<td>baz</table><p>extra" queryCommandState("justifyfull") after 
-FAIL [["justifyfull",""]] "<table><tbody align=justify><tr><td>foo<td>b[a]r<td>baz</table><p>extra" queryCommandValue("justifyfull") after assert_equals: Wrong result returned expected "justify" but got "true"
-PASS [["justifyfull",""]] "<table><tbody align=justify><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table><p>extra": execCommand("justifyfull", false, "") return value 
-PASS [["justifyfull",""]] "<table><tbody align=justify><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table><p>extra" checks for modifications to non-editable content 
-PASS [["justifyfull",""]] "<table><tbody align=justify><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table><p>extra" compare innerHTML 
-PASS [["justifyfull",""]] "<table><tbody align=justify><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("justifyfull") before 
-PASS [["justifyfull",""]] "<table><tbody align=justify><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("justifyfull") before 
-FAIL [["justifyfull",""]] "<table><tbody align=justify><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("justifyfull") before assert_equals: Wrong result returned expected "justify" but got "true"
-PASS [["justifyfull",""]] "<table><tbody align=justify><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("justifyfull") after 
-PASS [["justifyfull",""]] "<table><tbody align=justify><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("justifyfull") after 
-FAIL [["justifyfull",""]] "<table><tbody align=justify><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("justifyfull") after assert_equals: Wrong result returned expected "justify" but got "true"
-PASS [["justifyfull",""]] "<table><tbody align=justify><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table><p>extra": execCommand("justifyfull", false, "") return value 
-PASS [["justifyfull",""]] "<table><tbody align=justify><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table><p>extra" checks for modifications to non-editable content 
-PASS [["justifyfull",""]] "<table><tbody align=justify><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table><p>extra" compare innerHTML 
-PASS [["justifyfull",""]] "<table><tbody align=justify><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("justifyfull") before 
-PASS [["justifyfull",""]] "<table><tbody align=justify><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("justifyfull") before 
-FAIL [["justifyfull",""]] "<table><tbody align=justify><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("justifyfull") before assert_equals: Wrong result returned expected "justify" but got "true"
-PASS [["justifyfull",""]] "<table><tbody align=justify><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("justifyfull") after 
-PASS [["justifyfull",""]] "<table><tbody align=justify><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("justifyfull") after 
-FAIL [["justifyfull",""]] "<table><tbody align=justify><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("justifyfull") after assert_equals: Wrong result returned expected "justify" but got "true"
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table><tbody align=justify data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra": execCommand("stylewithcss", false, "true") return value 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table><tbody align=justify data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra": execCommand("defaultparagraphseparator", false, "div") return value 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table><tbody align=justify data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra": execCommand("justifyfull", false, "") return value 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table><tbody align=justify data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" checks for modifications to non-editable content 
-FAIL [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table><tbody align=justify data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<div style=\"text-align:justify\"><table><tbody><tr><td>foo</td><td>bar</td><td>baz</td></tr></tbody></table></div><p>extra</p>" but got "<table style=\"text-align:justify\"><tbody align=\"justify\"><tr><td>foo</td><td>bar</td><td>baz</td></tr></tbody></table><p>extra</p>"
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table><tbody align=justify data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("stylewithcss") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table><tbody align=justify data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("stylewithcss") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table><tbody align=justify data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("stylewithcss") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table><tbody align=justify data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("stylewithcss") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table><tbody align=justify data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("stylewithcss") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table><tbody align=justify data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("stylewithcss") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table><tbody align=justify data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("defaultparagraphseparator") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table><tbody align=justify data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("defaultparagraphseparator") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table><tbody align=justify data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("defaultparagraphseparator") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table><tbody align=justify data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("defaultparagraphseparator") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table><tbody align=justify data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("defaultparagraphseparator") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table><tbody align=justify data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("defaultparagraphseparator") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table><tbody align=justify data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("justifyfull") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table><tbody align=justify data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("justifyfull") before 
-FAIL [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table><tbody align=justify data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("justifyfull") before assert_equals: Wrong result returned expected "justify" but got "true"
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table><tbody align=justify data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("justifyfull") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table><tbody align=justify data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("justifyfull") after 
-FAIL [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table><tbody align=justify data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("justifyfull") after assert_equals: Wrong result returned expected "justify" but got "true"
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table><tbody align=justify data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra": execCommand("stylewithcss", false, "false") return value 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table><tbody align=justify data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra": execCommand("defaultparagraphseparator", false, "div") return value 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table><tbody align=justify data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra": execCommand("justifyfull", false, "") return value 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table><tbody align=justify data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" checks for modifications to non-editable content 
-FAIL [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table><tbody align=justify data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<div style=\"text-align:justify\"><table><tbody><tr><td>foo</td><td>bar</td><td>baz</td></tr></tbody></table></div><p>extra</p>" but got "<table style=\"text-align:justify\"><tbody align=\"justify\"><tr><td>foo</td><td>bar</td><td>baz</td></tr></tbody></table><p>extra</p>"
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table><tbody align=justify data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("stylewithcss") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table><tbody align=justify data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("stylewithcss") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table><tbody align=justify data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("stylewithcss") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table><tbody align=justify data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("stylewithcss") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table><tbody align=justify data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("stylewithcss") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table><tbody align=justify data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("stylewithcss") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table><tbody align=justify data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("defaultparagraphseparator") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table><tbody align=justify data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("defaultparagraphseparator") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table><tbody align=justify data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("defaultparagraphseparator") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table><tbody align=justify data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("defaultparagraphseparator") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table><tbody align=justify data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("defaultparagraphseparator") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table><tbody align=justify data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("defaultparagraphseparator") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table><tbody align=justify data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("justifyfull") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table><tbody align=justify data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("justifyfull") before 
-FAIL [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table><tbody align=justify data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("justifyfull") before assert_equals: Wrong result returned expected "justify" but got "true"
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table><tbody align=justify data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("justifyfull") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table><tbody align=justify data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("justifyfull") after 
-FAIL [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table><tbody align=justify data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("justifyfull") after assert_equals: Wrong result returned expected "justify" but got "true"
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table><tbody align=justify data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra": execCommand("stylewithcss", false, "true") return value 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table><tbody align=justify data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra": execCommand("defaultparagraphseparator", false, "p") return value 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table><tbody align=justify data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra": execCommand("justifyfull", false, "") return value 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table><tbody align=justify data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" checks for modifications to non-editable content 
-FAIL [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table><tbody align=justify data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<div style=\"text-align:justify\"><table><tbody><tr><td>foo</td><td>bar</td><td>baz</td></tr></tbody></table></div><p>extra</p>" but got "<table style=\"text-align:justify\"><tbody align=\"justify\"><tr><td>foo</td><td>bar</td><td>baz</td></tr></tbody></table><p>extra</p>"
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table><tbody align=justify data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("stylewithcss") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table><tbody align=justify data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("stylewithcss") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table><tbody align=justify data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("stylewithcss") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table><tbody align=justify data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("stylewithcss") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table><tbody align=justify data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("stylewithcss") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table><tbody align=justify data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("stylewithcss") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table><tbody align=justify data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("defaultparagraphseparator") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table><tbody align=justify data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("defaultparagraphseparator") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table><tbody align=justify data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("defaultparagraphseparator") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table><tbody align=justify data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("defaultparagraphseparator") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table><tbody align=justify data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("defaultparagraphseparator") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table><tbody align=justify data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("defaultparagraphseparator") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table><tbody align=justify data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("justifyfull") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table><tbody align=justify data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("justifyfull") before 
-FAIL [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table><tbody align=justify data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("justifyfull") before assert_equals: Wrong result returned expected "justify" but got "true"
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table><tbody align=justify data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("justifyfull") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table><tbody align=justify data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("justifyfull") after 
-FAIL [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table><tbody align=justify data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("justifyfull") after assert_equals: Wrong result returned expected "justify" but got "true"
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table><tbody align=justify data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra": execCommand("stylewithcss", false, "false") return value 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table><tbody align=justify data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra": execCommand("defaultparagraphseparator", false, "p") return value 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table><tbody align=justify data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra": execCommand("justifyfull", false, "") return value 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table><tbody align=justify data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" checks for modifications to non-editable content 
-FAIL [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table><tbody align=justify data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<div style=\"text-align:justify\"><table><tbody><tr><td>foo</td><td>bar</td><td>baz</td></tr></tbody></table></div><p>extra</p>" but got "<table style=\"text-align:justify\"><tbody align=\"justify\"><tr><td>foo</td><td>bar</td><td>baz</td></tr></tbody></table><p>extra</p>"
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table><tbody align=justify data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("stylewithcss") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table><tbody align=justify data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("stylewithcss") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table><tbody align=justify data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("stylewithcss") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table><tbody align=justify data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("stylewithcss") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table><tbody align=justify data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("stylewithcss") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table><tbody align=justify data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("stylewithcss") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table><tbody align=justify data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("defaultparagraphseparator") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table><tbody align=justify data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("defaultparagraphseparator") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table><tbody align=justify data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("defaultparagraphseparator") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table><tbody align=justify data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("defaultparagraphseparator") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table><tbody align=justify data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("defaultparagraphseparator") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table><tbody align=justify data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("defaultparagraphseparator") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table><tbody align=justify data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("justifyfull") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table><tbody align=justify data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("justifyfull") before 
-FAIL [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table><tbody align=justify data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("justifyfull") before assert_equals: Wrong result returned expected "justify" but got "true"
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table><tbody align=justify data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("justifyfull") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table><tbody align=justify data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("justifyfull") after 
-FAIL [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table><tbody align=justify data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("justifyfull") after assert_equals: Wrong result returned expected "justify" but got "true"
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table data-start=0 data-end=1><tbody align=justify><tr><td>foo<td>bar<td>baz</table><p>extra": execCommand("stylewithcss", false, "true") return value 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table data-start=0 data-end=1><tbody align=justify><tr><td>foo<td>bar<td>baz</table><p>extra": execCommand("defaultparagraphseparator", false, "div") return value 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table data-start=0 data-end=1><tbody align=justify><tr><td>foo<td>bar<td>baz</table><p>extra": execCommand("justifyfull", false, "") return value 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table data-start=0 data-end=1><tbody align=justify><tr><td>foo<td>bar<td>baz</table><p>extra" checks for modifications to non-editable content 
-FAIL [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table data-start=0 data-end=1><tbody align=justify><tr><td>foo<td>bar<td>baz</table><p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<div style=\"text-align:justify\"><table><tbody><tr><td>foo</td><td>bar</td><td>baz</td></tr></tbody></table></div><p>extra</p>" but got "<table style=\"text-align:justify\"><tbody align=\"justify\"><tr><td>foo</td><td>bar</td><td>baz</td></tr></tbody></table><p>extra</p>"
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table data-start=0 data-end=1><tbody align=justify><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("stylewithcss") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table data-start=0 data-end=1><tbody align=justify><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("stylewithcss") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table data-start=0 data-end=1><tbody align=justify><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("stylewithcss") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table data-start=0 data-end=1><tbody align=justify><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("stylewithcss") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table data-start=0 data-end=1><tbody align=justify><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("stylewithcss") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table data-start=0 data-end=1><tbody align=justify><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("stylewithcss") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table data-start=0 data-end=1><tbody align=justify><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("defaultparagraphseparator") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table data-start=0 data-end=1><tbody align=justify><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("defaultparagraphseparator") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table data-start=0 data-end=1><tbody align=justify><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("defaultparagraphseparator") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table data-start=0 data-end=1><tbody align=justify><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("defaultparagraphseparator") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table data-start=0 data-end=1><tbody align=justify><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("defaultparagraphseparator") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table data-start=0 data-end=1><tbody align=justify><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("defaultparagraphseparator") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table data-start=0 data-end=1><tbody align=justify><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("justifyfull") before 
-FAIL [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table data-start=0 data-end=1><tbody align=justify><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("justifyfull") before assert_equals: Wrong result returned expected true but got false
-FAIL [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table data-start=0 data-end=1><tbody align=justify><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("justifyfull") before assert_equals: Wrong result returned expected "justify" but got "false"
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table data-start=0 data-end=1><tbody align=justify><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("justifyfull") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table data-start=0 data-end=1><tbody align=justify><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("justifyfull") after 
-FAIL [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table data-start=0 data-end=1><tbody align=justify><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("justifyfull") after assert_equals: Wrong result returned expected "justify" but got "true"
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table data-start=0 data-end=1><tbody align=justify><tr><td>foo<td>bar<td>baz</table><p>extra": execCommand("stylewithcss", false, "false") return value 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table data-start=0 data-end=1><tbody align=justify><tr><td>foo<td>bar<td>baz</table><p>extra": execCommand("defaultparagraphseparator", false, "div") return value 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table data-start=0 data-end=1><tbody align=justify><tr><td>foo<td>bar<td>baz</table><p>extra": execCommand("justifyfull", false, "") return value 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table data-start=0 data-end=1><tbody align=justify><tr><td>foo<td>bar<td>baz</table><p>extra" checks for modifications to non-editable content 
-FAIL [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table data-start=0 data-end=1><tbody align=justify><tr><td>foo<td>bar<td>baz</table><p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<div style=\"text-align:justify\"><table><tbody><tr><td>foo</td><td>bar</td><td>baz</td></tr></tbody></table></div><p>extra</p>" but got "<table style=\"text-align:justify\"><tbody align=\"justify\"><tr><td>foo</td><td>bar</td><td>baz</td></tr></tbody></table><p>extra</p>"
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table data-start=0 data-end=1><tbody align=justify><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("stylewithcss") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table data-start=0 data-end=1><tbody align=justify><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("stylewithcss") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table data-start=0 data-end=1><tbody align=justify><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("stylewithcss") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table data-start=0 data-end=1><tbody align=justify><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("stylewithcss") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table data-start=0 data-end=1><tbody align=justify><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("stylewithcss") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table data-start=0 data-end=1><tbody align=justify><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("stylewithcss") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table data-start=0 data-end=1><tbody align=justify><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("defaultparagraphseparator") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table data-start=0 data-end=1><tbody align=justify><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("defaultparagraphseparator") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table data-start=0 data-end=1><tbody align=justify><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("defaultparagraphseparator") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table data-start=0 data-end=1><tbody align=justify><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("defaultparagraphseparator") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table data-start=0 data-end=1><tbody align=justify><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("defaultparagraphseparator") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table data-start=0 data-end=1><tbody align=justify><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("defaultparagraphseparator") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table data-start=0 data-end=1><tbody align=justify><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("justifyfull") before 
-FAIL [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table data-start=0 data-end=1><tbody align=justify><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("justifyfull") before assert_equals: Wrong result returned expected true but got false
-FAIL [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table data-start=0 data-end=1><tbody align=justify><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("justifyfull") before assert_equals: Wrong result returned expected "justify" but got "false"
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table data-start=0 data-end=1><tbody align=justify><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("justifyfull") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table data-start=0 data-end=1><tbody align=justify><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("justifyfull") after 
-FAIL [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table data-start=0 data-end=1><tbody align=justify><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("justifyfull") after assert_equals: Wrong result returned expected "justify" but got "true"
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table data-start=0 data-end=1><tbody align=justify><tr><td>foo<td>bar<td>baz</table><p>extra": execCommand("stylewithcss", false, "true") return value 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table data-start=0 data-end=1><tbody align=justify><tr><td>foo<td>bar<td>baz</table><p>extra": execCommand("defaultparagraphseparator", false, "p") return value 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table data-start=0 data-end=1><tbody align=justify><tr><td>foo<td>bar<td>baz</table><p>extra": execCommand("justifyfull", false, "") return value 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table data-start=0 data-end=1><tbody align=justify><tr><td>foo<td>bar<td>baz</table><p>extra" checks for modifications to non-editable content 
-FAIL [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table data-start=0 data-end=1><tbody align=justify><tr><td>foo<td>bar<td>baz</table><p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<div style=\"text-align:justify\"><table><tbody><tr><td>foo</td><td>bar</td><td>baz</td></tr></tbody></table></div><p>extra</p>" but got "<table style=\"text-align:justify\"><tbody align=\"justify\"><tr><td>foo</td><td>bar</td><td>baz</td></tr></tbody></table><p>extra</p>"
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table data-start=0 data-end=1><tbody align=justify><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("stylewithcss") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table data-start=0 data-end=1><tbody align=justify><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("stylewithcss") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table data-start=0 data-end=1><tbody align=justify><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("stylewithcss") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table data-start=0 data-end=1><tbody align=justify><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("stylewithcss") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table data-start=0 data-end=1><tbody align=justify><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("stylewithcss") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table data-start=0 data-end=1><tbody align=justify><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("stylewithcss") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table data-start=0 data-end=1><tbody align=justify><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("defaultparagraphseparator") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table data-start=0 data-end=1><tbody align=justify><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("defaultparagraphseparator") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table data-start=0 data-end=1><tbody align=justify><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("defaultparagraphseparator") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table data-start=0 data-end=1><tbody align=justify><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("defaultparagraphseparator") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table data-start=0 data-end=1><tbody align=justify><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("defaultparagraphseparator") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table data-start=0 data-end=1><tbody align=justify><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("defaultparagraphseparator") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table data-start=0 data-end=1><tbody align=justify><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("justifyfull") before 
-FAIL [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table data-start=0 data-end=1><tbody align=justify><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("justifyfull") before assert_equals: Wrong result returned expected true but got false
-FAIL [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table data-start=0 data-end=1><tbody align=justify><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("justifyfull") before assert_equals: Wrong result returned expected "justify" but got "false"
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table data-start=0 data-end=1><tbody align=justify><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("justifyfull") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table data-start=0 data-end=1><tbody align=justify><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("justifyfull") after 
-FAIL [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table data-start=0 data-end=1><tbody align=justify><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("justifyfull") after assert_equals: Wrong result returned expected "justify" but got "true"
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table data-start=0 data-end=1><tbody align=justify><tr><td>foo<td>bar<td>baz</table><p>extra": execCommand("stylewithcss", false, "false") return value 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table data-start=0 data-end=1><tbody align=justify><tr><td>foo<td>bar<td>baz</table><p>extra": execCommand("defaultparagraphseparator", false, "p") return value 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table data-start=0 data-end=1><tbody align=justify><tr><td>foo<td>bar<td>baz</table><p>extra": execCommand("justifyfull", false, "") return value 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table data-start=0 data-end=1><tbody align=justify><tr><td>foo<td>bar<td>baz</table><p>extra" checks for modifications to non-editable content 
-FAIL [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table data-start=0 data-end=1><tbody align=justify><tr><td>foo<td>bar<td>baz</table><p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<div style=\"text-align:justify\"><table><tbody><tr><td>foo</td><td>bar</td><td>baz</td></tr></tbody></table></div><p>extra</p>" but got "<table style=\"text-align:justify\"><tbody align=\"justify\"><tr><td>foo</td><td>bar</td><td>baz</td></tr></tbody></table><p>extra</p>"
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table data-start=0 data-end=1><tbody align=justify><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("stylewithcss") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table data-start=0 data-end=1><tbody align=justify><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("stylewithcss") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table data-start=0 data-end=1><tbody align=justify><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("stylewithcss") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table data-start=0 data-end=1><tbody align=justify><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("stylewithcss") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table data-start=0 data-end=1><tbody align=justify><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("stylewithcss") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table data-start=0 data-end=1><tbody align=justify><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("stylewithcss") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table data-start=0 data-end=1><tbody align=justify><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("defaultparagraphseparator") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table data-start=0 data-end=1><tbody align=justify><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("defaultparagraphseparator") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table data-start=0 data-end=1><tbody align=justify><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("defaultparagraphseparator") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table data-start=0 data-end=1><tbody align=justify><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("defaultparagraphseparator") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table data-start=0 data-end=1><tbody align=justify><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("defaultparagraphseparator") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table data-start=0 data-end=1><tbody align=justify><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("defaultparagraphseparator") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table data-start=0 data-end=1><tbody align=justify><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("justifyfull") before 
-FAIL [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table data-start=0 data-end=1><tbody align=justify><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("justifyfull") before assert_equals: Wrong result returned expected true but got false
-FAIL [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table data-start=0 data-end=1><tbody align=justify><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("justifyfull") before assert_equals: Wrong result returned expected "justify" but got "false"
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table data-start=0 data-end=1><tbody align=justify><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("justifyfull") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table data-start=0 data-end=1><tbody align=justify><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("justifyfull") after 
-FAIL [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table data-start=0 data-end=1><tbody align=justify><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("justifyfull") after assert_equals: Wrong result returned expected "justify" but got "true"
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "{<table><tbody align=justify><tr><td>foo<td>bar<td>baz</table>}<p>extra": execCommand("stylewithcss", false, "true") return value 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "{<table><tbody align=justify><tr><td>foo<td>bar<td>baz</table>}<p>extra": execCommand("defaultparagraphseparator", false, "div") return value 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "{<table><tbody align=justify><tr><td>foo<td>bar<td>baz</table>}<p>extra": execCommand("justifyfull", false, "") return value 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "{<table><tbody align=justify><tr><td>foo<td>bar<td>baz</table>}<p>extra" checks for modifications to non-editable content 
-FAIL [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "{<table><tbody align=justify><tr><td>foo<td>bar<td>baz</table>}<p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<div style=\"text-align:justify\"><table><tbody><tr><td>foo</td><td>bar</td><td>baz</td></tr></tbody></table></div><p>extra</p>" but got "<table style=\"text-align:justify\"><tbody align=\"justify\"><tr><td>foo</td><td>bar</td><td>baz</td></tr></tbody></table><p style=\"text-align:justify\">extra</p>"
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "{<table><tbody align=justify><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandIndeterm("stylewithcss") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "{<table><tbody align=justify><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandState("stylewithcss") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "{<table><tbody align=justify><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandValue("stylewithcss") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "{<table><tbody align=justify><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandIndeterm("stylewithcss") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "{<table><tbody align=justify><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandState("stylewithcss") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "{<table><tbody align=justify><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandValue("stylewithcss") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "{<table><tbody align=justify><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandIndeterm("defaultparagraphseparator") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "{<table><tbody align=justify><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandState("defaultparagraphseparator") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "{<table><tbody align=justify><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandValue("defaultparagraphseparator") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "{<table><tbody align=justify><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandIndeterm("defaultparagraphseparator") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "{<table><tbody align=justify><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandState("defaultparagraphseparator") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "{<table><tbody align=justify><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandValue("defaultparagraphseparator") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "{<table><tbody align=justify><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandIndeterm("justifyfull") before 
-FAIL [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "{<table><tbody align=justify><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandState("justifyfull") before assert_equals: Wrong result returned expected true but got false
-FAIL [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "{<table><tbody align=justify><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandValue("justifyfull") before assert_equals: Wrong result returned expected "justify" but got "false"
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "{<table><tbody align=justify><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandIndeterm("justifyfull") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "{<table><tbody align=justify><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandState("justifyfull") after 
-FAIL [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "{<table><tbody align=justify><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandValue("justifyfull") after assert_equals: Wrong result returned expected "justify" but got "true"
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "{<table><tbody align=justify><tr><td>foo<td>bar<td>baz</table>}<p>extra": execCommand("stylewithcss", false, "false") return value 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "{<table><tbody align=justify><tr><td>foo<td>bar<td>baz</table>}<p>extra": execCommand("defaultparagraphseparator", false, "div") return value 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "{<table><tbody align=justify><tr><td>foo<td>bar<td>baz</table>}<p>extra": execCommand("justifyfull", false, "") return value 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "{<table><tbody align=justify><tr><td>foo<td>bar<td>baz</table>}<p>extra" checks for modifications to non-editable content 
-FAIL [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "{<table><tbody align=justify><tr><td>foo<td>bar<td>baz</table>}<p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<div style=\"text-align:justify\"><table><tbody><tr><td>foo</td><td>bar</td><td>baz</td></tr></tbody></table></div><p>extra</p>" but got "<table style=\"text-align:justify\"><tbody align=\"justify\"><tr><td>foo</td><td>bar</td><td>baz</td></tr></tbody></table><p style=\"text-align:justify\">extra</p>"
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "{<table><tbody align=justify><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandIndeterm("stylewithcss") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "{<table><tbody align=justify><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandState("stylewithcss") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "{<table><tbody align=justify><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandValue("stylewithcss") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "{<table><tbody align=justify><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandIndeterm("stylewithcss") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "{<table><tbody align=justify><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandState("stylewithcss") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "{<table><tbody align=justify><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandValue("stylewithcss") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "{<table><tbody align=justify><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandIndeterm("defaultparagraphseparator") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "{<table><tbody align=justify><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandState("defaultparagraphseparator") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "{<table><tbody align=justify><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandValue("defaultparagraphseparator") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "{<table><tbody align=justify><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandIndeterm("defaultparagraphseparator") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "{<table><tbody align=justify><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandState("defaultparagraphseparator") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "{<table><tbody align=justify><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandValue("defaultparagraphseparator") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "{<table><tbody align=justify><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandIndeterm("justifyfull") before 
-FAIL [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "{<table><tbody align=justify><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandState("justifyfull") before assert_equals: Wrong result returned expected true but got false
-FAIL [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "{<table><tbody align=justify><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandValue("justifyfull") before assert_equals: Wrong result returned expected "justify" but got "false"
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "{<table><tbody align=justify><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandIndeterm("justifyfull") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "{<table><tbody align=justify><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandState("justifyfull") after 
-FAIL [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "{<table><tbody align=justify><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandValue("justifyfull") after assert_equals: Wrong result returned expected "justify" but got "true"
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "{<table><tbody align=justify><tr><td>foo<td>bar<td>baz</table>}<p>extra": execCommand("stylewithcss", false, "true") return value 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "{<table><tbody align=justify><tr><td>foo<td>bar<td>baz</table>}<p>extra": execCommand("defaultparagraphseparator", false, "p") return value 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "{<table><tbody align=justify><tr><td>foo<td>bar<td>baz</table>}<p>extra": execCommand("justifyfull", false, "") return value 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "{<table><tbody align=justify><tr><td>foo<td>bar<td>baz</table>}<p>extra" checks for modifications to non-editable content 
-FAIL [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "{<table><tbody align=justify><tr><td>foo<td>bar<td>baz</table>}<p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<div style=\"text-align:justify\"><table><tbody><tr><td>foo</td><td>bar</td><td>baz</td></tr></tbody></table></div><p>extra</p>" but got "<table style=\"text-align:justify\"><tbody align=\"justify\"><tr><td>foo</td><td>bar</td><td>baz</td></tr></tbody></table><p style=\"text-align:justify\">extra</p>"
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "{<table><tbody align=justify><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandIndeterm("stylewithcss") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "{<table><tbody align=justify><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandState("stylewithcss") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "{<table><tbody align=justify><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandValue("stylewithcss") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "{<table><tbody align=justify><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandIndeterm("stylewithcss") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "{<table><tbody align=justify><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandState("stylewithcss") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "{<table><tbody align=justify><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandValue("stylewithcss") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "{<table><tbody align=justify><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandIndeterm("defaultparagraphseparator") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "{<table><tbody align=justify><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandState("defaultparagraphseparator") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "{<table><tbody align=justify><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandValue("defaultparagraphseparator") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "{<table><tbody align=justify><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandIndeterm("defaultparagraphseparator") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "{<table><tbody align=justify><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandState("defaultparagraphseparator") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "{<table><tbody align=justify><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandValue("defaultparagraphseparator") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "{<table><tbody align=justify><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandIndeterm("justifyfull") before 
-FAIL [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "{<table><tbody align=justify><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandState("justifyfull") before assert_equals: Wrong result returned expected true but got false
-FAIL [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "{<table><tbody align=justify><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandValue("justifyfull") before assert_equals: Wrong result returned expected "justify" but got "false"
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "{<table><tbody align=justify><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandIndeterm("justifyfull") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "{<table><tbody align=justify><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandState("justifyfull") after 
-FAIL [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "{<table><tbody align=justify><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandValue("justifyfull") after assert_equals: Wrong result returned expected "justify" but got "true"
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "{<table><tbody align=justify><tr><td>foo<td>bar<td>baz</table>}<p>extra": execCommand("stylewithcss", false, "false") return value 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "{<table><tbody align=justify><tr><td>foo<td>bar<td>baz</table>}<p>extra": execCommand("defaultparagraphseparator", false, "p") return value 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "{<table><tbody align=justify><tr><td>foo<td>bar<td>baz</table>}<p>extra": execCommand("justifyfull", false, "") return value 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "{<table><tbody align=justify><tr><td>foo<td>bar<td>baz</table>}<p>extra" checks for modifications to non-editable content 
-FAIL [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "{<table><tbody align=justify><tr><td>foo<td>bar<td>baz</table>}<p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<div style=\"text-align:justify\"><table><tbody><tr><td>foo</td><td>bar</td><td>baz</td></tr></tbody></table></div><p>extra</p>" but got "<table style=\"text-align:justify\"><tbody align=\"justify\"><tr><td>foo</td><td>bar</td><td>baz</td></tr></tbody></table><p style=\"text-align:justify\">extra</p>"
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "{<table><tbody align=justify><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandIndeterm("stylewithcss") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "{<table><tbody align=justify><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandState("stylewithcss") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "{<table><tbody align=justify><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandValue("stylewithcss") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "{<table><tbody align=justify><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandIndeterm("stylewithcss") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "{<table><tbody align=justify><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandState("stylewithcss") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "{<table><tbody align=justify><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandValue("stylewithcss") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "{<table><tbody align=justify><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandIndeterm("defaultparagraphseparator") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "{<table><tbody align=justify><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandState("defaultparagraphseparator") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "{<table><tbody align=justify><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandValue("defaultparagraphseparator") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "{<table><tbody align=justify><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandIndeterm("defaultparagraphseparator") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "{<table><tbody align=justify><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandState("defaultparagraphseparator") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "{<table><tbody align=justify><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandValue("defaultparagraphseparator") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "{<table><tbody align=justify><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandIndeterm("justifyfull") before 
-FAIL [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "{<table><tbody align=justify><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandState("justifyfull") before assert_equals: Wrong result returned expected true but got false
-FAIL [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "{<table><tbody align=justify><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandValue("justifyfull") before assert_equals: Wrong result returned expected "justify" but got "false"
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "{<table><tbody align=justify><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandIndeterm("justifyfull") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "{<table><tbody align=justify><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandState("justifyfull") after 
-FAIL [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "{<table><tbody align=justify><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandValue("justifyfull") after assert_equals: Wrong result returned expected "justify" but got "true"
-PASS [["justifyfull",""]] "<table><tbody><tr align=justify><td>foo<td>b[a]r<td>baz</table><p>extra": execCommand("justifyfull", false, "") return value 
-PASS [["justifyfull",""]] "<table><tbody><tr align=justify><td>foo<td>b[a]r<td>baz</table><p>extra" checks for modifications to non-editable content 
-PASS [["justifyfull",""]] "<table><tbody><tr align=justify><td>foo<td>b[a]r<td>baz</table><p>extra" compare innerHTML 
-PASS [["justifyfull",""]] "<table><tbody><tr align=justify><td>foo<td>b[a]r<td>baz</table><p>extra" queryCommandIndeterm("justifyfull") before 
-PASS [["justifyfull",""]] "<table><tbody><tr align=justify><td>foo<td>b[a]r<td>baz</table><p>extra" queryCommandState("justifyfull") before 
-FAIL [["justifyfull",""]] "<table><tbody><tr align=justify><td>foo<td>b[a]r<td>baz</table><p>extra" queryCommandValue("justifyfull") before assert_equals: Wrong result returned expected "justify" but got "true"
-PASS [["justifyfull",""]] "<table><tbody><tr align=justify><td>foo<td>b[a]r<td>baz</table><p>extra" queryCommandIndeterm("justifyfull") after 
-PASS [["justifyfull",""]] "<table><tbody><tr align=justify><td>foo<td>b[a]r<td>baz</table><p>extra" queryCommandState("justifyfull") after 
-FAIL [["justifyfull",""]] "<table><tbody><tr align=justify><td>foo<td>b[a]r<td>baz</table><p>extra" queryCommandValue("justifyfull") after assert_equals: Wrong result returned expected "justify" but got "true"
-PASS [["justifyfull",""]] "<table><tbody><tr align=justify data-start=1 data-end=2><td>foo<td>bar<td>baz</table><p>extra": execCommand("justifyfull", false, "") return value 
-PASS [["justifyfull",""]] "<table><tbody><tr align=justify data-start=1 data-end=2><td>foo<td>bar<td>baz</table><p>extra" checks for modifications to non-editable content 
-PASS [["justifyfull",""]] "<table><tbody><tr align=justify data-start=1 data-end=2><td>foo<td>bar<td>baz</table><p>extra" compare innerHTML 
-PASS [["justifyfull",""]] "<table><tbody><tr align=justify data-start=1 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("justifyfull") before 
-PASS [["justifyfull",""]] "<table><tbody><tr align=justify data-start=1 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("justifyfull") before 
-FAIL [["justifyfull",""]] "<table><tbody><tr align=justify data-start=1 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("justifyfull") before assert_equals: Wrong result returned expected "justify" but got "true"
-PASS [["justifyfull",""]] "<table><tbody><tr align=justify data-start=1 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("justifyfull") after 
-PASS [["justifyfull",""]] "<table><tbody><tr align=justify data-start=1 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("justifyfull") after 
-FAIL [["justifyfull",""]] "<table><tbody><tr align=justify data-start=1 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("justifyfull") after assert_equals: Wrong result returned expected "justify" but got "true"
-PASS [["justifyfull",""]] "<table><tbody><tr align=justify data-start=0 data-end=2><td>foo<td>bar<td>baz</table><p>extra": execCommand("justifyfull", false, "") return value 
-PASS [["justifyfull",""]] "<table><tbody><tr align=justify data-start=0 data-end=2><td>foo<td>bar<td>baz</table><p>extra" checks for modifications to non-editable content 
-PASS [["justifyfull",""]] "<table><tbody><tr align=justify data-start=0 data-end=2><td>foo<td>bar<td>baz</table><p>extra" compare innerHTML 
-PASS [["justifyfull",""]] "<table><tbody><tr align=justify data-start=0 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("justifyfull") before 
-PASS [["justifyfull",""]] "<table><tbody><tr align=justify data-start=0 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("justifyfull") before 
-FAIL [["justifyfull",""]] "<table><tbody><tr align=justify data-start=0 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("justifyfull") before assert_equals: Wrong result returned expected "justify" but got "true"
-PASS [["justifyfull",""]] "<table><tbody><tr align=justify data-start=0 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("justifyfull") after 
-PASS [["justifyfull",""]] "<table><tbody><tr align=justify data-start=0 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("justifyfull") after 
-FAIL [["justifyfull",""]] "<table><tbody><tr align=justify data-start=0 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("justifyfull") after assert_equals: Wrong result returned expected "justify" but got "true"
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table><tbody data-start=0 data-end=1><tr align=justify><td>foo<td>bar<td>baz</table><p>extra": execCommand("stylewithcss", false, "true") return value 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table><tbody data-start=0 data-end=1><tr align=justify><td>foo<td>bar<td>baz</table><p>extra": execCommand("defaultparagraphseparator", false, "div") return value 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table><tbody data-start=0 data-end=1><tr align=justify><td>foo<td>bar<td>baz</table><p>extra": execCommand("justifyfull", false, "") return value 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table><tbody data-start=0 data-end=1><tr align=justify><td>foo<td>bar<td>baz</table><p>extra" checks for modifications to non-editable content 
-FAIL [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table><tbody data-start=0 data-end=1><tr align=justify><td>foo<td>bar<td>baz</table><p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<div style=\"text-align:justify\"><table><tbody><tr><td>foo</td><td>bar</td><td>baz</td></tr></tbody></table></div><p>extra</p>" but got "<table style=\"text-align:justify\"><tbody><tr align=\"justify\"><td>foo</td><td>bar</td><td>baz</td></tr></tbody></table><p>extra</p>"
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table><tbody data-start=0 data-end=1><tr align=justify><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("stylewithcss") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table><tbody data-start=0 data-end=1><tr align=justify><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("stylewithcss") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table><tbody data-start=0 data-end=1><tr align=justify><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("stylewithcss") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table><tbody data-start=0 data-end=1><tr align=justify><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("stylewithcss") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table><tbody data-start=0 data-end=1><tr align=justify><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("stylewithcss") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table><tbody data-start=0 data-end=1><tr align=justify><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("stylewithcss") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table><tbody data-start=0 data-end=1><tr align=justify><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("defaultparagraphseparator") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table><tbody data-start=0 data-end=1><tr align=justify><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("defaultparagraphseparator") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table><tbody data-start=0 data-end=1><tr align=justify><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("defaultparagraphseparator") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table><tbody data-start=0 data-end=1><tr align=justify><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("defaultparagraphseparator") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table><tbody data-start=0 data-end=1><tr align=justify><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("defaultparagraphseparator") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table><tbody data-start=0 data-end=1><tr align=justify><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("defaultparagraphseparator") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table><tbody data-start=0 data-end=1><tr align=justify><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("justifyfull") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table><tbody data-start=0 data-end=1><tr align=justify><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("justifyfull") before 
-FAIL [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table><tbody data-start=0 data-end=1><tr align=justify><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("justifyfull") before assert_equals: Wrong result returned expected "justify" but got "true"
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table><tbody data-start=0 data-end=1><tr align=justify><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("justifyfull") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table><tbody data-start=0 data-end=1><tr align=justify><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("justifyfull") after 
-FAIL [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table><tbody data-start=0 data-end=1><tr align=justify><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("justifyfull") after assert_equals: Wrong result returned expected "justify" but got "true"
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table><tbody data-start=0 data-end=1><tr align=justify><td>foo<td>bar<td>baz</table><p>extra": execCommand("stylewithcss", false, "false") return value 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table><tbody data-start=0 data-end=1><tr align=justify><td>foo<td>bar<td>baz</table><p>extra": execCommand("defaultparagraphseparator", false, "div") return value 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table><tbody data-start=0 data-end=1><tr align=justify><td>foo<td>bar<td>baz</table><p>extra": execCommand("justifyfull", false, "") return value 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table><tbody data-start=0 data-end=1><tr align=justify><td>foo<td>bar<td>baz</table><p>extra" checks for modifications to non-editable content 
-FAIL [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table><tbody data-start=0 data-end=1><tr align=justify><td>foo<td>bar<td>baz</table><p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<div style=\"text-align:justify\"><table><tbody><tr><td>foo</td><td>bar</td><td>baz</td></tr></tbody></table></div><p>extra</p>" but got "<table style=\"text-align:justify\"><tbody><tr align=\"justify\"><td>foo</td><td>bar</td><td>baz</td></tr></tbody></table><p>extra</p>"
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table><tbody data-start=0 data-end=1><tr align=justify><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("stylewithcss") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table><tbody data-start=0 data-end=1><tr align=justify><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("stylewithcss") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table><tbody data-start=0 data-end=1><tr align=justify><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("stylewithcss") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table><tbody data-start=0 data-end=1><tr align=justify><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("stylewithcss") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table><tbody data-start=0 data-end=1><tr align=justify><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("stylewithcss") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table><tbody data-start=0 data-end=1><tr align=justify><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("stylewithcss") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table><tbody data-start=0 data-end=1><tr align=justify><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("defaultparagraphseparator") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table><tbody data-start=0 data-end=1><tr align=justify><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("defaultparagraphseparator") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table><tbody data-start=0 data-end=1><tr align=justify><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("defaultparagraphseparator") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table><tbody data-start=0 data-end=1><tr align=justify><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("defaultparagraphseparator") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table><tbody data-start=0 data-end=1><tr align=justify><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("defaultparagraphseparator") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table><tbody data-start=0 data-end=1><tr align=justify><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("defaultparagraphseparator") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table><tbody data-start=0 data-end=1><tr align=justify><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("justifyfull") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table><tbody data-start=0 data-end=1><tr align=justify><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("justifyfull") before 
-FAIL [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table><tbody data-start=0 data-end=1><tr align=justify><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("justifyfull") before assert_equals: Wrong result returned expected "justify" but got "true"
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table><tbody data-start=0 data-end=1><tr align=justify><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("justifyfull") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table><tbody data-start=0 data-end=1><tr align=justify><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("justifyfull") after 
-FAIL [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table><tbody data-start=0 data-end=1><tr align=justify><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("justifyfull") after assert_equals: Wrong result returned expected "justify" but got "true"
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table><tbody data-start=0 data-end=1><tr align=justify><td>foo<td>bar<td>baz</table><p>extra": execCommand("stylewithcss", false, "true") return value 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table><tbody data-start=0 data-end=1><tr align=justify><td>foo<td>bar<td>baz</table><p>extra": execCommand("defaultparagraphseparator", false, "p") return value 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table><tbody data-start=0 data-end=1><tr align=justify><td>foo<td>bar<td>baz</table><p>extra": execCommand("justifyfull", false, "") return value 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table><tbody data-start=0 data-end=1><tr align=justify><td>foo<td>bar<td>baz</table><p>extra" checks for modifications to non-editable content 
-FAIL [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table><tbody data-start=0 data-end=1><tr align=justify><td>foo<td>bar<td>baz</table><p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<div style=\"text-align:justify\"><table><tbody><tr><td>foo</td><td>bar</td><td>baz</td></tr></tbody></table></div><p>extra</p>" but got "<table style=\"text-align:justify\"><tbody><tr align=\"justify\"><td>foo</td><td>bar</td><td>baz</td></tr></tbody></table><p>extra</p>"
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table><tbody data-start=0 data-end=1><tr align=justify><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("stylewithcss") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table><tbody data-start=0 data-end=1><tr align=justify><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("stylewithcss") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table><tbody data-start=0 data-end=1><tr align=justify><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("stylewithcss") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table><tbody data-start=0 data-end=1><tr align=justify><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("stylewithcss") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table><tbody data-start=0 data-end=1><tr align=justify><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("stylewithcss") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table><tbody data-start=0 data-end=1><tr align=justify><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("stylewithcss") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table><tbody data-start=0 data-end=1><tr align=justify><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("defaultparagraphseparator") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table><tbody data-start=0 data-end=1><tr align=justify><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("defaultparagraphseparator") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table><tbody data-start=0 data-end=1><tr align=justify><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("defaultparagraphseparator") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table><tbody data-start=0 data-end=1><tr align=justify><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("defaultparagraphseparator") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table><tbody data-start=0 data-end=1><tr align=justify><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("defaultparagraphseparator") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table><tbody data-start=0 data-end=1><tr align=justify><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("defaultparagraphseparator") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table><tbody data-start=0 data-end=1><tr align=justify><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("justifyfull") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table><tbody data-start=0 data-end=1><tr align=justify><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("justifyfull") before 
-FAIL [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table><tbody data-start=0 data-end=1><tr align=justify><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("justifyfull") before assert_equals: Wrong result returned expected "justify" but got "true"
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table><tbody data-start=0 data-end=1><tr align=justify><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("justifyfull") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table><tbody data-start=0 data-end=1><tr align=justify><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("justifyfull") after 
-FAIL [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table><tbody data-start=0 data-end=1><tr align=justify><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("justifyfull") after assert_equals: Wrong result returned expected "justify" but got "true"
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table><tbody data-start=0 data-end=1><tr align=justify><td>foo<td>bar<td>baz</table><p>extra": execCommand("stylewithcss", false, "false") return value 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table><tbody data-start=0 data-end=1><tr align=justify><td>foo<td>bar<td>baz</table><p>extra": execCommand("defaultparagraphseparator", false, "p") return value 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table><tbody data-start=0 data-end=1><tr align=justify><td>foo<td>bar<td>baz</table><p>extra": execCommand("justifyfull", false, "") return value 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table><tbody data-start=0 data-end=1><tr align=justify><td>foo<td>bar<td>baz</table><p>extra" checks for modifications to non-editable content 
-FAIL [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table><tbody data-start=0 data-end=1><tr align=justify><td>foo<td>bar<td>baz</table><p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<div style=\"text-align:justify\"><table><tbody><tr><td>foo</td><td>bar</td><td>baz</td></tr></tbody></table></div><p>extra</p>" but got "<table style=\"text-align:justify\"><tbody><tr align=\"justify\"><td>foo</td><td>bar</td><td>baz</td></tr></tbody></table><p>extra</p>"
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table><tbody data-start=0 data-end=1><tr align=justify><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("stylewithcss") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table><tbody data-start=0 data-end=1><tr align=justify><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("stylewithcss") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table><tbody data-start=0 data-end=1><tr align=justify><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("stylewithcss") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table><tbody data-start=0 data-end=1><tr align=justify><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("stylewithcss") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table><tbody data-start=0 data-end=1><tr align=justify><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("stylewithcss") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table><tbody data-start=0 data-end=1><tr align=justify><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("stylewithcss") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table><tbody data-start=0 data-end=1><tr align=justify><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("defaultparagraphseparator") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table><tbody data-start=0 data-end=1><tr align=justify><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("defaultparagraphseparator") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table><tbody data-start=0 data-end=1><tr align=justify><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("defaultparagraphseparator") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table><tbody data-start=0 data-end=1><tr align=justify><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("defaultparagraphseparator") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table><tbody data-start=0 data-end=1><tr align=justify><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("defaultparagraphseparator") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table><tbody data-start=0 data-end=1><tr align=justify><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("defaultparagraphseparator") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table><tbody data-start=0 data-end=1><tr align=justify><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("justifyfull") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table><tbody data-start=0 data-end=1><tr align=justify><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("justifyfull") before 
-FAIL [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table><tbody data-start=0 data-end=1><tr align=justify><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("justifyfull") before assert_equals: Wrong result returned expected "justify" but got "true"
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table><tbody data-start=0 data-end=1><tr align=justify><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("justifyfull") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table><tbody data-start=0 data-end=1><tr align=justify><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("justifyfull") after 
-FAIL [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table><tbody data-start=0 data-end=1><tr align=justify><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("justifyfull") after assert_equals: Wrong result returned expected "justify" but got "true"
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table data-start=0 data-end=1><tbody><tr align=justify><td>foo<td>bar<td>baz</table><p>extra": execCommand("stylewithcss", false, "true") return value 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table data-start=0 data-end=1><tbody><tr align=justify><td>foo<td>bar<td>baz</table><p>extra": execCommand("defaultparagraphseparator", false, "div") return value 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table data-start=0 data-end=1><tbody><tr align=justify><td>foo<td>bar<td>baz</table><p>extra": execCommand("justifyfull", false, "") return value 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table data-start=0 data-end=1><tbody><tr align=justify><td>foo<td>bar<td>baz</table><p>extra" checks for modifications to non-editable content 
-FAIL [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table data-start=0 data-end=1><tbody><tr align=justify><td>foo<td>bar<td>baz</table><p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<div style=\"text-align:justify\"><table><tbody><tr><td>foo</td><td>bar</td><td>baz</td></tr></tbody></table></div><p>extra</p>" but got "<table style=\"text-align:justify\"><tbody><tr align=\"justify\"><td>foo</td><td>bar</td><td>baz</td></tr></tbody></table><p>extra</p>"
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table data-start=0 data-end=1><tbody><tr align=justify><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("stylewithcss") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table data-start=0 data-end=1><tbody><tr align=justify><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("stylewithcss") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table data-start=0 data-end=1><tbody><tr align=justify><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("stylewithcss") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table data-start=0 data-end=1><tbody><tr align=justify><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("stylewithcss") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table data-start=0 data-end=1><tbody><tr align=justify><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("stylewithcss") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table data-start=0 data-end=1><tbody><tr align=justify><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("stylewithcss") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table data-start=0 data-end=1><tbody><tr align=justify><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("defaultparagraphseparator") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table data-start=0 data-end=1><tbody><tr align=justify><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("defaultparagraphseparator") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table data-start=0 data-end=1><tbody><tr align=justify><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("defaultparagraphseparator") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table data-start=0 data-end=1><tbody><tr align=justify><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("defaultparagraphseparator") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table data-start=0 data-end=1><tbody><tr align=justify><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("defaultparagraphseparator") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table data-start=0 data-end=1><tbody><tr align=justify><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("defaultparagraphseparator") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table data-start=0 data-end=1><tbody><tr align=justify><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("justifyfull") before 
-FAIL [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table data-start=0 data-end=1><tbody><tr align=justify><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("justifyfull") before assert_equals: Wrong result returned expected true but got false
-FAIL [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table data-start=0 data-end=1><tbody><tr align=justify><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("justifyfull") before assert_equals: Wrong result returned expected "justify" but got "false"
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table data-start=0 data-end=1><tbody><tr align=justify><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("justifyfull") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table data-start=0 data-end=1><tbody><tr align=justify><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("justifyfull") after 
-FAIL [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table data-start=0 data-end=1><tbody><tr align=justify><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("justifyfull") after assert_equals: Wrong result returned expected "justify" but got "true"
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table data-start=0 data-end=1><tbody><tr align=justify><td>foo<td>bar<td>baz</table><p>extra": execCommand("stylewithcss", false, "false") return value 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table data-start=0 data-end=1><tbody><tr align=justify><td>foo<td>bar<td>baz</table><p>extra": execCommand("defaultparagraphseparator", false, "div") return value 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table data-start=0 data-end=1><tbody><tr align=justify><td>foo<td>bar<td>baz</table><p>extra": execCommand("justifyfull", false, "") return value 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table data-start=0 data-end=1><tbody><tr align=justify><td>foo<td>bar<td>baz</table><p>extra" checks for modifications to non-editable content 
-FAIL [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table data-start=0 data-end=1><tbody><tr align=justify><td>foo<td>bar<td>baz</table><p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<div style=\"text-align:justify\"><table><tbody><tr><td>foo</td><td>bar</td><td>baz</td></tr></tbody></table></div><p>extra</p>" but got "<table style=\"text-align:justify\"><tbody><tr align=\"justify\"><td>foo</td><td>bar</td><td>baz</td></tr></tbody></table><p>extra</p>"
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table data-start=0 data-end=1><tbody><tr align=justify><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("stylewithcss") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table data-start=0 data-end=1><tbody><tr align=justify><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("stylewithcss") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table data-start=0 data-end=1><tbody><tr align=justify><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("stylewithcss") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table data-start=0 data-end=1><tbody><tr align=justify><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("stylewithcss") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table data-start=0 data-end=1><tbody><tr align=justify><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("stylewithcss") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table data-start=0 data-end=1><tbody><tr align=justify><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("stylewithcss") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table data-start=0 data-end=1><tbody><tr align=justify><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("defaultparagraphseparator") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table data-start=0 data-end=1><tbody><tr align=justify><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("defaultparagraphseparator") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table data-start=0 data-end=1><tbody><tr align=justify><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("defaultparagraphseparator") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table data-start=0 data-end=1><tbody><tr align=justify><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("defaultparagraphseparator") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table data-start=0 data-end=1><tbody><tr align=justify><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("defaultparagraphseparator") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table data-start=0 data-end=1><tbody><tr align=justify><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("defaultparagraphseparator") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table data-start=0 data-end=1><tbody><tr align=justify><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("justifyfull") before 
-FAIL [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table data-start=0 data-end=1><tbody><tr align=justify><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("justifyfull") before assert_equals: Wrong result returned expected true but got false
-FAIL [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table data-start=0 data-end=1><tbody><tr align=justify><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("justifyfull") before assert_equals: Wrong result returned expected "justify" but got "false"
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table data-start=0 data-end=1><tbody><tr align=justify><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("justifyfull") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table data-start=0 data-end=1><tbody><tr align=justify><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("justifyfull") after 
-FAIL [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table data-start=0 data-end=1><tbody><tr align=justify><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("justifyfull") after assert_equals: Wrong result returned expected "justify" but got "true"
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table data-start=0 data-end=1><tbody><tr align=justify><td>foo<td>bar<td>baz</table><p>extra": execCommand("stylewithcss", false, "true") return value 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table data-start=0 data-end=1><tbody><tr align=justify><td>foo<td>bar<td>baz</table><p>extra": execCommand("defaultparagraphseparator", false, "p") return value 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table data-start=0 data-end=1><tbody><tr align=justify><td>foo<td>bar<td>baz</table><p>extra": execCommand("justifyfull", false, "") return value 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table data-start=0 data-end=1><tbody><tr align=justify><td>foo<td>bar<td>baz</table><p>extra" checks for modifications to non-editable content 
-FAIL [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table data-start=0 data-end=1><tbody><tr align=justify><td>foo<td>bar<td>baz</table><p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<div style=\"text-align:justify\"><table><tbody><tr><td>foo</td><td>bar</td><td>baz</td></tr></tbody></table></div><p>extra</p>" but got "<table style=\"text-align:justify\"><tbody><tr align=\"justify\"><td>foo</td><td>bar</td><td>baz</td></tr></tbody></table><p>extra</p>"
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table data-start=0 data-end=1><tbody><tr align=justify><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("stylewithcss") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table data-start=0 data-end=1><tbody><tr align=justify><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("stylewithcss") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table data-start=0 data-end=1><tbody><tr align=justify><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("stylewithcss") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table data-start=0 data-end=1><tbody><tr align=justify><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("stylewithcss") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table data-start=0 data-end=1><tbody><tr align=justify><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("stylewithcss") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table data-start=0 data-end=1><tbody><tr align=justify><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("stylewithcss") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table data-start=0 data-end=1><tbody><tr align=justify><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("defaultparagraphseparator") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table data-start=0 data-end=1><tbody><tr align=justify><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("defaultparagraphseparator") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table data-start=0 data-end=1><tbody><tr align=justify><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("defaultparagraphseparator") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table data-start=0 data-end=1><tbody><tr align=justify><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("defaultparagraphseparator") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table data-start=0 data-end=1><tbody><tr align=justify><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("defaultparagraphseparator") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table data-start=0 data-end=1><tbody><tr align=justify><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("defaultparagraphseparator") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table data-start=0 data-end=1><tbody><tr align=justify><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("justifyfull") before 
-FAIL [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table data-start=0 data-end=1><tbody><tr align=justify><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("justifyfull") before assert_equals: Wrong result returned expected true but got false
-FAIL [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table data-start=0 data-end=1><tbody><tr align=justify><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("justifyfull") before assert_equals: Wrong result returned expected "justify" but got "false"
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table data-start=0 data-end=1><tbody><tr align=justify><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("justifyfull") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table data-start=0 data-end=1><tbody><tr align=justify><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("justifyfull") after 
-FAIL [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table data-start=0 data-end=1><tbody><tr align=justify><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("justifyfull") after assert_equals: Wrong result returned expected "justify" but got "true"
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table data-start=0 data-end=1><tbody><tr align=justify><td>foo<td>bar<td>baz</table><p>extra": execCommand("stylewithcss", false, "false") return value 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table data-start=0 data-end=1><tbody><tr align=justify><td>foo<td>bar<td>baz</table><p>extra": execCommand("defaultparagraphseparator", false, "p") return value 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table data-start=0 data-end=1><tbody><tr align=justify><td>foo<td>bar<td>baz</table><p>extra": execCommand("justifyfull", false, "") return value 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table data-start=0 data-end=1><tbody><tr align=justify><td>foo<td>bar<td>baz</table><p>extra" checks for modifications to non-editable content 
-FAIL [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table data-start=0 data-end=1><tbody><tr align=justify><td>foo<td>bar<td>baz</table><p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<div style=\"text-align:justify\"><table><tbody><tr><td>foo</td><td>bar</td><td>baz</td></tr></tbody></table></div><p>extra</p>" but got "<table style=\"text-align:justify\"><tbody><tr align=\"justify\"><td>foo</td><td>bar</td><td>baz</td></tr></tbody></table><p>extra</p>"
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table data-start=0 data-end=1><tbody><tr align=justify><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("stylewithcss") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table data-start=0 data-end=1><tbody><tr align=justify><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("stylewithcss") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table data-start=0 data-end=1><tbody><tr align=justify><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("stylewithcss") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table data-start=0 data-end=1><tbody><tr align=justify><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("stylewithcss") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table data-start=0 data-end=1><tbody><tr align=justify><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("stylewithcss") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table data-start=0 data-end=1><tbody><tr align=justify><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("stylewithcss") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table data-start=0 data-end=1><tbody><tr align=justify><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("defaultparagraphseparator") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table data-start=0 data-end=1><tbody><tr align=justify><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("defaultparagraphseparator") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table data-start=0 data-end=1><tbody><tr align=justify><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("defaultparagraphseparator") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table data-start=0 data-end=1><tbody><tr align=justify><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("defaultparagraphseparator") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table data-start=0 data-end=1><tbody><tr align=justify><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("defaultparagraphseparator") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table data-start=0 data-end=1><tbody><tr align=justify><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("defaultparagraphseparator") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table data-start=0 data-end=1><tbody><tr align=justify><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("justifyfull") before 
-FAIL [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table data-start=0 data-end=1><tbody><tr align=justify><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("justifyfull") before assert_equals: Wrong result returned expected true but got false
-FAIL [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table data-start=0 data-end=1><tbody><tr align=justify><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("justifyfull") before assert_equals: Wrong result returned expected "justify" but got "false"
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table data-start=0 data-end=1><tbody><tr align=justify><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("justifyfull") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table data-start=0 data-end=1><tbody><tr align=justify><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("justifyfull") after 
-FAIL [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table data-start=0 data-end=1><tbody><tr align=justify><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("justifyfull") after assert_equals: Wrong result returned expected "justify" but got "true"
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "{<table><tr align=justify><td>foo<td>bar<td>baz</table>}<p>extra": execCommand("stylewithcss", false, "true") return value 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "{<table><tr align=justify><td>foo<td>bar<td>baz</table>}<p>extra": execCommand("defaultparagraphseparator", false, "div") return value 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "{<table><tr align=justify><td>foo<td>bar<td>baz</table>}<p>extra": execCommand("justifyfull", false, "") return value 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "{<table><tr align=justify><td>foo<td>bar<td>baz</table>}<p>extra" checks for modifications to non-editable content 
-FAIL [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "{<table><tr align=justify><td>foo<td>bar<td>baz</table>}<p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<div style=\"text-align:justify\"><table><tbody><tr><td>foo</td><td>bar</td><td>baz</td></tr></tbody></table></div><p>extra</p>" but got "<table style=\"text-align:justify\"><tbody><tr align=\"justify\"><td>foo</td><td>bar</td><td>baz</td></tr></tbody></table><p style=\"text-align:justify\">extra</p>"
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "{<table><tr align=justify><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandIndeterm("stylewithcss") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "{<table><tr align=justify><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandState("stylewithcss") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "{<table><tr align=justify><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandValue("stylewithcss") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "{<table><tr align=justify><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandIndeterm("stylewithcss") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "{<table><tr align=justify><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandState("stylewithcss") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "{<table><tr align=justify><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandValue("stylewithcss") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "{<table><tr align=justify><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandIndeterm("defaultparagraphseparator") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "{<table><tr align=justify><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandState("defaultparagraphseparator") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "{<table><tr align=justify><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandValue("defaultparagraphseparator") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "{<table><tr align=justify><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandIndeterm("defaultparagraphseparator") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "{<table><tr align=justify><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandState("defaultparagraphseparator") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "{<table><tr align=justify><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandValue("defaultparagraphseparator") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "{<table><tr align=justify><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandIndeterm("justifyfull") before 
-FAIL [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "{<table><tr align=justify><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandState("justifyfull") before assert_equals: Wrong result returned expected true but got false
-FAIL [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "{<table><tr align=justify><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandValue("justifyfull") before assert_equals: Wrong result returned expected "justify" but got "false"
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "{<table><tr align=justify><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandIndeterm("justifyfull") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "{<table><tr align=justify><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandState("justifyfull") after 
-FAIL [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "{<table><tr align=justify><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandValue("justifyfull") after assert_equals: Wrong result returned expected "justify" but got "true"
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "{<table><tr align=justify><td>foo<td>bar<td>baz</table>}<p>extra": execCommand("stylewithcss", false, "false") return value 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "{<table><tr align=justify><td>foo<td>bar<td>baz</table>}<p>extra": execCommand("defaultparagraphseparator", false, "div") return value 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "{<table><tr align=justify><td>foo<td>bar<td>baz</table>}<p>extra": execCommand("justifyfull", false, "") return value 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "{<table><tr align=justify><td>foo<td>bar<td>baz</table>}<p>extra" checks for modifications to non-editable content 
-FAIL [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "{<table><tr align=justify><td>foo<td>bar<td>baz</table>}<p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<div style=\"text-align:justify\"><table><tbody><tr><td>foo</td><td>bar</td><td>baz</td></tr></tbody></table></div><p>extra</p>" but got "<table style=\"text-align:justify\"><tbody><tr align=\"justify\"><td>foo</td><td>bar</td><td>baz</td></tr></tbody></table><p style=\"text-align:justify\">extra</p>"
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "{<table><tr align=justify><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandIndeterm("stylewithcss") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "{<table><tr align=justify><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandState("stylewithcss") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "{<table><tr align=justify><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandValue("stylewithcss") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "{<table><tr align=justify><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandIndeterm("stylewithcss") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "{<table><tr align=justify><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandState("stylewithcss") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "{<table><tr align=justify><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandValue("stylewithcss") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "{<table><tr align=justify><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandIndeterm("defaultparagraphseparator") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "{<table><tr align=justify><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandState("defaultparagraphseparator") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "{<table><tr align=justify><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandValue("defaultparagraphseparator") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "{<table><tr align=justify><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandIndeterm("defaultparagraphseparator") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "{<table><tr align=justify><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandState("defaultparagraphseparator") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "{<table><tr align=justify><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandValue("defaultparagraphseparator") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "{<table><tr align=justify><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandIndeterm("justifyfull") before 
-FAIL [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "{<table><tr align=justify><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandState("justifyfull") before assert_equals: Wrong result returned expected true but got false
-FAIL [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "{<table><tr align=justify><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandValue("justifyfull") before assert_equals: Wrong result returned expected "justify" but got "false"
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "{<table><tr align=justify><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandIndeterm("justifyfull") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "{<table><tr align=justify><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandState("justifyfull") after 
-FAIL [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "{<table><tr align=justify><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandValue("justifyfull") after assert_equals: Wrong result returned expected "justify" but got "true"
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "{<table><tr align=justify><td>foo<td>bar<td>baz</table>}<p>extra": execCommand("stylewithcss", false, "true") return value 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "{<table><tr align=justify><td>foo<td>bar<td>baz</table>}<p>extra": execCommand("defaultparagraphseparator", false, "p") return value 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "{<table><tr align=justify><td>foo<td>bar<td>baz</table>}<p>extra": execCommand("justifyfull", false, "") return value 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "{<table><tr align=justify><td>foo<td>bar<td>baz</table>}<p>extra" checks for modifications to non-editable content 
-FAIL [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "{<table><tr align=justify><td>foo<td>bar<td>baz</table>}<p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<div style=\"text-align:justify\"><table><tbody><tr><td>foo</td><td>bar</td><td>baz</td></tr></tbody></table></div><p>extra</p>" but got "<table style=\"text-align:justify\"><tbody><tr align=\"justify\"><td>foo</td><td>bar</td><td>baz</td></tr></tbody></table><p style=\"text-align:justify\">extra</p>"
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "{<table><tr align=justify><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandIndeterm("stylewithcss") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "{<table><tr align=justify><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandState("stylewithcss") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "{<table><tr align=justify><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandValue("stylewithcss") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "{<table><tr align=justify><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandIndeterm("stylewithcss") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "{<table><tr align=justify><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandState("stylewithcss") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "{<table><tr align=justify><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandValue("stylewithcss") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "{<table><tr align=justify><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandIndeterm("defaultparagraphseparator") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "{<table><tr align=justify><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandState("defaultparagraphseparator") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "{<table><tr align=justify><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandValue("defaultparagraphseparator") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "{<table><tr align=justify><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandIndeterm("defaultparagraphseparator") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "{<table><tr align=justify><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandState("defaultparagraphseparator") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "{<table><tr align=justify><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandValue("defaultparagraphseparator") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "{<table><tr align=justify><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandIndeterm("justifyfull") before 
-FAIL [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "{<table><tr align=justify><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandState("justifyfull") before assert_equals: Wrong result returned expected true but got false
-FAIL [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "{<table><tr align=justify><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandValue("justifyfull") before assert_equals: Wrong result returned expected "justify" but got "false"
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "{<table><tr align=justify><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandIndeterm("justifyfull") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "{<table><tr align=justify><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandState("justifyfull") after 
-FAIL [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "{<table><tr align=justify><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandValue("justifyfull") after assert_equals: Wrong result returned expected "justify" but got "true"
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "{<table><tr align=justify><td>foo<td>bar<td>baz</table>}<p>extra": execCommand("stylewithcss", false, "false") return value 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "{<table><tr align=justify><td>foo<td>bar<td>baz</table>}<p>extra": execCommand("defaultparagraphseparator", false, "p") return value 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "{<table><tr align=justify><td>foo<td>bar<td>baz</table>}<p>extra": execCommand("justifyfull", false, "") return value 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "{<table><tr align=justify><td>foo<td>bar<td>baz</table>}<p>extra" checks for modifications to non-editable content 
-FAIL [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "{<table><tr align=justify><td>foo<td>bar<td>baz</table>}<p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<div style=\"text-align:justify\"><table><tbody><tr><td>foo</td><td>bar</td><td>baz</td></tr></tbody></table></div><p>extra</p>" but got "<table style=\"text-align:justify\"><tbody><tr align=\"justify\"><td>foo</td><td>bar</td><td>baz</td></tr></tbody></table><p style=\"text-align:justify\">extra</p>"
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "{<table><tr align=justify><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandIndeterm("stylewithcss") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "{<table><tr align=justify><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandState("stylewithcss") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "{<table><tr align=justify><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandValue("stylewithcss") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "{<table><tr align=justify><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandIndeterm("stylewithcss") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "{<table><tr align=justify><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandState("stylewithcss") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "{<table><tr align=justify><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandValue("stylewithcss") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "{<table><tr align=justify><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandIndeterm("defaultparagraphseparator") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "{<table><tr align=justify><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandState("defaultparagraphseparator") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "{<table><tr align=justify><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandValue("defaultparagraphseparator") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "{<table><tr align=justify><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandIndeterm("defaultparagraphseparator") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "{<table><tr align=justify><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandState("defaultparagraphseparator") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "{<table><tr align=justify><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandValue("defaultparagraphseparator") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "{<table><tr align=justify><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandIndeterm("justifyfull") before 
-FAIL [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "{<table><tr align=justify><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandState("justifyfull") before assert_equals: Wrong result returned expected true but got false
-FAIL [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "{<table><tr align=justify><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandValue("justifyfull") before assert_equals: Wrong result returned expected "justify" but got "false"
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "{<table><tr align=justify><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandIndeterm("justifyfull") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "{<table><tr align=justify><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandState("justifyfull") after 
-FAIL [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "{<table><tr align=justify><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandValue("justifyfull") after assert_equals: Wrong result returned expected "justify" but got "true"
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<div align=center><p>[foo]<p>bar</div><p>extra": execCommand("stylewithcss", false, "true") return value 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<div align=center><p>[foo]<p>bar</div><p>extra": execCommand("defaultparagraphseparator", false, "div") return value 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<div align=center><p>[foo]<p>bar</div><p>extra": execCommand("justifyfull", false, "") return value 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<div align=center><p>[foo]<p>bar</div><p>extra" checks for modifications to non-editable content 
-FAIL [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<div align=center><p>[foo]<p>bar</div><p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<div align=\"center\"><div style=\"text-align:justify\"><p>foo</p></div><p>bar</p></div><p>extra</p>" but got "<div align=\"center\"><p style=\"text-align:justify\">foo</p><p>bar</p></div><p>extra</p>"
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<div align=center><p>[foo]<p>bar</div><p>extra" queryCommandIndeterm("stylewithcss") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<div align=center><p>[foo]<p>bar</div><p>extra" queryCommandState("stylewithcss") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<div align=center><p>[foo]<p>bar</div><p>extra" queryCommandValue("stylewithcss") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<div align=center><p>[foo]<p>bar</div><p>extra" queryCommandIndeterm("stylewithcss") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<div align=center><p>[foo]<p>bar</div><p>extra" queryCommandState("stylewithcss") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<div align=center><p>[foo]<p>bar</div><p>extra" queryCommandValue("stylewithcss") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<div align=center><p>[foo]<p>bar</div><p>extra" queryCommandIndeterm("defaultparagraphseparator") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<div align=center><p>[foo]<p>bar</div><p>extra" queryCommandState("defaultparagraphseparator") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<div align=center><p>[foo]<p>bar</div><p>extra" queryCommandValue("defaultparagraphseparator") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<div align=center><p>[foo]<p>bar</div><p>extra" queryCommandIndeterm("defaultparagraphseparator") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<div align=center><p>[foo]<p>bar</div><p>extra" queryCommandState("defaultparagraphseparator") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<div align=center><p>[foo]<p>bar</div><p>extra" queryCommandValue("defaultparagraphseparator") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<div align=center><p>[foo]<p>bar</div><p>extra" queryCommandIndeterm("justifyfull") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<div align=center><p>[foo]<p>bar</div><p>extra" queryCommandState("justifyfull") before 
-FAIL [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<div align=center><p>[foo]<p>bar</div><p>extra" queryCommandValue("justifyfull") before assert_equals: Wrong result returned expected "center" but got "false"
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<div align=center><p>[foo]<p>bar</div><p>extra" queryCommandIndeterm("justifyfull") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<div align=center><p>[foo]<p>bar</div><p>extra" queryCommandState("justifyfull") after 
-FAIL [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<div align=center><p>[foo]<p>bar</div><p>extra" queryCommandValue("justifyfull") after assert_equals: Wrong result returned expected "justify" but got "true"
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<div align=center><p>[foo]<p>bar</div><p>extra": execCommand("stylewithcss", false, "false") return value 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<div align=center><p>[foo]<p>bar</div><p>extra": execCommand("defaultparagraphseparator", false, "div") return value 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<div align=center><p>[foo]<p>bar</div><p>extra": execCommand("justifyfull", false, "") return value 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<div align=center><p>[foo]<p>bar</div><p>extra" checks for modifications to non-editable content 
-FAIL [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<div align=center><p>[foo]<p>bar</div><p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<div align=\"center\"><div style=\"text-align:justify\"><p>foo</p></div><p>bar</p></div><p>extra</p>" but got "<div align=\"center\"><p style=\"text-align:justify\">foo</p><p>bar</p></div><p>extra</p>"
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<div align=center><p>[foo]<p>bar</div><p>extra" queryCommandIndeterm("stylewithcss") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<div align=center><p>[foo]<p>bar</div><p>extra" queryCommandState("stylewithcss") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<div align=center><p>[foo]<p>bar</div><p>extra" queryCommandValue("stylewithcss") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<div align=center><p>[foo]<p>bar</div><p>extra" queryCommandIndeterm("stylewithcss") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<div align=center><p>[foo]<p>bar</div><p>extra" queryCommandState("stylewithcss") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<div align=center><p>[foo]<p>bar</div><p>extra" queryCommandValue("stylewithcss") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<div align=center><p>[foo]<p>bar</div><p>extra" queryCommandIndeterm("defaultparagraphseparator") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<div align=center><p>[foo]<p>bar</div><p>extra" queryCommandState("defaultparagraphseparator") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<div align=center><p>[foo]<p>bar</div><p>extra" queryCommandValue("defaultparagraphseparator") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<div align=center><p>[foo]<p>bar</div><p>extra" queryCommandIndeterm("defaultparagraphseparator") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<div align=center><p>[foo]<p>bar</div><p>extra" queryCommandState("defaultparagraphseparator") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<div align=center><p>[foo]<p>bar</div><p>extra" queryCommandValue("defaultparagraphseparator") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<div align=center><p>[foo]<p>bar</div><p>extra" queryCommandIndeterm("justifyfull") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<div align=center><p>[foo]<p>bar</div><p>extra" queryCommandState("justifyfull") before 
-FAIL [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<div align=center><p>[foo]<p>bar</div><p>extra" queryCommandValue("justifyfull") before assert_equals: Wrong result returned expected "center" but got "false"
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<div align=center><p>[foo]<p>bar</div><p>extra" queryCommandIndeterm("justifyfull") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<div align=center><p>[foo]<p>bar</div><p>extra" queryCommandState("justifyfull") after 
-FAIL [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<div align=center><p>[foo]<p>bar</div><p>extra" queryCommandValue("justifyfull") after assert_equals: Wrong result returned expected "justify" but got "true"
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<div align=center><p>[foo]<p>bar</div><p>extra": execCommand("stylewithcss", false, "true") return value 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<div align=center><p>[foo]<p>bar</div><p>extra": execCommand("defaultparagraphseparator", false, "p") return value 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<div align=center><p>[foo]<p>bar</div><p>extra": execCommand("justifyfull", false, "") return value 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<div align=center><p>[foo]<p>bar</div><p>extra" checks for modifications to non-editable content 
-FAIL [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<div align=center><p>[foo]<p>bar</div><p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<div align=\"center\"><div style=\"text-align:justify\"><p>foo</p></div><p>bar</p></div><p>extra</p>" but got "<div align=\"center\"><p style=\"text-align:justify\">foo</p><p>bar</p></div><p>extra</p>"
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<div align=center><p>[foo]<p>bar</div><p>extra" queryCommandIndeterm("stylewithcss") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<div align=center><p>[foo]<p>bar</div><p>extra" queryCommandState("stylewithcss") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<div align=center><p>[foo]<p>bar</div><p>extra" queryCommandValue("stylewithcss") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<div align=center><p>[foo]<p>bar</div><p>extra" queryCommandIndeterm("stylewithcss") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<div align=center><p>[foo]<p>bar</div><p>extra" queryCommandState("stylewithcss") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<div align=center><p>[foo]<p>bar</div><p>extra" queryCommandValue("stylewithcss") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<div align=center><p>[foo]<p>bar</div><p>extra" queryCommandIndeterm("defaultparagraphseparator") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<div align=center><p>[foo]<p>bar</div><p>extra" queryCommandState("defaultparagraphseparator") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<div align=center><p>[foo]<p>bar</div><p>extra" queryCommandValue("defaultparagraphseparator") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<div align=center><p>[foo]<p>bar</div><p>extra" queryCommandIndeterm("defaultparagraphseparator") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<div align=center><p>[foo]<p>bar</div><p>extra" queryCommandState("defaultparagraphseparator") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<div align=center><p>[foo]<p>bar</div><p>extra" queryCommandValue("defaultparagraphseparator") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<div align=center><p>[foo]<p>bar</div><p>extra" queryCommandIndeterm("justifyfull") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<div align=center><p>[foo]<p>bar</div><p>extra" queryCommandState("justifyfull") before 
-FAIL [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<div align=center><p>[foo]<p>bar</div><p>extra" queryCommandValue("justifyfull") before assert_equals: Wrong result returned expected "center" but got "false"
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<div align=center><p>[foo]<p>bar</div><p>extra" queryCommandIndeterm("justifyfull") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<div align=center><p>[foo]<p>bar</div><p>extra" queryCommandState("justifyfull") after 
-FAIL [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<div align=center><p>[foo]<p>bar</div><p>extra" queryCommandValue("justifyfull") after assert_equals: Wrong result returned expected "justify" but got "true"
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<div align=center><p>[foo]<p>bar</div><p>extra": execCommand("stylewithcss", false, "false") return value 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<div align=center><p>[foo]<p>bar</div><p>extra": execCommand("defaultparagraphseparator", false, "p") return value 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<div align=center><p>[foo]<p>bar</div><p>extra": execCommand("justifyfull", false, "") return value 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<div align=center><p>[foo]<p>bar</div><p>extra" checks for modifications to non-editable content 
-FAIL [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<div align=center><p>[foo]<p>bar</div><p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<div align=\"center\"><div style=\"text-align:justify\"><p>foo</p></div><p>bar</p></div><p>extra</p>" but got "<div align=\"center\"><p style=\"text-align:justify\">foo</p><p>bar</p></div><p>extra</p>"
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<div align=center><p>[foo]<p>bar</div><p>extra" queryCommandIndeterm("stylewithcss") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<div align=center><p>[foo]<p>bar</div><p>extra" queryCommandState("stylewithcss") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<div align=center><p>[foo]<p>bar</div><p>extra" queryCommandValue("stylewithcss") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<div align=center><p>[foo]<p>bar</div><p>extra" queryCommandIndeterm("stylewithcss") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<div align=center><p>[foo]<p>bar</div><p>extra" queryCommandState("stylewithcss") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<div align=center><p>[foo]<p>bar</div><p>extra" queryCommandValue("stylewithcss") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<div align=center><p>[foo]<p>bar</div><p>extra" queryCommandIndeterm("defaultparagraphseparator") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<div align=center><p>[foo]<p>bar</div><p>extra" queryCommandState("defaultparagraphseparator") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<div align=center><p>[foo]<p>bar</div><p>extra" queryCommandValue("defaultparagraphseparator") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<div align=center><p>[foo]<p>bar</div><p>extra" queryCommandIndeterm("defaultparagraphseparator") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<div align=center><p>[foo]<p>bar</div><p>extra" queryCommandState("defaultparagraphseparator") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<div align=center><p>[foo]<p>bar</div><p>extra" queryCommandValue("defaultparagraphseparator") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<div align=center><p>[foo]<p>bar</div><p>extra" queryCommandIndeterm("justifyfull") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<div align=center><p>[foo]<p>bar</div><p>extra" queryCommandState("justifyfull") before 
-FAIL [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<div align=center><p>[foo]<p>bar</div><p>extra" queryCommandValue("justifyfull") before assert_equals: Wrong result returned expected "center" but got "false"
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<div align=center><p>[foo]<p>bar</div><p>extra" queryCommandIndeterm("justifyfull") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<div align=center><p>[foo]<p>bar</div><p>extra" queryCommandState("justifyfull") after 
-FAIL [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<div align=center><p>[foo]<p>bar</div><p>extra" queryCommandValue("justifyfull") after assert_equals: Wrong result returned expected "justify" but got "true"
-PASS [["stylewithcss","true"],["justifyfull",""]] "<div align=center><p>[foo<p>bar}</div><p>extra": execCommand("stylewithcss", false, "true") return value 
-PASS [["stylewithcss","true"],["justifyfull",""]] "<div align=center><p>[foo<p>bar}</div><p>extra": execCommand("justifyfull", false, "") return value 
-PASS [["stylewithcss","true"],["justifyfull",""]] "<div align=center><p>[foo<p>bar}</div><p>extra" checks for modifications to non-editable content 
-FAIL [["stylewithcss","true"],["justifyfull",""]] "<div align=center><p>[foo<p>bar}</div><p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<div style=\"text-align:justify\"><p>foo</p><p>bar</p></div><p>extra</p>" but got "<div align=\"center\"><p style=\"text-align:justify\">foo</p><p style=\"text-align:justify\">bar</p></div><p>extra</p>"
-PASS [["stylewithcss","true"],["justifyfull",""]] "<div align=center><p>[foo<p>bar}</div><p>extra" queryCommandIndeterm("stylewithcss") before 
-PASS [["stylewithcss","true"],["justifyfull",""]] "<div align=center><p>[foo<p>bar}</div><p>extra" queryCommandState("stylewithcss") before 
-PASS [["stylewithcss","true"],["justifyfull",""]] "<div align=center><p>[foo<p>bar}</div><p>extra" queryCommandValue("stylewithcss") before 
-PASS [["stylewithcss","true"],["justifyfull",""]] "<div align=center><p>[foo<p>bar}</div><p>extra" queryCommandIndeterm("stylewithcss") after 
-PASS [["stylewithcss","true"],["justifyfull",""]] "<div align=center><p>[foo<p>bar}</div><p>extra" queryCommandState("stylewithcss") after 
-PASS [["stylewithcss","true"],["justifyfull",""]] "<div align=center><p>[foo<p>bar}</div><p>extra" queryCommandValue("stylewithcss") after 
-PASS [["stylewithcss","true"],["justifyfull",""]] "<div align=center><p>[foo<p>bar}</div><p>extra" queryCommandIndeterm("justifyfull") before 
-PASS [["stylewithcss","true"],["justifyfull",""]] "<div align=center><p>[foo<p>bar}</div><p>extra" queryCommandState("justifyfull") before 
-FAIL [["stylewithcss","true"],["justifyfull",""]] "<div align=center><p>[foo<p>bar}</div><p>extra" queryCommandValue("justifyfull") before assert_equals: Wrong result returned expected "center" but got "false"
-PASS [["stylewithcss","true"],["justifyfull",""]] "<div align=center><p>[foo<p>bar}</div><p>extra" queryCommandIndeterm("justifyfull") after 
-PASS [["stylewithcss","true"],["justifyfull",""]] "<div align=center><p>[foo<p>bar}</div><p>extra" queryCommandState("justifyfull") after 
-FAIL [["stylewithcss","true"],["justifyfull",""]] "<div align=center><p>[foo<p>bar}</div><p>extra" queryCommandValue("justifyfull") after assert_equals: Wrong result returned expected "justify" but got "true"
-PASS [["stylewithcss","false"],["justifyfull",""]] "<div align=center><p>[foo<p>bar}</div><p>extra": execCommand("stylewithcss", false, "false") return value 
-PASS [["stylewithcss","false"],["justifyfull",""]] "<div align=center><p>[foo<p>bar}</div><p>extra": execCommand("justifyfull", false, "") return value 
-PASS [["stylewithcss","false"],["justifyfull",""]] "<div align=center><p>[foo<p>bar}</div><p>extra" checks for modifications to non-editable content 
-FAIL [["stylewithcss","false"],["justifyfull",""]] "<div align=center><p>[foo<p>bar}</div><p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<div style=\"text-align:justify\"><p>foo</p><p>bar</p></div><p>extra</p>" but got "<div align=\"center\"><p style=\"text-align:justify\">foo</p><p style=\"text-align:justify\">bar</p></div><p>extra</p>"
-PASS [["stylewithcss","false"],["justifyfull",""]] "<div align=center><p>[foo<p>bar}</div><p>extra" queryCommandIndeterm("stylewithcss") before 
-PASS [["stylewithcss","false"],["justifyfull",""]] "<div align=center><p>[foo<p>bar}</div><p>extra" queryCommandState("stylewithcss") before 
-PASS [["stylewithcss","false"],["justifyfull",""]] "<div align=center><p>[foo<p>bar}</div><p>extra" queryCommandValue("stylewithcss") before 
-PASS [["stylewithcss","false"],["justifyfull",""]] "<div align=center><p>[foo<p>bar}</div><p>extra" queryCommandIndeterm("stylewithcss") after 
-PASS [["stylewithcss","false"],["justifyfull",""]] "<div align=center><p>[foo<p>bar}</div><p>extra" queryCommandState("stylewithcss") after 
-PASS [["stylewithcss","false"],["justifyfull",""]] "<div align=center><p>[foo<p>bar}</div><p>extra" queryCommandValue("stylewithcss") after 
-PASS [["stylewithcss","false"],["justifyfull",""]] "<div align=center><p>[foo<p>bar}</div><p>extra" queryCommandIndeterm("justifyfull") before 
-PASS [["stylewithcss","false"],["justifyfull",""]] "<div align=center><p>[foo<p>bar}</div><p>extra" queryCommandState("justifyfull") before 
-FAIL [["stylewithcss","false"],["justifyfull",""]] "<div align=center><p>[foo<p>bar}</div><p>extra" queryCommandValue("justifyfull") before assert_equals: Wrong result returned expected "center" but got "false"
-PASS [["stylewithcss","false"],["justifyfull",""]] "<div align=center><p>[foo<p>bar}</div><p>extra" queryCommandIndeterm("justifyfull") after 
-PASS [["stylewithcss","false"],["justifyfull",""]] "<div align=center><p>[foo<p>bar}</div><p>extra" queryCommandState("justifyfull") after 
-FAIL [["stylewithcss","false"],["justifyfull",""]] "<div align=center><p>[foo<p>bar}</div><p>extra" queryCommandValue("justifyfull") after assert_equals: Wrong result returned expected "justify" but got "true"
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<div style=text-align:center><p>[foo]<p>bar</div><p>extra": execCommand("stylewithcss", false, "true") return value 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<div style=text-align:center><p>[foo]<p>bar</div><p>extra": execCommand("defaultparagraphseparator", false, "div") return value 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<div style=text-align:center><p>[foo]<p>bar</div><p>extra": execCommand("justifyfull", false, "") return value 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<div style=text-align:center><p>[foo]<p>bar</div><p>extra" checks for modifications to non-editable content 
-FAIL [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<div style=text-align:center><p>[foo]<p>bar</div><p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<div style=\"text-align:center\"><div style=\"text-align:justify\"><p>foo</p></div><p>bar</p></div><p>extra</p>" but got "<div style=\"text-align:center\"><p style=\"text-align:justify\">foo</p><p>bar</p></div><p>extra</p>"
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<div style=text-align:center><p>[foo]<p>bar</div><p>extra" queryCommandIndeterm("stylewithcss") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<div style=text-align:center><p>[foo]<p>bar</div><p>extra" queryCommandState("stylewithcss") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<div style=text-align:center><p>[foo]<p>bar</div><p>extra" queryCommandValue("stylewithcss") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<div style=text-align:center><p>[foo]<p>bar</div><p>extra" queryCommandIndeterm("stylewithcss") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<div style=text-align:center><p>[foo]<p>bar</div><p>extra" queryCommandState("stylewithcss") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<div style=text-align:center><p>[foo]<p>bar</div><p>extra" queryCommandValue("stylewithcss") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<div style=text-align:center><p>[foo]<p>bar</div><p>extra" queryCommandIndeterm("defaultparagraphseparator") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<div style=text-align:center><p>[foo]<p>bar</div><p>extra" queryCommandState("defaultparagraphseparator") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<div style=text-align:center><p>[foo]<p>bar</div><p>extra" queryCommandValue("defaultparagraphseparator") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<div style=text-align:center><p>[foo]<p>bar</div><p>extra" queryCommandIndeterm("defaultparagraphseparator") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<div style=text-align:center><p>[foo]<p>bar</div><p>extra" queryCommandState("defaultparagraphseparator") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<div style=text-align:center><p>[foo]<p>bar</div><p>extra" queryCommandValue("defaultparagraphseparator") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<div style=text-align:center><p>[foo]<p>bar</div><p>extra" queryCommandIndeterm("justifyfull") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<div style=text-align:center><p>[foo]<p>bar</div><p>extra" queryCommandState("justifyfull") before 
-FAIL [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<div style=text-align:center><p>[foo]<p>bar</div><p>extra" queryCommandValue("justifyfull") before assert_equals: Wrong result returned expected "center" but got "false"
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<div style=text-align:center><p>[foo]<p>bar</div><p>extra" queryCommandIndeterm("justifyfull") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<div style=text-align:center><p>[foo]<p>bar</div><p>extra" queryCommandState("justifyfull") after 
-FAIL [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<div style=text-align:center><p>[foo]<p>bar</div><p>extra" queryCommandValue("justifyfull") after assert_equals: Wrong result returned expected "justify" but got "true"
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<div style=text-align:center><p>[foo]<p>bar</div><p>extra": execCommand("stylewithcss", false, "false") return value 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<div style=text-align:center><p>[foo]<p>bar</div><p>extra": execCommand("defaultparagraphseparator", false, "div") return value 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<div style=text-align:center><p>[foo]<p>bar</div><p>extra": execCommand("justifyfull", false, "") return value 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<div style=text-align:center><p>[foo]<p>bar</div><p>extra" checks for modifications to non-editable content 
-FAIL [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<div style=text-align:center><p>[foo]<p>bar</div><p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<div style=\"text-align:center\"><div style=\"text-align:justify\"><p>foo</p></div><p>bar</p></div><p>extra</p>" but got "<div style=\"text-align:center\"><p style=\"text-align:justify\">foo</p><p>bar</p></div><p>extra</p>"
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<div style=text-align:center><p>[foo]<p>bar</div><p>extra" queryCommandIndeterm("stylewithcss") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<div style=text-align:center><p>[foo]<p>bar</div><p>extra" queryCommandState("stylewithcss") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<div style=text-align:center><p>[foo]<p>bar</div><p>extra" queryCommandValue("stylewithcss") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<div style=text-align:center><p>[foo]<p>bar</div><p>extra" queryCommandIndeterm("stylewithcss") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<div style=text-align:center><p>[foo]<p>bar</div><p>extra" queryCommandState("stylewithcss") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<div style=text-align:center><p>[foo]<p>bar</div><p>extra" queryCommandValue("stylewithcss") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<div style=text-align:center><p>[foo]<p>bar</div><p>extra" queryCommandIndeterm("defaultparagraphseparator") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<div style=text-align:center><p>[foo]<p>bar</div><p>extra" queryCommandState("defaultparagraphseparator") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<div style=text-align:center><p>[foo]<p>bar</div><p>extra" queryCommandValue("defaultparagraphseparator") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<div style=text-align:center><p>[foo]<p>bar</div><p>extra" queryCommandIndeterm("defaultparagraphseparator") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<div style=text-align:center><p>[foo]<p>bar</div><p>extra" queryCommandState("defaultparagraphseparator") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<div style=text-align:center><p>[foo]<p>bar</div><p>extra" queryCommandValue("defaultparagraphseparator") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<div style=text-align:center><p>[foo]<p>bar</div><p>extra" queryCommandIndeterm("justifyfull") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<div style=text-align:center><p>[foo]<p>bar</div><p>extra" queryCommandState("justifyfull") before 
-FAIL [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<div style=text-align:center><p>[foo]<p>bar</div><p>extra" queryCommandValue("justifyfull") before assert_equals: Wrong result returned expected "center" but got "false"
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<div style=text-align:center><p>[foo]<p>bar</div><p>extra" queryCommandIndeterm("justifyfull") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<div style=text-align:center><p>[foo]<p>bar</div><p>extra" queryCommandState("justifyfull") after 
-FAIL [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<div style=text-align:center><p>[foo]<p>bar</div><p>extra" queryCommandValue("justifyfull") after assert_equals: Wrong result returned expected "justify" but got "true"
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<div style=text-align:center><p>[foo]<p>bar</div><p>extra": execCommand("stylewithcss", false, "true") return value 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<div style=text-align:center><p>[foo]<p>bar</div><p>extra": execCommand("defaultparagraphseparator", false, "p") return value 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<div style=text-align:center><p>[foo]<p>bar</div><p>extra": execCommand("justifyfull", false, "") return value 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<div style=text-align:center><p>[foo]<p>bar</div><p>extra" checks for modifications to non-editable content 
-FAIL [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<div style=text-align:center><p>[foo]<p>bar</div><p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<div style=\"text-align:center\"><div style=\"text-align:justify\"><p>foo</p></div><p>bar</p></div><p>extra</p>" but got "<div style=\"text-align:center\"><p style=\"text-align:justify\">foo</p><p>bar</p></div><p>extra</p>"
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<div style=text-align:center><p>[foo]<p>bar</div><p>extra" queryCommandIndeterm("stylewithcss") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<div style=text-align:center><p>[foo]<p>bar</div><p>extra" queryCommandState("stylewithcss") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<div style=text-align:center><p>[foo]<p>bar</div><p>extra" queryCommandValue("stylewithcss") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<div style=text-align:center><p>[foo]<p>bar</div><p>extra" queryCommandIndeterm("stylewithcss") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<div style=text-align:center><p>[foo]<p>bar</div><p>extra" queryCommandState("stylewithcss") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<div style=text-align:center><p>[foo]<p>bar</div><p>extra" queryCommandValue("stylewithcss") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<div style=text-align:center><p>[foo]<p>bar</div><p>extra" queryCommandIndeterm("defaultparagraphseparator") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<div style=text-align:center><p>[foo]<p>bar</div><p>extra" queryCommandState("defaultparagraphseparator") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<div style=text-align:center><p>[foo]<p>bar</div><p>extra" queryCommandValue("defaultparagraphseparator") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<div style=text-align:center><p>[foo]<p>bar</div><p>extra" queryCommandIndeterm("defaultparagraphseparator") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<div style=text-align:center><p>[foo]<p>bar</div><p>extra" queryCommandState("defaultparagraphseparator") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<div style=text-align:center><p>[foo]<p>bar</div><p>extra" queryCommandValue("defaultparagraphseparator") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<div style=text-align:center><p>[foo]<p>bar</div><p>extra" queryCommandIndeterm("justifyfull") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<div style=text-align:center><p>[foo]<p>bar</div><p>extra" queryCommandState("justifyfull") before 
-FAIL [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<div style=text-align:center><p>[foo]<p>bar</div><p>extra" queryCommandValue("justifyfull") before assert_equals: Wrong result returned expected "center" but got "false"
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<div style=text-align:center><p>[foo]<p>bar</div><p>extra" queryCommandIndeterm("justifyfull") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<div style=text-align:center><p>[foo]<p>bar</div><p>extra" queryCommandState("justifyfull") after 
-FAIL [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<div style=text-align:center><p>[foo]<p>bar</div><p>extra" queryCommandValue("justifyfull") after assert_equals: Wrong result returned expected "justify" but got "true"
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<div style=text-align:center><p>[foo]<p>bar</div><p>extra": execCommand("stylewithcss", false, "false") return value 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<div style=text-align:center><p>[foo]<p>bar</div><p>extra": execCommand("defaultparagraphseparator", false, "p") return value 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<div style=text-align:center><p>[foo]<p>bar</div><p>extra": execCommand("justifyfull", false, "") return value 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<div style=text-align:center><p>[foo]<p>bar</div><p>extra" checks for modifications to non-editable content 
-FAIL [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<div style=text-align:center><p>[foo]<p>bar</div><p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<div style=\"text-align:center\"><div style=\"text-align:justify\"><p>foo</p></div><p>bar</p></div><p>extra</p>" but got "<div style=\"text-align:center\"><p style=\"text-align:justify\">foo</p><p>bar</p></div><p>extra</p>"
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<div style=text-align:center><p>[foo]<p>bar</div><p>extra" queryCommandIndeterm("stylewithcss") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<div style=text-align:center><p>[foo]<p>bar</div><p>extra" queryCommandState("stylewithcss") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<div style=text-align:center><p>[foo]<p>bar</div><p>extra" queryCommandValue("stylewithcss") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<div style=text-align:center><p>[foo]<p>bar</div><p>extra" queryCommandIndeterm("stylewithcss") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<div style=text-align:center><p>[foo]<p>bar</div><p>extra" queryCommandState("stylewithcss") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<div style=text-align:center><p>[foo]<p>bar</div><p>extra" queryCommandValue("stylewithcss") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<div style=text-align:center><p>[foo]<p>bar</div><p>extra" queryCommandIndeterm("defaultparagraphseparator") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<div style=text-align:center><p>[foo]<p>bar</div><p>extra" queryCommandState("defaultparagraphseparator") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<div style=text-align:center><p>[foo]<p>bar</div><p>extra" queryCommandValue("defaultparagraphseparator") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<div style=text-align:center><p>[foo]<p>bar</div><p>extra" queryCommandIndeterm("defaultparagraphseparator") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<div style=text-align:center><p>[foo]<p>bar</div><p>extra" queryCommandState("defaultparagraphseparator") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<div style=text-align:center><p>[foo]<p>bar</div><p>extra" queryCommandValue("defaultparagraphseparator") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<div style=text-align:center><p>[foo]<p>bar</div><p>extra" queryCommandIndeterm("justifyfull") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<div style=text-align:center><p>[foo]<p>bar</div><p>extra" queryCommandState("justifyfull") before 
-FAIL [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<div style=text-align:center><p>[foo]<p>bar</div><p>extra" queryCommandValue("justifyfull") before assert_equals: Wrong result returned expected "center" but got "false"
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<div style=text-align:center><p>[foo]<p>bar</div><p>extra" queryCommandIndeterm("justifyfull") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<div style=text-align:center><p>[foo]<p>bar</div><p>extra" queryCommandState("justifyfull") after 
-FAIL [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<div style=text-align:center><p>[foo]<p>bar</div><p>extra" queryCommandValue("justifyfull") after assert_equals: Wrong result returned expected "justify" but got "true"
-PASS [["justifyfull",""]] "<div style=text-align:center><p>[foo<p>bar]</div><p>extra": execCommand("justifyfull", false, "") return value 
-PASS [["justifyfull",""]] "<div style=text-align:center><p>[foo<p>bar]</div><p>extra" checks for modifications to non-editable content 
-FAIL [["justifyfull",""]] "<div style=text-align:center><p>[foo<p>bar]</div><p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<div style=\"text-align:justify\"><p>foo</p><p>bar</p></div><p>extra</p>" but got "<div style=\"text-align:center\"><p style=\"text-align:justify\">foo</p><p style=\"text-align:justify\">bar</p></div><p>extra</p>"
-PASS [["justifyfull",""]] "<div style=text-align:center><p>[foo<p>bar]</div><p>extra" queryCommandIndeterm("justifyfull") before 
-PASS [["justifyfull",""]] "<div style=text-align:center><p>[foo<p>bar]</div><p>extra" queryCommandState("justifyfull") before 
-FAIL [["justifyfull",""]] "<div style=text-align:center><p>[foo<p>bar]</div><p>extra" queryCommandValue("justifyfull") before assert_equals: Wrong result returned expected "center" but got "false"
-PASS [["justifyfull",""]] "<div style=text-align:center><p>[foo<p>bar]</div><p>extra" queryCommandIndeterm("justifyfull") after 
-PASS [["justifyfull",""]] "<div style=text-align:center><p>[foo<p>bar]</div><p>extra" queryCommandState("justifyfull") after 
-FAIL [["justifyfull",""]] "<div style=text-align:center><p>[foo<p>bar]</div><p>extra" queryCommandValue("justifyfull") after assert_equals: Wrong result returned expected "justify" but got "true"
-PASS [["justifyfull",""]] "<div align=justify><p>[foo]<p>bar</div><p>extra": execCommand("justifyfull", false, "") return value 
-PASS [["justifyfull",""]] "<div align=justify><p>[foo]<p>bar</div><p>extra" checks for modifications to non-editable content 
-PASS [["justifyfull",""]] "<div align=justify><p>[foo]<p>bar</div><p>extra" compare innerHTML 
-PASS [["justifyfull",""]] "<div align=justify><p>[foo]<p>bar</div><p>extra" queryCommandIndeterm("justifyfull") before 
-PASS [["justifyfull",""]] "<div align=justify><p>[foo]<p>bar</div><p>extra" queryCommandState("justifyfull") before 
-FAIL [["justifyfull",""]] "<div align=justify><p>[foo]<p>bar</div><p>extra" queryCommandValue("justifyfull") before assert_equals: Wrong result returned expected "justify" but got "true"
-PASS [["justifyfull",""]] "<div align=justify><p>[foo]<p>bar</div><p>extra" queryCommandIndeterm("justifyfull") after 
-PASS [["justifyfull",""]] "<div align=justify><p>[foo]<p>bar</div><p>extra" queryCommandState("justifyfull") after 
-FAIL [["justifyfull",""]] "<div align=justify><p>[foo]<p>bar</div><p>extra" queryCommandValue("justifyfull") after assert_equals: Wrong result returned expected "justify" but got "true"
-PASS [["stylewithcss","true"],["justifyfull",""]] "<div align=justify><p>[foo<p>bar}</div><p>extra": execCommand("stylewithcss", false, "true") return value 
-PASS [["stylewithcss","true"],["justifyfull",""]] "<div align=justify><p>[foo<p>bar}</div><p>extra": execCommand("justifyfull", false, "") return value 
-PASS [["stylewithcss","true"],["justifyfull",""]] "<div align=justify><p>[foo<p>bar}</div><p>extra" checks for modifications to non-editable content 
-FAIL [["stylewithcss","true"],["justifyfull",""]] "<div align=justify><p>[foo<p>bar}</div><p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<div style=\"text-align:justify\"><p>foo</p><p>bar</p></div><p>extra</p>" but got "<div align=\"justify\"><p>foo</p><p>bar</p></div><p>extra</p>"
-PASS [["stylewithcss","true"],["justifyfull",""]] "<div align=justify><p>[foo<p>bar}</div><p>extra" queryCommandIndeterm("stylewithcss") before 
-PASS [["stylewithcss","true"],["justifyfull",""]] "<div align=justify><p>[foo<p>bar}</div><p>extra" queryCommandState("stylewithcss") before 
-PASS [["stylewithcss","true"],["justifyfull",""]] "<div align=justify><p>[foo<p>bar}</div><p>extra" queryCommandValue("stylewithcss") before 
-PASS [["stylewithcss","true"],["justifyfull",""]] "<div align=justify><p>[foo<p>bar}</div><p>extra" queryCommandIndeterm("stylewithcss") after 
-PASS [["stylewithcss","true"],["justifyfull",""]] "<div align=justify><p>[foo<p>bar}</div><p>extra" queryCommandState("stylewithcss") after 
-PASS [["stylewithcss","true"],["justifyfull",""]] "<div align=justify><p>[foo<p>bar}</div><p>extra" queryCommandValue("stylewithcss") after 
-PASS [["stylewithcss","true"],["justifyfull",""]] "<div align=justify><p>[foo<p>bar}</div><p>extra" queryCommandIndeterm("justifyfull") before 
-PASS [["stylewithcss","true"],["justifyfull",""]] "<div align=justify><p>[foo<p>bar}</div><p>extra" queryCommandState("justifyfull") before 
-FAIL [["stylewithcss","true"],["justifyfull",""]] "<div align=justify><p>[foo<p>bar}</div><p>extra" queryCommandValue("justifyfull") before assert_equals: Wrong result returned expected "justify" but got "true"
-PASS [["stylewithcss","true"],["justifyfull",""]] "<div align=justify><p>[foo<p>bar}</div><p>extra" queryCommandIndeterm("justifyfull") after 
-PASS [["stylewithcss","true"],["justifyfull",""]] "<div align=justify><p>[foo<p>bar}</div><p>extra" queryCommandState("justifyfull") after 
-FAIL [["stylewithcss","true"],["justifyfull",""]] "<div align=justify><p>[foo<p>bar}</div><p>extra" queryCommandValue("justifyfull") after assert_equals: Wrong result returned expected "justify" but got "true"
-PASS [["stylewithcss","false"],["justifyfull",""]] "<div align=justify><p>[foo<p>bar}</div><p>extra": execCommand("stylewithcss", false, "false") return value 
-PASS [["stylewithcss","false"],["justifyfull",""]] "<div align=justify><p>[foo<p>bar}</div><p>extra": execCommand("justifyfull", false, "") return value 
-PASS [["stylewithcss","false"],["justifyfull",""]] "<div align=justify><p>[foo<p>bar}</div><p>extra" checks for modifications to non-editable content 
-FAIL [["stylewithcss","false"],["justifyfull",""]] "<div align=justify><p>[foo<p>bar}</div><p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<div style=\"text-align:justify\"><p>foo</p><p>bar</p></div><p>extra</p>" but got "<div align=\"justify\"><p>foo</p><p>bar</p></div><p>extra</p>"
-PASS [["stylewithcss","false"],["justifyfull",""]] "<div align=justify><p>[foo<p>bar}</div><p>extra" queryCommandIndeterm("stylewithcss") before 
-PASS [["stylewithcss","false"],["justifyfull",""]] "<div align=justify><p>[foo<p>bar}</div><p>extra" queryCommandState("stylewithcss") before 
-PASS [["stylewithcss","false"],["justifyfull",""]] "<div align=justify><p>[foo<p>bar}</div><p>extra" queryCommandValue("stylewithcss") before 
-PASS [["stylewithcss","false"],["justifyfull",""]] "<div align=justify><p>[foo<p>bar}</div><p>extra" queryCommandIndeterm("stylewithcss") after 
-PASS [["stylewithcss","false"],["justifyfull",""]] "<div align=justify><p>[foo<p>bar}</div><p>extra" queryCommandState("stylewithcss") after 
-PASS [["stylewithcss","false"],["justifyfull",""]] "<div align=justify><p>[foo<p>bar}</div><p>extra" queryCommandValue("stylewithcss") after 
-PASS [["stylewithcss","false"],["justifyfull",""]] "<div align=justify><p>[foo<p>bar}</div><p>extra" queryCommandIndeterm("justifyfull") before 
-PASS [["stylewithcss","false"],["justifyfull",""]] "<div align=justify><p>[foo<p>bar}</div><p>extra" queryCommandState("justifyfull") before 
-FAIL [["stylewithcss","false"],["justifyfull",""]] "<div align=justify><p>[foo<p>bar}</div><p>extra" queryCommandValue("justifyfull") before assert_equals: Wrong result returned expected "justify" but got "true"
-PASS [["stylewithcss","false"],["justifyfull",""]] "<div align=justify><p>[foo<p>bar}</div><p>extra" queryCommandIndeterm("justifyfull") after 
-PASS [["stylewithcss","false"],["justifyfull",""]] "<div align=justify><p>[foo<p>bar}</div><p>extra" queryCommandState("justifyfull") after 
-FAIL [["stylewithcss","false"],["justifyfull",""]] "<div align=justify><p>[foo<p>bar}</div><p>extra" queryCommandValue("justifyfull") after assert_equals: Wrong result returned expected "justify" but got "true"
-PASS [["justifyfull",""]] "<div style=text-align:justify><p>[foo]<p>bar</div><p>extra": execCommand("justifyfull", false, "") return value 
-PASS [["justifyfull",""]] "<div style=text-align:justify><p>[foo]<p>bar</div><p>extra" checks for modifications to non-editable content 
-PASS [["justifyfull",""]] "<div style=text-align:justify><p>[foo]<p>bar</div><p>extra" compare innerHTML 
-PASS [["justifyfull",""]] "<div style=text-align:justify><p>[foo]<p>bar</div><p>extra" queryCommandIndeterm("justifyfull") before 
-PASS [["justifyfull",""]] "<div style=text-align:justify><p>[foo]<p>bar</div><p>extra" queryCommandState("justifyfull") before 
-FAIL [["justifyfull",""]] "<div style=text-align:justify><p>[foo]<p>bar</div><p>extra" queryCommandValue("justifyfull") before assert_equals: Wrong result returned expected "justify" but got "true"
-PASS [["justifyfull",""]] "<div style=text-align:justify><p>[foo]<p>bar</div><p>extra" queryCommandIndeterm("justifyfull") after 
-PASS [["justifyfull",""]] "<div style=text-align:justify><p>[foo]<p>bar</div><p>extra" queryCommandState("justifyfull") after 
-FAIL [["justifyfull",""]] "<div style=text-align:justify><p>[foo]<p>bar</div><p>extra" queryCommandValue("justifyfull") after assert_equals: Wrong result returned expected "justify" but got "true"
-PASS [["justifyfull",""]] "<div style=text-align:justify><p>[foo<p>bar]</div><p>extra": execCommand("justifyfull", false, "") return value 
-PASS [["justifyfull",""]] "<div style=text-align:justify><p>[foo<p>bar]</div><p>extra" checks for modifications to non-editable content 
-PASS [["justifyfull",""]] "<div style=text-align:justify><p>[foo<p>bar]</div><p>extra" compare innerHTML 
-PASS [["justifyfull",""]] "<div style=text-align:justify><p>[foo<p>bar]</div><p>extra" queryCommandIndeterm("justifyfull") before 
-PASS [["justifyfull",""]] "<div style=text-align:justify><p>[foo<p>bar]</div><p>extra" queryCommandState("justifyfull") before 
-FAIL [["justifyfull",""]] "<div style=text-align:justify><p>[foo<p>bar]</div><p>extra" queryCommandValue("justifyfull") before assert_equals: Wrong result returned expected "justify" but got "true"
-PASS [["justifyfull",""]] "<div style=text-align:justify><p>[foo<p>bar]</div><p>extra" queryCommandIndeterm("justifyfull") after 
-PASS [["justifyfull",""]] "<div style=text-align:justify><p>[foo<p>bar]</div><p>extra" queryCommandState("justifyfull") after 
-FAIL [["justifyfull",""]] "<div style=text-align:justify><p>[foo<p>bar]</div><p>extra" queryCommandValue("justifyfull") after assert_equals: Wrong result returned expected "justify" but got "true"
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<div align=left><p>[foo]<p>bar</div><p>extra": execCommand("stylewithcss", false, "true") return value 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<div align=left><p>[foo]<p>bar</div><p>extra": execCommand("defaultparagraphseparator", false, "div") return value 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<div align=left><p>[foo]<p>bar</div><p>extra": execCommand("justifyfull", false, "") return value 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<div align=left><p>[foo]<p>bar</div><p>extra" checks for modifications to non-editable content 
-FAIL [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<div align=left><p>[foo]<p>bar</div><p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<div align=\"left\"><div style=\"text-align:justify\"><p>foo</p></div><p>bar</p></div><p>extra</p>" but got "<div align=\"left\"><p style=\"text-align:justify\">foo</p><p>bar</p></div><p>extra</p>"
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<div align=left><p>[foo]<p>bar</div><p>extra" queryCommandIndeterm("stylewithcss") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<div align=left><p>[foo]<p>bar</div><p>extra" queryCommandState("stylewithcss") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<div align=left><p>[foo]<p>bar</div><p>extra" queryCommandValue("stylewithcss") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<div align=left><p>[foo]<p>bar</div><p>extra" queryCommandIndeterm("stylewithcss") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<div align=left><p>[foo]<p>bar</div><p>extra" queryCommandState("stylewithcss") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<div align=left><p>[foo]<p>bar</div><p>extra" queryCommandValue("stylewithcss") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<div align=left><p>[foo]<p>bar</div><p>extra" queryCommandIndeterm("defaultparagraphseparator") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<div align=left><p>[foo]<p>bar</div><p>extra" queryCommandState("defaultparagraphseparator") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<div align=left><p>[foo]<p>bar</div><p>extra" queryCommandValue("defaultparagraphseparator") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<div align=left><p>[foo]<p>bar</div><p>extra" queryCommandIndeterm("defaultparagraphseparator") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<div align=left><p>[foo]<p>bar</div><p>extra" queryCommandState("defaultparagraphseparator") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<div align=left><p>[foo]<p>bar</div><p>extra" queryCommandValue("defaultparagraphseparator") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<div align=left><p>[foo]<p>bar</div><p>extra" queryCommandIndeterm("justifyfull") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<div align=left><p>[foo]<p>bar</div><p>extra" queryCommandState("justifyfull") before 
-FAIL [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<div align=left><p>[foo]<p>bar</div><p>extra" queryCommandValue("justifyfull") before assert_equals: Wrong result returned expected "left" but got "false"
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<div align=left><p>[foo]<p>bar</div><p>extra" queryCommandIndeterm("justifyfull") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<div align=left><p>[foo]<p>bar</div><p>extra" queryCommandState("justifyfull") after 
-FAIL [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<div align=left><p>[foo]<p>bar</div><p>extra" queryCommandValue("justifyfull") after assert_equals: Wrong result returned expected "justify" but got "true"
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<div align=left><p>[foo]<p>bar</div><p>extra": execCommand("stylewithcss", false, "false") return value 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<div align=left><p>[foo]<p>bar</div><p>extra": execCommand("defaultparagraphseparator", false, "div") return value 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<div align=left><p>[foo]<p>bar</div><p>extra": execCommand("justifyfull", false, "") return value 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<div align=left><p>[foo]<p>bar</div><p>extra" checks for modifications to non-editable content 
-FAIL [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<div align=left><p>[foo]<p>bar</div><p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<div align=\"left\"><div style=\"text-align:justify\"><p>foo</p></div><p>bar</p></div><p>extra</p>" but got "<div align=\"left\"><p style=\"text-align:justify\">foo</p><p>bar</p></div><p>extra</p>"
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<div align=left><p>[foo]<p>bar</div><p>extra" queryCommandIndeterm("stylewithcss") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<div align=left><p>[foo]<p>bar</div><p>extra" queryCommandState("stylewithcss") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<div align=left><p>[foo]<p>bar</div><p>extra" queryCommandValue("stylewithcss") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<div align=left><p>[foo]<p>bar</div><p>extra" queryCommandIndeterm("stylewithcss") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<div align=left><p>[foo]<p>bar</div><p>extra" queryCommandState("stylewithcss") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<div align=left><p>[foo]<p>bar</div><p>extra" queryCommandValue("stylewithcss") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<div align=left><p>[foo]<p>bar</div><p>extra" queryCommandIndeterm("defaultparagraphseparator") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<div align=left><p>[foo]<p>bar</div><p>extra" queryCommandState("defaultparagraphseparator") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<div align=left><p>[foo]<p>bar</div><p>extra" queryCommandValue("defaultparagraphseparator") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<div align=left><p>[foo]<p>bar</div><p>extra" queryCommandIndeterm("defaultparagraphseparator") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<div align=left><p>[foo]<p>bar</div><p>extra" queryCommandState("defaultparagraphseparator") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<div align=left><p>[foo]<p>bar</div><p>extra" queryCommandValue("defaultparagraphseparator") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<div align=left><p>[foo]<p>bar</div><p>extra" queryCommandIndeterm("justifyfull") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<div align=left><p>[foo]<p>bar</div><p>extra" queryCommandState("justifyfull") before 
-FAIL [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<div align=left><p>[foo]<p>bar</div><p>extra" queryCommandValue("justifyfull") before assert_equals: Wrong result returned expected "left" but got "false"
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<div align=left><p>[foo]<p>bar</div><p>extra" queryCommandIndeterm("justifyfull") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<div align=left><p>[foo]<p>bar</div><p>extra" queryCommandState("justifyfull") after 
-FAIL [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<div align=left><p>[foo]<p>bar</div><p>extra" queryCommandValue("justifyfull") after assert_equals: Wrong result returned expected "justify" but got "true"
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<div align=left><p>[foo]<p>bar</div><p>extra": execCommand("stylewithcss", false, "true") return value 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<div align=left><p>[foo]<p>bar</div><p>extra": execCommand("defaultparagraphseparator", false, "p") return value 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<div align=left><p>[foo]<p>bar</div><p>extra": execCommand("justifyfull", false, "") return value 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<div align=left><p>[foo]<p>bar</div><p>extra" checks for modifications to non-editable content 
-FAIL [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<div align=left><p>[foo]<p>bar</div><p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<div align=\"left\"><div style=\"text-align:justify\"><p>foo</p></div><p>bar</p></div><p>extra</p>" but got "<div align=\"left\"><p style=\"text-align:justify\">foo</p><p>bar</p></div><p>extra</p>"
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<div align=left><p>[foo]<p>bar</div><p>extra" queryCommandIndeterm("stylewithcss") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<div align=left><p>[foo]<p>bar</div><p>extra" queryCommandState("stylewithcss") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<div align=left><p>[foo]<p>bar</div><p>extra" queryCommandValue("stylewithcss") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<div align=left><p>[foo]<p>bar</div><p>extra" queryCommandIndeterm("stylewithcss") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<div align=left><p>[foo]<p>bar</div><p>extra" queryCommandState("stylewithcss") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<div align=left><p>[foo]<p>bar</div><p>extra" queryCommandValue("stylewithcss") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<div align=left><p>[foo]<p>bar</div><p>extra" queryCommandIndeterm("defaultparagraphseparator") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<div align=left><p>[foo]<p>bar</div><p>extra" queryCommandState("defaultparagraphseparator") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<div align=left><p>[foo]<p>bar</div><p>extra" queryCommandValue("defaultparagraphseparator") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<div align=left><p>[foo]<p>bar</div><p>extra" queryCommandIndeterm("defaultparagraphseparator") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<div align=left><p>[foo]<p>bar</div><p>extra" queryCommandState("defaultparagraphseparator") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<div align=left><p>[foo]<p>bar</div><p>extra" queryCommandValue("defaultparagraphseparator") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<div align=left><p>[foo]<p>bar</div><p>extra" queryCommandIndeterm("justifyfull") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<div align=left><p>[foo]<p>bar</div><p>extra" queryCommandState("justifyfull") before 
-FAIL [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<div align=left><p>[foo]<p>bar</div><p>extra" queryCommandValue("justifyfull") before assert_equals: Wrong result returned expected "left" but got "false"
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<div align=left><p>[foo]<p>bar</div><p>extra" queryCommandIndeterm("justifyfull") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<div align=left><p>[foo]<p>bar</div><p>extra" queryCommandState("justifyfull") after 
-FAIL [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<div align=left><p>[foo]<p>bar</div><p>extra" queryCommandValue("justifyfull") after assert_equals: Wrong result returned expected "justify" but got "true"
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<div align=left><p>[foo]<p>bar</div><p>extra": execCommand("stylewithcss", false, "false") return value 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<div align=left><p>[foo]<p>bar</div><p>extra": execCommand("defaultparagraphseparator", false, "p") return value 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<div align=left><p>[foo]<p>bar</div><p>extra": execCommand("justifyfull", false, "") return value 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<div align=left><p>[foo]<p>bar</div><p>extra" checks for modifications to non-editable content 
-FAIL [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<div align=left><p>[foo]<p>bar</div><p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<div align=\"left\"><div style=\"text-align:justify\"><p>foo</p></div><p>bar</p></div><p>extra</p>" but got "<div align=\"left\"><p style=\"text-align:justify\">foo</p><p>bar</p></div><p>extra</p>"
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<div align=left><p>[foo]<p>bar</div><p>extra" queryCommandIndeterm("stylewithcss") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<div align=left><p>[foo]<p>bar</div><p>extra" queryCommandState("stylewithcss") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<div align=left><p>[foo]<p>bar</div><p>extra" queryCommandValue("stylewithcss") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<div align=left><p>[foo]<p>bar</div><p>extra" queryCommandIndeterm("stylewithcss") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<div align=left><p>[foo]<p>bar</div><p>extra" queryCommandState("stylewithcss") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<div align=left><p>[foo]<p>bar</div><p>extra" queryCommandValue("stylewithcss") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<div align=left><p>[foo]<p>bar</div><p>extra" queryCommandIndeterm("defaultparagraphseparator") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<div align=left><p>[foo]<p>bar</div><p>extra" queryCommandState("defaultparagraphseparator") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<div align=left><p>[foo]<p>bar</div><p>extra" queryCommandValue("defaultparagraphseparator") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<div align=left><p>[foo]<p>bar</div><p>extra" queryCommandIndeterm("defaultparagraphseparator") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<div align=left><p>[foo]<p>bar</div><p>extra" queryCommandState("defaultparagraphseparator") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<div align=left><p>[foo]<p>bar</div><p>extra" queryCommandValue("defaultparagraphseparator") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<div align=left><p>[foo]<p>bar</div><p>extra" queryCommandIndeterm("justifyfull") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<div align=left><p>[foo]<p>bar</div><p>extra" queryCommandState("justifyfull") before 
-FAIL [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<div align=left><p>[foo]<p>bar</div><p>extra" queryCommandValue("justifyfull") before assert_equals: Wrong result returned expected "left" but got "false"
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<div align=left><p>[foo]<p>bar</div><p>extra" queryCommandIndeterm("justifyfull") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<div align=left><p>[foo]<p>bar</div><p>extra" queryCommandState("justifyfull") after 
-FAIL [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<div align=left><p>[foo]<p>bar</div><p>extra" queryCommandValue("justifyfull") after assert_equals: Wrong result returned expected "justify" but got "true"
-PASS [["stylewithcss","true"],["justifyfull",""]] "<div align=left><p>[foo<p>bar}</div><p>extra": execCommand("stylewithcss", false, "true") return value 
-PASS [["stylewithcss","true"],["justifyfull",""]] "<div align=left><p>[foo<p>bar}</div><p>extra": execCommand("justifyfull", false, "") return value 
-PASS [["stylewithcss","true"],["justifyfull",""]] "<div align=left><p>[foo<p>bar}</div><p>extra" checks for modifications to non-editable content 
-FAIL [["stylewithcss","true"],["justifyfull",""]] "<div align=left><p>[foo<p>bar}</div><p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<div style=\"text-align:justify\"><p>foo</p><p>bar</p></div><p>extra</p>" but got "<div align=\"left\"><p style=\"text-align:justify\">foo</p><p style=\"text-align:justify\">bar</p></div><p>extra</p>"
-PASS [["stylewithcss","true"],["justifyfull",""]] "<div align=left><p>[foo<p>bar}</div><p>extra" queryCommandIndeterm("stylewithcss") before 
-PASS [["stylewithcss","true"],["justifyfull",""]] "<div align=left><p>[foo<p>bar}</div><p>extra" queryCommandState("stylewithcss") before 
-PASS [["stylewithcss","true"],["justifyfull",""]] "<div align=left><p>[foo<p>bar}</div><p>extra" queryCommandValue("stylewithcss") before 
-PASS [["stylewithcss","true"],["justifyfull",""]] "<div align=left><p>[foo<p>bar}</div><p>extra" queryCommandIndeterm("stylewithcss") after 
-PASS [["stylewithcss","true"],["justifyfull",""]] "<div align=left><p>[foo<p>bar}</div><p>extra" queryCommandState("stylewithcss") after 
-PASS [["stylewithcss","true"],["justifyfull",""]] "<div align=left><p>[foo<p>bar}</div><p>extra" queryCommandValue("stylewithcss") after 
-PASS [["stylewithcss","true"],["justifyfull",""]] "<div align=left><p>[foo<p>bar}</div><p>extra" queryCommandIndeterm("justifyfull") before 
-PASS [["stylewithcss","true"],["justifyfull",""]] "<div align=left><p>[foo<p>bar}</div><p>extra" queryCommandState("justifyfull") before 
-FAIL [["stylewithcss","true"],["justifyfull",""]] "<div align=left><p>[foo<p>bar}</div><p>extra" queryCommandValue("justifyfull") before assert_equals: Wrong result returned expected "left" but got "false"
-PASS [["stylewithcss","true"],["justifyfull",""]] "<div align=left><p>[foo<p>bar}</div><p>extra" queryCommandIndeterm("justifyfull") after 
-PASS [["stylewithcss","true"],["justifyfull",""]] "<div align=left><p>[foo<p>bar}</div><p>extra" queryCommandState("justifyfull") after 
-FAIL [["stylewithcss","true"],["justifyfull",""]] "<div align=left><p>[foo<p>bar}</div><p>extra" queryCommandValue("justifyfull") after assert_equals: Wrong result returned expected "justify" but got "true"
-PASS [["stylewithcss","false"],["justifyfull",""]] "<div align=left><p>[foo<p>bar}</div><p>extra": execCommand("stylewithcss", false, "false") return value 
-PASS [["stylewithcss","false"],["justifyfull",""]] "<div align=left><p>[foo<p>bar}</div><p>extra": execCommand("justifyfull", false, "") return value 
-PASS [["stylewithcss","false"],["justifyfull",""]] "<div align=left><p>[foo<p>bar}</div><p>extra" checks for modifications to non-editable content 
-FAIL [["stylewithcss","false"],["justifyfull",""]] "<div align=left><p>[foo<p>bar}</div><p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<div style=\"text-align:justify\"><p>foo</p><p>bar</p></div><p>extra</p>" but got "<div align=\"left\"><p style=\"text-align:justify\">foo</p><p style=\"text-align:justify\">bar</p></div><p>extra</p>"
-PASS [["stylewithcss","false"],["justifyfull",""]] "<div align=left><p>[foo<p>bar}</div><p>extra" queryCommandIndeterm("stylewithcss") before 
-PASS [["stylewithcss","false"],["justifyfull",""]] "<div align=left><p>[foo<p>bar}</div><p>extra" queryCommandState("stylewithcss") before 
-PASS [["stylewithcss","false"],["justifyfull",""]] "<div align=left><p>[foo<p>bar}</div><p>extra" queryCommandValue("stylewithcss") before 
-PASS [["stylewithcss","false"],["justifyfull",""]] "<div align=left><p>[foo<p>bar}</div><p>extra" queryCommandIndeterm("stylewithcss") after 
-PASS [["stylewithcss","false"],["justifyfull",""]] "<div align=left><p>[foo<p>bar}</div><p>extra" queryCommandState("stylewithcss") after 
-PASS [["stylewithcss","false"],["justifyfull",""]] "<div align=left><p>[foo<p>bar}</div><p>extra" queryCommandValue("stylewithcss") after 
-PASS [["stylewithcss","false"],["justifyfull",""]] "<div align=left><p>[foo<p>bar}</div><p>extra" queryCommandIndeterm("justifyfull") before 
-PASS [["stylewithcss","false"],["justifyfull",""]] "<div align=left><p>[foo<p>bar}</div><p>extra" queryCommandState("justifyfull") before 
-FAIL [["stylewithcss","false"],["justifyfull",""]] "<div align=left><p>[foo<p>bar}</div><p>extra" queryCommandValue("justifyfull") before assert_equals: Wrong result returned expected "left" but got "false"
-PASS [["stylewithcss","false"],["justifyfull",""]] "<div align=left><p>[foo<p>bar}</div><p>extra" queryCommandIndeterm("justifyfull") after 
-PASS [["stylewithcss","false"],["justifyfull",""]] "<div align=left><p>[foo<p>bar}</div><p>extra" queryCommandState("justifyfull") after 
-FAIL [["stylewithcss","false"],["justifyfull",""]] "<div align=left><p>[foo<p>bar}</div><p>extra" queryCommandValue("justifyfull") after assert_equals: Wrong result returned expected "justify" but got "true"
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<div style=text-align:left><p>[foo]<p>bar</div><p>extra": execCommand("stylewithcss", false, "true") return value 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<div style=text-align:left><p>[foo]<p>bar</div><p>extra": execCommand("defaultparagraphseparator", false, "div") return value 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<div style=text-align:left><p>[foo]<p>bar</div><p>extra": execCommand("justifyfull", false, "") return value 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<div style=text-align:left><p>[foo]<p>bar</div><p>extra" checks for modifications to non-editable content 
-FAIL [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<div style=text-align:left><p>[foo]<p>bar</div><p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<div style=\"text-align:left\"><div style=\"text-align:justify\"><p>foo</p></div><p>bar</p></div><p>extra</p>" but got "<div style=\"text-align:left\"><p style=\"text-align:justify\">foo</p><p>bar</p></div><p>extra</p>"
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<div style=text-align:left><p>[foo]<p>bar</div><p>extra" queryCommandIndeterm("stylewithcss") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<div style=text-align:left><p>[foo]<p>bar</div><p>extra" queryCommandState("stylewithcss") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<div style=text-align:left><p>[foo]<p>bar</div><p>extra" queryCommandValue("stylewithcss") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<div style=text-align:left><p>[foo]<p>bar</div><p>extra" queryCommandIndeterm("stylewithcss") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<div style=text-align:left><p>[foo]<p>bar</div><p>extra" queryCommandState("stylewithcss") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<div style=text-align:left><p>[foo]<p>bar</div><p>extra" queryCommandValue("stylewithcss") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<div style=text-align:left><p>[foo]<p>bar</div><p>extra" queryCommandIndeterm("defaultparagraphseparator") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<div style=text-align:left><p>[foo]<p>bar</div><p>extra" queryCommandState("defaultparagraphseparator") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<div style=text-align:left><p>[foo]<p>bar</div><p>extra" queryCommandValue("defaultparagraphseparator") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<div style=text-align:left><p>[foo]<p>bar</div><p>extra" queryCommandIndeterm("defaultparagraphseparator") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<div style=text-align:left><p>[foo]<p>bar</div><p>extra" queryCommandState("defaultparagraphseparator") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<div style=text-align:left><p>[foo]<p>bar</div><p>extra" queryCommandValue("defaultparagraphseparator") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<div style=text-align:left><p>[foo]<p>bar</div><p>extra" queryCommandIndeterm("justifyfull") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<div style=text-align:left><p>[foo]<p>bar</div><p>extra" queryCommandState("justifyfull") before 
-FAIL [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<div style=text-align:left><p>[foo]<p>bar</div><p>extra" queryCommandValue("justifyfull") before assert_equals: Wrong result returned expected "left" but got "false"
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<div style=text-align:left><p>[foo]<p>bar</div><p>extra" queryCommandIndeterm("justifyfull") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<div style=text-align:left><p>[foo]<p>bar</div><p>extra" queryCommandState("justifyfull") after 
-FAIL [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<div style=text-align:left><p>[foo]<p>bar</div><p>extra" queryCommandValue("justifyfull") after assert_equals: Wrong result returned expected "justify" but got "true"
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<div style=text-align:left><p>[foo]<p>bar</div><p>extra": execCommand("stylewithcss", false, "false") return value 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<div style=text-align:left><p>[foo]<p>bar</div><p>extra": execCommand("defaultparagraphseparator", false, "div") return value 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<div style=text-align:left><p>[foo]<p>bar</div><p>extra": execCommand("justifyfull", false, "") return value 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<div style=text-align:left><p>[foo]<p>bar</div><p>extra" checks for modifications to non-editable content 
-FAIL [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<div style=text-align:left><p>[foo]<p>bar</div><p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<div style=\"text-align:left\"><div style=\"text-align:justify\"><p>foo</p></div><p>bar</p></div><p>extra</p>" but got "<div style=\"text-align:left\"><p style=\"text-align:justify\">foo</p><p>bar</p></div><p>extra</p>"
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<div style=text-align:left><p>[foo]<p>bar</div><p>extra" queryCommandIndeterm("stylewithcss") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<div style=text-align:left><p>[foo]<p>bar</div><p>extra" queryCommandState("stylewithcss") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<div style=text-align:left><p>[foo]<p>bar</div><p>extra" queryCommandValue("stylewithcss") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<div style=text-align:left><p>[foo]<p>bar</div><p>extra" queryCommandIndeterm("stylewithcss") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<div style=text-align:left><p>[foo]<p>bar</div><p>extra" queryCommandState("stylewithcss") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<div style=text-align:left><p>[foo]<p>bar</div><p>extra" queryCommandValue("stylewithcss") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<div style=text-align:left><p>[foo]<p>bar</div><p>extra" queryCommandIndeterm("defaultparagraphseparator") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<div style=text-align:left><p>[foo]<p>bar</div><p>extra" queryCommandState("defaultparagraphseparator") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<div style=text-align:left><p>[foo]<p>bar</div><p>extra" queryCommandValue("defaultparagraphseparator") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<div style=text-align:left><p>[foo]<p>bar</div><p>extra" queryCommandIndeterm("defaultparagraphseparator") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<div style=text-align:left><p>[foo]<p>bar</div><p>extra" queryCommandState("defaultparagraphseparator") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<div style=text-align:left><p>[foo]<p>bar</div><p>extra" queryCommandValue("defaultparagraphseparator") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<div style=text-align:left><p>[foo]<p>bar</div><p>extra" queryCommandIndeterm("justifyfull") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<div style=text-align:left><p>[foo]<p>bar</div><p>extra" queryCommandState("justifyfull") before 
-FAIL [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<div style=text-align:left><p>[foo]<p>bar</div><p>extra" queryCommandValue("justifyfull") before assert_equals: Wrong result returned expected "left" but got "false"
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<div style=text-align:left><p>[foo]<p>bar</div><p>extra" queryCommandIndeterm("justifyfull") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<div style=text-align:left><p>[foo]<p>bar</div><p>extra" queryCommandState("justifyfull") after 
-FAIL [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<div style=text-align:left><p>[foo]<p>bar</div><p>extra" queryCommandValue("justifyfull") after assert_equals: Wrong result returned expected "justify" but got "true"
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<div style=text-align:left><p>[foo]<p>bar</div><p>extra": execCommand("stylewithcss", false, "true") return value 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<div style=text-align:left><p>[foo]<p>bar</div><p>extra": execCommand("defaultparagraphseparator", false, "p") return value 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<div style=text-align:left><p>[foo]<p>bar</div><p>extra": execCommand("justifyfull", false, "") return value 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<div style=text-align:left><p>[foo]<p>bar</div><p>extra" checks for modifications to non-editable content 
-FAIL [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<div style=text-align:left><p>[foo]<p>bar</div><p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<div style=\"text-align:left\"><div style=\"text-align:justify\"><p>foo</p></div><p>bar</p></div><p>extra</p>" but got "<div style=\"text-align:left\"><p style=\"text-align:justify\">foo</p><p>bar</p></div><p>extra</p>"
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<div style=text-align:left><p>[foo]<p>bar</div><p>extra" queryCommandIndeterm("stylewithcss") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<div style=text-align:left><p>[foo]<p>bar</div><p>extra" queryCommandState("stylewithcss") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<div style=text-align:left><p>[foo]<p>bar</div><p>extra" queryCommandValue("stylewithcss") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<div style=text-align:left><p>[foo]<p>bar</div><p>extra" queryCommandIndeterm("stylewithcss") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<div style=text-align:left><p>[foo]<p>bar</div><p>extra" queryCommandState("stylewithcss") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<div style=text-align:left><p>[foo]<p>bar</div><p>extra" queryCommandValue("stylewithcss") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<div style=text-align:left><p>[foo]<p>bar</div><p>extra" queryCommandIndeterm("defaultparagraphseparator") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<div style=text-align:left><p>[foo]<p>bar</div><p>extra" queryCommandState("defaultparagraphseparator") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<div style=text-align:left><p>[foo]<p>bar</div><p>extra" queryCommandValue("defaultparagraphseparator") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<div style=text-align:left><p>[foo]<p>bar</div><p>extra" queryCommandIndeterm("defaultparagraphseparator") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<div style=text-align:left><p>[foo]<p>bar</div><p>extra" queryCommandState("defaultparagraphseparator") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<div style=text-align:left><p>[foo]<p>bar</div><p>extra" queryCommandValue("defaultparagraphseparator") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<div style=text-align:left><p>[foo]<p>bar</div><p>extra" queryCommandIndeterm("justifyfull") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<div style=text-align:left><p>[foo]<p>bar</div><p>extra" queryCommandState("justifyfull") before 
-FAIL [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<div style=text-align:left><p>[foo]<p>bar</div><p>extra" queryCommandValue("justifyfull") before assert_equals: Wrong result returned expected "left" but got "false"
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<div style=text-align:left><p>[foo]<p>bar</div><p>extra" queryCommandIndeterm("justifyfull") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<div style=text-align:left><p>[foo]<p>bar</div><p>extra" queryCommandState("justifyfull") after 
-FAIL [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<div style=text-align:left><p>[foo]<p>bar</div><p>extra" queryCommandValue("justifyfull") after assert_equals: Wrong result returned expected "justify" but got "true"
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<div style=text-align:left><p>[foo]<p>bar</div><p>extra": execCommand("stylewithcss", false, "false") return value 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<div style=text-align:left><p>[foo]<p>bar</div><p>extra": execCommand("defaultparagraphseparator", false, "p") return value 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<div style=text-align:left><p>[foo]<p>bar</div><p>extra": execCommand("justifyfull", false, "") return value 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<div style=text-align:left><p>[foo]<p>bar</div><p>extra" checks for modifications to non-editable content 
-FAIL [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<div style=text-align:left><p>[foo]<p>bar</div><p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<div style=\"text-align:left\"><div style=\"text-align:justify\"><p>foo</p></div><p>bar</p></div><p>extra</p>" but got "<div style=\"text-align:left\"><p style=\"text-align:justify\">foo</p><p>bar</p></div><p>extra</p>"
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<div style=text-align:left><p>[foo]<p>bar</div><p>extra" queryCommandIndeterm("stylewithcss") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<div style=text-align:left><p>[foo]<p>bar</div><p>extra" queryCommandState("stylewithcss") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<div style=text-align:left><p>[foo]<p>bar</div><p>extra" queryCommandValue("stylewithcss") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<div style=text-align:left><p>[foo]<p>bar</div><p>extra" queryCommandIndeterm("stylewithcss") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<div style=text-align:left><p>[foo]<p>bar</div><p>extra" queryCommandState("stylewithcss") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<div style=text-align:left><p>[foo]<p>bar</div><p>extra" queryCommandValue("stylewithcss") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<div style=text-align:left><p>[foo]<p>bar</div><p>extra" queryCommandIndeterm("defaultparagraphseparator") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<div style=text-align:left><p>[foo]<p>bar</div><p>extra" queryCommandState("defaultparagraphseparator") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<div style=text-align:left><p>[foo]<p>bar</div><p>extra" queryCommandValue("defaultparagraphseparator") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<div style=text-align:left><p>[foo]<p>bar</div><p>extra" queryCommandIndeterm("defaultparagraphseparator") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<div style=text-align:left><p>[foo]<p>bar</div><p>extra" queryCommandState("defaultparagraphseparator") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<div style=text-align:left><p>[foo]<p>bar</div><p>extra" queryCommandValue("defaultparagraphseparator") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<div style=text-align:left><p>[foo]<p>bar</div><p>extra" queryCommandIndeterm("justifyfull") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<div style=text-align:left><p>[foo]<p>bar</div><p>extra" queryCommandState("justifyfull") before 
-FAIL [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<div style=text-align:left><p>[foo]<p>bar</div><p>extra" queryCommandValue("justifyfull") before assert_equals: Wrong result returned expected "left" but got "false"
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<div style=text-align:left><p>[foo]<p>bar</div><p>extra" queryCommandIndeterm("justifyfull") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<div style=text-align:left><p>[foo]<p>bar</div><p>extra" queryCommandState("justifyfull") after 
-FAIL [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<div style=text-align:left><p>[foo]<p>bar</div><p>extra" queryCommandValue("justifyfull") after assert_equals: Wrong result returned expected "justify" but got "true"
-PASS [["justifyfull",""]] "<div style=text-align:left><p>[foo<p>bar]</div><p>extra": execCommand("justifyfull", false, "") return value 
-PASS [["justifyfull",""]] "<div style=text-align:left><p>[foo<p>bar]</div><p>extra" checks for modifications to non-editable content 
-FAIL [["justifyfull",""]] "<div style=text-align:left><p>[foo<p>bar]</div><p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<div style=\"text-align:justify\"><p>foo</p><p>bar</p></div><p>extra</p>" but got "<div style=\"text-align:left\"><p style=\"text-align:justify\">foo</p><p style=\"text-align:justify\">bar</p></div><p>extra</p>"
-PASS [["justifyfull",""]] "<div style=text-align:left><p>[foo<p>bar]</div><p>extra" queryCommandIndeterm("justifyfull") before 
-PASS [["justifyfull",""]] "<div style=text-align:left><p>[foo<p>bar]</div><p>extra" queryCommandState("justifyfull") before 
-FAIL [["justifyfull",""]] "<div style=text-align:left><p>[foo<p>bar]</div><p>extra" queryCommandValue("justifyfull") before assert_equals: Wrong result returned expected "left" but got "false"
-PASS [["justifyfull",""]] "<div style=text-align:left><p>[foo<p>bar]</div><p>extra" queryCommandIndeterm("justifyfull") after 
-PASS [["justifyfull",""]] "<div style=text-align:left><p>[foo<p>bar]</div><p>extra" queryCommandState("justifyfull") after 
-FAIL [["justifyfull",""]] "<div style=text-align:left><p>[foo<p>bar]</div><p>extra" queryCommandValue("justifyfull") after assert_equals: Wrong result returned expected "justify" but got "true"
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<div align=right><p>[foo]<p>bar</div><p>extra": execCommand("stylewithcss", false, "true") return value 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<div align=right><p>[foo]<p>bar</div><p>extra": execCommand("defaultparagraphseparator", false, "div") return value 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<div align=right><p>[foo]<p>bar</div><p>extra": execCommand("justifyfull", false, "") return value 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<div align=right><p>[foo]<p>bar</div><p>extra" checks for modifications to non-editable content 
-FAIL [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<div align=right><p>[foo]<p>bar</div><p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<div align=\"right\"><div style=\"text-align:justify\"><p>foo</p></div><p>bar</p></div><p>extra</p>" but got "<div align=\"right\"><p style=\"text-align:justify\">foo</p><p>bar</p></div><p>extra</p>"
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<div align=right><p>[foo]<p>bar</div><p>extra" queryCommandIndeterm("stylewithcss") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<div align=right><p>[foo]<p>bar</div><p>extra" queryCommandState("stylewithcss") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<div align=right><p>[foo]<p>bar</div><p>extra" queryCommandValue("stylewithcss") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<div align=right><p>[foo]<p>bar</div><p>extra" queryCommandIndeterm("stylewithcss") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<div align=right><p>[foo]<p>bar</div><p>extra" queryCommandState("stylewithcss") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<div align=right><p>[foo]<p>bar</div><p>extra" queryCommandValue("stylewithcss") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<div align=right><p>[foo]<p>bar</div><p>extra" queryCommandIndeterm("defaultparagraphseparator") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<div align=right><p>[foo]<p>bar</div><p>extra" queryCommandState("defaultparagraphseparator") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<div align=right><p>[foo]<p>bar</div><p>extra" queryCommandValue("defaultparagraphseparator") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<div align=right><p>[foo]<p>bar</div><p>extra" queryCommandIndeterm("defaultparagraphseparator") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<div align=right><p>[foo]<p>bar</div><p>extra" queryCommandState("defaultparagraphseparator") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<div align=right><p>[foo]<p>bar</div><p>extra" queryCommandValue("defaultparagraphseparator") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<div align=right><p>[foo]<p>bar</div><p>extra" queryCommandIndeterm("justifyfull") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<div align=right><p>[foo]<p>bar</div><p>extra" queryCommandState("justifyfull") before 
-FAIL [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<div align=right><p>[foo]<p>bar</div><p>extra" queryCommandValue("justifyfull") before assert_equals: Wrong result returned expected "right" but got "false"
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<div align=right><p>[foo]<p>bar</div><p>extra" queryCommandIndeterm("justifyfull") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<div align=right><p>[foo]<p>bar</div><p>extra" queryCommandState("justifyfull") after 
-FAIL [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<div align=right><p>[foo]<p>bar</div><p>extra" queryCommandValue("justifyfull") after assert_equals: Wrong result returned expected "justify" but got "true"
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<div align=right><p>[foo]<p>bar</div><p>extra": execCommand("stylewithcss", false, "false") return value 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<div align=right><p>[foo]<p>bar</div><p>extra": execCommand("defaultparagraphseparator", false, "div") return value 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<div align=right><p>[foo]<p>bar</div><p>extra": execCommand("justifyfull", false, "") return value 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<div align=right><p>[foo]<p>bar</div><p>extra" checks for modifications to non-editable content 
-FAIL [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<div align=right><p>[foo]<p>bar</div><p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<div align=\"right\"><div style=\"text-align:justify\"><p>foo</p></div><p>bar</p></div><p>extra</p>" but got "<div align=\"right\"><p style=\"text-align:justify\">foo</p><p>bar</p></div><p>extra</p>"
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<div align=right><p>[foo]<p>bar</div><p>extra" queryCommandIndeterm("stylewithcss") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<div align=right><p>[foo]<p>bar</div><p>extra" queryCommandState("stylewithcss") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<div align=right><p>[foo]<p>bar</div><p>extra" queryCommandValue("stylewithcss") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<div align=right><p>[foo]<p>bar</div><p>extra" queryCommandIndeterm("stylewithcss") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<div align=right><p>[foo]<p>bar</div><p>extra" queryCommandState("stylewithcss") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<div align=right><p>[foo]<p>bar</div><p>extra" queryCommandValue("stylewithcss") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<div align=right><p>[foo]<p>bar</div><p>extra" queryCommandIndeterm("defaultparagraphseparator") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<div align=right><p>[foo]<p>bar</div><p>extra" queryCommandState("defaultparagraphseparator") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<div align=right><p>[foo]<p>bar</div><p>extra" queryCommandValue("defaultparagraphseparator") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<div align=right><p>[foo]<p>bar</div><p>extra" queryCommandIndeterm("defaultparagraphseparator") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<div align=right><p>[foo]<p>bar</div><p>extra" queryCommandState("defaultparagraphseparator") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<div align=right><p>[foo]<p>bar</div><p>extra" queryCommandValue("defaultparagraphseparator") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<div align=right><p>[foo]<p>bar</div><p>extra" queryCommandIndeterm("justifyfull") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<div align=right><p>[foo]<p>bar</div><p>extra" queryCommandState("justifyfull") before 
-FAIL [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<div align=right><p>[foo]<p>bar</div><p>extra" queryCommandValue("justifyfull") before assert_equals: Wrong result returned expected "right" but got "false"
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<div align=right><p>[foo]<p>bar</div><p>extra" queryCommandIndeterm("justifyfull") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<div align=right><p>[foo]<p>bar</div><p>extra" queryCommandState("justifyfull") after 
-FAIL [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<div align=right><p>[foo]<p>bar</div><p>extra" queryCommandValue("justifyfull") after assert_equals: Wrong result returned expected "justify" but got "true"
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<div align=right><p>[foo]<p>bar</div><p>extra": execCommand("stylewithcss", false, "true") return value 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<div align=right><p>[foo]<p>bar</div><p>extra": execCommand("defaultparagraphseparator", false, "p") return value 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<div align=right><p>[foo]<p>bar</div><p>extra": execCommand("justifyfull", false, "") return value 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<div align=right><p>[foo]<p>bar</div><p>extra" checks for modifications to non-editable content 
-FAIL [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<div align=right><p>[foo]<p>bar</div><p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<div align=\"right\"><div style=\"text-align:justify\"><p>foo</p></div><p>bar</p></div><p>extra</p>" but got "<div align=\"right\"><p style=\"text-align:justify\">foo</p><p>bar</p></div><p>extra</p>"
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<div align=right><p>[foo]<p>bar</div><p>extra" queryCommandIndeterm("stylewithcss") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<div align=right><p>[foo]<p>bar</div><p>extra" queryCommandState("stylewithcss") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<div align=right><p>[foo]<p>bar</div><p>extra" queryCommandValue("stylewithcss") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<div align=right><p>[foo]<p>bar</div><p>extra" queryCommandIndeterm("stylewithcss") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<div align=right><p>[foo]<p>bar</div><p>extra" queryCommandState("stylewithcss") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<div align=right><p>[foo]<p>bar</div><p>extra" queryCommandValue("stylewithcss") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<div align=right><p>[foo]<p>bar</div><p>extra" queryCommandIndeterm("defaultparagraphseparator") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<div align=right><p>[foo]<p>bar</div><p>extra" queryCommandState("defaultparagraphseparator") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<div align=right><p>[foo]<p>bar</div><p>extra" queryCommandValue("defaultparagraphseparator") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<div align=right><p>[foo]<p>bar</div><p>extra" queryCommandIndeterm("defaultparagraphseparator") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<div align=right><p>[foo]<p>bar</div><p>extra" queryCommandState("defaultparagraphseparator") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<div align=right><p>[foo]<p>bar</div><p>extra" queryCommandValue("defaultparagraphseparator") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<div align=right><p>[foo]<p>bar</div><p>extra" queryCommandIndeterm("justifyfull") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<div align=right><p>[foo]<p>bar</div><p>extra" queryCommandState("justifyfull") before 
-FAIL [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<div align=right><p>[foo]<p>bar</div><p>extra" queryCommandValue("justifyfull") before assert_equals: Wrong result returned expected "right" but got "false"
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<div align=right><p>[foo]<p>bar</div><p>extra" queryCommandIndeterm("justifyfull") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<div align=right><p>[foo]<p>bar</div><p>extra" queryCommandState("justifyfull") after 
-FAIL [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<div align=right><p>[foo]<p>bar</div><p>extra" queryCommandValue("justifyfull") after assert_equals: Wrong result returned expected "justify" but got "true"
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<div align=right><p>[foo]<p>bar</div><p>extra": execCommand("stylewithcss", false, "false") return value 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<div align=right><p>[foo]<p>bar</div><p>extra": execCommand("defaultparagraphseparator", false, "p") return value 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<div align=right><p>[foo]<p>bar</div><p>extra": execCommand("justifyfull", false, "") return value 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<div align=right><p>[foo]<p>bar</div><p>extra" checks for modifications to non-editable content 
-FAIL [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<div align=right><p>[foo]<p>bar</div><p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<div align=\"right\"><div style=\"text-align:justify\"><p>foo</p></div><p>bar</p></div><p>extra</p>" but got "<div align=\"right\"><p style=\"text-align:justify\">foo</p><p>bar</p></div><p>extra</p>"
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<div align=right><p>[foo]<p>bar</div><p>extra" queryCommandIndeterm("stylewithcss") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<div align=right><p>[foo]<p>bar</div><p>extra" queryCommandState("stylewithcss") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<div align=right><p>[foo]<p>bar</div><p>extra" queryCommandValue("stylewithcss") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<div align=right><p>[foo]<p>bar</div><p>extra" queryCommandIndeterm("stylewithcss") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<div align=right><p>[foo]<p>bar</div><p>extra" queryCommandState("stylewithcss") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<div align=right><p>[foo]<p>bar</div><p>extra" queryCommandValue("stylewithcss") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<div align=right><p>[foo]<p>bar</div><p>extra" queryCommandIndeterm("defaultparagraphseparator") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<div align=right><p>[foo]<p>bar</div><p>extra" queryCommandState("defaultparagraphseparator") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<div align=right><p>[foo]<p>bar</div><p>extra" queryCommandValue("defaultparagraphseparator") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<div align=right><p>[foo]<p>bar</div><p>extra" queryCommandIndeterm("defaultparagraphseparator") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<div align=right><p>[foo]<p>bar</div><p>extra" queryCommandState("defaultparagraphseparator") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<div align=right><p>[foo]<p>bar</div><p>extra" queryCommandValue("defaultparagraphseparator") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<div align=right><p>[foo]<p>bar</div><p>extra" queryCommandIndeterm("justifyfull") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<div align=right><p>[foo]<p>bar</div><p>extra" queryCommandState("justifyfull") before 
-FAIL [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<div align=right><p>[foo]<p>bar</div><p>extra" queryCommandValue("justifyfull") before assert_equals: Wrong result returned expected "right" but got "false"
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<div align=right><p>[foo]<p>bar</div><p>extra" queryCommandIndeterm("justifyfull") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<div align=right><p>[foo]<p>bar</div><p>extra" queryCommandState("justifyfull") after 
-FAIL [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<div align=right><p>[foo]<p>bar</div><p>extra" queryCommandValue("justifyfull") after assert_equals: Wrong result returned expected "justify" but got "true"
-PASS [["stylewithcss","true"],["justifyfull",""]] "<div align=right><p>[foo<p>bar}</div><p>extra": execCommand("stylewithcss", false, "true") return value 
-PASS [["stylewithcss","true"],["justifyfull",""]] "<div align=right><p>[foo<p>bar}</div><p>extra": execCommand("justifyfull", false, "") return value 
-PASS [["stylewithcss","true"],["justifyfull",""]] "<div align=right><p>[foo<p>bar}</div><p>extra" checks for modifications to non-editable content 
-FAIL [["stylewithcss","true"],["justifyfull",""]] "<div align=right><p>[foo<p>bar}</div><p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<div style=\"text-align:justify\"><p>foo</p><p>bar</p></div><p>extra</p>" but got "<div align=\"right\"><p style=\"text-align:justify\">foo</p><p style=\"text-align:justify\">bar</p></div><p>extra</p>"
-PASS [["stylewithcss","true"],["justifyfull",""]] "<div align=right><p>[foo<p>bar}</div><p>extra" queryCommandIndeterm("stylewithcss") before 
-PASS [["stylewithcss","true"],["justifyfull",""]] "<div align=right><p>[foo<p>bar}</div><p>extra" queryCommandState("stylewithcss") before 
-PASS [["stylewithcss","true"],["justifyfull",""]] "<div align=right><p>[foo<p>bar}</div><p>extra" queryCommandValue("stylewithcss") before 
-PASS [["stylewithcss","true"],["justifyfull",""]] "<div align=right><p>[foo<p>bar}</div><p>extra" queryCommandIndeterm("stylewithcss") after 
-PASS [["stylewithcss","true"],["justifyfull",""]] "<div align=right><p>[foo<p>bar}</div><p>extra" queryCommandState("stylewithcss") after 
-PASS [["stylewithcss","true"],["justifyfull",""]] "<div align=right><p>[foo<p>bar}</div><p>extra" queryCommandValue("stylewithcss") after 
-PASS [["stylewithcss","true"],["justifyfull",""]] "<div align=right><p>[foo<p>bar}</div><p>extra" queryCommandIndeterm("justifyfull") before 
-PASS [["stylewithcss","true"],["justifyfull",""]] "<div align=right><p>[foo<p>bar}</div><p>extra" queryCommandState("justifyfull") before 
-FAIL [["stylewithcss","true"],["justifyfull",""]] "<div align=right><p>[foo<p>bar}</div><p>extra" queryCommandValue("justifyfull") before assert_equals: Wrong result returned expected "right" but got "false"
-PASS [["stylewithcss","true"],["justifyfull",""]] "<div align=right><p>[foo<p>bar}</div><p>extra" queryCommandIndeterm("justifyfull") after 
-PASS [["stylewithcss","true"],["justifyfull",""]] "<div align=right><p>[foo<p>bar}</div><p>extra" queryCommandState("justifyfull") after 
-FAIL [["stylewithcss","true"],["justifyfull",""]] "<div align=right><p>[foo<p>bar}</div><p>extra" queryCommandValue("justifyfull") after assert_equals: Wrong result returned expected "justify" but got "true"
-PASS [["stylewithcss","false"],["justifyfull",""]] "<div align=right><p>[foo<p>bar}</div><p>extra": execCommand("stylewithcss", false, "false") return value 
-PASS [["stylewithcss","false"],["justifyfull",""]] "<div align=right><p>[foo<p>bar}</div><p>extra": execCommand("justifyfull", false, "") return value 
-PASS [["stylewithcss","false"],["justifyfull",""]] "<div align=right><p>[foo<p>bar}</div><p>extra" checks for modifications to non-editable content 
-FAIL [["stylewithcss","false"],["justifyfull",""]] "<div align=right><p>[foo<p>bar}</div><p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<div style=\"text-align:justify\"><p>foo</p><p>bar</p></div><p>extra</p>" but got "<div align=\"right\"><p style=\"text-align:justify\">foo</p><p style=\"text-align:justify\">bar</p></div><p>extra</p>"
-PASS [["stylewithcss","false"],["justifyfull",""]] "<div align=right><p>[foo<p>bar}</div><p>extra" queryCommandIndeterm("stylewithcss") before 
-PASS [["stylewithcss","false"],["justifyfull",""]] "<div align=right><p>[foo<p>bar}</div><p>extra" queryCommandState("stylewithcss") before 
-PASS [["stylewithcss","false"],["justifyfull",""]] "<div align=right><p>[foo<p>bar}</div><p>extra" queryCommandValue("stylewithcss") before 
-PASS [["stylewithcss","false"],["justifyfull",""]] "<div align=right><p>[foo<p>bar}</div><p>extra" queryCommandIndeterm("stylewithcss") after 
-PASS [["stylewithcss","false"],["justifyfull",""]] "<div align=right><p>[foo<p>bar}</div><p>extra" queryCommandState("stylewithcss") after 
-PASS [["stylewithcss","false"],["justifyfull",""]] "<div align=right><p>[foo<p>bar}</div><p>extra" queryCommandValue("stylewithcss") after 
-PASS [["stylewithcss","false"],["justifyfull",""]] "<div align=right><p>[foo<p>bar}</div><p>extra" queryCommandIndeterm("justifyfull") before 
-PASS [["stylewithcss","false"],["justifyfull",""]] "<div align=right><p>[foo<p>bar}</div><p>extra" queryCommandState("justifyfull") before 
-FAIL [["stylewithcss","false"],["justifyfull",""]] "<div align=right><p>[foo<p>bar}</div><p>extra" queryCommandValue("justifyfull") before assert_equals: Wrong result returned expected "right" but got "false"
-PASS [["stylewithcss","false"],["justifyfull",""]] "<div align=right><p>[foo<p>bar}</div><p>extra" queryCommandIndeterm("justifyfull") after 
-PASS [["stylewithcss","false"],["justifyfull",""]] "<div align=right><p>[foo<p>bar}</div><p>extra" queryCommandState("justifyfull") after 
-FAIL [["stylewithcss","false"],["justifyfull",""]] "<div align=right><p>[foo<p>bar}</div><p>extra" queryCommandValue("justifyfull") after assert_equals: Wrong result returned expected "justify" but got "true"
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<div style=text-align:right><p>[foo]<p>bar</div><p>extra": execCommand("stylewithcss", false, "true") return value 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<div style=text-align:right><p>[foo]<p>bar</div><p>extra": execCommand("defaultparagraphseparator", false, "div") return value 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<div style=text-align:right><p>[foo]<p>bar</div><p>extra": execCommand("justifyfull", false, "") return value 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<div style=text-align:right><p>[foo]<p>bar</div><p>extra" checks for modifications to non-editable content 
-FAIL [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<div style=text-align:right><p>[foo]<p>bar</div><p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<div style=\"text-align:right\"><div style=\"text-align:justify\"><p>foo</p></div><p>bar</p></div><p>extra</p>" but got "<div style=\"text-align:right\"><p style=\"text-align:justify\">foo</p><p>bar</p></div><p>extra</p>"
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<div style=text-align:right><p>[foo]<p>bar</div><p>extra" queryCommandIndeterm("stylewithcss") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<div style=text-align:right><p>[foo]<p>bar</div><p>extra" queryCommandState("stylewithcss") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<div style=text-align:right><p>[foo]<p>bar</div><p>extra" queryCommandValue("stylewithcss") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<div style=text-align:right><p>[foo]<p>bar</div><p>extra" queryCommandIndeterm("stylewithcss") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<div style=text-align:right><p>[foo]<p>bar</div><p>extra" queryCommandState("stylewithcss") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<div style=text-align:right><p>[foo]<p>bar</div><p>extra" queryCommandValue("stylewithcss") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<div style=text-align:right><p>[foo]<p>bar</div><p>extra" queryCommandIndeterm("defaultparagraphseparator") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<div style=text-align:right><p>[foo]<p>bar</div><p>extra" queryCommandState("defaultparagraphseparator") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<div style=text-align:right><p>[foo]<p>bar</div><p>extra" queryCommandValue("defaultparagraphseparator") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<div style=text-align:right><p>[foo]<p>bar</div><p>extra" queryCommandIndeterm("defaultparagraphseparator") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<div style=text-align:right><p>[foo]<p>bar</div><p>extra" queryCommandState("defaultparagraphseparator") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<div style=text-align:right><p>[foo]<p>bar</div><p>extra" queryCommandValue("defaultparagraphseparator") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<div style=text-align:right><p>[foo]<p>bar</div><p>extra" queryCommandIndeterm("justifyfull") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<div style=text-align:right><p>[foo]<p>bar</div><p>extra" queryCommandState("justifyfull") before 
-FAIL [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<div style=text-align:right><p>[foo]<p>bar</div><p>extra" queryCommandValue("justifyfull") before assert_equals: Wrong result returned expected "right" but got "false"
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<div style=text-align:right><p>[foo]<p>bar</div><p>extra" queryCommandIndeterm("justifyfull") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<div style=text-align:right><p>[foo]<p>bar</div><p>extra" queryCommandState("justifyfull") after 
-FAIL [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<div style=text-align:right><p>[foo]<p>bar</div><p>extra" queryCommandValue("justifyfull") after assert_equals: Wrong result returned expected "justify" but got "true"
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<div style=text-align:right><p>[foo]<p>bar</div><p>extra": execCommand("stylewithcss", false, "false") return value 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<div style=text-align:right><p>[foo]<p>bar</div><p>extra": execCommand("defaultparagraphseparator", false, "div") return value 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<div style=text-align:right><p>[foo]<p>bar</div><p>extra": execCommand("justifyfull", false, "") return value 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<div style=text-align:right><p>[foo]<p>bar</div><p>extra" checks for modifications to non-editable content 
-FAIL [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<div style=text-align:right><p>[foo]<p>bar</div><p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<div style=\"text-align:right\"><div style=\"text-align:justify\"><p>foo</p></div><p>bar</p></div><p>extra</p>" but got "<div style=\"text-align:right\"><p style=\"text-align:justify\">foo</p><p>bar</p></div><p>extra</p>"
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<div style=text-align:right><p>[foo]<p>bar</div><p>extra" queryCommandIndeterm("stylewithcss") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<div style=text-align:right><p>[foo]<p>bar</div><p>extra" queryCommandState("stylewithcss") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<div style=text-align:right><p>[foo]<p>bar</div><p>extra" queryCommandValue("stylewithcss") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<div style=text-align:right><p>[foo]<p>bar</div><p>extra" queryCommandIndeterm("stylewithcss") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<div style=text-align:right><p>[foo]<p>bar</div><p>extra" queryCommandState("stylewithcss") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<div style=text-align:right><p>[foo]<p>bar</div><p>extra" queryCommandValue("stylewithcss") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<div style=text-align:right><p>[foo]<p>bar</div><p>extra" queryCommandIndeterm("defaultparagraphseparator") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<div style=text-align:right><p>[foo]<p>bar</div><p>extra" queryCommandState("defaultparagraphseparator") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<div style=text-align:right><p>[foo]<p>bar</div><p>extra" queryCommandValue("defaultparagraphseparator") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<div style=text-align:right><p>[foo]<p>bar</div><p>extra" queryCommandIndeterm("defaultparagraphseparator") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<div style=text-align:right><p>[foo]<p>bar</div><p>extra" queryCommandState("defaultparagraphseparator") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<div style=text-align:right><p>[foo]<p>bar</div><p>extra" queryCommandValue("defaultparagraphseparator") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<div style=text-align:right><p>[foo]<p>bar</div><p>extra" queryCommandIndeterm("justifyfull") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<div style=text-align:right><p>[foo]<p>bar</div><p>extra" queryCommandState("justifyfull") before 
-FAIL [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<div style=text-align:right><p>[foo]<p>bar</div><p>extra" queryCommandValue("justifyfull") before assert_equals: Wrong result returned expected "right" but got "false"
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<div style=text-align:right><p>[foo]<p>bar</div><p>extra" queryCommandIndeterm("justifyfull") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<div style=text-align:right><p>[foo]<p>bar</div><p>extra" queryCommandState("justifyfull") after 
-FAIL [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<div style=text-align:right><p>[foo]<p>bar</div><p>extra" queryCommandValue("justifyfull") after assert_equals: Wrong result returned expected "justify" but got "true"
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<div style=text-align:right><p>[foo]<p>bar</div><p>extra": execCommand("stylewithcss", false, "true") return value 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<div style=text-align:right><p>[foo]<p>bar</div><p>extra": execCommand("defaultparagraphseparator", false, "p") return value 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<div style=text-align:right><p>[foo]<p>bar</div><p>extra": execCommand("justifyfull", false, "") return value 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<div style=text-align:right><p>[foo]<p>bar</div><p>extra" checks for modifications to non-editable content 
-FAIL [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<div style=text-align:right><p>[foo]<p>bar</div><p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<div style=\"text-align:right\"><div style=\"text-align:justify\"><p>foo</p></div><p>bar</p></div><p>extra</p>" but got "<div style=\"text-align:right\"><p style=\"text-align:justify\">foo</p><p>bar</p></div><p>extra</p>"
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<div style=text-align:right><p>[foo]<p>bar</div><p>extra" queryCommandIndeterm("stylewithcss") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<div style=text-align:right><p>[foo]<p>bar</div><p>extra" queryCommandState("stylewithcss") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<div style=text-align:right><p>[foo]<p>bar</div><p>extra" queryCommandValue("stylewithcss") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<div style=text-align:right><p>[foo]<p>bar</div><p>extra" queryCommandIndeterm("stylewithcss") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<div style=text-align:right><p>[foo]<p>bar</div><p>extra" queryCommandState("stylewithcss") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<div style=text-align:right><p>[foo]<p>bar</div><p>extra" queryCommandValue("stylewithcss") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<div style=text-align:right><p>[foo]<p>bar</div><p>extra" queryCommandIndeterm("defaultparagraphseparator") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<div style=text-align:right><p>[foo]<p>bar</div><p>extra" queryCommandState("defaultparagraphseparator") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<div style=text-align:right><p>[foo]<p>bar</div><p>extra" queryCommandValue("defaultparagraphseparator") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<div style=text-align:right><p>[foo]<p>bar</div><p>extra" queryCommandIndeterm("defaultparagraphseparator") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<div style=text-align:right><p>[foo]<p>bar</div><p>extra" queryCommandState("defaultparagraphseparator") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<div style=text-align:right><p>[foo]<p>bar</div><p>extra" queryCommandValue("defaultparagraphseparator") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<div style=text-align:right><p>[foo]<p>bar</div><p>extra" queryCommandIndeterm("justifyfull") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<div style=text-align:right><p>[foo]<p>bar</div><p>extra" queryCommandState("justifyfull") before 
-FAIL [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<div style=text-align:right><p>[foo]<p>bar</div><p>extra" queryCommandValue("justifyfull") before assert_equals: Wrong result returned expected "right" but got "false"
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<div style=text-align:right><p>[foo]<p>bar</div><p>extra" queryCommandIndeterm("justifyfull") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<div style=text-align:right><p>[foo]<p>bar</div><p>extra" queryCommandState("justifyfull") after 
-FAIL [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<div style=text-align:right><p>[foo]<p>bar</div><p>extra" queryCommandValue("justifyfull") after assert_equals: Wrong result returned expected "justify" but got "true"
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<div style=text-align:right><p>[foo]<p>bar</div><p>extra": execCommand("stylewithcss", false, "false") return value 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<div style=text-align:right><p>[foo]<p>bar</div><p>extra": execCommand("defaultparagraphseparator", false, "p") return value 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<div style=text-align:right><p>[foo]<p>bar</div><p>extra": execCommand("justifyfull", false, "") return value 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<div style=text-align:right><p>[foo]<p>bar</div><p>extra" checks for modifications to non-editable content 
-FAIL [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<div style=text-align:right><p>[foo]<p>bar</div><p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<div style=\"text-align:right\"><div style=\"text-align:justify\"><p>foo</p></div><p>bar</p></div><p>extra</p>" but got "<div style=\"text-align:right\"><p style=\"text-align:justify\">foo</p><p>bar</p></div><p>extra</p>"
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<div style=text-align:right><p>[foo]<p>bar</div><p>extra" queryCommandIndeterm("stylewithcss") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<div style=text-align:right><p>[foo]<p>bar</div><p>extra" queryCommandState("stylewithcss") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<div style=text-align:right><p>[foo]<p>bar</div><p>extra" queryCommandValue("stylewithcss") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<div style=text-align:right><p>[foo]<p>bar</div><p>extra" queryCommandIndeterm("stylewithcss") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<div style=text-align:right><p>[foo]<p>bar</div><p>extra" queryCommandState("stylewithcss") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<div style=text-align:right><p>[foo]<p>bar</div><p>extra" queryCommandValue("stylewithcss") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<div style=text-align:right><p>[foo]<p>bar</div><p>extra" queryCommandIndeterm("defaultparagraphseparator") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<div style=text-align:right><p>[foo]<p>bar</div><p>extra" queryCommandState("defaultparagraphseparator") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<div style=text-align:right><p>[foo]<p>bar</div><p>extra" queryCommandValue("defaultparagraphseparator") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<div style=text-align:right><p>[foo]<p>bar</div><p>extra" queryCommandIndeterm("defaultparagraphseparator") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<div style=text-align:right><p>[foo]<p>bar</div><p>extra" queryCommandState("defaultparagraphseparator") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<div style=text-align:right><p>[foo]<p>bar</div><p>extra" queryCommandValue("defaultparagraphseparator") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<div style=text-align:right><p>[foo]<p>bar</div><p>extra" queryCommandIndeterm("justifyfull") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<div style=text-align:right><p>[foo]<p>bar</div><p>extra" queryCommandState("justifyfull") before 
-FAIL [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<div style=text-align:right><p>[foo]<p>bar</div><p>extra" queryCommandValue("justifyfull") before assert_equals: Wrong result returned expected "right" but got "false"
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<div style=text-align:right><p>[foo]<p>bar</div><p>extra" queryCommandIndeterm("justifyfull") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<div style=text-align:right><p>[foo]<p>bar</div><p>extra" queryCommandState("justifyfull") after 
-FAIL [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<div style=text-align:right><p>[foo]<p>bar</div><p>extra" queryCommandValue("justifyfull") after assert_equals: Wrong result returned expected "justify" but got "true"
-PASS [["justifyfull",""]] "<div style=text-align:right><p>[foo<p>bar]</div><p>extra": execCommand("justifyfull", false, "") return value 
-PASS [["justifyfull",""]] "<div style=text-align:right><p>[foo<p>bar]</div><p>extra" checks for modifications to non-editable content 
-FAIL [["justifyfull",""]] "<div style=text-align:right><p>[foo<p>bar]</div><p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<div style=\"text-align:justify\"><p>foo</p><p>bar</p></div><p>extra</p>" but got "<div style=\"text-align:right\"><p style=\"text-align:justify\">foo</p><p style=\"text-align:justify\">bar</p></div><p>extra</p>"
-PASS [["justifyfull",""]] "<div style=text-align:right><p>[foo<p>bar]</div><p>extra" queryCommandIndeterm("justifyfull") before 
-PASS [["justifyfull",""]] "<div style=text-align:right><p>[foo<p>bar]</div><p>extra" queryCommandState("justifyfull") before 
-FAIL [["justifyfull",""]] "<div style=text-align:right><p>[foo<p>bar]</div><p>extra" queryCommandValue("justifyfull") before assert_equals: Wrong result returned expected "right" but got "false"
-PASS [["justifyfull",""]] "<div style=text-align:right><p>[foo<p>bar]</div><p>extra" queryCommandIndeterm("justifyfull") after 
-PASS [["justifyfull",""]] "<div style=text-align:right><p>[foo<p>bar]</div><p>extra" queryCommandState("justifyfull") after 
-FAIL [["justifyfull",""]] "<div style=text-align:right><p>[foo<p>bar]</div><p>extra" queryCommandValue("justifyfull") after assert_equals: Wrong result returned expected "justify" but got "true"
-PASS [["justifyfull",""]] "<div align=justify>foo</div>[bar]<p>extra": execCommand("justifyfull", false, "") return value 
-PASS [["justifyfull",""]] "<div align=justify>foo</div>[bar]<p>extra" checks for modifications to non-editable content 
-FAIL [["justifyfull",""]] "<div align=justify>foo</div>[bar]<p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<div align=\"justify\">foo<br>bar</div><p>extra</p>" but got "<div align=\"justify\">foo</div><p style=\"text-align:justify\">bar</p><p>extra</p>"
-PASS [["justifyfull",""]] "<div align=justify>foo</div>[bar]<p>extra" queryCommandIndeterm("justifyfull") before 
-PASS [["justifyfull",""]] "<div align=justify>foo</div>[bar]<p>extra" queryCommandState("justifyfull") before 
-FAIL [["justifyfull",""]] "<div align=justify>foo</div>[bar]<p>extra" queryCommandValue("justifyfull") before assert_equals: Wrong result returned expected "left" but got "false"
-PASS [["justifyfull",""]] "<div align=justify>foo</div>[bar]<p>extra" queryCommandIndeterm("justifyfull") after 
-PASS [["justifyfull",""]] "<div align=justify>foo</div>[bar]<p>extra" queryCommandState("justifyfull") after 
-FAIL [["justifyfull",""]] "<div align=justify>foo</div>[bar]<p>extra" queryCommandValue("justifyfull") after assert_equals: Wrong result returned expected "justify" but got "true"
-PASS [["justifyfull",""]] "[foo]<div align=justify>bar</div><p>extra": execCommand("justifyfull", false, "") return value 
-PASS [["justifyfull",""]] "[foo]<div align=justify>bar</div><p>extra" checks for modifications to non-editable content 
-FAIL [["justifyfull",""]] "[foo]<div align=justify>bar</div><p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<div align=\"justify\">foo<br>bar</div><p>extra</p>" but got "<p style=\"text-align:justify\">foo</p><div align=\"justify\">bar</div><p>extra</p>"
-PASS [["justifyfull",""]] "[foo]<div align=justify>bar</div><p>extra" queryCommandIndeterm("justifyfull") before 
-PASS [["justifyfull",""]] "[foo]<div align=justify>bar</div><p>extra" queryCommandState("justifyfull") before 
-FAIL [["justifyfull",""]] "[foo]<div align=justify>bar</div><p>extra" queryCommandValue("justifyfull") before assert_equals: Wrong result returned expected "left" but got "false"
-PASS [["justifyfull",""]] "[foo]<div align=justify>bar</div><p>extra" queryCommandIndeterm("justifyfull") after 
-PASS [["justifyfull",""]] "[foo]<div align=justify>bar</div><p>extra" queryCommandState("justifyfull") after 
-FAIL [["justifyfull",""]] "[foo]<div align=justify>bar</div><p>extra" queryCommandValue("justifyfull") after assert_equals: Wrong result returned expected "justify" but got "true"
-PASS [["defaultparagraphseparator","div"],["justifyfull",""]] "<div align=justify>foo</div>[bar]<div align=justify>baz</div><p>extra": execCommand("defaultparagraphseparator", false, "div") return value 
-PASS [["defaultparagraphseparator","div"],["justifyfull",""]] "<div align=justify>foo</div>[bar]<div align=justify>baz</div><p>extra": execCommand("justifyfull", false, "") return value 
-PASS [["defaultparagraphseparator","div"],["justifyfull",""]] "<div align=justify>foo</div>[bar]<div align=justify>baz</div><p>extra" checks for modifications to non-editable content 
-FAIL [["defaultparagraphseparator","div"],["justifyfull",""]] "<div align=justify>foo</div>[bar]<div align=justify>baz</div><p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<div align=\"justify\">foo<br>bar<br>baz</div><p>extra</p>" but got "<div align=\"justify\">foo</div><div style=\"text-align:justify\">bar</div><div align=\"justify\">baz</div><p>extra</p>"
-PASS [["defaultparagraphseparator","div"],["justifyfull",""]] "<div align=justify>foo</div>[bar]<div align=justify>baz</div><p>extra" queryCommandIndeterm("defaultparagraphseparator") before 
-PASS [["defaultparagraphseparator","div"],["justifyfull",""]] "<div align=justify>foo</div>[bar]<div align=justify>baz</div><p>extra" queryCommandState("defaultparagraphseparator") before 
-PASS [["defaultparagraphseparator","div"],["justifyfull",""]] "<div align=justify>foo</div>[bar]<div align=justify>baz</div><p>extra" queryCommandValue("defaultparagraphseparator") before 
-PASS [["defaultparagraphseparator","div"],["justifyfull",""]] "<div align=justify>foo</div>[bar]<div align=justify>baz</div><p>extra" queryCommandIndeterm("defaultparagraphseparator") after 
-PASS [["defaultparagraphseparator","div"],["justifyfull",""]] "<div align=justify>foo</div>[bar]<div align=justify>baz</div><p>extra" queryCommandState("defaultparagraphseparator") after 
-PASS [["defaultparagraphseparator","div"],["justifyfull",""]] "<div align=justify>foo</div>[bar]<div align=justify>baz</div><p>extra" queryCommandValue("defaultparagraphseparator") after 
-PASS [["defaultparagraphseparator","div"],["justifyfull",""]] "<div align=justify>foo</div>[bar]<div align=justify>baz</div><p>extra" queryCommandIndeterm("justifyfull") before 
-PASS [["defaultparagraphseparator","div"],["justifyfull",""]] "<div align=justify>foo</div>[bar]<div align=justify>baz</div><p>extra" queryCommandState("justifyfull") before 
-FAIL [["defaultparagraphseparator","div"],["justifyfull",""]] "<div align=justify>foo</div>[bar]<div align=justify>baz</div><p>extra" queryCommandValue("justifyfull") before assert_equals: Wrong result returned expected "left" but got "false"
-PASS [["defaultparagraphseparator","div"],["justifyfull",""]] "<div align=justify>foo</div>[bar]<div align=justify>baz</div><p>extra" queryCommandIndeterm("justifyfull") after 
-PASS [["defaultparagraphseparator","div"],["justifyfull",""]] "<div align=justify>foo</div>[bar]<div align=justify>baz</div><p>extra" queryCommandState("justifyfull") after 
-FAIL [["defaultparagraphseparator","div"],["justifyfull",""]] "<div align=justify>foo</div>[bar]<div align=justify>baz</div><p>extra" queryCommandValue("justifyfull") after assert_equals: Wrong result returned expected "justify" but got "true"
-PASS [["defaultparagraphseparator","p"],["justifyfull",""]] "<div align=justify>foo</div>[bar]<div align=justify>baz</div><p>extra": execCommand("defaultparagraphseparator", false, "p") return value 
-PASS [["defaultparagraphseparator","p"],["justifyfull",""]] "<div align=justify>foo</div>[bar]<div align=justify>baz</div><p>extra": execCommand("justifyfull", false, "") return value 
-PASS [["defaultparagraphseparator","p"],["justifyfull",""]] "<div align=justify>foo</div>[bar]<div align=justify>baz</div><p>extra" checks for modifications to non-editable content 
-FAIL [["defaultparagraphseparator","p"],["justifyfull",""]] "<div align=justify>foo</div>[bar]<div align=justify>baz</div><p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<div align=\"justify\">foo<br>bar<br>baz</div><p>extra</p>" but got "<div align=\"justify\">foo</div><p style=\"text-align:justify\">bar</p><div align=\"justify\">baz</div><p>extra</p>"
-PASS [["defaultparagraphseparator","p"],["justifyfull",""]] "<div align=justify>foo</div>[bar]<div align=justify>baz</div><p>extra" queryCommandIndeterm("defaultparagraphseparator") before 
-PASS [["defaultparagraphseparator","p"],["justifyfull",""]] "<div align=justify>foo</div>[bar]<div align=justify>baz</div><p>extra" queryCommandState("defaultparagraphseparator") before 
-PASS [["defaultparagraphseparator","p"],["justifyfull",""]] "<div align=justify>foo</div>[bar]<div align=justify>baz</div><p>extra" queryCommandValue("defaultparagraphseparator") before 
-PASS [["defaultparagraphseparator","p"],["justifyfull",""]] "<div align=justify>foo</div>[bar]<div align=justify>baz</div><p>extra" queryCommandIndeterm("defaultparagraphseparator") after 
-PASS [["defaultparagraphseparator","p"],["justifyfull",""]] "<div align=justify>foo</div>[bar]<div align=justify>baz</div><p>extra" queryCommandState("defaultparagraphseparator") after 
-PASS [["defaultparagraphseparator","p"],["justifyfull",""]] "<div align=justify>foo</div>[bar]<div align=justify>baz</div><p>extra" queryCommandValue("defaultparagraphseparator") after 
-PASS [["defaultparagraphseparator","p"],["justifyfull",""]] "<div align=justify>foo</div>[bar]<div align=justify>baz</div><p>extra" queryCommandIndeterm("justifyfull") before 
-PASS [["defaultparagraphseparator","p"],["justifyfull",""]] "<div align=justify>foo</div>[bar]<div align=justify>baz</div><p>extra" queryCommandState("justifyfull") before 
-FAIL [["defaultparagraphseparator","p"],["justifyfull",""]] "<div align=justify>foo</div>[bar]<div align=justify>baz</div><p>extra" queryCommandValue("justifyfull") before assert_equals: Wrong result returned expected "left" but got "false"
-PASS [["defaultparagraphseparator","p"],["justifyfull",""]] "<div align=justify>foo</div>[bar]<div align=justify>baz</div><p>extra" queryCommandIndeterm("justifyfull") after 
-PASS [["defaultparagraphseparator","p"],["justifyfull",""]] "<div align=justify>foo</div>[bar]<div align=justify>baz</div><p>extra" queryCommandState("justifyfull") after 
-FAIL [["defaultparagraphseparator","p"],["justifyfull",""]] "<div align=justify>foo</div>[bar]<div align=justify>baz</div><p>extra" queryCommandValue("justifyfull") after assert_equals: Wrong result returned expected "justify" but got "true"
-PASS [["justifyfull",""]] "<div align=justify><p>foo</div><p>[bar]<p>extra": execCommand("justifyfull", false, "") return value 
-PASS [["justifyfull",""]] "<div align=justify><p>foo</div><p>[bar]<p>extra" checks for modifications to non-editable content 
-FAIL [["justifyfull",""]] "<div align=justify><p>foo</div><p>[bar]<p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<div align=\"justify\"><p>foo</p><p>bar</p></div><p>extra</p>" but got "<div align=\"justify\"><p>foo</p></div><p style=\"text-align:justify\">bar</p><p>extra</p>"
-PASS [["justifyfull",""]] "<div align=justify><p>foo</div><p>[bar]<p>extra" queryCommandIndeterm("justifyfull") before 
-PASS [["justifyfull",""]] "<div align=justify><p>foo</div><p>[bar]<p>extra" queryCommandState("justifyfull") before 
-FAIL [["justifyfull",""]] "<div align=justify><p>foo</div><p>[bar]<p>extra" queryCommandValue("justifyfull") before assert_equals: Wrong result returned expected "left" but got "false"
-PASS [["justifyfull",""]] "<div align=justify><p>foo</div><p>[bar]<p>extra" queryCommandIndeterm("justifyfull") after 
-PASS [["justifyfull",""]] "<div align=justify><p>foo</div><p>[bar]<p>extra" queryCommandState("justifyfull") after 
-FAIL [["justifyfull",""]] "<div align=justify><p>foo</div><p>[bar]<p>extra" queryCommandValue("justifyfull") after assert_equals: Wrong result returned expected "justify" but got "true"
-PASS [["justifyfull",""]] "<p>[foo]<div align=justify><p>bar</div><p>extra": execCommand("justifyfull", false, "") return value 
-PASS [["justifyfull",""]] "<p>[foo]<div align=justify><p>bar</div><p>extra" checks for modifications to non-editable content 
-FAIL [["justifyfull",""]] "<p>[foo]<div align=justify><p>bar</div><p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<div align=\"justify\"><p>foo</p><p>bar</p></div><p>extra</p>" but got "<p style=\"text-align:justify\">foo</p><div align=\"justify\"><p>bar</p></div><p>extra</p>"
-PASS [["justifyfull",""]] "<p>[foo]<div align=justify><p>bar</div><p>extra" queryCommandIndeterm("justifyfull") before 
-PASS [["justifyfull",""]] "<p>[foo]<div align=justify><p>bar</div><p>extra" queryCommandState("justifyfull") before 
-FAIL [["justifyfull",""]] "<p>[foo]<div align=justify><p>bar</div><p>extra" queryCommandValue("justifyfull") before assert_equals: Wrong result returned expected "left" but got "false"
-PASS [["justifyfull",""]] "<p>[foo]<div align=justify><p>bar</div><p>extra" queryCommandIndeterm("justifyfull") after 
-PASS [["justifyfull",""]] "<p>[foo]<div align=justify><p>bar</div><p>extra" queryCommandState("justifyfull") after 
-FAIL [["justifyfull",""]] "<p>[foo]<div align=justify><p>bar</div><p>extra" queryCommandValue("justifyfull") after assert_equals: Wrong result returned expected "justify" but got "true"
-PASS [["defaultparagraphseparator","div"],["justifyfull",""]] "<div align=justify><p>foo</div><p>[bar]<div align=justify><p>baz</div><p>extra": execCommand("defaultparagraphseparator", false, "div") return value 
-PASS [["defaultparagraphseparator","div"],["justifyfull",""]] "<div align=justify><p>foo</div><p>[bar]<div align=justify><p>baz</div><p>extra": execCommand("justifyfull", false, "") return value 
-PASS [["defaultparagraphseparator","div"],["justifyfull",""]] "<div align=justify><p>foo</div><p>[bar]<div align=justify><p>baz</div><p>extra" checks for modifications to non-editable content 
-FAIL [["defaultparagraphseparator","div"],["justifyfull",""]] "<div align=justify><p>foo</div><p>[bar]<div align=justify><p>baz</div><p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<div align=\"justify\"><p>foo</p><p>bar</p><p>baz</p></div><p>extra</p>" but got "<div align=\"justify\"><p>foo</p></div><p style=\"text-align:justify\">bar</p><div align=\"justify\"><p>baz</p></div><p>extra</p>"
-PASS [["defaultparagraphseparator","div"],["justifyfull",""]] "<div align=justify><p>foo</div><p>[bar]<div align=justify><p>baz</div><p>extra" queryCommandIndeterm("defaultparagraphseparator") before 
-PASS [["defaultparagraphseparator","div"],["justifyfull",""]] "<div align=justify><p>foo</div><p>[bar]<div align=justify><p>baz</div><p>extra" queryCommandState("defaultparagraphseparator") before 
-PASS [["defaultparagraphseparator","div"],["justifyfull",""]] "<div align=justify><p>foo</div><p>[bar]<div align=justify><p>baz</div><p>extra" queryCommandValue("defaultparagraphseparator") before 
-PASS [["defaultparagraphseparator","div"],["justifyfull",""]] "<div align=justify><p>foo</div><p>[bar]<div align=justify><p>baz</div><p>extra" queryCommandIndeterm("defaultparagraphseparator") after 
-PASS [["defaultparagraphseparator","div"],["justifyfull",""]] "<div align=justify><p>foo</div><p>[bar]<div align=justify><p>baz</div><p>extra" queryCommandState("defaultparagraphseparator") after 
-PASS [["defaultparagraphseparator","div"],["justifyfull",""]] "<div align=justify><p>foo</div><p>[bar]<div align=justify><p>baz</div><p>extra" queryCommandValue("defaultparagraphseparator") after 
-PASS [["defaultparagraphseparator","div"],["justifyfull",""]] "<div align=justify><p>foo</div><p>[bar]<div align=justify><p>baz</div><p>extra" queryCommandIndeterm("justifyfull") before 
-PASS [["defaultparagraphseparator","div"],["justifyfull",""]] "<div align=justify><p>foo</div><p>[bar]<div align=justify><p>baz</div><p>extra" queryCommandState("justifyfull") before 
-FAIL [["defaultparagraphseparator","div"],["justifyfull",""]] "<div align=justify><p>foo</div><p>[bar]<div align=justify><p>baz</div><p>extra" queryCommandValue("justifyfull") before assert_equals: Wrong result returned expected "left" but got "false"
-PASS [["defaultparagraphseparator","div"],["justifyfull",""]] "<div align=justify><p>foo</div><p>[bar]<div align=justify><p>baz</div><p>extra" queryCommandIndeterm("justifyfull") after 
-PASS [["defaultparagraphseparator","div"],["justifyfull",""]] "<div align=justify><p>foo</div><p>[bar]<div align=justify><p>baz</div><p>extra" queryCommandState("justifyfull") after 
-FAIL [["defaultparagraphseparator","div"],["justifyfull",""]] "<div align=justify><p>foo</div><p>[bar]<div align=justify><p>baz</div><p>extra" queryCommandValue("justifyfull") after assert_equals: Wrong result returned expected "justify" but got "true"
-PASS [["defaultparagraphseparator","p"],["justifyfull",""]] "<div align=justify><p>foo</div><p>[bar]<div align=justify><p>baz</div><p>extra": execCommand("defaultparagraphseparator", false, "p") return value 
-PASS [["defaultparagraphseparator","p"],["justifyfull",""]] "<div align=justify><p>foo</div><p>[bar]<div align=justify><p>baz</div><p>extra": execCommand("justifyfull", false, "") return value 
-PASS [["defaultparagraphseparator","p"],["justifyfull",""]] "<div align=justify><p>foo</div><p>[bar]<div align=justify><p>baz</div><p>extra" checks for modifications to non-editable content 
-FAIL [["defaultparagraphseparator","p"],["justifyfull",""]] "<div align=justify><p>foo</div><p>[bar]<div align=justify><p>baz</div><p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<div align=\"justify\"><p>foo</p><p>bar</p><p>baz</p></div><p>extra</p>" but got "<div align=\"justify\"><p>foo</p></div><p style=\"text-align:justify\">bar</p><div align=\"justify\"><p>baz</p></div><p>extra</p>"
-PASS [["defaultparagraphseparator","p"],["justifyfull",""]] "<div align=justify><p>foo</div><p>[bar]<div align=justify><p>baz</div><p>extra" queryCommandIndeterm("defaultparagraphseparator") before 
-PASS [["defaultparagraphseparator","p"],["justifyfull",""]] "<div align=justify><p>foo</div><p>[bar]<div align=justify><p>baz</div><p>extra" queryCommandState("defaultparagraphseparator") before 
-PASS [["defaultparagraphseparator","p"],["justifyfull",""]] "<div align=justify><p>foo</div><p>[bar]<div align=justify><p>baz</div><p>extra" queryCommandValue("defaultparagraphseparator") before 
-PASS [["defaultparagraphseparator","p"],["justifyfull",""]] "<div align=justify><p>foo</div><p>[bar]<div align=justify><p>baz</div><p>extra" queryCommandIndeterm("defaultparagraphseparator") after 
-PASS [["defaultparagraphseparator","p"],["justifyfull",""]] "<div align=justify><p>foo</div><p>[bar]<div align=justify><p>baz</div><p>extra" queryCommandState("defaultparagraphseparator") after 
-PASS [["defaultparagraphseparator","p"],["justifyfull",""]] "<div align=justify><p>foo</div><p>[bar]<div align=justify><p>baz</div><p>extra" queryCommandValue("defaultparagraphseparator") after 
-PASS [["defaultparagraphseparator","p"],["justifyfull",""]] "<div align=justify><p>foo</div><p>[bar]<div align=justify><p>baz</div><p>extra" queryCommandIndeterm("justifyfull") before 
-PASS [["defaultparagraphseparator","p"],["justifyfull",""]] "<div align=justify><p>foo</div><p>[bar]<div align=justify><p>baz</div><p>extra" queryCommandState("justifyfull") before 
-FAIL [["defaultparagraphseparator","p"],["justifyfull",""]] "<div align=justify><p>foo</div><p>[bar]<div align=justify><p>baz</div><p>extra" queryCommandValue("justifyfull") before assert_equals: Wrong result returned expected "left" but got "false"
-PASS [["defaultparagraphseparator","p"],["justifyfull",""]] "<div align=justify><p>foo</div><p>[bar]<div align=justify><p>baz</div><p>extra" queryCommandIndeterm("justifyfull") after 
-PASS [["defaultparagraphseparator","p"],["justifyfull",""]] "<div align=justify><p>foo</div><p>[bar]<div align=justify><p>baz</div><p>extra" queryCommandState("justifyfull") after 
-FAIL [["defaultparagraphseparator","p"],["justifyfull",""]] "<div align=justify><p>foo</div><p>[bar]<div align=justify><p>baz</div><p>extra" queryCommandValue("justifyfull") after assert_equals: Wrong result returned expected "justify" but got "true"
-PASS [["justifyfull",""]] "<div style=text-align:justify>foo</div>[bar]<p>extra": execCommand("justifyfull", false, "") return value 
-PASS [["justifyfull",""]] "<div style=text-align:justify>foo</div>[bar]<p>extra" checks for modifications to non-editable content 
-FAIL [["justifyfull",""]] "<div style=text-align:justify>foo</div>[bar]<p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<div style=\"text-align:justify\">foo<br>bar</div><p>extra</p>" but got "<div style=\"text-align:justify\">foo</div><p style=\"text-align:justify\">bar</p><p>extra</p>"
-PASS [["justifyfull",""]] "<div style=text-align:justify>foo</div>[bar]<p>extra" queryCommandIndeterm("justifyfull") before 
-PASS [["justifyfull",""]] "<div style=text-align:justify>foo</div>[bar]<p>extra" queryCommandState("justifyfull") before 
-FAIL [["justifyfull",""]] "<div style=text-align:justify>foo</div>[bar]<p>extra" queryCommandValue("justifyfull") before assert_equals: Wrong result returned expected "left" but got "false"
-PASS [["justifyfull",""]] "<div style=text-align:justify>foo</div>[bar]<p>extra" queryCommandIndeterm("justifyfull") after 
-PASS [["justifyfull",""]] "<div style=text-align:justify>foo</div>[bar]<p>extra" queryCommandState("justifyfull") after 
-FAIL [["justifyfull",""]] "<div style=text-align:justify>foo</div>[bar]<p>extra" queryCommandValue("justifyfull") after assert_equals: Wrong result returned expected "justify" but got "true"
-PASS [["justifyfull",""]] "[foo]<div style=text-align:justify>bar</div><p>extra": execCommand("justifyfull", false, "") return value 
-PASS [["justifyfull",""]] "[foo]<div style=text-align:justify>bar</div><p>extra" checks for modifications to non-editable content 
-FAIL [["justifyfull",""]] "[foo]<div style=text-align:justify>bar</div><p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<div style=\"text-align:justify\">foo<br>bar</div><p>extra</p>" but got "<p style=\"text-align:justify\">foo</p><div style=\"text-align:justify\">bar</div><p>extra</p>"
-PASS [["justifyfull",""]] "[foo]<div style=text-align:justify>bar</div><p>extra" queryCommandIndeterm("justifyfull") before 
-PASS [["justifyfull",""]] "[foo]<div style=text-align:justify>bar</div><p>extra" queryCommandState("justifyfull") before 
-FAIL [["justifyfull",""]] "[foo]<div style=text-align:justify>bar</div><p>extra" queryCommandValue("justifyfull") before assert_equals: Wrong result returned expected "left" but got "false"
-PASS [["justifyfull",""]] "[foo]<div style=text-align:justify>bar</div><p>extra" queryCommandIndeterm("justifyfull") after 
-PASS [["justifyfull",""]] "[foo]<div style=text-align:justify>bar</div><p>extra" queryCommandState("justifyfull") after 
-FAIL [["justifyfull",""]] "[foo]<div style=text-align:justify>bar</div><p>extra" queryCommandValue("justifyfull") after assert_equals: Wrong result returned expected "justify" but got "true"
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<div style=text-align:justify>foo</div>[bar]<div style=text-align:justify>baz</div><p>extra": execCommand("stylewithcss", false, "true") return value 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<div style=text-align:justify>foo</div>[bar]<div style=text-align:justify>baz</div><p>extra": execCommand("defaultparagraphseparator", false, "div") return value 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<div style=text-align:justify>foo</div>[bar]<div style=text-align:justify>baz</div><p>extra": execCommand("justifyfull", false, "") return value 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<div style=text-align:justify>foo</div>[bar]<div style=text-align:justify>baz</div><p>extra" checks for modifications to non-editable content 
-FAIL [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<div style=text-align:justify>foo</div>[bar]<div style=text-align:justify>baz</div><p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<div style=\"text-align:justify\">foo<br>bar<br>baz</div><p>extra</p>" but got "<div style=\"text-align:justify\">foo</div><div style=\"text-align:justify\">bar</div><div style=\"text-align:justify\">baz</div><p>extra</p>"
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<div style=text-align:justify>foo</div>[bar]<div style=text-align:justify>baz</div><p>extra" queryCommandIndeterm("stylewithcss") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<div style=text-align:justify>foo</div>[bar]<div style=text-align:justify>baz</div><p>extra" queryCommandState("stylewithcss") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<div style=text-align:justify>foo</div>[bar]<div style=text-align:justify>baz</div><p>extra" queryCommandValue("stylewithcss") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<div style=text-align:justify>foo</div>[bar]<div style=text-align:justify>baz</div><p>extra" queryCommandIndeterm("stylewithcss") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<div style=text-align:justify>foo</div>[bar]<div style=text-align:justify>baz</div><p>extra" queryCommandState("stylewithcss") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<div style=text-align:justify>foo</div>[bar]<div style=text-align:justify>baz</div><p>extra" queryCommandValue("stylewithcss") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<div style=text-align:justify>foo</div>[bar]<div style=text-align:justify>baz</div><p>extra" queryCommandIndeterm("defaultparagraphseparator") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<div style=text-align:justify>foo</div>[bar]<div style=text-align:justify>baz</div><p>extra" queryCommandState("defaultparagraphseparator") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<div style=text-align:justify>foo</div>[bar]<div style=text-align:justify>baz</div><p>extra" queryCommandValue("defaultparagraphseparator") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<div style=text-align:justify>foo</div>[bar]<div style=text-align:justify>baz</div><p>extra" queryCommandIndeterm("defaultparagraphseparator") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<div style=text-align:justify>foo</div>[bar]<div style=text-align:justify>baz</div><p>extra" queryCommandState("defaultparagraphseparator") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<div style=text-align:justify>foo</div>[bar]<div style=text-align:justify>baz</div><p>extra" queryCommandValue("defaultparagraphseparator") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<div style=text-align:justify>foo</div>[bar]<div style=text-align:justify>baz</div><p>extra" queryCommandIndeterm("justifyfull") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<div style=text-align:justify>foo</div>[bar]<div style=text-align:justify>baz</div><p>extra" queryCommandState("justifyfull") before 
-FAIL [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<div style=text-align:justify>foo</div>[bar]<div style=text-align:justify>baz</div><p>extra" queryCommandValue("justifyfull") before assert_equals: Wrong result returned expected "left" but got "false"
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<div style=text-align:justify>foo</div>[bar]<div style=text-align:justify>baz</div><p>extra" queryCommandIndeterm("justifyfull") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<div style=text-align:justify>foo</div>[bar]<div style=text-align:justify>baz</div><p>extra" queryCommandState("justifyfull") after 
-FAIL [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<div style=text-align:justify>foo</div>[bar]<div style=text-align:justify>baz</div><p>extra" queryCommandValue("justifyfull") after assert_equals: Wrong result returned expected "justify" but got "true"
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<div style=text-align:justify>foo</div>[bar]<div style=text-align:justify>baz</div><p>extra": execCommand("stylewithcss", false, "false") return value 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<div style=text-align:justify>foo</div>[bar]<div style=text-align:justify>baz</div><p>extra": execCommand("defaultparagraphseparator", false, "div") return value 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<div style=text-align:justify>foo</div>[bar]<div style=text-align:justify>baz</div><p>extra": execCommand("justifyfull", false, "") return value 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<div style=text-align:justify>foo</div>[bar]<div style=text-align:justify>baz</div><p>extra" checks for modifications to non-editable content 
-FAIL [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<div style=text-align:justify>foo</div>[bar]<div style=text-align:justify>baz</div><p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<div style=\"text-align:justify\">foo<br>bar<br>baz</div><p>extra</p>" but got "<div style=\"text-align:justify\">foo</div><div style=\"text-align:justify\">bar</div><div style=\"text-align:justify\">baz</div><p>extra</p>"
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<div style=text-align:justify>foo</div>[bar]<div style=text-align:justify>baz</div><p>extra" queryCommandIndeterm("stylewithcss") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<div style=text-align:justify>foo</div>[bar]<div style=text-align:justify>baz</div><p>extra" queryCommandState("stylewithcss") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<div style=text-align:justify>foo</div>[bar]<div style=text-align:justify>baz</div><p>extra" queryCommandValue("stylewithcss") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<div style=text-align:justify>foo</div>[bar]<div style=text-align:justify>baz</div><p>extra" queryCommandIndeterm("stylewithcss") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<div style=text-align:justify>foo</div>[bar]<div style=text-align:justify>baz</div><p>extra" queryCommandState("stylewithcss") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<div style=text-align:justify>foo</div>[bar]<div style=text-align:justify>baz</div><p>extra" queryCommandValue("stylewithcss") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<div style=text-align:justify>foo</div>[bar]<div style=text-align:justify>baz</div><p>extra" queryCommandIndeterm("defaultparagraphseparator") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<div style=text-align:justify>foo</div>[bar]<div style=text-align:justify>baz</div><p>extra" queryCommandState("defaultparagraphseparator") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<div style=text-align:justify>foo</div>[bar]<div style=text-align:justify>baz</div><p>extra" queryCommandValue("defaultparagraphseparator") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<div style=text-align:justify>foo</div>[bar]<div style=text-align:justify>baz</div><p>extra" queryCommandIndeterm("defaultparagraphseparator") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<div style=text-align:justify>foo</div>[bar]<div style=text-align:justify>baz</div><p>extra" queryCommandState("defaultparagraphseparator") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<div style=text-align:justify>foo</div>[bar]<div style=text-align:justify>baz</div><p>extra" queryCommandValue("defaultparagraphseparator") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<div style=text-align:justify>foo</div>[bar]<div style=text-align:justify>baz</div><p>extra" queryCommandIndeterm("justifyfull") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<div style=text-align:justify>foo</div>[bar]<div style=text-align:justify>baz</div><p>extra" queryCommandState("justifyfull") before 
-FAIL [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<div style=text-align:justify>foo</div>[bar]<div style=text-align:justify>baz</div><p>extra" queryCommandValue("justifyfull") before assert_equals: Wrong result returned expected "left" but got "false"
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<div style=text-align:justify>foo</div>[bar]<div style=text-align:justify>baz</div><p>extra" queryCommandIndeterm("justifyfull") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<div style=text-align:justify>foo</div>[bar]<div style=text-align:justify>baz</div><p>extra" queryCommandState("justifyfull") after 
-FAIL [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<div style=text-align:justify>foo</div>[bar]<div style=text-align:justify>baz</div><p>extra" queryCommandValue("justifyfull") after assert_equals: Wrong result returned expected "justify" but got "true"
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<div style=text-align:justify>foo</div>[bar]<div style=text-align:justify>baz</div><p>extra": execCommand("stylewithcss", false, "true") return value 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<div style=text-align:justify>foo</div>[bar]<div style=text-align:justify>baz</div><p>extra": execCommand("defaultparagraphseparator", false, "p") return value 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<div style=text-align:justify>foo</div>[bar]<div style=text-align:justify>baz</div><p>extra": execCommand("justifyfull", false, "") return value 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<div style=text-align:justify>foo</div>[bar]<div style=text-align:justify>baz</div><p>extra" checks for modifications to non-editable content 
-FAIL [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<div style=text-align:justify>foo</div>[bar]<div style=text-align:justify>baz</div><p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<div style=\"text-align:justify\">foo<br>bar<br>baz</div><p>extra</p>" but got "<div style=\"text-align:justify\">foo</div><p style=\"text-align:justify\">bar</p><div style=\"text-align:justify\">baz</div><p>extra</p>"
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<div style=text-align:justify>foo</div>[bar]<div style=text-align:justify>baz</div><p>extra" queryCommandIndeterm("stylewithcss") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<div style=text-align:justify>foo</div>[bar]<div style=text-align:justify>baz</div><p>extra" queryCommandState("stylewithcss") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<div style=text-align:justify>foo</div>[bar]<div style=text-align:justify>baz</div><p>extra" queryCommandValue("stylewithcss") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<div style=text-align:justify>foo</div>[bar]<div style=text-align:justify>baz</div><p>extra" queryCommandIndeterm("stylewithcss") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<div style=text-align:justify>foo</div>[bar]<div style=text-align:justify>baz</div><p>extra" queryCommandState("stylewithcss") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<div style=text-align:justify>foo</div>[bar]<div style=text-align:justify>baz</div><p>extra" queryCommandValue("stylewithcss") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<div style=text-align:justify>foo</div>[bar]<div style=text-align:justify>baz</div><p>extra" queryCommandIndeterm("defaultparagraphseparator") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<div style=text-align:justify>foo</div>[bar]<div style=text-align:justify>baz</div><p>extra" queryCommandState("defaultparagraphseparator") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<div style=text-align:justify>foo</div>[bar]<div style=text-align:justify>baz</div><p>extra" queryCommandValue("defaultparagraphseparator") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<div style=text-align:justify>foo</div>[bar]<div style=text-align:justify>baz</div><p>extra" queryCommandIndeterm("defaultparagraphseparator") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<div style=text-align:justify>foo</div>[bar]<div style=text-align:justify>baz</div><p>extra" queryCommandState("defaultparagraphseparator") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<div style=text-align:justify>foo</div>[bar]<div style=text-align:justify>baz</div><p>extra" queryCommandValue("defaultparagraphseparator") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<div style=text-align:justify>foo</div>[bar]<div style=text-align:justify>baz</div><p>extra" queryCommandIndeterm("justifyfull") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<div style=text-align:justify>foo</div>[bar]<div style=text-align:justify>baz</div><p>extra" queryCommandState("justifyfull") before 
-FAIL [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<div style=text-align:justify>foo</div>[bar]<div style=text-align:justify>baz</div><p>extra" queryCommandValue("justifyfull") before assert_equals: Wrong result returned expected "left" but got "false"
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<div style=text-align:justify>foo</div>[bar]<div style=text-align:justify>baz</div><p>extra" queryCommandIndeterm("justifyfull") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<div style=text-align:justify>foo</div>[bar]<div style=text-align:justify>baz</div><p>extra" queryCommandState("justifyfull") after 
-FAIL [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<div style=text-align:justify>foo</div>[bar]<div style=text-align:justify>baz</div><p>extra" queryCommandValue("justifyfull") after assert_equals: Wrong result returned expected "justify" but got "true"
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<div style=text-align:justify>foo</div>[bar]<div style=text-align:justify>baz</div><p>extra": execCommand("stylewithcss", false, "false") return value 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<div style=text-align:justify>foo</div>[bar]<div style=text-align:justify>baz</div><p>extra": execCommand("defaultparagraphseparator", false, "p") return value 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<div style=text-align:justify>foo</div>[bar]<div style=text-align:justify>baz</div><p>extra": execCommand("justifyfull", false, "") return value 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<div style=text-align:justify>foo</div>[bar]<div style=text-align:justify>baz</div><p>extra" checks for modifications to non-editable content 
-FAIL [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<div style=text-align:justify>foo</div>[bar]<div style=text-align:justify>baz</div><p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<div style=\"text-align:justify\">foo<br>bar<br>baz</div><p>extra</p>" but got "<div style=\"text-align:justify\">foo</div><p style=\"text-align:justify\">bar</p><div style=\"text-align:justify\">baz</div><p>extra</p>"
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<div style=text-align:justify>foo</div>[bar]<div style=text-align:justify>baz</div><p>extra" queryCommandIndeterm("stylewithcss") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<div style=text-align:justify>foo</div>[bar]<div style=text-align:justify>baz</div><p>extra" queryCommandState("stylewithcss") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<div style=text-align:justify>foo</div>[bar]<div style=text-align:justify>baz</div><p>extra" queryCommandValue("stylewithcss") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<div style=text-align:justify>foo</div>[bar]<div style=text-align:justify>baz</div><p>extra" queryCommandIndeterm("stylewithcss") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<div style=text-align:justify>foo</div>[bar]<div style=text-align:justify>baz</div><p>extra" queryCommandState("stylewithcss") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<div style=text-align:justify>foo</div>[bar]<div style=text-align:justify>baz</div><p>extra" queryCommandValue("stylewithcss") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<div style=text-align:justify>foo</div>[bar]<div style=text-align:justify>baz</div><p>extra" queryCommandIndeterm("defaultparagraphseparator") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<div style=text-align:justify>foo</div>[bar]<div style=text-align:justify>baz</div><p>extra" queryCommandState("defaultparagraphseparator") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<div style=text-align:justify>foo</div>[bar]<div style=text-align:justify>baz</div><p>extra" queryCommandValue("defaultparagraphseparator") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<div style=text-align:justify>foo</div>[bar]<div style=text-align:justify>baz</div><p>extra" queryCommandIndeterm("defaultparagraphseparator") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<div style=text-align:justify>foo</div>[bar]<div style=text-align:justify>baz</div><p>extra" queryCommandState("defaultparagraphseparator") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<div style=text-align:justify>foo</div>[bar]<div style=text-align:justify>baz</div><p>extra" queryCommandValue("defaultparagraphseparator") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<div style=text-align:justify>foo</div>[bar]<div style=text-align:justify>baz</div><p>extra" queryCommandIndeterm("justifyfull") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<div style=text-align:justify>foo</div>[bar]<div style=text-align:justify>baz</div><p>extra" queryCommandState("justifyfull") before 
-FAIL [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<div style=text-align:justify>foo</div>[bar]<div style=text-align:justify>baz</div><p>extra" queryCommandValue("justifyfull") before assert_equals: Wrong result returned expected "left" but got "false"
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<div style=text-align:justify>foo</div>[bar]<div style=text-align:justify>baz</div><p>extra" queryCommandIndeterm("justifyfull") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<div style=text-align:justify>foo</div>[bar]<div style=text-align:justify>baz</div><p>extra" queryCommandState("justifyfull") after 
-FAIL [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<div style=text-align:justify>foo</div>[bar]<div style=text-align:justify>baz</div><p>extra" queryCommandValue("justifyfull") after assert_equals: Wrong result returned expected "justify" but got "true"
-PASS [["justifyfull",""]] "<div style=text-align:justify><p>foo</div><p>[bar]<p>extra": execCommand("justifyfull", false, "") return value 
-PASS [["justifyfull",""]] "<div style=text-align:justify><p>foo</div><p>[bar]<p>extra" checks for modifications to non-editable content 
-FAIL [["justifyfull",""]] "<div style=text-align:justify><p>foo</div><p>[bar]<p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<div style=\"text-align:justify\"><p>foo</p><p>bar</p></div><p>extra</p>" but got "<div style=\"text-align:justify\"><p>foo</p></div><p style=\"text-align:justify\">bar</p><p>extra</p>"
-PASS [["justifyfull",""]] "<div style=text-align:justify><p>foo</div><p>[bar]<p>extra" queryCommandIndeterm("justifyfull") before 
-PASS [["justifyfull",""]] "<div style=text-align:justify><p>foo</div><p>[bar]<p>extra" queryCommandState("justifyfull") before 
-FAIL [["justifyfull",""]] "<div style=text-align:justify><p>foo</div><p>[bar]<p>extra" queryCommandValue("justifyfull") before assert_equals: Wrong result returned expected "left" but got "false"
-PASS [["justifyfull",""]] "<div style=text-align:justify><p>foo</div><p>[bar]<p>extra" queryCommandIndeterm("justifyfull") after 
-PASS [["justifyfull",""]] "<div style=text-align:justify><p>foo</div><p>[bar]<p>extra" queryCommandState("justifyfull") after 
-FAIL [["justifyfull",""]] "<div style=text-align:justify><p>foo</div><p>[bar]<p>extra" queryCommandValue("justifyfull") after assert_equals: Wrong result returned expected "justify" but got "true"
-PASS [["justifyfull",""]] "<p>[foo]<div style=text-align:justify><p>bar</div><p>extra": execCommand("justifyfull", false, "") return value 
-PASS [["justifyfull",""]] "<p>[foo]<div style=text-align:justify><p>bar</div><p>extra" checks for modifications to non-editable content 
-FAIL [["justifyfull",""]] "<p>[foo]<div style=text-align:justify><p>bar</div><p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<div style=\"text-align:justify\"><p>foo</p><p>bar</p></div><p>extra</p>" but got "<p style=\"text-align:justify\">foo</p><div style=\"text-align:justify\"><p>bar</p></div><p>extra</p>"
-PASS [["justifyfull",""]] "<p>[foo]<div style=text-align:justify><p>bar</div><p>extra" queryCommandIndeterm("justifyfull") before 
-PASS [["justifyfull",""]] "<p>[foo]<div style=text-align:justify><p>bar</div><p>extra" queryCommandState("justifyfull") before 
-FAIL [["justifyfull",""]] "<p>[foo]<div style=text-align:justify><p>bar</div><p>extra" queryCommandValue("justifyfull") before assert_equals: Wrong result returned expected "left" but got "false"
-PASS [["justifyfull",""]] "<p>[foo]<div style=text-align:justify><p>bar</div><p>extra" queryCommandIndeterm("justifyfull") after 
-PASS [["justifyfull",""]] "<p>[foo]<div style=text-align:justify><p>bar</div><p>extra" queryCommandState("justifyfull") after 
-FAIL [["justifyfull",""]] "<p>[foo]<div style=text-align:justify><p>bar</div><p>extra" queryCommandValue("justifyfull") after assert_equals: Wrong result returned expected "justify" but got "true"
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<div style=text-align:justify><p>foo</div><p>[bar]<div style=text-align:justify><p>baz</div><p>extra": execCommand("stylewithcss", false, "true") return value 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<div style=text-align:justify><p>foo</div><p>[bar]<div style=text-align:justify><p>baz</div><p>extra": execCommand("defaultparagraphseparator", false, "div") return value 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<div style=text-align:justify><p>foo</div><p>[bar]<div style=text-align:justify><p>baz</div><p>extra": execCommand("justifyfull", false, "") return value 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<div style=text-align:justify><p>foo</div><p>[bar]<div style=text-align:justify><p>baz</div><p>extra" checks for modifications to non-editable content 
-FAIL [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<div style=text-align:justify><p>foo</div><p>[bar]<div style=text-align:justify><p>baz</div><p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<div style=\"text-align:justify\"><p>foo</p><p>bar</p><p>baz</p></div><p>extra</p>" but got "<div style=\"text-align:justify\"><p>foo</p></div><p style=\"text-align:justify\">bar</p><div style=\"text-align:justify\"><p>baz</p></div><p>extra</p>"
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<div style=text-align:justify><p>foo</div><p>[bar]<div style=text-align:justify><p>baz</div><p>extra" queryCommandIndeterm("stylewithcss") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<div style=text-align:justify><p>foo</div><p>[bar]<div style=text-align:justify><p>baz</div><p>extra" queryCommandState("stylewithcss") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<div style=text-align:justify><p>foo</div><p>[bar]<div style=text-align:justify><p>baz</div><p>extra" queryCommandValue("stylewithcss") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<div style=text-align:justify><p>foo</div><p>[bar]<div style=text-align:justify><p>baz</div><p>extra" queryCommandIndeterm("stylewithcss") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<div style=text-align:justify><p>foo</div><p>[bar]<div style=text-align:justify><p>baz</div><p>extra" queryCommandState("stylewithcss") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<div style=text-align:justify><p>foo</div><p>[bar]<div style=text-align:justify><p>baz</div><p>extra" queryCommandValue("stylewithcss") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<div style=text-align:justify><p>foo</div><p>[bar]<div style=text-align:justify><p>baz</div><p>extra" queryCommandIndeterm("defaultparagraphseparator") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<div style=text-align:justify><p>foo</div><p>[bar]<div style=text-align:justify><p>baz</div><p>extra" queryCommandState("defaultparagraphseparator") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<div style=text-align:justify><p>foo</div><p>[bar]<div style=text-align:justify><p>baz</div><p>extra" queryCommandValue("defaultparagraphseparator") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<div style=text-align:justify><p>foo</div><p>[bar]<div style=text-align:justify><p>baz</div><p>extra" queryCommandIndeterm("defaultparagraphseparator") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<div style=text-align:justify><p>foo</div><p>[bar]<div style=text-align:justify><p>baz</div><p>extra" queryCommandState("defaultparagraphseparator") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<div style=text-align:justify><p>foo</div><p>[bar]<div style=text-align:justify><p>baz</div><p>extra" queryCommandValue("defaultparagraphseparator") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<div style=text-align:justify><p>foo</div><p>[bar]<div style=text-align:justify><p>baz</div><p>extra" queryCommandIndeterm("justifyfull") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<div style=text-align:justify><p>foo</div><p>[bar]<div style=text-align:justify><p>baz</div><p>extra" queryCommandState("justifyfull") before 
-FAIL [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<div style=text-align:justify><p>foo</div><p>[bar]<div style=text-align:justify><p>baz</div><p>extra" queryCommandValue("justifyfull") before assert_equals: Wrong result returned expected "left" but got "false"
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<div style=text-align:justify><p>foo</div><p>[bar]<div style=text-align:justify><p>baz</div><p>extra" queryCommandIndeterm("justifyfull") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<div style=text-align:justify><p>foo</div><p>[bar]<div style=text-align:justify><p>baz</div><p>extra" queryCommandState("justifyfull") after 
-FAIL [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<div style=text-align:justify><p>foo</div><p>[bar]<div style=text-align:justify><p>baz</div><p>extra" queryCommandValue("justifyfull") after assert_equals: Wrong result returned expected "justify" but got "true"
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<div style=text-align:justify><p>foo</div><p>[bar]<div style=text-align:justify><p>baz</div><p>extra": execCommand("stylewithcss", false, "false") return value 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<div style=text-align:justify><p>foo</div><p>[bar]<div style=text-align:justify><p>baz</div><p>extra": execCommand("defaultparagraphseparator", false, "div") return value 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<div style=text-align:justify><p>foo</div><p>[bar]<div style=text-align:justify><p>baz</div><p>extra": execCommand("justifyfull", false, "") return value 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<div style=text-align:justify><p>foo</div><p>[bar]<div style=text-align:justify><p>baz</div><p>extra" checks for modifications to non-editable content 
-FAIL [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<div style=text-align:justify><p>foo</div><p>[bar]<div style=text-align:justify><p>baz</div><p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<div style=\"text-align:justify\"><p>foo</p><p>bar</p><p>baz</p></div><p>extra</p>" but got "<div style=\"text-align:justify\"><p>foo</p></div><p style=\"text-align:justify\">bar</p><div style=\"text-align:justify\"><p>baz</p></div><p>extra</p>"
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<div style=text-align:justify><p>foo</div><p>[bar]<div style=text-align:justify><p>baz</div><p>extra" queryCommandIndeterm("stylewithcss") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<div style=text-align:justify><p>foo</div><p>[bar]<div style=text-align:justify><p>baz</div><p>extra" queryCommandState("stylewithcss") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<div style=text-align:justify><p>foo</div><p>[bar]<div style=text-align:justify><p>baz</div><p>extra" queryCommandValue("stylewithcss") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<div style=text-align:justify><p>foo</div><p>[bar]<div style=text-align:justify><p>baz</div><p>extra" queryCommandIndeterm("stylewithcss") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<div style=text-align:justify><p>foo</div><p>[bar]<div style=text-align:justify><p>baz</div><p>extra" queryCommandState("stylewithcss") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<div style=text-align:justify><p>foo</div><p>[bar]<div style=text-align:justify><p>baz</div><p>extra" queryCommandValue("stylewithcss") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<div style=text-align:justify><p>foo</div><p>[bar]<div style=text-align:justify><p>baz</div><p>extra" queryCommandIndeterm("defaultparagraphseparator") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<div style=text-align:justify><p>foo</div><p>[bar]<div style=text-align:justify><p>baz</div><p>extra" queryCommandState("defaultparagraphseparator") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<div style=text-align:justify><p>foo</div><p>[bar]<div style=text-align:justify><p>baz</div><p>extra" queryCommandValue("defaultparagraphseparator") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<div style=text-align:justify><p>foo</div><p>[bar]<div style=text-align:justify><p>baz</div><p>extra" queryCommandIndeterm("defaultparagraphseparator") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<div style=text-align:justify><p>foo</div><p>[bar]<div style=text-align:justify><p>baz</div><p>extra" queryCommandState("defaultparagraphseparator") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<div style=text-align:justify><p>foo</div><p>[bar]<div style=text-align:justify><p>baz</div><p>extra" queryCommandValue("defaultparagraphseparator") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<div style=text-align:justify><p>foo</div><p>[bar]<div style=text-align:justify><p>baz</div><p>extra" queryCommandIndeterm("justifyfull") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<div style=text-align:justify><p>foo</div><p>[bar]<div style=text-align:justify><p>baz</div><p>extra" queryCommandState("justifyfull") before 
-FAIL [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<div style=text-align:justify><p>foo</div><p>[bar]<div style=text-align:justify><p>baz</div><p>extra" queryCommandValue("justifyfull") before assert_equals: Wrong result returned expected "left" but got "false"
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<div style=text-align:justify><p>foo</div><p>[bar]<div style=text-align:justify><p>baz</div><p>extra" queryCommandIndeterm("justifyfull") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<div style=text-align:justify><p>foo</div><p>[bar]<div style=text-align:justify><p>baz</div><p>extra" queryCommandState("justifyfull") after 
-FAIL [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<div style=text-align:justify><p>foo</div><p>[bar]<div style=text-align:justify><p>baz</div><p>extra" queryCommandValue("justifyfull") after assert_equals: Wrong result returned expected "justify" but got "true"
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<div style=text-align:justify><p>foo</div><p>[bar]<div style=text-align:justify><p>baz</div><p>extra": execCommand("stylewithcss", false, "true") return value 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<div style=text-align:justify><p>foo</div><p>[bar]<div style=text-align:justify><p>baz</div><p>extra": execCommand("defaultparagraphseparator", false, "p") return value 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<div style=text-align:justify><p>foo</div><p>[bar]<div style=text-align:justify><p>baz</div><p>extra": execCommand("justifyfull", false, "") return value 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<div style=text-align:justify><p>foo</div><p>[bar]<div style=text-align:justify><p>baz</div><p>extra" checks for modifications to non-editable content 
-FAIL [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<div style=text-align:justify><p>foo</div><p>[bar]<div style=text-align:justify><p>baz</div><p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<div style=\"text-align:justify\"><p>foo</p><p>bar</p><p>baz</p></div><p>extra</p>" but got "<div style=\"text-align:justify\"><p>foo</p></div><p style=\"text-align:justify\">bar</p><div style=\"text-align:justify\"><p>baz</p></div><p>extra</p>"
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<div style=text-align:justify><p>foo</div><p>[bar]<div style=text-align:justify><p>baz</div><p>extra" queryCommandIndeterm("stylewithcss") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<div style=text-align:justify><p>foo</div><p>[bar]<div style=text-align:justify><p>baz</div><p>extra" queryCommandState("stylewithcss") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<div style=text-align:justify><p>foo</div><p>[bar]<div style=text-align:justify><p>baz</div><p>extra" queryCommandValue("stylewithcss") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<div style=text-align:justify><p>foo</div><p>[bar]<div style=text-align:justify><p>baz</div><p>extra" queryCommandIndeterm("stylewithcss") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<div style=text-align:justify><p>foo</div><p>[bar]<div style=text-align:justify><p>baz</div><p>extra" queryCommandState("stylewithcss") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<div style=text-align:justify><p>foo</div><p>[bar]<div style=text-align:justify><p>baz</div><p>extra" queryCommandValue("stylewithcss") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<div style=text-align:justify><p>foo</div><p>[bar]<div style=text-align:justify><p>baz</div><p>extra" queryCommandIndeterm("defaultparagraphseparator") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<div style=text-align:justify><p>foo</div><p>[bar]<div style=text-align:justify><p>baz</div><p>extra" queryCommandState("defaultparagraphseparator") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<div style=text-align:justify><p>foo</div><p>[bar]<div style=text-align:justify><p>baz</div><p>extra" queryCommandValue("defaultparagraphseparator") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<div style=text-align:justify><p>foo</div><p>[bar]<div style=text-align:justify><p>baz</div><p>extra" queryCommandIndeterm("defaultparagraphseparator") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<div style=text-align:justify><p>foo</div><p>[bar]<div style=text-align:justify><p>baz</div><p>extra" queryCommandState("defaultparagraphseparator") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<div style=text-align:justify><p>foo</div><p>[bar]<div style=text-align:justify><p>baz</div><p>extra" queryCommandValue("defaultparagraphseparator") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<div style=text-align:justify><p>foo</div><p>[bar]<div style=text-align:justify><p>baz</div><p>extra" queryCommandIndeterm("justifyfull") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<div style=text-align:justify><p>foo</div><p>[bar]<div style=text-align:justify><p>baz</div><p>extra" queryCommandState("justifyfull") before 
-FAIL [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<div style=text-align:justify><p>foo</div><p>[bar]<div style=text-align:justify><p>baz</div><p>extra" queryCommandValue("justifyfull") before assert_equals: Wrong result returned expected "left" but got "false"
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<div style=text-align:justify><p>foo</div><p>[bar]<div style=text-align:justify><p>baz</div><p>extra" queryCommandIndeterm("justifyfull") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<div style=text-align:justify><p>foo</div><p>[bar]<div style=text-align:justify><p>baz</div><p>extra" queryCommandState("justifyfull") after 
-FAIL [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<div style=text-align:justify><p>foo</div><p>[bar]<div style=text-align:justify><p>baz</div><p>extra" queryCommandValue("justifyfull") after assert_equals: Wrong result returned expected "justify" but got "true"
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<div style=text-align:justify><p>foo</div><p>[bar]<div style=text-align:justify><p>baz</div><p>extra": execCommand("stylewithcss", false, "false") return value 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<div style=text-align:justify><p>foo</div><p>[bar]<div style=text-align:justify><p>baz</div><p>extra": execCommand("defaultparagraphseparator", false, "p") return value 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<div style=text-align:justify><p>foo</div><p>[bar]<div style=text-align:justify><p>baz</div><p>extra": execCommand("justifyfull", false, "") return value 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<div style=text-align:justify><p>foo</div><p>[bar]<div style=text-align:justify><p>baz</div><p>extra" checks for modifications to non-editable content 
-FAIL [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<div style=text-align:justify><p>foo</div><p>[bar]<div style=text-align:justify><p>baz</div><p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<div style=\"text-align:justify\"><p>foo</p><p>bar</p><p>baz</p></div><p>extra</p>" but got "<div style=\"text-align:justify\"><p>foo</p></div><p style=\"text-align:justify\">bar</p><div style=\"text-align:justify\"><p>baz</p></div><p>extra</p>"
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<div style=text-align:justify><p>foo</div><p>[bar]<div style=text-align:justify><p>baz</div><p>extra" queryCommandIndeterm("stylewithcss") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<div style=text-align:justify><p>foo</div><p>[bar]<div style=text-align:justify><p>baz</div><p>extra" queryCommandState("stylewithcss") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<div style=text-align:justify><p>foo</div><p>[bar]<div style=text-align:justify><p>baz</div><p>extra" queryCommandValue("stylewithcss") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<div style=text-align:justify><p>foo</div><p>[bar]<div style=text-align:justify><p>baz</div><p>extra" queryCommandIndeterm("stylewithcss") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<div style=text-align:justify><p>foo</div><p>[bar]<div style=text-align:justify><p>baz</div><p>extra" queryCommandState("stylewithcss") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<div style=text-align:justify><p>foo</div><p>[bar]<div style=text-align:justify><p>baz</div><p>extra" queryCommandValue("stylewithcss") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<div style=text-align:justify><p>foo</div><p>[bar]<div style=text-align:justify><p>baz</div><p>extra" queryCommandIndeterm("defaultparagraphseparator") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<div style=text-align:justify><p>foo</div><p>[bar]<div style=text-align:justify><p>baz</div><p>extra" queryCommandState("defaultparagraphseparator") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<div style=text-align:justify><p>foo</div><p>[bar]<div style=text-align:justify><p>baz</div><p>extra" queryCommandValue("defaultparagraphseparator") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<div style=text-align:justify><p>foo</div><p>[bar]<div style=text-align:justify><p>baz</div><p>extra" queryCommandIndeterm("defaultparagraphseparator") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<div style=text-align:justify><p>foo</div><p>[bar]<div style=text-align:justify><p>baz</div><p>extra" queryCommandState("defaultparagraphseparator") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<div style=text-align:justify><p>foo</div><p>[bar]<div style=text-align:justify><p>baz</div><p>extra" queryCommandValue("defaultparagraphseparator") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<div style=text-align:justify><p>foo</div><p>[bar]<div style=text-align:justify><p>baz</div><p>extra" queryCommandIndeterm("justifyfull") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<div style=text-align:justify><p>foo</div><p>[bar]<div style=text-align:justify><p>baz</div><p>extra" queryCommandState("justifyfull") before 
-FAIL [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<div style=text-align:justify><p>foo</div><p>[bar]<div style=text-align:justify><p>baz</div><p>extra" queryCommandValue("justifyfull") before assert_equals: Wrong result returned expected "left" but got "false"
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<div style=text-align:justify><p>foo</div><p>[bar]<div style=text-align:justify><p>baz</div><p>extra" queryCommandIndeterm("justifyfull") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<div style=text-align:justify><p>foo</div><p>[bar]<div style=text-align:justify><p>baz</div><p>extra" queryCommandState("justifyfull") after 
-FAIL [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<div style=text-align:justify><p>foo</div><p>[bar]<div style=text-align:justify><p>baz</div><p>extra" queryCommandValue("justifyfull") after assert_equals: Wrong result returned expected "justify" but got "true"
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<p align=justify>foo<p>[bar]<p>extra": execCommand("stylewithcss", false, "true") return value 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<p align=justify>foo<p>[bar]<p>extra": execCommand("defaultparagraphseparator", false, "div") return value 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<p align=justify>foo<p>[bar]<p>extra": execCommand("justifyfull", false, "") return value 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<p align=justify>foo<p>[bar]<p>extra" checks for modifications to non-editable content 
-FAIL [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<p align=justify>foo<p>[bar]<p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<p align=\"justify\">foo</p><div style=\"text-align:justify\"><p>bar</p></div><p>extra</p>" but got "<p align=\"justify\">foo</p><p style=\"text-align:justify\">bar</p><p>extra</p>"
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<p align=justify>foo<p>[bar]<p>extra" queryCommandIndeterm("stylewithcss") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<p align=justify>foo<p>[bar]<p>extra" queryCommandState("stylewithcss") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<p align=justify>foo<p>[bar]<p>extra" queryCommandValue("stylewithcss") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<p align=justify>foo<p>[bar]<p>extra" queryCommandIndeterm("stylewithcss") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<p align=justify>foo<p>[bar]<p>extra" queryCommandState("stylewithcss") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<p align=justify>foo<p>[bar]<p>extra" queryCommandValue("stylewithcss") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<p align=justify>foo<p>[bar]<p>extra" queryCommandIndeterm("defaultparagraphseparator") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<p align=justify>foo<p>[bar]<p>extra" queryCommandState("defaultparagraphseparator") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<p align=justify>foo<p>[bar]<p>extra" queryCommandValue("defaultparagraphseparator") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<p align=justify>foo<p>[bar]<p>extra" queryCommandIndeterm("defaultparagraphseparator") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<p align=justify>foo<p>[bar]<p>extra" queryCommandState("defaultparagraphseparator") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<p align=justify>foo<p>[bar]<p>extra" queryCommandValue("defaultparagraphseparator") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<p align=justify>foo<p>[bar]<p>extra" queryCommandIndeterm("justifyfull") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<p align=justify>foo<p>[bar]<p>extra" queryCommandState("justifyfull") before 
-FAIL [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<p align=justify>foo<p>[bar]<p>extra" queryCommandValue("justifyfull") before assert_equals: Wrong result returned expected "left" but got "false"
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<p align=justify>foo<p>[bar]<p>extra" queryCommandIndeterm("justifyfull") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<p align=justify>foo<p>[bar]<p>extra" queryCommandState("justifyfull") after 
-FAIL [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<p align=justify>foo<p>[bar]<p>extra" queryCommandValue("justifyfull") after assert_equals: Wrong result returned expected "justify" but got "true"
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<p align=justify>foo<p>[bar]<p>extra": execCommand("stylewithcss", false, "false") return value 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<p align=justify>foo<p>[bar]<p>extra": execCommand("defaultparagraphseparator", false, "div") return value 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<p align=justify>foo<p>[bar]<p>extra": execCommand("justifyfull", false, "") return value 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<p align=justify>foo<p>[bar]<p>extra" checks for modifications to non-editable content 
-FAIL [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<p align=justify>foo<p>[bar]<p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<p align=\"justify\">foo</p><div style=\"text-align:justify\"><p>bar</p></div><p>extra</p>" but got "<p align=\"justify\">foo</p><p style=\"text-align:justify\">bar</p><p>extra</p>"
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<p align=justify>foo<p>[bar]<p>extra" queryCommandIndeterm("stylewithcss") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<p align=justify>foo<p>[bar]<p>extra" queryCommandState("stylewithcss") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<p align=justify>foo<p>[bar]<p>extra" queryCommandValue("stylewithcss") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<p align=justify>foo<p>[bar]<p>extra" queryCommandIndeterm("stylewithcss") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<p align=justify>foo<p>[bar]<p>extra" queryCommandState("stylewithcss") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<p align=justify>foo<p>[bar]<p>extra" queryCommandValue("stylewithcss") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<p align=justify>foo<p>[bar]<p>extra" queryCommandIndeterm("defaultparagraphseparator") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<p align=justify>foo<p>[bar]<p>extra" queryCommandState("defaultparagraphseparator") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<p align=justify>foo<p>[bar]<p>extra" queryCommandValue("defaultparagraphseparator") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<p align=justify>foo<p>[bar]<p>extra" queryCommandIndeterm("defaultparagraphseparator") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<p align=justify>foo<p>[bar]<p>extra" queryCommandState("defaultparagraphseparator") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<p align=justify>foo<p>[bar]<p>extra" queryCommandValue("defaultparagraphseparator") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<p align=justify>foo<p>[bar]<p>extra" queryCommandIndeterm("justifyfull") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<p align=justify>foo<p>[bar]<p>extra" queryCommandState("justifyfull") before 
-FAIL [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<p align=justify>foo<p>[bar]<p>extra" queryCommandValue("justifyfull") before assert_equals: Wrong result returned expected "left" but got "false"
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<p align=justify>foo<p>[bar]<p>extra" queryCommandIndeterm("justifyfull") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<p align=justify>foo<p>[bar]<p>extra" queryCommandState("justifyfull") after 
-FAIL [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<p align=justify>foo<p>[bar]<p>extra" queryCommandValue("justifyfull") after assert_equals: Wrong result returned expected "justify" but got "true"
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<p align=justify>foo<p>[bar]<p>extra": execCommand("stylewithcss", false, "true") return value 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<p align=justify>foo<p>[bar]<p>extra": execCommand("defaultparagraphseparator", false, "p") return value 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<p align=justify>foo<p>[bar]<p>extra": execCommand("justifyfull", false, "") return value 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<p align=justify>foo<p>[bar]<p>extra" checks for modifications to non-editable content 
-FAIL [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<p align=justify>foo<p>[bar]<p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<p align=\"justify\">foo</p><div style=\"text-align:justify\"><p>bar</p></div><p>extra</p>" but got "<p align=\"justify\">foo</p><p style=\"text-align:justify\">bar</p><p>extra</p>"
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<p align=justify>foo<p>[bar]<p>extra" queryCommandIndeterm("stylewithcss") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<p align=justify>foo<p>[bar]<p>extra" queryCommandState("stylewithcss") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<p align=justify>foo<p>[bar]<p>extra" queryCommandValue("stylewithcss") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<p align=justify>foo<p>[bar]<p>extra" queryCommandIndeterm("stylewithcss") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<p align=justify>foo<p>[bar]<p>extra" queryCommandState("stylewithcss") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<p align=justify>foo<p>[bar]<p>extra" queryCommandValue("stylewithcss") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<p align=justify>foo<p>[bar]<p>extra" queryCommandIndeterm("defaultparagraphseparator") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<p align=justify>foo<p>[bar]<p>extra" queryCommandState("defaultparagraphseparator") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<p align=justify>foo<p>[bar]<p>extra" queryCommandValue("defaultparagraphseparator") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<p align=justify>foo<p>[bar]<p>extra" queryCommandIndeterm("defaultparagraphseparator") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<p align=justify>foo<p>[bar]<p>extra" queryCommandState("defaultparagraphseparator") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<p align=justify>foo<p>[bar]<p>extra" queryCommandValue("defaultparagraphseparator") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<p align=justify>foo<p>[bar]<p>extra" queryCommandIndeterm("justifyfull") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<p align=justify>foo<p>[bar]<p>extra" queryCommandState("justifyfull") before 
-FAIL [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<p align=justify>foo<p>[bar]<p>extra" queryCommandValue("justifyfull") before assert_equals: Wrong result returned expected "left" but got "false"
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<p align=justify>foo<p>[bar]<p>extra" queryCommandIndeterm("justifyfull") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<p align=justify>foo<p>[bar]<p>extra" queryCommandState("justifyfull") after 
-FAIL [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<p align=justify>foo<p>[bar]<p>extra" queryCommandValue("justifyfull") after assert_equals: Wrong result returned expected "justify" but got "true"
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<p align=justify>foo<p>[bar]<p>extra": execCommand("stylewithcss", false, "false") return value 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<p align=justify>foo<p>[bar]<p>extra": execCommand("defaultparagraphseparator", false, "p") return value 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<p align=justify>foo<p>[bar]<p>extra": execCommand("justifyfull", false, "") return value 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<p align=justify>foo<p>[bar]<p>extra" checks for modifications to non-editable content 
-FAIL [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<p align=justify>foo<p>[bar]<p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<p align=\"justify\">foo</p><div style=\"text-align:justify\"><p>bar</p></div><p>extra</p>" but got "<p align=\"justify\">foo</p><p style=\"text-align:justify\">bar</p><p>extra</p>"
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<p align=justify>foo<p>[bar]<p>extra" queryCommandIndeterm("stylewithcss") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<p align=justify>foo<p>[bar]<p>extra" queryCommandState("stylewithcss") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<p align=justify>foo<p>[bar]<p>extra" queryCommandValue("stylewithcss") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<p align=justify>foo<p>[bar]<p>extra" queryCommandIndeterm("stylewithcss") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<p align=justify>foo<p>[bar]<p>extra" queryCommandState("stylewithcss") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<p align=justify>foo<p>[bar]<p>extra" queryCommandValue("stylewithcss") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<p align=justify>foo<p>[bar]<p>extra" queryCommandIndeterm("defaultparagraphseparator") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<p align=justify>foo<p>[bar]<p>extra" queryCommandState("defaultparagraphseparator") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<p align=justify>foo<p>[bar]<p>extra" queryCommandValue("defaultparagraphseparator") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<p align=justify>foo<p>[bar]<p>extra" queryCommandIndeterm("defaultparagraphseparator") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<p align=justify>foo<p>[bar]<p>extra" queryCommandState("defaultparagraphseparator") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<p align=justify>foo<p>[bar]<p>extra" queryCommandValue("defaultparagraphseparator") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<p align=justify>foo<p>[bar]<p>extra" queryCommandIndeterm("justifyfull") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<p align=justify>foo<p>[bar]<p>extra" queryCommandState("justifyfull") before 
-FAIL [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<p align=justify>foo<p>[bar]<p>extra" queryCommandValue("justifyfull") before assert_equals: Wrong result returned expected "left" but got "false"
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<p align=justify>foo<p>[bar]<p>extra" queryCommandIndeterm("justifyfull") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<p align=justify>foo<p>[bar]<p>extra" queryCommandState("justifyfull") after 
-FAIL [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<p align=justify>foo<p>[bar]<p>extra" queryCommandValue("justifyfull") after assert_equals: Wrong result returned expected "justify" but got "true"
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<p>[foo]<p align=justify>bar<p>extra": execCommand("stylewithcss", false, "true") return value 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<p>[foo]<p align=justify>bar<p>extra": execCommand("defaultparagraphseparator", false, "div") return value 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<p>[foo]<p align=justify>bar<p>extra": execCommand("justifyfull", false, "") return value 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<p>[foo]<p align=justify>bar<p>extra" checks for modifications to non-editable content 
-FAIL [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<p>[foo]<p align=justify>bar<p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<div style=\"text-align:justify\"><p>foo</p></div><p align=\"justify\">bar</p><p>extra</p>" but got "<p style=\"text-align:justify\">foo</p><p align=\"justify\">bar</p><p>extra</p>"
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<p>[foo]<p align=justify>bar<p>extra" queryCommandIndeterm("stylewithcss") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<p>[foo]<p align=justify>bar<p>extra" queryCommandState("stylewithcss") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<p>[foo]<p align=justify>bar<p>extra" queryCommandValue("stylewithcss") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<p>[foo]<p align=justify>bar<p>extra" queryCommandIndeterm("stylewithcss") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<p>[foo]<p align=justify>bar<p>extra" queryCommandState("stylewithcss") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<p>[foo]<p align=justify>bar<p>extra" queryCommandValue("stylewithcss") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<p>[foo]<p align=justify>bar<p>extra" queryCommandIndeterm("defaultparagraphseparator") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<p>[foo]<p align=justify>bar<p>extra" queryCommandState("defaultparagraphseparator") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<p>[foo]<p align=justify>bar<p>extra" queryCommandValue("defaultparagraphseparator") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<p>[foo]<p align=justify>bar<p>extra" queryCommandIndeterm("defaultparagraphseparator") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<p>[foo]<p align=justify>bar<p>extra" queryCommandState("defaultparagraphseparator") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<p>[foo]<p align=justify>bar<p>extra" queryCommandValue("defaultparagraphseparator") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<p>[foo]<p align=justify>bar<p>extra" queryCommandIndeterm("justifyfull") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<p>[foo]<p align=justify>bar<p>extra" queryCommandState("justifyfull") before 
-FAIL [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<p>[foo]<p align=justify>bar<p>extra" queryCommandValue("justifyfull") before assert_equals: Wrong result returned expected "left" but got "false"
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<p>[foo]<p align=justify>bar<p>extra" queryCommandIndeterm("justifyfull") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<p>[foo]<p align=justify>bar<p>extra" queryCommandState("justifyfull") after 
-FAIL [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<p>[foo]<p align=justify>bar<p>extra" queryCommandValue("justifyfull") after assert_equals: Wrong result returned expected "justify" but got "true"
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<p>[foo]<p align=justify>bar<p>extra": execCommand("stylewithcss", false, "false") return value 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<p>[foo]<p align=justify>bar<p>extra": execCommand("defaultparagraphseparator", false, "div") return value 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<p>[foo]<p align=justify>bar<p>extra": execCommand("justifyfull", false, "") return value 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<p>[foo]<p align=justify>bar<p>extra" checks for modifications to non-editable content 
-FAIL [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<p>[foo]<p align=justify>bar<p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<div style=\"text-align:justify\"><p>foo</p></div><p align=\"justify\">bar</p><p>extra</p>" but got "<p style=\"text-align:justify\">foo</p><p align=\"justify\">bar</p><p>extra</p>"
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<p>[foo]<p align=justify>bar<p>extra" queryCommandIndeterm("stylewithcss") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<p>[foo]<p align=justify>bar<p>extra" queryCommandState("stylewithcss") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<p>[foo]<p align=justify>bar<p>extra" queryCommandValue("stylewithcss") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<p>[foo]<p align=justify>bar<p>extra" queryCommandIndeterm("stylewithcss") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<p>[foo]<p align=justify>bar<p>extra" queryCommandState("stylewithcss") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<p>[foo]<p align=justify>bar<p>extra" queryCommandValue("stylewithcss") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<p>[foo]<p align=justify>bar<p>extra" queryCommandIndeterm("defaultparagraphseparator") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<p>[foo]<p align=justify>bar<p>extra" queryCommandState("defaultparagraphseparator") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<p>[foo]<p align=justify>bar<p>extra" queryCommandValue("defaultparagraphseparator") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<p>[foo]<p align=justify>bar<p>extra" queryCommandIndeterm("defaultparagraphseparator") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<p>[foo]<p align=justify>bar<p>extra" queryCommandState("defaultparagraphseparator") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<p>[foo]<p align=justify>bar<p>extra" queryCommandValue("defaultparagraphseparator") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<p>[foo]<p align=justify>bar<p>extra" queryCommandIndeterm("justifyfull") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<p>[foo]<p align=justify>bar<p>extra" queryCommandState("justifyfull") before 
-FAIL [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<p>[foo]<p align=justify>bar<p>extra" queryCommandValue("justifyfull") before assert_equals: Wrong result returned expected "left" but got "false"
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<p>[foo]<p align=justify>bar<p>extra" queryCommandIndeterm("justifyfull") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<p>[foo]<p align=justify>bar<p>extra" queryCommandState("justifyfull") after 
-FAIL [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<p>[foo]<p align=justify>bar<p>extra" queryCommandValue("justifyfull") after assert_equals: Wrong result returned expected "justify" but got "true"
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<p>[foo]<p align=justify>bar<p>extra": execCommand("stylewithcss", false, "true") return value 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<p>[foo]<p align=justify>bar<p>extra": execCommand("defaultparagraphseparator", false, "p") return value 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<p>[foo]<p align=justify>bar<p>extra": execCommand("justifyfull", false, "") return value 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<p>[foo]<p align=justify>bar<p>extra" checks for modifications to non-editable content 
-FAIL [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<p>[foo]<p align=justify>bar<p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<div style=\"text-align:justify\"><p>foo</p></div><p align=\"justify\">bar</p><p>extra</p>" but got "<p style=\"text-align:justify\">foo</p><p align=\"justify\">bar</p><p>extra</p>"
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<p>[foo]<p align=justify>bar<p>extra" queryCommandIndeterm("stylewithcss") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<p>[foo]<p align=justify>bar<p>extra" queryCommandState("stylewithcss") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<p>[foo]<p align=justify>bar<p>extra" queryCommandValue("stylewithcss") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<p>[foo]<p align=justify>bar<p>extra" queryCommandIndeterm("stylewithcss") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<p>[foo]<p align=justify>bar<p>extra" queryCommandState("stylewithcss") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<p>[foo]<p align=justify>bar<p>extra" queryCommandValue("stylewithcss") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<p>[foo]<p align=justify>bar<p>extra" queryCommandIndeterm("defaultparagraphseparator") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<p>[foo]<p align=justify>bar<p>extra" queryCommandState("defaultparagraphseparator") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<p>[foo]<p align=justify>bar<p>extra" queryCommandValue("defaultparagraphseparator") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<p>[foo]<p align=justify>bar<p>extra" queryCommandIndeterm("defaultparagraphseparator") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<p>[foo]<p align=justify>bar<p>extra" queryCommandState("defaultparagraphseparator") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<p>[foo]<p align=justify>bar<p>extra" queryCommandValue("defaultparagraphseparator") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<p>[foo]<p align=justify>bar<p>extra" queryCommandIndeterm("justifyfull") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<p>[foo]<p align=justify>bar<p>extra" queryCommandState("justifyfull") before 
-FAIL [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<p>[foo]<p align=justify>bar<p>extra" queryCommandValue("justifyfull") before assert_equals: Wrong result returned expected "left" but got "false"
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<p>[foo]<p align=justify>bar<p>extra" queryCommandIndeterm("justifyfull") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<p>[foo]<p align=justify>bar<p>extra" queryCommandState("justifyfull") after 
-FAIL [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<p>[foo]<p align=justify>bar<p>extra" queryCommandValue("justifyfull") after assert_equals: Wrong result returned expected "justify" but got "true"
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<p>[foo]<p align=justify>bar<p>extra": execCommand("stylewithcss", false, "false") return value 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<p>[foo]<p align=justify>bar<p>extra": execCommand("defaultparagraphseparator", false, "p") return value 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<p>[foo]<p align=justify>bar<p>extra": execCommand("justifyfull", false, "") return value 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<p>[foo]<p align=justify>bar<p>extra" checks for modifications to non-editable content 
-FAIL [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<p>[foo]<p align=justify>bar<p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<div style=\"text-align:justify\"><p>foo</p></div><p align=\"justify\">bar</p><p>extra</p>" but got "<p style=\"text-align:justify\">foo</p><p align=\"justify\">bar</p><p>extra</p>"
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<p>[foo]<p align=justify>bar<p>extra" queryCommandIndeterm("stylewithcss") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<p>[foo]<p align=justify>bar<p>extra" queryCommandState("stylewithcss") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<p>[foo]<p align=justify>bar<p>extra" queryCommandValue("stylewithcss") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<p>[foo]<p align=justify>bar<p>extra" queryCommandIndeterm("stylewithcss") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<p>[foo]<p align=justify>bar<p>extra" queryCommandState("stylewithcss") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<p>[foo]<p align=justify>bar<p>extra" queryCommandValue("stylewithcss") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<p>[foo]<p align=justify>bar<p>extra" queryCommandIndeterm("defaultparagraphseparator") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<p>[foo]<p align=justify>bar<p>extra" queryCommandState("defaultparagraphseparator") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<p>[foo]<p align=justify>bar<p>extra" queryCommandValue("defaultparagraphseparator") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<p>[foo]<p align=justify>bar<p>extra" queryCommandIndeterm("defaultparagraphseparator") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<p>[foo]<p align=justify>bar<p>extra" queryCommandState("defaultparagraphseparator") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<p>[foo]<p align=justify>bar<p>extra" queryCommandValue("defaultparagraphseparator") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<p>[foo]<p align=justify>bar<p>extra" queryCommandIndeterm("justifyfull") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<p>[foo]<p align=justify>bar<p>extra" queryCommandState("justifyfull") before 
-FAIL [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<p>[foo]<p align=justify>bar<p>extra" queryCommandValue("justifyfull") before assert_equals: Wrong result returned expected "left" but got "false"
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<p>[foo]<p align=justify>bar<p>extra" queryCommandIndeterm("justifyfull") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<p>[foo]<p align=justify>bar<p>extra" queryCommandState("justifyfull") after 
-FAIL [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<p>[foo]<p align=justify>bar<p>extra" queryCommandValue("justifyfull") after assert_equals: Wrong result returned expected "justify" but got "true"
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<p align=justify>foo<p>[bar]<p align=justify>baz<p>extra": execCommand("stylewithcss", false, "true") return value 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<p align=justify>foo<p>[bar]<p align=justify>baz<p>extra": execCommand("defaultparagraphseparator", false, "div") return value 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<p align=justify>foo<p>[bar]<p align=justify>baz<p>extra": execCommand("justifyfull", false, "") return value 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<p align=justify>foo<p>[bar]<p align=justify>baz<p>extra" checks for modifications to non-editable content 
-FAIL [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<p align=justify>foo<p>[bar]<p align=justify>baz<p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<p align=\"justify\">foo</p><div style=\"text-align:justify\"><p>bar</p></div><p align=\"justify\">baz</p><p>extra</p>" but got "<p align=\"justify\">foo</p><p style=\"text-align:justify\">bar</p><p align=\"justify\">baz</p><p>extra</p>"
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<p align=justify>foo<p>[bar]<p align=justify>baz<p>extra" queryCommandIndeterm("stylewithcss") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<p align=justify>foo<p>[bar]<p align=justify>baz<p>extra" queryCommandState("stylewithcss") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<p align=justify>foo<p>[bar]<p align=justify>baz<p>extra" queryCommandValue("stylewithcss") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<p align=justify>foo<p>[bar]<p align=justify>baz<p>extra" queryCommandIndeterm("stylewithcss") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<p align=justify>foo<p>[bar]<p align=justify>baz<p>extra" queryCommandState("stylewithcss") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<p align=justify>foo<p>[bar]<p align=justify>baz<p>extra" queryCommandValue("stylewithcss") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<p align=justify>foo<p>[bar]<p align=justify>baz<p>extra" queryCommandIndeterm("defaultparagraphseparator") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<p align=justify>foo<p>[bar]<p align=justify>baz<p>extra" queryCommandState("defaultparagraphseparator") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<p align=justify>foo<p>[bar]<p align=justify>baz<p>extra" queryCommandValue("defaultparagraphseparator") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<p align=justify>foo<p>[bar]<p align=justify>baz<p>extra" queryCommandIndeterm("defaultparagraphseparator") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<p align=justify>foo<p>[bar]<p align=justify>baz<p>extra" queryCommandState("defaultparagraphseparator") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<p align=justify>foo<p>[bar]<p align=justify>baz<p>extra" queryCommandValue("defaultparagraphseparator") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<p align=justify>foo<p>[bar]<p align=justify>baz<p>extra" queryCommandIndeterm("justifyfull") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<p align=justify>foo<p>[bar]<p align=justify>baz<p>extra" queryCommandState("justifyfull") before 
-FAIL [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<p align=justify>foo<p>[bar]<p align=justify>baz<p>extra" queryCommandValue("justifyfull") before assert_equals: Wrong result returned expected "left" but got "false"
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<p align=justify>foo<p>[bar]<p align=justify>baz<p>extra" queryCommandIndeterm("justifyfull") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<p align=justify>foo<p>[bar]<p align=justify>baz<p>extra" queryCommandState("justifyfull") after 
-FAIL [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<p align=justify>foo<p>[bar]<p align=justify>baz<p>extra" queryCommandValue("justifyfull") after assert_equals: Wrong result returned expected "justify" but got "true"
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<p align=justify>foo<p>[bar]<p align=justify>baz<p>extra": execCommand("stylewithcss", false, "false") return value 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<p align=justify>foo<p>[bar]<p align=justify>baz<p>extra": execCommand("defaultparagraphseparator", false, "div") return value 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<p align=justify>foo<p>[bar]<p align=justify>baz<p>extra": execCommand("justifyfull", false, "") return value 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<p align=justify>foo<p>[bar]<p align=justify>baz<p>extra" checks for modifications to non-editable content 
-FAIL [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<p align=justify>foo<p>[bar]<p align=justify>baz<p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<p align=\"justify\">foo</p><div style=\"text-align:justify\"><p>bar</p></div><p align=\"justify\">baz</p><p>extra</p>" but got "<p align=\"justify\">foo</p><p style=\"text-align:justify\">bar</p><p align=\"justify\">baz</p><p>extra</p>"
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<p align=justify>foo<p>[bar]<p align=justify>baz<p>extra" queryCommandIndeterm("stylewithcss") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<p align=justify>foo<p>[bar]<p align=justify>baz<p>extra" queryCommandState("stylewithcss") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<p align=justify>foo<p>[bar]<p align=justify>baz<p>extra" queryCommandValue("stylewithcss") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<p align=justify>foo<p>[bar]<p align=justify>baz<p>extra" queryCommandIndeterm("stylewithcss") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<p align=justify>foo<p>[bar]<p align=justify>baz<p>extra" queryCommandState("stylewithcss") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<p align=justify>foo<p>[bar]<p align=justify>baz<p>extra" queryCommandValue("stylewithcss") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<p align=justify>foo<p>[bar]<p align=justify>baz<p>extra" queryCommandIndeterm("defaultparagraphseparator") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<p align=justify>foo<p>[bar]<p align=justify>baz<p>extra" queryCommandState("defaultparagraphseparator") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<p align=justify>foo<p>[bar]<p align=justify>baz<p>extra" queryCommandValue("defaultparagraphseparator") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<p align=justify>foo<p>[bar]<p align=justify>baz<p>extra" queryCommandIndeterm("defaultparagraphseparator") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<p align=justify>foo<p>[bar]<p align=justify>baz<p>extra" queryCommandState("defaultparagraphseparator") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<p align=justify>foo<p>[bar]<p align=justify>baz<p>extra" queryCommandValue("defaultparagraphseparator") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<p align=justify>foo<p>[bar]<p align=justify>baz<p>extra" queryCommandIndeterm("justifyfull") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<p align=justify>foo<p>[bar]<p align=justify>baz<p>extra" queryCommandState("justifyfull") before 
-FAIL [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<p align=justify>foo<p>[bar]<p align=justify>baz<p>extra" queryCommandValue("justifyfull") before assert_equals: Wrong result returned expected "left" but got "false"
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<p align=justify>foo<p>[bar]<p align=justify>baz<p>extra" queryCommandIndeterm("justifyfull") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<p align=justify>foo<p>[bar]<p align=justify>baz<p>extra" queryCommandState("justifyfull") after 
-FAIL [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<p align=justify>foo<p>[bar]<p align=justify>baz<p>extra" queryCommandValue("justifyfull") after assert_equals: Wrong result returned expected "justify" but got "true"
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<p align=justify>foo<p>[bar]<p align=justify>baz<p>extra": execCommand("stylewithcss", false, "true") return value 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<p align=justify>foo<p>[bar]<p align=justify>baz<p>extra": execCommand("defaultparagraphseparator", false, "p") return value 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<p align=justify>foo<p>[bar]<p align=justify>baz<p>extra": execCommand("justifyfull", false, "") return value 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<p align=justify>foo<p>[bar]<p align=justify>baz<p>extra" checks for modifications to non-editable content 
-FAIL [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<p align=justify>foo<p>[bar]<p align=justify>baz<p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<p align=\"justify\">foo</p><div style=\"text-align:justify\"><p>bar</p></div><p align=\"justify\">baz</p><p>extra</p>" but got "<p align=\"justify\">foo</p><p style=\"text-align:justify\">bar</p><p align=\"justify\">baz</p><p>extra</p>"
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<p align=justify>foo<p>[bar]<p align=justify>baz<p>extra" queryCommandIndeterm("stylewithcss") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<p align=justify>foo<p>[bar]<p align=justify>baz<p>extra" queryCommandState("stylewithcss") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<p align=justify>foo<p>[bar]<p align=justify>baz<p>extra" queryCommandValue("stylewithcss") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<p align=justify>foo<p>[bar]<p align=justify>baz<p>extra" queryCommandIndeterm("stylewithcss") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<p align=justify>foo<p>[bar]<p align=justify>baz<p>extra" queryCommandState("stylewithcss") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<p align=justify>foo<p>[bar]<p align=justify>baz<p>extra" queryCommandValue("stylewithcss") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<p align=justify>foo<p>[bar]<p align=justify>baz<p>extra" queryCommandIndeterm("defaultparagraphseparator") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<p align=justify>foo<p>[bar]<p align=justify>baz<p>extra" queryCommandState("defaultparagraphseparator") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<p align=justify>foo<p>[bar]<p align=justify>baz<p>extra" queryCommandValue("defaultparagraphseparator") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<p align=justify>foo<p>[bar]<p align=justify>baz<p>extra" queryCommandIndeterm("defaultparagraphseparator") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<p align=justify>foo<p>[bar]<p align=justify>baz<p>extra" queryCommandState("defaultparagraphseparator") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<p align=justify>foo<p>[bar]<p align=justify>baz<p>extra" queryCommandValue("defaultparagraphseparator") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<p align=justify>foo<p>[bar]<p align=justify>baz<p>extra" queryCommandIndeterm("justifyfull") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<p align=justify>foo<p>[bar]<p align=justify>baz<p>extra" queryCommandState("justifyfull") before 
-FAIL [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<p align=justify>foo<p>[bar]<p align=justify>baz<p>extra" queryCommandValue("justifyfull") before assert_equals: Wrong result returned expected "left" but got "false"
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<p align=justify>foo<p>[bar]<p align=justify>baz<p>extra" queryCommandIndeterm("justifyfull") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<p align=justify>foo<p>[bar]<p align=justify>baz<p>extra" queryCommandState("justifyfull") after 
-FAIL [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<p align=justify>foo<p>[bar]<p align=justify>baz<p>extra" queryCommandValue("justifyfull") after assert_equals: Wrong result returned expected "justify" but got "true"
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<p align=justify>foo<p>[bar]<p align=justify>baz<p>extra": execCommand("stylewithcss", false, "false") return value 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<p align=justify>foo<p>[bar]<p align=justify>baz<p>extra": execCommand("defaultparagraphseparator", false, "p") return value 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<p align=justify>foo<p>[bar]<p align=justify>baz<p>extra": execCommand("justifyfull", false, "") return value 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<p align=justify>foo<p>[bar]<p align=justify>baz<p>extra" checks for modifications to non-editable content 
-FAIL [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<p align=justify>foo<p>[bar]<p align=justify>baz<p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<p align=\"justify\">foo</p><div style=\"text-align:justify\"><p>bar</p></div><p align=\"justify\">baz</p><p>extra</p>" but got "<p align=\"justify\">foo</p><p style=\"text-align:justify\">bar</p><p align=\"justify\">baz</p><p>extra</p>"
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<p align=justify>foo<p>[bar]<p align=justify>baz<p>extra" queryCommandIndeterm("stylewithcss") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<p align=justify>foo<p>[bar]<p align=justify>baz<p>extra" queryCommandState("stylewithcss") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<p align=justify>foo<p>[bar]<p align=justify>baz<p>extra" queryCommandValue("stylewithcss") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<p align=justify>foo<p>[bar]<p align=justify>baz<p>extra" queryCommandIndeterm("stylewithcss") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<p align=justify>foo<p>[bar]<p align=justify>baz<p>extra" queryCommandState("stylewithcss") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<p align=justify>foo<p>[bar]<p align=justify>baz<p>extra" queryCommandValue("stylewithcss") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<p align=justify>foo<p>[bar]<p align=justify>baz<p>extra" queryCommandIndeterm("defaultparagraphseparator") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<p align=justify>foo<p>[bar]<p align=justify>baz<p>extra" queryCommandState("defaultparagraphseparator") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<p align=justify>foo<p>[bar]<p align=justify>baz<p>extra" queryCommandValue("defaultparagraphseparator") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<p align=justify>foo<p>[bar]<p align=justify>baz<p>extra" queryCommandIndeterm("defaultparagraphseparator") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<p align=justify>foo<p>[bar]<p align=justify>baz<p>extra" queryCommandState("defaultparagraphseparator") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<p align=justify>foo<p>[bar]<p align=justify>baz<p>extra" queryCommandValue("defaultparagraphseparator") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<p align=justify>foo<p>[bar]<p align=justify>baz<p>extra" queryCommandIndeterm("justifyfull") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<p align=justify>foo<p>[bar]<p align=justify>baz<p>extra" queryCommandState("justifyfull") before 
-FAIL [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<p align=justify>foo<p>[bar]<p align=justify>baz<p>extra" queryCommandValue("justifyfull") before assert_equals: Wrong result returned expected "left" but got "false"
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<p align=justify>foo<p>[bar]<p align=justify>baz<p>extra" queryCommandIndeterm("justifyfull") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<p align=justify>foo<p>[bar]<p align=justify>baz<p>extra" queryCommandState("justifyfull") after 
-FAIL [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<p align=justify>foo<p>[bar]<p align=justify>baz<p>extra" queryCommandValue("justifyfull") after assert_equals: Wrong result returned expected "justify" but got "true"
-PASS [["stylewithcss","true"],["justifyfull",""]] "<div align=justify>[foo</div>bar]<p>extra": execCommand("stylewithcss", false, "true") return value 
-PASS [["stylewithcss","true"],["justifyfull",""]] "<div align=justify>[foo</div>bar]<p>extra": execCommand("justifyfull", false, "") return value 
-PASS [["stylewithcss","true"],["justifyfull",""]] "<div align=justify>[foo</div>bar]<p>extra" checks for modifications to non-editable content 
-FAIL [["stylewithcss","true"],["justifyfull",""]] "<div align=justify>[foo</div>bar]<p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<div style=\"text-align:justify\">foo<br>bar</div><p>extra</p>" but got "<div align=\"justify\">foo</div><p style=\"text-align:justify\">bar</p><p>extra</p>"
-PASS [["stylewithcss","true"],["justifyfull",""]] "<div align=justify>[foo</div>bar]<p>extra" queryCommandIndeterm("stylewithcss") before 
-PASS [["stylewithcss","true"],["justifyfull",""]] "<div align=justify>[foo</div>bar]<p>extra" queryCommandState("stylewithcss") before 
-PASS [["stylewithcss","true"],["justifyfull",""]] "<div align=justify>[foo</div>bar]<p>extra" queryCommandValue("stylewithcss") before 
-PASS [["stylewithcss","true"],["justifyfull",""]] "<div align=justify>[foo</div>bar]<p>extra" queryCommandIndeterm("stylewithcss") after 
-PASS [["stylewithcss","true"],["justifyfull",""]] "<div align=justify>[foo</div>bar]<p>extra" queryCommandState("stylewithcss") after 
-PASS [["stylewithcss","true"],["justifyfull",""]] "<div align=justify>[foo</div>bar]<p>extra" queryCommandValue("stylewithcss") after 
-FAIL [["stylewithcss","true"],["justifyfull",""]] "<div align=justify>[foo</div>bar]<p>extra" queryCommandIndeterm("justifyfull") before assert_equals: Wrong result returned expected true but got false
-FAIL [["stylewithcss","true"],["justifyfull",""]] "<div align=justify>[foo</div>bar]<p>extra" queryCommandState("justifyfull") before assert_equals: Wrong result returned expected false but got true
-FAIL [["stylewithcss","true"],["justifyfull",""]] "<div align=justify>[foo</div>bar]<p>extra" queryCommandValue("justifyfull") before assert_equals: Wrong result returned expected "justify" but got "true"
-PASS [["stylewithcss","true"],["justifyfull",""]] "<div align=justify>[foo</div>bar]<p>extra" queryCommandIndeterm("justifyfull") after 
-PASS [["stylewithcss","true"],["justifyfull",""]] "<div align=justify>[foo</div>bar]<p>extra" queryCommandState("justifyfull") after 
-FAIL [["stylewithcss","true"],["justifyfull",""]] "<div align=justify>[foo</div>bar]<p>extra" queryCommandValue("justifyfull") after assert_equals: Wrong result returned expected "justify" but got "true"
-PASS [["stylewithcss","false"],["justifyfull",""]] "<div align=justify>[foo</div>bar]<p>extra": execCommand("stylewithcss", false, "false") return value 
-PASS [["stylewithcss","false"],["justifyfull",""]] "<div align=justify>[foo</div>bar]<p>extra": execCommand("justifyfull", false, "") return value 
-PASS [["stylewithcss","false"],["justifyfull",""]] "<div align=justify>[foo</div>bar]<p>extra" checks for modifications to non-editable content 
-FAIL [["stylewithcss","false"],["justifyfull",""]] "<div align=justify>[foo</div>bar]<p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<div style=\"text-align:justify\">foo<br>bar</div><p>extra</p>" but got "<div align=\"justify\">foo</div><p style=\"text-align:justify\">bar</p><p>extra</p>"
-PASS [["stylewithcss","false"],["justifyfull",""]] "<div align=justify>[foo</div>bar]<p>extra" queryCommandIndeterm("stylewithcss") before 
-PASS [["stylewithcss","false"],["justifyfull",""]] "<div align=justify>[foo</div>bar]<p>extra" queryCommandState("stylewithcss") before 
-PASS [["stylewithcss","false"],["justifyfull",""]] "<div align=justify>[foo</div>bar]<p>extra" queryCommandValue("stylewithcss") before 
-PASS [["stylewithcss","false"],["justifyfull",""]] "<div align=justify>[foo</div>bar]<p>extra" queryCommandIndeterm("stylewithcss") after 
-PASS [["stylewithcss","false"],["justifyfull",""]] "<div align=justify>[foo</div>bar]<p>extra" queryCommandState("stylewithcss") after 
-PASS [["stylewithcss","false"],["justifyfull",""]] "<div align=justify>[foo</div>bar]<p>extra" queryCommandValue("stylewithcss") after 
-FAIL [["stylewithcss","false"],["justifyfull",""]] "<div align=justify>[foo</div>bar]<p>extra" queryCommandIndeterm("justifyfull") before assert_equals: Wrong result returned expected true but got false
-FAIL [["stylewithcss","false"],["justifyfull",""]] "<div align=justify>[foo</div>bar]<p>extra" queryCommandState("justifyfull") before assert_equals: Wrong result returned expected false but got true
-FAIL [["stylewithcss","false"],["justifyfull",""]] "<div align=justify>[foo</div>bar]<p>extra" queryCommandValue("justifyfull") before assert_equals: Wrong result returned expected "justify" but got "true"
-PASS [["stylewithcss","false"],["justifyfull",""]] "<div align=justify>[foo</div>bar]<p>extra" queryCommandIndeterm("justifyfull") after 
-PASS [["stylewithcss","false"],["justifyfull",""]] "<div align=justify>[foo</div>bar]<p>extra" queryCommandState("justifyfull") after 
-FAIL [["stylewithcss","false"],["justifyfull",""]] "<div align=justify>[foo</div>bar]<p>extra" queryCommandValue("justifyfull") after assert_equals: Wrong result returned expected "justify" but got "true"
-PASS [["stylewithcss","true"],["justifyfull",""]] "<div align=justify>fo[o</div>b]ar<p>extra": execCommand("stylewithcss", false, "true") return value 
-PASS [["stylewithcss","true"],["justifyfull",""]] "<div align=justify>fo[o</div>b]ar<p>extra": execCommand("justifyfull", false, "") return value 
-PASS [["stylewithcss","true"],["justifyfull",""]] "<div align=justify>fo[o</div>b]ar<p>extra" checks for modifications to non-editable content 
-FAIL [["stylewithcss","true"],["justifyfull",""]] "<div align=justify>fo[o</div>b]ar<p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<div style=\"text-align:justify\">foo<br>bar</div><p>extra</p>" but got "<div align=\"justify\">foo</div><p style=\"text-align:justify\">bar</p><p>extra</p>"
-PASS [["stylewithcss","true"],["justifyfull",""]] "<div align=justify>fo[o</div>b]ar<p>extra" queryCommandIndeterm("stylewithcss") before 
-PASS [["stylewithcss","true"],["justifyfull",""]] "<div align=justify>fo[o</div>b]ar<p>extra" queryCommandState("stylewithcss") before 
-PASS [["stylewithcss","true"],["justifyfull",""]] "<div align=justify>fo[o</div>b]ar<p>extra" queryCommandValue("stylewithcss") before 
-PASS [["stylewithcss","true"],["justifyfull",""]] "<div align=justify>fo[o</div>b]ar<p>extra" queryCommandIndeterm("stylewithcss") after 
-PASS [["stylewithcss","true"],["justifyfull",""]] "<div align=justify>fo[o</div>b]ar<p>extra" queryCommandState("stylewithcss") after 
-PASS [["stylewithcss","true"],["justifyfull",""]] "<div align=justify>fo[o</div>b]ar<p>extra" queryCommandValue("stylewithcss") after 
-FAIL [["stylewithcss","true"],["justifyfull",""]] "<div align=justify>fo[o</div>b]ar<p>extra" queryCommandIndeterm("justifyfull") before assert_equals: Wrong result returned expected true but got false
-FAIL [["stylewithcss","true"],["justifyfull",""]] "<div align=justify>fo[o</div>b]ar<p>extra" queryCommandState("justifyfull") before assert_equals: Wrong result returned expected false but got true
-FAIL [["stylewithcss","true"],["justifyfull",""]] "<div align=justify>fo[o</div>b]ar<p>extra" queryCommandValue("justifyfull") before assert_equals: Wrong result returned expected "justify" but got "true"
-PASS [["stylewithcss","true"],["justifyfull",""]] "<div align=justify>fo[o</div>b]ar<p>extra" queryCommandIndeterm("justifyfull") after 
-PASS [["stylewithcss","true"],["justifyfull",""]] "<div align=justify>fo[o</div>b]ar<p>extra" queryCommandState("justifyfull") after 
-FAIL [["stylewithcss","true"],["justifyfull",""]] "<div align=justify>fo[o</div>b]ar<p>extra" queryCommandValue("justifyfull") after assert_equals: Wrong result returned expected "justify" but got "true"
-PASS [["stylewithcss","false"],["justifyfull",""]] "<div align=justify>fo[o</div>b]ar<p>extra": execCommand("stylewithcss", false, "false") return value 
-PASS [["stylewithcss","false"],["justifyfull",""]] "<div align=justify>fo[o</div>b]ar<p>extra": execCommand("justifyfull", false, "") return value 
-PASS [["stylewithcss","false"],["justifyfull",""]] "<div align=justify>fo[o</div>b]ar<p>extra" checks for modifications to non-editable content 
-FAIL [["stylewithcss","false"],["justifyfull",""]] "<div align=justify>fo[o</div>b]ar<p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<div style=\"text-align:justify\">foo<br>bar</div><p>extra</p>" but got "<div align=\"justify\">foo</div><p style=\"text-align:justify\">bar</p><p>extra</p>"
-PASS [["stylewithcss","false"],["justifyfull",""]] "<div align=justify>fo[o</div>b]ar<p>extra" queryCommandIndeterm("stylewithcss") before 
-PASS [["stylewithcss","false"],["justifyfull",""]] "<div align=justify>fo[o</div>b]ar<p>extra" queryCommandState("stylewithcss") before 
-PASS [["stylewithcss","false"],["justifyfull",""]] "<div align=justify>fo[o</div>b]ar<p>extra" queryCommandValue("stylewithcss") before 
-PASS [["stylewithcss","false"],["justifyfull",""]] "<div align=justify>fo[o</div>b]ar<p>extra" queryCommandIndeterm("stylewithcss") after 
-PASS [["stylewithcss","false"],["justifyfull",""]] "<div align=justify>fo[o</div>b]ar<p>extra" queryCommandState("stylewithcss") after 
-PASS [["stylewithcss","false"],["justifyfull",""]] "<div align=justify>fo[o</div>b]ar<p>extra" queryCommandValue("stylewithcss") after 
-FAIL [["stylewithcss","false"],["justifyfull",""]] "<div align=justify>fo[o</div>b]ar<p>extra" queryCommandIndeterm("justifyfull") before assert_equals: Wrong result returned expected true but got false
-FAIL [["stylewithcss","false"],["justifyfull",""]] "<div align=justify>fo[o</div>b]ar<p>extra" queryCommandState("justifyfull") before assert_equals: Wrong result returned expected false but got true
-FAIL [["stylewithcss","false"],["justifyfull",""]] "<div align=justify>fo[o</div>b]ar<p>extra" queryCommandValue("justifyfull") before assert_equals: Wrong result returned expected "justify" but got "true"
-PASS [["stylewithcss","false"],["justifyfull",""]] "<div align=justify>fo[o</div>b]ar<p>extra" queryCommandIndeterm("justifyfull") after 
-PASS [["stylewithcss","false"],["justifyfull",""]] "<div align=justify>fo[o</div>b]ar<p>extra" queryCommandState("justifyfull") after 
-FAIL [["stylewithcss","false"],["justifyfull",""]] "<div align=justify>fo[o</div>b]ar<p>extra" queryCommandValue("justifyfull") after assert_equals: Wrong result returned expected "justify" but got "true"
-PASS [["justifyfull",""]] "<div style=text-align:justify>[foo</div>bar]<p>extra": execCommand("justifyfull", false, "") return value 
-PASS [["justifyfull",""]] "<div style=text-align:justify>[foo</div>bar]<p>extra" checks for modifications to non-editable content 
-FAIL [["justifyfull",""]] "<div style=text-align:justify>[foo</div>bar]<p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<div style=\"text-align:justify\">foo<br>bar</div><p>extra</p>" but got "<div style=\"text-align:justify\">foo</div><p style=\"text-align:justify\">bar</p><p>extra</p>"
-FAIL [["justifyfull",""]] "<div style=text-align:justify>[foo</div>bar]<p>extra" queryCommandIndeterm("justifyfull") before assert_equals: Wrong result returned expected true but got false
-FAIL [["justifyfull",""]] "<div style=text-align:justify>[foo</div>bar]<p>extra" queryCommandState("justifyfull") before assert_equals: Wrong result returned expected false but got true
-FAIL [["justifyfull",""]] "<div style=text-align:justify>[foo</div>bar]<p>extra" queryCommandValue("justifyfull") before assert_equals: Wrong result returned expected "justify" but got "true"
-PASS [["justifyfull",""]] "<div style=text-align:justify>[foo</div>bar]<p>extra" queryCommandIndeterm("justifyfull") after 
-PASS [["justifyfull",""]] "<div style=text-align:justify>[foo</div>bar]<p>extra" queryCommandState("justifyfull") after 
-FAIL [["justifyfull",""]] "<div style=text-align:justify>[foo</div>bar]<p>extra" queryCommandValue("justifyfull") after assert_equals: Wrong result returned expected "justify" but got "true"
-PASS [["justifyfull",""]] "<div style=text-align:justify>fo[o</div>b]ar<p>extra": execCommand("justifyfull", false, "") return value 
-PASS [["justifyfull",""]] "<div style=text-align:justify>fo[o</div>b]ar<p>extra" checks for modifications to non-editable content 
-FAIL [["justifyfull",""]] "<div style=text-align:justify>fo[o</div>b]ar<p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<div style=\"text-align:justify\">foo<br>bar</div><p>extra</p>" but got "<div style=\"text-align:justify\">foo</div><p style=\"text-align:justify\">bar</p><p>extra</p>"
-FAIL [["justifyfull",""]] "<div style=text-align:justify>fo[o</div>b]ar<p>extra" queryCommandIndeterm("justifyfull") before assert_equals: Wrong result returned expected true but got false
-FAIL [["justifyfull",""]] "<div style=text-align:justify>fo[o</div>b]ar<p>extra" queryCommandState("justifyfull") before assert_equals: Wrong result returned expected false but got true
-FAIL [["justifyfull",""]] "<div style=text-align:justify>fo[o</div>b]ar<p>extra" queryCommandValue("justifyfull") before assert_equals: Wrong result returned expected "justify" but got "true"
-PASS [["justifyfull",""]] "<div style=text-align:justify>fo[o</div>b]ar<p>extra" queryCommandIndeterm("justifyfull") after 
-PASS [["justifyfull",""]] "<div style=text-align:justify>fo[o</div>b]ar<p>extra" queryCommandState("justifyfull") after 
-FAIL [["justifyfull",""]] "<div style=text-align:justify>fo[o</div>b]ar<p>extra" queryCommandValue("justifyfull") after assert_equals: Wrong result returned expected "justify" but got "true"
-PASS [["defaultparagraphseparator","div"],["justifyfull",""]] "<span style=text-align:justify>[foo]</span><p>extra": execCommand("defaultparagraphseparator", false, "div") return value 
-PASS [["defaultparagraphseparator","div"],["justifyfull",""]] "<span style=text-align:justify>[foo]</span><p>extra": execCommand("justifyfull", false, "") return value 
-PASS [["defaultparagraphseparator","div"],["justifyfull",""]] "<span style=text-align:justify>[foo]</span><p>extra" checks for modifications to non-editable content 
-FAIL [["defaultparagraphseparator","div"],["justifyfull",""]] "<span style=text-align:justify>[foo]</span><p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<div style=\"text-align:justify\">foo</div><p>extra</p>" but got "<span style=\"text-align:justify\">foo</span><p>extra</p>"
-PASS [["defaultparagraphseparator","div"],["justifyfull",""]] "<span style=text-align:justify>[foo]</span><p>extra" queryCommandIndeterm("defaultparagraphseparator") before 
-PASS [["defaultparagraphseparator","div"],["justifyfull",""]] "<span style=text-align:justify>[foo]</span><p>extra" queryCommandState("defaultparagraphseparator") before 
-PASS [["defaultparagraphseparator","div"],["justifyfull",""]] "<span style=text-align:justify>[foo]</span><p>extra" queryCommandValue("defaultparagraphseparator") before 
-PASS [["defaultparagraphseparator","div"],["justifyfull",""]] "<span style=text-align:justify>[foo]</span><p>extra" queryCommandIndeterm("defaultparagraphseparator") after 
-PASS [["defaultparagraphseparator","div"],["justifyfull",""]] "<span style=text-align:justify>[foo]</span><p>extra" queryCommandState("defaultparagraphseparator") after 
-PASS [["defaultparagraphseparator","div"],["justifyfull",""]] "<span style=text-align:justify>[foo]</span><p>extra" queryCommandValue("defaultparagraphseparator") after 
-PASS [["defaultparagraphseparator","div"],["justifyfull",""]] "<span style=text-align:justify>[foo]</span><p>extra" queryCommandIndeterm("justifyfull") before 
-FAIL [["defaultparagraphseparator","div"],["justifyfull",""]] "<span style=text-align:justify>[foo]</span><p>extra" queryCommandState("justifyfull") before assert_equals: Wrong result returned expected false but got true
-FAIL [["defaultparagraphseparator","div"],["justifyfull",""]] "<span style=text-align:justify>[foo]</span><p>extra" queryCommandValue("justifyfull") before assert_equals: Wrong result returned expected "left" but got "true"
-PASS [["defaultparagraphseparator","div"],["justifyfull",""]] "<span style=text-align:justify>[foo]</span><p>extra" queryCommandIndeterm("justifyfull") after 
-PASS [["defaultparagraphseparator","div"],["justifyfull",""]] "<span style=text-align:justify>[foo]</span><p>extra" queryCommandState("justifyfull") after 
-FAIL [["defaultparagraphseparator","div"],["justifyfull",""]] "<span style=text-align:justify>[foo]</span><p>extra" queryCommandValue("justifyfull") after assert_equals: Wrong result returned expected "justify" but got "true"
-PASS [["defaultparagraphseparator","p"],["justifyfull",""]] "<span style=text-align:justify>[foo]</span><p>extra": execCommand("defaultparagraphseparator", false, "p") return value 
-PASS [["defaultparagraphseparator","p"],["justifyfull",""]] "<span style=text-align:justify>[foo]</span><p>extra": execCommand("justifyfull", false, "") return value 
-PASS [["defaultparagraphseparator","p"],["justifyfull",""]] "<span style=text-align:justify>[foo]</span><p>extra" checks for modifications to non-editable content 
-FAIL [["defaultparagraphseparator","p"],["justifyfull",""]] "<span style=text-align:justify>[foo]</span><p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<div style=\"text-align:justify\">foo</div><p>extra</p>" but got "<span style=\"text-align:justify\">foo</span><p>extra</p>"
-PASS [["defaultparagraphseparator","p"],["justifyfull",""]] "<span style=text-align:justify>[foo]</span><p>extra" queryCommandIndeterm("defaultparagraphseparator") before 
-PASS [["defaultparagraphseparator","p"],["justifyfull",""]] "<span style=text-align:justify>[foo]</span><p>extra" queryCommandState("defaultparagraphseparator") before 
-PASS [["defaultparagraphseparator","p"],["justifyfull",""]] "<span style=text-align:justify>[foo]</span><p>extra" queryCommandValue("defaultparagraphseparator") before 
-PASS [["defaultparagraphseparator","p"],["justifyfull",""]] "<span style=text-align:justify>[foo]</span><p>extra" queryCommandIndeterm("defaultparagraphseparator") after 
-PASS [["defaultparagraphseparator","p"],["justifyfull",""]] "<span style=text-align:justify>[foo]</span><p>extra" queryCommandState("defaultparagraphseparator") after 
-PASS [["defaultparagraphseparator","p"],["justifyfull",""]] "<span style=text-align:justify>[foo]</span><p>extra" queryCommandValue("defaultparagraphseparator") after 
-PASS [["defaultparagraphseparator","p"],["justifyfull",""]] "<span style=text-align:justify>[foo]</span><p>extra" queryCommandIndeterm("justifyfull") before 
-FAIL [["defaultparagraphseparator","p"],["justifyfull",""]] "<span style=text-align:justify>[foo]</span><p>extra" queryCommandState("justifyfull") before assert_equals: Wrong result returned expected false but got true
-FAIL [["defaultparagraphseparator","p"],["justifyfull",""]] "<span style=text-align:justify>[foo]</span><p>extra" queryCommandValue("justifyfull") before assert_equals: Wrong result returned expected "left" but got "true"
-PASS [["defaultparagraphseparator","p"],["justifyfull",""]] "<span style=text-align:justify>[foo]</span><p>extra" queryCommandIndeterm("justifyfull") after 
-PASS [["defaultparagraphseparator","p"],["justifyfull",""]] "<span style=text-align:justify>[foo]</span><p>extra" queryCommandState("justifyfull") after 
-FAIL [["defaultparagraphseparator","p"],["justifyfull",""]] "<span style=text-align:justify>[foo]</span><p>extra" queryCommandValue("justifyfull") after assert_equals: Wrong result returned expected "justify" but got "true"
-PASS [["defaultparagraphseparator","div"],["justifyfull",""]] "<span style=text-align:justify>f[o]o</span><p>extra": execCommand("defaultparagraphseparator", false, "div") return value 
-PASS [["defaultparagraphseparator","div"],["justifyfull",""]] "<span style=text-align:justify>f[o]o</span><p>extra": execCommand("justifyfull", false, "") return value 
-PASS [["defaultparagraphseparator","div"],["justifyfull",""]] "<span style=text-align:justify>f[o]o</span><p>extra" checks for modifications to non-editable content 
-FAIL [["defaultparagraphseparator","div"],["justifyfull",""]] "<span style=text-align:justify>f[o]o</span><p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<div style=\"text-align:justify\">foo</div><p>extra</p>" but got "<span style=\"text-align:justify\">foo</span><p>extra</p>"
-PASS [["defaultparagraphseparator","div"],["justifyfull",""]] "<span style=text-align:justify>f[o]o</span><p>extra" queryCommandIndeterm("defaultparagraphseparator") before 
-PASS [["defaultparagraphseparator","div"],["justifyfull",""]] "<span style=text-align:justify>f[o]o</span><p>extra" queryCommandState("defaultparagraphseparator") before 
-PASS [["defaultparagraphseparator","div"],["justifyfull",""]] "<span style=text-align:justify>f[o]o</span><p>extra" queryCommandValue("defaultparagraphseparator") before 
-PASS [["defaultparagraphseparator","div"],["justifyfull",""]] "<span style=text-align:justify>f[o]o</span><p>extra" queryCommandIndeterm("defaultparagraphseparator") after 
-PASS [["defaultparagraphseparator","div"],["justifyfull",""]] "<span style=text-align:justify>f[o]o</span><p>extra" queryCommandState("defaultparagraphseparator") after 
-PASS [["defaultparagraphseparator","div"],["justifyfull",""]] "<span style=text-align:justify>f[o]o</span><p>extra" queryCommandValue("defaultparagraphseparator") after 
-PASS [["defaultparagraphseparator","div"],["justifyfull",""]] "<span style=text-align:justify>f[o]o</span><p>extra" queryCommandIndeterm("justifyfull") before 
-FAIL [["defaultparagraphseparator","div"],["justifyfull",""]] "<span style=text-align:justify>f[o]o</span><p>extra" queryCommandState("justifyfull") before assert_equals: Wrong result returned expected false but got true
-FAIL [["defaultparagraphseparator","div"],["justifyfull",""]] "<span style=text-align:justify>f[o]o</span><p>extra" queryCommandValue("justifyfull") before assert_equals: Wrong result returned expected "left" but got "true"
-PASS [["defaultparagraphseparator","div"],["justifyfull",""]] "<span style=text-align:justify>f[o]o</span><p>extra" queryCommandIndeterm("justifyfull") after 
-PASS [["defaultparagraphseparator","div"],["justifyfull",""]] "<span style=text-align:justify>f[o]o</span><p>extra" queryCommandState("justifyfull") after 
-FAIL [["defaultparagraphseparator","div"],["justifyfull",""]] "<span style=text-align:justify>f[o]o</span><p>extra" queryCommandValue("justifyfull") after assert_equals: Wrong result returned expected "justify" but got "true"
-PASS [["defaultparagraphseparator","p"],["justifyfull",""]] "<span style=text-align:justify>f[o]o</span><p>extra": execCommand("defaultparagraphseparator", false, "p") return value 
-PASS [["defaultparagraphseparator","p"],["justifyfull",""]] "<span style=text-align:justify>f[o]o</span><p>extra": execCommand("justifyfull", false, "") return value 
-PASS [["defaultparagraphseparator","p"],["justifyfull",""]] "<span style=text-align:justify>f[o]o</span><p>extra" checks for modifications to non-editable content 
-FAIL [["defaultparagraphseparator","p"],["justifyfull",""]] "<span style=text-align:justify>f[o]o</span><p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<div style=\"text-align:justify\">foo</div><p>extra</p>" but got "<span style=\"text-align:justify\">foo</span><p>extra</p>"
-PASS [["defaultparagraphseparator","p"],["justifyfull",""]] "<span style=text-align:justify>f[o]o</span><p>extra" queryCommandIndeterm("defaultparagraphseparator") before 
-PASS [["defaultparagraphseparator","p"],["justifyfull",""]] "<span style=text-align:justify>f[o]o</span><p>extra" queryCommandState("defaultparagraphseparator") before 
-PASS [["defaultparagraphseparator","p"],["justifyfull",""]] "<span style=text-align:justify>f[o]o</span><p>extra" queryCommandValue("defaultparagraphseparator") before 
-PASS [["defaultparagraphseparator","p"],["justifyfull",""]] "<span style=text-align:justify>f[o]o</span><p>extra" queryCommandIndeterm("defaultparagraphseparator") after 
-PASS [["defaultparagraphseparator","p"],["justifyfull",""]] "<span style=text-align:justify>f[o]o</span><p>extra" queryCommandState("defaultparagraphseparator") after 
-PASS [["defaultparagraphseparator","p"],["justifyfull",""]] "<span style=text-align:justify>f[o]o</span><p>extra" queryCommandValue("defaultparagraphseparator") after 
-PASS [["defaultparagraphseparator","p"],["justifyfull",""]] "<span style=text-align:justify>f[o]o</span><p>extra" queryCommandIndeterm("justifyfull") before 
-FAIL [["defaultparagraphseparator","p"],["justifyfull",""]] "<span style=text-align:justify>f[o]o</span><p>extra" queryCommandState("justifyfull") before assert_equals: Wrong result returned expected false but got true
-FAIL [["defaultparagraphseparator","p"],["justifyfull",""]] "<span style=text-align:justify>f[o]o</span><p>extra" queryCommandValue("justifyfull") before assert_equals: Wrong result returned expected "left" but got "true"
-PASS [["defaultparagraphseparator","p"],["justifyfull",""]] "<span style=text-align:justify>f[o]o</span><p>extra" queryCommandIndeterm("justifyfull") after 
-PASS [["defaultparagraphseparator","p"],["justifyfull",""]] "<span style=text-align:justify>f[o]o</span><p>extra" queryCommandState("justifyfull") after 
-FAIL [["defaultparagraphseparator","p"],["justifyfull",""]] "<span style=text-align:justify>f[o]o</span><p>extra" queryCommandValue("justifyfull") after assert_equals: Wrong result returned expected "justify" but got "true"
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<div style=text-align:justify>[foo<div style=text-align:left contenteditable=false>bar</div>baz]</div><p>extra": execCommand("stylewithcss", false, "true") return value 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<div style=text-align:justify>[foo<div style=text-align:left contenteditable=false>bar</div>baz]</div><p>extra": execCommand("defaultparagraphseparator", false, "div") return value 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<div style=text-align:justify>[foo<div style=text-align:left contenteditable=false>bar</div>baz]</div><p>extra": execCommand("justifyfull", false, "") return value 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<div style=text-align:justify>[foo<div style=text-align:left contenteditable=false>bar</div>baz]</div><p>extra" checks for modifications to non-editable content 
-FAIL [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<div style=text-align:justify>[foo<div style=text-align:left contenteditable=false>bar</div>baz]</div><p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<div style=\"text-align:justify\">foo</div><div style=\"text-align:left\" contenteditable=\"false\">bar</div><div style=\"text-align:justify\">baz</div><p>extra</p>" but got "<div style=\"text-align:justify\">foo<div contenteditable=\"false\" style=\"text-align:justify\">bar</div>baz</div><p>extra</p>"
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<div style=text-align:justify>[foo<div style=text-align:left contenteditable=false>bar</div>baz]</div><p>extra" queryCommandIndeterm("stylewithcss") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<div style=text-align:justify>[foo<div style=text-align:left contenteditable=false>bar</div>baz]</div><p>extra" queryCommandState("stylewithcss") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<div style=text-align:justify>[foo<div style=text-align:left contenteditable=false>bar</div>baz]</div><p>extra" queryCommandValue("stylewithcss") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<div style=text-align:justify>[foo<div style=text-align:left contenteditable=false>bar</div>baz]</div><p>extra" queryCommandIndeterm("stylewithcss") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<div style=text-align:justify>[foo<div style=text-align:left contenteditable=false>bar</div>baz]</div><p>extra" queryCommandState("stylewithcss") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<div style=text-align:justify>[foo<div style=text-align:left contenteditable=false>bar</div>baz]</div><p>extra" queryCommandValue("stylewithcss") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<div style=text-align:justify>[foo<div style=text-align:left contenteditable=false>bar</div>baz]</div><p>extra" queryCommandIndeterm("defaultparagraphseparator") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<div style=text-align:justify>[foo<div style=text-align:left contenteditable=false>bar</div>baz]</div><p>extra" queryCommandState("defaultparagraphseparator") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<div style=text-align:justify>[foo<div style=text-align:left contenteditable=false>bar</div>baz]</div><p>extra" queryCommandValue("defaultparagraphseparator") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<div style=text-align:justify>[foo<div style=text-align:left contenteditable=false>bar</div>baz]</div><p>extra" queryCommandIndeterm("defaultparagraphseparator") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<div style=text-align:justify>[foo<div style=text-align:left contenteditable=false>bar</div>baz]</div><p>extra" queryCommandState("defaultparagraphseparator") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<div style=text-align:justify>[foo<div style=text-align:left contenteditable=false>bar</div>baz]</div><p>extra" queryCommandValue("defaultparagraphseparator") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<div style=text-align:justify>[foo<div style=text-align:left contenteditable=false>bar</div>baz]</div><p>extra" queryCommandIndeterm("justifyfull") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<div style=text-align:justify>[foo<div style=text-align:left contenteditable=false>bar</div>baz]</div><p>extra" queryCommandState("justifyfull") before 
-FAIL [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<div style=text-align:justify>[foo<div style=text-align:left contenteditable=false>bar</div>baz]</div><p>extra" queryCommandValue("justifyfull") before assert_equals: Wrong result returned expected "justify" but got "true"
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<div style=text-align:justify>[foo<div style=text-align:left contenteditable=false>bar</div>baz]</div><p>extra" queryCommandIndeterm("justifyfull") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<div style=text-align:justify>[foo<div style=text-align:left contenteditable=false>bar</div>baz]</div><p>extra" queryCommandState("justifyfull") after 
-FAIL [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<div style=text-align:justify>[foo<div style=text-align:left contenteditable=false>bar</div>baz]</div><p>extra" queryCommandValue("justifyfull") after assert_equals: Wrong result returned expected "justify" but got "true"
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<div style=text-align:justify>[foo<div style=text-align:left contenteditable=false>bar</div>baz]</div><p>extra": execCommand("stylewithcss", false, "false") return value 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<div style=text-align:justify>[foo<div style=text-align:left contenteditable=false>bar</div>baz]</div><p>extra": execCommand("defaultparagraphseparator", false, "div") return value 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<div style=text-align:justify>[foo<div style=text-align:left contenteditable=false>bar</div>baz]</div><p>extra": execCommand("justifyfull", false, "") return value 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<div style=text-align:justify>[foo<div style=text-align:left contenteditable=false>bar</div>baz]</div><p>extra" checks for modifications to non-editable content 
-FAIL [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<div style=text-align:justify>[foo<div style=text-align:left contenteditable=false>bar</div>baz]</div><p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<div style=\"text-align:justify\">foo</div><div style=\"text-align:left\" contenteditable=\"false\">bar</div><div style=\"text-align:justify\">baz</div><p>extra</p>" but got "<div style=\"text-align:justify\">foo<div contenteditable=\"false\" style=\"text-align:justify\">bar</div>baz</div><p>extra</p>"
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<div style=text-align:justify>[foo<div style=text-align:left contenteditable=false>bar</div>baz]</div><p>extra" queryCommandIndeterm("stylewithcss") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<div style=text-align:justify>[foo<div style=text-align:left contenteditable=false>bar</div>baz]</div><p>extra" queryCommandState("stylewithcss") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<div style=text-align:justify>[foo<div style=text-align:left contenteditable=false>bar</div>baz]</div><p>extra" queryCommandValue("stylewithcss") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<div style=text-align:justify>[foo<div style=text-align:left contenteditable=false>bar</div>baz]</div><p>extra" queryCommandIndeterm("stylewithcss") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<div style=text-align:justify>[foo<div style=text-align:left contenteditable=false>bar</div>baz]</div><p>extra" queryCommandState("stylewithcss") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<div style=text-align:justify>[foo<div style=text-align:left contenteditable=false>bar</div>baz]</div><p>extra" queryCommandValue("stylewithcss") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<div style=text-align:justify>[foo<div style=text-align:left contenteditable=false>bar</div>baz]</div><p>extra" queryCommandIndeterm("defaultparagraphseparator") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<div style=text-align:justify>[foo<div style=text-align:left contenteditable=false>bar</div>baz]</div><p>extra" queryCommandState("defaultparagraphseparator") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<div style=text-align:justify>[foo<div style=text-align:left contenteditable=false>bar</div>baz]</div><p>extra" queryCommandValue("defaultparagraphseparator") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<div style=text-align:justify>[foo<div style=text-align:left contenteditable=false>bar</div>baz]</div><p>extra" queryCommandIndeterm("defaultparagraphseparator") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<div style=text-align:justify>[foo<div style=text-align:left contenteditable=false>bar</div>baz]</div><p>extra" queryCommandState("defaultparagraphseparator") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<div style=text-align:justify>[foo<div style=text-align:left contenteditable=false>bar</div>baz]</div><p>extra" queryCommandValue("defaultparagraphseparator") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<div style=text-align:justify>[foo<div style=text-align:left contenteditable=false>bar</div>baz]</div><p>extra" queryCommandIndeterm("justifyfull") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<div style=text-align:justify>[foo<div style=text-align:left contenteditable=false>bar</div>baz]</div><p>extra" queryCommandState("justifyfull") before 
-FAIL [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<div style=text-align:justify>[foo<div style=text-align:left contenteditable=false>bar</div>baz]</div><p>extra" queryCommandValue("justifyfull") before assert_equals: Wrong result returned expected "justify" but got "true"
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<div style=text-align:justify>[foo<div style=text-align:left contenteditable=false>bar</div>baz]</div><p>extra" queryCommandIndeterm("justifyfull") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<div style=text-align:justify>[foo<div style=text-align:left contenteditable=false>bar</div>baz]</div><p>extra" queryCommandState("justifyfull") after 
-FAIL [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<div style=text-align:justify>[foo<div style=text-align:left contenteditable=false>bar</div>baz]</div><p>extra" queryCommandValue("justifyfull") after assert_equals: Wrong result returned expected "justify" but got "true"
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<div style=text-align:justify>[foo<div style=text-align:left contenteditable=false>bar</div>baz]</div><p>extra": execCommand("stylewithcss", false, "true") return value 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<div style=text-align:justify>[foo<div style=text-align:left contenteditable=false>bar</div>baz]</div><p>extra": execCommand("defaultparagraphseparator", false, "p") return value 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<div style=text-align:justify>[foo<div style=text-align:left contenteditable=false>bar</div>baz]</div><p>extra": execCommand("justifyfull", false, "") return value 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<div style=text-align:justify>[foo<div style=text-align:left contenteditable=false>bar</div>baz]</div><p>extra" checks for modifications to non-editable content 
-FAIL [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<div style=text-align:justify>[foo<div style=text-align:left contenteditable=false>bar</div>baz]</div><p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<div style=\"text-align:justify\">foo</div><div style=\"text-align:left\" contenteditable=\"false\">bar</div><div style=\"text-align:justify\">baz</div><p>extra</p>" but got "<div style=\"text-align:justify\">foo<div contenteditable=\"false\" style=\"text-align:justify\">bar</div>baz</div><p>extra</p>"
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<div style=text-align:justify>[foo<div style=text-align:left contenteditable=false>bar</div>baz]</div><p>extra" queryCommandIndeterm("stylewithcss") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<div style=text-align:justify>[foo<div style=text-align:left contenteditable=false>bar</div>baz]</div><p>extra" queryCommandState("stylewithcss") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<div style=text-align:justify>[foo<div style=text-align:left contenteditable=false>bar</div>baz]</div><p>extra" queryCommandValue("stylewithcss") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<div style=text-align:justify>[foo<div style=text-align:left contenteditable=false>bar</div>baz]</div><p>extra" queryCommandIndeterm("stylewithcss") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<div style=text-align:justify>[foo<div style=text-align:left contenteditable=false>bar</div>baz]</div><p>extra" queryCommandState("stylewithcss") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<div style=text-align:justify>[foo<div style=text-align:left contenteditable=false>bar</div>baz]</div><p>extra" queryCommandValue("stylewithcss") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<div style=text-align:justify>[foo<div style=text-align:left contenteditable=false>bar</div>baz]</div><p>extra" queryCommandIndeterm("defaultparagraphseparator") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<div style=text-align:justify>[foo<div style=text-align:left contenteditable=false>bar</div>baz]</div><p>extra" queryCommandState("defaultparagraphseparator") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<div style=text-align:justify>[foo<div style=text-align:left contenteditable=false>bar</div>baz]</div><p>extra" queryCommandValue("defaultparagraphseparator") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<div style=text-align:justify>[foo<div style=text-align:left contenteditable=false>bar</div>baz]</div><p>extra" queryCommandIndeterm("defaultparagraphseparator") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<div style=text-align:justify>[foo<div style=text-align:left contenteditable=false>bar</div>baz]</div><p>extra" queryCommandState("defaultparagraphseparator") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<div style=text-align:justify>[foo<div style=text-align:left contenteditable=false>bar</div>baz]</div><p>extra" queryCommandValue("defaultparagraphseparator") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<div style=text-align:justify>[foo<div style=text-align:left contenteditable=false>bar</div>baz]</div><p>extra" queryCommandIndeterm("justifyfull") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<div style=text-align:justify>[foo<div style=text-align:left contenteditable=false>bar</div>baz]</div><p>extra" queryCommandState("justifyfull") before 
-FAIL [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<div style=text-align:justify>[foo<div style=text-align:left contenteditable=false>bar</div>baz]</div><p>extra" queryCommandValue("justifyfull") before assert_equals: Wrong result returned expected "justify" but got "true"
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<div style=text-align:justify>[foo<div style=text-align:left contenteditable=false>bar</div>baz]</div><p>extra" queryCommandIndeterm("justifyfull") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<div style=text-align:justify>[foo<div style=text-align:left contenteditable=false>bar</div>baz]</div><p>extra" queryCommandState("justifyfull") after 
-FAIL [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<div style=text-align:justify>[foo<div style=text-align:left contenteditable=false>bar</div>baz]</div><p>extra" queryCommandValue("justifyfull") after assert_equals: Wrong result returned expected "justify" but got "true"
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<div style=text-align:justify>[foo<div style=text-align:left contenteditable=false>bar</div>baz]</div><p>extra": execCommand("stylewithcss", false, "false") return value 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<div style=text-align:justify>[foo<div style=text-align:left contenteditable=false>bar</div>baz]</div><p>extra": execCommand("defaultparagraphseparator", false, "p") return value 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<div style=text-align:justify>[foo<div style=text-align:left contenteditable=false>bar</div>baz]</div><p>extra": execCommand("justifyfull", false, "") return value 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<div style=text-align:justify>[foo<div style=text-align:left contenteditable=false>bar</div>baz]</div><p>extra" checks for modifications to non-editable content 
-FAIL [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<div style=text-align:justify>[foo<div style=text-align:left contenteditable=false>bar</div>baz]</div><p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<div style=\"text-align:justify\">foo</div><div style=\"text-align:left\" contenteditable=\"false\">bar</div><div style=\"text-align:justify\">baz</div><p>extra</p>" but got "<div style=\"text-align:justify\">foo<div contenteditable=\"false\" style=\"text-align:justify\">bar</div>baz</div><p>extra</p>"
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<div style=text-align:justify>[foo<div style=text-align:left contenteditable=false>bar</div>baz]</div><p>extra" queryCommandIndeterm("stylewithcss") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<div style=text-align:justify>[foo<div style=text-align:left contenteditable=false>bar</div>baz]</div><p>extra" queryCommandState("stylewithcss") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<div style=text-align:justify>[foo<div style=text-align:left contenteditable=false>bar</div>baz]</div><p>extra" queryCommandValue("stylewithcss") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<div style=text-align:justify>[foo<div style=text-align:left contenteditable=false>bar</div>baz]</div><p>extra" queryCommandIndeterm("stylewithcss") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<div style=text-align:justify>[foo<div style=text-align:left contenteditable=false>bar</div>baz]</div><p>extra" queryCommandState("stylewithcss") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<div style=text-align:justify>[foo<div style=text-align:left contenteditable=false>bar</div>baz]</div><p>extra" queryCommandValue("stylewithcss") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<div style=text-align:justify>[foo<div style=text-align:left contenteditable=false>bar</div>baz]</div><p>extra" queryCommandIndeterm("defaultparagraphseparator") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<div style=text-align:justify>[foo<div style=text-align:left contenteditable=false>bar</div>baz]</div><p>extra" queryCommandState("defaultparagraphseparator") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<div style=text-align:justify>[foo<div style=text-align:left contenteditable=false>bar</div>baz]</div><p>extra" queryCommandValue("defaultparagraphseparator") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<div style=text-align:justify>[foo<div style=text-align:left contenteditable=false>bar</div>baz]</div><p>extra" queryCommandIndeterm("defaultparagraphseparator") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<div style=text-align:justify>[foo<div style=text-align:left contenteditable=false>bar</div>baz]</div><p>extra" queryCommandState("defaultparagraphseparator") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<div style=text-align:justify>[foo<div style=text-align:left contenteditable=false>bar</div>baz]</div><p>extra" queryCommandValue("defaultparagraphseparator") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<div style=text-align:justify>[foo<div style=text-align:left contenteditable=false>bar</div>baz]</div><p>extra" queryCommandIndeterm("justifyfull") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<div style=text-align:justify>[foo<div style=text-align:left contenteditable=false>bar</div>baz]</div><p>extra" queryCommandState("justifyfull") before 
-FAIL [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<div style=text-align:justify>[foo<div style=text-align:left contenteditable=false>bar</div>baz]</div><p>extra" queryCommandValue("justifyfull") before assert_equals: Wrong result returned expected "justify" but got "true"
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<div style=text-align:justify>[foo<div style=text-align:left contenteditable=false>bar</div>baz]</div><p>extra" queryCommandIndeterm("justifyfull") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<div style=text-align:justify>[foo<div style=text-align:left contenteditable=false>bar</div>baz]</div><p>extra" queryCommandState("justifyfull") after 
-FAIL [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<div style=text-align:justify>[foo<div style=text-align:left contenteditable=false>bar</div>baz]</div><p>extra" queryCommandValue("justifyfull") after assert_equals: Wrong result returned expected "justify" but got "true"
-PASS [["stylewithcss","true"],["justifyfull",""]] "<div align=nonsense><p>[foo]</div><p>extra": execCommand("stylewithcss", false, "true") return value 
-PASS [["stylewithcss","true"],["justifyfull",""]] "<div align=nonsense><p>[foo]</div><p>extra": execCommand("justifyfull", false, "") return value 
-PASS [["stylewithcss","true"],["justifyfull",""]] "<div align=nonsense><p>[foo]</div><p>extra" checks for modifications to non-editable content 
-FAIL [["stylewithcss","true"],["justifyfull",""]] "<div align=nonsense><p>[foo]</div><p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<div style=\"text-align:justify\"><p>foo</p></div><p>extra</p>" but got "<div align=\"nonsense\"><p style=\"text-align:justify\">foo</p></div><p>extra</p>"
-PASS [["stylewithcss","true"],["justifyfull",""]] "<div align=nonsense><p>[foo]</div><p>extra" queryCommandIndeterm("stylewithcss") before 
-PASS [["stylewithcss","true"],["justifyfull",""]] "<div align=nonsense><p>[foo]</div><p>extra" queryCommandState("stylewithcss") before 
-PASS [["stylewithcss","true"],["justifyfull",""]] "<div align=nonsense><p>[foo]</div><p>extra" queryCommandValue("stylewithcss") before 
-PASS [["stylewithcss","true"],["justifyfull",""]] "<div align=nonsense><p>[foo]</div><p>extra" queryCommandIndeterm("stylewithcss") after 
-PASS [["stylewithcss","true"],["justifyfull",""]] "<div align=nonsense><p>[foo]</div><p>extra" queryCommandState("stylewithcss") after 
-PASS [["stylewithcss","true"],["justifyfull",""]] "<div align=nonsense><p>[foo]</div><p>extra" queryCommandValue("stylewithcss") after 
-PASS [["stylewithcss","true"],["justifyfull",""]] "<div align=nonsense><p>[foo]</div><p>extra" queryCommandIndeterm("justifyfull") before 
-PASS [["stylewithcss","true"],["justifyfull",""]] "<div align=nonsense><p>[foo]</div><p>extra" queryCommandState("justifyfull") before 
-FAIL [["stylewithcss","true"],["justifyfull",""]] "<div align=nonsense><p>[foo]</div><p>extra" queryCommandValue("justifyfull") before assert_equals: Wrong result returned expected "left" but got "false"
-PASS [["stylewithcss","true"],["justifyfull",""]] "<div align=nonsense><p>[foo]</div><p>extra" queryCommandIndeterm("justifyfull") after 
-PASS [["stylewithcss","true"],["justifyfull",""]] "<div align=nonsense><p>[foo]</div><p>extra" queryCommandState("justifyfull") after 
-FAIL [["stylewithcss","true"],["justifyfull",""]] "<div align=nonsense><p>[foo]</div><p>extra" queryCommandValue("justifyfull") after assert_equals: Wrong result returned expected "justify" but got "true"
-PASS [["stylewithcss","false"],["justifyfull",""]] "<div align=nonsense><p>[foo]</div><p>extra": execCommand("stylewithcss", false, "false") return value 
-PASS [["stylewithcss","false"],["justifyfull",""]] "<div align=nonsense><p>[foo]</div><p>extra": execCommand("justifyfull", false, "") return value 
-PASS [["stylewithcss","false"],["justifyfull",""]] "<div align=nonsense><p>[foo]</div><p>extra" checks for modifications to non-editable content 
-FAIL [["stylewithcss","false"],["justifyfull",""]] "<div align=nonsense><p>[foo]</div><p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<div style=\"text-align:justify\"><p>foo</p></div><p>extra</p>" but got "<div align=\"nonsense\"><p style=\"text-align:justify\">foo</p></div><p>extra</p>"
-PASS [["stylewithcss","false"],["justifyfull",""]] "<div align=nonsense><p>[foo]</div><p>extra" queryCommandIndeterm("stylewithcss") before 
-PASS [["stylewithcss","false"],["justifyfull",""]] "<div align=nonsense><p>[foo]</div><p>extra" queryCommandState("stylewithcss") before 
-PASS [["stylewithcss","false"],["justifyfull",""]] "<div align=nonsense><p>[foo]</div><p>extra" queryCommandValue("stylewithcss") before 
-PASS [["stylewithcss","false"],["justifyfull",""]] "<div align=nonsense><p>[foo]</div><p>extra" queryCommandIndeterm("stylewithcss") after 
-PASS [["stylewithcss","false"],["justifyfull",""]] "<div align=nonsense><p>[foo]</div><p>extra" queryCommandState("stylewithcss") after 
-PASS [["stylewithcss","false"],["justifyfull",""]] "<div align=nonsense><p>[foo]</div><p>extra" queryCommandValue("stylewithcss") after 
-PASS [["stylewithcss","false"],["justifyfull",""]] "<div align=nonsense><p>[foo]</div><p>extra" queryCommandIndeterm("justifyfull") before 
-PASS [["stylewithcss","false"],["justifyfull",""]] "<div align=nonsense><p>[foo]</div><p>extra" queryCommandState("justifyfull") before 
-FAIL [["stylewithcss","false"],["justifyfull",""]] "<div align=nonsense><p>[foo]</div><p>extra" queryCommandValue("justifyfull") before assert_equals: Wrong result returned expected "left" but got "false"
-PASS [["stylewithcss","false"],["justifyfull",""]] "<div align=nonsense><p>[foo]</div><p>extra" queryCommandIndeterm("justifyfull") after 
-PASS [["stylewithcss","false"],["justifyfull",""]] "<div align=nonsense><p>[foo]</div><p>extra" queryCommandState("justifyfull") after 
-FAIL [["stylewithcss","false"],["justifyfull",""]] "<div align=nonsense><p>[foo]</div><p>extra" queryCommandValue("justifyfull") after assert_equals: Wrong result returned expected "justify" but got "true"
-PASS [["justifyfull",""]] "<div style=text-align:inherit><p>[foo]</div><p>extra": execCommand("justifyfull", false, "") return value 
-PASS [["justifyfull",""]] "<div style=text-align:inherit><p>[foo]</div><p>extra" checks for modifications to non-editable content 
-FAIL [["justifyfull",""]] "<div style=text-align:inherit><p>[foo]</div><p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<div style=\"text-align:justify\"><p>foo</p></div><p>extra</p>" but got "<div style=\"text-align:inherit\"><p style=\"text-align:justify\">foo</p></div><p>extra</p>"
-PASS [["justifyfull",""]] "<div style=text-align:inherit><p>[foo]</div><p>extra" queryCommandIndeterm("justifyfull") before 
-PASS [["justifyfull",""]] "<div style=text-align:inherit><p>[foo]</div><p>extra" queryCommandState("justifyfull") before 
-FAIL [["justifyfull",""]] "<div style=text-align:inherit><p>[foo]</div><p>extra" queryCommandValue("justifyfull") before assert_equals: Wrong result returned expected "left" but got "false"
-PASS [["justifyfull",""]] "<div style=text-align:inherit><p>[foo]</div><p>extra" queryCommandIndeterm("justifyfull") after 
-PASS [["justifyfull",""]] "<div style=text-align:inherit><p>[foo]</div><p>extra" queryCommandState("justifyfull") after 
-FAIL [["justifyfull",""]] "<div style=text-align:inherit><p>[foo]</div><p>extra" queryCommandValue("justifyfull") after assert_equals: Wrong result returned expected "justify" but got "true"
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<quasit align=center><p>[foo]</p></quasit><p>extra": execCommand("stylewithcss", false, "true") return value 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<quasit align=center><p>[foo]</p></quasit><p>extra": execCommand("defaultparagraphseparator", false, "div") return value 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<quasit align=center><p>[foo]</p></quasit><p>extra": execCommand("justifyfull", false, "") return value 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<quasit align=center><p>[foo]</p></quasit><p>extra" checks for modifications to non-editable content 
-FAIL [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<quasit align=center><p>[foo]</p></quasit><p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<div style=\"text-align:justify\"><quasit><p>foo</p></quasit></div><p>extra</p>" but got "<quasit align=\"center\"><p style=\"text-align:justify\">foo</p></quasit><p>extra</p>"
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<quasit align=center><p>[foo]</p></quasit><p>extra" queryCommandIndeterm("stylewithcss") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<quasit align=center><p>[foo]</p></quasit><p>extra" queryCommandState("stylewithcss") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<quasit align=center><p>[foo]</p></quasit><p>extra" queryCommandValue("stylewithcss") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<quasit align=center><p>[foo]</p></quasit><p>extra" queryCommandIndeterm("stylewithcss") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<quasit align=center><p>[foo]</p></quasit><p>extra" queryCommandState("stylewithcss") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<quasit align=center><p>[foo]</p></quasit><p>extra" queryCommandValue("stylewithcss") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<quasit align=center><p>[foo]</p></quasit><p>extra" queryCommandIndeterm("defaultparagraphseparator") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<quasit align=center><p>[foo]</p></quasit><p>extra" queryCommandState("defaultparagraphseparator") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<quasit align=center><p>[foo]</p></quasit><p>extra" queryCommandValue("defaultparagraphseparator") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<quasit align=center><p>[foo]</p></quasit><p>extra" queryCommandIndeterm("defaultparagraphseparator") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<quasit align=center><p>[foo]</p></quasit><p>extra" queryCommandState("defaultparagraphseparator") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<quasit align=center><p>[foo]</p></quasit><p>extra" queryCommandValue("defaultparagraphseparator") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<quasit align=center><p>[foo]</p></quasit><p>extra" queryCommandIndeterm("justifyfull") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<quasit align=center><p>[foo]</p></quasit><p>extra" queryCommandState("justifyfull") before 
-FAIL [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<quasit align=center><p>[foo]</p></quasit><p>extra" queryCommandValue("justifyfull") before assert_equals: Wrong result returned expected "left" but got "false"
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<quasit align=center><p>[foo]</p></quasit><p>extra" queryCommandIndeterm("justifyfull") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<quasit align=center><p>[foo]</p></quasit><p>extra" queryCommandState("justifyfull") after 
-FAIL [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<quasit align=center><p>[foo]</p></quasit><p>extra" queryCommandValue("justifyfull") after assert_equals: Wrong result returned expected "justify" but got "true"
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<quasit align=center><p>[foo]</p></quasit><p>extra": execCommand("stylewithcss", false, "false") return value 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<quasit align=center><p>[foo]</p></quasit><p>extra": execCommand("defaultparagraphseparator", false, "div") return value 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<quasit align=center><p>[foo]</p></quasit><p>extra": execCommand("justifyfull", false, "") return value 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<quasit align=center><p>[foo]</p></quasit><p>extra" checks for modifications to non-editable content 
-FAIL [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<quasit align=center><p>[foo]</p></quasit><p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<div style=\"text-align:justify\"><quasit><p>foo</p></quasit></div><p>extra</p>" but got "<quasit align=\"center\"><p style=\"text-align:justify\">foo</p></quasit><p>extra</p>"
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<quasit align=center><p>[foo]</p></quasit><p>extra" queryCommandIndeterm("stylewithcss") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<quasit align=center><p>[foo]</p></quasit><p>extra" queryCommandState("stylewithcss") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<quasit align=center><p>[foo]</p></quasit><p>extra" queryCommandValue("stylewithcss") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<quasit align=center><p>[foo]</p></quasit><p>extra" queryCommandIndeterm("stylewithcss") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<quasit align=center><p>[foo]</p></quasit><p>extra" queryCommandState("stylewithcss") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<quasit align=center><p>[foo]</p></quasit><p>extra" queryCommandValue("stylewithcss") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<quasit align=center><p>[foo]</p></quasit><p>extra" queryCommandIndeterm("defaultparagraphseparator") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<quasit align=center><p>[foo]</p></quasit><p>extra" queryCommandState("defaultparagraphseparator") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<quasit align=center><p>[foo]</p></quasit><p>extra" queryCommandValue("defaultparagraphseparator") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<quasit align=center><p>[foo]</p></quasit><p>extra" queryCommandIndeterm("defaultparagraphseparator") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<quasit align=center><p>[foo]</p></quasit><p>extra" queryCommandState("defaultparagraphseparator") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<quasit align=center><p>[foo]</p></quasit><p>extra" queryCommandValue("defaultparagraphseparator") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<quasit align=center><p>[foo]</p></quasit><p>extra" queryCommandIndeterm("justifyfull") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<quasit align=center><p>[foo]</p></quasit><p>extra" queryCommandState("justifyfull") before 
-FAIL [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<quasit align=center><p>[foo]</p></quasit><p>extra" queryCommandValue("justifyfull") before assert_equals: Wrong result returned expected "left" but got "false"
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<quasit align=center><p>[foo]</p></quasit><p>extra" queryCommandIndeterm("justifyfull") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<quasit align=center><p>[foo]</p></quasit><p>extra" queryCommandState("justifyfull") after 
-FAIL [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<quasit align=center><p>[foo]</p></quasit><p>extra" queryCommandValue("justifyfull") after assert_equals: Wrong result returned expected "justify" but got "true"
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<quasit align=center><p>[foo]</p></quasit><p>extra": execCommand("stylewithcss", false, "true") return value 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<quasit align=center><p>[foo]</p></quasit><p>extra": execCommand("defaultparagraphseparator", false, "p") return value 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<quasit align=center><p>[foo]</p></quasit><p>extra": execCommand("justifyfull", false, "") return value 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<quasit align=center><p>[foo]</p></quasit><p>extra" checks for modifications to non-editable content 
-FAIL [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<quasit align=center><p>[foo]</p></quasit><p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<div style=\"text-align:justify\"><quasit><p>foo</p></quasit></div><p>extra</p>" but got "<quasit align=\"center\"><p style=\"text-align:justify\">foo</p></quasit><p>extra</p>"
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<quasit align=center><p>[foo]</p></quasit><p>extra" queryCommandIndeterm("stylewithcss") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<quasit align=center><p>[foo]</p></quasit><p>extra" queryCommandState("stylewithcss") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<quasit align=center><p>[foo]</p></quasit><p>extra" queryCommandValue("stylewithcss") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<quasit align=center><p>[foo]</p></quasit><p>extra" queryCommandIndeterm("stylewithcss") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<quasit align=center><p>[foo]</p></quasit><p>extra" queryCommandState("stylewithcss") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<quasit align=center><p>[foo]</p></quasit><p>extra" queryCommandValue("stylewithcss") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<quasit align=center><p>[foo]</p></quasit><p>extra" queryCommandIndeterm("defaultparagraphseparator") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<quasit align=center><p>[foo]</p></quasit><p>extra" queryCommandState("defaultparagraphseparator") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<quasit align=center><p>[foo]</p></quasit><p>extra" queryCommandValue("defaultparagraphseparator") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<quasit align=center><p>[foo]</p></quasit><p>extra" queryCommandIndeterm("defaultparagraphseparator") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<quasit align=center><p>[foo]</p></quasit><p>extra" queryCommandState("defaultparagraphseparator") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<quasit align=center><p>[foo]</p></quasit><p>extra" queryCommandValue("defaultparagraphseparator") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<quasit align=center><p>[foo]</p></quasit><p>extra" queryCommandIndeterm("justifyfull") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<quasit align=center><p>[foo]</p></quasit><p>extra" queryCommandState("justifyfull") before 
-FAIL [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<quasit align=center><p>[foo]</p></quasit><p>extra" queryCommandValue("justifyfull") before assert_equals: Wrong result returned expected "left" but got "false"
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<quasit align=center><p>[foo]</p></quasit><p>extra" queryCommandIndeterm("justifyfull") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<quasit align=center><p>[foo]</p></quasit><p>extra" queryCommandState("justifyfull") after 
-FAIL [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<quasit align=center><p>[foo]</p></quasit><p>extra" queryCommandValue("justifyfull") after assert_equals: Wrong result returned expected "justify" but got "true"
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<quasit align=center><p>[foo]</p></quasit><p>extra": execCommand("stylewithcss", false, "false") return value 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<quasit align=center><p>[foo]</p></quasit><p>extra": execCommand("defaultparagraphseparator", false, "p") return value 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<quasit align=center><p>[foo]</p></quasit><p>extra": execCommand("justifyfull", false, "") return value 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<quasit align=center><p>[foo]</p></quasit><p>extra" checks for modifications to non-editable content 
-FAIL [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<quasit align=center><p>[foo]</p></quasit><p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<div style=\"text-align:justify\"><quasit><p>foo</p></quasit></div><p>extra</p>" but got "<quasit align=\"center\"><p style=\"text-align:justify\">foo</p></quasit><p>extra</p>"
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<quasit align=center><p>[foo]</p></quasit><p>extra" queryCommandIndeterm("stylewithcss") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<quasit align=center><p>[foo]</p></quasit><p>extra" queryCommandState("stylewithcss") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<quasit align=center><p>[foo]</p></quasit><p>extra" queryCommandValue("stylewithcss") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<quasit align=center><p>[foo]</p></quasit><p>extra" queryCommandIndeterm("stylewithcss") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<quasit align=center><p>[foo]</p></quasit><p>extra" queryCommandState("stylewithcss") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<quasit align=center><p>[foo]</p></quasit><p>extra" queryCommandValue("stylewithcss") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<quasit align=center><p>[foo]</p></quasit><p>extra" queryCommandIndeterm("defaultparagraphseparator") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<quasit align=center><p>[foo]</p></quasit><p>extra" queryCommandState("defaultparagraphseparator") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<quasit align=center><p>[foo]</p></quasit><p>extra" queryCommandValue("defaultparagraphseparator") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<quasit align=center><p>[foo]</p></quasit><p>extra" queryCommandIndeterm("defaultparagraphseparator") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<quasit align=center><p>[foo]</p></quasit><p>extra" queryCommandState("defaultparagraphseparator") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<quasit align=center><p>[foo]</p></quasit><p>extra" queryCommandValue("defaultparagraphseparator") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<quasit align=center><p>[foo]</p></quasit><p>extra" queryCommandIndeterm("justifyfull") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<quasit align=center><p>[foo]</p></quasit><p>extra" queryCommandState("justifyfull") before 
-FAIL [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<quasit align=center><p>[foo]</p></quasit><p>extra" queryCommandValue("justifyfull") before assert_equals: Wrong result returned expected "left" but got "false"
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<quasit align=center><p>[foo]</p></quasit><p>extra" queryCommandIndeterm("justifyfull") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<quasit align=center><p>[foo]</p></quasit><p>extra" queryCommandState("justifyfull") after 
-FAIL [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<quasit align=center><p>[foo]</p></quasit><p>extra" queryCommandValue("justifyfull") after assert_equals: Wrong result returned expected "justify" but got "true"
-PASS [["justifyfull",""]] "<div style=text-align:start>[foo]</div><p>extra": execCommand("justifyfull", false, "") return value 
-PASS [["justifyfull",""]] "<div style=text-align:start>[foo]</div><p>extra" checks for modifications to non-editable content 
-PASS [["justifyfull",""]] "<div style=text-align:start>[foo]</div><p>extra" compare innerHTML 
-PASS [["justifyfull",""]] "<div style=text-align:start>[foo]</div><p>extra" queryCommandIndeterm("justifyfull") before 
-PASS [["justifyfull",""]] "<div style=text-align:start>[foo]</div><p>extra" queryCommandState("justifyfull") before 
-FAIL [["justifyfull",""]] "<div style=text-align:start>[foo]</div><p>extra" queryCommandValue("justifyfull") before assert_equals: Wrong result returned expected "left" but got "false"
-PASS [["justifyfull",""]] "<div style=text-align:start>[foo]</div><p>extra" queryCommandIndeterm("justifyfull") after 
-PASS [["justifyfull",""]] "<div style=text-align:start>[foo]</div><p>extra" queryCommandState("justifyfull") after 
-FAIL [["justifyfull",""]] "<div style=text-align:start>[foo]</div><p>extra" queryCommandValue("justifyfull") after assert_equals: Wrong result returned expected "justify" but got "true"
-PASS [["justifyfull",""]] "<div style=text-align:end>[foo]</div><p>extra": execCommand("justifyfull", false, "") return value 
-PASS [["justifyfull",""]] "<div style=text-align:end>[foo]</div><p>extra" checks for modifications to non-editable content 
-PASS [["justifyfull",""]] "<div style=text-align:end>[foo]</div><p>extra" compare innerHTML 
-PASS [["justifyfull",""]] "<div style=text-align:end>[foo]</div><p>extra" queryCommandIndeterm("justifyfull") before 
-PASS [["justifyfull",""]] "<div style=text-align:end>[foo]</div><p>extra" queryCommandState("justifyfull") before 
-FAIL [["justifyfull",""]] "<div style=text-align:end>[foo]</div><p>extra" queryCommandValue("justifyfull") before assert_equals: Wrong result returned expected "right" but got "false"
-PASS [["justifyfull",""]] "<div style=text-align:end>[foo]</div><p>extra" queryCommandIndeterm("justifyfull") after 
-PASS [["justifyfull",""]] "<div style=text-align:end>[foo]</div><p>extra" queryCommandState("justifyfull") after 
-FAIL [["justifyfull",""]] "<div style=text-align:end>[foo]</div><p>extra" queryCommandValue("justifyfull") after assert_equals: Wrong result returned expected "justify" but got "true"
-PASS [["defaultparagraphseparator","div"],["justifyfull",""]] "<div dir=rtl style=text-align:start>[foo]</div><p>extra": execCommand("defaultparagraphseparator", false, "div") return value 
-PASS [["defaultparagraphseparator","div"],["justifyfull",""]] "<div dir=rtl style=text-align:start>[foo]</div><p>extra": execCommand("justifyfull", false, "") return value 
-PASS [["defaultparagraphseparator","div"],["justifyfull",""]] "<div dir=rtl style=text-align:start>[foo]</div><p>extra" checks for modifications to non-editable content 
-FAIL [["defaultparagraphseparator","div"],["justifyfull",""]] "<div dir=rtl style=text-align:start>[foo]</div><p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<div style=\"text-align:justify\"><div dir=\"rtl\">foo</div></div><p>extra</p>" but got "<div dir=\"rtl\" style=\"text-align:justify\">foo</div><p>extra</p>"
-PASS [["defaultparagraphseparator","div"],["justifyfull",""]] "<div dir=rtl style=text-align:start>[foo]</div><p>extra" queryCommandIndeterm("defaultparagraphseparator") before 
-PASS [["defaultparagraphseparator","div"],["justifyfull",""]] "<div dir=rtl style=text-align:start>[foo]</div><p>extra" queryCommandState("defaultparagraphseparator") before 
-PASS [["defaultparagraphseparator","div"],["justifyfull",""]] "<div dir=rtl style=text-align:start>[foo]</div><p>extra" queryCommandValue("defaultparagraphseparator") before 
-PASS [["defaultparagraphseparator","div"],["justifyfull",""]] "<div dir=rtl style=text-align:start>[foo]</div><p>extra" queryCommandIndeterm("defaultparagraphseparator") after 
-PASS [["defaultparagraphseparator","div"],["justifyfull",""]] "<div dir=rtl style=text-align:start>[foo]</div><p>extra" queryCommandState("defaultparagraphseparator") after 
-PASS [["defaultparagraphseparator","div"],["justifyfull",""]] "<div dir=rtl style=text-align:start>[foo]</div><p>extra" queryCommandValue("defaultparagraphseparator") after 
-PASS [["defaultparagraphseparator","div"],["justifyfull",""]] "<div dir=rtl style=text-align:start>[foo]</div><p>extra" queryCommandIndeterm("justifyfull") before 
-PASS [["defaultparagraphseparator","div"],["justifyfull",""]] "<div dir=rtl style=text-align:start>[foo]</div><p>extra" queryCommandState("justifyfull") before 
-FAIL [["defaultparagraphseparator","div"],["justifyfull",""]] "<div dir=rtl style=text-align:start>[foo]</div><p>extra" queryCommandValue("justifyfull") before assert_equals: Wrong result returned expected "right" but got "false"
-PASS [["defaultparagraphseparator","div"],["justifyfull",""]] "<div dir=rtl style=text-align:start>[foo]</div><p>extra" queryCommandIndeterm("justifyfull") after 
-PASS [["defaultparagraphseparator","div"],["justifyfull",""]] "<div dir=rtl style=text-align:start>[foo]</div><p>extra" queryCommandState("justifyfull") after 
-FAIL [["defaultparagraphseparator","div"],["justifyfull",""]] "<div dir=rtl style=text-align:start>[foo]</div><p>extra" queryCommandValue("justifyfull") after assert_equals: Wrong result returned expected "justify" but got "true"
-PASS [["defaultparagraphseparator","p"],["justifyfull",""]] "<div dir=rtl style=text-align:start>[foo]</div><p>extra": execCommand("defaultparagraphseparator", false, "p") return value 
-PASS [["defaultparagraphseparator","p"],["justifyfull",""]] "<div dir=rtl style=text-align:start>[foo]</div><p>extra": execCommand("justifyfull", false, "") return value 
-PASS [["defaultparagraphseparator","p"],["justifyfull",""]] "<div dir=rtl style=text-align:start>[foo]</div><p>extra" checks for modifications to non-editable content 
-FAIL [["defaultparagraphseparator","p"],["justifyfull",""]] "<div dir=rtl style=text-align:start>[foo]</div><p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<div style=\"text-align:justify\"><div dir=\"rtl\">foo</div></div><p>extra</p>" but got "<div dir=\"rtl\" style=\"text-align:justify\">foo</div><p>extra</p>"
-PASS [["defaultparagraphseparator","p"],["justifyfull",""]] "<div dir=rtl style=text-align:start>[foo]</div><p>extra" queryCommandIndeterm("defaultparagraphseparator") before 
-PASS [["defaultparagraphseparator","p"],["justifyfull",""]] "<div dir=rtl style=text-align:start>[foo]</div><p>extra" queryCommandState("defaultparagraphseparator") before 
-PASS [["defaultparagraphseparator","p"],["justifyfull",""]] "<div dir=rtl style=text-align:start>[foo]</div><p>extra" queryCommandValue("defaultparagraphseparator") before 
-PASS [["defaultparagraphseparator","p"],["justifyfull",""]] "<div dir=rtl style=text-align:start>[foo]</div><p>extra" queryCommandIndeterm("defaultparagraphseparator") after 
-PASS [["defaultparagraphseparator","p"],["justifyfull",""]] "<div dir=rtl style=text-align:start>[foo]</div><p>extra" queryCommandState("defaultparagraphseparator") after 
-PASS [["defaultparagraphseparator","p"],["justifyfull",""]] "<div dir=rtl style=text-align:start>[foo]</div><p>extra" queryCommandValue("defaultparagraphseparator") after 
-PASS [["defaultparagraphseparator","p"],["justifyfull",""]] "<div dir=rtl style=text-align:start>[foo]</div><p>extra" queryCommandIndeterm("justifyfull") before 
-PASS [["defaultparagraphseparator","p"],["justifyfull",""]] "<div dir=rtl style=text-align:start>[foo]</div><p>extra" queryCommandState("justifyfull") before 
-FAIL [["defaultparagraphseparator","p"],["justifyfull",""]] "<div dir=rtl style=text-align:start>[foo]</div><p>extra" queryCommandValue("justifyfull") before assert_equals: Wrong result returned expected "right" but got "false"
-PASS [["defaultparagraphseparator","p"],["justifyfull",""]] "<div dir=rtl style=text-align:start>[foo]</div><p>extra" queryCommandIndeterm("justifyfull") after 
-PASS [["defaultparagraphseparator","p"],["justifyfull",""]] "<div dir=rtl style=text-align:start>[foo]</div><p>extra" queryCommandState("justifyfull") after 
-FAIL [["defaultparagraphseparator","p"],["justifyfull",""]] "<div dir=rtl style=text-align:start>[foo]</div><p>extra" queryCommandValue("justifyfull") after assert_equals: Wrong result returned expected "justify" but got "true"
-PASS [["defaultparagraphseparator","div"],["justifyfull",""]] "<div dir=rtl style=text-align:end>[foo]</div><p>extra": execCommand("defaultparagraphseparator", false, "div") return value 
-PASS [["defaultparagraphseparator","div"],["justifyfull",""]] "<div dir=rtl style=text-align:end>[foo]</div><p>extra": execCommand("justifyfull", false, "") return value 
-PASS [["defaultparagraphseparator","div"],["justifyfull",""]] "<div dir=rtl style=text-align:end>[foo]</div><p>extra" checks for modifications to non-editable content 
-FAIL [["defaultparagraphseparator","div"],["justifyfull",""]] "<div dir=rtl style=text-align:end>[foo]</div><p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<div style=\"text-align:justify\"><div dir=\"rtl\">foo</div></div><p>extra</p>" but got "<div dir=\"rtl\" style=\"text-align:justify\">foo</div><p>extra</p>"
-PASS [["defaultparagraphseparator","div"],["justifyfull",""]] "<div dir=rtl style=text-align:end>[foo]</div><p>extra" queryCommandIndeterm("defaultparagraphseparator") before 
-PASS [["defaultparagraphseparator","div"],["justifyfull",""]] "<div dir=rtl style=text-align:end>[foo]</div><p>extra" queryCommandState("defaultparagraphseparator") before 
-PASS [["defaultparagraphseparator","div"],["justifyfull",""]] "<div dir=rtl style=text-align:end>[foo]</div><p>extra" queryCommandValue("defaultparagraphseparator") before 
-PASS [["defaultparagraphseparator","div"],["justifyfull",""]] "<div dir=rtl style=text-align:end>[foo]</div><p>extra" queryCommandIndeterm("defaultparagraphseparator") after 
-PASS [["defaultparagraphseparator","div"],["justifyfull",""]] "<div dir=rtl style=text-align:end>[foo]</div><p>extra" queryCommandState("defaultparagraphseparator") after 
-PASS [["defaultparagraphseparator","div"],["justifyfull",""]] "<div dir=rtl style=text-align:end>[foo]</div><p>extra" queryCommandValue("defaultparagraphseparator") after 
-PASS [["defaultparagraphseparator","div"],["justifyfull",""]] "<div dir=rtl style=text-align:end>[foo]</div><p>extra" queryCommandIndeterm("justifyfull") before 
-PASS [["defaultparagraphseparator","div"],["justifyfull",""]] "<div dir=rtl style=text-align:end>[foo]</div><p>extra" queryCommandState("justifyfull") before 
-FAIL [["defaultparagraphseparator","div"],["justifyfull",""]] "<div dir=rtl style=text-align:end>[foo]</div><p>extra" queryCommandValue("justifyfull") before assert_equals: Wrong result returned expected "left" but got "false"
-PASS [["defaultparagraphseparator","div"],["justifyfull",""]] "<div dir=rtl style=text-align:end>[foo]</div><p>extra" queryCommandIndeterm("justifyfull") after 
-PASS [["defaultparagraphseparator","div"],["justifyfull",""]] "<div dir=rtl style=text-align:end>[foo]</div><p>extra" queryCommandState("justifyfull") after 
-FAIL [["defaultparagraphseparator","div"],["justifyfull",""]] "<div dir=rtl style=text-align:end>[foo]</div><p>extra" queryCommandValue("justifyfull") after assert_equals: Wrong result returned expected "justify" but got "true"
-PASS [["defaultparagraphseparator","p"],["justifyfull",""]] "<div dir=rtl style=text-align:end>[foo]</div><p>extra": execCommand("defaultparagraphseparator", false, "p") return value 
-PASS [["defaultparagraphseparator","p"],["justifyfull",""]] "<div dir=rtl style=text-align:end>[foo]</div><p>extra": execCommand("justifyfull", false, "") return value 
-PASS [["defaultparagraphseparator","p"],["justifyfull",""]] "<div dir=rtl style=text-align:end>[foo]</div><p>extra" checks for modifications to non-editable content 
-FAIL [["defaultparagraphseparator","p"],["justifyfull",""]] "<div dir=rtl style=text-align:end>[foo]</div><p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<div style=\"text-align:justify\"><div dir=\"rtl\">foo</div></div><p>extra</p>" but got "<div dir=\"rtl\" style=\"text-align:justify\">foo</div><p>extra</p>"
-PASS [["defaultparagraphseparator","p"],["justifyfull",""]] "<div dir=rtl style=text-align:end>[foo]</div><p>extra" queryCommandIndeterm("defaultparagraphseparator") before 
-PASS [["defaultparagraphseparator","p"],["justifyfull",""]] "<div dir=rtl style=text-align:end>[foo]</div><p>extra" queryCommandState("defaultparagraphseparator") before 
-PASS [["defaultparagraphseparator","p"],["justifyfull",""]] "<div dir=rtl style=text-align:end>[foo]</div><p>extra" queryCommandValue("defaultparagraphseparator") before 
-PASS [["defaultparagraphseparator","p"],["justifyfull",""]] "<div dir=rtl style=text-align:end>[foo]</div><p>extra" queryCommandIndeterm("defaultparagraphseparator") after 
-PASS [["defaultparagraphseparator","p"],["justifyfull",""]] "<div dir=rtl style=text-align:end>[foo]</div><p>extra" queryCommandState("defaultparagraphseparator") after 
-PASS [["defaultparagraphseparator","p"],["justifyfull",""]] "<div dir=rtl style=text-align:end>[foo]</div><p>extra" queryCommandValue("defaultparagraphseparator") after 
-PASS [["defaultparagraphseparator","p"],["justifyfull",""]] "<div dir=rtl style=text-align:end>[foo]</div><p>extra" queryCommandIndeterm("justifyfull") before 
-PASS [["defaultparagraphseparator","p"],["justifyfull",""]] "<div dir=rtl style=text-align:end>[foo]</div><p>extra" queryCommandState("justifyfull") before 
-FAIL [["defaultparagraphseparator","p"],["justifyfull",""]] "<div dir=rtl style=text-align:end>[foo]</div><p>extra" queryCommandValue("justifyfull") before assert_equals: Wrong result returned expected "left" but got "false"
-PASS [["defaultparagraphseparator","p"],["justifyfull",""]] "<div dir=rtl style=text-align:end>[foo]</div><p>extra" queryCommandIndeterm("justifyfull") after 
-PASS [["defaultparagraphseparator","p"],["justifyfull",""]] "<div dir=rtl style=text-align:end>[foo]</div><p>extra" queryCommandState("justifyfull") after 
-FAIL [["defaultparagraphseparator","p"],["justifyfull",""]] "<div dir=rtl style=text-align:end>[foo]</div><p>extra" queryCommandValue("justifyfull") after assert_equals: Wrong result returned expected "justify" but got "true"
-PASS [["justifyfull",""]] "<div style=text-align:justify><p>foo</div> <p>[bar]": execCommand("justifyfull", false, "") return value 
-PASS [["justifyfull",""]] "<div style=text-align:justify><p>foo</div> <p>[bar]" checks for modifications to non-editable content 
-FAIL [["justifyfull",""]] "<div style=text-align:justify><p>foo</div> <p>[bar]" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<div style=\"text-align:justify\"><p>foo</p> <p>bar</p></div>" but got "<div style=\"text-align:justify\"><p>foo</p></div> <p style=\"text-align:justify\">bar</p>"
-PASS [["justifyfull",""]] "<div style=text-align:justify><p>foo</div> <p>[bar]" queryCommandIndeterm("justifyfull") before 
-PASS [["justifyfull",""]] "<div style=text-align:justify><p>foo</div> <p>[bar]" queryCommandState("justifyfull") before 
-FAIL [["justifyfull",""]] "<div style=text-align:justify><p>foo</div> <p>[bar]" queryCommandValue("justifyfull") before assert_equals: Wrong result returned expected "left" but got "false"
-PASS [["justifyfull",""]] "<div style=text-align:justify><p>foo</div> <p>[bar]" queryCommandIndeterm("justifyfull") after 
-PASS [["justifyfull",""]] "<div style=text-align:justify><p>foo</div> <p>[bar]" queryCommandState("justifyfull") after 
-FAIL [["justifyfull",""]] "<div style=text-align:justify><p>foo</div> <p>[bar]" queryCommandValue("justifyfull") after assert_equals: Wrong result returned expected "justify" but got "true"
-PASS [["justifyfull",""]] "<div align=justify><p>foo</div> <p>[bar]": execCommand("justifyfull", false, "") return value 
-PASS [["justifyfull",""]] "<div align=justify><p>foo</div> <p>[bar]" checks for modifications to non-editable content 
-FAIL [["justifyfull",""]] "<div align=justify><p>foo</div> <p>[bar]" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<div align=\"justify\"><p>foo</p> <p>bar</p></div>" but got "<div align=\"justify\"><p>foo</p></div> <p style=\"text-align:justify\">bar</p>"
-PASS [["justifyfull",""]] "<div align=justify><p>foo</div> <p>[bar]" queryCommandIndeterm("justifyfull") before 
-PASS [["justifyfull",""]] "<div align=justify><p>foo</div> <p>[bar]" queryCommandState("justifyfull") before 
-FAIL [["justifyfull",""]] "<div align=justify><p>foo</div> <p>[bar]" queryCommandValue("justifyfull") before assert_equals: Wrong result returned expected "left" but got "false"
-PASS [["justifyfull",""]] "<div align=justify><p>foo</div> <p>[bar]" queryCommandIndeterm("justifyfull") after 
-PASS [["justifyfull",""]] "<div align=justify><p>foo</div> <p>[bar]" queryCommandState("justifyfull") after 
-FAIL [["justifyfull",""]] "<div align=justify><p>foo</div> <p>[bar]" queryCommandValue("justifyfull") after assert_equals: Wrong result returned expected "justify" but got "true"
-PASS [["justifyfull",""]] "<p>[foo]</p> <div style=text-align:justify><p>bar</div>": execCommand("justifyfull", false, "") return value 
-PASS [["justifyfull",""]] "<p>[foo]</p> <div style=text-align:justify><p>bar</div>" checks for modifications to non-editable content 
-FAIL [["justifyfull",""]] "<p>[foo]</p> <div style=text-align:justify><p>bar</div>" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<div style=\"text-align:justify\"><p>foo</p> <p>bar</p></div>" but got "<p style=\"text-align:justify\">foo</p> <div style=\"text-align:justify\"><p>bar</p></div>"
-PASS [["justifyfull",""]] "<p>[foo]</p> <div style=text-align:justify><p>bar</div>" queryCommandIndeterm("justifyfull") before 
-PASS [["justifyfull",""]] "<p>[foo]</p> <div style=text-align:justify><p>bar</div>" queryCommandState("justifyfull") before 
-FAIL [["justifyfull",""]] "<p>[foo]</p> <div style=text-align:justify><p>bar</div>" queryCommandValue("justifyfull") before assert_equals: Wrong result returned expected "left" but got "false"
-PASS [["justifyfull",""]] "<p>[foo]</p> <div style=text-align:justify><p>bar</div>" queryCommandIndeterm("justifyfull") after 
-PASS [["justifyfull",""]] "<p>[foo]</p> <div style=text-align:justify><p>bar</div>" queryCommandState("justifyfull") after 
-FAIL [["justifyfull",""]] "<p>[foo]</p> <div style=text-align:justify><p>bar</div>" queryCommandValue("justifyfull") after assert_equals: Wrong result returned expected "justify" but got "true"
-PASS [["justifyfull",""]] "<p>[foo]</p> <div align=justify><p>bar</div>": execCommand("justifyfull", false, "") return value 
-PASS [["justifyfull",""]] "<p>[foo]</p> <div align=justify><p>bar</div>" checks for modifications to non-editable content 
-FAIL [["justifyfull",""]] "<p>[foo]</p> <div align=justify><p>bar</div>" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<div align=\"justify\"><p>foo</p> <p>bar</p></div>" but got "<p style=\"text-align:justify\">foo</p> <div align=\"justify\"><p>bar</p></div>"
-PASS [["justifyfull",""]] "<p>[foo]</p> <div align=justify><p>bar</div>" queryCommandIndeterm("justifyfull") before 
-PASS [["justifyfull",""]] "<p>[foo]</p> <div align=justify><p>bar</div>" queryCommandState("justifyfull") before 
-FAIL [["justifyfull",""]] "<p>[foo]</p> <div align=justify><p>bar</div>" queryCommandValue("justifyfull") before assert_equals: Wrong result returned expected "left" but got "false"
-PASS [["justifyfull",""]] "<p>[foo]</p> <div align=justify><p>bar</div>" queryCommandIndeterm("justifyfull") after 
-PASS [["justifyfull",""]] "<p>[foo]</p> <div align=justify><p>bar</div>" queryCommandState("justifyfull") after 
-FAIL [["justifyfull",""]] "<p>[foo]</p> <div align=justify><p>bar</div>" queryCommandValue("justifyfull") after assert_equals: Wrong result returned expected "justify" but got "true"
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<div style=text-align:justify><p>foo</div> <p>[bar]</p> <div style=text-align:justify><p>baz</div>": execCommand("stylewithcss", false, "true") return value 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<div style=text-align:justify><p>foo</div> <p>[bar]</p> <div style=text-align:justify><p>baz</div>": execCommand("defaultparagraphseparator", false, "div") return value 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<div style=text-align:justify><p>foo</div> <p>[bar]</p> <div style=text-align:justify><p>baz</div>": execCommand("justifyfull", false, "") return value 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<div style=text-align:justify><p>foo</div> <p>[bar]</p> <div style=text-align:justify><p>baz</div>" checks for modifications to non-editable content 
-FAIL [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<div style=text-align:justify><p>foo</div> <p>[bar]</p> <div style=text-align:justify><p>baz</div>" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<div style=\"text-align:justify\"><p>foo</p> <p>bar</p> <p>baz</p></div>" but got "<div style=\"text-align:justify\"><p>foo</p></div> <p style=\"text-align:justify\">bar</p> <div style=\"text-align:justify\"><p>baz</p></div>"
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<div style=text-align:justify><p>foo</div> <p>[bar]</p> <div style=text-align:justify><p>baz</div>" queryCommandIndeterm("stylewithcss") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<div style=text-align:justify><p>foo</div> <p>[bar]</p> <div style=text-align:justify><p>baz</div>" queryCommandState("stylewithcss") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<div style=text-align:justify><p>foo</div> <p>[bar]</p> <div style=text-align:justify><p>baz</div>" queryCommandValue("stylewithcss") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<div style=text-align:justify><p>foo</div> <p>[bar]</p> <div style=text-align:justify><p>baz</div>" queryCommandIndeterm("stylewithcss") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<div style=text-align:justify><p>foo</div> <p>[bar]</p> <div style=text-align:justify><p>baz</div>" queryCommandState("stylewithcss") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<div style=text-align:justify><p>foo</div> <p>[bar]</p> <div style=text-align:justify><p>baz</div>" queryCommandValue("stylewithcss") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<div style=text-align:justify><p>foo</div> <p>[bar]</p> <div style=text-align:justify><p>baz</div>" queryCommandIndeterm("defaultparagraphseparator") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<div style=text-align:justify><p>foo</div> <p>[bar]</p> <div style=text-align:justify><p>baz</div>" queryCommandState("defaultparagraphseparator") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<div style=text-align:justify><p>foo</div> <p>[bar]</p> <div style=text-align:justify><p>baz</div>" queryCommandValue("defaultparagraphseparator") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<div style=text-align:justify><p>foo</div> <p>[bar]</p> <div style=text-align:justify><p>baz</div>" queryCommandIndeterm("defaultparagraphseparator") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<div style=text-align:justify><p>foo</div> <p>[bar]</p> <div style=text-align:justify><p>baz</div>" queryCommandState("defaultparagraphseparator") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<div style=text-align:justify><p>foo</div> <p>[bar]</p> <div style=text-align:justify><p>baz</div>" queryCommandValue("defaultparagraphseparator") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<div style=text-align:justify><p>foo</div> <p>[bar]</p> <div style=text-align:justify><p>baz</div>" queryCommandIndeterm("justifyfull") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<div style=text-align:justify><p>foo</div> <p>[bar]</p> <div style=text-align:justify><p>baz</div>" queryCommandState("justifyfull") before 
-FAIL [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<div style=text-align:justify><p>foo</div> <p>[bar]</p> <div style=text-align:justify><p>baz</div>" queryCommandValue("justifyfull") before assert_equals: Wrong result returned expected "left" but got "false"
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<div style=text-align:justify><p>foo</div> <p>[bar]</p> <div style=text-align:justify><p>baz</div>" queryCommandIndeterm("justifyfull") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<div style=text-align:justify><p>foo</div> <p>[bar]</p> <div style=text-align:justify><p>baz</div>" queryCommandState("justifyfull") after 
-FAIL [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<div style=text-align:justify><p>foo</div> <p>[bar]</p> <div style=text-align:justify><p>baz</div>" queryCommandValue("justifyfull") after assert_equals: Wrong result returned expected "justify" but got "true"
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<div style=text-align:justify><p>foo</div> <p>[bar]</p> <div style=text-align:justify><p>baz</div>": execCommand("stylewithcss", false, "false") return value 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<div style=text-align:justify><p>foo</div> <p>[bar]</p> <div style=text-align:justify><p>baz</div>": execCommand("defaultparagraphseparator", false, "div") return value 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<div style=text-align:justify><p>foo</div> <p>[bar]</p> <div style=text-align:justify><p>baz</div>": execCommand("justifyfull", false, "") return value 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<div style=text-align:justify><p>foo</div> <p>[bar]</p> <div style=text-align:justify><p>baz</div>" checks for modifications to non-editable content 
-FAIL [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<div style=text-align:justify><p>foo</div> <p>[bar]</p> <div style=text-align:justify><p>baz</div>" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<div style=\"text-align:justify\"><p>foo</p> <p>bar</p> <p>baz</p></div>" but got "<div style=\"text-align:justify\"><p>foo</p></div> <p style=\"text-align:justify\">bar</p> <div style=\"text-align:justify\"><p>baz</p></div>"
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<div style=text-align:justify><p>foo</div> <p>[bar]</p> <div style=text-align:justify><p>baz</div>" queryCommandIndeterm("stylewithcss") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<div style=text-align:justify><p>foo</div> <p>[bar]</p> <div style=text-align:justify><p>baz</div>" queryCommandState("stylewithcss") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<div style=text-align:justify><p>foo</div> <p>[bar]</p> <div style=text-align:justify><p>baz</div>" queryCommandValue("stylewithcss") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<div style=text-align:justify><p>foo</div> <p>[bar]</p> <div style=text-align:justify><p>baz</div>" queryCommandIndeterm("stylewithcss") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<div style=text-align:justify><p>foo</div> <p>[bar]</p> <div style=text-align:justify><p>baz</div>" queryCommandState("stylewithcss") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<div style=text-align:justify><p>foo</div> <p>[bar]</p> <div style=text-align:justify><p>baz</div>" queryCommandValue("stylewithcss") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<div style=text-align:justify><p>foo</div> <p>[bar]</p> <div style=text-align:justify><p>baz</div>" queryCommandIndeterm("defaultparagraphseparator") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<div style=text-align:justify><p>foo</div> <p>[bar]</p> <div style=text-align:justify><p>baz</div>" queryCommandState("defaultparagraphseparator") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<div style=text-align:justify><p>foo</div> <p>[bar]</p> <div style=text-align:justify><p>baz</div>" queryCommandValue("defaultparagraphseparator") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<div style=text-align:justify><p>foo</div> <p>[bar]</p> <div style=text-align:justify><p>baz</div>" queryCommandIndeterm("defaultparagraphseparator") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<div style=text-align:justify><p>foo</div> <p>[bar]</p> <div style=text-align:justify><p>baz</div>" queryCommandState("defaultparagraphseparator") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<div style=text-align:justify><p>foo</div> <p>[bar]</p> <div style=text-align:justify><p>baz</div>" queryCommandValue("defaultparagraphseparator") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<div style=text-align:justify><p>foo</div> <p>[bar]</p> <div style=text-align:justify><p>baz</div>" queryCommandIndeterm("justifyfull") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<div style=text-align:justify><p>foo</div> <p>[bar]</p> <div style=text-align:justify><p>baz</div>" queryCommandState("justifyfull") before 
-FAIL [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<div style=text-align:justify><p>foo</div> <p>[bar]</p> <div style=text-align:justify><p>baz</div>" queryCommandValue("justifyfull") before assert_equals: Wrong result returned expected "left" but got "false"
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<div style=text-align:justify><p>foo</div> <p>[bar]</p> <div style=text-align:justify><p>baz</div>" queryCommandIndeterm("justifyfull") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<div style=text-align:justify><p>foo</div> <p>[bar]</p> <div style=text-align:justify><p>baz</div>" queryCommandState("justifyfull") after 
-FAIL [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<div style=text-align:justify><p>foo</div> <p>[bar]</p> <div style=text-align:justify><p>baz</div>" queryCommandValue("justifyfull") after assert_equals: Wrong result returned expected "justify" but got "true"
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<div style=text-align:justify><p>foo</div> <p>[bar]</p> <div style=text-align:justify><p>baz</div>": execCommand("stylewithcss", false, "true") return value 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<div style=text-align:justify><p>foo</div> <p>[bar]</p> <div style=text-align:justify><p>baz</div>": execCommand("defaultparagraphseparator", false, "p") return value 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<div style=text-align:justify><p>foo</div> <p>[bar]</p> <div style=text-align:justify><p>baz</div>": execCommand("justifyfull", false, "") return value 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<div style=text-align:justify><p>foo</div> <p>[bar]</p> <div style=text-align:justify><p>baz</div>" checks for modifications to non-editable content 
-FAIL [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<div style=text-align:justify><p>foo</div> <p>[bar]</p> <div style=text-align:justify><p>baz</div>" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<div style=\"text-align:justify\"><p>foo</p> <p>bar</p> <p>baz</p></div>" but got "<div style=\"text-align:justify\"><p>foo</p></div> <p style=\"text-align:justify\">bar</p> <div style=\"text-align:justify\"><p>baz</p></div>"
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<div style=text-align:justify><p>foo</div> <p>[bar]</p> <div style=text-align:justify><p>baz</div>" queryCommandIndeterm("stylewithcss") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<div style=text-align:justify><p>foo</div> <p>[bar]</p> <div style=text-align:justify><p>baz</div>" queryCommandState("stylewithcss") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<div style=text-align:justify><p>foo</div> <p>[bar]</p> <div style=text-align:justify><p>baz</div>" queryCommandValue("stylewithcss") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<div style=text-align:justify><p>foo</div> <p>[bar]</p> <div style=text-align:justify><p>baz</div>" queryCommandIndeterm("stylewithcss") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<div style=text-align:justify><p>foo</div> <p>[bar]</p> <div style=text-align:justify><p>baz</div>" queryCommandState("stylewithcss") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<div style=text-align:justify><p>foo</div> <p>[bar]</p> <div style=text-align:justify><p>baz</div>" queryCommandValue("stylewithcss") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<div style=text-align:justify><p>foo</div> <p>[bar]</p> <div style=text-align:justify><p>baz</div>" queryCommandIndeterm("defaultparagraphseparator") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<div style=text-align:justify><p>foo</div> <p>[bar]</p> <div style=text-align:justify><p>baz</div>" queryCommandState("defaultparagraphseparator") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<div style=text-align:justify><p>foo</div> <p>[bar]</p> <div style=text-align:justify><p>baz</div>" queryCommandValue("defaultparagraphseparator") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<div style=text-align:justify><p>foo</div> <p>[bar]</p> <div style=text-align:justify><p>baz</div>" queryCommandIndeterm("defaultparagraphseparator") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<div style=text-align:justify><p>foo</div> <p>[bar]</p> <div style=text-align:justify><p>baz</div>" queryCommandState("defaultparagraphseparator") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<div style=text-align:justify><p>foo</div> <p>[bar]</p> <div style=text-align:justify><p>baz</div>" queryCommandValue("defaultparagraphseparator") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<div style=text-align:justify><p>foo</div> <p>[bar]</p> <div style=text-align:justify><p>baz</div>" queryCommandIndeterm("justifyfull") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<div style=text-align:justify><p>foo</div> <p>[bar]</p> <div style=text-align:justify><p>baz</div>" queryCommandState("justifyfull") before 
-FAIL [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<div style=text-align:justify><p>foo</div> <p>[bar]</p> <div style=text-align:justify><p>baz</div>" queryCommandValue("justifyfull") before assert_equals: Wrong result returned expected "left" but got "false"
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<div style=text-align:justify><p>foo</div> <p>[bar]</p> <div style=text-align:justify><p>baz</div>" queryCommandIndeterm("justifyfull") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<div style=text-align:justify><p>foo</div> <p>[bar]</p> <div style=text-align:justify><p>baz</div>" queryCommandState("justifyfull") after 
-FAIL [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<div style=text-align:justify><p>foo</div> <p>[bar]</p> <div style=text-align:justify><p>baz</div>" queryCommandValue("justifyfull") after assert_equals: Wrong result returned expected "justify" but got "true"
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<div style=text-align:justify><p>foo</div> <p>[bar]</p> <div style=text-align:justify><p>baz</div>": execCommand("stylewithcss", false, "false") return value 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<div style=text-align:justify><p>foo</div> <p>[bar]</p> <div style=text-align:justify><p>baz</div>": execCommand("defaultparagraphseparator", false, "p") return value 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<div style=text-align:justify><p>foo</div> <p>[bar]</p> <div style=text-align:justify><p>baz</div>": execCommand("justifyfull", false, "") return value 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<div style=text-align:justify><p>foo</div> <p>[bar]</p> <div style=text-align:justify><p>baz</div>" checks for modifications to non-editable content 
-FAIL [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<div style=text-align:justify><p>foo</div> <p>[bar]</p> <div style=text-align:justify><p>baz</div>" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<div style=\"text-align:justify\"><p>foo</p> <p>bar</p> <p>baz</p></div>" but got "<div style=\"text-align:justify\"><p>foo</p></div> <p style=\"text-align:justify\">bar</p> <div style=\"text-align:justify\"><p>baz</p></div>"
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<div style=text-align:justify><p>foo</div> <p>[bar]</p> <div style=text-align:justify><p>baz</div>" queryCommandIndeterm("stylewithcss") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<div style=text-align:justify><p>foo</div> <p>[bar]</p> <div style=text-align:justify><p>baz</div>" queryCommandState("stylewithcss") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<div style=text-align:justify><p>foo</div> <p>[bar]</p> <div style=text-align:justify><p>baz</div>" queryCommandValue("stylewithcss") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<div style=text-align:justify><p>foo</div> <p>[bar]</p> <div style=text-align:justify><p>baz</div>" queryCommandIndeterm("stylewithcss") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<div style=text-align:justify><p>foo</div> <p>[bar]</p> <div style=text-align:justify><p>baz</div>" queryCommandState("stylewithcss") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<div style=text-align:justify><p>foo</div> <p>[bar]</p> <div style=text-align:justify><p>baz</div>" queryCommandValue("stylewithcss") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<div style=text-align:justify><p>foo</div> <p>[bar]</p> <div style=text-align:justify><p>baz</div>" queryCommandIndeterm("defaultparagraphseparator") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<div style=text-align:justify><p>foo</div> <p>[bar]</p> <div style=text-align:justify><p>baz</div>" queryCommandState("defaultparagraphseparator") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<div style=text-align:justify><p>foo</div> <p>[bar]</p> <div style=text-align:justify><p>baz</div>" queryCommandValue("defaultparagraphseparator") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<div style=text-align:justify><p>foo</div> <p>[bar]</p> <div style=text-align:justify><p>baz</div>" queryCommandIndeterm("defaultparagraphseparator") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<div style=text-align:justify><p>foo</div> <p>[bar]</p> <div style=text-align:justify><p>baz</div>" queryCommandState("defaultparagraphseparator") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<div style=text-align:justify><p>foo</div> <p>[bar]</p> <div style=text-align:justify><p>baz</div>" queryCommandValue("defaultparagraphseparator") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<div style=text-align:justify><p>foo</div> <p>[bar]</p> <div style=text-align:justify><p>baz</div>" queryCommandIndeterm("justifyfull") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<div style=text-align:justify><p>foo</div> <p>[bar]</p> <div style=text-align:justify><p>baz</div>" queryCommandState("justifyfull") before 
-FAIL [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<div style=text-align:justify><p>foo</div> <p>[bar]</p> <div style=text-align:justify><p>baz</div>" queryCommandValue("justifyfull") before assert_equals: Wrong result returned expected "left" but got "false"
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<div style=text-align:justify><p>foo</div> <p>[bar]</p> <div style=text-align:justify><p>baz</div>" queryCommandIndeterm("justifyfull") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<div style=text-align:justify><p>foo</div> <p>[bar]</p> <div style=text-align:justify><p>baz</div>" queryCommandState("justifyfull") after 
-FAIL [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<div style=text-align:justify><p>foo</div> <p>[bar]</p> <div style=text-align:justify><p>baz</div>" queryCommandValue("justifyfull") after assert_equals: Wrong result returned expected "justify" but got "true"
-PASS [["defaultparagraphseparator","div"],["justifyfull",""]] "<div align=justify><p>foo</div> <p>[bar]</p> <div align=justify><p>baz</div>": execCommand("defaultparagraphseparator", false, "div") return value 
-PASS [["defaultparagraphseparator","div"],["justifyfull",""]] "<div align=justify><p>foo</div> <p>[bar]</p> <div align=justify><p>baz</div>": execCommand("justifyfull", false, "") return value 
-PASS [["defaultparagraphseparator","div"],["justifyfull",""]] "<div align=justify><p>foo</div> <p>[bar]</p> <div align=justify><p>baz</div>" checks for modifications to non-editable content 
-FAIL [["defaultparagraphseparator","div"],["justifyfull",""]] "<div align=justify><p>foo</div> <p>[bar]</p> <div align=justify><p>baz</div>" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<div align=\"justify\"><p>foo</p> <p>bar</p> <p>baz</p></div>" but got "<div align=\"justify\"><p>foo</p></div> <p style=\"text-align:justify\">bar</p> <div align=\"justify\"><p>baz</p></div>"
-PASS [["defaultparagraphseparator","div"],["justifyfull",""]] "<div align=justify><p>foo</div> <p>[bar]</p> <div align=justify><p>baz</div>" queryCommandIndeterm("defaultparagraphseparator") before 
-PASS [["defaultparagraphseparator","div"],["justifyfull",""]] "<div align=justify><p>foo</div> <p>[bar]</p> <div align=justify><p>baz</div>" queryCommandState("defaultparagraphseparator") before 
-PASS [["defaultparagraphseparator","div"],["justifyfull",""]] "<div align=justify><p>foo</div> <p>[bar]</p> <div align=justify><p>baz</div>" queryCommandValue("defaultparagraphseparator") before 
-PASS [["defaultparagraphseparator","div"],["justifyfull",""]] "<div align=justify><p>foo</div> <p>[bar]</p> <div align=justify><p>baz</div>" queryCommandIndeterm("defaultparagraphseparator") after 
-PASS [["defaultparagraphseparator","div"],["justifyfull",""]] "<div align=justify><p>foo</div> <p>[bar]</p> <div align=justify><p>baz</div>" queryCommandState("defaultparagraphseparator") after 
-PASS [["defaultparagraphseparator","div"],["justifyfull",""]] "<div align=justify><p>foo</div> <p>[bar]</p> <div align=justify><p>baz</div>" queryCommandValue("defaultparagraphseparator") after 
-PASS [["defaultparagraphseparator","div"],["justifyfull",""]] "<div align=justify><p>foo</div> <p>[bar]</p> <div align=justify><p>baz</div>" queryCommandIndeterm("justifyfull") before 
-PASS [["defaultparagraphseparator","div"],["justifyfull",""]] "<div align=justify><p>foo</div> <p>[bar]</p> <div align=justify><p>baz</div>" queryCommandState("justifyfull") before 
-FAIL [["defaultparagraphseparator","div"],["justifyfull",""]] "<div align=justify><p>foo</div> <p>[bar]</p> <div align=justify><p>baz</div>" queryCommandValue("justifyfull") before assert_equals: Wrong result returned expected "left" but got "false"
-PASS [["defaultparagraphseparator","div"],["justifyfull",""]] "<div align=justify><p>foo</div> <p>[bar]</p> <div align=justify><p>baz</div>" queryCommandIndeterm("justifyfull") after 
-PASS [["defaultparagraphseparator","div"],["justifyfull",""]] "<div align=justify><p>foo</div> <p>[bar]</p> <div align=justify><p>baz</div>" queryCommandState("justifyfull") after 
-FAIL [["defaultparagraphseparator","div"],["justifyfull",""]] "<div align=justify><p>foo</div> <p>[bar]</p> <div align=justify><p>baz</div>" queryCommandValue("justifyfull") after assert_equals: Wrong result returned expected "justify" but got "true"
-PASS [["defaultparagraphseparator","p"],["justifyfull",""]] "<div align=justify><p>foo</div> <p>[bar]</p> <div align=justify><p>baz</div>": execCommand("defaultparagraphseparator", false, "p") return value 
-PASS [["defaultparagraphseparator","p"],["justifyfull",""]] "<div align=justify><p>foo</div> <p>[bar]</p> <div align=justify><p>baz</div>": execCommand("justifyfull", false, "") return value 
-PASS [["defaultparagraphseparator","p"],["justifyfull",""]] "<div align=justify><p>foo</div> <p>[bar]</p> <div align=justify><p>baz</div>" checks for modifications to non-editable content 
-FAIL [["defaultparagraphseparator","p"],["justifyfull",""]] "<div align=justify><p>foo</div> <p>[bar]</p> <div align=justify><p>baz</div>" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<div align=\"justify\"><p>foo</p> <p>bar</p> <p>baz</p></div>" but got "<div align=\"justify\"><p>foo</p></div> <p style=\"text-align:justify\">bar</p> <div align=\"justify\"><p>baz</p></div>"
-PASS [["defaultparagraphseparator","p"],["justifyfull",""]] "<div align=justify><p>foo</div> <p>[bar]</p> <div align=justify><p>baz</div>" queryCommandIndeterm("defaultparagraphseparator") before 
-PASS [["defaultparagraphseparator","p"],["justifyfull",""]] "<div align=justify><p>foo</div> <p>[bar]</p> <div align=justify><p>baz</div>" queryCommandState("defaultparagraphseparator") before 
-PASS [["defaultparagraphseparator","p"],["justifyfull",""]] "<div align=justify><p>foo</div> <p>[bar]</p> <div align=justify><p>baz</div>" queryCommandValue("defaultparagraphseparator") before 
-PASS [["defaultparagraphseparator","p"],["justifyfull",""]] "<div align=justify><p>foo</div> <p>[bar]</p> <div align=justify><p>baz</div>" queryCommandIndeterm("defaultparagraphseparator") after 
-PASS [["defaultparagraphseparator","p"],["justifyfull",""]] "<div align=justify><p>foo</div> <p>[bar]</p> <div align=justify><p>baz</div>" queryCommandState("defaultparagraphseparator") after 
-PASS [["defaultparagraphseparator","p"],["justifyfull",""]] "<div align=justify><p>foo</div> <p>[bar]</p> <div align=justify><p>baz</div>" queryCommandValue("defaultparagraphseparator") after 
-PASS [["defaultparagraphseparator","p"],["justifyfull",""]] "<div align=justify><p>foo</div> <p>[bar]</p> <div align=justify><p>baz</div>" queryCommandIndeterm("justifyfull") before 
-PASS [["defaultparagraphseparator","p"],["justifyfull",""]] "<div align=justify><p>foo</div> <p>[bar]</p> <div align=justify><p>baz</div>" queryCommandState("justifyfull") before 
-FAIL [["defaultparagraphseparator","p"],["justifyfull",""]] "<div align=justify><p>foo</div> <p>[bar]</p> <div align=justify><p>baz</div>" queryCommandValue("justifyfull") before assert_equals: Wrong result returned expected "left" but got "false"
-PASS [["defaultparagraphseparator","p"],["justifyfull",""]] "<div align=justify><p>foo</div> <p>[bar]</p> <div align=justify><p>baz</div>" queryCommandIndeterm("justifyfull") after 
-PASS [["defaultparagraphseparator","p"],["justifyfull",""]] "<div align=justify><p>foo</div> <p>[bar]</p> <div align=justify><p>baz</div>" queryCommandState("justifyfull") after 
-FAIL [["defaultparagraphseparator","p"],["justifyfull",""]] "<div align=justify><p>foo</div> <p>[bar]</p> <div align=justify><p>baz</div>" queryCommandValue("justifyfull") after assert_equals: Wrong result returned expected "justify" but got "true"
-Harness: the test ran to completion.
-
diff --git a/third_party/WebKit/LayoutTests/external/wpt/editing/run/justifyright-expected.txt b/third_party/WebKit/LayoutTests/external/wpt/editing/run/justifyright-expected.txt
deleted file mode 100644
index 1ce97ee..0000000
--- a/third_party/WebKit/LayoutTests/external/wpt/editing/run/justifyright-expected.txt
+++ /dev/null
@@ -1,4761 +0,0 @@
-This is a testharness.js-based test.
-Found 4757 tests; 4039 PASS, 718 FAIL, 0 TIMEOUT, 0 NOTRUN.
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "foo[]bar<p>extra": execCommand("stylewithcss", false, "true") return value 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "foo[]bar<p>extra": execCommand("defaultparagraphseparator", false, "div") return value 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "foo[]bar<p>extra": execCommand("justifyright", false, "") return value 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "foo[]bar<p>extra" checks for modifications to non-editable content 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "foo[]bar<p>extra" compare innerHTML 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "foo[]bar<p>extra" queryCommandIndeterm("stylewithcss") before 
-FAIL [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "foo[]bar<p>extra" queryCommandState("stylewithcss") before assert_equals: Wrong result returned expected false but got true
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "foo[]bar<p>extra" queryCommandValue("stylewithcss") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "foo[]bar<p>extra" queryCommandIndeterm("stylewithcss") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "foo[]bar<p>extra" queryCommandState("stylewithcss") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "foo[]bar<p>extra" queryCommandValue("stylewithcss") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "foo[]bar<p>extra" queryCommandIndeterm("defaultparagraphseparator") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "foo[]bar<p>extra" queryCommandState("defaultparagraphseparator") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "foo[]bar<p>extra" queryCommandValue("defaultparagraphseparator") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "foo[]bar<p>extra" queryCommandIndeterm("defaultparagraphseparator") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "foo[]bar<p>extra" queryCommandState("defaultparagraphseparator") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "foo[]bar<p>extra" queryCommandValue("defaultparagraphseparator") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "foo[]bar<p>extra" queryCommandIndeterm("justifyright") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "foo[]bar<p>extra" queryCommandState("justifyright") before 
-FAIL [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "foo[]bar<p>extra" queryCommandValue("justifyright") before assert_equals: Wrong result returned expected "left" but got "false"
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "foo[]bar<p>extra" queryCommandIndeterm("justifyright") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "foo[]bar<p>extra" queryCommandState("justifyright") after 
-FAIL [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "foo[]bar<p>extra" queryCommandValue("justifyright") after assert_equals: Wrong result returned expected "right" but got "true"
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "foo[]bar<p>extra": execCommand("stylewithcss", false, "false") return value 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "foo[]bar<p>extra": execCommand("defaultparagraphseparator", false, "div") return value 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "foo[]bar<p>extra": execCommand("justifyright", false, "") return value 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "foo[]bar<p>extra" checks for modifications to non-editable content 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "foo[]bar<p>extra" compare innerHTML 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "foo[]bar<p>extra" queryCommandIndeterm("stylewithcss") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "foo[]bar<p>extra" queryCommandState("stylewithcss") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "foo[]bar<p>extra" queryCommandValue("stylewithcss") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "foo[]bar<p>extra" queryCommandIndeterm("stylewithcss") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "foo[]bar<p>extra" queryCommandState("stylewithcss") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "foo[]bar<p>extra" queryCommandValue("stylewithcss") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "foo[]bar<p>extra" queryCommandIndeterm("defaultparagraphseparator") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "foo[]bar<p>extra" queryCommandState("defaultparagraphseparator") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "foo[]bar<p>extra" queryCommandValue("defaultparagraphseparator") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "foo[]bar<p>extra" queryCommandIndeterm("defaultparagraphseparator") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "foo[]bar<p>extra" queryCommandState("defaultparagraphseparator") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "foo[]bar<p>extra" queryCommandValue("defaultparagraphseparator") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "foo[]bar<p>extra" queryCommandIndeterm("justifyright") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "foo[]bar<p>extra" queryCommandState("justifyright") before 
-FAIL [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "foo[]bar<p>extra" queryCommandValue("justifyright") before assert_equals: Wrong result returned expected "left" but got "false"
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "foo[]bar<p>extra" queryCommandIndeterm("justifyright") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "foo[]bar<p>extra" queryCommandState("justifyright") after 
-FAIL [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "foo[]bar<p>extra" queryCommandValue("justifyright") after assert_equals: Wrong result returned expected "right" but got "true"
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "foo[]bar<p>extra": execCommand("stylewithcss", false, "true") return value 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "foo[]bar<p>extra": execCommand("defaultparagraphseparator", false, "p") return value 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "foo[]bar<p>extra": execCommand("justifyright", false, "") return value 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "foo[]bar<p>extra" checks for modifications to non-editable content 
-FAIL [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "foo[]bar<p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<div style=\"text-align:right\">foobar</div><p>extra</p>" but got "<p style=\"text-align:right\">foobar</p><p>extra</p>"
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "foo[]bar<p>extra" queryCommandIndeterm("stylewithcss") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "foo[]bar<p>extra" queryCommandState("stylewithcss") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "foo[]bar<p>extra" queryCommandValue("stylewithcss") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "foo[]bar<p>extra" queryCommandIndeterm("stylewithcss") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "foo[]bar<p>extra" queryCommandState("stylewithcss") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "foo[]bar<p>extra" queryCommandValue("stylewithcss") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "foo[]bar<p>extra" queryCommandIndeterm("defaultparagraphseparator") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "foo[]bar<p>extra" queryCommandState("defaultparagraphseparator") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "foo[]bar<p>extra" queryCommandValue("defaultparagraphseparator") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "foo[]bar<p>extra" queryCommandIndeterm("defaultparagraphseparator") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "foo[]bar<p>extra" queryCommandState("defaultparagraphseparator") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "foo[]bar<p>extra" queryCommandValue("defaultparagraphseparator") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "foo[]bar<p>extra" queryCommandIndeterm("justifyright") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "foo[]bar<p>extra" queryCommandState("justifyright") before 
-FAIL [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "foo[]bar<p>extra" queryCommandValue("justifyright") before assert_equals: Wrong result returned expected "left" but got "false"
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "foo[]bar<p>extra" queryCommandIndeterm("justifyright") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "foo[]bar<p>extra" queryCommandState("justifyright") after 
-FAIL [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "foo[]bar<p>extra" queryCommandValue("justifyright") after assert_equals: Wrong result returned expected "right" but got "true"
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "foo[]bar<p>extra": execCommand("stylewithcss", false, "false") return value 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "foo[]bar<p>extra": execCommand("defaultparagraphseparator", false, "p") return value 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "foo[]bar<p>extra": execCommand("justifyright", false, "") return value 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "foo[]bar<p>extra" checks for modifications to non-editable content 
-FAIL [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "foo[]bar<p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<div style=\"text-align:right\">foobar</div><p>extra</p>" but got "<p style=\"text-align:right\">foobar</p><p>extra</p>"
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "foo[]bar<p>extra" queryCommandIndeterm("stylewithcss") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "foo[]bar<p>extra" queryCommandState("stylewithcss") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "foo[]bar<p>extra" queryCommandValue("stylewithcss") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "foo[]bar<p>extra" queryCommandIndeterm("stylewithcss") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "foo[]bar<p>extra" queryCommandState("stylewithcss") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "foo[]bar<p>extra" queryCommandValue("stylewithcss") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "foo[]bar<p>extra" queryCommandIndeterm("defaultparagraphseparator") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "foo[]bar<p>extra" queryCommandState("defaultparagraphseparator") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "foo[]bar<p>extra" queryCommandValue("defaultparagraphseparator") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "foo[]bar<p>extra" queryCommandIndeterm("defaultparagraphseparator") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "foo[]bar<p>extra" queryCommandState("defaultparagraphseparator") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "foo[]bar<p>extra" queryCommandValue("defaultparagraphseparator") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "foo[]bar<p>extra" queryCommandIndeterm("justifyright") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "foo[]bar<p>extra" queryCommandState("justifyright") before 
-FAIL [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "foo[]bar<p>extra" queryCommandValue("justifyright") before assert_equals: Wrong result returned expected "left" but got "false"
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "foo[]bar<p>extra" queryCommandIndeterm("justifyright") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "foo[]bar<p>extra" queryCommandState("justifyright") after 
-FAIL [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "foo[]bar<p>extra" queryCommandValue("justifyright") after assert_equals: Wrong result returned expected "right" but got "true"
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<span>foo</span>{}<span>bar</span><p>extra": execCommand("stylewithcss", false, "true") return value 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<span>foo</span>{}<span>bar</span><p>extra": execCommand("defaultparagraphseparator", false, "div") return value 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<span>foo</span>{}<span>bar</span><p>extra": execCommand("justifyright", false, "") return value 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<span>foo</span>{}<span>bar</span><p>extra" checks for modifications to non-editable content 
-FAIL [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<span>foo</span>{}<span>bar</span><p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<div style=\"text-align:right\"><span>foo</span><span>bar</span></div><p>extra</p>" but got "<div style=\"text-align:right\">foobar</div><p>extra</p>"
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<span>foo</span>{}<span>bar</span><p>extra" queryCommandIndeterm("stylewithcss") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<span>foo</span>{}<span>bar</span><p>extra" queryCommandState("stylewithcss") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<span>foo</span>{}<span>bar</span><p>extra" queryCommandValue("stylewithcss") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<span>foo</span>{}<span>bar</span><p>extra" queryCommandIndeterm("stylewithcss") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<span>foo</span>{}<span>bar</span><p>extra" queryCommandState("stylewithcss") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<span>foo</span>{}<span>bar</span><p>extra" queryCommandValue("stylewithcss") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<span>foo</span>{}<span>bar</span><p>extra" queryCommandIndeterm("defaultparagraphseparator") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<span>foo</span>{}<span>bar</span><p>extra" queryCommandState("defaultparagraphseparator") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<span>foo</span>{}<span>bar</span><p>extra" queryCommandValue("defaultparagraphseparator") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<span>foo</span>{}<span>bar</span><p>extra" queryCommandIndeterm("defaultparagraphseparator") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<span>foo</span>{}<span>bar</span><p>extra" queryCommandState("defaultparagraphseparator") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<span>foo</span>{}<span>bar</span><p>extra" queryCommandValue("defaultparagraphseparator") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<span>foo</span>{}<span>bar</span><p>extra" queryCommandIndeterm("justifyright") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<span>foo</span>{}<span>bar</span><p>extra" queryCommandState("justifyright") before 
-FAIL [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<span>foo</span>{}<span>bar</span><p>extra" queryCommandValue("justifyright") before assert_equals: Wrong result returned expected "left" but got "false"
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<span>foo</span>{}<span>bar</span><p>extra" queryCommandIndeterm("justifyright") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<span>foo</span>{}<span>bar</span><p>extra" queryCommandState("justifyright") after 
-FAIL [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<span>foo</span>{}<span>bar</span><p>extra" queryCommandValue("justifyright") after assert_equals: Wrong result returned expected "right" but got "true"
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<span>foo</span>{}<span>bar</span><p>extra": execCommand("stylewithcss", false, "false") return value 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<span>foo</span>{}<span>bar</span><p>extra": execCommand("defaultparagraphseparator", false, "div") return value 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<span>foo</span>{}<span>bar</span><p>extra": execCommand("justifyright", false, "") return value 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<span>foo</span>{}<span>bar</span><p>extra" checks for modifications to non-editable content 
-FAIL [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<span>foo</span>{}<span>bar</span><p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<div style=\"text-align:right\"><span>foo</span><span>bar</span></div><p>extra</p>" but got "<div style=\"text-align:right\">foobar</div><p>extra</p>"
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<span>foo</span>{}<span>bar</span><p>extra" queryCommandIndeterm("stylewithcss") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<span>foo</span>{}<span>bar</span><p>extra" queryCommandState("stylewithcss") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<span>foo</span>{}<span>bar</span><p>extra" queryCommandValue("stylewithcss") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<span>foo</span>{}<span>bar</span><p>extra" queryCommandIndeterm("stylewithcss") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<span>foo</span>{}<span>bar</span><p>extra" queryCommandState("stylewithcss") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<span>foo</span>{}<span>bar</span><p>extra" queryCommandValue("stylewithcss") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<span>foo</span>{}<span>bar</span><p>extra" queryCommandIndeterm("defaultparagraphseparator") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<span>foo</span>{}<span>bar</span><p>extra" queryCommandState("defaultparagraphseparator") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<span>foo</span>{}<span>bar</span><p>extra" queryCommandValue("defaultparagraphseparator") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<span>foo</span>{}<span>bar</span><p>extra" queryCommandIndeterm("defaultparagraphseparator") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<span>foo</span>{}<span>bar</span><p>extra" queryCommandState("defaultparagraphseparator") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<span>foo</span>{}<span>bar</span><p>extra" queryCommandValue("defaultparagraphseparator") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<span>foo</span>{}<span>bar</span><p>extra" queryCommandIndeterm("justifyright") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<span>foo</span>{}<span>bar</span><p>extra" queryCommandState("justifyright") before 
-FAIL [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<span>foo</span>{}<span>bar</span><p>extra" queryCommandValue("justifyright") before assert_equals: Wrong result returned expected "left" but got "false"
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<span>foo</span>{}<span>bar</span><p>extra" queryCommandIndeterm("justifyright") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<span>foo</span>{}<span>bar</span><p>extra" queryCommandState("justifyright") after 
-FAIL [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<span>foo</span>{}<span>bar</span><p>extra" queryCommandValue("justifyright") after assert_equals: Wrong result returned expected "right" but got "true"
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<span>foo</span>{}<span>bar</span><p>extra": execCommand("stylewithcss", false, "true") return value 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<span>foo</span>{}<span>bar</span><p>extra": execCommand("defaultparagraphseparator", false, "p") return value 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<span>foo</span>{}<span>bar</span><p>extra": execCommand("justifyright", false, "") return value 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<span>foo</span>{}<span>bar</span><p>extra" checks for modifications to non-editable content 
-FAIL [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<span>foo</span>{}<span>bar</span><p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<div style=\"text-align:right\"><span>foo</span><span>bar</span></div><p>extra</p>" but got "<p style=\"text-align:right\">foobar</p><p>extra</p>"
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<span>foo</span>{}<span>bar</span><p>extra" queryCommandIndeterm("stylewithcss") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<span>foo</span>{}<span>bar</span><p>extra" queryCommandState("stylewithcss") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<span>foo</span>{}<span>bar</span><p>extra" queryCommandValue("stylewithcss") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<span>foo</span>{}<span>bar</span><p>extra" queryCommandIndeterm("stylewithcss") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<span>foo</span>{}<span>bar</span><p>extra" queryCommandState("stylewithcss") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<span>foo</span>{}<span>bar</span><p>extra" queryCommandValue("stylewithcss") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<span>foo</span>{}<span>bar</span><p>extra" queryCommandIndeterm("defaultparagraphseparator") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<span>foo</span>{}<span>bar</span><p>extra" queryCommandState("defaultparagraphseparator") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<span>foo</span>{}<span>bar</span><p>extra" queryCommandValue("defaultparagraphseparator") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<span>foo</span>{}<span>bar</span><p>extra" queryCommandIndeterm("defaultparagraphseparator") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<span>foo</span>{}<span>bar</span><p>extra" queryCommandState("defaultparagraphseparator") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<span>foo</span>{}<span>bar</span><p>extra" queryCommandValue("defaultparagraphseparator") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<span>foo</span>{}<span>bar</span><p>extra" queryCommandIndeterm("justifyright") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<span>foo</span>{}<span>bar</span><p>extra" queryCommandState("justifyright") before 
-FAIL [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<span>foo</span>{}<span>bar</span><p>extra" queryCommandValue("justifyright") before assert_equals: Wrong result returned expected "left" but got "false"
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<span>foo</span>{}<span>bar</span><p>extra" queryCommandIndeterm("justifyright") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<span>foo</span>{}<span>bar</span><p>extra" queryCommandState("justifyright") after 
-FAIL [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<span>foo</span>{}<span>bar</span><p>extra" queryCommandValue("justifyright") after assert_equals: Wrong result returned expected "right" but got "true"
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<span>foo</span>{}<span>bar</span><p>extra": execCommand("stylewithcss", false, "false") return value 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<span>foo</span>{}<span>bar</span><p>extra": execCommand("defaultparagraphseparator", false, "p") return value 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<span>foo</span>{}<span>bar</span><p>extra": execCommand("justifyright", false, "") return value 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<span>foo</span>{}<span>bar</span><p>extra" checks for modifications to non-editable content 
-FAIL [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<span>foo</span>{}<span>bar</span><p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<div style=\"text-align:right\"><span>foo</span><span>bar</span></div><p>extra</p>" but got "<p style=\"text-align:right\">foobar</p><p>extra</p>"
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<span>foo</span>{}<span>bar</span><p>extra" queryCommandIndeterm("stylewithcss") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<span>foo</span>{}<span>bar</span><p>extra" queryCommandState("stylewithcss") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<span>foo</span>{}<span>bar</span><p>extra" queryCommandValue("stylewithcss") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<span>foo</span>{}<span>bar</span><p>extra" queryCommandIndeterm("stylewithcss") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<span>foo</span>{}<span>bar</span><p>extra" queryCommandState("stylewithcss") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<span>foo</span>{}<span>bar</span><p>extra" queryCommandValue("stylewithcss") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<span>foo</span>{}<span>bar</span><p>extra" queryCommandIndeterm("defaultparagraphseparator") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<span>foo</span>{}<span>bar</span><p>extra" queryCommandState("defaultparagraphseparator") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<span>foo</span>{}<span>bar</span><p>extra" queryCommandValue("defaultparagraphseparator") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<span>foo</span>{}<span>bar</span><p>extra" queryCommandIndeterm("defaultparagraphseparator") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<span>foo</span>{}<span>bar</span><p>extra" queryCommandState("defaultparagraphseparator") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<span>foo</span>{}<span>bar</span><p>extra" queryCommandValue("defaultparagraphseparator") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<span>foo</span>{}<span>bar</span><p>extra" queryCommandIndeterm("justifyright") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<span>foo</span>{}<span>bar</span><p>extra" queryCommandState("justifyright") before 
-FAIL [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<span>foo</span>{}<span>bar</span><p>extra" queryCommandValue("justifyright") before assert_equals: Wrong result returned expected "left" but got "false"
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<span>foo</span>{}<span>bar</span><p>extra" queryCommandIndeterm("justifyright") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<span>foo</span>{}<span>bar</span><p>extra" queryCommandState("justifyright") after 
-FAIL [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<span>foo</span>{}<span>bar</span><p>extra" queryCommandValue("justifyright") after assert_equals: Wrong result returned expected "right" but got "true"
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<span>foo[</span><span>]bar</span><p>extra": execCommand("stylewithcss", false, "true") return value 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<span>foo[</span><span>]bar</span><p>extra": execCommand("defaultparagraphseparator", false, "div") return value 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<span>foo[</span><span>]bar</span><p>extra": execCommand("justifyright", false, "") return value 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<span>foo[</span><span>]bar</span><p>extra" checks for modifications to non-editable content 
-FAIL [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<span>foo[</span><span>]bar</span><p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<div style=\"text-align:right\"><span>foo</span><span>bar</span></div><p>extra</p>" but got "<div style=\"text-align:right\">foobar</div><p>extra</p>"
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<span>foo[</span><span>]bar</span><p>extra" queryCommandIndeterm("stylewithcss") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<span>foo[</span><span>]bar</span><p>extra" queryCommandState("stylewithcss") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<span>foo[</span><span>]bar</span><p>extra" queryCommandValue("stylewithcss") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<span>foo[</span><span>]bar</span><p>extra" queryCommandIndeterm("stylewithcss") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<span>foo[</span><span>]bar</span><p>extra" queryCommandState("stylewithcss") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<span>foo[</span><span>]bar</span><p>extra" queryCommandValue("stylewithcss") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<span>foo[</span><span>]bar</span><p>extra" queryCommandIndeterm("defaultparagraphseparator") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<span>foo[</span><span>]bar</span><p>extra" queryCommandState("defaultparagraphseparator") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<span>foo[</span><span>]bar</span><p>extra" queryCommandValue("defaultparagraphseparator") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<span>foo[</span><span>]bar</span><p>extra" queryCommandIndeterm("defaultparagraphseparator") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<span>foo[</span><span>]bar</span><p>extra" queryCommandState("defaultparagraphseparator") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<span>foo[</span><span>]bar</span><p>extra" queryCommandValue("defaultparagraphseparator") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<span>foo[</span><span>]bar</span><p>extra" queryCommandIndeterm("justifyright") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<span>foo[</span><span>]bar</span><p>extra" queryCommandState("justifyright") before 
-FAIL [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<span>foo[</span><span>]bar</span><p>extra" queryCommandValue("justifyright") before assert_equals: Wrong result returned expected "left" but got "false"
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<span>foo[</span><span>]bar</span><p>extra" queryCommandIndeterm("justifyright") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<span>foo[</span><span>]bar</span><p>extra" queryCommandState("justifyright") after 
-FAIL [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<span>foo[</span><span>]bar</span><p>extra" queryCommandValue("justifyright") after assert_equals: Wrong result returned expected "right" but got "true"
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<span>foo[</span><span>]bar</span><p>extra": execCommand("stylewithcss", false, "false") return value 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<span>foo[</span><span>]bar</span><p>extra": execCommand("defaultparagraphseparator", false, "div") return value 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<span>foo[</span><span>]bar</span><p>extra": execCommand("justifyright", false, "") return value 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<span>foo[</span><span>]bar</span><p>extra" checks for modifications to non-editable content 
-FAIL [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<span>foo[</span><span>]bar</span><p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<div style=\"text-align:right\"><span>foo</span><span>bar</span></div><p>extra</p>" but got "<div style=\"text-align:right\">foobar</div><p>extra</p>"
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<span>foo[</span><span>]bar</span><p>extra" queryCommandIndeterm("stylewithcss") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<span>foo[</span><span>]bar</span><p>extra" queryCommandState("stylewithcss") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<span>foo[</span><span>]bar</span><p>extra" queryCommandValue("stylewithcss") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<span>foo[</span><span>]bar</span><p>extra" queryCommandIndeterm("stylewithcss") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<span>foo[</span><span>]bar</span><p>extra" queryCommandState("stylewithcss") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<span>foo[</span><span>]bar</span><p>extra" queryCommandValue("stylewithcss") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<span>foo[</span><span>]bar</span><p>extra" queryCommandIndeterm("defaultparagraphseparator") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<span>foo[</span><span>]bar</span><p>extra" queryCommandState("defaultparagraphseparator") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<span>foo[</span><span>]bar</span><p>extra" queryCommandValue("defaultparagraphseparator") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<span>foo[</span><span>]bar</span><p>extra" queryCommandIndeterm("defaultparagraphseparator") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<span>foo[</span><span>]bar</span><p>extra" queryCommandState("defaultparagraphseparator") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<span>foo[</span><span>]bar</span><p>extra" queryCommandValue("defaultparagraphseparator") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<span>foo[</span><span>]bar</span><p>extra" queryCommandIndeterm("justifyright") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<span>foo[</span><span>]bar</span><p>extra" queryCommandState("justifyright") before 
-FAIL [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<span>foo[</span><span>]bar</span><p>extra" queryCommandValue("justifyright") before assert_equals: Wrong result returned expected "left" but got "false"
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<span>foo[</span><span>]bar</span><p>extra" queryCommandIndeterm("justifyright") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<span>foo[</span><span>]bar</span><p>extra" queryCommandState("justifyright") after 
-FAIL [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<span>foo[</span><span>]bar</span><p>extra" queryCommandValue("justifyright") after assert_equals: Wrong result returned expected "right" but got "true"
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<span>foo[</span><span>]bar</span><p>extra": execCommand("stylewithcss", false, "true") return value 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<span>foo[</span><span>]bar</span><p>extra": execCommand("defaultparagraphseparator", false, "p") return value 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<span>foo[</span><span>]bar</span><p>extra": execCommand("justifyright", false, "") return value 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<span>foo[</span><span>]bar</span><p>extra" checks for modifications to non-editable content 
-FAIL [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<span>foo[</span><span>]bar</span><p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<div style=\"text-align:right\"><span>foo</span><span>bar</span></div><p>extra</p>" but got "<p style=\"text-align:right\">foobar</p><p>extra</p>"
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<span>foo[</span><span>]bar</span><p>extra" queryCommandIndeterm("stylewithcss") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<span>foo[</span><span>]bar</span><p>extra" queryCommandState("stylewithcss") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<span>foo[</span><span>]bar</span><p>extra" queryCommandValue("stylewithcss") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<span>foo[</span><span>]bar</span><p>extra" queryCommandIndeterm("stylewithcss") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<span>foo[</span><span>]bar</span><p>extra" queryCommandState("stylewithcss") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<span>foo[</span><span>]bar</span><p>extra" queryCommandValue("stylewithcss") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<span>foo[</span><span>]bar</span><p>extra" queryCommandIndeterm("defaultparagraphseparator") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<span>foo[</span><span>]bar</span><p>extra" queryCommandState("defaultparagraphseparator") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<span>foo[</span><span>]bar</span><p>extra" queryCommandValue("defaultparagraphseparator") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<span>foo[</span><span>]bar</span><p>extra" queryCommandIndeterm("defaultparagraphseparator") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<span>foo[</span><span>]bar</span><p>extra" queryCommandState("defaultparagraphseparator") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<span>foo[</span><span>]bar</span><p>extra" queryCommandValue("defaultparagraphseparator") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<span>foo[</span><span>]bar</span><p>extra" queryCommandIndeterm("justifyright") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<span>foo[</span><span>]bar</span><p>extra" queryCommandState("justifyright") before 
-FAIL [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<span>foo[</span><span>]bar</span><p>extra" queryCommandValue("justifyright") before assert_equals: Wrong result returned expected "left" but got "false"
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<span>foo[</span><span>]bar</span><p>extra" queryCommandIndeterm("justifyright") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<span>foo[</span><span>]bar</span><p>extra" queryCommandState("justifyright") after 
-FAIL [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<span>foo[</span><span>]bar</span><p>extra" queryCommandValue("justifyright") after assert_equals: Wrong result returned expected "right" but got "true"
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<span>foo[</span><span>]bar</span><p>extra": execCommand("stylewithcss", false, "false") return value 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<span>foo[</span><span>]bar</span><p>extra": execCommand("defaultparagraphseparator", false, "p") return value 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<span>foo[</span><span>]bar</span><p>extra": execCommand("justifyright", false, "") return value 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<span>foo[</span><span>]bar</span><p>extra" checks for modifications to non-editable content 
-FAIL [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<span>foo[</span><span>]bar</span><p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<div style=\"text-align:right\"><span>foo</span><span>bar</span></div><p>extra</p>" but got "<p style=\"text-align:right\">foobar</p><p>extra</p>"
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<span>foo[</span><span>]bar</span><p>extra" queryCommandIndeterm("stylewithcss") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<span>foo[</span><span>]bar</span><p>extra" queryCommandState("stylewithcss") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<span>foo[</span><span>]bar</span><p>extra" queryCommandValue("stylewithcss") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<span>foo[</span><span>]bar</span><p>extra" queryCommandIndeterm("stylewithcss") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<span>foo[</span><span>]bar</span><p>extra" queryCommandState("stylewithcss") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<span>foo[</span><span>]bar</span><p>extra" queryCommandValue("stylewithcss") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<span>foo[</span><span>]bar</span><p>extra" queryCommandIndeterm("defaultparagraphseparator") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<span>foo[</span><span>]bar</span><p>extra" queryCommandState("defaultparagraphseparator") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<span>foo[</span><span>]bar</span><p>extra" queryCommandValue("defaultparagraphseparator") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<span>foo[</span><span>]bar</span><p>extra" queryCommandIndeterm("defaultparagraphseparator") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<span>foo[</span><span>]bar</span><p>extra" queryCommandState("defaultparagraphseparator") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<span>foo[</span><span>]bar</span><p>extra" queryCommandValue("defaultparagraphseparator") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<span>foo[</span><span>]bar</span><p>extra" queryCommandIndeterm("justifyright") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<span>foo[</span><span>]bar</span><p>extra" queryCommandState("justifyright") before 
-FAIL [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<span>foo[</span><span>]bar</span><p>extra" queryCommandValue("justifyright") before assert_equals: Wrong result returned expected "left" but got "false"
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<span>foo[</span><span>]bar</span><p>extra" queryCommandIndeterm("justifyright") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<span>foo[</span><span>]bar</span><p>extra" queryCommandState("justifyright") after 
-FAIL [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<span>foo[</span><span>]bar</span><p>extra" queryCommandValue("justifyright") after assert_equals: Wrong result returned expected "right" but got "true"
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "foo[bar]baz<p>extra": execCommand("stylewithcss", false, "true") return value 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "foo[bar]baz<p>extra": execCommand("defaultparagraphseparator", false, "div") return value 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "foo[bar]baz<p>extra": execCommand("justifyright", false, "") return value 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "foo[bar]baz<p>extra" checks for modifications to non-editable content 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "foo[bar]baz<p>extra" compare innerHTML 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "foo[bar]baz<p>extra" queryCommandIndeterm("stylewithcss") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "foo[bar]baz<p>extra" queryCommandState("stylewithcss") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "foo[bar]baz<p>extra" queryCommandValue("stylewithcss") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "foo[bar]baz<p>extra" queryCommandIndeterm("stylewithcss") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "foo[bar]baz<p>extra" queryCommandState("stylewithcss") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "foo[bar]baz<p>extra" queryCommandValue("stylewithcss") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "foo[bar]baz<p>extra" queryCommandIndeterm("defaultparagraphseparator") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "foo[bar]baz<p>extra" queryCommandState("defaultparagraphseparator") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "foo[bar]baz<p>extra" queryCommandValue("defaultparagraphseparator") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "foo[bar]baz<p>extra" queryCommandIndeterm("defaultparagraphseparator") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "foo[bar]baz<p>extra" queryCommandState("defaultparagraphseparator") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "foo[bar]baz<p>extra" queryCommandValue("defaultparagraphseparator") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "foo[bar]baz<p>extra" queryCommandIndeterm("justifyright") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "foo[bar]baz<p>extra" queryCommandState("justifyright") before 
-FAIL [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "foo[bar]baz<p>extra" queryCommandValue("justifyright") before assert_equals: Wrong result returned expected "left" but got "false"
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "foo[bar]baz<p>extra" queryCommandIndeterm("justifyright") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "foo[bar]baz<p>extra" queryCommandState("justifyright") after 
-FAIL [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "foo[bar]baz<p>extra" queryCommandValue("justifyright") after assert_equals: Wrong result returned expected "right" but got "true"
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "foo[bar]baz<p>extra": execCommand("stylewithcss", false, "false") return value 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "foo[bar]baz<p>extra": execCommand("defaultparagraphseparator", false, "div") return value 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "foo[bar]baz<p>extra": execCommand("justifyright", false, "") return value 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "foo[bar]baz<p>extra" checks for modifications to non-editable content 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "foo[bar]baz<p>extra" compare innerHTML 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "foo[bar]baz<p>extra" queryCommandIndeterm("stylewithcss") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "foo[bar]baz<p>extra" queryCommandState("stylewithcss") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "foo[bar]baz<p>extra" queryCommandValue("stylewithcss") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "foo[bar]baz<p>extra" queryCommandIndeterm("stylewithcss") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "foo[bar]baz<p>extra" queryCommandState("stylewithcss") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "foo[bar]baz<p>extra" queryCommandValue("stylewithcss") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "foo[bar]baz<p>extra" queryCommandIndeterm("defaultparagraphseparator") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "foo[bar]baz<p>extra" queryCommandState("defaultparagraphseparator") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "foo[bar]baz<p>extra" queryCommandValue("defaultparagraphseparator") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "foo[bar]baz<p>extra" queryCommandIndeterm("defaultparagraphseparator") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "foo[bar]baz<p>extra" queryCommandState("defaultparagraphseparator") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "foo[bar]baz<p>extra" queryCommandValue("defaultparagraphseparator") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "foo[bar]baz<p>extra" queryCommandIndeterm("justifyright") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "foo[bar]baz<p>extra" queryCommandState("justifyright") before 
-FAIL [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "foo[bar]baz<p>extra" queryCommandValue("justifyright") before assert_equals: Wrong result returned expected "left" but got "false"
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "foo[bar]baz<p>extra" queryCommandIndeterm("justifyright") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "foo[bar]baz<p>extra" queryCommandState("justifyright") after 
-FAIL [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "foo[bar]baz<p>extra" queryCommandValue("justifyright") after assert_equals: Wrong result returned expected "right" but got "true"
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "foo[bar]baz<p>extra": execCommand("stylewithcss", false, "true") return value 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "foo[bar]baz<p>extra": execCommand("defaultparagraphseparator", false, "p") return value 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "foo[bar]baz<p>extra": execCommand("justifyright", false, "") return value 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "foo[bar]baz<p>extra" checks for modifications to non-editable content 
-FAIL [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "foo[bar]baz<p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<div style=\"text-align:right\">foobarbaz</div><p>extra</p>" but got "<p style=\"text-align:right\">foobarbaz</p><p>extra</p>"
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "foo[bar]baz<p>extra" queryCommandIndeterm("stylewithcss") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "foo[bar]baz<p>extra" queryCommandState("stylewithcss") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "foo[bar]baz<p>extra" queryCommandValue("stylewithcss") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "foo[bar]baz<p>extra" queryCommandIndeterm("stylewithcss") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "foo[bar]baz<p>extra" queryCommandState("stylewithcss") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "foo[bar]baz<p>extra" queryCommandValue("stylewithcss") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "foo[bar]baz<p>extra" queryCommandIndeterm("defaultparagraphseparator") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "foo[bar]baz<p>extra" queryCommandState("defaultparagraphseparator") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "foo[bar]baz<p>extra" queryCommandValue("defaultparagraphseparator") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "foo[bar]baz<p>extra" queryCommandIndeterm("defaultparagraphseparator") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "foo[bar]baz<p>extra" queryCommandState("defaultparagraphseparator") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "foo[bar]baz<p>extra" queryCommandValue("defaultparagraphseparator") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "foo[bar]baz<p>extra" queryCommandIndeterm("justifyright") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "foo[bar]baz<p>extra" queryCommandState("justifyright") before 
-FAIL [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "foo[bar]baz<p>extra" queryCommandValue("justifyright") before assert_equals: Wrong result returned expected "left" but got "false"
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "foo[bar]baz<p>extra" queryCommandIndeterm("justifyright") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "foo[bar]baz<p>extra" queryCommandState("justifyright") after 
-FAIL [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "foo[bar]baz<p>extra" queryCommandValue("justifyright") after assert_equals: Wrong result returned expected "right" but got "true"
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "foo[bar]baz<p>extra": execCommand("stylewithcss", false, "false") return value 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "foo[bar]baz<p>extra": execCommand("defaultparagraphseparator", false, "p") return value 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "foo[bar]baz<p>extra": execCommand("justifyright", false, "") return value 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "foo[bar]baz<p>extra" checks for modifications to non-editable content 
-FAIL [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "foo[bar]baz<p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<div style=\"text-align:right\">foobarbaz</div><p>extra</p>" but got "<p style=\"text-align:right\">foobarbaz</p><p>extra</p>"
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "foo[bar]baz<p>extra" queryCommandIndeterm("stylewithcss") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "foo[bar]baz<p>extra" queryCommandState("stylewithcss") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "foo[bar]baz<p>extra" queryCommandValue("stylewithcss") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "foo[bar]baz<p>extra" queryCommandIndeterm("stylewithcss") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "foo[bar]baz<p>extra" queryCommandState("stylewithcss") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "foo[bar]baz<p>extra" queryCommandValue("stylewithcss") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "foo[bar]baz<p>extra" queryCommandIndeterm("defaultparagraphseparator") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "foo[bar]baz<p>extra" queryCommandState("defaultparagraphseparator") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "foo[bar]baz<p>extra" queryCommandValue("defaultparagraphseparator") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "foo[bar]baz<p>extra" queryCommandIndeterm("defaultparagraphseparator") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "foo[bar]baz<p>extra" queryCommandState("defaultparagraphseparator") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "foo[bar]baz<p>extra" queryCommandValue("defaultparagraphseparator") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "foo[bar]baz<p>extra" queryCommandIndeterm("justifyright") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "foo[bar]baz<p>extra" queryCommandState("justifyright") before 
-FAIL [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "foo[bar]baz<p>extra" queryCommandValue("justifyright") before assert_equals: Wrong result returned expected "left" but got "false"
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "foo[bar]baz<p>extra" queryCommandIndeterm("justifyright") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "foo[bar]baz<p>extra" queryCommandState("justifyright") after 
-FAIL [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "foo[bar]baz<p>extra" queryCommandValue("justifyright") after assert_equals: Wrong result returned expected "right" but got "true"
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "foo[bar<b>baz]qoz</b>quz<p>extra": execCommand("stylewithcss", false, "true") return value 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "foo[bar<b>baz]qoz</b>quz<p>extra": execCommand("defaultparagraphseparator", false, "div") return value 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "foo[bar<b>baz]qoz</b>quz<p>extra": execCommand("justifyright", false, "") return value 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "foo[bar<b>baz]qoz</b>quz<p>extra" checks for modifications to non-editable content 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "foo[bar<b>baz]qoz</b>quz<p>extra" compare innerHTML 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "foo[bar<b>baz]qoz</b>quz<p>extra" queryCommandIndeterm("stylewithcss") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "foo[bar<b>baz]qoz</b>quz<p>extra" queryCommandState("stylewithcss") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "foo[bar<b>baz]qoz</b>quz<p>extra" queryCommandValue("stylewithcss") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "foo[bar<b>baz]qoz</b>quz<p>extra" queryCommandIndeterm("stylewithcss") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "foo[bar<b>baz]qoz</b>quz<p>extra" queryCommandState("stylewithcss") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "foo[bar<b>baz]qoz</b>quz<p>extra" queryCommandValue("stylewithcss") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "foo[bar<b>baz]qoz</b>quz<p>extra" queryCommandIndeterm("defaultparagraphseparator") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "foo[bar<b>baz]qoz</b>quz<p>extra" queryCommandState("defaultparagraphseparator") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "foo[bar<b>baz]qoz</b>quz<p>extra" queryCommandValue("defaultparagraphseparator") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "foo[bar<b>baz]qoz</b>quz<p>extra" queryCommandIndeterm("defaultparagraphseparator") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "foo[bar<b>baz]qoz</b>quz<p>extra" queryCommandState("defaultparagraphseparator") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "foo[bar<b>baz]qoz</b>quz<p>extra" queryCommandValue("defaultparagraphseparator") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "foo[bar<b>baz]qoz</b>quz<p>extra" queryCommandIndeterm("justifyright") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "foo[bar<b>baz]qoz</b>quz<p>extra" queryCommandState("justifyright") before 
-FAIL [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "foo[bar<b>baz]qoz</b>quz<p>extra" queryCommandValue("justifyright") before assert_equals: Wrong result returned expected "left" but got "false"
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "foo[bar<b>baz]qoz</b>quz<p>extra" queryCommandIndeterm("justifyright") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "foo[bar<b>baz]qoz</b>quz<p>extra" queryCommandState("justifyright") after 
-FAIL [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "foo[bar<b>baz]qoz</b>quz<p>extra" queryCommandValue("justifyright") after assert_equals: Wrong result returned expected "right" but got "true"
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "foo[bar<b>baz]qoz</b>quz<p>extra": execCommand("stylewithcss", false, "false") return value 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "foo[bar<b>baz]qoz</b>quz<p>extra": execCommand("defaultparagraphseparator", false, "div") return value 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "foo[bar<b>baz]qoz</b>quz<p>extra": execCommand("justifyright", false, "") return value 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "foo[bar<b>baz]qoz</b>quz<p>extra" checks for modifications to non-editable content 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "foo[bar<b>baz]qoz</b>quz<p>extra" compare innerHTML 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "foo[bar<b>baz]qoz</b>quz<p>extra" queryCommandIndeterm("stylewithcss") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "foo[bar<b>baz]qoz</b>quz<p>extra" queryCommandState("stylewithcss") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "foo[bar<b>baz]qoz</b>quz<p>extra" queryCommandValue("stylewithcss") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "foo[bar<b>baz]qoz</b>quz<p>extra" queryCommandIndeterm("stylewithcss") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "foo[bar<b>baz]qoz</b>quz<p>extra" queryCommandState("stylewithcss") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "foo[bar<b>baz]qoz</b>quz<p>extra" queryCommandValue("stylewithcss") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "foo[bar<b>baz]qoz</b>quz<p>extra" queryCommandIndeterm("defaultparagraphseparator") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "foo[bar<b>baz]qoz</b>quz<p>extra" queryCommandState("defaultparagraphseparator") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "foo[bar<b>baz]qoz</b>quz<p>extra" queryCommandValue("defaultparagraphseparator") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "foo[bar<b>baz]qoz</b>quz<p>extra" queryCommandIndeterm("defaultparagraphseparator") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "foo[bar<b>baz]qoz</b>quz<p>extra" queryCommandState("defaultparagraphseparator") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "foo[bar<b>baz]qoz</b>quz<p>extra" queryCommandValue("defaultparagraphseparator") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "foo[bar<b>baz]qoz</b>quz<p>extra" queryCommandIndeterm("justifyright") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "foo[bar<b>baz]qoz</b>quz<p>extra" queryCommandState("justifyright") before 
-FAIL [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "foo[bar<b>baz]qoz</b>quz<p>extra" queryCommandValue("justifyright") before assert_equals: Wrong result returned expected "left" but got "false"
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "foo[bar<b>baz]qoz</b>quz<p>extra" queryCommandIndeterm("justifyright") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "foo[bar<b>baz]qoz</b>quz<p>extra" queryCommandState("justifyright") after 
-FAIL [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "foo[bar<b>baz]qoz</b>quz<p>extra" queryCommandValue("justifyright") after assert_equals: Wrong result returned expected "right" but got "true"
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "foo[bar<b>baz]qoz</b>quz<p>extra": execCommand("stylewithcss", false, "true") return value 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "foo[bar<b>baz]qoz</b>quz<p>extra": execCommand("defaultparagraphseparator", false, "p") return value 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "foo[bar<b>baz]qoz</b>quz<p>extra": execCommand("justifyright", false, "") return value 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "foo[bar<b>baz]qoz</b>quz<p>extra" checks for modifications to non-editable content 
-FAIL [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "foo[bar<b>baz]qoz</b>quz<p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<div style=\"text-align:right\">foobar<b>bazqoz</b>quz</div><p>extra</p>" but got "<p style=\"text-align:right\">foobar<b>bazqoz</b>quz</p><p>extra</p>"
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "foo[bar<b>baz]qoz</b>quz<p>extra" queryCommandIndeterm("stylewithcss") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "foo[bar<b>baz]qoz</b>quz<p>extra" queryCommandState("stylewithcss") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "foo[bar<b>baz]qoz</b>quz<p>extra" queryCommandValue("stylewithcss") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "foo[bar<b>baz]qoz</b>quz<p>extra" queryCommandIndeterm("stylewithcss") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "foo[bar<b>baz]qoz</b>quz<p>extra" queryCommandState("stylewithcss") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "foo[bar<b>baz]qoz</b>quz<p>extra" queryCommandValue("stylewithcss") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "foo[bar<b>baz]qoz</b>quz<p>extra" queryCommandIndeterm("defaultparagraphseparator") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "foo[bar<b>baz]qoz</b>quz<p>extra" queryCommandState("defaultparagraphseparator") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "foo[bar<b>baz]qoz</b>quz<p>extra" queryCommandValue("defaultparagraphseparator") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "foo[bar<b>baz]qoz</b>quz<p>extra" queryCommandIndeterm("defaultparagraphseparator") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "foo[bar<b>baz]qoz</b>quz<p>extra" queryCommandState("defaultparagraphseparator") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "foo[bar<b>baz]qoz</b>quz<p>extra" queryCommandValue("defaultparagraphseparator") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "foo[bar<b>baz]qoz</b>quz<p>extra" queryCommandIndeterm("justifyright") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "foo[bar<b>baz]qoz</b>quz<p>extra" queryCommandState("justifyright") before 
-FAIL [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "foo[bar<b>baz]qoz</b>quz<p>extra" queryCommandValue("justifyright") before assert_equals: Wrong result returned expected "left" but got "false"
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "foo[bar<b>baz]qoz</b>quz<p>extra" queryCommandIndeterm("justifyright") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "foo[bar<b>baz]qoz</b>quz<p>extra" queryCommandState("justifyright") after 
-FAIL [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "foo[bar<b>baz]qoz</b>quz<p>extra" queryCommandValue("justifyright") after assert_equals: Wrong result returned expected "right" but got "true"
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "foo[bar<b>baz]qoz</b>quz<p>extra": execCommand("stylewithcss", false, "false") return value 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "foo[bar<b>baz]qoz</b>quz<p>extra": execCommand("defaultparagraphseparator", false, "p") return value 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "foo[bar<b>baz]qoz</b>quz<p>extra": execCommand("justifyright", false, "") return value 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "foo[bar<b>baz]qoz</b>quz<p>extra" checks for modifications to non-editable content 
-FAIL [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "foo[bar<b>baz]qoz</b>quz<p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<div style=\"text-align:right\">foobar<b>bazqoz</b>quz</div><p>extra</p>" but got "<p style=\"text-align:right\">foobar<b>bazqoz</b>quz</p><p>extra</p>"
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "foo[bar<b>baz]qoz</b>quz<p>extra" queryCommandIndeterm("stylewithcss") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "foo[bar<b>baz]qoz</b>quz<p>extra" queryCommandState("stylewithcss") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "foo[bar<b>baz]qoz</b>quz<p>extra" queryCommandValue("stylewithcss") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "foo[bar<b>baz]qoz</b>quz<p>extra" queryCommandIndeterm("stylewithcss") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "foo[bar<b>baz]qoz</b>quz<p>extra" queryCommandState("stylewithcss") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "foo[bar<b>baz]qoz</b>quz<p>extra" queryCommandValue("stylewithcss") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "foo[bar<b>baz]qoz</b>quz<p>extra" queryCommandIndeterm("defaultparagraphseparator") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "foo[bar<b>baz]qoz</b>quz<p>extra" queryCommandState("defaultparagraphseparator") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "foo[bar<b>baz]qoz</b>quz<p>extra" queryCommandValue("defaultparagraphseparator") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "foo[bar<b>baz]qoz</b>quz<p>extra" queryCommandIndeterm("defaultparagraphseparator") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "foo[bar<b>baz]qoz</b>quz<p>extra" queryCommandState("defaultparagraphseparator") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "foo[bar<b>baz]qoz</b>quz<p>extra" queryCommandValue("defaultparagraphseparator") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "foo[bar<b>baz]qoz</b>quz<p>extra" queryCommandIndeterm("justifyright") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "foo[bar<b>baz]qoz</b>quz<p>extra" queryCommandState("justifyright") before 
-FAIL [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "foo[bar<b>baz]qoz</b>quz<p>extra" queryCommandValue("justifyright") before assert_equals: Wrong result returned expected "left" but got "false"
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "foo[bar<b>baz]qoz</b>quz<p>extra" queryCommandIndeterm("justifyright") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "foo[bar<b>baz]qoz</b>quz<p>extra" queryCommandState("justifyright") after 
-FAIL [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "foo[bar<b>baz]qoz</b>quz<p>extra" queryCommandValue("justifyright") after assert_equals: Wrong result returned expected "right" but got "true"
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<p>foo[]bar<p>extra": execCommand("stylewithcss", false, "true") return value 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<p>foo[]bar<p>extra": execCommand("defaultparagraphseparator", false, "div") return value 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<p>foo[]bar<p>extra": execCommand("justifyright", false, "") return value 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<p>foo[]bar<p>extra" checks for modifications to non-editable content 
-FAIL [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<p>foo[]bar<p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<div style=\"text-align:right\"><p>foobar</p></div><p>extra</p>" but got "<p style=\"text-align:right\">foobar</p><p>extra</p>"
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<p>foo[]bar<p>extra" queryCommandIndeterm("stylewithcss") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<p>foo[]bar<p>extra" queryCommandState("stylewithcss") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<p>foo[]bar<p>extra" queryCommandValue("stylewithcss") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<p>foo[]bar<p>extra" queryCommandIndeterm("stylewithcss") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<p>foo[]bar<p>extra" queryCommandState("stylewithcss") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<p>foo[]bar<p>extra" queryCommandValue("stylewithcss") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<p>foo[]bar<p>extra" queryCommandIndeterm("defaultparagraphseparator") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<p>foo[]bar<p>extra" queryCommandState("defaultparagraphseparator") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<p>foo[]bar<p>extra" queryCommandValue("defaultparagraphseparator") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<p>foo[]bar<p>extra" queryCommandIndeterm("defaultparagraphseparator") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<p>foo[]bar<p>extra" queryCommandState("defaultparagraphseparator") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<p>foo[]bar<p>extra" queryCommandValue("defaultparagraphseparator") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<p>foo[]bar<p>extra" queryCommandIndeterm("justifyright") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<p>foo[]bar<p>extra" queryCommandState("justifyright") before 
-FAIL [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<p>foo[]bar<p>extra" queryCommandValue("justifyright") before assert_equals: Wrong result returned expected "left" but got "false"
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<p>foo[]bar<p>extra" queryCommandIndeterm("justifyright") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<p>foo[]bar<p>extra" queryCommandState("justifyright") after 
-FAIL [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<p>foo[]bar<p>extra" queryCommandValue("justifyright") after assert_equals: Wrong result returned expected "right" but got "true"
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<p>foo[]bar<p>extra": execCommand("stylewithcss", false, "false") return value 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<p>foo[]bar<p>extra": execCommand("defaultparagraphseparator", false, "div") return value 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<p>foo[]bar<p>extra": execCommand("justifyright", false, "") return value 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<p>foo[]bar<p>extra" checks for modifications to non-editable content 
-FAIL [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<p>foo[]bar<p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<div style=\"text-align:right\"><p>foobar</p></div><p>extra</p>" but got "<p style=\"text-align:right\">foobar</p><p>extra</p>"
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<p>foo[]bar<p>extra" queryCommandIndeterm("stylewithcss") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<p>foo[]bar<p>extra" queryCommandState("stylewithcss") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<p>foo[]bar<p>extra" queryCommandValue("stylewithcss") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<p>foo[]bar<p>extra" queryCommandIndeterm("stylewithcss") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<p>foo[]bar<p>extra" queryCommandState("stylewithcss") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<p>foo[]bar<p>extra" queryCommandValue("stylewithcss") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<p>foo[]bar<p>extra" queryCommandIndeterm("defaultparagraphseparator") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<p>foo[]bar<p>extra" queryCommandState("defaultparagraphseparator") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<p>foo[]bar<p>extra" queryCommandValue("defaultparagraphseparator") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<p>foo[]bar<p>extra" queryCommandIndeterm("defaultparagraphseparator") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<p>foo[]bar<p>extra" queryCommandState("defaultparagraphseparator") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<p>foo[]bar<p>extra" queryCommandValue("defaultparagraphseparator") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<p>foo[]bar<p>extra" queryCommandIndeterm("justifyright") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<p>foo[]bar<p>extra" queryCommandState("justifyright") before 
-FAIL [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<p>foo[]bar<p>extra" queryCommandValue("justifyright") before assert_equals: Wrong result returned expected "left" but got "false"
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<p>foo[]bar<p>extra" queryCommandIndeterm("justifyright") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<p>foo[]bar<p>extra" queryCommandState("justifyright") after 
-FAIL [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<p>foo[]bar<p>extra" queryCommandValue("justifyright") after assert_equals: Wrong result returned expected "right" but got "true"
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<p>foo[]bar<p>extra": execCommand("stylewithcss", false, "true") return value 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<p>foo[]bar<p>extra": execCommand("defaultparagraphseparator", false, "p") return value 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<p>foo[]bar<p>extra": execCommand("justifyright", false, "") return value 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<p>foo[]bar<p>extra" checks for modifications to non-editable content 
-FAIL [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<p>foo[]bar<p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<div style=\"text-align:right\"><p>foobar</p></div><p>extra</p>" but got "<p style=\"text-align:right\">foobar</p><p>extra</p>"
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<p>foo[]bar<p>extra" queryCommandIndeterm("stylewithcss") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<p>foo[]bar<p>extra" queryCommandState("stylewithcss") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<p>foo[]bar<p>extra" queryCommandValue("stylewithcss") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<p>foo[]bar<p>extra" queryCommandIndeterm("stylewithcss") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<p>foo[]bar<p>extra" queryCommandState("stylewithcss") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<p>foo[]bar<p>extra" queryCommandValue("stylewithcss") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<p>foo[]bar<p>extra" queryCommandIndeterm("defaultparagraphseparator") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<p>foo[]bar<p>extra" queryCommandState("defaultparagraphseparator") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<p>foo[]bar<p>extra" queryCommandValue("defaultparagraphseparator") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<p>foo[]bar<p>extra" queryCommandIndeterm("defaultparagraphseparator") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<p>foo[]bar<p>extra" queryCommandState("defaultparagraphseparator") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<p>foo[]bar<p>extra" queryCommandValue("defaultparagraphseparator") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<p>foo[]bar<p>extra" queryCommandIndeterm("justifyright") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<p>foo[]bar<p>extra" queryCommandState("justifyright") before 
-FAIL [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<p>foo[]bar<p>extra" queryCommandValue("justifyright") before assert_equals: Wrong result returned expected "left" but got "false"
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<p>foo[]bar<p>extra" queryCommandIndeterm("justifyright") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<p>foo[]bar<p>extra" queryCommandState("justifyright") after 
-FAIL [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<p>foo[]bar<p>extra" queryCommandValue("justifyright") after assert_equals: Wrong result returned expected "right" but got "true"
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<p>foo[]bar<p>extra": execCommand("stylewithcss", false, "false") return value 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<p>foo[]bar<p>extra": execCommand("defaultparagraphseparator", false, "p") return value 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<p>foo[]bar<p>extra": execCommand("justifyright", false, "") return value 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<p>foo[]bar<p>extra" checks for modifications to non-editable content 
-FAIL [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<p>foo[]bar<p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<div style=\"text-align:right\"><p>foobar</p></div><p>extra</p>" but got "<p style=\"text-align:right\">foobar</p><p>extra</p>"
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<p>foo[]bar<p>extra" queryCommandIndeterm("stylewithcss") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<p>foo[]bar<p>extra" queryCommandState("stylewithcss") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<p>foo[]bar<p>extra" queryCommandValue("stylewithcss") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<p>foo[]bar<p>extra" queryCommandIndeterm("stylewithcss") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<p>foo[]bar<p>extra" queryCommandState("stylewithcss") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<p>foo[]bar<p>extra" queryCommandValue("stylewithcss") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<p>foo[]bar<p>extra" queryCommandIndeterm("defaultparagraphseparator") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<p>foo[]bar<p>extra" queryCommandState("defaultparagraphseparator") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<p>foo[]bar<p>extra" queryCommandValue("defaultparagraphseparator") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<p>foo[]bar<p>extra" queryCommandIndeterm("defaultparagraphseparator") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<p>foo[]bar<p>extra" queryCommandState("defaultparagraphseparator") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<p>foo[]bar<p>extra" queryCommandValue("defaultparagraphseparator") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<p>foo[]bar<p>extra" queryCommandIndeterm("justifyright") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<p>foo[]bar<p>extra" queryCommandState("justifyright") before 
-FAIL [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<p>foo[]bar<p>extra" queryCommandValue("justifyright") before assert_equals: Wrong result returned expected "left" but got "false"
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<p>foo[]bar<p>extra" queryCommandIndeterm("justifyright") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<p>foo[]bar<p>extra" queryCommandState("justifyright") after 
-FAIL [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<p>foo[]bar<p>extra" queryCommandValue("justifyright") after assert_equals: Wrong result returned expected "right" but got "true"
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<p>foo[bar]baz<p>extra": execCommand("stylewithcss", false, "true") return value 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<p>foo[bar]baz<p>extra": execCommand("defaultparagraphseparator", false, "div") return value 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<p>foo[bar]baz<p>extra": execCommand("justifyright", false, "") return value 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<p>foo[bar]baz<p>extra" checks for modifications to non-editable content 
-FAIL [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<p>foo[bar]baz<p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<div style=\"text-align:right\"><p>foobarbaz</p></div><p>extra</p>" but got "<p style=\"text-align:right\">foobarbaz</p><p>extra</p>"
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<p>foo[bar]baz<p>extra" queryCommandIndeterm("stylewithcss") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<p>foo[bar]baz<p>extra" queryCommandState("stylewithcss") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<p>foo[bar]baz<p>extra" queryCommandValue("stylewithcss") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<p>foo[bar]baz<p>extra" queryCommandIndeterm("stylewithcss") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<p>foo[bar]baz<p>extra" queryCommandState("stylewithcss") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<p>foo[bar]baz<p>extra" queryCommandValue("stylewithcss") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<p>foo[bar]baz<p>extra" queryCommandIndeterm("defaultparagraphseparator") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<p>foo[bar]baz<p>extra" queryCommandState("defaultparagraphseparator") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<p>foo[bar]baz<p>extra" queryCommandValue("defaultparagraphseparator") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<p>foo[bar]baz<p>extra" queryCommandIndeterm("defaultparagraphseparator") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<p>foo[bar]baz<p>extra" queryCommandState("defaultparagraphseparator") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<p>foo[bar]baz<p>extra" queryCommandValue("defaultparagraphseparator") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<p>foo[bar]baz<p>extra" queryCommandIndeterm("justifyright") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<p>foo[bar]baz<p>extra" queryCommandState("justifyright") before 
-FAIL [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<p>foo[bar]baz<p>extra" queryCommandValue("justifyright") before assert_equals: Wrong result returned expected "left" but got "false"
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<p>foo[bar]baz<p>extra" queryCommandIndeterm("justifyright") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<p>foo[bar]baz<p>extra" queryCommandState("justifyright") after 
-FAIL [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<p>foo[bar]baz<p>extra" queryCommandValue("justifyright") after assert_equals: Wrong result returned expected "right" but got "true"
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<p>foo[bar]baz<p>extra": execCommand("stylewithcss", false, "false") return value 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<p>foo[bar]baz<p>extra": execCommand("defaultparagraphseparator", false, "div") return value 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<p>foo[bar]baz<p>extra": execCommand("justifyright", false, "") return value 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<p>foo[bar]baz<p>extra" checks for modifications to non-editable content 
-FAIL [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<p>foo[bar]baz<p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<div style=\"text-align:right\"><p>foobarbaz</p></div><p>extra</p>" but got "<p style=\"text-align:right\">foobarbaz</p><p>extra</p>"
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<p>foo[bar]baz<p>extra" queryCommandIndeterm("stylewithcss") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<p>foo[bar]baz<p>extra" queryCommandState("stylewithcss") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<p>foo[bar]baz<p>extra" queryCommandValue("stylewithcss") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<p>foo[bar]baz<p>extra" queryCommandIndeterm("stylewithcss") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<p>foo[bar]baz<p>extra" queryCommandState("stylewithcss") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<p>foo[bar]baz<p>extra" queryCommandValue("stylewithcss") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<p>foo[bar]baz<p>extra" queryCommandIndeterm("defaultparagraphseparator") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<p>foo[bar]baz<p>extra" queryCommandState("defaultparagraphseparator") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<p>foo[bar]baz<p>extra" queryCommandValue("defaultparagraphseparator") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<p>foo[bar]baz<p>extra" queryCommandIndeterm("defaultparagraphseparator") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<p>foo[bar]baz<p>extra" queryCommandState("defaultparagraphseparator") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<p>foo[bar]baz<p>extra" queryCommandValue("defaultparagraphseparator") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<p>foo[bar]baz<p>extra" queryCommandIndeterm("justifyright") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<p>foo[bar]baz<p>extra" queryCommandState("justifyright") before 
-FAIL [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<p>foo[bar]baz<p>extra" queryCommandValue("justifyright") before assert_equals: Wrong result returned expected "left" but got "false"
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<p>foo[bar]baz<p>extra" queryCommandIndeterm("justifyright") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<p>foo[bar]baz<p>extra" queryCommandState("justifyright") after 
-FAIL [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<p>foo[bar]baz<p>extra" queryCommandValue("justifyright") after assert_equals: Wrong result returned expected "right" but got "true"
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<p>foo[bar]baz<p>extra": execCommand("stylewithcss", false, "true") return value 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<p>foo[bar]baz<p>extra": execCommand("defaultparagraphseparator", false, "p") return value 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<p>foo[bar]baz<p>extra": execCommand("justifyright", false, "") return value 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<p>foo[bar]baz<p>extra" checks for modifications to non-editable content 
-FAIL [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<p>foo[bar]baz<p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<div style=\"text-align:right\"><p>foobarbaz</p></div><p>extra</p>" but got "<p style=\"text-align:right\">foobarbaz</p><p>extra</p>"
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<p>foo[bar]baz<p>extra" queryCommandIndeterm("stylewithcss") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<p>foo[bar]baz<p>extra" queryCommandState("stylewithcss") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<p>foo[bar]baz<p>extra" queryCommandValue("stylewithcss") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<p>foo[bar]baz<p>extra" queryCommandIndeterm("stylewithcss") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<p>foo[bar]baz<p>extra" queryCommandState("stylewithcss") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<p>foo[bar]baz<p>extra" queryCommandValue("stylewithcss") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<p>foo[bar]baz<p>extra" queryCommandIndeterm("defaultparagraphseparator") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<p>foo[bar]baz<p>extra" queryCommandState("defaultparagraphseparator") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<p>foo[bar]baz<p>extra" queryCommandValue("defaultparagraphseparator") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<p>foo[bar]baz<p>extra" queryCommandIndeterm("defaultparagraphseparator") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<p>foo[bar]baz<p>extra" queryCommandState("defaultparagraphseparator") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<p>foo[bar]baz<p>extra" queryCommandValue("defaultparagraphseparator") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<p>foo[bar]baz<p>extra" queryCommandIndeterm("justifyright") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<p>foo[bar]baz<p>extra" queryCommandState("justifyright") before 
-FAIL [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<p>foo[bar]baz<p>extra" queryCommandValue("justifyright") before assert_equals: Wrong result returned expected "left" but got "false"
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<p>foo[bar]baz<p>extra" queryCommandIndeterm("justifyright") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<p>foo[bar]baz<p>extra" queryCommandState("justifyright") after 
-FAIL [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<p>foo[bar]baz<p>extra" queryCommandValue("justifyright") after assert_equals: Wrong result returned expected "right" but got "true"
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<p>foo[bar]baz<p>extra": execCommand("stylewithcss", false, "false") return value 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<p>foo[bar]baz<p>extra": execCommand("defaultparagraphseparator", false, "p") return value 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<p>foo[bar]baz<p>extra": execCommand("justifyright", false, "") return value 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<p>foo[bar]baz<p>extra" checks for modifications to non-editable content 
-FAIL [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<p>foo[bar]baz<p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<div style=\"text-align:right\"><p>foobarbaz</p></div><p>extra</p>" but got "<p style=\"text-align:right\">foobarbaz</p><p>extra</p>"
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<p>foo[bar]baz<p>extra" queryCommandIndeterm("stylewithcss") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<p>foo[bar]baz<p>extra" queryCommandState("stylewithcss") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<p>foo[bar]baz<p>extra" queryCommandValue("stylewithcss") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<p>foo[bar]baz<p>extra" queryCommandIndeterm("stylewithcss") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<p>foo[bar]baz<p>extra" queryCommandState("stylewithcss") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<p>foo[bar]baz<p>extra" queryCommandValue("stylewithcss") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<p>foo[bar]baz<p>extra" queryCommandIndeterm("defaultparagraphseparator") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<p>foo[bar]baz<p>extra" queryCommandState("defaultparagraphseparator") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<p>foo[bar]baz<p>extra" queryCommandValue("defaultparagraphseparator") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<p>foo[bar]baz<p>extra" queryCommandIndeterm("defaultparagraphseparator") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<p>foo[bar]baz<p>extra" queryCommandState("defaultparagraphseparator") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<p>foo[bar]baz<p>extra" queryCommandValue("defaultparagraphseparator") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<p>foo[bar]baz<p>extra" queryCommandIndeterm("justifyright") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<p>foo[bar]baz<p>extra" queryCommandState("justifyright") before 
-FAIL [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<p>foo[bar]baz<p>extra" queryCommandValue("justifyright") before assert_equals: Wrong result returned expected "left" but got "false"
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<p>foo[bar]baz<p>extra" queryCommandIndeterm("justifyright") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<p>foo[bar]baz<p>extra" queryCommandState("justifyright") after 
-FAIL [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<p>foo[bar]baz<p>extra" queryCommandValue("justifyright") after assert_equals: Wrong result returned expected "right" but got "true"
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<h1>foo[bar]baz</h1><p>extra": execCommand("stylewithcss", false, "true") return value 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<h1>foo[bar]baz</h1><p>extra": execCommand("defaultparagraphseparator", false, "div") return value 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<h1>foo[bar]baz</h1><p>extra": execCommand("justifyright", false, "") return value 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<h1>foo[bar]baz</h1><p>extra" checks for modifications to non-editable content 
-FAIL [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<h1>foo[bar]baz</h1><p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<div style=\"text-align:right\"><h1>foobarbaz</h1></div><p>extra</p>" but got "<h1 style=\"text-align:right\">foobarbaz</h1><p>extra</p>"
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<h1>foo[bar]baz</h1><p>extra" queryCommandIndeterm("stylewithcss") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<h1>foo[bar]baz</h1><p>extra" queryCommandState("stylewithcss") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<h1>foo[bar]baz</h1><p>extra" queryCommandValue("stylewithcss") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<h1>foo[bar]baz</h1><p>extra" queryCommandIndeterm("stylewithcss") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<h1>foo[bar]baz</h1><p>extra" queryCommandState("stylewithcss") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<h1>foo[bar]baz</h1><p>extra" queryCommandValue("stylewithcss") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<h1>foo[bar]baz</h1><p>extra" queryCommandIndeterm("defaultparagraphseparator") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<h1>foo[bar]baz</h1><p>extra" queryCommandState("defaultparagraphseparator") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<h1>foo[bar]baz</h1><p>extra" queryCommandValue("defaultparagraphseparator") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<h1>foo[bar]baz</h1><p>extra" queryCommandIndeterm("defaultparagraphseparator") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<h1>foo[bar]baz</h1><p>extra" queryCommandState("defaultparagraphseparator") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<h1>foo[bar]baz</h1><p>extra" queryCommandValue("defaultparagraphseparator") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<h1>foo[bar]baz</h1><p>extra" queryCommandIndeterm("justifyright") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<h1>foo[bar]baz</h1><p>extra" queryCommandState("justifyright") before 
-FAIL [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<h1>foo[bar]baz</h1><p>extra" queryCommandValue("justifyright") before assert_equals: Wrong result returned expected "left" but got "false"
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<h1>foo[bar]baz</h1><p>extra" queryCommandIndeterm("justifyright") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<h1>foo[bar]baz</h1><p>extra" queryCommandState("justifyright") after 
-FAIL [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<h1>foo[bar]baz</h1><p>extra" queryCommandValue("justifyright") after assert_equals: Wrong result returned expected "right" but got "true"
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<h1>foo[bar]baz</h1><p>extra": execCommand("stylewithcss", false, "false") return value 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<h1>foo[bar]baz</h1><p>extra": execCommand("defaultparagraphseparator", false, "div") return value 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<h1>foo[bar]baz</h1><p>extra": execCommand("justifyright", false, "") return value 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<h1>foo[bar]baz</h1><p>extra" checks for modifications to non-editable content 
-FAIL [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<h1>foo[bar]baz</h1><p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<div style=\"text-align:right\"><h1>foobarbaz</h1></div><p>extra</p>" but got "<h1 style=\"text-align:right\">foobarbaz</h1><p>extra</p>"
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<h1>foo[bar]baz</h1><p>extra" queryCommandIndeterm("stylewithcss") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<h1>foo[bar]baz</h1><p>extra" queryCommandState("stylewithcss") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<h1>foo[bar]baz</h1><p>extra" queryCommandValue("stylewithcss") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<h1>foo[bar]baz</h1><p>extra" queryCommandIndeterm("stylewithcss") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<h1>foo[bar]baz</h1><p>extra" queryCommandState("stylewithcss") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<h1>foo[bar]baz</h1><p>extra" queryCommandValue("stylewithcss") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<h1>foo[bar]baz</h1><p>extra" queryCommandIndeterm("defaultparagraphseparator") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<h1>foo[bar]baz</h1><p>extra" queryCommandState("defaultparagraphseparator") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<h1>foo[bar]baz</h1><p>extra" queryCommandValue("defaultparagraphseparator") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<h1>foo[bar]baz</h1><p>extra" queryCommandIndeterm("defaultparagraphseparator") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<h1>foo[bar]baz</h1><p>extra" queryCommandState("defaultparagraphseparator") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<h1>foo[bar]baz</h1><p>extra" queryCommandValue("defaultparagraphseparator") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<h1>foo[bar]baz</h1><p>extra" queryCommandIndeterm("justifyright") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<h1>foo[bar]baz</h1><p>extra" queryCommandState("justifyright") before 
-FAIL [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<h1>foo[bar]baz</h1><p>extra" queryCommandValue("justifyright") before assert_equals: Wrong result returned expected "left" but got "false"
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<h1>foo[bar]baz</h1><p>extra" queryCommandIndeterm("justifyright") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<h1>foo[bar]baz</h1><p>extra" queryCommandState("justifyright") after 
-FAIL [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<h1>foo[bar]baz</h1><p>extra" queryCommandValue("justifyright") after assert_equals: Wrong result returned expected "right" but got "true"
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<h1>foo[bar]baz</h1><p>extra": execCommand("stylewithcss", false, "true") return value 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<h1>foo[bar]baz</h1><p>extra": execCommand("defaultparagraphseparator", false, "p") return value 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<h1>foo[bar]baz</h1><p>extra": execCommand("justifyright", false, "") return value 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<h1>foo[bar]baz</h1><p>extra" checks for modifications to non-editable content 
-FAIL [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<h1>foo[bar]baz</h1><p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<div style=\"text-align:right\"><h1>foobarbaz</h1></div><p>extra</p>" but got "<h1 style=\"text-align:right\">foobarbaz</h1><p>extra</p>"
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<h1>foo[bar]baz</h1><p>extra" queryCommandIndeterm("stylewithcss") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<h1>foo[bar]baz</h1><p>extra" queryCommandState("stylewithcss") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<h1>foo[bar]baz</h1><p>extra" queryCommandValue("stylewithcss") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<h1>foo[bar]baz</h1><p>extra" queryCommandIndeterm("stylewithcss") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<h1>foo[bar]baz</h1><p>extra" queryCommandState("stylewithcss") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<h1>foo[bar]baz</h1><p>extra" queryCommandValue("stylewithcss") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<h1>foo[bar]baz</h1><p>extra" queryCommandIndeterm("defaultparagraphseparator") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<h1>foo[bar]baz</h1><p>extra" queryCommandState("defaultparagraphseparator") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<h1>foo[bar]baz</h1><p>extra" queryCommandValue("defaultparagraphseparator") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<h1>foo[bar]baz</h1><p>extra" queryCommandIndeterm("defaultparagraphseparator") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<h1>foo[bar]baz</h1><p>extra" queryCommandState("defaultparagraphseparator") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<h1>foo[bar]baz</h1><p>extra" queryCommandValue("defaultparagraphseparator") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<h1>foo[bar]baz</h1><p>extra" queryCommandIndeterm("justifyright") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<h1>foo[bar]baz</h1><p>extra" queryCommandState("justifyright") before 
-FAIL [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<h1>foo[bar]baz</h1><p>extra" queryCommandValue("justifyright") before assert_equals: Wrong result returned expected "left" but got "false"
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<h1>foo[bar]baz</h1><p>extra" queryCommandIndeterm("justifyright") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<h1>foo[bar]baz</h1><p>extra" queryCommandState("justifyright") after 
-FAIL [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<h1>foo[bar]baz</h1><p>extra" queryCommandValue("justifyright") after assert_equals: Wrong result returned expected "right" but got "true"
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<h1>foo[bar]baz</h1><p>extra": execCommand("stylewithcss", false, "false") return value 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<h1>foo[bar]baz</h1><p>extra": execCommand("defaultparagraphseparator", false, "p") return value 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<h1>foo[bar]baz</h1><p>extra": execCommand("justifyright", false, "") return value 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<h1>foo[bar]baz</h1><p>extra" checks for modifications to non-editable content 
-FAIL [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<h1>foo[bar]baz</h1><p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<div style=\"text-align:right\"><h1>foobarbaz</h1></div><p>extra</p>" but got "<h1 style=\"text-align:right\">foobarbaz</h1><p>extra</p>"
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<h1>foo[bar]baz</h1><p>extra" queryCommandIndeterm("stylewithcss") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<h1>foo[bar]baz</h1><p>extra" queryCommandState("stylewithcss") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<h1>foo[bar]baz</h1><p>extra" queryCommandValue("stylewithcss") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<h1>foo[bar]baz</h1><p>extra" queryCommandIndeterm("stylewithcss") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<h1>foo[bar]baz</h1><p>extra" queryCommandState("stylewithcss") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<h1>foo[bar]baz</h1><p>extra" queryCommandValue("stylewithcss") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<h1>foo[bar]baz</h1><p>extra" queryCommandIndeterm("defaultparagraphseparator") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<h1>foo[bar]baz</h1><p>extra" queryCommandState("defaultparagraphseparator") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<h1>foo[bar]baz</h1><p>extra" queryCommandValue("defaultparagraphseparator") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<h1>foo[bar]baz</h1><p>extra" queryCommandIndeterm("defaultparagraphseparator") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<h1>foo[bar]baz</h1><p>extra" queryCommandState("defaultparagraphseparator") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<h1>foo[bar]baz</h1><p>extra" queryCommandValue("defaultparagraphseparator") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<h1>foo[bar]baz</h1><p>extra" queryCommandIndeterm("justifyright") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<h1>foo[bar]baz</h1><p>extra" queryCommandState("justifyright") before 
-FAIL [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<h1>foo[bar]baz</h1><p>extra" queryCommandValue("justifyright") before assert_equals: Wrong result returned expected "left" but got "false"
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<h1>foo[bar]baz</h1><p>extra" queryCommandIndeterm("justifyright") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<h1>foo[bar]baz</h1><p>extra" queryCommandState("justifyright") after 
-FAIL [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<h1>foo[bar]baz</h1><p>extra" queryCommandValue("justifyright") after assert_equals: Wrong result returned expected "right" but got "true"
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<pre>foo[bar]baz</pre><p>extra": execCommand("stylewithcss", false, "true") return value 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<pre>foo[bar]baz</pre><p>extra": execCommand("defaultparagraphseparator", false, "div") return value 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<pre>foo[bar]baz</pre><p>extra": execCommand("justifyright", false, "") return value 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<pre>foo[bar]baz</pre><p>extra" checks for modifications to non-editable content 
-FAIL [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<pre>foo[bar]baz</pre><p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<div style=\"text-align:right\"><pre>foobarbaz</pre></div><p>extra</p>" but got "<pre style=\"text-align:right\">foobarbaz</pre><p>extra</p>"
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<pre>foo[bar]baz</pre><p>extra" queryCommandIndeterm("stylewithcss") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<pre>foo[bar]baz</pre><p>extra" queryCommandState("stylewithcss") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<pre>foo[bar]baz</pre><p>extra" queryCommandValue("stylewithcss") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<pre>foo[bar]baz</pre><p>extra" queryCommandIndeterm("stylewithcss") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<pre>foo[bar]baz</pre><p>extra" queryCommandState("stylewithcss") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<pre>foo[bar]baz</pre><p>extra" queryCommandValue("stylewithcss") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<pre>foo[bar]baz</pre><p>extra" queryCommandIndeterm("defaultparagraphseparator") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<pre>foo[bar]baz</pre><p>extra" queryCommandState("defaultparagraphseparator") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<pre>foo[bar]baz</pre><p>extra" queryCommandValue("defaultparagraphseparator") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<pre>foo[bar]baz</pre><p>extra" queryCommandIndeterm("defaultparagraphseparator") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<pre>foo[bar]baz</pre><p>extra" queryCommandState("defaultparagraphseparator") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<pre>foo[bar]baz</pre><p>extra" queryCommandValue("defaultparagraphseparator") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<pre>foo[bar]baz</pre><p>extra" queryCommandIndeterm("justifyright") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<pre>foo[bar]baz</pre><p>extra" queryCommandState("justifyright") before 
-FAIL [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<pre>foo[bar]baz</pre><p>extra" queryCommandValue("justifyright") before assert_equals: Wrong result returned expected "left" but got "false"
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<pre>foo[bar]baz</pre><p>extra" queryCommandIndeterm("justifyright") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<pre>foo[bar]baz</pre><p>extra" queryCommandState("justifyright") after 
-FAIL [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<pre>foo[bar]baz</pre><p>extra" queryCommandValue("justifyright") after assert_equals: Wrong result returned expected "right" but got "true"
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<pre>foo[bar]baz</pre><p>extra": execCommand("stylewithcss", false, "false") return value 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<pre>foo[bar]baz</pre><p>extra": execCommand("defaultparagraphseparator", false, "div") return value 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<pre>foo[bar]baz</pre><p>extra": execCommand("justifyright", false, "") return value 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<pre>foo[bar]baz</pre><p>extra" checks for modifications to non-editable content 
-FAIL [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<pre>foo[bar]baz</pre><p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<div style=\"text-align:right\"><pre>foobarbaz</pre></div><p>extra</p>" but got "<pre style=\"text-align:right\">foobarbaz</pre><p>extra</p>"
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<pre>foo[bar]baz</pre><p>extra" queryCommandIndeterm("stylewithcss") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<pre>foo[bar]baz</pre><p>extra" queryCommandState("stylewithcss") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<pre>foo[bar]baz</pre><p>extra" queryCommandValue("stylewithcss") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<pre>foo[bar]baz</pre><p>extra" queryCommandIndeterm("stylewithcss") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<pre>foo[bar]baz</pre><p>extra" queryCommandState("stylewithcss") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<pre>foo[bar]baz</pre><p>extra" queryCommandValue("stylewithcss") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<pre>foo[bar]baz</pre><p>extra" queryCommandIndeterm("defaultparagraphseparator") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<pre>foo[bar]baz</pre><p>extra" queryCommandState("defaultparagraphseparator") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<pre>foo[bar]baz</pre><p>extra" queryCommandValue("defaultparagraphseparator") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<pre>foo[bar]baz</pre><p>extra" queryCommandIndeterm("defaultparagraphseparator") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<pre>foo[bar]baz</pre><p>extra" queryCommandState("defaultparagraphseparator") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<pre>foo[bar]baz</pre><p>extra" queryCommandValue("defaultparagraphseparator") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<pre>foo[bar]baz</pre><p>extra" queryCommandIndeterm("justifyright") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<pre>foo[bar]baz</pre><p>extra" queryCommandState("justifyright") before 
-FAIL [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<pre>foo[bar]baz</pre><p>extra" queryCommandValue("justifyright") before assert_equals: Wrong result returned expected "left" but got "false"
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<pre>foo[bar]baz</pre><p>extra" queryCommandIndeterm("justifyright") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<pre>foo[bar]baz</pre><p>extra" queryCommandState("justifyright") after 
-FAIL [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<pre>foo[bar]baz</pre><p>extra" queryCommandValue("justifyright") after assert_equals: Wrong result returned expected "right" but got "true"
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<pre>foo[bar]baz</pre><p>extra": execCommand("stylewithcss", false, "true") return value 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<pre>foo[bar]baz</pre><p>extra": execCommand("defaultparagraphseparator", false, "p") return value 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<pre>foo[bar]baz</pre><p>extra": execCommand("justifyright", false, "") return value 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<pre>foo[bar]baz</pre><p>extra" checks for modifications to non-editable content 
-FAIL [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<pre>foo[bar]baz</pre><p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<div style=\"text-align:right\"><pre>foobarbaz</pre></div><p>extra</p>" but got "<pre style=\"text-align:right\">foobarbaz</pre><p>extra</p>"
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<pre>foo[bar]baz</pre><p>extra" queryCommandIndeterm("stylewithcss") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<pre>foo[bar]baz</pre><p>extra" queryCommandState("stylewithcss") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<pre>foo[bar]baz</pre><p>extra" queryCommandValue("stylewithcss") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<pre>foo[bar]baz</pre><p>extra" queryCommandIndeterm("stylewithcss") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<pre>foo[bar]baz</pre><p>extra" queryCommandState("stylewithcss") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<pre>foo[bar]baz</pre><p>extra" queryCommandValue("stylewithcss") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<pre>foo[bar]baz</pre><p>extra" queryCommandIndeterm("defaultparagraphseparator") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<pre>foo[bar]baz</pre><p>extra" queryCommandState("defaultparagraphseparator") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<pre>foo[bar]baz</pre><p>extra" queryCommandValue("defaultparagraphseparator") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<pre>foo[bar]baz</pre><p>extra" queryCommandIndeterm("defaultparagraphseparator") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<pre>foo[bar]baz</pre><p>extra" queryCommandState("defaultparagraphseparator") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<pre>foo[bar]baz</pre><p>extra" queryCommandValue("defaultparagraphseparator") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<pre>foo[bar]baz</pre><p>extra" queryCommandIndeterm("justifyright") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<pre>foo[bar]baz</pre><p>extra" queryCommandState("justifyright") before 
-FAIL [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<pre>foo[bar]baz</pre><p>extra" queryCommandValue("justifyright") before assert_equals: Wrong result returned expected "left" but got "false"
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<pre>foo[bar]baz</pre><p>extra" queryCommandIndeterm("justifyright") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<pre>foo[bar]baz</pre><p>extra" queryCommandState("justifyright") after 
-FAIL [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<pre>foo[bar]baz</pre><p>extra" queryCommandValue("justifyright") after assert_equals: Wrong result returned expected "right" but got "true"
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<pre>foo[bar]baz</pre><p>extra": execCommand("stylewithcss", false, "false") return value 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<pre>foo[bar]baz</pre><p>extra": execCommand("defaultparagraphseparator", false, "p") return value 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<pre>foo[bar]baz</pre><p>extra": execCommand("justifyright", false, "") return value 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<pre>foo[bar]baz</pre><p>extra" checks for modifications to non-editable content 
-FAIL [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<pre>foo[bar]baz</pre><p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<div style=\"text-align:right\"><pre>foobarbaz</pre></div><p>extra</p>" but got "<pre style=\"text-align:right\">foobarbaz</pre><p>extra</p>"
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<pre>foo[bar]baz</pre><p>extra" queryCommandIndeterm("stylewithcss") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<pre>foo[bar]baz</pre><p>extra" queryCommandState("stylewithcss") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<pre>foo[bar]baz</pre><p>extra" queryCommandValue("stylewithcss") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<pre>foo[bar]baz</pre><p>extra" queryCommandIndeterm("stylewithcss") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<pre>foo[bar]baz</pre><p>extra" queryCommandState("stylewithcss") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<pre>foo[bar]baz</pre><p>extra" queryCommandValue("stylewithcss") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<pre>foo[bar]baz</pre><p>extra" queryCommandIndeterm("defaultparagraphseparator") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<pre>foo[bar]baz</pre><p>extra" queryCommandState("defaultparagraphseparator") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<pre>foo[bar]baz</pre><p>extra" queryCommandValue("defaultparagraphseparator") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<pre>foo[bar]baz</pre><p>extra" queryCommandIndeterm("defaultparagraphseparator") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<pre>foo[bar]baz</pre><p>extra" queryCommandState("defaultparagraphseparator") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<pre>foo[bar]baz</pre><p>extra" queryCommandValue("defaultparagraphseparator") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<pre>foo[bar]baz</pre><p>extra" queryCommandIndeterm("justifyright") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<pre>foo[bar]baz</pre><p>extra" queryCommandState("justifyright") before 
-FAIL [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<pre>foo[bar]baz</pre><p>extra" queryCommandValue("justifyright") before assert_equals: Wrong result returned expected "left" but got "false"
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<pre>foo[bar]baz</pre><p>extra" queryCommandIndeterm("justifyright") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<pre>foo[bar]baz</pre><p>extra" queryCommandState("justifyright") after 
-FAIL [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<pre>foo[bar]baz</pre><p>extra" queryCommandValue("justifyright") after assert_equals: Wrong result returned expected "right" but got "true"
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<xmp>foo[bar]baz</xmp><p>extra": execCommand("stylewithcss", false, "true") return value 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<xmp>foo[bar]baz</xmp><p>extra": execCommand("defaultparagraphseparator", false, "div") return value 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<xmp>foo[bar]baz</xmp><p>extra": execCommand("justifyright", false, "") return value 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<xmp>foo[bar]baz</xmp><p>extra" checks for modifications to non-editable content 
-FAIL [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<xmp>foo[bar]baz</xmp><p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<div style=\"text-align:right\"><xmp>foobarbaz</xmp></div><p>extra</p>" but got "<xmp style=\"text-align:right\">foobarbaz</xmp><p>extra</p>"
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<xmp>foo[bar]baz</xmp><p>extra" queryCommandIndeterm("stylewithcss") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<xmp>foo[bar]baz</xmp><p>extra" queryCommandState("stylewithcss") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<xmp>foo[bar]baz</xmp><p>extra" queryCommandValue("stylewithcss") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<xmp>foo[bar]baz</xmp><p>extra" queryCommandIndeterm("stylewithcss") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<xmp>foo[bar]baz</xmp><p>extra" queryCommandState("stylewithcss") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<xmp>foo[bar]baz</xmp><p>extra" queryCommandValue("stylewithcss") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<xmp>foo[bar]baz</xmp><p>extra" queryCommandIndeterm("defaultparagraphseparator") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<xmp>foo[bar]baz</xmp><p>extra" queryCommandState("defaultparagraphseparator") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<xmp>foo[bar]baz</xmp><p>extra" queryCommandValue("defaultparagraphseparator") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<xmp>foo[bar]baz</xmp><p>extra" queryCommandIndeterm("defaultparagraphseparator") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<xmp>foo[bar]baz</xmp><p>extra" queryCommandState("defaultparagraphseparator") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<xmp>foo[bar]baz</xmp><p>extra" queryCommandValue("defaultparagraphseparator") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<xmp>foo[bar]baz</xmp><p>extra" queryCommandIndeterm("justifyright") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<xmp>foo[bar]baz</xmp><p>extra" queryCommandState("justifyright") before 
-FAIL [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<xmp>foo[bar]baz</xmp><p>extra" queryCommandValue("justifyright") before assert_equals: Wrong result returned expected "left" but got "false"
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<xmp>foo[bar]baz</xmp><p>extra" queryCommandIndeterm("justifyright") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<xmp>foo[bar]baz</xmp><p>extra" queryCommandState("justifyright") after 
-FAIL [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<xmp>foo[bar]baz</xmp><p>extra" queryCommandValue("justifyright") after assert_equals: Wrong result returned expected "right" but got "true"
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<xmp>foo[bar]baz</xmp><p>extra": execCommand("stylewithcss", false, "false") return value 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<xmp>foo[bar]baz</xmp><p>extra": execCommand("defaultparagraphseparator", false, "div") return value 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<xmp>foo[bar]baz</xmp><p>extra": execCommand("justifyright", false, "") return value 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<xmp>foo[bar]baz</xmp><p>extra" checks for modifications to non-editable content 
-FAIL [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<xmp>foo[bar]baz</xmp><p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<div style=\"text-align:right\"><xmp>foobarbaz</xmp></div><p>extra</p>" but got "<xmp style=\"text-align:right\">foobarbaz</xmp><p>extra</p>"
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<xmp>foo[bar]baz</xmp><p>extra" queryCommandIndeterm("stylewithcss") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<xmp>foo[bar]baz</xmp><p>extra" queryCommandState("stylewithcss") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<xmp>foo[bar]baz</xmp><p>extra" queryCommandValue("stylewithcss") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<xmp>foo[bar]baz</xmp><p>extra" queryCommandIndeterm("stylewithcss") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<xmp>foo[bar]baz</xmp><p>extra" queryCommandState("stylewithcss") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<xmp>foo[bar]baz</xmp><p>extra" queryCommandValue("stylewithcss") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<xmp>foo[bar]baz</xmp><p>extra" queryCommandIndeterm("defaultparagraphseparator") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<xmp>foo[bar]baz</xmp><p>extra" queryCommandState("defaultparagraphseparator") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<xmp>foo[bar]baz</xmp><p>extra" queryCommandValue("defaultparagraphseparator") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<xmp>foo[bar]baz</xmp><p>extra" queryCommandIndeterm("defaultparagraphseparator") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<xmp>foo[bar]baz</xmp><p>extra" queryCommandState("defaultparagraphseparator") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<xmp>foo[bar]baz</xmp><p>extra" queryCommandValue("defaultparagraphseparator") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<xmp>foo[bar]baz</xmp><p>extra" queryCommandIndeterm("justifyright") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<xmp>foo[bar]baz</xmp><p>extra" queryCommandState("justifyright") before 
-FAIL [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<xmp>foo[bar]baz</xmp><p>extra" queryCommandValue("justifyright") before assert_equals: Wrong result returned expected "left" but got "false"
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<xmp>foo[bar]baz</xmp><p>extra" queryCommandIndeterm("justifyright") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<xmp>foo[bar]baz</xmp><p>extra" queryCommandState("justifyright") after 
-FAIL [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<xmp>foo[bar]baz</xmp><p>extra" queryCommandValue("justifyright") after assert_equals: Wrong result returned expected "right" but got "true"
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<xmp>foo[bar]baz</xmp><p>extra": execCommand("stylewithcss", false, "true") return value 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<xmp>foo[bar]baz</xmp><p>extra": execCommand("defaultparagraphseparator", false, "p") return value 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<xmp>foo[bar]baz</xmp><p>extra": execCommand("justifyright", false, "") return value 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<xmp>foo[bar]baz</xmp><p>extra" checks for modifications to non-editable content 
-FAIL [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<xmp>foo[bar]baz</xmp><p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<div style=\"text-align:right\"><xmp>foobarbaz</xmp></div><p>extra</p>" but got "<xmp style=\"text-align:right\">foobarbaz</xmp><p>extra</p>"
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<xmp>foo[bar]baz</xmp><p>extra" queryCommandIndeterm("stylewithcss") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<xmp>foo[bar]baz</xmp><p>extra" queryCommandState("stylewithcss") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<xmp>foo[bar]baz</xmp><p>extra" queryCommandValue("stylewithcss") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<xmp>foo[bar]baz</xmp><p>extra" queryCommandIndeterm("stylewithcss") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<xmp>foo[bar]baz</xmp><p>extra" queryCommandState("stylewithcss") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<xmp>foo[bar]baz</xmp><p>extra" queryCommandValue("stylewithcss") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<xmp>foo[bar]baz</xmp><p>extra" queryCommandIndeterm("defaultparagraphseparator") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<xmp>foo[bar]baz</xmp><p>extra" queryCommandState("defaultparagraphseparator") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<xmp>foo[bar]baz</xmp><p>extra" queryCommandValue("defaultparagraphseparator") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<xmp>foo[bar]baz</xmp><p>extra" queryCommandIndeterm("defaultparagraphseparator") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<xmp>foo[bar]baz</xmp><p>extra" queryCommandState("defaultparagraphseparator") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<xmp>foo[bar]baz</xmp><p>extra" queryCommandValue("defaultparagraphseparator") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<xmp>foo[bar]baz</xmp><p>extra" queryCommandIndeterm("justifyright") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<xmp>foo[bar]baz</xmp><p>extra" queryCommandState("justifyright") before 
-FAIL [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<xmp>foo[bar]baz</xmp><p>extra" queryCommandValue("justifyright") before assert_equals: Wrong result returned expected "left" but got "false"
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<xmp>foo[bar]baz</xmp><p>extra" queryCommandIndeterm("justifyright") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<xmp>foo[bar]baz</xmp><p>extra" queryCommandState("justifyright") after 
-FAIL [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<xmp>foo[bar]baz</xmp><p>extra" queryCommandValue("justifyright") after assert_equals: Wrong result returned expected "right" but got "true"
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<xmp>foo[bar]baz</xmp><p>extra": execCommand("stylewithcss", false, "false") return value 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<xmp>foo[bar]baz</xmp><p>extra": execCommand("defaultparagraphseparator", false, "p") return value 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<xmp>foo[bar]baz</xmp><p>extra": execCommand("justifyright", false, "") return value 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<xmp>foo[bar]baz</xmp><p>extra" checks for modifications to non-editable content 
-FAIL [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<xmp>foo[bar]baz</xmp><p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<div style=\"text-align:right\"><xmp>foobarbaz</xmp></div><p>extra</p>" but got "<xmp style=\"text-align:right\">foobarbaz</xmp><p>extra</p>"
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<xmp>foo[bar]baz</xmp><p>extra" queryCommandIndeterm("stylewithcss") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<xmp>foo[bar]baz</xmp><p>extra" queryCommandState("stylewithcss") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<xmp>foo[bar]baz</xmp><p>extra" queryCommandValue("stylewithcss") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<xmp>foo[bar]baz</xmp><p>extra" queryCommandIndeterm("stylewithcss") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<xmp>foo[bar]baz</xmp><p>extra" queryCommandState("stylewithcss") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<xmp>foo[bar]baz</xmp><p>extra" queryCommandValue("stylewithcss") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<xmp>foo[bar]baz</xmp><p>extra" queryCommandIndeterm("defaultparagraphseparator") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<xmp>foo[bar]baz</xmp><p>extra" queryCommandState("defaultparagraphseparator") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<xmp>foo[bar]baz</xmp><p>extra" queryCommandValue("defaultparagraphseparator") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<xmp>foo[bar]baz</xmp><p>extra" queryCommandIndeterm("defaultparagraphseparator") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<xmp>foo[bar]baz</xmp><p>extra" queryCommandState("defaultparagraphseparator") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<xmp>foo[bar]baz</xmp><p>extra" queryCommandValue("defaultparagraphseparator") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<xmp>foo[bar]baz</xmp><p>extra" queryCommandIndeterm("justifyright") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<xmp>foo[bar]baz</xmp><p>extra" queryCommandState("justifyright") before 
-FAIL [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<xmp>foo[bar]baz</xmp><p>extra" queryCommandValue("justifyright") before assert_equals: Wrong result returned expected "left" but got "false"
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<xmp>foo[bar]baz</xmp><p>extra" queryCommandIndeterm("justifyright") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<xmp>foo[bar]baz</xmp><p>extra" queryCommandState("justifyright") after 
-FAIL [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<xmp>foo[bar]baz</xmp><p>extra" queryCommandValue("justifyright") after assert_equals: Wrong result returned expected "right" but got "true"
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<center><p>[foo]<p>bar</center><p>extra": execCommand("stylewithcss", false, "true") return value 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<center><p>[foo]<p>bar</center><p>extra": execCommand("defaultparagraphseparator", false, "div") return value 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<center><p>[foo]<p>bar</center><p>extra": execCommand("justifyright", false, "") return value 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<center><p>[foo]<p>bar</center><p>extra" checks for modifications to non-editable content 
-FAIL [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<center><p>[foo]<p>bar</center><p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<center><div style=\"text-align:right\"><p>foo</p></div><p>bar</p></center><p>extra</p>" but got "<center><p style=\"text-align:right\">foo</p><p>bar</p></center><p>extra</p>"
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<center><p>[foo]<p>bar</center><p>extra" queryCommandIndeterm("stylewithcss") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<center><p>[foo]<p>bar</center><p>extra" queryCommandState("stylewithcss") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<center><p>[foo]<p>bar</center><p>extra" queryCommandValue("stylewithcss") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<center><p>[foo]<p>bar</center><p>extra" queryCommandIndeterm("stylewithcss") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<center><p>[foo]<p>bar</center><p>extra" queryCommandState("stylewithcss") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<center><p>[foo]<p>bar</center><p>extra" queryCommandValue("stylewithcss") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<center><p>[foo]<p>bar</center><p>extra" queryCommandIndeterm("defaultparagraphseparator") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<center><p>[foo]<p>bar</center><p>extra" queryCommandState("defaultparagraphseparator") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<center><p>[foo]<p>bar</center><p>extra" queryCommandValue("defaultparagraphseparator") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<center><p>[foo]<p>bar</center><p>extra" queryCommandIndeterm("defaultparagraphseparator") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<center><p>[foo]<p>bar</center><p>extra" queryCommandState("defaultparagraphseparator") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<center><p>[foo]<p>bar</center><p>extra" queryCommandValue("defaultparagraphseparator") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<center><p>[foo]<p>bar</center><p>extra" queryCommandIndeterm("justifyright") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<center><p>[foo]<p>bar</center><p>extra" queryCommandState("justifyright") before 
-FAIL [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<center><p>[foo]<p>bar</center><p>extra" queryCommandValue("justifyright") before assert_equals: Wrong result returned expected "center" but got "false"
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<center><p>[foo]<p>bar</center><p>extra" queryCommandIndeterm("justifyright") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<center><p>[foo]<p>bar</center><p>extra" queryCommandState("justifyright") after 
-FAIL [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<center><p>[foo]<p>bar</center><p>extra" queryCommandValue("justifyright") after assert_equals: Wrong result returned expected "right" but got "true"
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<center><p>[foo]<p>bar</center><p>extra": execCommand("stylewithcss", false, "false") return value 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<center><p>[foo]<p>bar</center><p>extra": execCommand("defaultparagraphseparator", false, "div") return value 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<center><p>[foo]<p>bar</center><p>extra": execCommand("justifyright", false, "") return value 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<center><p>[foo]<p>bar</center><p>extra" checks for modifications to non-editable content 
-FAIL [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<center><p>[foo]<p>bar</center><p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<center><div style=\"text-align:right\"><p>foo</p></div><p>bar</p></center><p>extra</p>" but got "<center><p style=\"text-align:right\">foo</p><p>bar</p></center><p>extra</p>"
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<center><p>[foo]<p>bar</center><p>extra" queryCommandIndeterm("stylewithcss") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<center><p>[foo]<p>bar</center><p>extra" queryCommandState("stylewithcss") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<center><p>[foo]<p>bar</center><p>extra" queryCommandValue("stylewithcss") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<center><p>[foo]<p>bar</center><p>extra" queryCommandIndeterm("stylewithcss") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<center><p>[foo]<p>bar</center><p>extra" queryCommandState("stylewithcss") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<center><p>[foo]<p>bar</center><p>extra" queryCommandValue("stylewithcss") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<center><p>[foo]<p>bar</center><p>extra" queryCommandIndeterm("defaultparagraphseparator") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<center><p>[foo]<p>bar</center><p>extra" queryCommandState("defaultparagraphseparator") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<center><p>[foo]<p>bar</center><p>extra" queryCommandValue("defaultparagraphseparator") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<center><p>[foo]<p>bar</center><p>extra" queryCommandIndeterm("defaultparagraphseparator") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<center><p>[foo]<p>bar</center><p>extra" queryCommandState("defaultparagraphseparator") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<center><p>[foo]<p>bar</center><p>extra" queryCommandValue("defaultparagraphseparator") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<center><p>[foo]<p>bar</center><p>extra" queryCommandIndeterm("justifyright") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<center><p>[foo]<p>bar</center><p>extra" queryCommandState("justifyright") before 
-FAIL [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<center><p>[foo]<p>bar</center><p>extra" queryCommandValue("justifyright") before assert_equals: Wrong result returned expected "center" but got "false"
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<center><p>[foo]<p>bar</center><p>extra" queryCommandIndeterm("justifyright") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<center><p>[foo]<p>bar</center><p>extra" queryCommandState("justifyright") after 
-FAIL [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<center><p>[foo]<p>bar</center><p>extra" queryCommandValue("justifyright") after assert_equals: Wrong result returned expected "right" but got "true"
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<center><p>[foo]<p>bar</center><p>extra": execCommand("stylewithcss", false, "true") return value 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<center><p>[foo]<p>bar</center><p>extra": execCommand("defaultparagraphseparator", false, "p") return value 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<center><p>[foo]<p>bar</center><p>extra": execCommand("justifyright", false, "") return value 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<center><p>[foo]<p>bar</center><p>extra" checks for modifications to non-editable content 
-FAIL [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<center><p>[foo]<p>bar</center><p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<center><div style=\"text-align:right\"><p>foo</p></div><p>bar</p></center><p>extra</p>" but got "<center><p style=\"text-align:right\">foo</p><p>bar</p></center><p>extra</p>"
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<center><p>[foo]<p>bar</center><p>extra" queryCommandIndeterm("stylewithcss") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<center><p>[foo]<p>bar</center><p>extra" queryCommandState("stylewithcss") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<center><p>[foo]<p>bar</center><p>extra" queryCommandValue("stylewithcss") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<center><p>[foo]<p>bar</center><p>extra" queryCommandIndeterm("stylewithcss") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<center><p>[foo]<p>bar</center><p>extra" queryCommandState("stylewithcss") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<center><p>[foo]<p>bar</center><p>extra" queryCommandValue("stylewithcss") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<center><p>[foo]<p>bar</center><p>extra" queryCommandIndeterm("defaultparagraphseparator") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<center><p>[foo]<p>bar</center><p>extra" queryCommandState("defaultparagraphseparator") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<center><p>[foo]<p>bar</center><p>extra" queryCommandValue("defaultparagraphseparator") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<center><p>[foo]<p>bar</center><p>extra" queryCommandIndeterm("defaultparagraphseparator") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<center><p>[foo]<p>bar</center><p>extra" queryCommandState("defaultparagraphseparator") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<center><p>[foo]<p>bar</center><p>extra" queryCommandValue("defaultparagraphseparator") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<center><p>[foo]<p>bar</center><p>extra" queryCommandIndeterm("justifyright") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<center><p>[foo]<p>bar</center><p>extra" queryCommandState("justifyright") before 
-FAIL [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<center><p>[foo]<p>bar</center><p>extra" queryCommandValue("justifyright") before assert_equals: Wrong result returned expected "center" but got "false"
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<center><p>[foo]<p>bar</center><p>extra" queryCommandIndeterm("justifyright") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<center><p>[foo]<p>bar</center><p>extra" queryCommandState("justifyright") after 
-FAIL [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<center><p>[foo]<p>bar</center><p>extra" queryCommandValue("justifyright") after assert_equals: Wrong result returned expected "right" but got "true"
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<center><p>[foo]<p>bar</center><p>extra": execCommand("stylewithcss", false, "false") return value 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<center><p>[foo]<p>bar</center><p>extra": execCommand("defaultparagraphseparator", false, "p") return value 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<center><p>[foo]<p>bar</center><p>extra": execCommand("justifyright", false, "") return value 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<center><p>[foo]<p>bar</center><p>extra" checks for modifications to non-editable content 
-FAIL [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<center><p>[foo]<p>bar</center><p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<center><div style=\"text-align:right\"><p>foo</p></div><p>bar</p></center><p>extra</p>" but got "<center><p style=\"text-align:right\">foo</p><p>bar</p></center><p>extra</p>"
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<center><p>[foo]<p>bar</center><p>extra" queryCommandIndeterm("stylewithcss") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<center><p>[foo]<p>bar</center><p>extra" queryCommandState("stylewithcss") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<center><p>[foo]<p>bar</center><p>extra" queryCommandValue("stylewithcss") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<center><p>[foo]<p>bar</center><p>extra" queryCommandIndeterm("stylewithcss") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<center><p>[foo]<p>bar</center><p>extra" queryCommandState("stylewithcss") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<center><p>[foo]<p>bar</center><p>extra" queryCommandValue("stylewithcss") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<center><p>[foo]<p>bar</center><p>extra" queryCommandIndeterm("defaultparagraphseparator") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<center><p>[foo]<p>bar</center><p>extra" queryCommandState("defaultparagraphseparator") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<center><p>[foo]<p>bar</center><p>extra" queryCommandValue("defaultparagraphseparator") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<center><p>[foo]<p>bar</center><p>extra" queryCommandIndeterm("defaultparagraphseparator") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<center><p>[foo]<p>bar</center><p>extra" queryCommandState("defaultparagraphseparator") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<center><p>[foo]<p>bar</center><p>extra" queryCommandValue("defaultparagraphseparator") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<center><p>[foo]<p>bar</center><p>extra" queryCommandIndeterm("justifyright") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<center><p>[foo]<p>bar</center><p>extra" queryCommandState("justifyright") before 
-FAIL [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<center><p>[foo]<p>bar</center><p>extra" queryCommandValue("justifyright") before assert_equals: Wrong result returned expected "center" but got "false"
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<center><p>[foo]<p>bar</center><p>extra" queryCommandIndeterm("justifyright") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<center><p>[foo]<p>bar</center><p>extra" queryCommandState("justifyright") after 
-FAIL [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<center><p>[foo]<p>bar</center><p>extra" queryCommandValue("justifyright") after assert_equals: Wrong result returned expected "right" but got "true"
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<center><p>[foo<p>bar]</center><p>extra": execCommand("stylewithcss", false, "true") return value 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<center><p>[foo<p>bar]</center><p>extra": execCommand("defaultparagraphseparator", false, "div") return value 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<center><p>[foo<p>bar]</center><p>extra": execCommand("justifyright", false, "") return value 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<center><p>[foo<p>bar]</center><p>extra" checks for modifications to non-editable content 
-FAIL [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<center><p>[foo<p>bar]</center><p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<div style=\"text-align:right\"><p>foo</p><p>bar</p></div><p>extra</p>" but got "<center><p style=\"text-align:right\">foo</p><p style=\"text-align:right\">bar</p></center><p>extra</p>"
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<center><p>[foo<p>bar]</center><p>extra" queryCommandIndeterm("stylewithcss") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<center><p>[foo<p>bar]</center><p>extra" queryCommandState("stylewithcss") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<center><p>[foo<p>bar]</center><p>extra" queryCommandValue("stylewithcss") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<center><p>[foo<p>bar]</center><p>extra" queryCommandIndeterm("stylewithcss") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<center><p>[foo<p>bar]</center><p>extra" queryCommandState("stylewithcss") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<center><p>[foo<p>bar]</center><p>extra" queryCommandValue("stylewithcss") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<center><p>[foo<p>bar]</center><p>extra" queryCommandIndeterm("defaultparagraphseparator") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<center><p>[foo<p>bar]</center><p>extra" queryCommandState("defaultparagraphseparator") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<center><p>[foo<p>bar]</center><p>extra" queryCommandValue("defaultparagraphseparator") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<center><p>[foo<p>bar]</center><p>extra" queryCommandIndeterm("defaultparagraphseparator") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<center><p>[foo<p>bar]</center><p>extra" queryCommandState("defaultparagraphseparator") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<center><p>[foo<p>bar]</center><p>extra" queryCommandValue("defaultparagraphseparator") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<center><p>[foo<p>bar]</center><p>extra" queryCommandIndeterm("justifyright") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<center><p>[foo<p>bar]</center><p>extra" queryCommandState("justifyright") before 
-FAIL [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<center><p>[foo<p>bar]</center><p>extra" queryCommandValue("justifyright") before assert_equals: Wrong result returned expected "center" but got "false"
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<center><p>[foo<p>bar]</center><p>extra" queryCommandIndeterm("justifyright") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<center><p>[foo<p>bar]</center><p>extra" queryCommandState("justifyright") after 
-FAIL [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<center><p>[foo<p>bar]</center><p>extra" queryCommandValue("justifyright") after assert_equals: Wrong result returned expected "right" but got "true"
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<center><p>[foo<p>bar]</center><p>extra": execCommand("stylewithcss", false, "false") return value 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<center><p>[foo<p>bar]</center><p>extra": execCommand("defaultparagraphseparator", false, "div") return value 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<center><p>[foo<p>bar]</center><p>extra": execCommand("justifyright", false, "") return value 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<center><p>[foo<p>bar]</center><p>extra" checks for modifications to non-editable content 
-FAIL [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<center><p>[foo<p>bar]</center><p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<div style=\"text-align:right\"><p>foo</p><p>bar</p></div><p>extra</p>" but got "<center><p style=\"text-align:right\">foo</p><p style=\"text-align:right\">bar</p></center><p>extra</p>"
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<center><p>[foo<p>bar]</center><p>extra" queryCommandIndeterm("stylewithcss") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<center><p>[foo<p>bar]</center><p>extra" queryCommandState("stylewithcss") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<center><p>[foo<p>bar]</center><p>extra" queryCommandValue("stylewithcss") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<center><p>[foo<p>bar]</center><p>extra" queryCommandIndeterm("stylewithcss") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<center><p>[foo<p>bar]</center><p>extra" queryCommandState("stylewithcss") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<center><p>[foo<p>bar]</center><p>extra" queryCommandValue("stylewithcss") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<center><p>[foo<p>bar]</center><p>extra" queryCommandIndeterm("defaultparagraphseparator") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<center><p>[foo<p>bar]</center><p>extra" queryCommandState("defaultparagraphseparator") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<center><p>[foo<p>bar]</center><p>extra" queryCommandValue("defaultparagraphseparator") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<center><p>[foo<p>bar]</center><p>extra" queryCommandIndeterm("defaultparagraphseparator") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<center><p>[foo<p>bar]</center><p>extra" queryCommandState("defaultparagraphseparator") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<center><p>[foo<p>bar]</center><p>extra" queryCommandValue("defaultparagraphseparator") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<center><p>[foo<p>bar]</center><p>extra" queryCommandIndeterm("justifyright") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<center><p>[foo<p>bar]</center><p>extra" queryCommandState("justifyright") before 
-FAIL [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<center><p>[foo<p>bar]</center><p>extra" queryCommandValue("justifyright") before assert_equals: Wrong result returned expected "center" but got "false"
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<center><p>[foo<p>bar]</center><p>extra" queryCommandIndeterm("justifyright") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<center><p>[foo<p>bar]</center><p>extra" queryCommandState("justifyright") after 
-FAIL [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<center><p>[foo<p>bar]</center><p>extra" queryCommandValue("justifyright") after assert_equals: Wrong result returned expected "right" but got "true"
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<center><p>[foo<p>bar]</center><p>extra": execCommand("stylewithcss", false, "true") return value 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<center><p>[foo<p>bar]</center><p>extra": execCommand("defaultparagraphseparator", false, "p") return value 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<center><p>[foo<p>bar]</center><p>extra": execCommand("justifyright", false, "") return value 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<center><p>[foo<p>bar]</center><p>extra" checks for modifications to non-editable content 
-FAIL [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<center><p>[foo<p>bar]</center><p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<div style=\"text-align:right\"><p>foo</p><p>bar</p></div><p>extra</p>" but got "<center><p style=\"text-align:right\">foo</p><p style=\"text-align:right\">bar</p></center><p>extra</p>"
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<center><p>[foo<p>bar]</center><p>extra" queryCommandIndeterm("stylewithcss") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<center><p>[foo<p>bar]</center><p>extra" queryCommandState("stylewithcss") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<center><p>[foo<p>bar]</center><p>extra" queryCommandValue("stylewithcss") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<center><p>[foo<p>bar]</center><p>extra" queryCommandIndeterm("stylewithcss") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<center><p>[foo<p>bar]</center><p>extra" queryCommandState("stylewithcss") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<center><p>[foo<p>bar]</center><p>extra" queryCommandValue("stylewithcss") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<center><p>[foo<p>bar]</center><p>extra" queryCommandIndeterm("defaultparagraphseparator") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<center><p>[foo<p>bar]</center><p>extra" queryCommandState("defaultparagraphseparator") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<center><p>[foo<p>bar]</center><p>extra" queryCommandValue("defaultparagraphseparator") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<center><p>[foo<p>bar]</center><p>extra" queryCommandIndeterm("defaultparagraphseparator") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<center><p>[foo<p>bar]</center><p>extra" queryCommandState("defaultparagraphseparator") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<center><p>[foo<p>bar]</center><p>extra" queryCommandValue("defaultparagraphseparator") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<center><p>[foo<p>bar]</center><p>extra" queryCommandIndeterm("justifyright") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<center><p>[foo<p>bar]</center><p>extra" queryCommandState("justifyright") before 
-FAIL [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<center><p>[foo<p>bar]</center><p>extra" queryCommandValue("justifyright") before assert_equals: Wrong result returned expected "center" but got "false"
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<center><p>[foo<p>bar]</center><p>extra" queryCommandIndeterm("justifyright") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<center><p>[foo<p>bar]</center><p>extra" queryCommandState("justifyright") after 
-FAIL [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<center><p>[foo<p>bar]</center><p>extra" queryCommandValue("justifyright") after assert_equals: Wrong result returned expected "right" but got "true"
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<center><p>[foo<p>bar]</center><p>extra": execCommand("stylewithcss", false, "false") return value 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<center><p>[foo<p>bar]</center><p>extra": execCommand("defaultparagraphseparator", false, "p") return value 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<center><p>[foo<p>bar]</center><p>extra": execCommand("justifyright", false, "") return value 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<center><p>[foo<p>bar]</center><p>extra" checks for modifications to non-editable content 
-FAIL [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<center><p>[foo<p>bar]</center><p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<div style=\"text-align:right\"><p>foo</p><p>bar</p></div><p>extra</p>" but got "<center><p style=\"text-align:right\">foo</p><p style=\"text-align:right\">bar</p></center><p>extra</p>"
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<center><p>[foo<p>bar]</center><p>extra" queryCommandIndeterm("stylewithcss") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<center><p>[foo<p>bar]</center><p>extra" queryCommandState("stylewithcss") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<center><p>[foo<p>bar]</center><p>extra" queryCommandValue("stylewithcss") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<center><p>[foo<p>bar]</center><p>extra" queryCommandIndeterm("stylewithcss") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<center><p>[foo<p>bar]</center><p>extra" queryCommandState("stylewithcss") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<center><p>[foo<p>bar]</center><p>extra" queryCommandValue("stylewithcss") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<center><p>[foo<p>bar]</center><p>extra" queryCommandIndeterm("defaultparagraphseparator") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<center><p>[foo<p>bar]</center><p>extra" queryCommandState("defaultparagraphseparator") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<center><p>[foo<p>bar]</center><p>extra" queryCommandValue("defaultparagraphseparator") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<center><p>[foo<p>bar]</center><p>extra" queryCommandIndeterm("defaultparagraphseparator") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<center><p>[foo<p>bar]</center><p>extra" queryCommandState("defaultparagraphseparator") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<center><p>[foo<p>bar]</center><p>extra" queryCommandValue("defaultparagraphseparator") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<center><p>[foo<p>bar]</center><p>extra" queryCommandIndeterm("justifyright") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<center><p>[foo<p>bar]</center><p>extra" queryCommandState("justifyright") before 
-FAIL [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<center><p>[foo<p>bar]</center><p>extra" queryCommandValue("justifyright") before assert_equals: Wrong result returned expected "center" but got "false"
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<center><p>[foo<p>bar]</center><p>extra" queryCommandIndeterm("justifyright") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<center><p>[foo<p>bar]</center><p>extra" queryCommandState("justifyright") after 
-FAIL [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<center><p>[foo<p>bar]</center><p>extra" queryCommandValue("justifyright") after assert_equals: Wrong result returned expected "right" but got "true"
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<table><tbody><tr><td>foo<td>b[a]r<td>baz</table><p>extra": execCommand("stylewithcss", false, "true") return value 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<table><tbody><tr><td>foo<td>b[a]r<td>baz</table><p>extra": execCommand("defaultparagraphseparator", false, "div") return value 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<table><tbody><tr><td>foo<td>b[a]r<td>baz</table><p>extra": execCommand("justifyright", false, "") return value 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<table><tbody><tr><td>foo<td>b[a]r<td>baz</table><p>extra" checks for modifications to non-editable content 
-FAIL [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<table><tbody><tr><td>foo<td>b[a]r<td>baz</table><p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<table><tbody><tr><td>foo</td><td><div style=\"text-align:right\">bar</div></td><td>baz</td></tr></tbody></table><p>extra</p>" but got "<table><tbody><tr><td>foo</td><td style=\"text-align:right\">bar</td><td>baz</td></tr></tbody></table><p>extra</p>"
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<table><tbody><tr><td>foo<td>b[a]r<td>baz</table><p>extra" queryCommandIndeterm("stylewithcss") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<table><tbody><tr><td>foo<td>b[a]r<td>baz</table><p>extra" queryCommandState("stylewithcss") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<table><tbody><tr><td>foo<td>b[a]r<td>baz</table><p>extra" queryCommandValue("stylewithcss") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<table><tbody><tr><td>foo<td>b[a]r<td>baz</table><p>extra" queryCommandIndeterm("stylewithcss") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<table><tbody><tr><td>foo<td>b[a]r<td>baz</table><p>extra" queryCommandState("stylewithcss") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<table><tbody><tr><td>foo<td>b[a]r<td>baz</table><p>extra" queryCommandValue("stylewithcss") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<table><tbody><tr><td>foo<td>b[a]r<td>baz</table><p>extra" queryCommandIndeterm("defaultparagraphseparator") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<table><tbody><tr><td>foo<td>b[a]r<td>baz</table><p>extra" queryCommandState("defaultparagraphseparator") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<table><tbody><tr><td>foo<td>b[a]r<td>baz</table><p>extra" queryCommandValue("defaultparagraphseparator") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<table><tbody><tr><td>foo<td>b[a]r<td>baz</table><p>extra" queryCommandIndeterm("defaultparagraphseparator") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<table><tbody><tr><td>foo<td>b[a]r<td>baz</table><p>extra" queryCommandState("defaultparagraphseparator") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<table><tbody><tr><td>foo<td>b[a]r<td>baz</table><p>extra" queryCommandValue("defaultparagraphseparator") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<table><tbody><tr><td>foo<td>b[a]r<td>baz</table><p>extra" queryCommandIndeterm("justifyright") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<table><tbody><tr><td>foo<td>b[a]r<td>baz</table><p>extra" queryCommandState("justifyright") before 
-FAIL [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<table><tbody><tr><td>foo<td>b[a]r<td>baz</table><p>extra" queryCommandValue("justifyright") before assert_equals: Wrong result returned expected "left" but got "false"
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<table><tbody><tr><td>foo<td>b[a]r<td>baz</table><p>extra" queryCommandIndeterm("justifyright") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<table><tbody><tr><td>foo<td>b[a]r<td>baz</table><p>extra" queryCommandState("justifyright") after 
-FAIL [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<table><tbody><tr><td>foo<td>b[a]r<td>baz</table><p>extra" queryCommandValue("justifyright") after assert_equals: Wrong result returned expected "right" but got "true"
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<table><tbody><tr><td>foo<td>b[a]r<td>baz</table><p>extra": execCommand("stylewithcss", false, "false") return value 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<table><tbody><tr><td>foo<td>b[a]r<td>baz</table><p>extra": execCommand("defaultparagraphseparator", false, "div") return value 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<table><tbody><tr><td>foo<td>b[a]r<td>baz</table><p>extra": execCommand("justifyright", false, "") return value 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<table><tbody><tr><td>foo<td>b[a]r<td>baz</table><p>extra" checks for modifications to non-editable content 
-FAIL [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<table><tbody><tr><td>foo<td>b[a]r<td>baz</table><p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<table><tbody><tr><td>foo</td><td><div style=\"text-align:right\">bar</div></td><td>baz</td></tr></tbody></table><p>extra</p>" but got "<table><tbody><tr><td>foo</td><td style=\"text-align:right\">bar</td><td>baz</td></tr></tbody></table><p>extra</p>"
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<table><tbody><tr><td>foo<td>b[a]r<td>baz</table><p>extra" queryCommandIndeterm("stylewithcss") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<table><tbody><tr><td>foo<td>b[a]r<td>baz</table><p>extra" queryCommandState("stylewithcss") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<table><tbody><tr><td>foo<td>b[a]r<td>baz</table><p>extra" queryCommandValue("stylewithcss") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<table><tbody><tr><td>foo<td>b[a]r<td>baz</table><p>extra" queryCommandIndeterm("stylewithcss") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<table><tbody><tr><td>foo<td>b[a]r<td>baz</table><p>extra" queryCommandState("stylewithcss") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<table><tbody><tr><td>foo<td>b[a]r<td>baz</table><p>extra" queryCommandValue("stylewithcss") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<table><tbody><tr><td>foo<td>b[a]r<td>baz</table><p>extra" queryCommandIndeterm("defaultparagraphseparator") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<table><tbody><tr><td>foo<td>b[a]r<td>baz</table><p>extra" queryCommandState("defaultparagraphseparator") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<table><tbody><tr><td>foo<td>b[a]r<td>baz</table><p>extra" queryCommandValue("defaultparagraphseparator") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<table><tbody><tr><td>foo<td>b[a]r<td>baz</table><p>extra" queryCommandIndeterm("defaultparagraphseparator") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<table><tbody><tr><td>foo<td>b[a]r<td>baz</table><p>extra" queryCommandState("defaultparagraphseparator") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<table><tbody><tr><td>foo<td>b[a]r<td>baz</table><p>extra" queryCommandValue("defaultparagraphseparator") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<table><tbody><tr><td>foo<td>b[a]r<td>baz</table><p>extra" queryCommandIndeterm("justifyright") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<table><tbody><tr><td>foo<td>b[a]r<td>baz</table><p>extra" queryCommandState("justifyright") before 
-FAIL [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<table><tbody><tr><td>foo<td>b[a]r<td>baz</table><p>extra" queryCommandValue("justifyright") before assert_equals: Wrong result returned expected "left" but got "false"
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<table><tbody><tr><td>foo<td>b[a]r<td>baz</table><p>extra" queryCommandIndeterm("justifyright") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<table><tbody><tr><td>foo<td>b[a]r<td>baz</table><p>extra" queryCommandState("justifyright") after 
-FAIL [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<table><tbody><tr><td>foo<td>b[a]r<td>baz</table><p>extra" queryCommandValue("justifyright") after assert_equals: Wrong result returned expected "right" but got "true"
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<table><tbody><tr><td>foo<td>b[a]r<td>baz</table><p>extra": execCommand("stylewithcss", false, "true") return value 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<table><tbody><tr><td>foo<td>b[a]r<td>baz</table><p>extra": execCommand("defaultparagraphseparator", false, "p") return value 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<table><tbody><tr><td>foo<td>b[a]r<td>baz</table><p>extra": execCommand("justifyright", false, "") return value 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<table><tbody><tr><td>foo<td>b[a]r<td>baz</table><p>extra" checks for modifications to non-editable content 
-FAIL [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<table><tbody><tr><td>foo<td>b[a]r<td>baz</table><p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<table><tbody><tr><td>foo</td><td><div style=\"text-align:right\">bar</div></td><td>baz</td></tr></tbody></table><p>extra</p>" but got "<table><tbody><tr><td>foo</td><td style=\"text-align:right\">bar</td><td>baz</td></tr></tbody></table><p>extra</p>"
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<table><tbody><tr><td>foo<td>b[a]r<td>baz</table><p>extra" queryCommandIndeterm("stylewithcss") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<table><tbody><tr><td>foo<td>b[a]r<td>baz</table><p>extra" queryCommandState("stylewithcss") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<table><tbody><tr><td>foo<td>b[a]r<td>baz</table><p>extra" queryCommandValue("stylewithcss") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<table><tbody><tr><td>foo<td>b[a]r<td>baz</table><p>extra" queryCommandIndeterm("stylewithcss") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<table><tbody><tr><td>foo<td>b[a]r<td>baz</table><p>extra" queryCommandState("stylewithcss") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<table><tbody><tr><td>foo<td>b[a]r<td>baz</table><p>extra" queryCommandValue("stylewithcss") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<table><tbody><tr><td>foo<td>b[a]r<td>baz</table><p>extra" queryCommandIndeterm("defaultparagraphseparator") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<table><tbody><tr><td>foo<td>b[a]r<td>baz</table><p>extra" queryCommandState("defaultparagraphseparator") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<table><tbody><tr><td>foo<td>b[a]r<td>baz</table><p>extra" queryCommandValue("defaultparagraphseparator") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<table><tbody><tr><td>foo<td>b[a]r<td>baz</table><p>extra" queryCommandIndeterm("defaultparagraphseparator") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<table><tbody><tr><td>foo<td>b[a]r<td>baz</table><p>extra" queryCommandState("defaultparagraphseparator") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<table><tbody><tr><td>foo<td>b[a]r<td>baz</table><p>extra" queryCommandValue("defaultparagraphseparator") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<table><tbody><tr><td>foo<td>b[a]r<td>baz</table><p>extra" queryCommandIndeterm("justifyright") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<table><tbody><tr><td>foo<td>b[a]r<td>baz</table><p>extra" queryCommandState("justifyright") before 
-FAIL [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<table><tbody><tr><td>foo<td>b[a]r<td>baz</table><p>extra" queryCommandValue("justifyright") before assert_equals: Wrong result returned expected "left" but got "false"
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<table><tbody><tr><td>foo<td>b[a]r<td>baz</table><p>extra" queryCommandIndeterm("justifyright") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<table><tbody><tr><td>foo<td>b[a]r<td>baz</table><p>extra" queryCommandState("justifyright") after 
-FAIL [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<table><tbody><tr><td>foo<td>b[a]r<td>baz</table><p>extra" queryCommandValue("justifyright") after assert_equals: Wrong result returned expected "right" but got "true"
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<table><tbody><tr><td>foo<td>b[a]r<td>baz</table><p>extra": execCommand("stylewithcss", false, "false") return value 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<table><tbody><tr><td>foo<td>b[a]r<td>baz</table><p>extra": execCommand("defaultparagraphseparator", false, "p") return value 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<table><tbody><tr><td>foo<td>b[a]r<td>baz</table><p>extra": execCommand("justifyright", false, "") return value 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<table><tbody><tr><td>foo<td>b[a]r<td>baz</table><p>extra" checks for modifications to non-editable content 
-FAIL [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<table><tbody><tr><td>foo<td>b[a]r<td>baz</table><p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<table><tbody><tr><td>foo</td><td><div style=\"text-align:right\">bar</div></td><td>baz</td></tr></tbody></table><p>extra</p>" but got "<table><tbody><tr><td>foo</td><td style=\"text-align:right\">bar</td><td>baz</td></tr></tbody></table><p>extra</p>"
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<table><tbody><tr><td>foo<td>b[a]r<td>baz</table><p>extra" queryCommandIndeterm("stylewithcss") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<table><tbody><tr><td>foo<td>b[a]r<td>baz</table><p>extra" queryCommandState("stylewithcss") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<table><tbody><tr><td>foo<td>b[a]r<td>baz</table><p>extra" queryCommandValue("stylewithcss") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<table><tbody><tr><td>foo<td>b[a]r<td>baz</table><p>extra" queryCommandIndeterm("stylewithcss") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<table><tbody><tr><td>foo<td>b[a]r<td>baz</table><p>extra" queryCommandState("stylewithcss") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<table><tbody><tr><td>foo<td>b[a]r<td>baz</table><p>extra" queryCommandValue("stylewithcss") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<table><tbody><tr><td>foo<td>b[a]r<td>baz</table><p>extra" queryCommandIndeterm("defaultparagraphseparator") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<table><tbody><tr><td>foo<td>b[a]r<td>baz</table><p>extra" queryCommandState("defaultparagraphseparator") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<table><tbody><tr><td>foo<td>b[a]r<td>baz</table><p>extra" queryCommandValue("defaultparagraphseparator") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<table><tbody><tr><td>foo<td>b[a]r<td>baz</table><p>extra" queryCommandIndeterm("defaultparagraphseparator") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<table><tbody><tr><td>foo<td>b[a]r<td>baz</table><p>extra" queryCommandState("defaultparagraphseparator") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<table><tbody><tr><td>foo<td>b[a]r<td>baz</table><p>extra" queryCommandValue("defaultparagraphseparator") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<table><tbody><tr><td>foo<td>b[a]r<td>baz</table><p>extra" queryCommandIndeterm("justifyright") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<table><tbody><tr><td>foo<td>b[a]r<td>baz</table><p>extra" queryCommandState("justifyright") before 
-FAIL [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<table><tbody><tr><td>foo<td>b[a]r<td>baz</table><p>extra" queryCommandValue("justifyright") before assert_equals: Wrong result returned expected "left" but got "false"
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<table><tbody><tr><td>foo<td>b[a]r<td>baz</table><p>extra" queryCommandIndeterm("justifyright") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<table><tbody><tr><td>foo<td>b[a]r<td>baz</table><p>extra" queryCommandState("justifyright") after 
-FAIL [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<table><tbody><tr><td>foo<td>b[a]r<td>baz</table><p>extra" queryCommandValue("justifyright") after assert_equals: Wrong result returned expected "right" but got "true"
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<table><tbody><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table><p>extra": execCommand("stylewithcss", false, "true") return value 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<table><tbody><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table><p>extra": execCommand("defaultparagraphseparator", false, "div") return value 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<table><tbody><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table><p>extra": execCommand("justifyright", false, "") return value 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<table><tbody><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table><p>extra" checks for modifications to non-editable content 
-FAIL [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<table><tbody><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table><p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<table><tbody><tr><td>foo</td><td><div style=\"text-align:right\">bar</div></td><td>baz</td></tr></tbody></table><p>extra</p>" but got "<table><tbody><tr><td>foo</td><td style=\"text-align:right\">bar</td><td style=\"text-align:right\">baz</td></tr></tbody></table><p>extra</p>"
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<table><tbody><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("stylewithcss") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<table><tbody><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("stylewithcss") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<table><tbody><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("stylewithcss") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<table><tbody><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("stylewithcss") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<table><tbody><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("stylewithcss") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<table><tbody><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("stylewithcss") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<table><tbody><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("defaultparagraphseparator") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<table><tbody><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("defaultparagraphseparator") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<table><tbody><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("defaultparagraphseparator") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<table><tbody><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("defaultparagraphseparator") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<table><tbody><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("defaultparagraphseparator") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<table><tbody><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("defaultparagraphseparator") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<table><tbody><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("justifyright") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<table><tbody><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("justifyright") before 
-FAIL [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<table><tbody><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("justifyright") before assert_equals: Wrong result returned expected "left" but got "false"
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<table><tbody><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("justifyright") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<table><tbody><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("justifyright") after 
-FAIL [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<table><tbody><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("justifyright") after assert_equals: Wrong result returned expected "right" but got "true"
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<table><tbody><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table><p>extra": execCommand("stylewithcss", false, "false") return value 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<table><tbody><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table><p>extra": execCommand("defaultparagraphseparator", false, "div") return value 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<table><tbody><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table><p>extra": execCommand("justifyright", false, "") return value 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<table><tbody><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table><p>extra" checks for modifications to non-editable content 
-FAIL [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<table><tbody><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table><p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<table><tbody><tr><td>foo</td><td><div style=\"text-align:right\">bar</div></td><td>baz</td></tr></tbody></table><p>extra</p>" but got "<table><tbody><tr><td>foo</td><td style=\"text-align:right\">bar</td><td style=\"text-align:right\">baz</td></tr></tbody></table><p>extra</p>"
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<table><tbody><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("stylewithcss") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<table><tbody><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("stylewithcss") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<table><tbody><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("stylewithcss") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<table><tbody><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("stylewithcss") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<table><tbody><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("stylewithcss") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<table><tbody><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("stylewithcss") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<table><tbody><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("defaultparagraphseparator") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<table><tbody><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("defaultparagraphseparator") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<table><tbody><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("defaultparagraphseparator") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<table><tbody><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("defaultparagraphseparator") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<table><tbody><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("defaultparagraphseparator") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<table><tbody><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("defaultparagraphseparator") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<table><tbody><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("justifyright") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<table><tbody><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("justifyright") before 
-FAIL [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<table><tbody><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("justifyright") before assert_equals: Wrong result returned expected "left" but got "false"
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<table><tbody><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("justifyright") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<table><tbody><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("justifyright") after 
-FAIL [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<table><tbody><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("justifyright") after assert_equals: Wrong result returned expected "right" but got "true"
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<table><tbody><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table><p>extra": execCommand("stylewithcss", false, "true") return value 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<table><tbody><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table><p>extra": execCommand("defaultparagraphseparator", false, "p") return value 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<table><tbody><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table><p>extra": execCommand("justifyright", false, "") return value 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<table><tbody><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table><p>extra" checks for modifications to non-editable content 
-FAIL [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<table><tbody><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table><p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<table><tbody><tr><td>foo</td><td><div style=\"text-align:right\">bar</div></td><td>baz</td></tr></tbody></table><p>extra</p>" but got "<table><tbody><tr><td>foo</td><td style=\"text-align:right\">bar</td><td style=\"text-align:right\">baz</td></tr></tbody></table><p>extra</p>"
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<table><tbody><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("stylewithcss") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<table><tbody><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("stylewithcss") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<table><tbody><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("stylewithcss") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<table><tbody><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("stylewithcss") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<table><tbody><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("stylewithcss") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<table><tbody><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("stylewithcss") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<table><tbody><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("defaultparagraphseparator") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<table><tbody><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("defaultparagraphseparator") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<table><tbody><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("defaultparagraphseparator") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<table><tbody><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("defaultparagraphseparator") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<table><tbody><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("defaultparagraphseparator") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<table><tbody><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("defaultparagraphseparator") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<table><tbody><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("justifyright") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<table><tbody><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("justifyright") before 
-FAIL [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<table><tbody><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("justifyright") before assert_equals: Wrong result returned expected "left" but got "false"
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<table><tbody><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("justifyright") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<table><tbody><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("justifyright") after 
-FAIL [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<table><tbody><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("justifyright") after assert_equals: Wrong result returned expected "right" but got "true"
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<table><tbody><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table><p>extra": execCommand("stylewithcss", false, "false") return value 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<table><tbody><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table><p>extra": execCommand("defaultparagraphseparator", false, "p") return value 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<table><tbody><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table><p>extra": execCommand("justifyright", false, "") return value 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<table><tbody><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table><p>extra" checks for modifications to non-editable content 
-FAIL [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<table><tbody><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table><p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<table><tbody><tr><td>foo</td><td><div style=\"text-align:right\">bar</div></td><td>baz</td></tr></tbody></table><p>extra</p>" but got "<table><tbody><tr><td>foo</td><td style=\"text-align:right\">bar</td><td style=\"text-align:right\">baz</td></tr></tbody></table><p>extra</p>"
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<table><tbody><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("stylewithcss") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<table><tbody><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("stylewithcss") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<table><tbody><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("stylewithcss") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<table><tbody><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("stylewithcss") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<table><tbody><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("stylewithcss") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<table><tbody><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("stylewithcss") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<table><tbody><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("defaultparagraphseparator") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<table><tbody><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("defaultparagraphseparator") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<table><tbody><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("defaultparagraphseparator") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<table><tbody><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("defaultparagraphseparator") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<table><tbody><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("defaultparagraphseparator") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<table><tbody><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("defaultparagraphseparator") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<table><tbody><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("justifyright") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<table><tbody><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("justifyright") before 
-FAIL [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<table><tbody><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("justifyright") before assert_equals: Wrong result returned expected "left" but got "false"
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<table><tbody><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("justifyright") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<table><tbody><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("justifyright") after 
-FAIL [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<table><tbody><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("justifyright") after assert_equals: Wrong result returned expected "right" but got "true"
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<table><tbody><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table><p>extra": execCommand("stylewithcss", false, "true") return value 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<table><tbody><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table><p>extra": execCommand("defaultparagraphseparator", false, "div") return value 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<table><tbody><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table><p>extra": execCommand("justifyright", false, "") return value 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<table><tbody><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table><p>extra" checks for modifications to non-editable content 
-FAIL [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<table><tbody><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table><p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<table><tbody><tr><td><div style=\"text-align:right\">foo</div></td><td><div style=\"text-align:right\">bar</div></td><td>baz</td></tr></tbody></table><p>extra</p>" but got "<table><tbody><tr><td style=\"text-align:right\">foo</td><td style=\"text-align:right\">bar</td><td style=\"text-align:right\">baz</td></tr></tbody></table><p>extra</p>"
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<table><tbody><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("stylewithcss") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<table><tbody><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("stylewithcss") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<table><tbody><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("stylewithcss") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<table><tbody><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("stylewithcss") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<table><tbody><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("stylewithcss") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<table><tbody><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("stylewithcss") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<table><tbody><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("defaultparagraphseparator") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<table><tbody><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("defaultparagraphseparator") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<table><tbody><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("defaultparagraphseparator") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<table><tbody><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("defaultparagraphseparator") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<table><tbody><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("defaultparagraphseparator") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<table><tbody><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("defaultparagraphseparator") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<table><tbody><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("justifyright") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<table><tbody><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("justifyright") before 
-FAIL [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<table><tbody><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("justifyright") before assert_equals: Wrong result returned expected "left" but got "false"
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<table><tbody><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("justifyright") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<table><tbody><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("justifyright") after 
-FAIL [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<table><tbody><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("justifyright") after assert_equals: Wrong result returned expected "right" but got "true"
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<table><tbody><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table><p>extra": execCommand("stylewithcss", false, "false") return value 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<table><tbody><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table><p>extra": execCommand("defaultparagraphseparator", false, "div") return value 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<table><tbody><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table><p>extra": execCommand("justifyright", false, "") return value 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<table><tbody><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table><p>extra" checks for modifications to non-editable content 
-FAIL [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<table><tbody><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table><p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<table><tbody><tr><td><div style=\"text-align:right\">foo</div></td><td><div style=\"text-align:right\">bar</div></td><td>baz</td></tr></tbody></table><p>extra</p>" but got "<table><tbody><tr><td style=\"text-align:right\">foo</td><td style=\"text-align:right\">bar</td><td style=\"text-align:right\">baz</td></tr></tbody></table><p>extra</p>"
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<table><tbody><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("stylewithcss") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<table><tbody><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("stylewithcss") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<table><tbody><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("stylewithcss") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<table><tbody><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("stylewithcss") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<table><tbody><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("stylewithcss") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<table><tbody><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("stylewithcss") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<table><tbody><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("defaultparagraphseparator") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<table><tbody><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("defaultparagraphseparator") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<table><tbody><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("defaultparagraphseparator") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<table><tbody><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("defaultparagraphseparator") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<table><tbody><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("defaultparagraphseparator") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<table><tbody><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("defaultparagraphseparator") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<table><tbody><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("justifyright") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<table><tbody><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("justifyright") before 
-FAIL [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<table><tbody><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("justifyright") before assert_equals: Wrong result returned expected "left" but got "false"
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<table><tbody><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("justifyright") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<table><tbody><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("justifyright") after 
-FAIL [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<table><tbody><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("justifyright") after assert_equals: Wrong result returned expected "right" but got "true"
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<table><tbody><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table><p>extra": execCommand("stylewithcss", false, "true") return value 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<table><tbody><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table><p>extra": execCommand("defaultparagraphseparator", false, "p") return value 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<table><tbody><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table><p>extra": execCommand("justifyright", false, "") return value 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<table><tbody><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table><p>extra" checks for modifications to non-editable content 
-FAIL [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<table><tbody><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table><p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<table><tbody><tr><td><div style=\"text-align:right\">foo</div></td><td><div style=\"text-align:right\">bar</div></td><td>baz</td></tr></tbody></table><p>extra</p>" but got "<table><tbody><tr><td style=\"text-align:right\">foo</td><td style=\"text-align:right\">bar</td><td style=\"text-align:right\">baz</td></tr></tbody></table><p>extra</p>"
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<table><tbody><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("stylewithcss") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<table><tbody><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("stylewithcss") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<table><tbody><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("stylewithcss") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<table><tbody><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("stylewithcss") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<table><tbody><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("stylewithcss") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<table><tbody><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("stylewithcss") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<table><tbody><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("defaultparagraphseparator") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<table><tbody><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("defaultparagraphseparator") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<table><tbody><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("defaultparagraphseparator") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<table><tbody><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("defaultparagraphseparator") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<table><tbody><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("defaultparagraphseparator") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<table><tbody><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("defaultparagraphseparator") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<table><tbody><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("justifyright") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<table><tbody><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("justifyright") before 
-FAIL [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<table><tbody><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("justifyright") before assert_equals: Wrong result returned expected "left" but got "false"
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<table><tbody><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("justifyright") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<table><tbody><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("justifyright") after 
-FAIL [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<table><tbody><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("justifyright") after assert_equals: Wrong result returned expected "right" but got "true"
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<table><tbody><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table><p>extra": execCommand("stylewithcss", false, "false") return value 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<table><tbody><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table><p>extra": execCommand("defaultparagraphseparator", false, "p") return value 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<table><tbody><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table><p>extra": execCommand("justifyright", false, "") return value 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<table><tbody><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table><p>extra" checks for modifications to non-editable content 
-FAIL [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<table><tbody><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table><p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<table><tbody><tr><td><div style=\"text-align:right\">foo</div></td><td><div style=\"text-align:right\">bar</div></td><td>baz</td></tr></tbody></table><p>extra</p>" but got "<table><tbody><tr><td style=\"text-align:right\">foo</td><td style=\"text-align:right\">bar</td><td style=\"text-align:right\">baz</td></tr></tbody></table><p>extra</p>"
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<table><tbody><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("stylewithcss") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<table><tbody><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("stylewithcss") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<table><tbody><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("stylewithcss") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<table><tbody><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("stylewithcss") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<table><tbody><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("stylewithcss") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<table><tbody><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("stylewithcss") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<table><tbody><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("defaultparagraphseparator") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<table><tbody><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("defaultparagraphseparator") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<table><tbody><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("defaultparagraphseparator") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<table><tbody><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("defaultparagraphseparator") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<table><tbody><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("defaultparagraphseparator") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<table><tbody><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("defaultparagraphseparator") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<table><tbody><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("justifyright") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<table><tbody><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("justifyright") before 
-FAIL [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<table><tbody><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("justifyright") before assert_equals: Wrong result returned expected "left" but got "false"
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<table><tbody><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("justifyright") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<table><tbody><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("justifyright") after 
-FAIL [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<table><tbody><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("justifyright") after assert_equals: Wrong result returned expected "right" but got "true"
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<table><tbody data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra": execCommand("stylewithcss", false, "true") return value 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<table><tbody data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra": execCommand("defaultparagraphseparator", false, "div") return value 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<table><tbody data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra": execCommand("justifyright", false, "") return value 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<table><tbody data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" checks for modifications to non-editable content 
-FAIL [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<table><tbody data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<div style=\"text-align:right\"><table><tbody><tr><td>foo</td><td>bar</td><td>baz</td></tr></tbody></table></div><p>extra</p>" but got "<table style=\"text-align:right\"><tbody><tr><td style=\"text-align:right\">foo</td><td style=\"text-align:right\">bar</td><td style=\"text-align:right\">baz</td></tr></tbody></table><p>extra</p>"
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<table><tbody data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("stylewithcss") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<table><tbody data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("stylewithcss") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<table><tbody data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("stylewithcss") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<table><tbody data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("stylewithcss") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<table><tbody data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("stylewithcss") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<table><tbody data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("stylewithcss") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<table><tbody data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("defaultparagraphseparator") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<table><tbody data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("defaultparagraphseparator") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<table><tbody data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("defaultparagraphseparator") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<table><tbody data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("defaultparagraphseparator") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<table><tbody data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("defaultparagraphseparator") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<table><tbody data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("defaultparagraphseparator") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<table><tbody data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("justifyright") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<table><tbody data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("justifyright") before 
-FAIL [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<table><tbody data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("justifyright") before assert_equals: Wrong result returned expected "left" but got "false"
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<table><tbody data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("justifyright") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<table><tbody data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("justifyright") after 
-FAIL [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<table><tbody data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("justifyright") after assert_equals: Wrong result returned expected "right" but got "true"
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<table><tbody data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra": execCommand("stylewithcss", false, "false") return value 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<table><tbody data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra": execCommand("defaultparagraphseparator", false, "div") return value 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<table><tbody data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra": execCommand("justifyright", false, "") return value 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<table><tbody data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" checks for modifications to non-editable content 
-FAIL [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<table><tbody data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<div style=\"text-align:right\"><table><tbody><tr><td>foo</td><td>bar</td><td>baz</td></tr></tbody></table></div><p>extra</p>" but got "<table style=\"text-align:right\"><tbody><tr><td style=\"text-align:right\">foo</td><td style=\"text-align:right\">bar</td><td style=\"text-align:right\">baz</td></tr></tbody></table><p>extra</p>"
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<table><tbody data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("stylewithcss") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<table><tbody data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("stylewithcss") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<table><tbody data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("stylewithcss") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<table><tbody data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("stylewithcss") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<table><tbody data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("stylewithcss") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<table><tbody data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("stylewithcss") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<table><tbody data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("defaultparagraphseparator") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<table><tbody data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("defaultparagraphseparator") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<table><tbody data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("defaultparagraphseparator") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<table><tbody data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("defaultparagraphseparator") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<table><tbody data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("defaultparagraphseparator") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<table><tbody data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("defaultparagraphseparator") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<table><tbody data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("justifyright") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<table><tbody data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("justifyright") before 
-FAIL [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<table><tbody data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("justifyright") before assert_equals: Wrong result returned expected "left" but got "false"
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<table><tbody data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("justifyright") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<table><tbody data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("justifyright") after 
-FAIL [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<table><tbody data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("justifyright") after assert_equals: Wrong result returned expected "right" but got "true"
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<table><tbody data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra": execCommand("stylewithcss", false, "true") return value 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<table><tbody data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra": execCommand("defaultparagraphseparator", false, "p") return value 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<table><tbody data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra": execCommand("justifyright", false, "") return value 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<table><tbody data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" checks for modifications to non-editable content 
-FAIL [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<table><tbody data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<div style=\"text-align:right\"><table><tbody><tr><td>foo</td><td>bar</td><td>baz</td></tr></tbody></table></div><p>extra</p>" but got "<table style=\"text-align:right\"><tbody><tr><td style=\"text-align:right\">foo</td><td style=\"text-align:right\">bar</td><td style=\"text-align:right\">baz</td></tr></tbody></table><p>extra</p>"
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<table><tbody data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("stylewithcss") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<table><tbody data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("stylewithcss") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<table><tbody data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("stylewithcss") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<table><tbody data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("stylewithcss") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<table><tbody data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("stylewithcss") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<table><tbody data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("stylewithcss") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<table><tbody data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("defaultparagraphseparator") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<table><tbody data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("defaultparagraphseparator") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<table><tbody data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("defaultparagraphseparator") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<table><tbody data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("defaultparagraphseparator") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<table><tbody data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("defaultparagraphseparator") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<table><tbody data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("defaultparagraphseparator") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<table><tbody data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("justifyright") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<table><tbody data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("justifyright") before 
-FAIL [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<table><tbody data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("justifyright") before assert_equals: Wrong result returned expected "left" but got "false"
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<table><tbody data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("justifyright") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<table><tbody data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("justifyright") after 
-FAIL [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<table><tbody data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("justifyright") after assert_equals: Wrong result returned expected "right" but got "true"
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<table><tbody data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra": execCommand("stylewithcss", false, "false") return value 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<table><tbody data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra": execCommand("defaultparagraphseparator", false, "p") return value 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<table><tbody data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra": execCommand("justifyright", false, "") return value 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<table><tbody data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" checks for modifications to non-editable content 
-FAIL [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<table><tbody data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<div style=\"text-align:right\"><table><tbody><tr><td>foo</td><td>bar</td><td>baz</td></tr></tbody></table></div><p>extra</p>" but got "<table style=\"text-align:right\"><tbody><tr><td style=\"text-align:right\">foo</td><td style=\"text-align:right\">bar</td><td style=\"text-align:right\">baz</td></tr></tbody></table><p>extra</p>"
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<table><tbody data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("stylewithcss") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<table><tbody data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("stylewithcss") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<table><tbody data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("stylewithcss") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<table><tbody data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("stylewithcss") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<table><tbody data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("stylewithcss") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<table><tbody data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("stylewithcss") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<table><tbody data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("defaultparagraphseparator") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<table><tbody data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("defaultparagraphseparator") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<table><tbody data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("defaultparagraphseparator") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<table><tbody data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("defaultparagraphseparator") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<table><tbody data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("defaultparagraphseparator") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<table><tbody data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("defaultparagraphseparator") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<table><tbody data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("justifyright") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<table><tbody data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("justifyright") before 
-FAIL [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<table><tbody data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("justifyright") before assert_equals: Wrong result returned expected "left" but got "false"
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<table><tbody data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("justifyright") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<table><tbody data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("justifyright") after 
-FAIL [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<table><tbody data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("justifyright") after assert_equals: Wrong result returned expected "right" but got "true"
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<table data-start=0 data-end=1><tbody><tr><td>foo<td>bar<td>baz</table><p>extra": execCommand("stylewithcss", false, "true") return value 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<table data-start=0 data-end=1><tbody><tr><td>foo<td>bar<td>baz</table><p>extra": execCommand("defaultparagraphseparator", false, "div") return value 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<table data-start=0 data-end=1><tbody><tr><td>foo<td>bar<td>baz</table><p>extra": execCommand("justifyright", false, "") return value 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<table data-start=0 data-end=1><tbody><tr><td>foo<td>bar<td>baz</table><p>extra" checks for modifications to non-editable content 
-FAIL [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<table data-start=0 data-end=1><tbody><tr><td>foo<td>bar<td>baz</table><p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<div style=\"text-align:right\"><table><tbody><tr><td>foo</td><td>bar</td><td>baz</td></tr></tbody></table></div><p>extra</p>" but got "<table style=\"text-align:right\"><tbody><tr><td>foo</td><td>bar</td><td>baz</td></tr></tbody></table><p>extra</p>"
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<table data-start=0 data-end=1><tbody><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("stylewithcss") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<table data-start=0 data-end=1><tbody><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("stylewithcss") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<table data-start=0 data-end=1><tbody><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("stylewithcss") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<table data-start=0 data-end=1><tbody><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("stylewithcss") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<table data-start=0 data-end=1><tbody><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("stylewithcss") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<table data-start=0 data-end=1><tbody><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("stylewithcss") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<table data-start=0 data-end=1><tbody><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("defaultparagraphseparator") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<table data-start=0 data-end=1><tbody><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("defaultparagraphseparator") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<table data-start=0 data-end=1><tbody><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("defaultparagraphseparator") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<table data-start=0 data-end=1><tbody><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("defaultparagraphseparator") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<table data-start=0 data-end=1><tbody><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("defaultparagraphseparator") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<table data-start=0 data-end=1><tbody><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("defaultparagraphseparator") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<table data-start=0 data-end=1><tbody><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("justifyright") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<table data-start=0 data-end=1><tbody><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("justifyright") before 
-FAIL [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<table data-start=0 data-end=1><tbody><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("justifyright") before assert_equals: Wrong result returned expected "left" but got "false"
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<table data-start=0 data-end=1><tbody><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("justifyright") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<table data-start=0 data-end=1><tbody><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("justifyright") after 
-FAIL [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<table data-start=0 data-end=1><tbody><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("justifyright") after assert_equals: Wrong result returned expected "right" but got "true"
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<table data-start=0 data-end=1><tbody><tr><td>foo<td>bar<td>baz</table><p>extra": execCommand("stylewithcss", false, "false") return value 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<table data-start=0 data-end=1><tbody><tr><td>foo<td>bar<td>baz</table><p>extra": execCommand("defaultparagraphseparator", false, "div") return value 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<table data-start=0 data-end=1><tbody><tr><td>foo<td>bar<td>baz</table><p>extra": execCommand("justifyright", false, "") return value 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<table data-start=0 data-end=1><tbody><tr><td>foo<td>bar<td>baz</table><p>extra" checks for modifications to non-editable content 
-FAIL [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<table data-start=0 data-end=1><tbody><tr><td>foo<td>bar<td>baz</table><p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<div style=\"text-align:right\"><table><tbody><tr><td>foo</td><td>bar</td><td>baz</td></tr></tbody></table></div><p>extra</p>" but got "<table style=\"text-align:right\"><tbody><tr><td>foo</td><td>bar</td><td>baz</td></tr></tbody></table><p>extra</p>"
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<table data-start=0 data-end=1><tbody><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("stylewithcss") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<table data-start=0 data-end=1><tbody><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("stylewithcss") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<table data-start=0 data-end=1><tbody><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("stylewithcss") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<table data-start=0 data-end=1><tbody><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("stylewithcss") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<table data-start=0 data-end=1><tbody><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("stylewithcss") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<table data-start=0 data-end=1><tbody><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("stylewithcss") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<table data-start=0 data-end=1><tbody><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("defaultparagraphseparator") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<table data-start=0 data-end=1><tbody><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("defaultparagraphseparator") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<table data-start=0 data-end=1><tbody><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("defaultparagraphseparator") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<table data-start=0 data-end=1><tbody><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("defaultparagraphseparator") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<table data-start=0 data-end=1><tbody><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("defaultparagraphseparator") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<table data-start=0 data-end=1><tbody><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("defaultparagraphseparator") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<table data-start=0 data-end=1><tbody><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("justifyright") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<table data-start=0 data-end=1><tbody><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("justifyright") before 
-FAIL [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<table data-start=0 data-end=1><tbody><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("justifyright") before assert_equals: Wrong result returned expected "left" but got "false"
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<table data-start=0 data-end=1><tbody><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("justifyright") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<table data-start=0 data-end=1><tbody><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("justifyright") after 
-FAIL [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<table data-start=0 data-end=1><tbody><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("justifyright") after assert_equals: Wrong result returned expected "right" but got "true"
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<table data-start=0 data-end=1><tbody><tr><td>foo<td>bar<td>baz</table><p>extra": execCommand("stylewithcss", false, "true") return value 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<table data-start=0 data-end=1><tbody><tr><td>foo<td>bar<td>baz</table><p>extra": execCommand("defaultparagraphseparator", false, "p") return value 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<table data-start=0 data-end=1><tbody><tr><td>foo<td>bar<td>baz</table><p>extra": execCommand("justifyright", false, "") return value 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<table data-start=0 data-end=1><tbody><tr><td>foo<td>bar<td>baz</table><p>extra" checks for modifications to non-editable content 
-FAIL [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<table data-start=0 data-end=1><tbody><tr><td>foo<td>bar<td>baz</table><p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<div style=\"text-align:right\"><table><tbody><tr><td>foo</td><td>bar</td><td>baz</td></tr></tbody></table></div><p>extra</p>" but got "<table style=\"text-align:right\"><tbody><tr><td>foo</td><td>bar</td><td>baz</td></tr></tbody></table><p>extra</p>"
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<table data-start=0 data-end=1><tbody><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("stylewithcss") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<table data-start=0 data-end=1><tbody><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("stylewithcss") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<table data-start=0 data-end=1><tbody><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("stylewithcss") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<table data-start=0 data-end=1><tbody><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("stylewithcss") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<table data-start=0 data-end=1><tbody><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("stylewithcss") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<table data-start=0 data-end=1><tbody><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("stylewithcss") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<table data-start=0 data-end=1><tbody><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("defaultparagraphseparator") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<table data-start=0 data-end=1><tbody><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("defaultparagraphseparator") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<table data-start=0 data-end=1><tbody><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("defaultparagraphseparator") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<table data-start=0 data-end=1><tbody><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("defaultparagraphseparator") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<table data-start=0 data-end=1><tbody><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("defaultparagraphseparator") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<table data-start=0 data-end=1><tbody><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("defaultparagraphseparator") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<table data-start=0 data-end=1><tbody><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("justifyright") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<table data-start=0 data-end=1><tbody><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("justifyright") before 
-FAIL [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<table data-start=0 data-end=1><tbody><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("justifyright") before assert_equals: Wrong result returned expected "left" but got "false"
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<table data-start=0 data-end=1><tbody><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("justifyright") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<table data-start=0 data-end=1><tbody><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("justifyright") after 
-FAIL [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<table data-start=0 data-end=1><tbody><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("justifyright") after assert_equals: Wrong result returned expected "right" but got "true"
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<table data-start=0 data-end=1><tbody><tr><td>foo<td>bar<td>baz</table><p>extra": execCommand("stylewithcss", false, "false") return value 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<table data-start=0 data-end=1><tbody><tr><td>foo<td>bar<td>baz</table><p>extra": execCommand("defaultparagraphseparator", false, "p") return value 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<table data-start=0 data-end=1><tbody><tr><td>foo<td>bar<td>baz</table><p>extra": execCommand("justifyright", false, "") return value 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<table data-start=0 data-end=1><tbody><tr><td>foo<td>bar<td>baz</table><p>extra" checks for modifications to non-editable content 
-FAIL [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<table data-start=0 data-end=1><tbody><tr><td>foo<td>bar<td>baz</table><p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<div style=\"text-align:right\"><table><tbody><tr><td>foo</td><td>bar</td><td>baz</td></tr></tbody></table></div><p>extra</p>" but got "<table style=\"text-align:right\"><tbody><tr><td>foo</td><td>bar</td><td>baz</td></tr></tbody></table><p>extra</p>"
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<table data-start=0 data-end=1><tbody><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("stylewithcss") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<table data-start=0 data-end=1><tbody><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("stylewithcss") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<table data-start=0 data-end=1><tbody><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("stylewithcss") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<table data-start=0 data-end=1><tbody><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("stylewithcss") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<table data-start=0 data-end=1><tbody><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("stylewithcss") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<table data-start=0 data-end=1><tbody><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("stylewithcss") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<table data-start=0 data-end=1><tbody><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("defaultparagraphseparator") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<table data-start=0 data-end=1><tbody><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("defaultparagraphseparator") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<table data-start=0 data-end=1><tbody><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("defaultparagraphseparator") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<table data-start=0 data-end=1><tbody><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("defaultparagraphseparator") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<table data-start=0 data-end=1><tbody><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("defaultparagraphseparator") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<table data-start=0 data-end=1><tbody><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("defaultparagraphseparator") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<table data-start=0 data-end=1><tbody><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("justifyright") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<table data-start=0 data-end=1><tbody><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("justifyright") before 
-FAIL [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<table data-start=0 data-end=1><tbody><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("justifyright") before assert_equals: Wrong result returned expected "left" but got "false"
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<table data-start=0 data-end=1><tbody><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("justifyright") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<table data-start=0 data-end=1><tbody><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("justifyright") after 
-FAIL [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<table data-start=0 data-end=1><tbody><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("justifyright") after assert_equals: Wrong result returned expected "right" but got "true"
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "{<table><tr><td>foo<td>bar<td>baz</table>}<p>extra": execCommand("stylewithcss", false, "true") return value 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "{<table><tr><td>foo<td>bar<td>baz</table>}<p>extra": execCommand("defaultparagraphseparator", false, "div") return value 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "{<table><tr><td>foo<td>bar<td>baz</table>}<p>extra": execCommand("justifyright", false, "") return value 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "{<table><tr><td>foo<td>bar<td>baz</table>}<p>extra" checks for modifications to non-editable content 
-FAIL [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "{<table><tr><td>foo<td>bar<td>baz</table>}<p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<div style=\"text-align:right\"><table><tbody><tr><td>foo</td><td>bar</td><td>baz</td></tr></tbody></table></div><p>extra</p>" but got "<table style=\"text-align:right\"><tbody><tr><td>foo</td><td>bar</td><td>baz</td></tr></tbody></table><p style=\"text-align:right\">extra</p>"
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "{<table><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandIndeterm("stylewithcss") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "{<table><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandState("stylewithcss") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "{<table><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandValue("stylewithcss") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "{<table><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandIndeterm("stylewithcss") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "{<table><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandState("stylewithcss") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "{<table><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandValue("stylewithcss") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "{<table><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandIndeterm("defaultparagraphseparator") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "{<table><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandState("defaultparagraphseparator") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "{<table><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandValue("defaultparagraphseparator") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "{<table><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandIndeterm("defaultparagraphseparator") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "{<table><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandState("defaultparagraphseparator") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "{<table><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandValue("defaultparagraphseparator") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "{<table><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandIndeterm("justifyright") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "{<table><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandState("justifyright") before 
-FAIL [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "{<table><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandValue("justifyright") before assert_equals: Wrong result returned expected "left" but got "false"
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "{<table><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandIndeterm("justifyright") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "{<table><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandState("justifyright") after 
-FAIL [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "{<table><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandValue("justifyright") after assert_equals: Wrong result returned expected "right" but got "true"
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "{<table><tr><td>foo<td>bar<td>baz</table>}<p>extra": execCommand("stylewithcss", false, "false") return value 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "{<table><tr><td>foo<td>bar<td>baz</table>}<p>extra": execCommand("defaultparagraphseparator", false, "div") return value 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "{<table><tr><td>foo<td>bar<td>baz</table>}<p>extra": execCommand("justifyright", false, "") return value 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "{<table><tr><td>foo<td>bar<td>baz</table>}<p>extra" checks for modifications to non-editable content 
-FAIL [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "{<table><tr><td>foo<td>bar<td>baz</table>}<p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<div style=\"text-align:right\"><table><tbody><tr><td>foo</td><td>bar</td><td>baz</td></tr></tbody></table></div><p>extra</p>" but got "<table style=\"text-align:right\"><tbody><tr><td>foo</td><td>bar</td><td>baz</td></tr></tbody></table><p style=\"text-align:right\">extra</p>"
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "{<table><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandIndeterm("stylewithcss") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "{<table><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandState("stylewithcss") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "{<table><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandValue("stylewithcss") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "{<table><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandIndeterm("stylewithcss") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "{<table><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandState("stylewithcss") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "{<table><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandValue("stylewithcss") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "{<table><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandIndeterm("defaultparagraphseparator") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "{<table><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandState("defaultparagraphseparator") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "{<table><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandValue("defaultparagraphseparator") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "{<table><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandIndeterm("defaultparagraphseparator") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "{<table><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandState("defaultparagraphseparator") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "{<table><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandValue("defaultparagraphseparator") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "{<table><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandIndeterm("justifyright") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "{<table><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandState("justifyright") before 
-FAIL [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "{<table><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandValue("justifyright") before assert_equals: Wrong result returned expected "left" but got "false"
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "{<table><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandIndeterm("justifyright") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "{<table><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandState("justifyright") after 
-FAIL [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "{<table><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandValue("justifyright") after assert_equals: Wrong result returned expected "right" but got "true"
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "{<table><tr><td>foo<td>bar<td>baz</table>}<p>extra": execCommand("stylewithcss", false, "true") return value 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "{<table><tr><td>foo<td>bar<td>baz</table>}<p>extra": execCommand("defaultparagraphseparator", false, "p") return value 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "{<table><tr><td>foo<td>bar<td>baz</table>}<p>extra": execCommand("justifyright", false, "") return value 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "{<table><tr><td>foo<td>bar<td>baz</table>}<p>extra" checks for modifications to non-editable content 
-FAIL [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "{<table><tr><td>foo<td>bar<td>baz</table>}<p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<div style=\"text-align:right\"><table><tbody><tr><td>foo</td><td>bar</td><td>baz</td></tr></tbody></table></div><p>extra</p>" but got "<table style=\"text-align:right\"><tbody><tr><td>foo</td><td>bar</td><td>baz</td></tr></tbody></table><p style=\"text-align:right\">extra</p>"
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "{<table><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandIndeterm("stylewithcss") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "{<table><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandState("stylewithcss") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "{<table><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandValue("stylewithcss") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "{<table><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandIndeterm("stylewithcss") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "{<table><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandState("stylewithcss") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "{<table><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandValue("stylewithcss") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "{<table><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandIndeterm("defaultparagraphseparator") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "{<table><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandState("defaultparagraphseparator") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "{<table><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandValue("defaultparagraphseparator") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "{<table><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandIndeterm("defaultparagraphseparator") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "{<table><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandState("defaultparagraphseparator") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "{<table><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandValue("defaultparagraphseparator") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "{<table><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandIndeterm("justifyright") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "{<table><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandState("justifyright") before 
-FAIL [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "{<table><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandValue("justifyright") before assert_equals: Wrong result returned expected "left" but got "false"
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "{<table><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandIndeterm("justifyright") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "{<table><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandState("justifyright") after 
-FAIL [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "{<table><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandValue("justifyright") after assert_equals: Wrong result returned expected "right" but got "true"
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "{<table><tr><td>foo<td>bar<td>baz</table>}<p>extra": execCommand("stylewithcss", false, "false") return value 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "{<table><tr><td>foo<td>bar<td>baz</table>}<p>extra": execCommand("defaultparagraphseparator", false, "p") return value 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "{<table><tr><td>foo<td>bar<td>baz</table>}<p>extra": execCommand("justifyright", false, "") return value 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "{<table><tr><td>foo<td>bar<td>baz</table>}<p>extra" checks for modifications to non-editable content 
-FAIL [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "{<table><tr><td>foo<td>bar<td>baz</table>}<p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<div style=\"text-align:right\"><table><tbody><tr><td>foo</td><td>bar</td><td>baz</td></tr></tbody></table></div><p>extra</p>" but got "<table style=\"text-align:right\"><tbody><tr><td>foo</td><td>bar</td><td>baz</td></tr></tbody></table><p style=\"text-align:right\">extra</p>"
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "{<table><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandIndeterm("stylewithcss") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "{<table><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandState("stylewithcss") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "{<table><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandValue("stylewithcss") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "{<table><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandIndeterm("stylewithcss") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "{<table><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandState("stylewithcss") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "{<table><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandValue("stylewithcss") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "{<table><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandIndeterm("defaultparagraphseparator") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "{<table><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandState("defaultparagraphseparator") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "{<table><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandValue("defaultparagraphseparator") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "{<table><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandIndeterm("defaultparagraphseparator") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "{<table><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandState("defaultparagraphseparator") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "{<table><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandValue("defaultparagraphseparator") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "{<table><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandIndeterm("justifyright") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "{<table><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandState("justifyright") before 
-FAIL [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "{<table><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandValue("justifyright") before assert_equals: Wrong result returned expected "left" but got "false"
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "{<table><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandIndeterm("justifyright") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "{<table><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandState("justifyright") after 
-FAIL [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "{<table><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandValue("justifyright") after assert_equals: Wrong result returned expected "right" but got "true"
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<table align=right><tbody><tr><td>foo<td>b[a]r<td>baz</table><p>extra": execCommand("stylewithcss", false, "true") return value 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<table align=right><tbody><tr><td>foo<td>b[a]r<td>baz</table><p>extra": execCommand("defaultparagraphseparator", false, "div") return value 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<table align=right><tbody><tr><td>foo<td>b[a]r<td>baz</table><p>extra": execCommand("justifyright", false, "") return value 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<table align=right><tbody><tr><td>foo<td>b[a]r<td>baz</table><p>extra" checks for modifications to non-editable content 
-FAIL [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<table align=right><tbody><tr><td>foo<td>b[a]r<td>baz</table><p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<table align=\"right\"><tbody><tr><td>foo</td><td><div style=\"text-align:right\">bar</div></td><td>baz</td></tr></tbody></table><p>extra</p>" but got "<table align=\"right\"><tbody><tr><td>foo</td><td style=\"text-align:right\">bar</td><td>baz</td></tr></tbody></table><p>extra</p>"
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<table align=right><tbody><tr><td>foo<td>b[a]r<td>baz</table><p>extra" queryCommandIndeterm("stylewithcss") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<table align=right><tbody><tr><td>foo<td>b[a]r<td>baz</table><p>extra" queryCommandState("stylewithcss") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<table align=right><tbody><tr><td>foo<td>b[a]r<td>baz</table><p>extra" queryCommandValue("stylewithcss") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<table align=right><tbody><tr><td>foo<td>b[a]r<td>baz</table><p>extra" queryCommandIndeterm("stylewithcss") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<table align=right><tbody><tr><td>foo<td>b[a]r<td>baz</table><p>extra" queryCommandState("stylewithcss") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<table align=right><tbody><tr><td>foo<td>b[a]r<td>baz</table><p>extra" queryCommandValue("stylewithcss") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<table align=right><tbody><tr><td>foo<td>b[a]r<td>baz</table><p>extra" queryCommandIndeterm("defaultparagraphseparator") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<table align=right><tbody><tr><td>foo<td>b[a]r<td>baz</table><p>extra" queryCommandState("defaultparagraphseparator") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<table align=right><tbody><tr><td>foo<td>b[a]r<td>baz</table><p>extra" queryCommandValue("defaultparagraphseparator") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<table align=right><tbody><tr><td>foo<td>b[a]r<td>baz</table><p>extra" queryCommandIndeterm("defaultparagraphseparator") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<table align=right><tbody><tr><td>foo<td>b[a]r<td>baz</table><p>extra" queryCommandState("defaultparagraphseparator") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<table align=right><tbody><tr><td>foo<td>b[a]r<td>baz</table><p>extra" queryCommandValue("defaultparagraphseparator") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<table align=right><tbody><tr><td>foo<td>b[a]r<td>baz</table><p>extra" queryCommandIndeterm("justifyright") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<table align=right><tbody><tr><td>foo<td>b[a]r<td>baz</table><p>extra" queryCommandState("justifyright") before 
-FAIL [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<table align=right><tbody><tr><td>foo<td>b[a]r<td>baz</table><p>extra" queryCommandValue("justifyright") before assert_equals: Wrong result returned expected "left" but got "false"
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<table align=right><tbody><tr><td>foo<td>b[a]r<td>baz</table><p>extra" queryCommandIndeterm("justifyright") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<table align=right><tbody><tr><td>foo<td>b[a]r<td>baz</table><p>extra" queryCommandState("justifyright") after 
-FAIL [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<table align=right><tbody><tr><td>foo<td>b[a]r<td>baz</table><p>extra" queryCommandValue("justifyright") after assert_equals: Wrong result returned expected "right" but got "true"
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<table align=right><tbody><tr><td>foo<td>b[a]r<td>baz</table><p>extra": execCommand("stylewithcss", false, "false") return value 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<table align=right><tbody><tr><td>foo<td>b[a]r<td>baz</table><p>extra": execCommand("defaultparagraphseparator", false, "div") return value 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<table align=right><tbody><tr><td>foo<td>b[a]r<td>baz</table><p>extra": execCommand("justifyright", false, "") return value 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<table align=right><tbody><tr><td>foo<td>b[a]r<td>baz</table><p>extra" checks for modifications to non-editable content 
-FAIL [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<table align=right><tbody><tr><td>foo<td>b[a]r<td>baz</table><p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<table align=\"right\"><tbody><tr><td>foo</td><td><div style=\"text-align:right\">bar</div></td><td>baz</td></tr></tbody></table><p>extra</p>" but got "<table align=\"right\"><tbody><tr><td>foo</td><td style=\"text-align:right\">bar</td><td>baz</td></tr></tbody></table><p>extra</p>"
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<table align=right><tbody><tr><td>foo<td>b[a]r<td>baz</table><p>extra" queryCommandIndeterm("stylewithcss") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<table align=right><tbody><tr><td>foo<td>b[a]r<td>baz</table><p>extra" queryCommandState("stylewithcss") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<table align=right><tbody><tr><td>foo<td>b[a]r<td>baz</table><p>extra" queryCommandValue("stylewithcss") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<table align=right><tbody><tr><td>foo<td>b[a]r<td>baz</table><p>extra" queryCommandIndeterm("stylewithcss") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<table align=right><tbody><tr><td>foo<td>b[a]r<td>baz</table><p>extra" queryCommandState("stylewithcss") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<table align=right><tbody><tr><td>foo<td>b[a]r<td>baz</table><p>extra" queryCommandValue("stylewithcss") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<table align=right><tbody><tr><td>foo<td>b[a]r<td>baz</table><p>extra" queryCommandIndeterm("defaultparagraphseparator") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<table align=right><tbody><tr><td>foo<td>b[a]r<td>baz</table><p>extra" queryCommandState("defaultparagraphseparator") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<table align=right><tbody><tr><td>foo<td>b[a]r<td>baz</table><p>extra" queryCommandValue("defaultparagraphseparator") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<table align=right><tbody><tr><td>foo<td>b[a]r<td>baz</table><p>extra" queryCommandIndeterm("defaultparagraphseparator") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<table align=right><tbody><tr><td>foo<td>b[a]r<td>baz</table><p>extra" queryCommandState("defaultparagraphseparator") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<table align=right><tbody><tr><td>foo<td>b[a]r<td>baz</table><p>extra" queryCommandValue("defaultparagraphseparator") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<table align=right><tbody><tr><td>foo<td>b[a]r<td>baz</table><p>extra" queryCommandIndeterm("justifyright") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<table align=right><tbody><tr><td>foo<td>b[a]r<td>baz</table><p>extra" queryCommandState("justifyright") before 
-FAIL [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<table align=right><tbody><tr><td>foo<td>b[a]r<td>baz</table><p>extra" queryCommandValue("justifyright") before assert_equals: Wrong result returned expected "left" but got "false"
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<table align=right><tbody><tr><td>foo<td>b[a]r<td>baz</table><p>extra" queryCommandIndeterm("justifyright") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<table align=right><tbody><tr><td>foo<td>b[a]r<td>baz</table><p>extra" queryCommandState("justifyright") after 
-FAIL [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<table align=right><tbody><tr><td>foo<td>b[a]r<td>baz</table><p>extra" queryCommandValue("justifyright") after assert_equals: Wrong result returned expected "right" but got "true"
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<table align=right><tbody><tr><td>foo<td>b[a]r<td>baz</table><p>extra": execCommand("stylewithcss", false, "true") return value 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<table align=right><tbody><tr><td>foo<td>b[a]r<td>baz</table><p>extra": execCommand("defaultparagraphseparator", false, "p") return value 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<table align=right><tbody><tr><td>foo<td>b[a]r<td>baz</table><p>extra": execCommand("justifyright", false, "") return value 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<table align=right><tbody><tr><td>foo<td>b[a]r<td>baz</table><p>extra" checks for modifications to non-editable content 
-FAIL [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<table align=right><tbody><tr><td>foo<td>b[a]r<td>baz</table><p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<table align=\"right\"><tbody><tr><td>foo</td><td><div style=\"text-align:right\">bar</div></td><td>baz</td></tr></tbody></table><p>extra</p>" but got "<table align=\"right\"><tbody><tr><td>foo</td><td style=\"text-align:right\">bar</td><td>baz</td></tr></tbody></table><p>extra</p>"
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<table align=right><tbody><tr><td>foo<td>b[a]r<td>baz</table><p>extra" queryCommandIndeterm("stylewithcss") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<table align=right><tbody><tr><td>foo<td>b[a]r<td>baz</table><p>extra" queryCommandState("stylewithcss") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<table align=right><tbody><tr><td>foo<td>b[a]r<td>baz</table><p>extra" queryCommandValue("stylewithcss") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<table align=right><tbody><tr><td>foo<td>b[a]r<td>baz</table><p>extra" queryCommandIndeterm("stylewithcss") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<table align=right><tbody><tr><td>foo<td>b[a]r<td>baz</table><p>extra" queryCommandState("stylewithcss") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<table align=right><tbody><tr><td>foo<td>b[a]r<td>baz</table><p>extra" queryCommandValue("stylewithcss") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<table align=right><tbody><tr><td>foo<td>b[a]r<td>baz</table><p>extra" queryCommandIndeterm("defaultparagraphseparator") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<table align=right><tbody><tr><td>foo<td>b[a]r<td>baz</table><p>extra" queryCommandState("defaultparagraphseparator") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<table align=right><tbody><tr><td>foo<td>b[a]r<td>baz</table><p>extra" queryCommandValue("defaultparagraphseparator") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<table align=right><tbody><tr><td>foo<td>b[a]r<td>baz</table><p>extra" queryCommandIndeterm("defaultparagraphseparator") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<table align=right><tbody><tr><td>foo<td>b[a]r<td>baz</table><p>extra" queryCommandState("defaultparagraphseparator") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<table align=right><tbody><tr><td>foo<td>b[a]r<td>baz</table><p>extra" queryCommandValue("defaultparagraphseparator") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<table align=right><tbody><tr><td>foo<td>b[a]r<td>baz</table><p>extra" queryCommandIndeterm("justifyright") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<table align=right><tbody><tr><td>foo<td>b[a]r<td>baz</table><p>extra" queryCommandState("justifyright") before 
-FAIL [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<table align=right><tbody><tr><td>foo<td>b[a]r<td>baz</table><p>extra" queryCommandValue("justifyright") before assert_equals: Wrong result returned expected "left" but got "false"
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<table align=right><tbody><tr><td>foo<td>b[a]r<td>baz</table><p>extra" queryCommandIndeterm("justifyright") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<table align=right><tbody><tr><td>foo<td>b[a]r<td>baz</table><p>extra" queryCommandState("justifyright") after 
-FAIL [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<table align=right><tbody><tr><td>foo<td>b[a]r<td>baz</table><p>extra" queryCommandValue("justifyright") after assert_equals: Wrong result returned expected "right" but got "true"
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<table align=right><tbody><tr><td>foo<td>b[a]r<td>baz</table><p>extra": execCommand("stylewithcss", false, "false") return value 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<table align=right><tbody><tr><td>foo<td>b[a]r<td>baz</table><p>extra": execCommand("defaultparagraphseparator", false, "p") return value 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<table align=right><tbody><tr><td>foo<td>b[a]r<td>baz</table><p>extra": execCommand("justifyright", false, "") return value 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<table align=right><tbody><tr><td>foo<td>b[a]r<td>baz</table><p>extra" checks for modifications to non-editable content 
-FAIL [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<table align=right><tbody><tr><td>foo<td>b[a]r<td>baz</table><p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<table align=\"right\"><tbody><tr><td>foo</td><td><div style=\"text-align:right\">bar</div></td><td>baz</td></tr></tbody></table><p>extra</p>" but got "<table align=\"right\"><tbody><tr><td>foo</td><td style=\"text-align:right\">bar</td><td>baz</td></tr></tbody></table><p>extra</p>"
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<table align=right><tbody><tr><td>foo<td>b[a]r<td>baz</table><p>extra" queryCommandIndeterm("stylewithcss") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<table align=right><tbody><tr><td>foo<td>b[a]r<td>baz</table><p>extra" queryCommandState("stylewithcss") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<table align=right><tbody><tr><td>foo<td>b[a]r<td>baz</table><p>extra" queryCommandValue("stylewithcss") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<table align=right><tbody><tr><td>foo<td>b[a]r<td>baz</table><p>extra" queryCommandIndeterm("stylewithcss") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<table align=right><tbody><tr><td>foo<td>b[a]r<td>baz</table><p>extra" queryCommandState("stylewithcss") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<table align=right><tbody><tr><td>foo<td>b[a]r<td>baz</table><p>extra" queryCommandValue("stylewithcss") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<table align=right><tbody><tr><td>foo<td>b[a]r<td>baz</table><p>extra" queryCommandIndeterm("defaultparagraphseparator") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<table align=right><tbody><tr><td>foo<td>b[a]r<td>baz</table><p>extra" queryCommandState("defaultparagraphseparator") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<table align=right><tbody><tr><td>foo<td>b[a]r<td>baz</table><p>extra" queryCommandValue("defaultparagraphseparator") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<table align=right><tbody><tr><td>foo<td>b[a]r<td>baz</table><p>extra" queryCommandIndeterm("defaultparagraphseparator") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<table align=right><tbody><tr><td>foo<td>b[a]r<td>baz</table><p>extra" queryCommandState("defaultparagraphseparator") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<table align=right><tbody><tr><td>foo<td>b[a]r<td>baz</table><p>extra" queryCommandValue("defaultparagraphseparator") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<table align=right><tbody><tr><td>foo<td>b[a]r<td>baz</table><p>extra" queryCommandIndeterm("justifyright") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<table align=right><tbody><tr><td>foo<td>b[a]r<td>baz</table><p>extra" queryCommandState("justifyright") before 
-FAIL [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<table align=right><tbody><tr><td>foo<td>b[a]r<td>baz</table><p>extra" queryCommandValue("justifyright") before assert_equals: Wrong result returned expected "left" but got "false"
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<table align=right><tbody><tr><td>foo<td>b[a]r<td>baz</table><p>extra" queryCommandIndeterm("justifyright") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<table align=right><tbody><tr><td>foo<td>b[a]r<td>baz</table><p>extra" queryCommandState("justifyright") after 
-FAIL [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<table align=right><tbody><tr><td>foo<td>b[a]r<td>baz</table><p>extra" queryCommandValue("justifyright") after assert_equals: Wrong result returned expected "right" but got "true"
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<table align=right><tbody><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table><p>extra": execCommand("stylewithcss", false, "true") return value 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<table align=right><tbody><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table><p>extra": execCommand("defaultparagraphseparator", false, "div") return value 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<table align=right><tbody><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table><p>extra": execCommand("justifyright", false, "") return value 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<table align=right><tbody><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table><p>extra" checks for modifications to non-editable content 
-FAIL [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<table align=right><tbody><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table><p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<table align=\"right\"><tbody><tr><td>foo</td><td><div style=\"text-align:right\">bar</div></td><td>baz</td></tr></tbody></table><p>extra</p>" but got "<table align=\"right\"><tbody><tr><td>foo</td><td style=\"text-align:right\">bar</td><td style=\"text-align:right\">baz</td></tr></tbody></table><p>extra</p>"
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<table align=right><tbody><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("stylewithcss") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<table align=right><tbody><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("stylewithcss") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<table align=right><tbody><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("stylewithcss") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<table align=right><tbody><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("stylewithcss") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<table align=right><tbody><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("stylewithcss") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<table align=right><tbody><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("stylewithcss") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<table align=right><tbody><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("defaultparagraphseparator") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<table align=right><tbody><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("defaultparagraphseparator") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<table align=right><tbody><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("defaultparagraphseparator") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<table align=right><tbody><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("defaultparagraphseparator") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<table align=right><tbody><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("defaultparagraphseparator") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<table align=right><tbody><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("defaultparagraphseparator") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<table align=right><tbody><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("justifyright") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<table align=right><tbody><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("justifyright") before 
-FAIL [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<table align=right><tbody><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("justifyright") before assert_equals: Wrong result returned expected "left" but got "false"
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<table align=right><tbody><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("justifyright") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<table align=right><tbody><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("justifyright") after 
-FAIL [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<table align=right><tbody><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("justifyright") after assert_equals: Wrong result returned expected "right" but got "true"
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<table align=right><tbody><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table><p>extra": execCommand("stylewithcss", false, "false") return value 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<table align=right><tbody><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table><p>extra": execCommand("defaultparagraphseparator", false, "div") return value 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<table align=right><tbody><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table><p>extra": execCommand("justifyright", false, "") return value 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<table align=right><tbody><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table><p>extra" checks for modifications to non-editable content 
-FAIL [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<table align=right><tbody><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table><p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<table align=\"right\"><tbody><tr><td>foo</td><td><div style=\"text-align:right\">bar</div></td><td>baz</td></tr></tbody></table><p>extra</p>" but got "<table align=\"right\"><tbody><tr><td>foo</td><td style=\"text-align:right\">bar</td><td style=\"text-align:right\">baz</td></tr></tbody></table><p>extra</p>"
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<table align=right><tbody><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("stylewithcss") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<table align=right><tbody><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("stylewithcss") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<table align=right><tbody><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("stylewithcss") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<table align=right><tbody><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("stylewithcss") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<table align=right><tbody><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("stylewithcss") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<table align=right><tbody><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("stylewithcss") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<table align=right><tbody><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("defaultparagraphseparator") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<table align=right><tbody><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("defaultparagraphseparator") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<table align=right><tbody><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("defaultparagraphseparator") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<table align=right><tbody><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("defaultparagraphseparator") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<table align=right><tbody><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("defaultparagraphseparator") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<table align=right><tbody><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("defaultparagraphseparator") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<table align=right><tbody><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("justifyright") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<table align=right><tbody><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("justifyright") before 
-FAIL [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<table align=right><tbody><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("justifyright") before assert_equals: Wrong result returned expected "left" but got "false"
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<table align=right><tbody><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("justifyright") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<table align=right><tbody><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("justifyright") after 
-FAIL [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<table align=right><tbody><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("justifyright") after assert_equals: Wrong result returned expected "right" but got "true"
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<table align=right><tbody><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table><p>extra": execCommand("stylewithcss", false, "true") return value 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<table align=right><tbody><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table><p>extra": execCommand("defaultparagraphseparator", false, "p") return value 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<table align=right><tbody><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table><p>extra": execCommand("justifyright", false, "") return value 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<table align=right><tbody><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table><p>extra" checks for modifications to non-editable content 
-FAIL [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<table align=right><tbody><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table><p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<table align=\"right\"><tbody><tr><td>foo</td><td><div style=\"text-align:right\">bar</div></td><td>baz</td></tr></tbody></table><p>extra</p>" but got "<table align=\"right\"><tbody><tr><td>foo</td><td style=\"text-align:right\">bar</td><td style=\"text-align:right\">baz</td></tr></tbody></table><p>extra</p>"
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<table align=right><tbody><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("stylewithcss") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<table align=right><tbody><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("stylewithcss") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<table align=right><tbody><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("stylewithcss") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<table align=right><tbody><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("stylewithcss") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<table align=right><tbody><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("stylewithcss") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<table align=right><tbody><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("stylewithcss") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<table align=right><tbody><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("defaultparagraphseparator") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<table align=right><tbody><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("defaultparagraphseparator") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<table align=right><tbody><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("defaultparagraphseparator") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<table align=right><tbody><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("defaultparagraphseparator") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<table align=right><tbody><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("defaultparagraphseparator") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<table align=right><tbody><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("defaultparagraphseparator") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<table align=right><tbody><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("justifyright") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<table align=right><tbody><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("justifyright") before 
-FAIL [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<table align=right><tbody><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("justifyright") before assert_equals: Wrong result returned expected "left" but got "false"
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<table align=right><tbody><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("justifyright") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<table align=right><tbody><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("justifyright") after 
-FAIL [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<table align=right><tbody><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("justifyright") after assert_equals: Wrong result returned expected "right" but got "true"
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<table align=right><tbody><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table><p>extra": execCommand("stylewithcss", false, "false") return value 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<table align=right><tbody><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table><p>extra": execCommand("defaultparagraphseparator", false, "p") return value 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<table align=right><tbody><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table><p>extra": execCommand("justifyright", false, "") return value 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<table align=right><tbody><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table><p>extra" checks for modifications to non-editable content 
-FAIL [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<table align=right><tbody><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table><p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<table align=\"right\"><tbody><tr><td>foo</td><td><div style=\"text-align:right\">bar</div></td><td>baz</td></tr></tbody></table><p>extra</p>" but got "<table align=\"right\"><tbody><tr><td>foo</td><td style=\"text-align:right\">bar</td><td style=\"text-align:right\">baz</td></tr></tbody></table><p>extra</p>"
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<table align=right><tbody><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("stylewithcss") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<table align=right><tbody><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("stylewithcss") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<table align=right><tbody><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("stylewithcss") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<table align=right><tbody><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("stylewithcss") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<table align=right><tbody><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("stylewithcss") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<table align=right><tbody><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("stylewithcss") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<table align=right><tbody><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("defaultparagraphseparator") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<table align=right><tbody><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("defaultparagraphseparator") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<table align=right><tbody><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("defaultparagraphseparator") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<table align=right><tbody><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("defaultparagraphseparator") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<table align=right><tbody><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("defaultparagraphseparator") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<table align=right><tbody><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("defaultparagraphseparator") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<table align=right><tbody><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("justifyright") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<table align=right><tbody><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("justifyright") before 
-FAIL [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<table align=right><tbody><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("justifyright") before assert_equals: Wrong result returned expected "left" but got "false"
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<table align=right><tbody><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("justifyright") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<table align=right><tbody><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("justifyright") after 
-FAIL [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<table align=right><tbody><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("justifyright") after assert_equals: Wrong result returned expected "right" but got "true"
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<table align=right><tbody><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table><p>extra": execCommand("stylewithcss", false, "true") return value 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<table align=right><tbody><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table><p>extra": execCommand("defaultparagraphseparator", false, "div") return value 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<table align=right><tbody><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table><p>extra": execCommand("justifyright", false, "") return value 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<table align=right><tbody><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table><p>extra" checks for modifications to non-editable content 
-FAIL [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<table align=right><tbody><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table><p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<table align=\"right\"><tbody><tr><td><div style=\"text-align:right\">foo</div></td><td><div style=\"text-align:right\">bar</div></td><td>baz</td></tr></tbody></table><p>extra</p>" but got "<table align=\"right\"><tbody><tr><td style=\"text-align:right\">foo</td><td style=\"text-align:right\">bar</td><td style=\"text-align:right\">baz</td></tr></tbody></table><p>extra</p>"
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<table align=right><tbody><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("stylewithcss") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<table align=right><tbody><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("stylewithcss") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<table align=right><tbody><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("stylewithcss") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<table align=right><tbody><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("stylewithcss") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<table align=right><tbody><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("stylewithcss") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<table align=right><tbody><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("stylewithcss") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<table align=right><tbody><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("defaultparagraphseparator") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<table align=right><tbody><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("defaultparagraphseparator") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<table align=right><tbody><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("defaultparagraphseparator") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<table align=right><tbody><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("defaultparagraphseparator") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<table align=right><tbody><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("defaultparagraphseparator") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<table align=right><tbody><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("defaultparagraphseparator") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<table align=right><tbody><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("justifyright") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<table align=right><tbody><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("justifyright") before 
-FAIL [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<table align=right><tbody><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("justifyright") before assert_equals: Wrong result returned expected "left" but got "false"
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<table align=right><tbody><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("justifyright") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<table align=right><tbody><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("justifyright") after 
-FAIL [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<table align=right><tbody><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("justifyright") after assert_equals: Wrong result returned expected "right" but got "true"
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<table align=right><tbody><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table><p>extra": execCommand("stylewithcss", false, "false") return value 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<table align=right><tbody><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table><p>extra": execCommand("defaultparagraphseparator", false, "div") return value 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<table align=right><tbody><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table><p>extra": execCommand("justifyright", false, "") return value 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<table align=right><tbody><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table><p>extra" checks for modifications to non-editable content 
-FAIL [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<table align=right><tbody><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table><p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<table align=\"right\"><tbody><tr><td><div style=\"text-align:right\">foo</div></td><td><div style=\"text-align:right\">bar</div></td><td>baz</td></tr></tbody></table><p>extra</p>" but got "<table align=\"right\"><tbody><tr><td style=\"text-align:right\">foo</td><td style=\"text-align:right\">bar</td><td style=\"text-align:right\">baz</td></tr></tbody></table><p>extra</p>"
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<table align=right><tbody><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("stylewithcss") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<table align=right><tbody><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("stylewithcss") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<table align=right><tbody><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("stylewithcss") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<table align=right><tbody><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("stylewithcss") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<table align=right><tbody><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("stylewithcss") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<table align=right><tbody><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("stylewithcss") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<table align=right><tbody><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("defaultparagraphseparator") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<table align=right><tbody><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("defaultparagraphseparator") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<table align=right><tbody><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("defaultparagraphseparator") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<table align=right><tbody><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("defaultparagraphseparator") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<table align=right><tbody><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("defaultparagraphseparator") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<table align=right><tbody><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("defaultparagraphseparator") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<table align=right><tbody><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("justifyright") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<table align=right><tbody><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("justifyright") before 
-FAIL [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<table align=right><tbody><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("justifyright") before assert_equals: Wrong result returned expected "left" but got "false"
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<table align=right><tbody><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("justifyright") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<table align=right><tbody><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("justifyright") after 
-FAIL [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<table align=right><tbody><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("justifyright") after assert_equals: Wrong result returned expected "right" but got "true"
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<table align=right><tbody><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table><p>extra": execCommand("stylewithcss", false, "true") return value 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<table align=right><tbody><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table><p>extra": execCommand("defaultparagraphseparator", false, "p") return value 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<table align=right><tbody><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table><p>extra": execCommand("justifyright", false, "") return value 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<table align=right><tbody><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table><p>extra" checks for modifications to non-editable content 
-FAIL [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<table align=right><tbody><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table><p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<table align=\"right\"><tbody><tr><td><div style=\"text-align:right\">foo</div></td><td><div style=\"text-align:right\">bar</div></td><td>baz</td></tr></tbody></table><p>extra</p>" but got "<table align=\"right\"><tbody><tr><td style=\"text-align:right\">foo</td><td style=\"text-align:right\">bar</td><td style=\"text-align:right\">baz</td></tr></tbody></table><p>extra</p>"
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<table align=right><tbody><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("stylewithcss") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<table align=right><tbody><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("stylewithcss") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<table align=right><tbody><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("stylewithcss") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<table align=right><tbody><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("stylewithcss") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<table align=right><tbody><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("stylewithcss") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<table align=right><tbody><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("stylewithcss") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<table align=right><tbody><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("defaultparagraphseparator") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<table align=right><tbody><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("defaultparagraphseparator") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<table align=right><tbody><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("defaultparagraphseparator") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<table align=right><tbody><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("defaultparagraphseparator") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<table align=right><tbody><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("defaultparagraphseparator") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<table align=right><tbody><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("defaultparagraphseparator") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<table align=right><tbody><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("justifyright") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<table align=right><tbody><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("justifyright") before 
-FAIL [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<table align=right><tbody><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("justifyright") before assert_equals: Wrong result returned expected "left" but got "false"
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<table align=right><tbody><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("justifyright") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<table align=right><tbody><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("justifyright") after 
-FAIL [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<table align=right><tbody><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("justifyright") after assert_equals: Wrong result returned expected "right" but got "true"
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<table align=right><tbody><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table><p>extra": execCommand("stylewithcss", false, "false") return value 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<table align=right><tbody><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table><p>extra": execCommand("defaultparagraphseparator", false, "p") return value 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<table align=right><tbody><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table><p>extra": execCommand("justifyright", false, "") return value 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<table align=right><tbody><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table><p>extra" checks for modifications to non-editable content 
-FAIL [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<table align=right><tbody><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table><p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<table align=\"right\"><tbody><tr><td><div style=\"text-align:right\">foo</div></td><td><div style=\"text-align:right\">bar</div></td><td>baz</td></tr></tbody></table><p>extra</p>" but got "<table align=\"right\"><tbody><tr><td style=\"text-align:right\">foo</td><td style=\"text-align:right\">bar</td><td style=\"text-align:right\">baz</td></tr></tbody></table><p>extra</p>"
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<table align=right><tbody><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("stylewithcss") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<table align=right><tbody><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("stylewithcss") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<table align=right><tbody><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("stylewithcss") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<table align=right><tbody><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("stylewithcss") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<table align=right><tbody><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("stylewithcss") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<table align=right><tbody><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("stylewithcss") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<table align=right><tbody><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("defaultparagraphseparator") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<table align=right><tbody><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("defaultparagraphseparator") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<table align=right><tbody><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("defaultparagraphseparator") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<table align=right><tbody><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("defaultparagraphseparator") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<table align=right><tbody><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("defaultparagraphseparator") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<table align=right><tbody><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("defaultparagraphseparator") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<table align=right><tbody><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("justifyright") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<table align=right><tbody><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("justifyright") before 
-FAIL [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<table align=right><tbody><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("justifyright") before assert_equals: Wrong result returned expected "left" but got "false"
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<table align=right><tbody><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("justifyright") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<table align=right><tbody><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("justifyright") after 
-FAIL [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<table align=right><tbody><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("justifyright") after assert_equals: Wrong result returned expected "right" but got "true"
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<table align=right><tbody data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra": execCommand("stylewithcss", false, "true") return value 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<table align=right><tbody data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra": execCommand("defaultparagraphseparator", false, "div") return value 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<table align=right><tbody data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra": execCommand("justifyright", false, "") return value 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<table align=right><tbody data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" checks for modifications to non-editable content 
-FAIL [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<table align=right><tbody data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<div style=\"text-align:right\"><table><tbody><tr><td>foo</td><td>bar</td><td>baz</td></tr></tbody></table></div><p>extra</p>" but got "<table align=\"right\" style=\"text-align:right\"><tbody><tr><td style=\"text-align:right\">foo</td><td style=\"text-align:right\">bar</td><td style=\"text-align:right\">baz</td></tr></tbody></table><p>extra</p>"
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<table align=right><tbody data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("stylewithcss") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<table align=right><tbody data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("stylewithcss") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<table align=right><tbody data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("stylewithcss") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<table align=right><tbody data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("stylewithcss") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<table align=right><tbody data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("stylewithcss") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<table align=right><tbody data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("stylewithcss") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<table align=right><tbody data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("defaultparagraphseparator") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<table align=right><tbody data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("defaultparagraphseparator") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<table align=right><tbody data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("defaultparagraphseparator") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<table align=right><tbody data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("defaultparagraphseparator") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<table align=right><tbody data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("defaultparagraphseparator") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<table align=right><tbody data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("defaultparagraphseparator") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<table align=right><tbody data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("justifyright") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<table align=right><tbody data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("justifyright") before 
-FAIL [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<table align=right><tbody data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("justifyright") before assert_equals: Wrong result returned expected "left" but got "false"
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<table align=right><tbody data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("justifyright") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<table align=right><tbody data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("justifyright") after 
-FAIL [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<table align=right><tbody data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("justifyright") after assert_equals: Wrong result returned expected "right" but got "true"
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<table align=right><tbody data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra": execCommand("stylewithcss", false, "false") return value 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<table align=right><tbody data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra": execCommand("defaultparagraphseparator", false, "div") return value 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<table align=right><tbody data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra": execCommand("justifyright", false, "") return value 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<table align=right><tbody data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" checks for modifications to non-editable content 
-FAIL [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<table align=right><tbody data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<div style=\"text-align:right\"><table><tbody><tr><td>foo</td><td>bar</td><td>baz</td></tr></tbody></table></div><p>extra</p>" but got "<table align=\"right\" style=\"text-align:right\"><tbody><tr><td style=\"text-align:right\">foo</td><td style=\"text-align:right\">bar</td><td style=\"text-align:right\">baz</td></tr></tbody></table><p>extra</p>"
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<table align=right><tbody data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("stylewithcss") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<table align=right><tbody data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("stylewithcss") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<table align=right><tbody data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("stylewithcss") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<table align=right><tbody data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("stylewithcss") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<table align=right><tbody data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("stylewithcss") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<table align=right><tbody data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("stylewithcss") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<table align=right><tbody data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("defaultparagraphseparator") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<table align=right><tbody data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("defaultparagraphseparator") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<table align=right><tbody data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("defaultparagraphseparator") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<table align=right><tbody data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("defaultparagraphseparator") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<table align=right><tbody data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("defaultparagraphseparator") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<table align=right><tbody data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("defaultparagraphseparator") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<table align=right><tbody data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("justifyright") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<table align=right><tbody data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("justifyright") before 
-FAIL [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<table align=right><tbody data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("justifyright") before assert_equals: Wrong result returned expected "left" but got "false"
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<table align=right><tbody data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("justifyright") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<table align=right><tbody data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("justifyright") after 
-FAIL [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<table align=right><tbody data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("justifyright") after assert_equals: Wrong result returned expected "right" but got "true"
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<table align=right><tbody data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra": execCommand("stylewithcss", false, "true") return value 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<table align=right><tbody data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra": execCommand("defaultparagraphseparator", false, "p") return value 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<table align=right><tbody data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra": execCommand("justifyright", false, "") return value 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<table align=right><tbody data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" checks for modifications to non-editable content 
-FAIL [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<table align=right><tbody data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<div style=\"text-align:right\"><table><tbody><tr><td>foo</td><td>bar</td><td>baz</td></tr></tbody></table></div><p>extra</p>" but got "<table align=\"right\" style=\"text-align:right\"><tbody><tr><td style=\"text-align:right\">foo</td><td style=\"text-align:right\">bar</td><td style=\"text-align:right\">baz</td></tr></tbody></table><p>extra</p>"
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<table align=right><tbody data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("stylewithcss") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<table align=right><tbody data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("stylewithcss") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<table align=right><tbody data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("stylewithcss") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<table align=right><tbody data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("stylewithcss") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<table align=right><tbody data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("stylewithcss") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<table align=right><tbody data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("stylewithcss") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<table align=right><tbody data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("defaultparagraphseparator") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<table align=right><tbody data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("defaultparagraphseparator") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<table align=right><tbody data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("defaultparagraphseparator") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<table align=right><tbody data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("defaultparagraphseparator") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<table align=right><tbody data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("defaultparagraphseparator") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<table align=right><tbody data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("defaultparagraphseparator") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<table align=right><tbody data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("justifyright") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<table align=right><tbody data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("justifyright") before 
-FAIL [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<table align=right><tbody data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("justifyright") before assert_equals: Wrong result returned expected "left" but got "false"
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<table align=right><tbody data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("justifyright") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<table align=right><tbody data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("justifyright") after 
-FAIL [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<table align=right><tbody data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("justifyright") after assert_equals: Wrong result returned expected "right" but got "true"
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<table align=right><tbody data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra": execCommand("stylewithcss", false, "false") return value 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<table align=right><tbody data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra": execCommand("defaultparagraphseparator", false, "p") return value 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<table align=right><tbody data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra": execCommand("justifyright", false, "") return value 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<table align=right><tbody data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" checks for modifications to non-editable content 
-FAIL [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<table align=right><tbody data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<div style=\"text-align:right\"><table><tbody><tr><td>foo</td><td>bar</td><td>baz</td></tr></tbody></table></div><p>extra</p>" but got "<table align=\"right\" style=\"text-align:right\"><tbody><tr><td style=\"text-align:right\">foo</td><td style=\"text-align:right\">bar</td><td style=\"text-align:right\">baz</td></tr></tbody></table><p>extra</p>"
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<table align=right><tbody data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("stylewithcss") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<table align=right><tbody data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("stylewithcss") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<table align=right><tbody data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("stylewithcss") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<table align=right><tbody data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("stylewithcss") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<table align=right><tbody data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("stylewithcss") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<table align=right><tbody data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("stylewithcss") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<table align=right><tbody data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("defaultparagraphseparator") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<table align=right><tbody data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("defaultparagraphseparator") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<table align=right><tbody data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("defaultparagraphseparator") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<table align=right><tbody data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("defaultparagraphseparator") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<table align=right><tbody data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("defaultparagraphseparator") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<table align=right><tbody data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("defaultparagraphseparator") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<table align=right><tbody data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("justifyright") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<table align=right><tbody data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("justifyright") before 
-FAIL [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<table align=right><tbody data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("justifyright") before assert_equals: Wrong result returned expected "left" but got "false"
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<table align=right><tbody data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("justifyright") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<table align=right><tbody data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("justifyright") after 
-FAIL [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<table align=right><tbody data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("justifyright") after assert_equals: Wrong result returned expected "right" but got "true"
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<table align=right data-start=0 data-end=1><tbody><tr><td>foo<td>bar<td>baz</table><p>extra": execCommand("stylewithcss", false, "true") return value 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<table align=right data-start=0 data-end=1><tbody><tr><td>foo<td>bar<td>baz</table><p>extra": execCommand("defaultparagraphseparator", false, "div") return value 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<table align=right data-start=0 data-end=1><tbody><tr><td>foo<td>bar<td>baz</table><p>extra": execCommand("justifyright", false, "") return value 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<table align=right data-start=0 data-end=1><tbody><tr><td>foo<td>bar<td>baz</table><p>extra" checks for modifications to non-editable content 
-FAIL [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<table align=right data-start=0 data-end=1><tbody><tr><td>foo<td>bar<td>baz</table><p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<div style=\"text-align:right\"><table><tbody><tr><td>foo</td><td>bar</td><td>baz</td></tr></tbody></table></div><p>extra</p>" but got "<table align=\"right\" style=\"text-align:right\"><tbody><tr><td>foo</td><td>bar</td><td>baz</td></tr></tbody></table><p>extra</p>"
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<table align=right data-start=0 data-end=1><tbody><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("stylewithcss") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<table align=right data-start=0 data-end=1><tbody><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("stylewithcss") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<table align=right data-start=0 data-end=1><tbody><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("stylewithcss") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<table align=right data-start=0 data-end=1><tbody><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("stylewithcss") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<table align=right data-start=0 data-end=1><tbody><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("stylewithcss") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<table align=right data-start=0 data-end=1><tbody><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("stylewithcss") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<table align=right data-start=0 data-end=1><tbody><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("defaultparagraphseparator") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<table align=right data-start=0 data-end=1><tbody><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("defaultparagraphseparator") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<table align=right data-start=0 data-end=1><tbody><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("defaultparagraphseparator") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<table align=right data-start=0 data-end=1><tbody><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("defaultparagraphseparator") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<table align=right data-start=0 data-end=1><tbody><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("defaultparagraphseparator") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<table align=right data-start=0 data-end=1><tbody><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("defaultparagraphseparator") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<table align=right data-start=0 data-end=1><tbody><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("justifyright") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<table align=right data-start=0 data-end=1><tbody><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("justifyright") before 
-FAIL [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<table align=right data-start=0 data-end=1><tbody><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("justifyright") before assert_equals: Wrong result returned expected "left" but got "false"
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<table align=right data-start=0 data-end=1><tbody><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("justifyright") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<table align=right data-start=0 data-end=1><tbody><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("justifyright") after 
-FAIL [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<table align=right data-start=0 data-end=1><tbody><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("justifyright") after assert_equals: Wrong result returned expected "right" but got "true"
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<table align=right data-start=0 data-end=1><tbody><tr><td>foo<td>bar<td>baz</table><p>extra": execCommand("stylewithcss", false, "false") return value 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<table align=right data-start=0 data-end=1><tbody><tr><td>foo<td>bar<td>baz</table><p>extra": execCommand("defaultparagraphseparator", false, "div") return value 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<table align=right data-start=0 data-end=1><tbody><tr><td>foo<td>bar<td>baz</table><p>extra": execCommand("justifyright", false, "") return value 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<table align=right data-start=0 data-end=1><tbody><tr><td>foo<td>bar<td>baz</table><p>extra" checks for modifications to non-editable content 
-FAIL [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<table align=right data-start=0 data-end=1><tbody><tr><td>foo<td>bar<td>baz</table><p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<div style=\"text-align:right\"><table><tbody><tr><td>foo</td><td>bar</td><td>baz</td></tr></tbody></table></div><p>extra</p>" but got "<table align=\"right\" style=\"text-align:right\"><tbody><tr><td>foo</td><td>bar</td><td>baz</td></tr></tbody></table><p>extra</p>"
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<table align=right data-start=0 data-end=1><tbody><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("stylewithcss") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<table align=right data-start=0 data-end=1><tbody><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("stylewithcss") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<table align=right data-start=0 data-end=1><tbody><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("stylewithcss") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<table align=right data-start=0 data-end=1><tbody><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("stylewithcss") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<table align=right data-start=0 data-end=1><tbody><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("stylewithcss") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<table align=right data-start=0 data-end=1><tbody><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("stylewithcss") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<table align=right data-start=0 data-end=1><tbody><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("defaultparagraphseparator") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<table align=right data-start=0 data-end=1><tbody><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("defaultparagraphseparator") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<table align=right data-start=0 data-end=1><tbody><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("defaultparagraphseparator") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<table align=right data-start=0 data-end=1><tbody><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("defaultparagraphseparator") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<table align=right data-start=0 data-end=1><tbody><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("defaultparagraphseparator") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<table align=right data-start=0 data-end=1><tbody><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("defaultparagraphseparator") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<table align=right data-start=0 data-end=1><tbody><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("justifyright") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<table align=right data-start=0 data-end=1><tbody><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("justifyright") before 
-FAIL [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<table align=right data-start=0 data-end=1><tbody><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("justifyright") before assert_equals: Wrong result returned expected "left" but got "false"
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<table align=right data-start=0 data-end=1><tbody><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("justifyright") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<table align=right data-start=0 data-end=1><tbody><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("justifyright") after 
-FAIL [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<table align=right data-start=0 data-end=1><tbody><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("justifyright") after assert_equals: Wrong result returned expected "right" but got "true"
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<table align=right data-start=0 data-end=1><tbody><tr><td>foo<td>bar<td>baz</table><p>extra": execCommand("stylewithcss", false, "true") return value 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<table align=right data-start=0 data-end=1><tbody><tr><td>foo<td>bar<td>baz</table><p>extra": execCommand("defaultparagraphseparator", false, "p") return value 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<table align=right data-start=0 data-end=1><tbody><tr><td>foo<td>bar<td>baz</table><p>extra": execCommand("justifyright", false, "") return value 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<table align=right data-start=0 data-end=1><tbody><tr><td>foo<td>bar<td>baz</table><p>extra" checks for modifications to non-editable content 
-FAIL [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<table align=right data-start=0 data-end=1><tbody><tr><td>foo<td>bar<td>baz</table><p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<div style=\"text-align:right\"><table><tbody><tr><td>foo</td><td>bar</td><td>baz</td></tr></tbody></table></div><p>extra</p>" but got "<table align=\"right\" style=\"text-align:right\"><tbody><tr><td>foo</td><td>bar</td><td>baz</td></tr></tbody></table><p>extra</p>"
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<table align=right data-start=0 data-end=1><tbody><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("stylewithcss") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<table align=right data-start=0 data-end=1><tbody><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("stylewithcss") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<table align=right data-start=0 data-end=1><tbody><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("stylewithcss") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<table align=right data-start=0 data-end=1><tbody><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("stylewithcss") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<table align=right data-start=0 data-end=1><tbody><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("stylewithcss") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<table align=right data-start=0 data-end=1><tbody><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("stylewithcss") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<table align=right data-start=0 data-end=1><tbody><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("defaultparagraphseparator") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<table align=right data-start=0 data-end=1><tbody><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("defaultparagraphseparator") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<table align=right data-start=0 data-end=1><tbody><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("defaultparagraphseparator") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<table align=right data-start=0 data-end=1><tbody><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("defaultparagraphseparator") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<table align=right data-start=0 data-end=1><tbody><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("defaultparagraphseparator") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<table align=right data-start=0 data-end=1><tbody><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("defaultparagraphseparator") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<table align=right data-start=0 data-end=1><tbody><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("justifyright") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<table align=right data-start=0 data-end=1><tbody><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("justifyright") before 
-FAIL [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<table align=right data-start=0 data-end=1><tbody><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("justifyright") before assert_equals: Wrong result returned expected "left" but got "false"
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<table align=right data-start=0 data-end=1><tbody><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("justifyright") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<table align=right data-start=0 data-end=1><tbody><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("justifyright") after 
-FAIL [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<table align=right data-start=0 data-end=1><tbody><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("justifyright") after assert_equals: Wrong result returned expected "right" but got "true"
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<table align=right data-start=0 data-end=1><tbody><tr><td>foo<td>bar<td>baz</table><p>extra": execCommand("stylewithcss", false, "false") return value 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<table align=right data-start=0 data-end=1><tbody><tr><td>foo<td>bar<td>baz</table><p>extra": execCommand("defaultparagraphseparator", false, "p") return value 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<table align=right data-start=0 data-end=1><tbody><tr><td>foo<td>bar<td>baz</table><p>extra": execCommand("justifyright", false, "") return value 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<table align=right data-start=0 data-end=1><tbody><tr><td>foo<td>bar<td>baz</table><p>extra" checks for modifications to non-editable content 
-FAIL [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<table align=right data-start=0 data-end=1><tbody><tr><td>foo<td>bar<td>baz</table><p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<div style=\"text-align:right\"><table><tbody><tr><td>foo</td><td>bar</td><td>baz</td></tr></tbody></table></div><p>extra</p>" but got "<table align=\"right\" style=\"text-align:right\"><tbody><tr><td>foo</td><td>bar</td><td>baz</td></tr></tbody></table><p>extra</p>"
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<table align=right data-start=0 data-end=1><tbody><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("stylewithcss") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<table align=right data-start=0 data-end=1><tbody><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("stylewithcss") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<table align=right data-start=0 data-end=1><tbody><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("stylewithcss") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<table align=right data-start=0 data-end=1><tbody><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("stylewithcss") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<table align=right data-start=0 data-end=1><tbody><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("stylewithcss") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<table align=right data-start=0 data-end=1><tbody><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("stylewithcss") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<table align=right data-start=0 data-end=1><tbody><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("defaultparagraphseparator") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<table align=right data-start=0 data-end=1><tbody><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("defaultparagraphseparator") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<table align=right data-start=0 data-end=1><tbody><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("defaultparagraphseparator") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<table align=right data-start=0 data-end=1><tbody><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("defaultparagraphseparator") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<table align=right data-start=0 data-end=1><tbody><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("defaultparagraphseparator") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<table align=right data-start=0 data-end=1><tbody><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("defaultparagraphseparator") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<table align=right data-start=0 data-end=1><tbody><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("justifyright") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<table align=right data-start=0 data-end=1><tbody><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("justifyright") before 
-FAIL [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<table align=right data-start=0 data-end=1><tbody><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("justifyright") before assert_equals: Wrong result returned expected "left" but got "false"
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<table align=right data-start=0 data-end=1><tbody><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("justifyright") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<table align=right data-start=0 data-end=1><tbody><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("justifyright") after 
-FAIL [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<table align=right data-start=0 data-end=1><tbody><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("justifyright") after assert_equals: Wrong result returned expected "right" but got "true"
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "{<table align=right><tr><td>foo<td>bar<td>baz</table>}<p>extra": execCommand("stylewithcss", false, "true") return value 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "{<table align=right><tr><td>foo<td>bar<td>baz</table>}<p>extra": execCommand("defaultparagraphseparator", false, "div") return value 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "{<table align=right><tr><td>foo<td>bar<td>baz</table>}<p>extra": execCommand("justifyright", false, "") return value 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "{<table align=right><tr><td>foo<td>bar<td>baz</table>}<p>extra" checks for modifications to non-editable content 
-FAIL [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "{<table align=right><tr><td>foo<td>bar<td>baz</table>}<p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<div style=\"text-align:right\"><table><tbody><tr><td>foo</td><td>bar</td><td>baz</td></tr></tbody></table></div><p>extra</p>" but got "<table align=\"right\" style=\"text-align:right\"><tbody><tr><td>foo</td><td>bar</td><td>baz</td></tr></tbody></table><p style=\"text-align:right\">extra</p>"
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "{<table align=right><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandIndeterm("stylewithcss") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "{<table align=right><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandState("stylewithcss") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "{<table align=right><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandValue("stylewithcss") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "{<table align=right><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandIndeterm("stylewithcss") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "{<table align=right><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandState("stylewithcss") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "{<table align=right><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandValue("stylewithcss") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "{<table align=right><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandIndeterm("defaultparagraphseparator") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "{<table align=right><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandState("defaultparagraphseparator") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "{<table align=right><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandValue("defaultparagraphseparator") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "{<table align=right><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandIndeterm("defaultparagraphseparator") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "{<table align=right><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandState("defaultparagraphseparator") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "{<table align=right><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandValue("defaultparagraphseparator") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "{<table align=right><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandIndeterm("justifyright") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "{<table align=right><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandState("justifyright") before 
-FAIL [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "{<table align=right><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandValue("justifyright") before assert_equals: Wrong result returned expected "left" but got "false"
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "{<table align=right><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandIndeterm("justifyright") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "{<table align=right><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandState("justifyright") after 
-FAIL [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "{<table align=right><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandValue("justifyright") after assert_equals: Wrong result returned expected "right" but got "true"
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "{<table align=right><tr><td>foo<td>bar<td>baz</table>}<p>extra": execCommand("stylewithcss", false, "false") return value 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "{<table align=right><tr><td>foo<td>bar<td>baz</table>}<p>extra": execCommand("defaultparagraphseparator", false, "div") return value 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "{<table align=right><tr><td>foo<td>bar<td>baz</table>}<p>extra": execCommand("justifyright", false, "") return value 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "{<table align=right><tr><td>foo<td>bar<td>baz</table>}<p>extra" checks for modifications to non-editable content 
-FAIL [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "{<table align=right><tr><td>foo<td>bar<td>baz</table>}<p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<div style=\"text-align:right\"><table><tbody><tr><td>foo</td><td>bar</td><td>baz</td></tr></tbody></table></div><p>extra</p>" but got "<table align=\"right\" style=\"text-align:right\"><tbody><tr><td>foo</td><td>bar</td><td>baz</td></tr></tbody></table><p style=\"text-align:right\">extra</p>"
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "{<table align=right><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandIndeterm("stylewithcss") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "{<table align=right><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandState("stylewithcss") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "{<table align=right><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandValue("stylewithcss") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "{<table align=right><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandIndeterm("stylewithcss") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "{<table align=right><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandState("stylewithcss") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "{<table align=right><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandValue("stylewithcss") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "{<table align=right><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandIndeterm("defaultparagraphseparator") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "{<table align=right><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandState("defaultparagraphseparator") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "{<table align=right><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandValue("defaultparagraphseparator") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "{<table align=right><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandIndeterm("defaultparagraphseparator") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "{<table align=right><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandState("defaultparagraphseparator") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "{<table align=right><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandValue("defaultparagraphseparator") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "{<table align=right><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandIndeterm("justifyright") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "{<table align=right><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandState("justifyright") before 
-FAIL [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "{<table align=right><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandValue("justifyright") before assert_equals: Wrong result returned expected "left" but got "false"
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "{<table align=right><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandIndeterm("justifyright") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "{<table align=right><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandState("justifyright") after 
-FAIL [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "{<table align=right><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandValue("justifyright") after assert_equals: Wrong result returned expected "right" but got "true"
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "{<table align=right><tr><td>foo<td>bar<td>baz</table>}<p>extra": execCommand("stylewithcss", false, "true") return value 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "{<table align=right><tr><td>foo<td>bar<td>baz</table>}<p>extra": execCommand("defaultparagraphseparator", false, "p") return value 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "{<table align=right><tr><td>foo<td>bar<td>baz</table>}<p>extra": execCommand("justifyright", false, "") return value 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "{<table align=right><tr><td>foo<td>bar<td>baz</table>}<p>extra" checks for modifications to non-editable content 
-FAIL [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "{<table align=right><tr><td>foo<td>bar<td>baz</table>}<p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<div style=\"text-align:right\"><table><tbody><tr><td>foo</td><td>bar</td><td>baz</td></tr></tbody></table></div><p>extra</p>" but got "<table align=\"right\" style=\"text-align:right\"><tbody><tr><td>foo</td><td>bar</td><td>baz</td></tr></tbody></table><p style=\"text-align:right\">extra</p>"
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "{<table align=right><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandIndeterm("stylewithcss") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "{<table align=right><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandState("stylewithcss") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "{<table align=right><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandValue("stylewithcss") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "{<table align=right><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandIndeterm("stylewithcss") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "{<table align=right><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandState("stylewithcss") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "{<table align=right><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandValue("stylewithcss") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "{<table align=right><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandIndeterm("defaultparagraphseparator") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "{<table align=right><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandState("defaultparagraphseparator") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "{<table align=right><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandValue("defaultparagraphseparator") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "{<table align=right><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandIndeterm("defaultparagraphseparator") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "{<table align=right><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandState("defaultparagraphseparator") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "{<table align=right><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandValue("defaultparagraphseparator") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "{<table align=right><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandIndeterm("justifyright") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "{<table align=right><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandState("justifyright") before 
-FAIL [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "{<table align=right><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandValue("justifyright") before assert_equals: Wrong result returned expected "left" but got "false"
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "{<table align=right><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandIndeterm("justifyright") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "{<table align=right><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandState("justifyright") after 
-FAIL [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "{<table align=right><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandValue("justifyright") after assert_equals: Wrong result returned expected "right" but got "true"
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "{<table align=right><tr><td>foo<td>bar<td>baz</table>}<p>extra": execCommand("stylewithcss", false, "false") return value 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "{<table align=right><tr><td>foo<td>bar<td>baz</table>}<p>extra": execCommand("defaultparagraphseparator", false, "p") return value 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "{<table align=right><tr><td>foo<td>bar<td>baz</table>}<p>extra": execCommand("justifyright", false, "") return value 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "{<table align=right><tr><td>foo<td>bar<td>baz</table>}<p>extra" checks for modifications to non-editable content 
-FAIL [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "{<table align=right><tr><td>foo<td>bar<td>baz</table>}<p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<div style=\"text-align:right\"><table><tbody><tr><td>foo</td><td>bar</td><td>baz</td></tr></tbody></table></div><p>extra</p>" but got "<table align=\"right\" style=\"text-align:right\"><tbody><tr><td>foo</td><td>bar</td><td>baz</td></tr></tbody></table><p style=\"text-align:right\">extra</p>"
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "{<table align=right><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandIndeterm("stylewithcss") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "{<table align=right><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandState("stylewithcss") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "{<table align=right><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandValue("stylewithcss") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "{<table align=right><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandIndeterm("stylewithcss") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "{<table align=right><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandState("stylewithcss") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "{<table align=right><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandValue("stylewithcss") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "{<table align=right><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandIndeterm("defaultparagraphseparator") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "{<table align=right><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandState("defaultparagraphseparator") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "{<table align=right><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandValue("defaultparagraphseparator") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "{<table align=right><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandIndeterm("defaultparagraphseparator") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "{<table align=right><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandState("defaultparagraphseparator") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "{<table align=right><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandValue("defaultparagraphseparator") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "{<table align=right><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandIndeterm("justifyright") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "{<table align=right><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandState("justifyright") before 
-FAIL [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "{<table align=right><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandValue("justifyright") before assert_equals: Wrong result returned expected "left" but got "false"
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "{<table align=right><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandIndeterm("justifyright") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "{<table align=right><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandState("justifyright") after 
-FAIL [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "{<table align=right><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandValue("justifyright") after assert_equals: Wrong result returned expected "right" but got "true"
-PASS [["justifyright",""]] "<table><tbody align=right><tr><td>foo<td>b[a]r<td>baz</table><p>extra": execCommand("justifyright", false, "") return value 
-PASS [["justifyright",""]] "<table><tbody align=right><tr><td>foo<td>b[a]r<td>baz</table><p>extra" checks for modifications to non-editable content 
-PASS [["justifyright",""]] "<table><tbody align=right><tr><td>foo<td>b[a]r<td>baz</table><p>extra" compare innerHTML 
-PASS [["justifyright",""]] "<table><tbody align=right><tr><td>foo<td>b[a]r<td>baz</table><p>extra" queryCommandIndeterm("justifyright") before 
-PASS [["justifyright",""]] "<table><tbody align=right><tr><td>foo<td>b[a]r<td>baz</table><p>extra" queryCommandState("justifyright") before 
-FAIL [["justifyright",""]] "<table><tbody align=right><tr><td>foo<td>b[a]r<td>baz</table><p>extra" queryCommandValue("justifyright") before assert_equals: Wrong result returned expected "right" but got "true"
-PASS [["justifyright",""]] "<table><tbody align=right><tr><td>foo<td>b[a]r<td>baz</table><p>extra" queryCommandIndeterm("justifyright") after 
-PASS [["justifyright",""]] "<table><tbody align=right><tr><td>foo<td>b[a]r<td>baz</table><p>extra" queryCommandState("justifyright") after 
-FAIL [["justifyright",""]] "<table><tbody align=right><tr><td>foo<td>b[a]r<td>baz</table><p>extra" queryCommandValue("justifyright") after assert_equals: Wrong result returned expected "right" but got "true"
-PASS [["justifyright",""]] "<table><tbody align=right><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table><p>extra": execCommand("justifyright", false, "") return value 
-PASS [["justifyright",""]] "<table><tbody align=right><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table><p>extra" checks for modifications to non-editable content 
-PASS [["justifyright",""]] "<table><tbody align=right><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table><p>extra" compare innerHTML 
-PASS [["justifyright",""]] "<table><tbody align=right><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("justifyright") before 
-PASS [["justifyright",""]] "<table><tbody align=right><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("justifyright") before 
-FAIL [["justifyright",""]] "<table><tbody align=right><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("justifyright") before assert_equals: Wrong result returned expected "right" but got "true"
-PASS [["justifyright",""]] "<table><tbody align=right><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("justifyright") after 
-PASS [["justifyright",""]] "<table><tbody align=right><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("justifyright") after 
-FAIL [["justifyright",""]] "<table><tbody align=right><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("justifyright") after assert_equals: Wrong result returned expected "right" but got "true"
-PASS [["justifyright",""]] "<table><tbody align=right><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table><p>extra": execCommand("justifyright", false, "") return value 
-PASS [["justifyright",""]] "<table><tbody align=right><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table><p>extra" checks for modifications to non-editable content 
-PASS [["justifyright",""]] "<table><tbody align=right><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table><p>extra" compare innerHTML 
-PASS [["justifyright",""]] "<table><tbody align=right><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("justifyright") before 
-PASS [["justifyright",""]] "<table><tbody align=right><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("justifyright") before 
-FAIL [["justifyright",""]] "<table><tbody align=right><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("justifyright") before assert_equals: Wrong result returned expected "right" but got "true"
-PASS [["justifyright",""]] "<table><tbody align=right><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("justifyright") after 
-PASS [["justifyright",""]] "<table><tbody align=right><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("justifyright") after 
-FAIL [["justifyright",""]] "<table><tbody align=right><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("justifyright") after assert_equals: Wrong result returned expected "right" but got "true"
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<table><tbody align=right data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra": execCommand("stylewithcss", false, "true") return value 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<table><tbody align=right data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra": execCommand("defaultparagraphseparator", false, "div") return value 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<table><tbody align=right data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra": execCommand("justifyright", false, "") return value 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<table><tbody align=right data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" checks for modifications to non-editable content 
-FAIL [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<table><tbody align=right data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<div style=\"text-align:right\"><table><tbody><tr><td>foo</td><td>bar</td><td>baz</td></tr></tbody></table></div><p>extra</p>" but got "<table style=\"text-align:right\"><tbody align=\"right\"><tr><td>foo</td><td>bar</td><td>baz</td></tr></tbody></table><p>extra</p>"
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<table><tbody align=right data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("stylewithcss") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<table><tbody align=right data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("stylewithcss") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<table><tbody align=right data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("stylewithcss") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<table><tbody align=right data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("stylewithcss") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<table><tbody align=right data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("stylewithcss") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<table><tbody align=right data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("stylewithcss") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<table><tbody align=right data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("defaultparagraphseparator") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<table><tbody align=right data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("defaultparagraphseparator") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<table><tbody align=right data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("defaultparagraphseparator") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<table><tbody align=right data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("defaultparagraphseparator") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<table><tbody align=right data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("defaultparagraphseparator") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<table><tbody align=right data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("defaultparagraphseparator") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<table><tbody align=right data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("justifyright") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<table><tbody align=right data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("justifyright") before 
-FAIL [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<table><tbody align=right data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("justifyright") before assert_equals: Wrong result returned expected "right" but got "true"
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<table><tbody align=right data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("justifyright") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<table><tbody align=right data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("justifyright") after 
-FAIL [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<table><tbody align=right data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("justifyright") after assert_equals: Wrong result returned expected "right" but got "true"
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<table><tbody align=right data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra": execCommand("stylewithcss", false, "false") return value 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<table><tbody align=right data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra": execCommand("defaultparagraphseparator", false, "div") return value 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<table><tbody align=right data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra": execCommand("justifyright", false, "") return value 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<table><tbody align=right data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" checks for modifications to non-editable content 
-FAIL [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<table><tbody align=right data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<div style=\"text-align:right\"><table><tbody><tr><td>foo</td><td>bar</td><td>baz</td></tr></tbody></table></div><p>extra</p>" but got "<table style=\"text-align:right\"><tbody align=\"right\"><tr><td>foo</td><td>bar</td><td>baz</td></tr></tbody></table><p>extra</p>"
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<table><tbody align=right data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("stylewithcss") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<table><tbody align=right data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("stylewithcss") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<table><tbody align=right data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("stylewithcss") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<table><tbody align=right data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("stylewithcss") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<table><tbody align=right data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("stylewithcss") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<table><tbody align=right data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("stylewithcss") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<table><tbody align=right data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("defaultparagraphseparator") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<table><tbody align=right data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("defaultparagraphseparator") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<table><tbody align=right data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("defaultparagraphseparator") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<table><tbody align=right data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("defaultparagraphseparator") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<table><tbody align=right data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("defaultparagraphseparator") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<table><tbody align=right data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("defaultparagraphseparator") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<table><tbody align=right data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("justifyright") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<table><tbody align=right data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("justifyright") before 
-FAIL [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<table><tbody align=right data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("justifyright") before assert_equals: Wrong result returned expected "right" but got "true"
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<table><tbody align=right data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("justifyright") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<table><tbody align=right data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("justifyright") after 
-FAIL [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<table><tbody align=right data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("justifyright") after assert_equals: Wrong result returned expected "right" but got "true"
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<table><tbody align=right data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra": execCommand("stylewithcss", false, "true") return value 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<table><tbody align=right data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra": execCommand("defaultparagraphseparator", false, "p") return value 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<table><tbody align=right data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra": execCommand("justifyright", false, "") return value 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<table><tbody align=right data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" checks for modifications to non-editable content 
-FAIL [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<table><tbody align=right data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<div style=\"text-align:right\"><table><tbody><tr><td>foo</td><td>bar</td><td>baz</td></tr></tbody></table></div><p>extra</p>" but got "<table style=\"text-align:right\"><tbody align=\"right\"><tr><td>foo</td><td>bar</td><td>baz</td></tr></tbody></table><p>extra</p>"
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<table><tbody align=right data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("stylewithcss") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<table><tbody align=right data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("stylewithcss") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<table><tbody align=right data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("stylewithcss") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<table><tbody align=right data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("stylewithcss") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<table><tbody align=right data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("stylewithcss") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<table><tbody align=right data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("stylewithcss") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<table><tbody align=right data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("defaultparagraphseparator") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<table><tbody align=right data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("defaultparagraphseparator") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<table><tbody align=right data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("defaultparagraphseparator") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<table><tbody align=right data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("defaultparagraphseparator") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<table><tbody align=right data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("defaultparagraphseparator") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<table><tbody align=right data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("defaultparagraphseparator") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<table><tbody align=right data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("justifyright") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<table><tbody align=right data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("justifyright") before 
-FAIL [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<table><tbody align=right data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("justifyright") before assert_equals: Wrong result returned expected "right" but got "true"
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<table><tbody align=right data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("justifyright") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<table><tbody align=right data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("justifyright") after 
-FAIL [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<table><tbody align=right data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("justifyright") after assert_equals: Wrong result returned expected "right" but got "true"
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<table><tbody align=right data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra": execCommand("stylewithcss", false, "false") return value 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<table><tbody align=right data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra": execCommand("defaultparagraphseparator", false, "p") return value 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<table><tbody align=right data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra": execCommand("justifyright", false, "") return value 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<table><tbody align=right data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" checks for modifications to non-editable content 
-FAIL [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<table><tbody align=right data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<div style=\"text-align:right\"><table><tbody><tr><td>foo</td><td>bar</td><td>baz</td></tr></tbody></table></div><p>extra</p>" but got "<table style=\"text-align:right\"><tbody align=\"right\"><tr><td>foo</td><td>bar</td><td>baz</td></tr></tbody></table><p>extra</p>"
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<table><tbody align=right data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("stylewithcss") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<table><tbody align=right data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("stylewithcss") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<table><tbody align=right data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("stylewithcss") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<table><tbody align=right data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("stylewithcss") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<table><tbody align=right data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("stylewithcss") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<table><tbody align=right data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("stylewithcss") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<table><tbody align=right data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("defaultparagraphseparator") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<table><tbody align=right data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("defaultparagraphseparator") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<table><tbody align=right data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("defaultparagraphseparator") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<table><tbody align=right data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("defaultparagraphseparator") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<table><tbody align=right data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("defaultparagraphseparator") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<table><tbody align=right data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("defaultparagraphseparator") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<table><tbody align=right data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("justifyright") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<table><tbody align=right data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("justifyright") before 
-FAIL [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<table><tbody align=right data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("justifyright") before assert_equals: Wrong result returned expected "right" but got "true"
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<table><tbody align=right data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("justifyright") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<table><tbody align=right data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("justifyright") after 
-FAIL [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<table><tbody align=right data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("justifyright") after assert_equals: Wrong result returned expected "right" but got "true"
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<table data-start=0 data-end=1><tbody align=right><tr><td>foo<td>bar<td>baz</table><p>extra": execCommand("stylewithcss", false, "true") return value 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<table data-start=0 data-end=1><tbody align=right><tr><td>foo<td>bar<td>baz</table><p>extra": execCommand("defaultparagraphseparator", false, "div") return value 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<table data-start=0 data-end=1><tbody align=right><tr><td>foo<td>bar<td>baz</table><p>extra": execCommand("justifyright", false, "") return value 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<table data-start=0 data-end=1><tbody align=right><tr><td>foo<td>bar<td>baz</table><p>extra" checks for modifications to non-editable content 
-FAIL [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<table data-start=0 data-end=1><tbody align=right><tr><td>foo<td>bar<td>baz</table><p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<div style=\"text-align:right\"><table><tbody><tr><td>foo</td><td>bar</td><td>baz</td></tr></tbody></table></div><p>extra</p>" but got "<table style=\"text-align:right\"><tbody align=\"right\"><tr><td>foo</td><td>bar</td><td>baz</td></tr></tbody></table><p>extra</p>"
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<table data-start=0 data-end=1><tbody align=right><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("stylewithcss") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<table data-start=0 data-end=1><tbody align=right><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("stylewithcss") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<table data-start=0 data-end=1><tbody align=right><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("stylewithcss") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<table data-start=0 data-end=1><tbody align=right><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("stylewithcss") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<table data-start=0 data-end=1><tbody align=right><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("stylewithcss") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<table data-start=0 data-end=1><tbody align=right><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("stylewithcss") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<table data-start=0 data-end=1><tbody align=right><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("defaultparagraphseparator") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<table data-start=0 data-end=1><tbody align=right><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("defaultparagraphseparator") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<table data-start=0 data-end=1><tbody align=right><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("defaultparagraphseparator") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<table data-start=0 data-end=1><tbody align=right><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("defaultparagraphseparator") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<table data-start=0 data-end=1><tbody align=right><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("defaultparagraphseparator") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<table data-start=0 data-end=1><tbody align=right><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("defaultparagraphseparator") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<table data-start=0 data-end=1><tbody align=right><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("justifyright") before 
-FAIL [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<table data-start=0 data-end=1><tbody align=right><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("justifyright") before assert_equals: Wrong result returned expected true but got false
-FAIL [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<table data-start=0 data-end=1><tbody align=right><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("justifyright") before assert_equals: Wrong result returned expected "right" but got "false"
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<table data-start=0 data-end=1><tbody align=right><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("justifyright") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<table data-start=0 data-end=1><tbody align=right><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("justifyright") after 
-FAIL [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<table data-start=0 data-end=1><tbody align=right><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("justifyright") after assert_equals: Wrong result returned expected "right" but got "true"
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<table data-start=0 data-end=1><tbody align=right><tr><td>foo<td>bar<td>baz</table><p>extra": execCommand("stylewithcss", false, "false") return value 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<table data-start=0 data-end=1><tbody align=right><tr><td>foo<td>bar<td>baz</table><p>extra": execCommand("defaultparagraphseparator", false, "div") return value 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<table data-start=0 data-end=1><tbody align=right><tr><td>foo<td>bar<td>baz</table><p>extra": execCommand("justifyright", false, "") return value 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<table data-start=0 data-end=1><tbody align=right><tr><td>foo<td>bar<td>baz</table><p>extra" checks for modifications to non-editable content 
-FAIL [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<table data-start=0 data-end=1><tbody align=right><tr><td>foo<td>bar<td>baz</table><p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<div style=\"text-align:right\"><table><tbody><tr><td>foo</td><td>bar</td><td>baz</td></tr></tbody></table></div><p>extra</p>" but got "<table style=\"text-align:right\"><tbody align=\"right\"><tr><td>foo</td><td>bar</td><td>baz</td></tr></tbody></table><p>extra</p>"
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<table data-start=0 data-end=1><tbody align=right><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("stylewithcss") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<table data-start=0 data-end=1><tbody align=right><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("stylewithcss") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<table data-start=0 data-end=1><tbody align=right><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("stylewithcss") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<table data-start=0 data-end=1><tbody align=right><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("stylewithcss") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<table data-start=0 data-end=1><tbody align=right><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("stylewithcss") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<table data-start=0 data-end=1><tbody align=right><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("stylewithcss") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<table data-start=0 data-end=1><tbody align=right><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("defaultparagraphseparator") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<table data-start=0 data-end=1><tbody align=right><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("defaultparagraphseparator") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<table data-start=0 data-end=1><tbody align=right><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("defaultparagraphseparator") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<table data-start=0 data-end=1><tbody align=right><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("defaultparagraphseparator") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<table data-start=0 data-end=1><tbody align=right><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("defaultparagraphseparator") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<table data-start=0 data-end=1><tbody align=right><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("defaultparagraphseparator") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<table data-start=0 data-end=1><tbody align=right><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("justifyright") before 
-FAIL [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<table data-start=0 data-end=1><tbody align=right><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("justifyright") before assert_equals: Wrong result returned expected true but got false
-FAIL [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<table data-start=0 data-end=1><tbody align=right><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("justifyright") before assert_equals: Wrong result returned expected "right" but got "false"
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<table data-start=0 data-end=1><tbody align=right><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("justifyright") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<table data-start=0 data-end=1><tbody align=right><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("justifyright") after 
-FAIL [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<table data-start=0 data-end=1><tbody align=right><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("justifyright") after assert_equals: Wrong result returned expected "right" but got "true"
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<table data-start=0 data-end=1><tbody align=right><tr><td>foo<td>bar<td>baz</table><p>extra": execCommand("stylewithcss", false, "true") return value 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<table data-start=0 data-end=1><tbody align=right><tr><td>foo<td>bar<td>baz</table><p>extra": execCommand("defaultparagraphseparator", false, "p") return value 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<table data-start=0 data-end=1><tbody align=right><tr><td>foo<td>bar<td>baz</table><p>extra": execCommand("justifyright", false, "") return value 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<table data-start=0 data-end=1><tbody align=right><tr><td>foo<td>bar<td>baz</table><p>extra" checks for modifications to non-editable content 
-FAIL [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<table data-start=0 data-end=1><tbody align=right><tr><td>foo<td>bar<td>baz</table><p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<div style=\"text-align:right\"><table><tbody><tr><td>foo</td><td>bar</td><td>baz</td></tr></tbody></table></div><p>extra</p>" but got "<table style=\"text-align:right\"><tbody align=\"right\"><tr><td>foo</td><td>bar</td><td>baz</td></tr></tbody></table><p>extra</p>"
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<table data-start=0 data-end=1><tbody align=right><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("stylewithcss") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<table data-start=0 data-end=1><tbody align=right><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("stylewithcss") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<table data-start=0 data-end=1><tbody align=right><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("stylewithcss") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<table data-start=0 data-end=1><tbody align=right><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("stylewithcss") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<table data-start=0 data-end=1><tbody align=right><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("stylewithcss") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<table data-start=0 data-end=1><tbody align=right><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("stylewithcss") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<table data-start=0 data-end=1><tbody align=right><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("defaultparagraphseparator") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<table data-start=0 data-end=1><tbody align=right><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("defaultparagraphseparator") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<table data-start=0 data-end=1><tbody align=right><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("defaultparagraphseparator") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<table data-start=0 data-end=1><tbody align=right><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("defaultparagraphseparator") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<table data-start=0 data-end=1><tbody align=right><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("defaultparagraphseparator") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<table data-start=0 data-end=1><tbody align=right><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("defaultparagraphseparator") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<table data-start=0 data-end=1><tbody align=right><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("justifyright") before 
-FAIL [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<table data-start=0 data-end=1><tbody align=right><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("justifyright") before assert_equals: Wrong result returned expected true but got false
-FAIL [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<table data-start=0 data-end=1><tbody align=right><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("justifyright") before assert_equals: Wrong result returned expected "right" but got "false"
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<table data-start=0 data-end=1><tbody align=right><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("justifyright") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<table data-start=0 data-end=1><tbody align=right><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("justifyright") after 
-FAIL [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<table data-start=0 data-end=1><tbody align=right><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("justifyright") after assert_equals: Wrong result returned expected "right" but got "true"
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<table data-start=0 data-end=1><tbody align=right><tr><td>foo<td>bar<td>baz</table><p>extra": execCommand("stylewithcss", false, "false") return value 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<table data-start=0 data-end=1><tbody align=right><tr><td>foo<td>bar<td>baz</table><p>extra": execCommand("defaultparagraphseparator", false, "p") return value 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<table data-start=0 data-end=1><tbody align=right><tr><td>foo<td>bar<td>baz</table><p>extra": execCommand("justifyright", false, "") return value 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<table data-start=0 data-end=1><tbody align=right><tr><td>foo<td>bar<td>baz</table><p>extra" checks for modifications to non-editable content 
-FAIL [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<table data-start=0 data-end=1><tbody align=right><tr><td>foo<td>bar<td>baz</table><p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<div style=\"text-align:right\"><table><tbody><tr><td>foo</td><td>bar</td><td>baz</td></tr></tbody></table></div><p>extra</p>" but got "<table style=\"text-align:right\"><tbody align=\"right\"><tr><td>foo</td><td>bar</td><td>baz</td></tr></tbody></table><p>extra</p>"
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<table data-start=0 data-end=1><tbody align=right><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("stylewithcss") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<table data-start=0 data-end=1><tbody align=right><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("stylewithcss") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<table data-start=0 data-end=1><tbody align=right><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("stylewithcss") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<table data-start=0 data-end=1><tbody align=right><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("stylewithcss") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<table data-start=0 data-end=1><tbody align=right><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("stylewithcss") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<table data-start=0 data-end=1><tbody align=right><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("stylewithcss") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<table data-start=0 data-end=1><tbody align=right><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("defaultparagraphseparator") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<table data-start=0 data-end=1><tbody align=right><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("defaultparagraphseparator") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<table data-start=0 data-end=1><tbody align=right><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("defaultparagraphseparator") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<table data-start=0 data-end=1><tbody align=right><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("defaultparagraphseparator") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<table data-start=0 data-end=1><tbody align=right><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("defaultparagraphseparator") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<table data-start=0 data-end=1><tbody align=right><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("defaultparagraphseparator") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<table data-start=0 data-end=1><tbody align=right><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("justifyright") before 
-FAIL [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<table data-start=0 data-end=1><tbody align=right><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("justifyright") before assert_equals: Wrong result returned expected true but got false
-FAIL [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<table data-start=0 data-end=1><tbody align=right><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("justifyright") before assert_equals: Wrong result returned expected "right" but got "false"
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<table data-start=0 data-end=1><tbody align=right><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("justifyright") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<table data-start=0 data-end=1><tbody align=right><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("justifyright") after 
-FAIL [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<table data-start=0 data-end=1><tbody align=right><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("justifyright") after assert_equals: Wrong result returned expected "right" but got "true"
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "{<table><tbody align=right><tr><td>foo<td>bar<td>baz</table>}<p>extra": execCommand("stylewithcss", false, "true") return value 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "{<table><tbody align=right><tr><td>foo<td>bar<td>baz</table>}<p>extra": execCommand("defaultparagraphseparator", false, "div") return value 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "{<table><tbody align=right><tr><td>foo<td>bar<td>baz</table>}<p>extra": execCommand("justifyright", false, "") return value 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "{<table><tbody align=right><tr><td>foo<td>bar<td>baz</table>}<p>extra" checks for modifications to non-editable content 
-FAIL [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "{<table><tbody align=right><tr><td>foo<td>bar<td>baz</table>}<p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<div style=\"text-align:right\"><table><tbody><tr><td>foo</td><td>bar</td><td>baz</td></tr></tbody></table></div><p>extra</p>" but got "<table style=\"text-align:right\"><tbody align=\"right\"><tr><td>foo</td><td>bar</td><td>baz</td></tr></tbody></table><p style=\"text-align:right\">extra</p>"
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "{<table><tbody align=right><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandIndeterm("stylewithcss") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "{<table><tbody align=right><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandState("stylewithcss") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "{<table><tbody align=right><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandValue("stylewithcss") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "{<table><tbody align=right><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandIndeterm("stylewithcss") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "{<table><tbody align=right><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandState("stylewithcss") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "{<table><tbody align=right><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandValue("stylewithcss") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "{<table><tbody align=right><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandIndeterm("defaultparagraphseparator") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "{<table><tbody align=right><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandState("defaultparagraphseparator") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "{<table><tbody align=right><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandValue("defaultparagraphseparator") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "{<table><tbody align=right><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandIndeterm("defaultparagraphseparator") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "{<table><tbody align=right><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandState("defaultparagraphseparator") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "{<table><tbody align=right><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandValue("defaultparagraphseparator") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "{<table><tbody align=right><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandIndeterm("justifyright") before 
-FAIL [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "{<table><tbody align=right><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandState("justifyright") before assert_equals: Wrong result returned expected true but got false
-FAIL [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "{<table><tbody align=right><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandValue("justifyright") before assert_equals: Wrong result returned expected "right" but got "false"
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "{<table><tbody align=right><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandIndeterm("justifyright") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "{<table><tbody align=right><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandState("justifyright") after 
-FAIL [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "{<table><tbody align=right><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandValue("justifyright") after assert_equals: Wrong result returned expected "right" but got "true"
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "{<table><tbody align=right><tr><td>foo<td>bar<td>baz</table>}<p>extra": execCommand("stylewithcss", false, "false") return value 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "{<table><tbody align=right><tr><td>foo<td>bar<td>baz</table>}<p>extra": execCommand("defaultparagraphseparator", false, "div") return value 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "{<table><tbody align=right><tr><td>foo<td>bar<td>baz</table>}<p>extra": execCommand("justifyright", false, "") return value 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "{<table><tbody align=right><tr><td>foo<td>bar<td>baz</table>}<p>extra" checks for modifications to non-editable content 
-FAIL [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "{<table><tbody align=right><tr><td>foo<td>bar<td>baz</table>}<p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<div style=\"text-align:right\"><table><tbody><tr><td>foo</td><td>bar</td><td>baz</td></tr></tbody></table></div><p>extra</p>" but got "<table style=\"text-align:right\"><tbody align=\"right\"><tr><td>foo</td><td>bar</td><td>baz</td></tr></tbody></table><p style=\"text-align:right\">extra</p>"
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "{<table><tbody align=right><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandIndeterm("stylewithcss") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "{<table><tbody align=right><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandState("stylewithcss") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "{<table><tbody align=right><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandValue("stylewithcss") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "{<table><tbody align=right><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandIndeterm("stylewithcss") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "{<table><tbody align=right><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandState("stylewithcss") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "{<table><tbody align=right><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandValue("stylewithcss") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "{<table><tbody align=right><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandIndeterm("defaultparagraphseparator") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "{<table><tbody align=right><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandState("defaultparagraphseparator") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "{<table><tbody align=right><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandValue("defaultparagraphseparator") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "{<table><tbody align=right><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandIndeterm("defaultparagraphseparator") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "{<table><tbody align=right><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandState("defaultparagraphseparator") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "{<table><tbody align=right><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandValue("defaultparagraphseparator") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "{<table><tbody align=right><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandIndeterm("justifyright") before 
-FAIL [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "{<table><tbody align=right><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandState("justifyright") before assert_equals: Wrong result returned expected true but got false
-FAIL [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "{<table><tbody align=right><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandValue("justifyright") before assert_equals: Wrong result returned expected "right" but got "false"
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "{<table><tbody align=right><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandIndeterm("justifyright") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "{<table><tbody align=right><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandState("justifyright") after 
-FAIL [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "{<table><tbody align=right><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandValue("justifyright") after assert_equals: Wrong result returned expected "right" but got "true"
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "{<table><tbody align=right><tr><td>foo<td>bar<td>baz</table>}<p>extra": execCommand("stylewithcss", false, "true") return value 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "{<table><tbody align=right><tr><td>foo<td>bar<td>baz</table>}<p>extra": execCommand("defaultparagraphseparator", false, "p") return value 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "{<table><tbody align=right><tr><td>foo<td>bar<td>baz</table>}<p>extra": execCommand("justifyright", false, "") return value 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "{<table><tbody align=right><tr><td>foo<td>bar<td>baz</table>}<p>extra" checks for modifications to non-editable content 
-FAIL [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "{<table><tbody align=right><tr><td>foo<td>bar<td>baz</table>}<p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<div style=\"text-align:right\"><table><tbody><tr><td>foo</td><td>bar</td><td>baz</td></tr></tbody></table></div><p>extra</p>" but got "<table style=\"text-align:right\"><tbody align=\"right\"><tr><td>foo</td><td>bar</td><td>baz</td></tr></tbody></table><p style=\"text-align:right\">extra</p>"
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "{<table><tbody align=right><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandIndeterm("stylewithcss") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "{<table><tbody align=right><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandState("stylewithcss") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "{<table><tbody align=right><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandValue("stylewithcss") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "{<table><tbody align=right><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandIndeterm("stylewithcss") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "{<table><tbody align=right><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandState("stylewithcss") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "{<table><tbody align=right><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandValue("stylewithcss") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "{<table><tbody align=right><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandIndeterm("defaultparagraphseparator") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "{<table><tbody align=right><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandState("defaultparagraphseparator") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "{<table><tbody align=right><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandValue("defaultparagraphseparator") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "{<table><tbody align=right><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandIndeterm("defaultparagraphseparator") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "{<table><tbody align=right><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandState("defaultparagraphseparator") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "{<table><tbody align=right><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandValue("defaultparagraphseparator") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "{<table><tbody align=right><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandIndeterm("justifyright") before 
-FAIL [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "{<table><tbody align=right><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandState("justifyright") before assert_equals: Wrong result returned expected true but got false
-FAIL [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "{<table><tbody align=right><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandValue("justifyright") before assert_equals: Wrong result returned expected "right" but got "false"
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "{<table><tbody align=right><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandIndeterm("justifyright") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "{<table><tbody align=right><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandState("justifyright") after 
-FAIL [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "{<table><tbody align=right><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandValue("justifyright") after assert_equals: Wrong result returned expected "right" but got "true"
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "{<table><tbody align=right><tr><td>foo<td>bar<td>baz</table>}<p>extra": execCommand("stylewithcss", false, "false") return value 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "{<table><tbody align=right><tr><td>foo<td>bar<td>baz</table>}<p>extra": execCommand("defaultparagraphseparator", false, "p") return value 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "{<table><tbody align=right><tr><td>foo<td>bar<td>baz</table>}<p>extra": execCommand("justifyright", false, "") return value 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "{<table><tbody align=right><tr><td>foo<td>bar<td>baz</table>}<p>extra" checks for modifications to non-editable content 
-FAIL [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "{<table><tbody align=right><tr><td>foo<td>bar<td>baz</table>}<p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<div style=\"text-align:right\"><table><tbody><tr><td>foo</td><td>bar</td><td>baz</td></tr></tbody></table></div><p>extra</p>" but got "<table style=\"text-align:right\"><tbody align=\"right\"><tr><td>foo</td><td>bar</td><td>baz</td></tr></tbody></table><p style=\"text-align:right\">extra</p>"
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "{<table><tbody align=right><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandIndeterm("stylewithcss") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "{<table><tbody align=right><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandState("stylewithcss") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "{<table><tbody align=right><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandValue("stylewithcss") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "{<table><tbody align=right><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandIndeterm("stylewithcss") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "{<table><tbody align=right><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandState("stylewithcss") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "{<table><tbody align=right><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandValue("stylewithcss") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "{<table><tbody align=right><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandIndeterm("defaultparagraphseparator") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "{<table><tbody align=right><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandState("defaultparagraphseparator") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "{<table><tbody align=right><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandValue("defaultparagraphseparator") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "{<table><tbody align=right><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandIndeterm("defaultparagraphseparator") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "{<table><tbody align=right><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandState("defaultparagraphseparator") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "{<table><tbody align=right><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandValue("defaultparagraphseparator") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "{<table><tbody align=right><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandIndeterm("justifyright") before 
-FAIL [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "{<table><tbody align=right><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandState("justifyright") before assert_equals: Wrong result returned expected true but got false
-FAIL [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "{<table><tbody align=right><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandValue("justifyright") before assert_equals: Wrong result returned expected "right" but got "false"
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "{<table><tbody align=right><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandIndeterm("justifyright") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "{<table><tbody align=right><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandState("justifyright") after 
-FAIL [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "{<table><tbody align=right><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandValue("justifyright") after assert_equals: Wrong result returned expected "right" but got "true"
-PASS [["justifyright",""]] "<table><tbody><tr align=right><td>foo<td>b[a]r<td>baz</table><p>extra": execCommand("justifyright", false, "") return value 
-PASS [["justifyright",""]] "<table><tbody><tr align=right><td>foo<td>b[a]r<td>baz</table><p>extra" checks for modifications to non-editable content 
-PASS [["justifyright",""]] "<table><tbody><tr align=right><td>foo<td>b[a]r<td>baz</table><p>extra" compare innerHTML 
-PASS [["justifyright",""]] "<table><tbody><tr align=right><td>foo<td>b[a]r<td>baz</table><p>extra" queryCommandIndeterm("justifyright") before 
-PASS [["justifyright",""]] "<table><tbody><tr align=right><td>foo<td>b[a]r<td>baz</table><p>extra" queryCommandState("justifyright") before 
-FAIL [["justifyright",""]] "<table><tbody><tr align=right><td>foo<td>b[a]r<td>baz</table><p>extra" queryCommandValue("justifyright") before assert_equals: Wrong result returned expected "right" but got "true"
-PASS [["justifyright",""]] "<table><tbody><tr align=right><td>foo<td>b[a]r<td>baz</table><p>extra" queryCommandIndeterm("justifyright") after 
-PASS [["justifyright",""]] "<table><tbody><tr align=right><td>foo<td>b[a]r<td>baz</table><p>extra" queryCommandState("justifyright") after 
-FAIL [["justifyright",""]] "<table><tbody><tr align=right><td>foo<td>b[a]r<td>baz</table><p>extra" queryCommandValue("justifyright") after assert_equals: Wrong result returned expected "right" but got "true"
-PASS [["justifyright",""]] "<table><tbody><tr align=right data-start=1 data-end=2><td>foo<td>bar<td>baz</table><p>extra": execCommand("justifyright", false, "") return value 
-PASS [["justifyright",""]] "<table><tbody><tr align=right data-start=1 data-end=2><td>foo<td>bar<td>baz</table><p>extra" checks for modifications to non-editable content 
-PASS [["justifyright",""]] "<table><tbody><tr align=right data-start=1 data-end=2><td>foo<td>bar<td>baz</table><p>extra" compare innerHTML 
-PASS [["justifyright",""]] "<table><tbody><tr align=right data-start=1 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("justifyright") before 
-PASS [["justifyright",""]] "<table><tbody><tr align=right data-start=1 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("justifyright") before 
-FAIL [["justifyright",""]] "<table><tbody><tr align=right data-start=1 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("justifyright") before assert_equals: Wrong result returned expected "right" but got "true"
-PASS [["justifyright",""]] "<table><tbody><tr align=right data-start=1 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("justifyright") after 
-PASS [["justifyright",""]] "<table><tbody><tr align=right data-start=1 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("justifyright") after 
-FAIL [["justifyright",""]] "<table><tbody><tr align=right data-start=1 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("justifyright") after assert_equals: Wrong result returned expected "right" but got "true"
-PASS [["justifyright",""]] "<table><tbody><tr align=right data-start=0 data-end=2><td>foo<td>bar<td>baz</table><p>extra": execCommand("justifyright", false, "") return value 
-PASS [["justifyright",""]] "<table><tbody><tr align=right data-start=0 data-end=2><td>foo<td>bar<td>baz</table><p>extra" checks for modifications to non-editable content 
-PASS [["justifyright",""]] "<table><tbody><tr align=right data-start=0 data-end=2><td>foo<td>bar<td>baz</table><p>extra" compare innerHTML 
-PASS [["justifyright",""]] "<table><tbody><tr align=right data-start=0 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("justifyright") before 
-PASS [["justifyright",""]] "<table><tbody><tr align=right data-start=0 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("justifyright") before 
-FAIL [["justifyright",""]] "<table><tbody><tr align=right data-start=0 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("justifyright") before assert_equals: Wrong result returned expected "right" but got "true"
-PASS [["justifyright",""]] "<table><tbody><tr align=right data-start=0 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("justifyright") after 
-PASS [["justifyright",""]] "<table><tbody><tr align=right data-start=0 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("justifyright") after 
-FAIL [["justifyright",""]] "<table><tbody><tr align=right data-start=0 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("justifyright") after assert_equals: Wrong result returned expected "right" but got "true"
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<table><tbody data-start=0 data-end=1><tr align=right><td>foo<td>bar<td>baz</table><p>extra": execCommand("stylewithcss", false, "true") return value 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<table><tbody data-start=0 data-end=1><tr align=right><td>foo<td>bar<td>baz</table><p>extra": execCommand("defaultparagraphseparator", false, "div") return value 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<table><tbody data-start=0 data-end=1><tr align=right><td>foo<td>bar<td>baz</table><p>extra": execCommand("justifyright", false, "") return value 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<table><tbody data-start=0 data-end=1><tr align=right><td>foo<td>bar<td>baz</table><p>extra" checks for modifications to non-editable content 
-FAIL [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<table><tbody data-start=0 data-end=1><tr align=right><td>foo<td>bar<td>baz</table><p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<div style=\"text-align:right\"><table><tbody><tr><td>foo</td><td>bar</td><td>baz</td></tr></tbody></table></div><p>extra</p>" but got "<table style=\"text-align:right\"><tbody><tr align=\"right\"><td>foo</td><td>bar</td><td>baz</td></tr></tbody></table><p>extra</p>"
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<table><tbody data-start=0 data-end=1><tr align=right><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("stylewithcss") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<table><tbody data-start=0 data-end=1><tr align=right><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("stylewithcss") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<table><tbody data-start=0 data-end=1><tr align=right><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("stylewithcss") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<table><tbody data-start=0 data-end=1><tr align=right><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("stylewithcss") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<table><tbody data-start=0 data-end=1><tr align=right><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("stylewithcss") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<table><tbody data-start=0 data-end=1><tr align=right><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("stylewithcss") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<table><tbody data-start=0 data-end=1><tr align=right><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("defaultparagraphseparator") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<table><tbody data-start=0 data-end=1><tr align=right><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("defaultparagraphseparator") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<table><tbody data-start=0 data-end=1><tr align=right><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("defaultparagraphseparator") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<table><tbody data-start=0 data-end=1><tr align=right><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("defaultparagraphseparator") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<table><tbody data-start=0 data-end=1><tr align=right><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("defaultparagraphseparator") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<table><tbody data-start=0 data-end=1><tr align=right><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("defaultparagraphseparator") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<table><tbody data-start=0 data-end=1><tr align=right><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("justifyright") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<table><tbody data-start=0 data-end=1><tr align=right><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("justifyright") before 
-FAIL [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<table><tbody data-start=0 data-end=1><tr align=right><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("justifyright") before assert_equals: Wrong result returned expected "right" but got "true"
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<table><tbody data-start=0 data-end=1><tr align=right><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("justifyright") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<table><tbody data-start=0 data-end=1><tr align=right><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("justifyright") after 
-FAIL [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<table><tbody data-start=0 data-end=1><tr align=right><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("justifyright") after assert_equals: Wrong result returned expected "right" but got "true"
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<table><tbody data-start=0 data-end=1><tr align=right><td>foo<td>bar<td>baz</table><p>extra": execCommand("stylewithcss", false, "false") return value 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<table><tbody data-start=0 data-end=1><tr align=right><td>foo<td>bar<td>baz</table><p>extra": execCommand("defaultparagraphseparator", false, "div") return value 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<table><tbody data-start=0 data-end=1><tr align=right><td>foo<td>bar<td>baz</table><p>extra": execCommand("justifyright", false, "") return value 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<table><tbody data-start=0 data-end=1><tr align=right><td>foo<td>bar<td>baz</table><p>extra" checks for modifications to non-editable content 
-FAIL [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<table><tbody data-start=0 data-end=1><tr align=right><td>foo<td>bar<td>baz</table><p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<div style=\"text-align:right\"><table><tbody><tr><td>foo</td><td>bar</td><td>baz</td></tr></tbody></table></div><p>extra</p>" but got "<table style=\"text-align:right\"><tbody><tr align=\"right\"><td>foo</td><td>bar</td><td>baz</td></tr></tbody></table><p>extra</p>"
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<table><tbody data-start=0 data-end=1><tr align=right><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("stylewithcss") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<table><tbody data-start=0 data-end=1><tr align=right><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("stylewithcss") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<table><tbody data-start=0 data-end=1><tr align=right><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("stylewithcss") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<table><tbody data-start=0 data-end=1><tr align=right><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("stylewithcss") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<table><tbody data-start=0 data-end=1><tr align=right><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("stylewithcss") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<table><tbody data-start=0 data-end=1><tr align=right><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("stylewithcss") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<table><tbody data-start=0 data-end=1><tr align=right><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("defaultparagraphseparator") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<table><tbody data-start=0 data-end=1><tr align=right><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("defaultparagraphseparator") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<table><tbody data-start=0 data-end=1><tr align=right><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("defaultparagraphseparator") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<table><tbody data-start=0 data-end=1><tr align=right><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("defaultparagraphseparator") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<table><tbody data-start=0 data-end=1><tr align=right><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("defaultparagraphseparator") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<table><tbody data-start=0 data-end=1><tr align=right><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("defaultparagraphseparator") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<table><tbody data-start=0 data-end=1><tr align=right><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("justifyright") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<table><tbody data-start=0 data-end=1><tr align=right><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("justifyright") before 
-FAIL [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<table><tbody data-start=0 data-end=1><tr align=right><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("justifyright") before assert_equals: Wrong result returned expected "right" but got "true"
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<table><tbody data-start=0 data-end=1><tr align=right><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("justifyright") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<table><tbody data-start=0 data-end=1><tr align=right><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("justifyright") after 
-FAIL [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<table><tbody data-start=0 data-end=1><tr align=right><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("justifyright") after assert_equals: Wrong result returned expected "right" but got "true"
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<table><tbody data-start=0 data-end=1><tr align=right><td>foo<td>bar<td>baz</table><p>extra": execCommand("stylewithcss", false, "true") return value 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<table><tbody data-start=0 data-end=1><tr align=right><td>foo<td>bar<td>baz</table><p>extra": execCommand("defaultparagraphseparator", false, "p") return value 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<table><tbody data-start=0 data-end=1><tr align=right><td>foo<td>bar<td>baz</table><p>extra": execCommand("justifyright", false, "") return value 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<table><tbody data-start=0 data-end=1><tr align=right><td>foo<td>bar<td>baz</table><p>extra" checks for modifications to non-editable content 
-FAIL [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<table><tbody data-start=0 data-end=1><tr align=right><td>foo<td>bar<td>baz</table><p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<div style=\"text-align:right\"><table><tbody><tr><td>foo</td><td>bar</td><td>baz</td></tr></tbody></table></div><p>extra</p>" but got "<table style=\"text-align:right\"><tbody><tr align=\"right\"><td>foo</td><td>bar</td><td>baz</td></tr></tbody></table><p>extra</p>"
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<table><tbody data-start=0 data-end=1><tr align=right><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("stylewithcss") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<table><tbody data-start=0 data-end=1><tr align=right><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("stylewithcss") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<table><tbody data-start=0 data-end=1><tr align=right><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("stylewithcss") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<table><tbody data-start=0 data-end=1><tr align=right><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("stylewithcss") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<table><tbody data-start=0 data-end=1><tr align=right><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("stylewithcss") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<table><tbody data-start=0 data-end=1><tr align=right><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("stylewithcss") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<table><tbody data-start=0 data-end=1><tr align=right><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("defaultparagraphseparator") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<table><tbody data-start=0 data-end=1><tr align=right><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("defaultparagraphseparator") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<table><tbody data-start=0 data-end=1><tr align=right><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("defaultparagraphseparator") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<table><tbody data-start=0 data-end=1><tr align=right><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("defaultparagraphseparator") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<table><tbody data-start=0 data-end=1><tr align=right><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("defaultparagraphseparator") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<table><tbody data-start=0 data-end=1><tr align=right><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("defaultparagraphseparator") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<table><tbody data-start=0 data-end=1><tr align=right><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("justifyright") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<table><tbody data-start=0 data-end=1><tr align=right><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("justifyright") before 
-FAIL [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<table><tbody data-start=0 data-end=1><tr align=right><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("justifyright") before assert_equals: Wrong result returned expected "right" but got "true"
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<table><tbody data-start=0 data-end=1><tr align=right><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("justifyright") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<table><tbody data-start=0 data-end=1><tr align=right><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("justifyright") after 
-FAIL [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<table><tbody data-start=0 data-end=1><tr align=right><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("justifyright") after assert_equals: Wrong result returned expected "right" but got "true"
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<table><tbody data-start=0 data-end=1><tr align=right><td>foo<td>bar<td>baz</table><p>extra": execCommand("stylewithcss", false, "false") return value 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<table><tbody data-start=0 data-end=1><tr align=right><td>foo<td>bar<td>baz</table><p>extra": execCommand("defaultparagraphseparator", false, "p") return value 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<table><tbody data-start=0 data-end=1><tr align=right><td>foo<td>bar<td>baz</table><p>extra": execCommand("justifyright", false, "") return value 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<table><tbody data-start=0 data-end=1><tr align=right><td>foo<td>bar<td>baz</table><p>extra" checks for modifications to non-editable content 
-FAIL [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<table><tbody data-start=0 data-end=1><tr align=right><td>foo<td>bar<td>baz</table><p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<div style=\"text-align:right\"><table><tbody><tr><td>foo</td><td>bar</td><td>baz</td></tr></tbody></table></div><p>extra</p>" but got "<table style=\"text-align:right\"><tbody><tr align=\"right\"><td>foo</td><td>bar</td><td>baz</td></tr></tbody></table><p>extra</p>"
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<table><tbody data-start=0 data-end=1><tr align=right><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("stylewithcss") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<table><tbody data-start=0 data-end=1><tr align=right><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("stylewithcss") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<table><tbody data-start=0 data-end=1><tr align=right><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("stylewithcss") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<table><tbody data-start=0 data-end=1><tr align=right><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("stylewithcss") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<table><tbody data-start=0 data-end=1><tr align=right><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("stylewithcss") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<table><tbody data-start=0 data-end=1><tr align=right><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("stylewithcss") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<table><tbody data-start=0 data-end=1><tr align=right><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("defaultparagraphseparator") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<table><tbody data-start=0 data-end=1><tr align=right><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("defaultparagraphseparator") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<table><tbody data-start=0 data-end=1><tr align=right><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("defaultparagraphseparator") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<table><tbody data-start=0 data-end=1><tr align=right><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("defaultparagraphseparator") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<table><tbody data-start=0 data-end=1><tr align=right><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("defaultparagraphseparator") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<table><tbody data-start=0 data-end=1><tr align=right><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("defaultparagraphseparator") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<table><tbody data-start=0 data-end=1><tr align=right><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("justifyright") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<table><tbody data-start=0 data-end=1><tr align=right><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("justifyright") before 
-FAIL [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<table><tbody data-start=0 data-end=1><tr align=right><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("justifyright") before assert_equals: Wrong result returned expected "right" but got "true"
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<table><tbody data-start=0 data-end=1><tr align=right><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("justifyright") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<table><tbody data-start=0 data-end=1><tr align=right><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("justifyright") after 
-FAIL [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<table><tbody data-start=0 data-end=1><tr align=right><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("justifyright") after assert_equals: Wrong result returned expected "right" but got "true"
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<table data-start=0 data-end=1><tbody><tr align=right><td>foo<td>bar<td>baz</table><p>extra": execCommand("stylewithcss", false, "true") return value 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<table data-start=0 data-end=1><tbody><tr align=right><td>foo<td>bar<td>baz</table><p>extra": execCommand("defaultparagraphseparator", false, "div") return value 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<table data-start=0 data-end=1><tbody><tr align=right><td>foo<td>bar<td>baz</table><p>extra": execCommand("justifyright", false, "") return value 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<table data-start=0 data-end=1><tbody><tr align=right><td>foo<td>bar<td>baz</table><p>extra" checks for modifications to non-editable content 
-FAIL [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<table data-start=0 data-end=1><tbody><tr align=right><td>foo<td>bar<td>baz</table><p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<div style=\"text-align:right\"><table><tbody><tr><td>foo</td><td>bar</td><td>baz</td></tr></tbody></table></div><p>extra</p>" but got "<table style=\"text-align:right\"><tbody><tr align=\"right\"><td>foo</td><td>bar</td><td>baz</td></tr></tbody></table><p>extra</p>"
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<table data-start=0 data-end=1><tbody><tr align=right><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("stylewithcss") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<table data-start=0 data-end=1><tbody><tr align=right><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("stylewithcss") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<table data-start=0 data-end=1><tbody><tr align=right><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("stylewithcss") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<table data-start=0 data-end=1><tbody><tr align=right><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("stylewithcss") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<table data-start=0 data-end=1><tbody><tr align=right><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("stylewithcss") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<table data-start=0 data-end=1><tbody><tr align=right><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("stylewithcss") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<table data-start=0 data-end=1><tbody><tr align=right><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("defaultparagraphseparator") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<table data-start=0 data-end=1><tbody><tr align=right><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("defaultparagraphseparator") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<table data-start=0 data-end=1><tbody><tr align=right><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("defaultparagraphseparator") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<table data-start=0 data-end=1><tbody><tr align=right><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("defaultparagraphseparator") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<table data-start=0 data-end=1><tbody><tr align=right><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("defaultparagraphseparator") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<table data-start=0 data-end=1><tbody><tr align=right><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("defaultparagraphseparator") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<table data-start=0 data-end=1><tbody><tr align=right><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("justifyright") before 
-FAIL [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<table data-start=0 data-end=1><tbody><tr align=right><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("justifyright") before assert_equals: Wrong result returned expected true but got false
-FAIL [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<table data-start=0 data-end=1><tbody><tr align=right><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("justifyright") before assert_equals: Wrong result returned expected "right" but got "false"
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<table data-start=0 data-end=1><tbody><tr align=right><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("justifyright") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<table data-start=0 data-end=1><tbody><tr align=right><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("justifyright") after 
-FAIL [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<table data-start=0 data-end=1><tbody><tr align=right><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("justifyright") after assert_equals: Wrong result returned expected "right" but got "true"
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<table data-start=0 data-end=1><tbody><tr align=right><td>foo<td>bar<td>baz</table><p>extra": execCommand("stylewithcss", false, "false") return value 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<table data-start=0 data-end=1><tbody><tr align=right><td>foo<td>bar<td>baz</table><p>extra": execCommand("defaultparagraphseparator", false, "div") return value 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<table data-start=0 data-end=1><tbody><tr align=right><td>foo<td>bar<td>baz</table><p>extra": execCommand("justifyright", false, "") return value 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<table data-start=0 data-end=1><tbody><tr align=right><td>foo<td>bar<td>baz</table><p>extra" checks for modifications to non-editable content 
-FAIL [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<table data-start=0 data-end=1><tbody><tr align=right><td>foo<td>bar<td>baz</table><p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<div style=\"text-align:right\"><table><tbody><tr><td>foo</td><td>bar</td><td>baz</td></tr></tbody></table></div><p>extra</p>" but got "<table style=\"text-align:right\"><tbody><tr align=\"right\"><td>foo</td><td>bar</td><td>baz</td></tr></tbody></table><p>extra</p>"
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<table data-start=0 data-end=1><tbody><tr align=right><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("stylewithcss") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<table data-start=0 data-end=1><tbody><tr align=right><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("stylewithcss") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<table data-start=0 data-end=1><tbody><tr align=right><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("stylewithcss") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<table data-start=0 data-end=1><tbody><tr align=right><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("stylewithcss") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<table data-start=0 data-end=1><tbody><tr align=right><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("stylewithcss") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<table data-start=0 data-end=1><tbody><tr align=right><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("stylewithcss") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<table data-start=0 data-end=1><tbody><tr align=right><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("defaultparagraphseparator") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<table data-start=0 data-end=1><tbody><tr align=right><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("defaultparagraphseparator") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<table data-start=0 data-end=1><tbody><tr align=right><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("defaultparagraphseparator") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<table data-start=0 data-end=1><tbody><tr align=right><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("defaultparagraphseparator") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<table data-start=0 data-end=1><tbody><tr align=right><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("defaultparagraphseparator") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<table data-start=0 data-end=1><tbody><tr align=right><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("defaultparagraphseparator") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<table data-start=0 data-end=1><tbody><tr align=right><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("justifyright") before 
-FAIL [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<table data-start=0 data-end=1><tbody><tr align=right><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("justifyright") before assert_equals: Wrong result returned expected true but got false
-FAIL [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<table data-start=0 data-end=1><tbody><tr align=right><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("justifyright") before assert_equals: Wrong result returned expected "right" but got "false"
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<table data-start=0 data-end=1><tbody><tr align=right><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("justifyright") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<table data-start=0 data-end=1><tbody><tr align=right><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("justifyright") after 
-FAIL [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<table data-start=0 data-end=1><tbody><tr align=right><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("justifyright") after assert_equals: Wrong result returned expected "right" but got "true"
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<table data-start=0 data-end=1><tbody><tr align=right><td>foo<td>bar<td>baz</table><p>extra": execCommand("stylewithcss", false, "true") return value 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<table data-start=0 data-end=1><tbody><tr align=right><td>foo<td>bar<td>baz</table><p>extra": execCommand("defaultparagraphseparator", false, "p") return value 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<table data-start=0 data-end=1><tbody><tr align=right><td>foo<td>bar<td>baz</table><p>extra": execCommand("justifyright", false, "") return value 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<table data-start=0 data-end=1><tbody><tr align=right><td>foo<td>bar<td>baz</table><p>extra" checks for modifications to non-editable content 
-FAIL [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<table data-start=0 data-end=1><tbody><tr align=right><td>foo<td>bar<td>baz</table><p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<div style=\"text-align:right\"><table><tbody><tr><td>foo</td><td>bar</td><td>baz</td></tr></tbody></table></div><p>extra</p>" but got "<table style=\"text-align:right\"><tbody><tr align=\"right\"><td>foo</td><td>bar</td><td>baz</td></tr></tbody></table><p>extra</p>"
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<table data-start=0 data-end=1><tbody><tr align=right><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("stylewithcss") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<table data-start=0 data-end=1><tbody><tr align=right><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("stylewithcss") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<table data-start=0 data-end=1><tbody><tr align=right><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("stylewithcss") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<table data-start=0 data-end=1><tbody><tr align=right><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("stylewithcss") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<table data-start=0 data-end=1><tbody><tr align=right><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("stylewithcss") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<table data-start=0 data-end=1><tbody><tr align=right><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("stylewithcss") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<table data-start=0 data-end=1><tbody><tr align=right><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("defaultparagraphseparator") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<table data-start=0 data-end=1><tbody><tr align=right><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("defaultparagraphseparator") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<table data-start=0 data-end=1><tbody><tr align=right><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("defaultparagraphseparator") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<table data-start=0 data-end=1><tbody><tr align=right><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("defaultparagraphseparator") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<table data-start=0 data-end=1><tbody><tr align=right><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("defaultparagraphseparator") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<table data-start=0 data-end=1><tbody><tr align=right><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("defaultparagraphseparator") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<table data-start=0 data-end=1><tbody><tr align=right><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("justifyright") before 
-FAIL [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<table data-start=0 data-end=1><tbody><tr align=right><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("justifyright") before assert_equals: Wrong result returned expected true but got false
-FAIL [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<table data-start=0 data-end=1><tbody><tr align=right><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("justifyright") before assert_equals: Wrong result returned expected "right" but got "false"
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<table data-start=0 data-end=1><tbody><tr align=right><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("justifyright") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<table data-start=0 data-end=1><tbody><tr align=right><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("justifyright") after 
-FAIL [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<table data-start=0 data-end=1><tbody><tr align=right><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("justifyright") after assert_equals: Wrong result returned expected "right" but got "true"
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<table data-start=0 data-end=1><tbody><tr align=right><td>foo<td>bar<td>baz</table><p>extra": execCommand("stylewithcss", false, "false") return value 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<table data-start=0 data-end=1><tbody><tr align=right><td>foo<td>bar<td>baz</table><p>extra": execCommand("defaultparagraphseparator", false, "p") return value 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<table data-start=0 data-end=1><tbody><tr align=right><td>foo<td>bar<td>baz</table><p>extra": execCommand("justifyright", false, "") return value 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<table data-start=0 data-end=1><tbody><tr align=right><td>foo<td>bar<td>baz</table><p>extra" checks for modifications to non-editable content 
-FAIL [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<table data-start=0 data-end=1><tbody><tr align=right><td>foo<td>bar<td>baz</table><p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<div style=\"text-align:right\"><table><tbody><tr><td>foo</td><td>bar</td><td>baz</td></tr></tbody></table></div><p>extra</p>" but got "<table style=\"text-align:right\"><tbody><tr align=\"right\"><td>foo</td><td>bar</td><td>baz</td></tr></tbody></table><p>extra</p>"
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<table data-start=0 data-end=1><tbody><tr align=right><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("stylewithcss") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<table data-start=0 data-end=1><tbody><tr align=right><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("stylewithcss") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<table data-start=0 data-end=1><tbody><tr align=right><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("stylewithcss") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<table data-start=0 data-end=1><tbody><tr align=right><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("stylewithcss") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<table data-start=0 data-end=1><tbody><tr align=right><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("stylewithcss") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<table data-start=0 data-end=1><tbody><tr align=right><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("stylewithcss") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<table data-start=0 data-end=1><tbody><tr align=right><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("defaultparagraphseparator") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<table data-start=0 data-end=1><tbody><tr align=right><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("defaultparagraphseparator") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<table data-start=0 data-end=1><tbody><tr align=right><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("defaultparagraphseparator") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<table data-start=0 data-end=1><tbody><tr align=right><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("defaultparagraphseparator") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<table data-start=0 data-end=1><tbody><tr align=right><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("defaultparagraphseparator") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<table data-start=0 data-end=1><tbody><tr align=right><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("defaultparagraphseparator") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<table data-start=0 data-end=1><tbody><tr align=right><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("justifyright") before 
-FAIL [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<table data-start=0 data-end=1><tbody><tr align=right><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("justifyright") before assert_equals: Wrong result returned expected true but got false
-FAIL [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<table data-start=0 data-end=1><tbody><tr align=right><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("justifyright") before assert_equals: Wrong result returned expected "right" but got "false"
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<table data-start=0 data-end=1><tbody><tr align=right><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("justifyright") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<table data-start=0 data-end=1><tbody><tr align=right><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("justifyright") after 
-FAIL [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<table data-start=0 data-end=1><tbody><tr align=right><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("justifyright") after assert_equals: Wrong result returned expected "right" but got "true"
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "{<table><tr align=right><td>foo<td>bar<td>baz</table>}<p>extra": execCommand("stylewithcss", false, "true") return value 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "{<table><tr align=right><td>foo<td>bar<td>baz</table>}<p>extra": execCommand("defaultparagraphseparator", false, "div") return value 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "{<table><tr align=right><td>foo<td>bar<td>baz</table>}<p>extra": execCommand("justifyright", false, "") return value 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "{<table><tr align=right><td>foo<td>bar<td>baz</table>}<p>extra" checks for modifications to non-editable content 
-FAIL [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "{<table><tr align=right><td>foo<td>bar<td>baz</table>}<p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<div style=\"text-align:right\"><table><tbody><tr><td>foo</td><td>bar</td><td>baz</td></tr></tbody></table></div><p>extra</p>" but got "<table style=\"text-align:right\"><tbody><tr align=\"right\"><td>foo</td><td>bar</td><td>baz</td></tr></tbody></table><p style=\"text-align:right\">extra</p>"
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "{<table><tr align=right><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandIndeterm("stylewithcss") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "{<table><tr align=right><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandState("stylewithcss") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "{<table><tr align=right><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandValue("stylewithcss") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "{<table><tr align=right><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandIndeterm("stylewithcss") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "{<table><tr align=right><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandState("stylewithcss") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "{<table><tr align=right><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandValue("stylewithcss") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "{<table><tr align=right><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandIndeterm("defaultparagraphseparator") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "{<table><tr align=right><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandState("defaultparagraphseparator") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "{<table><tr align=right><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandValue("defaultparagraphseparator") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "{<table><tr align=right><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandIndeterm("defaultparagraphseparator") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "{<table><tr align=right><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandState("defaultparagraphseparator") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "{<table><tr align=right><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandValue("defaultparagraphseparator") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "{<table><tr align=right><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandIndeterm("justifyright") before 
-FAIL [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "{<table><tr align=right><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandState("justifyright") before assert_equals: Wrong result returned expected true but got false
-FAIL [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "{<table><tr align=right><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandValue("justifyright") before assert_equals: Wrong result returned expected "right" but got "false"
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "{<table><tr align=right><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandIndeterm("justifyright") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "{<table><tr align=right><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandState("justifyright") after 
-FAIL [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "{<table><tr align=right><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandValue("justifyright") after assert_equals: Wrong result returned expected "right" but got "true"
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "{<table><tr align=right><td>foo<td>bar<td>baz</table>}<p>extra": execCommand("stylewithcss", false, "false") return value 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "{<table><tr align=right><td>foo<td>bar<td>baz</table>}<p>extra": execCommand("defaultparagraphseparator", false, "div") return value 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "{<table><tr align=right><td>foo<td>bar<td>baz</table>}<p>extra": execCommand("justifyright", false, "") return value 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "{<table><tr align=right><td>foo<td>bar<td>baz</table>}<p>extra" checks for modifications to non-editable content 
-FAIL [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "{<table><tr align=right><td>foo<td>bar<td>baz</table>}<p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<div style=\"text-align:right\"><table><tbody><tr><td>foo</td><td>bar</td><td>baz</td></tr></tbody></table></div><p>extra</p>" but got "<table style=\"text-align:right\"><tbody><tr align=\"right\"><td>foo</td><td>bar</td><td>baz</td></tr></tbody></table><p style=\"text-align:right\">extra</p>"
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "{<table><tr align=right><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandIndeterm("stylewithcss") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "{<table><tr align=right><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandState("stylewithcss") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "{<table><tr align=right><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandValue("stylewithcss") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "{<table><tr align=right><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandIndeterm("stylewithcss") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "{<table><tr align=right><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandState("stylewithcss") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "{<table><tr align=right><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandValue("stylewithcss") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "{<table><tr align=right><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandIndeterm("defaultparagraphseparator") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "{<table><tr align=right><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandState("defaultparagraphseparator") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "{<table><tr align=right><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandValue("defaultparagraphseparator") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "{<table><tr align=right><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandIndeterm("defaultparagraphseparator") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "{<table><tr align=right><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandState("defaultparagraphseparator") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "{<table><tr align=right><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandValue("defaultparagraphseparator") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "{<table><tr align=right><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandIndeterm("justifyright") before 
-FAIL [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "{<table><tr align=right><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandState("justifyright") before assert_equals: Wrong result returned expected true but got false
-FAIL [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "{<table><tr align=right><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandValue("justifyright") before assert_equals: Wrong result returned expected "right" but got "false"
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "{<table><tr align=right><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandIndeterm("justifyright") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "{<table><tr align=right><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandState("justifyright") after 
-FAIL [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "{<table><tr align=right><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandValue("justifyright") after assert_equals: Wrong result returned expected "right" but got "true"
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "{<table><tr align=right><td>foo<td>bar<td>baz</table>}<p>extra": execCommand("stylewithcss", false, "true") return value 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "{<table><tr align=right><td>foo<td>bar<td>baz</table>}<p>extra": execCommand("defaultparagraphseparator", false, "p") return value 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "{<table><tr align=right><td>foo<td>bar<td>baz</table>}<p>extra": execCommand("justifyright", false, "") return value 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "{<table><tr align=right><td>foo<td>bar<td>baz</table>}<p>extra" checks for modifications to non-editable content 
-FAIL [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "{<table><tr align=right><td>foo<td>bar<td>baz</table>}<p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<div style=\"text-align:right\"><table><tbody><tr><td>foo</td><td>bar</td><td>baz</td></tr></tbody></table></div><p>extra</p>" but got "<table style=\"text-align:right\"><tbody><tr align=\"right\"><td>foo</td><td>bar</td><td>baz</td></tr></tbody></table><p style=\"text-align:right\">extra</p>"
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "{<table><tr align=right><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandIndeterm("stylewithcss") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "{<table><tr align=right><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandState("stylewithcss") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "{<table><tr align=right><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandValue("stylewithcss") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "{<table><tr align=right><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandIndeterm("stylewithcss") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "{<table><tr align=right><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandState("stylewithcss") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "{<table><tr align=right><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandValue("stylewithcss") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "{<table><tr align=right><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandIndeterm("defaultparagraphseparator") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "{<table><tr align=right><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandState("defaultparagraphseparator") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "{<table><tr align=right><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandValue("defaultparagraphseparator") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "{<table><tr align=right><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandIndeterm("defaultparagraphseparator") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "{<table><tr align=right><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandState("defaultparagraphseparator") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "{<table><tr align=right><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandValue("defaultparagraphseparator") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "{<table><tr align=right><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandIndeterm("justifyright") before 
-FAIL [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "{<table><tr align=right><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandState("justifyright") before assert_equals: Wrong result returned expected true but got false
-FAIL [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "{<table><tr align=right><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandValue("justifyright") before assert_equals: Wrong result returned expected "right" but got "false"
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "{<table><tr align=right><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandIndeterm("justifyright") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "{<table><tr align=right><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandState("justifyright") after 
-FAIL [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "{<table><tr align=right><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandValue("justifyright") after assert_equals: Wrong result returned expected "right" but got "true"
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "{<table><tr align=right><td>foo<td>bar<td>baz</table>}<p>extra": execCommand("stylewithcss", false, "false") return value 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "{<table><tr align=right><td>foo<td>bar<td>baz</table>}<p>extra": execCommand("defaultparagraphseparator", false, "p") return value 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "{<table><tr align=right><td>foo<td>bar<td>baz</table>}<p>extra": execCommand("justifyright", false, "") return value 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "{<table><tr align=right><td>foo<td>bar<td>baz</table>}<p>extra" checks for modifications to non-editable content 
-FAIL [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "{<table><tr align=right><td>foo<td>bar<td>baz</table>}<p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<div style=\"text-align:right\"><table><tbody><tr><td>foo</td><td>bar</td><td>baz</td></tr></tbody></table></div><p>extra</p>" but got "<table style=\"text-align:right\"><tbody><tr align=\"right\"><td>foo</td><td>bar</td><td>baz</td></tr></tbody></table><p style=\"text-align:right\">extra</p>"
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "{<table><tr align=right><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandIndeterm("stylewithcss") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "{<table><tr align=right><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandState("stylewithcss") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "{<table><tr align=right><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandValue("stylewithcss") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "{<table><tr align=right><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandIndeterm("stylewithcss") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "{<table><tr align=right><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandState("stylewithcss") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "{<table><tr align=right><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandValue("stylewithcss") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "{<table><tr align=right><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandIndeterm("defaultparagraphseparator") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "{<table><tr align=right><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandState("defaultparagraphseparator") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "{<table><tr align=right><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandValue("defaultparagraphseparator") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "{<table><tr align=right><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandIndeterm("defaultparagraphseparator") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "{<table><tr align=right><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandState("defaultparagraphseparator") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "{<table><tr align=right><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandValue("defaultparagraphseparator") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "{<table><tr align=right><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandIndeterm("justifyright") before 
-FAIL [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "{<table><tr align=right><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandState("justifyright") before assert_equals: Wrong result returned expected true but got false
-FAIL [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "{<table><tr align=right><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandValue("justifyright") before assert_equals: Wrong result returned expected "right" but got "false"
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "{<table><tr align=right><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandIndeterm("justifyright") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "{<table><tr align=right><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandState("justifyright") after 
-FAIL [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "{<table><tr align=right><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandValue("justifyright") after assert_equals: Wrong result returned expected "right" but got "true"
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<div align=center><p>[foo]<p>bar</div><p>extra": execCommand("stylewithcss", false, "true") return value 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<div align=center><p>[foo]<p>bar</div><p>extra": execCommand("defaultparagraphseparator", false, "div") return value 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<div align=center><p>[foo]<p>bar</div><p>extra": execCommand("justifyright", false, "") return value 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<div align=center><p>[foo]<p>bar</div><p>extra" checks for modifications to non-editable content 
-FAIL [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<div align=center><p>[foo]<p>bar</div><p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<div align=\"center\"><div style=\"text-align:right\"><p>foo</p></div><p>bar</p></div><p>extra</p>" but got "<div align=\"center\"><p style=\"text-align:right\">foo</p><p>bar</p></div><p>extra</p>"
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<div align=center><p>[foo]<p>bar</div><p>extra" queryCommandIndeterm("stylewithcss") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<div align=center><p>[foo]<p>bar</div><p>extra" queryCommandState("stylewithcss") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<div align=center><p>[foo]<p>bar</div><p>extra" queryCommandValue("stylewithcss") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<div align=center><p>[foo]<p>bar</div><p>extra" queryCommandIndeterm("stylewithcss") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<div align=center><p>[foo]<p>bar</div><p>extra" queryCommandState("stylewithcss") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<div align=center><p>[foo]<p>bar</div><p>extra" queryCommandValue("stylewithcss") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<div align=center><p>[foo]<p>bar</div><p>extra" queryCommandIndeterm("defaultparagraphseparator") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<div align=center><p>[foo]<p>bar</div><p>extra" queryCommandState("defaultparagraphseparator") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<div align=center><p>[foo]<p>bar</div><p>extra" queryCommandValue("defaultparagraphseparator") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<div align=center><p>[foo]<p>bar</div><p>extra" queryCommandIndeterm("defaultparagraphseparator") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<div align=center><p>[foo]<p>bar</div><p>extra" queryCommandState("defaultparagraphseparator") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<div align=center><p>[foo]<p>bar</div><p>extra" queryCommandValue("defaultparagraphseparator") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<div align=center><p>[foo]<p>bar</div><p>extra" queryCommandIndeterm("justifyright") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<div align=center><p>[foo]<p>bar</div><p>extra" queryCommandState("justifyright") before 
-FAIL [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<div align=center><p>[foo]<p>bar</div><p>extra" queryCommandValue("justifyright") before assert_equals: Wrong result returned expected "center" but got "false"
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<div align=center><p>[foo]<p>bar</div><p>extra" queryCommandIndeterm("justifyright") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<div align=center><p>[foo]<p>bar</div><p>extra" queryCommandState("justifyright") after 
-FAIL [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<div align=center><p>[foo]<p>bar</div><p>extra" queryCommandValue("justifyright") after assert_equals: Wrong result returned expected "right" but got "true"
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<div align=center><p>[foo]<p>bar</div><p>extra": execCommand("stylewithcss", false, "false") return value 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<div align=center><p>[foo]<p>bar</div><p>extra": execCommand("defaultparagraphseparator", false, "div") return value 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<div align=center><p>[foo]<p>bar</div><p>extra": execCommand("justifyright", false, "") return value 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<div align=center><p>[foo]<p>bar</div><p>extra" checks for modifications to non-editable content 
-FAIL [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<div align=center><p>[foo]<p>bar</div><p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<div align=\"center\"><div style=\"text-align:right\"><p>foo</p></div><p>bar</p></div><p>extra</p>" but got "<div align=\"center\"><p style=\"text-align:right\">foo</p><p>bar</p></div><p>extra</p>"
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<div align=center><p>[foo]<p>bar</div><p>extra" queryCommandIndeterm("stylewithcss") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<div align=center><p>[foo]<p>bar</div><p>extra" queryCommandState("stylewithcss") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<div align=center><p>[foo]<p>bar</div><p>extra" queryCommandValue("stylewithcss") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<div align=center><p>[foo]<p>bar</div><p>extra" queryCommandIndeterm("stylewithcss") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<div align=center><p>[foo]<p>bar</div><p>extra" queryCommandState("stylewithcss") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<div align=center><p>[foo]<p>bar</div><p>extra" queryCommandValue("stylewithcss") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<div align=center><p>[foo]<p>bar</div><p>extra" queryCommandIndeterm("defaultparagraphseparator") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<div align=center><p>[foo]<p>bar</div><p>extra" queryCommandState("defaultparagraphseparator") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<div align=center><p>[foo]<p>bar</div><p>extra" queryCommandValue("defaultparagraphseparator") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<div align=center><p>[foo]<p>bar</div><p>extra" queryCommandIndeterm("defaultparagraphseparator") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<div align=center><p>[foo]<p>bar</div><p>extra" queryCommandState("defaultparagraphseparator") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<div align=center><p>[foo]<p>bar</div><p>extra" queryCommandValue("defaultparagraphseparator") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<div align=center><p>[foo]<p>bar</div><p>extra" queryCommandIndeterm("justifyright") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<div align=center><p>[foo]<p>bar</div><p>extra" queryCommandState("justifyright") before 
-FAIL [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<div align=center><p>[foo]<p>bar</div><p>extra" queryCommandValue("justifyright") before assert_equals: Wrong result returned expected "center" but got "false"
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<div align=center><p>[foo]<p>bar</div><p>extra" queryCommandIndeterm("justifyright") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<div align=center><p>[foo]<p>bar</div><p>extra" queryCommandState("justifyright") after 
-FAIL [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<div align=center><p>[foo]<p>bar</div><p>extra" queryCommandValue("justifyright") after assert_equals: Wrong result returned expected "right" but got "true"
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<div align=center><p>[foo]<p>bar</div><p>extra": execCommand("stylewithcss", false, "true") return value 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<div align=center><p>[foo]<p>bar</div><p>extra": execCommand("defaultparagraphseparator", false, "p") return value 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<div align=center><p>[foo]<p>bar</div><p>extra": execCommand("justifyright", false, "") return value 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<div align=center><p>[foo]<p>bar</div><p>extra" checks for modifications to non-editable content 
-FAIL [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<div align=center><p>[foo]<p>bar</div><p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<div align=\"center\"><div style=\"text-align:right\"><p>foo</p></div><p>bar</p></div><p>extra</p>" but got "<div align=\"center\"><p style=\"text-align:right\">foo</p><p>bar</p></div><p>extra</p>"
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<div align=center><p>[foo]<p>bar</div><p>extra" queryCommandIndeterm("stylewithcss") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<div align=center><p>[foo]<p>bar</div><p>extra" queryCommandState("stylewithcss") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<div align=center><p>[foo]<p>bar</div><p>extra" queryCommandValue("stylewithcss") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<div align=center><p>[foo]<p>bar</div><p>extra" queryCommandIndeterm("stylewithcss") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<div align=center><p>[foo]<p>bar</div><p>extra" queryCommandState("stylewithcss") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<div align=center><p>[foo]<p>bar</div><p>extra" queryCommandValue("stylewithcss") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<div align=center><p>[foo]<p>bar</div><p>extra" queryCommandIndeterm("defaultparagraphseparator") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<div align=center><p>[foo]<p>bar</div><p>extra" queryCommandState("defaultparagraphseparator") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<div align=center><p>[foo]<p>bar</div><p>extra" queryCommandValue("defaultparagraphseparator") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<div align=center><p>[foo]<p>bar</div><p>extra" queryCommandIndeterm("defaultparagraphseparator") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<div align=center><p>[foo]<p>bar</div><p>extra" queryCommandState("defaultparagraphseparator") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<div align=center><p>[foo]<p>bar</div><p>extra" queryCommandValue("defaultparagraphseparator") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<div align=center><p>[foo]<p>bar</div><p>extra" queryCommandIndeterm("justifyright") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<div align=center><p>[foo]<p>bar</div><p>extra" queryCommandState("justifyright") before 
-FAIL [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<div align=center><p>[foo]<p>bar</div><p>extra" queryCommandValue("justifyright") before assert_equals: Wrong result returned expected "center" but got "false"
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<div align=center><p>[foo]<p>bar</div><p>extra" queryCommandIndeterm("justifyright") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<div align=center><p>[foo]<p>bar</div><p>extra" queryCommandState("justifyright") after 
-FAIL [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<div align=center><p>[foo]<p>bar</div><p>extra" queryCommandValue("justifyright") after assert_equals: Wrong result returned expected "right" but got "true"
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<div align=center><p>[foo]<p>bar</div><p>extra": execCommand("stylewithcss", false, "false") return value 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<div align=center><p>[foo]<p>bar</div><p>extra": execCommand("defaultparagraphseparator", false, "p") return value 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<div align=center><p>[foo]<p>bar</div><p>extra": execCommand("justifyright", false, "") return value 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<div align=center><p>[foo]<p>bar</div><p>extra" checks for modifications to non-editable content 
-FAIL [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<div align=center><p>[foo]<p>bar</div><p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<div align=\"center\"><div style=\"text-align:right\"><p>foo</p></div><p>bar</p></div><p>extra</p>" but got "<div align=\"center\"><p style=\"text-align:right\">foo</p><p>bar</p></div><p>extra</p>"
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<div align=center><p>[foo]<p>bar</div><p>extra" queryCommandIndeterm("stylewithcss") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<div align=center><p>[foo]<p>bar</div><p>extra" queryCommandState("stylewithcss") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<div align=center><p>[foo]<p>bar</div><p>extra" queryCommandValue("stylewithcss") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<div align=center><p>[foo]<p>bar</div><p>extra" queryCommandIndeterm("stylewithcss") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<div align=center><p>[foo]<p>bar</div><p>extra" queryCommandState("stylewithcss") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<div align=center><p>[foo]<p>bar</div><p>extra" queryCommandValue("stylewithcss") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<div align=center><p>[foo]<p>bar</div><p>extra" queryCommandIndeterm("defaultparagraphseparator") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<div align=center><p>[foo]<p>bar</div><p>extra" queryCommandState("defaultparagraphseparator") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<div align=center><p>[foo]<p>bar</div><p>extra" queryCommandValue("defaultparagraphseparator") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<div align=center><p>[foo]<p>bar</div><p>extra" queryCommandIndeterm("defaultparagraphseparator") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<div align=center><p>[foo]<p>bar</div><p>extra" queryCommandState("defaultparagraphseparator") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<div align=center><p>[foo]<p>bar</div><p>extra" queryCommandValue("defaultparagraphseparator") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<div align=center><p>[foo]<p>bar</div><p>extra" queryCommandIndeterm("justifyright") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<div align=center><p>[foo]<p>bar</div><p>extra" queryCommandState("justifyright") before 
-FAIL [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<div align=center><p>[foo]<p>bar</div><p>extra" queryCommandValue("justifyright") before assert_equals: Wrong result returned expected "center" but got "false"
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<div align=center><p>[foo]<p>bar</div><p>extra" queryCommandIndeterm("justifyright") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<div align=center><p>[foo]<p>bar</div><p>extra" queryCommandState("justifyright") after 
-FAIL [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<div align=center><p>[foo]<p>bar</div><p>extra" queryCommandValue("justifyright") after assert_equals: Wrong result returned expected "right" but got "true"
-PASS [["stylewithcss","true"],["justifyright",""]] "<div align=center><p>[foo<p>bar}</div><p>extra": execCommand("stylewithcss", false, "true") return value 
-PASS [["stylewithcss","true"],["justifyright",""]] "<div align=center><p>[foo<p>bar}</div><p>extra": execCommand("justifyright", false, "") return value 
-PASS [["stylewithcss","true"],["justifyright",""]] "<div align=center><p>[foo<p>bar}</div><p>extra" checks for modifications to non-editable content 
-FAIL [["stylewithcss","true"],["justifyright",""]] "<div align=center><p>[foo<p>bar}</div><p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<div style=\"text-align:right\"><p>foo</p><p>bar</p></div><p>extra</p>" but got "<div align=\"center\"><p style=\"text-align:right\">foo</p><p style=\"text-align:right\">bar</p></div><p>extra</p>"
-PASS [["stylewithcss","true"],["justifyright",""]] "<div align=center><p>[foo<p>bar}</div><p>extra" queryCommandIndeterm("stylewithcss") before 
-PASS [["stylewithcss","true"],["justifyright",""]] "<div align=center><p>[foo<p>bar}</div><p>extra" queryCommandState("stylewithcss") before 
-PASS [["stylewithcss","true"],["justifyright",""]] "<div align=center><p>[foo<p>bar}</div><p>extra" queryCommandValue("stylewithcss") before 
-PASS [["stylewithcss","true"],["justifyright",""]] "<div align=center><p>[foo<p>bar}</div><p>extra" queryCommandIndeterm("stylewithcss") after 
-PASS [["stylewithcss","true"],["justifyright",""]] "<div align=center><p>[foo<p>bar}</div><p>extra" queryCommandState("stylewithcss") after 
-PASS [["stylewithcss","true"],["justifyright",""]] "<div align=center><p>[foo<p>bar}</div><p>extra" queryCommandValue("stylewithcss") after 
-PASS [["stylewithcss","true"],["justifyright",""]] "<div align=center><p>[foo<p>bar}</div><p>extra" queryCommandIndeterm("justifyright") before 
-PASS [["stylewithcss","true"],["justifyright",""]] "<div align=center><p>[foo<p>bar}</div><p>extra" queryCommandState("justifyright") before 
-FAIL [["stylewithcss","true"],["justifyright",""]] "<div align=center><p>[foo<p>bar}</div><p>extra" queryCommandValue("justifyright") before assert_equals: Wrong result returned expected "center" but got "false"
-PASS [["stylewithcss","true"],["justifyright",""]] "<div align=center><p>[foo<p>bar}</div><p>extra" queryCommandIndeterm("justifyright") after 
-PASS [["stylewithcss","true"],["justifyright",""]] "<div align=center><p>[foo<p>bar}</div><p>extra" queryCommandState("justifyright") after 
-FAIL [["stylewithcss","true"],["justifyright",""]] "<div align=center><p>[foo<p>bar}</div><p>extra" queryCommandValue("justifyright") after assert_equals: Wrong result returned expected "right" but got "true"
-PASS [["stylewithcss","false"],["justifyright",""]] "<div align=center><p>[foo<p>bar}</div><p>extra": execCommand("stylewithcss", false, "false") return value 
-PASS [["stylewithcss","false"],["justifyright",""]] "<div align=center><p>[foo<p>bar}</div><p>extra": execCommand("justifyright", false, "") return value 
-PASS [["stylewithcss","false"],["justifyright",""]] "<div align=center><p>[foo<p>bar}</div><p>extra" checks for modifications to non-editable content 
-FAIL [["stylewithcss","false"],["justifyright",""]] "<div align=center><p>[foo<p>bar}</div><p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<div style=\"text-align:right\"><p>foo</p><p>bar</p></div><p>extra</p>" but got "<div align=\"center\"><p style=\"text-align:right\">foo</p><p style=\"text-align:right\">bar</p></div><p>extra</p>"
-PASS [["stylewithcss","false"],["justifyright",""]] "<div align=center><p>[foo<p>bar}</div><p>extra" queryCommandIndeterm("stylewithcss") before 
-PASS [["stylewithcss","false"],["justifyright",""]] "<div align=center><p>[foo<p>bar}</div><p>extra" queryCommandState("stylewithcss") before 
-PASS [["stylewithcss","false"],["justifyright",""]] "<div align=center><p>[foo<p>bar}</div><p>extra" queryCommandValue("stylewithcss") before 
-PASS [["stylewithcss","false"],["justifyright",""]] "<div align=center><p>[foo<p>bar}</div><p>extra" queryCommandIndeterm("stylewithcss") after 
-PASS [["stylewithcss","false"],["justifyright",""]] "<div align=center><p>[foo<p>bar}</div><p>extra" queryCommandState("stylewithcss") after 
-PASS [["stylewithcss","false"],["justifyright",""]] "<div align=center><p>[foo<p>bar}</div><p>extra" queryCommandValue("stylewithcss") after 
-PASS [["stylewithcss","false"],["justifyright",""]] "<div align=center><p>[foo<p>bar}</div><p>extra" queryCommandIndeterm("justifyright") before 
-PASS [["stylewithcss","false"],["justifyright",""]] "<div align=center><p>[foo<p>bar}</div><p>extra" queryCommandState("justifyright") before 
-FAIL [["stylewithcss","false"],["justifyright",""]] "<div align=center><p>[foo<p>bar}</div><p>extra" queryCommandValue("justifyright") before assert_equals: Wrong result returned expected "center" but got "false"
-PASS [["stylewithcss","false"],["justifyright",""]] "<div align=center><p>[foo<p>bar}</div><p>extra" queryCommandIndeterm("justifyright") after 
-PASS [["stylewithcss","false"],["justifyright",""]] "<div align=center><p>[foo<p>bar}</div><p>extra" queryCommandState("justifyright") after 
-FAIL [["stylewithcss","false"],["justifyright",""]] "<div align=center><p>[foo<p>bar}</div><p>extra" queryCommandValue("justifyright") after assert_equals: Wrong result returned expected "right" but got "true"
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<div style=text-align:center><p>[foo]<p>bar</div><p>extra": execCommand("stylewithcss", false, "true") return value 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<div style=text-align:center><p>[foo]<p>bar</div><p>extra": execCommand("defaultparagraphseparator", false, "div") return value 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<div style=text-align:center><p>[foo]<p>bar</div><p>extra": execCommand("justifyright", false, "") return value 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<div style=text-align:center><p>[foo]<p>bar</div><p>extra" checks for modifications to non-editable content 
-FAIL [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<div style=text-align:center><p>[foo]<p>bar</div><p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<div style=\"text-align:center\"><div style=\"text-align:right\"><p>foo</p></div><p>bar</p></div><p>extra</p>" but got "<div style=\"text-align:center\"><p style=\"text-align:right\">foo</p><p>bar</p></div><p>extra</p>"
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<div style=text-align:center><p>[foo]<p>bar</div><p>extra" queryCommandIndeterm("stylewithcss") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<div style=text-align:center><p>[foo]<p>bar</div><p>extra" queryCommandState("stylewithcss") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<div style=text-align:center><p>[foo]<p>bar</div><p>extra" queryCommandValue("stylewithcss") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<div style=text-align:center><p>[foo]<p>bar</div><p>extra" queryCommandIndeterm("stylewithcss") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<div style=text-align:center><p>[foo]<p>bar</div><p>extra" queryCommandState("stylewithcss") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<div style=text-align:center><p>[foo]<p>bar</div><p>extra" queryCommandValue("stylewithcss") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<div style=text-align:center><p>[foo]<p>bar</div><p>extra" queryCommandIndeterm("defaultparagraphseparator") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<div style=text-align:center><p>[foo]<p>bar</div><p>extra" queryCommandState("defaultparagraphseparator") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<div style=text-align:center><p>[foo]<p>bar</div><p>extra" queryCommandValue("defaultparagraphseparator") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<div style=text-align:center><p>[foo]<p>bar</div><p>extra" queryCommandIndeterm("defaultparagraphseparator") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<div style=text-align:center><p>[foo]<p>bar</div><p>extra" queryCommandState("defaultparagraphseparator") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<div style=text-align:center><p>[foo]<p>bar</div><p>extra" queryCommandValue("defaultparagraphseparator") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<div style=text-align:center><p>[foo]<p>bar</div><p>extra" queryCommandIndeterm("justifyright") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<div style=text-align:center><p>[foo]<p>bar</div><p>extra" queryCommandState("justifyright") before 
-FAIL [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<div style=text-align:center><p>[foo]<p>bar</div><p>extra" queryCommandValue("justifyright") before assert_equals: Wrong result returned expected "center" but got "false"
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<div style=text-align:center><p>[foo]<p>bar</div><p>extra" queryCommandIndeterm("justifyright") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<div style=text-align:center><p>[foo]<p>bar</div><p>extra" queryCommandState("justifyright") after 
-FAIL [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<div style=text-align:center><p>[foo]<p>bar</div><p>extra" queryCommandValue("justifyright") after assert_equals: Wrong result returned expected "right" but got "true"
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<div style=text-align:center><p>[foo]<p>bar</div><p>extra": execCommand("stylewithcss", false, "false") return value 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<div style=text-align:center><p>[foo]<p>bar</div><p>extra": execCommand("defaultparagraphseparator", false, "div") return value 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<div style=text-align:center><p>[foo]<p>bar</div><p>extra": execCommand("justifyright", false, "") return value 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<div style=text-align:center><p>[foo]<p>bar</div><p>extra" checks for modifications to non-editable content 
-FAIL [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<div style=text-align:center><p>[foo]<p>bar</div><p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<div style=\"text-align:center\"><div style=\"text-align:right\"><p>foo</p></div><p>bar</p></div><p>extra</p>" but got "<div style=\"text-align:center\"><p style=\"text-align:right\">foo</p><p>bar</p></div><p>extra</p>"
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<div style=text-align:center><p>[foo]<p>bar</div><p>extra" queryCommandIndeterm("stylewithcss") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<div style=text-align:center><p>[foo]<p>bar</div><p>extra" queryCommandState("stylewithcss") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<div style=text-align:center><p>[foo]<p>bar</div><p>extra" queryCommandValue("stylewithcss") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<div style=text-align:center><p>[foo]<p>bar</div><p>extra" queryCommandIndeterm("stylewithcss") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<div style=text-align:center><p>[foo]<p>bar</div><p>extra" queryCommandState("stylewithcss") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<div style=text-align:center><p>[foo]<p>bar</div><p>extra" queryCommandValue("stylewithcss") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<div style=text-align:center><p>[foo]<p>bar</div><p>extra" queryCommandIndeterm("defaultparagraphseparator") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<div style=text-align:center><p>[foo]<p>bar</div><p>extra" queryCommandState("defaultparagraphseparator") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<div style=text-align:center><p>[foo]<p>bar</div><p>extra" queryCommandValue("defaultparagraphseparator") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<div style=text-align:center><p>[foo]<p>bar</div><p>extra" queryCommandIndeterm("defaultparagraphseparator") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<div style=text-align:center><p>[foo]<p>bar</div><p>extra" queryCommandState("defaultparagraphseparator") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<div style=text-align:center><p>[foo]<p>bar</div><p>extra" queryCommandValue("defaultparagraphseparator") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<div style=text-align:center><p>[foo]<p>bar</div><p>extra" queryCommandIndeterm("justifyright") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<div style=text-align:center><p>[foo]<p>bar</div><p>extra" queryCommandState("justifyright") before 
-FAIL [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<div style=text-align:center><p>[foo]<p>bar</div><p>extra" queryCommandValue("justifyright") before assert_equals: Wrong result returned expected "center" but got "false"
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<div style=text-align:center><p>[foo]<p>bar</div><p>extra" queryCommandIndeterm("justifyright") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<div style=text-align:center><p>[foo]<p>bar</div><p>extra" queryCommandState("justifyright") after 
-FAIL [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<div style=text-align:center><p>[foo]<p>bar</div><p>extra" queryCommandValue("justifyright") after assert_equals: Wrong result returned expected "right" but got "true"
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<div style=text-align:center><p>[foo]<p>bar</div><p>extra": execCommand("stylewithcss", false, "true") return value 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<div style=text-align:center><p>[foo]<p>bar</div><p>extra": execCommand("defaultparagraphseparator", false, "p") return value 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<div style=text-align:center><p>[foo]<p>bar</div><p>extra": execCommand("justifyright", false, "") return value 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<div style=text-align:center><p>[foo]<p>bar</div><p>extra" checks for modifications to non-editable content 
-FAIL [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<div style=text-align:center><p>[foo]<p>bar</div><p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<div style=\"text-align:center\"><div style=\"text-align:right\"><p>foo</p></div><p>bar</p></div><p>extra</p>" but got "<div style=\"text-align:center\"><p style=\"text-align:right\">foo</p><p>bar</p></div><p>extra</p>"
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<div style=text-align:center><p>[foo]<p>bar</div><p>extra" queryCommandIndeterm("stylewithcss") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<div style=text-align:center><p>[foo]<p>bar</div><p>extra" queryCommandState("stylewithcss") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<div style=text-align:center><p>[foo]<p>bar</div><p>extra" queryCommandValue("stylewithcss") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<div style=text-align:center><p>[foo]<p>bar</div><p>extra" queryCommandIndeterm("stylewithcss") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<div style=text-align:center><p>[foo]<p>bar</div><p>extra" queryCommandState("stylewithcss") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<div style=text-align:center><p>[foo]<p>bar</div><p>extra" queryCommandValue("stylewithcss") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<div style=text-align:center><p>[foo]<p>bar</div><p>extra" queryCommandIndeterm("defaultparagraphseparator") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<div style=text-align:center><p>[foo]<p>bar</div><p>extra" queryCommandState("defaultparagraphseparator") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<div style=text-align:center><p>[foo]<p>bar</div><p>extra" queryCommandValue("defaultparagraphseparator") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<div style=text-align:center><p>[foo]<p>bar</div><p>extra" queryCommandIndeterm("defaultparagraphseparator") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<div style=text-align:center><p>[foo]<p>bar</div><p>extra" queryCommandState("defaultparagraphseparator") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<div style=text-align:center><p>[foo]<p>bar</div><p>extra" queryCommandValue("defaultparagraphseparator") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<div style=text-align:center><p>[foo]<p>bar</div><p>extra" queryCommandIndeterm("justifyright") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<div style=text-align:center><p>[foo]<p>bar</div><p>extra" queryCommandState("justifyright") before 
-FAIL [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<div style=text-align:center><p>[foo]<p>bar</div><p>extra" queryCommandValue("justifyright") before assert_equals: Wrong result returned expected "center" but got "false"
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<div style=text-align:center><p>[foo]<p>bar</div><p>extra" queryCommandIndeterm("justifyright") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<div style=text-align:center><p>[foo]<p>bar</div><p>extra" queryCommandState("justifyright") after 
-FAIL [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<div style=text-align:center><p>[foo]<p>bar</div><p>extra" queryCommandValue("justifyright") after assert_equals: Wrong result returned expected "right" but got "true"
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<div style=text-align:center><p>[foo]<p>bar</div><p>extra": execCommand("stylewithcss", false, "false") return value 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<div style=text-align:center><p>[foo]<p>bar</div><p>extra": execCommand("defaultparagraphseparator", false, "p") return value 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<div style=text-align:center><p>[foo]<p>bar</div><p>extra": execCommand("justifyright", false, "") return value 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<div style=text-align:center><p>[foo]<p>bar</div><p>extra" checks for modifications to non-editable content 
-FAIL [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<div style=text-align:center><p>[foo]<p>bar</div><p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<div style=\"text-align:center\"><div style=\"text-align:right\"><p>foo</p></div><p>bar</p></div><p>extra</p>" but got "<div style=\"text-align:center\"><p style=\"text-align:right\">foo</p><p>bar</p></div><p>extra</p>"
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<div style=text-align:center><p>[foo]<p>bar</div><p>extra" queryCommandIndeterm("stylewithcss") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<div style=text-align:center><p>[foo]<p>bar</div><p>extra" queryCommandState("stylewithcss") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<div style=text-align:center><p>[foo]<p>bar</div><p>extra" queryCommandValue("stylewithcss") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<div style=text-align:center><p>[foo]<p>bar</div><p>extra" queryCommandIndeterm("stylewithcss") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<div style=text-align:center><p>[foo]<p>bar</div><p>extra" queryCommandState("stylewithcss") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<div style=text-align:center><p>[foo]<p>bar</div><p>extra" queryCommandValue("stylewithcss") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<div style=text-align:center><p>[foo]<p>bar</div><p>extra" queryCommandIndeterm("defaultparagraphseparator") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<div style=text-align:center><p>[foo]<p>bar</div><p>extra" queryCommandState("defaultparagraphseparator") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<div style=text-align:center><p>[foo]<p>bar</div><p>extra" queryCommandValue("defaultparagraphseparator") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<div style=text-align:center><p>[foo]<p>bar</div><p>extra" queryCommandIndeterm("defaultparagraphseparator") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<div style=text-align:center><p>[foo]<p>bar</div><p>extra" queryCommandState("defaultparagraphseparator") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<div style=text-align:center><p>[foo]<p>bar</div><p>extra" queryCommandValue("defaultparagraphseparator") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<div style=text-align:center><p>[foo]<p>bar</div><p>extra" queryCommandIndeterm("justifyright") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<div style=text-align:center><p>[foo]<p>bar</div><p>extra" queryCommandState("justifyright") before 
-FAIL [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<div style=text-align:center><p>[foo]<p>bar</div><p>extra" queryCommandValue("justifyright") before assert_equals: Wrong result returned expected "center" but got "false"
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<div style=text-align:center><p>[foo]<p>bar</div><p>extra" queryCommandIndeterm("justifyright") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<div style=text-align:center><p>[foo]<p>bar</div><p>extra" queryCommandState("justifyright") after 
-FAIL [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<div style=text-align:center><p>[foo]<p>bar</div><p>extra" queryCommandValue("justifyright") after assert_equals: Wrong result returned expected "right" but got "true"
-PASS [["justifyright",""]] "<div style=text-align:center><p>[foo<p>bar]</div><p>extra": execCommand("justifyright", false, "") return value 
-PASS [["justifyright",""]] "<div style=text-align:center><p>[foo<p>bar]</div><p>extra" checks for modifications to non-editable content 
-FAIL [["justifyright",""]] "<div style=text-align:center><p>[foo<p>bar]</div><p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<div style=\"text-align:right\"><p>foo</p><p>bar</p></div><p>extra</p>" but got "<div style=\"text-align:center\"><p style=\"text-align:right\">foo</p><p style=\"text-align:right\">bar</p></div><p>extra</p>"
-PASS [["justifyright",""]] "<div style=text-align:center><p>[foo<p>bar]</div><p>extra" queryCommandIndeterm("justifyright") before 
-PASS [["justifyright",""]] "<div style=text-align:center><p>[foo<p>bar]</div><p>extra" queryCommandState("justifyright") before 
-FAIL [["justifyright",""]] "<div style=text-align:center><p>[foo<p>bar]</div><p>extra" queryCommandValue("justifyright") before assert_equals: Wrong result returned expected "center" but got "false"
-PASS [["justifyright",""]] "<div style=text-align:center><p>[foo<p>bar]</div><p>extra" queryCommandIndeterm("justifyright") after 
-PASS [["justifyright",""]] "<div style=text-align:center><p>[foo<p>bar]</div><p>extra" queryCommandState("justifyright") after 
-FAIL [["justifyright",""]] "<div style=text-align:center><p>[foo<p>bar]</div><p>extra" queryCommandValue("justifyright") after assert_equals: Wrong result returned expected "right" but got "true"
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<div align=justify><p>[foo]<p>bar</div><p>extra": execCommand("stylewithcss", false, "true") return value 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<div align=justify><p>[foo]<p>bar</div><p>extra": execCommand("defaultparagraphseparator", false, "div") return value 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<div align=justify><p>[foo]<p>bar</div><p>extra": execCommand("justifyright", false, "") return value 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<div align=justify><p>[foo]<p>bar</div><p>extra" checks for modifications to non-editable content 
-FAIL [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<div align=justify><p>[foo]<p>bar</div><p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<div align=\"justify\"><div style=\"text-align:right\"><p>foo</p></div><p>bar</p></div><p>extra</p>" but got "<div align=\"justify\"><p style=\"text-align:right\">foo</p><p>bar</p></div><p>extra</p>"
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<div align=justify><p>[foo]<p>bar</div><p>extra" queryCommandIndeterm("stylewithcss") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<div align=justify><p>[foo]<p>bar</div><p>extra" queryCommandState("stylewithcss") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<div align=justify><p>[foo]<p>bar</div><p>extra" queryCommandValue("stylewithcss") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<div align=justify><p>[foo]<p>bar</div><p>extra" queryCommandIndeterm("stylewithcss") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<div align=justify><p>[foo]<p>bar</div><p>extra" queryCommandState("stylewithcss") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<div align=justify><p>[foo]<p>bar</div><p>extra" queryCommandValue("stylewithcss") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<div align=justify><p>[foo]<p>bar</div><p>extra" queryCommandIndeterm("defaultparagraphseparator") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<div align=justify><p>[foo]<p>bar</div><p>extra" queryCommandState("defaultparagraphseparator") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<div align=justify><p>[foo]<p>bar</div><p>extra" queryCommandValue("defaultparagraphseparator") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<div align=justify><p>[foo]<p>bar</div><p>extra" queryCommandIndeterm("defaultparagraphseparator") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<div align=justify><p>[foo]<p>bar</div><p>extra" queryCommandState("defaultparagraphseparator") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<div align=justify><p>[foo]<p>bar</div><p>extra" queryCommandValue("defaultparagraphseparator") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<div align=justify><p>[foo]<p>bar</div><p>extra" queryCommandIndeterm("justifyright") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<div align=justify><p>[foo]<p>bar</div><p>extra" queryCommandState("justifyright") before 
-FAIL [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<div align=justify><p>[foo]<p>bar</div><p>extra" queryCommandValue("justifyright") before assert_equals: Wrong result returned expected "justify" but got "false"
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<div align=justify><p>[foo]<p>bar</div><p>extra" queryCommandIndeterm("justifyright") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<div align=justify><p>[foo]<p>bar</div><p>extra" queryCommandState("justifyright") after 
-FAIL [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<div align=justify><p>[foo]<p>bar</div><p>extra" queryCommandValue("justifyright") after assert_equals: Wrong result returned expected "right" but got "true"
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<div align=justify><p>[foo]<p>bar</div><p>extra": execCommand("stylewithcss", false, "false") return value 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<div align=justify><p>[foo]<p>bar</div><p>extra": execCommand("defaultparagraphseparator", false, "div") return value 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<div align=justify><p>[foo]<p>bar</div><p>extra": execCommand("justifyright", false, "") return value 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<div align=justify><p>[foo]<p>bar</div><p>extra" checks for modifications to non-editable content 
-FAIL [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<div align=justify><p>[foo]<p>bar</div><p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<div align=\"justify\"><div style=\"text-align:right\"><p>foo</p></div><p>bar</p></div><p>extra</p>" but got "<div align=\"justify\"><p style=\"text-align:right\">foo</p><p>bar</p></div><p>extra</p>"
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<div align=justify><p>[foo]<p>bar</div><p>extra" queryCommandIndeterm("stylewithcss") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<div align=justify><p>[foo]<p>bar</div><p>extra" queryCommandState("stylewithcss") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<div align=justify><p>[foo]<p>bar</div><p>extra" queryCommandValue("stylewithcss") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<div align=justify><p>[foo]<p>bar</div><p>extra" queryCommandIndeterm("stylewithcss") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<div align=justify><p>[foo]<p>bar</div><p>extra" queryCommandState("stylewithcss") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<div align=justify><p>[foo]<p>bar</div><p>extra" queryCommandValue("stylewithcss") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<div align=justify><p>[foo]<p>bar</div><p>extra" queryCommandIndeterm("defaultparagraphseparator") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<div align=justify><p>[foo]<p>bar</div><p>extra" queryCommandState("defaultparagraphseparator") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<div align=justify><p>[foo]<p>bar</div><p>extra" queryCommandValue("defaultparagraphseparator") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<div align=justify><p>[foo]<p>bar</div><p>extra" queryCommandIndeterm("defaultparagraphseparator") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<div align=justify><p>[foo]<p>bar</div><p>extra" queryCommandState("defaultparagraphseparator") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<div align=justify><p>[foo]<p>bar</div><p>extra" queryCommandValue("defaultparagraphseparator") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<div align=justify><p>[foo]<p>bar</div><p>extra" queryCommandIndeterm("justifyright") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<div align=justify><p>[foo]<p>bar</div><p>extra" queryCommandState("justifyright") before 
-FAIL [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<div align=justify><p>[foo]<p>bar</div><p>extra" queryCommandValue("justifyright") before assert_equals: Wrong result returned expected "justify" but got "false"
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<div align=justify><p>[foo]<p>bar</div><p>extra" queryCommandIndeterm("justifyright") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<div align=justify><p>[foo]<p>bar</div><p>extra" queryCommandState("justifyright") after 
-FAIL [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<div align=justify><p>[foo]<p>bar</div><p>extra" queryCommandValue("justifyright") after assert_equals: Wrong result returned expected "right" but got "true"
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<div align=justify><p>[foo]<p>bar</div><p>extra": execCommand("stylewithcss", false, "true") return value 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<div align=justify><p>[foo]<p>bar</div><p>extra": execCommand("defaultparagraphseparator", false, "p") return value 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<div align=justify><p>[foo]<p>bar</div><p>extra": execCommand("justifyright", false, "") return value 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<div align=justify><p>[foo]<p>bar</div><p>extra" checks for modifications to non-editable content 
-FAIL [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<div align=justify><p>[foo]<p>bar</div><p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<div align=\"justify\"><div style=\"text-align:right\"><p>foo</p></div><p>bar</p></div><p>extra</p>" but got "<div align=\"justify\"><p style=\"text-align:right\">foo</p><p>bar</p></div><p>extra</p>"
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<div align=justify><p>[foo]<p>bar</div><p>extra" queryCommandIndeterm("stylewithcss") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<div align=justify><p>[foo]<p>bar</div><p>extra" queryCommandState("stylewithcss") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<div align=justify><p>[foo]<p>bar</div><p>extra" queryCommandValue("stylewithcss") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<div align=justify><p>[foo]<p>bar</div><p>extra" queryCommandIndeterm("stylewithcss") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<div align=justify><p>[foo]<p>bar</div><p>extra" queryCommandState("stylewithcss") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<div align=justify><p>[foo]<p>bar</div><p>extra" queryCommandValue("stylewithcss") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<div align=justify><p>[foo]<p>bar</div><p>extra" queryCommandIndeterm("defaultparagraphseparator") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<div align=justify><p>[foo]<p>bar</div><p>extra" queryCommandState("defaultparagraphseparator") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<div align=justify><p>[foo]<p>bar</div><p>extra" queryCommandValue("defaultparagraphseparator") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<div align=justify><p>[foo]<p>bar</div><p>extra" queryCommandIndeterm("defaultparagraphseparator") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<div align=justify><p>[foo]<p>bar</div><p>extra" queryCommandState("defaultparagraphseparator") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<div align=justify><p>[foo]<p>bar</div><p>extra" queryCommandValue("defaultparagraphseparator") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<div align=justify><p>[foo]<p>bar</div><p>extra" queryCommandIndeterm("justifyright") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<div align=justify><p>[foo]<p>bar</div><p>extra" queryCommandState("justifyright") before 
-FAIL [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<div align=justify><p>[foo]<p>bar</div><p>extra" queryCommandValue("justifyright") before assert_equals: Wrong result returned expected "justify" but got "false"
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<div align=justify><p>[foo]<p>bar</div><p>extra" queryCommandIndeterm("justifyright") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<div align=justify><p>[foo]<p>bar</div><p>extra" queryCommandState("justifyright") after 
-FAIL [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<div align=justify><p>[foo]<p>bar</div><p>extra" queryCommandValue("justifyright") after assert_equals: Wrong result returned expected "right" but got "true"
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<div align=justify><p>[foo]<p>bar</div><p>extra": execCommand("stylewithcss", false, "false") return value 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<div align=justify><p>[foo]<p>bar</div><p>extra": execCommand("defaultparagraphseparator", false, "p") return value 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<div align=justify><p>[foo]<p>bar</div><p>extra": execCommand("justifyright", false, "") return value 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<div align=justify><p>[foo]<p>bar</div><p>extra" checks for modifications to non-editable content 
-FAIL [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<div align=justify><p>[foo]<p>bar</div><p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<div align=\"justify\"><div style=\"text-align:right\"><p>foo</p></div><p>bar</p></div><p>extra</p>" but got "<div align=\"justify\"><p style=\"text-align:right\">foo</p><p>bar</p></div><p>extra</p>"
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<div align=justify><p>[foo]<p>bar</div><p>extra" queryCommandIndeterm("stylewithcss") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<div align=justify><p>[foo]<p>bar</div><p>extra" queryCommandState("stylewithcss") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<div align=justify><p>[foo]<p>bar</div><p>extra" queryCommandValue("stylewithcss") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<div align=justify><p>[foo]<p>bar</div><p>extra" queryCommandIndeterm("stylewithcss") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<div align=justify><p>[foo]<p>bar</div><p>extra" queryCommandState("stylewithcss") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<div align=justify><p>[foo]<p>bar</div><p>extra" queryCommandValue("stylewithcss") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<div align=justify><p>[foo]<p>bar</div><p>extra" queryCommandIndeterm("defaultparagraphseparator") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<div align=justify><p>[foo]<p>bar</div><p>extra" queryCommandState("defaultparagraphseparator") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<div align=justify><p>[foo]<p>bar</div><p>extra" queryCommandValue("defaultparagraphseparator") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<div align=justify><p>[foo]<p>bar</div><p>extra" queryCommandIndeterm("defaultparagraphseparator") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<div align=justify><p>[foo]<p>bar</div><p>extra" queryCommandState("defaultparagraphseparator") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<div align=justify><p>[foo]<p>bar</div><p>extra" queryCommandValue("defaultparagraphseparator") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<div align=justify><p>[foo]<p>bar</div><p>extra" queryCommandIndeterm("justifyright") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<div align=justify><p>[foo]<p>bar</div><p>extra" queryCommandState("justifyright") before 
-FAIL [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<div align=justify><p>[foo]<p>bar</div><p>extra" queryCommandValue("justifyright") before assert_equals: Wrong result returned expected "justify" but got "false"
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<div align=justify><p>[foo]<p>bar</div><p>extra" queryCommandIndeterm("justifyright") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<div align=justify><p>[foo]<p>bar</div><p>extra" queryCommandState("justifyright") after 
-FAIL [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<div align=justify><p>[foo]<p>bar</div><p>extra" queryCommandValue("justifyright") after assert_equals: Wrong result returned expected "right" but got "true"
-PASS [["stylewithcss","true"],["justifyright",""]] "<div align=justify><p>[foo<p>bar}</div><p>extra": execCommand("stylewithcss", false, "true") return value 
-PASS [["stylewithcss","true"],["justifyright",""]] "<div align=justify><p>[foo<p>bar}</div><p>extra": execCommand("justifyright", false, "") return value 
-PASS [["stylewithcss","true"],["justifyright",""]] "<div align=justify><p>[foo<p>bar}</div><p>extra" checks for modifications to non-editable content 
-FAIL [["stylewithcss","true"],["justifyright",""]] "<div align=justify><p>[foo<p>bar}</div><p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<div style=\"text-align:right\"><p>foo</p><p>bar</p></div><p>extra</p>" but got "<div align=\"justify\"><p style=\"text-align:right\">foo</p><p style=\"text-align:right\">bar</p></div><p>extra</p>"
-PASS [["stylewithcss","true"],["justifyright",""]] "<div align=justify><p>[foo<p>bar}</div><p>extra" queryCommandIndeterm("stylewithcss") before 
-PASS [["stylewithcss","true"],["justifyright",""]] "<div align=justify><p>[foo<p>bar}</div><p>extra" queryCommandState("stylewithcss") before 
-PASS [["stylewithcss","true"],["justifyright",""]] "<div align=justify><p>[foo<p>bar}</div><p>extra" queryCommandValue("stylewithcss") before 
-PASS [["stylewithcss","true"],["justifyright",""]] "<div align=justify><p>[foo<p>bar}</div><p>extra" queryCommandIndeterm("stylewithcss") after 
-PASS [["stylewithcss","true"],["justifyright",""]] "<div align=justify><p>[foo<p>bar}</div><p>extra" queryCommandState("stylewithcss") after 
-PASS [["stylewithcss","true"],["justifyright",""]] "<div align=justify><p>[foo<p>bar}</div><p>extra" queryCommandValue("stylewithcss") after 
-PASS [["stylewithcss","true"],["justifyright",""]] "<div align=justify><p>[foo<p>bar}</div><p>extra" queryCommandIndeterm("justifyright") before 
-PASS [["stylewithcss","true"],["justifyright",""]] "<div align=justify><p>[foo<p>bar}</div><p>extra" queryCommandState("justifyright") before 
-FAIL [["stylewithcss","true"],["justifyright",""]] "<div align=justify><p>[foo<p>bar}</div><p>extra" queryCommandValue("justifyright") before assert_equals: Wrong result returned expected "justify" but got "false"
-PASS [["stylewithcss","true"],["justifyright",""]] "<div align=justify><p>[foo<p>bar}</div><p>extra" queryCommandIndeterm("justifyright") after 
-PASS [["stylewithcss","true"],["justifyright",""]] "<div align=justify><p>[foo<p>bar}</div><p>extra" queryCommandState("justifyright") after 
-FAIL [["stylewithcss","true"],["justifyright",""]] "<div align=justify><p>[foo<p>bar}</div><p>extra" queryCommandValue("justifyright") after assert_equals: Wrong result returned expected "right" but got "true"
-PASS [["stylewithcss","false"],["justifyright",""]] "<div align=justify><p>[foo<p>bar}</div><p>extra": execCommand("stylewithcss", false, "false") return value 
-PASS [["stylewithcss","false"],["justifyright",""]] "<div align=justify><p>[foo<p>bar}</div><p>extra": execCommand("justifyright", false, "") return value 
-PASS [["stylewithcss","false"],["justifyright",""]] "<div align=justify><p>[foo<p>bar}</div><p>extra" checks for modifications to non-editable content 
-FAIL [["stylewithcss","false"],["justifyright",""]] "<div align=justify><p>[foo<p>bar}</div><p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<div style=\"text-align:right\"><p>foo</p><p>bar</p></div><p>extra</p>" but got "<div align=\"justify\"><p style=\"text-align:right\">foo</p><p style=\"text-align:right\">bar</p></div><p>extra</p>"
-PASS [["stylewithcss","false"],["justifyright",""]] "<div align=justify><p>[foo<p>bar}</div><p>extra" queryCommandIndeterm("stylewithcss") before 
-PASS [["stylewithcss","false"],["justifyright",""]] "<div align=justify><p>[foo<p>bar}</div><p>extra" queryCommandState("stylewithcss") before 
-PASS [["stylewithcss","false"],["justifyright",""]] "<div align=justify><p>[foo<p>bar}</div><p>extra" queryCommandValue("stylewithcss") before 
-PASS [["stylewithcss","false"],["justifyright",""]] "<div align=justify><p>[foo<p>bar}</div><p>extra" queryCommandIndeterm("stylewithcss") after 
-PASS [["stylewithcss","false"],["justifyright",""]] "<div align=justify><p>[foo<p>bar}</div><p>extra" queryCommandState("stylewithcss") after 
-PASS [["stylewithcss","false"],["justifyright",""]] "<div align=justify><p>[foo<p>bar}</div><p>extra" queryCommandValue("stylewithcss") after 
-PASS [["stylewithcss","false"],["justifyright",""]] "<div align=justify><p>[foo<p>bar}</div><p>extra" queryCommandIndeterm("justifyright") before 
-PASS [["stylewithcss","false"],["justifyright",""]] "<div align=justify><p>[foo<p>bar}</div><p>extra" queryCommandState("justifyright") before 
-FAIL [["stylewithcss","false"],["justifyright",""]] "<div align=justify><p>[foo<p>bar}</div><p>extra" queryCommandValue("justifyright") before assert_equals: Wrong result returned expected "justify" but got "false"
-PASS [["stylewithcss","false"],["justifyright",""]] "<div align=justify><p>[foo<p>bar}</div><p>extra" queryCommandIndeterm("justifyright") after 
-PASS [["stylewithcss","false"],["justifyright",""]] "<div align=justify><p>[foo<p>bar}</div><p>extra" queryCommandState("justifyright") after 
-FAIL [["stylewithcss","false"],["justifyright",""]] "<div align=justify><p>[foo<p>bar}</div><p>extra" queryCommandValue("justifyright") after assert_equals: Wrong result returned expected "right" but got "true"
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<div style=text-align:justify><p>[foo]<p>bar</div><p>extra": execCommand("stylewithcss", false, "true") return value 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<div style=text-align:justify><p>[foo]<p>bar</div><p>extra": execCommand("defaultparagraphseparator", false, "div") return value 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<div style=text-align:justify><p>[foo]<p>bar</div><p>extra": execCommand("justifyright", false, "") return value 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<div style=text-align:justify><p>[foo]<p>bar</div><p>extra" checks for modifications to non-editable content 
-FAIL [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<div style=text-align:justify><p>[foo]<p>bar</div><p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<div style=\"text-align:justify\"><div style=\"text-align:right\"><p>foo</p></div><p>bar</p></div><p>extra</p>" but got "<div style=\"text-align:justify\"><p style=\"text-align:right\">foo</p><p>bar</p></div><p>extra</p>"
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<div style=text-align:justify><p>[foo]<p>bar</div><p>extra" queryCommandIndeterm("stylewithcss") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<div style=text-align:justify><p>[foo]<p>bar</div><p>extra" queryCommandState("stylewithcss") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<div style=text-align:justify><p>[foo]<p>bar</div><p>extra" queryCommandValue("stylewithcss") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<div style=text-align:justify><p>[foo]<p>bar</div><p>extra" queryCommandIndeterm("stylewithcss") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<div style=text-align:justify><p>[foo]<p>bar</div><p>extra" queryCommandState("stylewithcss") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<div style=text-align:justify><p>[foo]<p>bar</div><p>extra" queryCommandValue("stylewithcss") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<div style=text-align:justify><p>[foo]<p>bar</div><p>extra" queryCommandIndeterm("defaultparagraphseparator") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<div style=text-align:justify><p>[foo]<p>bar</div><p>extra" queryCommandState("defaultparagraphseparator") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<div style=text-align:justify><p>[foo]<p>bar</div><p>extra" queryCommandValue("defaultparagraphseparator") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<div style=text-align:justify><p>[foo]<p>bar</div><p>extra" queryCommandIndeterm("defaultparagraphseparator") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<div style=text-align:justify><p>[foo]<p>bar</div><p>extra" queryCommandState("defaultparagraphseparator") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<div style=text-align:justify><p>[foo]<p>bar</div><p>extra" queryCommandValue("defaultparagraphseparator") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<div style=text-align:justify><p>[foo]<p>bar</div><p>extra" queryCommandIndeterm("justifyright") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<div style=text-align:justify><p>[foo]<p>bar</div><p>extra" queryCommandState("justifyright") before 
-FAIL [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<div style=text-align:justify><p>[foo]<p>bar</div><p>extra" queryCommandValue("justifyright") before assert_equals: Wrong result returned expected "justify" but got "false"
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<div style=text-align:justify><p>[foo]<p>bar</div><p>extra" queryCommandIndeterm("justifyright") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<div style=text-align:justify><p>[foo]<p>bar</div><p>extra" queryCommandState("justifyright") after 
-FAIL [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<div style=text-align:justify><p>[foo]<p>bar</div><p>extra" queryCommandValue("justifyright") after assert_equals: Wrong result returned expected "right" but got "true"
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<div style=text-align:justify><p>[foo]<p>bar</div><p>extra": execCommand("stylewithcss", false, "false") return value 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<div style=text-align:justify><p>[foo]<p>bar</div><p>extra": execCommand("defaultparagraphseparator", false, "div") return value 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<div style=text-align:justify><p>[foo]<p>bar</div><p>extra": execCommand("justifyright", false, "") return value 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<div style=text-align:justify><p>[foo]<p>bar</div><p>extra" checks for modifications to non-editable content 
-FAIL [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<div style=text-align:justify><p>[foo]<p>bar</div><p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<div style=\"text-align:justify\"><div style=\"text-align:right\"><p>foo</p></div><p>bar</p></div><p>extra</p>" but got "<div style=\"text-align:justify\"><p style=\"text-align:right\">foo</p><p>bar</p></div><p>extra</p>"
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<div style=text-align:justify><p>[foo]<p>bar</div><p>extra" queryCommandIndeterm("stylewithcss") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<div style=text-align:justify><p>[foo]<p>bar</div><p>extra" queryCommandState("stylewithcss") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<div style=text-align:justify><p>[foo]<p>bar</div><p>extra" queryCommandValue("stylewithcss") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<div style=text-align:justify><p>[foo]<p>bar</div><p>extra" queryCommandIndeterm("stylewithcss") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<div style=text-align:justify><p>[foo]<p>bar</div><p>extra" queryCommandState("stylewithcss") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<div style=text-align:justify><p>[foo]<p>bar</div><p>extra" queryCommandValue("stylewithcss") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<div style=text-align:justify><p>[foo]<p>bar</div><p>extra" queryCommandIndeterm("defaultparagraphseparator") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<div style=text-align:justify><p>[foo]<p>bar</div><p>extra" queryCommandState("defaultparagraphseparator") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<div style=text-align:justify><p>[foo]<p>bar</div><p>extra" queryCommandValue("defaultparagraphseparator") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<div style=text-align:justify><p>[foo]<p>bar</div><p>extra" queryCommandIndeterm("defaultparagraphseparator") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<div style=text-align:justify><p>[foo]<p>bar</div><p>extra" queryCommandState("defaultparagraphseparator") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<div style=text-align:justify><p>[foo]<p>bar</div><p>extra" queryCommandValue("defaultparagraphseparator") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<div style=text-align:justify><p>[foo]<p>bar</div><p>extra" queryCommandIndeterm("justifyright") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<div style=text-align:justify><p>[foo]<p>bar</div><p>extra" queryCommandState("justifyright") before 
-FAIL [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<div style=text-align:justify><p>[foo]<p>bar</div><p>extra" queryCommandValue("justifyright") before assert_equals: Wrong result returned expected "justify" but got "false"
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<div style=text-align:justify><p>[foo]<p>bar</div><p>extra" queryCommandIndeterm("justifyright") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<div style=text-align:justify><p>[foo]<p>bar</div><p>extra" queryCommandState("justifyright") after 
-FAIL [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<div style=text-align:justify><p>[foo]<p>bar</div><p>extra" queryCommandValue("justifyright") after assert_equals: Wrong result returned expected "right" but got "true"
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<div style=text-align:justify><p>[foo]<p>bar</div><p>extra": execCommand("stylewithcss", false, "true") return value 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<div style=text-align:justify><p>[foo]<p>bar</div><p>extra": execCommand("defaultparagraphseparator", false, "p") return value 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<div style=text-align:justify><p>[foo]<p>bar</div><p>extra": execCommand("justifyright", false, "") return value 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<div style=text-align:justify><p>[foo]<p>bar</div><p>extra" checks for modifications to non-editable content 
-FAIL [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<div style=text-align:justify><p>[foo]<p>bar</div><p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<div style=\"text-align:justify\"><div style=\"text-align:right\"><p>foo</p></div><p>bar</p></div><p>extra</p>" but got "<div style=\"text-align:justify\"><p style=\"text-align:right\">foo</p><p>bar</p></div><p>extra</p>"
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<div style=text-align:justify><p>[foo]<p>bar</div><p>extra" queryCommandIndeterm("stylewithcss") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<div style=text-align:justify><p>[foo]<p>bar</div><p>extra" queryCommandState("stylewithcss") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<div style=text-align:justify><p>[foo]<p>bar</div><p>extra" queryCommandValue("stylewithcss") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<div style=text-align:justify><p>[foo]<p>bar</div><p>extra" queryCommandIndeterm("stylewithcss") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<div style=text-align:justify><p>[foo]<p>bar</div><p>extra" queryCommandState("stylewithcss") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<div style=text-align:justify><p>[foo]<p>bar</div><p>extra" queryCommandValue("stylewithcss") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<div style=text-align:justify><p>[foo]<p>bar</div><p>extra" queryCommandIndeterm("defaultparagraphseparator") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<div style=text-align:justify><p>[foo]<p>bar</div><p>extra" queryCommandState("defaultparagraphseparator") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<div style=text-align:justify><p>[foo]<p>bar</div><p>extra" queryCommandValue("defaultparagraphseparator") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<div style=text-align:justify><p>[foo]<p>bar</div><p>extra" queryCommandIndeterm("defaultparagraphseparator") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<div style=text-align:justify><p>[foo]<p>bar</div><p>extra" queryCommandState("defaultparagraphseparator") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<div style=text-align:justify><p>[foo]<p>bar</div><p>extra" queryCommandValue("defaultparagraphseparator") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<div style=text-align:justify><p>[foo]<p>bar</div><p>extra" queryCommandIndeterm("justifyright") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<div style=text-align:justify><p>[foo]<p>bar</div><p>extra" queryCommandState("justifyright") before 
-FAIL [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<div style=text-align:justify><p>[foo]<p>bar</div><p>extra" queryCommandValue("justifyright") before assert_equals: Wrong result returned expected "justify" but got "false"
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<div style=text-align:justify><p>[foo]<p>bar</div><p>extra" queryCommandIndeterm("justifyright") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<div style=text-align:justify><p>[foo]<p>bar</div><p>extra" queryCommandState("justifyright") after 
-FAIL [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<div style=text-align:justify><p>[foo]<p>bar</div><p>extra" queryCommandValue("justifyright") after assert_equals: Wrong result returned expected "right" but got "true"
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<div style=text-align:justify><p>[foo]<p>bar</div><p>extra": execCommand("stylewithcss", false, "false") return value 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<div style=text-align:justify><p>[foo]<p>bar</div><p>extra": execCommand("defaultparagraphseparator", false, "p") return value 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<div style=text-align:justify><p>[foo]<p>bar</div><p>extra": execCommand("justifyright", false, "") return value 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<div style=text-align:justify><p>[foo]<p>bar</div><p>extra" checks for modifications to non-editable content 
-FAIL [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<div style=text-align:justify><p>[foo]<p>bar</div><p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<div style=\"text-align:justify\"><div style=\"text-align:right\"><p>foo</p></div><p>bar</p></div><p>extra</p>" but got "<div style=\"text-align:justify\"><p style=\"text-align:right\">foo</p><p>bar</p></div><p>extra</p>"
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<div style=text-align:justify><p>[foo]<p>bar</div><p>extra" queryCommandIndeterm("stylewithcss") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<div style=text-align:justify><p>[foo]<p>bar</div><p>extra" queryCommandState("stylewithcss") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<div style=text-align:justify><p>[foo]<p>bar</div><p>extra" queryCommandValue("stylewithcss") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<div style=text-align:justify><p>[foo]<p>bar</div><p>extra" queryCommandIndeterm("stylewithcss") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<div style=text-align:justify><p>[foo]<p>bar</div><p>extra" queryCommandState("stylewithcss") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<div style=text-align:justify><p>[foo]<p>bar</div><p>extra" queryCommandValue("stylewithcss") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<div style=text-align:justify><p>[foo]<p>bar</div><p>extra" queryCommandIndeterm("defaultparagraphseparator") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<div style=text-align:justify><p>[foo]<p>bar</div><p>extra" queryCommandState("defaultparagraphseparator") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<div style=text-align:justify><p>[foo]<p>bar</div><p>extra" queryCommandValue("defaultparagraphseparator") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<div style=text-align:justify><p>[foo]<p>bar</div><p>extra" queryCommandIndeterm("defaultparagraphseparator") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<div style=text-align:justify><p>[foo]<p>bar</div><p>extra" queryCommandState("defaultparagraphseparator") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<div style=text-align:justify><p>[foo]<p>bar</div><p>extra" queryCommandValue("defaultparagraphseparator") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<div style=text-align:justify><p>[foo]<p>bar</div><p>extra" queryCommandIndeterm("justifyright") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<div style=text-align:justify><p>[foo]<p>bar</div><p>extra" queryCommandState("justifyright") before 
-FAIL [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<div style=text-align:justify><p>[foo]<p>bar</div><p>extra" queryCommandValue("justifyright") before assert_equals: Wrong result returned expected "justify" but got "false"
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<div style=text-align:justify><p>[foo]<p>bar</div><p>extra" queryCommandIndeterm("justifyright") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<div style=text-align:justify><p>[foo]<p>bar</div><p>extra" queryCommandState("justifyright") after 
-FAIL [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<div style=text-align:justify><p>[foo]<p>bar</div><p>extra" queryCommandValue("justifyright") after assert_equals: Wrong result returned expected "right" but got "true"
-PASS [["justifyright",""]] "<div style=text-align:justify><p>[foo<p>bar]</div><p>extra": execCommand("justifyright", false, "") return value 
-PASS [["justifyright",""]] "<div style=text-align:justify><p>[foo<p>bar]</div><p>extra" checks for modifications to non-editable content 
-FAIL [["justifyright",""]] "<div style=text-align:justify><p>[foo<p>bar]</div><p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<div style=\"text-align:right\"><p>foo</p><p>bar</p></div><p>extra</p>" but got "<div style=\"text-align:justify\"><p style=\"text-align:right\">foo</p><p style=\"text-align:right\">bar</p></div><p>extra</p>"
-PASS [["justifyright",""]] "<div style=text-align:justify><p>[foo<p>bar]</div><p>extra" queryCommandIndeterm("justifyright") before 
-PASS [["justifyright",""]] "<div style=text-align:justify><p>[foo<p>bar]</div><p>extra" queryCommandState("justifyright") before 
-FAIL [["justifyright",""]] "<div style=text-align:justify><p>[foo<p>bar]</div><p>extra" queryCommandValue("justifyright") before assert_equals: Wrong result returned expected "justify" but got "false"
-PASS [["justifyright",""]] "<div style=text-align:justify><p>[foo<p>bar]</div><p>extra" queryCommandIndeterm("justifyright") after 
-PASS [["justifyright",""]] "<div style=text-align:justify><p>[foo<p>bar]</div><p>extra" queryCommandState("justifyright") after 
-FAIL [["justifyright",""]] "<div style=text-align:justify><p>[foo<p>bar]</div><p>extra" queryCommandValue("justifyright") after assert_equals: Wrong result returned expected "right" but got "true"
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<div align=left><p>[foo]<p>bar</div><p>extra": execCommand("stylewithcss", false, "true") return value 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<div align=left><p>[foo]<p>bar</div><p>extra": execCommand("defaultparagraphseparator", false, "div") return value 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<div align=left><p>[foo]<p>bar</div><p>extra": execCommand("justifyright", false, "") return value 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<div align=left><p>[foo]<p>bar</div><p>extra" checks for modifications to non-editable content 
-FAIL [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<div align=left><p>[foo]<p>bar</div><p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<div align=\"left\"><div style=\"text-align:right\"><p>foo</p></div><p>bar</p></div><p>extra</p>" but got "<div align=\"left\"><p style=\"text-align:right\">foo</p><p>bar</p></div><p>extra</p>"
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<div align=left><p>[foo]<p>bar</div><p>extra" queryCommandIndeterm("stylewithcss") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<div align=left><p>[foo]<p>bar</div><p>extra" queryCommandState("stylewithcss") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<div align=left><p>[foo]<p>bar</div><p>extra" queryCommandValue("stylewithcss") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<div align=left><p>[foo]<p>bar</div><p>extra" queryCommandIndeterm("stylewithcss") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<div align=left><p>[foo]<p>bar</div><p>extra" queryCommandState("stylewithcss") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<div align=left><p>[foo]<p>bar</div><p>extra" queryCommandValue("stylewithcss") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<div align=left><p>[foo]<p>bar</div><p>extra" queryCommandIndeterm("defaultparagraphseparator") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<div align=left><p>[foo]<p>bar</div><p>extra" queryCommandState("defaultparagraphseparator") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<div align=left><p>[foo]<p>bar</div><p>extra" queryCommandValue("defaultparagraphseparator") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<div align=left><p>[foo]<p>bar</div><p>extra" queryCommandIndeterm("defaultparagraphseparator") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<div align=left><p>[foo]<p>bar</div><p>extra" queryCommandState("defaultparagraphseparator") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<div align=left><p>[foo]<p>bar</div><p>extra" queryCommandValue("defaultparagraphseparator") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<div align=left><p>[foo]<p>bar</div><p>extra" queryCommandIndeterm("justifyright") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<div align=left><p>[foo]<p>bar</div><p>extra" queryCommandState("justifyright") before 
-FAIL [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<div align=left><p>[foo]<p>bar</div><p>extra" queryCommandValue("justifyright") before assert_equals: Wrong result returned expected "left" but got "false"
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<div align=left><p>[foo]<p>bar</div><p>extra" queryCommandIndeterm("justifyright") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<div align=left><p>[foo]<p>bar</div><p>extra" queryCommandState("justifyright") after 
-FAIL [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<div align=left><p>[foo]<p>bar</div><p>extra" queryCommandValue("justifyright") after assert_equals: Wrong result returned expected "right" but got "true"
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<div align=left><p>[foo]<p>bar</div><p>extra": execCommand("stylewithcss", false, "false") return value 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<div align=left><p>[foo]<p>bar</div><p>extra": execCommand("defaultparagraphseparator", false, "div") return value 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<div align=left><p>[foo]<p>bar</div><p>extra": execCommand("justifyright", false, "") return value 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<div align=left><p>[foo]<p>bar</div><p>extra" checks for modifications to non-editable content 
-FAIL [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<div align=left><p>[foo]<p>bar</div><p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<div align=\"left\"><div style=\"text-align:right\"><p>foo</p></div><p>bar</p></div><p>extra</p>" but got "<div align=\"left\"><p style=\"text-align:right\">foo</p><p>bar</p></div><p>extra</p>"
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<div align=left><p>[foo]<p>bar</div><p>extra" queryCommandIndeterm("stylewithcss") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<div align=left><p>[foo]<p>bar</div><p>extra" queryCommandState("stylewithcss") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<div align=left><p>[foo]<p>bar</div><p>extra" queryCommandValue("stylewithcss") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<div align=left><p>[foo]<p>bar</div><p>extra" queryCommandIndeterm("stylewithcss") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<div align=left><p>[foo]<p>bar</div><p>extra" queryCommandState("stylewithcss") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<div align=left><p>[foo]<p>bar</div><p>extra" queryCommandValue("stylewithcss") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<div align=left><p>[foo]<p>bar</div><p>extra" queryCommandIndeterm("defaultparagraphseparator") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<div align=left><p>[foo]<p>bar</div><p>extra" queryCommandState("defaultparagraphseparator") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<div align=left><p>[foo]<p>bar</div><p>extra" queryCommandValue("defaultparagraphseparator") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<div align=left><p>[foo]<p>bar</div><p>extra" queryCommandIndeterm("defaultparagraphseparator") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<div align=left><p>[foo]<p>bar</div><p>extra" queryCommandState("defaultparagraphseparator") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<div align=left><p>[foo]<p>bar</div><p>extra" queryCommandValue("defaultparagraphseparator") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<div align=left><p>[foo]<p>bar</div><p>extra" queryCommandIndeterm("justifyright") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<div align=left><p>[foo]<p>bar</div><p>extra" queryCommandState("justifyright") before 
-FAIL [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<div align=left><p>[foo]<p>bar</div><p>extra" queryCommandValue("justifyright") before assert_equals: Wrong result returned expected "left" but got "false"
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<div align=left><p>[foo]<p>bar</div><p>extra" queryCommandIndeterm("justifyright") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<div align=left><p>[foo]<p>bar</div><p>extra" queryCommandState("justifyright") after 
-FAIL [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<div align=left><p>[foo]<p>bar</div><p>extra" queryCommandValue("justifyright") after assert_equals: Wrong result returned expected "right" but got "true"
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<div align=left><p>[foo]<p>bar</div><p>extra": execCommand("stylewithcss", false, "true") return value 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<div align=left><p>[foo]<p>bar</div><p>extra": execCommand("defaultparagraphseparator", false, "p") return value 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<div align=left><p>[foo]<p>bar</div><p>extra": execCommand("justifyright", false, "") return value 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<div align=left><p>[foo]<p>bar</div><p>extra" checks for modifications to non-editable content 
-FAIL [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<div align=left><p>[foo]<p>bar</div><p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<div align=\"left\"><div style=\"text-align:right\"><p>foo</p></div><p>bar</p></div><p>extra</p>" but got "<div align=\"left\"><p style=\"text-align:right\">foo</p><p>bar</p></div><p>extra</p>"
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<div align=left><p>[foo]<p>bar</div><p>extra" queryCommandIndeterm("stylewithcss") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<div align=left><p>[foo]<p>bar</div><p>extra" queryCommandState("stylewithcss") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<div align=left><p>[foo]<p>bar</div><p>extra" queryCommandValue("stylewithcss") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<div align=left><p>[foo]<p>bar</div><p>extra" queryCommandIndeterm("stylewithcss") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<div align=left><p>[foo]<p>bar</div><p>extra" queryCommandState("stylewithcss") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<div align=left><p>[foo]<p>bar</div><p>extra" queryCommandValue("stylewithcss") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<div align=left><p>[foo]<p>bar</div><p>extra" queryCommandIndeterm("defaultparagraphseparator") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<div align=left><p>[foo]<p>bar</div><p>extra" queryCommandState("defaultparagraphseparator") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<div align=left><p>[foo]<p>bar</div><p>extra" queryCommandValue("defaultparagraphseparator") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<div align=left><p>[foo]<p>bar</div><p>extra" queryCommandIndeterm("defaultparagraphseparator") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<div align=left><p>[foo]<p>bar</div><p>extra" queryCommandState("defaultparagraphseparator") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<div align=left><p>[foo]<p>bar</div><p>extra" queryCommandValue("defaultparagraphseparator") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<div align=left><p>[foo]<p>bar</div><p>extra" queryCommandIndeterm("justifyright") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<div align=left><p>[foo]<p>bar</div><p>extra" queryCommandState("justifyright") before 
-FAIL [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<div align=left><p>[foo]<p>bar</div><p>extra" queryCommandValue("justifyright") before assert_equals: Wrong result returned expected "left" but got "false"
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<div align=left><p>[foo]<p>bar</div><p>extra" queryCommandIndeterm("justifyright") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<div align=left><p>[foo]<p>bar</div><p>extra" queryCommandState("justifyright") after 
-FAIL [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<div align=left><p>[foo]<p>bar</div><p>extra" queryCommandValue("justifyright") after assert_equals: Wrong result returned expected "right" but got "true"
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<div align=left><p>[foo]<p>bar</div><p>extra": execCommand("stylewithcss", false, "false") return value 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<div align=left><p>[foo]<p>bar</div><p>extra": execCommand("defaultparagraphseparator", false, "p") return value 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<div align=left><p>[foo]<p>bar</div><p>extra": execCommand("justifyright", false, "") return value 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<div align=left><p>[foo]<p>bar</div><p>extra" checks for modifications to non-editable content 
-FAIL [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<div align=left><p>[foo]<p>bar</div><p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<div align=\"left\"><div style=\"text-align:right\"><p>foo</p></div><p>bar</p></div><p>extra</p>" but got "<div align=\"left\"><p style=\"text-align:right\">foo</p><p>bar</p></div><p>extra</p>"
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<div align=left><p>[foo]<p>bar</div><p>extra" queryCommandIndeterm("stylewithcss") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<div align=left><p>[foo]<p>bar</div><p>extra" queryCommandState("stylewithcss") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<div align=left><p>[foo]<p>bar</div><p>extra" queryCommandValue("stylewithcss") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<div align=left><p>[foo]<p>bar</div><p>extra" queryCommandIndeterm("stylewithcss") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<div align=left><p>[foo]<p>bar</div><p>extra" queryCommandState("stylewithcss") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<div align=left><p>[foo]<p>bar</div><p>extra" queryCommandValue("stylewithcss") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<div align=left><p>[foo]<p>bar</div><p>extra" queryCommandIndeterm("defaultparagraphseparator") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<div align=left><p>[foo]<p>bar</div><p>extra" queryCommandState("defaultparagraphseparator") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<div align=left><p>[foo]<p>bar</div><p>extra" queryCommandValue("defaultparagraphseparator") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<div align=left><p>[foo]<p>bar</div><p>extra" queryCommandIndeterm("defaultparagraphseparator") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<div align=left><p>[foo]<p>bar</div><p>extra" queryCommandState("defaultparagraphseparator") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<div align=left><p>[foo]<p>bar</div><p>extra" queryCommandValue("defaultparagraphseparator") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<div align=left><p>[foo]<p>bar</div><p>extra" queryCommandIndeterm("justifyright") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<div align=left><p>[foo]<p>bar</div><p>extra" queryCommandState("justifyright") before 
-FAIL [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<div align=left><p>[foo]<p>bar</div><p>extra" queryCommandValue("justifyright") before assert_equals: Wrong result returned expected "left" but got "false"
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<div align=left><p>[foo]<p>bar</div><p>extra" queryCommandIndeterm("justifyright") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<div align=left><p>[foo]<p>bar</div><p>extra" queryCommandState("justifyright") after 
-FAIL [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<div align=left><p>[foo]<p>bar</div><p>extra" queryCommandValue("justifyright") after assert_equals: Wrong result returned expected "right" but got "true"
-PASS [["stylewithcss","true"],["justifyright",""]] "<div align=left><p>[foo<p>bar}</div><p>extra": execCommand("stylewithcss", false, "true") return value 
-PASS [["stylewithcss","true"],["justifyright",""]] "<div align=left><p>[foo<p>bar}</div><p>extra": execCommand("justifyright", false, "") return value 
-PASS [["stylewithcss","true"],["justifyright",""]] "<div align=left><p>[foo<p>bar}</div><p>extra" checks for modifications to non-editable content 
-FAIL [["stylewithcss","true"],["justifyright",""]] "<div align=left><p>[foo<p>bar}</div><p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<div style=\"text-align:right\"><p>foo</p><p>bar</p></div><p>extra</p>" but got "<div align=\"left\"><p style=\"text-align:right\">foo</p><p style=\"text-align:right\">bar</p></div><p>extra</p>"
-PASS [["stylewithcss","true"],["justifyright",""]] "<div align=left><p>[foo<p>bar}</div><p>extra" queryCommandIndeterm("stylewithcss") before 
-PASS [["stylewithcss","true"],["justifyright",""]] "<div align=left><p>[foo<p>bar}</div><p>extra" queryCommandState("stylewithcss") before 
-PASS [["stylewithcss","true"],["justifyright",""]] "<div align=left><p>[foo<p>bar}</div><p>extra" queryCommandValue("stylewithcss") before 
-PASS [["stylewithcss","true"],["justifyright",""]] "<div align=left><p>[foo<p>bar}</div><p>extra" queryCommandIndeterm("stylewithcss") after 
-PASS [["stylewithcss","true"],["justifyright",""]] "<div align=left><p>[foo<p>bar}</div><p>extra" queryCommandState("stylewithcss") after 
-PASS [["stylewithcss","true"],["justifyright",""]] "<div align=left><p>[foo<p>bar}</div><p>extra" queryCommandValue("stylewithcss") after 
-PASS [["stylewithcss","true"],["justifyright",""]] "<div align=left><p>[foo<p>bar}</div><p>extra" queryCommandIndeterm("justifyright") before 
-PASS [["stylewithcss","true"],["justifyright",""]] "<div align=left><p>[foo<p>bar}</div><p>extra" queryCommandState("justifyright") before 
-FAIL [["stylewithcss","true"],["justifyright",""]] "<div align=left><p>[foo<p>bar}</div><p>extra" queryCommandValue("justifyright") before assert_equals: Wrong result returned expected "left" but got "false"
-PASS [["stylewithcss","true"],["justifyright",""]] "<div align=left><p>[foo<p>bar}</div><p>extra" queryCommandIndeterm("justifyright") after 
-PASS [["stylewithcss","true"],["justifyright",""]] "<div align=left><p>[foo<p>bar}</div><p>extra" queryCommandState("justifyright") after 
-FAIL [["stylewithcss","true"],["justifyright",""]] "<div align=left><p>[foo<p>bar}</div><p>extra" queryCommandValue("justifyright") after assert_equals: Wrong result returned expected "right" but got "true"
-PASS [["stylewithcss","false"],["justifyright",""]] "<div align=left><p>[foo<p>bar}</div><p>extra": execCommand("stylewithcss", false, "false") return value 
-PASS [["stylewithcss","false"],["justifyright",""]] "<div align=left><p>[foo<p>bar}</div><p>extra": execCommand("justifyright", false, "") return value 
-PASS [["stylewithcss","false"],["justifyright",""]] "<div align=left><p>[foo<p>bar}</div><p>extra" checks for modifications to non-editable content 
-FAIL [["stylewithcss","false"],["justifyright",""]] "<div align=left><p>[foo<p>bar}</div><p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<div style=\"text-align:right\"><p>foo</p><p>bar</p></div><p>extra</p>" but got "<div align=\"left\"><p style=\"text-align:right\">foo</p><p style=\"text-align:right\">bar</p></div><p>extra</p>"
-PASS [["stylewithcss","false"],["justifyright",""]] "<div align=left><p>[foo<p>bar}</div><p>extra" queryCommandIndeterm("stylewithcss") before 
-PASS [["stylewithcss","false"],["justifyright",""]] "<div align=left><p>[foo<p>bar}</div><p>extra" queryCommandState("stylewithcss") before 
-PASS [["stylewithcss","false"],["justifyright",""]] "<div align=left><p>[foo<p>bar}</div><p>extra" queryCommandValue("stylewithcss") before 
-PASS [["stylewithcss","false"],["justifyright",""]] "<div align=left><p>[foo<p>bar}</div><p>extra" queryCommandIndeterm("stylewithcss") after 
-PASS [["stylewithcss","false"],["justifyright",""]] "<div align=left><p>[foo<p>bar}</div><p>extra" queryCommandState("stylewithcss") after 
-PASS [["stylewithcss","false"],["justifyright",""]] "<div align=left><p>[foo<p>bar}</div><p>extra" queryCommandValue("stylewithcss") after 
-PASS [["stylewithcss","false"],["justifyright",""]] "<div align=left><p>[foo<p>bar}</div><p>extra" queryCommandIndeterm("justifyright") before 
-PASS [["stylewithcss","false"],["justifyright",""]] "<div align=left><p>[foo<p>bar}</div><p>extra" queryCommandState("justifyright") before 
-FAIL [["stylewithcss","false"],["justifyright",""]] "<div align=left><p>[foo<p>bar}</div><p>extra" queryCommandValue("justifyright") before assert_equals: Wrong result returned expected "left" but got "false"
-PASS [["stylewithcss","false"],["justifyright",""]] "<div align=left><p>[foo<p>bar}</div><p>extra" queryCommandIndeterm("justifyright") after 
-PASS [["stylewithcss","false"],["justifyright",""]] "<div align=left><p>[foo<p>bar}</div><p>extra" queryCommandState("justifyright") after 
-FAIL [["stylewithcss","false"],["justifyright",""]] "<div align=left><p>[foo<p>bar}</div><p>extra" queryCommandValue("justifyright") after assert_equals: Wrong result returned expected "right" but got "true"
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<div style=text-align:left><p>[foo]<p>bar</div><p>extra": execCommand("stylewithcss", false, "true") return value 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<div style=text-align:left><p>[foo]<p>bar</div><p>extra": execCommand("defaultparagraphseparator", false, "div") return value 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<div style=text-align:left><p>[foo]<p>bar</div><p>extra": execCommand("justifyright", false, "") return value 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<div style=text-align:left><p>[foo]<p>bar</div><p>extra" checks for modifications to non-editable content 
-FAIL [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<div style=text-align:left><p>[foo]<p>bar</div><p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<div style=\"text-align:left\"><div style=\"text-align:right\"><p>foo</p></div><p>bar</p></div><p>extra</p>" but got "<div style=\"text-align:left\"><p style=\"text-align:right\">foo</p><p>bar</p></div><p>extra</p>"
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<div style=text-align:left><p>[foo]<p>bar</div><p>extra" queryCommandIndeterm("stylewithcss") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<div style=text-align:left><p>[foo]<p>bar</div><p>extra" queryCommandState("stylewithcss") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<div style=text-align:left><p>[foo]<p>bar</div><p>extra" queryCommandValue("stylewithcss") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<div style=text-align:left><p>[foo]<p>bar</div><p>extra" queryCommandIndeterm("stylewithcss") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<div style=text-align:left><p>[foo]<p>bar</div><p>extra" queryCommandState("stylewithcss") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<div style=text-align:left><p>[foo]<p>bar</div><p>extra" queryCommandValue("stylewithcss") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<div style=text-align:left><p>[foo]<p>bar</div><p>extra" queryCommandIndeterm("defaultparagraphseparator") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<div style=text-align:left><p>[foo]<p>bar</div><p>extra" queryCommandState("defaultparagraphseparator") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<div style=text-align:left><p>[foo]<p>bar</div><p>extra" queryCommandValue("defaultparagraphseparator") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<div style=text-align:left><p>[foo]<p>bar</div><p>extra" queryCommandIndeterm("defaultparagraphseparator") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<div style=text-align:left><p>[foo]<p>bar</div><p>extra" queryCommandState("defaultparagraphseparator") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<div style=text-align:left><p>[foo]<p>bar</div><p>extra" queryCommandValue("defaultparagraphseparator") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<div style=text-align:left><p>[foo]<p>bar</div><p>extra" queryCommandIndeterm("justifyright") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<div style=text-align:left><p>[foo]<p>bar</div><p>extra" queryCommandState("justifyright") before 
-FAIL [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<div style=text-align:left><p>[foo]<p>bar</div><p>extra" queryCommandValue("justifyright") before assert_equals: Wrong result returned expected "left" but got "false"
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<div style=text-align:left><p>[foo]<p>bar</div><p>extra" queryCommandIndeterm("justifyright") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<div style=text-align:left><p>[foo]<p>bar</div><p>extra" queryCommandState("justifyright") after 
-FAIL [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<div style=text-align:left><p>[foo]<p>bar</div><p>extra" queryCommandValue("justifyright") after assert_equals: Wrong result returned expected "right" but got "true"
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<div style=text-align:left><p>[foo]<p>bar</div><p>extra": execCommand("stylewithcss", false, "false") return value 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<div style=text-align:left><p>[foo]<p>bar</div><p>extra": execCommand("defaultparagraphseparator", false, "div") return value 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<div style=text-align:left><p>[foo]<p>bar</div><p>extra": execCommand("justifyright", false, "") return value 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<div style=text-align:left><p>[foo]<p>bar</div><p>extra" checks for modifications to non-editable content 
-FAIL [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<div style=text-align:left><p>[foo]<p>bar</div><p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<div style=\"text-align:left\"><div style=\"text-align:right\"><p>foo</p></div><p>bar</p></div><p>extra</p>" but got "<div style=\"text-align:left\"><p style=\"text-align:right\">foo</p><p>bar</p></div><p>extra</p>"
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<div style=text-align:left><p>[foo]<p>bar</div><p>extra" queryCommandIndeterm("stylewithcss") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<div style=text-align:left><p>[foo]<p>bar</div><p>extra" queryCommandState("stylewithcss") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<div style=text-align:left><p>[foo]<p>bar</div><p>extra" queryCommandValue("stylewithcss") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<div style=text-align:left><p>[foo]<p>bar</div><p>extra" queryCommandIndeterm("stylewithcss") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<div style=text-align:left><p>[foo]<p>bar</div><p>extra" queryCommandState("stylewithcss") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<div style=text-align:left><p>[foo]<p>bar</div><p>extra" queryCommandValue("stylewithcss") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<div style=text-align:left><p>[foo]<p>bar</div><p>extra" queryCommandIndeterm("defaultparagraphseparator") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<div style=text-align:left><p>[foo]<p>bar</div><p>extra" queryCommandState("defaultparagraphseparator") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<div style=text-align:left><p>[foo]<p>bar</div><p>extra" queryCommandValue("defaultparagraphseparator") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<div style=text-align:left><p>[foo]<p>bar</div><p>extra" queryCommandIndeterm("defaultparagraphseparator") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<div style=text-align:left><p>[foo]<p>bar</div><p>extra" queryCommandState("defaultparagraphseparator") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<div style=text-align:left><p>[foo]<p>bar</div><p>extra" queryCommandValue("defaultparagraphseparator") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<div style=text-align:left><p>[foo]<p>bar</div><p>extra" queryCommandIndeterm("justifyright") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<div style=text-align:left><p>[foo]<p>bar</div><p>extra" queryCommandState("justifyright") before 
-FAIL [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<div style=text-align:left><p>[foo]<p>bar</div><p>extra" queryCommandValue("justifyright") before assert_equals: Wrong result returned expected "left" but got "false"
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<div style=text-align:left><p>[foo]<p>bar</div><p>extra" queryCommandIndeterm("justifyright") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<div style=text-align:left><p>[foo]<p>bar</div><p>extra" queryCommandState("justifyright") after 
-FAIL [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<div style=text-align:left><p>[foo]<p>bar</div><p>extra" queryCommandValue("justifyright") after assert_equals: Wrong result returned expected "right" but got "true"
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<div style=text-align:left><p>[foo]<p>bar</div><p>extra": execCommand("stylewithcss", false, "true") return value 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<div style=text-align:left><p>[foo]<p>bar</div><p>extra": execCommand("defaultparagraphseparator", false, "p") return value 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<div style=text-align:left><p>[foo]<p>bar</div><p>extra": execCommand("justifyright", false, "") return value 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<div style=text-align:left><p>[foo]<p>bar</div><p>extra" checks for modifications to non-editable content 
-FAIL [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<div style=text-align:left><p>[foo]<p>bar</div><p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<div style=\"text-align:left\"><div style=\"text-align:right\"><p>foo</p></div><p>bar</p></div><p>extra</p>" but got "<div style=\"text-align:left\"><p style=\"text-align:right\">foo</p><p>bar</p></div><p>extra</p>"
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<div style=text-align:left><p>[foo]<p>bar</div><p>extra" queryCommandIndeterm("stylewithcss") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<div style=text-align:left><p>[foo]<p>bar</div><p>extra" queryCommandState("stylewithcss") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<div style=text-align:left><p>[foo]<p>bar</div><p>extra" queryCommandValue("stylewithcss") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<div style=text-align:left><p>[foo]<p>bar</div><p>extra" queryCommandIndeterm("stylewithcss") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<div style=text-align:left><p>[foo]<p>bar</div><p>extra" queryCommandState("stylewithcss") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<div style=text-align:left><p>[foo]<p>bar</div><p>extra" queryCommandValue("stylewithcss") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<div style=text-align:left><p>[foo]<p>bar</div><p>extra" queryCommandIndeterm("defaultparagraphseparator") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<div style=text-align:left><p>[foo]<p>bar</div><p>extra" queryCommandState("defaultparagraphseparator") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<div style=text-align:left><p>[foo]<p>bar</div><p>extra" queryCommandValue("defaultparagraphseparator") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<div style=text-align:left><p>[foo]<p>bar</div><p>extra" queryCommandIndeterm("defaultparagraphseparator") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<div style=text-align:left><p>[foo]<p>bar</div><p>extra" queryCommandState("defaultparagraphseparator") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<div style=text-align:left><p>[foo]<p>bar</div><p>extra" queryCommandValue("defaultparagraphseparator") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<div style=text-align:left><p>[foo]<p>bar</div><p>extra" queryCommandIndeterm("justifyright") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<div style=text-align:left><p>[foo]<p>bar</div><p>extra" queryCommandState("justifyright") before 
-FAIL [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<div style=text-align:left><p>[foo]<p>bar</div><p>extra" queryCommandValue("justifyright") before assert_equals: Wrong result returned expected "left" but got "false"
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<div style=text-align:left><p>[foo]<p>bar</div><p>extra" queryCommandIndeterm("justifyright") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<div style=text-align:left><p>[foo]<p>bar</div><p>extra" queryCommandState("justifyright") after 
-FAIL [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<div style=text-align:left><p>[foo]<p>bar</div><p>extra" queryCommandValue("justifyright") after assert_equals: Wrong result returned expected "right" but got "true"
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<div style=text-align:left><p>[foo]<p>bar</div><p>extra": execCommand("stylewithcss", false, "false") return value 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<div style=text-align:left><p>[foo]<p>bar</div><p>extra": execCommand("defaultparagraphseparator", false, "p") return value 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<div style=text-align:left><p>[foo]<p>bar</div><p>extra": execCommand("justifyright", false, "") return value 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<div style=text-align:left><p>[foo]<p>bar</div><p>extra" checks for modifications to non-editable content 
-FAIL [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<div style=text-align:left><p>[foo]<p>bar</div><p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<div style=\"text-align:left\"><div style=\"text-align:right\"><p>foo</p></div><p>bar</p></div><p>extra</p>" but got "<div style=\"text-align:left\"><p style=\"text-align:right\">foo</p><p>bar</p></div><p>extra</p>"
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<div style=text-align:left><p>[foo]<p>bar</div><p>extra" queryCommandIndeterm("stylewithcss") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<div style=text-align:left><p>[foo]<p>bar</div><p>extra" queryCommandState("stylewithcss") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<div style=text-align:left><p>[foo]<p>bar</div><p>extra" queryCommandValue("stylewithcss") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<div style=text-align:left><p>[foo]<p>bar</div><p>extra" queryCommandIndeterm("stylewithcss") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<div style=text-align:left><p>[foo]<p>bar</div><p>extra" queryCommandState("stylewithcss") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<div style=text-align:left><p>[foo]<p>bar</div><p>extra" queryCommandValue("stylewithcss") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<div style=text-align:left><p>[foo]<p>bar</div><p>extra" queryCommandIndeterm("defaultparagraphseparator") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<div style=text-align:left><p>[foo]<p>bar</div><p>extra" queryCommandState("defaultparagraphseparator") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<div style=text-align:left><p>[foo]<p>bar</div><p>extra" queryCommandValue("defaultparagraphseparator") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<div style=text-align:left><p>[foo]<p>bar</div><p>extra" queryCommandIndeterm("defaultparagraphseparator") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<div style=text-align:left><p>[foo]<p>bar</div><p>extra" queryCommandState("defaultparagraphseparator") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<div style=text-align:left><p>[foo]<p>bar</div><p>extra" queryCommandValue("defaultparagraphseparator") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<div style=text-align:left><p>[foo]<p>bar</div><p>extra" queryCommandIndeterm("justifyright") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<div style=text-align:left><p>[foo]<p>bar</div><p>extra" queryCommandState("justifyright") before 
-FAIL [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<div style=text-align:left><p>[foo]<p>bar</div><p>extra" queryCommandValue("justifyright") before assert_equals: Wrong result returned expected "left" but got "false"
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<div style=text-align:left><p>[foo]<p>bar</div><p>extra" queryCommandIndeterm("justifyright") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<div style=text-align:left><p>[foo]<p>bar</div><p>extra" queryCommandState("justifyright") after 
-FAIL [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<div style=text-align:left><p>[foo]<p>bar</div><p>extra" queryCommandValue("justifyright") after assert_equals: Wrong result returned expected "right" but got "true"
-PASS [["justifyright",""]] "<div style=text-align:left><p>[foo<p>bar]</div><p>extra": execCommand("justifyright", false, "") return value 
-PASS [["justifyright",""]] "<div style=text-align:left><p>[foo<p>bar]</div><p>extra" checks for modifications to non-editable content 
-FAIL [["justifyright",""]] "<div style=text-align:left><p>[foo<p>bar]</div><p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<div style=\"text-align:right\"><p>foo</p><p>bar</p></div><p>extra</p>" but got "<div style=\"text-align:left\"><p style=\"text-align:right\">foo</p><p style=\"text-align:right\">bar</p></div><p>extra</p>"
-PASS [["justifyright",""]] "<div style=text-align:left><p>[foo<p>bar]</div><p>extra" queryCommandIndeterm("justifyright") before 
-PASS [["justifyright",""]] "<div style=text-align:left><p>[foo<p>bar]</div><p>extra" queryCommandState("justifyright") before 
-FAIL [["justifyright",""]] "<div style=text-align:left><p>[foo<p>bar]</div><p>extra" queryCommandValue("justifyright") before assert_equals: Wrong result returned expected "left" but got "false"
-PASS [["justifyright",""]] "<div style=text-align:left><p>[foo<p>bar]</div><p>extra" queryCommandIndeterm("justifyright") after 
-PASS [["justifyright",""]] "<div style=text-align:left><p>[foo<p>bar]</div><p>extra" queryCommandState("justifyright") after 
-FAIL [["justifyright",""]] "<div style=text-align:left><p>[foo<p>bar]</div><p>extra" queryCommandValue("justifyright") after assert_equals: Wrong result returned expected "right" but got "true"
-PASS [["justifyright",""]] "<div align=right><p>[foo]<p>bar</div><p>extra": execCommand("justifyright", false, "") return value 
-PASS [["justifyright",""]] "<div align=right><p>[foo]<p>bar</div><p>extra" checks for modifications to non-editable content 
-PASS [["justifyright",""]] "<div align=right><p>[foo]<p>bar</div><p>extra" compare innerHTML 
-PASS [["justifyright",""]] "<div align=right><p>[foo]<p>bar</div><p>extra" queryCommandIndeterm("justifyright") before 
-PASS [["justifyright",""]] "<div align=right><p>[foo]<p>bar</div><p>extra" queryCommandState("justifyright") before 
-FAIL [["justifyright",""]] "<div align=right><p>[foo]<p>bar</div><p>extra" queryCommandValue("justifyright") before assert_equals: Wrong result returned expected "right" but got "true"
-PASS [["justifyright",""]] "<div align=right><p>[foo]<p>bar</div><p>extra" queryCommandIndeterm("justifyright") after 
-PASS [["justifyright",""]] "<div align=right><p>[foo]<p>bar</div><p>extra" queryCommandState("justifyright") after 
-FAIL [["justifyright",""]] "<div align=right><p>[foo]<p>bar</div><p>extra" queryCommandValue("justifyright") after assert_equals: Wrong result returned expected "right" but got "true"
-PASS [["stylewithcss","true"],["justifyright",""]] "<div align=right><p>[foo<p>bar}</div><p>extra": execCommand("stylewithcss", false, "true") return value 
-PASS [["stylewithcss","true"],["justifyright",""]] "<div align=right><p>[foo<p>bar}</div><p>extra": execCommand("justifyright", false, "") return value 
-PASS [["stylewithcss","true"],["justifyright",""]] "<div align=right><p>[foo<p>bar}</div><p>extra" checks for modifications to non-editable content 
-FAIL [["stylewithcss","true"],["justifyright",""]] "<div align=right><p>[foo<p>bar}</div><p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<div style=\"text-align:right\"><p>foo</p><p>bar</p></div><p>extra</p>" but got "<div align=\"right\"><p>foo</p><p>bar</p></div><p>extra</p>"
-PASS [["stylewithcss","true"],["justifyright",""]] "<div align=right><p>[foo<p>bar}</div><p>extra" queryCommandIndeterm("stylewithcss") before 
-PASS [["stylewithcss","true"],["justifyright",""]] "<div align=right><p>[foo<p>bar}</div><p>extra" queryCommandState("stylewithcss") before 
-PASS [["stylewithcss","true"],["justifyright",""]] "<div align=right><p>[foo<p>bar}</div><p>extra" queryCommandValue("stylewithcss") before 
-PASS [["stylewithcss","true"],["justifyright",""]] "<div align=right><p>[foo<p>bar}</div><p>extra" queryCommandIndeterm("stylewithcss") after 
-PASS [["stylewithcss","true"],["justifyright",""]] "<div align=right><p>[foo<p>bar}</div><p>extra" queryCommandState("stylewithcss") after 
-PASS [["stylewithcss","true"],["justifyright",""]] "<div align=right><p>[foo<p>bar}</div><p>extra" queryCommandValue("stylewithcss") after 
-PASS [["stylewithcss","true"],["justifyright",""]] "<div align=right><p>[foo<p>bar}</div><p>extra" queryCommandIndeterm("justifyright") before 
-PASS [["stylewithcss","true"],["justifyright",""]] "<div align=right><p>[foo<p>bar}</div><p>extra" queryCommandState("justifyright") before 
-FAIL [["stylewithcss","true"],["justifyright",""]] "<div align=right><p>[foo<p>bar}</div><p>extra" queryCommandValue("justifyright") before assert_equals: Wrong result returned expected "right" but got "true"
-PASS [["stylewithcss","true"],["justifyright",""]] "<div align=right><p>[foo<p>bar}</div><p>extra" queryCommandIndeterm("justifyright") after 
-PASS [["stylewithcss","true"],["justifyright",""]] "<div align=right><p>[foo<p>bar}</div><p>extra" queryCommandState("justifyright") after 
-FAIL [["stylewithcss","true"],["justifyright",""]] "<div align=right><p>[foo<p>bar}</div><p>extra" queryCommandValue("justifyright") after assert_equals: Wrong result returned expected "right" but got "true"
-PASS [["stylewithcss","false"],["justifyright",""]] "<div align=right><p>[foo<p>bar}</div><p>extra": execCommand("stylewithcss", false, "false") return value 
-PASS [["stylewithcss","false"],["justifyright",""]] "<div align=right><p>[foo<p>bar}</div><p>extra": execCommand("justifyright", false, "") return value 
-PASS [["stylewithcss","false"],["justifyright",""]] "<div align=right><p>[foo<p>bar}</div><p>extra" checks for modifications to non-editable content 
-FAIL [["stylewithcss","false"],["justifyright",""]] "<div align=right><p>[foo<p>bar}</div><p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<div style=\"text-align:right\"><p>foo</p><p>bar</p></div><p>extra</p>" but got "<div align=\"right\"><p>foo</p><p>bar</p></div><p>extra</p>"
-PASS [["stylewithcss","false"],["justifyright",""]] "<div align=right><p>[foo<p>bar}</div><p>extra" queryCommandIndeterm("stylewithcss") before 
-PASS [["stylewithcss","false"],["justifyright",""]] "<div align=right><p>[foo<p>bar}</div><p>extra" queryCommandState("stylewithcss") before 
-PASS [["stylewithcss","false"],["justifyright",""]] "<div align=right><p>[foo<p>bar}</div><p>extra" queryCommandValue("stylewithcss") before 
-PASS [["stylewithcss","false"],["justifyright",""]] "<div align=right><p>[foo<p>bar}</div><p>extra" queryCommandIndeterm("stylewithcss") after 
-PASS [["stylewithcss","false"],["justifyright",""]] "<div align=right><p>[foo<p>bar}</div><p>extra" queryCommandState("stylewithcss") after 
-PASS [["stylewithcss","false"],["justifyright",""]] "<div align=right><p>[foo<p>bar}</div><p>extra" queryCommandValue("stylewithcss") after 
-PASS [["stylewithcss","false"],["justifyright",""]] "<div align=right><p>[foo<p>bar}</div><p>extra" queryCommandIndeterm("justifyright") before 
-PASS [["stylewithcss","false"],["justifyright",""]] "<div align=right><p>[foo<p>bar}</div><p>extra" queryCommandState("justifyright") before 
-FAIL [["stylewithcss","false"],["justifyright",""]] "<div align=right><p>[foo<p>bar}</div><p>extra" queryCommandValue("justifyright") before assert_equals: Wrong result returned expected "right" but got "true"
-PASS [["stylewithcss","false"],["justifyright",""]] "<div align=right><p>[foo<p>bar}</div><p>extra" queryCommandIndeterm("justifyright") after 
-PASS [["stylewithcss","false"],["justifyright",""]] "<div align=right><p>[foo<p>bar}</div><p>extra" queryCommandState("justifyright") after 
-FAIL [["stylewithcss","false"],["justifyright",""]] "<div align=right><p>[foo<p>bar}</div><p>extra" queryCommandValue("justifyright") after assert_equals: Wrong result returned expected "right" but got "true"
-PASS [["justifyright",""]] "<div style=text-align:right><p>[foo]<p>bar</div><p>extra": execCommand("justifyright", false, "") return value 
-PASS [["justifyright",""]] "<div style=text-align:right><p>[foo]<p>bar</div><p>extra" checks for modifications to non-editable content 
-PASS [["justifyright",""]] "<div style=text-align:right><p>[foo]<p>bar</div><p>extra" compare innerHTML 
-PASS [["justifyright",""]] "<div style=text-align:right><p>[foo]<p>bar</div><p>extra" queryCommandIndeterm("justifyright") before 
-PASS [["justifyright",""]] "<div style=text-align:right><p>[foo]<p>bar</div><p>extra" queryCommandState("justifyright") before 
-FAIL [["justifyright",""]] "<div style=text-align:right><p>[foo]<p>bar</div><p>extra" queryCommandValue("justifyright") before assert_equals: Wrong result returned expected "right" but got "true"
-PASS [["justifyright",""]] "<div style=text-align:right><p>[foo]<p>bar</div><p>extra" queryCommandIndeterm("justifyright") after 
-PASS [["justifyright",""]] "<div style=text-align:right><p>[foo]<p>bar</div><p>extra" queryCommandState("justifyright") after 
-FAIL [["justifyright",""]] "<div style=text-align:right><p>[foo]<p>bar</div><p>extra" queryCommandValue("justifyright") after assert_equals: Wrong result returned expected "right" but got "true"
-PASS [["justifyright",""]] "<div style=text-align:right><p>[foo<p>bar]</div><p>extra": execCommand("justifyright", false, "") return value 
-PASS [["justifyright",""]] "<div style=text-align:right><p>[foo<p>bar]</div><p>extra" checks for modifications to non-editable content 
-PASS [["justifyright",""]] "<div style=text-align:right><p>[foo<p>bar]</div><p>extra" compare innerHTML 
-PASS [["justifyright",""]] "<div style=text-align:right><p>[foo<p>bar]</div><p>extra" queryCommandIndeterm("justifyright") before 
-PASS [["justifyright",""]] "<div style=text-align:right><p>[foo<p>bar]</div><p>extra" queryCommandState("justifyright") before 
-FAIL [["justifyright",""]] "<div style=text-align:right><p>[foo<p>bar]</div><p>extra" queryCommandValue("justifyright") before assert_equals: Wrong result returned expected "right" but got "true"
-PASS [["justifyright",""]] "<div style=text-align:right><p>[foo<p>bar]</div><p>extra" queryCommandIndeterm("justifyright") after 
-PASS [["justifyright",""]] "<div style=text-align:right><p>[foo<p>bar]</div><p>extra" queryCommandState("justifyright") after 
-FAIL [["justifyright",""]] "<div style=text-align:right><p>[foo<p>bar]</div><p>extra" queryCommandValue("justifyright") after assert_equals: Wrong result returned expected "right" but got "true"
-PASS [["justifyright",""]] "<div align=right>foo</div>[bar]<p>extra": execCommand("justifyright", false, "") return value 
-PASS [["justifyright",""]] "<div align=right>foo</div>[bar]<p>extra" checks for modifications to non-editable content 
-FAIL [["justifyright",""]] "<div align=right>foo</div>[bar]<p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<div align=\"right\">foo<br>bar</div><p>extra</p>" but got "<div align=\"right\">foo</div><p style=\"text-align:right\">bar</p><p>extra</p>"
-PASS [["justifyright",""]] "<div align=right>foo</div>[bar]<p>extra" queryCommandIndeterm("justifyright") before 
-PASS [["justifyright",""]] "<div align=right>foo</div>[bar]<p>extra" queryCommandState("justifyright") before 
-FAIL [["justifyright",""]] "<div align=right>foo</div>[bar]<p>extra" queryCommandValue("justifyright") before assert_equals: Wrong result returned expected "left" but got "false"
-PASS [["justifyright",""]] "<div align=right>foo</div>[bar]<p>extra" queryCommandIndeterm("justifyright") after 
-PASS [["justifyright",""]] "<div align=right>foo</div>[bar]<p>extra" queryCommandState("justifyright") after 
-FAIL [["justifyright",""]] "<div align=right>foo</div>[bar]<p>extra" queryCommandValue("justifyright") after assert_equals: Wrong result returned expected "right" but got "true"
-PASS [["justifyright",""]] "[foo]<div align=right>bar</div><p>extra": execCommand("justifyright", false, "") return value 
-PASS [["justifyright",""]] "[foo]<div align=right>bar</div><p>extra" checks for modifications to non-editable content 
-FAIL [["justifyright",""]] "[foo]<div align=right>bar</div><p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<div align=\"right\">foo<br>bar</div><p>extra</p>" but got "<p style=\"text-align:right\">foo</p><div align=\"right\">bar</div><p>extra</p>"
-PASS [["justifyright",""]] "[foo]<div align=right>bar</div><p>extra" queryCommandIndeterm("justifyright") before 
-PASS [["justifyright",""]] "[foo]<div align=right>bar</div><p>extra" queryCommandState("justifyright") before 
-FAIL [["justifyright",""]] "[foo]<div align=right>bar</div><p>extra" queryCommandValue("justifyright") before assert_equals: Wrong result returned expected "left" but got "false"
-PASS [["justifyright",""]] "[foo]<div align=right>bar</div><p>extra" queryCommandIndeterm("justifyright") after 
-PASS [["justifyright",""]] "[foo]<div align=right>bar</div><p>extra" queryCommandState("justifyright") after 
-FAIL [["justifyright",""]] "[foo]<div align=right>bar</div><p>extra" queryCommandValue("justifyright") after assert_equals: Wrong result returned expected "right" but got "true"
-PASS [["defaultparagraphseparator","div"],["justifyright",""]] "<div align=right>foo</div>[bar]<div align=right>baz</div><p>extra": execCommand("defaultparagraphseparator", false, "div") return value 
-PASS [["defaultparagraphseparator","div"],["justifyright",""]] "<div align=right>foo</div>[bar]<div align=right>baz</div><p>extra": execCommand("justifyright", false, "") return value 
-PASS [["defaultparagraphseparator","div"],["justifyright",""]] "<div align=right>foo</div>[bar]<div align=right>baz</div><p>extra" checks for modifications to non-editable content 
-FAIL [["defaultparagraphseparator","div"],["justifyright",""]] "<div align=right>foo</div>[bar]<div align=right>baz</div><p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<div align=\"right\">foo<br>bar<br>baz</div><p>extra</p>" but got "<div align=\"right\">foo</div><div style=\"text-align:right\">bar</div><div align=\"right\">baz</div><p>extra</p>"
-PASS [["defaultparagraphseparator","div"],["justifyright",""]] "<div align=right>foo</div>[bar]<div align=right>baz</div><p>extra" queryCommandIndeterm("defaultparagraphseparator") before 
-PASS [["defaultparagraphseparator","div"],["justifyright",""]] "<div align=right>foo</div>[bar]<div align=right>baz</div><p>extra" queryCommandState("defaultparagraphseparator") before 
-PASS [["defaultparagraphseparator","div"],["justifyright",""]] "<div align=right>foo</div>[bar]<div align=right>baz</div><p>extra" queryCommandValue("defaultparagraphseparator") before 
-PASS [["defaultparagraphseparator","div"],["justifyright",""]] "<div align=right>foo</div>[bar]<div align=right>baz</div><p>extra" queryCommandIndeterm("defaultparagraphseparator") after 
-PASS [["defaultparagraphseparator","div"],["justifyright",""]] "<div align=right>foo</div>[bar]<div align=right>baz</div><p>extra" queryCommandState("defaultparagraphseparator") after 
-PASS [["defaultparagraphseparator","div"],["justifyright",""]] "<div align=right>foo</div>[bar]<div align=right>baz</div><p>extra" queryCommandValue("defaultparagraphseparator") after 
-PASS [["defaultparagraphseparator","div"],["justifyright",""]] "<div align=right>foo</div>[bar]<div align=right>baz</div><p>extra" queryCommandIndeterm("justifyright") before 
-PASS [["defaultparagraphseparator","div"],["justifyright",""]] "<div align=right>foo</div>[bar]<div align=right>baz</div><p>extra" queryCommandState("justifyright") before 
-FAIL [["defaultparagraphseparator","div"],["justifyright",""]] "<div align=right>foo</div>[bar]<div align=right>baz</div><p>extra" queryCommandValue("justifyright") before assert_equals: Wrong result returned expected "left" but got "false"
-PASS [["defaultparagraphseparator","div"],["justifyright",""]] "<div align=right>foo</div>[bar]<div align=right>baz</div><p>extra" queryCommandIndeterm("justifyright") after 
-PASS [["defaultparagraphseparator","div"],["justifyright",""]] "<div align=right>foo</div>[bar]<div align=right>baz</div><p>extra" queryCommandState("justifyright") after 
-FAIL [["defaultparagraphseparator","div"],["justifyright",""]] "<div align=right>foo</div>[bar]<div align=right>baz</div><p>extra" queryCommandValue("justifyright") after assert_equals: Wrong result returned expected "right" but got "true"
-PASS [["defaultparagraphseparator","p"],["justifyright",""]] "<div align=right>foo</div>[bar]<div align=right>baz</div><p>extra": execCommand("defaultparagraphseparator", false, "p") return value 
-PASS [["defaultparagraphseparator","p"],["justifyright",""]] "<div align=right>foo</div>[bar]<div align=right>baz</div><p>extra": execCommand("justifyright", false, "") return value 
-PASS [["defaultparagraphseparator","p"],["justifyright",""]] "<div align=right>foo</div>[bar]<div align=right>baz</div><p>extra" checks for modifications to non-editable content 
-FAIL [["defaultparagraphseparator","p"],["justifyright",""]] "<div align=right>foo</div>[bar]<div align=right>baz</div><p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<div align=\"right\">foo<br>bar<br>baz</div><p>extra</p>" but got "<div align=\"right\">foo</div><p style=\"text-align:right\">bar</p><div align=\"right\">baz</div><p>extra</p>"
-PASS [["defaultparagraphseparator","p"],["justifyright",""]] "<div align=right>foo</div>[bar]<div align=right>baz</div><p>extra" queryCommandIndeterm("defaultparagraphseparator") before 
-PASS [["defaultparagraphseparator","p"],["justifyright",""]] "<div align=right>foo</div>[bar]<div align=right>baz</div><p>extra" queryCommandState("defaultparagraphseparator") before 
-PASS [["defaultparagraphseparator","p"],["justifyright",""]] "<div align=right>foo</div>[bar]<div align=right>baz</div><p>extra" queryCommandValue("defaultparagraphseparator") before 
-PASS [["defaultparagraphseparator","p"],["justifyright",""]] "<div align=right>foo</div>[bar]<div align=right>baz</div><p>extra" queryCommandIndeterm("defaultparagraphseparator") after 
-PASS [["defaultparagraphseparator","p"],["justifyright",""]] "<div align=right>foo</div>[bar]<div align=right>baz</div><p>extra" queryCommandState("defaultparagraphseparator") after 
-PASS [["defaultparagraphseparator","p"],["justifyright",""]] "<div align=right>foo</div>[bar]<div align=right>baz</div><p>extra" queryCommandValue("defaultparagraphseparator") after 
-PASS [["defaultparagraphseparator","p"],["justifyright",""]] "<div align=right>foo</div>[bar]<div align=right>baz</div><p>extra" queryCommandIndeterm("justifyright") before 
-PASS [["defaultparagraphseparator","p"],["justifyright",""]] "<div align=right>foo</div>[bar]<div align=right>baz</div><p>extra" queryCommandState("justifyright") before 
-FAIL [["defaultparagraphseparator","p"],["justifyright",""]] "<div align=right>foo</div>[bar]<div align=right>baz</div><p>extra" queryCommandValue("justifyright") before assert_equals: Wrong result returned expected "left" but got "false"
-PASS [["defaultparagraphseparator","p"],["justifyright",""]] "<div align=right>foo</div>[bar]<div align=right>baz</div><p>extra" queryCommandIndeterm("justifyright") after 
-PASS [["defaultparagraphseparator","p"],["justifyright",""]] "<div align=right>foo</div>[bar]<div align=right>baz</div><p>extra" queryCommandState("justifyright") after 
-FAIL [["defaultparagraphseparator","p"],["justifyright",""]] "<div align=right>foo</div>[bar]<div align=right>baz</div><p>extra" queryCommandValue("justifyright") after assert_equals: Wrong result returned expected "right" but got "true"
-PASS [["justifyright",""]] "<div align=right><p>foo</div><p>[bar]<p>extra": execCommand("justifyright", false, "") return value 
-PASS [["justifyright",""]] "<div align=right><p>foo</div><p>[bar]<p>extra" checks for modifications to non-editable content 
-FAIL [["justifyright",""]] "<div align=right><p>foo</div><p>[bar]<p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<div align=\"right\"><p>foo</p><p>bar</p></div><p>extra</p>" but got "<div align=\"right\"><p>foo</p></div><p style=\"text-align:right\">bar</p><p>extra</p>"
-PASS [["justifyright",""]] "<div align=right><p>foo</div><p>[bar]<p>extra" queryCommandIndeterm("justifyright") before 
-PASS [["justifyright",""]] "<div align=right><p>foo</div><p>[bar]<p>extra" queryCommandState("justifyright") before 
-FAIL [["justifyright",""]] "<div align=right><p>foo</div><p>[bar]<p>extra" queryCommandValue("justifyright") before assert_equals: Wrong result returned expected "left" but got "false"
-PASS [["justifyright",""]] "<div align=right><p>foo</div><p>[bar]<p>extra" queryCommandIndeterm("justifyright") after 
-PASS [["justifyright",""]] "<div align=right><p>foo</div><p>[bar]<p>extra" queryCommandState("justifyright") after 
-FAIL [["justifyright",""]] "<div align=right><p>foo</div><p>[bar]<p>extra" queryCommandValue("justifyright") after assert_equals: Wrong result returned expected "right" but got "true"
-PASS [["justifyright",""]] "<p>[foo]<div align=right><p>bar</div><p>extra": execCommand("justifyright", false, "") return value 
-PASS [["justifyright",""]] "<p>[foo]<div align=right><p>bar</div><p>extra" checks for modifications to non-editable content 
-FAIL [["justifyright",""]] "<p>[foo]<div align=right><p>bar</div><p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<div align=\"right\"><p>foo</p><p>bar</p></div><p>extra</p>" but got "<p style=\"text-align:right\">foo</p><div align=\"right\"><p>bar</p></div><p>extra</p>"
-PASS [["justifyright",""]] "<p>[foo]<div align=right><p>bar</div><p>extra" queryCommandIndeterm("justifyright") before 
-PASS [["justifyright",""]] "<p>[foo]<div align=right><p>bar</div><p>extra" queryCommandState("justifyright") before 
-FAIL [["justifyright",""]] "<p>[foo]<div align=right><p>bar</div><p>extra" queryCommandValue("justifyright") before assert_equals: Wrong result returned expected "left" but got "false"
-PASS [["justifyright",""]] "<p>[foo]<div align=right><p>bar</div><p>extra" queryCommandIndeterm("justifyright") after 
-PASS [["justifyright",""]] "<p>[foo]<div align=right><p>bar</div><p>extra" queryCommandState("justifyright") after 
-FAIL [["justifyright",""]] "<p>[foo]<div align=right><p>bar</div><p>extra" queryCommandValue("justifyright") after assert_equals: Wrong result returned expected "right" but got "true"
-PASS [["defaultparagraphseparator","div"],["justifyright",""]] "<div align=right><p>foo</div><p>[bar]<div align=right><p>baz</div><p>extra": execCommand("defaultparagraphseparator", false, "div") return value 
-PASS [["defaultparagraphseparator","div"],["justifyright",""]] "<div align=right><p>foo</div><p>[bar]<div align=right><p>baz</div><p>extra": execCommand("justifyright", false, "") return value 
-PASS [["defaultparagraphseparator","div"],["justifyright",""]] "<div align=right><p>foo</div><p>[bar]<div align=right><p>baz</div><p>extra" checks for modifications to non-editable content 
-FAIL [["defaultparagraphseparator","div"],["justifyright",""]] "<div align=right><p>foo</div><p>[bar]<div align=right><p>baz</div><p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<div align=\"right\"><p>foo</p><p>bar</p><p>baz</p></div><p>extra</p>" but got "<div align=\"right\"><p>foo</p></div><p style=\"text-align:right\">bar</p><div align=\"right\"><p>baz</p></div><p>extra</p>"
-PASS [["defaultparagraphseparator","div"],["justifyright",""]] "<div align=right><p>foo</div><p>[bar]<div align=right><p>baz</div><p>extra" queryCommandIndeterm("defaultparagraphseparator") before 
-PASS [["defaultparagraphseparator","div"],["justifyright",""]] "<div align=right><p>foo</div><p>[bar]<div align=right><p>baz</div><p>extra" queryCommandState("defaultparagraphseparator") before 
-PASS [["defaultparagraphseparator","div"],["justifyright",""]] "<div align=right><p>foo</div><p>[bar]<div align=right><p>baz</div><p>extra" queryCommandValue("defaultparagraphseparator") before 
-PASS [["defaultparagraphseparator","div"],["justifyright",""]] "<div align=right><p>foo</div><p>[bar]<div align=right><p>baz</div><p>extra" queryCommandIndeterm("defaultparagraphseparator") after 
-PASS [["defaultparagraphseparator","div"],["justifyright",""]] "<div align=right><p>foo</div><p>[bar]<div align=right><p>baz</div><p>extra" queryCommandState("defaultparagraphseparator") after 
-PASS [["defaultparagraphseparator","div"],["justifyright",""]] "<div align=right><p>foo</div><p>[bar]<div align=right><p>baz</div><p>extra" queryCommandValue("defaultparagraphseparator") after 
-PASS [["defaultparagraphseparator","div"],["justifyright",""]] "<div align=right><p>foo</div><p>[bar]<div align=right><p>baz</div><p>extra" queryCommandIndeterm("justifyright") before 
-PASS [["defaultparagraphseparator","div"],["justifyright",""]] "<div align=right><p>foo</div><p>[bar]<div align=right><p>baz</div><p>extra" queryCommandState("justifyright") before 
-FAIL [["defaultparagraphseparator","div"],["justifyright",""]] "<div align=right><p>foo</div><p>[bar]<div align=right><p>baz</div><p>extra" queryCommandValue("justifyright") before assert_equals: Wrong result returned expected "left" but got "false"
-PASS [["defaultparagraphseparator","div"],["justifyright",""]] "<div align=right><p>foo</div><p>[bar]<div align=right><p>baz</div><p>extra" queryCommandIndeterm("justifyright") after 
-PASS [["defaultparagraphseparator","div"],["justifyright",""]] "<div align=right><p>foo</div><p>[bar]<div align=right><p>baz</div><p>extra" queryCommandState("justifyright") after 
-FAIL [["defaultparagraphseparator","div"],["justifyright",""]] "<div align=right><p>foo</div><p>[bar]<div align=right><p>baz</div><p>extra" queryCommandValue("justifyright") after assert_equals: Wrong result returned expected "right" but got "true"
-PASS [["defaultparagraphseparator","p"],["justifyright",""]] "<div align=right><p>foo</div><p>[bar]<div align=right><p>baz</div><p>extra": execCommand("defaultparagraphseparator", false, "p") return value 
-PASS [["defaultparagraphseparator","p"],["justifyright",""]] "<div align=right><p>foo</div><p>[bar]<div align=right><p>baz</div><p>extra": execCommand("justifyright", false, "") return value 
-PASS [["defaultparagraphseparator","p"],["justifyright",""]] "<div align=right><p>foo</div><p>[bar]<div align=right><p>baz</div><p>extra" checks for modifications to non-editable content 
-FAIL [["defaultparagraphseparator","p"],["justifyright",""]] "<div align=right><p>foo</div><p>[bar]<div align=right><p>baz</div><p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<div align=\"right\"><p>foo</p><p>bar</p><p>baz</p></div><p>extra</p>" but got "<div align=\"right\"><p>foo</p></div><p style=\"text-align:right\">bar</p><div align=\"right\"><p>baz</p></div><p>extra</p>"
-PASS [["defaultparagraphseparator","p"],["justifyright",""]] "<div align=right><p>foo</div><p>[bar]<div align=right><p>baz</div><p>extra" queryCommandIndeterm("defaultparagraphseparator") before 
-PASS [["defaultparagraphseparator","p"],["justifyright",""]] "<div align=right><p>foo</div><p>[bar]<div align=right><p>baz</div><p>extra" queryCommandState("defaultparagraphseparator") before 
-PASS [["defaultparagraphseparator","p"],["justifyright",""]] "<div align=right><p>foo</div><p>[bar]<div align=right><p>baz</div><p>extra" queryCommandValue("defaultparagraphseparator") before 
-PASS [["defaultparagraphseparator","p"],["justifyright",""]] "<div align=right><p>foo</div><p>[bar]<div align=right><p>baz</div><p>extra" queryCommandIndeterm("defaultparagraphseparator") after 
-PASS [["defaultparagraphseparator","p"],["justifyright",""]] "<div align=right><p>foo</div><p>[bar]<div align=right><p>baz</div><p>extra" queryCommandState("defaultparagraphseparator") after 
-PASS [["defaultparagraphseparator","p"],["justifyright",""]] "<div align=right><p>foo</div><p>[bar]<div align=right><p>baz</div><p>extra" queryCommandValue("defaultparagraphseparator") after 
-PASS [["defaultparagraphseparator","p"],["justifyright",""]] "<div align=right><p>foo</div><p>[bar]<div align=right><p>baz</div><p>extra" queryCommandIndeterm("justifyright") before 
-PASS [["defaultparagraphseparator","p"],["justifyright",""]] "<div align=right><p>foo</div><p>[bar]<div align=right><p>baz</div><p>extra" queryCommandState("justifyright") before 
-FAIL [["defaultparagraphseparator","p"],["justifyright",""]] "<div align=right><p>foo</div><p>[bar]<div align=right><p>baz</div><p>extra" queryCommandValue("justifyright") before assert_equals: Wrong result returned expected "left" but got "false"
-PASS [["defaultparagraphseparator","p"],["justifyright",""]] "<div align=right><p>foo</div><p>[bar]<div align=right><p>baz</div><p>extra" queryCommandIndeterm("justifyright") after 
-PASS [["defaultparagraphseparator","p"],["justifyright",""]] "<div align=right><p>foo</div><p>[bar]<div align=right><p>baz</div><p>extra" queryCommandState("justifyright") after 
-FAIL [["defaultparagraphseparator","p"],["justifyright",""]] "<div align=right><p>foo</div><p>[bar]<div align=right><p>baz</div><p>extra" queryCommandValue("justifyright") after assert_equals: Wrong result returned expected "right" but got "true"
-PASS [["justifyright",""]] "<div style=text-align:right>foo</div>[bar]<p>extra": execCommand("justifyright", false, "") return value 
-PASS [["justifyright",""]] "<div style=text-align:right>foo</div>[bar]<p>extra" checks for modifications to non-editable content 
-FAIL [["justifyright",""]] "<div style=text-align:right>foo</div>[bar]<p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<div style=\"text-align:right\">foo<br>bar</div><p>extra</p>" but got "<div style=\"text-align:right\">foo</div><p style=\"text-align:right\">bar</p><p>extra</p>"
-PASS [["justifyright",""]] "<div style=text-align:right>foo</div>[bar]<p>extra" queryCommandIndeterm("justifyright") before 
-PASS [["justifyright",""]] "<div style=text-align:right>foo</div>[bar]<p>extra" queryCommandState("justifyright") before 
-FAIL [["justifyright",""]] "<div style=text-align:right>foo</div>[bar]<p>extra" queryCommandValue("justifyright") before assert_equals: Wrong result returned expected "left" but got "false"
-PASS [["justifyright",""]] "<div style=text-align:right>foo</div>[bar]<p>extra" queryCommandIndeterm("justifyright") after 
-PASS [["justifyright",""]] "<div style=text-align:right>foo</div>[bar]<p>extra" queryCommandState("justifyright") after 
-FAIL [["justifyright",""]] "<div style=text-align:right>foo</div>[bar]<p>extra" queryCommandValue("justifyright") after assert_equals: Wrong result returned expected "right" but got "true"
-PASS [["justifyright",""]] "[foo]<div style=text-align:right>bar</div><p>extra": execCommand("justifyright", false, "") return value 
-PASS [["justifyright",""]] "[foo]<div style=text-align:right>bar</div><p>extra" checks for modifications to non-editable content 
-FAIL [["justifyright",""]] "[foo]<div style=text-align:right>bar</div><p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<div style=\"text-align:right\">foo<br>bar</div><p>extra</p>" but got "<p style=\"text-align:right\">foo</p><div style=\"text-align:right\">bar</div><p>extra</p>"
-PASS [["justifyright",""]] "[foo]<div style=text-align:right>bar</div><p>extra" queryCommandIndeterm("justifyright") before 
-PASS [["justifyright",""]] "[foo]<div style=text-align:right>bar</div><p>extra" queryCommandState("justifyright") before 
-FAIL [["justifyright",""]] "[foo]<div style=text-align:right>bar</div><p>extra" queryCommandValue("justifyright") before assert_equals: Wrong result returned expected "left" but got "false"
-PASS [["justifyright",""]] "[foo]<div style=text-align:right>bar</div><p>extra" queryCommandIndeterm("justifyright") after 
-PASS [["justifyright",""]] "[foo]<div style=text-align:right>bar</div><p>extra" queryCommandState("justifyright") after 
-FAIL [["justifyright",""]] "[foo]<div style=text-align:right>bar</div><p>extra" queryCommandValue("justifyright") after assert_equals: Wrong result returned expected "right" but got "true"
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<div style=text-align:right>foo</div>[bar]<div style=text-align:right>baz</div><p>extra": execCommand("stylewithcss", false, "true") return value 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<div style=text-align:right>foo</div>[bar]<div style=text-align:right>baz</div><p>extra": execCommand("defaultparagraphseparator", false, "div") return value 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<div style=text-align:right>foo</div>[bar]<div style=text-align:right>baz</div><p>extra": execCommand("justifyright", false, "") return value 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<div style=text-align:right>foo</div>[bar]<div style=text-align:right>baz</div><p>extra" checks for modifications to non-editable content 
-FAIL [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<div style=text-align:right>foo</div>[bar]<div style=text-align:right>baz</div><p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<div style=\"text-align:right\">foo<br>bar<br>baz</div><p>extra</p>" but got "<div style=\"text-align:right\">foo</div><div style=\"text-align:right\">bar</div><div style=\"text-align:right\">baz</div><p>extra</p>"
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<div style=text-align:right>foo</div>[bar]<div style=text-align:right>baz</div><p>extra" queryCommandIndeterm("stylewithcss") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<div style=text-align:right>foo</div>[bar]<div style=text-align:right>baz</div><p>extra" queryCommandState("stylewithcss") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<div style=text-align:right>foo</div>[bar]<div style=text-align:right>baz</div><p>extra" queryCommandValue("stylewithcss") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<div style=text-align:right>foo</div>[bar]<div style=text-align:right>baz</div><p>extra" queryCommandIndeterm("stylewithcss") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<div style=text-align:right>foo</div>[bar]<div style=text-align:right>baz</div><p>extra" queryCommandState("stylewithcss") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<div style=text-align:right>foo</div>[bar]<div style=text-align:right>baz</div><p>extra" queryCommandValue("stylewithcss") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<div style=text-align:right>foo</div>[bar]<div style=text-align:right>baz</div><p>extra" queryCommandIndeterm("defaultparagraphseparator") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<div style=text-align:right>foo</div>[bar]<div style=text-align:right>baz</div><p>extra" queryCommandState("defaultparagraphseparator") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<div style=text-align:right>foo</div>[bar]<div style=text-align:right>baz</div><p>extra" queryCommandValue("defaultparagraphseparator") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<div style=text-align:right>foo</div>[bar]<div style=text-align:right>baz</div><p>extra" queryCommandIndeterm("defaultparagraphseparator") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<div style=text-align:right>foo</div>[bar]<div style=text-align:right>baz</div><p>extra" queryCommandState("defaultparagraphseparator") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<div style=text-align:right>foo</div>[bar]<div style=text-align:right>baz</div><p>extra" queryCommandValue("defaultparagraphseparator") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<div style=text-align:right>foo</div>[bar]<div style=text-align:right>baz</div><p>extra" queryCommandIndeterm("justifyright") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<div style=text-align:right>foo</div>[bar]<div style=text-align:right>baz</div><p>extra" queryCommandState("justifyright") before 
-FAIL [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<div style=text-align:right>foo</div>[bar]<div style=text-align:right>baz</div><p>extra" queryCommandValue("justifyright") before assert_equals: Wrong result returned expected "left" but got "false"
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<div style=text-align:right>foo</div>[bar]<div style=text-align:right>baz</div><p>extra" queryCommandIndeterm("justifyright") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<div style=text-align:right>foo</div>[bar]<div style=text-align:right>baz</div><p>extra" queryCommandState("justifyright") after 
-FAIL [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<div style=text-align:right>foo</div>[bar]<div style=text-align:right>baz</div><p>extra" queryCommandValue("justifyright") after assert_equals: Wrong result returned expected "right" but got "true"
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<div style=text-align:right>foo</div>[bar]<div style=text-align:right>baz</div><p>extra": execCommand("stylewithcss", false, "false") return value 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<div style=text-align:right>foo</div>[bar]<div style=text-align:right>baz</div><p>extra": execCommand("defaultparagraphseparator", false, "div") return value 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<div style=text-align:right>foo</div>[bar]<div style=text-align:right>baz</div><p>extra": execCommand("justifyright", false, "") return value 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<div style=text-align:right>foo</div>[bar]<div style=text-align:right>baz</div><p>extra" checks for modifications to non-editable content 
-FAIL [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<div style=text-align:right>foo</div>[bar]<div style=text-align:right>baz</div><p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<div style=\"text-align:right\">foo<br>bar<br>baz</div><p>extra</p>" but got "<div style=\"text-align:right\">foo</div><div style=\"text-align:right\">bar</div><div style=\"text-align:right\">baz</div><p>extra</p>"
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<div style=text-align:right>foo</div>[bar]<div style=text-align:right>baz</div><p>extra" queryCommandIndeterm("stylewithcss") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<div style=text-align:right>foo</div>[bar]<div style=text-align:right>baz</div><p>extra" queryCommandState("stylewithcss") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<div style=text-align:right>foo</div>[bar]<div style=text-align:right>baz</div><p>extra" queryCommandValue("stylewithcss") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<div style=text-align:right>foo</div>[bar]<div style=text-align:right>baz</div><p>extra" queryCommandIndeterm("stylewithcss") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<div style=text-align:right>foo</div>[bar]<div style=text-align:right>baz</div><p>extra" queryCommandState("stylewithcss") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<div style=text-align:right>foo</div>[bar]<div style=text-align:right>baz</div><p>extra" queryCommandValue("stylewithcss") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<div style=text-align:right>foo</div>[bar]<div style=text-align:right>baz</div><p>extra" queryCommandIndeterm("defaultparagraphseparator") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<div style=text-align:right>foo</div>[bar]<div style=text-align:right>baz</div><p>extra" queryCommandState("defaultparagraphseparator") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<div style=text-align:right>foo</div>[bar]<div style=text-align:right>baz</div><p>extra" queryCommandValue("defaultparagraphseparator") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<div style=text-align:right>foo</div>[bar]<div style=text-align:right>baz</div><p>extra" queryCommandIndeterm("defaultparagraphseparator") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<div style=text-align:right>foo</div>[bar]<div style=text-align:right>baz</div><p>extra" queryCommandState("defaultparagraphseparator") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<div style=text-align:right>foo</div>[bar]<div style=text-align:right>baz</div><p>extra" queryCommandValue("defaultparagraphseparator") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<div style=text-align:right>foo</div>[bar]<div style=text-align:right>baz</div><p>extra" queryCommandIndeterm("justifyright") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<div style=text-align:right>foo</div>[bar]<div style=text-align:right>baz</div><p>extra" queryCommandState("justifyright") before 
-FAIL [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<div style=text-align:right>foo</div>[bar]<div style=text-align:right>baz</div><p>extra" queryCommandValue("justifyright") before assert_equals: Wrong result returned expected "left" but got "false"
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<div style=text-align:right>foo</div>[bar]<div style=text-align:right>baz</div><p>extra" queryCommandIndeterm("justifyright") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<div style=text-align:right>foo</div>[bar]<div style=text-align:right>baz</div><p>extra" queryCommandState("justifyright") after 
-FAIL [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<div style=text-align:right>foo</div>[bar]<div style=text-align:right>baz</div><p>extra" queryCommandValue("justifyright") after assert_equals: Wrong result returned expected "right" but got "true"
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<div style=text-align:right>foo</div>[bar]<div style=text-align:right>baz</div><p>extra": execCommand("stylewithcss", false, "true") return value 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<div style=text-align:right>foo</div>[bar]<div style=text-align:right>baz</div><p>extra": execCommand("defaultparagraphseparator", false, "p") return value 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<div style=text-align:right>foo</div>[bar]<div style=text-align:right>baz</div><p>extra": execCommand("justifyright", false, "") return value 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<div style=text-align:right>foo</div>[bar]<div style=text-align:right>baz</div><p>extra" checks for modifications to non-editable content 
-FAIL [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<div style=text-align:right>foo</div>[bar]<div style=text-align:right>baz</div><p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<div style=\"text-align:right\">foo<br>bar<br>baz</div><p>extra</p>" but got "<div style=\"text-align:right\">foo</div><p style=\"text-align:right\">bar</p><div style=\"text-align:right\">baz</div><p>extra</p>"
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<div style=text-align:right>foo</div>[bar]<div style=text-align:right>baz</div><p>extra" queryCommandIndeterm("stylewithcss") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<div style=text-align:right>foo</div>[bar]<div style=text-align:right>baz</div><p>extra" queryCommandState("stylewithcss") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<div style=text-align:right>foo</div>[bar]<div style=text-align:right>baz</div><p>extra" queryCommandValue("stylewithcss") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<div style=text-align:right>foo</div>[bar]<div style=text-align:right>baz</div><p>extra" queryCommandIndeterm("stylewithcss") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<div style=text-align:right>foo</div>[bar]<div style=text-align:right>baz</div><p>extra" queryCommandState("stylewithcss") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<div style=text-align:right>foo</div>[bar]<div style=text-align:right>baz</div><p>extra" queryCommandValue("stylewithcss") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<div style=text-align:right>foo</div>[bar]<div style=text-align:right>baz</div><p>extra" queryCommandIndeterm("defaultparagraphseparator") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<div style=text-align:right>foo</div>[bar]<div style=text-align:right>baz</div><p>extra" queryCommandState("defaultparagraphseparator") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<div style=text-align:right>foo</div>[bar]<div style=text-align:right>baz</div><p>extra" queryCommandValue("defaultparagraphseparator") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<div style=text-align:right>foo</div>[bar]<div style=text-align:right>baz</div><p>extra" queryCommandIndeterm("defaultparagraphseparator") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<div style=text-align:right>foo</div>[bar]<div style=text-align:right>baz</div><p>extra" queryCommandState("defaultparagraphseparator") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<div style=text-align:right>foo</div>[bar]<div style=text-align:right>baz</div><p>extra" queryCommandValue("defaultparagraphseparator") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<div style=text-align:right>foo</div>[bar]<div style=text-align:right>baz</div><p>extra" queryCommandIndeterm("justifyright") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<div style=text-align:right>foo</div>[bar]<div style=text-align:right>baz</div><p>extra" queryCommandState("justifyright") before 
-FAIL [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<div style=text-align:right>foo</div>[bar]<div style=text-align:right>baz</div><p>extra" queryCommandValue("justifyright") before assert_equals: Wrong result returned expected "left" but got "false"
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<div style=text-align:right>foo</div>[bar]<div style=text-align:right>baz</div><p>extra" queryCommandIndeterm("justifyright") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<div style=text-align:right>foo</div>[bar]<div style=text-align:right>baz</div><p>extra" queryCommandState("justifyright") after 
-FAIL [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<div style=text-align:right>foo</div>[bar]<div style=text-align:right>baz</div><p>extra" queryCommandValue("justifyright") after assert_equals: Wrong result returned expected "right" but got "true"
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<div style=text-align:right>foo</div>[bar]<div style=text-align:right>baz</div><p>extra": execCommand("stylewithcss", false, "false") return value 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<div style=text-align:right>foo</div>[bar]<div style=text-align:right>baz</div><p>extra": execCommand("defaultparagraphseparator", false, "p") return value 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<div style=text-align:right>foo</div>[bar]<div style=text-align:right>baz</div><p>extra": execCommand("justifyright", false, "") return value 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<div style=text-align:right>foo</div>[bar]<div style=text-align:right>baz</div><p>extra" checks for modifications to non-editable content 
-FAIL [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<div style=text-align:right>foo</div>[bar]<div style=text-align:right>baz</div><p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<div style=\"text-align:right\">foo<br>bar<br>baz</div><p>extra</p>" but got "<div style=\"text-align:right\">foo</div><p style=\"text-align:right\">bar</p><div style=\"text-align:right\">baz</div><p>extra</p>"
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<div style=text-align:right>foo</div>[bar]<div style=text-align:right>baz</div><p>extra" queryCommandIndeterm("stylewithcss") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<div style=text-align:right>foo</div>[bar]<div style=text-align:right>baz</div><p>extra" queryCommandState("stylewithcss") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<div style=text-align:right>foo</div>[bar]<div style=text-align:right>baz</div><p>extra" queryCommandValue("stylewithcss") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<div style=text-align:right>foo</div>[bar]<div style=text-align:right>baz</div><p>extra" queryCommandIndeterm("stylewithcss") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<div style=text-align:right>foo</div>[bar]<div style=text-align:right>baz</div><p>extra" queryCommandState("stylewithcss") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<div style=text-align:right>foo</div>[bar]<div style=text-align:right>baz</div><p>extra" queryCommandValue("stylewithcss") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<div style=text-align:right>foo</div>[bar]<div style=text-align:right>baz</div><p>extra" queryCommandIndeterm("defaultparagraphseparator") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<div style=text-align:right>foo</div>[bar]<div style=text-align:right>baz</div><p>extra" queryCommandState("defaultparagraphseparator") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<div style=text-align:right>foo</div>[bar]<div style=text-align:right>baz</div><p>extra" queryCommandValue("defaultparagraphseparator") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<div style=text-align:right>foo</div>[bar]<div style=text-align:right>baz</div><p>extra" queryCommandIndeterm("defaultparagraphseparator") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<div style=text-align:right>foo</div>[bar]<div style=text-align:right>baz</div><p>extra" queryCommandState("defaultparagraphseparator") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<div style=text-align:right>foo</div>[bar]<div style=text-align:right>baz</div><p>extra" queryCommandValue("defaultparagraphseparator") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<div style=text-align:right>foo</div>[bar]<div style=text-align:right>baz</div><p>extra" queryCommandIndeterm("justifyright") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<div style=text-align:right>foo</div>[bar]<div style=text-align:right>baz</div><p>extra" queryCommandState("justifyright") before 
-FAIL [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<div style=text-align:right>foo</div>[bar]<div style=text-align:right>baz</div><p>extra" queryCommandValue("justifyright") before assert_equals: Wrong result returned expected "left" but got "false"
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<div style=text-align:right>foo</div>[bar]<div style=text-align:right>baz</div><p>extra" queryCommandIndeterm("justifyright") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<div style=text-align:right>foo</div>[bar]<div style=text-align:right>baz</div><p>extra" queryCommandState("justifyright") after 
-FAIL [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<div style=text-align:right>foo</div>[bar]<div style=text-align:right>baz</div><p>extra" queryCommandValue("justifyright") after assert_equals: Wrong result returned expected "right" but got "true"
-PASS [["justifyright",""]] "<div style=text-align:right><p>foo</div><p>[bar]<p>extra": execCommand("justifyright", false, "") return value 
-PASS [["justifyright",""]] "<div style=text-align:right><p>foo</div><p>[bar]<p>extra" checks for modifications to non-editable content 
-FAIL [["justifyright",""]] "<div style=text-align:right><p>foo</div><p>[bar]<p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<div style=\"text-align:right\"><p>foo</p><p>bar</p></div><p>extra</p>" but got "<div style=\"text-align:right\"><p>foo</p></div><p style=\"text-align:right\">bar</p><p>extra</p>"
-PASS [["justifyright",""]] "<div style=text-align:right><p>foo</div><p>[bar]<p>extra" queryCommandIndeterm("justifyright") before 
-PASS [["justifyright",""]] "<div style=text-align:right><p>foo</div><p>[bar]<p>extra" queryCommandState("justifyright") before 
-FAIL [["justifyright",""]] "<div style=text-align:right><p>foo</div><p>[bar]<p>extra" queryCommandValue("justifyright") before assert_equals: Wrong result returned expected "left" but got "false"
-PASS [["justifyright",""]] "<div style=text-align:right><p>foo</div><p>[bar]<p>extra" queryCommandIndeterm("justifyright") after 
-PASS [["justifyright",""]] "<div style=text-align:right><p>foo</div><p>[bar]<p>extra" queryCommandState("justifyright") after 
-FAIL [["justifyright",""]] "<div style=text-align:right><p>foo</div><p>[bar]<p>extra" queryCommandValue("justifyright") after assert_equals: Wrong result returned expected "right" but got "true"
-PASS [["justifyright",""]] "<p>[foo]<div style=text-align:right><p>bar</div><p>extra": execCommand("justifyright", false, "") return value 
-PASS [["justifyright",""]] "<p>[foo]<div style=text-align:right><p>bar</div><p>extra" checks for modifications to non-editable content 
-FAIL [["justifyright",""]] "<p>[foo]<div style=text-align:right><p>bar</div><p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<div style=\"text-align:right\"><p>foo</p><p>bar</p></div><p>extra</p>" but got "<p style=\"text-align:right\">foo</p><div style=\"text-align:right\"><p>bar</p></div><p>extra</p>"
-PASS [["justifyright",""]] "<p>[foo]<div style=text-align:right><p>bar</div><p>extra" queryCommandIndeterm("justifyright") before 
-PASS [["justifyright",""]] "<p>[foo]<div style=text-align:right><p>bar</div><p>extra" queryCommandState("justifyright") before 
-FAIL [["justifyright",""]] "<p>[foo]<div style=text-align:right><p>bar</div><p>extra" queryCommandValue("justifyright") before assert_equals: Wrong result returned expected "left" but got "false"
-PASS [["justifyright",""]] "<p>[foo]<div style=text-align:right><p>bar</div><p>extra" queryCommandIndeterm("justifyright") after 
-PASS [["justifyright",""]] "<p>[foo]<div style=text-align:right><p>bar</div><p>extra" queryCommandState("justifyright") after 
-FAIL [["justifyright",""]] "<p>[foo]<div style=text-align:right><p>bar</div><p>extra" queryCommandValue("justifyright") after assert_equals: Wrong result returned expected "right" but got "true"
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<div style=text-align:right><p>foo</div><p>[bar]<div style=text-align:right><p>baz</div><p>extra": execCommand("stylewithcss", false, "true") return value 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<div style=text-align:right><p>foo</div><p>[bar]<div style=text-align:right><p>baz</div><p>extra": execCommand("defaultparagraphseparator", false, "div") return value 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<div style=text-align:right><p>foo</div><p>[bar]<div style=text-align:right><p>baz</div><p>extra": execCommand("justifyright", false, "") return value 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<div style=text-align:right><p>foo</div><p>[bar]<div style=text-align:right><p>baz</div><p>extra" checks for modifications to non-editable content 
-FAIL [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<div style=text-align:right><p>foo</div><p>[bar]<div style=text-align:right><p>baz</div><p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<div style=\"text-align:right\"><p>foo</p><p>bar</p><p>baz</p></div><p>extra</p>" but got "<div style=\"text-align:right\"><p>foo</p></div><p style=\"text-align:right\">bar</p><div style=\"text-align:right\"><p>baz</p></div><p>extra</p>"
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<div style=text-align:right><p>foo</div><p>[bar]<div style=text-align:right><p>baz</div><p>extra" queryCommandIndeterm("stylewithcss") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<div style=text-align:right><p>foo</div><p>[bar]<div style=text-align:right><p>baz</div><p>extra" queryCommandState("stylewithcss") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<div style=text-align:right><p>foo</div><p>[bar]<div style=text-align:right><p>baz</div><p>extra" queryCommandValue("stylewithcss") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<div style=text-align:right><p>foo</div><p>[bar]<div style=text-align:right><p>baz</div><p>extra" queryCommandIndeterm("stylewithcss") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<div style=text-align:right><p>foo</div><p>[bar]<div style=text-align:right><p>baz</div><p>extra" queryCommandState("stylewithcss") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<div style=text-align:right><p>foo</div><p>[bar]<div style=text-align:right><p>baz</div><p>extra" queryCommandValue("stylewithcss") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<div style=text-align:right><p>foo</div><p>[bar]<div style=text-align:right><p>baz</div><p>extra" queryCommandIndeterm("defaultparagraphseparator") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<div style=text-align:right><p>foo</div><p>[bar]<div style=text-align:right><p>baz</div><p>extra" queryCommandState("defaultparagraphseparator") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<div style=text-align:right><p>foo</div><p>[bar]<div style=text-align:right><p>baz</div><p>extra" queryCommandValue("defaultparagraphseparator") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<div style=text-align:right><p>foo</div><p>[bar]<div style=text-align:right><p>baz</div><p>extra" queryCommandIndeterm("defaultparagraphseparator") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<div style=text-align:right><p>foo</div><p>[bar]<div style=text-align:right><p>baz</div><p>extra" queryCommandState("defaultparagraphseparator") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<div style=text-align:right><p>foo</div><p>[bar]<div style=text-align:right><p>baz</div><p>extra" queryCommandValue("defaultparagraphseparator") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<div style=text-align:right><p>foo</div><p>[bar]<div style=text-align:right><p>baz</div><p>extra" queryCommandIndeterm("justifyright") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<div style=text-align:right><p>foo</div><p>[bar]<div style=text-align:right><p>baz</div><p>extra" queryCommandState("justifyright") before 
-FAIL [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<div style=text-align:right><p>foo</div><p>[bar]<div style=text-align:right><p>baz</div><p>extra" queryCommandValue("justifyright") before assert_equals: Wrong result returned expected "left" but got "false"
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<div style=text-align:right><p>foo</div><p>[bar]<div style=text-align:right><p>baz</div><p>extra" queryCommandIndeterm("justifyright") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<div style=text-align:right><p>foo</div><p>[bar]<div style=text-align:right><p>baz</div><p>extra" queryCommandState("justifyright") after 
-FAIL [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<div style=text-align:right><p>foo</div><p>[bar]<div style=text-align:right><p>baz</div><p>extra" queryCommandValue("justifyright") after assert_equals: Wrong result returned expected "right" but got "true"
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<div style=text-align:right><p>foo</div><p>[bar]<div style=text-align:right><p>baz</div><p>extra": execCommand("stylewithcss", false, "false") return value 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<div style=text-align:right><p>foo</div><p>[bar]<div style=text-align:right><p>baz</div><p>extra": execCommand("defaultparagraphseparator", false, "div") return value 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<div style=text-align:right><p>foo</div><p>[bar]<div style=text-align:right><p>baz</div><p>extra": execCommand("justifyright", false, "") return value 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<div style=text-align:right><p>foo</div><p>[bar]<div style=text-align:right><p>baz</div><p>extra" checks for modifications to non-editable content 
-FAIL [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<div style=text-align:right><p>foo</div><p>[bar]<div style=text-align:right><p>baz</div><p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<div style=\"text-align:right\"><p>foo</p><p>bar</p><p>baz</p></div><p>extra</p>" but got "<div style=\"text-align:right\"><p>foo</p></div><p style=\"text-align:right\">bar</p><div style=\"text-align:right\"><p>baz</p></div><p>extra</p>"
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<div style=text-align:right><p>foo</div><p>[bar]<div style=text-align:right><p>baz</div><p>extra" queryCommandIndeterm("stylewithcss") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<div style=text-align:right><p>foo</div><p>[bar]<div style=text-align:right><p>baz</div><p>extra" queryCommandState("stylewithcss") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<div style=text-align:right><p>foo</div><p>[bar]<div style=text-align:right><p>baz</div><p>extra" queryCommandValue("stylewithcss") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<div style=text-align:right><p>foo</div><p>[bar]<div style=text-align:right><p>baz</div><p>extra" queryCommandIndeterm("stylewithcss") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<div style=text-align:right><p>foo</div><p>[bar]<div style=text-align:right><p>baz</div><p>extra" queryCommandState("stylewithcss") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<div style=text-align:right><p>foo</div><p>[bar]<div style=text-align:right><p>baz</div><p>extra" queryCommandValue("stylewithcss") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<div style=text-align:right><p>foo</div><p>[bar]<div style=text-align:right><p>baz</div><p>extra" queryCommandIndeterm("defaultparagraphseparator") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<div style=text-align:right><p>foo</div><p>[bar]<div style=text-align:right><p>baz</div><p>extra" queryCommandState("defaultparagraphseparator") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<div style=text-align:right><p>foo</div><p>[bar]<div style=text-align:right><p>baz</div><p>extra" queryCommandValue("defaultparagraphseparator") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<div style=text-align:right><p>foo</div><p>[bar]<div style=text-align:right><p>baz</div><p>extra" queryCommandIndeterm("defaultparagraphseparator") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<div style=text-align:right><p>foo</div><p>[bar]<div style=text-align:right><p>baz</div><p>extra" queryCommandState("defaultparagraphseparator") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<div style=text-align:right><p>foo</div><p>[bar]<div style=text-align:right><p>baz</div><p>extra" queryCommandValue("defaultparagraphseparator") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<div style=text-align:right><p>foo</div><p>[bar]<div style=text-align:right><p>baz</div><p>extra" queryCommandIndeterm("justifyright") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<div style=text-align:right><p>foo</div><p>[bar]<div style=text-align:right><p>baz</div><p>extra" queryCommandState("justifyright") before 
-FAIL [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<div style=text-align:right><p>foo</div><p>[bar]<div style=text-align:right><p>baz</div><p>extra" queryCommandValue("justifyright") before assert_equals: Wrong result returned expected "left" but got "false"
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<div style=text-align:right><p>foo</div><p>[bar]<div style=text-align:right><p>baz</div><p>extra" queryCommandIndeterm("justifyright") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<div style=text-align:right><p>foo</div><p>[bar]<div style=text-align:right><p>baz</div><p>extra" queryCommandState("justifyright") after 
-FAIL [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<div style=text-align:right><p>foo</div><p>[bar]<div style=text-align:right><p>baz</div><p>extra" queryCommandValue("justifyright") after assert_equals: Wrong result returned expected "right" but got "true"
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<div style=text-align:right><p>foo</div><p>[bar]<div style=text-align:right><p>baz</div><p>extra": execCommand("stylewithcss", false, "true") return value 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<div style=text-align:right><p>foo</div><p>[bar]<div style=text-align:right><p>baz</div><p>extra": execCommand("defaultparagraphseparator", false, "p") return value 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<div style=text-align:right><p>foo</div><p>[bar]<div style=text-align:right><p>baz</div><p>extra": execCommand("justifyright", false, "") return value 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<div style=text-align:right><p>foo</div><p>[bar]<div style=text-align:right><p>baz</div><p>extra" checks for modifications to non-editable content 
-FAIL [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<div style=text-align:right><p>foo</div><p>[bar]<div style=text-align:right><p>baz</div><p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<div style=\"text-align:right\"><p>foo</p><p>bar</p><p>baz</p></div><p>extra</p>" but got "<div style=\"text-align:right\"><p>foo</p></div><p style=\"text-align:right\">bar</p><div style=\"text-align:right\"><p>baz</p></div><p>extra</p>"
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<div style=text-align:right><p>foo</div><p>[bar]<div style=text-align:right><p>baz</div><p>extra" queryCommandIndeterm("stylewithcss") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<div style=text-align:right><p>foo</div><p>[bar]<div style=text-align:right><p>baz</div><p>extra" queryCommandState("stylewithcss") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<div style=text-align:right><p>foo</div><p>[bar]<div style=text-align:right><p>baz</div><p>extra" queryCommandValue("stylewithcss") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<div style=text-align:right><p>foo</div><p>[bar]<div style=text-align:right><p>baz</div><p>extra" queryCommandIndeterm("stylewithcss") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<div style=text-align:right><p>foo</div><p>[bar]<div style=text-align:right><p>baz</div><p>extra" queryCommandState("stylewithcss") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<div style=text-align:right><p>foo</div><p>[bar]<div style=text-align:right><p>baz</div><p>extra" queryCommandValue("stylewithcss") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<div style=text-align:right><p>foo</div><p>[bar]<div style=text-align:right><p>baz</div><p>extra" queryCommandIndeterm("defaultparagraphseparator") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<div style=text-align:right><p>foo</div><p>[bar]<div style=text-align:right><p>baz</div><p>extra" queryCommandState("defaultparagraphseparator") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<div style=text-align:right><p>foo</div><p>[bar]<div style=text-align:right><p>baz</div><p>extra" queryCommandValue("defaultparagraphseparator") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<div style=text-align:right><p>foo</div><p>[bar]<div style=text-align:right><p>baz</div><p>extra" queryCommandIndeterm("defaultparagraphseparator") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<div style=text-align:right><p>foo</div><p>[bar]<div style=text-align:right><p>baz</div><p>extra" queryCommandState("defaultparagraphseparator") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<div style=text-align:right><p>foo</div><p>[bar]<div style=text-align:right><p>baz</div><p>extra" queryCommandValue("defaultparagraphseparator") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<div style=text-align:right><p>foo</div><p>[bar]<div style=text-align:right><p>baz</div><p>extra" queryCommandIndeterm("justifyright") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<div style=text-align:right><p>foo</div><p>[bar]<div style=text-align:right><p>baz</div><p>extra" queryCommandState("justifyright") before 
-FAIL [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<div style=text-align:right><p>foo</div><p>[bar]<div style=text-align:right><p>baz</div><p>extra" queryCommandValue("justifyright") before assert_equals: Wrong result returned expected "left" but got "false"
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<div style=text-align:right><p>foo</div><p>[bar]<div style=text-align:right><p>baz</div><p>extra" queryCommandIndeterm("justifyright") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<div style=text-align:right><p>foo</div><p>[bar]<div style=text-align:right><p>baz</div><p>extra" queryCommandState("justifyright") after 
-FAIL [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<div style=text-align:right><p>foo</div><p>[bar]<div style=text-align:right><p>baz</div><p>extra" queryCommandValue("justifyright") after assert_equals: Wrong result returned expected "right" but got "true"
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<div style=text-align:right><p>foo</div><p>[bar]<div style=text-align:right><p>baz</div><p>extra": execCommand("stylewithcss", false, "false") return value 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<div style=text-align:right><p>foo</div><p>[bar]<div style=text-align:right><p>baz</div><p>extra": execCommand("defaultparagraphseparator", false, "p") return value 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<div style=text-align:right><p>foo</div><p>[bar]<div style=text-align:right><p>baz</div><p>extra": execCommand("justifyright", false, "") return value 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<div style=text-align:right><p>foo</div><p>[bar]<div style=text-align:right><p>baz</div><p>extra" checks for modifications to non-editable content 
-FAIL [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<div style=text-align:right><p>foo</div><p>[bar]<div style=text-align:right><p>baz</div><p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<div style=\"text-align:right\"><p>foo</p><p>bar</p><p>baz</p></div><p>extra</p>" but got "<div style=\"text-align:right\"><p>foo</p></div><p style=\"text-align:right\">bar</p><div style=\"text-align:right\"><p>baz</p></div><p>extra</p>"
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<div style=text-align:right><p>foo</div><p>[bar]<div style=text-align:right><p>baz</div><p>extra" queryCommandIndeterm("stylewithcss") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<div style=text-align:right><p>foo</div><p>[bar]<div style=text-align:right><p>baz</div><p>extra" queryCommandState("stylewithcss") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<div style=text-align:right><p>foo</div><p>[bar]<div style=text-align:right><p>baz</div><p>extra" queryCommandValue("stylewithcss") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<div style=text-align:right><p>foo</div><p>[bar]<div style=text-align:right><p>baz</div><p>extra" queryCommandIndeterm("stylewithcss") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<div style=text-align:right><p>foo</div><p>[bar]<div style=text-align:right><p>baz</div><p>extra" queryCommandState("stylewithcss") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<div style=text-align:right><p>foo</div><p>[bar]<div style=text-align:right><p>baz</div><p>extra" queryCommandValue("stylewithcss") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<div style=text-align:right><p>foo</div><p>[bar]<div style=text-align:right><p>baz</div><p>extra" queryCommandIndeterm("defaultparagraphseparator") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<div style=text-align:right><p>foo</div><p>[bar]<div style=text-align:right><p>baz</div><p>extra" queryCommandState("defaultparagraphseparator") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<div style=text-align:right><p>foo</div><p>[bar]<div style=text-align:right><p>baz</div><p>extra" queryCommandValue("defaultparagraphseparator") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<div style=text-align:right><p>foo</div><p>[bar]<div style=text-align:right><p>baz</div><p>extra" queryCommandIndeterm("defaultparagraphseparator") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<div style=text-align:right><p>foo</div><p>[bar]<div style=text-align:right><p>baz</div><p>extra" queryCommandState("defaultparagraphseparator") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<div style=text-align:right><p>foo</div><p>[bar]<div style=text-align:right><p>baz</div><p>extra" queryCommandValue("defaultparagraphseparator") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<div style=text-align:right><p>foo</div><p>[bar]<div style=text-align:right><p>baz</div><p>extra" queryCommandIndeterm("justifyright") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<div style=text-align:right><p>foo</div><p>[bar]<div style=text-align:right><p>baz</div><p>extra" queryCommandState("justifyright") before 
-FAIL [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<div style=text-align:right><p>foo</div><p>[bar]<div style=text-align:right><p>baz</div><p>extra" queryCommandValue("justifyright") before assert_equals: Wrong result returned expected "left" but got "false"
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<div style=text-align:right><p>foo</div><p>[bar]<div style=text-align:right><p>baz</div><p>extra" queryCommandIndeterm("justifyright") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<div style=text-align:right><p>foo</div><p>[bar]<div style=text-align:right><p>baz</div><p>extra" queryCommandState("justifyright") after 
-FAIL [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<div style=text-align:right><p>foo</div><p>[bar]<div style=text-align:right><p>baz</div><p>extra" queryCommandValue("justifyright") after assert_equals: Wrong result returned expected "right" but got "true"
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<p align=right>foo<p>[bar]<p>extra": execCommand("stylewithcss", false, "true") return value 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<p align=right>foo<p>[bar]<p>extra": execCommand("defaultparagraphseparator", false, "div") return value 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<p align=right>foo<p>[bar]<p>extra": execCommand("justifyright", false, "") return value 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<p align=right>foo<p>[bar]<p>extra" checks for modifications to non-editable content 
-FAIL [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<p align=right>foo<p>[bar]<p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<p align=\"right\">foo</p><div style=\"text-align:right\"><p>bar</p></div><p>extra</p>" but got "<p align=\"right\">foo</p><p style=\"text-align:right\">bar</p><p>extra</p>"
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<p align=right>foo<p>[bar]<p>extra" queryCommandIndeterm("stylewithcss") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<p align=right>foo<p>[bar]<p>extra" queryCommandState("stylewithcss") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<p align=right>foo<p>[bar]<p>extra" queryCommandValue("stylewithcss") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<p align=right>foo<p>[bar]<p>extra" queryCommandIndeterm("stylewithcss") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<p align=right>foo<p>[bar]<p>extra" queryCommandState("stylewithcss") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<p align=right>foo<p>[bar]<p>extra" queryCommandValue("stylewithcss") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<p align=right>foo<p>[bar]<p>extra" queryCommandIndeterm("defaultparagraphseparator") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<p align=right>foo<p>[bar]<p>extra" queryCommandState("defaultparagraphseparator") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<p align=right>foo<p>[bar]<p>extra" queryCommandValue("defaultparagraphseparator") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<p align=right>foo<p>[bar]<p>extra" queryCommandIndeterm("defaultparagraphseparator") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<p align=right>foo<p>[bar]<p>extra" queryCommandState("defaultparagraphseparator") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<p align=right>foo<p>[bar]<p>extra" queryCommandValue("defaultparagraphseparator") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<p align=right>foo<p>[bar]<p>extra" queryCommandIndeterm("justifyright") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<p align=right>foo<p>[bar]<p>extra" queryCommandState("justifyright") before 
-FAIL [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<p align=right>foo<p>[bar]<p>extra" queryCommandValue("justifyright") before assert_equals: Wrong result returned expected "left" but got "false"
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<p align=right>foo<p>[bar]<p>extra" queryCommandIndeterm("justifyright") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<p align=right>foo<p>[bar]<p>extra" queryCommandState("justifyright") after 
-FAIL [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<p align=right>foo<p>[bar]<p>extra" queryCommandValue("justifyright") after assert_equals: Wrong result returned expected "right" but got "true"
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<p align=right>foo<p>[bar]<p>extra": execCommand("stylewithcss", false, "false") return value 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<p align=right>foo<p>[bar]<p>extra": execCommand("defaultparagraphseparator", false, "div") return value 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<p align=right>foo<p>[bar]<p>extra": execCommand("justifyright", false, "") return value 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<p align=right>foo<p>[bar]<p>extra" checks for modifications to non-editable content 
-FAIL [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<p align=right>foo<p>[bar]<p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<p align=\"right\">foo</p><div style=\"text-align:right\"><p>bar</p></div><p>extra</p>" but got "<p align=\"right\">foo</p><p style=\"text-align:right\">bar</p><p>extra</p>"
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<p align=right>foo<p>[bar]<p>extra" queryCommandIndeterm("stylewithcss") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<p align=right>foo<p>[bar]<p>extra" queryCommandState("stylewithcss") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<p align=right>foo<p>[bar]<p>extra" queryCommandValue("stylewithcss") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<p align=right>foo<p>[bar]<p>extra" queryCommandIndeterm("stylewithcss") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<p align=right>foo<p>[bar]<p>extra" queryCommandState("stylewithcss") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<p align=right>foo<p>[bar]<p>extra" queryCommandValue("stylewithcss") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<p align=right>foo<p>[bar]<p>extra" queryCommandIndeterm("defaultparagraphseparator") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<p align=right>foo<p>[bar]<p>extra" queryCommandState("defaultparagraphseparator") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<p align=right>foo<p>[bar]<p>extra" queryCommandValue("defaultparagraphseparator") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<p align=right>foo<p>[bar]<p>extra" queryCommandIndeterm("defaultparagraphseparator") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<p align=right>foo<p>[bar]<p>extra" queryCommandState("defaultparagraphseparator") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<p align=right>foo<p>[bar]<p>extra" queryCommandValue("defaultparagraphseparator") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<p align=right>foo<p>[bar]<p>extra" queryCommandIndeterm("justifyright") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<p align=right>foo<p>[bar]<p>extra" queryCommandState("justifyright") before 
-FAIL [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<p align=right>foo<p>[bar]<p>extra" queryCommandValue("justifyright") before assert_equals: Wrong result returned expected "left" but got "false"
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<p align=right>foo<p>[bar]<p>extra" queryCommandIndeterm("justifyright") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<p align=right>foo<p>[bar]<p>extra" queryCommandState("justifyright") after 
-FAIL [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<p align=right>foo<p>[bar]<p>extra" queryCommandValue("justifyright") after assert_equals: Wrong result returned expected "right" but got "true"
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<p align=right>foo<p>[bar]<p>extra": execCommand("stylewithcss", false, "true") return value 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<p align=right>foo<p>[bar]<p>extra": execCommand("defaultparagraphseparator", false, "p") return value 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<p align=right>foo<p>[bar]<p>extra": execCommand("justifyright", false, "") return value 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<p align=right>foo<p>[bar]<p>extra" checks for modifications to non-editable content 
-FAIL [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<p align=right>foo<p>[bar]<p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<p align=\"right\">foo</p><div style=\"text-align:right\"><p>bar</p></div><p>extra</p>" but got "<p align=\"right\">foo</p><p style=\"text-align:right\">bar</p><p>extra</p>"
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<p align=right>foo<p>[bar]<p>extra" queryCommandIndeterm("stylewithcss") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<p align=right>foo<p>[bar]<p>extra" queryCommandState("stylewithcss") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<p align=right>foo<p>[bar]<p>extra" queryCommandValue("stylewithcss") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<p align=right>foo<p>[bar]<p>extra" queryCommandIndeterm("stylewithcss") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<p align=right>foo<p>[bar]<p>extra" queryCommandState("stylewithcss") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<p align=right>foo<p>[bar]<p>extra" queryCommandValue("stylewithcss") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<p align=right>foo<p>[bar]<p>extra" queryCommandIndeterm("defaultparagraphseparator") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<p align=right>foo<p>[bar]<p>extra" queryCommandState("defaultparagraphseparator") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<p align=right>foo<p>[bar]<p>extra" queryCommandValue("defaultparagraphseparator") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<p align=right>foo<p>[bar]<p>extra" queryCommandIndeterm("defaultparagraphseparator") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<p align=right>foo<p>[bar]<p>extra" queryCommandState("defaultparagraphseparator") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<p align=right>foo<p>[bar]<p>extra" queryCommandValue("defaultparagraphseparator") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<p align=right>foo<p>[bar]<p>extra" queryCommandIndeterm("justifyright") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<p align=right>foo<p>[bar]<p>extra" queryCommandState("justifyright") before 
-FAIL [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<p align=right>foo<p>[bar]<p>extra" queryCommandValue("justifyright") before assert_equals: Wrong result returned expected "left" but got "false"
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<p align=right>foo<p>[bar]<p>extra" queryCommandIndeterm("justifyright") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<p align=right>foo<p>[bar]<p>extra" queryCommandState("justifyright") after 
-FAIL [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<p align=right>foo<p>[bar]<p>extra" queryCommandValue("justifyright") after assert_equals: Wrong result returned expected "right" but got "true"
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<p align=right>foo<p>[bar]<p>extra": execCommand("stylewithcss", false, "false") return value 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<p align=right>foo<p>[bar]<p>extra": execCommand("defaultparagraphseparator", false, "p") return value 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<p align=right>foo<p>[bar]<p>extra": execCommand("justifyright", false, "") return value 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<p align=right>foo<p>[bar]<p>extra" checks for modifications to non-editable content 
-FAIL [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<p align=right>foo<p>[bar]<p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<p align=\"right\">foo</p><div style=\"text-align:right\"><p>bar</p></div><p>extra</p>" but got "<p align=\"right\">foo</p><p style=\"text-align:right\">bar</p><p>extra</p>"
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<p align=right>foo<p>[bar]<p>extra" queryCommandIndeterm("stylewithcss") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<p align=right>foo<p>[bar]<p>extra" queryCommandState("stylewithcss") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<p align=right>foo<p>[bar]<p>extra" queryCommandValue("stylewithcss") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<p align=right>foo<p>[bar]<p>extra" queryCommandIndeterm("stylewithcss") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<p align=right>foo<p>[bar]<p>extra" queryCommandState("stylewithcss") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<p align=right>foo<p>[bar]<p>extra" queryCommandValue("stylewithcss") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<p align=right>foo<p>[bar]<p>extra" queryCommandIndeterm("defaultparagraphseparator") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<p align=right>foo<p>[bar]<p>extra" queryCommandState("defaultparagraphseparator") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<p align=right>foo<p>[bar]<p>extra" queryCommandValue("defaultparagraphseparator") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<p align=right>foo<p>[bar]<p>extra" queryCommandIndeterm("defaultparagraphseparator") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<p align=right>foo<p>[bar]<p>extra" queryCommandState("defaultparagraphseparator") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<p align=right>foo<p>[bar]<p>extra" queryCommandValue("defaultparagraphseparator") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<p align=right>foo<p>[bar]<p>extra" queryCommandIndeterm("justifyright") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<p align=right>foo<p>[bar]<p>extra" queryCommandState("justifyright") before 
-FAIL [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<p align=right>foo<p>[bar]<p>extra" queryCommandValue("justifyright") before assert_equals: Wrong result returned expected "left" but got "false"
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<p align=right>foo<p>[bar]<p>extra" queryCommandIndeterm("justifyright") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<p align=right>foo<p>[bar]<p>extra" queryCommandState("justifyright") after 
-FAIL [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<p align=right>foo<p>[bar]<p>extra" queryCommandValue("justifyright") after assert_equals: Wrong result returned expected "right" but got "true"
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<p>[foo]<p align=right>bar<p>extra": execCommand("stylewithcss", false, "true") return value 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<p>[foo]<p align=right>bar<p>extra": execCommand("defaultparagraphseparator", false, "div") return value 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<p>[foo]<p align=right>bar<p>extra": execCommand("justifyright", false, "") return value 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<p>[foo]<p align=right>bar<p>extra" checks for modifications to non-editable content 
-FAIL [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<p>[foo]<p align=right>bar<p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<div style=\"text-align:right\"><p>foo</p></div><p align=\"right\">bar</p><p>extra</p>" but got "<p style=\"text-align:right\">foo</p><p align=\"right\">bar</p><p>extra</p>"
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<p>[foo]<p align=right>bar<p>extra" queryCommandIndeterm("stylewithcss") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<p>[foo]<p align=right>bar<p>extra" queryCommandState("stylewithcss") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<p>[foo]<p align=right>bar<p>extra" queryCommandValue("stylewithcss") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<p>[foo]<p align=right>bar<p>extra" queryCommandIndeterm("stylewithcss") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<p>[foo]<p align=right>bar<p>extra" queryCommandState("stylewithcss") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<p>[foo]<p align=right>bar<p>extra" queryCommandValue("stylewithcss") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<p>[foo]<p align=right>bar<p>extra" queryCommandIndeterm("defaultparagraphseparator") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<p>[foo]<p align=right>bar<p>extra" queryCommandState("defaultparagraphseparator") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<p>[foo]<p align=right>bar<p>extra" queryCommandValue("defaultparagraphseparator") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<p>[foo]<p align=right>bar<p>extra" queryCommandIndeterm("defaultparagraphseparator") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<p>[foo]<p align=right>bar<p>extra" queryCommandState("defaultparagraphseparator") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<p>[foo]<p align=right>bar<p>extra" queryCommandValue("defaultparagraphseparator") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<p>[foo]<p align=right>bar<p>extra" queryCommandIndeterm("justifyright") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<p>[foo]<p align=right>bar<p>extra" queryCommandState("justifyright") before 
-FAIL [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<p>[foo]<p align=right>bar<p>extra" queryCommandValue("justifyright") before assert_equals: Wrong result returned expected "left" but got "false"
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<p>[foo]<p align=right>bar<p>extra" queryCommandIndeterm("justifyright") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<p>[foo]<p align=right>bar<p>extra" queryCommandState("justifyright") after 
-FAIL [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<p>[foo]<p align=right>bar<p>extra" queryCommandValue("justifyright") after assert_equals: Wrong result returned expected "right" but got "true"
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<p>[foo]<p align=right>bar<p>extra": execCommand("stylewithcss", false, "false") return value 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<p>[foo]<p align=right>bar<p>extra": execCommand("defaultparagraphseparator", false, "div") return value 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<p>[foo]<p align=right>bar<p>extra": execCommand("justifyright", false, "") return value 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<p>[foo]<p align=right>bar<p>extra" checks for modifications to non-editable content 
-FAIL [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<p>[foo]<p align=right>bar<p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<div style=\"text-align:right\"><p>foo</p></div><p align=\"right\">bar</p><p>extra</p>" but got "<p style=\"text-align:right\">foo</p><p align=\"right\">bar</p><p>extra</p>"
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<p>[foo]<p align=right>bar<p>extra" queryCommandIndeterm("stylewithcss") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<p>[foo]<p align=right>bar<p>extra" queryCommandState("stylewithcss") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<p>[foo]<p align=right>bar<p>extra" queryCommandValue("stylewithcss") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<p>[foo]<p align=right>bar<p>extra" queryCommandIndeterm("stylewithcss") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<p>[foo]<p align=right>bar<p>extra" queryCommandState("stylewithcss") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<p>[foo]<p align=right>bar<p>extra" queryCommandValue("stylewithcss") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<p>[foo]<p align=right>bar<p>extra" queryCommandIndeterm("defaultparagraphseparator") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<p>[foo]<p align=right>bar<p>extra" queryCommandState("defaultparagraphseparator") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<p>[foo]<p align=right>bar<p>extra" queryCommandValue("defaultparagraphseparator") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<p>[foo]<p align=right>bar<p>extra" queryCommandIndeterm("defaultparagraphseparator") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<p>[foo]<p align=right>bar<p>extra" queryCommandState("defaultparagraphseparator") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<p>[foo]<p align=right>bar<p>extra" queryCommandValue("defaultparagraphseparator") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<p>[foo]<p align=right>bar<p>extra" queryCommandIndeterm("justifyright") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<p>[foo]<p align=right>bar<p>extra" queryCommandState("justifyright") before 
-FAIL [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<p>[foo]<p align=right>bar<p>extra" queryCommandValue("justifyright") before assert_equals: Wrong result returned expected "left" but got "false"
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<p>[foo]<p align=right>bar<p>extra" queryCommandIndeterm("justifyright") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<p>[foo]<p align=right>bar<p>extra" queryCommandState("justifyright") after 
-FAIL [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<p>[foo]<p align=right>bar<p>extra" queryCommandValue("justifyright") after assert_equals: Wrong result returned expected "right" but got "true"
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<p>[foo]<p align=right>bar<p>extra": execCommand("stylewithcss", false, "true") return value 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<p>[foo]<p align=right>bar<p>extra": execCommand("defaultparagraphseparator", false, "p") return value 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<p>[foo]<p align=right>bar<p>extra": execCommand("justifyright", false, "") return value 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<p>[foo]<p align=right>bar<p>extra" checks for modifications to non-editable content 
-FAIL [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<p>[foo]<p align=right>bar<p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<div style=\"text-align:right\"><p>foo</p></div><p align=\"right\">bar</p><p>extra</p>" but got "<p style=\"text-align:right\">foo</p><p align=\"right\">bar</p><p>extra</p>"
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<p>[foo]<p align=right>bar<p>extra" queryCommandIndeterm("stylewithcss") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<p>[foo]<p align=right>bar<p>extra" queryCommandState("stylewithcss") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<p>[foo]<p align=right>bar<p>extra" queryCommandValue("stylewithcss") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<p>[foo]<p align=right>bar<p>extra" queryCommandIndeterm("stylewithcss") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<p>[foo]<p align=right>bar<p>extra" queryCommandState("stylewithcss") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<p>[foo]<p align=right>bar<p>extra" queryCommandValue("stylewithcss") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<p>[foo]<p align=right>bar<p>extra" queryCommandIndeterm("defaultparagraphseparator") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<p>[foo]<p align=right>bar<p>extra" queryCommandState("defaultparagraphseparator") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<p>[foo]<p align=right>bar<p>extra" queryCommandValue("defaultparagraphseparator") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<p>[foo]<p align=right>bar<p>extra" queryCommandIndeterm("defaultparagraphseparator") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<p>[foo]<p align=right>bar<p>extra" queryCommandState("defaultparagraphseparator") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<p>[foo]<p align=right>bar<p>extra" queryCommandValue("defaultparagraphseparator") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<p>[foo]<p align=right>bar<p>extra" queryCommandIndeterm("justifyright") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<p>[foo]<p align=right>bar<p>extra" queryCommandState("justifyright") before 
-FAIL [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<p>[foo]<p align=right>bar<p>extra" queryCommandValue("justifyright") before assert_equals: Wrong result returned expected "left" but got "false"
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<p>[foo]<p align=right>bar<p>extra" queryCommandIndeterm("justifyright") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<p>[foo]<p align=right>bar<p>extra" queryCommandState("justifyright") after 
-FAIL [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<p>[foo]<p align=right>bar<p>extra" queryCommandValue("justifyright") after assert_equals: Wrong result returned expected "right" but got "true"
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<p>[foo]<p align=right>bar<p>extra": execCommand("stylewithcss", false, "false") return value 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<p>[foo]<p align=right>bar<p>extra": execCommand("defaultparagraphseparator", false, "p") return value 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<p>[foo]<p align=right>bar<p>extra": execCommand("justifyright", false, "") return value 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<p>[foo]<p align=right>bar<p>extra" checks for modifications to non-editable content 
-FAIL [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<p>[foo]<p align=right>bar<p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<div style=\"text-align:right\"><p>foo</p></div><p align=\"right\">bar</p><p>extra</p>" but got "<p style=\"text-align:right\">foo</p><p align=\"right\">bar</p><p>extra</p>"
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<p>[foo]<p align=right>bar<p>extra" queryCommandIndeterm("stylewithcss") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<p>[foo]<p align=right>bar<p>extra" queryCommandState("stylewithcss") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<p>[foo]<p align=right>bar<p>extra" queryCommandValue("stylewithcss") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<p>[foo]<p align=right>bar<p>extra" queryCommandIndeterm("stylewithcss") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<p>[foo]<p align=right>bar<p>extra" queryCommandState("stylewithcss") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<p>[foo]<p align=right>bar<p>extra" queryCommandValue("stylewithcss") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<p>[foo]<p align=right>bar<p>extra" queryCommandIndeterm("defaultparagraphseparator") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<p>[foo]<p align=right>bar<p>extra" queryCommandState("defaultparagraphseparator") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<p>[foo]<p align=right>bar<p>extra" queryCommandValue("defaultparagraphseparator") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<p>[foo]<p align=right>bar<p>extra" queryCommandIndeterm("defaultparagraphseparator") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<p>[foo]<p align=right>bar<p>extra" queryCommandState("defaultparagraphseparator") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<p>[foo]<p align=right>bar<p>extra" queryCommandValue("defaultparagraphseparator") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<p>[foo]<p align=right>bar<p>extra" queryCommandIndeterm("justifyright") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<p>[foo]<p align=right>bar<p>extra" queryCommandState("justifyright") before 
-FAIL [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<p>[foo]<p align=right>bar<p>extra" queryCommandValue("justifyright") before assert_equals: Wrong result returned expected "left" but got "false"
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<p>[foo]<p align=right>bar<p>extra" queryCommandIndeterm("justifyright") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<p>[foo]<p align=right>bar<p>extra" queryCommandState("justifyright") after 
-FAIL [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<p>[foo]<p align=right>bar<p>extra" queryCommandValue("justifyright") after assert_equals: Wrong result returned expected "right" but got "true"
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<p align=right>foo<p>[bar]<p align=right>baz<p>extra": execCommand("stylewithcss", false, "true") return value 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<p align=right>foo<p>[bar]<p align=right>baz<p>extra": execCommand("defaultparagraphseparator", false, "div") return value 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<p align=right>foo<p>[bar]<p align=right>baz<p>extra": execCommand("justifyright", false, "") return value 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<p align=right>foo<p>[bar]<p align=right>baz<p>extra" checks for modifications to non-editable content 
-FAIL [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<p align=right>foo<p>[bar]<p align=right>baz<p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<p align=\"right\">foo</p><div style=\"text-align:right\"><p>bar</p></div><p align=\"right\">baz</p><p>extra</p>" but got "<p align=\"right\">foo</p><p style=\"text-align:right\">bar</p><p align=\"right\">baz</p><p>extra</p>"
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<p align=right>foo<p>[bar]<p align=right>baz<p>extra" queryCommandIndeterm("stylewithcss") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<p align=right>foo<p>[bar]<p align=right>baz<p>extra" queryCommandState("stylewithcss") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<p align=right>foo<p>[bar]<p align=right>baz<p>extra" queryCommandValue("stylewithcss") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<p align=right>foo<p>[bar]<p align=right>baz<p>extra" queryCommandIndeterm("stylewithcss") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<p align=right>foo<p>[bar]<p align=right>baz<p>extra" queryCommandState("stylewithcss") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<p align=right>foo<p>[bar]<p align=right>baz<p>extra" queryCommandValue("stylewithcss") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<p align=right>foo<p>[bar]<p align=right>baz<p>extra" queryCommandIndeterm("defaultparagraphseparator") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<p align=right>foo<p>[bar]<p align=right>baz<p>extra" queryCommandState("defaultparagraphseparator") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<p align=right>foo<p>[bar]<p align=right>baz<p>extra" queryCommandValue("defaultparagraphseparator") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<p align=right>foo<p>[bar]<p align=right>baz<p>extra" queryCommandIndeterm("defaultparagraphseparator") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<p align=right>foo<p>[bar]<p align=right>baz<p>extra" queryCommandState("defaultparagraphseparator") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<p align=right>foo<p>[bar]<p align=right>baz<p>extra" queryCommandValue("defaultparagraphseparator") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<p align=right>foo<p>[bar]<p align=right>baz<p>extra" queryCommandIndeterm("justifyright") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<p align=right>foo<p>[bar]<p align=right>baz<p>extra" queryCommandState("justifyright") before 
-FAIL [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<p align=right>foo<p>[bar]<p align=right>baz<p>extra" queryCommandValue("justifyright") before assert_equals: Wrong result returned expected "left" but got "false"
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<p align=right>foo<p>[bar]<p align=right>baz<p>extra" queryCommandIndeterm("justifyright") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<p align=right>foo<p>[bar]<p align=right>baz<p>extra" queryCommandState("justifyright") after 
-FAIL [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<p align=right>foo<p>[bar]<p align=right>baz<p>extra" queryCommandValue("justifyright") after assert_equals: Wrong result returned expected "right" but got "true"
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<p align=right>foo<p>[bar]<p align=right>baz<p>extra": execCommand("stylewithcss", false, "false") return value 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<p align=right>foo<p>[bar]<p align=right>baz<p>extra": execCommand("defaultparagraphseparator", false, "div") return value 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<p align=right>foo<p>[bar]<p align=right>baz<p>extra": execCommand("justifyright", false, "") return value 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<p align=right>foo<p>[bar]<p align=right>baz<p>extra" checks for modifications to non-editable content 
-FAIL [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<p align=right>foo<p>[bar]<p align=right>baz<p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<p align=\"right\">foo</p><div style=\"text-align:right\"><p>bar</p></div><p align=\"right\">baz</p><p>extra</p>" but got "<p align=\"right\">foo</p><p style=\"text-align:right\">bar</p><p align=\"right\">baz</p><p>extra</p>"
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<p align=right>foo<p>[bar]<p align=right>baz<p>extra" queryCommandIndeterm("stylewithcss") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<p align=right>foo<p>[bar]<p align=right>baz<p>extra" queryCommandState("stylewithcss") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<p align=right>foo<p>[bar]<p align=right>baz<p>extra" queryCommandValue("stylewithcss") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<p align=right>foo<p>[bar]<p align=right>baz<p>extra" queryCommandIndeterm("stylewithcss") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<p align=right>foo<p>[bar]<p align=right>baz<p>extra" queryCommandState("stylewithcss") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<p align=right>foo<p>[bar]<p align=right>baz<p>extra" queryCommandValue("stylewithcss") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<p align=right>foo<p>[bar]<p align=right>baz<p>extra" queryCommandIndeterm("defaultparagraphseparator") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<p align=right>foo<p>[bar]<p align=right>baz<p>extra" queryCommandState("defaultparagraphseparator") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<p align=right>foo<p>[bar]<p align=right>baz<p>extra" queryCommandValue("defaultparagraphseparator") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<p align=right>foo<p>[bar]<p align=right>baz<p>extra" queryCommandIndeterm("defaultparagraphseparator") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<p align=right>foo<p>[bar]<p align=right>baz<p>extra" queryCommandState("defaultparagraphseparator") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<p align=right>foo<p>[bar]<p align=right>baz<p>extra" queryCommandValue("defaultparagraphseparator") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<p align=right>foo<p>[bar]<p align=right>baz<p>extra" queryCommandIndeterm("justifyright") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<p align=right>foo<p>[bar]<p align=right>baz<p>extra" queryCommandState("justifyright") before 
-FAIL [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<p align=right>foo<p>[bar]<p align=right>baz<p>extra" queryCommandValue("justifyright") before assert_equals: Wrong result returned expected "left" but got "false"
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<p align=right>foo<p>[bar]<p align=right>baz<p>extra" queryCommandIndeterm("justifyright") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<p align=right>foo<p>[bar]<p align=right>baz<p>extra" queryCommandState("justifyright") after 
-FAIL [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<p align=right>foo<p>[bar]<p align=right>baz<p>extra" queryCommandValue("justifyright") after assert_equals: Wrong result returned expected "right" but got "true"
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<p align=right>foo<p>[bar]<p align=right>baz<p>extra": execCommand("stylewithcss", false, "true") return value 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<p align=right>foo<p>[bar]<p align=right>baz<p>extra": execCommand("defaultparagraphseparator", false, "p") return value 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<p align=right>foo<p>[bar]<p align=right>baz<p>extra": execCommand("justifyright", false, "") return value 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<p align=right>foo<p>[bar]<p align=right>baz<p>extra" checks for modifications to non-editable content 
-FAIL [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<p align=right>foo<p>[bar]<p align=right>baz<p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<p align=\"right\">foo</p><div style=\"text-align:right\"><p>bar</p></div><p align=\"right\">baz</p><p>extra</p>" but got "<p align=\"right\">foo</p><p style=\"text-align:right\">bar</p><p align=\"right\">baz</p><p>extra</p>"
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<p align=right>foo<p>[bar]<p align=right>baz<p>extra" queryCommandIndeterm("stylewithcss") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<p align=right>foo<p>[bar]<p align=right>baz<p>extra" queryCommandState("stylewithcss") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<p align=right>foo<p>[bar]<p align=right>baz<p>extra" queryCommandValue("stylewithcss") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<p align=right>foo<p>[bar]<p align=right>baz<p>extra" queryCommandIndeterm("stylewithcss") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<p align=right>foo<p>[bar]<p align=right>baz<p>extra" queryCommandState("stylewithcss") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<p align=right>foo<p>[bar]<p align=right>baz<p>extra" queryCommandValue("stylewithcss") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<p align=right>foo<p>[bar]<p align=right>baz<p>extra" queryCommandIndeterm("defaultparagraphseparator") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<p align=right>foo<p>[bar]<p align=right>baz<p>extra" queryCommandState("defaultparagraphseparator") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<p align=right>foo<p>[bar]<p align=right>baz<p>extra" queryCommandValue("defaultparagraphseparator") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<p align=right>foo<p>[bar]<p align=right>baz<p>extra" queryCommandIndeterm("defaultparagraphseparator") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<p align=right>foo<p>[bar]<p align=right>baz<p>extra" queryCommandState("defaultparagraphseparator") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<p align=right>foo<p>[bar]<p align=right>baz<p>extra" queryCommandValue("defaultparagraphseparator") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<p align=right>foo<p>[bar]<p align=right>baz<p>extra" queryCommandIndeterm("justifyright") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<p align=right>foo<p>[bar]<p align=right>baz<p>extra" queryCommandState("justifyright") before 
-FAIL [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<p align=right>foo<p>[bar]<p align=right>baz<p>extra" queryCommandValue("justifyright") before assert_equals: Wrong result returned expected "left" but got "false"
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<p align=right>foo<p>[bar]<p align=right>baz<p>extra" queryCommandIndeterm("justifyright") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<p align=right>foo<p>[bar]<p align=right>baz<p>extra" queryCommandState("justifyright") after 
-FAIL [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<p align=right>foo<p>[bar]<p align=right>baz<p>extra" queryCommandValue("justifyright") after assert_equals: Wrong result returned expected "right" but got "true"
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<p align=right>foo<p>[bar]<p align=right>baz<p>extra": execCommand("stylewithcss", false, "false") return value 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<p align=right>foo<p>[bar]<p align=right>baz<p>extra": execCommand("defaultparagraphseparator", false, "p") return value 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<p align=right>foo<p>[bar]<p align=right>baz<p>extra": execCommand("justifyright", false, "") return value 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<p align=right>foo<p>[bar]<p align=right>baz<p>extra" checks for modifications to non-editable content 
-FAIL [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<p align=right>foo<p>[bar]<p align=right>baz<p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<p align=\"right\">foo</p><div style=\"text-align:right\"><p>bar</p></div><p align=\"right\">baz</p><p>extra</p>" but got "<p align=\"right\">foo</p><p style=\"text-align:right\">bar</p><p align=\"right\">baz</p><p>extra</p>"
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<p align=right>foo<p>[bar]<p align=right>baz<p>extra" queryCommandIndeterm("stylewithcss") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<p align=right>foo<p>[bar]<p align=right>baz<p>extra" queryCommandState("stylewithcss") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<p align=right>foo<p>[bar]<p align=right>baz<p>extra" queryCommandValue("stylewithcss") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<p align=right>foo<p>[bar]<p align=right>baz<p>extra" queryCommandIndeterm("stylewithcss") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<p align=right>foo<p>[bar]<p align=right>baz<p>extra" queryCommandState("stylewithcss") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<p align=right>foo<p>[bar]<p align=right>baz<p>extra" queryCommandValue("stylewithcss") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<p align=right>foo<p>[bar]<p align=right>baz<p>extra" queryCommandIndeterm("defaultparagraphseparator") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<p align=right>foo<p>[bar]<p align=right>baz<p>extra" queryCommandState("defaultparagraphseparator") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<p align=right>foo<p>[bar]<p align=right>baz<p>extra" queryCommandValue("defaultparagraphseparator") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<p align=right>foo<p>[bar]<p align=right>baz<p>extra" queryCommandIndeterm("defaultparagraphseparator") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<p align=right>foo<p>[bar]<p align=right>baz<p>extra" queryCommandState("defaultparagraphseparator") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<p align=right>foo<p>[bar]<p align=right>baz<p>extra" queryCommandValue("defaultparagraphseparator") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<p align=right>foo<p>[bar]<p align=right>baz<p>extra" queryCommandIndeterm("justifyright") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<p align=right>foo<p>[bar]<p align=right>baz<p>extra" queryCommandState("justifyright") before 
-FAIL [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<p align=right>foo<p>[bar]<p align=right>baz<p>extra" queryCommandValue("justifyright") before assert_equals: Wrong result returned expected "left" but got "false"
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<p align=right>foo<p>[bar]<p align=right>baz<p>extra" queryCommandIndeterm("justifyright") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<p align=right>foo<p>[bar]<p align=right>baz<p>extra" queryCommandState("justifyright") after 
-FAIL [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<p align=right>foo<p>[bar]<p align=right>baz<p>extra" queryCommandValue("justifyright") after assert_equals: Wrong result returned expected "right" but got "true"
-PASS [["stylewithcss","true"],["justifyright",""]] "<div align=right>[foo</div>bar]<p>extra": execCommand("stylewithcss", false, "true") return value 
-PASS [["stylewithcss","true"],["justifyright",""]] "<div align=right>[foo</div>bar]<p>extra": execCommand("justifyright", false, "") return value 
-PASS [["stylewithcss","true"],["justifyright",""]] "<div align=right>[foo</div>bar]<p>extra" checks for modifications to non-editable content 
-FAIL [["stylewithcss","true"],["justifyright",""]] "<div align=right>[foo</div>bar]<p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<div style=\"text-align:right\">foo<br>bar</div><p>extra</p>" but got "<div align=\"right\">foo</div><p style=\"text-align:right\">bar</p><p>extra</p>"
-PASS [["stylewithcss","true"],["justifyright",""]] "<div align=right>[foo</div>bar]<p>extra" queryCommandIndeterm("stylewithcss") before 
-PASS [["stylewithcss","true"],["justifyright",""]] "<div align=right>[foo</div>bar]<p>extra" queryCommandState("stylewithcss") before 
-PASS [["stylewithcss","true"],["justifyright",""]] "<div align=right>[foo</div>bar]<p>extra" queryCommandValue("stylewithcss") before 
-PASS [["stylewithcss","true"],["justifyright",""]] "<div align=right>[foo</div>bar]<p>extra" queryCommandIndeterm("stylewithcss") after 
-PASS [["stylewithcss","true"],["justifyright",""]] "<div align=right>[foo</div>bar]<p>extra" queryCommandState("stylewithcss") after 
-PASS [["stylewithcss","true"],["justifyright",""]] "<div align=right>[foo</div>bar]<p>extra" queryCommandValue("stylewithcss") after 
-FAIL [["stylewithcss","true"],["justifyright",""]] "<div align=right>[foo</div>bar]<p>extra" queryCommandIndeterm("justifyright") before assert_equals: Wrong result returned expected true but got false
-FAIL [["stylewithcss","true"],["justifyright",""]] "<div align=right>[foo</div>bar]<p>extra" queryCommandState("justifyright") before assert_equals: Wrong result returned expected false but got true
-FAIL [["stylewithcss","true"],["justifyright",""]] "<div align=right>[foo</div>bar]<p>extra" queryCommandValue("justifyright") before assert_equals: Wrong result returned expected "right" but got "true"
-PASS [["stylewithcss","true"],["justifyright",""]] "<div align=right>[foo</div>bar]<p>extra" queryCommandIndeterm("justifyright") after 
-PASS [["stylewithcss","true"],["justifyright",""]] "<div align=right>[foo</div>bar]<p>extra" queryCommandState("justifyright") after 
-FAIL [["stylewithcss","true"],["justifyright",""]] "<div align=right>[foo</div>bar]<p>extra" queryCommandValue("justifyright") after assert_equals: Wrong result returned expected "right" but got "true"
-PASS [["stylewithcss","false"],["justifyright",""]] "<div align=right>[foo</div>bar]<p>extra": execCommand("stylewithcss", false, "false") return value 
-PASS [["stylewithcss","false"],["justifyright",""]] "<div align=right>[foo</div>bar]<p>extra": execCommand("justifyright", false, "") return value 
-PASS [["stylewithcss","false"],["justifyright",""]] "<div align=right>[foo</div>bar]<p>extra" checks for modifications to non-editable content 
-FAIL [["stylewithcss","false"],["justifyright",""]] "<div align=right>[foo</div>bar]<p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<div style=\"text-align:right\">foo<br>bar</div><p>extra</p>" but got "<div align=\"right\">foo</div><p style=\"text-align:right\">bar</p><p>extra</p>"
-PASS [["stylewithcss","false"],["justifyright",""]] "<div align=right>[foo</div>bar]<p>extra" queryCommandIndeterm("stylewithcss") before 
-PASS [["stylewithcss","false"],["justifyright",""]] "<div align=right>[foo</div>bar]<p>extra" queryCommandState("stylewithcss") before 
-PASS [["stylewithcss","false"],["justifyright",""]] "<div align=right>[foo</div>bar]<p>extra" queryCommandValue("stylewithcss") before 
-PASS [["stylewithcss","false"],["justifyright",""]] "<div align=right>[foo</div>bar]<p>extra" queryCommandIndeterm("stylewithcss") after 
-PASS [["stylewithcss","false"],["justifyright",""]] "<div align=right>[foo</div>bar]<p>extra" queryCommandState("stylewithcss") after 
-PASS [["stylewithcss","false"],["justifyright",""]] "<div align=right>[foo</div>bar]<p>extra" queryCommandValue("stylewithcss") after 
-FAIL [["stylewithcss","false"],["justifyright",""]] "<div align=right>[foo</div>bar]<p>extra" queryCommandIndeterm("justifyright") before assert_equals: Wrong result returned expected true but got false
-FAIL [["stylewithcss","false"],["justifyright",""]] "<div align=right>[foo</div>bar]<p>extra" queryCommandState("justifyright") before assert_equals: Wrong result returned expected false but got true
-FAIL [["stylewithcss","false"],["justifyright",""]] "<div align=right>[foo</div>bar]<p>extra" queryCommandValue("justifyright") before assert_equals: Wrong result returned expected "right" but got "true"
-PASS [["stylewithcss","false"],["justifyright",""]] "<div align=right>[foo</div>bar]<p>extra" queryCommandIndeterm("justifyright") after 
-PASS [["stylewithcss","false"],["justifyright",""]] "<div align=right>[foo</div>bar]<p>extra" queryCommandState("justifyright") after 
-FAIL [["stylewithcss","false"],["justifyright",""]] "<div align=right>[foo</div>bar]<p>extra" queryCommandValue("justifyright") after assert_equals: Wrong result returned expected "right" but got "true"
-PASS [["stylewithcss","true"],["justifyright",""]] "<div align=right>fo[o</div>b]ar<p>extra": execCommand("stylewithcss", false, "true") return value 
-PASS [["stylewithcss","true"],["justifyright",""]] "<div align=right>fo[o</div>b]ar<p>extra": execCommand("justifyright", false, "") return value 
-PASS [["stylewithcss","true"],["justifyright",""]] "<div align=right>fo[o</div>b]ar<p>extra" checks for modifications to non-editable content 
-FAIL [["stylewithcss","true"],["justifyright",""]] "<div align=right>fo[o</div>b]ar<p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<div style=\"text-align:right\">foo<br>bar</div><p>extra</p>" but got "<div align=\"right\">foo</div><p style=\"text-align:right\">bar</p><p>extra</p>"
-PASS [["stylewithcss","true"],["justifyright",""]] "<div align=right>fo[o</div>b]ar<p>extra" queryCommandIndeterm("stylewithcss") before 
-PASS [["stylewithcss","true"],["justifyright",""]] "<div align=right>fo[o</div>b]ar<p>extra" queryCommandState("stylewithcss") before 
-PASS [["stylewithcss","true"],["justifyright",""]] "<div align=right>fo[o</div>b]ar<p>extra" queryCommandValue("stylewithcss") before 
-PASS [["stylewithcss","true"],["justifyright",""]] "<div align=right>fo[o</div>b]ar<p>extra" queryCommandIndeterm("stylewithcss") after 
-PASS [["stylewithcss","true"],["justifyright",""]] "<div align=right>fo[o</div>b]ar<p>extra" queryCommandState("stylewithcss") after 
-PASS [["stylewithcss","true"],["justifyright",""]] "<div align=right>fo[o</div>b]ar<p>extra" queryCommandValue("stylewithcss") after 
-FAIL [["stylewithcss","true"],["justifyright",""]] "<div align=right>fo[o</div>b]ar<p>extra" queryCommandIndeterm("justifyright") before assert_equals: Wrong result returned expected true but got false
-FAIL [["stylewithcss","true"],["justifyright",""]] "<div align=right>fo[o</div>b]ar<p>extra" queryCommandState("justifyright") before assert_equals: Wrong result returned expected false but got true
-FAIL [["stylewithcss","true"],["justifyright",""]] "<div align=right>fo[o</div>b]ar<p>extra" queryCommandValue("justifyright") before assert_equals: Wrong result returned expected "right" but got "true"
-PASS [["stylewithcss","true"],["justifyright",""]] "<div align=right>fo[o</div>b]ar<p>extra" queryCommandIndeterm("justifyright") after 
-PASS [["stylewithcss","true"],["justifyright",""]] "<div align=right>fo[o</div>b]ar<p>extra" queryCommandState("justifyright") after 
-FAIL [["stylewithcss","true"],["justifyright",""]] "<div align=right>fo[o</div>b]ar<p>extra" queryCommandValue("justifyright") after assert_equals: Wrong result returned expected "right" but got "true"
-PASS [["stylewithcss","false"],["justifyright",""]] "<div align=right>fo[o</div>b]ar<p>extra": execCommand("stylewithcss", false, "false") return value 
-PASS [["stylewithcss","false"],["justifyright",""]] "<div align=right>fo[o</div>b]ar<p>extra": execCommand("justifyright", false, "") return value 
-PASS [["stylewithcss","false"],["justifyright",""]] "<div align=right>fo[o</div>b]ar<p>extra" checks for modifications to non-editable content 
-FAIL [["stylewithcss","false"],["justifyright",""]] "<div align=right>fo[o</div>b]ar<p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<div style=\"text-align:right\">foo<br>bar</div><p>extra</p>" but got "<div align=\"right\">foo</div><p style=\"text-align:right\">bar</p><p>extra</p>"
-PASS [["stylewithcss","false"],["justifyright",""]] "<div align=right>fo[o</div>b]ar<p>extra" queryCommandIndeterm("stylewithcss") before 
-PASS [["stylewithcss","false"],["justifyright",""]] "<div align=right>fo[o</div>b]ar<p>extra" queryCommandState("stylewithcss") before 
-PASS [["stylewithcss","false"],["justifyright",""]] "<div align=right>fo[o</div>b]ar<p>extra" queryCommandValue("stylewithcss") before 
-PASS [["stylewithcss","false"],["justifyright",""]] "<div align=right>fo[o</div>b]ar<p>extra" queryCommandIndeterm("stylewithcss") after 
-PASS [["stylewithcss","false"],["justifyright",""]] "<div align=right>fo[o</div>b]ar<p>extra" queryCommandState("stylewithcss") after 
-PASS [["stylewithcss","false"],["justifyright",""]] "<div align=right>fo[o</div>b]ar<p>extra" queryCommandValue("stylewithcss") after 
-FAIL [["stylewithcss","false"],["justifyright",""]] "<div align=right>fo[o</div>b]ar<p>extra" queryCommandIndeterm("justifyright") before assert_equals: Wrong result returned expected true but got false
-FAIL [["stylewithcss","false"],["justifyright",""]] "<div align=right>fo[o</div>b]ar<p>extra" queryCommandState("justifyright") before assert_equals: Wrong result returned expected false but got true
-FAIL [["stylewithcss","false"],["justifyright",""]] "<div align=right>fo[o</div>b]ar<p>extra" queryCommandValue("justifyright") before assert_equals: Wrong result returned expected "right" but got "true"
-PASS [["stylewithcss","false"],["justifyright",""]] "<div align=right>fo[o</div>b]ar<p>extra" queryCommandIndeterm("justifyright") after 
-PASS [["stylewithcss","false"],["justifyright",""]] "<div align=right>fo[o</div>b]ar<p>extra" queryCommandState("justifyright") after 
-FAIL [["stylewithcss","false"],["justifyright",""]] "<div align=right>fo[o</div>b]ar<p>extra" queryCommandValue("justifyright") after assert_equals: Wrong result returned expected "right" but got "true"
-PASS [["justifyright",""]] "<div style=text-align:right>[foo</div>bar]<p>extra": execCommand("justifyright", false, "") return value 
-PASS [["justifyright",""]] "<div style=text-align:right>[foo</div>bar]<p>extra" checks for modifications to non-editable content 
-FAIL [["justifyright",""]] "<div style=text-align:right>[foo</div>bar]<p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<div style=\"text-align:right\">foo<br>bar</div><p>extra</p>" but got "<div style=\"text-align:right\">foo</div><p style=\"text-align:right\">bar</p><p>extra</p>"
-FAIL [["justifyright",""]] "<div style=text-align:right>[foo</div>bar]<p>extra" queryCommandIndeterm("justifyright") before assert_equals: Wrong result returned expected true but got false
-FAIL [["justifyright",""]] "<div style=text-align:right>[foo</div>bar]<p>extra" queryCommandState("justifyright") before assert_equals: Wrong result returned expected false but got true
-FAIL [["justifyright",""]] "<div style=text-align:right>[foo</div>bar]<p>extra" queryCommandValue("justifyright") before assert_equals: Wrong result returned expected "right" but got "true"
-PASS [["justifyright",""]] "<div style=text-align:right>[foo</div>bar]<p>extra" queryCommandIndeterm("justifyright") after 
-PASS [["justifyright",""]] "<div style=text-align:right>[foo</div>bar]<p>extra" queryCommandState("justifyright") after 
-FAIL [["justifyright",""]] "<div style=text-align:right>[foo</div>bar]<p>extra" queryCommandValue("justifyright") after assert_equals: Wrong result returned expected "right" but got "true"
-PASS [["justifyright",""]] "<div style=text-align:right>fo[o</div>b]ar<p>extra": execCommand("justifyright", false, "") return value 
-PASS [["justifyright",""]] "<div style=text-align:right>fo[o</div>b]ar<p>extra" checks for modifications to non-editable content 
-FAIL [["justifyright",""]] "<div style=text-align:right>fo[o</div>b]ar<p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<div style=\"text-align:right\">foo<br>bar</div><p>extra</p>" but got "<div style=\"text-align:right\">foo</div><p style=\"text-align:right\">bar</p><p>extra</p>"
-FAIL [["justifyright",""]] "<div style=text-align:right>fo[o</div>b]ar<p>extra" queryCommandIndeterm("justifyright") before assert_equals: Wrong result returned expected true but got false
-FAIL [["justifyright",""]] "<div style=text-align:right>fo[o</div>b]ar<p>extra" queryCommandState("justifyright") before assert_equals: Wrong result returned expected false but got true
-FAIL [["justifyright",""]] "<div style=text-align:right>fo[o</div>b]ar<p>extra" queryCommandValue("justifyright") before assert_equals: Wrong result returned expected "right" but got "true"
-PASS [["justifyright",""]] "<div style=text-align:right>fo[o</div>b]ar<p>extra" queryCommandIndeterm("justifyright") after 
-PASS [["justifyright",""]] "<div style=text-align:right>fo[o</div>b]ar<p>extra" queryCommandState("justifyright") after 
-FAIL [["justifyright",""]] "<div style=text-align:right>fo[o</div>b]ar<p>extra" queryCommandValue("justifyright") after assert_equals: Wrong result returned expected "right" but got "true"
-PASS [["defaultparagraphseparator","div"],["justifyright",""]] "<span style=text-align:right>[foo]</span><p>extra": execCommand("defaultparagraphseparator", false, "div") return value 
-PASS [["defaultparagraphseparator","div"],["justifyright",""]] "<span style=text-align:right>[foo]</span><p>extra": execCommand("justifyright", false, "") return value 
-PASS [["defaultparagraphseparator","div"],["justifyright",""]] "<span style=text-align:right>[foo]</span><p>extra" checks for modifications to non-editable content 
-FAIL [["defaultparagraphseparator","div"],["justifyright",""]] "<span style=text-align:right>[foo]</span><p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<div style=\"text-align:right\">foo</div><p>extra</p>" but got "<span style=\"text-align:right\">foo</span><p>extra</p>"
-PASS [["defaultparagraphseparator","div"],["justifyright",""]] "<span style=text-align:right>[foo]</span><p>extra" queryCommandIndeterm("defaultparagraphseparator") before 
-PASS [["defaultparagraphseparator","div"],["justifyright",""]] "<span style=text-align:right>[foo]</span><p>extra" queryCommandState("defaultparagraphseparator") before 
-PASS [["defaultparagraphseparator","div"],["justifyright",""]] "<span style=text-align:right>[foo]</span><p>extra" queryCommandValue("defaultparagraphseparator") before 
-PASS [["defaultparagraphseparator","div"],["justifyright",""]] "<span style=text-align:right>[foo]</span><p>extra" queryCommandIndeterm("defaultparagraphseparator") after 
-PASS [["defaultparagraphseparator","div"],["justifyright",""]] "<span style=text-align:right>[foo]</span><p>extra" queryCommandState("defaultparagraphseparator") after 
-PASS [["defaultparagraphseparator","div"],["justifyright",""]] "<span style=text-align:right>[foo]</span><p>extra" queryCommandValue("defaultparagraphseparator") after 
-PASS [["defaultparagraphseparator","div"],["justifyright",""]] "<span style=text-align:right>[foo]</span><p>extra" queryCommandIndeterm("justifyright") before 
-FAIL [["defaultparagraphseparator","div"],["justifyright",""]] "<span style=text-align:right>[foo]</span><p>extra" queryCommandState("justifyright") before assert_equals: Wrong result returned expected false but got true
-FAIL [["defaultparagraphseparator","div"],["justifyright",""]] "<span style=text-align:right>[foo]</span><p>extra" queryCommandValue("justifyright") before assert_equals: Wrong result returned expected "left" but got "true"
-PASS [["defaultparagraphseparator","div"],["justifyright",""]] "<span style=text-align:right>[foo]</span><p>extra" queryCommandIndeterm("justifyright") after 
-PASS [["defaultparagraphseparator","div"],["justifyright",""]] "<span style=text-align:right>[foo]</span><p>extra" queryCommandState("justifyright") after 
-FAIL [["defaultparagraphseparator","div"],["justifyright",""]] "<span style=text-align:right>[foo]</span><p>extra" queryCommandValue("justifyright") after assert_equals: Wrong result returned expected "right" but got "true"
-PASS [["defaultparagraphseparator","p"],["justifyright",""]] "<span style=text-align:right>[foo]</span><p>extra": execCommand("defaultparagraphseparator", false, "p") return value 
-PASS [["defaultparagraphseparator","p"],["justifyright",""]] "<span style=text-align:right>[foo]</span><p>extra": execCommand("justifyright", false, "") return value 
-PASS [["defaultparagraphseparator","p"],["justifyright",""]] "<span style=text-align:right>[foo]</span><p>extra" checks for modifications to non-editable content 
-FAIL [["defaultparagraphseparator","p"],["justifyright",""]] "<span style=text-align:right>[foo]</span><p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<div style=\"text-align:right\">foo</div><p>extra</p>" but got "<span style=\"text-align:right\">foo</span><p>extra</p>"
-PASS [["defaultparagraphseparator","p"],["justifyright",""]] "<span style=text-align:right>[foo]</span><p>extra" queryCommandIndeterm("defaultparagraphseparator") before 
-PASS [["defaultparagraphseparator","p"],["justifyright",""]] "<span style=text-align:right>[foo]</span><p>extra" queryCommandState("defaultparagraphseparator") before 
-PASS [["defaultparagraphseparator","p"],["justifyright",""]] "<span style=text-align:right>[foo]</span><p>extra" queryCommandValue("defaultparagraphseparator") before 
-PASS [["defaultparagraphseparator","p"],["justifyright",""]] "<span style=text-align:right>[foo]</span><p>extra" queryCommandIndeterm("defaultparagraphseparator") after 
-PASS [["defaultparagraphseparator","p"],["justifyright",""]] "<span style=text-align:right>[foo]</span><p>extra" queryCommandState("defaultparagraphseparator") after 
-PASS [["defaultparagraphseparator","p"],["justifyright",""]] "<span style=text-align:right>[foo]</span><p>extra" queryCommandValue("defaultparagraphseparator") after 
-PASS [["defaultparagraphseparator","p"],["justifyright",""]] "<span style=text-align:right>[foo]</span><p>extra" queryCommandIndeterm("justifyright") before 
-FAIL [["defaultparagraphseparator","p"],["justifyright",""]] "<span style=text-align:right>[foo]</span><p>extra" queryCommandState("justifyright") before assert_equals: Wrong result returned expected false but got true
-FAIL [["defaultparagraphseparator","p"],["justifyright",""]] "<span style=text-align:right>[foo]</span><p>extra" queryCommandValue("justifyright") before assert_equals: Wrong result returned expected "left" but got "true"
-PASS [["defaultparagraphseparator","p"],["justifyright",""]] "<span style=text-align:right>[foo]</span><p>extra" queryCommandIndeterm("justifyright") after 
-PASS [["defaultparagraphseparator","p"],["justifyright",""]] "<span style=text-align:right>[foo]</span><p>extra" queryCommandState("justifyright") after 
-FAIL [["defaultparagraphseparator","p"],["justifyright",""]] "<span style=text-align:right>[foo]</span><p>extra" queryCommandValue("justifyright") after assert_equals: Wrong result returned expected "right" but got "true"
-PASS [["defaultparagraphseparator","div"],["justifyright",""]] "<span style=text-align:right>f[o]o</span><p>extra": execCommand("defaultparagraphseparator", false, "div") return value 
-PASS [["defaultparagraphseparator","div"],["justifyright",""]] "<span style=text-align:right>f[o]o</span><p>extra": execCommand("justifyright", false, "") return value 
-PASS [["defaultparagraphseparator","div"],["justifyright",""]] "<span style=text-align:right>f[o]o</span><p>extra" checks for modifications to non-editable content 
-FAIL [["defaultparagraphseparator","div"],["justifyright",""]] "<span style=text-align:right>f[o]o</span><p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<div style=\"text-align:right\">foo</div><p>extra</p>" but got "<span style=\"text-align:right\">foo</span><p>extra</p>"
-PASS [["defaultparagraphseparator","div"],["justifyright",""]] "<span style=text-align:right>f[o]o</span><p>extra" queryCommandIndeterm("defaultparagraphseparator") before 
-PASS [["defaultparagraphseparator","div"],["justifyright",""]] "<span style=text-align:right>f[o]o</span><p>extra" queryCommandState("defaultparagraphseparator") before 
-PASS [["defaultparagraphseparator","div"],["justifyright",""]] "<span style=text-align:right>f[o]o</span><p>extra" queryCommandValue("defaultparagraphseparator") before 
-PASS [["defaultparagraphseparator","div"],["justifyright",""]] "<span style=text-align:right>f[o]o</span><p>extra" queryCommandIndeterm("defaultparagraphseparator") after 
-PASS [["defaultparagraphseparator","div"],["justifyright",""]] "<span style=text-align:right>f[o]o</span><p>extra" queryCommandState("defaultparagraphseparator") after 
-PASS [["defaultparagraphseparator","div"],["justifyright",""]] "<span style=text-align:right>f[o]o</span><p>extra" queryCommandValue("defaultparagraphseparator") after 
-PASS [["defaultparagraphseparator","div"],["justifyright",""]] "<span style=text-align:right>f[o]o</span><p>extra" queryCommandIndeterm("justifyright") before 
-FAIL [["defaultparagraphseparator","div"],["justifyright",""]] "<span style=text-align:right>f[o]o</span><p>extra" queryCommandState("justifyright") before assert_equals: Wrong result returned expected false but got true
-FAIL [["defaultparagraphseparator","div"],["justifyright",""]] "<span style=text-align:right>f[o]o</span><p>extra" queryCommandValue("justifyright") before assert_equals: Wrong result returned expected "left" but got "true"
-PASS [["defaultparagraphseparator","div"],["justifyright",""]] "<span style=text-align:right>f[o]o</span><p>extra" queryCommandIndeterm("justifyright") after 
-PASS [["defaultparagraphseparator","div"],["justifyright",""]] "<span style=text-align:right>f[o]o</span><p>extra" queryCommandState("justifyright") after 
-FAIL [["defaultparagraphseparator","div"],["justifyright",""]] "<span style=text-align:right>f[o]o</span><p>extra" queryCommandValue("justifyright") after assert_equals: Wrong result returned expected "right" but got "true"
-PASS [["defaultparagraphseparator","p"],["justifyright",""]] "<span style=text-align:right>f[o]o</span><p>extra": execCommand("defaultparagraphseparator", false, "p") return value 
-PASS [["defaultparagraphseparator","p"],["justifyright",""]] "<span style=text-align:right>f[o]o</span><p>extra": execCommand("justifyright", false, "") return value 
-PASS [["defaultparagraphseparator","p"],["justifyright",""]] "<span style=text-align:right>f[o]o</span><p>extra" checks for modifications to non-editable content 
-FAIL [["defaultparagraphseparator","p"],["justifyright",""]] "<span style=text-align:right>f[o]o</span><p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<div style=\"text-align:right\">foo</div><p>extra</p>" but got "<span style=\"text-align:right\">foo</span><p>extra</p>"
-PASS [["defaultparagraphseparator","p"],["justifyright",""]] "<span style=text-align:right>f[o]o</span><p>extra" queryCommandIndeterm("defaultparagraphseparator") before 
-PASS [["defaultparagraphseparator","p"],["justifyright",""]] "<span style=text-align:right>f[o]o</span><p>extra" queryCommandState("defaultparagraphseparator") before 
-PASS [["defaultparagraphseparator","p"],["justifyright",""]] "<span style=text-align:right>f[o]o</span><p>extra" queryCommandValue("defaultparagraphseparator") before 
-PASS [["defaultparagraphseparator","p"],["justifyright",""]] "<span style=text-align:right>f[o]o</span><p>extra" queryCommandIndeterm("defaultparagraphseparator") after 
-PASS [["defaultparagraphseparator","p"],["justifyright",""]] "<span style=text-align:right>f[o]o</span><p>extra" queryCommandState("defaultparagraphseparator") after 
-PASS [["defaultparagraphseparator","p"],["justifyright",""]] "<span style=text-align:right>f[o]o</span><p>extra" queryCommandValue("defaultparagraphseparator") after 
-PASS [["defaultparagraphseparator","p"],["justifyright",""]] "<span style=text-align:right>f[o]o</span><p>extra" queryCommandIndeterm("justifyright") before 
-FAIL [["defaultparagraphseparator","p"],["justifyright",""]] "<span style=text-align:right>f[o]o</span><p>extra" queryCommandState("justifyright") before assert_equals: Wrong result returned expected false but got true
-FAIL [["defaultparagraphseparator","p"],["justifyright",""]] "<span style=text-align:right>f[o]o</span><p>extra" queryCommandValue("justifyright") before assert_equals: Wrong result returned expected "left" but got "true"
-PASS [["defaultparagraphseparator","p"],["justifyright",""]] "<span style=text-align:right>f[o]o</span><p>extra" queryCommandIndeterm("justifyright") after 
-PASS [["defaultparagraphseparator","p"],["justifyright",""]] "<span style=text-align:right>f[o]o</span><p>extra" queryCommandState("justifyright") after 
-FAIL [["defaultparagraphseparator","p"],["justifyright",""]] "<span style=text-align:right>f[o]o</span><p>extra" queryCommandValue("justifyright") after assert_equals: Wrong result returned expected "right" but got "true"
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<div style=text-align:right>[foo<div style=text-align:left contenteditable=false>bar</div>baz]</div><p>extra": execCommand("stylewithcss", false, "true") return value 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<div style=text-align:right>[foo<div style=text-align:left contenteditable=false>bar</div>baz]</div><p>extra": execCommand("defaultparagraphseparator", false, "div") return value 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<div style=text-align:right>[foo<div style=text-align:left contenteditable=false>bar</div>baz]</div><p>extra": execCommand("justifyright", false, "") return value 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<div style=text-align:right>[foo<div style=text-align:left contenteditable=false>bar</div>baz]</div><p>extra" checks for modifications to non-editable content 
-FAIL [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<div style=text-align:right>[foo<div style=text-align:left contenteditable=false>bar</div>baz]</div><p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<div style=\"text-align:right\">foo</div><div style=\"text-align:left\" contenteditable=\"false\">bar</div><div style=\"text-align:right\">baz</div><p>extra</p>" but got "<div style=\"text-align:right\">foo<div contenteditable=\"false\" style=\"text-align:right\">bar</div>baz</div><p>extra</p>"
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<div style=text-align:right>[foo<div style=text-align:left contenteditable=false>bar</div>baz]</div><p>extra" queryCommandIndeterm("stylewithcss") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<div style=text-align:right>[foo<div style=text-align:left contenteditable=false>bar</div>baz]</div><p>extra" queryCommandState("stylewithcss") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<div style=text-align:right>[foo<div style=text-align:left contenteditable=false>bar</div>baz]</div><p>extra" queryCommandValue("stylewithcss") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<div style=text-align:right>[foo<div style=text-align:left contenteditable=false>bar</div>baz]</div><p>extra" queryCommandIndeterm("stylewithcss") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<div style=text-align:right>[foo<div style=text-align:left contenteditable=false>bar</div>baz]</div><p>extra" queryCommandState("stylewithcss") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<div style=text-align:right>[foo<div style=text-align:left contenteditable=false>bar</div>baz]</div><p>extra" queryCommandValue("stylewithcss") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<div style=text-align:right>[foo<div style=text-align:left contenteditable=false>bar</div>baz]</div><p>extra" queryCommandIndeterm("defaultparagraphseparator") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<div style=text-align:right>[foo<div style=text-align:left contenteditable=false>bar</div>baz]</div><p>extra" queryCommandState("defaultparagraphseparator") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<div style=text-align:right>[foo<div style=text-align:left contenteditable=false>bar</div>baz]</div><p>extra" queryCommandValue("defaultparagraphseparator") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<div style=text-align:right>[foo<div style=text-align:left contenteditable=false>bar</div>baz]</div><p>extra" queryCommandIndeterm("defaultparagraphseparator") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<div style=text-align:right>[foo<div style=text-align:left contenteditable=false>bar</div>baz]</div><p>extra" queryCommandState("defaultparagraphseparator") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<div style=text-align:right>[foo<div style=text-align:left contenteditable=false>bar</div>baz]</div><p>extra" queryCommandValue("defaultparagraphseparator") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<div style=text-align:right>[foo<div style=text-align:left contenteditable=false>bar</div>baz]</div><p>extra" queryCommandIndeterm("justifyright") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<div style=text-align:right>[foo<div style=text-align:left contenteditable=false>bar</div>baz]</div><p>extra" queryCommandState("justifyright") before 
-FAIL [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<div style=text-align:right>[foo<div style=text-align:left contenteditable=false>bar</div>baz]</div><p>extra" queryCommandValue("justifyright") before assert_equals: Wrong result returned expected "right" but got "true"
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<div style=text-align:right>[foo<div style=text-align:left contenteditable=false>bar</div>baz]</div><p>extra" queryCommandIndeterm("justifyright") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<div style=text-align:right>[foo<div style=text-align:left contenteditable=false>bar</div>baz]</div><p>extra" queryCommandState("justifyright") after 
-FAIL [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<div style=text-align:right>[foo<div style=text-align:left contenteditable=false>bar</div>baz]</div><p>extra" queryCommandValue("justifyright") after assert_equals: Wrong result returned expected "right" but got "true"
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<div style=text-align:right>[foo<div style=text-align:left contenteditable=false>bar</div>baz]</div><p>extra": execCommand("stylewithcss", false, "false") return value 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<div style=text-align:right>[foo<div style=text-align:left contenteditable=false>bar</div>baz]</div><p>extra": execCommand("defaultparagraphseparator", false, "div") return value 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<div style=text-align:right>[foo<div style=text-align:left contenteditable=false>bar</div>baz]</div><p>extra": execCommand("justifyright", false, "") return value 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<div style=text-align:right>[foo<div style=text-align:left contenteditable=false>bar</div>baz]</div><p>extra" checks for modifications to non-editable content 
-FAIL [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<div style=text-align:right>[foo<div style=text-align:left contenteditable=false>bar</div>baz]</div><p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<div style=\"text-align:right\">foo</div><div style=\"text-align:left\" contenteditable=\"false\">bar</div><div style=\"text-align:right\">baz</div><p>extra</p>" but got "<div style=\"text-align:right\">foo<div contenteditable=\"false\" style=\"text-align:right\">bar</div>baz</div><p>extra</p>"
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<div style=text-align:right>[foo<div style=text-align:left contenteditable=false>bar</div>baz]</div><p>extra" queryCommandIndeterm("stylewithcss") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<div style=text-align:right>[foo<div style=text-align:left contenteditable=false>bar</div>baz]</div><p>extra" queryCommandState("stylewithcss") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<div style=text-align:right>[foo<div style=text-align:left contenteditable=false>bar</div>baz]</div><p>extra" queryCommandValue("stylewithcss") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<div style=text-align:right>[foo<div style=text-align:left contenteditable=false>bar</div>baz]</div><p>extra" queryCommandIndeterm("stylewithcss") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<div style=text-align:right>[foo<div style=text-align:left contenteditable=false>bar</div>baz]</div><p>extra" queryCommandState("stylewithcss") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<div style=text-align:right>[foo<div style=text-align:left contenteditable=false>bar</div>baz]</div><p>extra" queryCommandValue("stylewithcss") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<div style=text-align:right>[foo<div style=text-align:left contenteditable=false>bar</div>baz]</div><p>extra" queryCommandIndeterm("defaultparagraphseparator") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<div style=text-align:right>[foo<div style=text-align:left contenteditable=false>bar</div>baz]</div><p>extra" queryCommandState("defaultparagraphseparator") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<div style=text-align:right>[foo<div style=text-align:left contenteditable=false>bar</div>baz]</div><p>extra" queryCommandValue("defaultparagraphseparator") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<div style=text-align:right>[foo<div style=text-align:left contenteditable=false>bar</div>baz]</div><p>extra" queryCommandIndeterm("defaultparagraphseparator") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<div style=text-align:right>[foo<div style=text-align:left contenteditable=false>bar</div>baz]</div><p>extra" queryCommandState("defaultparagraphseparator") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<div style=text-align:right>[foo<div style=text-align:left contenteditable=false>bar</div>baz]</div><p>extra" queryCommandValue("defaultparagraphseparator") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<div style=text-align:right>[foo<div style=text-align:left contenteditable=false>bar</div>baz]</div><p>extra" queryCommandIndeterm("justifyright") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<div style=text-align:right>[foo<div style=text-align:left contenteditable=false>bar</div>baz]</div><p>extra" queryCommandState("justifyright") before 
-FAIL [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<div style=text-align:right>[foo<div style=text-align:left contenteditable=false>bar</div>baz]</div><p>extra" queryCommandValue("justifyright") before assert_equals: Wrong result returned expected "right" but got "true"
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<div style=text-align:right>[foo<div style=text-align:left contenteditable=false>bar</div>baz]</div><p>extra" queryCommandIndeterm("justifyright") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<div style=text-align:right>[foo<div style=text-align:left contenteditable=false>bar</div>baz]</div><p>extra" queryCommandState("justifyright") after 
-FAIL [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<div style=text-align:right>[foo<div style=text-align:left contenteditable=false>bar</div>baz]</div><p>extra" queryCommandValue("justifyright") after assert_equals: Wrong result returned expected "right" but got "true"
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<div style=text-align:right>[foo<div style=text-align:left contenteditable=false>bar</div>baz]</div><p>extra": execCommand("stylewithcss", false, "true") return value 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<div style=text-align:right>[foo<div style=text-align:left contenteditable=false>bar</div>baz]</div><p>extra": execCommand("defaultparagraphseparator", false, "p") return value 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<div style=text-align:right>[foo<div style=text-align:left contenteditable=false>bar</div>baz]</div><p>extra": execCommand("justifyright", false, "") return value 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<div style=text-align:right>[foo<div style=text-align:left contenteditable=false>bar</div>baz]</div><p>extra" checks for modifications to non-editable content 
-FAIL [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<div style=text-align:right>[foo<div style=text-align:left contenteditable=false>bar</div>baz]</div><p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<div style=\"text-align:right\">foo</div><div style=\"text-align:left\" contenteditable=\"false\">bar</div><div style=\"text-align:right\">baz</div><p>extra</p>" but got "<div style=\"text-align:right\">foo<div contenteditable=\"false\" style=\"text-align:right\">bar</div>baz</div><p>extra</p>"
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<div style=text-align:right>[foo<div style=text-align:left contenteditable=false>bar</div>baz]</div><p>extra" queryCommandIndeterm("stylewithcss") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<div style=text-align:right>[foo<div style=text-align:left contenteditable=false>bar</div>baz]</div><p>extra" queryCommandState("stylewithcss") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<div style=text-align:right>[foo<div style=text-align:left contenteditable=false>bar</div>baz]</div><p>extra" queryCommandValue("stylewithcss") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<div style=text-align:right>[foo<div style=text-align:left contenteditable=false>bar</div>baz]</div><p>extra" queryCommandIndeterm("stylewithcss") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<div style=text-align:right>[foo<div style=text-align:left contenteditable=false>bar</div>baz]</div><p>extra" queryCommandState("stylewithcss") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<div style=text-align:right>[foo<div style=text-align:left contenteditable=false>bar</div>baz]</div><p>extra" queryCommandValue("stylewithcss") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<div style=text-align:right>[foo<div style=text-align:left contenteditable=false>bar</div>baz]</div><p>extra" queryCommandIndeterm("defaultparagraphseparator") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<div style=text-align:right>[foo<div style=text-align:left contenteditable=false>bar</div>baz]</div><p>extra" queryCommandState("defaultparagraphseparator") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<div style=text-align:right>[foo<div style=text-align:left contenteditable=false>bar</div>baz]</div><p>extra" queryCommandValue("defaultparagraphseparator") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<div style=text-align:right>[foo<div style=text-align:left contenteditable=false>bar</div>baz]</div><p>extra" queryCommandIndeterm("defaultparagraphseparator") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<div style=text-align:right>[foo<div style=text-align:left contenteditable=false>bar</div>baz]</div><p>extra" queryCommandState("defaultparagraphseparator") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<div style=text-align:right>[foo<div style=text-align:left contenteditable=false>bar</div>baz]</div><p>extra" queryCommandValue("defaultparagraphseparator") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<div style=text-align:right>[foo<div style=text-align:left contenteditable=false>bar</div>baz]</div><p>extra" queryCommandIndeterm("justifyright") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<div style=text-align:right>[foo<div style=text-align:left contenteditable=false>bar</div>baz]</div><p>extra" queryCommandState("justifyright") before 
-FAIL [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<div style=text-align:right>[foo<div style=text-align:left contenteditable=false>bar</div>baz]</div><p>extra" queryCommandValue("justifyright") before assert_equals: Wrong result returned expected "right" but got "true"
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<div style=text-align:right>[foo<div style=text-align:left contenteditable=false>bar</div>baz]</div><p>extra" queryCommandIndeterm("justifyright") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<div style=text-align:right>[foo<div style=text-align:left contenteditable=false>bar</div>baz]</div><p>extra" queryCommandState("justifyright") after 
-FAIL [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<div style=text-align:right>[foo<div style=text-align:left contenteditable=false>bar</div>baz]</div><p>extra" queryCommandValue("justifyright") after assert_equals: Wrong result returned expected "right" but got "true"
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<div style=text-align:right>[foo<div style=text-align:left contenteditable=false>bar</div>baz]</div><p>extra": execCommand("stylewithcss", false, "false") return value 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<div style=text-align:right>[foo<div style=text-align:left contenteditable=false>bar</div>baz]</div><p>extra": execCommand("defaultparagraphseparator", false, "p") return value 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<div style=text-align:right>[foo<div style=text-align:left contenteditable=false>bar</div>baz]</div><p>extra": execCommand("justifyright", false, "") return value 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<div style=text-align:right>[foo<div style=text-align:left contenteditable=false>bar</div>baz]</div><p>extra" checks for modifications to non-editable content 
-FAIL [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<div style=text-align:right>[foo<div style=text-align:left contenteditable=false>bar</div>baz]</div><p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<div style=\"text-align:right\">foo</div><div style=\"text-align:left\" contenteditable=\"false\">bar</div><div style=\"text-align:right\">baz</div><p>extra</p>" but got "<div style=\"text-align:right\">foo<div contenteditable=\"false\" style=\"text-align:right\">bar</div>baz</div><p>extra</p>"
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<div style=text-align:right>[foo<div style=text-align:left contenteditable=false>bar</div>baz]</div><p>extra" queryCommandIndeterm("stylewithcss") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<div style=text-align:right>[foo<div style=text-align:left contenteditable=false>bar</div>baz]</div><p>extra" queryCommandState("stylewithcss") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<div style=text-align:right>[foo<div style=text-align:left contenteditable=false>bar</div>baz]</div><p>extra" queryCommandValue("stylewithcss") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<div style=text-align:right>[foo<div style=text-align:left contenteditable=false>bar</div>baz]</div><p>extra" queryCommandIndeterm("stylewithcss") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<div style=text-align:right>[foo<div style=text-align:left contenteditable=false>bar</div>baz]</div><p>extra" queryCommandState("stylewithcss") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<div style=text-align:right>[foo<div style=text-align:left contenteditable=false>bar</div>baz]</div><p>extra" queryCommandValue("stylewithcss") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<div style=text-align:right>[foo<div style=text-align:left contenteditable=false>bar</div>baz]</div><p>extra" queryCommandIndeterm("defaultparagraphseparator") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<div style=text-align:right>[foo<div style=text-align:left contenteditable=false>bar</div>baz]</div><p>extra" queryCommandState("defaultparagraphseparator") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<div style=text-align:right>[foo<div style=text-align:left contenteditable=false>bar</div>baz]</div><p>extra" queryCommandValue("defaultparagraphseparator") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<div style=text-align:right>[foo<div style=text-align:left contenteditable=false>bar</div>baz]</div><p>extra" queryCommandIndeterm("defaultparagraphseparator") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<div style=text-align:right>[foo<div style=text-align:left contenteditable=false>bar</div>baz]</div><p>extra" queryCommandState("defaultparagraphseparator") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<div style=text-align:right>[foo<div style=text-align:left contenteditable=false>bar</div>baz]</div><p>extra" queryCommandValue("defaultparagraphseparator") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<div style=text-align:right>[foo<div style=text-align:left contenteditable=false>bar</div>baz]</div><p>extra" queryCommandIndeterm("justifyright") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<div style=text-align:right>[foo<div style=text-align:left contenteditable=false>bar</div>baz]</div><p>extra" queryCommandState("justifyright") before 
-FAIL [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<div style=text-align:right>[foo<div style=text-align:left contenteditable=false>bar</div>baz]</div><p>extra" queryCommandValue("justifyright") before assert_equals: Wrong result returned expected "right" but got "true"
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<div style=text-align:right>[foo<div style=text-align:left contenteditable=false>bar</div>baz]</div><p>extra" queryCommandIndeterm("justifyright") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<div style=text-align:right>[foo<div style=text-align:left contenteditable=false>bar</div>baz]</div><p>extra" queryCommandState("justifyright") after 
-FAIL [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<div style=text-align:right>[foo<div style=text-align:left contenteditable=false>bar</div>baz]</div><p>extra" queryCommandValue("justifyright") after assert_equals: Wrong result returned expected "right" but got "true"
-PASS [["stylewithcss","true"],["justifyright",""]] "<div align=nonsense><p>[foo]</div><p>extra": execCommand("stylewithcss", false, "true") return value 
-PASS [["stylewithcss","true"],["justifyright",""]] "<div align=nonsense><p>[foo]</div><p>extra": execCommand("justifyright", false, "") return value 
-PASS [["stylewithcss","true"],["justifyright",""]] "<div align=nonsense><p>[foo]</div><p>extra" checks for modifications to non-editable content 
-FAIL [["stylewithcss","true"],["justifyright",""]] "<div align=nonsense><p>[foo]</div><p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<div style=\"text-align:right\"><p>foo</p></div><p>extra</p>" but got "<div align=\"nonsense\"><p style=\"text-align:right\">foo</p></div><p>extra</p>"
-PASS [["stylewithcss","true"],["justifyright",""]] "<div align=nonsense><p>[foo]</div><p>extra" queryCommandIndeterm("stylewithcss") before 
-PASS [["stylewithcss","true"],["justifyright",""]] "<div align=nonsense><p>[foo]</div><p>extra" queryCommandState("stylewithcss") before 
-PASS [["stylewithcss","true"],["justifyright",""]] "<div align=nonsense><p>[foo]</div><p>extra" queryCommandValue("stylewithcss") before 
-PASS [["stylewithcss","true"],["justifyright",""]] "<div align=nonsense><p>[foo]</div><p>extra" queryCommandIndeterm("stylewithcss") after 
-PASS [["stylewithcss","true"],["justifyright",""]] "<div align=nonsense><p>[foo]</div><p>extra" queryCommandState("stylewithcss") after 
-PASS [["stylewithcss","true"],["justifyright",""]] "<div align=nonsense><p>[foo]</div><p>extra" queryCommandValue("stylewithcss") after 
-PASS [["stylewithcss","true"],["justifyright",""]] "<div align=nonsense><p>[foo]</div><p>extra" queryCommandIndeterm("justifyright") before 
-PASS [["stylewithcss","true"],["justifyright",""]] "<div align=nonsense><p>[foo]</div><p>extra" queryCommandState("justifyright") before 
-FAIL [["stylewithcss","true"],["justifyright",""]] "<div align=nonsense><p>[foo]</div><p>extra" queryCommandValue("justifyright") before assert_equals: Wrong result returned expected "left" but got "false"
-PASS [["stylewithcss","true"],["justifyright",""]] "<div align=nonsense><p>[foo]</div><p>extra" queryCommandIndeterm("justifyright") after 
-PASS [["stylewithcss","true"],["justifyright",""]] "<div align=nonsense><p>[foo]</div><p>extra" queryCommandState("justifyright") after 
-FAIL [["stylewithcss","true"],["justifyright",""]] "<div align=nonsense><p>[foo]</div><p>extra" queryCommandValue("justifyright") after assert_equals: Wrong result returned expected "right" but got "true"
-PASS [["stylewithcss","false"],["justifyright",""]] "<div align=nonsense><p>[foo]</div><p>extra": execCommand("stylewithcss", false, "false") return value 
-PASS [["stylewithcss","false"],["justifyright",""]] "<div align=nonsense><p>[foo]</div><p>extra": execCommand("justifyright", false, "") return value 
-PASS [["stylewithcss","false"],["justifyright",""]] "<div align=nonsense><p>[foo]</div><p>extra" checks for modifications to non-editable content 
-FAIL [["stylewithcss","false"],["justifyright",""]] "<div align=nonsense><p>[foo]</div><p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<div style=\"text-align:right\"><p>foo</p></div><p>extra</p>" but got "<div align=\"nonsense\"><p style=\"text-align:right\">foo</p></div><p>extra</p>"
-PASS [["stylewithcss","false"],["justifyright",""]] "<div align=nonsense><p>[foo]</div><p>extra" queryCommandIndeterm("stylewithcss") before 
-PASS [["stylewithcss","false"],["justifyright",""]] "<div align=nonsense><p>[foo]</div><p>extra" queryCommandState("stylewithcss") before 
-PASS [["stylewithcss","false"],["justifyright",""]] "<div align=nonsense><p>[foo]</div><p>extra" queryCommandValue("stylewithcss") before 
-PASS [["stylewithcss","false"],["justifyright",""]] "<div align=nonsense><p>[foo]</div><p>extra" queryCommandIndeterm("stylewithcss") after 
-PASS [["stylewithcss","false"],["justifyright",""]] "<div align=nonsense><p>[foo]</div><p>extra" queryCommandState("stylewithcss") after 
-PASS [["stylewithcss","false"],["justifyright",""]] "<div align=nonsense><p>[foo]</div><p>extra" queryCommandValue("stylewithcss") after 
-PASS [["stylewithcss","false"],["justifyright",""]] "<div align=nonsense><p>[foo]</div><p>extra" queryCommandIndeterm("justifyright") before 
-PASS [["stylewithcss","false"],["justifyright",""]] "<div align=nonsense><p>[foo]</div><p>extra" queryCommandState("justifyright") before 
-FAIL [["stylewithcss","false"],["justifyright",""]] "<div align=nonsense><p>[foo]</div><p>extra" queryCommandValue("justifyright") before assert_equals: Wrong result returned expected "left" but got "false"
-PASS [["stylewithcss","false"],["justifyright",""]] "<div align=nonsense><p>[foo]</div><p>extra" queryCommandIndeterm("justifyright") after 
-PASS [["stylewithcss","false"],["justifyright",""]] "<div align=nonsense><p>[foo]</div><p>extra" queryCommandState("justifyright") after 
-FAIL [["stylewithcss","false"],["justifyright",""]] "<div align=nonsense><p>[foo]</div><p>extra" queryCommandValue("justifyright") after assert_equals: Wrong result returned expected "right" but got "true"
-PASS [["justifyright",""]] "<div style=text-align:inherit><p>[foo]</div><p>extra": execCommand("justifyright", false, "") return value 
-PASS [["justifyright",""]] "<div style=text-align:inherit><p>[foo]</div><p>extra" checks for modifications to non-editable content 
-FAIL [["justifyright",""]] "<div style=text-align:inherit><p>[foo]</div><p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<div style=\"text-align:right\"><p>foo</p></div><p>extra</p>" but got "<div style=\"text-align:inherit\"><p style=\"text-align:right\">foo</p></div><p>extra</p>"
-PASS [["justifyright",""]] "<div style=text-align:inherit><p>[foo]</div><p>extra" queryCommandIndeterm("justifyright") before 
-PASS [["justifyright",""]] "<div style=text-align:inherit><p>[foo]</div><p>extra" queryCommandState("justifyright") before 
-FAIL [["justifyright",""]] "<div style=text-align:inherit><p>[foo]</div><p>extra" queryCommandValue("justifyright") before assert_equals: Wrong result returned expected "left" but got "false"
-PASS [["justifyright",""]] "<div style=text-align:inherit><p>[foo]</div><p>extra" queryCommandIndeterm("justifyright") after 
-PASS [["justifyright",""]] "<div style=text-align:inherit><p>[foo]</div><p>extra" queryCommandState("justifyright") after 
-FAIL [["justifyright",""]] "<div style=text-align:inherit><p>[foo]</div><p>extra" queryCommandValue("justifyright") after assert_equals: Wrong result returned expected "right" but got "true"
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<quasit align=center><p>[foo]</p></quasit><p>extra": execCommand("stylewithcss", false, "true") return value 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<quasit align=center><p>[foo]</p></quasit><p>extra": execCommand("defaultparagraphseparator", false, "div") return value 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<quasit align=center><p>[foo]</p></quasit><p>extra": execCommand("justifyright", false, "") return value 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<quasit align=center><p>[foo]</p></quasit><p>extra" checks for modifications to non-editable content 
-FAIL [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<quasit align=center><p>[foo]</p></quasit><p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<div style=\"text-align:right\"><quasit><p>foo</p></quasit></div><p>extra</p>" but got "<quasit align=\"center\"><p style=\"text-align:right\">foo</p></quasit><p>extra</p>"
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<quasit align=center><p>[foo]</p></quasit><p>extra" queryCommandIndeterm("stylewithcss") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<quasit align=center><p>[foo]</p></quasit><p>extra" queryCommandState("stylewithcss") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<quasit align=center><p>[foo]</p></quasit><p>extra" queryCommandValue("stylewithcss") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<quasit align=center><p>[foo]</p></quasit><p>extra" queryCommandIndeterm("stylewithcss") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<quasit align=center><p>[foo]</p></quasit><p>extra" queryCommandState("stylewithcss") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<quasit align=center><p>[foo]</p></quasit><p>extra" queryCommandValue("stylewithcss") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<quasit align=center><p>[foo]</p></quasit><p>extra" queryCommandIndeterm("defaultparagraphseparator") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<quasit align=center><p>[foo]</p></quasit><p>extra" queryCommandState("defaultparagraphseparator") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<quasit align=center><p>[foo]</p></quasit><p>extra" queryCommandValue("defaultparagraphseparator") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<quasit align=center><p>[foo]</p></quasit><p>extra" queryCommandIndeterm("defaultparagraphseparator") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<quasit align=center><p>[foo]</p></quasit><p>extra" queryCommandState("defaultparagraphseparator") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<quasit align=center><p>[foo]</p></quasit><p>extra" queryCommandValue("defaultparagraphseparator") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<quasit align=center><p>[foo]</p></quasit><p>extra" queryCommandIndeterm("justifyright") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<quasit align=center><p>[foo]</p></quasit><p>extra" queryCommandState("justifyright") before 
-FAIL [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<quasit align=center><p>[foo]</p></quasit><p>extra" queryCommandValue("justifyright") before assert_equals: Wrong result returned expected "left" but got "false"
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<quasit align=center><p>[foo]</p></quasit><p>extra" queryCommandIndeterm("justifyright") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<quasit align=center><p>[foo]</p></quasit><p>extra" queryCommandState("justifyright") after 
-FAIL [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<quasit align=center><p>[foo]</p></quasit><p>extra" queryCommandValue("justifyright") after assert_equals: Wrong result returned expected "right" but got "true"
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<quasit align=center><p>[foo]</p></quasit><p>extra": execCommand("stylewithcss", false, "false") return value 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<quasit align=center><p>[foo]</p></quasit><p>extra": execCommand("defaultparagraphseparator", false, "div") return value 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<quasit align=center><p>[foo]</p></quasit><p>extra": execCommand("justifyright", false, "") return value 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<quasit align=center><p>[foo]</p></quasit><p>extra" checks for modifications to non-editable content 
-FAIL [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<quasit align=center><p>[foo]</p></quasit><p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<div style=\"text-align:right\"><quasit><p>foo</p></quasit></div><p>extra</p>" but got "<quasit align=\"center\"><p style=\"text-align:right\">foo</p></quasit><p>extra</p>"
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<quasit align=center><p>[foo]</p></quasit><p>extra" queryCommandIndeterm("stylewithcss") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<quasit align=center><p>[foo]</p></quasit><p>extra" queryCommandState("stylewithcss") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<quasit align=center><p>[foo]</p></quasit><p>extra" queryCommandValue("stylewithcss") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<quasit align=center><p>[foo]</p></quasit><p>extra" queryCommandIndeterm("stylewithcss") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<quasit align=center><p>[foo]</p></quasit><p>extra" queryCommandState("stylewithcss") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<quasit align=center><p>[foo]</p></quasit><p>extra" queryCommandValue("stylewithcss") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<quasit align=center><p>[foo]</p></quasit><p>extra" queryCommandIndeterm("defaultparagraphseparator") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<quasit align=center><p>[foo]</p></quasit><p>extra" queryCommandState("defaultparagraphseparator") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<quasit align=center><p>[foo]</p></quasit><p>extra" queryCommandValue("defaultparagraphseparator") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<quasit align=center><p>[foo]</p></quasit><p>extra" queryCommandIndeterm("defaultparagraphseparator") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<quasit align=center><p>[foo]</p></quasit><p>extra" queryCommandState("defaultparagraphseparator") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<quasit align=center><p>[foo]</p></quasit><p>extra" queryCommandValue("defaultparagraphseparator") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<quasit align=center><p>[foo]</p></quasit><p>extra" queryCommandIndeterm("justifyright") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<quasit align=center><p>[foo]</p></quasit><p>extra" queryCommandState("justifyright") before 
-FAIL [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<quasit align=center><p>[foo]</p></quasit><p>extra" queryCommandValue("justifyright") before assert_equals: Wrong result returned expected "left" but got "false"
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<quasit align=center><p>[foo]</p></quasit><p>extra" queryCommandIndeterm("justifyright") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<quasit align=center><p>[foo]</p></quasit><p>extra" queryCommandState("justifyright") after 
-FAIL [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<quasit align=center><p>[foo]</p></quasit><p>extra" queryCommandValue("justifyright") after assert_equals: Wrong result returned expected "right" but got "true"
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<quasit align=center><p>[foo]</p></quasit><p>extra": execCommand("stylewithcss", false, "true") return value 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<quasit align=center><p>[foo]</p></quasit><p>extra": execCommand("defaultparagraphseparator", false, "p") return value 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<quasit align=center><p>[foo]</p></quasit><p>extra": execCommand("justifyright", false, "") return value 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<quasit align=center><p>[foo]</p></quasit><p>extra" checks for modifications to non-editable content 
-FAIL [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<quasit align=center><p>[foo]</p></quasit><p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<div style=\"text-align:right\"><quasit><p>foo</p></quasit></div><p>extra</p>" but got "<quasit align=\"center\"><p style=\"text-align:right\">foo</p></quasit><p>extra</p>"
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<quasit align=center><p>[foo]</p></quasit><p>extra" queryCommandIndeterm("stylewithcss") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<quasit align=center><p>[foo]</p></quasit><p>extra" queryCommandState("stylewithcss") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<quasit align=center><p>[foo]</p></quasit><p>extra" queryCommandValue("stylewithcss") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<quasit align=center><p>[foo]</p></quasit><p>extra" queryCommandIndeterm("stylewithcss") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<quasit align=center><p>[foo]</p></quasit><p>extra" queryCommandState("stylewithcss") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<quasit align=center><p>[foo]</p></quasit><p>extra" queryCommandValue("stylewithcss") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<quasit align=center><p>[foo]</p></quasit><p>extra" queryCommandIndeterm("defaultparagraphseparator") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<quasit align=center><p>[foo]</p></quasit><p>extra" queryCommandState("defaultparagraphseparator") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<quasit align=center><p>[foo]</p></quasit><p>extra" queryCommandValue("defaultparagraphseparator") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<quasit align=center><p>[foo]</p></quasit><p>extra" queryCommandIndeterm("defaultparagraphseparator") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<quasit align=center><p>[foo]</p></quasit><p>extra" queryCommandState("defaultparagraphseparator") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<quasit align=center><p>[foo]</p></quasit><p>extra" queryCommandValue("defaultparagraphseparator") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<quasit align=center><p>[foo]</p></quasit><p>extra" queryCommandIndeterm("justifyright") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<quasit align=center><p>[foo]</p></quasit><p>extra" queryCommandState("justifyright") before 
-FAIL [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<quasit align=center><p>[foo]</p></quasit><p>extra" queryCommandValue("justifyright") before assert_equals: Wrong result returned expected "left" but got "false"
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<quasit align=center><p>[foo]</p></quasit><p>extra" queryCommandIndeterm("justifyright") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<quasit align=center><p>[foo]</p></quasit><p>extra" queryCommandState("justifyright") after 
-FAIL [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<quasit align=center><p>[foo]</p></quasit><p>extra" queryCommandValue("justifyright") after assert_equals: Wrong result returned expected "right" but got "true"
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<quasit align=center><p>[foo]</p></quasit><p>extra": execCommand("stylewithcss", false, "false") return value 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<quasit align=center><p>[foo]</p></quasit><p>extra": execCommand("defaultparagraphseparator", false, "p") return value 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<quasit align=center><p>[foo]</p></quasit><p>extra": execCommand("justifyright", false, "") return value 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<quasit align=center><p>[foo]</p></quasit><p>extra" checks for modifications to non-editable content 
-FAIL [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<quasit align=center><p>[foo]</p></quasit><p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<div style=\"text-align:right\"><quasit><p>foo</p></quasit></div><p>extra</p>" but got "<quasit align=\"center\"><p style=\"text-align:right\">foo</p></quasit><p>extra</p>"
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<quasit align=center><p>[foo]</p></quasit><p>extra" queryCommandIndeterm("stylewithcss") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<quasit align=center><p>[foo]</p></quasit><p>extra" queryCommandState("stylewithcss") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<quasit align=center><p>[foo]</p></quasit><p>extra" queryCommandValue("stylewithcss") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<quasit align=center><p>[foo]</p></quasit><p>extra" queryCommandIndeterm("stylewithcss") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<quasit align=center><p>[foo]</p></quasit><p>extra" queryCommandState("stylewithcss") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<quasit align=center><p>[foo]</p></quasit><p>extra" queryCommandValue("stylewithcss") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<quasit align=center><p>[foo]</p></quasit><p>extra" queryCommandIndeterm("defaultparagraphseparator") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<quasit align=center><p>[foo]</p></quasit><p>extra" queryCommandState("defaultparagraphseparator") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<quasit align=center><p>[foo]</p></quasit><p>extra" queryCommandValue("defaultparagraphseparator") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<quasit align=center><p>[foo]</p></quasit><p>extra" queryCommandIndeterm("defaultparagraphseparator") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<quasit align=center><p>[foo]</p></quasit><p>extra" queryCommandState("defaultparagraphseparator") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<quasit align=center><p>[foo]</p></quasit><p>extra" queryCommandValue("defaultparagraphseparator") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<quasit align=center><p>[foo]</p></quasit><p>extra" queryCommandIndeterm("justifyright") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<quasit align=center><p>[foo]</p></quasit><p>extra" queryCommandState("justifyright") before 
-FAIL [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<quasit align=center><p>[foo]</p></quasit><p>extra" queryCommandValue("justifyright") before assert_equals: Wrong result returned expected "left" but got "false"
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<quasit align=center><p>[foo]</p></quasit><p>extra" queryCommandIndeterm("justifyright") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<quasit align=center><p>[foo]</p></quasit><p>extra" queryCommandState("justifyright") after 
-FAIL [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<quasit align=center><p>[foo]</p></quasit><p>extra" queryCommandValue("justifyright") after assert_equals: Wrong result returned expected "right" but got "true"
-PASS [["justifyright",""]] "<div style=text-align:start>[foo]</div><p>extra": execCommand("justifyright", false, "") return value 
-PASS [["justifyright",""]] "<div style=text-align:start>[foo]</div><p>extra" checks for modifications to non-editable content 
-PASS [["justifyright",""]] "<div style=text-align:start>[foo]</div><p>extra" compare innerHTML 
-PASS [["justifyright",""]] "<div style=text-align:start>[foo]</div><p>extra" queryCommandIndeterm("justifyright") before 
-PASS [["justifyright",""]] "<div style=text-align:start>[foo]</div><p>extra" queryCommandState("justifyright") before 
-FAIL [["justifyright",""]] "<div style=text-align:start>[foo]</div><p>extra" queryCommandValue("justifyright") before assert_equals: Wrong result returned expected "left" but got "false"
-PASS [["justifyright",""]] "<div style=text-align:start>[foo]</div><p>extra" queryCommandIndeterm("justifyright") after 
-PASS [["justifyright",""]] "<div style=text-align:start>[foo]</div><p>extra" queryCommandState("justifyright") after 
-FAIL [["justifyright",""]] "<div style=text-align:start>[foo]</div><p>extra" queryCommandValue("justifyright") after assert_equals: Wrong result returned expected "right" but got "true"
-PASS [["justifyright",""]] "<div style=text-align:end>[foo]</div><p>extra": execCommand("justifyright", false, "") return value 
-PASS [["justifyright",""]] "<div style=text-align:end>[foo]</div><p>extra" checks for modifications to non-editable content 
-PASS [["justifyright",""]] "<div style=text-align:end>[foo]</div><p>extra" compare innerHTML 
-PASS [["justifyright",""]] "<div style=text-align:end>[foo]</div><p>extra" queryCommandIndeterm("justifyright") before 
-FAIL [["justifyright",""]] "<div style=text-align:end>[foo]</div><p>extra" queryCommandState("justifyright") before assert_equals: Wrong result returned expected true but got false
-FAIL [["justifyright",""]] "<div style=text-align:end>[foo]</div><p>extra" queryCommandValue("justifyright") before assert_equals: Wrong result returned expected "right" but got "false"
-PASS [["justifyright",""]] "<div style=text-align:end>[foo]</div><p>extra" queryCommandIndeterm("justifyright") after 
-PASS [["justifyright",""]] "<div style=text-align:end>[foo]</div><p>extra" queryCommandState("justifyright") after 
-FAIL [["justifyright",""]] "<div style=text-align:end>[foo]</div><p>extra" queryCommandValue("justifyright") after assert_equals: Wrong result returned expected "right" but got "true"
-PASS [["stylewithcss","true"],["justifyright",""]] "<div dir=rtl style=text-align:start>[foo]</div><p>extra": execCommand("stylewithcss", false, "true") return value 
-PASS [["stylewithcss","true"],["justifyright",""]] "<div dir=rtl style=text-align:start>[foo]</div><p>extra": execCommand("justifyright", false, "") return value 
-PASS [["stylewithcss","true"],["justifyright",""]] "<div dir=rtl style=text-align:start>[foo]</div><p>extra" checks for modifications to non-editable content 
-FAIL [["stylewithcss","true"],["justifyright",""]] "<div dir=rtl style=text-align:start>[foo]</div><p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<div dir=\"rtl\">foo</div><p>extra</p>" but got "<div dir=\"rtl\" style=\"text-align:start\">foo</div><p>extra</p>"
-PASS [["stylewithcss","true"],["justifyright",""]] "<div dir=rtl style=text-align:start>[foo]</div><p>extra" queryCommandIndeterm("stylewithcss") before 
-PASS [["stylewithcss","true"],["justifyright",""]] "<div dir=rtl style=text-align:start>[foo]</div><p>extra" queryCommandState("stylewithcss") before 
-PASS [["stylewithcss","true"],["justifyright",""]] "<div dir=rtl style=text-align:start>[foo]</div><p>extra" queryCommandValue("stylewithcss") before 
-PASS [["stylewithcss","true"],["justifyright",""]] "<div dir=rtl style=text-align:start>[foo]</div><p>extra" queryCommandIndeterm("stylewithcss") after 
-PASS [["stylewithcss","true"],["justifyright",""]] "<div dir=rtl style=text-align:start>[foo]</div><p>extra" queryCommandState("stylewithcss") after 
-PASS [["stylewithcss","true"],["justifyright",""]] "<div dir=rtl style=text-align:start>[foo]</div><p>extra" queryCommandValue("stylewithcss") after 
-PASS [["stylewithcss","true"],["justifyright",""]] "<div dir=rtl style=text-align:start>[foo]</div><p>extra" queryCommandIndeterm("justifyright") before 
-PASS [["stylewithcss","true"],["justifyright",""]] "<div dir=rtl style=text-align:start>[foo]</div><p>extra" queryCommandState("justifyright") before 
-FAIL [["stylewithcss","true"],["justifyright",""]] "<div dir=rtl style=text-align:start>[foo]</div><p>extra" queryCommandValue("justifyright") before assert_equals: Wrong result returned expected "right" but got "true"
-PASS [["stylewithcss","true"],["justifyright",""]] "<div dir=rtl style=text-align:start>[foo]</div><p>extra" queryCommandIndeterm("justifyright") after 
-PASS [["stylewithcss","true"],["justifyright",""]] "<div dir=rtl style=text-align:start>[foo]</div><p>extra" queryCommandState("justifyright") after 
-FAIL [["stylewithcss","true"],["justifyright",""]] "<div dir=rtl style=text-align:start>[foo]</div><p>extra" queryCommandValue("justifyright") after assert_equals: Wrong result returned expected "right" but got "true"
-PASS [["stylewithcss","false"],["justifyright",""]] "<div dir=rtl style=text-align:start>[foo]</div><p>extra": execCommand("stylewithcss", false, "false") return value 
-PASS [["stylewithcss","false"],["justifyright",""]] "<div dir=rtl style=text-align:start>[foo]</div><p>extra": execCommand("justifyright", false, "") return value 
-PASS [["stylewithcss","false"],["justifyright",""]] "<div dir=rtl style=text-align:start>[foo]</div><p>extra" checks for modifications to non-editable content 
-FAIL [["stylewithcss","false"],["justifyright",""]] "<div dir=rtl style=text-align:start>[foo]</div><p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<div dir=\"rtl\">foo</div><p>extra</p>" but got "<div dir=\"rtl\" style=\"text-align:start\">foo</div><p>extra</p>"
-PASS [["stylewithcss","false"],["justifyright",""]] "<div dir=rtl style=text-align:start>[foo]</div><p>extra" queryCommandIndeterm("stylewithcss") before 
-PASS [["stylewithcss","false"],["justifyright",""]] "<div dir=rtl style=text-align:start>[foo]</div><p>extra" queryCommandState("stylewithcss") before 
-PASS [["stylewithcss","false"],["justifyright",""]] "<div dir=rtl style=text-align:start>[foo]</div><p>extra" queryCommandValue("stylewithcss") before 
-PASS [["stylewithcss","false"],["justifyright",""]] "<div dir=rtl style=text-align:start>[foo]</div><p>extra" queryCommandIndeterm("stylewithcss") after 
-PASS [["stylewithcss","false"],["justifyright",""]] "<div dir=rtl style=text-align:start>[foo]</div><p>extra" queryCommandState("stylewithcss") after 
-PASS [["stylewithcss","false"],["justifyright",""]] "<div dir=rtl style=text-align:start>[foo]</div><p>extra" queryCommandValue("stylewithcss") after 
-PASS [["stylewithcss","false"],["justifyright",""]] "<div dir=rtl style=text-align:start>[foo]</div><p>extra" queryCommandIndeterm("justifyright") before 
-PASS [["stylewithcss","false"],["justifyright",""]] "<div dir=rtl style=text-align:start>[foo]</div><p>extra" queryCommandState("justifyright") before 
-FAIL [["stylewithcss","false"],["justifyright",""]] "<div dir=rtl style=text-align:start>[foo]</div><p>extra" queryCommandValue("justifyright") before assert_equals: Wrong result returned expected "right" but got "true"
-PASS [["stylewithcss","false"],["justifyright",""]] "<div dir=rtl style=text-align:start>[foo]</div><p>extra" queryCommandIndeterm("justifyright") after 
-PASS [["stylewithcss","false"],["justifyright",""]] "<div dir=rtl style=text-align:start>[foo]</div><p>extra" queryCommandState("justifyright") after 
-FAIL [["stylewithcss","false"],["justifyright",""]] "<div dir=rtl style=text-align:start>[foo]</div><p>extra" queryCommandValue("justifyright") after assert_equals: Wrong result returned expected "right" but got "true"
-PASS [["stylewithcss","true"],["justifyright",""]] "<div dir=rtl style=text-align:end>[foo]</div><p>extra": execCommand("stylewithcss", false, "true") return value 
-PASS [["stylewithcss","true"],["justifyright",""]] "<div dir=rtl style=text-align:end>[foo]</div><p>extra": execCommand("justifyright", false, "") return value 
-PASS [["stylewithcss","true"],["justifyright",""]] "<div dir=rtl style=text-align:end>[foo]</div><p>extra" checks for modifications to non-editable content 
-FAIL [["stylewithcss","true"],["justifyright",""]] "<div dir=rtl style=text-align:end>[foo]</div><p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<div dir=\"rtl\">foo</div><p>extra</p>" but got "<div dir=\"rtl\" style=\"text-align:end\">foo</div><p>extra</p>"
-PASS [["stylewithcss","true"],["justifyright",""]] "<div dir=rtl style=text-align:end>[foo]</div><p>extra" queryCommandIndeterm("stylewithcss") before 
-PASS [["stylewithcss","true"],["justifyright",""]] "<div dir=rtl style=text-align:end>[foo]</div><p>extra" queryCommandState("stylewithcss") before 
-PASS [["stylewithcss","true"],["justifyright",""]] "<div dir=rtl style=text-align:end>[foo]</div><p>extra" queryCommandValue("stylewithcss") before 
-PASS [["stylewithcss","true"],["justifyright",""]] "<div dir=rtl style=text-align:end>[foo]</div><p>extra" queryCommandIndeterm("stylewithcss") after 
-PASS [["stylewithcss","true"],["justifyright",""]] "<div dir=rtl style=text-align:end>[foo]</div><p>extra" queryCommandState("stylewithcss") after 
-PASS [["stylewithcss","true"],["justifyright",""]] "<div dir=rtl style=text-align:end>[foo]</div><p>extra" queryCommandValue("stylewithcss") after 
-PASS [["stylewithcss","true"],["justifyright",""]] "<div dir=rtl style=text-align:end>[foo]</div><p>extra" queryCommandIndeterm("justifyright") before 
-FAIL [["stylewithcss","true"],["justifyright",""]] "<div dir=rtl style=text-align:end>[foo]</div><p>extra" queryCommandState("justifyright") before assert_equals: Wrong result returned expected false but got true
-FAIL [["stylewithcss","true"],["justifyright",""]] "<div dir=rtl style=text-align:end>[foo]</div><p>extra" queryCommandValue("justifyright") before assert_equals: Wrong result returned expected "left" but got "true"
-PASS [["stylewithcss","true"],["justifyright",""]] "<div dir=rtl style=text-align:end>[foo]</div><p>extra" queryCommandIndeterm("justifyright") after 
-PASS [["stylewithcss","true"],["justifyright",""]] "<div dir=rtl style=text-align:end>[foo]</div><p>extra" queryCommandState("justifyright") after 
-FAIL [["stylewithcss","true"],["justifyright",""]] "<div dir=rtl style=text-align:end>[foo]</div><p>extra" queryCommandValue("justifyright") after assert_equals: Wrong result returned expected "right" but got "true"
-PASS [["stylewithcss","false"],["justifyright",""]] "<div dir=rtl style=text-align:end>[foo]</div><p>extra": execCommand("stylewithcss", false, "false") return value 
-PASS [["stylewithcss","false"],["justifyright",""]] "<div dir=rtl style=text-align:end>[foo]</div><p>extra": execCommand("justifyright", false, "") return value 
-PASS [["stylewithcss","false"],["justifyright",""]] "<div dir=rtl style=text-align:end>[foo]</div><p>extra" checks for modifications to non-editable content 
-FAIL [["stylewithcss","false"],["justifyright",""]] "<div dir=rtl style=text-align:end>[foo]</div><p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<div dir=\"rtl\">foo</div><p>extra</p>" but got "<div dir=\"rtl\" style=\"text-align:end\">foo</div><p>extra</p>"
-PASS [["stylewithcss","false"],["justifyright",""]] "<div dir=rtl style=text-align:end>[foo]</div><p>extra" queryCommandIndeterm("stylewithcss") before 
-PASS [["stylewithcss","false"],["justifyright",""]] "<div dir=rtl style=text-align:end>[foo]</div><p>extra" queryCommandState("stylewithcss") before 
-PASS [["stylewithcss","false"],["justifyright",""]] "<div dir=rtl style=text-align:end>[foo]</div><p>extra" queryCommandValue("stylewithcss") before 
-PASS [["stylewithcss","false"],["justifyright",""]] "<div dir=rtl style=text-align:end>[foo]</div><p>extra" queryCommandIndeterm("stylewithcss") after 
-PASS [["stylewithcss","false"],["justifyright",""]] "<div dir=rtl style=text-align:end>[foo]</div><p>extra" queryCommandState("stylewithcss") after 
-PASS [["stylewithcss","false"],["justifyright",""]] "<div dir=rtl style=text-align:end>[foo]</div><p>extra" queryCommandValue("stylewithcss") after 
-PASS [["stylewithcss","false"],["justifyright",""]] "<div dir=rtl style=text-align:end>[foo]</div><p>extra" queryCommandIndeterm("justifyright") before 
-FAIL [["stylewithcss","false"],["justifyright",""]] "<div dir=rtl style=text-align:end>[foo]</div><p>extra" queryCommandState("justifyright") before assert_equals: Wrong result returned expected false but got true
-FAIL [["stylewithcss","false"],["justifyright",""]] "<div dir=rtl style=text-align:end>[foo]</div><p>extra" queryCommandValue("justifyright") before assert_equals: Wrong result returned expected "left" but got "true"
-PASS [["stylewithcss","false"],["justifyright",""]] "<div dir=rtl style=text-align:end>[foo]</div><p>extra" queryCommandIndeterm("justifyright") after 
-PASS [["stylewithcss","false"],["justifyright",""]] "<div dir=rtl style=text-align:end>[foo]</div><p>extra" queryCommandState("justifyright") after 
-FAIL [["stylewithcss","false"],["justifyright",""]] "<div dir=rtl style=text-align:end>[foo]</div><p>extra" queryCommandValue("justifyright") after assert_equals: Wrong result returned expected "right" but got "true"
-PASS [["justifyright",""]] "<div style=text-align:right><p>foo</div> <p>[bar]": execCommand("justifyright", false, "") return value 
-PASS [["justifyright",""]] "<div style=text-align:right><p>foo</div> <p>[bar]" checks for modifications to non-editable content 
-FAIL [["justifyright",""]] "<div style=text-align:right><p>foo</div> <p>[bar]" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<div style=\"text-align:right\"><p>foo</p> <p>bar</p></div>" but got "<div style=\"text-align:right\"><p>foo</p></div> <p style=\"text-align:right\">bar</p>"
-PASS [["justifyright",""]] "<div style=text-align:right><p>foo</div> <p>[bar]" queryCommandIndeterm("justifyright") before 
-PASS [["justifyright",""]] "<div style=text-align:right><p>foo</div> <p>[bar]" queryCommandState("justifyright") before 
-FAIL [["justifyright",""]] "<div style=text-align:right><p>foo</div> <p>[bar]" queryCommandValue("justifyright") before assert_equals: Wrong result returned expected "left" but got "false"
-PASS [["justifyright",""]] "<div style=text-align:right><p>foo</div> <p>[bar]" queryCommandIndeterm("justifyright") after 
-PASS [["justifyright",""]] "<div style=text-align:right><p>foo</div> <p>[bar]" queryCommandState("justifyright") after 
-FAIL [["justifyright",""]] "<div style=text-align:right><p>foo</div> <p>[bar]" queryCommandValue("justifyright") after assert_equals: Wrong result returned expected "right" but got "true"
-PASS [["justifyright",""]] "<div align=right><p>foo</div> <p>[bar]": execCommand("justifyright", false, "") return value 
-PASS [["justifyright",""]] "<div align=right><p>foo</div> <p>[bar]" checks for modifications to non-editable content 
-FAIL [["justifyright",""]] "<div align=right><p>foo</div> <p>[bar]" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<div align=\"right\"><p>foo</p> <p>bar</p></div>" but got "<div align=\"right\"><p>foo</p></div> <p style=\"text-align:right\">bar</p>"
-PASS [["justifyright",""]] "<div align=right><p>foo</div> <p>[bar]" queryCommandIndeterm("justifyright") before 
-PASS [["justifyright",""]] "<div align=right><p>foo</div> <p>[bar]" queryCommandState("justifyright") before 
-FAIL [["justifyright",""]] "<div align=right><p>foo</div> <p>[bar]" queryCommandValue("justifyright") before assert_equals: Wrong result returned expected "left" but got "false"
-PASS [["justifyright",""]] "<div align=right><p>foo</div> <p>[bar]" queryCommandIndeterm("justifyright") after 
-PASS [["justifyright",""]] "<div align=right><p>foo</div> <p>[bar]" queryCommandState("justifyright") after 
-FAIL [["justifyright",""]] "<div align=right><p>foo</div> <p>[bar]" queryCommandValue("justifyright") after assert_equals: Wrong result returned expected "right" but got "true"
-PASS [["justifyright",""]] "<p>[foo]</p> <div style=text-align:right><p>bar</div>": execCommand("justifyright", false, "") return value 
-PASS [["justifyright",""]] "<p>[foo]</p> <div style=text-align:right><p>bar</div>" checks for modifications to non-editable content 
-FAIL [["justifyright",""]] "<p>[foo]</p> <div style=text-align:right><p>bar</div>" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<div style=\"text-align:right\"><p>foo</p> <p>bar</p></div>" but got "<p style=\"text-align:right\">foo</p> <div style=\"text-align:right\"><p>bar</p></div>"
-PASS [["justifyright",""]] "<p>[foo]</p> <div style=text-align:right><p>bar</div>" queryCommandIndeterm("justifyright") before 
-PASS [["justifyright",""]] "<p>[foo]</p> <div style=text-align:right><p>bar</div>" queryCommandState("justifyright") before 
-FAIL [["justifyright",""]] "<p>[foo]</p> <div style=text-align:right><p>bar</div>" queryCommandValue("justifyright") before assert_equals: Wrong result returned expected "left" but got "false"
-PASS [["justifyright",""]] "<p>[foo]</p> <div style=text-align:right><p>bar</div>" queryCommandIndeterm("justifyright") after 
-PASS [["justifyright",""]] "<p>[foo]</p> <div style=text-align:right><p>bar</div>" queryCommandState("justifyright") after 
-FAIL [["justifyright",""]] "<p>[foo]</p> <div style=text-align:right><p>bar</div>" queryCommandValue("justifyright") after assert_equals: Wrong result returned expected "right" but got "true"
-PASS [["justifyright",""]] "<p>[foo]</p> <div align=right><p>bar</div>": execCommand("justifyright", false, "") return value 
-PASS [["justifyright",""]] "<p>[foo]</p> <div align=right><p>bar</div>" checks for modifications to non-editable content 
-FAIL [["justifyright",""]] "<p>[foo]</p> <div align=right><p>bar</div>" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<div align=\"right\"><p>foo</p> <p>bar</p></div>" but got "<p style=\"text-align:right\">foo</p> <div align=\"right\"><p>bar</p></div>"
-PASS [["justifyright",""]] "<p>[foo]</p> <div align=right><p>bar</div>" queryCommandIndeterm("justifyright") before 
-PASS [["justifyright",""]] "<p>[foo]</p> <div align=right><p>bar</div>" queryCommandState("justifyright") before 
-FAIL [["justifyright",""]] "<p>[foo]</p> <div align=right><p>bar</div>" queryCommandValue("justifyright") before assert_equals: Wrong result returned expected "left" but got "false"
-PASS [["justifyright",""]] "<p>[foo]</p> <div align=right><p>bar</div>" queryCommandIndeterm("justifyright") after 
-PASS [["justifyright",""]] "<p>[foo]</p> <div align=right><p>bar</div>" queryCommandState("justifyright") after 
-FAIL [["justifyright",""]] "<p>[foo]</p> <div align=right><p>bar</div>" queryCommandValue("justifyright") after assert_equals: Wrong result returned expected "right" but got "true"
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<div style=text-align:right><p>foo</div> <p>[bar]</p> <div style=text-align:right><p>baz</div>": execCommand("stylewithcss", false, "true") return value 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<div style=text-align:right><p>foo</div> <p>[bar]</p> <div style=text-align:right><p>baz</div>": execCommand("defaultparagraphseparator", false, "div") return value 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<div style=text-align:right><p>foo</div> <p>[bar]</p> <div style=text-align:right><p>baz</div>": execCommand("justifyright", false, "") return value 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<div style=text-align:right><p>foo</div> <p>[bar]</p> <div style=text-align:right><p>baz</div>" checks for modifications to non-editable content 
-FAIL [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<div style=text-align:right><p>foo</div> <p>[bar]</p> <div style=text-align:right><p>baz</div>" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<div style=\"text-align:right\"><p>foo</p> <p>bar</p> <p>baz</p></div>" but got "<div style=\"text-align:right\"><p>foo</p></div> <p style=\"text-align:right\">bar</p> <div style=\"text-align:right\"><p>baz</p></div>"
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<div style=text-align:right><p>foo</div> <p>[bar]</p> <div style=text-align:right><p>baz</div>" queryCommandIndeterm("stylewithcss") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<div style=text-align:right><p>foo</div> <p>[bar]</p> <div style=text-align:right><p>baz</div>" queryCommandState("stylewithcss") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<div style=text-align:right><p>foo</div> <p>[bar]</p> <div style=text-align:right><p>baz</div>" queryCommandValue("stylewithcss") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<div style=text-align:right><p>foo</div> <p>[bar]</p> <div style=text-align:right><p>baz</div>" queryCommandIndeterm("stylewithcss") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<div style=text-align:right><p>foo</div> <p>[bar]</p> <div style=text-align:right><p>baz</div>" queryCommandState("stylewithcss") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<div style=text-align:right><p>foo</div> <p>[bar]</p> <div style=text-align:right><p>baz</div>" queryCommandValue("stylewithcss") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<div style=text-align:right><p>foo</div> <p>[bar]</p> <div style=text-align:right><p>baz</div>" queryCommandIndeterm("defaultparagraphseparator") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<div style=text-align:right><p>foo</div> <p>[bar]</p> <div style=text-align:right><p>baz</div>" queryCommandState("defaultparagraphseparator") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<div style=text-align:right><p>foo</div> <p>[bar]</p> <div style=text-align:right><p>baz</div>" queryCommandValue("defaultparagraphseparator") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<div style=text-align:right><p>foo</div> <p>[bar]</p> <div style=text-align:right><p>baz</div>" queryCommandIndeterm("defaultparagraphseparator") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<div style=text-align:right><p>foo</div> <p>[bar]</p> <div style=text-align:right><p>baz</div>" queryCommandState("defaultparagraphseparator") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<div style=text-align:right><p>foo</div> <p>[bar]</p> <div style=text-align:right><p>baz</div>" queryCommandValue("defaultparagraphseparator") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<div style=text-align:right><p>foo</div> <p>[bar]</p> <div style=text-align:right><p>baz</div>" queryCommandIndeterm("justifyright") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<div style=text-align:right><p>foo</div> <p>[bar]</p> <div style=text-align:right><p>baz</div>" queryCommandState("justifyright") before 
-FAIL [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<div style=text-align:right><p>foo</div> <p>[bar]</p> <div style=text-align:right><p>baz</div>" queryCommandValue("justifyright") before assert_equals: Wrong result returned expected "left" but got "false"
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<div style=text-align:right><p>foo</div> <p>[bar]</p> <div style=text-align:right><p>baz</div>" queryCommandIndeterm("justifyright") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<div style=text-align:right><p>foo</div> <p>[bar]</p> <div style=text-align:right><p>baz</div>" queryCommandState("justifyright") after 
-FAIL [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<div style=text-align:right><p>foo</div> <p>[bar]</p> <div style=text-align:right><p>baz</div>" queryCommandValue("justifyright") after assert_equals: Wrong result returned expected "right" but got "true"
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<div style=text-align:right><p>foo</div> <p>[bar]</p> <div style=text-align:right><p>baz</div>": execCommand("stylewithcss", false, "false") return value 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<div style=text-align:right><p>foo</div> <p>[bar]</p> <div style=text-align:right><p>baz</div>": execCommand("defaultparagraphseparator", false, "div") return value 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<div style=text-align:right><p>foo</div> <p>[bar]</p> <div style=text-align:right><p>baz</div>": execCommand("justifyright", false, "") return value 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<div style=text-align:right><p>foo</div> <p>[bar]</p> <div style=text-align:right><p>baz</div>" checks for modifications to non-editable content 
-FAIL [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<div style=text-align:right><p>foo</div> <p>[bar]</p> <div style=text-align:right><p>baz</div>" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<div style=\"text-align:right\"><p>foo</p> <p>bar</p> <p>baz</p></div>" but got "<div style=\"text-align:right\"><p>foo</p></div> <p style=\"text-align:right\">bar</p> <div style=\"text-align:right\"><p>baz</p></div>"
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<div style=text-align:right><p>foo</div> <p>[bar]</p> <div style=text-align:right><p>baz</div>" queryCommandIndeterm("stylewithcss") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<div style=text-align:right><p>foo</div> <p>[bar]</p> <div style=text-align:right><p>baz</div>" queryCommandState("stylewithcss") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<div style=text-align:right><p>foo</div> <p>[bar]</p> <div style=text-align:right><p>baz</div>" queryCommandValue("stylewithcss") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<div style=text-align:right><p>foo</div> <p>[bar]</p> <div style=text-align:right><p>baz</div>" queryCommandIndeterm("stylewithcss") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<div style=text-align:right><p>foo</div> <p>[bar]</p> <div style=text-align:right><p>baz</div>" queryCommandState("stylewithcss") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<div style=text-align:right><p>foo</div> <p>[bar]</p> <div style=text-align:right><p>baz</div>" queryCommandValue("stylewithcss") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<div style=text-align:right><p>foo</div> <p>[bar]</p> <div style=text-align:right><p>baz</div>" queryCommandIndeterm("defaultparagraphseparator") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<div style=text-align:right><p>foo</div> <p>[bar]</p> <div style=text-align:right><p>baz</div>" queryCommandState("defaultparagraphseparator") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<div style=text-align:right><p>foo</div> <p>[bar]</p> <div style=text-align:right><p>baz</div>" queryCommandValue("defaultparagraphseparator") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<div style=text-align:right><p>foo</div> <p>[bar]</p> <div style=text-align:right><p>baz</div>" queryCommandIndeterm("defaultparagraphseparator") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<div style=text-align:right><p>foo</div> <p>[bar]</p> <div style=text-align:right><p>baz</div>" queryCommandState("defaultparagraphseparator") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<div style=text-align:right><p>foo</div> <p>[bar]</p> <div style=text-align:right><p>baz</div>" queryCommandValue("defaultparagraphseparator") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<div style=text-align:right><p>foo</div> <p>[bar]</p> <div style=text-align:right><p>baz</div>" queryCommandIndeterm("justifyright") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<div style=text-align:right><p>foo</div> <p>[bar]</p> <div style=text-align:right><p>baz</div>" queryCommandState("justifyright") before 
-FAIL [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<div style=text-align:right><p>foo</div> <p>[bar]</p> <div style=text-align:right><p>baz</div>" queryCommandValue("justifyright") before assert_equals: Wrong result returned expected "left" but got "false"
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<div style=text-align:right><p>foo</div> <p>[bar]</p> <div style=text-align:right><p>baz</div>" queryCommandIndeterm("justifyright") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<div style=text-align:right><p>foo</div> <p>[bar]</p> <div style=text-align:right><p>baz</div>" queryCommandState("justifyright") after 
-FAIL [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<div style=text-align:right><p>foo</div> <p>[bar]</p> <div style=text-align:right><p>baz</div>" queryCommandValue("justifyright") after assert_equals: Wrong result returned expected "right" but got "true"
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<div style=text-align:right><p>foo</div> <p>[bar]</p> <div style=text-align:right><p>baz</div>": execCommand("stylewithcss", false, "true") return value 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<div style=text-align:right><p>foo</div> <p>[bar]</p> <div style=text-align:right><p>baz</div>": execCommand("defaultparagraphseparator", false, "p") return value 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<div style=text-align:right><p>foo</div> <p>[bar]</p> <div style=text-align:right><p>baz</div>": execCommand("justifyright", false, "") return value 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<div style=text-align:right><p>foo</div> <p>[bar]</p> <div style=text-align:right><p>baz</div>" checks for modifications to non-editable content 
-FAIL [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<div style=text-align:right><p>foo</div> <p>[bar]</p> <div style=text-align:right><p>baz</div>" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<div style=\"text-align:right\"><p>foo</p> <p>bar</p> <p>baz</p></div>" but got "<div style=\"text-align:right\"><p>foo</p></div> <p style=\"text-align:right\">bar</p> <div style=\"text-align:right\"><p>baz</p></div>"
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<div style=text-align:right><p>foo</div> <p>[bar]</p> <div style=text-align:right><p>baz</div>" queryCommandIndeterm("stylewithcss") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<div style=text-align:right><p>foo</div> <p>[bar]</p> <div style=text-align:right><p>baz</div>" queryCommandState("stylewithcss") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<div style=text-align:right><p>foo</div> <p>[bar]</p> <div style=text-align:right><p>baz</div>" queryCommandValue("stylewithcss") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<div style=text-align:right><p>foo</div> <p>[bar]</p> <div style=text-align:right><p>baz</div>" queryCommandIndeterm("stylewithcss") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<div style=text-align:right><p>foo</div> <p>[bar]</p> <div style=text-align:right><p>baz</div>" queryCommandState("stylewithcss") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<div style=text-align:right><p>foo</div> <p>[bar]</p> <div style=text-align:right><p>baz</div>" queryCommandValue("stylewithcss") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<div style=text-align:right><p>foo</div> <p>[bar]</p> <div style=text-align:right><p>baz</div>" queryCommandIndeterm("defaultparagraphseparator") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<div style=text-align:right><p>foo</div> <p>[bar]</p> <div style=text-align:right><p>baz</div>" queryCommandState("defaultparagraphseparator") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<div style=text-align:right><p>foo</div> <p>[bar]</p> <div style=text-align:right><p>baz</div>" queryCommandValue("defaultparagraphseparator") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<div style=text-align:right><p>foo</div> <p>[bar]</p> <div style=text-align:right><p>baz</div>" queryCommandIndeterm("defaultparagraphseparator") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<div style=text-align:right><p>foo</div> <p>[bar]</p> <div style=text-align:right><p>baz</div>" queryCommandState("defaultparagraphseparator") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<div style=text-align:right><p>foo</div> <p>[bar]</p> <div style=text-align:right><p>baz</div>" queryCommandValue("defaultparagraphseparator") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<div style=text-align:right><p>foo</div> <p>[bar]</p> <div style=text-align:right><p>baz</div>" queryCommandIndeterm("justifyright") before 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<div style=text-align:right><p>foo</div> <p>[bar]</p> <div style=text-align:right><p>baz</div>" queryCommandState("justifyright") before 
-FAIL [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<div style=text-align:right><p>foo</div> <p>[bar]</p> <div style=text-align:right><p>baz</div>" queryCommandValue("justifyright") before assert_equals: Wrong result returned expected "left" but got "false"
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<div style=text-align:right><p>foo</div> <p>[bar]</p> <div style=text-align:right><p>baz</div>" queryCommandIndeterm("justifyright") after 
-PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<div style=text-align:right><p>foo</div> <p>[bar]</p> <div style=text-align:right><p>baz</div>" queryCommandState("justifyright") after 
-FAIL [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<div style=text-align:right><p>foo</div> <p>[bar]</p> <div style=text-align:right><p>baz</div>" queryCommandValue("justifyright") after assert_equals: Wrong result returned expected "right" but got "true"
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<div style=text-align:right><p>foo</div> <p>[bar]</p> <div style=text-align:right><p>baz</div>": execCommand("stylewithcss", false, "false") return value 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<div style=text-align:right><p>foo</div> <p>[bar]</p> <div style=text-align:right><p>baz</div>": execCommand("defaultparagraphseparator", false, "p") return value 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<div style=text-align:right><p>foo</div> <p>[bar]</p> <div style=text-align:right><p>baz</div>": execCommand("justifyright", false, "") return value 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<div style=text-align:right><p>foo</div> <p>[bar]</p> <div style=text-align:right><p>baz</div>" checks for modifications to non-editable content 
-FAIL [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<div style=text-align:right><p>foo</div> <p>[bar]</p> <div style=text-align:right><p>baz</div>" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<div style=\"text-align:right\"><p>foo</p> <p>bar</p> <p>baz</p></div>" but got "<div style=\"text-align:right\"><p>foo</p></div> <p style=\"text-align:right\">bar</p> <div style=\"text-align:right\"><p>baz</p></div>"
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<div style=text-align:right><p>foo</div> <p>[bar]</p> <div style=text-align:right><p>baz</div>" queryCommandIndeterm("stylewithcss") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<div style=text-align:right><p>foo</div> <p>[bar]</p> <div style=text-align:right><p>baz</div>" queryCommandState("stylewithcss") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<div style=text-align:right><p>foo</div> <p>[bar]</p> <div style=text-align:right><p>baz</div>" queryCommandValue("stylewithcss") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<div style=text-align:right><p>foo</div> <p>[bar]</p> <div style=text-align:right><p>baz</div>" queryCommandIndeterm("stylewithcss") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<div style=text-align:right><p>foo</div> <p>[bar]</p> <div style=text-align:right><p>baz</div>" queryCommandState("stylewithcss") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<div style=text-align:right><p>foo</div> <p>[bar]</p> <div style=text-align:right><p>baz</div>" queryCommandValue("stylewithcss") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<div style=text-align:right><p>foo</div> <p>[bar]</p> <div style=text-align:right><p>baz</div>" queryCommandIndeterm("defaultparagraphseparator") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<div style=text-align:right><p>foo</div> <p>[bar]</p> <div style=text-align:right><p>baz</div>" queryCommandState("defaultparagraphseparator") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<div style=text-align:right><p>foo</div> <p>[bar]</p> <div style=text-align:right><p>baz</div>" queryCommandValue("defaultparagraphseparator") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<div style=text-align:right><p>foo</div> <p>[bar]</p> <div style=text-align:right><p>baz</div>" queryCommandIndeterm("defaultparagraphseparator") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<div style=text-align:right><p>foo</div> <p>[bar]</p> <div style=text-align:right><p>baz</div>" queryCommandState("defaultparagraphseparator") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<div style=text-align:right><p>foo</div> <p>[bar]</p> <div style=text-align:right><p>baz</div>" queryCommandValue("defaultparagraphseparator") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<div style=text-align:right><p>foo</div> <p>[bar]</p> <div style=text-align:right><p>baz</div>" queryCommandIndeterm("justifyright") before 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<div style=text-align:right><p>foo</div> <p>[bar]</p> <div style=text-align:right><p>baz</div>" queryCommandState("justifyright") before 
-FAIL [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<div style=text-align:right><p>foo</div> <p>[bar]</p> <div style=text-align:right><p>baz</div>" queryCommandValue("justifyright") before assert_equals: Wrong result returned expected "left" but got "false"
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<div style=text-align:right><p>foo</div> <p>[bar]</p> <div style=text-align:right><p>baz</div>" queryCommandIndeterm("justifyright") after 
-PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<div style=text-align:right><p>foo</div> <p>[bar]</p> <div style=text-align:right><p>baz</div>" queryCommandState("justifyright") after 
-FAIL [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<div style=text-align:right><p>foo</div> <p>[bar]</p> <div style=text-align:right><p>baz</div>" queryCommandValue("justifyright") after assert_equals: Wrong result returned expected "right" but got "true"
-PASS [["defaultparagraphseparator","div"],["justifyright",""]] "<div align=right><p>foo</div> <p>[bar]</p> <div align=right><p>baz</div>": execCommand("defaultparagraphseparator", false, "div") return value 
-PASS [["defaultparagraphseparator","div"],["justifyright",""]] "<div align=right><p>foo</div> <p>[bar]</p> <div align=right><p>baz</div>": execCommand("justifyright", false, "") return value 
-PASS [["defaultparagraphseparator","div"],["justifyright",""]] "<div align=right><p>foo</div> <p>[bar]</p> <div align=right><p>baz</div>" checks for modifications to non-editable content 
-FAIL [["defaultparagraphseparator","div"],["justifyright",""]] "<div align=right><p>foo</div> <p>[bar]</p> <div align=right><p>baz</div>" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<div align=\"right\"><p>foo</p> <p>bar</p> <p>baz</p></div>" but got "<div align=\"right\"><p>foo</p></div> <p style=\"text-align:right\">bar</p> <div align=\"right\"><p>baz</p></div>"
-PASS [["defaultparagraphseparator","div"],["justifyright",""]] "<div align=right><p>foo</div> <p>[bar]</p> <div align=right><p>baz</div>" queryCommandIndeterm("defaultparagraphseparator") before 
-PASS [["defaultparagraphseparator","div"],["justifyright",""]] "<div align=right><p>foo</div> <p>[bar]</p> <div align=right><p>baz</div>" queryCommandState("defaultparagraphseparator") before 
-PASS [["defaultparagraphseparator","div"],["justifyright",""]] "<div align=right><p>foo</div> <p>[bar]</p> <div align=right><p>baz</div>" queryCommandValue("defaultparagraphseparator") before 
-PASS [["defaultparagraphseparator","div"],["justifyright",""]] "<div align=right><p>foo</div> <p>[bar]</p> <div align=right><p>baz</div>" queryCommandIndeterm("defaultparagraphseparator") after 
-PASS [["defaultparagraphseparator","div"],["justifyright",""]] "<div align=right><p>foo</div> <p>[bar]</p> <div align=right><p>baz</div>" queryCommandState("defaultparagraphseparator") after 
-PASS [["defaultparagraphseparator","div"],["justifyright",""]] "<div align=right><p>foo</div> <p>[bar]</p> <div align=right><p>baz</div>" queryCommandValue("defaultparagraphseparator") after 
-PASS [["defaultparagraphseparator","div"],["justifyright",""]] "<div align=right><p>foo</div> <p>[bar]</p> <div align=right><p>baz</div>" queryCommandIndeterm("justifyright") before 
-PASS [["defaultparagraphseparator","div"],["justifyright",""]] "<div align=right><p>foo</div> <p>[bar]</p> <div align=right><p>baz</div>" queryCommandState("justifyright") before 
-FAIL [["defaultparagraphseparator","div"],["justifyright",""]] "<div align=right><p>foo</div> <p>[bar]</p> <div align=right><p>baz</div>" queryCommandValue("justifyright") before assert_equals: Wrong result returned expected "left" but got "false"
-PASS [["defaultparagraphseparator","div"],["justifyright",""]] "<div align=right><p>foo</div> <p>[bar]</p> <div align=right><p>baz</div>" queryCommandIndeterm("justifyright") after 
-PASS [["defaultparagraphseparator","div"],["justifyright",""]] "<div align=right><p>foo</div> <p>[bar]</p> <div align=right><p>baz</div>" queryCommandState("justifyright") after 
-FAIL [["defaultparagraphseparator","div"],["justifyright",""]] "<div align=right><p>foo</div> <p>[bar]</p> <div align=right><p>baz</div>" queryCommandValue("justifyright") after assert_equals: Wrong result returned expected "right" but got "true"
-PASS [["defaultparagraphseparator","p"],["justifyright",""]] "<div align=right><p>foo</div> <p>[bar]</p> <div align=right><p>baz</div>": execCommand("defaultparagraphseparator", false, "p") return value 
-PASS [["defaultparagraphseparator","p"],["justifyright",""]] "<div align=right><p>foo</div> <p>[bar]</p> <div align=right><p>baz</div>": execCommand("justifyright", false, "") return value 
-PASS [["defaultparagraphseparator","p"],["justifyright",""]] "<div align=right><p>foo</div> <p>[bar]</p> <div align=right><p>baz</div>" checks for modifications to non-editable content 
-FAIL [["defaultparagraphseparator","p"],["justifyright",""]] "<div align=right><p>foo</div> <p>[bar]</p> <div align=right><p>baz</div>" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<div align=\"right\"><p>foo</p> <p>bar</p> <p>baz</p></div>" but got "<div align=\"right\"><p>foo</p></div> <p style=\"text-align:right\">bar</p> <div align=\"right\"><p>baz</p></div>"
-PASS [["defaultparagraphseparator","p"],["justifyright",""]] "<div align=right><p>foo</div> <p>[bar]</p> <div align=right><p>baz</div>" queryCommandIndeterm("defaultparagraphseparator") before 
-PASS [["defaultparagraphseparator","p"],["justifyright",""]] "<div align=right><p>foo</div> <p>[bar]</p> <div align=right><p>baz</div>" queryCommandState("defaultparagraphseparator") before 
-PASS [["defaultparagraphseparator","p"],["justifyright",""]] "<div align=right><p>foo</div> <p>[bar]</p> <div align=right><p>baz</div>" queryCommandValue("defaultparagraphseparator") before 
-PASS [["defaultparagraphseparator","p"],["justifyright",""]] "<div align=right><p>foo</div> <p>[bar]</p> <div align=right><p>baz</div>" queryCommandIndeterm("defaultparagraphseparator") after 
-PASS [["defaultparagraphseparator","p"],["justifyright",""]] "<div align=right><p>foo</div> <p>[bar]</p> <div align=right><p>baz</div>" queryCommandState("defaultparagraphseparator") after 
-PASS [["defaultparagraphseparator","p"],["justifyright",""]] "<div align=right><p>foo</div> <p>[bar]</p> <div align=right><p>baz</div>" queryCommandValue("defaultparagraphseparator") after 
-PASS [["defaultparagraphseparator","p"],["justifyright",""]] "<div align=right><p>foo</div> <p>[bar]</p> <div align=right><p>baz</div>" queryCommandIndeterm("justifyright") before 
-PASS [["defaultparagraphseparator","p"],["justifyright",""]] "<div align=right><p>foo</div> <p>[bar]</p> <div align=right><p>baz</div>" queryCommandState("justifyright") before 
-FAIL [["defaultparagraphseparator","p"],["justifyright",""]] "<div align=right><p>foo</div> <p>[bar]</p> <div align=right><p>baz</div>" queryCommandValue("justifyright") before assert_equals: Wrong result returned expected "left" but got "false"
-PASS [["defaultparagraphseparator","p"],["justifyright",""]] "<div align=right><p>foo</div> <p>[bar]</p> <div align=right><p>baz</div>" queryCommandIndeterm("justifyright") after 
-PASS [["defaultparagraphseparator","p"],["justifyright",""]] "<div align=right><p>foo</div> <p>[bar]</p> <div align=right><p>baz</div>" queryCommandState("justifyright") after 
-FAIL [["defaultparagraphseparator","p"],["justifyright",""]] "<div align=right><p>foo</div> <p>[bar]</p> <div align=right><p>baz</div>" queryCommandValue("justifyright") after assert_equals: Wrong result returned expected "right" but got "true"
-Harness: the test ran to completion.
-
diff --git a/third_party/WebKit/LayoutTests/external/wpt/editing/run/removeformat-expected.txt b/third_party/WebKit/LayoutTests/external/wpt/editing/run/removeformat-expected.txt
index 0085bb3..c0fc14b8 100644
--- a/third_party/WebKit/LayoutTests/external/wpt/editing/run/removeformat-expected.txt
+++ b/third_party/WebKit/LayoutTests/external/wpt/editing/run/removeformat-expected.txt
@@ -1,5 +1,5 @@
 This is a testharness.js-based test.
-Found 1704 tests; 1672 PASS, 32 FAIL, 0 TIMEOUT, 0 NOTRUN.
+Found 1704 tests; 1671 PASS, 33 FAIL, 0 TIMEOUT, 0 NOTRUN.
 FAIL [["removeformat",""]] "foo[]bar": execCommand("removeformat", false, "") return value assert_equals: expected true but got false
 PASS [["removeformat",""]] "foo[]bar" checks for modifications to non-editable content 
 PASS [["removeformat",""]] "foo[]bar" compare innerHTML 
@@ -1533,7 +1533,7 @@
 PASS [["stylewithcss","false"],["removeformat",""]] "foo<b style=\"font-weight: normal\">b[a]r</b>baz" queryCommandValue("removeformat") after 
 PASS [["removeformat",""]] "<p style=\"background-color: aqua\">foo[bar]baz</p>": execCommand("removeformat", false, "") return value 
 PASS [["removeformat",""]] "<p style=\"background-color: aqua\">foo[bar]baz</p>" checks for modifications to non-editable content 
-FAIL [["removeformat",""]] "<p style=\"background-color: aqua\">foo[bar]baz</p>" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<p style=\"background-color:rgb(0, 255, 255)\">foobarbaz</p>" but got "<p><span style=\"background-color:rgb(0, 255, 255)\">foo</span>bar<span style=\"background-color:rgb(0, 255, 255)\">baz</span></p>"
+FAIL [["removeformat",""]] "<p style=\"background-color: aqua\">foo[bar]baz</p>" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<p style=\"background-color:rgb(0, 255, 255)\">foobarbaz</p>" but got "<p style=\"\"><span style=\"background-color:rgb(0, 255, 255)\">foo</span>bar<span style=\"background-color:rgb(0, 255, 255)\">baz</span></p>"
 PASS [["removeformat",""]] "<p style=\"background-color: aqua\">foo[bar]baz</p>" queryCommandIndeterm("removeformat") before 
 PASS [["removeformat",""]] "<p style=\"background-color: aqua\">foo[bar]baz</p>" queryCommandState("removeformat") before 
 PASS [["removeformat",""]] "<p style=\"background-color: aqua\">foo[bar]baz</p>" queryCommandValue("removeformat") before 
@@ -1575,7 +1575,7 @@
 PASS [["stylewithcss","true"],["removeformat",""]] "<p style=\"font-weight: bold\">foo[bar]baz</p>": execCommand("stylewithcss", false, "true") return value 
 PASS [["stylewithcss","true"],["removeformat",""]] "<p style=\"font-weight: bold\">foo[bar]baz</p>": execCommand("removeformat", false, "") return value 
 PASS [["stylewithcss","true"],["removeformat",""]] "<p style=\"font-weight: bold\">foo[bar]baz</p>" checks for modifications to non-editable content 
-PASS [["stylewithcss","true"],["removeformat",""]] "<p style=\"font-weight: bold\">foo[bar]baz</p>" compare innerHTML 
+FAIL [["stylewithcss","true"],["removeformat",""]] "<p style=\"font-weight: bold\">foo[bar]baz</p>" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<p><span style=\"font-weight:bold\">foo</span>bar<span style=\"font-weight:bold\">baz</span></p>" but got "<p style=\"\"><span style=\"font-weight:bold\">foo</span>bar<span style=\"font-weight:bold\">baz</span></p>"
 PASS [["stylewithcss","true"],["removeformat",""]] "<p style=\"font-weight: bold\">foo[bar]baz</p>" queryCommandIndeterm("stylewithcss") before 
 PASS [["stylewithcss","true"],["removeformat",""]] "<p style=\"font-weight: bold\">foo[bar]baz</p>" queryCommandState("stylewithcss") before 
 PASS [["stylewithcss","true"],["removeformat",""]] "<p style=\"font-weight: bold\">foo[bar]baz</p>" queryCommandValue("stylewithcss") before 
@@ -1591,7 +1591,7 @@
 PASS [["stylewithcss","false"],["removeformat",""]] "<p style=\"font-weight: bold\">foo[bar]baz</p>": execCommand("stylewithcss", false, "false") return value 
 PASS [["stylewithcss","false"],["removeformat",""]] "<p style=\"font-weight: bold\">foo[bar]baz</p>": execCommand("removeformat", false, "") return value 
 PASS [["stylewithcss","false"],["removeformat",""]] "<p style=\"font-weight: bold\">foo[bar]baz</p>" checks for modifications to non-editable content 
-FAIL [["stylewithcss","false"],["removeformat",""]] "<p style=\"font-weight: bold\">foo[bar]baz</p>" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<p><b>foo</b>bar<b>baz</b></p>" but got "<p><span style=\"font-weight:bold\">foo</span>bar<b>baz</b></p>"
+FAIL [["stylewithcss","false"],["removeformat",""]] "<p style=\"font-weight: bold\">foo[bar]baz</p>" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<p><b>foo</b>bar<b>baz</b></p>" but got "<p style=\"\"><span style=\"font-weight:bold\">foo</span>bar<b>baz</b></p>"
 PASS [["stylewithcss","false"],["removeformat",""]] "<p style=\"font-weight: bold\">foo[bar]baz</p>" queryCommandIndeterm("stylewithcss") before 
 PASS [["stylewithcss","false"],["removeformat",""]] "<p style=\"font-weight: bold\">foo[bar]baz</p>" queryCommandState("stylewithcss") before 
 PASS [["stylewithcss","false"],["removeformat",""]] "<p style=\"font-weight: bold\">foo[bar]baz</p>" queryCommandValue("stylewithcss") before 
@@ -1607,7 +1607,7 @@
 PASS [["stylewithcss","true"],["removeformat",""]] "<b><p style=\"font-weight: bold\">foo[bar]baz</p></b>": execCommand("stylewithcss", false, "true") return value 
 PASS [["stylewithcss","true"],["removeformat",""]] "<b><p style=\"font-weight: bold\">foo[bar]baz</p></b>": execCommand("removeformat", false, "") return value 
 PASS [["stylewithcss","true"],["removeformat",""]] "<b><p style=\"font-weight: bold\">foo[bar]baz</p></b>" checks for modifications to non-editable content 
-FAIL [["stylewithcss","true"],["removeformat",""]] "<b><p style=\"font-weight: bold\">foo[bar]baz</p></b>" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<p><span style=\"font-weight:bold\">foo</span>bar<span style=\"font-weight:bold\">baz</span></p>" but got "<p><b><span style=\"font-weight:bold\">foo</span></b>bar<b>baz</b></p>"
+FAIL [["stylewithcss","true"],["removeformat",""]] "<b><p style=\"font-weight: bold\">foo[bar]baz</p></b>" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<p><span style=\"font-weight:bold\">foo</span>bar<span style=\"font-weight:bold\">baz</span></p>" but got "<p style=\"\"><b><span style=\"font-weight:bold\">foo</span></b>bar<b>baz</b></p>"
 PASS [["stylewithcss","true"],["removeformat",""]] "<b><p style=\"font-weight: bold\">foo[bar]baz</p></b>" queryCommandIndeterm("stylewithcss") before 
 PASS [["stylewithcss","true"],["removeformat",""]] "<b><p style=\"font-weight: bold\">foo[bar]baz</p></b>" queryCommandState("stylewithcss") before 
 PASS [["stylewithcss","true"],["removeformat",""]] "<b><p style=\"font-weight: bold\">foo[bar]baz</p></b>" queryCommandValue("stylewithcss") before 
@@ -1623,7 +1623,7 @@
 PASS [["stylewithcss","false"],["removeformat",""]] "<b><p style=\"font-weight: bold\">foo[bar]baz</p></b>": execCommand("stylewithcss", false, "false") return value 
 PASS [["stylewithcss","false"],["removeformat",""]] "<b><p style=\"font-weight: bold\">foo[bar]baz</p></b>": execCommand("removeformat", false, "") return value 
 PASS [["stylewithcss","false"],["removeformat",""]] "<b><p style=\"font-weight: bold\">foo[bar]baz</p></b>" checks for modifications to non-editable content 
-FAIL [["stylewithcss","false"],["removeformat",""]] "<b><p style=\"font-weight: bold\">foo[bar]baz</p></b>" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<p><b>foo</b>bar<b>baz</b></p>" but got "<p><b><span style=\"font-weight:bold\">foo</span></b>bar<b>baz</b></p>"
+FAIL [["stylewithcss","false"],["removeformat",""]] "<b><p style=\"font-weight: bold\">foo[bar]baz</p></b>" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<p><b>foo</b>bar<b>baz</b></p>" but got "<p style=\"\"><b><span style=\"font-weight:bold\">foo</span></b>bar<b>baz</b></p>"
 PASS [["stylewithcss","false"],["removeformat",""]] "<b><p style=\"font-weight: bold\">foo[bar]baz</p></b>" queryCommandIndeterm("stylewithcss") before 
 PASS [["stylewithcss","false"],["removeformat",""]] "<b><p style=\"font-weight: bold\">foo[bar]baz</p></b>" queryCommandState("stylewithcss") before 
 PASS [["stylewithcss","false"],["removeformat",""]] "<b><p style=\"font-weight: bold\">foo[bar]baz</p></b>" queryCommandValue("stylewithcss") before 
@@ -1656,7 +1656,7 @@
 PASS [["removeformat",""]] "{<p style=\"font-variant: small-caps\">foobarbaz</p>}" queryCommandValue("removeformat") after 
 PASS [["removeformat",""]] "<p style=\"text-indent: 2em\">foo[bar]baz</p>": execCommand("removeformat", false, "") return value 
 PASS [["removeformat",""]] "<p style=\"text-indent: 2em\">foo[bar]baz</p>" checks for modifications to non-editable content 
-FAIL [["removeformat",""]] "<p style=\"text-indent: 2em\">foo[bar]baz</p>" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<p style=\"text-indent:2em\">foobarbaz</p>" but got "<p>foobarbaz</p>"
+FAIL [["removeformat",""]] "<p style=\"text-indent: 2em\">foo[bar]baz</p>" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<p style=\"text-indent:2em\">foobarbaz</p>" but got "<p style=\"\">foobarbaz</p>"
 PASS [["removeformat",""]] "<p style=\"text-indent: 2em\">foo[bar]baz</p>" queryCommandIndeterm("removeformat") before 
 PASS [["removeformat",""]] "<p style=\"text-indent: 2em\">foo[bar]baz</p>" queryCommandState("removeformat") before 
 PASS [["removeformat",""]] "<p style=\"text-indent: 2em\">foo[bar]baz</p>" queryCommandValue("removeformat") before 
@@ -1665,7 +1665,7 @@
 PASS [["removeformat",""]] "<p style=\"text-indent: 2em\">foo[bar]baz</p>" queryCommandValue("removeformat") after 
 PASS [["removeformat",""]] "{<p style=\"text-indent: 2em\">foobarbaz</p>}": execCommand("removeformat", false, "") return value 
 PASS [["removeformat",""]] "{<p style=\"text-indent: 2em\">foobarbaz</p>}" checks for modifications to non-editable content 
-FAIL [["removeformat",""]] "{<p style=\"text-indent: 2em\">foobarbaz</p>}" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<p style=\"text-indent:2em\">foobarbaz</p>" but got "<p>foobarbaz</p>"
+FAIL [["removeformat",""]] "{<p style=\"text-indent: 2em\">foobarbaz</p>}" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<p style=\"text-indent:2em\">foobarbaz</p>" but got "<p style=\"\">foobarbaz</p>"
 PASS [["removeformat",""]] "{<p style=\"text-indent: 2em\">foobarbaz</p>}" queryCommandIndeterm("removeformat") before 
 PASS [["removeformat",""]] "{<p style=\"text-indent: 2em\">foobarbaz</p>}" queryCommandState("removeformat") before 
 PASS [["removeformat",""]] "{<p style=\"text-indent: 2em\">foobarbaz</p>}" queryCommandValue("removeformat") before 
diff --git a/third_party/WebKit/LayoutTests/external/wpt/html/rendering/non-replaced-elements/the-page/iframe-body-margin-attributes-expected.txt b/third_party/WebKit/LayoutTests/external/wpt/html/rendering/non-replaced-elements/the-page/iframe-body-margin-attributes-expected.txt
new file mode 100644
index 0000000..eb9ecfe98
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/external/wpt/html/rendering/non-replaced-elements/the-page/iframe-body-margin-attributes-expected.txt
@@ -0,0 +1,6 @@
+This is a testharness.js-based test.
+FAIL body marginwidth vs body leftmargin assert_equals: marginTop expected "20px" but got "10px"
+FAIL iframe marginwidth vs child body leftmargin assert_equals: marginTop expected "20px" but got "10px"
+FAIL iframe marginwidth vs child body marginwidth assert_equals: marginTop expected "20px" but got "10px"
+Harness: the test ran to completion.
+
diff --git a/third_party/WebKit/LayoutTests/external/wpt/html/rendering/non-replaced-elements/the-page/iframe-body-margin-attributes.html b/third_party/WebKit/LayoutTests/external/wpt/html/rendering/non-replaced-elements/the-page/iframe-body-margin-attributes.html
new file mode 100644
index 0000000..e1f4fb5
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/external/wpt/html/rendering/non-replaced-elements/the-page/iframe-body-margin-attributes.html
@@ -0,0 +1,32 @@
+<!doctype html>
+<title>iframe and body margin attributes</title>
+<script src="/resources/testharness.js"></script>
+<script src="/resources/testharnessreport.js"></script>
+<body marginwidth=20 marginheight=20 topmargin=10 rightmargin=10 bottommargin=10 leftmargin=10>
+<iframe data-desc="iframe marginwidth vs child body leftmargin" src="support/body-topmargin-leftmargin.html" marginwidth=10 marginheight=10></iframe>
+<iframe data-desc="iframe marginwidth vs child body marginwidth" src="support/body-marginwidth-marginheight.html" marginwidth=10 marginheight=10></iframe>
+<script>
+setup({explicit_done: true});
+
+onload = () => {
+  test(() => {
+    const style = getComputedStyle(document.body);
+    assert_style_props(style);
+  }, 'body marginwidth vs body leftmargin');
+
+  [].forEach.call(document.querySelectorAll('iframe'), iframe => {
+    test(() => {
+      const win = iframe.contentWindow;
+      const style = win.getComputedStyle(win.document.body);
+      assert_style_props(style);
+    }, iframe.dataset.desc);
+  });
+  done();
+}
+
+function assert_style_props(style) {
+  for (let prop of ['marginTop', 'marginRight', 'marginBottom', 'marginLeft']) {
+    assert_equals(style[prop], '20px', prop);
+  }
+}
+</script>
diff --git a/third_party/WebKit/LayoutTests/external/wpt/html/rendering/non-replaced-elements/the-page/iframe-marginwidth-marginheight-expected.txt b/third_party/WebKit/LayoutTests/external/wpt/html/rendering/non-replaced-elements/the-page/iframe-marginwidth-marginheight-expected.txt
new file mode 100644
index 0000000..5c9872f7
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/external/wpt/html/rendering/non-replaced-elements/the-page/iframe-marginwidth-marginheight-expected.txt
@@ -0,0 +1,4 @@
+This is a testharness.js-based test.
+FAIL iframe marginwidth and marginheight Uncaught Error: assert_equals: Number of attributes on the child document's body expected 0 but got 2
+Harness: the test ran to completion.
+
diff --git a/third_party/WebKit/LayoutTests/external/wpt/html/rendering/non-replaced-elements/the-page/iframe-marginwidth-marginheight.html b/third_party/WebKit/LayoutTests/external/wpt/html/rendering/non-replaced-elements/the-page/iframe-marginwidth-marginheight.html
new file mode 100644
index 0000000..b5b49d1b
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/external/wpt/html/rendering/non-replaced-elements/the-page/iframe-marginwidth-marginheight.html
@@ -0,0 +1,11 @@
+<!doctype html>
+<title>iframe marginwidth and marginheight</title>
+<script src="/resources/testharness.js"></script>
+<script src="/resources/testharnessreport.js"></script>
+<iframe src="/common/blank.html" marginwidth=0 marginheight=0></iframe>
+<script>
+onload = () => {
+  assert_equals(window[0].document.body.attributes.length, 0, "Number of attributes on the child document's body");
+  done();
+}
+</script>
diff --git a/third_party/WebKit/LayoutTests/external/wpt/html/rendering/non-replaced-elements/the-page/support/body-marginwidth-marginheight.html b/third_party/WebKit/LayoutTests/external/wpt/html/rendering/non-replaced-elements/the-page/support/body-marginwidth-marginheight.html
new file mode 100644
index 0000000..5d825e3
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/external/wpt/html/rendering/non-replaced-elements/the-page/support/body-marginwidth-marginheight.html
@@ -0,0 +1,2 @@
+<!doctype html>
+<body marginwidth=20 marginheight=20>
diff --git a/third_party/WebKit/LayoutTests/external/wpt/html/rendering/non-replaced-elements/the-page/support/body-topmargin-leftmargin.html b/third_party/WebKit/LayoutTests/external/wpt/html/rendering/non-replaced-elements/the-page/support/body-topmargin-leftmargin.html
new file mode 100644
index 0000000..7ba5e53
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/external/wpt/html/rendering/non-replaced-elements/the-page/support/body-topmargin-leftmargin.html
@@ -0,0 +1,2 @@
+<!doctype html>
+<body topmargin=20 rightmargin=20 bottommargin=20 leftmargin=20>
diff --git a/third_party/WebKit/LayoutTests/external/wpt/html/semantics/forms/textfieldselection/selection-after-content-change-expected.txt b/third_party/WebKit/LayoutTests/external/wpt/html/semantics/forms/textfieldselection/selection-after-content-change-expected.txt
new file mode 100644
index 0000000..48a72e42
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/external/wpt/html/semantics/forms/textfieldselection/selection-after-content-change-expected.txt
@@ -0,0 +1,16 @@
+This is a testharness.js-based test.
+FAIL input out of document: selection must not change when setting the same value assert_equals: selectionStart must not change expected 1 but got 5
+PASS input out of document: selection must change when setting a different value 
+FAIL input in document: selection must not change when setting the same value assert_equals: selectionStart must not change expected 1 but got 5
+PASS input in document: selection must change when setting a different value 
+FAIL input in document, with focus: selection must not change when setting the same value assert_equals: selectionStart must not change expected 1 but got 5
+PASS input in document, with focus: selection must change when setting a different value 
+PASS textarea out of document: selection must not change when setting the same value 
+PASS textarea out of document: selection must change when setting a different value 
+PASS textarea in document: selection must not change when setting the same value 
+PASS textarea in document: selection must change when setting a different value 
+PASS textarea in document, with focus: selection must not change when setting the same value 
+PASS textarea in document, with focus: selection must change when setting a different value 
+PASS textarea in document: selection must not change when setting the same normalized value 
+Harness: the test ran to completion.
+
diff --git a/third_party/WebKit/LayoutTests/external/wpt/html/semantics/forms/textfieldselection/selection-after-content-change.html b/third_party/WebKit/LayoutTests/external/wpt/html/semantics/forms/textfieldselection/selection-after-content-change.html
index 90ebc28..37f37a8 100644
--- a/third_party/WebKit/LayoutTests/external/wpt/html/semantics/forms/textfieldselection/selection-after-content-change.html
+++ b/third_party/WebKit/LayoutTests/external/wpt/html/semantics/forms/textfieldselection/selection-after-content-change.html
@@ -3,16 +3,115 @@
 <title>Selection indices after content change</title>
 <script src="/resources/testharness.js"></script>
 <script src="/resources/testharnessreport.js"></script>
+
+<input id="i1" type="text" value="hello">
+<textarea id="t1">hello</textarea>
+
 <script>
-  test(function() {
-    var input = document.createElement("input");
-    input.focus();
-    input.value = "something something something dark side";
-    input.setSelectionRange(4,20);
-    assert_equals(input.selectionStart, 4);
-    assert_equals(input.selectionEnd, 20);
-    input.value = "It's a trap!";
-    assert_equals(input.selectionStart, input.value.length);
-    assert_equals(input.selectionEnd, input.value.length);
-}, "Selection indices after reseting content");
+"use strict";
+
+// This helper ensures that when the selection direction is reset, it always is reset to the same value consistently
+// (which must be one of either "none" or "forward"). This helps catch bugs like one observed in Chrome, where textareas
+// reset to "none" but inputs reset to "forward".
+let observedResetSelectionDirection
+function assertSelectionDirectionIsReset(element) {
+  if (!observedResetSelectionDirection) {
+    assert_true(element.selectionDirection === "none" || element.selectionDirection === "forward",
+      "selectionDirection must be set to either none or forward");
+    observedResetSelectionDirection = element.selectionDirection;
+  } else {
+    assert_equals(element.selectionDirection, observedResetSelectionDirection,
+      `selectionDirection must be reset to ${observedResetSelectionDirection} (which was previously observed to be ` +
+      `the value after resetting the selection direction)`);
+  }
+}
+
+runTest("input out of document", () => {
+  const input = document.createElement("input");
+  input.value = "hello";
+  return input;
+});
+
+runTest("input in document", () => {
+  return document.querySelector("#i1");
+});
+
+runTest("input in document, with focus", () => {
+  const input = document.querySelector("#i1");
+  input.value = "hello";
+  input.focus();
+  return input;
+});
+
+runTest("textarea out of document", () => {
+  const textarea = document.createElement("textarea");
+  textarea.value = "hello";
+  return textarea;
+});
+
+runTest("textarea in document", () => {
+  return document.querySelector("#t1");
+});
+
+runTest("textarea in document, with focus", () => {
+  const textarea = document.querySelector("#t1");
+  textarea.value = "hello";
+  textarea.focus();
+  return textarea;
+});
+
+function runTest(descriptor, elementFactory) {
+  test(() => {
+    const element = elementFactory();
+    element.setSelectionRange(1, 3, "backward");
+
+    assert_equals(element.selectionStart, 1, "Sanity check: selectionStart was set correctly");
+    assert_equals(element.selectionEnd, 3, "Sanity check: selectionEnd was set correctly");
+    assert_equals(element.selectionDirection, "backward", "Sanity check: selectionDirection was set correctly");
+
+    element.value = "hello";
+
+    assert_equals(element.selectionStart, 1, "selectionStart must not change");
+    assert_equals(element.selectionEnd, 3, "selectionEnd must not change");
+    assert_equals(element.selectionDirection, "backward", "selectionDirection must not change");
+  }, `${descriptor}: selection must not change when setting the same value`);
+
+  test(() => {
+    const element = elementFactory();
+    element.setSelectionRange(1, 3, "backward");
+
+    assert_equals(element.selectionStart, 1, "Sanity check: selectionStart was set correctly");
+    assert_equals(element.selectionEnd, 3, "Sanity check: selectionEnd was set correctly");
+    assert_equals(element.selectionDirection, "backward", "Sanity check: selectionDirection was set correctly");
+
+    element.value = "hello2";
+
+    assert_equals(element.selectionStart, element.value.length, "selectionStart must be reset to the end");
+    assert_equals(element.selectionEnd, element.value.length, "selectionEnd must be reset to the end");
+    assertSelectionDirectionIsReset(element);
+  }, `${descriptor}: selection must change when setting a different value`);
+}
+
+test(() => {
+  const textarea = document.querySelector("#t1");
+  textarea.value = "hell\no";
+  textarea.setSelectionRange(1, 3, "backward");
+
+  assert_equals(textarea.selectionStart, 1, "Sanity check: selectionStart was set correctly");
+  assert_equals(textarea.selectionEnd, 3, "Sanity check: selectionEnd was set correctly");
+  assert_equals(textarea.selectionDirection, "backward", "Sanity check: selectionDirection was set correctly");
+
+  textarea.value = "hell\r\no";
+
+  assert_equals(textarea.selectionStart, 1, "selectionStart must not change when setting to CRLF");
+  assert_equals(textarea.selectionEnd, 3, "selectionEnd must not change when setting to CRLF");
+  assert_equals(textarea.selectionDirection, "backward", "selectionDirection must not change when setting to CRLF");
+
+  textarea.value = "hell\ro";
+
+  assert_equals(textarea.selectionStart, 1, "selectionStart must not change when setting to CR");
+  assert_equals(textarea.selectionEnd, 3, "selectionEnd must not change when setting to CR");
+  assert_equals(textarea.selectionDirection, "backward", "selectionDirection must not change when setting to CR");
+}, "textarea in document: selection must not change when setting the same normalized value");
+
 </script>
diff --git a/third_party/WebKit/LayoutTests/external/wpt/resources/testharness.js b/third_party/WebKit/LayoutTests/external/wpt/resources/testharness.js
index 1a313aab..006d715d 100644
--- a/third_party/WebKit/LayoutTests/external/wpt/resources/testharness.js
+++ b/third_party/WebKit/LayoutTests/external/wpt/resources/testharness.js
@@ -1980,6 +1980,7 @@
             }
         } else if (is_shared_worker(worker)) {
             message_port = worker.port;
+            message_port.start();
         } else {
             message_port = worker;
         }
diff --git a/third_party/WebKit/LayoutTests/external/wpt/streams/readable-streams/floating-point-total-queue-size.sharedworker-expected.txt b/third_party/WebKit/LayoutTests/external/wpt/streams/readable-streams/floating-point-total-queue-size.sharedworker-expected.txt
new file mode 100644
index 0000000..41e78c1b
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/external/wpt/streams/readable-streams/floating-point-total-queue-size.sharedworker-expected.txt
@@ -0,0 +1,7 @@
+This is a testharness.js-based test.
+FAIL Floating point arithmetic must manifest near NUMBER.MAX_SAFE_INTEGER (total ends up positive) assert_equals: [[queueTotalSize]] must clamp to 0 if it becomes negative expected 0 but got 1
+FAIL Floating point arithmetic must manifest near 0 (total ends up positive, but clamped) assert_equals: [[queueTotalSize]] must clamp to 0 if it becomes negative expected 0 but got 1.1102230246251565e-16
+PASS Floating point arithmetic must manifest near 0 (total ends up positive, and not clamped) 
+PASS Floating point arithmetic must manifest near 0 (total ends up zero) 
+Harness: the test ran to completion.
+
diff --git a/third_party/WebKit/LayoutTests/external/wpt/streams/writable-streams/aborting.sharedworker-expected.txt b/third_party/WebKit/LayoutTests/external/wpt/streams/writable-streams/aborting.sharedworker-expected.txt
new file mode 100644
index 0000000..fd7a2e2
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/external/wpt/streams/writable-streams/aborting.sharedworker-expected.txt
@@ -0,0 +1,52 @@
+This is a testharness.js-based test.
+Harness Error. harness_status.status = 1 , harness_status.message = error2
+PASS Aborting a WritableStream before it starts should cause the writer's unsettled ready promise to reject 
+PASS Aborting a WritableStream should cause the writer's fulfilled ready promise to reset to a rejected one 
+PASS abort() on a released writer rejects 
+PASS Aborting a WritableStream immediately prevents future writes 
+PASS Aborting a WritableStream prevents further writes after any that are in progress 
+PASS Fulfillment value of ws.abort() call must be undefined even if the underlying sink returns a non-undefined value 
+PASS WritableStream if sink's abort throws, the promise returned by writer.abort() rejects 
+PASS WritableStream if sink's abort throws, the promise returned by ws.abort() rejects 
+PASS WritableStream if sink's abort throws, for an abort performed during a write, the promise returned by ws.abort() rejects 
+PASS Aborting a WritableStream passes through the given reason 
+PASS Aborting a WritableStream puts it in an errored state, with a TypeError as the stored error 
+PASS Aborting a WritableStream causes any outstanding write() promises to be rejected with a TypeError 
+PASS Closing but then immediately aborting a WritableStream causes the stream to error 
+PASS Closing a WritableStream and aborting it while it closes causes the stream to ignore the abort attempt 
+PASS Aborting a WritableStream after it is closed is a no-op 
+PASS WritableStream should NOT call underlying sink's close if no abort is supplied (historical) 
+PASS returning a thenable from abort() should work 
+PASS .closed should not resolve before fulfilled write() 
+FAIL .closed should not resolve before rejected write(); write() error should not overwrite abort() error promise_test: Unhandled rejection with value: object "error1: error1"
+PASS writes should be satisfied in order when aborting 
+FAIL writes should be satisfied in order after rejected write when aborting promise_test: Unhandled rejection with value: object "error1: error1"
+FAIL close() should reject with TypeError when abort() is first error promise_test: Unhandled rejection with value: object "error1: error1"
+PASS underlying abort() should not be called until underlying write() completes 
+PASS underlying abort() should not be called if underlying close() has started 
+PASS if underlying close() has started and then rejects, the abort() and close() promises should reject with the underlying close rejection reason 
+PASS an abort() that happens during a write() should trigger the underlying abort() even with a close() queued 
+PASS if a writer is created for a stream with a pending abort, its ready should be rejected with a TypeError 
+PASS writer close() promise should resolve before abort() promise 
+PASS writer.ready should reject on controller error without waiting for underlying write 
+FAIL writer.abort() while there is an in-flight write, and then finish the write with rejection promise_test: Unhandled rejection with value: object "error2: error2"
+FAIL writer.abort(), controller.error() while there is an in-flight write, and then finish the write assert_throws: writePromise3 must reject with an error indicating abort function "function () { throw e }" threw object "error2: error2" ("error2") expected object "TypeError" ("TypeError")
+FAIL writer.abort(), controller.error() while there is an in-flight close, and then finish the close promise_test: Unhandled rejection with value: object "error2: error2"
+FAIL controller.error(), writer.abort() while there is an in-flight write, and then finish the write assert_array_equals: writePromise and writer.closed must not be fulfilled/rejected yet even after writer.abort() lengths differ, expected 0 got 1
+FAIL controller.error(), writer.abort() while there is an in-flight close, and then finish the close promise_test: Unhandled rejection with value: object "error2: error2"
+PASS releaseLock() while aborting should reject the original closed promise 
+FAIL releaseLock() during delayed async abort() should reject the writer.closed promise assert_equals: closed promise should not have changed expected object "[object Promise]" but got object "[object Promise]"
+PASS sink abort() should not be called until sink start() is done 
+FAIL if start attempts to error the controller after abort() has been called, then it should lose promise_test: Unhandled rejection with value: object "error1: error1"
+FAIL stream abort() promise should still resolve if sink start() rejects promise_test: Unhandled rejection with value: object "error1: error1"
+PASS writer abort() during sink start() should replace the writer.ready promise synchronously 
+FAIL promises returned from other writer methods should be rejected when writer abort() happens during sink start() assert_array_equals: promises should resolve in the standard order property 1, expected "write1" but got "close"
+FAIL abort() should succeed despite rejection from write promise_test: Unhandled rejection with value: object "error1: error1"
+FAIL abort() should be rejected with the rejection returned from close() assert_throws: abort() should reject with error2 function "function () { throw e }" threw object "error1: error1" ("error1") expected object "error2: error2" ("error2")
+FAIL a rejecting sink.write() should not prevent sink.abort() from being called promise_test: Unhandled rejection with value: object "error1: error1"
+FAIL when start errors after stream abort(), underlying sink abort() should be called anyway promise_test: Unhandled rejection with value: object "error1: error1"
+PASS when calling abort() twice on the same stream, the second call should reject 
+PASS sink abort() should not be called if stream was erroring due to controller.error() before abort() was called 
+PASS sink abort() should not be called if stream was erroring due to bad strategy before abort() was called 
+Harness: the test ran to completion.
+
diff --git a/third_party/WebKit/LayoutTests/external/wpt/streams/writable-streams/close.sharedworker-expected.txt b/third_party/WebKit/LayoutTests/external/wpt/streams/writable-streams/close.sharedworker-expected.txt
new file mode 100644
index 0000000..400571fc
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/external/wpt/streams/writable-streams/close.sharedworker-expected.txt
@@ -0,0 +1,21 @@
+This is a testharness.js-based test.
+PASS fulfillment value of ws.close() call must be undefined even if the underlying sink returns a non-undefined value 
+FAIL when sink calls error asynchronously while sink close is in-flight, the stream should not become errored promise_test: Unhandled rejection with value: object "error1: error1"
+FAIL when sink calls error synchronously while closing, the stream should not become errored promise_test: Unhandled rejection with value: object "Error: error me"
+PASS when the sink throws during close, and the close is requested while a write is still in-flight, the stream should become errored during the close 
+PASS releaseLock on a stream with a pending write in which the stream has been errored 
+PASS releaseLock on a stream with a pending close in which controller.error() was called 
+PASS when close is called on a WritableStream in writable state, ready should return a fulfilled promise 
+PASS when close is called on a WritableStream in waiting state, ready promise should be fulfilled 
+PASS when close is called on a WritableStream in waiting state, ready should be fulfilled immediately even if close takes a long time 
+PASS returning a thenable from close() should work 
+PASS releaseLock() should not change the result of sync close() 
+PASS releaseLock() should not change the result of async close() 
+PASS close() should set state to CLOSED even if writer has detached 
+PASS the promise returned by async abort during close should resolve 
+PASS promises must fulfill/reject in the expected order on closure 
+FAIL promises must fulfill/reject in the expected order on aborted closure assert_array_equals: promises must fulfill/reject in the expected order property 1, expected "abortPromise" but got "closed"
+FAIL promises must fulfill/reject in the expected order on aborted and errored closure assert_throws: writer.closed must reject with a TypeError indicating the stream was aborted function "function () { throw e }" threw object "error1: error1" ("error1") expected object "TypeError" ("TypeError")
+FAIL close() should not reject until no sink methods are in flight assert_false: expected false got true
+Harness: the test ran to completion.
+
diff --git a/third_party/WebKit/LayoutTests/external/wpt/streams/writable-streams/constructor.sharedworker-expected.txt b/third_party/WebKit/LayoutTests/external/wpt/streams/writable-streams/constructor.sharedworker-expected.txt
new file mode 100644
index 0000000..1998efd
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/external/wpt/streams/writable-streams/constructor.sharedworker-expected.txt
@@ -0,0 +1,15 @@
+This is a testharness.js-based test.
+PASS controller argument should be passed to start method 
+PASS controller argument should be passed to write method 
+FAIL controller argument should not be passed to close method assert_array_equals: no arguments should be passed to close lengths differ, expected 0 got 1
+PASS highWaterMark should be reflected to desiredSize 
+PASS WritableStream should be writable and ready should fulfill immediately if the strategy does not apply backpressure 
+PASS WritableStream should be constructible with no arguments 
+PASS WritableStream instances should have standard methods and properties 
+PASS private constructors should not be exported 
+PASS WritableStreamDefaultController constructor should throw unless passed a WritableStream 
+PASS WritableStreamDefaultController constructor should throw when passed an initialised WritableStream 
+PASS WritableStreamDefaultWriter should throw unless passed a WritableStream 
+PASS WritableStreamDefaultWriter constructor should throw when stream argument is locked 
+Harness: the test ran to completion.
+
diff --git a/third_party/WebKit/LayoutTests/external/wpt/streams/writable-streams/error.sharedworker-expected.txt b/third_party/WebKit/LayoutTests/external/wpt/streams/writable-streams/error.sharedworker-expected.txt
new file mode 100644
index 0000000..e3bb1267
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/external/wpt/streams/writable-streams/error.sharedworker-expected.txt
@@ -0,0 +1,8 @@
+This is a testharness.js-based test.
+PASS controller.error() should error the stream 
+PASS controller.error() on erroring stream should not throw 
+FAIL surplus calls to controller.error() should be a no-op Cannot error a errored writable stream
+FAIL controller.error() on errored stream should not throw promise_test: Unhandled rejection with value: object "TypeError: Cannot error a errored writable stream"
+FAIL controller.error() on closed stream should not throw promise_test: Unhandled rejection with value: object "TypeError: Cannot error a closed writable stream"
+Harness: the test ran to completion.
+
diff --git a/third_party/WebKit/LayoutTests/external/wpt/streams/writable-streams/properties.sharedworker-expected.txt b/third_party/WebKit/LayoutTests/external/wpt/streams/writable-streams/properties.sharedworker-expected.txt
new file mode 100644
index 0000000..6fe9cca
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/external/wpt/streams/writable-streams/properties.sharedworker-expected.txt
@@ -0,0 +1,47 @@
+This is a testharness.js-based test.
+PASS WritableStreamDefaultController should not be exported on the global object 
+PASS WritableStreamDefaultWriter should not be exported on the global object 
+PASS WritableStream.prototype.constructor should have standard properties 
+PASS WritableStream.prototype.constructor should be a constructor 
+PASS WritableStream.prototype.locked should have standard properties 
+PASS WritableStream.prototype.locked should be a getter 
+PASS WritableStream.prototype.abort should have standard properties 
+PASS WritableStream.prototype.abort should be a method 
+PASS WritableStream.prototype.getWriter should have standard properties 
+PASS WritableStream.prototype.getWriter should be a method 
+PASS WritableStream.prototype should have exactly the expected properties 
+PASS WritableStreamDefaultController.prototype.constructor should have standard properties 
+PASS WritableStreamDefaultController.prototype.constructor should be a constructor 
+PASS WritableStreamDefaultController.prototype.error should have standard properties 
+PASS WritableStreamDefaultController.prototype.error should be a method 
+PASS WritableStreamDefaultController.prototype should have exactly the expected properties 
+PASS WritableStreamDefaultWriter.prototype.constructor should have standard properties 
+PASS WritableStreamDefaultWriter.prototype.constructor should be a constructor 
+PASS WritableStreamDefaultWriter.prototype.closed should have standard properties 
+PASS WritableStreamDefaultWriter.prototype.closed should be a getter 
+PASS WritableStreamDefaultWriter.prototype.desiredSize should have standard properties 
+PASS WritableStreamDefaultWriter.prototype.desiredSize should be a getter 
+PASS WritableStreamDefaultWriter.prototype.ready should have standard properties 
+PASS WritableStreamDefaultWriter.prototype.ready should be a getter 
+PASS WritableStreamDefaultWriter.prototype.abort should have standard properties 
+PASS WritableStreamDefaultWriter.prototype.abort should be a method 
+PASS WritableStreamDefaultWriter.prototype.close should have standard properties 
+PASS WritableStreamDefaultWriter.prototype.close should be a method 
+PASS WritableStreamDefaultWriter.prototype.releaseLock should have standard properties 
+PASS WritableStreamDefaultWriter.prototype.releaseLock should be a method 
+PASS WritableStreamDefaultWriter.prototype.write should have standard properties 
+PASS WritableStreamDefaultWriter.prototype.write should be a method 
+PASS WritableStreamDefaultWriter.prototype should have exactly the expected properties 
+PASS sink method start should be called with the right number of arguments 
+PASS sink method start should be called even when it's located on the prototype chain 
+PASS sink method write should be called with the right number of arguments 
+PASS sink method write should be called even when it's located on the prototype chain 
+PASS unexpected properties should not be accessed when calling sink method write 
+FAIL sink method close should be called with the right number of arguments assert_equals: close should be called with 0 arguments expected 0 but got 1
+PASS sink method close should be called even when it's located on the prototype chain 
+PASS unexpected properties should not be accessed when calling sink method close 
+PASS sink method abort should be called with the right number of arguments 
+PASS sink method abort should be called even when it's located on the prototype chain 
+PASS unexpected properties should not be accessed when calling sink method abort 
+Harness: the test ran to completion.
+
diff --git a/third_party/WebKit/LayoutTests/fast/backgrounds/background-image-relative-url-in-iframe.html b/third_party/WebKit/LayoutTests/fast/backgrounds/background-image-relative-url-in-iframe.html
index fadf494..64a1433 100644
--- a/third_party/WebKit/LayoutTests/fast/backgrounds/background-image-relative-url-in-iframe.html
+++ b/third_party/WebKit/LayoutTests/fast/backgrounds/background-image-relative-url-in-iframe.html
@@ -1,8 +1,12 @@
 <!DOCTYPE html>
 <iframe id="iframe"></iframe>
 <script>
+  if (window.testRunner) {
+    testRunner.waitUntilDone();
+  }
+
   var iframe = document.getElementById('iframe');
-  iframe.contentDocument.body.innerHTML = `
+  iframe.srcdoc = `
     <style>
       .bg-img {
         background: url('./resources/green-24x24.png') no-repeat;
@@ -11,4 +15,8 @@
       }
     </style>
     <div class='bg-img'></div>`;
+
+  if (window.testRunner) {
+    iframe.onload = function() { testRunner.notifyDone(); };
+  }
 </script>
diff --git a/third_party/WebKit/LayoutTests/fast/beacon/beacon-basic-expected.txt b/third_party/WebKit/LayoutTests/fast/beacon/beacon-basic-expected.txt
index ccac952..17c5cb1 100644
--- a/third_party/WebKit/LayoutTests/fast/beacon/beacon-basic-expected.txt
+++ b/third_party/WebKit/LayoutTests/fast/beacon/beacon-basic-expected.txt
@@ -6,8 +6,8 @@
 PASS Object.getPrototypeOf(navigator).hasOwnProperty('sendBeacon') is true
 PASS typeof navigator.sendBeacon is "function"
 PASS navigator.sendBeacon() threw exception TypeError: Failed to execute 'sendBeacon' on 'Navigator': 1 argument required, but only 0 present..
-PASS navigator.sendBeacon('http:') threw exception SyntaxError: Failed to execute 'sendBeacon' on 'Navigator': The URL argument is ill-formed or unsupported..
-PASS navigator.sendBeacon('javascript:alert(1);') threw exception SyntaxError: Failed to execute 'sendBeacon' on 'Navigator': Beacons are only supported over HTTP(S)..
+PASS navigator.sendBeacon('http:') threw exception TypeError: Failed to execute 'sendBeacon' on 'Navigator': The URL argument is ill-formed or unsupported..
+PASS navigator.sendBeacon('javascript:alert(1);') threw exception TypeError: Failed to execute 'sendBeacon' on 'Navigator': Beacons are only supported over HTTP(S)..
 PASS successfullyParsed is true
 
 TEST COMPLETE
diff --git a/third_party/WebKit/LayoutTests/fast/css/css-style-attribute-modifications.html b/third_party/WebKit/LayoutTests/fast/css/css-style-attribute-modifications.html
new file mode 100644
index 0000000..10a9616d
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/fast/css/css-style-attribute-modifications.html
@@ -0,0 +1,16 @@
+<!DOCTYPE html>
+<link rel="author" title="Emilio Cobos Álvarez" href="mailto:ecobos@igalia.com">
+<link rel="help" href="https://drafts.csswg.org/cssom/#the-elementcssinlinestyle-interface">
+<script src="../../resources/testharness.js"></script>
+<script src="../../resources/testharnessreport.js"></script>
+<div id="test" style="color: red"></div>
+<script>
+test(function() {
+  var el = document.getElementById("test");
+  el.style.color = "";
+  assert_true(el.hasAttribute("style"));
+
+  el.removeAttribute("style");
+  assert_false(el.hasAttribute("style"));
+}, "Mutating the style declaration doens't remove the style attribute");
+</script>
diff --git a/third_party/WebKit/LayoutTests/fast/css/getComputedStyle/getComputedStyle-backgroundImage-expected.txt b/third_party/WebKit/LayoutTests/fast/css/getComputedStyle/getComputedStyle-backgroundImage-expected.txt
deleted file mode 100644
index e228d01af..0000000
--- a/third_party/WebKit/LayoutTests/fast/css/getComputedStyle/getComputedStyle-backgroundImage-expected.txt
+++ /dev/null
@@ -1,6 +0,0 @@
-Blocked access to external URL http://dummy/bg.svg#frag1
-Blocked access to external URL http://dummy/bg.svg#frag2
-This is a testharness.js-based test.
-PASS Computed background-image of generated content contains correct fragment identifier. 
-Harness: the test ran to completion.
-
diff --git a/third_party/WebKit/LayoutTests/fast/css/invalidation/independent-inheritance-fast-path-expected.txt b/third_party/WebKit/LayoutTests/fast/css/invalidation/independent-inheritance-fast-path-expected.txt
index 2394e95..f14593d 100644
--- a/third_party/WebKit/LayoutTests/fast/css/invalidation/independent-inheritance-fast-path-expected.txt
+++ b/third_party/WebKit/LayoutTests/fast/css/invalidation/independent-inheritance-fast-path-expected.txt
@@ -25,8 +25,6 @@
 PASS Changing emptyCells, an independent inherited property, propagates correctly with a single style recalc. 
 PASS Changing captionSide, an independent inherited property, propagates correctly with a single style recalc. 
 PASS Changing captionSide, an independent inherited property, propagates correctly with a single style recalc. 
-PASS Changing captionSide, an independent inherited property, propagates correctly with a single style recalc. 
-PASS Changing captionSide, an independent inherited property, propagates correctly with a single style recalc. 
 PASS Changing listStylePosition, an independent inherited property, propagates correctly with a single style recalc. 
 PASS Changing listStylePosition, an independent inherited property, propagates correctly with a single style recalc. 
 PASS Changing webkitBoxDirection, an independent inherited property, propagates correctly with a single style recalc. 
diff --git a/third_party/WebKit/LayoutTests/fast/css/invalidation/independent-inheritance-fast-path.html b/third_party/WebKit/LayoutTests/fast/css/invalidation/independent-inheritance-fast-path.html
index 981f81c..3445b94 100644
--- a/third_party/WebKit/LayoutTests/fast/css/invalidation/independent-inheritance-fast-path.html
+++ b/third_party/WebKit/LayoutTests/fast/css/invalidation/independent-inheritance-fast-path.html
@@ -18,7 +18,7 @@
     ["whiteSpace", ["normal", "pre", "pre-wrap", "pre-line", "nowrap"]],
     ["borderCollapse", ["separate", "collapse"]],
     ["emptyCells", ["show", "hide"]],
-    ["captionSide", ["top", "bottom", "left", "right"]],
+    ["captionSide", ["top", "bottom"]],
     ["listStylePosition", ["outside", "inside"]],
     ["webkitBoxDirection", ["normal", "reverse"]],
     ["webkitPrintColorAdjust", ["economy", "exact"]],
@@ -36,7 +36,7 @@
     // style recalc.
     for (i = 0; i < num_keywords; i++) {
         var value1 = keywords[i];
-        // Use the next keyword in the list, or if it is the last one, wrap around and 
+        // Use the next keyword in the list, or if it is the last one, wrap around and
         // use the first.
         var value2 = keywords[(i + 1) % num_keywords];
 
diff --git a/third_party/WebKit/LayoutTests/fast/dom/custom/svg-use-shadow-tree-expected.txt b/third_party/WebKit/LayoutTests/fast/dom/custom/svg-use-shadow-tree-expected.txt
index 44b1be1..ea0d3ce 100644
--- a/third_party/WebKit/LayoutTests/fast/dom/custom/svg-use-shadow-tree-expected.txt
+++ b/third_party/WebKit/LayoutTests/fast/dom/custom/svg-use-shadow-tree-expected.txt
@@ -1,7 +1,7 @@
-CONSOLE ERROR: line 2534: Uncaught Error: assert_false: Should not call createdCallback in UA ShadowRoot. expected false got true
-CONSOLE ERROR: line 2534: Uncaught Error: assert_false: Should not call attachedCallback in UA ShadowRoot. expected false got true
-CONSOLE ERROR: line 2534: Uncaught Error: assert_false: Should not call createdCallback in UA ShadowRoot. expected false got true
-CONSOLE ERROR: line 2534: Uncaught Error: assert_false: Should not call attachedCallback in UA ShadowRoot. expected false got true
+CONSOLE ERROR: line 2535: Uncaught Error: assert_false: Should not call createdCallback in UA ShadowRoot. expected false got true
+CONSOLE ERROR: line 2535: Uncaught Error: assert_false: Should not call attachedCallback in UA ShadowRoot. expected false got true
+CONSOLE ERROR: line 2535: Uncaught Error: assert_false: Should not call createdCallback in UA ShadowRoot. expected false got true
+CONSOLE ERROR: line 2535: Uncaught Error: assert_false: Should not call attachedCallback in UA ShadowRoot. expected false got true
 This is a testharness.js-based test.
 Harness Error. harness_status.status = 1 , harness_status.message = Uncaught Error: assert_false: Should not call attachedCallback in UA ShadowRoot. expected false got true
 PASS SVG <use> shadow trees should not be exposed through custom elements. 
diff --git a/third_party/WebKit/LayoutTests/fast/dom/defaultView-on-detached-document-expected.txt b/third_party/WebKit/LayoutTests/fast/dom/defaultView-on-detached-document-expected.txt
index 6e91db4a..1f6252f 100644
--- a/third_party/WebKit/LayoutTests/fast/dom/defaultView-on-detached-document-expected.txt
+++ b/third_party/WebKit/LayoutTests/fast/dom/defaultView-on-detached-document-expected.txt
@@ -4,7 +4,7 @@
 
 
 PASS testFrameUnloaded is true
-PASS cachedDocument.defaultView is undefined.
+PASS cachedDocument.defaultView is null
 PASS successfullyParsed is true
 
 TEST COMPLETE
diff --git a/third_party/WebKit/LayoutTests/fast/dom/defaultView-on-detached-document.html b/third_party/WebKit/LayoutTests/fast/dom/defaultView-on-detached-document.html
index b5095d2d..0a14301 100644
--- a/third_party/WebKit/LayoutTests/fast/dom/defaultView-on-detached-document.html
+++ b/third_party/WebKit/LayoutTests/fast/dom/defaultView-on-detached-document.html
@@ -40,7 +40,7 @@
 function finishTest()
 {
     shouldBeTrue("testFrameUnloaded");
-    shouldBeUndefined("cachedDocument.defaultView");
+    shouldBeNull("cachedDocument.defaultView");
     finishJSTest();
 }
 </script>
diff --git a/third_party/WebKit/LayoutTests/fast/dom/non-numeric-values-numeric-parameters-expected.txt b/third_party/WebKit/LayoutTests/fast/dom/non-numeric-values-numeric-parameters-expected.txt
index 89a97f4..39ec7a6 100644
--- a/third_party/WebKit/LayoutTests/fast/dom/non-numeric-values-numeric-parameters-expected.txt
+++ b/third_party/WebKit/LayoutTests/fast/dom/non-numeric-values-numeric-parameters-expected.txt
@@ -1,4 +1,3 @@
-CONSOLE WARNING: line 1: Calling CSSStyleSheet.insertRule() with one argument is deprecated. Please pass the index argument as well: insertRule(x, 0).
 This tests the behavior of non-numeric values in contexts where the DOM has a numeric parameter.
 
 On success, you will see a series of "PASS" messages, followed by "TEST COMPLETE".
diff --git a/third_party/WebKit/LayoutTests/fast/events/event-creation-expected.txt b/third_party/WebKit/LayoutTests/fast/events/event-creation-expected.txt
index 8792b3c99..7a41397 100644
--- a/third_party/WebKit/LayoutTests/fast/events/event-creation-expected.txt
+++ b/third_party/WebKit/LayoutTests/fast/events/event-creation-expected.txt
@@ -91,9 +91,6 @@
 PASS document.createEvent('TransitionEvent') instanceof window.TransitionEvent is true
 PASS document.createEvent('TransitionEvent') instanceof window.Event is true
 PASS document.createEvent('TransitionEvent').constructor === window.TransitionEvent is true
-PASS document.createEvent('WebKitTransitionEvent') instanceof window.WebKitTransitionEvent is true
-PASS document.createEvent('WebKitTransitionEvent') instanceof window.Event is true
-PASS document.createEvent('WebKitTransitionEvent').constructor === window.WebKitTransitionEvent is true
 PASS document.createEvent('WheelEvent') instanceof window.WheelEvent is true
 PASS document.createEvent('WheelEvent') instanceof window.MouseEvent is true
 PASS document.createEvent('WheelEvent') instanceof window.UIEvent is true
diff --git a/third_party/WebKit/LayoutTests/fast/events/event-creation.html b/third_party/WebKit/LayoutTests/fast/events/event-creation.html
index 0e2db8b..07d7a697 100644
--- a/third_party/WebKit/LayoutTests/fast/events/event-creation.html
+++ b/third_party/WebKit/LayoutTests/fast/events/event-creation.html
@@ -135,11 +135,6 @@
     shouldBeTrue("document.createEvent('TransitionEvent') instanceof window.Event");
     shouldBeTrue("document.createEvent('TransitionEvent').constructor === window.TransitionEvent");
 
-    // WebKitTransitionEvent
-    shouldBeTrue("document.createEvent('WebKitTransitionEvent') instanceof window.WebKitTransitionEvent");
-    shouldBeTrue("document.createEvent('WebKitTransitionEvent') instanceof window.Event");
-    shouldBeTrue("document.createEvent('WebKitTransitionEvent').constructor === window.WebKitTransitionEvent");
-
     // WheelEvent
     shouldBeTrue("document.createEvent('WheelEvent') instanceof window.WheelEvent");
     shouldBeTrue("document.createEvent('WheelEvent') instanceof window.MouseEvent");
diff --git a/third_party/WebKit/LayoutTests/fast/events/inputevents/inputevent-execcommand.html b/third_party/WebKit/LayoutTests/fast/events/inputevents/inputevent-execcommand.html
index 4ffc872..933dffe 100644
--- a/third_party/WebKit/LayoutTests/fast/events/inputevents/inputevent-execcommand.html
+++ b/third_party/WebKit/LayoutTests/fast/events/inputevents/inputevent-execcommand.html
@@ -75,10 +75,10 @@
     selection.collapse(txt, 0);
     selection.extend(txt, 1);
     testExecCommandInputType('removeFormat', null, 'formatRemove');
-    assert_equals(txt.innerHTML, '<div>abc</div>');
+    assert_equals(txt.innerHTML, '<div style="">abc</div>');
     testExecCommandInputType('indent', null, 'formatIndent');
     testExecCommandInputType('outdent', null, 'formatOutdent');
-    assert_equals(txt.innerHTML, '<div>abc</div>');
+    assert_equals(txt.innerHTML, '<div style="">abc</div>');
 
     // Copy shouldn't fire 'input'.
     testExecCommandInputType('copy', null, NO_INPUT_EVENT_FIRED);
diff --git a/third_party/WebKit/LayoutTests/fast/forms/select-popup/popup-menu-appearance-coarse.html b/third_party/WebKit/LayoutTests/fast/forms/select-popup/popup-menu-appearance-coarse.html
index 8be5a2d..83b9711 100644
--- a/third_party/WebKit/LayoutTests/fast/forms/select-popup/popup-menu-appearance-coarse.html
+++ b/third_party/WebKit/LayoutTests/fast/forms/select-popup/popup-menu-appearance-coarse.html
@@ -13,6 +13,10 @@
   <option selected>bar</option>
   <option style="font-size:8px;">qux</option>
   <option style="font-size:40px;">baz</option>
+  <optgroup label="Group1">
+    <option>Item 5</option>
+    <option>Item 6</option>
+  </optgroup>
 </select>
 <p id="description" style="opacity: 0"></p>
 <div id="console" style="opacity: 0"></div>
diff --git a/third_party/WebKit/LayoutTests/fast/multicol/layers-in-multicol-expected.html b/third_party/WebKit/LayoutTests/fast/multicol/layers-in-multicol-expected.html
new file mode 100644
index 0000000..97d5761f
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/fast/multicol/layers-in-multicol-expected.html
@@ -0,0 +1,87 @@
+<!DOCTYPE html>
+<style>
+    .multicol {
+        width: 300px;
+        height: 100px;
+        line-height: 20px;
+        border: 5px solid maroon;
+    }
+    .column {
+        width: 100px;
+        float: left;
+    }
+    .multicol[dir="rtl"] > .column {
+        float: right;
+    }
+    .block {
+        display: inline-block;
+        width: 1em;
+        height: 10px;
+        background-color: green;
+    }
+    .opacity {
+        opacity: 0.5;
+        color: green;
+    }
+    .relative {
+        position: relative;
+        top: -4px;
+        color: green;
+    }
+</style>
+<p>
+    Test layers which are fully contained within a single column.
+</p>
+LTR:
+<div class="multicol">
+    <div class="column">
+        line1<br>
+        line2<br>
+        line3<br>
+        line4<br>
+        line5<br>
+    </div>
+    <div class="column">
+        line6<br>
+        <div class="block"></div> line7<br>
+        line8<br>
+        <span class="relative">relative9</span><br>
+        line10<br>
+    </div>
+    <div class="column">
+        line11<br>
+        line12<br>
+        <!-- The extra inner span below forces the creation of a transparency layer in Skia to work
+             around optimizations that would cause blending differences between the test and the
+             expectation. -->
+        <span class="opacity">opacity<span>13</span></span><br>
+        line14
+    </div>
+</div>
+
+RTL:
+<div class="multicol" dir="rtl">
+    <div class="column">
+        line1<br>
+        line2<br>
+        line3<br>
+        line4<br>
+        line5<br>
+    </div>
+    <div class="column">
+        line6<br>
+        <div class="block"></div> line7<br>
+        line8<br>
+        <span class="relative">relative9</span><br>
+        line10<br>
+    </div>
+    <div class="column">
+        line11<br>
+        line12<br>
+        <!-- The extra inner span below forces the creation of a transparency layer in Skia to work
+             around optimizations that would cause blending differences between the test and the
+             expectation. -->
+        <span class="opacity">opacity<span>13</span></span><br>
+        line14
+    </div>
+</div>
diff --git a/third_party/WebKit/LayoutTests/fast/multicol/layers-split-across-columns-expected.html b/third_party/WebKit/LayoutTests/fast/multicol/layers-split-across-columns-expected.html
new file mode 100644
index 0000000..8bbd920
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/fast/multicol/layers-split-across-columns-expected.html
@@ -0,0 +1,90 @@
+<!DOCTYPE html>
+<style>
+    .container {
+        margin-right: 4px;
+        position: absolute;
+    }
+    .multicol {
+        width: 110px;
+        height: 150px;
+        border: 5px solid black;
+    }
+    .multicol > div {
+        float: left;
+        width: 50px;
+        height: 50px;
+    }
+
+    .row1_left { background-color: black; }
+    .row1_right { background-color: #0000b0; }
+    .row2_left { background-color: #0000f0; }
+    .row2_right { background-color: #000090; }
+    .row3_left { background-color: #0000d0; }
+    .row3_right { background-color: black; }
+
+    .row1_right,
+    .row2_right,
+    .row3_right {
+        margin-left: 10px;
+    }
+
+    #opacity .row1_right,
+    #opacity .row2_left,
+    #opacity .row2_right,
+    #opacity .row3_left {
+        opacity: 0.99;
+    }
+
+    .pos1 { left: 10px; top: 10px; }
+    .pos2 { left: 150px; top: 10px; }
+    .pos3 { left: 10px; top: 200px; }
+    .pos4 { left: 150px; top: 200px; }
+
+</style>
+<div class="container pos1">
+    Overflow:
+    <div class="multicol">
+        <div class="row1_left"></div>
+        <div class="row1_right"></div>
+        <div class="row2_left"></div>
+        <div class="row2_right"></div>
+        <div class="row3_left"></div>
+        <div class="row3_right"></div>
+    </div>
+</div>
+<div class="container pos2">
+    Transforms:
+    <div class="multicol">
+        <div class="row1_left"></div>
+        <div class="row1_right"></div>
+        <div class="row2_left"></div>
+        <div class="row2_right"></div>
+        <div class="row3_left"></div>
+        <div class="row3_right"></div>
+    </div>
+</div>
+<div class="container pos3">
+    Relative Pos.:
+    <div class="multicol">
+        <div class="row1_left"></div>
+        <div class="row1_right"></div>
+        <div class="row2_left"></div>
+        <div class="row2_right"></div>
+        <div class="row3_left"></div>
+        <div class="row3_right"></div>
+    </div>
+</div>
+<div class="container pos4" id="opacity">
+    Opacity:
+    <div class="multicol">
+        <div class="row1_left"></div>
+        <!-- The extra &nbsp;s below force the creation of transparency layers in Skia to work
+             around optimizations that would cause blending differences between the test and the
+             expectation. -->
+        <div class="row1_right">&nbsp;</div>
+        <div class="row2_left">&nbsp;</div>
+        <div class="row2_right">&nbsp;</div>
+        <div class="row3_left">&nbsp;</div>
+        <div class="row3_right"></div>
+    </div>
+</div>
diff --git a/third_party/WebKit/LayoutTests/fast/multicol/transform-inside-opacity-expected.html b/third_party/WebKit/LayoutTests/fast/multicol/transform-inside-opacity-expected.html
new file mode 100644
index 0000000..0b67873
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/fast/multicol/transform-inside-opacity-expected.html
@@ -0,0 +1,6 @@
+<div style="position:relative; width:420px;border:2px solid black; height:200px">
+<!-- The extra &nbsp; below forces the creation of a transparency layer in Skia to work around
+     optimizations that would cause blending differences between the test and the expectation. -->
+<div style="opacity:0.5; position:absolute;width:200px;height:100px;background-color:green;right:0;top:0">&nbsp;</div>
+</div>
+</div>
diff --git a/third_party/WebKit/LayoutTests/fast/multicol/transform-inside-opacity-expected.png b/third_party/WebKit/LayoutTests/fast/multicol/transform-inside-opacity-expected.png
deleted file mode 100644
index 1ebb6e8..0000000
--- a/third_party/WebKit/LayoutTests/fast/multicol/transform-inside-opacity-expected.png
+++ /dev/null
Binary files differ
diff --git a/third_party/WebKit/LayoutTests/fast/url/mailto-expected.txt b/third_party/WebKit/LayoutTests/fast/url/mailto-expected.txt
index dc49e919..dbfaf6c 100644
--- a/third_party/WebKit/LayoutTests/fast/url/mailto-expected.txt
+++ b/third_party/WebKit/LayoutTests/fast/url/mailto-expected.txt
@@ -8,7 +8,8 @@
 PASS canonicalize('mailto:addr1 	 ') is 'mailto:addr1'
 PASS canonicalize('mailto:addr1?to=jon') is 'mailto:addr1?to=jon'
 PASS canonicalize('mailto:addr1,addr2') is 'mailto:addr1,addr2'
-PASS canonicalize('mailto:addr1, addr2') is 'mailto:addr1, addr2'
+PASS canonicalize('mailto:addr1, addr2') is 'mailto:addr1,%20addr2'
+PASS canonicalize('mailto:addr1,"addr2"') is 'mailto:addr1,%22addr2%22'
 PASS canonicalize('mailto:addr1%2caddr2') is 'mailto:addr1%2caddr2'
 PASS canonicalize('mailto:𐌀') is 'mailto:%F0%90%8C%80'
 PASS canonicalize('mailto:addr1?') is 'mailto:addr1?'
diff --git a/third_party/WebKit/LayoutTests/fast/url/script-tests/mailto.js b/third_party/WebKit/LayoutTests/fast/url/script-tests/mailto.js
index 73d2d805..f809333 100644
--- a/third_party/WebKit/LayoutTests/fast/url/script-tests/mailto.js
+++ b/third_party/WebKit/LayoutTests/fast/url/script-tests/mailto.js
@@ -8,7 +8,8 @@
   ["addr1 \t ", "addr1"],
   ["addr1?to=jon", "addr1?to=jon"],
   ["addr1,addr2", "addr1,addr2"],
-  ["addr1, addr2", "addr1, addr2"],
+  ["addr1, addr2", "addr1,%20addr2"],
+  ['addr1,"addr2"', "addr1,%22addr2%22"],
   ["addr1%2caddr2", "addr1%2caddr2"],
 
   // U+10300 input as UTF-16 surrogate pair, expected as escaped UTF-8
diff --git a/third_party/WebKit/LayoutTests/http/tests/feature-policy/vibrate-enabledforself-expected.txt b/third_party/WebKit/LayoutTests/http/tests/feature-policy/vibrate-enabledforself-expected.txt
deleted file mode 100644
index 68316136..0000000
--- a/third_party/WebKit/LayoutTests/http/tests/feature-policy/vibrate-enabledforself-expected.txt
+++ /dev/null
@@ -1,17 +0,0 @@
- 
-
---------
-Frame: '<!--framePath //<!--frame0-->-->'
---------
-This is a testharness.js-based test.
-PASS Any iframe may call navigator.vibrate when enabled. 
-Harness: the test ran to completion.
-
-
---------
-Frame: '<!--framePath //<!--frame1-->-->'
---------
-This is a testharness.js-based test.
-PASS No iframe may call navigator.vibrate when disabled. 
-Harness: the test ran to completion.
-
diff --git a/third_party/WebKit/LayoutTests/http/tests/fetch/resources/thorough-util.js b/third_party/WebKit/LayoutTests/http/tests/fetch/resources/thorough-util.js
index 4b7a2ff5cf..6fb0899 100644
--- a/third_party/WebKit/LayoutTests/http/tests/fetch/resources/thorough-util.js
+++ b/third_party/WebKit/LayoutTests/http/tests/fetch/resources/thorough-util.js
@@ -163,16 +163,16 @@
 var checkJsonpSuccess = checkJsonpResult.bind(this, 'success');
 var checkJsonpNoRedirect = checkJsonpResult.bind(this, 'noredirect');
 var hasCustomHeader =
-  checkJsonpHeader.bind(this, 'x-serviceworker-test', 'test');
+  checkJsonpHeader.bind(this, 'X-ServiceWorker-Test', 'test');
 var hasCustomHeader2 = function(url, data) {
-  checkJsonpHeader('x-serviceworker-s', 'test1', url, data);
-  checkJsonpHeader('x-serviceworker-test', 'test2,test3', url, data);
-  checkJsonpHeader('x-serviceworker-ua', 'test4', url, data);
-  checkJsonpHeader('x-serviceworker-u', 'test5', url, data);
-  checkJsonpHeader('x-serviceworker-v', 'test6', url, data);
+  checkJsonpHeader('X-ServiceWorker-s', 'test1', url, data);
+  checkJsonpHeader('X-ServiceWorker-Test', 'test2,test3', url, data);
+  checkJsonpHeader('X-ServiceWorker-ua', 'test4', url, data);
+  checkJsonpHeader('X-ServiceWorker-U', 'test5', url, data);
+  checkJsonpHeader('X-ServiceWorker-V', 'test6', url, data);
 };
 var noCustomHeader =
-  checkJsonpHeader.bind(this, 'x-serviceworker-test', undefined);
+  checkJsonpHeader.bind(this, 'X-ServiceWorker-Test', undefined);
 var methodIsGET = checkJsonpMethod.bind(this, 'GET');
 var methodIsPOST = checkJsonpMethod.bind(this, 'POST');
 var methodIsPUT = checkJsonpMethod.bind(this, 'PUT');
diff --git a/third_party/WebKit/LayoutTests/http/tests/inspector/persistence/persistence-do-not-bind-dirty-sourcecode.html b/third_party/WebKit/LayoutTests/http/tests/inspector/persistence/persistence-do-not-bind-dirty-sourcecode.html
index 3d800090..59aa4d7 100644
--- a/third_party/WebKit/LayoutTests/http/tests/inspector/persistence/persistence-do-not-bind-dirty-sourcecode.html
+++ b/third_party/WebKit/LayoutTests/http/tests/inspector/persistence/persistence-do-not-bind-dirty-sourcecode.html
@@ -10,6 +10,7 @@
 
 function test()
 {
+    Runtime.experiments.enableForTest('persistence2');
     var testMapping = InspectorTest.initializeTestMapping();
     var fs = new InspectorTest.TestFileSystem("file:///var/www");
     InspectorTest.addFooJSFile(fs);
diff --git a/third_party/WebKit/LayoutTests/http/tests/loading/css-no-cache-revalidation-expected.txt b/third_party/WebKit/LayoutTests/http/tests/loading/css-no-cache-revalidation-expected.txt
deleted file mode 100644
index a781ee2..0000000
--- a/third_party/WebKit/LayoutTests/http/tests/loading/css-no-cache-revalidation-expected.txt
+++ /dev/null
@@ -1,33 +0,0 @@
-main frame - didStartProvisionalLoadForFrame
-main frame - didCommitLoadForFrame
-frame "A" - didStartProvisionalLoadForFrame
-main frame - didFinishDocumentLoadForFrame
-frame "A" - didCommitLoadForFrame
-frame "A" - didFinishDocumentLoadForFrame
-frame "A" - didFinishDocumentLoadForFrame
-frame "A" - didHandleOnloadEventsForFrame
-frame "A" - didFinishLoadForFrame
-main frame - didHandleOnloadEventsForFrame
-main frame - didFinishLoadForFrame
-frame "B" - didStartProvisionalLoadForFrame
-frame "B" - didCommitLoadForFrame
-frame "B" - didFinishDocumentLoadForFrame
-frame "B" - didFinishDocumentLoadForFrame
-frame "B" - didHandleOnloadEventsForFrame
-frame "B" - didFinishLoadForFrame
-frame "A" - didStartProvisionalLoadForFrame
-frame "A" - didCommitLoadForFrame
-frame "A" - didFinishDocumentLoadForFrame
-frame "A" - didFinishDocumentLoadForFrame
-frame "A" - didHandleOnloadEventsForFrame
-frame "A" - didFinishLoadForFrame
-frame "B" - didStartProvisionalLoadForFrame
-frame "B" - didCommitLoadForFrame
-frame "B" - didFinishDocumentLoadForFrame
-frame "B" - didFinishDocumentLoadForFrame
-frame "B" - didHandleOnloadEventsForFrame
-frame "B" - didFinishLoadForFrame
-This is a testharness.js-based test.
-PASS Revalidated CSS should not be unapplied on existing clients. 
-Harness: the test ran to completion.
-
diff --git a/third_party/WebKit/LayoutTests/http/tests/loading/doc-write-async-third-party-script-expected.txt b/third_party/WebKit/LayoutTests/http/tests/loading/doc-write-async-third-party-script-expected.txt
deleted file mode 100644
index c134cd82..0000000
--- a/third_party/WebKit/LayoutTests/http/tests/loading/doc-write-async-third-party-script-expected.txt
+++ /dev/null
@@ -1,9 +0,0 @@
-main frame - didStartProvisionalLoadForFrame
-main frame - didCommitLoadForFrame
-main frame - didFinishDocumentLoadForFrame
-main frame - didHandleOnloadEventsForFrame
-main frame - didFinishLoadForFrame
-This is a testharness.js-based test.
-PASS Cross origin but asynchronous doc.written scripts are not blocked 
-Harness: the test ran to completion.
-
diff --git a/third_party/WebKit/LayoutTests/http/tests/loading/download_only_supported_stylesheet_types-expected.txt b/third_party/WebKit/LayoutTests/http/tests/loading/download_only_supported_stylesheet_types-expected.txt
deleted file mode 100644
index 0eac725f..0000000
--- a/third_party/WebKit/LayoutTests/http/tests/loading/download_only_supported_stylesheet_types-expected.txt
+++ /dev/null
@@ -1,14 +0,0 @@
-main frame - didStartProvisionalLoadForFrame
-main frame - didCommitLoadForFrame
-main frame - didFinishDocumentLoadForFrame
-CONSOLE MESSAGE: line 18: http://127.0.0.1:8000/resources/testharness.js
-CONSOLE MESSAGE: line 18: http://127.0.0.1:8000/resources/testharnessreport.js
-CONSOLE MESSAGE: line 18: http://127.0.0.1:8000/resources/slow-script.pl?delay=500
-CONSOLE MESSAGE: line 18: http://127.0.0.1:8000/resources/dummy.css?1
-CONSOLE MESSAGE: line 18: http://127.0.0.1:8000/resources/dummy.css?3
-main frame - didHandleOnloadEventsForFrame
-main frame - didFinishLoadForFrame
-This is a testharness.js-based test.
-PASS Makes sure that unsupported stylesheet types are neither preloaded nor loaded 
-Harness: the test ran to completion.
-
diff --git a/third_party/WebKit/LayoutTests/http/tests/loading/image-picture-download-after-shrink-expected.txt b/third_party/WebKit/LayoutTests/http/tests/loading/image-picture-download-after-shrink-expected.txt
deleted file mode 100644
index d29157bd..0000000
--- a/third_party/WebKit/LayoutTests/http/tests/loading/image-picture-download-after-shrink-expected.txt
+++ /dev/null
@@ -1,14 +0,0 @@
-main frame - didStartProvisionalLoadForFrame
-main frame - didCommitLoadForFrame
-frame "<!--framePath //<!--frame0-->-->" - didStartProvisionalLoadForFrame
-main frame - didFinishDocumentLoadForFrame
-frame "<!--framePath //<!--frame0-->-->" - didCommitLoadForFrame
-frame "<!--framePath //<!--frame0-->-->" - didFinishDocumentLoadForFrame
-frame "<!--framePath //<!--frame0-->-->" - didHandleOnloadEventsForFrame
-frame "<!--framePath //<!--frame0-->-->" - didFinishLoadForFrame
-main frame - didHandleOnloadEventsForFrame
-main frame - didFinishLoadForFrame
-This is a testharness.js-based test.
-PASS Make sure that previously non-matching source based image resources are downloaded after the viewport changes. 
-Harness: the test ran to completion.
-
diff --git a/third_party/WebKit/LayoutTests/http/tests/loading/image-picture-no-download-after-picture-removal-expected.txt b/third_party/WebKit/LayoutTests/http/tests/loading/image-picture-no-download-after-picture-removal-expected.txt
deleted file mode 100644
index 53eff6f2..0000000
--- a/third_party/WebKit/LayoutTests/http/tests/loading/image-picture-no-download-after-picture-removal-expected.txt
+++ /dev/null
@@ -1,14 +0,0 @@
-main frame - didStartProvisionalLoadForFrame
-main frame - didCommitLoadForFrame
-frame "<!--framePath //<!--frame0-->-->" - didStartProvisionalLoadForFrame
-main frame - didFinishDocumentLoadForFrame
-frame "<!--framePath //<!--frame0-->-->" - didCommitLoadForFrame
-frame "<!--framePath //<!--frame0-->-->" - didFinishDocumentLoadForFrame
-frame "<!--framePath //<!--frame0-->-->" - didHandleOnloadEventsForFrame
-frame "<!--framePath //<!--frame0-->-->" - didFinishLoadForFrame
-main frame - didHandleOnloadEventsForFrame
-main frame - didFinishLoadForFrame
-This is a testharness.js-based test.
-PASS Make sure that source based image resources are not downloaded after the source is removed from the DOM. 
-Harness: the test ran to completion.
-
diff --git a/third_party/WebKit/LayoutTests/http/tests/loading/image-picture-no-download-after-removal-expected.txt b/third_party/WebKit/LayoutTests/http/tests/loading/image-picture-no-download-after-removal-expected.txt
deleted file mode 100644
index c491609..0000000
--- a/third_party/WebKit/LayoutTests/http/tests/loading/image-picture-no-download-after-removal-expected.txt
+++ /dev/null
@@ -1,14 +0,0 @@
-main frame - didStartProvisionalLoadForFrame
-main frame - didCommitLoadForFrame
-frame "<!--framePath //<!--frame0-->-->" - didStartProvisionalLoadForFrame
-main frame - didFinishDocumentLoadForFrame
-frame "<!--framePath //<!--frame0-->-->" - didCommitLoadForFrame
-frame "<!--framePath //<!--frame0-->-->" - didFinishDocumentLoadForFrame
-frame "<!--framePath //<!--frame0-->-->" - didHandleOnloadEventsForFrame
-frame "<!--framePath //<!--frame0-->-->" - didFinishLoadForFrame
-main frame - didHandleOnloadEventsForFrame
-main frame - didFinishLoadForFrame
-This is a testharness.js-based test.
-PASS Make sure that source based image resources are not downloaded after the img is removed from the DOM. 
-Harness: the test ran to completion.
-
diff --git a/third_party/WebKit/LayoutTests/http/tests/loading/image-picture-no-download-after-source-removal-expected.txt b/third_party/WebKit/LayoutTests/http/tests/loading/image-picture-no-download-after-source-removal-expected.txt
deleted file mode 100644
index 53eff6f2..0000000
--- a/third_party/WebKit/LayoutTests/http/tests/loading/image-picture-no-download-after-source-removal-expected.txt
+++ /dev/null
@@ -1,14 +0,0 @@
-main frame - didStartProvisionalLoadForFrame
-main frame - didCommitLoadForFrame
-frame "<!--framePath //<!--frame0-->-->" - didStartProvisionalLoadForFrame
-main frame - didFinishDocumentLoadForFrame
-frame "<!--framePath //<!--frame0-->-->" - didCommitLoadForFrame
-frame "<!--framePath //<!--frame0-->-->" - didFinishDocumentLoadForFrame
-frame "<!--framePath //<!--frame0-->-->" - didHandleOnloadEventsForFrame
-frame "<!--framePath //<!--frame0-->-->" - didFinishLoadForFrame
-main frame - didHandleOnloadEventsForFrame
-main frame - didFinishLoadForFrame
-This is a testharness.js-based test.
-PASS Make sure that source based image resources are not downloaded after the source is removed from the DOM. 
-Harness: the test ran to completion.
-
diff --git a/third_party/WebKit/LayoutTests/http/tests/security/vibrate_in_same_origin_iframe_allowed-expected.txt b/third_party/WebKit/LayoutTests/http/tests/security/vibrate_in_same_origin_iframe_allowed-expected.txt
deleted file mode 100644
index c938785..0000000
--- a/third_party/WebKit/LayoutTests/http/tests/security/vibrate_in_same_origin_iframe_allowed-expected.txt
+++ /dev/null
@@ -1,9 +0,0 @@
-
-
---------
-Frame: '<!--framePath //<!--frame0-->-->'
---------
-This is a testharness.js-based test.
-PASS A same-origin iframe may call navigator.vibrate. 
-Harness: the test ran to completion.
-
diff --git a/third_party/WebKit/LayoutTests/http/tests/webaudio/autoplay-crossorigin-expected.txt b/third_party/WebKit/LayoutTests/http/tests/webaudio/autoplay-crossorigin-expected.txt
index 2a225ee..d6b55d0 100644
--- a/third_party/WebKit/LayoutTests/http/tests/webaudio/autoplay-crossorigin-expected.txt
+++ b/third_party/WebKit/LayoutTests/http/tests/webaudio/autoplay-crossorigin-expected.txt
@@ -1,7 +1,7 @@
 CONSOLE WARNING: line 13: An AudioContext in a cross origin iframe must be created or resumed from a user gesture to enable audio output.
 CONSOLE WARNING: line 23: An AudioContext in a cross origin iframe must be created or resumed from a user gesture to enable audio output.
 CONSOLE WARNING: line 36: An AudioContext in a cross origin iframe must be created or resumed from a user gesture to enable audio output.
-CONSOLE ERROR: line 2534: Uncaught Error: assert_equals: stateAfterClick expected "running" but got "suspended"
+CONSOLE ERROR: line 2535: Uncaught Error: assert_equals: stateAfterClick expected "running" but got "suspended"
 This is a testharness.js-based test.
 Harness Error. harness_status.status = 1 , harness_status.message = Uncaught Error: assert_equals: stateAfterClick expected "running" but got "suspended"
 PASS Verify that autoplaying Web Audio from a cross origin iframe is blocked by mediaPlaybackRequiresUserGesture 
diff --git a/third_party/WebKit/LayoutTests/http/tests/xmlhttprequest/resources/top-bit-set-header.php b/third_party/WebKit/LayoutTests/http/tests/xmlhttprequest/resources/top-bit-set-header.php
new file mode 100644
index 0000000..19f8f9d
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/http/tests/xmlhttprequest/resources/top-bit-set-header.php
@@ -0,0 +1,4 @@
+<?php
+header("X-Custom-Header-Bytes: \x80\xA0\xFF");
+?>
+<title>ignored</title>
diff --git a/third_party/WebKit/LayoutTests/http/tests/xmlhttprequest/top-bit-set-header.html b/third_party/WebKit/LayoutTests/http/tests/xmlhttprequest/top-bit-set-header.html
new file mode 100644
index 0000000..085b453
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/http/tests/xmlhttprequest/top-bit-set-header.html
@@ -0,0 +1,19 @@
+<!DOCTYPE html>
+<meta charset="utf-8">
+<title>XMLHttpRequest top-bit-set header</title>
+<script src="/resources/testharness.js"></script>
+<script src="/resources/testharnessreport.js"></script>
+<script>
+async_test(function(t) {
+  var xhr = new XMLHttpRequest();
+  xhr.open('GET', 'resources/top-bit-set-header.php');
+  xhr.onload = t.step_func(function() {
+    assert_equals(
+        xhr.getResponseHeader('X-Custom-Header-Bytes'),
+        '\x80\xA0\xFF', 'header value should match expectation');
+    t.done();
+  });
+  xhr.send();
+}, 'top-bit-set bytes in HTTP response headers should be treated as Unicode ' +
+    'code points');
+</script>
diff --git a/third_party/WebKit/LayoutTests/inspector/quick-open/command-menu-expected.txt b/third_party/WebKit/LayoutTests/inspector/quick-open/command-menu-expected.txt
index 10208fc..812da80 100644
--- a/third_party/WebKit/LayoutTests/inspector/quick-open/command-menu-expected.txt
+++ b/third_party/WebKit/LayoutTests/inspector/quick-open/command-menu-expected.txt
@@ -10,6 +10,7 @@
 Has category: Mobile
 Has category: Network
 Has category: Panel
+Has category: Settings
 Has category: Sources
 
 Switching to console panel
diff --git a/third_party/WebKit/LayoutTests/media/deprecated-css-selectors-expected.txt b/third_party/WebKit/LayoutTests/media/deprecated-css-selectors-expected.txt
index 4d8f5316c..7018852 100644
--- a/third_party/WebKit/LayoutTests/media/deprecated-css-selectors-expected.txt
+++ b/third_party/WebKit/LayoutTests/media/deprecated-css-selectors-expected.txt
@@ -1,4 +1,4 @@
-CONSOLE WARNING: -internal-media-controls-overlay-cast-button selector is deprecated and will be removed in M59, around June 2017. See https://www.chromestatus.com/features/5714245488476160 for more details.
+CONSOLE WARNING: -internal-media-controls-overlay-cast-button selector is deprecated and will be removed in M61, around September 2017. See https://www.chromestatus.com/features/5714245488476160 for more details.
 This is a testharness.js-based test.
 PASS Test that -internal-media-controls-* deprecated selectors throw a warning 
 Harness: the test ran to completion.
diff --git a/third_party/WebKit/LayoutTests/nfc/push.html b/third_party/WebKit/LayoutTests/nfc/push.html
index 205f52d..44301ee 100644
--- a/third_party/WebKit/LayoutTests/nfc/push.html
+++ b/third_party/WebKit/LayoutTests/nfc/push.html
@@ -133,14 +133,8 @@
 }, 'Check that provided NFCPushOptions values are correctly converted.');
 
 nfc_test(nfc => {
-  return navigator.nfc.push(test_buffer_data).then(() => {
-    nfc.assertNFCMessagesEqual(test_buffer_data, nfc.mockNFC.pushedMessage());
-  });
-}, 'Push ArrayBuffer with default NFCPushOptions.');
-
-nfc_test(nfc => {
   return navigator.nfc.push(test_text_data)
-      .then(() => { navigator.nfc.cancelPush });
+      .then(() => { return navigator.nfc.cancelPush(); });
 }, 'nfc.cancelPush should succeed if there is pending push operation.');
 
 nfc_test(nfc => {
diff --git a/third_party/WebKit/LayoutTests/paint/invalidation/column-float-under-stacked-inline-expected.png b/third_party/WebKit/LayoutTests/paint/invalidation/column-float-under-stacked-inline-expected.png
index c6cabcbb..a92e6a8 100644
--- a/third_party/WebKit/LayoutTests/paint/invalidation/column-float-under-stacked-inline-expected.png
+++ b/third_party/WebKit/LayoutTests/paint/invalidation/column-float-under-stacked-inline-expected.png
Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/android/fast/text/hyphens/can-hyphenate-locale-expected.txt b/third_party/WebKit/LayoutTests/platform/android/fast/text/hyphens/can-hyphenate-locale-expected.txt
deleted file mode 100644
index 0f96bc41..0000000
--- a/third_party/WebKit/LayoutTests/platform/android/fast/text/hyphens/can-hyphenate-locale-expected.txt
+++ /dev/null
@@ -1,7 +0,0 @@
-This is a testharness.js-based test.
-PASS This test requires "internals.canHyphenate" 
-PASS "en-us" can hyphenate 
-PASS "en-gu" can hyphenate 
-PASS "ja-jp" cannot hyphenate 
-Harness: the test ran to completion.
-
diff --git a/third_party/WebKit/LayoutTests/platform/android/fast/text/hyphens/hyphens-parsing-001-expected.txt b/third_party/WebKit/LayoutTests/platform/android/fast/text/hyphens/hyphens-parsing-001-expected.txt
deleted file mode 100644
index c404d82..0000000
--- a/third_party/WebKit/LayoutTests/platform/android/fast/text/hyphens/hyphens-parsing-001-expected.txt
+++ /dev/null
@@ -1,8 +0,0 @@
-This is a testharness.js-based test.
-PASS Initial value 
-PASS hyphens: auto 
-PASS hyphens: manual 
-PASS hyphens: none 
-PASS hyphens should inherit 
-Harness: the test ran to completion.
-
diff --git a/third_party/WebKit/LayoutTests/platform/linux/fast/forms/select-popup/popup-menu-appearance-coarse-expected.png b/third_party/WebKit/LayoutTests/platform/linux/fast/forms/select-popup/popup-menu-appearance-coarse-expected.png
index 4bfd0e5..e12f977 100644
--- a/third_party/WebKit/LayoutTests/platform/linux/fast/forms/select-popup/popup-menu-appearance-coarse-expected.png
+++ b/third_party/WebKit/LayoutTests/platform/linux/fast/forms/select-popup/popup-menu-appearance-coarse-expected.png
Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/linux/fast/multicol/layers-in-multicol-expected.png b/third_party/WebKit/LayoutTests/platform/linux/fast/multicol/layers-in-multicol-expected.png
deleted file mode 100644
index 44fc4a4..0000000
--- a/third_party/WebKit/LayoutTests/platform/linux/fast/multicol/layers-in-multicol-expected.png
+++ /dev/null
Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/linux/fast/multicol/layers-split-across-columns-expected.png b/third_party/WebKit/LayoutTests/platform/linux/fast/multicol/layers-split-across-columns-expected.png
deleted file mode 100644
index 27fbf58..0000000
--- a/third_party/WebKit/LayoutTests/platform/linux/fast/multicol/layers-split-across-columns-expected.png
+++ /dev/null
Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/linux/paint/invalidation/svg/scrolling-embedded-svg-file-image-repaint-problem-expected.png b/third_party/WebKit/LayoutTests/platform/linux/paint/invalidation/svg/scrolling-embedded-svg-file-image-repaint-problem-expected.png
index 5e1fff8..b024e71 100644
--- a/third_party/WebKit/LayoutTests/platform/linux/paint/invalidation/svg/scrolling-embedded-svg-file-image-repaint-problem-expected.png
+++ b/third_party/WebKit/LayoutTests/platform/linux/paint/invalidation/svg/scrolling-embedded-svg-file-image-repaint-problem-expected.png
Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/linux/transforms/2d/hindi-rotated-expected.png b/third_party/WebKit/LayoutTests/platform/linux/transforms/2d/hindi-rotated-expected.png
index 6f98684..8d5f6fd3 100644
--- a/third_party/WebKit/LayoutTests/platform/linux/transforms/2d/hindi-rotated-expected.png
+++ b/third_party/WebKit/LayoutTests/platform/linux/transforms/2d/hindi-rotated-expected.png
Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/linux/virtual/disable-spinvalidation/paint/invalidation/svg/scrolling-embedded-svg-file-image-repaint-problem-expected.png b/third_party/WebKit/LayoutTests/platform/linux/virtual/disable-spinvalidation/paint/invalidation/svg/scrolling-embedded-svg-file-image-repaint-problem-expected.png
index 5e1fff8..b024e71 100644
--- a/third_party/WebKit/LayoutTests/platform/linux/virtual/disable-spinvalidation/paint/invalidation/svg/scrolling-embedded-svg-file-image-repaint-problem-expected.png
+++ b/third_party/WebKit/LayoutTests/platform/linux/virtual/disable-spinvalidation/paint/invalidation/svg/scrolling-embedded-svg-file-image-repaint-problem-expected.png
Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/mac-mac10.10/transforms/2d/hindi-rotated-expected.png b/third_party/WebKit/LayoutTests/platform/mac-mac10.10/transforms/2d/hindi-rotated-expected.png
index 0acea10..3a881330 100644
--- a/third_party/WebKit/LayoutTests/platform/mac-mac10.10/transforms/2d/hindi-rotated-expected.png
+++ b/third_party/WebKit/LayoutTests/platform/mac-mac10.10/transforms/2d/hindi-rotated-expected.png
Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/mac-mac10.9/paint/invalidation/svg/scrolling-embedded-svg-file-image-repaint-problem-expected.png b/third_party/WebKit/LayoutTests/platform/mac-mac10.9/paint/invalidation/svg/scrolling-embedded-svg-file-image-repaint-problem-expected.png
index 991aaf7a..07e019c 100644
--- a/third_party/WebKit/LayoutTests/platform/mac-mac10.9/paint/invalidation/svg/scrolling-embedded-svg-file-image-repaint-problem-expected.png
+++ b/third_party/WebKit/LayoutTests/platform/mac-mac10.9/paint/invalidation/svg/scrolling-embedded-svg-file-image-repaint-problem-expected.png
Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/mac-mac10.9/transforms/2d/hindi-rotated-expected.png b/third_party/WebKit/LayoutTests/platform/mac-mac10.9/transforms/2d/hindi-rotated-expected.png
index 84b89da..11b5d71 100644
--- a/third_party/WebKit/LayoutTests/platform/mac-mac10.9/transforms/2d/hindi-rotated-expected.png
+++ b/third_party/WebKit/LayoutTests/platform/mac-mac10.9/transforms/2d/hindi-rotated-expected.png
Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/mac-mac10.9/transforms/transformed-focused-text-input-expected.png b/third_party/WebKit/LayoutTests/platform/mac-mac10.9/transforms/transformed-focused-text-input-expected.png
index 1693941..f409f9e 100644
--- a/third_party/WebKit/LayoutTests/platform/mac-mac10.9/transforms/transformed-focused-text-input-expected.png
+++ b/third_party/WebKit/LayoutTests/platform/mac-mac10.9/transforms/transformed-focused-text-input-expected.png
Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/mac-mac10.9/virtual/disable-spinvalidation/paint/invalidation/svg/scrolling-embedded-svg-file-image-repaint-problem-expected.png b/third_party/WebKit/LayoutTests/platform/mac-mac10.9/virtual/disable-spinvalidation/paint/invalidation/svg/scrolling-embedded-svg-file-image-repaint-problem-expected.png
index 991aaf7a..07e019c 100644
--- a/third_party/WebKit/LayoutTests/platform/mac-mac10.9/virtual/disable-spinvalidation/paint/invalidation/svg/scrolling-embedded-svg-file-image-repaint-problem-expected.png
+++ b/third_party/WebKit/LayoutTests/platform/mac-mac10.9/virtual/disable-spinvalidation/paint/invalidation/svg/scrolling-embedded-svg-file-image-repaint-problem-expected.png
Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/mac/external/wpt/editing/run/bold-expected.txt b/third_party/WebKit/LayoutTests/platform/mac/external/wpt/editing/run/bold-expected.txt
new file mode 100644
index 0000000..fb655c3
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/platform/mac/external/wpt/editing/run/bold-expected.txt
@@ -0,0 +1,3016 @@
+This is a testharness.js-based test.
+Found 3012 tests; 2510 PASS, 502 FAIL, 0 TIMEOUT, 0 NOTRUN.
+PASS [["bold",""]] "foo[]bar": execCommand("bold", false, "") return value 
+PASS [["bold",""]] "foo[]bar" checks for modifications to non-editable content 
+PASS [["bold",""]] "foo[]bar" compare innerHTML 
+PASS [["bold",""]] "foo[]bar" queryCommandIndeterm("bold") before 
+PASS [["bold",""]] "foo[]bar" queryCommandState("bold") before 
+FAIL [["bold",""]] "foo[]bar" queryCommandValue("bold") before assert_equals: Wrong result returned expected "" but got "false"
+PASS [["bold",""]] "foo[]bar" queryCommandIndeterm("bold") after 
+PASS [["bold",""]] "foo[]bar" queryCommandState("bold") after 
+FAIL [["bold",""]] "foo[]bar" queryCommandValue("bold") after assert_equals: Wrong result returned expected "" but got "true"
+PASS [["stylewithcss","true"],["bold",""]] "<p>[foo</p> <p>bar]</p>": execCommand("stylewithcss", false, "true") return value 
+PASS [["stylewithcss","true"],["bold",""]] "<p>[foo</p> <p>bar]</p>": execCommand("bold", false, "") return value 
+PASS [["stylewithcss","true"],["bold",""]] "<p>[foo</p> <p>bar]</p>" checks for modifications to non-editable content 
+PASS [["stylewithcss","true"],["bold",""]] "<p>[foo</p> <p>bar]</p>" compare innerHTML 
+PASS [["stylewithcss","true"],["bold",""]] "<p>[foo</p> <p>bar]</p>" queryCommandIndeterm("stylewithcss") before 
+FAIL [["stylewithcss","true"],["bold",""]] "<p>[foo</p> <p>bar]</p>" queryCommandState("stylewithcss") before assert_equals: Wrong result returned expected false but got true
+PASS [["stylewithcss","true"],["bold",""]] "<p>[foo</p> <p>bar]</p>" queryCommandValue("stylewithcss") before 
+PASS [["stylewithcss","true"],["bold",""]] "<p>[foo</p> <p>bar]</p>" queryCommandIndeterm("stylewithcss") after 
+PASS [["stylewithcss","true"],["bold",""]] "<p>[foo</p> <p>bar]</p>" queryCommandState("stylewithcss") after 
+PASS [["stylewithcss","true"],["bold",""]] "<p>[foo</p> <p>bar]</p>" queryCommandValue("stylewithcss") after 
+PASS [["stylewithcss","true"],["bold",""]] "<p>[foo</p> <p>bar]</p>" queryCommandIndeterm("bold") before 
+PASS [["stylewithcss","true"],["bold",""]] "<p>[foo</p> <p>bar]</p>" queryCommandState("bold") before 
+FAIL [["stylewithcss","true"],["bold",""]] "<p>[foo</p> <p>bar]</p>" queryCommandValue("bold") before assert_equals: Wrong result returned expected "" but got "false"
+PASS [["stylewithcss","true"],["bold",""]] "<p>[foo</p> <p>bar]</p>" queryCommandIndeterm("bold") after 
+PASS [["stylewithcss","true"],["bold",""]] "<p>[foo</p> <p>bar]</p>" queryCommandState("bold") after 
+FAIL [["stylewithcss","true"],["bold",""]] "<p>[foo</p> <p>bar]</p>" queryCommandValue("bold") after assert_equals: Wrong result returned expected "" but got "true"
+PASS [["stylewithcss","false"],["bold",""]] "<p>[foo</p> <p>bar]</p>": execCommand("stylewithcss", false, "false") return value 
+PASS [["stylewithcss","false"],["bold",""]] "<p>[foo</p> <p>bar]</p>": execCommand("bold", false, "") return value 
+PASS [["stylewithcss","false"],["bold",""]] "<p>[foo</p> <p>bar]</p>" checks for modifications to non-editable content 
+PASS [["stylewithcss","false"],["bold",""]] "<p>[foo</p> <p>bar]</p>" compare innerHTML 
+PASS [["stylewithcss","false"],["bold",""]] "<p>[foo</p> <p>bar]</p>" queryCommandIndeterm("stylewithcss") before 
+PASS [["stylewithcss","false"],["bold",""]] "<p>[foo</p> <p>bar]</p>" queryCommandState("stylewithcss") before 
+PASS [["stylewithcss","false"],["bold",""]] "<p>[foo</p> <p>bar]</p>" queryCommandValue("stylewithcss") before 
+PASS [["stylewithcss","false"],["bold",""]] "<p>[foo</p> <p>bar]</p>" queryCommandIndeterm("stylewithcss") after 
+PASS [["stylewithcss","false"],["bold",""]] "<p>[foo</p> <p>bar]</p>" queryCommandState("stylewithcss") after 
+PASS [["stylewithcss","false"],["bold",""]] "<p>[foo</p> <p>bar]</p>" queryCommandValue("stylewithcss") after 
+PASS [["stylewithcss","false"],["bold",""]] "<p>[foo</p> <p>bar]</p>" queryCommandIndeterm("bold") before 
+PASS [["stylewithcss","false"],["bold",""]] "<p>[foo</p> <p>bar]</p>" queryCommandState("bold") before 
+FAIL [["stylewithcss","false"],["bold",""]] "<p>[foo</p> <p>bar]</p>" queryCommandValue("bold") before assert_equals: Wrong result returned expected "" but got "false"
+PASS [["stylewithcss","false"],["bold",""]] "<p>[foo</p> <p>bar]</p>" queryCommandIndeterm("bold") after 
+PASS [["stylewithcss","false"],["bold",""]] "<p>[foo</p> <p>bar]</p>" queryCommandState("bold") after 
+FAIL [["stylewithcss","false"],["bold",""]] "<p>[foo</p> <p>bar]</p>" queryCommandValue("bold") after assert_equals: Wrong result returned expected "" but got "true"
+PASS [["stylewithcss","true"],["bold",""]] "<span>[foo</span> <span>bar]</span>": execCommand("stylewithcss", false, "true") return value 
+PASS [["stylewithcss","true"],["bold",""]] "<span>[foo</span> <span>bar]</span>": execCommand("bold", false, "") return value 
+PASS [["stylewithcss","true"],["bold",""]] "<span>[foo</span> <span>bar]</span>" checks for modifications to non-editable content 
+PASS [["stylewithcss","true"],["bold",""]] "<span>[foo</span> <span>bar]</span>" compare innerHTML 
+PASS [["stylewithcss","true"],["bold",""]] "<span>[foo</span> <span>bar]</span>" queryCommandIndeterm("stylewithcss") before 
+PASS [["stylewithcss","true"],["bold",""]] "<span>[foo</span> <span>bar]</span>" queryCommandState("stylewithcss") before 
+PASS [["stylewithcss","true"],["bold",""]] "<span>[foo</span> <span>bar]</span>" queryCommandValue("stylewithcss") before 
+PASS [["stylewithcss","true"],["bold",""]] "<span>[foo</span> <span>bar]</span>" queryCommandIndeterm("stylewithcss") after 
+PASS [["stylewithcss","true"],["bold",""]] "<span>[foo</span> <span>bar]</span>" queryCommandState("stylewithcss") after 
+PASS [["stylewithcss","true"],["bold",""]] "<span>[foo</span> <span>bar]</span>" queryCommandValue("stylewithcss") after 
+PASS [["stylewithcss","true"],["bold",""]] "<span>[foo</span> <span>bar]</span>" queryCommandIndeterm("bold") before 
+PASS [["stylewithcss","true"],["bold",""]] "<span>[foo</span> <span>bar]</span>" queryCommandState("bold") before 
+FAIL [["stylewithcss","true"],["bold",""]] "<span>[foo</span> <span>bar]</span>" queryCommandValue("bold") before assert_equals: Wrong result returned expected "" but got "false"
+PASS [["stylewithcss","true"],["bold",""]] "<span>[foo</span> <span>bar]</span>" queryCommandIndeterm("bold") after 
+PASS [["stylewithcss","true"],["bold",""]] "<span>[foo</span> <span>bar]</span>" queryCommandState("bold") after 
+FAIL [["stylewithcss","true"],["bold",""]] "<span>[foo</span> <span>bar]</span>" queryCommandValue("bold") after assert_equals: Wrong result returned expected "" but got "true"
+PASS [["stylewithcss","false"],["bold",""]] "<span>[foo</span> <span>bar]</span>": execCommand("stylewithcss", false, "false") return value 
+PASS [["stylewithcss","false"],["bold",""]] "<span>[foo</span> <span>bar]</span>": execCommand("bold", false, "") return value 
+PASS [["stylewithcss","false"],["bold",""]] "<span>[foo</span> <span>bar]</span>" checks for modifications to non-editable content 
+PASS [["stylewithcss","false"],["bold",""]] "<span>[foo</span> <span>bar]</span>" compare innerHTML 
+PASS [["stylewithcss","false"],["bold",""]] "<span>[foo</span> <span>bar]</span>" queryCommandIndeterm("stylewithcss") before 
+PASS [["stylewithcss","false"],["bold",""]] "<span>[foo</span> <span>bar]</span>" queryCommandState("stylewithcss") before 
+PASS [["stylewithcss","false"],["bold",""]] "<span>[foo</span> <span>bar]</span>" queryCommandValue("stylewithcss") before 
+PASS [["stylewithcss","false"],["bold",""]] "<span>[foo</span> <span>bar]</span>" queryCommandIndeterm("stylewithcss") after 
+PASS [["stylewithcss","false"],["bold",""]] "<span>[foo</span> <span>bar]</span>" queryCommandState("stylewithcss") after 
+PASS [["stylewithcss","false"],["bold",""]] "<span>[foo</span> <span>bar]</span>" queryCommandValue("stylewithcss") after 
+PASS [["stylewithcss","false"],["bold",""]] "<span>[foo</span> <span>bar]</span>" queryCommandIndeterm("bold") before 
+PASS [["stylewithcss","false"],["bold",""]] "<span>[foo</span> <span>bar]</span>" queryCommandState("bold") before 
+FAIL [["stylewithcss","false"],["bold",""]] "<span>[foo</span> <span>bar]</span>" queryCommandValue("bold") before assert_equals: Wrong result returned expected "" but got "false"
+PASS [["stylewithcss","false"],["bold",""]] "<span>[foo</span> <span>bar]</span>" queryCommandIndeterm("bold") after 
+PASS [["stylewithcss","false"],["bold",""]] "<span>[foo</span> <span>bar]</span>" queryCommandState("bold") after 
+FAIL [["stylewithcss","false"],["bold",""]] "<span>[foo</span> <span>bar]</span>" queryCommandValue("bold") after assert_equals: Wrong result returned expected "" but got "true"
+PASS [["stylewithcss","true"],["bold",""]] "<p>[foo</p><p> <span>bar</span> </p><p>baz]</p>": execCommand("stylewithcss", false, "true") return value 
+PASS [["stylewithcss","true"],["bold",""]] "<p>[foo</p><p> <span>bar</span> </p><p>baz]</p>": execCommand("bold", false, "") return value 
+PASS [["stylewithcss","true"],["bold",""]] "<p>[foo</p><p> <span>bar</span> </p><p>baz]</p>" checks for modifications to non-editable content 
+FAIL [["stylewithcss","true"],["bold",""]] "<p>[foo</p><p> <span>bar</span> </p><p>baz]</p>" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<p><span style=\"font-weight:bold\">foo</span></p><p> <span style=\"font-weight:bold\"><span>bar</span></span> </p><p><span style=\"font-weight:bold\">baz</span></p>" but got "<p><span style=\"font-weight:bold\">foo</span></p><p> <span style=\"font-weight:bold\"><span>bar</span> </span></p><p><span style=\"font-weight:bold\">baz</span></p>"
+PASS [["stylewithcss","true"],["bold",""]] "<p>[foo</p><p> <span>bar</span> </p><p>baz]</p>" queryCommandIndeterm("stylewithcss") before 
+PASS [["stylewithcss","true"],["bold",""]] "<p>[foo</p><p> <span>bar</span> </p><p>baz]</p>" queryCommandState("stylewithcss") before 
+PASS [["stylewithcss","true"],["bold",""]] "<p>[foo</p><p> <span>bar</span> </p><p>baz]</p>" queryCommandValue("stylewithcss") before 
+PASS [["stylewithcss","true"],["bold",""]] "<p>[foo</p><p> <span>bar</span> </p><p>baz]</p>" queryCommandIndeterm("stylewithcss") after 
+PASS [["stylewithcss","true"],["bold",""]] "<p>[foo</p><p> <span>bar</span> </p><p>baz]</p>" queryCommandState("stylewithcss") after 
+PASS [["stylewithcss","true"],["bold",""]] "<p>[foo</p><p> <span>bar</span> </p><p>baz]</p>" queryCommandValue("stylewithcss") after 
+PASS [["stylewithcss","true"],["bold",""]] "<p>[foo</p><p> <span>bar</span> </p><p>baz]</p>" queryCommandIndeterm("bold") before 
+PASS [["stylewithcss","true"],["bold",""]] "<p>[foo</p><p> <span>bar</span> </p><p>baz]</p>" queryCommandState("bold") before 
+FAIL [["stylewithcss","true"],["bold",""]] "<p>[foo</p><p> <span>bar</span> </p><p>baz]</p>" queryCommandValue("bold") before assert_equals: Wrong result returned expected "" but got "false"
+PASS [["stylewithcss","true"],["bold",""]] "<p>[foo</p><p> <span>bar</span> </p><p>baz]</p>" queryCommandIndeterm("bold") after 
+PASS [["stylewithcss","true"],["bold",""]] "<p>[foo</p><p> <span>bar</span> </p><p>baz]</p>" queryCommandState("bold") after 
+FAIL [["stylewithcss","true"],["bold",""]] "<p>[foo</p><p> <span>bar</span> </p><p>baz]</p>" queryCommandValue("bold") after assert_equals: Wrong result returned expected "" but got "true"
+PASS [["stylewithcss","false"],["bold",""]] "<p>[foo</p><p> <span>bar</span> </p><p>baz]</p>": execCommand("stylewithcss", false, "false") return value 
+PASS [["stylewithcss","false"],["bold",""]] "<p>[foo</p><p> <span>bar</span> </p><p>baz]</p>": execCommand("bold", false, "") return value 
+PASS [["stylewithcss","false"],["bold",""]] "<p>[foo</p><p> <span>bar</span> </p><p>baz]</p>" checks for modifications to non-editable content 
+FAIL [["stylewithcss","false"],["bold",""]] "<p>[foo</p><p> <span>bar</span> </p><p>baz]</p>" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<p><b>foo</b></p><p> <b><span>bar</span></b> </p><p><b>baz</b></p>" but got "<p><b>foo</b></p><p> <b><span>bar</span> </b></p><p><b>baz</b></p>"
+PASS [["stylewithcss","false"],["bold",""]] "<p>[foo</p><p> <span>bar</span> </p><p>baz]</p>" queryCommandIndeterm("stylewithcss") before 
+PASS [["stylewithcss","false"],["bold",""]] "<p>[foo</p><p> <span>bar</span> </p><p>baz]</p>" queryCommandState("stylewithcss") before 
+PASS [["stylewithcss","false"],["bold",""]] "<p>[foo</p><p> <span>bar</span> </p><p>baz]</p>" queryCommandValue("stylewithcss") before 
+PASS [["stylewithcss","false"],["bold",""]] "<p>[foo</p><p> <span>bar</span> </p><p>baz]</p>" queryCommandIndeterm("stylewithcss") after 
+PASS [["stylewithcss","false"],["bold",""]] "<p>[foo</p><p> <span>bar</span> </p><p>baz]</p>" queryCommandState("stylewithcss") after 
+PASS [["stylewithcss","false"],["bold",""]] "<p>[foo</p><p> <span>bar</span> </p><p>baz]</p>" queryCommandValue("stylewithcss") after 
+PASS [["stylewithcss","false"],["bold",""]] "<p>[foo</p><p> <span>bar</span> </p><p>baz]</p>" queryCommandIndeterm("bold") before 
+PASS [["stylewithcss","false"],["bold",""]] "<p>[foo</p><p> <span>bar</span> </p><p>baz]</p>" queryCommandState("bold") before 
+FAIL [["stylewithcss","false"],["bold",""]] "<p>[foo</p><p> <span>bar</span> </p><p>baz]</p>" queryCommandValue("bold") before assert_equals: Wrong result returned expected "" but got "false"
+PASS [["stylewithcss","false"],["bold",""]] "<p>[foo</p><p> <span>bar</span> </p><p>baz]</p>" queryCommandIndeterm("bold") after 
+PASS [["stylewithcss","false"],["bold",""]] "<p>[foo</p><p> <span>bar</span> </p><p>baz]</p>" queryCommandState("bold") after 
+FAIL [["stylewithcss","false"],["bold",""]] "<p>[foo</p><p> <span>bar</span> </p><p>baz]</p>" queryCommandValue("bold") after assert_equals: Wrong result returned expected "" but got "true"
+PASS [["stylewithcss","true"],["bold",""]] "<p>[foo<p><br><p>bar]": execCommand("stylewithcss", false, "true") return value 
+PASS [["stylewithcss","true"],["bold",""]] "<p>[foo<p><br><p>bar]": execCommand("bold", false, "") return value 
+PASS [["stylewithcss","true"],["bold",""]] "<p>[foo<p><br><p>bar]" checks for modifications to non-editable content 
+PASS [["stylewithcss","true"],["bold",""]] "<p>[foo<p><br><p>bar]" compare innerHTML 
+PASS [["stylewithcss","true"],["bold",""]] "<p>[foo<p><br><p>bar]" queryCommandIndeterm("stylewithcss") before 
+PASS [["stylewithcss","true"],["bold",""]] "<p>[foo<p><br><p>bar]" queryCommandState("stylewithcss") before 
+PASS [["stylewithcss","true"],["bold",""]] "<p>[foo<p><br><p>bar]" queryCommandValue("stylewithcss") before 
+PASS [["stylewithcss","true"],["bold",""]] "<p>[foo<p><br><p>bar]" queryCommandIndeterm("stylewithcss") after 
+PASS [["stylewithcss","true"],["bold",""]] "<p>[foo<p><br><p>bar]" queryCommandState("stylewithcss") after 
+PASS [["stylewithcss","true"],["bold",""]] "<p>[foo<p><br><p>bar]" queryCommandValue("stylewithcss") after 
+PASS [["stylewithcss","true"],["bold",""]] "<p>[foo<p><br><p>bar]" queryCommandIndeterm("bold") before 
+PASS [["stylewithcss","true"],["bold",""]] "<p>[foo<p><br><p>bar]" queryCommandState("bold") before 
+FAIL [["stylewithcss","true"],["bold",""]] "<p>[foo<p><br><p>bar]" queryCommandValue("bold") before assert_equals: Wrong result returned expected "" but got "false"
+PASS [["stylewithcss","true"],["bold",""]] "<p>[foo<p><br><p>bar]" queryCommandIndeterm("bold") after 
+PASS [["stylewithcss","true"],["bold",""]] "<p>[foo<p><br><p>bar]" queryCommandState("bold") after 
+FAIL [["stylewithcss","true"],["bold",""]] "<p>[foo<p><br><p>bar]" queryCommandValue("bold") after assert_equals: Wrong result returned expected "" but got "true"
+PASS [["stylewithcss","false"],["bold",""]] "<p>[foo<p><br><p>bar]": execCommand("stylewithcss", false, "false") return value 
+PASS [["stylewithcss","false"],["bold",""]] "<p>[foo<p><br><p>bar]": execCommand("bold", false, "") return value 
+PASS [["stylewithcss","false"],["bold",""]] "<p>[foo<p><br><p>bar]" checks for modifications to non-editable content 
+PASS [["stylewithcss","false"],["bold",""]] "<p>[foo<p><br><p>bar]" compare innerHTML 
+PASS [["stylewithcss","false"],["bold",""]] "<p>[foo<p><br><p>bar]" queryCommandIndeterm("stylewithcss") before 
+PASS [["stylewithcss","false"],["bold",""]] "<p>[foo<p><br><p>bar]" queryCommandState("stylewithcss") before 
+PASS [["stylewithcss","false"],["bold",""]] "<p>[foo<p><br><p>bar]" queryCommandValue("stylewithcss") before 
+PASS [["stylewithcss","false"],["bold",""]] "<p>[foo<p><br><p>bar]" queryCommandIndeterm("stylewithcss") after 
+PASS [["stylewithcss","false"],["bold",""]] "<p>[foo<p><br><p>bar]" queryCommandState("stylewithcss") after 
+PASS [["stylewithcss","false"],["bold",""]] "<p>[foo<p><br><p>bar]" queryCommandValue("stylewithcss") after 
+PASS [["stylewithcss","false"],["bold",""]] "<p>[foo<p><br><p>bar]" queryCommandIndeterm("bold") before 
+PASS [["stylewithcss","false"],["bold",""]] "<p>[foo<p><br><p>bar]" queryCommandState("bold") before 
+FAIL [["stylewithcss","false"],["bold",""]] "<p>[foo<p><br><p>bar]" queryCommandValue("bold") before assert_equals: Wrong result returned expected "" but got "false"
+PASS [["stylewithcss","false"],["bold",""]] "<p>[foo<p><br><p>bar]" queryCommandIndeterm("bold") after 
+PASS [["stylewithcss","false"],["bold",""]] "<p>[foo<p><br><p>bar]" queryCommandState("bold") after 
+FAIL [["stylewithcss","false"],["bold",""]] "<p>[foo<p><br><p>bar]" queryCommandValue("bold") after assert_equals: Wrong result returned expected "" but got "true"
+PASS [["bold",""]] "<b>foo[]bar</b>": execCommand("bold", false, "") return value 
+PASS [["bold",""]] "<b>foo[]bar</b>" checks for modifications to non-editable content 
+PASS [["bold",""]] "<b>foo[]bar</b>" compare innerHTML 
+PASS [["bold",""]] "<b>foo[]bar</b>" queryCommandIndeterm("bold") before 
+PASS [["bold",""]] "<b>foo[]bar</b>" queryCommandState("bold") before 
+FAIL [["bold",""]] "<b>foo[]bar</b>" queryCommandValue("bold") before assert_equals: Wrong result returned expected "" but got "true"
+PASS [["bold",""]] "<b>foo[]bar</b>" queryCommandIndeterm("bold") after 
+PASS [["bold",""]] "<b>foo[]bar</b>" queryCommandState("bold") after 
+FAIL [["bold",""]] "<b>foo[]bar</b>" queryCommandValue("bold") after assert_equals: Wrong result returned expected "" but got "false"
+PASS [["bold",""]] "<i>foo[]bar</i>": execCommand("bold", false, "") return value 
+PASS [["bold",""]] "<i>foo[]bar</i>" checks for modifications to non-editable content 
+PASS [["bold",""]] "<i>foo[]bar</i>" compare innerHTML 
+PASS [["bold",""]] "<i>foo[]bar</i>" queryCommandIndeterm("bold") before 
+PASS [["bold",""]] "<i>foo[]bar</i>" queryCommandState("bold") before 
+FAIL [["bold",""]] "<i>foo[]bar</i>" queryCommandValue("bold") before assert_equals: Wrong result returned expected "" but got "false"
+PASS [["bold",""]] "<i>foo[]bar</i>" queryCommandIndeterm("bold") after 
+PASS [["bold",""]] "<i>foo[]bar</i>" queryCommandState("bold") after 
+FAIL [["bold",""]] "<i>foo[]bar</i>" queryCommandValue("bold") after assert_equals: Wrong result returned expected "" but got "true"
+PASS [["bold",""]] "<span>foo</span>{}<span>bar</span>": execCommand("bold", false, "") return value 
+PASS [["bold",""]] "<span>foo</span>{}<span>bar</span>" checks for modifications to non-editable content 
+PASS [["bold",""]] "<span>foo</span>{}<span>bar</span>" compare innerHTML 
+PASS [["bold",""]] "<span>foo</span>{}<span>bar</span>" queryCommandIndeterm("bold") before 
+PASS [["bold",""]] "<span>foo</span>{}<span>bar</span>" queryCommandState("bold") before 
+FAIL [["bold",""]] "<span>foo</span>{}<span>bar</span>" queryCommandValue("bold") before assert_equals: Wrong result returned expected "" but got "false"
+PASS [["bold",""]] "<span>foo</span>{}<span>bar</span>" queryCommandIndeterm("bold") after 
+PASS [["bold",""]] "<span>foo</span>{}<span>bar</span>" queryCommandState("bold") after 
+FAIL [["bold",""]] "<span>foo</span>{}<span>bar</span>" queryCommandValue("bold") after assert_equals: Wrong result returned expected "" but got "true"
+PASS [["bold",""]] "<span>foo[</span><span>]bar</span>": execCommand("bold", false, "") return value 
+PASS [["bold",""]] "<span>foo[</span><span>]bar</span>" checks for modifications to non-editable content 
+PASS [["bold",""]] "<span>foo[</span><span>]bar</span>" compare innerHTML 
+PASS [["bold",""]] "<span>foo[</span><span>]bar</span>" queryCommandIndeterm("bold") before 
+PASS [["bold",""]] "<span>foo[</span><span>]bar</span>" queryCommandState("bold") before 
+FAIL [["bold",""]] "<span>foo[</span><span>]bar</span>" queryCommandValue("bold") before assert_equals: Wrong result returned expected "" but got "false"
+PASS [["bold",""]] "<span>foo[</span><span>]bar</span>" queryCommandIndeterm("bold") after 
+PASS [["bold",""]] "<span>foo[</span><span>]bar</span>" queryCommandState("bold") after 
+FAIL [["bold",""]] "<span>foo[</span><span>]bar</span>" queryCommandValue("bold") after assert_equals: Wrong result returned expected "" but got "true"
+PASS [["stylewithcss","true"],["bold",""]] "foo[bar]baz": execCommand("stylewithcss", false, "true") return value 
+PASS [["stylewithcss","true"],["bold",""]] "foo[bar]baz": execCommand("bold", false, "") return value 
+PASS [["stylewithcss","true"],["bold",""]] "foo[bar]baz" checks for modifications to non-editable content 
+PASS [["stylewithcss","true"],["bold",""]] "foo[bar]baz" compare innerHTML 
+PASS [["stylewithcss","true"],["bold",""]] "foo[bar]baz" queryCommandIndeterm("stylewithcss") before 
+PASS [["stylewithcss","true"],["bold",""]] "foo[bar]baz" queryCommandState("stylewithcss") before 
+PASS [["stylewithcss","true"],["bold",""]] "foo[bar]baz" queryCommandValue("stylewithcss") before 
+PASS [["stylewithcss","true"],["bold",""]] "foo[bar]baz" queryCommandIndeterm("stylewithcss") after 
+PASS [["stylewithcss","true"],["bold",""]] "foo[bar]baz" queryCommandState("stylewithcss") after 
+PASS [["stylewithcss","true"],["bold",""]] "foo[bar]baz" queryCommandValue("stylewithcss") after 
+PASS [["stylewithcss","true"],["bold",""]] "foo[bar]baz" queryCommandIndeterm("bold") before 
+PASS [["stylewithcss","true"],["bold",""]] "foo[bar]baz" queryCommandState("bold") before 
+FAIL [["stylewithcss","true"],["bold",""]] "foo[bar]baz" queryCommandValue("bold") before assert_equals: Wrong result returned expected "" but got "false"
+PASS [["stylewithcss","true"],["bold",""]] "foo[bar]baz" queryCommandIndeterm("bold") after 
+PASS [["stylewithcss","true"],["bold",""]] "foo[bar]baz" queryCommandState("bold") after 
+FAIL [["stylewithcss","true"],["bold",""]] "foo[bar]baz" queryCommandValue("bold") after assert_equals: Wrong result returned expected "" but got "true"
+PASS [["stylewithcss","false"],["bold",""]] "foo[bar]baz": execCommand("stylewithcss", false, "false") return value 
+PASS [["stylewithcss","false"],["bold",""]] "foo[bar]baz": execCommand("bold", false, "") return value 
+PASS [["stylewithcss","false"],["bold",""]] "foo[bar]baz" checks for modifications to non-editable content 
+PASS [["stylewithcss","false"],["bold",""]] "foo[bar]baz" compare innerHTML 
+PASS [["stylewithcss","false"],["bold",""]] "foo[bar]baz" queryCommandIndeterm("stylewithcss") before 
+PASS [["stylewithcss","false"],["bold",""]] "foo[bar]baz" queryCommandState("stylewithcss") before 
+PASS [["stylewithcss","false"],["bold",""]] "foo[bar]baz" queryCommandValue("stylewithcss") before 
+PASS [["stylewithcss","false"],["bold",""]] "foo[bar]baz" queryCommandIndeterm("stylewithcss") after 
+PASS [["stylewithcss","false"],["bold",""]] "foo[bar]baz" queryCommandState("stylewithcss") after 
+PASS [["stylewithcss","false"],["bold",""]] "foo[bar]baz" queryCommandValue("stylewithcss") after 
+PASS [["stylewithcss","false"],["bold",""]] "foo[bar]baz" queryCommandIndeterm("bold") before 
+PASS [["stylewithcss","false"],["bold",""]] "foo[bar]baz" queryCommandState("bold") before 
+FAIL [["stylewithcss","false"],["bold",""]] "foo[bar]baz" queryCommandValue("bold") before assert_equals: Wrong result returned expected "" but got "false"
+PASS [["stylewithcss","false"],["bold",""]] "foo[bar]baz" queryCommandIndeterm("bold") after 
+PASS [["stylewithcss","false"],["bold",""]] "foo[bar]baz" queryCommandState("bold") after 
+FAIL [["stylewithcss","false"],["bold",""]] "foo[bar]baz" queryCommandValue("bold") after assert_equals: Wrong result returned expected "" but got "true"
+PASS [["bold",""]] "foo[bar<b>baz]qoz</b>quz": execCommand("bold", false, "") return value 
+PASS [["bold",""]] "foo[bar<b>baz]qoz</b>quz" checks for modifications to non-editable content 
+PASS [["bold",""]] "foo[bar<b>baz]qoz</b>quz" compare innerHTML 
+FAIL [["bold",""]] "foo[bar<b>baz]qoz</b>quz" queryCommandIndeterm("bold") before assert_equals: Wrong result returned expected true but got false
+PASS [["bold",""]] "foo[bar<b>baz]qoz</b>quz" queryCommandState("bold") before 
+FAIL [["bold",""]] "foo[bar<b>baz]qoz</b>quz" queryCommandValue("bold") before assert_equals: Wrong result returned expected "" but got "false"
+PASS [["bold",""]] "foo[bar<b>baz]qoz</b>quz" queryCommandIndeterm("bold") after 
+PASS [["bold",""]] "foo[bar<b>baz]qoz</b>quz" queryCommandState("bold") after 
+FAIL [["bold",""]] "foo[bar<b>baz]qoz</b>quz" queryCommandValue("bold") after assert_equals: Wrong result returned expected "" but got "true"
+PASS [["stylewithcss","true"],["bold",""]] "foo[bar<i>baz]qoz</i>quz": execCommand("stylewithcss", false, "true") return value 
+PASS [["stylewithcss","true"],["bold",""]] "foo[bar<i>baz]qoz</i>quz": execCommand("bold", false, "") return value 
+PASS [["stylewithcss","true"],["bold",""]] "foo[bar<i>baz]qoz</i>quz" checks for modifications to non-editable content 
+PASS [["stylewithcss","true"],["bold",""]] "foo[bar<i>baz]qoz</i>quz" compare innerHTML 
+PASS [["stylewithcss","true"],["bold",""]] "foo[bar<i>baz]qoz</i>quz" queryCommandIndeterm("stylewithcss") before 
+PASS [["stylewithcss","true"],["bold",""]] "foo[bar<i>baz]qoz</i>quz" queryCommandState("stylewithcss") before 
+PASS [["stylewithcss","true"],["bold",""]] "foo[bar<i>baz]qoz</i>quz" queryCommandValue("stylewithcss") before 
+PASS [["stylewithcss","true"],["bold",""]] "foo[bar<i>baz]qoz</i>quz" queryCommandIndeterm("stylewithcss") after 
+PASS [["stylewithcss","true"],["bold",""]] "foo[bar<i>baz]qoz</i>quz" queryCommandState("stylewithcss") after 
+PASS [["stylewithcss","true"],["bold",""]] "foo[bar<i>baz]qoz</i>quz" queryCommandValue("stylewithcss") after 
+PASS [["stylewithcss","true"],["bold",""]] "foo[bar<i>baz]qoz</i>quz" queryCommandIndeterm("bold") before 
+PASS [["stylewithcss","true"],["bold",""]] "foo[bar<i>baz]qoz</i>quz" queryCommandState("bold") before 
+FAIL [["stylewithcss","true"],["bold",""]] "foo[bar<i>baz]qoz</i>quz" queryCommandValue("bold") before assert_equals: Wrong result returned expected "" but got "false"
+PASS [["stylewithcss","true"],["bold",""]] "foo[bar<i>baz]qoz</i>quz" queryCommandIndeterm("bold") after 
+PASS [["stylewithcss","true"],["bold",""]] "foo[bar<i>baz]qoz</i>quz" queryCommandState("bold") after 
+FAIL [["stylewithcss","true"],["bold",""]] "foo[bar<i>baz]qoz</i>quz" queryCommandValue("bold") after assert_equals: Wrong result returned expected "" but got "true"
+PASS [["stylewithcss","false"],["bold",""]] "foo[bar<i>baz]qoz</i>quz": execCommand("stylewithcss", false, "false") return value 
+PASS [["stylewithcss","false"],["bold",""]] "foo[bar<i>baz]qoz</i>quz": execCommand("bold", false, "") return value 
+PASS [["stylewithcss","false"],["bold",""]] "foo[bar<i>baz]qoz</i>quz" checks for modifications to non-editable content 
+PASS [["stylewithcss","false"],["bold",""]] "foo[bar<i>baz]qoz</i>quz" compare innerHTML 
+PASS [["stylewithcss","false"],["bold",""]] "foo[bar<i>baz]qoz</i>quz" queryCommandIndeterm("stylewithcss") before 
+PASS [["stylewithcss","false"],["bold",""]] "foo[bar<i>baz]qoz</i>quz" queryCommandState("stylewithcss") before 
+PASS [["stylewithcss","false"],["bold",""]] "foo[bar<i>baz]qoz</i>quz" queryCommandValue("stylewithcss") before 
+PASS [["stylewithcss","false"],["bold",""]] "foo[bar<i>baz]qoz</i>quz" queryCommandIndeterm("stylewithcss") after 
+PASS [["stylewithcss","false"],["bold",""]] "foo[bar<i>baz]qoz</i>quz" queryCommandState("stylewithcss") after 
+PASS [["stylewithcss","false"],["bold",""]] "foo[bar<i>baz]qoz</i>quz" queryCommandValue("stylewithcss") after 
+PASS [["stylewithcss","false"],["bold",""]] "foo[bar<i>baz]qoz</i>quz" queryCommandIndeterm("bold") before 
+PASS [["stylewithcss","false"],["bold",""]] "foo[bar<i>baz]qoz</i>quz" queryCommandState("bold") before 
+FAIL [["stylewithcss","false"],["bold",""]] "foo[bar<i>baz]qoz</i>quz" queryCommandValue("bold") before assert_equals: Wrong result returned expected "" but got "false"
+PASS [["stylewithcss","false"],["bold",""]] "foo[bar<i>baz]qoz</i>quz" queryCommandIndeterm("bold") after 
+PASS [["stylewithcss","false"],["bold",""]] "foo[bar<i>baz]qoz</i>quz" queryCommandState("bold") after 
+FAIL [["stylewithcss","false"],["bold",""]] "foo[bar<i>baz]qoz</i>quz" queryCommandValue("bold") after assert_equals: Wrong result returned expected "" but got "true"
+PASS [["stylewithcss","true"],["bold",""]] "{<p><p> <p>foo</p>}": execCommand("stylewithcss", false, "true") return value 
+PASS [["stylewithcss","true"],["bold",""]] "{<p><p> <p>foo</p>}": execCommand("bold", false, "") return value 
+PASS [["stylewithcss","true"],["bold",""]] "{<p><p> <p>foo</p>}" checks for modifications to non-editable content 
+PASS [["stylewithcss","true"],["bold",""]] "{<p><p> <p>foo</p>}" compare innerHTML 
+PASS [["stylewithcss","true"],["bold",""]] "{<p><p> <p>foo</p>}" queryCommandIndeterm("stylewithcss") before 
+PASS [["stylewithcss","true"],["bold",""]] "{<p><p> <p>foo</p>}" queryCommandState("stylewithcss") before 
+PASS [["stylewithcss","true"],["bold",""]] "{<p><p> <p>foo</p>}" queryCommandValue("stylewithcss") before 
+PASS [["stylewithcss","true"],["bold",""]] "{<p><p> <p>foo</p>}" queryCommandIndeterm("stylewithcss") after 
+PASS [["stylewithcss","true"],["bold",""]] "{<p><p> <p>foo</p>}" queryCommandState("stylewithcss") after 
+PASS [["stylewithcss","true"],["bold",""]] "{<p><p> <p>foo</p>}" queryCommandValue("stylewithcss") after 
+PASS [["stylewithcss","true"],["bold",""]] "{<p><p> <p>foo</p>}" queryCommandIndeterm("bold") before 
+PASS [["stylewithcss","true"],["bold",""]] "{<p><p> <p>foo</p>}" queryCommandState("bold") before 
+FAIL [["stylewithcss","true"],["bold",""]] "{<p><p> <p>foo</p>}" queryCommandValue("bold") before assert_equals: Wrong result returned expected "" but got "false"
+PASS [["stylewithcss","true"],["bold",""]] "{<p><p> <p>foo</p>}" queryCommandIndeterm("bold") after 
+PASS [["stylewithcss","true"],["bold",""]] "{<p><p> <p>foo</p>}" queryCommandState("bold") after 
+FAIL [["stylewithcss","true"],["bold",""]] "{<p><p> <p>foo</p>}" queryCommandValue("bold") after assert_equals: Wrong result returned expected "" but got "true"
+PASS [["stylewithcss","false"],["bold",""]] "{<p><p> <p>foo</p>}": execCommand("stylewithcss", false, "false") return value 
+PASS [["stylewithcss","false"],["bold",""]] "{<p><p> <p>foo</p>}": execCommand("bold", false, "") return value 
+PASS [["stylewithcss","false"],["bold",""]] "{<p><p> <p>foo</p>}" checks for modifications to non-editable content 
+PASS [["stylewithcss","false"],["bold",""]] "{<p><p> <p>foo</p>}" compare innerHTML 
+PASS [["stylewithcss","false"],["bold",""]] "{<p><p> <p>foo</p>}" queryCommandIndeterm("stylewithcss") before 
+PASS [["stylewithcss","false"],["bold",""]] "{<p><p> <p>foo</p>}" queryCommandState("stylewithcss") before 
+PASS [["stylewithcss","false"],["bold",""]] "{<p><p> <p>foo</p>}" queryCommandValue("stylewithcss") before 
+PASS [["stylewithcss","false"],["bold",""]] "{<p><p> <p>foo</p>}" queryCommandIndeterm("stylewithcss") after 
+PASS [["stylewithcss","false"],["bold",""]] "{<p><p> <p>foo</p>}" queryCommandState("stylewithcss") after 
+PASS [["stylewithcss","false"],["bold",""]] "{<p><p> <p>foo</p>}" queryCommandValue("stylewithcss") after 
+PASS [["stylewithcss","false"],["bold",""]] "{<p><p> <p>foo</p>}" queryCommandIndeterm("bold") before 
+PASS [["stylewithcss","false"],["bold",""]] "{<p><p> <p>foo</p>}" queryCommandState("bold") before 
+FAIL [["stylewithcss","false"],["bold",""]] "{<p><p> <p>foo</p>}" queryCommandValue("bold") before assert_equals: Wrong result returned expected "" but got "false"
+PASS [["stylewithcss","false"],["bold",""]] "{<p><p> <p>foo</p>}" queryCommandIndeterm("bold") after 
+PASS [["stylewithcss","false"],["bold",""]] "{<p><p> <p>foo</p>}" queryCommandState("bold") after 
+FAIL [["stylewithcss","false"],["bold",""]] "{<p><p> <p>foo</p>}" queryCommandValue("bold") after assert_equals: Wrong result returned expected "" but got "true"
+PASS [["bold",""]] "foo<span contenteditable=false>[bar]</span>baz": execCommand("bold", false, "") return value 
+PASS [["bold",""]] "foo<span contenteditable=false>[bar]</span>baz" checks for modifications to non-editable content 
+PASS [["bold",""]] "foo<span contenteditable=false>[bar]</span>baz" compare innerHTML 
+PASS [["bold",""]] "foo<span contenteditable=false>[bar]</span>baz" queryCommandIndeterm("bold") before 
+PASS [["bold",""]] "foo<span contenteditable=false>[bar]</span>baz" queryCommandState("bold") before 
+FAIL [["bold",""]] "foo<span contenteditable=false>[bar]</span>baz" queryCommandValue("bold") before assert_equals: Wrong result returned expected "" but got "false"
+PASS [["bold",""]] "foo<span contenteditable=false>[bar]</span>baz" queryCommandIndeterm("bold") after 
+PASS [["bold",""]] "foo<span contenteditable=false>[bar]</span>baz" queryCommandState("bold") after 
+FAIL [["bold",""]] "foo<span contenteditable=false>[bar]</span>baz" queryCommandValue("bold") after assert_equals: Wrong result returned expected "" but got "false"
+PASS [["stylewithcss","true"],["bold",""]] "fo[o<span contenteditable=false>bar</span>b]az": execCommand("stylewithcss", false, "true") return value 
+PASS [["stylewithcss","true"],["bold",""]] "fo[o<span contenteditable=false>bar</span>b]az": execCommand("bold", false, "") return value 
+PASS [["stylewithcss","true"],["bold",""]] "fo[o<span contenteditable=false>bar</span>b]az" checks for modifications to non-editable content 
+PASS [["stylewithcss","true"],["bold",""]] "fo[o<span contenteditable=false>bar</span>b]az" compare innerHTML 
+PASS [["stylewithcss","true"],["bold",""]] "fo[o<span contenteditable=false>bar</span>b]az" queryCommandIndeterm("stylewithcss") before 
+PASS [["stylewithcss","true"],["bold",""]] "fo[o<span contenteditable=false>bar</span>b]az" queryCommandState("stylewithcss") before 
+PASS [["stylewithcss","true"],["bold",""]] "fo[o<span contenteditable=false>bar</span>b]az" queryCommandValue("stylewithcss") before 
+PASS [["stylewithcss","true"],["bold",""]] "fo[o<span contenteditable=false>bar</span>b]az" queryCommandIndeterm("stylewithcss") after 
+PASS [["stylewithcss","true"],["bold",""]] "fo[o<span contenteditable=false>bar</span>b]az" queryCommandState("stylewithcss") after 
+PASS [["stylewithcss","true"],["bold",""]] "fo[o<span contenteditable=false>bar</span>b]az" queryCommandValue("stylewithcss") after 
+PASS [["stylewithcss","true"],["bold",""]] "fo[o<span contenteditable=false>bar</span>b]az" queryCommandIndeterm("bold") before 
+PASS [["stylewithcss","true"],["bold",""]] "fo[o<span contenteditable=false>bar</span>b]az" queryCommandState("bold") before 
+FAIL [["stylewithcss","true"],["bold",""]] "fo[o<span contenteditable=false>bar</span>b]az" queryCommandValue("bold") before assert_equals: Wrong result returned expected "" but got "false"
+PASS [["stylewithcss","true"],["bold",""]] "fo[o<span contenteditable=false>bar</span>b]az" queryCommandIndeterm("bold") after 
+PASS [["stylewithcss","true"],["bold",""]] "fo[o<span contenteditable=false>bar</span>b]az" queryCommandState("bold") after 
+FAIL [["stylewithcss","true"],["bold",""]] "fo[o<span contenteditable=false>bar</span>b]az" queryCommandValue("bold") after assert_equals: Wrong result returned expected "" but got "true"
+PASS [["stylewithcss","false"],["bold",""]] "fo[o<span contenteditable=false>bar</span>b]az": execCommand("stylewithcss", false, "false") return value 
+PASS [["stylewithcss","false"],["bold",""]] "fo[o<span contenteditable=false>bar</span>b]az": execCommand("bold", false, "") return value 
+PASS [["stylewithcss","false"],["bold",""]] "fo[o<span contenteditable=false>bar</span>b]az" checks for modifications to non-editable content 
+PASS [["stylewithcss","false"],["bold",""]] "fo[o<span contenteditable=false>bar</span>b]az" compare innerHTML 
+PASS [["stylewithcss","false"],["bold",""]] "fo[o<span contenteditable=false>bar</span>b]az" queryCommandIndeterm("stylewithcss") before 
+PASS [["stylewithcss","false"],["bold",""]] "fo[o<span contenteditable=false>bar</span>b]az" queryCommandState("stylewithcss") before 
+PASS [["stylewithcss","false"],["bold",""]] "fo[o<span contenteditable=false>bar</span>b]az" queryCommandValue("stylewithcss") before 
+PASS [["stylewithcss","false"],["bold",""]] "fo[o<span contenteditable=false>bar</span>b]az" queryCommandIndeterm("stylewithcss") after 
+PASS [["stylewithcss","false"],["bold",""]] "fo[o<span contenteditable=false>bar</span>b]az" queryCommandState("stylewithcss") after 
+PASS [["stylewithcss","false"],["bold",""]] "fo[o<span contenteditable=false>bar</span>b]az" queryCommandValue("stylewithcss") after 
+PASS [["stylewithcss","false"],["bold",""]] "fo[o<span contenteditable=false>bar</span>b]az" queryCommandIndeterm("bold") before 
+PASS [["stylewithcss","false"],["bold",""]] "fo[o<span contenteditable=false>bar</span>b]az" queryCommandState("bold") before 
+FAIL [["stylewithcss","false"],["bold",""]] "fo[o<span contenteditable=false>bar</span>b]az" queryCommandValue("bold") before assert_equals: Wrong result returned expected "" but got "false"
+PASS [["stylewithcss","false"],["bold",""]] "fo[o<span contenteditable=false>bar</span>b]az" queryCommandIndeterm("bold") after 
+PASS [["stylewithcss","false"],["bold",""]] "fo[o<span contenteditable=false>bar</span>b]az" queryCommandState("bold") after 
+FAIL [["stylewithcss","false"],["bold",""]] "fo[o<span contenteditable=false>bar</span>b]az" queryCommandValue("bold") after assert_equals: Wrong result returned expected "" but got "true"
+PASS [["bold",""]] "foo<span contenteditable=false>ba[r</span>b]az": execCommand("bold", false, "") return value 
+PASS [["bold",""]] "foo<span contenteditable=false>ba[r</span>b]az" checks for modifications to non-editable content 
+PASS [["bold",""]] "foo<span contenteditable=false>ba[r</span>b]az" compare innerHTML 
+PASS [["bold",""]] "foo<span contenteditable=false>ba[r</span>b]az" queryCommandIndeterm("bold") before 
+PASS [["bold",""]] "foo<span contenteditable=false>ba[r</span>b]az" queryCommandState("bold") before 
+FAIL [["bold",""]] "foo<span contenteditable=false>ba[r</span>b]az" queryCommandValue("bold") before assert_equals: Wrong result returned expected "" but got "false"
+PASS [["bold",""]] "foo<span contenteditable=false>ba[r</span>b]az" queryCommandIndeterm("bold") after 
+PASS [["bold",""]] "foo<span contenteditable=false>ba[r</span>b]az" queryCommandState("bold") after 
+FAIL [["bold",""]] "foo<span contenteditable=false>ba[r</span>b]az" queryCommandValue("bold") after assert_equals: Wrong result returned expected "" but got "false"
+FAIL [["bold",""]] "fo[o<span contenteditable=false>b]ar</span>baz": execCommand("bold", false, "") return value assert_equals: expected false but got true
+PASS [["bold",""]] "fo[o<span contenteditable=false>b]ar</span>baz" checks for modifications to non-editable content 
+FAIL [["bold",""]] "fo[o<span contenteditable=false>b]ar</span>baz" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "foo<span contenteditable=\"false\">bar</span>baz" but got "fo<b>o</b><span contenteditable=\"false\">bar</span>baz"
+PASS [["bold",""]] "fo[o<span contenteditable=false>b]ar</span>baz" queryCommandIndeterm("bold") before 
+PASS [["bold",""]] "fo[o<span contenteditable=false>b]ar</span>baz" queryCommandState("bold") before 
+FAIL [["bold",""]] "fo[o<span contenteditable=false>b]ar</span>baz" queryCommandValue("bold") before assert_equals: Wrong result returned expected "" but got "false"
+PASS [["bold",""]] "fo[o<span contenteditable=false>b]ar</span>baz" queryCommandIndeterm("bold") after 
+FAIL [["bold",""]] "fo[o<span contenteditable=false>b]ar</span>baz" queryCommandState("bold") after assert_equals: Wrong result returned expected false but got true
+FAIL [["bold",""]] "fo[o<span contenteditable=false>b]ar</span>baz" queryCommandValue("bold") after assert_equals: Wrong result returned expected "" but got "true"
+PASS [["stylewithcss","true"],["bold",""]] "fo[<b>o</b><span contenteditable=false>bar</span><b>b</b>]az": execCommand("stylewithcss", false, "true") return value 
+PASS [["stylewithcss","true"],["bold",""]] "fo[<b>o</b><span contenteditable=false>bar</span><b>b</b>]az": execCommand("bold", false, "") return value 
+PASS [["stylewithcss","true"],["bold",""]] "fo[<b>o</b><span contenteditable=false>bar</span><b>b</b>]az" checks for modifications to non-editable content 
+PASS [["stylewithcss","true"],["bold",""]] "fo[<b>o</b><span contenteditable=false>bar</span><b>b</b>]az" compare innerHTML 
+PASS [["stylewithcss","true"],["bold",""]] "fo[<b>o</b><span contenteditable=false>bar</span><b>b</b>]az" queryCommandIndeterm("stylewithcss") before 
+PASS [["stylewithcss","true"],["bold",""]] "fo[<b>o</b><span contenteditable=false>bar</span><b>b</b>]az" queryCommandState("stylewithcss") before 
+PASS [["stylewithcss","true"],["bold",""]] "fo[<b>o</b><span contenteditable=false>bar</span><b>b</b>]az" queryCommandValue("stylewithcss") before 
+PASS [["stylewithcss","true"],["bold",""]] "fo[<b>o</b><span contenteditable=false>bar</span><b>b</b>]az" queryCommandIndeterm("stylewithcss") after 
+PASS [["stylewithcss","true"],["bold",""]] "fo[<b>o</b><span contenteditable=false>bar</span><b>b</b>]az" queryCommandState("stylewithcss") after 
+PASS [["stylewithcss","true"],["bold",""]] "fo[<b>o</b><span contenteditable=false>bar</span><b>b</b>]az" queryCommandValue("stylewithcss") after 
+PASS [["stylewithcss","true"],["bold",""]] "fo[<b>o</b><span contenteditable=false>bar</span><b>b</b>]az" queryCommandIndeterm("bold") before 
+PASS [["stylewithcss","true"],["bold",""]] "fo[<b>o</b><span contenteditable=false>bar</span><b>b</b>]az" queryCommandState("bold") before 
+FAIL [["stylewithcss","true"],["bold",""]] "fo[<b>o</b><span contenteditable=false>bar</span><b>b</b>]az" queryCommandValue("bold") before assert_equals: Wrong result returned expected "" but got "true"
+PASS [["stylewithcss","true"],["bold",""]] "fo[<b>o</b><span contenteditable=false>bar</span><b>b</b>]az" queryCommandIndeterm("bold") after 
+PASS [["stylewithcss","true"],["bold",""]] "fo[<b>o</b><span contenteditable=false>bar</span><b>b</b>]az" queryCommandState("bold") after 
+FAIL [["stylewithcss","true"],["bold",""]] "fo[<b>o</b><span contenteditable=false>bar</span><b>b</b>]az" queryCommandValue("bold") after assert_equals: Wrong result returned expected "" but got "false"
+PASS [["stylewithcss","false"],["bold",""]] "fo[<b>o</b><span contenteditable=false>bar</span><b>b</b>]az": execCommand("stylewithcss", false, "false") return value 
+PASS [["stylewithcss","false"],["bold",""]] "fo[<b>o</b><span contenteditable=false>bar</span><b>b</b>]az": execCommand("bold", false, "") return value 
+PASS [["stylewithcss","false"],["bold",""]] "fo[<b>o</b><span contenteditable=false>bar</span><b>b</b>]az" checks for modifications to non-editable content 
+PASS [["stylewithcss","false"],["bold",""]] "fo[<b>o</b><span contenteditable=false>bar</span><b>b</b>]az" compare innerHTML 
+PASS [["stylewithcss","false"],["bold",""]] "fo[<b>o</b><span contenteditable=false>bar</span><b>b</b>]az" queryCommandIndeterm("stylewithcss") before 
+PASS [["stylewithcss","false"],["bold",""]] "fo[<b>o</b><span contenteditable=false>bar</span><b>b</b>]az" queryCommandState("stylewithcss") before 
+PASS [["stylewithcss","false"],["bold",""]] "fo[<b>o</b><span contenteditable=false>bar</span><b>b</b>]az" queryCommandValue("stylewithcss") before 
+PASS [["stylewithcss","false"],["bold",""]] "fo[<b>o</b><span contenteditable=false>bar</span><b>b</b>]az" queryCommandIndeterm("stylewithcss") after 
+PASS [["stylewithcss","false"],["bold",""]] "fo[<b>o</b><span contenteditable=false>bar</span><b>b</b>]az" queryCommandState("stylewithcss") after 
+PASS [["stylewithcss","false"],["bold",""]] "fo[<b>o</b><span contenteditable=false>bar</span><b>b</b>]az" queryCommandValue("stylewithcss") after 
+PASS [["stylewithcss","false"],["bold",""]] "fo[<b>o</b><span contenteditable=false>bar</span><b>b</b>]az" queryCommandIndeterm("bold") before 
+PASS [["stylewithcss","false"],["bold",""]] "fo[<b>o</b><span contenteditable=false>bar</span><b>b</b>]az" queryCommandState("bold") before 
+FAIL [["stylewithcss","false"],["bold",""]] "fo[<b>o</b><span contenteditable=false>bar</span><b>b</b>]az" queryCommandValue("bold") before assert_equals: Wrong result returned expected "" but got "true"
+PASS [["stylewithcss","false"],["bold",""]] "fo[<b>o</b><span contenteditable=false>bar</span><b>b</b>]az" queryCommandIndeterm("bold") after 
+PASS [["stylewithcss","false"],["bold",""]] "fo[<b>o</b><span contenteditable=false>bar</span><b>b</b>]az" queryCommandState("bold") after 
+FAIL [["stylewithcss","false"],["bold",""]] "fo[<b>o</b><span contenteditable=false>bar</span><b>b</b>]az" queryCommandValue("bold") after assert_equals: Wrong result returned expected "" but got "false"
+PASS [["stylewithcss","true"],["bold",""]] "<span contenteditable=false>foo<span contenteditable=true>[bar]</span>baz</span>": execCommand("stylewithcss", false, "true") return value 
+PASS [["stylewithcss","true"],["bold",""]] "<span contenteditable=false>foo<span contenteditable=true>[bar]</span>baz</span>": execCommand("bold", false, "") return value 
+PASS [["stylewithcss","true"],["bold",""]] "<span contenteditable=false>foo<span contenteditable=true>[bar]</span>baz</span>" checks for modifications to non-editable content 
+PASS [["stylewithcss","true"],["bold",""]] "<span contenteditable=false>foo<span contenteditable=true>[bar]</span>baz</span>" compare innerHTML 
+PASS [["stylewithcss","true"],["bold",""]] "<span contenteditable=false>foo<span contenteditable=true>[bar]</span>baz</span>" queryCommandIndeterm("stylewithcss") before 
+PASS [["stylewithcss","true"],["bold",""]] "<span contenteditable=false>foo<span contenteditable=true>[bar]</span>baz</span>" queryCommandState("stylewithcss") before 
+PASS [["stylewithcss","true"],["bold",""]] "<span contenteditable=false>foo<span contenteditable=true>[bar]</span>baz</span>" queryCommandValue("stylewithcss") before 
+PASS [["stylewithcss","true"],["bold",""]] "<span contenteditable=false>foo<span contenteditable=true>[bar]</span>baz</span>" queryCommandIndeterm("stylewithcss") after 
+PASS [["stylewithcss","true"],["bold",""]] "<span contenteditable=false>foo<span contenteditable=true>[bar]</span>baz</span>" queryCommandState("stylewithcss") after 
+PASS [["stylewithcss","true"],["bold",""]] "<span contenteditable=false>foo<span contenteditable=true>[bar]</span>baz</span>" queryCommandValue("stylewithcss") after 
+PASS [["stylewithcss","true"],["bold",""]] "<span contenteditable=false>foo<span contenteditable=true>[bar]</span>baz</span>" queryCommandIndeterm("bold") before 
+PASS [["stylewithcss","true"],["bold",""]] "<span contenteditable=false>foo<span contenteditable=true>[bar]</span>baz</span>" queryCommandState("bold") before 
+FAIL [["stylewithcss","true"],["bold",""]] "<span contenteditable=false>foo<span contenteditable=true>[bar]</span>baz</span>" queryCommandValue("bold") before assert_equals: Wrong result returned expected "" but got "false"
+PASS [["stylewithcss","true"],["bold",""]] "<span contenteditable=false>foo<span contenteditable=true>[bar]</span>baz</span>" queryCommandIndeterm("bold") after 
+PASS [["stylewithcss","true"],["bold",""]] "<span contenteditable=false>foo<span contenteditable=true>[bar]</span>baz</span>" queryCommandState("bold") after 
+FAIL [["stylewithcss","true"],["bold",""]] "<span contenteditable=false>foo<span contenteditable=true>[bar]</span>baz</span>" queryCommandValue("bold") after assert_equals: Wrong result returned expected "" but got "true"
+PASS [["stylewithcss","false"],["bold",""]] "<span contenteditable=false>foo<span contenteditable=true>[bar]</span>baz</span>": execCommand("stylewithcss", false, "false") return value 
+PASS [["stylewithcss","false"],["bold",""]] "<span contenteditable=false>foo<span contenteditable=true>[bar]</span>baz</span>": execCommand("bold", false, "") return value 
+PASS [["stylewithcss","false"],["bold",""]] "<span contenteditable=false>foo<span contenteditable=true>[bar]</span>baz</span>" checks for modifications to non-editable content 
+PASS [["stylewithcss","false"],["bold",""]] "<span contenteditable=false>foo<span contenteditable=true>[bar]</span>baz</span>" compare innerHTML 
+PASS [["stylewithcss","false"],["bold",""]] "<span contenteditable=false>foo<span contenteditable=true>[bar]</span>baz</span>" queryCommandIndeterm("stylewithcss") before 
+PASS [["stylewithcss","false"],["bold",""]] "<span contenteditable=false>foo<span contenteditable=true>[bar]</span>baz</span>" queryCommandState("stylewithcss") before 
+PASS [["stylewithcss","false"],["bold",""]] "<span contenteditable=false>foo<span contenteditable=true>[bar]</span>baz</span>" queryCommandValue("stylewithcss") before 
+PASS [["stylewithcss","false"],["bold",""]] "<span contenteditable=false>foo<span contenteditable=true>[bar]</span>baz</span>" queryCommandIndeterm("stylewithcss") after 
+PASS [["stylewithcss","false"],["bold",""]] "<span contenteditable=false>foo<span contenteditable=true>[bar]</span>baz</span>" queryCommandState("stylewithcss") after 
+PASS [["stylewithcss","false"],["bold",""]] "<span contenteditable=false>foo<span contenteditable=true>[bar]</span>baz</span>" queryCommandValue("stylewithcss") after 
+PASS [["stylewithcss","false"],["bold",""]] "<span contenteditable=false>foo<span contenteditable=true>[bar]</span>baz</span>" queryCommandIndeterm("bold") before 
+PASS [["stylewithcss","false"],["bold",""]] "<span contenteditable=false>foo<span contenteditable=true>[bar]</span>baz</span>" queryCommandState("bold") before 
+FAIL [["stylewithcss","false"],["bold",""]] "<span contenteditable=false>foo<span contenteditable=true>[bar]</span>baz</span>" queryCommandValue("bold") before assert_equals: Wrong result returned expected "" but got "false"
+PASS [["stylewithcss","false"],["bold",""]] "<span contenteditable=false>foo<span contenteditable=true>[bar]</span>baz</span>" queryCommandIndeterm("bold") after 
+PASS [["stylewithcss","false"],["bold",""]] "<span contenteditable=false>foo<span contenteditable=true>[bar]</span>baz</span>" queryCommandState("bold") after 
+FAIL [["stylewithcss","false"],["bold",""]] "<span contenteditable=false>foo<span contenteditable=true>[bar]</span>baz</span>" queryCommandValue("bold") after assert_equals: Wrong result returned expected "" but got "true"
+PASS [["bold",""]] "<span contenteditable=false>fo[o<span contenteditable=true>bar</span>b]az</span>": execCommand("bold", false, "") return value 
+PASS [["bold",""]] "<span contenteditable=false>fo[o<span contenteditable=true>bar</span>b]az</span>" checks for modifications to non-editable content 
+PASS [["bold",""]] "<span contenteditable=false>fo[o<span contenteditable=true>bar</span>b]az</span>" compare innerHTML 
+PASS [["bold",""]] "<span contenteditable=false>fo[o<span contenteditable=true>bar</span>b]az</span>" queryCommandIndeterm("bold") before 
+PASS [["bold",""]] "<span contenteditable=false>fo[o<span contenteditable=true>bar</span>b]az</span>" queryCommandState("bold") before 
+FAIL [["bold",""]] "<span contenteditable=false>fo[o<span contenteditable=true>bar</span>b]az</span>" queryCommandValue("bold") before assert_equals: Wrong result returned expected "" but got "false"
+PASS [["bold",""]] "<span contenteditable=false>fo[o<span contenteditable=true>bar</span>b]az</span>" queryCommandIndeterm("bold") after 
+PASS [["bold",""]] "<span contenteditable=false>fo[o<span contenteditable=true>bar</span>b]az</span>" queryCommandState("bold") after 
+FAIL [["bold",""]] "<span contenteditable=false>fo[o<span contenteditable=true>bar</span>b]az</span>" queryCommandValue("bold") after assert_equals: Wrong result returned expected "" but got "false"
+FAIL [["bold",""]] "<span contenteditable=false>foo<span contenteditable=true>ba[r</span>b]az</span>": execCommand("bold", false, "") return value assert_equals: expected false but got true
+PASS [["bold",""]] "<span contenteditable=false>foo<span contenteditable=true>ba[r</span>b]az</span>" checks for modifications to non-editable content 
+FAIL [["bold",""]] "<span contenteditable=false>foo<span contenteditable=true>ba[r</span>b]az</span>" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<span contenteditable=\"false\">foo<span contenteditable=\"true\">bar</span>baz</span>" but got "<span contenteditable=\"false\">foo<span contenteditable=\"true\">ba<b>r</b></span>baz</span>"
+PASS [["bold",""]] "<span contenteditable=false>foo<span contenteditable=true>ba[r</span>b]az</span>" queryCommandIndeterm("bold") before 
+PASS [["bold",""]] "<span contenteditable=false>foo<span contenteditable=true>ba[r</span>b]az</span>" queryCommandState("bold") before 
+FAIL [["bold",""]] "<span contenteditable=false>foo<span contenteditable=true>ba[r</span>b]az</span>" queryCommandValue("bold") before assert_equals: Wrong result returned expected "" but got "false"
+PASS [["bold",""]] "<span contenteditable=false>foo<span contenteditable=true>ba[r</span>b]az</span>" queryCommandIndeterm("bold") after 
+FAIL [["bold",""]] "<span contenteditable=false>foo<span contenteditable=true>ba[r</span>b]az</span>" queryCommandState("bold") after assert_equals: Wrong result returned expected false but got true
+FAIL [["bold",""]] "<span contenteditable=false>foo<span contenteditable=true>ba[r</span>b]az</span>" queryCommandValue("bold") after assert_equals: Wrong result returned expected "" but got "true"
+PASS [["bold",""]] "<span contenteditable=false>fo[o<span contenteditable=true>b]ar</span>baz</span>": execCommand("bold", false, "") return value 
+PASS [["bold",""]] "<span contenteditable=false>fo[o<span contenteditable=true>b]ar</span>baz</span>" checks for modifications to non-editable content 
+PASS [["bold",""]] "<span contenteditable=false>fo[o<span contenteditable=true>b]ar</span>baz</span>" compare innerHTML 
+PASS [["bold",""]] "<span contenteditable=false>fo[o<span contenteditable=true>b]ar</span>baz</span>" queryCommandIndeterm("bold") before 
+PASS [["bold",""]] "<span contenteditable=false>fo[o<span contenteditable=true>b]ar</span>baz</span>" queryCommandState("bold") before 
+FAIL [["bold",""]] "<span contenteditable=false>fo[o<span contenteditable=true>b]ar</span>baz</span>" queryCommandValue("bold") before assert_equals: Wrong result returned expected "" but got "false"
+PASS [["bold",""]] "<span contenteditable=false>fo[o<span contenteditable=true>b]ar</span>baz</span>" queryCommandIndeterm("bold") after 
+PASS [["bold",""]] "<span contenteditable=false>fo[o<span contenteditable=true>b]ar</span>baz</span>" queryCommandState("bold") after 
+FAIL [["bold",""]] "<span contenteditable=false>fo[o<span contenteditable=true>b]ar</span>baz</span>" queryCommandValue("bold") after assert_equals: Wrong result returned expected "" but got "false"
+PASS [["bold",""]] "<span contenteditable=false>fo[<b>o<span contenteditable=true>bar</span>b</b>]az</span>": execCommand("bold", false, "") return value 
+PASS [["bold",""]] "<span contenteditable=false>fo[<b>o<span contenteditable=true>bar</span>b</b>]az</span>" checks for modifications to non-editable content 
+PASS [["bold",""]] "<span contenteditable=false>fo[<b>o<span contenteditable=true>bar</span>b</b>]az</span>" compare innerHTML 
+PASS [["bold",""]] "<span contenteditable=false>fo[<b>o<span contenteditable=true>bar</span>b</b>]az</span>" queryCommandIndeterm("bold") before 
+PASS [["bold",""]] "<span contenteditable=false>fo[<b>o<span contenteditable=true>bar</span>b</b>]az</span>" queryCommandState("bold") before 
+FAIL [["bold",""]] "<span contenteditable=false>fo[<b>o<span contenteditable=true>bar</span>b</b>]az</span>" queryCommandValue("bold") before assert_equals: Wrong result returned expected "" but got "true"
+PASS [["bold",""]] "<span contenteditable=false>fo[<b>o<span contenteditable=true>bar</span>b</b>]az</span>" queryCommandIndeterm("bold") after 
+PASS [["bold",""]] "<span contenteditable=false>fo[<b>o<span contenteditable=true>bar</span>b</b>]az</span>" queryCommandState("bold") after 
+FAIL [["bold",""]] "<span contenteditable=false>fo[<b>o<span contenteditable=true>bar</span>b</b>]az</span>" queryCommandValue("bold") after assert_equals: Wrong result returned expected "" but got "true"
+PASS [["stylewithcss","true"],["bold",""]] "<table><tbody><tr><td>foo<td>b[a]r<td>baz</table>": execCommand("stylewithcss", false, "true") return value 
+PASS [["stylewithcss","true"],["bold",""]] "<table><tbody><tr><td>foo<td>b[a]r<td>baz</table>": execCommand("bold", false, "") return value 
+PASS [["stylewithcss","true"],["bold",""]] "<table><tbody><tr><td>foo<td>b[a]r<td>baz</table>" checks for modifications to non-editable content 
+PASS [["stylewithcss","true"],["bold",""]] "<table><tbody><tr><td>foo<td>b[a]r<td>baz</table>" compare innerHTML 
+PASS [["stylewithcss","true"],["bold",""]] "<table><tbody><tr><td>foo<td>b[a]r<td>baz</table>" queryCommandIndeterm("stylewithcss") before 
+PASS [["stylewithcss","true"],["bold",""]] "<table><tbody><tr><td>foo<td>b[a]r<td>baz</table>" queryCommandState("stylewithcss") before 
+PASS [["stylewithcss","true"],["bold",""]] "<table><tbody><tr><td>foo<td>b[a]r<td>baz</table>" queryCommandValue("stylewithcss") before 
+PASS [["stylewithcss","true"],["bold",""]] "<table><tbody><tr><td>foo<td>b[a]r<td>baz</table>" queryCommandIndeterm("stylewithcss") after 
+PASS [["stylewithcss","true"],["bold",""]] "<table><tbody><tr><td>foo<td>b[a]r<td>baz</table>" queryCommandState("stylewithcss") after 
+PASS [["stylewithcss","true"],["bold",""]] "<table><tbody><tr><td>foo<td>b[a]r<td>baz</table>" queryCommandValue("stylewithcss") after 
+PASS [["stylewithcss","true"],["bold",""]] "<table><tbody><tr><td>foo<td>b[a]r<td>baz</table>" queryCommandIndeterm("bold") before 
+PASS [["stylewithcss","true"],["bold",""]] "<table><tbody><tr><td>foo<td>b[a]r<td>baz</table>" queryCommandState("bold") before 
+FAIL [["stylewithcss","true"],["bold",""]] "<table><tbody><tr><td>foo<td>b[a]r<td>baz</table>" queryCommandValue("bold") before assert_equals: Wrong result returned expected "" but got "false"
+PASS [["stylewithcss","true"],["bold",""]] "<table><tbody><tr><td>foo<td>b[a]r<td>baz</table>" queryCommandIndeterm("bold") after 
+PASS [["stylewithcss","true"],["bold",""]] "<table><tbody><tr><td>foo<td>b[a]r<td>baz</table>" queryCommandState("bold") after 
+FAIL [["stylewithcss","true"],["bold",""]] "<table><tbody><tr><td>foo<td>b[a]r<td>baz</table>" queryCommandValue("bold") after assert_equals: Wrong result returned expected "" but got "true"
+PASS [["stylewithcss","false"],["bold",""]] "<table><tbody><tr><td>foo<td>b[a]r<td>baz</table>": execCommand("stylewithcss", false, "false") return value 
+PASS [["stylewithcss","false"],["bold",""]] "<table><tbody><tr><td>foo<td>b[a]r<td>baz</table>": execCommand("bold", false, "") return value 
+PASS [["stylewithcss","false"],["bold",""]] "<table><tbody><tr><td>foo<td>b[a]r<td>baz</table>" checks for modifications to non-editable content 
+PASS [["stylewithcss","false"],["bold",""]] "<table><tbody><tr><td>foo<td>b[a]r<td>baz</table>" compare innerHTML 
+PASS [["stylewithcss","false"],["bold",""]] "<table><tbody><tr><td>foo<td>b[a]r<td>baz</table>" queryCommandIndeterm("stylewithcss") before 
+PASS [["stylewithcss","false"],["bold",""]] "<table><tbody><tr><td>foo<td>b[a]r<td>baz</table>" queryCommandState("stylewithcss") before 
+PASS [["stylewithcss","false"],["bold",""]] "<table><tbody><tr><td>foo<td>b[a]r<td>baz</table>" queryCommandValue("stylewithcss") before 
+PASS [["stylewithcss","false"],["bold",""]] "<table><tbody><tr><td>foo<td>b[a]r<td>baz</table>" queryCommandIndeterm("stylewithcss") after 
+PASS [["stylewithcss","false"],["bold",""]] "<table><tbody><tr><td>foo<td>b[a]r<td>baz</table>" queryCommandState("stylewithcss") after 
+PASS [["stylewithcss","false"],["bold",""]] "<table><tbody><tr><td>foo<td>b[a]r<td>baz</table>" queryCommandValue("stylewithcss") after 
+PASS [["stylewithcss","false"],["bold",""]] "<table><tbody><tr><td>foo<td>b[a]r<td>baz</table>" queryCommandIndeterm("bold") before 
+PASS [["stylewithcss","false"],["bold",""]] "<table><tbody><tr><td>foo<td>b[a]r<td>baz</table>" queryCommandState("bold") before 
+FAIL [["stylewithcss","false"],["bold",""]] "<table><tbody><tr><td>foo<td>b[a]r<td>baz</table>" queryCommandValue("bold") before assert_equals: Wrong result returned expected "" but got "false"
+PASS [["stylewithcss","false"],["bold",""]] "<table><tbody><tr><td>foo<td>b[a]r<td>baz</table>" queryCommandIndeterm("bold") after 
+PASS [["stylewithcss","false"],["bold",""]] "<table><tbody><tr><td>foo<td>b[a]r<td>baz</table>" queryCommandState("bold") after 
+FAIL [["stylewithcss","false"],["bold",""]] "<table><tbody><tr><td>foo<td>b[a]r<td>baz</table>" queryCommandValue("bold") after assert_equals: Wrong result returned expected "" but got "true"
+PASS [["stylewithcss","true"],["bold",""]] "<table><tbody><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table>": execCommand("stylewithcss", false, "true") return value 
+PASS [["stylewithcss","true"],["bold",""]] "<table><tbody><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table>": execCommand("bold", false, "") return value 
+PASS [["stylewithcss","true"],["bold",""]] "<table><tbody><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table>" checks for modifications to non-editable content 
+PASS [["stylewithcss","true"],["bold",""]] "<table><tbody><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table>" compare innerHTML 
+PASS [["stylewithcss","true"],["bold",""]] "<table><tbody><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table>" queryCommandIndeterm("stylewithcss") before 
+PASS [["stylewithcss","true"],["bold",""]] "<table><tbody><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table>" queryCommandState("stylewithcss") before 
+PASS [["stylewithcss","true"],["bold",""]] "<table><tbody><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table>" queryCommandValue("stylewithcss") before 
+PASS [["stylewithcss","true"],["bold",""]] "<table><tbody><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table>" queryCommandIndeterm("stylewithcss") after 
+PASS [["stylewithcss","true"],["bold",""]] "<table><tbody><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table>" queryCommandState("stylewithcss") after 
+PASS [["stylewithcss","true"],["bold",""]] "<table><tbody><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table>" queryCommandValue("stylewithcss") after 
+PASS [["stylewithcss","true"],["bold",""]] "<table><tbody><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table>" queryCommandIndeterm("bold") before 
+PASS [["stylewithcss","true"],["bold",""]] "<table><tbody><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table>" queryCommandState("bold") before 
+FAIL [["stylewithcss","true"],["bold",""]] "<table><tbody><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table>" queryCommandValue("bold") before assert_equals: Wrong result returned expected "" but got "false"
+PASS [["stylewithcss","true"],["bold",""]] "<table><tbody><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table>" queryCommandIndeterm("bold") after 
+PASS [["stylewithcss","true"],["bold",""]] "<table><tbody><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table>" queryCommandState("bold") after 
+FAIL [["stylewithcss","true"],["bold",""]] "<table><tbody><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table>" queryCommandValue("bold") after assert_equals: Wrong result returned expected "" but got "true"
+PASS [["stylewithcss","false"],["bold",""]] "<table><tbody><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table>": execCommand("stylewithcss", false, "false") return value 
+PASS [["stylewithcss","false"],["bold",""]] "<table><tbody><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table>": execCommand("bold", false, "") return value 
+PASS [["stylewithcss","false"],["bold",""]] "<table><tbody><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table>" checks for modifications to non-editable content 
+PASS [["stylewithcss","false"],["bold",""]] "<table><tbody><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table>" compare innerHTML 
+PASS [["stylewithcss","false"],["bold",""]] "<table><tbody><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table>" queryCommandIndeterm("stylewithcss") before 
+PASS [["stylewithcss","false"],["bold",""]] "<table><tbody><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table>" queryCommandState("stylewithcss") before 
+PASS [["stylewithcss","false"],["bold",""]] "<table><tbody><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table>" queryCommandValue("stylewithcss") before 
+PASS [["stylewithcss","false"],["bold",""]] "<table><tbody><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table>" queryCommandIndeterm("stylewithcss") after 
+PASS [["stylewithcss","false"],["bold",""]] "<table><tbody><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table>" queryCommandState("stylewithcss") after 
+PASS [["stylewithcss","false"],["bold",""]] "<table><tbody><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table>" queryCommandValue("stylewithcss") after 
+PASS [["stylewithcss","false"],["bold",""]] "<table><tbody><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table>" queryCommandIndeterm("bold") before 
+PASS [["stylewithcss","false"],["bold",""]] "<table><tbody><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table>" queryCommandState("bold") before 
+FAIL [["stylewithcss","false"],["bold",""]] "<table><tbody><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table>" queryCommandValue("bold") before assert_equals: Wrong result returned expected "" but got "false"
+PASS [["stylewithcss","false"],["bold",""]] "<table><tbody><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table>" queryCommandIndeterm("bold") after 
+PASS [["stylewithcss","false"],["bold",""]] "<table><tbody><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table>" queryCommandState("bold") after 
+FAIL [["stylewithcss","false"],["bold",""]] "<table><tbody><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table>" queryCommandValue("bold") after assert_equals: Wrong result returned expected "" but got "true"
+PASS [["stylewithcss","true"],["bold",""]] "<table><tbody><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table>": execCommand("stylewithcss", false, "true") return value 
+PASS [["stylewithcss","true"],["bold",""]] "<table><tbody><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table>": execCommand("bold", false, "") return value 
+PASS [["stylewithcss","true"],["bold",""]] "<table><tbody><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table>" checks for modifications to non-editable content 
+PASS [["stylewithcss","true"],["bold",""]] "<table><tbody><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table>" compare innerHTML 
+PASS [["stylewithcss","true"],["bold",""]] "<table><tbody><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table>" queryCommandIndeterm("stylewithcss") before 
+PASS [["stylewithcss","true"],["bold",""]] "<table><tbody><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table>" queryCommandState("stylewithcss") before 
+PASS [["stylewithcss","true"],["bold",""]] "<table><tbody><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table>" queryCommandValue("stylewithcss") before 
+PASS [["stylewithcss","true"],["bold",""]] "<table><tbody><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table>" queryCommandIndeterm("stylewithcss") after 
+PASS [["stylewithcss","true"],["bold",""]] "<table><tbody><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table>" queryCommandState("stylewithcss") after 
+PASS [["stylewithcss","true"],["bold",""]] "<table><tbody><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table>" queryCommandValue("stylewithcss") after 
+PASS [["stylewithcss","true"],["bold",""]] "<table><tbody><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table>" queryCommandIndeterm("bold") before 
+PASS [["stylewithcss","true"],["bold",""]] "<table><tbody><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table>" queryCommandState("bold") before 
+FAIL [["stylewithcss","true"],["bold",""]] "<table><tbody><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table>" queryCommandValue("bold") before assert_equals: Wrong result returned expected "" but got "false"
+PASS [["stylewithcss","true"],["bold",""]] "<table><tbody><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table>" queryCommandIndeterm("bold") after 
+PASS [["stylewithcss","true"],["bold",""]] "<table><tbody><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table>" queryCommandState("bold") after 
+FAIL [["stylewithcss","true"],["bold",""]] "<table><tbody><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table>" queryCommandValue("bold") after assert_equals: Wrong result returned expected "" but got "true"
+PASS [["stylewithcss","false"],["bold",""]] "<table><tbody><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table>": execCommand("stylewithcss", false, "false") return value 
+PASS [["stylewithcss","false"],["bold",""]] "<table><tbody><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table>": execCommand("bold", false, "") return value 
+PASS [["stylewithcss","false"],["bold",""]] "<table><tbody><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table>" checks for modifications to non-editable content 
+PASS [["stylewithcss","false"],["bold",""]] "<table><tbody><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table>" compare innerHTML 
+PASS [["stylewithcss","false"],["bold",""]] "<table><tbody><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table>" queryCommandIndeterm("stylewithcss") before 
+PASS [["stylewithcss","false"],["bold",""]] "<table><tbody><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table>" queryCommandState("stylewithcss") before 
+PASS [["stylewithcss","false"],["bold",""]] "<table><tbody><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table>" queryCommandValue("stylewithcss") before 
+PASS [["stylewithcss","false"],["bold",""]] "<table><tbody><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table>" queryCommandIndeterm("stylewithcss") after 
+PASS [["stylewithcss","false"],["bold",""]] "<table><tbody><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table>" queryCommandState("stylewithcss") after 
+PASS [["stylewithcss","false"],["bold",""]] "<table><tbody><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table>" queryCommandValue("stylewithcss") after 
+PASS [["stylewithcss","false"],["bold",""]] "<table><tbody><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table>" queryCommandIndeterm("bold") before 
+PASS [["stylewithcss","false"],["bold",""]] "<table><tbody><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table>" queryCommandState("bold") before 
+FAIL [["stylewithcss","false"],["bold",""]] "<table><tbody><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table>" queryCommandValue("bold") before assert_equals: Wrong result returned expected "" but got "false"
+PASS [["stylewithcss","false"],["bold",""]] "<table><tbody><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table>" queryCommandIndeterm("bold") after 
+PASS [["stylewithcss","false"],["bold",""]] "<table><tbody><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table>" queryCommandState("bold") after 
+FAIL [["stylewithcss","false"],["bold",""]] "<table><tbody><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table>" queryCommandValue("bold") after assert_equals: Wrong result returned expected "" but got "true"
+PASS [["stylewithcss","true"],["bold",""]] "<table><tbody data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table>": execCommand("stylewithcss", false, "true") return value 
+PASS [["stylewithcss","true"],["bold",""]] "<table><tbody data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table>": execCommand("bold", false, "") return value 
+PASS [["stylewithcss","true"],["bold",""]] "<table><tbody data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table>" checks for modifications to non-editable content 
+PASS [["stylewithcss","true"],["bold",""]] "<table><tbody data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table>" compare innerHTML 
+PASS [["stylewithcss","true"],["bold",""]] "<table><tbody data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table>" queryCommandIndeterm("stylewithcss") before 
+PASS [["stylewithcss","true"],["bold",""]] "<table><tbody data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table>" queryCommandState("stylewithcss") before 
+PASS [["stylewithcss","true"],["bold",""]] "<table><tbody data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table>" queryCommandValue("stylewithcss") before 
+PASS [["stylewithcss","true"],["bold",""]] "<table><tbody data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table>" queryCommandIndeterm("stylewithcss") after 
+PASS [["stylewithcss","true"],["bold",""]] "<table><tbody data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table>" queryCommandState("stylewithcss") after 
+PASS [["stylewithcss","true"],["bold",""]] "<table><tbody data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table>" queryCommandValue("stylewithcss") after 
+PASS [["stylewithcss","true"],["bold",""]] "<table><tbody data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table>" queryCommandIndeterm("bold") before 
+PASS [["stylewithcss","true"],["bold",""]] "<table><tbody data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table>" queryCommandState("bold") before 
+FAIL [["stylewithcss","true"],["bold",""]] "<table><tbody data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table>" queryCommandValue("bold") before assert_equals: Wrong result returned expected "" but got "false"
+PASS [["stylewithcss","true"],["bold",""]] "<table><tbody data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table>" queryCommandIndeterm("bold") after 
+PASS [["stylewithcss","true"],["bold",""]] "<table><tbody data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table>" queryCommandState("bold") after 
+FAIL [["stylewithcss","true"],["bold",""]] "<table><tbody data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table>" queryCommandValue("bold") after assert_equals: Wrong result returned expected "" but got "true"
+PASS [["stylewithcss","false"],["bold",""]] "<table><tbody data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table>": execCommand("stylewithcss", false, "false") return value 
+PASS [["stylewithcss","false"],["bold",""]] "<table><tbody data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table>": execCommand("bold", false, "") return value 
+PASS [["stylewithcss","false"],["bold",""]] "<table><tbody data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table>" checks for modifications to non-editable content 
+PASS [["stylewithcss","false"],["bold",""]] "<table><tbody data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table>" compare innerHTML 
+PASS [["stylewithcss","false"],["bold",""]] "<table><tbody data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table>" queryCommandIndeterm("stylewithcss") before 
+PASS [["stylewithcss","false"],["bold",""]] "<table><tbody data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table>" queryCommandState("stylewithcss") before 
+PASS [["stylewithcss","false"],["bold",""]] "<table><tbody data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table>" queryCommandValue("stylewithcss") before 
+PASS [["stylewithcss","false"],["bold",""]] "<table><tbody data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table>" queryCommandIndeterm("stylewithcss") after 
+PASS [["stylewithcss","false"],["bold",""]] "<table><tbody data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table>" queryCommandState("stylewithcss") after 
+PASS [["stylewithcss","false"],["bold",""]] "<table><tbody data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table>" queryCommandValue("stylewithcss") after 
+PASS [["stylewithcss","false"],["bold",""]] "<table><tbody data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table>" queryCommandIndeterm("bold") before 
+PASS [["stylewithcss","false"],["bold",""]] "<table><tbody data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table>" queryCommandState("bold") before 
+FAIL [["stylewithcss","false"],["bold",""]] "<table><tbody data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table>" queryCommandValue("bold") before assert_equals: Wrong result returned expected "" but got "false"
+PASS [["stylewithcss","false"],["bold",""]] "<table><tbody data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table>" queryCommandIndeterm("bold") after 
+PASS [["stylewithcss","false"],["bold",""]] "<table><tbody data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table>" queryCommandState("bold") after 
+FAIL [["stylewithcss","false"],["bold",""]] "<table><tbody data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table>" queryCommandValue("bold") after assert_equals: Wrong result returned expected "" but got "true"
+PASS [["stylewithcss","true"],["bold",""]] "<table data-start=0 data-end=1><tbody><tr><td>foo<td>bar<td>baz</table>": execCommand("stylewithcss", false, "true") return value 
+PASS [["stylewithcss","true"],["bold",""]] "<table data-start=0 data-end=1><tbody><tr><td>foo<td>bar<td>baz</table>": execCommand("bold", false, "") return value 
+PASS [["stylewithcss","true"],["bold",""]] "<table data-start=0 data-end=1><tbody><tr><td>foo<td>bar<td>baz</table>" checks for modifications to non-editable content 
+PASS [["stylewithcss","true"],["bold",""]] "<table data-start=0 data-end=1><tbody><tr><td>foo<td>bar<td>baz</table>" compare innerHTML 
+PASS [["stylewithcss","true"],["bold",""]] "<table data-start=0 data-end=1><tbody><tr><td>foo<td>bar<td>baz</table>" queryCommandIndeterm("stylewithcss") before 
+PASS [["stylewithcss","true"],["bold",""]] "<table data-start=0 data-end=1><tbody><tr><td>foo<td>bar<td>baz</table>" queryCommandState("stylewithcss") before 
+PASS [["stylewithcss","true"],["bold",""]] "<table data-start=0 data-end=1><tbody><tr><td>foo<td>bar<td>baz</table>" queryCommandValue("stylewithcss") before 
+PASS [["stylewithcss","true"],["bold",""]] "<table data-start=0 data-end=1><tbody><tr><td>foo<td>bar<td>baz</table>" queryCommandIndeterm("stylewithcss") after 
+PASS [["stylewithcss","true"],["bold",""]] "<table data-start=0 data-end=1><tbody><tr><td>foo<td>bar<td>baz</table>" queryCommandState("stylewithcss") after 
+PASS [["stylewithcss","true"],["bold",""]] "<table data-start=0 data-end=1><tbody><tr><td>foo<td>bar<td>baz</table>" queryCommandValue("stylewithcss") after 
+PASS [["stylewithcss","true"],["bold",""]] "<table data-start=0 data-end=1><tbody><tr><td>foo<td>bar<td>baz</table>" queryCommandIndeterm("bold") before 
+PASS [["stylewithcss","true"],["bold",""]] "<table data-start=0 data-end=1><tbody><tr><td>foo<td>bar<td>baz</table>" queryCommandState("bold") before 
+FAIL [["stylewithcss","true"],["bold",""]] "<table data-start=0 data-end=1><tbody><tr><td>foo<td>bar<td>baz</table>" queryCommandValue("bold") before assert_equals: Wrong result returned expected "" but got "false"
+PASS [["stylewithcss","true"],["bold",""]] "<table data-start=0 data-end=1><tbody><tr><td>foo<td>bar<td>baz</table>" queryCommandIndeterm("bold") after 
+FAIL [["stylewithcss","true"],["bold",""]] "<table data-start=0 data-end=1><tbody><tr><td>foo<td>bar<td>baz</table>" queryCommandState("bold") after assert_equals: Wrong result returned expected true but got false
+FAIL [["stylewithcss","true"],["bold",""]] "<table data-start=0 data-end=1><tbody><tr><td>foo<td>bar<td>baz</table>" queryCommandValue("bold") after assert_equals: Wrong result returned expected "" but got "false"
+PASS [["stylewithcss","false"],["bold",""]] "<table data-start=0 data-end=1><tbody><tr><td>foo<td>bar<td>baz</table>": execCommand("stylewithcss", false, "false") return value 
+PASS [["stylewithcss","false"],["bold",""]] "<table data-start=0 data-end=1><tbody><tr><td>foo<td>bar<td>baz</table>": execCommand("bold", false, "") return value 
+PASS [["stylewithcss","false"],["bold",""]] "<table data-start=0 data-end=1><tbody><tr><td>foo<td>bar<td>baz</table>" checks for modifications to non-editable content 
+PASS [["stylewithcss","false"],["bold",""]] "<table data-start=0 data-end=1><tbody><tr><td>foo<td>bar<td>baz</table>" compare innerHTML 
+PASS [["stylewithcss","false"],["bold",""]] "<table data-start=0 data-end=1><tbody><tr><td>foo<td>bar<td>baz</table>" queryCommandIndeterm("stylewithcss") before 
+PASS [["stylewithcss","false"],["bold",""]] "<table data-start=0 data-end=1><tbody><tr><td>foo<td>bar<td>baz</table>" queryCommandState("stylewithcss") before 
+PASS [["stylewithcss","false"],["bold",""]] "<table data-start=0 data-end=1><tbody><tr><td>foo<td>bar<td>baz</table>" queryCommandValue("stylewithcss") before 
+PASS [["stylewithcss","false"],["bold",""]] "<table data-start=0 data-end=1><tbody><tr><td>foo<td>bar<td>baz</table>" queryCommandIndeterm("stylewithcss") after 
+PASS [["stylewithcss","false"],["bold",""]] "<table data-start=0 data-end=1><tbody><tr><td>foo<td>bar<td>baz</table>" queryCommandState("stylewithcss") after 
+PASS [["stylewithcss","false"],["bold",""]] "<table data-start=0 data-end=1><tbody><tr><td>foo<td>bar<td>baz</table>" queryCommandValue("stylewithcss") after 
+PASS [["stylewithcss","false"],["bold",""]] "<table data-start=0 data-end=1><tbody><tr><td>foo<td>bar<td>baz</table>" queryCommandIndeterm("bold") before 
+PASS [["stylewithcss","false"],["bold",""]] "<table data-start=0 data-end=1><tbody><tr><td>foo<td>bar<td>baz</table>" queryCommandState("bold") before 
+FAIL [["stylewithcss","false"],["bold",""]] "<table data-start=0 data-end=1><tbody><tr><td>foo<td>bar<td>baz</table>" queryCommandValue("bold") before assert_equals: Wrong result returned expected "" but got "false"
+PASS [["stylewithcss","false"],["bold",""]] "<table data-start=0 data-end=1><tbody><tr><td>foo<td>bar<td>baz</table>" queryCommandIndeterm("bold") after 
+FAIL [["stylewithcss","false"],["bold",""]] "<table data-start=0 data-end=1><tbody><tr><td>foo<td>bar<td>baz</table>" queryCommandState("bold") after assert_equals: Wrong result returned expected true but got false
+FAIL [["stylewithcss","false"],["bold",""]] "<table data-start=0 data-end=1><tbody><tr><td>foo<td>bar<td>baz</table>" queryCommandValue("bold") after assert_equals: Wrong result returned expected "" but got "false"
+PASS [["stylewithcss","true"],["bold",""]] "{<table><tr><td>foo<td>bar<td>baz</table>}": execCommand("stylewithcss", false, "true") return value 
+PASS [["stylewithcss","true"],["bold",""]] "{<table><tr><td>foo<td>bar<td>baz</table>}": execCommand("bold", false, "") return value 
+PASS [["stylewithcss","true"],["bold",""]] "{<table><tr><td>foo<td>bar<td>baz</table>}" checks for modifications to non-editable content 
+PASS [["stylewithcss","true"],["bold",""]] "{<table><tr><td>foo<td>bar<td>baz</table>}" compare innerHTML 
+PASS [["stylewithcss","true"],["bold",""]] "{<table><tr><td>foo<td>bar<td>baz</table>}" queryCommandIndeterm("stylewithcss") before 
+PASS [["stylewithcss","true"],["bold",""]] "{<table><tr><td>foo<td>bar<td>baz</table>}" queryCommandState("stylewithcss") before 
+PASS [["stylewithcss","true"],["bold",""]] "{<table><tr><td>foo<td>bar<td>baz</table>}" queryCommandValue("stylewithcss") before 
+PASS [["stylewithcss","true"],["bold",""]] "{<table><tr><td>foo<td>bar<td>baz</table>}" queryCommandIndeterm("stylewithcss") after 
+PASS [["stylewithcss","true"],["bold",""]] "{<table><tr><td>foo<td>bar<td>baz</table>}" queryCommandState("stylewithcss") after 
+PASS [["stylewithcss","true"],["bold",""]] "{<table><tr><td>foo<td>bar<td>baz</table>}" queryCommandValue("stylewithcss") after 
+PASS [["stylewithcss","true"],["bold",""]] "{<table><tr><td>foo<td>bar<td>baz</table>}" queryCommandIndeterm("bold") before 
+PASS [["stylewithcss","true"],["bold",""]] "{<table><tr><td>foo<td>bar<td>baz</table>}" queryCommandState("bold") before 
+FAIL [["stylewithcss","true"],["bold",""]] "{<table><tr><td>foo<td>bar<td>baz</table>}" queryCommandValue("bold") before assert_equals: Wrong result returned expected "" but got "false"
+PASS [["stylewithcss","true"],["bold",""]] "{<table><tr><td>foo<td>bar<td>baz</table>}" queryCommandIndeterm("bold") after 
+FAIL [["stylewithcss","true"],["bold",""]] "{<table><tr><td>foo<td>bar<td>baz</table>}" queryCommandState("bold") after assert_equals: Wrong result returned expected true but got false
+FAIL [["stylewithcss","true"],["bold",""]] "{<table><tr><td>foo<td>bar<td>baz</table>}" queryCommandValue("bold") after assert_equals: Wrong result returned expected "" but got "false"
+PASS [["stylewithcss","false"],["bold",""]] "{<table><tr><td>foo<td>bar<td>baz</table>}": execCommand("stylewithcss", false, "false") return value 
+PASS [["stylewithcss","false"],["bold",""]] "{<table><tr><td>foo<td>bar<td>baz</table>}": execCommand("bold", false, "") return value 
+PASS [["stylewithcss","false"],["bold",""]] "{<table><tr><td>foo<td>bar<td>baz</table>}" checks for modifications to non-editable content 
+PASS [["stylewithcss","false"],["bold",""]] "{<table><tr><td>foo<td>bar<td>baz</table>}" compare innerHTML 
+PASS [["stylewithcss","false"],["bold",""]] "{<table><tr><td>foo<td>bar<td>baz</table>}" queryCommandIndeterm("stylewithcss") before 
+PASS [["stylewithcss","false"],["bold",""]] "{<table><tr><td>foo<td>bar<td>baz</table>}" queryCommandState("stylewithcss") before 
+PASS [["stylewithcss","false"],["bold",""]] "{<table><tr><td>foo<td>bar<td>baz</table>}" queryCommandValue("stylewithcss") before 
+PASS [["stylewithcss","false"],["bold",""]] "{<table><tr><td>foo<td>bar<td>baz</table>}" queryCommandIndeterm("stylewithcss") after 
+PASS [["stylewithcss","false"],["bold",""]] "{<table><tr><td>foo<td>bar<td>baz</table>}" queryCommandState("stylewithcss") after 
+PASS [["stylewithcss","false"],["bold",""]] "{<table><tr><td>foo<td>bar<td>baz</table>}" queryCommandValue("stylewithcss") after 
+PASS [["stylewithcss","false"],["bold",""]] "{<table><tr><td>foo<td>bar<td>baz</table>}" queryCommandIndeterm("bold") before 
+PASS [["stylewithcss","false"],["bold",""]] "{<table><tr><td>foo<td>bar<td>baz</table>}" queryCommandState("bold") before 
+FAIL [["stylewithcss","false"],["bold",""]] "{<table><tr><td>foo<td>bar<td>baz</table>}" queryCommandValue("bold") before assert_equals: Wrong result returned expected "" but got "false"
+PASS [["stylewithcss","false"],["bold",""]] "{<table><tr><td>foo<td>bar<td>baz</table>}" queryCommandIndeterm("bold") after 
+FAIL [["stylewithcss","false"],["bold",""]] "{<table><tr><td>foo<td>bar<td>baz</table>}" queryCommandState("bold") after assert_equals: Wrong result returned expected true but got false
+FAIL [["stylewithcss","false"],["bold",""]] "{<table><tr><td>foo<td>bar<td>baz</table>}" queryCommandValue("bold") after assert_equals: Wrong result returned expected "" but got "false"
+PASS [["stylewithcss","true"],["bold",""]] "foo<span style=\"font-weight: bold\">[bar]</span>baz": execCommand("stylewithcss", false, "true") return value 
+PASS [["stylewithcss","true"],["bold",""]] "foo<span style=\"font-weight: bold\">[bar]</span>baz": execCommand("bold", false, "") return value 
+PASS [["stylewithcss","true"],["bold",""]] "foo<span style=\"font-weight: bold\">[bar]</span>baz" checks for modifications to non-editable content 
+PASS [["stylewithcss","true"],["bold",""]] "foo<span style=\"font-weight: bold\">[bar]</span>baz" compare innerHTML 
+PASS [["stylewithcss","true"],["bold",""]] "foo<span style=\"font-weight: bold\">[bar]</span>baz" queryCommandIndeterm("stylewithcss") before 
+PASS [["stylewithcss","true"],["bold",""]] "foo<span style=\"font-weight: bold\">[bar]</span>baz" queryCommandState("stylewithcss") before 
+PASS [["stylewithcss","true"],["bold",""]] "foo<span style=\"font-weight: bold\">[bar]</span>baz" queryCommandValue("stylewithcss") before 
+PASS [["stylewithcss","true"],["bold",""]] "foo<span style=\"font-weight: bold\">[bar]</span>baz" queryCommandIndeterm("stylewithcss") after 
+PASS [["stylewithcss","true"],["bold",""]] "foo<span style=\"font-weight: bold\">[bar]</span>baz" queryCommandState("stylewithcss") after 
+PASS [["stylewithcss","true"],["bold",""]] "foo<span style=\"font-weight: bold\">[bar]</span>baz" queryCommandValue("stylewithcss") after 
+PASS [["stylewithcss","true"],["bold",""]] "foo<span style=\"font-weight: bold\">[bar]</span>baz" queryCommandIndeterm("bold") before 
+PASS [["stylewithcss","true"],["bold",""]] "foo<span style=\"font-weight: bold\">[bar]</span>baz" queryCommandState("bold") before 
+FAIL [["stylewithcss","true"],["bold",""]] "foo<span style=\"font-weight: bold\">[bar]</span>baz" queryCommandValue("bold") before assert_equals: Wrong result returned expected "" but got "true"
+PASS [["stylewithcss","true"],["bold",""]] "foo<span style=\"font-weight: bold\">[bar]</span>baz" queryCommandIndeterm("bold") after 
+PASS [["stylewithcss","true"],["bold",""]] "foo<span style=\"font-weight: bold\">[bar]</span>baz" queryCommandState("bold") after 
+FAIL [["stylewithcss","true"],["bold",""]] "foo<span style=\"font-weight: bold\">[bar]</span>baz" queryCommandValue("bold") after assert_equals: Wrong result returned expected "" but got "false"
+PASS [["stylewithcss","false"],["bold",""]] "foo<span style=\"font-weight: bold\">[bar]</span>baz": execCommand("stylewithcss", false, "false") return value 
+PASS [["stylewithcss","false"],["bold",""]] "foo<span style=\"font-weight: bold\">[bar]</span>baz": execCommand("bold", false, "") return value 
+PASS [["stylewithcss","false"],["bold",""]] "foo<span style=\"font-weight: bold\">[bar]</span>baz" checks for modifications to non-editable content 
+PASS [["stylewithcss","false"],["bold",""]] "foo<span style=\"font-weight: bold\">[bar]</span>baz" compare innerHTML 
+PASS [["stylewithcss","false"],["bold",""]] "foo<span style=\"font-weight: bold\">[bar]</span>baz" queryCommandIndeterm("stylewithcss") before 
+PASS [["stylewithcss","false"],["bold",""]] "foo<span style=\"font-weight: bold\">[bar]</span>baz" queryCommandState("stylewithcss") before 
+PASS [["stylewithcss","false"],["bold",""]] "foo<span style=\"font-weight: bold\">[bar]</span>baz" queryCommandValue("stylewithcss") before 
+PASS [["stylewithcss","false"],["bold",""]] "foo<span style=\"font-weight: bold\">[bar]</span>baz" queryCommandIndeterm("stylewithcss") after 
+PASS [["stylewithcss","false"],["bold",""]] "foo<span style=\"font-weight: bold\">[bar]</span>baz" queryCommandState("stylewithcss") after 
+PASS [["stylewithcss","false"],["bold",""]] "foo<span style=\"font-weight: bold\">[bar]</span>baz" queryCommandValue("stylewithcss") after 
+PASS [["stylewithcss","false"],["bold",""]] "foo<span style=\"font-weight: bold\">[bar]</span>baz" queryCommandIndeterm("bold") before 
+PASS [["stylewithcss","false"],["bold",""]] "foo<span style=\"font-weight: bold\">[bar]</span>baz" queryCommandState("bold") before 
+FAIL [["stylewithcss","false"],["bold",""]] "foo<span style=\"font-weight: bold\">[bar]</span>baz" queryCommandValue("bold") before assert_equals: Wrong result returned expected "" but got "true"
+PASS [["stylewithcss","false"],["bold",""]] "foo<span style=\"font-weight: bold\">[bar]</span>baz" queryCommandIndeterm("bold") after 
+PASS [["stylewithcss","false"],["bold",""]] "foo<span style=\"font-weight: bold\">[bar]</span>baz" queryCommandState("bold") after 
+FAIL [["stylewithcss","false"],["bold",""]] "foo<span style=\"font-weight: bold\">[bar]</span>baz" queryCommandValue("bold") after assert_equals: Wrong result returned expected "" but got "false"
+PASS [["stylewithcss","true"],["bold",""]] "foo<b>[bar]</b>baz": execCommand("stylewithcss", false, "true") return value 
+PASS [["stylewithcss","true"],["bold",""]] "foo<b>[bar]</b>baz": execCommand("bold", false, "") return value 
+PASS [["stylewithcss","true"],["bold",""]] "foo<b>[bar]</b>baz" checks for modifications to non-editable content 
+PASS [["stylewithcss","true"],["bold",""]] "foo<b>[bar]</b>baz" compare innerHTML 
+PASS [["stylewithcss","true"],["bold",""]] "foo<b>[bar]</b>baz" queryCommandIndeterm("stylewithcss") before 
+PASS [["stylewithcss","true"],["bold",""]] "foo<b>[bar]</b>baz" queryCommandState("stylewithcss") before 
+PASS [["stylewithcss","true"],["bold",""]] "foo<b>[bar]</b>baz" queryCommandValue("stylewithcss") before 
+PASS [["stylewithcss","true"],["bold",""]] "foo<b>[bar]</b>baz" queryCommandIndeterm("stylewithcss") after 
+PASS [["stylewithcss","true"],["bold",""]] "foo<b>[bar]</b>baz" queryCommandState("stylewithcss") after 
+PASS [["stylewithcss","true"],["bold",""]] "foo<b>[bar]</b>baz" queryCommandValue("stylewithcss") after 
+PASS [["stylewithcss","true"],["bold",""]] "foo<b>[bar]</b>baz" queryCommandIndeterm("bold") before 
+PASS [["stylewithcss","true"],["bold",""]] "foo<b>[bar]</b>baz" queryCommandState("bold") before 
+FAIL [["stylewithcss","true"],["bold",""]] "foo<b>[bar]</b>baz" queryCommandValue("bold") before assert_equals: Wrong result returned expected "" but got "true"
+PASS [["stylewithcss","true"],["bold",""]] "foo<b>[bar]</b>baz" queryCommandIndeterm("bold") after 
+PASS [["stylewithcss","true"],["bold",""]] "foo<b>[bar]</b>baz" queryCommandState("bold") after 
+FAIL [["stylewithcss","true"],["bold",""]] "foo<b>[bar]</b>baz" queryCommandValue("bold") after assert_equals: Wrong result returned expected "" but got "false"
+PASS [["stylewithcss","false"],["bold",""]] "foo<b>[bar]</b>baz": execCommand("stylewithcss", false, "false") return value 
+PASS [["stylewithcss","false"],["bold",""]] "foo<b>[bar]</b>baz": execCommand("bold", false, "") return value 
+PASS [["stylewithcss","false"],["bold",""]] "foo<b>[bar]</b>baz" checks for modifications to non-editable content 
+PASS [["stylewithcss","false"],["bold",""]] "foo<b>[bar]</b>baz" compare innerHTML 
+PASS [["stylewithcss","false"],["bold",""]] "foo<b>[bar]</b>baz" queryCommandIndeterm("stylewithcss") before 
+PASS [["stylewithcss","false"],["bold",""]] "foo<b>[bar]</b>baz" queryCommandState("stylewithcss") before 
+PASS [["stylewithcss","false"],["bold",""]] "foo<b>[bar]</b>baz" queryCommandValue("stylewithcss") before 
+PASS [["stylewithcss","false"],["bold",""]] "foo<b>[bar]</b>baz" queryCommandIndeterm("stylewithcss") after 
+PASS [["stylewithcss","false"],["bold",""]] "foo<b>[bar]</b>baz" queryCommandState("stylewithcss") after 
+PASS [["stylewithcss","false"],["bold",""]] "foo<b>[bar]</b>baz" queryCommandValue("stylewithcss") after 
+PASS [["stylewithcss","false"],["bold",""]] "foo<b>[bar]</b>baz" queryCommandIndeterm("bold") before 
+PASS [["stylewithcss","false"],["bold",""]] "foo<b>[bar]</b>baz" queryCommandState("bold") before 
+FAIL [["stylewithcss","false"],["bold",""]] "foo<b>[bar]</b>baz" queryCommandValue("bold") before assert_equals: Wrong result returned expected "" but got "true"
+PASS [["stylewithcss","false"],["bold",""]] "foo<b>[bar]</b>baz" queryCommandIndeterm("bold") after 
+PASS [["stylewithcss","false"],["bold",""]] "foo<b>[bar]</b>baz" queryCommandState("bold") after 
+FAIL [["stylewithcss","false"],["bold",""]] "foo<b>[bar]</b>baz" queryCommandValue("bold") after assert_equals: Wrong result returned expected "" but got "false"
+PASS [["bold",""]] "foo<b>bar</b>[baz]": execCommand("bold", false, "") return value 
+PASS [["bold",""]] "foo<b>bar</b>[baz]" checks for modifications to non-editable content 
+PASS [["bold",""]] "foo<b>bar</b>[baz]" compare innerHTML 
+PASS [["bold",""]] "foo<b>bar</b>[baz]" queryCommandIndeterm("bold") before 
+PASS [["bold",""]] "foo<b>bar</b>[baz]" queryCommandState("bold") before 
+FAIL [["bold",""]] "foo<b>bar</b>[baz]" queryCommandValue("bold") before assert_equals: Wrong result returned expected "" but got "false"
+PASS [["bold",""]] "foo<b>bar</b>[baz]" queryCommandIndeterm("bold") after 
+PASS [["bold",""]] "foo<b>bar</b>[baz]" queryCommandState("bold") after 
+FAIL [["bold",""]] "foo<b>bar</b>[baz]" queryCommandValue("bold") after assert_equals: Wrong result returned expected "" but got "true"
+PASS [["bold",""]] "[foo]<b>bar</b>baz": execCommand("bold", false, "") return value 
+PASS [["bold",""]] "[foo]<b>bar</b>baz" checks for modifications to non-editable content 
+PASS [["bold",""]] "[foo]<b>bar</b>baz" compare innerHTML 
+PASS [["bold",""]] "[foo]<b>bar</b>baz" queryCommandIndeterm("bold") before 
+PASS [["bold",""]] "[foo]<b>bar</b>baz" queryCommandState("bold") before 
+FAIL [["bold",""]] "[foo]<b>bar</b>baz" queryCommandValue("bold") before assert_equals: Wrong result returned expected "" but got "false"
+PASS [["bold",""]] "[foo]<b>bar</b>baz" queryCommandIndeterm("bold") after 
+PASS [["bold",""]] "[foo]<b>bar</b>baz" queryCommandState("bold") after 
+FAIL [["bold",""]] "[foo]<b>bar</b>baz" queryCommandValue("bold") after assert_equals: Wrong result returned expected "" but got "true"
+PASS [["stylewithcss","true"],["bold",""]] "<b>foo</b>[bar]<b>baz</b>": execCommand("stylewithcss", false, "true") return value 
+PASS [["stylewithcss","true"],["bold",""]] "<b>foo</b>[bar]<b>baz</b>": execCommand("bold", false, "") return value 
+PASS [["stylewithcss","true"],["bold",""]] "<b>foo</b>[bar]<b>baz</b>" checks for modifications to non-editable content 
+FAIL [["stylewithcss","true"],["bold",""]] "<b>foo</b>[bar]<b>baz</b>" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<b>foobarbaz</b>" but got "<b>foo</b><span style=\"font-weight:bold\">bar</span><b>baz</b>"
+PASS [["stylewithcss","true"],["bold",""]] "<b>foo</b>[bar]<b>baz</b>" queryCommandIndeterm("stylewithcss") before 
+PASS [["stylewithcss","true"],["bold",""]] "<b>foo</b>[bar]<b>baz</b>" queryCommandState("stylewithcss") before 
+PASS [["stylewithcss","true"],["bold",""]] "<b>foo</b>[bar]<b>baz</b>" queryCommandValue("stylewithcss") before 
+PASS [["stylewithcss","true"],["bold",""]] "<b>foo</b>[bar]<b>baz</b>" queryCommandIndeterm("stylewithcss") after 
+PASS [["stylewithcss","true"],["bold",""]] "<b>foo</b>[bar]<b>baz</b>" queryCommandState("stylewithcss") after 
+PASS [["stylewithcss","true"],["bold",""]] "<b>foo</b>[bar]<b>baz</b>" queryCommandValue("stylewithcss") after 
+PASS [["stylewithcss","true"],["bold",""]] "<b>foo</b>[bar]<b>baz</b>" queryCommandIndeterm("bold") before 
+PASS [["stylewithcss","true"],["bold",""]] "<b>foo</b>[bar]<b>baz</b>" queryCommandState("bold") before 
+FAIL [["stylewithcss","true"],["bold",""]] "<b>foo</b>[bar]<b>baz</b>" queryCommandValue("bold") before assert_equals: Wrong result returned expected "" but got "false"
+PASS [["stylewithcss","true"],["bold",""]] "<b>foo</b>[bar]<b>baz</b>" queryCommandIndeterm("bold") after 
+PASS [["stylewithcss","true"],["bold",""]] "<b>foo</b>[bar]<b>baz</b>" queryCommandState("bold") after 
+FAIL [["stylewithcss","true"],["bold",""]] "<b>foo</b>[bar]<b>baz</b>" queryCommandValue("bold") after assert_equals: Wrong result returned expected "" but got "true"
+PASS [["stylewithcss","false"],["bold",""]] "<b>foo</b>[bar]<b>baz</b>": execCommand("stylewithcss", false, "false") return value 
+PASS [["stylewithcss","false"],["bold",""]] "<b>foo</b>[bar]<b>baz</b>": execCommand("bold", false, "") return value 
+PASS [["stylewithcss","false"],["bold",""]] "<b>foo</b>[bar]<b>baz</b>" checks for modifications to non-editable content 
+PASS [["stylewithcss","false"],["bold",""]] "<b>foo</b>[bar]<b>baz</b>" compare innerHTML 
+PASS [["stylewithcss","false"],["bold",""]] "<b>foo</b>[bar]<b>baz</b>" queryCommandIndeterm("stylewithcss") before 
+PASS [["stylewithcss","false"],["bold",""]] "<b>foo</b>[bar]<b>baz</b>" queryCommandState("stylewithcss") before 
+PASS [["stylewithcss","false"],["bold",""]] "<b>foo</b>[bar]<b>baz</b>" queryCommandValue("stylewithcss") before 
+PASS [["stylewithcss","false"],["bold",""]] "<b>foo</b>[bar]<b>baz</b>" queryCommandIndeterm("stylewithcss") after 
+PASS [["stylewithcss","false"],["bold",""]] "<b>foo</b>[bar]<b>baz</b>" queryCommandState("stylewithcss") after 
+PASS [["stylewithcss","false"],["bold",""]] "<b>foo</b>[bar]<b>baz</b>" queryCommandValue("stylewithcss") after 
+PASS [["stylewithcss","false"],["bold",""]] "<b>foo</b>[bar]<b>baz</b>" queryCommandIndeterm("bold") before 
+PASS [["stylewithcss","false"],["bold",""]] "<b>foo</b>[bar]<b>baz</b>" queryCommandState("bold") before 
+FAIL [["stylewithcss","false"],["bold",""]] "<b>foo</b>[bar]<b>baz</b>" queryCommandValue("bold") before assert_equals: Wrong result returned expected "" but got "false"
+PASS [["stylewithcss","false"],["bold",""]] "<b>foo</b>[bar]<b>baz</b>" queryCommandIndeterm("bold") after 
+PASS [["stylewithcss","false"],["bold",""]] "<b>foo</b>[bar]<b>baz</b>" queryCommandState("bold") after 
+FAIL [["stylewithcss","false"],["bold",""]] "<b>foo</b>[bar]<b>baz</b>" queryCommandValue("bold") after assert_equals: Wrong result returned expected "" but got "true"
+PASS [["bold",""]] "foo<strong>bar</strong>[baz]": execCommand("bold", false, "") return value 
+PASS [["bold",""]] "foo<strong>bar</strong>[baz]" checks for modifications to non-editable content 
+FAIL [["bold",""]] "foo<strong>bar</strong>[baz]" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "foo<strong>barbaz</strong>" but got "foo<strong>bar</strong><b>baz</b>"
+PASS [["bold",""]] "foo<strong>bar</strong>[baz]" queryCommandIndeterm("bold") before 
+PASS [["bold",""]] "foo<strong>bar</strong>[baz]" queryCommandState("bold") before 
+FAIL [["bold",""]] "foo<strong>bar</strong>[baz]" queryCommandValue("bold") before assert_equals: Wrong result returned expected "" but got "false"
+PASS [["bold",""]] "foo<strong>bar</strong>[baz]" queryCommandIndeterm("bold") after 
+PASS [["bold",""]] "foo<strong>bar</strong>[baz]" queryCommandState("bold") after 
+FAIL [["bold",""]] "foo<strong>bar</strong>[baz]" queryCommandValue("bold") after assert_equals: Wrong result returned expected "" but got "true"
+PASS [["bold",""]] "[foo]<strong>bar</strong>baz": execCommand("bold", false, "") return value 
+PASS [["bold",""]] "[foo]<strong>bar</strong>baz" checks for modifications to non-editable content 
+FAIL [["bold",""]] "[foo]<strong>bar</strong>baz" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<strong>foobar</strong>baz" but got "<b>foo</b><strong>bar</strong>baz"
+PASS [["bold",""]] "[foo]<strong>bar</strong>baz" queryCommandIndeterm("bold") before 
+PASS [["bold",""]] "[foo]<strong>bar</strong>baz" queryCommandState("bold") before 
+FAIL [["bold",""]] "[foo]<strong>bar</strong>baz" queryCommandValue("bold") before assert_equals: Wrong result returned expected "" but got "false"
+PASS [["bold",""]] "[foo]<strong>bar</strong>baz" queryCommandIndeterm("bold") after 
+PASS [["bold",""]] "[foo]<strong>bar</strong>baz" queryCommandState("bold") after 
+FAIL [["bold",""]] "[foo]<strong>bar</strong>baz" queryCommandValue("bold") after assert_equals: Wrong result returned expected "" but got "true"
+PASS [["bold",""]] "<strong>foo</strong>[bar]<strong>baz</strong>": execCommand("bold", false, "") return value 
+PASS [["bold",""]] "<strong>foo</strong>[bar]<strong>baz</strong>" checks for modifications to non-editable content 
+FAIL [["bold",""]] "<strong>foo</strong>[bar]<strong>baz</strong>" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<strong>foobarbaz</strong>" but got "<strong>foo</strong><b>bar</b><strong>baz</strong>"
+PASS [["bold",""]] "<strong>foo</strong>[bar]<strong>baz</strong>" queryCommandIndeterm("bold") before 
+PASS [["bold",""]] "<strong>foo</strong>[bar]<strong>baz</strong>" queryCommandState("bold") before 
+FAIL [["bold",""]] "<strong>foo</strong>[bar]<strong>baz</strong>" queryCommandValue("bold") before assert_equals: Wrong result returned expected "" but got "false"
+PASS [["bold",""]] "<strong>foo</strong>[bar]<strong>baz</strong>" queryCommandIndeterm("bold") after 
+PASS [["bold",""]] "<strong>foo</strong>[bar]<strong>baz</strong>" queryCommandState("bold") after 
+FAIL [["bold",""]] "<strong>foo</strong>[bar]<strong>baz</strong>" queryCommandValue("bold") after assert_equals: Wrong result returned expected "" but got "true"
+PASS [["bold",""]] "<b>foo</b>[bar]<strong>baz</strong>": execCommand("bold", false, "") return value 
+PASS [["bold",""]] "<b>foo</b>[bar]<strong>baz</strong>" checks for modifications to non-editable content 
+FAIL [["bold",""]] "<b>foo</b>[bar]<strong>baz</strong>" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<b>foobarbaz</b>" but got "<b>foobar</b><strong>baz</strong>"
+PASS [["bold",""]] "<b>foo</b>[bar]<strong>baz</strong>" queryCommandIndeterm("bold") before 
+PASS [["bold",""]] "<b>foo</b>[bar]<strong>baz</strong>" queryCommandState("bold") before 
+FAIL [["bold",""]] "<b>foo</b>[bar]<strong>baz</strong>" queryCommandValue("bold") before assert_equals: Wrong result returned expected "" but got "false"
+PASS [["bold",""]] "<b>foo</b>[bar]<strong>baz</strong>" queryCommandIndeterm("bold") after 
+PASS [["bold",""]] "<b>foo</b>[bar]<strong>baz</strong>" queryCommandState("bold") after 
+FAIL [["bold",""]] "<b>foo</b>[bar]<strong>baz</strong>" queryCommandValue("bold") after assert_equals: Wrong result returned expected "" but got "true"
+PASS [["stylewithcss","true"],["bold",""]] "<strong>foo</strong>[bar]<b>baz</b>": execCommand("stylewithcss", false, "true") return value 
+PASS [["stylewithcss","true"],["bold",""]] "<strong>foo</strong>[bar]<b>baz</b>": execCommand("bold", false, "") return value 
+PASS [["stylewithcss","true"],["bold",""]] "<strong>foo</strong>[bar]<b>baz</b>" checks for modifications to non-editable content 
+FAIL [["stylewithcss","true"],["bold",""]] "<strong>foo</strong>[bar]<b>baz</b>" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<strong>foobarbaz</strong>" but got "<strong>foo</strong><span style=\"font-weight:bold\">bar</span><b>baz</b>"
+PASS [["stylewithcss","true"],["bold",""]] "<strong>foo</strong>[bar]<b>baz</b>" queryCommandIndeterm("stylewithcss") before 
+PASS [["stylewithcss","true"],["bold",""]] "<strong>foo</strong>[bar]<b>baz</b>" queryCommandState("stylewithcss") before 
+PASS [["stylewithcss","true"],["bold",""]] "<strong>foo</strong>[bar]<b>baz</b>" queryCommandValue("stylewithcss") before 
+PASS [["stylewithcss","true"],["bold",""]] "<strong>foo</strong>[bar]<b>baz</b>" queryCommandIndeterm("stylewithcss") after 
+PASS [["stylewithcss","true"],["bold",""]] "<strong>foo</strong>[bar]<b>baz</b>" queryCommandState("stylewithcss") after 
+PASS [["stylewithcss","true"],["bold",""]] "<strong>foo</strong>[bar]<b>baz</b>" queryCommandValue("stylewithcss") after 
+PASS [["stylewithcss","true"],["bold",""]] "<strong>foo</strong>[bar]<b>baz</b>" queryCommandIndeterm("bold") before 
+PASS [["stylewithcss","true"],["bold",""]] "<strong>foo</strong>[bar]<b>baz</b>" queryCommandState("bold") before 
+FAIL [["stylewithcss","true"],["bold",""]] "<strong>foo</strong>[bar]<b>baz</b>" queryCommandValue("bold") before assert_equals: Wrong result returned expected "" but got "false"
+PASS [["stylewithcss","true"],["bold",""]] "<strong>foo</strong>[bar]<b>baz</b>" queryCommandIndeterm("bold") after 
+PASS [["stylewithcss","true"],["bold",""]] "<strong>foo</strong>[bar]<b>baz</b>" queryCommandState("bold") after 
+FAIL [["stylewithcss","true"],["bold",""]] "<strong>foo</strong>[bar]<b>baz</b>" queryCommandValue("bold") after assert_equals: Wrong result returned expected "" but got "true"
+PASS [["stylewithcss","false"],["bold",""]] "<strong>foo</strong>[bar]<b>baz</b>": execCommand("stylewithcss", false, "false") return value 
+PASS [["stylewithcss","false"],["bold",""]] "<strong>foo</strong>[bar]<b>baz</b>": execCommand("bold", false, "") return value 
+PASS [["stylewithcss","false"],["bold",""]] "<strong>foo</strong>[bar]<b>baz</b>" checks for modifications to non-editable content 
+FAIL [["stylewithcss","false"],["bold",""]] "<strong>foo</strong>[bar]<b>baz</b>" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<strong>foobarbaz</strong>" but got "<strong>foo</strong><b>barbaz</b>"
+PASS [["stylewithcss","false"],["bold",""]] "<strong>foo</strong>[bar]<b>baz</b>" queryCommandIndeterm("stylewithcss") before 
+PASS [["stylewithcss","false"],["bold",""]] "<strong>foo</strong>[bar]<b>baz</b>" queryCommandState("stylewithcss") before 
+PASS [["stylewithcss","false"],["bold",""]] "<strong>foo</strong>[bar]<b>baz</b>" queryCommandValue("stylewithcss") before 
+PASS [["stylewithcss","false"],["bold",""]] "<strong>foo</strong>[bar]<b>baz</b>" queryCommandIndeterm("stylewithcss") after 
+PASS [["stylewithcss","false"],["bold",""]] "<strong>foo</strong>[bar]<b>baz</b>" queryCommandState("stylewithcss") after 
+PASS [["stylewithcss","false"],["bold",""]] "<strong>foo</strong>[bar]<b>baz</b>" queryCommandValue("stylewithcss") after 
+PASS [["stylewithcss","false"],["bold",""]] "<strong>foo</strong>[bar]<b>baz</b>" queryCommandIndeterm("bold") before 
+PASS [["stylewithcss","false"],["bold",""]] "<strong>foo</strong>[bar]<b>baz</b>" queryCommandState("bold") before 
+FAIL [["stylewithcss","false"],["bold",""]] "<strong>foo</strong>[bar]<b>baz</b>" queryCommandValue("bold") before assert_equals: Wrong result returned expected "" but got "false"
+PASS [["stylewithcss","false"],["bold",""]] "<strong>foo</strong>[bar]<b>baz</b>" queryCommandIndeterm("bold") after 
+PASS [["stylewithcss","false"],["bold",""]] "<strong>foo</strong>[bar]<b>baz</b>" queryCommandState("bold") after 
+FAIL [["stylewithcss","false"],["bold",""]] "<strong>foo</strong>[bar]<b>baz</b>" queryCommandValue("bold") after assert_equals: Wrong result returned expected "" but got "true"
+PASS [["stylewithcss","true"],["bold",""]] "foo[<b>bar</b>]baz": execCommand("stylewithcss", false, "true") return value 
+PASS [["stylewithcss","true"],["bold",""]] "foo[<b>bar</b>]baz": execCommand("bold", false, "") return value 
+PASS [["stylewithcss","true"],["bold",""]] "foo[<b>bar</b>]baz" checks for modifications to non-editable content 
+PASS [["stylewithcss","true"],["bold",""]] "foo[<b>bar</b>]baz" compare innerHTML 
+PASS [["stylewithcss","true"],["bold",""]] "foo[<b>bar</b>]baz" queryCommandIndeterm("stylewithcss") before 
+PASS [["stylewithcss","true"],["bold",""]] "foo[<b>bar</b>]baz" queryCommandState("stylewithcss") before 
+PASS [["stylewithcss","true"],["bold",""]] "foo[<b>bar</b>]baz" queryCommandValue("stylewithcss") before 
+PASS [["stylewithcss","true"],["bold",""]] "foo[<b>bar</b>]baz" queryCommandIndeterm("stylewithcss") after 
+PASS [["stylewithcss","true"],["bold",""]] "foo[<b>bar</b>]baz" queryCommandState("stylewithcss") after 
+PASS [["stylewithcss","true"],["bold",""]] "foo[<b>bar</b>]baz" queryCommandValue("stylewithcss") after 
+PASS [["stylewithcss","true"],["bold",""]] "foo[<b>bar</b>]baz" queryCommandIndeterm("bold") before 
+PASS [["stylewithcss","true"],["bold",""]] "foo[<b>bar</b>]baz" queryCommandState("bold") before 
+FAIL [["stylewithcss","true"],["bold",""]] "foo[<b>bar</b>]baz" queryCommandValue("bold") before assert_equals: Wrong result returned expected "" but got "true"
+PASS [["stylewithcss","true"],["bold",""]] "foo[<b>bar</b>]baz" queryCommandIndeterm("bold") after 
+PASS [["stylewithcss","true"],["bold",""]] "foo[<b>bar</b>]baz" queryCommandState("bold") after 
+FAIL [["stylewithcss","true"],["bold",""]] "foo[<b>bar</b>]baz" queryCommandValue("bold") after assert_equals: Wrong result returned expected "" but got "false"
+PASS [["stylewithcss","false"],["bold",""]] "foo[<b>bar</b>]baz": execCommand("stylewithcss", false, "false") return value 
+PASS [["stylewithcss","false"],["bold",""]] "foo[<b>bar</b>]baz": execCommand("bold", false, "") return value 
+PASS [["stylewithcss","false"],["bold",""]] "foo[<b>bar</b>]baz" checks for modifications to non-editable content 
+PASS [["stylewithcss","false"],["bold",""]] "foo[<b>bar</b>]baz" compare innerHTML 
+PASS [["stylewithcss","false"],["bold",""]] "foo[<b>bar</b>]baz" queryCommandIndeterm("stylewithcss") before 
+PASS [["stylewithcss","false"],["bold",""]] "foo[<b>bar</b>]baz" queryCommandState("stylewithcss") before 
+PASS [["stylewithcss","false"],["bold",""]] "foo[<b>bar</b>]baz" queryCommandValue("stylewithcss") before 
+PASS [["stylewithcss","false"],["bold",""]] "foo[<b>bar</b>]baz" queryCommandIndeterm("stylewithcss") after 
+PASS [["stylewithcss","false"],["bold",""]] "foo[<b>bar</b>]baz" queryCommandState("stylewithcss") after 
+PASS [["stylewithcss","false"],["bold",""]] "foo[<b>bar</b>]baz" queryCommandValue("stylewithcss") after 
+PASS [["stylewithcss","false"],["bold",""]] "foo[<b>bar</b>]baz" queryCommandIndeterm("bold") before 
+PASS [["stylewithcss","false"],["bold",""]] "foo[<b>bar</b>]baz" queryCommandState("bold") before 
+FAIL [["stylewithcss","false"],["bold",""]] "foo[<b>bar</b>]baz" queryCommandValue("bold") before assert_equals: Wrong result returned expected "" but got "true"
+PASS [["stylewithcss","false"],["bold",""]] "foo[<b>bar</b>]baz" queryCommandIndeterm("bold") after 
+PASS [["stylewithcss","false"],["bold",""]] "foo[<b>bar</b>]baz" queryCommandState("bold") after 
+FAIL [["stylewithcss","false"],["bold",""]] "foo[<b>bar</b>]baz" queryCommandValue("bold") after assert_equals: Wrong result returned expected "" but got "false"
+PASS [["stylewithcss","true"],["bold",""]] "foo[<b>bar]</b>baz": execCommand("stylewithcss", false, "true") return value 
+PASS [["stylewithcss","true"],["bold",""]] "foo[<b>bar]</b>baz": execCommand("bold", false, "") return value 
+PASS [["stylewithcss","true"],["bold",""]] "foo[<b>bar]</b>baz" checks for modifications to non-editable content 
+PASS [["stylewithcss","true"],["bold",""]] "foo[<b>bar]</b>baz" compare innerHTML 
+PASS [["stylewithcss","true"],["bold",""]] "foo[<b>bar]</b>baz" queryCommandIndeterm("stylewithcss") before 
+PASS [["stylewithcss","true"],["bold",""]] "foo[<b>bar]</b>baz" queryCommandState("stylewithcss") before 
+PASS [["stylewithcss","true"],["bold",""]] "foo[<b>bar]</b>baz" queryCommandValue("stylewithcss") before 
+PASS [["stylewithcss","true"],["bold",""]] "foo[<b>bar]</b>baz" queryCommandIndeterm("stylewithcss") after 
+PASS [["stylewithcss","true"],["bold",""]] "foo[<b>bar]</b>baz" queryCommandState("stylewithcss") after 
+PASS [["stylewithcss","true"],["bold",""]] "foo[<b>bar]</b>baz" queryCommandValue("stylewithcss") after 
+PASS [["stylewithcss","true"],["bold",""]] "foo[<b>bar]</b>baz" queryCommandIndeterm("bold") before 
+PASS [["stylewithcss","true"],["bold",""]] "foo[<b>bar]</b>baz" queryCommandState("bold") before 
+FAIL [["stylewithcss","true"],["bold",""]] "foo[<b>bar]</b>baz" queryCommandValue("bold") before assert_equals: Wrong result returned expected "" but got "true"
+PASS [["stylewithcss","true"],["bold",""]] "foo[<b>bar]</b>baz" queryCommandIndeterm("bold") after 
+PASS [["stylewithcss","true"],["bold",""]] "foo[<b>bar]</b>baz" queryCommandState("bold") after 
+FAIL [["stylewithcss","true"],["bold",""]] "foo[<b>bar]</b>baz" queryCommandValue("bold") after assert_equals: Wrong result returned expected "" but got "false"
+PASS [["stylewithcss","false"],["bold",""]] "foo[<b>bar]</b>baz": execCommand("stylewithcss", false, "false") return value 
+PASS [["stylewithcss","false"],["bold",""]] "foo[<b>bar]</b>baz": execCommand("bold", false, "") return value 
+PASS [["stylewithcss","false"],["bold",""]] "foo[<b>bar]</b>baz" checks for modifications to non-editable content 
+PASS [["stylewithcss","false"],["bold",""]] "foo[<b>bar]</b>baz" compare innerHTML 
+PASS [["stylewithcss","false"],["bold",""]] "foo[<b>bar]</b>baz" queryCommandIndeterm("stylewithcss") before 
+PASS [["stylewithcss","false"],["bold",""]] "foo[<b>bar]</b>baz" queryCommandState("stylewithcss") before 
+PASS [["stylewithcss","false"],["bold",""]] "foo[<b>bar]</b>baz" queryCommandValue("stylewithcss") before 
+PASS [["stylewithcss","false"],["bold",""]] "foo[<b>bar]</b>baz" queryCommandIndeterm("stylewithcss") after 
+PASS [["stylewithcss","false"],["bold",""]] "foo[<b>bar]</b>baz" queryCommandState("stylewithcss") after 
+PASS [["stylewithcss","false"],["bold",""]] "foo[<b>bar]</b>baz" queryCommandValue("stylewithcss") after 
+PASS [["stylewithcss","false"],["bold",""]] "foo[<b>bar]</b>baz" queryCommandIndeterm("bold") before 
+PASS [["stylewithcss","false"],["bold",""]] "foo[<b>bar]</b>baz" queryCommandState("bold") before 
+FAIL [["stylewithcss","false"],["bold",""]] "foo[<b>bar]</b>baz" queryCommandValue("bold") before assert_equals: Wrong result returned expected "" but got "true"
+PASS [["stylewithcss","false"],["bold",""]] "foo[<b>bar]</b>baz" queryCommandIndeterm("bold") after 
+PASS [["stylewithcss","false"],["bold",""]] "foo[<b>bar]</b>baz" queryCommandState("bold") after 
+FAIL [["stylewithcss","false"],["bold",""]] "foo[<b>bar]</b>baz" queryCommandValue("bold") after assert_equals: Wrong result returned expected "" but got "false"
+PASS [["stylewithcss","true"],["bold",""]] "foo<b>[bar</b>]baz": execCommand("stylewithcss", false, "true") return value 
+PASS [["stylewithcss","true"],["bold",""]] "foo<b>[bar</b>]baz": execCommand("bold", false, "") return value 
+PASS [["stylewithcss","true"],["bold",""]] "foo<b>[bar</b>]baz" checks for modifications to non-editable content 
+PASS [["stylewithcss","true"],["bold",""]] "foo<b>[bar</b>]baz" compare innerHTML 
+PASS [["stylewithcss","true"],["bold",""]] "foo<b>[bar</b>]baz" queryCommandIndeterm("stylewithcss") before 
+PASS [["stylewithcss","true"],["bold",""]] "foo<b>[bar</b>]baz" queryCommandState("stylewithcss") before 
+PASS [["stylewithcss","true"],["bold",""]] "foo<b>[bar</b>]baz" queryCommandValue("stylewithcss") before 
+PASS [["stylewithcss","true"],["bold",""]] "foo<b>[bar</b>]baz" queryCommandIndeterm("stylewithcss") after 
+PASS [["stylewithcss","true"],["bold",""]] "foo<b>[bar</b>]baz" queryCommandState("stylewithcss") after 
+PASS [["stylewithcss","true"],["bold",""]] "foo<b>[bar</b>]baz" queryCommandValue("stylewithcss") after 
+PASS [["stylewithcss","true"],["bold",""]] "foo<b>[bar</b>]baz" queryCommandIndeterm("bold") before 
+PASS [["stylewithcss","true"],["bold",""]] "foo<b>[bar</b>]baz" queryCommandState("bold") before 
+FAIL [["stylewithcss","true"],["bold",""]] "foo<b>[bar</b>]baz" queryCommandValue("bold") before assert_equals: Wrong result returned expected "" but got "true"
+PASS [["stylewithcss","true"],["bold",""]] "foo<b>[bar</b>]baz" queryCommandIndeterm("bold") after 
+PASS [["stylewithcss","true"],["bold",""]] "foo<b>[bar</b>]baz" queryCommandState("bold") after 
+FAIL [["stylewithcss","true"],["bold",""]] "foo<b>[bar</b>]baz" queryCommandValue("bold") after assert_equals: Wrong result returned expected "" but got "false"
+PASS [["stylewithcss","false"],["bold",""]] "foo<b>[bar</b>]baz": execCommand("stylewithcss", false, "false") return value 
+PASS [["stylewithcss","false"],["bold",""]] "foo<b>[bar</b>]baz": execCommand("bold", false, "") return value 
+PASS [["stylewithcss","false"],["bold",""]] "foo<b>[bar</b>]baz" checks for modifications to non-editable content 
+PASS [["stylewithcss","false"],["bold",""]] "foo<b>[bar</b>]baz" compare innerHTML 
+PASS [["stylewithcss","false"],["bold",""]] "foo<b>[bar</b>]baz" queryCommandIndeterm("stylewithcss") before 
+PASS [["stylewithcss","false"],["bold",""]] "foo<b>[bar</b>]baz" queryCommandState("stylewithcss") before 
+PASS [["stylewithcss","false"],["bold",""]] "foo<b>[bar</b>]baz" queryCommandValue("stylewithcss") before 
+PASS [["stylewithcss","false"],["bold",""]] "foo<b>[bar</b>]baz" queryCommandIndeterm("stylewithcss") after 
+PASS [["stylewithcss","false"],["bold",""]] "foo<b>[bar</b>]baz" queryCommandState("stylewithcss") after 
+PASS [["stylewithcss","false"],["bold",""]] "foo<b>[bar</b>]baz" queryCommandValue("stylewithcss") after 
+PASS [["stylewithcss","false"],["bold",""]] "foo<b>[bar</b>]baz" queryCommandIndeterm("bold") before 
+PASS [["stylewithcss","false"],["bold",""]] "foo<b>[bar</b>]baz" queryCommandState("bold") before 
+FAIL [["stylewithcss","false"],["bold",""]] "foo<b>[bar</b>]baz" queryCommandValue("bold") before assert_equals: Wrong result returned expected "" but got "true"
+PASS [["stylewithcss","false"],["bold",""]] "foo<b>[bar</b>]baz" queryCommandIndeterm("bold") after 
+PASS [["stylewithcss","false"],["bold",""]] "foo<b>[bar</b>]baz" queryCommandState("bold") after 
+FAIL [["stylewithcss","false"],["bold",""]] "foo<b>[bar</b>]baz" queryCommandValue("bold") after assert_equals: Wrong result returned expected "" but got "false"
+PASS [["bold",""]] "foo{<b></b>}baz": execCommand("bold", false, "") return value 
+PASS [["bold",""]] "foo{<b></b>}baz" checks for modifications to non-editable content 
+PASS [["bold",""]] "foo{<b></b>}baz" compare innerHTML 
+PASS [["bold",""]] "foo{<b></b>}baz" queryCommandIndeterm("bold") before 
+PASS [["bold",""]] "foo{<b></b>}baz" queryCommandState("bold") before 
+FAIL [["bold",""]] "foo{<b></b>}baz" queryCommandValue("bold") before assert_equals: Wrong result returned expected "" but got "false"
+PASS [["bold",""]] "foo{<b></b>}baz" queryCommandIndeterm("bold") after 
+PASS [["bold",""]] "foo{<b></b>}baz" queryCommandState("bold") after 
+FAIL [["bold",""]] "foo{<b></b>}baz" queryCommandValue("bold") after assert_equals: Wrong result returned expected "" but got "true"
+PASS [["bold",""]] "foo{<i></i>}baz": execCommand("bold", false, "") return value 
+PASS [["bold",""]] "foo{<i></i>}baz" checks for modifications to non-editable content 
+PASS [["bold",""]] "foo{<i></i>}baz" compare innerHTML 
+PASS [["bold",""]] "foo{<i></i>}baz" queryCommandIndeterm("bold") before 
+PASS [["bold",""]] "foo{<i></i>}baz" queryCommandState("bold") before 
+FAIL [["bold",""]] "foo{<i></i>}baz" queryCommandValue("bold") before assert_equals: Wrong result returned expected "" but got "false"
+PASS [["bold",""]] "foo{<i></i>}baz" queryCommandIndeterm("bold") after 
+PASS [["bold",""]] "foo{<i></i>}baz" queryCommandState("bold") after 
+FAIL [["bold",""]] "foo{<i></i>}baz" queryCommandValue("bold") after assert_equals: Wrong result returned expected "" but got "true"
+PASS [["bold",""]] "foo{<b><i></i></b>}baz": execCommand("bold", false, "") return value 
+PASS [["bold",""]] "foo{<b><i></i></b>}baz" checks for modifications to non-editable content 
+PASS [["bold",""]] "foo{<b><i></i></b>}baz" compare innerHTML 
+PASS [["bold",""]] "foo{<b><i></i></b>}baz" queryCommandIndeterm("bold") before 
+PASS [["bold",""]] "foo{<b><i></i></b>}baz" queryCommandState("bold") before 
+FAIL [["bold",""]] "foo{<b><i></i></b>}baz" queryCommandValue("bold") before assert_equals: Wrong result returned expected "" but got "false"
+PASS [["bold",""]] "foo{<b><i></i></b>}baz" queryCommandIndeterm("bold") after 
+PASS [["bold",""]] "foo{<b><i></i></b>}baz" queryCommandState("bold") after 
+FAIL [["bold",""]] "foo{<b><i></i></b>}baz" queryCommandValue("bold") after assert_equals: Wrong result returned expected "" but got "true"
+PASS [["bold",""]] "foo{<i><b></b></i>}baz": execCommand("bold", false, "") return value 
+PASS [["bold",""]] "foo{<i><b></b></i>}baz" checks for modifications to non-editable content 
+PASS [["bold",""]] "foo{<i><b></b></i>}baz" compare innerHTML 
+PASS [["bold",""]] "foo{<i><b></b></i>}baz" queryCommandIndeterm("bold") before 
+PASS [["bold",""]] "foo{<i><b></b></i>}baz" queryCommandState("bold") before 
+FAIL [["bold",""]] "foo{<i><b></b></i>}baz" queryCommandValue("bold") before assert_equals: Wrong result returned expected "" but got "false"
+PASS [["bold",""]] "foo{<i><b></b></i>}baz" queryCommandIndeterm("bold") after 
+PASS [["bold",""]] "foo{<i><b></b></i>}baz" queryCommandState("bold") after 
+FAIL [["bold",""]] "foo{<i><b></b></i>}baz" queryCommandValue("bold") after assert_equals: Wrong result returned expected "" but got "true"
+PASS [["bold",""]] "foo<strong>[bar]</strong>baz": execCommand("bold", false, "") return value 
+PASS [["bold",""]] "foo<strong>[bar]</strong>baz" checks for modifications to non-editable content 
+PASS [["bold",""]] "foo<strong>[bar]</strong>baz" compare innerHTML 
+PASS [["bold",""]] "foo<strong>[bar]</strong>baz" queryCommandIndeterm("bold") before 
+PASS [["bold",""]] "foo<strong>[bar]</strong>baz" queryCommandState("bold") before 
+FAIL [["bold",""]] "foo<strong>[bar]</strong>baz" queryCommandValue("bold") before assert_equals: Wrong result returned expected "" but got "true"
+PASS [["bold",""]] "foo<strong>[bar]</strong>baz" queryCommandIndeterm("bold") after 
+PASS [["bold",""]] "foo<strong>[bar]</strong>baz" queryCommandState("bold") after 
+FAIL [["bold",""]] "foo<strong>[bar]</strong>baz" queryCommandValue("bold") after assert_equals: Wrong result returned expected "" but got "false"
+PASS [["bold",""]] "foo[<strong>bar</strong>]baz": execCommand("bold", false, "") return value 
+PASS [["bold",""]] "foo[<strong>bar</strong>]baz" checks for modifications to non-editable content 
+PASS [["bold",""]] "foo[<strong>bar</strong>]baz" compare innerHTML 
+PASS [["bold",""]] "foo[<strong>bar</strong>]baz" queryCommandIndeterm("bold") before 
+PASS [["bold",""]] "foo[<strong>bar</strong>]baz" queryCommandState("bold") before 
+FAIL [["bold",""]] "foo[<strong>bar</strong>]baz" queryCommandValue("bold") before assert_equals: Wrong result returned expected "" but got "true"
+PASS [["bold",""]] "foo[<strong>bar</strong>]baz" queryCommandIndeterm("bold") after 
+PASS [["bold",""]] "foo[<strong>bar</strong>]baz" queryCommandState("bold") after 
+FAIL [["bold",""]] "foo[<strong>bar</strong>]baz" queryCommandValue("bold") after assert_equals: Wrong result returned expected "" but got "false"
+PASS [["bold",""]] "foo[<strong>bar]</strong>baz": execCommand("bold", false, "") return value 
+PASS [["bold",""]] "foo[<strong>bar]</strong>baz" checks for modifications to non-editable content 
+PASS [["bold",""]] "foo[<strong>bar]</strong>baz" compare innerHTML 
+PASS [["bold",""]] "foo[<strong>bar]</strong>baz" queryCommandIndeterm("bold") before 
+PASS [["bold",""]] "foo[<strong>bar]</strong>baz" queryCommandState("bold") before 
+FAIL [["bold",""]] "foo[<strong>bar]</strong>baz" queryCommandValue("bold") before assert_equals: Wrong result returned expected "" but got "true"
+PASS [["bold",""]] "foo[<strong>bar]</strong>baz" queryCommandIndeterm("bold") after 
+PASS [["bold",""]] "foo[<strong>bar]</strong>baz" queryCommandState("bold") after 
+FAIL [["bold",""]] "foo[<strong>bar]</strong>baz" queryCommandValue("bold") after assert_equals: Wrong result returned expected "" but got "false"
+PASS [["bold",""]] "foo<strong>[bar</strong>]baz": execCommand("bold", false, "") return value 
+PASS [["bold",""]] "foo<strong>[bar</strong>]baz" checks for modifications to non-editable content 
+PASS [["bold",""]] "foo<strong>[bar</strong>]baz" compare innerHTML 
+PASS [["bold",""]] "foo<strong>[bar</strong>]baz" queryCommandIndeterm("bold") before 
+PASS [["bold",""]] "foo<strong>[bar</strong>]baz" queryCommandState("bold") before 
+FAIL [["bold",""]] "foo<strong>[bar</strong>]baz" queryCommandValue("bold") before assert_equals: Wrong result returned expected "" but got "true"
+PASS [["bold",""]] "foo<strong>[bar</strong>]baz" queryCommandIndeterm("bold") after 
+PASS [["bold",""]] "foo<strong>[bar</strong>]baz" queryCommandState("bold") after 
+FAIL [["bold",""]] "foo<strong>[bar</strong>]baz" queryCommandValue("bold") after assert_equals: Wrong result returned expected "" but got "false"
+PASS [["stylewithcss","true"],["bold",""]] "foo[<span style=\"font-weight: bold\">bar</span>]baz": execCommand("stylewithcss", false, "true") return value 
+PASS [["stylewithcss","true"],["bold",""]] "foo[<span style=\"font-weight: bold\">bar</span>]baz": execCommand("bold", false, "") return value 
+PASS [["stylewithcss","true"],["bold",""]] "foo[<span style=\"font-weight: bold\">bar</span>]baz" checks for modifications to non-editable content 
+PASS [["stylewithcss","true"],["bold",""]] "foo[<span style=\"font-weight: bold\">bar</span>]baz" compare innerHTML 
+PASS [["stylewithcss","true"],["bold",""]] "foo[<span style=\"font-weight: bold\">bar</span>]baz" queryCommandIndeterm("stylewithcss") before 
+PASS [["stylewithcss","true"],["bold",""]] "foo[<span style=\"font-weight: bold\">bar</span>]baz" queryCommandState("stylewithcss") before 
+PASS [["stylewithcss","true"],["bold",""]] "foo[<span style=\"font-weight: bold\">bar</span>]baz" queryCommandValue("stylewithcss") before 
+PASS [["stylewithcss","true"],["bold",""]] "foo[<span style=\"font-weight: bold\">bar</span>]baz" queryCommandIndeterm("stylewithcss") after 
+PASS [["stylewithcss","true"],["bold",""]] "foo[<span style=\"font-weight: bold\">bar</span>]baz" queryCommandState("stylewithcss") after 
+PASS [["stylewithcss","true"],["bold",""]] "foo[<span style=\"font-weight: bold\">bar</span>]baz" queryCommandValue("stylewithcss") after 
+PASS [["stylewithcss","true"],["bold",""]] "foo[<span style=\"font-weight: bold\">bar</span>]baz" queryCommandIndeterm("bold") before 
+PASS [["stylewithcss","true"],["bold",""]] "foo[<span style=\"font-weight: bold\">bar</span>]baz" queryCommandState("bold") before 
+FAIL [["stylewithcss","true"],["bold",""]] "foo[<span style=\"font-weight: bold\">bar</span>]baz" queryCommandValue("bold") before assert_equals: Wrong result returned expected "" but got "true"
+PASS [["stylewithcss","true"],["bold",""]] "foo[<span style=\"font-weight: bold\">bar</span>]baz" queryCommandIndeterm("bold") after 
+PASS [["stylewithcss","true"],["bold",""]] "foo[<span style=\"font-weight: bold\">bar</span>]baz" queryCommandState("bold") after 
+FAIL [["stylewithcss","true"],["bold",""]] "foo[<span style=\"font-weight: bold\">bar</span>]baz" queryCommandValue("bold") after assert_equals: Wrong result returned expected "" but got "false"
+PASS [["stylewithcss","false"],["bold",""]] "foo[<span style=\"font-weight: bold\">bar</span>]baz": execCommand("stylewithcss", false, "false") return value 
+PASS [["stylewithcss","false"],["bold",""]] "foo[<span style=\"font-weight: bold\">bar</span>]baz": execCommand("bold", false, "") return value 
+PASS [["stylewithcss","false"],["bold",""]] "foo[<span style=\"font-weight: bold\">bar</span>]baz" checks for modifications to non-editable content 
+PASS [["stylewithcss","false"],["bold",""]] "foo[<span style=\"font-weight: bold\">bar</span>]baz" compare innerHTML 
+PASS [["stylewithcss","false"],["bold",""]] "foo[<span style=\"font-weight: bold\">bar</span>]baz" queryCommandIndeterm("stylewithcss") before 
+PASS [["stylewithcss","false"],["bold",""]] "foo[<span style=\"font-weight: bold\">bar</span>]baz" queryCommandState("stylewithcss") before 
+PASS [["stylewithcss","false"],["bold",""]] "foo[<span style=\"font-weight: bold\">bar</span>]baz" queryCommandValue("stylewithcss") before 
+PASS [["stylewithcss","false"],["bold",""]] "foo[<span style=\"font-weight: bold\">bar</span>]baz" queryCommandIndeterm("stylewithcss") after 
+PASS [["stylewithcss","false"],["bold",""]] "foo[<span style=\"font-weight: bold\">bar</span>]baz" queryCommandState("stylewithcss") after 
+PASS [["stylewithcss","false"],["bold",""]] "foo[<span style=\"font-weight: bold\">bar</span>]baz" queryCommandValue("stylewithcss") after 
+PASS [["stylewithcss","false"],["bold",""]] "foo[<span style=\"font-weight: bold\">bar</span>]baz" queryCommandIndeterm("bold") before 
+PASS [["stylewithcss","false"],["bold",""]] "foo[<span style=\"font-weight: bold\">bar</span>]baz" queryCommandState("bold") before 
+FAIL [["stylewithcss","false"],["bold",""]] "foo[<span style=\"font-weight: bold\">bar</span>]baz" queryCommandValue("bold") before assert_equals: Wrong result returned expected "" but got "true"
+PASS [["stylewithcss","false"],["bold",""]] "foo[<span style=\"font-weight: bold\">bar</span>]baz" queryCommandIndeterm("bold") after 
+PASS [["stylewithcss","false"],["bold",""]] "foo[<span style=\"font-weight: bold\">bar</span>]baz" queryCommandState("bold") after 
+FAIL [["stylewithcss","false"],["bold",""]] "foo[<span style=\"font-weight: bold\">bar</span>]baz" queryCommandValue("bold") after assert_equals: Wrong result returned expected "" but got "false"
+PASS [["stylewithcss","true"],["bold",""]] "foo[<span style=\"font-weight: bold\">bar]</span>baz": execCommand("stylewithcss", false, "true") return value 
+PASS [["stylewithcss","true"],["bold",""]] "foo[<span style=\"font-weight: bold\">bar]</span>baz": execCommand("bold", false, "") return value 
+PASS [["stylewithcss","true"],["bold",""]] "foo[<span style=\"font-weight: bold\">bar]</span>baz" checks for modifications to non-editable content 
+PASS [["stylewithcss","true"],["bold",""]] "foo[<span style=\"font-weight: bold\">bar]</span>baz" compare innerHTML 
+PASS [["stylewithcss","true"],["bold",""]] "foo[<span style=\"font-weight: bold\">bar]</span>baz" queryCommandIndeterm("stylewithcss") before 
+PASS [["stylewithcss","true"],["bold",""]] "foo[<span style=\"font-weight: bold\">bar]</span>baz" queryCommandState("stylewithcss") before 
+PASS [["stylewithcss","true"],["bold",""]] "foo[<span style=\"font-weight: bold\">bar]</span>baz" queryCommandValue("stylewithcss") before 
+PASS [["stylewithcss","true"],["bold",""]] "foo[<span style=\"font-weight: bold\">bar]</span>baz" queryCommandIndeterm("stylewithcss") after 
+PASS [["stylewithcss","true"],["bold",""]] "foo[<span style=\"font-weight: bold\">bar]</span>baz" queryCommandState("stylewithcss") after 
+PASS [["stylewithcss","true"],["bold",""]] "foo[<span style=\"font-weight: bold\">bar]</span>baz" queryCommandValue("stylewithcss") after 
+PASS [["stylewithcss","true"],["bold",""]] "foo[<span style=\"font-weight: bold\">bar]</span>baz" queryCommandIndeterm("bold") before 
+PASS [["stylewithcss","true"],["bold",""]] "foo[<span style=\"font-weight: bold\">bar]</span>baz" queryCommandState("bold") before 
+FAIL [["stylewithcss","true"],["bold",""]] "foo[<span style=\"font-weight: bold\">bar]</span>baz" queryCommandValue("bold") before assert_equals: Wrong result returned expected "" but got "true"
+PASS [["stylewithcss","true"],["bold",""]] "foo[<span style=\"font-weight: bold\">bar]</span>baz" queryCommandIndeterm("bold") after 
+PASS [["stylewithcss","true"],["bold",""]] "foo[<span style=\"font-weight: bold\">bar]</span>baz" queryCommandState("bold") after 
+FAIL [["stylewithcss","true"],["bold",""]] "foo[<span style=\"font-weight: bold\">bar]</span>baz" queryCommandValue("bold") after assert_equals: Wrong result returned expected "" but got "false"
+PASS [["stylewithcss","false"],["bold",""]] "foo[<span style=\"font-weight: bold\">bar]</span>baz": execCommand("stylewithcss", false, "false") return value 
+PASS [["stylewithcss","false"],["bold",""]] "foo[<span style=\"font-weight: bold\">bar]</span>baz": execCommand("bold", false, "") return value 
+PASS [["stylewithcss","false"],["bold",""]] "foo[<span style=\"font-weight: bold\">bar]</span>baz" checks for modifications to non-editable content 
+PASS [["stylewithcss","false"],["bold",""]] "foo[<span style=\"font-weight: bold\">bar]</span>baz" compare innerHTML 
+PASS [["stylewithcss","false"],["bold",""]] "foo[<span style=\"font-weight: bold\">bar]</span>baz" queryCommandIndeterm("stylewithcss") before 
+PASS [["stylewithcss","false"],["bold",""]] "foo[<span style=\"font-weight: bold\">bar]</span>baz" queryCommandState("stylewithcss") before 
+PASS [["stylewithcss","false"],["bold",""]] "foo[<span style=\"font-weight: bold\">bar]</span>baz" queryCommandValue("stylewithcss") before 
+PASS [["stylewithcss","false"],["bold",""]] "foo[<span style=\"font-weight: bold\">bar]</span>baz" queryCommandIndeterm("stylewithcss") after 
+PASS [["stylewithcss","false"],["bold",""]] "foo[<span style=\"font-weight: bold\">bar]</span>baz" queryCommandState("stylewithcss") after 
+PASS [["stylewithcss","false"],["bold",""]] "foo[<span style=\"font-weight: bold\">bar]</span>baz" queryCommandValue("stylewithcss") after 
+PASS [["stylewithcss","false"],["bold",""]] "foo[<span style=\"font-weight: bold\">bar]</span>baz" queryCommandIndeterm("bold") before 
+PASS [["stylewithcss","false"],["bold",""]] "foo[<span style=\"font-weight: bold\">bar]</span>baz" queryCommandState("bold") before 
+FAIL [["stylewithcss","false"],["bold",""]] "foo[<span style=\"font-weight: bold\">bar]</span>baz" queryCommandValue("bold") before assert_equals: Wrong result returned expected "" but got "true"
+PASS [["stylewithcss","false"],["bold",""]] "foo[<span style=\"font-weight: bold\">bar]</span>baz" queryCommandIndeterm("bold") after 
+PASS [["stylewithcss","false"],["bold",""]] "foo[<span style=\"font-weight: bold\">bar]</span>baz" queryCommandState("bold") after 
+FAIL [["stylewithcss","false"],["bold",""]] "foo[<span style=\"font-weight: bold\">bar]</span>baz" queryCommandValue("bold") after assert_equals: Wrong result returned expected "" but got "false"
+PASS [["stylewithcss","true"],["bold",""]] "foo<span style=\"font-weight: bold\">[bar</span>]baz": execCommand("stylewithcss", false, "true") return value 
+PASS [["stylewithcss","true"],["bold",""]] "foo<span style=\"font-weight: bold\">[bar</span>]baz": execCommand("bold", false, "") return value 
+PASS [["stylewithcss","true"],["bold",""]] "foo<span style=\"font-weight: bold\">[bar</span>]baz" checks for modifications to non-editable content 
+PASS [["stylewithcss","true"],["bold",""]] "foo<span style=\"font-weight: bold\">[bar</span>]baz" compare innerHTML 
+PASS [["stylewithcss","true"],["bold",""]] "foo<span style=\"font-weight: bold\">[bar</span>]baz" queryCommandIndeterm("stylewithcss") before 
+PASS [["stylewithcss","true"],["bold",""]] "foo<span style=\"font-weight: bold\">[bar</span>]baz" queryCommandState("stylewithcss") before 
+PASS [["stylewithcss","true"],["bold",""]] "foo<span style=\"font-weight: bold\">[bar</span>]baz" queryCommandValue("stylewithcss") before 
+PASS [["stylewithcss","true"],["bold",""]] "foo<span style=\"font-weight: bold\">[bar</span>]baz" queryCommandIndeterm("stylewithcss") after 
+PASS [["stylewithcss","true"],["bold",""]] "foo<span style=\"font-weight: bold\">[bar</span>]baz" queryCommandState("stylewithcss") after 
+PASS [["stylewithcss","true"],["bold",""]] "foo<span style=\"font-weight: bold\">[bar</span>]baz" queryCommandValue("stylewithcss") after 
+PASS [["stylewithcss","true"],["bold",""]] "foo<span style=\"font-weight: bold\">[bar</span>]baz" queryCommandIndeterm("bold") before 
+PASS [["stylewithcss","true"],["bold",""]] "foo<span style=\"font-weight: bold\">[bar</span>]baz" queryCommandState("bold") before 
+FAIL [["stylewithcss","true"],["bold",""]] "foo<span style=\"font-weight: bold\">[bar</span>]baz" queryCommandValue("bold") before assert_equals: Wrong result returned expected "" but got "true"
+PASS [["stylewithcss","true"],["bold",""]] "foo<span style=\"font-weight: bold\">[bar</span>]baz" queryCommandIndeterm("bold") after 
+PASS [["stylewithcss","true"],["bold",""]] "foo<span style=\"font-weight: bold\">[bar</span>]baz" queryCommandState("bold") after 
+FAIL [["stylewithcss","true"],["bold",""]] "foo<span style=\"font-weight: bold\">[bar</span>]baz" queryCommandValue("bold") after assert_equals: Wrong result returned expected "" but got "false"
+PASS [["stylewithcss","false"],["bold",""]] "foo<span style=\"font-weight: bold\">[bar</span>]baz": execCommand("stylewithcss", false, "false") return value 
+PASS [["stylewithcss","false"],["bold",""]] "foo<span style=\"font-weight: bold\">[bar</span>]baz": execCommand("bold", false, "") return value 
+PASS [["stylewithcss","false"],["bold",""]] "foo<span style=\"font-weight: bold\">[bar</span>]baz" checks for modifications to non-editable content 
+PASS [["stylewithcss","false"],["bold",""]] "foo<span style=\"font-weight: bold\">[bar</span>]baz" compare innerHTML 
+PASS [["stylewithcss","false"],["bold",""]] "foo<span style=\"font-weight: bold\">[bar</span>]baz" queryCommandIndeterm("stylewithcss") before 
+PASS [["stylewithcss","false"],["bold",""]] "foo<span style=\"font-weight: bold\">[bar</span>]baz" queryCommandState("stylewithcss") before 
+PASS [["stylewithcss","false"],["bold",""]] "foo<span style=\"font-weight: bold\">[bar</span>]baz" queryCommandValue("stylewithcss") before 
+PASS [["stylewithcss","false"],["bold",""]] "foo<span style=\"font-weight: bold\">[bar</span>]baz" queryCommandIndeterm("stylewithcss") after 
+PASS [["stylewithcss","false"],["bold",""]] "foo<span style=\"font-weight: bold\">[bar</span>]baz" queryCommandState("stylewithcss") after 
+PASS [["stylewithcss","false"],["bold",""]] "foo<span style=\"font-weight: bold\">[bar</span>]baz" queryCommandValue("stylewithcss") after 
+PASS [["stylewithcss","false"],["bold",""]] "foo<span style=\"font-weight: bold\">[bar</span>]baz" queryCommandIndeterm("bold") before 
+PASS [["stylewithcss","false"],["bold",""]] "foo<span style=\"font-weight: bold\">[bar</span>]baz" queryCommandState("bold") before 
+FAIL [["stylewithcss","false"],["bold",""]] "foo<span style=\"font-weight: bold\">[bar</span>]baz" queryCommandValue("bold") before assert_equals: Wrong result returned expected "" but got "true"
+PASS [["stylewithcss","false"],["bold",""]] "foo<span style=\"font-weight: bold\">[bar</span>]baz" queryCommandIndeterm("bold") after 
+PASS [["stylewithcss","false"],["bold",""]] "foo<span style=\"font-weight: bold\">[bar</span>]baz" queryCommandState("bold") after 
+FAIL [["stylewithcss","false"],["bold",""]] "foo<span style=\"font-weight: bold\">[bar</span>]baz" queryCommandValue("bold") after assert_equals: Wrong result returned expected "" but got "false"
+PASS [["stylewithcss","true"],["bold",""]] "<b>{<p>foo</p><p>bar</p>}<p>baz</p></b>": execCommand("stylewithcss", false, "true") return value 
+PASS [["stylewithcss","true"],["bold",""]] "<b>{<p>foo</p><p>bar</p>}<p>baz</p></b>": execCommand("bold", false, "") return value 
+PASS [["stylewithcss","true"],["bold",""]] "<b>{<p>foo</p><p>bar</p>}<p>baz</p></b>" checks for modifications to non-editable content 
+FAIL [["stylewithcss","true"],["bold",""]] "<b>{<p>foo</p><p>bar</p>}<p>baz</p></b>" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<p>foo</p><p>bar</p><p><span style=\"font-weight:bold\">baz</span></p>" but got "<p style=\"\">foo</p><p style=\"\">bar</p><p style=\"font-weight:bold\">baz</p>"
+PASS [["stylewithcss","true"],["bold",""]] "<b>{<p>foo</p><p>bar</p>}<p>baz</p></b>" queryCommandIndeterm("stylewithcss") before 
+PASS [["stylewithcss","true"],["bold",""]] "<b>{<p>foo</p><p>bar</p>}<p>baz</p></b>" queryCommandState("stylewithcss") before 
+PASS [["stylewithcss","true"],["bold",""]] "<b>{<p>foo</p><p>bar</p>}<p>baz</p></b>" queryCommandValue("stylewithcss") before 
+PASS [["stylewithcss","true"],["bold",""]] "<b>{<p>foo</p><p>bar</p>}<p>baz</p></b>" queryCommandIndeterm("stylewithcss") after 
+PASS [["stylewithcss","true"],["bold",""]] "<b>{<p>foo</p><p>bar</p>}<p>baz</p></b>" queryCommandState("stylewithcss") after 
+PASS [["stylewithcss","true"],["bold",""]] "<b>{<p>foo</p><p>bar</p>}<p>baz</p></b>" queryCommandValue("stylewithcss") after 
+PASS [["stylewithcss","true"],["bold",""]] "<b>{<p>foo</p><p>bar</p>}<p>baz</p></b>" queryCommandIndeterm("bold") before 
+PASS [["stylewithcss","true"],["bold",""]] "<b>{<p>foo</p><p>bar</p>}<p>baz</p></b>" queryCommandState("bold") before 
+FAIL [["stylewithcss","true"],["bold",""]] "<b>{<p>foo</p><p>bar</p>}<p>baz</p></b>" queryCommandValue("bold") before assert_equals: Wrong result returned expected "" but got "true"
+PASS [["stylewithcss","true"],["bold",""]] "<b>{<p>foo</p><p>bar</p>}<p>baz</p></b>" queryCommandIndeterm("bold") after 
+PASS [["stylewithcss","true"],["bold",""]] "<b>{<p>foo</p><p>bar</p>}<p>baz</p></b>" queryCommandState("bold") after 
+FAIL [["stylewithcss","true"],["bold",""]] "<b>{<p>foo</p><p>bar</p>}<p>baz</p></b>" queryCommandValue("bold") after assert_equals: Wrong result returned expected "" but got "false"
+PASS [["stylewithcss","false"],["bold",""]] "<b>{<p>foo</p><p>bar</p>}<p>baz</p></b>": execCommand("stylewithcss", false, "false") return value 
+PASS [["stylewithcss","false"],["bold",""]] "<b>{<p>foo</p><p>bar</p>}<p>baz</p></b>": execCommand("bold", false, "") return value 
+PASS [["stylewithcss","false"],["bold",""]] "<b>{<p>foo</p><p>bar</p>}<p>baz</p></b>" checks for modifications to non-editable content 
+FAIL [["stylewithcss","false"],["bold",""]] "<b>{<p>foo</p><p>bar</p>}<p>baz</p></b>" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<p>foo</p><p>bar</p><p><b>baz</b></p>" but got "<p style=\"\">foo</p><p style=\"\">bar</p><p style=\"font-weight:bold\">baz</p>"
+PASS [["stylewithcss","false"],["bold",""]] "<b>{<p>foo</p><p>bar</p>}<p>baz</p></b>" queryCommandIndeterm("stylewithcss") before 
+PASS [["stylewithcss","false"],["bold",""]] "<b>{<p>foo</p><p>bar</p>}<p>baz</p></b>" queryCommandState("stylewithcss") before 
+PASS [["stylewithcss","false"],["bold",""]] "<b>{<p>foo</p><p>bar</p>}<p>baz</p></b>" queryCommandValue("stylewithcss") before 
+PASS [["stylewithcss","false"],["bold",""]] "<b>{<p>foo</p><p>bar</p>}<p>baz</p></b>" queryCommandIndeterm("stylewithcss") after 
+PASS [["stylewithcss","false"],["bold",""]] "<b>{<p>foo</p><p>bar</p>}<p>baz</p></b>" queryCommandState("stylewithcss") after 
+PASS [["stylewithcss","false"],["bold",""]] "<b>{<p>foo</p><p>bar</p>}<p>baz</p></b>" queryCommandValue("stylewithcss") after 
+PASS [["stylewithcss","false"],["bold",""]] "<b>{<p>foo</p><p>bar</p>}<p>baz</p></b>" queryCommandIndeterm("bold") before 
+PASS [["stylewithcss","false"],["bold",""]] "<b>{<p>foo</p><p>bar</p>}<p>baz</p></b>" queryCommandState("bold") before 
+FAIL [["stylewithcss","false"],["bold",""]] "<b>{<p>foo</p><p>bar</p>}<p>baz</p></b>" queryCommandValue("bold") before assert_equals: Wrong result returned expected "" but got "true"
+PASS [["stylewithcss","false"],["bold",""]] "<b>{<p>foo</p><p>bar</p>}<p>baz</p></b>" queryCommandIndeterm("bold") after 
+PASS [["stylewithcss","false"],["bold",""]] "<b>{<p>foo</p><p>bar</p>}<p>baz</p></b>" queryCommandState("bold") after 
+FAIL [["stylewithcss","false"],["bold",""]] "<b>{<p>foo</p><p>bar</p>}<p>baz</p></b>" queryCommandValue("bold") after assert_equals: Wrong result returned expected "" but got "false"
+PASS [["stylewithcss","true"],["bold",""]] "<b><p>foo[<i>bar</i>}</p><p>baz</p></b>": execCommand("stylewithcss", false, "true") return value 
+PASS [["stylewithcss","true"],["bold",""]] "<b><p>foo[<i>bar</i>}</p><p>baz</p></b>": execCommand("bold", false, "") return value 
+PASS [["stylewithcss","true"],["bold",""]] "<b><p>foo[<i>bar</i>}</p><p>baz</p></b>" checks for modifications to non-editable content 
+FAIL [["stylewithcss","true"],["bold",""]] "<b><p>foo[<i>bar</i>}</p><p>baz</p></b>" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<p><span style=\"font-weight:bold\">foo</span><i>bar</i></p><p><span style=\"font-weight:bold\">baz</span></p>" but got "<p style=\"\"><span style=\"font-weight:bold\">foo</span><i style=\"\">bar</i></p><p style=\"font-weight:bold\">baz</p>"
+PASS [["stylewithcss","true"],["bold",""]] "<b><p>foo[<i>bar</i>}</p><p>baz</p></b>" queryCommandIndeterm("stylewithcss") before 
+PASS [["stylewithcss","true"],["bold",""]] "<b><p>foo[<i>bar</i>}</p><p>baz</p></b>" queryCommandState("stylewithcss") before 
+PASS [["stylewithcss","true"],["bold",""]] "<b><p>foo[<i>bar</i>}</p><p>baz</p></b>" queryCommandValue("stylewithcss") before 
+PASS [["stylewithcss","true"],["bold",""]] "<b><p>foo[<i>bar</i>}</p><p>baz</p></b>" queryCommandIndeterm("stylewithcss") after 
+PASS [["stylewithcss","true"],["bold",""]] "<b><p>foo[<i>bar</i>}</p><p>baz</p></b>" queryCommandState("stylewithcss") after 
+PASS [["stylewithcss","true"],["bold",""]] "<b><p>foo[<i>bar</i>}</p><p>baz</p></b>" queryCommandValue("stylewithcss") after 
+PASS [["stylewithcss","true"],["bold",""]] "<b><p>foo[<i>bar</i>}</p><p>baz</p></b>" queryCommandIndeterm("bold") before 
+PASS [["stylewithcss","true"],["bold",""]] "<b><p>foo[<i>bar</i>}</p><p>baz</p></b>" queryCommandState("bold") before 
+FAIL [["stylewithcss","true"],["bold",""]] "<b><p>foo[<i>bar</i>}</p><p>baz</p></b>" queryCommandValue("bold") before assert_equals: Wrong result returned expected "" but got "true"
+PASS [["stylewithcss","true"],["bold",""]] "<b><p>foo[<i>bar</i>}</p><p>baz</p></b>" queryCommandIndeterm("bold") after 
+PASS [["stylewithcss","true"],["bold",""]] "<b><p>foo[<i>bar</i>}</p><p>baz</p></b>" queryCommandState("bold") after 
+FAIL [["stylewithcss","true"],["bold",""]] "<b><p>foo[<i>bar</i>}</p><p>baz</p></b>" queryCommandValue("bold") after assert_equals: Wrong result returned expected "" but got "false"
+PASS [["stylewithcss","false"],["bold",""]] "<b><p>foo[<i>bar</i>}</p><p>baz</p></b>": execCommand("stylewithcss", false, "false") return value 
+PASS [["stylewithcss","false"],["bold",""]] "<b><p>foo[<i>bar</i>}</p><p>baz</p></b>": execCommand("bold", false, "") return value 
+PASS [["stylewithcss","false"],["bold",""]] "<b><p>foo[<i>bar</i>}</p><p>baz</p></b>" checks for modifications to non-editable content 
+FAIL [["stylewithcss","false"],["bold",""]] "<b><p>foo[<i>bar</i>}</p><p>baz</p></b>" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<p><b>foo</b><i>bar</i></p><p><b>baz</b></p>" but got "<p style=\"\"><b>foo</b><i style=\"\">bar</i></p><p style=\"font-weight:bold\">baz</p>"
+PASS [["stylewithcss","false"],["bold",""]] "<b><p>foo[<i>bar</i>}</p><p>baz</p></b>" queryCommandIndeterm("stylewithcss") before 
+PASS [["stylewithcss","false"],["bold",""]] "<b><p>foo[<i>bar</i>}</p><p>baz</p></b>" queryCommandState("stylewithcss") before 
+PASS [["stylewithcss","false"],["bold",""]] "<b><p>foo[<i>bar</i>}</p><p>baz</p></b>" queryCommandValue("stylewithcss") before 
+PASS [["stylewithcss","false"],["bold",""]] "<b><p>foo[<i>bar</i>}</p><p>baz</p></b>" queryCommandIndeterm("stylewithcss") after 
+PASS [["stylewithcss","false"],["bold",""]] "<b><p>foo[<i>bar</i>}</p><p>baz</p></b>" queryCommandState("stylewithcss") after 
+PASS [["stylewithcss","false"],["bold",""]] "<b><p>foo[<i>bar</i>}</p><p>baz</p></b>" queryCommandValue("stylewithcss") after 
+PASS [["stylewithcss","false"],["bold",""]] "<b><p>foo[<i>bar</i>}</p><p>baz</p></b>" queryCommandIndeterm("bold") before 
+PASS [["stylewithcss","false"],["bold",""]] "<b><p>foo[<i>bar</i>}</p><p>baz</p></b>" queryCommandState("bold") before 
+FAIL [["stylewithcss","false"],["bold",""]] "<b><p>foo[<i>bar</i>}</p><p>baz</p></b>" queryCommandValue("bold") before assert_equals: Wrong result returned expected "" but got "true"
+PASS [["stylewithcss","false"],["bold",""]] "<b><p>foo[<i>bar</i>}</p><p>baz</p></b>" queryCommandIndeterm("bold") after 
+PASS [["stylewithcss","false"],["bold",""]] "<b><p>foo[<i>bar</i>}</p><p>baz</p></b>" queryCommandState("bold") after 
+FAIL [["stylewithcss","false"],["bold",""]] "<b><p>foo[<i>bar</i>}</p><p>baz</p></b>" queryCommandValue("bold") after assert_equals: Wrong result returned expected "" but got "false"
+PASS [["bold",""]] "foo [bar <b>baz] qoz</b> quz sic": execCommand("bold", false, "") return value 
+PASS [["bold",""]] "foo [bar <b>baz] qoz</b> quz sic" checks for modifications to non-editable content 
+PASS [["bold",""]] "foo [bar <b>baz] qoz</b> quz sic" compare innerHTML 
+FAIL [["bold",""]] "foo [bar <b>baz] qoz</b> quz sic" queryCommandIndeterm("bold") before assert_equals: Wrong result returned expected true but got false
+PASS [["bold",""]] "foo [bar <b>baz] qoz</b> quz sic" queryCommandState("bold") before 
+FAIL [["bold",""]] "foo [bar <b>baz] qoz</b> quz sic" queryCommandValue("bold") before assert_equals: Wrong result returned expected "" but got "false"
+PASS [["bold",""]] "foo [bar <b>baz] qoz</b> quz sic" queryCommandIndeterm("bold") after 
+PASS [["bold",""]] "foo [bar <b>baz] qoz</b> quz sic" queryCommandState("bold") after 
+FAIL [["bold",""]] "foo [bar <b>baz] qoz</b> quz sic" queryCommandValue("bold") after assert_equals: Wrong result returned expected "" but got "true"
+PASS [["bold",""]] "foo bar <b>baz [qoz</b> quz] sic": execCommand("bold", false, "") return value 
+PASS [["bold",""]] "foo bar <b>baz [qoz</b> quz] sic" checks for modifications to non-editable content 
+FAIL [["bold",""]] "foo bar <b>baz [qoz</b> quz] sic" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "foo bar <b>baz qoz quz</b> sic" but got "foo bar <b>baz </b>qoz quz sic"
+FAIL [["bold",""]] "foo bar <b>baz [qoz</b> quz] sic" queryCommandIndeterm("bold") before assert_equals: Wrong result returned expected true but got false
+FAIL [["bold",""]] "foo bar <b>baz [qoz</b> quz] sic" queryCommandState("bold") before assert_equals: Wrong result returned expected false but got true
+FAIL [["bold",""]] "foo bar <b>baz [qoz</b> quz] sic" queryCommandValue("bold") before assert_equals: Wrong result returned expected "" but got "true"
+PASS [["bold",""]] "foo bar <b>baz [qoz</b> quz] sic" queryCommandIndeterm("bold") after 
+FAIL [["bold",""]] "foo bar <b>baz [qoz</b> quz] sic" queryCommandState("bold") after assert_equals: Wrong result returned expected true but got false
+FAIL [["bold",""]] "foo bar <b>baz [qoz</b> quz] sic" queryCommandValue("bold") after assert_equals: Wrong result returned expected "" but got "false"
+PASS [["stylewithcss","true"],["bold",""]] "<b id=purple>bar [baz] qoz</b>": execCommand("stylewithcss", false, "true") return value 
+PASS [["stylewithcss","true"],["bold",""]] "<b id=purple>bar [baz] qoz</b>": execCommand("bold", false, "") return value 
+PASS [["stylewithcss","true"],["bold",""]] "<b id=purple>bar [baz] qoz</b>" checks for modifications to non-editable content 
+FAIL [["stylewithcss","true"],["bold",""]] "<b id=purple>bar [baz] qoz</b>" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<span id=\"purple\"><span style=\"font-weight:bold\">bar </span>baz<span style=\"font-weight:bold\"> qoz</span></span>" but got "<b id=\"purple\">bar </b>baz<b> qoz</b>"
+PASS [["stylewithcss","true"],["bold",""]] "<b id=purple>bar [baz] qoz</b>" queryCommandIndeterm("stylewithcss") before 
+PASS [["stylewithcss","true"],["bold",""]] "<b id=purple>bar [baz] qoz</b>" queryCommandState("stylewithcss") before 
+PASS [["stylewithcss","true"],["bold",""]] "<b id=purple>bar [baz] qoz</b>" queryCommandValue("stylewithcss") before 
+PASS [["stylewithcss","true"],["bold",""]] "<b id=purple>bar [baz] qoz</b>" queryCommandIndeterm("stylewithcss") after 
+PASS [["stylewithcss","true"],["bold",""]] "<b id=purple>bar [baz] qoz</b>" queryCommandState("stylewithcss") after 
+PASS [["stylewithcss","true"],["bold",""]] "<b id=purple>bar [baz] qoz</b>" queryCommandValue("stylewithcss") after 
+PASS [["stylewithcss","true"],["bold",""]] "<b id=purple>bar [baz] qoz</b>" queryCommandIndeterm("bold") before 
+PASS [["stylewithcss","true"],["bold",""]] "<b id=purple>bar [baz] qoz</b>" queryCommandState("bold") before 
+FAIL [["stylewithcss","true"],["bold",""]] "<b id=purple>bar [baz] qoz</b>" queryCommandValue("bold") before assert_equals: Wrong result returned expected "" but got "true"
+PASS [["stylewithcss","true"],["bold",""]] "<b id=purple>bar [baz] qoz</b>" queryCommandIndeterm("bold") after 
+PASS [["stylewithcss","true"],["bold",""]] "<b id=purple>bar [baz] qoz</b>" queryCommandState("bold") after 
+FAIL [["stylewithcss","true"],["bold",""]] "<b id=purple>bar [baz] qoz</b>" queryCommandValue("bold") after assert_equals: Wrong result returned expected "" but got "false"
+PASS [["stylewithcss","false"],["bold",""]] "<b id=purple>bar [baz] qoz</b>": execCommand("stylewithcss", false, "false") return value 
+PASS [["stylewithcss","false"],["bold",""]] "<b id=purple>bar [baz] qoz</b>": execCommand("bold", false, "") return value 
+PASS [["stylewithcss","false"],["bold",""]] "<b id=purple>bar [baz] qoz</b>" checks for modifications to non-editable content 
+FAIL [["stylewithcss","false"],["bold",""]] "<b id=purple>bar [baz] qoz</b>" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<span id=\"purple\"><b>bar </b>baz<b> qoz</b></span>" but got "<b id=\"purple\">bar </b>baz<b> qoz</b>"
+PASS [["stylewithcss","false"],["bold",""]] "<b id=purple>bar [baz] qoz</b>" queryCommandIndeterm("stylewithcss") before 
+PASS [["stylewithcss","false"],["bold",""]] "<b id=purple>bar [baz] qoz</b>" queryCommandState("stylewithcss") before 
+PASS [["stylewithcss","false"],["bold",""]] "<b id=purple>bar [baz] qoz</b>" queryCommandValue("stylewithcss") before 
+PASS [["stylewithcss","false"],["bold",""]] "<b id=purple>bar [baz] qoz</b>" queryCommandIndeterm("stylewithcss") after 
+PASS [["stylewithcss","false"],["bold",""]] "<b id=purple>bar [baz] qoz</b>" queryCommandState("stylewithcss") after 
+PASS [["stylewithcss","false"],["bold",""]] "<b id=purple>bar [baz] qoz</b>" queryCommandValue("stylewithcss") after 
+PASS [["stylewithcss","false"],["bold",""]] "<b id=purple>bar [baz] qoz</b>" queryCommandIndeterm("bold") before 
+PASS [["stylewithcss","false"],["bold",""]] "<b id=purple>bar [baz] qoz</b>" queryCommandState("bold") before 
+FAIL [["stylewithcss","false"],["bold",""]] "<b id=purple>bar [baz] qoz</b>" queryCommandValue("bold") before assert_equals: Wrong result returned expected "" but got "true"
+PASS [["stylewithcss","false"],["bold",""]] "<b id=purple>bar [baz] qoz</b>" queryCommandIndeterm("bold") after 
+PASS [["stylewithcss","false"],["bold",""]] "<b id=purple>bar [baz] qoz</b>" queryCommandState("bold") after 
+FAIL [["stylewithcss","false"],["bold",""]] "<b id=purple>bar [baz] qoz</b>" queryCommandValue("bold") after assert_equals: Wrong result returned expected "" but got "false"
+PASS [["stylewithcss","true"],["bold",""]] "foo<span style=\"font-weight: 100\">[bar]</span>baz": execCommand("stylewithcss", false, "true") return value 
+PASS [["stylewithcss","true"],["bold",""]] "foo<span style=\"font-weight: 100\">[bar]</span>baz": execCommand("bold", false, "") return value 
+PASS [["stylewithcss","true"],["bold",""]] "foo<span style=\"font-weight: 100\">[bar]</span>baz" checks for modifications to non-editable content 
+PASS [["stylewithcss","true"],["bold",""]] "foo<span style=\"font-weight: 100\">[bar]</span>baz" compare innerHTML 
+PASS [["stylewithcss","true"],["bold",""]] "foo<span style=\"font-weight: 100\">[bar]</span>baz" queryCommandIndeterm("stylewithcss") before 
+PASS [["stylewithcss","true"],["bold",""]] "foo<span style=\"font-weight: 100\">[bar]</span>baz" queryCommandState("stylewithcss") before 
+PASS [["stylewithcss","true"],["bold",""]] "foo<span style=\"font-weight: 100\">[bar]</span>baz" queryCommandValue("stylewithcss") before 
+PASS [["stylewithcss","true"],["bold",""]] "foo<span style=\"font-weight: 100\">[bar]</span>baz" queryCommandIndeterm("stylewithcss") after 
+PASS [["stylewithcss","true"],["bold",""]] "foo<span style=\"font-weight: 100\">[bar]</span>baz" queryCommandState("stylewithcss") after 
+PASS [["stylewithcss","true"],["bold",""]] "foo<span style=\"font-weight: 100\">[bar]</span>baz" queryCommandValue("stylewithcss") after 
+PASS [["stylewithcss","true"],["bold",""]] "foo<span style=\"font-weight: 100\">[bar]</span>baz" queryCommandIndeterm("bold") before 
+PASS [["stylewithcss","true"],["bold",""]] "foo<span style=\"font-weight: 100\">[bar]</span>baz" queryCommandState("bold") before 
+FAIL [["stylewithcss","true"],["bold",""]] "foo<span style=\"font-weight: 100\">[bar]</span>baz" queryCommandValue("bold") before assert_equals: Wrong result returned expected "" but got "false"
+PASS [["stylewithcss","true"],["bold",""]] "foo<span style=\"font-weight: 100\">[bar]</span>baz" queryCommandIndeterm("bold") after 
+PASS [["stylewithcss","true"],["bold",""]] "foo<span style=\"font-weight: 100\">[bar]</span>baz" queryCommandState("bold") after 
+FAIL [["stylewithcss","true"],["bold",""]] "foo<span style=\"font-weight: 100\">[bar]</span>baz" queryCommandValue("bold") after assert_equals: Wrong result returned expected "" but got "true"
+PASS [["stylewithcss","false"],["bold",""]] "foo<span style=\"font-weight: 100\">[bar]</span>baz": execCommand("stylewithcss", false, "false") return value 
+PASS [["stylewithcss","false"],["bold",""]] "foo<span style=\"font-weight: 100\">[bar]</span>baz": execCommand("bold", false, "") return value 
+PASS [["stylewithcss","false"],["bold",""]] "foo<span style=\"font-weight: 100\">[bar]</span>baz" checks for modifications to non-editable content 
+PASS [["stylewithcss","false"],["bold",""]] "foo<span style=\"font-weight: 100\">[bar]</span>baz" compare innerHTML 
+PASS [["stylewithcss","false"],["bold",""]] "foo<span style=\"font-weight: 100\">[bar]</span>baz" queryCommandIndeterm("stylewithcss") before 
+PASS [["stylewithcss","false"],["bold",""]] "foo<span style=\"font-weight: 100\">[bar]</span>baz" queryCommandState("stylewithcss") before 
+PASS [["stylewithcss","false"],["bold",""]] "foo<span style=\"font-weight: 100\">[bar]</span>baz" queryCommandValue("stylewithcss") before 
+PASS [["stylewithcss","false"],["bold",""]] "foo<span style=\"font-weight: 100\">[bar]</span>baz" queryCommandIndeterm("stylewithcss") after 
+PASS [["stylewithcss","false"],["bold",""]] "foo<span style=\"font-weight: 100\">[bar]</span>baz" queryCommandState("stylewithcss") after 
+PASS [["stylewithcss","false"],["bold",""]] "foo<span style=\"font-weight: 100\">[bar]</span>baz" queryCommandValue("stylewithcss") after 
+PASS [["stylewithcss","false"],["bold",""]] "foo<span style=\"font-weight: 100\">[bar]</span>baz" queryCommandIndeterm("bold") before 
+PASS [["stylewithcss","false"],["bold",""]] "foo<span style=\"font-weight: 100\">[bar]</span>baz" queryCommandState("bold") before 
+FAIL [["stylewithcss","false"],["bold",""]] "foo<span style=\"font-weight: 100\">[bar]</span>baz" queryCommandValue("bold") before assert_equals: Wrong result returned expected "" but got "false"
+PASS [["stylewithcss","false"],["bold",""]] "foo<span style=\"font-weight: 100\">[bar]</span>baz" queryCommandIndeterm("bold") after 
+PASS [["stylewithcss","false"],["bold",""]] "foo<span style=\"font-weight: 100\">[bar]</span>baz" queryCommandState("bold") after 
+FAIL [["stylewithcss","false"],["bold",""]] "foo<span style=\"font-weight: 100\">[bar]</span>baz" queryCommandValue("bold") after assert_equals: Wrong result returned expected "" but got "true"
+PASS [["stylewithcss","true"],["bold",""]] "foo<span style=\"font-weight: 200\">[bar]</span>baz": execCommand("stylewithcss", false, "true") return value 
+PASS [["stylewithcss","true"],["bold",""]] "foo<span style=\"font-weight: 200\">[bar]</span>baz": execCommand("bold", false, "") return value 
+PASS [["stylewithcss","true"],["bold",""]] "foo<span style=\"font-weight: 200\">[bar]</span>baz" checks for modifications to non-editable content 
+PASS [["stylewithcss","true"],["bold",""]] "foo<span style=\"font-weight: 200\">[bar]</span>baz" compare innerHTML 
+PASS [["stylewithcss","true"],["bold",""]] "foo<span style=\"font-weight: 200\">[bar]</span>baz" queryCommandIndeterm("stylewithcss") before 
+PASS [["stylewithcss","true"],["bold",""]] "foo<span style=\"font-weight: 200\">[bar]</span>baz" queryCommandState("stylewithcss") before 
+PASS [["stylewithcss","true"],["bold",""]] "foo<span style=\"font-weight: 200\">[bar]</span>baz" queryCommandValue("stylewithcss") before 
+PASS [["stylewithcss","true"],["bold",""]] "foo<span style=\"font-weight: 200\">[bar]</span>baz" queryCommandIndeterm("stylewithcss") after 
+PASS [["stylewithcss","true"],["bold",""]] "foo<span style=\"font-weight: 200\">[bar]</span>baz" queryCommandState("stylewithcss") after 
+PASS [["stylewithcss","true"],["bold",""]] "foo<span style=\"font-weight: 200\">[bar]</span>baz" queryCommandValue("stylewithcss") after 
+PASS [["stylewithcss","true"],["bold",""]] "foo<span style=\"font-weight: 200\">[bar]</span>baz" queryCommandIndeterm("bold") before 
+PASS [["stylewithcss","true"],["bold",""]] "foo<span style=\"font-weight: 200\">[bar]</span>baz" queryCommandState("bold") before 
+FAIL [["stylewithcss","true"],["bold",""]] "foo<span style=\"font-weight: 200\">[bar]</span>baz" queryCommandValue("bold") before assert_equals: Wrong result returned expected "" but got "false"
+PASS [["stylewithcss","true"],["bold",""]] "foo<span style=\"font-weight: 200\">[bar]</span>baz" queryCommandIndeterm("bold") after 
+PASS [["stylewithcss","true"],["bold",""]] "foo<span style=\"font-weight: 200\">[bar]</span>baz" queryCommandState("bold") after 
+FAIL [["stylewithcss","true"],["bold",""]] "foo<span style=\"font-weight: 200\">[bar]</span>baz" queryCommandValue("bold") after assert_equals: Wrong result returned expected "" but got "true"
+PASS [["stylewithcss","false"],["bold",""]] "foo<span style=\"font-weight: 200\">[bar]</span>baz": execCommand("stylewithcss", false, "false") return value 
+PASS [["stylewithcss","false"],["bold",""]] "foo<span style=\"font-weight: 200\">[bar]</span>baz": execCommand("bold", false, "") return value 
+PASS [["stylewithcss","false"],["bold",""]] "foo<span style=\"font-weight: 200\">[bar]</span>baz" checks for modifications to non-editable content 
+PASS [["stylewithcss","false"],["bold",""]] "foo<span style=\"font-weight: 200\">[bar]</span>baz" compare innerHTML 
+PASS [["stylewithcss","false"],["bold",""]] "foo<span style=\"font-weight: 200\">[bar]</span>baz" queryCommandIndeterm("stylewithcss") before 
+PASS [["stylewithcss","false"],["bold",""]] "foo<span style=\"font-weight: 200\">[bar]</span>baz" queryCommandState("stylewithcss") before 
+PASS [["stylewithcss","false"],["bold",""]] "foo<span style=\"font-weight: 200\">[bar]</span>baz" queryCommandValue("stylewithcss") before 
+PASS [["stylewithcss","false"],["bold",""]] "foo<span style=\"font-weight: 200\">[bar]</span>baz" queryCommandIndeterm("stylewithcss") after 
+PASS [["stylewithcss","false"],["bold",""]] "foo<span style=\"font-weight: 200\">[bar]</span>baz" queryCommandState("stylewithcss") after 
+PASS [["stylewithcss","false"],["bold",""]] "foo<span style=\"font-weight: 200\">[bar]</span>baz" queryCommandValue("stylewithcss") after 
+PASS [["stylewithcss","false"],["bold",""]] "foo<span style=\"font-weight: 200\">[bar]</span>baz" queryCommandIndeterm("bold") before 
+PASS [["stylewithcss","false"],["bold",""]] "foo<span style=\"font-weight: 200\">[bar]</span>baz" queryCommandState("bold") before 
+FAIL [["stylewithcss","false"],["bold",""]] "foo<span style=\"font-weight: 200\">[bar]</span>baz" queryCommandValue("bold") before assert_equals: Wrong result returned expected "" but got "false"
+PASS [["stylewithcss","false"],["bold",""]] "foo<span style=\"font-weight: 200\">[bar]</span>baz" queryCommandIndeterm("bold") after 
+PASS [["stylewithcss","false"],["bold",""]] "foo<span style=\"font-weight: 200\">[bar]</span>baz" queryCommandState("bold") after 
+FAIL [["stylewithcss","false"],["bold",""]] "foo<span style=\"font-weight: 200\">[bar]</span>baz" queryCommandValue("bold") after assert_equals: Wrong result returned expected "" but got "true"
+PASS [["stylewithcss","true"],["bold",""]] "foo<span style=\"font-weight: 300\">[bar]</span>baz": execCommand("stylewithcss", false, "true") return value 
+PASS [["stylewithcss","true"],["bold",""]] "foo<span style=\"font-weight: 300\">[bar]</span>baz": execCommand("bold", false, "") return value 
+PASS [["stylewithcss","true"],["bold",""]] "foo<span style=\"font-weight: 300\">[bar]</span>baz" checks for modifications to non-editable content 
+PASS [["stylewithcss","true"],["bold",""]] "foo<span style=\"font-weight: 300\">[bar]</span>baz" compare innerHTML 
+PASS [["stylewithcss","true"],["bold",""]] "foo<span style=\"font-weight: 300\">[bar]</span>baz" queryCommandIndeterm("stylewithcss") before 
+PASS [["stylewithcss","true"],["bold",""]] "foo<span style=\"font-weight: 300\">[bar]</span>baz" queryCommandState("stylewithcss") before 
+PASS [["stylewithcss","true"],["bold",""]] "foo<span style=\"font-weight: 300\">[bar]</span>baz" queryCommandValue("stylewithcss") before 
+PASS [["stylewithcss","true"],["bold",""]] "foo<span style=\"font-weight: 300\">[bar]</span>baz" queryCommandIndeterm("stylewithcss") after 
+PASS [["stylewithcss","true"],["bold",""]] "foo<span style=\"font-weight: 300\">[bar]</span>baz" queryCommandState("stylewithcss") after 
+PASS [["stylewithcss","true"],["bold",""]] "foo<span style=\"font-weight: 300\">[bar]</span>baz" queryCommandValue("stylewithcss") after 
+PASS [["stylewithcss","true"],["bold",""]] "foo<span style=\"font-weight: 300\">[bar]</span>baz" queryCommandIndeterm("bold") before 
+PASS [["stylewithcss","true"],["bold",""]] "foo<span style=\"font-weight: 300\">[bar]</span>baz" queryCommandState("bold") before 
+FAIL [["stylewithcss","true"],["bold",""]] "foo<span style=\"font-weight: 300\">[bar]</span>baz" queryCommandValue("bold") before assert_equals: Wrong result returned expected "" but got "false"
+PASS [["stylewithcss","true"],["bold",""]] "foo<span style=\"font-weight: 300\">[bar]</span>baz" queryCommandIndeterm("bold") after 
+PASS [["stylewithcss","true"],["bold",""]] "foo<span style=\"font-weight: 300\">[bar]</span>baz" queryCommandState("bold") after 
+FAIL [["stylewithcss","true"],["bold",""]] "foo<span style=\"font-weight: 300\">[bar]</span>baz" queryCommandValue("bold") after assert_equals: Wrong result returned expected "" but got "true"
+PASS [["stylewithcss","false"],["bold",""]] "foo<span style=\"font-weight: 300\">[bar]</span>baz": execCommand("stylewithcss", false, "false") return value 
+PASS [["stylewithcss","false"],["bold",""]] "foo<span style=\"font-weight: 300\">[bar]</span>baz": execCommand("bold", false, "") return value 
+PASS [["stylewithcss","false"],["bold",""]] "foo<span style=\"font-weight: 300\">[bar]</span>baz" checks for modifications to non-editable content 
+PASS [["stylewithcss","false"],["bold",""]] "foo<span style=\"font-weight: 300\">[bar]</span>baz" compare innerHTML 
+PASS [["stylewithcss","false"],["bold",""]] "foo<span style=\"font-weight: 300\">[bar]</span>baz" queryCommandIndeterm("stylewithcss") before 
+PASS [["stylewithcss","false"],["bold",""]] "foo<span style=\"font-weight: 300\">[bar]</span>baz" queryCommandState("stylewithcss") before 
+PASS [["stylewithcss","false"],["bold",""]] "foo<span style=\"font-weight: 300\">[bar]</span>baz" queryCommandValue("stylewithcss") before 
+PASS [["stylewithcss","false"],["bold",""]] "foo<span style=\"font-weight: 300\">[bar]</span>baz" queryCommandIndeterm("stylewithcss") after 
+PASS [["stylewithcss","false"],["bold",""]] "foo<span style=\"font-weight: 300\">[bar]</span>baz" queryCommandState("stylewithcss") after 
+PASS [["stylewithcss","false"],["bold",""]] "foo<span style=\"font-weight: 300\">[bar]</span>baz" queryCommandValue("stylewithcss") after 
+PASS [["stylewithcss","false"],["bold",""]] "foo<span style=\"font-weight: 300\">[bar]</span>baz" queryCommandIndeterm("bold") before 
+PASS [["stylewithcss","false"],["bold",""]] "foo<span style=\"font-weight: 300\">[bar]</span>baz" queryCommandState("bold") before 
+FAIL [["stylewithcss","false"],["bold",""]] "foo<span style=\"font-weight: 300\">[bar]</span>baz" queryCommandValue("bold") before assert_equals: Wrong result returned expected "" but got "false"
+PASS [["stylewithcss","false"],["bold",""]] "foo<span style=\"font-weight: 300\">[bar]</span>baz" queryCommandIndeterm("bold") after 
+PASS [["stylewithcss","false"],["bold",""]] "foo<span style=\"font-weight: 300\">[bar]</span>baz" queryCommandState("bold") after 
+FAIL [["stylewithcss","false"],["bold",""]] "foo<span style=\"font-weight: 300\">[bar]</span>baz" queryCommandValue("bold") after assert_equals: Wrong result returned expected "" but got "true"
+PASS [["stylewithcss","true"],["bold",""]] "foo<span style=\"font-weight: 400\">[bar]</span>baz": execCommand("stylewithcss", false, "true") return value 
+PASS [["stylewithcss","true"],["bold",""]] "foo<span style=\"font-weight: 400\">[bar]</span>baz": execCommand("bold", false, "") return value 
+PASS [["stylewithcss","true"],["bold",""]] "foo<span style=\"font-weight: 400\">[bar]</span>baz" checks for modifications to non-editable content 
+PASS [["stylewithcss","true"],["bold",""]] "foo<span style=\"font-weight: 400\">[bar]</span>baz" compare innerHTML 
+PASS [["stylewithcss","true"],["bold",""]] "foo<span style=\"font-weight: 400\">[bar]</span>baz" queryCommandIndeterm("stylewithcss") before 
+PASS [["stylewithcss","true"],["bold",""]] "foo<span style=\"font-weight: 400\">[bar]</span>baz" queryCommandState("stylewithcss") before 
+PASS [["stylewithcss","true"],["bold",""]] "foo<span style=\"font-weight: 400\">[bar]</span>baz" queryCommandValue("stylewithcss") before 
+PASS [["stylewithcss","true"],["bold",""]] "foo<span style=\"font-weight: 400\">[bar]</span>baz" queryCommandIndeterm("stylewithcss") after 
+PASS [["stylewithcss","true"],["bold",""]] "foo<span style=\"font-weight: 400\">[bar]</span>baz" queryCommandState("stylewithcss") after 
+PASS [["stylewithcss","true"],["bold",""]] "foo<span style=\"font-weight: 400\">[bar]</span>baz" queryCommandValue("stylewithcss") after 
+PASS [["stylewithcss","true"],["bold",""]] "foo<span style=\"font-weight: 400\">[bar]</span>baz" queryCommandIndeterm("bold") before 
+PASS [["stylewithcss","true"],["bold",""]] "foo<span style=\"font-weight: 400\">[bar]</span>baz" queryCommandState("bold") before 
+FAIL [["stylewithcss","true"],["bold",""]] "foo<span style=\"font-weight: 400\">[bar]</span>baz" queryCommandValue("bold") before assert_equals: Wrong result returned expected "" but got "false"
+PASS [["stylewithcss","true"],["bold",""]] "foo<span style=\"font-weight: 400\">[bar]</span>baz" queryCommandIndeterm("bold") after 
+PASS [["stylewithcss","true"],["bold",""]] "foo<span style=\"font-weight: 400\">[bar]</span>baz" queryCommandState("bold") after 
+FAIL [["stylewithcss","true"],["bold",""]] "foo<span style=\"font-weight: 400\">[bar]</span>baz" queryCommandValue("bold") after assert_equals: Wrong result returned expected "" but got "true"
+PASS [["stylewithcss","false"],["bold",""]] "foo<span style=\"font-weight: 400\">[bar]</span>baz": execCommand("stylewithcss", false, "false") return value 
+PASS [["stylewithcss","false"],["bold",""]] "foo<span style=\"font-weight: 400\">[bar]</span>baz": execCommand("bold", false, "") return value 
+PASS [["stylewithcss","false"],["bold",""]] "foo<span style=\"font-weight: 400\">[bar]</span>baz" checks for modifications to non-editable content 
+PASS [["stylewithcss","false"],["bold",""]] "foo<span style=\"font-weight: 400\">[bar]</span>baz" compare innerHTML 
+PASS [["stylewithcss","false"],["bold",""]] "foo<span style=\"font-weight: 400\">[bar]</span>baz" queryCommandIndeterm("stylewithcss") before 
+PASS [["stylewithcss","false"],["bold",""]] "foo<span style=\"font-weight: 400\">[bar]</span>baz" queryCommandState("stylewithcss") before 
+PASS [["stylewithcss","false"],["bold",""]] "foo<span style=\"font-weight: 400\">[bar]</span>baz" queryCommandValue("stylewithcss") before 
+PASS [["stylewithcss","false"],["bold",""]] "foo<span style=\"font-weight: 400\">[bar]</span>baz" queryCommandIndeterm("stylewithcss") after 
+PASS [["stylewithcss","false"],["bold",""]] "foo<span style=\"font-weight: 400\">[bar]</span>baz" queryCommandState("stylewithcss") after 
+PASS [["stylewithcss","false"],["bold",""]] "foo<span style=\"font-weight: 400\">[bar]</span>baz" queryCommandValue("stylewithcss") after 
+PASS [["stylewithcss","false"],["bold",""]] "foo<span style=\"font-weight: 400\">[bar]</span>baz" queryCommandIndeterm("bold") before 
+PASS [["stylewithcss","false"],["bold",""]] "foo<span style=\"font-weight: 400\">[bar]</span>baz" queryCommandState("bold") before 
+FAIL [["stylewithcss","false"],["bold",""]] "foo<span style=\"font-weight: 400\">[bar]</span>baz" queryCommandValue("bold") before assert_equals: Wrong result returned expected "" but got "false"
+PASS [["stylewithcss","false"],["bold",""]] "foo<span style=\"font-weight: 400\">[bar]</span>baz" queryCommandIndeterm("bold") after 
+PASS [["stylewithcss","false"],["bold",""]] "foo<span style=\"font-weight: 400\">[bar]</span>baz" queryCommandState("bold") after 
+FAIL [["stylewithcss","false"],["bold",""]] "foo<span style=\"font-weight: 400\">[bar]</span>baz" queryCommandValue("bold") after assert_equals: Wrong result returned expected "" but got "true"
+PASS [["stylewithcss","true"],["bold",""]] "foo<span style=\"font-weight: 500\">[bar]</span>baz": execCommand("stylewithcss", false, "true") return value 
+PASS [["stylewithcss","true"],["bold",""]] "foo<span style=\"font-weight: 500\">[bar]</span>baz": execCommand("bold", false, "") return value 
+PASS [["stylewithcss","true"],["bold",""]] "foo<span style=\"font-weight: 500\">[bar]</span>baz" checks for modifications to non-editable content 
+PASS [["stylewithcss","true"],["bold",""]] "foo<span style=\"font-weight: 500\">[bar]</span>baz" compare innerHTML 
+PASS [["stylewithcss","true"],["bold",""]] "foo<span style=\"font-weight: 500\">[bar]</span>baz" queryCommandIndeterm("stylewithcss") before 
+PASS [["stylewithcss","true"],["bold",""]] "foo<span style=\"font-weight: 500\">[bar]</span>baz" queryCommandState("stylewithcss") before 
+PASS [["stylewithcss","true"],["bold",""]] "foo<span style=\"font-weight: 500\">[bar]</span>baz" queryCommandValue("stylewithcss") before 
+PASS [["stylewithcss","true"],["bold",""]] "foo<span style=\"font-weight: 500\">[bar]</span>baz" queryCommandIndeterm("stylewithcss") after 
+PASS [["stylewithcss","true"],["bold",""]] "foo<span style=\"font-weight: 500\">[bar]</span>baz" queryCommandState("stylewithcss") after 
+PASS [["stylewithcss","true"],["bold",""]] "foo<span style=\"font-weight: 500\">[bar]</span>baz" queryCommandValue("stylewithcss") after 
+PASS [["stylewithcss","true"],["bold",""]] "foo<span style=\"font-weight: 500\">[bar]</span>baz" queryCommandIndeterm("bold") before 
+PASS [["stylewithcss","true"],["bold",""]] "foo<span style=\"font-weight: 500\">[bar]</span>baz" queryCommandState("bold") before 
+FAIL [["stylewithcss","true"],["bold",""]] "foo<span style=\"font-weight: 500\">[bar]</span>baz" queryCommandValue("bold") before assert_equals: Wrong result returned expected "" but got "false"
+PASS [["stylewithcss","true"],["bold",""]] "foo<span style=\"font-weight: 500\">[bar]</span>baz" queryCommandIndeterm("bold") after 
+PASS [["stylewithcss","true"],["bold",""]] "foo<span style=\"font-weight: 500\">[bar]</span>baz" queryCommandState("bold") after 
+FAIL [["stylewithcss","true"],["bold",""]] "foo<span style=\"font-weight: 500\">[bar]</span>baz" queryCommandValue("bold") after assert_equals: Wrong result returned expected "" but got "true"
+PASS [["stylewithcss","false"],["bold",""]] "foo<span style=\"font-weight: 500\">[bar]</span>baz": execCommand("stylewithcss", false, "false") return value 
+PASS [["stylewithcss","false"],["bold",""]] "foo<span style=\"font-weight: 500\">[bar]</span>baz": execCommand("bold", false, "") return value 
+PASS [["stylewithcss","false"],["bold",""]] "foo<span style=\"font-weight: 500\">[bar]</span>baz" checks for modifications to non-editable content 
+PASS [["stylewithcss","false"],["bold",""]] "foo<span style=\"font-weight: 500\">[bar]</span>baz" compare innerHTML 
+PASS [["stylewithcss","false"],["bold",""]] "foo<span style=\"font-weight: 500\">[bar]</span>baz" queryCommandIndeterm("stylewithcss") before 
+PASS [["stylewithcss","false"],["bold",""]] "foo<span style=\"font-weight: 500\">[bar]</span>baz" queryCommandState("stylewithcss") before 
+PASS [["stylewithcss","false"],["bold",""]] "foo<span style=\"font-weight: 500\">[bar]</span>baz" queryCommandValue("stylewithcss") before 
+PASS [["stylewithcss","false"],["bold",""]] "foo<span style=\"font-weight: 500\">[bar]</span>baz" queryCommandIndeterm("stylewithcss") after 
+PASS [["stylewithcss","false"],["bold",""]] "foo<span style=\"font-weight: 500\">[bar]</span>baz" queryCommandState("stylewithcss") after 
+PASS [["stylewithcss","false"],["bold",""]] "foo<span style=\"font-weight: 500\">[bar]</span>baz" queryCommandValue("stylewithcss") after 
+PASS [["stylewithcss","false"],["bold",""]] "foo<span style=\"font-weight: 500\">[bar]</span>baz" queryCommandIndeterm("bold") before 
+PASS [["stylewithcss","false"],["bold",""]] "foo<span style=\"font-weight: 500\">[bar]</span>baz" queryCommandState("bold") before 
+FAIL [["stylewithcss","false"],["bold",""]] "foo<span style=\"font-weight: 500\">[bar]</span>baz" queryCommandValue("bold") before assert_equals: Wrong result returned expected "" but got "false"
+PASS [["stylewithcss","false"],["bold",""]] "foo<span style=\"font-weight: 500\">[bar]</span>baz" queryCommandIndeterm("bold") after 
+PASS [["stylewithcss","false"],["bold",""]] "foo<span style=\"font-weight: 500\">[bar]</span>baz" queryCommandState("bold") after 
+FAIL [["stylewithcss","false"],["bold",""]] "foo<span style=\"font-weight: 500\">[bar]</span>baz" queryCommandValue("bold") after assert_equals: Wrong result returned expected "" but got "true"
+PASS [["stylewithcss","true"],["bold",""]] "foo<span style=\"font-weight: 600\">[bar]</span>baz": execCommand("stylewithcss", false, "true") return value 
+PASS [["stylewithcss","true"],["bold",""]] "foo<span style=\"font-weight: 600\">[bar]</span>baz": execCommand("bold", false, "") return value 
+PASS [["stylewithcss","true"],["bold",""]] "foo<span style=\"font-weight: 600\">[bar]</span>baz" checks for modifications to non-editable content 
+PASS [["stylewithcss","true"],["bold",""]] "foo<span style=\"font-weight: 600\">[bar]</span>baz" compare innerHTML 
+PASS [["stylewithcss","true"],["bold",""]] "foo<span style=\"font-weight: 600\">[bar]</span>baz" queryCommandIndeterm("stylewithcss") before 
+PASS [["stylewithcss","true"],["bold",""]] "foo<span style=\"font-weight: 600\">[bar]</span>baz" queryCommandState("stylewithcss") before 
+PASS [["stylewithcss","true"],["bold",""]] "foo<span style=\"font-weight: 600\">[bar]</span>baz" queryCommandValue("stylewithcss") before 
+PASS [["stylewithcss","true"],["bold",""]] "foo<span style=\"font-weight: 600\">[bar]</span>baz" queryCommandIndeterm("stylewithcss") after 
+PASS [["stylewithcss","true"],["bold",""]] "foo<span style=\"font-weight: 600\">[bar]</span>baz" queryCommandState("stylewithcss") after 
+PASS [["stylewithcss","true"],["bold",""]] "foo<span style=\"font-weight: 600\">[bar]</span>baz" queryCommandValue("stylewithcss") after 
+PASS [["stylewithcss","true"],["bold",""]] "foo<span style=\"font-weight: 600\">[bar]</span>baz" queryCommandIndeterm("bold") before 
+PASS [["stylewithcss","true"],["bold",""]] "foo<span style=\"font-weight: 600\">[bar]</span>baz" queryCommandState("bold") before 
+FAIL [["stylewithcss","true"],["bold",""]] "foo<span style=\"font-weight: 600\">[bar]</span>baz" queryCommandValue("bold") before assert_equals: Wrong result returned expected "" but got "true"
+PASS [["stylewithcss","true"],["bold",""]] "foo<span style=\"font-weight: 600\">[bar]</span>baz" queryCommandIndeterm("bold") after 
+PASS [["stylewithcss","true"],["bold",""]] "foo<span style=\"font-weight: 600\">[bar]</span>baz" queryCommandState("bold") after 
+FAIL [["stylewithcss","true"],["bold",""]] "foo<span style=\"font-weight: 600\">[bar]</span>baz" queryCommandValue("bold") after assert_equals: Wrong result returned expected "" but got "false"
+PASS [["stylewithcss","false"],["bold",""]] "foo<span style=\"font-weight: 600\">[bar]</span>baz": execCommand("stylewithcss", false, "false") return value 
+PASS [["stylewithcss","false"],["bold",""]] "foo<span style=\"font-weight: 600\">[bar]</span>baz": execCommand("bold", false, "") return value 
+PASS [["stylewithcss","false"],["bold",""]] "foo<span style=\"font-weight: 600\">[bar]</span>baz" checks for modifications to non-editable content 
+PASS [["stylewithcss","false"],["bold",""]] "foo<span style=\"font-weight: 600\">[bar]</span>baz" compare innerHTML 
+PASS [["stylewithcss","false"],["bold",""]] "foo<span style=\"font-weight: 600\">[bar]</span>baz" queryCommandIndeterm("stylewithcss") before 
+PASS [["stylewithcss","false"],["bold",""]] "foo<span style=\"font-weight: 600\">[bar]</span>baz" queryCommandState("stylewithcss") before 
+PASS [["stylewithcss","false"],["bold",""]] "foo<span style=\"font-weight: 600\">[bar]</span>baz" queryCommandValue("stylewithcss") before 
+PASS [["stylewithcss","false"],["bold",""]] "foo<span style=\"font-weight: 600\">[bar]</span>baz" queryCommandIndeterm("stylewithcss") after 
+PASS [["stylewithcss","false"],["bold",""]] "foo<span style=\"font-weight: 600\">[bar]</span>baz" queryCommandState("stylewithcss") after 
+PASS [["stylewithcss","false"],["bold",""]] "foo<span style=\"font-weight: 600\">[bar]</span>baz" queryCommandValue("stylewithcss") after 
+PASS [["stylewithcss","false"],["bold",""]] "foo<span style=\"font-weight: 600\">[bar]</span>baz" queryCommandIndeterm("bold") before 
+PASS [["stylewithcss","false"],["bold",""]] "foo<span style=\"font-weight: 600\">[bar]</span>baz" queryCommandState("bold") before 
+FAIL [["stylewithcss","false"],["bold",""]] "foo<span style=\"font-weight: 600\">[bar]</span>baz" queryCommandValue("bold") before assert_equals: Wrong result returned expected "" but got "true"
+PASS [["stylewithcss","false"],["bold",""]] "foo<span style=\"font-weight: 600\">[bar]</span>baz" queryCommandIndeterm("bold") after 
+PASS [["stylewithcss","false"],["bold",""]] "foo<span style=\"font-weight: 600\">[bar]</span>baz" queryCommandState("bold") after 
+FAIL [["stylewithcss","false"],["bold",""]] "foo<span style=\"font-weight: 600\">[bar]</span>baz" queryCommandValue("bold") after assert_equals: Wrong result returned expected "" but got "false"
+PASS [["stylewithcss","true"],["bold",""]] "foo<span style=\"font-weight: 700\">[bar]</span>baz": execCommand("stylewithcss", false, "true") return value 
+PASS [["stylewithcss","true"],["bold",""]] "foo<span style=\"font-weight: 700\">[bar]</span>baz": execCommand("bold", false, "") return value 
+PASS [["stylewithcss","true"],["bold",""]] "foo<span style=\"font-weight: 700\">[bar]</span>baz" checks for modifications to non-editable content 
+PASS [["stylewithcss","true"],["bold",""]] "foo<span style=\"font-weight: 700\">[bar]</span>baz" compare innerHTML 
+PASS [["stylewithcss","true"],["bold",""]] "foo<span style=\"font-weight: 700\">[bar]</span>baz" queryCommandIndeterm("stylewithcss") before 
+PASS [["stylewithcss","true"],["bold",""]] "foo<span style=\"font-weight: 700\">[bar]</span>baz" queryCommandState("stylewithcss") before 
+PASS [["stylewithcss","true"],["bold",""]] "foo<span style=\"font-weight: 700\">[bar]</span>baz" queryCommandValue("stylewithcss") before 
+PASS [["stylewithcss","true"],["bold",""]] "foo<span style=\"font-weight: 700\">[bar]</span>baz" queryCommandIndeterm("stylewithcss") after 
+PASS [["stylewithcss","true"],["bold",""]] "foo<span style=\"font-weight: 700\">[bar]</span>baz" queryCommandState("stylewithcss") after 
+PASS [["stylewithcss","true"],["bold",""]] "foo<span style=\"font-weight: 700\">[bar]</span>baz" queryCommandValue("stylewithcss") after 
+PASS [["stylewithcss","true"],["bold",""]] "foo<span style=\"font-weight: 700\">[bar]</span>baz" queryCommandIndeterm("bold") before 
+PASS [["stylewithcss","true"],["bold",""]] "foo<span style=\"font-weight: 700\">[bar]</span>baz" queryCommandState("bold") before 
+FAIL [["stylewithcss","true"],["bold",""]] "foo<span style=\"font-weight: 700\">[bar]</span>baz" queryCommandValue("bold") before assert_equals: Wrong result returned expected "" but got "true"
+PASS [["stylewithcss","true"],["bold",""]] "foo<span style=\"font-weight: 700\">[bar]</span>baz" queryCommandIndeterm("bold") after 
+PASS [["stylewithcss","true"],["bold",""]] "foo<span style=\"font-weight: 700\">[bar]</span>baz" queryCommandState("bold") after 
+FAIL [["stylewithcss","true"],["bold",""]] "foo<span style=\"font-weight: 700\">[bar]</span>baz" queryCommandValue("bold") after assert_equals: Wrong result returned expected "" but got "false"
+PASS [["stylewithcss","false"],["bold",""]] "foo<span style=\"font-weight: 700\">[bar]</span>baz": execCommand("stylewithcss", false, "false") return value 
+PASS [["stylewithcss","false"],["bold",""]] "foo<span style=\"font-weight: 700\">[bar]</span>baz": execCommand("bold", false, "") return value 
+PASS [["stylewithcss","false"],["bold",""]] "foo<span style=\"font-weight: 700\">[bar]</span>baz" checks for modifications to non-editable content 
+PASS [["stylewithcss","false"],["bold",""]] "foo<span style=\"font-weight: 700\">[bar]</span>baz" compare innerHTML 
+PASS [["stylewithcss","false"],["bold",""]] "foo<span style=\"font-weight: 700\">[bar]</span>baz" queryCommandIndeterm("stylewithcss") before 
+PASS [["stylewithcss","false"],["bold",""]] "foo<span style=\"font-weight: 700\">[bar]</span>baz" queryCommandState("stylewithcss") before 
+PASS [["stylewithcss","false"],["bold",""]] "foo<span style=\"font-weight: 700\">[bar]</span>baz" queryCommandValue("stylewithcss") before 
+PASS [["stylewithcss","false"],["bold",""]] "foo<span style=\"font-weight: 700\">[bar]</span>baz" queryCommandIndeterm("stylewithcss") after 
+PASS [["stylewithcss","false"],["bold",""]] "foo<span style=\"font-weight: 700\">[bar]</span>baz" queryCommandState("stylewithcss") after 
+PASS [["stylewithcss","false"],["bold",""]] "foo<span style=\"font-weight: 700\">[bar]</span>baz" queryCommandValue("stylewithcss") after 
+PASS [["stylewithcss","false"],["bold",""]] "foo<span style=\"font-weight: 700\">[bar]</span>baz" queryCommandIndeterm("bold") before 
+PASS [["stylewithcss","false"],["bold",""]] "foo<span style=\"font-weight: 700\">[bar]</span>baz" queryCommandState("bold") before 
+FAIL [["stylewithcss","false"],["bold",""]] "foo<span style=\"font-weight: 700\">[bar]</span>baz" queryCommandValue("bold") before assert_equals: Wrong result returned expected "" but got "true"
+PASS [["stylewithcss","false"],["bold",""]] "foo<span style=\"font-weight: 700\">[bar]</span>baz" queryCommandIndeterm("bold") after 
+PASS [["stylewithcss","false"],["bold",""]] "foo<span style=\"font-weight: 700\">[bar]</span>baz" queryCommandState("bold") after 
+FAIL [["stylewithcss","false"],["bold",""]] "foo<span style=\"font-weight: 700\">[bar]</span>baz" queryCommandValue("bold") after assert_equals: Wrong result returned expected "" but got "false"
+PASS [["stylewithcss","true"],["bold",""]] "foo<span style=\"font-weight: 800\">[bar]</span>baz": execCommand("stylewithcss", false, "true") return value 
+PASS [["stylewithcss","true"],["bold",""]] "foo<span style=\"font-weight: 800\">[bar]</span>baz": execCommand("bold", false, "") return value 
+PASS [["stylewithcss","true"],["bold",""]] "foo<span style=\"font-weight: 800\">[bar]</span>baz" checks for modifications to non-editable content 
+PASS [["stylewithcss","true"],["bold",""]] "foo<span style=\"font-weight: 800\">[bar]</span>baz" compare innerHTML 
+PASS [["stylewithcss","true"],["bold",""]] "foo<span style=\"font-weight: 800\">[bar]</span>baz" queryCommandIndeterm("stylewithcss") before 
+PASS [["stylewithcss","true"],["bold",""]] "foo<span style=\"font-weight: 800\">[bar]</span>baz" queryCommandState("stylewithcss") before 
+PASS [["stylewithcss","true"],["bold",""]] "foo<span style=\"font-weight: 800\">[bar]</span>baz" queryCommandValue("stylewithcss") before 
+PASS [["stylewithcss","true"],["bold",""]] "foo<span style=\"font-weight: 800\">[bar]</span>baz" queryCommandIndeterm("stylewithcss") after 
+PASS [["stylewithcss","true"],["bold",""]] "foo<span style=\"font-weight: 800\">[bar]</span>baz" queryCommandState("stylewithcss") after 
+PASS [["stylewithcss","true"],["bold",""]] "foo<span style=\"font-weight: 800\">[bar]</span>baz" queryCommandValue("stylewithcss") after 
+PASS [["stylewithcss","true"],["bold",""]] "foo<span style=\"font-weight: 800\">[bar]</span>baz" queryCommandIndeterm("bold") before 
+PASS [["stylewithcss","true"],["bold",""]] "foo<span style=\"font-weight: 800\">[bar]</span>baz" queryCommandState("bold") before 
+FAIL [["stylewithcss","true"],["bold",""]] "foo<span style=\"font-weight: 800\">[bar]</span>baz" queryCommandValue("bold") before assert_equals: Wrong result returned expected "" but got "true"
+PASS [["stylewithcss","true"],["bold",""]] "foo<span style=\"font-weight: 800\">[bar]</span>baz" queryCommandIndeterm("bold") after 
+PASS [["stylewithcss","true"],["bold",""]] "foo<span style=\"font-weight: 800\">[bar]</span>baz" queryCommandState("bold") after 
+FAIL [["stylewithcss","true"],["bold",""]] "foo<span style=\"font-weight: 800\">[bar]</span>baz" queryCommandValue("bold") after assert_equals: Wrong result returned expected "" but got "false"
+PASS [["stylewithcss","false"],["bold",""]] "foo<span style=\"font-weight: 800\">[bar]</span>baz": execCommand("stylewithcss", false, "false") return value 
+PASS [["stylewithcss","false"],["bold",""]] "foo<span style=\"font-weight: 800\">[bar]</span>baz": execCommand("bold", false, "") return value 
+PASS [["stylewithcss","false"],["bold",""]] "foo<span style=\"font-weight: 800\">[bar]</span>baz" checks for modifications to non-editable content 
+PASS [["stylewithcss","false"],["bold",""]] "foo<span style=\"font-weight: 800\">[bar]</span>baz" compare innerHTML 
+PASS [["stylewithcss","false"],["bold",""]] "foo<span style=\"font-weight: 800\">[bar]</span>baz" queryCommandIndeterm("stylewithcss") before 
+PASS [["stylewithcss","false"],["bold",""]] "foo<span style=\"font-weight: 800\">[bar]</span>baz" queryCommandState("stylewithcss") before 
+PASS [["stylewithcss","false"],["bold",""]] "foo<span style=\"font-weight: 800\">[bar]</span>baz" queryCommandValue("stylewithcss") before 
+PASS [["stylewithcss","false"],["bold",""]] "foo<span style=\"font-weight: 800\">[bar]</span>baz" queryCommandIndeterm("stylewithcss") after 
+PASS [["stylewithcss","false"],["bold",""]] "foo<span style=\"font-weight: 800\">[bar]</span>baz" queryCommandState("stylewithcss") after 
+PASS [["stylewithcss","false"],["bold",""]] "foo<span style=\"font-weight: 800\">[bar]</span>baz" queryCommandValue("stylewithcss") after 
+PASS [["stylewithcss","false"],["bold",""]] "foo<span style=\"font-weight: 800\">[bar]</span>baz" queryCommandIndeterm("bold") before 
+PASS [["stylewithcss","false"],["bold",""]] "foo<span style=\"font-weight: 800\">[bar]</span>baz" queryCommandState("bold") before 
+FAIL [["stylewithcss","false"],["bold",""]] "foo<span style=\"font-weight: 800\">[bar]</span>baz" queryCommandValue("bold") before assert_equals: Wrong result returned expected "" but got "true"
+PASS [["stylewithcss","false"],["bold",""]] "foo<span style=\"font-weight: 800\">[bar]</span>baz" queryCommandIndeterm("bold") after 
+PASS [["stylewithcss","false"],["bold",""]] "foo<span style=\"font-weight: 800\">[bar]</span>baz" queryCommandState("bold") after 
+FAIL [["stylewithcss","false"],["bold",""]] "foo<span style=\"font-weight: 800\">[bar]</span>baz" queryCommandValue("bold") after assert_equals: Wrong result returned expected "" but got "false"
+PASS [["stylewithcss","true"],["bold",""]] "foo<span style=\"font-weight: 900\">[bar]</span>baz": execCommand("stylewithcss", false, "true") return value 
+PASS [["stylewithcss","true"],["bold",""]] "foo<span style=\"font-weight: 900\">[bar]</span>baz": execCommand("bold", false, "") return value 
+PASS [["stylewithcss","true"],["bold",""]] "foo<span style=\"font-weight: 900\">[bar]</span>baz" checks for modifications to non-editable content 
+PASS [["stylewithcss","true"],["bold",""]] "foo<span style=\"font-weight: 900\">[bar]</span>baz" compare innerHTML 
+PASS [["stylewithcss","true"],["bold",""]] "foo<span style=\"font-weight: 900\">[bar]</span>baz" queryCommandIndeterm("stylewithcss") before 
+PASS [["stylewithcss","true"],["bold",""]] "foo<span style=\"font-weight: 900\">[bar]</span>baz" queryCommandState("stylewithcss") before 
+PASS [["stylewithcss","true"],["bold",""]] "foo<span style=\"font-weight: 900\">[bar]</span>baz" queryCommandValue("stylewithcss") before 
+PASS [["stylewithcss","true"],["bold",""]] "foo<span style=\"font-weight: 900\">[bar]</span>baz" queryCommandIndeterm("stylewithcss") after 
+PASS [["stylewithcss","true"],["bold",""]] "foo<span style=\"font-weight: 900\">[bar]</span>baz" queryCommandState("stylewithcss") after 
+PASS [["stylewithcss","true"],["bold",""]] "foo<span style=\"font-weight: 900\">[bar]</span>baz" queryCommandValue("stylewithcss") after 
+PASS [["stylewithcss","true"],["bold",""]] "foo<span style=\"font-weight: 900\">[bar]</span>baz" queryCommandIndeterm("bold") before 
+PASS [["stylewithcss","true"],["bold",""]] "foo<span style=\"font-weight: 900\">[bar]</span>baz" queryCommandState("bold") before 
+FAIL [["stylewithcss","true"],["bold",""]] "foo<span style=\"font-weight: 900\">[bar]</span>baz" queryCommandValue("bold") before assert_equals: Wrong result returned expected "" but got "true"
+PASS [["stylewithcss","true"],["bold",""]] "foo<span style=\"font-weight: 900\">[bar]</span>baz" queryCommandIndeterm("bold") after 
+PASS [["stylewithcss","true"],["bold",""]] "foo<span style=\"font-weight: 900\">[bar]</span>baz" queryCommandState("bold") after 
+FAIL [["stylewithcss","true"],["bold",""]] "foo<span style=\"font-weight: 900\">[bar]</span>baz" queryCommandValue("bold") after assert_equals: Wrong result returned expected "" but got "false"
+PASS [["stylewithcss","false"],["bold",""]] "foo<span style=\"font-weight: 900\">[bar]</span>baz": execCommand("stylewithcss", false, "false") return value 
+PASS [["stylewithcss","false"],["bold",""]] "foo<span style=\"font-weight: 900\">[bar]</span>baz": execCommand("bold", false, "") return value 
+PASS [["stylewithcss","false"],["bold",""]] "foo<span style=\"font-weight: 900\">[bar]</span>baz" checks for modifications to non-editable content 
+PASS [["stylewithcss","false"],["bold",""]] "foo<span style=\"font-weight: 900\">[bar]</span>baz" compare innerHTML 
+PASS [["stylewithcss","false"],["bold",""]] "foo<span style=\"font-weight: 900\">[bar]</span>baz" queryCommandIndeterm("stylewithcss") before 
+PASS [["stylewithcss","false"],["bold",""]] "foo<span style=\"font-weight: 900\">[bar]</span>baz" queryCommandState("stylewithcss") before 
+PASS [["stylewithcss","false"],["bold",""]] "foo<span style=\"font-weight: 900\">[bar]</span>baz" queryCommandValue("stylewithcss") before 
+PASS [["stylewithcss","false"],["bold",""]] "foo<span style=\"font-weight: 900\">[bar]</span>baz" queryCommandIndeterm("stylewithcss") after 
+PASS [["stylewithcss","false"],["bold",""]] "foo<span style=\"font-weight: 900\">[bar]</span>baz" queryCommandState("stylewithcss") after 
+PASS [["stylewithcss","false"],["bold",""]] "foo<span style=\"font-weight: 900\">[bar]</span>baz" queryCommandValue("stylewithcss") after 
+PASS [["stylewithcss","false"],["bold",""]] "foo<span style=\"font-weight: 900\">[bar]</span>baz" queryCommandIndeterm("bold") before 
+PASS [["stylewithcss","false"],["bold",""]] "foo<span style=\"font-weight: 900\">[bar]</span>baz" queryCommandState("bold") before 
+FAIL [["stylewithcss","false"],["bold",""]] "foo<span style=\"font-weight: 900\">[bar]</span>baz" queryCommandValue("bold") before assert_equals: Wrong result returned expected "" but got "true"
+PASS [["stylewithcss","false"],["bold",""]] "foo<span style=\"font-weight: 900\">[bar]</span>baz" queryCommandIndeterm("bold") after 
+PASS [["stylewithcss","false"],["bold",""]] "foo<span style=\"font-weight: 900\">[bar]</span>baz" queryCommandState("bold") after 
+FAIL [["stylewithcss","false"],["bold",""]] "foo<span style=\"font-weight: 900\">[bar]</span>baz" queryCommandValue("bold") after assert_equals: Wrong result returned expected "" but got "false"
+PASS [["stylewithcss","true"],["bold",""]] "foo<span style=\"font-weight: 400\">[bar</span>]baz": execCommand("stylewithcss", false, "true") return value 
+PASS [["stylewithcss","true"],["bold",""]] "foo<span style=\"font-weight: 400\">[bar</span>]baz": execCommand("bold", false, "") return value 
+PASS [["stylewithcss","true"],["bold",""]] "foo<span style=\"font-weight: 400\">[bar</span>]baz" checks for modifications to non-editable content 
+PASS [["stylewithcss","true"],["bold",""]] "foo<span style=\"font-weight: 400\">[bar</span>]baz" compare innerHTML 
+PASS [["stylewithcss","true"],["bold",""]] "foo<span style=\"font-weight: 400\">[bar</span>]baz" queryCommandIndeterm("stylewithcss") before 
+PASS [["stylewithcss","true"],["bold",""]] "foo<span style=\"font-weight: 400\">[bar</span>]baz" queryCommandState("stylewithcss") before 
+PASS [["stylewithcss","true"],["bold",""]] "foo<span style=\"font-weight: 400\">[bar</span>]baz" queryCommandValue("stylewithcss") before 
+PASS [["stylewithcss","true"],["bold",""]] "foo<span style=\"font-weight: 400\">[bar</span>]baz" queryCommandIndeterm("stylewithcss") after 
+PASS [["stylewithcss","true"],["bold",""]] "foo<span style=\"font-weight: 400\">[bar</span>]baz" queryCommandState("stylewithcss") after 
+PASS [["stylewithcss","true"],["bold",""]] "foo<span style=\"font-weight: 400\">[bar</span>]baz" queryCommandValue("stylewithcss") after 
+PASS [["stylewithcss","true"],["bold",""]] "foo<span style=\"font-weight: 400\">[bar</span>]baz" queryCommandIndeterm("bold") before 
+PASS [["stylewithcss","true"],["bold",""]] "foo<span style=\"font-weight: 400\">[bar</span>]baz" queryCommandState("bold") before 
+FAIL [["stylewithcss","true"],["bold",""]] "foo<span style=\"font-weight: 400\">[bar</span>]baz" queryCommandValue("bold") before assert_equals: Wrong result returned expected "" but got "false"
+PASS [["stylewithcss","true"],["bold",""]] "foo<span style=\"font-weight: 400\">[bar</span>]baz" queryCommandIndeterm("bold") after 
+PASS [["stylewithcss","true"],["bold",""]] "foo<span style=\"font-weight: 400\">[bar</span>]baz" queryCommandState("bold") after 
+FAIL [["stylewithcss","true"],["bold",""]] "foo<span style=\"font-weight: 400\">[bar</span>]baz" queryCommandValue("bold") after assert_equals: Wrong result returned expected "" but got "true"
+PASS [["stylewithcss","false"],["bold",""]] "foo<span style=\"font-weight: 400\">[bar</span>]baz": execCommand("stylewithcss", false, "false") return value 
+PASS [["stylewithcss","false"],["bold",""]] "foo<span style=\"font-weight: 400\">[bar</span>]baz": execCommand("bold", false, "") return value 
+PASS [["stylewithcss","false"],["bold",""]] "foo<span style=\"font-weight: 400\">[bar</span>]baz" checks for modifications to non-editable content 
+PASS [["stylewithcss","false"],["bold",""]] "foo<span style=\"font-weight: 400\">[bar</span>]baz" compare innerHTML 
+PASS [["stylewithcss","false"],["bold",""]] "foo<span style=\"font-weight: 400\">[bar</span>]baz" queryCommandIndeterm("stylewithcss") before 
+PASS [["stylewithcss","false"],["bold",""]] "foo<span style=\"font-weight: 400\">[bar</span>]baz" queryCommandState("stylewithcss") before 
+PASS [["stylewithcss","false"],["bold",""]] "foo<span style=\"font-weight: 400\">[bar</span>]baz" queryCommandValue("stylewithcss") before 
+PASS [["stylewithcss","false"],["bold",""]] "foo<span style=\"font-weight: 400\">[bar</span>]baz" queryCommandIndeterm("stylewithcss") after 
+PASS [["stylewithcss","false"],["bold",""]] "foo<span style=\"font-weight: 400\">[bar</span>]baz" queryCommandState("stylewithcss") after 
+PASS [["stylewithcss","false"],["bold",""]] "foo<span style=\"font-weight: 400\">[bar</span>]baz" queryCommandValue("stylewithcss") after 
+PASS [["stylewithcss","false"],["bold",""]] "foo<span style=\"font-weight: 400\">[bar</span>]baz" queryCommandIndeterm("bold") before 
+PASS [["stylewithcss","false"],["bold",""]] "foo<span style=\"font-weight: 400\">[bar</span>]baz" queryCommandState("bold") before 
+FAIL [["stylewithcss","false"],["bold",""]] "foo<span style=\"font-weight: 400\">[bar</span>]baz" queryCommandValue("bold") before assert_equals: Wrong result returned expected "" but got "false"
+PASS [["stylewithcss","false"],["bold",""]] "foo<span style=\"font-weight: 400\">[bar</span>]baz" queryCommandIndeterm("bold") after 
+PASS [["stylewithcss","false"],["bold",""]] "foo<span style=\"font-weight: 400\">[bar</span>]baz" queryCommandState("bold") after 
+FAIL [["stylewithcss","false"],["bold",""]] "foo<span style=\"font-weight: 400\">[bar</span>]baz" queryCommandValue("bold") after assert_equals: Wrong result returned expected "" but got "true"
+PASS [["stylewithcss","true"],["bold",""]] "foo<span style=\"font-weight: 700\">[bar</span>]baz": execCommand("stylewithcss", false, "true") return value 
+PASS [["stylewithcss","true"],["bold",""]] "foo<span style=\"font-weight: 700\">[bar</span>]baz": execCommand("bold", false, "") return value 
+PASS [["stylewithcss","true"],["bold",""]] "foo<span style=\"font-weight: 700\">[bar</span>]baz" checks for modifications to non-editable content 
+PASS [["stylewithcss","true"],["bold",""]] "foo<span style=\"font-weight: 700\">[bar</span>]baz" compare innerHTML 
+PASS [["stylewithcss","true"],["bold",""]] "foo<span style=\"font-weight: 700\">[bar</span>]baz" queryCommandIndeterm("stylewithcss") before 
+PASS [["stylewithcss","true"],["bold",""]] "foo<span style=\"font-weight: 700\">[bar</span>]baz" queryCommandState("stylewithcss") before 
+PASS [["stylewithcss","true"],["bold",""]] "foo<span style=\"font-weight: 700\">[bar</span>]baz" queryCommandValue("stylewithcss") before 
+PASS [["stylewithcss","true"],["bold",""]] "foo<span style=\"font-weight: 700\">[bar</span>]baz" queryCommandIndeterm("stylewithcss") after 
+PASS [["stylewithcss","true"],["bold",""]] "foo<span style=\"font-weight: 700\">[bar</span>]baz" queryCommandState("stylewithcss") after 
+PASS [["stylewithcss","true"],["bold",""]] "foo<span style=\"font-weight: 700\">[bar</span>]baz" queryCommandValue("stylewithcss") after 
+PASS [["stylewithcss","true"],["bold",""]] "foo<span style=\"font-weight: 700\">[bar</span>]baz" queryCommandIndeterm("bold") before 
+PASS [["stylewithcss","true"],["bold",""]] "foo<span style=\"font-weight: 700\">[bar</span>]baz" queryCommandState("bold") before 
+FAIL [["stylewithcss","true"],["bold",""]] "foo<span style=\"font-weight: 700\">[bar</span>]baz" queryCommandValue("bold") before assert_equals: Wrong result returned expected "" but got "true"
+PASS [["stylewithcss","true"],["bold",""]] "foo<span style=\"font-weight: 700\">[bar</span>]baz" queryCommandIndeterm("bold") after 
+PASS [["stylewithcss","true"],["bold",""]] "foo<span style=\"font-weight: 700\">[bar</span>]baz" queryCommandState("bold") after 
+FAIL [["stylewithcss","true"],["bold",""]] "foo<span style=\"font-weight: 700\">[bar</span>]baz" queryCommandValue("bold") after assert_equals: Wrong result returned expected "" but got "false"
+PASS [["stylewithcss","false"],["bold",""]] "foo<span style=\"font-weight: 700\">[bar</span>]baz": execCommand("stylewithcss", false, "false") return value 
+PASS [["stylewithcss","false"],["bold",""]] "foo<span style=\"font-weight: 700\">[bar</span>]baz": execCommand("bold", false, "") return value 
+PASS [["stylewithcss","false"],["bold",""]] "foo<span style=\"font-weight: 700\">[bar</span>]baz" checks for modifications to non-editable content 
+PASS [["stylewithcss","false"],["bold",""]] "foo<span style=\"font-weight: 700\">[bar</span>]baz" compare innerHTML 
+PASS [["stylewithcss","false"],["bold",""]] "foo<span style=\"font-weight: 700\">[bar</span>]baz" queryCommandIndeterm("stylewithcss") before 
+PASS [["stylewithcss","false"],["bold",""]] "foo<span style=\"font-weight: 700\">[bar</span>]baz" queryCommandState("stylewithcss") before 
+PASS [["stylewithcss","false"],["bold",""]] "foo<span style=\"font-weight: 700\">[bar</span>]baz" queryCommandValue("stylewithcss") before 
+PASS [["stylewithcss","false"],["bold",""]] "foo<span style=\"font-weight: 700\">[bar</span>]baz" queryCommandIndeterm("stylewithcss") after 
+PASS [["stylewithcss","false"],["bold",""]] "foo<span style=\"font-weight: 700\">[bar</span>]baz" queryCommandState("stylewithcss") after 
+PASS [["stylewithcss","false"],["bold",""]] "foo<span style=\"font-weight: 700\">[bar</span>]baz" queryCommandValue("stylewithcss") after 
+PASS [["stylewithcss","false"],["bold",""]] "foo<span style=\"font-weight: 700\">[bar</span>]baz" queryCommandIndeterm("bold") before 
+PASS [["stylewithcss","false"],["bold",""]] "foo<span style=\"font-weight: 700\">[bar</span>]baz" queryCommandState("bold") before 
+FAIL [["stylewithcss","false"],["bold",""]] "foo<span style=\"font-weight: 700\">[bar</span>]baz" queryCommandValue("bold") before assert_equals: Wrong result returned expected "" but got "true"
+PASS [["stylewithcss","false"],["bold",""]] "foo<span style=\"font-weight: 700\">[bar</span>]baz" queryCommandIndeterm("bold") after 
+PASS [["stylewithcss","false"],["bold",""]] "foo<span style=\"font-weight: 700\">[bar</span>]baz" queryCommandState("bold") after 
+FAIL [["stylewithcss","false"],["bold",""]] "foo<span style=\"font-weight: 700\">[bar</span>]baz" queryCommandValue("bold") after assert_equals: Wrong result returned expected "" but got "false"
+PASS [["stylewithcss","true"],["bold",""]] "foo[<span style=\"font-weight: 400\">bar]</span>baz": execCommand("stylewithcss", false, "true") return value 
+PASS [["stylewithcss","true"],["bold",""]] "foo[<span style=\"font-weight: 400\">bar]</span>baz": execCommand("bold", false, "") return value 
+PASS [["stylewithcss","true"],["bold",""]] "foo[<span style=\"font-weight: 400\">bar]</span>baz" checks for modifications to non-editable content 
+PASS [["stylewithcss","true"],["bold",""]] "foo[<span style=\"font-weight: 400\">bar]</span>baz" compare innerHTML 
+PASS [["stylewithcss","true"],["bold",""]] "foo[<span style=\"font-weight: 400\">bar]</span>baz" queryCommandIndeterm("stylewithcss") before 
+PASS [["stylewithcss","true"],["bold",""]] "foo[<span style=\"font-weight: 400\">bar]</span>baz" queryCommandState("stylewithcss") before 
+PASS [["stylewithcss","true"],["bold",""]] "foo[<span style=\"font-weight: 400\">bar]</span>baz" queryCommandValue("stylewithcss") before 
+PASS [["stylewithcss","true"],["bold",""]] "foo[<span style=\"font-weight: 400\">bar]</span>baz" queryCommandIndeterm("stylewithcss") after 
+PASS [["stylewithcss","true"],["bold",""]] "foo[<span style=\"font-weight: 400\">bar]</span>baz" queryCommandState("stylewithcss") after 
+PASS [["stylewithcss","true"],["bold",""]] "foo[<span style=\"font-weight: 400\">bar]</span>baz" queryCommandValue("stylewithcss") after 
+PASS [["stylewithcss","true"],["bold",""]] "foo[<span style=\"font-weight: 400\">bar]</span>baz" queryCommandIndeterm("bold") before 
+PASS [["stylewithcss","true"],["bold",""]] "foo[<span style=\"font-weight: 400\">bar]</span>baz" queryCommandState("bold") before 
+FAIL [["stylewithcss","true"],["bold",""]] "foo[<span style=\"font-weight: 400\">bar]</span>baz" queryCommandValue("bold") before assert_equals: Wrong result returned expected "" but got "false"
+PASS [["stylewithcss","true"],["bold",""]] "foo[<span style=\"font-weight: 400\">bar]</span>baz" queryCommandIndeterm("bold") after 
+PASS [["stylewithcss","true"],["bold",""]] "foo[<span style=\"font-weight: 400\">bar]</span>baz" queryCommandState("bold") after 
+FAIL [["stylewithcss","true"],["bold",""]] "foo[<span style=\"font-weight: 400\">bar]</span>baz" queryCommandValue("bold") after assert_equals: Wrong result returned expected "" but got "true"
+PASS [["stylewithcss","false"],["bold",""]] "foo[<span style=\"font-weight: 400\">bar]</span>baz": execCommand("stylewithcss", false, "false") return value 
+PASS [["stylewithcss","false"],["bold",""]] "foo[<span style=\"font-weight: 400\">bar]</span>baz": execCommand("bold", false, "") return value 
+PASS [["stylewithcss","false"],["bold",""]] "foo[<span style=\"font-weight: 400\">bar]</span>baz" checks for modifications to non-editable content 
+PASS [["stylewithcss","false"],["bold",""]] "foo[<span style=\"font-weight: 400\">bar]</span>baz" compare innerHTML 
+PASS [["stylewithcss","false"],["bold",""]] "foo[<span style=\"font-weight: 400\">bar]</span>baz" queryCommandIndeterm("stylewithcss") before 
+PASS [["stylewithcss","false"],["bold",""]] "foo[<span style=\"font-weight: 400\">bar]</span>baz" queryCommandState("stylewithcss") before 
+PASS [["stylewithcss","false"],["bold",""]] "foo[<span style=\"font-weight: 400\">bar]</span>baz" queryCommandValue("stylewithcss") before 
+PASS [["stylewithcss","false"],["bold",""]] "foo[<span style=\"font-weight: 400\">bar]</span>baz" queryCommandIndeterm("stylewithcss") after 
+PASS [["stylewithcss","false"],["bold",""]] "foo[<span style=\"font-weight: 400\">bar]</span>baz" queryCommandState("stylewithcss") after 
+PASS [["stylewithcss","false"],["bold",""]] "foo[<span style=\"font-weight: 400\">bar]</span>baz" queryCommandValue("stylewithcss") after 
+PASS [["stylewithcss","false"],["bold",""]] "foo[<span style=\"font-weight: 400\">bar]</span>baz" queryCommandIndeterm("bold") before 
+PASS [["stylewithcss","false"],["bold",""]] "foo[<span style=\"font-weight: 400\">bar]</span>baz" queryCommandState("bold") before 
+FAIL [["stylewithcss","false"],["bold",""]] "foo[<span style=\"font-weight: 400\">bar]</span>baz" queryCommandValue("bold") before assert_equals: Wrong result returned expected "" but got "false"
+PASS [["stylewithcss","false"],["bold",""]] "foo[<span style=\"font-weight: 400\">bar]</span>baz" queryCommandIndeterm("bold") after 
+PASS [["stylewithcss","false"],["bold",""]] "foo[<span style=\"font-weight: 400\">bar]</span>baz" queryCommandState("bold") after 
+FAIL [["stylewithcss","false"],["bold",""]] "foo[<span style=\"font-weight: 400\">bar]</span>baz" queryCommandValue("bold") after assert_equals: Wrong result returned expected "" but got "true"
+PASS [["stylewithcss","true"],["bold",""]] "foo[<span style=\"font-weight: 700\">bar]</span>baz": execCommand("stylewithcss", false, "true") return value 
+PASS [["stylewithcss","true"],["bold",""]] "foo[<span style=\"font-weight: 700\">bar]</span>baz": execCommand("bold", false, "") return value 
+PASS [["stylewithcss","true"],["bold",""]] "foo[<span style=\"font-weight: 700\">bar]</span>baz" checks for modifications to non-editable content 
+PASS [["stylewithcss","true"],["bold",""]] "foo[<span style=\"font-weight: 700\">bar]</span>baz" compare innerHTML 
+PASS [["stylewithcss","true"],["bold",""]] "foo[<span style=\"font-weight: 700\">bar]</span>baz" queryCommandIndeterm("stylewithcss") before 
+PASS [["stylewithcss","true"],["bold",""]] "foo[<span style=\"font-weight: 700\">bar]</span>baz" queryCommandState("stylewithcss") before 
+PASS [["stylewithcss","true"],["bold",""]] "foo[<span style=\"font-weight: 700\">bar]</span>baz" queryCommandValue("stylewithcss") before 
+PASS [["stylewithcss","true"],["bold",""]] "foo[<span style=\"font-weight: 700\">bar]</span>baz" queryCommandIndeterm("stylewithcss") after 
+PASS [["stylewithcss","true"],["bold",""]] "foo[<span style=\"font-weight: 700\">bar]</span>baz" queryCommandState("stylewithcss") after 
+PASS [["stylewithcss","true"],["bold",""]] "foo[<span style=\"font-weight: 700\">bar]</span>baz" queryCommandValue("stylewithcss") after 
+PASS [["stylewithcss","true"],["bold",""]] "foo[<span style=\"font-weight: 700\">bar]</span>baz" queryCommandIndeterm("bold") before 
+PASS [["stylewithcss","true"],["bold",""]] "foo[<span style=\"font-weight: 700\">bar]</span>baz" queryCommandState("bold") before 
+FAIL [["stylewithcss","true"],["bold",""]] "foo[<span style=\"font-weight: 700\">bar]</span>baz" queryCommandValue("bold") before assert_equals: Wrong result returned expected "" but got "true"
+PASS [["stylewithcss","true"],["bold",""]] "foo[<span style=\"font-weight: 700\">bar]</span>baz" queryCommandIndeterm("bold") after 
+PASS [["stylewithcss","true"],["bold",""]] "foo[<span style=\"font-weight: 700\">bar]</span>baz" queryCommandState("bold") after 
+FAIL [["stylewithcss","true"],["bold",""]] "foo[<span style=\"font-weight: 700\">bar]</span>baz" queryCommandValue("bold") after assert_equals: Wrong result returned expected "" but got "false"
+PASS [["stylewithcss","false"],["bold",""]] "foo[<span style=\"font-weight: 700\">bar]</span>baz": execCommand("stylewithcss", false, "false") return value 
+PASS [["stylewithcss","false"],["bold",""]] "foo[<span style=\"font-weight: 700\">bar]</span>baz": execCommand("bold", false, "") return value 
+PASS [["stylewithcss","false"],["bold",""]] "foo[<span style=\"font-weight: 700\">bar]</span>baz" checks for modifications to non-editable content 
+PASS [["stylewithcss","false"],["bold",""]] "foo[<span style=\"font-weight: 700\">bar]</span>baz" compare innerHTML 
+PASS [["stylewithcss","false"],["bold",""]] "foo[<span style=\"font-weight: 700\">bar]</span>baz" queryCommandIndeterm("stylewithcss") before 
+PASS [["stylewithcss","false"],["bold",""]] "foo[<span style=\"font-weight: 700\">bar]</span>baz" queryCommandState("stylewithcss") before 
+PASS [["stylewithcss","false"],["bold",""]] "foo[<span style=\"font-weight: 700\">bar]</span>baz" queryCommandValue("stylewithcss") before 
+PASS [["stylewithcss","false"],["bold",""]] "foo[<span style=\"font-weight: 700\">bar]</span>baz" queryCommandIndeterm("stylewithcss") after 
+PASS [["stylewithcss","false"],["bold",""]] "foo[<span style=\"font-weight: 700\">bar]</span>baz" queryCommandState("stylewithcss") after 
+PASS [["stylewithcss","false"],["bold",""]] "foo[<span style=\"font-weight: 700\">bar]</span>baz" queryCommandValue("stylewithcss") after 
+PASS [["stylewithcss","false"],["bold",""]] "foo[<span style=\"font-weight: 700\">bar]</span>baz" queryCommandIndeterm("bold") before 
+PASS [["stylewithcss","false"],["bold",""]] "foo[<span style=\"font-weight: 700\">bar]</span>baz" queryCommandState("bold") before 
+FAIL [["stylewithcss","false"],["bold",""]] "foo[<span style=\"font-weight: 700\">bar]</span>baz" queryCommandValue("bold") before assert_equals: Wrong result returned expected "" but got "true"
+PASS [["stylewithcss","false"],["bold",""]] "foo[<span style=\"font-weight: 700\">bar]</span>baz" queryCommandIndeterm("bold") after 
+PASS [["stylewithcss","false"],["bold",""]] "foo[<span style=\"font-weight: 700\">bar]</span>baz" queryCommandState("bold") after 
+FAIL [["stylewithcss","false"],["bold",""]] "foo[<span style=\"font-weight: 700\">bar]</span>baz" queryCommandValue("bold") after assert_equals: Wrong result returned expected "" but got "false"
+PASS [["stylewithcss","true"],["bold",""]] "foo[<span style=\"font-weight: 400\">bar</span>]baz": execCommand("stylewithcss", false, "true") return value 
+PASS [["stylewithcss","true"],["bold",""]] "foo[<span style=\"font-weight: 400\">bar</span>]baz": execCommand("bold", false, "") return value 
+PASS [["stylewithcss","true"],["bold",""]] "foo[<span style=\"font-weight: 400\">bar</span>]baz" checks for modifications to non-editable content 
+PASS [["stylewithcss","true"],["bold",""]] "foo[<span style=\"font-weight: 400\">bar</span>]baz" compare innerHTML 
+PASS [["stylewithcss","true"],["bold",""]] "foo[<span style=\"font-weight: 400\">bar</span>]baz" queryCommandIndeterm("stylewithcss") before 
+PASS [["stylewithcss","true"],["bold",""]] "foo[<span style=\"font-weight: 400\">bar</span>]baz" queryCommandState("stylewithcss") before 
+PASS [["stylewithcss","true"],["bold",""]] "foo[<span style=\"font-weight: 400\">bar</span>]baz" queryCommandValue("stylewithcss") before 
+PASS [["stylewithcss","true"],["bold",""]] "foo[<span style=\"font-weight: 400\">bar</span>]baz" queryCommandIndeterm("stylewithcss") after 
+PASS [["stylewithcss","true"],["bold",""]] "foo[<span style=\"font-weight: 400\">bar</span>]baz" queryCommandState("stylewithcss") after 
+PASS [["stylewithcss","true"],["bold",""]] "foo[<span style=\"font-weight: 400\">bar</span>]baz" queryCommandValue("stylewithcss") after 
+PASS [["stylewithcss","true"],["bold",""]] "foo[<span style=\"font-weight: 400\">bar</span>]baz" queryCommandIndeterm("bold") before 
+PASS [["stylewithcss","true"],["bold",""]] "foo[<span style=\"font-weight: 400\">bar</span>]baz" queryCommandState("bold") before 
+FAIL [["stylewithcss","true"],["bold",""]] "foo[<span style=\"font-weight: 400\">bar</span>]baz" queryCommandValue("bold") before assert_equals: Wrong result returned expected "" but got "false"
+PASS [["stylewithcss","true"],["bold",""]] "foo[<span style=\"font-weight: 400\">bar</span>]baz" queryCommandIndeterm("bold") after 
+PASS [["stylewithcss","true"],["bold",""]] "foo[<span style=\"font-weight: 400\">bar</span>]baz" queryCommandState("bold") after 
+FAIL [["stylewithcss","true"],["bold",""]] "foo[<span style=\"font-weight: 400\">bar</span>]baz" queryCommandValue("bold") after assert_equals: Wrong result returned expected "" but got "true"
+PASS [["stylewithcss","false"],["bold",""]] "foo[<span style=\"font-weight: 400\">bar</span>]baz": execCommand("stylewithcss", false, "false") return value 
+PASS [["stylewithcss","false"],["bold",""]] "foo[<span style=\"font-weight: 400\">bar</span>]baz": execCommand("bold", false, "") return value 
+PASS [["stylewithcss","false"],["bold",""]] "foo[<span style=\"font-weight: 400\">bar</span>]baz" checks for modifications to non-editable content 
+PASS [["stylewithcss","false"],["bold",""]] "foo[<span style=\"font-weight: 400\">bar</span>]baz" compare innerHTML 
+PASS [["stylewithcss","false"],["bold",""]] "foo[<span style=\"font-weight: 400\">bar</span>]baz" queryCommandIndeterm("stylewithcss") before 
+PASS [["stylewithcss","false"],["bold",""]] "foo[<span style=\"font-weight: 400\">bar</span>]baz" queryCommandState("stylewithcss") before 
+PASS [["stylewithcss","false"],["bold",""]] "foo[<span style=\"font-weight: 400\">bar</span>]baz" queryCommandValue("stylewithcss") before 
+PASS [["stylewithcss","false"],["bold",""]] "foo[<span style=\"font-weight: 400\">bar</span>]baz" queryCommandIndeterm("stylewithcss") after 
+PASS [["stylewithcss","false"],["bold",""]] "foo[<span style=\"font-weight: 400\">bar</span>]baz" queryCommandState("stylewithcss") after 
+PASS [["stylewithcss","false"],["bold",""]] "foo[<span style=\"font-weight: 400\">bar</span>]baz" queryCommandValue("stylewithcss") after 
+PASS [["stylewithcss","false"],["bold",""]] "foo[<span style=\"font-weight: 400\">bar</span>]baz" queryCommandIndeterm("bold") before 
+PASS [["stylewithcss","false"],["bold",""]] "foo[<span style=\"font-weight: 400\">bar</span>]baz" queryCommandState("bold") before 
+FAIL [["stylewithcss","false"],["bold",""]] "foo[<span style=\"font-weight: 400\">bar</span>]baz" queryCommandValue("bold") before assert_equals: Wrong result returned expected "" but got "false"
+PASS [["stylewithcss","false"],["bold",""]] "foo[<span style=\"font-weight: 400\">bar</span>]baz" queryCommandIndeterm("bold") after 
+PASS [["stylewithcss","false"],["bold",""]] "foo[<span style=\"font-weight: 400\">bar</span>]baz" queryCommandState("bold") after 
+FAIL [["stylewithcss","false"],["bold",""]] "foo[<span style=\"font-weight: 400\">bar</span>]baz" queryCommandValue("bold") after assert_equals: Wrong result returned expected "" but got "true"
+PASS [["stylewithcss","true"],["bold",""]] "foo[<span style=\"font-weight: 700\">bar</span>]baz": execCommand("stylewithcss", false, "true") return value 
+PASS [["stylewithcss","true"],["bold",""]] "foo[<span style=\"font-weight: 700\">bar</span>]baz": execCommand("bold", false, "") return value 
+PASS [["stylewithcss","true"],["bold",""]] "foo[<span style=\"font-weight: 700\">bar</span>]baz" checks for modifications to non-editable content 
+PASS [["stylewithcss","true"],["bold",""]] "foo[<span style=\"font-weight: 700\">bar</span>]baz" compare innerHTML 
+PASS [["stylewithcss","true"],["bold",""]] "foo[<span style=\"font-weight: 700\">bar</span>]baz" queryCommandIndeterm("stylewithcss") before 
+PASS [["stylewithcss","true"],["bold",""]] "foo[<span style=\"font-weight: 700\">bar</span>]baz" queryCommandState("stylewithcss") before 
+PASS [["stylewithcss","true"],["bold",""]] "foo[<span style=\"font-weight: 700\">bar</span>]baz" queryCommandValue("stylewithcss") before 
+PASS [["stylewithcss","true"],["bold",""]] "foo[<span style=\"font-weight: 700\">bar</span>]baz" queryCommandIndeterm("stylewithcss") after 
+PASS [["stylewithcss","true"],["bold",""]] "foo[<span style=\"font-weight: 700\">bar</span>]baz" queryCommandState("stylewithcss") after 
+PASS [["stylewithcss","true"],["bold",""]] "foo[<span style=\"font-weight: 700\">bar</span>]baz" queryCommandValue("stylewithcss") after 
+PASS [["stylewithcss","true"],["bold",""]] "foo[<span style=\"font-weight: 700\">bar</span>]baz" queryCommandIndeterm("bold") before 
+PASS [["stylewithcss","true"],["bold",""]] "foo[<span style=\"font-weight: 700\">bar</span>]baz" queryCommandState("bold") before 
+FAIL [["stylewithcss","true"],["bold",""]] "foo[<span style=\"font-weight: 700\">bar</span>]baz" queryCommandValue("bold") before assert_equals: Wrong result returned expected "" but got "true"
+PASS [["stylewithcss","true"],["bold",""]] "foo[<span style=\"font-weight: 700\">bar</span>]baz" queryCommandIndeterm("bold") after 
+PASS [["stylewithcss","true"],["bold",""]] "foo[<span style=\"font-weight: 700\">bar</span>]baz" queryCommandState("bold") after 
+FAIL [["stylewithcss","true"],["bold",""]] "foo[<span style=\"font-weight: 700\">bar</span>]baz" queryCommandValue("bold") after assert_equals: Wrong result returned expected "" but got "false"
+PASS [["stylewithcss","false"],["bold",""]] "foo[<span style=\"font-weight: 700\">bar</span>]baz": execCommand("stylewithcss", false, "false") return value 
+PASS [["stylewithcss","false"],["bold",""]] "foo[<span style=\"font-weight: 700\">bar</span>]baz": execCommand("bold", false, "") return value 
+PASS [["stylewithcss","false"],["bold",""]] "foo[<span style=\"font-weight: 700\">bar</span>]baz" checks for modifications to non-editable content 
+PASS [["stylewithcss","false"],["bold",""]] "foo[<span style=\"font-weight: 700\">bar</span>]baz" compare innerHTML 
+PASS [["stylewithcss","false"],["bold",""]] "foo[<span style=\"font-weight: 700\">bar</span>]baz" queryCommandIndeterm("stylewithcss") before 
+PASS [["stylewithcss","false"],["bold",""]] "foo[<span style=\"font-weight: 700\">bar</span>]baz" queryCommandState("stylewithcss") before 
+PASS [["stylewithcss","false"],["bold",""]] "foo[<span style=\"font-weight: 700\">bar</span>]baz" queryCommandValue("stylewithcss") before 
+PASS [["stylewithcss","false"],["bold",""]] "foo[<span style=\"font-weight: 700\">bar</span>]baz" queryCommandIndeterm("stylewithcss") after 
+PASS [["stylewithcss","false"],["bold",""]] "foo[<span style=\"font-weight: 700\">bar</span>]baz" queryCommandState("stylewithcss") after 
+PASS [["stylewithcss","false"],["bold",""]] "foo[<span style=\"font-weight: 700\">bar</span>]baz" queryCommandValue("stylewithcss") after 
+PASS [["stylewithcss","false"],["bold",""]] "foo[<span style=\"font-weight: 700\">bar</span>]baz" queryCommandIndeterm("bold") before 
+PASS [["stylewithcss","false"],["bold",""]] "foo[<span style=\"font-weight: 700\">bar</span>]baz" queryCommandState("bold") before 
+FAIL [["stylewithcss","false"],["bold",""]] "foo[<span style=\"font-weight: 700\">bar</span>]baz" queryCommandValue("bold") before assert_equals: Wrong result returned expected "" but got "true"
+PASS [["stylewithcss","false"],["bold",""]] "foo[<span style=\"font-weight: 700\">bar</span>]baz" queryCommandIndeterm("bold") after 
+PASS [["stylewithcss","false"],["bold",""]] "foo[<span style=\"font-weight: 700\">bar</span>]baz" queryCommandState("bold") after 
+FAIL [["stylewithcss","false"],["bold",""]] "foo[<span style=\"font-weight: 700\">bar</span>]baz" queryCommandValue("bold") after assert_equals: Wrong result returned expected "" but got "false"
+PASS [["stylewithcss","true"],["bold",""]] "<span style=\"font-weight: 100\">foo[bar]baz</span>": execCommand("stylewithcss", false, "true") return value 
+PASS [["stylewithcss","true"],["bold",""]] "<span style=\"font-weight: 100\">foo[bar]baz</span>": execCommand("bold", false, "") return value 
+PASS [["stylewithcss","true"],["bold",""]] "<span style=\"font-weight: 100\">foo[bar]baz</span>" checks for modifications to non-editable content 
+FAIL [["stylewithcss","true"],["bold",""]] "<span style=\"font-weight: 100\">foo[bar]baz</span>" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<span style=\"font-weight:100\">foo<span style=\"font-weight:bold\">bar</span>baz</span>" but got "<span style=\"font-weight:100\">foo</span><span style=\"font-weight:bold\">bar</span><span style=\"font-weight:100\">baz</span>"
+PASS [["stylewithcss","true"],["bold",""]] "<span style=\"font-weight: 100\">foo[bar]baz</span>" queryCommandIndeterm("stylewithcss") before 
+PASS [["stylewithcss","true"],["bold",""]] "<span style=\"font-weight: 100\">foo[bar]baz</span>" queryCommandState("stylewithcss") before 
+PASS [["stylewithcss","true"],["bold",""]] "<span style=\"font-weight: 100\">foo[bar]baz</span>" queryCommandValue("stylewithcss") before 
+PASS [["stylewithcss","true"],["bold",""]] "<span style=\"font-weight: 100\">foo[bar]baz</span>" queryCommandIndeterm("stylewithcss") after 
+PASS [["stylewithcss","true"],["bold",""]] "<span style=\"font-weight: 100\">foo[bar]baz</span>" queryCommandState("stylewithcss") after 
+PASS [["stylewithcss","true"],["bold",""]] "<span style=\"font-weight: 100\">foo[bar]baz</span>" queryCommandValue("stylewithcss") after 
+PASS [["stylewithcss","true"],["bold",""]] "<span style=\"font-weight: 100\">foo[bar]baz</span>" queryCommandIndeterm("bold") before 
+PASS [["stylewithcss","true"],["bold",""]] "<span style=\"font-weight: 100\">foo[bar]baz</span>" queryCommandState("bold") before 
+FAIL [["stylewithcss","true"],["bold",""]] "<span style=\"font-weight: 100\">foo[bar]baz</span>" queryCommandValue("bold") before assert_equals: Wrong result returned expected "" but got "false"
+PASS [["stylewithcss","true"],["bold",""]] "<span style=\"font-weight: 100\">foo[bar]baz</span>" queryCommandIndeterm("bold") after 
+PASS [["stylewithcss","true"],["bold",""]] "<span style=\"font-weight: 100\">foo[bar]baz</span>" queryCommandState("bold") after 
+FAIL [["stylewithcss","true"],["bold",""]] "<span style=\"font-weight: 100\">foo[bar]baz</span>" queryCommandValue("bold") after assert_equals: Wrong result returned expected "" but got "true"
+PASS [["stylewithcss","false"],["bold",""]] "<span style=\"font-weight: 100\">foo[bar]baz</span>": execCommand("stylewithcss", false, "false") return value 
+PASS [["stylewithcss","false"],["bold",""]] "<span style=\"font-weight: 100\">foo[bar]baz</span>": execCommand("bold", false, "") return value 
+PASS [["stylewithcss","false"],["bold",""]] "<span style=\"font-weight: 100\">foo[bar]baz</span>" checks for modifications to non-editable content 
+FAIL [["stylewithcss","false"],["bold",""]] "<span style=\"font-weight: 100\">foo[bar]baz</span>" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<span style=\"font-weight:100\">foo<b>bar</b>baz</span>" but got "<span style=\"font-weight:100\">foo</span><b>bar</b><span style=\"font-weight:100\">baz</span>"
+PASS [["stylewithcss","false"],["bold",""]] "<span style=\"font-weight: 100\">foo[bar]baz</span>" queryCommandIndeterm("stylewithcss") before 
+PASS [["stylewithcss","false"],["bold",""]] "<span style=\"font-weight: 100\">foo[bar]baz</span>" queryCommandState("stylewithcss") before 
+PASS [["stylewithcss","false"],["bold",""]] "<span style=\"font-weight: 100\">foo[bar]baz</span>" queryCommandValue("stylewithcss") before 
+PASS [["stylewithcss","false"],["bold",""]] "<span style=\"font-weight: 100\">foo[bar]baz</span>" queryCommandIndeterm("stylewithcss") after 
+PASS [["stylewithcss","false"],["bold",""]] "<span style=\"font-weight: 100\">foo[bar]baz</span>" queryCommandState("stylewithcss") after 
+PASS [["stylewithcss","false"],["bold",""]] "<span style=\"font-weight: 100\">foo[bar]baz</span>" queryCommandValue("stylewithcss") after 
+PASS [["stylewithcss","false"],["bold",""]] "<span style=\"font-weight: 100\">foo[bar]baz</span>" queryCommandIndeterm("bold") before 
+PASS [["stylewithcss","false"],["bold",""]] "<span style=\"font-weight: 100\">foo[bar]baz</span>" queryCommandState("bold") before 
+FAIL [["stylewithcss","false"],["bold",""]] "<span style=\"font-weight: 100\">foo[bar]baz</span>" queryCommandValue("bold") before assert_equals: Wrong result returned expected "" but got "false"
+PASS [["stylewithcss","false"],["bold",""]] "<span style=\"font-weight: 100\">foo[bar]baz</span>" queryCommandIndeterm("bold") after 
+PASS [["stylewithcss","false"],["bold",""]] "<span style=\"font-weight: 100\">foo[bar]baz</span>" queryCommandState("bold") after 
+FAIL [["stylewithcss","false"],["bold",""]] "<span style=\"font-weight: 100\">foo[bar]baz</span>" queryCommandValue("bold") after assert_equals: Wrong result returned expected "" but got "true"
+PASS [["stylewithcss","true"],["bold",""]] "<span style=\"font-weight: 400\">foo[bar]baz</span>": execCommand("stylewithcss", false, "true") return value 
+PASS [["stylewithcss","true"],["bold",""]] "<span style=\"font-weight: 400\">foo[bar]baz</span>": execCommand("bold", false, "") return value 
+PASS [["stylewithcss","true"],["bold",""]] "<span style=\"font-weight: 400\">foo[bar]baz</span>" checks for modifications to non-editable content 
+FAIL [["stylewithcss","true"],["bold",""]] "<span style=\"font-weight: 400\">foo[bar]baz</span>" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<span style=\"font-weight:400\">foo<span style=\"font-weight:bold\">bar</span>baz</span>" but got "<span style=\"font-weight:400\">foo</span><span style=\"font-weight:bold\">bar</span><span style=\"font-weight:400\">baz</span>"
+PASS [["stylewithcss","true"],["bold",""]] "<span style=\"font-weight: 400\">foo[bar]baz</span>" queryCommandIndeterm("stylewithcss") before 
+PASS [["stylewithcss","true"],["bold",""]] "<span style=\"font-weight: 400\">foo[bar]baz</span>" queryCommandState("stylewithcss") before 
+PASS [["stylewithcss","true"],["bold",""]] "<span style=\"font-weight: 400\">foo[bar]baz</span>" queryCommandValue("stylewithcss") before 
+PASS [["stylewithcss","true"],["bold",""]] "<span style=\"font-weight: 400\">foo[bar]baz</span>" queryCommandIndeterm("stylewithcss") after 
+PASS [["stylewithcss","true"],["bold",""]] "<span style=\"font-weight: 400\">foo[bar]baz</span>" queryCommandState("stylewithcss") after 
+PASS [["stylewithcss","true"],["bold",""]] "<span style=\"font-weight: 400\">foo[bar]baz</span>" queryCommandValue("stylewithcss") after 
+PASS [["stylewithcss","true"],["bold",""]] "<span style=\"font-weight: 400\">foo[bar]baz</span>" queryCommandIndeterm("bold") before 
+PASS [["stylewithcss","true"],["bold",""]] "<span style=\"font-weight: 400\">foo[bar]baz</span>" queryCommandState("bold") before 
+FAIL [["stylewithcss","true"],["bold",""]] "<span style=\"font-weight: 400\">foo[bar]baz</span>" queryCommandValue("bold") before assert_equals: Wrong result returned expected "" but got "false"
+PASS [["stylewithcss","true"],["bold",""]] "<span style=\"font-weight: 400\">foo[bar]baz</span>" queryCommandIndeterm("bold") after 
+PASS [["stylewithcss","true"],["bold",""]] "<span style=\"font-weight: 400\">foo[bar]baz</span>" queryCommandState("bold") after 
+FAIL [["stylewithcss","true"],["bold",""]] "<span style=\"font-weight: 400\">foo[bar]baz</span>" queryCommandValue("bold") after assert_equals: Wrong result returned expected "" but got "true"
+PASS [["stylewithcss","false"],["bold",""]] "<span style=\"font-weight: 400\">foo[bar]baz</span>": execCommand("stylewithcss", false, "false") return value 
+PASS [["stylewithcss","false"],["bold",""]] "<span style=\"font-weight: 400\">foo[bar]baz</span>": execCommand("bold", false, "") return value 
+PASS [["stylewithcss","false"],["bold",""]] "<span style=\"font-weight: 400\">foo[bar]baz</span>" checks for modifications to non-editable content 
+FAIL [["stylewithcss","false"],["bold",""]] "<span style=\"font-weight: 400\">foo[bar]baz</span>" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<span style=\"font-weight:400\">foo<b>bar</b>baz</span>" but got "<span style=\"font-weight:400\">foo</span><b>bar</b><span style=\"font-weight:400\">baz</span>"
+PASS [["stylewithcss","false"],["bold",""]] "<span style=\"font-weight: 400\">foo[bar]baz</span>" queryCommandIndeterm("stylewithcss") before 
+PASS [["stylewithcss","false"],["bold",""]] "<span style=\"font-weight: 400\">foo[bar]baz</span>" queryCommandState("stylewithcss") before 
+PASS [["stylewithcss","false"],["bold",""]] "<span style=\"font-weight: 400\">foo[bar]baz</span>" queryCommandValue("stylewithcss") before 
+PASS [["stylewithcss","false"],["bold",""]] "<span style=\"font-weight: 400\">foo[bar]baz</span>" queryCommandIndeterm("stylewithcss") after 
+PASS [["stylewithcss","false"],["bold",""]] "<span style=\"font-weight: 400\">foo[bar]baz</span>" queryCommandState("stylewithcss") after 
+PASS [["stylewithcss","false"],["bold",""]] "<span style=\"font-weight: 400\">foo[bar]baz</span>" queryCommandValue("stylewithcss") after 
+PASS [["stylewithcss","false"],["bold",""]] "<span style=\"font-weight: 400\">foo[bar]baz</span>" queryCommandIndeterm("bold") before 
+PASS [["stylewithcss","false"],["bold",""]] "<span style=\"font-weight: 400\">foo[bar]baz</span>" queryCommandState("bold") before 
+FAIL [["stylewithcss","false"],["bold",""]] "<span style=\"font-weight: 400\">foo[bar]baz</span>" queryCommandValue("bold") before assert_equals: Wrong result returned expected "" but got "false"
+PASS [["stylewithcss","false"],["bold",""]] "<span style=\"font-weight: 400\">foo[bar]baz</span>" queryCommandIndeterm("bold") after 
+PASS [["stylewithcss","false"],["bold",""]] "<span style=\"font-weight: 400\">foo[bar]baz</span>" queryCommandState("bold") after 
+FAIL [["stylewithcss","false"],["bold",""]] "<span style=\"font-weight: 400\">foo[bar]baz</span>" queryCommandValue("bold") after assert_equals: Wrong result returned expected "" but got "true"
+PASS [["stylewithcss","true"],["bold",""]] "<span style=\"font-weight: 700\">foo[bar]baz</span>": execCommand("stylewithcss", false, "true") return value 
+PASS [["stylewithcss","true"],["bold",""]] "<span style=\"font-weight: 700\">foo[bar]baz</span>": execCommand("bold", false, "") return value 
+PASS [["stylewithcss","true"],["bold",""]] "<span style=\"font-weight: 700\">foo[bar]baz</span>" checks for modifications to non-editable content 
+PASS [["stylewithcss","true"],["bold",""]] "<span style=\"font-weight: 700\">foo[bar]baz</span>" compare innerHTML 
+PASS [["stylewithcss","true"],["bold",""]] "<span style=\"font-weight: 700\">foo[bar]baz</span>" queryCommandIndeterm("stylewithcss") before 
+PASS [["stylewithcss","true"],["bold",""]] "<span style=\"font-weight: 700\">foo[bar]baz</span>" queryCommandState("stylewithcss") before 
+PASS [["stylewithcss","true"],["bold",""]] "<span style=\"font-weight: 700\">foo[bar]baz</span>" queryCommandValue("stylewithcss") before 
+PASS [["stylewithcss","true"],["bold",""]] "<span style=\"font-weight: 700\">foo[bar]baz</span>" queryCommandIndeterm("stylewithcss") after 
+PASS [["stylewithcss","true"],["bold",""]] "<span style=\"font-weight: 700\">foo[bar]baz</span>" queryCommandState("stylewithcss") after 
+PASS [["stylewithcss","true"],["bold",""]] "<span style=\"font-weight: 700\">foo[bar]baz</span>" queryCommandValue("stylewithcss") after 
+PASS [["stylewithcss","true"],["bold",""]] "<span style=\"font-weight: 700\">foo[bar]baz</span>" queryCommandIndeterm("bold") before 
+PASS [["stylewithcss","true"],["bold",""]] "<span style=\"font-weight: 700\">foo[bar]baz</span>" queryCommandState("bold") before 
+FAIL [["stylewithcss","true"],["bold",""]] "<span style=\"font-weight: 700\">foo[bar]baz</span>" queryCommandValue("bold") before assert_equals: Wrong result returned expected "" but got "true"
+PASS [["stylewithcss","true"],["bold",""]] "<span style=\"font-weight: 700\">foo[bar]baz</span>" queryCommandIndeterm("bold") after 
+PASS [["stylewithcss","true"],["bold",""]] "<span style=\"font-weight: 700\">foo[bar]baz</span>" queryCommandState("bold") after 
+FAIL [["stylewithcss","true"],["bold",""]] "<span style=\"font-weight: 700\">foo[bar]baz</span>" queryCommandValue("bold") after assert_equals: Wrong result returned expected "" but got "false"
+PASS [["stylewithcss","false"],["bold",""]] "<span style=\"font-weight: 700\">foo[bar]baz</span>": execCommand("stylewithcss", false, "false") return value 
+PASS [["stylewithcss","false"],["bold",""]] "<span style=\"font-weight: 700\">foo[bar]baz</span>": execCommand("bold", false, "") return value 
+PASS [["stylewithcss","false"],["bold",""]] "<span style=\"font-weight: 700\">foo[bar]baz</span>" checks for modifications to non-editable content 
+FAIL [["stylewithcss","false"],["bold",""]] "<span style=\"font-weight: 700\">foo[bar]baz</span>" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<b>foo</b>bar<b>baz</b>" but got "<span style=\"font-weight:700\">foo</span>bar<span style=\"font-weight:700\">baz</span>"
+PASS [["stylewithcss","false"],["bold",""]] "<span style=\"font-weight: 700\">foo[bar]baz</span>" queryCommandIndeterm("stylewithcss") before 
+PASS [["stylewithcss","false"],["bold",""]] "<span style=\"font-weight: 700\">foo[bar]baz</span>" queryCommandState("stylewithcss") before 
+PASS [["stylewithcss","false"],["bold",""]] "<span style=\"font-weight: 700\">foo[bar]baz</span>" queryCommandValue("stylewithcss") before 
+PASS [["stylewithcss","false"],["bold",""]] "<span style=\"font-weight: 700\">foo[bar]baz</span>" queryCommandIndeterm("stylewithcss") after 
+PASS [["stylewithcss","false"],["bold",""]] "<span style=\"font-weight: 700\">foo[bar]baz</span>" queryCommandState("stylewithcss") after 
+PASS [["stylewithcss","false"],["bold",""]] "<span style=\"font-weight: 700\">foo[bar]baz</span>" queryCommandValue("stylewithcss") after 
+PASS [["stylewithcss","false"],["bold",""]] "<span style=\"font-weight: 700\">foo[bar]baz</span>" queryCommandIndeterm("bold") before 
+PASS [["stylewithcss","false"],["bold",""]] "<span style=\"font-weight: 700\">foo[bar]baz</span>" queryCommandState("bold") before 
+FAIL [["stylewithcss","false"],["bold",""]] "<span style=\"font-weight: 700\">foo[bar]baz</span>" queryCommandValue("bold") before assert_equals: Wrong result returned expected "" but got "true"
+PASS [["stylewithcss","false"],["bold",""]] "<span style=\"font-weight: 700\">foo[bar]baz</span>" queryCommandIndeterm("bold") after 
+PASS [["stylewithcss","false"],["bold",""]] "<span style=\"font-weight: 700\">foo[bar]baz</span>" queryCommandState("bold") after 
+FAIL [["stylewithcss","false"],["bold",""]] "<span style=\"font-weight: 700\">foo[bar]baz</span>" queryCommandValue("bold") after assert_equals: Wrong result returned expected "" but got "false"
+PASS [["stylewithcss","true"],["bold",""]] "<span style=\"font-weight: 900\">foo[bar]baz</span>": execCommand("stylewithcss", false, "true") return value 
+PASS [["stylewithcss","true"],["bold",""]] "<span style=\"font-weight: 900\">foo[bar]baz</span>": execCommand("bold", false, "") return value 
+PASS [["stylewithcss","true"],["bold",""]] "<span style=\"font-weight: 900\">foo[bar]baz</span>" checks for modifications to non-editable content 
+PASS [["stylewithcss","true"],["bold",""]] "<span style=\"font-weight: 900\">foo[bar]baz</span>" compare innerHTML 
+PASS [["stylewithcss","true"],["bold",""]] "<span style=\"font-weight: 900\">foo[bar]baz</span>" queryCommandIndeterm("stylewithcss") before 
+PASS [["stylewithcss","true"],["bold",""]] "<span style=\"font-weight: 900\">foo[bar]baz</span>" queryCommandState("stylewithcss") before 
+PASS [["stylewithcss","true"],["bold",""]] "<span style=\"font-weight: 900\">foo[bar]baz</span>" queryCommandValue("stylewithcss") before 
+PASS [["stylewithcss","true"],["bold",""]] "<span style=\"font-weight: 900\">foo[bar]baz</span>" queryCommandIndeterm("stylewithcss") after 
+PASS [["stylewithcss","true"],["bold",""]] "<span style=\"font-weight: 900\">foo[bar]baz</span>" queryCommandState("stylewithcss") after 
+PASS [["stylewithcss","true"],["bold",""]] "<span style=\"font-weight: 900\">foo[bar]baz</span>" queryCommandValue("stylewithcss") after 
+PASS [["stylewithcss","true"],["bold",""]] "<span style=\"font-weight: 900\">foo[bar]baz</span>" queryCommandIndeterm("bold") before 
+PASS [["stylewithcss","true"],["bold",""]] "<span style=\"font-weight: 900\">foo[bar]baz</span>" queryCommandState("bold") before 
+FAIL [["stylewithcss","true"],["bold",""]] "<span style=\"font-weight: 900\">foo[bar]baz</span>" queryCommandValue("bold") before assert_equals: Wrong result returned expected "" but got "true"
+PASS [["stylewithcss","true"],["bold",""]] "<span style=\"font-weight: 900\">foo[bar]baz</span>" queryCommandIndeterm("bold") after 
+PASS [["stylewithcss","true"],["bold",""]] "<span style=\"font-weight: 900\">foo[bar]baz</span>" queryCommandState("bold") after 
+FAIL [["stylewithcss","true"],["bold",""]] "<span style=\"font-weight: 900\">foo[bar]baz</span>" queryCommandValue("bold") after assert_equals: Wrong result returned expected "" but got "false"
+PASS [["stylewithcss","false"],["bold",""]] "<span style=\"font-weight: 900\">foo[bar]baz</span>": execCommand("stylewithcss", false, "false") return value 
+PASS [["stylewithcss","false"],["bold",""]] "<span style=\"font-weight: 900\">foo[bar]baz</span>": execCommand("bold", false, "") return value 
+PASS [["stylewithcss","false"],["bold",""]] "<span style=\"font-weight: 900\">foo[bar]baz</span>" checks for modifications to non-editable content 
+PASS [["stylewithcss","false"],["bold",""]] "<span style=\"font-weight: 900\">foo[bar]baz</span>" compare innerHTML 
+PASS [["stylewithcss","false"],["bold",""]] "<span style=\"font-weight: 900\">foo[bar]baz</span>" queryCommandIndeterm("stylewithcss") before 
+PASS [["stylewithcss","false"],["bold",""]] "<span style=\"font-weight: 900\">foo[bar]baz</span>" queryCommandState("stylewithcss") before 
+PASS [["stylewithcss","false"],["bold",""]] "<span style=\"font-weight: 900\">foo[bar]baz</span>" queryCommandValue("stylewithcss") before 
+PASS [["stylewithcss","false"],["bold",""]] "<span style=\"font-weight: 900\">foo[bar]baz</span>" queryCommandIndeterm("stylewithcss") after 
+PASS [["stylewithcss","false"],["bold",""]] "<span style=\"font-weight: 900\">foo[bar]baz</span>" queryCommandState("stylewithcss") after 
+PASS [["stylewithcss","false"],["bold",""]] "<span style=\"font-weight: 900\">foo[bar]baz</span>" queryCommandValue("stylewithcss") after 
+PASS [["stylewithcss","false"],["bold",""]] "<span style=\"font-weight: 900\">foo[bar]baz</span>" queryCommandIndeterm("bold") before 
+PASS [["stylewithcss","false"],["bold",""]] "<span style=\"font-weight: 900\">foo[bar]baz</span>" queryCommandState("bold") before 
+FAIL [["stylewithcss","false"],["bold",""]] "<span style=\"font-weight: 900\">foo[bar]baz</span>" queryCommandValue("bold") before assert_equals: Wrong result returned expected "" but got "true"
+PASS [["stylewithcss","false"],["bold",""]] "<span style=\"font-weight: 900\">foo[bar]baz</span>" queryCommandIndeterm("bold") after 
+PASS [["stylewithcss","false"],["bold",""]] "<span style=\"font-weight: 900\">foo[bar]baz</span>" queryCommandState("bold") after 
+FAIL [["stylewithcss","false"],["bold",""]] "<span style=\"font-weight: 900\">foo[bar]baz</span>" queryCommandValue("bold") after assert_equals: Wrong result returned expected "" but got "false"
+PASS [["stylewithcss","true"],["bold",""]] "{<span style=\"font-weight: 100\">foobar]baz</span>": execCommand("stylewithcss", false, "true") return value 
+PASS [["stylewithcss","true"],["bold",""]] "{<span style=\"font-weight: 100\">foobar]baz</span>": execCommand("bold", false, "") return value 
+PASS [["stylewithcss","true"],["bold",""]] "{<span style=\"font-weight: 100\">foobar]baz</span>" checks for modifications to non-editable content 
+FAIL [["stylewithcss","true"],["bold",""]] "{<span style=\"font-weight: 100\">foobar]baz</span>" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<span style=\"font-weight:100\"><span style=\"font-weight:bold\">foobar</span>baz</span>" but got "<span style=\"font-weight:bold\">foobar</span><span style=\"font-weight:100\">baz</span>"
+PASS [["stylewithcss","true"],["bold",""]] "{<span style=\"font-weight: 100\">foobar]baz</span>" queryCommandIndeterm("stylewithcss") before 
+PASS [["stylewithcss","true"],["bold",""]] "{<span style=\"font-weight: 100\">foobar]baz</span>" queryCommandState("stylewithcss") before 
+PASS [["stylewithcss","true"],["bold",""]] "{<span style=\"font-weight: 100\">foobar]baz</span>" queryCommandValue("stylewithcss") before 
+PASS [["stylewithcss","true"],["bold",""]] "{<span style=\"font-weight: 100\">foobar]baz</span>" queryCommandIndeterm("stylewithcss") after 
+PASS [["stylewithcss","true"],["bold",""]] "{<span style=\"font-weight: 100\">foobar]baz</span>" queryCommandState("stylewithcss") after 
+PASS [["stylewithcss","true"],["bold",""]] "{<span style=\"font-weight: 100\">foobar]baz</span>" queryCommandValue("stylewithcss") after 
+PASS [["stylewithcss","true"],["bold",""]] "{<span style=\"font-weight: 100\">foobar]baz</span>" queryCommandIndeterm("bold") before 
+PASS [["stylewithcss","true"],["bold",""]] "{<span style=\"font-weight: 100\">foobar]baz</span>" queryCommandState("bold") before 
+FAIL [["stylewithcss","true"],["bold",""]] "{<span style=\"font-weight: 100\">foobar]baz</span>" queryCommandValue("bold") before assert_equals: Wrong result returned expected "" but got "false"
+PASS [["stylewithcss","true"],["bold",""]] "{<span style=\"font-weight: 100\">foobar]baz</span>" queryCommandIndeterm("bold") after 
+PASS [["stylewithcss","true"],["bold",""]] "{<span style=\"font-weight: 100\">foobar]baz</span>" queryCommandState("bold") after 
+FAIL [["stylewithcss","true"],["bold",""]] "{<span style=\"font-weight: 100\">foobar]baz</span>" queryCommandValue("bold") after assert_equals: Wrong result returned expected "" but got "true"
+PASS [["stylewithcss","false"],["bold",""]] "{<span style=\"font-weight: 100\">foobar]baz</span>": execCommand("stylewithcss", false, "false") return value 
+PASS [["stylewithcss","false"],["bold",""]] "{<span style=\"font-weight: 100\">foobar]baz</span>": execCommand("bold", false, "") return value 
+PASS [["stylewithcss","false"],["bold",""]] "{<span style=\"font-weight: 100\">foobar]baz</span>" checks for modifications to non-editable content 
+FAIL [["stylewithcss","false"],["bold",""]] "{<span style=\"font-weight: 100\">foobar]baz</span>" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<span style=\"font-weight:100\"><b>foobar</b>baz</span>" but got "<b>foobar</b><span style=\"font-weight:100\">baz</span>"
+PASS [["stylewithcss","false"],["bold",""]] "{<span style=\"font-weight: 100\">foobar]baz</span>" queryCommandIndeterm("stylewithcss") before 
+PASS [["stylewithcss","false"],["bold",""]] "{<span style=\"font-weight: 100\">foobar]baz</span>" queryCommandState("stylewithcss") before 
+PASS [["stylewithcss","false"],["bold",""]] "{<span style=\"font-weight: 100\">foobar]baz</span>" queryCommandValue("stylewithcss") before 
+PASS [["stylewithcss","false"],["bold",""]] "{<span style=\"font-weight: 100\">foobar]baz</span>" queryCommandIndeterm("stylewithcss") after 
+PASS [["stylewithcss","false"],["bold",""]] "{<span style=\"font-weight: 100\">foobar]baz</span>" queryCommandState("stylewithcss") after 
+PASS [["stylewithcss","false"],["bold",""]] "{<span style=\"font-weight: 100\">foobar]baz</span>" queryCommandValue("stylewithcss") after 
+PASS [["stylewithcss","false"],["bold",""]] "{<span style=\"font-weight: 100\">foobar]baz</span>" queryCommandIndeterm("bold") before 
+PASS [["stylewithcss","false"],["bold",""]] "{<span style=\"font-weight: 100\">foobar]baz</span>" queryCommandState("bold") before 
+FAIL [["stylewithcss","false"],["bold",""]] "{<span style=\"font-weight: 100\">foobar]baz</span>" queryCommandValue("bold") before assert_equals: Wrong result returned expected "" but got "false"
+PASS [["stylewithcss","false"],["bold",""]] "{<span style=\"font-weight: 100\">foobar]baz</span>" queryCommandIndeterm("bold") after 
+PASS [["stylewithcss","false"],["bold",""]] "{<span style=\"font-weight: 100\">foobar]baz</span>" queryCommandState("bold") after 
+FAIL [["stylewithcss","false"],["bold",""]] "{<span style=\"font-weight: 100\">foobar]baz</span>" queryCommandValue("bold") after assert_equals: Wrong result returned expected "" but got "true"
+PASS [["stylewithcss","true"],["bold",""]] "{<span style=\"font-weight: 400\">foobar]baz</span>": execCommand("stylewithcss", false, "true") return value 
+PASS [["stylewithcss","true"],["bold",""]] "{<span style=\"font-weight: 400\">foobar]baz</span>": execCommand("bold", false, "") return value 
+PASS [["stylewithcss","true"],["bold",""]] "{<span style=\"font-weight: 400\">foobar]baz</span>" checks for modifications to non-editable content 
+FAIL [["stylewithcss","true"],["bold",""]] "{<span style=\"font-weight: 400\">foobar]baz</span>" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<span style=\"font-weight:400\"><span style=\"font-weight:bold\">foobar</span>baz</span>" but got "<span style=\"font-weight:bold\">foobar</span><span style=\"font-weight:400\">baz</span>"
+PASS [["stylewithcss","true"],["bold",""]] "{<span style=\"font-weight: 400\">foobar]baz</span>" queryCommandIndeterm("stylewithcss") before 
+PASS [["stylewithcss","true"],["bold",""]] "{<span style=\"font-weight: 400\">foobar]baz</span>" queryCommandState("stylewithcss") before 
+PASS [["stylewithcss","true"],["bold",""]] "{<span style=\"font-weight: 400\">foobar]baz</span>" queryCommandValue("stylewithcss") before 
+PASS [["stylewithcss","true"],["bold",""]] "{<span style=\"font-weight: 400\">foobar]baz</span>" queryCommandIndeterm("stylewithcss") after 
+PASS [["stylewithcss","true"],["bold",""]] "{<span style=\"font-weight: 400\">foobar]baz</span>" queryCommandState("stylewithcss") after 
+PASS [["stylewithcss","true"],["bold",""]] "{<span style=\"font-weight: 400\">foobar]baz</span>" queryCommandValue("stylewithcss") after 
+PASS [["stylewithcss","true"],["bold",""]] "{<span style=\"font-weight: 400\">foobar]baz</span>" queryCommandIndeterm("bold") before 
+PASS [["stylewithcss","true"],["bold",""]] "{<span style=\"font-weight: 400\">foobar]baz</span>" queryCommandState("bold") before 
+FAIL [["stylewithcss","true"],["bold",""]] "{<span style=\"font-weight: 400\">foobar]baz</span>" queryCommandValue("bold") before assert_equals: Wrong result returned expected "" but got "false"
+PASS [["stylewithcss","true"],["bold",""]] "{<span style=\"font-weight: 400\">foobar]baz</span>" queryCommandIndeterm("bold") after 
+PASS [["stylewithcss","true"],["bold",""]] "{<span style=\"font-weight: 400\">foobar]baz</span>" queryCommandState("bold") after 
+FAIL [["stylewithcss","true"],["bold",""]] "{<span style=\"font-weight: 400\">foobar]baz</span>" queryCommandValue("bold") after assert_equals: Wrong result returned expected "" but got "true"
+PASS [["stylewithcss","false"],["bold",""]] "{<span style=\"font-weight: 400\">foobar]baz</span>": execCommand("stylewithcss", false, "false") return value 
+PASS [["stylewithcss","false"],["bold",""]] "{<span style=\"font-weight: 400\">foobar]baz</span>": execCommand("bold", false, "") return value 
+PASS [["stylewithcss","false"],["bold",""]] "{<span style=\"font-weight: 400\">foobar]baz</span>" checks for modifications to non-editable content 
+FAIL [["stylewithcss","false"],["bold",""]] "{<span style=\"font-weight: 400\">foobar]baz</span>" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<span style=\"font-weight:400\"><b>foobar</b>baz</span>" but got "<b>foobar</b><span style=\"font-weight:400\">baz</span>"
+PASS [["stylewithcss","false"],["bold",""]] "{<span style=\"font-weight: 400\">foobar]baz</span>" queryCommandIndeterm("stylewithcss") before 
+PASS [["stylewithcss","false"],["bold",""]] "{<span style=\"font-weight: 400\">foobar]baz</span>" queryCommandState("stylewithcss") before 
+PASS [["stylewithcss","false"],["bold",""]] "{<span style=\"font-weight: 400\">foobar]baz</span>" queryCommandValue("stylewithcss") before 
+PASS [["stylewithcss","false"],["bold",""]] "{<span style=\"font-weight: 400\">foobar]baz</span>" queryCommandIndeterm("stylewithcss") after 
+PASS [["stylewithcss","false"],["bold",""]] "{<span style=\"font-weight: 400\">foobar]baz</span>" queryCommandState("stylewithcss") after 
+PASS [["stylewithcss","false"],["bold",""]] "{<span style=\"font-weight: 400\">foobar]baz</span>" queryCommandValue("stylewithcss") after 
+PASS [["stylewithcss","false"],["bold",""]] "{<span style=\"font-weight: 400\">foobar]baz</span>" queryCommandIndeterm("bold") before 
+PASS [["stylewithcss","false"],["bold",""]] "{<span style=\"font-weight: 400\">foobar]baz</span>" queryCommandState("bold") before 
+FAIL [["stylewithcss","false"],["bold",""]] "{<span style=\"font-weight: 400\">foobar]baz</span>" queryCommandValue("bold") before assert_equals: Wrong result returned expected "" but got "false"
+PASS [["stylewithcss","false"],["bold",""]] "{<span style=\"font-weight: 400\">foobar]baz</span>" queryCommandIndeterm("bold") after 
+PASS [["stylewithcss","false"],["bold",""]] "{<span style=\"font-weight: 400\">foobar]baz</span>" queryCommandState("bold") after 
+FAIL [["stylewithcss","false"],["bold",""]] "{<span style=\"font-weight: 400\">foobar]baz</span>" queryCommandValue("bold") after assert_equals: Wrong result returned expected "" but got "true"
+PASS [["stylewithcss","true"],["bold",""]] "{<span style=\"font-weight: 700\">foobar]baz</span>": execCommand("stylewithcss", false, "true") return value 
+PASS [["stylewithcss","true"],["bold",""]] "{<span style=\"font-weight: 700\">foobar]baz</span>": execCommand("bold", false, "") return value 
+PASS [["stylewithcss","true"],["bold",""]] "{<span style=\"font-weight: 700\">foobar]baz</span>" checks for modifications to non-editable content 
+PASS [["stylewithcss","true"],["bold",""]] "{<span style=\"font-weight: 700\">foobar]baz</span>" compare innerHTML 
+PASS [["stylewithcss","true"],["bold",""]] "{<span style=\"font-weight: 700\">foobar]baz</span>" queryCommandIndeterm("stylewithcss") before 
+PASS [["stylewithcss","true"],["bold",""]] "{<span style=\"font-weight: 700\">foobar]baz</span>" queryCommandState("stylewithcss") before 
+PASS [["stylewithcss","true"],["bold",""]] "{<span style=\"font-weight: 700\">foobar]baz</span>" queryCommandValue("stylewithcss") before 
+PASS [["stylewithcss","true"],["bold",""]] "{<span style=\"font-weight: 700\">foobar]baz</span>" queryCommandIndeterm("stylewithcss") after 
+PASS [["stylewithcss","true"],["bold",""]] "{<span style=\"font-weight: 700\">foobar]baz</span>" queryCommandState("stylewithcss") after 
+PASS [["stylewithcss","true"],["bold",""]] "{<span style=\"font-weight: 700\">foobar]baz</span>" queryCommandValue("stylewithcss") after 
+PASS [["stylewithcss","true"],["bold",""]] "{<span style=\"font-weight: 700\">foobar]baz</span>" queryCommandIndeterm("bold") before 
+PASS [["stylewithcss","true"],["bold",""]] "{<span style=\"font-weight: 700\">foobar]baz</span>" queryCommandState("bold") before 
+FAIL [["stylewithcss","true"],["bold",""]] "{<span style=\"font-weight: 700\">foobar]baz</span>" queryCommandValue("bold") before assert_equals: Wrong result returned expected "" but got "true"
+PASS [["stylewithcss","true"],["bold",""]] "{<span style=\"font-weight: 700\">foobar]baz</span>" queryCommandIndeterm("bold") after 
+PASS [["stylewithcss","true"],["bold",""]] "{<span style=\"font-weight: 700\">foobar]baz</span>" queryCommandState("bold") after 
+FAIL [["stylewithcss","true"],["bold",""]] "{<span style=\"font-weight: 700\">foobar]baz</span>" queryCommandValue("bold") after assert_equals: Wrong result returned expected "" but got "false"
+PASS [["stylewithcss","false"],["bold",""]] "{<span style=\"font-weight: 700\">foobar]baz</span>": execCommand("stylewithcss", false, "false") return value 
+PASS [["stylewithcss","false"],["bold",""]] "{<span style=\"font-weight: 700\">foobar]baz</span>": execCommand("bold", false, "") return value 
+PASS [["stylewithcss","false"],["bold",""]] "{<span style=\"font-weight: 700\">foobar]baz</span>" checks for modifications to non-editable content 
+FAIL [["stylewithcss","false"],["bold",""]] "{<span style=\"font-weight: 700\">foobar]baz</span>" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "foobar<b>baz</b>" but got "foobar<span style=\"font-weight:700\">baz</span>"
+PASS [["stylewithcss","false"],["bold",""]] "{<span style=\"font-weight: 700\">foobar]baz</span>" queryCommandIndeterm("stylewithcss") before 
+PASS [["stylewithcss","false"],["bold",""]] "{<span style=\"font-weight: 700\">foobar]baz</span>" queryCommandState("stylewithcss") before 
+PASS [["stylewithcss","false"],["bold",""]] "{<span style=\"font-weight: 700\">foobar]baz</span>" queryCommandValue("stylewithcss") before 
+PASS [["stylewithcss","false"],["bold",""]] "{<span style=\"font-weight: 700\">foobar]baz</span>" queryCommandIndeterm("stylewithcss") after 
+PASS [["stylewithcss","false"],["bold",""]] "{<span style=\"font-weight: 700\">foobar]baz</span>" queryCommandState("stylewithcss") after 
+PASS [["stylewithcss","false"],["bold",""]] "{<span style=\"font-weight: 700\">foobar]baz</span>" queryCommandValue("stylewithcss") after 
+PASS [["stylewithcss","false"],["bold",""]] "{<span style=\"font-weight: 700\">foobar]baz</span>" queryCommandIndeterm("bold") before 
+PASS [["stylewithcss","false"],["bold",""]] "{<span style=\"font-weight: 700\">foobar]baz</span>" queryCommandState("bold") before 
+FAIL [["stylewithcss","false"],["bold",""]] "{<span style=\"font-weight: 700\">foobar]baz</span>" queryCommandValue("bold") before assert_equals: Wrong result returned expected "" but got "true"
+PASS [["stylewithcss","false"],["bold",""]] "{<span style=\"font-weight: 700\">foobar]baz</span>" queryCommandIndeterm("bold") after 
+PASS [["stylewithcss","false"],["bold",""]] "{<span style=\"font-weight: 700\">foobar]baz</span>" queryCommandState("bold") after 
+FAIL [["stylewithcss","false"],["bold",""]] "{<span style=\"font-weight: 700\">foobar]baz</span>" queryCommandValue("bold") after assert_equals: Wrong result returned expected "" but got "false"
+PASS [["bold",""]] "{<span style=\"font-weight: 900\">foobar]baz</span>": execCommand("bold", false, "") return value 
+PASS [["bold",""]] "{<span style=\"font-weight: 900\">foobar]baz</span>" checks for modifications to non-editable content 
+PASS [["bold",""]] "{<span style=\"font-weight: 900\">foobar]baz</span>" compare innerHTML 
+PASS [["bold",""]] "{<span style=\"font-weight: 900\">foobar]baz</span>" queryCommandIndeterm("bold") before 
+PASS [["bold",""]] "{<span style=\"font-weight: 900\">foobar]baz</span>" queryCommandState("bold") before 
+FAIL [["bold",""]] "{<span style=\"font-weight: 900\">foobar]baz</span>" queryCommandValue("bold") before assert_equals: Wrong result returned expected "" but got "true"
+PASS [["bold",""]] "{<span style=\"font-weight: 900\">foobar]baz</span>" queryCommandIndeterm("bold") after 
+PASS [["bold",""]] "{<span style=\"font-weight: 900\">foobar]baz</span>" queryCommandState("bold") after 
+FAIL [["bold",""]] "{<span style=\"font-weight: 900\">foobar]baz</span>" queryCommandValue("bold") after assert_equals: Wrong result returned expected "" but got "false"
+PASS [["stylewithcss","true"],["bold",""]] "<span style=\"font-weight: 100\">foo[barbaz</span>}": execCommand("stylewithcss", false, "true") return value 
+PASS [["stylewithcss","true"],["bold",""]] "<span style=\"font-weight: 100\">foo[barbaz</span>}": execCommand("bold", false, "") return value 
+PASS [["stylewithcss","true"],["bold",""]] "<span style=\"font-weight: 100\">foo[barbaz</span>}" checks for modifications to non-editable content 
+FAIL [["stylewithcss","true"],["bold",""]] "<span style=\"font-weight: 100\">foo[barbaz</span>}" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<span style=\"font-weight:100\">foo<span style=\"font-weight:bold\">barbaz</span></span>" but got "<span style=\"font-weight:100\">foo</span><span style=\"font-weight:bold\">barbaz</span>"
+PASS [["stylewithcss","true"],["bold",""]] "<span style=\"font-weight: 100\">foo[barbaz</span>}" queryCommandIndeterm("stylewithcss") before 
+PASS [["stylewithcss","true"],["bold",""]] "<span style=\"font-weight: 100\">foo[barbaz</span>}" queryCommandState("stylewithcss") before 
+PASS [["stylewithcss","true"],["bold",""]] "<span style=\"font-weight: 100\">foo[barbaz</span>}" queryCommandValue("stylewithcss") before 
+PASS [["stylewithcss","true"],["bold",""]] "<span style=\"font-weight: 100\">foo[barbaz</span>}" queryCommandIndeterm("stylewithcss") after 
+PASS [["stylewithcss","true"],["bold",""]] "<span style=\"font-weight: 100\">foo[barbaz</span>}" queryCommandState("stylewithcss") after 
+PASS [["stylewithcss","true"],["bold",""]] "<span style=\"font-weight: 100\">foo[barbaz</span>}" queryCommandValue("stylewithcss") after 
+PASS [["stylewithcss","true"],["bold",""]] "<span style=\"font-weight: 100\">foo[barbaz</span>}" queryCommandIndeterm("bold") before 
+PASS [["stylewithcss","true"],["bold",""]] "<span style=\"font-weight: 100\">foo[barbaz</span>}" queryCommandState("bold") before 
+FAIL [["stylewithcss","true"],["bold",""]] "<span style=\"font-weight: 100\">foo[barbaz</span>}" queryCommandValue("bold") before assert_equals: Wrong result returned expected "" but got "false"
+PASS [["stylewithcss","true"],["bold",""]] "<span style=\"font-weight: 100\">foo[barbaz</span>}" queryCommandIndeterm("bold") after 
+PASS [["stylewithcss","true"],["bold",""]] "<span style=\"font-weight: 100\">foo[barbaz</span>}" queryCommandState("bold") after 
+FAIL [["stylewithcss","true"],["bold",""]] "<span style=\"font-weight: 100\">foo[barbaz</span>}" queryCommandValue("bold") after assert_equals: Wrong result returned expected "" but got "true"
+PASS [["stylewithcss","false"],["bold",""]] "<span style=\"font-weight: 100\">foo[barbaz</span>}": execCommand("stylewithcss", false, "false") return value 
+PASS [["stylewithcss","false"],["bold",""]] "<span style=\"font-weight: 100\">foo[barbaz</span>}": execCommand("bold", false, "") return value 
+PASS [["stylewithcss","false"],["bold",""]] "<span style=\"font-weight: 100\">foo[barbaz</span>}" checks for modifications to non-editable content 
+FAIL [["stylewithcss","false"],["bold",""]] "<span style=\"font-weight: 100\">foo[barbaz</span>}" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<span style=\"font-weight:100\">foo<b>barbaz</b></span>" but got "<span style=\"font-weight:100\">foo</span><b>barbaz</b>"
+PASS [["stylewithcss","false"],["bold",""]] "<span style=\"font-weight: 100\">foo[barbaz</span>}" queryCommandIndeterm("stylewithcss") before 
+PASS [["stylewithcss","false"],["bold",""]] "<span style=\"font-weight: 100\">foo[barbaz</span>}" queryCommandState("stylewithcss") before 
+PASS [["stylewithcss","false"],["bold",""]] "<span style=\"font-weight: 100\">foo[barbaz</span>}" queryCommandValue("stylewithcss") before 
+PASS [["stylewithcss","false"],["bold",""]] "<span style=\"font-weight: 100\">foo[barbaz</span>}" queryCommandIndeterm("stylewithcss") after 
+PASS [["stylewithcss","false"],["bold",""]] "<span style=\"font-weight: 100\">foo[barbaz</span>}" queryCommandState("stylewithcss") after 
+PASS [["stylewithcss","false"],["bold",""]] "<span style=\"font-weight: 100\">foo[barbaz</span>}" queryCommandValue("stylewithcss") after 
+PASS [["stylewithcss","false"],["bold",""]] "<span style=\"font-weight: 100\">foo[barbaz</span>}" queryCommandIndeterm("bold") before 
+PASS [["stylewithcss","false"],["bold",""]] "<span style=\"font-weight: 100\">foo[barbaz</span>}" queryCommandState("bold") before 
+FAIL [["stylewithcss","false"],["bold",""]] "<span style=\"font-weight: 100\">foo[barbaz</span>}" queryCommandValue("bold") before assert_equals: Wrong result returned expected "" but got "false"
+PASS [["stylewithcss","false"],["bold",""]] "<span style=\"font-weight: 100\">foo[barbaz</span>}" queryCommandIndeterm("bold") after 
+PASS [["stylewithcss","false"],["bold",""]] "<span style=\"font-weight: 100\">foo[barbaz</span>}" queryCommandState("bold") after 
+FAIL [["stylewithcss","false"],["bold",""]] "<span style=\"font-weight: 100\">foo[barbaz</span>}" queryCommandValue("bold") after assert_equals: Wrong result returned expected "" but got "true"
+PASS [["stylewithcss","true"],["bold",""]] "<span style=\"font-weight: 400\">foo[barbaz</span>}": execCommand("stylewithcss", false, "true") return value 
+PASS [["stylewithcss","true"],["bold",""]] "<span style=\"font-weight: 400\">foo[barbaz</span>}": execCommand("bold", false, "") return value 
+PASS [["stylewithcss","true"],["bold",""]] "<span style=\"font-weight: 400\">foo[barbaz</span>}" checks for modifications to non-editable content 
+FAIL [["stylewithcss","true"],["bold",""]] "<span style=\"font-weight: 400\">foo[barbaz</span>}" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<span style=\"font-weight:400\">foo<span style=\"font-weight:bold\">barbaz</span></span>" but got "<span style=\"font-weight:400\">foo</span><span style=\"font-weight:bold\">barbaz</span>"
+PASS [["stylewithcss","true"],["bold",""]] "<span style=\"font-weight: 400\">foo[barbaz</span>}" queryCommandIndeterm("stylewithcss") before 
+PASS [["stylewithcss","true"],["bold",""]] "<span style=\"font-weight: 400\">foo[barbaz</span>}" queryCommandState("stylewithcss") before 
+PASS [["stylewithcss","true"],["bold",""]] "<span style=\"font-weight: 400\">foo[barbaz</span>}" queryCommandValue("stylewithcss") before 
+PASS [["stylewithcss","true"],["bold",""]] "<span style=\"font-weight: 400\">foo[barbaz</span>}" queryCommandIndeterm("stylewithcss") after 
+PASS [["stylewithcss","true"],["bold",""]] "<span style=\"font-weight: 400\">foo[barbaz</span>}" queryCommandState("stylewithcss") after 
+PASS [["stylewithcss","true"],["bold",""]] "<span style=\"font-weight: 400\">foo[barbaz</span>}" queryCommandValue("stylewithcss") after 
+PASS [["stylewithcss","true"],["bold",""]] "<span style=\"font-weight: 400\">foo[barbaz</span>}" queryCommandIndeterm("bold") before 
+PASS [["stylewithcss","true"],["bold",""]] "<span style=\"font-weight: 400\">foo[barbaz</span>}" queryCommandState("bold") before 
+FAIL [["stylewithcss","true"],["bold",""]] "<span style=\"font-weight: 400\">foo[barbaz</span>}" queryCommandValue("bold") before assert_equals: Wrong result returned expected "" but got "false"
+PASS [["stylewithcss","true"],["bold",""]] "<span style=\"font-weight: 400\">foo[barbaz</span>}" queryCommandIndeterm("bold") after 
+PASS [["stylewithcss","true"],["bold",""]] "<span style=\"font-weight: 400\">foo[barbaz</span>}" queryCommandState("bold") after 
+FAIL [["stylewithcss","true"],["bold",""]] "<span style=\"font-weight: 400\">foo[barbaz</span>}" queryCommandValue("bold") after assert_equals: Wrong result returned expected "" but got "true"
+PASS [["stylewithcss","false"],["bold",""]] "<span style=\"font-weight: 400\">foo[barbaz</span>}": execCommand("stylewithcss", false, "false") return value 
+PASS [["stylewithcss","false"],["bold",""]] "<span style=\"font-weight: 400\">foo[barbaz</span>}": execCommand("bold", false, "") return value 
+PASS [["stylewithcss","false"],["bold",""]] "<span style=\"font-weight: 400\">foo[barbaz</span>}" checks for modifications to non-editable content 
+FAIL [["stylewithcss","false"],["bold",""]] "<span style=\"font-weight: 400\">foo[barbaz</span>}" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<span style=\"font-weight:400\">foo<b>barbaz</b></span>" but got "<span style=\"font-weight:400\">foo</span><b>barbaz</b>"
+PASS [["stylewithcss","false"],["bold",""]] "<span style=\"font-weight: 400\">foo[barbaz</span>}" queryCommandIndeterm("stylewithcss") before 
+PASS [["stylewithcss","false"],["bold",""]] "<span style=\"font-weight: 400\">foo[barbaz</span>}" queryCommandState("stylewithcss") before 
+PASS [["stylewithcss","false"],["bold",""]] "<span style=\"font-weight: 400\">foo[barbaz</span>}" queryCommandValue("stylewithcss") before 
+PASS [["stylewithcss","false"],["bold",""]] "<span style=\"font-weight: 400\">foo[barbaz</span>}" queryCommandIndeterm("stylewithcss") after 
+PASS [["stylewithcss","false"],["bold",""]] "<span style=\"font-weight: 400\">foo[barbaz</span>}" queryCommandState("stylewithcss") after 
+PASS [["stylewithcss","false"],["bold",""]] "<span style=\"font-weight: 400\">foo[barbaz</span>}" queryCommandValue("stylewithcss") after 
+PASS [["stylewithcss","false"],["bold",""]] "<span style=\"font-weight: 400\">foo[barbaz</span>}" queryCommandIndeterm("bold") before 
+PASS [["stylewithcss","false"],["bold",""]] "<span style=\"font-weight: 400\">foo[barbaz</span>}" queryCommandState("bold") before 
+FAIL [["stylewithcss","false"],["bold",""]] "<span style=\"font-weight: 400\">foo[barbaz</span>}" queryCommandValue("bold") before assert_equals: Wrong result returned expected "" but got "false"
+PASS [["stylewithcss","false"],["bold",""]] "<span style=\"font-weight: 400\">foo[barbaz</span>}" queryCommandIndeterm("bold") after 
+PASS [["stylewithcss","false"],["bold",""]] "<span style=\"font-weight: 400\">foo[barbaz</span>}" queryCommandState("bold") after 
+FAIL [["stylewithcss","false"],["bold",""]] "<span style=\"font-weight: 400\">foo[barbaz</span>}" queryCommandValue("bold") after assert_equals: Wrong result returned expected "" but got "true"
+PASS [["stylewithcss","true"],["bold",""]] "<span style=\"font-weight: 700\">foo[barbaz</span>}": execCommand("stylewithcss", false, "true") return value 
+PASS [["stylewithcss","true"],["bold",""]] "<span style=\"font-weight: 700\">foo[barbaz</span>}": execCommand("bold", false, "") return value 
+PASS [["stylewithcss","true"],["bold",""]] "<span style=\"font-weight: 700\">foo[barbaz</span>}" checks for modifications to non-editable content 
+PASS [["stylewithcss","true"],["bold",""]] "<span style=\"font-weight: 700\">foo[barbaz</span>}" compare innerHTML 
+PASS [["stylewithcss","true"],["bold",""]] "<span style=\"font-weight: 700\">foo[barbaz</span>}" queryCommandIndeterm("stylewithcss") before 
+PASS [["stylewithcss","true"],["bold",""]] "<span style=\"font-weight: 700\">foo[barbaz</span>}" queryCommandState("stylewithcss") before 
+PASS [["stylewithcss","true"],["bold",""]] "<span style=\"font-weight: 700\">foo[barbaz</span>}" queryCommandValue("stylewithcss") before 
+PASS [["stylewithcss","true"],["bold",""]] "<span style=\"font-weight: 700\">foo[barbaz</span>}" queryCommandIndeterm("stylewithcss") after 
+PASS [["stylewithcss","true"],["bold",""]] "<span style=\"font-weight: 700\">foo[barbaz</span>}" queryCommandState("stylewithcss") after 
+PASS [["stylewithcss","true"],["bold",""]] "<span style=\"font-weight: 700\">foo[barbaz</span>}" queryCommandValue("stylewithcss") after 
+PASS [["stylewithcss","true"],["bold",""]] "<span style=\"font-weight: 700\">foo[barbaz</span>}" queryCommandIndeterm("bold") before 
+PASS [["stylewithcss","true"],["bold",""]] "<span style=\"font-weight: 700\">foo[barbaz</span>}" queryCommandState("bold") before 
+FAIL [["stylewithcss","true"],["bold",""]] "<span style=\"font-weight: 700\">foo[barbaz</span>}" queryCommandValue("bold") before assert_equals: Wrong result returned expected "" but got "true"
+PASS [["stylewithcss","true"],["bold",""]] "<span style=\"font-weight: 700\">foo[barbaz</span>}" queryCommandIndeterm("bold") after 
+PASS [["stylewithcss","true"],["bold",""]] "<span style=\"font-weight: 700\">foo[barbaz</span>}" queryCommandState("bold") after 
+FAIL [["stylewithcss","true"],["bold",""]] "<span style=\"font-weight: 700\">foo[barbaz</span>}" queryCommandValue("bold") after assert_equals: Wrong result returned expected "" but got "false"
+PASS [["stylewithcss","false"],["bold",""]] "<span style=\"font-weight: 700\">foo[barbaz</span>}": execCommand("stylewithcss", false, "false") return value 
+PASS [["stylewithcss","false"],["bold",""]] "<span style=\"font-weight: 700\">foo[barbaz</span>}": execCommand("bold", false, "") return value 
+PASS [["stylewithcss","false"],["bold",""]] "<span style=\"font-weight: 700\">foo[barbaz</span>}" checks for modifications to non-editable content 
+FAIL [["stylewithcss","false"],["bold",""]] "<span style=\"font-weight: 700\">foo[barbaz</span>}" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<b>foo</b>barbaz" but got "<span style=\"font-weight:700\">foo</span>barbaz"
+PASS [["stylewithcss","false"],["bold",""]] "<span style=\"font-weight: 700\">foo[barbaz</span>}" queryCommandIndeterm("stylewithcss") before 
+PASS [["stylewithcss","false"],["bold",""]] "<span style=\"font-weight: 700\">foo[barbaz</span>}" queryCommandState("stylewithcss") before 
+PASS [["stylewithcss","false"],["bold",""]] "<span style=\"font-weight: 700\">foo[barbaz</span>}" queryCommandValue("stylewithcss") before 
+PASS [["stylewithcss","false"],["bold",""]] "<span style=\"font-weight: 700\">foo[barbaz</span>}" queryCommandIndeterm("stylewithcss") after 
+PASS [["stylewithcss","false"],["bold",""]] "<span style=\"font-weight: 700\">foo[barbaz</span>}" queryCommandState("stylewithcss") after 
+PASS [["stylewithcss","false"],["bold",""]] "<span style=\"font-weight: 700\">foo[barbaz</span>}" queryCommandValue("stylewithcss") after 
+PASS [["stylewithcss","false"],["bold",""]] "<span style=\"font-weight: 700\">foo[barbaz</span>}" queryCommandIndeterm("bold") before 
+PASS [["stylewithcss","false"],["bold",""]] "<span style=\"font-weight: 700\">foo[barbaz</span>}" queryCommandState("bold") before 
+FAIL [["stylewithcss","false"],["bold",""]] "<span style=\"font-weight: 700\">foo[barbaz</span>}" queryCommandValue("bold") before assert_equals: Wrong result returned expected "" but got "true"
+PASS [["stylewithcss","false"],["bold",""]] "<span style=\"font-weight: 700\">foo[barbaz</span>}" queryCommandIndeterm("bold") after 
+PASS [["stylewithcss","false"],["bold",""]] "<span style=\"font-weight: 700\">foo[barbaz</span>}" queryCommandState("bold") after 
+FAIL [["stylewithcss","false"],["bold",""]] "<span style=\"font-weight: 700\">foo[barbaz</span>}" queryCommandValue("bold") after assert_equals: Wrong result returned expected "" but got "false"
+PASS [["bold",""]] "<span style=\"font-weight: 900\">foo[barbaz</span>}": execCommand("bold", false, "") return value 
+PASS [["bold",""]] "<span style=\"font-weight: 900\">foo[barbaz</span>}" checks for modifications to non-editable content 
+PASS [["bold",""]] "<span style=\"font-weight: 900\">foo[barbaz</span>}" compare innerHTML 
+PASS [["bold",""]] "<span style=\"font-weight: 900\">foo[barbaz</span>}" queryCommandIndeterm("bold") before 
+PASS [["bold",""]] "<span style=\"font-weight: 900\">foo[barbaz</span>}" queryCommandState("bold") before 
+FAIL [["bold",""]] "<span style=\"font-weight: 900\">foo[barbaz</span>}" queryCommandValue("bold") before assert_equals: Wrong result returned expected "" but got "true"
+PASS [["bold",""]] "<span style=\"font-weight: 900\">foo[barbaz</span>}" queryCommandIndeterm("bold") after 
+PASS [["bold",""]] "<span style=\"font-weight: 900\">foo[barbaz</span>}" queryCommandState("bold") after 
+FAIL [["bold",""]] "<span style=\"font-weight: 900\">foo[barbaz</span>}" queryCommandValue("bold") after assert_equals: Wrong result returned expected "" but got "false"
+PASS [["stylewithcss","true"],["bold",""]] "<h3>foo[bar]baz</h3>": execCommand("stylewithcss", false, "true") return value 
+PASS [["stylewithcss","true"],["bold",""]] "<h3>foo[bar]baz</h3>": execCommand("bold", false, "") return value 
+PASS [["stylewithcss","true"],["bold",""]] "<h3>foo[bar]baz</h3>" checks for modifications to non-editable content 
+PASS [["stylewithcss","true"],["bold",""]] "<h3>foo[bar]baz</h3>" compare innerHTML 
+PASS [["stylewithcss","true"],["bold",""]] "<h3>foo[bar]baz</h3>" queryCommandIndeterm("stylewithcss") before 
+PASS [["stylewithcss","true"],["bold",""]] "<h3>foo[bar]baz</h3>" queryCommandState("stylewithcss") before 
+PASS [["stylewithcss","true"],["bold",""]] "<h3>foo[bar]baz</h3>" queryCommandValue("stylewithcss") before 
+PASS [["stylewithcss","true"],["bold",""]] "<h3>foo[bar]baz</h3>" queryCommandIndeterm("stylewithcss") after 
+PASS [["stylewithcss","true"],["bold",""]] "<h3>foo[bar]baz</h3>" queryCommandState("stylewithcss") after 
+PASS [["stylewithcss","true"],["bold",""]] "<h3>foo[bar]baz</h3>" queryCommandValue("stylewithcss") after 
+PASS [["stylewithcss","true"],["bold",""]] "<h3>foo[bar]baz</h3>" queryCommandIndeterm("bold") before 
+PASS [["stylewithcss","true"],["bold",""]] "<h3>foo[bar]baz</h3>" queryCommandState("bold") before 
+FAIL [["stylewithcss","true"],["bold",""]] "<h3>foo[bar]baz</h3>" queryCommandValue("bold") before assert_equals: Wrong result returned expected "" but got "true"
+PASS [["stylewithcss","true"],["bold",""]] "<h3>foo[bar]baz</h3>" queryCommandIndeterm("bold") after 
+PASS [["stylewithcss","true"],["bold",""]] "<h3>foo[bar]baz</h3>" queryCommandState("bold") after 
+FAIL [["stylewithcss","true"],["bold",""]] "<h3>foo[bar]baz</h3>" queryCommandValue("bold") after assert_equals: Wrong result returned expected "" but got "false"
+PASS [["stylewithcss","false"],["bold",""]] "<h3>foo[bar]baz</h3>": execCommand("stylewithcss", false, "false") return value 
+PASS [["stylewithcss","false"],["bold",""]] "<h3>foo[bar]baz</h3>": execCommand("bold", false, "") return value 
+PASS [["stylewithcss","false"],["bold",""]] "<h3>foo[bar]baz</h3>" checks for modifications to non-editable content 
+PASS [["stylewithcss","false"],["bold",""]] "<h3>foo[bar]baz</h3>" compare innerHTML 
+PASS [["stylewithcss","false"],["bold",""]] "<h3>foo[bar]baz</h3>" queryCommandIndeterm("stylewithcss") before 
+PASS [["stylewithcss","false"],["bold",""]] "<h3>foo[bar]baz</h3>" queryCommandState("stylewithcss") before 
+PASS [["stylewithcss","false"],["bold",""]] "<h3>foo[bar]baz</h3>" queryCommandValue("stylewithcss") before 
+PASS [["stylewithcss","false"],["bold",""]] "<h3>foo[bar]baz</h3>" queryCommandIndeterm("stylewithcss") after 
+PASS [["stylewithcss","false"],["bold",""]] "<h3>foo[bar]baz</h3>" queryCommandState("stylewithcss") after 
+PASS [["stylewithcss","false"],["bold",""]] "<h3>foo[bar]baz</h3>" queryCommandValue("stylewithcss") after 
+PASS [["stylewithcss","false"],["bold",""]] "<h3>foo[bar]baz</h3>" queryCommandIndeterm("bold") before 
+PASS [["stylewithcss","false"],["bold",""]] "<h3>foo[bar]baz</h3>" queryCommandState("bold") before 
+FAIL [["stylewithcss","false"],["bold",""]] "<h3>foo[bar]baz</h3>" queryCommandValue("bold") before assert_equals: Wrong result returned expected "" but got "true"
+PASS [["stylewithcss","false"],["bold",""]] "<h3>foo[bar]baz</h3>" queryCommandIndeterm("bold") after 
+PASS [["stylewithcss","false"],["bold",""]] "<h3>foo[bar]baz</h3>" queryCommandState("bold") after 
+FAIL [["stylewithcss","false"],["bold",""]] "<h3>foo[bar]baz</h3>" queryCommandValue("bold") after assert_equals: Wrong result returned expected "" but got "false"
+PASS [["stylewithcss","true"],["bold",""]] "{<h3>foobar]baz</h3>": execCommand("stylewithcss", false, "true") return value 
+PASS [["stylewithcss","true"],["bold",""]] "{<h3>foobar]baz</h3>": execCommand("bold", false, "") return value 
+PASS [["stylewithcss","true"],["bold",""]] "{<h3>foobar]baz</h3>" checks for modifications to non-editable content 
+PASS [["stylewithcss","true"],["bold",""]] "{<h3>foobar]baz</h3>" compare innerHTML 
+PASS [["stylewithcss","true"],["bold",""]] "{<h3>foobar]baz</h3>" queryCommandIndeterm("stylewithcss") before 
+PASS [["stylewithcss","true"],["bold",""]] "{<h3>foobar]baz</h3>" queryCommandState("stylewithcss") before 
+PASS [["stylewithcss","true"],["bold",""]] "{<h3>foobar]baz</h3>" queryCommandValue("stylewithcss") before 
+PASS [["stylewithcss","true"],["bold",""]] "{<h3>foobar]baz</h3>" queryCommandIndeterm("stylewithcss") after 
+PASS [["stylewithcss","true"],["bold",""]] "{<h3>foobar]baz</h3>" queryCommandState("stylewithcss") after 
+PASS [["stylewithcss","true"],["bold",""]] "{<h3>foobar]baz</h3>" queryCommandValue("stylewithcss") after 
+PASS [["stylewithcss","true"],["bold",""]] "{<h3>foobar]baz</h3>" queryCommandIndeterm("bold") before 
+PASS [["stylewithcss","true"],["bold",""]] "{<h3>foobar]baz</h3>" queryCommandState("bold") before 
+FAIL [["stylewithcss","true"],["bold",""]] "{<h3>foobar]baz</h3>" queryCommandValue("bold") before assert_equals: Wrong result returned expected "" but got "true"
+PASS [["stylewithcss","true"],["bold",""]] "{<h3>foobar]baz</h3>" queryCommandIndeterm("bold") after 
+PASS [["stylewithcss","true"],["bold",""]] "{<h3>foobar]baz</h3>" queryCommandState("bold") after 
+FAIL [["stylewithcss","true"],["bold",""]] "{<h3>foobar]baz</h3>" queryCommandValue("bold") after assert_equals: Wrong result returned expected "" but got "false"
+PASS [["stylewithcss","false"],["bold",""]] "{<h3>foobar]baz</h3>": execCommand("stylewithcss", false, "false") return value 
+PASS [["stylewithcss","false"],["bold",""]] "{<h3>foobar]baz</h3>": execCommand("bold", false, "") return value 
+PASS [["stylewithcss","false"],["bold",""]] "{<h3>foobar]baz</h3>" checks for modifications to non-editable content 
+PASS [["stylewithcss","false"],["bold",""]] "{<h3>foobar]baz</h3>" compare innerHTML 
+PASS [["stylewithcss","false"],["bold",""]] "{<h3>foobar]baz</h3>" queryCommandIndeterm("stylewithcss") before 
+PASS [["stylewithcss","false"],["bold",""]] "{<h3>foobar]baz</h3>" queryCommandState("stylewithcss") before 
+PASS [["stylewithcss","false"],["bold",""]] "{<h3>foobar]baz</h3>" queryCommandValue("stylewithcss") before 
+PASS [["stylewithcss","false"],["bold",""]] "{<h3>foobar]baz</h3>" queryCommandIndeterm("stylewithcss") after 
+PASS [["stylewithcss","false"],["bold",""]] "{<h3>foobar]baz</h3>" queryCommandState("stylewithcss") after 
+PASS [["stylewithcss","false"],["bold",""]] "{<h3>foobar]baz</h3>" queryCommandValue("stylewithcss") after 
+PASS [["stylewithcss","false"],["bold",""]] "{<h3>foobar]baz</h3>" queryCommandIndeterm("bold") before 
+PASS [["stylewithcss","false"],["bold",""]] "{<h3>foobar]baz</h3>" queryCommandState("bold") before 
+FAIL [["stylewithcss","false"],["bold",""]] "{<h3>foobar]baz</h3>" queryCommandValue("bold") before assert_equals: Wrong result returned expected "" but got "true"
+PASS [["stylewithcss","false"],["bold",""]] "{<h3>foobar]baz</h3>" queryCommandIndeterm("bold") after 
+PASS [["stylewithcss","false"],["bold",""]] "{<h3>foobar]baz</h3>" queryCommandState("bold") after 
+FAIL [["stylewithcss","false"],["bold",""]] "{<h3>foobar]baz</h3>" queryCommandValue("bold") after assert_equals: Wrong result returned expected "" but got "false"
+PASS [["stylewithcss","true"],["bold",""]] "<h3>foo[barbaz</h3>}": execCommand("stylewithcss", false, "true") return value 
+PASS [["stylewithcss","true"],["bold",""]] "<h3>foo[barbaz</h3>}": execCommand("bold", false, "") return value 
+PASS [["stylewithcss","true"],["bold",""]] "<h3>foo[barbaz</h3>}" checks for modifications to non-editable content 
+PASS [["stylewithcss","true"],["bold",""]] "<h3>foo[barbaz</h3>}" compare innerHTML 
+PASS [["stylewithcss","true"],["bold",""]] "<h3>foo[barbaz</h3>}" queryCommandIndeterm("stylewithcss") before 
+PASS [["stylewithcss","true"],["bold",""]] "<h3>foo[barbaz</h3>}" queryCommandState("stylewithcss") before 
+PASS [["stylewithcss","true"],["bold",""]] "<h3>foo[barbaz</h3>}" queryCommandValue("stylewithcss") before 
+PASS [["stylewithcss","true"],["bold",""]] "<h3>foo[barbaz</h3>}" queryCommandIndeterm("stylewithcss") after 
+PASS [["stylewithcss","true"],["bold",""]] "<h3>foo[barbaz</h3>}" queryCommandState("stylewithcss") after 
+PASS [["stylewithcss","true"],["bold",""]] "<h3>foo[barbaz</h3>}" queryCommandValue("stylewithcss") after 
+PASS [["stylewithcss","true"],["bold",""]] "<h3>foo[barbaz</h3>}" queryCommandIndeterm("bold") before 
+PASS [["stylewithcss","true"],["bold",""]] "<h3>foo[barbaz</h3>}" queryCommandState("bold") before 
+FAIL [["stylewithcss","true"],["bold",""]] "<h3>foo[barbaz</h3>}" queryCommandValue("bold") before assert_equals: Wrong result returned expected "" but got "true"
+PASS [["stylewithcss","true"],["bold",""]] "<h3>foo[barbaz</h3>}" queryCommandIndeterm("bold") after 
+PASS [["stylewithcss","true"],["bold",""]] "<h3>foo[barbaz</h3>}" queryCommandState("bold") after 
+FAIL [["stylewithcss","true"],["bold",""]] "<h3>foo[barbaz</h3>}" queryCommandValue("bold") after assert_equals: Wrong result returned expected "" but got "false"
+PASS [["stylewithcss","false"],["bold",""]] "<h3>foo[barbaz</h3>}": execCommand("stylewithcss", false, "false") return value 
+PASS [["stylewithcss","false"],["bold",""]] "<h3>foo[barbaz</h3>}": execCommand("bold", false, "") return value 
+PASS [["stylewithcss","false"],["bold",""]] "<h3>foo[barbaz</h3>}" checks for modifications to non-editable content 
+PASS [["stylewithcss","false"],["bold",""]] "<h3>foo[barbaz</h3>}" compare innerHTML 
+PASS [["stylewithcss","false"],["bold",""]] "<h3>foo[barbaz</h3>}" queryCommandIndeterm("stylewithcss") before 
+PASS [["stylewithcss","false"],["bold",""]] "<h3>foo[barbaz</h3>}" queryCommandState("stylewithcss") before 
+PASS [["stylewithcss","false"],["bold",""]] "<h3>foo[barbaz</h3>}" queryCommandValue("stylewithcss") before 
+PASS [["stylewithcss","false"],["bold",""]] "<h3>foo[barbaz</h3>}" queryCommandIndeterm("stylewithcss") after 
+PASS [["stylewithcss","false"],["bold",""]] "<h3>foo[barbaz</h3>}" queryCommandState("stylewithcss") after 
+PASS [["stylewithcss","false"],["bold",""]] "<h3>foo[barbaz</h3>}" queryCommandValue("stylewithcss") after 
+PASS [["stylewithcss","false"],["bold",""]] "<h3>foo[barbaz</h3>}" queryCommandIndeterm("bold") before 
+PASS [["stylewithcss","false"],["bold",""]] "<h3>foo[barbaz</h3>}" queryCommandState("bold") before 
+FAIL [["stylewithcss","false"],["bold",""]] "<h3>foo[barbaz</h3>}" queryCommandValue("bold") before assert_equals: Wrong result returned expected "" but got "true"
+PASS [["stylewithcss","false"],["bold",""]] "<h3>foo[barbaz</h3>}" queryCommandIndeterm("bold") after 
+PASS [["stylewithcss","false"],["bold",""]] "<h3>foo[barbaz</h3>}" queryCommandState("bold") after 
+FAIL [["stylewithcss","false"],["bold",""]] "<h3>foo[barbaz</h3>}" queryCommandValue("bold") after assert_equals: Wrong result returned expected "" but got "false"
+PASS [["stylewithcss","true"],["bold",""]] "<h3>[foobarbaz]</h3>": execCommand("stylewithcss", false, "true") return value 
+PASS [["stylewithcss","true"],["bold",""]] "<h3>[foobarbaz]</h3>": execCommand("bold", false, "") return value 
+PASS [["stylewithcss","true"],["bold",""]] "<h3>[foobarbaz]</h3>" checks for modifications to non-editable content 
+PASS [["stylewithcss","true"],["bold",""]] "<h3>[foobarbaz]</h3>" compare innerHTML 
+PASS [["stylewithcss","true"],["bold",""]] "<h3>[foobarbaz]</h3>" queryCommandIndeterm("stylewithcss") before 
+PASS [["stylewithcss","true"],["bold",""]] "<h3>[foobarbaz]</h3>" queryCommandState("stylewithcss") before 
+PASS [["stylewithcss","true"],["bold",""]] "<h3>[foobarbaz]</h3>" queryCommandValue("stylewithcss") before 
+PASS [["stylewithcss","true"],["bold",""]] "<h3>[foobarbaz]</h3>" queryCommandIndeterm("stylewithcss") after 
+PASS [["stylewithcss","true"],["bold",""]] "<h3>[foobarbaz]</h3>" queryCommandState("stylewithcss") after 
+PASS [["stylewithcss","true"],["bold",""]] "<h3>[foobarbaz]</h3>" queryCommandValue("stylewithcss") after 
+PASS [["stylewithcss","true"],["bold",""]] "<h3>[foobarbaz]</h3>" queryCommandIndeterm("bold") before 
+PASS [["stylewithcss","true"],["bold",""]] "<h3>[foobarbaz]</h3>" queryCommandState("bold") before 
+FAIL [["stylewithcss","true"],["bold",""]] "<h3>[foobarbaz]</h3>" queryCommandValue("bold") before assert_equals: Wrong result returned expected "" but got "true"
+PASS [["stylewithcss","true"],["bold",""]] "<h3>[foobarbaz]</h3>" queryCommandIndeterm("bold") after 
+PASS [["stylewithcss","true"],["bold",""]] "<h3>[foobarbaz]</h3>" queryCommandState("bold") after 
+FAIL [["stylewithcss","true"],["bold",""]] "<h3>[foobarbaz]</h3>" queryCommandValue("bold") after assert_equals: Wrong result returned expected "" but got "false"
+PASS [["stylewithcss","false"],["bold",""]] "<h3>[foobarbaz]</h3>": execCommand("stylewithcss", false, "false") return value 
+PASS [["stylewithcss","false"],["bold",""]] "<h3>[foobarbaz]</h3>": execCommand("bold", false, "") return value 
+PASS [["stylewithcss","false"],["bold",""]] "<h3>[foobarbaz]</h3>" checks for modifications to non-editable content 
+PASS [["stylewithcss","false"],["bold",""]] "<h3>[foobarbaz]</h3>" compare innerHTML 
+PASS [["stylewithcss","false"],["bold",""]] "<h3>[foobarbaz]</h3>" queryCommandIndeterm("stylewithcss") before 
+PASS [["stylewithcss","false"],["bold",""]] "<h3>[foobarbaz]</h3>" queryCommandState("stylewithcss") before 
+PASS [["stylewithcss","false"],["bold",""]] "<h3>[foobarbaz]</h3>" queryCommandValue("stylewithcss") before 
+PASS [["stylewithcss","false"],["bold",""]] "<h3>[foobarbaz]</h3>" queryCommandIndeterm("stylewithcss") after 
+PASS [["stylewithcss","false"],["bold",""]] "<h3>[foobarbaz]</h3>" queryCommandState("stylewithcss") after 
+PASS [["stylewithcss","false"],["bold",""]] "<h3>[foobarbaz]</h3>" queryCommandValue("stylewithcss") after 
+PASS [["stylewithcss","false"],["bold",""]] "<h3>[foobarbaz]</h3>" queryCommandIndeterm("bold") before 
+PASS [["stylewithcss","false"],["bold",""]] "<h3>[foobarbaz]</h3>" queryCommandState("bold") before 
+FAIL [["stylewithcss","false"],["bold",""]] "<h3>[foobarbaz]</h3>" queryCommandValue("bold") before assert_equals: Wrong result returned expected "" but got "true"
+PASS [["stylewithcss","false"],["bold",""]] "<h3>[foobarbaz]</h3>" queryCommandIndeterm("bold") after 
+PASS [["stylewithcss","false"],["bold",""]] "<h3>[foobarbaz]</h3>" queryCommandState("bold") after 
+FAIL [["stylewithcss","false"],["bold",""]] "<h3>[foobarbaz]</h3>" queryCommandValue("bold") after assert_equals: Wrong result returned expected "" but got "false"
+PASS [["stylewithcss","true"],["bold",""]] "{<h3>foobarbaz]</h3>": execCommand("stylewithcss", false, "true") return value 
+PASS [["stylewithcss","true"],["bold",""]] "{<h3>foobarbaz]</h3>": execCommand("bold", false, "") return value 
+PASS [["stylewithcss","true"],["bold",""]] "{<h3>foobarbaz]</h3>" checks for modifications to non-editable content 
+PASS [["stylewithcss","true"],["bold",""]] "{<h3>foobarbaz]</h3>" compare innerHTML 
+PASS [["stylewithcss","true"],["bold",""]] "{<h3>foobarbaz]</h3>" queryCommandIndeterm("stylewithcss") before 
+PASS [["stylewithcss","true"],["bold",""]] "{<h3>foobarbaz]</h3>" queryCommandState("stylewithcss") before 
+PASS [["stylewithcss","true"],["bold",""]] "{<h3>foobarbaz]</h3>" queryCommandValue("stylewithcss") before 
+PASS [["stylewithcss","true"],["bold",""]] "{<h3>foobarbaz]</h3>" queryCommandIndeterm("stylewithcss") after 
+PASS [["stylewithcss","true"],["bold",""]] "{<h3>foobarbaz]</h3>" queryCommandState("stylewithcss") after 
+PASS [["stylewithcss","true"],["bold",""]] "{<h3>foobarbaz]</h3>" queryCommandValue("stylewithcss") after 
+PASS [["stylewithcss","true"],["bold",""]] "{<h3>foobarbaz]</h3>" queryCommandIndeterm("bold") before 
+PASS [["stylewithcss","true"],["bold",""]] "{<h3>foobarbaz]</h3>" queryCommandState("bold") before 
+FAIL [["stylewithcss","true"],["bold",""]] "{<h3>foobarbaz]</h3>" queryCommandValue("bold") before assert_equals: Wrong result returned expected "" but got "true"
+PASS [["stylewithcss","true"],["bold",""]] "{<h3>foobarbaz]</h3>" queryCommandIndeterm("bold") after 
+PASS [["stylewithcss","true"],["bold",""]] "{<h3>foobarbaz]</h3>" queryCommandState("bold") after 
+FAIL [["stylewithcss","true"],["bold",""]] "{<h3>foobarbaz]</h3>" queryCommandValue("bold") after assert_equals: Wrong result returned expected "" but got "false"
+PASS [["stylewithcss","false"],["bold",""]] "{<h3>foobarbaz]</h3>": execCommand("stylewithcss", false, "false") return value 
+PASS [["stylewithcss","false"],["bold",""]] "{<h3>foobarbaz]</h3>": execCommand("bold", false, "") return value 
+PASS [["stylewithcss","false"],["bold",""]] "{<h3>foobarbaz]</h3>" checks for modifications to non-editable content 
+PASS [["stylewithcss","false"],["bold",""]] "{<h3>foobarbaz]</h3>" compare innerHTML 
+PASS [["stylewithcss","false"],["bold",""]] "{<h3>foobarbaz]</h3>" queryCommandIndeterm("stylewithcss") before 
+PASS [["stylewithcss","false"],["bold",""]] "{<h3>foobarbaz]</h3>" queryCommandState("stylewithcss") before 
+PASS [["stylewithcss","false"],["bold",""]] "{<h3>foobarbaz]</h3>" queryCommandValue("stylewithcss") before 
+PASS [["stylewithcss","false"],["bold",""]] "{<h3>foobarbaz]</h3>" queryCommandIndeterm("stylewithcss") after 
+PASS [["stylewithcss","false"],["bold",""]] "{<h3>foobarbaz]</h3>" queryCommandState("stylewithcss") after 
+PASS [["stylewithcss","false"],["bold",""]] "{<h3>foobarbaz]</h3>" queryCommandValue("stylewithcss") after 
+PASS [["stylewithcss","false"],["bold",""]] "{<h3>foobarbaz]</h3>" queryCommandIndeterm("bold") before 
+PASS [["stylewithcss","false"],["bold",""]] "{<h3>foobarbaz]</h3>" queryCommandState("bold") before 
+FAIL [["stylewithcss","false"],["bold",""]] "{<h3>foobarbaz]</h3>" queryCommandValue("bold") before assert_equals: Wrong result returned expected "" but got "true"
+PASS [["stylewithcss","false"],["bold",""]] "{<h3>foobarbaz]</h3>" queryCommandIndeterm("bold") after 
+PASS [["stylewithcss","false"],["bold",""]] "{<h3>foobarbaz]</h3>" queryCommandState("bold") after 
+FAIL [["stylewithcss","false"],["bold",""]] "{<h3>foobarbaz]</h3>" queryCommandValue("bold") after assert_equals: Wrong result returned expected "" but got "false"
+PASS [["stylewithcss","true"],["bold",""]] "<h3>[foobarbaz</h3>}": execCommand("stylewithcss", false, "true") return value 
+PASS [["stylewithcss","true"],["bold",""]] "<h3>[foobarbaz</h3>}": execCommand("bold", false, "") return value 
+PASS [["stylewithcss","true"],["bold",""]] "<h3>[foobarbaz</h3>}" checks for modifications to non-editable content 
+PASS [["stylewithcss","true"],["bold",""]] "<h3>[foobarbaz</h3>}" compare innerHTML 
+PASS [["stylewithcss","true"],["bold",""]] "<h3>[foobarbaz</h3>}" queryCommandIndeterm("stylewithcss") before 
+PASS [["stylewithcss","true"],["bold",""]] "<h3>[foobarbaz</h3>}" queryCommandState("stylewithcss") before 
+PASS [["stylewithcss","true"],["bold",""]] "<h3>[foobarbaz</h3>}" queryCommandValue("stylewithcss") before 
+PASS [["stylewithcss","true"],["bold",""]] "<h3>[foobarbaz</h3>}" queryCommandIndeterm("stylewithcss") after 
+PASS [["stylewithcss","true"],["bold",""]] "<h3>[foobarbaz</h3>}" queryCommandState("stylewithcss") after 
+PASS [["stylewithcss","true"],["bold",""]] "<h3>[foobarbaz</h3>}" queryCommandValue("stylewithcss") after 
+PASS [["stylewithcss","true"],["bold",""]] "<h3>[foobarbaz</h3>}" queryCommandIndeterm("bold") before 
+PASS [["stylewithcss","true"],["bold",""]] "<h3>[foobarbaz</h3>}" queryCommandState("bold") before 
+FAIL [["stylewithcss","true"],["bold",""]] "<h3>[foobarbaz</h3>}" queryCommandValue("bold") before assert_equals: Wrong result returned expected "" but got "true"
+PASS [["stylewithcss","true"],["bold",""]] "<h3>[foobarbaz</h3>}" queryCommandIndeterm("bold") after 
+PASS [["stylewithcss","true"],["bold",""]] "<h3>[foobarbaz</h3>}" queryCommandState("bold") after 
+FAIL [["stylewithcss","true"],["bold",""]] "<h3>[foobarbaz</h3>}" queryCommandValue("bold") after assert_equals: Wrong result returned expected "" but got "false"
+PASS [["stylewithcss","false"],["bold",""]] "<h3>[foobarbaz</h3>}": execCommand("stylewithcss", false, "false") return value 
+PASS [["stylewithcss","false"],["bold",""]] "<h3>[foobarbaz</h3>}": execCommand("bold", false, "") return value 
+PASS [["stylewithcss","false"],["bold",""]] "<h3>[foobarbaz</h3>}" checks for modifications to non-editable content 
+PASS [["stylewithcss","false"],["bold",""]] "<h3>[foobarbaz</h3>}" compare innerHTML 
+PASS [["stylewithcss","false"],["bold",""]] "<h3>[foobarbaz</h3>}" queryCommandIndeterm("stylewithcss") before 
+PASS [["stylewithcss","false"],["bold",""]] "<h3>[foobarbaz</h3>}" queryCommandState("stylewithcss") before 
+PASS [["stylewithcss","false"],["bold",""]] "<h3>[foobarbaz</h3>}" queryCommandValue("stylewithcss") before 
+PASS [["stylewithcss","false"],["bold",""]] "<h3>[foobarbaz</h3>}" queryCommandIndeterm("stylewithcss") after 
+PASS [["stylewithcss","false"],["bold",""]] "<h3>[foobarbaz</h3>}" queryCommandState("stylewithcss") after 
+PASS [["stylewithcss","false"],["bold",""]] "<h3>[foobarbaz</h3>}" queryCommandValue("stylewithcss") after 
+PASS [["stylewithcss","false"],["bold",""]] "<h3>[foobarbaz</h3>}" queryCommandIndeterm("bold") before 
+PASS [["stylewithcss","false"],["bold",""]] "<h3>[foobarbaz</h3>}" queryCommandState("bold") before 
+FAIL [["stylewithcss","false"],["bold",""]] "<h3>[foobarbaz</h3>}" queryCommandValue("bold") before assert_equals: Wrong result returned expected "" but got "true"
+PASS [["stylewithcss","false"],["bold",""]] "<h3>[foobarbaz</h3>}" queryCommandIndeterm("bold") after 
+PASS [["stylewithcss","false"],["bold",""]] "<h3>[foobarbaz</h3>}" queryCommandState("bold") after 
+FAIL [["stylewithcss","false"],["bold",""]] "<h3>[foobarbaz</h3>}" queryCommandValue("bold") after assert_equals: Wrong result returned expected "" but got "false"
+PASS [["stylewithcss","true"],["bold",""]] "{<h3>foobarbaz</h3>}": execCommand("stylewithcss", false, "true") return value 
+PASS [["stylewithcss","true"],["bold",""]] "{<h3>foobarbaz</h3>}": execCommand("bold", false, "") return value 
+PASS [["stylewithcss","true"],["bold",""]] "{<h3>foobarbaz</h3>}" checks for modifications to non-editable content 
+PASS [["stylewithcss","true"],["bold",""]] "{<h3>foobarbaz</h3>}" compare innerHTML 
+PASS [["stylewithcss","true"],["bold",""]] "{<h3>foobarbaz</h3>}" queryCommandIndeterm("stylewithcss") before 
+PASS [["stylewithcss","true"],["bold",""]] "{<h3>foobarbaz</h3>}" queryCommandState("stylewithcss") before 
+PASS [["stylewithcss","true"],["bold",""]] "{<h3>foobarbaz</h3>}" queryCommandValue("stylewithcss") before 
+PASS [["stylewithcss","true"],["bold",""]] "{<h3>foobarbaz</h3>}" queryCommandIndeterm("stylewithcss") after 
+PASS [["stylewithcss","true"],["bold",""]] "{<h3>foobarbaz</h3>}" queryCommandState("stylewithcss") after 
+PASS [["stylewithcss","true"],["bold",""]] "{<h3>foobarbaz</h3>}" queryCommandValue("stylewithcss") after 
+PASS [["stylewithcss","true"],["bold",""]] "{<h3>foobarbaz</h3>}" queryCommandIndeterm("bold") before 
+PASS [["stylewithcss","true"],["bold",""]] "{<h3>foobarbaz</h3>}" queryCommandState("bold") before 
+FAIL [["stylewithcss","true"],["bold",""]] "{<h3>foobarbaz</h3>}" queryCommandValue("bold") before assert_equals: Wrong result returned expected "" but got "true"
+PASS [["stylewithcss","true"],["bold",""]] "{<h3>foobarbaz</h3>}" queryCommandIndeterm("bold") after 
+PASS [["stylewithcss","true"],["bold",""]] "{<h3>foobarbaz</h3>}" queryCommandState("bold") after 
+FAIL [["stylewithcss","true"],["bold",""]] "{<h3>foobarbaz</h3>}" queryCommandValue("bold") after assert_equals: Wrong result returned expected "" but got "false"
+PASS [["stylewithcss","false"],["bold",""]] "{<h3>foobarbaz</h3>}": execCommand("stylewithcss", false, "false") return value 
+PASS [["stylewithcss","false"],["bold",""]] "{<h3>foobarbaz</h3>}": execCommand("bold", false, "") return value 
+PASS [["stylewithcss","false"],["bold",""]] "{<h3>foobarbaz</h3>}" checks for modifications to non-editable content 
+PASS [["stylewithcss","false"],["bold",""]] "{<h3>foobarbaz</h3>}" compare innerHTML 
+PASS [["stylewithcss","false"],["bold",""]] "{<h3>foobarbaz</h3>}" queryCommandIndeterm("stylewithcss") before 
+PASS [["stylewithcss","false"],["bold",""]] "{<h3>foobarbaz</h3>}" queryCommandState("stylewithcss") before 
+PASS [["stylewithcss","false"],["bold",""]] "{<h3>foobarbaz</h3>}" queryCommandValue("stylewithcss") before 
+PASS [["stylewithcss","false"],["bold",""]] "{<h3>foobarbaz</h3>}" queryCommandIndeterm("stylewithcss") after 
+PASS [["stylewithcss","false"],["bold",""]] "{<h3>foobarbaz</h3>}" queryCommandState("stylewithcss") after 
+PASS [["stylewithcss","false"],["bold",""]] "{<h3>foobarbaz</h3>}" queryCommandValue("stylewithcss") after 
+PASS [["stylewithcss","false"],["bold",""]] "{<h3>foobarbaz</h3>}" queryCommandIndeterm("bold") before 
+PASS [["stylewithcss","false"],["bold",""]] "{<h3>foobarbaz</h3>}" queryCommandState("bold") before 
+FAIL [["stylewithcss","false"],["bold",""]] "{<h3>foobarbaz</h3>}" queryCommandValue("bold") before assert_equals: Wrong result returned expected "" but got "true"
+PASS [["stylewithcss","false"],["bold",""]] "{<h3>foobarbaz</h3>}" queryCommandIndeterm("bold") after 
+PASS [["stylewithcss","false"],["bold",""]] "{<h3>foobarbaz</h3>}" queryCommandState("bold") after 
+FAIL [["stylewithcss","false"],["bold",""]] "{<h3>foobarbaz</h3>}" queryCommandValue("bold") after assert_equals: Wrong result returned expected "" but got "false"
+PASS [["stylewithcss","true"],["bold",""]] "<b>foo<span style=\"font-weight: normal\">bar<b>[baz]</b>quz</span>qoz</b>": execCommand("stylewithcss", false, "true") return value 
+PASS [["stylewithcss","true"],["bold",""]] "<b>foo<span style=\"font-weight: normal\">bar<b>[baz]</b>quz</span>qoz</b>": execCommand("bold", false, "") return value 
+PASS [["stylewithcss","true"],["bold",""]] "<b>foo<span style=\"font-weight: normal\">bar<b>[baz]</b>quz</span>qoz</b>" checks for modifications to non-editable content 
+FAIL [["stylewithcss","true"],["bold",""]] "<b>foo<span style=\"font-weight: normal\">bar<b>[baz]</b>quz</span>qoz</b>" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<b>foo<span style=\"font-weight:normal\">barbazquz</span>qoz</b>" but got "<span style=\"font-weight:bold\">foo</span>barbazquz<span style=\"font-weight:bold\">qoz</span>"
+PASS [["stylewithcss","true"],["bold",""]] "<b>foo<span style=\"font-weight: normal\">bar<b>[baz]</b>quz</span>qoz</b>" queryCommandIndeterm("stylewithcss") before 
+PASS [["stylewithcss","true"],["bold",""]] "<b>foo<span style=\"font-weight: normal\">bar<b>[baz]</b>quz</span>qoz</b>" queryCommandState("stylewithcss") before 
+PASS [["stylewithcss","true"],["bold",""]] "<b>foo<span style=\"font-weight: normal\">bar<b>[baz]</b>quz</span>qoz</b>" queryCommandValue("stylewithcss") before 
+PASS [["stylewithcss","true"],["bold",""]] "<b>foo<span style=\"font-weight: normal\">bar<b>[baz]</b>quz</span>qoz</b>" queryCommandIndeterm("stylewithcss") after 
+PASS [["stylewithcss","true"],["bold",""]] "<b>foo<span style=\"font-weight: normal\">bar<b>[baz]</b>quz</span>qoz</b>" queryCommandState("stylewithcss") after 
+PASS [["stylewithcss","true"],["bold",""]] "<b>foo<span style=\"font-weight: normal\">bar<b>[baz]</b>quz</span>qoz</b>" queryCommandValue("stylewithcss") after 
+PASS [["stylewithcss","true"],["bold",""]] "<b>foo<span style=\"font-weight: normal\">bar<b>[baz]</b>quz</span>qoz</b>" queryCommandIndeterm("bold") before 
+PASS [["stylewithcss","true"],["bold",""]] "<b>foo<span style=\"font-weight: normal\">bar<b>[baz]</b>quz</span>qoz</b>" queryCommandState("bold") before 
+FAIL [["stylewithcss","true"],["bold",""]] "<b>foo<span style=\"font-weight: normal\">bar<b>[baz]</b>quz</span>qoz</b>" queryCommandValue("bold") before assert_equals: Wrong result returned expected "" but got "true"
+PASS [["stylewithcss","true"],["bold",""]] "<b>foo<span style=\"font-weight: normal\">bar<b>[baz]</b>quz</span>qoz</b>" queryCommandIndeterm("bold") after 
+PASS [["stylewithcss","true"],["bold",""]] "<b>foo<span style=\"font-weight: normal\">bar<b>[baz]</b>quz</span>qoz</b>" queryCommandState("bold") after 
+FAIL [["stylewithcss","true"],["bold",""]] "<b>foo<span style=\"font-weight: normal\">bar<b>[baz]</b>quz</span>qoz</b>" queryCommandValue("bold") after assert_equals: Wrong result returned expected "" but got "false"
+PASS [["stylewithcss","false"],["bold",""]] "<b>foo<span style=\"font-weight: normal\">bar<b>[baz]</b>quz</span>qoz</b>": execCommand("stylewithcss", false, "false") return value 
+PASS [["stylewithcss","false"],["bold",""]] "<b>foo<span style=\"font-weight: normal\">bar<b>[baz]</b>quz</span>qoz</b>": execCommand("bold", false, "") return value 
+PASS [["stylewithcss","false"],["bold",""]] "<b>foo<span style=\"font-weight: normal\">bar<b>[baz]</b>quz</span>qoz</b>" checks for modifications to non-editable content 
+FAIL [["stylewithcss","false"],["bold",""]] "<b>foo<span style=\"font-weight: normal\">bar<b>[baz]</b>quz</span>qoz</b>" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<b>foo<span style=\"font-weight:normal\">barbazquz</span>qoz</b>" but got "<b>foo</b>barbazquz<b>qoz</b>"
+PASS [["stylewithcss","false"],["bold",""]] "<b>foo<span style=\"font-weight: normal\">bar<b>[baz]</b>quz</span>qoz</b>" queryCommandIndeterm("stylewithcss") before 
+PASS [["stylewithcss","false"],["bold",""]] "<b>foo<span style=\"font-weight: normal\">bar<b>[baz]</b>quz</span>qoz</b>" queryCommandState("stylewithcss") before 
+PASS [["stylewithcss","false"],["bold",""]] "<b>foo<span style=\"font-weight: normal\">bar<b>[baz]</b>quz</span>qoz</b>" queryCommandValue("stylewithcss") before 
+PASS [["stylewithcss","false"],["bold",""]] "<b>foo<span style=\"font-weight: normal\">bar<b>[baz]</b>quz</span>qoz</b>" queryCommandIndeterm("stylewithcss") after 
+PASS [["stylewithcss","false"],["bold",""]] "<b>foo<span style=\"font-weight: normal\">bar<b>[baz]</b>quz</span>qoz</b>" queryCommandState("stylewithcss") after 
+PASS [["stylewithcss","false"],["bold",""]] "<b>foo<span style=\"font-weight: normal\">bar<b>[baz]</b>quz</span>qoz</b>" queryCommandValue("stylewithcss") after 
+PASS [["stylewithcss","false"],["bold",""]] "<b>foo<span style=\"font-weight: normal\">bar<b>[baz]</b>quz</span>qoz</b>" queryCommandIndeterm("bold") before 
+PASS [["stylewithcss","false"],["bold",""]] "<b>foo<span style=\"font-weight: normal\">bar<b>[baz]</b>quz</span>qoz</b>" queryCommandState("bold") before 
+FAIL [["stylewithcss","false"],["bold",""]] "<b>foo<span style=\"font-weight: normal\">bar<b>[baz]</b>quz</span>qoz</b>" queryCommandValue("bold") before assert_equals: Wrong result returned expected "" but got "true"
+PASS [["stylewithcss","false"],["bold",""]] "<b>foo<span style=\"font-weight: normal\">bar<b>[baz]</b>quz</span>qoz</b>" queryCommandIndeterm("bold") after 
+PASS [["stylewithcss","false"],["bold",""]] "<b>foo<span style=\"font-weight: normal\">bar<b>[baz]</b>quz</span>qoz</b>" queryCommandState("bold") after 
+FAIL [["stylewithcss","false"],["bold",""]] "<b>foo<span style=\"font-weight: normal\">bar<b>[baz]</b>quz</span>qoz</b>" queryCommandValue("bold") after assert_equals: Wrong result returned expected "" but got "false"
+PASS [["stylewithcss","true"],["bold",""]] "<b>foo<span style=\"font-weight: normal\">[bar]</span>baz</b>": execCommand("stylewithcss", false, "true") return value 
+PASS [["stylewithcss","true"],["bold",""]] "<b>foo<span style=\"font-weight: normal\">[bar]</span>baz</b>": execCommand("bold", false, "") return value 
+PASS [["stylewithcss","true"],["bold",""]] "<b>foo<span style=\"font-weight: normal\">[bar]</span>baz</b>" checks for modifications to non-editable content 
+PASS [["stylewithcss","true"],["bold",""]] "<b>foo<span style=\"font-weight: normal\">[bar]</span>baz</b>" compare innerHTML 
+PASS [["stylewithcss","true"],["bold",""]] "<b>foo<span style=\"font-weight: normal\">[bar]</span>baz</b>" queryCommandIndeterm("stylewithcss") before 
+PASS [["stylewithcss","true"],["bold",""]] "<b>foo<span style=\"font-weight: normal\">[bar]</span>baz</b>" queryCommandState("stylewithcss") before 
+PASS [["stylewithcss","true"],["bold",""]] "<b>foo<span style=\"font-weight: normal\">[bar]</span>baz</b>" queryCommandValue("stylewithcss") before 
+PASS [["stylewithcss","true"],["bold",""]] "<b>foo<span style=\"font-weight: normal\">[bar]</span>baz</b>" queryCommandIndeterm("stylewithcss") after 
+PASS [["stylewithcss","true"],["bold",""]] "<b>foo<span style=\"font-weight: normal\">[bar]</span>baz</b>" queryCommandState("stylewithcss") after 
+PASS [["stylewithcss","true"],["bold",""]] "<b>foo<span style=\"font-weight: normal\">[bar]</span>baz</b>" queryCommandValue("stylewithcss") after 
+PASS [["stylewithcss","true"],["bold",""]] "<b>foo<span style=\"font-weight: normal\">[bar]</span>baz</b>" queryCommandIndeterm("bold") before 
+PASS [["stylewithcss","true"],["bold",""]] "<b>foo<span style=\"font-weight: normal\">[bar]</span>baz</b>" queryCommandState("bold") before 
+FAIL [["stylewithcss","true"],["bold",""]] "<b>foo<span style=\"font-weight: normal\">[bar]</span>baz</b>" queryCommandValue("bold") before assert_equals: Wrong result returned expected "" but got "false"
+PASS [["stylewithcss","true"],["bold",""]] "<b>foo<span style=\"font-weight: normal\">[bar]</span>baz</b>" queryCommandIndeterm("bold") after 
+PASS [["stylewithcss","true"],["bold",""]] "<b>foo<span style=\"font-weight: normal\">[bar]</span>baz</b>" queryCommandState("bold") after 
+FAIL [["stylewithcss","true"],["bold",""]] "<b>foo<span style=\"font-weight: normal\">[bar]</span>baz</b>" queryCommandValue("bold") after assert_equals: Wrong result returned expected "" but got "true"
+PASS [["stylewithcss","false"],["bold",""]] "<b>foo<span style=\"font-weight: normal\">[bar]</span>baz</b>": execCommand("stylewithcss", false, "false") return value 
+PASS [["stylewithcss","false"],["bold",""]] "<b>foo<span style=\"font-weight: normal\">[bar]</span>baz</b>": execCommand("bold", false, "") return value 
+PASS [["stylewithcss","false"],["bold",""]] "<b>foo<span style=\"font-weight: normal\">[bar]</span>baz</b>" checks for modifications to non-editable content 
+PASS [["stylewithcss","false"],["bold",""]] "<b>foo<span style=\"font-weight: normal\">[bar]</span>baz</b>" compare innerHTML 
+PASS [["stylewithcss","false"],["bold",""]] "<b>foo<span style=\"font-weight: normal\">[bar]</span>baz</b>" queryCommandIndeterm("stylewithcss") before 
+PASS [["stylewithcss","false"],["bold",""]] "<b>foo<span style=\"font-weight: normal\">[bar]</span>baz</b>" queryCommandState("stylewithcss") before 
+PASS [["stylewithcss","false"],["bold",""]] "<b>foo<span style=\"font-weight: normal\">[bar]</span>baz</b>" queryCommandValue("stylewithcss") before 
+PASS [["stylewithcss","false"],["bold",""]] "<b>foo<span style=\"font-weight: normal\">[bar]</span>baz</b>" queryCommandIndeterm("stylewithcss") after 
+PASS [["stylewithcss","false"],["bold",""]] "<b>foo<span style=\"font-weight: normal\">[bar]</span>baz</b>" queryCommandState("stylewithcss") after 
+PASS [["stylewithcss","false"],["bold",""]] "<b>foo<span style=\"font-weight: normal\">[bar]</span>baz</b>" queryCommandValue("stylewithcss") after 
+PASS [["stylewithcss","false"],["bold",""]] "<b>foo<span style=\"font-weight: normal\">[bar]</span>baz</b>" queryCommandIndeterm("bold") before 
+PASS [["stylewithcss","false"],["bold",""]] "<b>foo<span style=\"font-weight: normal\">[bar]</span>baz</b>" queryCommandState("bold") before 
+FAIL [["stylewithcss","false"],["bold",""]] "<b>foo<span style=\"font-weight: normal\">[bar]</span>baz</b>" queryCommandValue("bold") before assert_equals: Wrong result returned expected "" but got "false"
+PASS [["stylewithcss","false"],["bold",""]] "<b>foo<span style=\"font-weight: normal\">[bar]</span>baz</b>" queryCommandIndeterm("bold") after 
+PASS [["stylewithcss","false"],["bold",""]] "<b>foo<span style=\"font-weight: normal\">[bar]</span>baz</b>" queryCommandState("bold") after 
+FAIL [["stylewithcss","false"],["bold",""]] "<b>foo<span style=\"font-weight: normal\">[bar]</span>baz</b>" queryCommandValue("bold") after assert_equals: Wrong result returned expected "" but got "true"
+PASS [["stylewithcss","true"],["bold",""]] "{<b>foo</b> <b>bar</b>}": execCommand("stylewithcss", false, "true") return value 
+PASS [["stylewithcss","true"],["bold",""]] "{<b>foo</b> <b>bar</b>}": execCommand("bold", false, "") return value 
+PASS [["stylewithcss","true"],["bold",""]] "{<b>foo</b> <b>bar</b>}" checks for modifications to non-editable content 
+FAIL [["stylewithcss","true"],["bold",""]] "{<b>foo</b> <b>bar</b>}" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<span style=\"font-weight:bold\">foo bar</span>" but got "foo bar"
+PASS [["stylewithcss","true"],["bold",""]] "{<b>foo</b> <b>bar</b>}" queryCommandIndeterm("stylewithcss") before 
+PASS [["stylewithcss","true"],["bold",""]] "{<b>foo</b> <b>bar</b>}" queryCommandState("stylewithcss") before 
+PASS [["stylewithcss","true"],["bold",""]] "{<b>foo</b> <b>bar</b>}" queryCommandValue("stylewithcss") before 
+PASS [["stylewithcss","true"],["bold",""]] "{<b>foo</b> <b>bar</b>}" queryCommandIndeterm("stylewithcss") after 
+PASS [["stylewithcss","true"],["bold",""]] "{<b>foo</b> <b>bar</b>}" queryCommandState("stylewithcss") after 
+PASS [["stylewithcss","true"],["bold",""]] "{<b>foo</b> <b>bar</b>}" queryCommandValue("stylewithcss") after 
+FAIL [["stylewithcss","true"],["bold",""]] "{<b>foo</b> <b>bar</b>}" queryCommandIndeterm("bold") before assert_equals: Wrong result returned expected true but got false
+FAIL [["stylewithcss","true"],["bold",""]] "{<b>foo</b> <b>bar</b>}" queryCommandState("bold") before assert_equals: Wrong result returned expected false but got true
+FAIL [["stylewithcss","true"],["bold",""]] "{<b>foo</b> <b>bar</b>}" queryCommandValue("bold") before assert_equals: Wrong result returned expected "" but got "true"
+PASS [["stylewithcss","true"],["bold",""]] "{<b>foo</b> <b>bar</b>}" queryCommandIndeterm("bold") after 
+FAIL [["stylewithcss","true"],["bold",""]] "{<b>foo</b> <b>bar</b>}" queryCommandState("bold") after assert_equals: Wrong result returned expected true but got false
+FAIL [["stylewithcss","true"],["bold",""]] "{<b>foo</b> <b>bar</b>}" queryCommandValue("bold") after assert_equals: Wrong result returned expected "" but got "false"
+PASS [["stylewithcss","false"],["bold",""]] "{<b>foo</b> <b>bar</b>}": execCommand("stylewithcss", false, "false") return value 
+PASS [["stylewithcss","false"],["bold",""]] "{<b>foo</b> <b>bar</b>}": execCommand("bold", false, "") return value 
+PASS [["stylewithcss","false"],["bold",""]] "{<b>foo</b> <b>bar</b>}" checks for modifications to non-editable content 
+FAIL [["stylewithcss","false"],["bold",""]] "{<b>foo</b> <b>bar</b>}" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<b>foo bar</b>" but got "foo bar"
+PASS [["stylewithcss","false"],["bold",""]] "{<b>foo</b> <b>bar</b>}" queryCommandIndeterm("stylewithcss") before 
+PASS [["stylewithcss","false"],["bold",""]] "{<b>foo</b> <b>bar</b>}" queryCommandState("stylewithcss") before 
+PASS [["stylewithcss","false"],["bold",""]] "{<b>foo</b> <b>bar</b>}" queryCommandValue("stylewithcss") before 
+PASS [["stylewithcss","false"],["bold",""]] "{<b>foo</b> <b>bar</b>}" queryCommandIndeterm("stylewithcss") after 
+PASS [["stylewithcss","false"],["bold",""]] "{<b>foo</b> <b>bar</b>}" queryCommandState("stylewithcss") after 
+PASS [["stylewithcss","false"],["bold",""]] "{<b>foo</b> <b>bar</b>}" queryCommandValue("stylewithcss") after 
+FAIL [["stylewithcss","false"],["bold",""]] "{<b>foo</b> <b>bar</b>}" queryCommandIndeterm("bold") before assert_equals: Wrong result returned expected true but got false
+FAIL [["stylewithcss","false"],["bold",""]] "{<b>foo</b> <b>bar</b>}" queryCommandState("bold") before assert_equals: Wrong result returned expected false but got true
+FAIL [["stylewithcss","false"],["bold",""]] "{<b>foo</b> <b>bar</b>}" queryCommandValue("bold") before assert_equals: Wrong result returned expected "" but got "true"
+PASS [["stylewithcss","false"],["bold",""]] "{<b>foo</b> <b>bar</b>}" queryCommandIndeterm("bold") after 
+FAIL [["stylewithcss","false"],["bold",""]] "{<b>foo</b> <b>bar</b>}" queryCommandState("bold") after assert_equals: Wrong result returned expected true but got false
+FAIL [["stylewithcss","false"],["bold",""]] "{<b>foo</b> <b>bar</b>}" queryCommandValue("bold") after assert_equals: Wrong result returned expected "" but got "false"
+PASS [["stylewithcss","true"],["bold",""]] "{<h3>foo</h3><b>bar</b>}": execCommand("stylewithcss", false, "true") return value 
+PASS [["stylewithcss","true"],["bold",""]] "{<h3>foo</h3><b>bar</b>}": execCommand("bold", false, "") return value 
+PASS [["stylewithcss","true"],["bold",""]] "{<h3>foo</h3><b>bar</b>}" checks for modifications to non-editable content 
+PASS [["stylewithcss","true"],["bold",""]] "{<h3>foo</h3><b>bar</b>}" compare innerHTML 
+PASS [["stylewithcss","true"],["bold",""]] "{<h3>foo</h3><b>bar</b>}" queryCommandIndeterm("stylewithcss") before 
+PASS [["stylewithcss","true"],["bold",""]] "{<h3>foo</h3><b>bar</b>}" queryCommandState("stylewithcss") before 
+PASS [["stylewithcss","true"],["bold",""]] "{<h3>foo</h3><b>bar</b>}" queryCommandValue("stylewithcss") before 
+PASS [["stylewithcss","true"],["bold",""]] "{<h3>foo</h3><b>bar</b>}" queryCommandIndeterm("stylewithcss") after 
+PASS [["stylewithcss","true"],["bold",""]] "{<h3>foo</h3><b>bar</b>}" queryCommandState("stylewithcss") after 
+PASS [["stylewithcss","true"],["bold",""]] "{<h3>foo</h3><b>bar</b>}" queryCommandValue("stylewithcss") after 
+PASS [["stylewithcss","true"],["bold",""]] "{<h3>foo</h3><b>bar</b>}" queryCommandIndeterm("bold") before 
+PASS [["stylewithcss","true"],["bold",""]] "{<h3>foo</h3><b>bar</b>}" queryCommandState("bold") before 
+FAIL [["stylewithcss","true"],["bold",""]] "{<h3>foo</h3><b>bar</b>}" queryCommandValue("bold") before assert_equals: Wrong result returned expected "" but got "true"
+PASS [["stylewithcss","true"],["bold",""]] "{<h3>foo</h3><b>bar</b>}" queryCommandIndeterm("bold") after 
+PASS [["stylewithcss","true"],["bold",""]] "{<h3>foo</h3><b>bar</b>}" queryCommandState("bold") after 
+FAIL [["stylewithcss","true"],["bold",""]] "{<h3>foo</h3><b>bar</b>}" queryCommandValue("bold") after assert_equals: Wrong result returned expected "" but got "false"
+PASS [["stylewithcss","false"],["bold",""]] "{<h3>foo</h3><b>bar</b>}": execCommand("stylewithcss", false, "false") return value 
+PASS [["stylewithcss","false"],["bold",""]] "{<h3>foo</h3><b>bar</b>}": execCommand("bold", false, "") return value 
+PASS [["stylewithcss","false"],["bold",""]] "{<h3>foo</h3><b>bar</b>}" checks for modifications to non-editable content 
+PASS [["stylewithcss","false"],["bold",""]] "{<h3>foo</h3><b>bar</b>}" compare innerHTML 
+PASS [["stylewithcss","false"],["bold",""]] "{<h3>foo</h3><b>bar</b>}" queryCommandIndeterm("stylewithcss") before 
+PASS [["stylewithcss","false"],["bold",""]] "{<h3>foo</h3><b>bar</b>}" queryCommandState("stylewithcss") before 
+PASS [["stylewithcss","false"],["bold",""]] "{<h3>foo</h3><b>bar</b>}" queryCommandValue("stylewithcss") before 
+PASS [["stylewithcss","false"],["bold",""]] "{<h3>foo</h3><b>bar</b>}" queryCommandIndeterm("stylewithcss") after 
+PASS [["stylewithcss","false"],["bold",""]] "{<h3>foo</h3><b>bar</b>}" queryCommandState("stylewithcss") after 
+PASS [["stylewithcss","false"],["bold",""]] "{<h3>foo</h3><b>bar</b>}" queryCommandValue("stylewithcss") after 
+PASS [["stylewithcss","false"],["bold",""]] "{<h3>foo</h3><b>bar</b>}" queryCommandIndeterm("bold") before 
+PASS [["stylewithcss","false"],["bold",""]] "{<h3>foo</h3><b>bar</b>}" queryCommandState("bold") before 
+FAIL [["stylewithcss","false"],["bold",""]] "{<h3>foo</h3><b>bar</b>}" queryCommandValue("bold") before assert_equals: Wrong result returned expected "" but got "true"
+PASS [["stylewithcss","false"],["bold",""]] "{<h3>foo</h3><b>bar</b>}" queryCommandIndeterm("bold") after 
+PASS [["stylewithcss","false"],["bold",""]] "{<h3>foo</h3><b>bar</b>}" queryCommandState("bold") after 
+FAIL [["stylewithcss","false"],["bold",""]] "{<h3>foo</h3><b>bar</b>}" queryCommandValue("bold") after assert_equals: Wrong result returned expected "" but got "false"
+PASS [["stylewithcss","true"],["bold",""]] "<i><b>foo</b></i>[bar]<i><b>baz</b></i>": execCommand("stylewithcss", false, "true") return value 
+PASS [["stylewithcss","true"],["bold",""]] "<i><b>foo</b></i>[bar]<i><b>baz</b></i>": execCommand("bold", false, "") return value 
+PASS [["stylewithcss","true"],["bold",""]] "<i><b>foo</b></i>[bar]<i><b>baz</b></i>" checks for modifications to non-editable content 
+FAIL [["stylewithcss","true"],["bold",""]] "<i><b>foo</b></i>[bar]<i><b>baz</b></i>" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<b><i>foo</i>bar<i>baz</i></b>" but got "<i><b>foo</b></i><span style=\"font-weight:bold\">bar</span><i><b>baz</b></i>"
+PASS [["stylewithcss","true"],["bold",""]] "<i><b>foo</b></i>[bar]<i><b>baz</b></i>" queryCommandIndeterm("stylewithcss") before 
+PASS [["stylewithcss","true"],["bold",""]] "<i><b>foo</b></i>[bar]<i><b>baz</b></i>" queryCommandState("stylewithcss") before 
+PASS [["stylewithcss","true"],["bold",""]] "<i><b>foo</b></i>[bar]<i><b>baz</b></i>" queryCommandValue("stylewithcss") before 
+PASS [["stylewithcss","true"],["bold",""]] "<i><b>foo</b></i>[bar]<i><b>baz</b></i>" queryCommandIndeterm("stylewithcss") after 
+PASS [["stylewithcss","true"],["bold",""]] "<i><b>foo</b></i>[bar]<i><b>baz</b></i>" queryCommandState("stylewithcss") after 
+PASS [["stylewithcss","true"],["bold",""]] "<i><b>foo</b></i>[bar]<i><b>baz</b></i>" queryCommandValue("stylewithcss") after 
+PASS [["stylewithcss","true"],["bold",""]] "<i><b>foo</b></i>[bar]<i><b>baz</b></i>" queryCommandIndeterm("bold") before 
+PASS [["stylewithcss","true"],["bold",""]] "<i><b>foo</b></i>[bar]<i><b>baz</b></i>" queryCommandState("bold") before 
+FAIL [["stylewithcss","true"],["bold",""]] "<i><b>foo</b></i>[bar]<i><b>baz</b></i>" queryCommandValue("bold") before assert_equals: Wrong result returned expected "" but got "false"
+PASS [["stylewithcss","true"],["bold",""]] "<i><b>foo</b></i>[bar]<i><b>baz</b></i>" queryCommandIndeterm("bold") after 
+PASS [["stylewithcss","true"],["bold",""]] "<i><b>foo</b></i>[bar]<i><b>baz</b></i>" queryCommandState("bold") after 
+FAIL [["stylewithcss","true"],["bold",""]] "<i><b>foo</b></i>[bar]<i><b>baz</b></i>" queryCommandValue("bold") after assert_equals: Wrong result returned expected "" but got "true"
+PASS [["stylewithcss","false"],["bold",""]] "<i><b>foo</b></i>[bar]<i><b>baz</b></i>": execCommand("stylewithcss", false, "false") return value 
+PASS [["stylewithcss","false"],["bold",""]] "<i><b>foo</b></i>[bar]<i><b>baz</b></i>": execCommand("bold", false, "") return value 
+PASS [["stylewithcss","false"],["bold",""]] "<i><b>foo</b></i>[bar]<i><b>baz</b></i>" checks for modifications to non-editable content 
+FAIL [["stylewithcss","false"],["bold",""]] "<i><b>foo</b></i>[bar]<i><b>baz</b></i>" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<b><i>foo</i>bar<i>baz</i></b>" but got "<i><b>foo</b></i><b>bar</b><i><b>baz</b></i>"
+PASS [["stylewithcss","false"],["bold",""]] "<i><b>foo</b></i>[bar]<i><b>baz</b></i>" queryCommandIndeterm("stylewithcss") before 
+PASS [["stylewithcss","false"],["bold",""]] "<i><b>foo</b></i>[bar]<i><b>baz</b></i>" queryCommandState("stylewithcss") before 
+PASS [["stylewithcss","false"],["bold",""]] "<i><b>foo</b></i>[bar]<i><b>baz</b></i>" queryCommandValue("stylewithcss") before 
+PASS [["stylewithcss","false"],["bold",""]] "<i><b>foo</b></i>[bar]<i><b>baz</b></i>" queryCommandIndeterm("stylewithcss") after 
+PASS [["stylewithcss","false"],["bold",""]] "<i><b>foo</b></i>[bar]<i><b>baz</b></i>" queryCommandState("stylewithcss") after 
+PASS [["stylewithcss","false"],["bold",""]] "<i><b>foo</b></i>[bar]<i><b>baz</b></i>" queryCommandValue("stylewithcss") after 
+PASS [["stylewithcss","false"],["bold",""]] "<i><b>foo</b></i>[bar]<i><b>baz</b></i>" queryCommandIndeterm("bold") before 
+PASS [["stylewithcss","false"],["bold",""]] "<i><b>foo</b></i>[bar]<i><b>baz</b></i>" queryCommandState("bold") before 
+FAIL [["stylewithcss","false"],["bold",""]] "<i><b>foo</b></i>[bar]<i><b>baz</b></i>" queryCommandValue("bold") before assert_equals: Wrong result returned expected "" but got "false"
+PASS [["stylewithcss","false"],["bold",""]] "<i><b>foo</b></i>[bar]<i><b>baz</b></i>" queryCommandIndeterm("bold") after 
+PASS [["stylewithcss","false"],["bold",""]] "<i><b>foo</b></i>[bar]<i><b>baz</b></i>" queryCommandState("bold") after 
+FAIL [["stylewithcss","false"],["bold",""]] "<i><b>foo</b></i>[bar]<i><b>baz</b></i>" queryCommandValue("bold") after assert_equals: Wrong result returned expected "" but got "true"
+PASS [["stylewithcss","true"],["bold",""]] "<i><b>foo</b></i>[bar]<b>baz</b>": execCommand("stylewithcss", false, "true") return value 
+PASS [["stylewithcss","true"],["bold",""]] "<i><b>foo</b></i>[bar]<b>baz</b>": execCommand("bold", false, "") return value 
+PASS [["stylewithcss","true"],["bold",""]] "<i><b>foo</b></i>[bar]<b>baz</b>" checks for modifications to non-editable content 
+FAIL [["stylewithcss","true"],["bold",""]] "<i><b>foo</b></i>[bar]<b>baz</b>" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<b><i>foo</i>barbaz</b>" but got "<i><b>foo</b></i><span style=\"font-weight:bold\">bar</span><b>baz</b>"
+PASS [["stylewithcss","true"],["bold",""]] "<i><b>foo</b></i>[bar]<b>baz</b>" queryCommandIndeterm("stylewithcss") before 
+PASS [["stylewithcss","true"],["bold",""]] "<i><b>foo</b></i>[bar]<b>baz</b>" queryCommandState("stylewithcss") before 
+PASS [["stylewithcss","true"],["bold",""]] "<i><b>foo</b></i>[bar]<b>baz</b>" queryCommandValue("stylewithcss") before 
+PASS [["stylewithcss","true"],["bold",""]] "<i><b>foo</b></i>[bar]<b>baz</b>" queryCommandIndeterm("stylewithcss") after 
+PASS [["stylewithcss","true"],["bold",""]] "<i><b>foo</b></i>[bar]<b>baz</b>" queryCommandState("stylewithcss") after 
+PASS [["stylewithcss","true"],["bold",""]] "<i><b>foo</b></i>[bar]<b>baz</b>" queryCommandValue("stylewithcss") after 
+PASS [["stylewithcss","true"],["bold",""]] "<i><b>foo</b></i>[bar]<b>baz</b>" queryCommandIndeterm("bold") before 
+PASS [["stylewithcss","true"],["bold",""]] "<i><b>foo</b></i>[bar]<b>baz</b>" queryCommandState("bold") before 
+FAIL [["stylewithcss","true"],["bold",""]] "<i><b>foo</b></i>[bar]<b>baz</b>" queryCommandValue("bold") before assert_equals: Wrong result returned expected "" but got "false"
+PASS [["stylewithcss","true"],["bold",""]] "<i><b>foo</b></i>[bar]<b>baz</b>" queryCommandIndeterm("bold") after 
+PASS [["stylewithcss","true"],["bold",""]] "<i><b>foo</b></i>[bar]<b>baz</b>" queryCommandState("bold") after 
+FAIL [["stylewithcss","true"],["bold",""]] "<i><b>foo</b></i>[bar]<b>baz</b>" queryCommandValue("bold") after assert_equals: Wrong result returned expected "" but got "true"
+PASS [["stylewithcss","false"],["bold",""]] "<i><b>foo</b></i>[bar]<b>baz</b>": execCommand("stylewithcss", false, "false") return value 
+PASS [["stylewithcss","false"],["bold",""]] "<i><b>foo</b></i>[bar]<b>baz</b>": execCommand("bold", false, "") return value 
+PASS [["stylewithcss","false"],["bold",""]] "<i><b>foo</b></i>[bar]<b>baz</b>" checks for modifications to non-editable content 
+FAIL [["stylewithcss","false"],["bold",""]] "<i><b>foo</b></i>[bar]<b>baz</b>" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<b><i>foo</i>barbaz</b>" but got "<i><b>foo</b></i><b>barbaz</b>"
+PASS [["stylewithcss","false"],["bold",""]] "<i><b>foo</b></i>[bar]<b>baz</b>" queryCommandIndeterm("stylewithcss") before 
+PASS [["stylewithcss","false"],["bold",""]] "<i><b>foo</b></i>[bar]<b>baz</b>" queryCommandState("stylewithcss") before 
+PASS [["stylewithcss","false"],["bold",""]] "<i><b>foo</b></i>[bar]<b>baz</b>" queryCommandValue("stylewithcss") before 
+PASS [["stylewithcss","false"],["bold",""]] "<i><b>foo</b></i>[bar]<b>baz</b>" queryCommandIndeterm("stylewithcss") after 
+PASS [["stylewithcss","false"],["bold",""]] "<i><b>foo</b></i>[bar]<b>baz</b>" queryCommandState("stylewithcss") after 
+PASS [["stylewithcss","false"],["bold",""]] "<i><b>foo</b></i>[bar]<b>baz</b>" queryCommandValue("stylewithcss") after 
+PASS [["stylewithcss","false"],["bold",""]] "<i><b>foo</b></i>[bar]<b>baz</b>" queryCommandIndeterm("bold") before 
+PASS [["stylewithcss","false"],["bold",""]] "<i><b>foo</b></i>[bar]<b>baz</b>" queryCommandState("bold") before 
+FAIL [["stylewithcss","false"],["bold",""]] "<i><b>foo</b></i>[bar]<b>baz</b>" queryCommandValue("bold") before assert_equals: Wrong result returned expected "" but got "false"
+PASS [["stylewithcss","false"],["bold",""]] "<i><b>foo</b></i>[bar]<b>baz</b>" queryCommandIndeterm("bold") after 
+PASS [["stylewithcss","false"],["bold",""]] "<i><b>foo</b></i>[bar]<b>baz</b>" queryCommandState("bold") after 
+FAIL [["stylewithcss","false"],["bold",""]] "<i><b>foo</b></i>[bar]<b>baz</b>" queryCommandValue("bold") after assert_equals: Wrong result returned expected "" but got "true"
+PASS [["stylewithcss","true"],["bold",""]] "<b>foo</b>[bar]<i><b>baz</b></i>": execCommand("stylewithcss", false, "true") return value 
+PASS [["stylewithcss","true"],["bold",""]] "<b>foo</b>[bar]<i><b>baz</b></i>": execCommand("bold", false, "") return value 
+PASS [["stylewithcss","true"],["bold",""]] "<b>foo</b>[bar]<i><b>baz</b></i>" checks for modifications to non-editable content 
+FAIL [["stylewithcss","true"],["bold",""]] "<b>foo</b>[bar]<i><b>baz</b></i>" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<b>foobar<i>baz</i></b>" but got "<b>foo</b><span style=\"font-weight:bold\">bar</span><i><b>baz</b></i>"
+PASS [["stylewithcss","true"],["bold",""]] "<b>foo</b>[bar]<i><b>baz</b></i>" queryCommandIndeterm("stylewithcss") before 
+PASS [["stylewithcss","true"],["bold",""]] "<b>foo</b>[bar]<i><b>baz</b></i>" queryCommandState("stylewithcss") before 
+PASS [["stylewithcss","true"],["bold",""]] "<b>foo</b>[bar]<i><b>baz</b></i>" queryCommandValue("stylewithcss") before 
+PASS [["stylewithcss","true"],["bold",""]] "<b>foo</b>[bar]<i><b>baz</b></i>" queryCommandIndeterm("stylewithcss") after 
+PASS [["stylewithcss","true"],["bold",""]] "<b>foo</b>[bar]<i><b>baz</b></i>" queryCommandState("stylewithcss") after 
+PASS [["stylewithcss","true"],["bold",""]] "<b>foo</b>[bar]<i><b>baz</b></i>" queryCommandValue("stylewithcss") after 
+PASS [["stylewithcss","true"],["bold",""]] "<b>foo</b>[bar]<i><b>baz</b></i>" queryCommandIndeterm("bold") before 
+PASS [["stylewithcss","true"],["bold",""]] "<b>foo</b>[bar]<i><b>baz</b></i>" queryCommandState("bold") before 
+FAIL [["stylewithcss","true"],["bold",""]] "<b>foo</b>[bar]<i><b>baz</b></i>" queryCommandValue("bold") before assert_equals: Wrong result returned expected "" but got "false"
+PASS [["stylewithcss","true"],["bold",""]] "<b>foo</b>[bar]<i><b>baz</b></i>" queryCommandIndeterm("bold") after 
+PASS [["stylewithcss","true"],["bold",""]] "<b>foo</b>[bar]<i><b>baz</b></i>" queryCommandState("bold") after 
+FAIL [["stylewithcss","true"],["bold",""]] "<b>foo</b>[bar]<i><b>baz</b></i>" queryCommandValue("bold") after assert_equals: Wrong result returned expected "" but got "true"
+PASS [["stylewithcss","false"],["bold",""]] "<b>foo</b>[bar]<i><b>baz</b></i>": execCommand("stylewithcss", false, "false") return value 
+PASS [["stylewithcss","false"],["bold",""]] "<b>foo</b>[bar]<i><b>baz</b></i>": execCommand("bold", false, "") return value 
+PASS [["stylewithcss","false"],["bold",""]] "<b>foo</b>[bar]<i><b>baz</b></i>" checks for modifications to non-editable content 
+FAIL [["stylewithcss","false"],["bold",""]] "<b>foo</b>[bar]<i><b>baz</b></i>" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<b>foobar<i>baz</i></b>" but got "<b>foobar</b><i><b>baz</b></i>"
+PASS [["stylewithcss","false"],["bold",""]] "<b>foo</b>[bar]<i><b>baz</b></i>" queryCommandIndeterm("stylewithcss") before 
+PASS [["stylewithcss","false"],["bold",""]] "<b>foo</b>[bar]<i><b>baz</b></i>" queryCommandState("stylewithcss") before 
+PASS [["stylewithcss","false"],["bold",""]] "<b>foo</b>[bar]<i><b>baz</b></i>" queryCommandValue("stylewithcss") before 
+PASS [["stylewithcss","false"],["bold",""]] "<b>foo</b>[bar]<i><b>baz</b></i>" queryCommandIndeterm("stylewithcss") after 
+PASS [["stylewithcss","false"],["bold",""]] "<b>foo</b>[bar]<i><b>baz</b></i>" queryCommandState("stylewithcss") after 
+PASS [["stylewithcss","false"],["bold",""]] "<b>foo</b>[bar]<i><b>baz</b></i>" queryCommandValue("stylewithcss") after 
+PASS [["stylewithcss","false"],["bold",""]] "<b>foo</b>[bar]<i><b>baz</b></i>" queryCommandIndeterm("bold") before 
+PASS [["stylewithcss","false"],["bold",""]] "<b>foo</b>[bar]<i><b>baz</b></i>" queryCommandState("bold") before 
+FAIL [["stylewithcss","false"],["bold",""]] "<b>foo</b>[bar]<i><b>baz</b></i>" queryCommandValue("bold") before assert_equals: Wrong result returned expected "" but got "false"
+PASS [["stylewithcss","false"],["bold",""]] "<b>foo</b>[bar]<i><b>baz</b></i>" queryCommandIndeterm("bold") after 
+PASS [["stylewithcss","false"],["bold",""]] "<b>foo</b>[bar]<i><b>baz</b></i>" queryCommandState("bold") after 
+FAIL [["stylewithcss","false"],["bold",""]] "<b>foo</b>[bar]<i><b>baz</b></i>" queryCommandValue("bold") after assert_equals: Wrong result returned expected "" but got "true"
+PASS [["bold",""]] "<font color=blue face=monospace><b>foo</b></font>[bar]": execCommand("bold", false, "") return value 
+PASS [["bold",""]] "<font color=blue face=monospace><b>foo</b></font>[bar]" checks for modifications to non-editable content 
+FAIL [["bold",""]] "<font color=blue face=monospace><b>foo</b></font>[bar]" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<b><font color=\"blue\" face=\"monospace\">foo</font>bar</b>" but got "<font color=\"blue\" face=\"monospace\"><b>foo</b></font><b>bar</b>"
+PASS [["bold",""]] "<font color=blue face=monospace><b>foo</b></font>[bar]" queryCommandIndeterm("bold") before 
+PASS [["bold",""]] "<font color=blue face=monospace><b>foo</b></font>[bar]" queryCommandState("bold") before 
+FAIL [["bold",""]] "<font color=blue face=monospace><b>foo</b></font>[bar]" queryCommandValue("bold") before assert_equals: Wrong result returned expected "" but got "false"
+PASS [["bold",""]] "<font color=blue face=monospace><b>foo</b></font>[bar]" queryCommandIndeterm("bold") after 
+PASS [["bold",""]] "<font color=blue face=monospace><b>foo</b></font>[bar]" queryCommandState("bold") after 
+FAIL [["bold",""]] "<font color=blue face=monospace><b>foo</b></font>[bar]" queryCommandValue("bold") after assert_equals: Wrong result returned expected "" but got "true"
+PASS [["stylewithcss","true"],["bold",""]] "foo<span style=\"font-weight: normal\"><b>{bar}</b></span>baz": execCommand("stylewithcss", false, "true") return value 
+PASS [["stylewithcss","true"],["bold",""]] "foo<span style=\"font-weight: normal\"><b>{bar}</b></span>baz": execCommand("bold", false, "") return value 
+PASS [["stylewithcss","true"],["bold",""]] "foo<span style=\"font-weight: normal\"><b>{bar}</b></span>baz" checks for modifications to non-editable content 
+PASS [["stylewithcss","true"],["bold",""]] "foo<span style=\"font-weight: normal\"><b>{bar}</b></span>baz" compare innerHTML 
+PASS [["stylewithcss","true"],["bold",""]] "foo<span style=\"font-weight: normal\"><b>{bar}</b></span>baz" queryCommandIndeterm("stylewithcss") before 
+PASS [["stylewithcss","true"],["bold",""]] "foo<span style=\"font-weight: normal\"><b>{bar}</b></span>baz" queryCommandState("stylewithcss") before 
+PASS [["stylewithcss","true"],["bold",""]] "foo<span style=\"font-weight: normal\"><b>{bar}</b></span>baz" queryCommandValue("stylewithcss") before 
+PASS [["stylewithcss","true"],["bold",""]] "foo<span style=\"font-weight: normal\"><b>{bar}</b></span>baz" queryCommandIndeterm("stylewithcss") after 
+PASS [["stylewithcss","true"],["bold",""]] "foo<span style=\"font-weight: normal\"><b>{bar}</b></span>baz" queryCommandState("stylewithcss") after 
+PASS [["stylewithcss","true"],["bold",""]] "foo<span style=\"font-weight: normal\"><b>{bar}</b></span>baz" queryCommandValue("stylewithcss") after 
+PASS [["stylewithcss","true"],["bold",""]] "foo<span style=\"font-weight: normal\"><b>{bar}</b></span>baz" queryCommandIndeterm("bold") before 
+PASS [["stylewithcss","true"],["bold",""]] "foo<span style=\"font-weight: normal\"><b>{bar}</b></span>baz" queryCommandState("bold") before 
+FAIL [["stylewithcss","true"],["bold",""]] "foo<span style=\"font-weight: normal\"><b>{bar}</b></span>baz" queryCommandValue("bold") before assert_equals: Wrong result returned expected "" but got "true"
+PASS [["stylewithcss","true"],["bold",""]] "foo<span style=\"font-weight: normal\"><b>{bar}</b></span>baz" queryCommandIndeterm("bold") after 
+PASS [["stylewithcss","true"],["bold",""]] "foo<span style=\"font-weight: normal\"><b>{bar}</b></span>baz" queryCommandState("bold") after 
+FAIL [["stylewithcss","true"],["bold",""]] "foo<span style=\"font-weight: normal\"><b>{bar}</b></span>baz" queryCommandValue("bold") after assert_equals: Wrong result returned expected "" but got "false"
+PASS [["stylewithcss","false"],["bold",""]] "foo<span style=\"font-weight: normal\"><b>{bar}</b></span>baz": execCommand("stylewithcss", false, "false") return value 
+PASS [["stylewithcss","false"],["bold",""]] "foo<span style=\"font-weight: normal\"><b>{bar}</b></span>baz": execCommand("bold", false, "") return value 
+PASS [["stylewithcss","false"],["bold",""]] "foo<span style=\"font-weight: normal\"><b>{bar}</b></span>baz" checks for modifications to non-editable content 
+PASS [["stylewithcss","false"],["bold",""]] "foo<span style=\"font-weight: normal\"><b>{bar}</b></span>baz" compare innerHTML 
+PASS [["stylewithcss","false"],["bold",""]] "foo<span style=\"font-weight: normal\"><b>{bar}</b></span>baz" queryCommandIndeterm("stylewithcss") before 
+PASS [["stylewithcss","false"],["bold",""]] "foo<span style=\"font-weight: normal\"><b>{bar}</b></span>baz" queryCommandState("stylewithcss") before 
+PASS [["stylewithcss","false"],["bold",""]] "foo<span style=\"font-weight: normal\"><b>{bar}</b></span>baz" queryCommandValue("stylewithcss") before 
+PASS [["stylewithcss","false"],["bold",""]] "foo<span style=\"font-weight: normal\"><b>{bar}</b></span>baz" queryCommandIndeterm("stylewithcss") after 
+PASS [["stylewithcss","false"],["bold",""]] "foo<span style=\"font-weight: normal\"><b>{bar}</b></span>baz" queryCommandState("stylewithcss") after 
+PASS [["stylewithcss","false"],["bold",""]] "foo<span style=\"font-weight: normal\"><b>{bar}</b></span>baz" queryCommandValue("stylewithcss") after 
+PASS [["stylewithcss","false"],["bold",""]] "foo<span style=\"font-weight: normal\"><b>{bar}</b></span>baz" queryCommandIndeterm("bold") before 
+PASS [["stylewithcss","false"],["bold",""]] "foo<span style=\"font-weight: normal\"><b>{bar}</b></span>baz" queryCommandState("bold") before 
+FAIL [["stylewithcss","false"],["bold",""]] "foo<span style=\"font-weight: normal\"><b>{bar}</b></span>baz" queryCommandValue("bold") before assert_equals: Wrong result returned expected "" but got "true"
+PASS [["stylewithcss","false"],["bold",""]] "foo<span style=\"font-weight: normal\"><b>{bar}</b></span>baz" queryCommandIndeterm("bold") after 
+PASS [["stylewithcss","false"],["bold",""]] "foo<span style=\"font-weight: normal\"><b>{bar}</b></span>baz" queryCommandState("bold") after 
+FAIL [["stylewithcss","false"],["bold",""]] "foo<span style=\"font-weight: normal\"><b>{bar}</b></span>baz" queryCommandValue("bold") after assert_equals: Wrong result returned expected "" but got "false"
+PASS [["stylewithcss","true"],["bold",""]] "[foo<span class=notbold>bar</span>baz]": execCommand("stylewithcss", false, "true") return value 
+PASS [["stylewithcss","true"],["bold",""]] "[foo<span class=notbold>bar</span>baz]": execCommand("bold", false, "") return value 
+PASS [["stylewithcss","true"],["bold",""]] "[foo<span class=notbold>bar</span>baz]" checks for modifications to non-editable content 
+FAIL [["stylewithcss","true"],["bold",""]] "[foo<span class=notbold>bar</span>baz]" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<span style=\"font-weight:bold\">foo<span class=\"notbold\"><span style=\"font-weight:bold\">bar</span></span>baz</span>" but got "<span style=\"font-weight:bold\">foo<span class=\"notbold\">bar</span>baz</span>"
+PASS [["stylewithcss","true"],["bold",""]] "[foo<span class=notbold>bar</span>baz]" queryCommandIndeterm("stylewithcss") before 
+PASS [["stylewithcss","true"],["bold",""]] "[foo<span class=notbold>bar</span>baz]" queryCommandState("stylewithcss") before 
+PASS [["stylewithcss","true"],["bold",""]] "[foo<span class=notbold>bar</span>baz]" queryCommandValue("stylewithcss") before 
+PASS [["stylewithcss","true"],["bold",""]] "[foo<span class=notbold>bar</span>baz]" queryCommandIndeterm("stylewithcss") after 
+PASS [["stylewithcss","true"],["bold",""]] "[foo<span class=notbold>bar</span>baz]" queryCommandState("stylewithcss") after 
+PASS [["stylewithcss","true"],["bold",""]] "[foo<span class=notbold>bar</span>baz]" queryCommandValue("stylewithcss") after 
+PASS [["stylewithcss","true"],["bold",""]] "[foo<span class=notbold>bar</span>baz]" queryCommandIndeterm("bold") before 
+PASS [["stylewithcss","true"],["bold",""]] "[foo<span class=notbold>bar</span>baz]" queryCommandState("bold") before 
+FAIL [["stylewithcss","true"],["bold",""]] "[foo<span class=notbold>bar</span>baz]" queryCommandValue("bold") before assert_equals: Wrong result returned expected "" but got "false"
+PASS [["stylewithcss","true"],["bold",""]] "[foo<span class=notbold>bar</span>baz]" queryCommandIndeterm("bold") after 
+PASS [["stylewithcss","true"],["bold",""]] "[foo<span class=notbold>bar</span>baz]" queryCommandState("bold") after 
+FAIL [["stylewithcss","true"],["bold",""]] "[foo<span class=notbold>bar</span>baz]" queryCommandValue("bold") after assert_equals: Wrong result returned expected "" but got "true"
+PASS [["stylewithcss","false"],["bold",""]] "[foo<span class=notbold>bar</span>baz]": execCommand("stylewithcss", false, "false") return value 
+PASS [["stylewithcss","false"],["bold",""]] "[foo<span class=notbold>bar</span>baz]": execCommand("bold", false, "") return value 
+PASS [["stylewithcss","false"],["bold",""]] "[foo<span class=notbold>bar</span>baz]" checks for modifications to non-editable content 
+FAIL [["stylewithcss","false"],["bold",""]] "[foo<span class=notbold>bar</span>baz]" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<b>foo<span class=\"notbold\"><b>bar</b></span>baz</b>" but got "<b>foo<span class=\"notbold\">bar</span>baz</b>"
+PASS [["stylewithcss","false"],["bold",""]] "[foo<span class=notbold>bar</span>baz]" queryCommandIndeterm("stylewithcss") before 
+PASS [["stylewithcss","false"],["bold",""]] "[foo<span class=notbold>bar</span>baz]" queryCommandState("stylewithcss") before 
+PASS [["stylewithcss","false"],["bold",""]] "[foo<span class=notbold>bar</span>baz]" queryCommandValue("stylewithcss") before 
+PASS [["stylewithcss","false"],["bold",""]] "[foo<span class=notbold>bar</span>baz]" queryCommandIndeterm("stylewithcss") after 
+PASS [["stylewithcss","false"],["bold",""]] "[foo<span class=notbold>bar</span>baz]" queryCommandState("stylewithcss") after 
+PASS [["stylewithcss","false"],["bold",""]] "[foo<span class=notbold>bar</span>baz]" queryCommandValue("stylewithcss") after 
+PASS [["stylewithcss","false"],["bold",""]] "[foo<span class=notbold>bar</span>baz]" queryCommandIndeterm("bold") before 
+PASS [["stylewithcss","false"],["bold",""]] "[foo<span class=notbold>bar</span>baz]" queryCommandState("bold") before 
+FAIL [["stylewithcss","false"],["bold",""]] "[foo<span class=notbold>bar</span>baz]" queryCommandValue("bold") before assert_equals: Wrong result returned expected "" but got "false"
+PASS [["stylewithcss","false"],["bold",""]] "[foo<span class=notbold>bar</span>baz]" queryCommandIndeterm("bold") after 
+PASS [["stylewithcss","false"],["bold",""]] "[foo<span class=notbold>bar</span>baz]" queryCommandState("bold") after 
+FAIL [["stylewithcss","false"],["bold",""]] "[foo<span class=notbold>bar</span>baz]" queryCommandValue("bold") after assert_equals: Wrong result returned expected "" but got "true"
+PASS [["stylewithcss","true"],["bold",""]] "<b><span class=notbold>[foo]</span></b>": execCommand("stylewithcss", false, "true") return value 
+PASS [["stylewithcss","true"],["bold",""]] "<b><span class=notbold>[foo]</span></b>": execCommand("bold", false, "") return value 
+PASS [["stylewithcss","true"],["bold",""]] "<b><span class=notbold>[foo]</span></b>" checks for modifications to non-editable content 
+FAIL [["stylewithcss","true"],["bold",""]] "<b><span class=notbold>[foo]</span></b>" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<span class=\"notbold\"><span style=\"font-weight:bold\">foo</span></span>" but got "<span class=\"notbold\" style=\"font-weight:bold\">foo</span>"
+PASS [["stylewithcss","true"],["bold",""]] "<b><span class=notbold>[foo]</span></b>" queryCommandIndeterm("stylewithcss") before 
+PASS [["stylewithcss","true"],["bold",""]] "<b><span class=notbold>[foo]</span></b>" queryCommandState("stylewithcss") before 
+PASS [["stylewithcss","true"],["bold",""]] "<b><span class=notbold>[foo]</span></b>" queryCommandValue("stylewithcss") before 
+PASS [["stylewithcss","true"],["bold",""]] "<b><span class=notbold>[foo]</span></b>" queryCommandIndeterm("stylewithcss") after 
+PASS [["stylewithcss","true"],["bold",""]] "<b><span class=notbold>[foo]</span></b>" queryCommandState("stylewithcss") after 
+PASS [["stylewithcss","true"],["bold",""]] "<b><span class=notbold>[foo]</span></b>" queryCommandValue("stylewithcss") after 
+PASS [["stylewithcss","true"],["bold",""]] "<b><span class=notbold>[foo]</span></b>" queryCommandIndeterm("bold") before 
+PASS [["stylewithcss","true"],["bold",""]] "<b><span class=notbold>[foo]</span></b>" queryCommandState("bold") before 
+FAIL [["stylewithcss","true"],["bold",""]] "<b><span class=notbold>[foo]</span></b>" queryCommandValue("bold") before assert_equals: Wrong result returned expected "" but got "false"
+PASS [["stylewithcss","true"],["bold",""]] "<b><span class=notbold>[foo]</span></b>" queryCommandIndeterm("bold") after 
+PASS [["stylewithcss","true"],["bold",""]] "<b><span class=notbold>[foo]</span></b>" queryCommandState("bold") after 
+FAIL [["stylewithcss","true"],["bold",""]] "<b><span class=notbold>[foo]</span></b>" queryCommandValue("bold") after assert_equals: Wrong result returned expected "" but got "true"
+PASS [["stylewithcss","false"],["bold",""]] "<b><span class=notbold>[foo]</span></b>": execCommand("stylewithcss", false, "false") return value 
+PASS [["stylewithcss","false"],["bold",""]] "<b><span class=notbold>[foo]</span></b>": execCommand("bold", false, "") return value 
+PASS [["stylewithcss","false"],["bold",""]] "<b><span class=notbold>[foo]</span></b>" checks for modifications to non-editable content 
+PASS [["stylewithcss","false"],["bold",""]] "<b><span class=notbold>[foo]</span></b>" compare innerHTML 
+PASS [["stylewithcss","false"],["bold",""]] "<b><span class=notbold>[foo]</span></b>" queryCommandIndeterm("stylewithcss") before 
+PASS [["stylewithcss","false"],["bold",""]] "<b><span class=notbold>[foo]</span></b>" queryCommandState("stylewithcss") before 
+PASS [["stylewithcss","false"],["bold",""]] "<b><span class=notbold>[foo]</span></b>" queryCommandValue("stylewithcss") before 
+PASS [["stylewithcss","false"],["bold",""]] "<b><span class=notbold>[foo]</span></b>" queryCommandIndeterm("stylewithcss") after 
+PASS [["stylewithcss","false"],["bold",""]] "<b><span class=notbold>[foo]</span></b>" queryCommandState("stylewithcss") after 
+PASS [["stylewithcss","false"],["bold",""]] "<b><span class=notbold>[foo]</span></b>" queryCommandValue("stylewithcss") after 
+PASS [["stylewithcss","false"],["bold",""]] "<b><span class=notbold>[foo]</span></b>" queryCommandIndeterm("bold") before 
+PASS [["stylewithcss","false"],["bold",""]] "<b><span class=notbold>[foo]</span></b>" queryCommandState("bold") before 
+FAIL [["stylewithcss","false"],["bold",""]] "<b><span class=notbold>[foo]</span></b>" queryCommandValue("bold") before assert_equals: Wrong result returned expected "" but got "false"
+PASS [["stylewithcss","false"],["bold",""]] "<b><span class=notbold>[foo]</span></b>" queryCommandIndeterm("bold") after 
+PASS [["stylewithcss","false"],["bold",""]] "<b><span class=notbold>[foo]</span></b>" queryCommandState("bold") after 
+FAIL [["stylewithcss","false"],["bold",""]] "<b><span class=notbold>[foo]</span></b>" queryCommandValue("bold") after assert_equals: Wrong result returned expected "" but got "true"
+PASS [["stylewithcss","true"],["bold",""]] "<b><span class=notbold>foo[bar]baz</span></b>": execCommand("stylewithcss", false, "true") return value 
+PASS [["stylewithcss","true"],["bold",""]] "<b><span class=notbold>foo[bar]baz</span></b>": execCommand("bold", false, "") return value 
+PASS [["stylewithcss","true"],["bold",""]] "<b><span class=notbold>foo[bar]baz</span></b>" checks for modifications to non-editable content 
+PASS [["stylewithcss","true"],["bold",""]] "<b><span class=notbold>foo[bar]baz</span></b>" compare innerHTML 
+PASS [["stylewithcss","true"],["bold",""]] "<b><span class=notbold>foo[bar]baz</span></b>" queryCommandIndeterm("stylewithcss") before 
+PASS [["stylewithcss","true"],["bold",""]] "<b><span class=notbold>foo[bar]baz</span></b>" queryCommandState("stylewithcss") before 
+PASS [["stylewithcss","true"],["bold",""]] "<b><span class=notbold>foo[bar]baz</span></b>" queryCommandValue("stylewithcss") before 
+PASS [["stylewithcss","true"],["bold",""]] "<b><span class=notbold>foo[bar]baz</span></b>" queryCommandIndeterm("stylewithcss") after 
+PASS [["stylewithcss","true"],["bold",""]] "<b><span class=notbold>foo[bar]baz</span></b>" queryCommandState("stylewithcss") after 
+PASS [["stylewithcss","true"],["bold",""]] "<b><span class=notbold>foo[bar]baz</span></b>" queryCommandValue("stylewithcss") after 
+PASS [["stylewithcss","true"],["bold",""]] "<b><span class=notbold>foo[bar]baz</span></b>" queryCommandIndeterm("bold") before 
+PASS [["stylewithcss","true"],["bold",""]] "<b><span class=notbold>foo[bar]baz</span></b>" queryCommandState("bold") before 
+FAIL [["stylewithcss","true"],["bold",""]] "<b><span class=notbold>foo[bar]baz</span></b>" queryCommandValue("bold") before assert_equals: Wrong result returned expected "" but got "false"
+PASS [["stylewithcss","true"],["bold",""]] "<b><span class=notbold>foo[bar]baz</span></b>" queryCommandIndeterm("bold") after 
+PASS [["stylewithcss","true"],["bold",""]] "<b><span class=notbold>foo[bar]baz</span></b>" queryCommandState("bold") after 
+FAIL [["stylewithcss","true"],["bold",""]] "<b><span class=notbold>foo[bar]baz</span></b>" queryCommandValue("bold") after assert_equals: Wrong result returned expected "" but got "true"
+PASS [["stylewithcss","false"],["bold",""]] "<b><span class=notbold>foo[bar]baz</span></b>": execCommand("stylewithcss", false, "false") return value 
+PASS [["stylewithcss","false"],["bold",""]] "<b><span class=notbold>foo[bar]baz</span></b>": execCommand("bold", false, "") return value 
+PASS [["stylewithcss","false"],["bold",""]] "<b><span class=notbold>foo[bar]baz</span></b>" checks for modifications to non-editable content 
+PASS [["stylewithcss","false"],["bold",""]] "<b><span class=notbold>foo[bar]baz</span></b>" compare innerHTML 
+PASS [["stylewithcss","false"],["bold",""]] "<b><span class=notbold>foo[bar]baz</span></b>" queryCommandIndeterm("stylewithcss") before 
+PASS [["stylewithcss","false"],["bold",""]] "<b><span class=notbold>foo[bar]baz</span></b>" queryCommandState("stylewithcss") before 
+PASS [["stylewithcss","false"],["bold",""]] "<b><span class=notbold>foo[bar]baz</span></b>" queryCommandValue("stylewithcss") before 
+PASS [["stylewithcss","false"],["bold",""]] "<b><span class=notbold>foo[bar]baz</span></b>" queryCommandIndeterm("stylewithcss") after 
+PASS [["stylewithcss","false"],["bold",""]] "<b><span class=notbold>foo[bar]baz</span></b>" queryCommandState("stylewithcss") after 
+PASS [["stylewithcss","false"],["bold",""]] "<b><span class=notbold>foo[bar]baz</span></b>" queryCommandValue("stylewithcss") after 
+PASS [["stylewithcss","false"],["bold",""]] "<b><span class=notbold>foo[bar]baz</span></b>" queryCommandIndeterm("bold") before 
+PASS [["stylewithcss","false"],["bold",""]] "<b><span class=notbold>foo[bar]baz</span></b>" queryCommandState("bold") before 
+FAIL [["stylewithcss","false"],["bold",""]] "<b><span class=notbold>foo[bar]baz</span></b>" queryCommandValue("bold") before assert_equals: Wrong result returned expected "" but got "false"
+PASS [["stylewithcss","false"],["bold",""]] "<b><span class=notbold>foo[bar]baz</span></b>" queryCommandIndeterm("bold") after 
+PASS [["stylewithcss","false"],["bold",""]] "<b><span class=notbold>foo[bar]baz</span></b>" queryCommandState("bold") after 
+FAIL [["stylewithcss","false"],["bold",""]] "<b><span class=notbold>foo[bar]baz</span></b>" queryCommandValue("bold") after assert_equals: Wrong result returned expected "" but got "true"
+PASS [["stylewithcss","true"],["bold",""]] "<p style=\"font-weight: bold\">foo[bar]baz</p>": execCommand("stylewithcss", false, "true") return value 
+PASS [["stylewithcss","true"],["bold",""]] "<p style=\"font-weight: bold\">foo[bar]baz</p>": execCommand("bold", false, "") return value 
+PASS [["stylewithcss","true"],["bold",""]] "<p style=\"font-weight: bold\">foo[bar]baz</p>" checks for modifications to non-editable content 
+FAIL [["stylewithcss","true"],["bold",""]] "<p style=\"font-weight: bold\">foo[bar]baz</p>" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<p><span style=\"font-weight:bold\">foo</span>bar<span style=\"font-weight:bold\">baz</span></p>" but got "<p style=\"\"><span style=\"font-weight:bold\">foo</span>bar<span style=\"font-weight:bold\">baz</span></p>"
+PASS [["stylewithcss","true"],["bold",""]] "<p style=\"font-weight: bold\">foo[bar]baz</p>" queryCommandIndeterm("stylewithcss") before 
+PASS [["stylewithcss","true"],["bold",""]] "<p style=\"font-weight: bold\">foo[bar]baz</p>" queryCommandState("stylewithcss") before 
+PASS [["stylewithcss","true"],["bold",""]] "<p style=\"font-weight: bold\">foo[bar]baz</p>" queryCommandValue("stylewithcss") before 
+PASS [["stylewithcss","true"],["bold",""]] "<p style=\"font-weight: bold\">foo[bar]baz</p>" queryCommandIndeterm("stylewithcss") after 
+PASS [["stylewithcss","true"],["bold",""]] "<p style=\"font-weight: bold\">foo[bar]baz</p>" queryCommandState("stylewithcss") after 
+PASS [["stylewithcss","true"],["bold",""]] "<p style=\"font-weight: bold\">foo[bar]baz</p>" queryCommandValue("stylewithcss") after 
+PASS [["stylewithcss","true"],["bold",""]] "<p style=\"font-weight: bold\">foo[bar]baz</p>" queryCommandIndeterm("bold") before 
+PASS [["stylewithcss","true"],["bold",""]] "<p style=\"font-weight: bold\">foo[bar]baz</p>" queryCommandState("bold") before 
+FAIL [["stylewithcss","true"],["bold",""]] "<p style=\"font-weight: bold\">foo[bar]baz</p>" queryCommandValue("bold") before assert_equals: Wrong result returned expected "" but got "true"
+PASS [["stylewithcss","true"],["bold",""]] "<p style=\"font-weight: bold\">foo[bar]baz</p>" queryCommandIndeterm("bold") after 
+PASS [["stylewithcss","true"],["bold",""]] "<p style=\"font-weight: bold\">foo[bar]baz</p>" queryCommandState("bold") after 
+FAIL [["stylewithcss","true"],["bold",""]] "<p style=\"font-weight: bold\">foo[bar]baz</p>" queryCommandValue("bold") after assert_equals: Wrong result returned expected "" but got "false"
+PASS [["stylewithcss","false"],["bold",""]] "<p style=\"font-weight: bold\">foo[bar]baz</p>": execCommand("stylewithcss", false, "false") return value 
+PASS [["stylewithcss","false"],["bold",""]] "<p style=\"font-weight: bold\">foo[bar]baz</p>": execCommand("bold", false, "") return value 
+PASS [["stylewithcss","false"],["bold",""]] "<p style=\"font-weight: bold\">foo[bar]baz</p>" checks for modifications to non-editable content 
+FAIL [["stylewithcss","false"],["bold",""]] "<p style=\"font-weight: bold\">foo[bar]baz</p>" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<p><b>foo</b>bar<b>baz</b></p>" but got "<p style=\"\"><span style=\"font-weight:bold\">foo</span>bar<b>baz</b></p>"
+PASS [["stylewithcss","false"],["bold",""]] "<p style=\"font-weight: bold\">foo[bar]baz</p>" queryCommandIndeterm("stylewithcss") before 
+PASS [["stylewithcss","false"],["bold",""]] "<p style=\"font-weight: bold\">foo[bar]baz</p>" queryCommandState("stylewithcss") before 
+PASS [["stylewithcss","false"],["bold",""]] "<p style=\"font-weight: bold\">foo[bar]baz</p>" queryCommandValue("stylewithcss") before 
+PASS [["stylewithcss","false"],["bold",""]] "<p style=\"font-weight: bold\">foo[bar]baz</p>" queryCommandIndeterm("stylewithcss") after 
+PASS [["stylewithcss","false"],["bold",""]] "<p style=\"font-weight: bold\">foo[bar]baz</p>" queryCommandState("stylewithcss") after 
+PASS [["stylewithcss","false"],["bold",""]] "<p style=\"font-weight: bold\">foo[bar]baz</p>" queryCommandValue("stylewithcss") after 
+PASS [["stylewithcss","false"],["bold",""]] "<p style=\"font-weight: bold\">foo[bar]baz</p>" queryCommandIndeterm("bold") before 
+PASS [["stylewithcss","false"],["bold",""]] "<p style=\"font-weight: bold\">foo[bar]baz</p>" queryCommandState("bold") before 
+FAIL [["stylewithcss","false"],["bold",""]] "<p style=\"font-weight: bold\">foo[bar]baz</p>" queryCommandValue("bold") before assert_equals: Wrong result returned expected "" but got "true"
+PASS [["stylewithcss","false"],["bold",""]] "<p style=\"font-weight: bold\">foo[bar]baz</p>" queryCommandIndeterm("bold") after 
+PASS [["stylewithcss","false"],["bold",""]] "<p style=\"font-weight: bold\">foo[bar]baz</p>" queryCommandState("bold") after 
+FAIL [["stylewithcss","false"],["bold",""]] "<p style=\"font-weight: bold\">foo[bar]baz</p>" queryCommandValue("bold") after assert_equals: Wrong result returned expected "" but got "false"
+PASS [["bold",""]] "fo[o<b>b]ar</b>baz": execCommand("bold", false, "") return value 
+PASS [["bold",""]] "fo[o<b>b]ar</b>baz" checks for modifications to non-editable content 
+PASS [["bold",""]] "fo[o<b>b]ar</b>baz" compare innerHTML 
+FAIL [["bold",""]] "fo[o<b>b]ar</b>baz" queryCommandIndeterm("bold") before assert_equals: Wrong result returned expected true but got false
+PASS [["bold",""]] "fo[o<b>b]ar</b>baz" queryCommandState("bold") before 
+FAIL [["bold",""]] "fo[o<b>b]ar</b>baz" queryCommandValue("bold") before assert_equals: Wrong result returned expected "" but got "false"
+PASS [["bold",""]] "fo[o<b>b]ar</b>baz" queryCommandIndeterm("bold") after 
+PASS [["bold",""]] "fo[o<b>b]ar</b>baz" queryCommandState("bold") after 
+FAIL [["bold",""]] "fo[o<b>b]ar</b>baz" queryCommandValue("bold") after assert_equals: Wrong result returned expected "" but got "true"
+PASS [["bold",""]] "foo<b>ba[r</b>b]az": execCommand("bold", false, "") return value 
+PASS [["bold",""]] "foo<b>ba[r</b>b]az" checks for modifications to non-editable content 
+FAIL [["bold",""]] "foo<b>ba[r</b>b]az" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "foo<b>barb</b>az" but got "foo<b>ba</b>rbaz"
+FAIL [["bold",""]] "foo<b>ba[r</b>b]az" queryCommandIndeterm("bold") before assert_equals: Wrong result returned expected true but got false
+FAIL [["bold",""]] "foo<b>ba[r</b>b]az" queryCommandState("bold") before assert_equals: Wrong result returned expected false but got true
+FAIL [["bold",""]] "foo<b>ba[r</b>b]az" queryCommandValue("bold") before assert_equals: Wrong result returned expected "" but got "true"
+PASS [["bold",""]] "foo<b>ba[r</b>b]az" queryCommandIndeterm("bold") after 
+FAIL [["bold",""]] "foo<b>ba[r</b>b]az" queryCommandState("bold") after assert_equals: Wrong result returned expected true but got false
+FAIL [["bold",""]] "foo<b>ba[r</b>b]az" queryCommandValue("bold") after assert_equals: Wrong result returned expected "" but got "false"
+PASS [["stylewithcss","true"],["bold",""]] "fo[o<b>bar</b>b]az": execCommand("stylewithcss", false, "true") return value 
+PASS [["stylewithcss","true"],["bold",""]] "fo[o<b>bar</b>b]az": execCommand("bold", false, "") return value 
+PASS [["stylewithcss","true"],["bold",""]] "fo[o<b>bar</b>b]az" checks for modifications to non-editable content 
+PASS [["stylewithcss","true"],["bold",""]] "fo[o<b>bar</b>b]az" compare innerHTML 
+PASS [["stylewithcss","true"],["bold",""]] "fo[o<b>bar</b>b]az" queryCommandIndeterm("stylewithcss") before 
+PASS [["stylewithcss","true"],["bold",""]] "fo[o<b>bar</b>b]az" queryCommandState("stylewithcss") before 
+PASS [["stylewithcss","true"],["bold",""]] "fo[o<b>bar</b>b]az" queryCommandValue("stylewithcss") before 
+PASS [["stylewithcss","true"],["bold",""]] "fo[o<b>bar</b>b]az" queryCommandIndeterm("stylewithcss") after 
+PASS [["stylewithcss","true"],["bold",""]] "fo[o<b>bar</b>b]az" queryCommandState("stylewithcss") after 
+PASS [["stylewithcss","true"],["bold",""]] "fo[o<b>bar</b>b]az" queryCommandValue("stylewithcss") after 
+FAIL [["stylewithcss","true"],["bold",""]] "fo[o<b>bar</b>b]az" queryCommandIndeterm("bold") before assert_equals: Wrong result returned expected true but got false
+PASS [["stylewithcss","true"],["bold",""]] "fo[o<b>bar</b>b]az" queryCommandState("bold") before 
+FAIL [["stylewithcss","true"],["bold",""]] "fo[o<b>bar</b>b]az" queryCommandValue("bold") before assert_equals: Wrong result returned expected "" but got "false"
+PASS [["stylewithcss","true"],["bold",""]] "fo[o<b>bar</b>b]az" queryCommandIndeterm("bold") after 
+PASS [["stylewithcss","true"],["bold",""]] "fo[o<b>bar</b>b]az" queryCommandState("bold") after 
+FAIL [["stylewithcss","true"],["bold",""]] "fo[o<b>bar</b>b]az" queryCommandValue("bold") after assert_equals: Wrong result returned expected "" but got "true"
+PASS [["stylewithcss","false"],["bold",""]] "fo[o<b>bar</b>b]az": execCommand("stylewithcss", false, "false") return value 
+PASS [["stylewithcss","false"],["bold",""]] "fo[o<b>bar</b>b]az": execCommand("bold", false, "") return value 
+PASS [["stylewithcss","false"],["bold",""]] "fo[o<b>bar</b>b]az" checks for modifications to non-editable content 
+PASS [["stylewithcss","false"],["bold",""]] "fo[o<b>bar</b>b]az" compare innerHTML 
+PASS [["stylewithcss","false"],["bold",""]] "fo[o<b>bar</b>b]az" queryCommandIndeterm("stylewithcss") before 
+PASS [["stylewithcss","false"],["bold",""]] "fo[o<b>bar</b>b]az" queryCommandState("stylewithcss") before 
+PASS [["stylewithcss","false"],["bold",""]] "fo[o<b>bar</b>b]az" queryCommandValue("stylewithcss") before 
+PASS [["stylewithcss","false"],["bold",""]] "fo[o<b>bar</b>b]az" queryCommandIndeterm("stylewithcss") after 
+PASS [["stylewithcss","false"],["bold",""]] "fo[o<b>bar</b>b]az" queryCommandState("stylewithcss") after 
+PASS [["stylewithcss","false"],["bold",""]] "fo[o<b>bar</b>b]az" queryCommandValue("stylewithcss") after 
+FAIL [["stylewithcss","false"],["bold",""]] "fo[o<b>bar</b>b]az" queryCommandIndeterm("bold") before assert_equals: Wrong result returned expected true but got false
+PASS [["stylewithcss","false"],["bold",""]] "fo[o<b>bar</b>b]az" queryCommandState("bold") before 
+FAIL [["stylewithcss","false"],["bold",""]] "fo[o<b>bar</b>b]az" queryCommandValue("bold") before assert_equals: Wrong result returned expected "" but got "false"
+PASS [["stylewithcss","false"],["bold",""]] "fo[o<b>bar</b>b]az" queryCommandIndeterm("bold") after 
+PASS [["stylewithcss","false"],["bold",""]] "fo[o<b>bar</b>b]az" queryCommandState("bold") after 
+FAIL [["stylewithcss","false"],["bold",""]] "fo[o<b>bar</b>b]az" queryCommandValue("bold") after assert_equals: Wrong result returned expected "" but got "true"
+PASS [["stylewithcss","true"],["bold",""]] "foo[<b>b]ar</b>baz": execCommand("stylewithcss", false, "true") return value 
+PASS [["stylewithcss","true"],["bold",""]] "foo[<b>b]ar</b>baz": execCommand("bold", false, "") return value 
+PASS [["stylewithcss","true"],["bold",""]] "foo[<b>b]ar</b>baz" checks for modifications to non-editable content 
+FAIL [["stylewithcss","true"],["bold",""]] "foo[<b>b]ar</b>baz" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "foob<span style=\"font-weight:bold\">ar</span>baz" but got "foob<b>ar</b>baz"
+PASS [["stylewithcss","true"],["bold",""]] "foo[<b>b]ar</b>baz" queryCommandIndeterm("stylewithcss") before 
+PASS [["stylewithcss","true"],["bold",""]] "foo[<b>b]ar</b>baz" queryCommandState("stylewithcss") before 
+PASS [["stylewithcss","true"],["bold",""]] "foo[<b>b]ar</b>baz" queryCommandValue("stylewithcss") before 
+PASS [["stylewithcss","true"],["bold",""]] "foo[<b>b]ar</b>baz" queryCommandIndeterm("stylewithcss") after 
+PASS [["stylewithcss","true"],["bold",""]] "foo[<b>b]ar</b>baz" queryCommandState("stylewithcss") after 
+PASS [["stylewithcss","true"],["bold",""]] "foo[<b>b]ar</b>baz" queryCommandValue("stylewithcss") after 
+PASS [["stylewithcss","true"],["bold",""]] "foo[<b>b]ar</b>baz" queryCommandIndeterm("bold") before 
+PASS [["stylewithcss","true"],["bold",""]] "foo[<b>b]ar</b>baz" queryCommandState("bold") before 
+FAIL [["stylewithcss","true"],["bold",""]] "foo[<b>b]ar</b>baz" queryCommandValue("bold") before assert_equals: Wrong result returned expected "" but got "true"
+PASS [["stylewithcss","true"],["bold",""]] "foo[<b>b]ar</b>baz" queryCommandIndeterm("bold") after 
+PASS [["stylewithcss","true"],["bold",""]] "foo[<b>b]ar</b>baz" queryCommandState("bold") after 
+FAIL [["stylewithcss","true"],["bold",""]] "foo[<b>b]ar</b>baz" queryCommandValue("bold") after assert_equals: Wrong result returned expected "" but got "false"
+PASS [["stylewithcss","false"],["bold",""]] "foo[<b>b]ar</b>baz": execCommand("stylewithcss", false, "false") return value 
+PASS [["stylewithcss","false"],["bold",""]] "foo[<b>b]ar</b>baz": execCommand("bold", false, "") return value 
+PASS [["stylewithcss","false"],["bold",""]] "foo[<b>b]ar</b>baz" checks for modifications to non-editable content 
+PASS [["stylewithcss","false"],["bold",""]] "foo[<b>b]ar</b>baz" compare innerHTML 
+PASS [["stylewithcss","false"],["bold",""]] "foo[<b>b]ar</b>baz" queryCommandIndeterm("stylewithcss") before 
+PASS [["stylewithcss","false"],["bold",""]] "foo[<b>b]ar</b>baz" queryCommandState("stylewithcss") before 
+PASS [["stylewithcss","false"],["bold",""]] "foo[<b>b]ar</b>baz" queryCommandValue("stylewithcss") before 
+PASS [["stylewithcss","false"],["bold",""]] "foo[<b>b]ar</b>baz" queryCommandIndeterm("stylewithcss") after 
+PASS [["stylewithcss","false"],["bold",""]] "foo[<b>b]ar</b>baz" queryCommandState("stylewithcss") after 
+PASS [["stylewithcss","false"],["bold",""]] "foo[<b>b]ar</b>baz" queryCommandValue("stylewithcss") after 
+PASS [["stylewithcss","false"],["bold",""]] "foo[<b>b]ar</b>baz" queryCommandIndeterm("bold") before 
+PASS [["stylewithcss","false"],["bold",""]] "foo[<b>b]ar</b>baz" queryCommandState("bold") before 
+FAIL [["stylewithcss","false"],["bold",""]] "foo[<b>b]ar</b>baz" queryCommandValue("bold") before assert_equals: Wrong result returned expected "" but got "true"
+PASS [["stylewithcss","false"],["bold",""]] "foo[<b>b]ar</b>baz" queryCommandIndeterm("bold") after 
+PASS [["stylewithcss","false"],["bold",""]] "foo[<b>b]ar</b>baz" queryCommandState("bold") after 
+FAIL [["stylewithcss","false"],["bold",""]] "foo[<b>b]ar</b>baz" queryCommandValue("bold") after assert_equals: Wrong result returned expected "" but got "false"
+PASS [["stylewithcss","true"],["bold",""]] "foo<b>ba[r</b>]baz": execCommand("stylewithcss", false, "true") return value 
+PASS [["stylewithcss","true"],["bold",""]] "foo<b>ba[r</b>]baz": execCommand("bold", false, "") return value 
+PASS [["stylewithcss","true"],["bold",""]] "foo<b>ba[r</b>]baz" checks for modifications to non-editable content 
+FAIL [["stylewithcss","true"],["bold",""]] "foo<b>ba[r</b>]baz" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "foo<span style=\"font-weight:bold\">ba</span>rbaz" but got "foo<b>ba</b>rbaz"
+PASS [["stylewithcss","true"],["bold",""]] "foo<b>ba[r</b>]baz" queryCommandIndeterm("stylewithcss") before 
+PASS [["stylewithcss","true"],["bold",""]] "foo<b>ba[r</b>]baz" queryCommandState("stylewithcss") before 
+PASS [["stylewithcss","true"],["bold",""]] "foo<b>ba[r</b>]baz" queryCommandValue("stylewithcss") before 
+PASS [["stylewithcss","true"],["bold",""]] "foo<b>ba[r</b>]baz" queryCommandIndeterm("stylewithcss") after 
+PASS [["stylewithcss","true"],["bold",""]] "foo<b>ba[r</b>]baz" queryCommandState("stylewithcss") after 
+PASS [["stylewithcss","true"],["bold",""]] "foo<b>ba[r</b>]baz" queryCommandValue("stylewithcss") after 
+PASS [["stylewithcss","true"],["bold",""]] "foo<b>ba[r</b>]baz" queryCommandIndeterm("bold") before 
+PASS [["stylewithcss","true"],["bold",""]] "foo<b>ba[r</b>]baz" queryCommandState("bold") before 
+FAIL [["stylewithcss","true"],["bold",""]] "foo<b>ba[r</b>]baz" queryCommandValue("bold") before assert_equals: Wrong result returned expected "" but got "true"
+PASS [["stylewithcss","true"],["bold",""]] "foo<b>ba[r</b>]baz" queryCommandIndeterm("bold") after 
+PASS [["stylewithcss","true"],["bold",""]] "foo<b>ba[r</b>]baz" queryCommandState("bold") after 
+FAIL [["stylewithcss","true"],["bold",""]] "foo<b>ba[r</b>]baz" queryCommandValue("bold") after assert_equals: Wrong result returned expected "" but got "false"
+PASS [["stylewithcss","false"],["bold",""]] "foo<b>ba[r</b>]baz": execCommand("stylewithcss", false, "false") return value 
+PASS [["stylewithcss","false"],["bold",""]] "foo<b>ba[r</b>]baz": execCommand("bold", false, "") return value 
+PASS [["stylewithcss","false"],["bold",""]] "foo<b>ba[r</b>]baz" checks for modifications to non-editable content 
+PASS [["stylewithcss","false"],["bold",""]] "foo<b>ba[r</b>]baz" compare innerHTML 
+PASS [["stylewithcss","false"],["bold",""]] "foo<b>ba[r</b>]baz" queryCommandIndeterm("stylewithcss") before 
+PASS [["stylewithcss","false"],["bold",""]] "foo<b>ba[r</b>]baz" queryCommandState("stylewithcss") before 
+PASS [["stylewithcss","false"],["bold",""]] "foo<b>ba[r</b>]baz" queryCommandValue("stylewithcss") before 
+PASS [["stylewithcss","false"],["bold",""]] "foo<b>ba[r</b>]baz" queryCommandIndeterm("stylewithcss") after 
+PASS [["stylewithcss","false"],["bold",""]] "foo<b>ba[r</b>]baz" queryCommandState("stylewithcss") after 
+PASS [["stylewithcss","false"],["bold",""]] "foo<b>ba[r</b>]baz" queryCommandValue("stylewithcss") after 
+PASS [["stylewithcss","false"],["bold",""]] "foo<b>ba[r</b>]baz" queryCommandIndeterm("bold") before 
+PASS [["stylewithcss","false"],["bold",""]] "foo<b>ba[r</b>]baz" queryCommandState("bold") before 
+FAIL [["stylewithcss","false"],["bold",""]] "foo<b>ba[r</b>]baz" queryCommandValue("bold") before assert_equals: Wrong result returned expected "" but got "true"
+PASS [["stylewithcss","false"],["bold",""]] "foo<b>ba[r</b>]baz" queryCommandIndeterm("bold") after 
+PASS [["stylewithcss","false"],["bold",""]] "foo<b>ba[r</b>]baz" queryCommandState("bold") after 
+FAIL [["stylewithcss","false"],["bold",""]] "foo<b>ba[r</b>]baz" queryCommandValue("bold") after assert_equals: Wrong result returned expected "" but got "false"
+PASS [["stylewithcss","true"],["bold",""]] "foo{<b>bar</b>}baz": execCommand("stylewithcss", false, "true") return value 
+PASS [["stylewithcss","true"],["bold",""]] "foo{<b>bar</b>}baz": execCommand("bold", false, "") return value 
+PASS [["stylewithcss","true"],["bold",""]] "foo{<b>bar</b>}baz" checks for modifications to non-editable content 
+PASS [["stylewithcss","true"],["bold",""]] "foo{<b>bar</b>}baz" compare innerHTML 
+PASS [["stylewithcss","true"],["bold",""]] "foo{<b>bar</b>}baz" queryCommandIndeterm("stylewithcss") before 
+PASS [["stylewithcss","true"],["bold",""]] "foo{<b>bar</b>}baz" queryCommandState("stylewithcss") before 
+PASS [["stylewithcss","true"],["bold",""]] "foo{<b>bar</b>}baz" queryCommandValue("stylewithcss") before 
+PASS [["stylewithcss","true"],["bold",""]] "foo{<b>bar</b>}baz" queryCommandIndeterm("stylewithcss") after 
+PASS [["stylewithcss","true"],["bold",""]] "foo{<b>bar</b>}baz" queryCommandState("stylewithcss") after 
+PASS [["stylewithcss","true"],["bold",""]] "foo{<b>bar</b>}baz" queryCommandValue("stylewithcss") after 
+PASS [["stylewithcss","true"],["bold",""]] "foo{<b>bar</b>}baz" queryCommandIndeterm("bold") before 
+PASS [["stylewithcss","true"],["bold",""]] "foo{<b>bar</b>}baz" queryCommandState("bold") before 
+FAIL [["stylewithcss","true"],["bold",""]] "foo{<b>bar</b>}baz" queryCommandValue("bold") before assert_equals: Wrong result returned expected "" but got "true"
+PASS [["stylewithcss","true"],["bold",""]] "foo{<b>bar</b>}baz" queryCommandIndeterm("bold") after 
+PASS [["stylewithcss","true"],["bold",""]] "foo{<b>bar</b>}baz" queryCommandState("bold") after 
+FAIL [["stylewithcss","true"],["bold",""]] "foo{<b>bar</b>}baz" queryCommandValue("bold") after assert_equals: Wrong result returned expected "" but got "false"
+PASS [["stylewithcss","false"],["bold",""]] "foo{<b>bar</b>}baz": execCommand("stylewithcss", false, "false") return value 
+PASS [["stylewithcss","false"],["bold",""]] "foo{<b>bar</b>}baz": execCommand("bold", false, "") return value 
+PASS [["stylewithcss","false"],["bold",""]] "foo{<b>bar</b>}baz" checks for modifications to non-editable content 
+PASS [["stylewithcss","false"],["bold",""]] "foo{<b>bar</b>}baz" compare innerHTML 
+PASS [["stylewithcss","false"],["bold",""]] "foo{<b>bar</b>}baz" queryCommandIndeterm("stylewithcss") before 
+PASS [["stylewithcss","false"],["bold",""]] "foo{<b>bar</b>}baz" queryCommandState("stylewithcss") before 
+PASS [["stylewithcss","false"],["bold",""]] "foo{<b>bar</b>}baz" queryCommandValue("stylewithcss") before 
+PASS [["stylewithcss","false"],["bold",""]] "foo{<b>bar</b>}baz" queryCommandIndeterm("stylewithcss") after 
+PASS [["stylewithcss","false"],["bold",""]] "foo{<b>bar</b>}baz" queryCommandState("stylewithcss") after 
+PASS [["stylewithcss","false"],["bold",""]] "foo{<b>bar</b>}baz" queryCommandValue("stylewithcss") after 
+PASS [["stylewithcss","false"],["bold",""]] "foo{<b>bar</b>}baz" queryCommandIndeterm("bold") before 
+PASS [["stylewithcss","false"],["bold",""]] "foo{<b>bar</b>}baz" queryCommandState("bold") before 
+FAIL [["stylewithcss","false"],["bold",""]] "foo{<b>bar</b>}baz" queryCommandValue("bold") before assert_equals: Wrong result returned expected "" but got "true"
+PASS [["stylewithcss","false"],["bold",""]] "foo{<b>bar</b>}baz" queryCommandIndeterm("bold") after 
+PASS [["stylewithcss","false"],["bold",""]] "foo{<b>bar</b>}baz" queryCommandState("bold") after 
+FAIL [["stylewithcss","false"],["bold",""]] "foo{<b>bar</b>}baz" queryCommandValue("bold") after assert_equals: Wrong result returned expected "" but got "false"
+PASS [["bold",""]] "fo[o<span style=font-weight:bold>b]ar</span>baz": execCommand("bold", false, "") return value 
+PASS [["bold",""]] "fo[o<span style=font-weight:bold>b]ar</span>baz" checks for modifications to non-editable content 
+FAIL [["bold",""]] "fo[o<span style=font-weight:bold>b]ar</span>baz" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "fo<span style=\"font-weight:bold\">obar</span>baz" but got "fo<b>ob</b><span style=\"font-weight:bold\">ar</span>baz"
+FAIL [["bold",""]] "fo[o<span style=font-weight:bold>b]ar</span>baz" queryCommandIndeterm("bold") before assert_equals: Wrong result returned expected true but got false
+PASS [["bold",""]] "fo[o<span style=font-weight:bold>b]ar</span>baz" queryCommandState("bold") before 
+FAIL [["bold",""]] "fo[o<span style=font-weight:bold>b]ar</span>baz" queryCommandValue("bold") before assert_equals: Wrong result returned expected "" but got "false"
+PASS [["bold",""]] "fo[o<span style=font-weight:bold>b]ar</span>baz" queryCommandIndeterm("bold") after 
+PASS [["bold",""]] "fo[o<span style=font-weight:bold>b]ar</span>baz" queryCommandState("bold") after 
+FAIL [["bold",""]] "fo[o<span style=font-weight:bold>b]ar</span>baz" queryCommandValue("bold") after assert_equals: Wrong result returned expected "" but got "true"
+PASS [["bold",""]] "<span style=font-weight:800>fo[o</span><span style=font-weight:900>b]ar</span>": execCommand("bold", false, "") return value 
+PASS [["bold",""]] "<span style=font-weight:800>fo[o</span><span style=font-weight:900>b]ar</span>" checks for modifications to non-editable content 
+PASS [["bold",""]] "<span style=font-weight:800>fo[o</span><span style=font-weight:900>b]ar</span>" compare innerHTML 
+PASS [["bold",""]] "<span style=font-weight:800>fo[o</span><span style=font-weight:900>b]ar</span>" queryCommandIndeterm("bold") before 
+PASS [["bold",""]] "<span style=font-weight:800>fo[o</span><span style=font-weight:900>b]ar</span>" queryCommandState("bold") before 
+FAIL [["bold",""]] "<span style=font-weight:800>fo[o</span><span style=font-weight:900>b]ar</span>" queryCommandValue("bold") before assert_equals: Wrong result returned expected "" but got "true"
+PASS [["bold",""]] "<span style=font-weight:800>fo[o</span><span style=font-weight:900>b]ar</span>" queryCommandIndeterm("bold") after 
+PASS [["bold",""]] "<span style=font-weight:800>fo[o</span><span style=font-weight:900>b]ar</span>" queryCommandState("bold") after 
+FAIL [["bold",""]] "<span style=font-weight:800>fo[o</span><span style=font-weight:900>b]ar</span>" queryCommandValue("bold") after assert_equals: Wrong result returned expected "" but got "false"
+PASS [["stylewithcss","true"],["bold",""]] "<span style=font-weight:700>fo[o</span><span style=font-weight:800>b]ar</span>": execCommand("stylewithcss", false, "true") return value 
+PASS [["stylewithcss","true"],["bold",""]] "<span style=font-weight:700>fo[o</span><span style=font-weight:800>b]ar</span>": execCommand("bold", false, "") return value 
+PASS [["stylewithcss","true"],["bold",""]] "<span style=font-weight:700>fo[o</span><span style=font-weight:800>b]ar</span>" checks for modifications to non-editable content 
+PASS [["stylewithcss","true"],["bold",""]] "<span style=font-weight:700>fo[o</span><span style=font-weight:800>b]ar</span>" compare innerHTML 
+PASS [["stylewithcss","true"],["bold",""]] "<span style=font-weight:700>fo[o</span><span style=font-weight:800>b]ar</span>" queryCommandIndeterm("stylewithcss") before 
+PASS [["stylewithcss","true"],["bold",""]] "<span style=font-weight:700>fo[o</span><span style=font-weight:800>b]ar</span>" queryCommandState("stylewithcss") before 
+PASS [["stylewithcss","true"],["bold",""]] "<span style=font-weight:700>fo[o</span><span style=font-weight:800>b]ar</span>" queryCommandValue("stylewithcss") before 
+PASS [["stylewithcss","true"],["bold",""]] "<span style=font-weight:700>fo[o</span><span style=font-weight:800>b]ar</span>" queryCommandIndeterm("stylewithcss") after 
+PASS [["stylewithcss","true"],["bold",""]] "<span style=font-weight:700>fo[o</span><span style=font-weight:800>b]ar</span>" queryCommandState("stylewithcss") after 
+PASS [["stylewithcss","true"],["bold",""]] "<span style=font-weight:700>fo[o</span><span style=font-weight:800>b]ar</span>" queryCommandValue("stylewithcss") after 
+PASS [["stylewithcss","true"],["bold",""]] "<span style=font-weight:700>fo[o</span><span style=font-weight:800>b]ar</span>" queryCommandIndeterm("bold") before 
+PASS [["stylewithcss","true"],["bold",""]] "<span style=font-weight:700>fo[o</span><span style=font-weight:800>b]ar</span>" queryCommandState("bold") before 
+FAIL [["stylewithcss","true"],["bold",""]] "<span style=font-weight:700>fo[o</span><span style=font-weight:800>b]ar</span>" queryCommandValue("bold") before assert_equals: Wrong result returned expected "" but got "true"
+PASS [["stylewithcss","true"],["bold",""]] "<span style=font-weight:700>fo[o</span><span style=font-weight:800>b]ar</span>" queryCommandIndeterm("bold") after 
+PASS [["stylewithcss","true"],["bold",""]] "<span style=font-weight:700>fo[o</span><span style=font-weight:800>b]ar</span>" queryCommandState("bold") after 
+FAIL [["stylewithcss","true"],["bold",""]] "<span style=font-weight:700>fo[o</span><span style=font-weight:800>b]ar</span>" queryCommandValue("bold") after assert_equals: Wrong result returned expected "" but got "false"
+PASS [["stylewithcss","false"],["bold",""]] "<span style=font-weight:700>fo[o</span><span style=font-weight:800>b]ar</span>": execCommand("stylewithcss", false, "false") return value 
+PASS [["stylewithcss","false"],["bold",""]] "<span style=font-weight:700>fo[o</span><span style=font-weight:800>b]ar</span>": execCommand("bold", false, "") return value 
+PASS [["stylewithcss","false"],["bold",""]] "<span style=font-weight:700>fo[o</span><span style=font-weight:800>b]ar</span>" checks for modifications to non-editable content 
+FAIL [["stylewithcss","false"],["bold",""]] "<span style=font-weight:700>fo[o</span><span style=font-weight:800>b]ar</span>" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<b>fo</b>ob<span style=\"font-weight:800\">ar</span>" but got "<span style=\"font-weight:700\">fo</span>ob<span style=\"font-weight:800\">ar</span>"
+PASS [["stylewithcss","false"],["bold",""]] "<span style=font-weight:700>fo[o</span><span style=font-weight:800>b]ar</span>" queryCommandIndeterm("stylewithcss") before 
+PASS [["stylewithcss","false"],["bold",""]] "<span style=font-weight:700>fo[o</span><span style=font-weight:800>b]ar</span>" queryCommandState("stylewithcss") before 
+PASS [["stylewithcss","false"],["bold",""]] "<span style=font-weight:700>fo[o</span><span style=font-weight:800>b]ar</span>" queryCommandValue("stylewithcss") before 
+PASS [["stylewithcss","false"],["bold",""]] "<span style=font-weight:700>fo[o</span><span style=font-weight:800>b]ar</span>" queryCommandIndeterm("stylewithcss") after 
+PASS [["stylewithcss","false"],["bold",""]] "<span style=font-weight:700>fo[o</span><span style=font-weight:800>b]ar</span>" queryCommandState("stylewithcss") after 
+PASS [["stylewithcss","false"],["bold",""]] "<span style=font-weight:700>fo[o</span><span style=font-weight:800>b]ar</span>" queryCommandValue("stylewithcss") after 
+PASS [["stylewithcss","false"],["bold",""]] "<span style=font-weight:700>fo[o</span><span style=font-weight:800>b]ar</span>" queryCommandIndeterm("bold") before 
+PASS [["stylewithcss","false"],["bold",""]] "<span style=font-weight:700>fo[o</span><span style=font-weight:800>b]ar</span>" queryCommandState("bold") before 
+FAIL [["stylewithcss","false"],["bold",""]] "<span style=font-weight:700>fo[o</span><span style=font-weight:800>b]ar</span>" queryCommandValue("bold") before assert_equals: Wrong result returned expected "" but got "true"
+PASS [["stylewithcss","false"],["bold",""]] "<span style=font-weight:700>fo[o</span><span style=font-weight:800>b]ar</span>" queryCommandIndeterm("bold") after 
+PASS [["stylewithcss","false"],["bold",""]] "<span style=font-weight:700>fo[o</span><span style=font-weight:800>b]ar</span>" queryCommandState("bold") after 
+FAIL [["stylewithcss","false"],["bold",""]] "<span style=font-weight:700>fo[o</span><span style=font-weight:800>b]ar</span>" queryCommandValue("bold") after assert_equals: Wrong result returned expected "" but got "false"
+PASS [["stylewithcss","true"],["bold",""]] "<span style=font-weight:600>fo[o</span><span style=font-weight:700>b]ar</span>": execCommand("stylewithcss", false, "true") return value 
+PASS [["stylewithcss","true"],["bold",""]] "<span style=font-weight:600>fo[o</span><span style=font-weight:700>b]ar</span>": execCommand("bold", false, "") return value 
+PASS [["stylewithcss","true"],["bold",""]] "<span style=font-weight:600>fo[o</span><span style=font-weight:700>b]ar</span>" checks for modifications to non-editable content 
+PASS [["stylewithcss","true"],["bold",""]] "<span style=font-weight:600>fo[o</span><span style=font-weight:700>b]ar</span>" compare innerHTML 
+PASS [["stylewithcss","true"],["bold",""]] "<span style=font-weight:600>fo[o</span><span style=font-weight:700>b]ar</span>" queryCommandIndeterm("stylewithcss") before 
+PASS [["stylewithcss","true"],["bold",""]] "<span style=font-weight:600>fo[o</span><span style=font-weight:700>b]ar</span>" queryCommandState("stylewithcss") before 
+PASS [["stylewithcss","true"],["bold",""]] "<span style=font-weight:600>fo[o</span><span style=font-weight:700>b]ar</span>" queryCommandValue("stylewithcss") before 
+PASS [["stylewithcss","true"],["bold",""]] "<span style=font-weight:600>fo[o</span><span style=font-weight:700>b]ar</span>" queryCommandIndeterm("stylewithcss") after 
+PASS [["stylewithcss","true"],["bold",""]] "<span style=font-weight:600>fo[o</span><span style=font-weight:700>b]ar</span>" queryCommandState("stylewithcss") after 
+PASS [["stylewithcss","true"],["bold",""]] "<span style=font-weight:600>fo[o</span><span style=font-weight:700>b]ar</span>" queryCommandValue("stylewithcss") after 
+PASS [["stylewithcss","true"],["bold",""]] "<span style=font-weight:600>fo[o</span><span style=font-weight:700>b]ar</span>" queryCommandIndeterm("bold") before 
+PASS [["stylewithcss","true"],["bold",""]] "<span style=font-weight:600>fo[o</span><span style=font-weight:700>b]ar</span>" queryCommandState("bold") before 
+FAIL [["stylewithcss","true"],["bold",""]] "<span style=font-weight:600>fo[o</span><span style=font-weight:700>b]ar</span>" queryCommandValue("bold") before assert_equals: Wrong result returned expected "" but got "true"
+PASS [["stylewithcss","true"],["bold",""]] "<span style=font-weight:600>fo[o</span><span style=font-weight:700>b]ar</span>" queryCommandIndeterm("bold") after 
+PASS [["stylewithcss","true"],["bold",""]] "<span style=font-weight:600>fo[o</span><span style=font-weight:700>b]ar</span>" queryCommandState("bold") after 
+FAIL [["stylewithcss","true"],["bold",""]] "<span style=font-weight:600>fo[o</span><span style=font-weight:700>b]ar</span>" queryCommandValue("bold") after assert_equals: Wrong result returned expected "" but got "false"
+PASS [["stylewithcss","false"],["bold",""]] "<span style=font-weight:600>fo[o</span><span style=font-weight:700>b]ar</span>": execCommand("stylewithcss", false, "false") return value 
+PASS [["stylewithcss","false"],["bold",""]] "<span style=font-weight:600>fo[o</span><span style=font-weight:700>b]ar</span>": execCommand("bold", false, "") return value 
+PASS [["stylewithcss","false"],["bold",""]] "<span style=font-weight:600>fo[o</span><span style=font-weight:700>b]ar</span>" checks for modifications to non-editable content 
+FAIL [["stylewithcss","false"],["bold",""]] "<span style=font-weight:600>fo[o</span><span style=font-weight:700>b]ar</span>" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<span style=\"font-weight:600\">fo</span>ob<b>ar</b>" but got "<span style=\"font-weight:600\">fo</span>ob<span style=\"font-weight:700\">ar</span>"
+PASS [["stylewithcss","false"],["bold",""]] "<span style=font-weight:600>fo[o</span><span style=font-weight:700>b]ar</span>" queryCommandIndeterm("stylewithcss") before 
+PASS [["stylewithcss","false"],["bold",""]] "<span style=font-weight:600>fo[o</span><span style=font-weight:700>b]ar</span>" queryCommandState("stylewithcss") before 
+PASS [["stylewithcss","false"],["bold",""]] "<span style=font-weight:600>fo[o</span><span style=font-weight:700>b]ar</span>" queryCommandValue("stylewithcss") before 
+PASS [["stylewithcss","false"],["bold",""]] "<span style=font-weight:600>fo[o</span><span style=font-weight:700>b]ar</span>" queryCommandIndeterm("stylewithcss") after 
+PASS [["stylewithcss","false"],["bold",""]] "<span style=font-weight:600>fo[o</span><span style=font-weight:700>b]ar</span>" queryCommandState("stylewithcss") after 
+PASS [["stylewithcss","false"],["bold",""]] "<span style=font-weight:600>fo[o</span><span style=font-weight:700>b]ar</span>" queryCommandValue("stylewithcss") after 
+PASS [["stylewithcss","false"],["bold",""]] "<span style=font-weight:600>fo[o</span><span style=font-weight:700>b]ar</span>" queryCommandIndeterm("bold") before 
+PASS [["stylewithcss","false"],["bold",""]] "<span style=font-weight:600>fo[o</span><span style=font-weight:700>b]ar</span>" queryCommandState("bold") before 
+FAIL [["stylewithcss","false"],["bold",""]] "<span style=font-weight:600>fo[o</span><span style=font-weight:700>b]ar</span>" queryCommandValue("bold") before assert_equals: Wrong result returned expected "" but got "true"
+PASS [["stylewithcss","false"],["bold",""]] "<span style=font-weight:600>fo[o</span><span style=font-weight:700>b]ar</span>" queryCommandIndeterm("bold") after 
+PASS [["stylewithcss","false"],["bold",""]] "<span style=font-weight:600>fo[o</span><span style=font-weight:700>b]ar</span>" queryCommandState("bold") after 
+FAIL [["stylewithcss","false"],["bold",""]] "<span style=font-weight:600>fo[o</span><span style=font-weight:700>b]ar</span>" queryCommandValue("bold") after assert_equals: Wrong result returned expected "" but got "false"
+PASS [["stylewithcss","true"],["bold",""]] "<span style=font-weight:500>fo[o</span><span style=font-weight:600>b]ar</span>": execCommand("stylewithcss", false, "true") return value 
+PASS [["stylewithcss","true"],["bold",""]] "<span style=font-weight:500>fo[o</span><span style=font-weight:600>b]ar</span>": execCommand("bold", false, "") return value 
+PASS [["stylewithcss","true"],["bold",""]] "<span style=font-weight:500>fo[o</span><span style=font-weight:600>b]ar</span>" checks for modifications to non-editable content 
+FAIL [["stylewithcss","true"],["bold",""]] "<span style=font-weight:500>fo[o</span><span style=font-weight:600>b]ar</span>" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<span style=\"font-weight:500\">fo<span style=\"font-weight:bold\">o</span></span><span style=\"font-weight:600\"><span style=\"font-weight:bold\">b</span>ar</span>" but got "<span style=\"font-weight:500\">fo</span><span style=\"font-weight:bold\">ob</span><span style=\"font-weight:600\">ar</span>"
+PASS [["stylewithcss","true"],["bold",""]] "<span style=font-weight:500>fo[o</span><span style=font-weight:600>b]ar</span>" queryCommandIndeterm("stylewithcss") before 
+PASS [["stylewithcss","true"],["bold",""]] "<span style=font-weight:500>fo[o</span><span style=font-weight:600>b]ar</span>" queryCommandState("stylewithcss") before 
+PASS [["stylewithcss","true"],["bold",""]] "<span style=font-weight:500>fo[o</span><span style=font-weight:600>b]ar</span>" queryCommandValue("stylewithcss") before 
+PASS [["stylewithcss","true"],["bold",""]] "<span style=font-weight:500>fo[o</span><span style=font-weight:600>b]ar</span>" queryCommandIndeterm("stylewithcss") after 
+PASS [["stylewithcss","true"],["bold",""]] "<span style=font-weight:500>fo[o</span><span style=font-weight:600>b]ar</span>" queryCommandState("stylewithcss") after 
+PASS [["stylewithcss","true"],["bold",""]] "<span style=font-weight:500>fo[o</span><span style=font-weight:600>b]ar</span>" queryCommandValue("stylewithcss") after 
+FAIL [["stylewithcss","true"],["bold",""]] "<span style=font-weight:500>fo[o</span><span style=font-weight:600>b]ar</span>" queryCommandIndeterm("bold") before assert_equals: Wrong result returned expected true but got false
+PASS [["stylewithcss","true"],["bold",""]] "<span style=font-weight:500>fo[o</span><span style=font-weight:600>b]ar</span>" queryCommandState("bold") before 
+FAIL [["stylewithcss","true"],["bold",""]] "<span style=font-weight:500>fo[o</span><span style=font-weight:600>b]ar</span>" queryCommandValue("bold") before assert_equals: Wrong result returned expected "" but got "false"
+PASS [["stylewithcss","true"],["bold",""]] "<span style=font-weight:500>fo[o</span><span style=font-weight:600>b]ar</span>" queryCommandIndeterm("bold") after 
+PASS [["stylewithcss","true"],["bold",""]] "<span style=font-weight:500>fo[o</span><span style=font-weight:600>b]ar</span>" queryCommandState("bold") after 
+FAIL [["stylewithcss","true"],["bold",""]] "<span style=font-weight:500>fo[o</span><span style=font-weight:600>b]ar</span>" queryCommandValue("bold") after assert_equals: Wrong result returned expected "" but got "true"
+PASS [["stylewithcss","false"],["bold",""]] "<span style=font-weight:500>fo[o</span><span style=font-weight:600>b]ar</span>": execCommand("stylewithcss", false, "false") return value 
+PASS [["stylewithcss","false"],["bold",""]] "<span style=font-weight:500>fo[o</span><span style=font-weight:600>b]ar</span>": execCommand("bold", false, "") return value 
+PASS [["stylewithcss","false"],["bold",""]] "<span style=font-weight:500>fo[o</span><span style=font-weight:600>b]ar</span>" checks for modifications to non-editable content 
+FAIL [["stylewithcss","false"],["bold",""]] "<span style=font-weight:500>fo[o</span><span style=font-weight:600>b]ar</span>" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<span style=\"font-weight:500\">fo<b>o</b></span><span style=\"font-weight:600\"><b>b</b>ar</span>" but got "<span style=\"font-weight:500\">fo</span><b>ob</b><span style=\"font-weight:600\">ar</span>"
+PASS [["stylewithcss","false"],["bold",""]] "<span style=font-weight:500>fo[o</span><span style=font-weight:600>b]ar</span>" queryCommandIndeterm("stylewithcss") before 
+PASS [["stylewithcss","false"],["bold",""]] "<span style=font-weight:500>fo[o</span><span style=font-weight:600>b]ar</span>" queryCommandState("stylewithcss") before 
+PASS [["stylewithcss","false"],["bold",""]] "<span style=font-weight:500>fo[o</span><span style=font-weight:600>b]ar</span>" queryCommandValue("stylewithcss") before 
+PASS [["stylewithcss","false"],["bold",""]] "<span style=font-weight:500>fo[o</span><span style=font-weight:600>b]ar</span>" queryCommandIndeterm("stylewithcss") after 
+PASS [["stylewithcss","false"],["bold",""]] "<span style=font-weight:500>fo[o</span><span style=font-weight:600>b]ar</span>" queryCommandState("stylewithcss") after 
+PASS [["stylewithcss","false"],["bold",""]] "<span style=font-weight:500>fo[o</span><span style=font-weight:600>b]ar</span>" queryCommandValue("stylewithcss") after 
+FAIL [["stylewithcss","false"],["bold",""]] "<span style=font-weight:500>fo[o</span><span style=font-weight:600>b]ar</span>" queryCommandIndeterm("bold") before assert_equals: Wrong result returned expected true but got false
+PASS [["stylewithcss","false"],["bold",""]] "<span style=font-weight:500>fo[o</span><span style=font-weight:600>b]ar</span>" queryCommandState("bold") before 
+FAIL [["stylewithcss","false"],["bold",""]] "<span style=font-weight:500>fo[o</span><span style=font-weight:600>b]ar</span>" queryCommandValue("bold") before assert_equals: Wrong result returned expected "" but got "false"
+PASS [["stylewithcss","false"],["bold",""]] "<span style=font-weight:500>fo[o</span><span style=font-weight:600>b]ar</span>" queryCommandIndeterm("bold") after 
+PASS [["stylewithcss","false"],["bold",""]] "<span style=font-weight:500>fo[o</span><span style=font-weight:600>b]ar</span>" queryCommandState("bold") after 
+FAIL [["stylewithcss","false"],["bold",""]] "<span style=font-weight:500>fo[o</span><span style=font-weight:600>b]ar</span>" queryCommandValue("bold") after assert_equals: Wrong result returned expected "" but got "true"
+PASS [["stylewithcss","true"],["bold",""]] "<span style=font-weight:400>fo[o</span><span style=font-weight:500>b]ar</span>": execCommand("stylewithcss", false, "true") return value 
+PASS [["stylewithcss","true"],["bold",""]] "<span style=font-weight:400>fo[o</span><span style=font-weight:500>b]ar</span>": execCommand("bold", false, "") return value 
+PASS [["stylewithcss","true"],["bold",""]] "<span style=font-weight:400>fo[o</span><span style=font-weight:500>b]ar</span>" checks for modifications to non-editable content 
+FAIL [["stylewithcss","true"],["bold",""]] "<span style=font-weight:400>fo[o</span><span style=font-weight:500>b]ar</span>" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<span style=\"font-weight:400\">fo<span style=\"font-weight:bold\">o</span></span><span style=\"font-weight:500\"><span style=\"font-weight:bold\">b</span>ar</span>" but got "<span style=\"font-weight:400\">fo</span><span style=\"font-weight:bold\">ob</span><span style=\"font-weight:500\">ar</span>"
+PASS [["stylewithcss","true"],["bold",""]] "<span style=font-weight:400>fo[o</span><span style=font-weight:500>b]ar</span>" queryCommandIndeterm("stylewithcss") before 
+PASS [["stylewithcss","true"],["bold",""]] "<span style=font-weight:400>fo[o</span><span style=font-weight:500>b]ar</span>" queryCommandState("stylewithcss") before 
+PASS [["stylewithcss","true"],["bold",""]] "<span style=font-weight:400>fo[o</span><span style=font-weight:500>b]ar</span>" queryCommandValue("stylewithcss") before 
+PASS [["stylewithcss","true"],["bold",""]] "<span style=font-weight:400>fo[o</span><span style=font-weight:500>b]ar</span>" queryCommandIndeterm("stylewithcss") after 
+PASS [["stylewithcss","true"],["bold",""]] "<span style=font-weight:400>fo[o</span><span style=font-weight:500>b]ar</span>" queryCommandState("stylewithcss") after 
+PASS [["stylewithcss","true"],["bold",""]] "<span style=font-weight:400>fo[o</span><span style=font-weight:500>b]ar</span>" queryCommandValue("stylewithcss") after 
+PASS [["stylewithcss","true"],["bold",""]] "<span style=font-weight:400>fo[o</span><span style=font-weight:500>b]ar</span>" queryCommandIndeterm("bold") before 
+PASS [["stylewithcss","true"],["bold",""]] "<span style=font-weight:400>fo[o</span><span style=font-weight:500>b]ar</span>" queryCommandState("bold") before 
+FAIL [["stylewithcss","true"],["bold",""]] "<span style=font-weight:400>fo[o</span><span style=font-weight:500>b]ar</span>" queryCommandValue("bold") before assert_equals: Wrong result returned expected "" but got "false"
+PASS [["stylewithcss","true"],["bold",""]] "<span style=font-weight:400>fo[o</span><span style=font-weight:500>b]ar</span>" queryCommandIndeterm("bold") after 
+PASS [["stylewithcss","true"],["bold",""]] "<span style=font-weight:400>fo[o</span><span style=font-weight:500>b]ar</span>" queryCommandState("bold") after 
+FAIL [["stylewithcss","true"],["bold",""]] "<span style=font-weight:400>fo[o</span><span style=font-weight:500>b]ar</span>" queryCommandValue("bold") after assert_equals: Wrong result returned expected "" but got "true"
+PASS [["stylewithcss","false"],["bold",""]] "<span style=font-weight:400>fo[o</span><span style=font-weight:500>b]ar</span>": execCommand("stylewithcss", false, "false") return value 
+PASS [["stylewithcss","false"],["bold",""]] "<span style=font-weight:400>fo[o</span><span style=font-weight:500>b]ar</span>": execCommand("bold", false, "") return value 
+PASS [["stylewithcss","false"],["bold",""]] "<span style=font-weight:400>fo[o</span><span style=font-weight:500>b]ar</span>" checks for modifications to non-editable content 
+FAIL [["stylewithcss","false"],["bold",""]] "<span style=font-weight:400>fo[o</span><span style=font-weight:500>b]ar</span>" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<span style=\"font-weight:400\">fo<b>o</b></span><span style=\"font-weight:500\"><b>b</b>ar</span>" but got "<span style=\"font-weight:400\">fo</span><b>ob</b><span style=\"font-weight:500\">ar</span>"
+PASS [["stylewithcss","false"],["bold",""]] "<span style=font-weight:400>fo[o</span><span style=font-weight:500>b]ar</span>" queryCommandIndeterm("stylewithcss") before 
+PASS [["stylewithcss","false"],["bold",""]] "<span style=font-weight:400>fo[o</span><span style=font-weight:500>b]ar</span>" queryCommandState("stylewithcss") before 
+PASS [["stylewithcss","false"],["bold",""]] "<span style=font-weight:400>fo[o</span><span style=font-weight:500>b]ar</span>" queryCommandValue("stylewithcss") before 
+PASS [["stylewithcss","false"],["bold",""]] "<span style=font-weight:400>fo[o</span><span style=font-weight:500>b]ar</span>" queryCommandIndeterm("stylewithcss") after 
+PASS [["stylewithcss","false"],["bold",""]] "<span style=font-weight:400>fo[o</span><span style=font-weight:500>b]ar</span>" queryCommandState("stylewithcss") after 
+PASS [["stylewithcss","false"],["bold",""]] "<span style=font-weight:400>fo[o</span><span style=font-weight:500>b]ar</span>" queryCommandValue("stylewithcss") after 
+PASS [["stylewithcss","false"],["bold",""]] "<span style=font-weight:400>fo[o</span><span style=font-weight:500>b]ar</span>" queryCommandIndeterm("bold") before 
+PASS [["stylewithcss","false"],["bold",""]] "<span style=font-weight:400>fo[o</span><span style=font-weight:500>b]ar</span>" queryCommandState("bold") before 
+FAIL [["stylewithcss","false"],["bold",""]] "<span style=font-weight:400>fo[o</span><span style=font-weight:500>b]ar</span>" queryCommandValue("bold") before assert_equals: Wrong result returned expected "" but got "false"
+PASS [["stylewithcss","false"],["bold",""]] "<span style=font-weight:400>fo[o</span><span style=font-weight:500>b]ar</span>" queryCommandIndeterm("bold") after 
+PASS [["stylewithcss","false"],["bold",""]] "<span style=font-weight:400>fo[o</span><span style=font-weight:500>b]ar</span>" queryCommandState("bold") after 
+FAIL [["stylewithcss","false"],["bold",""]] "<span style=font-weight:400>fo[o</span><span style=font-weight:500>b]ar</span>" queryCommandValue("bold") after assert_equals: Wrong result returned expected "" but got "true"
+PASS [["stylewithcss","true"],["bold",""]] "<span style=font-weight:300>fo[o</span><span style=font-weight:400>b]ar</span>": execCommand("stylewithcss", false, "true") return value 
+PASS [["stylewithcss","true"],["bold",""]] "<span style=font-weight:300>fo[o</span><span style=font-weight:400>b]ar</span>": execCommand("bold", false, "") return value 
+PASS [["stylewithcss","true"],["bold",""]] "<span style=font-weight:300>fo[o</span><span style=font-weight:400>b]ar</span>" checks for modifications to non-editable content 
+FAIL [["stylewithcss","true"],["bold",""]] "<span style=font-weight:300>fo[o</span><span style=font-weight:400>b]ar</span>" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<span style=\"font-weight:300\">fo<span style=\"font-weight:bold\">o</span></span><span style=\"font-weight:400\"><span style=\"font-weight:bold\">b</span>ar</span>" but got "<span style=\"font-weight:300\">fo</span><span style=\"font-weight:bold\">ob</span><span style=\"font-weight:400\">ar</span>"
+PASS [["stylewithcss","true"],["bold",""]] "<span style=font-weight:300>fo[o</span><span style=font-weight:400>b]ar</span>" queryCommandIndeterm("stylewithcss") before 
+PASS [["stylewithcss","true"],["bold",""]] "<span style=font-weight:300>fo[o</span><span style=font-weight:400>b]ar</span>" queryCommandState("stylewithcss") before 
+PASS [["stylewithcss","true"],["bold",""]] "<span style=font-weight:300>fo[o</span><span style=font-weight:400>b]ar</span>" queryCommandValue("stylewithcss") before 
+PASS [["stylewithcss","true"],["bold",""]] "<span style=font-weight:300>fo[o</span><span style=font-weight:400>b]ar</span>" queryCommandIndeterm("stylewithcss") after 
+PASS [["stylewithcss","true"],["bold",""]] "<span style=font-weight:300>fo[o</span><span style=font-weight:400>b]ar</span>" queryCommandState("stylewithcss") after 
+PASS [["stylewithcss","true"],["bold",""]] "<span style=font-weight:300>fo[o</span><span style=font-weight:400>b]ar</span>" queryCommandValue("stylewithcss") after 
+PASS [["stylewithcss","true"],["bold",""]] "<span style=font-weight:300>fo[o</span><span style=font-weight:400>b]ar</span>" queryCommandIndeterm("bold") before 
+PASS [["stylewithcss","true"],["bold",""]] "<span style=font-weight:300>fo[o</span><span style=font-weight:400>b]ar</span>" queryCommandState("bold") before 
+FAIL [["stylewithcss","true"],["bold",""]] "<span style=font-weight:300>fo[o</span><span style=font-weight:400>b]ar</span>" queryCommandValue("bold") before assert_equals: Wrong result returned expected "" but got "false"
+PASS [["stylewithcss","true"],["bold",""]] "<span style=font-weight:300>fo[o</span><span style=font-weight:400>b]ar</span>" queryCommandIndeterm("bold") after 
+PASS [["stylewithcss","true"],["bold",""]] "<span style=font-weight:300>fo[o</span><span style=font-weight:400>b]ar</span>" queryCommandState("bold") after 
+FAIL [["stylewithcss","true"],["bold",""]] "<span style=font-weight:300>fo[o</span><span style=font-weight:400>b]ar</span>" queryCommandValue("bold") after assert_equals: Wrong result returned expected "" but got "true"
+PASS [["stylewithcss","false"],["bold",""]] "<span style=font-weight:300>fo[o</span><span style=font-weight:400>b]ar</span>": execCommand("stylewithcss", false, "false") return value 
+PASS [["stylewithcss","false"],["bold",""]] "<span style=font-weight:300>fo[o</span><span style=font-weight:400>b]ar</span>": execCommand("bold", false, "") return value 
+PASS [["stylewithcss","false"],["bold",""]] "<span style=font-weight:300>fo[o</span><span style=font-weight:400>b]ar</span>" checks for modifications to non-editable content 
+FAIL [["stylewithcss","false"],["bold",""]] "<span style=font-weight:300>fo[o</span><span style=font-weight:400>b]ar</span>" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<span style=\"font-weight:300\">fo<b>o</b></span><span style=\"font-weight:400\"><b>b</b>ar</span>" but got "<span style=\"font-weight:300\">fo</span><b>ob</b><span style=\"font-weight:400\">ar</span>"
+PASS [["stylewithcss","false"],["bold",""]] "<span style=font-weight:300>fo[o</span><span style=font-weight:400>b]ar</span>" queryCommandIndeterm("stylewithcss") before 
+PASS [["stylewithcss","false"],["bold",""]] "<span style=font-weight:300>fo[o</span><span style=font-weight:400>b]ar</span>" queryCommandState("stylewithcss") before 
+PASS [["stylewithcss","false"],["bold",""]] "<span style=font-weight:300>fo[o</span><span style=font-weight:400>b]ar</span>" queryCommandValue("stylewithcss") before 
+PASS [["stylewithcss","false"],["bold",""]] "<span style=font-weight:300>fo[o</span><span style=font-weight:400>b]ar</span>" queryCommandIndeterm("stylewithcss") after 
+PASS [["stylewithcss","false"],["bold",""]] "<span style=font-weight:300>fo[o</span><span style=font-weight:400>b]ar</span>" queryCommandState("stylewithcss") after 
+PASS [["stylewithcss","false"],["bold",""]] "<span style=font-weight:300>fo[o</span><span style=font-weight:400>b]ar</span>" queryCommandValue("stylewithcss") after 
+PASS [["stylewithcss","false"],["bold",""]] "<span style=font-weight:300>fo[o</span><span style=font-weight:400>b]ar</span>" queryCommandIndeterm("bold") before 
+PASS [["stylewithcss","false"],["bold",""]] "<span style=font-weight:300>fo[o</span><span style=font-weight:400>b]ar</span>" queryCommandState("bold") before 
+FAIL [["stylewithcss","false"],["bold",""]] "<span style=font-weight:300>fo[o</span><span style=font-weight:400>b]ar</span>" queryCommandValue("bold") before assert_equals: Wrong result returned expected "" but got "false"
+PASS [["stylewithcss","false"],["bold",""]] "<span style=font-weight:300>fo[o</span><span style=font-weight:400>b]ar</span>" queryCommandIndeterm("bold") after 
+PASS [["stylewithcss","false"],["bold",""]] "<span style=font-weight:300>fo[o</span><span style=font-weight:400>b]ar</span>" queryCommandState("bold") after 
+FAIL [["stylewithcss","false"],["bold",""]] "<span style=font-weight:300>fo[o</span><span style=font-weight:400>b]ar</span>" queryCommandValue("bold") after assert_equals: Wrong result returned expected "" but got "true"
+PASS [["stylewithcss","true"],["bold",""]] "<span style=font-weight:200>fo[o</span><span style=font-weight:300>b]ar</span>": execCommand("stylewithcss", false, "true") return value 
+PASS [["stylewithcss","true"],["bold",""]] "<span style=font-weight:200>fo[o</span><span style=font-weight:300>b]ar</span>": execCommand("bold", false, "") return value 
+PASS [["stylewithcss","true"],["bold",""]] "<span style=font-weight:200>fo[o</span><span style=font-weight:300>b]ar</span>" checks for modifications to non-editable content 
+FAIL [["stylewithcss","true"],["bold",""]] "<span style=font-weight:200>fo[o</span><span style=font-weight:300>b]ar</span>" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<span style=\"font-weight:200\">fo<span style=\"font-weight:bold\">o</span></span><span style=\"font-weight:300\"><span style=\"font-weight:bold\">b</span>ar</span>" but got "<span style=\"font-weight:200\">fo</span><span style=\"font-weight:bold\">ob</span><span style=\"font-weight:300\">ar</span>"
+PASS [["stylewithcss","true"],["bold",""]] "<span style=font-weight:200>fo[o</span><span style=font-weight:300>b]ar</span>" queryCommandIndeterm("stylewithcss") before 
+PASS [["stylewithcss","true"],["bold",""]] "<span style=font-weight:200>fo[o</span><span style=font-weight:300>b]ar</span>" queryCommandState("stylewithcss") before 
+PASS [["stylewithcss","true"],["bold",""]] "<span style=font-weight:200>fo[o</span><span style=font-weight:300>b]ar</span>" queryCommandValue("stylewithcss") before 
+PASS [["stylewithcss","true"],["bold",""]] "<span style=font-weight:200>fo[o</span><span style=font-weight:300>b]ar</span>" queryCommandIndeterm("stylewithcss") after 
+PASS [["stylewithcss","true"],["bold",""]] "<span style=font-weight:200>fo[o</span><span style=font-weight:300>b]ar</span>" queryCommandState("stylewithcss") after 
+PASS [["stylewithcss","true"],["bold",""]] "<span style=font-weight:200>fo[o</span><span style=font-weight:300>b]ar</span>" queryCommandValue("stylewithcss") after 
+PASS [["stylewithcss","true"],["bold",""]] "<span style=font-weight:200>fo[o</span><span style=font-weight:300>b]ar</span>" queryCommandIndeterm("bold") before 
+PASS [["stylewithcss","true"],["bold",""]] "<span style=font-weight:200>fo[o</span><span style=font-weight:300>b]ar</span>" queryCommandState("bold") before 
+FAIL [["stylewithcss","true"],["bold",""]] "<span style=font-weight:200>fo[o</span><span style=font-weight:300>b]ar</span>" queryCommandValue("bold") before assert_equals: Wrong result returned expected "" but got "false"
+PASS [["stylewithcss","true"],["bold",""]] "<span style=font-weight:200>fo[o</span><span style=font-weight:300>b]ar</span>" queryCommandIndeterm("bold") after 
+PASS [["stylewithcss","true"],["bold",""]] "<span style=font-weight:200>fo[o</span><span style=font-weight:300>b]ar</span>" queryCommandState("bold") after 
+FAIL [["stylewithcss","true"],["bold",""]] "<span style=font-weight:200>fo[o</span><span style=font-weight:300>b]ar</span>" queryCommandValue("bold") after assert_equals: Wrong result returned expected "" but got "true"
+PASS [["stylewithcss","false"],["bold",""]] "<span style=font-weight:200>fo[o</span><span style=font-weight:300>b]ar</span>": execCommand("stylewithcss", false, "false") return value 
+PASS [["stylewithcss","false"],["bold",""]] "<span style=font-weight:200>fo[o</span><span style=font-weight:300>b]ar</span>": execCommand("bold", false, "") return value 
+PASS [["stylewithcss","false"],["bold",""]] "<span style=font-weight:200>fo[o</span><span style=font-weight:300>b]ar</span>" checks for modifications to non-editable content 
+FAIL [["stylewithcss","false"],["bold",""]] "<span style=font-weight:200>fo[o</span><span style=font-weight:300>b]ar</span>" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<span style=\"font-weight:200\">fo<b>o</b></span><span style=\"font-weight:300\"><b>b</b>ar</span>" but got "<span style=\"font-weight:200\">fo</span><b>ob</b><span style=\"font-weight:300\">ar</span>"
+PASS [["stylewithcss","false"],["bold",""]] "<span style=font-weight:200>fo[o</span><span style=font-weight:300>b]ar</span>" queryCommandIndeterm("stylewithcss") before 
+PASS [["stylewithcss","false"],["bold",""]] "<span style=font-weight:200>fo[o</span><span style=font-weight:300>b]ar</span>" queryCommandState("stylewithcss") before 
+PASS [["stylewithcss","false"],["bold",""]] "<span style=font-weight:200>fo[o</span><span style=font-weight:300>b]ar</span>" queryCommandValue("stylewithcss") before 
+PASS [["stylewithcss","false"],["bold",""]] "<span style=font-weight:200>fo[o</span><span style=font-weight:300>b]ar</span>" queryCommandIndeterm("stylewithcss") after 
+PASS [["stylewithcss","false"],["bold",""]] "<span style=font-weight:200>fo[o</span><span style=font-weight:300>b]ar</span>" queryCommandState("stylewithcss") after 
+PASS [["stylewithcss","false"],["bold",""]] "<span style=font-weight:200>fo[o</span><span style=font-weight:300>b]ar</span>" queryCommandValue("stylewithcss") after 
+PASS [["stylewithcss","false"],["bold",""]] "<span style=font-weight:200>fo[o</span><span style=font-weight:300>b]ar</span>" queryCommandIndeterm("bold") before 
+PASS [["stylewithcss","false"],["bold",""]] "<span style=font-weight:200>fo[o</span><span style=font-weight:300>b]ar</span>" queryCommandState("bold") before 
+FAIL [["stylewithcss","false"],["bold",""]] "<span style=font-weight:200>fo[o</span><span style=font-weight:300>b]ar</span>" queryCommandValue("bold") before assert_equals: Wrong result returned expected "" but got "false"
+PASS [["stylewithcss","false"],["bold",""]] "<span style=font-weight:200>fo[o</span><span style=font-weight:300>b]ar</span>" queryCommandIndeterm("bold") after 
+PASS [["stylewithcss","false"],["bold",""]] "<span style=font-weight:200>fo[o</span><span style=font-weight:300>b]ar</span>" queryCommandState("bold") after 
+FAIL [["stylewithcss","false"],["bold",""]] "<span style=font-weight:200>fo[o</span><span style=font-weight:300>b]ar</span>" queryCommandValue("bold") after assert_equals: Wrong result returned expected "" but got "true"
+PASS [["stylewithcss","true"],["bold",""]] "<span style=font-weight:100>fo[o</span><span style=font-weight:200>b]ar</span>": execCommand("stylewithcss", false, "true") return value 
+PASS [["stylewithcss","true"],["bold",""]] "<span style=font-weight:100>fo[o</span><span style=font-weight:200>b]ar</span>": execCommand("bold", false, "") return value 
+PASS [["stylewithcss","true"],["bold",""]] "<span style=font-weight:100>fo[o</span><span style=font-weight:200>b]ar</span>" checks for modifications to non-editable content 
+FAIL [["stylewithcss","true"],["bold",""]] "<span style=font-weight:100>fo[o</span><span style=font-weight:200>b]ar</span>" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<span style=\"font-weight:100\">fo<span style=\"font-weight:bold\">o</span></span><span style=\"font-weight:200\"><span style=\"font-weight:bold\">b</span>ar</span>" but got "<span style=\"font-weight:100\">fo</span><span style=\"font-weight:bold\">ob</span><span style=\"font-weight:200\">ar</span>"
+PASS [["stylewithcss","true"],["bold",""]] "<span style=font-weight:100>fo[o</span><span style=font-weight:200>b]ar</span>" queryCommandIndeterm("stylewithcss") before 
+PASS [["stylewithcss","true"],["bold",""]] "<span style=font-weight:100>fo[o</span><span style=font-weight:200>b]ar</span>" queryCommandState("stylewithcss") before 
+PASS [["stylewithcss","true"],["bold",""]] "<span style=font-weight:100>fo[o</span><span style=font-weight:200>b]ar</span>" queryCommandValue("stylewithcss") before 
+PASS [["stylewithcss","true"],["bold",""]] "<span style=font-weight:100>fo[o</span><span style=font-weight:200>b]ar</span>" queryCommandIndeterm("stylewithcss") after 
+PASS [["stylewithcss","true"],["bold",""]] "<span style=font-weight:100>fo[o</span><span style=font-weight:200>b]ar</span>" queryCommandState("stylewithcss") after 
+PASS [["stylewithcss","true"],["bold",""]] "<span style=font-weight:100>fo[o</span><span style=font-weight:200>b]ar</span>" queryCommandValue("stylewithcss") after 
+PASS [["stylewithcss","true"],["bold",""]] "<span style=font-weight:100>fo[o</span><span style=font-weight:200>b]ar</span>" queryCommandIndeterm("bold") before 
+PASS [["stylewithcss","true"],["bold",""]] "<span style=font-weight:100>fo[o</span><span style=font-weight:200>b]ar</span>" queryCommandState("bold") before 
+FAIL [["stylewithcss","true"],["bold",""]] "<span style=font-weight:100>fo[o</span><span style=font-weight:200>b]ar</span>" queryCommandValue("bold") before assert_equals: Wrong result returned expected "" but got "false"
+PASS [["stylewithcss","true"],["bold",""]] "<span style=font-weight:100>fo[o</span><span style=font-weight:200>b]ar</span>" queryCommandIndeterm("bold") after 
+PASS [["stylewithcss","true"],["bold",""]] "<span style=font-weight:100>fo[o</span><span style=font-weight:200>b]ar</span>" queryCommandState("bold") after 
+FAIL [["stylewithcss","true"],["bold",""]] "<span style=font-weight:100>fo[o</span><span style=font-weight:200>b]ar</span>" queryCommandValue("bold") after assert_equals: Wrong result returned expected "" but got "true"
+PASS [["stylewithcss","false"],["bold",""]] "<span style=font-weight:100>fo[o</span><span style=font-weight:200>b]ar</span>": execCommand("stylewithcss", false, "false") return value 
+PASS [["stylewithcss","false"],["bold",""]] "<span style=font-weight:100>fo[o</span><span style=font-weight:200>b]ar</span>": execCommand("bold", false, "") return value 
+PASS [["stylewithcss","false"],["bold",""]] "<span style=font-weight:100>fo[o</span><span style=font-weight:200>b]ar</span>" checks for modifications to non-editable content 
+FAIL [["stylewithcss","false"],["bold",""]] "<span style=font-weight:100>fo[o</span><span style=font-weight:200>b]ar</span>" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<span style=\"font-weight:100\">fo<b>o</b></span><span style=\"font-weight:200\"><b>b</b>ar</span>" but got "<span style=\"font-weight:100\">fo</span><b>ob</b><span style=\"font-weight:200\">ar</span>"
+PASS [["stylewithcss","false"],["bold",""]] "<span style=font-weight:100>fo[o</span><span style=font-weight:200>b]ar</span>" queryCommandIndeterm("stylewithcss") before 
+PASS [["stylewithcss","false"],["bold",""]] "<span style=font-weight:100>fo[o</span><span style=font-weight:200>b]ar</span>" queryCommandState("stylewithcss") before 
+PASS [["stylewithcss","false"],["bold",""]] "<span style=font-weight:100>fo[o</span><span style=font-weight:200>b]ar</span>" queryCommandValue("stylewithcss") before 
+PASS [["stylewithcss","false"],["bold",""]] "<span style=font-weight:100>fo[o</span><span style=font-weight:200>b]ar</span>" queryCommandIndeterm("stylewithcss") after 
+PASS [["stylewithcss","false"],["bold",""]] "<span style=font-weight:100>fo[o</span><span style=font-weight:200>b]ar</span>" queryCommandState("stylewithcss") after 
+PASS [["stylewithcss","false"],["bold",""]] "<span style=font-weight:100>fo[o</span><span style=font-weight:200>b]ar</span>" queryCommandValue("stylewithcss") after 
+PASS [["stylewithcss","false"],["bold",""]] "<span style=font-weight:100>fo[o</span><span style=font-weight:200>b]ar</span>" queryCommandIndeterm("bold") before 
+PASS [["stylewithcss","false"],["bold",""]] "<span style=font-weight:100>fo[o</span><span style=font-weight:200>b]ar</span>" queryCommandState("bold") before 
+FAIL [["stylewithcss","false"],["bold",""]] "<span style=font-weight:100>fo[o</span><span style=font-weight:200>b]ar</span>" queryCommandValue("bold") before assert_equals: Wrong result returned expected "" but got "false"
+PASS [["stylewithcss","false"],["bold",""]] "<span style=font-weight:100>fo[o</span><span style=font-weight:200>b]ar</span>" queryCommandIndeterm("bold") after 
+PASS [["stylewithcss","false"],["bold",""]] "<span style=font-weight:100>fo[o</span><span style=font-weight:200>b]ar</span>" queryCommandState("bold") after 
+FAIL [["stylewithcss","false"],["bold",""]] "<span style=font-weight:100>fo[o</span><span style=font-weight:200>b]ar</span>" queryCommandValue("bold") after assert_equals: Wrong result returned expected "" but got "true"
+Harness: the test ran to completion.
+
diff --git a/third_party/WebKit/LayoutTests/platform/mac/external/wpt/editing/run/italic-expected.txt b/third_party/WebKit/LayoutTests/platform/mac/external/wpt/editing/run/italic-expected.txt
index 32467c6..9127421 100644
--- a/third_party/WebKit/LayoutTests/platform/mac/external/wpt/editing/run/italic-expected.txt
+++ b/third_party/WebKit/LayoutTests/platform/mac/external/wpt/editing/run/italic-expected.txt
@@ -1579,7 +1579,7 @@
 PASS [["stylewithcss","true"],["italic",""]] "<i>{<p>foo</p><p>bar</p>}<p>baz</p></i>": execCommand("stylewithcss", false, "true") return value 
 PASS [["stylewithcss","true"],["italic",""]] "<i>{<p>foo</p><p>bar</p>}<p>baz</p></i>": execCommand("italic", false, "") return value 
 PASS [["stylewithcss","true"],["italic",""]] "<i>{<p>foo</p><p>bar</p>}<p>baz</p></i>" checks for modifications to non-editable content 
-FAIL [["stylewithcss","true"],["italic",""]] "<i>{<p>foo</p><p>bar</p>}<p>baz</p></i>" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<p>foo</p><p>bar</p><p><span style=\"font-style:italic\">baz</span></p>" but got "<p>foo</p><p>bar</p><p style=\"font-style:italic\">baz</p>"
+FAIL [["stylewithcss","true"],["italic",""]] "<i>{<p>foo</p><p>bar</p>}<p>baz</p></i>" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<p>foo</p><p>bar</p><p><span style=\"font-style:italic\">baz</span></p>" but got "<p style=\"\">foo</p><p style=\"\">bar</p><p style=\"font-style:italic\">baz</p>"
 PASS [["stylewithcss","true"],["italic",""]] "<i>{<p>foo</p><p>bar</p>}<p>baz</p></i>" queryCommandIndeterm("stylewithcss") before 
 PASS [["stylewithcss","true"],["italic",""]] "<i>{<p>foo</p><p>bar</p>}<p>baz</p></i>" queryCommandState("stylewithcss") before 
 PASS [["stylewithcss","true"],["italic",""]] "<i>{<p>foo</p><p>bar</p>}<p>baz</p></i>" queryCommandValue("stylewithcss") before 
@@ -1595,7 +1595,7 @@
 PASS [["stylewithcss","false"],["italic",""]] "<i>{<p>foo</p><p>bar</p>}<p>baz</p></i>": execCommand("stylewithcss", false, "false") return value 
 PASS [["stylewithcss","false"],["italic",""]] "<i>{<p>foo</p><p>bar</p>}<p>baz</p></i>": execCommand("italic", false, "") return value 
 PASS [["stylewithcss","false"],["italic",""]] "<i>{<p>foo</p><p>bar</p>}<p>baz</p></i>" checks for modifications to non-editable content 
-FAIL [["stylewithcss","false"],["italic",""]] "<i>{<p>foo</p><p>bar</p>}<p>baz</p></i>" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<p>foo</p><p>bar</p><p><i>baz</i></p>" but got "<p>foo</p><p>bar</p><p style=\"font-style:italic\">baz</p>"
+FAIL [["stylewithcss","false"],["italic",""]] "<i>{<p>foo</p><p>bar</p>}<p>baz</p></i>" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<p>foo</p><p>bar</p><p><i>baz</i></p>" but got "<p style=\"\">foo</p><p style=\"\">bar</p><p style=\"font-style:italic\">baz</p>"
 PASS [["stylewithcss","false"],["italic",""]] "<i>{<p>foo</p><p>bar</p>}<p>baz</p></i>" queryCommandIndeterm("stylewithcss") before 
 PASS [["stylewithcss","false"],["italic",""]] "<i>{<p>foo</p><p>bar</p>}<p>baz</p></i>" queryCommandState("stylewithcss") before 
 PASS [["stylewithcss","false"],["italic",""]] "<i>{<p>foo</p><p>bar</p>}<p>baz</p></i>" queryCommandValue("stylewithcss") before 
@@ -1611,7 +1611,7 @@
 PASS [["stylewithcss","true"],["italic",""]] "<i><p>foo[<b>bar</b>}</p><p>baz</p></i>": execCommand("stylewithcss", false, "true") return value 
 PASS [["stylewithcss","true"],["italic",""]] "<i><p>foo[<b>bar</b>}</p><p>baz</p></i>": execCommand("italic", false, "") return value 
 PASS [["stylewithcss","true"],["italic",""]] "<i><p>foo[<b>bar</b>}</p><p>baz</p></i>" checks for modifications to non-editable content 
-FAIL [["stylewithcss","true"],["italic",""]] "<i><p>foo[<b>bar</b>}</p><p>baz</p></i>" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<p><span style=\"font-style:italic\">foo</span><b>bar</b></p><p><span style=\"font-style:italic\">baz</span></p>" but got "<p><span style=\"font-style:italic\">foo</span><b>bar</b></p><p style=\"font-style:italic\">baz</p>"
+FAIL [["stylewithcss","true"],["italic",""]] "<i><p>foo[<b>bar</b>}</p><p>baz</p></i>" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<p><span style=\"font-style:italic\">foo</span><b>bar</b></p><p><span style=\"font-style:italic\">baz</span></p>" but got "<p style=\"\"><span style=\"font-style:italic\">foo</span><b style=\"\">bar</b></p><p style=\"font-style:italic\">baz</p>"
 PASS [["stylewithcss","true"],["italic",""]] "<i><p>foo[<b>bar</b>}</p><p>baz</p></i>" queryCommandIndeterm("stylewithcss") before 
 PASS [["stylewithcss","true"],["italic",""]] "<i><p>foo[<b>bar</b>}</p><p>baz</p></i>" queryCommandState("stylewithcss") before 
 PASS [["stylewithcss","true"],["italic",""]] "<i><p>foo[<b>bar</b>}</p><p>baz</p></i>" queryCommandValue("stylewithcss") before 
@@ -1627,7 +1627,7 @@
 PASS [["stylewithcss","false"],["italic",""]] "<i><p>foo[<b>bar</b>}</p><p>baz</p></i>": execCommand("stylewithcss", false, "false") return value 
 PASS [["stylewithcss","false"],["italic",""]] "<i><p>foo[<b>bar</b>}</p><p>baz</p></i>": execCommand("italic", false, "") return value 
 PASS [["stylewithcss","false"],["italic",""]] "<i><p>foo[<b>bar</b>}</p><p>baz</p></i>" checks for modifications to non-editable content 
-FAIL [["stylewithcss","false"],["italic",""]] "<i><p>foo[<b>bar</b>}</p><p>baz</p></i>" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<p><i>foo</i><b>bar</b></p><p><i>baz</i></p>" but got "<p><i>foo</i><b>bar</b></p><p style=\"font-style:italic\">baz</p>"
+FAIL [["stylewithcss","false"],["italic",""]] "<i><p>foo[<b>bar</b>}</p><p>baz</p></i>" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<p><i>foo</i><b>bar</b></p><p><i>baz</i></p>" but got "<p style=\"\"><i>foo</i><b style=\"\">bar</b></p><p style=\"font-style:italic\">baz</p>"
 PASS [["stylewithcss","false"],["italic",""]] "<i><p>foo[<b>bar</b>}</p><p>baz</p></i>" queryCommandIndeterm("stylewithcss") before 
 PASS [["stylewithcss","false"],["italic",""]] "<i><p>foo[<b>bar</b>}</p><p>baz</p></i>" queryCommandState("stylewithcss") before 
 PASS [["stylewithcss","false"],["italic",""]] "<i><p>foo[<b>bar</b>}</p><p>baz</p></i>" queryCommandValue("stylewithcss") before 
diff --git a/third_party/WebKit/LayoutTests/platform/mac/external/wpt/editing/run/justifycenter-expected.txt b/third_party/WebKit/LayoutTests/platform/mac/external/wpt/editing/run/justifycenter-expected.txt
new file mode 100644
index 0000000..18f58ae
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/platform/mac/external/wpt/editing/run/justifycenter-expected.txt
@@ -0,0 +1,6150 @@
+This is a testharness.js-based test.
+Found 6146 tests; 5215 PASS, 931 FAIL, 0 TIMEOUT, 0 NOTRUN.
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "foo[]bar<p>extra": execCommand("stylewithcss", false, "true") return value 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "foo[]bar<p>extra": execCommand("defaultparagraphseparator", false, "div") return value 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "foo[]bar<p>extra": execCommand("justifycenter", false, "") return value 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "foo[]bar<p>extra" checks for modifications to non-editable content 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "foo[]bar<p>extra" compare innerHTML 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "foo[]bar<p>extra" queryCommandIndeterm("stylewithcss") before 
+FAIL [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "foo[]bar<p>extra" queryCommandState("stylewithcss") before assert_equals: Wrong result returned expected false but got true
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "foo[]bar<p>extra" queryCommandValue("stylewithcss") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "foo[]bar<p>extra" queryCommandIndeterm("stylewithcss") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "foo[]bar<p>extra" queryCommandState("stylewithcss") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "foo[]bar<p>extra" queryCommandValue("stylewithcss") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "foo[]bar<p>extra" queryCommandIndeterm("defaultparagraphseparator") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "foo[]bar<p>extra" queryCommandState("defaultparagraphseparator") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "foo[]bar<p>extra" queryCommandValue("defaultparagraphseparator") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "foo[]bar<p>extra" queryCommandIndeterm("defaultparagraphseparator") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "foo[]bar<p>extra" queryCommandState("defaultparagraphseparator") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "foo[]bar<p>extra" queryCommandValue("defaultparagraphseparator") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "foo[]bar<p>extra" queryCommandIndeterm("justifycenter") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "foo[]bar<p>extra" queryCommandState("justifycenter") before 
+FAIL [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "foo[]bar<p>extra" queryCommandValue("justifycenter") before assert_equals: Wrong result returned expected "left" but got "false"
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "foo[]bar<p>extra" queryCommandIndeterm("justifycenter") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "foo[]bar<p>extra" queryCommandState("justifycenter") after 
+FAIL [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "foo[]bar<p>extra" queryCommandValue("justifycenter") after assert_equals: Wrong result returned expected "center" but got "true"
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "foo[]bar<p>extra": execCommand("stylewithcss", false, "false") return value 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "foo[]bar<p>extra": execCommand("defaultparagraphseparator", false, "div") return value 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "foo[]bar<p>extra": execCommand("justifycenter", false, "") return value 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "foo[]bar<p>extra" checks for modifications to non-editable content 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "foo[]bar<p>extra" compare innerHTML 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "foo[]bar<p>extra" queryCommandIndeterm("stylewithcss") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "foo[]bar<p>extra" queryCommandState("stylewithcss") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "foo[]bar<p>extra" queryCommandValue("stylewithcss") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "foo[]bar<p>extra" queryCommandIndeterm("stylewithcss") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "foo[]bar<p>extra" queryCommandState("stylewithcss") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "foo[]bar<p>extra" queryCommandValue("stylewithcss") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "foo[]bar<p>extra" queryCommandIndeterm("defaultparagraphseparator") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "foo[]bar<p>extra" queryCommandState("defaultparagraphseparator") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "foo[]bar<p>extra" queryCommandValue("defaultparagraphseparator") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "foo[]bar<p>extra" queryCommandIndeterm("defaultparagraphseparator") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "foo[]bar<p>extra" queryCommandState("defaultparagraphseparator") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "foo[]bar<p>extra" queryCommandValue("defaultparagraphseparator") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "foo[]bar<p>extra" queryCommandIndeterm("justifycenter") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "foo[]bar<p>extra" queryCommandState("justifycenter") before 
+FAIL [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "foo[]bar<p>extra" queryCommandValue("justifycenter") before assert_equals: Wrong result returned expected "left" but got "false"
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "foo[]bar<p>extra" queryCommandIndeterm("justifycenter") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "foo[]bar<p>extra" queryCommandState("justifycenter") after 
+FAIL [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "foo[]bar<p>extra" queryCommandValue("justifycenter") after assert_equals: Wrong result returned expected "center" but got "true"
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "foo[]bar<p>extra": execCommand("stylewithcss", false, "true") return value 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "foo[]bar<p>extra": execCommand("defaultparagraphseparator", false, "p") return value 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "foo[]bar<p>extra": execCommand("justifycenter", false, "") return value 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "foo[]bar<p>extra" checks for modifications to non-editable content 
+FAIL [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "foo[]bar<p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<div style=\"text-align:center\">foobar</div><p>extra</p>" but got "<p style=\"text-align:center\">foobar</p><p>extra</p>"
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "foo[]bar<p>extra" queryCommandIndeterm("stylewithcss") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "foo[]bar<p>extra" queryCommandState("stylewithcss") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "foo[]bar<p>extra" queryCommandValue("stylewithcss") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "foo[]bar<p>extra" queryCommandIndeterm("stylewithcss") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "foo[]bar<p>extra" queryCommandState("stylewithcss") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "foo[]bar<p>extra" queryCommandValue("stylewithcss") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "foo[]bar<p>extra" queryCommandIndeterm("defaultparagraphseparator") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "foo[]bar<p>extra" queryCommandState("defaultparagraphseparator") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "foo[]bar<p>extra" queryCommandValue("defaultparagraphseparator") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "foo[]bar<p>extra" queryCommandIndeterm("defaultparagraphseparator") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "foo[]bar<p>extra" queryCommandState("defaultparagraphseparator") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "foo[]bar<p>extra" queryCommandValue("defaultparagraphseparator") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "foo[]bar<p>extra" queryCommandIndeterm("justifycenter") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "foo[]bar<p>extra" queryCommandState("justifycenter") before 
+FAIL [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "foo[]bar<p>extra" queryCommandValue("justifycenter") before assert_equals: Wrong result returned expected "left" but got "false"
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "foo[]bar<p>extra" queryCommandIndeterm("justifycenter") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "foo[]bar<p>extra" queryCommandState("justifycenter") after 
+FAIL [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "foo[]bar<p>extra" queryCommandValue("justifycenter") after assert_equals: Wrong result returned expected "center" but got "true"
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "foo[]bar<p>extra": execCommand("stylewithcss", false, "false") return value 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "foo[]bar<p>extra": execCommand("defaultparagraphseparator", false, "p") return value 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "foo[]bar<p>extra": execCommand("justifycenter", false, "") return value 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "foo[]bar<p>extra" checks for modifications to non-editable content 
+FAIL [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "foo[]bar<p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<div style=\"text-align:center\">foobar</div><p>extra</p>" but got "<p style=\"text-align:center\">foobar</p><p>extra</p>"
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "foo[]bar<p>extra" queryCommandIndeterm("stylewithcss") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "foo[]bar<p>extra" queryCommandState("stylewithcss") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "foo[]bar<p>extra" queryCommandValue("stylewithcss") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "foo[]bar<p>extra" queryCommandIndeterm("stylewithcss") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "foo[]bar<p>extra" queryCommandState("stylewithcss") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "foo[]bar<p>extra" queryCommandValue("stylewithcss") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "foo[]bar<p>extra" queryCommandIndeterm("defaultparagraphseparator") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "foo[]bar<p>extra" queryCommandState("defaultparagraphseparator") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "foo[]bar<p>extra" queryCommandValue("defaultparagraphseparator") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "foo[]bar<p>extra" queryCommandIndeterm("defaultparagraphseparator") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "foo[]bar<p>extra" queryCommandState("defaultparagraphseparator") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "foo[]bar<p>extra" queryCommandValue("defaultparagraphseparator") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "foo[]bar<p>extra" queryCommandIndeterm("justifycenter") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "foo[]bar<p>extra" queryCommandState("justifycenter") before 
+FAIL [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "foo[]bar<p>extra" queryCommandValue("justifycenter") before assert_equals: Wrong result returned expected "left" but got "false"
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "foo[]bar<p>extra" queryCommandIndeterm("justifycenter") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "foo[]bar<p>extra" queryCommandState("justifycenter") after 
+FAIL [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "foo[]bar<p>extra" queryCommandValue("justifycenter") after assert_equals: Wrong result returned expected "center" but got "true"
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<span>foo</span>{}<span>bar</span><p>extra": execCommand("stylewithcss", false, "true") return value 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<span>foo</span>{}<span>bar</span><p>extra": execCommand("defaultparagraphseparator", false, "div") return value 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<span>foo</span>{}<span>bar</span><p>extra": execCommand("justifycenter", false, "") return value 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<span>foo</span>{}<span>bar</span><p>extra" checks for modifications to non-editable content 
+FAIL [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<span>foo</span>{}<span>bar</span><p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<div style=\"text-align:center\"><span>foo</span><span>bar</span></div><p>extra</p>" but got "<div style=\"text-align:center\">foobar</div><p>extra</p>"
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<span>foo</span>{}<span>bar</span><p>extra" queryCommandIndeterm("stylewithcss") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<span>foo</span>{}<span>bar</span><p>extra" queryCommandState("stylewithcss") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<span>foo</span>{}<span>bar</span><p>extra" queryCommandValue("stylewithcss") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<span>foo</span>{}<span>bar</span><p>extra" queryCommandIndeterm("stylewithcss") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<span>foo</span>{}<span>bar</span><p>extra" queryCommandState("stylewithcss") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<span>foo</span>{}<span>bar</span><p>extra" queryCommandValue("stylewithcss") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<span>foo</span>{}<span>bar</span><p>extra" queryCommandIndeterm("defaultparagraphseparator") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<span>foo</span>{}<span>bar</span><p>extra" queryCommandState("defaultparagraphseparator") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<span>foo</span>{}<span>bar</span><p>extra" queryCommandValue("defaultparagraphseparator") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<span>foo</span>{}<span>bar</span><p>extra" queryCommandIndeterm("defaultparagraphseparator") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<span>foo</span>{}<span>bar</span><p>extra" queryCommandState("defaultparagraphseparator") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<span>foo</span>{}<span>bar</span><p>extra" queryCommandValue("defaultparagraphseparator") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<span>foo</span>{}<span>bar</span><p>extra" queryCommandIndeterm("justifycenter") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<span>foo</span>{}<span>bar</span><p>extra" queryCommandState("justifycenter") before 
+FAIL [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<span>foo</span>{}<span>bar</span><p>extra" queryCommandValue("justifycenter") before assert_equals: Wrong result returned expected "left" but got "false"
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<span>foo</span>{}<span>bar</span><p>extra" queryCommandIndeterm("justifycenter") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<span>foo</span>{}<span>bar</span><p>extra" queryCommandState("justifycenter") after 
+FAIL [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<span>foo</span>{}<span>bar</span><p>extra" queryCommandValue("justifycenter") after assert_equals: Wrong result returned expected "center" but got "true"
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<span>foo</span>{}<span>bar</span><p>extra": execCommand("stylewithcss", false, "false") return value 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<span>foo</span>{}<span>bar</span><p>extra": execCommand("defaultparagraphseparator", false, "div") return value 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<span>foo</span>{}<span>bar</span><p>extra": execCommand("justifycenter", false, "") return value 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<span>foo</span>{}<span>bar</span><p>extra" checks for modifications to non-editable content 
+FAIL [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<span>foo</span>{}<span>bar</span><p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<div style=\"text-align:center\"><span>foo</span><span>bar</span></div><p>extra</p>" but got "<div style=\"text-align:center\">foobar</div><p>extra</p>"
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<span>foo</span>{}<span>bar</span><p>extra" queryCommandIndeterm("stylewithcss") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<span>foo</span>{}<span>bar</span><p>extra" queryCommandState("stylewithcss") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<span>foo</span>{}<span>bar</span><p>extra" queryCommandValue("stylewithcss") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<span>foo</span>{}<span>bar</span><p>extra" queryCommandIndeterm("stylewithcss") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<span>foo</span>{}<span>bar</span><p>extra" queryCommandState("stylewithcss") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<span>foo</span>{}<span>bar</span><p>extra" queryCommandValue("stylewithcss") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<span>foo</span>{}<span>bar</span><p>extra" queryCommandIndeterm("defaultparagraphseparator") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<span>foo</span>{}<span>bar</span><p>extra" queryCommandState("defaultparagraphseparator") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<span>foo</span>{}<span>bar</span><p>extra" queryCommandValue("defaultparagraphseparator") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<span>foo</span>{}<span>bar</span><p>extra" queryCommandIndeterm("defaultparagraphseparator") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<span>foo</span>{}<span>bar</span><p>extra" queryCommandState("defaultparagraphseparator") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<span>foo</span>{}<span>bar</span><p>extra" queryCommandValue("defaultparagraphseparator") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<span>foo</span>{}<span>bar</span><p>extra" queryCommandIndeterm("justifycenter") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<span>foo</span>{}<span>bar</span><p>extra" queryCommandState("justifycenter") before 
+FAIL [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<span>foo</span>{}<span>bar</span><p>extra" queryCommandValue("justifycenter") before assert_equals: Wrong result returned expected "left" but got "false"
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<span>foo</span>{}<span>bar</span><p>extra" queryCommandIndeterm("justifycenter") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<span>foo</span>{}<span>bar</span><p>extra" queryCommandState("justifycenter") after 
+FAIL [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<span>foo</span>{}<span>bar</span><p>extra" queryCommandValue("justifycenter") after assert_equals: Wrong result returned expected "center" but got "true"
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<span>foo</span>{}<span>bar</span><p>extra": execCommand("stylewithcss", false, "true") return value 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<span>foo</span>{}<span>bar</span><p>extra": execCommand("defaultparagraphseparator", false, "p") return value 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<span>foo</span>{}<span>bar</span><p>extra": execCommand("justifycenter", false, "") return value 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<span>foo</span>{}<span>bar</span><p>extra" checks for modifications to non-editable content 
+FAIL [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<span>foo</span>{}<span>bar</span><p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<div style=\"text-align:center\"><span>foo</span><span>bar</span></div><p>extra</p>" but got "<p style=\"text-align:center\">foobar</p><p>extra</p>"
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<span>foo</span>{}<span>bar</span><p>extra" queryCommandIndeterm("stylewithcss") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<span>foo</span>{}<span>bar</span><p>extra" queryCommandState("stylewithcss") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<span>foo</span>{}<span>bar</span><p>extra" queryCommandValue("stylewithcss") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<span>foo</span>{}<span>bar</span><p>extra" queryCommandIndeterm("stylewithcss") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<span>foo</span>{}<span>bar</span><p>extra" queryCommandState("stylewithcss") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<span>foo</span>{}<span>bar</span><p>extra" queryCommandValue("stylewithcss") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<span>foo</span>{}<span>bar</span><p>extra" queryCommandIndeterm("defaultparagraphseparator") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<span>foo</span>{}<span>bar</span><p>extra" queryCommandState("defaultparagraphseparator") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<span>foo</span>{}<span>bar</span><p>extra" queryCommandValue("defaultparagraphseparator") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<span>foo</span>{}<span>bar</span><p>extra" queryCommandIndeterm("defaultparagraphseparator") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<span>foo</span>{}<span>bar</span><p>extra" queryCommandState("defaultparagraphseparator") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<span>foo</span>{}<span>bar</span><p>extra" queryCommandValue("defaultparagraphseparator") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<span>foo</span>{}<span>bar</span><p>extra" queryCommandIndeterm("justifycenter") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<span>foo</span>{}<span>bar</span><p>extra" queryCommandState("justifycenter") before 
+FAIL [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<span>foo</span>{}<span>bar</span><p>extra" queryCommandValue("justifycenter") before assert_equals: Wrong result returned expected "left" but got "false"
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<span>foo</span>{}<span>bar</span><p>extra" queryCommandIndeterm("justifycenter") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<span>foo</span>{}<span>bar</span><p>extra" queryCommandState("justifycenter") after 
+FAIL [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<span>foo</span>{}<span>bar</span><p>extra" queryCommandValue("justifycenter") after assert_equals: Wrong result returned expected "center" but got "true"
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<span>foo</span>{}<span>bar</span><p>extra": execCommand("stylewithcss", false, "false") return value 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<span>foo</span>{}<span>bar</span><p>extra": execCommand("defaultparagraphseparator", false, "p") return value 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<span>foo</span>{}<span>bar</span><p>extra": execCommand("justifycenter", false, "") return value 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<span>foo</span>{}<span>bar</span><p>extra" checks for modifications to non-editable content 
+FAIL [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<span>foo</span>{}<span>bar</span><p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<div style=\"text-align:center\"><span>foo</span><span>bar</span></div><p>extra</p>" but got "<p style=\"text-align:center\">foobar</p><p>extra</p>"
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<span>foo</span>{}<span>bar</span><p>extra" queryCommandIndeterm("stylewithcss") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<span>foo</span>{}<span>bar</span><p>extra" queryCommandState("stylewithcss") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<span>foo</span>{}<span>bar</span><p>extra" queryCommandValue("stylewithcss") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<span>foo</span>{}<span>bar</span><p>extra" queryCommandIndeterm("stylewithcss") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<span>foo</span>{}<span>bar</span><p>extra" queryCommandState("stylewithcss") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<span>foo</span>{}<span>bar</span><p>extra" queryCommandValue("stylewithcss") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<span>foo</span>{}<span>bar</span><p>extra" queryCommandIndeterm("defaultparagraphseparator") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<span>foo</span>{}<span>bar</span><p>extra" queryCommandState("defaultparagraphseparator") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<span>foo</span>{}<span>bar</span><p>extra" queryCommandValue("defaultparagraphseparator") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<span>foo</span>{}<span>bar</span><p>extra" queryCommandIndeterm("defaultparagraphseparator") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<span>foo</span>{}<span>bar</span><p>extra" queryCommandState("defaultparagraphseparator") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<span>foo</span>{}<span>bar</span><p>extra" queryCommandValue("defaultparagraphseparator") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<span>foo</span>{}<span>bar</span><p>extra" queryCommandIndeterm("justifycenter") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<span>foo</span>{}<span>bar</span><p>extra" queryCommandState("justifycenter") before 
+FAIL [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<span>foo</span>{}<span>bar</span><p>extra" queryCommandValue("justifycenter") before assert_equals: Wrong result returned expected "left" but got "false"
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<span>foo</span>{}<span>bar</span><p>extra" queryCommandIndeterm("justifycenter") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<span>foo</span>{}<span>bar</span><p>extra" queryCommandState("justifycenter") after 
+FAIL [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<span>foo</span>{}<span>bar</span><p>extra" queryCommandValue("justifycenter") after assert_equals: Wrong result returned expected "center" but got "true"
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<span>foo[</span><span>]bar</span><p>extra": execCommand("stylewithcss", false, "true") return value 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<span>foo[</span><span>]bar</span><p>extra": execCommand("defaultparagraphseparator", false, "div") return value 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<span>foo[</span><span>]bar</span><p>extra": execCommand("justifycenter", false, "") return value 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<span>foo[</span><span>]bar</span><p>extra" checks for modifications to non-editable content 
+FAIL [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<span>foo[</span><span>]bar</span><p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<div style=\"text-align:center\"><span>foo</span><span>bar</span></div><p>extra</p>" but got "<div style=\"text-align:center\">foobar</div><p>extra</p>"
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<span>foo[</span><span>]bar</span><p>extra" queryCommandIndeterm("stylewithcss") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<span>foo[</span><span>]bar</span><p>extra" queryCommandState("stylewithcss") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<span>foo[</span><span>]bar</span><p>extra" queryCommandValue("stylewithcss") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<span>foo[</span><span>]bar</span><p>extra" queryCommandIndeterm("stylewithcss") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<span>foo[</span><span>]bar</span><p>extra" queryCommandState("stylewithcss") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<span>foo[</span><span>]bar</span><p>extra" queryCommandValue("stylewithcss") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<span>foo[</span><span>]bar</span><p>extra" queryCommandIndeterm("defaultparagraphseparator") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<span>foo[</span><span>]bar</span><p>extra" queryCommandState("defaultparagraphseparator") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<span>foo[</span><span>]bar</span><p>extra" queryCommandValue("defaultparagraphseparator") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<span>foo[</span><span>]bar</span><p>extra" queryCommandIndeterm("defaultparagraphseparator") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<span>foo[</span><span>]bar</span><p>extra" queryCommandState("defaultparagraphseparator") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<span>foo[</span><span>]bar</span><p>extra" queryCommandValue("defaultparagraphseparator") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<span>foo[</span><span>]bar</span><p>extra" queryCommandIndeterm("justifycenter") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<span>foo[</span><span>]bar</span><p>extra" queryCommandState("justifycenter") before 
+FAIL [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<span>foo[</span><span>]bar</span><p>extra" queryCommandValue("justifycenter") before assert_equals: Wrong result returned expected "left" but got "false"
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<span>foo[</span><span>]bar</span><p>extra" queryCommandIndeterm("justifycenter") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<span>foo[</span><span>]bar</span><p>extra" queryCommandState("justifycenter") after 
+FAIL [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<span>foo[</span><span>]bar</span><p>extra" queryCommandValue("justifycenter") after assert_equals: Wrong result returned expected "center" but got "true"
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<span>foo[</span><span>]bar</span><p>extra": execCommand("stylewithcss", false, "false") return value 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<span>foo[</span><span>]bar</span><p>extra": execCommand("defaultparagraphseparator", false, "div") return value 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<span>foo[</span><span>]bar</span><p>extra": execCommand("justifycenter", false, "") return value 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<span>foo[</span><span>]bar</span><p>extra" checks for modifications to non-editable content 
+FAIL [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<span>foo[</span><span>]bar</span><p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<div style=\"text-align:center\"><span>foo</span><span>bar</span></div><p>extra</p>" but got "<div style=\"text-align:center\">foobar</div><p>extra</p>"
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<span>foo[</span><span>]bar</span><p>extra" queryCommandIndeterm("stylewithcss") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<span>foo[</span><span>]bar</span><p>extra" queryCommandState("stylewithcss") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<span>foo[</span><span>]bar</span><p>extra" queryCommandValue("stylewithcss") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<span>foo[</span><span>]bar</span><p>extra" queryCommandIndeterm("stylewithcss") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<span>foo[</span><span>]bar</span><p>extra" queryCommandState("stylewithcss") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<span>foo[</span><span>]bar</span><p>extra" queryCommandValue("stylewithcss") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<span>foo[</span><span>]bar</span><p>extra" queryCommandIndeterm("defaultparagraphseparator") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<span>foo[</span><span>]bar</span><p>extra" queryCommandState("defaultparagraphseparator") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<span>foo[</span><span>]bar</span><p>extra" queryCommandValue("defaultparagraphseparator") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<span>foo[</span><span>]bar</span><p>extra" queryCommandIndeterm("defaultparagraphseparator") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<span>foo[</span><span>]bar</span><p>extra" queryCommandState("defaultparagraphseparator") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<span>foo[</span><span>]bar</span><p>extra" queryCommandValue("defaultparagraphseparator") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<span>foo[</span><span>]bar</span><p>extra" queryCommandIndeterm("justifycenter") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<span>foo[</span><span>]bar</span><p>extra" queryCommandState("justifycenter") before 
+FAIL [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<span>foo[</span><span>]bar</span><p>extra" queryCommandValue("justifycenter") before assert_equals: Wrong result returned expected "left" but got "false"
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<span>foo[</span><span>]bar</span><p>extra" queryCommandIndeterm("justifycenter") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<span>foo[</span><span>]bar</span><p>extra" queryCommandState("justifycenter") after 
+FAIL [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<span>foo[</span><span>]bar</span><p>extra" queryCommandValue("justifycenter") after assert_equals: Wrong result returned expected "center" but got "true"
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<span>foo[</span><span>]bar</span><p>extra": execCommand("stylewithcss", false, "true") return value 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<span>foo[</span><span>]bar</span><p>extra": execCommand("defaultparagraphseparator", false, "p") return value 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<span>foo[</span><span>]bar</span><p>extra": execCommand("justifycenter", false, "") return value 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<span>foo[</span><span>]bar</span><p>extra" checks for modifications to non-editable content 
+FAIL [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<span>foo[</span><span>]bar</span><p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<div style=\"text-align:center\"><span>foo</span><span>bar</span></div><p>extra</p>" but got "<p style=\"text-align:center\">foobar</p><p>extra</p>"
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<span>foo[</span><span>]bar</span><p>extra" queryCommandIndeterm("stylewithcss") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<span>foo[</span><span>]bar</span><p>extra" queryCommandState("stylewithcss") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<span>foo[</span><span>]bar</span><p>extra" queryCommandValue("stylewithcss") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<span>foo[</span><span>]bar</span><p>extra" queryCommandIndeterm("stylewithcss") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<span>foo[</span><span>]bar</span><p>extra" queryCommandState("stylewithcss") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<span>foo[</span><span>]bar</span><p>extra" queryCommandValue("stylewithcss") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<span>foo[</span><span>]bar</span><p>extra" queryCommandIndeterm("defaultparagraphseparator") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<span>foo[</span><span>]bar</span><p>extra" queryCommandState("defaultparagraphseparator") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<span>foo[</span><span>]bar</span><p>extra" queryCommandValue("defaultparagraphseparator") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<span>foo[</span><span>]bar</span><p>extra" queryCommandIndeterm("defaultparagraphseparator") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<span>foo[</span><span>]bar</span><p>extra" queryCommandState("defaultparagraphseparator") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<span>foo[</span><span>]bar</span><p>extra" queryCommandValue("defaultparagraphseparator") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<span>foo[</span><span>]bar</span><p>extra" queryCommandIndeterm("justifycenter") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<span>foo[</span><span>]bar</span><p>extra" queryCommandState("justifycenter") before 
+FAIL [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<span>foo[</span><span>]bar</span><p>extra" queryCommandValue("justifycenter") before assert_equals: Wrong result returned expected "left" but got "false"
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<span>foo[</span><span>]bar</span><p>extra" queryCommandIndeterm("justifycenter") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<span>foo[</span><span>]bar</span><p>extra" queryCommandState("justifycenter") after 
+FAIL [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<span>foo[</span><span>]bar</span><p>extra" queryCommandValue("justifycenter") after assert_equals: Wrong result returned expected "center" but got "true"
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<span>foo[</span><span>]bar</span><p>extra": execCommand("stylewithcss", false, "false") return value 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<span>foo[</span><span>]bar</span><p>extra": execCommand("defaultparagraphseparator", false, "p") return value 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<span>foo[</span><span>]bar</span><p>extra": execCommand("justifycenter", false, "") return value 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<span>foo[</span><span>]bar</span><p>extra" checks for modifications to non-editable content 
+FAIL [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<span>foo[</span><span>]bar</span><p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<div style=\"text-align:center\"><span>foo</span><span>bar</span></div><p>extra</p>" but got "<p style=\"text-align:center\">foobar</p><p>extra</p>"
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<span>foo[</span><span>]bar</span><p>extra" queryCommandIndeterm("stylewithcss") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<span>foo[</span><span>]bar</span><p>extra" queryCommandState("stylewithcss") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<span>foo[</span><span>]bar</span><p>extra" queryCommandValue("stylewithcss") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<span>foo[</span><span>]bar</span><p>extra" queryCommandIndeterm("stylewithcss") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<span>foo[</span><span>]bar</span><p>extra" queryCommandState("stylewithcss") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<span>foo[</span><span>]bar</span><p>extra" queryCommandValue("stylewithcss") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<span>foo[</span><span>]bar</span><p>extra" queryCommandIndeterm("defaultparagraphseparator") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<span>foo[</span><span>]bar</span><p>extra" queryCommandState("defaultparagraphseparator") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<span>foo[</span><span>]bar</span><p>extra" queryCommandValue("defaultparagraphseparator") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<span>foo[</span><span>]bar</span><p>extra" queryCommandIndeterm("defaultparagraphseparator") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<span>foo[</span><span>]bar</span><p>extra" queryCommandState("defaultparagraphseparator") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<span>foo[</span><span>]bar</span><p>extra" queryCommandValue("defaultparagraphseparator") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<span>foo[</span><span>]bar</span><p>extra" queryCommandIndeterm("justifycenter") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<span>foo[</span><span>]bar</span><p>extra" queryCommandState("justifycenter") before 
+FAIL [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<span>foo[</span><span>]bar</span><p>extra" queryCommandValue("justifycenter") before assert_equals: Wrong result returned expected "left" but got "false"
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<span>foo[</span><span>]bar</span><p>extra" queryCommandIndeterm("justifycenter") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<span>foo[</span><span>]bar</span><p>extra" queryCommandState("justifycenter") after 
+FAIL [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<span>foo[</span><span>]bar</span><p>extra" queryCommandValue("justifycenter") after assert_equals: Wrong result returned expected "center" but got "true"
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "foo[bar]baz<p>extra": execCommand("stylewithcss", false, "true") return value 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "foo[bar]baz<p>extra": execCommand("defaultparagraphseparator", false, "div") return value 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "foo[bar]baz<p>extra": execCommand("justifycenter", false, "") return value 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "foo[bar]baz<p>extra" checks for modifications to non-editable content 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "foo[bar]baz<p>extra" compare innerHTML 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "foo[bar]baz<p>extra" queryCommandIndeterm("stylewithcss") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "foo[bar]baz<p>extra" queryCommandState("stylewithcss") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "foo[bar]baz<p>extra" queryCommandValue("stylewithcss") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "foo[bar]baz<p>extra" queryCommandIndeterm("stylewithcss") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "foo[bar]baz<p>extra" queryCommandState("stylewithcss") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "foo[bar]baz<p>extra" queryCommandValue("stylewithcss") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "foo[bar]baz<p>extra" queryCommandIndeterm("defaultparagraphseparator") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "foo[bar]baz<p>extra" queryCommandState("defaultparagraphseparator") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "foo[bar]baz<p>extra" queryCommandValue("defaultparagraphseparator") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "foo[bar]baz<p>extra" queryCommandIndeterm("defaultparagraphseparator") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "foo[bar]baz<p>extra" queryCommandState("defaultparagraphseparator") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "foo[bar]baz<p>extra" queryCommandValue("defaultparagraphseparator") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "foo[bar]baz<p>extra" queryCommandIndeterm("justifycenter") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "foo[bar]baz<p>extra" queryCommandState("justifycenter") before 
+FAIL [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "foo[bar]baz<p>extra" queryCommandValue("justifycenter") before assert_equals: Wrong result returned expected "left" but got "false"
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "foo[bar]baz<p>extra" queryCommandIndeterm("justifycenter") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "foo[bar]baz<p>extra" queryCommandState("justifycenter") after 
+FAIL [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "foo[bar]baz<p>extra" queryCommandValue("justifycenter") after assert_equals: Wrong result returned expected "center" but got "true"
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "foo[bar]baz<p>extra": execCommand("stylewithcss", false, "false") return value 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "foo[bar]baz<p>extra": execCommand("defaultparagraphseparator", false, "div") return value 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "foo[bar]baz<p>extra": execCommand("justifycenter", false, "") return value 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "foo[bar]baz<p>extra" checks for modifications to non-editable content 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "foo[bar]baz<p>extra" compare innerHTML 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "foo[bar]baz<p>extra" queryCommandIndeterm("stylewithcss") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "foo[bar]baz<p>extra" queryCommandState("stylewithcss") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "foo[bar]baz<p>extra" queryCommandValue("stylewithcss") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "foo[bar]baz<p>extra" queryCommandIndeterm("stylewithcss") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "foo[bar]baz<p>extra" queryCommandState("stylewithcss") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "foo[bar]baz<p>extra" queryCommandValue("stylewithcss") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "foo[bar]baz<p>extra" queryCommandIndeterm("defaultparagraphseparator") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "foo[bar]baz<p>extra" queryCommandState("defaultparagraphseparator") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "foo[bar]baz<p>extra" queryCommandValue("defaultparagraphseparator") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "foo[bar]baz<p>extra" queryCommandIndeterm("defaultparagraphseparator") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "foo[bar]baz<p>extra" queryCommandState("defaultparagraphseparator") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "foo[bar]baz<p>extra" queryCommandValue("defaultparagraphseparator") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "foo[bar]baz<p>extra" queryCommandIndeterm("justifycenter") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "foo[bar]baz<p>extra" queryCommandState("justifycenter") before 
+FAIL [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "foo[bar]baz<p>extra" queryCommandValue("justifycenter") before assert_equals: Wrong result returned expected "left" but got "false"
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "foo[bar]baz<p>extra" queryCommandIndeterm("justifycenter") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "foo[bar]baz<p>extra" queryCommandState("justifycenter") after 
+FAIL [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "foo[bar]baz<p>extra" queryCommandValue("justifycenter") after assert_equals: Wrong result returned expected "center" but got "true"
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "foo[bar]baz<p>extra": execCommand("stylewithcss", false, "true") return value 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "foo[bar]baz<p>extra": execCommand("defaultparagraphseparator", false, "p") return value 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "foo[bar]baz<p>extra": execCommand("justifycenter", false, "") return value 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "foo[bar]baz<p>extra" checks for modifications to non-editable content 
+FAIL [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "foo[bar]baz<p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<div style=\"text-align:center\">foobarbaz</div><p>extra</p>" but got "<p style=\"text-align:center\">foobarbaz</p><p>extra</p>"
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "foo[bar]baz<p>extra" queryCommandIndeterm("stylewithcss") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "foo[bar]baz<p>extra" queryCommandState("stylewithcss") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "foo[bar]baz<p>extra" queryCommandValue("stylewithcss") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "foo[bar]baz<p>extra" queryCommandIndeterm("stylewithcss") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "foo[bar]baz<p>extra" queryCommandState("stylewithcss") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "foo[bar]baz<p>extra" queryCommandValue("stylewithcss") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "foo[bar]baz<p>extra" queryCommandIndeterm("defaultparagraphseparator") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "foo[bar]baz<p>extra" queryCommandState("defaultparagraphseparator") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "foo[bar]baz<p>extra" queryCommandValue("defaultparagraphseparator") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "foo[bar]baz<p>extra" queryCommandIndeterm("defaultparagraphseparator") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "foo[bar]baz<p>extra" queryCommandState("defaultparagraphseparator") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "foo[bar]baz<p>extra" queryCommandValue("defaultparagraphseparator") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "foo[bar]baz<p>extra" queryCommandIndeterm("justifycenter") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "foo[bar]baz<p>extra" queryCommandState("justifycenter") before 
+FAIL [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "foo[bar]baz<p>extra" queryCommandValue("justifycenter") before assert_equals: Wrong result returned expected "left" but got "false"
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "foo[bar]baz<p>extra" queryCommandIndeterm("justifycenter") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "foo[bar]baz<p>extra" queryCommandState("justifycenter") after 
+FAIL [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "foo[bar]baz<p>extra" queryCommandValue("justifycenter") after assert_equals: Wrong result returned expected "center" but got "true"
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "foo[bar]baz<p>extra": execCommand("stylewithcss", false, "false") return value 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "foo[bar]baz<p>extra": execCommand("defaultparagraphseparator", false, "p") return value 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "foo[bar]baz<p>extra": execCommand("justifycenter", false, "") return value 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "foo[bar]baz<p>extra" checks for modifications to non-editable content 
+FAIL [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "foo[bar]baz<p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<div style=\"text-align:center\">foobarbaz</div><p>extra</p>" but got "<p style=\"text-align:center\">foobarbaz</p><p>extra</p>"
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "foo[bar]baz<p>extra" queryCommandIndeterm("stylewithcss") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "foo[bar]baz<p>extra" queryCommandState("stylewithcss") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "foo[bar]baz<p>extra" queryCommandValue("stylewithcss") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "foo[bar]baz<p>extra" queryCommandIndeterm("stylewithcss") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "foo[bar]baz<p>extra" queryCommandState("stylewithcss") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "foo[bar]baz<p>extra" queryCommandValue("stylewithcss") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "foo[bar]baz<p>extra" queryCommandIndeterm("defaultparagraphseparator") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "foo[bar]baz<p>extra" queryCommandState("defaultparagraphseparator") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "foo[bar]baz<p>extra" queryCommandValue("defaultparagraphseparator") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "foo[bar]baz<p>extra" queryCommandIndeterm("defaultparagraphseparator") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "foo[bar]baz<p>extra" queryCommandState("defaultparagraphseparator") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "foo[bar]baz<p>extra" queryCommandValue("defaultparagraphseparator") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "foo[bar]baz<p>extra" queryCommandIndeterm("justifycenter") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "foo[bar]baz<p>extra" queryCommandState("justifycenter") before 
+FAIL [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "foo[bar]baz<p>extra" queryCommandValue("justifycenter") before assert_equals: Wrong result returned expected "left" but got "false"
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "foo[bar]baz<p>extra" queryCommandIndeterm("justifycenter") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "foo[bar]baz<p>extra" queryCommandState("justifycenter") after 
+FAIL [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "foo[bar]baz<p>extra" queryCommandValue("justifycenter") after assert_equals: Wrong result returned expected "center" but got "true"
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "foo[bar<b>baz]qoz</b>quz<p>extra": execCommand("stylewithcss", false, "true") return value 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "foo[bar<b>baz]qoz</b>quz<p>extra": execCommand("defaultparagraphseparator", false, "div") return value 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "foo[bar<b>baz]qoz</b>quz<p>extra": execCommand("justifycenter", false, "") return value 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "foo[bar<b>baz]qoz</b>quz<p>extra" checks for modifications to non-editable content 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "foo[bar<b>baz]qoz</b>quz<p>extra" compare innerHTML 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "foo[bar<b>baz]qoz</b>quz<p>extra" queryCommandIndeterm("stylewithcss") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "foo[bar<b>baz]qoz</b>quz<p>extra" queryCommandState("stylewithcss") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "foo[bar<b>baz]qoz</b>quz<p>extra" queryCommandValue("stylewithcss") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "foo[bar<b>baz]qoz</b>quz<p>extra" queryCommandIndeterm("stylewithcss") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "foo[bar<b>baz]qoz</b>quz<p>extra" queryCommandState("stylewithcss") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "foo[bar<b>baz]qoz</b>quz<p>extra" queryCommandValue("stylewithcss") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "foo[bar<b>baz]qoz</b>quz<p>extra" queryCommandIndeterm("defaultparagraphseparator") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "foo[bar<b>baz]qoz</b>quz<p>extra" queryCommandState("defaultparagraphseparator") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "foo[bar<b>baz]qoz</b>quz<p>extra" queryCommandValue("defaultparagraphseparator") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "foo[bar<b>baz]qoz</b>quz<p>extra" queryCommandIndeterm("defaultparagraphseparator") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "foo[bar<b>baz]qoz</b>quz<p>extra" queryCommandState("defaultparagraphseparator") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "foo[bar<b>baz]qoz</b>quz<p>extra" queryCommandValue("defaultparagraphseparator") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "foo[bar<b>baz]qoz</b>quz<p>extra" queryCommandIndeterm("justifycenter") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "foo[bar<b>baz]qoz</b>quz<p>extra" queryCommandState("justifycenter") before 
+FAIL [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "foo[bar<b>baz]qoz</b>quz<p>extra" queryCommandValue("justifycenter") before assert_equals: Wrong result returned expected "left" but got "false"
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "foo[bar<b>baz]qoz</b>quz<p>extra" queryCommandIndeterm("justifycenter") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "foo[bar<b>baz]qoz</b>quz<p>extra" queryCommandState("justifycenter") after 
+FAIL [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "foo[bar<b>baz]qoz</b>quz<p>extra" queryCommandValue("justifycenter") after assert_equals: Wrong result returned expected "center" but got "true"
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "foo[bar<b>baz]qoz</b>quz<p>extra": execCommand("stylewithcss", false, "false") return value 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "foo[bar<b>baz]qoz</b>quz<p>extra": execCommand("defaultparagraphseparator", false, "div") return value 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "foo[bar<b>baz]qoz</b>quz<p>extra": execCommand("justifycenter", false, "") return value 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "foo[bar<b>baz]qoz</b>quz<p>extra" checks for modifications to non-editable content 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "foo[bar<b>baz]qoz</b>quz<p>extra" compare innerHTML 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "foo[bar<b>baz]qoz</b>quz<p>extra" queryCommandIndeterm("stylewithcss") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "foo[bar<b>baz]qoz</b>quz<p>extra" queryCommandState("stylewithcss") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "foo[bar<b>baz]qoz</b>quz<p>extra" queryCommandValue("stylewithcss") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "foo[bar<b>baz]qoz</b>quz<p>extra" queryCommandIndeterm("stylewithcss") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "foo[bar<b>baz]qoz</b>quz<p>extra" queryCommandState("stylewithcss") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "foo[bar<b>baz]qoz</b>quz<p>extra" queryCommandValue("stylewithcss") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "foo[bar<b>baz]qoz</b>quz<p>extra" queryCommandIndeterm("defaultparagraphseparator") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "foo[bar<b>baz]qoz</b>quz<p>extra" queryCommandState("defaultparagraphseparator") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "foo[bar<b>baz]qoz</b>quz<p>extra" queryCommandValue("defaultparagraphseparator") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "foo[bar<b>baz]qoz</b>quz<p>extra" queryCommandIndeterm("defaultparagraphseparator") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "foo[bar<b>baz]qoz</b>quz<p>extra" queryCommandState("defaultparagraphseparator") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "foo[bar<b>baz]qoz</b>quz<p>extra" queryCommandValue("defaultparagraphseparator") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "foo[bar<b>baz]qoz</b>quz<p>extra" queryCommandIndeterm("justifycenter") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "foo[bar<b>baz]qoz</b>quz<p>extra" queryCommandState("justifycenter") before 
+FAIL [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "foo[bar<b>baz]qoz</b>quz<p>extra" queryCommandValue("justifycenter") before assert_equals: Wrong result returned expected "left" but got "false"
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "foo[bar<b>baz]qoz</b>quz<p>extra" queryCommandIndeterm("justifycenter") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "foo[bar<b>baz]qoz</b>quz<p>extra" queryCommandState("justifycenter") after 
+FAIL [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "foo[bar<b>baz]qoz</b>quz<p>extra" queryCommandValue("justifycenter") after assert_equals: Wrong result returned expected "center" but got "true"
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "foo[bar<b>baz]qoz</b>quz<p>extra": execCommand("stylewithcss", false, "true") return value 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "foo[bar<b>baz]qoz</b>quz<p>extra": execCommand("defaultparagraphseparator", false, "p") return value 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "foo[bar<b>baz]qoz</b>quz<p>extra": execCommand("justifycenter", false, "") return value 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "foo[bar<b>baz]qoz</b>quz<p>extra" checks for modifications to non-editable content 
+FAIL [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "foo[bar<b>baz]qoz</b>quz<p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<div style=\"text-align:center\">foobar<b>bazqoz</b>quz</div><p>extra</p>" but got "<p style=\"text-align:center\">foobar<b>bazqoz</b>quz</p><p>extra</p>"
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "foo[bar<b>baz]qoz</b>quz<p>extra" queryCommandIndeterm("stylewithcss") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "foo[bar<b>baz]qoz</b>quz<p>extra" queryCommandState("stylewithcss") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "foo[bar<b>baz]qoz</b>quz<p>extra" queryCommandValue("stylewithcss") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "foo[bar<b>baz]qoz</b>quz<p>extra" queryCommandIndeterm("stylewithcss") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "foo[bar<b>baz]qoz</b>quz<p>extra" queryCommandState("stylewithcss") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "foo[bar<b>baz]qoz</b>quz<p>extra" queryCommandValue("stylewithcss") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "foo[bar<b>baz]qoz</b>quz<p>extra" queryCommandIndeterm("defaultparagraphseparator") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "foo[bar<b>baz]qoz</b>quz<p>extra" queryCommandState("defaultparagraphseparator") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "foo[bar<b>baz]qoz</b>quz<p>extra" queryCommandValue("defaultparagraphseparator") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "foo[bar<b>baz]qoz</b>quz<p>extra" queryCommandIndeterm("defaultparagraphseparator") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "foo[bar<b>baz]qoz</b>quz<p>extra" queryCommandState("defaultparagraphseparator") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "foo[bar<b>baz]qoz</b>quz<p>extra" queryCommandValue("defaultparagraphseparator") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "foo[bar<b>baz]qoz</b>quz<p>extra" queryCommandIndeterm("justifycenter") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "foo[bar<b>baz]qoz</b>quz<p>extra" queryCommandState("justifycenter") before 
+FAIL [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "foo[bar<b>baz]qoz</b>quz<p>extra" queryCommandValue("justifycenter") before assert_equals: Wrong result returned expected "left" but got "false"
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "foo[bar<b>baz]qoz</b>quz<p>extra" queryCommandIndeterm("justifycenter") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "foo[bar<b>baz]qoz</b>quz<p>extra" queryCommandState("justifycenter") after 
+FAIL [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "foo[bar<b>baz]qoz</b>quz<p>extra" queryCommandValue("justifycenter") after assert_equals: Wrong result returned expected "center" but got "true"
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "foo[bar<b>baz]qoz</b>quz<p>extra": execCommand("stylewithcss", false, "false") return value 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "foo[bar<b>baz]qoz</b>quz<p>extra": execCommand("defaultparagraphseparator", false, "p") return value 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "foo[bar<b>baz]qoz</b>quz<p>extra": execCommand("justifycenter", false, "") return value 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "foo[bar<b>baz]qoz</b>quz<p>extra" checks for modifications to non-editable content 
+FAIL [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "foo[bar<b>baz]qoz</b>quz<p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<div style=\"text-align:center\">foobar<b>bazqoz</b>quz</div><p>extra</p>" but got "<p style=\"text-align:center\">foobar<b>bazqoz</b>quz</p><p>extra</p>"
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "foo[bar<b>baz]qoz</b>quz<p>extra" queryCommandIndeterm("stylewithcss") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "foo[bar<b>baz]qoz</b>quz<p>extra" queryCommandState("stylewithcss") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "foo[bar<b>baz]qoz</b>quz<p>extra" queryCommandValue("stylewithcss") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "foo[bar<b>baz]qoz</b>quz<p>extra" queryCommandIndeterm("stylewithcss") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "foo[bar<b>baz]qoz</b>quz<p>extra" queryCommandState("stylewithcss") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "foo[bar<b>baz]qoz</b>quz<p>extra" queryCommandValue("stylewithcss") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "foo[bar<b>baz]qoz</b>quz<p>extra" queryCommandIndeterm("defaultparagraphseparator") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "foo[bar<b>baz]qoz</b>quz<p>extra" queryCommandState("defaultparagraphseparator") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "foo[bar<b>baz]qoz</b>quz<p>extra" queryCommandValue("defaultparagraphseparator") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "foo[bar<b>baz]qoz</b>quz<p>extra" queryCommandIndeterm("defaultparagraphseparator") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "foo[bar<b>baz]qoz</b>quz<p>extra" queryCommandState("defaultparagraphseparator") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "foo[bar<b>baz]qoz</b>quz<p>extra" queryCommandValue("defaultparagraphseparator") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "foo[bar<b>baz]qoz</b>quz<p>extra" queryCommandIndeterm("justifycenter") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "foo[bar<b>baz]qoz</b>quz<p>extra" queryCommandState("justifycenter") before 
+FAIL [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "foo[bar<b>baz]qoz</b>quz<p>extra" queryCommandValue("justifycenter") before assert_equals: Wrong result returned expected "left" but got "false"
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "foo[bar<b>baz]qoz</b>quz<p>extra" queryCommandIndeterm("justifycenter") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "foo[bar<b>baz]qoz</b>quz<p>extra" queryCommandState("justifycenter") after 
+FAIL [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "foo[bar<b>baz]qoz</b>quz<p>extra" queryCommandValue("justifycenter") after assert_equals: Wrong result returned expected "center" but got "true"
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<p>foo[]bar<p>extra": execCommand("stylewithcss", false, "true") return value 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<p>foo[]bar<p>extra": execCommand("defaultparagraphseparator", false, "div") return value 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<p>foo[]bar<p>extra": execCommand("justifycenter", false, "") return value 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<p>foo[]bar<p>extra" checks for modifications to non-editable content 
+FAIL [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<p>foo[]bar<p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<div style=\"text-align:center\"><p>foobar</p></div><p>extra</p>" but got "<p style=\"text-align:center\">foobar</p><p>extra</p>"
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<p>foo[]bar<p>extra" queryCommandIndeterm("stylewithcss") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<p>foo[]bar<p>extra" queryCommandState("stylewithcss") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<p>foo[]bar<p>extra" queryCommandValue("stylewithcss") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<p>foo[]bar<p>extra" queryCommandIndeterm("stylewithcss") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<p>foo[]bar<p>extra" queryCommandState("stylewithcss") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<p>foo[]bar<p>extra" queryCommandValue("stylewithcss") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<p>foo[]bar<p>extra" queryCommandIndeterm("defaultparagraphseparator") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<p>foo[]bar<p>extra" queryCommandState("defaultparagraphseparator") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<p>foo[]bar<p>extra" queryCommandValue("defaultparagraphseparator") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<p>foo[]bar<p>extra" queryCommandIndeterm("defaultparagraphseparator") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<p>foo[]bar<p>extra" queryCommandState("defaultparagraphseparator") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<p>foo[]bar<p>extra" queryCommandValue("defaultparagraphseparator") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<p>foo[]bar<p>extra" queryCommandIndeterm("justifycenter") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<p>foo[]bar<p>extra" queryCommandState("justifycenter") before 
+FAIL [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<p>foo[]bar<p>extra" queryCommandValue("justifycenter") before assert_equals: Wrong result returned expected "left" but got "false"
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<p>foo[]bar<p>extra" queryCommandIndeterm("justifycenter") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<p>foo[]bar<p>extra" queryCommandState("justifycenter") after 
+FAIL [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<p>foo[]bar<p>extra" queryCommandValue("justifycenter") after assert_equals: Wrong result returned expected "center" but got "true"
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<p>foo[]bar<p>extra": execCommand("stylewithcss", false, "false") return value 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<p>foo[]bar<p>extra": execCommand("defaultparagraphseparator", false, "div") return value 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<p>foo[]bar<p>extra": execCommand("justifycenter", false, "") return value 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<p>foo[]bar<p>extra" checks for modifications to non-editable content 
+FAIL [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<p>foo[]bar<p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<div style=\"text-align:center\"><p>foobar</p></div><p>extra</p>" but got "<p style=\"text-align:center\">foobar</p><p>extra</p>"
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<p>foo[]bar<p>extra" queryCommandIndeterm("stylewithcss") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<p>foo[]bar<p>extra" queryCommandState("stylewithcss") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<p>foo[]bar<p>extra" queryCommandValue("stylewithcss") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<p>foo[]bar<p>extra" queryCommandIndeterm("stylewithcss") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<p>foo[]bar<p>extra" queryCommandState("stylewithcss") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<p>foo[]bar<p>extra" queryCommandValue("stylewithcss") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<p>foo[]bar<p>extra" queryCommandIndeterm("defaultparagraphseparator") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<p>foo[]bar<p>extra" queryCommandState("defaultparagraphseparator") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<p>foo[]bar<p>extra" queryCommandValue("defaultparagraphseparator") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<p>foo[]bar<p>extra" queryCommandIndeterm("defaultparagraphseparator") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<p>foo[]bar<p>extra" queryCommandState("defaultparagraphseparator") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<p>foo[]bar<p>extra" queryCommandValue("defaultparagraphseparator") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<p>foo[]bar<p>extra" queryCommandIndeterm("justifycenter") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<p>foo[]bar<p>extra" queryCommandState("justifycenter") before 
+FAIL [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<p>foo[]bar<p>extra" queryCommandValue("justifycenter") before assert_equals: Wrong result returned expected "left" but got "false"
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<p>foo[]bar<p>extra" queryCommandIndeterm("justifycenter") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<p>foo[]bar<p>extra" queryCommandState("justifycenter") after 
+FAIL [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<p>foo[]bar<p>extra" queryCommandValue("justifycenter") after assert_equals: Wrong result returned expected "center" but got "true"
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<p>foo[]bar<p>extra": execCommand("stylewithcss", false, "true") return value 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<p>foo[]bar<p>extra": execCommand("defaultparagraphseparator", false, "p") return value 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<p>foo[]bar<p>extra": execCommand("justifycenter", false, "") return value 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<p>foo[]bar<p>extra" checks for modifications to non-editable content 
+FAIL [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<p>foo[]bar<p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<div style=\"text-align:center\"><p>foobar</p></div><p>extra</p>" but got "<p style=\"text-align:center\">foobar</p><p>extra</p>"
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<p>foo[]bar<p>extra" queryCommandIndeterm("stylewithcss") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<p>foo[]bar<p>extra" queryCommandState("stylewithcss") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<p>foo[]bar<p>extra" queryCommandValue("stylewithcss") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<p>foo[]bar<p>extra" queryCommandIndeterm("stylewithcss") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<p>foo[]bar<p>extra" queryCommandState("stylewithcss") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<p>foo[]bar<p>extra" queryCommandValue("stylewithcss") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<p>foo[]bar<p>extra" queryCommandIndeterm("defaultparagraphseparator") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<p>foo[]bar<p>extra" queryCommandState("defaultparagraphseparator") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<p>foo[]bar<p>extra" queryCommandValue("defaultparagraphseparator") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<p>foo[]bar<p>extra" queryCommandIndeterm("defaultparagraphseparator") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<p>foo[]bar<p>extra" queryCommandState("defaultparagraphseparator") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<p>foo[]bar<p>extra" queryCommandValue("defaultparagraphseparator") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<p>foo[]bar<p>extra" queryCommandIndeterm("justifycenter") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<p>foo[]bar<p>extra" queryCommandState("justifycenter") before 
+FAIL [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<p>foo[]bar<p>extra" queryCommandValue("justifycenter") before assert_equals: Wrong result returned expected "left" but got "false"
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<p>foo[]bar<p>extra" queryCommandIndeterm("justifycenter") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<p>foo[]bar<p>extra" queryCommandState("justifycenter") after 
+FAIL [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<p>foo[]bar<p>extra" queryCommandValue("justifycenter") after assert_equals: Wrong result returned expected "center" but got "true"
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<p>foo[]bar<p>extra": execCommand("stylewithcss", false, "false") return value 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<p>foo[]bar<p>extra": execCommand("defaultparagraphseparator", false, "p") return value 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<p>foo[]bar<p>extra": execCommand("justifycenter", false, "") return value 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<p>foo[]bar<p>extra" checks for modifications to non-editable content 
+FAIL [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<p>foo[]bar<p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<div style=\"text-align:center\"><p>foobar</p></div><p>extra</p>" but got "<p style=\"text-align:center\">foobar</p><p>extra</p>"
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<p>foo[]bar<p>extra" queryCommandIndeterm("stylewithcss") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<p>foo[]bar<p>extra" queryCommandState("stylewithcss") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<p>foo[]bar<p>extra" queryCommandValue("stylewithcss") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<p>foo[]bar<p>extra" queryCommandIndeterm("stylewithcss") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<p>foo[]bar<p>extra" queryCommandState("stylewithcss") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<p>foo[]bar<p>extra" queryCommandValue("stylewithcss") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<p>foo[]bar<p>extra" queryCommandIndeterm("defaultparagraphseparator") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<p>foo[]bar<p>extra" queryCommandState("defaultparagraphseparator") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<p>foo[]bar<p>extra" queryCommandValue("defaultparagraphseparator") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<p>foo[]bar<p>extra" queryCommandIndeterm("defaultparagraphseparator") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<p>foo[]bar<p>extra" queryCommandState("defaultparagraphseparator") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<p>foo[]bar<p>extra" queryCommandValue("defaultparagraphseparator") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<p>foo[]bar<p>extra" queryCommandIndeterm("justifycenter") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<p>foo[]bar<p>extra" queryCommandState("justifycenter") before 
+FAIL [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<p>foo[]bar<p>extra" queryCommandValue("justifycenter") before assert_equals: Wrong result returned expected "left" but got "false"
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<p>foo[]bar<p>extra" queryCommandIndeterm("justifycenter") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<p>foo[]bar<p>extra" queryCommandState("justifycenter") after 
+FAIL [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<p>foo[]bar<p>extra" queryCommandValue("justifycenter") after assert_equals: Wrong result returned expected "center" but got "true"
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<p>foo[bar]baz<p>extra": execCommand("stylewithcss", false, "true") return value 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<p>foo[bar]baz<p>extra": execCommand("defaultparagraphseparator", false, "div") return value 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<p>foo[bar]baz<p>extra": execCommand("justifycenter", false, "") return value 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<p>foo[bar]baz<p>extra" checks for modifications to non-editable content 
+FAIL [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<p>foo[bar]baz<p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<div style=\"text-align:center\"><p>foobarbaz</p></div><p>extra</p>" but got "<p style=\"text-align:center\">foobarbaz</p><p>extra</p>"
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<p>foo[bar]baz<p>extra" queryCommandIndeterm("stylewithcss") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<p>foo[bar]baz<p>extra" queryCommandState("stylewithcss") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<p>foo[bar]baz<p>extra" queryCommandValue("stylewithcss") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<p>foo[bar]baz<p>extra" queryCommandIndeterm("stylewithcss") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<p>foo[bar]baz<p>extra" queryCommandState("stylewithcss") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<p>foo[bar]baz<p>extra" queryCommandValue("stylewithcss") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<p>foo[bar]baz<p>extra" queryCommandIndeterm("defaultparagraphseparator") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<p>foo[bar]baz<p>extra" queryCommandState("defaultparagraphseparator") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<p>foo[bar]baz<p>extra" queryCommandValue("defaultparagraphseparator") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<p>foo[bar]baz<p>extra" queryCommandIndeterm("defaultparagraphseparator") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<p>foo[bar]baz<p>extra" queryCommandState("defaultparagraphseparator") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<p>foo[bar]baz<p>extra" queryCommandValue("defaultparagraphseparator") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<p>foo[bar]baz<p>extra" queryCommandIndeterm("justifycenter") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<p>foo[bar]baz<p>extra" queryCommandState("justifycenter") before 
+FAIL [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<p>foo[bar]baz<p>extra" queryCommandValue("justifycenter") before assert_equals: Wrong result returned expected "left" but got "false"
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<p>foo[bar]baz<p>extra" queryCommandIndeterm("justifycenter") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<p>foo[bar]baz<p>extra" queryCommandState("justifycenter") after 
+FAIL [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<p>foo[bar]baz<p>extra" queryCommandValue("justifycenter") after assert_equals: Wrong result returned expected "center" but got "true"
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<p>foo[bar]baz<p>extra": execCommand("stylewithcss", false, "false") return value 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<p>foo[bar]baz<p>extra": execCommand("defaultparagraphseparator", false, "div") return value 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<p>foo[bar]baz<p>extra": execCommand("justifycenter", false, "") return value 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<p>foo[bar]baz<p>extra" checks for modifications to non-editable content 
+FAIL [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<p>foo[bar]baz<p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<div style=\"text-align:center\"><p>foobarbaz</p></div><p>extra</p>" but got "<p style=\"text-align:center\">foobarbaz</p><p>extra</p>"
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<p>foo[bar]baz<p>extra" queryCommandIndeterm("stylewithcss") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<p>foo[bar]baz<p>extra" queryCommandState("stylewithcss") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<p>foo[bar]baz<p>extra" queryCommandValue("stylewithcss") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<p>foo[bar]baz<p>extra" queryCommandIndeterm("stylewithcss") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<p>foo[bar]baz<p>extra" queryCommandState("stylewithcss") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<p>foo[bar]baz<p>extra" queryCommandValue("stylewithcss") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<p>foo[bar]baz<p>extra" queryCommandIndeterm("defaultparagraphseparator") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<p>foo[bar]baz<p>extra" queryCommandState("defaultparagraphseparator") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<p>foo[bar]baz<p>extra" queryCommandValue("defaultparagraphseparator") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<p>foo[bar]baz<p>extra" queryCommandIndeterm("defaultparagraphseparator") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<p>foo[bar]baz<p>extra" queryCommandState("defaultparagraphseparator") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<p>foo[bar]baz<p>extra" queryCommandValue("defaultparagraphseparator") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<p>foo[bar]baz<p>extra" queryCommandIndeterm("justifycenter") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<p>foo[bar]baz<p>extra" queryCommandState("justifycenter") before 
+FAIL [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<p>foo[bar]baz<p>extra" queryCommandValue("justifycenter") before assert_equals: Wrong result returned expected "left" but got "false"
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<p>foo[bar]baz<p>extra" queryCommandIndeterm("justifycenter") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<p>foo[bar]baz<p>extra" queryCommandState("justifycenter") after 
+FAIL [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<p>foo[bar]baz<p>extra" queryCommandValue("justifycenter") after assert_equals: Wrong result returned expected "center" but got "true"
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<p>foo[bar]baz<p>extra": execCommand("stylewithcss", false, "true") return value 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<p>foo[bar]baz<p>extra": execCommand("defaultparagraphseparator", false, "p") return value 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<p>foo[bar]baz<p>extra": execCommand("justifycenter", false, "") return value 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<p>foo[bar]baz<p>extra" checks for modifications to non-editable content 
+FAIL [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<p>foo[bar]baz<p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<div style=\"text-align:center\"><p>foobarbaz</p></div><p>extra</p>" but got "<p style=\"text-align:center\">foobarbaz</p><p>extra</p>"
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<p>foo[bar]baz<p>extra" queryCommandIndeterm("stylewithcss") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<p>foo[bar]baz<p>extra" queryCommandState("stylewithcss") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<p>foo[bar]baz<p>extra" queryCommandValue("stylewithcss") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<p>foo[bar]baz<p>extra" queryCommandIndeterm("stylewithcss") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<p>foo[bar]baz<p>extra" queryCommandState("stylewithcss") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<p>foo[bar]baz<p>extra" queryCommandValue("stylewithcss") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<p>foo[bar]baz<p>extra" queryCommandIndeterm("defaultparagraphseparator") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<p>foo[bar]baz<p>extra" queryCommandState("defaultparagraphseparator") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<p>foo[bar]baz<p>extra" queryCommandValue("defaultparagraphseparator") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<p>foo[bar]baz<p>extra" queryCommandIndeterm("defaultparagraphseparator") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<p>foo[bar]baz<p>extra" queryCommandState("defaultparagraphseparator") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<p>foo[bar]baz<p>extra" queryCommandValue("defaultparagraphseparator") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<p>foo[bar]baz<p>extra" queryCommandIndeterm("justifycenter") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<p>foo[bar]baz<p>extra" queryCommandState("justifycenter") before 
+FAIL [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<p>foo[bar]baz<p>extra" queryCommandValue("justifycenter") before assert_equals: Wrong result returned expected "left" but got "false"
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<p>foo[bar]baz<p>extra" queryCommandIndeterm("justifycenter") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<p>foo[bar]baz<p>extra" queryCommandState("justifycenter") after 
+FAIL [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<p>foo[bar]baz<p>extra" queryCommandValue("justifycenter") after assert_equals: Wrong result returned expected "center" but got "true"
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<p>foo[bar]baz<p>extra": execCommand("stylewithcss", false, "false") return value 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<p>foo[bar]baz<p>extra": execCommand("defaultparagraphseparator", false, "p") return value 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<p>foo[bar]baz<p>extra": execCommand("justifycenter", false, "") return value 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<p>foo[bar]baz<p>extra" checks for modifications to non-editable content 
+FAIL [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<p>foo[bar]baz<p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<div style=\"text-align:center\"><p>foobarbaz</p></div><p>extra</p>" but got "<p style=\"text-align:center\">foobarbaz</p><p>extra</p>"
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<p>foo[bar]baz<p>extra" queryCommandIndeterm("stylewithcss") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<p>foo[bar]baz<p>extra" queryCommandState("stylewithcss") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<p>foo[bar]baz<p>extra" queryCommandValue("stylewithcss") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<p>foo[bar]baz<p>extra" queryCommandIndeterm("stylewithcss") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<p>foo[bar]baz<p>extra" queryCommandState("stylewithcss") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<p>foo[bar]baz<p>extra" queryCommandValue("stylewithcss") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<p>foo[bar]baz<p>extra" queryCommandIndeterm("defaultparagraphseparator") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<p>foo[bar]baz<p>extra" queryCommandState("defaultparagraphseparator") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<p>foo[bar]baz<p>extra" queryCommandValue("defaultparagraphseparator") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<p>foo[bar]baz<p>extra" queryCommandIndeterm("defaultparagraphseparator") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<p>foo[bar]baz<p>extra" queryCommandState("defaultparagraphseparator") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<p>foo[bar]baz<p>extra" queryCommandValue("defaultparagraphseparator") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<p>foo[bar]baz<p>extra" queryCommandIndeterm("justifycenter") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<p>foo[bar]baz<p>extra" queryCommandState("justifycenter") before 
+FAIL [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<p>foo[bar]baz<p>extra" queryCommandValue("justifycenter") before assert_equals: Wrong result returned expected "left" but got "false"
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<p>foo[bar]baz<p>extra" queryCommandIndeterm("justifycenter") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<p>foo[bar]baz<p>extra" queryCommandState("justifycenter") after 
+FAIL [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<p>foo[bar]baz<p>extra" queryCommandValue("justifycenter") after assert_equals: Wrong result returned expected "center" but got "true"
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<h1>foo[bar]baz</h1><p>extra": execCommand("stylewithcss", false, "true") return value 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<h1>foo[bar]baz</h1><p>extra": execCommand("defaultparagraphseparator", false, "div") return value 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<h1>foo[bar]baz</h1><p>extra": execCommand("justifycenter", false, "") return value 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<h1>foo[bar]baz</h1><p>extra" checks for modifications to non-editable content 
+FAIL [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<h1>foo[bar]baz</h1><p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<div style=\"text-align:center\"><h1>foobarbaz</h1></div><p>extra</p>" but got "<h1 style=\"text-align:center\">foobarbaz</h1><p>extra</p>"
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<h1>foo[bar]baz</h1><p>extra" queryCommandIndeterm("stylewithcss") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<h1>foo[bar]baz</h1><p>extra" queryCommandState("stylewithcss") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<h1>foo[bar]baz</h1><p>extra" queryCommandValue("stylewithcss") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<h1>foo[bar]baz</h1><p>extra" queryCommandIndeterm("stylewithcss") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<h1>foo[bar]baz</h1><p>extra" queryCommandState("stylewithcss") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<h1>foo[bar]baz</h1><p>extra" queryCommandValue("stylewithcss") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<h1>foo[bar]baz</h1><p>extra" queryCommandIndeterm("defaultparagraphseparator") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<h1>foo[bar]baz</h1><p>extra" queryCommandState("defaultparagraphseparator") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<h1>foo[bar]baz</h1><p>extra" queryCommandValue("defaultparagraphseparator") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<h1>foo[bar]baz</h1><p>extra" queryCommandIndeterm("defaultparagraphseparator") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<h1>foo[bar]baz</h1><p>extra" queryCommandState("defaultparagraphseparator") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<h1>foo[bar]baz</h1><p>extra" queryCommandValue("defaultparagraphseparator") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<h1>foo[bar]baz</h1><p>extra" queryCommandIndeterm("justifycenter") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<h1>foo[bar]baz</h1><p>extra" queryCommandState("justifycenter") before 
+FAIL [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<h1>foo[bar]baz</h1><p>extra" queryCommandValue("justifycenter") before assert_equals: Wrong result returned expected "left" but got "false"
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<h1>foo[bar]baz</h1><p>extra" queryCommandIndeterm("justifycenter") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<h1>foo[bar]baz</h1><p>extra" queryCommandState("justifycenter") after 
+FAIL [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<h1>foo[bar]baz</h1><p>extra" queryCommandValue("justifycenter") after assert_equals: Wrong result returned expected "center" but got "true"
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<h1>foo[bar]baz</h1><p>extra": execCommand("stylewithcss", false, "false") return value 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<h1>foo[bar]baz</h1><p>extra": execCommand("defaultparagraphseparator", false, "div") return value 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<h1>foo[bar]baz</h1><p>extra": execCommand("justifycenter", false, "") return value 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<h1>foo[bar]baz</h1><p>extra" checks for modifications to non-editable content 
+FAIL [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<h1>foo[bar]baz</h1><p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<div style=\"text-align:center\"><h1>foobarbaz</h1></div><p>extra</p>" but got "<h1 style=\"text-align:center\">foobarbaz</h1><p>extra</p>"
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<h1>foo[bar]baz</h1><p>extra" queryCommandIndeterm("stylewithcss") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<h1>foo[bar]baz</h1><p>extra" queryCommandState("stylewithcss") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<h1>foo[bar]baz</h1><p>extra" queryCommandValue("stylewithcss") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<h1>foo[bar]baz</h1><p>extra" queryCommandIndeterm("stylewithcss") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<h1>foo[bar]baz</h1><p>extra" queryCommandState("stylewithcss") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<h1>foo[bar]baz</h1><p>extra" queryCommandValue("stylewithcss") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<h1>foo[bar]baz</h1><p>extra" queryCommandIndeterm("defaultparagraphseparator") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<h1>foo[bar]baz</h1><p>extra" queryCommandState("defaultparagraphseparator") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<h1>foo[bar]baz</h1><p>extra" queryCommandValue("defaultparagraphseparator") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<h1>foo[bar]baz</h1><p>extra" queryCommandIndeterm("defaultparagraphseparator") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<h1>foo[bar]baz</h1><p>extra" queryCommandState("defaultparagraphseparator") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<h1>foo[bar]baz</h1><p>extra" queryCommandValue("defaultparagraphseparator") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<h1>foo[bar]baz</h1><p>extra" queryCommandIndeterm("justifycenter") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<h1>foo[bar]baz</h1><p>extra" queryCommandState("justifycenter") before 
+FAIL [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<h1>foo[bar]baz</h1><p>extra" queryCommandValue("justifycenter") before assert_equals: Wrong result returned expected "left" but got "false"
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<h1>foo[bar]baz</h1><p>extra" queryCommandIndeterm("justifycenter") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<h1>foo[bar]baz</h1><p>extra" queryCommandState("justifycenter") after 
+FAIL [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<h1>foo[bar]baz</h1><p>extra" queryCommandValue("justifycenter") after assert_equals: Wrong result returned expected "center" but got "true"
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<h1>foo[bar]baz</h1><p>extra": execCommand("stylewithcss", false, "true") return value 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<h1>foo[bar]baz</h1><p>extra": execCommand("defaultparagraphseparator", false, "p") return value 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<h1>foo[bar]baz</h1><p>extra": execCommand("justifycenter", false, "") return value 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<h1>foo[bar]baz</h1><p>extra" checks for modifications to non-editable content 
+FAIL [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<h1>foo[bar]baz</h1><p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<div style=\"text-align:center\"><h1>foobarbaz</h1></div><p>extra</p>" but got "<h1 style=\"text-align:center\">foobarbaz</h1><p>extra</p>"
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<h1>foo[bar]baz</h1><p>extra" queryCommandIndeterm("stylewithcss") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<h1>foo[bar]baz</h1><p>extra" queryCommandState("stylewithcss") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<h1>foo[bar]baz</h1><p>extra" queryCommandValue("stylewithcss") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<h1>foo[bar]baz</h1><p>extra" queryCommandIndeterm("stylewithcss") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<h1>foo[bar]baz</h1><p>extra" queryCommandState("stylewithcss") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<h1>foo[bar]baz</h1><p>extra" queryCommandValue("stylewithcss") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<h1>foo[bar]baz</h1><p>extra" queryCommandIndeterm("defaultparagraphseparator") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<h1>foo[bar]baz</h1><p>extra" queryCommandState("defaultparagraphseparator") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<h1>foo[bar]baz</h1><p>extra" queryCommandValue("defaultparagraphseparator") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<h1>foo[bar]baz</h1><p>extra" queryCommandIndeterm("defaultparagraphseparator") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<h1>foo[bar]baz</h1><p>extra" queryCommandState("defaultparagraphseparator") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<h1>foo[bar]baz</h1><p>extra" queryCommandValue("defaultparagraphseparator") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<h1>foo[bar]baz</h1><p>extra" queryCommandIndeterm("justifycenter") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<h1>foo[bar]baz</h1><p>extra" queryCommandState("justifycenter") before 
+FAIL [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<h1>foo[bar]baz</h1><p>extra" queryCommandValue("justifycenter") before assert_equals: Wrong result returned expected "left" but got "false"
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<h1>foo[bar]baz</h1><p>extra" queryCommandIndeterm("justifycenter") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<h1>foo[bar]baz</h1><p>extra" queryCommandState("justifycenter") after 
+FAIL [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<h1>foo[bar]baz</h1><p>extra" queryCommandValue("justifycenter") after assert_equals: Wrong result returned expected "center" but got "true"
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<h1>foo[bar]baz</h1><p>extra": execCommand("stylewithcss", false, "false") return value 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<h1>foo[bar]baz</h1><p>extra": execCommand("defaultparagraphseparator", false, "p") return value 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<h1>foo[bar]baz</h1><p>extra": execCommand("justifycenter", false, "") return value 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<h1>foo[bar]baz</h1><p>extra" checks for modifications to non-editable content 
+FAIL [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<h1>foo[bar]baz</h1><p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<div style=\"text-align:center\"><h1>foobarbaz</h1></div><p>extra</p>" but got "<h1 style=\"text-align:center\">foobarbaz</h1><p>extra</p>"
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<h1>foo[bar]baz</h1><p>extra" queryCommandIndeterm("stylewithcss") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<h1>foo[bar]baz</h1><p>extra" queryCommandState("stylewithcss") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<h1>foo[bar]baz</h1><p>extra" queryCommandValue("stylewithcss") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<h1>foo[bar]baz</h1><p>extra" queryCommandIndeterm("stylewithcss") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<h1>foo[bar]baz</h1><p>extra" queryCommandState("stylewithcss") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<h1>foo[bar]baz</h1><p>extra" queryCommandValue("stylewithcss") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<h1>foo[bar]baz</h1><p>extra" queryCommandIndeterm("defaultparagraphseparator") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<h1>foo[bar]baz</h1><p>extra" queryCommandState("defaultparagraphseparator") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<h1>foo[bar]baz</h1><p>extra" queryCommandValue("defaultparagraphseparator") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<h1>foo[bar]baz</h1><p>extra" queryCommandIndeterm("defaultparagraphseparator") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<h1>foo[bar]baz</h1><p>extra" queryCommandState("defaultparagraphseparator") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<h1>foo[bar]baz</h1><p>extra" queryCommandValue("defaultparagraphseparator") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<h1>foo[bar]baz</h1><p>extra" queryCommandIndeterm("justifycenter") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<h1>foo[bar]baz</h1><p>extra" queryCommandState("justifycenter") before 
+FAIL [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<h1>foo[bar]baz</h1><p>extra" queryCommandValue("justifycenter") before assert_equals: Wrong result returned expected "left" but got "false"
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<h1>foo[bar]baz</h1><p>extra" queryCommandIndeterm("justifycenter") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<h1>foo[bar]baz</h1><p>extra" queryCommandState("justifycenter") after 
+FAIL [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<h1>foo[bar]baz</h1><p>extra" queryCommandValue("justifycenter") after assert_equals: Wrong result returned expected "center" but got "true"
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<pre>foo[bar]baz</pre><p>extra": execCommand("stylewithcss", false, "true") return value 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<pre>foo[bar]baz</pre><p>extra": execCommand("defaultparagraphseparator", false, "div") return value 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<pre>foo[bar]baz</pre><p>extra": execCommand("justifycenter", false, "") return value 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<pre>foo[bar]baz</pre><p>extra" checks for modifications to non-editable content 
+FAIL [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<pre>foo[bar]baz</pre><p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<div style=\"text-align:center\"><pre>foobarbaz</pre></div><p>extra</p>" but got "<pre style=\"text-align:center\">foobarbaz</pre><p>extra</p>"
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<pre>foo[bar]baz</pre><p>extra" queryCommandIndeterm("stylewithcss") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<pre>foo[bar]baz</pre><p>extra" queryCommandState("stylewithcss") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<pre>foo[bar]baz</pre><p>extra" queryCommandValue("stylewithcss") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<pre>foo[bar]baz</pre><p>extra" queryCommandIndeterm("stylewithcss") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<pre>foo[bar]baz</pre><p>extra" queryCommandState("stylewithcss") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<pre>foo[bar]baz</pre><p>extra" queryCommandValue("stylewithcss") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<pre>foo[bar]baz</pre><p>extra" queryCommandIndeterm("defaultparagraphseparator") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<pre>foo[bar]baz</pre><p>extra" queryCommandState("defaultparagraphseparator") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<pre>foo[bar]baz</pre><p>extra" queryCommandValue("defaultparagraphseparator") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<pre>foo[bar]baz</pre><p>extra" queryCommandIndeterm("defaultparagraphseparator") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<pre>foo[bar]baz</pre><p>extra" queryCommandState("defaultparagraphseparator") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<pre>foo[bar]baz</pre><p>extra" queryCommandValue("defaultparagraphseparator") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<pre>foo[bar]baz</pre><p>extra" queryCommandIndeterm("justifycenter") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<pre>foo[bar]baz</pre><p>extra" queryCommandState("justifycenter") before 
+FAIL [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<pre>foo[bar]baz</pre><p>extra" queryCommandValue("justifycenter") before assert_equals: Wrong result returned expected "left" but got "false"
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<pre>foo[bar]baz</pre><p>extra" queryCommandIndeterm("justifycenter") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<pre>foo[bar]baz</pre><p>extra" queryCommandState("justifycenter") after 
+FAIL [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<pre>foo[bar]baz</pre><p>extra" queryCommandValue("justifycenter") after assert_equals: Wrong result returned expected "center" but got "true"
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<pre>foo[bar]baz</pre><p>extra": execCommand("stylewithcss", false, "false") return value 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<pre>foo[bar]baz</pre><p>extra": execCommand("defaultparagraphseparator", false, "div") return value 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<pre>foo[bar]baz</pre><p>extra": execCommand("justifycenter", false, "") return value 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<pre>foo[bar]baz</pre><p>extra" checks for modifications to non-editable content 
+FAIL [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<pre>foo[bar]baz</pre><p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<div style=\"text-align:center\"><pre>foobarbaz</pre></div><p>extra</p>" but got "<pre style=\"text-align:center\">foobarbaz</pre><p>extra</p>"
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<pre>foo[bar]baz</pre><p>extra" queryCommandIndeterm("stylewithcss") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<pre>foo[bar]baz</pre><p>extra" queryCommandState("stylewithcss") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<pre>foo[bar]baz</pre><p>extra" queryCommandValue("stylewithcss") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<pre>foo[bar]baz</pre><p>extra" queryCommandIndeterm("stylewithcss") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<pre>foo[bar]baz</pre><p>extra" queryCommandState("stylewithcss") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<pre>foo[bar]baz</pre><p>extra" queryCommandValue("stylewithcss") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<pre>foo[bar]baz</pre><p>extra" queryCommandIndeterm("defaultparagraphseparator") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<pre>foo[bar]baz</pre><p>extra" queryCommandState("defaultparagraphseparator") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<pre>foo[bar]baz</pre><p>extra" queryCommandValue("defaultparagraphseparator") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<pre>foo[bar]baz</pre><p>extra" queryCommandIndeterm("defaultparagraphseparator") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<pre>foo[bar]baz</pre><p>extra" queryCommandState("defaultparagraphseparator") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<pre>foo[bar]baz</pre><p>extra" queryCommandValue("defaultparagraphseparator") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<pre>foo[bar]baz</pre><p>extra" queryCommandIndeterm("justifycenter") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<pre>foo[bar]baz</pre><p>extra" queryCommandState("justifycenter") before 
+FAIL [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<pre>foo[bar]baz</pre><p>extra" queryCommandValue("justifycenter") before assert_equals: Wrong result returned expected "left" but got "false"
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<pre>foo[bar]baz</pre><p>extra" queryCommandIndeterm("justifycenter") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<pre>foo[bar]baz</pre><p>extra" queryCommandState("justifycenter") after 
+FAIL [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<pre>foo[bar]baz</pre><p>extra" queryCommandValue("justifycenter") after assert_equals: Wrong result returned expected "center" but got "true"
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<pre>foo[bar]baz</pre><p>extra": execCommand("stylewithcss", false, "true") return value 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<pre>foo[bar]baz</pre><p>extra": execCommand("defaultparagraphseparator", false, "p") return value 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<pre>foo[bar]baz</pre><p>extra": execCommand("justifycenter", false, "") return value 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<pre>foo[bar]baz</pre><p>extra" checks for modifications to non-editable content 
+FAIL [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<pre>foo[bar]baz</pre><p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<div style=\"text-align:center\"><pre>foobarbaz</pre></div><p>extra</p>" but got "<pre style=\"text-align:center\">foobarbaz</pre><p>extra</p>"
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<pre>foo[bar]baz</pre><p>extra" queryCommandIndeterm("stylewithcss") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<pre>foo[bar]baz</pre><p>extra" queryCommandState("stylewithcss") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<pre>foo[bar]baz</pre><p>extra" queryCommandValue("stylewithcss") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<pre>foo[bar]baz</pre><p>extra" queryCommandIndeterm("stylewithcss") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<pre>foo[bar]baz</pre><p>extra" queryCommandState("stylewithcss") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<pre>foo[bar]baz</pre><p>extra" queryCommandValue("stylewithcss") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<pre>foo[bar]baz</pre><p>extra" queryCommandIndeterm("defaultparagraphseparator") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<pre>foo[bar]baz</pre><p>extra" queryCommandState("defaultparagraphseparator") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<pre>foo[bar]baz</pre><p>extra" queryCommandValue("defaultparagraphseparator") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<pre>foo[bar]baz</pre><p>extra" queryCommandIndeterm("defaultparagraphseparator") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<pre>foo[bar]baz</pre><p>extra" queryCommandState("defaultparagraphseparator") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<pre>foo[bar]baz</pre><p>extra" queryCommandValue("defaultparagraphseparator") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<pre>foo[bar]baz</pre><p>extra" queryCommandIndeterm("justifycenter") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<pre>foo[bar]baz</pre><p>extra" queryCommandState("justifycenter") before 
+FAIL [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<pre>foo[bar]baz</pre><p>extra" queryCommandValue("justifycenter") before assert_equals: Wrong result returned expected "left" but got "false"
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<pre>foo[bar]baz</pre><p>extra" queryCommandIndeterm("justifycenter") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<pre>foo[bar]baz</pre><p>extra" queryCommandState("justifycenter") after 
+FAIL [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<pre>foo[bar]baz</pre><p>extra" queryCommandValue("justifycenter") after assert_equals: Wrong result returned expected "center" but got "true"
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<pre>foo[bar]baz</pre><p>extra": execCommand("stylewithcss", false, "false") return value 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<pre>foo[bar]baz</pre><p>extra": execCommand("defaultparagraphseparator", false, "p") return value 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<pre>foo[bar]baz</pre><p>extra": execCommand("justifycenter", false, "") return value 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<pre>foo[bar]baz</pre><p>extra" checks for modifications to non-editable content 
+FAIL [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<pre>foo[bar]baz</pre><p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<div style=\"text-align:center\"><pre>foobarbaz</pre></div><p>extra</p>" but got "<pre style=\"text-align:center\">foobarbaz</pre><p>extra</p>"
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<pre>foo[bar]baz</pre><p>extra" queryCommandIndeterm("stylewithcss") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<pre>foo[bar]baz</pre><p>extra" queryCommandState("stylewithcss") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<pre>foo[bar]baz</pre><p>extra" queryCommandValue("stylewithcss") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<pre>foo[bar]baz</pre><p>extra" queryCommandIndeterm("stylewithcss") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<pre>foo[bar]baz</pre><p>extra" queryCommandState("stylewithcss") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<pre>foo[bar]baz</pre><p>extra" queryCommandValue("stylewithcss") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<pre>foo[bar]baz</pre><p>extra" queryCommandIndeterm("defaultparagraphseparator") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<pre>foo[bar]baz</pre><p>extra" queryCommandState("defaultparagraphseparator") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<pre>foo[bar]baz</pre><p>extra" queryCommandValue("defaultparagraphseparator") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<pre>foo[bar]baz</pre><p>extra" queryCommandIndeterm("defaultparagraphseparator") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<pre>foo[bar]baz</pre><p>extra" queryCommandState("defaultparagraphseparator") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<pre>foo[bar]baz</pre><p>extra" queryCommandValue("defaultparagraphseparator") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<pre>foo[bar]baz</pre><p>extra" queryCommandIndeterm("justifycenter") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<pre>foo[bar]baz</pre><p>extra" queryCommandState("justifycenter") before 
+FAIL [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<pre>foo[bar]baz</pre><p>extra" queryCommandValue("justifycenter") before assert_equals: Wrong result returned expected "left" but got "false"
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<pre>foo[bar]baz</pre><p>extra" queryCommandIndeterm("justifycenter") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<pre>foo[bar]baz</pre><p>extra" queryCommandState("justifycenter") after 
+FAIL [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<pre>foo[bar]baz</pre><p>extra" queryCommandValue("justifycenter") after assert_equals: Wrong result returned expected "center" but got "true"
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<xmp>foo[bar]baz</xmp><p>extra": execCommand("stylewithcss", false, "true") return value 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<xmp>foo[bar]baz</xmp><p>extra": execCommand("defaultparagraphseparator", false, "div") return value 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<xmp>foo[bar]baz</xmp><p>extra": execCommand("justifycenter", false, "") return value 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<xmp>foo[bar]baz</xmp><p>extra" checks for modifications to non-editable content 
+FAIL [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<xmp>foo[bar]baz</xmp><p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<div style=\"text-align:center\"><xmp>foobarbaz</xmp></div><p>extra</p>" but got "<xmp style=\"text-align:center\">foobarbaz</xmp><p>extra</p>"
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<xmp>foo[bar]baz</xmp><p>extra" queryCommandIndeterm("stylewithcss") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<xmp>foo[bar]baz</xmp><p>extra" queryCommandState("stylewithcss") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<xmp>foo[bar]baz</xmp><p>extra" queryCommandValue("stylewithcss") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<xmp>foo[bar]baz</xmp><p>extra" queryCommandIndeterm("stylewithcss") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<xmp>foo[bar]baz</xmp><p>extra" queryCommandState("stylewithcss") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<xmp>foo[bar]baz</xmp><p>extra" queryCommandValue("stylewithcss") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<xmp>foo[bar]baz</xmp><p>extra" queryCommandIndeterm("defaultparagraphseparator") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<xmp>foo[bar]baz</xmp><p>extra" queryCommandState("defaultparagraphseparator") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<xmp>foo[bar]baz</xmp><p>extra" queryCommandValue("defaultparagraphseparator") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<xmp>foo[bar]baz</xmp><p>extra" queryCommandIndeterm("defaultparagraphseparator") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<xmp>foo[bar]baz</xmp><p>extra" queryCommandState("defaultparagraphseparator") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<xmp>foo[bar]baz</xmp><p>extra" queryCommandValue("defaultparagraphseparator") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<xmp>foo[bar]baz</xmp><p>extra" queryCommandIndeterm("justifycenter") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<xmp>foo[bar]baz</xmp><p>extra" queryCommandState("justifycenter") before 
+FAIL [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<xmp>foo[bar]baz</xmp><p>extra" queryCommandValue("justifycenter") before assert_equals: Wrong result returned expected "left" but got "false"
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<xmp>foo[bar]baz</xmp><p>extra" queryCommandIndeterm("justifycenter") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<xmp>foo[bar]baz</xmp><p>extra" queryCommandState("justifycenter") after 
+FAIL [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<xmp>foo[bar]baz</xmp><p>extra" queryCommandValue("justifycenter") after assert_equals: Wrong result returned expected "center" but got "true"
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<xmp>foo[bar]baz</xmp><p>extra": execCommand("stylewithcss", false, "false") return value 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<xmp>foo[bar]baz</xmp><p>extra": execCommand("defaultparagraphseparator", false, "div") return value 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<xmp>foo[bar]baz</xmp><p>extra": execCommand("justifycenter", false, "") return value 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<xmp>foo[bar]baz</xmp><p>extra" checks for modifications to non-editable content 
+FAIL [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<xmp>foo[bar]baz</xmp><p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<div style=\"text-align:center\"><xmp>foobarbaz</xmp></div><p>extra</p>" but got "<xmp style=\"text-align:center\">foobarbaz</xmp><p>extra</p>"
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<xmp>foo[bar]baz</xmp><p>extra" queryCommandIndeterm("stylewithcss") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<xmp>foo[bar]baz</xmp><p>extra" queryCommandState("stylewithcss") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<xmp>foo[bar]baz</xmp><p>extra" queryCommandValue("stylewithcss") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<xmp>foo[bar]baz</xmp><p>extra" queryCommandIndeterm("stylewithcss") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<xmp>foo[bar]baz</xmp><p>extra" queryCommandState("stylewithcss") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<xmp>foo[bar]baz</xmp><p>extra" queryCommandValue("stylewithcss") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<xmp>foo[bar]baz</xmp><p>extra" queryCommandIndeterm("defaultparagraphseparator") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<xmp>foo[bar]baz</xmp><p>extra" queryCommandState("defaultparagraphseparator") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<xmp>foo[bar]baz</xmp><p>extra" queryCommandValue("defaultparagraphseparator") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<xmp>foo[bar]baz</xmp><p>extra" queryCommandIndeterm("defaultparagraphseparator") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<xmp>foo[bar]baz</xmp><p>extra" queryCommandState("defaultparagraphseparator") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<xmp>foo[bar]baz</xmp><p>extra" queryCommandValue("defaultparagraphseparator") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<xmp>foo[bar]baz</xmp><p>extra" queryCommandIndeterm("justifycenter") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<xmp>foo[bar]baz</xmp><p>extra" queryCommandState("justifycenter") before 
+FAIL [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<xmp>foo[bar]baz</xmp><p>extra" queryCommandValue("justifycenter") before assert_equals: Wrong result returned expected "left" but got "false"
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<xmp>foo[bar]baz</xmp><p>extra" queryCommandIndeterm("justifycenter") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<xmp>foo[bar]baz</xmp><p>extra" queryCommandState("justifycenter") after 
+FAIL [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<xmp>foo[bar]baz</xmp><p>extra" queryCommandValue("justifycenter") after assert_equals: Wrong result returned expected "center" but got "true"
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<xmp>foo[bar]baz</xmp><p>extra": execCommand("stylewithcss", false, "true") return value 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<xmp>foo[bar]baz</xmp><p>extra": execCommand("defaultparagraphseparator", false, "p") return value 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<xmp>foo[bar]baz</xmp><p>extra": execCommand("justifycenter", false, "") return value 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<xmp>foo[bar]baz</xmp><p>extra" checks for modifications to non-editable content 
+FAIL [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<xmp>foo[bar]baz</xmp><p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<div style=\"text-align:center\"><xmp>foobarbaz</xmp></div><p>extra</p>" but got "<xmp style=\"text-align:center\">foobarbaz</xmp><p>extra</p>"
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<xmp>foo[bar]baz</xmp><p>extra" queryCommandIndeterm("stylewithcss") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<xmp>foo[bar]baz</xmp><p>extra" queryCommandState("stylewithcss") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<xmp>foo[bar]baz</xmp><p>extra" queryCommandValue("stylewithcss") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<xmp>foo[bar]baz</xmp><p>extra" queryCommandIndeterm("stylewithcss") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<xmp>foo[bar]baz</xmp><p>extra" queryCommandState("stylewithcss") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<xmp>foo[bar]baz</xmp><p>extra" queryCommandValue("stylewithcss") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<xmp>foo[bar]baz</xmp><p>extra" queryCommandIndeterm("defaultparagraphseparator") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<xmp>foo[bar]baz</xmp><p>extra" queryCommandState("defaultparagraphseparator") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<xmp>foo[bar]baz</xmp><p>extra" queryCommandValue("defaultparagraphseparator") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<xmp>foo[bar]baz</xmp><p>extra" queryCommandIndeterm("defaultparagraphseparator") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<xmp>foo[bar]baz</xmp><p>extra" queryCommandState("defaultparagraphseparator") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<xmp>foo[bar]baz</xmp><p>extra" queryCommandValue("defaultparagraphseparator") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<xmp>foo[bar]baz</xmp><p>extra" queryCommandIndeterm("justifycenter") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<xmp>foo[bar]baz</xmp><p>extra" queryCommandState("justifycenter") before 
+FAIL [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<xmp>foo[bar]baz</xmp><p>extra" queryCommandValue("justifycenter") before assert_equals: Wrong result returned expected "left" but got "false"
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<xmp>foo[bar]baz</xmp><p>extra" queryCommandIndeterm("justifycenter") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<xmp>foo[bar]baz</xmp><p>extra" queryCommandState("justifycenter") after 
+FAIL [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<xmp>foo[bar]baz</xmp><p>extra" queryCommandValue("justifycenter") after assert_equals: Wrong result returned expected "center" but got "true"
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<xmp>foo[bar]baz</xmp><p>extra": execCommand("stylewithcss", false, "false") return value 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<xmp>foo[bar]baz</xmp><p>extra": execCommand("defaultparagraphseparator", false, "p") return value 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<xmp>foo[bar]baz</xmp><p>extra": execCommand("justifycenter", false, "") return value 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<xmp>foo[bar]baz</xmp><p>extra" checks for modifications to non-editable content 
+FAIL [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<xmp>foo[bar]baz</xmp><p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<div style=\"text-align:center\"><xmp>foobarbaz</xmp></div><p>extra</p>" but got "<xmp style=\"text-align:center\">foobarbaz</xmp><p>extra</p>"
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<xmp>foo[bar]baz</xmp><p>extra" queryCommandIndeterm("stylewithcss") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<xmp>foo[bar]baz</xmp><p>extra" queryCommandState("stylewithcss") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<xmp>foo[bar]baz</xmp><p>extra" queryCommandValue("stylewithcss") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<xmp>foo[bar]baz</xmp><p>extra" queryCommandIndeterm("stylewithcss") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<xmp>foo[bar]baz</xmp><p>extra" queryCommandState("stylewithcss") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<xmp>foo[bar]baz</xmp><p>extra" queryCommandValue("stylewithcss") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<xmp>foo[bar]baz</xmp><p>extra" queryCommandIndeterm("defaultparagraphseparator") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<xmp>foo[bar]baz</xmp><p>extra" queryCommandState("defaultparagraphseparator") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<xmp>foo[bar]baz</xmp><p>extra" queryCommandValue("defaultparagraphseparator") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<xmp>foo[bar]baz</xmp><p>extra" queryCommandIndeterm("defaultparagraphseparator") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<xmp>foo[bar]baz</xmp><p>extra" queryCommandState("defaultparagraphseparator") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<xmp>foo[bar]baz</xmp><p>extra" queryCommandValue("defaultparagraphseparator") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<xmp>foo[bar]baz</xmp><p>extra" queryCommandIndeterm("justifycenter") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<xmp>foo[bar]baz</xmp><p>extra" queryCommandState("justifycenter") before 
+FAIL [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<xmp>foo[bar]baz</xmp><p>extra" queryCommandValue("justifycenter") before assert_equals: Wrong result returned expected "left" but got "false"
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<xmp>foo[bar]baz</xmp><p>extra" queryCommandIndeterm("justifycenter") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<xmp>foo[bar]baz</xmp><p>extra" queryCommandState("justifycenter") after 
+FAIL [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<xmp>foo[bar]baz</xmp><p>extra" queryCommandValue("justifycenter") after assert_equals: Wrong result returned expected "center" but got "true"
+PASS [["justifycenter",""]] "<center><p>[foo]<p>bar</center><p>extra": execCommand("justifycenter", false, "") return value 
+PASS [["justifycenter",""]] "<center><p>[foo]<p>bar</center><p>extra" checks for modifications to non-editable content 
+PASS [["justifycenter",""]] "<center><p>[foo]<p>bar</center><p>extra" compare innerHTML 
+PASS [["justifycenter",""]] "<center><p>[foo]<p>bar</center><p>extra" queryCommandIndeterm("justifycenter") before 
+PASS [["justifycenter",""]] "<center><p>[foo]<p>bar</center><p>extra" queryCommandState("justifycenter") before 
+FAIL [["justifycenter",""]] "<center><p>[foo]<p>bar</center><p>extra" queryCommandValue("justifycenter") before assert_equals: Wrong result returned expected "center" but got "true"
+PASS [["justifycenter",""]] "<center><p>[foo]<p>bar</center><p>extra" queryCommandIndeterm("justifycenter") after 
+PASS [["justifycenter",""]] "<center><p>[foo]<p>bar</center><p>extra" queryCommandState("justifycenter") after 
+FAIL [["justifycenter",""]] "<center><p>[foo]<p>bar</center><p>extra" queryCommandValue("justifycenter") after assert_equals: Wrong result returned expected "center" but got "true"
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<center><p>[foo<p>bar]</center><p>extra": execCommand("stylewithcss", false, "true") return value 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<center><p>[foo<p>bar]</center><p>extra": execCommand("defaultparagraphseparator", false, "div") return value 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<center><p>[foo<p>bar]</center><p>extra": execCommand("justifycenter", false, "") return value 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<center><p>[foo<p>bar]</center><p>extra" checks for modifications to non-editable content 
+FAIL [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<center><p>[foo<p>bar]</center><p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<div style=\"text-align:center\"><p>foo</p><p>bar</p></div><p>extra</p>" but got "<center><p>foo</p><p>bar</p></center><p>extra</p>"
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<center><p>[foo<p>bar]</center><p>extra" queryCommandIndeterm("stylewithcss") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<center><p>[foo<p>bar]</center><p>extra" queryCommandState("stylewithcss") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<center><p>[foo<p>bar]</center><p>extra" queryCommandValue("stylewithcss") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<center><p>[foo<p>bar]</center><p>extra" queryCommandIndeterm("stylewithcss") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<center><p>[foo<p>bar]</center><p>extra" queryCommandState("stylewithcss") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<center><p>[foo<p>bar]</center><p>extra" queryCommandValue("stylewithcss") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<center><p>[foo<p>bar]</center><p>extra" queryCommandIndeterm("defaultparagraphseparator") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<center><p>[foo<p>bar]</center><p>extra" queryCommandState("defaultparagraphseparator") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<center><p>[foo<p>bar]</center><p>extra" queryCommandValue("defaultparagraphseparator") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<center><p>[foo<p>bar]</center><p>extra" queryCommandIndeterm("defaultparagraphseparator") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<center><p>[foo<p>bar]</center><p>extra" queryCommandState("defaultparagraphseparator") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<center><p>[foo<p>bar]</center><p>extra" queryCommandValue("defaultparagraphseparator") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<center><p>[foo<p>bar]</center><p>extra" queryCommandIndeterm("justifycenter") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<center><p>[foo<p>bar]</center><p>extra" queryCommandState("justifycenter") before 
+FAIL [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<center><p>[foo<p>bar]</center><p>extra" queryCommandValue("justifycenter") before assert_equals: Wrong result returned expected "center" but got "true"
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<center><p>[foo<p>bar]</center><p>extra" queryCommandIndeterm("justifycenter") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<center><p>[foo<p>bar]</center><p>extra" queryCommandState("justifycenter") after 
+FAIL [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<center><p>[foo<p>bar]</center><p>extra" queryCommandValue("justifycenter") after assert_equals: Wrong result returned expected "center" but got "true"
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<center><p>[foo<p>bar]</center><p>extra": execCommand("stylewithcss", false, "false") return value 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<center><p>[foo<p>bar]</center><p>extra": execCommand("defaultparagraphseparator", false, "div") return value 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<center><p>[foo<p>bar]</center><p>extra": execCommand("justifycenter", false, "") return value 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<center><p>[foo<p>bar]</center><p>extra" checks for modifications to non-editable content 
+FAIL [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<center><p>[foo<p>bar]</center><p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<div style=\"text-align:center\"><p>foo</p><p>bar</p></div><p>extra</p>" but got "<center><p>foo</p><p>bar</p></center><p>extra</p>"
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<center><p>[foo<p>bar]</center><p>extra" queryCommandIndeterm("stylewithcss") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<center><p>[foo<p>bar]</center><p>extra" queryCommandState("stylewithcss") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<center><p>[foo<p>bar]</center><p>extra" queryCommandValue("stylewithcss") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<center><p>[foo<p>bar]</center><p>extra" queryCommandIndeterm("stylewithcss") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<center><p>[foo<p>bar]</center><p>extra" queryCommandState("stylewithcss") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<center><p>[foo<p>bar]</center><p>extra" queryCommandValue("stylewithcss") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<center><p>[foo<p>bar]</center><p>extra" queryCommandIndeterm("defaultparagraphseparator") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<center><p>[foo<p>bar]</center><p>extra" queryCommandState("defaultparagraphseparator") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<center><p>[foo<p>bar]</center><p>extra" queryCommandValue("defaultparagraphseparator") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<center><p>[foo<p>bar]</center><p>extra" queryCommandIndeterm("defaultparagraphseparator") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<center><p>[foo<p>bar]</center><p>extra" queryCommandState("defaultparagraphseparator") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<center><p>[foo<p>bar]</center><p>extra" queryCommandValue("defaultparagraphseparator") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<center><p>[foo<p>bar]</center><p>extra" queryCommandIndeterm("justifycenter") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<center><p>[foo<p>bar]</center><p>extra" queryCommandState("justifycenter") before 
+FAIL [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<center><p>[foo<p>bar]</center><p>extra" queryCommandValue("justifycenter") before assert_equals: Wrong result returned expected "center" but got "true"
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<center><p>[foo<p>bar]</center><p>extra" queryCommandIndeterm("justifycenter") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<center><p>[foo<p>bar]</center><p>extra" queryCommandState("justifycenter") after 
+FAIL [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<center><p>[foo<p>bar]</center><p>extra" queryCommandValue("justifycenter") after assert_equals: Wrong result returned expected "center" but got "true"
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<center><p>[foo<p>bar]</center><p>extra": execCommand("stylewithcss", false, "true") return value 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<center><p>[foo<p>bar]</center><p>extra": execCommand("defaultparagraphseparator", false, "p") return value 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<center><p>[foo<p>bar]</center><p>extra": execCommand("justifycenter", false, "") return value 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<center><p>[foo<p>bar]</center><p>extra" checks for modifications to non-editable content 
+FAIL [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<center><p>[foo<p>bar]</center><p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<div style=\"text-align:center\"><p>foo</p><p>bar</p></div><p>extra</p>" but got "<center><p>foo</p><p>bar</p></center><p>extra</p>"
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<center><p>[foo<p>bar]</center><p>extra" queryCommandIndeterm("stylewithcss") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<center><p>[foo<p>bar]</center><p>extra" queryCommandState("stylewithcss") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<center><p>[foo<p>bar]</center><p>extra" queryCommandValue("stylewithcss") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<center><p>[foo<p>bar]</center><p>extra" queryCommandIndeterm("stylewithcss") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<center><p>[foo<p>bar]</center><p>extra" queryCommandState("stylewithcss") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<center><p>[foo<p>bar]</center><p>extra" queryCommandValue("stylewithcss") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<center><p>[foo<p>bar]</center><p>extra" queryCommandIndeterm("defaultparagraphseparator") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<center><p>[foo<p>bar]</center><p>extra" queryCommandState("defaultparagraphseparator") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<center><p>[foo<p>bar]</center><p>extra" queryCommandValue("defaultparagraphseparator") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<center><p>[foo<p>bar]</center><p>extra" queryCommandIndeterm("defaultparagraphseparator") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<center><p>[foo<p>bar]</center><p>extra" queryCommandState("defaultparagraphseparator") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<center><p>[foo<p>bar]</center><p>extra" queryCommandValue("defaultparagraphseparator") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<center><p>[foo<p>bar]</center><p>extra" queryCommandIndeterm("justifycenter") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<center><p>[foo<p>bar]</center><p>extra" queryCommandState("justifycenter") before 
+FAIL [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<center><p>[foo<p>bar]</center><p>extra" queryCommandValue("justifycenter") before assert_equals: Wrong result returned expected "center" but got "true"
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<center><p>[foo<p>bar]</center><p>extra" queryCommandIndeterm("justifycenter") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<center><p>[foo<p>bar]</center><p>extra" queryCommandState("justifycenter") after 
+FAIL [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<center><p>[foo<p>bar]</center><p>extra" queryCommandValue("justifycenter") after assert_equals: Wrong result returned expected "center" but got "true"
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<center><p>[foo<p>bar]</center><p>extra": execCommand("stylewithcss", false, "false") return value 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<center><p>[foo<p>bar]</center><p>extra": execCommand("defaultparagraphseparator", false, "p") return value 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<center><p>[foo<p>bar]</center><p>extra": execCommand("justifycenter", false, "") return value 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<center><p>[foo<p>bar]</center><p>extra" checks for modifications to non-editable content 
+FAIL [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<center><p>[foo<p>bar]</center><p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<div style=\"text-align:center\"><p>foo</p><p>bar</p></div><p>extra</p>" but got "<center><p>foo</p><p>bar</p></center><p>extra</p>"
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<center><p>[foo<p>bar]</center><p>extra" queryCommandIndeterm("stylewithcss") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<center><p>[foo<p>bar]</center><p>extra" queryCommandState("stylewithcss") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<center><p>[foo<p>bar]</center><p>extra" queryCommandValue("stylewithcss") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<center><p>[foo<p>bar]</center><p>extra" queryCommandIndeterm("stylewithcss") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<center><p>[foo<p>bar]</center><p>extra" queryCommandState("stylewithcss") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<center><p>[foo<p>bar]</center><p>extra" queryCommandValue("stylewithcss") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<center><p>[foo<p>bar]</center><p>extra" queryCommandIndeterm("defaultparagraphseparator") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<center><p>[foo<p>bar]</center><p>extra" queryCommandState("defaultparagraphseparator") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<center><p>[foo<p>bar]</center><p>extra" queryCommandValue("defaultparagraphseparator") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<center><p>[foo<p>bar]</center><p>extra" queryCommandIndeterm("defaultparagraphseparator") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<center><p>[foo<p>bar]</center><p>extra" queryCommandState("defaultparagraphseparator") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<center><p>[foo<p>bar]</center><p>extra" queryCommandValue("defaultparagraphseparator") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<center><p>[foo<p>bar]</center><p>extra" queryCommandIndeterm("justifycenter") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<center><p>[foo<p>bar]</center><p>extra" queryCommandState("justifycenter") before 
+FAIL [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<center><p>[foo<p>bar]</center><p>extra" queryCommandValue("justifycenter") before assert_equals: Wrong result returned expected "center" but got "true"
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<center><p>[foo<p>bar]</center><p>extra" queryCommandIndeterm("justifycenter") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<center><p>[foo<p>bar]</center><p>extra" queryCommandState("justifycenter") after 
+FAIL [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<center><p>[foo<p>bar]</center><p>extra" queryCommandValue("justifycenter") after assert_equals: Wrong result returned expected "center" but got "true"
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table><tbody><tr><td>foo<td>b[a]r<td>baz</table><p>extra": execCommand("stylewithcss", false, "true") return value 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table><tbody><tr><td>foo<td>b[a]r<td>baz</table><p>extra": execCommand("defaultparagraphseparator", false, "div") return value 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table><tbody><tr><td>foo<td>b[a]r<td>baz</table><p>extra": execCommand("justifycenter", false, "") return value 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table><tbody><tr><td>foo<td>b[a]r<td>baz</table><p>extra" checks for modifications to non-editable content 
+FAIL [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table><tbody><tr><td>foo<td>b[a]r<td>baz</table><p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<table><tbody><tr><td>foo</td><td><div style=\"text-align:center\">bar</div></td><td>baz</td></tr></tbody></table><p>extra</p>" but got "<table><tbody><tr><td>foo</td><td style=\"text-align:center\">bar</td><td>baz</td></tr></tbody></table><p>extra</p>"
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table><tbody><tr><td>foo<td>b[a]r<td>baz</table><p>extra" queryCommandIndeterm("stylewithcss") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table><tbody><tr><td>foo<td>b[a]r<td>baz</table><p>extra" queryCommandState("stylewithcss") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table><tbody><tr><td>foo<td>b[a]r<td>baz</table><p>extra" queryCommandValue("stylewithcss") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table><tbody><tr><td>foo<td>b[a]r<td>baz</table><p>extra" queryCommandIndeterm("stylewithcss") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table><tbody><tr><td>foo<td>b[a]r<td>baz</table><p>extra" queryCommandState("stylewithcss") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table><tbody><tr><td>foo<td>b[a]r<td>baz</table><p>extra" queryCommandValue("stylewithcss") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table><tbody><tr><td>foo<td>b[a]r<td>baz</table><p>extra" queryCommandIndeterm("defaultparagraphseparator") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table><tbody><tr><td>foo<td>b[a]r<td>baz</table><p>extra" queryCommandState("defaultparagraphseparator") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table><tbody><tr><td>foo<td>b[a]r<td>baz</table><p>extra" queryCommandValue("defaultparagraphseparator") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table><tbody><tr><td>foo<td>b[a]r<td>baz</table><p>extra" queryCommandIndeterm("defaultparagraphseparator") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table><tbody><tr><td>foo<td>b[a]r<td>baz</table><p>extra" queryCommandState("defaultparagraphseparator") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table><tbody><tr><td>foo<td>b[a]r<td>baz</table><p>extra" queryCommandValue("defaultparagraphseparator") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table><tbody><tr><td>foo<td>b[a]r<td>baz</table><p>extra" queryCommandIndeterm("justifycenter") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table><tbody><tr><td>foo<td>b[a]r<td>baz</table><p>extra" queryCommandState("justifycenter") before 
+FAIL [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table><tbody><tr><td>foo<td>b[a]r<td>baz</table><p>extra" queryCommandValue("justifycenter") before assert_equals: Wrong result returned expected "left" but got "false"
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table><tbody><tr><td>foo<td>b[a]r<td>baz</table><p>extra" queryCommandIndeterm("justifycenter") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table><tbody><tr><td>foo<td>b[a]r<td>baz</table><p>extra" queryCommandState("justifycenter") after 
+FAIL [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table><tbody><tr><td>foo<td>b[a]r<td>baz</table><p>extra" queryCommandValue("justifycenter") after assert_equals: Wrong result returned expected "center" but got "true"
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table><tbody><tr><td>foo<td>b[a]r<td>baz</table><p>extra": execCommand("stylewithcss", false, "false") return value 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table><tbody><tr><td>foo<td>b[a]r<td>baz</table><p>extra": execCommand("defaultparagraphseparator", false, "div") return value 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table><tbody><tr><td>foo<td>b[a]r<td>baz</table><p>extra": execCommand("justifycenter", false, "") return value 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table><tbody><tr><td>foo<td>b[a]r<td>baz</table><p>extra" checks for modifications to non-editable content 
+FAIL [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table><tbody><tr><td>foo<td>b[a]r<td>baz</table><p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<table><tbody><tr><td>foo</td><td><div style=\"text-align:center\">bar</div></td><td>baz</td></tr></tbody></table><p>extra</p>" but got "<table><tbody><tr><td>foo</td><td style=\"text-align:center\">bar</td><td>baz</td></tr></tbody></table><p>extra</p>"
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table><tbody><tr><td>foo<td>b[a]r<td>baz</table><p>extra" queryCommandIndeterm("stylewithcss") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table><tbody><tr><td>foo<td>b[a]r<td>baz</table><p>extra" queryCommandState("stylewithcss") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table><tbody><tr><td>foo<td>b[a]r<td>baz</table><p>extra" queryCommandValue("stylewithcss") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table><tbody><tr><td>foo<td>b[a]r<td>baz</table><p>extra" queryCommandIndeterm("stylewithcss") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table><tbody><tr><td>foo<td>b[a]r<td>baz</table><p>extra" queryCommandState("stylewithcss") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table><tbody><tr><td>foo<td>b[a]r<td>baz</table><p>extra" queryCommandValue("stylewithcss") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table><tbody><tr><td>foo<td>b[a]r<td>baz</table><p>extra" queryCommandIndeterm("defaultparagraphseparator") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table><tbody><tr><td>foo<td>b[a]r<td>baz</table><p>extra" queryCommandState("defaultparagraphseparator") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table><tbody><tr><td>foo<td>b[a]r<td>baz</table><p>extra" queryCommandValue("defaultparagraphseparator") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table><tbody><tr><td>foo<td>b[a]r<td>baz</table><p>extra" queryCommandIndeterm("defaultparagraphseparator") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table><tbody><tr><td>foo<td>b[a]r<td>baz</table><p>extra" queryCommandState("defaultparagraphseparator") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table><tbody><tr><td>foo<td>b[a]r<td>baz</table><p>extra" queryCommandValue("defaultparagraphseparator") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table><tbody><tr><td>foo<td>b[a]r<td>baz</table><p>extra" queryCommandIndeterm("justifycenter") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table><tbody><tr><td>foo<td>b[a]r<td>baz</table><p>extra" queryCommandState("justifycenter") before 
+FAIL [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table><tbody><tr><td>foo<td>b[a]r<td>baz</table><p>extra" queryCommandValue("justifycenter") before assert_equals: Wrong result returned expected "left" but got "false"
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table><tbody><tr><td>foo<td>b[a]r<td>baz</table><p>extra" queryCommandIndeterm("justifycenter") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table><tbody><tr><td>foo<td>b[a]r<td>baz</table><p>extra" queryCommandState("justifycenter") after 
+FAIL [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table><tbody><tr><td>foo<td>b[a]r<td>baz</table><p>extra" queryCommandValue("justifycenter") after assert_equals: Wrong result returned expected "center" but got "true"
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table><tbody><tr><td>foo<td>b[a]r<td>baz</table><p>extra": execCommand("stylewithcss", false, "true") return value 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table><tbody><tr><td>foo<td>b[a]r<td>baz</table><p>extra": execCommand("defaultparagraphseparator", false, "p") return value 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table><tbody><tr><td>foo<td>b[a]r<td>baz</table><p>extra": execCommand("justifycenter", false, "") return value 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table><tbody><tr><td>foo<td>b[a]r<td>baz</table><p>extra" checks for modifications to non-editable content 
+FAIL [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table><tbody><tr><td>foo<td>b[a]r<td>baz</table><p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<table><tbody><tr><td>foo</td><td><div style=\"text-align:center\">bar</div></td><td>baz</td></tr></tbody></table><p>extra</p>" but got "<table><tbody><tr><td>foo</td><td style=\"text-align:center\">bar</td><td>baz</td></tr></tbody></table><p>extra</p>"
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table><tbody><tr><td>foo<td>b[a]r<td>baz</table><p>extra" queryCommandIndeterm("stylewithcss") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table><tbody><tr><td>foo<td>b[a]r<td>baz</table><p>extra" queryCommandState("stylewithcss") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table><tbody><tr><td>foo<td>b[a]r<td>baz</table><p>extra" queryCommandValue("stylewithcss") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table><tbody><tr><td>foo<td>b[a]r<td>baz</table><p>extra" queryCommandIndeterm("stylewithcss") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table><tbody><tr><td>foo<td>b[a]r<td>baz</table><p>extra" queryCommandState("stylewithcss") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table><tbody><tr><td>foo<td>b[a]r<td>baz</table><p>extra" queryCommandValue("stylewithcss") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table><tbody><tr><td>foo<td>b[a]r<td>baz</table><p>extra" queryCommandIndeterm("defaultparagraphseparator") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table><tbody><tr><td>foo<td>b[a]r<td>baz</table><p>extra" queryCommandState("defaultparagraphseparator") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table><tbody><tr><td>foo<td>b[a]r<td>baz</table><p>extra" queryCommandValue("defaultparagraphseparator") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table><tbody><tr><td>foo<td>b[a]r<td>baz</table><p>extra" queryCommandIndeterm("defaultparagraphseparator") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table><tbody><tr><td>foo<td>b[a]r<td>baz</table><p>extra" queryCommandState("defaultparagraphseparator") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table><tbody><tr><td>foo<td>b[a]r<td>baz</table><p>extra" queryCommandValue("defaultparagraphseparator") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table><tbody><tr><td>foo<td>b[a]r<td>baz</table><p>extra" queryCommandIndeterm("justifycenter") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table><tbody><tr><td>foo<td>b[a]r<td>baz</table><p>extra" queryCommandState("justifycenter") before 
+FAIL [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table><tbody><tr><td>foo<td>b[a]r<td>baz</table><p>extra" queryCommandValue("justifycenter") before assert_equals: Wrong result returned expected "left" but got "false"
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table><tbody><tr><td>foo<td>b[a]r<td>baz</table><p>extra" queryCommandIndeterm("justifycenter") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table><tbody><tr><td>foo<td>b[a]r<td>baz</table><p>extra" queryCommandState("justifycenter") after 
+FAIL [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table><tbody><tr><td>foo<td>b[a]r<td>baz</table><p>extra" queryCommandValue("justifycenter") after assert_equals: Wrong result returned expected "center" but got "true"
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table><tbody><tr><td>foo<td>b[a]r<td>baz</table><p>extra": execCommand("stylewithcss", false, "false") return value 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table><tbody><tr><td>foo<td>b[a]r<td>baz</table><p>extra": execCommand("defaultparagraphseparator", false, "p") return value 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table><tbody><tr><td>foo<td>b[a]r<td>baz</table><p>extra": execCommand("justifycenter", false, "") return value 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table><tbody><tr><td>foo<td>b[a]r<td>baz</table><p>extra" checks for modifications to non-editable content 
+FAIL [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table><tbody><tr><td>foo<td>b[a]r<td>baz</table><p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<table><tbody><tr><td>foo</td><td><div style=\"text-align:center\">bar</div></td><td>baz</td></tr></tbody></table><p>extra</p>" but got "<table><tbody><tr><td>foo</td><td style=\"text-align:center\">bar</td><td>baz</td></tr></tbody></table><p>extra</p>"
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table><tbody><tr><td>foo<td>b[a]r<td>baz</table><p>extra" queryCommandIndeterm("stylewithcss") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table><tbody><tr><td>foo<td>b[a]r<td>baz</table><p>extra" queryCommandState("stylewithcss") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table><tbody><tr><td>foo<td>b[a]r<td>baz</table><p>extra" queryCommandValue("stylewithcss") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table><tbody><tr><td>foo<td>b[a]r<td>baz</table><p>extra" queryCommandIndeterm("stylewithcss") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table><tbody><tr><td>foo<td>b[a]r<td>baz</table><p>extra" queryCommandState("stylewithcss") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table><tbody><tr><td>foo<td>b[a]r<td>baz</table><p>extra" queryCommandValue("stylewithcss") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table><tbody><tr><td>foo<td>b[a]r<td>baz</table><p>extra" queryCommandIndeterm("defaultparagraphseparator") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table><tbody><tr><td>foo<td>b[a]r<td>baz</table><p>extra" queryCommandState("defaultparagraphseparator") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table><tbody><tr><td>foo<td>b[a]r<td>baz</table><p>extra" queryCommandValue("defaultparagraphseparator") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table><tbody><tr><td>foo<td>b[a]r<td>baz</table><p>extra" queryCommandIndeterm("defaultparagraphseparator") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table><tbody><tr><td>foo<td>b[a]r<td>baz</table><p>extra" queryCommandState("defaultparagraphseparator") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table><tbody><tr><td>foo<td>b[a]r<td>baz</table><p>extra" queryCommandValue("defaultparagraphseparator") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table><tbody><tr><td>foo<td>b[a]r<td>baz</table><p>extra" queryCommandIndeterm("justifycenter") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table><tbody><tr><td>foo<td>b[a]r<td>baz</table><p>extra" queryCommandState("justifycenter") before 
+FAIL [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table><tbody><tr><td>foo<td>b[a]r<td>baz</table><p>extra" queryCommandValue("justifycenter") before assert_equals: Wrong result returned expected "left" but got "false"
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table><tbody><tr><td>foo<td>b[a]r<td>baz</table><p>extra" queryCommandIndeterm("justifycenter") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table><tbody><tr><td>foo<td>b[a]r<td>baz</table><p>extra" queryCommandState("justifycenter") after 
+FAIL [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table><tbody><tr><td>foo<td>b[a]r<td>baz</table><p>extra" queryCommandValue("justifycenter") after assert_equals: Wrong result returned expected "center" but got "true"
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table><tbody><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table><p>extra": execCommand("stylewithcss", false, "true") return value 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table><tbody><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table><p>extra": execCommand("defaultparagraphseparator", false, "div") return value 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table><tbody><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table><p>extra": execCommand("justifycenter", false, "") return value 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table><tbody><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table><p>extra" checks for modifications to non-editable content 
+FAIL [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table><tbody><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table><p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<table><tbody><tr><td>foo</td><td><div style=\"text-align:center\">bar</div></td><td>baz</td></tr></tbody></table><p>extra</p>" but got "<table><tbody><tr><td>foo</td><td style=\"text-align:center\">bar</td><td style=\"text-align:center\">baz</td></tr></tbody></table><p>extra</p>"
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table><tbody><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("stylewithcss") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table><tbody><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("stylewithcss") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table><tbody><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("stylewithcss") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table><tbody><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("stylewithcss") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table><tbody><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("stylewithcss") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table><tbody><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("stylewithcss") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table><tbody><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("defaultparagraphseparator") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table><tbody><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("defaultparagraphseparator") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table><tbody><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("defaultparagraphseparator") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table><tbody><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("defaultparagraphseparator") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table><tbody><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("defaultparagraphseparator") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table><tbody><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("defaultparagraphseparator") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table><tbody><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("justifycenter") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table><tbody><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("justifycenter") before 
+FAIL [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table><tbody><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("justifycenter") before assert_equals: Wrong result returned expected "left" but got "false"
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table><tbody><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("justifycenter") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table><tbody><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("justifycenter") after 
+FAIL [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table><tbody><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("justifycenter") after assert_equals: Wrong result returned expected "center" but got "true"
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table><tbody><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table><p>extra": execCommand("stylewithcss", false, "false") return value 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table><tbody><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table><p>extra": execCommand("defaultparagraphseparator", false, "div") return value 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table><tbody><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table><p>extra": execCommand("justifycenter", false, "") return value 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table><tbody><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table><p>extra" checks for modifications to non-editable content 
+FAIL [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table><tbody><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table><p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<table><tbody><tr><td>foo</td><td><div style=\"text-align:center\">bar</div></td><td>baz</td></tr></tbody></table><p>extra</p>" but got "<table><tbody><tr><td>foo</td><td style=\"text-align:center\">bar</td><td style=\"text-align:center\">baz</td></tr></tbody></table><p>extra</p>"
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table><tbody><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("stylewithcss") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table><tbody><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("stylewithcss") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table><tbody><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("stylewithcss") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table><tbody><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("stylewithcss") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table><tbody><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("stylewithcss") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table><tbody><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("stylewithcss") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table><tbody><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("defaultparagraphseparator") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table><tbody><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("defaultparagraphseparator") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table><tbody><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("defaultparagraphseparator") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table><tbody><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("defaultparagraphseparator") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table><tbody><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("defaultparagraphseparator") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table><tbody><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("defaultparagraphseparator") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table><tbody><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("justifycenter") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table><tbody><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("justifycenter") before 
+FAIL [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table><tbody><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("justifycenter") before assert_equals: Wrong result returned expected "left" but got "false"
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table><tbody><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("justifycenter") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table><tbody><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("justifycenter") after 
+FAIL [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table><tbody><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("justifycenter") after assert_equals: Wrong result returned expected "center" but got "true"
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table><tbody><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table><p>extra": execCommand("stylewithcss", false, "true") return value 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table><tbody><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table><p>extra": execCommand("defaultparagraphseparator", false, "p") return value 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table><tbody><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table><p>extra": execCommand("justifycenter", false, "") return value 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table><tbody><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table><p>extra" checks for modifications to non-editable content 
+FAIL [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table><tbody><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table><p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<table><tbody><tr><td>foo</td><td><div style=\"text-align:center\">bar</div></td><td>baz</td></tr></tbody></table><p>extra</p>" but got "<table><tbody><tr><td>foo</td><td style=\"text-align:center\">bar</td><td style=\"text-align:center\">baz</td></tr></tbody></table><p>extra</p>"
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table><tbody><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("stylewithcss") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table><tbody><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("stylewithcss") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table><tbody><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("stylewithcss") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table><tbody><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("stylewithcss") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table><tbody><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("stylewithcss") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table><tbody><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("stylewithcss") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table><tbody><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("defaultparagraphseparator") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table><tbody><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("defaultparagraphseparator") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table><tbody><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("defaultparagraphseparator") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table><tbody><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("defaultparagraphseparator") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table><tbody><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("defaultparagraphseparator") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table><tbody><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("defaultparagraphseparator") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table><tbody><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("justifycenter") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table><tbody><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("justifycenter") before 
+FAIL [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table><tbody><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("justifycenter") before assert_equals: Wrong result returned expected "left" but got "false"
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table><tbody><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("justifycenter") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table><tbody><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("justifycenter") after 
+FAIL [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table><tbody><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("justifycenter") after assert_equals: Wrong result returned expected "center" but got "true"
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table><tbody><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table><p>extra": execCommand("stylewithcss", false, "false") return value 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table><tbody><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table><p>extra": execCommand("defaultparagraphseparator", false, "p") return value 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table><tbody><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table><p>extra": execCommand("justifycenter", false, "") return value 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table><tbody><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table><p>extra" checks for modifications to non-editable content 
+FAIL [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table><tbody><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table><p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<table><tbody><tr><td>foo</td><td><div style=\"text-align:center\">bar</div></td><td>baz</td></tr></tbody></table><p>extra</p>" but got "<table><tbody><tr><td>foo</td><td style=\"text-align:center\">bar</td><td style=\"text-align:center\">baz</td></tr></tbody></table><p>extra</p>"
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table><tbody><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("stylewithcss") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table><tbody><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("stylewithcss") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table><tbody><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("stylewithcss") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table><tbody><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("stylewithcss") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table><tbody><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("stylewithcss") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table><tbody><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("stylewithcss") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table><tbody><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("defaultparagraphseparator") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table><tbody><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("defaultparagraphseparator") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table><tbody><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("defaultparagraphseparator") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table><tbody><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("defaultparagraphseparator") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table><tbody><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("defaultparagraphseparator") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table><tbody><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("defaultparagraphseparator") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table><tbody><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("justifycenter") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table><tbody><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("justifycenter") before 
+FAIL [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table><tbody><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("justifycenter") before assert_equals: Wrong result returned expected "left" but got "false"
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table><tbody><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("justifycenter") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table><tbody><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("justifycenter") after 
+FAIL [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table><tbody><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("justifycenter") after assert_equals: Wrong result returned expected "center" but got "true"
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table><tbody><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table><p>extra": execCommand("stylewithcss", false, "true") return value 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table><tbody><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table><p>extra": execCommand("defaultparagraphseparator", false, "div") return value 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table><tbody><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table><p>extra": execCommand("justifycenter", false, "") return value 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table><tbody><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table><p>extra" checks for modifications to non-editable content 
+FAIL [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table><tbody><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table><p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<table><tbody><tr><td><div style=\"text-align:center\">foo</div></td><td><div style=\"text-align:center\">bar</div></td><td>baz</td></tr></tbody></table><p>extra</p>" but got "<table><tbody><tr><td style=\"text-align:center\">foo</td><td style=\"text-align:center\">bar</td><td style=\"text-align:center\">baz</td></tr></tbody></table><p>extra</p>"
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table><tbody><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("stylewithcss") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table><tbody><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("stylewithcss") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table><tbody><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("stylewithcss") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table><tbody><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("stylewithcss") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table><tbody><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("stylewithcss") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table><tbody><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("stylewithcss") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table><tbody><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("defaultparagraphseparator") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table><tbody><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("defaultparagraphseparator") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table><tbody><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("defaultparagraphseparator") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table><tbody><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("defaultparagraphseparator") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table><tbody><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("defaultparagraphseparator") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table><tbody><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("defaultparagraphseparator") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table><tbody><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("justifycenter") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table><tbody><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("justifycenter") before 
+FAIL [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table><tbody><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("justifycenter") before assert_equals: Wrong result returned expected "left" but got "false"
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table><tbody><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("justifycenter") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table><tbody><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("justifycenter") after 
+FAIL [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table><tbody><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("justifycenter") after assert_equals: Wrong result returned expected "center" but got "true"
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table><tbody><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table><p>extra": execCommand("stylewithcss", false, "false") return value 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table><tbody><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table><p>extra": execCommand("defaultparagraphseparator", false, "div") return value 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table><tbody><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table><p>extra": execCommand("justifycenter", false, "") return value 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table><tbody><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table><p>extra" checks for modifications to non-editable content 
+FAIL [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table><tbody><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table><p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<table><tbody><tr><td><div style=\"text-align:center\">foo</div></td><td><div style=\"text-align:center\">bar</div></td><td>baz</td></tr></tbody></table><p>extra</p>" but got "<table><tbody><tr><td style=\"text-align:center\">foo</td><td style=\"text-align:center\">bar</td><td style=\"text-align:center\">baz</td></tr></tbody></table><p>extra</p>"
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table><tbody><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("stylewithcss") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table><tbody><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("stylewithcss") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table><tbody><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("stylewithcss") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table><tbody><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("stylewithcss") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table><tbody><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("stylewithcss") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table><tbody><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("stylewithcss") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table><tbody><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("defaultparagraphseparator") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table><tbody><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("defaultparagraphseparator") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table><tbody><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("defaultparagraphseparator") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table><tbody><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("defaultparagraphseparator") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table><tbody><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("defaultparagraphseparator") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table><tbody><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("defaultparagraphseparator") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table><tbody><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("justifycenter") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table><tbody><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("justifycenter") before 
+FAIL [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table><tbody><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("justifycenter") before assert_equals: Wrong result returned expected "left" but got "false"
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table><tbody><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("justifycenter") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table><tbody><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("justifycenter") after 
+FAIL [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table><tbody><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("justifycenter") after assert_equals: Wrong result returned expected "center" but got "true"
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table><tbody><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table><p>extra": execCommand("stylewithcss", false, "true") return value 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table><tbody><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table><p>extra": execCommand("defaultparagraphseparator", false, "p") return value 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table><tbody><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table><p>extra": execCommand("justifycenter", false, "") return value 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table><tbody><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table><p>extra" checks for modifications to non-editable content 
+FAIL [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table><tbody><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table><p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<table><tbody><tr><td><div style=\"text-align:center\">foo</div></td><td><div style=\"text-align:center\">bar</div></td><td>baz</td></tr></tbody></table><p>extra</p>" but got "<table><tbody><tr><td style=\"text-align:center\">foo</td><td style=\"text-align:center\">bar</td><td style=\"text-align:center\">baz</td></tr></tbody></table><p>extra</p>"
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table><tbody><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("stylewithcss") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table><tbody><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("stylewithcss") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table><tbody><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("stylewithcss") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table><tbody><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("stylewithcss") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table><tbody><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("stylewithcss") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table><tbody><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("stylewithcss") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table><tbody><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("defaultparagraphseparator") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table><tbody><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("defaultparagraphseparator") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table><tbody><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("defaultparagraphseparator") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table><tbody><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("defaultparagraphseparator") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table><tbody><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("defaultparagraphseparator") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table><tbody><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("defaultparagraphseparator") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table><tbody><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("justifycenter") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table><tbody><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("justifycenter") before 
+FAIL [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table><tbody><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("justifycenter") before assert_equals: Wrong result returned expected "left" but got "false"
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table><tbody><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("justifycenter") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table><tbody><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("justifycenter") after 
+FAIL [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table><tbody><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("justifycenter") after assert_equals: Wrong result returned expected "center" but got "true"
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table><tbody><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table><p>extra": execCommand("stylewithcss", false, "false") return value 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table><tbody><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table><p>extra": execCommand("defaultparagraphseparator", false, "p") return value 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table><tbody><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table><p>extra": execCommand("justifycenter", false, "") return value 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table><tbody><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table><p>extra" checks for modifications to non-editable content 
+FAIL [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table><tbody><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table><p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<table><tbody><tr><td><div style=\"text-align:center\">foo</div></td><td><div style=\"text-align:center\">bar</div></td><td>baz</td></tr></tbody></table><p>extra</p>" but got "<table><tbody><tr><td style=\"text-align:center\">foo</td><td style=\"text-align:center\">bar</td><td style=\"text-align:center\">baz</td></tr></tbody></table><p>extra</p>"
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table><tbody><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("stylewithcss") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table><tbody><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("stylewithcss") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table><tbody><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("stylewithcss") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table><tbody><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("stylewithcss") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table><tbody><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("stylewithcss") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table><tbody><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("stylewithcss") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table><tbody><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("defaultparagraphseparator") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table><tbody><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("defaultparagraphseparator") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table><tbody><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("defaultparagraphseparator") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table><tbody><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("defaultparagraphseparator") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table><tbody><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("defaultparagraphseparator") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table><tbody><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("defaultparagraphseparator") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table><tbody><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("justifycenter") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table><tbody><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("justifycenter") before 
+FAIL [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table><tbody><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("justifycenter") before assert_equals: Wrong result returned expected "left" but got "false"
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table><tbody><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("justifycenter") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table><tbody><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("justifycenter") after 
+FAIL [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table><tbody><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("justifycenter") after assert_equals: Wrong result returned expected "center" but got "true"
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table><tbody data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra": execCommand("stylewithcss", false, "true") return value 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table><tbody data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra": execCommand("defaultparagraphseparator", false, "div") return value 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table><tbody data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra": execCommand("justifycenter", false, "") return value 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table><tbody data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" checks for modifications to non-editable content 
+FAIL [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table><tbody data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<div style=\"text-align:center\"><table><tbody><tr><td>foo</td><td>bar</td><td>baz</td></tr></tbody></table></div><p>extra</p>" but got "<table style=\"text-align:center\"><tbody><tr><td style=\"text-align:center\">foo</td><td style=\"text-align:center\">bar</td><td style=\"text-align:center\">baz</td></tr></tbody></table><p>extra</p>"
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table><tbody data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("stylewithcss") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table><tbody data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("stylewithcss") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table><tbody data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("stylewithcss") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table><tbody data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("stylewithcss") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table><tbody data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("stylewithcss") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table><tbody data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("stylewithcss") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table><tbody data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("defaultparagraphseparator") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table><tbody data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("defaultparagraphseparator") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table><tbody data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("defaultparagraphseparator") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table><tbody data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("defaultparagraphseparator") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table><tbody data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("defaultparagraphseparator") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table><tbody data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("defaultparagraphseparator") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table><tbody data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("justifycenter") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table><tbody data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("justifycenter") before 
+FAIL [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table><tbody data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("justifycenter") before assert_equals: Wrong result returned expected "left" but got "false"
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table><tbody data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("justifycenter") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table><tbody data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("justifycenter") after 
+FAIL [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table><tbody data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("justifycenter") after assert_equals: Wrong result returned expected "center" but got "true"
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table><tbody data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra": execCommand("stylewithcss", false, "false") return value 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table><tbody data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra": execCommand("defaultparagraphseparator", false, "div") return value 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table><tbody data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra": execCommand("justifycenter", false, "") return value 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table><tbody data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" checks for modifications to non-editable content 
+FAIL [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table><tbody data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<div style=\"text-align:center\"><table><tbody><tr><td>foo</td><td>bar</td><td>baz</td></tr></tbody></table></div><p>extra</p>" but got "<table style=\"text-align:center\"><tbody><tr><td style=\"text-align:center\">foo</td><td style=\"text-align:center\">bar</td><td style=\"text-align:center\">baz</td></tr></tbody></table><p>extra</p>"
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table><tbody data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("stylewithcss") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table><tbody data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("stylewithcss") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table><tbody data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("stylewithcss") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table><tbody data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("stylewithcss") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table><tbody data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("stylewithcss") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table><tbody data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("stylewithcss") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table><tbody data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("defaultparagraphseparator") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table><tbody data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("defaultparagraphseparator") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table><tbody data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("defaultparagraphseparator") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table><tbody data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("defaultparagraphseparator") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table><tbody data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("defaultparagraphseparator") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table><tbody data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("defaultparagraphseparator") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table><tbody data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("justifycenter") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table><tbody data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("justifycenter") before 
+FAIL [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table><tbody data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("justifycenter") before assert_equals: Wrong result returned expected "left" but got "false"
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table><tbody data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("justifycenter") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table><tbody data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("justifycenter") after 
+FAIL [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table><tbody data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("justifycenter") after assert_equals: Wrong result returned expected "center" but got "true"
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table><tbody data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra": execCommand("stylewithcss", false, "true") return value 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table><tbody data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra": execCommand("defaultparagraphseparator", false, "p") return value 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table><tbody data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra": execCommand("justifycenter", false, "") return value 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table><tbody data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" checks for modifications to non-editable content 
+FAIL [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table><tbody data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<div style=\"text-align:center\"><table><tbody><tr><td>foo</td><td>bar</td><td>baz</td></tr></tbody></table></div><p>extra</p>" but got "<table style=\"text-align:center\"><tbody><tr><td style=\"text-align:center\">foo</td><td style=\"text-align:center\">bar</td><td style=\"text-align:center\">baz</td></tr></tbody></table><p>extra</p>"
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table><tbody data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("stylewithcss") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table><tbody data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("stylewithcss") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table><tbody data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("stylewithcss") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table><tbody data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("stylewithcss") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table><tbody data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("stylewithcss") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table><tbody data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("stylewithcss") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table><tbody data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("defaultparagraphseparator") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table><tbody data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("defaultparagraphseparator") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table><tbody data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("defaultparagraphseparator") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table><tbody data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("defaultparagraphseparator") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table><tbody data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("defaultparagraphseparator") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table><tbody data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("defaultparagraphseparator") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table><tbody data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("justifycenter") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table><tbody data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("justifycenter") before 
+FAIL [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table><tbody data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("justifycenter") before assert_equals: Wrong result returned expected "left" but got "false"
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table><tbody data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("justifycenter") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table><tbody data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("justifycenter") after 
+FAIL [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table><tbody data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("justifycenter") after assert_equals: Wrong result returned expected "center" but got "true"
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table><tbody data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra": execCommand("stylewithcss", false, "false") return value 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table><tbody data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra": execCommand("defaultparagraphseparator", false, "p") return value 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table><tbody data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra": execCommand("justifycenter", false, "") return value 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table><tbody data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" checks for modifications to non-editable content 
+FAIL [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table><tbody data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<div style=\"text-align:center\"><table><tbody><tr><td>foo</td><td>bar</td><td>baz</td></tr></tbody></table></div><p>extra</p>" but got "<table style=\"text-align:center\"><tbody><tr><td style=\"text-align:center\">foo</td><td style=\"text-align:center\">bar</td><td style=\"text-align:center\">baz</td></tr></tbody></table><p>extra</p>"
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table><tbody data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("stylewithcss") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table><tbody data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("stylewithcss") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table><tbody data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("stylewithcss") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table><tbody data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("stylewithcss") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table><tbody data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("stylewithcss") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table><tbody data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("stylewithcss") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table><tbody data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("defaultparagraphseparator") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table><tbody data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("defaultparagraphseparator") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table><tbody data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("defaultparagraphseparator") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table><tbody data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("defaultparagraphseparator") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table><tbody data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("defaultparagraphseparator") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table><tbody data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("defaultparagraphseparator") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table><tbody data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("justifycenter") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table><tbody data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("justifycenter") before 
+FAIL [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table><tbody data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("justifycenter") before assert_equals: Wrong result returned expected "left" but got "false"
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table><tbody data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("justifycenter") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table><tbody data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("justifycenter") after 
+FAIL [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table><tbody data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("justifycenter") after assert_equals: Wrong result returned expected "center" but got "true"
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table data-start=0 data-end=1><tbody><tr><td>foo<td>bar<td>baz</table><p>extra": execCommand("stylewithcss", false, "true") return value 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table data-start=0 data-end=1><tbody><tr><td>foo<td>bar<td>baz</table><p>extra": execCommand("defaultparagraphseparator", false, "div") return value 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table data-start=0 data-end=1><tbody><tr><td>foo<td>bar<td>baz</table><p>extra": execCommand("justifycenter", false, "") return value 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table data-start=0 data-end=1><tbody><tr><td>foo<td>bar<td>baz</table><p>extra" checks for modifications to non-editable content 
+FAIL [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table data-start=0 data-end=1><tbody><tr><td>foo<td>bar<td>baz</table><p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<div style=\"text-align:center\"><table><tbody><tr><td>foo</td><td>bar</td><td>baz</td></tr></tbody></table></div><p>extra</p>" but got "<table style=\"text-align:center\"><tbody><tr><td>foo</td><td>bar</td><td>baz</td></tr></tbody></table><p>extra</p>"
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table data-start=0 data-end=1><tbody><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("stylewithcss") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table data-start=0 data-end=1><tbody><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("stylewithcss") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table data-start=0 data-end=1><tbody><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("stylewithcss") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table data-start=0 data-end=1><tbody><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("stylewithcss") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table data-start=0 data-end=1><tbody><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("stylewithcss") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table data-start=0 data-end=1><tbody><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("stylewithcss") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table data-start=0 data-end=1><tbody><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("defaultparagraphseparator") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table data-start=0 data-end=1><tbody><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("defaultparagraphseparator") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table data-start=0 data-end=1><tbody><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("defaultparagraphseparator") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table data-start=0 data-end=1><tbody><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("defaultparagraphseparator") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table data-start=0 data-end=1><tbody><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("defaultparagraphseparator") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table data-start=0 data-end=1><tbody><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("defaultparagraphseparator") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table data-start=0 data-end=1><tbody><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("justifycenter") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table data-start=0 data-end=1><tbody><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("justifycenter") before 
+FAIL [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table data-start=0 data-end=1><tbody><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("justifycenter") before assert_equals: Wrong result returned expected "left" but got "false"
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table data-start=0 data-end=1><tbody><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("justifycenter") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table data-start=0 data-end=1><tbody><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("justifycenter") after 
+FAIL [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table data-start=0 data-end=1><tbody><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("justifycenter") after assert_equals: Wrong result returned expected "center" but got "true"
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table data-start=0 data-end=1><tbody><tr><td>foo<td>bar<td>baz</table><p>extra": execCommand("stylewithcss", false, "false") return value 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table data-start=0 data-end=1><tbody><tr><td>foo<td>bar<td>baz</table><p>extra": execCommand("defaultparagraphseparator", false, "div") return value 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table data-start=0 data-end=1><tbody><tr><td>foo<td>bar<td>baz</table><p>extra": execCommand("justifycenter", false, "") return value 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table data-start=0 data-end=1><tbody><tr><td>foo<td>bar<td>baz</table><p>extra" checks for modifications to non-editable content 
+FAIL [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table data-start=0 data-end=1><tbody><tr><td>foo<td>bar<td>baz</table><p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<div style=\"text-align:center\"><table><tbody><tr><td>foo</td><td>bar</td><td>baz</td></tr></tbody></table></div><p>extra</p>" but got "<table style=\"text-align:center\"><tbody><tr><td>foo</td><td>bar</td><td>baz</td></tr></tbody></table><p>extra</p>"
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table data-start=0 data-end=1><tbody><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("stylewithcss") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table data-start=0 data-end=1><tbody><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("stylewithcss") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table data-start=0 data-end=1><tbody><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("stylewithcss") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table data-start=0 data-end=1><tbody><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("stylewithcss") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table data-start=0 data-end=1><tbody><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("stylewithcss") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table data-start=0 data-end=1><tbody><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("stylewithcss") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table data-start=0 data-end=1><tbody><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("defaultparagraphseparator") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table data-start=0 data-end=1><tbody><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("defaultparagraphseparator") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table data-start=0 data-end=1><tbody><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("defaultparagraphseparator") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table data-start=0 data-end=1><tbody><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("defaultparagraphseparator") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table data-start=0 data-end=1><tbody><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("defaultparagraphseparator") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table data-start=0 data-end=1><tbody><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("defaultparagraphseparator") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table data-start=0 data-end=1><tbody><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("justifycenter") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table data-start=0 data-end=1><tbody><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("justifycenter") before 
+FAIL [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table data-start=0 data-end=1><tbody><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("justifycenter") before assert_equals: Wrong result returned expected "left" but got "false"
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table data-start=0 data-end=1><tbody><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("justifycenter") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table data-start=0 data-end=1><tbody><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("justifycenter") after 
+FAIL [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table data-start=0 data-end=1><tbody><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("justifycenter") after assert_equals: Wrong result returned expected "center" but got "true"
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table data-start=0 data-end=1><tbody><tr><td>foo<td>bar<td>baz</table><p>extra": execCommand("stylewithcss", false, "true") return value 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table data-start=0 data-end=1><tbody><tr><td>foo<td>bar<td>baz</table><p>extra": execCommand("defaultparagraphseparator", false, "p") return value 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table data-start=0 data-end=1><tbody><tr><td>foo<td>bar<td>baz</table><p>extra": execCommand("justifycenter", false, "") return value 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table data-start=0 data-end=1><tbody><tr><td>foo<td>bar<td>baz</table><p>extra" checks for modifications to non-editable content 
+FAIL [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table data-start=0 data-end=1><tbody><tr><td>foo<td>bar<td>baz</table><p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<div style=\"text-align:center\"><table><tbody><tr><td>foo</td><td>bar</td><td>baz</td></tr></tbody></table></div><p>extra</p>" but got "<table style=\"text-align:center\"><tbody><tr><td>foo</td><td>bar</td><td>baz</td></tr></tbody></table><p>extra</p>"
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table data-start=0 data-end=1><tbody><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("stylewithcss") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table data-start=0 data-end=1><tbody><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("stylewithcss") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table data-start=0 data-end=1><tbody><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("stylewithcss") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table data-start=0 data-end=1><tbody><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("stylewithcss") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table data-start=0 data-end=1><tbody><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("stylewithcss") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table data-start=0 data-end=1><tbody><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("stylewithcss") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table data-start=0 data-end=1><tbody><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("defaultparagraphseparator") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table data-start=0 data-end=1><tbody><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("defaultparagraphseparator") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table data-start=0 data-end=1><tbody><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("defaultparagraphseparator") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table data-start=0 data-end=1><tbody><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("defaultparagraphseparator") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table data-start=0 data-end=1><tbody><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("defaultparagraphseparator") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table data-start=0 data-end=1><tbody><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("defaultparagraphseparator") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table data-start=0 data-end=1><tbody><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("justifycenter") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table data-start=0 data-end=1><tbody><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("justifycenter") before 
+FAIL [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table data-start=0 data-end=1><tbody><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("justifycenter") before assert_equals: Wrong result returned expected "left" but got "false"
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table data-start=0 data-end=1><tbody><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("justifycenter") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table data-start=0 data-end=1><tbody><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("justifycenter") after 
+FAIL [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table data-start=0 data-end=1><tbody><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("justifycenter") after assert_equals: Wrong result returned expected "center" but got "true"
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table data-start=0 data-end=1><tbody><tr><td>foo<td>bar<td>baz</table><p>extra": execCommand("stylewithcss", false, "false") return value 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table data-start=0 data-end=1><tbody><tr><td>foo<td>bar<td>baz</table><p>extra": execCommand("defaultparagraphseparator", false, "p") return value 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table data-start=0 data-end=1><tbody><tr><td>foo<td>bar<td>baz</table><p>extra": execCommand("justifycenter", false, "") return value 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table data-start=0 data-end=1><tbody><tr><td>foo<td>bar<td>baz</table><p>extra" checks for modifications to non-editable content 
+FAIL [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table data-start=0 data-end=1><tbody><tr><td>foo<td>bar<td>baz</table><p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<div style=\"text-align:center\"><table><tbody><tr><td>foo</td><td>bar</td><td>baz</td></tr></tbody></table></div><p>extra</p>" but got "<table style=\"text-align:center\"><tbody><tr><td>foo</td><td>bar</td><td>baz</td></tr></tbody></table><p>extra</p>"
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table data-start=0 data-end=1><tbody><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("stylewithcss") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table data-start=0 data-end=1><tbody><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("stylewithcss") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table data-start=0 data-end=1><tbody><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("stylewithcss") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table data-start=0 data-end=1><tbody><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("stylewithcss") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table data-start=0 data-end=1><tbody><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("stylewithcss") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table data-start=0 data-end=1><tbody><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("stylewithcss") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table data-start=0 data-end=1><tbody><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("defaultparagraphseparator") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table data-start=0 data-end=1><tbody><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("defaultparagraphseparator") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table data-start=0 data-end=1><tbody><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("defaultparagraphseparator") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table data-start=0 data-end=1><tbody><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("defaultparagraphseparator") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table data-start=0 data-end=1><tbody><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("defaultparagraphseparator") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table data-start=0 data-end=1><tbody><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("defaultparagraphseparator") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table data-start=0 data-end=1><tbody><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("justifycenter") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table data-start=0 data-end=1><tbody><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("justifycenter") before 
+FAIL [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table data-start=0 data-end=1><tbody><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("justifycenter") before assert_equals: Wrong result returned expected "left" but got "false"
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table data-start=0 data-end=1><tbody><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("justifycenter") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table data-start=0 data-end=1><tbody><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("justifycenter") after 
+FAIL [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table data-start=0 data-end=1><tbody><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("justifycenter") after assert_equals: Wrong result returned expected "center" but got "true"
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "{<table><tr><td>foo<td>bar<td>baz</table>}<p>extra": execCommand("stylewithcss", false, "true") return value 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "{<table><tr><td>foo<td>bar<td>baz</table>}<p>extra": execCommand("defaultparagraphseparator", false, "div") return value 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "{<table><tr><td>foo<td>bar<td>baz</table>}<p>extra": execCommand("justifycenter", false, "") return value 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "{<table><tr><td>foo<td>bar<td>baz</table>}<p>extra" checks for modifications to non-editable content 
+FAIL [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "{<table><tr><td>foo<td>bar<td>baz</table>}<p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<div style=\"text-align:center\"><table><tbody><tr><td>foo</td><td>bar</td><td>baz</td></tr></tbody></table></div><p>extra</p>" but got "<table style=\"text-align:center\"><tbody><tr><td>foo</td><td>bar</td><td>baz</td></tr></tbody></table><p style=\"text-align:center\">extra</p>"
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "{<table><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandIndeterm("stylewithcss") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "{<table><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandState("stylewithcss") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "{<table><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandValue("stylewithcss") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "{<table><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandIndeterm("stylewithcss") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "{<table><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandState("stylewithcss") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "{<table><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandValue("stylewithcss") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "{<table><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandIndeterm("defaultparagraphseparator") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "{<table><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandState("defaultparagraphseparator") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "{<table><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandValue("defaultparagraphseparator") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "{<table><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandIndeterm("defaultparagraphseparator") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "{<table><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandState("defaultparagraphseparator") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "{<table><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandValue("defaultparagraphseparator") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "{<table><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandIndeterm("justifycenter") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "{<table><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandState("justifycenter") before 
+FAIL [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "{<table><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandValue("justifycenter") before assert_equals: Wrong result returned expected "left" but got "false"
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "{<table><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandIndeterm("justifycenter") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "{<table><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandState("justifycenter") after 
+FAIL [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "{<table><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandValue("justifycenter") after assert_equals: Wrong result returned expected "center" but got "true"
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "{<table><tr><td>foo<td>bar<td>baz</table>}<p>extra": execCommand("stylewithcss", false, "false") return value 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "{<table><tr><td>foo<td>bar<td>baz</table>}<p>extra": execCommand("defaultparagraphseparator", false, "div") return value 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "{<table><tr><td>foo<td>bar<td>baz</table>}<p>extra": execCommand("justifycenter", false, "") return value 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "{<table><tr><td>foo<td>bar<td>baz</table>}<p>extra" checks for modifications to non-editable content 
+FAIL [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "{<table><tr><td>foo<td>bar<td>baz</table>}<p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<div style=\"text-align:center\"><table><tbody><tr><td>foo</td><td>bar</td><td>baz</td></tr></tbody></table></div><p>extra</p>" but got "<table style=\"text-align:center\"><tbody><tr><td>foo</td><td>bar</td><td>baz</td></tr></tbody></table><p style=\"text-align:center\">extra</p>"
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "{<table><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandIndeterm("stylewithcss") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "{<table><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandState("stylewithcss") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "{<table><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandValue("stylewithcss") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "{<table><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandIndeterm("stylewithcss") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "{<table><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandState("stylewithcss") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "{<table><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandValue("stylewithcss") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "{<table><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandIndeterm("defaultparagraphseparator") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "{<table><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandState("defaultparagraphseparator") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "{<table><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandValue("defaultparagraphseparator") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "{<table><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandIndeterm("defaultparagraphseparator") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "{<table><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandState("defaultparagraphseparator") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "{<table><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandValue("defaultparagraphseparator") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "{<table><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandIndeterm("justifycenter") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "{<table><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandState("justifycenter") before 
+FAIL [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "{<table><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandValue("justifycenter") before assert_equals: Wrong result returned expected "left" but got "false"
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "{<table><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandIndeterm("justifycenter") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "{<table><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandState("justifycenter") after 
+FAIL [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "{<table><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandValue("justifycenter") after assert_equals: Wrong result returned expected "center" but got "true"
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "{<table><tr><td>foo<td>bar<td>baz</table>}<p>extra": execCommand("stylewithcss", false, "true") return value 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "{<table><tr><td>foo<td>bar<td>baz</table>}<p>extra": execCommand("defaultparagraphseparator", false, "p") return value 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "{<table><tr><td>foo<td>bar<td>baz</table>}<p>extra": execCommand("justifycenter", false, "") return value 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "{<table><tr><td>foo<td>bar<td>baz</table>}<p>extra" checks for modifications to non-editable content 
+FAIL [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "{<table><tr><td>foo<td>bar<td>baz</table>}<p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<div style=\"text-align:center\"><table><tbody><tr><td>foo</td><td>bar</td><td>baz</td></tr></tbody></table></div><p>extra</p>" but got "<table style=\"text-align:center\"><tbody><tr><td>foo</td><td>bar</td><td>baz</td></tr></tbody></table><p style=\"text-align:center\">extra</p>"
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "{<table><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandIndeterm("stylewithcss") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "{<table><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandState("stylewithcss") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "{<table><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandValue("stylewithcss") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "{<table><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandIndeterm("stylewithcss") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "{<table><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandState("stylewithcss") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "{<table><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandValue("stylewithcss") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "{<table><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandIndeterm("defaultparagraphseparator") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "{<table><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandState("defaultparagraphseparator") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "{<table><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandValue("defaultparagraphseparator") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "{<table><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandIndeterm("defaultparagraphseparator") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "{<table><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandState("defaultparagraphseparator") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "{<table><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandValue("defaultparagraphseparator") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "{<table><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandIndeterm("justifycenter") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "{<table><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandState("justifycenter") before 
+FAIL [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "{<table><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandValue("justifycenter") before assert_equals: Wrong result returned expected "left" but got "false"
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "{<table><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandIndeterm("justifycenter") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "{<table><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandState("justifycenter") after 
+FAIL [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "{<table><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandValue("justifycenter") after assert_equals: Wrong result returned expected "center" but got "true"
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "{<table><tr><td>foo<td>bar<td>baz</table>}<p>extra": execCommand("stylewithcss", false, "false") return value 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "{<table><tr><td>foo<td>bar<td>baz</table>}<p>extra": execCommand("defaultparagraphseparator", false, "p") return value 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "{<table><tr><td>foo<td>bar<td>baz</table>}<p>extra": execCommand("justifycenter", false, "") return value 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "{<table><tr><td>foo<td>bar<td>baz</table>}<p>extra" checks for modifications to non-editable content 
+FAIL [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "{<table><tr><td>foo<td>bar<td>baz</table>}<p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<div style=\"text-align:center\"><table><tbody><tr><td>foo</td><td>bar</td><td>baz</td></tr></tbody></table></div><p>extra</p>" but got "<table style=\"text-align:center\"><tbody><tr><td>foo</td><td>bar</td><td>baz</td></tr></tbody></table><p style=\"text-align:center\">extra</p>"
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "{<table><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandIndeterm("stylewithcss") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "{<table><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandState("stylewithcss") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "{<table><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandValue("stylewithcss") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "{<table><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandIndeterm("stylewithcss") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "{<table><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandState("stylewithcss") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "{<table><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandValue("stylewithcss") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "{<table><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandIndeterm("defaultparagraphseparator") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "{<table><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandState("defaultparagraphseparator") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "{<table><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandValue("defaultparagraphseparator") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "{<table><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandIndeterm("defaultparagraphseparator") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "{<table><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandState("defaultparagraphseparator") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "{<table><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandValue("defaultparagraphseparator") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "{<table><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandIndeterm("justifycenter") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "{<table><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandState("justifycenter") before 
+FAIL [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "{<table><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandValue("justifycenter") before assert_equals: Wrong result returned expected "left" but got "false"
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "{<table><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandIndeterm("justifycenter") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "{<table><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandState("justifycenter") after 
+FAIL [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "{<table><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandValue("justifycenter") after assert_equals: Wrong result returned expected "center" but got "true"
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table align=center><tbody><tr><td>foo<td>b[a]r<td>baz</table><p>extra": execCommand("stylewithcss", false, "true") return value 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table align=center><tbody><tr><td>foo<td>b[a]r<td>baz</table><p>extra": execCommand("defaultparagraphseparator", false, "div") return value 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table align=center><tbody><tr><td>foo<td>b[a]r<td>baz</table><p>extra": execCommand("justifycenter", false, "") return value 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table align=center><tbody><tr><td>foo<td>b[a]r<td>baz</table><p>extra" checks for modifications to non-editable content 
+FAIL [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table align=center><tbody><tr><td>foo<td>b[a]r<td>baz</table><p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<table align=\"center\"><tbody><tr><td>foo</td><td><div style=\"text-align:center\">bar</div></td><td>baz</td></tr></tbody></table><p>extra</p>" but got "<table align=\"center\"><tbody><tr><td>foo</td><td style=\"text-align:center\">bar</td><td>baz</td></tr></tbody></table><p>extra</p>"
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table align=center><tbody><tr><td>foo<td>b[a]r<td>baz</table><p>extra" queryCommandIndeterm("stylewithcss") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table align=center><tbody><tr><td>foo<td>b[a]r<td>baz</table><p>extra" queryCommandState("stylewithcss") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table align=center><tbody><tr><td>foo<td>b[a]r<td>baz</table><p>extra" queryCommandValue("stylewithcss") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table align=center><tbody><tr><td>foo<td>b[a]r<td>baz</table><p>extra" queryCommandIndeterm("stylewithcss") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table align=center><tbody><tr><td>foo<td>b[a]r<td>baz</table><p>extra" queryCommandState("stylewithcss") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table align=center><tbody><tr><td>foo<td>b[a]r<td>baz</table><p>extra" queryCommandValue("stylewithcss") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table align=center><tbody><tr><td>foo<td>b[a]r<td>baz</table><p>extra" queryCommandIndeterm("defaultparagraphseparator") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table align=center><tbody><tr><td>foo<td>b[a]r<td>baz</table><p>extra" queryCommandState("defaultparagraphseparator") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table align=center><tbody><tr><td>foo<td>b[a]r<td>baz</table><p>extra" queryCommandValue("defaultparagraphseparator") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table align=center><tbody><tr><td>foo<td>b[a]r<td>baz</table><p>extra" queryCommandIndeterm("defaultparagraphseparator") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table align=center><tbody><tr><td>foo<td>b[a]r<td>baz</table><p>extra" queryCommandState("defaultparagraphseparator") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table align=center><tbody><tr><td>foo<td>b[a]r<td>baz</table><p>extra" queryCommandValue("defaultparagraphseparator") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table align=center><tbody><tr><td>foo<td>b[a]r<td>baz</table><p>extra" queryCommandIndeterm("justifycenter") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table align=center><tbody><tr><td>foo<td>b[a]r<td>baz</table><p>extra" queryCommandState("justifycenter") before 
+FAIL [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table align=center><tbody><tr><td>foo<td>b[a]r<td>baz</table><p>extra" queryCommandValue("justifycenter") before assert_equals: Wrong result returned expected "left" but got "false"
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table align=center><tbody><tr><td>foo<td>b[a]r<td>baz</table><p>extra" queryCommandIndeterm("justifycenter") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table align=center><tbody><tr><td>foo<td>b[a]r<td>baz</table><p>extra" queryCommandState("justifycenter") after 
+FAIL [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table align=center><tbody><tr><td>foo<td>b[a]r<td>baz</table><p>extra" queryCommandValue("justifycenter") after assert_equals: Wrong result returned expected "center" but got "true"
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table align=center><tbody><tr><td>foo<td>b[a]r<td>baz</table><p>extra": execCommand("stylewithcss", false, "false") return value 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table align=center><tbody><tr><td>foo<td>b[a]r<td>baz</table><p>extra": execCommand("defaultparagraphseparator", false, "div") return value 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table align=center><tbody><tr><td>foo<td>b[a]r<td>baz</table><p>extra": execCommand("justifycenter", false, "") return value 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table align=center><tbody><tr><td>foo<td>b[a]r<td>baz</table><p>extra" checks for modifications to non-editable content 
+FAIL [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table align=center><tbody><tr><td>foo<td>b[a]r<td>baz</table><p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<table align=\"center\"><tbody><tr><td>foo</td><td><div style=\"text-align:center\">bar</div></td><td>baz</td></tr></tbody></table><p>extra</p>" but got "<table align=\"center\"><tbody><tr><td>foo</td><td style=\"text-align:center\">bar</td><td>baz</td></tr></tbody></table><p>extra</p>"
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table align=center><tbody><tr><td>foo<td>b[a]r<td>baz</table><p>extra" queryCommandIndeterm("stylewithcss") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table align=center><tbody><tr><td>foo<td>b[a]r<td>baz</table><p>extra" queryCommandState("stylewithcss") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table align=center><tbody><tr><td>foo<td>b[a]r<td>baz</table><p>extra" queryCommandValue("stylewithcss") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table align=center><tbody><tr><td>foo<td>b[a]r<td>baz</table><p>extra" queryCommandIndeterm("stylewithcss") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table align=center><tbody><tr><td>foo<td>b[a]r<td>baz</table><p>extra" queryCommandState("stylewithcss") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table align=center><tbody><tr><td>foo<td>b[a]r<td>baz</table><p>extra" queryCommandValue("stylewithcss") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table align=center><tbody><tr><td>foo<td>b[a]r<td>baz</table><p>extra" queryCommandIndeterm("defaultparagraphseparator") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table align=center><tbody><tr><td>foo<td>b[a]r<td>baz</table><p>extra" queryCommandState("defaultparagraphseparator") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table align=center><tbody><tr><td>foo<td>b[a]r<td>baz</table><p>extra" queryCommandValue("defaultparagraphseparator") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table align=center><tbody><tr><td>foo<td>b[a]r<td>baz</table><p>extra" queryCommandIndeterm("defaultparagraphseparator") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table align=center><tbody><tr><td>foo<td>b[a]r<td>baz</table><p>extra" queryCommandState("defaultparagraphseparator") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table align=center><tbody><tr><td>foo<td>b[a]r<td>baz</table><p>extra" queryCommandValue("defaultparagraphseparator") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table align=center><tbody><tr><td>foo<td>b[a]r<td>baz</table><p>extra" queryCommandIndeterm("justifycenter") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table align=center><tbody><tr><td>foo<td>b[a]r<td>baz</table><p>extra" queryCommandState("justifycenter") before 
+FAIL [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table align=center><tbody><tr><td>foo<td>b[a]r<td>baz</table><p>extra" queryCommandValue("justifycenter") before assert_equals: Wrong result returned expected "left" but got "false"
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table align=center><tbody><tr><td>foo<td>b[a]r<td>baz</table><p>extra" queryCommandIndeterm("justifycenter") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table align=center><tbody><tr><td>foo<td>b[a]r<td>baz</table><p>extra" queryCommandState("justifycenter") after 
+FAIL [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table align=center><tbody><tr><td>foo<td>b[a]r<td>baz</table><p>extra" queryCommandValue("justifycenter") after assert_equals: Wrong result returned expected "center" but got "true"
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table align=center><tbody><tr><td>foo<td>b[a]r<td>baz</table><p>extra": execCommand("stylewithcss", false, "true") return value 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table align=center><tbody><tr><td>foo<td>b[a]r<td>baz</table><p>extra": execCommand("defaultparagraphseparator", false, "p") return value 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table align=center><tbody><tr><td>foo<td>b[a]r<td>baz</table><p>extra": execCommand("justifycenter", false, "") return value 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table align=center><tbody><tr><td>foo<td>b[a]r<td>baz</table><p>extra" checks for modifications to non-editable content 
+FAIL [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table align=center><tbody><tr><td>foo<td>b[a]r<td>baz</table><p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<table align=\"center\"><tbody><tr><td>foo</td><td><div style=\"text-align:center\">bar</div></td><td>baz</td></tr></tbody></table><p>extra</p>" but got "<table align=\"center\"><tbody><tr><td>foo</td><td style=\"text-align:center\">bar</td><td>baz</td></tr></tbody></table><p>extra</p>"
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table align=center><tbody><tr><td>foo<td>b[a]r<td>baz</table><p>extra" queryCommandIndeterm("stylewithcss") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table align=center><tbody><tr><td>foo<td>b[a]r<td>baz</table><p>extra" queryCommandState("stylewithcss") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table align=center><tbody><tr><td>foo<td>b[a]r<td>baz</table><p>extra" queryCommandValue("stylewithcss") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table align=center><tbody><tr><td>foo<td>b[a]r<td>baz</table><p>extra" queryCommandIndeterm("stylewithcss") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table align=center><tbody><tr><td>foo<td>b[a]r<td>baz</table><p>extra" queryCommandState("stylewithcss") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table align=center><tbody><tr><td>foo<td>b[a]r<td>baz</table><p>extra" queryCommandValue("stylewithcss") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table align=center><tbody><tr><td>foo<td>b[a]r<td>baz</table><p>extra" queryCommandIndeterm("defaultparagraphseparator") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table align=center><tbody><tr><td>foo<td>b[a]r<td>baz</table><p>extra" queryCommandState("defaultparagraphseparator") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table align=center><tbody><tr><td>foo<td>b[a]r<td>baz</table><p>extra" queryCommandValue("defaultparagraphseparator") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table align=center><tbody><tr><td>foo<td>b[a]r<td>baz</table><p>extra" queryCommandIndeterm("defaultparagraphseparator") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table align=center><tbody><tr><td>foo<td>b[a]r<td>baz</table><p>extra" queryCommandState("defaultparagraphseparator") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table align=center><tbody><tr><td>foo<td>b[a]r<td>baz</table><p>extra" queryCommandValue("defaultparagraphseparator") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table align=center><tbody><tr><td>foo<td>b[a]r<td>baz</table><p>extra" queryCommandIndeterm("justifycenter") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table align=center><tbody><tr><td>foo<td>b[a]r<td>baz</table><p>extra" queryCommandState("justifycenter") before 
+FAIL [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table align=center><tbody><tr><td>foo<td>b[a]r<td>baz</table><p>extra" queryCommandValue("justifycenter") before assert_equals: Wrong result returned expected "left" but got "false"
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table align=center><tbody><tr><td>foo<td>b[a]r<td>baz</table><p>extra" queryCommandIndeterm("justifycenter") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table align=center><tbody><tr><td>foo<td>b[a]r<td>baz</table><p>extra" queryCommandState("justifycenter") after 
+FAIL [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table align=center><tbody><tr><td>foo<td>b[a]r<td>baz</table><p>extra" queryCommandValue("justifycenter") after assert_equals: Wrong result returned expected "center" but got "true"
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table align=center><tbody><tr><td>foo<td>b[a]r<td>baz</table><p>extra": execCommand("stylewithcss", false, "false") return value 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table align=center><tbody><tr><td>foo<td>b[a]r<td>baz</table><p>extra": execCommand("defaultparagraphseparator", false, "p") return value 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table align=center><tbody><tr><td>foo<td>b[a]r<td>baz</table><p>extra": execCommand("justifycenter", false, "") return value 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table align=center><tbody><tr><td>foo<td>b[a]r<td>baz</table><p>extra" checks for modifications to non-editable content 
+FAIL [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table align=center><tbody><tr><td>foo<td>b[a]r<td>baz</table><p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<table align=\"center\"><tbody><tr><td>foo</td><td><div style=\"text-align:center\">bar</div></td><td>baz</td></tr></tbody></table><p>extra</p>" but got "<table align=\"center\"><tbody><tr><td>foo</td><td style=\"text-align:center\">bar</td><td>baz</td></tr></tbody></table><p>extra</p>"
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table align=center><tbody><tr><td>foo<td>b[a]r<td>baz</table><p>extra" queryCommandIndeterm("stylewithcss") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table align=center><tbody><tr><td>foo<td>b[a]r<td>baz</table><p>extra" queryCommandState("stylewithcss") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table align=center><tbody><tr><td>foo<td>b[a]r<td>baz</table><p>extra" queryCommandValue("stylewithcss") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table align=center><tbody><tr><td>foo<td>b[a]r<td>baz</table><p>extra" queryCommandIndeterm("stylewithcss") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table align=center><tbody><tr><td>foo<td>b[a]r<td>baz</table><p>extra" queryCommandState("stylewithcss") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table align=center><tbody><tr><td>foo<td>b[a]r<td>baz</table><p>extra" queryCommandValue("stylewithcss") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table align=center><tbody><tr><td>foo<td>b[a]r<td>baz</table><p>extra" queryCommandIndeterm("defaultparagraphseparator") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table align=center><tbody><tr><td>foo<td>b[a]r<td>baz</table><p>extra" queryCommandState("defaultparagraphseparator") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table align=center><tbody><tr><td>foo<td>b[a]r<td>baz</table><p>extra" queryCommandValue("defaultparagraphseparator") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table align=center><tbody><tr><td>foo<td>b[a]r<td>baz</table><p>extra" queryCommandIndeterm("defaultparagraphseparator") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table align=center><tbody><tr><td>foo<td>b[a]r<td>baz</table><p>extra" queryCommandState("defaultparagraphseparator") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table align=center><tbody><tr><td>foo<td>b[a]r<td>baz</table><p>extra" queryCommandValue("defaultparagraphseparator") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table align=center><tbody><tr><td>foo<td>b[a]r<td>baz</table><p>extra" queryCommandIndeterm("justifycenter") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table align=center><tbody><tr><td>foo<td>b[a]r<td>baz</table><p>extra" queryCommandState("justifycenter") before 
+FAIL [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table align=center><tbody><tr><td>foo<td>b[a]r<td>baz</table><p>extra" queryCommandValue("justifycenter") before assert_equals: Wrong result returned expected "left" but got "false"
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table align=center><tbody><tr><td>foo<td>b[a]r<td>baz</table><p>extra" queryCommandIndeterm("justifycenter") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table align=center><tbody><tr><td>foo<td>b[a]r<td>baz</table><p>extra" queryCommandState("justifycenter") after 
+FAIL [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table align=center><tbody><tr><td>foo<td>b[a]r<td>baz</table><p>extra" queryCommandValue("justifycenter") after assert_equals: Wrong result returned expected "center" but got "true"
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table align=center><tbody><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table><p>extra": execCommand("stylewithcss", false, "true") return value 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table align=center><tbody><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table><p>extra": execCommand("defaultparagraphseparator", false, "div") return value 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table align=center><tbody><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table><p>extra": execCommand("justifycenter", false, "") return value 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table align=center><tbody><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table><p>extra" checks for modifications to non-editable content 
+FAIL [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table align=center><tbody><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table><p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<table align=\"center\"><tbody><tr><td>foo</td><td><div style=\"text-align:center\">bar</div></td><td>baz</td></tr></tbody></table><p>extra</p>" but got "<table align=\"center\"><tbody><tr><td>foo</td><td style=\"text-align:center\">bar</td><td style=\"text-align:center\">baz</td></tr></tbody></table><p>extra</p>"
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table align=center><tbody><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("stylewithcss") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table align=center><tbody><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("stylewithcss") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table align=center><tbody><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("stylewithcss") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table align=center><tbody><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("stylewithcss") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table align=center><tbody><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("stylewithcss") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table align=center><tbody><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("stylewithcss") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table align=center><tbody><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("defaultparagraphseparator") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table align=center><tbody><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("defaultparagraphseparator") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table align=center><tbody><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("defaultparagraphseparator") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table align=center><tbody><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("defaultparagraphseparator") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table align=center><tbody><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("defaultparagraphseparator") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table align=center><tbody><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("defaultparagraphseparator") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table align=center><tbody><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("justifycenter") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table align=center><tbody><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("justifycenter") before 
+FAIL [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table align=center><tbody><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("justifycenter") before assert_equals: Wrong result returned expected "left" but got "false"
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table align=center><tbody><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("justifycenter") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table align=center><tbody><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("justifycenter") after 
+FAIL [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table align=center><tbody><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("justifycenter") after assert_equals: Wrong result returned expected "center" but got "true"
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table align=center><tbody><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table><p>extra": execCommand("stylewithcss", false, "false") return value 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table align=center><tbody><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table><p>extra": execCommand("defaultparagraphseparator", false, "div") return value 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table align=center><tbody><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table><p>extra": execCommand("justifycenter", false, "") return value 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table align=center><tbody><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table><p>extra" checks for modifications to non-editable content 
+FAIL [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table align=center><tbody><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table><p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<table align=\"center\"><tbody><tr><td>foo</td><td><div style=\"text-align:center\">bar</div></td><td>baz</td></tr></tbody></table><p>extra</p>" but got "<table align=\"center\"><tbody><tr><td>foo</td><td style=\"text-align:center\">bar</td><td style=\"text-align:center\">baz</td></tr></tbody></table><p>extra</p>"
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table align=center><tbody><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("stylewithcss") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table align=center><tbody><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("stylewithcss") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table align=center><tbody><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("stylewithcss") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table align=center><tbody><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("stylewithcss") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table align=center><tbody><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("stylewithcss") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table align=center><tbody><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("stylewithcss") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table align=center><tbody><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("defaultparagraphseparator") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table align=center><tbody><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("defaultparagraphseparator") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table align=center><tbody><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("defaultparagraphseparator") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table align=center><tbody><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("defaultparagraphseparator") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table align=center><tbody><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("defaultparagraphseparator") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table align=center><tbody><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("defaultparagraphseparator") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table align=center><tbody><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("justifycenter") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table align=center><tbody><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("justifycenter") before 
+FAIL [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table align=center><tbody><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("justifycenter") before assert_equals: Wrong result returned expected "left" but got "false"
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table align=center><tbody><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("justifycenter") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table align=center><tbody><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("justifycenter") after 
+FAIL [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table align=center><tbody><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("justifycenter") after assert_equals: Wrong result returned expected "center" but got "true"
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table align=center><tbody><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table><p>extra": execCommand("stylewithcss", false, "true") return value 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table align=center><tbody><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table><p>extra": execCommand("defaultparagraphseparator", false, "p") return value 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table align=center><tbody><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table><p>extra": execCommand("justifycenter", false, "") return value 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table align=center><tbody><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table><p>extra" checks for modifications to non-editable content 
+FAIL [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table align=center><tbody><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table><p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<table align=\"center\"><tbody><tr><td>foo</td><td><div style=\"text-align:center\">bar</div></td><td>baz</td></tr></tbody></table><p>extra</p>" but got "<table align=\"center\"><tbody><tr><td>foo</td><td style=\"text-align:center\">bar</td><td style=\"text-align:center\">baz</td></tr></tbody></table><p>extra</p>"
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table align=center><tbody><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("stylewithcss") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table align=center><tbody><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("stylewithcss") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table align=center><tbody><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("stylewithcss") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table align=center><tbody><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("stylewithcss") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table align=center><tbody><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("stylewithcss") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table align=center><tbody><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("stylewithcss") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table align=center><tbody><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("defaultparagraphseparator") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table align=center><tbody><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("defaultparagraphseparator") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table align=center><tbody><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("defaultparagraphseparator") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table align=center><tbody><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("defaultparagraphseparator") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table align=center><tbody><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("defaultparagraphseparator") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table align=center><tbody><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("defaultparagraphseparator") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table align=center><tbody><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("justifycenter") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table align=center><tbody><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("justifycenter") before 
+FAIL [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table align=center><tbody><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("justifycenter") before assert_equals: Wrong result returned expected "left" but got "false"
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table align=center><tbody><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("justifycenter") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table align=center><tbody><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("justifycenter") after 
+FAIL [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table align=center><tbody><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("justifycenter") after assert_equals: Wrong result returned expected "center" but got "true"
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table align=center><tbody><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table><p>extra": execCommand("stylewithcss", false, "false") return value 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table align=center><tbody><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table><p>extra": execCommand("defaultparagraphseparator", false, "p") return value 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table align=center><tbody><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table><p>extra": execCommand("justifycenter", false, "") return value 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table align=center><tbody><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table><p>extra" checks for modifications to non-editable content 
+FAIL [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table align=center><tbody><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table><p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<table align=\"center\"><tbody><tr><td>foo</td><td><div style=\"text-align:center\">bar</div></td><td>baz</td></tr></tbody></table><p>extra</p>" but got "<table align=\"center\"><tbody><tr><td>foo</td><td style=\"text-align:center\">bar</td><td style=\"text-align:center\">baz</td></tr></tbody></table><p>extra</p>"
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table align=center><tbody><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("stylewithcss") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table align=center><tbody><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("stylewithcss") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table align=center><tbody><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("stylewithcss") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table align=center><tbody><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("stylewithcss") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table align=center><tbody><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("stylewithcss") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table align=center><tbody><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("stylewithcss") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table align=center><tbody><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("defaultparagraphseparator") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table align=center><tbody><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("defaultparagraphseparator") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table align=center><tbody><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("defaultparagraphseparator") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table align=center><tbody><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("defaultparagraphseparator") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table align=center><tbody><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("defaultparagraphseparator") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table align=center><tbody><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("defaultparagraphseparator") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table align=center><tbody><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("justifycenter") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table align=center><tbody><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("justifycenter") before 
+FAIL [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table align=center><tbody><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("justifycenter") before assert_equals: Wrong result returned expected "left" but got "false"
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table align=center><tbody><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("justifycenter") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table align=center><tbody><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("justifycenter") after 
+FAIL [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table align=center><tbody><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("justifycenter") after assert_equals: Wrong result returned expected "center" but got "true"
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table align=center><tbody><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table><p>extra": execCommand("stylewithcss", false, "true") return value 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table align=center><tbody><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table><p>extra": execCommand("defaultparagraphseparator", false, "div") return value 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table align=center><tbody><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table><p>extra": execCommand("justifycenter", false, "") return value 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table align=center><tbody><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table><p>extra" checks for modifications to non-editable content 
+FAIL [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table align=center><tbody><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table><p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<table align=\"center\"><tbody><tr><td><div style=\"text-align:center\">foo</div></td><td><div style=\"text-align:center\">bar</div></td><td>baz</td></tr></tbody></table><p>extra</p>" but got "<table align=\"center\"><tbody><tr><td style=\"text-align:center\">foo</td><td style=\"text-align:center\">bar</td><td style=\"text-align:center\">baz</td></tr></tbody></table><p>extra</p>"
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table align=center><tbody><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("stylewithcss") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table align=center><tbody><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("stylewithcss") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table align=center><tbody><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("stylewithcss") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table align=center><tbody><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("stylewithcss") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table align=center><tbody><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("stylewithcss") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table align=center><tbody><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("stylewithcss") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table align=center><tbody><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("defaultparagraphseparator") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table align=center><tbody><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("defaultparagraphseparator") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table align=center><tbody><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("defaultparagraphseparator") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table align=center><tbody><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("defaultparagraphseparator") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table align=center><tbody><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("defaultparagraphseparator") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table align=center><tbody><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("defaultparagraphseparator") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table align=center><tbody><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("justifycenter") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table align=center><tbody><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("justifycenter") before 
+FAIL [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table align=center><tbody><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("justifycenter") before assert_equals: Wrong result returned expected "left" but got "false"
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table align=center><tbody><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("justifycenter") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table align=center><tbody><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("justifycenter") after 
+FAIL [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table align=center><tbody><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("justifycenter") after assert_equals: Wrong result returned expected "center" but got "true"
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table align=center><tbody><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table><p>extra": execCommand("stylewithcss", false, "false") return value 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table align=center><tbody><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table><p>extra": execCommand("defaultparagraphseparator", false, "div") return value 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table align=center><tbody><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table><p>extra": execCommand("justifycenter", false, "") return value 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table align=center><tbody><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table><p>extra" checks for modifications to non-editable content 
+FAIL [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table align=center><tbody><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table><p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<table align=\"center\"><tbody><tr><td><div style=\"text-align:center\">foo</div></td><td><div style=\"text-align:center\">bar</div></td><td>baz</td></tr></tbody></table><p>extra</p>" but got "<table align=\"center\"><tbody><tr><td style=\"text-align:center\">foo</td><td style=\"text-align:center\">bar</td><td style=\"text-align:center\">baz</td></tr></tbody></table><p>extra</p>"
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table align=center><tbody><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("stylewithcss") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table align=center><tbody><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("stylewithcss") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table align=center><tbody><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("stylewithcss") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table align=center><tbody><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("stylewithcss") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table align=center><tbody><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("stylewithcss") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table align=center><tbody><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("stylewithcss") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table align=center><tbody><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("defaultparagraphseparator") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table align=center><tbody><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("defaultparagraphseparator") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table align=center><tbody><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("defaultparagraphseparator") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table align=center><tbody><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("defaultparagraphseparator") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table align=center><tbody><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("defaultparagraphseparator") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table align=center><tbody><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("defaultparagraphseparator") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table align=center><tbody><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("justifycenter") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table align=center><tbody><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("justifycenter") before 
+FAIL [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table align=center><tbody><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("justifycenter") before assert_equals: Wrong result returned expected "left" but got "false"
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table align=center><tbody><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("justifycenter") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table align=center><tbody><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("justifycenter") after 
+FAIL [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table align=center><tbody><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("justifycenter") after assert_equals: Wrong result returned expected "center" but got "true"
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table align=center><tbody><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table><p>extra": execCommand("stylewithcss", false, "true") return value 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table align=center><tbody><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table><p>extra": execCommand("defaultparagraphseparator", false, "p") return value 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table align=center><tbody><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table><p>extra": execCommand("justifycenter", false, "") return value 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table align=center><tbody><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table><p>extra" checks for modifications to non-editable content 
+FAIL [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table align=center><tbody><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table><p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<table align=\"center\"><tbody><tr><td><div style=\"text-align:center\">foo</div></td><td><div style=\"text-align:center\">bar</div></td><td>baz</td></tr></tbody></table><p>extra</p>" but got "<table align=\"center\"><tbody><tr><td style=\"text-align:center\">foo</td><td style=\"text-align:center\">bar</td><td style=\"text-align:center\">baz</td></tr></tbody></table><p>extra</p>"
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table align=center><tbody><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("stylewithcss") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table align=center><tbody><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("stylewithcss") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table align=center><tbody><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("stylewithcss") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table align=center><tbody><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("stylewithcss") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table align=center><tbody><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("stylewithcss") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table align=center><tbody><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("stylewithcss") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table align=center><tbody><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("defaultparagraphseparator") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table align=center><tbody><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("defaultparagraphseparator") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table align=center><tbody><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("defaultparagraphseparator") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table align=center><tbody><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("defaultparagraphseparator") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table align=center><tbody><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("defaultparagraphseparator") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table align=center><tbody><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("defaultparagraphseparator") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table align=center><tbody><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("justifycenter") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table align=center><tbody><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("justifycenter") before 
+FAIL [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table align=center><tbody><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("justifycenter") before assert_equals: Wrong result returned expected "left" but got "false"
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table align=center><tbody><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("justifycenter") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table align=center><tbody><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("justifycenter") after 
+FAIL [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table align=center><tbody><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("justifycenter") after assert_equals: Wrong result returned expected "center" but got "true"
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table align=center><tbody><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table><p>extra": execCommand("stylewithcss", false, "false") return value 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table align=center><tbody><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table><p>extra": execCommand("defaultparagraphseparator", false, "p") return value 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table align=center><tbody><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table><p>extra": execCommand("justifycenter", false, "") return value 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table align=center><tbody><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table><p>extra" checks for modifications to non-editable content 
+FAIL [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table align=center><tbody><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table><p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<table align=\"center\"><tbody><tr><td><div style=\"text-align:center\">foo</div></td><td><div style=\"text-align:center\">bar</div></td><td>baz</td></tr></tbody></table><p>extra</p>" but got "<table align=\"center\"><tbody><tr><td style=\"text-align:center\">foo</td><td style=\"text-align:center\">bar</td><td style=\"text-align:center\">baz</td></tr></tbody></table><p>extra</p>"
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table align=center><tbody><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("stylewithcss") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table align=center><tbody><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("stylewithcss") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table align=center><tbody><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("stylewithcss") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table align=center><tbody><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("stylewithcss") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table align=center><tbody><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("stylewithcss") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table align=center><tbody><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("stylewithcss") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table align=center><tbody><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("defaultparagraphseparator") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table align=center><tbody><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("defaultparagraphseparator") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table align=center><tbody><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("defaultparagraphseparator") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table align=center><tbody><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("defaultparagraphseparator") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table align=center><tbody><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("defaultparagraphseparator") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table align=center><tbody><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("defaultparagraphseparator") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table align=center><tbody><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("justifycenter") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table align=center><tbody><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("justifycenter") before 
+FAIL [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table align=center><tbody><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("justifycenter") before assert_equals: Wrong result returned expected "left" but got "false"
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table align=center><tbody><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("justifycenter") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table align=center><tbody><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("justifycenter") after 
+FAIL [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table align=center><tbody><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("justifycenter") after assert_equals: Wrong result returned expected "center" but got "true"
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table align=center><tbody data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra": execCommand("stylewithcss", false, "true") return value 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table align=center><tbody data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra": execCommand("defaultparagraphseparator", false, "div") return value 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table align=center><tbody data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra": execCommand("justifycenter", false, "") return value 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table align=center><tbody data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" checks for modifications to non-editable content 
+FAIL [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table align=center><tbody data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<div style=\"text-align:center\"><table><tbody><tr><td>foo</td><td>bar</td><td>baz</td></tr></tbody></table></div><p>extra</p>" but got "<table align=\"center\" style=\"text-align:center\"><tbody><tr><td style=\"text-align:center\">foo</td><td style=\"text-align:center\">bar</td><td style=\"text-align:center\">baz</td></tr></tbody></table><p>extra</p>"
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table align=center><tbody data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("stylewithcss") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table align=center><tbody data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("stylewithcss") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table align=center><tbody data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("stylewithcss") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table align=center><tbody data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("stylewithcss") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table align=center><tbody data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("stylewithcss") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table align=center><tbody data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("stylewithcss") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table align=center><tbody data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("defaultparagraphseparator") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table align=center><tbody data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("defaultparagraphseparator") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table align=center><tbody data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("defaultparagraphseparator") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table align=center><tbody data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("defaultparagraphseparator") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table align=center><tbody data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("defaultparagraphseparator") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table align=center><tbody data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("defaultparagraphseparator") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table align=center><tbody data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("justifycenter") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table align=center><tbody data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("justifycenter") before 
+FAIL [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table align=center><tbody data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("justifycenter") before assert_equals: Wrong result returned expected "left" but got "false"
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table align=center><tbody data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("justifycenter") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table align=center><tbody data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("justifycenter") after 
+FAIL [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table align=center><tbody data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("justifycenter") after assert_equals: Wrong result returned expected "center" but got "true"
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table align=center><tbody data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra": execCommand("stylewithcss", false, "false") return value 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table align=center><tbody data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra": execCommand("defaultparagraphseparator", false, "div") return value 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table align=center><tbody data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra": execCommand("justifycenter", false, "") return value 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table align=center><tbody data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" checks for modifications to non-editable content 
+FAIL [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table align=center><tbody data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<div style=\"text-align:center\"><table><tbody><tr><td>foo</td><td>bar</td><td>baz</td></tr></tbody></table></div><p>extra</p>" but got "<table align=\"center\" style=\"text-align:center\"><tbody><tr><td style=\"text-align:center\">foo</td><td style=\"text-align:center\">bar</td><td style=\"text-align:center\">baz</td></tr></tbody></table><p>extra</p>"
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table align=center><tbody data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("stylewithcss") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table align=center><tbody data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("stylewithcss") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table align=center><tbody data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("stylewithcss") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table align=center><tbody data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("stylewithcss") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table align=center><tbody data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("stylewithcss") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table align=center><tbody data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("stylewithcss") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table align=center><tbody data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("defaultparagraphseparator") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table align=center><tbody data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("defaultparagraphseparator") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table align=center><tbody data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("defaultparagraphseparator") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table align=center><tbody data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("defaultparagraphseparator") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table align=center><tbody data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("defaultparagraphseparator") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table align=center><tbody data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("defaultparagraphseparator") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table align=center><tbody data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("justifycenter") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table align=center><tbody data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("justifycenter") before 
+FAIL [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table align=center><tbody data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("justifycenter") before assert_equals: Wrong result returned expected "left" but got "false"
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table align=center><tbody data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("justifycenter") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table align=center><tbody data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("justifycenter") after 
+FAIL [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table align=center><tbody data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("justifycenter") after assert_equals: Wrong result returned expected "center" but got "true"
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table align=center><tbody data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra": execCommand("stylewithcss", false, "true") return value 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table align=center><tbody data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra": execCommand("defaultparagraphseparator", false, "p") return value 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table align=center><tbody data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra": execCommand("justifycenter", false, "") return value 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table align=center><tbody data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" checks for modifications to non-editable content 
+FAIL [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table align=center><tbody data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<div style=\"text-align:center\"><table><tbody><tr><td>foo</td><td>bar</td><td>baz</td></tr></tbody></table></div><p>extra</p>" but got "<table align=\"center\" style=\"text-align:center\"><tbody><tr><td style=\"text-align:center\">foo</td><td style=\"text-align:center\">bar</td><td style=\"text-align:center\">baz</td></tr></tbody></table><p>extra</p>"
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table align=center><tbody data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("stylewithcss") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table align=center><tbody data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("stylewithcss") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table align=center><tbody data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("stylewithcss") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table align=center><tbody data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("stylewithcss") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table align=center><tbody data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("stylewithcss") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table align=center><tbody data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("stylewithcss") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table align=center><tbody data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("defaultparagraphseparator") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table align=center><tbody data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("defaultparagraphseparator") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table align=center><tbody data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("defaultparagraphseparator") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table align=center><tbody data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("defaultparagraphseparator") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table align=center><tbody data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("defaultparagraphseparator") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table align=center><tbody data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("defaultparagraphseparator") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table align=center><tbody data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("justifycenter") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table align=center><tbody data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("justifycenter") before 
+FAIL [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table align=center><tbody data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("justifycenter") before assert_equals: Wrong result returned expected "left" but got "false"
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table align=center><tbody data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("justifycenter") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table align=center><tbody data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("justifycenter") after 
+FAIL [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table align=center><tbody data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("justifycenter") after assert_equals: Wrong result returned expected "center" but got "true"
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table align=center><tbody data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra": execCommand("stylewithcss", false, "false") return value 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table align=center><tbody data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra": execCommand("defaultparagraphseparator", false, "p") return value 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table align=center><tbody data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra": execCommand("justifycenter", false, "") return value 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table align=center><tbody data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" checks for modifications to non-editable content 
+FAIL [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table align=center><tbody data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<div style=\"text-align:center\"><table><tbody><tr><td>foo</td><td>bar</td><td>baz</td></tr></tbody></table></div><p>extra</p>" but got "<table align=\"center\" style=\"text-align:center\"><tbody><tr><td style=\"text-align:center\">foo</td><td style=\"text-align:center\">bar</td><td style=\"text-align:center\">baz</td></tr></tbody></table><p>extra</p>"
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table align=center><tbody data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("stylewithcss") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table align=center><tbody data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("stylewithcss") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table align=center><tbody data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("stylewithcss") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table align=center><tbody data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("stylewithcss") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table align=center><tbody data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("stylewithcss") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table align=center><tbody data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("stylewithcss") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table align=center><tbody data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("defaultparagraphseparator") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table align=center><tbody data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("defaultparagraphseparator") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table align=center><tbody data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("defaultparagraphseparator") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table align=center><tbody data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("defaultparagraphseparator") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table align=center><tbody data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("defaultparagraphseparator") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table align=center><tbody data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("defaultparagraphseparator") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table align=center><tbody data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("justifycenter") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table align=center><tbody data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("justifycenter") before 
+FAIL [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table align=center><tbody data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("justifycenter") before assert_equals: Wrong result returned expected "left" but got "false"
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table align=center><tbody data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("justifycenter") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table align=center><tbody data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("justifycenter") after 
+FAIL [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table align=center><tbody data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("justifycenter") after assert_equals: Wrong result returned expected "center" but got "true"
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table align=center data-start=0 data-end=1><tbody><tr><td>foo<td>bar<td>baz</table><p>extra": execCommand("stylewithcss", false, "true") return value 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table align=center data-start=0 data-end=1><tbody><tr><td>foo<td>bar<td>baz</table><p>extra": execCommand("defaultparagraphseparator", false, "div") return value 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table align=center data-start=0 data-end=1><tbody><tr><td>foo<td>bar<td>baz</table><p>extra": execCommand("justifycenter", false, "") return value 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table align=center data-start=0 data-end=1><tbody><tr><td>foo<td>bar<td>baz</table><p>extra" checks for modifications to non-editable content 
+FAIL [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table align=center data-start=0 data-end=1><tbody><tr><td>foo<td>bar<td>baz</table><p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<div style=\"text-align:center\"><table><tbody><tr><td>foo</td><td>bar</td><td>baz</td></tr></tbody></table></div><p>extra</p>" but got "<table align=\"center\" style=\"text-align:center\"><tbody><tr><td>foo</td><td>bar</td><td>baz</td></tr></tbody></table><p>extra</p>"
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table align=center data-start=0 data-end=1><tbody><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("stylewithcss") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table align=center data-start=0 data-end=1><tbody><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("stylewithcss") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table align=center data-start=0 data-end=1><tbody><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("stylewithcss") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table align=center data-start=0 data-end=1><tbody><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("stylewithcss") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table align=center data-start=0 data-end=1><tbody><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("stylewithcss") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table align=center data-start=0 data-end=1><tbody><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("stylewithcss") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table align=center data-start=0 data-end=1><tbody><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("defaultparagraphseparator") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table align=center data-start=0 data-end=1><tbody><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("defaultparagraphseparator") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table align=center data-start=0 data-end=1><tbody><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("defaultparagraphseparator") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table align=center data-start=0 data-end=1><tbody><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("defaultparagraphseparator") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table align=center data-start=0 data-end=1><tbody><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("defaultparagraphseparator") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table align=center data-start=0 data-end=1><tbody><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("defaultparagraphseparator") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table align=center data-start=0 data-end=1><tbody><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("justifycenter") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table align=center data-start=0 data-end=1><tbody><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("justifycenter") before 
+FAIL [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table align=center data-start=0 data-end=1><tbody><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("justifycenter") before assert_equals: Wrong result returned expected "left" but got "false"
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table align=center data-start=0 data-end=1><tbody><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("justifycenter") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table align=center data-start=0 data-end=1><tbody><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("justifycenter") after 
+FAIL [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table align=center data-start=0 data-end=1><tbody><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("justifycenter") after assert_equals: Wrong result returned expected "center" but got "true"
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table align=center data-start=0 data-end=1><tbody><tr><td>foo<td>bar<td>baz</table><p>extra": execCommand("stylewithcss", false, "false") return value 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table align=center data-start=0 data-end=1><tbody><tr><td>foo<td>bar<td>baz</table><p>extra": execCommand("defaultparagraphseparator", false, "div") return value 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table align=center data-start=0 data-end=1><tbody><tr><td>foo<td>bar<td>baz</table><p>extra": execCommand("justifycenter", false, "") return value 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table align=center data-start=0 data-end=1><tbody><tr><td>foo<td>bar<td>baz</table><p>extra" checks for modifications to non-editable content 
+FAIL [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table align=center data-start=0 data-end=1><tbody><tr><td>foo<td>bar<td>baz</table><p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<div style=\"text-align:center\"><table><tbody><tr><td>foo</td><td>bar</td><td>baz</td></tr></tbody></table></div><p>extra</p>" but got "<table align=\"center\" style=\"text-align:center\"><tbody><tr><td>foo</td><td>bar</td><td>baz</td></tr></tbody></table><p>extra</p>"
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table align=center data-start=0 data-end=1><tbody><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("stylewithcss") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table align=center data-start=0 data-end=1><tbody><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("stylewithcss") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table align=center data-start=0 data-end=1><tbody><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("stylewithcss") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table align=center data-start=0 data-end=1><tbody><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("stylewithcss") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table align=center data-start=0 data-end=1><tbody><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("stylewithcss") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table align=center data-start=0 data-end=1><tbody><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("stylewithcss") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table align=center data-start=0 data-end=1><tbody><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("defaultparagraphseparator") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table align=center data-start=0 data-end=1><tbody><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("defaultparagraphseparator") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table align=center data-start=0 data-end=1><tbody><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("defaultparagraphseparator") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table align=center data-start=0 data-end=1><tbody><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("defaultparagraphseparator") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table align=center data-start=0 data-end=1><tbody><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("defaultparagraphseparator") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table align=center data-start=0 data-end=1><tbody><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("defaultparagraphseparator") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table align=center data-start=0 data-end=1><tbody><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("justifycenter") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table align=center data-start=0 data-end=1><tbody><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("justifycenter") before 
+FAIL [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table align=center data-start=0 data-end=1><tbody><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("justifycenter") before assert_equals: Wrong result returned expected "left" but got "false"
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table align=center data-start=0 data-end=1><tbody><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("justifycenter") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table align=center data-start=0 data-end=1><tbody><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("justifycenter") after 
+FAIL [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table align=center data-start=0 data-end=1><tbody><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("justifycenter") after assert_equals: Wrong result returned expected "center" but got "true"
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table align=center data-start=0 data-end=1><tbody><tr><td>foo<td>bar<td>baz</table><p>extra": execCommand("stylewithcss", false, "true") return value 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table align=center data-start=0 data-end=1><tbody><tr><td>foo<td>bar<td>baz</table><p>extra": execCommand("defaultparagraphseparator", false, "p") return value 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table align=center data-start=0 data-end=1><tbody><tr><td>foo<td>bar<td>baz</table><p>extra": execCommand("justifycenter", false, "") return value 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table align=center data-start=0 data-end=1><tbody><tr><td>foo<td>bar<td>baz</table><p>extra" checks for modifications to non-editable content 
+FAIL [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table align=center data-start=0 data-end=1><tbody><tr><td>foo<td>bar<td>baz</table><p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<div style=\"text-align:center\"><table><tbody><tr><td>foo</td><td>bar</td><td>baz</td></tr></tbody></table></div><p>extra</p>" but got "<table align=\"center\" style=\"text-align:center\"><tbody><tr><td>foo</td><td>bar</td><td>baz</td></tr></tbody></table><p>extra</p>"
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table align=center data-start=0 data-end=1><tbody><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("stylewithcss") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table align=center data-start=0 data-end=1><tbody><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("stylewithcss") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table align=center data-start=0 data-end=1><tbody><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("stylewithcss") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table align=center data-start=0 data-end=1><tbody><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("stylewithcss") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table align=center data-start=0 data-end=1><tbody><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("stylewithcss") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table align=center data-start=0 data-end=1><tbody><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("stylewithcss") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table align=center data-start=0 data-end=1><tbody><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("defaultparagraphseparator") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table align=center data-start=0 data-end=1><tbody><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("defaultparagraphseparator") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table align=center data-start=0 data-end=1><tbody><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("defaultparagraphseparator") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table align=center data-start=0 data-end=1><tbody><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("defaultparagraphseparator") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table align=center data-start=0 data-end=1><tbody><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("defaultparagraphseparator") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table align=center data-start=0 data-end=1><tbody><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("defaultparagraphseparator") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table align=center data-start=0 data-end=1><tbody><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("justifycenter") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table align=center data-start=0 data-end=1><tbody><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("justifycenter") before 
+FAIL [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table align=center data-start=0 data-end=1><tbody><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("justifycenter") before assert_equals: Wrong result returned expected "left" but got "false"
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table align=center data-start=0 data-end=1><tbody><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("justifycenter") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table align=center data-start=0 data-end=1><tbody><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("justifycenter") after 
+FAIL [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table align=center data-start=0 data-end=1><tbody><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("justifycenter") after assert_equals: Wrong result returned expected "center" but got "true"
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table align=center data-start=0 data-end=1><tbody><tr><td>foo<td>bar<td>baz</table><p>extra": execCommand("stylewithcss", false, "false") return value 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table align=center data-start=0 data-end=1><tbody><tr><td>foo<td>bar<td>baz</table><p>extra": execCommand("defaultparagraphseparator", false, "p") return value 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table align=center data-start=0 data-end=1><tbody><tr><td>foo<td>bar<td>baz</table><p>extra": execCommand("justifycenter", false, "") return value 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table align=center data-start=0 data-end=1><tbody><tr><td>foo<td>bar<td>baz</table><p>extra" checks for modifications to non-editable content 
+FAIL [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table align=center data-start=0 data-end=1><tbody><tr><td>foo<td>bar<td>baz</table><p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<div style=\"text-align:center\"><table><tbody><tr><td>foo</td><td>bar</td><td>baz</td></tr></tbody></table></div><p>extra</p>" but got "<table align=\"center\" style=\"text-align:center\"><tbody><tr><td>foo</td><td>bar</td><td>baz</td></tr></tbody></table><p>extra</p>"
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table align=center data-start=0 data-end=1><tbody><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("stylewithcss") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table align=center data-start=0 data-end=1><tbody><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("stylewithcss") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table align=center data-start=0 data-end=1><tbody><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("stylewithcss") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table align=center data-start=0 data-end=1><tbody><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("stylewithcss") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table align=center data-start=0 data-end=1><tbody><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("stylewithcss") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table align=center data-start=0 data-end=1><tbody><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("stylewithcss") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table align=center data-start=0 data-end=1><tbody><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("defaultparagraphseparator") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table align=center data-start=0 data-end=1><tbody><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("defaultparagraphseparator") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table align=center data-start=0 data-end=1><tbody><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("defaultparagraphseparator") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table align=center data-start=0 data-end=1><tbody><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("defaultparagraphseparator") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table align=center data-start=0 data-end=1><tbody><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("defaultparagraphseparator") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table align=center data-start=0 data-end=1><tbody><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("defaultparagraphseparator") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table align=center data-start=0 data-end=1><tbody><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("justifycenter") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table align=center data-start=0 data-end=1><tbody><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("justifycenter") before 
+FAIL [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table align=center data-start=0 data-end=1><tbody><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("justifycenter") before assert_equals: Wrong result returned expected "left" but got "false"
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table align=center data-start=0 data-end=1><tbody><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("justifycenter") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table align=center data-start=0 data-end=1><tbody><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("justifycenter") after 
+FAIL [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table align=center data-start=0 data-end=1><tbody><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("justifycenter") after assert_equals: Wrong result returned expected "center" but got "true"
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "{<table align=center><tr><td>foo<td>bar<td>baz</table>}<p>extra": execCommand("stylewithcss", false, "true") return value 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "{<table align=center><tr><td>foo<td>bar<td>baz</table>}<p>extra": execCommand("defaultparagraphseparator", false, "div") return value 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "{<table align=center><tr><td>foo<td>bar<td>baz</table>}<p>extra": execCommand("justifycenter", false, "") return value 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "{<table align=center><tr><td>foo<td>bar<td>baz</table>}<p>extra" checks for modifications to non-editable content 
+FAIL [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "{<table align=center><tr><td>foo<td>bar<td>baz</table>}<p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<div style=\"text-align:center\"><table><tbody><tr><td>foo</td><td>bar</td><td>baz</td></tr></tbody></table></div><p>extra</p>" but got "<table align=\"center\" style=\"text-align:center\"><tbody><tr><td>foo</td><td>bar</td><td>baz</td></tr></tbody></table><p style=\"text-align:center\">extra</p>"
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "{<table align=center><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandIndeterm("stylewithcss") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "{<table align=center><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandState("stylewithcss") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "{<table align=center><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandValue("stylewithcss") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "{<table align=center><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandIndeterm("stylewithcss") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "{<table align=center><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandState("stylewithcss") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "{<table align=center><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandValue("stylewithcss") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "{<table align=center><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandIndeterm("defaultparagraphseparator") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "{<table align=center><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandState("defaultparagraphseparator") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "{<table align=center><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandValue("defaultparagraphseparator") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "{<table align=center><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandIndeterm("defaultparagraphseparator") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "{<table align=center><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandState("defaultparagraphseparator") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "{<table align=center><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandValue("defaultparagraphseparator") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "{<table align=center><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandIndeterm("justifycenter") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "{<table align=center><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandState("justifycenter") before 
+FAIL [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "{<table align=center><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandValue("justifycenter") before assert_equals: Wrong result returned expected "left" but got "false"
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "{<table align=center><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandIndeterm("justifycenter") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "{<table align=center><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandState("justifycenter") after 
+FAIL [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "{<table align=center><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandValue("justifycenter") after assert_equals: Wrong result returned expected "center" but got "true"
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "{<table align=center><tr><td>foo<td>bar<td>baz</table>}<p>extra": execCommand("stylewithcss", false, "false") return value 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "{<table align=center><tr><td>foo<td>bar<td>baz</table>}<p>extra": execCommand("defaultparagraphseparator", false, "div") return value 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "{<table align=center><tr><td>foo<td>bar<td>baz</table>}<p>extra": execCommand("justifycenter", false, "") return value 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "{<table align=center><tr><td>foo<td>bar<td>baz</table>}<p>extra" checks for modifications to non-editable content 
+FAIL [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "{<table align=center><tr><td>foo<td>bar<td>baz</table>}<p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<div style=\"text-align:center\"><table><tbody><tr><td>foo</td><td>bar</td><td>baz</td></tr></tbody></table></div><p>extra</p>" but got "<table align=\"center\" style=\"text-align:center\"><tbody><tr><td>foo</td><td>bar</td><td>baz</td></tr></tbody></table><p style=\"text-align:center\">extra</p>"
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "{<table align=center><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandIndeterm("stylewithcss") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "{<table align=center><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandState("stylewithcss") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "{<table align=center><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandValue("stylewithcss") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "{<table align=center><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandIndeterm("stylewithcss") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "{<table align=center><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandState("stylewithcss") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "{<table align=center><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandValue("stylewithcss") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "{<table align=center><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandIndeterm("defaultparagraphseparator") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "{<table align=center><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandState("defaultparagraphseparator") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "{<table align=center><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandValue("defaultparagraphseparator") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "{<table align=center><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandIndeterm("defaultparagraphseparator") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "{<table align=center><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandState("defaultparagraphseparator") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "{<table align=center><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandValue("defaultparagraphseparator") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "{<table align=center><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandIndeterm("justifycenter") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "{<table align=center><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandState("justifycenter") before 
+FAIL [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "{<table align=center><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandValue("justifycenter") before assert_equals: Wrong result returned expected "left" but got "false"
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "{<table align=center><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandIndeterm("justifycenter") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "{<table align=center><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandState("justifycenter") after 
+FAIL [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "{<table align=center><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandValue("justifycenter") after assert_equals: Wrong result returned expected "center" but got "true"
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "{<table align=center><tr><td>foo<td>bar<td>baz</table>}<p>extra": execCommand("stylewithcss", false, "true") return value 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "{<table align=center><tr><td>foo<td>bar<td>baz</table>}<p>extra": execCommand("defaultparagraphseparator", false, "p") return value 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "{<table align=center><tr><td>foo<td>bar<td>baz</table>}<p>extra": execCommand("justifycenter", false, "") return value 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "{<table align=center><tr><td>foo<td>bar<td>baz</table>}<p>extra" checks for modifications to non-editable content 
+FAIL [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "{<table align=center><tr><td>foo<td>bar<td>baz</table>}<p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<div style=\"text-align:center\"><table><tbody><tr><td>foo</td><td>bar</td><td>baz</td></tr></tbody></table></div><p>extra</p>" but got "<table align=\"center\" style=\"text-align:center\"><tbody><tr><td>foo</td><td>bar</td><td>baz</td></tr></tbody></table><p style=\"text-align:center\">extra</p>"
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "{<table align=center><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandIndeterm("stylewithcss") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "{<table align=center><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandState("stylewithcss") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "{<table align=center><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandValue("stylewithcss") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "{<table align=center><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandIndeterm("stylewithcss") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "{<table align=center><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandState("stylewithcss") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "{<table align=center><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandValue("stylewithcss") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "{<table align=center><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandIndeterm("defaultparagraphseparator") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "{<table align=center><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandState("defaultparagraphseparator") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "{<table align=center><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandValue("defaultparagraphseparator") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "{<table align=center><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandIndeterm("defaultparagraphseparator") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "{<table align=center><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandState("defaultparagraphseparator") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "{<table align=center><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandValue("defaultparagraphseparator") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "{<table align=center><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandIndeterm("justifycenter") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "{<table align=center><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandState("justifycenter") before 
+FAIL [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "{<table align=center><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandValue("justifycenter") before assert_equals: Wrong result returned expected "left" but got "false"
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "{<table align=center><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandIndeterm("justifycenter") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "{<table align=center><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandState("justifycenter") after 
+FAIL [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "{<table align=center><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandValue("justifycenter") after assert_equals: Wrong result returned expected "center" but got "true"
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "{<table align=center><tr><td>foo<td>bar<td>baz</table>}<p>extra": execCommand("stylewithcss", false, "false") return value 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "{<table align=center><tr><td>foo<td>bar<td>baz</table>}<p>extra": execCommand("defaultparagraphseparator", false, "p") return value 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "{<table align=center><tr><td>foo<td>bar<td>baz</table>}<p>extra": execCommand("justifycenter", false, "") return value 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "{<table align=center><tr><td>foo<td>bar<td>baz</table>}<p>extra" checks for modifications to non-editable content 
+FAIL [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "{<table align=center><tr><td>foo<td>bar<td>baz</table>}<p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<div style=\"text-align:center\"><table><tbody><tr><td>foo</td><td>bar</td><td>baz</td></tr></tbody></table></div><p>extra</p>" but got "<table align=\"center\" style=\"text-align:center\"><tbody><tr><td>foo</td><td>bar</td><td>baz</td></tr></tbody></table><p style=\"text-align:center\">extra</p>"
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "{<table align=center><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandIndeterm("stylewithcss") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "{<table align=center><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandState("stylewithcss") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "{<table align=center><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandValue("stylewithcss") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "{<table align=center><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandIndeterm("stylewithcss") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "{<table align=center><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandState("stylewithcss") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "{<table align=center><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandValue("stylewithcss") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "{<table align=center><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandIndeterm("defaultparagraphseparator") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "{<table align=center><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandState("defaultparagraphseparator") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "{<table align=center><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandValue("defaultparagraphseparator") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "{<table align=center><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandIndeterm("defaultparagraphseparator") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "{<table align=center><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandState("defaultparagraphseparator") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "{<table align=center><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandValue("defaultparagraphseparator") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "{<table align=center><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandIndeterm("justifycenter") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "{<table align=center><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandState("justifycenter") before 
+FAIL [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "{<table align=center><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandValue("justifycenter") before assert_equals: Wrong result returned expected "left" but got "false"
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "{<table align=center><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandIndeterm("justifycenter") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "{<table align=center><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandState("justifycenter") after 
+FAIL [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "{<table align=center><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandValue("justifycenter") after assert_equals: Wrong result returned expected "center" but got "true"
+PASS [["justifycenter",""]] "<table><tbody align=center><tr><td>foo<td>b[a]r<td>baz</table><p>extra": execCommand("justifycenter", false, "") return value 
+PASS [["justifycenter",""]] "<table><tbody align=center><tr><td>foo<td>b[a]r<td>baz</table><p>extra" checks for modifications to non-editable content 
+PASS [["justifycenter",""]] "<table><tbody align=center><tr><td>foo<td>b[a]r<td>baz</table><p>extra" compare innerHTML 
+PASS [["justifycenter",""]] "<table><tbody align=center><tr><td>foo<td>b[a]r<td>baz</table><p>extra" queryCommandIndeterm("justifycenter") before 
+PASS [["justifycenter",""]] "<table><tbody align=center><tr><td>foo<td>b[a]r<td>baz</table><p>extra" queryCommandState("justifycenter") before 
+FAIL [["justifycenter",""]] "<table><tbody align=center><tr><td>foo<td>b[a]r<td>baz</table><p>extra" queryCommandValue("justifycenter") before assert_equals: Wrong result returned expected "center" but got "true"
+PASS [["justifycenter",""]] "<table><tbody align=center><tr><td>foo<td>b[a]r<td>baz</table><p>extra" queryCommandIndeterm("justifycenter") after 
+PASS [["justifycenter",""]] "<table><tbody align=center><tr><td>foo<td>b[a]r<td>baz</table><p>extra" queryCommandState("justifycenter") after 
+FAIL [["justifycenter",""]] "<table><tbody align=center><tr><td>foo<td>b[a]r<td>baz</table><p>extra" queryCommandValue("justifycenter") after assert_equals: Wrong result returned expected "center" but got "true"
+PASS [["justifycenter",""]] "<table><tbody align=center><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table><p>extra": execCommand("justifycenter", false, "") return value 
+PASS [["justifycenter",""]] "<table><tbody align=center><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table><p>extra" checks for modifications to non-editable content 
+PASS [["justifycenter",""]] "<table><tbody align=center><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table><p>extra" compare innerHTML 
+PASS [["justifycenter",""]] "<table><tbody align=center><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("justifycenter") before 
+PASS [["justifycenter",""]] "<table><tbody align=center><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("justifycenter") before 
+FAIL [["justifycenter",""]] "<table><tbody align=center><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("justifycenter") before assert_equals: Wrong result returned expected "center" but got "true"
+PASS [["justifycenter",""]] "<table><tbody align=center><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("justifycenter") after 
+PASS [["justifycenter",""]] "<table><tbody align=center><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("justifycenter") after 
+FAIL [["justifycenter",""]] "<table><tbody align=center><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("justifycenter") after assert_equals: Wrong result returned expected "center" but got "true"
+PASS [["justifycenter",""]] "<table><tbody align=center><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table><p>extra": execCommand("justifycenter", false, "") return value 
+PASS [["justifycenter",""]] "<table><tbody align=center><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table><p>extra" checks for modifications to non-editable content 
+PASS [["justifycenter",""]] "<table><tbody align=center><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table><p>extra" compare innerHTML 
+PASS [["justifycenter",""]] "<table><tbody align=center><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("justifycenter") before 
+PASS [["justifycenter",""]] "<table><tbody align=center><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("justifycenter") before 
+FAIL [["justifycenter",""]] "<table><tbody align=center><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("justifycenter") before assert_equals: Wrong result returned expected "center" but got "true"
+PASS [["justifycenter",""]] "<table><tbody align=center><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("justifycenter") after 
+PASS [["justifycenter",""]] "<table><tbody align=center><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("justifycenter") after 
+FAIL [["justifycenter",""]] "<table><tbody align=center><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("justifycenter") after assert_equals: Wrong result returned expected "center" but got "true"
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table><tbody align=center data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra": execCommand("stylewithcss", false, "true") return value 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table><tbody align=center data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra": execCommand("defaultparagraphseparator", false, "div") return value 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table><tbody align=center data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra": execCommand("justifycenter", false, "") return value 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table><tbody align=center data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" checks for modifications to non-editable content 
+FAIL [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table><tbody align=center data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<div style=\"text-align:center\"><table><tbody><tr><td>foo</td><td>bar</td><td>baz</td></tr></tbody></table></div><p>extra</p>" but got "<table style=\"text-align:center\"><tbody align=\"center\"><tr><td>foo</td><td>bar</td><td>baz</td></tr></tbody></table><p>extra</p>"
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table><tbody align=center data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("stylewithcss") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table><tbody align=center data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("stylewithcss") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table><tbody align=center data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("stylewithcss") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table><tbody align=center data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("stylewithcss") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table><tbody align=center data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("stylewithcss") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table><tbody align=center data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("stylewithcss") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table><tbody align=center data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("defaultparagraphseparator") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table><tbody align=center data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("defaultparagraphseparator") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table><tbody align=center data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("defaultparagraphseparator") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table><tbody align=center data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("defaultparagraphseparator") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table><tbody align=center data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("defaultparagraphseparator") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table><tbody align=center data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("defaultparagraphseparator") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table><tbody align=center data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("justifycenter") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table><tbody align=center data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("justifycenter") before 
+FAIL [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table><tbody align=center data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("justifycenter") before assert_equals: Wrong result returned expected "center" but got "true"
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table><tbody align=center data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("justifycenter") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table><tbody align=center data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("justifycenter") after 
+FAIL [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table><tbody align=center data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("justifycenter") after assert_equals: Wrong result returned expected "center" but got "true"
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table><tbody align=center data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra": execCommand("stylewithcss", false, "false") return value 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table><tbody align=center data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra": execCommand("defaultparagraphseparator", false, "div") return value 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table><tbody align=center data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra": execCommand("justifycenter", false, "") return value 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table><tbody align=center data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" checks for modifications to non-editable content 
+FAIL [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table><tbody align=center data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<div style=\"text-align:center\"><table><tbody><tr><td>foo</td><td>bar</td><td>baz</td></tr></tbody></table></div><p>extra</p>" but got "<table style=\"text-align:center\"><tbody align=\"center\"><tr><td>foo</td><td>bar</td><td>baz</td></tr></tbody></table><p>extra</p>"
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table><tbody align=center data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("stylewithcss") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table><tbody align=center data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("stylewithcss") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table><tbody align=center data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("stylewithcss") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table><tbody align=center data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("stylewithcss") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table><tbody align=center data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("stylewithcss") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table><tbody align=center data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("stylewithcss") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table><tbody align=center data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("defaultparagraphseparator") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table><tbody align=center data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("defaultparagraphseparator") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table><tbody align=center data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("defaultparagraphseparator") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table><tbody align=center data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("defaultparagraphseparator") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table><tbody align=center data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("defaultparagraphseparator") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table><tbody align=center data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("defaultparagraphseparator") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table><tbody align=center data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("justifycenter") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table><tbody align=center data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("justifycenter") before 
+FAIL [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table><tbody align=center data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("justifycenter") before assert_equals: Wrong result returned expected "center" but got "true"
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table><tbody align=center data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("justifycenter") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table><tbody align=center data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("justifycenter") after 
+FAIL [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table><tbody align=center data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("justifycenter") after assert_equals: Wrong result returned expected "center" but got "true"
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table><tbody align=center data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra": execCommand("stylewithcss", false, "true") return value 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table><tbody align=center data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra": execCommand("defaultparagraphseparator", false, "p") return value 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table><tbody align=center data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra": execCommand("justifycenter", false, "") return value 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table><tbody align=center data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" checks for modifications to non-editable content 
+FAIL [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table><tbody align=center data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<div style=\"text-align:center\"><table><tbody><tr><td>foo</td><td>bar</td><td>baz</td></tr></tbody></table></div><p>extra</p>" but got "<table style=\"text-align:center\"><tbody align=\"center\"><tr><td>foo</td><td>bar</td><td>baz</td></tr></tbody></table><p>extra</p>"
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table><tbody align=center data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("stylewithcss") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table><tbody align=center data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("stylewithcss") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table><tbody align=center data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("stylewithcss") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table><tbody align=center data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("stylewithcss") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table><tbody align=center data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("stylewithcss") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table><tbody align=center data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("stylewithcss") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table><tbody align=center data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("defaultparagraphseparator") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table><tbody align=center data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("defaultparagraphseparator") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table><tbody align=center data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("defaultparagraphseparator") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table><tbody align=center data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("defaultparagraphseparator") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table><tbody align=center data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("defaultparagraphseparator") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table><tbody align=center data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("defaultparagraphseparator") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table><tbody align=center data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("justifycenter") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table><tbody align=center data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("justifycenter") before 
+FAIL [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table><tbody align=center data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("justifycenter") before assert_equals: Wrong result returned expected "center" but got "true"
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table><tbody align=center data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("justifycenter") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table><tbody align=center data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("justifycenter") after 
+FAIL [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table><tbody align=center data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("justifycenter") after assert_equals: Wrong result returned expected "center" but got "true"
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table><tbody align=center data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra": execCommand("stylewithcss", false, "false") return value 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table><tbody align=center data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra": execCommand("defaultparagraphseparator", false, "p") return value 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table><tbody align=center data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra": execCommand("justifycenter", false, "") return value 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table><tbody align=center data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" checks for modifications to non-editable content 
+FAIL [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table><tbody align=center data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<div style=\"text-align:center\"><table><tbody><tr><td>foo</td><td>bar</td><td>baz</td></tr></tbody></table></div><p>extra</p>" but got "<table style=\"text-align:center\"><tbody align=\"center\"><tr><td>foo</td><td>bar</td><td>baz</td></tr></tbody></table><p>extra</p>"
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table><tbody align=center data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("stylewithcss") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table><tbody align=center data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("stylewithcss") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table><tbody align=center data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("stylewithcss") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table><tbody align=center data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("stylewithcss") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table><tbody align=center data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("stylewithcss") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table><tbody align=center data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("stylewithcss") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table><tbody align=center data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("defaultparagraphseparator") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table><tbody align=center data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("defaultparagraphseparator") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table><tbody align=center data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("defaultparagraphseparator") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table><tbody align=center data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("defaultparagraphseparator") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table><tbody align=center data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("defaultparagraphseparator") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table><tbody align=center data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("defaultparagraphseparator") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table><tbody align=center data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("justifycenter") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table><tbody align=center data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("justifycenter") before 
+FAIL [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table><tbody align=center data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("justifycenter") before assert_equals: Wrong result returned expected "center" but got "true"
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table><tbody align=center data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("justifycenter") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table><tbody align=center data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("justifycenter") after 
+FAIL [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table><tbody align=center data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("justifycenter") after assert_equals: Wrong result returned expected "center" but got "true"
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table data-start=0 data-end=1><tbody align=center><tr><td>foo<td>bar<td>baz</table><p>extra": execCommand("stylewithcss", false, "true") return value 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table data-start=0 data-end=1><tbody align=center><tr><td>foo<td>bar<td>baz</table><p>extra": execCommand("defaultparagraphseparator", false, "div") return value 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table data-start=0 data-end=1><tbody align=center><tr><td>foo<td>bar<td>baz</table><p>extra": execCommand("justifycenter", false, "") return value 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table data-start=0 data-end=1><tbody align=center><tr><td>foo<td>bar<td>baz</table><p>extra" checks for modifications to non-editable content 
+FAIL [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table data-start=0 data-end=1><tbody align=center><tr><td>foo<td>bar<td>baz</table><p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<div style=\"text-align:center\"><table><tbody><tr><td>foo</td><td>bar</td><td>baz</td></tr></tbody></table></div><p>extra</p>" but got "<table style=\"text-align:center\"><tbody align=\"center\"><tr><td>foo</td><td>bar</td><td>baz</td></tr></tbody></table><p>extra</p>"
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table data-start=0 data-end=1><tbody align=center><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("stylewithcss") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table data-start=0 data-end=1><tbody align=center><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("stylewithcss") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table data-start=0 data-end=1><tbody align=center><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("stylewithcss") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table data-start=0 data-end=1><tbody align=center><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("stylewithcss") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table data-start=0 data-end=1><tbody align=center><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("stylewithcss") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table data-start=0 data-end=1><tbody align=center><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("stylewithcss") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table data-start=0 data-end=1><tbody align=center><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("defaultparagraphseparator") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table data-start=0 data-end=1><tbody align=center><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("defaultparagraphseparator") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table data-start=0 data-end=1><tbody align=center><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("defaultparagraphseparator") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table data-start=0 data-end=1><tbody align=center><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("defaultparagraphseparator") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table data-start=0 data-end=1><tbody align=center><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("defaultparagraphseparator") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table data-start=0 data-end=1><tbody align=center><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("defaultparagraphseparator") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table data-start=0 data-end=1><tbody align=center><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("justifycenter") before 
+FAIL [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table data-start=0 data-end=1><tbody align=center><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("justifycenter") before assert_equals: Wrong result returned expected true but got false
+FAIL [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table data-start=0 data-end=1><tbody align=center><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("justifycenter") before assert_equals: Wrong result returned expected "center" but got "false"
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table data-start=0 data-end=1><tbody align=center><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("justifycenter") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table data-start=0 data-end=1><tbody align=center><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("justifycenter") after 
+FAIL [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table data-start=0 data-end=1><tbody align=center><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("justifycenter") after assert_equals: Wrong result returned expected "center" but got "true"
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table data-start=0 data-end=1><tbody align=center><tr><td>foo<td>bar<td>baz</table><p>extra": execCommand("stylewithcss", false, "false") return value 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table data-start=0 data-end=1><tbody align=center><tr><td>foo<td>bar<td>baz</table><p>extra": execCommand("defaultparagraphseparator", false, "div") return value 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table data-start=0 data-end=1><tbody align=center><tr><td>foo<td>bar<td>baz</table><p>extra": execCommand("justifycenter", false, "") return value 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table data-start=0 data-end=1><tbody align=center><tr><td>foo<td>bar<td>baz</table><p>extra" checks for modifications to non-editable content 
+FAIL [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table data-start=0 data-end=1><tbody align=center><tr><td>foo<td>bar<td>baz</table><p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<div style=\"text-align:center\"><table><tbody><tr><td>foo</td><td>bar</td><td>baz</td></tr></tbody></table></div><p>extra</p>" but got "<table style=\"text-align:center\"><tbody align=\"center\"><tr><td>foo</td><td>bar</td><td>baz</td></tr></tbody></table><p>extra</p>"
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table data-start=0 data-end=1><tbody align=center><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("stylewithcss") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table data-start=0 data-end=1><tbody align=center><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("stylewithcss") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table data-start=0 data-end=1><tbody align=center><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("stylewithcss") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table data-start=0 data-end=1><tbody align=center><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("stylewithcss") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table data-start=0 data-end=1><tbody align=center><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("stylewithcss") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table data-start=0 data-end=1><tbody align=center><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("stylewithcss") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table data-start=0 data-end=1><tbody align=center><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("defaultparagraphseparator") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table data-start=0 data-end=1><tbody align=center><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("defaultparagraphseparator") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table data-start=0 data-end=1><tbody align=center><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("defaultparagraphseparator") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table data-start=0 data-end=1><tbody align=center><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("defaultparagraphseparator") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table data-start=0 data-end=1><tbody align=center><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("defaultparagraphseparator") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table data-start=0 data-end=1><tbody align=center><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("defaultparagraphseparator") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table data-start=0 data-end=1><tbody align=center><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("justifycenter") before 
+FAIL [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table data-start=0 data-end=1><tbody align=center><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("justifycenter") before assert_equals: Wrong result returned expected true but got false
+FAIL [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table data-start=0 data-end=1><tbody align=center><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("justifycenter") before assert_equals: Wrong result returned expected "center" but got "false"
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table data-start=0 data-end=1><tbody align=center><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("justifycenter") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table data-start=0 data-end=1><tbody align=center><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("justifycenter") after 
+FAIL [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table data-start=0 data-end=1><tbody align=center><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("justifycenter") after assert_equals: Wrong result returned expected "center" but got "true"
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table data-start=0 data-end=1><tbody align=center><tr><td>foo<td>bar<td>baz</table><p>extra": execCommand("stylewithcss", false, "true") return value 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table data-start=0 data-end=1><tbody align=center><tr><td>foo<td>bar<td>baz</table><p>extra": execCommand("defaultparagraphseparator", false, "p") return value 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table data-start=0 data-end=1><tbody align=center><tr><td>foo<td>bar<td>baz</table><p>extra": execCommand("justifycenter", false, "") return value 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table data-start=0 data-end=1><tbody align=center><tr><td>foo<td>bar<td>baz</table><p>extra" checks for modifications to non-editable content 
+FAIL [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table data-start=0 data-end=1><tbody align=center><tr><td>foo<td>bar<td>baz</table><p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<div style=\"text-align:center\"><table><tbody><tr><td>foo</td><td>bar</td><td>baz</td></tr></tbody></table></div><p>extra</p>" but got "<table style=\"text-align:center\"><tbody align=\"center\"><tr><td>foo</td><td>bar</td><td>baz</td></tr></tbody></table><p>extra</p>"
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table data-start=0 data-end=1><tbody align=center><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("stylewithcss") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table data-start=0 data-end=1><tbody align=center><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("stylewithcss") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table data-start=0 data-end=1><tbody align=center><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("stylewithcss") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table data-start=0 data-end=1><tbody align=center><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("stylewithcss") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table data-start=0 data-end=1><tbody align=center><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("stylewithcss") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table data-start=0 data-end=1><tbody align=center><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("stylewithcss") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table data-start=0 data-end=1><tbody align=center><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("defaultparagraphseparator") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table data-start=0 data-end=1><tbody align=center><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("defaultparagraphseparator") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table data-start=0 data-end=1><tbody align=center><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("defaultparagraphseparator") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table data-start=0 data-end=1><tbody align=center><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("defaultparagraphseparator") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table data-start=0 data-end=1><tbody align=center><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("defaultparagraphseparator") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table data-start=0 data-end=1><tbody align=center><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("defaultparagraphseparator") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table data-start=0 data-end=1><tbody align=center><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("justifycenter") before 
+FAIL [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table data-start=0 data-end=1><tbody align=center><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("justifycenter") before assert_equals: Wrong result returned expected true but got false
+FAIL [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table data-start=0 data-end=1><tbody align=center><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("justifycenter") before assert_equals: Wrong result returned expected "center" but got "false"
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table data-start=0 data-end=1><tbody align=center><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("justifycenter") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table data-start=0 data-end=1><tbody align=center><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("justifycenter") after 
+FAIL [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table data-start=0 data-end=1><tbody align=center><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("justifycenter") after assert_equals: Wrong result returned expected "center" but got "true"
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table data-start=0 data-end=1><tbody align=center><tr><td>foo<td>bar<td>baz</table><p>extra": execCommand("stylewithcss", false, "false") return value 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table data-start=0 data-end=1><tbody align=center><tr><td>foo<td>bar<td>baz</table><p>extra": execCommand("defaultparagraphseparator", false, "p") return value 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table data-start=0 data-end=1><tbody align=center><tr><td>foo<td>bar<td>baz</table><p>extra": execCommand("justifycenter", false, "") return value 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table data-start=0 data-end=1><tbody align=center><tr><td>foo<td>bar<td>baz</table><p>extra" checks for modifications to non-editable content 
+FAIL [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table data-start=0 data-end=1><tbody align=center><tr><td>foo<td>bar<td>baz</table><p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<div style=\"text-align:center\"><table><tbody><tr><td>foo</td><td>bar</td><td>baz</td></tr></tbody></table></div><p>extra</p>" but got "<table style=\"text-align:center\"><tbody align=\"center\"><tr><td>foo</td><td>bar</td><td>baz</td></tr></tbody></table><p>extra</p>"
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table data-start=0 data-end=1><tbody align=center><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("stylewithcss") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table data-start=0 data-end=1><tbody align=center><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("stylewithcss") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table data-start=0 data-end=1><tbody align=center><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("stylewithcss") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table data-start=0 data-end=1><tbody align=center><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("stylewithcss") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table data-start=0 data-end=1><tbody align=center><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("stylewithcss") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table data-start=0 data-end=1><tbody align=center><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("stylewithcss") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table data-start=0 data-end=1><tbody align=center><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("defaultparagraphseparator") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table data-start=0 data-end=1><tbody align=center><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("defaultparagraphseparator") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table data-start=0 data-end=1><tbody align=center><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("defaultparagraphseparator") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table data-start=0 data-end=1><tbody align=center><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("defaultparagraphseparator") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table data-start=0 data-end=1><tbody align=center><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("defaultparagraphseparator") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table data-start=0 data-end=1><tbody align=center><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("defaultparagraphseparator") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table data-start=0 data-end=1><tbody align=center><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("justifycenter") before 
+FAIL [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table data-start=0 data-end=1><tbody align=center><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("justifycenter") before assert_equals: Wrong result returned expected true but got false
+FAIL [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table data-start=0 data-end=1><tbody align=center><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("justifycenter") before assert_equals: Wrong result returned expected "center" but got "false"
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table data-start=0 data-end=1><tbody align=center><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("justifycenter") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table data-start=0 data-end=1><tbody align=center><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("justifycenter") after 
+FAIL [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table data-start=0 data-end=1><tbody align=center><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("justifycenter") after assert_equals: Wrong result returned expected "center" but got "true"
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "{<table><tbody align=center><tr><td>foo<td>bar<td>baz</table>}<p>extra": execCommand("stylewithcss", false, "true") return value 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "{<table><tbody align=center><tr><td>foo<td>bar<td>baz</table>}<p>extra": execCommand("defaultparagraphseparator", false, "div") return value 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "{<table><tbody align=center><tr><td>foo<td>bar<td>baz</table>}<p>extra": execCommand("justifycenter", false, "") return value 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "{<table><tbody align=center><tr><td>foo<td>bar<td>baz</table>}<p>extra" checks for modifications to non-editable content 
+FAIL [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "{<table><tbody align=center><tr><td>foo<td>bar<td>baz</table>}<p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<div style=\"text-align:center\"><table><tbody><tr><td>foo</td><td>bar</td><td>baz</td></tr></tbody></table></div><p>extra</p>" but got "<table style=\"text-align:center\"><tbody align=\"center\"><tr><td>foo</td><td>bar</td><td>baz</td></tr></tbody></table><p style=\"text-align:center\">extra</p>"
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "{<table><tbody align=center><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandIndeterm("stylewithcss") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "{<table><tbody align=center><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandState("stylewithcss") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "{<table><tbody align=center><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandValue("stylewithcss") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "{<table><tbody align=center><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandIndeterm("stylewithcss") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "{<table><tbody align=center><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandState("stylewithcss") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "{<table><tbody align=center><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandValue("stylewithcss") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "{<table><tbody align=center><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandIndeterm("defaultparagraphseparator") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "{<table><tbody align=center><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandState("defaultparagraphseparator") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "{<table><tbody align=center><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandValue("defaultparagraphseparator") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "{<table><tbody align=center><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandIndeterm("defaultparagraphseparator") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "{<table><tbody align=center><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandState("defaultparagraphseparator") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "{<table><tbody align=center><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandValue("defaultparagraphseparator") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "{<table><tbody align=center><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandIndeterm("justifycenter") before 
+FAIL [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "{<table><tbody align=center><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandState("justifycenter") before assert_equals: Wrong result returned expected true but got false
+FAIL [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "{<table><tbody align=center><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandValue("justifycenter") before assert_equals: Wrong result returned expected "center" but got "false"
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "{<table><tbody align=center><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandIndeterm("justifycenter") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "{<table><tbody align=center><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandState("justifycenter") after 
+FAIL [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "{<table><tbody align=center><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandValue("justifycenter") after assert_equals: Wrong result returned expected "center" but got "true"
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "{<table><tbody align=center><tr><td>foo<td>bar<td>baz</table>}<p>extra": execCommand("stylewithcss", false, "false") return value 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "{<table><tbody align=center><tr><td>foo<td>bar<td>baz</table>}<p>extra": execCommand("defaultparagraphseparator", false, "div") return value 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "{<table><tbody align=center><tr><td>foo<td>bar<td>baz</table>}<p>extra": execCommand("justifycenter", false, "") return value 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "{<table><tbody align=center><tr><td>foo<td>bar<td>baz</table>}<p>extra" checks for modifications to non-editable content 
+FAIL [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "{<table><tbody align=center><tr><td>foo<td>bar<td>baz</table>}<p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<div style=\"text-align:center\"><table><tbody><tr><td>foo</td><td>bar</td><td>baz</td></tr></tbody></table></div><p>extra</p>" but got "<table style=\"text-align:center\"><tbody align=\"center\"><tr><td>foo</td><td>bar</td><td>baz</td></tr></tbody></table><p style=\"text-align:center\">extra</p>"
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "{<table><tbody align=center><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandIndeterm("stylewithcss") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "{<table><tbody align=center><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandState("stylewithcss") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "{<table><tbody align=center><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandValue("stylewithcss") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "{<table><tbody align=center><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandIndeterm("stylewithcss") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "{<table><tbody align=center><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandState("stylewithcss") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "{<table><tbody align=center><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandValue("stylewithcss") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "{<table><tbody align=center><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandIndeterm("defaultparagraphseparator") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "{<table><tbody align=center><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandState("defaultparagraphseparator") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "{<table><tbody align=center><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandValue("defaultparagraphseparator") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "{<table><tbody align=center><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandIndeterm("defaultparagraphseparator") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "{<table><tbody align=center><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandState("defaultparagraphseparator") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "{<table><tbody align=center><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandValue("defaultparagraphseparator") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "{<table><tbody align=center><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandIndeterm("justifycenter") before 
+FAIL [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "{<table><tbody align=center><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandState("justifycenter") before assert_equals: Wrong result returned expected true but got false
+FAIL [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "{<table><tbody align=center><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandValue("justifycenter") before assert_equals: Wrong result returned expected "center" but got "false"
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "{<table><tbody align=center><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandIndeterm("justifycenter") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "{<table><tbody align=center><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandState("justifycenter") after 
+FAIL [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "{<table><tbody align=center><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandValue("justifycenter") after assert_equals: Wrong result returned expected "center" but got "true"
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "{<table><tbody align=center><tr><td>foo<td>bar<td>baz</table>}<p>extra": execCommand("stylewithcss", false, "true") return value 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "{<table><tbody align=center><tr><td>foo<td>bar<td>baz</table>}<p>extra": execCommand("defaultparagraphseparator", false, "p") return value 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "{<table><tbody align=center><tr><td>foo<td>bar<td>baz</table>}<p>extra": execCommand("justifycenter", false, "") return value 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "{<table><tbody align=center><tr><td>foo<td>bar<td>baz</table>}<p>extra" checks for modifications to non-editable content 
+FAIL [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "{<table><tbody align=center><tr><td>foo<td>bar<td>baz</table>}<p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<div style=\"text-align:center\"><table><tbody><tr><td>foo</td><td>bar</td><td>baz</td></tr></tbody></table></div><p>extra</p>" but got "<table style=\"text-align:center\"><tbody align=\"center\"><tr><td>foo</td><td>bar</td><td>baz</td></tr></tbody></table><p style=\"text-align:center\">extra</p>"
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "{<table><tbody align=center><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandIndeterm("stylewithcss") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "{<table><tbody align=center><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandState("stylewithcss") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "{<table><tbody align=center><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandValue("stylewithcss") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "{<table><tbody align=center><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandIndeterm("stylewithcss") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "{<table><tbody align=center><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandState("stylewithcss") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "{<table><tbody align=center><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandValue("stylewithcss") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "{<table><tbody align=center><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandIndeterm("defaultparagraphseparator") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "{<table><tbody align=center><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandState("defaultparagraphseparator") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "{<table><tbody align=center><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandValue("defaultparagraphseparator") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "{<table><tbody align=center><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandIndeterm("defaultparagraphseparator") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "{<table><tbody align=center><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandState("defaultparagraphseparator") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "{<table><tbody align=center><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandValue("defaultparagraphseparator") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "{<table><tbody align=center><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandIndeterm("justifycenter") before 
+FAIL [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "{<table><tbody align=center><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandState("justifycenter") before assert_equals: Wrong result returned expected true but got false
+FAIL [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "{<table><tbody align=center><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandValue("justifycenter") before assert_equals: Wrong result returned expected "center" but got "false"
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "{<table><tbody align=center><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandIndeterm("justifycenter") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "{<table><tbody align=center><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandState("justifycenter") after 
+FAIL [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "{<table><tbody align=center><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandValue("justifycenter") after assert_equals: Wrong result returned expected "center" but got "true"
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "{<table><tbody align=center><tr><td>foo<td>bar<td>baz</table>}<p>extra": execCommand("stylewithcss", false, "false") return value 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "{<table><tbody align=center><tr><td>foo<td>bar<td>baz</table>}<p>extra": execCommand("defaultparagraphseparator", false, "p") return value 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "{<table><tbody align=center><tr><td>foo<td>bar<td>baz</table>}<p>extra": execCommand("justifycenter", false, "") return value 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "{<table><tbody align=center><tr><td>foo<td>bar<td>baz</table>}<p>extra" checks for modifications to non-editable content 
+FAIL [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "{<table><tbody align=center><tr><td>foo<td>bar<td>baz</table>}<p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<div style=\"text-align:center\"><table><tbody><tr><td>foo</td><td>bar</td><td>baz</td></tr></tbody></table></div><p>extra</p>" but got "<table style=\"text-align:center\"><tbody align=\"center\"><tr><td>foo</td><td>bar</td><td>baz</td></tr></tbody></table><p style=\"text-align:center\">extra</p>"
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "{<table><tbody align=center><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandIndeterm("stylewithcss") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "{<table><tbody align=center><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandState("stylewithcss") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "{<table><tbody align=center><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandValue("stylewithcss") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "{<table><tbody align=center><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandIndeterm("stylewithcss") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "{<table><tbody align=center><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandState("stylewithcss") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "{<table><tbody align=center><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandValue("stylewithcss") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "{<table><tbody align=center><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandIndeterm("defaultparagraphseparator") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "{<table><tbody align=center><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandState("defaultparagraphseparator") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "{<table><tbody align=center><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandValue("defaultparagraphseparator") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "{<table><tbody align=center><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandIndeterm("defaultparagraphseparator") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "{<table><tbody align=center><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandState("defaultparagraphseparator") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "{<table><tbody align=center><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandValue("defaultparagraphseparator") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "{<table><tbody align=center><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandIndeterm("justifycenter") before 
+FAIL [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "{<table><tbody align=center><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandState("justifycenter") before assert_equals: Wrong result returned expected true but got false
+FAIL [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "{<table><tbody align=center><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandValue("justifycenter") before assert_equals: Wrong result returned expected "center" but got "false"
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "{<table><tbody align=center><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandIndeterm("justifycenter") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "{<table><tbody align=center><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandState("justifycenter") after 
+FAIL [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "{<table><tbody align=center><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandValue("justifycenter") after assert_equals: Wrong result returned expected "center" but got "true"
+PASS [["justifycenter",""]] "<table><tbody><tr align=center><td>foo<td>b[a]r<td>baz</table><p>extra": execCommand("justifycenter", false, "") return value 
+PASS [["justifycenter",""]] "<table><tbody><tr align=center><td>foo<td>b[a]r<td>baz</table><p>extra" checks for modifications to non-editable content 
+PASS [["justifycenter",""]] "<table><tbody><tr align=center><td>foo<td>b[a]r<td>baz</table><p>extra" compare innerHTML 
+PASS [["justifycenter",""]] "<table><tbody><tr align=center><td>foo<td>b[a]r<td>baz</table><p>extra" queryCommandIndeterm("justifycenter") before 
+PASS [["justifycenter",""]] "<table><tbody><tr align=center><td>foo<td>b[a]r<td>baz</table><p>extra" queryCommandState("justifycenter") before 
+FAIL [["justifycenter",""]] "<table><tbody><tr align=center><td>foo<td>b[a]r<td>baz</table><p>extra" queryCommandValue("justifycenter") before assert_equals: Wrong result returned expected "center" but got "true"
+PASS [["justifycenter",""]] "<table><tbody><tr align=center><td>foo<td>b[a]r<td>baz</table><p>extra" queryCommandIndeterm("justifycenter") after 
+PASS [["justifycenter",""]] "<table><tbody><tr align=center><td>foo<td>b[a]r<td>baz</table><p>extra" queryCommandState("justifycenter") after 
+FAIL [["justifycenter",""]] "<table><tbody><tr align=center><td>foo<td>b[a]r<td>baz</table><p>extra" queryCommandValue("justifycenter") after assert_equals: Wrong result returned expected "center" but got "true"
+PASS [["justifycenter",""]] "<table><tbody><tr align=center data-start=1 data-end=2><td>foo<td>bar<td>baz</table><p>extra": execCommand("justifycenter", false, "") return value 
+PASS [["justifycenter",""]] "<table><tbody><tr align=center data-start=1 data-end=2><td>foo<td>bar<td>baz</table><p>extra" checks for modifications to non-editable content 
+PASS [["justifycenter",""]] "<table><tbody><tr align=center data-start=1 data-end=2><td>foo<td>bar<td>baz</table><p>extra" compare innerHTML 
+PASS [["justifycenter",""]] "<table><tbody><tr align=center data-start=1 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("justifycenter") before 
+PASS [["justifycenter",""]] "<table><tbody><tr align=center data-start=1 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("justifycenter") before 
+FAIL [["justifycenter",""]] "<table><tbody><tr align=center data-start=1 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("justifycenter") before assert_equals: Wrong result returned expected "center" but got "true"
+PASS [["justifycenter",""]] "<table><tbody><tr align=center data-start=1 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("justifycenter") after 
+PASS [["justifycenter",""]] "<table><tbody><tr align=center data-start=1 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("justifycenter") after 
+FAIL [["justifycenter",""]] "<table><tbody><tr align=center data-start=1 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("justifycenter") after assert_equals: Wrong result returned expected "center" but got "true"
+PASS [["justifycenter",""]] "<table><tbody><tr align=center data-start=0 data-end=2><td>foo<td>bar<td>baz</table><p>extra": execCommand("justifycenter", false, "") return value 
+PASS [["justifycenter",""]] "<table><tbody><tr align=center data-start=0 data-end=2><td>foo<td>bar<td>baz</table><p>extra" checks for modifications to non-editable content 
+PASS [["justifycenter",""]] "<table><tbody><tr align=center data-start=0 data-end=2><td>foo<td>bar<td>baz</table><p>extra" compare innerHTML 
+PASS [["justifycenter",""]] "<table><tbody><tr align=center data-start=0 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("justifycenter") before 
+PASS [["justifycenter",""]] "<table><tbody><tr align=center data-start=0 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("justifycenter") before 
+FAIL [["justifycenter",""]] "<table><tbody><tr align=center data-start=0 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("justifycenter") before assert_equals: Wrong result returned expected "center" but got "true"
+PASS [["justifycenter",""]] "<table><tbody><tr align=center data-start=0 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("justifycenter") after 
+PASS [["justifycenter",""]] "<table><tbody><tr align=center data-start=0 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("justifycenter") after 
+FAIL [["justifycenter",""]] "<table><tbody><tr align=center data-start=0 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("justifycenter") after assert_equals: Wrong result returned expected "center" but got "true"
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table><tbody data-start=0 data-end=1><tr align=center><td>foo<td>bar<td>baz</table><p>extra": execCommand("stylewithcss", false, "true") return value 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table><tbody data-start=0 data-end=1><tr align=center><td>foo<td>bar<td>baz</table><p>extra": execCommand("defaultparagraphseparator", false, "div") return value 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table><tbody data-start=0 data-end=1><tr align=center><td>foo<td>bar<td>baz</table><p>extra": execCommand("justifycenter", false, "") return value 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table><tbody data-start=0 data-end=1><tr align=center><td>foo<td>bar<td>baz</table><p>extra" checks for modifications to non-editable content 
+FAIL [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table><tbody data-start=0 data-end=1><tr align=center><td>foo<td>bar<td>baz</table><p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<div style=\"text-align:center\"><table><tbody><tr><td>foo</td><td>bar</td><td>baz</td></tr></tbody></table></div><p>extra</p>" but got "<table style=\"text-align:center\"><tbody><tr align=\"center\"><td>foo</td><td>bar</td><td>baz</td></tr></tbody></table><p>extra</p>"
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table><tbody data-start=0 data-end=1><tr align=center><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("stylewithcss") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table><tbody data-start=0 data-end=1><tr align=center><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("stylewithcss") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table><tbody data-start=0 data-end=1><tr align=center><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("stylewithcss") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table><tbody data-start=0 data-end=1><tr align=center><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("stylewithcss") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table><tbody data-start=0 data-end=1><tr align=center><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("stylewithcss") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table><tbody data-start=0 data-end=1><tr align=center><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("stylewithcss") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table><tbody data-start=0 data-end=1><tr align=center><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("defaultparagraphseparator") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table><tbody data-start=0 data-end=1><tr align=center><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("defaultparagraphseparator") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table><tbody data-start=0 data-end=1><tr align=center><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("defaultparagraphseparator") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table><tbody data-start=0 data-end=1><tr align=center><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("defaultparagraphseparator") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table><tbody data-start=0 data-end=1><tr align=center><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("defaultparagraphseparator") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table><tbody data-start=0 data-end=1><tr align=center><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("defaultparagraphseparator") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table><tbody data-start=0 data-end=1><tr align=center><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("justifycenter") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table><tbody data-start=0 data-end=1><tr align=center><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("justifycenter") before 
+FAIL [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table><tbody data-start=0 data-end=1><tr align=center><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("justifycenter") before assert_equals: Wrong result returned expected "center" but got "true"
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table><tbody data-start=0 data-end=1><tr align=center><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("justifycenter") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table><tbody data-start=0 data-end=1><tr align=center><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("justifycenter") after 
+FAIL [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table><tbody data-start=0 data-end=1><tr align=center><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("justifycenter") after assert_equals: Wrong result returned expected "center" but got "true"
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table><tbody data-start=0 data-end=1><tr align=center><td>foo<td>bar<td>baz</table><p>extra": execCommand("stylewithcss", false, "false") return value 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table><tbody data-start=0 data-end=1><tr align=center><td>foo<td>bar<td>baz</table><p>extra": execCommand("defaultparagraphseparator", false, "div") return value 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table><tbody data-start=0 data-end=1><tr align=center><td>foo<td>bar<td>baz</table><p>extra": execCommand("justifycenter", false, "") return value 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table><tbody data-start=0 data-end=1><tr align=center><td>foo<td>bar<td>baz</table><p>extra" checks for modifications to non-editable content 
+FAIL [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table><tbody data-start=0 data-end=1><tr align=center><td>foo<td>bar<td>baz</table><p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<div style=\"text-align:center\"><table><tbody><tr><td>foo</td><td>bar</td><td>baz</td></tr></tbody></table></div><p>extra</p>" but got "<table style=\"text-align:center\"><tbody><tr align=\"center\"><td>foo</td><td>bar</td><td>baz</td></tr></tbody></table><p>extra</p>"
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table><tbody data-start=0 data-end=1><tr align=center><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("stylewithcss") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table><tbody data-start=0 data-end=1><tr align=center><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("stylewithcss") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table><tbody data-start=0 data-end=1><tr align=center><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("stylewithcss") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table><tbody data-start=0 data-end=1><tr align=center><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("stylewithcss") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table><tbody data-start=0 data-end=1><tr align=center><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("stylewithcss") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table><tbody data-start=0 data-end=1><tr align=center><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("stylewithcss") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table><tbody data-start=0 data-end=1><tr align=center><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("defaultparagraphseparator") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table><tbody data-start=0 data-end=1><tr align=center><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("defaultparagraphseparator") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table><tbody data-start=0 data-end=1><tr align=center><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("defaultparagraphseparator") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table><tbody data-start=0 data-end=1><tr align=center><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("defaultparagraphseparator") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table><tbody data-start=0 data-end=1><tr align=center><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("defaultparagraphseparator") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table><tbody data-start=0 data-end=1><tr align=center><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("defaultparagraphseparator") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table><tbody data-start=0 data-end=1><tr align=center><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("justifycenter") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table><tbody data-start=0 data-end=1><tr align=center><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("justifycenter") before 
+FAIL [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table><tbody data-start=0 data-end=1><tr align=center><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("justifycenter") before assert_equals: Wrong result returned expected "center" but got "true"
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table><tbody data-start=0 data-end=1><tr align=center><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("justifycenter") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table><tbody data-start=0 data-end=1><tr align=center><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("justifycenter") after 
+FAIL [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table><tbody data-start=0 data-end=1><tr align=center><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("justifycenter") after assert_equals: Wrong result returned expected "center" but got "true"
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table><tbody data-start=0 data-end=1><tr align=center><td>foo<td>bar<td>baz</table><p>extra": execCommand("stylewithcss", false, "true") return value 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table><tbody data-start=0 data-end=1><tr align=center><td>foo<td>bar<td>baz</table><p>extra": execCommand("defaultparagraphseparator", false, "p") return value 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table><tbody data-start=0 data-end=1><tr align=center><td>foo<td>bar<td>baz</table><p>extra": execCommand("justifycenter", false, "") return value 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table><tbody data-start=0 data-end=1><tr align=center><td>foo<td>bar<td>baz</table><p>extra" checks for modifications to non-editable content 
+FAIL [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table><tbody data-start=0 data-end=1><tr align=center><td>foo<td>bar<td>baz</table><p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<div style=\"text-align:center\"><table><tbody><tr><td>foo</td><td>bar</td><td>baz</td></tr></tbody></table></div><p>extra</p>" but got "<table style=\"text-align:center\"><tbody><tr align=\"center\"><td>foo</td><td>bar</td><td>baz</td></tr></tbody></table><p>extra</p>"
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table><tbody data-start=0 data-end=1><tr align=center><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("stylewithcss") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table><tbody data-start=0 data-end=1><tr align=center><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("stylewithcss") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table><tbody data-start=0 data-end=1><tr align=center><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("stylewithcss") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table><tbody data-start=0 data-end=1><tr align=center><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("stylewithcss") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table><tbody data-start=0 data-end=1><tr align=center><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("stylewithcss") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table><tbody data-start=0 data-end=1><tr align=center><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("stylewithcss") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table><tbody data-start=0 data-end=1><tr align=center><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("defaultparagraphseparator") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table><tbody data-start=0 data-end=1><tr align=center><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("defaultparagraphseparator") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table><tbody data-start=0 data-end=1><tr align=center><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("defaultparagraphseparator") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table><tbody data-start=0 data-end=1><tr align=center><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("defaultparagraphseparator") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table><tbody data-start=0 data-end=1><tr align=center><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("defaultparagraphseparator") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table><tbody data-start=0 data-end=1><tr align=center><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("defaultparagraphseparator") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table><tbody data-start=0 data-end=1><tr align=center><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("justifycenter") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table><tbody data-start=0 data-end=1><tr align=center><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("justifycenter") before 
+FAIL [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table><tbody data-start=0 data-end=1><tr align=center><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("justifycenter") before assert_equals: Wrong result returned expected "center" but got "true"
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table><tbody data-start=0 data-end=1><tr align=center><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("justifycenter") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table><tbody data-start=0 data-end=1><tr align=center><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("justifycenter") after 
+FAIL [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table><tbody data-start=0 data-end=1><tr align=center><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("justifycenter") after assert_equals: Wrong result returned expected "center" but got "true"
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table><tbody data-start=0 data-end=1><tr align=center><td>foo<td>bar<td>baz</table><p>extra": execCommand("stylewithcss", false, "false") return value 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table><tbody data-start=0 data-end=1><tr align=center><td>foo<td>bar<td>baz</table><p>extra": execCommand("defaultparagraphseparator", false, "p") return value 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table><tbody data-start=0 data-end=1><tr align=center><td>foo<td>bar<td>baz</table><p>extra": execCommand("justifycenter", false, "") return value 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table><tbody data-start=0 data-end=1><tr align=center><td>foo<td>bar<td>baz</table><p>extra" checks for modifications to non-editable content 
+FAIL [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table><tbody data-start=0 data-end=1><tr align=center><td>foo<td>bar<td>baz</table><p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<div style=\"text-align:center\"><table><tbody><tr><td>foo</td><td>bar</td><td>baz</td></tr></tbody></table></div><p>extra</p>" but got "<table style=\"text-align:center\"><tbody><tr align=\"center\"><td>foo</td><td>bar</td><td>baz</td></tr></tbody></table><p>extra</p>"
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table><tbody data-start=0 data-end=1><tr align=center><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("stylewithcss") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table><tbody data-start=0 data-end=1><tr align=center><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("stylewithcss") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table><tbody data-start=0 data-end=1><tr align=center><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("stylewithcss") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table><tbody data-start=0 data-end=1><tr align=center><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("stylewithcss") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table><tbody data-start=0 data-end=1><tr align=center><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("stylewithcss") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table><tbody data-start=0 data-end=1><tr align=center><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("stylewithcss") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table><tbody data-start=0 data-end=1><tr align=center><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("defaultparagraphseparator") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table><tbody data-start=0 data-end=1><tr align=center><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("defaultparagraphseparator") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table><tbody data-start=0 data-end=1><tr align=center><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("defaultparagraphseparator") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table><tbody data-start=0 data-end=1><tr align=center><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("defaultparagraphseparator") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table><tbody data-start=0 data-end=1><tr align=center><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("defaultparagraphseparator") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table><tbody data-start=0 data-end=1><tr align=center><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("defaultparagraphseparator") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table><tbody data-start=0 data-end=1><tr align=center><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("justifycenter") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table><tbody data-start=0 data-end=1><tr align=center><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("justifycenter") before 
+FAIL [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table><tbody data-start=0 data-end=1><tr align=center><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("justifycenter") before assert_equals: Wrong result returned expected "center" but got "true"
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table><tbody data-start=0 data-end=1><tr align=center><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("justifycenter") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table><tbody data-start=0 data-end=1><tr align=center><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("justifycenter") after 
+FAIL [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table><tbody data-start=0 data-end=1><tr align=center><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("justifycenter") after assert_equals: Wrong result returned expected "center" but got "true"
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table data-start=0 data-end=1><tbody><tr align=center><td>foo<td>bar<td>baz</table><p>extra": execCommand("stylewithcss", false, "true") return value 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table data-start=0 data-end=1><tbody><tr align=center><td>foo<td>bar<td>baz</table><p>extra": execCommand("defaultparagraphseparator", false, "div") return value 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table data-start=0 data-end=1><tbody><tr align=center><td>foo<td>bar<td>baz</table><p>extra": execCommand("justifycenter", false, "") return value 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table data-start=0 data-end=1><tbody><tr align=center><td>foo<td>bar<td>baz</table><p>extra" checks for modifications to non-editable content 
+FAIL [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table data-start=0 data-end=1><tbody><tr align=center><td>foo<td>bar<td>baz</table><p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<div style=\"text-align:center\"><table><tbody><tr><td>foo</td><td>bar</td><td>baz</td></tr></tbody></table></div><p>extra</p>" but got "<table style=\"text-align:center\"><tbody><tr align=\"center\"><td>foo</td><td>bar</td><td>baz</td></tr></tbody></table><p>extra</p>"
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table data-start=0 data-end=1><tbody><tr align=center><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("stylewithcss") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table data-start=0 data-end=1><tbody><tr align=center><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("stylewithcss") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table data-start=0 data-end=1><tbody><tr align=center><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("stylewithcss") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table data-start=0 data-end=1><tbody><tr align=center><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("stylewithcss") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table data-start=0 data-end=1><tbody><tr align=center><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("stylewithcss") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table data-start=0 data-end=1><tbody><tr align=center><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("stylewithcss") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table data-start=0 data-end=1><tbody><tr align=center><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("defaultparagraphseparator") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table data-start=0 data-end=1><tbody><tr align=center><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("defaultparagraphseparator") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table data-start=0 data-end=1><tbody><tr align=center><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("defaultparagraphseparator") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table data-start=0 data-end=1><tbody><tr align=center><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("defaultparagraphseparator") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table data-start=0 data-end=1><tbody><tr align=center><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("defaultparagraphseparator") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table data-start=0 data-end=1><tbody><tr align=center><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("defaultparagraphseparator") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table data-start=0 data-end=1><tbody><tr align=center><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("justifycenter") before 
+FAIL [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table data-start=0 data-end=1><tbody><tr align=center><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("justifycenter") before assert_equals: Wrong result returned expected true but got false
+FAIL [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table data-start=0 data-end=1><tbody><tr align=center><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("justifycenter") before assert_equals: Wrong result returned expected "center" but got "false"
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table data-start=0 data-end=1><tbody><tr align=center><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("justifycenter") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table data-start=0 data-end=1><tbody><tr align=center><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("justifycenter") after 
+FAIL [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table data-start=0 data-end=1><tbody><tr align=center><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("justifycenter") after assert_equals: Wrong result returned expected "center" but got "true"
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table data-start=0 data-end=1><tbody><tr align=center><td>foo<td>bar<td>baz</table><p>extra": execCommand("stylewithcss", false, "false") return value 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table data-start=0 data-end=1><tbody><tr align=center><td>foo<td>bar<td>baz</table><p>extra": execCommand("defaultparagraphseparator", false, "div") return value 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table data-start=0 data-end=1><tbody><tr align=center><td>foo<td>bar<td>baz</table><p>extra": execCommand("justifycenter", false, "") return value 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table data-start=0 data-end=1><tbody><tr align=center><td>foo<td>bar<td>baz</table><p>extra" checks for modifications to non-editable content 
+FAIL [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table data-start=0 data-end=1><tbody><tr align=center><td>foo<td>bar<td>baz</table><p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<div style=\"text-align:center\"><table><tbody><tr><td>foo</td><td>bar</td><td>baz</td></tr></tbody></table></div><p>extra</p>" but got "<table style=\"text-align:center\"><tbody><tr align=\"center\"><td>foo</td><td>bar</td><td>baz</td></tr></tbody></table><p>extra</p>"
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table data-start=0 data-end=1><tbody><tr align=center><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("stylewithcss") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table data-start=0 data-end=1><tbody><tr align=center><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("stylewithcss") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table data-start=0 data-end=1><tbody><tr align=center><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("stylewithcss") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table data-start=0 data-end=1><tbody><tr align=center><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("stylewithcss") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table data-start=0 data-end=1><tbody><tr align=center><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("stylewithcss") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table data-start=0 data-end=1><tbody><tr align=center><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("stylewithcss") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table data-start=0 data-end=1><tbody><tr align=center><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("defaultparagraphseparator") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table data-start=0 data-end=1><tbody><tr align=center><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("defaultparagraphseparator") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table data-start=0 data-end=1><tbody><tr align=center><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("defaultparagraphseparator") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table data-start=0 data-end=1><tbody><tr align=center><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("defaultparagraphseparator") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table data-start=0 data-end=1><tbody><tr align=center><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("defaultparagraphseparator") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table data-start=0 data-end=1><tbody><tr align=center><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("defaultparagraphseparator") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table data-start=0 data-end=1><tbody><tr align=center><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("justifycenter") before 
+FAIL [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table data-start=0 data-end=1><tbody><tr align=center><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("justifycenter") before assert_equals: Wrong result returned expected true but got false
+FAIL [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table data-start=0 data-end=1><tbody><tr align=center><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("justifycenter") before assert_equals: Wrong result returned expected "center" but got "false"
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table data-start=0 data-end=1><tbody><tr align=center><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("justifycenter") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table data-start=0 data-end=1><tbody><tr align=center><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("justifycenter") after 
+FAIL [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<table data-start=0 data-end=1><tbody><tr align=center><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("justifycenter") after assert_equals: Wrong result returned expected "center" but got "true"
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table data-start=0 data-end=1><tbody><tr align=center><td>foo<td>bar<td>baz</table><p>extra": execCommand("stylewithcss", false, "true") return value 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table data-start=0 data-end=1><tbody><tr align=center><td>foo<td>bar<td>baz</table><p>extra": execCommand("defaultparagraphseparator", false, "p") return value 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table data-start=0 data-end=1><tbody><tr align=center><td>foo<td>bar<td>baz</table><p>extra": execCommand("justifycenter", false, "") return value 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table data-start=0 data-end=1><tbody><tr align=center><td>foo<td>bar<td>baz</table><p>extra" checks for modifications to non-editable content 
+FAIL [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table data-start=0 data-end=1><tbody><tr align=center><td>foo<td>bar<td>baz</table><p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<div style=\"text-align:center\"><table><tbody><tr><td>foo</td><td>bar</td><td>baz</td></tr></tbody></table></div><p>extra</p>" but got "<table style=\"text-align:center\"><tbody><tr align=\"center\"><td>foo</td><td>bar</td><td>baz</td></tr></tbody></table><p>extra</p>"
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table data-start=0 data-end=1><tbody><tr align=center><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("stylewithcss") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table data-start=0 data-end=1><tbody><tr align=center><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("stylewithcss") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table data-start=0 data-end=1><tbody><tr align=center><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("stylewithcss") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table data-start=0 data-end=1><tbody><tr align=center><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("stylewithcss") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table data-start=0 data-end=1><tbody><tr align=center><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("stylewithcss") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table data-start=0 data-end=1><tbody><tr align=center><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("stylewithcss") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table data-start=0 data-end=1><tbody><tr align=center><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("defaultparagraphseparator") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table data-start=0 data-end=1><tbody><tr align=center><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("defaultparagraphseparator") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table data-start=0 data-end=1><tbody><tr align=center><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("defaultparagraphseparator") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table data-start=0 data-end=1><tbody><tr align=center><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("defaultparagraphseparator") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table data-start=0 data-end=1><tbody><tr align=center><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("defaultparagraphseparator") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table data-start=0 data-end=1><tbody><tr align=center><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("defaultparagraphseparator") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table data-start=0 data-end=1><tbody><tr align=center><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("justifycenter") before 
+FAIL [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table data-start=0 data-end=1><tbody><tr align=center><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("justifycenter") before assert_equals: Wrong result returned expected true but got false
+FAIL [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table data-start=0 data-end=1><tbody><tr align=center><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("justifycenter") before assert_equals: Wrong result returned expected "center" but got "false"
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table data-start=0 data-end=1><tbody><tr align=center><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("justifycenter") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table data-start=0 data-end=1><tbody><tr align=center><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("justifycenter") after 
+FAIL [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table data-start=0 data-end=1><tbody><tr align=center><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("justifycenter") after assert_equals: Wrong result returned expected "center" but got "true"
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table data-start=0 data-end=1><tbody><tr align=center><td>foo<td>bar<td>baz</table><p>extra": execCommand("stylewithcss", false, "false") return value 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table data-start=0 data-end=1><tbody><tr align=center><td>foo<td>bar<td>baz</table><p>extra": execCommand("defaultparagraphseparator", false, "p") return value 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table data-start=0 data-end=1><tbody><tr align=center><td>foo<td>bar<td>baz</table><p>extra": execCommand("justifycenter", false, "") return value 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table data-start=0 data-end=1><tbody><tr align=center><td>foo<td>bar<td>baz</table><p>extra" checks for modifications to non-editable content 
+FAIL [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table data-start=0 data-end=1><tbody><tr align=center><td>foo<td>bar<td>baz</table><p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<div style=\"text-align:center\"><table><tbody><tr><td>foo</td><td>bar</td><td>baz</td></tr></tbody></table></div><p>extra</p>" but got "<table style=\"text-align:center\"><tbody><tr align=\"center\"><td>foo</td><td>bar</td><td>baz</td></tr></tbody></table><p>extra</p>"
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table data-start=0 data-end=1><tbody><tr align=center><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("stylewithcss") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table data-start=0 data-end=1><tbody><tr align=center><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("stylewithcss") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table data-start=0 data-end=1><tbody><tr align=center><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("stylewithcss") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table data-start=0 data-end=1><tbody><tr align=center><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("stylewithcss") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table data-start=0 data-end=1><tbody><tr align=center><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("stylewithcss") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table data-start=0 data-end=1><tbody><tr align=center><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("stylewithcss") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table data-start=0 data-end=1><tbody><tr align=center><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("defaultparagraphseparator") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table data-start=0 data-end=1><tbody><tr align=center><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("defaultparagraphseparator") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table data-start=0 data-end=1><tbody><tr align=center><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("defaultparagraphseparator") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table data-start=0 data-end=1><tbody><tr align=center><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("defaultparagraphseparator") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table data-start=0 data-end=1><tbody><tr align=center><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("defaultparagraphseparator") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table data-start=0 data-end=1><tbody><tr align=center><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("defaultparagraphseparator") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table data-start=0 data-end=1><tbody><tr align=center><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("justifycenter") before 
+FAIL [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table data-start=0 data-end=1><tbody><tr align=center><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("justifycenter") before assert_equals: Wrong result returned expected true but got false
+FAIL [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table data-start=0 data-end=1><tbody><tr align=center><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("justifycenter") before assert_equals: Wrong result returned expected "center" but got "false"
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table data-start=0 data-end=1><tbody><tr align=center><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("justifycenter") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table data-start=0 data-end=1><tbody><tr align=center><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("justifycenter") after 
+FAIL [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<table data-start=0 data-end=1><tbody><tr align=center><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("justifycenter") after assert_equals: Wrong result returned expected "center" but got "true"
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "{<table><tr align=center><td>foo<td>bar<td>baz</table>}<p>extra": execCommand("stylewithcss", false, "true") return value 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "{<table><tr align=center><td>foo<td>bar<td>baz</table>}<p>extra": execCommand("defaultparagraphseparator", false, "div") return value 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "{<table><tr align=center><td>foo<td>bar<td>baz</table>}<p>extra": execCommand("justifycenter", false, "") return value 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "{<table><tr align=center><td>foo<td>bar<td>baz</table>}<p>extra" checks for modifications to non-editable content 
+FAIL [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "{<table><tr align=center><td>foo<td>bar<td>baz</table>}<p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<div style=\"text-align:center\"><table><tbody><tr><td>foo</td><td>bar</td><td>baz</td></tr></tbody></table></div><p>extra</p>" but got "<table style=\"text-align:center\"><tbody><tr align=\"center\"><td>foo</td><td>bar</td><td>baz</td></tr></tbody></table><p style=\"text-align:center\">extra</p>"
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "{<table><tr align=center><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandIndeterm("stylewithcss") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "{<table><tr align=center><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandState("stylewithcss") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "{<table><tr align=center><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandValue("stylewithcss") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "{<table><tr align=center><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandIndeterm("stylewithcss") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "{<table><tr align=center><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandState("stylewithcss") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "{<table><tr align=center><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandValue("stylewithcss") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "{<table><tr align=center><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandIndeterm("defaultparagraphseparator") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "{<table><tr align=center><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandState("defaultparagraphseparator") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "{<table><tr align=center><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandValue("defaultparagraphseparator") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "{<table><tr align=center><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandIndeterm("defaultparagraphseparator") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "{<table><tr align=center><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandState("defaultparagraphseparator") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "{<table><tr align=center><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandValue("defaultparagraphseparator") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "{<table><tr align=center><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandIndeterm("justifycenter") before 
+FAIL [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "{<table><tr align=center><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandState("justifycenter") before assert_equals: Wrong result returned expected true but got false
+FAIL [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "{<table><tr align=center><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandValue("justifycenter") before assert_equals: Wrong result returned expected "center" but got "false"
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "{<table><tr align=center><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandIndeterm("justifycenter") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "{<table><tr align=center><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandState("justifycenter") after 
+FAIL [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "{<table><tr align=center><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandValue("justifycenter") after assert_equals: Wrong result returned expected "center" but got "true"
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "{<table><tr align=center><td>foo<td>bar<td>baz</table>}<p>extra": execCommand("stylewithcss", false, "false") return value 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "{<table><tr align=center><td>foo<td>bar<td>baz</table>}<p>extra": execCommand("defaultparagraphseparator", false, "div") return value 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "{<table><tr align=center><td>foo<td>bar<td>baz</table>}<p>extra": execCommand("justifycenter", false, "") return value 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "{<table><tr align=center><td>foo<td>bar<td>baz</table>}<p>extra" checks for modifications to non-editable content 
+FAIL [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "{<table><tr align=center><td>foo<td>bar<td>baz</table>}<p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<div style=\"text-align:center\"><table><tbody><tr><td>foo</td><td>bar</td><td>baz</td></tr></tbody></table></div><p>extra</p>" but got "<table style=\"text-align:center\"><tbody><tr align=\"center\"><td>foo</td><td>bar</td><td>baz</td></tr></tbody></table><p style=\"text-align:center\">extra</p>"
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "{<table><tr align=center><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandIndeterm("stylewithcss") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "{<table><tr align=center><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandState("stylewithcss") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "{<table><tr align=center><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandValue("stylewithcss") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "{<table><tr align=center><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandIndeterm("stylewithcss") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "{<table><tr align=center><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandState("stylewithcss") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "{<table><tr align=center><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandValue("stylewithcss") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "{<table><tr align=center><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandIndeterm("defaultparagraphseparator") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "{<table><tr align=center><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandState("defaultparagraphseparator") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "{<table><tr align=center><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandValue("defaultparagraphseparator") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "{<table><tr align=center><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandIndeterm("defaultparagraphseparator") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "{<table><tr align=center><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandState("defaultparagraphseparator") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "{<table><tr align=center><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandValue("defaultparagraphseparator") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "{<table><tr align=center><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandIndeterm("justifycenter") before 
+FAIL [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "{<table><tr align=center><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandState("justifycenter") before assert_equals: Wrong result returned expected true but got false
+FAIL [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "{<table><tr align=center><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandValue("justifycenter") before assert_equals: Wrong result returned expected "center" but got "false"
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "{<table><tr align=center><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandIndeterm("justifycenter") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "{<table><tr align=center><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandState("justifycenter") after 
+FAIL [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "{<table><tr align=center><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandValue("justifycenter") after assert_equals: Wrong result returned expected "center" but got "true"
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "{<table><tr align=center><td>foo<td>bar<td>baz</table>}<p>extra": execCommand("stylewithcss", false, "true") return value 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "{<table><tr align=center><td>foo<td>bar<td>baz</table>}<p>extra": execCommand("defaultparagraphseparator", false, "p") return value 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "{<table><tr align=center><td>foo<td>bar<td>baz</table>}<p>extra": execCommand("justifycenter", false, "") return value 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "{<table><tr align=center><td>foo<td>bar<td>baz</table>}<p>extra" checks for modifications to non-editable content 
+FAIL [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "{<table><tr align=center><td>foo<td>bar<td>baz</table>}<p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<div style=\"text-align:center\"><table><tbody><tr><td>foo</td><td>bar</td><td>baz</td></tr></tbody></table></div><p>extra</p>" but got "<table style=\"text-align:center\"><tbody><tr align=\"center\"><td>foo</td><td>bar</td><td>baz</td></tr></tbody></table><p style=\"text-align:center\">extra</p>"
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "{<table><tr align=center><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandIndeterm("stylewithcss") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "{<table><tr align=center><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandState("stylewithcss") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "{<table><tr align=center><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandValue("stylewithcss") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "{<table><tr align=center><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandIndeterm("stylewithcss") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "{<table><tr align=center><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandState("stylewithcss") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "{<table><tr align=center><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandValue("stylewithcss") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "{<table><tr align=center><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandIndeterm("defaultparagraphseparator") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "{<table><tr align=center><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandState("defaultparagraphseparator") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "{<table><tr align=center><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandValue("defaultparagraphseparator") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "{<table><tr align=center><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandIndeterm("defaultparagraphseparator") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "{<table><tr align=center><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandState("defaultparagraphseparator") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "{<table><tr align=center><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandValue("defaultparagraphseparator") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "{<table><tr align=center><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandIndeterm("justifycenter") before 
+FAIL [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "{<table><tr align=center><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandState("justifycenter") before assert_equals: Wrong result returned expected true but got false
+FAIL [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "{<table><tr align=center><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandValue("justifycenter") before assert_equals: Wrong result returned expected "center" but got "false"
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "{<table><tr align=center><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandIndeterm("justifycenter") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "{<table><tr align=center><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandState("justifycenter") after 
+FAIL [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "{<table><tr align=center><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandValue("justifycenter") after assert_equals: Wrong result returned expected "center" but got "true"
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "{<table><tr align=center><td>foo<td>bar<td>baz</table>}<p>extra": execCommand("stylewithcss", false, "false") return value 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "{<table><tr align=center><td>foo<td>bar<td>baz</table>}<p>extra": execCommand("defaultparagraphseparator", false, "p") return value 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "{<table><tr align=center><td>foo<td>bar<td>baz</table>}<p>extra": execCommand("justifycenter", false, "") return value 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "{<table><tr align=center><td>foo<td>bar<td>baz</table>}<p>extra" checks for modifications to non-editable content 
+FAIL [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "{<table><tr align=center><td>foo<td>bar<td>baz</table>}<p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<div style=\"text-align:center\"><table><tbody><tr><td>foo</td><td>bar</td><td>baz</td></tr></tbody></table></div><p>extra</p>" but got "<table style=\"text-align:center\"><tbody><tr align=\"center\"><td>foo</td><td>bar</td><td>baz</td></tr></tbody></table><p style=\"text-align:center\">extra</p>"
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "{<table><tr align=center><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandIndeterm("stylewithcss") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "{<table><tr align=center><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandState("stylewithcss") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "{<table><tr align=center><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandValue("stylewithcss") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "{<table><tr align=center><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandIndeterm("stylewithcss") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "{<table><tr align=center><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandState("stylewithcss") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "{<table><tr align=center><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandValue("stylewithcss") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "{<table><tr align=center><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandIndeterm("defaultparagraphseparator") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "{<table><tr align=center><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandState("defaultparagraphseparator") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "{<table><tr align=center><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandValue("defaultparagraphseparator") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "{<table><tr align=center><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandIndeterm("defaultparagraphseparator") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "{<table><tr align=center><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandState("defaultparagraphseparator") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "{<table><tr align=center><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandValue("defaultparagraphseparator") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "{<table><tr align=center><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandIndeterm("justifycenter") before 
+FAIL [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "{<table><tr align=center><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandState("justifycenter") before assert_equals: Wrong result returned expected true but got false
+FAIL [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "{<table><tr align=center><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandValue("justifycenter") before assert_equals: Wrong result returned expected "center" but got "false"
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "{<table><tr align=center><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandIndeterm("justifycenter") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "{<table><tr align=center><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandState("justifycenter") after 
+FAIL [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "{<table><tr align=center><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandValue("justifycenter") after assert_equals: Wrong result returned expected "center" but got "true"
+PASS [["justifycenter",""]] "<div align=center><p>[foo]<p>bar</div><p>extra": execCommand("justifycenter", false, "") return value 
+PASS [["justifycenter",""]] "<div align=center><p>[foo]<p>bar</div><p>extra" checks for modifications to non-editable content 
+PASS [["justifycenter",""]] "<div align=center><p>[foo]<p>bar</div><p>extra" compare innerHTML 
+PASS [["justifycenter",""]] "<div align=center><p>[foo]<p>bar</div><p>extra" queryCommandIndeterm("justifycenter") before 
+PASS [["justifycenter",""]] "<div align=center><p>[foo]<p>bar</div><p>extra" queryCommandState("justifycenter") before 
+FAIL [["justifycenter",""]] "<div align=center><p>[foo]<p>bar</div><p>extra" queryCommandValue("justifycenter") before assert_equals: Wrong result returned expected "center" but got "true"
+PASS [["justifycenter",""]] "<div align=center><p>[foo]<p>bar</div><p>extra" queryCommandIndeterm("justifycenter") after 
+PASS [["justifycenter",""]] "<div align=center><p>[foo]<p>bar</div><p>extra" queryCommandState("justifycenter") after 
+FAIL [["justifycenter",""]] "<div align=center><p>[foo]<p>bar</div><p>extra" queryCommandValue("justifycenter") after assert_equals: Wrong result returned expected "center" but got "true"
+PASS [["stylewithcss","true"],["justifycenter",""]] "<div align=center><p>[foo<p>bar}</div><p>extra": execCommand("stylewithcss", false, "true") return value 
+PASS [["stylewithcss","true"],["justifycenter",""]] "<div align=center><p>[foo<p>bar}</div><p>extra": execCommand("justifycenter", false, "") return value 
+PASS [["stylewithcss","true"],["justifycenter",""]] "<div align=center><p>[foo<p>bar}</div><p>extra" checks for modifications to non-editable content 
+FAIL [["stylewithcss","true"],["justifycenter",""]] "<div align=center><p>[foo<p>bar}</div><p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<div style=\"text-align:center\"><p>foo</p><p>bar</p></div><p>extra</p>" but got "<div align=\"center\"><p>foo</p><p>bar</p></div><p>extra</p>"
+PASS [["stylewithcss","true"],["justifycenter",""]] "<div align=center><p>[foo<p>bar}</div><p>extra" queryCommandIndeterm("stylewithcss") before 
+PASS [["stylewithcss","true"],["justifycenter",""]] "<div align=center><p>[foo<p>bar}</div><p>extra" queryCommandState("stylewithcss") before 
+PASS [["stylewithcss","true"],["justifycenter",""]] "<div align=center><p>[foo<p>bar}</div><p>extra" queryCommandValue("stylewithcss") before 
+PASS [["stylewithcss","true"],["justifycenter",""]] "<div align=center><p>[foo<p>bar}</div><p>extra" queryCommandIndeterm("stylewithcss") after 
+PASS [["stylewithcss","true"],["justifycenter",""]] "<div align=center><p>[foo<p>bar}</div><p>extra" queryCommandState("stylewithcss") after 
+PASS [["stylewithcss","true"],["justifycenter",""]] "<div align=center><p>[foo<p>bar}</div><p>extra" queryCommandValue("stylewithcss") after 
+PASS [["stylewithcss","true"],["justifycenter",""]] "<div align=center><p>[foo<p>bar}</div><p>extra" queryCommandIndeterm("justifycenter") before 
+PASS [["stylewithcss","true"],["justifycenter",""]] "<div align=center><p>[foo<p>bar}</div><p>extra" queryCommandState("justifycenter") before 
+FAIL [["stylewithcss","true"],["justifycenter",""]] "<div align=center><p>[foo<p>bar}</div><p>extra" queryCommandValue("justifycenter") before assert_equals: Wrong result returned expected "center" but got "true"
+PASS [["stylewithcss","true"],["justifycenter",""]] "<div align=center><p>[foo<p>bar}</div><p>extra" queryCommandIndeterm("justifycenter") after 
+PASS [["stylewithcss","true"],["justifycenter",""]] "<div align=center><p>[foo<p>bar}</div><p>extra" queryCommandState("justifycenter") after 
+FAIL [["stylewithcss","true"],["justifycenter",""]] "<div align=center><p>[foo<p>bar}</div><p>extra" queryCommandValue("justifycenter") after assert_equals: Wrong result returned expected "center" but got "true"
+PASS [["stylewithcss","false"],["justifycenter",""]] "<div align=center><p>[foo<p>bar}</div><p>extra": execCommand("stylewithcss", false, "false") return value 
+PASS [["stylewithcss","false"],["justifycenter",""]] "<div align=center><p>[foo<p>bar}</div><p>extra": execCommand("justifycenter", false, "") return value 
+PASS [["stylewithcss","false"],["justifycenter",""]] "<div align=center><p>[foo<p>bar}</div><p>extra" checks for modifications to non-editable content 
+FAIL [["stylewithcss","false"],["justifycenter",""]] "<div align=center><p>[foo<p>bar}</div><p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<div style=\"text-align:center\"><p>foo</p><p>bar</p></div><p>extra</p>" but got "<div align=\"center\"><p>foo</p><p>bar</p></div><p>extra</p>"
+PASS [["stylewithcss","false"],["justifycenter",""]] "<div align=center><p>[foo<p>bar}</div><p>extra" queryCommandIndeterm("stylewithcss") before 
+PASS [["stylewithcss","false"],["justifycenter",""]] "<div align=center><p>[foo<p>bar}</div><p>extra" queryCommandState("stylewithcss") before 
+PASS [["stylewithcss","false"],["justifycenter",""]] "<div align=center><p>[foo<p>bar}</div><p>extra" queryCommandValue("stylewithcss") before 
+PASS [["stylewithcss","false"],["justifycenter",""]] "<div align=center><p>[foo<p>bar}</div><p>extra" queryCommandIndeterm("stylewithcss") after 
+PASS [["stylewithcss","false"],["justifycenter",""]] "<div align=center><p>[foo<p>bar}</div><p>extra" queryCommandState("stylewithcss") after 
+PASS [["stylewithcss","false"],["justifycenter",""]] "<div align=center><p>[foo<p>bar}</div><p>extra" queryCommandValue("stylewithcss") after 
+PASS [["stylewithcss","false"],["justifycenter",""]] "<div align=center><p>[foo<p>bar}</div><p>extra" queryCommandIndeterm("justifycenter") before 
+PASS [["stylewithcss","false"],["justifycenter",""]] "<div align=center><p>[foo<p>bar}</div><p>extra" queryCommandState("justifycenter") before 
+FAIL [["stylewithcss","false"],["justifycenter",""]] "<div align=center><p>[foo<p>bar}</div><p>extra" queryCommandValue("justifycenter") before assert_equals: Wrong result returned expected "center" but got "true"
+PASS [["stylewithcss","false"],["justifycenter",""]] "<div align=center><p>[foo<p>bar}</div><p>extra" queryCommandIndeterm("justifycenter") after 
+PASS [["stylewithcss","false"],["justifycenter",""]] "<div align=center><p>[foo<p>bar}</div><p>extra" queryCommandState("justifycenter") after 
+FAIL [["stylewithcss","false"],["justifycenter",""]] "<div align=center><p>[foo<p>bar}</div><p>extra" queryCommandValue("justifycenter") after assert_equals: Wrong result returned expected "center" but got "true"
+PASS [["justifycenter",""]] "<div style=text-align:center><p>[foo]<p>bar</div><p>extra": execCommand("justifycenter", false, "") return value 
+PASS [["justifycenter",""]] "<div style=text-align:center><p>[foo]<p>bar</div><p>extra" checks for modifications to non-editable content 
+PASS [["justifycenter",""]] "<div style=text-align:center><p>[foo]<p>bar</div><p>extra" compare innerHTML 
+PASS [["justifycenter",""]] "<div style=text-align:center><p>[foo]<p>bar</div><p>extra" queryCommandIndeterm("justifycenter") before 
+PASS [["justifycenter",""]] "<div style=text-align:center><p>[foo]<p>bar</div><p>extra" queryCommandState("justifycenter") before 
+FAIL [["justifycenter",""]] "<div style=text-align:center><p>[foo]<p>bar</div><p>extra" queryCommandValue("justifycenter") before assert_equals: Wrong result returned expected "center" but got "true"
+PASS [["justifycenter",""]] "<div style=text-align:center><p>[foo]<p>bar</div><p>extra" queryCommandIndeterm("justifycenter") after 
+PASS [["justifycenter",""]] "<div style=text-align:center><p>[foo]<p>bar</div><p>extra" queryCommandState("justifycenter") after 
+FAIL [["justifycenter",""]] "<div style=text-align:center><p>[foo]<p>bar</div><p>extra" queryCommandValue("justifycenter") after assert_equals: Wrong result returned expected "center" but got "true"
+PASS [["justifycenter",""]] "<div style=text-align:center><p>[foo<p>bar]</div><p>extra": execCommand("justifycenter", false, "") return value 
+PASS [["justifycenter",""]] "<div style=text-align:center><p>[foo<p>bar]</div><p>extra" checks for modifications to non-editable content 
+PASS [["justifycenter",""]] "<div style=text-align:center><p>[foo<p>bar]</div><p>extra" compare innerHTML 
+PASS [["justifycenter",""]] "<div style=text-align:center><p>[foo<p>bar]</div><p>extra" queryCommandIndeterm("justifycenter") before 
+PASS [["justifycenter",""]] "<div style=text-align:center><p>[foo<p>bar]</div><p>extra" queryCommandState("justifycenter") before 
+FAIL [["justifycenter",""]] "<div style=text-align:center><p>[foo<p>bar]</div><p>extra" queryCommandValue("justifycenter") before assert_equals: Wrong result returned expected "center" but got "true"
+PASS [["justifycenter",""]] "<div style=text-align:center><p>[foo<p>bar]</div><p>extra" queryCommandIndeterm("justifycenter") after 
+PASS [["justifycenter",""]] "<div style=text-align:center><p>[foo<p>bar]</div><p>extra" queryCommandState("justifycenter") after 
+FAIL [["justifycenter",""]] "<div style=text-align:center><p>[foo<p>bar]</div><p>extra" queryCommandValue("justifycenter") after assert_equals: Wrong result returned expected "center" but got "true"
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div align=justify><p>[foo]<p>bar</div><p>extra": execCommand("stylewithcss", false, "true") return value 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div align=justify><p>[foo]<p>bar</div><p>extra": execCommand("defaultparagraphseparator", false, "div") return value 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div align=justify><p>[foo]<p>bar</div><p>extra": execCommand("justifycenter", false, "") return value 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div align=justify><p>[foo]<p>bar</div><p>extra" checks for modifications to non-editable content 
+FAIL [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div align=justify><p>[foo]<p>bar</div><p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<div align=\"justify\"><div style=\"text-align:center\"><p>foo</p></div><p>bar</p></div><p>extra</p>" but got "<div align=\"justify\"><p style=\"text-align:center\">foo</p><p>bar</p></div><p>extra</p>"
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div align=justify><p>[foo]<p>bar</div><p>extra" queryCommandIndeterm("stylewithcss") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div align=justify><p>[foo]<p>bar</div><p>extra" queryCommandState("stylewithcss") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div align=justify><p>[foo]<p>bar</div><p>extra" queryCommandValue("stylewithcss") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div align=justify><p>[foo]<p>bar</div><p>extra" queryCommandIndeterm("stylewithcss") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div align=justify><p>[foo]<p>bar</div><p>extra" queryCommandState("stylewithcss") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div align=justify><p>[foo]<p>bar</div><p>extra" queryCommandValue("stylewithcss") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div align=justify><p>[foo]<p>bar</div><p>extra" queryCommandIndeterm("defaultparagraphseparator") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div align=justify><p>[foo]<p>bar</div><p>extra" queryCommandState("defaultparagraphseparator") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div align=justify><p>[foo]<p>bar</div><p>extra" queryCommandValue("defaultparagraphseparator") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div align=justify><p>[foo]<p>bar</div><p>extra" queryCommandIndeterm("defaultparagraphseparator") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div align=justify><p>[foo]<p>bar</div><p>extra" queryCommandState("defaultparagraphseparator") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div align=justify><p>[foo]<p>bar</div><p>extra" queryCommandValue("defaultparagraphseparator") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div align=justify><p>[foo]<p>bar</div><p>extra" queryCommandIndeterm("justifycenter") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div align=justify><p>[foo]<p>bar</div><p>extra" queryCommandState("justifycenter") before 
+FAIL [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div align=justify><p>[foo]<p>bar</div><p>extra" queryCommandValue("justifycenter") before assert_equals: Wrong result returned expected "justify" but got "false"
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div align=justify><p>[foo]<p>bar</div><p>extra" queryCommandIndeterm("justifycenter") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div align=justify><p>[foo]<p>bar</div><p>extra" queryCommandState("justifycenter") after 
+FAIL [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div align=justify><p>[foo]<p>bar</div><p>extra" queryCommandValue("justifycenter") after assert_equals: Wrong result returned expected "center" but got "true"
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div align=justify><p>[foo]<p>bar</div><p>extra": execCommand("stylewithcss", false, "false") return value 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div align=justify><p>[foo]<p>bar</div><p>extra": execCommand("defaultparagraphseparator", false, "div") return value 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div align=justify><p>[foo]<p>bar</div><p>extra": execCommand("justifycenter", false, "") return value 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div align=justify><p>[foo]<p>bar</div><p>extra" checks for modifications to non-editable content 
+FAIL [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div align=justify><p>[foo]<p>bar</div><p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<div align=\"justify\"><div style=\"text-align:center\"><p>foo</p></div><p>bar</p></div><p>extra</p>" but got "<div align=\"justify\"><p style=\"text-align:center\">foo</p><p>bar</p></div><p>extra</p>"
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div align=justify><p>[foo]<p>bar</div><p>extra" queryCommandIndeterm("stylewithcss") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div align=justify><p>[foo]<p>bar</div><p>extra" queryCommandState("stylewithcss") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div align=justify><p>[foo]<p>bar</div><p>extra" queryCommandValue("stylewithcss") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div align=justify><p>[foo]<p>bar</div><p>extra" queryCommandIndeterm("stylewithcss") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div align=justify><p>[foo]<p>bar</div><p>extra" queryCommandState("stylewithcss") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div align=justify><p>[foo]<p>bar</div><p>extra" queryCommandValue("stylewithcss") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div align=justify><p>[foo]<p>bar</div><p>extra" queryCommandIndeterm("defaultparagraphseparator") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div align=justify><p>[foo]<p>bar</div><p>extra" queryCommandState("defaultparagraphseparator") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div align=justify><p>[foo]<p>bar</div><p>extra" queryCommandValue("defaultparagraphseparator") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div align=justify><p>[foo]<p>bar</div><p>extra" queryCommandIndeterm("defaultparagraphseparator") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div align=justify><p>[foo]<p>bar</div><p>extra" queryCommandState("defaultparagraphseparator") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div align=justify><p>[foo]<p>bar</div><p>extra" queryCommandValue("defaultparagraphseparator") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div align=justify><p>[foo]<p>bar</div><p>extra" queryCommandIndeterm("justifycenter") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div align=justify><p>[foo]<p>bar</div><p>extra" queryCommandState("justifycenter") before 
+FAIL [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div align=justify><p>[foo]<p>bar</div><p>extra" queryCommandValue("justifycenter") before assert_equals: Wrong result returned expected "justify" but got "false"
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div align=justify><p>[foo]<p>bar</div><p>extra" queryCommandIndeterm("justifycenter") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div align=justify><p>[foo]<p>bar</div><p>extra" queryCommandState("justifycenter") after 
+FAIL [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div align=justify><p>[foo]<p>bar</div><p>extra" queryCommandValue("justifycenter") after assert_equals: Wrong result returned expected "center" but got "true"
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div align=justify><p>[foo]<p>bar</div><p>extra": execCommand("stylewithcss", false, "true") return value 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div align=justify><p>[foo]<p>bar</div><p>extra": execCommand("defaultparagraphseparator", false, "p") return value 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div align=justify><p>[foo]<p>bar</div><p>extra": execCommand("justifycenter", false, "") return value 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div align=justify><p>[foo]<p>bar</div><p>extra" checks for modifications to non-editable content 
+FAIL [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div align=justify><p>[foo]<p>bar</div><p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<div align=\"justify\"><div style=\"text-align:center\"><p>foo</p></div><p>bar</p></div><p>extra</p>" but got "<div align=\"justify\"><p style=\"text-align:center\">foo</p><p>bar</p></div><p>extra</p>"
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div align=justify><p>[foo]<p>bar</div><p>extra" queryCommandIndeterm("stylewithcss") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div align=justify><p>[foo]<p>bar</div><p>extra" queryCommandState("stylewithcss") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div align=justify><p>[foo]<p>bar</div><p>extra" queryCommandValue("stylewithcss") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div align=justify><p>[foo]<p>bar</div><p>extra" queryCommandIndeterm("stylewithcss") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div align=justify><p>[foo]<p>bar</div><p>extra" queryCommandState("stylewithcss") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div align=justify><p>[foo]<p>bar</div><p>extra" queryCommandValue("stylewithcss") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div align=justify><p>[foo]<p>bar</div><p>extra" queryCommandIndeterm("defaultparagraphseparator") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div align=justify><p>[foo]<p>bar</div><p>extra" queryCommandState("defaultparagraphseparator") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div align=justify><p>[foo]<p>bar</div><p>extra" queryCommandValue("defaultparagraphseparator") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div align=justify><p>[foo]<p>bar</div><p>extra" queryCommandIndeterm("defaultparagraphseparator") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div align=justify><p>[foo]<p>bar</div><p>extra" queryCommandState("defaultparagraphseparator") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div align=justify><p>[foo]<p>bar</div><p>extra" queryCommandValue("defaultparagraphseparator") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div align=justify><p>[foo]<p>bar</div><p>extra" queryCommandIndeterm("justifycenter") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div align=justify><p>[foo]<p>bar</div><p>extra" queryCommandState("justifycenter") before 
+FAIL [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div align=justify><p>[foo]<p>bar</div><p>extra" queryCommandValue("justifycenter") before assert_equals: Wrong result returned expected "justify" but got "false"
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div align=justify><p>[foo]<p>bar</div><p>extra" queryCommandIndeterm("justifycenter") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div align=justify><p>[foo]<p>bar</div><p>extra" queryCommandState("justifycenter") after 
+FAIL [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div align=justify><p>[foo]<p>bar</div><p>extra" queryCommandValue("justifycenter") after assert_equals: Wrong result returned expected "center" but got "true"
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div align=justify><p>[foo]<p>bar</div><p>extra": execCommand("stylewithcss", false, "false") return value 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div align=justify><p>[foo]<p>bar</div><p>extra": execCommand("defaultparagraphseparator", false, "p") return value 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div align=justify><p>[foo]<p>bar</div><p>extra": execCommand("justifycenter", false, "") return value 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div align=justify><p>[foo]<p>bar</div><p>extra" checks for modifications to non-editable content 
+FAIL [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div align=justify><p>[foo]<p>bar</div><p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<div align=\"justify\"><div style=\"text-align:center\"><p>foo</p></div><p>bar</p></div><p>extra</p>" but got "<div align=\"justify\"><p style=\"text-align:center\">foo</p><p>bar</p></div><p>extra</p>"
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div align=justify><p>[foo]<p>bar</div><p>extra" queryCommandIndeterm("stylewithcss") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div align=justify><p>[foo]<p>bar</div><p>extra" queryCommandState("stylewithcss") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div align=justify><p>[foo]<p>bar</div><p>extra" queryCommandValue("stylewithcss") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div align=justify><p>[foo]<p>bar</div><p>extra" queryCommandIndeterm("stylewithcss") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div align=justify><p>[foo]<p>bar</div><p>extra" queryCommandState("stylewithcss") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div align=justify><p>[foo]<p>bar</div><p>extra" queryCommandValue("stylewithcss") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div align=justify><p>[foo]<p>bar</div><p>extra" queryCommandIndeterm("defaultparagraphseparator") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div align=justify><p>[foo]<p>bar</div><p>extra" queryCommandState("defaultparagraphseparator") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div align=justify><p>[foo]<p>bar</div><p>extra" queryCommandValue("defaultparagraphseparator") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div align=justify><p>[foo]<p>bar</div><p>extra" queryCommandIndeterm("defaultparagraphseparator") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div align=justify><p>[foo]<p>bar</div><p>extra" queryCommandState("defaultparagraphseparator") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div align=justify><p>[foo]<p>bar</div><p>extra" queryCommandValue("defaultparagraphseparator") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div align=justify><p>[foo]<p>bar</div><p>extra" queryCommandIndeterm("justifycenter") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div align=justify><p>[foo]<p>bar</div><p>extra" queryCommandState("justifycenter") before 
+FAIL [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div align=justify><p>[foo]<p>bar</div><p>extra" queryCommandValue("justifycenter") before assert_equals: Wrong result returned expected "justify" but got "false"
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div align=justify><p>[foo]<p>bar</div><p>extra" queryCommandIndeterm("justifycenter") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div align=justify><p>[foo]<p>bar</div><p>extra" queryCommandState("justifycenter") after 
+FAIL [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div align=justify><p>[foo]<p>bar</div><p>extra" queryCommandValue("justifycenter") after assert_equals: Wrong result returned expected "center" but got "true"
+PASS [["stylewithcss","true"],["justifycenter",""]] "<div align=justify><p>[foo<p>bar}</div><p>extra": execCommand("stylewithcss", false, "true") return value 
+PASS [["stylewithcss","true"],["justifycenter",""]] "<div align=justify><p>[foo<p>bar}</div><p>extra": execCommand("justifycenter", false, "") return value 
+PASS [["stylewithcss","true"],["justifycenter",""]] "<div align=justify><p>[foo<p>bar}</div><p>extra" checks for modifications to non-editable content 
+FAIL [["stylewithcss","true"],["justifycenter",""]] "<div align=justify><p>[foo<p>bar}</div><p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<div style=\"text-align:center\"><p>foo</p><p>bar</p></div><p>extra</p>" but got "<div align=\"justify\"><p style=\"text-align:center\">foo</p><p style=\"text-align:center\">bar</p></div><p>extra</p>"
+PASS [["stylewithcss","true"],["justifycenter",""]] "<div align=justify><p>[foo<p>bar}</div><p>extra" queryCommandIndeterm("stylewithcss") before 
+PASS [["stylewithcss","true"],["justifycenter",""]] "<div align=justify><p>[foo<p>bar}</div><p>extra" queryCommandState("stylewithcss") before 
+PASS [["stylewithcss","true"],["justifycenter",""]] "<div align=justify><p>[foo<p>bar}</div><p>extra" queryCommandValue("stylewithcss") before 
+PASS [["stylewithcss","true"],["justifycenter",""]] "<div align=justify><p>[foo<p>bar}</div><p>extra" queryCommandIndeterm("stylewithcss") after 
+PASS [["stylewithcss","true"],["justifycenter",""]] "<div align=justify><p>[foo<p>bar}</div><p>extra" queryCommandState("stylewithcss") after 
+PASS [["stylewithcss","true"],["justifycenter",""]] "<div align=justify><p>[foo<p>bar}</div><p>extra" queryCommandValue("stylewithcss") after 
+PASS [["stylewithcss","true"],["justifycenter",""]] "<div align=justify><p>[foo<p>bar}</div><p>extra" queryCommandIndeterm("justifycenter") before 
+PASS [["stylewithcss","true"],["justifycenter",""]] "<div align=justify><p>[foo<p>bar}</div><p>extra" queryCommandState("justifycenter") before 
+FAIL [["stylewithcss","true"],["justifycenter",""]] "<div align=justify><p>[foo<p>bar}</div><p>extra" queryCommandValue("justifycenter") before assert_equals: Wrong result returned expected "justify" but got "false"
+PASS [["stylewithcss","true"],["justifycenter",""]] "<div align=justify><p>[foo<p>bar}</div><p>extra" queryCommandIndeterm("justifycenter") after 
+PASS [["stylewithcss","true"],["justifycenter",""]] "<div align=justify><p>[foo<p>bar}</div><p>extra" queryCommandState("justifycenter") after 
+FAIL [["stylewithcss","true"],["justifycenter",""]] "<div align=justify><p>[foo<p>bar}</div><p>extra" queryCommandValue("justifycenter") after assert_equals: Wrong result returned expected "center" but got "true"
+PASS [["stylewithcss","false"],["justifycenter",""]] "<div align=justify><p>[foo<p>bar}</div><p>extra": execCommand("stylewithcss", false, "false") return value 
+PASS [["stylewithcss","false"],["justifycenter",""]] "<div align=justify><p>[foo<p>bar}</div><p>extra": execCommand("justifycenter", false, "") return value 
+PASS [["stylewithcss","false"],["justifycenter",""]] "<div align=justify><p>[foo<p>bar}</div><p>extra" checks for modifications to non-editable content 
+FAIL [["stylewithcss","false"],["justifycenter",""]] "<div align=justify><p>[foo<p>bar}</div><p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<div style=\"text-align:center\"><p>foo</p><p>bar</p></div><p>extra</p>" but got "<div align=\"justify\"><p style=\"text-align:center\">foo</p><p style=\"text-align:center\">bar</p></div><p>extra</p>"
+PASS [["stylewithcss","false"],["justifycenter",""]] "<div align=justify><p>[foo<p>bar}</div><p>extra" queryCommandIndeterm("stylewithcss") before 
+PASS [["stylewithcss","false"],["justifycenter",""]] "<div align=justify><p>[foo<p>bar}</div><p>extra" queryCommandState("stylewithcss") before 
+PASS [["stylewithcss","false"],["justifycenter",""]] "<div align=justify><p>[foo<p>bar}</div><p>extra" queryCommandValue("stylewithcss") before 
+PASS [["stylewithcss","false"],["justifycenter",""]] "<div align=justify><p>[foo<p>bar}</div><p>extra" queryCommandIndeterm("stylewithcss") after 
+PASS [["stylewithcss","false"],["justifycenter",""]] "<div align=justify><p>[foo<p>bar}</div><p>extra" queryCommandState("stylewithcss") after 
+PASS [["stylewithcss","false"],["justifycenter",""]] "<div align=justify><p>[foo<p>bar}</div><p>extra" queryCommandValue("stylewithcss") after 
+PASS [["stylewithcss","false"],["justifycenter",""]] "<div align=justify><p>[foo<p>bar}</div><p>extra" queryCommandIndeterm("justifycenter") before 
+PASS [["stylewithcss","false"],["justifycenter",""]] "<div align=justify><p>[foo<p>bar}</div><p>extra" queryCommandState("justifycenter") before 
+FAIL [["stylewithcss","false"],["justifycenter",""]] "<div align=justify><p>[foo<p>bar}</div><p>extra" queryCommandValue("justifycenter") before assert_equals: Wrong result returned expected "justify" but got "false"
+PASS [["stylewithcss","false"],["justifycenter",""]] "<div align=justify><p>[foo<p>bar}</div><p>extra" queryCommandIndeterm("justifycenter") after 
+PASS [["stylewithcss","false"],["justifycenter",""]] "<div align=justify><p>[foo<p>bar}</div><p>extra" queryCommandState("justifycenter") after 
+FAIL [["stylewithcss","false"],["justifycenter",""]] "<div align=justify><p>[foo<p>bar}</div><p>extra" queryCommandValue("justifycenter") after assert_equals: Wrong result returned expected "center" but got "true"
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div style=text-align:justify><p>[foo]<p>bar</div><p>extra": execCommand("stylewithcss", false, "true") return value 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div style=text-align:justify><p>[foo]<p>bar</div><p>extra": execCommand("defaultparagraphseparator", false, "div") return value 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div style=text-align:justify><p>[foo]<p>bar</div><p>extra": execCommand("justifycenter", false, "") return value 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div style=text-align:justify><p>[foo]<p>bar</div><p>extra" checks for modifications to non-editable content 
+FAIL [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div style=text-align:justify><p>[foo]<p>bar</div><p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<div style=\"text-align:justify\"><div style=\"text-align:center\"><p>foo</p></div><p>bar</p></div><p>extra</p>" but got "<div style=\"text-align:justify\"><p style=\"text-align:center\">foo</p><p>bar</p></div><p>extra</p>"
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div style=text-align:justify><p>[foo]<p>bar</div><p>extra" queryCommandIndeterm("stylewithcss") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div style=text-align:justify><p>[foo]<p>bar</div><p>extra" queryCommandState("stylewithcss") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div style=text-align:justify><p>[foo]<p>bar</div><p>extra" queryCommandValue("stylewithcss") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div style=text-align:justify><p>[foo]<p>bar</div><p>extra" queryCommandIndeterm("stylewithcss") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div style=text-align:justify><p>[foo]<p>bar</div><p>extra" queryCommandState("stylewithcss") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div style=text-align:justify><p>[foo]<p>bar</div><p>extra" queryCommandValue("stylewithcss") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div style=text-align:justify><p>[foo]<p>bar</div><p>extra" queryCommandIndeterm("defaultparagraphseparator") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div style=text-align:justify><p>[foo]<p>bar</div><p>extra" queryCommandState("defaultparagraphseparator") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div style=text-align:justify><p>[foo]<p>bar</div><p>extra" queryCommandValue("defaultparagraphseparator") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div style=text-align:justify><p>[foo]<p>bar</div><p>extra" queryCommandIndeterm("defaultparagraphseparator") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div style=text-align:justify><p>[foo]<p>bar</div><p>extra" queryCommandState("defaultparagraphseparator") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div style=text-align:justify><p>[foo]<p>bar</div><p>extra" queryCommandValue("defaultparagraphseparator") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div style=text-align:justify><p>[foo]<p>bar</div><p>extra" queryCommandIndeterm("justifycenter") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div style=text-align:justify><p>[foo]<p>bar</div><p>extra" queryCommandState("justifycenter") before 
+FAIL [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div style=text-align:justify><p>[foo]<p>bar</div><p>extra" queryCommandValue("justifycenter") before assert_equals: Wrong result returned expected "justify" but got "false"
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div style=text-align:justify><p>[foo]<p>bar</div><p>extra" queryCommandIndeterm("justifycenter") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div style=text-align:justify><p>[foo]<p>bar</div><p>extra" queryCommandState("justifycenter") after 
+FAIL [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div style=text-align:justify><p>[foo]<p>bar</div><p>extra" queryCommandValue("justifycenter") after assert_equals: Wrong result returned expected "center" but got "true"
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div style=text-align:justify><p>[foo]<p>bar</div><p>extra": execCommand("stylewithcss", false, "false") return value 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div style=text-align:justify><p>[foo]<p>bar</div><p>extra": execCommand("defaultparagraphseparator", false, "div") return value 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div style=text-align:justify><p>[foo]<p>bar</div><p>extra": execCommand("justifycenter", false, "") return value 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div style=text-align:justify><p>[foo]<p>bar</div><p>extra" checks for modifications to non-editable content 
+FAIL [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div style=text-align:justify><p>[foo]<p>bar</div><p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<div style=\"text-align:justify\"><div style=\"text-align:center\"><p>foo</p></div><p>bar</p></div><p>extra</p>" but got "<div style=\"text-align:justify\"><p style=\"text-align:center\">foo</p><p>bar</p></div><p>extra</p>"
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div style=text-align:justify><p>[foo]<p>bar</div><p>extra" queryCommandIndeterm("stylewithcss") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div style=text-align:justify><p>[foo]<p>bar</div><p>extra" queryCommandState("stylewithcss") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div style=text-align:justify><p>[foo]<p>bar</div><p>extra" queryCommandValue("stylewithcss") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div style=text-align:justify><p>[foo]<p>bar</div><p>extra" queryCommandIndeterm("stylewithcss") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div style=text-align:justify><p>[foo]<p>bar</div><p>extra" queryCommandState("stylewithcss") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div style=text-align:justify><p>[foo]<p>bar</div><p>extra" queryCommandValue("stylewithcss") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div style=text-align:justify><p>[foo]<p>bar</div><p>extra" queryCommandIndeterm("defaultparagraphseparator") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div style=text-align:justify><p>[foo]<p>bar</div><p>extra" queryCommandState("defaultparagraphseparator") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div style=text-align:justify><p>[foo]<p>bar</div><p>extra" queryCommandValue("defaultparagraphseparator") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div style=text-align:justify><p>[foo]<p>bar</div><p>extra" queryCommandIndeterm("defaultparagraphseparator") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div style=text-align:justify><p>[foo]<p>bar</div><p>extra" queryCommandState("defaultparagraphseparator") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div style=text-align:justify><p>[foo]<p>bar</div><p>extra" queryCommandValue("defaultparagraphseparator") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div style=text-align:justify><p>[foo]<p>bar</div><p>extra" queryCommandIndeterm("justifycenter") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div style=text-align:justify><p>[foo]<p>bar</div><p>extra" queryCommandState("justifycenter") before 
+FAIL [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div style=text-align:justify><p>[foo]<p>bar</div><p>extra" queryCommandValue("justifycenter") before assert_equals: Wrong result returned expected "justify" but got "false"
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div style=text-align:justify><p>[foo]<p>bar</div><p>extra" queryCommandIndeterm("justifycenter") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div style=text-align:justify><p>[foo]<p>bar</div><p>extra" queryCommandState("justifycenter") after 
+FAIL [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div style=text-align:justify><p>[foo]<p>bar</div><p>extra" queryCommandValue("justifycenter") after assert_equals: Wrong result returned expected "center" but got "true"
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div style=text-align:justify><p>[foo]<p>bar</div><p>extra": execCommand("stylewithcss", false, "true") return value 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div style=text-align:justify><p>[foo]<p>bar</div><p>extra": execCommand("defaultparagraphseparator", false, "p") return value 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div style=text-align:justify><p>[foo]<p>bar</div><p>extra": execCommand("justifycenter", false, "") return value 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div style=text-align:justify><p>[foo]<p>bar</div><p>extra" checks for modifications to non-editable content 
+FAIL [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div style=text-align:justify><p>[foo]<p>bar</div><p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<div style=\"text-align:justify\"><div style=\"text-align:center\"><p>foo</p></div><p>bar</p></div><p>extra</p>" but got "<div style=\"text-align:justify\"><p style=\"text-align:center\">foo</p><p>bar</p></div><p>extra</p>"
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div style=text-align:justify><p>[foo]<p>bar</div><p>extra" queryCommandIndeterm("stylewithcss") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div style=text-align:justify><p>[foo]<p>bar</div><p>extra" queryCommandState("stylewithcss") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div style=text-align:justify><p>[foo]<p>bar</div><p>extra" queryCommandValue("stylewithcss") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div style=text-align:justify><p>[foo]<p>bar</div><p>extra" queryCommandIndeterm("stylewithcss") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div style=text-align:justify><p>[foo]<p>bar</div><p>extra" queryCommandState("stylewithcss") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div style=text-align:justify><p>[foo]<p>bar</div><p>extra" queryCommandValue("stylewithcss") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div style=text-align:justify><p>[foo]<p>bar</div><p>extra" queryCommandIndeterm("defaultparagraphseparator") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div style=text-align:justify><p>[foo]<p>bar</div><p>extra" queryCommandState("defaultparagraphseparator") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div style=text-align:justify><p>[foo]<p>bar</div><p>extra" queryCommandValue("defaultparagraphseparator") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div style=text-align:justify><p>[foo]<p>bar</div><p>extra" queryCommandIndeterm("defaultparagraphseparator") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div style=text-align:justify><p>[foo]<p>bar</div><p>extra" queryCommandState("defaultparagraphseparator") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div style=text-align:justify><p>[foo]<p>bar</div><p>extra" queryCommandValue("defaultparagraphseparator") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div style=text-align:justify><p>[foo]<p>bar</div><p>extra" queryCommandIndeterm("justifycenter") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div style=text-align:justify><p>[foo]<p>bar</div><p>extra" queryCommandState("justifycenter") before 
+FAIL [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div style=text-align:justify><p>[foo]<p>bar</div><p>extra" queryCommandValue("justifycenter") before assert_equals: Wrong result returned expected "justify" but got "false"
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div style=text-align:justify><p>[foo]<p>bar</div><p>extra" queryCommandIndeterm("justifycenter") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div style=text-align:justify><p>[foo]<p>bar</div><p>extra" queryCommandState("justifycenter") after 
+FAIL [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div style=text-align:justify><p>[foo]<p>bar</div><p>extra" queryCommandValue("justifycenter") after assert_equals: Wrong result returned expected "center" but got "true"
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div style=text-align:justify><p>[foo]<p>bar</div><p>extra": execCommand("stylewithcss", false, "false") return value 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div style=text-align:justify><p>[foo]<p>bar</div><p>extra": execCommand("defaultparagraphseparator", false, "p") return value 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div style=text-align:justify><p>[foo]<p>bar</div><p>extra": execCommand("justifycenter", false, "") return value 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div style=text-align:justify><p>[foo]<p>bar</div><p>extra" checks for modifications to non-editable content 
+FAIL [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div style=text-align:justify><p>[foo]<p>bar</div><p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<div style=\"text-align:justify\"><div style=\"text-align:center\"><p>foo</p></div><p>bar</p></div><p>extra</p>" but got "<div style=\"text-align:justify\"><p style=\"text-align:center\">foo</p><p>bar</p></div><p>extra</p>"
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div style=text-align:justify><p>[foo]<p>bar</div><p>extra" queryCommandIndeterm("stylewithcss") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div style=text-align:justify><p>[foo]<p>bar</div><p>extra" queryCommandState("stylewithcss") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div style=text-align:justify><p>[foo]<p>bar</div><p>extra" queryCommandValue("stylewithcss") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div style=text-align:justify><p>[foo]<p>bar</div><p>extra" queryCommandIndeterm("stylewithcss") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div style=text-align:justify><p>[foo]<p>bar</div><p>extra" queryCommandState("stylewithcss") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div style=text-align:justify><p>[foo]<p>bar</div><p>extra" queryCommandValue("stylewithcss") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div style=text-align:justify><p>[foo]<p>bar</div><p>extra" queryCommandIndeterm("defaultparagraphseparator") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div style=text-align:justify><p>[foo]<p>bar</div><p>extra" queryCommandState("defaultparagraphseparator") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div style=text-align:justify><p>[foo]<p>bar</div><p>extra" queryCommandValue("defaultparagraphseparator") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div style=text-align:justify><p>[foo]<p>bar</div><p>extra" queryCommandIndeterm("defaultparagraphseparator") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div style=text-align:justify><p>[foo]<p>bar</div><p>extra" queryCommandState("defaultparagraphseparator") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div style=text-align:justify><p>[foo]<p>bar</div><p>extra" queryCommandValue("defaultparagraphseparator") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div style=text-align:justify><p>[foo]<p>bar</div><p>extra" queryCommandIndeterm("justifycenter") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div style=text-align:justify><p>[foo]<p>bar</div><p>extra" queryCommandState("justifycenter") before 
+FAIL [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div style=text-align:justify><p>[foo]<p>bar</div><p>extra" queryCommandValue("justifycenter") before assert_equals: Wrong result returned expected "justify" but got "false"
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div style=text-align:justify><p>[foo]<p>bar</div><p>extra" queryCommandIndeterm("justifycenter") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div style=text-align:justify><p>[foo]<p>bar</div><p>extra" queryCommandState("justifycenter") after 
+FAIL [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div style=text-align:justify><p>[foo]<p>bar</div><p>extra" queryCommandValue("justifycenter") after assert_equals: Wrong result returned expected "center" but got "true"
+PASS [["justifycenter",""]] "<div style=text-align:justify><p>[foo<p>bar]</div><p>extra": execCommand("justifycenter", false, "") return value 
+PASS [["justifycenter",""]] "<div style=text-align:justify><p>[foo<p>bar]</div><p>extra" checks for modifications to non-editable content 
+FAIL [["justifycenter",""]] "<div style=text-align:justify><p>[foo<p>bar]</div><p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<div style=\"text-align:center\"><p>foo</p><p>bar</p></div><p>extra</p>" but got "<div style=\"text-align:justify\"><p style=\"text-align:center\">foo</p><p style=\"text-align:center\">bar</p></div><p>extra</p>"
+PASS [["justifycenter",""]] "<div style=text-align:justify><p>[foo<p>bar]</div><p>extra" queryCommandIndeterm("justifycenter") before 
+PASS [["justifycenter",""]] "<div style=text-align:justify><p>[foo<p>bar]</div><p>extra" queryCommandState("justifycenter") before 
+FAIL [["justifycenter",""]] "<div style=text-align:justify><p>[foo<p>bar]</div><p>extra" queryCommandValue("justifycenter") before assert_equals: Wrong result returned expected "justify" but got "false"
+PASS [["justifycenter",""]] "<div style=text-align:justify><p>[foo<p>bar]</div><p>extra" queryCommandIndeterm("justifycenter") after 
+PASS [["justifycenter",""]] "<div style=text-align:justify><p>[foo<p>bar]</div><p>extra" queryCommandState("justifycenter") after 
+FAIL [["justifycenter",""]] "<div style=text-align:justify><p>[foo<p>bar]</div><p>extra" queryCommandValue("justifycenter") after assert_equals: Wrong result returned expected "center" but got "true"
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div align=left><p>[foo]<p>bar</div><p>extra": execCommand("stylewithcss", false, "true") return value 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div align=left><p>[foo]<p>bar</div><p>extra": execCommand("defaultparagraphseparator", false, "div") return value 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div align=left><p>[foo]<p>bar</div><p>extra": execCommand("justifycenter", false, "") return value 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div align=left><p>[foo]<p>bar</div><p>extra" checks for modifications to non-editable content 
+FAIL [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div align=left><p>[foo]<p>bar</div><p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<div align=\"left\"><div style=\"text-align:center\"><p>foo</p></div><p>bar</p></div><p>extra</p>" but got "<div align=\"left\"><p style=\"text-align:center\">foo</p><p>bar</p></div><p>extra</p>"
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div align=left><p>[foo]<p>bar</div><p>extra" queryCommandIndeterm("stylewithcss") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div align=left><p>[foo]<p>bar</div><p>extra" queryCommandState("stylewithcss") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div align=left><p>[foo]<p>bar</div><p>extra" queryCommandValue("stylewithcss") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div align=left><p>[foo]<p>bar</div><p>extra" queryCommandIndeterm("stylewithcss") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div align=left><p>[foo]<p>bar</div><p>extra" queryCommandState("stylewithcss") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div align=left><p>[foo]<p>bar</div><p>extra" queryCommandValue("stylewithcss") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div align=left><p>[foo]<p>bar</div><p>extra" queryCommandIndeterm("defaultparagraphseparator") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div align=left><p>[foo]<p>bar</div><p>extra" queryCommandState("defaultparagraphseparator") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div align=left><p>[foo]<p>bar</div><p>extra" queryCommandValue("defaultparagraphseparator") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div align=left><p>[foo]<p>bar</div><p>extra" queryCommandIndeterm("defaultparagraphseparator") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div align=left><p>[foo]<p>bar</div><p>extra" queryCommandState("defaultparagraphseparator") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div align=left><p>[foo]<p>bar</div><p>extra" queryCommandValue("defaultparagraphseparator") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div align=left><p>[foo]<p>bar</div><p>extra" queryCommandIndeterm("justifycenter") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div align=left><p>[foo]<p>bar</div><p>extra" queryCommandState("justifycenter") before 
+FAIL [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div align=left><p>[foo]<p>bar</div><p>extra" queryCommandValue("justifycenter") before assert_equals: Wrong result returned expected "left" but got "false"
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div align=left><p>[foo]<p>bar</div><p>extra" queryCommandIndeterm("justifycenter") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div align=left><p>[foo]<p>bar</div><p>extra" queryCommandState("justifycenter") after 
+FAIL [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div align=left><p>[foo]<p>bar</div><p>extra" queryCommandValue("justifycenter") after assert_equals: Wrong result returned expected "center" but got "true"
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div align=left><p>[foo]<p>bar</div><p>extra": execCommand("stylewithcss", false, "false") return value 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div align=left><p>[foo]<p>bar</div><p>extra": execCommand("defaultparagraphseparator", false, "div") return value 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div align=left><p>[foo]<p>bar</div><p>extra": execCommand("justifycenter", false, "") return value 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div align=left><p>[foo]<p>bar</div><p>extra" checks for modifications to non-editable content 
+FAIL [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div align=left><p>[foo]<p>bar</div><p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<div align=\"left\"><div style=\"text-align:center\"><p>foo</p></div><p>bar</p></div><p>extra</p>" but got "<div align=\"left\"><p style=\"text-align:center\">foo</p><p>bar</p></div><p>extra</p>"
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div align=left><p>[foo]<p>bar</div><p>extra" queryCommandIndeterm("stylewithcss") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div align=left><p>[foo]<p>bar</div><p>extra" queryCommandState("stylewithcss") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div align=left><p>[foo]<p>bar</div><p>extra" queryCommandValue("stylewithcss") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div align=left><p>[foo]<p>bar</div><p>extra" queryCommandIndeterm("stylewithcss") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div align=left><p>[foo]<p>bar</div><p>extra" queryCommandState("stylewithcss") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div align=left><p>[foo]<p>bar</div><p>extra" queryCommandValue("stylewithcss") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div align=left><p>[foo]<p>bar</div><p>extra" queryCommandIndeterm("defaultparagraphseparator") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div align=left><p>[foo]<p>bar</div><p>extra" queryCommandState("defaultparagraphseparator") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div align=left><p>[foo]<p>bar</div><p>extra" queryCommandValue("defaultparagraphseparator") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div align=left><p>[foo]<p>bar</div><p>extra" queryCommandIndeterm("defaultparagraphseparator") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div align=left><p>[foo]<p>bar</div><p>extra" queryCommandState("defaultparagraphseparator") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div align=left><p>[foo]<p>bar</div><p>extra" queryCommandValue("defaultparagraphseparator") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div align=left><p>[foo]<p>bar</div><p>extra" queryCommandIndeterm("justifycenter") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div align=left><p>[foo]<p>bar</div><p>extra" queryCommandState("justifycenter") before 
+FAIL [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div align=left><p>[foo]<p>bar</div><p>extra" queryCommandValue("justifycenter") before assert_equals: Wrong result returned expected "left" but got "false"
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div align=left><p>[foo]<p>bar</div><p>extra" queryCommandIndeterm("justifycenter") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div align=left><p>[foo]<p>bar</div><p>extra" queryCommandState("justifycenter") after 
+FAIL [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div align=left><p>[foo]<p>bar</div><p>extra" queryCommandValue("justifycenter") after assert_equals: Wrong result returned expected "center" but got "true"
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div align=left><p>[foo]<p>bar</div><p>extra": execCommand("stylewithcss", false, "true") return value 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div align=left><p>[foo]<p>bar</div><p>extra": execCommand("defaultparagraphseparator", false, "p") return value 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div align=left><p>[foo]<p>bar</div><p>extra": execCommand("justifycenter", false, "") return value 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div align=left><p>[foo]<p>bar</div><p>extra" checks for modifications to non-editable content 
+FAIL [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div align=left><p>[foo]<p>bar</div><p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<div align=\"left\"><div style=\"text-align:center\"><p>foo</p></div><p>bar</p></div><p>extra</p>" but got "<div align=\"left\"><p style=\"text-align:center\">foo</p><p>bar</p></div><p>extra</p>"
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div align=left><p>[foo]<p>bar</div><p>extra" queryCommandIndeterm("stylewithcss") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div align=left><p>[foo]<p>bar</div><p>extra" queryCommandState("stylewithcss") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div align=left><p>[foo]<p>bar</div><p>extra" queryCommandValue("stylewithcss") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div align=left><p>[foo]<p>bar</div><p>extra" queryCommandIndeterm("stylewithcss") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div align=left><p>[foo]<p>bar</div><p>extra" queryCommandState("stylewithcss") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div align=left><p>[foo]<p>bar</div><p>extra" queryCommandValue("stylewithcss") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div align=left><p>[foo]<p>bar</div><p>extra" queryCommandIndeterm("defaultparagraphseparator") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div align=left><p>[foo]<p>bar</div><p>extra" queryCommandState("defaultparagraphseparator") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div align=left><p>[foo]<p>bar</div><p>extra" queryCommandValue("defaultparagraphseparator") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div align=left><p>[foo]<p>bar</div><p>extra" queryCommandIndeterm("defaultparagraphseparator") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div align=left><p>[foo]<p>bar</div><p>extra" queryCommandState("defaultparagraphseparator") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div align=left><p>[foo]<p>bar</div><p>extra" queryCommandValue("defaultparagraphseparator") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div align=left><p>[foo]<p>bar</div><p>extra" queryCommandIndeterm("justifycenter") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div align=left><p>[foo]<p>bar</div><p>extra" queryCommandState("justifycenter") before 
+FAIL [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div align=left><p>[foo]<p>bar</div><p>extra" queryCommandValue("justifycenter") before assert_equals: Wrong result returned expected "left" but got "false"
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div align=left><p>[foo]<p>bar</div><p>extra" queryCommandIndeterm("justifycenter") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div align=left><p>[foo]<p>bar</div><p>extra" queryCommandState("justifycenter") after 
+FAIL [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div align=left><p>[foo]<p>bar</div><p>extra" queryCommandValue("justifycenter") after assert_equals: Wrong result returned expected "center" but got "true"
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div align=left><p>[foo]<p>bar</div><p>extra": execCommand("stylewithcss", false, "false") return value 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div align=left><p>[foo]<p>bar</div><p>extra": execCommand("defaultparagraphseparator", false, "p") return value 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div align=left><p>[foo]<p>bar</div><p>extra": execCommand("justifycenter", false, "") return value 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div align=left><p>[foo]<p>bar</div><p>extra" checks for modifications to non-editable content 
+FAIL [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div align=left><p>[foo]<p>bar</div><p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<div align=\"left\"><div style=\"text-align:center\"><p>foo</p></div><p>bar</p></div><p>extra</p>" but got "<div align=\"left\"><p style=\"text-align:center\">foo</p><p>bar</p></div><p>extra</p>"
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div align=left><p>[foo]<p>bar</div><p>extra" queryCommandIndeterm("stylewithcss") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div align=left><p>[foo]<p>bar</div><p>extra" queryCommandState("stylewithcss") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div align=left><p>[foo]<p>bar</div><p>extra" queryCommandValue("stylewithcss") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div align=left><p>[foo]<p>bar</div><p>extra" queryCommandIndeterm("stylewithcss") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div align=left><p>[foo]<p>bar</div><p>extra" queryCommandState("stylewithcss") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div align=left><p>[foo]<p>bar</div><p>extra" queryCommandValue("stylewithcss") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div align=left><p>[foo]<p>bar</div><p>extra" queryCommandIndeterm("defaultparagraphseparator") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div align=left><p>[foo]<p>bar</div><p>extra" queryCommandState("defaultparagraphseparator") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div align=left><p>[foo]<p>bar</div><p>extra" queryCommandValue("defaultparagraphseparator") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div align=left><p>[foo]<p>bar</div><p>extra" queryCommandIndeterm("defaultparagraphseparator") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div align=left><p>[foo]<p>bar</div><p>extra" queryCommandState("defaultparagraphseparator") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div align=left><p>[foo]<p>bar</div><p>extra" queryCommandValue("defaultparagraphseparator") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div align=left><p>[foo]<p>bar</div><p>extra" queryCommandIndeterm("justifycenter") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div align=left><p>[foo]<p>bar</div><p>extra" queryCommandState("justifycenter") before 
+FAIL [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div align=left><p>[foo]<p>bar</div><p>extra" queryCommandValue("justifycenter") before assert_equals: Wrong result returned expected "left" but got "false"
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div align=left><p>[foo]<p>bar</div><p>extra" queryCommandIndeterm("justifycenter") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div align=left><p>[foo]<p>bar</div><p>extra" queryCommandState("justifycenter") after 
+FAIL [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div align=left><p>[foo]<p>bar</div><p>extra" queryCommandValue("justifycenter") after assert_equals: Wrong result returned expected "center" but got "true"
+PASS [["stylewithcss","true"],["justifycenter",""]] "<div align=left><p>[foo<p>bar}</div><p>extra": execCommand("stylewithcss", false, "true") return value 
+PASS [["stylewithcss","true"],["justifycenter",""]] "<div align=left><p>[foo<p>bar}</div><p>extra": execCommand("justifycenter", false, "") return value 
+PASS [["stylewithcss","true"],["justifycenter",""]] "<div align=left><p>[foo<p>bar}</div><p>extra" checks for modifications to non-editable content 
+FAIL [["stylewithcss","true"],["justifycenter",""]] "<div align=left><p>[foo<p>bar}</div><p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<div style=\"text-align:center\"><p>foo</p><p>bar</p></div><p>extra</p>" but got "<div align=\"left\"><p style=\"text-align:center\">foo</p><p style=\"text-align:center\">bar</p></div><p>extra</p>"
+PASS [["stylewithcss","true"],["justifycenter",""]] "<div align=left><p>[foo<p>bar}</div><p>extra" queryCommandIndeterm("stylewithcss") before 
+PASS [["stylewithcss","true"],["justifycenter",""]] "<div align=left><p>[foo<p>bar}</div><p>extra" queryCommandState("stylewithcss") before 
+PASS [["stylewithcss","true"],["justifycenter",""]] "<div align=left><p>[foo<p>bar}</div><p>extra" queryCommandValue("stylewithcss") before 
+PASS [["stylewithcss","true"],["justifycenter",""]] "<div align=left><p>[foo<p>bar}</div><p>extra" queryCommandIndeterm("stylewithcss") after 
+PASS [["stylewithcss","true"],["justifycenter",""]] "<div align=left><p>[foo<p>bar}</div><p>extra" queryCommandState("stylewithcss") after 
+PASS [["stylewithcss","true"],["justifycenter",""]] "<div align=left><p>[foo<p>bar}</div><p>extra" queryCommandValue("stylewithcss") after 
+PASS [["stylewithcss","true"],["justifycenter",""]] "<div align=left><p>[foo<p>bar}</div><p>extra" queryCommandIndeterm("justifycenter") before 
+PASS [["stylewithcss","true"],["justifycenter",""]] "<div align=left><p>[foo<p>bar}</div><p>extra" queryCommandState("justifycenter") before 
+FAIL [["stylewithcss","true"],["justifycenter",""]] "<div align=left><p>[foo<p>bar}</div><p>extra" queryCommandValue("justifycenter") before assert_equals: Wrong result returned expected "left" but got "false"
+PASS [["stylewithcss","true"],["justifycenter",""]] "<div align=left><p>[foo<p>bar}</div><p>extra" queryCommandIndeterm("justifycenter") after 
+PASS [["stylewithcss","true"],["justifycenter",""]] "<div align=left><p>[foo<p>bar}</div><p>extra" queryCommandState("justifycenter") after 
+FAIL [["stylewithcss","true"],["justifycenter",""]] "<div align=left><p>[foo<p>bar}</div><p>extra" queryCommandValue("justifycenter") after assert_equals: Wrong result returned expected "center" but got "true"
+PASS [["stylewithcss","false"],["justifycenter",""]] "<div align=left><p>[foo<p>bar}</div><p>extra": execCommand("stylewithcss", false, "false") return value 
+PASS [["stylewithcss","false"],["justifycenter",""]] "<div align=left><p>[foo<p>bar}</div><p>extra": execCommand("justifycenter", false, "") return value 
+PASS [["stylewithcss","false"],["justifycenter",""]] "<div align=left><p>[foo<p>bar}</div><p>extra" checks for modifications to non-editable content 
+FAIL [["stylewithcss","false"],["justifycenter",""]] "<div align=left><p>[foo<p>bar}</div><p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<div style=\"text-align:center\"><p>foo</p><p>bar</p></div><p>extra</p>" but got "<div align=\"left\"><p style=\"text-align:center\">foo</p><p style=\"text-align:center\">bar</p></div><p>extra</p>"
+PASS [["stylewithcss","false"],["justifycenter",""]] "<div align=left><p>[foo<p>bar}</div><p>extra" queryCommandIndeterm("stylewithcss") before 
+PASS [["stylewithcss","false"],["justifycenter",""]] "<div align=left><p>[foo<p>bar}</div><p>extra" queryCommandState("stylewithcss") before 
+PASS [["stylewithcss","false"],["justifycenter",""]] "<div align=left><p>[foo<p>bar}</div><p>extra" queryCommandValue("stylewithcss") before 
+PASS [["stylewithcss","false"],["justifycenter",""]] "<div align=left><p>[foo<p>bar}</div><p>extra" queryCommandIndeterm("stylewithcss") after 
+PASS [["stylewithcss","false"],["justifycenter",""]] "<div align=left><p>[foo<p>bar}</div><p>extra" queryCommandState("stylewithcss") after 
+PASS [["stylewithcss","false"],["justifycenter",""]] "<div align=left><p>[foo<p>bar}</div><p>extra" queryCommandValue("stylewithcss") after 
+PASS [["stylewithcss","false"],["justifycenter",""]] "<div align=left><p>[foo<p>bar}</div><p>extra" queryCommandIndeterm("justifycenter") before 
+PASS [["stylewithcss","false"],["justifycenter",""]] "<div align=left><p>[foo<p>bar}</div><p>extra" queryCommandState("justifycenter") before 
+FAIL [["stylewithcss","false"],["justifycenter",""]] "<div align=left><p>[foo<p>bar}</div><p>extra" queryCommandValue("justifycenter") before assert_equals: Wrong result returned expected "left" but got "false"
+PASS [["stylewithcss","false"],["justifycenter",""]] "<div align=left><p>[foo<p>bar}</div><p>extra" queryCommandIndeterm("justifycenter") after 
+PASS [["stylewithcss","false"],["justifycenter",""]] "<div align=left><p>[foo<p>bar}</div><p>extra" queryCommandState("justifycenter") after 
+FAIL [["stylewithcss","false"],["justifycenter",""]] "<div align=left><p>[foo<p>bar}</div><p>extra" queryCommandValue("justifycenter") after assert_equals: Wrong result returned expected "center" but got "true"
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div style=text-align:left><p>[foo]<p>bar</div><p>extra": execCommand("stylewithcss", false, "true") return value 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div style=text-align:left><p>[foo]<p>bar</div><p>extra": execCommand("defaultparagraphseparator", false, "div") return value 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div style=text-align:left><p>[foo]<p>bar</div><p>extra": execCommand("justifycenter", false, "") return value 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div style=text-align:left><p>[foo]<p>bar</div><p>extra" checks for modifications to non-editable content 
+FAIL [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div style=text-align:left><p>[foo]<p>bar</div><p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<div style=\"text-align:left\"><div style=\"text-align:center\"><p>foo</p></div><p>bar</p></div><p>extra</p>" but got "<div style=\"text-align:left\"><p style=\"text-align:center\">foo</p><p>bar</p></div><p>extra</p>"
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div style=text-align:left><p>[foo]<p>bar</div><p>extra" queryCommandIndeterm("stylewithcss") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div style=text-align:left><p>[foo]<p>bar</div><p>extra" queryCommandState("stylewithcss") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div style=text-align:left><p>[foo]<p>bar</div><p>extra" queryCommandValue("stylewithcss") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div style=text-align:left><p>[foo]<p>bar</div><p>extra" queryCommandIndeterm("stylewithcss") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div style=text-align:left><p>[foo]<p>bar</div><p>extra" queryCommandState("stylewithcss") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div style=text-align:left><p>[foo]<p>bar</div><p>extra" queryCommandValue("stylewithcss") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div style=text-align:left><p>[foo]<p>bar</div><p>extra" queryCommandIndeterm("defaultparagraphseparator") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div style=text-align:left><p>[foo]<p>bar</div><p>extra" queryCommandState("defaultparagraphseparator") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div style=text-align:left><p>[foo]<p>bar</div><p>extra" queryCommandValue("defaultparagraphseparator") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div style=text-align:left><p>[foo]<p>bar</div><p>extra" queryCommandIndeterm("defaultparagraphseparator") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div style=text-align:left><p>[foo]<p>bar</div><p>extra" queryCommandState("defaultparagraphseparator") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div style=text-align:left><p>[foo]<p>bar</div><p>extra" queryCommandValue("defaultparagraphseparator") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div style=text-align:left><p>[foo]<p>bar</div><p>extra" queryCommandIndeterm("justifycenter") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div style=text-align:left><p>[foo]<p>bar</div><p>extra" queryCommandState("justifycenter") before 
+FAIL [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div style=text-align:left><p>[foo]<p>bar</div><p>extra" queryCommandValue("justifycenter") before assert_equals: Wrong result returned expected "left" but got "false"
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div style=text-align:left><p>[foo]<p>bar</div><p>extra" queryCommandIndeterm("justifycenter") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div style=text-align:left><p>[foo]<p>bar</div><p>extra" queryCommandState("justifycenter") after 
+FAIL [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div style=text-align:left><p>[foo]<p>bar</div><p>extra" queryCommandValue("justifycenter") after assert_equals: Wrong result returned expected "center" but got "true"
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div style=text-align:left><p>[foo]<p>bar</div><p>extra": execCommand("stylewithcss", false, "false") return value 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div style=text-align:left><p>[foo]<p>bar</div><p>extra": execCommand("defaultparagraphseparator", false, "div") return value 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div style=text-align:left><p>[foo]<p>bar</div><p>extra": execCommand("justifycenter", false, "") return value 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div style=text-align:left><p>[foo]<p>bar</div><p>extra" checks for modifications to non-editable content 
+FAIL [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div style=text-align:left><p>[foo]<p>bar</div><p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<div style=\"text-align:left\"><div style=\"text-align:center\"><p>foo</p></div><p>bar</p></div><p>extra</p>" but got "<div style=\"text-align:left\"><p style=\"text-align:center\">foo</p><p>bar</p></div><p>extra</p>"
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div style=text-align:left><p>[foo]<p>bar</div><p>extra" queryCommandIndeterm("stylewithcss") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div style=text-align:left><p>[foo]<p>bar</div><p>extra" queryCommandState("stylewithcss") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div style=text-align:left><p>[foo]<p>bar</div><p>extra" queryCommandValue("stylewithcss") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div style=text-align:left><p>[foo]<p>bar</div><p>extra" queryCommandIndeterm("stylewithcss") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div style=text-align:left><p>[foo]<p>bar</div><p>extra" queryCommandState("stylewithcss") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div style=text-align:left><p>[foo]<p>bar</div><p>extra" queryCommandValue("stylewithcss") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div style=text-align:left><p>[foo]<p>bar</div><p>extra" queryCommandIndeterm("defaultparagraphseparator") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div style=text-align:left><p>[foo]<p>bar</div><p>extra" queryCommandState("defaultparagraphseparator") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div style=text-align:left><p>[foo]<p>bar</div><p>extra" queryCommandValue("defaultparagraphseparator") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div style=text-align:left><p>[foo]<p>bar</div><p>extra" queryCommandIndeterm("defaultparagraphseparator") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div style=text-align:left><p>[foo]<p>bar</div><p>extra" queryCommandState("defaultparagraphseparator") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div style=text-align:left><p>[foo]<p>bar</div><p>extra" queryCommandValue("defaultparagraphseparator") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div style=text-align:left><p>[foo]<p>bar</div><p>extra" queryCommandIndeterm("justifycenter") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div style=text-align:left><p>[foo]<p>bar</div><p>extra" queryCommandState("justifycenter") before 
+FAIL [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div style=text-align:left><p>[foo]<p>bar</div><p>extra" queryCommandValue("justifycenter") before assert_equals: Wrong result returned expected "left" but got "false"
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div style=text-align:left><p>[foo]<p>bar</div><p>extra" queryCommandIndeterm("justifycenter") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div style=text-align:left><p>[foo]<p>bar</div><p>extra" queryCommandState("justifycenter") after 
+FAIL [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div style=text-align:left><p>[foo]<p>bar</div><p>extra" queryCommandValue("justifycenter") after assert_equals: Wrong result returned expected "center" but got "true"
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div style=text-align:left><p>[foo]<p>bar</div><p>extra": execCommand("stylewithcss", false, "true") return value 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div style=text-align:left><p>[foo]<p>bar</div><p>extra": execCommand("defaultparagraphseparator", false, "p") return value 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div style=text-align:left><p>[foo]<p>bar</div><p>extra": execCommand("justifycenter", false, "") return value 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div style=text-align:left><p>[foo]<p>bar</div><p>extra" checks for modifications to non-editable content 
+FAIL [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div style=text-align:left><p>[foo]<p>bar</div><p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<div style=\"text-align:left\"><div style=\"text-align:center\"><p>foo</p></div><p>bar</p></div><p>extra</p>" but got "<div style=\"text-align:left\"><p style=\"text-align:center\">foo</p><p>bar</p></div><p>extra</p>"
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div style=text-align:left><p>[foo]<p>bar</div><p>extra" queryCommandIndeterm("stylewithcss") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div style=text-align:left><p>[foo]<p>bar</div><p>extra" queryCommandState("stylewithcss") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div style=text-align:left><p>[foo]<p>bar</div><p>extra" queryCommandValue("stylewithcss") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div style=text-align:left><p>[foo]<p>bar</div><p>extra" queryCommandIndeterm("stylewithcss") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div style=text-align:left><p>[foo]<p>bar</div><p>extra" queryCommandState("stylewithcss") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div style=text-align:left><p>[foo]<p>bar</div><p>extra" queryCommandValue("stylewithcss") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div style=text-align:left><p>[foo]<p>bar</div><p>extra" queryCommandIndeterm("defaultparagraphseparator") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div style=text-align:left><p>[foo]<p>bar</div><p>extra" queryCommandState("defaultparagraphseparator") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div style=text-align:left><p>[foo]<p>bar</div><p>extra" queryCommandValue("defaultparagraphseparator") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div style=text-align:left><p>[foo]<p>bar</div><p>extra" queryCommandIndeterm("defaultparagraphseparator") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div style=text-align:left><p>[foo]<p>bar</div><p>extra" queryCommandState("defaultparagraphseparator") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div style=text-align:left><p>[foo]<p>bar</div><p>extra" queryCommandValue("defaultparagraphseparator") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div style=text-align:left><p>[foo]<p>bar</div><p>extra" queryCommandIndeterm("justifycenter") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div style=text-align:left><p>[foo]<p>bar</div><p>extra" queryCommandState("justifycenter") before 
+FAIL [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div style=text-align:left><p>[foo]<p>bar</div><p>extra" queryCommandValue("justifycenter") before assert_equals: Wrong result returned expected "left" but got "false"
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div style=text-align:left><p>[foo]<p>bar</div><p>extra" queryCommandIndeterm("justifycenter") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div style=text-align:left><p>[foo]<p>bar</div><p>extra" queryCommandState("justifycenter") after 
+FAIL [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div style=text-align:left><p>[foo]<p>bar</div><p>extra" queryCommandValue("justifycenter") after assert_equals: Wrong result returned expected "center" but got "true"
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div style=text-align:left><p>[foo]<p>bar</div><p>extra": execCommand("stylewithcss", false, "false") return value 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div style=text-align:left><p>[foo]<p>bar</div><p>extra": execCommand("defaultparagraphseparator", false, "p") return value 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div style=text-align:left><p>[foo]<p>bar</div><p>extra": execCommand("justifycenter", false, "") return value 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div style=text-align:left><p>[foo]<p>bar</div><p>extra" checks for modifications to non-editable content 
+FAIL [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div style=text-align:left><p>[foo]<p>bar</div><p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<div style=\"text-align:left\"><div style=\"text-align:center\"><p>foo</p></div><p>bar</p></div><p>extra</p>" but got "<div style=\"text-align:left\"><p style=\"text-align:center\">foo</p><p>bar</p></div><p>extra</p>"
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div style=text-align:left><p>[foo]<p>bar</div><p>extra" queryCommandIndeterm("stylewithcss") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div style=text-align:left><p>[foo]<p>bar</div><p>extra" queryCommandState("stylewithcss") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div style=text-align:left><p>[foo]<p>bar</div><p>extra" queryCommandValue("stylewithcss") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div style=text-align:left><p>[foo]<p>bar</div><p>extra" queryCommandIndeterm("stylewithcss") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div style=text-align:left><p>[foo]<p>bar</div><p>extra" queryCommandState("stylewithcss") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div style=text-align:left><p>[foo]<p>bar</div><p>extra" queryCommandValue("stylewithcss") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div style=text-align:left><p>[foo]<p>bar</div><p>extra" queryCommandIndeterm("defaultparagraphseparator") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div style=text-align:left><p>[foo]<p>bar</div><p>extra" queryCommandState("defaultparagraphseparator") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div style=text-align:left><p>[foo]<p>bar</div><p>extra" queryCommandValue("defaultparagraphseparator") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div style=text-align:left><p>[foo]<p>bar</div><p>extra" queryCommandIndeterm("defaultparagraphseparator") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div style=text-align:left><p>[foo]<p>bar</div><p>extra" queryCommandState("defaultparagraphseparator") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div style=text-align:left><p>[foo]<p>bar</div><p>extra" queryCommandValue("defaultparagraphseparator") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div style=text-align:left><p>[foo]<p>bar</div><p>extra" queryCommandIndeterm("justifycenter") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div style=text-align:left><p>[foo]<p>bar</div><p>extra" queryCommandState("justifycenter") before 
+FAIL [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div style=text-align:left><p>[foo]<p>bar</div><p>extra" queryCommandValue("justifycenter") before assert_equals: Wrong result returned expected "left" but got "false"
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div style=text-align:left><p>[foo]<p>bar</div><p>extra" queryCommandIndeterm("justifycenter") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div style=text-align:left><p>[foo]<p>bar</div><p>extra" queryCommandState("justifycenter") after 
+FAIL [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div style=text-align:left><p>[foo]<p>bar</div><p>extra" queryCommandValue("justifycenter") after assert_equals: Wrong result returned expected "center" but got "true"
+PASS [["justifycenter",""]] "<div style=text-align:left><p>[foo<p>bar]</div><p>extra": execCommand("justifycenter", false, "") return value 
+PASS [["justifycenter",""]] "<div style=text-align:left><p>[foo<p>bar]</div><p>extra" checks for modifications to non-editable content 
+FAIL [["justifycenter",""]] "<div style=text-align:left><p>[foo<p>bar]</div><p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<div style=\"text-align:center\"><p>foo</p><p>bar</p></div><p>extra</p>" but got "<div style=\"text-align:left\"><p style=\"text-align:center\">foo</p><p style=\"text-align:center\">bar</p></div><p>extra</p>"
+PASS [["justifycenter",""]] "<div style=text-align:left><p>[foo<p>bar]</div><p>extra" queryCommandIndeterm("justifycenter") before 
+PASS [["justifycenter",""]] "<div style=text-align:left><p>[foo<p>bar]</div><p>extra" queryCommandState("justifycenter") before 
+FAIL [["justifycenter",""]] "<div style=text-align:left><p>[foo<p>bar]</div><p>extra" queryCommandValue("justifycenter") before assert_equals: Wrong result returned expected "left" but got "false"
+PASS [["justifycenter",""]] "<div style=text-align:left><p>[foo<p>bar]</div><p>extra" queryCommandIndeterm("justifycenter") after 
+PASS [["justifycenter",""]] "<div style=text-align:left><p>[foo<p>bar]</div><p>extra" queryCommandState("justifycenter") after 
+FAIL [["justifycenter",""]] "<div style=text-align:left><p>[foo<p>bar]</div><p>extra" queryCommandValue("justifycenter") after assert_equals: Wrong result returned expected "center" but got "true"
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div align=right><p>[foo]<p>bar</div><p>extra": execCommand("stylewithcss", false, "true") return value 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div align=right><p>[foo]<p>bar</div><p>extra": execCommand("defaultparagraphseparator", false, "div") return value 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div align=right><p>[foo]<p>bar</div><p>extra": execCommand("justifycenter", false, "") return value 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div align=right><p>[foo]<p>bar</div><p>extra" checks for modifications to non-editable content 
+FAIL [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div align=right><p>[foo]<p>bar</div><p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<div align=\"right\"><div style=\"text-align:center\"><p>foo</p></div><p>bar</p></div><p>extra</p>" but got "<div align=\"right\"><p style=\"text-align:center\">foo</p><p>bar</p></div><p>extra</p>"
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div align=right><p>[foo]<p>bar</div><p>extra" queryCommandIndeterm("stylewithcss") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div align=right><p>[foo]<p>bar</div><p>extra" queryCommandState("stylewithcss") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div align=right><p>[foo]<p>bar</div><p>extra" queryCommandValue("stylewithcss") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div align=right><p>[foo]<p>bar</div><p>extra" queryCommandIndeterm("stylewithcss") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div align=right><p>[foo]<p>bar</div><p>extra" queryCommandState("stylewithcss") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div align=right><p>[foo]<p>bar</div><p>extra" queryCommandValue("stylewithcss") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div align=right><p>[foo]<p>bar</div><p>extra" queryCommandIndeterm("defaultparagraphseparator") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div align=right><p>[foo]<p>bar</div><p>extra" queryCommandState("defaultparagraphseparator") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div align=right><p>[foo]<p>bar</div><p>extra" queryCommandValue("defaultparagraphseparator") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div align=right><p>[foo]<p>bar</div><p>extra" queryCommandIndeterm("defaultparagraphseparator") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div align=right><p>[foo]<p>bar</div><p>extra" queryCommandState("defaultparagraphseparator") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div align=right><p>[foo]<p>bar</div><p>extra" queryCommandValue("defaultparagraphseparator") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div align=right><p>[foo]<p>bar</div><p>extra" queryCommandIndeterm("justifycenter") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div align=right><p>[foo]<p>bar</div><p>extra" queryCommandState("justifycenter") before 
+FAIL [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div align=right><p>[foo]<p>bar</div><p>extra" queryCommandValue("justifycenter") before assert_equals: Wrong result returned expected "right" but got "false"
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div align=right><p>[foo]<p>bar</div><p>extra" queryCommandIndeterm("justifycenter") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div align=right><p>[foo]<p>bar</div><p>extra" queryCommandState("justifycenter") after 
+FAIL [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div align=right><p>[foo]<p>bar</div><p>extra" queryCommandValue("justifycenter") after assert_equals: Wrong result returned expected "center" but got "true"
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div align=right><p>[foo]<p>bar</div><p>extra": execCommand("stylewithcss", false, "false") return value 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div align=right><p>[foo]<p>bar</div><p>extra": execCommand("defaultparagraphseparator", false, "div") return value 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div align=right><p>[foo]<p>bar</div><p>extra": execCommand("justifycenter", false, "") return value 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div align=right><p>[foo]<p>bar</div><p>extra" checks for modifications to non-editable content 
+FAIL [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div align=right><p>[foo]<p>bar</div><p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<div align=\"right\"><div style=\"text-align:center\"><p>foo</p></div><p>bar</p></div><p>extra</p>" but got "<div align=\"right\"><p style=\"text-align:center\">foo</p><p>bar</p></div><p>extra</p>"
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div align=right><p>[foo]<p>bar</div><p>extra" queryCommandIndeterm("stylewithcss") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div align=right><p>[foo]<p>bar</div><p>extra" queryCommandState("stylewithcss") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div align=right><p>[foo]<p>bar</div><p>extra" queryCommandValue("stylewithcss") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div align=right><p>[foo]<p>bar</div><p>extra" queryCommandIndeterm("stylewithcss") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div align=right><p>[foo]<p>bar</div><p>extra" queryCommandState("stylewithcss") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div align=right><p>[foo]<p>bar</div><p>extra" queryCommandValue("stylewithcss") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div align=right><p>[foo]<p>bar</div><p>extra" queryCommandIndeterm("defaultparagraphseparator") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div align=right><p>[foo]<p>bar</div><p>extra" queryCommandState("defaultparagraphseparator") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div align=right><p>[foo]<p>bar</div><p>extra" queryCommandValue("defaultparagraphseparator") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div align=right><p>[foo]<p>bar</div><p>extra" queryCommandIndeterm("defaultparagraphseparator") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div align=right><p>[foo]<p>bar</div><p>extra" queryCommandState("defaultparagraphseparator") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div align=right><p>[foo]<p>bar</div><p>extra" queryCommandValue("defaultparagraphseparator") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div align=right><p>[foo]<p>bar</div><p>extra" queryCommandIndeterm("justifycenter") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div align=right><p>[foo]<p>bar</div><p>extra" queryCommandState("justifycenter") before 
+FAIL [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div align=right><p>[foo]<p>bar</div><p>extra" queryCommandValue("justifycenter") before assert_equals: Wrong result returned expected "right" but got "false"
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div align=right><p>[foo]<p>bar</div><p>extra" queryCommandIndeterm("justifycenter") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div align=right><p>[foo]<p>bar</div><p>extra" queryCommandState("justifycenter") after 
+FAIL [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div align=right><p>[foo]<p>bar</div><p>extra" queryCommandValue("justifycenter") after assert_equals: Wrong result returned expected "center" but got "true"
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div align=right><p>[foo]<p>bar</div><p>extra": execCommand("stylewithcss", false, "true") return value 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div align=right><p>[foo]<p>bar</div><p>extra": execCommand("defaultparagraphseparator", false, "p") return value 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div align=right><p>[foo]<p>bar</div><p>extra": execCommand("justifycenter", false, "") return value 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div align=right><p>[foo]<p>bar</div><p>extra" checks for modifications to non-editable content 
+FAIL [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div align=right><p>[foo]<p>bar</div><p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<div align=\"right\"><div style=\"text-align:center\"><p>foo</p></div><p>bar</p></div><p>extra</p>" but got "<div align=\"right\"><p style=\"text-align:center\">foo</p><p>bar</p></div><p>extra</p>"
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div align=right><p>[foo]<p>bar</div><p>extra" queryCommandIndeterm("stylewithcss") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div align=right><p>[foo]<p>bar</div><p>extra" queryCommandState("stylewithcss") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div align=right><p>[foo]<p>bar</div><p>extra" queryCommandValue("stylewithcss") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div align=right><p>[foo]<p>bar</div><p>extra" queryCommandIndeterm("stylewithcss") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div align=right><p>[foo]<p>bar</div><p>extra" queryCommandState("stylewithcss") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div align=right><p>[foo]<p>bar</div><p>extra" queryCommandValue("stylewithcss") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div align=right><p>[foo]<p>bar</div><p>extra" queryCommandIndeterm("defaultparagraphseparator") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div align=right><p>[foo]<p>bar</div><p>extra" queryCommandState("defaultparagraphseparator") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div align=right><p>[foo]<p>bar</div><p>extra" queryCommandValue("defaultparagraphseparator") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div align=right><p>[foo]<p>bar</div><p>extra" queryCommandIndeterm("defaultparagraphseparator") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div align=right><p>[foo]<p>bar</div><p>extra" queryCommandState("defaultparagraphseparator") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div align=right><p>[foo]<p>bar</div><p>extra" queryCommandValue("defaultparagraphseparator") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div align=right><p>[foo]<p>bar</div><p>extra" queryCommandIndeterm("justifycenter") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div align=right><p>[foo]<p>bar</div><p>extra" queryCommandState("justifycenter") before 
+FAIL [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div align=right><p>[foo]<p>bar</div><p>extra" queryCommandValue("justifycenter") before assert_equals: Wrong result returned expected "right" but got "false"
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div align=right><p>[foo]<p>bar</div><p>extra" queryCommandIndeterm("justifycenter") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div align=right><p>[foo]<p>bar</div><p>extra" queryCommandState("justifycenter") after 
+FAIL [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div align=right><p>[foo]<p>bar</div><p>extra" queryCommandValue("justifycenter") after assert_equals: Wrong result returned expected "center" but got "true"
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div align=right><p>[foo]<p>bar</div><p>extra": execCommand("stylewithcss", false, "false") return value 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div align=right><p>[foo]<p>bar</div><p>extra": execCommand("defaultparagraphseparator", false, "p") return value 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div align=right><p>[foo]<p>bar</div><p>extra": execCommand("justifycenter", false, "") return value 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div align=right><p>[foo]<p>bar</div><p>extra" checks for modifications to non-editable content 
+FAIL [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div align=right><p>[foo]<p>bar</div><p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<div align=\"right\"><div style=\"text-align:center\"><p>foo</p></div><p>bar</p></div><p>extra</p>" but got "<div align=\"right\"><p style=\"text-align:center\">foo</p><p>bar</p></div><p>extra</p>"
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div align=right><p>[foo]<p>bar</div><p>extra" queryCommandIndeterm("stylewithcss") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div align=right><p>[foo]<p>bar</div><p>extra" queryCommandState("stylewithcss") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div align=right><p>[foo]<p>bar</div><p>extra" queryCommandValue("stylewithcss") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div align=right><p>[foo]<p>bar</div><p>extra" queryCommandIndeterm("stylewithcss") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div align=right><p>[foo]<p>bar</div><p>extra" queryCommandState("stylewithcss") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div align=right><p>[foo]<p>bar</div><p>extra" queryCommandValue("stylewithcss") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div align=right><p>[foo]<p>bar</div><p>extra" queryCommandIndeterm("defaultparagraphseparator") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div align=right><p>[foo]<p>bar</div><p>extra" queryCommandState("defaultparagraphseparator") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div align=right><p>[foo]<p>bar</div><p>extra" queryCommandValue("defaultparagraphseparator") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div align=right><p>[foo]<p>bar</div><p>extra" queryCommandIndeterm("defaultparagraphseparator") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div align=right><p>[foo]<p>bar</div><p>extra" queryCommandState("defaultparagraphseparator") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div align=right><p>[foo]<p>bar</div><p>extra" queryCommandValue("defaultparagraphseparator") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div align=right><p>[foo]<p>bar</div><p>extra" queryCommandIndeterm("justifycenter") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div align=right><p>[foo]<p>bar</div><p>extra" queryCommandState("justifycenter") before 
+FAIL [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div align=right><p>[foo]<p>bar</div><p>extra" queryCommandValue("justifycenter") before assert_equals: Wrong result returned expected "right" but got "false"
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div align=right><p>[foo]<p>bar</div><p>extra" queryCommandIndeterm("justifycenter") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div align=right><p>[foo]<p>bar</div><p>extra" queryCommandState("justifycenter") after 
+FAIL [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div align=right><p>[foo]<p>bar</div><p>extra" queryCommandValue("justifycenter") after assert_equals: Wrong result returned expected "center" but got "true"
+PASS [["stylewithcss","true"],["justifycenter",""]] "<div align=right><p>[foo<p>bar}</div><p>extra": execCommand("stylewithcss", false, "true") return value 
+PASS [["stylewithcss","true"],["justifycenter",""]] "<div align=right><p>[foo<p>bar}</div><p>extra": execCommand("justifycenter", false, "") return value 
+PASS [["stylewithcss","true"],["justifycenter",""]] "<div align=right><p>[foo<p>bar}</div><p>extra" checks for modifications to non-editable content 
+FAIL [["stylewithcss","true"],["justifycenter",""]] "<div align=right><p>[foo<p>bar}</div><p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<div style=\"text-align:center\"><p>foo</p><p>bar</p></div><p>extra</p>" but got "<div align=\"right\"><p style=\"text-align:center\">foo</p><p style=\"text-align:center\">bar</p></div><p>extra</p>"
+PASS [["stylewithcss","true"],["justifycenter",""]] "<div align=right><p>[foo<p>bar}</div><p>extra" queryCommandIndeterm("stylewithcss") before 
+PASS [["stylewithcss","true"],["justifycenter",""]] "<div align=right><p>[foo<p>bar}</div><p>extra" queryCommandState("stylewithcss") before 
+PASS [["stylewithcss","true"],["justifycenter",""]] "<div align=right><p>[foo<p>bar}</div><p>extra" queryCommandValue("stylewithcss") before 
+PASS [["stylewithcss","true"],["justifycenter",""]] "<div align=right><p>[foo<p>bar}</div><p>extra" queryCommandIndeterm("stylewithcss") after 
+PASS [["stylewithcss","true"],["justifycenter",""]] "<div align=right><p>[foo<p>bar}</div><p>extra" queryCommandState("stylewithcss") after 
+PASS [["stylewithcss","true"],["justifycenter",""]] "<div align=right><p>[foo<p>bar}</div><p>extra" queryCommandValue("stylewithcss") after 
+PASS [["stylewithcss","true"],["justifycenter",""]] "<div align=right><p>[foo<p>bar}</div><p>extra" queryCommandIndeterm("justifycenter") before 
+PASS [["stylewithcss","true"],["justifycenter",""]] "<div align=right><p>[foo<p>bar}</div><p>extra" queryCommandState("justifycenter") before 
+FAIL [["stylewithcss","true"],["justifycenter",""]] "<div align=right><p>[foo<p>bar}</div><p>extra" queryCommandValue("justifycenter") before assert_equals: Wrong result returned expected "right" but got "false"
+PASS [["stylewithcss","true"],["justifycenter",""]] "<div align=right><p>[foo<p>bar}</div><p>extra" queryCommandIndeterm("justifycenter") after 
+PASS [["stylewithcss","true"],["justifycenter",""]] "<div align=right><p>[foo<p>bar}</div><p>extra" queryCommandState("justifycenter") after 
+FAIL [["stylewithcss","true"],["justifycenter",""]] "<div align=right><p>[foo<p>bar}</div><p>extra" queryCommandValue("justifycenter") after assert_equals: Wrong result returned expected "center" but got "true"
+PASS [["stylewithcss","false"],["justifycenter",""]] "<div align=right><p>[foo<p>bar}</div><p>extra": execCommand("stylewithcss", false, "false") return value 
+PASS [["stylewithcss","false"],["justifycenter",""]] "<div align=right><p>[foo<p>bar}</div><p>extra": execCommand("justifycenter", false, "") return value 
+PASS [["stylewithcss","false"],["justifycenter",""]] "<div align=right><p>[foo<p>bar}</div><p>extra" checks for modifications to non-editable content 
+FAIL [["stylewithcss","false"],["justifycenter",""]] "<div align=right><p>[foo<p>bar}</div><p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<div style=\"text-align:center\"><p>foo</p><p>bar</p></div><p>extra</p>" but got "<div align=\"right\"><p style=\"text-align:center\">foo</p><p style=\"text-align:center\">bar</p></div><p>extra</p>"
+PASS [["stylewithcss","false"],["justifycenter",""]] "<div align=right><p>[foo<p>bar}</div><p>extra" queryCommandIndeterm("stylewithcss") before 
+PASS [["stylewithcss","false"],["justifycenter",""]] "<div align=right><p>[foo<p>bar}</div><p>extra" queryCommandState("stylewithcss") before 
+PASS [["stylewithcss","false"],["justifycenter",""]] "<div align=right><p>[foo<p>bar}</div><p>extra" queryCommandValue("stylewithcss") before 
+PASS [["stylewithcss","false"],["justifycenter",""]] "<div align=right><p>[foo<p>bar}</div><p>extra" queryCommandIndeterm("stylewithcss") after 
+PASS [["stylewithcss","false"],["justifycenter",""]] "<div align=right><p>[foo<p>bar}</div><p>extra" queryCommandState("stylewithcss") after 
+PASS [["stylewithcss","false"],["justifycenter",""]] "<div align=right><p>[foo<p>bar}</div><p>extra" queryCommandValue("stylewithcss") after 
+PASS [["stylewithcss","false"],["justifycenter",""]] "<div align=right><p>[foo<p>bar}</div><p>extra" queryCommandIndeterm("justifycenter") before 
+PASS [["stylewithcss","false"],["justifycenter",""]] "<div align=right><p>[foo<p>bar}</div><p>extra" queryCommandState("justifycenter") before 
+FAIL [["stylewithcss","false"],["justifycenter",""]] "<div align=right><p>[foo<p>bar}</div><p>extra" queryCommandValue("justifycenter") before assert_equals: Wrong result returned expected "right" but got "false"
+PASS [["stylewithcss","false"],["justifycenter",""]] "<div align=right><p>[foo<p>bar}</div><p>extra" queryCommandIndeterm("justifycenter") after 
+PASS [["stylewithcss","false"],["justifycenter",""]] "<div align=right><p>[foo<p>bar}</div><p>extra" queryCommandState("justifycenter") after 
+FAIL [["stylewithcss","false"],["justifycenter",""]] "<div align=right><p>[foo<p>bar}</div><p>extra" queryCommandValue("justifycenter") after assert_equals: Wrong result returned expected "center" but got "true"
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div style=text-align:right><p>[foo]<p>bar</div><p>extra": execCommand("stylewithcss", false, "true") return value 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div style=text-align:right><p>[foo]<p>bar</div><p>extra": execCommand("defaultparagraphseparator", false, "div") return value 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div style=text-align:right><p>[foo]<p>bar</div><p>extra": execCommand("justifycenter", false, "") return value 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div style=text-align:right><p>[foo]<p>bar</div><p>extra" checks for modifications to non-editable content 
+FAIL [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div style=text-align:right><p>[foo]<p>bar</div><p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<div style=\"text-align:right\"><div style=\"text-align:center\"><p>foo</p></div><p>bar</p></div><p>extra</p>" but got "<div style=\"text-align:right\"><p style=\"text-align:center\">foo</p><p>bar</p></div><p>extra</p>"
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div style=text-align:right><p>[foo]<p>bar</div><p>extra" queryCommandIndeterm("stylewithcss") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div style=text-align:right><p>[foo]<p>bar</div><p>extra" queryCommandState("stylewithcss") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div style=text-align:right><p>[foo]<p>bar</div><p>extra" queryCommandValue("stylewithcss") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div style=text-align:right><p>[foo]<p>bar</div><p>extra" queryCommandIndeterm("stylewithcss") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div style=text-align:right><p>[foo]<p>bar</div><p>extra" queryCommandState("stylewithcss") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div style=text-align:right><p>[foo]<p>bar</div><p>extra" queryCommandValue("stylewithcss") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div style=text-align:right><p>[foo]<p>bar</div><p>extra" queryCommandIndeterm("defaultparagraphseparator") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div style=text-align:right><p>[foo]<p>bar</div><p>extra" queryCommandState("defaultparagraphseparator") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div style=text-align:right><p>[foo]<p>bar</div><p>extra" queryCommandValue("defaultparagraphseparator") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div style=text-align:right><p>[foo]<p>bar</div><p>extra" queryCommandIndeterm("defaultparagraphseparator") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div style=text-align:right><p>[foo]<p>bar</div><p>extra" queryCommandState("defaultparagraphseparator") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div style=text-align:right><p>[foo]<p>bar</div><p>extra" queryCommandValue("defaultparagraphseparator") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div style=text-align:right><p>[foo]<p>bar</div><p>extra" queryCommandIndeterm("justifycenter") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div style=text-align:right><p>[foo]<p>bar</div><p>extra" queryCommandState("justifycenter") before 
+FAIL [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div style=text-align:right><p>[foo]<p>bar</div><p>extra" queryCommandValue("justifycenter") before assert_equals: Wrong result returned expected "right" but got "false"
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div style=text-align:right><p>[foo]<p>bar</div><p>extra" queryCommandIndeterm("justifycenter") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div style=text-align:right><p>[foo]<p>bar</div><p>extra" queryCommandState("justifycenter") after 
+FAIL [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div style=text-align:right><p>[foo]<p>bar</div><p>extra" queryCommandValue("justifycenter") after assert_equals: Wrong result returned expected "center" but got "true"
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div style=text-align:right><p>[foo]<p>bar</div><p>extra": execCommand("stylewithcss", false, "false") return value 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div style=text-align:right><p>[foo]<p>bar</div><p>extra": execCommand("defaultparagraphseparator", false, "div") return value 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div style=text-align:right><p>[foo]<p>bar</div><p>extra": execCommand("justifycenter", false, "") return value 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div style=text-align:right><p>[foo]<p>bar</div><p>extra" checks for modifications to non-editable content 
+FAIL [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div style=text-align:right><p>[foo]<p>bar</div><p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<div style=\"text-align:right\"><div style=\"text-align:center\"><p>foo</p></div><p>bar</p></div><p>extra</p>" but got "<div style=\"text-align:right\"><p style=\"text-align:center\">foo</p><p>bar</p></div><p>extra</p>"
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div style=text-align:right><p>[foo]<p>bar</div><p>extra" queryCommandIndeterm("stylewithcss") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div style=text-align:right><p>[foo]<p>bar</div><p>extra" queryCommandState("stylewithcss") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div style=text-align:right><p>[foo]<p>bar</div><p>extra" queryCommandValue("stylewithcss") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div style=text-align:right><p>[foo]<p>bar</div><p>extra" queryCommandIndeterm("stylewithcss") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div style=text-align:right><p>[foo]<p>bar</div><p>extra" queryCommandState("stylewithcss") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div style=text-align:right><p>[foo]<p>bar</div><p>extra" queryCommandValue("stylewithcss") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div style=text-align:right><p>[foo]<p>bar</div><p>extra" queryCommandIndeterm("defaultparagraphseparator") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div style=text-align:right><p>[foo]<p>bar</div><p>extra" queryCommandState("defaultparagraphseparator") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div style=text-align:right><p>[foo]<p>bar</div><p>extra" queryCommandValue("defaultparagraphseparator") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div style=text-align:right><p>[foo]<p>bar</div><p>extra" queryCommandIndeterm("defaultparagraphseparator") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div style=text-align:right><p>[foo]<p>bar</div><p>extra" queryCommandState("defaultparagraphseparator") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div style=text-align:right><p>[foo]<p>bar</div><p>extra" queryCommandValue("defaultparagraphseparator") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div style=text-align:right><p>[foo]<p>bar</div><p>extra" queryCommandIndeterm("justifycenter") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div style=text-align:right><p>[foo]<p>bar</div><p>extra" queryCommandState("justifycenter") before 
+FAIL [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div style=text-align:right><p>[foo]<p>bar</div><p>extra" queryCommandValue("justifycenter") before assert_equals: Wrong result returned expected "right" but got "false"
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div style=text-align:right><p>[foo]<p>bar</div><p>extra" queryCommandIndeterm("justifycenter") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div style=text-align:right><p>[foo]<p>bar</div><p>extra" queryCommandState("justifycenter") after 
+FAIL [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div style=text-align:right><p>[foo]<p>bar</div><p>extra" queryCommandValue("justifycenter") after assert_equals: Wrong result returned expected "center" but got "true"
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div style=text-align:right><p>[foo]<p>bar</div><p>extra": execCommand("stylewithcss", false, "true") return value 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div style=text-align:right><p>[foo]<p>bar</div><p>extra": execCommand("defaultparagraphseparator", false, "p") return value 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div style=text-align:right><p>[foo]<p>bar</div><p>extra": execCommand("justifycenter", false, "") return value 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div style=text-align:right><p>[foo]<p>bar</div><p>extra" checks for modifications to non-editable content 
+FAIL [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div style=text-align:right><p>[foo]<p>bar</div><p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<div style=\"text-align:right\"><div style=\"text-align:center\"><p>foo</p></div><p>bar</p></div><p>extra</p>" but got "<div style=\"text-align:right\"><p style=\"text-align:center\">foo</p><p>bar</p></div><p>extra</p>"
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div style=text-align:right><p>[foo]<p>bar</div><p>extra" queryCommandIndeterm("stylewithcss") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div style=text-align:right><p>[foo]<p>bar</div><p>extra" queryCommandState("stylewithcss") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div style=text-align:right><p>[foo]<p>bar</div><p>extra" queryCommandValue("stylewithcss") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div style=text-align:right><p>[foo]<p>bar</div><p>extra" queryCommandIndeterm("stylewithcss") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div style=text-align:right><p>[foo]<p>bar</div><p>extra" queryCommandState("stylewithcss") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div style=text-align:right><p>[foo]<p>bar</div><p>extra" queryCommandValue("stylewithcss") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div style=text-align:right><p>[foo]<p>bar</div><p>extra" queryCommandIndeterm("defaultparagraphseparator") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div style=text-align:right><p>[foo]<p>bar</div><p>extra" queryCommandState("defaultparagraphseparator") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div style=text-align:right><p>[foo]<p>bar</div><p>extra" queryCommandValue("defaultparagraphseparator") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div style=text-align:right><p>[foo]<p>bar</div><p>extra" queryCommandIndeterm("defaultparagraphseparator") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div style=text-align:right><p>[foo]<p>bar</div><p>extra" queryCommandState("defaultparagraphseparator") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div style=text-align:right><p>[foo]<p>bar</div><p>extra" queryCommandValue("defaultparagraphseparator") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div style=text-align:right><p>[foo]<p>bar</div><p>extra" queryCommandIndeterm("justifycenter") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div style=text-align:right><p>[foo]<p>bar</div><p>extra" queryCommandState("justifycenter") before 
+FAIL [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div style=text-align:right><p>[foo]<p>bar</div><p>extra" queryCommandValue("justifycenter") before assert_equals: Wrong result returned expected "right" but got "false"
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div style=text-align:right><p>[foo]<p>bar</div><p>extra" queryCommandIndeterm("justifycenter") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div style=text-align:right><p>[foo]<p>bar</div><p>extra" queryCommandState("justifycenter") after 
+FAIL [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div style=text-align:right><p>[foo]<p>bar</div><p>extra" queryCommandValue("justifycenter") after assert_equals: Wrong result returned expected "center" but got "true"
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div style=text-align:right><p>[foo]<p>bar</div><p>extra": execCommand("stylewithcss", false, "false") return value 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div style=text-align:right><p>[foo]<p>bar</div><p>extra": execCommand("defaultparagraphseparator", false, "p") return value 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div style=text-align:right><p>[foo]<p>bar</div><p>extra": execCommand("justifycenter", false, "") return value 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div style=text-align:right><p>[foo]<p>bar</div><p>extra" checks for modifications to non-editable content 
+FAIL [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div style=text-align:right><p>[foo]<p>bar</div><p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<div style=\"text-align:right\"><div style=\"text-align:center\"><p>foo</p></div><p>bar</p></div><p>extra</p>" but got "<div style=\"text-align:right\"><p style=\"text-align:center\">foo</p><p>bar</p></div><p>extra</p>"
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div style=text-align:right><p>[foo]<p>bar</div><p>extra" queryCommandIndeterm("stylewithcss") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div style=text-align:right><p>[foo]<p>bar</div><p>extra" queryCommandState("stylewithcss") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div style=text-align:right><p>[foo]<p>bar</div><p>extra" queryCommandValue("stylewithcss") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div style=text-align:right><p>[foo]<p>bar</div><p>extra" queryCommandIndeterm("stylewithcss") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div style=text-align:right><p>[foo]<p>bar</div><p>extra" queryCommandState("stylewithcss") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div style=text-align:right><p>[foo]<p>bar</div><p>extra" queryCommandValue("stylewithcss") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div style=text-align:right><p>[foo]<p>bar</div><p>extra" queryCommandIndeterm("defaultparagraphseparator") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div style=text-align:right><p>[foo]<p>bar</div><p>extra" queryCommandState("defaultparagraphseparator") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div style=text-align:right><p>[foo]<p>bar</div><p>extra" queryCommandValue("defaultparagraphseparator") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div style=text-align:right><p>[foo]<p>bar</div><p>extra" queryCommandIndeterm("defaultparagraphseparator") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div style=text-align:right><p>[foo]<p>bar</div><p>extra" queryCommandState("defaultparagraphseparator") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div style=text-align:right><p>[foo]<p>bar</div><p>extra" queryCommandValue("defaultparagraphseparator") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div style=text-align:right><p>[foo]<p>bar</div><p>extra" queryCommandIndeterm("justifycenter") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div style=text-align:right><p>[foo]<p>bar</div><p>extra" queryCommandState("justifycenter") before 
+FAIL [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div style=text-align:right><p>[foo]<p>bar</div><p>extra" queryCommandValue("justifycenter") before assert_equals: Wrong result returned expected "right" but got "false"
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div style=text-align:right><p>[foo]<p>bar</div><p>extra" queryCommandIndeterm("justifycenter") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div style=text-align:right><p>[foo]<p>bar</div><p>extra" queryCommandState("justifycenter") after 
+FAIL [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div style=text-align:right><p>[foo]<p>bar</div><p>extra" queryCommandValue("justifycenter") after assert_equals: Wrong result returned expected "center" but got "true"
+PASS [["justifycenter",""]] "<div style=text-align:right><p>[foo<p>bar]</div><p>extra": execCommand("justifycenter", false, "") return value 
+PASS [["justifycenter",""]] "<div style=text-align:right><p>[foo<p>bar]</div><p>extra" checks for modifications to non-editable content 
+FAIL [["justifycenter",""]] "<div style=text-align:right><p>[foo<p>bar]</div><p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<div style=\"text-align:center\"><p>foo</p><p>bar</p></div><p>extra</p>" but got "<div style=\"text-align:right\"><p style=\"text-align:center\">foo</p><p style=\"text-align:center\">bar</p></div><p>extra</p>"
+PASS [["justifycenter",""]] "<div style=text-align:right><p>[foo<p>bar]</div><p>extra" queryCommandIndeterm("justifycenter") before 
+PASS [["justifycenter",""]] "<div style=text-align:right><p>[foo<p>bar]</div><p>extra" queryCommandState("justifycenter") before 
+FAIL [["justifycenter",""]] "<div style=text-align:right><p>[foo<p>bar]</div><p>extra" queryCommandValue("justifycenter") before assert_equals: Wrong result returned expected "right" but got "false"
+PASS [["justifycenter",""]] "<div style=text-align:right><p>[foo<p>bar]</div><p>extra" queryCommandIndeterm("justifycenter") after 
+PASS [["justifycenter",""]] "<div style=text-align:right><p>[foo<p>bar]</div><p>extra" queryCommandState("justifycenter") after 
+FAIL [["justifycenter",""]] "<div style=text-align:right><p>[foo<p>bar]</div><p>extra" queryCommandValue("justifycenter") after assert_equals: Wrong result returned expected "center" but got "true"
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<center>foo</center>[bar]<p>extra": execCommand("stylewithcss", false, "true") return value 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<center>foo</center>[bar]<p>extra": execCommand("defaultparagraphseparator", false, "div") return value 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<center>foo</center>[bar]<p>extra": execCommand("justifycenter", false, "") return value 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<center>foo</center>[bar]<p>extra" checks for modifications to non-editable content 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<center>foo</center>[bar]<p>extra" compare innerHTML 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<center>foo</center>[bar]<p>extra" queryCommandIndeterm("stylewithcss") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<center>foo</center>[bar]<p>extra" queryCommandState("stylewithcss") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<center>foo</center>[bar]<p>extra" queryCommandValue("stylewithcss") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<center>foo</center>[bar]<p>extra" queryCommandIndeterm("stylewithcss") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<center>foo</center>[bar]<p>extra" queryCommandState("stylewithcss") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<center>foo</center>[bar]<p>extra" queryCommandValue("stylewithcss") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<center>foo</center>[bar]<p>extra" queryCommandIndeterm("defaultparagraphseparator") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<center>foo</center>[bar]<p>extra" queryCommandState("defaultparagraphseparator") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<center>foo</center>[bar]<p>extra" queryCommandValue("defaultparagraphseparator") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<center>foo</center>[bar]<p>extra" queryCommandIndeterm("defaultparagraphseparator") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<center>foo</center>[bar]<p>extra" queryCommandState("defaultparagraphseparator") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<center>foo</center>[bar]<p>extra" queryCommandValue("defaultparagraphseparator") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<center>foo</center>[bar]<p>extra" queryCommandIndeterm("justifycenter") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<center>foo</center>[bar]<p>extra" queryCommandState("justifycenter") before 
+FAIL [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<center>foo</center>[bar]<p>extra" queryCommandValue("justifycenter") before assert_equals: Wrong result returned expected "left" but got "false"
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<center>foo</center>[bar]<p>extra" queryCommandIndeterm("justifycenter") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<center>foo</center>[bar]<p>extra" queryCommandState("justifycenter") after 
+FAIL [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<center>foo</center>[bar]<p>extra" queryCommandValue("justifycenter") after assert_equals: Wrong result returned expected "center" but got "true"
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<center>foo</center>[bar]<p>extra": execCommand("stylewithcss", false, "false") return value 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<center>foo</center>[bar]<p>extra": execCommand("defaultparagraphseparator", false, "div") return value 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<center>foo</center>[bar]<p>extra": execCommand("justifycenter", false, "") return value 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<center>foo</center>[bar]<p>extra" checks for modifications to non-editable content 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<center>foo</center>[bar]<p>extra" compare innerHTML 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<center>foo</center>[bar]<p>extra" queryCommandIndeterm("stylewithcss") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<center>foo</center>[bar]<p>extra" queryCommandState("stylewithcss") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<center>foo</center>[bar]<p>extra" queryCommandValue("stylewithcss") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<center>foo</center>[bar]<p>extra" queryCommandIndeterm("stylewithcss") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<center>foo</center>[bar]<p>extra" queryCommandState("stylewithcss") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<center>foo</center>[bar]<p>extra" queryCommandValue("stylewithcss") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<center>foo</center>[bar]<p>extra" queryCommandIndeterm("defaultparagraphseparator") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<center>foo</center>[bar]<p>extra" queryCommandState("defaultparagraphseparator") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<center>foo</center>[bar]<p>extra" queryCommandValue("defaultparagraphseparator") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<center>foo</center>[bar]<p>extra" queryCommandIndeterm("defaultparagraphseparator") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<center>foo</center>[bar]<p>extra" queryCommandState("defaultparagraphseparator") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<center>foo</center>[bar]<p>extra" queryCommandValue("defaultparagraphseparator") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<center>foo</center>[bar]<p>extra" queryCommandIndeterm("justifycenter") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<center>foo</center>[bar]<p>extra" queryCommandState("justifycenter") before 
+FAIL [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<center>foo</center>[bar]<p>extra" queryCommandValue("justifycenter") before assert_equals: Wrong result returned expected "left" but got "false"
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<center>foo</center>[bar]<p>extra" queryCommandIndeterm("justifycenter") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<center>foo</center>[bar]<p>extra" queryCommandState("justifycenter") after 
+FAIL [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<center>foo</center>[bar]<p>extra" queryCommandValue("justifycenter") after assert_equals: Wrong result returned expected "center" but got "true"
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<center>foo</center>[bar]<p>extra": execCommand("stylewithcss", false, "true") return value 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<center>foo</center>[bar]<p>extra": execCommand("defaultparagraphseparator", false, "p") return value 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<center>foo</center>[bar]<p>extra": execCommand("justifycenter", false, "") return value 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<center>foo</center>[bar]<p>extra" checks for modifications to non-editable content 
+FAIL [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<center>foo</center>[bar]<p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<center>foo</center><div style=\"text-align:center\">bar</div><p>extra</p>" but got "<center>foo</center><p style=\"text-align:center\">bar</p><p>extra</p>"
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<center>foo</center>[bar]<p>extra" queryCommandIndeterm("stylewithcss") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<center>foo</center>[bar]<p>extra" queryCommandState("stylewithcss") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<center>foo</center>[bar]<p>extra" queryCommandValue("stylewithcss") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<center>foo</center>[bar]<p>extra" queryCommandIndeterm("stylewithcss") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<center>foo</center>[bar]<p>extra" queryCommandState("stylewithcss") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<center>foo</center>[bar]<p>extra" queryCommandValue("stylewithcss") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<center>foo</center>[bar]<p>extra" queryCommandIndeterm("defaultparagraphseparator") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<center>foo</center>[bar]<p>extra" queryCommandState("defaultparagraphseparator") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<center>foo</center>[bar]<p>extra" queryCommandValue("defaultparagraphseparator") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<center>foo</center>[bar]<p>extra" queryCommandIndeterm("defaultparagraphseparator") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<center>foo</center>[bar]<p>extra" queryCommandState("defaultparagraphseparator") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<center>foo</center>[bar]<p>extra" queryCommandValue("defaultparagraphseparator") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<center>foo</center>[bar]<p>extra" queryCommandIndeterm("justifycenter") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<center>foo</center>[bar]<p>extra" queryCommandState("justifycenter") before 
+FAIL [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<center>foo</center>[bar]<p>extra" queryCommandValue("justifycenter") before assert_equals: Wrong result returned expected "left" but got "false"
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<center>foo</center>[bar]<p>extra" queryCommandIndeterm("justifycenter") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<center>foo</center>[bar]<p>extra" queryCommandState("justifycenter") after 
+FAIL [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<center>foo</center>[bar]<p>extra" queryCommandValue("justifycenter") after assert_equals: Wrong result returned expected "center" but got "true"
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<center>foo</center>[bar]<p>extra": execCommand("stylewithcss", false, "false") return value 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<center>foo</center>[bar]<p>extra": execCommand("defaultparagraphseparator", false, "p") return value 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<center>foo</center>[bar]<p>extra": execCommand("justifycenter", false, "") return value 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<center>foo</center>[bar]<p>extra" checks for modifications to non-editable content 
+FAIL [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<center>foo</center>[bar]<p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<center>foo</center><div style=\"text-align:center\">bar</div><p>extra</p>" but got "<center>foo</center><p style=\"text-align:center\">bar</p><p>extra</p>"
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<center>foo</center>[bar]<p>extra" queryCommandIndeterm("stylewithcss") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<center>foo</center>[bar]<p>extra" queryCommandState("stylewithcss") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<center>foo</center>[bar]<p>extra" queryCommandValue("stylewithcss") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<center>foo</center>[bar]<p>extra" queryCommandIndeterm("stylewithcss") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<center>foo</center>[bar]<p>extra" queryCommandState("stylewithcss") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<center>foo</center>[bar]<p>extra" queryCommandValue("stylewithcss") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<center>foo</center>[bar]<p>extra" queryCommandIndeterm("defaultparagraphseparator") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<center>foo</center>[bar]<p>extra" queryCommandState("defaultparagraphseparator") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<center>foo</center>[bar]<p>extra" queryCommandValue("defaultparagraphseparator") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<center>foo</center>[bar]<p>extra" queryCommandIndeterm("defaultparagraphseparator") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<center>foo</center>[bar]<p>extra" queryCommandState("defaultparagraphseparator") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<center>foo</center>[bar]<p>extra" queryCommandValue("defaultparagraphseparator") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<center>foo</center>[bar]<p>extra" queryCommandIndeterm("justifycenter") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<center>foo</center>[bar]<p>extra" queryCommandState("justifycenter") before 
+FAIL [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<center>foo</center>[bar]<p>extra" queryCommandValue("justifycenter") before assert_equals: Wrong result returned expected "left" but got "false"
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<center>foo</center>[bar]<p>extra" queryCommandIndeterm("justifycenter") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<center>foo</center>[bar]<p>extra" queryCommandState("justifycenter") after 
+FAIL [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<center>foo</center>[bar]<p>extra" queryCommandValue("justifycenter") after assert_equals: Wrong result returned expected "center" but got "true"
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "[foo]<center>bar</center><p>extra": execCommand("stylewithcss", false, "true") return value 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "[foo]<center>bar</center><p>extra": execCommand("defaultparagraphseparator", false, "div") return value 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "[foo]<center>bar</center><p>extra": execCommand("justifycenter", false, "") return value 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "[foo]<center>bar</center><p>extra" checks for modifications to non-editable content 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "[foo]<center>bar</center><p>extra" compare innerHTML 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "[foo]<center>bar</center><p>extra" queryCommandIndeterm("stylewithcss") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "[foo]<center>bar</center><p>extra" queryCommandState("stylewithcss") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "[foo]<center>bar</center><p>extra" queryCommandValue("stylewithcss") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "[foo]<center>bar</center><p>extra" queryCommandIndeterm("stylewithcss") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "[foo]<center>bar</center><p>extra" queryCommandState("stylewithcss") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "[foo]<center>bar</center><p>extra" queryCommandValue("stylewithcss") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "[foo]<center>bar</center><p>extra" queryCommandIndeterm("defaultparagraphseparator") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "[foo]<center>bar</center><p>extra" queryCommandState("defaultparagraphseparator") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "[foo]<center>bar</center><p>extra" queryCommandValue("defaultparagraphseparator") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "[foo]<center>bar</center><p>extra" queryCommandIndeterm("defaultparagraphseparator") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "[foo]<center>bar</center><p>extra" queryCommandState("defaultparagraphseparator") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "[foo]<center>bar</center><p>extra" queryCommandValue("defaultparagraphseparator") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "[foo]<center>bar</center><p>extra" queryCommandIndeterm("justifycenter") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "[foo]<center>bar</center><p>extra" queryCommandState("justifycenter") before 
+FAIL [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "[foo]<center>bar</center><p>extra" queryCommandValue("justifycenter") before assert_equals: Wrong result returned expected "left" but got "false"
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "[foo]<center>bar</center><p>extra" queryCommandIndeterm("justifycenter") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "[foo]<center>bar</center><p>extra" queryCommandState("justifycenter") after 
+FAIL [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "[foo]<center>bar</center><p>extra" queryCommandValue("justifycenter") after assert_equals: Wrong result returned expected "center" but got "true"
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "[foo]<center>bar</center><p>extra": execCommand("stylewithcss", false, "false") return value 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "[foo]<center>bar</center><p>extra": execCommand("defaultparagraphseparator", false, "div") return value 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "[foo]<center>bar</center><p>extra": execCommand("justifycenter", false, "") return value 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "[foo]<center>bar</center><p>extra" checks for modifications to non-editable content 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "[foo]<center>bar</center><p>extra" compare innerHTML 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "[foo]<center>bar</center><p>extra" queryCommandIndeterm("stylewithcss") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "[foo]<center>bar</center><p>extra" queryCommandState("stylewithcss") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "[foo]<center>bar</center><p>extra" queryCommandValue("stylewithcss") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "[foo]<center>bar</center><p>extra" queryCommandIndeterm("stylewithcss") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "[foo]<center>bar</center><p>extra" queryCommandState("stylewithcss") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "[foo]<center>bar</center><p>extra" queryCommandValue("stylewithcss") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "[foo]<center>bar</center><p>extra" queryCommandIndeterm("defaultparagraphseparator") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "[foo]<center>bar</center><p>extra" queryCommandState("defaultparagraphseparator") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "[foo]<center>bar</center><p>extra" queryCommandValue("defaultparagraphseparator") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "[foo]<center>bar</center><p>extra" queryCommandIndeterm("defaultparagraphseparator") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "[foo]<center>bar</center><p>extra" queryCommandState("defaultparagraphseparator") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "[foo]<center>bar</center><p>extra" queryCommandValue("defaultparagraphseparator") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "[foo]<center>bar</center><p>extra" queryCommandIndeterm("justifycenter") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "[foo]<center>bar</center><p>extra" queryCommandState("justifycenter") before 
+FAIL [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "[foo]<center>bar</center><p>extra" queryCommandValue("justifycenter") before assert_equals: Wrong result returned expected "left" but got "false"
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "[foo]<center>bar</center><p>extra" queryCommandIndeterm("justifycenter") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "[foo]<center>bar</center><p>extra" queryCommandState("justifycenter") after 
+FAIL [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "[foo]<center>bar</center><p>extra" queryCommandValue("justifycenter") after assert_equals: Wrong result returned expected "center" but got "true"
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "[foo]<center>bar</center><p>extra": execCommand("stylewithcss", false, "true") return value 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "[foo]<center>bar</center><p>extra": execCommand("defaultparagraphseparator", false, "p") return value 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "[foo]<center>bar</center><p>extra": execCommand("justifycenter", false, "") return value 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "[foo]<center>bar</center><p>extra" checks for modifications to non-editable content 
+FAIL [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "[foo]<center>bar</center><p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<div style=\"text-align:center\">foo</div><center>bar</center><p>extra</p>" but got "<p style=\"text-align:center\">foo</p><center>bar</center><p>extra</p>"
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "[foo]<center>bar</center><p>extra" queryCommandIndeterm("stylewithcss") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "[foo]<center>bar</center><p>extra" queryCommandState("stylewithcss") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "[foo]<center>bar</center><p>extra" queryCommandValue("stylewithcss") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "[foo]<center>bar</center><p>extra" queryCommandIndeterm("stylewithcss") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "[foo]<center>bar</center><p>extra" queryCommandState("stylewithcss") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "[foo]<center>bar</center><p>extra" queryCommandValue("stylewithcss") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "[foo]<center>bar</center><p>extra" queryCommandIndeterm("defaultparagraphseparator") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "[foo]<center>bar</center><p>extra" queryCommandState("defaultparagraphseparator") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "[foo]<center>bar</center><p>extra" queryCommandValue("defaultparagraphseparator") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "[foo]<center>bar</center><p>extra" queryCommandIndeterm("defaultparagraphseparator") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "[foo]<center>bar</center><p>extra" queryCommandState("defaultparagraphseparator") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "[foo]<center>bar</center><p>extra" queryCommandValue("defaultparagraphseparator") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "[foo]<center>bar</center><p>extra" queryCommandIndeterm("justifycenter") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "[foo]<center>bar</center><p>extra" queryCommandState("justifycenter") before 
+FAIL [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "[foo]<center>bar</center><p>extra" queryCommandValue("justifycenter") before assert_equals: Wrong result returned expected "left" but got "false"
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "[foo]<center>bar</center><p>extra" queryCommandIndeterm("justifycenter") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "[foo]<center>bar</center><p>extra" queryCommandState("justifycenter") after 
+FAIL [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "[foo]<center>bar</center><p>extra" queryCommandValue("justifycenter") after assert_equals: Wrong result returned expected "center" but got "true"
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "[foo]<center>bar</center><p>extra": execCommand("stylewithcss", false, "false") return value 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "[foo]<center>bar</center><p>extra": execCommand("defaultparagraphseparator", false, "p") return value 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "[foo]<center>bar</center><p>extra": execCommand("justifycenter", false, "") return value 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "[foo]<center>bar</center><p>extra" checks for modifications to non-editable content 
+FAIL [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "[foo]<center>bar</center><p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<div style=\"text-align:center\">foo</div><center>bar</center><p>extra</p>" but got "<p style=\"text-align:center\">foo</p><center>bar</center><p>extra</p>"
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "[foo]<center>bar</center><p>extra" queryCommandIndeterm("stylewithcss") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "[foo]<center>bar</center><p>extra" queryCommandState("stylewithcss") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "[foo]<center>bar</center><p>extra" queryCommandValue("stylewithcss") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "[foo]<center>bar</center><p>extra" queryCommandIndeterm("stylewithcss") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "[foo]<center>bar</center><p>extra" queryCommandState("stylewithcss") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "[foo]<center>bar</center><p>extra" queryCommandValue("stylewithcss") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "[foo]<center>bar</center><p>extra" queryCommandIndeterm("defaultparagraphseparator") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "[foo]<center>bar</center><p>extra" queryCommandState("defaultparagraphseparator") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "[foo]<center>bar</center><p>extra" queryCommandValue("defaultparagraphseparator") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "[foo]<center>bar</center><p>extra" queryCommandIndeterm("defaultparagraphseparator") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "[foo]<center>bar</center><p>extra" queryCommandState("defaultparagraphseparator") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "[foo]<center>bar</center><p>extra" queryCommandValue("defaultparagraphseparator") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "[foo]<center>bar</center><p>extra" queryCommandIndeterm("justifycenter") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "[foo]<center>bar</center><p>extra" queryCommandState("justifycenter") before 
+FAIL [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "[foo]<center>bar</center><p>extra" queryCommandValue("justifycenter") before assert_equals: Wrong result returned expected "left" but got "false"
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "[foo]<center>bar</center><p>extra" queryCommandIndeterm("justifycenter") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "[foo]<center>bar</center><p>extra" queryCommandState("justifycenter") after 
+FAIL [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "[foo]<center>bar</center><p>extra" queryCommandValue("justifycenter") after assert_equals: Wrong result returned expected "center" but got "true"
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<center>foo</center>[bar]<center>baz</center><p>extra": execCommand("stylewithcss", false, "true") return value 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<center>foo</center>[bar]<center>baz</center><p>extra": execCommand("defaultparagraphseparator", false, "div") return value 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<center>foo</center>[bar]<center>baz</center><p>extra": execCommand("justifycenter", false, "") return value 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<center>foo</center>[bar]<center>baz</center><p>extra" checks for modifications to non-editable content 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<center>foo</center>[bar]<center>baz</center><p>extra" compare innerHTML 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<center>foo</center>[bar]<center>baz</center><p>extra" queryCommandIndeterm("stylewithcss") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<center>foo</center>[bar]<center>baz</center><p>extra" queryCommandState("stylewithcss") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<center>foo</center>[bar]<center>baz</center><p>extra" queryCommandValue("stylewithcss") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<center>foo</center>[bar]<center>baz</center><p>extra" queryCommandIndeterm("stylewithcss") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<center>foo</center>[bar]<center>baz</center><p>extra" queryCommandState("stylewithcss") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<center>foo</center>[bar]<center>baz</center><p>extra" queryCommandValue("stylewithcss") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<center>foo</center>[bar]<center>baz</center><p>extra" queryCommandIndeterm("defaultparagraphseparator") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<center>foo</center>[bar]<center>baz</center><p>extra" queryCommandState("defaultparagraphseparator") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<center>foo</center>[bar]<center>baz</center><p>extra" queryCommandValue("defaultparagraphseparator") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<center>foo</center>[bar]<center>baz</center><p>extra" queryCommandIndeterm("defaultparagraphseparator") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<center>foo</center>[bar]<center>baz</center><p>extra" queryCommandState("defaultparagraphseparator") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<center>foo</center>[bar]<center>baz</center><p>extra" queryCommandValue("defaultparagraphseparator") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<center>foo</center>[bar]<center>baz</center><p>extra" queryCommandIndeterm("justifycenter") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<center>foo</center>[bar]<center>baz</center><p>extra" queryCommandState("justifycenter") before 
+FAIL [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<center>foo</center>[bar]<center>baz</center><p>extra" queryCommandValue("justifycenter") before assert_equals: Wrong result returned expected "left" but got "false"
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<center>foo</center>[bar]<center>baz</center><p>extra" queryCommandIndeterm("justifycenter") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<center>foo</center>[bar]<center>baz</center><p>extra" queryCommandState("justifycenter") after 
+FAIL [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<center>foo</center>[bar]<center>baz</center><p>extra" queryCommandValue("justifycenter") after assert_equals: Wrong result returned expected "center" but got "true"
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<center>foo</center>[bar]<center>baz</center><p>extra": execCommand("stylewithcss", false, "false") return value 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<center>foo</center>[bar]<center>baz</center><p>extra": execCommand("defaultparagraphseparator", false, "div") return value 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<center>foo</center>[bar]<center>baz</center><p>extra": execCommand("justifycenter", false, "") return value 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<center>foo</center>[bar]<center>baz</center><p>extra" checks for modifications to non-editable content 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<center>foo</center>[bar]<center>baz</center><p>extra" compare innerHTML 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<center>foo</center>[bar]<center>baz</center><p>extra" queryCommandIndeterm("stylewithcss") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<center>foo</center>[bar]<center>baz</center><p>extra" queryCommandState("stylewithcss") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<center>foo</center>[bar]<center>baz</center><p>extra" queryCommandValue("stylewithcss") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<center>foo</center>[bar]<center>baz</center><p>extra" queryCommandIndeterm("stylewithcss") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<center>foo</center>[bar]<center>baz</center><p>extra" queryCommandState("stylewithcss") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<center>foo</center>[bar]<center>baz</center><p>extra" queryCommandValue("stylewithcss") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<center>foo</center>[bar]<center>baz</center><p>extra" queryCommandIndeterm("defaultparagraphseparator") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<center>foo</center>[bar]<center>baz</center><p>extra" queryCommandState("defaultparagraphseparator") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<center>foo</center>[bar]<center>baz</center><p>extra" queryCommandValue("defaultparagraphseparator") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<center>foo</center>[bar]<center>baz</center><p>extra" queryCommandIndeterm("defaultparagraphseparator") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<center>foo</center>[bar]<center>baz</center><p>extra" queryCommandState("defaultparagraphseparator") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<center>foo</center>[bar]<center>baz</center><p>extra" queryCommandValue("defaultparagraphseparator") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<center>foo</center>[bar]<center>baz</center><p>extra" queryCommandIndeterm("justifycenter") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<center>foo</center>[bar]<center>baz</center><p>extra" queryCommandState("justifycenter") before 
+FAIL [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<center>foo</center>[bar]<center>baz</center><p>extra" queryCommandValue("justifycenter") before assert_equals: Wrong result returned expected "left" but got "false"
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<center>foo</center>[bar]<center>baz</center><p>extra" queryCommandIndeterm("justifycenter") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<center>foo</center>[bar]<center>baz</center><p>extra" queryCommandState("justifycenter") after 
+FAIL [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<center>foo</center>[bar]<center>baz</center><p>extra" queryCommandValue("justifycenter") after assert_equals: Wrong result returned expected "center" but got "true"
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<center>foo</center>[bar]<center>baz</center><p>extra": execCommand("stylewithcss", false, "true") return value 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<center>foo</center>[bar]<center>baz</center><p>extra": execCommand("defaultparagraphseparator", false, "p") return value 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<center>foo</center>[bar]<center>baz</center><p>extra": execCommand("justifycenter", false, "") return value 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<center>foo</center>[bar]<center>baz</center><p>extra" checks for modifications to non-editable content 
+FAIL [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<center>foo</center>[bar]<center>baz</center><p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<center>foo</center><div style=\"text-align:center\">bar</div><center>baz</center><p>extra</p>" but got "<center>foo</center><p style=\"text-align:center\">bar</p><center>baz</center><p>extra</p>"
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<center>foo</center>[bar]<center>baz</center><p>extra" queryCommandIndeterm("stylewithcss") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<center>foo</center>[bar]<center>baz</center><p>extra" queryCommandState("stylewithcss") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<center>foo</center>[bar]<center>baz</center><p>extra" queryCommandValue("stylewithcss") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<center>foo</center>[bar]<center>baz</center><p>extra" queryCommandIndeterm("stylewithcss") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<center>foo</center>[bar]<center>baz</center><p>extra" queryCommandState("stylewithcss") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<center>foo</center>[bar]<center>baz</center><p>extra" queryCommandValue("stylewithcss") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<center>foo</center>[bar]<center>baz</center><p>extra" queryCommandIndeterm("defaultparagraphseparator") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<center>foo</center>[bar]<center>baz</center><p>extra" queryCommandState("defaultparagraphseparator") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<center>foo</center>[bar]<center>baz</center><p>extra" queryCommandValue("defaultparagraphseparator") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<center>foo</center>[bar]<center>baz</center><p>extra" queryCommandIndeterm("defaultparagraphseparator") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<center>foo</center>[bar]<center>baz</center><p>extra" queryCommandState("defaultparagraphseparator") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<center>foo</center>[bar]<center>baz</center><p>extra" queryCommandValue("defaultparagraphseparator") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<center>foo</center>[bar]<center>baz</center><p>extra" queryCommandIndeterm("justifycenter") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<center>foo</center>[bar]<center>baz</center><p>extra" queryCommandState("justifycenter") before 
+FAIL [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<center>foo</center>[bar]<center>baz</center><p>extra" queryCommandValue("justifycenter") before assert_equals: Wrong result returned expected "left" but got "false"
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<center>foo</center>[bar]<center>baz</center><p>extra" queryCommandIndeterm("justifycenter") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<center>foo</center>[bar]<center>baz</center><p>extra" queryCommandState("justifycenter") after 
+FAIL [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<center>foo</center>[bar]<center>baz</center><p>extra" queryCommandValue("justifycenter") after assert_equals: Wrong result returned expected "center" but got "true"
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<center>foo</center>[bar]<center>baz</center><p>extra": execCommand("stylewithcss", false, "false") return value 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<center>foo</center>[bar]<center>baz</center><p>extra": execCommand("defaultparagraphseparator", false, "p") return value 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<center>foo</center>[bar]<center>baz</center><p>extra": execCommand("justifycenter", false, "") return value 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<center>foo</center>[bar]<center>baz</center><p>extra" checks for modifications to non-editable content 
+FAIL [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<center>foo</center>[bar]<center>baz</center><p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<center>foo</center><div style=\"text-align:center\">bar</div><center>baz</center><p>extra</p>" but got "<center>foo</center><p style=\"text-align:center\">bar</p><center>baz</center><p>extra</p>"
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<center>foo</center>[bar]<center>baz</center><p>extra" queryCommandIndeterm("stylewithcss") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<center>foo</center>[bar]<center>baz</center><p>extra" queryCommandState("stylewithcss") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<center>foo</center>[bar]<center>baz</center><p>extra" queryCommandValue("stylewithcss") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<center>foo</center>[bar]<center>baz</center><p>extra" queryCommandIndeterm("stylewithcss") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<center>foo</center>[bar]<center>baz</center><p>extra" queryCommandState("stylewithcss") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<center>foo</center>[bar]<center>baz</center><p>extra" queryCommandValue("stylewithcss") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<center>foo</center>[bar]<center>baz</center><p>extra" queryCommandIndeterm("defaultparagraphseparator") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<center>foo</center>[bar]<center>baz</center><p>extra" queryCommandState("defaultparagraphseparator") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<center>foo</center>[bar]<center>baz</center><p>extra" queryCommandValue("defaultparagraphseparator") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<center>foo</center>[bar]<center>baz</center><p>extra" queryCommandIndeterm("defaultparagraphseparator") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<center>foo</center>[bar]<center>baz</center><p>extra" queryCommandState("defaultparagraphseparator") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<center>foo</center>[bar]<center>baz</center><p>extra" queryCommandValue("defaultparagraphseparator") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<center>foo</center>[bar]<center>baz</center><p>extra" queryCommandIndeterm("justifycenter") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<center>foo</center>[bar]<center>baz</center><p>extra" queryCommandState("justifycenter") before 
+FAIL [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<center>foo</center>[bar]<center>baz</center><p>extra" queryCommandValue("justifycenter") before assert_equals: Wrong result returned expected "left" but got "false"
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<center>foo</center>[bar]<center>baz</center><p>extra" queryCommandIndeterm("justifycenter") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<center>foo</center>[bar]<center>baz</center><p>extra" queryCommandState("justifycenter") after 
+FAIL [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<center>foo</center>[bar]<center>baz</center><p>extra" queryCommandValue("justifycenter") after assert_equals: Wrong result returned expected "center" but got "true"
+PASS [["justifycenter",""]] "<div align=center>foo</div>[bar]<p>extra": execCommand("justifycenter", false, "") return value 
+PASS [["justifycenter",""]] "<div align=center>foo</div>[bar]<p>extra" checks for modifications to non-editable content 
+FAIL [["justifycenter",""]] "<div align=center>foo</div>[bar]<p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<div align=\"center\">foo<br>bar</div><p>extra</p>" but got "<div align=\"center\">foo</div><p style=\"text-align:center\">bar</p><p>extra</p>"
+PASS [["justifycenter",""]] "<div align=center>foo</div>[bar]<p>extra" queryCommandIndeterm("justifycenter") before 
+PASS [["justifycenter",""]] "<div align=center>foo</div>[bar]<p>extra" queryCommandState("justifycenter") before 
+FAIL [["justifycenter",""]] "<div align=center>foo</div>[bar]<p>extra" queryCommandValue("justifycenter") before assert_equals: Wrong result returned expected "left" but got "false"
+PASS [["justifycenter",""]] "<div align=center>foo</div>[bar]<p>extra" queryCommandIndeterm("justifycenter") after 
+PASS [["justifycenter",""]] "<div align=center>foo</div>[bar]<p>extra" queryCommandState("justifycenter") after 
+FAIL [["justifycenter",""]] "<div align=center>foo</div>[bar]<p>extra" queryCommandValue("justifycenter") after assert_equals: Wrong result returned expected "center" but got "true"
+PASS [["justifycenter",""]] "[foo]<div align=center>bar</div><p>extra": execCommand("justifycenter", false, "") return value 
+PASS [["justifycenter",""]] "[foo]<div align=center>bar</div><p>extra" checks for modifications to non-editable content 
+FAIL [["justifycenter",""]] "[foo]<div align=center>bar</div><p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<div align=\"center\">foo<br>bar</div><p>extra</p>" but got "<p style=\"text-align:center\">foo</p><div align=\"center\">bar</div><p>extra</p>"
+PASS [["justifycenter",""]] "[foo]<div align=center>bar</div><p>extra" queryCommandIndeterm("justifycenter") before 
+PASS [["justifycenter",""]] "[foo]<div align=center>bar</div><p>extra" queryCommandState("justifycenter") before 
+FAIL [["justifycenter",""]] "[foo]<div align=center>bar</div><p>extra" queryCommandValue("justifycenter") before assert_equals: Wrong result returned expected "left" but got "false"
+PASS [["justifycenter",""]] "[foo]<div align=center>bar</div><p>extra" queryCommandIndeterm("justifycenter") after 
+PASS [["justifycenter",""]] "[foo]<div align=center>bar</div><p>extra" queryCommandState("justifycenter") after 
+FAIL [["justifycenter",""]] "[foo]<div align=center>bar</div><p>extra" queryCommandValue("justifycenter") after assert_equals: Wrong result returned expected "center" but got "true"
+PASS [["defaultparagraphseparator","div"],["justifycenter",""]] "<div align=center>foo</div>[bar]<div align=center>baz</div><p>extra": execCommand("defaultparagraphseparator", false, "div") return value 
+PASS [["defaultparagraphseparator","div"],["justifycenter",""]] "<div align=center>foo</div>[bar]<div align=center>baz</div><p>extra": execCommand("justifycenter", false, "") return value 
+PASS [["defaultparagraphseparator","div"],["justifycenter",""]] "<div align=center>foo</div>[bar]<div align=center>baz</div><p>extra" checks for modifications to non-editable content 
+FAIL [["defaultparagraphseparator","div"],["justifycenter",""]] "<div align=center>foo</div>[bar]<div align=center>baz</div><p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<div align=\"center\">foo<br>bar<br>baz</div><p>extra</p>" but got "<div align=\"center\">foo</div><div style=\"text-align:center\">bar</div><div align=\"center\">baz</div><p>extra</p>"
+PASS [["defaultparagraphseparator","div"],["justifycenter",""]] "<div align=center>foo</div>[bar]<div align=center>baz</div><p>extra" queryCommandIndeterm("defaultparagraphseparator") before 
+PASS [["defaultparagraphseparator","div"],["justifycenter",""]] "<div align=center>foo</div>[bar]<div align=center>baz</div><p>extra" queryCommandState("defaultparagraphseparator") before 
+PASS [["defaultparagraphseparator","div"],["justifycenter",""]] "<div align=center>foo</div>[bar]<div align=center>baz</div><p>extra" queryCommandValue("defaultparagraphseparator") before 
+PASS [["defaultparagraphseparator","div"],["justifycenter",""]] "<div align=center>foo</div>[bar]<div align=center>baz</div><p>extra" queryCommandIndeterm("defaultparagraphseparator") after 
+PASS [["defaultparagraphseparator","div"],["justifycenter",""]] "<div align=center>foo</div>[bar]<div align=center>baz</div><p>extra" queryCommandState("defaultparagraphseparator") after 
+PASS [["defaultparagraphseparator","div"],["justifycenter",""]] "<div align=center>foo</div>[bar]<div align=center>baz</div><p>extra" queryCommandValue("defaultparagraphseparator") after 
+PASS [["defaultparagraphseparator","div"],["justifycenter",""]] "<div align=center>foo</div>[bar]<div align=center>baz</div><p>extra" queryCommandIndeterm("justifycenter") before 
+PASS [["defaultparagraphseparator","div"],["justifycenter",""]] "<div align=center>foo</div>[bar]<div align=center>baz</div><p>extra" queryCommandState("justifycenter") before 
+FAIL [["defaultparagraphseparator","div"],["justifycenter",""]] "<div align=center>foo</div>[bar]<div align=center>baz</div><p>extra" queryCommandValue("justifycenter") before assert_equals: Wrong result returned expected "left" but got "false"
+PASS [["defaultparagraphseparator","div"],["justifycenter",""]] "<div align=center>foo</div>[bar]<div align=center>baz</div><p>extra" queryCommandIndeterm("justifycenter") after 
+PASS [["defaultparagraphseparator","div"],["justifycenter",""]] "<div align=center>foo</div>[bar]<div align=center>baz</div><p>extra" queryCommandState("justifycenter") after 
+FAIL [["defaultparagraphseparator","div"],["justifycenter",""]] "<div align=center>foo</div>[bar]<div align=center>baz</div><p>extra" queryCommandValue("justifycenter") after assert_equals: Wrong result returned expected "center" but got "true"
+PASS [["defaultparagraphseparator","p"],["justifycenter",""]] "<div align=center>foo</div>[bar]<div align=center>baz</div><p>extra": execCommand("defaultparagraphseparator", false, "p") return value 
+PASS [["defaultparagraphseparator","p"],["justifycenter",""]] "<div align=center>foo</div>[bar]<div align=center>baz</div><p>extra": execCommand("justifycenter", false, "") return value 
+PASS [["defaultparagraphseparator","p"],["justifycenter",""]] "<div align=center>foo</div>[bar]<div align=center>baz</div><p>extra" checks for modifications to non-editable content 
+FAIL [["defaultparagraphseparator","p"],["justifycenter",""]] "<div align=center>foo</div>[bar]<div align=center>baz</div><p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<div align=\"center\">foo<br>bar<br>baz</div><p>extra</p>" but got "<div align=\"center\">foo</div><p style=\"text-align:center\">bar</p><div align=\"center\">baz</div><p>extra</p>"
+PASS [["defaultparagraphseparator","p"],["justifycenter",""]] "<div align=center>foo</div>[bar]<div align=center>baz</div><p>extra" queryCommandIndeterm("defaultparagraphseparator") before 
+PASS [["defaultparagraphseparator","p"],["justifycenter",""]] "<div align=center>foo</div>[bar]<div align=center>baz</div><p>extra" queryCommandState("defaultparagraphseparator") before 
+PASS [["defaultparagraphseparator","p"],["justifycenter",""]] "<div align=center>foo</div>[bar]<div align=center>baz</div><p>extra" queryCommandValue("defaultparagraphseparator") before 
+PASS [["defaultparagraphseparator","p"],["justifycenter",""]] "<div align=center>foo</div>[bar]<div align=center>baz</div><p>extra" queryCommandIndeterm("defaultparagraphseparator") after 
+PASS [["defaultparagraphseparator","p"],["justifycenter",""]] "<div align=center>foo</div>[bar]<div align=center>baz</div><p>extra" queryCommandState("defaultparagraphseparator") after 
+PASS [["defaultparagraphseparator","p"],["justifycenter",""]] "<div align=center>foo</div>[bar]<div align=center>baz</div><p>extra" queryCommandValue("defaultparagraphseparator") after 
+PASS [["defaultparagraphseparator","p"],["justifycenter",""]] "<div align=center>foo</div>[bar]<div align=center>baz</div><p>extra" queryCommandIndeterm("justifycenter") before 
+PASS [["defaultparagraphseparator","p"],["justifycenter",""]] "<div align=center>foo</div>[bar]<div align=center>baz</div><p>extra" queryCommandState("justifycenter") before 
+FAIL [["defaultparagraphseparator","p"],["justifycenter",""]] "<div align=center>foo</div>[bar]<div align=center>baz</div><p>extra" queryCommandValue("justifycenter") before assert_equals: Wrong result returned expected "left" but got "false"
+PASS [["defaultparagraphseparator","p"],["justifycenter",""]] "<div align=center>foo</div>[bar]<div align=center>baz</div><p>extra" queryCommandIndeterm("justifycenter") after 
+PASS [["defaultparagraphseparator","p"],["justifycenter",""]] "<div align=center>foo</div>[bar]<div align=center>baz</div><p>extra" queryCommandState("justifycenter") after 
+FAIL [["defaultparagraphseparator","p"],["justifycenter",""]] "<div align=center>foo</div>[bar]<div align=center>baz</div><p>extra" queryCommandValue("justifycenter") after assert_equals: Wrong result returned expected "center" but got "true"
+PASS [["justifycenter",""]] "<div align=center><p>foo</div><p>[bar]<p>extra": execCommand("justifycenter", false, "") return value 
+PASS [["justifycenter",""]] "<div align=center><p>foo</div><p>[bar]<p>extra" checks for modifications to non-editable content 
+FAIL [["justifycenter",""]] "<div align=center><p>foo</div><p>[bar]<p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<div align=\"center\"><p>foo</p><p>bar</p></div><p>extra</p>" but got "<div align=\"center\"><p>foo</p></div><p style=\"text-align:center\">bar</p><p>extra</p>"
+PASS [["justifycenter",""]] "<div align=center><p>foo</div><p>[bar]<p>extra" queryCommandIndeterm("justifycenter") before 
+PASS [["justifycenter",""]] "<div align=center><p>foo</div><p>[bar]<p>extra" queryCommandState("justifycenter") before 
+FAIL [["justifycenter",""]] "<div align=center><p>foo</div><p>[bar]<p>extra" queryCommandValue("justifycenter") before assert_equals: Wrong result returned expected "left" but got "false"
+PASS [["justifycenter",""]] "<div align=center><p>foo</div><p>[bar]<p>extra" queryCommandIndeterm("justifycenter") after 
+PASS [["justifycenter",""]] "<div align=center><p>foo</div><p>[bar]<p>extra" queryCommandState("justifycenter") after 
+FAIL [["justifycenter",""]] "<div align=center><p>foo</div><p>[bar]<p>extra" queryCommandValue("justifycenter") after assert_equals: Wrong result returned expected "center" but got "true"
+PASS [["justifycenter",""]] "<p>[foo]<div align=center><p>bar</div><p>extra": execCommand("justifycenter", false, "") return value 
+PASS [["justifycenter",""]] "<p>[foo]<div align=center><p>bar</div><p>extra" checks for modifications to non-editable content 
+FAIL [["justifycenter",""]] "<p>[foo]<div align=center><p>bar</div><p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<div align=\"center\"><p>foo</p><p>bar</p></div><p>extra</p>" but got "<p style=\"text-align:center\">foo</p><div align=\"center\"><p>bar</p></div><p>extra</p>"
+PASS [["justifycenter",""]] "<p>[foo]<div align=center><p>bar</div><p>extra" queryCommandIndeterm("justifycenter") before 
+PASS [["justifycenter",""]] "<p>[foo]<div align=center><p>bar</div><p>extra" queryCommandState("justifycenter") before 
+FAIL [["justifycenter",""]] "<p>[foo]<div align=center><p>bar</div><p>extra" queryCommandValue("justifycenter") before assert_equals: Wrong result returned expected "left" but got "false"
+PASS [["justifycenter",""]] "<p>[foo]<div align=center><p>bar</div><p>extra" queryCommandIndeterm("justifycenter") after 
+PASS [["justifycenter",""]] "<p>[foo]<div align=center><p>bar</div><p>extra" queryCommandState("justifycenter") after 
+FAIL [["justifycenter",""]] "<p>[foo]<div align=center><p>bar</div><p>extra" queryCommandValue("justifycenter") after assert_equals: Wrong result returned expected "center" but got "true"
+PASS [["defaultparagraphseparator","div"],["justifycenter",""]] "<div align=center><p>foo</div><p>[bar]<div align=center><p>baz</div><p>extra": execCommand("defaultparagraphseparator", false, "div") return value 
+PASS [["defaultparagraphseparator","div"],["justifycenter",""]] "<div align=center><p>foo</div><p>[bar]<div align=center><p>baz</div><p>extra": execCommand("justifycenter", false, "") return value 
+PASS [["defaultparagraphseparator","div"],["justifycenter",""]] "<div align=center><p>foo</div><p>[bar]<div align=center><p>baz</div><p>extra" checks for modifications to non-editable content 
+FAIL [["defaultparagraphseparator","div"],["justifycenter",""]] "<div align=center><p>foo</div><p>[bar]<div align=center><p>baz</div><p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<div align=\"center\"><p>foo</p><p>bar</p><p>baz</p></div><p>extra</p>" but got "<div align=\"center\"><p>foo</p></div><p style=\"text-align:center\">bar</p><div align=\"center\"><p>baz</p></div><p>extra</p>"
+PASS [["defaultparagraphseparator","div"],["justifycenter",""]] "<div align=center><p>foo</div><p>[bar]<div align=center><p>baz</div><p>extra" queryCommandIndeterm("defaultparagraphseparator") before 
+PASS [["defaultparagraphseparator","div"],["justifycenter",""]] "<div align=center><p>foo</div><p>[bar]<div align=center><p>baz</div><p>extra" queryCommandState("defaultparagraphseparator") before 
+PASS [["defaultparagraphseparator","div"],["justifycenter",""]] "<div align=center><p>foo</div><p>[bar]<div align=center><p>baz</div><p>extra" queryCommandValue("defaultparagraphseparator") before 
+PASS [["defaultparagraphseparator","div"],["justifycenter",""]] "<div align=center><p>foo</div><p>[bar]<div align=center><p>baz</div><p>extra" queryCommandIndeterm("defaultparagraphseparator") after 
+PASS [["defaultparagraphseparator","div"],["justifycenter",""]] "<div align=center><p>foo</div><p>[bar]<div align=center><p>baz</div><p>extra" queryCommandState("defaultparagraphseparator") after 
+PASS [["defaultparagraphseparator","div"],["justifycenter",""]] "<div align=center><p>foo</div><p>[bar]<div align=center><p>baz</div><p>extra" queryCommandValue("defaultparagraphseparator") after 
+PASS [["defaultparagraphseparator","div"],["justifycenter",""]] "<div align=center><p>foo</div><p>[bar]<div align=center><p>baz</div><p>extra" queryCommandIndeterm("justifycenter") before 
+PASS [["defaultparagraphseparator","div"],["justifycenter",""]] "<div align=center><p>foo</div><p>[bar]<div align=center><p>baz</div><p>extra" queryCommandState("justifycenter") before 
+FAIL [["defaultparagraphseparator","div"],["justifycenter",""]] "<div align=center><p>foo</div><p>[bar]<div align=center><p>baz</div><p>extra" queryCommandValue("justifycenter") before assert_equals: Wrong result returned expected "left" but got "false"
+PASS [["defaultparagraphseparator","div"],["justifycenter",""]] "<div align=center><p>foo</div><p>[bar]<div align=center><p>baz</div><p>extra" queryCommandIndeterm("justifycenter") after 
+PASS [["defaultparagraphseparator","div"],["justifycenter",""]] "<div align=center><p>foo</div><p>[bar]<div align=center><p>baz</div><p>extra" queryCommandState("justifycenter") after 
+FAIL [["defaultparagraphseparator","div"],["justifycenter",""]] "<div align=center><p>foo</div><p>[bar]<div align=center><p>baz</div><p>extra" queryCommandValue("justifycenter") after assert_equals: Wrong result returned expected "center" but got "true"
+PASS [["defaultparagraphseparator","p"],["justifycenter",""]] "<div align=center><p>foo</div><p>[bar]<div align=center><p>baz</div><p>extra": execCommand("defaultparagraphseparator", false, "p") return value 
+PASS [["defaultparagraphseparator","p"],["justifycenter",""]] "<div align=center><p>foo</div><p>[bar]<div align=center><p>baz</div><p>extra": execCommand("justifycenter", false, "") return value 
+PASS [["defaultparagraphseparator","p"],["justifycenter",""]] "<div align=center><p>foo</div><p>[bar]<div align=center><p>baz</div><p>extra" checks for modifications to non-editable content 
+FAIL [["defaultparagraphseparator","p"],["justifycenter",""]] "<div align=center><p>foo</div><p>[bar]<div align=center><p>baz</div><p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<div align=\"center\"><p>foo</p><p>bar</p><p>baz</p></div><p>extra</p>" but got "<div align=\"center\"><p>foo</p></div><p style=\"text-align:center\">bar</p><div align=\"center\"><p>baz</p></div><p>extra</p>"
+PASS [["defaultparagraphseparator","p"],["justifycenter",""]] "<div align=center><p>foo</div><p>[bar]<div align=center><p>baz</div><p>extra" queryCommandIndeterm("defaultparagraphseparator") before 
+PASS [["defaultparagraphseparator","p"],["justifycenter",""]] "<div align=center><p>foo</div><p>[bar]<div align=center><p>baz</div><p>extra" queryCommandState("defaultparagraphseparator") before 
+PASS [["defaultparagraphseparator","p"],["justifycenter",""]] "<div align=center><p>foo</div><p>[bar]<div align=center><p>baz</div><p>extra" queryCommandValue("defaultparagraphseparator") before 
+PASS [["defaultparagraphseparator","p"],["justifycenter",""]] "<div align=center><p>foo</div><p>[bar]<div align=center><p>baz</div><p>extra" queryCommandIndeterm("defaultparagraphseparator") after 
+PASS [["defaultparagraphseparator","p"],["justifycenter",""]] "<div align=center><p>foo</div><p>[bar]<div align=center><p>baz</div><p>extra" queryCommandState("defaultparagraphseparator") after 
+PASS [["defaultparagraphseparator","p"],["justifycenter",""]] "<div align=center><p>foo</div><p>[bar]<div align=center><p>baz</div><p>extra" queryCommandValue("defaultparagraphseparator") after 
+PASS [["defaultparagraphseparator","p"],["justifycenter",""]] "<div align=center><p>foo</div><p>[bar]<div align=center><p>baz</div><p>extra" queryCommandIndeterm("justifycenter") before 
+PASS [["defaultparagraphseparator","p"],["justifycenter",""]] "<div align=center><p>foo</div><p>[bar]<div align=center><p>baz</div><p>extra" queryCommandState("justifycenter") before 
+FAIL [["defaultparagraphseparator","p"],["justifycenter",""]] "<div align=center><p>foo</div><p>[bar]<div align=center><p>baz</div><p>extra" queryCommandValue("justifycenter") before assert_equals: Wrong result returned expected "left" but got "false"
+PASS [["defaultparagraphseparator","p"],["justifycenter",""]] "<div align=center><p>foo</div><p>[bar]<div align=center><p>baz</div><p>extra" queryCommandIndeterm("justifycenter") after 
+PASS [["defaultparagraphseparator","p"],["justifycenter",""]] "<div align=center><p>foo</div><p>[bar]<div align=center><p>baz</div><p>extra" queryCommandState("justifycenter") after 
+FAIL [["defaultparagraphseparator","p"],["justifycenter",""]] "<div align=center><p>foo</div><p>[bar]<div align=center><p>baz</div><p>extra" queryCommandValue("justifycenter") after assert_equals: Wrong result returned expected "center" but got "true"
+PASS [["justifycenter",""]] "<div style=text-align:center>foo</div>[bar]<p>extra": execCommand("justifycenter", false, "") return value 
+PASS [["justifycenter",""]] "<div style=text-align:center>foo</div>[bar]<p>extra" checks for modifications to non-editable content 
+FAIL [["justifycenter",""]] "<div style=text-align:center>foo</div>[bar]<p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<div style=\"text-align:center\">foo<br>bar</div><p>extra</p>" but got "<div style=\"text-align:center\">foo</div><p style=\"text-align:center\">bar</p><p>extra</p>"
+PASS [["justifycenter",""]] "<div style=text-align:center>foo</div>[bar]<p>extra" queryCommandIndeterm("justifycenter") before 
+PASS [["justifycenter",""]] "<div style=text-align:center>foo</div>[bar]<p>extra" queryCommandState("justifycenter") before 
+FAIL [["justifycenter",""]] "<div style=text-align:center>foo</div>[bar]<p>extra" queryCommandValue("justifycenter") before assert_equals: Wrong result returned expected "left" but got "false"
+PASS [["justifycenter",""]] "<div style=text-align:center>foo</div>[bar]<p>extra" queryCommandIndeterm("justifycenter") after 
+PASS [["justifycenter",""]] "<div style=text-align:center>foo</div>[bar]<p>extra" queryCommandState("justifycenter") after 
+FAIL [["justifycenter",""]] "<div style=text-align:center>foo</div>[bar]<p>extra" queryCommandValue("justifycenter") after assert_equals: Wrong result returned expected "center" but got "true"
+PASS [["justifycenter",""]] "[foo]<div style=text-align:center>bar</div><p>extra": execCommand("justifycenter", false, "") return value 
+PASS [["justifycenter",""]] "[foo]<div style=text-align:center>bar</div><p>extra" checks for modifications to non-editable content 
+FAIL [["justifycenter",""]] "[foo]<div style=text-align:center>bar</div><p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<div style=\"text-align:center\">foo<br>bar</div><p>extra</p>" but got "<p style=\"text-align:center\">foo</p><div style=\"text-align:center\">bar</div><p>extra</p>"
+PASS [["justifycenter",""]] "[foo]<div style=text-align:center>bar</div><p>extra" queryCommandIndeterm("justifycenter") before 
+PASS [["justifycenter",""]] "[foo]<div style=text-align:center>bar</div><p>extra" queryCommandState("justifycenter") before 
+FAIL [["justifycenter",""]] "[foo]<div style=text-align:center>bar</div><p>extra" queryCommandValue("justifycenter") before assert_equals: Wrong result returned expected "left" but got "false"
+PASS [["justifycenter",""]] "[foo]<div style=text-align:center>bar</div><p>extra" queryCommandIndeterm("justifycenter") after 
+PASS [["justifycenter",""]] "[foo]<div style=text-align:center>bar</div><p>extra" queryCommandState("justifycenter") after 
+FAIL [["justifycenter",""]] "[foo]<div style=text-align:center>bar</div><p>extra" queryCommandValue("justifycenter") after assert_equals: Wrong result returned expected "center" but got "true"
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div style=text-align:center>foo</div>[bar]<div style=text-align:center>baz</div><p>extra": execCommand("stylewithcss", false, "true") return value 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div style=text-align:center>foo</div>[bar]<div style=text-align:center>baz</div><p>extra": execCommand("defaultparagraphseparator", false, "div") return value 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div style=text-align:center>foo</div>[bar]<div style=text-align:center>baz</div><p>extra": execCommand("justifycenter", false, "") return value 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div style=text-align:center>foo</div>[bar]<div style=text-align:center>baz</div><p>extra" checks for modifications to non-editable content 
+FAIL [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div style=text-align:center>foo</div>[bar]<div style=text-align:center>baz</div><p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<div style=\"text-align:center\">foo<br>bar<br>baz</div><p>extra</p>" but got "<div style=\"text-align:center\">foo</div><div style=\"text-align:center\">bar</div><div style=\"text-align:center\">baz</div><p>extra</p>"
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div style=text-align:center>foo</div>[bar]<div style=text-align:center>baz</div><p>extra" queryCommandIndeterm("stylewithcss") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div style=text-align:center>foo</div>[bar]<div style=text-align:center>baz</div><p>extra" queryCommandState("stylewithcss") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div style=text-align:center>foo</div>[bar]<div style=text-align:center>baz</div><p>extra" queryCommandValue("stylewithcss") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div style=text-align:center>foo</div>[bar]<div style=text-align:center>baz</div><p>extra" queryCommandIndeterm("stylewithcss") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div style=text-align:center>foo</div>[bar]<div style=text-align:center>baz</div><p>extra" queryCommandState("stylewithcss") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div style=text-align:center>foo</div>[bar]<div style=text-align:center>baz</div><p>extra" queryCommandValue("stylewithcss") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div style=text-align:center>foo</div>[bar]<div style=text-align:center>baz</div><p>extra" queryCommandIndeterm("defaultparagraphseparator") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div style=text-align:center>foo</div>[bar]<div style=text-align:center>baz</div><p>extra" queryCommandState("defaultparagraphseparator") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div style=text-align:center>foo</div>[bar]<div style=text-align:center>baz</div><p>extra" queryCommandValue("defaultparagraphseparator") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div style=text-align:center>foo</div>[bar]<div style=text-align:center>baz</div><p>extra" queryCommandIndeterm("defaultparagraphseparator") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div style=text-align:center>foo</div>[bar]<div style=text-align:center>baz</div><p>extra" queryCommandState("defaultparagraphseparator") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div style=text-align:center>foo</div>[bar]<div style=text-align:center>baz</div><p>extra" queryCommandValue("defaultparagraphseparator") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div style=text-align:center>foo</div>[bar]<div style=text-align:center>baz</div><p>extra" queryCommandIndeterm("justifycenter") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div style=text-align:center>foo</div>[bar]<div style=text-align:center>baz</div><p>extra" queryCommandState("justifycenter") before 
+FAIL [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div style=text-align:center>foo</div>[bar]<div style=text-align:center>baz</div><p>extra" queryCommandValue("justifycenter") before assert_equals: Wrong result returned expected "left" but got "false"
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div style=text-align:center>foo</div>[bar]<div style=text-align:center>baz</div><p>extra" queryCommandIndeterm("justifycenter") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div style=text-align:center>foo</div>[bar]<div style=text-align:center>baz</div><p>extra" queryCommandState("justifycenter") after 
+FAIL [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div style=text-align:center>foo</div>[bar]<div style=text-align:center>baz</div><p>extra" queryCommandValue("justifycenter") after assert_equals: Wrong result returned expected "center" but got "true"
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div style=text-align:center>foo</div>[bar]<div style=text-align:center>baz</div><p>extra": execCommand("stylewithcss", false, "false") return value 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div style=text-align:center>foo</div>[bar]<div style=text-align:center>baz</div><p>extra": execCommand("defaultparagraphseparator", false, "div") return value 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div style=text-align:center>foo</div>[bar]<div style=text-align:center>baz</div><p>extra": execCommand("justifycenter", false, "") return value 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div style=text-align:center>foo</div>[bar]<div style=text-align:center>baz</div><p>extra" checks for modifications to non-editable content 
+FAIL [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div style=text-align:center>foo</div>[bar]<div style=text-align:center>baz</div><p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<div style=\"text-align:center\">foo<br>bar<br>baz</div><p>extra</p>" but got "<div style=\"text-align:center\">foo</div><div style=\"text-align:center\">bar</div><div style=\"text-align:center\">baz</div><p>extra</p>"
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div style=text-align:center>foo</div>[bar]<div style=text-align:center>baz</div><p>extra" queryCommandIndeterm("stylewithcss") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div style=text-align:center>foo</div>[bar]<div style=text-align:center>baz</div><p>extra" queryCommandState("stylewithcss") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div style=text-align:center>foo</div>[bar]<div style=text-align:center>baz</div><p>extra" queryCommandValue("stylewithcss") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div style=text-align:center>foo</div>[bar]<div style=text-align:center>baz</div><p>extra" queryCommandIndeterm("stylewithcss") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div style=text-align:center>foo</div>[bar]<div style=text-align:center>baz</div><p>extra" queryCommandState("stylewithcss") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div style=text-align:center>foo</div>[bar]<div style=text-align:center>baz</div><p>extra" queryCommandValue("stylewithcss") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div style=text-align:center>foo</div>[bar]<div style=text-align:center>baz</div><p>extra" queryCommandIndeterm("defaultparagraphseparator") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div style=text-align:center>foo</div>[bar]<div style=text-align:center>baz</div><p>extra" queryCommandState("defaultparagraphseparator") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div style=text-align:center>foo</div>[bar]<div style=text-align:center>baz</div><p>extra" queryCommandValue("defaultparagraphseparator") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div style=text-align:center>foo</div>[bar]<div style=text-align:center>baz</div><p>extra" queryCommandIndeterm("defaultparagraphseparator") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div style=text-align:center>foo</div>[bar]<div style=text-align:center>baz</div><p>extra" queryCommandState("defaultparagraphseparator") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div style=text-align:center>foo</div>[bar]<div style=text-align:center>baz</div><p>extra" queryCommandValue("defaultparagraphseparator") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div style=text-align:center>foo</div>[bar]<div style=text-align:center>baz</div><p>extra" queryCommandIndeterm("justifycenter") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div style=text-align:center>foo</div>[bar]<div style=text-align:center>baz</div><p>extra" queryCommandState("justifycenter") before 
+FAIL [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div style=text-align:center>foo</div>[bar]<div style=text-align:center>baz</div><p>extra" queryCommandValue("justifycenter") before assert_equals: Wrong result returned expected "left" but got "false"
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div style=text-align:center>foo</div>[bar]<div style=text-align:center>baz</div><p>extra" queryCommandIndeterm("justifycenter") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div style=text-align:center>foo</div>[bar]<div style=text-align:center>baz</div><p>extra" queryCommandState("justifycenter") after 
+FAIL [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div style=text-align:center>foo</div>[bar]<div style=text-align:center>baz</div><p>extra" queryCommandValue("justifycenter") after assert_equals: Wrong result returned expected "center" but got "true"
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div style=text-align:center>foo</div>[bar]<div style=text-align:center>baz</div><p>extra": execCommand("stylewithcss", false, "true") return value 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div style=text-align:center>foo</div>[bar]<div style=text-align:center>baz</div><p>extra": execCommand("defaultparagraphseparator", false, "p") return value 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div style=text-align:center>foo</div>[bar]<div style=text-align:center>baz</div><p>extra": execCommand("justifycenter", false, "") return value 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div style=text-align:center>foo</div>[bar]<div style=text-align:center>baz</div><p>extra" checks for modifications to non-editable content 
+FAIL [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div style=text-align:center>foo</div>[bar]<div style=text-align:center>baz</div><p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<div style=\"text-align:center\">foo<br>bar<br>baz</div><p>extra</p>" but got "<div style=\"text-align:center\">foo</div><p style=\"text-align:center\">bar</p><div style=\"text-align:center\">baz</div><p>extra</p>"
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div style=text-align:center>foo</div>[bar]<div style=text-align:center>baz</div><p>extra" queryCommandIndeterm("stylewithcss") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div style=text-align:center>foo</div>[bar]<div style=text-align:center>baz</div><p>extra" queryCommandState("stylewithcss") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div style=text-align:center>foo</div>[bar]<div style=text-align:center>baz</div><p>extra" queryCommandValue("stylewithcss") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div style=text-align:center>foo</div>[bar]<div style=text-align:center>baz</div><p>extra" queryCommandIndeterm("stylewithcss") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div style=text-align:center>foo</div>[bar]<div style=text-align:center>baz</div><p>extra" queryCommandState("stylewithcss") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div style=text-align:center>foo</div>[bar]<div style=text-align:center>baz</div><p>extra" queryCommandValue("stylewithcss") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div style=text-align:center>foo</div>[bar]<div style=text-align:center>baz</div><p>extra" queryCommandIndeterm("defaultparagraphseparator") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div style=text-align:center>foo</div>[bar]<div style=text-align:center>baz</div><p>extra" queryCommandState("defaultparagraphseparator") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div style=text-align:center>foo</div>[bar]<div style=text-align:center>baz</div><p>extra" queryCommandValue("defaultparagraphseparator") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div style=text-align:center>foo</div>[bar]<div style=text-align:center>baz</div><p>extra" queryCommandIndeterm("defaultparagraphseparator") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div style=text-align:center>foo</div>[bar]<div style=text-align:center>baz</div><p>extra" queryCommandState("defaultparagraphseparator") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div style=text-align:center>foo</div>[bar]<div style=text-align:center>baz</div><p>extra" queryCommandValue("defaultparagraphseparator") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div style=text-align:center>foo</div>[bar]<div style=text-align:center>baz</div><p>extra" queryCommandIndeterm("justifycenter") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div style=text-align:center>foo</div>[bar]<div style=text-align:center>baz</div><p>extra" queryCommandState("justifycenter") before 
+FAIL [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div style=text-align:center>foo</div>[bar]<div style=text-align:center>baz</div><p>extra" queryCommandValue("justifycenter") before assert_equals: Wrong result returned expected "left" but got "false"
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div style=text-align:center>foo</div>[bar]<div style=text-align:center>baz</div><p>extra" queryCommandIndeterm("justifycenter") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div style=text-align:center>foo</div>[bar]<div style=text-align:center>baz</div><p>extra" queryCommandState("justifycenter") after 
+FAIL [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div style=text-align:center>foo</div>[bar]<div style=text-align:center>baz</div><p>extra" queryCommandValue("justifycenter") after assert_equals: Wrong result returned expected "center" but got "true"
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div style=text-align:center>foo</div>[bar]<div style=text-align:center>baz</div><p>extra": execCommand("stylewithcss", false, "false") return value 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div style=text-align:center>foo</div>[bar]<div style=text-align:center>baz</div><p>extra": execCommand("defaultparagraphseparator", false, "p") return value 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div style=text-align:center>foo</div>[bar]<div style=text-align:center>baz</div><p>extra": execCommand("justifycenter", false, "") return value 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div style=text-align:center>foo</div>[bar]<div style=text-align:center>baz</div><p>extra" checks for modifications to non-editable content 
+FAIL [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div style=text-align:center>foo</div>[bar]<div style=text-align:center>baz</div><p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<div style=\"text-align:center\">foo<br>bar<br>baz</div><p>extra</p>" but got "<div style=\"text-align:center\">foo</div><p style=\"text-align:center\">bar</p><div style=\"text-align:center\">baz</div><p>extra</p>"
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div style=text-align:center>foo</div>[bar]<div style=text-align:center>baz</div><p>extra" queryCommandIndeterm("stylewithcss") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div style=text-align:center>foo</div>[bar]<div style=text-align:center>baz</div><p>extra" queryCommandState("stylewithcss") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div style=text-align:center>foo</div>[bar]<div style=text-align:center>baz</div><p>extra" queryCommandValue("stylewithcss") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div style=text-align:center>foo</div>[bar]<div style=text-align:center>baz</div><p>extra" queryCommandIndeterm("stylewithcss") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div style=text-align:center>foo</div>[bar]<div style=text-align:center>baz</div><p>extra" queryCommandState("stylewithcss") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div style=text-align:center>foo</div>[bar]<div style=text-align:center>baz</div><p>extra" queryCommandValue("stylewithcss") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div style=text-align:center>foo</div>[bar]<div style=text-align:center>baz</div><p>extra" queryCommandIndeterm("defaultparagraphseparator") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div style=text-align:center>foo</div>[bar]<div style=text-align:center>baz</div><p>extra" queryCommandState("defaultparagraphseparator") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div style=text-align:center>foo</div>[bar]<div style=text-align:center>baz</div><p>extra" queryCommandValue("defaultparagraphseparator") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div style=text-align:center>foo</div>[bar]<div style=text-align:center>baz</div><p>extra" queryCommandIndeterm("defaultparagraphseparator") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div style=text-align:center>foo</div>[bar]<div style=text-align:center>baz</div><p>extra" queryCommandState("defaultparagraphseparator") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div style=text-align:center>foo</div>[bar]<div style=text-align:center>baz</div><p>extra" queryCommandValue("defaultparagraphseparator") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div style=text-align:center>foo</div>[bar]<div style=text-align:center>baz</div><p>extra" queryCommandIndeterm("justifycenter") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div style=text-align:center>foo</div>[bar]<div style=text-align:center>baz</div><p>extra" queryCommandState("justifycenter") before 
+FAIL [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div style=text-align:center>foo</div>[bar]<div style=text-align:center>baz</div><p>extra" queryCommandValue("justifycenter") before assert_equals: Wrong result returned expected "left" but got "false"
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div style=text-align:center>foo</div>[bar]<div style=text-align:center>baz</div><p>extra" queryCommandIndeterm("justifycenter") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div style=text-align:center>foo</div>[bar]<div style=text-align:center>baz</div><p>extra" queryCommandState("justifycenter") after 
+FAIL [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div style=text-align:center>foo</div>[bar]<div style=text-align:center>baz</div><p>extra" queryCommandValue("justifycenter") after assert_equals: Wrong result returned expected "center" but got "true"
+PASS [["justifycenter",""]] "<div style=text-align:center><p>foo</div><p>[bar]<p>extra": execCommand("justifycenter", false, "") return value 
+PASS [["justifycenter",""]] "<div style=text-align:center><p>foo</div><p>[bar]<p>extra" checks for modifications to non-editable content 
+FAIL [["justifycenter",""]] "<div style=text-align:center><p>foo</div><p>[bar]<p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<div style=\"text-align:center\"><p>foo</p><p>bar</p></div><p>extra</p>" but got "<div style=\"text-align:center\"><p>foo</p></div><p style=\"text-align:center\">bar</p><p>extra</p>"
+PASS [["justifycenter",""]] "<div style=text-align:center><p>foo</div><p>[bar]<p>extra" queryCommandIndeterm("justifycenter") before 
+PASS [["justifycenter",""]] "<div style=text-align:center><p>foo</div><p>[bar]<p>extra" queryCommandState("justifycenter") before 
+FAIL [["justifycenter",""]] "<div style=text-align:center><p>foo</div><p>[bar]<p>extra" queryCommandValue("justifycenter") before assert_equals: Wrong result returned expected "left" but got "false"
+PASS [["justifycenter",""]] "<div style=text-align:center><p>foo</div><p>[bar]<p>extra" queryCommandIndeterm("justifycenter") after 
+PASS [["justifycenter",""]] "<div style=text-align:center><p>foo</div><p>[bar]<p>extra" queryCommandState("justifycenter") after 
+FAIL [["justifycenter",""]] "<div style=text-align:center><p>foo</div><p>[bar]<p>extra" queryCommandValue("justifycenter") after assert_equals: Wrong result returned expected "center" but got "true"
+PASS [["justifycenter",""]] "<p>[foo]<div style=text-align:center><p>bar</div><p>extra": execCommand("justifycenter", false, "") return value 
+PASS [["justifycenter",""]] "<p>[foo]<div style=text-align:center><p>bar</div><p>extra" checks for modifications to non-editable content 
+FAIL [["justifycenter",""]] "<p>[foo]<div style=text-align:center><p>bar</div><p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<div style=\"text-align:center\"><p>foo</p><p>bar</p></div><p>extra</p>" but got "<p style=\"text-align:center\">foo</p><div style=\"text-align:center\"><p>bar</p></div><p>extra</p>"
+PASS [["justifycenter",""]] "<p>[foo]<div style=text-align:center><p>bar</div><p>extra" queryCommandIndeterm("justifycenter") before 
+PASS [["justifycenter",""]] "<p>[foo]<div style=text-align:center><p>bar</div><p>extra" queryCommandState("justifycenter") before 
+FAIL [["justifycenter",""]] "<p>[foo]<div style=text-align:center><p>bar</div><p>extra" queryCommandValue("justifycenter") before assert_equals: Wrong result returned expected "left" but got "false"
+PASS [["justifycenter",""]] "<p>[foo]<div style=text-align:center><p>bar</div><p>extra" queryCommandIndeterm("justifycenter") after 
+PASS [["justifycenter",""]] "<p>[foo]<div style=text-align:center><p>bar</div><p>extra" queryCommandState("justifycenter") after 
+FAIL [["justifycenter",""]] "<p>[foo]<div style=text-align:center><p>bar</div><p>extra" queryCommandValue("justifycenter") after assert_equals: Wrong result returned expected "center" but got "true"
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div style=text-align:center><p>foo</div><p>[bar]<div style=text-align:center><p>baz</div><p>extra": execCommand("stylewithcss", false, "true") return value 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div style=text-align:center><p>foo</div><p>[bar]<div style=text-align:center><p>baz</div><p>extra": execCommand("defaultparagraphseparator", false, "div") return value 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div style=text-align:center><p>foo</div><p>[bar]<div style=text-align:center><p>baz</div><p>extra": execCommand("justifycenter", false, "") return value 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div style=text-align:center><p>foo</div><p>[bar]<div style=text-align:center><p>baz</div><p>extra" checks for modifications to non-editable content 
+FAIL [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div style=text-align:center><p>foo</div><p>[bar]<div style=text-align:center><p>baz</div><p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<div style=\"text-align:center\"><p>foo</p><p>bar</p><p>baz</p></div><p>extra</p>" but got "<div style=\"text-align:center\"><p>foo</p></div><p style=\"text-align:center\">bar</p><div style=\"text-align:center\"><p>baz</p></div><p>extra</p>"
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div style=text-align:center><p>foo</div><p>[bar]<div style=text-align:center><p>baz</div><p>extra" queryCommandIndeterm("stylewithcss") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div style=text-align:center><p>foo</div><p>[bar]<div style=text-align:center><p>baz</div><p>extra" queryCommandState("stylewithcss") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div style=text-align:center><p>foo</div><p>[bar]<div style=text-align:center><p>baz</div><p>extra" queryCommandValue("stylewithcss") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div style=text-align:center><p>foo</div><p>[bar]<div style=text-align:center><p>baz</div><p>extra" queryCommandIndeterm("stylewithcss") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div style=text-align:center><p>foo</div><p>[bar]<div style=text-align:center><p>baz</div><p>extra" queryCommandState("stylewithcss") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div style=text-align:center><p>foo</div><p>[bar]<div style=text-align:center><p>baz</div><p>extra" queryCommandValue("stylewithcss") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div style=text-align:center><p>foo</div><p>[bar]<div style=text-align:center><p>baz</div><p>extra" queryCommandIndeterm("defaultparagraphseparator") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div style=text-align:center><p>foo</div><p>[bar]<div style=text-align:center><p>baz</div><p>extra" queryCommandState("defaultparagraphseparator") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div style=text-align:center><p>foo</div><p>[bar]<div style=text-align:center><p>baz</div><p>extra" queryCommandValue("defaultparagraphseparator") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div style=text-align:center><p>foo</div><p>[bar]<div style=text-align:center><p>baz</div><p>extra" queryCommandIndeterm("defaultparagraphseparator") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div style=text-align:center><p>foo</div><p>[bar]<div style=text-align:center><p>baz</div><p>extra" queryCommandState("defaultparagraphseparator") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div style=text-align:center><p>foo</div><p>[bar]<div style=text-align:center><p>baz</div><p>extra" queryCommandValue("defaultparagraphseparator") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div style=text-align:center><p>foo</div><p>[bar]<div style=text-align:center><p>baz</div><p>extra" queryCommandIndeterm("justifycenter") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div style=text-align:center><p>foo</div><p>[bar]<div style=text-align:center><p>baz</div><p>extra" queryCommandState("justifycenter") before 
+FAIL [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div style=text-align:center><p>foo</div><p>[bar]<div style=text-align:center><p>baz</div><p>extra" queryCommandValue("justifycenter") before assert_equals: Wrong result returned expected "left" but got "false"
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div style=text-align:center><p>foo</div><p>[bar]<div style=text-align:center><p>baz</div><p>extra" queryCommandIndeterm("justifycenter") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div style=text-align:center><p>foo</div><p>[bar]<div style=text-align:center><p>baz</div><p>extra" queryCommandState("justifycenter") after 
+FAIL [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div style=text-align:center><p>foo</div><p>[bar]<div style=text-align:center><p>baz</div><p>extra" queryCommandValue("justifycenter") after assert_equals: Wrong result returned expected "center" but got "true"
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div style=text-align:center><p>foo</div><p>[bar]<div style=text-align:center><p>baz</div><p>extra": execCommand("stylewithcss", false, "false") return value 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div style=text-align:center><p>foo</div><p>[bar]<div style=text-align:center><p>baz</div><p>extra": execCommand("defaultparagraphseparator", false, "div") return value 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div style=text-align:center><p>foo</div><p>[bar]<div style=text-align:center><p>baz</div><p>extra": execCommand("justifycenter", false, "") return value 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div style=text-align:center><p>foo</div><p>[bar]<div style=text-align:center><p>baz</div><p>extra" checks for modifications to non-editable content 
+FAIL [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div style=text-align:center><p>foo</div><p>[bar]<div style=text-align:center><p>baz</div><p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<div style=\"text-align:center\"><p>foo</p><p>bar</p><p>baz</p></div><p>extra</p>" but got "<div style=\"text-align:center\"><p>foo</p></div><p style=\"text-align:center\">bar</p><div style=\"text-align:center\"><p>baz</p></div><p>extra</p>"
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div style=text-align:center><p>foo</div><p>[bar]<div style=text-align:center><p>baz</div><p>extra" queryCommandIndeterm("stylewithcss") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div style=text-align:center><p>foo</div><p>[bar]<div style=text-align:center><p>baz</div><p>extra" queryCommandState("stylewithcss") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div style=text-align:center><p>foo</div><p>[bar]<div style=text-align:center><p>baz</div><p>extra" queryCommandValue("stylewithcss") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div style=text-align:center><p>foo</div><p>[bar]<div style=text-align:center><p>baz</div><p>extra" queryCommandIndeterm("stylewithcss") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div style=text-align:center><p>foo</div><p>[bar]<div style=text-align:center><p>baz</div><p>extra" queryCommandState("stylewithcss") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div style=text-align:center><p>foo</div><p>[bar]<div style=text-align:center><p>baz</div><p>extra" queryCommandValue("stylewithcss") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div style=text-align:center><p>foo</div><p>[bar]<div style=text-align:center><p>baz</div><p>extra" queryCommandIndeterm("defaultparagraphseparator") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div style=text-align:center><p>foo</div><p>[bar]<div style=text-align:center><p>baz</div><p>extra" queryCommandState("defaultparagraphseparator") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div style=text-align:center><p>foo</div><p>[bar]<div style=text-align:center><p>baz</div><p>extra" queryCommandValue("defaultparagraphseparator") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div style=text-align:center><p>foo</div><p>[bar]<div style=text-align:center><p>baz</div><p>extra" queryCommandIndeterm("defaultparagraphseparator") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div style=text-align:center><p>foo</div><p>[bar]<div style=text-align:center><p>baz</div><p>extra" queryCommandState("defaultparagraphseparator") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div style=text-align:center><p>foo</div><p>[bar]<div style=text-align:center><p>baz</div><p>extra" queryCommandValue("defaultparagraphseparator") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div style=text-align:center><p>foo</div><p>[bar]<div style=text-align:center><p>baz</div><p>extra" queryCommandIndeterm("justifycenter") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div style=text-align:center><p>foo</div><p>[bar]<div style=text-align:center><p>baz</div><p>extra" queryCommandState("justifycenter") before 
+FAIL [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div style=text-align:center><p>foo</div><p>[bar]<div style=text-align:center><p>baz</div><p>extra" queryCommandValue("justifycenter") before assert_equals: Wrong result returned expected "left" but got "false"
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div style=text-align:center><p>foo</div><p>[bar]<div style=text-align:center><p>baz</div><p>extra" queryCommandIndeterm("justifycenter") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div style=text-align:center><p>foo</div><p>[bar]<div style=text-align:center><p>baz</div><p>extra" queryCommandState("justifycenter") after 
+FAIL [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div style=text-align:center><p>foo</div><p>[bar]<div style=text-align:center><p>baz</div><p>extra" queryCommandValue("justifycenter") after assert_equals: Wrong result returned expected "center" but got "true"
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div style=text-align:center><p>foo</div><p>[bar]<div style=text-align:center><p>baz</div><p>extra": execCommand("stylewithcss", false, "true") return value 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div style=text-align:center><p>foo</div><p>[bar]<div style=text-align:center><p>baz</div><p>extra": execCommand("defaultparagraphseparator", false, "p") return value 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div style=text-align:center><p>foo</div><p>[bar]<div style=text-align:center><p>baz</div><p>extra": execCommand("justifycenter", false, "") return value 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div style=text-align:center><p>foo</div><p>[bar]<div style=text-align:center><p>baz</div><p>extra" checks for modifications to non-editable content 
+FAIL [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div style=text-align:center><p>foo</div><p>[bar]<div style=text-align:center><p>baz</div><p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<div style=\"text-align:center\"><p>foo</p><p>bar</p><p>baz</p></div><p>extra</p>" but got "<div style=\"text-align:center\"><p>foo</p></div><p style=\"text-align:center\">bar</p><div style=\"text-align:center\"><p>baz</p></div><p>extra</p>"
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div style=text-align:center><p>foo</div><p>[bar]<div style=text-align:center><p>baz</div><p>extra" queryCommandIndeterm("stylewithcss") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div style=text-align:center><p>foo</div><p>[bar]<div style=text-align:center><p>baz</div><p>extra" queryCommandState("stylewithcss") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div style=text-align:center><p>foo</div><p>[bar]<div style=text-align:center><p>baz</div><p>extra" queryCommandValue("stylewithcss") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div style=text-align:center><p>foo</div><p>[bar]<div style=text-align:center><p>baz</div><p>extra" queryCommandIndeterm("stylewithcss") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div style=text-align:center><p>foo</div><p>[bar]<div style=text-align:center><p>baz</div><p>extra" queryCommandState("stylewithcss") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div style=text-align:center><p>foo</div><p>[bar]<div style=text-align:center><p>baz</div><p>extra" queryCommandValue("stylewithcss") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div style=text-align:center><p>foo</div><p>[bar]<div style=text-align:center><p>baz</div><p>extra" queryCommandIndeterm("defaultparagraphseparator") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div style=text-align:center><p>foo</div><p>[bar]<div style=text-align:center><p>baz</div><p>extra" queryCommandState("defaultparagraphseparator") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div style=text-align:center><p>foo</div><p>[bar]<div style=text-align:center><p>baz</div><p>extra" queryCommandValue("defaultparagraphseparator") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div style=text-align:center><p>foo</div><p>[bar]<div style=text-align:center><p>baz</div><p>extra" queryCommandIndeterm("defaultparagraphseparator") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div style=text-align:center><p>foo</div><p>[bar]<div style=text-align:center><p>baz</div><p>extra" queryCommandState("defaultparagraphseparator") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div style=text-align:center><p>foo</div><p>[bar]<div style=text-align:center><p>baz</div><p>extra" queryCommandValue("defaultparagraphseparator") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div style=text-align:center><p>foo</div><p>[bar]<div style=text-align:center><p>baz</div><p>extra" queryCommandIndeterm("justifycenter") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div style=text-align:center><p>foo</div><p>[bar]<div style=text-align:center><p>baz</div><p>extra" queryCommandState("justifycenter") before 
+FAIL [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div style=text-align:center><p>foo</div><p>[bar]<div style=text-align:center><p>baz</div><p>extra" queryCommandValue("justifycenter") before assert_equals: Wrong result returned expected "left" but got "false"
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div style=text-align:center><p>foo</div><p>[bar]<div style=text-align:center><p>baz</div><p>extra" queryCommandIndeterm("justifycenter") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div style=text-align:center><p>foo</div><p>[bar]<div style=text-align:center><p>baz</div><p>extra" queryCommandState("justifycenter") after 
+FAIL [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div style=text-align:center><p>foo</div><p>[bar]<div style=text-align:center><p>baz</div><p>extra" queryCommandValue("justifycenter") after assert_equals: Wrong result returned expected "center" but got "true"
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div style=text-align:center><p>foo</div><p>[bar]<div style=text-align:center><p>baz</div><p>extra": execCommand("stylewithcss", false, "false") return value 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div style=text-align:center><p>foo</div><p>[bar]<div style=text-align:center><p>baz</div><p>extra": execCommand("defaultparagraphseparator", false, "p") return value 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div style=text-align:center><p>foo</div><p>[bar]<div style=text-align:center><p>baz</div><p>extra": execCommand("justifycenter", false, "") return value 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div style=text-align:center><p>foo</div><p>[bar]<div style=text-align:center><p>baz</div><p>extra" checks for modifications to non-editable content 
+FAIL [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div style=text-align:center><p>foo</div><p>[bar]<div style=text-align:center><p>baz</div><p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<div style=\"text-align:center\"><p>foo</p><p>bar</p><p>baz</p></div><p>extra</p>" but got "<div style=\"text-align:center\"><p>foo</p></div><p style=\"text-align:center\">bar</p><div style=\"text-align:center\"><p>baz</p></div><p>extra</p>"
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div style=text-align:center><p>foo</div><p>[bar]<div style=text-align:center><p>baz</div><p>extra" queryCommandIndeterm("stylewithcss") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div style=text-align:center><p>foo</div><p>[bar]<div style=text-align:center><p>baz</div><p>extra" queryCommandState("stylewithcss") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div style=text-align:center><p>foo</div><p>[bar]<div style=text-align:center><p>baz</div><p>extra" queryCommandValue("stylewithcss") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div style=text-align:center><p>foo</div><p>[bar]<div style=text-align:center><p>baz</div><p>extra" queryCommandIndeterm("stylewithcss") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div style=text-align:center><p>foo</div><p>[bar]<div style=text-align:center><p>baz</div><p>extra" queryCommandState("stylewithcss") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div style=text-align:center><p>foo</div><p>[bar]<div style=text-align:center><p>baz</div><p>extra" queryCommandValue("stylewithcss") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div style=text-align:center><p>foo</div><p>[bar]<div style=text-align:center><p>baz</div><p>extra" queryCommandIndeterm("defaultparagraphseparator") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div style=text-align:center><p>foo</div><p>[bar]<div style=text-align:center><p>baz</div><p>extra" queryCommandState("defaultparagraphseparator") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div style=text-align:center><p>foo</div><p>[bar]<div style=text-align:center><p>baz</div><p>extra" queryCommandValue("defaultparagraphseparator") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div style=text-align:center><p>foo</div><p>[bar]<div style=text-align:center><p>baz</div><p>extra" queryCommandIndeterm("defaultparagraphseparator") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div style=text-align:center><p>foo</div><p>[bar]<div style=text-align:center><p>baz</div><p>extra" queryCommandState("defaultparagraphseparator") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div style=text-align:center><p>foo</div><p>[bar]<div style=text-align:center><p>baz</div><p>extra" queryCommandValue("defaultparagraphseparator") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div style=text-align:center><p>foo</div><p>[bar]<div style=text-align:center><p>baz</div><p>extra" queryCommandIndeterm("justifycenter") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div style=text-align:center><p>foo</div><p>[bar]<div style=text-align:center><p>baz</div><p>extra" queryCommandState("justifycenter") before 
+FAIL [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div style=text-align:center><p>foo</div><p>[bar]<div style=text-align:center><p>baz</div><p>extra" queryCommandValue("justifycenter") before assert_equals: Wrong result returned expected "left" but got "false"
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div style=text-align:center><p>foo</div><p>[bar]<div style=text-align:center><p>baz</div><p>extra" queryCommandIndeterm("justifycenter") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div style=text-align:center><p>foo</div><p>[bar]<div style=text-align:center><p>baz</div><p>extra" queryCommandState("justifycenter") after 
+FAIL [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div style=text-align:center><p>foo</div><p>[bar]<div style=text-align:center><p>baz</div><p>extra" queryCommandValue("justifycenter") after assert_equals: Wrong result returned expected "center" but got "true"
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<p align=center>foo<p>[bar]<p>extra": execCommand("stylewithcss", false, "true") return value 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<p align=center>foo<p>[bar]<p>extra": execCommand("defaultparagraphseparator", false, "div") return value 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<p align=center>foo<p>[bar]<p>extra": execCommand("justifycenter", false, "") return value 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<p align=center>foo<p>[bar]<p>extra" checks for modifications to non-editable content 
+FAIL [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<p align=center>foo<p>[bar]<p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<p align=\"center\">foo</p><div style=\"text-align:center\"><p>bar</p></div><p>extra</p>" but got "<p align=\"center\">foo</p><p style=\"text-align:center\">bar</p><p>extra</p>"
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<p align=center>foo<p>[bar]<p>extra" queryCommandIndeterm("stylewithcss") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<p align=center>foo<p>[bar]<p>extra" queryCommandState("stylewithcss") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<p align=center>foo<p>[bar]<p>extra" queryCommandValue("stylewithcss") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<p align=center>foo<p>[bar]<p>extra" queryCommandIndeterm("stylewithcss") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<p align=center>foo<p>[bar]<p>extra" queryCommandState("stylewithcss") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<p align=center>foo<p>[bar]<p>extra" queryCommandValue("stylewithcss") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<p align=center>foo<p>[bar]<p>extra" queryCommandIndeterm("defaultparagraphseparator") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<p align=center>foo<p>[bar]<p>extra" queryCommandState("defaultparagraphseparator") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<p align=center>foo<p>[bar]<p>extra" queryCommandValue("defaultparagraphseparator") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<p align=center>foo<p>[bar]<p>extra" queryCommandIndeterm("defaultparagraphseparator") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<p align=center>foo<p>[bar]<p>extra" queryCommandState("defaultparagraphseparator") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<p align=center>foo<p>[bar]<p>extra" queryCommandValue("defaultparagraphseparator") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<p align=center>foo<p>[bar]<p>extra" queryCommandIndeterm("justifycenter") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<p align=center>foo<p>[bar]<p>extra" queryCommandState("justifycenter") before 
+FAIL [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<p align=center>foo<p>[bar]<p>extra" queryCommandValue("justifycenter") before assert_equals: Wrong result returned expected "left" but got "false"
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<p align=center>foo<p>[bar]<p>extra" queryCommandIndeterm("justifycenter") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<p align=center>foo<p>[bar]<p>extra" queryCommandState("justifycenter") after 
+FAIL [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<p align=center>foo<p>[bar]<p>extra" queryCommandValue("justifycenter") after assert_equals: Wrong result returned expected "center" but got "true"
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<p align=center>foo<p>[bar]<p>extra": execCommand("stylewithcss", false, "false") return value 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<p align=center>foo<p>[bar]<p>extra": execCommand("defaultparagraphseparator", false, "div") return value 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<p align=center>foo<p>[bar]<p>extra": execCommand("justifycenter", false, "") return value 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<p align=center>foo<p>[bar]<p>extra" checks for modifications to non-editable content 
+FAIL [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<p align=center>foo<p>[bar]<p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<p align=\"center\">foo</p><div style=\"text-align:center\"><p>bar</p></div><p>extra</p>" but got "<p align=\"center\">foo</p><p style=\"text-align:center\">bar</p><p>extra</p>"
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<p align=center>foo<p>[bar]<p>extra" queryCommandIndeterm("stylewithcss") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<p align=center>foo<p>[bar]<p>extra" queryCommandState("stylewithcss") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<p align=center>foo<p>[bar]<p>extra" queryCommandValue("stylewithcss") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<p align=center>foo<p>[bar]<p>extra" queryCommandIndeterm("stylewithcss") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<p align=center>foo<p>[bar]<p>extra" queryCommandState("stylewithcss") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<p align=center>foo<p>[bar]<p>extra" queryCommandValue("stylewithcss") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<p align=center>foo<p>[bar]<p>extra" queryCommandIndeterm("defaultparagraphseparator") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<p align=center>foo<p>[bar]<p>extra" queryCommandState("defaultparagraphseparator") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<p align=center>foo<p>[bar]<p>extra" queryCommandValue("defaultparagraphseparator") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<p align=center>foo<p>[bar]<p>extra" queryCommandIndeterm("defaultparagraphseparator") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<p align=center>foo<p>[bar]<p>extra" queryCommandState("defaultparagraphseparator") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<p align=center>foo<p>[bar]<p>extra" queryCommandValue("defaultparagraphseparator") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<p align=center>foo<p>[bar]<p>extra" queryCommandIndeterm("justifycenter") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<p align=center>foo<p>[bar]<p>extra" queryCommandState("justifycenter") before 
+FAIL [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<p align=center>foo<p>[bar]<p>extra" queryCommandValue("justifycenter") before assert_equals: Wrong result returned expected "left" but got "false"
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<p align=center>foo<p>[bar]<p>extra" queryCommandIndeterm("justifycenter") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<p align=center>foo<p>[bar]<p>extra" queryCommandState("justifycenter") after 
+FAIL [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<p align=center>foo<p>[bar]<p>extra" queryCommandValue("justifycenter") after assert_equals: Wrong result returned expected "center" but got "true"
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<p align=center>foo<p>[bar]<p>extra": execCommand("stylewithcss", false, "true") return value 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<p align=center>foo<p>[bar]<p>extra": execCommand("defaultparagraphseparator", false, "p") return value 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<p align=center>foo<p>[bar]<p>extra": execCommand("justifycenter", false, "") return value 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<p align=center>foo<p>[bar]<p>extra" checks for modifications to non-editable content 
+FAIL [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<p align=center>foo<p>[bar]<p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<p align=\"center\">foo</p><div style=\"text-align:center\"><p>bar</p></div><p>extra</p>" but got "<p align=\"center\">foo</p><p style=\"text-align:center\">bar</p><p>extra</p>"
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<p align=center>foo<p>[bar]<p>extra" queryCommandIndeterm("stylewithcss") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<p align=center>foo<p>[bar]<p>extra" queryCommandState("stylewithcss") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<p align=center>foo<p>[bar]<p>extra" queryCommandValue("stylewithcss") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<p align=center>foo<p>[bar]<p>extra" queryCommandIndeterm("stylewithcss") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<p align=center>foo<p>[bar]<p>extra" queryCommandState("stylewithcss") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<p align=center>foo<p>[bar]<p>extra" queryCommandValue("stylewithcss") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<p align=center>foo<p>[bar]<p>extra" queryCommandIndeterm("defaultparagraphseparator") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<p align=center>foo<p>[bar]<p>extra" queryCommandState("defaultparagraphseparator") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<p align=center>foo<p>[bar]<p>extra" queryCommandValue("defaultparagraphseparator") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<p align=center>foo<p>[bar]<p>extra" queryCommandIndeterm("defaultparagraphseparator") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<p align=center>foo<p>[bar]<p>extra" queryCommandState("defaultparagraphseparator") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<p align=center>foo<p>[bar]<p>extra" queryCommandValue("defaultparagraphseparator") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<p align=center>foo<p>[bar]<p>extra" queryCommandIndeterm("justifycenter") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<p align=center>foo<p>[bar]<p>extra" queryCommandState("justifycenter") before 
+FAIL [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<p align=center>foo<p>[bar]<p>extra" queryCommandValue("justifycenter") before assert_equals: Wrong result returned expected "left" but got "false"
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<p align=center>foo<p>[bar]<p>extra" queryCommandIndeterm("justifycenter") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<p align=center>foo<p>[bar]<p>extra" queryCommandState("justifycenter") after 
+FAIL [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<p align=center>foo<p>[bar]<p>extra" queryCommandValue("justifycenter") after assert_equals: Wrong result returned expected "center" but got "true"
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<p align=center>foo<p>[bar]<p>extra": execCommand("stylewithcss", false, "false") return value 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<p align=center>foo<p>[bar]<p>extra": execCommand("defaultparagraphseparator", false, "p") return value 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<p align=center>foo<p>[bar]<p>extra": execCommand("justifycenter", false, "") return value 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<p align=center>foo<p>[bar]<p>extra" checks for modifications to non-editable content 
+FAIL [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<p align=center>foo<p>[bar]<p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<p align=\"center\">foo</p><div style=\"text-align:center\"><p>bar</p></div><p>extra</p>" but got "<p align=\"center\">foo</p><p style=\"text-align:center\">bar</p><p>extra</p>"
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<p align=center>foo<p>[bar]<p>extra" queryCommandIndeterm("stylewithcss") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<p align=center>foo<p>[bar]<p>extra" queryCommandState("stylewithcss") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<p align=center>foo<p>[bar]<p>extra" queryCommandValue("stylewithcss") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<p align=center>foo<p>[bar]<p>extra" queryCommandIndeterm("stylewithcss") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<p align=center>foo<p>[bar]<p>extra" queryCommandState("stylewithcss") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<p align=center>foo<p>[bar]<p>extra" queryCommandValue("stylewithcss") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<p align=center>foo<p>[bar]<p>extra" queryCommandIndeterm("defaultparagraphseparator") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<p align=center>foo<p>[bar]<p>extra" queryCommandState("defaultparagraphseparator") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<p align=center>foo<p>[bar]<p>extra" queryCommandValue("defaultparagraphseparator") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<p align=center>foo<p>[bar]<p>extra" queryCommandIndeterm("defaultparagraphseparator") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<p align=center>foo<p>[bar]<p>extra" queryCommandState("defaultparagraphseparator") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<p align=center>foo<p>[bar]<p>extra" queryCommandValue("defaultparagraphseparator") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<p align=center>foo<p>[bar]<p>extra" queryCommandIndeterm("justifycenter") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<p align=center>foo<p>[bar]<p>extra" queryCommandState("justifycenter") before 
+FAIL [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<p align=center>foo<p>[bar]<p>extra" queryCommandValue("justifycenter") before assert_equals: Wrong result returned expected "left" but got "false"
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<p align=center>foo<p>[bar]<p>extra" queryCommandIndeterm("justifycenter") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<p align=center>foo<p>[bar]<p>extra" queryCommandState("justifycenter") after 
+FAIL [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<p align=center>foo<p>[bar]<p>extra" queryCommandValue("justifycenter") after assert_equals: Wrong result returned expected "center" but got "true"
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<p>[foo]<p align=center>bar<p>extra": execCommand("stylewithcss", false, "true") return value 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<p>[foo]<p align=center>bar<p>extra": execCommand("defaultparagraphseparator", false, "div") return value 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<p>[foo]<p align=center>bar<p>extra": execCommand("justifycenter", false, "") return value 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<p>[foo]<p align=center>bar<p>extra" checks for modifications to non-editable content 
+FAIL [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<p>[foo]<p align=center>bar<p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<div style=\"text-align:center\"><p>foo</p></div><p align=\"center\">bar</p><p>extra</p>" but got "<p style=\"text-align:center\">foo</p><p align=\"center\">bar</p><p>extra</p>"
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<p>[foo]<p align=center>bar<p>extra" queryCommandIndeterm("stylewithcss") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<p>[foo]<p align=center>bar<p>extra" queryCommandState("stylewithcss") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<p>[foo]<p align=center>bar<p>extra" queryCommandValue("stylewithcss") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<p>[foo]<p align=center>bar<p>extra" queryCommandIndeterm("stylewithcss") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<p>[foo]<p align=center>bar<p>extra" queryCommandState("stylewithcss") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<p>[foo]<p align=center>bar<p>extra" queryCommandValue("stylewithcss") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<p>[foo]<p align=center>bar<p>extra" queryCommandIndeterm("defaultparagraphseparator") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<p>[foo]<p align=center>bar<p>extra" queryCommandState("defaultparagraphseparator") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<p>[foo]<p align=center>bar<p>extra" queryCommandValue("defaultparagraphseparator") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<p>[foo]<p align=center>bar<p>extra" queryCommandIndeterm("defaultparagraphseparator") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<p>[foo]<p align=center>bar<p>extra" queryCommandState("defaultparagraphseparator") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<p>[foo]<p align=center>bar<p>extra" queryCommandValue("defaultparagraphseparator") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<p>[foo]<p align=center>bar<p>extra" queryCommandIndeterm("justifycenter") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<p>[foo]<p align=center>bar<p>extra" queryCommandState("justifycenter") before 
+FAIL [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<p>[foo]<p align=center>bar<p>extra" queryCommandValue("justifycenter") before assert_equals: Wrong result returned expected "left" but got "false"
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<p>[foo]<p align=center>bar<p>extra" queryCommandIndeterm("justifycenter") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<p>[foo]<p align=center>bar<p>extra" queryCommandState("justifycenter") after 
+FAIL [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<p>[foo]<p align=center>bar<p>extra" queryCommandValue("justifycenter") after assert_equals: Wrong result returned expected "center" but got "true"
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<p>[foo]<p align=center>bar<p>extra": execCommand("stylewithcss", false, "false") return value 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<p>[foo]<p align=center>bar<p>extra": execCommand("defaultparagraphseparator", false, "div") return value 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<p>[foo]<p align=center>bar<p>extra": execCommand("justifycenter", false, "") return value 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<p>[foo]<p align=center>bar<p>extra" checks for modifications to non-editable content 
+FAIL [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<p>[foo]<p align=center>bar<p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<div style=\"text-align:center\"><p>foo</p></div><p align=\"center\">bar</p><p>extra</p>" but got "<p style=\"text-align:center\">foo</p><p align=\"center\">bar</p><p>extra</p>"
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<p>[foo]<p align=center>bar<p>extra" queryCommandIndeterm("stylewithcss") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<p>[foo]<p align=center>bar<p>extra" queryCommandState("stylewithcss") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<p>[foo]<p align=center>bar<p>extra" queryCommandValue("stylewithcss") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<p>[foo]<p align=center>bar<p>extra" queryCommandIndeterm("stylewithcss") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<p>[foo]<p align=center>bar<p>extra" queryCommandState("stylewithcss") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<p>[foo]<p align=center>bar<p>extra" queryCommandValue("stylewithcss") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<p>[foo]<p align=center>bar<p>extra" queryCommandIndeterm("defaultparagraphseparator") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<p>[foo]<p align=center>bar<p>extra" queryCommandState("defaultparagraphseparator") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<p>[foo]<p align=center>bar<p>extra" queryCommandValue("defaultparagraphseparator") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<p>[foo]<p align=center>bar<p>extra" queryCommandIndeterm("defaultparagraphseparator") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<p>[foo]<p align=center>bar<p>extra" queryCommandState("defaultparagraphseparator") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<p>[foo]<p align=center>bar<p>extra" queryCommandValue("defaultparagraphseparator") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<p>[foo]<p align=center>bar<p>extra" queryCommandIndeterm("justifycenter") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<p>[foo]<p align=center>bar<p>extra" queryCommandState("justifycenter") before 
+FAIL [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<p>[foo]<p align=center>bar<p>extra" queryCommandValue("justifycenter") before assert_equals: Wrong result returned expected "left" but got "false"
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<p>[foo]<p align=center>bar<p>extra" queryCommandIndeterm("justifycenter") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<p>[foo]<p align=center>bar<p>extra" queryCommandState("justifycenter") after 
+FAIL [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<p>[foo]<p align=center>bar<p>extra" queryCommandValue("justifycenter") after assert_equals: Wrong result returned expected "center" but got "true"
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<p>[foo]<p align=center>bar<p>extra": execCommand("stylewithcss", false, "true") return value 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<p>[foo]<p align=center>bar<p>extra": execCommand("defaultparagraphseparator", false, "p") return value 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<p>[foo]<p align=center>bar<p>extra": execCommand("justifycenter", false, "") return value 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<p>[foo]<p align=center>bar<p>extra" checks for modifications to non-editable content 
+FAIL [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<p>[foo]<p align=center>bar<p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<div style=\"text-align:center\"><p>foo</p></div><p align=\"center\">bar</p><p>extra</p>" but got "<p style=\"text-align:center\">foo</p><p align=\"center\">bar</p><p>extra</p>"
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<p>[foo]<p align=center>bar<p>extra" queryCommandIndeterm("stylewithcss") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<p>[foo]<p align=center>bar<p>extra" queryCommandState("stylewithcss") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<p>[foo]<p align=center>bar<p>extra" queryCommandValue("stylewithcss") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<p>[foo]<p align=center>bar<p>extra" queryCommandIndeterm("stylewithcss") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<p>[foo]<p align=center>bar<p>extra" queryCommandState("stylewithcss") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<p>[foo]<p align=center>bar<p>extra" queryCommandValue("stylewithcss") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<p>[foo]<p align=center>bar<p>extra" queryCommandIndeterm("defaultparagraphseparator") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<p>[foo]<p align=center>bar<p>extra" queryCommandState("defaultparagraphseparator") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<p>[foo]<p align=center>bar<p>extra" queryCommandValue("defaultparagraphseparator") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<p>[foo]<p align=center>bar<p>extra" queryCommandIndeterm("defaultparagraphseparator") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<p>[foo]<p align=center>bar<p>extra" queryCommandState("defaultparagraphseparator") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<p>[foo]<p align=center>bar<p>extra" queryCommandValue("defaultparagraphseparator") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<p>[foo]<p align=center>bar<p>extra" queryCommandIndeterm("justifycenter") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<p>[foo]<p align=center>bar<p>extra" queryCommandState("justifycenter") before 
+FAIL [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<p>[foo]<p align=center>bar<p>extra" queryCommandValue("justifycenter") before assert_equals: Wrong result returned expected "left" but got "false"
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<p>[foo]<p align=center>bar<p>extra" queryCommandIndeterm("justifycenter") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<p>[foo]<p align=center>bar<p>extra" queryCommandState("justifycenter") after 
+FAIL [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<p>[foo]<p align=center>bar<p>extra" queryCommandValue("justifycenter") after assert_equals: Wrong result returned expected "center" but got "true"
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<p>[foo]<p align=center>bar<p>extra": execCommand("stylewithcss", false, "false") return value 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<p>[foo]<p align=center>bar<p>extra": execCommand("defaultparagraphseparator", false, "p") return value 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<p>[foo]<p align=center>bar<p>extra": execCommand("justifycenter", false, "") return value 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<p>[foo]<p align=center>bar<p>extra" checks for modifications to non-editable content 
+FAIL [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<p>[foo]<p align=center>bar<p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<div style=\"text-align:center\"><p>foo</p></div><p align=\"center\">bar</p><p>extra</p>" but got "<p style=\"text-align:center\">foo</p><p align=\"center\">bar</p><p>extra</p>"
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<p>[foo]<p align=center>bar<p>extra" queryCommandIndeterm("stylewithcss") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<p>[foo]<p align=center>bar<p>extra" queryCommandState("stylewithcss") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<p>[foo]<p align=center>bar<p>extra" queryCommandValue("stylewithcss") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<p>[foo]<p align=center>bar<p>extra" queryCommandIndeterm("stylewithcss") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<p>[foo]<p align=center>bar<p>extra" queryCommandState("stylewithcss") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<p>[foo]<p align=center>bar<p>extra" queryCommandValue("stylewithcss") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<p>[foo]<p align=center>bar<p>extra" queryCommandIndeterm("defaultparagraphseparator") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<p>[foo]<p align=center>bar<p>extra" queryCommandState("defaultparagraphseparator") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<p>[foo]<p align=center>bar<p>extra" queryCommandValue("defaultparagraphseparator") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<p>[foo]<p align=center>bar<p>extra" queryCommandIndeterm("defaultparagraphseparator") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<p>[foo]<p align=center>bar<p>extra" queryCommandState("defaultparagraphseparator") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<p>[foo]<p align=center>bar<p>extra" queryCommandValue("defaultparagraphseparator") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<p>[foo]<p align=center>bar<p>extra" queryCommandIndeterm("justifycenter") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<p>[foo]<p align=center>bar<p>extra" queryCommandState("justifycenter") before 
+FAIL [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<p>[foo]<p align=center>bar<p>extra" queryCommandValue("justifycenter") before assert_equals: Wrong result returned expected "left" but got "false"
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<p>[foo]<p align=center>bar<p>extra" queryCommandIndeterm("justifycenter") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<p>[foo]<p align=center>bar<p>extra" queryCommandState("justifycenter") after 
+FAIL [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<p>[foo]<p align=center>bar<p>extra" queryCommandValue("justifycenter") after assert_equals: Wrong result returned expected "center" but got "true"
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<p align=center>foo<p>[bar]<p align=center>baz<p>extra": execCommand("stylewithcss", false, "true") return value 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<p align=center>foo<p>[bar]<p align=center>baz<p>extra": execCommand("defaultparagraphseparator", false, "div") return value 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<p align=center>foo<p>[bar]<p align=center>baz<p>extra": execCommand("justifycenter", false, "") return value 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<p align=center>foo<p>[bar]<p align=center>baz<p>extra" checks for modifications to non-editable content 
+FAIL [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<p align=center>foo<p>[bar]<p align=center>baz<p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<p align=\"center\">foo</p><div style=\"text-align:center\"><p>bar</p></div><p align=\"center\">baz</p><p>extra</p>" but got "<p align=\"center\">foo</p><p style=\"text-align:center\">bar</p><p align=\"center\">baz</p><p>extra</p>"
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<p align=center>foo<p>[bar]<p align=center>baz<p>extra" queryCommandIndeterm("stylewithcss") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<p align=center>foo<p>[bar]<p align=center>baz<p>extra" queryCommandState("stylewithcss") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<p align=center>foo<p>[bar]<p align=center>baz<p>extra" queryCommandValue("stylewithcss") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<p align=center>foo<p>[bar]<p align=center>baz<p>extra" queryCommandIndeterm("stylewithcss") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<p align=center>foo<p>[bar]<p align=center>baz<p>extra" queryCommandState("stylewithcss") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<p align=center>foo<p>[bar]<p align=center>baz<p>extra" queryCommandValue("stylewithcss") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<p align=center>foo<p>[bar]<p align=center>baz<p>extra" queryCommandIndeterm("defaultparagraphseparator") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<p align=center>foo<p>[bar]<p align=center>baz<p>extra" queryCommandState("defaultparagraphseparator") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<p align=center>foo<p>[bar]<p align=center>baz<p>extra" queryCommandValue("defaultparagraphseparator") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<p align=center>foo<p>[bar]<p align=center>baz<p>extra" queryCommandIndeterm("defaultparagraphseparator") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<p align=center>foo<p>[bar]<p align=center>baz<p>extra" queryCommandState("defaultparagraphseparator") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<p align=center>foo<p>[bar]<p align=center>baz<p>extra" queryCommandValue("defaultparagraphseparator") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<p align=center>foo<p>[bar]<p align=center>baz<p>extra" queryCommandIndeterm("justifycenter") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<p align=center>foo<p>[bar]<p align=center>baz<p>extra" queryCommandState("justifycenter") before 
+FAIL [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<p align=center>foo<p>[bar]<p align=center>baz<p>extra" queryCommandValue("justifycenter") before assert_equals: Wrong result returned expected "left" but got "false"
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<p align=center>foo<p>[bar]<p align=center>baz<p>extra" queryCommandIndeterm("justifycenter") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<p align=center>foo<p>[bar]<p align=center>baz<p>extra" queryCommandState("justifycenter") after 
+FAIL [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<p align=center>foo<p>[bar]<p align=center>baz<p>extra" queryCommandValue("justifycenter") after assert_equals: Wrong result returned expected "center" but got "true"
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<p align=center>foo<p>[bar]<p align=center>baz<p>extra": execCommand("stylewithcss", false, "false") return value 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<p align=center>foo<p>[bar]<p align=center>baz<p>extra": execCommand("defaultparagraphseparator", false, "div") return value 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<p align=center>foo<p>[bar]<p align=center>baz<p>extra": execCommand("justifycenter", false, "") return value 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<p align=center>foo<p>[bar]<p align=center>baz<p>extra" checks for modifications to non-editable content 
+FAIL [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<p align=center>foo<p>[bar]<p align=center>baz<p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<p align=\"center\">foo</p><div style=\"text-align:center\"><p>bar</p></div><p align=\"center\">baz</p><p>extra</p>" but got "<p align=\"center\">foo</p><p style=\"text-align:center\">bar</p><p align=\"center\">baz</p><p>extra</p>"
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<p align=center>foo<p>[bar]<p align=center>baz<p>extra" queryCommandIndeterm("stylewithcss") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<p align=center>foo<p>[bar]<p align=center>baz<p>extra" queryCommandState("stylewithcss") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<p align=center>foo<p>[bar]<p align=center>baz<p>extra" queryCommandValue("stylewithcss") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<p align=center>foo<p>[bar]<p align=center>baz<p>extra" queryCommandIndeterm("stylewithcss") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<p align=center>foo<p>[bar]<p align=center>baz<p>extra" queryCommandState("stylewithcss") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<p align=center>foo<p>[bar]<p align=center>baz<p>extra" queryCommandValue("stylewithcss") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<p align=center>foo<p>[bar]<p align=center>baz<p>extra" queryCommandIndeterm("defaultparagraphseparator") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<p align=center>foo<p>[bar]<p align=center>baz<p>extra" queryCommandState("defaultparagraphseparator") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<p align=center>foo<p>[bar]<p align=center>baz<p>extra" queryCommandValue("defaultparagraphseparator") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<p align=center>foo<p>[bar]<p align=center>baz<p>extra" queryCommandIndeterm("defaultparagraphseparator") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<p align=center>foo<p>[bar]<p align=center>baz<p>extra" queryCommandState("defaultparagraphseparator") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<p align=center>foo<p>[bar]<p align=center>baz<p>extra" queryCommandValue("defaultparagraphseparator") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<p align=center>foo<p>[bar]<p align=center>baz<p>extra" queryCommandIndeterm("justifycenter") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<p align=center>foo<p>[bar]<p align=center>baz<p>extra" queryCommandState("justifycenter") before 
+FAIL [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<p align=center>foo<p>[bar]<p align=center>baz<p>extra" queryCommandValue("justifycenter") before assert_equals: Wrong result returned expected "left" but got "false"
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<p align=center>foo<p>[bar]<p align=center>baz<p>extra" queryCommandIndeterm("justifycenter") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<p align=center>foo<p>[bar]<p align=center>baz<p>extra" queryCommandState("justifycenter") after 
+FAIL [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<p align=center>foo<p>[bar]<p align=center>baz<p>extra" queryCommandValue("justifycenter") after assert_equals: Wrong result returned expected "center" but got "true"
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<p align=center>foo<p>[bar]<p align=center>baz<p>extra": execCommand("stylewithcss", false, "true") return value 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<p align=center>foo<p>[bar]<p align=center>baz<p>extra": execCommand("defaultparagraphseparator", false, "p") return value 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<p align=center>foo<p>[bar]<p align=center>baz<p>extra": execCommand("justifycenter", false, "") return value 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<p align=center>foo<p>[bar]<p align=center>baz<p>extra" checks for modifications to non-editable content 
+FAIL [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<p align=center>foo<p>[bar]<p align=center>baz<p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<p align=\"center\">foo</p><div style=\"text-align:center\"><p>bar</p></div><p align=\"center\">baz</p><p>extra</p>" but got "<p align=\"center\">foo</p><p style=\"text-align:center\">bar</p><p align=\"center\">baz</p><p>extra</p>"
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<p align=center>foo<p>[bar]<p align=center>baz<p>extra" queryCommandIndeterm("stylewithcss") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<p align=center>foo<p>[bar]<p align=center>baz<p>extra" queryCommandState("stylewithcss") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<p align=center>foo<p>[bar]<p align=center>baz<p>extra" queryCommandValue("stylewithcss") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<p align=center>foo<p>[bar]<p align=center>baz<p>extra" queryCommandIndeterm("stylewithcss") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<p align=center>foo<p>[bar]<p align=center>baz<p>extra" queryCommandState("stylewithcss") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<p align=center>foo<p>[bar]<p align=center>baz<p>extra" queryCommandValue("stylewithcss") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<p align=center>foo<p>[bar]<p align=center>baz<p>extra" queryCommandIndeterm("defaultparagraphseparator") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<p align=center>foo<p>[bar]<p align=center>baz<p>extra" queryCommandState("defaultparagraphseparator") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<p align=center>foo<p>[bar]<p align=center>baz<p>extra" queryCommandValue("defaultparagraphseparator") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<p align=center>foo<p>[bar]<p align=center>baz<p>extra" queryCommandIndeterm("defaultparagraphseparator") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<p align=center>foo<p>[bar]<p align=center>baz<p>extra" queryCommandState("defaultparagraphseparator") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<p align=center>foo<p>[bar]<p align=center>baz<p>extra" queryCommandValue("defaultparagraphseparator") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<p align=center>foo<p>[bar]<p align=center>baz<p>extra" queryCommandIndeterm("justifycenter") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<p align=center>foo<p>[bar]<p align=center>baz<p>extra" queryCommandState("justifycenter") before 
+FAIL [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<p align=center>foo<p>[bar]<p align=center>baz<p>extra" queryCommandValue("justifycenter") before assert_equals: Wrong result returned expected "left" but got "false"
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<p align=center>foo<p>[bar]<p align=center>baz<p>extra" queryCommandIndeterm("justifycenter") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<p align=center>foo<p>[bar]<p align=center>baz<p>extra" queryCommandState("justifycenter") after 
+FAIL [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<p align=center>foo<p>[bar]<p align=center>baz<p>extra" queryCommandValue("justifycenter") after assert_equals: Wrong result returned expected "center" but got "true"
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<p align=center>foo<p>[bar]<p align=center>baz<p>extra": execCommand("stylewithcss", false, "false") return value 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<p align=center>foo<p>[bar]<p align=center>baz<p>extra": execCommand("defaultparagraphseparator", false, "p") return value 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<p align=center>foo<p>[bar]<p align=center>baz<p>extra": execCommand("justifycenter", false, "") return value 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<p align=center>foo<p>[bar]<p align=center>baz<p>extra" checks for modifications to non-editable content 
+FAIL [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<p align=center>foo<p>[bar]<p align=center>baz<p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<p align=\"center\">foo</p><div style=\"text-align:center\"><p>bar</p></div><p align=\"center\">baz</p><p>extra</p>" but got "<p align=\"center\">foo</p><p style=\"text-align:center\">bar</p><p align=\"center\">baz</p><p>extra</p>"
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<p align=center>foo<p>[bar]<p align=center>baz<p>extra" queryCommandIndeterm("stylewithcss") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<p align=center>foo<p>[bar]<p align=center>baz<p>extra" queryCommandState("stylewithcss") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<p align=center>foo<p>[bar]<p align=center>baz<p>extra" queryCommandValue("stylewithcss") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<p align=center>foo<p>[bar]<p align=center>baz<p>extra" queryCommandIndeterm("stylewithcss") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<p align=center>foo<p>[bar]<p align=center>baz<p>extra" queryCommandState("stylewithcss") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<p align=center>foo<p>[bar]<p align=center>baz<p>extra" queryCommandValue("stylewithcss") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<p align=center>foo<p>[bar]<p align=center>baz<p>extra" queryCommandIndeterm("defaultparagraphseparator") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<p align=center>foo<p>[bar]<p align=center>baz<p>extra" queryCommandState("defaultparagraphseparator") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<p align=center>foo<p>[bar]<p align=center>baz<p>extra" queryCommandValue("defaultparagraphseparator") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<p align=center>foo<p>[bar]<p align=center>baz<p>extra" queryCommandIndeterm("defaultparagraphseparator") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<p align=center>foo<p>[bar]<p align=center>baz<p>extra" queryCommandState("defaultparagraphseparator") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<p align=center>foo<p>[bar]<p align=center>baz<p>extra" queryCommandValue("defaultparagraphseparator") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<p align=center>foo<p>[bar]<p align=center>baz<p>extra" queryCommandIndeterm("justifycenter") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<p align=center>foo<p>[bar]<p align=center>baz<p>extra" queryCommandState("justifycenter") before 
+FAIL [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<p align=center>foo<p>[bar]<p align=center>baz<p>extra" queryCommandValue("justifycenter") before assert_equals: Wrong result returned expected "left" but got "false"
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<p align=center>foo<p>[bar]<p align=center>baz<p>extra" queryCommandIndeterm("justifycenter") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<p align=center>foo<p>[bar]<p align=center>baz<p>extra" queryCommandState("justifycenter") after 
+FAIL [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<p align=center>foo<p>[bar]<p align=center>baz<p>extra" queryCommandValue("justifycenter") after assert_equals: Wrong result returned expected "center" but got "true"
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<center>[foo</center>bar]<p>extra": execCommand("stylewithcss", false, "true") return value 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<center>[foo</center>bar]<p>extra": execCommand("defaultparagraphseparator", false, "div") return value 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<center>[foo</center>bar]<p>extra": execCommand("justifycenter", false, "") return value 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<center>[foo</center>bar]<p>extra" checks for modifications to non-editable content 
+FAIL [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<center>[foo</center>bar]<p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<div style=\"text-align:center\">foo<br>bar</div><p>extra</p>" but got "<center>foo</center><div style=\"text-align:center\">bar</div><p>extra</p>"
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<center>[foo</center>bar]<p>extra" queryCommandIndeterm("stylewithcss") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<center>[foo</center>bar]<p>extra" queryCommandState("stylewithcss") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<center>[foo</center>bar]<p>extra" queryCommandValue("stylewithcss") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<center>[foo</center>bar]<p>extra" queryCommandIndeterm("stylewithcss") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<center>[foo</center>bar]<p>extra" queryCommandState("stylewithcss") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<center>[foo</center>bar]<p>extra" queryCommandValue("stylewithcss") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<center>[foo</center>bar]<p>extra" queryCommandIndeterm("defaultparagraphseparator") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<center>[foo</center>bar]<p>extra" queryCommandState("defaultparagraphseparator") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<center>[foo</center>bar]<p>extra" queryCommandValue("defaultparagraphseparator") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<center>[foo</center>bar]<p>extra" queryCommandIndeterm("defaultparagraphseparator") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<center>[foo</center>bar]<p>extra" queryCommandState("defaultparagraphseparator") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<center>[foo</center>bar]<p>extra" queryCommandValue("defaultparagraphseparator") after 
+FAIL [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<center>[foo</center>bar]<p>extra" queryCommandIndeterm("justifycenter") before assert_equals: Wrong result returned expected true but got false
+FAIL [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<center>[foo</center>bar]<p>extra" queryCommandState("justifycenter") before assert_equals: Wrong result returned expected false but got true
+FAIL [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<center>[foo</center>bar]<p>extra" queryCommandValue("justifycenter") before assert_equals: Wrong result returned expected "center" but got "true"
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<center>[foo</center>bar]<p>extra" queryCommandIndeterm("justifycenter") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<center>[foo</center>bar]<p>extra" queryCommandState("justifycenter") after 
+FAIL [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<center>[foo</center>bar]<p>extra" queryCommandValue("justifycenter") after assert_equals: Wrong result returned expected "center" but got "true"
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<center>[foo</center>bar]<p>extra": execCommand("stylewithcss", false, "false") return value 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<center>[foo</center>bar]<p>extra": execCommand("defaultparagraphseparator", false, "div") return value 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<center>[foo</center>bar]<p>extra": execCommand("justifycenter", false, "") return value 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<center>[foo</center>bar]<p>extra" checks for modifications to non-editable content 
+FAIL [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<center>[foo</center>bar]<p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<div style=\"text-align:center\">foo<br>bar</div><p>extra</p>" but got "<center>foo</center><div style=\"text-align:center\">bar</div><p>extra</p>"
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<center>[foo</center>bar]<p>extra" queryCommandIndeterm("stylewithcss") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<center>[foo</center>bar]<p>extra" queryCommandState("stylewithcss") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<center>[foo</center>bar]<p>extra" queryCommandValue("stylewithcss") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<center>[foo</center>bar]<p>extra" queryCommandIndeterm("stylewithcss") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<center>[foo</center>bar]<p>extra" queryCommandState("stylewithcss") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<center>[foo</center>bar]<p>extra" queryCommandValue("stylewithcss") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<center>[foo</center>bar]<p>extra" queryCommandIndeterm("defaultparagraphseparator") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<center>[foo</center>bar]<p>extra" queryCommandState("defaultparagraphseparator") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<center>[foo</center>bar]<p>extra" queryCommandValue("defaultparagraphseparator") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<center>[foo</center>bar]<p>extra" queryCommandIndeterm("defaultparagraphseparator") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<center>[foo</center>bar]<p>extra" queryCommandState("defaultparagraphseparator") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<center>[foo</center>bar]<p>extra" queryCommandValue("defaultparagraphseparator") after 
+FAIL [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<center>[foo</center>bar]<p>extra" queryCommandIndeterm("justifycenter") before assert_equals: Wrong result returned expected true but got false
+FAIL [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<center>[foo</center>bar]<p>extra" queryCommandState("justifycenter") before assert_equals: Wrong result returned expected false but got true
+FAIL [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<center>[foo</center>bar]<p>extra" queryCommandValue("justifycenter") before assert_equals: Wrong result returned expected "center" but got "true"
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<center>[foo</center>bar]<p>extra" queryCommandIndeterm("justifycenter") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<center>[foo</center>bar]<p>extra" queryCommandState("justifycenter") after 
+FAIL [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<center>[foo</center>bar]<p>extra" queryCommandValue("justifycenter") after assert_equals: Wrong result returned expected "center" but got "true"
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<center>[foo</center>bar]<p>extra": execCommand("stylewithcss", false, "true") return value 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<center>[foo</center>bar]<p>extra": execCommand("defaultparagraphseparator", false, "p") return value 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<center>[foo</center>bar]<p>extra": execCommand("justifycenter", false, "") return value 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<center>[foo</center>bar]<p>extra" checks for modifications to non-editable content 
+FAIL [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<center>[foo</center>bar]<p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<div style=\"text-align:center\">foo<br>bar</div><p>extra</p>" but got "<center>foo</center><p style=\"text-align:center\">bar</p><p>extra</p>"
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<center>[foo</center>bar]<p>extra" queryCommandIndeterm("stylewithcss") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<center>[foo</center>bar]<p>extra" queryCommandState("stylewithcss") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<center>[foo</center>bar]<p>extra" queryCommandValue("stylewithcss") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<center>[foo</center>bar]<p>extra" queryCommandIndeterm("stylewithcss") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<center>[foo</center>bar]<p>extra" queryCommandState("stylewithcss") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<center>[foo</center>bar]<p>extra" queryCommandValue("stylewithcss") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<center>[foo</center>bar]<p>extra" queryCommandIndeterm("defaultparagraphseparator") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<center>[foo</center>bar]<p>extra" queryCommandState("defaultparagraphseparator") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<center>[foo</center>bar]<p>extra" queryCommandValue("defaultparagraphseparator") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<center>[foo</center>bar]<p>extra" queryCommandIndeterm("defaultparagraphseparator") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<center>[foo</center>bar]<p>extra" queryCommandState("defaultparagraphseparator") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<center>[foo</center>bar]<p>extra" queryCommandValue("defaultparagraphseparator") after 
+FAIL [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<center>[foo</center>bar]<p>extra" queryCommandIndeterm("justifycenter") before assert_equals: Wrong result returned expected true but got false
+FAIL [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<center>[foo</center>bar]<p>extra" queryCommandState("justifycenter") before assert_equals: Wrong result returned expected false but got true
+FAIL [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<center>[foo</center>bar]<p>extra" queryCommandValue("justifycenter") before assert_equals: Wrong result returned expected "center" but got "true"
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<center>[foo</center>bar]<p>extra" queryCommandIndeterm("justifycenter") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<center>[foo</center>bar]<p>extra" queryCommandState("justifycenter") after 
+FAIL [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<center>[foo</center>bar]<p>extra" queryCommandValue("justifycenter") after assert_equals: Wrong result returned expected "center" but got "true"
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<center>[foo</center>bar]<p>extra": execCommand("stylewithcss", false, "false") return value 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<center>[foo</center>bar]<p>extra": execCommand("defaultparagraphseparator", false, "p") return value 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<center>[foo</center>bar]<p>extra": execCommand("justifycenter", false, "") return value 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<center>[foo</center>bar]<p>extra" checks for modifications to non-editable content 
+FAIL [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<center>[foo</center>bar]<p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<div style=\"text-align:center\">foo<br>bar</div><p>extra</p>" but got "<center>foo</center><p style=\"text-align:center\">bar</p><p>extra</p>"
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<center>[foo</center>bar]<p>extra" queryCommandIndeterm("stylewithcss") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<center>[foo</center>bar]<p>extra" queryCommandState("stylewithcss") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<center>[foo</center>bar]<p>extra" queryCommandValue("stylewithcss") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<center>[foo</center>bar]<p>extra" queryCommandIndeterm("stylewithcss") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<center>[foo</center>bar]<p>extra" queryCommandState("stylewithcss") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<center>[foo</center>bar]<p>extra" queryCommandValue("stylewithcss") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<center>[foo</center>bar]<p>extra" queryCommandIndeterm("defaultparagraphseparator") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<center>[foo</center>bar]<p>extra" queryCommandState("defaultparagraphseparator") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<center>[foo</center>bar]<p>extra" queryCommandValue("defaultparagraphseparator") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<center>[foo</center>bar]<p>extra" queryCommandIndeterm("defaultparagraphseparator") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<center>[foo</center>bar]<p>extra" queryCommandState("defaultparagraphseparator") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<center>[foo</center>bar]<p>extra" queryCommandValue("defaultparagraphseparator") after 
+FAIL [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<center>[foo</center>bar]<p>extra" queryCommandIndeterm("justifycenter") before assert_equals: Wrong result returned expected true but got false
+FAIL [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<center>[foo</center>bar]<p>extra" queryCommandState("justifycenter") before assert_equals: Wrong result returned expected false but got true
+FAIL [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<center>[foo</center>bar]<p>extra" queryCommandValue("justifycenter") before assert_equals: Wrong result returned expected "center" but got "true"
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<center>[foo</center>bar]<p>extra" queryCommandIndeterm("justifycenter") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<center>[foo</center>bar]<p>extra" queryCommandState("justifycenter") after 
+FAIL [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<center>[foo</center>bar]<p>extra" queryCommandValue("justifycenter") after assert_equals: Wrong result returned expected "center" but got "true"
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<center>fo[o</center>b]ar<p>extra": execCommand("stylewithcss", false, "true") return value 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<center>fo[o</center>b]ar<p>extra": execCommand("defaultparagraphseparator", false, "div") return value 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<center>fo[o</center>b]ar<p>extra": execCommand("justifycenter", false, "") return value 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<center>fo[o</center>b]ar<p>extra" checks for modifications to non-editable content 
+FAIL [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<center>fo[o</center>b]ar<p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<div style=\"text-align:center\">foo<br>bar</div><p>extra</p>" but got "<center>foo</center><div style=\"text-align:center\">bar</div><p>extra</p>"
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<center>fo[o</center>b]ar<p>extra" queryCommandIndeterm("stylewithcss") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<center>fo[o</center>b]ar<p>extra" queryCommandState("stylewithcss") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<center>fo[o</center>b]ar<p>extra" queryCommandValue("stylewithcss") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<center>fo[o</center>b]ar<p>extra" queryCommandIndeterm("stylewithcss") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<center>fo[o</center>b]ar<p>extra" queryCommandState("stylewithcss") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<center>fo[o</center>b]ar<p>extra" queryCommandValue("stylewithcss") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<center>fo[o</center>b]ar<p>extra" queryCommandIndeterm("defaultparagraphseparator") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<center>fo[o</center>b]ar<p>extra" queryCommandState("defaultparagraphseparator") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<center>fo[o</center>b]ar<p>extra" queryCommandValue("defaultparagraphseparator") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<center>fo[o</center>b]ar<p>extra" queryCommandIndeterm("defaultparagraphseparator") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<center>fo[o</center>b]ar<p>extra" queryCommandState("defaultparagraphseparator") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<center>fo[o</center>b]ar<p>extra" queryCommandValue("defaultparagraphseparator") after 
+FAIL [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<center>fo[o</center>b]ar<p>extra" queryCommandIndeterm("justifycenter") before assert_equals: Wrong result returned expected true but got false
+FAIL [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<center>fo[o</center>b]ar<p>extra" queryCommandState("justifycenter") before assert_equals: Wrong result returned expected false but got true
+FAIL [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<center>fo[o</center>b]ar<p>extra" queryCommandValue("justifycenter") before assert_equals: Wrong result returned expected "center" but got "true"
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<center>fo[o</center>b]ar<p>extra" queryCommandIndeterm("justifycenter") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<center>fo[o</center>b]ar<p>extra" queryCommandState("justifycenter") after 
+FAIL [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<center>fo[o</center>b]ar<p>extra" queryCommandValue("justifycenter") after assert_equals: Wrong result returned expected "center" but got "true"
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<center>fo[o</center>b]ar<p>extra": execCommand("stylewithcss", false, "false") return value 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<center>fo[o</center>b]ar<p>extra": execCommand("defaultparagraphseparator", false, "div") return value 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<center>fo[o</center>b]ar<p>extra": execCommand("justifycenter", false, "") return value 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<center>fo[o</center>b]ar<p>extra" checks for modifications to non-editable content 
+FAIL [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<center>fo[o</center>b]ar<p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<div style=\"text-align:center\">foo<br>bar</div><p>extra</p>" but got "<center>foo</center><div style=\"text-align:center\">bar</div><p>extra</p>"
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<center>fo[o</center>b]ar<p>extra" queryCommandIndeterm("stylewithcss") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<center>fo[o</center>b]ar<p>extra" queryCommandState("stylewithcss") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<center>fo[o</center>b]ar<p>extra" queryCommandValue("stylewithcss") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<center>fo[o</center>b]ar<p>extra" queryCommandIndeterm("stylewithcss") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<center>fo[o</center>b]ar<p>extra" queryCommandState("stylewithcss") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<center>fo[o</center>b]ar<p>extra" queryCommandValue("stylewithcss") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<center>fo[o</center>b]ar<p>extra" queryCommandIndeterm("defaultparagraphseparator") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<center>fo[o</center>b]ar<p>extra" queryCommandState("defaultparagraphseparator") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<center>fo[o</center>b]ar<p>extra" queryCommandValue("defaultparagraphseparator") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<center>fo[o</center>b]ar<p>extra" queryCommandIndeterm("defaultparagraphseparator") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<center>fo[o</center>b]ar<p>extra" queryCommandState("defaultparagraphseparator") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<center>fo[o</center>b]ar<p>extra" queryCommandValue("defaultparagraphseparator") after 
+FAIL [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<center>fo[o</center>b]ar<p>extra" queryCommandIndeterm("justifycenter") before assert_equals: Wrong result returned expected true but got false
+FAIL [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<center>fo[o</center>b]ar<p>extra" queryCommandState("justifycenter") before assert_equals: Wrong result returned expected false but got true
+FAIL [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<center>fo[o</center>b]ar<p>extra" queryCommandValue("justifycenter") before assert_equals: Wrong result returned expected "center" but got "true"
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<center>fo[o</center>b]ar<p>extra" queryCommandIndeterm("justifycenter") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<center>fo[o</center>b]ar<p>extra" queryCommandState("justifycenter") after 
+FAIL [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<center>fo[o</center>b]ar<p>extra" queryCommandValue("justifycenter") after assert_equals: Wrong result returned expected "center" but got "true"
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<center>fo[o</center>b]ar<p>extra": execCommand("stylewithcss", false, "true") return value 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<center>fo[o</center>b]ar<p>extra": execCommand("defaultparagraphseparator", false, "p") return value 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<center>fo[o</center>b]ar<p>extra": execCommand("justifycenter", false, "") return value 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<center>fo[o</center>b]ar<p>extra" checks for modifications to non-editable content 
+FAIL [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<center>fo[o</center>b]ar<p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<div style=\"text-align:center\">foo<br>bar</div><p>extra</p>" but got "<center>foo</center><p style=\"text-align:center\">bar</p><p>extra</p>"
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<center>fo[o</center>b]ar<p>extra" queryCommandIndeterm("stylewithcss") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<center>fo[o</center>b]ar<p>extra" queryCommandState("stylewithcss") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<center>fo[o</center>b]ar<p>extra" queryCommandValue("stylewithcss") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<center>fo[o</center>b]ar<p>extra" queryCommandIndeterm("stylewithcss") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<center>fo[o</center>b]ar<p>extra" queryCommandState("stylewithcss") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<center>fo[o</center>b]ar<p>extra" queryCommandValue("stylewithcss") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<center>fo[o</center>b]ar<p>extra" queryCommandIndeterm("defaultparagraphseparator") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<center>fo[o</center>b]ar<p>extra" queryCommandState("defaultparagraphseparator") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<center>fo[o</center>b]ar<p>extra" queryCommandValue("defaultparagraphseparator") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<center>fo[o</center>b]ar<p>extra" queryCommandIndeterm("defaultparagraphseparator") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<center>fo[o</center>b]ar<p>extra" queryCommandState("defaultparagraphseparator") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<center>fo[o</center>b]ar<p>extra" queryCommandValue("defaultparagraphseparator") after 
+FAIL [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<center>fo[o</center>b]ar<p>extra" queryCommandIndeterm("justifycenter") before assert_equals: Wrong result returned expected true but got false
+FAIL [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<center>fo[o</center>b]ar<p>extra" queryCommandState("justifycenter") before assert_equals: Wrong result returned expected false but got true
+FAIL [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<center>fo[o</center>b]ar<p>extra" queryCommandValue("justifycenter") before assert_equals: Wrong result returned expected "center" but got "true"
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<center>fo[o</center>b]ar<p>extra" queryCommandIndeterm("justifycenter") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<center>fo[o</center>b]ar<p>extra" queryCommandState("justifycenter") after 
+FAIL [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<center>fo[o</center>b]ar<p>extra" queryCommandValue("justifycenter") after assert_equals: Wrong result returned expected "center" but got "true"
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<center>fo[o</center>b]ar<p>extra": execCommand("stylewithcss", false, "false") return value 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<center>fo[o</center>b]ar<p>extra": execCommand("defaultparagraphseparator", false, "p") return value 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<center>fo[o</center>b]ar<p>extra": execCommand("justifycenter", false, "") return value 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<center>fo[o</center>b]ar<p>extra" checks for modifications to non-editable content 
+FAIL [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<center>fo[o</center>b]ar<p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<div style=\"text-align:center\">foo<br>bar</div><p>extra</p>" but got "<center>foo</center><p style=\"text-align:center\">bar</p><p>extra</p>"
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<center>fo[o</center>b]ar<p>extra" queryCommandIndeterm("stylewithcss") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<center>fo[o</center>b]ar<p>extra" queryCommandState("stylewithcss") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<center>fo[o</center>b]ar<p>extra" queryCommandValue("stylewithcss") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<center>fo[o</center>b]ar<p>extra" queryCommandIndeterm("stylewithcss") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<center>fo[o</center>b]ar<p>extra" queryCommandState("stylewithcss") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<center>fo[o</center>b]ar<p>extra" queryCommandValue("stylewithcss") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<center>fo[o</center>b]ar<p>extra" queryCommandIndeterm("defaultparagraphseparator") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<center>fo[o</center>b]ar<p>extra" queryCommandState("defaultparagraphseparator") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<center>fo[o</center>b]ar<p>extra" queryCommandValue("defaultparagraphseparator") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<center>fo[o</center>b]ar<p>extra" queryCommandIndeterm("defaultparagraphseparator") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<center>fo[o</center>b]ar<p>extra" queryCommandState("defaultparagraphseparator") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<center>fo[o</center>b]ar<p>extra" queryCommandValue("defaultparagraphseparator") after 
+FAIL [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<center>fo[o</center>b]ar<p>extra" queryCommandIndeterm("justifycenter") before assert_equals: Wrong result returned expected true but got false
+FAIL [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<center>fo[o</center>b]ar<p>extra" queryCommandState("justifycenter") before assert_equals: Wrong result returned expected false but got true
+FAIL [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<center>fo[o</center>b]ar<p>extra" queryCommandValue("justifycenter") before assert_equals: Wrong result returned expected "center" but got "true"
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<center>fo[o</center>b]ar<p>extra" queryCommandIndeterm("justifycenter") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<center>fo[o</center>b]ar<p>extra" queryCommandState("justifycenter") after 
+FAIL [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<center>fo[o</center>b]ar<p>extra" queryCommandValue("justifycenter") after assert_equals: Wrong result returned expected "center" but got "true"
+PASS [["stylewithcss","true"],["justifycenter",""]] "<div align=center>[foo</div>bar]<p>extra": execCommand("stylewithcss", false, "true") return value 
+PASS [["stylewithcss","true"],["justifycenter",""]] "<div align=center>[foo</div>bar]<p>extra": execCommand("justifycenter", false, "") return value 
+PASS [["stylewithcss","true"],["justifycenter",""]] "<div align=center>[foo</div>bar]<p>extra" checks for modifications to non-editable content 
+FAIL [["stylewithcss","true"],["justifycenter",""]] "<div align=center>[foo</div>bar]<p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<div style=\"text-align:center\">foo<br>bar</div><p>extra</p>" but got "<div align=\"center\">foo</div><p style=\"text-align:center\">bar</p><p>extra</p>"
+PASS [["stylewithcss","true"],["justifycenter",""]] "<div align=center>[foo</div>bar]<p>extra" queryCommandIndeterm("stylewithcss") before 
+PASS [["stylewithcss","true"],["justifycenter",""]] "<div align=center>[foo</div>bar]<p>extra" queryCommandState("stylewithcss") before 
+PASS [["stylewithcss","true"],["justifycenter",""]] "<div align=center>[foo</div>bar]<p>extra" queryCommandValue("stylewithcss") before 
+PASS [["stylewithcss","true"],["justifycenter",""]] "<div align=center>[foo</div>bar]<p>extra" queryCommandIndeterm("stylewithcss") after 
+PASS [["stylewithcss","true"],["justifycenter",""]] "<div align=center>[foo</div>bar]<p>extra" queryCommandState("stylewithcss") after 
+PASS [["stylewithcss","true"],["justifycenter",""]] "<div align=center>[foo</div>bar]<p>extra" queryCommandValue("stylewithcss") after 
+FAIL [["stylewithcss","true"],["justifycenter",""]] "<div align=center>[foo</div>bar]<p>extra" queryCommandIndeterm("justifycenter") before assert_equals: Wrong result returned expected true but got false
+FAIL [["stylewithcss","true"],["justifycenter",""]] "<div align=center>[foo</div>bar]<p>extra" queryCommandState("justifycenter") before assert_equals: Wrong result returned expected false but got true
+FAIL [["stylewithcss","true"],["justifycenter",""]] "<div align=center>[foo</div>bar]<p>extra" queryCommandValue("justifycenter") before assert_equals: Wrong result returned expected "center" but got "true"
+PASS [["stylewithcss","true"],["justifycenter",""]] "<div align=center>[foo</div>bar]<p>extra" queryCommandIndeterm("justifycenter") after 
+PASS [["stylewithcss","true"],["justifycenter",""]] "<div align=center>[foo</div>bar]<p>extra" queryCommandState("justifycenter") after 
+FAIL [["stylewithcss","true"],["justifycenter",""]] "<div align=center>[foo</div>bar]<p>extra" queryCommandValue("justifycenter") after assert_equals: Wrong result returned expected "center" but got "true"
+PASS [["stylewithcss","false"],["justifycenter",""]] "<div align=center>[foo</div>bar]<p>extra": execCommand("stylewithcss", false, "false") return value 
+PASS [["stylewithcss","false"],["justifycenter",""]] "<div align=center>[foo</div>bar]<p>extra": execCommand("justifycenter", false, "") return value 
+PASS [["stylewithcss","false"],["justifycenter",""]] "<div align=center>[foo</div>bar]<p>extra" checks for modifications to non-editable content 
+FAIL [["stylewithcss","false"],["justifycenter",""]] "<div align=center>[foo</div>bar]<p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<div style=\"text-align:center\">foo<br>bar</div><p>extra</p>" but got "<div align=\"center\">foo</div><p style=\"text-align:center\">bar</p><p>extra</p>"
+PASS [["stylewithcss","false"],["justifycenter",""]] "<div align=center>[foo</div>bar]<p>extra" queryCommandIndeterm("stylewithcss") before 
+PASS [["stylewithcss","false"],["justifycenter",""]] "<div align=center>[foo</div>bar]<p>extra" queryCommandState("stylewithcss") before 
+PASS [["stylewithcss","false"],["justifycenter",""]] "<div align=center>[foo</div>bar]<p>extra" queryCommandValue("stylewithcss") before 
+PASS [["stylewithcss","false"],["justifycenter",""]] "<div align=center>[foo</div>bar]<p>extra" queryCommandIndeterm("stylewithcss") after 
+PASS [["stylewithcss","false"],["justifycenter",""]] "<div align=center>[foo</div>bar]<p>extra" queryCommandState("stylewithcss") after 
+PASS [["stylewithcss","false"],["justifycenter",""]] "<div align=center>[foo</div>bar]<p>extra" queryCommandValue("stylewithcss") after 
+FAIL [["stylewithcss","false"],["justifycenter",""]] "<div align=center>[foo</div>bar]<p>extra" queryCommandIndeterm("justifycenter") before assert_equals: Wrong result returned expected true but got false
+FAIL [["stylewithcss","false"],["justifycenter",""]] "<div align=center>[foo</div>bar]<p>extra" queryCommandState("justifycenter") before assert_equals: Wrong result returned expected false but got true
+FAIL [["stylewithcss","false"],["justifycenter",""]] "<div align=center>[foo</div>bar]<p>extra" queryCommandValue("justifycenter") before assert_equals: Wrong result returned expected "center" but got "true"
+PASS [["stylewithcss","false"],["justifycenter",""]] "<div align=center>[foo</div>bar]<p>extra" queryCommandIndeterm("justifycenter") after 
+PASS [["stylewithcss","false"],["justifycenter",""]] "<div align=center>[foo</div>bar]<p>extra" queryCommandState("justifycenter") after 
+FAIL [["stylewithcss","false"],["justifycenter",""]] "<div align=center>[foo</div>bar]<p>extra" queryCommandValue("justifycenter") after assert_equals: Wrong result returned expected "center" but got "true"
+PASS [["stylewithcss","true"],["justifycenter",""]] "<div align=center>fo[o</div>b]ar<p>extra": execCommand("stylewithcss", false, "true") return value 
+PASS [["stylewithcss","true"],["justifycenter",""]] "<div align=center>fo[o</div>b]ar<p>extra": execCommand("justifycenter", false, "") return value 
+PASS [["stylewithcss","true"],["justifycenter",""]] "<div align=center>fo[o</div>b]ar<p>extra" checks for modifications to non-editable content 
+FAIL [["stylewithcss","true"],["justifycenter",""]] "<div align=center>fo[o</div>b]ar<p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<div style=\"text-align:center\">foo<br>bar</div><p>extra</p>" but got "<div align=\"center\">foo</div><p style=\"text-align:center\">bar</p><p>extra</p>"
+PASS [["stylewithcss","true"],["justifycenter",""]] "<div align=center>fo[o</div>b]ar<p>extra" queryCommandIndeterm("stylewithcss") before 
+PASS [["stylewithcss","true"],["justifycenter",""]] "<div align=center>fo[o</div>b]ar<p>extra" queryCommandState("stylewithcss") before 
+PASS [["stylewithcss","true"],["justifycenter",""]] "<div align=center>fo[o</div>b]ar<p>extra" queryCommandValue("stylewithcss") before 
+PASS [["stylewithcss","true"],["justifycenter",""]] "<div align=center>fo[o</div>b]ar<p>extra" queryCommandIndeterm("stylewithcss") after 
+PASS [["stylewithcss","true"],["justifycenter",""]] "<div align=center>fo[o</div>b]ar<p>extra" queryCommandState("stylewithcss") after 
+PASS [["stylewithcss","true"],["justifycenter",""]] "<div align=center>fo[o</div>b]ar<p>extra" queryCommandValue("stylewithcss") after 
+FAIL [["stylewithcss","true"],["justifycenter",""]] "<div align=center>fo[o</div>b]ar<p>extra" queryCommandIndeterm("justifycenter") before assert_equals: Wrong result returned expected true but got false
+FAIL [["stylewithcss","true"],["justifycenter",""]] "<div align=center>fo[o</div>b]ar<p>extra" queryCommandState("justifycenter") before assert_equals: Wrong result returned expected false but got true
+FAIL [["stylewithcss","true"],["justifycenter",""]] "<div align=center>fo[o</div>b]ar<p>extra" queryCommandValue("justifycenter") before assert_equals: Wrong result returned expected "center" but got "true"
+PASS [["stylewithcss","true"],["justifycenter",""]] "<div align=center>fo[o</div>b]ar<p>extra" queryCommandIndeterm("justifycenter") after 
+PASS [["stylewithcss","true"],["justifycenter",""]] "<div align=center>fo[o</div>b]ar<p>extra" queryCommandState("justifycenter") after 
+FAIL [["stylewithcss","true"],["justifycenter",""]] "<div align=center>fo[o</div>b]ar<p>extra" queryCommandValue("justifycenter") after assert_equals: Wrong result returned expected "center" but got "true"
+PASS [["stylewithcss","false"],["justifycenter",""]] "<div align=center>fo[o</div>b]ar<p>extra": execCommand("stylewithcss", false, "false") return value 
+PASS [["stylewithcss","false"],["justifycenter",""]] "<div align=center>fo[o</div>b]ar<p>extra": execCommand("justifycenter", false, "") return value 
+PASS [["stylewithcss","false"],["justifycenter",""]] "<div align=center>fo[o</div>b]ar<p>extra" checks for modifications to non-editable content 
+FAIL [["stylewithcss","false"],["justifycenter",""]] "<div align=center>fo[o</div>b]ar<p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<div style=\"text-align:center\">foo<br>bar</div><p>extra</p>" but got "<div align=\"center\">foo</div><p style=\"text-align:center\">bar</p><p>extra</p>"
+PASS [["stylewithcss","false"],["justifycenter",""]] "<div align=center>fo[o</div>b]ar<p>extra" queryCommandIndeterm("stylewithcss") before 
+PASS [["stylewithcss","false"],["justifycenter",""]] "<div align=center>fo[o</div>b]ar<p>extra" queryCommandState("stylewithcss") before 
+PASS [["stylewithcss","false"],["justifycenter",""]] "<div align=center>fo[o</div>b]ar<p>extra" queryCommandValue("stylewithcss") before 
+PASS [["stylewithcss","false"],["justifycenter",""]] "<div align=center>fo[o</div>b]ar<p>extra" queryCommandIndeterm("stylewithcss") after 
+PASS [["stylewithcss","false"],["justifycenter",""]] "<div align=center>fo[o</div>b]ar<p>extra" queryCommandState("stylewithcss") after 
+PASS [["stylewithcss","false"],["justifycenter",""]] "<div align=center>fo[o</div>b]ar<p>extra" queryCommandValue("stylewithcss") after 
+FAIL [["stylewithcss","false"],["justifycenter",""]] "<div align=center>fo[o</div>b]ar<p>extra" queryCommandIndeterm("justifycenter") before assert_equals: Wrong result returned expected true but got false
+FAIL [["stylewithcss","false"],["justifycenter",""]] "<div align=center>fo[o</div>b]ar<p>extra" queryCommandState("justifycenter") before assert_equals: Wrong result returned expected false but got true
+FAIL [["stylewithcss","false"],["justifycenter",""]] "<div align=center>fo[o</div>b]ar<p>extra" queryCommandValue("justifycenter") before assert_equals: Wrong result returned expected "center" but got "true"
+PASS [["stylewithcss","false"],["justifycenter",""]] "<div align=center>fo[o</div>b]ar<p>extra" queryCommandIndeterm("justifycenter") after 
+PASS [["stylewithcss","false"],["justifycenter",""]] "<div align=center>fo[o</div>b]ar<p>extra" queryCommandState("justifycenter") after 
+FAIL [["stylewithcss","false"],["justifycenter",""]] "<div align=center>fo[o</div>b]ar<p>extra" queryCommandValue("justifycenter") after assert_equals: Wrong result returned expected "center" but got "true"
+PASS [["justifycenter",""]] "<div style=text-align:center>[foo</div>bar]<p>extra": execCommand("justifycenter", false, "") return value 
+PASS [["justifycenter",""]] "<div style=text-align:center>[foo</div>bar]<p>extra" checks for modifications to non-editable content 
+FAIL [["justifycenter",""]] "<div style=text-align:center>[foo</div>bar]<p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<div style=\"text-align:center\">foo<br>bar</div><p>extra</p>" but got "<div style=\"text-align:center\">foo</div><p style=\"text-align:center\">bar</p><p>extra</p>"
+FAIL [["justifycenter",""]] "<div style=text-align:center>[foo</div>bar]<p>extra" queryCommandIndeterm("justifycenter") before assert_equals: Wrong result returned expected true but got false
+FAIL [["justifycenter",""]] "<div style=text-align:center>[foo</div>bar]<p>extra" queryCommandState("justifycenter") before assert_equals: Wrong result returned expected false but got true
+FAIL [["justifycenter",""]] "<div style=text-align:center>[foo</div>bar]<p>extra" queryCommandValue("justifycenter") before assert_equals: Wrong result returned expected "center" but got "true"
+PASS [["justifycenter",""]] "<div style=text-align:center>[foo</div>bar]<p>extra" queryCommandIndeterm("justifycenter") after 
+PASS [["justifycenter",""]] "<div style=text-align:center>[foo</div>bar]<p>extra" queryCommandState("justifycenter") after 
+FAIL [["justifycenter",""]] "<div style=text-align:center>[foo</div>bar]<p>extra" queryCommandValue("justifycenter") after assert_equals: Wrong result returned expected "center" but got "true"
+PASS [["justifycenter",""]] "<div style=text-align:center>fo[o</div>b]ar<p>extra": execCommand("justifycenter", false, "") return value 
+PASS [["justifycenter",""]] "<div style=text-align:center>fo[o</div>b]ar<p>extra" checks for modifications to non-editable content 
+FAIL [["justifycenter",""]] "<div style=text-align:center>fo[o</div>b]ar<p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<div style=\"text-align:center\">foo<br>bar</div><p>extra</p>" but got "<div style=\"text-align:center\">foo</div><p style=\"text-align:center\">bar</p><p>extra</p>"
+FAIL [["justifycenter",""]] "<div style=text-align:center>fo[o</div>b]ar<p>extra" queryCommandIndeterm("justifycenter") before assert_equals: Wrong result returned expected true but got false
+FAIL [["justifycenter",""]] "<div style=text-align:center>fo[o</div>b]ar<p>extra" queryCommandState("justifycenter") before assert_equals: Wrong result returned expected false but got true
+FAIL [["justifycenter",""]] "<div style=text-align:center>fo[o</div>b]ar<p>extra" queryCommandValue("justifycenter") before assert_equals: Wrong result returned expected "center" but got "true"
+PASS [["justifycenter",""]] "<div style=text-align:center>fo[o</div>b]ar<p>extra" queryCommandIndeterm("justifycenter") after 
+PASS [["justifycenter",""]] "<div style=text-align:center>fo[o</div>b]ar<p>extra" queryCommandState("justifycenter") after 
+FAIL [["justifycenter",""]] "<div style=text-align:center>fo[o</div>b]ar<p>extra" queryCommandValue("justifycenter") after assert_equals: Wrong result returned expected "center" but got "true"
+PASS [["defaultparagraphseparator","div"],["justifycenter",""]] "<span style=text-align:center>[foo]</span><p>extra": execCommand("defaultparagraphseparator", false, "div") return value 
+PASS [["defaultparagraphseparator","div"],["justifycenter",""]] "<span style=text-align:center>[foo]</span><p>extra": execCommand("justifycenter", false, "") return value 
+PASS [["defaultparagraphseparator","div"],["justifycenter",""]] "<span style=text-align:center>[foo]</span><p>extra" checks for modifications to non-editable content 
+FAIL [["defaultparagraphseparator","div"],["justifycenter",""]] "<span style=text-align:center>[foo]</span><p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<div style=\"text-align:center\">foo</div><p>extra</p>" but got "<span style=\"text-align:center\">foo</span><p>extra</p>"
+PASS [["defaultparagraphseparator","div"],["justifycenter",""]] "<span style=text-align:center>[foo]</span><p>extra" queryCommandIndeterm("defaultparagraphseparator") before 
+PASS [["defaultparagraphseparator","div"],["justifycenter",""]] "<span style=text-align:center>[foo]</span><p>extra" queryCommandState("defaultparagraphseparator") before 
+PASS [["defaultparagraphseparator","div"],["justifycenter",""]] "<span style=text-align:center>[foo]</span><p>extra" queryCommandValue("defaultparagraphseparator") before 
+PASS [["defaultparagraphseparator","div"],["justifycenter",""]] "<span style=text-align:center>[foo]</span><p>extra" queryCommandIndeterm("defaultparagraphseparator") after 
+PASS [["defaultparagraphseparator","div"],["justifycenter",""]] "<span style=text-align:center>[foo]</span><p>extra" queryCommandState("defaultparagraphseparator") after 
+PASS [["defaultparagraphseparator","div"],["justifycenter",""]] "<span style=text-align:center>[foo]</span><p>extra" queryCommandValue("defaultparagraphseparator") after 
+PASS [["defaultparagraphseparator","div"],["justifycenter",""]] "<span style=text-align:center>[foo]</span><p>extra" queryCommandIndeterm("justifycenter") before 
+FAIL [["defaultparagraphseparator","div"],["justifycenter",""]] "<span style=text-align:center>[foo]</span><p>extra" queryCommandState("justifycenter") before assert_equals: Wrong result returned expected false but got true
+FAIL [["defaultparagraphseparator","div"],["justifycenter",""]] "<span style=text-align:center>[foo]</span><p>extra" queryCommandValue("justifycenter") before assert_equals: Wrong result returned expected "left" but got "true"
+PASS [["defaultparagraphseparator","div"],["justifycenter",""]] "<span style=text-align:center>[foo]</span><p>extra" queryCommandIndeterm("justifycenter") after 
+PASS [["defaultparagraphseparator","div"],["justifycenter",""]] "<span style=text-align:center>[foo]</span><p>extra" queryCommandState("justifycenter") after 
+FAIL [["defaultparagraphseparator","div"],["justifycenter",""]] "<span style=text-align:center>[foo]</span><p>extra" queryCommandValue("justifycenter") after assert_equals: Wrong result returned expected "center" but got "true"
+PASS [["defaultparagraphseparator","p"],["justifycenter",""]] "<span style=text-align:center>[foo]</span><p>extra": execCommand("defaultparagraphseparator", false, "p") return value 
+PASS [["defaultparagraphseparator","p"],["justifycenter",""]] "<span style=text-align:center>[foo]</span><p>extra": execCommand("justifycenter", false, "") return value 
+PASS [["defaultparagraphseparator","p"],["justifycenter",""]] "<span style=text-align:center>[foo]</span><p>extra" checks for modifications to non-editable content 
+FAIL [["defaultparagraphseparator","p"],["justifycenter",""]] "<span style=text-align:center>[foo]</span><p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<div style=\"text-align:center\">foo</div><p>extra</p>" but got "<span style=\"text-align:center\">foo</span><p>extra</p>"
+PASS [["defaultparagraphseparator","p"],["justifycenter",""]] "<span style=text-align:center>[foo]</span><p>extra" queryCommandIndeterm("defaultparagraphseparator") before 
+PASS [["defaultparagraphseparator","p"],["justifycenter",""]] "<span style=text-align:center>[foo]</span><p>extra" queryCommandState("defaultparagraphseparator") before 
+PASS [["defaultparagraphseparator","p"],["justifycenter",""]] "<span style=text-align:center>[foo]</span><p>extra" queryCommandValue("defaultparagraphseparator") before 
+PASS [["defaultparagraphseparator","p"],["justifycenter",""]] "<span style=text-align:center>[foo]</span><p>extra" queryCommandIndeterm("defaultparagraphseparator") after 
+PASS [["defaultparagraphseparator","p"],["justifycenter",""]] "<span style=text-align:center>[foo]</span><p>extra" queryCommandState("defaultparagraphseparator") after 
+PASS [["defaultparagraphseparator","p"],["justifycenter",""]] "<span style=text-align:center>[foo]</span><p>extra" queryCommandValue("defaultparagraphseparator") after 
+PASS [["defaultparagraphseparator","p"],["justifycenter",""]] "<span style=text-align:center>[foo]</span><p>extra" queryCommandIndeterm("justifycenter") before 
+FAIL [["defaultparagraphseparator","p"],["justifycenter",""]] "<span style=text-align:center>[foo]</span><p>extra" queryCommandState("justifycenter") before assert_equals: Wrong result returned expected false but got true
+FAIL [["defaultparagraphseparator","p"],["justifycenter",""]] "<span style=text-align:center>[foo]</span><p>extra" queryCommandValue("justifycenter") before assert_equals: Wrong result returned expected "left" but got "true"
+PASS [["defaultparagraphseparator","p"],["justifycenter",""]] "<span style=text-align:center>[foo]</span><p>extra" queryCommandIndeterm("justifycenter") after 
+PASS [["defaultparagraphseparator","p"],["justifycenter",""]] "<span style=text-align:center>[foo]</span><p>extra" queryCommandState("justifycenter") after 
+FAIL [["defaultparagraphseparator","p"],["justifycenter",""]] "<span style=text-align:center>[foo]</span><p>extra" queryCommandValue("justifycenter") after assert_equals: Wrong result returned expected "center" but got "true"
+PASS [["defaultparagraphseparator","div"],["justifycenter",""]] "<span style=text-align:center>f[o]o</span><p>extra": execCommand("defaultparagraphseparator", false, "div") return value 
+PASS [["defaultparagraphseparator","div"],["justifycenter",""]] "<span style=text-align:center>f[o]o</span><p>extra": execCommand("justifycenter", false, "") return value 
+PASS [["defaultparagraphseparator","div"],["justifycenter",""]] "<span style=text-align:center>f[o]o</span><p>extra" checks for modifications to non-editable content 
+FAIL [["defaultparagraphseparator","div"],["justifycenter",""]] "<span style=text-align:center>f[o]o</span><p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<div style=\"text-align:center\">foo</div><p>extra</p>" but got "<span style=\"text-align:center\">foo</span><p>extra</p>"
+PASS [["defaultparagraphseparator","div"],["justifycenter",""]] "<span style=text-align:center>f[o]o</span><p>extra" queryCommandIndeterm("defaultparagraphseparator") before 
+PASS [["defaultparagraphseparator","div"],["justifycenter",""]] "<span style=text-align:center>f[o]o</span><p>extra" queryCommandState("defaultparagraphseparator") before 
+PASS [["defaultparagraphseparator","div"],["justifycenter",""]] "<span style=text-align:center>f[o]o</span><p>extra" queryCommandValue("defaultparagraphseparator") before 
+PASS [["defaultparagraphseparator","div"],["justifycenter",""]] "<span style=text-align:center>f[o]o</span><p>extra" queryCommandIndeterm("defaultparagraphseparator") after 
+PASS [["defaultparagraphseparator","div"],["justifycenter",""]] "<span style=text-align:center>f[o]o</span><p>extra" queryCommandState("defaultparagraphseparator") after 
+PASS [["defaultparagraphseparator","div"],["justifycenter",""]] "<span style=text-align:center>f[o]o</span><p>extra" queryCommandValue("defaultparagraphseparator") after 
+PASS [["defaultparagraphseparator","div"],["justifycenter",""]] "<span style=text-align:center>f[o]o</span><p>extra" queryCommandIndeterm("justifycenter") before 
+FAIL [["defaultparagraphseparator","div"],["justifycenter",""]] "<span style=text-align:center>f[o]o</span><p>extra" queryCommandState("justifycenter") before assert_equals: Wrong result returned expected false but got true
+FAIL [["defaultparagraphseparator","div"],["justifycenter",""]] "<span style=text-align:center>f[o]o</span><p>extra" queryCommandValue("justifycenter") before assert_equals: Wrong result returned expected "left" but got "true"
+PASS [["defaultparagraphseparator","div"],["justifycenter",""]] "<span style=text-align:center>f[o]o</span><p>extra" queryCommandIndeterm("justifycenter") after 
+PASS [["defaultparagraphseparator","div"],["justifycenter",""]] "<span style=text-align:center>f[o]o</span><p>extra" queryCommandState("justifycenter") after 
+FAIL [["defaultparagraphseparator","div"],["justifycenter",""]] "<span style=text-align:center>f[o]o</span><p>extra" queryCommandValue("justifycenter") after assert_equals: Wrong result returned expected "center" but got "true"
+PASS [["defaultparagraphseparator","p"],["justifycenter",""]] "<span style=text-align:center>f[o]o</span><p>extra": execCommand("defaultparagraphseparator", false, "p") return value 
+PASS [["defaultparagraphseparator","p"],["justifycenter",""]] "<span style=text-align:center>f[o]o</span><p>extra": execCommand("justifycenter", false, "") return value 
+PASS [["defaultparagraphseparator","p"],["justifycenter",""]] "<span style=text-align:center>f[o]o</span><p>extra" checks for modifications to non-editable content 
+FAIL [["defaultparagraphseparator","p"],["justifycenter",""]] "<span style=text-align:center>f[o]o</span><p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<div style=\"text-align:center\">foo</div><p>extra</p>" but got "<span style=\"text-align:center\">foo</span><p>extra</p>"
+PASS [["defaultparagraphseparator","p"],["justifycenter",""]] "<span style=text-align:center>f[o]o</span><p>extra" queryCommandIndeterm("defaultparagraphseparator") before 
+PASS [["defaultparagraphseparator","p"],["justifycenter",""]] "<span style=text-align:center>f[o]o</span><p>extra" queryCommandState("defaultparagraphseparator") before 
+PASS [["defaultparagraphseparator","p"],["justifycenter",""]] "<span style=text-align:center>f[o]o</span><p>extra" queryCommandValue("defaultparagraphseparator") before 
+PASS [["defaultparagraphseparator","p"],["justifycenter",""]] "<span style=text-align:center>f[o]o</span><p>extra" queryCommandIndeterm("defaultparagraphseparator") after 
+PASS [["defaultparagraphseparator","p"],["justifycenter",""]] "<span style=text-align:center>f[o]o</span><p>extra" queryCommandState("defaultparagraphseparator") after 
+PASS [["defaultparagraphseparator","p"],["justifycenter",""]] "<span style=text-align:center>f[o]o</span><p>extra" queryCommandValue("defaultparagraphseparator") after 
+PASS [["defaultparagraphseparator","p"],["justifycenter",""]] "<span style=text-align:center>f[o]o</span><p>extra" queryCommandIndeterm("justifycenter") before 
+FAIL [["defaultparagraphseparator","p"],["justifycenter",""]] "<span style=text-align:center>f[o]o</span><p>extra" queryCommandState("justifycenter") before assert_equals: Wrong result returned expected false but got true
+FAIL [["defaultparagraphseparator","p"],["justifycenter",""]] "<span style=text-align:center>f[o]o</span><p>extra" queryCommandValue("justifycenter") before assert_equals: Wrong result returned expected "left" but got "true"
+PASS [["defaultparagraphseparator","p"],["justifycenter",""]] "<span style=text-align:center>f[o]o</span><p>extra" queryCommandIndeterm("justifycenter") after 
+PASS [["defaultparagraphseparator","p"],["justifycenter",""]] "<span style=text-align:center>f[o]o</span><p>extra" queryCommandState("justifycenter") after 
+FAIL [["defaultparagraphseparator","p"],["justifycenter",""]] "<span style=text-align:center>f[o]o</span><p>extra" queryCommandValue("justifycenter") after assert_equals: Wrong result returned expected "center" but got "true"
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div style=text-align:center>[foo<div style=text-align:left contenteditable=false>bar</div>baz]</div><p>extra": execCommand("stylewithcss", false, "true") return value 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div style=text-align:center>[foo<div style=text-align:left contenteditable=false>bar</div>baz]</div><p>extra": execCommand("defaultparagraphseparator", false, "div") return value 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div style=text-align:center>[foo<div style=text-align:left contenteditable=false>bar</div>baz]</div><p>extra": execCommand("justifycenter", false, "") return value 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div style=text-align:center>[foo<div style=text-align:left contenteditable=false>bar</div>baz]</div><p>extra" checks for modifications to non-editable content 
+FAIL [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div style=text-align:center>[foo<div style=text-align:left contenteditable=false>bar</div>baz]</div><p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<div style=\"text-align:center\">foo</div><div style=\"text-align:left\" contenteditable=\"false\">bar</div><div style=\"text-align:center\">baz</div><p>extra</p>" but got "<div style=\"text-align:center\">foo<div style=\"text-align:center\" contenteditable=\"false\">bar</div>baz</div><p>extra</p>"
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div style=text-align:center>[foo<div style=text-align:left contenteditable=false>bar</div>baz]</div><p>extra" queryCommandIndeterm("stylewithcss") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div style=text-align:center>[foo<div style=text-align:left contenteditable=false>bar</div>baz]</div><p>extra" queryCommandState("stylewithcss") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div style=text-align:center>[foo<div style=text-align:left contenteditable=false>bar</div>baz]</div><p>extra" queryCommandValue("stylewithcss") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div style=text-align:center>[foo<div style=text-align:left contenteditable=false>bar</div>baz]</div><p>extra" queryCommandIndeterm("stylewithcss") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div style=text-align:center>[foo<div style=text-align:left contenteditable=false>bar</div>baz]</div><p>extra" queryCommandState("stylewithcss") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div style=text-align:center>[foo<div style=text-align:left contenteditable=false>bar</div>baz]</div><p>extra" queryCommandValue("stylewithcss") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div style=text-align:center>[foo<div style=text-align:left contenteditable=false>bar</div>baz]</div><p>extra" queryCommandIndeterm("defaultparagraphseparator") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div style=text-align:center>[foo<div style=text-align:left contenteditable=false>bar</div>baz]</div><p>extra" queryCommandState("defaultparagraphseparator") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div style=text-align:center>[foo<div style=text-align:left contenteditable=false>bar</div>baz]</div><p>extra" queryCommandValue("defaultparagraphseparator") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div style=text-align:center>[foo<div style=text-align:left contenteditable=false>bar</div>baz]</div><p>extra" queryCommandIndeterm("defaultparagraphseparator") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div style=text-align:center>[foo<div style=text-align:left contenteditable=false>bar</div>baz]</div><p>extra" queryCommandState("defaultparagraphseparator") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div style=text-align:center>[foo<div style=text-align:left contenteditable=false>bar</div>baz]</div><p>extra" queryCommandValue("defaultparagraphseparator") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div style=text-align:center>[foo<div style=text-align:left contenteditable=false>bar</div>baz]</div><p>extra" queryCommandIndeterm("justifycenter") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div style=text-align:center>[foo<div style=text-align:left contenteditable=false>bar</div>baz]</div><p>extra" queryCommandState("justifycenter") before 
+FAIL [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div style=text-align:center>[foo<div style=text-align:left contenteditable=false>bar</div>baz]</div><p>extra" queryCommandValue("justifycenter") before assert_equals: Wrong result returned expected "center" but got "true"
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div style=text-align:center>[foo<div style=text-align:left contenteditable=false>bar</div>baz]</div><p>extra" queryCommandIndeterm("justifycenter") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div style=text-align:center>[foo<div style=text-align:left contenteditable=false>bar</div>baz]</div><p>extra" queryCommandState("justifycenter") after 
+FAIL [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div style=text-align:center>[foo<div style=text-align:left contenteditable=false>bar</div>baz]</div><p>extra" queryCommandValue("justifycenter") after assert_equals: Wrong result returned expected "center" but got "true"
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div style=text-align:center>[foo<div style=text-align:left contenteditable=false>bar</div>baz]</div><p>extra": execCommand("stylewithcss", false, "false") return value 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div style=text-align:center>[foo<div style=text-align:left contenteditable=false>bar</div>baz]</div><p>extra": execCommand("defaultparagraphseparator", false, "div") return value 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div style=text-align:center>[foo<div style=text-align:left contenteditable=false>bar</div>baz]</div><p>extra": execCommand("justifycenter", false, "") return value 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div style=text-align:center>[foo<div style=text-align:left contenteditable=false>bar</div>baz]</div><p>extra" checks for modifications to non-editable content 
+FAIL [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div style=text-align:center>[foo<div style=text-align:left contenteditable=false>bar</div>baz]</div><p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<div style=\"text-align:center\">foo</div><div style=\"text-align:left\" contenteditable=\"false\">bar</div><div style=\"text-align:center\">baz</div><p>extra</p>" but got "<div style=\"text-align:center\">foo<div style=\"text-align:center\" contenteditable=\"false\">bar</div>baz</div><p>extra</p>"
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div style=text-align:center>[foo<div style=text-align:left contenteditable=false>bar</div>baz]</div><p>extra" queryCommandIndeterm("stylewithcss") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div style=text-align:center>[foo<div style=text-align:left contenteditable=false>bar</div>baz]</div><p>extra" queryCommandState("stylewithcss") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div style=text-align:center>[foo<div style=text-align:left contenteditable=false>bar</div>baz]</div><p>extra" queryCommandValue("stylewithcss") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div style=text-align:center>[foo<div style=text-align:left contenteditable=false>bar</div>baz]</div><p>extra" queryCommandIndeterm("stylewithcss") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div style=text-align:center>[foo<div style=text-align:left contenteditable=false>bar</div>baz]</div><p>extra" queryCommandState("stylewithcss") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div style=text-align:center>[foo<div style=text-align:left contenteditable=false>bar</div>baz]</div><p>extra" queryCommandValue("stylewithcss") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div style=text-align:center>[foo<div style=text-align:left contenteditable=false>bar</div>baz]</div><p>extra" queryCommandIndeterm("defaultparagraphseparator") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div style=text-align:center>[foo<div style=text-align:left contenteditable=false>bar</div>baz]</div><p>extra" queryCommandState("defaultparagraphseparator") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div style=text-align:center>[foo<div style=text-align:left contenteditable=false>bar</div>baz]</div><p>extra" queryCommandValue("defaultparagraphseparator") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div style=text-align:center>[foo<div style=text-align:left contenteditable=false>bar</div>baz]</div><p>extra" queryCommandIndeterm("defaultparagraphseparator") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div style=text-align:center>[foo<div style=text-align:left contenteditable=false>bar</div>baz]</div><p>extra" queryCommandState("defaultparagraphseparator") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div style=text-align:center>[foo<div style=text-align:left contenteditable=false>bar</div>baz]</div><p>extra" queryCommandValue("defaultparagraphseparator") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div style=text-align:center>[foo<div style=text-align:left contenteditable=false>bar</div>baz]</div><p>extra" queryCommandIndeterm("justifycenter") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div style=text-align:center>[foo<div style=text-align:left contenteditable=false>bar</div>baz]</div><p>extra" queryCommandState("justifycenter") before 
+FAIL [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div style=text-align:center>[foo<div style=text-align:left contenteditable=false>bar</div>baz]</div><p>extra" queryCommandValue("justifycenter") before assert_equals: Wrong result returned expected "center" but got "true"
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div style=text-align:center>[foo<div style=text-align:left contenteditable=false>bar</div>baz]</div><p>extra" queryCommandIndeterm("justifycenter") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div style=text-align:center>[foo<div style=text-align:left contenteditable=false>bar</div>baz]</div><p>extra" queryCommandState("justifycenter") after 
+FAIL [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div style=text-align:center>[foo<div style=text-align:left contenteditable=false>bar</div>baz]</div><p>extra" queryCommandValue("justifycenter") after assert_equals: Wrong result returned expected "center" but got "true"
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div style=text-align:center>[foo<div style=text-align:left contenteditable=false>bar</div>baz]</div><p>extra": execCommand("stylewithcss", false, "true") return value 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div style=text-align:center>[foo<div style=text-align:left contenteditable=false>bar</div>baz]</div><p>extra": execCommand("defaultparagraphseparator", false, "p") return value 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div style=text-align:center>[foo<div style=text-align:left contenteditable=false>bar</div>baz]</div><p>extra": execCommand("justifycenter", false, "") return value 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div style=text-align:center>[foo<div style=text-align:left contenteditable=false>bar</div>baz]</div><p>extra" checks for modifications to non-editable content 
+FAIL [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div style=text-align:center>[foo<div style=text-align:left contenteditable=false>bar</div>baz]</div><p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<div style=\"text-align:center\">foo</div><div style=\"text-align:left\" contenteditable=\"false\">bar</div><div style=\"text-align:center\">baz</div><p>extra</p>" but got "<div style=\"text-align:center\">foo<div style=\"text-align:center\" contenteditable=\"false\">bar</div>baz</div><p>extra</p>"
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div style=text-align:center>[foo<div style=text-align:left contenteditable=false>bar</div>baz]</div><p>extra" queryCommandIndeterm("stylewithcss") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div style=text-align:center>[foo<div style=text-align:left contenteditable=false>bar</div>baz]</div><p>extra" queryCommandState("stylewithcss") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div style=text-align:center>[foo<div style=text-align:left contenteditable=false>bar</div>baz]</div><p>extra" queryCommandValue("stylewithcss") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div style=text-align:center>[foo<div style=text-align:left contenteditable=false>bar</div>baz]</div><p>extra" queryCommandIndeterm("stylewithcss") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div style=text-align:center>[foo<div style=text-align:left contenteditable=false>bar</div>baz]</div><p>extra" queryCommandState("stylewithcss") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div style=text-align:center>[foo<div style=text-align:left contenteditable=false>bar</div>baz]</div><p>extra" queryCommandValue("stylewithcss") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div style=text-align:center>[foo<div style=text-align:left contenteditable=false>bar</div>baz]</div><p>extra" queryCommandIndeterm("defaultparagraphseparator") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div style=text-align:center>[foo<div style=text-align:left contenteditable=false>bar</div>baz]</div><p>extra" queryCommandState("defaultparagraphseparator") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div style=text-align:center>[foo<div style=text-align:left contenteditable=false>bar</div>baz]</div><p>extra" queryCommandValue("defaultparagraphseparator") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div style=text-align:center>[foo<div style=text-align:left contenteditable=false>bar</div>baz]</div><p>extra" queryCommandIndeterm("defaultparagraphseparator") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div style=text-align:center>[foo<div style=text-align:left contenteditable=false>bar</div>baz]</div><p>extra" queryCommandState("defaultparagraphseparator") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div style=text-align:center>[foo<div style=text-align:left contenteditable=false>bar</div>baz]</div><p>extra" queryCommandValue("defaultparagraphseparator") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div style=text-align:center>[foo<div style=text-align:left contenteditable=false>bar</div>baz]</div><p>extra" queryCommandIndeterm("justifycenter") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div style=text-align:center>[foo<div style=text-align:left contenteditable=false>bar</div>baz]</div><p>extra" queryCommandState("justifycenter") before 
+FAIL [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div style=text-align:center>[foo<div style=text-align:left contenteditable=false>bar</div>baz]</div><p>extra" queryCommandValue("justifycenter") before assert_equals: Wrong result returned expected "center" but got "true"
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div style=text-align:center>[foo<div style=text-align:left contenteditable=false>bar</div>baz]</div><p>extra" queryCommandIndeterm("justifycenter") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div style=text-align:center>[foo<div style=text-align:left contenteditable=false>bar</div>baz]</div><p>extra" queryCommandState("justifycenter") after 
+FAIL [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div style=text-align:center>[foo<div style=text-align:left contenteditable=false>bar</div>baz]</div><p>extra" queryCommandValue("justifycenter") after assert_equals: Wrong result returned expected "center" but got "true"
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div style=text-align:center>[foo<div style=text-align:left contenteditable=false>bar</div>baz]</div><p>extra": execCommand("stylewithcss", false, "false") return value 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div style=text-align:center>[foo<div style=text-align:left contenteditable=false>bar</div>baz]</div><p>extra": execCommand("defaultparagraphseparator", false, "p") return value 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div style=text-align:center>[foo<div style=text-align:left contenteditable=false>bar</div>baz]</div><p>extra": execCommand("justifycenter", false, "") return value 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div style=text-align:center>[foo<div style=text-align:left contenteditable=false>bar</div>baz]</div><p>extra" checks for modifications to non-editable content 
+FAIL [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div style=text-align:center>[foo<div style=text-align:left contenteditable=false>bar</div>baz]</div><p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<div style=\"text-align:center\">foo</div><div style=\"text-align:left\" contenteditable=\"false\">bar</div><div style=\"text-align:center\">baz</div><p>extra</p>" but got "<div style=\"text-align:center\">foo<div style=\"text-align:center\" contenteditable=\"false\">bar</div>baz</div><p>extra</p>"
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div style=text-align:center>[foo<div style=text-align:left contenteditable=false>bar</div>baz]</div><p>extra" queryCommandIndeterm("stylewithcss") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div style=text-align:center>[foo<div style=text-align:left contenteditable=false>bar</div>baz]</div><p>extra" queryCommandState("stylewithcss") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div style=text-align:center>[foo<div style=text-align:left contenteditable=false>bar</div>baz]</div><p>extra" queryCommandValue("stylewithcss") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div style=text-align:center>[foo<div style=text-align:left contenteditable=false>bar</div>baz]</div><p>extra" queryCommandIndeterm("stylewithcss") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div style=text-align:center>[foo<div style=text-align:left contenteditable=false>bar</div>baz]</div><p>extra" queryCommandState("stylewithcss") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div style=text-align:center>[foo<div style=text-align:left contenteditable=false>bar</div>baz]</div><p>extra" queryCommandValue("stylewithcss") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div style=text-align:center>[foo<div style=text-align:left contenteditable=false>bar</div>baz]</div><p>extra" queryCommandIndeterm("defaultparagraphseparator") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div style=text-align:center>[foo<div style=text-align:left contenteditable=false>bar</div>baz]</div><p>extra" queryCommandState("defaultparagraphseparator") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div style=text-align:center>[foo<div style=text-align:left contenteditable=false>bar</div>baz]</div><p>extra" queryCommandValue("defaultparagraphseparator") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div style=text-align:center>[foo<div style=text-align:left contenteditable=false>bar</div>baz]</div><p>extra" queryCommandIndeterm("defaultparagraphseparator") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div style=text-align:center>[foo<div style=text-align:left contenteditable=false>bar</div>baz]</div><p>extra" queryCommandState("defaultparagraphseparator") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div style=text-align:center>[foo<div style=text-align:left contenteditable=false>bar</div>baz]</div><p>extra" queryCommandValue("defaultparagraphseparator") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div style=text-align:center>[foo<div style=text-align:left contenteditable=false>bar</div>baz]</div><p>extra" queryCommandIndeterm("justifycenter") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div style=text-align:center>[foo<div style=text-align:left contenteditable=false>bar</div>baz]</div><p>extra" queryCommandState("justifycenter") before 
+FAIL [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div style=text-align:center>[foo<div style=text-align:left contenteditable=false>bar</div>baz]</div><p>extra" queryCommandValue("justifycenter") before assert_equals: Wrong result returned expected "center" but got "true"
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div style=text-align:center>[foo<div style=text-align:left contenteditable=false>bar</div>baz]</div><p>extra" queryCommandIndeterm("justifycenter") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div style=text-align:center>[foo<div style=text-align:left contenteditable=false>bar</div>baz]</div><p>extra" queryCommandState("justifycenter") after 
+FAIL [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div style=text-align:center>[foo<div style=text-align:left contenteditable=false>bar</div>baz]</div><p>extra" queryCommandValue("justifycenter") after assert_equals: Wrong result returned expected "center" but got "true"
+PASS [["stylewithcss","true"],["justifycenter",""]] "<div align=nonsense><p>[foo]</div><p>extra": execCommand("stylewithcss", false, "true") return value 
+PASS [["stylewithcss","true"],["justifycenter",""]] "<div align=nonsense><p>[foo]</div><p>extra": execCommand("justifycenter", false, "") return value 
+PASS [["stylewithcss","true"],["justifycenter",""]] "<div align=nonsense><p>[foo]</div><p>extra" checks for modifications to non-editable content 
+FAIL [["stylewithcss","true"],["justifycenter",""]] "<div align=nonsense><p>[foo]</div><p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<div style=\"text-align:center\"><p>foo</p></div><p>extra</p>" but got "<div align=\"nonsense\"><p style=\"text-align:center\">foo</p></div><p>extra</p>"
+PASS [["stylewithcss","true"],["justifycenter",""]] "<div align=nonsense><p>[foo]</div><p>extra" queryCommandIndeterm("stylewithcss") before 
+PASS [["stylewithcss","true"],["justifycenter",""]] "<div align=nonsense><p>[foo]</div><p>extra" queryCommandState("stylewithcss") before 
+PASS [["stylewithcss","true"],["justifycenter",""]] "<div align=nonsense><p>[foo]</div><p>extra" queryCommandValue("stylewithcss") before 
+PASS [["stylewithcss","true"],["justifycenter",""]] "<div align=nonsense><p>[foo]</div><p>extra" queryCommandIndeterm("stylewithcss") after 
+PASS [["stylewithcss","true"],["justifycenter",""]] "<div align=nonsense><p>[foo]</div><p>extra" queryCommandState("stylewithcss") after 
+PASS [["stylewithcss","true"],["justifycenter",""]] "<div align=nonsense><p>[foo]</div><p>extra" queryCommandValue("stylewithcss") after 
+PASS [["stylewithcss","true"],["justifycenter",""]] "<div align=nonsense><p>[foo]</div><p>extra" queryCommandIndeterm("justifycenter") before 
+PASS [["stylewithcss","true"],["justifycenter",""]] "<div align=nonsense><p>[foo]</div><p>extra" queryCommandState("justifycenter") before 
+FAIL [["stylewithcss","true"],["justifycenter",""]] "<div align=nonsense><p>[foo]</div><p>extra" queryCommandValue("justifycenter") before assert_equals: Wrong result returned expected "left" but got "false"
+PASS [["stylewithcss","true"],["justifycenter",""]] "<div align=nonsense><p>[foo]</div><p>extra" queryCommandIndeterm("justifycenter") after 
+PASS [["stylewithcss","true"],["justifycenter",""]] "<div align=nonsense><p>[foo]</div><p>extra" queryCommandState("justifycenter") after 
+FAIL [["stylewithcss","true"],["justifycenter",""]] "<div align=nonsense><p>[foo]</div><p>extra" queryCommandValue("justifycenter") after assert_equals: Wrong result returned expected "center" but got "true"
+PASS [["stylewithcss","false"],["justifycenter",""]] "<div align=nonsense><p>[foo]</div><p>extra": execCommand("stylewithcss", false, "false") return value 
+PASS [["stylewithcss","false"],["justifycenter",""]] "<div align=nonsense><p>[foo]</div><p>extra": execCommand("justifycenter", false, "") return value 
+PASS [["stylewithcss","false"],["justifycenter",""]] "<div align=nonsense><p>[foo]</div><p>extra" checks for modifications to non-editable content 
+FAIL [["stylewithcss","false"],["justifycenter",""]] "<div align=nonsense><p>[foo]</div><p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<div style=\"text-align:center\"><p>foo</p></div><p>extra</p>" but got "<div align=\"nonsense\"><p style=\"text-align:center\">foo</p></div><p>extra</p>"
+PASS [["stylewithcss","false"],["justifycenter",""]] "<div align=nonsense><p>[foo]</div><p>extra" queryCommandIndeterm("stylewithcss") before 
+PASS [["stylewithcss","false"],["justifycenter",""]] "<div align=nonsense><p>[foo]</div><p>extra" queryCommandState("stylewithcss") before 
+PASS [["stylewithcss","false"],["justifycenter",""]] "<div align=nonsense><p>[foo]</div><p>extra" queryCommandValue("stylewithcss") before 
+PASS [["stylewithcss","false"],["justifycenter",""]] "<div align=nonsense><p>[foo]</div><p>extra" queryCommandIndeterm("stylewithcss") after 
+PASS [["stylewithcss","false"],["justifycenter",""]] "<div align=nonsense><p>[foo]</div><p>extra" queryCommandState("stylewithcss") after 
+PASS [["stylewithcss","false"],["justifycenter",""]] "<div align=nonsense><p>[foo]</div><p>extra" queryCommandValue("stylewithcss") after 
+PASS [["stylewithcss","false"],["justifycenter",""]] "<div align=nonsense><p>[foo]</div><p>extra" queryCommandIndeterm("justifycenter") before 
+PASS [["stylewithcss","false"],["justifycenter",""]] "<div align=nonsense><p>[foo]</div><p>extra" queryCommandState("justifycenter") before 
+FAIL [["stylewithcss","false"],["justifycenter",""]] "<div align=nonsense><p>[foo]</div><p>extra" queryCommandValue("justifycenter") before assert_equals: Wrong result returned expected "left" but got "false"
+PASS [["stylewithcss","false"],["justifycenter",""]] "<div align=nonsense><p>[foo]</div><p>extra" queryCommandIndeterm("justifycenter") after 
+PASS [["stylewithcss","false"],["justifycenter",""]] "<div align=nonsense><p>[foo]</div><p>extra" queryCommandState("justifycenter") after 
+FAIL [["stylewithcss","false"],["justifycenter",""]] "<div align=nonsense><p>[foo]</div><p>extra" queryCommandValue("justifycenter") after assert_equals: Wrong result returned expected "center" but got "true"
+PASS [["justifycenter",""]] "<div style=text-align:inherit><p>[foo]</div><p>extra": execCommand("justifycenter", false, "") return value 
+PASS [["justifycenter",""]] "<div style=text-align:inherit><p>[foo]</div><p>extra" checks for modifications to non-editable content 
+FAIL [["justifycenter",""]] "<div style=text-align:inherit><p>[foo]</div><p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<div style=\"text-align:center\"><p>foo</p></div><p>extra</p>" but got "<div style=\"text-align:inherit\"><p style=\"text-align:center\">foo</p></div><p>extra</p>"
+PASS [["justifycenter",""]] "<div style=text-align:inherit><p>[foo]</div><p>extra" queryCommandIndeterm("justifycenter") before 
+PASS [["justifycenter",""]] "<div style=text-align:inherit><p>[foo]</div><p>extra" queryCommandState("justifycenter") before 
+FAIL [["justifycenter",""]] "<div style=text-align:inherit><p>[foo]</div><p>extra" queryCommandValue("justifycenter") before assert_equals: Wrong result returned expected "left" but got "false"
+PASS [["justifycenter",""]] "<div style=text-align:inherit><p>[foo]</div><p>extra" queryCommandIndeterm("justifycenter") after 
+PASS [["justifycenter",""]] "<div style=text-align:inherit><p>[foo]</div><p>extra" queryCommandState("justifycenter") after 
+FAIL [["justifycenter",""]] "<div style=text-align:inherit><p>[foo]</div><p>extra" queryCommandValue("justifycenter") after assert_equals: Wrong result returned expected "center" but got "true"
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<quasit align=right><p>[foo]</p></quasit><p>extra": execCommand("stylewithcss", false, "true") return value 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<quasit align=right><p>[foo]</p></quasit><p>extra": execCommand("defaultparagraphseparator", false, "div") return value 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<quasit align=right><p>[foo]</p></quasit><p>extra": execCommand("justifycenter", false, "") return value 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<quasit align=right><p>[foo]</p></quasit><p>extra" checks for modifications to non-editable content 
+FAIL [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<quasit align=right><p>[foo]</p></quasit><p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<div style=\"text-align:center\"><quasit><p>foo</p></quasit></div><p>extra</p>" but got "<quasit align=\"right\"><p style=\"text-align:center\">foo</p></quasit><p>extra</p>"
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<quasit align=right><p>[foo]</p></quasit><p>extra" queryCommandIndeterm("stylewithcss") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<quasit align=right><p>[foo]</p></quasit><p>extra" queryCommandState("stylewithcss") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<quasit align=right><p>[foo]</p></quasit><p>extra" queryCommandValue("stylewithcss") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<quasit align=right><p>[foo]</p></quasit><p>extra" queryCommandIndeterm("stylewithcss") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<quasit align=right><p>[foo]</p></quasit><p>extra" queryCommandState("stylewithcss") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<quasit align=right><p>[foo]</p></quasit><p>extra" queryCommandValue("stylewithcss") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<quasit align=right><p>[foo]</p></quasit><p>extra" queryCommandIndeterm("defaultparagraphseparator") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<quasit align=right><p>[foo]</p></quasit><p>extra" queryCommandState("defaultparagraphseparator") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<quasit align=right><p>[foo]</p></quasit><p>extra" queryCommandValue("defaultparagraphseparator") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<quasit align=right><p>[foo]</p></quasit><p>extra" queryCommandIndeterm("defaultparagraphseparator") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<quasit align=right><p>[foo]</p></quasit><p>extra" queryCommandState("defaultparagraphseparator") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<quasit align=right><p>[foo]</p></quasit><p>extra" queryCommandValue("defaultparagraphseparator") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<quasit align=right><p>[foo]</p></quasit><p>extra" queryCommandIndeterm("justifycenter") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<quasit align=right><p>[foo]</p></quasit><p>extra" queryCommandState("justifycenter") before 
+FAIL [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<quasit align=right><p>[foo]</p></quasit><p>extra" queryCommandValue("justifycenter") before assert_equals: Wrong result returned expected "left" but got "false"
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<quasit align=right><p>[foo]</p></quasit><p>extra" queryCommandIndeterm("justifycenter") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<quasit align=right><p>[foo]</p></quasit><p>extra" queryCommandState("justifycenter") after 
+FAIL [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<quasit align=right><p>[foo]</p></quasit><p>extra" queryCommandValue("justifycenter") after assert_equals: Wrong result returned expected "center" but got "true"
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<quasit align=right><p>[foo]</p></quasit><p>extra": execCommand("stylewithcss", false, "false") return value 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<quasit align=right><p>[foo]</p></quasit><p>extra": execCommand("defaultparagraphseparator", false, "div") return value 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<quasit align=right><p>[foo]</p></quasit><p>extra": execCommand("justifycenter", false, "") return value 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<quasit align=right><p>[foo]</p></quasit><p>extra" checks for modifications to non-editable content 
+FAIL [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<quasit align=right><p>[foo]</p></quasit><p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<div style=\"text-align:center\"><quasit><p>foo</p></quasit></div><p>extra</p>" but got "<quasit align=\"right\"><p style=\"text-align:center\">foo</p></quasit><p>extra</p>"
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<quasit align=right><p>[foo]</p></quasit><p>extra" queryCommandIndeterm("stylewithcss") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<quasit align=right><p>[foo]</p></quasit><p>extra" queryCommandState("stylewithcss") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<quasit align=right><p>[foo]</p></quasit><p>extra" queryCommandValue("stylewithcss") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<quasit align=right><p>[foo]</p></quasit><p>extra" queryCommandIndeterm("stylewithcss") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<quasit align=right><p>[foo]</p></quasit><p>extra" queryCommandState("stylewithcss") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<quasit align=right><p>[foo]</p></quasit><p>extra" queryCommandValue("stylewithcss") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<quasit align=right><p>[foo]</p></quasit><p>extra" queryCommandIndeterm("defaultparagraphseparator") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<quasit align=right><p>[foo]</p></quasit><p>extra" queryCommandState("defaultparagraphseparator") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<quasit align=right><p>[foo]</p></quasit><p>extra" queryCommandValue("defaultparagraphseparator") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<quasit align=right><p>[foo]</p></quasit><p>extra" queryCommandIndeterm("defaultparagraphseparator") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<quasit align=right><p>[foo]</p></quasit><p>extra" queryCommandState("defaultparagraphseparator") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<quasit align=right><p>[foo]</p></quasit><p>extra" queryCommandValue("defaultparagraphseparator") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<quasit align=right><p>[foo]</p></quasit><p>extra" queryCommandIndeterm("justifycenter") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<quasit align=right><p>[foo]</p></quasit><p>extra" queryCommandState("justifycenter") before 
+FAIL [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<quasit align=right><p>[foo]</p></quasit><p>extra" queryCommandValue("justifycenter") before assert_equals: Wrong result returned expected "left" but got "false"
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<quasit align=right><p>[foo]</p></quasit><p>extra" queryCommandIndeterm("justifycenter") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<quasit align=right><p>[foo]</p></quasit><p>extra" queryCommandState("justifycenter") after 
+FAIL [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<quasit align=right><p>[foo]</p></quasit><p>extra" queryCommandValue("justifycenter") after assert_equals: Wrong result returned expected "center" but got "true"
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<quasit align=right><p>[foo]</p></quasit><p>extra": execCommand("stylewithcss", false, "true") return value 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<quasit align=right><p>[foo]</p></quasit><p>extra": execCommand("defaultparagraphseparator", false, "p") return value 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<quasit align=right><p>[foo]</p></quasit><p>extra": execCommand("justifycenter", false, "") return value 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<quasit align=right><p>[foo]</p></quasit><p>extra" checks for modifications to non-editable content 
+FAIL [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<quasit align=right><p>[foo]</p></quasit><p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<div style=\"text-align:center\"><quasit><p>foo</p></quasit></div><p>extra</p>" but got "<quasit align=\"right\"><p style=\"text-align:center\">foo</p></quasit><p>extra</p>"
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<quasit align=right><p>[foo]</p></quasit><p>extra" queryCommandIndeterm("stylewithcss") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<quasit align=right><p>[foo]</p></quasit><p>extra" queryCommandState("stylewithcss") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<quasit align=right><p>[foo]</p></quasit><p>extra" queryCommandValue("stylewithcss") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<quasit align=right><p>[foo]</p></quasit><p>extra" queryCommandIndeterm("stylewithcss") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<quasit align=right><p>[foo]</p></quasit><p>extra" queryCommandState("stylewithcss") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<quasit align=right><p>[foo]</p></quasit><p>extra" queryCommandValue("stylewithcss") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<quasit align=right><p>[foo]</p></quasit><p>extra" queryCommandIndeterm("defaultparagraphseparator") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<quasit align=right><p>[foo]</p></quasit><p>extra" queryCommandState("defaultparagraphseparator") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<quasit align=right><p>[foo]</p></quasit><p>extra" queryCommandValue("defaultparagraphseparator") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<quasit align=right><p>[foo]</p></quasit><p>extra" queryCommandIndeterm("defaultparagraphseparator") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<quasit align=right><p>[foo]</p></quasit><p>extra" queryCommandState("defaultparagraphseparator") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<quasit align=right><p>[foo]</p></quasit><p>extra" queryCommandValue("defaultparagraphseparator") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<quasit align=right><p>[foo]</p></quasit><p>extra" queryCommandIndeterm("justifycenter") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<quasit align=right><p>[foo]</p></quasit><p>extra" queryCommandState("justifycenter") before 
+FAIL [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<quasit align=right><p>[foo]</p></quasit><p>extra" queryCommandValue("justifycenter") before assert_equals: Wrong result returned expected "left" but got "false"
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<quasit align=right><p>[foo]</p></quasit><p>extra" queryCommandIndeterm("justifycenter") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<quasit align=right><p>[foo]</p></quasit><p>extra" queryCommandState("justifycenter") after 
+FAIL [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<quasit align=right><p>[foo]</p></quasit><p>extra" queryCommandValue("justifycenter") after assert_equals: Wrong result returned expected "center" but got "true"
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<quasit align=right><p>[foo]</p></quasit><p>extra": execCommand("stylewithcss", false, "false") return value 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<quasit align=right><p>[foo]</p></quasit><p>extra": execCommand("defaultparagraphseparator", false, "p") return value 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<quasit align=right><p>[foo]</p></quasit><p>extra": execCommand("justifycenter", false, "") return value 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<quasit align=right><p>[foo]</p></quasit><p>extra" checks for modifications to non-editable content 
+FAIL [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<quasit align=right><p>[foo]</p></quasit><p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<div style=\"text-align:center\"><quasit><p>foo</p></quasit></div><p>extra</p>" but got "<quasit align=\"right\"><p style=\"text-align:center\">foo</p></quasit><p>extra</p>"
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<quasit align=right><p>[foo]</p></quasit><p>extra" queryCommandIndeterm("stylewithcss") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<quasit align=right><p>[foo]</p></quasit><p>extra" queryCommandState("stylewithcss") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<quasit align=right><p>[foo]</p></quasit><p>extra" queryCommandValue("stylewithcss") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<quasit align=right><p>[foo]</p></quasit><p>extra" queryCommandIndeterm("stylewithcss") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<quasit align=right><p>[foo]</p></quasit><p>extra" queryCommandState("stylewithcss") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<quasit align=right><p>[foo]</p></quasit><p>extra" queryCommandValue("stylewithcss") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<quasit align=right><p>[foo]</p></quasit><p>extra" queryCommandIndeterm("defaultparagraphseparator") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<quasit align=right><p>[foo]</p></quasit><p>extra" queryCommandState("defaultparagraphseparator") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<quasit align=right><p>[foo]</p></quasit><p>extra" queryCommandValue("defaultparagraphseparator") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<quasit align=right><p>[foo]</p></quasit><p>extra" queryCommandIndeterm("defaultparagraphseparator") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<quasit align=right><p>[foo]</p></quasit><p>extra" queryCommandState("defaultparagraphseparator") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<quasit align=right><p>[foo]</p></quasit><p>extra" queryCommandValue("defaultparagraphseparator") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<quasit align=right><p>[foo]</p></quasit><p>extra" queryCommandIndeterm("justifycenter") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<quasit align=right><p>[foo]</p></quasit><p>extra" queryCommandState("justifycenter") before 
+FAIL [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<quasit align=right><p>[foo]</p></quasit><p>extra" queryCommandValue("justifycenter") before assert_equals: Wrong result returned expected "left" but got "false"
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<quasit align=right><p>[foo]</p></quasit><p>extra" queryCommandIndeterm("justifycenter") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<quasit align=right><p>[foo]</p></quasit><p>extra" queryCommandState("justifycenter") after 
+FAIL [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<quasit align=right><p>[foo]</p></quasit><p>extra" queryCommandValue("justifycenter") after assert_equals: Wrong result returned expected "center" but got "true"
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div align=center>{<div align=left>foo</div>}</div>": execCommand("stylewithcss", false, "true") return value 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div align=center>{<div align=left>foo</div>}</div>": execCommand("defaultparagraphseparator", false, "div") return value 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div align=center>{<div align=left>foo</div>}</div>": execCommand("justifycenter", false, "") return value 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div align=center>{<div align=left>foo</div>}</div>" checks for modifications to non-editable content 
+FAIL [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div align=center>{<div align=left>foo</div>}</div>" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<div style=\"text-align:center\">foo</div>" but got "<div align=\"center\"><div align=\"left\" style=\"text-align:center\">foo</div></div>"
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div align=center>{<div align=left>foo</div>}</div>" queryCommandIndeterm("stylewithcss") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div align=center>{<div align=left>foo</div>}</div>" queryCommandState("stylewithcss") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div align=center>{<div align=left>foo</div>}</div>" queryCommandValue("stylewithcss") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div align=center>{<div align=left>foo</div>}</div>" queryCommandIndeterm("stylewithcss") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div align=center>{<div align=left>foo</div>}</div>" queryCommandState("stylewithcss") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div align=center>{<div align=left>foo</div>}</div>" queryCommandValue("stylewithcss") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div align=center>{<div align=left>foo</div>}</div>" queryCommandIndeterm("defaultparagraphseparator") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div align=center>{<div align=left>foo</div>}</div>" queryCommandState("defaultparagraphseparator") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div align=center>{<div align=left>foo</div>}</div>" queryCommandValue("defaultparagraphseparator") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div align=center>{<div align=left>foo</div>}</div>" queryCommandIndeterm("defaultparagraphseparator") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div align=center>{<div align=left>foo</div>}</div>" queryCommandState("defaultparagraphseparator") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div align=center>{<div align=left>foo</div>}</div>" queryCommandValue("defaultparagraphseparator") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div align=center>{<div align=left>foo</div>}</div>" queryCommandIndeterm("justifycenter") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div align=center>{<div align=left>foo</div>}</div>" queryCommandState("justifycenter") before 
+FAIL [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div align=center>{<div align=left>foo</div>}</div>" queryCommandValue("justifycenter") before assert_equals: Wrong result returned expected "left" but got "false"
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div align=center>{<div align=left>foo</div>}</div>" queryCommandIndeterm("justifycenter") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div align=center>{<div align=left>foo</div>}</div>" queryCommandState("justifycenter") after 
+FAIL [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div align=center>{<div align=left>foo</div>}</div>" queryCommandValue("justifycenter") after assert_equals: Wrong result returned expected "center" but got "true"
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div align=center>{<div align=left>foo</div>}</div>": execCommand("stylewithcss", false, "false") return value 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div align=center>{<div align=left>foo</div>}</div>": execCommand("defaultparagraphseparator", false, "div") return value 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div align=center>{<div align=left>foo</div>}</div>": execCommand("justifycenter", false, "") return value 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div align=center>{<div align=left>foo</div>}</div>" checks for modifications to non-editable content 
+FAIL [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div align=center>{<div align=left>foo</div>}</div>" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<div style=\"text-align:center\">foo</div>" but got "<div align=\"center\"><div align=\"left\" style=\"text-align:center\">foo</div></div>"
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div align=center>{<div align=left>foo</div>}</div>" queryCommandIndeterm("stylewithcss") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div align=center>{<div align=left>foo</div>}</div>" queryCommandState("stylewithcss") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div align=center>{<div align=left>foo</div>}</div>" queryCommandValue("stylewithcss") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div align=center>{<div align=left>foo</div>}</div>" queryCommandIndeterm("stylewithcss") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div align=center>{<div align=left>foo</div>}</div>" queryCommandState("stylewithcss") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div align=center>{<div align=left>foo</div>}</div>" queryCommandValue("stylewithcss") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div align=center>{<div align=left>foo</div>}</div>" queryCommandIndeterm("defaultparagraphseparator") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div align=center>{<div align=left>foo</div>}</div>" queryCommandState("defaultparagraphseparator") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div align=center>{<div align=left>foo</div>}</div>" queryCommandValue("defaultparagraphseparator") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div align=center>{<div align=left>foo</div>}</div>" queryCommandIndeterm("defaultparagraphseparator") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div align=center>{<div align=left>foo</div>}</div>" queryCommandState("defaultparagraphseparator") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div align=center>{<div align=left>foo</div>}</div>" queryCommandValue("defaultparagraphseparator") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div align=center>{<div align=left>foo</div>}</div>" queryCommandIndeterm("justifycenter") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div align=center>{<div align=left>foo</div>}</div>" queryCommandState("justifycenter") before 
+FAIL [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div align=center>{<div align=left>foo</div>}</div>" queryCommandValue("justifycenter") before assert_equals: Wrong result returned expected "left" but got "false"
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div align=center>{<div align=left>foo</div>}</div>" queryCommandIndeterm("justifycenter") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div align=center>{<div align=left>foo</div>}</div>" queryCommandState("justifycenter") after 
+FAIL [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div align=center>{<div align=left>foo</div>}</div>" queryCommandValue("justifycenter") after assert_equals: Wrong result returned expected "center" but got "true"
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div align=center>{<div align=left>foo</div>}</div>": execCommand("stylewithcss", false, "true") return value 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div align=center>{<div align=left>foo</div>}</div>": execCommand("defaultparagraphseparator", false, "p") return value 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div align=center>{<div align=left>foo</div>}</div>": execCommand("justifycenter", false, "") return value 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div align=center>{<div align=left>foo</div>}</div>" checks for modifications to non-editable content 
+FAIL [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div align=center>{<div align=left>foo</div>}</div>" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<div style=\"text-align:center\">foo</div>" but got "<div align=\"center\"><div align=\"left\" style=\"text-align:center\">foo</div></div>"
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div align=center>{<div align=left>foo</div>}</div>" queryCommandIndeterm("stylewithcss") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div align=center>{<div align=left>foo</div>}</div>" queryCommandState("stylewithcss") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div align=center>{<div align=left>foo</div>}</div>" queryCommandValue("stylewithcss") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div align=center>{<div align=left>foo</div>}</div>" queryCommandIndeterm("stylewithcss") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div align=center>{<div align=left>foo</div>}</div>" queryCommandState("stylewithcss") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div align=center>{<div align=left>foo</div>}</div>" queryCommandValue("stylewithcss") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div align=center>{<div align=left>foo</div>}</div>" queryCommandIndeterm("defaultparagraphseparator") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div align=center>{<div align=left>foo</div>}</div>" queryCommandState("defaultparagraphseparator") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div align=center>{<div align=left>foo</div>}</div>" queryCommandValue("defaultparagraphseparator") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div align=center>{<div align=left>foo</div>}</div>" queryCommandIndeterm("defaultparagraphseparator") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div align=center>{<div align=left>foo</div>}</div>" queryCommandState("defaultparagraphseparator") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div align=center>{<div align=left>foo</div>}</div>" queryCommandValue("defaultparagraphseparator") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div align=center>{<div align=left>foo</div>}</div>" queryCommandIndeterm("justifycenter") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div align=center>{<div align=left>foo</div>}</div>" queryCommandState("justifycenter") before 
+FAIL [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div align=center>{<div align=left>foo</div>}</div>" queryCommandValue("justifycenter") before assert_equals: Wrong result returned expected "left" but got "false"
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div align=center>{<div align=left>foo</div>}</div>" queryCommandIndeterm("justifycenter") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div align=center>{<div align=left>foo</div>}</div>" queryCommandState("justifycenter") after 
+FAIL [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div align=center>{<div align=left>foo</div>}</div>" queryCommandValue("justifycenter") after assert_equals: Wrong result returned expected "center" but got "true"
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div align=center>{<div align=left>foo</div>}</div>": execCommand("stylewithcss", false, "false") return value 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div align=center>{<div align=left>foo</div>}</div>": execCommand("defaultparagraphseparator", false, "p") return value 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div align=center>{<div align=left>foo</div>}</div>": execCommand("justifycenter", false, "") return value 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div align=center>{<div align=left>foo</div>}</div>" checks for modifications to non-editable content 
+FAIL [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div align=center>{<div align=left>foo</div>}</div>" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<div style=\"text-align:center\">foo</div>" but got "<div align=\"center\"><div align=\"left\" style=\"text-align:center\">foo</div></div>"
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div align=center>{<div align=left>foo</div>}</div>" queryCommandIndeterm("stylewithcss") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div align=center>{<div align=left>foo</div>}</div>" queryCommandState("stylewithcss") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div align=center>{<div align=left>foo</div>}</div>" queryCommandValue("stylewithcss") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div align=center>{<div align=left>foo</div>}</div>" queryCommandIndeterm("stylewithcss") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div align=center>{<div align=left>foo</div>}</div>" queryCommandState("stylewithcss") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div align=center>{<div align=left>foo</div>}</div>" queryCommandValue("stylewithcss") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div align=center>{<div align=left>foo</div>}</div>" queryCommandIndeterm("defaultparagraphseparator") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div align=center>{<div align=left>foo</div>}</div>" queryCommandState("defaultparagraphseparator") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div align=center>{<div align=left>foo</div>}</div>" queryCommandValue("defaultparagraphseparator") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div align=center>{<div align=left>foo</div>}</div>" queryCommandIndeterm("defaultparagraphseparator") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div align=center>{<div align=left>foo</div>}</div>" queryCommandState("defaultparagraphseparator") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div align=center>{<div align=left>foo</div>}</div>" queryCommandValue("defaultparagraphseparator") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div align=center>{<div align=left>foo</div>}</div>" queryCommandIndeterm("justifycenter") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div align=center>{<div align=left>foo</div>}</div>" queryCommandState("justifycenter") before 
+FAIL [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div align=center>{<div align=left>foo</div>}</div>" queryCommandValue("justifycenter") before assert_equals: Wrong result returned expected "left" but got "false"
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div align=center>{<div align=left>foo</div>}</div>" queryCommandIndeterm("justifycenter") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div align=center>{<div align=left>foo</div>}</div>" queryCommandState("justifycenter") after 
+FAIL [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div align=center>{<div align=left>foo</div>}</div>" queryCommandValue("justifycenter") after assert_equals: Wrong result returned expected "center" but got "true"
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div align=left>{<div align=center>foo</div>}</div>": execCommand("stylewithcss", false, "true") return value 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div align=left>{<div align=center>foo</div>}</div>": execCommand("defaultparagraphseparator", false, "div") return value 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div align=left>{<div align=center>foo</div>}</div>": execCommand("justifycenter", false, "") return value 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div align=left>{<div align=center>foo</div>}</div>" checks for modifications to non-editable content 
+FAIL [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div align=left>{<div align=center>foo</div>}</div>" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<div style=\"text-align:center\">foo</div>" but got "<div align=\"left\"><div align=\"center\">foo</div></div>"
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div align=left>{<div align=center>foo</div>}</div>" queryCommandIndeterm("stylewithcss") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div align=left>{<div align=center>foo</div>}</div>" queryCommandState("stylewithcss") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div align=left>{<div align=center>foo</div>}</div>" queryCommandValue("stylewithcss") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div align=left>{<div align=center>foo</div>}</div>" queryCommandIndeterm("stylewithcss") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div align=left>{<div align=center>foo</div>}</div>" queryCommandState("stylewithcss") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div align=left>{<div align=center>foo</div>}</div>" queryCommandValue("stylewithcss") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div align=left>{<div align=center>foo</div>}</div>" queryCommandIndeterm("defaultparagraphseparator") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div align=left>{<div align=center>foo</div>}</div>" queryCommandState("defaultparagraphseparator") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div align=left>{<div align=center>foo</div>}</div>" queryCommandValue("defaultparagraphseparator") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div align=left>{<div align=center>foo</div>}</div>" queryCommandIndeterm("defaultparagraphseparator") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div align=left>{<div align=center>foo</div>}</div>" queryCommandState("defaultparagraphseparator") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div align=left>{<div align=center>foo</div>}</div>" queryCommandValue("defaultparagraphseparator") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div align=left>{<div align=center>foo</div>}</div>" queryCommandIndeterm("justifycenter") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div align=left>{<div align=center>foo</div>}</div>" queryCommandState("justifycenter") before 
+FAIL [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div align=left>{<div align=center>foo</div>}</div>" queryCommandValue("justifycenter") before assert_equals: Wrong result returned expected "center" but got "true"
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div align=left>{<div align=center>foo</div>}</div>" queryCommandIndeterm("justifycenter") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div align=left>{<div align=center>foo</div>}</div>" queryCommandState("justifycenter") after 
+FAIL [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div align=left>{<div align=center>foo</div>}</div>" queryCommandValue("justifycenter") after assert_equals: Wrong result returned expected "center" but got "true"
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div align=left>{<div align=center>foo</div>}</div>": execCommand("stylewithcss", false, "false") return value 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div align=left>{<div align=center>foo</div>}</div>": execCommand("defaultparagraphseparator", false, "div") return value 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div align=left>{<div align=center>foo</div>}</div>": execCommand("justifycenter", false, "") return value 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div align=left>{<div align=center>foo</div>}</div>" checks for modifications to non-editable content 
+FAIL [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div align=left>{<div align=center>foo</div>}</div>" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<div style=\"text-align:center\">foo</div>" but got "<div align=\"left\"><div align=\"center\">foo</div></div>"
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div align=left>{<div align=center>foo</div>}</div>" queryCommandIndeterm("stylewithcss") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div align=left>{<div align=center>foo</div>}</div>" queryCommandState("stylewithcss") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div align=left>{<div align=center>foo</div>}</div>" queryCommandValue("stylewithcss") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div align=left>{<div align=center>foo</div>}</div>" queryCommandIndeterm("stylewithcss") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div align=left>{<div align=center>foo</div>}</div>" queryCommandState("stylewithcss") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div align=left>{<div align=center>foo</div>}</div>" queryCommandValue("stylewithcss") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div align=left>{<div align=center>foo</div>}</div>" queryCommandIndeterm("defaultparagraphseparator") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div align=left>{<div align=center>foo</div>}</div>" queryCommandState("defaultparagraphseparator") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div align=left>{<div align=center>foo</div>}</div>" queryCommandValue("defaultparagraphseparator") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div align=left>{<div align=center>foo</div>}</div>" queryCommandIndeterm("defaultparagraphseparator") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div align=left>{<div align=center>foo</div>}</div>" queryCommandState("defaultparagraphseparator") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div align=left>{<div align=center>foo</div>}</div>" queryCommandValue("defaultparagraphseparator") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div align=left>{<div align=center>foo</div>}</div>" queryCommandIndeterm("justifycenter") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div align=left>{<div align=center>foo</div>}</div>" queryCommandState("justifycenter") before 
+FAIL [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div align=left>{<div align=center>foo</div>}</div>" queryCommandValue("justifycenter") before assert_equals: Wrong result returned expected "center" but got "true"
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div align=left>{<div align=center>foo</div>}</div>" queryCommandIndeterm("justifycenter") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div align=left>{<div align=center>foo</div>}</div>" queryCommandState("justifycenter") after 
+FAIL [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div align=left>{<div align=center>foo</div>}</div>" queryCommandValue("justifycenter") after assert_equals: Wrong result returned expected "center" but got "true"
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div align=left>{<div align=center>foo</div>}</div>": execCommand("stylewithcss", false, "true") return value 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div align=left>{<div align=center>foo</div>}</div>": execCommand("defaultparagraphseparator", false, "p") return value 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div align=left>{<div align=center>foo</div>}</div>": execCommand("justifycenter", false, "") return value 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div align=left>{<div align=center>foo</div>}</div>" checks for modifications to non-editable content 
+FAIL [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div align=left>{<div align=center>foo</div>}</div>" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<div style=\"text-align:center\">foo</div>" but got "<div align=\"left\"><div align=\"center\">foo</div></div>"
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div align=left>{<div align=center>foo</div>}</div>" queryCommandIndeterm("stylewithcss") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div align=left>{<div align=center>foo</div>}</div>" queryCommandState("stylewithcss") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div align=left>{<div align=center>foo</div>}</div>" queryCommandValue("stylewithcss") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div align=left>{<div align=center>foo</div>}</div>" queryCommandIndeterm("stylewithcss") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div align=left>{<div align=center>foo</div>}</div>" queryCommandState("stylewithcss") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div align=left>{<div align=center>foo</div>}</div>" queryCommandValue("stylewithcss") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div align=left>{<div align=center>foo</div>}</div>" queryCommandIndeterm("defaultparagraphseparator") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div align=left>{<div align=center>foo</div>}</div>" queryCommandState("defaultparagraphseparator") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div align=left>{<div align=center>foo</div>}</div>" queryCommandValue("defaultparagraphseparator") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div align=left>{<div align=center>foo</div>}</div>" queryCommandIndeterm("defaultparagraphseparator") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div align=left>{<div align=center>foo</div>}</div>" queryCommandState("defaultparagraphseparator") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div align=left>{<div align=center>foo</div>}</div>" queryCommandValue("defaultparagraphseparator") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div align=left>{<div align=center>foo</div>}</div>" queryCommandIndeterm("justifycenter") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div align=left>{<div align=center>foo</div>}</div>" queryCommandState("justifycenter") before 
+FAIL [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div align=left>{<div align=center>foo</div>}</div>" queryCommandValue("justifycenter") before assert_equals: Wrong result returned expected "center" but got "true"
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div align=left>{<div align=center>foo</div>}</div>" queryCommandIndeterm("justifycenter") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div align=left>{<div align=center>foo</div>}</div>" queryCommandState("justifycenter") after 
+FAIL [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div align=left>{<div align=center>foo</div>}</div>" queryCommandValue("justifycenter") after assert_equals: Wrong result returned expected "center" but got "true"
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div align=left>{<div align=center>foo</div>}</div>": execCommand("stylewithcss", false, "false") return value 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div align=left>{<div align=center>foo</div>}</div>": execCommand("defaultparagraphseparator", false, "p") return value 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div align=left>{<div align=center>foo</div>}</div>": execCommand("justifycenter", false, "") return value 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div align=left>{<div align=center>foo</div>}</div>" checks for modifications to non-editable content 
+FAIL [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div align=left>{<div align=center>foo</div>}</div>" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<div style=\"text-align:center\">foo</div>" but got "<div align=\"left\"><div align=\"center\">foo</div></div>"
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div align=left>{<div align=center>foo</div>}</div>" queryCommandIndeterm("stylewithcss") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div align=left>{<div align=center>foo</div>}</div>" queryCommandState("stylewithcss") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div align=left>{<div align=center>foo</div>}</div>" queryCommandValue("stylewithcss") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div align=left>{<div align=center>foo</div>}</div>" queryCommandIndeterm("stylewithcss") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div align=left>{<div align=center>foo</div>}</div>" queryCommandState("stylewithcss") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div align=left>{<div align=center>foo</div>}</div>" queryCommandValue("stylewithcss") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div align=left>{<div align=center>foo</div>}</div>" queryCommandIndeterm("defaultparagraphseparator") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div align=left>{<div align=center>foo</div>}</div>" queryCommandState("defaultparagraphseparator") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div align=left>{<div align=center>foo</div>}</div>" queryCommandValue("defaultparagraphseparator") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div align=left>{<div align=center>foo</div>}</div>" queryCommandIndeterm("defaultparagraphseparator") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div align=left>{<div align=center>foo</div>}</div>" queryCommandState("defaultparagraphseparator") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div align=left>{<div align=center>foo</div>}</div>" queryCommandValue("defaultparagraphseparator") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div align=left>{<div align=center>foo</div>}</div>" queryCommandIndeterm("justifycenter") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div align=left>{<div align=center>foo</div>}</div>" queryCommandState("justifycenter") before 
+FAIL [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div align=left>{<div align=center>foo</div>}</div>" queryCommandValue("justifycenter") before assert_equals: Wrong result returned expected "center" but got "true"
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div align=left>{<div align=center>foo</div>}</div>" queryCommandIndeterm("justifycenter") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div align=left>{<div align=center>foo</div>}</div>" queryCommandState("justifycenter") after 
+FAIL [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div align=left>{<div align=center>foo</div>}</div>" queryCommandValue("justifycenter") after assert_equals: Wrong result returned expected "center" but got "true"
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div align=center>{<div align=left>foo</div>bar}</div>": execCommand("stylewithcss", false, "true") return value 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div align=center>{<div align=left>foo</div>bar}</div>": execCommand("defaultparagraphseparator", false, "div") return value 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div align=center>{<div align=left>foo</div>bar}</div>": execCommand("justifycenter", false, "") return value 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div align=center>{<div align=left>foo</div>bar}</div>" checks for modifications to non-editable content 
+FAIL [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div align=center>{<div align=left>foo</div>bar}</div>" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<div style=\"text-align:center\">foo<br>bar</div>" but got "<div align=\"center\"><div align=\"left\" style=\"text-align:center\">foo</div>bar</div>"
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div align=center>{<div align=left>foo</div>bar}</div>" queryCommandIndeterm("stylewithcss") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div align=center>{<div align=left>foo</div>bar}</div>" queryCommandState("stylewithcss") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div align=center>{<div align=left>foo</div>bar}</div>" queryCommandValue("stylewithcss") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div align=center>{<div align=left>foo</div>bar}</div>" queryCommandIndeterm("stylewithcss") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div align=center>{<div align=left>foo</div>bar}</div>" queryCommandState("stylewithcss") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div align=center>{<div align=left>foo</div>bar}</div>" queryCommandValue("stylewithcss") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div align=center>{<div align=left>foo</div>bar}</div>" queryCommandIndeterm("defaultparagraphseparator") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div align=center>{<div align=left>foo</div>bar}</div>" queryCommandState("defaultparagraphseparator") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div align=center>{<div align=left>foo</div>bar}</div>" queryCommandValue("defaultparagraphseparator") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div align=center>{<div align=left>foo</div>bar}</div>" queryCommandIndeterm("defaultparagraphseparator") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div align=center>{<div align=left>foo</div>bar}</div>" queryCommandState("defaultparagraphseparator") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div align=center>{<div align=left>foo</div>bar}</div>" queryCommandValue("defaultparagraphseparator") after 
+FAIL [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div align=center>{<div align=left>foo</div>bar}</div>" queryCommandIndeterm("justifycenter") before assert_equals: Wrong result returned expected true but got false
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div align=center>{<div align=left>foo</div>bar}</div>" queryCommandState("justifycenter") before 
+FAIL [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div align=center>{<div align=left>foo</div>bar}</div>" queryCommandValue("justifycenter") before assert_equals: Wrong result returned expected "left" but got "false"
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div align=center>{<div align=left>foo</div>bar}</div>" queryCommandIndeterm("justifycenter") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div align=center>{<div align=left>foo</div>bar}</div>" queryCommandState("justifycenter") after 
+FAIL [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div align=center>{<div align=left>foo</div>bar}</div>" queryCommandValue("justifycenter") after assert_equals: Wrong result returned expected "center" but got "true"
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div align=center>{<div align=left>foo</div>bar}</div>": execCommand("stylewithcss", false, "false") return value 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div align=center>{<div align=left>foo</div>bar}</div>": execCommand("defaultparagraphseparator", false, "div") return value 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div align=center>{<div align=left>foo</div>bar}</div>": execCommand("justifycenter", false, "") return value 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div align=center>{<div align=left>foo</div>bar}</div>" checks for modifications to non-editable content 
+FAIL [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div align=center>{<div align=left>foo</div>bar}</div>" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<div style=\"text-align:center\">foo<br>bar</div>" but got "<div align=\"center\"><div align=\"left\" style=\"text-align:center\">foo</div>bar</div>"
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div align=center>{<div align=left>foo</div>bar}</div>" queryCommandIndeterm("stylewithcss") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div align=center>{<div align=left>foo</div>bar}</div>" queryCommandState("stylewithcss") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div align=center>{<div align=left>foo</div>bar}</div>" queryCommandValue("stylewithcss") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div align=center>{<div align=left>foo</div>bar}</div>" queryCommandIndeterm("stylewithcss") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div align=center>{<div align=left>foo</div>bar}</div>" queryCommandState("stylewithcss") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div align=center>{<div align=left>foo</div>bar}</div>" queryCommandValue("stylewithcss") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div align=center>{<div align=left>foo</div>bar}</div>" queryCommandIndeterm("defaultparagraphseparator") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div align=center>{<div align=left>foo</div>bar}</div>" queryCommandState("defaultparagraphseparator") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div align=center>{<div align=left>foo</div>bar}</div>" queryCommandValue("defaultparagraphseparator") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div align=center>{<div align=left>foo</div>bar}</div>" queryCommandIndeterm("defaultparagraphseparator") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div align=center>{<div align=left>foo</div>bar}</div>" queryCommandState("defaultparagraphseparator") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div align=center>{<div align=left>foo</div>bar}</div>" queryCommandValue("defaultparagraphseparator") after 
+FAIL [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div align=center>{<div align=left>foo</div>bar}</div>" queryCommandIndeterm("justifycenter") before assert_equals: Wrong result returned expected true but got false
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div align=center>{<div align=left>foo</div>bar}</div>" queryCommandState("justifycenter") before 
+FAIL [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div align=center>{<div align=left>foo</div>bar}</div>" queryCommandValue("justifycenter") before assert_equals: Wrong result returned expected "left" but got "false"
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div align=center>{<div align=left>foo</div>bar}</div>" queryCommandIndeterm("justifycenter") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div align=center>{<div align=left>foo</div>bar}</div>" queryCommandState("justifycenter") after 
+FAIL [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div align=center>{<div align=left>foo</div>bar}</div>" queryCommandValue("justifycenter") after assert_equals: Wrong result returned expected "center" but got "true"
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div align=center>{<div align=left>foo</div>bar}</div>": execCommand("stylewithcss", false, "true") return value 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div align=center>{<div align=left>foo</div>bar}</div>": execCommand("defaultparagraphseparator", false, "p") return value 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div align=center>{<div align=left>foo</div>bar}</div>": execCommand("justifycenter", false, "") return value 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div align=center>{<div align=left>foo</div>bar}</div>" checks for modifications to non-editable content 
+FAIL [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div align=center>{<div align=left>foo</div>bar}</div>" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<div style=\"text-align:center\">foo<br>bar</div>" but got "<div align=\"center\"><div align=\"left\" style=\"text-align:center\">foo</div>bar</div>"
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div align=center>{<div align=left>foo</div>bar}</div>" queryCommandIndeterm("stylewithcss") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div align=center>{<div align=left>foo</div>bar}</div>" queryCommandState("stylewithcss") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div align=center>{<div align=left>foo</div>bar}</div>" queryCommandValue("stylewithcss") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div align=center>{<div align=left>foo</div>bar}</div>" queryCommandIndeterm("stylewithcss") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div align=center>{<div align=left>foo</div>bar}</div>" queryCommandState("stylewithcss") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div align=center>{<div align=left>foo</div>bar}</div>" queryCommandValue("stylewithcss") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div align=center>{<div align=left>foo</div>bar}</div>" queryCommandIndeterm("defaultparagraphseparator") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div align=center>{<div align=left>foo</div>bar}</div>" queryCommandState("defaultparagraphseparator") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div align=center>{<div align=left>foo</div>bar}</div>" queryCommandValue("defaultparagraphseparator") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div align=center>{<div align=left>foo</div>bar}</div>" queryCommandIndeterm("defaultparagraphseparator") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div align=center>{<div align=left>foo</div>bar}</div>" queryCommandState("defaultparagraphseparator") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div align=center>{<div align=left>foo</div>bar}</div>" queryCommandValue("defaultparagraphseparator") after 
+FAIL [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div align=center>{<div align=left>foo</div>bar}</div>" queryCommandIndeterm("justifycenter") before assert_equals: Wrong result returned expected true but got false
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div align=center>{<div align=left>foo</div>bar}</div>" queryCommandState("justifycenter") before 
+FAIL [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div align=center>{<div align=left>foo</div>bar}</div>" queryCommandValue("justifycenter") before assert_equals: Wrong result returned expected "left" but got "false"
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div align=center>{<div align=left>foo</div>bar}</div>" queryCommandIndeterm("justifycenter") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div align=center>{<div align=left>foo</div>bar}</div>" queryCommandState("justifycenter") after 
+FAIL [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div align=center>{<div align=left>foo</div>bar}</div>" queryCommandValue("justifycenter") after assert_equals: Wrong result returned expected "center" but got "true"
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div align=center>{<div align=left>foo</div>bar}</div>": execCommand("stylewithcss", false, "false") return value 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div align=center>{<div align=left>foo</div>bar}</div>": execCommand("defaultparagraphseparator", false, "p") return value 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div align=center>{<div align=left>foo</div>bar}</div>": execCommand("justifycenter", false, "") return value 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div align=center>{<div align=left>foo</div>bar}</div>" checks for modifications to non-editable content 
+FAIL [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div align=center>{<div align=left>foo</div>bar}</div>" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<div style=\"text-align:center\">foo<br>bar</div>" but got "<div align=\"center\"><div align=\"left\" style=\"text-align:center\">foo</div>bar</div>"
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div align=center>{<div align=left>foo</div>bar}</div>" queryCommandIndeterm("stylewithcss") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div align=center>{<div align=left>foo</div>bar}</div>" queryCommandState("stylewithcss") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div align=center>{<div align=left>foo</div>bar}</div>" queryCommandValue("stylewithcss") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div align=center>{<div align=left>foo</div>bar}</div>" queryCommandIndeterm("stylewithcss") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div align=center>{<div align=left>foo</div>bar}</div>" queryCommandState("stylewithcss") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div align=center>{<div align=left>foo</div>bar}</div>" queryCommandValue("stylewithcss") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div align=center>{<div align=left>foo</div>bar}</div>" queryCommandIndeterm("defaultparagraphseparator") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div align=center>{<div align=left>foo</div>bar}</div>" queryCommandState("defaultparagraphseparator") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div align=center>{<div align=left>foo</div>bar}</div>" queryCommandValue("defaultparagraphseparator") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div align=center>{<div align=left>foo</div>bar}</div>" queryCommandIndeterm("defaultparagraphseparator") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div align=center>{<div align=left>foo</div>bar}</div>" queryCommandState("defaultparagraphseparator") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div align=center>{<div align=left>foo</div>bar}</div>" queryCommandValue("defaultparagraphseparator") after 
+FAIL [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div align=center>{<div align=left>foo</div>bar}</div>" queryCommandIndeterm("justifycenter") before assert_equals: Wrong result returned expected true but got false
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div align=center>{<div align=left>foo</div>bar}</div>" queryCommandState("justifycenter") before 
+FAIL [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div align=center>{<div align=left>foo</div>bar}</div>" queryCommandValue("justifycenter") before assert_equals: Wrong result returned expected "left" but got "false"
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div align=center>{<div align=left>foo</div>bar}</div>" queryCommandIndeterm("justifycenter") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div align=center>{<div align=left>foo</div>bar}</div>" queryCommandState("justifycenter") after 
+FAIL [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div align=center>{<div align=left>foo</div>bar}</div>" queryCommandValue("justifycenter") after assert_equals: Wrong result returned expected "center" but got "true"
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div align=left>{<div align=center>foo</div>bar}</div>": execCommand("stylewithcss", false, "true") return value 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div align=left>{<div align=center>foo</div>bar}</div>": execCommand("defaultparagraphseparator", false, "div") return value 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div align=left>{<div align=center>foo</div>bar}</div>": execCommand("justifycenter", false, "") return value 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div align=left>{<div align=center>foo</div>bar}</div>" checks for modifications to non-editable content 
+FAIL [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div align=left>{<div align=center>foo</div>bar}</div>" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<div style=\"text-align:center\">foo<br>bar</div>" but got "<div align=\"left\"><div align=\"center\">foo</div><div style=\"text-align:center\">bar</div></div>"
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div align=left>{<div align=center>foo</div>bar}</div>" queryCommandIndeterm("stylewithcss") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div align=left>{<div align=center>foo</div>bar}</div>" queryCommandState("stylewithcss") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div align=left>{<div align=center>foo</div>bar}</div>" queryCommandValue("stylewithcss") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div align=left>{<div align=center>foo</div>bar}</div>" queryCommandIndeterm("stylewithcss") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div align=left>{<div align=center>foo</div>bar}</div>" queryCommandState("stylewithcss") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div align=left>{<div align=center>foo</div>bar}</div>" queryCommandValue("stylewithcss") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div align=left>{<div align=center>foo</div>bar}</div>" queryCommandIndeterm("defaultparagraphseparator") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div align=left>{<div align=center>foo</div>bar}</div>" queryCommandState("defaultparagraphseparator") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div align=left>{<div align=center>foo</div>bar}</div>" queryCommandValue("defaultparagraphseparator") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div align=left>{<div align=center>foo</div>bar}</div>" queryCommandIndeterm("defaultparagraphseparator") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div align=left>{<div align=center>foo</div>bar}</div>" queryCommandState("defaultparagraphseparator") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div align=left>{<div align=center>foo</div>bar}</div>" queryCommandValue("defaultparagraphseparator") after 
+FAIL [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div align=left>{<div align=center>foo</div>bar}</div>" queryCommandIndeterm("justifycenter") before assert_equals: Wrong result returned expected true but got false
+FAIL [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div align=left>{<div align=center>foo</div>bar}</div>" queryCommandState("justifycenter") before assert_equals: Wrong result returned expected false but got true
+FAIL [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div align=left>{<div align=center>foo</div>bar}</div>" queryCommandValue("justifycenter") before assert_equals: Wrong result returned expected "center" but got "true"
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div align=left>{<div align=center>foo</div>bar}</div>" queryCommandIndeterm("justifycenter") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div align=left>{<div align=center>foo</div>bar}</div>" queryCommandState("justifycenter") after 
+FAIL [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div align=left>{<div align=center>foo</div>bar}</div>" queryCommandValue("justifycenter") after assert_equals: Wrong result returned expected "center" but got "true"
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div align=left>{<div align=center>foo</div>bar}</div>": execCommand("stylewithcss", false, "false") return value 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div align=left>{<div align=center>foo</div>bar}</div>": execCommand("defaultparagraphseparator", false, "div") return value 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div align=left>{<div align=center>foo</div>bar}</div>": execCommand("justifycenter", false, "") return value 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div align=left>{<div align=center>foo</div>bar}</div>" checks for modifications to non-editable content 
+FAIL [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div align=left>{<div align=center>foo</div>bar}</div>" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<div style=\"text-align:center\">foo<br>bar</div>" but got "<div align=\"left\"><div align=\"center\">foo</div><div style=\"text-align:center\">bar</div></div>"
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div align=left>{<div align=center>foo</div>bar}</div>" queryCommandIndeterm("stylewithcss") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div align=left>{<div align=center>foo</div>bar}</div>" queryCommandState("stylewithcss") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div align=left>{<div align=center>foo</div>bar}</div>" queryCommandValue("stylewithcss") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div align=left>{<div align=center>foo</div>bar}</div>" queryCommandIndeterm("stylewithcss") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div align=left>{<div align=center>foo</div>bar}</div>" queryCommandState("stylewithcss") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div align=left>{<div align=center>foo</div>bar}</div>" queryCommandValue("stylewithcss") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div align=left>{<div align=center>foo</div>bar}</div>" queryCommandIndeterm("defaultparagraphseparator") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div align=left>{<div align=center>foo</div>bar}</div>" queryCommandState("defaultparagraphseparator") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div align=left>{<div align=center>foo</div>bar}</div>" queryCommandValue("defaultparagraphseparator") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div align=left>{<div align=center>foo</div>bar}</div>" queryCommandIndeterm("defaultparagraphseparator") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div align=left>{<div align=center>foo</div>bar}</div>" queryCommandState("defaultparagraphseparator") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div align=left>{<div align=center>foo</div>bar}</div>" queryCommandValue("defaultparagraphseparator") after 
+FAIL [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div align=left>{<div align=center>foo</div>bar}</div>" queryCommandIndeterm("justifycenter") before assert_equals: Wrong result returned expected true but got false
+FAIL [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div align=left>{<div align=center>foo</div>bar}</div>" queryCommandState("justifycenter") before assert_equals: Wrong result returned expected false but got true
+FAIL [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div align=left>{<div align=center>foo</div>bar}</div>" queryCommandValue("justifycenter") before assert_equals: Wrong result returned expected "center" but got "true"
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div align=left>{<div align=center>foo</div>bar}</div>" queryCommandIndeterm("justifycenter") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div align=left>{<div align=center>foo</div>bar}</div>" queryCommandState("justifycenter") after 
+FAIL [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div align=left>{<div align=center>foo</div>bar}</div>" queryCommandValue("justifycenter") after assert_equals: Wrong result returned expected "center" but got "true"
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div align=left>{<div align=center>foo</div>bar}</div>": execCommand("stylewithcss", false, "true") return value 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div align=left>{<div align=center>foo</div>bar}</div>": execCommand("defaultparagraphseparator", false, "p") return value 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div align=left>{<div align=center>foo</div>bar}</div>": execCommand("justifycenter", false, "") return value 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div align=left>{<div align=center>foo</div>bar}</div>" checks for modifications to non-editable content 
+FAIL [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div align=left>{<div align=center>foo</div>bar}</div>" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<div style=\"text-align:center\">foo<br>bar</div>" but got "<div align=\"left\"><div align=\"center\">foo</div><p style=\"text-align:center\">bar</p></div>"
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div align=left>{<div align=center>foo</div>bar}</div>" queryCommandIndeterm("stylewithcss") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div align=left>{<div align=center>foo</div>bar}</div>" queryCommandState("stylewithcss") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div align=left>{<div align=center>foo</div>bar}</div>" queryCommandValue("stylewithcss") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div align=left>{<div align=center>foo</div>bar}</div>" queryCommandIndeterm("stylewithcss") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div align=left>{<div align=center>foo</div>bar}</div>" queryCommandState("stylewithcss") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div align=left>{<div align=center>foo</div>bar}</div>" queryCommandValue("stylewithcss") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div align=left>{<div align=center>foo</div>bar}</div>" queryCommandIndeterm("defaultparagraphseparator") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div align=left>{<div align=center>foo</div>bar}</div>" queryCommandState("defaultparagraphseparator") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div align=left>{<div align=center>foo</div>bar}</div>" queryCommandValue("defaultparagraphseparator") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div align=left>{<div align=center>foo</div>bar}</div>" queryCommandIndeterm("defaultparagraphseparator") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div align=left>{<div align=center>foo</div>bar}</div>" queryCommandState("defaultparagraphseparator") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div align=left>{<div align=center>foo</div>bar}</div>" queryCommandValue("defaultparagraphseparator") after 
+FAIL [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div align=left>{<div align=center>foo</div>bar}</div>" queryCommandIndeterm("justifycenter") before assert_equals: Wrong result returned expected true but got false
+FAIL [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div align=left>{<div align=center>foo</div>bar}</div>" queryCommandState("justifycenter") before assert_equals: Wrong result returned expected false but got true
+FAIL [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div align=left>{<div align=center>foo</div>bar}</div>" queryCommandValue("justifycenter") before assert_equals: Wrong result returned expected "center" but got "true"
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div align=left>{<div align=center>foo</div>bar}</div>" queryCommandIndeterm("justifycenter") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div align=left>{<div align=center>foo</div>bar}</div>" queryCommandState("justifycenter") after 
+FAIL [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div align=left>{<div align=center>foo</div>bar}</div>" queryCommandValue("justifycenter") after assert_equals: Wrong result returned expected "center" but got "true"
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div align=left>{<div align=center>foo</div>bar}</div>": execCommand("stylewithcss", false, "false") return value 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div align=left>{<div align=center>foo</div>bar}</div>": execCommand("defaultparagraphseparator", false, "p") return value 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div align=left>{<div align=center>foo</div>bar}</div>": execCommand("justifycenter", false, "") return value 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div align=left>{<div align=center>foo</div>bar}</div>" checks for modifications to non-editable content 
+FAIL [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div align=left>{<div align=center>foo</div>bar}</div>" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<div style=\"text-align:center\">foo<br>bar</div>" but got "<div align=\"left\"><div align=\"center\">foo</div><p style=\"text-align:center\">bar</p></div>"
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div align=left>{<div align=center>foo</div>bar}</div>" queryCommandIndeterm("stylewithcss") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div align=left>{<div align=center>foo</div>bar}</div>" queryCommandState("stylewithcss") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div align=left>{<div align=center>foo</div>bar}</div>" queryCommandValue("stylewithcss") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div align=left>{<div align=center>foo</div>bar}</div>" queryCommandIndeterm("stylewithcss") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div align=left>{<div align=center>foo</div>bar}</div>" queryCommandState("stylewithcss") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div align=left>{<div align=center>foo</div>bar}</div>" queryCommandValue("stylewithcss") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div align=left>{<div align=center>foo</div>bar}</div>" queryCommandIndeterm("defaultparagraphseparator") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div align=left>{<div align=center>foo</div>bar}</div>" queryCommandState("defaultparagraphseparator") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div align=left>{<div align=center>foo</div>bar}</div>" queryCommandValue("defaultparagraphseparator") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div align=left>{<div align=center>foo</div>bar}</div>" queryCommandIndeterm("defaultparagraphseparator") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div align=left>{<div align=center>foo</div>bar}</div>" queryCommandState("defaultparagraphseparator") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div align=left>{<div align=center>foo</div>bar}</div>" queryCommandValue("defaultparagraphseparator") after 
+FAIL [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div align=left>{<div align=center>foo</div>bar}</div>" queryCommandIndeterm("justifycenter") before assert_equals: Wrong result returned expected true but got false
+FAIL [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div align=left>{<div align=center>foo</div>bar}</div>" queryCommandState("justifycenter") before assert_equals: Wrong result returned expected false but got true
+FAIL [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div align=left>{<div align=center>foo</div>bar}</div>" queryCommandValue("justifycenter") before assert_equals: Wrong result returned expected "center" but got "true"
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div align=left>{<div align=center>foo</div>bar}</div>" queryCommandIndeterm("justifycenter") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div align=left>{<div align=center>foo</div>bar}</div>" queryCommandState("justifycenter") after 
+FAIL [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div align=left>{<div align=center>foo</div>bar}</div>" queryCommandValue("justifycenter") after assert_equals: Wrong result returned expected "center" but got "true"
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div align=center>{<div align=left>foo</div><img src=/img/lion.svg>}</div>": execCommand("stylewithcss", false, "true") return value 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div align=center>{<div align=left>foo</div><img src=/img/lion.svg>}</div>": execCommand("defaultparagraphseparator", false, "div") return value 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div align=center>{<div align=left>foo</div><img src=/img/lion.svg>}</div>": execCommand("justifycenter", false, "") return value 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div align=center>{<div align=left>foo</div><img src=/img/lion.svg>}</div>" checks for modifications to non-editable content 
+FAIL [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div align=center>{<div align=left>foo</div><img src=/img/lion.svg>}</div>" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<div style=\"text-align:center\">foo<br><img src=\"/img/lion.svg\"></div>" but got "<div align=\"center\"><div align=\"left\" style=\"text-align:center\">foo</div><img src=\"/img/lion.svg\"></div>"
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div align=center>{<div align=left>foo</div><img src=/img/lion.svg>}</div>" queryCommandIndeterm("stylewithcss") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div align=center>{<div align=left>foo</div><img src=/img/lion.svg>}</div>" queryCommandState("stylewithcss") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div align=center>{<div align=left>foo</div><img src=/img/lion.svg>}</div>" queryCommandValue("stylewithcss") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div align=center>{<div align=left>foo</div><img src=/img/lion.svg>}</div>" queryCommandIndeterm("stylewithcss") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div align=center>{<div align=left>foo</div><img src=/img/lion.svg>}</div>" queryCommandState("stylewithcss") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div align=center>{<div align=left>foo</div><img src=/img/lion.svg>}</div>" queryCommandValue("stylewithcss") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div align=center>{<div align=left>foo</div><img src=/img/lion.svg>}</div>" queryCommandIndeterm("defaultparagraphseparator") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div align=center>{<div align=left>foo</div><img src=/img/lion.svg>}</div>" queryCommandState("defaultparagraphseparator") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div align=center>{<div align=left>foo</div><img src=/img/lion.svg>}</div>" queryCommandValue("defaultparagraphseparator") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div align=center>{<div align=left>foo</div><img src=/img/lion.svg>}</div>" queryCommandIndeterm("defaultparagraphseparator") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div align=center>{<div align=left>foo</div><img src=/img/lion.svg>}</div>" queryCommandState("defaultparagraphseparator") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div align=center>{<div align=left>foo</div><img src=/img/lion.svg>}</div>" queryCommandValue("defaultparagraphseparator") after 
+FAIL [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div align=center>{<div align=left>foo</div><img src=/img/lion.svg>}</div>" queryCommandIndeterm("justifycenter") before assert_equals: Wrong result returned expected true but got false
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div align=center>{<div align=left>foo</div><img src=/img/lion.svg>}</div>" queryCommandState("justifycenter") before 
+FAIL [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div align=center>{<div align=left>foo</div><img src=/img/lion.svg>}</div>" queryCommandValue("justifycenter") before assert_equals: Wrong result returned expected "left" but got "false"
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div align=center>{<div align=left>foo</div><img src=/img/lion.svg>}</div>" queryCommandIndeterm("justifycenter") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div align=center>{<div align=left>foo</div><img src=/img/lion.svg>}</div>" queryCommandState("justifycenter") after 
+FAIL [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div align=center>{<div align=left>foo</div><img src=/img/lion.svg>}</div>" queryCommandValue("justifycenter") after assert_equals: Wrong result returned expected "center" but got "true"
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div align=center>{<div align=left>foo</div><img src=/img/lion.svg>}</div>": execCommand("stylewithcss", false, "false") return value 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div align=center>{<div align=left>foo</div><img src=/img/lion.svg>}</div>": execCommand("defaultparagraphseparator", false, "div") return value 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div align=center>{<div align=left>foo</div><img src=/img/lion.svg>}</div>": execCommand("justifycenter", false, "") return value 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div align=center>{<div align=left>foo</div><img src=/img/lion.svg>}</div>" checks for modifications to non-editable content 
+FAIL [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div align=center>{<div align=left>foo</div><img src=/img/lion.svg>}</div>" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<div style=\"text-align:center\">foo<br><img src=\"/img/lion.svg\"></div>" but got "<div align=\"center\"><div align=\"left\" style=\"text-align:center\">foo</div><img src=\"/img/lion.svg\"></div>"
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div align=center>{<div align=left>foo</div><img src=/img/lion.svg>}</div>" queryCommandIndeterm("stylewithcss") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div align=center>{<div align=left>foo</div><img src=/img/lion.svg>}</div>" queryCommandState("stylewithcss") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div align=center>{<div align=left>foo</div><img src=/img/lion.svg>}</div>" queryCommandValue("stylewithcss") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div align=center>{<div align=left>foo</div><img src=/img/lion.svg>}</div>" queryCommandIndeterm("stylewithcss") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div align=center>{<div align=left>foo</div><img src=/img/lion.svg>}</div>" queryCommandState("stylewithcss") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div align=center>{<div align=left>foo</div><img src=/img/lion.svg>}</div>" queryCommandValue("stylewithcss") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div align=center>{<div align=left>foo</div><img src=/img/lion.svg>}</div>" queryCommandIndeterm("defaultparagraphseparator") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div align=center>{<div align=left>foo</div><img src=/img/lion.svg>}</div>" queryCommandState("defaultparagraphseparator") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div align=center>{<div align=left>foo</div><img src=/img/lion.svg>}</div>" queryCommandValue("defaultparagraphseparator") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div align=center>{<div align=left>foo</div><img src=/img/lion.svg>}</div>" queryCommandIndeterm("defaultparagraphseparator") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div align=center>{<div align=left>foo</div><img src=/img/lion.svg>}</div>" queryCommandState("defaultparagraphseparator") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div align=center>{<div align=left>foo</div><img src=/img/lion.svg>}</div>" queryCommandValue("defaultparagraphseparator") after 
+FAIL [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div align=center>{<div align=left>foo</div><img src=/img/lion.svg>}</div>" queryCommandIndeterm("justifycenter") before assert_equals: Wrong result returned expected true but got false
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div align=center>{<div align=left>foo</div><img src=/img/lion.svg>}</div>" queryCommandState("justifycenter") before 
+FAIL [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div align=center>{<div align=left>foo</div><img src=/img/lion.svg>}</div>" queryCommandValue("justifycenter") before assert_equals: Wrong result returned expected "left" but got "false"
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div align=center>{<div align=left>foo</div><img src=/img/lion.svg>}</div>" queryCommandIndeterm("justifycenter") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div align=center>{<div align=left>foo</div><img src=/img/lion.svg>}</div>" queryCommandState("justifycenter") after 
+FAIL [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div align=center>{<div align=left>foo</div><img src=/img/lion.svg>}</div>" queryCommandValue("justifycenter") after assert_equals: Wrong result returned expected "center" but got "true"
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div align=center>{<div align=left>foo</div><img src=/img/lion.svg>}</div>": execCommand("stylewithcss", false, "true") return value 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div align=center>{<div align=left>foo</div><img src=/img/lion.svg>}</div>": execCommand("defaultparagraphseparator", false, "p") return value 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div align=center>{<div align=left>foo</div><img src=/img/lion.svg>}</div>": execCommand("justifycenter", false, "") return value 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div align=center>{<div align=left>foo</div><img src=/img/lion.svg>}</div>" checks for modifications to non-editable content 
+FAIL [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div align=center>{<div align=left>foo</div><img src=/img/lion.svg>}</div>" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<div style=\"text-align:center\">foo<br><img src=\"/img/lion.svg\"></div>" but got "<div align=\"center\"><div align=\"left\" style=\"text-align:center\">foo</div><img src=\"/img/lion.svg\"></div>"
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div align=center>{<div align=left>foo</div><img src=/img/lion.svg>}</div>" queryCommandIndeterm("stylewithcss") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div align=center>{<div align=left>foo</div><img src=/img/lion.svg>}</div>" queryCommandState("stylewithcss") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div align=center>{<div align=left>foo</div><img src=/img/lion.svg>}</div>" queryCommandValue("stylewithcss") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div align=center>{<div align=left>foo</div><img src=/img/lion.svg>}</div>" queryCommandIndeterm("stylewithcss") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div align=center>{<div align=left>foo</div><img src=/img/lion.svg>}</div>" queryCommandState("stylewithcss") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div align=center>{<div align=left>foo</div><img src=/img/lion.svg>}</div>" queryCommandValue("stylewithcss") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div align=center>{<div align=left>foo</div><img src=/img/lion.svg>}</div>" queryCommandIndeterm("defaultparagraphseparator") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div align=center>{<div align=left>foo</div><img src=/img/lion.svg>}</div>" queryCommandState("defaultparagraphseparator") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div align=center>{<div align=left>foo</div><img src=/img/lion.svg>}</div>" queryCommandValue("defaultparagraphseparator") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div align=center>{<div align=left>foo</div><img src=/img/lion.svg>}</div>" queryCommandIndeterm("defaultparagraphseparator") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div align=center>{<div align=left>foo</div><img src=/img/lion.svg>}</div>" queryCommandState("defaultparagraphseparator") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div align=center>{<div align=left>foo</div><img src=/img/lion.svg>}</div>" queryCommandValue("defaultparagraphseparator") after 
+FAIL [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div align=center>{<div align=left>foo</div><img src=/img/lion.svg>}</div>" queryCommandIndeterm("justifycenter") before assert_equals: Wrong result returned expected true but got false
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div align=center>{<div align=left>foo</div><img src=/img/lion.svg>}</div>" queryCommandState("justifycenter") before 
+FAIL [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div align=center>{<div align=left>foo</div><img src=/img/lion.svg>}</div>" queryCommandValue("justifycenter") before assert_equals: Wrong result returned expected "left" but got "false"
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div align=center>{<div align=left>foo</div><img src=/img/lion.svg>}</div>" queryCommandIndeterm("justifycenter") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div align=center>{<div align=left>foo</div><img src=/img/lion.svg>}</div>" queryCommandState("justifycenter") after 
+FAIL [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div align=center>{<div align=left>foo</div><img src=/img/lion.svg>}</div>" queryCommandValue("justifycenter") after assert_equals: Wrong result returned expected "center" but got "true"
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div align=center>{<div align=left>foo</div><img src=/img/lion.svg>}</div>": execCommand("stylewithcss", false, "false") return value 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div align=center>{<div align=left>foo</div><img src=/img/lion.svg>}</div>": execCommand("defaultparagraphseparator", false, "p") return value 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div align=center>{<div align=left>foo</div><img src=/img/lion.svg>}</div>": execCommand("justifycenter", false, "") return value 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div align=center>{<div align=left>foo</div><img src=/img/lion.svg>}</div>" checks for modifications to non-editable content 
+FAIL [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div align=center>{<div align=left>foo</div><img src=/img/lion.svg>}</div>" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<div style=\"text-align:center\">foo<br><img src=\"/img/lion.svg\"></div>" but got "<div align=\"center\"><div align=\"left\" style=\"text-align:center\">foo</div><img src=\"/img/lion.svg\"></div>"
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div align=center>{<div align=left>foo</div><img src=/img/lion.svg>}</div>" queryCommandIndeterm("stylewithcss") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div align=center>{<div align=left>foo</div><img src=/img/lion.svg>}</div>" queryCommandState("stylewithcss") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div align=center>{<div align=left>foo</div><img src=/img/lion.svg>}</div>" queryCommandValue("stylewithcss") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div align=center>{<div align=left>foo</div><img src=/img/lion.svg>}</div>" queryCommandIndeterm("stylewithcss") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div align=center>{<div align=left>foo</div><img src=/img/lion.svg>}</div>" queryCommandState("stylewithcss") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div align=center>{<div align=left>foo</div><img src=/img/lion.svg>}</div>" queryCommandValue("stylewithcss") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div align=center>{<div align=left>foo</div><img src=/img/lion.svg>}</div>" queryCommandIndeterm("defaultparagraphseparator") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div align=center>{<div align=left>foo</div><img src=/img/lion.svg>}</div>" queryCommandState("defaultparagraphseparator") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div align=center>{<div align=left>foo</div><img src=/img/lion.svg>}</div>" queryCommandValue("defaultparagraphseparator") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div align=center>{<div align=left>foo</div><img src=/img/lion.svg>}</div>" queryCommandIndeterm("defaultparagraphseparator") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div align=center>{<div align=left>foo</div><img src=/img/lion.svg>}</div>" queryCommandState("defaultparagraphseparator") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div align=center>{<div align=left>foo</div><img src=/img/lion.svg>}</div>" queryCommandValue("defaultparagraphseparator") after 
+FAIL [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div align=center>{<div align=left>foo</div><img src=/img/lion.svg>}</div>" queryCommandIndeterm("justifycenter") before assert_equals: Wrong result returned expected true but got false
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div align=center>{<div align=left>foo</div><img src=/img/lion.svg>}</div>" queryCommandState("justifycenter") before 
+FAIL [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div align=center>{<div align=left>foo</div><img src=/img/lion.svg>}</div>" queryCommandValue("justifycenter") before assert_equals: Wrong result returned expected "left" but got "false"
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div align=center>{<div align=left>foo</div><img src=/img/lion.svg>}</div>" queryCommandIndeterm("justifycenter") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div align=center>{<div align=left>foo</div><img src=/img/lion.svg>}</div>" queryCommandState("justifycenter") after 
+FAIL [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div align=center>{<div align=left>foo</div><img src=/img/lion.svg>}</div>" queryCommandValue("justifycenter") after assert_equals: Wrong result returned expected "center" but got "true"
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div align=left>{<div align=center>foo</div><img src=/img/lion.svg>}</div>": execCommand("stylewithcss", false, "true") return value 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div align=left>{<div align=center>foo</div><img src=/img/lion.svg>}</div>": execCommand("defaultparagraphseparator", false, "div") return value 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div align=left>{<div align=center>foo</div><img src=/img/lion.svg>}</div>": execCommand("justifycenter", false, "") return value 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div align=left>{<div align=center>foo</div><img src=/img/lion.svg>}</div>" checks for modifications to non-editable content 
+FAIL [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div align=left>{<div align=center>foo</div><img src=/img/lion.svg>}</div>" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<div style=\"text-align:center\">foo<br><img src=\"/img/lion.svg\"></div>" but got "<div align=\"left\"><div align=\"center\">foo</div><div style=\"text-align:center\"><img src=\"/img/lion.svg\"></div></div>"
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div align=left>{<div align=center>foo</div><img src=/img/lion.svg>}</div>" queryCommandIndeterm("stylewithcss") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div align=left>{<div align=center>foo</div><img src=/img/lion.svg>}</div>" queryCommandState("stylewithcss") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div align=left>{<div align=center>foo</div><img src=/img/lion.svg>}</div>" queryCommandValue("stylewithcss") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div align=left>{<div align=center>foo</div><img src=/img/lion.svg>}</div>" queryCommandIndeterm("stylewithcss") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div align=left>{<div align=center>foo</div><img src=/img/lion.svg>}</div>" queryCommandState("stylewithcss") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div align=left>{<div align=center>foo</div><img src=/img/lion.svg>}</div>" queryCommandValue("stylewithcss") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div align=left>{<div align=center>foo</div><img src=/img/lion.svg>}</div>" queryCommandIndeterm("defaultparagraphseparator") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div align=left>{<div align=center>foo</div><img src=/img/lion.svg>}</div>" queryCommandState("defaultparagraphseparator") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div align=left>{<div align=center>foo</div><img src=/img/lion.svg>}</div>" queryCommandValue("defaultparagraphseparator") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div align=left>{<div align=center>foo</div><img src=/img/lion.svg>}</div>" queryCommandIndeterm("defaultparagraphseparator") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div align=left>{<div align=center>foo</div><img src=/img/lion.svg>}</div>" queryCommandState("defaultparagraphseparator") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div align=left>{<div align=center>foo</div><img src=/img/lion.svg>}</div>" queryCommandValue("defaultparagraphseparator") after 
+FAIL [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div align=left>{<div align=center>foo</div><img src=/img/lion.svg>}</div>" queryCommandIndeterm("justifycenter") before assert_equals: Wrong result returned expected true but got false
+FAIL [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div align=left>{<div align=center>foo</div><img src=/img/lion.svg>}</div>" queryCommandState("justifycenter") before assert_equals: Wrong result returned expected false but got true
+FAIL [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div align=left>{<div align=center>foo</div><img src=/img/lion.svg>}</div>" queryCommandValue("justifycenter") before assert_equals: Wrong result returned expected "center" but got "true"
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div align=left>{<div align=center>foo</div><img src=/img/lion.svg>}</div>" queryCommandIndeterm("justifycenter") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div align=left>{<div align=center>foo</div><img src=/img/lion.svg>}</div>" queryCommandState("justifycenter") after 
+FAIL [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div align=left>{<div align=center>foo</div><img src=/img/lion.svg>}</div>" queryCommandValue("justifycenter") after assert_equals: Wrong result returned expected "center" but got "true"
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div align=left>{<div align=center>foo</div><img src=/img/lion.svg>}</div>": execCommand("stylewithcss", false, "false") return value 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div align=left>{<div align=center>foo</div><img src=/img/lion.svg>}</div>": execCommand("defaultparagraphseparator", false, "div") return value 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div align=left>{<div align=center>foo</div><img src=/img/lion.svg>}</div>": execCommand("justifycenter", false, "") return value 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div align=left>{<div align=center>foo</div><img src=/img/lion.svg>}</div>" checks for modifications to non-editable content 
+FAIL [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div align=left>{<div align=center>foo</div><img src=/img/lion.svg>}</div>" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<div style=\"text-align:center\">foo<br><img src=\"/img/lion.svg\"></div>" but got "<div align=\"left\"><div align=\"center\">foo</div><div style=\"text-align:center\"><img src=\"/img/lion.svg\"></div></div>"
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div align=left>{<div align=center>foo</div><img src=/img/lion.svg>}</div>" queryCommandIndeterm("stylewithcss") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div align=left>{<div align=center>foo</div><img src=/img/lion.svg>}</div>" queryCommandState("stylewithcss") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div align=left>{<div align=center>foo</div><img src=/img/lion.svg>}</div>" queryCommandValue("stylewithcss") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div align=left>{<div align=center>foo</div><img src=/img/lion.svg>}</div>" queryCommandIndeterm("stylewithcss") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div align=left>{<div align=center>foo</div><img src=/img/lion.svg>}</div>" queryCommandState("stylewithcss") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div align=left>{<div align=center>foo</div><img src=/img/lion.svg>}</div>" queryCommandValue("stylewithcss") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div align=left>{<div align=center>foo</div><img src=/img/lion.svg>}</div>" queryCommandIndeterm("defaultparagraphseparator") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div align=left>{<div align=center>foo</div><img src=/img/lion.svg>}</div>" queryCommandState("defaultparagraphseparator") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div align=left>{<div align=center>foo</div><img src=/img/lion.svg>}</div>" queryCommandValue("defaultparagraphseparator") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div align=left>{<div align=center>foo</div><img src=/img/lion.svg>}</div>" queryCommandIndeterm("defaultparagraphseparator") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div align=left>{<div align=center>foo</div><img src=/img/lion.svg>}</div>" queryCommandState("defaultparagraphseparator") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div align=left>{<div align=center>foo</div><img src=/img/lion.svg>}</div>" queryCommandValue("defaultparagraphseparator") after 
+FAIL [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div align=left>{<div align=center>foo</div><img src=/img/lion.svg>}</div>" queryCommandIndeterm("justifycenter") before assert_equals: Wrong result returned expected true but got false
+FAIL [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div align=left>{<div align=center>foo</div><img src=/img/lion.svg>}</div>" queryCommandState("justifycenter") before assert_equals: Wrong result returned expected false but got true
+FAIL [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div align=left>{<div align=center>foo</div><img src=/img/lion.svg>}</div>" queryCommandValue("justifycenter") before assert_equals: Wrong result returned expected "center" but got "true"
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div align=left>{<div align=center>foo</div><img src=/img/lion.svg>}</div>" queryCommandIndeterm("justifycenter") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div align=left>{<div align=center>foo</div><img src=/img/lion.svg>}</div>" queryCommandState("justifycenter") after 
+FAIL [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div align=left>{<div align=center>foo</div><img src=/img/lion.svg>}</div>" queryCommandValue("justifycenter") after assert_equals: Wrong result returned expected "center" but got "true"
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div align=left>{<div align=center>foo</div><img src=/img/lion.svg>}</div>": execCommand("stylewithcss", false, "true") return value 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div align=left>{<div align=center>foo</div><img src=/img/lion.svg>}</div>": execCommand("defaultparagraphseparator", false, "p") return value 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div align=left>{<div align=center>foo</div><img src=/img/lion.svg>}</div>": execCommand("justifycenter", false, "") return value 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div align=left>{<div align=center>foo</div><img src=/img/lion.svg>}</div>" checks for modifications to non-editable content 
+FAIL [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div align=left>{<div align=center>foo</div><img src=/img/lion.svg>}</div>" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<div style=\"text-align:center\">foo<br><img src=\"/img/lion.svg\"></div>" but got "<div align=\"left\"><div align=\"center\">foo</div><p style=\"text-align:center\"><img src=\"/img/lion.svg\"></p></div>"
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div align=left>{<div align=center>foo</div><img src=/img/lion.svg>}</div>" queryCommandIndeterm("stylewithcss") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div align=left>{<div align=center>foo</div><img src=/img/lion.svg>}</div>" queryCommandState("stylewithcss") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div align=left>{<div align=center>foo</div><img src=/img/lion.svg>}</div>" queryCommandValue("stylewithcss") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div align=left>{<div align=center>foo</div><img src=/img/lion.svg>}</div>" queryCommandIndeterm("stylewithcss") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div align=left>{<div align=center>foo</div><img src=/img/lion.svg>}</div>" queryCommandState("stylewithcss") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div align=left>{<div align=center>foo</div><img src=/img/lion.svg>}</div>" queryCommandValue("stylewithcss") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div align=left>{<div align=center>foo</div><img src=/img/lion.svg>}</div>" queryCommandIndeterm("defaultparagraphseparator") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div align=left>{<div align=center>foo</div><img src=/img/lion.svg>}</div>" queryCommandState("defaultparagraphseparator") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div align=left>{<div align=center>foo</div><img src=/img/lion.svg>}</div>" queryCommandValue("defaultparagraphseparator") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div align=left>{<div align=center>foo</div><img src=/img/lion.svg>}</div>" queryCommandIndeterm("defaultparagraphseparator") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div align=left>{<div align=center>foo</div><img src=/img/lion.svg>}</div>" queryCommandState("defaultparagraphseparator") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div align=left>{<div align=center>foo</div><img src=/img/lion.svg>}</div>" queryCommandValue("defaultparagraphseparator") after 
+FAIL [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div align=left>{<div align=center>foo</div><img src=/img/lion.svg>}</div>" queryCommandIndeterm("justifycenter") before assert_equals: Wrong result returned expected true but got false
+FAIL [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div align=left>{<div align=center>foo</div><img src=/img/lion.svg>}</div>" queryCommandState("justifycenter") before assert_equals: Wrong result returned expected false but got true
+FAIL [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div align=left>{<div align=center>foo</div><img src=/img/lion.svg>}</div>" queryCommandValue("justifycenter") before assert_equals: Wrong result returned expected "center" but got "true"
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div align=left>{<div align=center>foo</div><img src=/img/lion.svg>}</div>" queryCommandIndeterm("justifycenter") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div align=left>{<div align=center>foo</div><img src=/img/lion.svg>}</div>" queryCommandState("justifycenter") after 
+FAIL [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div align=left>{<div align=center>foo</div><img src=/img/lion.svg>}</div>" queryCommandValue("justifycenter") after assert_equals: Wrong result returned expected "center" but got "true"
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div align=left>{<div align=center>foo</div><img src=/img/lion.svg>}</div>": execCommand("stylewithcss", false, "false") return value 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div align=left>{<div align=center>foo</div><img src=/img/lion.svg>}</div>": execCommand("defaultparagraphseparator", false, "p") return value 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div align=left>{<div align=center>foo</div><img src=/img/lion.svg>}</div>": execCommand("justifycenter", false, "") return value 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div align=left>{<div align=center>foo</div><img src=/img/lion.svg>}</div>" checks for modifications to non-editable content 
+FAIL [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div align=left>{<div align=center>foo</div><img src=/img/lion.svg>}</div>" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<div style=\"text-align:center\">foo<br><img src=\"/img/lion.svg\"></div>" but got "<div align=\"left\"><div align=\"center\">foo</div><p style=\"text-align:center\"><img src=\"/img/lion.svg\"></p></div>"
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div align=left>{<div align=center>foo</div><img src=/img/lion.svg>}</div>" queryCommandIndeterm("stylewithcss") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div align=left>{<div align=center>foo</div><img src=/img/lion.svg>}</div>" queryCommandState("stylewithcss") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div align=left>{<div align=center>foo</div><img src=/img/lion.svg>}</div>" queryCommandValue("stylewithcss") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div align=left>{<div align=center>foo</div><img src=/img/lion.svg>}</div>" queryCommandIndeterm("stylewithcss") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div align=left>{<div align=center>foo</div><img src=/img/lion.svg>}</div>" queryCommandState("stylewithcss") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div align=left>{<div align=center>foo</div><img src=/img/lion.svg>}</div>" queryCommandValue("stylewithcss") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div align=left>{<div align=center>foo</div><img src=/img/lion.svg>}</div>" queryCommandIndeterm("defaultparagraphseparator") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div align=left>{<div align=center>foo</div><img src=/img/lion.svg>}</div>" queryCommandState("defaultparagraphseparator") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div align=left>{<div align=center>foo</div><img src=/img/lion.svg>}</div>" queryCommandValue("defaultparagraphseparator") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div align=left>{<div align=center>foo</div><img src=/img/lion.svg>}</div>" queryCommandIndeterm("defaultparagraphseparator") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div align=left>{<div align=center>foo</div><img src=/img/lion.svg>}</div>" queryCommandState("defaultparagraphseparator") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div align=left>{<div align=center>foo</div><img src=/img/lion.svg>}</div>" queryCommandValue("defaultparagraphseparator") after 
+FAIL [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div align=left>{<div align=center>foo</div><img src=/img/lion.svg>}</div>" queryCommandIndeterm("justifycenter") before assert_equals: Wrong result returned expected true but got false
+FAIL [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div align=left>{<div align=center>foo</div><img src=/img/lion.svg>}</div>" queryCommandState("justifycenter") before assert_equals: Wrong result returned expected false but got true
+FAIL [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div align=left>{<div align=center>foo</div><img src=/img/lion.svg>}</div>" queryCommandValue("justifycenter") before assert_equals: Wrong result returned expected "center" but got "true"
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div align=left>{<div align=center>foo</div><img src=/img/lion.svg>}</div>" queryCommandIndeterm("justifycenter") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div align=left>{<div align=center>foo</div><img src=/img/lion.svg>}</div>" queryCommandState("justifycenter") after 
+FAIL [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div align=left>{<div align=center>foo</div><img src=/img/lion.svg>}</div>" queryCommandValue("justifycenter") after assert_equals: Wrong result returned expected "center" but got "true"
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div align=center>{<div align=left>foo</div><!-- bar -->}</div>": execCommand("stylewithcss", false, "true") return value 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div align=center>{<div align=left>foo</div><!-- bar -->}</div>": execCommand("defaultparagraphseparator", false, "div") return value 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div align=center>{<div align=left>foo</div><!-- bar -->}</div>": execCommand("justifycenter", false, "") return value 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div align=center>{<div align=left>foo</div><!-- bar -->}</div>" checks for modifications to non-editable content 
+FAIL [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div align=center>{<div align=left>foo</div><!-- bar -->}</div>" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<div style=\"text-align:center\">foo<!-- bar --></div>" but got "<div align=\"center\"><div align=\"left\" style=\"text-align:center\">foo</div><!-- bar --></div>"
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div align=center>{<div align=left>foo</div><!-- bar -->}</div>" queryCommandIndeterm("stylewithcss") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div align=center>{<div align=left>foo</div><!-- bar -->}</div>" queryCommandState("stylewithcss") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div align=center>{<div align=left>foo</div><!-- bar -->}</div>" queryCommandValue("stylewithcss") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div align=center>{<div align=left>foo</div><!-- bar -->}</div>" queryCommandIndeterm("stylewithcss") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div align=center>{<div align=left>foo</div><!-- bar -->}</div>" queryCommandState("stylewithcss") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div align=center>{<div align=left>foo</div><!-- bar -->}</div>" queryCommandValue("stylewithcss") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div align=center>{<div align=left>foo</div><!-- bar -->}</div>" queryCommandIndeterm("defaultparagraphseparator") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div align=center>{<div align=left>foo</div><!-- bar -->}</div>" queryCommandState("defaultparagraphseparator") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div align=center>{<div align=left>foo</div><!-- bar -->}</div>" queryCommandValue("defaultparagraphseparator") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div align=center>{<div align=left>foo</div><!-- bar -->}</div>" queryCommandIndeterm("defaultparagraphseparator") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div align=center>{<div align=left>foo</div><!-- bar -->}</div>" queryCommandState("defaultparagraphseparator") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div align=center>{<div align=left>foo</div><!-- bar -->}</div>" queryCommandValue("defaultparagraphseparator") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div align=center>{<div align=left>foo</div><!-- bar -->}</div>" queryCommandIndeterm("justifycenter") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div align=center>{<div align=left>foo</div><!-- bar -->}</div>" queryCommandState("justifycenter") before 
+FAIL [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div align=center>{<div align=left>foo</div><!-- bar -->}</div>" queryCommandValue("justifycenter") before assert_equals: Wrong result returned expected "left" but got "false"
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div align=center>{<div align=left>foo</div><!-- bar -->}</div>" queryCommandIndeterm("justifycenter") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div align=center>{<div align=left>foo</div><!-- bar -->}</div>" queryCommandState("justifycenter") after 
+FAIL [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div align=center>{<div align=left>foo</div><!-- bar -->}</div>" queryCommandValue("justifycenter") after assert_equals: Wrong result returned expected "center" but got "true"
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div align=center>{<div align=left>foo</div><!-- bar -->}</div>": execCommand("stylewithcss", false, "false") return value 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div align=center>{<div align=left>foo</div><!-- bar -->}</div>": execCommand("defaultparagraphseparator", false, "div") return value 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div align=center>{<div align=left>foo</div><!-- bar -->}</div>": execCommand("justifycenter", false, "") return value 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div align=center>{<div align=left>foo</div><!-- bar -->}</div>" checks for modifications to non-editable content 
+FAIL [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div align=center>{<div align=left>foo</div><!-- bar -->}</div>" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<div style=\"text-align:center\">foo<!-- bar --></div>" but got "<div align=\"center\"><div align=\"left\" style=\"text-align:center\">foo</div><!-- bar --></div>"
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div align=center>{<div align=left>foo</div><!-- bar -->}</div>" queryCommandIndeterm("stylewithcss") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div align=center>{<div align=left>foo</div><!-- bar -->}</div>" queryCommandState("stylewithcss") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div align=center>{<div align=left>foo</div><!-- bar -->}</div>" queryCommandValue("stylewithcss") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div align=center>{<div align=left>foo</div><!-- bar -->}</div>" queryCommandIndeterm("stylewithcss") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div align=center>{<div align=left>foo</div><!-- bar -->}</div>" queryCommandState("stylewithcss") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div align=center>{<div align=left>foo</div><!-- bar -->}</div>" queryCommandValue("stylewithcss") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div align=center>{<div align=left>foo</div><!-- bar -->}</div>" queryCommandIndeterm("defaultparagraphseparator") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div align=center>{<div align=left>foo</div><!-- bar -->}</div>" queryCommandState("defaultparagraphseparator") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div align=center>{<div align=left>foo</div><!-- bar -->}</div>" queryCommandValue("defaultparagraphseparator") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div align=center>{<div align=left>foo</div><!-- bar -->}</div>" queryCommandIndeterm("defaultparagraphseparator") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div align=center>{<div align=left>foo</div><!-- bar -->}</div>" queryCommandState("defaultparagraphseparator") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div align=center>{<div align=left>foo</div><!-- bar -->}</div>" queryCommandValue("defaultparagraphseparator") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div align=center>{<div align=left>foo</div><!-- bar -->}</div>" queryCommandIndeterm("justifycenter") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div align=center>{<div align=left>foo</div><!-- bar -->}</div>" queryCommandState("justifycenter") before 
+FAIL [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div align=center>{<div align=left>foo</div><!-- bar -->}</div>" queryCommandValue("justifycenter") before assert_equals: Wrong result returned expected "left" but got "false"
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div align=center>{<div align=left>foo</div><!-- bar -->}</div>" queryCommandIndeterm("justifycenter") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div align=center>{<div align=left>foo</div><!-- bar -->}</div>" queryCommandState("justifycenter") after 
+FAIL [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div align=center>{<div align=left>foo</div><!-- bar -->}</div>" queryCommandValue("justifycenter") after assert_equals: Wrong result returned expected "center" but got "true"
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div align=center>{<div align=left>foo</div><!-- bar -->}</div>": execCommand("stylewithcss", false, "true") return value 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div align=center>{<div align=left>foo</div><!-- bar -->}</div>": execCommand("defaultparagraphseparator", false, "p") return value 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div align=center>{<div align=left>foo</div><!-- bar -->}</div>": execCommand("justifycenter", false, "") return value 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div align=center>{<div align=left>foo</div><!-- bar -->}</div>" checks for modifications to non-editable content 
+FAIL [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div align=center>{<div align=left>foo</div><!-- bar -->}</div>" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<div style=\"text-align:center\">foo<!-- bar --></div>" but got "<div align=\"center\"><div align=\"left\" style=\"text-align:center\">foo</div><!-- bar --></div>"
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div align=center>{<div align=left>foo</div><!-- bar -->}</div>" queryCommandIndeterm("stylewithcss") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div align=center>{<div align=left>foo</div><!-- bar -->}</div>" queryCommandState("stylewithcss") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div align=center>{<div align=left>foo</div><!-- bar -->}</div>" queryCommandValue("stylewithcss") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div align=center>{<div align=left>foo</div><!-- bar -->}</div>" queryCommandIndeterm("stylewithcss") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div align=center>{<div align=left>foo</div><!-- bar -->}</div>" queryCommandState("stylewithcss") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div align=center>{<div align=left>foo</div><!-- bar -->}</div>" queryCommandValue("stylewithcss") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div align=center>{<div align=left>foo</div><!-- bar -->}</div>" queryCommandIndeterm("defaultparagraphseparator") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div align=center>{<div align=left>foo</div><!-- bar -->}</div>" queryCommandState("defaultparagraphseparator") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div align=center>{<div align=left>foo</div><!-- bar -->}</div>" queryCommandValue("defaultparagraphseparator") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div align=center>{<div align=left>foo</div><!-- bar -->}</div>" queryCommandIndeterm("defaultparagraphseparator") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div align=center>{<div align=left>foo</div><!-- bar -->}</div>" queryCommandState("defaultparagraphseparator") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div align=center>{<div align=left>foo</div><!-- bar -->}</div>" queryCommandValue("defaultparagraphseparator") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div align=center>{<div align=left>foo</div><!-- bar -->}</div>" queryCommandIndeterm("justifycenter") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div align=center>{<div align=left>foo</div><!-- bar -->}</div>" queryCommandState("justifycenter") before 
+FAIL [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div align=center>{<div align=left>foo</div><!-- bar -->}</div>" queryCommandValue("justifycenter") before assert_equals: Wrong result returned expected "left" but got "false"
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div align=center>{<div align=left>foo</div><!-- bar -->}</div>" queryCommandIndeterm("justifycenter") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div align=center>{<div align=left>foo</div><!-- bar -->}</div>" queryCommandState("justifycenter") after 
+FAIL [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div align=center>{<div align=left>foo</div><!-- bar -->}</div>" queryCommandValue("justifycenter") after assert_equals: Wrong result returned expected "center" but got "true"
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div align=center>{<div align=left>foo</div><!-- bar -->}</div>": execCommand("stylewithcss", false, "false") return value 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div align=center>{<div align=left>foo</div><!-- bar -->}</div>": execCommand("defaultparagraphseparator", false, "p") return value 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div align=center>{<div align=left>foo</div><!-- bar -->}</div>": execCommand("justifycenter", false, "") return value 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div align=center>{<div align=left>foo</div><!-- bar -->}</div>" checks for modifications to non-editable content 
+FAIL [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div align=center>{<div align=left>foo</div><!-- bar -->}</div>" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<div style=\"text-align:center\">foo<!-- bar --></div>" but got "<div align=\"center\"><div align=\"left\" style=\"text-align:center\">foo</div><!-- bar --></div>"
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div align=center>{<div align=left>foo</div><!-- bar -->}</div>" queryCommandIndeterm("stylewithcss") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div align=center>{<div align=left>foo</div><!-- bar -->}</div>" queryCommandState("stylewithcss") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div align=center>{<div align=left>foo</div><!-- bar -->}</div>" queryCommandValue("stylewithcss") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div align=center>{<div align=left>foo</div><!-- bar -->}</div>" queryCommandIndeterm("stylewithcss") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div align=center>{<div align=left>foo</div><!-- bar -->}</div>" queryCommandState("stylewithcss") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div align=center>{<div align=left>foo</div><!-- bar -->}</div>" queryCommandValue("stylewithcss") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div align=center>{<div align=left>foo</div><!-- bar -->}</div>" queryCommandIndeterm("defaultparagraphseparator") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div align=center>{<div align=left>foo</div><!-- bar -->}</div>" queryCommandState("defaultparagraphseparator") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div align=center>{<div align=left>foo</div><!-- bar -->}</div>" queryCommandValue("defaultparagraphseparator") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div align=center>{<div align=left>foo</div><!-- bar -->}</div>" queryCommandIndeterm("defaultparagraphseparator") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div align=center>{<div align=left>foo</div><!-- bar -->}</div>" queryCommandState("defaultparagraphseparator") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div align=center>{<div align=left>foo</div><!-- bar -->}</div>" queryCommandValue("defaultparagraphseparator") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div align=center>{<div align=left>foo</div><!-- bar -->}</div>" queryCommandIndeterm("justifycenter") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div align=center>{<div align=left>foo</div><!-- bar -->}</div>" queryCommandState("justifycenter") before 
+FAIL [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div align=center>{<div align=left>foo</div><!-- bar -->}</div>" queryCommandValue("justifycenter") before assert_equals: Wrong result returned expected "left" but got "false"
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div align=center>{<div align=left>foo</div><!-- bar -->}</div>" queryCommandIndeterm("justifycenter") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div align=center>{<div align=left>foo</div><!-- bar -->}</div>" queryCommandState("justifycenter") after 
+FAIL [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div align=center>{<div align=left>foo</div><!-- bar -->}</div>" queryCommandValue("justifycenter") after assert_equals: Wrong result returned expected "center" but got "true"
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div align=left>{<div align=center>foo</div><!-- bar -->}</div>": execCommand("stylewithcss", false, "true") return value 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div align=left>{<div align=center>foo</div><!-- bar -->}</div>": execCommand("defaultparagraphseparator", false, "div") return value 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div align=left>{<div align=center>foo</div><!-- bar -->}</div>": execCommand("justifycenter", false, "") return value 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div align=left>{<div align=center>foo</div><!-- bar -->}</div>" checks for modifications to non-editable content 
+FAIL [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div align=left>{<div align=center>foo</div><!-- bar -->}</div>" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<div style=\"text-align:center\">foo<!-- bar --></div>" but got "<div align=\"left\"><div align=\"center\">foo</div><!-- bar --></div>"
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div align=left>{<div align=center>foo</div><!-- bar -->}</div>" queryCommandIndeterm("stylewithcss") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div align=left>{<div align=center>foo</div><!-- bar -->}</div>" queryCommandState("stylewithcss") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div align=left>{<div align=center>foo</div><!-- bar -->}</div>" queryCommandValue("stylewithcss") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div align=left>{<div align=center>foo</div><!-- bar -->}</div>" queryCommandIndeterm("stylewithcss") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div align=left>{<div align=center>foo</div><!-- bar -->}</div>" queryCommandState("stylewithcss") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div align=left>{<div align=center>foo</div><!-- bar -->}</div>" queryCommandValue("stylewithcss") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div align=left>{<div align=center>foo</div><!-- bar -->}</div>" queryCommandIndeterm("defaultparagraphseparator") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div align=left>{<div align=center>foo</div><!-- bar -->}</div>" queryCommandState("defaultparagraphseparator") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div align=left>{<div align=center>foo</div><!-- bar -->}</div>" queryCommandValue("defaultparagraphseparator") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div align=left>{<div align=center>foo</div><!-- bar -->}</div>" queryCommandIndeterm("defaultparagraphseparator") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div align=left>{<div align=center>foo</div><!-- bar -->}</div>" queryCommandState("defaultparagraphseparator") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div align=left>{<div align=center>foo</div><!-- bar -->}</div>" queryCommandValue("defaultparagraphseparator") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div align=left>{<div align=center>foo</div><!-- bar -->}</div>" queryCommandIndeterm("justifycenter") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div align=left>{<div align=center>foo</div><!-- bar -->}</div>" queryCommandState("justifycenter") before 
+FAIL [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div align=left>{<div align=center>foo</div><!-- bar -->}</div>" queryCommandValue("justifycenter") before assert_equals: Wrong result returned expected "center" but got "true"
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div align=left>{<div align=center>foo</div><!-- bar -->}</div>" queryCommandIndeterm("justifycenter") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div align=left>{<div align=center>foo</div><!-- bar -->}</div>" queryCommandState("justifycenter") after 
+FAIL [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div align=left>{<div align=center>foo</div><!-- bar -->}</div>" queryCommandValue("justifycenter") after assert_equals: Wrong result returned expected "center" but got "true"
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div align=left>{<div align=center>foo</div><!-- bar -->}</div>": execCommand("stylewithcss", false, "false") return value 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div align=left>{<div align=center>foo</div><!-- bar -->}</div>": execCommand("defaultparagraphseparator", false, "div") return value 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div align=left>{<div align=center>foo</div><!-- bar -->}</div>": execCommand("justifycenter", false, "") return value 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div align=left>{<div align=center>foo</div><!-- bar -->}</div>" checks for modifications to non-editable content 
+FAIL [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div align=left>{<div align=center>foo</div><!-- bar -->}</div>" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<div style=\"text-align:center\">foo<!-- bar --></div>" but got "<div align=\"left\"><div align=\"center\">foo</div><!-- bar --></div>"
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div align=left>{<div align=center>foo</div><!-- bar -->}</div>" queryCommandIndeterm("stylewithcss") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div align=left>{<div align=center>foo</div><!-- bar -->}</div>" queryCommandState("stylewithcss") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div align=left>{<div align=center>foo</div><!-- bar -->}</div>" queryCommandValue("stylewithcss") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div align=left>{<div align=center>foo</div><!-- bar -->}</div>" queryCommandIndeterm("stylewithcss") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div align=left>{<div align=center>foo</div><!-- bar -->}</div>" queryCommandState("stylewithcss") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div align=left>{<div align=center>foo</div><!-- bar -->}</div>" queryCommandValue("stylewithcss") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div align=left>{<div align=center>foo</div><!-- bar -->}</div>" queryCommandIndeterm("defaultparagraphseparator") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div align=left>{<div align=center>foo</div><!-- bar -->}</div>" queryCommandState("defaultparagraphseparator") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div align=left>{<div align=center>foo</div><!-- bar -->}</div>" queryCommandValue("defaultparagraphseparator") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div align=left>{<div align=center>foo</div><!-- bar -->}</div>" queryCommandIndeterm("defaultparagraphseparator") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div align=left>{<div align=center>foo</div><!-- bar -->}</div>" queryCommandState("defaultparagraphseparator") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div align=left>{<div align=center>foo</div><!-- bar -->}</div>" queryCommandValue("defaultparagraphseparator") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div align=left>{<div align=center>foo</div><!-- bar -->}</div>" queryCommandIndeterm("justifycenter") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div align=left>{<div align=center>foo</div><!-- bar -->}</div>" queryCommandState("justifycenter") before 
+FAIL [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div align=left>{<div align=center>foo</div><!-- bar -->}</div>" queryCommandValue("justifycenter") before assert_equals: Wrong result returned expected "center" but got "true"
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div align=left>{<div align=center>foo</div><!-- bar -->}</div>" queryCommandIndeterm("justifycenter") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div align=left>{<div align=center>foo</div><!-- bar -->}</div>" queryCommandState("justifycenter") after 
+FAIL [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div align=left>{<div align=center>foo</div><!-- bar -->}</div>" queryCommandValue("justifycenter") after assert_equals: Wrong result returned expected "center" but got "true"
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div align=left>{<div align=center>foo</div><!-- bar -->}</div>": execCommand("stylewithcss", false, "true") return value 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div align=left>{<div align=center>foo</div><!-- bar -->}</div>": execCommand("defaultparagraphseparator", false, "p") return value 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div align=left>{<div align=center>foo</div><!-- bar -->}</div>": execCommand("justifycenter", false, "") return value 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div align=left>{<div align=center>foo</div><!-- bar -->}</div>" checks for modifications to non-editable content 
+FAIL [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div align=left>{<div align=center>foo</div><!-- bar -->}</div>" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<div style=\"text-align:center\">foo<!-- bar --></div>" but got "<div align=\"left\"><div align=\"center\">foo</div><!-- bar --></div>"
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div align=left>{<div align=center>foo</div><!-- bar -->}</div>" queryCommandIndeterm("stylewithcss") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div align=left>{<div align=center>foo</div><!-- bar -->}</div>" queryCommandState("stylewithcss") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div align=left>{<div align=center>foo</div><!-- bar -->}</div>" queryCommandValue("stylewithcss") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div align=left>{<div align=center>foo</div><!-- bar -->}</div>" queryCommandIndeterm("stylewithcss") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div align=left>{<div align=center>foo</div><!-- bar -->}</div>" queryCommandState("stylewithcss") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div align=left>{<div align=center>foo</div><!-- bar -->}</div>" queryCommandValue("stylewithcss") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div align=left>{<div align=center>foo</div><!-- bar -->}</div>" queryCommandIndeterm("defaultparagraphseparator") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div align=left>{<div align=center>foo</div><!-- bar -->}</div>" queryCommandState("defaultparagraphseparator") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div align=left>{<div align=center>foo</div><!-- bar -->}</div>" queryCommandValue("defaultparagraphseparator") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div align=left>{<div align=center>foo</div><!-- bar -->}</div>" queryCommandIndeterm("defaultparagraphseparator") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div align=left>{<div align=center>foo</div><!-- bar -->}</div>" queryCommandState("defaultparagraphseparator") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div align=left>{<div align=center>foo</div><!-- bar -->}</div>" queryCommandValue("defaultparagraphseparator") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div align=left>{<div align=center>foo</div><!-- bar -->}</div>" queryCommandIndeterm("justifycenter") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div align=left>{<div align=center>foo</div><!-- bar -->}</div>" queryCommandState("justifycenter") before 
+FAIL [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div align=left>{<div align=center>foo</div><!-- bar -->}</div>" queryCommandValue("justifycenter") before assert_equals: Wrong result returned expected "center" but got "true"
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div align=left>{<div align=center>foo</div><!-- bar -->}</div>" queryCommandIndeterm("justifycenter") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div align=left>{<div align=center>foo</div><!-- bar -->}</div>" queryCommandState("justifycenter") after 
+FAIL [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div align=left>{<div align=center>foo</div><!-- bar -->}</div>" queryCommandValue("justifycenter") after assert_equals: Wrong result returned expected "center" but got "true"
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div align=left>{<div align=center>foo</div><!-- bar -->}</div>": execCommand("stylewithcss", false, "false") return value 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div align=left>{<div align=center>foo</div><!-- bar -->}</div>": execCommand("defaultparagraphseparator", false, "p") return value 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div align=left>{<div align=center>foo</div><!-- bar -->}</div>": execCommand("justifycenter", false, "") return value 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div align=left>{<div align=center>foo</div><!-- bar -->}</div>" checks for modifications to non-editable content 
+FAIL [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div align=left>{<div align=center>foo</div><!-- bar -->}</div>" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<div style=\"text-align:center\">foo<!-- bar --></div>" but got "<div align=\"left\"><div align=\"center\">foo</div><!-- bar --></div>"
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div align=left>{<div align=center>foo</div><!-- bar -->}</div>" queryCommandIndeterm("stylewithcss") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div align=left>{<div align=center>foo</div><!-- bar -->}</div>" queryCommandState("stylewithcss") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div align=left>{<div align=center>foo</div><!-- bar -->}</div>" queryCommandValue("stylewithcss") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div align=left>{<div align=center>foo</div><!-- bar -->}</div>" queryCommandIndeterm("stylewithcss") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div align=left>{<div align=center>foo</div><!-- bar -->}</div>" queryCommandState("stylewithcss") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div align=left>{<div align=center>foo</div><!-- bar -->}</div>" queryCommandValue("stylewithcss") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div align=left>{<div align=center>foo</div><!-- bar -->}</div>" queryCommandIndeterm("defaultparagraphseparator") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div align=left>{<div align=center>foo</div><!-- bar -->}</div>" queryCommandState("defaultparagraphseparator") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div align=left>{<div align=center>foo</div><!-- bar -->}</div>" queryCommandValue("defaultparagraphseparator") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div align=left>{<div align=center>foo</div><!-- bar -->}</div>" queryCommandIndeterm("defaultparagraphseparator") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div align=left>{<div align=center>foo</div><!-- bar -->}</div>" queryCommandState("defaultparagraphseparator") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div align=left>{<div align=center>foo</div><!-- bar -->}</div>" queryCommandValue("defaultparagraphseparator") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div align=left>{<div align=center>foo</div><!-- bar -->}</div>" queryCommandIndeterm("justifycenter") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div align=left>{<div align=center>foo</div><!-- bar -->}</div>" queryCommandState("justifycenter") before 
+FAIL [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div align=left>{<div align=center>foo</div><!-- bar -->}</div>" queryCommandValue("justifycenter") before assert_equals: Wrong result returned expected "center" but got "true"
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div align=left>{<div align=center>foo</div><!-- bar -->}</div>" queryCommandIndeterm("justifycenter") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div align=left>{<div align=center>foo</div><!-- bar -->}</div>" queryCommandState("justifycenter") after 
+FAIL [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div align=left>{<div align=center>foo</div><!-- bar -->}</div>" queryCommandValue("justifycenter") after assert_equals: Wrong result returned expected "center" but got "true"
+PASS [["justifycenter",""]] "<div style=text-align:start>[foo]</div><p>extra": execCommand("justifycenter", false, "") return value 
+PASS [["justifycenter",""]] "<div style=text-align:start>[foo]</div><p>extra" checks for modifications to non-editable content 
+PASS [["justifycenter",""]] "<div style=text-align:start>[foo]</div><p>extra" compare innerHTML 
+PASS [["justifycenter",""]] "<div style=text-align:start>[foo]</div><p>extra" queryCommandIndeterm("justifycenter") before 
+PASS [["justifycenter",""]] "<div style=text-align:start>[foo]</div><p>extra" queryCommandState("justifycenter") before 
+FAIL [["justifycenter",""]] "<div style=text-align:start>[foo]</div><p>extra" queryCommandValue("justifycenter") before assert_equals: Wrong result returned expected "left" but got "false"
+PASS [["justifycenter",""]] "<div style=text-align:start>[foo]</div><p>extra" queryCommandIndeterm("justifycenter") after 
+PASS [["justifycenter",""]] "<div style=text-align:start>[foo]</div><p>extra" queryCommandState("justifycenter") after 
+FAIL [["justifycenter",""]] "<div style=text-align:start>[foo]</div><p>extra" queryCommandValue("justifycenter") after assert_equals: Wrong result returned expected "center" but got "true"
+PASS [["justifycenter",""]] "<div style=text-align:end>[foo]</div><p>extra": execCommand("justifycenter", false, "") return value 
+PASS [["justifycenter",""]] "<div style=text-align:end>[foo]</div><p>extra" checks for modifications to non-editable content 
+PASS [["justifycenter",""]] "<div style=text-align:end>[foo]</div><p>extra" compare innerHTML 
+PASS [["justifycenter",""]] "<div style=text-align:end>[foo]</div><p>extra" queryCommandIndeterm("justifycenter") before 
+PASS [["justifycenter",""]] "<div style=text-align:end>[foo]</div><p>extra" queryCommandState("justifycenter") before 
+FAIL [["justifycenter",""]] "<div style=text-align:end>[foo]</div><p>extra" queryCommandValue("justifycenter") before assert_equals: Wrong result returned expected "right" but got "false"
+PASS [["justifycenter",""]] "<div style=text-align:end>[foo]</div><p>extra" queryCommandIndeterm("justifycenter") after 
+PASS [["justifycenter",""]] "<div style=text-align:end>[foo]</div><p>extra" queryCommandState("justifycenter") after 
+FAIL [["justifycenter",""]] "<div style=text-align:end>[foo]</div><p>extra" queryCommandValue("justifycenter") after assert_equals: Wrong result returned expected "center" but got "true"
+PASS [["defaultparagraphseparator","div"],["justifycenter",""]] "<div dir=rtl style=text-align:start>[foo]</div><p>extra": execCommand("defaultparagraphseparator", false, "div") return value 
+PASS [["defaultparagraphseparator","div"],["justifycenter",""]] "<div dir=rtl style=text-align:start>[foo]</div><p>extra": execCommand("justifycenter", false, "") return value 
+PASS [["defaultparagraphseparator","div"],["justifycenter",""]] "<div dir=rtl style=text-align:start>[foo]</div><p>extra" checks for modifications to non-editable content 
+FAIL [["defaultparagraphseparator","div"],["justifycenter",""]] "<div dir=rtl style=text-align:start>[foo]</div><p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<div style=\"text-align:center\"><div dir=\"rtl\">foo</div></div><p>extra</p>" but got "<div dir=\"rtl\" style=\"text-align:center\">foo</div><p>extra</p>"
+PASS [["defaultparagraphseparator","div"],["justifycenter",""]] "<div dir=rtl style=text-align:start>[foo]</div><p>extra" queryCommandIndeterm("defaultparagraphseparator") before 
+PASS [["defaultparagraphseparator","div"],["justifycenter",""]] "<div dir=rtl style=text-align:start>[foo]</div><p>extra" queryCommandState("defaultparagraphseparator") before 
+PASS [["defaultparagraphseparator","div"],["justifycenter",""]] "<div dir=rtl style=text-align:start>[foo]</div><p>extra" queryCommandValue("defaultparagraphseparator") before 
+PASS [["defaultparagraphseparator","div"],["justifycenter",""]] "<div dir=rtl style=text-align:start>[foo]</div><p>extra" queryCommandIndeterm("defaultparagraphseparator") after 
+PASS [["defaultparagraphseparator","div"],["justifycenter",""]] "<div dir=rtl style=text-align:start>[foo]</div><p>extra" queryCommandState("defaultparagraphseparator") after 
+PASS [["defaultparagraphseparator","div"],["justifycenter",""]] "<div dir=rtl style=text-align:start>[foo]</div><p>extra" queryCommandValue("defaultparagraphseparator") after 
+PASS [["defaultparagraphseparator","div"],["justifycenter",""]] "<div dir=rtl style=text-align:start>[foo]</div><p>extra" queryCommandIndeterm("justifycenter") before 
+PASS [["defaultparagraphseparator","div"],["justifycenter",""]] "<div dir=rtl style=text-align:start>[foo]</div><p>extra" queryCommandState("justifycenter") before 
+FAIL [["defaultparagraphseparator","div"],["justifycenter",""]] "<div dir=rtl style=text-align:start>[foo]</div><p>extra" queryCommandValue("justifycenter") before assert_equals: Wrong result returned expected "right" but got "false"
+PASS [["defaultparagraphseparator","div"],["justifycenter",""]] "<div dir=rtl style=text-align:start>[foo]</div><p>extra" queryCommandIndeterm("justifycenter") after 
+PASS [["defaultparagraphseparator","div"],["justifycenter",""]] "<div dir=rtl style=text-align:start>[foo]</div><p>extra" queryCommandState("justifycenter") after 
+FAIL [["defaultparagraphseparator","div"],["justifycenter",""]] "<div dir=rtl style=text-align:start>[foo]</div><p>extra" queryCommandValue("justifycenter") after assert_equals: Wrong result returned expected "center" but got "true"
+PASS [["defaultparagraphseparator","p"],["justifycenter",""]] "<div dir=rtl style=text-align:start>[foo]</div><p>extra": execCommand("defaultparagraphseparator", false, "p") return value 
+PASS [["defaultparagraphseparator","p"],["justifycenter",""]] "<div dir=rtl style=text-align:start>[foo]</div><p>extra": execCommand("justifycenter", false, "") return value 
+PASS [["defaultparagraphseparator","p"],["justifycenter",""]] "<div dir=rtl style=text-align:start>[foo]</div><p>extra" checks for modifications to non-editable content 
+FAIL [["defaultparagraphseparator","p"],["justifycenter",""]] "<div dir=rtl style=text-align:start>[foo]</div><p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<div style=\"text-align:center\"><div dir=\"rtl\">foo</div></div><p>extra</p>" but got "<div dir=\"rtl\" style=\"text-align:center\">foo</div><p>extra</p>"
+PASS [["defaultparagraphseparator","p"],["justifycenter",""]] "<div dir=rtl style=text-align:start>[foo]</div><p>extra" queryCommandIndeterm("defaultparagraphseparator") before 
+PASS [["defaultparagraphseparator","p"],["justifycenter",""]] "<div dir=rtl style=text-align:start>[foo]</div><p>extra" queryCommandState("defaultparagraphseparator") before 
+PASS [["defaultparagraphseparator","p"],["justifycenter",""]] "<div dir=rtl style=text-align:start>[foo]</div><p>extra" queryCommandValue("defaultparagraphseparator") before 
+PASS [["defaultparagraphseparator","p"],["justifycenter",""]] "<div dir=rtl style=text-align:start>[foo]</div><p>extra" queryCommandIndeterm("defaultparagraphseparator") after 
+PASS [["defaultparagraphseparator","p"],["justifycenter",""]] "<div dir=rtl style=text-align:start>[foo]</div><p>extra" queryCommandState("defaultparagraphseparator") after 
+PASS [["defaultparagraphseparator","p"],["justifycenter",""]] "<div dir=rtl style=text-align:start>[foo]</div><p>extra" queryCommandValue("defaultparagraphseparator") after 
+PASS [["defaultparagraphseparator","p"],["justifycenter",""]] "<div dir=rtl style=text-align:start>[foo]</div><p>extra" queryCommandIndeterm("justifycenter") before 
+PASS [["defaultparagraphseparator","p"],["justifycenter",""]] "<div dir=rtl style=text-align:start>[foo]</div><p>extra" queryCommandState("justifycenter") before 
+FAIL [["defaultparagraphseparator","p"],["justifycenter",""]] "<div dir=rtl style=text-align:start>[foo]</div><p>extra" queryCommandValue("justifycenter") before assert_equals: Wrong result returned expected "right" but got "false"
+PASS [["defaultparagraphseparator","p"],["justifycenter",""]] "<div dir=rtl style=text-align:start>[foo]</div><p>extra" queryCommandIndeterm("justifycenter") after 
+PASS [["defaultparagraphseparator","p"],["justifycenter",""]] "<div dir=rtl style=text-align:start>[foo]</div><p>extra" queryCommandState("justifycenter") after 
+FAIL [["defaultparagraphseparator","p"],["justifycenter",""]] "<div dir=rtl style=text-align:start>[foo]</div><p>extra" queryCommandValue("justifycenter") after assert_equals: Wrong result returned expected "center" but got "true"
+PASS [["defaultparagraphseparator","div"],["justifycenter",""]] "<div dir=rtl style=text-align:end>[foo]</div><p>extra": execCommand("defaultparagraphseparator", false, "div") return value 
+PASS [["defaultparagraphseparator","div"],["justifycenter",""]] "<div dir=rtl style=text-align:end>[foo]</div><p>extra": execCommand("justifycenter", false, "") return value 
+PASS [["defaultparagraphseparator","div"],["justifycenter",""]] "<div dir=rtl style=text-align:end>[foo]</div><p>extra" checks for modifications to non-editable content 
+FAIL [["defaultparagraphseparator","div"],["justifycenter",""]] "<div dir=rtl style=text-align:end>[foo]</div><p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<div style=\"text-align:center\"><div dir=\"rtl\">foo</div></div><p>extra</p>" but got "<div dir=\"rtl\" style=\"text-align:center\">foo</div><p>extra</p>"
+PASS [["defaultparagraphseparator","div"],["justifycenter",""]] "<div dir=rtl style=text-align:end>[foo]</div><p>extra" queryCommandIndeterm("defaultparagraphseparator") before 
+PASS [["defaultparagraphseparator","div"],["justifycenter",""]] "<div dir=rtl style=text-align:end>[foo]</div><p>extra" queryCommandState("defaultparagraphseparator") before 
+PASS [["defaultparagraphseparator","div"],["justifycenter",""]] "<div dir=rtl style=text-align:end>[foo]</div><p>extra" queryCommandValue("defaultparagraphseparator") before 
+PASS [["defaultparagraphseparator","div"],["justifycenter",""]] "<div dir=rtl style=text-align:end>[foo]</div><p>extra" queryCommandIndeterm("defaultparagraphseparator") after 
+PASS [["defaultparagraphseparator","div"],["justifycenter",""]] "<div dir=rtl style=text-align:end>[foo]</div><p>extra" queryCommandState("defaultparagraphseparator") after 
+PASS [["defaultparagraphseparator","div"],["justifycenter",""]] "<div dir=rtl style=text-align:end>[foo]</div><p>extra" queryCommandValue("defaultparagraphseparator") after 
+PASS [["defaultparagraphseparator","div"],["justifycenter",""]] "<div dir=rtl style=text-align:end>[foo]</div><p>extra" queryCommandIndeterm("justifycenter") before 
+PASS [["defaultparagraphseparator","div"],["justifycenter",""]] "<div dir=rtl style=text-align:end>[foo]</div><p>extra" queryCommandState("justifycenter") before 
+FAIL [["defaultparagraphseparator","div"],["justifycenter",""]] "<div dir=rtl style=text-align:end>[foo]</div><p>extra" queryCommandValue("justifycenter") before assert_equals: Wrong result returned expected "left" but got "false"
+PASS [["defaultparagraphseparator","div"],["justifycenter",""]] "<div dir=rtl style=text-align:end>[foo]</div><p>extra" queryCommandIndeterm("justifycenter") after 
+PASS [["defaultparagraphseparator","div"],["justifycenter",""]] "<div dir=rtl style=text-align:end>[foo]</div><p>extra" queryCommandState("justifycenter") after 
+FAIL [["defaultparagraphseparator","div"],["justifycenter",""]] "<div dir=rtl style=text-align:end>[foo]</div><p>extra" queryCommandValue("justifycenter") after assert_equals: Wrong result returned expected "center" but got "true"
+PASS [["defaultparagraphseparator","p"],["justifycenter",""]] "<div dir=rtl style=text-align:end>[foo]</div><p>extra": execCommand("defaultparagraphseparator", false, "p") return value 
+PASS [["defaultparagraphseparator","p"],["justifycenter",""]] "<div dir=rtl style=text-align:end>[foo]</div><p>extra": execCommand("justifycenter", false, "") return value 
+PASS [["defaultparagraphseparator","p"],["justifycenter",""]] "<div dir=rtl style=text-align:end>[foo]</div><p>extra" checks for modifications to non-editable content 
+FAIL [["defaultparagraphseparator","p"],["justifycenter",""]] "<div dir=rtl style=text-align:end>[foo]</div><p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<div style=\"text-align:center\"><div dir=\"rtl\">foo</div></div><p>extra</p>" but got "<div dir=\"rtl\" style=\"text-align:center\">foo</div><p>extra</p>"
+PASS [["defaultparagraphseparator","p"],["justifycenter",""]] "<div dir=rtl style=text-align:end>[foo]</div><p>extra" queryCommandIndeterm("defaultparagraphseparator") before 
+PASS [["defaultparagraphseparator","p"],["justifycenter",""]] "<div dir=rtl style=text-align:end>[foo]</div><p>extra" queryCommandState("defaultparagraphseparator") before 
+PASS [["defaultparagraphseparator","p"],["justifycenter",""]] "<div dir=rtl style=text-align:end>[foo]</div><p>extra" queryCommandValue("defaultparagraphseparator") before 
+PASS [["defaultparagraphseparator","p"],["justifycenter",""]] "<div dir=rtl style=text-align:end>[foo]</div><p>extra" queryCommandIndeterm("defaultparagraphseparator") after 
+PASS [["defaultparagraphseparator","p"],["justifycenter",""]] "<div dir=rtl style=text-align:end>[foo]</div><p>extra" queryCommandState("defaultparagraphseparator") after 
+PASS [["defaultparagraphseparator","p"],["justifycenter",""]] "<div dir=rtl style=text-align:end>[foo]</div><p>extra" queryCommandValue("defaultparagraphseparator") after 
+PASS [["defaultparagraphseparator","p"],["justifycenter",""]] "<div dir=rtl style=text-align:end>[foo]</div><p>extra" queryCommandIndeterm("justifycenter") before 
+PASS [["defaultparagraphseparator","p"],["justifycenter",""]] "<div dir=rtl style=text-align:end>[foo]</div><p>extra" queryCommandState("justifycenter") before 
+FAIL [["defaultparagraphseparator","p"],["justifycenter",""]] "<div dir=rtl style=text-align:end>[foo]</div><p>extra" queryCommandValue("justifycenter") before assert_equals: Wrong result returned expected "left" but got "false"
+PASS [["defaultparagraphseparator","p"],["justifycenter",""]] "<div dir=rtl style=text-align:end>[foo]</div><p>extra" queryCommandIndeterm("justifycenter") after 
+PASS [["defaultparagraphseparator","p"],["justifycenter",""]] "<div dir=rtl style=text-align:end>[foo]</div><p>extra" queryCommandState("justifycenter") after 
+FAIL [["defaultparagraphseparator","p"],["justifycenter",""]] "<div dir=rtl style=text-align:end>[foo]</div><p>extra" queryCommandValue("justifycenter") after assert_equals: Wrong result returned expected "center" but got "true"
+PASS [["justifycenter",""]] "<div style=text-align:center><p>foo</div> <p>[bar]": execCommand("justifycenter", false, "") return value 
+PASS [["justifycenter",""]] "<div style=text-align:center><p>foo</div> <p>[bar]" checks for modifications to non-editable content 
+FAIL [["justifycenter",""]] "<div style=text-align:center><p>foo</div> <p>[bar]" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<div style=\"text-align:center\"><p>foo</p> <p>bar</p></div>" but got "<div style=\"text-align:center\"><p>foo</p></div> <p style=\"text-align:center\">bar</p>"
+PASS [["justifycenter",""]] "<div style=text-align:center><p>foo</div> <p>[bar]" queryCommandIndeterm("justifycenter") before 
+PASS [["justifycenter",""]] "<div style=text-align:center><p>foo</div> <p>[bar]" queryCommandState("justifycenter") before 
+FAIL [["justifycenter",""]] "<div style=text-align:center><p>foo</div> <p>[bar]" queryCommandValue("justifycenter") before assert_equals: Wrong result returned expected "left" but got "false"
+PASS [["justifycenter",""]] "<div style=text-align:center><p>foo</div> <p>[bar]" queryCommandIndeterm("justifycenter") after 
+PASS [["justifycenter",""]] "<div style=text-align:center><p>foo</div> <p>[bar]" queryCommandState("justifycenter") after 
+FAIL [["justifycenter",""]] "<div style=text-align:center><p>foo</div> <p>[bar]" queryCommandValue("justifycenter") after assert_equals: Wrong result returned expected "center" but got "true"
+PASS [["justifycenter",""]] "<div align=center><p>foo</div> <p>[bar]": execCommand("justifycenter", false, "") return value 
+PASS [["justifycenter",""]] "<div align=center><p>foo</div> <p>[bar]" checks for modifications to non-editable content 
+FAIL [["justifycenter",""]] "<div align=center><p>foo</div> <p>[bar]" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<div align=\"center\"><p>foo</p> <p>bar</p></div>" but got "<div align=\"center\"><p>foo</p></div> <p style=\"text-align:center\">bar</p>"
+PASS [["justifycenter",""]] "<div align=center><p>foo</div> <p>[bar]" queryCommandIndeterm("justifycenter") before 
+PASS [["justifycenter",""]] "<div align=center><p>foo</div> <p>[bar]" queryCommandState("justifycenter") before 
+FAIL [["justifycenter",""]] "<div align=center><p>foo</div> <p>[bar]" queryCommandValue("justifycenter") before assert_equals: Wrong result returned expected "left" but got "false"
+PASS [["justifycenter",""]] "<div align=center><p>foo</div> <p>[bar]" queryCommandIndeterm("justifycenter") after 
+PASS [["justifycenter",""]] "<div align=center><p>foo</div> <p>[bar]" queryCommandState("justifycenter") after 
+FAIL [["justifycenter",""]] "<div align=center><p>foo</div> <p>[bar]" queryCommandValue("justifycenter") after assert_equals: Wrong result returned expected "center" but got "true"
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<center><p>foo</center> <p>[bar]": execCommand("stylewithcss", false, "true") return value 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<center><p>foo</center> <p>[bar]": execCommand("defaultparagraphseparator", false, "div") return value 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<center><p>foo</center> <p>[bar]": execCommand("justifycenter", false, "") return value 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<center><p>foo</center> <p>[bar]" checks for modifications to non-editable content 
+FAIL [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<center><p>foo</center> <p>[bar]" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<center><p>foo</p></center><div style=\"text-align:center\"> <p>bar</p></div>" but got "<center><p>foo</p></center> <p style=\"text-align:center\">bar</p>"
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<center><p>foo</center> <p>[bar]" queryCommandIndeterm("stylewithcss") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<center><p>foo</center> <p>[bar]" queryCommandState("stylewithcss") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<center><p>foo</center> <p>[bar]" queryCommandValue("stylewithcss") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<center><p>foo</center> <p>[bar]" queryCommandIndeterm("stylewithcss") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<center><p>foo</center> <p>[bar]" queryCommandState("stylewithcss") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<center><p>foo</center> <p>[bar]" queryCommandValue("stylewithcss") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<center><p>foo</center> <p>[bar]" queryCommandIndeterm("defaultparagraphseparator") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<center><p>foo</center> <p>[bar]" queryCommandState("defaultparagraphseparator") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<center><p>foo</center> <p>[bar]" queryCommandValue("defaultparagraphseparator") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<center><p>foo</center> <p>[bar]" queryCommandIndeterm("defaultparagraphseparator") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<center><p>foo</center> <p>[bar]" queryCommandState("defaultparagraphseparator") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<center><p>foo</center> <p>[bar]" queryCommandValue("defaultparagraphseparator") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<center><p>foo</center> <p>[bar]" queryCommandIndeterm("justifycenter") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<center><p>foo</center> <p>[bar]" queryCommandState("justifycenter") before 
+FAIL [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<center><p>foo</center> <p>[bar]" queryCommandValue("justifycenter") before assert_equals: Wrong result returned expected "left" but got "false"
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<center><p>foo</center> <p>[bar]" queryCommandIndeterm("justifycenter") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<center><p>foo</center> <p>[bar]" queryCommandState("justifycenter") after 
+FAIL [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<center><p>foo</center> <p>[bar]" queryCommandValue("justifycenter") after assert_equals: Wrong result returned expected "center" but got "true"
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<center><p>foo</center> <p>[bar]": execCommand("stylewithcss", false, "false") return value 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<center><p>foo</center> <p>[bar]": execCommand("defaultparagraphseparator", false, "div") return value 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<center><p>foo</center> <p>[bar]": execCommand("justifycenter", false, "") return value 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<center><p>foo</center> <p>[bar]" checks for modifications to non-editable content 
+FAIL [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<center><p>foo</center> <p>[bar]" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<center><p>foo</p></center><div style=\"text-align:center\"> <p>bar</p></div>" but got "<center><p>foo</p></center> <p style=\"text-align:center\">bar</p>"
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<center><p>foo</center> <p>[bar]" queryCommandIndeterm("stylewithcss") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<center><p>foo</center> <p>[bar]" queryCommandState("stylewithcss") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<center><p>foo</center> <p>[bar]" queryCommandValue("stylewithcss") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<center><p>foo</center> <p>[bar]" queryCommandIndeterm("stylewithcss") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<center><p>foo</center> <p>[bar]" queryCommandState("stylewithcss") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<center><p>foo</center> <p>[bar]" queryCommandValue("stylewithcss") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<center><p>foo</center> <p>[bar]" queryCommandIndeterm("defaultparagraphseparator") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<center><p>foo</center> <p>[bar]" queryCommandState("defaultparagraphseparator") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<center><p>foo</center> <p>[bar]" queryCommandValue("defaultparagraphseparator") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<center><p>foo</center> <p>[bar]" queryCommandIndeterm("defaultparagraphseparator") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<center><p>foo</center> <p>[bar]" queryCommandState("defaultparagraphseparator") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<center><p>foo</center> <p>[bar]" queryCommandValue("defaultparagraphseparator") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<center><p>foo</center> <p>[bar]" queryCommandIndeterm("justifycenter") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<center><p>foo</center> <p>[bar]" queryCommandState("justifycenter") before 
+FAIL [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<center><p>foo</center> <p>[bar]" queryCommandValue("justifycenter") before assert_equals: Wrong result returned expected "left" but got "false"
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<center><p>foo</center> <p>[bar]" queryCommandIndeterm("justifycenter") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<center><p>foo</center> <p>[bar]" queryCommandState("justifycenter") after 
+FAIL [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<center><p>foo</center> <p>[bar]" queryCommandValue("justifycenter") after assert_equals: Wrong result returned expected "center" but got "true"
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<center><p>foo</center> <p>[bar]": execCommand("stylewithcss", false, "true") return value 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<center><p>foo</center> <p>[bar]": execCommand("defaultparagraphseparator", false, "p") return value 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<center><p>foo</center> <p>[bar]": execCommand("justifycenter", false, "") return value 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<center><p>foo</center> <p>[bar]" checks for modifications to non-editable content 
+FAIL [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<center><p>foo</center> <p>[bar]" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<center><p>foo</p></center><div style=\"text-align:center\"> <p>bar</p></div>" but got "<center><p>foo</p></center> <p style=\"text-align:center\">bar</p>"
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<center><p>foo</center> <p>[bar]" queryCommandIndeterm("stylewithcss") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<center><p>foo</center> <p>[bar]" queryCommandState("stylewithcss") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<center><p>foo</center> <p>[bar]" queryCommandValue("stylewithcss") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<center><p>foo</center> <p>[bar]" queryCommandIndeterm("stylewithcss") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<center><p>foo</center> <p>[bar]" queryCommandState("stylewithcss") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<center><p>foo</center> <p>[bar]" queryCommandValue("stylewithcss") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<center><p>foo</center> <p>[bar]" queryCommandIndeterm("defaultparagraphseparator") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<center><p>foo</center> <p>[bar]" queryCommandState("defaultparagraphseparator") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<center><p>foo</center> <p>[bar]" queryCommandValue("defaultparagraphseparator") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<center><p>foo</center> <p>[bar]" queryCommandIndeterm("defaultparagraphseparator") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<center><p>foo</center> <p>[bar]" queryCommandState("defaultparagraphseparator") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<center><p>foo</center> <p>[bar]" queryCommandValue("defaultparagraphseparator") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<center><p>foo</center> <p>[bar]" queryCommandIndeterm("justifycenter") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<center><p>foo</center> <p>[bar]" queryCommandState("justifycenter") before 
+FAIL [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<center><p>foo</center> <p>[bar]" queryCommandValue("justifycenter") before assert_equals: Wrong result returned expected "left" but got "false"
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<center><p>foo</center> <p>[bar]" queryCommandIndeterm("justifycenter") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<center><p>foo</center> <p>[bar]" queryCommandState("justifycenter") after 
+FAIL [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<center><p>foo</center> <p>[bar]" queryCommandValue("justifycenter") after assert_equals: Wrong result returned expected "center" but got "true"
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<center><p>foo</center> <p>[bar]": execCommand("stylewithcss", false, "false") return value 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<center><p>foo</center> <p>[bar]": execCommand("defaultparagraphseparator", false, "p") return value 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<center><p>foo</center> <p>[bar]": execCommand("justifycenter", false, "") return value 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<center><p>foo</center> <p>[bar]" checks for modifications to non-editable content 
+FAIL [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<center><p>foo</center> <p>[bar]" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<center><p>foo</p></center><div style=\"text-align:center\"> <p>bar</p></div>" but got "<center><p>foo</p></center> <p style=\"text-align:center\">bar</p>"
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<center><p>foo</center> <p>[bar]" queryCommandIndeterm("stylewithcss") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<center><p>foo</center> <p>[bar]" queryCommandState("stylewithcss") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<center><p>foo</center> <p>[bar]" queryCommandValue("stylewithcss") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<center><p>foo</center> <p>[bar]" queryCommandIndeterm("stylewithcss") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<center><p>foo</center> <p>[bar]" queryCommandState("stylewithcss") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<center><p>foo</center> <p>[bar]" queryCommandValue("stylewithcss") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<center><p>foo</center> <p>[bar]" queryCommandIndeterm("defaultparagraphseparator") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<center><p>foo</center> <p>[bar]" queryCommandState("defaultparagraphseparator") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<center><p>foo</center> <p>[bar]" queryCommandValue("defaultparagraphseparator") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<center><p>foo</center> <p>[bar]" queryCommandIndeterm("defaultparagraphseparator") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<center><p>foo</center> <p>[bar]" queryCommandState("defaultparagraphseparator") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<center><p>foo</center> <p>[bar]" queryCommandValue("defaultparagraphseparator") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<center><p>foo</center> <p>[bar]" queryCommandIndeterm("justifycenter") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<center><p>foo</center> <p>[bar]" queryCommandState("justifycenter") before 
+FAIL [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<center><p>foo</center> <p>[bar]" queryCommandValue("justifycenter") before assert_equals: Wrong result returned expected "left" but got "false"
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<center><p>foo</center> <p>[bar]" queryCommandIndeterm("justifycenter") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<center><p>foo</center> <p>[bar]" queryCommandState("justifycenter") after 
+FAIL [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<center><p>foo</center> <p>[bar]" queryCommandValue("justifycenter") after assert_equals: Wrong result returned expected "center" but got "true"
+PASS [["justifycenter",""]] "<p>[foo]</p> <div style=text-align:center><p>bar</div>": execCommand("justifycenter", false, "") return value 
+PASS [["justifycenter",""]] "<p>[foo]</p> <div style=text-align:center><p>bar</div>" checks for modifications to non-editable content 
+FAIL [["justifycenter",""]] "<p>[foo]</p> <div style=text-align:center><p>bar</div>" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<div style=\"text-align:center\"><p>foo</p> <p>bar</p></div>" but got "<p style=\"text-align:center\">foo</p> <div style=\"text-align:center\"><p>bar</p></div>"
+PASS [["justifycenter",""]] "<p>[foo]</p> <div style=text-align:center><p>bar</div>" queryCommandIndeterm("justifycenter") before 
+PASS [["justifycenter",""]] "<p>[foo]</p> <div style=text-align:center><p>bar</div>" queryCommandState("justifycenter") before 
+FAIL [["justifycenter",""]] "<p>[foo]</p> <div style=text-align:center><p>bar</div>" queryCommandValue("justifycenter") before assert_equals: Wrong result returned expected "left" but got "false"
+PASS [["justifycenter",""]] "<p>[foo]</p> <div style=text-align:center><p>bar</div>" queryCommandIndeterm("justifycenter") after 
+PASS [["justifycenter",""]] "<p>[foo]</p> <div style=text-align:center><p>bar</div>" queryCommandState("justifycenter") after 
+FAIL [["justifycenter",""]] "<p>[foo]</p> <div style=text-align:center><p>bar</div>" queryCommandValue("justifycenter") after assert_equals: Wrong result returned expected "center" but got "true"
+PASS [["justifycenter",""]] "<p>[foo]</p> <div align=center><p>bar</div>": execCommand("justifycenter", false, "") return value 
+PASS [["justifycenter",""]] "<p>[foo]</p> <div align=center><p>bar</div>" checks for modifications to non-editable content 
+FAIL [["justifycenter",""]] "<p>[foo]</p> <div align=center><p>bar</div>" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<div align=\"center\"><p>foo</p> <p>bar</p></div>" but got "<p style=\"text-align:center\">foo</p> <div align=\"center\"><p>bar</p></div>"
+PASS [["justifycenter",""]] "<p>[foo]</p> <div align=center><p>bar</div>" queryCommandIndeterm("justifycenter") before 
+PASS [["justifycenter",""]] "<p>[foo]</p> <div align=center><p>bar</div>" queryCommandState("justifycenter") before 
+FAIL [["justifycenter",""]] "<p>[foo]</p> <div align=center><p>bar</div>" queryCommandValue("justifycenter") before assert_equals: Wrong result returned expected "left" but got "false"
+PASS [["justifycenter",""]] "<p>[foo]</p> <div align=center><p>bar</div>" queryCommandIndeterm("justifycenter") after 
+PASS [["justifycenter",""]] "<p>[foo]</p> <div align=center><p>bar</div>" queryCommandState("justifycenter") after 
+FAIL [["justifycenter",""]] "<p>[foo]</p> <div align=center><p>bar</div>" queryCommandValue("justifycenter") after assert_equals: Wrong result returned expected "center" but got "true"
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<p>[foo]</p> <center><p>bar</center>": execCommand("stylewithcss", false, "true") return value 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<p>[foo]</p> <center><p>bar</center>": execCommand("defaultparagraphseparator", false, "div") return value 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<p>[foo]</p> <center><p>bar</center>": execCommand("justifycenter", false, "") return value 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<p>[foo]</p> <center><p>bar</center>" checks for modifications to non-editable content 
+FAIL [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<p>[foo]</p> <center><p>bar</center>" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<div style=\"text-align:center\"><p>foo</p> </div><center><p>bar</p></center>" but got "<p style=\"text-align:center\">foo</p> <center><p>bar</p></center>"
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<p>[foo]</p> <center><p>bar</center>" queryCommandIndeterm("stylewithcss") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<p>[foo]</p> <center><p>bar</center>" queryCommandState("stylewithcss") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<p>[foo]</p> <center><p>bar</center>" queryCommandValue("stylewithcss") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<p>[foo]</p> <center><p>bar</center>" queryCommandIndeterm("stylewithcss") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<p>[foo]</p> <center><p>bar</center>" queryCommandState("stylewithcss") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<p>[foo]</p> <center><p>bar</center>" queryCommandValue("stylewithcss") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<p>[foo]</p> <center><p>bar</center>" queryCommandIndeterm("defaultparagraphseparator") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<p>[foo]</p> <center><p>bar</center>" queryCommandState("defaultparagraphseparator") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<p>[foo]</p> <center><p>bar</center>" queryCommandValue("defaultparagraphseparator") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<p>[foo]</p> <center><p>bar</center>" queryCommandIndeterm("defaultparagraphseparator") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<p>[foo]</p> <center><p>bar</center>" queryCommandState("defaultparagraphseparator") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<p>[foo]</p> <center><p>bar</center>" queryCommandValue("defaultparagraphseparator") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<p>[foo]</p> <center><p>bar</center>" queryCommandIndeterm("justifycenter") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<p>[foo]</p> <center><p>bar</center>" queryCommandState("justifycenter") before 
+FAIL [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<p>[foo]</p> <center><p>bar</center>" queryCommandValue("justifycenter") before assert_equals: Wrong result returned expected "left" but got "false"
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<p>[foo]</p> <center><p>bar</center>" queryCommandIndeterm("justifycenter") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<p>[foo]</p> <center><p>bar</center>" queryCommandState("justifycenter") after 
+FAIL [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<p>[foo]</p> <center><p>bar</center>" queryCommandValue("justifycenter") after assert_equals: Wrong result returned expected "center" but got "true"
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<p>[foo]</p> <center><p>bar</center>": execCommand("stylewithcss", false, "false") return value 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<p>[foo]</p> <center><p>bar</center>": execCommand("defaultparagraphseparator", false, "div") return value 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<p>[foo]</p> <center><p>bar</center>": execCommand("justifycenter", false, "") return value 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<p>[foo]</p> <center><p>bar</center>" checks for modifications to non-editable content 
+FAIL [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<p>[foo]</p> <center><p>bar</center>" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<div style=\"text-align:center\"><p>foo</p> </div><center><p>bar</p></center>" but got "<p style=\"text-align:center\">foo</p> <center><p>bar</p></center>"
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<p>[foo]</p> <center><p>bar</center>" queryCommandIndeterm("stylewithcss") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<p>[foo]</p> <center><p>bar</center>" queryCommandState("stylewithcss") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<p>[foo]</p> <center><p>bar</center>" queryCommandValue("stylewithcss") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<p>[foo]</p> <center><p>bar</center>" queryCommandIndeterm("stylewithcss") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<p>[foo]</p> <center><p>bar</center>" queryCommandState("stylewithcss") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<p>[foo]</p> <center><p>bar</center>" queryCommandValue("stylewithcss") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<p>[foo]</p> <center><p>bar</center>" queryCommandIndeterm("defaultparagraphseparator") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<p>[foo]</p> <center><p>bar</center>" queryCommandState("defaultparagraphseparator") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<p>[foo]</p> <center><p>bar</center>" queryCommandValue("defaultparagraphseparator") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<p>[foo]</p> <center><p>bar</center>" queryCommandIndeterm("defaultparagraphseparator") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<p>[foo]</p> <center><p>bar</center>" queryCommandState("defaultparagraphseparator") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<p>[foo]</p> <center><p>bar</center>" queryCommandValue("defaultparagraphseparator") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<p>[foo]</p> <center><p>bar</center>" queryCommandIndeterm("justifycenter") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<p>[foo]</p> <center><p>bar</center>" queryCommandState("justifycenter") before 
+FAIL [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<p>[foo]</p> <center><p>bar</center>" queryCommandValue("justifycenter") before assert_equals: Wrong result returned expected "left" but got "false"
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<p>[foo]</p> <center><p>bar</center>" queryCommandIndeterm("justifycenter") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<p>[foo]</p> <center><p>bar</center>" queryCommandState("justifycenter") after 
+FAIL [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<p>[foo]</p> <center><p>bar</center>" queryCommandValue("justifycenter") after assert_equals: Wrong result returned expected "center" but got "true"
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<p>[foo]</p> <center><p>bar</center>": execCommand("stylewithcss", false, "true") return value 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<p>[foo]</p> <center><p>bar</center>": execCommand("defaultparagraphseparator", false, "p") return value 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<p>[foo]</p> <center><p>bar</center>": execCommand("justifycenter", false, "") return value 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<p>[foo]</p> <center><p>bar</center>" checks for modifications to non-editable content 
+FAIL [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<p>[foo]</p> <center><p>bar</center>" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<div style=\"text-align:center\"><p>foo</p> </div><center><p>bar</p></center>" but got "<p style=\"text-align:center\">foo</p> <center><p>bar</p></center>"
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<p>[foo]</p> <center><p>bar</center>" queryCommandIndeterm("stylewithcss") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<p>[foo]</p> <center><p>bar</center>" queryCommandState("stylewithcss") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<p>[foo]</p> <center><p>bar</center>" queryCommandValue("stylewithcss") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<p>[foo]</p> <center><p>bar</center>" queryCommandIndeterm("stylewithcss") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<p>[foo]</p> <center><p>bar</center>" queryCommandState("stylewithcss") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<p>[foo]</p> <center><p>bar</center>" queryCommandValue("stylewithcss") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<p>[foo]</p> <center><p>bar</center>" queryCommandIndeterm("defaultparagraphseparator") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<p>[foo]</p> <center><p>bar</center>" queryCommandState("defaultparagraphseparator") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<p>[foo]</p> <center><p>bar</center>" queryCommandValue("defaultparagraphseparator") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<p>[foo]</p> <center><p>bar</center>" queryCommandIndeterm("defaultparagraphseparator") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<p>[foo]</p> <center><p>bar</center>" queryCommandState("defaultparagraphseparator") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<p>[foo]</p> <center><p>bar</center>" queryCommandValue("defaultparagraphseparator") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<p>[foo]</p> <center><p>bar</center>" queryCommandIndeterm("justifycenter") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<p>[foo]</p> <center><p>bar</center>" queryCommandState("justifycenter") before 
+FAIL [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<p>[foo]</p> <center><p>bar</center>" queryCommandValue("justifycenter") before assert_equals: Wrong result returned expected "left" but got "false"
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<p>[foo]</p> <center><p>bar</center>" queryCommandIndeterm("justifycenter") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<p>[foo]</p> <center><p>bar</center>" queryCommandState("justifycenter") after 
+FAIL [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<p>[foo]</p> <center><p>bar</center>" queryCommandValue("justifycenter") after assert_equals: Wrong result returned expected "center" but got "true"
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<p>[foo]</p> <center><p>bar</center>": execCommand("stylewithcss", false, "false") return value 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<p>[foo]</p> <center><p>bar</center>": execCommand("defaultparagraphseparator", false, "p") return value 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<p>[foo]</p> <center><p>bar</center>": execCommand("justifycenter", false, "") return value 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<p>[foo]</p> <center><p>bar</center>" checks for modifications to non-editable content 
+FAIL [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<p>[foo]</p> <center><p>bar</center>" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<div style=\"text-align:center\"><p>foo</p> </div><center><p>bar</p></center>" but got "<p style=\"text-align:center\">foo</p> <center><p>bar</p></center>"
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<p>[foo]</p> <center><p>bar</center>" queryCommandIndeterm("stylewithcss") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<p>[foo]</p> <center><p>bar</center>" queryCommandState("stylewithcss") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<p>[foo]</p> <center><p>bar</center>" queryCommandValue("stylewithcss") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<p>[foo]</p> <center><p>bar</center>" queryCommandIndeterm("stylewithcss") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<p>[foo]</p> <center><p>bar</center>" queryCommandState("stylewithcss") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<p>[foo]</p> <center><p>bar</center>" queryCommandValue("stylewithcss") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<p>[foo]</p> <center><p>bar</center>" queryCommandIndeterm("defaultparagraphseparator") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<p>[foo]</p> <center><p>bar</center>" queryCommandState("defaultparagraphseparator") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<p>[foo]</p> <center><p>bar</center>" queryCommandValue("defaultparagraphseparator") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<p>[foo]</p> <center><p>bar</center>" queryCommandIndeterm("defaultparagraphseparator") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<p>[foo]</p> <center><p>bar</center>" queryCommandState("defaultparagraphseparator") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<p>[foo]</p> <center><p>bar</center>" queryCommandValue("defaultparagraphseparator") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<p>[foo]</p> <center><p>bar</center>" queryCommandIndeterm("justifycenter") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<p>[foo]</p> <center><p>bar</center>" queryCommandState("justifycenter") before 
+FAIL [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<p>[foo]</p> <center><p>bar</center>" queryCommandValue("justifycenter") before assert_equals: Wrong result returned expected "left" but got "false"
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<p>[foo]</p> <center><p>bar</center>" queryCommandIndeterm("justifycenter") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<p>[foo]</p> <center><p>bar</center>" queryCommandState("justifycenter") after 
+FAIL [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<p>[foo]</p> <center><p>bar</center>" queryCommandValue("justifycenter") after assert_equals: Wrong result returned expected "center" but got "true"
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div style=text-align:center><p>foo</div> <p>[bar]</p> <div style=text-align:center><p>baz</div>": execCommand("stylewithcss", false, "true") return value 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div style=text-align:center><p>foo</div> <p>[bar]</p> <div style=text-align:center><p>baz</div>": execCommand("defaultparagraphseparator", false, "div") return value 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div style=text-align:center><p>foo</div> <p>[bar]</p> <div style=text-align:center><p>baz</div>": execCommand("justifycenter", false, "") return value 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div style=text-align:center><p>foo</div> <p>[bar]</p> <div style=text-align:center><p>baz</div>" checks for modifications to non-editable content 
+FAIL [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div style=text-align:center><p>foo</div> <p>[bar]</p> <div style=text-align:center><p>baz</div>" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<div style=\"text-align:center\"><p>foo</p> <p>bar</p> <p>baz</p></div>" but got "<div style=\"text-align:center\"><p>foo</p></div> <p style=\"text-align:center\">bar</p> <div style=\"text-align:center\"><p>baz</p></div>"
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div style=text-align:center><p>foo</div> <p>[bar]</p> <div style=text-align:center><p>baz</div>" queryCommandIndeterm("stylewithcss") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div style=text-align:center><p>foo</div> <p>[bar]</p> <div style=text-align:center><p>baz</div>" queryCommandState("stylewithcss") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div style=text-align:center><p>foo</div> <p>[bar]</p> <div style=text-align:center><p>baz</div>" queryCommandValue("stylewithcss") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div style=text-align:center><p>foo</div> <p>[bar]</p> <div style=text-align:center><p>baz</div>" queryCommandIndeterm("stylewithcss") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div style=text-align:center><p>foo</div> <p>[bar]</p> <div style=text-align:center><p>baz</div>" queryCommandState("stylewithcss") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div style=text-align:center><p>foo</div> <p>[bar]</p> <div style=text-align:center><p>baz</div>" queryCommandValue("stylewithcss") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div style=text-align:center><p>foo</div> <p>[bar]</p> <div style=text-align:center><p>baz</div>" queryCommandIndeterm("defaultparagraphseparator") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div style=text-align:center><p>foo</div> <p>[bar]</p> <div style=text-align:center><p>baz</div>" queryCommandState("defaultparagraphseparator") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div style=text-align:center><p>foo</div> <p>[bar]</p> <div style=text-align:center><p>baz</div>" queryCommandValue("defaultparagraphseparator") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div style=text-align:center><p>foo</div> <p>[bar]</p> <div style=text-align:center><p>baz</div>" queryCommandIndeterm("defaultparagraphseparator") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div style=text-align:center><p>foo</div> <p>[bar]</p> <div style=text-align:center><p>baz</div>" queryCommandState("defaultparagraphseparator") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div style=text-align:center><p>foo</div> <p>[bar]</p> <div style=text-align:center><p>baz</div>" queryCommandValue("defaultparagraphseparator") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div style=text-align:center><p>foo</div> <p>[bar]</p> <div style=text-align:center><p>baz</div>" queryCommandIndeterm("justifycenter") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div style=text-align:center><p>foo</div> <p>[bar]</p> <div style=text-align:center><p>baz</div>" queryCommandState("justifycenter") before 
+FAIL [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div style=text-align:center><p>foo</div> <p>[bar]</p> <div style=text-align:center><p>baz</div>" queryCommandValue("justifycenter") before assert_equals: Wrong result returned expected "left" but got "false"
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div style=text-align:center><p>foo</div> <p>[bar]</p> <div style=text-align:center><p>baz</div>" queryCommandIndeterm("justifycenter") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div style=text-align:center><p>foo</div> <p>[bar]</p> <div style=text-align:center><p>baz</div>" queryCommandState("justifycenter") after 
+FAIL [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div style=text-align:center><p>foo</div> <p>[bar]</p> <div style=text-align:center><p>baz</div>" queryCommandValue("justifycenter") after assert_equals: Wrong result returned expected "center" but got "true"
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div style=text-align:center><p>foo</div> <p>[bar]</p> <div style=text-align:center><p>baz</div>": execCommand("stylewithcss", false, "false") return value 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div style=text-align:center><p>foo</div> <p>[bar]</p> <div style=text-align:center><p>baz</div>": execCommand("defaultparagraphseparator", false, "div") return value 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div style=text-align:center><p>foo</div> <p>[bar]</p> <div style=text-align:center><p>baz</div>": execCommand("justifycenter", false, "") return value 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div style=text-align:center><p>foo</div> <p>[bar]</p> <div style=text-align:center><p>baz</div>" checks for modifications to non-editable content 
+FAIL [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div style=text-align:center><p>foo</div> <p>[bar]</p> <div style=text-align:center><p>baz</div>" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<div style=\"text-align:center\"><p>foo</p> <p>bar</p> <p>baz</p></div>" but got "<div style=\"text-align:center\"><p>foo</p></div> <p style=\"text-align:center\">bar</p> <div style=\"text-align:center\"><p>baz</p></div>"
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div style=text-align:center><p>foo</div> <p>[bar]</p> <div style=text-align:center><p>baz</div>" queryCommandIndeterm("stylewithcss") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div style=text-align:center><p>foo</div> <p>[bar]</p> <div style=text-align:center><p>baz</div>" queryCommandState("stylewithcss") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div style=text-align:center><p>foo</div> <p>[bar]</p> <div style=text-align:center><p>baz</div>" queryCommandValue("stylewithcss") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div style=text-align:center><p>foo</div> <p>[bar]</p> <div style=text-align:center><p>baz</div>" queryCommandIndeterm("stylewithcss") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div style=text-align:center><p>foo</div> <p>[bar]</p> <div style=text-align:center><p>baz</div>" queryCommandState("stylewithcss") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div style=text-align:center><p>foo</div> <p>[bar]</p> <div style=text-align:center><p>baz</div>" queryCommandValue("stylewithcss") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div style=text-align:center><p>foo</div> <p>[bar]</p> <div style=text-align:center><p>baz</div>" queryCommandIndeterm("defaultparagraphseparator") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div style=text-align:center><p>foo</div> <p>[bar]</p> <div style=text-align:center><p>baz</div>" queryCommandState("defaultparagraphseparator") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div style=text-align:center><p>foo</div> <p>[bar]</p> <div style=text-align:center><p>baz</div>" queryCommandValue("defaultparagraphseparator") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div style=text-align:center><p>foo</div> <p>[bar]</p> <div style=text-align:center><p>baz</div>" queryCommandIndeterm("defaultparagraphseparator") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div style=text-align:center><p>foo</div> <p>[bar]</p> <div style=text-align:center><p>baz</div>" queryCommandState("defaultparagraphseparator") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div style=text-align:center><p>foo</div> <p>[bar]</p> <div style=text-align:center><p>baz</div>" queryCommandValue("defaultparagraphseparator") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div style=text-align:center><p>foo</div> <p>[bar]</p> <div style=text-align:center><p>baz</div>" queryCommandIndeterm("justifycenter") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div style=text-align:center><p>foo</div> <p>[bar]</p> <div style=text-align:center><p>baz</div>" queryCommandState("justifycenter") before 
+FAIL [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div style=text-align:center><p>foo</div> <p>[bar]</p> <div style=text-align:center><p>baz</div>" queryCommandValue("justifycenter") before assert_equals: Wrong result returned expected "left" but got "false"
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div style=text-align:center><p>foo</div> <p>[bar]</p> <div style=text-align:center><p>baz</div>" queryCommandIndeterm("justifycenter") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div style=text-align:center><p>foo</div> <p>[bar]</p> <div style=text-align:center><p>baz</div>" queryCommandState("justifycenter") after 
+FAIL [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div style=text-align:center><p>foo</div> <p>[bar]</p> <div style=text-align:center><p>baz</div>" queryCommandValue("justifycenter") after assert_equals: Wrong result returned expected "center" but got "true"
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div style=text-align:center><p>foo</div> <p>[bar]</p> <div style=text-align:center><p>baz</div>": execCommand("stylewithcss", false, "true") return value 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div style=text-align:center><p>foo</div> <p>[bar]</p> <div style=text-align:center><p>baz</div>": execCommand("defaultparagraphseparator", false, "p") return value 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div style=text-align:center><p>foo</div> <p>[bar]</p> <div style=text-align:center><p>baz</div>": execCommand("justifycenter", false, "") return value 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div style=text-align:center><p>foo</div> <p>[bar]</p> <div style=text-align:center><p>baz</div>" checks for modifications to non-editable content 
+FAIL [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div style=text-align:center><p>foo</div> <p>[bar]</p> <div style=text-align:center><p>baz</div>" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<div style=\"text-align:center\"><p>foo</p> <p>bar</p> <p>baz</p></div>" but got "<div style=\"text-align:center\"><p>foo</p></div> <p style=\"text-align:center\">bar</p> <div style=\"text-align:center\"><p>baz</p></div>"
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div style=text-align:center><p>foo</div> <p>[bar]</p> <div style=text-align:center><p>baz</div>" queryCommandIndeterm("stylewithcss") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div style=text-align:center><p>foo</div> <p>[bar]</p> <div style=text-align:center><p>baz</div>" queryCommandState("stylewithcss") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div style=text-align:center><p>foo</div> <p>[bar]</p> <div style=text-align:center><p>baz</div>" queryCommandValue("stylewithcss") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div style=text-align:center><p>foo</div> <p>[bar]</p> <div style=text-align:center><p>baz</div>" queryCommandIndeterm("stylewithcss") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div style=text-align:center><p>foo</div> <p>[bar]</p> <div style=text-align:center><p>baz</div>" queryCommandState("stylewithcss") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div style=text-align:center><p>foo</div> <p>[bar]</p> <div style=text-align:center><p>baz</div>" queryCommandValue("stylewithcss") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div style=text-align:center><p>foo</div> <p>[bar]</p> <div style=text-align:center><p>baz</div>" queryCommandIndeterm("defaultparagraphseparator") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div style=text-align:center><p>foo</div> <p>[bar]</p> <div style=text-align:center><p>baz</div>" queryCommandState("defaultparagraphseparator") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div style=text-align:center><p>foo</div> <p>[bar]</p> <div style=text-align:center><p>baz</div>" queryCommandValue("defaultparagraphseparator") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div style=text-align:center><p>foo</div> <p>[bar]</p> <div style=text-align:center><p>baz</div>" queryCommandIndeterm("defaultparagraphseparator") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div style=text-align:center><p>foo</div> <p>[bar]</p> <div style=text-align:center><p>baz</div>" queryCommandState("defaultparagraphseparator") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div style=text-align:center><p>foo</div> <p>[bar]</p> <div style=text-align:center><p>baz</div>" queryCommandValue("defaultparagraphseparator") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div style=text-align:center><p>foo</div> <p>[bar]</p> <div style=text-align:center><p>baz</div>" queryCommandIndeterm("justifycenter") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div style=text-align:center><p>foo</div> <p>[bar]</p> <div style=text-align:center><p>baz</div>" queryCommandState("justifycenter") before 
+FAIL [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div style=text-align:center><p>foo</div> <p>[bar]</p> <div style=text-align:center><p>baz</div>" queryCommandValue("justifycenter") before assert_equals: Wrong result returned expected "left" but got "false"
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div style=text-align:center><p>foo</div> <p>[bar]</p> <div style=text-align:center><p>baz</div>" queryCommandIndeterm("justifycenter") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div style=text-align:center><p>foo</div> <p>[bar]</p> <div style=text-align:center><p>baz</div>" queryCommandState("justifycenter") after 
+FAIL [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div style=text-align:center><p>foo</div> <p>[bar]</p> <div style=text-align:center><p>baz</div>" queryCommandValue("justifycenter") after assert_equals: Wrong result returned expected "center" but got "true"
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div style=text-align:center><p>foo</div> <p>[bar]</p> <div style=text-align:center><p>baz</div>": execCommand("stylewithcss", false, "false") return value 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div style=text-align:center><p>foo</div> <p>[bar]</p> <div style=text-align:center><p>baz</div>": execCommand("defaultparagraphseparator", false, "p") return value 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div style=text-align:center><p>foo</div> <p>[bar]</p> <div style=text-align:center><p>baz</div>": execCommand("justifycenter", false, "") return value 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div style=text-align:center><p>foo</div> <p>[bar]</p> <div style=text-align:center><p>baz</div>" checks for modifications to non-editable content 
+FAIL [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div style=text-align:center><p>foo</div> <p>[bar]</p> <div style=text-align:center><p>baz</div>" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<div style=\"text-align:center\"><p>foo</p> <p>bar</p> <p>baz</p></div>" but got "<div style=\"text-align:center\"><p>foo</p></div> <p style=\"text-align:center\">bar</p> <div style=\"text-align:center\"><p>baz</p></div>"
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div style=text-align:center><p>foo</div> <p>[bar]</p> <div style=text-align:center><p>baz</div>" queryCommandIndeterm("stylewithcss") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div style=text-align:center><p>foo</div> <p>[bar]</p> <div style=text-align:center><p>baz</div>" queryCommandState("stylewithcss") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div style=text-align:center><p>foo</div> <p>[bar]</p> <div style=text-align:center><p>baz</div>" queryCommandValue("stylewithcss") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div style=text-align:center><p>foo</div> <p>[bar]</p> <div style=text-align:center><p>baz</div>" queryCommandIndeterm("stylewithcss") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div style=text-align:center><p>foo</div> <p>[bar]</p> <div style=text-align:center><p>baz</div>" queryCommandState("stylewithcss") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div style=text-align:center><p>foo</div> <p>[bar]</p> <div style=text-align:center><p>baz</div>" queryCommandValue("stylewithcss") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div style=text-align:center><p>foo</div> <p>[bar]</p> <div style=text-align:center><p>baz</div>" queryCommandIndeterm("defaultparagraphseparator") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div style=text-align:center><p>foo</div> <p>[bar]</p> <div style=text-align:center><p>baz</div>" queryCommandState("defaultparagraphseparator") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div style=text-align:center><p>foo</div> <p>[bar]</p> <div style=text-align:center><p>baz</div>" queryCommandValue("defaultparagraphseparator") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div style=text-align:center><p>foo</div> <p>[bar]</p> <div style=text-align:center><p>baz</div>" queryCommandIndeterm("defaultparagraphseparator") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div style=text-align:center><p>foo</div> <p>[bar]</p> <div style=text-align:center><p>baz</div>" queryCommandState("defaultparagraphseparator") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div style=text-align:center><p>foo</div> <p>[bar]</p> <div style=text-align:center><p>baz</div>" queryCommandValue("defaultparagraphseparator") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div style=text-align:center><p>foo</div> <p>[bar]</p> <div style=text-align:center><p>baz</div>" queryCommandIndeterm("justifycenter") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div style=text-align:center><p>foo</div> <p>[bar]</p> <div style=text-align:center><p>baz</div>" queryCommandState("justifycenter") before 
+FAIL [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div style=text-align:center><p>foo</div> <p>[bar]</p> <div style=text-align:center><p>baz</div>" queryCommandValue("justifycenter") before assert_equals: Wrong result returned expected "left" but got "false"
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div style=text-align:center><p>foo</div> <p>[bar]</p> <div style=text-align:center><p>baz</div>" queryCommandIndeterm("justifycenter") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div style=text-align:center><p>foo</div> <p>[bar]</p> <div style=text-align:center><p>baz</div>" queryCommandState("justifycenter") after 
+FAIL [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div style=text-align:center><p>foo</div> <p>[bar]</p> <div style=text-align:center><p>baz</div>" queryCommandValue("justifycenter") after assert_equals: Wrong result returned expected "center" but got "true"
+PASS [["defaultparagraphseparator","div"],["justifycenter",""]] "<div align=center><p>foo</div> <p>[bar]</p> <div align=center><p>baz</div>": execCommand("defaultparagraphseparator", false, "div") return value 
+PASS [["defaultparagraphseparator","div"],["justifycenter",""]] "<div align=center><p>foo</div> <p>[bar]</p> <div align=center><p>baz</div>": execCommand("justifycenter", false, "") return value 
+PASS [["defaultparagraphseparator","div"],["justifycenter",""]] "<div align=center><p>foo</div> <p>[bar]</p> <div align=center><p>baz</div>" checks for modifications to non-editable content 
+FAIL [["defaultparagraphseparator","div"],["justifycenter",""]] "<div align=center><p>foo</div> <p>[bar]</p> <div align=center><p>baz</div>" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<div align=\"center\"><p>foo</p> <p>bar</p> <p>baz</p></div>" but got "<div align=\"center\"><p>foo</p></div> <p style=\"text-align:center\">bar</p> <div align=\"center\"><p>baz</p></div>"
+PASS [["defaultparagraphseparator","div"],["justifycenter",""]] "<div align=center><p>foo</div> <p>[bar]</p> <div align=center><p>baz</div>" queryCommandIndeterm("defaultparagraphseparator") before 
+PASS [["defaultparagraphseparator","div"],["justifycenter",""]] "<div align=center><p>foo</div> <p>[bar]</p> <div align=center><p>baz</div>" queryCommandState("defaultparagraphseparator") before 
+PASS [["defaultparagraphseparator","div"],["justifycenter",""]] "<div align=center><p>foo</div> <p>[bar]</p> <div align=center><p>baz</div>" queryCommandValue("defaultparagraphseparator") before 
+PASS [["defaultparagraphseparator","div"],["justifycenter",""]] "<div align=center><p>foo</div> <p>[bar]</p> <div align=center><p>baz</div>" queryCommandIndeterm("defaultparagraphseparator") after 
+PASS [["defaultparagraphseparator","div"],["justifycenter",""]] "<div align=center><p>foo</div> <p>[bar]</p> <div align=center><p>baz</div>" queryCommandState("defaultparagraphseparator") after 
+PASS [["defaultparagraphseparator","div"],["justifycenter",""]] "<div align=center><p>foo</div> <p>[bar]</p> <div align=center><p>baz</div>" queryCommandValue("defaultparagraphseparator") after 
+PASS [["defaultparagraphseparator","div"],["justifycenter",""]] "<div align=center><p>foo</div> <p>[bar]</p> <div align=center><p>baz</div>" queryCommandIndeterm("justifycenter") before 
+PASS [["defaultparagraphseparator","div"],["justifycenter",""]] "<div align=center><p>foo</div> <p>[bar]</p> <div align=center><p>baz</div>" queryCommandState("justifycenter") before 
+FAIL [["defaultparagraphseparator","div"],["justifycenter",""]] "<div align=center><p>foo</div> <p>[bar]</p> <div align=center><p>baz</div>" queryCommandValue("justifycenter") before assert_equals: Wrong result returned expected "left" but got "false"
+PASS [["defaultparagraphseparator","div"],["justifycenter",""]] "<div align=center><p>foo</div> <p>[bar]</p> <div align=center><p>baz</div>" queryCommandIndeterm("justifycenter") after 
+PASS [["defaultparagraphseparator","div"],["justifycenter",""]] "<div align=center><p>foo</div> <p>[bar]</p> <div align=center><p>baz</div>" queryCommandState("justifycenter") after 
+FAIL [["defaultparagraphseparator","div"],["justifycenter",""]] "<div align=center><p>foo</div> <p>[bar]</p> <div align=center><p>baz</div>" queryCommandValue("justifycenter") after assert_equals: Wrong result returned expected "center" but got "true"
+PASS [["defaultparagraphseparator","p"],["justifycenter",""]] "<div align=center><p>foo</div> <p>[bar]</p> <div align=center><p>baz</div>": execCommand("defaultparagraphseparator", false, "p") return value 
+PASS [["defaultparagraphseparator","p"],["justifycenter",""]] "<div align=center><p>foo</div> <p>[bar]</p> <div align=center><p>baz</div>": execCommand("justifycenter", false, "") return value 
+PASS [["defaultparagraphseparator","p"],["justifycenter",""]] "<div align=center><p>foo</div> <p>[bar]</p> <div align=center><p>baz</div>" checks for modifications to non-editable content 
+FAIL [["defaultparagraphseparator","p"],["justifycenter",""]] "<div align=center><p>foo</div> <p>[bar]</p> <div align=center><p>baz</div>" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<div align=\"center\"><p>foo</p> <p>bar</p> <p>baz</p></div>" but got "<div align=\"center\"><p>foo</p></div> <p style=\"text-align:center\">bar</p> <div align=\"center\"><p>baz</p></div>"
+PASS [["defaultparagraphseparator","p"],["justifycenter",""]] "<div align=center><p>foo</div> <p>[bar]</p> <div align=center><p>baz</div>" queryCommandIndeterm("defaultparagraphseparator") before 
+PASS [["defaultparagraphseparator","p"],["justifycenter",""]] "<div align=center><p>foo</div> <p>[bar]</p> <div align=center><p>baz</div>" queryCommandState("defaultparagraphseparator") before 
+PASS [["defaultparagraphseparator","p"],["justifycenter",""]] "<div align=center><p>foo</div> <p>[bar]</p> <div align=center><p>baz</div>" queryCommandValue("defaultparagraphseparator") before 
+PASS [["defaultparagraphseparator","p"],["justifycenter",""]] "<div align=center><p>foo</div> <p>[bar]</p> <div align=center><p>baz</div>" queryCommandIndeterm("defaultparagraphseparator") after 
+PASS [["defaultparagraphseparator","p"],["justifycenter",""]] "<div align=center><p>foo</div> <p>[bar]</p> <div align=center><p>baz</div>" queryCommandState("defaultparagraphseparator") after 
+PASS [["defaultparagraphseparator","p"],["justifycenter",""]] "<div align=center><p>foo</div> <p>[bar]</p> <div align=center><p>baz</div>" queryCommandValue("defaultparagraphseparator") after 
+PASS [["defaultparagraphseparator","p"],["justifycenter",""]] "<div align=center><p>foo</div> <p>[bar]</p> <div align=center><p>baz</div>" queryCommandIndeterm("justifycenter") before 
+PASS [["defaultparagraphseparator","p"],["justifycenter",""]] "<div align=center><p>foo</div> <p>[bar]</p> <div align=center><p>baz</div>" queryCommandState("justifycenter") before 
+FAIL [["defaultparagraphseparator","p"],["justifycenter",""]] "<div align=center><p>foo</div> <p>[bar]</p> <div align=center><p>baz</div>" queryCommandValue("justifycenter") before assert_equals: Wrong result returned expected "left" but got "false"
+PASS [["defaultparagraphseparator","p"],["justifycenter",""]] "<div align=center><p>foo</div> <p>[bar]</p> <div align=center><p>baz</div>" queryCommandIndeterm("justifycenter") after 
+PASS [["defaultparagraphseparator","p"],["justifycenter",""]] "<div align=center><p>foo</div> <p>[bar]</p> <div align=center><p>baz</div>" queryCommandState("justifycenter") after 
+FAIL [["defaultparagraphseparator","p"],["justifycenter",""]] "<div align=center><p>foo</div> <p>[bar]</p> <div align=center><p>baz</div>" queryCommandValue("justifycenter") after assert_equals: Wrong result returned expected "center" but got "true"
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<center><p>foo</center> <p>[bar]</p> <center><p>baz</center>": execCommand("stylewithcss", false, "true") return value 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<center><p>foo</center> <p>[bar]</p> <center><p>baz</center>": execCommand("defaultparagraphseparator", false, "div") return value 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<center><p>foo</center> <p>[bar]</p> <center><p>baz</center>": execCommand("justifycenter", false, "") return value 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<center><p>foo</center> <p>[bar]</p> <center><p>baz</center>" checks for modifications to non-editable content 
+FAIL [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<center><p>foo</center> <p>[bar]</p> <center><p>baz</center>" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<center><p>foo</p></center><div style=\"text-align:center\"> <p>bar</p> </div><center><p>baz</p></center>" but got "<center><p>foo</p></center> <p style=\"text-align:center\">bar</p> <center><p>baz</p></center>"
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<center><p>foo</center> <p>[bar]</p> <center><p>baz</center>" queryCommandIndeterm("stylewithcss") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<center><p>foo</center> <p>[bar]</p> <center><p>baz</center>" queryCommandState("stylewithcss") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<center><p>foo</center> <p>[bar]</p> <center><p>baz</center>" queryCommandValue("stylewithcss") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<center><p>foo</center> <p>[bar]</p> <center><p>baz</center>" queryCommandIndeterm("stylewithcss") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<center><p>foo</center> <p>[bar]</p> <center><p>baz</center>" queryCommandState("stylewithcss") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<center><p>foo</center> <p>[bar]</p> <center><p>baz</center>" queryCommandValue("stylewithcss") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<center><p>foo</center> <p>[bar]</p> <center><p>baz</center>" queryCommandIndeterm("defaultparagraphseparator") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<center><p>foo</center> <p>[bar]</p> <center><p>baz</center>" queryCommandState("defaultparagraphseparator") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<center><p>foo</center> <p>[bar]</p> <center><p>baz</center>" queryCommandValue("defaultparagraphseparator") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<center><p>foo</center> <p>[bar]</p> <center><p>baz</center>" queryCommandIndeterm("defaultparagraphseparator") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<center><p>foo</center> <p>[bar]</p> <center><p>baz</center>" queryCommandState("defaultparagraphseparator") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<center><p>foo</center> <p>[bar]</p> <center><p>baz</center>" queryCommandValue("defaultparagraphseparator") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<center><p>foo</center> <p>[bar]</p> <center><p>baz</center>" queryCommandIndeterm("justifycenter") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<center><p>foo</center> <p>[bar]</p> <center><p>baz</center>" queryCommandState("justifycenter") before 
+FAIL [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<center><p>foo</center> <p>[bar]</p> <center><p>baz</center>" queryCommandValue("justifycenter") before assert_equals: Wrong result returned expected "left" but got "false"
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<center><p>foo</center> <p>[bar]</p> <center><p>baz</center>" queryCommandIndeterm("justifycenter") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<center><p>foo</center> <p>[bar]</p> <center><p>baz</center>" queryCommandState("justifycenter") after 
+FAIL [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<center><p>foo</center> <p>[bar]</p> <center><p>baz</center>" queryCommandValue("justifycenter") after assert_equals: Wrong result returned expected "center" but got "true"
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<center><p>foo</center> <p>[bar]</p> <center><p>baz</center>": execCommand("stylewithcss", false, "false") return value 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<center><p>foo</center> <p>[bar]</p> <center><p>baz</center>": execCommand("defaultparagraphseparator", false, "div") return value 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<center><p>foo</center> <p>[bar]</p> <center><p>baz</center>": execCommand("justifycenter", false, "") return value 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<center><p>foo</center> <p>[bar]</p> <center><p>baz</center>" checks for modifications to non-editable content 
+FAIL [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<center><p>foo</center> <p>[bar]</p> <center><p>baz</center>" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<center><p>foo</p></center><div style=\"text-align:center\"> <p>bar</p> </div><center><p>baz</p></center>" but got "<center><p>foo</p></center> <p style=\"text-align:center\">bar</p> <center><p>baz</p></center>"
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<center><p>foo</center> <p>[bar]</p> <center><p>baz</center>" queryCommandIndeterm("stylewithcss") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<center><p>foo</center> <p>[bar]</p> <center><p>baz</center>" queryCommandState("stylewithcss") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<center><p>foo</center> <p>[bar]</p> <center><p>baz</center>" queryCommandValue("stylewithcss") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<center><p>foo</center> <p>[bar]</p> <center><p>baz</center>" queryCommandIndeterm("stylewithcss") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<center><p>foo</center> <p>[bar]</p> <center><p>baz</center>" queryCommandState("stylewithcss") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<center><p>foo</center> <p>[bar]</p> <center><p>baz</center>" queryCommandValue("stylewithcss") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<center><p>foo</center> <p>[bar]</p> <center><p>baz</center>" queryCommandIndeterm("defaultparagraphseparator") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<center><p>foo</center> <p>[bar]</p> <center><p>baz</center>" queryCommandState("defaultparagraphseparator") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<center><p>foo</center> <p>[bar]</p> <center><p>baz</center>" queryCommandValue("defaultparagraphseparator") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<center><p>foo</center> <p>[bar]</p> <center><p>baz</center>" queryCommandIndeterm("defaultparagraphseparator") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<center><p>foo</center> <p>[bar]</p> <center><p>baz</center>" queryCommandState("defaultparagraphseparator") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<center><p>foo</center> <p>[bar]</p> <center><p>baz</center>" queryCommandValue("defaultparagraphseparator") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<center><p>foo</center> <p>[bar]</p> <center><p>baz</center>" queryCommandIndeterm("justifycenter") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<center><p>foo</center> <p>[bar]</p> <center><p>baz</center>" queryCommandState("justifycenter") before 
+FAIL [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<center><p>foo</center> <p>[bar]</p> <center><p>baz</center>" queryCommandValue("justifycenter") before assert_equals: Wrong result returned expected "left" but got "false"
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<center><p>foo</center> <p>[bar]</p> <center><p>baz</center>" queryCommandIndeterm("justifycenter") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<center><p>foo</center> <p>[bar]</p> <center><p>baz</center>" queryCommandState("justifycenter") after 
+FAIL [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<center><p>foo</center> <p>[bar]</p> <center><p>baz</center>" queryCommandValue("justifycenter") after assert_equals: Wrong result returned expected "center" but got "true"
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<center><p>foo</center> <p>[bar]</p> <center><p>baz</center>": execCommand("stylewithcss", false, "true") return value 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<center><p>foo</center> <p>[bar]</p> <center><p>baz</center>": execCommand("defaultparagraphseparator", false, "p") return value 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<center><p>foo</center> <p>[bar]</p> <center><p>baz</center>": execCommand("justifycenter", false, "") return value 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<center><p>foo</center> <p>[bar]</p> <center><p>baz</center>" checks for modifications to non-editable content 
+FAIL [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<center><p>foo</center> <p>[bar]</p> <center><p>baz</center>" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<center><p>foo</p></center><div style=\"text-align:center\"> <p>bar</p> </div><center><p>baz</p></center>" but got "<center><p>foo</p></center> <p style=\"text-align:center\">bar</p> <center><p>baz</p></center>"
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<center><p>foo</center> <p>[bar]</p> <center><p>baz</center>" queryCommandIndeterm("stylewithcss") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<center><p>foo</center> <p>[bar]</p> <center><p>baz</center>" queryCommandState("stylewithcss") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<center><p>foo</center> <p>[bar]</p> <center><p>baz</center>" queryCommandValue("stylewithcss") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<center><p>foo</center> <p>[bar]</p> <center><p>baz</center>" queryCommandIndeterm("stylewithcss") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<center><p>foo</center> <p>[bar]</p> <center><p>baz</center>" queryCommandState("stylewithcss") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<center><p>foo</center> <p>[bar]</p> <center><p>baz</center>" queryCommandValue("stylewithcss") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<center><p>foo</center> <p>[bar]</p> <center><p>baz</center>" queryCommandIndeterm("defaultparagraphseparator") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<center><p>foo</center> <p>[bar]</p> <center><p>baz</center>" queryCommandState("defaultparagraphseparator") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<center><p>foo</center> <p>[bar]</p> <center><p>baz</center>" queryCommandValue("defaultparagraphseparator") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<center><p>foo</center> <p>[bar]</p> <center><p>baz</center>" queryCommandIndeterm("defaultparagraphseparator") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<center><p>foo</center> <p>[bar]</p> <center><p>baz</center>" queryCommandState("defaultparagraphseparator") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<center><p>foo</center> <p>[bar]</p> <center><p>baz</center>" queryCommandValue("defaultparagraphseparator") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<center><p>foo</center> <p>[bar]</p> <center><p>baz</center>" queryCommandIndeterm("justifycenter") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<center><p>foo</center> <p>[bar]</p> <center><p>baz</center>" queryCommandState("justifycenter") before 
+FAIL [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<center><p>foo</center> <p>[bar]</p> <center><p>baz</center>" queryCommandValue("justifycenter") before assert_equals: Wrong result returned expected "left" but got "false"
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<center><p>foo</center> <p>[bar]</p> <center><p>baz</center>" queryCommandIndeterm("justifycenter") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<center><p>foo</center> <p>[bar]</p> <center><p>baz</center>" queryCommandState("justifycenter") after 
+FAIL [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<center><p>foo</center> <p>[bar]</p> <center><p>baz</center>" queryCommandValue("justifycenter") after assert_equals: Wrong result returned expected "center" but got "true"
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<center><p>foo</center> <p>[bar]</p> <center><p>baz</center>": execCommand("stylewithcss", false, "false") return value 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<center><p>foo</center> <p>[bar]</p> <center><p>baz</center>": execCommand("defaultparagraphseparator", false, "p") return value 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<center><p>foo</center> <p>[bar]</p> <center><p>baz</center>": execCommand("justifycenter", false, "") return value 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<center><p>foo</center> <p>[bar]</p> <center><p>baz</center>" checks for modifications to non-editable content 
+FAIL [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<center><p>foo</center> <p>[bar]</p> <center><p>baz</center>" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<center><p>foo</p></center><div style=\"text-align:center\"> <p>bar</p> </div><center><p>baz</p></center>" but got "<center><p>foo</p></center> <p style=\"text-align:center\">bar</p> <center><p>baz</p></center>"
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<center><p>foo</center> <p>[bar]</p> <center><p>baz</center>" queryCommandIndeterm("stylewithcss") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<center><p>foo</center> <p>[bar]</p> <center><p>baz</center>" queryCommandState("stylewithcss") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<center><p>foo</center> <p>[bar]</p> <center><p>baz</center>" queryCommandValue("stylewithcss") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<center><p>foo</center> <p>[bar]</p> <center><p>baz</center>" queryCommandIndeterm("stylewithcss") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<center><p>foo</center> <p>[bar]</p> <center><p>baz</center>" queryCommandState("stylewithcss") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<center><p>foo</center> <p>[bar]</p> <center><p>baz</center>" queryCommandValue("stylewithcss") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<center><p>foo</center> <p>[bar]</p> <center><p>baz</center>" queryCommandIndeterm("defaultparagraphseparator") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<center><p>foo</center> <p>[bar]</p> <center><p>baz</center>" queryCommandState("defaultparagraphseparator") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<center><p>foo</center> <p>[bar]</p> <center><p>baz</center>" queryCommandValue("defaultparagraphseparator") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<center><p>foo</center> <p>[bar]</p> <center><p>baz</center>" queryCommandIndeterm("defaultparagraphseparator") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<center><p>foo</center> <p>[bar]</p> <center><p>baz</center>" queryCommandState("defaultparagraphseparator") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<center><p>foo</center> <p>[bar]</p> <center><p>baz</center>" queryCommandValue("defaultparagraphseparator") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<center><p>foo</center> <p>[bar]</p> <center><p>baz</center>" queryCommandIndeterm("justifycenter") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<center><p>foo</center> <p>[bar]</p> <center><p>baz</center>" queryCommandState("justifycenter") before 
+FAIL [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<center><p>foo</center> <p>[bar]</p> <center><p>baz</center>" queryCommandValue("justifycenter") before assert_equals: Wrong result returned expected "left" but got "false"
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<center><p>foo</center> <p>[bar]</p> <center><p>baz</center>" queryCommandIndeterm("justifycenter") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<center><p>foo</center> <p>[bar]</p> <center><p>baz</center>" queryCommandState("justifycenter") after 
+FAIL [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<center><p>foo</center> <p>[bar]</p> <center><p>baz</center>" queryCommandValue("justifycenter") after assert_equals: Wrong result returned expected "center" but got "true"
+Harness: the test ran to completion.
+
diff --git a/third_party/WebKit/LayoutTests/platform/mac/external/wpt/editing/run/justifyfull-expected.txt b/third_party/WebKit/LayoutTests/platform/mac/external/wpt/editing/run/justifyfull-expected.txt
new file mode 100644
index 0000000..8cc9600
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/platform/mac/external/wpt/editing/run/justifyfull-expected.txt
@@ -0,0 +1,4761 @@
+This is a testharness.js-based test.
+Found 4757 tests; 4042 PASS, 715 FAIL, 0 TIMEOUT, 0 NOTRUN.
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "foo[]bar<p>extra": execCommand("stylewithcss", false, "true") return value 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "foo[]bar<p>extra": execCommand("defaultparagraphseparator", false, "div") return value 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "foo[]bar<p>extra": execCommand("justifyfull", false, "") return value 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "foo[]bar<p>extra" checks for modifications to non-editable content 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "foo[]bar<p>extra" compare innerHTML 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "foo[]bar<p>extra" queryCommandIndeterm("stylewithcss") before 
+FAIL [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "foo[]bar<p>extra" queryCommandState("stylewithcss") before assert_equals: Wrong result returned expected false but got true
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "foo[]bar<p>extra" queryCommandValue("stylewithcss") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "foo[]bar<p>extra" queryCommandIndeterm("stylewithcss") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "foo[]bar<p>extra" queryCommandState("stylewithcss") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "foo[]bar<p>extra" queryCommandValue("stylewithcss") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "foo[]bar<p>extra" queryCommandIndeterm("defaultparagraphseparator") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "foo[]bar<p>extra" queryCommandState("defaultparagraphseparator") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "foo[]bar<p>extra" queryCommandValue("defaultparagraphseparator") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "foo[]bar<p>extra" queryCommandIndeterm("defaultparagraphseparator") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "foo[]bar<p>extra" queryCommandState("defaultparagraphseparator") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "foo[]bar<p>extra" queryCommandValue("defaultparagraphseparator") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "foo[]bar<p>extra" queryCommandIndeterm("justifyfull") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "foo[]bar<p>extra" queryCommandState("justifyfull") before 
+FAIL [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "foo[]bar<p>extra" queryCommandValue("justifyfull") before assert_equals: Wrong result returned expected "left" but got "false"
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "foo[]bar<p>extra" queryCommandIndeterm("justifyfull") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "foo[]bar<p>extra" queryCommandState("justifyfull") after 
+FAIL [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "foo[]bar<p>extra" queryCommandValue("justifyfull") after assert_equals: Wrong result returned expected "justify" but got "true"
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "foo[]bar<p>extra": execCommand("stylewithcss", false, "false") return value 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "foo[]bar<p>extra": execCommand("defaultparagraphseparator", false, "div") return value 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "foo[]bar<p>extra": execCommand("justifyfull", false, "") return value 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "foo[]bar<p>extra" checks for modifications to non-editable content 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "foo[]bar<p>extra" compare innerHTML 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "foo[]bar<p>extra" queryCommandIndeterm("stylewithcss") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "foo[]bar<p>extra" queryCommandState("stylewithcss") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "foo[]bar<p>extra" queryCommandValue("stylewithcss") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "foo[]bar<p>extra" queryCommandIndeterm("stylewithcss") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "foo[]bar<p>extra" queryCommandState("stylewithcss") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "foo[]bar<p>extra" queryCommandValue("stylewithcss") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "foo[]bar<p>extra" queryCommandIndeterm("defaultparagraphseparator") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "foo[]bar<p>extra" queryCommandState("defaultparagraphseparator") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "foo[]bar<p>extra" queryCommandValue("defaultparagraphseparator") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "foo[]bar<p>extra" queryCommandIndeterm("defaultparagraphseparator") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "foo[]bar<p>extra" queryCommandState("defaultparagraphseparator") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "foo[]bar<p>extra" queryCommandValue("defaultparagraphseparator") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "foo[]bar<p>extra" queryCommandIndeterm("justifyfull") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "foo[]bar<p>extra" queryCommandState("justifyfull") before 
+FAIL [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "foo[]bar<p>extra" queryCommandValue("justifyfull") before assert_equals: Wrong result returned expected "left" but got "false"
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "foo[]bar<p>extra" queryCommandIndeterm("justifyfull") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "foo[]bar<p>extra" queryCommandState("justifyfull") after 
+FAIL [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "foo[]bar<p>extra" queryCommandValue("justifyfull") after assert_equals: Wrong result returned expected "justify" but got "true"
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "foo[]bar<p>extra": execCommand("stylewithcss", false, "true") return value 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "foo[]bar<p>extra": execCommand("defaultparagraphseparator", false, "p") return value 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "foo[]bar<p>extra": execCommand("justifyfull", false, "") return value 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "foo[]bar<p>extra" checks for modifications to non-editable content 
+FAIL [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "foo[]bar<p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<div style=\"text-align:justify\">foobar</div><p>extra</p>" but got "<p style=\"text-align:justify\">foobar</p><p>extra</p>"
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "foo[]bar<p>extra" queryCommandIndeterm("stylewithcss") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "foo[]bar<p>extra" queryCommandState("stylewithcss") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "foo[]bar<p>extra" queryCommandValue("stylewithcss") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "foo[]bar<p>extra" queryCommandIndeterm("stylewithcss") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "foo[]bar<p>extra" queryCommandState("stylewithcss") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "foo[]bar<p>extra" queryCommandValue("stylewithcss") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "foo[]bar<p>extra" queryCommandIndeterm("defaultparagraphseparator") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "foo[]bar<p>extra" queryCommandState("defaultparagraphseparator") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "foo[]bar<p>extra" queryCommandValue("defaultparagraphseparator") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "foo[]bar<p>extra" queryCommandIndeterm("defaultparagraphseparator") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "foo[]bar<p>extra" queryCommandState("defaultparagraphseparator") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "foo[]bar<p>extra" queryCommandValue("defaultparagraphseparator") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "foo[]bar<p>extra" queryCommandIndeterm("justifyfull") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "foo[]bar<p>extra" queryCommandState("justifyfull") before 
+FAIL [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "foo[]bar<p>extra" queryCommandValue("justifyfull") before assert_equals: Wrong result returned expected "left" but got "false"
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "foo[]bar<p>extra" queryCommandIndeterm("justifyfull") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "foo[]bar<p>extra" queryCommandState("justifyfull") after 
+FAIL [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "foo[]bar<p>extra" queryCommandValue("justifyfull") after assert_equals: Wrong result returned expected "justify" but got "true"
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "foo[]bar<p>extra": execCommand("stylewithcss", false, "false") return value 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "foo[]bar<p>extra": execCommand("defaultparagraphseparator", false, "p") return value 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "foo[]bar<p>extra": execCommand("justifyfull", false, "") return value 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "foo[]bar<p>extra" checks for modifications to non-editable content 
+FAIL [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "foo[]bar<p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<div style=\"text-align:justify\">foobar</div><p>extra</p>" but got "<p style=\"text-align:justify\">foobar</p><p>extra</p>"
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "foo[]bar<p>extra" queryCommandIndeterm("stylewithcss") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "foo[]bar<p>extra" queryCommandState("stylewithcss") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "foo[]bar<p>extra" queryCommandValue("stylewithcss") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "foo[]bar<p>extra" queryCommandIndeterm("stylewithcss") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "foo[]bar<p>extra" queryCommandState("stylewithcss") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "foo[]bar<p>extra" queryCommandValue("stylewithcss") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "foo[]bar<p>extra" queryCommandIndeterm("defaultparagraphseparator") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "foo[]bar<p>extra" queryCommandState("defaultparagraphseparator") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "foo[]bar<p>extra" queryCommandValue("defaultparagraphseparator") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "foo[]bar<p>extra" queryCommandIndeterm("defaultparagraphseparator") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "foo[]bar<p>extra" queryCommandState("defaultparagraphseparator") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "foo[]bar<p>extra" queryCommandValue("defaultparagraphseparator") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "foo[]bar<p>extra" queryCommandIndeterm("justifyfull") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "foo[]bar<p>extra" queryCommandState("justifyfull") before 
+FAIL [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "foo[]bar<p>extra" queryCommandValue("justifyfull") before assert_equals: Wrong result returned expected "left" but got "false"
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "foo[]bar<p>extra" queryCommandIndeterm("justifyfull") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "foo[]bar<p>extra" queryCommandState("justifyfull") after 
+FAIL [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "foo[]bar<p>extra" queryCommandValue("justifyfull") after assert_equals: Wrong result returned expected "justify" but got "true"
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<span>foo</span>{}<span>bar</span><p>extra": execCommand("stylewithcss", false, "true") return value 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<span>foo</span>{}<span>bar</span><p>extra": execCommand("defaultparagraphseparator", false, "div") return value 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<span>foo</span>{}<span>bar</span><p>extra": execCommand("justifyfull", false, "") return value 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<span>foo</span>{}<span>bar</span><p>extra" checks for modifications to non-editable content 
+FAIL [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<span>foo</span>{}<span>bar</span><p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<div style=\"text-align:justify\"><span>foo</span><span>bar</span></div><p>extra</p>" but got "<div style=\"text-align:justify\">foobar</div><p>extra</p>"
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<span>foo</span>{}<span>bar</span><p>extra" queryCommandIndeterm("stylewithcss") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<span>foo</span>{}<span>bar</span><p>extra" queryCommandState("stylewithcss") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<span>foo</span>{}<span>bar</span><p>extra" queryCommandValue("stylewithcss") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<span>foo</span>{}<span>bar</span><p>extra" queryCommandIndeterm("stylewithcss") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<span>foo</span>{}<span>bar</span><p>extra" queryCommandState("stylewithcss") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<span>foo</span>{}<span>bar</span><p>extra" queryCommandValue("stylewithcss") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<span>foo</span>{}<span>bar</span><p>extra" queryCommandIndeterm("defaultparagraphseparator") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<span>foo</span>{}<span>bar</span><p>extra" queryCommandState("defaultparagraphseparator") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<span>foo</span>{}<span>bar</span><p>extra" queryCommandValue("defaultparagraphseparator") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<span>foo</span>{}<span>bar</span><p>extra" queryCommandIndeterm("defaultparagraphseparator") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<span>foo</span>{}<span>bar</span><p>extra" queryCommandState("defaultparagraphseparator") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<span>foo</span>{}<span>bar</span><p>extra" queryCommandValue("defaultparagraphseparator") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<span>foo</span>{}<span>bar</span><p>extra" queryCommandIndeterm("justifyfull") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<span>foo</span>{}<span>bar</span><p>extra" queryCommandState("justifyfull") before 
+FAIL [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<span>foo</span>{}<span>bar</span><p>extra" queryCommandValue("justifyfull") before assert_equals: Wrong result returned expected "left" but got "false"
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<span>foo</span>{}<span>bar</span><p>extra" queryCommandIndeterm("justifyfull") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<span>foo</span>{}<span>bar</span><p>extra" queryCommandState("justifyfull") after 
+FAIL [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<span>foo</span>{}<span>bar</span><p>extra" queryCommandValue("justifyfull") after assert_equals: Wrong result returned expected "justify" but got "true"
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<span>foo</span>{}<span>bar</span><p>extra": execCommand("stylewithcss", false, "false") return value 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<span>foo</span>{}<span>bar</span><p>extra": execCommand("defaultparagraphseparator", false, "div") return value 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<span>foo</span>{}<span>bar</span><p>extra": execCommand("justifyfull", false, "") return value 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<span>foo</span>{}<span>bar</span><p>extra" checks for modifications to non-editable content 
+FAIL [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<span>foo</span>{}<span>bar</span><p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<div style=\"text-align:justify\"><span>foo</span><span>bar</span></div><p>extra</p>" but got "<div style=\"text-align:justify\">foobar</div><p>extra</p>"
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<span>foo</span>{}<span>bar</span><p>extra" queryCommandIndeterm("stylewithcss") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<span>foo</span>{}<span>bar</span><p>extra" queryCommandState("stylewithcss") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<span>foo</span>{}<span>bar</span><p>extra" queryCommandValue("stylewithcss") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<span>foo</span>{}<span>bar</span><p>extra" queryCommandIndeterm("stylewithcss") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<span>foo</span>{}<span>bar</span><p>extra" queryCommandState("stylewithcss") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<span>foo</span>{}<span>bar</span><p>extra" queryCommandValue("stylewithcss") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<span>foo</span>{}<span>bar</span><p>extra" queryCommandIndeterm("defaultparagraphseparator") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<span>foo</span>{}<span>bar</span><p>extra" queryCommandState("defaultparagraphseparator") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<span>foo</span>{}<span>bar</span><p>extra" queryCommandValue("defaultparagraphseparator") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<span>foo</span>{}<span>bar</span><p>extra" queryCommandIndeterm("defaultparagraphseparator") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<span>foo</span>{}<span>bar</span><p>extra" queryCommandState("defaultparagraphseparator") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<span>foo</span>{}<span>bar</span><p>extra" queryCommandValue("defaultparagraphseparator") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<span>foo</span>{}<span>bar</span><p>extra" queryCommandIndeterm("justifyfull") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<span>foo</span>{}<span>bar</span><p>extra" queryCommandState("justifyfull") before 
+FAIL [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<span>foo</span>{}<span>bar</span><p>extra" queryCommandValue("justifyfull") before assert_equals: Wrong result returned expected "left" but got "false"
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<span>foo</span>{}<span>bar</span><p>extra" queryCommandIndeterm("justifyfull") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<span>foo</span>{}<span>bar</span><p>extra" queryCommandState("justifyfull") after 
+FAIL [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<span>foo</span>{}<span>bar</span><p>extra" queryCommandValue("justifyfull") after assert_equals: Wrong result returned expected "justify" but got "true"
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<span>foo</span>{}<span>bar</span><p>extra": execCommand("stylewithcss", false, "true") return value 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<span>foo</span>{}<span>bar</span><p>extra": execCommand("defaultparagraphseparator", false, "p") return value 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<span>foo</span>{}<span>bar</span><p>extra": execCommand("justifyfull", false, "") return value 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<span>foo</span>{}<span>bar</span><p>extra" checks for modifications to non-editable content 
+FAIL [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<span>foo</span>{}<span>bar</span><p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<div style=\"text-align:justify\"><span>foo</span><span>bar</span></div><p>extra</p>" but got "<p style=\"text-align:justify\">foobar</p><p>extra</p>"
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<span>foo</span>{}<span>bar</span><p>extra" queryCommandIndeterm("stylewithcss") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<span>foo</span>{}<span>bar</span><p>extra" queryCommandState("stylewithcss") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<span>foo</span>{}<span>bar</span><p>extra" queryCommandValue("stylewithcss") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<span>foo</span>{}<span>bar</span><p>extra" queryCommandIndeterm("stylewithcss") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<span>foo</span>{}<span>bar</span><p>extra" queryCommandState("stylewithcss") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<span>foo</span>{}<span>bar</span><p>extra" queryCommandValue("stylewithcss") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<span>foo</span>{}<span>bar</span><p>extra" queryCommandIndeterm("defaultparagraphseparator") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<span>foo</span>{}<span>bar</span><p>extra" queryCommandState("defaultparagraphseparator") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<span>foo</span>{}<span>bar</span><p>extra" queryCommandValue("defaultparagraphseparator") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<span>foo</span>{}<span>bar</span><p>extra" queryCommandIndeterm("defaultparagraphseparator") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<span>foo</span>{}<span>bar</span><p>extra" queryCommandState("defaultparagraphseparator") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<span>foo</span>{}<span>bar</span><p>extra" queryCommandValue("defaultparagraphseparator") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<span>foo</span>{}<span>bar</span><p>extra" queryCommandIndeterm("justifyfull") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<span>foo</span>{}<span>bar</span><p>extra" queryCommandState("justifyfull") before 
+FAIL [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<span>foo</span>{}<span>bar</span><p>extra" queryCommandValue("justifyfull") before assert_equals: Wrong result returned expected "left" but got "false"
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<span>foo</span>{}<span>bar</span><p>extra" queryCommandIndeterm("justifyfull") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<span>foo</span>{}<span>bar</span><p>extra" queryCommandState("justifyfull") after 
+FAIL [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<span>foo</span>{}<span>bar</span><p>extra" queryCommandValue("justifyfull") after assert_equals: Wrong result returned expected "justify" but got "true"
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<span>foo</span>{}<span>bar</span><p>extra": execCommand("stylewithcss", false, "false") return value 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<span>foo</span>{}<span>bar</span><p>extra": execCommand("defaultparagraphseparator", false, "p") return value 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<span>foo</span>{}<span>bar</span><p>extra": execCommand("justifyfull", false, "") return value 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<span>foo</span>{}<span>bar</span><p>extra" checks for modifications to non-editable content 
+FAIL [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<span>foo</span>{}<span>bar</span><p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<div style=\"text-align:justify\"><span>foo</span><span>bar</span></div><p>extra</p>" but got "<p style=\"text-align:justify\">foobar</p><p>extra</p>"
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<span>foo</span>{}<span>bar</span><p>extra" queryCommandIndeterm("stylewithcss") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<span>foo</span>{}<span>bar</span><p>extra" queryCommandState("stylewithcss") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<span>foo</span>{}<span>bar</span><p>extra" queryCommandValue("stylewithcss") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<span>foo</span>{}<span>bar</span><p>extra" queryCommandIndeterm("stylewithcss") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<span>foo</span>{}<span>bar</span><p>extra" queryCommandState("stylewithcss") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<span>foo</span>{}<span>bar</span><p>extra" queryCommandValue("stylewithcss") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<span>foo</span>{}<span>bar</span><p>extra" queryCommandIndeterm("defaultparagraphseparator") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<span>foo</span>{}<span>bar</span><p>extra" queryCommandState("defaultparagraphseparator") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<span>foo</span>{}<span>bar</span><p>extra" queryCommandValue("defaultparagraphseparator") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<span>foo</span>{}<span>bar</span><p>extra" queryCommandIndeterm("defaultparagraphseparator") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<span>foo</span>{}<span>bar</span><p>extra" queryCommandState("defaultparagraphseparator") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<span>foo</span>{}<span>bar</span><p>extra" queryCommandValue("defaultparagraphseparator") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<span>foo</span>{}<span>bar</span><p>extra" queryCommandIndeterm("justifyfull") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<span>foo</span>{}<span>bar</span><p>extra" queryCommandState("justifyfull") before 
+FAIL [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<span>foo</span>{}<span>bar</span><p>extra" queryCommandValue("justifyfull") before assert_equals: Wrong result returned expected "left" but got "false"
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<span>foo</span>{}<span>bar</span><p>extra" queryCommandIndeterm("justifyfull") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<span>foo</span>{}<span>bar</span><p>extra" queryCommandState("justifyfull") after 
+FAIL [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<span>foo</span>{}<span>bar</span><p>extra" queryCommandValue("justifyfull") after assert_equals: Wrong result returned expected "justify" but got "true"
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<span>foo[</span><span>]bar</span><p>extra": execCommand("stylewithcss", false, "true") return value 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<span>foo[</span><span>]bar</span><p>extra": execCommand("defaultparagraphseparator", false, "div") return value 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<span>foo[</span><span>]bar</span><p>extra": execCommand("justifyfull", false, "") return value 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<span>foo[</span><span>]bar</span><p>extra" checks for modifications to non-editable content 
+FAIL [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<span>foo[</span><span>]bar</span><p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<div style=\"text-align:justify\"><span>foo</span><span>bar</span></div><p>extra</p>" but got "<div style=\"text-align:justify\">foobar</div><p>extra</p>"
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<span>foo[</span><span>]bar</span><p>extra" queryCommandIndeterm("stylewithcss") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<span>foo[</span><span>]bar</span><p>extra" queryCommandState("stylewithcss") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<span>foo[</span><span>]bar</span><p>extra" queryCommandValue("stylewithcss") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<span>foo[</span><span>]bar</span><p>extra" queryCommandIndeterm("stylewithcss") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<span>foo[</span><span>]bar</span><p>extra" queryCommandState("stylewithcss") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<span>foo[</span><span>]bar</span><p>extra" queryCommandValue("stylewithcss") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<span>foo[</span><span>]bar</span><p>extra" queryCommandIndeterm("defaultparagraphseparator") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<span>foo[</span><span>]bar</span><p>extra" queryCommandState("defaultparagraphseparator") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<span>foo[</span><span>]bar</span><p>extra" queryCommandValue("defaultparagraphseparator") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<span>foo[</span><span>]bar</span><p>extra" queryCommandIndeterm("defaultparagraphseparator") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<span>foo[</span><span>]bar</span><p>extra" queryCommandState("defaultparagraphseparator") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<span>foo[</span><span>]bar</span><p>extra" queryCommandValue("defaultparagraphseparator") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<span>foo[</span><span>]bar</span><p>extra" queryCommandIndeterm("justifyfull") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<span>foo[</span><span>]bar</span><p>extra" queryCommandState("justifyfull") before 
+FAIL [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<span>foo[</span><span>]bar</span><p>extra" queryCommandValue("justifyfull") before assert_equals: Wrong result returned expected "left" but got "false"
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<span>foo[</span><span>]bar</span><p>extra" queryCommandIndeterm("justifyfull") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<span>foo[</span><span>]bar</span><p>extra" queryCommandState("justifyfull") after 
+FAIL [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<span>foo[</span><span>]bar</span><p>extra" queryCommandValue("justifyfull") after assert_equals: Wrong result returned expected "justify" but got "true"
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<span>foo[</span><span>]bar</span><p>extra": execCommand("stylewithcss", false, "false") return value 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<span>foo[</span><span>]bar</span><p>extra": execCommand("defaultparagraphseparator", false, "div") return value 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<span>foo[</span><span>]bar</span><p>extra": execCommand("justifyfull", false, "") return value 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<span>foo[</span><span>]bar</span><p>extra" checks for modifications to non-editable content 
+FAIL [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<span>foo[</span><span>]bar</span><p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<div style=\"text-align:justify\"><span>foo</span><span>bar</span></div><p>extra</p>" but got "<div style=\"text-align:justify\">foobar</div><p>extra</p>"
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<span>foo[</span><span>]bar</span><p>extra" queryCommandIndeterm("stylewithcss") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<span>foo[</span><span>]bar</span><p>extra" queryCommandState("stylewithcss") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<span>foo[</span><span>]bar</span><p>extra" queryCommandValue("stylewithcss") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<span>foo[</span><span>]bar</span><p>extra" queryCommandIndeterm("stylewithcss") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<span>foo[</span><span>]bar</span><p>extra" queryCommandState("stylewithcss") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<span>foo[</span><span>]bar</span><p>extra" queryCommandValue("stylewithcss") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<span>foo[</span><span>]bar</span><p>extra" queryCommandIndeterm("defaultparagraphseparator") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<span>foo[</span><span>]bar</span><p>extra" queryCommandState("defaultparagraphseparator") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<span>foo[</span><span>]bar</span><p>extra" queryCommandValue("defaultparagraphseparator") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<span>foo[</span><span>]bar</span><p>extra" queryCommandIndeterm("defaultparagraphseparator") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<span>foo[</span><span>]bar</span><p>extra" queryCommandState("defaultparagraphseparator") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<span>foo[</span><span>]bar</span><p>extra" queryCommandValue("defaultparagraphseparator") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<span>foo[</span><span>]bar</span><p>extra" queryCommandIndeterm("justifyfull") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<span>foo[</span><span>]bar</span><p>extra" queryCommandState("justifyfull") before 
+FAIL [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<span>foo[</span><span>]bar</span><p>extra" queryCommandValue("justifyfull") before assert_equals: Wrong result returned expected "left" but got "false"
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<span>foo[</span><span>]bar</span><p>extra" queryCommandIndeterm("justifyfull") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<span>foo[</span><span>]bar</span><p>extra" queryCommandState("justifyfull") after 
+FAIL [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<span>foo[</span><span>]bar</span><p>extra" queryCommandValue("justifyfull") after assert_equals: Wrong result returned expected "justify" but got "true"
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<span>foo[</span><span>]bar</span><p>extra": execCommand("stylewithcss", false, "true") return value 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<span>foo[</span><span>]bar</span><p>extra": execCommand("defaultparagraphseparator", false, "p") return value 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<span>foo[</span><span>]bar</span><p>extra": execCommand("justifyfull", false, "") return value 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<span>foo[</span><span>]bar</span><p>extra" checks for modifications to non-editable content 
+FAIL [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<span>foo[</span><span>]bar</span><p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<div style=\"text-align:justify\"><span>foo</span><span>bar</span></div><p>extra</p>" but got "<p style=\"text-align:justify\">foobar</p><p>extra</p>"
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<span>foo[</span><span>]bar</span><p>extra" queryCommandIndeterm("stylewithcss") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<span>foo[</span><span>]bar</span><p>extra" queryCommandState("stylewithcss") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<span>foo[</span><span>]bar</span><p>extra" queryCommandValue("stylewithcss") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<span>foo[</span><span>]bar</span><p>extra" queryCommandIndeterm("stylewithcss") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<span>foo[</span><span>]bar</span><p>extra" queryCommandState("stylewithcss") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<span>foo[</span><span>]bar</span><p>extra" queryCommandValue("stylewithcss") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<span>foo[</span><span>]bar</span><p>extra" queryCommandIndeterm("defaultparagraphseparator") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<span>foo[</span><span>]bar</span><p>extra" queryCommandState("defaultparagraphseparator") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<span>foo[</span><span>]bar</span><p>extra" queryCommandValue("defaultparagraphseparator") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<span>foo[</span><span>]bar</span><p>extra" queryCommandIndeterm("defaultparagraphseparator") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<span>foo[</span><span>]bar</span><p>extra" queryCommandState("defaultparagraphseparator") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<span>foo[</span><span>]bar</span><p>extra" queryCommandValue("defaultparagraphseparator") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<span>foo[</span><span>]bar</span><p>extra" queryCommandIndeterm("justifyfull") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<span>foo[</span><span>]bar</span><p>extra" queryCommandState("justifyfull") before 
+FAIL [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<span>foo[</span><span>]bar</span><p>extra" queryCommandValue("justifyfull") before assert_equals: Wrong result returned expected "left" but got "false"
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<span>foo[</span><span>]bar</span><p>extra" queryCommandIndeterm("justifyfull") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<span>foo[</span><span>]bar</span><p>extra" queryCommandState("justifyfull") after 
+FAIL [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<span>foo[</span><span>]bar</span><p>extra" queryCommandValue("justifyfull") after assert_equals: Wrong result returned expected "justify" but got "true"
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<span>foo[</span><span>]bar</span><p>extra": execCommand("stylewithcss", false, "false") return value 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<span>foo[</span><span>]bar</span><p>extra": execCommand("defaultparagraphseparator", false, "p") return value 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<span>foo[</span><span>]bar</span><p>extra": execCommand("justifyfull", false, "") return value 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<span>foo[</span><span>]bar</span><p>extra" checks for modifications to non-editable content 
+FAIL [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<span>foo[</span><span>]bar</span><p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<div style=\"text-align:justify\"><span>foo</span><span>bar</span></div><p>extra</p>" but got "<p style=\"text-align:justify\">foobar</p><p>extra</p>"
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<span>foo[</span><span>]bar</span><p>extra" queryCommandIndeterm("stylewithcss") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<span>foo[</span><span>]bar</span><p>extra" queryCommandState("stylewithcss") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<span>foo[</span><span>]bar</span><p>extra" queryCommandValue("stylewithcss") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<span>foo[</span><span>]bar</span><p>extra" queryCommandIndeterm("stylewithcss") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<span>foo[</span><span>]bar</span><p>extra" queryCommandState("stylewithcss") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<span>foo[</span><span>]bar</span><p>extra" queryCommandValue("stylewithcss") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<span>foo[</span><span>]bar</span><p>extra" queryCommandIndeterm("defaultparagraphseparator") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<span>foo[</span><span>]bar</span><p>extra" queryCommandState("defaultparagraphseparator") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<span>foo[</span><span>]bar</span><p>extra" queryCommandValue("defaultparagraphseparator") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<span>foo[</span><span>]bar</span><p>extra" queryCommandIndeterm("defaultparagraphseparator") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<span>foo[</span><span>]bar</span><p>extra" queryCommandState("defaultparagraphseparator") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<span>foo[</span><span>]bar</span><p>extra" queryCommandValue("defaultparagraphseparator") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<span>foo[</span><span>]bar</span><p>extra" queryCommandIndeterm("justifyfull") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<span>foo[</span><span>]bar</span><p>extra" queryCommandState("justifyfull") before 
+FAIL [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<span>foo[</span><span>]bar</span><p>extra" queryCommandValue("justifyfull") before assert_equals: Wrong result returned expected "left" but got "false"
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<span>foo[</span><span>]bar</span><p>extra" queryCommandIndeterm("justifyfull") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<span>foo[</span><span>]bar</span><p>extra" queryCommandState("justifyfull") after 
+FAIL [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<span>foo[</span><span>]bar</span><p>extra" queryCommandValue("justifyfull") after assert_equals: Wrong result returned expected "justify" but got "true"
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "foo[bar]baz<p>extra": execCommand("stylewithcss", false, "true") return value 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "foo[bar]baz<p>extra": execCommand("defaultparagraphseparator", false, "div") return value 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "foo[bar]baz<p>extra": execCommand("justifyfull", false, "") return value 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "foo[bar]baz<p>extra" checks for modifications to non-editable content 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "foo[bar]baz<p>extra" compare innerHTML 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "foo[bar]baz<p>extra" queryCommandIndeterm("stylewithcss") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "foo[bar]baz<p>extra" queryCommandState("stylewithcss") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "foo[bar]baz<p>extra" queryCommandValue("stylewithcss") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "foo[bar]baz<p>extra" queryCommandIndeterm("stylewithcss") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "foo[bar]baz<p>extra" queryCommandState("stylewithcss") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "foo[bar]baz<p>extra" queryCommandValue("stylewithcss") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "foo[bar]baz<p>extra" queryCommandIndeterm("defaultparagraphseparator") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "foo[bar]baz<p>extra" queryCommandState("defaultparagraphseparator") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "foo[bar]baz<p>extra" queryCommandValue("defaultparagraphseparator") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "foo[bar]baz<p>extra" queryCommandIndeterm("defaultparagraphseparator") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "foo[bar]baz<p>extra" queryCommandState("defaultparagraphseparator") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "foo[bar]baz<p>extra" queryCommandValue("defaultparagraphseparator") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "foo[bar]baz<p>extra" queryCommandIndeterm("justifyfull") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "foo[bar]baz<p>extra" queryCommandState("justifyfull") before 
+FAIL [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "foo[bar]baz<p>extra" queryCommandValue("justifyfull") before assert_equals: Wrong result returned expected "left" but got "false"
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "foo[bar]baz<p>extra" queryCommandIndeterm("justifyfull") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "foo[bar]baz<p>extra" queryCommandState("justifyfull") after 
+FAIL [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "foo[bar]baz<p>extra" queryCommandValue("justifyfull") after assert_equals: Wrong result returned expected "justify" but got "true"
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "foo[bar]baz<p>extra": execCommand("stylewithcss", false, "false") return value 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "foo[bar]baz<p>extra": execCommand("defaultparagraphseparator", false, "div") return value 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "foo[bar]baz<p>extra": execCommand("justifyfull", false, "") return value 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "foo[bar]baz<p>extra" checks for modifications to non-editable content 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "foo[bar]baz<p>extra" compare innerHTML 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "foo[bar]baz<p>extra" queryCommandIndeterm("stylewithcss") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "foo[bar]baz<p>extra" queryCommandState("stylewithcss") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "foo[bar]baz<p>extra" queryCommandValue("stylewithcss") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "foo[bar]baz<p>extra" queryCommandIndeterm("stylewithcss") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "foo[bar]baz<p>extra" queryCommandState("stylewithcss") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "foo[bar]baz<p>extra" queryCommandValue("stylewithcss") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "foo[bar]baz<p>extra" queryCommandIndeterm("defaultparagraphseparator") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "foo[bar]baz<p>extra" queryCommandState("defaultparagraphseparator") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "foo[bar]baz<p>extra" queryCommandValue("defaultparagraphseparator") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "foo[bar]baz<p>extra" queryCommandIndeterm("defaultparagraphseparator") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "foo[bar]baz<p>extra" queryCommandState("defaultparagraphseparator") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "foo[bar]baz<p>extra" queryCommandValue("defaultparagraphseparator") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "foo[bar]baz<p>extra" queryCommandIndeterm("justifyfull") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "foo[bar]baz<p>extra" queryCommandState("justifyfull") before 
+FAIL [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "foo[bar]baz<p>extra" queryCommandValue("justifyfull") before assert_equals: Wrong result returned expected "left" but got "false"
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "foo[bar]baz<p>extra" queryCommandIndeterm("justifyfull") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "foo[bar]baz<p>extra" queryCommandState("justifyfull") after 
+FAIL [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "foo[bar]baz<p>extra" queryCommandValue("justifyfull") after assert_equals: Wrong result returned expected "justify" but got "true"
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "foo[bar]baz<p>extra": execCommand("stylewithcss", false, "true") return value 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "foo[bar]baz<p>extra": execCommand("defaultparagraphseparator", false, "p") return value 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "foo[bar]baz<p>extra": execCommand("justifyfull", false, "") return value 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "foo[bar]baz<p>extra" checks for modifications to non-editable content 
+FAIL [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "foo[bar]baz<p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<div style=\"text-align:justify\">foobarbaz</div><p>extra</p>" but got "<p style=\"text-align:justify\">foobarbaz</p><p>extra</p>"
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "foo[bar]baz<p>extra" queryCommandIndeterm("stylewithcss") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "foo[bar]baz<p>extra" queryCommandState("stylewithcss") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "foo[bar]baz<p>extra" queryCommandValue("stylewithcss") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "foo[bar]baz<p>extra" queryCommandIndeterm("stylewithcss") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "foo[bar]baz<p>extra" queryCommandState("stylewithcss") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "foo[bar]baz<p>extra" queryCommandValue("stylewithcss") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "foo[bar]baz<p>extra" queryCommandIndeterm("defaultparagraphseparator") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "foo[bar]baz<p>extra" queryCommandState("defaultparagraphseparator") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "foo[bar]baz<p>extra" queryCommandValue("defaultparagraphseparator") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "foo[bar]baz<p>extra" queryCommandIndeterm("defaultparagraphseparator") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "foo[bar]baz<p>extra" queryCommandState("defaultparagraphseparator") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "foo[bar]baz<p>extra" queryCommandValue("defaultparagraphseparator") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "foo[bar]baz<p>extra" queryCommandIndeterm("justifyfull") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "foo[bar]baz<p>extra" queryCommandState("justifyfull") before 
+FAIL [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "foo[bar]baz<p>extra" queryCommandValue("justifyfull") before assert_equals: Wrong result returned expected "left" but got "false"
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "foo[bar]baz<p>extra" queryCommandIndeterm("justifyfull") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "foo[bar]baz<p>extra" queryCommandState("justifyfull") after 
+FAIL [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "foo[bar]baz<p>extra" queryCommandValue("justifyfull") after assert_equals: Wrong result returned expected "justify" but got "true"
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "foo[bar]baz<p>extra": execCommand("stylewithcss", false, "false") return value 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "foo[bar]baz<p>extra": execCommand("defaultparagraphseparator", false, "p") return value 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "foo[bar]baz<p>extra": execCommand("justifyfull", false, "") return value 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "foo[bar]baz<p>extra" checks for modifications to non-editable content 
+FAIL [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "foo[bar]baz<p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<div style=\"text-align:justify\">foobarbaz</div><p>extra</p>" but got "<p style=\"text-align:justify\">foobarbaz</p><p>extra</p>"
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "foo[bar]baz<p>extra" queryCommandIndeterm("stylewithcss") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "foo[bar]baz<p>extra" queryCommandState("stylewithcss") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "foo[bar]baz<p>extra" queryCommandValue("stylewithcss") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "foo[bar]baz<p>extra" queryCommandIndeterm("stylewithcss") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "foo[bar]baz<p>extra" queryCommandState("stylewithcss") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "foo[bar]baz<p>extra" queryCommandValue("stylewithcss") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "foo[bar]baz<p>extra" queryCommandIndeterm("defaultparagraphseparator") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "foo[bar]baz<p>extra" queryCommandState("defaultparagraphseparator") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "foo[bar]baz<p>extra" queryCommandValue("defaultparagraphseparator") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "foo[bar]baz<p>extra" queryCommandIndeterm("defaultparagraphseparator") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "foo[bar]baz<p>extra" queryCommandState("defaultparagraphseparator") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "foo[bar]baz<p>extra" queryCommandValue("defaultparagraphseparator") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "foo[bar]baz<p>extra" queryCommandIndeterm("justifyfull") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "foo[bar]baz<p>extra" queryCommandState("justifyfull") before 
+FAIL [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "foo[bar]baz<p>extra" queryCommandValue("justifyfull") before assert_equals: Wrong result returned expected "left" but got "false"
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "foo[bar]baz<p>extra" queryCommandIndeterm("justifyfull") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "foo[bar]baz<p>extra" queryCommandState("justifyfull") after 
+FAIL [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "foo[bar]baz<p>extra" queryCommandValue("justifyfull") after assert_equals: Wrong result returned expected "justify" but got "true"
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "foo[bar<b>baz]qoz</b>quz<p>extra": execCommand("stylewithcss", false, "true") return value 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "foo[bar<b>baz]qoz</b>quz<p>extra": execCommand("defaultparagraphseparator", false, "div") return value 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "foo[bar<b>baz]qoz</b>quz<p>extra": execCommand("justifyfull", false, "") return value 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "foo[bar<b>baz]qoz</b>quz<p>extra" checks for modifications to non-editable content 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "foo[bar<b>baz]qoz</b>quz<p>extra" compare innerHTML 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "foo[bar<b>baz]qoz</b>quz<p>extra" queryCommandIndeterm("stylewithcss") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "foo[bar<b>baz]qoz</b>quz<p>extra" queryCommandState("stylewithcss") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "foo[bar<b>baz]qoz</b>quz<p>extra" queryCommandValue("stylewithcss") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "foo[bar<b>baz]qoz</b>quz<p>extra" queryCommandIndeterm("stylewithcss") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "foo[bar<b>baz]qoz</b>quz<p>extra" queryCommandState("stylewithcss") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "foo[bar<b>baz]qoz</b>quz<p>extra" queryCommandValue("stylewithcss") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "foo[bar<b>baz]qoz</b>quz<p>extra" queryCommandIndeterm("defaultparagraphseparator") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "foo[bar<b>baz]qoz</b>quz<p>extra" queryCommandState("defaultparagraphseparator") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "foo[bar<b>baz]qoz</b>quz<p>extra" queryCommandValue("defaultparagraphseparator") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "foo[bar<b>baz]qoz</b>quz<p>extra" queryCommandIndeterm("defaultparagraphseparator") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "foo[bar<b>baz]qoz</b>quz<p>extra" queryCommandState("defaultparagraphseparator") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "foo[bar<b>baz]qoz</b>quz<p>extra" queryCommandValue("defaultparagraphseparator") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "foo[bar<b>baz]qoz</b>quz<p>extra" queryCommandIndeterm("justifyfull") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "foo[bar<b>baz]qoz</b>quz<p>extra" queryCommandState("justifyfull") before 
+FAIL [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "foo[bar<b>baz]qoz</b>quz<p>extra" queryCommandValue("justifyfull") before assert_equals: Wrong result returned expected "left" but got "false"
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "foo[bar<b>baz]qoz</b>quz<p>extra" queryCommandIndeterm("justifyfull") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "foo[bar<b>baz]qoz</b>quz<p>extra" queryCommandState("justifyfull") after 
+FAIL [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "foo[bar<b>baz]qoz</b>quz<p>extra" queryCommandValue("justifyfull") after assert_equals: Wrong result returned expected "justify" but got "true"
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "foo[bar<b>baz]qoz</b>quz<p>extra": execCommand("stylewithcss", false, "false") return value 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "foo[bar<b>baz]qoz</b>quz<p>extra": execCommand("defaultparagraphseparator", false, "div") return value 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "foo[bar<b>baz]qoz</b>quz<p>extra": execCommand("justifyfull", false, "") return value 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "foo[bar<b>baz]qoz</b>quz<p>extra" checks for modifications to non-editable content 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "foo[bar<b>baz]qoz</b>quz<p>extra" compare innerHTML 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "foo[bar<b>baz]qoz</b>quz<p>extra" queryCommandIndeterm("stylewithcss") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "foo[bar<b>baz]qoz</b>quz<p>extra" queryCommandState("stylewithcss") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "foo[bar<b>baz]qoz</b>quz<p>extra" queryCommandValue("stylewithcss") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "foo[bar<b>baz]qoz</b>quz<p>extra" queryCommandIndeterm("stylewithcss") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "foo[bar<b>baz]qoz</b>quz<p>extra" queryCommandState("stylewithcss") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "foo[bar<b>baz]qoz</b>quz<p>extra" queryCommandValue("stylewithcss") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "foo[bar<b>baz]qoz</b>quz<p>extra" queryCommandIndeterm("defaultparagraphseparator") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "foo[bar<b>baz]qoz</b>quz<p>extra" queryCommandState("defaultparagraphseparator") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "foo[bar<b>baz]qoz</b>quz<p>extra" queryCommandValue("defaultparagraphseparator") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "foo[bar<b>baz]qoz</b>quz<p>extra" queryCommandIndeterm("defaultparagraphseparator") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "foo[bar<b>baz]qoz</b>quz<p>extra" queryCommandState("defaultparagraphseparator") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "foo[bar<b>baz]qoz</b>quz<p>extra" queryCommandValue("defaultparagraphseparator") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "foo[bar<b>baz]qoz</b>quz<p>extra" queryCommandIndeterm("justifyfull") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "foo[bar<b>baz]qoz</b>quz<p>extra" queryCommandState("justifyfull") before 
+FAIL [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "foo[bar<b>baz]qoz</b>quz<p>extra" queryCommandValue("justifyfull") before assert_equals: Wrong result returned expected "left" but got "false"
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "foo[bar<b>baz]qoz</b>quz<p>extra" queryCommandIndeterm("justifyfull") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "foo[bar<b>baz]qoz</b>quz<p>extra" queryCommandState("justifyfull") after 
+FAIL [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "foo[bar<b>baz]qoz</b>quz<p>extra" queryCommandValue("justifyfull") after assert_equals: Wrong result returned expected "justify" but got "true"
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "foo[bar<b>baz]qoz</b>quz<p>extra": execCommand("stylewithcss", false, "true") return value 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "foo[bar<b>baz]qoz</b>quz<p>extra": execCommand("defaultparagraphseparator", false, "p") return value 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "foo[bar<b>baz]qoz</b>quz<p>extra": execCommand("justifyfull", false, "") return value 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "foo[bar<b>baz]qoz</b>quz<p>extra" checks for modifications to non-editable content 
+FAIL [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "foo[bar<b>baz]qoz</b>quz<p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<div style=\"text-align:justify\">foobar<b>bazqoz</b>quz</div><p>extra</p>" but got "<p style=\"text-align:justify\">foobar<b>bazqoz</b>quz</p><p>extra</p>"
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "foo[bar<b>baz]qoz</b>quz<p>extra" queryCommandIndeterm("stylewithcss") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "foo[bar<b>baz]qoz</b>quz<p>extra" queryCommandState("stylewithcss") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "foo[bar<b>baz]qoz</b>quz<p>extra" queryCommandValue("stylewithcss") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "foo[bar<b>baz]qoz</b>quz<p>extra" queryCommandIndeterm("stylewithcss") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "foo[bar<b>baz]qoz</b>quz<p>extra" queryCommandState("stylewithcss") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "foo[bar<b>baz]qoz</b>quz<p>extra" queryCommandValue("stylewithcss") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "foo[bar<b>baz]qoz</b>quz<p>extra" queryCommandIndeterm("defaultparagraphseparator") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "foo[bar<b>baz]qoz</b>quz<p>extra" queryCommandState("defaultparagraphseparator") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "foo[bar<b>baz]qoz</b>quz<p>extra" queryCommandValue("defaultparagraphseparator") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "foo[bar<b>baz]qoz</b>quz<p>extra" queryCommandIndeterm("defaultparagraphseparator") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "foo[bar<b>baz]qoz</b>quz<p>extra" queryCommandState("defaultparagraphseparator") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "foo[bar<b>baz]qoz</b>quz<p>extra" queryCommandValue("defaultparagraphseparator") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "foo[bar<b>baz]qoz</b>quz<p>extra" queryCommandIndeterm("justifyfull") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "foo[bar<b>baz]qoz</b>quz<p>extra" queryCommandState("justifyfull") before 
+FAIL [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "foo[bar<b>baz]qoz</b>quz<p>extra" queryCommandValue("justifyfull") before assert_equals: Wrong result returned expected "left" but got "false"
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "foo[bar<b>baz]qoz</b>quz<p>extra" queryCommandIndeterm("justifyfull") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "foo[bar<b>baz]qoz</b>quz<p>extra" queryCommandState("justifyfull") after 
+FAIL [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "foo[bar<b>baz]qoz</b>quz<p>extra" queryCommandValue("justifyfull") after assert_equals: Wrong result returned expected "justify" but got "true"
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "foo[bar<b>baz]qoz</b>quz<p>extra": execCommand("stylewithcss", false, "false") return value 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "foo[bar<b>baz]qoz</b>quz<p>extra": execCommand("defaultparagraphseparator", false, "p") return value 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "foo[bar<b>baz]qoz</b>quz<p>extra": execCommand("justifyfull", false, "") return value 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "foo[bar<b>baz]qoz</b>quz<p>extra" checks for modifications to non-editable content 
+FAIL [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "foo[bar<b>baz]qoz</b>quz<p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<div style=\"text-align:justify\">foobar<b>bazqoz</b>quz</div><p>extra</p>" but got "<p style=\"text-align:justify\">foobar<b>bazqoz</b>quz</p><p>extra</p>"
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "foo[bar<b>baz]qoz</b>quz<p>extra" queryCommandIndeterm("stylewithcss") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "foo[bar<b>baz]qoz</b>quz<p>extra" queryCommandState("stylewithcss") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "foo[bar<b>baz]qoz</b>quz<p>extra" queryCommandValue("stylewithcss") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "foo[bar<b>baz]qoz</b>quz<p>extra" queryCommandIndeterm("stylewithcss") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "foo[bar<b>baz]qoz</b>quz<p>extra" queryCommandState("stylewithcss") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "foo[bar<b>baz]qoz</b>quz<p>extra" queryCommandValue("stylewithcss") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "foo[bar<b>baz]qoz</b>quz<p>extra" queryCommandIndeterm("defaultparagraphseparator") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "foo[bar<b>baz]qoz</b>quz<p>extra" queryCommandState("defaultparagraphseparator") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "foo[bar<b>baz]qoz</b>quz<p>extra" queryCommandValue("defaultparagraphseparator") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "foo[bar<b>baz]qoz</b>quz<p>extra" queryCommandIndeterm("defaultparagraphseparator") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "foo[bar<b>baz]qoz</b>quz<p>extra" queryCommandState("defaultparagraphseparator") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "foo[bar<b>baz]qoz</b>quz<p>extra" queryCommandValue("defaultparagraphseparator") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "foo[bar<b>baz]qoz</b>quz<p>extra" queryCommandIndeterm("justifyfull") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "foo[bar<b>baz]qoz</b>quz<p>extra" queryCommandState("justifyfull") before 
+FAIL [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "foo[bar<b>baz]qoz</b>quz<p>extra" queryCommandValue("justifyfull") before assert_equals: Wrong result returned expected "left" but got "false"
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "foo[bar<b>baz]qoz</b>quz<p>extra" queryCommandIndeterm("justifyfull") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "foo[bar<b>baz]qoz</b>quz<p>extra" queryCommandState("justifyfull") after 
+FAIL [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "foo[bar<b>baz]qoz</b>quz<p>extra" queryCommandValue("justifyfull") after assert_equals: Wrong result returned expected "justify" but got "true"
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<p>foo[]bar<p>extra": execCommand("stylewithcss", false, "true") return value 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<p>foo[]bar<p>extra": execCommand("defaultparagraphseparator", false, "div") return value 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<p>foo[]bar<p>extra": execCommand("justifyfull", false, "") return value 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<p>foo[]bar<p>extra" checks for modifications to non-editable content 
+FAIL [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<p>foo[]bar<p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<div style=\"text-align:justify\"><p>foobar</p></div><p>extra</p>" but got "<p style=\"text-align:justify\">foobar</p><p>extra</p>"
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<p>foo[]bar<p>extra" queryCommandIndeterm("stylewithcss") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<p>foo[]bar<p>extra" queryCommandState("stylewithcss") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<p>foo[]bar<p>extra" queryCommandValue("stylewithcss") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<p>foo[]bar<p>extra" queryCommandIndeterm("stylewithcss") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<p>foo[]bar<p>extra" queryCommandState("stylewithcss") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<p>foo[]bar<p>extra" queryCommandValue("stylewithcss") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<p>foo[]bar<p>extra" queryCommandIndeterm("defaultparagraphseparator") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<p>foo[]bar<p>extra" queryCommandState("defaultparagraphseparator") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<p>foo[]bar<p>extra" queryCommandValue("defaultparagraphseparator") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<p>foo[]bar<p>extra" queryCommandIndeterm("defaultparagraphseparator") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<p>foo[]bar<p>extra" queryCommandState("defaultparagraphseparator") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<p>foo[]bar<p>extra" queryCommandValue("defaultparagraphseparator") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<p>foo[]bar<p>extra" queryCommandIndeterm("justifyfull") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<p>foo[]bar<p>extra" queryCommandState("justifyfull") before 
+FAIL [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<p>foo[]bar<p>extra" queryCommandValue("justifyfull") before assert_equals: Wrong result returned expected "left" but got "false"
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<p>foo[]bar<p>extra" queryCommandIndeterm("justifyfull") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<p>foo[]bar<p>extra" queryCommandState("justifyfull") after 
+FAIL [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<p>foo[]bar<p>extra" queryCommandValue("justifyfull") after assert_equals: Wrong result returned expected "justify" but got "true"
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<p>foo[]bar<p>extra": execCommand("stylewithcss", false, "false") return value 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<p>foo[]bar<p>extra": execCommand("defaultparagraphseparator", false, "div") return value 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<p>foo[]bar<p>extra": execCommand("justifyfull", false, "") return value 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<p>foo[]bar<p>extra" checks for modifications to non-editable content 
+FAIL [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<p>foo[]bar<p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<div style=\"text-align:justify\"><p>foobar</p></div><p>extra</p>" but got "<p style=\"text-align:justify\">foobar</p><p>extra</p>"
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<p>foo[]bar<p>extra" queryCommandIndeterm("stylewithcss") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<p>foo[]bar<p>extra" queryCommandState("stylewithcss") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<p>foo[]bar<p>extra" queryCommandValue("stylewithcss") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<p>foo[]bar<p>extra" queryCommandIndeterm("stylewithcss") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<p>foo[]bar<p>extra" queryCommandState("stylewithcss") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<p>foo[]bar<p>extra" queryCommandValue("stylewithcss") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<p>foo[]bar<p>extra" queryCommandIndeterm("defaultparagraphseparator") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<p>foo[]bar<p>extra" queryCommandState("defaultparagraphseparator") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<p>foo[]bar<p>extra" queryCommandValue("defaultparagraphseparator") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<p>foo[]bar<p>extra" queryCommandIndeterm("defaultparagraphseparator") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<p>foo[]bar<p>extra" queryCommandState("defaultparagraphseparator") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<p>foo[]bar<p>extra" queryCommandValue("defaultparagraphseparator") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<p>foo[]bar<p>extra" queryCommandIndeterm("justifyfull") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<p>foo[]bar<p>extra" queryCommandState("justifyfull") before 
+FAIL [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<p>foo[]bar<p>extra" queryCommandValue("justifyfull") before assert_equals: Wrong result returned expected "left" but got "false"
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<p>foo[]bar<p>extra" queryCommandIndeterm("justifyfull") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<p>foo[]bar<p>extra" queryCommandState("justifyfull") after 
+FAIL [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<p>foo[]bar<p>extra" queryCommandValue("justifyfull") after assert_equals: Wrong result returned expected "justify" but got "true"
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<p>foo[]bar<p>extra": execCommand("stylewithcss", false, "true") return value 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<p>foo[]bar<p>extra": execCommand("defaultparagraphseparator", false, "p") return value 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<p>foo[]bar<p>extra": execCommand("justifyfull", false, "") return value 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<p>foo[]bar<p>extra" checks for modifications to non-editable content 
+FAIL [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<p>foo[]bar<p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<div style=\"text-align:justify\"><p>foobar</p></div><p>extra</p>" but got "<p style=\"text-align:justify\">foobar</p><p>extra</p>"
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<p>foo[]bar<p>extra" queryCommandIndeterm("stylewithcss") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<p>foo[]bar<p>extra" queryCommandState("stylewithcss") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<p>foo[]bar<p>extra" queryCommandValue("stylewithcss") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<p>foo[]bar<p>extra" queryCommandIndeterm("stylewithcss") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<p>foo[]bar<p>extra" queryCommandState("stylewithcss") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<p>foo[]bar<p>extra" queryCommandValue("stylewithcss") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<p>foo[]bar<p>extra" queryCommandIndeterm("defaultparagraphseparator") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<p>foo[]bar<p>extra" queryCommandState("defaultparagraphseparator") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<p>foo[]bar<p>extra" queryCommandValue("defaultparagraphseparator") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<p>foo[]bar<p>extra" queryCommandIndeterm("defaultparagraphseparator") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<p>foo[]bar<p>extra" queryCommandState("defaultparagraphseparator") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<p>foo[]bar<p>extra" queryCommandValue("defaultparagraphseparator") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<p>foo[]bar<p>extra" queryCommandIndeterm("justifyfull") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<p>foo[]bar<p>extra" queryCommandState("justifyfull") before 
+FAIL [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<p>foo[]bar<p>extra" queryCommandValue("justifyfull") before assert_equals: Wrong result returned expected "left" but got "false"
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<p>foo[]bar<p>extra" queryCommandIndeterm("justifyfull") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<p>foo[]bar<p>extra" queryCommandState("justifyfull") after 
+FAIL [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<p>foo[]bar<p>extra" queryCommandValue("justifyfull") after assert_equals: Wrong result returned expected "justify" but got "true"
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<p>foo[]bar<p>extra": execCommand("stylewithcss", false, "false") return value 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<p>foo[]bar<p>extra": execCommand("defaultparagraphseparator", false, "p") return value 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<p>foo[]bar<p>extra": execCommand("justifyfull", false, "") return value 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<p>foo[]bar<p>extra" checks for modifications to non-editable content 
+FAIL [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<p>foo[]bar<p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<div style=\"text-align:justify\"><p>foobar</p></div><p>extra</p>" but got "<p style=\"text-align:justify\">foobar</p><p>extra</p>"
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<p>foo[]bar<p>extra" queryCommandIndeterm("stylewithcss") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<p>foo[]bar<p>extra" queryCommandState("stylewithcss") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<p>foo[]bar<p>extra" queryCommandValue("stylewithcss") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<p>foo[]bar<p>extra" queryCommandIndeterm("stylewithcss") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<p>foo[]bar<p>extra" queryCommandState("stylewithcss") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<p>foo[]bar<p>extra" queryCommandValue("stylewithcss") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<p>foo[]bar<p>extra" queryCommandIndeterm("defaultparagraphseparator") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<p>foo[]bar<p>extra" queryCommandState("defaultparagraphseparator") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<p>foo[]bar<p>extra" queryCommandValue("defaultparagraphseparator") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<p>foo[]bar<p>extra" queryCommandIndeterm("defaultparagraphseparator") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<p>foo[]bar<p>extra" queryCommandState("defaultparagraphseparator") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<p>foo[]bar<p>extra" queryCommandValue("defaultparagraphseparator") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<p>foo[]bar<p>extra" queryCommandIndeterm("justifyfull") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<p>foo[]bar<p>extra" queryCommandState("justifyfull") before 
+FAIL [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<p>foo[]bar<p>extra" queryCommandValue("justifyfull") before assert_equals: Wrong result returned expected "left" but got "false"
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<p>foo[]bar<p>extra" queryCommandIndeterm("justifyfull") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<p>foo[]bar<p>extra" queryCommandState("justifyfull") after 
+FAIL [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<p>foo[]bar<p>extra" queryCommandValue("justifyfull") after assert_equals: Wrong result returned expected "justify" but got "true"
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<p>foo[bar]baz<p>extra": execCommand("stylewithcss", false, "true") return value 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<p>foo[bar]baz<p>extra": execCommand("defaultparagraphseparator", false, "div") return value 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<p>foo[bar]baz<p>extra": execCommand("justifyfull", false, "") return value 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<p>foo[bar]baz<p>extra" checks for modifications to non-editable content 
+FAIL [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<p>foo[bar]baz<p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<div style=\"text-align:justify\"><p>foobarbaz</p></div><p>extra</p>" but got "<p style=\"text-align:justify\">foobarbaz</p><p>extra</p>"
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<p>foo[bar]baz<p>extra" queryCommandIndeterm("stylewithcss") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<p>foo[bar]baz<p>extra" queryCommandState("stylewithcss") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<p>foo[bar]baz<p>extra" queryCommandValue("stylewithcss") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<p>foo[bar]baz<p>extra" queryCommandIndeterm("stylewithcss") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<p>foo[bar]baz<p>extra" queryCommandState("stylewithcss") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<p>foo[bar]baz<p>extra" queryCommandValue("stylewithcss") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<p>foo[bar]baz<p>extra" queryCommandIndeterm("defaultparagraphseparator") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<p>foo[bar]baz<p>extra" queryCommandState("defaultparagraphseparator") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<p>foo[bar]baz<p>extra" queryCommandValue("defaultparagraphseparator") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<p>foo[bar]baz<p>extra" queryCommandIndeterm("defaultparagraphseparator") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<p>foo[bar]baz<p>extra" queryCommandState("defaultparagraphseparator") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<p>foo[bar]baz<p>extra" queryCommandValue("defaultparagraphseparator") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<p>foo[bar]baz<p>extra" queryCommandIndeterm("justifyfull") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<p>foo[bar]baz<p>extra" queryCommandState("justifyfull") before 
+FAIL [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<p>foo[bar]baz<p>extra" queryCommandValue("justifyfull") before assert_equals: Wrong result returned expected "left" but got "false"
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<p>foo[bar]baz<p>extra" queryCommandIndeterm("justifyfull") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<p>foo[bar]baz<p>extra" queryCommandState("justifyfull") after 
+FAIL [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<p>foo[bar]baz<p>extra" queryCommandValue("justifyfull") after assert_equals: Wrong result returned expected "justify" but got "true"
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<p>foo[bar]baz<p>extra": execCommand("stylewithcss", false, "false") return value 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<p>foo[bar]baz<p>extra": execCommand("defaultparagraphseparator", false, "div") return value 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<p>foo[bar]baz<p>extra": execCommand("justifyfull", false, "") return value 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<p>foo[bar]baz<p>extra" checks for modifications to non-editable content 
+FAIL [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<p>foo[bar]baz<p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<div style=\"text-align:justify\"><p>foobarbaz</p></div><p>extra</p>" but got "<p style=\"text-align:justify\">foobarbaz</p><p>extra</p>"
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<p>foo[bar]baz<p>extra" queryCommandIndeterm("stylewithcss") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<p>foo[bar]baz<p>extra" queryCommandState("stylewithcss") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<p>foo[bar]baz<p>extra" queryCommandValue("stylewithcss") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<p>foo[bar]baz<p>extra" queryCommandIndeterm("stylewithcss") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<p>foo[bar]baz<p>extra" queryCommandState("stylewithcss") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<p>foo[bar]baz<p>extra" queryCommandValue("stylewithcss") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<p>foo[bar]baz<p>extra" queryCommandIndeterm("defaultparagraphseparator") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<p>foo[bar]baz<p>extra" queryCommandState("defaultparagraphseparator") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<p>foo[bar]baz<p>extra" queryCommandValue("defaultparagraphseparator") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<p>foo[bar]baz<p>extra" queryCommandIndeterm("defaultparagraphseparator") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<p>foo[bar]baz<p>extra" queryCommandState("defaultparagraphseparator") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<p>foo[bar]baz<p>extra" queryCommandValue("defaultparagraphseparator") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<p>foo[bar]baz<p>extra" queryCommandIndeterm("justifyfull") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<p>foo[bar]baz<p>extra" queryCommandState("justifyfull") before 
+FAIL [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<p>foo[bar]baz<p>extra" queryCommandValue("justifyfull") before assert_equals: Wrong result returned expected "left" but got "false"
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<p>foo[bar]baz<p>extra" queryCommandIndeterm("justifyfull") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<p>foo[bar]baz<p>extra" queryCommandState("justifyfull") after 
+FAIL [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<p>foo[bar]baz<p>extra" queryCommandValue("justifyfull") after assert_equals: Wrong result returned expected "justify" but got "true"
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<p>foo[bar]baz<p>extra": execCommand("stylewithcss", false, "true") return value 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<p>foo[bar]baz<p>extra": execCommand("defaultparagraphseparator", false, "p") return value 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<p>foo[bar]baz<p>extra": execCommand("justifyfull", false, "") return value 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<p>foo[bar]baz<p>extra" checks for modifications to non-editable content 
+FAIL [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<p>foo[bar]baz<p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<div style=\"text-align:justify\"><p>foobarbaz</p></div><p>extra</p>" but got "<p style=\"text-align:justify\">foobarbaz</p><p>extra</p>"
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<p>foo[bar]baz<p>extra" queryCommandIndeterm("stylewithcss") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<p>foo[bar]baz<p>extra" queryCommandState("stylewithcss") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<p>foo[bar]baz<p>extra" queryCommandValue("stylewithcss") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<p>foo[bar]baz<p>extra" queryCommandIndeterm("stylewithcss") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<p>foo[bar]baz<p>extra" queryCommandState("stylewithcss") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<p>foo[bar]baz<p>extra" queryCommandValue("stylewithcss") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<p>foo[bar]baz<p>extra" queryCommandIndeterm("defaultparagraphseparator") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<p>foo[bar]baz<p>extra" queryCommandState("defaultparagraphseparator") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<p>foo[bar]baz<p>extra" queryCommandValue("defaultparagraphseparator") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<p>foo[bar]baz<p>extra" queryCommandIndeterm("defaultparagraphseparator") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<p>foo[bar]baz<p>extra" queryCommandState("defaultparagraphseparator") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<p>foo[bar]baz<p>extra" queryCommandValue("defaultparagraphseparator") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<p>foo[bar]baz<p>extra" queryCommandIndeterm("justifyfull") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<p>foo[bar]baz<p>extra" queryCommandState("justifyfull") before 
+FAIL [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<p>foo[bar]baz<p>extra" queryCommandValue("justifyfull") before assert_equals: Wrong result returned expected "left" but got "false"
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<p>foo[bar]baz<p>extra" queryCommandIndeterm("justifyfull") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<p>foo[bar]baz<p>extra" queryCommandState("justifyfull") after 
+FAIL [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<p>foo[bar]baz<p>extra" queryCommandValue("justifyfull") after assert_equals: Wrong result returned expected "justify" but got "true"
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<p>foo[bar]baz<p>extra": execCommand("stylewithcss", false, "false") return value 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<p>foo[bar]baz<p>extra": execCommand("defaultparagraphseparator", false, "p") return value 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<p>foo[bar]baz<p>extra": execCommand("justifyfull", false, "") return value 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<p>foo[bar]baz<p>extra" checks for modifications to non-editable content 
+FAIL [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<p>foo[bar]baz<p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<div style=\"text-align:justify\"><p>foobarbaz</p></div><p>extra</p>" but got "<p style=\"text-align:justify\">foobarbaz</p><p>extra</p>"
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<p>foo[bar]baz<p>extra" queryCommandIndeterm("stylewithcss") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<p>foo[bar]baz<p>extra" queryCommandState("stylewithcss") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<p>foo[bar]baz<p>extra" queryCommandValue("stylewithcss") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<p>foo[bar]baz<p>extra" queryCommandIndeterm("stylewithcss") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<p>foo[bar]baz<p>extra" queryCommandState("stylewithcss") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<p>foo[bar]baz<p>extra" queryCommandValue("stylewithcss") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<p>foo[bar]baz<p>extra" queryCommandIndeterm("defaultparagraphseparator") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<p>foo[bar]baz<p>extra" queryCommandState("defaultparagraphseparator") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<p>foo[bar]baz<p>extra" queryCommandValue("defaultparagraphseparator") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<p>foo[bar]baz<p>extra" queryCommandIndeterm("defaultparagraphseparator") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<p>foo[bar]baz<p>extra" queryCommandState("defaultparagraphseparator") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<p>foo[bar]baz<p>extra" queryCommandValue("defaultparagraphseparator") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<p>foo[bar]baz<p>extra" queryCommandIndeterm("justifyfull") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<p>foo[bar]baz<p>extra" queryCommandState("justifyfull") before 
+FAIL [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<p>foo[bar]baz<p>extra" queryCommandValue("justifyfull") before assert_equals: Wrong result returned expected "left" but got "false"
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<p>foo[bar]baz<p>extra" queryCommandIndeterm("justifyfull") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<p>foo[bar]baz<p>extra" queryCommandState("justifyfull") after 
+FAIL [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<p>foo[bar]baz<p>extra" queryCommandValue("justifyfull") after assert_equals: Wrong result returned expected "justify" but got "true"
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<h1>foo[bar]baz</h1><p>extra": execCommand("stylewithcss", false, "true") return value 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<h1>foo[bar]baz</h1><p>extra": execCommand("defaultparagraphseparator", false, "div") return value 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<h1>foo[bar]baz</h1><p>extra": execCommand("justifyfull", false, "") return value 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<h1>foo[bar]baz</h1><p>extra" checks for modifications to non-editable content 
+FAIL [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<h1>foo[bar]baz</h1><p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<div style=\"text-align:justify\"><h1>foobarbaz</h1></div><p>extra</p>" but got "<h1 style=\"text-align:justify\">foobarbaz</h1><p>extra</p>"
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<h1>foo[bar]baz</h1><p>extra" queryCommandIndeterm("stylewithcss") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<h1>foo[bar]baz</h1><p>extra" queryCommandState("stylewithcss") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<h1>foo[bar]baz</h1><p>extra" queryCommandValue("stylewithcss") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<h1>foo[bar]baz</h1><p>extra" queryCommandIndeterm("stylewithcss") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<h1>foo[bar]baz</h1><p>extra" queryCommandState("stylewithcss") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<h1>foo[bar]baz</h1><p>extra" queryCommandValue("stylewithcss") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<h1>foo[bar]baz</h1><p>extra" queryCommandIndeterm("defaultparagraphseparator") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<h1>foo[bar]baz</h1><p>extra" queryCommandState("defaultparagraphseparator") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<h1>foo[bar]baz</h1><p>extra" queryCommandValue("defaultparagraphseparator") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<h1>foo[bar]baz</h1><p>extra" queryCommandIndeterm("defaultparagraphseparator") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<h1>foo[bar]baz</h1><p>extra" queryCommandState("defaultparagraphseparator") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<h1>foo[bar]baz</h1><p>extra" queryCommandValue("defaultparagraphseparator") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<h1>foo[bar]baz</h1><p>extra" queryCommandIndeterm("justifyfull") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<h1>foo[bar]baz</h1><p>extra" queryCommandState("justifyfull") before 
+FAIL [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<h1>foo[bar]baz</h1><p>extra" queryCommandValue("justifyfull") before assert_equals: Wrong result returned expected "left" but got "false"
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<h1>foo[bar]baz</h1><p>extra" queryCommandIndeterm("justifyfull") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<h1>foo[bar]baz</h1><p>extra" queryCommandState("justifyfull") after 
+FAIL [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<h1>foo[bar]baz</h1><p>extra" queryCommandValue("justifyfull") after assert_equals: Wrong result returned expected "justify" but got "true"
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<h1>foo[bar]baz</h1><p>extra": execCommand("stylewithcss", false, "false") return value 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<h1>foo[bar]baz</h1><p>extra": execCommand("defaultparagraphseparator", false, "div") return value 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<h1>foo[bar]baz</h1><p>extra": execCommand("justifyfull", false, "") return value 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<h1>foo[bar]baz</h1><p>extra" checks for modifications to non-editable content 
+FAIL [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<h1>foo[bar]baz</h1><p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<div style=\"text-align:justify\"><h1>foobarbaz</h1></div><p>extra</p>" but got "<h1 style=\"text-align:justify\">foobarbaz</h1><p>extra</p>"
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<h1>foo[bar]baz</h1><p>extra" queryCommandIndeterm("stylewithcss") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<h1>foo[bar]baz</h1><p>extra" queryCommandState("stylewithcss") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<h1>foo[bar]baz</h1><p>extra" queryCommandValue("stylewithcss") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<h1>foo[bar]baz</h1><p>extra" queryCommandIndeterm("stylewithcss") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<h1>foo[bar]baz</h1><p>extra" queryCommandState("stylewithcss") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<h1>foo[bar]baz</h1><p>extra" queryCommandValue("stylewithcss") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<h1>foo[bar]baz</h1><p>extra" queryCommandIndeterm("defaultparagraphseparator") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<h1>foo[bar]baz</h1><p>extra" queryCommandState("defaultparagraphseparator") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<h1>foo[bar]baz</h1><p>extra" queryCommandValue("defaultparagraphseparator") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<h1>foo[bar]baz</h1><p>extra" queryCommandIndeterm("defaultparagraphseparator") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<h1>foo[bar]baz</h1><p>extra" queryCommandState("defaultparagraphseparator") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<h1>foo[bar]baz</h1><p>extra" queryCommandValue("defaultparagraphseparator") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<h1>foo[bar]baz</h1><p>extra" queryCommandIndeterm("justifyfull") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<h1>foo[bar]baz</h1><p>extra" queryCommandState("justifyfull") before 
+FAIL [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<h1>foo[bar]baz</h1><p>extra" queryCommandValue("justifyfull") before assert_equals: Wrong result returned expected "left" but got "false"
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<h1>foo[bar]baz</h1><p>extra" queryCommandIndeterm("justifyfull") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<h1>foo[bar]baz</h1><p>extra" queryCommandState("justifyfull") after 
+FAIL [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<h1>foo[bar]baz</h1><p>extra" queryCommandValue("justifyfull") after assert_equals: Wrong result returned expected "justify" but got "true"
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<h1>foo[bar]baz</h1><p>extra": execCommand("stylewithcss", false, "true") return value 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<h1>foo[bar]baz</h1><p>extra": execCommand("defaultparagraphseparator", false, "p") return value 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<h1>foo[bar]baz</h1><p>extra": execCommand("justifyfull", false, "") return value 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<h1>foo[bar]baz</h1><p>extra" checks for modifications to non-editable content 
+FAIL [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<h1>foo[bar]baz</h1><p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<div style=\"text-align:justify\"><h1>foobarbaz</h1></div><p>extra</p>" but got "<h1 style=\"text-align:justify\">foobarbaz</h1><p>extra</p>"
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<h1>foo[bar]baz</h1><p>extra" queryCommandIndeterm("stylewithcss") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<h1>foo[bar]baz</h1><p>extra" queryCommandState("stylewithcss") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<h1>foo[bar]baz</h1><p>extra" queryCommandValue("stylewithcss") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<h1>foo[bar]baz</h1><p>extra" queryCommandIndeterm("stylewithcss") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<h1>foo[bar]baz</h1><p>extra" queryCommandState("stylewithcss") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<h1>foo[bar]baz</h1><p>extra" queryCommandValue("stylewithcss") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<h1>foo[bar]baz</h1><p>extra" queryCommandIndeterm("defaultparagraphseparator") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<h1>foo[bar]baz</h1><p>extra" queryCommandState("defaultparagraphseparator") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<h1>foo[bar]baz</h1><p>extra" queryCommandValue("defaultparagraphseparator") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<h1>foo[bar]baz</h1><p>extra" queryCommandIndeterm("defaultparagraphseparator") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<h1>foo[bar]baz</h1><p>extra" queryCommandState("defaultparagraphseparator") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<h1>foo[bar]baz</h1><p>extra" queryCommandValue("defaultparagraphseparator") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<h1>foo[bar]baz</h1><p>extra" queryCommandIndeterm("justifyfull") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<h1>foo[bar]baz</h1><p>extra" queryCommandState("justifyfull") before 
+FAIL [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<h1>foo[bar]baz</h1><p>extra" queryCommandValue("justifyfull") before assert_equals: Wrong result returned expected "left" but got "false"
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<h1>foo[bar]baz</h1><p>extra" queryCommandIndeterm("justifyfull") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<h1>foo[bar]baz</h1><p>extra" queryCommandState("justifyfull") after 
+FAIL [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<h1>foo[bar]baz</h1><p>extra" queryCommandValue("justifyfull") after assert_equals: Wrong result returned expected "justify" but got "true"
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<h1>foo[bar]baz</h1><p>extra": execCommand("stylewithcss", false, "false") return value 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<h1>foo[bar]baz</h1><p>extra": execCommand("defaultparagraphseparator", false, "p") return value 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<h1>foo[bar]baz</h1><p>extra": execCommand("justifyfull", false, "") return value 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<h1>foo[bar]baz</h1><p>extra" checks for modifications to non-editable content 
+FAIL [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<h1>foo[bar]baz</h1><p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<div style=\"text-align:justify\"><h1>foobarbaz</h1></div><p>extra</p>" but got "<h1 style=\"text-align:justify\">foobarbaz</h1><p>extra</p>"
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<h1>foo[bar]baz</h1><p>extra" queryCommandIndeterm("stylewithcss") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<h1>foo[bar]baz</h1><p>extra" queryCommandState("stylewithcss") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<h1>foo[bar]baz</h1><p>extra" queryCommandValue("stylewithcss") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<h1>foo[bar]baz</h1><p>extra" queryCommandIndeterm("stylewithcss") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<h1>foo[bar]baz</h1><p>extra" queryCommandState("stylewithcss") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<h1>foo[bar]baz</h1><p>extra" queryCommandValue("stylewithcss") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<h1>foo[bar]baz</h1><p>extra" queryCommandIndeterm("defaultparagraphseparator") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<h1>foo[bar]baz</h1><p>extra" queryCommandState("defaultparagraphseparator") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<h1>foo[bar]baz</h1><p>extra" queryCommandValue("defaultparagraphseparator") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<h1>foo[bar]baz</h1><p>extra" queryCommandIndeterm("defaultparagraphseparator") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<h1>foo[bar]baz</h1><p>extra" queryCommandState("defaultparagraphseparator") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<h1>foo[bar]baz</h1><p>extra" queryCommandValue("defaultparagraphseparator") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<h1>foo[bar]baz</h1><p>extra" queryCommandIndeterm("justifyfull") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<h1>foo[bar]baz</h1><p>extra" queryCommandState("justifyfull") before 
+FAIL [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<h1>foo[bar]baz</h1><p>extra" queryCommandValue("justifyfull") before assert_equals: Wrong result returned expected "left" but got "false"
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<h1>foo[bar]baz</h1><p>extra" queryCommandIndeterm("justifyfull") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<h1>foo[bar]baz</h1><p>extra" queryCommandState("justifyfull") after 
+FAIL [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<h1>foo[bar]baz</h1><p>extra" queryCommandValue("justifyfull") after assert_equals: Wrong result returned expected "justify" but got "true"
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<pre>foo[bar]baz</pre><p>extra": execCommand("stylewithcss", false, "true") return value 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<pre>foo[bar]baz</pre><p>extra": execCommand("defaultparagraphseparator", false, "div") return value 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<pre>foo[bar]baz</pre><p>extra": execCommand("justifyfull", false, "") return value 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<pre>foo[bar]baz</pre><p>extra" checks for modifications to non-editable content 
+FAIL [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<pre>foo[bar]baz</pre><p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<div style=\"text-align:justify\"><pre>foobarbaz</pre></div><p>extra</p>" but got "<pre style=\"text-align:justify\">foobarbaz</pre><p>extra</p>"
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<pre>foo[bar]baz</pre><p>extra" queryCommandIndeterm("stylewithcss") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<pre>foo[bar]baz</pre><p>extra" queryCommandState("stylewithcss") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<pre>foo[bar]baz</pre><p>extra" queryCommandValue("stylewithcss") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<pre>foo[bar]baz</pre><p>extra" queryCommandIndeterm("stylewithcss") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<pre>foo[bar]baz</pre><p>extra" queryCommandState("stylewithcss") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<pre>foo[bar]baz</pre><p>extra" queryCommandValue("stylewithcss") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<pre>foo[bar]baz</pre><p>extra" queryCommandIndeterm("defaultparagraphseparator") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<pre>foo[bar]baz</pre><p>extra" queryCommandState("defaultparagraphseparator") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<pre>foo[bar]baz</pre><p>extra" queryCommandValue("defaultparagraphseparator") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<pre>foo[bar]baz</pre><p>extra" queryCommandIndeterm("defaultparagraphseparator") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<pre>foo[bar]baz</pre><p>extra" queryCommandState("defaultparagraphseparator") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<pre>foo[bar]baz</pre><p>extra" queryCommandValue("defaultparagraphseparator") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<pre>foo[bar]baz</pre><p>extra" queryCommandIndeterm("justifyfull") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<pre>foo[bar]baz</pre><p>extra" queryCommandState("justifyfull") before 
+FAIL [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<pre>foo[bar]baz</pre><p>extra" queryCommandValue("justifyfull") before assert_equals: Wrong result returned expected "left" but got "false"
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<pre>foo[bar]baz</pre><p>extra" queryCommandIndeterm("justifyfull") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<pre>foo[bar]baz</pre><p>extra" queryCommandState("justifyfull") after 
+FAIL [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<pre>foo[bar]baz</pre><p>extra" queryCommandValue("justifyfull") after assert_equals: Wrong result returned expected "justify" but got "true"
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<pre>foo[bar]baz</pre><p>extra": execCommand("stylewithcss", false, "false") return value 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<pre>foo[bar]baz</pre><p>extra": execCommand("defaultparagraphseparator", false, "div") return value 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<pre>foo[bar]baz</pre><p>extra": execCommand("justifyfull", false, "") return value 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<pre>foo[bar]baz</pre><p>extra" checks for modifications to non-editable content 
+FAIL [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<pre>foo[bar]baz</pre><p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<div style=\"text-align:justify\"><pre>foobarbaz</pre></div><p>extra</p>" but got "<pre style=\"text-align:justify\">foobarbaz</pre><p>extra</p>"
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<pre>foo[bar]baz</pre><p>extra" queryCommandIndeterm("stylewithcss") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<pre>foo[bar]baz</pre><p>extra" queryCommandState("stylewithcss") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<pre>foo[bar]baz</pre><p>extra" queryCommandValue("stylewithcss") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<pre>foo[bar]baz</pre><p>extra" queryCommandIndeterm("stylewithcss") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<pre>foo[bar]baz</pre><p>extra" queryCommandState("stylewithcss") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<pre>foo[bar]baz</pre><p>extra" queryCommandValue("stylewithcss") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<pre>foo[bar]baz</pre><p>extra" queryCommandIndeterm("defaultparagraphseparator") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<pre>foo[bar]baz</pre><p>extra" queryCommandState("defaultparagraphseparator") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<pre>foo[bar]baz</pre><p>extra" queryCommandValue("defaultparagraphseparator") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<pre>foo[bar]baz</pre><p>extra" queryCommandIndeterm("defaultparagraphseparator") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<pre>foo[bar]baz</pre><p>extra" queryCommandState("defaultparagraphseparator") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<pre>foo[bar]baz</pre><p>extra" queryCommandValue("defaultparagraphseparator") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<pre>foo[bar]baz</pre><p>extra" queryCommandIndeterm("justifyfull") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<pre>foo[bar]baz</pre><p>extra" queryCommandState("justifyfull") before 
+FAIL [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<pre>foo[bar]baz</pre><p>extra" queryCommandValue("justifyfull") before assert_equals: Wrong result returned expected "left" but got "false"
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<pre>foo[bar]baz</pre><p>extra" queryCommandIndeterm("justifyfull") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<pre>foo[bar]baz</pre><p>extra" queryCommandState("justifyfull") after 
+FAIL [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<pre>foo[bar]baz</pre><p>extra" queryCommandValue("justifyfull") after assert_equals: Wrong result returned expected "justify" but got "true"
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<pre>foo[bar]baz</pre><p>extra": execCommand("stylewithcss", false, "true") return value 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<pre>foo[bar]baz</pre><p>extra": execCommand("defaultparagraphseparator", false, "p") return value 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<pre>foo[bar]baz</pre><p>extra": execCommand("justifyfull", false, "") return value 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<pre>foo[bar]baz</pre><p>extra" checks for modifications to non-editable content 
+FAIL [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<pre>foo[bar]baz</pre><p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<div style=\"text-align:justify\"><pre>foobarbaz</pre></div><p>extra</p>" but got "<pre style=\"text-align:justify\">foobarbaz</pre><p>extra</p>"
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<pre>foo[bar]baz</pre><p>extra" queryCommandIndeterm("stylewithcss") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<pre>foo[bar]baz</pre><p>extra" queryCommandState("stylewithcss") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<pre>foo[bar]baz</pre><p>extra" queryCommandValue("stylewithcss") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<pre>foo[bar]baz</pre><p>extra" queryCommandIndeterm("stylewithcss") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<pre>foo[bar]baz</pre><p>extra" queryCommandState("stylewithcss") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<pre>foo[bar]baz</pre><p>extra" queryCommandValue("stylewithcss") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<pre>foo[bar]baz</pre><p>extra" queryCommandIndeterm("defaultparagraphseparator") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<pre>foo[bar]baz</pre><p>extra" queryCommandState("defaultparagraphseparator") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<pre>foo[bar]baz</pre><p>extra" queryCommandValue("defaultparagraphseparator") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<pre>foo[bar]baz</pre><p>extra" queryCommandIndeterm("defaultparagraphseparator") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<pre>foo[bar]baz</pre><p>extra" queryCommandState("defaultparagraphseparator") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<pre>foo[bar]baz</pre><p>extra" queryCommandValue("defaultparagraphseparator") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<pre>foo[bar]baz</pre><p>extra" queryCommandIndeterm("justifyfull") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<pre>foo[bar]baz</pre><p>extra" queryCommandState("justifyfull") before 
+FAIL [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<pre>foo[bar]baz</pre><p>extra" queryCommandValue("justifyfull") before assert_equals: Wrong result returned expected "left" but got "false"
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<pre>foo[bar]baz</pre><p>extra" queryCommandIndeterm("justifyfull") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<pre>foo[bar]baz</pre><p>extra" queryCommandState("justifyfull") after 
+FAIL [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<pre>foo[bar]baz</pre><p>extra" queryCommandValue("justifyfull") after assert_equals: Wrong result returned expected "justify" but got "true"
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<pre>foo[bar]baz</pre><p>extra": execCommand("stylewithcss", false, "false") return value 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<pre>foo[bar]baz</pre><p>extra": execCommand("defaultparagraphseparator", false, "p") return value 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<pre>foo[bar]baz</pre><p>extra": execCommand("justifyfull", false, "") return value 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<pre>foo[bar]baz</pre><p>extra" checks for modifications to non-editable content 
+FAIL [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<pre>foo[bar]baz</pre><p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<div style=\"text-align:justify\"><pre>foobarbaz</pre></div><p>extra</p>" but got "<pre style=\"text-align:justify\">foobarbaz</pre><p>extra</p>"
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<pre>foo[bar]baz</pre><p>extra" queryCommandIndeterm("stylewithcss") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<pre>foo[bar]baz</pre><p>extra" queryCommandState("stylewithcss") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<pre>foo[bar]baz</pre><p>extra" queryCommandValue("stylewithcss") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<pre>foo[bar]baz</pre><p>extra" queryCommandIndeterm("stylewithcss") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<pre>foo[bar]baz</pre><p>extra" queryCommandState("stylewithcss") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<pre>foo[bar]baz</pre><p>extra" queryCommandValue("stylewithcss") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<pre>foo[bar]baz</pre><p>extra" queryCommandIndeterm("defaultparagraphseparator") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<pre>foo[bar]baz</pre><p>extra" queryCommandState("defaultparagraphseparator") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<pre>foo[bar]baz</pre><p>extra" queryCommandValue("defaultparagraphseparator") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<pre>foo[bar]baz</pre><p>extra" queryCommandIndeterm("defaultparagraphseparator") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<pre>foo[bar]baz</pre><p>extra" queryCommandState("defaultparagraphseparator") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<pre>foo[bar]baz</pre><p>extra" queryCommandValue("defaultparagraphseparator") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<pre>foo[bar]baz</pre><p>extra" queryCommandIndeterm("justifyfull") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<pre>foo[bar]baz</pre><p>extra" queryCommandState("justifyfull") before 
+FAIL [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<pre>foo[bar]baz</pre><p>extra" queryCommandValue("justifyfull") before assert_equals: Wrong result returned expected "left" but got "false"
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<pre>foo[bar]baz</pre><p>extra" queryCommandIndeterm("justifyfull") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<pre>foo[bar]baz</pre><p>extra" queryCommandState("justifyfull") after 
+FAIL [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<pre>foo[bar]baz</pre><p>extra" queryCommandValue("justifyfull") after assert_equals: Wrong result returned expected "justify" but got "true"
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<xmp>foo[bar]baz</xmp><p>extra": execCommand("stylewithcss", false, "true") return value 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<xmp>foo[bar]baz</xmp><p>extra": execCommand("defaultparagraphseparator", false, "div") return value 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<xmp>foo[bar]baz</xmp><p>extra": execCommand("justifyfull", false, "") return value 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<xmp>foo[bar]baz</xmp><p>extra" checks for modifications to non-editable content 
+FAIL [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<xmp>foo[bar]baz</xmp><p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<div style=\"text-align:justify\"><xmp>foobarbaz</xmp></div><p>extra</p>" but got "<xmp style=\"text-align:justify\">foobarbaz</xmp><p>extra</p>"
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<xmp>foo[bar]baz</xmp><p>extra" queryCommandIndeterm("stylewithcss") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<xmp>foo[bar]baz</xmp><p>extra" queryCommandState("stylewithcss") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<xmp>foo[bar]baz</xmp><p>extra" queryCommandValue("stylewithcss") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<xmp>foo[bar]baz</xmp><p>extra" queryCommandIndeterm("stylewithcss") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<xmp>foo[bar]baz</xmp><p>extra" queryCommandState("stylewithcss") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<xmp>foo[bar]baz</xmp><p>extra" queryCommandValue("stylewithcss") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<xmp>foo[bar]baz</xmp><p>extra" queryCommandIndeterm("defaultparagraphseparator") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<xmp>foo[bar]baz</xmp><p>extra" queryCommandState("defaultparagraphseparator") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<xmp>foo[bar]baz</xmp><p>extra" queryCommandValue("defaultparagraphseparator") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<xmp>foo[bar]baz</xmp><p>extra" queryCommandIndeterm("defaultparagraphseparator") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<xmp>foo[bar]baz</xmp><p>extra" queryCommandState("defaultparagraphseparator") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<xmp>foo[bar]baz</xmp><p>extra" queryCommandValue("defaultparagraphseparator") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<xmp>foo[bar]baz</xmp><p>extra" queryCommandIndeterm("justifyfull") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<xmp>foo[bar]baz</xmp><p>extra" queryCommandState("justifyfull") before 
+FAIL [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<xmp>foo[bar]baz</xmp><p>extra" queryCommandValue("justifyfull") before assert_equals: Wrong result returned expected "left" but got "false"
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<xmp>foo[bar]baz</xmp><p>extra" queryCommandIndeterm("justifyfull") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<xmp>foo[bar]baz</xmp><p>extra" queryCommandState("justifyfull") after 
+FAIL [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<xmp>foo[bar]baz</xmp><p>extra" queryCommandValue("justifyfull") after assert_equals: Wrong result returned expected "justify" but got "true"
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<xmp>foo[bar]baz</xmp><p>extra": execCommand("stylewithcss", false, "false") return value 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<xmp>foo[bar]baz</xmp><p>extra": execCommand("defaultparagraphseparator", false, "div") return value 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<xmp>foo[bar]baz</xmp><p>extra": execCommand("justifyfull", false, "") return value 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<xmp>foo[bar]baz</xmp><p>extra" checks for modifications to non-editable content 
+FAIL [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<xmp>foo[bar]baz</xmp><p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<div style=\"text-align:justify\"><xmp>foobarbaz</xmp></div><p>extra</p>" but got "<xmp style=\"text-align:justify\">foobarbaz</xmp><p>extra</p>"
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<xmp>foo[bar]baz</xmp><p>extra" queryCommandIndeterm("stylewithcss") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<xmp>foo[bar]baz</xmp><p>extra" queryCommandState("stylewithcss") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<xmp>foo[bar]baz</xmp><p>extra" queryCommandValue("stylewithcss") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<xmp>foo[bar]baz</xmp><p>extra" queryCommandIndeterm("stylewithcss") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<xmp>foo[bar]baz</xmp><p>extra" queryCommandState("stylewithcss") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<xmp>foo[bar]baz</xmp><p>extra" queryCommandValue("stylewithcss") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<xmp>foo[bar]baz</xmp><p>extra" queryCommandIndeterm("defaultparagraphseparator") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<xmp>foo[bar]baz</xmp><p>extra" queryCommandState("defaultparagraphseparator") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<xmp>foo[bar]baz</xmp><p>extra" queryCommandValue("defaultparagraphseparator") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<xmp>foo[bar]baz</xmp><p>extra" queryCommandIndeterm("defaultparagraphseparator") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<xmp>foo[bar]baz</xmp><p>extra" queryCommandState("defaultparagraphseparator") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<xmp>foo[bar]baz</xmp><p>extra" queryCommandValue("defaultparagraphseparator") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<xmp>foo[bar]baz</xmp><p>extra" queryCommandIndeterm("justifyfull") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<xmp>foo[bar]baz</xmp><p>extra" queryCommandState("justifyfull") before 
+FAIL [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<xmp>foo[bar]baz</xmp><p>extra" queryCommandValue("justifyfull") before assert_equals: Wrong result returned expected "left" but got "false"
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<xmp>foo[bar]baz</xmp><p>extra" queryCommandIndeterm("justifyfull") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<xmp>foo[bar]baz</xmp><p>extra" queryCommandState("justifyfull") after 
+FAIL [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<xmp>foo[bar]baz</xmp><p>extra" queryCommandValue("justifyfull") after assert_equals: Wrong result returned expected "justify" but got "true"
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<xmp>foo[bar]baz</xmp><p>extra": execCommand("stylewithcss", false, "true") return value 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<xmp>foo[bar]baz</xmp><p>extra": execCommand("defaultparagraphseparator", false, "p") return value 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<xmp>foo[bar]baz</xmp><p>extra": execCommand("justifyfull", false, "") return value 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<xmp>foo[bar]baz</xmp><p>extra" checks for modifications to non-editable content 
+FAIL [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<xmp>foo[bar]baz</xmp><p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<div style=\"text-align:justify\"><xmp>foobarbaz</xmp></div><p>extra</p>" but got "<xmp style=\"text-align:justify\">foobarbaz</xmp><p>extra</p>"
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<xmp>foo[bar]baz</xmp><p>extra" queryCommandIndeterm("stylewithcss") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<xmp>foo[bar]baz</xmp><p>extra" queryCommandState("stylewithcss") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<xmp>foo[bar]baz</xmp><p>extra" queryCommandValue("stylewithcss") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<xmp>foo[bar]baz</xmp><p>extra" queryCommandIndeterm("stylewithcss") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<xmp>foo[bar]baz</xmp><p>extra" queryCommandState("stylewithcss") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<xmp>foo[bar]baz</xmp><p>extra" queryCommandValue("stylewithcss") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<xmp>foo[bar]baz</xmp><p>extra" queryCommandIndeterm("defaultparagraphseparator") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<xmp>foo[bar]baz</xmp><p>extra" queryCommandState("defaultparagraphseparator") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<xmp>foo[bar]baz</xmp><p>extra" queryCommandValue("defaultparagraphseparator") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<xmp>foo[bar]baz</xmp><p>extra" queryCommandIndeterm("defaultparagraphseparator") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<xmp>foo[bar]baz</xmp><p>extra" queryCommandState("defaultparagraphseparator") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<xmp>foo[bar]baz</xmp><p>extra" queryCommandValue("defaultparagraphseparator") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<xmp>foo[bar]baz</xmp><p>extra" queryCommandIndeterm("justifyfull") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<xmp>foo[bar]baz</xmp><p>extra" queryCommandState("justifyfull") before 
+FAIL [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<xmp>foo[bar]baz</xmp><p>extra" queryCommandValue("justifyfull") before assert_equals: Wrong result returned expected "left" but got "false"
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<xmp>foo[bar]baz</xmp><p>extra" queryCommandIndeterm("justifyfull") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<xmp>foo[bar]baz</xmp><p>extra" queryCommandState("justifyfull") after 
+FAIL [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<xmp>foo[bar]baz</xmp><p>extra" queryCommandValue("justifyfull") after assert_equals: Wrong result returned expected "justify" but got "true"
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<xmp>foo[bar]baz</xmp><p>extra": execCommand("stylewithcss", false, "false") return value 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<xmp>foo[bar]baz</xmp><p>extra": execCommand("defaultparagraphseparator", false, "p") return value 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<xmp>foo[bar]baz</xmp><p>extra": execCommand("justifyfull", false, "") return value 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<xmp>foo[bar]baz</xmp><p>extra" checks for modifications to non-editable content 
+FAIL [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<xmp>foo[bar]baz</xmp><p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<div style=\"text-align:justify\"><xmp>foobarbaz</xmp></div><p>extra</p>" but got "<xmp style=\"text-align:justify\">foobarbaz</xmp><p>extra</p>"
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<xmp>foo[bar]baz</xmp><p>extra" queryCommandIndeterm("stylewithcss") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<xmp>foo[bar]baz</xmp><p>extra" queryCommandState("stylewithcss") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<xmp>foo[bar]baz</xmp><p>extra" queryCommandValue("stylewithcss") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<xmp>foo[bar]baz</xmp><p>extra" queryCommandIndeterm("stylewithcss") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<xmp>foo[bar]baz</xmp><p>extra" queryCommandState("stylewithcss") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<xmp>foo[bar]baz</xmp><p>extra" queryCommandValue("stylewithcss") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<xmp>foo[bar]baz</xmp><p>extra" queryCommandIndeterm("defaultparagraphseparator") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<xmp>foo[bar]baz</xmp><p>extra" queryCommandState("defaultparagraphseparator") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<xmp>foo[bar]baz</xmp><p>extra" queryCommandValue("defaultparagraphseparator") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<xmp>foo[bar]baz</xmp><p>extra" queryCommandIndeterm("defaultparagraphseparator") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<xmp>foo[bar]baz</xmp><p>extra" queryCommandState("defaultparagraphseparator") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<xmp>foo[bar]baz</xmp><p>extra" queryCommandValue("defaultparagraphseparator") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<xmp>foo[bar]baz</xmp><p>extra" queryCommandIndeterm("justifyfull") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<xmp>foo[bar]baz</xmp><p>extra" queryCommandState("justifyfull") before 
+FAIL [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<xmp>foo[bar]baz</xmp><p>extra" queryCommandValue("justifyfull") before assert_equals: Wrong result returned expected "left" but got "false"
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<xmp>foo[bar]baz</xmp><p>extra" queryCommandIndeterm("justifyfull") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<xmp>foo[bar]baz</xmp><p>extra" queryCommandState("justifyfull") after 
+FAIL [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<xmp>foo[bar]baz</xmp><p>extra" queryCommandValue("justifyfull") after assert_equals: Wrong result returned expected "justify" but got "true"
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<center><p>[foo]<p>bar</center><p>extra": execCommand("stylewithcss", false, "true") return value 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<center><p>[foo]<p>bar</center><p>extra": execCommand("defaultparagraphseparator", false, "div") return value 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<center><p>[foo]<p>bar</center><p>extra": execCommand("justifyfull", false, "") return value 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<center><p>[foo]<p>bar</center><p>extra" checks for modifications to non-editable content 
+FAIL [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<center><p>[foo]<p>bar</center><p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<center><div style=\"text-align:justify\"><p>foo</p></div><p>bar</p></center><p>extra</p>" but got "<center><p style=\"text-align:justify\">foo</p><p>bar</p></center><p>extra</p>"
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<center><p>[foo]<p>bar</center><p>extra" queryCommandIndeterm("stylewithcss") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<center><p>[foo]<p>bar</center><p>extra" queryCommandState("stylewithcss") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<center><p>[foo]<p>bar</center><p>extra" queryCommandValue("stylewithcss") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<center><p>[foo]<p>bar</center><p>extra" queryCommandIndeterm("stylewithcss") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<center><p>[foo]<p>bar</center><p>extra" queryCommandState("stylewithcss") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<center><p>[foo]<p>bar</center><p>extra" queryCommandValue("stylewithcss") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<center><p>[foo]<p>bar</center><p>extra" queryCommandIndeterm("defaultparagraphseparator") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<center><p>[foo]<p>bar</center><p>extra" queryCommandState("defaultparagraphseparator") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<center><p>[foo]<p>bar</center><p>extra" queryCommandValue("defaultparagraphseparator") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<center><p>[foo]<p>bar</center><p>extra" queryCommandIndeterm("defaultparagraphseparator") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<center><p>[foo]<p>bar</center><p>extra" queryCommandState("defaultparagraphseparator") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<center><p>[foo]<p>bar</center><p>extra" queryCommandValue("defaultparagraphseparator") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<center><p>[foo]<p>bar</center><p>extra" queryCommandIndeterm("justifyfull") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<center><p>[foo]<p>bar</center><p>extra" queryCommandState("justifyfull") before 
+FAIL [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<center><p>[foo]<p>bar</center><p>extra" queryCommandValue("justifyfull") before assert_equals: Wrong result returned expected "center" but got "false"
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<center><p>[foo]<p>bar</center><p>extra" queryCommandIndeterm("justifyfull") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<center><p>[foo]<p>bar</center><p>extra" queryCommandState("justifyfull") after 
+FAIL [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<center><p>[foo]<p>bar</center><p>extra" queryCommandValue("justifyfull") after assert_equals: Wrong result returned expected "justify" but got "true"
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<center><p>[foo]<p>bar</center><p>extra": execCommand("stylewithcss", false, "false") return value 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<center><p>[foo]<p>bar</center><p>extra": execCommand("defaultparagraphseparator", false, "div") return value 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<center><p>[foo]<p>bar</center><p>extra": execCommand("justifyfull", false, "") return value 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<center><p>[foo]<p>bar</center><p>extra" checks for modifications to non-editable content 
+FAIL [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<center><p>[foo]<p>bar</center><p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<center><div style=\"text-align:justify\"><p>foo</p></div><p>bar</p></center><p>extra</p>" but got "<center><p style=\"text-align:justify\">foo</p><p>bar</p></center><p>extra</p>"
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<center><p>[foo]<p>bar</center><p>extra" queryCommandIndeterm("stylewithcss") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<center><p>[foo]<p>bar</center><p>extra" queryCommandState("stylewithcss") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<center><p>[foo]<p>bar</center><p>extra" queryCommandValue("stylewithcss") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<center><p>[foo]<p>bar</center><p>extra" queryCommandIndeterm("stylewithcss") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<center><p>[foo]<p>bar</center><p>extra" queryCommandState("stylewithcss") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<center><p>[foo]<p>bar</center><p>extra" queryCommandValue("stylewithcss") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<center><p>[foo]<p>bar</center><p>extra" queryCommandIndeterm("defaultparagraphseparator") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<center><p>[foo]<p>bar</center><p>extra" queryCommandState("defaultparagraphseparator") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<center><p>[foo]<p>bar</center><p>extra" queryCommandValue("defaultparagraphseparator") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<center><p>[foo]<p>bar</center><p>extra" queryCommandIndeterm("defaultparagraphseparator") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<center><p>[foo]<p>bar</center><p>extra" queryCommandState("defaultparagraphseparator") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<center><p>[foo]<p>bar</center><p>extra" queryCommandValue("defaultparagraphseparator") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<center><p>[foo]<p>bar</center><p>extra" queryCommandIndeterm("justifyfull") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<center><p>[foo]<p>bar</center><p>extra" queryCommandState("justifyfull") before 
+FAIL [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<center><p>[foo]<p>bar</center><p>extra" queryCommandValue("justifyfull") before assert_equals: Wrong result returned expected "center" but got "false"
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<center><p>[foo]<p>bar</center><p>extra" queryCommandIndeterm("justifyfull") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<center><p>[foo]<p>bar</center><p>extra" queryCommandState("justifyfull") after 
+FAIL [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<center><p>[foo]<p>bar</center><p>extra" queryCommandValue("justifyfull") after assert_equals: Wrong result returned expected "justify" but got "true"
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<center><p>[foo]<p>bar</center><p>extra": execCommand("stylewithcss", false, "true") return value 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<center><p>[foo]<p>bar</center><p>extra": execCommand("defaultparagraphseparator", false, "p") return value 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<center><p>[foo]<p>bar</center><p>extra": execCommand("justifyfull", false, "") return value 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<center><p>[foo]<p>bar</center><p>extra" checks for modifications to non-editable content 
+FAIL [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<center><p>[foo]<p>bar</center><p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<center><div style=\"text-align:justify\"><p>foo</p></div><p>bar</p></center><p>extra</p>" but got "<center><p style=\"text-align:justify\">foo</p><p>bar</p></center><p>extra</p>"
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<center><p>[foo]<p>bar</center><p>extra" queryCommandIndeterm("stylewithcss") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<center><p>[foo]<p>bar</center><p>extra" queryCommandState("stylewithcss") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<center><p>[foo]<p>bar</center><p>extra" queryCommandValue("stylewithcss") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<center><p>[foo]<p>bar</center><p>extra" queryCommandIndeterm("stylewithcss") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<center><p>[foo]<p>bar</center><p>extra" queryCommandState("stylewithcss") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<center><p>[foo]<p>bar</center><p>extra" queryCommandValue("stylewithcss") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<center><p>[foo]<p>bar</center><p>extra" queryCommandIndeterm("defaultparagraphseparator") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<center><p>[foo]<p>bar</center><p>extra" queryCommandState("defaultparagraphseparator") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<center><p>[foo]<p>bar</center><p>extra" queryCommandValue("defaultparagraphseparator") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<center><p>[foo]<p>bar</center><p>extra" queryCommandIndeterm("defaultparagraphseparator") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<center><p>[foo]<p>bar</center><p>extra" queryCommandState("defaultparagraphseparator") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<center><p>[foo]<p>bar</center><p>extra" queryCommandValue("defaultparagraphseparator") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<center><p>[foo]<p>bar</center><p>extra" queryCommandIndeterm("justifyfull") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<center><p>[foo]<p>bar</center><p>extra" queryCommandState("justifyfull") before 
+FAIL [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<center><p>[foo]<p>bar</center><p>extra" queryCommandValue("justifyfull") before assert_equals: Wrong result returned expected "center" but got "false"
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<center><p>[foo]<p>bar</center><p>extra" queryCommandIndeterm("justifyfull") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<center><p>[foo]<p>bar</center><p>extra" queryCommandState("justifyfull") after 
+FAIL [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<center><p>[foo]<p>bar</center><p>extra" queryCommandValue("justifyfull") after assert_equals: Wrong result returned expected "justify" but got "true"
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<center><p>[foo]<p>bar</center><p>extra": execCommand("stylewithcss", false, "false") return value 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<center><p>[foo]<p>bar</center><p>extra": execCommand("defaultparagraphseparator", false, "p") return value 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<center><p>[foo]<p>bar</center><p>extra": execCommand("justifyfull", false, "") return value 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<center><p>[foo]<p>bar</center><p>extra" checks for modifications to non-editable content 
+FAIL [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<center><p>[foo]<p>bar</center><p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<center><div style=\"text-align:justify\"><p>foo</p></div><p>bar</p></center><p>extra</p>" but got "<center><p style=\"text-align:justify\">foo</p><p>bar</p></center><p>extra</p>"
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<center><p>[foo]<p>bar</center><p>extra" queryCommandIndeterm("stylewithcss") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<center><p>[foo]<p>bar</center><p>extra" queryCommandState("stylewithcss") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<center><p>[foo]<p>bar</center><p>extra" queryCommandValue("stylewithcss") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<center><p>[foo]<p>bar</center><p>extra" queryCommandIndeterm("stylewithcss") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<center><p>[foo]<p>bar</center><p>extra" queryCommandState("stylewithcss") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<center><p>[foo]<p>bar</center><p>extra" queryCommandValue("stylewithcss") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<center><p>[foo]<p>bar</center><p>extra" queryCommandIndeterm("defaultparagraphseparator") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<center><p>[foo]<p>bar</center><p>extra" queryCommandState("defaultparagraphseparator") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<center><p>[foo]<p>bar</center><p>extra" queryCommandValue("defaultparagraphseparator") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<center><p>[foo]<p>bar</center><p>extra" queryCommandIndeterm("defaultparagraphseparator") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<center><p>[foo]<p>bar</center><p>extra" queryCommandState("defaultparagraphseparator") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<center><p>[foo]<p>bar</center><p>extra" queryCommandValue("defaultparagraphseparator") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<center><p>[foo]<p>bar</center><p>extra" queryCommandIndeterm("justifyfull") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<center><p>[foo]<p>bar</center><p>extra" queryCommandState("justifyfull") before 
+FAIL [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<center><p>[foo]<p>bar</center><p>extra" queryCommandValue("justifyfull") before assert_equals: Wrong result returned expected "center" but got "false"
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<center><p>[foo]<p>bar</center><p>extra" queryCommandIndeterm("justifyfull") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<center><p>[foo]<p>bar</center><p>extra" queryCommandState("justifyfull") after 
+FAIL [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<center><p>[foo]<p>bar</center><p>extra" queryCommandValue("justifyfull") after assert_equals: Wrong result returned expected "justify" but got "true"
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<center><p>[foo<p>bar]</center><p>extra": execCommand("stylewithcss", false, "true") return value 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<center><p>[foo<p>bar]</center><p>extra": execCommand("defaultparagraphseparator", false, "div") return value 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<center><p>[foo<p>bar]</center><p>extra": execCommand("justifyfull", false, "") return value 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<center><p>[foo<p>bar]</center><p>extra" checks for modifications to non-editable content 
+FAIL [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<center><p>[foo<p>bar]</center><p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<div style=\"text-align:justify\"><p>foo</p><p>bar</p></div><p>extra</p>" but got "<center><p style=\"text-align:justify\">foo</p><p style=\"text-align:justify\">bar</p></center><p>extra</p>"
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<center><p>[foo<p>bar]</center><p>extra" queryCommandIndeterm("stylewithcss") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<center><p>[foo<p>bar]</center><p>extra" queryCommandState("stylewithcss") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<center><p>[foo<p>bar]</center><p>extra" queryCommandValue("stylewithcss") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<center><p>[foo<p>bar]</center><p>extra" queryCommandIndeterm("stylewithcss") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<center><p>[foo<p>bar]</center><p>extra" queryCommandState("stylewithcss") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<center><p>[foo<p>bar]</center><p>extra" queryCommandValue("stylewithcss") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<center><p>[foo<p>bar]</center><p>extra" queryCommandIndeterm("defaultparagraphseparator") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<center><p>[foo<p>bar]</center><p>extra" queryCommandState("defaultparagraphseparator") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<center><p>[foo<p>bar]</center><p>extra" queryCommandValue("defaultparagraphseparator") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<center><p>[foo<p>bar]</center><p>extra" queryCommandIndeterm("defaultparagraphseparator") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<center><p>[foo<p>bar]</center><p>extra" queryCommandState("defaultparagraphseparator") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<center><p>[foo<p>bar]</center><p>extra" queryCommandValue("defaultparagraphseparator") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<center><p>[foo<p>bar]</center><p>extra" queryCommandIndeterm("justifyfull") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<center><p>[foo<p>bar]</center><p>extra" queryCommandState("justifyfull") before 
+FAIL [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<center><p>[foo<p>bar]</center><p>extra" queryCommandValue("justifyfull") before assert_equals: Wrong result returned expected "center" but got "false"
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<center><p>[foo<p>bar]</center><p>extra" queryCommandIndeterm("justifyfull") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<center><p>[foo<p>bar]</center><p>extra" queryCommandState("justifyfull") after 
+FAIL [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<center><p>[foo<p>bar]</center><p>extra" queryCommandValue("justifyfull") after assert_equals: Wrong result returned expected "justify" but got "true"
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<center><p>[foo<p>bar]</center><p>extra": execCommand("stylewithcss", false, "false") return value 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<center><p>[foo<p>bar]</center><p>extra": execCommand("defaultparagraphseparator", false, "div") return value 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<center><p>[foo<p>bar]</center><p>extra": execCommand("justifyfull", false, "") return value 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<center><p>[foo<p>bar]</center><p>extra" checks for modifications to non-editable content 
+FAIL [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<center><p>[foo<p>bar]</center><p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<div style=\"text-align:justify\"><p>foo</p><p>bar</p></div><p>extra</p>" but got "<center><p style=\"text-align:justify\">foo</p><p style=\"text-align:justify\">bar</p></center><p>extra</p>"
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<center><p>[foo<p>bar]</center><p>extra" queryCommandIndeterm("stylewithcss") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<center><p>[foo<p>bar]</center><p>extra" queryCommandState("stylewithcss") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<center><p>[foo<p>bar]</center><p>extra" queryCommandValue("stylewithcss") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<center><p>[foo<p>bar]</center><p>extra" queryCommandIndeterm("stylewithcss") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<center><p>[foo<p>bar]</center><p>extra" queryCommandState("stylewithcss") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<center><p>[foo<p>bar]</center><p>extra" queryCommandValue("stylewithcss") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<center><p>[foo<p>bar]</center><p>extra" queryCommandIndeterm("defaultparagraphseparator") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<center><p>[foo<p>bar]</center><p>extra" queryCommandState("defaultparagraphseparator") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<center><p>[foo<p>bar]</center><p>extra" queryCommandValue("defaultparagraphseparator") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<center><p>[foo<p>bar]</center><p>extra" queryCommandIndeterm("defaultparagraphseparator") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<center><p>[foo<p>bar]</center><p>extra" queryCommandState("defaultparagraphseparator") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<center><p>[foo<p>bar]</center><p>extra" queryCommandValue("defaultparagraphseparator") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<center><p>[foo<p>bar]</center><p>extra" queryCommandIndeterm("justifyfull") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<center><p>[foo<p>bar]</center><p>extra" queryCommandState("justifyfull") before 
+FAIL [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<center><p>[foo<p>bar]</center><p>extra" queryCommandValue("justifyfull") before assert_equals: Wrong result returned expected "center" but got "false"
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<center><p>[foo<p>bar]</center><p>extra" queryCommandIndeterm("justifyfull") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<center><p>[foo<p>bar]</center><p>extra" queryCommandState("justifyfull") after 
+FAIL [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<center><p>[foo<p>bar]</center><p>extra" queryCommandValue("justifyfull") after assert_equals: Wrong result returned expected "justify" but got "true"
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<center><p>[foo<p>bar]</center><p>extra": execCommand("stylewithcss", false, "true") return value 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<center><p>[foo<p>bar]</center><p>extra": execCommand("defaultparagraphseparator", false, "p") return value 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<center><p>[foo<p>bar]</center><p>extra": execCommand("justifyfull", false, "") return value 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<center><p>[foo<p>bar]</center><p>extra" checks for modifications to non-editable content 
+FAIL [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<center><p>[foo<p>bar]</center><p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<div style=\"text-align:justify\"><p>foo</p><p>bar</p></div><p>extra</p>" but got "<center><p style=\"text-align:justify\">foo</p><p style=\"text-align:justify\">bar</p></center><p>extra</p>"
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<center><p>[foo<p>bar]</center><p>extra" queryCommandIndeterm("stylewithcss") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<center><p>[foo<p>bar]</center><p>extra" queryCommandState("stylewithcss") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<center><p>[foo<p>bar]</center><p>extra" queryCommandValue("stylewithcss") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<center><p>[foo<p>bar]</center><p>extra" queryCommandIndeterm("stylewithcss") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<center><p>[foo<p>bar]</center><p>extra" queryCommandState("stylewithcss") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<center><p>[foo<p>bar]</center><p>extra" queryCommandValue("stylewithcss") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<center><p>[foo<p>bar]</center><p>extra" queryCommandIndeterm("defaultparagraphseparator") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<center><p>[foo<p>bar]</center><p>extra" queryCommandState("defaultparagraphseparator") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<center><p>[foo<p>bar]</center><p>extra" queryCommandValue("defaultparagraphseparator") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<center><p>[foo<p>bar]</center><p>extra" queryCommandIndeterm("defaultparagraphseparator") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<center><p>[foo<p>bar]</center><p>extra" queryCommandState("defaultparagraphseparator") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<center><p>[foo<p>bar]</center><p>extra" queryCommandValue("defaultparagraphseparator") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<center><p>[foo<p>bar]</center><p>extra" queryCommandIndeterm("justifyfull") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<center><p>[foo<p>bar]</center><p>extra" queryCommandState("justifyfull") before 
+FAIL [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<center><p>[foo<p>bar]</center><p>extra" queryCommandValue("justifyfull") before assert_equals: Wrong result returned expected "center" but got "false"
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<center><p>[foo<p>bar]</center><p>extra" queryCommandIndeterm("justifyfull") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<center><p>[foo<p>bar]</center><p>extra" queryCommandState("justifyfull") after 
+FAIL [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<center><p>[foo<p>bar]</center><p>extra" queryCommandValue("justifyfull") after assert_equals: Wrong result returned expected "justify" but got "true"
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<center><p>[foo<p>bar]</center><p>extra": execCommand("stylewithcss", false, "false") return value 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<center><p>[foo<p>bar]</center><p>extra": execCommand("defaultparagraphseparator", false, "p") return value 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<center><p>[foo<p>bar]</center><p>extra": execCommand("justifyfull", false, "") return value 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<center><p>[foo<p>bar]</center><p>extra" checks for modifications to non-editable content 
+FAIL [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<center><p>[foo<p>bar]</center><p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<div style=\"text-align:justify\"><p>foo</p><p>bar</p></div><p>extra</p>" but got "<center><p style=\"text-align:justify\">foo</p><p style=\"text-align:justify\">bar</p></center><p>extra</p>"
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<center><p>[foo<p>bar]</center><p>extra" queryCommandIndeterm("stylewithcss") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<center><p>[foo<p>bar]</center><p>extra" queryCommandState("stylewithcss") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<center><p>[foo<p>bar]</center><p>extra" queryCommandValue("stylewithcss") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<center><p>[foo<p>bar]</center><p>extra" queryCommandIndeterm("stylewithcss") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<center><p>[foo<p>bar]</center><p>extra" queryCommandState("stylewithcss") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<center><p>[foo<p>bar]</center><p>extra" queryCommandValue("stylewithcss") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<center><p>[foo<p>bar]</center><p>extra" queryCommandIndeterm("defaultparagraphseparator") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<center><p>[foo<p>bar]</center><p>extra" queryCommandState("defaultparagraphseparator") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<center><p>[foo<p>bar]</center><p>extra" queryCommandValue("defaultparagraphseparator") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<center><p>[foo<p>bar]</center><p>extra" queryCommandIndeterm("defaultparagraphseparator") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<center><p>[foo<p>bar]</center><p>extra" queryCommandState("defaultparagraphseparator") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<center><p>[foo<p>bar]</center><p>extra" queryCommandValue("defaultparagraphseparator") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<center><p>[foo<p>bar]</center><p>extra" queryCommandIndeterm("justifyfull") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<center><p>[foo<p>bar]</center><p>extra" queryCommandState("justifyfull") before 
+FAIL [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<center><p>[foo<p>bar]</center><p>extra" queryCommandValue("justifyfull") before assert_equals: Wrong result returned expected "center" but got "false"
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<center><p>[foo<p>bar]</center><p>extra" queryCommandIndeterm("justifyfull") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<center><p>[foo<p>bar]</center><p>extra" queryCommandState("justifyfull") after 
+FAIL [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<center><p>[foo<p>bar]</center><p>extra" queryCommandValue("justifyfull") after assert_equals: Wrong result returned expected "justify" but got "true"
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table><tbody><tr><td>foo<td>b[a]r<td>baz</table><p>extra": execCommand("stylewithcss", false, "true") return value 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table><tbody><tr><td>foo<td>b[a]r<td>baz</table><p>extra": execCommand("defaultparagraphseparator", false, "div") return value 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table><tbody><tr><td>foo<td>b[a]r<td>baz</table><p>extra": execCommand("justifyfull", false, "") return value 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table><tbody><tr><td>foo<td>b[a]r<td>baz</table><p>extra" checks for modifications to non-editable content 
+FAIL [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table><tbody><tr><td>foo<td>b[a]r<td>baz</table><p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<table><tbody><tr><td>foo</td><td><div style=\"text-align:justify\">bar</div></td><td>baz</td></tr></tbody></table><p>extra</p>" but got "<table><tbody><tr><td>foo</td><td style=\"text-align:justify\">bar</td><td>baz</td></tr></tbody></table><p>extra</p>"
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table><tbody><tr><td>foo<td>b[a]r<td>baz</table><p>extra" queryCommandIndeterm("stylewithcss") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table><tbody><tr><td>foo<td>b[a]r<td>baz</table><p>extra" queryCommandState("stylewithcss") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table><tbody><tr><td>foo<td>b[a]r<td>baz</table><p>extra" queryCommandValue("stylewithcss") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table><tbody><tr><td>foo<td>b[a]r<td>baz</table><p>extra" queryCommandIndeterm("stylewithcss") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table><tbody><tr><td>foo<td>b[a]r<td>baz</table><p>extra" queryCommandState("stylewithcss") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table><tbody><tr><td>foo<td>b[a]r<td>baz</table><p>extra" queryCommandValue("stylewithcss") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table><tbody><tr><td>foo<td>b[a]r<td>baz</table><p>extra" queryCommandIndeterm("defaultparagraphseparator") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table><tbody><tr><td>foo<td>b[a]r<td>baz</table><p>extra" queryCommandState("defaultparagraphseparator") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table><tbody><tr><td>foo<td>b[a]r<td>baz</table><p>extra" queryCommandValue("defaultparagraphseparator") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table><tbody><tr><td>foo<td>b[a]r<td>baz</table><p>extra" queryCommandIndeterm("defaultparagraphseparator") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table><tbody><tr><td>foo<td>b[a]r<td>baz</table><p>extra" queryCommandState("defaultparagraphseparator") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table><tbody><tr><td>foo<td>b[a]r<td>baz</table><p>extra" queryCommandValue("defaultparagraphseparator") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table><tbody><tr><td>foo<td>b[a]r<td>baz</table><p>extra" queryCommandIndeterm("justifyfull") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table><tbody><tr><td>foo<td>b[a]r<td>baz</table><p>extra" queryCommandState("justifyfull") before 
+FAIL [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table><tbody><tr><td>foo<td>b[a]r<td>baz</table><p>extra" queryCommandValue("justifyfull") before assert_equals: Wrong result returned expected "left" but got "false"
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table><tbody><tr><td>foo<td>b[a]r<td>baz</table><p>extra" queryCommandIndeterm("justifyfull") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table><tbody><tr><td>foo<td>b[a]r<td>baz</table><p>extra" queryCommandState("justifyfull") after 
+FAIL [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table><tbody><tr><td>foo<td>b[a]r<td>baz</table><p>extra" queryCommandValue("justifyfull") after assert_equals: Wrong result returned expected "justify" but got "true"
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table><tbody><tr><td>foo<td>b[a]r<td>baz</table><p>extra": execCommand("stylewithcss", false, "false") return value 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table><tbody><tr><td>foo<td>b[a]r<td>baz</table><p>extra": execCommand("defaultparagraphseparator", false, "div") return value 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table><tbody><tr><td>foo<td>b[a]r<td>baz</table><p>extra": execCommand("justifyfull", false, "") return value 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table><tbody><tr><td>foo<td>b[a]r<td>baz</table><p>extra" checks for modifications to non-editable content 
+FAIL [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table><tbody><tr><td>foo<td>b[a]r<td>baz</table><p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<table><tbody><tr><td>foo</td><td><div style=\"text-align:justify\">bar</div></td><td>baz</td></tr></tbody></table><p>extra</p>" but got "<table><tbody><tr><td>foo</td><td style=\"text-align:justify\">bar</td><td>baz</td></tr></tbody></table><p>extra</p>"
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table><tbody><tr><td>foo<td>b[a]r<td>baz</table><p>extra" queryCommandIndeterm("stylewithcss") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table><tbody><tr><td>foo<td>b[a]r<td>baz</table><p>extra" queryCommandState("stylewithcss") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table><tbody><tr><td>foo<td>b[a]r<td>baz</table><p>extra" queryCommandValue("stylewithcss") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table><tbody><tr><td>foo<td>b[a]r<td>baz</table><p>extra" queryCommandIndeterm("stylewithcss") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table><tbody><tr><td>foo<td>b[a]r<td>baz</table><p>extra" queryCommandState("stylewithcss") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table><tbody><tr><td>foo<td>b[a]r<td>baz</table><p>extra" queryCommandValue("stylewithcss") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table><tbody><tr><td>foo<td>b[a]r<td>baz</table><p>extra" queryCommandIndeterm("defaultparagraphseparator") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table><tbody><tr><td>foo<td>b[a]r<td>baz</table><p>extra" queryCommandState("defaultparagraphseparator") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table><tbody><tr><td>foo<td>b[a]r<td>baz</table><p>extra" queryCommandValue("defaultparagraphseparator") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table><tbody><tr><td>foo<td>b[a]r<td>baz</table><p>extra" queryCommandIndeterm("defaultparagraphseparator") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table><tbody><tr><td>foo<td>b[a]r<td>baz</table><p>extra" queryCommandState("defaultparagraphseparator") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table><tbody><tr><td>foo<td>b[a]r<td>baz</table><p>extra" queryCommandValue("defaultparagraphseparator") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table><tbody><tr><td>foo<td>b[a]r<td>baz</table><p>extra" queryCommandIndeterm("justifyfull") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table><tbody><tr><td>foo<td>b[a]r<td>baz</table><p>extra" queryCommandState("justifyfull") before 
+FAIL [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table><tbody><tr><td>foo<td>b[a]r<td>baz</table><p>extra" queryCommandValue("justifyfull") before assert_equals: Wrong result returned expected "left" but got "false"
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table><tbody><tr><td>foo<td>b[a]r<td>baz</table><p>extra" queryCommandIndeterm("justifyfull") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table><tbody><tr><td>foo<td>b[a]r<td>baz</table><p>extra" queryCommandState("justifyfull") after 
+FAIL [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table><tbody><tr><td>foo<td>b[a]r<td>baz</table><p>extra" queryCommandValue("justifyfull") after assert_equals: Wrong result returned expected "justify" but got "true"
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table><tbody><tr><td>foo<td>b[a]r<td>baz</table><p>extra": execCommand("stylewithcss", false, "true") return value 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table><tbody><tr><td>foo<td>b[a]r<td>baz</table><p>extra": execCommand("defaultparagraphseparator", false, "p") return value 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table><tbody><tr><td>foo<td>b[a]r<td>baz</table><p>extra": execCommand("justifyfull", false, "") return value 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table><tbody><tr><td>foo<td>b[a]r<td>baz</table><p>extra" checks for modifications to non-editable content 
+FAIL [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table><tbody><tr><td>foo<td>b[a]r<td>baz</table><p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<table><tbody><tr><td>foo</td><td><div style=\"text-align:justify\">bar</div></td><td>baz</td></tr></tbody></table><p>extra</p>" but got "<table><tbody><tr><td>foo</td><td style=\"text-align:justify\">bar</td><td>baz</td></tr></tbody></table><p>extra</p>"
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table><tbody><tr><td>foo<td>b[a]r<td>baz</table><p>extra" queryCommandIndeterm("stylewithcss") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table><tbody><tr><td>foo<td>b[a]r<td>baz</table><p>extra" queryCommandState("stylewithcss") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table><tbody><tr><td>foo<td>b[a]r<td>baz</table><p>extra" queryCommandValue("stylewithcss") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table><tbody><tr><td>foo<td>b[a]r<td>baz</table><p>extra" queryCommandIndeterm("stylewithcss") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table><tbody><tr><td>foo<td>b[a]r<td>baz</table><p>extra" queryCommandState("stylewithcss") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table><tbody><tr><td>foo<td>b[a]r<td>baz</table><p>extra" queryCommandValue("stylewithcss") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table><tbody><tr><td>foo<td>b[a]r<td>baz</table><p>extra" queryCommandIndeterm("defaultparagraphseparator") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table><tbody><tr><td>foo<td>b[a]r<td>baz</table><p>extra" queryCommandState("defaultparagraphseparator") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table><tbody><tr><td>foo<td>b[a]r<td>baz</table><p>extra" queryCommandValue("defaultparagraphseparator") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table><tbody><tr><td>foo<td>b[a]r<td>baz</table><p>extra" queryCommandIndeterm("defaultparagraphseparator") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table><tbody><tr><td>foo<td>b[a]r<td>baz</table><p>extra" queryCommandState("defaultparagraphseparator") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table><tbody><tr><td>foo<td>b[a]r<td>baz</table><p>extra" queryCommandValue("defaultparagraphseparator") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table><tbody><tr><td>foo<td>b[a]r<td>baz</table><p>extra" queryCommandIndeterm("justifyfull") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table><tbody><tr><td>foo<td>b[a]r<td>baz</table><p>extra" queryCommandState("justifyfull") before 
+FAIL [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table><tbody><tr><td>foo<td>b[a]r<td>baz</table><p>extra" queryCommandValue("justifyfull") before assert_equals: Wrong result returned expected "left" but got "false"
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table><tbody><tr><td>foo<td>b[a]r<td>baz</table><p>extra" queryCommandIndeterm("justifyfull") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table><tbody><tr><td>foo<td>b[a]r<td>baz</table><p>extra" queryCommandState("justifyfull") after 
+FAIL [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table><tbody><tr><td>foo<td>b[a]r<td>baz</table><p>extra" queryCommandValue("justifyfull") after assert_equals: Wrong result returned expected "justify" but got "true"
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table><tbody><tr><td>foo<td>b[a]r<td>baz</table><p>extra": execCommand("stylewithcss", false, "false") return value 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table><tbody><tr><td>foo<td>b[a]r<td>baz</table><p>extra": execCommand("defaultparagraphseparator", false, "p") return value 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table><tbody><tr><td>foo<td>b[a]r<td>baz</table><p>extra": execCommand("justifyfull", false, "") return value 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table><tbody><tr><td>foo<td>b[a]r<td>baz</table><p>extra" checks for modifications to non-editable content 
+FAIL [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table><tbody><tr><td>foo<td>b[a]r<td>baz</table><p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<table><tbody><tr><td>foo</td><td><div style=\"text-align:justify\">bar</div></td><td>baz</td></tr></tbody></table><p>extra</p>" but got "<table><tbody><tr><td>foo</td><td style=\"text-align:justify\">bar</td><td>baz</td></tr></tbody></table><p>extra</p>"
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table><tbody><tr><td>foo<td>b[a]r<td>baz</table><p>extra" queryCommandIndeterm("stylewithcss") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table><tbody><tr><td>foo<td>b[a]r<td>baz</table><p>extra" queryCommandState("stylewithcss") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table><tbody><tr><td>foo<td>b[a]r<td>baz</table><p>extra" queryCommandValue("stylewithcss") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table><tbody><tr><td>foo<td>b[a]r<td>baz</table><p>extra" queryCommandIndeterm("stylewithcss") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table><tbody><tr><td>foo<td>b[a]r<td>baz</table><p>extra" queryCommandState("stylewithcss") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table><tbody><tr><td>foo<td>b[a]r<td>baz</table><p>extra" queryCommandValue("stylewithcss") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table><tbody><tr><td>foo<td>b[a]r<td>baz</table><p>extra" queryCommandIndeterm("defaultparagraphseparator") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table><tbody><tr><td>foo<td>b[a]r<td>baz</table><p>extra" queryCommandState("defaultparagraphseparator") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table><tbody><tr><td>foo<td>b[a]r<td>baz</table><p>extra" queryCommandValue("defaultparagraphseparator") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table><tbody><tr><td>foo<td>b[a]r<td>baz</table><p>extra" queryCommandIndeterm("defaultparagraphseparator") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table><tbody><tr><td>foo<td>b[a]r<td>baz</table><p>extra" queryCommandState("defaultparagraphseparator") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table><tbody><tr><td>foo<td>b[a]r<td>baz</table><p>extra" queryCommandValue("defaultparagraphseparator") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table><tbody><tr><td>foo<td>b[a]r<td>baz</table><p>extra" queryCommandIndeterm("justifyfull") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table><tbody><tr><td>foo<td>b[a]r<td>baz</table><p>extra" queryCommandState("justifyfull") before 
+FAIL [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table><tbody><tr><td>foo<td>b[a]r<td>baz</table><p>extra" queryCommandValue("justifyfull") before assert_equals: Wrong result returned expected "left" but got "false"
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table><tbody><tr><td>foo<td>b[a]r<td>baz</table><p>extra" queryCommandIndeterm("justifyfull") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table><tbody><tr><td>foo<td>b[a]r<td>baz</table><p>extra" queryCommandState("justifyfull") after 
+FAIL [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table><tbody><tr><td>foo<td>b[a]r<td>baz</table><p>extra" queryCommandValue("justifyfull") after assert_equals: Wrong result returned expected "justify" but got "true"
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table><tbody><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table><p>extra": execCommand("stylewithcss", false, "true") return value 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table><tbody><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table><p>extra": execCommand("defaultparagraphseparator", false, "div") return value 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table><tbody><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table><p>extra": execCommand("justifyfull", false, "") return value 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table><tbody><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table><p>extra" checks for modifications to non-editable content 
+FAIL [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table><tbody><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table><p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<table><tbody><tr><td>foo</td><td><div style=\"text-align:justify\">bar</div></td><td>baz</td></tr></tbody></table><p>extra</p>" but got "<table><tbody><tr><td>foo</td><td style=\"text-align:justify\">bar</td><td style=\"text-align:justify\">baz</td></tr></tbody></table><p>extra</p>"
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table><tbody><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("stylewithcss") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table><tbody><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("stylewithcss") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table><tbody><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("stylewithcss") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table><tbody><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("stylewithcss") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table><tbody><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("stylewithcss") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table><tbody><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("stylewithcss") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table><tbody><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("defaultparagraphseparator") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table><tbody><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("defaultparagraphseparator") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table><tbody><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("defaultparagraphseparator") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table><tbody><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("defaultparagraphseparator") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table><tbody><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("defaultparagraphseparator") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table><tbody><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("defaultparagraphseparator") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table><tbody><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("justifyfull") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table><tbody><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("justifyfull") before 
+FAIL [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table><tbody><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("justifyfull") before assert_equals: Wrong result returned expected "left" but got "false"
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table><tbody><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("justifyfull") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table><tbody><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("justifyfull") after 
+FAIL [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table><tbody><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("justifyfull") after assert_equals: Wrong result returned expected "justify" but got "true"
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table><tbody><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table><p>extra": execCommand("stylewithcss", false, "false") return value 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table><tbody><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table><p>extra": execCommand("defaultparagraphseparator", false, "div") return value 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table><tbody><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table><p>extra": execCommand("justifyfull", false, "") return value 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table><tbody><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table><p>extra" checks for modifications to non-editable content 
+FAIL [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table><tbody><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table><p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<table><tbody><tr><td>foo</td><td><div style=\"text-align:justify\">bar</div></td><td>baz</td></tr></tbody></table><p>extra</p>" but got "<table><tbody><tr><td>foo</td><td style=\"text-align:justify\">bar</td><td style=\"text-align:justify\">baz</td></tr></tbody></table><p>extra</p>"
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table><tbody><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("stylewithcss") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table><tbody><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("stylewithcss") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table><tbody><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("stylewithcss") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table><tbody><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("stylewithcss") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table><tbody><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("stylewithcss") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table><tbody><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("stylewithcss") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table><tbody><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("defaultparagraphseparator") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table><tbody><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("defaultparagraphseparator") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table><tbody><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("defaultparagraphseparator") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table><tbody><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("defaultparagraphseparator") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table><tbody><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("defaultparagraphseparator") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table><tbody><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("defaultparagraphseparator") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table><tbody><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("justifyfull") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table><tbody><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("justifyfull") before 
+FAIL [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table><tbody><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("justifyfull") before assert_equals: Wrong result returned expected "left" but got "false"
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table><tbody><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("justifyfull") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table><tbody><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("justifyfull") after 
+FAIL [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table><tbody><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("justifyfull") after assert_equals: Wrong result returned expected "justify" but got "true"
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table><tbody><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table><p>extra": execCommand("stylewithcss", false, "true") return value 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table><tbody><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table><p>extra": execCommand("defaultparagraphseparator", false, "p") return value 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table><tbody><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table><p>extra": execCommand("justifyfull", false, "") return value 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table><tbody><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table><p>extra" checks for modifications to non-editable content 
+FAIL [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table><tbody><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table><p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<table><tbody><tr><td>foo</td><td><div style=\"text-align:justify\">bar</div></td><td>baz</td></tr></tbody></table><p>extra</p>" but got "<table><tbody><tr><td>foo</td><td style=\"text-align:justify\">bar</td><td style=\"text-align:justify\">baz</td></tr></tbody></table><p>extra</p>"
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table><tbody><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("stylewithcss") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table><tbody><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("stylewithcss") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table><tbody><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("stylewithcss") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table><tbody><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("stylewithcss") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table><tbody><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("stylewithcss") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table><tbody><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("stylewithcss") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table><tbody><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("defaultparagraphseparator") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table><tbody><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("defaultparagraphseparator") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table><tbody><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("defaultparagraphseparator") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table><tbody><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("defaultparagraphseparator") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table><tbody><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("defaultparagraphseparator") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table><tbody><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("defaultparagraphseparator") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table><tbody><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("justifyfull") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table><tbody><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("justifyfull") before 
+FAIL [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table><tbody><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("justifyfull") before assert_equals: Wrong result returned expected "left" but got "false"
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table><tbody><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("justifyfull") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table><tbody><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("justifyfull") after 
+FAIL [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table><tbody><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("justifyfull") after assert_equals: Wrong result returned expected "justify" but got "true"
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table><tbody><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table><p>extra": execCommand("stylewithcss", false, "false") return value 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table><tbody><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table><p>extra": execCommand("defaultparagraphseparator", false, "p") return value 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table><tbody><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table><p>extra": execCommand("justifyfull", false, "") return value 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table><tbody><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table><p>extra" checks for modifications to non-editable content 
+FAIL [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table><tbody><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table><p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<table><tbody><tr><td>foo</td><td><div style=\"text-align:justify\">bar</div></td><td>baz</td></tr></tbody></table><p>extra</p>" but got "<table><tbody><tr><td>foo</td><td style=\"text-align:justify\">bar</td><td style=\"text-align:justify\">baz</td></tr></tbody></table><p>extra</p>"
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table><tbody><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("stylewithcss") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table><tbody><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("stylewithcss") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table><tbody><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("stylewithcss") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table><tbody><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("stylewithcss") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table><tbody><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("stylewithcss") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table><tbody><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("stylewithcss") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table><tbody><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("defaultparagraphseparator") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table><tbody><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("defaultparagraphseparator") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table><tbody><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("defaultparagraphseparator") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table><tbody><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("defaultparagraphseparator") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table><tbody><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("defaultparagraphseparator") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table><tbody><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("defaultparagraphseparator") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table><tbody><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("justifyfull") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table><tbody><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("justifyfull") before 
+FAIL [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table><tbody><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("justifyfull") before assert_equals: Wrong result returned expected "left" but got "false"
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table><tbody><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("justifyfull") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table><tbody><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("justifyfull") after 
+FAIL [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table><tbody><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("justifyfull") after assert_equals: Wrong result returned expected "justify" but got "true"
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table><tbody><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table><p>extra": execCommand("stylewithcss", false, "true") return value 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table><tbody><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table><p>extra": execCommand("defaultparagraphseparator", false, "div") return value 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table><tbody><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table><p>extra": execCommand("justifyfull", false, "") return value 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table><tbody><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table><p>extra" checks for modifications to non-editable content 
+FAIL [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table><tbody><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table><p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<table><tbody><tr><td><div style=\"text-align:justify\">foo</div></td><td><div style=\"text-align:justify\">bar</div></td><td>baz</td></tr></tbody></table><p>extra</p>" but got "<table><tbody><tr><td style=\"text-align:justify\">foo</td><td style=\"text-align:justify\">bar</td><td style=\"text-align:justify\">baz</td></tr></tbody></table><p>extra</p>"
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table><tbody><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("stylewithcss") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table><tbody><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("stylewithcss") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table><tbody><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("stylewithcss") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table><tbody><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("stylewithcss") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table><tbody><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("stylewithcss") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table><tbody><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("stylewithcss") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table><tbody><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("defaultparagraphseparator") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table><tbody><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("defaultparagraphseparator") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table><tbody><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("defaultparagraphseparator") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table><tbody><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("defaultparagraphseparator") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table><tbody><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("defaultparagraphseparator") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table><tbody><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("defaultparagraphseparator") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table><tbody><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("justifyfull") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table><tbody><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("justifyfull") before 
+FAIL [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table><tbody><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("justifyfull") before assert_equals: Wrong result returned expected "left" but got "false"
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table><tbody><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("justifyfull") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table><tbody><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("justifyfull") after 
+FAIL [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table><tbody><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("justifyfull") after assert_equals: Wrong result returned expected "justify" but got "true"
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table><tbody><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table><p>extra": execCommand("stylewithcss", false, "false") return value 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table><tbody><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table><p>extra": execCommand("defaultparagraphseparator", false, "div") return value 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table><tbody><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table><p>extra": execCommand("justifyfull", false, "") return value 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table><tbody><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table><p>extra" checks for modifications to non-editable content 
+FAIL [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table><tbody><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table><p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<table><tbody><tr><td><div style=\"text-align:justify\">foo</div></td><td><div style=\"text-align:justify\">bar</div></td><td>baz</td></tr></tbody></table><p>extra</p>" but got "<table><tbody><tr><td style=\"text-align:justify\">foo</td><td style=\"text-align:justify\">bar</td><td style=\"text-align:justify\">baz</td></tr></tbody></table><p>extra</p>"
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table><tbody><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("stylewithcss") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table><tbody><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("stylewithcss") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table><tbody><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("stylewithcss") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table><tbody><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("stylewithcss") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table><tbody><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("stylewithcss") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table><tbody><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("stylewithcss") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table><tbody><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("defaultparagraphseparator") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table><tbody><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("defaultparagraphseparator") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table><tbody><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("defaultparagraphseparator") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table><tbody><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("defaultparagraphseparator") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table><tbody><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("defaultparagraphseparator") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table><tbody><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("defaultparagraphseparator") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table><tbody><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("justifyfull") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table><tbody><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("justifyfull") before 
+FAIL [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table><tbody><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("justifyfull") before assert_equals: Wrong result returned expected "left" but got "false"
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table><tbody><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("justifyfull") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table><tbody><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("justifyfull") after 
+FAIL [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table><tbody><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("justifyfull") after assert_equals: Wrong result returned expected "justify" but got "true"
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table><tbody><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table><p>extra": execCommand("stylewithcss", false, "true") return value 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table><tbody><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table><p>extra": execCommand("defaultparagraphseparator", false, "p") return value 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table><tbody><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table><p>extra": execCommand("justifyfull", false, "") return value 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table><tbody><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table><p>extra" checks for modifications to non-editable content 
+FAIL [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table><tbody><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table><p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<table><tbody><tr><td><div style=\"text-align:justify\">foo</div></td><td><div style=\"text-align:justify\">bar</div></td><td>baz</td></tr></tbody></table><p>extra</p>" but got "<table><tbody><tr><td style=\"text-align:justify\">foo</td><td style=\"text-align:justify\">bar</td><td style=\"text-align:justify\">baz</td></tr></tbody></table><p>extra</p>"
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table><tbody><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("stylewithcss") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table><tbody><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("stylewithcss") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table><tbody><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("stylewithcss") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table><tbody><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("stylewithcss") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table><tbody><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("stylewithcss") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table><tbody><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("stylewithcss") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table><tbody><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("defaultparagraphseparator") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table><tbody><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("defaultparagraphseparator") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table><tbody><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("defaultparagraphseparator") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table><tbody><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("defaultparagraphseparator") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table><tbody><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("defaultparagraphseparator") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table><tbody><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("defaultparagraphseparator") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table><tbody><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("justifyfull") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table><tbody><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("justifyfull") before 
+FAIL [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table><tbody><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("justifyfull") before assert_equals: Wrong result returned expected "left" but got "false"
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table><tbody><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("justifyfull") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table><tbody><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("justifyfull") after 
+FAIL [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table><tbody><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("justifyfull") after assert_equals: Wrong result returned expected "justify" but got "true"
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table><tbody><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table><p>extra": execCommand("stylewithcss", false, "false") return value 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table><tbody><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table><p>extra": execCommand("defaultparagraphseparator", false, "p") return value 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table><tbody><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table><p>extra": execCommand("justifyfull", false, "") return value 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table><tbody><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table><p>extra" checks for modifications to non-editable content 
+FAIL [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table><tbody><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table><p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<table><tbody><tr><td><div style=\"text-align:justify\">foo</div></td><td><div style=\"text-align:justify\">bar</div></td><td>baz</td></tr></tbody></table><p>extra</p>" but got "<table><tbody><tr><td style=\"text-align:justify\">foo</td><td style=\"text-align:justify\">bar</td><td style=\"text-align:justify\">baz</td></tr></tbody></table><p>extra</p>"
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table><tbody><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("stylewithcss") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table><tbody><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("stylewithcss") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table><tbody><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("stylewithcss") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table><tbody><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("stylewithcss") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table><tbody><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("stylewithcss") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table><tbody><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("stylewithcss") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table><tbody><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("defaultparagraphseparator") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table><tbody><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("defaultparagraphseparator") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table><tbody><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("defaultparagraphseparator") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table><tbody><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("defaultparagraphseparator") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table><tbody><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("defaultparagraphseparator") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table><tbody><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("defaultparagraphseparator") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table><tbody><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("justifyfull") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table><tbody><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("justifyfull") before 
+FAIL [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table><tbody><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("justifyfull") before assert_equals: Wrong result returned expected "left" but got "false"
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table><tbody><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("justifyfull") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table><tbody><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("justifyfull") after 
+FAIL [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table><tbody><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("justifyfull") after assert_equals: Wrong result returned expected "justify" but got "true"
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table><tbody data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra": execCommand("stylewithcss", false, "true") return value 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table><tbody data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra": execCommand("defaultparagraphseparator", false, "div") return value 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table><tbody data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra": execCommand("justifyfull", false, "") return value 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table><tbody data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" checks for modifications to non-editable content 
+FAIL [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table><tbody data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<div style=\"text-align:justify\"><table><tbody><tr><td>foo</td><td>bar</td><td>baz</td></tr></tbody></table></div><p>extra</p>" but got "<table style=\"text-align:justify\"><tbody><tr><td style=\"text-align:justify\">foo</td><td style=\"text-align:justify\">bar</td><td style=\"text-align:justify\">baz</td></tr></tbody></table><p>extra</p>"
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table><tbody data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("stylewithcss") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table><tbody data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("stylewithcss") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table><tbody data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("stylewithcss") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table><tbody data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("stylewithcss") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table><tbody data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("stylewithcss") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table><tbody data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("stylewithcss") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table><tbody data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("defaultparagraphseparator") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table><tbody data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("defaultparagraphseparator") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table><tbody data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("defaultparagraphseparator") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table><tbody data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("defaultparagraphseparator") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table><tbody data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("defaultparagraphseparator") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table><tbody data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("defaultparagraphseparator") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table><tbody data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("justifyfull") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table><tbody data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("justifyfull") before 
+FAIL [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table><tbody data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("justifyfull") before assert_equals: Wrong result returned expected "left" but got "false"
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table><tbody data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("justifyfull") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table><tbody data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("justifyfull") after 
+FAIL [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table><tbody data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("justifyfull") after assert_equals: Wrong result returned expected "justify" but got "true"
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table><tbody data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra": execCommand("stylewithcss", false, "false") return value 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table><tbody data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra": execCommand("defaultparagraphseparator", false, "div") return value 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table><tbody data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra": execCommand("justifyfull", false, "") return value 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table><tbody data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" checks for modifications to non-editable content 
+FAIL [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table><tbody data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<div style=\"text-align:justify\"><table><tbody><tr><td>foo</td><td>bar</td><td>baz</td></tr></tbody></table></div><p>extra</p>" but got "<table style=\"text-align:justify\"><tbody><tr><td style=\"text-align:justify\">foo</td><td style=\"text-align:justify\">bar</td><td style=\"text-align:justify\">baz</td></tr></tbody></table><p>extra</p>"
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table><tbody data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("stylewithcss") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table><tbody data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("stylewithcss") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table><tbody data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("stylewithcss") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table><tbody data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("stylewithcss") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table><tbody data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("stylewithcss") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table><tbody data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("stylewithcss") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table><tbody data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("defaultparagraphseparator") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table><tbody data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("defaultparagraphseparator") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table><tbody data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("defaultparagraphseparator") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table><tbody data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("defaultparagraphseparator") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table><tbody data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("defaultparagraphseparator") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table><tbody data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("defaultparagraphseparator") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table><tbody data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("justifyfull") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table><tbody data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("justifyfull") before 
+FAIL [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table><tbody data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("justifyfull") before assert_equals: Wrong result returned expected "left" but got "false"
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table><tbody data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("justifyfull") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table><tbody data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("justifyfull") after 
+FAIL [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table><tbody data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("justifyfull") after assert_equals: Wrong result returned expected "justify" but got "true"
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table><tbody data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra": execCommand("stylewithcss", false, "true") return value 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table><tbody data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra": execCommand("defaultparagraphseparator", false, "p") return value 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table><tbody data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra": execCommand("justifyfull", false, "") return value 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table><tbody data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" checks for modifications to non-editable content 
+FAIL [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table><tbody data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<div style=\"text-align:justify\"><table><tbody><tr><td>foo</td><td>bar</td><td>baz</td></tr></tbody></table></div><p>extra</p>" but got "<table style=\"text-align:justify\"><tbody><tr><td style=\"text-align:justify\">foo</td><td style=\"text-align:justify\">bar</td><td style=\"text-align:justify\">baz</td></tr></tbody></table><p>extra</p>"
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table><tbody data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("stylewithcss") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table><tbody data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("stylewithcss") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table><tbody data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("stylewithcss") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table><tbody data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("stylewithcss") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table><tbody data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("stylewithcss") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table><tbody data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("stylewithcss") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table><tbody data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("defaultparagraphseparator") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table><tbody data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("defaultparagraphseparator") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table><tbody data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("defaultparagraphseparator") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table><tbody data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("defaultparagraphseparator") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table><tbody data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("defaultparagraphseparator") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table><tbody data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("defaultparagraphseparator") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table><tbody data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("justifyfull") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table><tbody data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("justifyfull") before 
+FAIL [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table><tbody data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("justifyfull") before assert_equals: Wrong result returned expected "left" but got "false"
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table><tbody data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("justifyfull") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table><tbody data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("justifyfull") after 
+FAIL [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table><tbody data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("justifyfull") after assert_equals: Wrong result returned expected "justify" but got "true"
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table><tbody data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra": execCommand("stylewithcss", false, "false") return value 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table><tbody data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra": execCommand("defaultparagraphseparator", false, "p") return value 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table><tbody data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra": execCommand("justifyfull", false, "") return value 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table><tbody data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" checks for modifications to non-editable content 
+FAIL [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table><tbody data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<div style=\"text-align:justify\"><table><tbody><tr><td>foo</td><td>bar</td><td>baz</td></tr></tbody></table></div><p>extra</p>" but got "<table style=\"text-align:justify\"><tbody><tr><td style=\"text-align:justify\">foo</td><td style=\"text-align:justify\">bar</td><td style=\"text-align:justify\">baz</td></tr></tbody></table><p>extra</p>"
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table><tbody data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("stylewithcss") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table><tbody data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("stylewithcss") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table><tbody data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("stylewithcss") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table><tbody data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("stylewithcss") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table><tbody data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("stylewithcss") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table><tbody data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("stylewithcss") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table><tbody data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("defaultparagraphseparator") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table><tbody data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("defaultparagraphseparator") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table><tbody data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("defaultparagraphseparator") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table><tbody data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("defaultparagraphseparator") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table><tbody data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("defaultparagraphseparator") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table><tbody data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("defaultparagraphseparator") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table><tbody data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("justifyfull") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table><tbody data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("justifyfull") before 
+FAIL [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table><tbody data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("justifyfull") before assert_equals: Wrong result returned expected "left" but got "false"
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table><tbody data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("justifyfull") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table><tbody data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("justifyfull") after 
+FAIL [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table><tbody data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("justifyfull") after assert_equals: Wrong result returned expected "justify" but got "true"
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table data-start=0 data-end=1><tbody><tr><td>foo<td>bar<td>baz</table><p>extra": execCommand("stylewithcss", false, "true") return value 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table data-start=0 data-end=1><tbody><tr><td>foo<td>bar<td>baz</table><p>extra": execCommand("defaultparagraphseparator", false, "div") return value 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table data-start=0 data-end=1><tbody><tr><td>foo<td>bar<td>baz</table><p>extra": execCommand("justifyfull", false, "") return value 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table data-start=0 data-end=1><tbody><tr><td>foo<td>bar<td>baz</table><p>extra" checks for modifications to non-editable content 
+FAIL [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table data-start=0 data-end=1><tbody><tr><td>foo<td>bar<td>baz</table><p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<div style=\"text-align:justify\"><table><tbody><tr><td>foo</td><td>bar</td><td>baz</td></tr></tbody></table></div><p>extra</p>" but got "<table style=\"text-align:justify\"><tbody><tr><td>foo</td><td>bar</td><td>baz</td></tr></tbody></table><p>extra</p>"
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table data-start=0 data-end=1><tbody><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("stylewithcss") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table data-start=0 data-end=1><tbody><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("stylewithcss") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table data-start=0 data-end=1><tbody><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("stylewithcss") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table data-start=0 data-end=1><tbody><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("stylewithcss") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table data-start=0 data-end=1><tbody><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("stylewithcss") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table data-start=0 data-end=1><tbody><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("stylewithcss") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table data-start=0 data-end=1><tbody><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("defaultparagraphseparator") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table data-start=0 data-end=1><tbody><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("defaultparagraphseparator") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table data-start=0 data-end=1><tbody><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("defaultparagraphseparator") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table data-start=0 data-end=1><tbody><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("defaultparagraphseparator") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table data-start=0 data-end=1><tbody><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("defaultparagraphseparator") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table data-start=0 data-end=1><tbody><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("defaultparagraphseparator") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table data-start=0 data-end=1><tbody><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("justifyfull") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table data-start=0 data-end=1><tbody><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("justifyfull") before 
+FAIL [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table data-start=0 data-end=1><tbody><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("justifyfull") before assert_equals: Wrong result returned expected "left" but got "false"
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table data-start=0 data-end=1><tbody><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("justifyfull") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table data-start=0 data-end=1><tbody><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("justifyfull") after 
+FAIL [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table data-start=0 data-end=1><tbody><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("justifyfull") after assert_equals: Wrong result returned expected "justify" but got "true"
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table data-start=0 data-end=1><tbody><tr><td>foo<td>bar<td>baz</table><p>extra": execCommand("stylewithcss", false, "false") return value 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table data-start=0 data-end=1><tbody><tr><td>foo<td>bar<td>baz</table><p>extra": execCommand("defaultparagraphseparator", false, "div") return value 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table data-start=0 data-end=1><tbody><tr><td>foo<td>bar<td>baz</table><p>extra": execCommand("justifyfull", false, "") return value 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table data-start=0 data-end=1><tbody><tr><td>foo<td>bar<td>baz</table><p>extra" checks for modifications to non-editable content 
+FAIL [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table data-start=0 data-end=1><tbody><tr><td>foo<td>bar<td>baz</table><p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<div style=\"text-align:justify\"><table><tbody><tr><td>foo</td><td>bar</td><td>baz</td></tr></tbody></table></div><p>extra</p>" but got "<table style=\"text-align:justify\"><tbody><tr><td>foo</td><td>bar</td><td>baz</td></tr></tbody></table><p>extra</p>"
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table data-start=0 data-end=1><tbody><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("stylewithcss") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table data-start=0 data-end=1><tbody><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("stylewithcss") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table data-start=0 data-end=1><tbody><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("stylewithcss") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table data-start=0 data-end=1><tbody><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("stylewithcss") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table data-start=0 data-end=1><tbody><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("stylewithcss") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table data-start=0 data-end=1><tbody><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("stylewithcss") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table data-start=0 data-end=1><tbody><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("defaultparagraphseparator") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table data-start=0 data-end=1><tbody><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("defaultparagraphseparator") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table data-start=0 data-end=1><tbody><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("defaultparagraphseparator") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table data-start=0 data-end=1><tbody><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("defaultparagraphseparator") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table data-start=0 data-end=1><tbody><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("defaultparagraphseparator") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table data-start=0 data-end=1><tbody><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("defaultparagraphseparator") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table data-start=0 data-end=1><tbody><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("justifyfull") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table data-start=0 data-end=1><tbody><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("justifyfull") before 
+FAIL [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table data-start=0 data-end=1><tbody><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("justifyfull") before assert_equals: Wrong result returned expected "left" but got "false"
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table data-start=0 data-end=1><tbody><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("justifyfull") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table data-start=0 data-end=1><tbody><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("justifyfull") after 
+FAIL [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table data-start=0 data-end=1><tbody><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("justifyfull") after assert_equals: Wrong result returned expected "justify" but got "true"
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table data-start=0 data-end=1><tbody><tr><td>foo<td>bar<td>baz</table><p>extra": execCommand("stylewithcss", false, "true") return value 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table data-start=0 data-end=1><tbody><tr><td>foo<td>bar<td>baz</table><p>extra": execCommand("defaultparagraphseparator", false, "p") return value 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table data-start=0 data-end=1><tbody><tr><td>foo<td>bar<td>baz</table><p>extra": execCommand("justifyfull", false, "") return value 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table data-start=0 data-end=1><tbody><tr><td>foo<td>bar<td>baz</table><p>extra" checks for modifications to non-editable content 
+FAIL [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table data-start=0 data-end=1><tbody><tr><td>foo<td>bar<td>baz</table><p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<div style=\"text-align:justify\"><table><tbody><tr><td>foo</td><td>bar</td><td>baz</td></tr></tbody></table></div><p>extra</p>" but got "<table style=\"text-align:justify\"><tbody><tr><td>foo</td><td>bar</td><td>baz</td></tr></tbody></table><p>extra</p>"
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table data-start=0 data-end=1><tbody><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("stylewithcss") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table data-start=0 data-end=1><tbody><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("stylewithcss") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table data-start=0 data-end=1><tbody><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("stylewithcss") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table data-start=0 data-end=1><tbody><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("stylewithcss") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table data-start=0 data-end=1><tbody><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("stylewithcss") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table data-start=0 data-end=1><tbody><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("stylewithcss") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table data-start=0 data-end=1><tbody><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("defaultparagraphseparator") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table data-start=0 data-end=1><tbody><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("defaultparagraphseparator") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table data-start=0 data-end=1><tbody><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("defaultparagraphseparator") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table data-start=0 data-end=1><tbody><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("defaultparagraphseparator") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table data-start=0 data-end=1><tbody><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("defaultparagraphseparator") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table data-start=0 data-end=1><tbody><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("defaultparagraphseparator") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table data-start=0 data-end=1><tbody><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("justifyfull") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table data-start=0 data-end=1><tbody><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("justifyfull") before 
+FAIL [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table data-start=0 data-end=1><tbody><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("justifyfull") before assert_equals: Wrong result returned expected "left" but got "false"
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table data-start=0 data-end=1><tbody><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("justifyfull") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table data-start=0 data-end=1><tbody><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("justifyfull") after 
+FAIL [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table data-start=0 data-end=1><tbody><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("justifyfull") after assert_equals: Wrong result returned expected "justify" but got "true"
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table data-start=0 data-end=1><tbody><tr><td>foo<td>bar<td>baz</table><p>extra": execCommand("stylewithcss", false, "false") return value 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table data-start=0 data-end=1><tbody><tr><td>foo<td>bar<td>baz</table><p>extra": execCommand("defaultparagraphseparator", false, "p") return value 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table data-start=0 data-end=1><tbody><tr><td>foo<td>bar<td>baz</table><p>extra": execCommand("justifyfull", false, "") return value 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table data-start=0 data-end=1><tbody><tr><td>foo<td>bar<td>baz</table><p>extra" checks for modifications to non-editable content 
+FAIL [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table data-start=0 data-end=1><tbody><tr><td>foo<td>bar<td>baz</table><p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<div style=\"text-align:justify\"><table><tbody><tr><td>foo</td><td>bar</td><td>baz</td></tr></tbody></table></div><p>extra</p>" but got "<table style=\"text-align:justify\"><tbody><tr><td>foo</td><td>bar</td><td>baz</td></tr></tbody></table><p>extra</p>"
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table data-start=0 data-end=1><tbody><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("stylewithcss") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table data-start=0 data-end=1><tbody><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("stylewithcss") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table data-start=0 data-end=1><tbody><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("stylewithcss") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table data-start=0 data-end=1><tbody><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("stylewithcss") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table data-start=0 data-end=1><tbody><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("stylewithcss") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table data-start=0 data-end=1><tbody><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("stylewithcss") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table data-start=0 data-end=1><tbody><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("defaultparagraphseparator") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table data-start=0 data-end=1><tbody><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("defaultparagraphseparator") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table data-start=0 data-end=1><tbody><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("defaultparagraphseparator") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table data-start=0 data-end=1><tbody><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("defaultparagraphseparator") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table data-start=0 data-end=1><tbody><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("defaultparagraphseparator") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table data-start=0 data-end=1><tbody><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("defaultparagraphseparator") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table data-start=0 data-end=1><tbody><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("justifyfull") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table data-start=0 data-end=1><tbody><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("justifyfull") before 
+FAIL [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table data-start=0 data-end=1><tbody><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("justifyfull") before assert_equals: Wrong result returned expected "left" but got "false"
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table data-start=0 data-end=1><tbody><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("justifyfull") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table data-start=0 data-end=1><tbody><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("justifyfull") after 
+FAIL [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table data-start=0 data-end=1><tbody><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("justifyfull") after assert_equals: Wrong result returned expected "justify" but got "true"
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "{<table><tr><td>foo<td>bar<td>baz</table>}<p>extra": execCommand("stylewithcss", false, "true") return value 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "{<table><tr><td>foo<td>bar<td>baz</table>}<p>extra": execCommand("defaultparagraphseparator", false, "div") return value 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "{<table><tr><td>foo<td>bar<td>baz</table>}<p>extra": execCommand("justifyfull", false, "") return value 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "{<table><tr><td>foo<td>bar<td>baz</table>}<p>extra" checks for modifications to non-editable content 
+FAIL [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "{<table><tr><td>foo<td>bar<td>baz</table>}<p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<div style=\"text-align:justify\"><table><tbody><tr><td>foo</td><td>bar</td><td>baz</td></tr></tbody></table></div><p>extra</p>" but got "<table style=\"text-align:justify\"><tbody><tr><td>foo</td><td>bar</td><td>baz</td></tr></tbody></table><p style=\"text-align:justify\">extra</p>"
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "{<table><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandIndeterm("stylewithcss") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "{<table><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandState("stylewithcss") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "{<table><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandValue("stylewithcss") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "{<table><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandIndeterm("stylewithcss") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "{<table><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandState("stylewithcss") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "{<table><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandValue("stylewithcss") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "{<table><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandIndeterm("defaultparagraphseparator") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "{<table><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandState("defaultparagraphseparator") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "{<table><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandValue("defaultparagraphseparator") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "{<table><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandIndeterm("defaultparagraphseparator") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "{<table><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandState("defaultparagraphseparator") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "{<table><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandValue("defaultparagraphseparator") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "{<table><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandIndeterm("justifyfull") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "{<table><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandState("justifyfull") before 
+FAIL [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "{<table><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandValue("justifyfull") before assert_equals: Wrong result returned expected "left" but got "false"
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "{<table><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandIndeterm("justifyfull") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "{<table><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandState("justifyfull") after 
+FAIL [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "{<table><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandValue("justifyfull") after assert_equals: Wrong result returned expected "justify" but got "true"
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "{<table><tr><td>foo<td>bar<td>baz</table>}<p>extra": execCommand("stylewithcss", false, "false") return value 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "{<table><tr><td>foo<td>bar<td>baz</table>}<p>extra": execCommand("defaultparagraphseparator", false, "div") return value 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "{<table><tr><td>foo<td>bar<td>baz</table>}<p>extra": execCommand("justifyfull", false, "") return value 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "{<table><tr><td>foo<td>bar<td>baz</table>}<p>extra" checks for modifications to non-editable content 
+FAIL [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "{<table><tr><td>foo<td>bar<td>baz</table>}<p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<div style=\"text-align:justify\"><table><tbody><tr><td>foo</td><td>bar</td><td>baz</td></tr></tbody></table></div><p>extra</p>" but got "<table style=\"text-align:justify\"><tbody><tr><td>foo</td><td>bar</td><td>baz</td></tr></tbody></table><p style=\"text-align:justify\">extra</p>"
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "{<table><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandIndeterm("stylewithcss") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "{<table><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandState("stylewithcss") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "{<table><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandValue("stylewithcss") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "{<table><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandIndeterm("stylewithcss") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "{<table><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandState("stylewithcss") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "{<table><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandValue("stylewithcss") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "{<table><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandIndeterm("defaultparagraphseparator") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "{<table><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandState("defaultparagraphseparator") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "{<table><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandValue("defaultparagraphseparator") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "{<table><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandIndeterm("defaultparagraphseparator") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "{<table><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandState("defaultparagraphseparator") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "{<table><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandValue("defaultparagraphseparator") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "{<table><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandIndeterm("justifyfull") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "{<table><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandState("justifyfull") before 
+FAIL [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "{<table><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandValue("justifyfull") before assert_equals: Wrong result returned expected "left" but got "false"
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "{<table><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandIndeterm("justifyfull") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "{<table><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandState("justifyfull") after 
+FAIL [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "{<table><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandValue("justifyfull") after assert_equals: Wrong result returned expected "justify" but got "true"
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "{<table><tr><td>foo<td>bar<td>baz</table>}<p>extra": execCommand("stylewithcss", false, "true") return value 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "{<table><tr><td>foo<td>bar<td>baz</table>}<p>extra": execCommand("defaultparagraphseparator", false, "p") return value 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "{<table><tr><td>foo<td>bar<td>baz</table>}<p>extra": execCommand("justifyfull", false, "") return value 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "{<table><tr><td>foo<td>bar<td>baz</table>}<p>extra" checks for modifications to non-editable content 
+FAIL [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "{<table><tr><td>foo<td>bar<td>baz</table>}<p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<div style=\"text-align:justify\"><table><tbody><tr><td>foo</td><td>bar</td><td>baz</td></tr></tbody></table></div><p>extra</p>" but got "<table style=\"text-align:justify\"><tbody><tr><td>foo</td><td>bar</td><td>baz</td></tr></tbody></table><p style=\"text-align:justify\">extra</p>"
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "{<table><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandIndeterm("stylewithcss") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "{<table><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandState("stylewithcss") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "{<table><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandValue("stylewithcss") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "{<table><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandIndeterm("stylewithcss") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "{<table><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandState("stylewithcss") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "{<table><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandValue("stylewithcss") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "{<table><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandIndeterm("defaultparagraphseparator") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "{<table><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandState("defaultparagraphseparator") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "{<table><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandValue("defaultparagraphseparator") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "{<table><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandIndeterm("defaultparagraphseparator") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "{<table><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandState("defaultparagraphseparator") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "{<table><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandValue("defaultparagraphseparator") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "{<table><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandIndeterm("justifyfull") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "{<table><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandState("justifyfull") before 
+FAIL [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "{<table><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandValue("justifyfull") before assert_equals: Wrong result returned expected "left" but got "false"
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "{<table><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandIndeterm("justifyfull") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "{<table><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandState("justifyfull") after 
+FAIL [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "{<table><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandValue("justifyfull") after assert_equals: Wrong result returned expected "justify" but got "true"
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "{<table><tr><td>foo<td>bar<td>baz</table>}<p>extra": execCommand("stylewithcss", false, "false") return value 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "{<table><tr><td>foo<td>bar<td>baz</table>}<p>extra": execCommand("defaultparagraphseparator", false, "p") return value 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "{<table><tr><td>foo<td>bar<td>baz</table>}<p>extra": execCommand("justifyfull", false, "") return value 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "{<table><tr><td>foo<td>bar<td>baz</table>}<p>extra" checks for modifications to non-editable content 
+FAIL [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "{<table><tr><td>foo<td>bar<td>baz</table>}<p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<div style=\"text-align:justify\"><table><tbody><tr><td>foo</td><td>bar</td><td>baz</td></tr></tbody></table></div><p>extra</p>" but got "<table style=\"text-align:justify\"><tbody><tr><td>foo</td><td>bar</td><td>baz</td></tr></tbody></table><p style=\"text-align:justify\">extra</p>"
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "{<table><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandIndeterm("stylewithcss") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "{<table><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandState("stylewithcss") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "{<table><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandValue("stylewithcss") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "{<table><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandIndeterm("stylewithcss") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "{<table><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandState("stylewithcss") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "{<table><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandValue("stylewithcss") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "{<table><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandIndeterm("defaultparagraphseparator") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "{<table><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandState("defaultparagraphseparator") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "{<table><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandValue("defaultparagraphseparator") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "{<table><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandIndeterm("defaultparagraphseparator") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "{<table><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandState("defaultparagraphseparator") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "{<table><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandValue("defaultparagraphseparator") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "{<table><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandIndeterm("justifyfull") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "{<table><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandState("justifyfull") before 
+FAIL [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "{<table><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandValue("justifyfull") before assert_equals: Wrong result returned expected "left" but got "false"
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "{<table><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandIndeterm("justifyfull") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "{<table><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandState("justifyfull") after 
+FAIL [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "{<table><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandValue("justifyfull") after assert_equals: Wrong result returned expected "justify" but got "true"
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table align=justify><tbody><tr><td>foo<td>b[a]r<td>baz</table><p>extra": execCommand("stylewithcss", false, "true") return value 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table align=justify><tbody><tr><td>foo<td>b[a]r<td>baz</table><p>extra": execCommand("defaultparagraphseparator", false, "div") return value 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table align=justify><tbody><tr><td>foo<td>b[a]r<td>baz</table><p>extra": execCommand("justifyfull", false, "") return value 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table align=justify><tbody><tr><td>foo<td>b[a]r<td>baz</table><p>extra" checks for modifications to non-editable content 
+FAIL [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table align=justify><tbody><tr><td>foo<td>b[a]r<td>baz</table><p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<table align=\"justify\"><tbody><tr><td>foo</td><td><div style=\"text-align:justify\">bar</div></td><td>baz</td></tr></tbody></table><p>extra</p>" but got "<table align=\"justify\"><tbody><tr><td>foo</td><td style=\"text-align:justify\">bar</td><td>baz</td></tr></tbody></table><p>extra</p>"
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table align=justify><tbody><tr><td>foo<td>b[a]r<td>baz</table><p>extra" queryCommandIndeterm("stylewithcss") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table align=justify><tbody><tr><td>foo<td>b[a]r<td>baz</table><p>extra" queryCommandState("stylewithcss") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table align=justify><tbody><tr><td>foo<td>b[a]r<td>baz</table><p>extra" queryCommandValue("stylewithcss") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table align=justify><tbody><tr><td>foo<td>b[a]r<td>baz</table><p>extra" queryCommandIndeterm("stylewithcss") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table align=justify><tbody><tr><td>foo<td>b[a]r<td>baz</table><p>extra" queryCommandState("stylewithcss") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table align=justify><tbody><tr><td>foo<td>b[a]r<td>baz</table><p>extra" queryCommandValue("stylewithcss") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table align=justify><tbody><tr><td>foo<td>b[a]r<td>baz</table><p>extra" queryCommandIndeterm("defaultparagraphseparator") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table align=justify><tbody><tr><td>foo<td>b[a]r<td>baz</table><p>extra" queryCommandState("defaultparagraphseparator") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table align=justify><tbody><tr><td>foo<td>b[a]r<td>baz</table><p>extra" queryCommandValue("defaultparagraphseparator") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table align=justify><tbody><tr><td>foo<td>b[a]r<td>baz</table><p>extra" queryCommandIndeterm("defaultparagraphseparator") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table align=justify><tbody><tr><td>foo<td>b[a]r<td>baz</table><p>extra" queryCommandState("defaultparagraphseparator") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table align=justify><tbody><tr><td>foo<td>b[a]r<td>baz</table><p>extra" queryCommandValue("defaultparagraphseparator") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table align=justify><tbody><tr><td>foo<td>b[a]r<td>baz</table><p>extra" queryCommandIndeterm("justifyfull") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table align=justify><tbody><tr><td>foo<td>b[a]r<td>baz</table><p>extra" queryCommandState("justifyfull") before 
+FAIL [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table align=justify><tbody><tr><td>foo<td>b[a]r<td>baz</table><p>extra" queryCommandValue("justifyfull") before assert_equals: Wrong result returned expected "left" but got "false"
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table align=justify><tbody><tr><td>foo<td>b[a]r<td>baz</table><p>extra" queryCommandIndeterm("justifyfull") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table align=justify><tbody><tr><td>foo<td>b[a]r<td>baz</table><p>extra" queryCommandState("justifyfull") after 
+FAIL [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table align=justify><tbody><tr><td>foo<td>b[a]r<td>baz</table><p>extra" queryCommandValue("justifyfull") after assert_equals: Wrong result returned expected "justify" but got "true"
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table align=justify><tbody><tr><td>foo<td>b[a]r<td>baz</table><p>extra": execCommand("stylewithcss", false, "false") return value 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table align=justify><tbody><tr><td>foo<td>b[a]r<td>baz</table><p>extra": execCommand("defaultparagraphseparator", false, "div") return value 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table align=justify><tbody><tr><td>foo<td>b[a]r<td>baz</table><p>extra": execCommand("justifyfull", false, "") return value 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table align=justify><tbody><tr><td>foo<td>b[a]r<td>baz</table><p>extra" checks for modifications to non-editable content 
+FAIL [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table align=justify><tbody><tr><td>foo<td>b[a]r<td>baz</table><p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<table align=\"justify\"><tbody><tr><td>foo</td><td><div style=\"text-align:justify\">bar</div></td><td>baz</td></tr></tbody></table><p>extra</p>" but got "<table align=\"justify\"><tbody><tr><td>foo</td><td style=\"text-align:justify\">bar</td><td>baz</td></tr></tbody></table><p>extra</p>"
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table align=justify><tbody><tr><td>foo<td>b[a]r<td>baz</table><p>extra" queryCommandIndeterm("stylewithcss") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table align=justify><tbody><tr><td>foo<td>b[a]r<td>baz</table><p>extra" queryCommandState("stylewithcss") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table align=justify><tbody><tr><td>foo<td>b[a]r<td>baz</table><p>extra" queryCommandValue("stylewithcss") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table align=justify><tbody><tr><td>foo<td>b[a]r<td>baz</table><p>extra" queryCommandIndeterm("stylewithcss") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table align=justify><tbody><tr><td>foo<td>b[a]r<td>baz</table><p>extra" queryCommandState("stylewithcss") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table align=justify><tbody><tr><td>foo<td>b[a]r<td>baz</table><p>extra" queryCommandValue("stylewithcss") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table align=justify><tbody><tr><td>foo<td>b[a]r<td>baz</table><p>extra" queryCommandIndeterm("defaultparagraphseparator") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table align=justify><tbody><tr><td>foo<td>b[a]r<td>baz</table><p>extra" queryCommandState("defaultparagraphseparator") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table align=justify><tbody><tr><td>foo<td>b[a]r<td>baz</table><p>extra" queryCommandValue("defaultparagraphseparator") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table align=justify><tbody><tr><td>foo<td>b[a]r<td>baz</table><p>extra" queryCommandIndeterm("defaultparagraphseparator") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table align=justify><tbody><tr><td>foo<td>b[a]r<td>baz</table><p>extra" queryCommandState("defaultparagraphseparator") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table align=justify><tbody><tr><td>foo<td>b[a]r<td>baz</table><p>extra" queryCommandValue("defaultparagraphseparator") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table align=justify><tbody><tr><td>foo<td>b[a]r<td>baz</table><p>extra" queryCommandIndeterm("justifyfull") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table align=justify><tbody><tr><td>foo<td>b[a]r<td>baz</table><p>extra" queryCommandState("justifyfull") before 
+FAIL [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table align=justify><tbody><tr><td>foo<td>b[a]r<td>baz</table><p>extra" queryCommandValue("justifyfull") before assert_equals: Wrong result returned expected "left" but got "false"
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table align=justify><tbody><tr><td>foo<td>b[a]r<td>baz</table><p>extra" queryCommandIndeterm("justifyfull") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table align=justify><tbody><tr><td>foo<td>b[a]r<td>baz</table><p>extra" queryCommandState("justifyfull") after 
+FAIL [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table align=justify><tbody><tr><td>foo<td>b[a]r<td>baz</table><p>extra" queryCommandValue("justifyfull") after assert_equals: Wrong result returned expected "justify" but got "true"
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table align=justify><tbody><tr><td>foo<td>b[a]r<td>baz</table><p>extra": execCommand("stylewithcss", false, "true") return value 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table align=justify><tbody><tr><td>foo<td>b[a]r<td>baz</table><p>extra": execCommand("defaultparagraphseparator", false, "p") return value 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table align=justify><tbody><tr><td>foo<td>b[a]r<td>baz</table><p>extra": execCommand("justifyfull", false, "") return value 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table align=justify><tbody><tr><td>foo<td>b[a]r<td>baz</table><p>extra" checks for modifications to non-editable content 
+FAIL [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table align=justify><tbody><tr><td>foo<td>b[a]r<td>baz</table><p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<table align=\"justify\"><tbody><tr><td>foo</td><td><div style=\"text-align:justify\">bar</div></td><td>baz</td></tr></tbody></table><p>extra</p>" but got "<table align=\"justify\"><tbody><tr><td>foo</td><td style=\"text-align:justify\">bar</td><td>baz</td></tr></tbody></table><p>extra</p>"
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table align=justify><tbody><tr><td>foo<td>b[a]r<td>baz</table><p>extra" queryCommandIndeterm("stylewithcss") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table align=justify><tbody><tr><td>foo<td>b[a]r<td>baz</table><p>extra" queryCommandState("stylewithcss") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table align=justify><tbody><tr><td>foo<td>b[a]r<td>baz</table><p>extra" queryCommandValue("stylewithcss") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table align=justify><tbody><tr><td>foo<td>b[a]r<td>baz</table><p>extra" queryCommandIndeterm("stylewithcss") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table align=justify><tbody><tr><td>foo<td>b[a]r<td>baz</table><p>extra" queryCommandState("stylewithcss") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table align=justify><tbody><tr><td>foo<td>b[a]r<td>baz</table><p>extra" queryCommandValue("stylewithcss") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table align=justify><tbody><tr><td>foo<td>b[a]r<td>baz</table><p>extra" queryCommandIndeterm("defaultparagraphseparator") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table align=justify><tbody><tr><td>foo<td>b[a]r<td>baz</table><p>extra" queryCommandState("defaultparagraphseparator") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table align=justify><tbody><tr><td>foo<td>b[a]r<td>baz</table><p>extra" queryCommandValue("defaultparagraphseparator") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table align=justify><tbody><tr><td>foo<td>b[a]r<td>baz</table><p>extra" queryCommandIndeterm("defaultparagraphseparator") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table align=justify><tbody><tr><td>foo<td>b[a]r<td>baz</table><p>extra" queryCommandState("defaultparagraphseparator") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table align=justify><tbody><tr><td>foo<td>b[a]r<td>baz</table><p>extra" queryCommandValue("defaultparagraphseparator") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table align=justify><tbody><tr><td>foo<td>b[a]r<td>baz</table><p>extra" queryCommandIndeterm("justifyfull") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table align=justify><tbody><tr><td>foo<td>b[a]r<td>baz</table><p>extra" queryCommandState("justifyfull") before 
+FAIL [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table align=justify><tbody><tr><td>foo<td>b[a]r<td>baz</table><p>extra" queryCommandValue("justifyfull") before assert_equals: Wrong result returned expected "left" but got "false"
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table align=justify><tbody><tr><td>foo<td>b[a]r<td>baz</table><p>extra" queryCommandIndeterm("justifyfull") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table align=justify><tbody><tr><td>foo<td>b[a]r<td>baz</table><p>extra" queryCommandState("justifyfull") after 
+FAIL [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table align=justify><tbody><tr><td>foo<td>b[a]r<td>baz</table><p>extra" queryCommandValue("justifyfull") after assert_equals: Wrong result returned expected "justify" but got "true"
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table align=justify><tbody><tr><td>foo<td>b[a]r<td>baz</table><p>extra": execCommand("stylewithcss", false, "false") return value 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table align=justify><tbody><tr><td>foo<td>b[a]r<td>baz</table><p>extra": execCommand("defaultparagraphseparator", false, "p") return value 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table align=justify><tbody><tr><td>foo<td>b[a]r<td>baz</table><p>extra": execCommand("justifyfull", false, "") return value 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table align=justify><tbody><tr><td>foo<td>b[a]r<td>baz</table><p>extra" checks for modifications to non-editable content 
+FAIL [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table align=justify><tbody><tr><td>foo<td>b[a]r<td>baz</table><p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<table align=\"justify\"><tbody><tr><td>foo</td><td><div style=\"text-align:justify\">bar</div></td><td>baz</td></tr></tbody></table><p>extra</p>" but got "<table align=\"justify\"><tbody><tr><td>foo</td><td style=\"text-align:justify\">bar</td><td>baz</td></tr></tbody></table><p>extra</p>"
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table align=justify><tbody><tr><td>foo<td>b[a]r<td>baz</table><p>extra" queryCommandIndeterm("stylewithcss") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table align=justify><tbody><tr><td>foo<td>b[a]r<td>baz</table><p>extra" queryCommandState("stylewithcss") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table align=justify><tbody><tr><td>foo<td>b[a]r<td>baz</table><p>extra" queryCommandValue("stylewithcss") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table align=justify><tbody><tr><td>foo<td>b[a]r<td>baz</table><p>extra" queryCommandIndeterm("stylewithcss") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table align=justify><tbody><tr><td>foo<td>b[a]r<td>baz</table><p>extra" queryCommandState("stylewithcss") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table align=justify><tbody><tr><td>foo<td>b[a]r<td>baz</table><p>extra" queryCommandValue("stylewithcss") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table align=justify><tbody><tr><td>foo<td>b[a]r<td>baz</table><p>extra" queryCommandIndeterm("defaultparagraphseparator") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table align=justify><tbody><tr><td>foo<td>b[a]r<td>baz</table><p>extra" queryCommandState("defaultparagraphseparator") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table align=justify><tbody><tr><td>foo<td>b[a]r<td>baz</table><p>extra" queryCommandValue("defaultparagraphseparator") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table align=justify><tbody><tr><td>foo<td>b[a]r<td>baz</table><p>extra" queryCommandIndeterm("defaultparagraphseparator") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table align=justify><tbody><tr><td>foo<td>b[a]r<td>baz</table><p>extra" queryCommandState("defaultparagraphseparator") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table align=justify><tbody><tr><td>foo<td>b[a]r<td>baz</table><p>extra" queryCommandValue("defaultparagraphseparator") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table align=justify><tbody><tr><td>foo<td>b[a]r<td>baz</table><p>extra" queryCommandIndeterm("justifyfull") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table align=justify><tbody><tr><td>foo<td>b[a]r<td>baz</table><p>extra" queryCommandState("justifyfull") before 
+FAIL [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table align=justify><tbody><tr><td>foo<td>b[a]r<td>baz</table><p>extra" queryCommandValue("justifyfull") before assert_equals: Wrong result returned expected "left" but got "false"
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table align=justify><tbody><tr><td>foo<td>b[a]r<td>baz</table><p>extra" queryCommandIndeterm("justifyfull") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table align=justify><tbody><tr><td>foo<td>b[a]r<td>baz</table><p>extra" queryCommandState("justifyfull") after 
+FAIL [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table align=justify><tbody><tr><td>foo<td>b[a]r<td>baz</table><p>extra" queryCommandValue("justifyfull") after assert_equals: Wrong result returned expected "justify" but got "true"
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table align=justify><tbody><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table><p>extra": execCommand("stylewithcss", false, "true") return value 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table align=justify><tbody><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table><p>extra": execCommand("defaultparagraphseparator", false, "div") return value 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table align=justify><tbody><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table><p>extra": execCommand("justifyfull", false, "") return value 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table align=justify><tbody><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table><p>extra" checks for modifications to non-editable content 
+FAIL [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table align=justify><tbody><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table><p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<table align=\"justify\"><tbody><tr><td>foo</td><td><div style=\"text-align:justify\">bar</div></td><td>baz</td></tr></tbody></table><p>extra</p>" but got "<table align=\"justify\"><tbody><tr><td>foo</td><td style=\"text-align:justify\">bar</td><td style=\"text-align:justify\">baz</td></tr></tbody></table><p>extra</p>"
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table align=justify><tbody><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("stylewithcss") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table align=justify><tbody><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("stylewithcss") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table align=justify><tbody><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("stylewithcss") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table align=justify><tbody><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("stylewithcss") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table align=justify><tbody><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("stylewithcss") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table align=justify><tbody><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("stylewithcss") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table align=justify><tbody><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("defaultparagraphseparator") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table align=justify><tbody><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("defaultparagraphseparator") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table align=justify><tbody><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("defaultparagraphseparator") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table align=justify><tbody><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("defaultparagraphseparator") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table align=justify><tbody><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("defaultparagraphseparator") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table align=justify><tbody><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("defaultparagraphseparator") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table align=justify><tbody><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("justifyfull") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table align=justify><tbody><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("justifyfull") before 
+FAIL [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table align=justify><tbody><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("justifyfull") before assert_equals: Wrong result returned expected "left" but got "false"
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table align=justify><tbody><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("justifyfull") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table align=justify><tbody><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("justifyfull") after 
+FAIL [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table align=justify><tbody><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("justifyfull") after assert_equals: Wrong result returned expected "justify" but got "true"
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table align=justify><tbody><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table><p>extra": execCommand("stylewithcss", false, "false") return value 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table align=justify><tbody><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table><p>extra": execCommand("defaultparagraphseparator", false, "div") return value 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table align=justify><tbody><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table><p>extra": execCommand("justifyfull", false, "") return value 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table align=justify><tbody><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table><p>extra" checks for modifications to non-editable content 
+FAIL [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table align=justify><tbody><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table><p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<table align=\"justify\"><tbody><tr><td>foo</td><td><div style=\"text-align:justify\">bar</div></td><td>baz</td></tr></tbody></table><p>extra</p>" but got "<table align=\"justify\"><tbody><tr><td>foo</td><td style=\"text-align:justify\">bar</td><td style=\"text-align:justify\">baz</td></tr></tbody></table><p>extra</p>"
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table align=justify><tbody><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("stylewithcss") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table align=justify><tbody><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("stylewithcss") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table align=justify><tbody><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("stylewithcss") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table align=justify><tbody><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("stylewithcss") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table align=justify><tbody><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("stylewithcss") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table align=justify><tbody><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("stylewithcss") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table align=justify><tbody><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("defaultparagraphseparator") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table align=justify><tbody><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("defaultparagraphseparator") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table align=justify><tbody><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("defaultparagraphseparator") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table align=justify><tbody><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("defaultparagraphseparator") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table align=justify><tbody><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("defaultparagraphseparator") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table align=justify><tbody><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("defaultparagraphseparator") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table align=justify><tbody><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("justifyfull") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table align=justify><tbody><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("justifyfull") before 
+FAIL [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table align=justify><tbody><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("justifyfull") before assert_equals: Wrong result returned expected "left" but got "false"
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table align=justify><tbody><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("justifyfull") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table align=justify><tbody><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("justifyfull") after 
+FAIL [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table align=justify><tbody><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("justifyfull") after assert_equals: Wrong result returned expected "justify" but got "true"
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table align=justify><tbody><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table><p>extra": execCommand("stylewithcss", false, "true") return value 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table align=justify><tbody><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table><p>extra": execCommand("defaultparagraphseparator", false, "p") return value 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table align=justify><tbody><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table><p>extra": execCommand("justifyfull", false, "") return value 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table align=justify><tbody><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table><p>extra" checks for modifications to non-editable content 
+FAIL [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table align=justify><tbody><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table><p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<table align=\"justify\"><tbody><tr><td>foo</td><td><div style=\"text-align:justify\">bar</div></td><td>baz</td></tr></tbody></table><p>extra</p>" but got "<table align=\"justify\"><tbody><tr><td>foo</td><td style=\"text-align:justify\">bar</td><td style=\"text-align:justify\">baz</td></tr></tbody></table><p>extra</p>"
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table align=justify><tbody><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("stylewithcss") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table align=justify><tbody><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("stylewithcss") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table align=justify><tbody><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("stylewithcss") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table align=justify><tbody><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("stylewithcss") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table align=justify><tbody><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("stylewithcss") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table align=justify><tbody><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("stylewithcss") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table align=justify><tbody><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("defaultparagraphseparator") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table align=justify><tbody><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("defaultparagraphseparator") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table align=justify><tbody><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("defaultparagraphseparator") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table align=justify><tbody><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("defaultparagraphseparator") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table align=justify><tbody><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("defaultparagraphseparator") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table align=justify><tbody><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("defaultparagraphseparator") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table align=justify><tbody><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("justifyfull") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table align=justify><tbody><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("justifyfull") before 
+FAIL [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table align=justify><tbody><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("justifyfull") before assert_equals: Wrong result returned expected "left" but got "false"
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table align=justify><tbody><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("justifyfull") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table align=justify><tbody><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("justifyfull") after 
+FAIL [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table align=justify><tbody><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("justifyfull") after assert_equals: Wrong result returned expected "justify" but got "true"
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table align=justify><tbody><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table><p>extra": execCommand("stylewithcss", false, "false") return value 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table align=justify><tbody><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table><p>extra": execCommand("defaultparagraphseparator", false, "p") return value 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table align=justify><tbody><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table><p>extra": execCommand("justifyfull", false, "") return value 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table align=justify><tbody><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table><p>extra" checks for modifications to non-editable content 
+FAIL [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table align=justify><tbody><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table><p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<table align=\"justify\"><tbody><tr><td>foo</td><td><div style=\"text-align:justify\">bar</div></td><td>baz</td></tr></tbody></table><p>extra</p>" but got "<table align=\"justify\"><tbody><tr><td>foo</td><td style=\"text-align:justify\">bar</td><td style=\"text-align:justify\">baz</td></tr></tbody></table><p>extra</p>"
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table align=justify><tbody><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("stylewithcss") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table align=justify><tbody><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("stylewithcss") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table align=justify><tbody><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("stylewithcss") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table align=justify><tbody><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("stylewithcss") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table align=justify><tbody><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("stylewithcss") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table align=justify><tbody><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("stylewithcss") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table align=justify><tbody><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("defaultparagraphseparator") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table align=justify><tbody><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("defaultparagraphseparator") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table align=justify><tbody><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("defaultparagraphseparator") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table align=justify><tbody><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("defaultparagraphseparator") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table align=justify><tbody><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("defaultparagraphseparator") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table align=justify><tbody><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("defaultparagraphseparator") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table align=justify><tbody><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("justifyfull") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table align=justify><tbody><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("justifyfull") before 
+FAIL [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table align=justify><tbody><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("justifyfull") before assert_equals: Wrong result returned expected "left" but got "false"
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table align=justify><tbody><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("justifyfull") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table align=justify><tbody><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("justifyfull") after 
+FAIL [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table align=justify><tbody><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("justifyfull") after assert_equals: Wrong result returned expected "justify" but got "true"
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table align=justify><tbody><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table><p>extra": execCommand("stylewithcss", false, "true") return value 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table align=justify><tbody><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table><p>extra": execCommand("defaultparagraphseparator", false, "div") return value 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table align=justify><tbody><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table><p>extra": execCommand("justifyfull", false, "") return value 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table align=justify><tbody><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table><p>extra" checks for modifications to non-editable content 
+FAIL [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table align=justify><tbody><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table><p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<table align=\"justify\"><tbody><tr><td><div style=\"text-align:justify\">foo</div></td><td><div style=\"text-align:justify\">bar</div></td><td>baz</td></tr></tbody></table><p>extra</p>" but got "<table align=\"justify\"><tbody><tr><td style=\"text-align:justify\">foo</td><td style=\"text-align:justify\">bar</td><td style=\"text-align:justify\">baz</td></tr></tbody></table><p>extra</p>"
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table align=justify><tbody><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("stylewithcss") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table align=justify><tbody><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("stylewithcss") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table align=justify><tbody><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("stylewithcss") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table align=justify><tbody><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("stylewithcss") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table align=justify><tbody><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("stylewithcss") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table align=justify><tbody><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("stylewithcss") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table align=justify><tbody><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("defaultparagraphseparator") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table align=justify><tbody><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("defaultparagraphseparator") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table align=justify><tbody><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("defaultparagraphseparator") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table align=justify><tbody><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("defaultparagraphseparator") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table align=justify><tbody><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("defaultparagraphseparator") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table align=justify><tbody><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("defaultparagraphseparator") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table align=justify><tbody><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("justifyfull") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table align=justify><tbody><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("justifyfull") before 
+FAIL [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table align=justify><tbody><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("justifyfull") before assert_equals: Wrong result returned expected "left" but got "false"
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table align=justify><tbody><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("justifyfull") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table align=justify><tbody><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("justifyfull") after 
+FAIL [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table align=justify><tbody><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("justifyfull") after assert_equals: Wrong result returned expected "justify" but got "true"
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table align=justify><tbody><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table><p>extra": execCommand("stylewithcss", false, "false") return value 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table align=justify><tbody><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table><p>extra": execCommand("defaultparagraphseparator", false, "div") return value 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table align=justify><tbody><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table><p>extra": execCommand("justifyfull", false, "") return value 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table align=justify><tbody><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table><p>extra" checks for modifications to non-editable content 
+FAIL [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table align=justify><tbody><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table><p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<table align=\"justify\"><tbody><tr><td><div style=\"text-align:justify\">foo</div></td><td><div style=\"text-align:justify\">bar</div></td><td>baz</td></tr></tbody></table><p>extra</p>" but got "<table align=\"justify\"><tbody><tr><td style=\"text-align:justify\">foo</td><td style=\"text-align:justify\">bar</td><td style=\"text-align:justify\">baz</td></tr></tbody></table><p>extra</p>"
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table align=justify><tbody><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("stylewithcss") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table align=justify><tbody><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("stylewithcss") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table align=justify><tbody><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("stylewithcss") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table align=justify><tbody><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("stylewithcss") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table align=justify><tbody><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("stylewithcss") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table align=justify><tbody><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("stylewithcss") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table align=justify><tbody><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("defaultparagraphseparator") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table align=justify><tbody><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("defaultparagraphseparator") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table align=justify><tbody><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("defaultparagraphseparator") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table align=justify><tbody><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("defaultparagraphseparator") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table align=justify><tbody><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("defaultparagraphseparator") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table align=justify><tbody><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("defaultparagraphseparator") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table align=justify><tbody><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("justifyfull") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table align=justify><tbody><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("justifyfull") before 
+FAIL [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table align=justify><tbody><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("justifyfull") before assert_equals: Wrong result returned expected "left" but got "false"
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table align=justify><tbody><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("justifyfull") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table align=justify><tbody><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("justifyfull") after 
+FAIL [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table align=justify><tbody><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("justifyfull") after assert_equals: Wrong result returned expected "justify" but got "true"
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table align=justify><tbody><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table><p>extra": execCommand("stylewithcss", false, "true") return value 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table align=justify><tbody><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table><p>extra": execCommand("defaultparagraphseparator", false, "p") return value 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table align=justify><tbody><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table><p>extra": execCommand("justifyfull", false, "") return value 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table align=justify><tbody><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table><p>extra" checks for modifications to non-editable content 
+FAIL [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table align=justify><tbody><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table><p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<table align=\"justify\"><tbody><tr><td><div style=\"text-align:justify\">foo</div></td><td><div style=\"text-align:justify\">bar</div></td><td>baz</td></tr></tbody></table><p>extra</p>" but got "<table align=\"justify\"><tbody><tr><td style=\"text-align:justify\">foo</td><td style=\"text-align:justify\">bar</td><td style=\"text-align:justify\">baz</td></tr></tbody></table><p>extra</p>"
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table align=justify><tbody><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("stylewithcss") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table align=justify><tbody><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("stylewithcss") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table align=justify><tbody><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("stylewithcss") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table align=justify><tbody><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("stylewithcss") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table align=justify><tbody><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("stylewithcss") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table align=justify><tbody><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("stylewithcss") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table align=justify><tbody><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("defaultparagraphseparator") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table align=justify><tbody><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("defaultparagraphseparator") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table align=justify><tbody><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("defaultparagraphseparator") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table align=justify><tbody><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("defaultparagraphseparator") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table align=justify><tbody><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("defaultparagraphseparator") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table align=justify><tbody><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("defaultparagraphseparator") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table align=justify><tbody><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("justifyfull") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table align=justify><tbody><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("justifyfull") before 
+FAIL [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table align=justify><tbody><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("justifyfull") before assert_equals: Wrong result returned expected "left" but got "false"
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table align=justify><tbody><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("justifyfull") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table align=justify><tbody><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("justifyfull") after 
+FAIL [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table align=justify><tbody><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("justifyfull") after assert_equals: Wrong result returned expected "justify" but got "true"
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table align=justify><tbody><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table><p>extra": execCommand("stylewithcss", false, "false") return value 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table align=justify><tbody><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table><p>extra": execCommand("defaultparagraphseparator", false, "p") return value 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table align=justify><tbody><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table><p>extra": execCommand("justifyfull", false, "") return value 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table align=justify><tbody><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table><p>extra" checks for modifications to non-editable content 
+FAIL [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table align=justify><tbody><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table><p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<table align=\"justify\"><tbody><tr><td><div style=\"text-align:justify\">foo</div></td><td><div style=\"text-align:justify\">bar</div></td><td>baz</td></tr></tbody></table><p>extra</p>" but got "<table align=\"justify\"><tbody><tr><td style=\"text-align:justify\">foo</td><td style=\"text-align:justify\">bar</td><td style=\"text-align:justify\">baz</td></tr></tbody></table><p>extra</p>"
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table align=justify><tbody><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("stylewithcss") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table align=justify><tbody><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("stylewithcss") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table align=justify><tbody><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("stylewithcss") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table align=justify><tbody><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("stylewithcss") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table align=justify><tbody><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("stylewithcss") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table align=justify><tbody><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("stylewithcss") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table align=justify><tbody><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("defaultparagraphseparator") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table align=justify><tbody><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("defaultparagraphseparator") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table align=justify><tbody><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("defaultparagraphseparator") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table align=justify><tbody><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("defaultparagraphseparator") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table align=justify><tbody><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("defaultparagraphseparator") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table align=justify><tbody><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("defaultparagraphseparator") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table align=justify><tbody><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("justifyfull") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table align=justify><tbody><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("justifyfull") before 
+FAIL [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table align=justify><tbody><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("justifyfull") before assert_equals: Wrong result returned expected "left" but got "false"
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table align=justify><tbody><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("justifyfull") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table align=justify><tbody><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("justifyfull") after 
+FAIL [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table align=justify><tbody><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("justifyfull") after assert_equals: Wrong result returned expected "justify" but got "true"
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table align=justify><tbody data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra": execCommand("stylewithcss", false, "true") return value 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table align=justify><tbody data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra": execCommand("defaultparagraphseparator", false, "div") return value 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table align=justify><tbody data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra": execCommand("justifyfull", false, "") return value 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table align=justify><tbody data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" checks for modifications to non-editable content 
+FAIL [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table align=justify><tbody data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<div style=\"text-align:justify\"><table><tbody><tr><td>foo</td><td>bar</td><td>baz</td></tr></tbody></table></div><p>extra</p>" but got "<table align=\"justify\" style=\"text-align:justify\"><tbody><tr><td style=\"text-align:justify\">foo</td><td style=\"text-align:justify\">bar</td><td style=\"text-align:justify\">baz</td></tr></tbody></table><p>extra</p>"
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table align=justify><tbody data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("stylewithcss") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table align=justify><tbody data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("stylewithcss") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table align=justify><tbody data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("stylewithcss") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table align=justify><tbody data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("stylewithcss") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table align=justify><tbody data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("stylewithcss") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table align=justify><tbody data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("stylewithcss") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table align=justify><tbody data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("defaultparagraphseparator") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table align=justify><tbody data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("defaultparagraphseparator") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table align=justify><tbody data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("defaultparagraphseparator") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table align=justify><tbody data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("defaultparagraphseparator") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table align=justify><tbody data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("defaultparagraphseparator") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table align=justify><tbody data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("defaultparagraphseparator") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table align=justify><tbody data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("justifyfull") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table align=justify><tbody data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("justifyfull") before 
+FAIL [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table align=justify><tbody data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("justifyfull") before assert_equals: Wrong result returned expected "left" but got "false"
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table align=justify><tbody data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("justifyfull") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table align=justify><tbody data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("justifyfull") after 
+FAIL [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table align=justify><tbody data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("justifyfull") after assert_equals: Wrong result returned expected "justify" but got "true"
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table align=justify><tbody data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra": execCommand("stylewithcss", false, "false") return value 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table align=justify><tbody data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra": execCommand("defaultparagraphseparator", false, "div") return value 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table align=justify><tbody data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra": execCommand("justifyfull", false, "") return value 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table align=justify><tbody data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" checks for modifications to non-editable content 
+FAIL [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table align=justify><tbody data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<div style=\"text-align:justify\"><table><tbody><tr><td>foo</td><td>bar</td><td>baz</td></tr></tbody></table></div><p>extra</p>" but got "<table align=\"justify\" style=\"text-align:justify\"><tbody><tr><td style=\"text-align:justify\">foo</td><td style=\"text-align:justify\">bar</td><td style=\"text-align:justify\">baz</td></tr></tbody></table><p>extra</p>"
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table align=justify><tbody data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("stylewithcss") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table align=justify><tbody data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("stylewithcss") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table align=justify><tbody data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("stylewithcss") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table align=justify><tbody data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("stylewithcss") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table align=justify><tbody data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("stylewithcss") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table align=justify><tbody data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("stylewithcss") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table align=justify><tbody data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("defaultparagraphseparator") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table align=justify><tbody data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("defaultparagraphseparator") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table align=justify><tbody data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("defaultparagraphseparator") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table align=justify><tbody data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("defaultparagraphseparator") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table align=justify><tbody data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("defaultparagraphseparator") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table align=justify><tbody data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("defaultparagraphseparator") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table align=justify><tbody data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("justifyfull") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table align=justify><tbody data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("justifyfull") before 
+FAIL [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table align=justify><tbody data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("justifyfull") before assert_equals: Wrong result returned expected "left" but got "false"
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table align=justify><tbody data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("justifyfull") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table align=justify><tbody data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("justifyfull") after 
+FAIL [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table align=justify><tbody data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("justifyfull") after assert_equals: Wrong result returned expected "justify" but got "true"
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table align=justify><tbody data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra": execCommand("stylewithcss", false, "true") return value 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table align=justify><tbody data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra": execCommand("defaultparagraphseparator", false, "p") return value 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table align=justify><tbody data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra": execCommand("justifyfull", false, "") return value 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table align=justify><tbody data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" checks for modifications to non-editable content 
+FAIL [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table align=justify><tbody data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<div style=\"text-align:justify\"><table><tbody><tr><td>foo</td><td>bar</td><td>baz</td></tr></tbody></table></div><p>extra</p>" but got "<table align=\"justify\" style=\"text-align:justify\"><tbody><tr><td style=\"text-align:justify\">foo</td><td style=\"text-align:justify\">bar</td><td style=\"text-align:justify\">baz</td></tr></tbody></table><p>extra</p>"
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table align=justify><tbody data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("stylewithcss") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table align=justify><tbody data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("stylewithcss") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table align=justify><tbody data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("stylewithcss") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table align=justify><tbody data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("stylewithcss") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table align=justify><tbody data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("stylewithcss") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table align=justify><tbody data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("stylewithcss") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table align=justify><tbody data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("defaultparagraphseparator") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table align=justify><tbody data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("defaultparagraphseparator") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table align=justify><tbody data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("defaultparagraphseparator") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table align=justify><tbody data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("defaultparagraphseparator") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table align=justify><tbody data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("defaultparagraphseparator") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table align=justify><tbody data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("defaultparagraphseparator") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table align=justify><tbody data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("justifyfull") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table align=justify><tbody data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("justifyfull") before 
+FAIL [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table align=justify><tbody data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("justifyfull") before assert_equals: Wrong result returned expected "left" but got "false"
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table align=justify><tbody data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("justifyfull") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table align=justify><tbody data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("justifyfull") after 
+FAIL [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table align=justify><tbody data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("justifyfull") after assert_equals: Wrong result returned expected "justify" but got "true"
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table align=justify><tbody data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra": execCommand("stylewithcss", false, "false") return value 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table align=justify><tbody data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra": execCommand("defaultparagraphseparator", false, "p") return value 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table align=justify><tbody data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra": execCommand("justifyfull", false, "") return value 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table align=justify><tbody data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" checks for modifications to non-editable content 
+FAIL [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table align=justify><tbody data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<div style=\"text-align:justify\"><table><tbody><tr><td>foo</td><td>bar</td><td>baz</td></tr></tbody></table></div><p>extra</p>" but got "<table align=\"justify\" style=\"text-align:justify\"><tbody><tr><td style=\"text-align:justify\">foo</td><td style=\"text-align:justify\">bar</td><td style=\"text-align:justify\">baz</td></tr></tbody></table><p>extra</p>"
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table align=justify><tbody data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("stylewithcss") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table align=justify><tbody data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("stylewithcss") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table align=justify><tbody data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("stylewithcss") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table align=justify><tbody data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("stylewithcss") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table align=justify><tbody data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("stylewithcss") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table align=justify><tbody data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("stylewithcss") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table align=justify><tbody data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("defaultparagraphseparator") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table align=justify><tbody data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("defaultparagraphseparator") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table align=justify><tbody data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("defaultparagraphseparator") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table align=justify><tbody data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("defaultparagraphseparator") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table align=justify><tbody data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("defaultparagraphseparator") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table align=justify><tbody data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("defaultparagraphseparator") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table align=justify><tbody data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("justifyfull") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table align=justify><tbody data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("justifyfull") before 
+FAIL [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table align=justify><tbody data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("justifyfull") before assert_equals: Wrong result returned expected "left" but got "false"
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table align=justify><tbody data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("justifyfull") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table align=justify><tbody data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("justifyfull") after 
+FAIL [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table align=justify><tbody data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("justifyfull") after assert_equals: Wrong result returned expected "justify" but got "true"
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table align=justify data-start=0 data-end=1><tbody><tr><td>foo<td>bar<td>baz</table><p>extra": execCommand("stylewithcss", false, "true") return value 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table align=justify data-start=0 data-end=1><tbody><tr><td>foo<td>bar<td>baz</table><p>extra": execCommand("defaultparagraphseparator", false, "div") return value 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table align=justify data-start=0 data-end=1><tbody><tr><td>foo<td>bar<td>baz</table><p>extra": execCommand("justifyfull", false, "") return value 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table align=justify data-start=0 data-end=1><tbody><tr><td>foo<td>bar<td>baz</table><p>extra" checks for modifications to non-editable content 
+FAIL [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table align=justify data-start=0 data-end=1><tbody><tr><td>foo<td>bar<td>baz</table><p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<div style=\"text-align:justify\"><table><tbody><tr><td>foo</td><td>bar</td><td>baz</td></tr></tbody></table></div><p>extra</p>" but got "<table align=\"justify\" style=\"text-align:justify\"><tbody><tr><td>foo</td><td>bar</td><td>baz</td></tr></tbody></table><p>extra</p>"
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table align=justify data-start=0 data-end=1><tbody><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("stylewithcss") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table align=justify data-start=0 data-end=1><tbody><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("stylewithcss") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table align=justify data-start=0 data-end=1><tbody><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("stylewithcss") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table align=justify data-start=0 data-end=1><tbody><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("stylewithcss") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table align=justify data-start=0 data-end=1><tbody><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("stylewithcss") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table align=justify data-start=0 data-end=1><tbody><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("stylewithcss") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table align=justify data-start=0 data-end=1><tbody><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("defaultparagraphseparator") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table align=justify data-start=0 data-end=1><tbody><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("defaultparagraphseparator") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table align=justify data-start=0 data-end=1><tbody><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("defaultparagraphseparator") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table align=justify data-start=0 data-end=1><tbody><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("defaultparagraphseparator") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table align=justify data-start=0 data-end=1><tbody><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("defaultparagraphseparator") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table align=justify data-start=0 data-end=1><tbody><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("defaultparagraphseparator") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table align=justify data-start=0 data-end=1><tbody><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("justifyfull") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table align=justify data-start=0 data-end=1><tbody><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("justifyfull") before 
+FAIL [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table align=justify data-start=0 data-end=1><tbody><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("justifyfull") before assert_equals: Wrong result returned expected "left" but got "false"
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table align=justify data-start=0 data-end=1><tbody><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("justifyfull") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table align=justify data-start=0 data-end=1><tbody><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("justifyfull") after 
+FAIL [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table align=justify data-start=0 data-end=1><tbody><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("justifyfull") after assert_equals: Wrong result returned expected "justify" but got "true"
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table align=justify data-start=0 data-end=1><tbody><tr><td>foo<td>bar<td>baz</table><p>extra": execCommand("stylewithcss", false, "false") return value 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table align=justify data-start=0 data-end=1><tbody><tr><td>foo<td>bar<td>baz</table><p>extra": execCommand("defaultparagraphseparator", false, "div") return value 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table align=justify data-start=0 data-end=1><tbody><tr><td>foo<td>bar<td>baz</table><p>extra": execCommand("justifyfull", false, "") return value 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table align=justify data-start=0 data-end=1><tbody><tr><td>foo<td>bar<td>baz</table><p>extra" checks for modifications to non-editable content 
+FAIL [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table align=justify data-start=0 data-end=1><tbody><tr><td>foo<td>bar<td>baz</table><p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<div style=\"text-align:justify\"><table><tbody><tr><td>foo</td><td>bar</td><td>baz</td></tr></tbody></table></div><p>extra</p>" but got "<table align=\"justify\" style=\"text-align:justify\"><tbody><tr><td>foo</td><td>bar</td><td>baz</td></tr></tbody></table><p>extra</p>"
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table align=justify data-start=0 data-end=1><tbody><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("stylewithcss") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table align=justify data-start=0 data-end=1><tbody><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("stylewithcss") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table align=justify data-start=0 data-end=1><tbody><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("stylewithcss") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table align=justify data-start=0 data-end=1><tbody><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("stylewithcss") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table align=justify data-start=0 data-end=1><tbody><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("stylewithcss") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table align=justify data-start=0 data-end=1><tbody><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("stylewithcss") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table align=justify data-start=0 data-end=1><tbody><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("defaultparagraphseparator") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table align=justify data-start=0 data-end=1><tbody><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("defaultparagraphseparator") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table align=justify data-start=0 data-end=1><tbody><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("defaultparagraphseparator") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table align=justify data-start=0 data-end=1><tbody><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("defaultparagraphseparator") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table align=justify data-start=0 data-end=1><tbody><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("defaultparagraphseparator") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table align=justify data-start=0 data-end=1><tbody><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("defaultparagraphseparator") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table align=justify data-start=0 data-end=1><tbody><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("justifyfull") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table align=justify data-start=0 data-end=1><tbody><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("justifyfull") before 
+FAIL [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table align=justify data-start=0 data-end=1><tbody><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("justifyfull") before assert_equals: Wrong result returned expected "left" but got "false"
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table align=justify data-start=0 data-end=1><tbody><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("justifyfull") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table align=justify data-start=0 data-end=1><tbody><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("justifyfull") after 
+FAIL [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table align=justify data-start=0 data-end=1><tbody><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("justifyfull") after assert_equals: Wrong result returned expected "justify" but got "true"
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table align=justify data-start=0 data-end=1><tbody><tr><td>foo<td>bar<td>baz</table><p>extra": execCommand("stylewithcss", false, "true") return value 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table align=justify data-start=0 data-end=1><tbody><tr><td>foo<td>bar<td>baz</table><p>extra": execCommand("defaultparagraphseparator", false, "p") return value 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table align=justify data-start=0 data-end=1><tbody><tr><td>foo<td>bar<td>baz</table><p>extra": execCommand("justifyfull", false, "") return value 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table align=justify data-start=0 data-end=1><tbody><tr><td>foo<td>bar<td>baz</table><p>extra" checks for modifications to non-editable content 
+FAIL [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table align=justify data-start=0 data-end=1><tbody><tr><td>foo<td>bar<td>baz</table><p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<div style=\"text-align:justify\"><table><tbody><tr><td>foo</td><td>bar</td><td>baz</td></tr></tbody></table></div><p>extra</p>" but got "<table align=\"justify\" style=\"text-align:justify\"><tbody><tr><td>foo</td><td>bar</td><td>baz</td></tr></tbody></table><p>extra</p>"
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table align=justify data-start=0 data-end=1><tbody><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("stylewithcss") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table align=justify data-start=0 data-end=1><tbody><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("stylewithcss") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table align=justify data-start=0 data-end=1><tbody><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("stylewithcss") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table align=justify data-start=0 data-end=1><tbody><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("stylewithcss") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table align=justify data-start=0 data-end=1><tbody><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("stylewithcss") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table align=justify data-start=0 data-end=1><tbody><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("stylewithcss") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table align=justify data-start=0 data-end=1><tbody><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("defaultparagraphseparator") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table align=justify data-start=0 data-end=1><tbody><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("defaultparagraphseparator") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table align=justify data-start=0 data-end=1><tbody><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("defaultparagraphseparator") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table align=justify data-start=0 data-end=1><tbody><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("defaultparagraphseparator") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table align=justify data-start=0 data-end=1><tbody><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("defaultparagraphseparator") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table align=justify data-start=0 data-end=1><tbody><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("defaultparagraphseparator") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table align=justify data-start=0 data-end=1><tbody><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("justifyfull") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table align=justify data-start=0 data-end=1><tbody><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("justifyfull") before 
+FAIL [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table align=justify data-start=0 data-end=1><tbody><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("justifyfull") before assert_equals: Wrong result returned expected "left" but got "false"
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table align=justify data-start=0 data-end=1><tbody><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("justifyfull") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table align=justify data-start=0 data-end=1><tbody><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("justifyfull") after 
+FAIL [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table align=justify data-start=0 data-end=1><tbody><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("justifyfull") after assert_equals: Wrong result returned expected "justify" but got "true"
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table align=justify data-start=0 data-end=1><tbody><tr><td>foo<td>bar<td>baz</table><p>extra": execCommand("stylewithcss", false, "false") return value 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table align=justify data-start=0 data-end=1><tbody><tr><td>foo<td>bar<td>baz</table><p>extra": execCommand("defaultparagraphseparator", false, "p") return value 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table align=justify data-start=0 data-end=1><tbody><tr><td>foo<td>bar<td>baz</table><p>extra": execCommand("justifyfull", false, "") return value 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table align=justify data-start=0 data-end=1><tbody><tr><td>foo<td>bar<td>baz</table><p>extra" checks for modifications to non-editable content 
+FAIL [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table align=justify data-start=0 data-end=1><tbody><tr><td>foo<td>bar<td>baz</table><p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<div style=\"text-align:justify\"><table><tbody><tr><td>foo</td><td>bar</td><td>baz</td></tr></tbody></table></div><p>extra</p>" but got "<table align=\"justify\" style=\"text-align:justify\"><tbody><tr><td>foo</td><td>bar</td><td>baz</td></tr></tbody></table><p>extra</p>"
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table align=justify data-start=0 data-end=1><tbody><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("stylewithcss") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table align=justify data-start=0 data-end=1><tbody><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("stylewithcss") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table align=justify data-start=0 data-end=1><tbody><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("stylewithcss") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table align=justify data-start=0 data-end=1><tbody><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("stylewithcss") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table align=justify data-start=0 data-end=1><tbody><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("stylewithcss") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table align=justify data-start=0 data-end=1><tbody><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("stylewithcss") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table align=justify data-start=0 data-end=1><tbody><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("defaultparagraphseparator") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table align=justify data-start=0 data-end=1><tbody><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("defaultparagraphseparator") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table align=justify data-start=0 data-end=1><tbody><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("defaultparagraphseparator") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table align=justify data-start=0 data-end=1><tbody><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("defaultparagraphseparator") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table align=justify data-start=0 data-end=1><tbody><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("defaultparagraphseparator") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table align=justify data-start=0 data-end=1><tbody><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("defaultparagraphseparator") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table align=justify data-start=0 data-end=1><tbody><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("justifyfull") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table align=justify data-start=0 data-end=1><tbody><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("justifyfull") before 
+FAIL [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table align=justify data-start=0 data-end=1><tbody><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("justifyfull") before assert_equals: Wrong result returned expected "left" but got "false"
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table align=justify data-start=0 data-end=1><tbody><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("justifyfull") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table align=justify data-start=0 data-end=1><tbody><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("justifyfull") after 
+FAIL [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table align=justify data-start=0 data-end=1><tbody><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("justifyfull") after assert_equals: Wrong result returned expected "justify" but got "true"
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "{<table align=justify><tr><td>foo<td>bar<td>baz</table>}<p>extra": execCommand("stylewithcss", false, "true") return value 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "{<table align=justify><tr><td>foo<td>bar<td>baz</table>}<p>extra": execCommand("defaultparagraphseparator", false, "div") return value 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "{<table align=justify><tr><td>foo<td>bar<td>baz</table>}<p>extra": execCommand("justifyfull", false, "") return value 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "{<table align=justify><tr><td>foo<td>bar<td>baz</table>}<p>extra" checks for modifications to non-editable content 
+FAIL [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "{<table align=justify><tr><td>foo<td>bar<td>baz</table>}<p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<div style=\"text-align:justify\"><table><tbody><tr><td>foo</td><td>bar</td><td>baz</td></tr></tbody></table></div><p>extra</p>" but got "<table align=\"justify\" style=\"text-align:justify\"><tbody><tr><td>foo</td><td>bar</td><td>baz</td></tr></tbody></table><p style=\"text-align:justify\">extra</p>"
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "{<table align=justify><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandIndeterm("stylewithcss") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "{<table align=justify><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandState("stylewithcss") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "{<table align=justify><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandValue("stylewithcss") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "{<table align=justify><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandIndeterm("stylewithcss") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "{<table align=justify><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandState("stylewithcss") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "{<table align=justify><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandValue("stylewithcss") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "{<table align=justify><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandIndeterm("defaultparagraphseparator") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "{<table align=justify><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandState("defaultparagraphseparator") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "{<table align=justify><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandValue("defaultparagraphseparator") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "{<table align=justify><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandIndeterm("defaultparagraphseparator") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "{<table align=justify><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandState("defaultparagraphseparator") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "{<table align=justify><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandValue("defaultparagraphseparator") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "{<table align=justify><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandIndeterm("justifyfull") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "{<table align=justify><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandState("justifyfull") before 
+FAIL [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "{<table align=justify><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandValue("justifyfull") before assert_equals: Wrong result returned expected "left" but got "false"
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "{<table align=justify><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandIndeterm("justifyfull") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "{<table align=justify><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandState("justifyfull") after 
+FAIL [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "{<table align=justify><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandValue("justifyfull") after assert_equals: Wrong result returned expected "justify" but got "true"
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "{<table align=justify><tr><td>foo<td>bar<td>baz</table>}<p>extra": execCommand("stylewithcss", false, "false") return value 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "{<table align=justify><tr><td>foo<td>bar<td>baz</table>}<p>extra": execCommand("defaultparagraphseparator", false, "div") return value 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "{<table align=justify><tr><td>foo<td>bar<td>baz</table>}<p>extra": execCommand("justifyfull", false, "") return value 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "{<table align=justify><tr><td>foo<td>bar<td>baz</table>}<p>extra" checks for modifications to non-editable content 
+FAIL [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "{<table align=justify><tr><td>foo<td>bar<td>baz</table>}<p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<div style=\"text-align:justify\"><table><tbody><tr><td>foo</td><td>bar</td><td>baz</td></tr></tbody></table></div><p>extra</p>" but got "<table align=\"justify\" style=\"text-align:justify\"><tbody><tr><td>foo</td><td>bar</td><td>baz</td></tr></tbody></table><p style=\"text-align:justify\">extra</p>"
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "{<table align=justify><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandIndeterm("stylewithcss") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "{<table align=justify><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandState("stylewithcss") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "{<table align=justify><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandValue("stylewithcss") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "{<table align=justify><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandIndeterm("stylewithcss") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "{<table align=justify><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandState("stylewithcss") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "{<table align=justify><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandValue("stylewithcss") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "{<table align=justify><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandIndeterm("defaultparagraphseparator") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "{<table align=justify><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandState("defaultparagraphseparator") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "{<table align=justify><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandValue("defaultparagraphseparator") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "{<table align=justify><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandIndeterm("defaultparagraphseparator") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "{<table align=justify><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandState("defaultparagraphseparator") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "{<table align=justify><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandValue("defaultparagraphseparator") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "{<table align=justify><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandIndeterm("justifyfull") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "{<table align=justify><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandState("justifyfull") before 
+FAIL [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "{<table align=justify><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandValue("justifyfull") before assert_equals: Wrong result returned expected "left" but got "false"
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "{<table align=justify><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandIndeterm("justifyfull") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "{<table align=justify><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandState("justifyfull") after 
+FAIL [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "{<table align=justify><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandValue("justifyfull") after assert_equals: Wrong result returned expected "justify" but got "true"
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "{<table align=justify><tr><td>foo<td>bar<td>baz</table>}<p>extra": execCommand("stylewithcss", false, "true") return value 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "{<table align=justify><tr><td>foo<td>bar<td>baz</table>}<p>extra": execCommand("defaultparagraphseparator", false, "p") return value 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "{<table align=justify><tr><td>foo<td>bar<td>baz</table>}<p>extra": execCommand("justifyfull", false, "") return value 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "{<table align=justify><tr><td>foo<td>bar<td>baz</table>}<p>extra" checks for modifications to non-editable content 
+FAIL [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "{<table align=justify><tr><td>foo<td>bar<td>baz</table>}<p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<div style=\"text-align:justify\"><table><tbody><tr><td>foo</td><td>bar</td><td>baz</td></tr></tbody></table></div><p>extra</p>" but got "<table align=\"justify\" style=\"text-align:justify\"><tbody><tr><td>foo</td><td>bar</td><td>baz</td></tr></tbody></table><p style=\"text-align:justify\">extra</p>"
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "{<table align=justify><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandIndeterm("stylewithcss") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "{<table align=justify><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandState("stylewithcss") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "{<table align=justify><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandValue("stylewithcss") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "{<table align=justify><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandIndeterm("stylewithcss") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "{<table align=justify><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandState("stylewithcss") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "{<table align=justify><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandValue("stylewithcss") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "{<table align=justify><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandIndeterm("defaultparagraphseparator") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "{<table align=justify><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandState("defaultparagraphseparator") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "{<table align=justify><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandValue("defaultparagraphseparator") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "{<table align=justify><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandIndeterm("defaultparagraphseparator") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "{<table align=justify><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandState("defaultparagraphseparator") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "{<table align=justify><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandValue("defaultparagraphseparator") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "{<table align=justify><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandIndeterm("justifyfull") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "{<table align=justify><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandState("justifyfull") before 
+FAIL [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "{<table align=justify><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandValue("justifyfull") before assert_equals: Wrong result returned expected "left" but got "false"
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "{<table align=justify><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandIndeterm("justifyfull") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "{<table align=justify><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandState("justifyfull") after 
+FAIL [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "{<table align=justify><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandValue("justifyfull") after assert_equals: Wrong result returned expected "justify" but got "true"
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "{<table align=justify><tr><td>foo<td>bar<td>baz</table>}<p>extra": execCommand("stylewithcss", false, "false") return value 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "{<table align=justify><tr><td>foo<td>bar<td>baz</table>}<p>extra": execCommand("defaultparagraphseparator", false, "p") return value 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "{<table align=justify><tr><td>foo<td>bar<td>baz</table>}<p>extra": execCommand("justifyfull", false, "") return value 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "{<table align=justify><tr><td>foo<td>bar<td>baz</table>}<p>extra" checks for modifications to non-editable content 
+FAIL [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "{<table align=justify><tr><td>foo<td>bar<td>baz</table>}<p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<div style=\"text-align:justify\"><table><tbody><tr><td>foo</td><td>bar</td><td>baz</td></tr></tbody></table></div><p>extra</p>" but got "<table align=\"justify\" style=\"text-align:justify\"><tbody><tr><td>foo</td><td>bar</td><td>baz</td></tr></tbody></table><p style=\"text-align:justify\">extra</p>"
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "{<table align=justify><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandIndeterm("stylewithcss") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "{<table align=justify><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandState("stylewithcss") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "{<table align=justify><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandValue("stylewithcss") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "{<table align=justify><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandIndeterm("stylewithcss") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "{<table align=justify><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandState("stylewithcss") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "{<table align=justify><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandValue("stylewithcss") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "{<table align=justify><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandIndeterm("defaultparagraphseparator") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "{<table align=justify><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandState("defaultparagraphseparator") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "{<table align=justify><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandValue("defaultparagraphseparator") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "{<table align=justify><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandIndeterm("defaultparagraphseparator") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "{<table align=justify><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandState("defaultparagraphseparator") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "{<table align=justify><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandValue("defaultparagraphseparator") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "{<table align=justify><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandIndeterm("justifyfull") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "{<table align=justify><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandState("justifyfull") before 
+FAIL [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "{<table align=justify><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandValue("justifyfull") before assert_equals: Wrong result returned expected "left" but got "false"
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "{<table align=justify><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandIndeterm("justifyfull") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "{<table align=justify><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandState("justifyfull") after 
+FAIL [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "{<table align=justify><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandValue("justifyfull") after assert_equals: Wrong result returned expected "justify" but got "true"
+PASS [["justifyfull",""]] "<table><tbody align=justify><tr><td>foo<td>b[a]r<td>baz</table><p>extra": execCommand("justifyfull", false, "") return value 
+PASS [["justifyfull",""]] "<table><tbody align=justify><tr><td>foo<td>b[a]r<td>baz</table><p>extra" checks for modifications to non-editable content 
+PASS [["justifyfull",""]] "<table><tbody align=justify><tr><td>foo<td>b[a]r<td>baz</table><p>extra" compare innerHTML 
+PASS [["justifyfull",""]] "<table><tbody align=justify><tr><td>foo<td>b[a]r<td>baz</table><p>extra" queryCommandIndeterm("justifyfull") before 
+PASS [["justifyfull",""]] "<table><tbody align=justify><tr><td>foo<td>b[a]r<td>baz</table><p>extra" queryCommandState("justifyfull") before 
+FAIL [["justifyfull",""]] "<table><tbody align=justify><tr><td>foo<td>b[a]r<td>baz</table><p>extra" queryCommandValue("justifyfull") before assert_equals: Wrong result returned expected "justify" but got "true"
+PASS [["justifyfull",""]] "<table><tbody align=justify><tr><td>foo<td>b[a]r<td>baz</table><p>extra" queryCommandIndeterm("justifyfull") after 
+PASS [["justifyfull",""]] "<table><tbody align=justify><tr><td>foo<td>b[a]r<td>baz</table><p>extra" queryCommandState("justifyfull") after 
+FAIL [["justifyfull",""]] "<table><tbody align=justify><tr><td>foo<td>b[a]r<td>baz</table><p>extra" queryCommandValue("justifyfull") after assert_equals: Wrong result returned expected "justify" but got "true"
+PASS [["justifyfull",""]] "<table><tbody align=justify><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table><p>extra": execCommand("justifyfull", false, "") return value 
+PASS [["justifyfull",""]] "<table><tbody align=justify><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table><p>extra" checks for modifications to non-editable content 
+PASS [["justifyfull",""]] "<table><tbody align=justify><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table><p>extra" compare innerHTML 
+PASS [["justifyfull",""]] "<table><tbody align=justify><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("justifyfull") before 
+PASS [["justifyfull",""]] "<table><tbody align=justify><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("justifyfull") before 
+FAIL [["justifyfull",""]] "<table><tbody align=justify><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("justifyfull") before assert_equals: Wrong result returned expected "justify" but got "true"
+PASS [["justifyfull",""]] "<table><tbody align=justify><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("justifyfull") after 
+PASS [["justifyfull",""]] "<table><tbody align=justify><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("justifyfull") after 
+FAIL [["justifyfull",""]] "<table><tbody align=justify><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("justifyfull") after assert_equals: Wrong result returned expected "justify" but got "true"
+PASS [["justifyfull",""]] "<table><tbody align=justify><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table><p>extra": execCommand("justifyfull", false, "") return value 
+PASS [["justifyfull",""]] "<table><tbody align=justify><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table><p>extra" checks for modifications to non-editable content 
+PASS [["justifyfull",""]] "<table><tbody align=justify><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table><p>extra" compare innerHTML 
+PASS [["justifyfull",""]] "<table><tbody align=justify><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("justifyfull") before 
+PASS [["justifyfull",""]] "<table><tbody align=justify><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("justifyfull") before 
+FAIL [["justifyfull",""]] "<table><tbody align=justify><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("justifyfull") before assert_equals: Wrong result returned expected "justify" but got "true"
+PASS [["justifyfull",""]] "<table><tbody align=justify><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("justifyfull") after 
+PASS [["justifyfull",""]] "<table><tbody align=justify><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("justifyfull") after 
+FAIL [["justifyfull",""]] "<table><tbody align=justify><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("justifyfull") after assert_equals: Wrong result returned expected "justify" but got "true"
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table><tbody align=justify data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra": execCommand("stylewithcss", false, "true") return value 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table><tbody align=justify data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra": execCommand("defaultparagraphseparator", false, "div") return value 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table><tbody align=justify data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra": execCommand("justifyfull", false, "") return value 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table><tbody align=justify data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" checks for modifications to non-editable content 
+FAIL [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table><tbody align=justify data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<div style=\"text-align:justify\"><table><tbody><tr><td>foo</td><td>bar</td><td>baz</td></tr></tbody></table></div><p>extra</p>" but got "<table style=\"text-align:justify\"><tbody align=\"justify\"><tr><td>foo</td><td>bar</td><td>baz</td></tr></tbody></table><p>extra</p>"
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table><tbody align=justify data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("stylewithcss") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table><tbody align=justify data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("stylewithcss") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table><tbody align=justify data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("stylewithcss") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table><tbody align=justify data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("stylewithcss") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table><tbody align=justify data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("stylewithcss") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table><tbody align=justify data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("stylewithcss") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table><tbody align=justify data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("defaultparagraphseparator") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table><tbody align=justify data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("defaultparagraphseparator") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table><tbody align=justify data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("defaultparagraphseparator") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table><tbody align=justify data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("defaultparagraphseparator") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table><tbody align=justify data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("defaultparagraphseparator") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table><tbody align=justify data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("defaultparagraphseparator") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table><tbody align=justify data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("justifyfull") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table><tbody align=justify data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("justifyfull") before 
+FAIL [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table><tbody align=justify data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("justifyfull") before assert_equals: Wrong result returned expected "justify" but got "true"
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table><tbody align=justify data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("justifyfull") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table><tbody align=justify data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("justifyfull") after 
+FAIL [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table><tbody align=justify data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("justifyfull") after assert_equals: Wrong result returned expected "justify" but got "true"
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table><tbody align=justify data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra": execCommand("stylewithcss", false, "false") return value 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table><tbody align=justify data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra": execCommand("defaultparagraphseparator", false, "div") return value 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table><tbody align=justify data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra": execCommand("justifyfull", false, "") return value 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table><tbody align=justify data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" checks for modifications to non-editable content 
+FAIL [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table><tbody align=justify data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<div style=\"text-align:justify\"><table><tbody><tr><td>foo</td><td>bar</td><td>baz</td></tr></tbody></table></div><p>extra</p>" but got "<table style=\"text-align:justify\"><tbody align=\"justify\"><tr><td>foo</td><td>bar</td><td>baz</td></tr></tbody></table><p>extra</p>"
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table><tbody align=justify data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("stylewithcss") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table><tbody align=justify data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("stylewithcss") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table><tbody align=justify data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("stylewithcss") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table><tbody align=justify data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("stylewithcss") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table><tbody align=justify data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("stylewithcss") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table><tbody align=justify data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("stylewithcss") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table><tbody align=justify data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("defaultparagraphseparator") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table><tbody align=justify data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("defaultparagraphseparator") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table><tbody align=justify data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("defaultparagraphseparator") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table><tbody align=justify data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("defaultparagraphseparator") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table><tbody align=justify data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("defaultparagraphseparator") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table><tbody align=justify data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("defaultparagraphseparator") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table><tbody align=justify data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("justifyfull") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table><tbody align=justify data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("justifyfull") before 
+FAIL [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table><tbody align=justify data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("justifyfull") before assert_equals: Wrong result returned expected "justify" but got "true"
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table><tbody align=justify data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("justifyfull") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table><tbody align=justify data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("justifyfull") after 
+FAIL [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table><tbody align=justify data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("justifyfull") after assert_equals: Wrong result returned expected "justify" but got "true"
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table><tbody align=justify data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra": execCommand("stylewithcss", false, "true") return value 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table><tbody align=justify data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra": execCommand("defaultparagraphseparator", false, "p") return value 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table><tbody align=justify data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra": execCommand("justifyfull", false, "") return value 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table><tbody align=justify data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" checks for modifications to non-editable content 
+FAIL [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table><tbody align=justify data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<div style=\"text-align:justify\"><table><tbody><tr><td>foo</td><td>bar</td><td>baz</td></tr></tbody></table></div><p>extra</p>" but got "<table style=\"text-align:justify\"><tbody align=\"justify\"><tr><td>foo</td><td>bar</td><td>baz</td></tr></tbody></table><p>extra</p>"
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table><tbody align=justify data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("stylewithcss") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table><tbody align=justify data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("stylewithcss") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table><tbody align=justify data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("stylewithcss") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table><tbody align=justify data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("stylewithcss") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table><tbody align=justify data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("stylewithcss") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table><tbody align=justify data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("stylewithcss") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table><tbody align=justify data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("defaultparagraphseparator") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table><tbody align=justify data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("defaultparagraphseparator") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table><tbody align=justify data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("defaultparagraphseparator") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table><tbody align=justify data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("defaultparagraphseparator") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table><tbody align=justify data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("defaultparagraphseparator") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table><tbody align=justify data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("defaultparagraphseparator") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table><tbody align=justify data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("justifyfull") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table><tbody align=justify data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("justifyfull") before 
+FAIL [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table><tbody align=justify data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("justifyfull") before assert_equals: Wrong result returned expected "justify" but got "true"
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table><tbody align=justify data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("justifyfull") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table><tbody align=justify data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("justifyfull") after 
+FAIL [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table><tbody align=justify data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("justifyfull") after assert_equals: Wrong result returned expected "justify" but got "true"
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table><tbody align=justify data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra": execCommand("stylewithcss", false, "false") return value 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table><tbody align=justify data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra": execCommand("defaultparagraphseparator", false, "p") return value 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table><tbody align=justify data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra": execCommand("justifyfull", false, "") return value 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table><tbody align=justify data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" checks for modifications to non-editable content 
+FAIL [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table><tbody align=justify data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<div style=\"text-align:justify\"><table><tbody><tr><td>foo</td><td>bar</td><td>baz</td></tr></tbody></table></div><p>extra</p>" but got "<table style=\"text-align:justify\"><tbody align=\"justify\"><tr><td>foo</td><td>bar</td><td>baz</td></tr></tbody></table><p>extra</p>"
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table><tbody align=justify data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("stylewithcss") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table><tbody align=justify data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("stylewithcss") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table><tbody align=justify data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("stylewithcss") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table><tbody align=justify data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("stylewithcss") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table><tbody align=justify data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("stylewithcss") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table><tbody align=justify data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("stylewithcss") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table><tbody align=justify data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("defaultparagraphseparator") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table><tbody align=justify data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("defaultparagraphseparator") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table><tbody align=justify data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("defaultparagraphseparator") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table><tbody align=justify data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("defaultparagraphseparator") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table><tbody align=justify data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("defaultparagraphseparator") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table><tbody align=justify data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("defaultparagraphseparator") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table><tbody align=justify data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("justifyfull") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table><tbody align=justify data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("justifyfull") before 
+FAIL [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table><tbody align=justify data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("justifyfull") before assert_equals: Wrong result returned expected "justify" but got "true"
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table><tbody align=justify data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("justifyfull") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table><tbody align=justify data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("justifyfull") after 
+FAIL [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table><tbody align=justify data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("justifyfull") after assert_equals: Wrong result returned expected "justify" but got "true"
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table data-start=0 data-end=1><tbody align=justify><tr><td>foo<td>bar<td>baz</table><p>extra": execCommand("stylewithcss", false, "true") return value 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table data-start=0 data-end=1><tbody align=justify><tr><td>foo<td>bar<td>baz</table><p>extra": execCommand("defaultparagraphseparator", false, "div") return value 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table data-start=0 data-end=1><tbody align=justify><tr><td>foo<td>bar<td>baz</table><p>extra": execCommand("justifyfull", false, "") return value 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table data-start=0 data-end=1><tbody align=justify><tr><td>foo<td>bar<td>baz</table><p>extra" checks for modifications to non-editable content 
+FAIL [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table data-start=0 data-end=1><tbody align=justify><tr><td>foo<td>bar<td>baz</table><p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<div style=\"text-align:justify\"><table><tbody><tr><td>foo</td><td>bar</td><td>baz</td></tr></tbody></table></div><p>extra</p>" but got "<table style=\"text-align:justify\"><tbody align=\"justify\"><tr><td>foo</td><td>bar</td><td>baz</td></tr></tbody></table><p>extra</p>"
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table data-start=0 data-end=1><tbody align=justify><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("stylewithcss") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table data-start=0 data-end=1><tbody align=justify><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("stylewithcss") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table data-start=0 data-end=1><tbody align=justify><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("stylewithcss") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table data-start=0 data-end=1><tbody align=justify><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("stylewithcss") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table data-start=0 data-end=1><tbody align=justify><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("stylewithcss") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table data-start=0 data-end=1><tbody align=justify><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("stylewithcss") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table data-start=0 data-end=1><tbody align=justify><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("defaultparagraphseparator") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table data-start=0 data-end=1><tbody align=justify><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("defaultparagraphseparator") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table data-start=0 data-end=1><tbody align=justify><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("defaultparagraphseparator") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table data-start=0 data-end=1><tbody align=justify><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("defaultparagraphseparator") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table data-start=0 data-end=1><tbody align=justify><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("defaultparagraphseparator") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table data-start=0 data-end=1><tbody align=justify><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("defaultparagraphseparator") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table data-start=0 data-end=1><tbody align=justify><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("justifyfull") before 
+FAIL [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table data-start=0 data-end=1><tbody align=justify><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("justifyfull") before assert_equals: Wrong result returned expected true but got false
+FAIL [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table data-start=0 data-end=1><tbody align=justify><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("justifyfull") before assert_equals: Wrong result returned expected "justify" but got "false"
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table data-start=0 data-end=1><tbody align=justify><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("justifyfull") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table data-start=0 data-end=1><tbody align=justify><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("justifyfull") after 
+FAIL [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table data-start=0 data-end=1><tbody align=justify><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("justifyfull") after assert_equals: Wrong result returned expected "justify" but got "true"
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table data-start=0 data-end=1><tbody align=justify><tr><td>foo<td>bar<td>baz</table><p>extra": execCommand("stylewithcss", false, "false") return value 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table data-start=0 data-end=1><tbody align=justify><tr><td>foo<td>bar<td>baz</table><p>extra": execCommand("defaultparagraphseparator", false, "div") return value 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table data-start=0 data-end=1><tbody align=justify><tr><td>foo<td>bar<td>baz</table><p>extra": execCommand("justifyfull", false, "") return value 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table data-start=0 data-end=1><tbody align=justify><tr><td>foo<td>bar<td>baz</table><p>extra" checks for modifications to non-editable content 
+FAIL [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table data-start=0 data-end=1><tbody align=justify><tr><td>foo<td>bar<td>baz</table><p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<div style=\"text-align:justify\"><table><tbody><tr><td>foo</td><td>bar</td><td>baz</td></tr></tbody></table></div><p>extra</p>" but got "<table style=\"text-align:justify\"><tbody align=\"justify\"><tr><td>foo</td><td>bar</td><td>baz</td></tr></tbody></table><p>extra</p>"
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table data-start=0 data-end=1><tbody align=justify><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("stylewithcss") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table data-start=0 data-end=1><tbody align=justify><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("stylewithcss") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table data-start=0 data-end=1><tbody align=justify><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("stylewithcss") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table data-start=0 data-end=1><tbody align=justify><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("stylewithcss") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table data-start=0 data-end=1><tbody align=justify><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("stylewithcss") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table data-start=0 data-end=1><tbody align=justify><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("stylewithcss") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table data-start=0 data-end=1><tbody align=justify><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("defaultparagraphseparator") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table data-start=0 data-end=1><tbody align=justify><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("defaultparagraphseparator") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table data-start=0 data-end=1><tbody align=justify><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("defaultparagraphseparator") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table data-start=0 data-end=1><tbody align=justify><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("defaultparagraphseparator") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table data-start=0 data-end=1><tbody align=justify><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("defaultparagraphseparator") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table data-start=0 data-end=1><tbody align=justify><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("defaultparagraphseparator") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table data-start=0 data-end=1><tbody align=justify><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("justifyfull") before 
+FAIL [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table data-start=0 data-end=1><tbody align=justify><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("justifyfull") before assert_equals: Wrong result returned expected true but got false
+FAIL [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table data-start=0 data-end=1><tbody align=justify><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("justifyfull") before assert_equals: Wrong result returned expected "justify" but got "false"
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table data-start=0 data-end=1><tbody align=justify><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("justifyfull") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table data-start=0 data-end=1><tbody align=justify><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("justifyfull") after 
+FAIL [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table data-start=0 data-end=1><tbody align=justify><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("justifyfull") after assert_equals: Wrong result returned expected "justify" but got "true"
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table data-start=0 data-end=1><tbody align=justify><tr><td>foo<td>bar<td>baz</table><p>extra": execCommand("stylewithcss", false, "true") return value 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table data-start=0 data-end=1><tbody align=justify><tr><td>foo<td>bar<td>baz</table><p>extra": execCommand("defaultparagraphseparator", false, "p") return value 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table data-start=0 data-end=1><tbody align=justify><tr><td>foo<td>bar<td>baz</table><p>extra": execCommand("justifyfull", false, "") return value 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table data-start=0 data-end=1><tbody align=justify><tr><td>foo<td>bar<td>baz</table><p>extra" checks for modifications to non-editable content 
+FAIL [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table data-start=0 data-end=1><tbody align=justify><tr><td>foo<td>bar<td>baz</table><p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<div style=\"text-align:justify\"><table><tbody><tr><td>foo</td><td>bar</td><td>baz</td></tr></tbody></table></div><p>extra</p>" but got "<table style=\"text-align:justify\"><tbody align=\"justify\"><tr><td>foo</td><td>bar</td><td>baz</td></tr></tbody></table><p>extra</p>"
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table data-start=0 data-end=1><tbody align=justify><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("stylewithcss") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table data-start=0 data-end=1><tbody align=justify><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("stylewithcss") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table data-start=0 data-end=1><tbody align=justify><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("stylewithcss") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table data-start=0 data-end=1><tbody align=justify><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("stylewithcss") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table data-start=0 data-end=1><tbody align=justify><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("stylewithcss") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table data-start=0 data-end=1><tbody align=justify><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("stylewithcss") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table data-start=0 data-end=1><tbody align=justify><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("defaultparagraphseparator") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table data-start=0 data-end=1><tbody align=justify><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("defaultparagraphseparator") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table data-start=0 data-end=1><tbody align=justify><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("defaultparagraphseparator") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table data-start=0 data-end=1><tbody align=justify><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("defaultparagraphseparator") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table data-start=0 data-end=1><tbody align=justify><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("defaultparagraphseparator") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table data-start=0 data-end=1><tbody align=justify><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("defaultparagraphseparator") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table data-start=0 data-end=1><tbody align=justify><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("justifyfull") before 
+FAIL [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table data-start=0 data-end=1><tbody align=justify><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("justifyfull") before assert_equals: Wrong result returned expected true but got false
+FAIL [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table data-start=0 data-end=1><tbody align=justify><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("justifyfull") before assert_equals: Wrong result returned expected "justify" but got "false"
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table data-start=0 data-end=1><tbody align=justify><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("justifyfull") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table data-start=0 data-end=1><tbody align=justify><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("justifyfull") after 
+FAIL [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table data-start=0 data-end=1><tbody align=justify><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("justifyfull") after assert_equals: Wrong result returned expected "justify" but got "true"
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table data-start=0 data-end=1><tbody align=justify><tr><td>foo<td>bar<td>baz</table><p>extra": execCommand("stylewithcss", false, "false") return value 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table data-start=0 data-end=1><tbody align=justify><tr><td>foo<td>bar<td>baz</table><p>extra": execCommand("defaultparagraphseparator", false, "p") return value 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table data-start=0 data-end=1><tbody align=justify><tr><td>foo<td>bar<td>baz</table><p>extra": execCommand("justifyfull", false, "") return value 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table data-start=0 data-end=1><tbody align=justify><tr><td>foo<td>bar<td>baz</table><p>extra" checks for modifications to non-editable content 
+FAIL [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table data-start=0 data-end=1><tbody align=justify><tr><td>foo<td>bar<td>baz</table><p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<div style=\"text-align:justify\"><table><tbody><tr><td>foo</td><td>bar</td><td>baz</td></tr></tbody></table></div><p>extra</p>" but got "<table style=\"text-align:justify\"><tbody align=\"justify\"><tr><td>foo</td><td>bar</td><td>baz</td></tr></tbody></table><p>extra</p>"
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table data-start=0 data-end=1><tbody align=justify><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("stylewithcss") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table data-start=0 data-end=1><tbody align=justify><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("stylewithcss") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table data-start=0 data-end=1><tbody align=justify><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("stylewithcss") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table data-start=0 data-end=1><tbody align=justify><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("stylewithcss") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table data-start=0 data-end=1><tbody align=justify><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("stylewithcss") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table data-start=0 data-end=1><tbody align=justify><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("stylewithcss") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table data-start=0 data-end=1><tbody align=justify><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("defaultparagraphseparator") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table data-start=0 data-end=1><tbody align=justify><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("defaultparagraphseparator") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table data-start=0 data-end=1><tbody align=justify><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("defaultparagraphseparator") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table data-start=0 data-end=1><tbody align=justify><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("defaultparagraphseparator") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table data-start=0 data-end=1><tbody align=justify><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("defaultparagraphseparator") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table data-start=0 data-end=1><tbody align=justify><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("defaultparagraphseparator") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table data-start=0 data-end=1><tbody align=justify><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("justifyfull") before 
+FAIL [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table data-start=0 data-end=1><tbody align=justify><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("justifyfull") before assert_equals: Wrong result returned expected true but got false
+FAIL [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table data-start=0 data-end=1><tbody align=justify><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("justifyfull") before assert_equals: Wrong result returned expected "justify" but got "false"
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table data-start=0 data-end=1><tbody align=justify><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("justifyfull") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table data-start=0 data-end=1><tbody align=justify><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("justifyfull") after 
+FAIL [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table data-start=0 data-end=1><tbody align=justify><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("justifyfull") after assert_equals: Wrong result returned expected "justify" but got "true"
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "{<table><tbody align=justify><tr><td>foo<td>bar<td>baz</table>}<p>extra": execCommand("stylewithcss", false, "true") return value 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "{<table><tbody align=justify><tr><td>foo<td>bar<td>baz</table>}<p>extra": execCommand("defaultparagraphseparator", false, "div") return value 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "{<table><tbody align=justify><tr><td>foo<td>bar<td>baz</table>}<p>extra": execCommand("justifyfull", false, "") return value 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "{<table><tbody align=justify><tr><td>foo<td>bar<td>baz</table>}<p>extra" checks for modifications to non-editable content 
+FAIL [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "{<table><tbody align=justify><tr><td>foo<td>bar<td>baz</table>}<p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<div style=\"text-align:justify\"><table><tbody><tr><td>foo</td><td>bar</td><td>baz</td></tr></tbody></table></div><p>extra</p>" but got "<table style=\"text-align:justify\"><tbody align=\"justify\"><tr><td>foo</td><td>bar</td><td>baz</td></tr></tbody></table><p style=\"text-align:justify\">extra</p>"
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "{<table><tbody align=justify><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandIndeterm("stylewithcss") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "{<table><tbody align=justify><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandState("stylewithcss") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "{<table><tbody align=justify><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandValue("stylewithcss") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "{<table><tbody align=justify><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandIndeterm("stylewithcss") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "{<table><tbody align=justify><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandState("stylewithcss") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "{<table><tbody align=justify><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandValue("stylewithcss") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "{<table><tbody align=justify><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandIndeterm("defaultparagraphseparator") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "{<table><tbody align=justify><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandState("defaultparagraphseparator") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "{<table><tbody align=justify><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandValue("defaultparagraphseparator") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "{<table><tbody align=justify><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandIndeterm("defaultparagraphseparator") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "{<table><tbody align=justify><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandState("defaultparagraphseparator") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "{<table><tbody align=justify><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandValue("defaultparagraphseparator") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "{<table><tbody align=justify><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandIndeterm("justifyfull") before 
+FAIL [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "{<table><tbody align=justify><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandState("justifyfull") before assert_equals: Wrong result returned expected true but got false
+FAIL [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "{<table><tbody align=justify><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandValue("justifyfull") before assert_equals: Wrong result returned expected "justify" but got "false"
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "{<table><tbody align=justify><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandIndeterm("justifyfull") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "{<table><tbody align=justify><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandState("justifyfull") after 
+FAIL [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "{<table><tbody align=justify><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandValue("justifyfull") after assert_equals: Wrong result returned expected "justify" but got "true"
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "{<table><tbody align=justify><tr><td>foo<td>bar<td>baz</table>}<p>extra": execCommand("stylewithcss", false, "false") return value 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "{<table><tbody align=justify><tr><td>foo<td>bar<td>baz</table>}<p>extra": execCommand("defaultparagraphseparator", false, "div") return value 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "{<table><tbody align=justify><tr><td>foo<td>bar<td>baz</table>}<p>extra": execCommand("justifyfull", false, "") return value 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "{<table><tbody align=justify><tr><td>foo<td>bar<td>baz</table>}<p>extra" checks for modifications to non-editable content 
+FAIL [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "{<table><tbody align=justify><tr><td>foo<td>bar<td>baz</table>}<p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<div style=\"text-align:justify\"><table><tbody><tr><td>foo</td><td>bar</td><td>baz</td></tr></tbody></table></div><p>extra</p>" but got "<table style=\"text-align:justify\"><tbody align=\"justify\"><tr><td>foo</td><td>bar</td><td>baz</td></tr></tbody></table><p style=\"text-align:justify\">extra</p>"
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "{<table><tbody align=justify><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandIndeterm("stylewithcss") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "{<table><tbody align=justify><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandState("stylewithcss") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "{<table><tbody align=justify><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandValue("stylewithcss") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "{<table><tbody align=justify><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandIndeterm("stylewithcss") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "{<table><tbody align=justify><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandState("stylewithcss") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "{<table><tbody align=justify><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandValue("stylewithcss") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "{<table><tbody align=justify><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandIndeterm("defaultparagraphseparator") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "{<table><tbody align=justify><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandState("defaultparagraphseparator") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "{<table><tbody align=justify><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandValue("defaultparagraphseparator") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "{<table><tbody align=justify><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandIndeterm("defaultparagraphseparator") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "{<table><tbody align=justify><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandState("defaultparagraphseparator") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "{<table><tbody align=justify><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandValue("defaultparagraphseparator") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "{<table><tbody align=justify><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandIndeterm("justifyfull") before 
+FAIL [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "{<table><tbody align=justify><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandState("justifyfull") before assert_equals: Wrong result returned expected true but got false
+FAIL [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "{<table><tbody align=justify><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandValue("justifyfull") before assert_equals: Wrong result returned expected "justify" but got "false"
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "{<table><tbody align=justify><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandIndeterm("justifyfull") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "{<table><tbody align=justify><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandState("justifyfull") after 
+FAIL [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "{<table><tbody align=justify><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandValue("justifyfull") after assert_equals: Wrong result returned expected "justify" but got "true"
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "{<table><tbody align=justify><tr><td>foo<td>bar<td>baz</table>}<p>extra": execCommand("stylewithcss", false, "true") return value 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "{<table><tbody align=justify><tr><td>foo<td>bar<td>baz</table>}<p>extra": execCommand("defaultparagraphseparator", false, "p") return value 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "{<table><tbody align=justify><tr><td>foo<td>bar<td>baz</table>}<p>extra": execCommand("justifyfull", false, "") return value 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "{<table><tbody align=justify><tr><td>foo<td>bar<td>baz</table>}<p>extra" checks for modifications to non-editable content 
+FAIL [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "{<table><tbody align=justify><tr><td>foo<td>bar<td>baz</table>}<p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<div style=\"text-align:justify\"><table><tbody><tr><td>foo</td><td>bar</td><td>baz</td></tr></tbody></table></div><p>extra</p>" but got "<table style=\"text-align:justify\"><tbody align=\"justify\"><tr><td>foo</td><td>bar</td><td>baz</td></tr></tbody></table><p style=\"text-align:justify\">extra</p>"
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "{<table><tbody align=justify><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandIndeterm("stylewithcss") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "{<table><tbody align=justify><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandState("stylewithcss") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "{<table><tbody align=justify><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandValue("stylewithcss") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "{<table><tbody align=justify><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandIndeterm("stylewithcss") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "{<table><tbody align=justify><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandState("stylewithcss") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "{<table><tbody align=justify><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandValue("stylewithcss") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "{<table><tbody align=justify><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandIndeterm("defaultparagraphseparator") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "{<table><tbody align=justify><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandState("defaultparagraphseparator") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "{<table><tbody align=justify><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandValue("defaultparagraphseparator") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "{<table><tbody align=justify><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandIndeterm("defaultparagraphseparator") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "{<table><tbody align=justify><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandState("defaultparagraphseparator") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "{<table><tbody align=justify><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandValue("defaultparagraphseparator") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "{<table><tbody align=justify><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandIndeterm("justifyfull") before 
+FAIL [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "{<table><tbody align=justify><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandState("justifyfull") before assert_equals: Wrong result returned expected true but got false
+FAIL [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "{<table><tbody align=justify><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandValue("justifyfull") before assert_equals: Wrong result returned expected "justify" but got "false"
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "{<table><tbody align=justify><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandIndeterm("justifyfull") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "{<table><tbody align=justify><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandState("justifyfull") after 
+FAIL [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "{<table><tbody align=justify><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandValue("justifyfull") after assert_equals: Wrong result returned expected "justify" but got "true"
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "{<table><tbody align=justify><tr><td>foo<td>bar<td>baz</table>}<p>extra": execCommand("stylewithcss", false, "false") return value 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "{<table><tbody align=justify><tr><td>foo<td>bar<td>baz</table>}<p>extra": execCommand("defaultparagraphseparator", false, "p") return value 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "{<table><tbody align=justify><tr><td>foo<td>bar<td>baz</table>}<p>extra": execCommand("justifyfull", false, "") return value 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "{<table><tbody align=justify><tr><td>foo<td>bar<td>baz</table>}<p>extra" checks for modifications to non-editable content 
+FAIL [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "{<table><tbody align=justify><tr><td>foo<td>bar<td>baz</table>}<p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<div style=\"text-align:justify\"><table><tbody><tr><td>foo</td><td>bar</td><td>baz</td></tr></tbody></table></div><p>extra</p>" but got "<table style=\"text-align:justify\"><tbody align=\"justify\"><tr><td>foo</td><td>bar</td><td>baz</td></tr></tbody></table><p style=\"text-align:justify\">extra</p>"
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "{<table><tbody align=justify><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandIndeterm("stylewithcss") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "{<table><tbody align=justify><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandState("stylewithcss") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "{<table><tbody align=justify><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandValue("stylewithcss") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "{<table><tbody align=justify><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandIndeterm("stylewithcss") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "{<table><tbody align=justify><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandState("stylewithcss") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "{<table><tbody align=justify><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandValue("stylewithcss") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "{<table><tbody align=justify><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandIndeterm("defaultparagraphseparator") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "{<table><tbody align=justify><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandState("defaultparagraphseparator") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "{<table><tbody align=justify><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandValue("defaultparagraphseparator") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "{<table><tbody align=justify><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandIndeterm("defaultparagraphseparator") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "{<table><tbody align=justify><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandState("defaultparagraphseparator") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "{<table><tbody align=justify><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandValue("defaultparagraphseparator") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "{<table><tbody align=justify><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandIndeterm("justifyfull") before 
+FAIL [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "{<table><tbody align=justify><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandState("justifyfull") before assert_equals: Wrong result returned expected true but got false
+FAIL [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "{<table><tbody align=justify><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandValue("justifyfull") before assert_equals: Wrong result returned expected "justify" but got "false"
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "{<table><tbody align=justify><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandIndeterm("justifyfull") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "{<table><tbody align=justify><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandState("justifyfull") after 
+FAIL [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "{<table><tbody align=justify><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandValue("justifyfull") after assert_equals: Wrong result returned expected "justify" but got "true"
+PASS [["justifyfull",""]] "<table><tbody><tr align=justify><td>foo<td>b[a]r<td>baz</table><p>extra": execCommand("justifyfull", false, "") return value 
+PASS [["justifyfull",""]] "<table><tbody><tr align=justify><td>foo<td>b[a]r<td>baz</table><p>extra" checks for modifications to non-editable content 
+PASS [["justifyfull",""]] "<table><tbody><tr align=justify><td>foo<td>b[a]r<td>baz</table><p>extra" compare innerHTML 
+PASS [["justifyfull",""]] "<table><tbody><tr align=justify><td>foo<td>b[a]r<td>baz</table><p>extra" queryCommandIndeterm("justifyfull") before 
+PASS [["justifyfull",""]] "<table><tbody><tr align=justify><td>foo<td>b[a]r<td>baz</table><p>extra" queryCommandState("justifyfull") before 
+FAIL [["justifyfull",""]] "<table><tbody><tr align=justify><td>foo<td>b[a]r<td>baz</table><p>extra" queryCommandValue("justifyfull") before assert_equals: Wrong result returned expected "justify" but got "true"
+PASS [["justifyfull",""]] "<table><tbody><tr align=justify><td>foo<td>b[a]r<td>baz</table><p>extra" queryCommandIndeterm("justifyfull") after 
+PASS [["justifyfull",""]] "<table><tbody><tr align=justify><td>foo<td>b[a]r<td>baz</table><p>extra" queryCommandState("justifyfull") after 
+FAIL [["justifyfull",""]] "<table><tbody><tr align=justify><td>foo<td>b[a]r<td>baz</table><p>extra" queryCommandValue("justifyfull") after assert_equals: Wrong result returned expected "justify" but got "true"
+PASS [["justifyfull",""]] "<table><tbody><tr align=justify data-start=1 data-end=2><td>foo<td>bar<td>baz</table><p>extra": execCommand("justifyfull", false, "") return value 
+PASS [["justifyfull",""]] "<table><tbody><tr align=justify data-start=1 data-end=2><td>foo<td>bar<td>baz</table><p>extra" checks for modifications to non-editable content 
+PASS [["justifyfull",""]] "<table><tbody><tr align=justify data-start=1 data-end=2><td>foo<td>bar<td>baz</table><p>extra" compare innerHTML 
+PASS [["justifyfull",""]] "<table><tbody><tr align=justify data-start=1 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("justifyfull") before 
+PASS [["justifyfull",""]] "<table><tbody><tr align=justify data-start=1 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("justifyfull") before 
+FAIL [["justifyfull",""]] "<table><tbody><tr align=justify data-start=1 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("justifyfull") before assert_equals: Wrong result returned expected "justify" but got "true"
+PASS [["justifyfull",""]] "<table><tbody><tr align=justify data-start=1 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("justifyfull") after 
+PASS [["justifyfull",""]] "<table><tbody><tr align=justify data-start=1 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("justifyfull") after 
+FAIL [["justifyfull",""]] "<table><tbody><tr align=justify data-start=1 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("justifyfull") after assert_equals: Wrong result returned expected "justify" but got "true"
+PASS [["justifyfull",""]] "<table><tbody><tr align=justify data-start=0 data-end=2><td>foo<td>bar<td>baz</table><p>extra": execCommand("justifyfull", false, "") return value 
+PASS [["justifyfull",""]] "<table><tbody><tr align=justify data-start=0 data-end=2><td>foo<td>bar<td>baz</table><p>extra" checks for modifications to non-editable content 
+PASS [["justifyfull",""]] "<table><tbody><tr align=justify data-start=0 data-end=2><td>foo<td>bar<td>baz</table><p>extra" compare innerHTML 
+PASS [["justifyfull",""]] "<table><tbody><tr align=justify data-start=0 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("justifyfull") before 
+PASS [["justifyfull",""]] "<table><tbody><tr align=justify data-start=0 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("justifyfull") before 
+FAIL [["justifyfull",""]] "<table><tbody><tr align=justify data-start=0 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("justifyfull") before assert_equals: Wrong result returned expected "justify" but got "true"
+PASS [["justifyfull",""]] "<table><tbody><tr align=justify data-start=0 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("justifyfull") after 
+PASS [["justifyfull",""]] "<table><tbody><tr align=justify data-start=0 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("justifyfull") after 
+FAIL [["justifyfull",""]] "<table><tbody><tr align=justify data-start=0 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("justifyfull") after assert_equals: Wrong result returned expected "justify" but got "true"
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table><tbody data-start=0 data-end=1><tr align=justify><td>foo<td>bar<td>baz</table><p>extra": execCommand("stylewithcss", false, "true") return value 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table><tbody data-start=0 data-end=1><tr align=justify><td>foo<td>bar<td>baz</table><p>extra": execCommand("defaultparagraphseparator", false, "div") return value 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table><tbody data-start=0 data-end=1><tr align=justify><td>foo<td>bar<td>baz</table><p>extra": execCommand("justifyfull", false, "") return value 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table><tbody data-start=0 data-end=1><tr align=justify><td>foo<td>bar<td>baz</table><p>extra" checks for modifications to non-editable content 
+FAIL [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table><tbody data-start=0 data-end=1><tr align=justify><td>foo<td>bar<td>baz</table><p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<div style=\"text-align:justify\"><table><tbody><tr><td>foo</td><td>bar</td><td>baz</td></tr></tbody></table></div><p>extra</p>" but got "<table style=\"text-align:justify\"><tbody><tr align=\"justify\"><td>foo</td><td>bar</td><td>baz</td></tr></tbody></table><p>extra</p>"
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table><tbody data-start=0 data-end=1><tr align=justify><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("stylewithcss") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table><tbody data-start=0 data-end=1><tr align=justify><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("stylewithcss") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table><tbody data-start=0 data-end=1><tr align=justify><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("stylewithcss") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table><tbody data-start=0 data-end=1><tr align=justify><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("stylewithcss") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table><tbody data-start=0 data-end=1><tr align=justify><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("stylewithcss") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table><tbody data-start=0 data-end=1><tr align=justify><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("stylewithcss") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table><tbody data-start=0 data-end=1><tr align=justify><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("defaultparagraphseparator") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table><tbody data-start=0 data-end=1><tr align=justify><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("defaultparagraphseparator") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table><tbody data-start=0 data-end=1><tr align=justify><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("defaultparagraphseparator") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table><tbody data-start=0 data-end=1><tr align=justify><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("defaultparagraphseparator") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table><tbody data-start=0 data-end=1><tr align=justify><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("defaultparagraphseparator") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table><tbody data-start=0 data-end=1><tr align=justify><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("defaultparagraphseparator") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table><tbody data-start=0 data-end=1><tr align=justify><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("justifyfull") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table><tbody data-start=0 data-end=1><tr align=justify><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("justifyfull") before 
+FAIL [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table><tbody data-start=0 data-end=1><tr align=justify><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("justifyfull") before assert_equals: Wrong result returned expected "justify" but got "true"
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table><tbody data-start=0 data-end=1><tr align=justify><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("justifyfull") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table><tbody data-start=0 data-end=1><tr align=justify><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("justifyfull") after 
+FAIL [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table><tbody data-start=0 data-end=1><tr align=justify><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("justifyfull") after assert_equals: Wrong result returned expected "justify" but got "true"
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table><tbody data-start=0 data-end=1><tr align=justify><td>foo<td>bar<td>baz</table><p>extra": execCommand("stylewithcss", false, "false") return value 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table><tbody data-start=0 data-end=1><tr align=justify><td>foo<td>bar<td>baz</table><p>extra": execCommand("defaultparagraphseparator", false, "div") return value 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table><tbody data-start=0 data-end=1><tr align=justify><td>foo<td>bar<td>baz</table><p>extra": execCommand("justifyfull", false, "") return value 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table><tbody data-start=0 data-end=1><tr align=justify><td>foo<td>bar<td>baz</table><p>extra" checks for modifications to non-editable content 
+FAIL [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table><tbody data-start=0 data-end=1><tr align=justify><td>foo<td>bar<td>baz</table><p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<div style=\"text-align:justify\"><table><tbody><tr><td>foo</td><td>bar</td><td>baz</td></tr></tbody></table></div><p>extra</p>" but got "<table style=\"text-align:justify\"><tbody><tr align=\"justify\"><td>foo</td><td>bar</td><td>baz</td></tr></tbody></table><p>extra</p>"
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table><tbody data-start=0 data-end=1><tr align=justify><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("stylewithcss") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table><tbody data-start=0 data-end=1><tr align=justify><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("stylewithcss") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table><tbody data-start=0 data-end=1><tr align=justify><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("stylewithcss") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table><tbody data-start=0 data-end=1><tr align=justify><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("stylewithcss") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table><tbody data-start=0 data-end=1><tr align=justify><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("stylewithcss") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table><tbody data-start=0 data-end=1><tr align=justify><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("stylewithcss") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table><tbody data-start=0 data-end=1><tr align=justify><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("defaultparagraphseparator") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table><tbody data-start=0 data-end=1><tr align=justify><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("defaultparagraphseparator") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table><tbody data-start=0 data-end=1><tr align=justify><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("defaultparagraphseparator") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table><tbody data-start=0 data-end=1><tr align=justify><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("defaultparagraphseparator") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table><tbody data-start=0 data-end=1><tr align=justify><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("defaultparagraphseparator") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table><tbody data-start=0 data-end=1><tr align=justify><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("defaultparagraphseparator") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table><tbody data-start=0 data-end=1><tr align=justify><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("justifyfull") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table><tbody data-start=0 data-end=1><tr align=justify><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("justifyfull") before 
+FAIL [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table><tbody data-start=0 data-end=1><tr align=justify><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("justifyfull") before assert_equals: Wrong result returned expected "justify" but got "true"
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table><tbody data-start=0 data-end=1><tr align=justify><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("justifyfull") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table><tbody data-start=0 data-end=1><tr align=justify><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("justifyfull") after 
+FAIL [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table><tbody data-start=0 data-end=1><tr align=justify><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("justifyfull") after assert_equals: Wrong result returned expected "justify" but got "true"
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table><tbody data-start=0 data-end=1><tr align=justify><td>foo<td>bar<td>baz</table><p>extra": execCommand("stylewithcss", false, "true") return value 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table><tbody data-start=0 data-end=1><tr align=justify><td>foo<td>bar<td>baz</table><p>extra": execCommand("defaultparagraphseparator", false, "p") return value 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table><tbody data-start=0 data-end=1><tr align=justify><td>foo<td>bar<td>baz</table><p>extra": execCommand("justifyfull", false, "") return value 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table><tbody data-start=0 data-end=1><tr align=justify><td>foo<td>bar<td>baz</table><p>extra" checks for modifications to non-editable content 
+FAIL [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table><tbody data-start=0 data-end=1><tr align=justify><td>foo<td>bar<td>baz</table><p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<div style=\"text-align:justify\"><table><tbody><tr><td>foo</td><td>bar</td><td>baz</td></tr></tbody></table></div><p>extra</p>" but got "<table style=\"text-align:justify\"><tbody><tr align=\"justify\"><td>foo</td><td>bar</td><td>baz</td></tr></tbody></table><p>extra</p>"
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table><tbody data-start=0 data-end=1><tr align=justify><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("stylewithcss") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table><tbody data-start=0 data-end=1><tr align=justify><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("stylewithcss") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table><tbody data-start=0 data-end=1><tr align=justify><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("stylewithcss") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table><tbody data-start=0 data-end=1><tr align=justify><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("stylewithcss") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table><tbody data-start=0 data-end=1><tr align=justify><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("stylewithcss") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table><tbody data-start=0 data-end=1><tr align=justify><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("stylewithcss") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table><tbody data-start=0 data-end=1><tr align=justify><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("defaultparagraphseparator") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table><tbody data-start=0 data-end=1><tr align=justify><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("defaultparagraphseparator") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table><tbody data-start=0 data-end=1><tr align=justify><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("defaultparagraphseparator") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table><tbody data-start=0 data-end=1><tr align=justify><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("defaultparagraphseparator") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table><tbody data-start=0 data-end=1><tr align=justify><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("defaultparagraphseparator") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table><tbody data-start=0 data-end=1><tr align=justify><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("defaultparagraphseparator") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table><tbody data-start=0 data-end=1><tr align=justify><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("justifyfull") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table><tbody data-start=0 data-end=1><tr align=justify><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("justifyfull") before 
+FAIL [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table><tbody data-start=0 data-end=1><tr align=justify><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("justifyfull") before assert_equals: Wrong result returned expected "justify" but got "true"
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table><tbody data-start=0 data-end=1><tr align=justify><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("justifyfull") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table><tbody data-start=0 data-end=1><tr align=justify><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("justifyfull") after 
+FAIL [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table><tbody data-start=0 data-end=1><tr align=justify><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("justifyfull") after assert_equals: Wrong result returned expected "justify" but got "true"
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table><tbody data-start=0 data-end=1><tr align=justify><td>foo<td>bar<td>baz</table><p>extra": execCommand("stylewithcss", false, "false") return value 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table><tbody data-start=0 data-end=1><tr align=justify><td>foo<td>bar<td>baz</table><p>extra": execCommand("defaultparagraphseparator", false, "p") return value 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table><tbody data-start=0 data-end=1><tr align=justify><td>foo<td>bar<td>baz</table><p>extra": execCommand("justifyfull", false, "") return value 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table><tbody data-start=0 data-end=1><tr align=justify><td>foo<td>bar<td>baz</table><p>extra" checks for modifications to non-editable content 
+FAIL [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table><tbody data-start=0 data-end=1><tr align=justify><td>foo<td>bar<td>baz</table><p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<div style=\"text-align:justify\"><table><tbody><tr><td>foo</td><td>bar</td><td>baz</td></tr></tbody></table></div><p>extra</p>" but got "<table style=\"text-align:justify\"><tbody><tr align=\"justify\"><td>foo</td><td>bar</td><td>baz</td></tr></tbody></table><p>extra</p>"
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table><tbody data-start=0 data-end=1><tr align=justify><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("stylewithcss") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table><tbody data-start=0 data-end=1><tr align=justify><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("stylewithcss") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table><tbody data-start=0 data-end=1><tr align=justify><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("stylewithcss") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table><tbody data-start=0 data-end=1><tr align=justify><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("stylewithcss") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table><tbody data-start=0 data-end=1><tr align=justify><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("stylewithcss") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table><tbody data-start=0 data-end=1><tr align=justify><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("stylewithcss") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table><tbody data-start=0 data-end=1><tr align=justify><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("defaultparagraphseparator") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table><tbody data-start=0 data-end=1><tr align=justify><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("defaultparagraphseparator") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table><tbody data-start=0 data-end=1><tr align=justify><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("defaultparagraphseparator") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table><tbody data-start=0 data-end=1><tr align=justify><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("defaultparagraphseparator") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table><tbody data-start=0 data-end=1><tr align=justify><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("defaultparagraphseparator") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table><tbody data-start=0 data-end=1><tr align=justify><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("defaultparagraphseparator") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table><tbody data-start=0 data-end=1><tr align=justify><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("justifyfull") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table><tbody data-start=0 data-end=1><tr align=justify><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("justifyfull") before 
+FAIL [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table><tbody data-start=0 data-end=1><tr align=justify><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("justifyfull") before assert_equals: Wrong result returned expected "justify" but got "true"
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table><tbody data-start=0 data-end=1><tr align=justify><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("justifyfull") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table><tbody data-start=0 data-end=1><tr align=justify><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("justifyfull") after 
+FAIL [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table><tbody data-start=0 data-end=1><tr align=justify><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("justifyfull") after assert_equals: Wrong result returned expected "justify" but got "true"
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table data-start=0 data-end=1><tbody><tr align=justify><td>foo<td>bar<td>baz</table><p>extra": execCommand("stylewithcss", false, "true") return value 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table data-start=0 data-end=1><tbody><tr align=justify><td>foo<td>bar<td>baz</table><p>extra": execCommand("defaultparagraphseparator", false, "div") return value 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table data-start=0 data-end=1><tbody><tr align=justify><td>foo<td>bar<td>baz</table><p>extra": execCommand("justifyfull", false, "") return value 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table data-start=0 data-end=1><tbody><tr align=justify><td>foo<td>bar<td>baz</table><p>extra" checks for modifications to non-editable content 
+FAIL [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table data-start=0 data-end=1><tbody><tr align=justify><td>foo<td>bar<td>baz</table><p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<div style=\"text-align:justify\"><table><tbody><tr><td>foo</td><td>bar</td><td>baz</td></tr></tbody></table></div><p>extra</p>" but got "<table style=\"text-align:justify\"><tbody><tr align=\"justify\"><td>foo</td><td>bar</td><td>baz</td></tr></tbody></table><p>extra</p>"
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table data-start=0 data-end=1><tbody><tr align=justify><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("stylewithcss") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table data-start=0 data-end=1><tbody><tr align=justify><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("stylewithcss") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table data-start=0 data-end=1><tbody><tr align=justify><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("stylewithcss") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table data-start=0 data-end=1><tbody><tr align=justify><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("stylewithcss") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table data-start=0 data-end=1><tbody><tr align=justify><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("stylewithcss") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table data-start=0 data-end=1><tbody><tr align=justify><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("stylewithcss") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table data-start=0 data-end=1><tbody><tr align=justify><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("defaultparagraphseparator") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table data-start=0 data-end=1><tbody><tr align=justify><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("defaultparagraphseparator") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table data-start=0 data-end=1><tbody><tr align=justify><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("defaultparagraphseparator") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table data-start=0 data-end=1><tbody><tr align=justify><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("defaultparagraphseparator") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table data-start=0 data-end=1><tbody><tr align=justify><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("defaultparagraphseparator") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table data-start=0 data-end=1><tbody><tr align=justify><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("defaultparagraphseparator") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table data-start=0 data-end=1><tbody><tr align=justify><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("justifyfull") before 
+FAIL [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table data-start=0 data-end=1><tbody><tr align=justify><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("justifyfull") before assert_equals: Wrong result returned expected true but got false
+FAIL [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table data-start=0 data-end=1><tbody><tr align=justify><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("justifyfull") before assert_equals: Wrong result returned expected "justify" but got "false"
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table data-start=0 data-end=1><tbody><tr align=justify><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("justifyfull") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table data-start=0 data-end=1><tbody><tr align=justify><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("justifyfull") after 
+FAIL [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table data-start=0 data-end=1><tbody><tr align=justify><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("justifyfull") after assert_equals: Wrong result returned expected "justify" but got "true"
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table data-start=0 data-end=1><tbody><tr align=justify><td>foo<td>bar<td>baz</table><p>extra": execCommand("stylewithcss", false, "false") return value 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table data-start=0 data-end=1><tbody><tr align=justify><td>foo<td>bar<td>baz</table><p>extra": execCommand("defaultparagraphseparator", false, "div") return value 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table data-start=0 data-end=1><tbody><tr align=justify><td>foo<td>bar<td>baz</table><p>extra": execCommand("justifyfull", false, "") return value 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table data-start=0 data-end=1><tbody><tr align=justify><td>foo<td>bar<td>baz</table><p>extra" checks for modifications to non-editable content 
+FAIL [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table data-start=0 data-end=1><tbody><tr align=justify><td>foo<td>bar<td>baz</table><p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<div style=\"text-align:justify\"><table><tbody><tr><td>foo</td><td>bar</td><td>baz</td></tr></tbody></table></div><p>extra</p>" but got "<table style=\"text-align:justify\"><tbody><tr align=\"justify\"><td>foo</td><td>bar</td><td>baz</td></tr></tbody></table><p>extra</p>"
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table data-start=0 data-end=1><tbody><tr align=justify><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("stylewithcss") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table data-start=0 data-end=1><tbody><tr align=justify><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("stylewithcss") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table data-start=0 data-end=1><tbody><tr align=justify><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("stylewithcss") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table data-start=0 data-end=1><tbody><tr align=justify><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("stylewithcss") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table data-start=0 data-end=1><tbody><tr align=justify><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("stylewithcss") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table data-start=0 data-end=1><tbody><tr align=justify><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("stylewithcss") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table data-start=0 data-end=1><tbody><tr align=justify><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("defaultparagraphseparator") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table data-start=0 data-end=1><tbody><tr align=justify><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("defaultparagraphseparator") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table data-start=0 data-end=1><tbody><tr align=justify><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("defaultparagraphseparator") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table data-start=0 data-end=1><tbody><tr align=justify><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("defaultparagraphseparator") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table data-start=0 data-end=1><tbody><tr align=justify><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("defaultparagraphseparator") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table data-start=0 data-end=1><tbody><tr align=justify><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("defaultparagraphseparator") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table data-start=0 data-end=1><tbody><tr align=justify><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("justifyfull") before 
+FAIL [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table data-start=0 data-end=1><tbody><tr align=justify><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("justifyfull") before assert_equals: Wrong result returned expected true but got false
+FAIL [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table data-start=0 data-end=1><tbody><tr align=justify><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("justifyfull") before assert_equals: Wrong result returned expected "justify" but got "false"
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table data-start=0 data-end=1><tbody><tr align=justify><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("justifyfull") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table data-start=0 data-end=1><tbody><tr align=justify><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("justifyfull") after 
+FAIL [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<table data-start=0 data-end=1><tbody><tr align=justify><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("justifyfull") after assert_equals: Wrong result returned expected "justify" but got "true"
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table data-start=0 data-end=1><tbody><tr align=justify><td>foo<td>bar<td>baz</table><p>extra": execCommand("stylewithcss", false, "true") return value 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table data-start=0 data-end=1><tbody><tr align=justify><td>foo<td>bar<td>baz</table><p>extra": execCommand("defaultparagraphseparator", false, "p") return value 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table data-start=0 data-end=1><tbody><tr align=justify><td>foo<td>bar<td>baz</table><p>extra": execCommand("justifyfull", false, "") return value 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table data-start=0 data-end=1><tbody><tr align=justify><td>foo<td>bar<td>baz</table><p>extra" checks for modifications to non-editable content 
+FAIL [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table data-start=0 data-end=1><tbody><tr align=justify><td>foo<td>bar<td>baz</table><p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<div style=\"text-align:justify\"><table><tbody><tr><td>foo</td><td>bar</td><td>baz</td></tr></tbody></table></div><p>extra</p>" but got "<table style=\"text-align:justify\"><tbody><tr align=\"justify\"><td>foo</td><td>bar</td><td>baz</td></tr></tbody></table><p>extra</p>"
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table data-start=0 data-end=1><tbody><tr align=justify><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("stylewithcss") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table data-start=0 data-end=1><tbody><tr align=justify><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("stylewithcss") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table data-start=0 data-end=1><tbody><tr align=justify><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("stylewithcss") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table data-start=0 data-end=1><tbody><tr align=justify><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("stylewithcss") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table data-start=0 data-end=1><tbody><tr align=justify><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("stylewithcss") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table data-start=0 data-end=1><tbody><tr align=justify><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("stylewithcss") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table data-start=0 data-end=1><tbody><tr align=justify><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("defaultparagraphseparator") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table data-start=0 data-end=1><tbody><tr align=justify><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("defaultparagraphseparator") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table data-start=0 data-end=1><tbody><tr align=justify><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("defaultparagraphseparator") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table data-start=0 data-end=1><tbody><tr align=justify><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("defaultparagraphseparator") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table data-start=0 data-end=1><tbody><tr align=justify><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("defaultparagraphseparator") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table data-start=0 data-end=1><tbody><tr align=justify><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("defaultparagraphseparator") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table data-start=0 data-end=1><tbody><tr align=justify><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("justifyfull") before 
+FAIL [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table data-start=0 data-end=1><tbody><tr align=justify><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("justifyfull") before assert_equals: Wrong result returned expected true but got false
+FAIL [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table data-start=0 data-end=1><tbody><tr align=justify><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("justifyfull") before assert_equals: Wrong result returned expected "justify" but got "false"
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table data-start=0 data-end=1><tbody><tr align=justify><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("justifyfull") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table data-start=0 data-end=1><tbody><tr align=justify><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("justifyfull") after 
+FAIL [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table data-start=0 data-end=1><tbody><tr align=justify><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("justifyfull") after assert_equals: Wrong result returned expected "justify" but got "true"
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table data-start=0 data-end=1><tbody><tr align=justify><td>foo<td>bar<td>baz</table><p>extra": execCommand("stylewithcss", false, "false") return value 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table data-start=0 data-end=1><tbody><tr align=justify><td>foo<td>bar<td>baz</table><p>extra": execCommand("defaultparagraphseparator", false, "p") return value 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table data-start=0 data-end=1><tbody><tr align=justify><td>foo<td>bar<td>baz</table><p>extra": execCommand("justifyfull", false, "") return value 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table data-start=0 data-end=1><tbody><tr align=justify><td>foo<td>bar<td>baz</table><p>extra" checks for modifications to non-editable content 
+FAIL [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table data-start=0 data-end=1><tbody><tr align=justify><td>foo<td>bar<td>baz</table><p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<div style=\"text-align:justify\"><table><tbody><tr><td>foo</td><td>bar</td><td>baz</td></tr></tbody></table></div><p>extra</p>" but got "<table style=\"text-align:justify\"><tbody><tr align=\"justify\"><td>foo</td><td>bar</td><td>baz</td></tr></tbody></table><p>extra</p>"
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table data-start=0 data-end=1><tbody><tr align=justify><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("stylewithcss") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table data-start=0 data-end=1><tbody><tr align=justify><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("stylewithcss") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table data-start=0 data-end=1><tbody><tr align=justify><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("stylewithcss") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table data-start=0 data-end=1><tbody><tr align=justify><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("stylewithcss") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table data-start=0 data-end=1><tbody><tr align=justify><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("stylewithcss") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table data-start=0 data-end=1><tbody><tr align=justify><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("stylewithcss") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table data-start=0 data-end=1><tbody><tr align=justify><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("defaultparagraphseparator") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table data-start=0 data-end=1><tbody><tr align=justify><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("defaultparagraphseparator") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table data-start=0 data-end=1><tbody><tr align=justify><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("defaultparagraphseparator") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table data-start=0 data-end=1><tbody><tr align=justify><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("defaultparagraphseparator") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table data-start=0 data-end=1><tbody><tr align=justify><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("defaultparagraphseparator") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table data-start=0 data-end=1><tbody><tr align=justify><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("defaultparagraphseparator") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table data-start=0 data-end=1><tbody><tr align=justify><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("justifyfull") before 
+FAIL [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table data-start=0 data-end=1><tbody><tr align=justify><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("justifyfull") before assert_equals: Wrong result returned expected true but got false
+FAIL [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table data-start=0 data-end=1><tbody><tr align=justify><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("justifyfull") before assert_equals: Wrong result returned expected "justify" but got "false"
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table data-start=0 data-end=1><tbody><tr align=justify><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("justifyfull") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table data-start=0 data-end=1><tbody><tr align=justify><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("justifyfull") after 
+FAIL [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<table data-start=0 data-end=1><tbody><tr align=justify><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("justifyfull") after assert_equals: Wrong result returned expected "justify" but got "true"
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "{<table><tr align=justify><td>foo<td>bar<td>baz</table>}<p>extra": execCommand("stylewithcss", false, "true") return value 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "{<table><tr align=justify><td>foo<td>bar<td>baz</table>}<p>extra": execCommand("defaultparagraphseparator", false, "div") return value 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "{<table><tr align=justify><td>foo<td>bar<td>baz</table>}<p>extra": execCommand("justifyfull", false, "") return value 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "{<table><tr align=justify><td>foo<td>bar<td>baz</table>}<p>extra" checks for modifications to non-editable content 
+FAIL [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "{<table><tr align=justify><td>foo<td>bar<td>baz</table>}<p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<div style=\"text-align:justify\"><table><tbody><tr><td>foo</td><td>bar</td><td>baz</td></tr></tbody></table></div><p>extra</p>" but got "<table style=\"text-align:justify\"><tbody><tr align=\"justify\"><td>foo</td><td>bar</td><td>baz</td></tr></tbody></table><p style=\"text-align:justify\">extra</p>"
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "{<table><tr align=justify><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandIndeterm("stylewithcss") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "{<table><tr align=justify><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandState("stylewithcss") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "{<table><tr align=justify><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandValue("stylewithcss") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "{<table><tr align=justify><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandIndeterm("stylewithcss") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "{<table><tr align=justify><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandState("stylewithcss") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "{<table><tr align=justify><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandValue("stylewithcss") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "{<table><tr align=justify><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandIndeterm("defaultparagraphseparator") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "{<table><tr align=justify><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandState("defaultparagraphseparator") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "{<table><tr align=justify><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandValue("defaultparagraphseparator") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "{<table><tr align=justify><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandIndeterm("defaultparagraphseparator") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "{<table><tr align=justify><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandState("defaultparagraphseparator") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "{<table><tr align=justify><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandValue("defaultparagraphseparator") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "{<table><tr align=justify><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandIndeterm("justifyfull") before 
+FAIL [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "{<table><tr align=justify><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandState("justifyfull") before assert_equals: Wrong result returned expected true but got false
+FAIL [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "{<table><tr align=justify><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandValue("justifyfull") before assert_equals: Wrong result returned expected "justify" but got "false"
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "{<table><tr align=justify><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandIndeterm("justifyfull") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "{<table><tr align=justify><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandState("justifyfull") after 
+FAIL [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "{<table><tr align=justify><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandValue("justifyfull") after assert_equals: Wrong result returned expected "justify" but got "true"
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "{<table><tr align=justify><td>foo<td>bar<td>baz</table>}<p>extra": execCommand("stylewithcss", false, "false") return value 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "{<table><tr align=justify><td>foo<td>bar<td>baz</table>}<p>extra": execCommand("defaultparagraphseparator", false, "div") return value 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "{<table><tr align=justify><td>foo<td>bar<td>baz</table>}<p>extra": execCommand("justifyfull", false, "") return value 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "{<table><tr align=justify><td>foo<td>bar<td>baz</table>}<p>extra" checks for modifications to non-editable content 
+FAIL [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "{<table><tr align=justify><td>foo<td>bar<td>baz</table>}<p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<div style=\"text-align:justify\"><table><tbody><tr><td>foo</td><td>bar</td><td>baz</td></tr></tbody></table></div><p>extra</p>" but got "<table style=\"text-align:justify\"><tbody><tr align=\"justify\"><td>foo</td><td>bar</td><td>baz</td></tr></tbody></table><p style=\"text-align:justify\">extra</p>"
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "{<table><tr align=justify><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandIndeterm("stylewithcss") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "{<table><tr align=justify><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandState("stylewithcss") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "{<table><tr align=justify><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandValue("stylewithcss") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "{<table><tr align=justify><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandIndeterm("stylewithcss") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "{<table><tr align=justify><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandState("stylewithcss") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "{<table><tr align=justify><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandValue("stylewithcss") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "{<table><tr align=justify><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandIndeterm("defaultparagraphseparator") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "{<table><tr align=justify><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandState("defaultparagraphseparator") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "{<table><tr align=justify><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandValue("defaultparagraphseparator") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "{<table><tr align=justify><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandIndeterm("defaultparagraphseparator") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "{<table><tr align=justify><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandState("defaultparagraphseparator") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "{<table><tr align=justify><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandValue("defaultparagraphseparator") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "{<table><tr align=justify><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandIndeterm("justifyfull") before 
+FAIL [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "{<table><tr align=justify><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandState("justifyfull") before assert_equals: Wrong result returned expected true but got false
+FAIL [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "{<table><tr align=justify><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandValue("justifyfull") before assert_equals: Wrong result returned expected "justify" but got "false"
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "{<table><tr align=justify><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandIndeterm("justifyfull") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "{<table><tr align=justify><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandState("justifyfull") after 
+FAIL [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "{<table><tr align=justify><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandValue("justifyfull") after assert_equals: Wrong result returned expected "justify" but got "true"
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "{<table><tr align=justify><td>foo<td>bar<td>baz</table>}<p>extra": execCommand("stylewithcss", false, "true") return value 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "{<table><tr align=justify><td>foo<td>bar<td>baz</table>}<p>extra": execCommand("defaultparagraphseparator", false, "p") return value 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "{<table><tr align=justify><td>foo<td>bar<td>baz</table>}<p>extra": execCommand("justifyfull", false, "") return value 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "{<table><tr align=justify><td>foo<td>bar<td>baz</table>}<p>extra" checks for modifications to non-editable content 
+FAIL [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "{<table><tr align=justify><td>foo<td>bar<td>baz</table>}<p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<div style=\"text-align:justify\"><table><tbody><tr><td>foo</td><td>bar</td><td>baz</td></tr></tbody></table></div><p>extra</p>" but got "<table style=\"text-align:justify\"><tbody><tr align=\"justify\"><td>foo</td><td>bar</td><td>baz</td></tr></tbody></table><p style=\"text-align:justify\">extra</p>"
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "{<table><tr align=justify><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandIndeterm("stylewithcss") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "{<table><tr align=justify><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandState("stylewithcss") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "{<table><tr align=justify><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandValue("stylewithcss") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "{<table><tr align=justify><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandIndeterm("stylewithcss") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "{<table><tr align=justify><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandState("stylewithcss") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "{<table><tr align=justify><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandValue("stylewithcss") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "{<table><tr align=justify><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandIndeterm("defaultparagraphseparator") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "{<table><tr align=justify><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandState("defaultparagraphseparator") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "{<table><tr align=justify><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandValue("defaultparagraphseparator") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "{<table><tr align=justify><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandIndeterm("defaultparagraphseparator") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "{<table><tr align=justify><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandState("defaultparagraphseparator") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "{<table><tr align=justify><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandValue("defaultparagraphseparator") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "{<table><tr align=justify><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandIndeterm("justifyfull") before 
+FAIL [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "{<table><tr align=justify><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandState("justifyfull") before assert_equals: Wrong result returned expected true but got false
+FAIL [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "{<table><tr align=justify><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandValue("justifyfull") before assert_equals: Wrong result returned expected "justify" but got "false"
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "{<table><tr align=justify><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandIndeterm("justifyfull") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "{<table><tr align=justify><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandState("justifyfull") after 
+FAIL [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "{<table><tr align=justify><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandValue("justifyfull") after assert_equals: Wrong result returned expected "justify" but got "true"
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "{<table><tr align=justify><td>foo<td>bar<td>baz</table>}<p>extra": execCommand("stylewithcss", false, "false") return value 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "{<table><tr align=justify><td>foo<td>bar<td>baz</table>}<p>extra": execCommand("defaultparagraphseparator", false, "p") return value 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "{<table><tr align=justify><td>foo<td>bar<td>baz</table>}<p>extra": execCommand("justifyfull", false, "") return value 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "{<table><tr align=justify><td>foo<td>bar<td>baz</table>}<p>extra" checks for modifications to non-editable content 
+FAIL [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "{<table><tr align=justify><td>foo<td>bar<td>baz</table>}<p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<div style=\"text-align:justify\"><table><tbody><tr><td>foo</td><td>bar</td><td>baz</td></tr></tbody></table></div><p>extra</p>" but got "<table style=\"text-align:justify\"><tbody><tr align=\"justify\"><td>foo</td><td>bar</td><td>baz</td></tr></tbody></table><p style=\"text-align:justify\">extra</p>"
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "{<table><tr align=justify><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandIndeterm("stylewithcss") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "{<table><tr align=justify><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandState("stylewithcss") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "{<table><tr align=justify><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandValue("stylewithcss") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "{<table><tr align=justify><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandIndeterm("stylewithcss") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "{<table><tr align=justify><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandState("stylewithcss") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "{<table><tr align=justify><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandValue("stylewithcss") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "{<table><tr align=justify><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandIndeterm("defaultparagraphseparator") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "{<table><tr align=justify><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandState("defaultparagraphseparator") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "{<table><tr align=justify><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandValue("defaultparagraphseparator") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "{<table><tr align=justify><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandIndeterm("defaultparagraphseparator") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "{<table><tr align=justify><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandState("defaultparagraphseparator") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "{<table><tr align=justify><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandValue("defaultparagraphseparator") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "{<table><tr align=justify><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandIndeterm("justifyfull") before 
+FAIL [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "{<table><tr align=justify><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandState("justifyfull") before assert_equals: Wrong result returned expected true but got false
+FAIL [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "{<table><tr align=justify><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandValue("justifyfull") before assert_equals: Wrong result returned expected "justify" but got "false"
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "{<table><tr align=justify><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandIndeterm("justifyfull") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "{<table><tr align=justify><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandState("justifyfull") after 
+FAIL [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "{<table><tr align=justify><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandValue("justifyfull") after assert_equals: Wrong result returned expected "justify" but got "true"
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<div align=center><p>[foo]<p>bar</div><p>extra": execCommand("stylewithcss", false, "true") return value 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<div align=center><p>[foo]<p>bar</div><p>extra": execCommand("defaultparagraphseparator", false, "div") return value 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<div align=center><p>[foo]<p>bar</div><p>extra": execCommand("justifyfull", false, "") return value 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<div align=center><p>[foo]<p>bar</div><p>extra" checks for modifications to non-editable content 
+FAIL [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<div align=center><p>[foo]<p>bar</div><p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<div align=\"center\"><div style=\"text-align:justify\"><p>foo</p></div><p>bar</p></div><p>extra</p>" but got "<div align=\"center\"><p style=\"text-align:justify\">foo</p><p>bar</p></div><p>extra</p>"
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<div align=center><p>[foo]<p>bar</div><p>extra" queryCommandIndeterm("stylewithcss") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<div align=center><p>[foo]<p>bar</div><p>extra" queryCommandState("stylewithcss") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<div align=center><p>[foo]<p>bar</div><p>extra" queryCommandValue("stylewithcss") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<div align=center><p>[foo]<p>bar</div><p>extra" queryCommandIndeterm("stylewithcss") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<div align=center><p>[foo]<p>bar</div><p>extra" queryCommandState("stylewithcss") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<div align=center><p>[foo]<p>bar</div><p>extra" queryCommandValue("stylewithcss") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<div align=center><p>[foo]<p>bar</div><p>extra" queryCommandIndeterm("defaultparagraphseparator") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<div align=center><p>[foo]<p>bar</div><p>extra" queryCommandState("defaultparagraphseparator") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<div align=center><p>[foo]<p>bar</div><p>extra" queryCommandValue("defaultparagraphseparator") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<div align=center><p>[foo]<p>bar</div><p>extra" queryCommandIndeterm("defaultparagraphseparator") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<div align=center><p>[foo]<p>bar</div><p>extra" queryCommandState("defaultparagraphseparator") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<div align=center><p>[foo]<p>bar</div><p>extra" queryCommandValue("defaultparagraphseparator") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<div align=center><p>[foo]<p>bar</div><p>extra" queryCommandIndeterm("justifyfull") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<div align=center><p>[foo]<p>bar</div><p>extra" queryCommandState("justifyfull") before 
+FAIL [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<div align=center><p>[foo]<p>bar</div><p>extra" queryCommandValue("justifyfull") before assert_equals: Wrong result returned expected "center" but got "false"
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<div align=center><p>[foo]<p>bar</div><p>extra" queryCommandIndeterm("justifyfull") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<div align=center><p>[foo]<p>bar</div><p>extra" queryCommandState("justifyfull") after 
+FAIL [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<div align=center><p>[foo]<p>bar</div><p>extra" queryCommandValue("justifyfull") after assert_equals: Wrong result returned expected "justify" but got "true"
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<div align=center><p>[foo]<p>bar</div><p>extra": execCommand("stylewithcss", false, "false") return value 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<div align=center><p>[foo]<p>bar</div><p>extra": execCommand("defaultparagraphseparator", false, "div") return value 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<div align=center><p>[foo]<p>bar</div><p>extra": execCommand("justifyfull", false, "") return value 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<div align=center><p>[foo]<p>bar</div><p>extra" checks for modifications to non-editable content 
+FAIL [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<div align=center><p>[foo]<p>bar</div><p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<div align=\"center\"><div style=\"text-align:justify\"><p>foo</p></div><p>bar</p></div><p>extra</p>" but got "<div align=\"center\"><p style=\"text-align:justify\">foo</p><p>bar</p></div><p>extra</p>"
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<div align=center><p>[foo]<p>bar</div><p>extra" queryCommandIndeterm("stylewithcss") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<div align=center><p>[foo]<p>bar</div><p>extra" queryCommandState("stylewithcss") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<div align=center><p>[foo]<p>bar</div><p>extra" queryCommandValue("stylewithcss") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<div align=center><p>[foo]<p>bar</div><p>extra" queryCommandIndeterm("stylewithcss") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<div align=center><p>[foo]<p>bar</div><p>extra" queryCommandState("stylewithcss") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<div align=center><p>[foo]<p>bar</div><p>extra" queryCommandValue("stylewithcss") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<div align=center><p>[foo]<p>bar</div><p>extra" queryCommandIndeterm("defaultparagraphseparator") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<div align=center><p>[foo]<p>bar</div><p>extra" queryCommandState("defaultparagraphseparator") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<div align=center><p>[foo]<p>bar</div><p>extra" queryCommandValue("defaultparagraphseparator") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<div align=center><p>[foo]<p>bar</div><p>extra" queryCommandIndeterm("defaultparagraphseparator") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<div align=center><p>[foo]<p>bar</div><p>extra" queryCommandState("defaultparagraphseparator") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<div align=center><p>[foo]<p>bar</div><p>extra" queryCommandValue("defaultparagraphseparator") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<div align=center><p>[foo]<p>bar</div><p>extra" queryCommandIndeterm("justifyfull") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<div align=center><p>[foo]<p>bar</div><p>extra" queryCommandState("justifyfull") before 
+FAIL [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<div align=center><p>[foo]<p>bar</div><p>extra" queryCommandValue("justifyfull") before assert_equals: Wrong result returned expected "center" but got "false"
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<div align=center><p>[foo]<p>bar</div><p>extra" queryCommandIndeterm("justifyfull") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<div align=center><p>[foo]<p>bar</div><p>extra" queryCommandState("justifyfull") after 
+FAIL [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<div align=center><p>[foo]<p>bar</div><p>extra" queryCommandValue("justifyfull") after assert_equals: Wrong result returned expected "justify" but got "true"
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<div align=center><p>[foo]<p>bar</div><p>extra": execCommand("stylewithcss", false, "true") return value 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<div align=center><p>[foo]<p>bar</div><p>extra": execCommand("defaultparagraphseparator", false, "p") return value 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<div align=center><p>[foo]<p>bar</div><p>extra": execCommand("justifyfull", false, "") return value 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<div align=center><p>[foo]<p>bar</div><p>extra" checks for modifications to non-editable content 
+FAIL [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<div align=center><p>[foo]<p>bar</div><p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<div align=\"center\"><div style=\"text-align:justify\"><p>foo</p></div><p>bar</p></div><p>extra</p>" but got "<div align=\"center\"><p style=\"text-align:justify\">foo</p><p>bar</p></div><p>extra</p>"
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<div align=center><p>[foo]<p>bar</div><p>extra" queryCommandIndeterm("stylewithcss") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<div align=center><p>[foo]<p>bar</div><p>extra" queryCommandState("stylewithcss") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<div align=center><p>[foo]<p>bar</div><p>extra" queryCommandValue("stylewithcss") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<div align=center><p>[foo]<p>bar</div><p>extra" queryCommandIndeterm("stylewithcss") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<div align=center><p>[foo]<p>bar</div><p>extra" queryCommandState("stylewithcss") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<div align=center><p>[foo]<p>bar</div><p>extra" queryCommandValue("stylewithcss") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<div align=center><p>[foo]<p>bar</div><p>extra" queryCommandIndeterm("defaultparagraphseparator") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<div align=center><p>[foo]<p>bar</div><p>extra" queryCommandState("defaultparagraphseparator") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<div align=center><p>[foo]<p>bar</div><p>extra" queryCommandValue("defaultparagraphseparator") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<div align=center><p>[foo]<p>bar</div><p>extra" queryCommandIndeterm("defaultparagraphseparator") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<div align=center><p>[foo]<p>bar</div><p>extra" queryCommandState("defaultparagraphseparator") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<div align=center><p>[foo]<p>bar</div><p>extra" queryCommandValue("defaultparagraphseparator") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<div align=center><p>[foo]<p>bar</div><p>extra" queryCommandIndeterm("justifyfull") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<div align=center><p>[foo]<p>bar</div><p>extra" queryCommandState("justifyfull") before 
+FAIL [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<div align=center><p>[foo]<p>bar</div><p>extra" queryCommandValue("justifyfull") before assert_equals: Wrong result returned expected "center" but got "false"
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<div align=center><p>[foo]<p>bar</div><p>extra" queryCommandIndeterm("justifyfull") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<div align=center><p>[foo]<p>bar</div><p>extra" queryCommandState("justifyfull") after 
+FAIL [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<div align=center><p>[foo]<p>bar</div><p>extra" queryCommandValue("justifyfull") after assert_equals: Wrong result returned expected "justify" but got "true"
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<div align=center><p>[foo]<p>bar</div><p>extra": execCommand("stylewithcss", false, "false") return value 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<div align=center><p>[foo]<p>bar</div><p>extra": execCommand("defaultparagraphseparator", false, "p") return value 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<div align=center><p>[foo]<p>bar</div><p>extra": execCommand("justifyfull", false, "") return value 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<div align=center><p>[foo]<p>bar</div><p>extra" checks for modifications to non-editable content 
+FAIL [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<div align=center><p>[foo]<p>bar</div><p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<div align=\"center\"><div style=\"text-align:justify\"><p>foo</p></div><p>bar</p></div><p>extra</p>" but got "<div align=\"center\"><p style=\"text-align:justify\">foo</p><p>bar</p></div><p>extra</p>"
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<div align=center><p>[foo]<p>bar</div><p>extra" queryCommandIndeterm("stylewithcss") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<div align=center><p>[foo]<p>bar</div><p>extra" queryCommandState("stylewithcss") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<div align=center><p>[foo]<p>bar</div><p>extra" queryCommandValue("stylewithcss") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<div align=center><p>[foo]<p>bar</div><p>extra" queryCommandIndeterm("stylewithcss") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<div align=center><p>[foo]<p>bar</div><p>extra" queryCommandState("stylewithcss") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<div align=center><p>[foo]<p>bar</div><p>extra" queryCommandValue("stylewithcss") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<div align=center><p>[foo]<p>bar</div><p>extra" queryCommandIndeterm("defaultparagraphseparator") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<div align=center><p>[foo]<p>bar</div><p>extra" queryCommandState("defaultparagraphseparator") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<div align=center><p>[foo]<p>bar</div><p>extra" queryCommandValue("defaultparagraphseparator") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<div align=center><p>[foo]<p>bar</div><p>extra" queryCommandIndeterm("defaultparagraphseparator") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<div align=center><p>[foo]<p>bar</div><p>extra" queryCommandState("defaultparagraphseparator") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<div align=center><p>[foo]<p>bar</div><p>extra" queryCommandValue("defaultparagraphseparator") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<div align=center><p>[foo]<p>bar</div><p>extra" queryCommandIndeterm("justifyfull") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<div align=center><p>[foo]<p>bar</div><p>extra" queryCommandState("justifyfull") before 
+FAIL [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<div align=center><p>[foo]<p>bar</div><p>extra" queryCommandValue("justifyfull") before assert_equals: Wrong result returned expected "center" but got "false"
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<div align=center><p>[foo]<p>bar</div><p>extra" queryCommandIndeterm("justifyfull") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<div align=center><p>[foo]<p>bar</div><p>extra" queryCommandState("justifyfull") after 
+FAIL [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<div align=center><p>[foo]<p>bar</div><p>extra" queryCommandValue("justifyfull") after assert_equals: Wrong result returned expected "justify" but got "true"
+PASS [["stylewithcss","true"],["justifyfull",""]] "<div align=center><p>[foo<p>bar}</div><p>extra": execCommand("stylewithcss", false, "true") return value 
+PASS [["stylewithcss","true"],["justifyfull",""]] "<div align=center><p>[foo<p>bar}</div><p>extra": execCommand("justifyfull", false, "") return value 
+PASS [["stylewithcss","true"],["justifyfull",""]] "<div align=center><p>[foo<p>bar}</div><p>extra" checks for modifications to non-editable content 
+FAIL [["stylewithcss","true"],["justifyfull",""]] "<div align=center><p>[foo<p>bar}</div><p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<div style=\"text-align:justify\"><p>foo</p><p>bar</p></div><p>extra</p>" but got "<div align=\"center\"><p style=\"text-align:justify\">foo</p><p style=\"text-align:justify\">bar</p></div><p>extra</p>"
+PASS [["stylewithcss","true"],["justifyfull",""]] "<div align=center><p>[foo<p>bar}</div><p>extra" queryCommandIndeterm("stylewithcss") before 
+PASS [["stylewithcss","true"],["justifyfull",""]] "<div align=center><p>[foo<p>bar}</div><p>extra" queryCommandState("stylewithcss") before 
+PASS [["stylewithcss","true"],["justifyfull",""]] "<div align=center><p>[foo<p>bar}</div><p>extra" queryCommandValue("stylewithcss") before 
+PASS [["stylewithcss","true"],["justifyfull",""]] "<div align=center><p>[foo<p>bar}</div><p>extra" queryCommandIndeterm("stylewithcss") after 
+PASS [["stylewithcss","true"],["justifyfull",""]] "<div align=center><p>[foo<p>bar}</div><p>extra" queryCommandState("stylewithcss") after 
+PASS [["stylewithcss","true"],["justifyfull",""]] "<div align=center><p>[foo<p>bar}</div><p>extra" queryCommandValue("stylewithcss") after 
+PASS [["stylewithcss","true"],["justifyfull",""]] "<div align=center><p>[foo<p>bar}</div><p>extra" queryCommandIndeterm("justifyfull") before 
+PASS [["stylewithcss","true"],["justifyfull",""]] "<div align=center><p>[foo<p>bar}</div><p>extra" queryCommandState("justifyfull") before 
+FAIL [["stylewithcss","true"],["justifyfull",""]] "<div align=center><p>[foo<p>bar}</div><p>extra" queryCommandValue("justifyfull") before assert_equals: Wrong result returned expected "center" but got "false"
+PASS [["stylewithcss","true"],["justifyfull",""]] "<div align=center><p>[foo<p>bar}</div><p>extra" queryCommandIndeterm("justifyfull") after 
+PASS [["stylewithcss","true"],["justifyfull",""]] "<div align=center><p>[foo<p>bar}</div><p>extra" queryCommandState("justifyfull") after 
+FAIL [["stylewithcss","true"],["justifyfull",""]] "<div align=center><p>[foo<p>bar}</div><p>extra" queryCommandValue("justifyfull") after assert_equals: Wrong result returned expected "justify" but got "true"
+PASS [["stylewithcss","false"],["justifyfull",""]] "<div align=center><p>[foo<p>bar}</div><p>extra": execCommand("stylewithcss", false, "false") return value 
+PASS [["stylewithcss","false"],["justifyfull",""]] "<div align=center><p>[foo<p>bar}</div><p>extra": execCommand("justifyfull", false, "") return value 
+PASS [["stylewithcss","false"],["justifyfull",""]] "<div align=center><p>[foo<p>bar}</div><p>extra" checks for modifications to non-editable content 
+FAIL [["stylewithcss","false"],["justifyfull",""]] "<div align=center><p>[foo<p>bar}</div><p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<div style=\"text-align:justify\"><p>foo</p><p>bar</p></div><p>extra</p>" but got "<div align=\"center\"><p style=\"text-align:justify\">foo</p><p style=\"text-align:justify\">bar</p></div><p>extra</p>"
+PASS [["stylewithcss","false"],["justifyfull",""]] "<div align=center><p>[foo<p>bar}</div><p>extra" queryCommandIndeterm("stylewithcss") before 
+PASS [["stylewithcss","false"],["justifyfull",""]] "<div align=center><p>[foo<p>bar}</div><p>extra" queryCommandState("stylewithcss") before 
+PASS [["stylewithcss","false"],["justifyfull",""]] "<div align=center><p>[foo<p>bar}</div><p>extra" queryCommandValue("stylewithcss") before 
+PASS [["stylewithcss","false"],["justifyfull",""]] "<div align=center><p>[foo<p>bar}</div><p>extra" queryCommandIndeterm("stylewithcss") after 
+PASS [["stylewithcss","false"],["justifyfull",""]] "<div align=center><p>[foo<p>bar}</div><p>extra" queryCommandState("stylewithcss") after 
+PASS [["stylewithcss","false"],["justifyfull",""]] "<div align=center><p>[foo<p>bar}</div><p>extra" queryCommandValue("stylewithcss") after 
+PASS [["stylewithcss","false"],["justifyfull",""]] "<div align=center><p>[foo<p>bar}</div><p>extra" queryCommandIndeterm("justifyfull") before 
+PASS [["stylewithcss","false"],["justifyfull",""]] "<div align=center><p>[foo<p>bar}</div><p>extra" queryCommandState("justifyfull") before 
+FAIL [["stylewithcss","false"],["justifyfull",""]] "<div align=center><p>[foo<p>bar}</div><p>extra" queryCommandValue("justifyfull") before assert_equals: Wrong result returned expected "center" but got "false"
+PASS [["stylewithcss","false"],["justifyfull",""]] "<div align=center><p>[foo<p>bar}</div><p>extra" queryCommandIndeterm("justifyfull") after 
+PASS [["stylewithcss","false"],["justifyfull",""]] "<div align=center><p>[foo<p>bar}</div><p>extra" queryCommandState("justifyfull") after 
+FAIL [["stylewithcss","false"],["justifyfull",""]] "<div align=center><p>[foo<p>bar}</div><p>extra" queryCommandValue("justifyfull") after assert_equals: Wrong result returned expected "justify" but got "true"
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<div style=text-align:center><p>[foo]<p>bar</div><p>extra": execCommand("stylewithcss", false, "true") return value 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<div style=text-align:center><p>[foo]<p>bar</div><p>extra": execCommand("defaultparagraphseparator", false, "div") return value 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<div style=text-align:center><p>[foo]<p>bar</div><p>extra": execCommand("justifyfull", false, "") return value 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<div style=text-align:center><p>[foo]<p>bar</div><p>extra" checks for modifications to non-editable content 
+FAIL [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<div style=text-align:center><p>[foo]<p>bar</div><p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<div style=\"text-align:center\"><div style=\"text-align:justify\"><p>foo</p></div><p>bar</p></div><p>extra</p>" but got "<div style=\"text-align:center\"><p style=\"text-align:justify\">foo</p><p>bar</p></div><p>extra</p>"
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<div style=text-align:center><p>[foo]<p>bar</div><p>extra" queryCommandIndeterm("stylewithcss") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<div style=text-align:center><p>[foo]<p>bar</div><p>extra" queryCommandState("stylewithcss") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<div style=text-align:center><p>[foo]<p>bar</div><p>extra" queryCommandValue("stylewithcss") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<div style=text-align:center><p>[foo]<p>bar</div><p>extra" queryCommandIndeterm("stylewithcss") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<div style=text-align:center><p>[foo]<p>bar</div><p>extra" queryCommandState("stylewithcss") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<div style=text-align:center><p>[foo]<p>bar</div><p>extra" queryCommandValue("stylewithcss") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<div style=text-align:center><p>[foo]<p>bar</div><p>extra" queryCommandIndeterm("defaultparagraphseparator") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<div style=text-align:center><p>[foo]<p>bar</div><p>extra" queryCommandState("defaultparagraphseparator") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<div style=text-align:center><p>[foo]<p>bar</div><p>extra" queryCommandValue("defaultparagraphseparator") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<div style=text-align:center><p>[foo]<p>bar</div><p>extra" queryCommandIndeterm("defaultparagraphseparator") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<div style=text-align:center><p>[foo]<p>bar</div><p>extra" queryCommandState("defaultparagraphseparator") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<div style=text-align:center><p>[foo]<p>bar</div><p>extra" queryCommandValue("defaultparagraphseparator") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<div style=text-align:center><p>[foo]<p>bar</div><p>extra" queryCommandIndeterm("justifyfull") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<div style=text-align:center><p>[foo]<p>bar</div><p>extra" queryCommandState("justifyfull") before 
+FAIL [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<div style=text-align:center><p>[foo]<p>bar</div><p>extra" queryCommandValue("justifyfull") before assert_equals: Wrong result returned expected "center" but got "false"
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<div style=text-align:center><p>[foo]<p>bar</div><p>extra" queryCommandIndeterm("justifyfull") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<div style=text-align:center><p>[foo]<p>bar</div><p>extra" queryCommandState("justifyfull") after 
+FAIL [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<div style=text-align:center><p>[foo]<p>bar</div><p>extra" queryCommandValue("justifyfull") after assert_equals: Wrong result returned expected "justify" but got "true"
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<div style=text-align:center><p>[foo]<p>bar</div><p>extra": execCommand("stylewithcss", false, "false") return value 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<div style=text-align:center><p>[foo]<p>bar</div><p>extra": execCommand("defaultparagraphseparator", false, "div") return value 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<div style=text-align:center><p>[foo]<p>bar</div><p>extra": execCommand("justifyfull", false, "") return value 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<div style=text-align:center><p>[foo]<p>bar</div><p>extra" checks for modifications to non-editable content 
+FAIL [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<div style=text-align:center><p>[foo]<p>bar</div><p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<div style=\"text-align:center\"><div style=\"text-align:justify\"><p>foo</p></div><p>bar</p></div><p>extra</p>" but got "<div style=\"text-align:center\"><p style=\"text-align:justify\">foo</p><p>bar</p></div><p>extra</p>"
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<div style=text-align:center><p>[foo]<p>bar</div><p>extra" queryCommandIndeterm("stylewithcss") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<div style=text-align:center><p>[foo]<p>bar</div><p>extra" queryCommandState("stylewithcss") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<div style=text-align:center><p>[foo]<p>bar</div><p>extra" queryCommandValue("stylewithcss") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<div style=text-align:center><p>[foo]<p>bar</div><p>extra" queryCommandIndeterm("stylewithcss") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<div style=text-align:center><p>[foo]<p>bar</div><p>extra" queryCommandState("stylewithcss") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<div style=text-align:center><p>[foo]<p>bar</div><p>extra" queryCommandValue("stylewithcss") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<div style=text-align:center><p>[foo]<p>bar</div><p>extra" queryCommandIndeterm("defaultparagraphseparator") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<div style=text-align:center><p>[foo]<p>bar</div><p>extra" queryCommandState("defaultparagraphseparator") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<div style=text-align:center><p>[foo]<p>bar</div><p>extra" queryCommandValue("defaultparagraphseparator") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<div style=text-align:center><p>[foo]<p>bar</div><p>extra" queryCommandIndeterm("defaultparagraphseparator") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<div style=text-align:center><p>[foo]<p>bar</div><p>extra" queryCommandState("defaultparagraphseparator") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<div style=text-align:center><p>[foo]<p>bar</div><p>extra" queryCommandValue("defaultparagraphseparator") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<div style=text-align:center><p>[foo]<p>bar</div><p>extra" queryCommandIndeterm("justifyfull") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<div style=text-align:center><p>[foo]<p>bar</div><p>extra" queryCommandState("justifyfull") before 
+FAIL [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<div style=text-align:center><p>[foo]<p>bar</div><p>extra" queryCommandValue("justifyfull") before assert_equals: Wrong result returned expected "center" but got "false"
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<div style=text-align:center><p>[foo]<p>bar</div><p>extra" queryCommandIndeterm("justifyfull") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<div style=text-align:center><p>[foo]<p>bar</div><p>extra" queryCommandState("justifyfull") after 
+FAIL [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<div style=text-align:center><p>[foo]<p>bar</div><p>extra" queryCommandValue("justifyfull") after assert_equals: Wrong result returned expected "justify" but got "true"
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<div style=text-align:center><p>[foo]<p>bar</div><p>extra": execCommand("stylewithcss", false, "true") return value 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<div style=text-align:center><p>[foo]<p>bar</div><p>extra": execCommand("defaultparagraphseparator", false, "p") return value 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<div style=text-align:center><p>[foo]<p>bar</div><p>extra": execCommand("justifyfull", false, "") return value 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<div style=text-align:center><p>[foo]<p>bar</div><p>extra" checks for modifications to non-editable content 
+FAIL [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<div style=text-align:center><p>[foo]<p>bar</div><p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<div style=\"text-align:center\"><div style=\"text-align:justify\"><p>foo</p></div><p>bar</p></div><p>extra</p>" but got "<div style=\"text-align:center\"><p style=\"text-align:justify\">foo</p><p>bar</p></div><p>extra</p>"
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<div style=text-align:center><p>[foo]<p>bar</div><p>extra" queryCommandIndeterm("stylewithcss") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<div style=text-align:center><p>[foo]<p>bar</div><p>extra" queryCommandState("stylewithcss") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<div style=text-align:center><p>[foo]<p>bar</div><p>extra" queryCommandValue("stylewithcss") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<div style=text-align:center><p>[foo]<p>bar</div><p>extra" queryCommandIndeterm("stylewithcss") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<div style=text-align:center><p>[foo]<p>bar</div><p>extra" queryCommandState("stylewithcss") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<div style=text-align:center><p>[foo]<p>bar</div><p>extra" queryCommandValue("stylewithcss") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<div style=text-align:center><p>[foo]<p>bar</div><p>extra" queryCommandIndeterm("defaultparagraphseparator") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<div style=text-align:center><p>[foo]<p>bar</div><p>extra" queryCommandState("defaultparagraphseparator") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<div style=text-align:center><p>[foo]<p>bar</div><p>extra" queryCommandValue("defaultparagraphseparator") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<div style=text-align:center><p>[foo]<p>bar</div><p>extra" queryCommandIndeterm("defaultparagraphseparator") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<div style=text-align:center><p>[foo]<p>bar</div><p>extra" queryCommandState("defaultparagraphseparator") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<div style=text-align:center><p>[foo]<p>bar</div><p>extra" queryCommandValue("defaultparagraphseparator") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<div style=text-align:center><p>[foo]<p>bar</div><p>extra" queryCommandIndeterm("justifyfull") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<div style=text-align:center><p>[foo]<p>bar</div><p>extra" queryCommandState("justifyfull") before 
+FAIL [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<div style=text-align:center><p>[foo]<p>bar</div><p>extra" queryCommandValue("justifyfull") before assert_equals: Wrong result returned expected "center" but got "false"
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<div style=text-align:center><p>[foo]<p>bar</div><p>extra" queryCommandIndeterm("justifyfull") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<div style=text-align:center><p>[foo]<p>bar</div><p>extra" queryCommandState("justifyfull") after 
+FAIL [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<div style=text-align:center><p>[foo]<p>bar</div><p>extra" queryCommandValue("justifyfull") after assert_equals: Wrong result returned expected "justify" but got "true"
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<div style=text-align:center><p>[foo]<p>bar</div><p>extra": execCommand("stylewithcss", false, "false") return value 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<div style=text-align:center><p>[foo]<p>bar</div><p>extra": execCommand("defaultparagraphseparator", false, "p") return value 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<div style=text-align:center><p>[foo]<p>bar</div><p>extra": execCommand("justifyfull", false, "") return value 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<div style=text-align:center><p>[foo]<p>bar</div><p>extra" checks for modifications to non-editable content 
+FAIL [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<div style=text-align:center><p>[foo]<p>bar</div><p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<div style=\"text-align:center\"><div style=\"text-align:justify\"><p>foo</p></div><p>bar</p></div><p>extra</p>" but got "<div style=\"text-align:center\"><p style=\"text-align:justify\">foo</p><p>bar</p></div><p>extra</p>"
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<div style=text-align:center><p>[foo]<p>bar</div><p>extra" queryCommandIndeterm("stylewithcss") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<div style=text-align:center><p>[foo]<p>bar</div><p>extra" queryCommandState("stylewithcss") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<div style=text-align:center><p>[foo]<p>bar</div><p>extra" queryCommandValue("stylewithcss") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<div style=text-align:center><p>[foo]<p>bar</div><p>extra" queryCommandIndeterm("stylewithcss") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<div style=text-align:center><p>[foo]<p>bar</div><p>extra" queryCommandState("stylewithcss") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<div style=text-align:center><p>[foo]<p>bar</div><p>extra" queryCommandValue("stylewithcss") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<div style=text-align:center><p>[foo]<p>bar</div><p>extra" queryCommandIndeterm("defaultparagraphseparator") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<div style=text-align:center><p>[foo]<p>bar</div><p>extra" queryCommandState("defaultparagraphseparator") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<div style=text-align:center><p>[foo]<p>bar</div><p>extra" queryCommandValue("defaultparagraphseparator") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<div style=text-align:center><p>[foo]<p>bar</div><p>extra" queryCommandIndeterm("defaultparagraphseparator") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<div style=text-align:center><p>[foo]<p>bar</div><p>extra" queryCommandState("defaultparagraphseparator") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<div style=text-align:center><p>[foo]<p>bar</div><p>extra" queryCommandValue("defaultparagraphseparator") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<div style=text-align:center><p>[foo]<p>bar</div><p>extra" queryCommandIndeterm("justifyfull") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<div style=text-align:center><p>[foo]<p>bar</div><p>extra" queryCommandState("justifyfull") before 
+FAIL [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<div style=text-align:center><p>[foo]<p>bar</div><p>extra" queryCommandValue("justifyfull") before assert_equals: Wrong result returned expected "center" but got "false"
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<div style=text-align:center><p>[foo]<p>bar</div><p>extra" queryCommandIndeterm("justifyfull") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<div style=text-align:center><p>[foo]<p>bar</div><p>extra" queryCommandState("justifyfull") after 
+FAIL [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<div style=text-align:center><p>[foo]<p>bar</div><p>extra" queryCommandValue("justifyfull") after assert_equals: Wrong result returned expected "justify" but got "true"
+PASS [["justifyfull",""]] "<div style=text-align:center><p>[foo<p>bar]</div><p>extra": execCommand("justifyfull", false, "") return value 
+PASS [["justifyfull",""]] "<div style=text-align:center><p>[foo<p>bar]</div><p>extra" checks for modifications to non-editable content 
+FAIL [["justifyfull",""]] "<div style=text-align:center><p>[foo<p>bar]</div><p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<div style=\"text-align:justify\"><p>foo</p><p>bar</p></div><p>extra</p>" but got "<div style=\"text-align:center\"><p style=\"text-align:justify\">foo</p><p style=\"text-align:justify\">bar</p></div><p>extra</p>"
+PASS [["justifyfull",""]] "<div style=text-align:center><p>[foo<p>bar]</div><p>extra" queryCommandIndeterm("justifyfull") before 
+PASS [["justifyfull",""]] "<div style=text-align:center><p>[foo<p>bar]</div><p>extra" queryCommandState("justifyfull") before 
+FAIL [["justifyfull",""]] "<div style=text-align:center><p>[foo<p>bar]</div><p>extra" queryCommandValue("justifyfull") before assert_equals: Wrong result returned expected "center" but got "false"
+PASS [["justifyfull",""]] "<div style=text-align:center><p>[foo<p>bar]</div><p>extra" queryCommandIndeterm("justifyfull") after 
+PASS [["justifyfull",""]] "<div style=text-align:center><p>[foo<p>bar]</div><p>extra" queryCommandState("justifyfull") after 
+FAIL [["justifyfull",""]] "<div style=text-align:center><p>[foo<p>bar]</div><p>extra" queryCommandValue("justifyfull") after assert_equals: Wrong result returned expected "justify" but got "true"
+PASS [["justifyfull",""]] "<div align=justify><p>[foo]<p>bar</div><p>extra": execCommand("justifyfull", false, "") return value 
+PASS [["justifyfull",""]] "<div align=justify><p>[foo]<p>bar</div><p>extra" checks for modifications to non-editable content 
+PASS [["justifyfull",""]] "<div align=justify><p>[foo]<p>bar</div><p>extra" compare innerHTML 
+PASS [["justifyfull",""]] "<div align=justify><p>[foo]<p>bar</div><p>extra" queryCommandIndeterm("justifyfull") before 
+PASS [["justifyfull",""]] "<div align=justify><p>[foo]<p>bar</div><p>extra" queryCommandState("justifyfull") before 
+FAIL [["justifyfull",""]] "<div align=justify><p>[foo]<p>bar</div><p>extra" queryCommandValue("justifyfull") before assert_equals: Wrong result returned expected "justify" but got "true"
+PASS [["justifyfull",""]] "<div align=justify><p>[foo]<p>bar</div><p>extra" queryCommandIndeterm("justifyfull") after 
+PASS [["justifyfull",""]] "<div align=justify><p>[foo]<p>bar</div><p>extra" queryCommandState("justifyfull") after 
+FAIL [["justifyfull",""]] "<div align=justify><p>[foo]<p>bar</div><p>extra" queryCommandValue("justifyfull") after assert_equals: Wrong result returned expected "justify" but got "true"
+PASS [["stylewithcss","true"],["justifyfull",""]] "<div align=justify><p>[foo<p>bar}</div><p>extra": execCommand("stylewithcss", false, "true") return value 
+PASS [["stylewithcss","true"],["justifyfull",""]] "<div align=justify><p>[foo<p>bar}</div><p>extra": execCommand("justifyfull", false, "") return value 
+PASS [["stylewithcss","true"],["justifyfull",""]] "<div align=justify><p>[foo<p>bar}</div><p>extra" checks for modifications to non-editable content 
+FAIL [["stylewithcss","true"],["justifyfull",""]] "<div align=justify><p>[foo<p>bar}</div><p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<div style=\"text-align:justify\"><p>foo</p><p>bar</p></div><p>extra</p>" but got "<div align=\"justify\"><p>foo</p><p>bar</p></div><p>extra</p>"
+PASS [["stylewithcss","true"],["justifyfull",""]] "<div align=justify><p>[foo<p>bar}</div><p>extra" queryCommandIndeterm("stylewithcss") before 
+PASS [["stylewithcss","true"],["justifyfull",""]] "<div align=justify><p>[foo<p>bar}</div><p>extra" queryCommandState("stylewithcss") before 
+PASS [["stylewithcss","true"],["justifyfull",""]] "<div align=justify><p>[foo<p>bar}</div><p>extra" queryCommandValue("stylewithcss") before 
+PASS [["stylewithcss","true"],["justifyfull",""]] "<div align=justify><p>[foo<p>bar}</div><p>extra" queryCommandIndeterm("stylewithcss") after 
+PASS [["stylewithcss","true"],["justifyfull",""]] "<div align=justify><p>[foo<p>bar}</div><p>extra" queryCommandState("stylewithcss") after 
+PASS [["stylewithcss","true"],["justifyfull",""]] "<div align=justify><p>[foo<p>bar}</div><p>extra" queryCommandValue("stylewithcss") after 
+PASS [["stylewithcss","true"],["justifyfull",""]] "<div align=justify><p>[foo<p>bar}</div><p>extra" queryCommandIndeterm("justifyfull") before 
+PASS [["stylewithcss","true"],["justifyfull",""]] "<div align=justify><p>[foo<p>bar}</div><p>extra" queryCommandState("justifyfull") before 
+FAIL [["stylewithcss","true"],["justifyfull",""]] "<div align=justify><p>[foo<p>bar}</div><p>extra" queryCommandValue("justifyfull") before assert_equals: Wrong result returned expected "justify" but got "true"
+PASS [["stylewithcss","true"],["justifyfull",""]] "<div align=justify><p>[foo<p>bar}</div><p>extra" queryCommandIndeterm("justifyfull") after 
+PASS [["stylewithcss","true"],["justifyfull",""]] "<div align=justify><p>[foo<p>bar}</div><p>extra" queryCommandState("justifyfull") after 
+FAIL [["stylewithcss","true"],["justifyfull",""]] "<div align=justify><p>[foo<p>bar}</div><p>extra" queryCommandValue("justifyfull") after assert_equals: Wrong result returned expected "justify" but got "true"
+PASS [["stylewithcss","false"],["justifyfull",""]] "<div align=justify><p>[foo<p>bar}</div><p>extra": execCommand("stylewithcss", false, "false") return value 
+PASS [["stylewithcss","false"],["justifyfull",""]] "<div align=justify><p>[foo<p>bar}</div><p>extra": execCommand("justifyfull", false, "") return value 
+PASS [["stylewithcss","false"],["justifyfull",""]] "<div align=justify><p>[foo<p>bar}</div><p>extra" checks for modifications to non-editable content 
+FAIL [["stylewithcss","false"],["justifyfull",""]] "<div align=justify><p>[foo<p>bar}</div><p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<div style=\"text-align:justify\"><p>foo</p><p>bar</p></div><p>extra</p>" but got "<div align=\"justify\"><p>foo</p><p>bar</p></div><p>extra</p>"
+PASS [["stylewithcss","false"],["justifyfull",""]] "<div align=justify><p>[foo<p>bar}</div><p>extra" queryCommandIndeterm("stylewithcss") before 
+PASS [["stylewithcss","false"],["justifyfull",""]] "<div align=justify><p>[foo<p>bar}</div><p>extra" queryCommandState("stylewithcss") before 
+PASS [["stylewithcss","false"],["justifyfull",""]] "<div align=justify><p>[foo<p>bar}</div><p>extra" queryCommandValue("stylewithcss") before 
+PASS [["stylewithcss","false"],["justifyfull",""]] "<div align=justify><p>[foo<p>bar}</div><p>extra" queryCommandIndeterm("stylewithcss") after 
+PASS [["stylewithcss","false"],["justifyfull",""]] "<div align=justify><p>[foo<p>bar}</div><p>extra" queryCommandState("stylewithcss") after 
+PASS [["stylewithcss","false"],["justifyfull",""]] "<div align=justify><p>[foo<p>bar}</div><p>extra" queryCommandValue("stylewithcss") after 
+PASS [["stylewithcss","false"],["justifyfull",""]] "<div align=justify><p>[foo<p>bar}</div><p>extra" queryCommandIndeterm("justifyfull") before 
+PASS [["stylewithcss","false"],["justifyfull",""]] "<div align=justify><p>[foo<p>bar}</div><p>extra" queryCommandState("justifyfull") before 
+FAIL [["stylewithcss","false"],["justifyfull",""]] "<div align=justify><p>[foo<p>bar}</div><p>extra" queryCommandValue("justifyfull") before assert_equals: Wrong result returned expected "justify" but got "true"
+PASS [["stylewithcss","false"],["justifyfull",""]] "<div align=justify><p>[foo<p>bar}</div><p>extra" queryCommandIndeterm("justifyfull") after 
+PASS [["stylewithcss","false"],["justifyfull",""]] "<div align=justify><p>[foo<p>bar}</div><p>extra" queryCommandState("justifyfull") after 
+FAIL [["stylewithcss","false"],["justifyfull",""]] "<div align=justify><p>[foo<p>bar}</div><p>extra" queryCommandValue("justifyfull") after assert_equals: Wrong result returned expected "justify" but got "true"
+PASS [["justifyfull",""]] "<div style=text-align:justify><p>[foo]<p>bar</div><p>extra": execCommand("justifyfull", false, "") return value 
+PASS [["justifyfull",""]] "<div style=text-align:justify><p>[foo]<p>bar</div><p>extra" checks for modifications to non-editable content 
+PASS [["justifyfull",""]] "<div style=text-align:justify><p>[foo]<p>bar</div><p>extra" compare innerHTML 
+PASS [["justifyfull",""]] "<div style=text-align:justify><p>[foo]<p>bar</div><p>extra" queryCommandIndeterm("justifyfull") before 
+PASS [["justifyfull",""]] "<div style=text-align:justify><p>[foo]<p>bar</div><p>extra" queryCommandState("justifyfull") before 
+FAIL [["justifyfull",""]] "<div style=text-align:justify><p>[foo]<p>bar</div><p>extra" queryCommandValue("justifyfull") before assert_equals: Wrong result returned expected "justify" but got "true"
+PASS [["justifyfull",""]] "<div style=text-align:justify><p>[foo]<p>bar</div><p>extra" queryCommandIndeterm("justifyfull") after 
+PASS [["justifyfull",""]] "<div style=text-align:justify><p>[foo]<p>bar</div><p>extra" queryCommandState("justifyfull") after 
+FAIL [["justifyfull",""]] "<div style=text-align:justify><p>[foo]<p>bar</div><p>extra" queryCommandValue("justifyfull") after assert_equals: Wrong result returned expected "justify" but got "true"
+PASS [["justifyfull",""]] "<div style=text-align:justify><p>[foo<p>bar]</div><p>extra": execCommand("justifyfull", false, "") return value 
+PASS [["justifyfull",""]] "<div style=text-align:justify><p>[foo<p>bar]</div><p>extra" checks for modifications to non-editable content 
+PASS [["justifyfull",""]] "<div style=text-align:justify><p>[foo<p>bar]</div><p>extra" compare innerHTML 
+PASS [["justifyfull",""]] "<div style=text-align:justify><p>[foo<p>bar]</div><p>extra" queryCommandIndeterm("justifyfull") before 
+PASS [["justifyfull",""]] "<div style=text-align:justify><p>[foo<p>bar]</div><p>extra" queryCommandState("justifyfull") before 
+FAIL [["justifyfull",""]] "<div style=text-align:justify><p>[foo<p>bar]</div><p>extra" queryCommandValue("justifyfull") before assert_equals: Wrong result returned expected "justify" but got "true"
+PASS [["justifyfull",""]] "<div style=text-align:justify><p>[foo<p>bar]</div><p>extra" queryCommandIndeterm("justifyfull") after 
+PASS [["justifyfull",""]] "<div style=text-align:justify><p>[foo<p>bar]</div><p>extra" queryCommandState("justifyfull") after 
+FAIL [["justifyfull",""]] "<div style=text-align:justify><p>[foo<p>bar]</div><p>extra" queryCommandValue("justifyfull") after assert_equals: Wrong result returned expected "justify" but got "true"
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<div align=left><p>[foo]<p>bar</div><p>extra": execCommand("stylewithcss", false, "true") return value 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<div align=left><p>[foo]<p>bar</div><p>extra": execCommand("defaultparagraphseparator", false, "div") return value 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<div align=left><p>[foo]<p>bar</div><p>extra": execCommand("justifyfull", false, "") return value 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<div align=left><p>[foo]<p>bar</div><p>extra" checks for modifications to non-editable content 
+FAIL [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<div align=left><p>[foo]<p>bar</div><p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<div align=\"left\"><div style=\"text-align:justify\"><p>foo</p></div><p>bar</p></div><p>extra</p>" but got "<div align=\"left\"><p style=\"text-align:justify\">foo</p><p>bar</p></div><p>extra</p>"
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<div align=left><p>[foo]<p>bar</div><p>extra" queryCommandIndeterm("stylewithcss") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<div align=left><p>[foo]<p>bar</div><p>extra" queryCommandState("stylewithcss") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<div align=left><p>[foo]<p>bar</div><p>extra" queryCommandValue("stylewithcss") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<div align=left><p>[foo]<p>bar</div><p>extra" queryCommandIndeterm("stylewithcss") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<div align=left><p>[foo]<p>bar</div><p>extra" queryCommandState("stylewithcss") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<div align=left><p>[foo]<p>bar</div><p>extra" queryCommandValue("stylewithcss") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<div align=left><p>[foo]<p>bar</div><p>extra" queryCommandIndeterm("defaultparagraphseparator") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<div align=left><p>[foo]<p>bar</div><p>extra" queryCommandState("defaultparagraphseparator") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<div align=left><p>[foo]<p>bar</div><p>extra" queryCommandValue("defaultparagraphseparator") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<div align=left><p>[foo]<p>bar</div><p>extra" queryCommandIndeterm("defaultparagraphseparator") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<div align=left><p>[foo]<p>bar</div><p>extra" queryCommandState("defaultparagraphseparator") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<div align=left><p>[foo]<p>bar</div><p>extra" queryCommandValue("defaultparagraphseparator") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<div align=left><p>[foo]<p>bar</div><p>extra" queryCommandIndeterm("justifyfull") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<div align=left><p>[foo]<p>bar</div><p>extra" queryCommandState("justifyfull") before 
+FAIL [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<div align=left><p>[foo]<p>bar</div><p>extra" queryCommandValue("justifyfull") before assert_equals: Wrong result returned expected "left" but got "false"
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<div align=left><p>[foo]<p>bar</div><p>extra" queryCommandIndeterm("justifyfull") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<div align=left><p>[foo]<p>bar</div><p>extra" queryCommandState("justifyfull") after 
+FAIL [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<div align=left><p>[foo]<p>bar</div><p>extra" queryCommandValue("justifyfull") after assert_equals: Wrong result returned expected "justify" but got "true"
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<div align=left><p>[foo]<p>bar</div><p>extra": execCommand("stylewithcss", false, "false") return value 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<div align=left><p>[foo]<p>bar</div><p>extra": execCommand("defaultparagraphseparator", false, "div") return value 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<div align=left><p>[foo]<p>bar</div><p>extra": execCommand("justifyfull", false, "") return value 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<div align=left><p>[foo]<p>bar</div><p>extra" checks for modifications to non-editable content 
+FAIL [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<div align=left><p>[foo]<p>bar</div><p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<div align=\"left\"><div style=\"text-align:justify\"><p>foo</p></div><p>bar</p></div><p>extra</p>" but got "<div align=\"left\"><p style=\"text-align:justify\">foo</p><p>bar</p></div><p>extra</p>"
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<div align=left><p>[foo]<p>bar</div><p>extra" queryCommandIndeterm("stylewithcss") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<div align=left><p>[foo]<p>bar</div><p>extra" queryCommandState("stylewithcss") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<div align=left><p>[foo]<p>bar</div><p>extra" queryCommandValue("stylewithcss") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<div align=left><p>[foo]<p>bar</div><p>extra" queryCommandIndeterm("stylewithcss") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<div align=left><p>[foo]<p>bar</div><p>extra" queryCommandState("stylewithcss") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<div align=left><p>[foo]<p>bar</div><p>extra" queryCommandValue("stylewithcss") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<div align=left><p>[foo]<p>bar</div><p>extra" queryCommandIndeterm("defaultparagraphseparator") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<div align=left><p>[foo]<p>bar</div><p>extra" queryCommandState("defaultparagraphseparator") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<div align=left><p>[foo]<p>bar</div><p>extra" queryCommandValue("defaultparagraphseparator") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<div align=left><p>[foo]<p>bar</div><p>extra" queryCommandIndeterm("defaultparagraphseparator") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<div align=left><p>[foo]<p>bar</div><p>extra" queryCommandState("defaultparagraphseparator") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<div align=left><p>[foo]<p>bar</div><p>extra" queryCommandValue("defaultparagraphseparator") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<div align=left><p>[foo]<p>bar</div><p>extra" queryCommandIndeterm("justifyfull") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<div align=left><p>[foo]<p>bar</div><p>extra" queryCommandState("justifyfull") before 
+FAIL [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<div align=left><p>[foo]<p>bar</div><p>extra" queryCommandValue("justifyfull") before assert_equals: Wrong result returned expected "left" but got "false"
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<div align=left><p>[foo]<p>bar</div><p>extra" queryCommandIndeterm("justifyfull") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<div align=left><p>[foo]<p>bar</div><p>extra" queryCommandState("justifyfull") after 
+FAIL [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<div align=left><p>[foo]<p>bar</div><p>extra" queryCommandValue("justifyfull") after assert_equals: Wrong result returned expected "justify" but got "true"
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<div align=left><p>[foo]<p>bar</div><p>extra": execCommand("stylewithcss", false, "true") return value 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<div align=left><p>[foo]<p>bar</div><p>extra": execCommand("defaultparagraphseparator", false, "p") return value 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<div align=left><p>[foo]<p>bar</div><p>extra": execCommand("justifyfull", false, "") return value 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<div align=left><p>[foo]<p>bar</div><p>extra" checks for modifications to non-editable content 
+FAIL [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<div align=left><p>[foo]<p>bar</div><p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<div align=\"left\"><div style=\"text-align:justify\"><p>foo</p></div><p>bar</p></div><p>extra</p>" but got "<div align=\"left\"><p style=\"text-align:justify\">foo</p><p>bar</p></div><p>extra</p>"
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<div align=left><p>[foo]<p>bar</div><p>extra" queryCommandIndeterm("stylewithcss") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<div align=left><p>[foo]<p>bar</div><p>extra" queryCommandState("stylewithcss") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<div align=left><p>[foo]<p>bar</div><p>extra" queryCommandValue("stylewithcss") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<div align=left><p>[foo]<p>bar</div><p>extra" queryCommandIndeterm("stylewithcss") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<div align=left><p>[foo]<p>bar</div><p>extra" queryCommandState("stylewithcss") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<div align=left><p>[foo]<p>bar</div><p>extra" queryCommandValue("stylewithcss") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<div align=left><p>[foo]<p>bar</div><p>extra" queryCommandIndeterm("defaultparagraphseparator") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<div align=left><p>[foo]<p>bar</div><p>extra" queryCommandState("defaultparagraphseparator") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<div align=left><p>[foo]<p>bar</div><p>extra" queryCommandValue("defaultparagraphseparator") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<div align=left><p>[foo]<p>bar</div><p>extra" queryCommandIndeterm("defaultparagraphseparator") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<div align=left><p>[foo]<p>bar</div><p>extra" queryCommandState("defaultparagraphseparator") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<div align=left><p>[foo]<p>bar</div><p>extra" queryCommandValue("defaultparagraphseparator") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<div align=left><p>[foo]<p>bar</div><p>extra" queryCommandIndeterm("justifyfull") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<div align=left><p>[foo]<p>bar</div><p>extra" queryCommandState("justifyfull") before 
+FAIL [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<div align=left><p>[foo]<p>bar</div><p>extra" queryCommandValue("justifyfull") before assert_equals: Wrong result returned expected "left" but got "false"
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<div align=left><p>[foo]<p>bar</div><p>extra" queryCommandIndeterm("justifyfull") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<div align=left><p>[foo]<p>bar</div><p>extra" queryCommandState("justifyfull") after 
+FAIL [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<div align=left><p>[foo]<p>bar</div><p>extra" queryCommandValue("justifyfull") after assert_equals: Wrong result returned expected "justify" but got "true"
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<div align=left><p>[foo]<p>bar</div><p>extra": execCommand("stylewithcss", false, "false") return value 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<div align=left><p>[foo]<p>bar</div><p>extra": execCommand("defaultparagraphseparator", false, "p") return value 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<div align=left><p>[foo]<p>bar</div><p>extra": execCommand("justifyfull", false, "") return value 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<div align=left><p>[foo]<p>bar</div><p>extra" checks for modifications to non-editable content 
+FAIL [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<div align=left><p>[foo]<p>bar</div><p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<div align=\"left\"><div style=\"text-align:justify\"><p>foo</p></div><p>bar</p></div><p>extra</p>" but got "<div align=\"left\"><p style=\"text-align:justify\">foo</p><p>bar</p></div><p>extra</p>"
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<div align=left><p>[foo]<p>bar</div><p>extra" queryCommandIndeterm("stylewithcss") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<div align=left><p>[foo]<p>bar</div><p>extra" queryCommandState("stylewithcss") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<div align=left><p>[foo]<p>bar</div><p>extra" queryCommandValue("stylewithcss") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<div align=left><p>[foo]<p>bar</div><p>extra" queryCommandIndeterm("stylewithcss") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<div align=left><p>[foo]<p>bar</div><p>extra" queryCommandState("stylewithcss") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<div align=left><p>[foo]<p>bar</div><p>extra" queryCommandValue("stylewithcss") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<div align=left><p>[foo]<p>bar</div><p>extra" queryCommandIndeterm("defaultparagraphseparator") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<div align=left><p>[foo]<p>bar</div><p>extra" queryCommandState("defaultparagraphseparator") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<div align=left><p>[foo]<p>bar</div><p>extra" queryCommandValue("defaultparagraphseparator") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<div align=left><p>[foo]<p>bar</div><p>extra" queryCommandIndeterm("defaultparagraphseparator") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<div align=left><p>[foo]<p>bar</div><p>extra" queryCommandState("defaultparagraphseparator") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<div align=left><p>[foo]<p>bar</div><p>extra" queryCommandValue("defaultparagraphseparator") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<div align=left><p>[foo]<p>bar</div><p>extra" queryCommandIndeterm("justifyfull") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<div align=left><p>[foo]<p>bar</div><p>extra" queryCommandState("justifyfull") before 
+FAIL [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<div align=left><p>[foo]<p>bar</div><p>extra" queryCommandValue("justifyfull") before assert_equals: Wrong result returned expected "left" but got "false"
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<div align=left><p>[foo]<p>bar</div><p>extra" queryCommandIndeterm("justifyfull") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<div align=left><p>[foo]<p>bar</div><p>extra" queryCommandState("justifyfull") after 
+FAIL [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<div align=left><p>[foo]<p>bar</div><p>extra" queryCommandValue("justifyfull") after assert_equals: Wrong result returned expected "justify" but got "true"
+PASS [["stylewithcss","true"],["justifyfull",""]] "<div align=left><p>[foo<p>bar}</div><p>extra": execCommand("stylewithcss", false, "true") return value 
+PASS [["stylewithcss","true"],["justifyfull",""]] "<div align=left><p>[foo<p>bar}</div><p>extra": execCommand("justifyfull", false, "") return value 
+PASS [["stylewithcss","true"],["justifyfull",""]] "<div align=left><p>[foo<p>bar}</div><p>extra" checks for modifications to non-editable content 
+FAIL [["stylewithcss","true"],["justifyfull",""]] "<div align=left><p>[foo<p>bar}</div><p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<div style=\"text-align:justify\"><p>foo</p><p>bar</p></div><p>extra</p>" but got "<div align=\"left\"><p style=\"text-align:justify\">foo</p><p style=\"text-align:justify\">bar</p></div><p>extra</p>"
+PASS [["stylewithcss","true"],["justifyfull",""]] "<div align=left><p>[foo<p>bar}</div><p>extra" queryCommandIndeterm("stylewithcss") before 
+PASS [["stylewithcss","true"],["justifyfull",""]] "<div align=left><p>[foo<p>bar}</div><p>extra" queryCommandState("stylewithcss") before 
+PASS [["stylewithcss","true"],["justifyfull",""]] "<div align=left><p>[foo<p>bar}</div><p>extra" queryCommandValue("stylewithcss") before 
+PASS [["stylewithcss","true"],["justifyfull",""]] "<div align=left><p>[foo<p>bar}</div><p>extra" queryCommandIndeterm("stylewithcss") after 
+PASS [["stylewithcss","true"],["justifyfull",""]] "<div align=left><p>[foo<p>bar}</div><p>extra" queryCommandState("stylewithcss") after 
+PASS [["stylewithcss","true"],["justifyfull",""]] "<div align=left><p>[foo<p>bar}</div><p>extra" queryCommandValue("stylewithcss") after 
+PASS [["stylewithcss","true"],["justifyfull",""]] "<div align=left><p>[foo<p>bar}</div><p>extra" queryCommandIndeterm("justifyfull") before 
+PASS [["stylewithcss","true"],["justifyfull",""]] "<div align=left><p>[foo<p>bar}</div><p>extra" queryCommandState("justifyfull") before 
+FAIL [["stylewithcss","true"],["justifyfull",""]] "<div align=left><p>[foo<p>bar}</div><p>extra" queryCommandValue("justifyfull") before assert_equals: Wrong result returned expected "left" but got "false"
+PASS [["stylewithcss","true"],["justifyfull",""]] "<div align=left><p>[foo<p>bar}</div><p>extra" queryCommandIndeterm("justifyfull") after 
+PASS [["stylewithcss","true"],["justifyfull",""]] "<div align=left><p>[foo<p>bar}</div><p>extra" queryCommandState("justifyfull") after 
+FAIL [["stylewithcss","true"],["justifyfull",""]] "<div align=left><p>[foo<p>bar}</div><p>extra" queryCommandValue("justifyfull") after assert_equals: Wrong result returned expected "justify" but got "true"
+PASS [["stylewithcss","false"],["justifyfull",""]] "<div align=left><p>[foo<p>bar}</div><p>extra": execCommand("stylewithcss", false, "false") return value 
+PASS [["stylewithcss","false"],["justifyfull",""]] "<div align=left><p>[foo<p>bar}</div><p>extra": execCommand("justifyfull", false, "") return value 
+PASS [["stylewithcss","false"],["justifyfull",""]] "<div align=left><p>[foo<p>bar}</div><p>extra" checks for modifications to non-editable content 
+FAIL [["stylewithcss","false"],["justifyfull",""]] "<div align=left><p>[foo<p>bar}</div><p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<div style=\"text-align:justify\"><p>foo</p><p>bar</p></div><p>extra</p>" but got "<div align=\"left\"><p style=\"text-align:justify\">foo</p><p style=\"text-align:justify\">bar</p></div><p>extra</p>"
+PASS [["stylewithcss","false"],["justifyfull",""]] "<div align=left><p>[foo<p>bar}</div><p>extra" queryCommandIndeterm("stylewithcss") before 
+PASS [["stylewithcss","false"],["justifyfull",""]] "<div align=left><p>[foo<p>bar}</div><p>extra" queryCommandState("stylewithcss") before 
+PASS [["stylewithcss","false"],["justifyfull",""]] "<div align=left><p>[foo<p>bar}</div><p>extra" queryCommandValue("stylewithcss") before 
+PASS [["stylewithcss","false"],["justifyfull",""]] "<div align=left><p>[foo<p>bar}</div><p>extra" queryCommandIndeterm("stylewithcss") after 
+PASS [["stylewithcss","false"],["justifyfull",""]] "<div align=left><p>[foo<p>bar}</div><p>extra" queryCommandState("stylewithcss") after 
+PASS [["stylewithcss","false"],["justifyfull",""]] "<div align=left><p>[foo<p>bar}</div><p>extra" queryCommandValue("stylewithcss") after 
+PASS [["stylewithcss","false"],["justifyfull",""]] "<div align=left><p>[foo<p>bar}</div><p>extra" queryCommandIndeterm("justifyfull") before 
+PASS [["stylewithcss","false"],["justifyfull",""]] "<div align=left><p>[foo<p>bar}</div><p>extra" queryCommandState("justifyfull") before 
+FAIL [["stylewithcss","false"],["justifyfull",""]] "<div align=left><p>[foo<p>bar}</div><p>extra" queryCommandValue("justifyfull") before assert_equals: Wrong result returned expected "left" but got "false"
+PASS [["stylewithcss","false"],["justifyfull",""]] "<div align=left><p>[foo<p>bar}</div><p>extra" queryCommandIndeterm("justifyfull") after 
+PASS [["stylewithcss","false"],["justifyfull",""]] "<div align=left><p>[foo<p>bar}</div><p>extra" queryCommandState("justifyfull") after 
+FAIL [["stylewithcss","false"],["justifyfull",""]] "<div align=left><p>[foo<p>bar}</div><p>extra" queryCommandValue("justifyfull") after assert_equals: Wrong result returned expected "justify" but got "true"
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<div style=text-align:left><p>[foo]<p>bar</div><p>extra": execCommand("stylewithcss", false, "true") return value 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<div style=text-align:left><p>[foo]<p>bar</div><p>extra": execCommand("defaultparagraphseparator", false, "div") return value 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<div style=text-align:left><p>[foo]<p>bar</div><p>extra": execCommand("justifyfull", false, "") return value 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<div style=text-align:left><p>[foo]<p>bar</div><p>extra" checks for modifications to non-editable content 
+FAIL [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<div style=text-align:left><p>[foo]<p>bar</div><p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<div style=\"text-align:left\"><div style=\"text-align:justify\"><p>foo</p></div><p>bar</p></div><p>extra</p>" but got "<div style=\"text-align:left\"><p style=\"text-align:justify\">foo</p><p>bar</p></div><p>extra</p>"
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<div style=text-align:left><p>[foo]<p>bar</div><p>extra" queryCommandIndeterm("stylewithcss") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<div style=text-align:left><p>[foo]<p>bar</div><p>extra" queryCommandState("stylewithcss") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<div style=text-align:left><p>[foo]<p>bar</div><p>extra" queryCommandValue("stylewithcss") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<div style=text-align:left><p>[foo]<p>bar</div><p>extra" queryCommandIndeterm("stylewithcss") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<div style=text-align:left><p>[foo]<p>bar</div><p>extra" queryCommandState("stylewithcss") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<div style=text-align:left><p>[foo]<p>bar</div><p>extra" queryCommandValue("stylewithcss") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<div style=text-align:left><p>[foo]<p>bar</div><p>extra" queryCommandIndeterm("defaultparagraphseparator") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<div style=text-align:left><p>[foo]<p>bar</div><p>extra" queryCommandState("defaultparagraphseparator") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<div style=text-align:left><p>[foo]<p>bar</div><p>extra" queryCommandValue("defaultparagraphseparator") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<div style=text-align:left><p>[foo]<p>bar</div><p>extra" queryCommandIndeterm("defaultparagraphseparator") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<div style=text-align:left><p>[foo]<p>bar</div><p>extra" queryCommandState("defaultparagraphseparator") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<div style=text-align:left><p>[foo]<p>bar</div><p>extra" queryCommandValue("defaultparagraphseparator") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<div style=text-align:left><p>[foo]<p>bar</div><p>extra" queryCommandIndeterm("justifyfull") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<div style=text-align:left><p>[foo]<p>bar</div><p>extra" queryCommandState("justifyfull") before 
+FAIL [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<div style=text-align:left><p>[foo]<p>bar</div><p>extra" queryCommandValue("justifyfull") before assert_equals: Wrong result returned expected "left" but got "false"
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<div style=text-align:left><p>[foo]<p>bar</div><p>extra" queryCommandIndeterm("justifyfull") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<div style=text-align:left><p>[foo]<p>bar</div><p>extra" queryCommandState("justifyfull") after 
+FAIL [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<div style=text-align:left><p>[foo]<p>bar</div><p>extra" queryCommandValue("justifyfull") after assert_equals: Wrong result returned expected "justify" but got "true"
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<div style=text-align:left><p>[foo]<p>bar</div><p>extra": execCommand("stylewithcss", false, "false") return value 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<div style=text-align:left><p>[foo]<p>bar</div><p>extra": execCommand("defaultparagraphseparator", false, "div") return value 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<div style=text-align:left><p>[foo]<p>bar</div><p>extra": execCommand("justifyfull", false, "") return value 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<div style=text-align:left><p>[foo]<p>bar</div><p>extra" checks for modifications to non-editable content 
+FAIL [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<div style=text-align:left><p>[foo]<p>bar</div><p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<div style=\"text-align:left\"><div style=\"text-align:justify\"><p>foo</p></div><p>bar</p></div><p>extra</p>" but got "<div style=\"text-align:left\"><p style=\"text-align:justify\">foo</p><p>bar</p></div><p>extra</p>"
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<div style=text-align:left><p>[foo]<p>bar</div><p>extra" queryCommandIndeterm("stylewithcss") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<div style=text-align:left><p>[foo]<p>bar</div><p>extra" queryCommandState("stylewithcss") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<div style=text-align:left><p>[foo]<p>bar</div><p>extra" queryCommandValue("stylewithcss") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<div style=text-align:left><p>[foo]<p>bar</div><p>extra" queryCommandIndeterm("stylewithcss") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<div style=text-align:left><p>[foo]<p>bar</div><p>extra" queryCommandState("stylewithcss") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<div style=text-align:left><p>[foo]<p>bar</div><p>extra" queryCommandValue("stylewithcss") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<div style=text-align:left><p>[foo]<p>bar</div><p>extra" queryCommandIndeterm("defaultparagraphseparator") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<div style=text-align:left><p>[foo]<p>bar</div><p>extra" queryCommandState("defaultparagraphseparator") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<div style=text-align:left><p>[foo]<p>bar</div><p>extra" queryCommandValue("defaultparagraphseparator") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<div style=text-align:left><p>[foo]<p>bar</div><p>extra" queryCommandIndeterm("defaultparagraphseparator") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<div style=text-align:left><p>[foo]<p>bar</div><p>extra" queryCommandState("defaultparagraphseparator") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<div style=text-align:left><p>[foo]<p>bar</div><p>extra" queryCommandValue("defaultparagraphseparator") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<div style=text-align:left><p>[foo]<p>bar</div><p>extra" queryCommandIndeterm("justifyfull") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<div style=text-align:left><p>[foo]<p>bar</div><p>extra" queryCommandState("justifyfull") before 
+FAIL [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<div style=text-align:left><p>[foo]<p>bar</div><p>extra" queryCommandValue("justifyfull") before assert_equals: Wrong result returned expected "left" but got "false"
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<div style=text-align:left><p>[foo]<p>bar</div><p>extra" queryCommandIndeterm("justifyfull") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<div style=text-align:left><p>[foo]<p>bar</div><p>extra" queryCommandState("justifyfull") after 
+FAIL [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<div style=text-align:left><p>[foo]<p>bar</div><p>extra" queryCommandValue("justifyfull") after assert_equals: Wrong result returned expected "justify" but got "true"
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<div style=text-align:left><p>[foo]<p>bar</div><p>extra": execCommand("stylewithcss", false, "true") return value 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<div style=text-align:left><p>[foo]<p>bar</div><p>extra": execCommand("defaultparagraphseparator", false, "p") return value 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<div style=text-align:left><p>[foo]<p>bar</div><p>extra": execCommand("justifyfull", false, "") return value 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<div style=text-align:left><p>[foo]<p>bar</div><p>extra" checks for modifications to non-editable content 
+FAIL [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<div style=text-align:left><p>[foo]<p>bar</div><p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<div style=\"text-align:left\"><div style=\"text-align:justify\"><p>foo</p></div><p>bar</p></div><p>extra</p>" but got "<div style=\"text-align:left\"><p style=\"text-align:justify\">foo</p><p>bar</p></div><p>extra</p>"
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<div style=text-align:left><p>[foo]<p>bar</div><p>extra" queryCommandIndeterm("stylewithcss") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<div style=text-align:left><p>[foo]<p>bar</div><p>extra" queryCommandState("stylewithcss") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<div style=text-align:left><p>[foo]<p>bar</div><p>extra" queryCommandValue("stylewithcss") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<div style=text-align:left><p>[foo]<p>bar</div><p>extra" queryCommandIndeterm("stylewithcss") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<div style=text-align:left><p>[foo]<p>bar</div><p>extra" queryCommandState("stylewithcss") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<div style=text-align:left><p>[foo]<p>bar</div><p>extra" queryCommandValue("stylewithcss") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<div style=text-align:left><p>[foo]<p>bar</div><p>extra" queryCommandIndeterm("defaultparagraphseparator") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<div style=text-align:left><p>[foo]<p>bar</div><p>extra" queryCommandState("defaultparagraphseparator") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<div style=text-align:left><p>[foo]<p>bar</div><p>extra" queryCommandValue("defaultparagraphseparator") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<div style=text-align:left><p>[foo]<p>bar</div><p>extra" queryCommandIndeterm("defaultparagraphseparator") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<div style=text-align:left><p>[foo]<p>bar</div><p>extra" queryCommandState("defaultparagraphseparator") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<div style=text-align:left><p>[foo]<p>bar</div><p>extra" queryCommandValue("defaultparagraphseparator") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<div style=text-align:left><p>[foo]<p>bar</div><p>extra" queryCommandIndeterm("justifyfull") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<div style=text-align:left><p>[foo]<p>bar</div><p>extra" queryCommandState("justifyfull") before 
+FAIL [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<div style=text-align:left><p>[foo]<p>bar</div><p>extra" queryCommandValue("justifyfull") before assert_equals: Wrong result returned expected "left" but got "false"
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<div style=text-align:left><p>[foo]<p>bar</div><p>extra" queryCommandIndeterm("justifyfull") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<div style=text-align:left><p>[foo]<p>bar</div><p>extra" queryCommandState("justifyfull") after 
+FAIL [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<div style=text-align:left><p>[foo]<p>bar</div><p>extra" queryCommandValue("justifyfull") after assert_equals: Wrong result returned expected "justify" but got "true"
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<div style=text-align:left><p>[foo]<p>bar</div><p>extra": execCommand("stylewithcss", false, "false") return value 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<div style=text-align:left><p>[foo]<p>bar</div><p>extra": execCommand("defaultparagraphseparator", false, "p") return value 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<div style=text-align:left><p>[foo]<p>bar</div><p>extra": execCommand("justifyfull", false, "") return value 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<div style=text-align:left><p>[foo]<p>bar</div><p>extra" checks for modifications to non-editable content 
+FAIL [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<div style=text-align:left><p>[foo]<p>bar</div><p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<div style=\"text-align:left\"><div style=\"text-align:justify\"><p>foo</p></div><p>bar</p></div><p>extra</p>" but got "<div style=\"text-align:left\"><p style=\"text-align:justify\">foo</p><p>bar</p></div><p>extra</p>"
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<div style=text-align:left><p>[foo]<p>bar</div><p>extra" queryCommandIndeterm("stylewithcss") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<div style=text-align:left><p>[foo]<p>bar</div><p>extra" queryCommandState("stylewithcss") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<div style=text-align:left><p>[foo]<p>bar</div><p>extra" queryCommandValue("stylewithcss") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<div style=text-align:left><p>[foo]<p>bar</div><p>extra" queryCommandIndeterm("stylewithcss") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<div style=text-align:left><p>[foo]<p>bar</div><p>extra" queryCommandState("stylewithcss") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<div style=text-align:left><p>[foo]<p>bar</div><p>extra" queryCommandValue("stylewithcss") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<div style=text-align:left><p>[foo]<p>bar</div><p>extra" queryCommandIndeterm("defaultparagraphseparator") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<div style=text-align:left><p>[foo]<p>bar</div><p>extra" queryCommandState("defaultparagraphseparator") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<div style=text-align:left><p>[foo]<p>bar</div><p>extra" queryCommandValue("defaultparagraphseparator") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<div style=text-align:left><p>[foo]<p>bar</div><p>extra" queryCommandIndeterm("defaultparagraphseparator") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<div style=text-align:left><p>[foo]<p>bar</div><p>extra" queryCommandState("defaultparagraphseparator") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<div style=text-align:left><p>[foo]<p>bar</div><p>extra" queryCommandValue("defaultparagraphseparator") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<div style=text-align:left><p>[foo]<p>bar</div><p>extra" queryCommandIndeterm("justifyfull") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<div style=text-align:left><p>[foo]<p>bar</div><p>extra" queryCommandState("justifyfull") before 
+FAIL [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<div style=text-align:left><p>[foo]<p>bar</div><p>extra" queryCommandValue("justifyfull") before assert_equals: Wrong result returned expected "left" but got "false"
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<div style=text-align:left><p>[foo]<p>bar</div><p>extra" queryCommandIndeterm("justifyfull") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<div style=text-align:left><p>[foo]<p>bar</div><p>extra" queryCommandState("justifyfull") after 
+FAIL [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<div style=text-align:left><p>[foo]<p>bar</div><p>extra" queryCommandValue("justifyfull") after assert_equals: Wrong result returned expected "justify" but got "true"
+PASS [["justifyfull",""]] "<div style=text-align:left><p>[foo<p>bar]</div><p>extra": execCommand("justifyfull", false, "") return value 
+PASS [["justifyfull",""]] "<div style=text-align:left><p>[foo<p>bar]</div><p>extra" checks for modifications to non-editable content 
+FAIL [["justifyfull",""]] "<div style=text-align:left><p>[foo<p>bar]</div><p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<div style=\"text-align:justify\"><p>foo</p><p>bar</p></div><p>extra</p>" but got "<div style=\"text-align:left\"><p style=\"text-align:justify\">foo</p><p style=\"text-align:justify\">bar</p></div><p>extra</p>"
+PASS [["justifyfull",""]] "<div style=text-align:left><p>[foo<p>bar]</div><p>extra" queryCommandIndeterm("justifyfull") before 
+PASS [["justifyfull",""]] "<div style=text-align:left><p>[foo<p>bar]</div><p>extra" queryCommandState("justifyfull") before 
+FAIL [["justifyfull",""]] "<div style=text-align:left><p>[foo<p>bar]</div><p>extra" queryCommandValue("justifyfull") before assert_equals: Wrong result returned expected "left" but got "false"
+PASS [["justifyfull",""]] "<div style=text-align:left><p>[foo<p>bar]</div><p>extra" queryCommandIndeterm("justifyfull") after 
+PASS [["justifyfull",""]] "<div style=text-align:left><p>[foo<p>bar]</div><p>extra" queryCommandState("justifyfull") after 
+FAIL [["justifyfull",""]] "<div style=text-align:left><p>[foo<p>bar]</div><p>extra" queryCommandValue("justifyfull") after assert_equals: Wrong result returned expected "justify" but got "true"
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<div align=right><p>[foo]<p>bar</div><p>extra": execCommand("stylewithcss", false, "true") return value 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<div align=right><p>[foo]<p>bar</div><p>extra": execCommand("defaultparagraphseparator", false, "div") return value 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<div align=right><p>[foo]<p>bar</div><p>extra": execCommand("justifyfull", false, "") return value 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<div align=right><p>[foo]<p>bar</div><p>extra" checks for modifications to non-editable content 
+FAIL [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<div align=right><p>[foo]<p>bar</div><p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<div align=\"right\"><div style=\"text-align:justify\"><p>foo</p></div><p>bar</p></div><p>extra</p>" but got "<div align=\"right\"><p style=\"text-align:justify\">foo</p><p>bar</p></div><p>extra</p>"
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<div align=right><p>[foo]<p>bar</div><p>extra" queryCommandIndeterm("stylewithcss") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<div align=right><p>[foo]<p>bar</div><p>extra" queryCommandState("stylewithcss") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<div align=right><p>[foo]<p>bar</div><p>extra" queryCommandValue("stylewithcss") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<div align=right><p>[foo]<p>bar</div><p>extra" queryCommandIndeterm("stylewithcss") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<div align=right><p>[foo]<p>bar</div><p>extra" queryCommandState("stylewithcss") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<div align=right><p>[foo]<p>bar</div><p>extra" queryCommandValue("stylewithcss") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<div align=right><p>[foo]<p>bar</div><p>extra" queryCommandIndeterm("defaultparagraphseparator") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<div align=right><p>[foo]<p>bar</div><p>extra" queryCommandState("defaultparagraphseparator") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<div align=right><p>[foo]<p>bar</div><p>extra" queryCommandValue("defaultparagraphseparator") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<div align=right><p>[foo]<p>bar</div><p>extra" queryCommandIndeterm("defaultparagraphseparator") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<div align=right><p>[foo]<p>bar</div><p>extra" queryCommandState("defaultparagraphseparator") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<div align=right><p>[foo]<p>bar</div><p>extra" queryCommandValue("defaultparagraphseparator") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<div align=right><p>[foo]<p>bar</div><p>extra" queryCommandIndeterm("justifyfull") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<div align=right><p>[foo]<p>bar</div><p>extra" queryCommandState("justifyfull") before 
+FAIL [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<div align=right><p>[foo]<p>bar</div><p>extra" queryCommandValue("justifyfull") before assert_equals: Wrong result returned expected "right" but got "false"
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<div align=right><p>[foo]<p>bar</div><p>extra" queryCommandIndeterm("justifyfull") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<div align=right><p>[foo]<p>bar</div><p>extra" queryCommandState("justifyfull") after 
+FAIL [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<div align=right><p>[foo]<p>bar</div><p>extra" queryCommandValue("justifyfull") after assert_equals: Wrong result returned expected "justify" but got "true"
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<div align=right><p>[foo]<p>bar</div><p>extra": execCommand("stylewithcss", false, "false") return value 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<div align=right><p>[foo]<p>bar</div><p>extra": execCommand("defaultparagraphseparator", false, "div") return value 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<div align=right><p>[foo]<p>bar</div><p>extra": execCommand("justifyfull", false, "") return value 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<div align=right><p>[foo]<p>bar</div><p>extra" checks for modifications to non-editable content 
+FAIL [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<div align=right><p>[foo]<p>bar</div><p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<div align=\"right\"><div style=\"text-align:justify\"><p>foo</p></div><p>bar</p></div><p>extra</p>" but got "<div align=\"right\"><p style=\"text-align:justify\">foo</p><p>bar</p></div><p>extra</p>"
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<div align=right><p>[foo]<p>bar</div><p>extra" queryCommandIndeterm("stylewithcss") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<div align=right><p>[foo]<p>bar</div><p>extra" queryCommandState("stylewithcss") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<div align=right><p>[foo]<p>bar</div><p>extra" queryCommandValue("stylewithcss") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<div align=right><p>[foo]<p>bar</div><p>extra" queryCommandIndeterm("stylewithcss") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<div align=right><p>[foo]<p>bar</div><p>extra" queryCommandState("stylewithcss") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<div align=right><p>[foo]<p>bar</div><p>extra" queryCommandValue("stylewithcss") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<div align=right><p>[foo]<p>bar</div><p>extra" queryCommandIndeterm("defaultparagraphseparator") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<div align=right><p>[foo]<p>bar</div><p>extra" queryCommandState("defaultparagraphseparator") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<div align=right><p>[foo]<p>bar</div><p>extra" queryCommandValue("defaultparagraphseparator") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<div align=right><p>[foo]<p>bar</div><p>extra" queryCommandIndeterm("defaultparagraphseparator") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<div align=right><p>[foo]<p>bar</div><p>extra" queryCommandState("defaultparagraphseparator") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<div align=right><p>[foo]<p>bar</div><p>extra" queryCommandValue("defaultparagraphseparator") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<div align=right><p>[foo]<p>bar</div><p>extra" queryCommandIndeterm("justifyfull") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<div align=right><p>[foo]<p>bar</div><p>extra" queryCommandState("justifyfull") before 
+FAIL [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<div align=right><p>[foo]<p>bar</div><p>extra" queryCommandValue("justifyfull") before assert_equals: Wrong result returned expected "right" but got "false"
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<div align=right><p>[foo]<p>bar</div><p>extra" queryCommandIndeterm("justifyfull") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<div align=right><p>[foo]<p>bar</div><p>extra" queryCommandState("justifyfull") after 
+FAIL [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<div align=right><p>[foo]<p>bar</div><p>extra" queryCommandValue("justifyfull") after assert_equals: Wrong result returned expected "justify" but got "true"
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<div align=right><p>[foo]<p>bar</div><p>extra": execCommand("stylewithcss", false, "true") return value 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<div align=right><p>[foo]<p>bar</div><p>extra": execCommand("defaultparagraphseparator", false, "p") return value 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<div align=right><p>[foo]<p>bar</div><p>extra": execCommand("justifyfull", false, "") return value 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<div align=right><p>[foo]<p>bar</div><p>extra" checks for modifications to non-editable content 
+FAIL [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<div align=right><p>[foo]<p>bar</div><p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<div align=\"right\"><div style=\"text-align:justify\"><p>foo</p></div><p>bar</p></div><p>extra</p>" but got "<div align=\"right\"><p style=\"text-align:justify\">foo</p><p>bar</p></div><p>extra</p>"
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<div align=right><p>[foo]<p>bar</div><p>extra" queryCommandIndeterm("stylewithcss") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<div align=right><p>[foo]<p>bar</div><p>extra" queryCommandState("stylewithcss") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<div align=right><p>[foo]<p>bar</div><p>extra" queryCommandValue("stylewithcss") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<div align=right><p>[foo]<p>bar</div><p>extra" queryCommandIndeterm("stylewithcss") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<div align=right><p>[foo]<p>bar</div><p>extra" queryCommandState("stylewithcss") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<div align=right><p>[foo]<p>bar</div><p>extra" queryCommandValue("stylewithcss") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<div align=right><p>[foo]<p>bar</div><p>extra" queryCommandIndeterm("defaultparagraphseparator") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<div align=right><p>[foo]<p>bar</div><p>extra" queryCommandState("defaultparagraphseparator") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<div align=right><p>[foo]<p>bar</div><p>extra" queryCommandValue("defaultparagraphseparator") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<div align=right><p>[foo]<p>bar</div><p>extra" queryCommandIndeterm("defaultparagraphseparator") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<div align=right><p>[foo]<p>bar</div><p>extra" queryCommandState("defaultparagraphseparator") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<div align=right><p>[foo]<p>bar</div><p>extra" queryCommandValue("defaultparagraphseparator") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<div align=right><p>[foo]<p>bar</div><p>extra" queryCommandIndeterm("justifyfull") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<div align=right><p>[foo]<p>bar</div><p>extra" queryCommandState("justifyfull") before 
+FAIL [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<div align=right><p>[foo]<p>bar</div><p>extra" queryCommandValue("justifyfull") before assert_equals: Wrong result returned expected "right" but got "false"
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<div align=right><p>[foo]<p>bar</div><p>extra" queryCommandIndeterm("justifyfull") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<div align=right><p>[foo]<p>bar</div><p>extra" queryCommandState("justifyfull") after 
+FAIL [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<div align=right><p>[foo]<p>bar</div><p>extra" queryCommandValue("justifyfull") after assert_equals: Wrong result returned expected "justify" but got "true"
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<div align=right><p>[foo]<p>bar</div><p>extra": execCommand("stylewithcss", false, "false") return value 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<div align=right><p>[foo]<p>bar</div><p>extra": execCommand("defaultparagraphseparator", false, "p") return value 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<div align=right><p>[foo]<p>bar</div><p>extra": execCommand("justifyfull", false, "") return value 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<div align=right><p>[foo]<p>bar</div><p>extra" checks for modifications to non-editable content 
+FAIL [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<div align=right><p>[foo]<p>bar</div><p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<div align=\"right\"><div style=\"text-align:justify\"><p>foo</p></div><p>bar</p></div><p>extra</p>" but got "<div align=\"right\"><p style=\"text-align:justify\">foo</p><p>bar</p></div><p>extra</p>"
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<div align=right><p>[foo]<p>bar</div><p>extra" queryCommandIndeterm("stylewithcss") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<div align=right><p>[foo]<p>bar</div><p>extra" queryCommandState("stylewithcss") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<div align=right><p>[foo]<p>bar</div><p>extra" queryCommandValue("stylewithcss") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<div align=right><p>[foo]<p>bar</div><p>extra" queryCommandIndeterm("stylewithcss") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<div align=right><p>[foo]<p>bar</div><p>extra" queryCommandState("stylewithcss") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<div align=right><p>[foo]<p>bar</div><p>extra" queryCommandValue("stylewithcss") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<div align=right><p>[foo]<p>bar</div><p>extra" queryCommandIndeterm("defaultparagraphseparator") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<div align=right><p>[foo]<p>bar</div><p>extra" queryCommandState("defaultparagraphseparator") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<div align=right><p>[foo]<p>bar</div><p>extra" queryCommandValue("defaultparagraphseparator") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<div align=right><p>[foo]<p>bar</div><p>extra" queryCommandIndeterm("defaultparagraphseparator") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<div align=right><p>[foo]<p>bar</div><p>extra" queryCommandState("defaultparagraphseparator") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<div align=right><p>[foo]<p>bar</div><p>extra" queryCommandValue("defaultparagraphseparator") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<div align=right><p>[foo]<p>bar</div><p>extra" queryCommandIndeterm("justifyfull") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<div align=right><p>[foo]<p>bar</div><p>extra" queryCommandState("justifyfull") before 
+FAIL [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<div align=right><p>[foo]<p>bar</div><p>extra" queryCommandValue("justifyfull") before assert_equals: Wrong result returned expected "right" but got "false"
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<div align=right><p>[foo]<p>bar</div><p>extra" queryCommandIndeterm("justifyfull") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<div align=right><p>[foo]<p>bar</div><p>extra" queryCommandState("justifyfull") after 
+FAIL [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<div align=right><p>[foo]<p>bar</div><p>extra" queryCommandValue("justifyfull") after assert_equals: Wrong result returned expected "justify" but got "true"
+PASS [["stylewithcss","true"],["justifyfull",""]] "<div align=right><p>[foo<p>bar}</div><p>extra": execCommand("stylewithcss", false, "true") return value 
+PASS [["stylewithcss","true"],["justifyfull",""]] "<div align=right><p>[foo<p>bar}</div><p>extra": execCommand("justifyfull", false, "") return value 
+PASS [["stylewithcss","true"],["justifyfull",""]] "<div align=right><p>[foo<p>bar}</div><p>extra" checks for modifications to non-editable content 
+FAIL [["stylewithcss","true"],["justifyfull",""]] "<div align=right><p>[foo<p>bar}</div><p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<div style=\"text-align:justify\"><p>foo</p><p>bar</p></div><p>extra</p>" but got "<div align=\"right\"><p style=\"text-align:justify\">foo</p><p style=\"text-align:justify\">bar</p></div><p>extra</p>"
+PASS [["stylewithcss","true"],["justifyfull",""]] "<div align=right><p>[foo<p>bar}</div><p>extra" queryCommandIndeterm("stylewithcss") before 
+PASS [["stylewithcss","true"],["justifyfull",""]] "<div align=right><p>[foo<p>bar}</div><p>extra" queryCommandState("stylewithcss") before 
+PASS [["stylewithcss","true"],["justifyfull",""]] "<div align=right><p>[foo<p>bar}</div><p>extra" queryCommandValue("stylewithcss") before 
+PASS [["stylewithcss","true"],["justifyfull",""]] "<div align=right><p>[foo<p>bar}</div><p>extra" queryCommandIndeterm("stylewithcss") after 
+PASS [["stylewithcss","true"],["justifyfull",""]] "<div align=right><p>[foo<p>bar}</div><p>extra" queryCommandState("stylewithcss") after 
+PASS [["stylewithcss","true"],["justifyfull",""]] "<div align=right><p>[foo<p>bar}</div><p>extra" queryCommandValue("stylewithcss") after 
+PASS [["stylewithcss","true"],["justifyfull",""]] "<div align=right><p>[foo<p>bar}</div><p>extra" queryCommandIndeterm("justifyfull") before 
+PASS [["stylewithcss","true"],["justifyfull",""]] "<div align=right><p>[foo<p>bar}</div><p>extra" queryCommandState("justifyfull") before 
+FAIL [["stylewithcss","true"],["justifyfull",""]] "<div align=right><p>[foo<p>bar}</div><p>extra" queryCommandValue("justifyfull") before assert_equals: Wrong result returned expected "right" but got "false"
+PASS [["stylewithcss","true"],["justifyfull",""]] "<div align=right><p>[foo<p>bar}</div><p>extra" queryCommandIndeterm("justifyfull") after 
+PASS [["stylewithcss","true"],["justifyfull",""]] "<div align=right><p>[foo<p>bar}</div><p>extra" queryCommandState("justifyfull") after 
+FAIL [["stylewithcss","true"],["justifyfull",""]] "<div align=right><p>[foo<p>bar}</div><p>extra" queryCommandValue("justifyfull") after assert_equals: Wrong result returned expected "justify" but got "true"
+PASS [["stylewithcss","false"],["justifyfull",""]] "<div align=right><p>[foo<p>bar}</div><p>extra": execCommand("stylewithcss", false, "false") return value 
+PASS [["stylewithcss","false"],["justifyfull",""]] "<div align=right><p>[foo<p>bar}</div><p>extra": execCommand("justifyfull", false, "") return value 
+PASS [["stylewithcss","false"],["justifyfull",""]] "<div align=right><p>[foo<p>bar}</div><p>extra" checks for modifications to non-editable content 
+FAIL [["stylewithcss","false"],["justifyfull",""]] "<div align=right><p>[foo<p>bar}</div><p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<div style=\"text-align:justify\"><p>foo</p><p>bar</p></div><p>extra</p>" but got "<div align=\"right\"><p style=\"text-align:justify\">foo</p><p style=\"text-align:justify\">bar</p></div><p>extra</p>"
+PASS [["stylewithcss","false"],["justifyfull",""]] "<div align=right><p>[foo<p>bar}</div><p>extra" queryCommandIndeterm("stylewithcss") before 
+PASS [["stylewithcss","false"],["justifyfull",""]] "<div align=right><p>[foo<p>bar}</div><p>extra" queryCommandState("stylewithcss") before 
+PASS [["stylewithcss","false"],["justifyfull",""]] "<div align=right><p>[foo<p>bar}</div><p>extra" queryCommandValue("stylewithcss") before 
+PASS [["stylewithcss","false"],["justifyfull",""]] "<div align=right><p>[foo<p>bar}</div><p>extra" queryCommandIndeterm("stylewithcss") after 
+PASS [["stylewithcss","false"],["justifyfull",""]] "<div align=right><p>[foo<p>bar}</div><p>extra" queryCommandState("stylewithcss") after 
+PASS [["stylewithcss","false"],["justifyfull",""]] "<div align=right><p>[foo<p>bar}</div><p>extra" queryCommandValue("stylewithcss") after 
+PASS [["stylewithcss","false"],["justifyfull",""]] "<div align=right><p>[foo<p>bar}</div><p>extra" queryCommandIndeterm("justifyfull") before 
+PASS [["stylewithcss","false"],["justifyfull",""]] "<div align=right><p>[foo<p>bar}</div><p>extra" queryCommandState("justifyfull") before 
+FAIL [["stylewithcss","false"],["justifyfull",""]] "<div align=right><p>[foo<p>bar}</div><p>extra" queryCommandValue("justifyfull") before assert_equals: Wrong result returned expected "right" but got "false"
+PASS [["stylewithcss","false"],["justifyfull",""]] "<div align=right><p>[foo<p>bar}</div><p>extra" queryCommandIndeterm("justifyfull") after 
+PASS [["stylewithcss","false"],["justifyfull",""]] "<div align=right><p>[foo<p>bar}</div><p>extra" queryCommandState("justifyfull") after 
+FAIL [["stylewithcss","false"],["justifyfull",""]] "<div align=right><p>[foo<p>bar}</div><p>extra" queryCommandValue("justifyfull") after assert_equals: Wrong result returned expected "justify" but got "true"
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<div style=text-align:right><p>[foo]<p>bar</div><p>extra": execCommand("stylewithcss", false, "true") return value 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<div style=text-align:right><p>[foo]<p>bar</div><p>extra": execCommand("defaultparagraphseparator", false, "div") return value 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<div style=text-align:right><p>[foo]<p>bar</div><p>extra": execCommand("justifyfull", false, "") return value 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<div style=text-align:right><p>[foo]<p>bar</div><p>extra" checks for modifications to non-editable content 
+FAIL [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<div style=text-align:right><p>[foo]<p>bar</div><p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<div style=\"text-align:right\"><div style=\"text-align:justify\"><p>foo</p></div><p>bar</p></div><p>extra</p>" but got "<div style=\"text-align:right\"><p style=\"text-align:justify\">foo</p><p>bar</p></div><p>extra</p>"
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<div style=text-align:right><p>[foo]<p>bar</div><p>extra" queryCommandIndeterm("stylewithcss") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<div style=text-align:right><p>[foo]<p>bar</div><p>extra" queryCommandState("stylewithcss") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<div style=text-align:right><p>[foo]<p>bar</div><p>extra" queryCommandValue("stylewithcss") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<div style=text-align:right><p>[foo]<p>bar</div><p>extra" queryCommandIndeterm("stylewithcss") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<div style=text-align:right><p>[foo]<p>bar</div><p>extra" queryCommandState("stylewithcss") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<div style=text-align:right><p>[foo]<p>bar</div><p>extra" queryCommandValue("stylewithcss") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<div style=text-align:right><p>[foo]<p>bar</div><p>extra" queryCommandIndeterm("defaultparagraphseparator") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<div style=text-align:right><p>[foo]<p>bar</div><p>extra" queryCommandState("defaultparagraphseparator") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<div style=text-align:right><p>[foo]<p>bar</div><p>extra" queryCommandValue("defaultparagraphseparator") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<div style=text-align:right><p>[foo]<p>bar</div><p>extra" queryCommandIndeterm("defaultparagraphseparator") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<div style=text-align:right><p>[foo]<p>bar</div><p>extra" queryCommandState("defaultparagraphseparator") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<div style=text-align:right><p>[foo]<p>bar</div><p>extra" queryCommandValue("defaultparagraphseparator") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<div style=text-align:right><p>[foo]<p>bar</div><p>extra" queryCommandIndeterm("justifyfull") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<div style=text-align:right><p>[foo]<p>bar</div><p>extra" queryCommandState("justifyfull") before 
+FAIL [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<div style=text-align:right><p>[foo]<p>bar</div><p>extra" queryCommandValue("justifyfull") before assert_equals: Wrong result returned expected "right" but got "false"
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<div style=text-align:right><p>[foo]<p>bar</div><p>extra" queryCommandIndeterm("justifyfull") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<div style=text-align:right><p>[foo]<p>bar</div><p>extra" queryCommandState("justifyfull") after 
+FAIL [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<div style=text-align:right><p>[foo]<p>bar</div><p>extra" queryCommandValue("justifyfull") after assert_equals: Wrong result returned expected "justify" but got "true"
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<div style=text-align:right><p>[foo]<p>bar</div><p>extra": execCommand("stylewithcss", false, "false") return value 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<div style=text-align:right><p>[foo]<p>bar</div><p>extra": execCommand("defaultparagraphseparator", false, "div") return value 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<div style=text-align:right><p>[foo]<p>bar</div><p>extra": execCommand("justifyfull", false, "") return value 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<div style=text-align:right><p>[foo]<p>bar</div><p>extra" checks for modifications to non-editable content 
+FAIL [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<div style=text-align:right><p>[foo]<p>bar</div><p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<div style=\"text-align:right\"><div style=\"text-align:justify\"><p>foo</p></div><p>bar</p></div><p>extra</p>" but got "<div style=\"text-align:right\"><p style=\"text-align:justify\">foo</p><p>bar</p></div><p>extra</p>"
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<div style=text-align:right><p>[foo]<p>bar</div><p>extra" queryCommandIndeterm("stylewithcss") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<div style=text-align:right><p>[foo]<p>bar</div><p>extra" queryCommandState("stylewithcss") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<div style=text-align:right><p>[foo]<p>bar</div><p>extra" queryCommandValue("stylewithcss") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<div style=text-align:right><p>[foo]<p>bar</div><p>extra" queryCommandIndeterm("stylewithcss") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<div style=text-align:right><p>[foo]<p>bar</div><p>extra" queryCommandState("stylewithcss") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<div style=text-align:right><p>[foo]<p>bar</div><p>extra" queryCommandValue("stylewithcss") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<div style=text-align:right><p>[foo]<p>bar</div><p>extra" queryCommandIndeterm("defaultparagraphseparator") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<div style=text-align:right><p>[foo]<p>bar</div><p>extra" queryCommandState("defaultparagraphseparator") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<div style=text-align:right><p>[foo]<p>bar</div><p>extra" queryCommandValue("defaultparagraphseparator") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<div style=text-align:right><p>[foo]<p>bar</div><p>extra" queryCommandIndeterm("defaultparagraphseparator") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<div style=text-align:right><p>[foo]<p>bar</div><p>extra" queryCommandState("defaultparagraphseparator") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<div style=text-align:right><p>[foo]<p>bar</div><p>extra" queryCommandValue("defaultparagraphseparator") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<div style=text-align:right><p>[foo]<p>bar</div><p>extra" queryCommandIndeterm("justifyfull") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<div style=text-align:right><p>[foo]<p>bar</div><p>extra" queryCommandState("justifyfull") before 
+FAIL [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<div style=text-align:right><p>[foo]<p>bar</div><p>extra" queryCommandValue("justifyfull") before assert_equals: Wrong result returned expected "right" but got "false"
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<div style=text-align:right><p>[foo]<p>bar</div><p>extra" queryCommandIndeterm("justifyfull") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<div style=text-align:right><p>[foo]<p>bar</div><p>extra" queryCommandState("justifyfull") after 
+FAIL [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<div style=text-align:right><p>[foo]<p>bar</div><p>extra" queryCommandValue("justifyfull") after assert_equals: Wrong result returned expected "justify" but got "true"
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<div style=text-align:right><p>[foo]<p>bar</div><p>extra": execCommand("stylewithcss", false, "true") return value 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<div style=text-align:right><p>[foo]<p>bar</div><p>extra": execCommand("defaultparagraphseparator", false, "p") return value 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<div style=text-align:right><p>[foo]<p>bar</div><p>extra": execCommand("justifyfull", false, "") return value 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<div style=text-align:right><p>[foo]<p>bar</div><p>extra" checks for modifications to non-editable content 
+FAIL [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<div style=text-align:right><p>[foo]<p>bar</div><p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<div style=\"text-align:right\"><div style=\"text-align:justify\"><p>foo</p></div><p>bar</p></div><p>extra</p>" but got "<div style=\"text-align:right\"><p style=\"text-align:justify\">foo</p><p>bar</p></div><p>extra</p>"
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<div style=text-align:right><p>[foo]<p>bar</div><p>extra" queryCommandIndeterm("stylewithcss") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<div style=text-align:right><p>[foo]<p>bar</div><p>extra" queryCommandState("stylewithcss") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<div style=text-align:right><p>[foo]<p>bar</div><p>extra" queryCommandValue("stylewithcss") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<div style=text-align:right><p>[foo]<p>bar</div><p>extra" queryCommandIndeterm("stylewithcss") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<div style=text-align:right><p>[foo]<p>bar</div><p>extra" queryCommandState("stylewithcss") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<div style=text-align:right><p>[foo]<p>bar</div><p>extra" queryCommandValue("stylewithcss") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<div style=text-align:right><p>[foo]<p>bar</div><p>extra" queryCommandIndeterm("defaultparagraphseparator") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<div style=text-align:right><p>[foo]<p>bar</div><p>extra" queryCommandState("defaultparagraphseparator") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<div style=text-align:right><p>[foo]<p>bar</div><p>extra" queryCommandValue("defaultparagraphseparator") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<div style=text-align:right><p>[foo]<p>bar</div><p>extra" queryCommandIndeterm("defaultparagraphseparator") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<div style=text-align:right><p>[foo]<p>bar</div><p>extra" queryCommandState("defaultparagraphseparator") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<div style=text-align:right><p>[foo]<p>bar</div><p>extra" queryCommandValue("defaultparagraphseparator") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<div style=text-align:right><p>[foo]<p>bar</div><p>extra" queryCommandIndeterm("justifyfull") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<div style=text-align:right><p>[foo]<p>bar</div><p>extra" queryCommandState("justifyfull") before 
+FAIL [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<div style=text-align:right><p>[foo]<p>bar</div><p>extra" queryCommandValue("justifyfull") before assert_equals: Wrong result returned expected "right" but got "false"
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<div style=text-align:right><p>[foo]<p>bar</div><p>extra" queryCommandIndeterm("justifyfull") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<div style=text-align:right><p>[foo]<p>bar</div><p>extra" queryCommandState("justifyfull") after 
+FAIL [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<div style=text-align:right><p>[foo]<p>bar</div><p>extra" queryCommandValue("justifyfull") after assert_equals: Wrong result returned expected "justify" but got "true"
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<div style=text-align:right><p>[foo]<p>bar</div><p>extra": execCommand("stylewithcss", false, "false") return value 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<div style=text-align:right><p>[foo]<p>bar</div><p>extra": execCommand("defaultparagraphseparator", false, "p") return value 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<div style=text-align:right><p>[foo]<p>bar</div><p>extra": execCommand("justifyfull", false, "") return value 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<div style=text-align:right><p>[foo]<p>bar</div><p>extra" checks for modifications to non-editable content 
+FAIL [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<div style=text-align:right><p>[foo]<p>bar</div><p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<div style=\"text-align:right\"><div style=\"text-align:justify\"><p>foo</p></div><p>bar</p></div><p>extra</p>" but got "<div style=\"text-align:right\"><p style=\"text-align:justify\">foo</p><p>bar</p></div><p>extra</p>"
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<div style=text-align:right><p>[foo]<p>bar</div><p>extra" queryCommandIndeterm("stylewithcss") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<div style=text-align:right><p>[foo]<p>bar</div><p>extra" queryCommandState("stylewithcss") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<div style=text-align:right><p>[foo]<p>bar</div><p>extra" queryCommandValue("stylewithcss") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<div style=text-align:right><p>[foo]<p>bar</div><p>extra" queryCommandIndeterm("stylewithcss") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<div style=text-align:right><p>[foo]<p>bar</div><p>extra" queryCommandState("stylewithcss") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<div style=text-align:right><p>[foo]<p>bar</div><p>extra" queryCommandValue("stylewithcss") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<div style=text-align:right><p>[foo]<p>bar</div><p>extra" queryCommandIndeterm("defaultparagraphseparator") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<div style=text-align:right><p>[foo]<p>bar</div><p>extra" queryCommandState("defaultparagraphseparator") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<div style=text-align:right><p>[foo]<p>bar</div><p>extra" queryCommandValue("defaultparagraphseparator") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<div style=text-align:right><p>[foo]<p>bar</div><p>extra" queryCommandIndeterm("defaultparagraphseparator") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<div style=text-align:right><p>[foo]<p>bar</div><p>extra" queryCommandState("defaultparagraphseparator") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<div style=text-align:right><p>[foo]<p>bar</div><p>extra" queryCommandValue("defaultparagraphseparator") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<div style=text-align:right><p>[foo]<p>bar</div><p>extra" queryCommandIndeterm("justifyfull") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<div style=text-align:right><p>[foo]<p>bar</div><p>extra" queryCommandState("justifyfull") before 
+FAIL [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<div style=text-align:right><p>[foo]<p>bar</div><p>extra" queryCommandValue("justifyfull") before assert_equals: Wrong result returned expected "right" but got "false"
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<div style=text-align:right><p>[foo]<p>bar</div><p>extra" queryCommandIndeterm("justifyfull") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<div style=text-align:right><p>[foo]<p>bar</div><p>extra" queryCommandState("justifyfull") after 
+FAIL [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<div style=text-align:right><p>[foo]<p>bar</div><p>extra" queryCommandValue("justifyfull") after assert_equals: Wrong result returned expected "justify" but got "true"
+PASS [["justifyfull",""]] "<div style=text-align:right><p>[foo<p>bar]</div><p>extra": execCommand("justifyfull", false, "") return value 
+PASS [["justifyfull",""]] "<div style=text-align:right><p>[foo<p>bar]</div><p>extra" checks for modifications to non-editable content 
+FAIL [["justifyfull",""]] "<div style=text-align:right><p>[foo<p>bar]</div><p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<div style=\"text-align:justify\"><p>foo</p><p>bar</p></div><p>extra</p>" but got "<div style=\"text-align:right\"><p style=\"text-align:justify\">foo</p><p style=\"text-align:justify\">bar</p></div><p>extra</p>"
+PASS [["justifyfull",""]] "<div style=text-align:right><p>[foo<p>bar]</div><p>extra" queryCommandIndeterm("justifyfull") before 
+PASS [["justifyfull",""]] "<div style=text-align:right><p>[foo<p>bar]</div><p>extra" queryCommandState("justifyfull") before 
+FAIL [["justifyfull",""]] "<div style=text-align:right><p>[foo<p>bar]</div><p>extra" queryCommandValue("justifyfull") before assert_equals: Wrong result returned expected "right" but got "false"
+PASS [["justifyfull",""]] "<div style=text-align:right><p>[foo<p>bar]</div><p>extra" queryCommandIndeterm("justifyfull") after 
+PASS [["justifyfull",""]] "<div style=text-align:right><p>[foo<p>bar]</div><p>extra" queryCommandState("justifyfull") after 
+FAIL [["justifyfull",""]] "<div style=text-align:right><p>[foo<p>bar]</div><p>extra" queryCommandValue("justifyfull") after assert_equals: Wrong result returned expected "justify" but got "true"
+PASS [["justifyfull",""]] "<div align=justify>foo</div>[bar]<p>extra": execCommand("justifyfull", false, "") return value 
+PASS [["justifyfull",""]] "<div align=justify>foo</div>[bar]<p>extra" checks for modifications to non-editable content 
+FAIL [["justifyfull",""]] "<div align=justify>foo</div>[bar]<p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<div align=\"justify\">foo<br>bar</div><p>extra</p>" but got "<div align=\"justify\">foo</div><p style=\"text-align:justify\">bar</p><p>extra</p>"
+PASS [["justifyfull",""]] "<div align=justify>foo</div>[bar]<p>extra" queryCommandIndeterm("justifyfull") before 
+PASS [["justifyfull",""]] "<div align=justify>foo</div>[bar]<p>extra" queryCommandState("justifyfull") before 
+FAIL [["justifyfull",""]] "<div align=justify>foo</div>[bar]<p>extra" queryCommandValue("justifyfull") before assert_equals: Wrong result returned expected "left" but got "false"
+PASS [["justifyfull",""]] "<div align=justify>foo</div>[bar]<p>extra" queryCommandIndeterm("justifyfull") after 
+PASS [["justifyfull",""]] "<div align=justify>foo</div>[bar]<p>extra" queryCommandState("justifyfull") after 
+FAIL [["justifyfull",""]] "<div align=justify>foo</div>[bar]<p>extra" queryCommandValue("justifyfull") after assert_equals: Wrong result returned expected "justify" but got "true"
+PASS [["justifyfull",""]] "[foo]<div align=justify>bar</div><p>extra": execCommand("justifyfull", false, "") return value 
+PASS [["justifyfull",""]] "[foo]<div align=justify>bar</div><p>extra" checks for modifications to non-editable content 
+FAIL [["justifyfull",""]] "[foo]<div align=justify>bar</div><p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<div align=\"justify\">foo<br>bar</div><p>extra</p>" but got "<p style=\"text-align:justify\">foo</p><div align=\"justify\">bar</div><p>extra</p>"
+PASS [["justifyfull",""]] "[foo]<div align=justify>bar</div><p>extra" queryCommandIndeterm("justifyfull") before 
+PASS [["justifyfull",""]] "[foo]<div align=justify>bar</div><p>extra" queryCommandState("justifyfull") before 
+FAIL [["justifyfull",""]] "[foo]<div align=justify>bar</div><p>extra" queryCommandValue("justifyfull") before assert_equals: Wrong result returned expected "left" but got "false"
+PASS [["justifyfull",""]] "[foo]<div align=justify>bar</div><p>extra" queryCommandIndeterm("justifyfull") after 
+PASS [["justifyfull",""]] "[foo]<div align=justify>bar</div><p>extra" queryCommandState("justifyfull") after 
+FAIL [["justifyfull",""]] "[foo]<div align=justify>bar</div><p>extra" queryCommandValue("justifyfull") after assert_equals: Wrong result returned expected "justify" but got "true"
+PASS [["defaultparagraphseparator","div"],["justifyfull",""]] "<div align=justify>foo</div>[bar]<div align=justify>baz</div><p>extra": execCommand("defaultparagraphseparator", false, "div") return value 
+PASS [["defaultparagraphseparator","div"],["justifyfull",""]] "<div align=justify>foo</div>[bar]<div align=justify>baz</div><p>extra": execCommand("justifyfull", false, "") return value 
+PASS [["defaultparagraphseparator","div"],["justifyfull",""]] "<div align=justify>foo</div>[bar]<div align=justify>baz</div><p>extra" checks for modifications to non-editable content 
+FAIL [["defaultparagraphseparator","div"],["justifyfull",""]] "<div align=justify>foo</div>[bar]<div align=justify>baz</div><p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<div align=\"justify\">foo<br>bar<br>baz</div><p>extra</p>" but got "<div align=\"justify\">foo</div><div style=\"text-align:justify\">bar</div><div align=\"justify\">baz</div><p>extra</p>"
+PASS [["defaultparagraphseparator","div"],["justifyfull",""]] "<div align=justify>foo</div>[bar]<div align=justify>baz</div><p>extra" queryCommandIndeterm("defaultparagraphseparator") before 
+PASS [["defaultparagraphseparator","div"],["justifyfull",""]] "<div align=justify>foo</div>[bar]<div align=justify>baz</div><p>extra" queryCommandState("defaultparagraphseparator") before 
+PASS [["defaultparagraphseparator","div"],["justifyfull",""]] "<div align=justify>foo</div>[bar]<div align=justify>baz</div><p>extra" queryCommandValue("defaultparagraphseparator") before 
+PASS [["defaultparagraphseparator","div"],["justifyfull",""]] "<div align=justify>foo</div>[bar]<div align=justify>baz</div><p>extra" queryCommandIndeterm("defaultparagraphseparator") after 
+PASS [["defaultparagraphseparator","div"],["justifyfull",""]] "<div align=justify>foo</div>[bar]<div align=justify>baz</div><p>extra" queryCommandState("defaultparagraphseparator") after 
+PASS [["defaultparagraphseparator","div"],["justifyfull",""]] "<div align=justify>foo</div>[bar]<div align=justify>baz</div><p>extra" queryCommandValue("defaultparagraphseparator") after 
+PASS [["defaultparagraphseparator","div"],["justifyfull",""]] "<div align=justify>foo</div>[bar]<div align=justify>baz</div><p>extra" queryCommandIndeterm("justifyfull") before 
+PASS [["defaultparagraphseparator","div"],["justifyfull",""]] "<div align=justify>foo</div>[bar]<div align=justify>baz</div><p>extra" queryCommandState("justifyfull") before 
+FAIL [["defaultparagraphseparator","div"],["justifyfull",""]] "<div align=justify>foo</div>[bar]<div align=justify>baz</div><p>extra" queryCommandValue("justifyfull") before assert_equals: Wrong result returned expected "left" but got "false"
+PASS [["defaultparagraphseparator","div"],["justifyfull",""]] "<div align=justify>foo</div>[bar]<div align=justify>baz</div><p>extra" queryCommandIndeterm("justifyfull") after 
+PASS [["defaultparagraphseparator","div"],["justifyfull",""]] "<div align=justify>foo</div>[bar]<div align=justify>baz</div><p>extra" queryCommandState("justifyfull") after 
+FAIL [["defaultparagraphseparator","div"],["justifyfull",""]] "<div align=justify>foo</div>[bar]<div align=justify>baz</div><p>extra" queryCommandValue("justifyfull") after assert_equals: Wrong result returned expected "justify" but got "true"
+PASS [["defaultparagraphseparator","p"],["justifyfull",""]] "<div align=justify>foo</div>[bar]<div align=justify>baz</div><p>extra": execCommand("defaultparagraphseparator", false, "p") return value 
+PASS [["defaultparagraphseparator","p"],["justifyfull",""]] "<div align=justify>foo</div>[bar]<div align=justify>baz</div><p>extra": execCommand("justifyfull", false, "") return value 
+PASS [["defaultparagraphseparator","p"],["justifyfull",""]] "<div align=justify>foo</div>[bar]<div align=justify>baz</div><p>extra" checks for modifications to non-editable content 
+FAIL [["defaultparagraphseparator","p"],["justifyfull",""]] "<div align=justify>foo</div>[bar]<div align=justify>baz</div><p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<div align=\"justify\">foo<br>bar<br>baz</div><p>extra</p>" but got "<div align=\"justify\">foo</div><p style=\"text-align:justify\">bar</p><div align=\"justify\">baz</div><p>extra</p>"
+PASS [["defaultparagraphseparator","p"],["justifyfull",""]] "<div align=justify>foo</div>[bar]<div align=justify>baz</div><p>extra" queryCommandIndeterm("defaultparagraphseparator") before 
+PASS [["defaultparagraphseparator","p"],["justifyfull",""]] "<div align=justify>foo</div>[bar]<div align=justify>baz</div><p>extra" queryCommandState("defaultparagraphseparator") before 
+PASS [["defaultparagraphseparator","p"],["justifyfull",""]] "<div align=justify>foo</div>[bar]<div align=justify>baz</div><p>extra" queryCommandValue("defaultparagraphseparator") before 
+PASS [["defaultparagraphseparator","p"],["justifyfull",""]] "<div align=justify>foo</div>[bar]<div align=justify>baz</div><p>extra" queryCommandIndeterm("defaultparagraphseparator") after 
+PASS [["defaultparagraphseparator","p"],["justifyfull",""]] "<div align=justify>foo</div>[bar]<div align=justify>baz</div><p>extra" queryCommandState("defaultparagraphseparator") after 
+PASS [["defaultparagraphseparator","p"],["justifyfull",""]] "<div align=justify>foo</div>[bar]<div align=justify>baz</div><p>extra" queryCommandValue("defaultparagraphseparator") after 
+PASS [["defaultparagraphseparator","p"],["justifyfull",""]] "<div align=justify>foo</div>[bar]<div align=justify>baz</div><p>extra" queryCommandIndeterm("justifyfull") before 
+PASS [["defaultparagraphseparator","p"],["justifyfull",""]] "<div align=justify>foo</div>[bar]<div align=justify>baz</div><p>extra" queryCommandState("justifyfull") before 
+FAIL [["defaultparagraphseparator","p"],["justifyfull",""]] "<div align=justify>foo</div>[bar]<div align=justify>baz</div><p>extra" queryCommandValue("justifyfull") before assert_equals: Wrong result returned expected "left" but got "false"
+PASS [["defaultparagraphseparator","p"],["justifyfull",""]] "<div align=justify>foo</div>[bar]<div align=justify>baz</div><p>extra" queryCommandIndeterm("justifyfull") after 
+PASS [["defaultparagraphseparator","p"],["justifyfull",""]] "<div align=justify>foo</div>[bar]<div align=justify>baz</div><p>extra" queryCommandState("justifyfull") after 
+FAIL [["defaultparagraphseparator","p"],["justifyfull",""]] "<div align=justify>foo</div>[bar]<div align=justify>baz</div><p>extra" queryCommandValue("justifyfull") after assert_equals: Wrong result returned expected "justify" but got "true"
+PASS [["justifyfull",""]] "<div align=justify><p>foo</div><p>[bar]<p>extra": execCommand("justifyfull", false, "") return value 
+PASS [["justifyfull",""]] "<div align=justify><p>foo</div><p>[bar]<p>extra" checks for modifications to non-editable content 
+FAIL [["justifyfull",""]] "<div align=justify><p>foo</div><p>[bar]<p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<div align=\"justify\"><p>foo</p><p>bar</p></div><p>extra</p>" but got "<div align=\"justify\"><p>foo</p></div><p style=\"text-align:justify\">bar</p><p>extra</p>"
+PASS [["justifyfull",""]] "<div align=justify><p>foo</div><p>[bar]<p>extra" queryCommandIndeterm("justifyfull") before 
+PASS [["justifyfull",""]] "<div align=justify><p>foo</div><p>[bar]<p>extra" queryCommandState("justifyfull") before 
+FAIL [["justifyfull",""]] "<div align=justify><p>foo</div><p>[bar]<p>extra" queryCommandValue("justifyfull") before assert_equals: Wrong result returned expected "left" but got "false"
+PASS [["justifyfull",""]] "<div align=justify><p>foo</div><p>[bar]<p>extra" queryCommandIndeterm("justifyfull") after 
+PASS [["justifyfull",""]] "<div align=justify><p>foo</div><p>[bar]<p>extra" queryCommandState("justifyfull") after 
+FAIL [["justifyfull",""]] "<div align=justify><p>foo</div><p>[bar]<p>extra" queryCommandValue("justifyfull") after assert_equals: Wrong result returned expected "justify" but got "true"
+PASS [["justifyfull",""]] "<p>[foo]<div align=justify><p>bar</div><p>extra": execCommand("justifyfull", false, "") return value 
+PASS [["justifyfull",""]] "<p>[foo]<div align=justify><p>bar</div><p>extra" checks for modifications to non-editable content 
+FAIL [["justifyfull",""]] "<p>[foo]<div align=justify><p>bar</div><p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<div align=\"justify\"><p>foo</p><p>bar</p></div><p>extra</p>" but got "<p style=\"text-align:justify\">foo</p><div align=\"justify\"><p>bar</p></div><p>extra</p>"
+PASS [["justifyfull",""]] "<p>[foo]<div align=justify><p>bar</div><p>extra" queryCommandIndeterm("justifyfull") before 
+PASS [["justifyfull",""]] "<p>[foo]<div align=justify><p>bar</div><p>extra" queryCommandState("justifyfull") before 
+FAIL [["justifyfull",""]] "<p>[foo]<div align=justify><p>bar</div><p>extra" queryCommandValue("justifyfull") before assert_equals: Wrong result returned expected "left" but got "false"
+PASS [["justifyfull",""]] "<p>[foo]<div align=justify><p>bar</div><p>extra" queryCommandIndeterm("justifyfull") after 
+PASS [["justifyfull",""]] "<p>[foo]<div align=justify><p>bar</div><p>extra" queryCommandState("justifyfull") after 
+FAIL [["justifyfull",""]] "<p>[foo]<div align=justify><p>bar</div><p>extra" queryCommandValue("justifyfull") after assert_equals: Wrong result returned expected "justify" but got "true"
+PASS [["defaultparagraphseparator","div"],["justifyfull",""]] "<div align=justify><p>foo</div><p>[bar]<div align=justify><p>baz</div><p>extra": execCommand("defaultparagraphseparator", false, "div") return value 
+PASS [["defaultparagraphseparator","div"],["justifyfull",""]] "<div align=justify><p>foo</div><p>[bar]<div align=justify><p>baz</div><p>extra": execCommand("justifyfull", false, "") return value 
+PASS [["defaultparagraphseparator","div"],["justifyfull",""]] "<div align=justify><p>foo</div><p>[bar]<div align=justify><p>baz</div><p>extra" checks for modifications to non-editable content 
+FAIL [["defaultparagraphseparator","div"],["justifyfull",""]] "<div align=justify><p>foo</div><p>[bar]<div align=justify><p>baz</div><p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<div align=\"justify\"><p>foo</p><p>bar</p><p>baz</p></div><p>extra</p>" but got "<div align=\"justify\"><p>foo</p></div><p style=\"text-align:justify\">bar</p><div align=\"justify\"><p>baz</p></div><p>extra</p>"
+PASS [["defaultparagraphseparator","div"],["justifyfull",""]] "<div align=justify><p>foo</div><p>[bar]<div align=justify><p>baz</div><p>extra" queryCommandIndeterm("defaultparagraphseparator") before 
+PASS [["defaultparagraphseparator","div"],["justifyfull",""]] "<div align=justify><p>foo</div><p>[bar]<div align=justify><p>baz</div><p>extra" queryCommandState("defaultparagraphseparator") before 
+PASS [["defaultparagraphseparator","div"],["justifyfull",""]] "<div align=justify><p>foo</div><p>[bar]<div align=justify><p>baz</div><p>extra" queryCommandValue("defaultparagraphseparator") before 
+PASS [["defaultparagraphseparator","div"],["justifyfull",""]] "<div align=justify><p>foo</div><p>[bar]<div align=justify><p>baz</div><p>extra" queryCommandIndeterm("defaultparagraphseparator") after 
+PASS [["defaultparagraphseparator","div"],["justifyfull",""]] "<div align=justify><p>foo</div><p>[bar]<div align=justify><p>baz</div><p>extra" queryCommandState("defaultparagraphseparator") after 
+PASS [["defaultparagraphseparator","div"],["justifyfull",""]] "<div align=justify><p>foo</div><p>[bar]<div align=justify><p>baz</div><p>extra" queryCommandValue("defaultparagraphseparator") after 
+PASS [["defaultparagraphseparator","div"],["justifyfull",""]] "<div align=justify><p>foo</div><p>[bar]<div align=justify><p>baz</div><p>extra" queryCommandIndeterm("justifyfull") before 
+PASS [["defaultparagraphseparator","div"],["justifyfull",""]] "<div align=justify><p>foo</div><p>[bar]<div align=justify><p>baz</div><p>extra" queryCommandState("justifyfull") before 
+FAIL [["defaultparagraphseparator","div"],["justifyfull",""]] "<div align=justify><p>foo</div><p>[bar]<div align=justify><p>baz</div><p>extra" queryCommandValue("justifyfull") before assert_equals: Wrong result returned expected "left" but got "false"
+PASS [["defaultparagraphseparator","div"],["justifyfull",""]] "<div align=justify><p>foo</div><p>[bar]<div align=justify><p>baz</div><p>extra" queryCommandIndeterm("justifyfull") after 
+PASS [["defaultparagraphseparator","div"],["justifyfull",""]] "<div align=justify><p>foo</div><p>[bar]<div align=justify><p>baz</div><p>extra" queryCommandState("justifyfull") after 
+FAIL [["defaultparagraphseparator","div"],["justifyfull",""]] "<div align=justify><p>foo</div><p>[bar]<div align=justify><p>baz</div><p>extra" queryCommandValue("justifyfull") after assert_equals: Wrong result returned expected "justify" but got "true"
+PASS [["defaultparagraphseparator","p"],["justifyfull",""]] "<div align=justify><p>foo</div><p>[bar]<div align=justify><p>baz</div><p>extra": execCommand("defaultparagraphseparator", false, "p") return value 
+PASS [["defaultparagraphseparator","p"],["justifyfull",""]] "<div align=justify><p>foo</div><p>[bar]<div align=justify><p>baz</div><p>extra": execCommand("justifyfull", false, "") return value 
+PASS [["defaultparagraphseparator","p"],["justifyfull",""]] "<div align=justify><p>foo</div><p>[bar]<div align=justify><p>baz</div><p>extra" checks for modifications to non-editable content 
+FAIL [["defaultparagraphseparator","p"],["justifyfull",""]] "<div align=justify><p>foo</div><p>[bar]<div align=justify><p>baz</div><p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<div align=\"justify\"><p>foo</p><p>bar</p><p>baz</p></div><p>extra</p>" but got "<div align=\"justify\"><p>foo</p></div><p style=\"text-align:justify\">bar</p><div align=\"justify\"><p>baz</p></div><p>extra</p>"
+PASS [["defaultparagraphseparator","p"],["justifyfull",""]] "<div align=justify><p>foo</div><p>[bar]<div align=justify><p>baz</div><p>extra" queryCommandIndeterm("defaultparagraphseparator") before 
+PASS [["defaultparagraphseparator","p"],["justifyfull",""]] "<div align=justify><p>foo</div><p>[bar]<div align=justify><p>baz</div><p>extra" queryCommandState("defaultparagraphseparator") before 
+PASS [["defaultparagraphseparator","p"],["justifyfull",""]] "<div align=justify><p>foo</div><p>[bar]<div align=justify><p>baz</div><p>extra" queryCommandValue("defaultparagraphseparator") before 
+PASS [["defaultparagraphseparator","p"],["justifyfull",""]] "<div align=justify><p>foo</div><p>[bar]<div align=justify><p>baz</div><p>extra" queryCommandIndeterm("defaultparagraphseparator") after 
+PASS [["defaultparagraphseparator","p"],["justifyfull",""]] "<div align=justify><p>foo</div><p>[bar]<div align=justify><p>baz</div><p>extra" queryCommandState("defaultparagraphseparator") after 
+PASS [["defaultparagraphseparator","p"],["justifyfull",""]] "<div align=justify><p>foo</div><p>[bar]<div align=justify><p>baz</div><p>extra" queryCommandValue("defaultparagraphseparator") after 
+PASS [["defaultparagraphseparator","p"],["justifyfull",""]] "<div align=justify><p>foo</div><p>[bar]<div align=justify><p>baz</div><p>extra" queryCommandIndeterm("justifyfull") before 
+PASS [["defaultparagraphseparator","p"],["justifyfull",""]] "<div align=justify><p>foo</div><p>[bar]<div align=justify><p>baz</div><p>extra" queryCommandState("justifyfull") before 
+FAIL [["defaultparagraphseparator","p"],["justifyfull",""]] "<div align=justify><p>foo</div><p>[bar]<div align=justify><p>baz</div><p>extra" queryCommandValue("justifyfull") before assert_equals: Wrong result returned expected "left" but got "false"
+PASS [["defaultparagraphseparator","p"],["justifyfull",""]] "<div align=justify><p>foo</div><p>[bar]<div align=justify><p>baz</div><p>extra" queryCommandIndeterm("justifyfull") after 
+PASS [["defaultparagraphseparator","p"],["justifyfull",""]] "<div align=justify><p>foo</div><p>[bar]<div align=justify><p>baz</div><p>extra" queryCommandState("justifyfull") after 
+FAIL [["defaultparagraphseparator","p"],["justifyfull",""]] "<div align=justify><p>foo</div><p>[bar]<div align=justify><p>baz</div><p>extra" queryCommandValue("justifyfull") after assert_equals: Wrong result returned expected "justify" but got "true"
+PASS [["justifyfull",""]] "<div style=text-align:justify>foo</div>[bar]<p>extra": execCommand("justifyfull", false, "") return value 
+PASS [["justifyfull",""]] "<div style=text-align:justify>foo</div>[bar]<p>extra" checks for modifications to non-editable content 
+FAIL [["justifyfull",""]] "<div style=text-align:justify>foo</div>[bar]<p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<div style=\"text-align:justify\">foo<br>bar</div><p>extra</p>" but got "<div style=\"text-align:justify\">foo</div><p style=\"text-align:justify\">bar</p><p>extra</p>"
+PASS [["justifyfull",""]] "<div style=text-align:justify>foo</div>[bar]<p>extra" queryCommandIndeterm("justifyfull") before 
+PASS [["justifyfull",""]] "<div style=text-align:justify>foo</div>[bar]<p>extra" queryCommandState("justifyfull") before 
+FAIL [["justifyfull",""]] "<div style=text-align:justify>foo</div>[bar]<p>extra" queryCommandValue("justifyfull") before assert_equals: Wrong result returned expected "left" but got "false"
+PASS [["justifyfull",""]] "<div style=text-align:justify>foo</div>[bar]<p>extra" queryCommandIndeterm("justifyfull") after 
+PASS [["justifyfull",""]] "<div style=text-align:justify>foo</div>[bar]<p>extra" queryCommandState("justifyfull") after 
+FAIL [["justifyfull",""]] "<div style=text-align:justify>foo</div>[bar]<p>extra" queryCommandValue("justifyfull") after assert_equals: Wrong result returned expected "justify" but got "true"
+PASS [["justifyfull",""]] "[foo]<div style=text-align:justify>bar</div><p>extra": execCommand("justifyfull", false, "") return value 
+PASS [["justifyfull",""]] "[foo]<div style=text-align:justify>bar</div><p>extra" checks for modifications to non-editable content 
+FAIL [["justifyfull",""]] "[foo]<div style=text-align:justify>bar</div><p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<div style=\"text-align:justify\">foo<br>bar</div><p>extra</p>" but got "<p style=\"text-align:justify\">foo</p><div style=\"text-align:justify\">bar</div><p>extra</p>"
+PASS [["justifyfull",""]] "[foo]<div style=text-align:justify>bar</div><p>extra" queryCommandIndeterm("justifyfull") before 
+PASS [["justifyfull",""]] "[foo]<div style=text-align:justify>bar</div><p>extra" queryCommandState("justifyfull") before 
+FAIL [["justifyfull",""]] "[foo]<div style=text-align:justify>bar</div><p>extra" queryCommandValue("justifyfull") before assert_equals: Wrong result returned expected "left" but got "false"
+PASS [["justifyfull",""]] "[foo]<div style=text-align:justify>bar</div><p>extra" queryCommandIndeterm("justifyfull") after 
+PASS [["justifyfull",""]] "[foo]<div style=text-align:justify>bar</div><p>extra" queryCommandState("justifyfull") after 
+FAIL [["justifyfull",""]] "[foo]<div style=text-align:justify>bar</div><p>extra" queryCommandValue("justifyfull") after assert_equals: Wrong result returned expected "justify" but got "true"
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<div style=text-align:justify>foo</div>[bar]<div style=text-align:justify>baz</div><p>extra": execCommand("stylewithcss", false, "true") return value 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<div style=text-align:justify>foo</div>[bar]<div style=text-align:justify>baz</div><p>extra": execCommand("defaultparagraphseparator", false, "div") return value 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<div style=text-align:justify>foo</div>[bar]<div style=text-align:justify>baz</div><p>extra": execCommand("justifyfull", false, "") return value 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<div style=text-align:justify>foo</div>[bar]<div style=text-align:justify>baz</div><p>extra" checks for modifications to non-editable content 
+FAIL [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<div style=text-align:justify>foo</div>[bar]<div style=text-align:justify>baz</div><p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<div style=\"text-align:justify\">foo<br>bar<br>baz</div><p>extra</p>" but got "<div style=\"text-align:justify\">foo</div><div style=\"text-align:justify\">bar</div><div style=\"text-align:justify\">baz</div><p>extra</p>"
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<div style=text-align:justify>foo</div>[bar]<div style=text-align:justify>baz</div><p>extra" queryCommandIndeterm("stylewithcss") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<div style=text-align:justify>foo</div>[bar]<div style=text-align:justify>baz</div><p>extra" queryCommandState("stylewithcss") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<div style=text-align:justify>foo</div>[bar]<div style=text-align:justify>baz</div><p>extra" queryCommandValue("stylewithcss") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<div style=text-align:justify>foo</div>[bar]<div style=text-align:justify>baz</div><p>extra" queryCommandIndeterm("stylewithcss") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<div style=text-align:justify>foo</div>[bar]<div style=text-align:justify>baz</div><p>extra" queryCommandState("stylewithcss") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<div style=text-align:justify>foo</div>[bar]<div style=text-align:justify>baz</div><p>extra" queryCommandValue("stylewithcss") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<div style=text-align:justify>foo</div>[bar]<div style=text-align:justify>baz</div><p>extra" queryCommandIndeterm("defaultparagraphseparator") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<div style=text-align:justify>foo</div>[bar]<div style=text-align:justify>baz</div><p>extra" queryCommandState("defaultparagraphseparator") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<div style=text-align:justify>foo</div>[bar]<div style=text-align:justify>baz</div><p>extra" queryCommandValue("defaultparagraphseparator") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<div style=text-align:justify>foo</div>[bar]<div style=text-align:justify>baz</div><p>extra" queryCommandIndeterm("defaultparagraphseparator") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<div style=text-align:justify>foo</div>[bar]<div style=text-align:justify>baz</div><p>extra" queryCommandState("defaultparagraphseparator") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<div style=text-align:justify>foo</div>[bar]<div style=text-align:justify>baz</div><p>extra" queryCommandValue("defaultparagraphseparator") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<div style=text-align:justify>foo</div>[bar]<div style=text-align:justify>baz</div><p>extra" queryCommandIndeterm("justifyfull") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<div style=text-align:justify>foo</div>[bar]<div style=text-align:justify>baz</div><p>extra" queryCommandState("justifyfull") before 
+FAIL [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<div style=text-align:justify>foo</div>[bar]<div style=text-align:justify>baz</div><p>extra" queryCommandValue("justifyfull") before assert_equals: Wrong result returned expected "left" but got "false"
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<div style=text-align:justify>foo</div>[bar]<div style=text-align:justify>baz</div><p>extra" queryCommandIndeterm("justifyfull") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<div style=text-align:justify>foo</div>[bar]<div style=text-align:justify>baz</div><p>extra" queryCommandState("justifyfull") after 
+FAIL [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<div style=text-align:justify>foo</div>[bar]<div style=text-align:justify>baz</div><p>extra" queryCommandValue("justifyfull") after assert_equals: Wrong result returned expected "justify" but got "true"
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<div style=text-align:justify>foo</div>[bar]<div style=text-align:justify>baz</div><p>extra": execCommand("stylewithcss", false, "false") return value 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<div style=text-align:justify>foo</div>[bar]<div style=text-align:justify>baz</div><p>extra": execCommand("defaultparagraphseparator", false, "div") return value 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<div style=text-align:justify>foo</div>[bar]<div style=text-align:justify>baz</div><p>extra": execCommand("justifyfull", false, "") return value 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<div style=text-align:justify>foo</div>[bar]<div style=text-align:justify>baz</div><p>extra" checks for modifications to non-editable content 
+FAIL [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<div style=text-align:justify>foo</div>[bar]<div style=text-align:justify>baz</div><p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<div style=\"text-align:justify\">foo<br>bar<br>baz</div><p>extra</p>" but got "<div style=\"text-align:justify\">foo</div><div style=\"text-align:justify\">bar</div><div style=\"text-align:justify\">baz</div><p>extra</p>"
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<div style=text-align:justify>foo</div>[bar]<div style=text-align:justify>baz</div><p>extra" queryCommandIndeterm("stylewithcss") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<div style=text-align:justify>foo</div>[bar]<div style=text-align:justify>baz</div><p>extra" queryCommandState("stylewithcss") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<div style=text-align:justify>foo</div>[bar]<div style=text-align:justify>baz</div><p>extra" queryCommandValue("stylewithcss") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<div style=text-align:justify>foo</div>[bar]<div style=text-align:justify>baz</div><p>extra" queryCommandIndeterm("stylewithcss") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<div style=text-align:justify>foo</div>[bar]<div style=text-align:justify>baz</div><p>extra" queryCommandState("stylewithcss") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<div style=text-align:justify>foo</div>[bar]<div style=text-align:justify>baz</div><p>extra" queryCommandValue("stylewithcss") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<div style=text-align:justify>foo</div>[bar]<div style=text-align:justify>baz</div><p>extra" queryCommandIndeterm("defaultparagraphseparator") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<div style=text-align:justify>foo</div>[bar]<div style=text-align:justify>baz</div><p>extra" queryCommandState("defaultparagraphseparator") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<div style=text-align:justify>foo</div>[bar]<div style=text-align:justify>baz</div><p>extra" queryCommandValue("defaultparagraphseparator") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<div style=text-align:justify>foo</div>[bar]<div style=text-align:justify>baz</div><p>extra" queryCommandIndeterm("defaultparagraphseparator") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<div style=text-align:justify>foo</div>[bar]<div style=text-align:justify>baz</div><p>extra" queryCommandState("defaultparagraphseparator") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<div style=text-align:justify>foo</div>[bar]<div style=text-align:justify>baz</div><p>extra" queryCommandValue("defaultparagraphseparator") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<div style=text-align:justify>foo</div>[bar]<div style=text-align:justify>baz</div><p>extra" queryCommandIndeterm("justifyfull") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<div style=text-align:justify>foo</div>[bar]<div style=text-align:justify>baz</div><p>extra" queryCommandState("justifyfull") before 
+FAIL [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<div style=text-align:justify>foo</div>[bar]<div style=text-align:justify>baz</div><p>extra" queryCommandValue("justifyfull") before assert_equals: Wrong result returned expected "left" but got "false"
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<div style=text-align:justify>foo</div>[bar]<div style=text-align:justify>baz</div><p>extra" queryCommandIndeterm("justifyfull") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<div style=text-align:justify>foo</div>[bar]<div style=text-align:justify>baz</div><p>extra" queryCommandState("justifyfull") after 
+FAIL [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<div style=text-align:justify>foo</div>[bar]<div style=text-align:justify>baz</div><p>extra" queryCommandValue("justifyfull") after assert_equals: Wrong result returned expected "justify" but got "true"
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<div style=text-align:justify>foo</div>[bar]<div style=text-align:justify>baz</div><p>extra": execCommand("stylewithcss", false, "true") return value 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<div style=text-align:justify>foo</div>[bar]<div style=text-align:justify>baz</div><p>extra": execCommand("defaultparagraphseparator", false, "p") return value 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<div style=text-align:justify>foo</div>[bar]<div style=text-align:justify>baz</div><p>extra": execCommand("justifyfull", false, "") return value 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<div style=text-align:justify>foo</div>[bar]<div style=text-align:justify>baz</div><p>extra" checks for modifications to non-editable content 
+FAIL [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<div style=text-align:justify>foo</div>[bar]<div style=text-align:justify>baz</div><p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<div style=\"text-align:justify\">foo<br>bar<br>baz</div><p>extra</p>" but got "<div style=\"text-align:justify\">foo</div><p style=\"text-align:justify\">bar</p><div style=\"text-align:justify\">baz</div><p>extra</p>"
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<div style=text-align:justify>foo</div>[bar]<div style=text-align:justify>baz</div><p>extra" queryCommandIndeterm("stylewithcss") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<div style=text-align:justify>foo</div>[bar]<div style=text-align:justify>baz</div><p>extra" queryCommandState("stylewithcss") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<div style=text-align:justify>foo</div>[bar]<div style=text-align:justify>baz</div><p>extra" queryCommandValue("stylewithcss") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<div style=text-align:justify>foo</div>[bar]<div style=text-align:justify>baz</div><p>extra" queryCommandIndeterm("stylewithcss") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<div style=text-align:justify>foo</div>[bar]<div style=text-align:justify>baz</div><p>extra" queryCommandState("stylewithcss") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<div style=text-align:justify>foo</div>[bar]<div style=text-align:justify>baz</div><p>extra" queryCommandValue("stylewithcss") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<div style=text-align:justify>foo</div>[bar]<div style=text-align:justify>baz</div><p>extra" queryCommandIndeterm("defaultparagraphseparator") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<div style=text-align:justify>foo</div>[bar]<div style=text-align:justify>baz</div><p>extra" queryCommandState("defaultparagraphseparator") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<div style=text-align:justify>foo</div>[bar]<div style=text-align:justify>baz</div><p>extra" queryCommandValue("defaultparagraphseparator") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<div style=text-align:justify>foo</div>[bar]<div style=text-align:justify>baz</div><p>extra" queryCommandIndeterm("defaultparagraphseparator") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<div style=text-align:justify>foo</div>[bar]<div style=text-align:justify>baz</div><p>extra" queryCommandState("defaultparagraphseparator") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<div style=text-align:justify>foo</div>[bar]<div style=text-align:justify>baz</div><p>extra" queryCommandValue("defaultparagraphseparator") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<div style=text-align:justify>foo</div>[bar]<div style=text-align:justify>baz</div><p>extra" queryCommandIndeterm("justifyfull") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<div style=text-align:justify>foo</div>[bar]<div style=text-align:justify>baz</div><p>extra" queryCommandState("justifyfull") before 
+FAIL [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<div style=text-align:justify>foo</div>[bar]<div style=text-align:justify>baz</div><p>extra" queryCommandValue("justifyfull") before assert_equals: Wrong result returned expected "left" but got "false"
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<div style=text-align:justify>foo</div>[bar]<div style=text-align:justify>baz</div><p>extra" queryCommandIndeterm("justifyfull") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<div style=text-align:justify>foo</div>[bar]<div style=text-align:justify>baz</div><p>extra" queryCommandState("justifyfull") after 
+FAIL [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<div style=text-align:justify>foo</div>[bar]<div style=text-align:justify>baz</div><p>extra" queryCommandValue("justifyfull") after assert_equals: Wrong result returned expected "justify" but got "true"
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<div style=text-align:justify>foo</div>[bar]<div style=text-align:justify>baz</div><p>extra": execCommand("stylewithcss", false, "false") return value 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<div style=text-align:justify>foo</div>[bar]<div style=text-align:justify>baz</div><p>extra": execCommand("defaultparagraphseparator", false, "p") return value 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<div style=text-align:justify>foo</div>[bar]<div style=text-align:justify>baz</div><p>extra": execCommand("justifyfull", false, "") return value 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<div style=text-align:justify>foo</div>[bar]<div style=text-align:justify>baz</div><p>extra" checks for modifications to non-editable content 
+FAIL [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<div style=text-align:justify>foo</div>[bar]<div style=text-align:justify>baz</div><p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<div style=\"text-align:justify\">foo<br>bar<br>baz</div><p>extra</p>" but got "<div style=\"text-align:justify\">foo</div><p style=\"text-align:justify\">bar</p><div style=\"text-align:justify\">baz</div><p>extra</p>"
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<div style=text-align:justify>foo</div>[bar]<div style=text-align:justify>baz</div><p>extra" queryCommandIndeterm("stylewithcss") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<div style=text-align:justify>foo</div>[bar]<div style=text-align:justify>baz</div><p>extra" queryCommandState("stylewithcss") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<div style=text-align:justify>foo</div>[bar]<div style=text-align:justify>baz</div><p>extra" queryCommandValue("stylewithcss") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<div style=text-align:justify>foo</div>[bar]<div style=text-align:justify>baz</div><p>extra" queryCommandIndeterm("stylewithcss") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<div style=text-align:justify>foo</div>[bar]<div style=text-align:justify>baz</div><p>extra" queryCommandState("stylewithcss") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<div style=text-align:justify>foo</div>[bar]<div style=text-align:justify>baz</div><p>extra" queryCommandValue("stylewithcss") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<div style=text-align:justify>foo</div>[bar]<div style=text-align:justify>baz</div><p>extra" queryCommandIndeterm("defaultparagraphseparator") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<div style=text-align:justify>foo</div>[bar]<div style=text-align:justify>baz</div><p>extra" queryCommandState("defaultparagraphseparator") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<div style=text-align:justify>foo</div>[bar]<div style=text-align:justify>baz</div><p>extra" queryCommandValue("defaultparagraphseparator") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<div style=text-align:justify>foo</div>[bar]<div style=text-align:justify>baz</div><p>extra" queryCommandIndeterm("defaultparagraphseparator") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<div style=text-align:justify>foo</div>[bar]<div style=text-align:justify>baz</div><p>extra" queryCommandState("defaultparagraphseparator") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<div style=text-align:justify>foo</div>[bar]<div style=text-align:justify>baz</div><p>extra" queryCommandValue("defaultparagraphseparator") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<div style=text-align:justify>foo</div>[bar]<div style=text-align:justify>baz</div><p>extra" queryCommandIndeterm("justifyfull") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<div style=text-align:justify>foo</div>[bar]<div style=text-align:justify>baz</div><p>extra" queryCommandState("justifyfull") before 
+FAIL [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<div style=text-align:justify>foo</div>[bar]<div style=text-align:justify>baz</div><p>extra" queryCommandValue("justifyfull") before assert_equals: Wrong result returned expected "left" but got "false"
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<div style=text-align:justify>foo</div>[bar]<div style=text-align:justify>baz</div><p>extra" queryCommandIndeterm("justifyfull") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<div style=text-align:justify>foo</div>[bar]<div style=text-align:justify>baz</div><p>extra" queryCommandState("justifyfull") after 
+FAIL [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<div style=text-align:justify>foo</div>[bar]<div style=text-align:justify>baz</div><p>extra" queryCommandValue("justifyfull") after assert_equals: Wrong result returned expected "justify" but got "true"
+PASS [["justifyfull",""]] "<div style=text-align:justify><p>foo</div><p>[bar]<p>extra": execCommand("justifyfull", false, "") return value 
+PASS [["justifyfull",""]] "<div style=text-align:justify><p>foo</div><p>[bar]<p>extra" checks for modifications to non-editable content 
+FAIL [["justifyfull",""]] "<div style=text-align:justify><p>foo</div><p>[bar]<p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<div style=\"text-align:justify\"><p>foo</p><p>bar</p></div><p>extra</p>" but got "<div style=\"text-align:justify\"><p>foo</p></div><p style=\"text-align:justify\">bar</p><p>extra</p>"
+PASS [["justifyfull",""]] "<div style=text-align:justify><p>foo</div><p>[bar]<p>extra" queryCommandIndeterm("justifyfull") before 
+PASS [["justifyfull",""]] "<div style=text-align:justify><p>foo</div><p>[bar]<p>extra" queryCommandState("justifyfull") before 
+FAIL [["justifyfull",""]] "<div style=text-align:justify><p>foo</div><p>[bar]<p>extra" queryCommandValue("justifyfull") before assert_equals: Wrong result returned expected "left" but got "false"
+PASS [["justifyfull",""]] "<div style=text-align:justify><p>foo</div><p>[bar]<p>extra" queryCommandIndeterm("justifyfull") after 
+PASS [["justifyfull",""]] "<div style=text-align:justify><p>foo</div><p>[bar]<p>extra" queryCommandState("justifyfull") after 
+FAIL [["justifyfull",""]] "<div style=text-align:justify><p>foo</div><p>[bar]<p>extra" queryCommandValue("justifyfull") after assert_equals: Wrong result returned expected "justify" but got "true"
+PASS [["justifyfull",""]] "<p>[foo]<div style=text-align:justify><p>bar</div><p>extra": execCommand("justifyfull", false, "") return value 
+PASS [["justifyfull",""]] "<p>[foo]<div style=text-align:justify><p>bar</div><p>extra" checks for modifications to non-editable content 
+FAIL [["justifyfull",""]] "<p>[foo]<div style=text-align:justify><p>bar</div><p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<div style=\"text-align:justify\"><p>foo</p><p>bar</p></div><p>extra</p>" but got "<p style=\"text-align:justify\">foo</p><div style=\"text-align:justify\"><p>bar</p></div><p>extra</p>"
+PASS [["justifyfull",""]] "<p>[foo]<div style=text-align:justify><p>bar</div><p>extra" queryCommandIndeterm("justifyfull") before 
+PASS [["justifyfull",""]] "<p>[foo]<div style=text-align:justify><p>bar</div><p>extra" queryCommandState("justifyfull") before 
+FAIL [["justifyfull",""]] "<p>[foo]<div style=text-align:justify><p>bar</div><p>extra" queryCommandValue("justifyfull") before assert_equals: Wrong result returned expected "left" but got "false"
+PASS [["justifyfull",""]] "<p>[foo]<div style=text-align:justify><p>bar</div><p>extra" queryCommandIndeterm("justifyfull") after 
+PASS [["justifyfull",""]] "<p>[foo]<div style=text-align:justify><p>bar</div><p>extra" queryCommandState("justifyfull") after 
+FAIL [["justifyfull",""]] "<p>[foo]<div style=text-align:justify><p>bar</div><p>extra" queryCommandValue("justifyfull") after assert_equals: Wrong result returned expected "justify" but got "true"
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<div style=text-align:justify><p>foo</div><p>[bar]<div style=text-align:justify><p>baz</div><p>extra": execCommand("stylewithcss", false, "true") return value 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<div style=text-align:justify><p>foo</div><p>[bar]<div style=text-align:justify><p>baz</div><p>extra": execCommand("defaultparagraphseparator", false, "div") return value 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<div style=text-align:justify><p>foo</div><p>[bar]<div style=text-align:justify><p>baz</div><p>extra": execCommand("justifyfull", false, "") return value 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<div style=text-align:justify><p>foo</div><p>[bar]<div style=text-align:justify><p>baz</div><p>extra" checks for modifications to non-editable content 
+FAIL [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<div style=text-align:justify><p>foo</div><p>[bar]<div style=text-align:justify><p>baz</div><p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<div style=\"text-align:justify\"><p>foo</p><p>bar</p><p>baz</p></div><p>extra</p>" but got "<div style=\"text-align:justify\"><p>foo</p></div><p style=\"text-align:justify\">bar</p><div style=\"text-align:justify\"><p>baz</p></div><p>extra</p>"
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<div style=text-align:justify><p>foo</div><p>[bar]<div style=text-align:justify><p>baz</div><p>extra" queryCommandIndeterm("stylewithcss") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<div style=text-align:justify><p>foo</div><p>[bar]<div style=text-align:justify><p>baz</div><p>extra" queryCommandState("stylewithcss") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<div style=text-align:justify><p>foo</div><p>[bar]<div style=text-align:justify><p>baz</div><p>extra" queryCommandValue("stylewithcss") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<div style=text-align:justify><p>foo</div><p>[bar]<div style=text-align:justify><p>baz</div><p>extra" queryCommandIndeterm("stylewithcss") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<div style=text-align:justify><p>foo</div><p>[bar]<div style=text-align:justify><p>baz</div><p>extra" queryCommandState("stylewithcss") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<div style=text-align:justify><p>foo</div><p>[bar]<div style=text-align:justify><p>baz</div><p>extra" queryCommandValue("stylewithcss") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<div style=text-align:justify><p>foo</div><p>[bar]<div style=text-align:justify><p>baz</div><p>extra" queryCommandIndeterm("defaultparagraphseparator") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<div style=text-align:justify><p>foo</div><p>[bar]<div style=text-align:justify><p>baz</div><p>extra" queryCommandState("defaultparagraphseparator") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<div style=text-align:justify><p>foo</div><p>[bar]<div style=text-align:justify><p>baz</div><p>extra" queryCommandValue("defaultparagraphseparator") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<div style=text-align:justify><p>foo</div><p>[bar]<div style=text-align:justify><p>baz</div><p>extra" queryCommandIndeterm("defaultparagraphseparator") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<div style=text-align:justify><p>foo</div><p>[bar]<div style=text-align:justify><p>baz</div><p>extra" queryCommandState("defaultparagraphseparator") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<div style=text-align:justify><p>foo</div><p>[bar]<div style=text-align:justify><p>baz</div><p>extra" queryCommandValue("defaultparagraphseparator") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<div style=text-align:justify><p>foo</div><p>[bar]<div style=text-align:justify><p>baz</div><p>extra" queryCommandIndeterm("justifyfull") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<div style=text-align:justify><p>foo</div><p>[bar]<div style=text-align:justify><p>baz</div><p>extra" queryCommandState("justifyfull") before 
+FAIL [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<div style=text-align:justify><p>foo</div><p>[bar]<div style=text-align:justify><p>baz</div><p>extra" queryCommandValue("justifyfull") before assert_equals: Wrong result returned expected "left" but got "false"
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<div style=text-align:justify><p>foo</div><p>[bar]<div style=text-align:justify><p>baz</div><p>extra" queryCommandIndeterm("justifyfull") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<div style=text-align:justify><p>foo</div><p>[bar]<div style=text-align:justify><p>baz</div><p>extra" queryCommandState("justifyfull") after 
+FAIL [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<div style=text-align:justify><p>foo</div><p>[bar]<div style=text-align:justify><p>baz</div><p>extra" queryCommandValue("justifyfull") after assert_equals: Wrong result returned expected "justify" but got "true"
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<div style=text-align:justify><p>foo</div><p>[bar]<div style=text-align:justify><p>baz</div><p>extra": execCommand("stylewithcss", false, "false") return value 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<div style=text-align:justify><p>foo</div><p>[bar]<div style=text-align:justify><p>baz</div><p>extra": execCommand("defaultparagraphseparator", false, "div") return value 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<div style=text-align:justify><p>foo</div><p>[bar]<div style=text-align:justify><p>baz</div><p>extra": execCommand("justifyfull", false, "") return value 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<div style=text-align:justify><p>foo</div><p>[bar]<div style=text-align:justify><p>baz</div><p>extra" checks for modifications to non-editable content 
+FAIL [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<div style=text-align:justify><p>foo</div><p>[bar]<div style=text-align:justify><p>baz</div><p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<div style=\"text-align:justify\"><p>foo</p><p>bar</p><p>baz</p></div><p>extra</p>" but got "<div style=\"text-align:justify\"><p>foo</p></div><p style=\"text-align:justify\">bar</p><div style=\"text-align:justify\"><p>baz</p></div><p>extra</p>"
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<div style=text-align:justify><p>foo</div><p>[bar]<div style=text-align:justify><p>baz</div><p>extra" queryCommandIndeterm("stylewithcss") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<div style=text-align:justify><p>foo</div><p>[bar]<div style=text-align:justify><p>baz</div><p>extra" queryCommandState("stylewithcss") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<div style=text-align:justify><p>foo</div><p>[bar]<div style=text-align:justify><p>baz</div><p>extra" queryCommandValue("stylewithcss") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<div style=text-align:justify><p>foo</div><p>[bar]<div style=text-align:justify><p>baz</div><p>extra" queryCommandIndeterm("stylewithcss") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<div style=text-align:justify><p>foo</div><p>[bar]<div style=text-align:justify><p>baz</div><p>extra" queryCommandState("stylewithcss") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<div style=text-align:justify><p>foo</div><p>[bar]<div style=text-align:justify><p>baz</div><p>extra" queryCommandValue("stylewithcss") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<div style=text-align:justify><p>foo</div><p>[bar]<div style=text-align:justify><p>baz</div><p>extra" queryCommandIndeterm("defaultparagraphseparator") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<div style=text-align:justify><p>foo</div><p>[bar]<div style=text-align:justify><p>baz</div><p>extra" queryCommandState("defaultparagraphseparator") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<div style=text-align:justify><p>foo</div><p>[bar]<div style=text-align:justify><p>baz</div><p>extra" queryCommandValue("defaultparagraphseparator") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<div style=text-align:justify><p>foo</div><p>[bar]<div style=text-align:justify><p>baz</div><p>extra" queryCommandIndeterm("defaultparagraphseparator") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<div style=text-align:justify><p>foo</div><p>[bar]<div style=text-align:justify><p>baz</div><p>extra" queryCommandState("defaultparagraphseparator") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<div style=text-align:justify><p>foo</div><p>[bar]<div style=text-align:justify><p>baz</div><p>extra" queryCommandValue("defaultparagraphseparator") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<div style=text-align:justify><p>foo</div><p>[bar]<div style=text-align:justify><p>baz</div><p>extra" queryCommandIndeterm("justifyfull") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<div style=text-align:justify><p>foo</div><p>[bar]<div style=text-align:justify><p>baz</div><p>extra" queryCommandState("justifyfull") before 
+FAIL [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<div style=text-align:justify><p>foo</div><p>[bar]<div style=text-align:justify><p>baz</div><p>extra" queryCommandValue("justifyfull") before assert_equals: Wrong result returned expected "left" but got "false"
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<div style=text-align:justify><p>foo</div><p>[bar]<div style=text-align:justify><p>baz</div><p>extra" queryCommandIndeterm("justifyfull") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<div style=text-align:justify><p>foo</div><p>[bar]<div style=text-align:justify><p>baz</div><p>extra" queryCommandState("justifyfull") after 
+FAIL [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<div style=text-align:justify><p>foo</div><p>[bar]<div style=text-align:justify><p>baz</div><p>extra" queryCommandValue("justifyfull") after assert_equals: Wrong result returned expected "justify" but got "true"
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<div style=text-align:justify><p>foo</div><p>[bar]<div style=text-align:justify><p>baz</div><p>extra": execCommand("stylewithcss", false, "true") return value 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<div style=text-align:justify><p>foo</div><p>[bar]<div style=text-align:justify><p>baz</div><p>extra": execCommand("defaultparagraphseparator", false, "p") return value 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<div style=text-align:justify><p>foo</div><p>[bar]<div style=text-align:justify><p>baz</div><p>extra": execCommand("justifyfull", false, "") return value 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<div style=text-align:justify><p>foo</div><p>[bar]<div style=text-align:justify><p>baz</div><p>extra" checks for modifications to non-editable content 
+FAIL [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<div style=text-align:justify><p>foo</div><p>[bar]<div style=text-align:justify><p>baz</div><p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<div style=\"text-align:justify\"><p>foo</p><p>bar</p><p>baz</p></div><p>extra</p>" but got "<div style=\"text-align:justify\"><p>foo</p></div><p style=\"text-align:justify\">bar</p><div style=\"text-align:justify\"><p>baz</p></div><p>extra</p>"
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<div style=text-align:justify><p>foo</div><p>[bar]<div style=text-align:justify><p>baz</div><p>extra" queryCommandIndeterm("stylewithcss") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<div style=text-align:justify><p>foo</div><p>[bar]<div style=text-align:justify><p>baz</div><p>extra" queryCommandState("stylewithcss") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<div style=text-align:justify><p>foo</div><p>[bar]<div style=text-align:justify><p>baz</div><p>extra" queryCommandValue("stylewithcss") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<div style=text-align:justify><p>foo</div><p>[bar]<div style=text-align:justify><p>baz</div><p>extra" queryCommandIndeterm("stylewithcss") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<div style=text-align:justify><p>foo</div><p>[bar]<div style=text-align:justify><p>baz</div><p>extra" queryCommandState("stylewithcss") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<div style=text-align:justify><p>foo</div><p>[bar]<div style=text-align:justify><p>baz</div><p>extra" queryCommandValue("stylewithcss") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<div style=text-align:justify><p>foo</div><p>[bar]<div style=text-align:justify><p>baz</div><p>extra" queryCommandIndeterm("defaultparagraphseparator") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<div style=text-align:justify><p>foo</div><p>[bar]<div style=text-align:justify><p>baz</div><p>extra" queryCommandState("defaultparagraphseparator") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<div style=text-align:justify><p>foo</div><p>[bar]<div style=text-align:justify><p>baz</div><p>extra" queryCommandValue("defaultparagraphseparator") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<div style=text-align:justify><p>foo</div><p>[bar]<div style=text-align:justify><p>baz</div><p>extra" queryCommandIndeterm("defaultparagraphseparator") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<div style=text-align:justify><p>foo</div><p>[bar]<div style=text-align:justify><p>baz</div><p>extra" queryCommandState("defaultparagraphseparator") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<div style=text-align:justify><p>foo</div><p>[bar]<div style=text-align:justify><p>baz</div><p>extra" queryCommandValue("defaultparagraphseparator") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<div style=text-align:justify><p>foo</div><p>[bar]<div style=text-align:justify><p>baz</div><p>extra" queryCommandIndeterm("justifyfull") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<div style=text-align:justify><p>foo</div><p>[bar]<div style=text-align:justify><p>baz</div><p>extra" queryCommandState("justifyfull") before 
+FAIL [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<div style=text-align:justify><p>foo</div><p>[bar]<div style=text-align:justify><p>baz</div><p>extra" queryCommandValue("justifyfull") before assert_equals: Wrong result returned expected "left" but got "false"
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<div style=text-align:justify><p>foo</div><p>[bar]<div style=text-align:justify><p>baz</div><p>extra" queryCommandIndeterm("justifyfull") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<div style=text-align:justify><p>foo</div><p>[bar]<div style=text-align:justify><p>baz</div><p>extra" queryCommandState("justifyfull") after 
+FAIL [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<div style=text-align:justify><p>foo</div><p>[bar]<div style=text-align:justify><p>baz</div><p>extra" queryCommandValue("justifyfull") after assert_equals: Wrong result returned expected "justify" but got "true"
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<div style=text-align:justify><p>foo</div><p>[bar]<div style=text-align:justify><p>baz</div><p>extra": execCommand("stylewithcss", false, "false") return value 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<div style=text-align:justify><p>foo</div><p>[bar]<div style=text-align:justify><p>baz</div><p>extra": execCommand("defaultparagraphseparator", false, "p") return value 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<div style=text-align:justify><p>foo</div><p>[bar]<div style=text-align:justify><p>baz</div><p>extra": execCommand("justifyfull", false, "") return value 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<div style=text-align:justify><p>foo</div><p>[bar]<div style=text-align:justify><p>baz</div><p>extra" checks for modifications to non-editable content 
+FAIL [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<div style=text-align:justify><p>foo</div><p>[bar]<div style=text-align:justify><p>baz</div><p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<div style=\"text-align:justify\"><p>foo</p><p>bar</p><p>baz</p></div><p>extra</p>" but got "<div style=\"text-align:justify\"><p>foo</p></div><p style=\"text-align:justify\">bar</p><div style=\"text-align:justify\"><p>baz</p></div><p>extra</p>"
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<div style=text-align:justify><p>foo</div><p>[bar]<div style=text-align:justify><p>baz</div><p>extra" queryCommandIndeterm("stylewithcss") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<div style=text-align:justify><p>foo</div><p>[bar]<div style=text-align:justify><p>baz</div><p>extra" queryCommandState("stylewithcss") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<div style=text-align:justify><p>foo</div><p>[bar]<div style=text-align:justify><p>baz</div><p>extra" queryCommandValue("stylewithcss") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<div style=text-align:justify><p>foo</div><p>[bar]<div style=text-align:justify><p>baz</div><p>extra" queryCommandIndeterm("stylewithcss") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<div style=text-align:justify><p>foo</div><p>[bar]<div style=text-align:justify><p>baz</div><p>extra" queryCommandState("stylewithcss") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<div style=text-align:justify><p>foo</div><p>[bar]<div style=text-align:justify><p>baz</div><p>extra" queryCommandValue("stylewithcss") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<div style=text-align:justify><p>foo</div><p>[bar]<div style=text-align:justify><p>baz</div><p>extra" queryCommandIndeterm("defaultparagraphseparator") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<div style=text-align:justify><p>foo</div><p>[bar]<div style=text-align:justify><p>baz</div><p>extra" queryCommandState("defaultparagraphseparator") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<div style=text-align:justify><p>foo</div><p>[bar]<div style=text-align:justify><p>baz</div><p>extra" queryCommandValue("defaultparagraphseparator") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<div style=text-align:justify><p>foo</div><p>[bar]<div style=text-align:justify><p>baz</div><p>extra" queryCommandIndeterm("defaultparagraphseparator") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<div style=text-align:justify><p>foo</div><p>[bar]<div style=text-align:justify><p>baz</div><p>extra" queryCommandState("defaultparagraphseparator") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<div style=text-align:justify><p>foo</div><p>[bar]<div style=text-align:justify><p>baz</div><p>extra" queryCommandValue("defaultparagraphseparator") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<div style=text-align:justify><p>foo</div><p>[bar]<div style=text-align:justify><p>baz</div><p>extra" queryCommandIndeterm("justifyfull") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<div style=text-align:justify><p>foo</div><p>[bar]<div style=text-align:justify><p>baz</div><p>extra" queryCommandState("justifyfull") before 
+FAIL [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<div style=text-align:justify><p>foo</div><p>[bar]<div style=text-align:justify><p>baz</div><p>extra" queryCommandValue("justifyfull") before assert_equals: Wrong result returned expected "left" but got "false"
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<div style=text-align:justify><p>foo</div><p>[bar]<div style=text-align:justify><p>baz</div><p>extra" queryCommandIndeterm("justifyfull") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<div style=text-align:justify><p>foo</div><p>[bar]<div style=text-align:justify><p>baz</div><p>extra" queryCommandState("justifyfull") after 
+FAIL [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<div style=text-align:justify><p>foo</div><p>[bar]<div style=text-align:justify><p>baz</div><p>extra" queryCommandValue("justifyfull") after assert_equals: Wrong result returned expected "justify" but got "true"
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<p align=justify>foo<p>[bar]<p>extra": execCommand("stylewithcss", false, "true") return value 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<p align=justify>foo<p>[bar]<p>extra": execCommand("defaultparagraphseparator", false, "div") return value 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<p align=justify>foo<p>[bar]<p>extra": execCommand("justifyfull", false, "") return value 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<p align=justify>foo<p>[bar]<p>extra" checks for modifications to non-editable content 
+FAIL [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<p align=justify>foo<p>[bar]<p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<p align=\"justify\">foo</p><div style=\"text-align:justify\"><p>bar</p></div><p>extra</p>" but got "<p align=\"justify\">foo</p><p style=\"text-align:justify\">bar</p><p>extra</p>"
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<p align=justify>foo<p>[bar]<p>extra" queryCommandIndeterm("stylewithcss") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<p align=justify>foo<p>[bar]<p>extra" queryCommandState("stylewithcss") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<p align=justify>foo<p>[bar]<p>extra" queryCommandValue("stylewithcss") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<p align=justify>foo<p>[bar]<p>extra" queryCommandIndeterm("stylewithcss") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<p align=justify>foo<p>[bar]<p>extra" queryCommandState("stylewithcss") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<p align=justify>foo<p>[bar]<p>extra" queryCommandValue("stylewithcss") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<p align=justify>foo<p>[bar]<p>extra" queryCommandIndeterm("defaultparagraphseparator") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<p align=justify>foo<p>[bar]<p>extra" queryCommandState("defaultparagraphseparator") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<p align=justify>foo<p>[bar]<p>extra" queryCommandValue("defaultparagraphseparator") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<p align=justify>foo<p>[bar]<p>extra" queryCommandIndeterm("defaultparagraphseparator") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<p align=justify>foo<p>[bar]<p>extra" queryCommandState("defaultparagraphseparator") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<p align=justify>foo<p>[bar]<p>extra" queryCommandValue("defaultparagraphseparator") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<p align=justify>foo<p>[bar]<p>extra" queryCommandIndeterm("justifyfull") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<p align=justify>foo<p>[bar]<p>extra" queryCommandState("justifyfull") before 
+FAIL [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<p align=justify>foo<p>[bar]<p>extra" queryCommandValue("justifyfull") before assert_equals: Wrong result returned expected "left" but got "false"
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<p align=justify>foo<p>[bar]<p>extra" queryCommandIndeterm("justifyfull") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<p align=justify>foo<p>[bar]<p>extra" queryCommandState("justifyfull") after 
+FAIL [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<p align=justify>foo<p>[bar]<p>extra" queryCommandValue("justifyfull") after assert_equals: Wrong result returned expected "justify" but got "true"
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<p align=justify>foo<p>[bar]<p>extra": execCommand("stylewithcss", false, "false") return value 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<p align=justify>foo<p>[bar]<p>extra": execCommand("defaultparagraphseparator", false, "div") return value 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<p align=justify>foo<p>[bar]<p>extra": execCommand("justifyfull", false, "") return value 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<p align=justify>foo<p>[bar]<p>extra" checks for modifications to non-editable content 
+FAIL [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<p align=justify>foo<p>[bar]<p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<p align=\"justify\">foo</p><div style=\"text-align:justify\"><p>bar</p></div><p>extra</p>" but got "<p align=\"justify\">foo</p><p style=\"text-align:justify\">bar</p><p>extra</p>"
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<p align=justify>foo<p>[bar]<p>extra" queryCommandIndeterm("stylewithcss") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<p align=justify>foo<p>[bar]<p>extra" queryCommandState("stylewithcss") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<p align=justify>foo<p>[bar]<p>extra" queryCommandValue("stylewithcss") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<p align=justify>foo<p>[bar]<p>extra" queryCommandIndeterm("stylewithcss") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<p align=justify>foo<p>[bar]<p>extra" queryCommandState("stylewithcss") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<p align=justify>foo<p>[bar]<p>extra" queryCommandValue("stylewithcss") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<p align=justify>foo<p>[bar]<p>extra" queryCommandIndeterm("defaultparagraphseparator") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<p align=justify>foo<p>[bar]<p>extra" queryCommandState("defaultparagraphseparator") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<p align=justify>foo<p>[bar]<p>extra" queryCommandValue("defaultparagraphseparator") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<p align=justify>foo<p>[bar]<p>extra" queryCommandIndeterm("defaultparagraphseparator") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<p align=justify>foo<p>[bar]<p>extra" queryCommandState("defaultparagraphseparator") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<p align=justify>foo<p>[bar]<p>extra" queryCommandValue("defaultparagraphseparator") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<p align=justify>foo<p>[bar]<p>extra" queryCommandIndeterm("justifyfull") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<p align=justify>foo<p>[bar]<p>extra" queryCommandState("justifyfull") before 
+FAIL [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<p align=justify>foo<p>[bar]<p>extra" queryCommandValue("justifyfull") before assert_equals: Wrong result returned expected "left" but got "false"
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<p align=justify>foo<p>[bar]<p>extra" queryCommandIndeterm("justifyfull") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<p align=justify>foo<p>[bar]<p>extra" queryCommandState("justifyfull") after 
+FAIL [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<p align=justify>foo<p>[bar]<p>extra" queryCommandValue("justifyfull") after assert_equals: Wrong result returned expected "justify" but got "true"
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<p align=justify>foo<p>[bar]<p>extra": execCommand("stylewithcss", false, "true") return value 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<p align=justify>foo<p>[bar]<p>extra": execCommand("defaultparagraphseparator", false, "p") return value 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<p align=justify>foo<p>[bar]<p>extra": execCommand("justifyfull", false, "") return value 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<p align=justify>foo<p>[bar]<p>extra" checks for modifications to non-editable content 
+FAIL [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<p align=justify>foo<p>[bar]<p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<p align=\"justify\">foo</p><div style=\"text-align:justify\"><p>bar</p></div><p>extra</p>" but got "<p align=\"justify\">foo</p><p style=\"text-align:justify\">bar</p><p>extra</p>"
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<p align=justify>foo<p>[bar]<p>extra" queryCommandIndeterm("stylewithcss") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<p align=justify>foo<p>[bar]<p>extra" queryCommandState("stylewithcss") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<p align=justify>foo<p>[bar]<p>extra" queryCommandValue("stylewithcss") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<p align=justify>foo<p>[bar]<p>extra" queryCommandIndeterm("stylewithcss") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<p align=justify>foo<p>[bar]<p>extra" queryCommandState("stylewithcss") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<p align=justify>foo<p>[bar]<p>extra" queryCommandValue("stylewithcss") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<p align=justify>foo<p>[bar]<p>extra" queryCommandIndeterm("defaultparagraphseparator") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<p align=justify>foo<p>[bar]<p>extra" queryCommandState("defaultparagraphseparator") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<p align=justify>foo<p>[bar]<p>extra" queryCommandValue("defaultparagraphseparator") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<p align=justify>foo<p>[bar]<p>extra" queryCommandIndeterm("defaultparagraphseparator") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<p align=justify>foo<p>[bar]<p>extra" queryCommandState("defaultparagraphseparator") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<p align=justify>foo<p>[bar]<p>extra" queryCommandValue("defaultparagraphseparator") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<p align=justify>foo<p>[bar]<p>extra" queryCommandIndeterm("justifyfull") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<p align=justify>foo<p>[bar]<p>extra" queryCommandState("justifyfull") before 
+FAIL [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<p align=justify>foo<p>[bar]<p>extra" queryCommandValue("justifyfull") before assert_equals: Wrong result returned expected "left" but got "false"
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<p align=justify>foo<p>[bar]<p>extra" queryCommandIndeterm("justifyfull") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<p align=justify>foo<p>[bar]<p>extra" queryCommandState("justifyfull") after 
+FAIL [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<p align=justify>foo<p>[bar]<p>extra" queryCommandValue("justifyfull") after assert_equals: Wrong result returned expected "justify" but got "true"
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<p align=justify>foo<p>[bar]<p>extra": execCommand("stylewithcss", false, "false") return value 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<p align=justify>foo<p>[bar]<p>extra": execCommand("defaultparagraphseparator", false, "p") return value 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<p align=justify>foo<p>[bar]<p>extra": execCommand("justifyfull", false, "") return value 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<p align=justify>foo<p>[bar]<p>extra" checks for modifications to non-editable content 
+FAIL [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<p align=justify>foo<p>[bar]<p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<p align=\"justify\">foo</p><div style=\"text-align:justify\"><p>bar</p></div><p>extra</p>" but got "<p align=\"justify\">foo</p><p style=\"text-align:justify\">bar</p><p>extra</p>"
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<p align=justify>foo<p>[bar]<p>extra" queryCommandIndeterm("stylewithcss") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<p align=justify>foo<p>[bar]<p>extra" queryCommandState("stylewithcss") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<p align=justify>foo<p>[bar]<p>extra" queryCommandValue("stylewithcss") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<p align=justify>foo<p>[bar]<p>extra" queryCommandIndeterm("stylewithcss") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<p align=justify>foo<p>[bar]<p>extra" queryCommandState("stylewithcss") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<p align=justify>foo<p>[bar]<p>extra" queryCommandValue("stylewithcss") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<p align=justify>foo<p>[bar]<p>extra" queryCommandIndeterm("defaultparagraphseparator") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<p align=justify>foo<p>[bar]<p>extra" queryCommandState("defaultparagraphseparator") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<p align=justify>foo<p>[bar]<p>extra" queryCommandValue("defaultparagraphseparator") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<p align=justify>foo<p>[bar]<p>extra" queryCommandIndeterm("defaultparagraphseparator") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<p align=justify>foo<p>[bar]<p>extra" queryCommandState("defaultparagraphseparator") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<p align=justify>foo<p>[bar]<p>extra" queryCommandValue("defaultparagraphseparator") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<p align=justify>foo<p>[bar]<p>extra" queryCommandIndeterm("justifyfull") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<p align=justify>foo<p>[bar]<p>extra" queryCommandState("justifyfull") before 
+FAIL [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<p align=justify>foo<p>[bar]<p>extra" queryCommandValue("justifyfull") before assert_equals: Wrong result returned expected "left" but got "false"
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<p align=justify>foo<p>[bar]<p>extra" queryCommandIndeterm("justifyfull") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<p align=justify>foo<p>[bar]<p>extra" queryCommandState("justifyfull") after 
+FAIL [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<p align=justify>foo<p>[bar]<p>extra" queryCommandValue("justifyfull") after assert_equals: Wrong result returned expected "justify" but got "true"
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<p>[foo]<p align=justify>bar<p>extra": execCommand("stylewithcss", false, "true") return value 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<p>[foo]<p align=justify>bar<p>extra": execCommand("defaultparagraphseparator", false, "div") return value 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<p>[foo]<p align=justify>bar<p>extra": execCommand("justifyfull", false, "") return value 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<p>[foo]<p align=justify>bar<p>extra" checks for modifications to non-editable content 
+FAIL [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<p>[foo]<p align=justify>bar<p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<div style=\"text-align:justify\"><p>foo</p></div><p align=\"justify\">bar</p><p>extra</p>" but got "<p style=\"text-align:justify\">foo</p><p align=\"justify\">bar</p><p>extra</p>"
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<p>[foo]<p align=justify>bar<p>extra" queryCommandIndeterm("stylewithcss") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<p>[foo]<p align=justify>bar<p>extra" queryCommandState("stylewithcss") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<p>[foo]<p align=justify>bar<p>extra" queryCommandValue("stylewithcss") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<p>[foo]<p align=justify>bar<p>extra" queryCommandIndeterm("stylewithcss") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<p>[foo]<p align=justify>bar<p>extra" queryCommandState("stylewithcss") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<p>[foo]<p align=justify>bar<p>extra" queryCommandValue("stylewithcss") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<p>[foo]<p align=justify>bar<p>extra" queryCommandIndeterm("defaultparagraphseparator") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<p>[foo]<p align=justify>bar<p>extra" queryCommandState("defaultparagraphseparator") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<p>[foo]<p align=justify>bar<p>extra" queryCommandValue("defaultparagraphseparator") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<p>[foo]<p align=justify>bar<p>extra" queryCommandIndeterm("defaultparagraphseparator") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<p>[foo]<p align=justify>bar<p>extra" queryCommandState("defaultparagraphseparator") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<p>[foo]<p align=justify>bar<p>extra" queryCommandValue("defaultparagraphseparator") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<p>[foo]<p align=justify>bar<p>extra" queryCommandIndeterm("justifyfull") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<p>[foo]<p align=justify>bar<p>extra" queryCommandState("justifyfull") before 
+FAIL [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<p>[foo]<p align=justify>bar<p>extra" queryCommandValue("justifyfull") before assert_equals: Wrong result returned expected "left" but got "false"
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<p>[foo]<p align=justify>bar<p>extra" queryCommandIndeterm("justifyfull") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<p>[foo]<p align=justify>bar<p>extra" queryCommandState("justifyfull") after 
+FAIL [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<p>[foo]<p align=justify>bar<p>extra" queryCommandValue("justifyfull") after assert_equals: Wrong result returned expected "justify" but got "true"
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<p>[foo]<p align=justify>bar<p>extra": execCommand("stylewithcss", false, "false") return value 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<p>[foo]<p align=justify>bar<p>extra": execCommand("defaultparagraphseparator", false, "div") return value 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<p>[foo]<p align=justify>bar<p>extra": execCommand("justifyfull", false, "") return value 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<p>[foo]<p align=justify>bar<p>extra" checks for modifications to non-editable content 
+FAIL [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<p>[foo]<p align=justify>bar<p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<div style=\"text-align:justify\"><p>foo</p></div><p align=\"justify\">bar</p><p>extra</p>" but got "<p style=\"text-align:justify\">foo</p><p align=\"justify\">bar</p><p>extra</p>"
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<p>[foo]<p align=justify>bar<p>extra" queryCommandIndeterm("stylewithcss") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<p>[foo]<p align=justify>bar<p>extra" queryCommandState("stylewithcss") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<p>[foo]<p align=justify>bar<p>extra" queryCommandValue("stylewithcss") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<p>[foo]<p align=justify>bar<p>extra" queryCommandIndeterm("stylewithcss") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<p>[foo]<p align=justify>bar<p>extra" queryCommandState("stylewithcss") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<p>[foo]<p align=justify>bar<p>extra" queryCommandValue("stylewithcss") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<p>[foo]<p align=justify>bar<p>extra" queryCommandIndeterm("defaultparagraphseparator") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<p>[foo]<p align=justify>bar<p>extra" queryCommandState("defaultparagraphseparator") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<p>[foo]<p align=justify>bar<p>extra" queryCommandValue("defaultparagraphseparator") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<p>[foo]<p align=justify>bar<p>extra" queryCommandIndeterm("defaultparagraphseparator") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<p>[foo]<p align=justify>bar<p>extra" queryCommandState("defaultparagraphseparator") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<p>[foo]<p align=justify>bar<p>extra" queryCommandValue("defaultparagraphseparator") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<p>[foo]<p align=justify>bar<p>extra" queryCommandIndeterm("justifyfull") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<p>[foo]<p align=justify>bar<p>extra" queryCommandState("justifyfull") before 
+FAIL [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<p>[foo]<p align=justify>bar<p>extra" queryCommandValue("justifyfull") before assert_equals: Wrong result returned expected "left" but got "false"
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<p>[foo]<p align=justify>bar<p>extra" queryCommandIndeterm("justifyfull") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<p>[foo]<p align=justify>bar<p>extra" queryCommandState("justifyfull") after 
+FAIL [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<p>[foo]<p align=justify>bar<p>extra" queryCommandValue("justifyfull") after assert_equals: Wrong result returned expected "justify" but got "true"
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<p>[foo]<p align=justify>bar<p>extra": execCommand("stylewithcss", false, "true") return value 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<p>[foo]<p align=justify>bar<p>extra": execCommand("defaultparagraphseparator", false, "p") return value 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<p>[foo]<p align=justify>bar<p>extra": execCommand("justifyfull", false, "") return value 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<p>[foo]<p align=justify>bar<p>extra" checks for modifications to non-editable content 
+FAIL [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<p>[foo]<p align=justify>bar<p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<div style=\"text-align:justify\"><p>foo</p></div><p align=\"justify\">bar</p><p>extra</p>" but got "<p style=\"text-align:justify\">foo</p><p align=\"justify\">bar</p><p>extra</p>"
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<p>[foo]<p align=justify>bar<p>extra" queryCommandIndeterm("stylewithcss") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<p>[foo]<p align=justify>bar<p>extra" queryCommandState("stylewithcss") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<p>[foo]<p align=justify>bar<p>extra" queryCommandValue("stylewithcss") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<p>[foo]<p align=justify>bar<p>extra" queryCommandIndeterm("stylewithcss") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<p>[foo]<p align=justify>bar<p>extra" queryCommandState("stylewithcss") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<p>[foo]<p align=justify>bar<p>extra" queryCommandValue("stylewithcss") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<p>[foo]<p align=justify>bar<p>extra" queryCommandIndeterm("defaultparagraphseparator") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<p>[foo]<p align=justify>bar<p>extra" queryCommandState("defaultparagraphseparator") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<p>[foo]<p align=justify>bar<p>extra" queryCommandValue("defaultparagraphseparator") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<p>[foo]<p align=justify>bar<p>extra" queryCommandIndeterm("defaultparagraphseparator") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<p>[foo]<p align=justify>bar<p>extra" queryCommandState("defaultparagraphseparator") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<p>[foo]<p align=justify>bar<p>extra" queryCommandValue("defaultparagraphseparator") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<p>[foo]<p align=justify>bar<p>extra" queryCommandIndeterm("justifyfull") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<p>[foo]<p align=justify>bar<p>extra" queryCommandState("justifyfull") before 
+FAIL [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<p>[foo]<p align=justify>bar<p>extra" queryCommandValue("justifyfull") before assert_equals: Wrong result returned expected "left" but got "false"
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<p>[foo]<p align=justify>bar<p>extra" queryCommandIndeterm("justifyfull") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<p>[foo]<p align=justify>bar<p>extra" queryCommandState("justifyfull") after 
+FAIL [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<p>[foo]<p align=justify>bar<p>extra" queryCommandValue("justifyfull") after assert_equals: Wrong result returned expected "justify" but got "true"
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<p>[foo]<p align=justify>bar<p>extra": execCommand("stylewithcss", false, "false") return value 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<p>[foo]<p align=justify>bar<p>extra": execCommand("defaultparagraphseparator", false, "p") return value 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<p>[foo]<p align=justify>bar<p>extra": execCommand("justifyfull", false, "") return value 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<p>[foo]<p align=justify>bar<p>extra" checks for modifications to non-editable content 
+FAIL [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<p>[foo]<p align=justify>bar<p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<div style=\"text-align:justify\"><p>foo</p></div><p align=\"justify\">bar</p><p>extra</p>" but got "<p style=\"text-align:justify\">foo</p><p align=\"justify\">bar</p><p>extra</p>"
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<p>[foo]<p align=justify>bar<p>extra" queryCommandIndeterm("stylewithcss") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<p>[foo]<p align=justify>bar<p>extra" queryCommandState("stylewithcss") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<p>[foo]<p align=justify>bar<p>extra" queryCommandValue("stylewithcss") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<p>[foo]<p align=justify>bar<p>extra" queryCommandIndeterm("stylewithcss") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<p>[foo]<p align=justify>bar<p>extra" queryCommandState("stylewithcss") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<p>[foo]<p align=justify>bar<p>extra" queryCommandValue("stylewithcss") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<p>[foo]<p align=justify>bar<p>extra" queryCommandIndeterm("defaultparagraphseparator") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<p>[foo]<p align=justify>bar<p>extra" queryCommandState("defaultparagraphseparator") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<p>[foo]<p align=justify>bar<p>extra" queryCommandValue("defaultparagraphseparator") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<p>[foo]<p align=justify>bar<p>extra" queryCommandIndeterm("defaultparagraphseparator") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<p>[foo]<p align=justify>bar<p>extra" queryCommandState("defaultparagraphseparator") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<p>[foo]<p align=justify>bar<p>extra" queryCommandValue("defaultparagraphseparator") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<p>[foo]<p align=justify>bar<p>extra" queryCommandIndeterm("justifyfull") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<p>[foo]<p align=justify>bar<p>extra" queryCommandState("justifyfull") before 
+FAIL [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<p>[foo]<p align=justify>bar<p>extra" queryCommandValue("justifyfull") before assert_equals: Wrong result returned expected "left" but got "false"
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<p>[foo]<p align=justify>bar<p>extra" queryCommandIndeterm("justifyfull") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<p>[foo]<p align=justify>bar<p>extra" queryCommandState("justifyfull") after 
+FAIL [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<p>[foo]<p align=justify>bar<p>extra" queryCommandValue("justifyfull") after assert_equals: Wrong result returned expected "justify" but got "true"
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<p align=justify>foo<p>[bar]<p align=justify>baz<p>extra": execCommand("stylewithcss", false, "true") return value 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<p align=justify>foo<p>[bar]<p align=justify>baz<p>extra": execCommand("defaultparagraphseparator", false, "div") return value 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<p align=justify>foo<p>[bar]<p align=justify>baz<p>extra": execCommand("justifyfull", false, "") return value 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<p align=justify>foo<p>[bar]<p align=justify>baz<p>extra" checks for modifications to non-editable content 
+FAIL [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<p align=justify>foo<p>[bar]<p align=justify>baz<p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<p align=\"justify\">foo</p><div style=\"text-align:justify\"><p>bar</p></div><p align=\"justify\">baz</p><p>extra</p>" but got "<p align=\"justify\">foo</p><p style=\"text-align:justify\">bar</p><p align=\"justify\">baz</p><p>extra</p>"
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<p align=justify>foo<p>[bar]<p align=justify>baz<p>extra" queryCommandIndeterm("stylewithcss") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<p align=justify>foo<p>[bar]<p align=justify>baz<p>extra" queryCommandState("stylewithcss") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<p align=justify>foo<p>[bar]<p align=justify>baz<p>extra" queryCommandValue("stylewithcss") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<p align=justify>foo<p>[bar]<p align=justify>baz<p>extra" queryCommandIndeterm("stylewithcss") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<p align=justify>foo<p>[bar]<p align=justify>baz<p>extra" queryCommandState("stylewithcss") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<p align=justify>foo<p>[bar]<p align=justify>baz<p>extra" queryCommandValue("stylewithcss") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<p align=justify>foo<p>[bar]<p align=justify>baz<p>extra" queryCommandIndeterm("defaultparagraphseparator") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<p align=justify>foo<p>[bar]<p align=justify>baz<p>extra" queryCommandState("defaultparagraphseparator") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<p align=justify>foo<p>[bar]<p align=justify>baz<p>extra" queryCommandValue("defaultparagraphseparator") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<p align=justify>foo<p>[bar]<p align=justify>baz<p>extra" queryCommandIndeterm("defaultparagraphseparator") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<p align=justify>foo<p>[bar]<p align=justify>baz<p>extra" queryCommandState("defaultparagraphseparator") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<p align=justify>foo<p>[bar]<p align=justify>baz<p>extra" queryCommandValue("defaultparagraphseparator") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<p align=justify>foo<p>[bar]<p align=justify>baz<p>extra" queryCommandIndeterm("justifyfull") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<p align=justify>foo<p>[bar]<p align=justify>baz<p>extra" queryCommandState("justifyfull") before 
+FAIL [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<p align=justify>foo<p>[bar]<p align=justify>baz<p>extra" queryCommandValue("justifyfull") before assert_equals: Wrong result returned expected "left" but got "false"
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<p align=justify>foo<p>[bar]<p align=justify>baz<p>extra" queryCommandIndeterm("justifyfull") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<p align=justify>foo<p>[bar]<p align=justify>baz<p>extra" queryCommandState("justifyfull") after 
+FAIL [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<p align=justify>foo<p>[bar]<p align=justify>baz<p>extra" queryCommandValue("justifyfull") after assert_equals: Wrong result returned expected "justify" but got "true"
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<p align=justify>foo<p>[bar]<p align=justify>baz<p>extra": execCommand("stylewithcss", false, "false") return value 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<p align=justify>foo<p>[bar]<p align=justify>baz<p>extra": execCommand("defaultparagraphseparator", false, "div") return value 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<p align=justify>foo<p>[bar]<p align=justify>baz<p>extra": execCommand("justifyfull", false, "") return value 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<p align=justify>foo<p>[bar]<p align=justify>baz<p>extra" checks for modifications to non-editable content 
+FAIL [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<p align=justify>foo<p>[bar]<p align=justify>baz<p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<p align=\"justify\">foo</p><div style=\"text-align:justify\"><p>bar</p></div><p align=\"justify\">baz</p><p>extra</p>" but got "<p align=\"justify\">foo</p><p style=\"text-align:justify\">bar</p><p align=\"justify\">baz</p><p>extra</p>"
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<p align=justify>foo<p>[bar]<p align=justify>baz<p>extra" queryCommandIndeterm("stylewithcss") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<p align=justify>foo<p>[bar]<p align=justify>baz<p>extra" queryCommandState("stylewithcss") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<p align=justify>foo<p>[bar]<p align=justify>baz<p>extra" queryCommandValue("stylewithcss") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<p align=justify>foo<p>[bar]<p align=justify>baz<p>extra" queryCommandIndeterm("stylewithcss") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<p align=justify>foo<p>[bar]<p align=justify>baz<p>extra" queryCommandState("stylewithcss") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<p align=justify>foo<p>[bar]<p align=justify>baz<p>extra" queryCommandValue("stylewithcss") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<p align=justify>foo<p>[bar]<p align=justify>baz<p>extra" queryCommandIndeterm("defaultparagraphseparator") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<p align=justify>foo<p>[bar]<p align=justify>baz<p>extra" queryCommandState("defaultparagraphseparator") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<p align=justify>foo<p>[bar]<p align=justify>baz<p>extra" queryCommandValue("defaultparagraphseparator") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<p align=justify>foo<p>[bar]<p align=justify>baz<p>extra" queryCommandIndeterm("defaultparagraphseparator") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<p align=justify>foo<p>[bar]<p align=justify>baz<p>extra" queryCommandState("defaultparagraphseparator") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<p align=justify>foo<p>[bar]<p align=justify>baz<p>extra" queryCommandValue("defaultparagraphseparator") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<p align=justify>foo<p>[bar]<p align=justify>baz<p>extra" queryCommandIndeterm("justifyfull") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<p align=justify>foo<p>[bar]<p align=justify>baz<p>extra" queryCommandState("justifyfull") before 
+FAIL [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<p align=justify>foo<p>[bar]<p align=justify>baz<p>extra" queryCommandValue("justifyfull") before assert_equals: Wrong result returned expected "left" but got "false"
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<p align=justify>foo<p>[bar]<p align=justify>baz<p>extra" queryCommandIndeterm("justifyfull") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<p align=justify>foo<p>[bar]<p align=justify>baz<p>extra" queryCommandState("justifyfull") after 
+FAIL [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<p align=justify>foo<p>[bar]<p align=justify>baz<p>extra" queryCommandValue("justifyfull") after assert_equals: Wrong result returned expected "justify" but got "true"
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<p align=justify>foo<p>[bar]<p align=justify>baz<p>extra": execCommand("stylewithcss", false, "true") return value 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<p align=justify>foo<p>[bar]<p align=justify>baz<p>extra": execCommand("defaultparagraphseparator", false, "p") return value 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<p align=justify>foo<p>[bar]<p align=justify>baz<p>extra": execCommand("justifyfull", false, "") return value 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<p align=justify>foo<p>[bar]<p align=justify>baz<p>extra" checks for modifications to non-editable content 
+FAIL [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<p align=justify>foo<p>[bar]<p align=justify>baz<p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<p align=\"justify\">foo</p><div style=\"text-align:justify\"><p>bar</p></div><p align=\"justify\">baz</p><p>extra</p>" but got "<p align=\"justify\">foo</p><p style=\"text-align:justify\">bar</p><p align=\"justify\">baz</p><p>extra</p>"
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<p align=justify>foo<p>[bar]<p align=justify>baz<p>extra" queryCommandIndeterm("stylewithcss") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<p align=justify>foo<p>[bar]<p align=justify>baz<p>extra" queryCommandState("stylewithcss") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<p align=justify>foo<p>[bar]<p align=justify>baz<p>extra" queryCommandValue("stylewithcss") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<p align=justify>foo<p>[bar]<p align=justify>baz<p>extra" queryCommandIndeterm("stylewithcss") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<p align=justify>foo<p>[bar]<p align=justify>baz<p>extra" queryCommandState("stylewithcss") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<p align=justify>foo<p>[bar]<p align=justify>baz<p>extra" queryCommandValue("stylewithcss") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<p align=justify>foo<p>[bar]<p align=justify>baz<p>extra" queryCommandIndeterm("defaultparagraphseparator") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<p align=justify>foo<p>[bar]<p align=justify>baz<p>extra" queryCommandState("defaultparagraphseparator") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<p align=justify>foo<p>[bar]<p align=justify>baz<p>extra" queryCommandValue("defaultparagraphseparator") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<p align=justify>foo<p>[bar]<p align=justify>baz<p>extra" queryCommandIndeterm("defaultparagraphseparator") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<p align=justify>foo<p>[bar]<p align=justify>baz<p>extra" queryCommandState("defaultparagraphseparator") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<p align=justify>foo<p>[bar]<p align=justify>baz<p>extra" queryCommandValue("defaultparagraphseparator") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<p align=justify>foo<p>[bar]<p align=justify>baz<p>extra" queryCommandIndeterm("justifyfull") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<p align=justify>foo<p>[bar]<p align=justify>baz<p>extra" queryCommandState("justifyfull") before 
+FAIL [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<p align=justify>foo<p>[bar]<p align=justify>baz<p>extra" queryCommandValue("justifyfull") before assert_equals: Wrong result returned expected "left" but got "false"
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<p align=justify>foo<p>[bar]<p align=justify>baz<p>extra" queryCommandIndeterm("justifyfull") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<p align=justify>foo<p>[bar]<p align=justify>baz<p>extra" queryCommandState("justifyfull") after 
+FAIL [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<p align=justify>foo<p>[bar]<p align=justify>baz<p>extra" queryCommandValue("justifyfull") after assert_equals: Wrong result returned expected "justify" but got "true"
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<p align=justify>foo<p>[bar]<p align=justify>baz<p>extra": execCommand("stylewithcss", false, "false") return value 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<p align=justify>foo<p>[bar]<p align=justify>baz<p>extra": execCommand("defaultparagraphseparator", false, "p") return value 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<p align=justify>foo<p>[bar]<p align=justify>baz<p>extra": execCommand("justifyfull", false, "") return value 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<p align=justify>foo<p>[bar]<p align=justify>baz<p>extra" checks for modifications to non-editable content 
+FAIL [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<p align=justify>foo<p>[bar]<p align=justify>baz<p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<p align=\"justify\">foo</p><div style=\"text-align:justify\"><p>bar</p></div><p align=\"justify\">baz</p><p>extra</p>" but got "<p align=\"justify\">foo</p><p style=\"text-align:justify\">bar</p><p align=\"justify\">baz</p><p>extra</p>"
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<p align=justify>foo<p>[bar]<p align=justify>baz<p>extra" queryCommandIndeterm("stylewithcss") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<p align=justify>foo<p>[bar]<p align=justify>baz<p>extra" queryCommandState("stylewithcss") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<p align=justify>foo<p>[bar]<p align=justify>baz<p>extra" queryCommandValue("stylewithcss") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<p align=justify>foo<p>[bar]<p align=justify>baz<p>extra" queryCommandIndeterm("stylewithcss") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<p align=justify>foo<p>[bar]<p align=justify>baz<p>extra" queryCommandState("stylewithcss") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<p align=justify>foo<p>[bar]<p align=justify>baz<p>extra" queryCommandValue("stylewithcss") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<p align=justify>foo<p>[bar]<p align=justify>baz<p>extra" queryCommandIndeterm("defaultparagraphseparator") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<p align=justify>foo<p>[bar]<p align=justify>baz<p>extra" queryCommandState("defaultparagraphseparator") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<p align=justify>foo<p>[bar]<p align=justify>baz<p>extra" queryCommandValue("defaultparagraphseparator") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<p align=justify>foo<p>[bar]<p align=justify>baz<p>extra" queryCommandIndeterm("defaultparagraphseparator") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<p align=justify>foo<p>[bar]<p align=justify>baz<p>extra" queryCommandState("defaultparagraphseparator") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<p align=justify>foo<p>[bar]<p align=justify>baz<p>extra" queryCommandValue("defaultparagraphseparator") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<p align=justify>foo<p>[bar]<p align=justify>baz<p>extra" queryCommandIndeterm("justifyfull") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<p align=justify>foo<p>[bar]<p align=justify>baz<p>extra" queryCommandState("justifyfull") before 
+FAIL [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<p align=justify>foo<p>[bar]<p align=justify>baz<p>extra" queryCommandValue("justifyfull") before assert_equals: Wrong result returned expected "left" but got "false"
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<p align=justify>foo<p>[bar]<p align=justify>baz<p>extra" queryCommandIndeterm("justifyfull") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<p align=justify>foo<p>[bar]<p align=justify>baz<p>extra" queryCommandState("justifyfull") after 
+FAIL [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<p align=justify>foo<p>[bar]<p align=justify>baz<p>extra" queryCommandValue("justifyfull") after assert_equals: Wrong result returned expected "justify" but got "true"
+PASS [["stylewithcss","true"],["justifyfull",""]] "<div align=justify>[foo</div>bar]<p>extra": execCommand("stylewithcss", false, "true") return value 
+PASS [["stylewithcss","true"],["justifyfull",""]] "<div align=justify>[foo</div>bar]<p>extra": execCommand("justifyfull", false, "") return value 
+PASS [["stylewithcss","true"],["justifyfull",""]] "<div align=justify>[foo</div>bar]<p>extra" checks for modifications to non-editable content 
+FAIL [["stylewithcss","true"],["justifyfull",""]] "<div align=justify>[foo</div>bar]<p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<div style=\"text-align:justify\">foo<br>bar</div><p>extra</p>" but got "<div align=\"justify\">foo</div><p style=\"text-align:justify\">bar</p><p>extra</p>"
+PASS [["stylewithcss","true"],["justifyfull",""]] "<div align=justify>[foo</div>bar]<p>extra" queryCommandIndeterm("stylewithcss") before 
+PASS [["stylewithcss","true"],["justifyfull",""]] "<div align=justify>[foo</div>bar]<p>extra" queryCommandState("stylewithcss") before 
+PASS [["stylewithcss","true"],["justifyfull",""]] "<div align=justify>[foo</div>bar]<p>extra" queryCommandValue("stylewithcss") before 
+PASS [["stylewithcss","true"],["justifyfull",""]] "<div align=justify>[foo</div>bar]<p>extra" queryCommandIndeterm("stylewithcss") after 
+PASS [["stylewithcss","true"],["justifyfull",""]] "<div align=justify>[foo</div>bar]<p>extra" queryCommandState("stylewithcss") after 
+PASS [["stylewithcss","true"],["justifyfull",""]] "<div align=justify>[foo</div>bar]<p>extra" queryCommandValue("stylewithcss") after 
+FAIL [["stylewithcss","true"],["justifyfull",""]] "<div align=justify>[foo</div>bar]<p>extra" queryCommandIndeterm("justifyfull") before assert_equals: Wrong result returned expected true but got false
+FAIL [["stylewithcss","true"],["justifyfull",""]] "<div align=justify>[foo</div>bar]<p>extra" queryCommandState("justifyfull") before assert_equals: Wrong result returned expected false but got true
+FAIL [["stylewithcss","true"],["justifyfull",""]] "<div align=justify>[foo</div>bar]<p>extra" queryCommandValue("justifyfull") before assert_equals: Wrong result returned expected "justify" but got "true"
+PASS [["stylewithcss","true"],["justifyfull",""]] "<div align=justify>[foo</div>bar]<p>extra" queryCommandIndeterm("justifyfull") after 
+PASS [["stylewithcss","true"],["justifyfull",""]] "<div align=justify>[foo</div>bar]<p>extra" queryCommandState("justifyfull") after 
+FAIL [["stylewithcss","true"],["justifyfull",""]] "<div align=justify>[foo</div>bar]<p>extra" queryCommandValue("justifyfull") after assert_equals: Wrong result returned expected "justify" but got "true"
+PASS [["stylewithcss","false"],["justifyfull",""]] "<div align=justify>[foo</div>bar]<p>extra": execCommand("stylewithcss", false, "false") return value 
+PASS [["stylewithcss","false"],["justifyfull",""]] "<div align=justify>[foo</div>bar]<p>extra": execCommand("justifyfull", false, "") return value 
+PASS [["stylewithcss","false"],["justifyfull",""]] "<div align=justify>[foo</div>bar]<p>extra" checks for modifications to non-editable content 
+FAIL [["stylewithcss","false"],["justifyfull",""]] "<div align=justify>[foo</div>bar]<p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<div style=\"text-align:justify\">foo<br>bar</div><p>extra</p>" but got "<div align=\"justify\">foo</div><p style=\"text-align:justify\">bar</p><p>extra</p>"
+PASS [["stylewithcss","false"],["justifyfull",""]] "<div align=justify>[foo</div>bar]<p>extra" queryCommandIndeterm("stylewithcss") before 
+PASS [["stylewithcss","false"],["justifyfull",""]] "<div align=justify>[foo</div>bar]<p>extra" queryCommandState("stylewithcss") before 
+PASS [["stylewithcss","false"],["justifyfull",""]] "<div align=justify>[foo</div>bar]<p>extra" queryCommandValue("stylewithcss") before 
+PASS [["stylewithcss","false"],["justifyfull",""]] "<div align=justify>[foo</div>bar]<p>extra" queryCommandIndeterm("stylewithcss") after 
+PASS [["stylewithcss","false"],["justifyfull",""]] "<div align=justify>[foo</div>bar]<p>extra" queryCommandState("stylewithcss") after 
+PASS [["stylewithcss","false"],["justifyfull",""]] "<div align=justify>[foo</div>bar]<p>extra" queryCommandValue("stylewithcss") after 
+FAIL [["stylewithcss","false"],["justifyfull",""]] "<div align=justify>[foo</div>bar]<p>extra" queryCommandIndeterm("justifyfull") before assert_equals: Wrong result returned expected true but got false
+FAIL [["stylewithcss","false"],["justifyfull",""]] "<div align=justify>[foo</div>bar]<p>extra" queryCommandState("justifyfull") before assert_equals: Wrong result returned expected false but got true
+FAIL [["stylewithcss","false"],["justifyfull",""]] "<div align=justify>[foo</div>bar]<p>extra" queryCommandValue("justifyfull") before assert_equals: Wrong result returned expected "justify" but got "true"
+PASS [["stylewithcss","false"],["justifyfull",""]] "<div align=justify>[foo</div>bar]<p>extra" queryCommandIndeterm("justifyfull") after 
+PASS [["stylewithcss","false"],["justifyfull",""]] "<div align=justify>[foo</div>bar]<p>extra" queryCommandState("justifyfull") after 
+FAIL [["stylewithcss","false"],["justifyfull",""]] "<div align=justify>[foo</div>bar]<p>extra" queryCommandValue("justifyfull") after assert_equals: Wrong result returned expected "justify" but got "true"
+PASS [["stylewithcss","true"],["justifyfull",""]] "<div align=justify>fo[o</div>b]ar<p>extra": execCommand("stylewithcss", false, "true") return value 
+PASS [["stylewithcss","true"],["justifyfull",""]] "<div align=justify>fo[o</div>b]ar<p>extra": execCommand("justifyfull", false, "") return value 
+PASS [["stylewithcss","true"],["justifyfull",""]] "<div align=justify>fo[o</div>b]ar<p>extra" checks for modifications to non-editable content 
+FAIL [["stylewithcss","true"],["justifyfull",""]] "<div align=justify>fo[o</div>b]ar<p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<div style=\"text-align:justify\">foo<br>bar</div><p>extra</p>" but got "<div align=\"justify\">foo</div><p style=\"text-align:justify\">bar</p><p>extra</p>"
+PASS [["stylewithcss","true"],["justifyfull",""]] "<div align=justify>fo[o</div>b]ar<p>extra" queryCommandIndeterm("stylewithcss") before 
+PASS [["stylewithcss","true"],["justifyfull",""]] "<div align=justify>fo[o</div>b]ar<p>extra" queryCommandState("stylewithcss") before 
+PASS [["stylewithcss","true"],["justifyfull",""]] "<div align=justify>fo[o</div>b]ar<p>extra" queryCommandValue("stylewithcss") before 
+PASS [["stylewithcss","true"],["justifyfull",""]] "<div align=justify>fo[o</div>b]ar<p>extra" queryCommandIndeterm("stylewithcss") after 
+PASS [["stylewithcss","true"],["justifyfull",""]] "<div align=justify>fo[o</div>b]ar<p>extra" queryCommandState("stylewithcss") after 
+PASS [["stylewithcss","true"],["justifyfull",""]] "<div align=justify>fo[o</div>b]ar<p>extra" queryCommandValue("stylewithcss") after 
+FAIL [["stylewithcss","true"],["justifyfull",""]] "<div align=justify>fo[o</div>b]ar<p>extra" queryCommandIndeterm("justifyfull") before assert_equals: Wrong result returned expected true but got false
+FAIL [["stylewithcss","true"],["justifyfull",""]] "<div align=justify>fo[o</div>b]ar<p>extra" queryCommandState("justifyfull") before assert_equals: Wrong result returned expected false but got true
+FAIL [["stylewithcss","true"],["justifyfull",""]] "<div align=justify>fo[o</div>b]ar<p>extra" queryCommandValue("justifyfull") before assert_equals: Wrong result returned expected "justify" but got "true"
+PASS [["stylewithcss","true"],["justifyfull",""]] "<div align=justify>fo[o</div>b]ar<p>extra" queryCommandIndeterm("justifyfull") after 
+PASS [["stylewithcss","true"],["justifyfull",""]] "<div align=justify>fo[o</div>b]ar<p>extra" queryCommandState("justifyfull") after 
+FAIL [["stylewithcss","true"],["justifyfull",""]] "<div align=justify>fo[o</div>b]ar<p>extra" queryCommandValue("justifyfull") after assert_equals: Wrong result returned expected "justify" but got "true"
+PASS [["stylewithcss","false"],["justifyfull",""]] "<div align=justify>fo[o</div>b]ar<p>extra": execCommand("stylewithcss", false, "false") return value 
+PASS [["stylewithcss","false"],["justifyfull",""]] "<div align=justify>fo[o</div>b]ar<p>extra": execCommand("justifyfull", false, "") return value 
+PASS [["stylewithcss","false"],["justifyfull",""]] "<div align=justify>fo[o</div>b]ar<p>extra" checks for modifications to non-editable content 
+FAIL [["stylewithcss","false"],["justifyfull",""]] "<div align=justify>fo[o</div>b]ar<p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<div style=\"text-align:justify\">foo<br>bar</div><p>extra</p>" but got "<div align=\"justify\">foo</div><p style=\"text-align:justify\">bar</p><p>extra</p>"
+PASS [["stylewithcss","false"],["justifyfull",""]] "<div align=justify>fo[o</div>b]ar<p>extra" queryCommandIndeterm("stylewithcss") before 
+PASS [["stylewithcss","false"],["justifyfull",""]] "<div align=justify>fo[o</div>b]ar<p>extra" queryCommandState("stylewithcss") before 
+PASS [["stylewithcss","false"],["justifyfull",""]] "<div align=justify>fo[o</div>b]ar<p>extra" queryCommandValue("stylewithcss") before 
+PASS [["stylewithcss","false"],["justifyfull",""]] "<div align=justify>fo[o</div>b]ar<p>extra" queryCommandIndeterm("stylewithcss") after 
+PASS [["stylewithcss","false"],["justifyfull",""]] "<div align=justify>fo[o</div>b]ar<p>extra" queryCommandState("stylewithcss") after 
+PASS [["stylewithcss","false"],["justifyfull",""]] "<div align=justify>fo[o</div>b]ar<p>extra" queryCommandValue("stylewithcss") after 
+FAIL [["stylewithcss","false"],["justifyfull",""]] "<div align=justify>fo[o</div>b]ar<p>extra" queryCommandIndeterm("justifyfull") before assert_equals: Wrong result returned expected true but got false
+FAIL [["stylewithcss","false"],["justifyfull",""]] "<div align=justify>fo[o</div>b]ar<p>extra" queryCommandState("justifyfull") before assert_equals: Wrong result returned expected false but got true
+FAIL [["stylewithcss","false"],["justifyfull",""]] "<div align=justify>fo[o</div>b]ar<p>extra" queryCommandValue("justifyfull") before assert_equals: Wrong result returned expected "justify" but got "true"
+PASS [["stylewithcss","false"],["justifyfull",""]] "<div align=justify>fo[o</div>b]ar<p>extra" queryCommandIndeterm("justifyfull") after 
+PASS [["stylewithcss","false"],["justifyfull",""]] "<div align=justify>fo[o</div>b]ar<p>extra" queryCommandState("justifyfull") after 
+FAIL [["stylewithcss","false"],["justifyfull",""]] "<div align=justify>fo[o</div>b]ar<p>extra" queryCommandValue("justifyfull") after assert_equals: Wrong result returned expected "justify" but got "true"
+PASS [["justifyfull",""]] "<div style=text-align:justify>[foo</div>bar]<p>extra": execCommand("justifyfull", false, "") return value 
+PASS [["justifyfull",""]] "<div style=text-align:justify>[foo</div>bar]<p>extra" checks for modifications to non-editable content 
+FAIL [["justifyfull",""]] "<div style=text-align:justify>[foo</div>bar]<p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<div style=\"text-align:justify\">foo<br>bar</div><p>extra</p>" but got "<div style=\"text-align:justify\">foo</div><p style=\"text-align:justify\">bar</p><p>extra</p>"
+FAIL [["justifyfull",""]] "<div style=text-align:justify>[foo</div>bar]<p>extra" queryCommandIndeterm("justifyfull") before assert_equals: Wrong result returned expected true but got false
+FAIL [["justifyfull",""]] "<div style=text-align:justify>[foo</div>bar]<p>extra" queryCommandState("justifyfull") before assert_equals: Wrong result returned expected false but got true
+FAIL [["justifyfull",""]] "<div style=text-align:justify>[foo</div>bar]<p>extra" queryCommandValue("justifyfull") before assert_equals: Wrong result returned expected "justify" but got "true"
+PASS [["justifyfull",""]] "<div style=text-align:justify>[foo</div>bar]<p>extra" queryCommandIndeterm("justifyfull") after 
+PASS [["justifyfull",""]] "<div style=text-align:justify>[foo</div>bar]<p>extra" queryCommandState("justifyfull") after 
+FAIL [["justifyfull",""]] "<div style=text-align:justify>[foo</div>bar]<p>extra" queryCommandValue("justifyfull") after assert_equals: Wrong result returned expected "justify" but got "true"
+PASS [["justifyfull",""]] "<div style=text-align:justify>fo[o</div>b]ar<p>extra": execCommand("justifyfull", false, "") return value 
+PASS [["justifyfull",""]] "<div style=text-align:justify>fo[o</div>b]ar<p>extra" checks for modifications to non-editable content 
+FAIL [["justifyfull",""]] "<div style=text-align:justify>fo[o</div>b]ar<p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<div style=\"text-align:justify\">foo<br>bar</div><p>extra</p>" but got "<div style=\"text-align:justify\">foo</div><p style=\"text-align:justify\">bar</p><p>extra</p>"
+FAIL [["justifyfull",""]] "<div style=text-align:justify>fo[o</div>b]ar<p>extra" queryCommandIndeterm("justifyfull") before assert_equals: Wrong result returned expected true but got false
+FAIL [["justifyfull",""]] "<div style=text-align:justify>fo[o</div>b]ar<p>extra" queryCommandState("justifyfull") before assert_equals: Wrong result returned expected false but got true
+FAIL [["justifyfull",""]] "<div style=text-align:justify>fo[o</div>b]ar<p>extra" queryCommandValue("justifyfull") before assert_equals: Wrong result returned expected "justify" but got "true"
+PASS [["justifyfull",""]] "<div style=text-align:justify>fo[o</div>b]ar<p>extra" queryCommandIndeterm("justifyfull") after 
+PASS [["justifyfull",""]] "<div style=text-align:justify>fo[o</div>b]ar<p>extra" queryCommandState("justifyfull") after 
+FAIL [["justifyfull",""]] "<div style=text-align:justify>fo[o</div>b]ar<p>extra" queryCommandValue("justifyfull") after assert_equals: Wrong result returned expected "justify" but got "true"
+PASS [["defaultparagraphseparator","div"],["justifyfull",""]] "<span style=text-align:justify>[foo]</span><p>extra": execCommand("defaultparagraphseparator", false, "div") return value 
+PASS [["defaultparagraphseparator","div"],["justifyfull",""]] "<span style=text-align:justify>[foo]</span><p>extra": execCommand("justifyfull", false, "") return value 
+PASS [["defaultparagraphseparator","div"],["justifyfull",""]] "<span style=text-align:justify>[foo]</span><p>extra" checks for modifications to non-editable content 
+FAIL [["defaultparagraphseparator","div"],["justifyfull",""]] "<span style=text-align:justify>[foo]</span><p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<div style=\"text-align:justify\">foo</div><p>extra</p>" but got "<span style=\"text-align:justify\">foo</span><p>extra</p>"
+PASS [["defaultparagraphseparator","div"],["justifyfull",""]] "<span style=text-align:justify>[foo]</span><p>extra" queryCommandIndeterm("defaultparagraphseparator") before 
+PASS [["defaultparagraphseparator","div"],["justifyfull",""]] "<span style=text-align:justify>[foo]</span><p>extra" queryCommandState("defaultparagraphseparator") before 
+PASS [["defaultparagraphseparator","div"],["justifyfull",""]] "<span style=text-align:justify>[foo]</span><p>extra" queryCommandValue("defaultparagraphseparator") before 
+PASS [["defaultparagraphseparator","div"],["justifyfull",""]] "<span style=text-align:justify>[foo]</span><p>extra" queryCommandIndeterm("defaultparagraphseparator") after 
+PASS [["defaultparagraphseparator","div"],["justifyfull",""]] "<span style=text-align:justify>[foo]</span><p>extra" queryCommandState("defaultparagraphseparator") after 
+PASS [["defaultparagraphseparator","div"],["justifyfull",""]] "<span style=text-align:justify>[foo]</span><p>extra" queryCommandValue("defaultparagraphseparator") after 
+PASS [["defaultparagraphseparator","div"],["justifyfull",""]] "<span style=text-align:justify>[foo]</span><p>extra" queryCommandIndeterm("justifyfull") before 
+FAIL [["defaultparagraphseparator","div"],["justifyfull",""]] "<span style=text-align:justify>[foo]</span><p>extra" queryCommandState("justifyfull") before assert_equals: Wrong result returned expected false but got true
+FAIL [["defaultparagraphseparator","div"],["justifyfull",""]] "<span style=text-align:justify>[foo]</span><p>extra" queryCommandValue("justifyfull") before assert_equals: Wrong result returned expected "left" but got "true"
+PASS [["defaultparagraphseparator","div"],["justifyfull",""]] "<span style=text-align:justify>[foo]</span><p>extra" queryCommandIndeterm("justifyfull") after 
+PASS [["defaultparagraphseparator","div"],["justifyfull",""]] "<span style=text-align:justify>[foo]</span><p>extra" queryCommandState("justifyfull") after 
+FAIL [["defaultparagraphseparator","div"],["justifyfull",""]] "<span style=text-align:justify>[foo]</span><p>extra" queryCommandValue("justifyfull") after assert_equals: Wrong result returned expected "justify" but got "true"
+PASS [["defaultparagraphseparator","p"],["justifyfull",""]] "<span style=text-align:justify>[foo]</span><p>extra": execCommand("defaultparagraphseparator", false, "p") return value 
+PASS [["defaultparagraphseparator","p"],["justifyfull",""]] "<span style=text-align:justify>[foo]</span><p>extra": execCommand("justifyfull", false, "") return value 
+PASS [["defaultparagraphseparator","p"],["justifyfull",""]] "<span style=text-align:justify>[foo]</span><p>extra" checks for modifications to non-editable content 
+FAIL [["defaultparagraphseparator","p"],["justifyfull",""]] "<span style=text-align:justify>[foo]</span><p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<div style=\"text-align:justify\">foo</div><p>extra</p>" but got "<span style=\"text-align:justify\">foo</span><p>extra</p>"
+PASS [["defaultparagraphseparator","p"],["justifyfull",""]] "<span style=text-align:justify>[foo]</span><p>extra" queryCommandIndeterm("defaultparagraphseparator") before 
+PASS [["defaultparagraphseparator","p"],["justifyfull",""]] "<span style=text-align:justify>[foo]</span><p>extra" queryCommandState("defaultparagraphseparator") before 
+PASS [["defaultparagraphseparator","p"],["justifyfull",""]] "<span style=text-align:justify>[foo]</span><p>extra" queryCommandValue("defaultparagraphseparator") before 
+PASS [["defaultparagraphseparator","p"],["justifyfull",""]] "<span style=text-align:justify>[foo]</span><p>extra" queryCommandIndeterm("defaultparagraphseparator") after 
+PASS [["defaultparagraphseparator","p"],["justifyfull",""]] "<span style=text-align:justify>[foo]</span><p>extra" queryCommandState("defaultparagraphseparator") after 
+PASS [["defaultparagraphseparator","p"],["justifyfull",""]] "<span style=text-align:justify>[foo]</span><p>extra" queryCommandValue("defaultparagraphseparator") after 
+PASS [["defaultparagraphseparator","p"],["justifyfull",""]] "<span style=text-align:justify>[foo]</span><p>extra" queryCommandIndeterm("justifyfull") before 
+FAIL [["defaultparagraphseparator","p"],["justifyfull",""]] "<span style=text-align:justify>[foo]</span><p>extra" queryCommandState("justifyfull") before assert_equals: Wrong result returned expected false but got true
+FAIL [["defaultparagraphseparator","p"],["justifyfull",""]] "<span style=text-align:justify>[foo]</span><p>extra" queryCommandValue("justifyfull") before assert_equals: Wrong result returned expected "left" but got "true"
+PASS [["defaultparagraphseparator","p"],["justifyfull",""]] "<span style=text-align:justify>[foo]</span><p>extra" queryCommandIndeterm("justifyfull") after 
+PASS [["defaultparagraphseparator","p"],["justifyfull",""]] "<span style=text-align:justify>[foo]</span><p>extra" queryCommandState("justifyfull") after 
+FAIL [["defaultparagraphseparator","p"],["justifyfull",""]] "<span style=text-align:justify>[foo]</span><p>extra" queryCommandValue("justifyfull") after assert_equals: Wrong result returned expected "justify" but got "true"
+PASS [["defaultparagraphseparator","div"],["justifyfull",""]] "<span style=text-align:justify>f[o]o</span><p>extra": execCommand("defaultparagraphseparator", false, "div") return value 
+PASS [["defaultparagraphseparator","div"],["justifyfull",""]] "<span style=text-align:justify>f[o]o</span><p>extra": execCommand("justifyfull", false, "") return value 
+PASS [["defaultparagraphseparator","div"],["justifyfull",""]] "<span style=text-align:justify>f[o]o</span><p>extra" checks for modifications to non-editable content 
+FAIL [["defaultparagraphseparator","div"],["justifyfull",""]] "<span style=text-align:justify>f[o]o</span><p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<div style=\"text-align:justify\">foo</div><p>extra</p>" but got "<span style=\"text-align:justify\">foo</span><p>extra</p>"
+PASS [["defaultparagraphseparator","div"],["justifyfull",""]] "<span style=text-align:justify>f[o]o</span><p>extra" queryCommandIndeterm("defaultparagraphseparator") before 
+PASS [["defaultparagraphseparator","div"],["justifyfull",""]] "<span style=text-align:justify>f[o]o</span><p>extra" queryCommandState("defaultparagraphseparator") before 
+PASS [["defaultparagraphseparator","div"],["justifyfull",""]] "<span style=text-align:justify>f[o]o</span><p>extra" queryCommandValue("defaultparagraphseparator") before 
+PASS [["defaultparagraphseparator","div"],["justifyfull",""]] "<span style=text-align:justify>f[o]o</span><p>extra" queryCommandIndeterm("defaultparagraphseparator") after 
+PASS [["defaultparagraphseparator","div"],["justifyfull",""]] "<span style=text-align:justify>f[o]o</span><p>extra" queryCommandState("defaultparagraphseparator") after 
+PASS [["defaultparagraphseparator","div"],["justifyfull",""]] "<span style=text-align:justify>f[o]o</span><p>extra" queryCommandValue("defaultparagraphseparator") after 
+PASS [["defaultparagraphseparator","div"],["justifyfull",""]] "<span style=text-align:justify>f[o]o</span><p>extra" queryCommandIndeterm("justifyfull") before 
+FAIL [["defaultparagraphseparator","div"],["justifyfull",""]] "<span style=text-align:justify>f[o]o</span><p>extra" queryCommandState("justifyfull") before assert_equals: Wrong result returned expected false but got true
+FAIL [["defaultparagraphseparator","div"],["justifyfull",""]] "<span style=text-align:justify>f[o]o</span><p>extra" queryCommandValue("justifyfull") before assert_equals: Wrong result returned expected "left" but got "true"
+PASS [["defaultparagraphseparator","div"],["justifyfull",""]] "<span style=text-align:justify>f[o]o</span><p>extra" queryCommandIndeterm("justifyfull") after 
+PASS [["defaultparagraphseparator","div"],["justifyfull",""]] "<span style=text-align:justify>f[o]o</span><p>extra" queryCommandState("justifyfull") after 
+FAIL [["defaultparagraphseparator","div"],["justifyfull",""]] "<span style=text-align:justify>f[o]o</span><p>extra" queryCommandValue("justifyfull") after assert_equals: Wrong result returned expected "justify" but got "true"
+PASS [["defaultparagraphseparator","p"],["justifyfull",""]] "<span style=text-align:justify>f[o]o</span><p>extra": execCommand("defaultparagraphseparator", false, "p") return value 
+PASS [["defaultparagraphseparator","p"],["justifyfull",""]] "<span style=text-align:justify>f[o]o</span><p>extra": execCommand("justifyfull", false, "") return value 
+PASS [["defaultparagraphseparator","p"],["justifyfull",""]] "<span style=text-align:justify>f[o]o</span><p>extra" checks for modifications to non-editable content 
+FAIL [["defaultparagraphseparator","p"],["justifyfull",""]] "<span style=text-align:justify>f[o]o</span><p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<div style=\"text-align:justify\">foo</div><p>extra</p>" but got "<span style=\"text-align:justify\">foo</span><p>extra</p>"
+PASS [["defaultparagraphseparator","p"],["justifyfull",""]] "<span style=text-align:justify>f[o]o</span><p>extra" queryCommandIndeterm("defaultparagraphseparator") before 
+PASS [["defaultparagraphseparator","p"],["justifyfull",""]] "<span style=text-align:justify>f[o]o</span><p>extra" queryCommandState("defaultparagraphseparator") before 
+PASS [["defaultparagraphseparator","p"],["justifyfull",""]] "<span style=text-align:justify>f[o]o</span><p>extra" queryCommandValue("defaultparagraphseparator") before 
+PASS [["defaultparagraphseparator","p"],["justifyfull",""]] "<span style=text-align:justify>f[o]o</span><p>extra" queryCommandIndeterm("defaultparagraphseparator") after 
+PASS [["defaultparagraphseparator","p"],["justifyfull",""]] "<span style=text-align:justify>f[o]o</span><p>extra" queryCommandState("defaultparagraphseparator") after 
+PASS [["defaultparagraphseparator","p"],["justifyfull",""]] "<span style=text-align:justify>f[o]o</span><p>extra" queryCommandValue("defaultparagraphseparator") after 
+PASS [["defaultparagraphseparator","p"],["justifyfull",""]] "<span style=text-align:justify>f[o]o</span><p>extra" queryCommandIndeterm("justifyfull") before 
+FAIL [["defaultparagraphseparator","p"],["justifyfull",""]] "<span style=text-align:justify>f[o]o</span><p>extra" queryCommandState("justifyfull") before assert_equals: Wrong result returned expected false but got true
+FAIL [["defaultparagraphseparator","p"],["justifyfull",""]] "<span style=text-align:justify>f[o]o</span><p>extra" queryCommandValue("justifyfull") before assert_equals: Wrong result returned expected "left" but got "true"
+PASS [["defaultparagraphseparator","p"],["justifyfull",""]] "<span style=text-align:justify>f[o]o</span><p>extra" queryCommandIndeterm("justifyfull") after 
+PASS [["defaultparagraphseparator","p"],["justifyfull",""]] "<span style=text-align:justify>f[o]o</span><p>extra" queryCommandState("justifyfull") after 
+FAIL [["defaultparagraphseparator","p"],["justifyfull",""]] "<span style=text-align:justify>f[o]o</span><p>extra" queryCommandValue("justifyfull") after assert_equals: Wrong result returned expected "justify" but got "true"
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<div style=text-align:justify>[foo<div style=text-align:left contenteditable=false>bar</div>baz]</div><p>extra": execCommand("stylewithcss", false, "true") return value 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<div style=text-align:justify>[foo<div style=text-align:left contenteditable=false>bar</div>baz]</div><p>extra": execCommand("defaultparagraphseparator", false, "div") return value 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<div style=text-align:justify>[foo<div style=text-align:left contenteditable=false>bar</div>baz]</div><p>extra": execCommand("justifyfull", false, "") return value 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<div style=text-align:justify>[foo<div style=text-align:left contenteditable=false>bar</div>baz]</div><p>extra" checks for modifications to non-editable content 
+FAIL [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<div style=text-align:justify>[foo<div style=text-align:left contenteditable=false>bar</div>baz]</div><p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<div style=\"text-align:justify\">foo</div><div style=\"text-align:left\" contenteditable=\"false\">bar</div><div style=\"text-align:justify\">baz</div><p>extra</p>" but got "<div style=\"text-align:justify\">foo<div style=\"text-align:justify\" contenteditable=\"false\">bar</div>baz</div><p>extra</p>"
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<div style=text-align:justify>[foo<div style=text-align:left contenteditable=false>bar</div>baz]</div><p>extra" queryCommandIndeterm("stylewithcss") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<div style=text-align:justify>[foo<div style=text-align:left contenteditable=false>bar</div>baz]</div><p>extra" queryCommandState("stylewithcss") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<div style=text-align:justify>[foo<div style=text-align:left contenteditable=false>bar</div>baz]</div><p>extra" queryCommandValue("stylewithcss") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<div style=text-align:justify>[foo<div style=text-align:left contenteditable=false>bar</div>baz]</div><p>extra" queryCommandIndeterm("stylewithcss") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<div style=text-align:justify>[foo<div style=text-align:left contenteditable=false>bar</div>baz]</div><p>extra" queryCommandState("stylewithcss") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<div style=text-align:justify>[foo<div style=text-align:left contenteditable=false>bar</div>baz]</div><p>extra" queryCommandValue("stylewithcss") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<div style=text-align:justify>[foo<div style=text-align:left contenteditable=false>bar</div>baz]</div><p>extra" queryCommandIndeterm("defaultparagraphseparator") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<div style=text-align:justify>[foo<div style=text-align:left contenteditable=false>bar</div>baz]</div><p>extra" queryCommandState("defaultparagraphseparator") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<div style=text-align:justify>[foo<div style=text-align:left contenteditable=false>bar</div>baz]</div><p>extra" queryCommandValue("defaultparagraphseparator") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<div style=text-align:justify>[foo<div style=text-align:left contenteditable=false>bar</div>baz]</div><p>extra" queryCommandIndeterm("defaultparagraphseparator") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<div style=text-align:justify>[foo<div style=text-align:left contenteditable=false>bar</div>baz]</div><p>extra" queryCommandState("defaultparagraphseparator") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<div style=text-align:justify>[foo<div style=text-align:left contenteditable=false>bar</div>baz]</div><p>extra" queryCommandValue("defaultparagraphseparator") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<div style=text-align:justify>[foo<div style=text-align:left contenteditable=false>bar</div>baz]</div><p>extra" queryCommandIndeterm("justifyfull") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<div style=text-align:justify>[foo<div style=text-align:left contenteditable=false>bar</div>baz]</div><p>extra" queryCommandState("justifyfull") before 
+FAIL [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<div style=text-align:justify>[foo<div style=text-align:left contenteditable=false>bar</div>baz]</div><p>extra" queryCommandValue("justifyfull") before assert_equals: Wrong result returned expected "justify" but got "true"
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<div style=text-align:justify>[foo<div style=text-align:left contenteditable=false>bar</div>baz]</div><p>extra" queryCommandIndeterm("justifyfull") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<div style=text-align:justify>[foo<div style=text-align:left contenteditable=false>bar</div>baz]</div><p>extra" queryCommandState("justifyfull") after 
+FAIL [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<div style=text-align:justify>[foo<div style=text-align:left contenteditable=false>bar</div>baz]</div><p>extra" queryCommandValue("justifyfull") after assert_equals: Wrong result returned expected "justify" but got "true"
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<div style=text-align:justify>[foo<div style=text-align:left contenteditable=false>bar</div>baz]</div><p>extra": execCommand("stylewithcss", false, "false") return value 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<div style=text-align:justify>[foo<div style=text-align:left contenteditable=false>bar</div>baz]</div><p>extra": execCommand("defaultparagraphseparator", false, "div") return value 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<div style=text-align:justify>[foo<div style=text-align:left contenteditable=false>bar</div>baz]</div><p>extra": execCommand("justifyfull", false, "") return value 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<div style=text-align:justify>[foo<div style=text-align:left contenteditable=false>bar</div>baz]</div><p>extra" checks for modifications to non-editable content 
+FAIL [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<div style=text-align:justify>[foo<div style=text-align:left contenteditable=false>bar</div>baz]</div><p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<div style=\"text-align:justify\">foo</div><div style=\"text-align:left\" contenteditable=\"false\">bar</div><div style=\"text-align:justify\">baz</div><p>extra</p>" but got "<div style=\"text-align:justify\">foo<div style=\"text-align:justify\" contenteditable=\"false\">bar</div>baz</div><p>extra</p>"
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<div style=text-align:justify>[foo<div style=text-align:left contenteditable=false>bar</div>baz]</div><p>extra" queryCommandIndeterm("stylewithcss") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<div style=text-align:justify>[foo<div style=text-align:left contenteditable=false>bar</div>baz]</div><p>extra" queryCommandState("stylewithcss") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<div style=text-align:justify>[foo<div style=text-align:left contenteditable=false>bar</div>baz]</div><p>extra" queryCommandValue("stylewithcss") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<div style=text-align:justify>[foo<div style=text-align:left contenteditable=false>bar</div>baz]</div><p>extra" queryCommandIndeterm("stylewithcss") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<div style=text-align:justify>[foo<div style=text-align:left contenteditable=false>bar</div>baz]</div><p>extra" queryCommandState("stylewithcss") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<div style=text-align:justify>[foo<div style=text-align:left contenteditable=false>bar</div>baz]</div><p>extra" queryCommandValue("stylewithcss") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<div style=text-align:justify>[foo<div style=text-align:left contenteditable=false>bar</div>baz]</div><p>extra" queryCommandIndeterm("defaultparagraphseparator") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<div style=text-align:justify>[foo<div style=text-align:left contenteditable=false>bar</div>baz]</div><p>extra" queryCommandState("defaultparagraphseparator") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<div style=text-align:justify>[foo<div style=text-align:left contenteditable=false>bar</div>baz]</div><p>extra" queryCommandValue("defaultparagraphseparator") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<div style=text-align:justify>[foo<div style=text-align:left contenteditable=false>bar</div>baz]</div><p>extra" queryCommandIndeterm("defaultparagraphseparator") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<div style=text-align:justify>[foo<div style=text-align:left contenteditable=false>bar</div>baz]</div><p>extra" queryCommandState("defaultparagraphseparator") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<div style=text-align:justify>[foo<div style=text-align:left contenteditable=false>bar</div>baz]</div><p>extra" queryCommandValue("defaultparagraphseparator") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<div style=text-align:justify>[foo<div style=text-align:left contenteditable=false>bar</div>baz]</div><p>extra" queryCommandIndeterm("justifyfull") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<div style=text-align:justify>[foo<div style=text-align:left contenteditable=false>bar</div>baz]</div><p>extra" queryCommandState("justifyfull") before 
+FAIL [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<div style=text-align:justify>[foo<div style=text-align:left contenteditable=false>bar</div>baz]</div><p>extra" queryCommandValue("justifyfull") before assert_equals: Wrong result returned expected "justify" but got "true"
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<div style=text-align:justify>[foo<div style=text-align:left contenteditable=false>bar</div>baz]</div><p>extra" queryCommandIndeterm("justifyfull") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<div style=text-align:justify>[foo<div style=text-align:left contenteditable=false>bar</div>baz]</div><p>extra" queryCommandState("justifyfull") after 
+FAIL [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<div style=text-align:justify>[foo<div style=text-align:left contenteditable=false>bar</div>baz]</div><p>extra" queryCommandValue("justifyfull") after assert_equals: Wrong result returned expected "justify" but got "true"
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<div style=text-align:justify>[foo<div style=text-align:left contenteditable=false>bar</div>baz]</div><p>extra": execCommand("stylewithcss", false, "true") return value 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<div style=text-align:justify>[foo<div style=text-align:left contenteditable=false>bar</div>baz]</div><p>extra": execCommand("defaultparagraphseparator", false, "p") return value 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<div style=text-align:justify>[foo<div style=text-align:left contenteditable=false>bar</div>baz]</div><p>extra": execCommand("justifyfull", false, "") return value 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<div style=text-align:justify>[foo<div style=text-align:left contenteditable=false>bar</div>baz]</div><p>extra" checks for modifications to non-editable content 
+FAIL [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<div style=text-align:justify>[foo<div style=text-align:left contenteditable=false>bar</div>baz]</div><p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<div style=\"text-align:justify\">foo</div><div style=\"text-align:left\" contenteditable=\"false\">bar</div><div style=\"text-align:justify\">baz</div><p>extra</p>" but got "<div style=\"text-align:justify\">foo<div style=\"text-align:justify\" contenteditable=\"false\">bar</div>baz</div><p>extra</p>"
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<div style=text-align:justify>[foo<div style=text-align:left contenteditable=false>bar</div>baz]</div><p>extra" queryCommandIndeterm("stylewithcss") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<div style=text-align:justify>[foo<div style=text-align:left contenteditable=false>bar</div>baz]</div><p>extra" queryCommandState("stylewithcss") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<div style=text-align:justify>[foo<div style=text-align:left contenteditable=false>bar</div>baz]</div><p>extra" queryCommandValue("stylewithcss") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<div style=text-align:justify>[foo<div style=text-align:left contenteditable=false>bar</div>baz]</div><p>extra" queryCommandIndeterm("stylewithcss") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<div style=text-align:justify>[foo<div style=text-align:left contenteditable=false>bar</div>baz]</div><p>extra" queryCommandState("stylewithcss") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<div style=text-align:justify>[foo<div style=text-align:left contenteditable=false>bar</div>baz]</div><p>extra" queryCommandValue("stylewithcss") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<div style=text-align:justify>[foo<div style=text-align:left contenteditable=false>bar</div>baz]</div><p>extra" queryCommandIndeterm("defaultparagraphseparator") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<div style=text-align:justify>[foo<div style=text-align:left contenteditable=false>bar</div>baz]</div><p>extra" queryCommandState("defaultparagraphseparator") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<div style=text-align:justify>[foo<div style=text-align:left contenteditable=false>bar</div>baz]</div><p>extra" queryCommandValue("defaultparagraphseparator") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<div style=text-align:justify>[foo<div style=text-align:left contenteditable=false>bar</div>baz]</div><p>extra" queryCommandIndeterm("defaultparagraphseparator") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<div style=text-align:justify>[foo<div style=text-align:left contenteditable=false>bar</div>baz]</div><p>extra" queryCommandState("defaultparagraphseparator") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<div style=text-align:justify>[foo<div style=text-align:left contenteditable=false>bar</div>baz]</div><p>extra" queryCommandValue("defaultparagraphseparator") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<div style=text-align:justify>[foo<div style=text-align:left contenteditable=false>bar</div>baz]</div><p>extra" queryCommandIndeterm("justifyfull") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<div style=text-align:justify>[foo<div style=text-align:left contenteditable=false>bar</div>baz]</div><p>extra" queryCommandState("justifyfull") before 
+FAIL [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<div style=text-align:justify>[foo<div style=text-align:left contenteditable=false>bar</div>baz]</div><p>extra" queryCommandValue("justifyfull") before assert_equals: Wrong result returned expected "justify" but got "true"
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<div style=text-align:justify>[foo<div style=text-align:left contenteditable=false>bar</div>baz]</div><p>extra" queryCommandIndeterm("justifyfull") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<div style=text-align:justify>[foo<div style=text-align:left contenteditable=false>bar</div>baz]</div><p>extra" queryCommandState("justifyfull") after 
+FAIL [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<div style=text-align:justify>[foo<div style=text-align:left contenteditable=false>bar</div>baz]</div><p>extra" queryCommandValue("justifyfull") after assert_equals: Wrong result returned expected "justify" but got "true"
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<div style=text-align:justify>[foo<div style=text-align:left contenteditable=false>bar</div>baz]</div><p>extra": execCommand("stylewithcss", false, "false") return value 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<div style=text-align:justify>[foo<div style=text-align:left contenteditable=false>bar</div>baz]</div><p>extra": execCommand("defaultparagraphseparator", false, "p") return value 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<div style=text-align:justify>[foo<div style=text-align:left contenteditable=false>bar</div>baz]</div><p>extra": execCommand("justifyfull", false, "") return value 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<div style=text-align:justify>[foo<div style=text-align:left contenteditable=false>bar</div>baz]</div><p>extra" checks for modifications to non-editable content 
+FAIL [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<div style=text-align:justify>[foo<div style=text-align:left contenteditable=false>bar</div>baz]</div><p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<div style=\"text-align:justify\">foo</div><div style=\"text-align:left\" contenteditable=\"false\">bar</div><div style=\"text-align:justify\">baz</div><p>extra</p>" but got "<div style=\"text-align:justify\">foo<div style=\"text-align:justify\" contenteditable=\"false\">bar</div>baz</div><p>extra</p>"
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<div style=text-align:justify>[foo<div style=text-align:left contenteditable=false>bar</div>baz]</div><p>extra" queryCommandIndeterm("stylewithcss") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<div style=text-align:justify>[foo<div style=text-align:left contenteditable=false>bar</div>baz]</div><p>extra" queryCommandState("stylewithcss") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<div style=text-align:justify>[foo<div style=text-align:left contenteditable=false>bar</div>baz]</div><p>extra" queryCommandValue("stylewithcss") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<div style=text-align:justify>[foo<div style=text-align:left contenteditable=false>bar</div>baz]</div><p>extra" queryCommandIndeterm("stylewithcss") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<div style=text-align:justify>[foo<div style=text-align:left contenteditable=false>bar</div>baz]</div><p>extra" queryCommandState("stylewithcss") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<div style=text-align:justify>[foo<div style=text-align:left contenteditable=false>bar</div>baz]</div><p>extra" queryCommandValue("stylewithcss") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<div style=text-align:justify>[foo<div style=text-align:left contenteditable=false>bar</div>baz]</div><p>extra" queryCommandIndeterm("defaultparagraphseparator") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<div style=text-align:justify>[foo<div style=text-align:left contenteditable=false>bar</div>baz]</div><p>extra" queryCommandState("defaultparagraphseparator") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<div style=text-align:justify>[foo<div style=text-align:left contenteditable=false>bar</div>baz]</div><p>extra" queryCommandValue("defaultparagraphseparator") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<div style=text-align:justify>[foo<div style=text-align:left contenteditable=false>bar</div>baz]</div><p>extra" queryCommandIndeterm("defaultparagraphseparator") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<div style=text-align:justify>[foo<div style=text-align:left contenteditable=false>bar</div>baz]</div><p>extra" queryCommandState("defaultparagraphseparator") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<div style=text-align:justify>[foo<div style=text-align:left contenteditable=false>bar</div>baz]</div><p>extra" queryCommandValue("defaultparagraphseparator") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<div style=text-align:justify>[foo<div style=text-align:left contenteditable=false>bar</div>baz]</div><p>extra" queryCommandIndeterm("justifyfull") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<div style=text-align:justify>[foo<div style=text-align:left contenteditable=false>bar</div>baz]</div><p>extra" queryCommandState("justifyfull") before 
+FAIL [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<div style=text-align:justify>[foo<div style=text-align:left contenteditable=false>bar</div>baz]</div><p>extra" queryCommandValue("justifyfull") before assert_equals: Wrong result returned expected "justify" but got "true"
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<div style=text-align:justify>[foo<div style=text-align:left contenteditable=false>bar</div>baz]</div><p>extra" queryCommandIndeterm("justifyfull") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<div style=text-align:justify>[foo<div style=text-align:left contenteditable=false>bar</div>baz]</div><p>extra" queryCommandState("justifyfull") after 
+FAIL [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<div style=text-align:justify>[foo<div style=text-align:left contenteditable=false>bar</div>baz]</div><p>extra" queryCommandValue("justifyfull") after assert_equals: Wrong result returned expected "justify" but got "true"
+PASS [["stylewithcss","true"],["justifyfull",""]] "<div align=nonsense><p>[foo]</div><p>extra": execCommand("stylewithcss", false, "true") return value 
+PASS [["stylewithcss","true"],["justifyfull",""]] "<div align=nonsense><p>[foo]</div><p>extra": execCommand("justifyfull", false, "") return value 
+PASS [["stylewithcss","true"],["justifyfull",""]] "<div align=nonsense><p>[foo]</div><p>extra" checks for modifications to non-editable content 
+FAIL [["stylewithcss","true"],["justifyfull",""]] "<div align=nonsense><p>[foo]</div><p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<div style=\"text-align:justify\"><p>foo</p></div><p>extra</p>" but got "<div align=\"nonsense\"><p style=\"text-align:justify\">foo</p></div><p>extra</p>"
+PASS [["stylewithcss","true"],["justifyfull",""]] "<div align=nonsense><p>[foo]</div><p>extra" queryCommandIndeterm("stylewithcss") before 
+PASS [["stylewithcss","true"],["justifyfull",""]] "<div align=nonsense><p>[foo]</div><p>extra" queryCommandState("stylewithcss") before 
+PASS [["stylewithcss","true"],["justifyfull",""]] "<div align=nonsense><p>[foo]</div><p>extra" queryCommandValue("stylewithcss") before 
+PASS [["stylewithcss","true"],["justifyfull",""]] "<div align=nonsense><p>[foo]</div><p>extra" queryCommandIndeterm("stylewithcss") after 
+PASS [["stylewithcss","true"],["justifyfull",""]] "<div align=nonsense><p>[foo]</div><p>extra" queryCommandState("stylewithcss") after 
+PASS [["stylewithcss","true"],["justifyfull",""]] "<div align=nonsense><p>[foo]</div><p>extra" queryCommandValue("stylewithcss") after 
+PASS [["stylewithcss","true"],["justifyfull",""]] "<div align=nonsense><p>[foo]</div><p>extra" queryCommandIndeterm("justifyfull") before 
+PASS [["stylewithcss","true"],["justifyfull",""]] "<div align=nonsense><p>[foo]</div><p>extra" queryCommandState("justifyfull") before 
+FAIL [["stylewithcss","true"],["justifyfull",""]] "<div align=nonsense><p>[foo]</div><p>extra" queryCommandValue("justifyfull") before assert_equals: Wrong result returned expected "left" but got "false"
+PASS [["stylewithcss","true"],["justifyfull",""]] "<div align=nonsense><p>[foo]</div><p>extra" queryCommandIndeterm("justifyfull") after 
+PASS [["stylewithcss","true"],["justifyfull",""]] "<div align=nonsense><p>[foo]</div><p>extra" queryCommandState("justifyfull") after 
+FAIL [["stylewithcss","true"],["justifyfull",""]] "<div align=nonsense><p>[foo]</div><p>extra" queryCommandValue("justifyfull") after assert_equals: Wrong result returned expected "justify" but got "true"
+PASS [["stylewithcss","false"],["justifyfull",""]] "<div align=nonsense><p>[foo]</div><p>extra": execCommand("stylewithcss", false, "false") return value 
+PASS [["stylewithcss","false"],["justifyfull",""]] "<div align=nonsense><p>[foo]</div><p>extra": execCommand("justifyfull", false, "") return value 
+PASS [["stylewithcss","false"],["justifyfull",""]] "<div align=nonsense><p>[foo]</div><p>extra" checks for modifications to non-editable content 
+FAIL [["stylewithcss","false"],["justifyfull",""]] "<div align=nonsense><p>[foo]</div><p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<div style=\"text-align:justify\"><p>foo</p></div><p>extra</p>" but got "<div align=\"nonsense\"><p style=\"text-align:justify\">foo</p></div><p>extra</p>"
+PASS [["stylewithcss","false"],["justifyfull",""]] "<div align=nonsense><p>[foo]</div><p>extra" queryCommandIndeterm("stylewithcss") before 
+PASS [["stylewithcss","false"],["justifyfull",""]] "<div align=nonsense><p>[foo]</div><p>extra" queryCommandState("stylewithcss") before 
+PASS [["stylewithcss","false"],["justifyfull",""]] "<div align=nonsense><p>[foo]</div><p>extra" queryCommandValue("stylewithcss") before 
+PASS [["stylewithcss","false"],["justifyfull",""]] "<div align=nonsense><p>[foo]</div><p>extra" queryCommandIndeterm("stylewithcss") after 
+PASS [["stylewithcss","false"],["justifyfull",""]] "<div align=nonsense><p>[foo]</div><p>extra" queryCommandState("stylewithcss") after 
+PASS [["stylewithcss","false"],["justifyfull",""]] "<div align=nonsense><p>[foo]</div><p>extra" queryCommandValue("stylewithcss") after 
+PASS [["stylewithcss","false"],["justifyfull",""]] "<div align=nonsense><p>[foo]</div><p>extra" queryCommandIndeterm("justifyfull") before 
+PASS [["stylewithcss","false"],["justifyfull",""]] "<div align=nonsense><p>[foo]</div><p>extra" queryCommandState("justifyfull") before 
+FAIL [["stylewithcss","false"],["justifyfull",""]] "<div align=nonsense><p>[foo]</div><p>extra" queryCommandValue("justifyfull") before assert_equals: Wrong result returned expected "left" but got "false"
+PASS [["stylewithcss","false"],["justifyfull",""]] "<div align=nonsense><p>[foo]</div><p>extra" queryCommandIndeterm("justifyfull") after 
+PASS [["stylewithcss","false"],["justifyfull",""]] "<div align=nonsense><p>[foo]</div><p>extra" queryCommandState("justifyfull") after 
+FAIL [["stylewithcss","false"],["justifyfull",""]] "<div align=nonsense><p>[foo]</div><p>extra" queryCommandValue("justifyfull") after assert_equals: Wrong result returned expected "justify" but got "true"
+PASS [["justifyfull",""]] "<div style=text-align:inherit><p>[foo]</div><p>extra": execCommand("justifyfull", false, "") return value 
+PASS [["justifyfull",""]] "<div style=text-align:inherit><p>[foo]</div><p>extra" checks for modifications to non-editable content 
+FAIL [["justifyfull",""]] "<div style=text-align:inherit><p>[foo]</div><p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<div style=\"text-align:justify\"><p>foo</p></div><p>extra</p>" but got "<div style=\"text-align:inherit\"><p style=\"text-align:justify\">foo</p></div><p>extra</p>"
+PASS [["justifyfull",""]] "<div style=text-align:inherit><p>[foo]</div><p>extra" queryCommandIndeterm("justifyfull") before 
+PASS [["justifyfull",""]] "<div style=text-align:inherit><p>[foo]</div><p>extra" queryCommandState("justifyfull") before 
+FAIL [["justifyfull",""]] "<div style=text-align:inherit><p>[foo]</div><p>extra" queryCommandValue("justifyfull") before assert_equals: Wrong result returned expected "left" but got "false"
+PASS [["justifyfull",""]] "<div style=text-align:inherit><p>[foo]</div><p>extra" queryCommandIndeterm("justifyfull") after 
+PASS [["justifyfull",""]] "<div style=text-align:inherit><p>[foo]</div><p>extra" queryCommandState("justifyfull") after 
+FAIL [["justifyfull",""]] "<div style=text-align:inherit><p>[foo]</div><p>extra" queryCommandValue("justifyfull") after assert_equals: Wrong result returned expected "justify" but got "true"
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<quasit align=center><p>[foo]</p></quasit><p>extra": execCommand("stylewithcss", false, "true") return value 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<quasit align=center><p>[foo]</p></quasit><p>extra": execCommand("defaultparagraphseparator", false, "div") return value 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<quasit align=center><p>[foo]</p></quasit><p>extra": execCommand("justifyfull", false, "") return value 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<quasit align=center><p>[foo]</p></quasit><p>extra" checks for modifications to non-editable content 
+FAIL [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<quasit align=center><p>[foo]</p></quasit><p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<div style=\"text-align:justify\"><quasit><p>foo</p></quasit></div><p>extra</p>" but got "<quasit align=\"center\"><p style=\"text-align:justify\">foo</p></quasit><p>extra</p>"
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<quasit align=center><p>[foo]</p></quasit><p>extra" queryCommandIndeterm("stylewithcss") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<quasit align=center><p>[foo]</p></quasit><p>extra" queryCommandState("stylewithcss") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<quasit align=center><p>[foo]</p></quasit><p>extra" queryCommandValue("stylewithcss") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<quasit align=center><p>[foo]</p></quasit><p>extra" queryCommandIndeterm("stylewithcss") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<quasit align=center><p>[foo]</p></quasit><p>extra" queryCommandState("stylewithcss") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<quasit align=center><p>[foo]</p></quasit><p>extra" queryCommandValue("stylewithcss") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<quasit align=center><p>[foo]</p></quasit><p>extra" queryCommandIndeterm("defaultparagraphseparator") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<quasit align=center><p>[foo]</p></quasit><p>extra" queryCommandState("defaultparagraphseparator") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<quasit align=center><p>[foo]</p></quasit><p>extra" queryCommandValue("defaultparagraphseparator") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<quasit align=center><p>[foo]</p></quasit><p>extra" queryCommandIndeterm("defaultparagraphseparator") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<quasit align=center><p>[foo]</p></quasit><p>extra" queryCommandState("defaultparagraphseparator") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<quasit align=center><p>[foo]</p></quasit><p>extra" queryCommandValue("defaultparagraphseparator") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<quasit align=center><p>[foo]</p></quasit><p>extra" queryCommandIndeterm("justifyfull") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<quasit align=center><p>[foo]</p></quasit><p>extra" queryCommandState("justifyfull") before 
+FAIL [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<quasit align=center><p>[foo]</p></quasit><p>extra" queryCommandValue("justifyfull") before assert_equals: Wrong result returned expected "left" but got "false"
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<quasit align=center><p>[foo]</p></quasit><p>extra" queryCommandIndeterm("justifyfull") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<quasit align=center><p>[foo]</p></quasit><p>extra" queryCommandState("justifyfull") after 
+FAIL [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<quasit align=center><p>[foo]</p></quasit><p>extra" queryCommandValue("justifyfull") after assert_equals: Wrong result returned expected "justify" but got "true"
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<quasit align=center><p>[foo]</p></quasit><p>extra": execCommand("stylewithcss", false, "false") return value 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<quasit align=center><p>[foo]</p></quasit><p>extra": execCommand("defaultparagraphseparator", false, "div") return value 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<quasit align=center><p>[foo]</p></quasit><p>extra": execCommand("justifyfull", false, "") return value 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<quasit align=center><p>[foo]</p></quasit><p>extra" checks for modifications to non-editable content 
+FAIL [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<quasit align=center><p>[foo]</p></quasit><p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<div style=\"text-align:justify\"><quasit><p>foo</p></quasit></div><p>extra</p>" but got "<quasit align=\"center\"><p style=\"text-align:justify\">foo</p></quasit><p>extra</p>"
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<quasit align=center><p>[foo]</p></quasit><p>extra" queryCommandIndeterm("stylewithcss") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<quasit align=center><p>[foo]</p></quasit><p>extra" queryCommandState("stylewithcss") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<quasit align=center><p>[foo]</p></quasit><p>extra" queryCommandValue("stylewithcss") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<quasit align=center><p>[foo]</p></quasit><p>extra" queryCommandIndeterm("stylewithcss") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<quasit align=center><p>[foo]</p></quasit><p>extra" queryCommandState("stylewithcss") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<quasit align=center><p>[foo]</p></quasit><p>extra" queryCommandValue("stylewithcss") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<quasit align=center><p>[foo]</p></quasit><p>extra" queryCommandIndeterm("defaultparagraphseparator") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<quasit align=center><p>[foo]</p></quasit><p>extra" queryCommandState("defaultparagraphseparator") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<quasit align=center><p>[foo]</p></quasit><p>extra" queryCommandValue("defaultparagraphseparator") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<quasit align=center><p>[foo]</p></quasit><p>extra" queryCommandIndeterm("defaultparagraphseparator") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<quasit align=center><p>[foo]</p></quasit><p>extra" queryCommandState("defaultparagraphseparator") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<quasit align=center><p>[foo]</p></quasit><p>extra" queryCommandValue("defaultparagraphseparator") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<quasit align=center><p>[foo]</p></quasit><p>extra" queryCommandIndeterm("justifyfull") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<quasit align=center><p>[foo]</p></quasit><p>extra" queryCommandState("justifyfull") before 
+FAIL [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<quasit align=center><p>[foo]</p></quasit><p>extra" queryCommandValue("justifyfull") before assert_equals: Wrong result returned expected "left" but got "false"
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<quasit align=center><p>[foo]</p></quasit><p>extra" queryCommandIndeterm("justifyfull") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<quasit align=center><p>[foo]</p></quasit><p>extra" queryCommandState("justifyfull") after 
+FAIL [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<quasit align=center><p>[foo]</p></quasit><p>extra" queryCommandValue("justifyfull") after assert_equals: Wrong result returned expected "justify" but got "true"
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<quasit align=center><p>[foo]</p></quasit><p>extra": execCommand("stylewithcss", false, "true") return value 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<quasit align=center><p>[foo]</p></quasit><p>extra": execCommand("defaultparagraphseparator", false, "p") return value 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<quasit align=center><p>[foo]</p></quasit><p>extra": execCommand("justifyfull", false, "") return value 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<quasit align=center><p>[foo]</p></quasit><p>extra" checks for modifications to non-editable content 
+FAIL [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<quasit align=center><p>[foo]</p></quasit><p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<div style=\"text-align:justify\"><quasit><p>foo</p></quasit></div><p>extra</p>" but got "<quasit align=\"center\"><p style=\"text-align:justify\">foo</p></quasit><p>extra</p>"
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<quasit align=center><p>[foo]</p></quasit><p>extra" queryCommandIndeterm("stylewithcss") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<quasit align=center><p>[foo]</p></quasit><p>extra" queryCommandState("stylewithcss") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<quasit align=center><p>[foo]</p></quasit><p>extra" queryCommandValue("stylewithcss") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<quasit align=center><p>[foo]</p></quasit><p>extra" queryCommandIndeterm("stylewithcss") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<quasit align=center><p>[foo]</p></quasit><p>extra" queryCommandState("stylewithcss") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<quasit align=center><p>[foo]</p></quasit><p>extra" queryCommandValue("stylewithcss") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<quasit align=center><p>[foo]</p></quasit><p>extra" queryCommandIndeterm("defaultparagraphseparator") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<quasit align=center><p>[foo]</p></quasit><p>extra" queryCommandState("defaultparagraphseparator") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<quasit align=center><p>[foo]</p></quasit><p>extra" queryCommandValue("defaultparagraphseparator") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<quasit align=center><p>[foo]</p></quasit><p>extra" queryCommandIndeterm("defaultparagraphseparator") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<quasit align=center><p>[foo]</p></quasit><p>extra" queryCommandState("defaultparagraphseparator") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<quasit align=center><p>[foo]</p></quasit><p>extra" queryCommandValue("defaultparagraphseparator") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<quasit align=center><p>[foo]</p></quasit><p>extra" queryCommandIndeterm("justifyfull") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<quasit align=center><p>[foo]</p></quasit><p>extra" queryCommandState("justifyfull") before 
+FAIL [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<quasit align=center><p>[foo]</p></quasit><p>extra" queryCommandValue("justifyfull") before assert_equals: Wrong result returned expected "left" but got "false"
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<quasit align=center><p>[foo]</p></quasit><p>extra" queryCommandIndeterm("justifyfull") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<quasit align=center><p>[foo]</p></quasit><p>extra" queryCommandState("justifyfull") after 
+FAIL [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<quasit align=center><p>[foo]</p></quasit><p>extra" queryCommandValue("justifyfull") after assert_equals: Wrong result returned expected "justify" but got "true"
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<quasit align=center><p>[foo]</p></quasit><p>extra": execCommand("stylewithcss", false, "false") return value 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<quasit align=center><p>[foo]</p></quasit><p>extra": execCommand("defaultparagraphseparator", false, "p") return value 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<quasit align=center><p>[foo]</p></quasit><p>extra": execCommand("justifyfull", false, "") return value 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<quasit align=center><p>[foo]</p></quasit><p>extra" checks for modifications to non-editable content 
+FAIL [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<quasit align=center><p>[foo]</p></quasit><p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<div style=\"text-align:justify\"><quasit><p>foo</p></quasit></div><p>extra</p>" but got "<quasit align=\"center\"><p style=\"text-align:justify\">foo</p></quasit><p>extra</p>"
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<quasit align=center><p>[foo]</p></quasit><p>extra" queryCommandIndeterm("stylewithcss") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<quasit align=center><p>[foo]</p></quasit><p>extra" queryCommandState("stylewithcss") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<quasit align=center><p>[foo]</p></quasit><p>extra" queryCommandValue("stylewithcss") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<quasit align=center><p>[foo]</p></quasit><p>extra" queryCommandIndeterm("stylewithcss") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<quasit align=center><p>[foo]</p></quasit><p>extra" queryCommandState("stylewithcss") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<quasit align=center><p>[foo]</p></quasit><p>extra" queryCommandValue("stylewithcss") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<quasit align=center><p>[foo]</p></quasit><p>extra" queryCommandIndeterm("defaultparagraphseparator") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<quasit align=center><p>[foo]</p></quasit><p>extra" queryCommandState("defaultparagraphseparator") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<quasit align=center><p>[foo]</p></quasit><p>extra" queryCommandValue("defaultparagraphseparator") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<quasit align=center><p>[foo]</p></quasit><p>extra" queryCommandIndeterm("defaultparagraphseparator") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<quasit align=center><p>[foo]</p></quasit><p>extra" queryCommandState("defaultparagraphseparator") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<quasit align=center><p>[foo]</p></quasit><p>extra" queryCommandValue("defaultparagraphseparator") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<quasit align=center><p>[foo]</p></quasit><p>extra" queryCommandIndeterm("justifyfull") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<quasit align=center><p>[foo]</p></quasit><p>extra" queryCommandState("justifyfull") before 
+FAIL [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<quasit align=center><p>[foo]</p></quasit><p>extra" queryCommandValue("justifyfull") before assert_equals: Wrong result returned expected "left" but got "false"
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<quasit align=center><p>[foo]</p></quasit><p>extra" queryCommandIndeterm("justifyfull") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<quasit align=center><p>[foo]</p></quasit><p>extra" queryCommandState("justifyfull") after 
+FAIL [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<quasit align=center><p>[foo]</p></quasit><p>extra" queryCommandValue("justifyfull") after assert_equals: Wrong result returned expected "justify" but got "true"
+PASS [["justifyfull",""]] "<div style=text-align:start>[foo]</div><p>extra": execCommand("justifyfull", false, "") return value 
+PASS [["justifyfull",""]] "<div style=text-align:start>[foo]</div><p>extra" checks for modifications to non-editable content 
+PASS [["justifyfull",""]] "<div style=text-align:start>[foo]</div><p>extra" compare innerHTML 
+PASS [["justifyfull",""]] "<div style=text-align:start>[foo]</div><p>extra" queryCommandIndeterm("justifyfull") before 
+PASS [["justifyfull",""]] "<div style=text-align:start>[foo]</div><p>extra" queryCommandState("justifyfull") before 
+FAIL [["justifyfull",""]] "<div style=text-align:start>[foo]</div><p>extra" queryCommandValue("justifyfull") before assert_equals: Wrong result returned expected "left" but got "false"
+PASS [["justifyfull",""]] "<div style=text-align:start>[foo]</div><p>extra" queryCommandIndeterm("justifyfull") after 
+PASS [["justifyfull",""]] "<div style=text-align:start>[foo]</div><p>extra" queryCommandState("justifyfull") after 
+FAIL [["justifyfull",""]] "<div style=text-align:start>[foo]</div><p>extra" queryCommandValue("justifyfull") after assert_equals: Wrong result returned expected "justify" but got "true"
+PASS [["justifyfull",""]] "<div style=text-align:end>[foo]</div><p>extra": execCommand("justifyfull", false, "") return value 
+PASS [["justifyfull",""]] "<div style=text-align:end>[foo]</div><p>extra" checks for modifications to non-editable content 
+PASS [["justifyfull",""]] "<div style=text-align:end>[foo]</div><p>extra" compare innerHTML 
+PASS [["justifyfull",""]] "<div style=text-align:end>[foo]</div><p>extra" queryCommandIndeterm("justifyfull") before 
+PASS [["justifyfull",""]] "<div style=text-align:end>[foo]</div><p>extra" queryCommandState("justifyfull") before 
+FAIL [["justifyfull",""]] "<div style=text-align:end>[foo]</div><p>extra" queryCommandValue("justifyfull") before assert_equals: Wrong result returned expected "right" but got "false"
+PASS [["justifyfull",""]] "<div style=text-align:end>[foo]</div><p>extra" queryCommandIndeterm("justifyfull") after 
+PASS [["justifyfull",""]] "<div style=text-align:end>[foo]</div><p>extra" queryCommandState("justifyfull") after 
+FAIL [["justifyfull",""]] "<div style=text-align:end>[foo]</div><p>extra" queryCommandValue("justifyfull") after assert_equals: Wrong result returned expected "justify" but got "true"
+PASS [["defaultparagraphseparator","div"],["justifyfull",""]] "<div dir=rtl style=text-align:start>[foo]</div><p>extra": execCommand("defaultparagraphseparator", false, "div") return value 
+PASS [["defaultparagraphseparator","div"],["justifyfull",""]] "<div dir=rtl style=text-align:start>[foo]</div><p>extra": execCommand("justifyfull", false, "") return value 
+PASS [["defaultparagraphseparator","div"],["justifyfull",""]] "<div dir=rtl style=text-align:start>[foo]</div><p>extra" checks for modifications to non-editable content 
+FAIL [["defaultparagraphseparator","div"],["justifyfull",""]] "<div dir=rtl style=text-align:start>[foo]</div><p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<div style=\"text-align:justify\"><div dir=\"rtl\">foo</div></div><p>extra</p>" but got "<div dir=\"rtl\" style=\"text-align:justify\">foo</div><p>extra</p>"
+PASS [["defaultparagraphseparator","div"],["justifyfull",""]] "<div dir=rtl style=text-align:start>[foo]</div><p>extra" queryCommandIndeterm("defaultparagraphseparator") before 
+PASS [["defaultparagraphseparator","div"],["justifyfull",""]] "<div dir=rtl style=text-align:start>[foo]</div><p>extra" queryCommandState("defaultparagraphseparator") before 
+PASS [["defaultparagraphseparator","div"],["justifyfull",""]] "<div dir=rtl style=text-align:start>[foo]</div><p>extra" queryCommandValue("defaultparagraphseparator") before 
+PASS [["defaultparagraphseparator","div"],["justifyfull",""]] "<div dir=rtl style=text-align:start>[foo]</div><p>extra" queryCommandIndeterm("defaultparagraphseparator") after 
+PASS [["defaultparagraphseparator","div"],["justifyfull",""]] "<div dir=rtl style=text-align:start>[foo]</div><p>extra" queryCommandState("defaultparagraphseparator") after 
+PASS [["defaultparagraphseparator","div"],["justifyfull",""]] "<div dir=rtl style=text-align:start>[foo]</div><p>extra" queryCommandValue("defaultparagraphseparator") after 
+PASS [["defaultparagraphseparator","div"],["justifyfull",""]] "<div dir=rtl style=text-align:start>[foo]</div><p>extra" queryCommandIndeterm("justifyfull") before 
+PASS [["defaultparagraphseparator","div"],["justifyfull",""]] "<div dir=rtl style=text-align:start>[foo]</div><p>extra" queryCommandState("justifyfull") before 
+FAIL [["defaultparagraphseparator","div"],["justifyfull",""]] "<div dir=rtl style=text-align:start>[foo]</div><p>extra" queryCommandValue("justifyfull") before assert_equals: Wrong result returned expected "right" but got "false"
+PASS [["defaultparagraphseparator","div"],["justifyfull",""]] "<div dir=rtl style=text-align:start>[foo]</div><p>extra" queryCommandIndeterm("justifyfull") after 
+PASS [["defaultparagraphseparator","div"],["justifyfull",""]] "<div dir=rtl style=text-align:start>[foo]</div><p>extra" queryCommandState("justifyfull") after 
+FAIL [["defaultparagraphseparator","div"],["justifyfull",""]] "<div dir=rtl style=text-align:start>[foo]</div><p>extra" queryCommandValue("justifyfull") after assert_equals: Wrong result returned expected "justify" but got "true"
+PASS [["defaultparagraphseparator","p"],["justifyfull",""]] "<div dir=rtl style=text-align:start>[foo]</div><p>extra": execCommand("defaultparagraphseparator", false, "p") return value 
+PASS [["defaultparagraphseparator","p"],["justifyfull",""]] "<div dir=rtl style=text-align:start>[foo]</div><p>extra": execCommand("justifyfull", false, "") return value 
+PASS [["defaultparagraphseparator","p"],["justifyfull",""]] "<div dir=rtl style=text-align:start>[foo]</div><p>extra" checks for modifications to non-editable content 
+FAIL [["defaultparagraphseparator","p"],["justifyfull",""]] "<div dir=rtl style=text-align:start>[foo]</div><p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<div style=\"text-align:justify\"><div dir=\"rtl\">foo</div></div><p>extra</p>" but got "<div dir=\"rtl\" style=\"text-align:justify\">foo</div><p>extra</p>"
+PASS [["defaultparagraphseparator","p"],["justifyfull",""]] "<div dir=rtl style=text-align:start>[foo]</div><p>extra" queryCommandIndeterm("defaultparagraphseparator") before 
+PASS [["defaultparagraphseparator","p"],["justifyfull",""]] "<div dir=rtl style=text-align:start>[foo]</div><p>extra" queryCommandState("defaultparagraphseparator") before 
+PASS [["defaultparagraphseparator","p"],["justifyfull",""]] "<div dir=rtl style=text-align:start>[foo]</div><p>extra" queryCommandValue("defaultparagraphseparator") before 
+PASS [["defaultparagraphseparator","p"],["justifyfull",""]] "<div dir=rtl style=text-align:start>[foo]</div><p>extra" queryCommandIndeterm("defaultparagraphseparator") after 
+PASS [["defaultparagraphseparator","p"],["justifyfull",""]] "<div dir=rtl style=text-align:start>[foo]</div><p>extra" queryCommandState("defaultparagraphseparator") after 
+PASS [["defaultparagraphseparator","p"],["justifyfull",""]] "<div dir=rtl style=text-align:start>[foo]</div><p>extra" queryCommandValue("defaultparagraphseparator") after 
+PASS [["defaultparagraphseparator","p"],["justifyfull",""]] "<div dir=rtl style=text-align:start>[foo]</div><p>extra" queryCommandIndeterm("justifyfull") before 
+PASS [["defaultparagraphseparator","p"],["justifyfull",""]] "<div dir=rtl style=text-align:start>[foo]</div><p>extra" queryCommandState("justifyfull") before 
+FAIL [["defaultparagraphseparator","p"],["justifyfull",""]] "<div dir=rtl style=text-align:start>[foo]</div><p>extra" queryCommandValue("justifyfull") before assert_equals: Wrong result returned expected "right" but got "false"
+PASS [["defaultparagraphseparator","p"],["justifyfull",""]] "<div dir=rtl style=text-align:start>[foo]</div><p>extra" queryCommandIndeterm("justifyfull") after 
+PASS [["defaultparagraphseparator","p"],["justifyfull",""]] "<div dir=rtl style=text-align:start>[foo]</div><p>extra" queryCommandState("justifyfull") after 
+FAIL [["defaultparagraphseparator","p"],["justifyfull",""]] "<div dir=rtl style=text-align:start>[foo]</div><p>extra" queryCommandValue("justifyfull") after assert_equals: Wrong result returned expected "justify" but got "true"
+PASS [["defaultparagraphseparator","div"],["justifyfull",""]] "<div dir=rtl style=text-align:end>[foo]</div><p>extra": execCommand("defaultparagraphseparator", false, "div") return value 
+PASS [["defaultparagraphseparator","div"],["justifyfull",""]] "<div dir=rtl style=text-align:end>[foo]</div><p>extra": execCommand("justifyfull", false, "") return value 
+PASS [["defaultparagraphseparator","div"],["justifyfull",""]] "<div dir=rtl style=text-align:end>[foo]</div><p>extra" checks for modifications to non-editable content 
+FAIL [["defaultparagraphseparator","div"],["justifyfull",""]] "<div dir=rtl style=text-align:end>[foo]</div><p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<div style=\"text-align:justify\"><div dir=\"rtl\">foo</div></div><p>extra</p>" but got "<div dir=\"rtl\" style=\"text-align:justify\">foo</div><p>extra</p>"
+PASS [["defaultparagraphseparator","div"],["justifyfull",""]] "<div dir=rtl style=text-align:end>[foo]</div><p>extra" queryCommandIndeterm("defaultparagraphseparator") before 
+PASS [["defaultparagraphseparator","div"],["justifyfull",""]] "<div dir=rtl style=text-align:end>[foo]</div><p>extra" queryCommandState("defaultparagraphseparator") before 
+PASS [["defaultparagraphseparator","div"],["justifyfull",""]] "<div dir=rtl style=text-align:end>[foo]</div><p>extra" queryCommandValue("defaultparagraphseparator") before 
+PASS [["defaultparagraphseparator","div"],["justifyfull",""]] "<div dir=rtl style=text-align:end>[foo]</div><p>extra" queryCommandIndeterm("defaultparagraphseparator") after 
+PASS [["defaultparagraphseparator","div"],["justifyfull",""]] "<div dir=rtl style=text-align:end>[foo]</div><p>extra" queryCommandState("defaultparagraphseparator") after 
+PASS [["defaultparagraphseparator","div"],["justifyfull",""]] "<div dir=rtl style=text-align:end>[foo]</div><p>extra" queryCommandValue("defaultparagraphseparator") after 
+PASS [["defaultparagraphseparator","div"],["justifyfull",""]] "<div dir=rtl style=text-align:end>[foo]</div><p>extra" queryCommandIndeterm("justifyfull") before 
+PASS [["defaultparagraphseparator","div"],["justifyfull",""]] "<div dir=rtl style=text-align:end>[foo]</div><p>extra" queryCommandState("justifyfull") before 
+FAIL [["defaultparagraphseparator","div"],["justifyfull",""]] "<div dir=rtl style=text-align:end>[foo]</div><p>extra" queryCommandValue("justifyfull") before assert_equals: Wrong result returned expected "left" but got "false"
+PASS [["defaultparagraphseparator","div"],["justifyfull",""]] "<div dir=rtl style=text-align:end>[foo]</div><p>extra" queryCommandIndeterm("justifyfull") after 
+PASS [["defaultparagraphseparator","div"],["justifyfull",""]] "<div dir=rtl style=text-align:end>[foo]</div><p>extra" queryCommandState("justifyfull") after 
+FAIL [["defaultparagraphseparator","div"],["justifyfull",""]] "<div dir=rtl style=text-align:end>[foo]</div><p>extra" queryCommandValue("justifyfull") after assert_equals: Wrong result returned expected "justify" but got "true"
+PASS [["defaultparagraphseparator","p"],["justifyfull",""]] "<div dir=rtl style=text-align:end>[foo]</div><p>extra": execCommand("defaultparagraphseparator", false, "p") return value 
+PASS [["defaultparagraphseparator","p"],["justifyfull",""]] "<div dir=rtl style=text-align:end>[foo]</div><p>extra": execCommand("justifyfull", false, "") return value 
+PASS [["defaultparagraphseparator","p"],["justifyfull",""]] "<div dir=rtl style=text-align:end>[foo]</div><p>extra" checks for modifications to non-editable content 
+FAIL [["defaultparagraphseparator","p"],["justifyfull",""]] "<div dir=rtl style=text-align:end>[foo]</div><p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<div style=\"text-align:justify\"><div dir=\"rtl\">foo</div></div><p>extra</p>" but got "<div dir=\"rtl\" style=\"text-align:justify\">foo</div><p>extra</p>"
+PASS [["defaultparagraphseparator","p"],["justifyfull",""]] "<div dir=rtl style=text-align:end>[foo]</div><p>extra" queryCommandIndeterm("defaultparagraphseparator") before 
+PASS [["defaultparagraphseparator","p"],["justifyfull",""]] "<div dir=rtl style=text-align:end>[foo]</div><p>extra" queryCommandState("defaultparagraphseparator") before 
+PASS [["defaultparagraphseparator","p"],["justifyfull",""]] "<div dir=rtl style=text-align:end>[foo]</div><p>extra" queryCommandValue("defaultparagraphseparator") before 
+PASS [["defaultparagraphseparator","p"],["justifyfull",""]] "<div dir=rtl style=text-align:end>[foo]</div><p>extra" queryCommandIndeterm("defaultparagraphseparator") after 
+PASS [["defaultparagraphseparator","p"],["justifyfull",""]] "<div dir=rtl style=text-align:end>[foo]</div><p>extra" queryCommandState("defaultparagraphseparator") after 
+PASS [["defaultparagraphseparator","p"],["justifyfull",""]] "<div dir=rtl style=text-align:end>[foo]</div><p>extra" queryCommandValue("defaultparagraphseparator") after 
+PASS [["defaultparagraphseparator","p"],["justifyfull",""]] "<div dir=rtl style=text-align:end>[foo]</div><p>extra" queryCommandIndeterm("justifyfull") before 
+PASS [["defaultparagraphseparator","p"],["justifyfull",""]] "<div dir=rtl style=text-align:end>[foo]</div><p>extra" queryCommandState("justifyfull") before 
+FAIL [["defaultparagraphseparator","p"],["justifyfull",""]] "<div dir=rtl style=text-align:end>[foo]</div><p>extra" queryCommandValue("justifyfull") before assert_equals: Wrong result returned expected "left" but got "false"
+PASS [["defaultparagraphseparator","p"],["justifyfull",""]] "<div dir=rtl style=text-align:end>[foo]</div><p>extra" queryCommandIndeterm("justifyfull") after 
+PASS [["defaultparagraphseparator","p"],["justifyfull",""]] "<div dir=rtl style=text-align:end>[foo]</div><p>extra" queryCommandState("justifyfull") after 
+FAIL [["defaultparagraphseparator","p"],["justifyfull",""]] "<div dir=rtl style=text-align:end>[foo]</div><p>extra" queryCommandValue("justifyfull") after assert_equals: Wrong result returned expected "justify" but got "true"
+PASS [["justifyfull",""]] "<div style=text-align:justify><p>foo</div> <p>[bar]": execCommand("justifyfull", false, "") return value 
+PASS [["justifyfull",""]] "<div style=text-align:justify><p>foo</div> <p>[bar]" checks for modifications to non-editable content 
+FAIL [["justifyfull",""]] "<div style=text-align:justify><p>foo</div> <p>[bar]" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<div style=\"text-align:justify\"><p>foo</p> <p>bar</p></div>" but got "<div style=\"text-align:justify\"><p>foo</p></div> <p style=\"text-align:justify\">bar</p>"
+PASS [["justifyfull",""]] "<div style=text-align:justify><p>foo</div> <p>[bar]" queryCommandIndeterm("justifyfull") before 
+PASS [["justifyfull",""]] "<div style=text-align:justify><p>foo</div> <p>[bar]" queryCommandState("justifyfull") before 
+FAIL [["justifyfull",""]] "<div style=text-align:justify><p>foo</div> <p>[bar]" queryCommandValue("justifyfull") before assert_equals: Wrong result returned expected "left" but got "false"
+PASS [["justifyfull",""]] "<div style=text-align:justify><p>foo</div> <p>[bar]" queryCommandIndeterm("justifyfull") after 
+PASS [["justifyfull",""]] "<div style=text-align:justify><p>foo</div> <p>[bar]" queryCommandState("justifyfull") after 
+FAIL [["justifyfull",""]] "<div style=text-align:justify><p>foo</div> <p>[bar]" queryCommandValue("justifyfull") after assert_equals: Wrong result returned expected "justify" but got "true"
+PASS [["justifyfull",""]] "<div align=justify><p>foo</div> <p>[bar]": execCommand("justifyfull", false, "") return value 
+PASS [["justifyfull",""]] "<div align=justify><p>foo</div> <p>[bar]" checks for modifications to non-editable content 
+FAIL [["justifyfull",""]] "<div align=justify><p>foo</div> <p>[bar]" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<div align=\"justify\"><p>foo</p> <p>bar</p></div>" but got "<div align=\"justify\"><p>foo</p></div> <p style=\"text-align:justify\">bar</p>"
+PASS [["justifyfull",""]] "<div align=justify><p>foo</div> <p>[bar]" queryCommandIndeterm("justifyfull") before 
+PASS [["justifyfull",""]] "<div align=justify><p>foo</div> <p>[bar]" queryCommandState("justifyfull") before 
+FAIL [["justifyfull",""]] "<div align=justify><p>foo</div> <p>[bar]" queryCommandValue("justifyfull") before assert_equals: Wrong result returned expected "left" but got "false"
+PASS [["justifyfull",""]] "<div align=justify><p>foo</div> <p>[bar]" queryCommandIndeterm("justifyfull") after 
+PASS [["justifyfull",""]] "<div align=justify><p>foo</div> <p>[bar]" queryCommandState("justifyfull") after 
+FAIL [["justifyfull",""]] "<div align=justify><p>foo</div> <p>[bar]" queryCommandValue("justifyfull") after assert_equals: Wrong result returned expected "justify" but got "true"
+PASS [["justifyfull",""]] "<p>[foo]</p> <div style=text-align:justify><p>bar</div>": execCommand("justifyfull", false, "") return value 
+PASS [["justifyfull",""]] "<p>[foo]</p> <div style=text-align:justify><p>bar</div>" checks for modifications to non-editable content 
+FAIL [["justifyfull",""]] "<p>[foo]</p> <div style=text-align:justify><p>bar</div>" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<div style=\"text-align:justify\"><p>foo</p> <p>bar</p></div>" but got "<p style=\"text-align:justify\">foo</p> <div style=\"text-align:justify\"><p>bar</p></div>"
+PASS [["justifyfull",""]] "<p>[foo]</p> <div style=text-align:justify><p>bar</div>" queryCommandIndeterm("justifyfull") before 
+PASS [["justifyfull",""]] "<p>[foo]</p> <div style=text-align:justify><p>bar</div>" queryCommandState("justifyfull") before 
+FAIL [["justifyfull",""]] "<p>[foo]</p> <div style=text-align:justify><p>bar</div>" queryCommandValue("justifyfull") before assert_equals: Wrong result returned expected "left" but got "false"
+PASS [["justifyfull",""]] "<p>[foo]</p> <div style=text-align:justify><p>bar</div>" queryCommandIndeterm("justifyfull") after 
+PASS [["justifyfull",""]] "<p>[foo]</p> <div style=text-align:justify><p>bar</div>" queryCommandState("justifyfull") after 
+FAIL [["justifyfull",""]] "<p>[foo]</p> <div style=text-align:justify><p>bar</div>" queryCommandValue("justifyfull") after assert_equals: Wrong result returned expected "justify" but got "true"
+PASS [["justifyfull",""]] "<p>[foo]</p> <div align=justify><p>bar</div>": execCommand("justifyfull", false, "") return value 
+PASS [["justifyfull",""]] "<p>[foo]</p> <div align=justify><p>bar</div>" checks for modifications to non-editable content 
+FAIL [["justifyfull",""]] "<p>[foo]</p> <div align=justify><p>bar</div>" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<div align=\"justify\"><p>foo</p> <p>bar</p></div>" but got "<p style=\"text-align:justify\">foo</p> <div align=\"justify\"><p>bar</p></div>"
+PASS [["justifyfull",""]] "<p>[foo]</p> <div align=justify><p>bar</div>" queryCommandIndeterm("justifyfull") before 
+PASS [["justifyfull",""]] "<p>[foo]</p> <div align=justify><p>bar</div>" queryCommandState("justifyfull") before 
+FAIL [["justifyfull",""]] "<p>[foo]</p> <div align=justify><p>bar</div>" queryCommandValue("justifyfull") before assert_equals: Wrong result returned expected "left" but got "false"
+PASS [["justifyfull",""]] "<p>[foo]</p> <div align=justify><p>bar</div>" queryCommandIndeterm("justifyfull") after 
+PASS [["justifyfull",""]] "<p>[foo]</p> <div align=justify><p>bar</div>" queryCommandState("justifyfull") after 
+FAIL [["justifyfull",""]] "<p>[foo]</p> <div align=justify><p>bar</div>" queryCommandValue("justifyfull") after assert_equals: Wrong result returned expected "justify" but got "true"
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<div style=text-align:justify><p>foo</div> <p>[bar]</p> <div style=text-align:justify><p>baz</div>": execCommand("stylewithcss", false, "true") return value 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<div style=text-align:justify><p>foo</div> <p>[bar]</p> <div style=text-align:justify><p>baz</div>": execCommand("defaultparagraphseparator", false, "div") return value 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<div style=text-align:justify><p>foo</div> <p>[bar]</p> <div style=text-align:justify><p>baz</div>": execCommand("justifyfull", false, "") return value 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<div style=text-align:justify><p>foo</div> <p>[bar]</p> <div style=text-align:justify><p>baz</div>" checks for modifications to non-editable content 
+FAIL [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<div style=text-align:justify><p>foo</div> <p>[bar]</p> <div style=text-align:justify><p>baz</div>" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<div style=\"text-align:justify\"><p>foo</p> <p>bar</p> <p>baz</p></div>" but got "<div style=\"text-align:justify\"><p>foo</p></div> <p style=\"text-align:justify\">bar</p> <div style=\"text-align:justify\"><p>baz</p></div>"
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<div style=text-align:justify><p>foo</div> <p>[bar]</p> <div style=text-align:justify><p>baz</div>" queryCommandIndeterm("stylewithcss") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<div style=text-align:justify><p>foo</div> <p>[bar]</p> <div style=text-align:justify><p>baz</div>" queryCommandState("stylewithcss") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<div style=text-align:justify><p>foo</div> <p>[bar]</p> <div style=text-align:justify><p>baz</div>" queryCommandValue("stylewithcss") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<div style=text-align:justify><p>foo</div> <p>[bar]</p> <div style=text-align:justify><p>baz</div>" queryCommandIndeterm("stylewithcss") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<div style=text-align:justify><p>foo</div> <p>[bar]</p> <div style=text-align:justify><p>baz</div>" queryCommandState("stylewithcss") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<div style=text-align:justify><p>foo</div> <p>[bar]</p> <div style=text-align:justify><p>baz</div>" queryCommandValue("stylewithcss") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<div style=text-align:justify><p>foo</div> <p>[bar]</p> <div style=text-align:justify><p>baz</div>" queryCommandIndeterm("defaultparagraphseparator") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<div style=text-align:justify><p>foo</div> <p>[bar]</p> <div style=text-align:justify><p>baz</div>" queryCommandState("defaultparagraphseparator") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<div style=text-align:justify><p>foo</div> <p>[bar]</p> <div style=text-align:justify><p>baz</div>" queryCommandValue("defaultparagraphseparator") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<div style=text-align:justify><p>foo</div> <p>[bar]</p> <div style=text-align:justify><p>baz</div>" queryCommandIndeterm("defaultparagraphseparator") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<div style=text-align:justify><p>foo</div> <p>[bar]</p> <div style=text-align:justify><p>baz</div>" queryCommandState("defaultparagraphseparator") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<div style=text-align:justify><p>foo</div> <p>[bar]</p> <div style=text-align:justify><p>baz</div>" queryCommandValue("defaultparagraphseparator") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<div style=text-align:justify><p>foo</div> <p>[bar]</p> <div style=text-align:justify><p>baz</div>" queryCommandIndeterm("justifyfull") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<div style=text-align:justify><p>foo</div> <p>[bar]</p> <div style=text-align:justify><p>baz</div>" queryCommandState("justifyfull") before 
+FAIL [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<div style=text-align:justify><p>foo</div> <p>[bar]</p> <div style=text-align:justify><p>baz</div>" queryCommandValue("justifyfull") before assert_equals: Wrong result returned expected "left" but got "false"
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<div style=text-align:justify><p>foo</div> <p>[bar]</p> <div style=text-align:justify><p>baz</div>" queryCommandIndeterm("justifyfull") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<div style=text-align:justify><p>foo</div> <p>[bar]</p> <div style=text-align:justify><p>baz</div>" queryCommandState("justifyfull") after 
+FAIL [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<div style=text-align:justify><p>foo</div> <p>[bar]</p> <div style=text-align:justify><p>baz</div>" queryCommandValue("justifyfull") after assert_equals: Wrong result returned expected "justify" but got "true"
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<div style=text-align:justify><p>foo</div> <p>[bar]</p> <div style=text-align:justify><p>baz</div>": execCommand("stylewithcss", false, "false") return value 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<div style=text-align:justify><p>foo</div> <p>[bar]</p> <div style=text-align:justify><p>baz</div>": execCommand("defaultparagraphseparator", false, "div") return value 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<div style=text-align:justify><p>foo</div> <p>[bar]</p> <div style=text-align:justify><p>baz</div>": execCommand("justifyfull", false, "") return value 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<div style=text-align:justify><p>foo</div> <p>[bar]</p> <div style=text-align:justify><p>baz</div>" checks for modifications to non-editable content 
+FAIL [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<div style=text-align:justify><p>foo</div> <p>[bar]</p> <div style=text-align:justify><p>baz</div>" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<div style=\"text-align:justify\"><p>foo</p> <p>bar</p> <p>baz</p></div>" but got "<div style=\"text-align:justify\"><p>foo</p></div> <p style=\"text-align:justify\">bar</p> <div style=\"text-align:justify\"><p>baz</p></div>"
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<div style=text-align:justify><p>foo</div> <p>[bar]</p> <div style=text-align:justify><p>baz</div>" queryCommandIndeterm("stylewithcss") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<div style=text-align:justify><p>foo</div> <p>[bar]</p> <div style=text-align:justify><p>baz</div>" queryCommandState("stylewithcss") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<div style=text-align:justify><p>foo</div> <p>[bar]</p> <div style=text-align:justify><p>baz</div>" queryCommandValue("stylewithcss") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<div style=text-align:justify><p>foo</div> <p>[bar]</p> <div style=text-align:justify><p>baz</div>" queryCommandIndeterm("stylewithcss") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<div style=text-align:justify><p>foo</div> <p>[bar]</p> <div style=text-align:justify><p>baz</div>" queryCommandState("stylewithcss") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<div style=text-align:justify><p>foo</div> <p>[bar]</p> <div style=text-align:justify><p>baz</div>" queryCommandValue("stylewithcss") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<div style=text-align:justify><p>foo</div> <p>[bar]</p> <div style=text-align:justify><p>baz</div>" queryCommandIndeterm("defaultparagraphseparator") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<div style=text-align:justify><p>foo</div> <p>[bar]</p> <div style=text-align:justify><p>baz</div>" queryCommandState("defaultparagraphseparator") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<div style=text-align:justify><p>foo</div> <p>[bar]</p> <div style=text-align:justify><p>baz</div>" queryCommandValue("defaultparagraphseparator") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<div style=text-align:justify><p>foo</div> <p>[bar]</p> <div style=text-align:justify><p>baz</div>" queryCommandIndeterm("defaultparagraphseparator") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<div style=text-align:justify><p>foo</div> <p>[bar]</p> <div style=text-align:justify><p>baz</div>" queryCommandState("defaultparagraphseparator") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<div style=text-align:justify><p>foo</div> <p>[bar]</p> <div style=text-align:justify><p>baz</div>" queryCommandValue("defaultparagraphseparator") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<div style=text-align:justify><p>foo</div> <p>[bar]</p> <div style=text-align:justify><p>baz</div>" queryCommandIndeterm("justifyfull") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<div style=text-align:justify><p>foo</div> <p>[bar]</p> <div style=text-align:justify><p>baz</div>" queryCommandState("justifyfull") before 
+FAIL [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<div style=text-align:justify><p>foo</div> <p>[bar]</p> <div style=text-align:justify><p>baz</div>" queryCommandValue("justifyfull") before assert_equals: Wrong result returned expected "left" but got "false"
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<div style=text-align:justify><p>foo</div> <p>[bar]</p> <div style=text-align:justify><p>baz</div>" queryCommandIndeterm("justifyfull") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<div style=text-align:justify><p>foo</div> <p>[bar]</p> <div style=text-align:justify><p>baz</div>" queryCommandState("justifyfull") after 
+FAIL [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<div style=text-align:justify><p>foo</div> <p>[bar]</p> <div style=text-align:justify><p>baz</div>" queryCommandValue("justifyfull") after assert_equals: Wrong result returned expected "justify" but got "true"
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<div style=text-align:justify><p>foo</div> <p>[bar]</p> <div style=text-align:justify><p>baz</div>": execCommand("stylewithcss", false, "true") return value 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<div style=text-align:justify><p>foo</div> <p>[bar]</p> <div style=text-align:justify><p>baz</div>": execCommand("defaultparagraphseparator", false, "p") return value 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<div style=text-align:justify><p>foo</div> <p>[bar]</p> <div style=text-align:justify><p>baz</div>": execCommand("justifyfull", false, "") return value 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<div style=text-align:justify><p>foo</div> <p>[bar]</p> <div style=text-align:justify><p>baz</div>" checks for modifications to non-editable content 
+FAIL [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<div style=text-align:justify><p>foo</div> <p>[bar]</p> <div style=text-align:justify><p>baz</div>" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<div style=\"text-align:justify\"><p>foo</p> <p>bar</p> <p>baz</p></div>" but got "<div style=\"text-align:justify\"><p>foo</p></div> <p style=\"text-align:justify\">bar</p> <div style=\"text-align:justify\"><p>baz</p></div>"
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<div style=text-align:justify><p>foo</div> <p>[bar]</p> <div style=text-align:justify><p>baz</div>" queryCommandIndeterm("stylewithcss") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<div style=text-align:justify><p>foo</div> <p>[bar]</p> <div style=text-align:justify><p>baz</div>" queryCommandState("stylewithcss") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<div style=text-align:justify><p>foo</div> <p>[bar]</p> <div style=text-align:justify><p>baz</div>" queryCommandValue("stylewithcss") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<div style=text-align:justify><p>foo</div> <p>[bar]</p> <div style=text-align:justify><p>baz</div>" queryCommandIndeterm("stylewithcss") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<div style=text-align:justify><p>foo</div> <p>[bar]</p> <div style=text-align:justify><p>baz</div>" queryCommandState("stylewithcss") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<div style=text-align:justify><p>foo</div> <p>[bar]</p> <div style=text-align:justify><p>baz</div>" queryCommandValue("stylewithcss") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<div style=text-align:justify><p>foo</div> <p>[bar]</p> <div style=text-align:justify><p>baz</div>" queryCommandIndeterm("defaultparagraphseparator") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<div style=text-align:justify><p>foo</div> <p>[bar]</p> <div style=text-align:justify><p>baz</div>" queryCommandState("defaultparagraphseparator") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<div style=text-align:justify><p>foo</div> <p>[bar]</p> <div style=text-align:justify><p>baz</div>" queryCommandValue("defaultparagraphseparator") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<div style=text-align:justify><p>foo</div> <p>[bar]</p> <div style=text-align:justify><p>baz</div>" queryCommandIndeterm("defaultparagraphseparator") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<div style=text-align:justify><p>foo</div> <p>[bar]</p> <div style=text-align:justify><p>baz</div>" queryCommandState("defaultparagraphseparator") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<div style=text-align:justify><p>foo</div> <p>[bar]</p> <div style=text-align:justify><p>baz</div>" queryCommandValue("defaultparagraphseparator") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<div style=text-align:justify><p>foo</div> <p>[bar]</p> <div style=text-align:justify><p>baz</div>" queryCommandIndeterm("justifyfull") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<div style=text-align:justify><p>foo</div> <p>[bar]</p> <div style=text-align:justify><p>baz</div>" queryCommandState("justifyfull") before 
+FAIL [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<div style=text-align:justify><p>foo</div> <p>[bar]</p> <div style=text-align:justify><p>baz</div>" queryCommandValue("justifyfull") before assert_equals: Wrong result returned expected "left" but got "false"
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<div style=text-align:justify><p>foo</div> <p>[bar]</p> <div style=text-align:justify><p>baz</div>" queryCommandIndeterm("justifyfull") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<div style=text-align:justify><p>foo</div> <p>[bar]</p> <div style=text-align:justify><p>baz</div>" queryCommandState("justifyfull") after 
+FAIL [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<div style=text-align:justify><p>foo</div> <p>[bar]</p> <div style=text-align:justify><p>baz</div>" queryCommandValue("justifyfull") after assert_equals: Wrong result returned expected "justify" but got "true"
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<div style=text-align:justify><p>foo</div> <p>[bar]</p> <div style=text-align:justify><p>baz</div>": execCommand("stylewithcss", false, "false") return value 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<div style=text-align:justify><p>foo</div> <p>[bar]</p> <div style=text-align:justify><p>baz</div>": execCommand("defaultparagraphseparator", false, "p") return value 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<div style=text-align:justify><p>foo</div> <p>[bar]</p> <div style=text-align:justify><p>baz</div>": execCommand("justifyfull", false, "") return value 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<div style=text-align:justify><p>foo</div> <p>[bar]</p> <div style=text-align:justify><p>baz</div>" checks for modifications to non-editable content 
+FAIL [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<div style=text-align:justify><p>foo</div> <p>[bar]</p> <div style=text-align:justify><p>baz</div>" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<div style=\"text-align:justify\"><p>foo</p> <p>bar</p> <p>baz</p></div>" but got "<div style=\"text-align:justify\"><p>foo</p></div> <p style=\"text-align:justify\">bar</p> <div style=\"text-align:justify\"><p>baz</p></div>"
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<div style=text-align:justify><p>foo</div> <p>[bar]</p> <div style=text-align:justify><p>baz</div>" queryCommandIndeterm("stylewithcss") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<div style=text-align:justify><p>foo</div> <p>[bar]</p> <div style=text-align:justify><p>baz</div>" queryCommandState("stylewithcss") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<div style=text-align:justify><p>foo</div> <p>[bar]</p> <div style=text-align:justify><p>baz</div>" queryCommandValue("stylewithcss") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<div style=text-align:justify><p>foo</div> <p>[bar]</p> <div style=text-align:justify><p>baz</div>" queryCommandIndeterm("stylewithcss") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<div style=text-align:justify><p>foo</div> <p>[bar]</p> <div style=text-align:justify><p>baz</div>" queryCommandState("stylewithcss") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<div style=text-align:justify><p>foo</div> <p>[bar]</p> <div style=text-align:justify><p>baz</div>" queryCommandValue("stylewithcss") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<div style=text-align:justify><p>foo</div> <p>[bar]</p> <div style=text-align:justify><p>baz</div>" queryCommandIndeterm("defaultparagraphseparator") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<div style=text-align:justify><p>foo</div> <p>[bar]</p> <div style=text-align:justify><p>baz</div>" queryCommandState("defaultparagraphseparator") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<div style=text-align:justify><p>foo</div> <p>[bar]</p> <div style=text-align:justify><p>baz</div>" queryCommandValue("defaultparagraphseparator") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<div style=text-align:justify><p>foo</div> <p>[bar]</p> <div style=text-align:justify><p>baz</div>" queryCommandIndeterm("defaultparagraphseparator") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<div style=text-align:justify><p>foo</div> <p>[bar]</p> <div style=text-align:justify><p>baz</div>" queryCommandState("defaultparagraphseparator") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<div style=text-align:justify><p>foo</div> <p>[bar]</p> <div style=text-align:justify><p>baz</div>" queryCommandValue("defaultparagraphseparator") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<div style=text-align:justify><p>foo</div> <p>[bar]</p> <div style=text-align:justify><p>baz</div>" queryCommandIndeterm("justifyfull") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<div style=text-align:justify><p>foo</div> <p>[bar]</p> <div style=text-align:justify><p>baz</div>" queryCommandState("justifyfull") before 
+FAIL [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<div style=text-align:justify><p>foo</div> <p>[bar]</p> <div style=text-align:justify><p>baz</div>" queryCommandValue("justifyfull") before assert_equals: Wrong result returned expected "left" but got "false"
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<div style=text-align:justify><p>foo</div> <p>[bar]</p> <div style=text-align:justify><p>baz</div>" queryCommandIndeterm("justifyfull") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<div style=text-align:justify><p>foo</div> <p>[bar]</p> <div style=text-align:justify><p>baz</div>" queryCommandState("justifyfull") after 
+FAIL [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<div style=text-align:justify><p>foo</div> <p>[bar]</p> <div style=text-align:justify><p>baz</div>" queryCommandValue("justifyfull") after assert_equals: Wrong result returned expected "justify" but got "true"
+PASS [["defaultparagraphseparator","div"],["justifyfull",""]] "<div align=justify><p>foo</div> <p>[bar]</p> <div align=justify><p>baz</div>": execCommand("defaultparagraphseparator", false, "div") return value 
+PASS [["defaultparagraphseparator","div"],["justifyfull",""]] "<div align=justify><p>foo</div> <p>[bar]</p> <div align=justify><p>baz</div>": execCommand("justifyfull", false, "") return value 
+PASS [["defaultparagraphseparator","div"],["justifyfull",""]] "<div align=justify><p>foo</div> <p>[bar]</p> <div align=justify><p>baz</div>" checks for modifications to non-editable content 
+FAIL [["defaultparagraphseparator","div"],["justifyfull",""]] "<div align=justify><p>foo</div> <p>[bar]</p> <div align=justify><p>baz</div>" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<div align=\"justify\"><p>foo</p> <p>bar</p> <p>baz</p></div>" but got "<div align=\"justify\"><p>foo</p></div> <p style=\"text-align:justify\">bar</p> <div align=\"justify\"><p>baz</p></div>"
+PASS [["defaultparagraphseparator","div"],["justifyfull",""]] "<div align=justify><p>foo</div> <p>[bar]</p> <div align=justify><p>baz</div>" queryCommandIndeterm("defaultparagraphseparator") before 
+PASS [["defaultparagraphseparator","div"],["justifyfull",""]] "<div align=justify><p>foo</div> <p>[bar]</p> <div align=justify><p>baz</div>" queryCommandState("defaultparagraphseparator") before 
+PASS [["defaultparagraphseparator","div"],["justifyfull",""]] "<div align=justify><p>foo</div> <p>[bar]</p> <div align=justify><p>baz</div>" queryCommandValue("defaultparagraphseparator") before 
+PASS [["defaultparagraphseparator","div"],["justifyfull",""]] "<div align=justify><p>foo</div> <p>[bar]</p> <div align=justify><p>baz</div>" queryCommandIndeterm("defaultparagraphseparator") after 
+PASS [["defaultparagraphseparator","div"],["justifyfull",""]] "<div align=justify><p>foo</div> <p>[bar]</p> <div align=justify><p>baz</div>" queryCommandState("defaultparagraphseparator") after 
+PASS [["defaultparagraphseparator","div"],["justifyfull",""]] "<div align=justify><p>foo</div> <p>[bar]</p> <div align=justify><p>baz</div>" queryCommandValue("defaultparagraphseparator") after 
+PASS [["defaultparagraphseparator","div"],["justifyfull",""]] "<div align=justify><p>foo</div> <p>[bar]</p> <div align=justify><p>baz</div>" queryCommandIndeterm("justifyfull") before 
+PASS [["defaultparagraphseparator","div"],["justifyfull",""]] "<div align=justify><p>foo</div> <p>[bar]</p> <div align=justify><p>baz</div>" queryCommandState("justifyfull") before 
+FAIL [["defaultparagraphseparator","div"],["justifyfull",""]] "<div align=justify><p>foo</div> <p>[bar]</p> <div align=justify><p>baz</div>" queryCommandValue("justifyfull") before assert_equals: Wrong result returned expected "left" but got "false"
+PASS [["defaultparagraphseparator","div"],["justifyfull",""]] "<div align=justify><p>foo</div> <p>[bar]</p> <div align=justify><p>baz</div>" queryCommandIndeterm("justifyfull") after 
+PASS [["defaultparagraphseparator","div"],["justifyfull",""]] "<div align=justify><p>foo</div> <p>[bar]</p> <div align=justify><p>baz</div>" queryCommandState("justifyfull") after 
+FAIL [["defaultparagraphseparator","div"],["justifyfull",""]] "<div align=justify><p>foo</div> <p>[bar]</p> <div align=justify><p>baz</div>" queryCommandValue("justifyfull") after assert_equals: Wrong result returned expected "justify" but got "true"
+PASS [["defaultparagraphseparator","p"],["justifyfull",""]] "<div align=justify><p>foo</div> <p>[bar]</p> <div align=justify><p>baz</div>": execCommand("defaultparagraphseparator", false, "p") return value 
+PASS [["defaultparagraphseparator","p"],["justifyfull",""]] "<div align=justify><p>foo</div> <p>[bar]</p> <div align=justify><p>baz</div>": execCommand("justifyfull", false, "") return value 
+PASS [["defaultparagraphseparator","p"],["justifyfull",""]] "<div align=justify><p>foo</div> <p>[bar]</p> <div align=justify><p>baz</div>" checks for modifications to non-editable content 
+FAIL [["defaultparagraphseparator","p"],["justifyfull",""]] "<div align=justify><p>foo</div> <p>[bar]</p> <div align=justify><p>baz</div>" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<div align=\"justify\"><p>foo</p> <p>bar</p> <p>baz</p></div>" but got "<div align=\"justify\"><p>foo</p></div> <p style=\"text-align:justify\">bar</p> <div align=\"justify\"><p>baz</p></div>"
+PASS [["defaultparagraphseparator","p"],["justifyfull",""]] "<div align=justify><p>foo</div> <p>[bar]</p> <div align=justify><p>baz</div>" queryCommandIndeterm("defaultparagraphseparator") before 
+PASS [["defaultparagraphseparator","p"],["justifyfull",""]] "<div align=justify><p>foo</div> <p>[bar]</p> <div align=justify><p>baz</div>" queryCommandState("defaultparagraphseparator") before 
+PASS [["defaultparagraphseparator","p"],["justifyfull",""]] "<div align=justify><p>foo</div> <p>[bar]</p> <div align=justify><p>baz</div>" queryCommandValue("defaultparagraphseparator") before 
+PASS [["defaultparagraphseparator","p"],["justifyfull",""]] "<div align=justify><p>foo</div> <p>[bar]</p> <div align=justify><p>baz</div>" queryCommandIndeterm("defaultparagraphseparator") after 
+PASS [["defaultparagraphseparator","p"],["justifyfull",""]] "<div align=justify><p>foo</div> <p>[bar]</p> <div align=justify><p>baz</div>" queryCommandState("defaultparagraphseparator") after 
+PASS [["defaultparagraphseparator","p"],["justifyfull",""]] "<div align=justify><p>foo</div> <p>[bar]</p> <div align=justify><p>baz</div>" queryCommandValue("defaultparagraphseparator") after 
+PASS [["defaultparagraphseparator","p"],["justifyfull",""]] "<div align=justify><p>foo</div> <p>[bar]</p> <div align=justify><p>baz</div>" queryCommandIndeterm("justifyfull") before 
+PASS [["defaultparagraphseparator","p"],["justifyfull",""]] "<div align=justify><p>foo</div> <p>[bar]</p> <div align=justify><p>baz</div>" queryCommandState("justifyfull") before 
+FAIL [["defaultparagraphseparator","p"],["justifyfull",""]] "<div align=justify><p>foo</div> <p>[bar]</p> <div align=justify><p>baz</div>" queryCommandValue("justifyfull") before assert_equals: Wrong result returned expected "left" but got "false"
+PASS [["defaultparagraphseparator","p"],["justifyfull",""]] "<div align=justify><p>foo</div> <p>[bar]</p> <div align=justify><p>baz</div>" queryCommandIndeterm("justifyfull") after 
+PASS [["defaultparagraphseparator","p"],["justifyfull",""]] "<div align=justify><p>foo</div> <p>[bar]</p> <div align=justify><p>baz</div>" queryCommandState("justifyfull") after 
+FAIL [["defaultparagraphseparator","p"],["justifyfull",""]] "<div align=justify><p>foo</div> <p>[bar]</p> <div align=justify><p>baz</div>" queryCommandValue("justifyfull") after assert_equals: Wrong result returned expected "justify" but got "true"
+Harness: the test ran to completion.
+
diff --git a/third_party/WebKit/LayoutTests/platform/mac/external/wpt/editing/run/justifyright-expected.txt b/third_party/WebKit/LayoutTests/platform/mac/external/wpt/editing/run/justifyright-expected.txt
new file mode 100644
index 0000000..a90a050c
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/platform/mac/external/wpt/editing/run/justifyright-expected.txt
@@ -0,0 +1,4761 @@
+This is a testharness.js-based test.
+Found 4757 tests; 4039 PASS, 718 FAIL, 0 TIMEOUT, 0 NOTRUN.
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "foo[]bar<p>extra": execCommand("stylewithcss", false, "true") return value 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "foo[]bar<p>extra": execCommand("defaultparagraphseparator", false, "div") return value 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "foo[]bar<p>extra": execCommand("justifyright", false, "") return value 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "foo[]bar<p>extra" checks for modifications to non-editable content 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "foo[]bar<p>extra" compare innerHTML 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "foo[]bar<p>extra" queryCommandIndeterm("stylewithcss") before 
+FAIL [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "foo[]bar<p>extra" queryCommandState("stylewithcss") before assert_equals: Wrong result returned expected false but got true
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "foo[]bar<p>extra" queryCommandValue("stylewithcss") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "foo[]bar<p>extra" queryCommandIndeterm("stylewithcss") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "foo[]bar<p>extra" queryCommandState("stylewithcss") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "foo[]bar<p>extra" queryCommandValue("stylewithcss") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "foo[]bar<p>extra" queryCommandIndeterm("defaultparagraphseparator") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "foo[]bar<p>extra" queryCommandState("defaultparagraphseparator") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "foo[]bar<p>extra" queryCommandValue("defaultparagraphseparator") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "foo[]bar<p>extra" queryCommandIndeterm("defaultparagraphseparator") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "foo[]bar<p>extra" queryCommandState("defaultparagraphseparator") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "foo[]bar<p>extra" queryCommandValue("defaultparagraphseparator") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "foo[]bar<p>extra" queryCommandIndeterm("justifyright") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "foo[]bar<p>extra" queryCommandState("justifyright") before 
+FAIL [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "foo[]bar<p>extra" queryCommandValue("justifyright") before assert_equals: Wrong result returned expected "left" but got "false"
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "foo[]bar<p>extra" queryCommandIndeterm("justifyright") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "foo[]bar<p>extra" queryCommandState("justifyright") after 
+FAIL [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "foo[]bar<p>extra" queryCommandValue("justifyright") after assert_equals: Wrong result returned expected "right" but got "true"
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "foo[]bar<p>extra": execCommand("stylewithcss", false, "false") return value 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "foo[]bar<p>extra": execCommand("defaultparagraphseparator", false, "div") return value 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "foo[]bar<p>extra": execCommand("justifyright", false, "") return value 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "foo[]bar<p>extra" checks for modifications to non-editable content 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "foo[]bar<p>extra" compare innerHTML 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "foo[]bar<p>extra" queryCommandIndeterm("stylewithcss") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "foo[]bar<p>extra" queryCommandState("stylewithcss") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "foo[]bar<p>extra" queryCommandValue("stylewithcss") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "foo[]bar<p>extra" queryCommandIndeterm("stylewithcss") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "foo[]bar<p>extra" queryCommandState("stylewithcss") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "foo[]bar<p>extra" queryCommandValue("stylewithcss") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "foo[]bar<p>extra" queryCommandIndeterm("defaultparagraphseparator") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "foo[]bar<p>extra" queryCommandState("defaultparagraphseparator") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "foo[]bar<p>extra" queryCommandValue("defaultparagraphseparator") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "foo[]bar<p>extra" queryCommandIndeterm("defaultparagraphseparator") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "foo[]bar<p>extra" queryCommandState("defaultparagraphseparator") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "foo[]bar<p>extra" queryCommandValue("defaultparagraphseparator") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "foo[]bar<p>extra" queryCommandIndeterm("justifyright") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "foo[]bar<p>extra" queryCommandState("justifyright") before 
+FAIL [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "foo[]bar<p>extra" queryCommandValue("justifyright") before assert_equals: Wrong result returned expected "left" but got "false"
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "foo[]bar<p>extra" queryCommandIndeterm("justifyright") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "foo[]bar<p>extra" queryCommandState("justifyright") after 
+FAIL [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "foo[]bar<p>extra" queryCommandValue("justifyright") after assert_equals: Wrong result returned expected "right" but got "true"
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "foo[]bar<p>extra": execCommand("stylewithcss", false, "true") return value 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "foo[]bar<p>extra": execCommand("defaultparagraphseparator", false, "p") return value 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "foo[]bar<p>extra": execCommand("justifyright", false, "") return value 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "foo[]bar<p>extra" checks for modifications to non-editable content 
+FAIL [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "foo[]bar<p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<div style=\"text-align:right\">foobar</div><p>extra</p>" but got "<p style=\"text-align:right\">foobar</p><p>extra</p>"
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "foo[]bar<p>extra" queryCommandIndeterm("stylewithcss") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "foo[]bar<p>extra" queryCommandState("stylewithcss") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "foo[]bar<p>extra" queryCommandValue("stylewithcss") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "foo[]bar<p>extra" queryCommandIndeterm("stylewithcss") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "foo[]bar<p>extra" queryCommandState("stylewithcss") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "foo[]bar<p>extra" queryCommandValue("stylewithcss") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "foo[]bar<p>extra" queryCommandIndeterm("defaultparagraphseparator") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "foo[]bar<p>extra" queryCommandState("defaultparagraphseparator") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "foo[]bar<p>extra" queryCommandValue("defaultparagraphseparator") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "foo[]bar<p>extra" queryCommandIndeterm("defaultparagraphseparator") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "foo[]bar<p>extra" queryCommandState("defaultparagraphseparator") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "foo[]bar<p>extra" queryCommandValue("defaultparagraphseparator") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "foo[]bar<p>extra" queryCommandIndeterm("justifyright") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "foo[]bar<p>extra" queryCommandState("justifyright") before 
+FAIL [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "foo[]bar<p>extra" queryCommandValue("justifyright") before assert_equals: Wrong result returned expected "left" but got "false"
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "foo[]bar<p>extra" queryCommandIndeterm("justifyright") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "foo[]bar<p>extra" queryCommandState("justifyright") after 
+FAIL [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "foo[]bar<p>extra" queryCommandValue("justifyright") after assert_equals: Wrong result returned expected "right" but got "true"
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "foo[]bar<p>extra": execCommand("stylewithcss", false, "false") return value 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "foo[]bar<p>extra": execCommand("defaultparagraphseparator", false, "p") return value 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "foo[]bar<p>extra": execCommand("justifyright", false, "") return value 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "foo[]bar<p>extra" checks for modifications to non-editable content 
+FAIL [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "foo[]bar<p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<div style=\"text-align:right\">foobar</div><p>extra</p>" but got "<p style=\"text-align:right\">foobar</p><p>extra</p>"
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "foo[]bar<p>extra" queryCommandIndeterm("stylewithcss") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "foo[]bar<p>extra" queryCommandState("stylewithcss") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "foo[]bar<p>extra" queryCommandValue("stylewithcss") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "foo[]bar<p>extra" queryCommandIndeterm("stylewithcss") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "foo[]bar<p>extra" queryCommandState("stylewithcss") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "foo[]bar<p>extra" queryCommandValue("stylewithcss") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "foo[]bar<p>extra" queryCommandIndeterm("defaultparagraphseparator") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "foo[]bar<p>extra" queryCommandState("defaultparagraphseparator") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "foo[]bar<p>extra" queryCommandValue("defaultparagraphseparator") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "foo[]bar<p>extra" queryCommandIndeterm("defaultparagraphseparator") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "foo[]bar<p>extra" queryCommandState("defaultparagraphseparator") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "foo[]bar<p>extra" queryCommandValue("defaultparagraphseparator") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "foo[]bar<p>extra" queryCommandIndeterm("justifyright") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "foo[]bar<p>extra" queryCommandState("justifyright") before 
+FAIL [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "foo[]bar<p>extra" queryCommandValue("justifyright") before assert_equals: Wrong result returned expected "left" but got "false"
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "foo[]bar<p>extra" queryCommandIndeterm("justifyright") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "foo[]bar<p>extra" queryCommandState("justifyright") after 
+FAIL [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "foo[]bar<p>extra" queryCommandValue("justifyright") after assert_equals: Wrong result returned expected "right" but got "true"
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<span>foo</span>{}<span>bar</span><p>extra": execCommand("stylewithcss", false, "true") return value 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<span>foo</span>{}<span>bar</span><p>extra": execCommand("defaultparagraphseparator", false, "div") return value 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<span>foo</span>{}<span>bar</span><p>extra": execCommand("justifyright", false, "") return value 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<span>foo</span>{}<span>bar</span><p>extra" checks for modifications to non-editable content 
+FAIL [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<span>foo</span>{}<span>bar</span><p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<div style=\"text-align:right\"><span>foo</span><span>bar</span></div><p>extra</p>" but got "<div style=\"text-align:right\">foobar</div><p>extra</p>"
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<span>foo</span>{}<span>bar</span><p>extra" queryCommandIndeterm("stylewithcss") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<span>foo</span>{}<span>bar</span><p>extra" queryCommandState("stylewithcss") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<span>foo</span>{}<span>bar</span><p>extra" queryCommandValue("stylewithcss") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<span>foo</span>{}<span>bar</span><p>extra" queryCommandIndeterm("stylewithcss") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<span>foo</span>{}<span>bar</span><p>extra" queryCommandState("stylewithcss") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<span>foo</span>{}<span>bar</span><p>extra" queryCommandValue("stylewithcss") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<span>foo</span>{}<span>bar</span><p>extra" queryCommandIndeterm("defaultparagraphseparator") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<span>foo</span>{}<span>bar</span><p>extra" queryCommandState("defaultparagraphseparator") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<span>foo</span>{}<span>bar</span><p>extra" queryCommandValue("defaultparagraphseparator") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<span>foo</span>{}<span>bar</span><p>extra" queryCommandIndeterm("defaultparagraphseparator") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<span>foo</span>{}<span>bar</span><p>extra" queryCommandState("defaultparagraphseparator") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<span>foo</span>{}<span>bar</span><p>extra" queryCommandValue("defaultparagraphseparator") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<span>foo</span>{}<span>bar</span><p>extra" queryCommandIndeterm("justifyright") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<span>foo</span>{}<span>bar</span><p>extra" queryCommandState("justifyright") before 
+FAIL [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<span>foo</span>{}<span>bar</span><p>extra" queryCommandValue("justifyright") before assert_equals: Wrong result returned expected "left" but got "false"
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<span>foo</span>{}<span>bar</span><p>extra" queryCommandIndeterm("justifyright") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<span>foo</span>{}<span>bar</span><p>extra" queryCommandState("justifyright") after 
+FAIL [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<span>foo</span>{}<span>bar</span><p>extra" queryCommandValue("justifyright") after assert_equals: Wrong result returned expected "right" but got "true"
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<span>foo</span>{}<span>bar</span><p>extra": execCommand("stylewithcss", false, "false") return value 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<span>foo</span>{}<span>bar</span><p>extra": execCommand("defaultparagraphseparator", false, "div") return value 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<span>foo</span>{}<span>bar</span><p>extra": execCommand("justifyright", false, "") return value 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<span>foo</span>{}<span>bar</span><p>extra" checks for modifications to non-editable content 
+FAIL [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<span>foo</span>{}<span>bar</span><p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<div style=\"text-align:right\"><span>foo</span><span>bar</span></div><p>extra</p>" but got "<div style=\"text-align:right\">foobar</div><p>extra</p>"
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<span>foo</span>{}<span>bar</span><p>extra" queryCommandIndeterm("stylewithcss") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<span>foo</span>{}<span>bar</span><p>extra" queryCommandState("stylewithcss") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<span>foo</span>{}<span>bar</span><p>extra" queryCommandValue("stylewithcss") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<span>foo</span>{}<span>bar</span><p>extra" queryCommandIndeterm("stylewithcss") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<span>foo</span>{}<span>bar</span><p>extra" queryCommandState("stylewithcss") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<span>foo</span>{}<span>bar</span><p>extra" queryCommandValue("stylewithcss") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<span>foo</span>{}<span>bar</span><p>extra" queryCommandIndeterm("defaultparagraphseparator") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<span>foo</span>{}<span>bar</span><p>extra" queryCommandState("defaultparagraphseparator") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<span>foo</span>{}<span>bar</span><p>extra" queryCommandValue("defaultparagraphseparator") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<span>foo</span>{}<span>bar</span><p>extra" queryCommandIndeterm("defaultparagraphseparator") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<span>foo</span>{}<span>bar</span><p>extra" queryCommandState("defaultparagraphseparator") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<span>foo</span>{}<span>bar</span><p>extra" queryCommandValue("defaultparagraphseparator") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<span>foo</span>{}<span>bar</span><p>extra" queryCommandIndeterm("justifyright") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<span>foo</span>{}<span>bar</span><p>extra" queryCommandState("justifyright") before 
+FAIL [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<span>foo</span>{}<span>bar</span><p>extra" queryCommandValue("justifyright") before assert_equals: Wrong result returned expected "left" but got "false"
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<span>foo</span>{}<span>bar</span><p>extra" queryCommandIndeterm("justifyright") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<span>foo</span>{}<span>bar</span><p>extra" queryCommandState("justifyright") after 
+FAIL [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<span>foo</span>{}<span>bar</span><p>extra" queryCommandValue("justifyright") after assert_equals: Wrong result returned expected "right" but got "true"
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<span>foo</span>{}<span>bar</span><p>extra": execCommand("stylewithcss", false, "true") return value 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<span>foo</span>{}<span>bar</span><p>extra": execCommand("defaultparagraphseparator", false, "p") return value 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<span>foo</span>{}<span>bar</span><p>extra": execCommand("justifyright", false, "") return value 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<span>foo</span>{}<span>bar</span><p>extra" checks for modifications to non-editable content 
+FAIL [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<span>foo</span>{}<span>bar</span><p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<div style=\"text-align:right\"><span>foo</span><span>bar</span></div><p>extra</p>" but got "<p style=\"text-align:right\">foobar</p><p>extra</p>"
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<span>foo</span>{}<span>bar</span><p>extra" queryCommandIndeterm("stylewithcss") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<span>foo</span>{}<span>bar</span><p>extra" queryCommandState("stylewithcss") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<span>foo</span>{}<span>bar</span><p>extra" queryCommandValue("stylewithcss") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<span>foo</span>{}<span>bar</span><p>extra" queryCommandIndeterm("stylewithcss") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<span>foo</span>{}<span>bar</span><p>extra" queryCommandState("stylewithcss") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<span>foo</span>{}<span>bar</span><p>extra" queryCommandValue("stylewithcss") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<span>foo</span>{}<span>bar</span><p>extra" queryCommandIndeterm("defaultparagraphseparator") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<span>foo</span>{}<span>bar</span><p>extra" queryCommandState("defaultparagraphseparator") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<span>foo</span>{}<span>bar</span><p>extra" queryCommandValue("defaultparagraphseparator") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<span>foo</span>{}<span>bar</span><p>extra" queryCommandIndeterm("defaultparagraphseparator") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<span>foo</span>{}<span>bar</span><p>extra" queryCommandState("defaultparagraphseparator") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<span>foo</span>{}<span>bar</span><p>extra" queryCommandValue("defaultparagraphseparator") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<span>foo</span>{}<span>bar</span><p>extra" queryCommandIndeterm("justifyright") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<span>foo</span>{}<span>bar</span><p>extra" queryCommandState("justifyright") before 
+FAIL [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<span>foo</span>{}<span>bar</span><p>extra" queryCommandValue("justifyright") before assert_equals: Wrong result returned expected "left" but got "false"
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<span>foo</span>{}<span>bar</span><p>extra" queryCommandIndeterm("justifyright") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<span>foo</span>{}<span>bar</span><p>extra" queryCommandState("justifyright") after 
+FAIL [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<span>foo</span>{}<span>bar</span><p>extra" queryCommandValue("justifyright") after assert_equals: Wrong result returned expected "right" but got "true"
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<span>foo</span>{}<span>bar</span><p>extra": execCommand("stylewithcss", false, "false") return value 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<span>foo</span>{}<span>bar</span><p>extra": execCommand("defaultparagraphseparator", false, "p") return value 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<span>foo</span>{}<span>bar</span><p>extra": execCommand("justifyright", false, "") return value 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<span>foo</span>{}<span>bar</span><p>extra" checks for modifications to non-editable content 
+FAIL [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<span>foo</span>{}<span>bar</span><p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<div style=\"text-align:right\"><span>foo</span><span>bar</span></div><p>extra</p>" but got "<p style=\"text-align:right\">foobar</p><p>extra</p>"
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<span>foo</span>{}<span>bar</span><p>extra" queryCommandIndeterm("stylewithcss") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<span>foo</span>{}<span>bar</span><p>extra" queryCommandState("stylewithcss") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<span>foo</span>{}<span>bar</span><p>extra" queryCommandValue("stylewithcss") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<span>foo</span>{}<span>bar</span><p>extra" queryCommandIndeterm("stylewithcss") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<span>foo</span>{}<span>bar</span><p>extra" queryCommandState("stylewithcss") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<span>foo</span>{}<span>bar</span><p>extra" queryCommandValue("stylewithcss") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<span>foo</span>{}<span>bar</span><p>extra" queryCommandIndeterm("defaultparagraphseparator") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<span>foo</span>{}<span>bar</span><p>extra" queryCommandState("defaultparagraphseparator") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<span>foo</span>{}<span>bar</span><p>extra" queryCommandValue("defaultparagraphseparator") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<span>foo</span>{}<span>bar</span><p>extra" queryCommandIndeterm("defaultparagraphseparator") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<span>foo</span>{}<span>bar</span><p>extra" queryCommandState("defaultparagraphseparator") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<span>foo</span>{}<span>bar</span><p>extra" queryCommandValue("defaultparagraphseparator") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<span>foo</span>{}<span>bar</span><p>extra" queryCommandIndeterm("justifyright") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<span>foo</span>{}<span>bar</span><p>extra" queryCommandState("justifyright") before 
+FAIL [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<span>foo</span>{}<span>bar</span><p>extra" queryCommandValue("justifyright") before assert_equals: Wrong result returned expected "left" but got "false"
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<span>foo</span>{}<span>bar</span><p>extra" queryCommandIndeterm("justifyright") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<span>foo</span>{}<span>bar</span><p>extra" queryCommandState("justifyright") after 
+FAIL [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<span>foo</span>{}<span>bar</span><p>extra" queryCommandValue("justifyright") after assert_equals: Wrong result returned expected "right" but got "true"
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<span>foo[</span><span>]bar</span><p>extra": execCommand("stylewithcss", false, "true") return value 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<span>foo[</span><span>]bar</span><p>extra": execCommand("defaultparagraphseparator", false, "div") return value 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<span>foo[</span><span>]bar</span><p>extra": execCommand("justifyright", false, "") return value 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<span>foo[</span><span>]bar</span><p>extra" checks for modifications to non-editable content 
+FAIL [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<span>foo[</span><span>]bar</span><p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<div style=\"text-align:right\"><span>foo</span><span>bar</span></div><p>extra</p>" but got "<div style=\"text-align:right\">foobar</div><p>extra</p>"
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<span>foo[</span><span>]bar</span><p>extra" queryCommandIndeterm("stylewithcss") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<span>foo[</span><span>]bar</span><p>extra" queryCommandState("stylewithcss") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<span>foo[</span><span>]bar</span><p>extra" queryCommandValue("stylewithcss") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<span>foo[</span><span>]bar</span><p>extra" queryCommandIndeterm("stylewithcss") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<span>foo[</span><span>]bar</span><p>extra" queryCommandState("stylewithcss") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<span>foo[</span><span>]bar</span><p>extra" queryCommandValue("stylewithcss") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<span>foo[</span><span>]bar</span><p>extra" queryCommandIndeterm("defaultparagraphseparator") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<span>foo[</span><span>]bar</span><p>extra" queryCommandState("defaultparagraphseparator") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<span>foo[</span><span>]bar</span><p>extra" queryCommandValue("defaultparagraphseparator") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<span>foo[</span><span>]bar</span><p>extra" queryCommandIndeterm("defaultparagraphseparator") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<span>foo[</span><span>]bar</span><p>extra" queryCommandState("defaultparagraphseparator") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<span>foo[</span><span>]bar</span><p>extra" queryCommandValue("defaultparagraphseparator") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<span>foo[</span><span>]bar</span><p>extra" queryCommandIndeterm("justifyright") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<span>foo[</span><span>]bar</span><p>extra" queryCommandState("justifyright") before 
+FAIL [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<span>foo[</span><span>]bar</span><p>extra" queryCommandValue("justifyright") before assert_equals: Wrong result returned expected "left" but got "false"
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<span>foo[</span><span>]bar</span><p>extra" queryCommandIndeterm("justifyright") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<span>foo[</span><span>]bar</span><p>extra" queryCommandState("justifyright") after 
+FAIL [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<span>foo[</span><span>]bar</span><p>extra" queryCommandValue("justifyright") after assert_equals: Wrong result returned expected "right" but got "true"
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<span>foo[</span><span>]bar</span><p>extra": execCommand("stylewithcss", false, "false") return value 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<span>foo[</span><span>]bar</span><p>extra": execCommand("defaultparagraphseparator", false, "div") return value 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<span>foo[</span><span>]bar</span><p>extra": execCommand("justifyright", false, "") return value 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<span>foo[</span><span>]bar</span><p>extra" checks for modifications to non-editable content 
+FAIL [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<span>foo[</span><span>]bar</span><p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<div style=\"text-align:right\"><span>foo</span><span>bar</span></div><p>extra</p>" but got "<div style=\"text-align:right\">foobar</div><p>extra</p>"
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<span>foo[</span><span>]bar</span><p>extra" queryCommandIndeterm("stylewithcss") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<span>foo[</span><span>]bar</span><p>extra" queryCommandState("stylewithcss") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<span>foo[</span><span>]bar</span><p>extra" queryCommandValue("stylewithcss") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<span>foo[</span><span>]bar</span><p>extra" queryCommandIndeterm("stylewithcss") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<span>foo[</span><span>]bar</span><p>extra" queryCommandState("stylewithcss") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<span>foo[</span><span>]bar</span><p>extra" queryCommandValue("stylewithcss") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<span>foo[</span><span>]bar</span><p>extra" queryCommandIndeterm("defaultparagraphseparator") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<span>foo[</span><span>]bar</span><p>extra" queryCommandState("defaultparagraphseparator") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<span>foo[</span><span>]bar</span><p>extra" queryCommandValue("defaultparagraphseparator") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<span>foo[</span><span>]bar</span><p>extra" queryCommandIndeterm("defaultparagraphseparator") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<span>foo[</span><span>]bar</span><p>extra" queryCommandState("defaultparagraphseparator") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<span>foo[</span><span>]bar</span><p>extra" queryCommandValue("defaultparagraphseparator") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<span>foo[</span><span>]bar</span><p>extra" queryCommandIndeterm("justifyright") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<span>foo[</span><span>]bar</span><p>extra" queryCommandState("justifyright") before 
+FAIL [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<span>foo[</span><span>]bar</span><p>extra" queryCommandValue("justifyright") before assert_equals: Wrong result returned expected "left" but got "false"
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<span>foo[</span><span>]bar</span><p>extra" queryCommandIndeterm("justifyright") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<span>foo[</span><span>]bar</span><p>extra" queryCommandState("justifyright") after 
+FAIL [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<span>foo[</span><span>]bar</span><p>extra" queryCommandValue("justifyright") after assert_equals: Wrong result returned expected "right" but got "true"
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<span>foo[</span><span>]bar</span><p>extra": execCommand("stylewithcss", false, "true") return value 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<span>foo[</span><span>]bar</span><p>extra": execCommand("defaultparagraphseparator", false, "p") return value 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<span>foo[</span><span>]bar</span><p>extra": execCommand("justifyright", false, "") return value 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<span>foo[</span><span>]bar</span><p>extra" checks for modifications to non-editable content 
+FAIL [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<span>foo[</span><span>]bar</span><p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<div style=\"text-align:right\"><span>foo</span><span>bar</span></div><p>extra</p>" but got "<p style=\"text-align:right\">foobar</p><p>extra</p>"
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<span>foo[</span><span>]bar</span><p>extra" queryCommandIndeterm("stylewithcss") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<span>foo[</span><span>]bar</span><p>extra" queryCommandState("stylewithcss") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<span>foo[</span><span>]bar</span><p>extra" queryCommandValue("stylewithcss") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<span>foo[</span><span>]bar</span><p>extra" queryCommandIndeterm("stylewithcss") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<span>foo[</span><span>]bar</span><p>extra" queryCommandState("stylewithcss") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<span>foo[</span><span>]bar</span><p>extra" queryCommandValue("stylewithcss") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<span>foo[</span><span>]bar</span><p>extra" queryCommandIndeterm("defaultparagraphseparator") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<span>foo[</span><span>]bar</span><p>extra" queryCommandState("defaultparagraphseparator") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<span>foo[</span><span>]bar</span><p>extra" queryCommandValue("defaultparagraphseparator") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<span>foo[</span><span>]bar</span><p>extra" queryCommandIndeterm("defaultparagraphseparator") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<span>foo[</span><span>]bar</span><p>extra" queryCommandState("defaultparagraphseparator") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<span>foo[</span><span>]bar</span><p>extra" queryCommandValue("defaultparagraphseparator") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<span>foo[</span><span>]bar</span><p>extra" queryCommandIndeterm("justifyright") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<span>foo[</span><span>]bar</span><p>extra" queryCommandState("justifyright") before 
+FAIL [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<span>foo[</span><span>]bar</span><p>extra" queryCommandValue("justifyright") before assert_equals: Wrong result returned expected "left" but got "false"
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<span>foo[</span><span>]bar</span><p>extra" queryCommandIndeterm("justifyright") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<span>foo[</span><span>]bar</span><p>extra" queryCommandState("justifyright") after 
+FAIL [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<span>foo[</span><span>]bar</span><p>extra" queryCommandValue("justifyright") after assert_equals: Wrong result returned expected "right" but got "true"
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<span>foo[</span><span>]bar</span><p>extra": execCommand("stylewithcss", false, "false") return value 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<span>foo[</span><span>]bar</span><p>extra": execCommand("defaultparagraphseparator", false, "p") return value 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<span>foo[</span><span>]bar</span><p>extra": execCommand("justifyright", false, "") return value 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<span>foo[</span><span>]bar</span><p>extra" checks for modifications to non-editable content 
+FAIL [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<span>foo[</span><span>]bar</span><p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<div style=\"text-align:right\"><span>foo</span><span>bar</span></div><p>extra</p>" but got "<p style=\"text-align:right\">foobar</p><p>extra</p>"
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<span>foo[</span><span>]bar</span><p>extra" queryCommandIndeterm("stylewithcss") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<span>foo[</span><span>]bar</span><p>extra" queryCommandState("stylewithcss") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<span>foo[</span><span>]bar</span><p>extra" queryCommandValue("stylewithcss") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<span>foo[</span><span>]bar</span><p>extra" queryCommandIndeterm("stylewithcss") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<span>foo[</span><span>]bar</span><p>extra" queryCommandState("stylewithcss") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<span>foo[</span><span>]bar</span><p>extra" queryCommandValue("stylewithcss") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<span>foo[</span><span>]bar</span><p>extra" queryCommandIndeterm("defaultparagraphseparator") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<span>foo[</span><span>]bar</span><p>extra" queryCommandState("defaultparagraphseparator") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<span>foo[</span><span>]bar</span><p>extra" queryCommandValue("defaultparagraphseparator") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<span>foo[</span><span>]bar</span><p>extra" queryCommandIndeterm("defaultparagraphseparator") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<span>foo[</span><span>]bar</span><p>extra" queryCommandState("defaultparagraphseparator") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<span>foo[</span><span>]bar</span><p>extra" queryCommandValue("defaultparagraphseparator") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<span>foo[</span><span>]bar</span><p>extra" queryCommandIndeterm("justifyright") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<span>foo[</span><span>]bar</span><p>extra" queryCommandState("justifyright") before 
+FAIL [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<span>foo[</span><span>]bar</span><p>extra" queryCommandValue("justifyright") before assert_equals: Wrong result returned expected "left" but got "false"
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<span>foo[</span><span>]bar</span><p>extra" queryCommandIndeterm("justifyright") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<span>foo[</span><span>]bar</span><p>extra" queryCommandState("justifyright") after 
+FAIL [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<span>foo[</span><span>]bar</span><p>extra" queryCommandValue("justifyright") after assert_equals: Wrong result returned expected "right" but got "true"
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "foo[bar]baz<p>extra": execCommand("stylewithcss", false, "true") return value 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "foo[bar]baz<p>extra": execCommand("defaultparagraphseparator", false, "div") return value 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "foo[bar]baz<p>extra": execCommand("justifyright", false, "") return value 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "foo[bar]baz<p>extra" checks for modifications to non-editable content 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "foo[bar]baz<p>extra" compare innerHTML 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "foo[bar]baz<p>extra" queryCommandIndeterm("stylewithcss") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "foo[bar]baz<p>extra" queryCommandState("stylewithcss") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "foo[bar]baz<p>extra" queryCommandValue("stylewithcss") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "foo[bar]baz<p>extra" queryCommandIndeterm("stylewithcss") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "foo[bar]baz<p>extra" queryCommandState("stylewithcss") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "foo[bar]baz<p>extra" queryCommandValue("stylewithcss") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "foo[bar]baz<p>extra" queryCommandIndeterm("defaultparagraphseparator") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "foo[bar]baz<p>extra" queryCommandState("defaultparagraphseparator") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "foo[bar]baz<p>extra" queryCommandValue("defaultparagraphseparator") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "foo[bar]baz<p>extra" queryCommandIndeterm("defaultparagraphseparator") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "foo[bar]baz<p>extra" queryCommandState("defaultparagraphseparator") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "foo[bar]baz<p>extra" queryCommandValue("defaultparagraphseparator") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "foo[bar]baz<p>extra" queryCommandIndeterm("justifyright") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "foo[bar]baz<p>extra" queryCommandState("justifyright") before 
+FAIL [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "foo[bar]baz<p>extra" queryCommandValue("justifyright") before assert_equals: Wrong result returned expected "left" but got "false"
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "foo[bar]baz<p>extra" queryCommandIndeterm("justifyright") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "foo[bar]baz<p>extra" queryCommandState("justifyright") after 
+FAIL [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "foo[bar]baz<p>extra" queryCommandValue("justifyright") after assert_equals: Wrong result returned expected "right" but got "true"
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "foo[bar]baz<p>extra": execCommand("stylewithcss", false, "false") return value 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "foo[bar]baz<p>extra": execCommand("defaultparagraphseparator", false, "div") return value 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "foo[bar]baz<p>extra": execCommand("justifyright", false, "") return value 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "foo[bar]baz<p>extra" checks for modifications to non-editable content 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "foo[bar]baz<p>extra" compare innerHTML 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "foo[bar]baz<p>extra" queryCommandIndeterm("stylewithcss") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "foo[bar]baz<p>extra" queryCommandState("stylewithcss") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "foo[bar]baz<p>extra" queryCommandValue("stylewithcss") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "foo[bar]baz<p>extra" queryCommandIndeterm("stylewithcss") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "foo[bar]baz<p>extra" queryCommandState("stylewithcss") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "foo[bar]baz<p>extra" queryCommandValue("stylewithcss") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "foo[bar]baz<p>extra" queryCommandIndeterm("defaultparagraphseparator") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "foo[bar]baz<p>extra" queryCommandState("defaultparagraphseparator") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "foo[bar]baz<p>extra" queryCommandValue("defaultparagraphseparator") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "foo[bar]baz<p>extra" queryCommandIndeterm("defaultparagraphseparator") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "foo[bar]baz<p>extra" queryCommandState("defaultparagraphseparator") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "foo[bar]baz<p>extra" queryCommandValue("defaultparagraphseparator") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "foo[bar]baz<p>extra" queryCommandIndeterm("justifyright") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "foo[bar]baz<p>extra" queryCommandState("justifyright") before 
+FAIL [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "foo[bar]baz<p>extra" queryCommandValue("justifyright") before assert_equals: Wrong result returned expected "left" but got "false"
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "foo[bar]baz<p>extra" queryCommandIndeterm("justifyright") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "foo[bar]baz<p>extra" queryCommandState("justifyright") after 
+FAIL [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "foo[bar]baz<p>extra" queryCommandValue("justifyright") after assert_equals: Wrong result returned expected "right" but got "true"
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "foo[bar]baz<p>extra": execCommand("stylewithcss", false, "true") return value 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "foo[bar]baz<p>extra": execCommand("defaultparagraphseparator", false, "p") return value 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "foo[bar]baz<p>extra": execCommand("justifyright", false, "") return value 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "foo[bar]baz<p>extra" checks for modifications to non-editable content 
+FAIL [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "foo[bar]baz<p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<div style=\"text-align:right\">foobarbaz</div><p>extra</p>" but got "<p style=\"text-align:right\">foobarbaz</p><p>extra</p>"
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "foo[bar]baz<p>extra" queryCommandIndeterm("stylewithcss") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "foo[bar]baz<p>extra" queryCommandState("stylewithcss") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "foo[bar]baz<p>extra" queryCommandValue("stylewithcss") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "foo[bar]baz<p>extra" queryCommandIndeterm("stylewithcss") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "foo[bar]baz<p>extra" queryCommandState("stylewithcss") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "foo[bar]baz<p>extra" queryCommandValue("stylewithcss") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "foo[bar]baz<p>extra" queryCommandIndeterm("defaultparagraphseparator") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "foo[bar]baz<p>extra" queryCommandState("defaultparagraphseparator") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "foo[bar]baz<p>extra" queryCommandValue("defaultparagraphseparator") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "foo[bar]baz<p>extra" queryCommandIndeterm("defaultparagraphseparator") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "foo[bar]baz<p>extra" queryCommandState("defaultparagraphseparator") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "foo[bar]baz<p>extra" queryCommandValue("defaultparagraphseparator") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "foo[bar]baz<p>extra" queryCommandIndeterm("justifyright") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "foo[bar]baz<p>extra" queryCommandState("justifyright") before 
+FAIL [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "foo[bar]baz<p>extra" queryCommandValue("justifyright") before assert_equals: Wrong result returned expected "left" but got "false"
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "foo[bar]baz<p>extra" queryCommandIndeterm("justifyright") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "foo[bar]baz<p>extra" queryCommandState("justifyright") after 
+FAIL [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "foo[bar]baz<p>extra" queryCommandValue("justifyright") after assert_equals: Wrong result returned expected "right" but got "true"
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "foo[bar]baz<p>extra": execCommand("stylewithcss", false, "false") return value 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "foo[bar]baz<p>extra": execCommand("defaultparagraphseparator", false, "p") return value 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "foo[bar]baz<p>extra": execCommand("justifyright", false, "") return value 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "foo[bar]baz<p>extra" checks for modifications to non-editable content 
+FAIL [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "foo[bar]baz<p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<div style=\"text-align:right\">foobarbaz</div><p>extra</p>" but got "<p style=\"text-align:right\">foobarbaz</p><p>extra</p>"
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "foo[bar]baz<p>extra" queryCommandIndeterm("stylewithcss") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "foo[bar]baz<p>extra" queryCommandState("stylewithcss") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "foo[bar]baz<p>extra" queryCommandValue("stylewithcss") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "foo[bar]baz<p>extra" queryCommandIndeterm("stylewithcss") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "foo[bar]baz<p>extra" queryCommandState("stylewithcss") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "foo[bar]baz<p>extra" queryCommandValue("stylewithcss") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "foo[bar]baz<p>extra" queryCommandIndeterm("defaultparagraphseparator") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "foo[bar]baz<p>extra" queryCommandState("defaultparagraphseparator") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "foo[bar]baz<p>extra" queryCommandValue("defaultparagraphseparator") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "foo[bar]baz<p>extra" queryCommandIndeterm("defaultparagraphseparator") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "foo[bar]baz<p>extra" queryCommandState("defaultparagraphseparator") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "foo[bar]baz<p>extra" queryCommandValue("defaultparagraphseparator") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "foo[bar]baz<p>extra" queryCommandIndeterm("justifyright") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "foo[bar]baz<p>extra" queryCommandState("justifyright") before 
+FAIL [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "foo[bar]baz<p>extra" queryCommandValue("justifyright") before assert_equals: Wrong result returned expected "left" but got "false"
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "foo[bar]baz<p>extra" queryCommandIndeterm("justifyright") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "foo[bar]baz<p>extra" queryCommandState("justifyright") after 
+FAIL [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "foo[bar]baz<p>extra" queryCommandValue("justifyright") after assert_equals: Wrong result returned expected "right" but got "true"
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "foo[bar<b>baz]qoz</b>quz<p>extra": execCommand("stylewithcss", false, "true") return value 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "foo[bar<b>baz]qoz</b>quz<p>extra": execCommand("defaultparagraphseparator", false, "div") return value 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "foo[bar<b>baz]qoz</b>quz<p>extra": execCommand("justifyright", false, "") return value 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "foo[bar<b>baz]qoz</b>quz<p>extra" checks for modifications to non-editable content 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "foo[bar<b>baz]qoz</b>quz<p>extra" compare innerHTML 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "foo[bar<b>baz]qoz</b>quz<p>extra" queryCommandIndeterm("stylewithcss") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "foo[bar<b>baz]qoz</b>quz<p>extra" queryCommandState("stylewithcss") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "foo[bar<b>baz]qoz</b>quz<p>extra" queryCommandValue("stylewithcss") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "foo[bar<b>baz]qoz</b>quz<p>extra" queryCommandIndeterm("stylewithcss") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "foo[bar<b>baz]qoz</b>quz<p>extra" queryCommandState("stylewithcss") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "foo[bar<b>baz]qoz</b>quz<p>extra" queryCommandValue("stylewithcss") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "foo[bar<b>baz]qoz</b>quz<p>extra" queryCommandIndeterm("defaultparagraphseparator") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "foo[bar<b>baz]qoz</b>quz<p>extra" queryCommandState("defaultparagraphseparator") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "foo[bar<b>baz]qoz</b>quz<p>extra" queryCommandValue("defaultparagraphseparator") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "foo[bar<b>baz]qoz</b>quz<p>extra" queryCommandIndeterm("defaultparagraphseparator") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "foo[bar<b>baz]qoz</b>quz<p>extra" queryCommandState("defaultparagraphseparator") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "foo[bar<b>baz]qoz</b>quz<p>extra" queryCommandValue("defaultparagraphseparator") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "foo[bar<b>baz]qoz</b>quz<p>extra" queryCommandIndeterm("justifyright") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "foo[bar<b>baz]qoz</b>quz<p>extra" queryCommandState("justifyright") before 
+FAIL [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "foo[bar<b>baz]qoz</b>quz<p>extra" queryCommandValue("justifyright") before assert_equals: Wrong result returned expected "left" but got "false"
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "foo[bar<b>baz]qoz</b>quz<p>extra" queryCommandIndeterm("justifyright") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "foo[bar<b>baz]qoz</b>quz<p>extra" queryCommandState("justifyright") after 
+FAIL [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "foo[bar<b>baz]qoz</b>quz<p>extra" queryCommandValue("justifyright") after assert_equals: Wrong result returned expected "right" but got "true"
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "foo[bar<b>baz]qoz</b>quz<p>extra": execCommand("stylewithcss", false, "false") return value 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "foo[bar<b>baz]qoz</b>quz<p>extra": execCommand("defaultparagraphseparator", false, "div") return value 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "foo[bar<b>baz]qoz</b>quz<p>extra": execCommand("justifyright", false, "") return value 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "foo[bar<b>baz]qoz</b>quz<p>extra" checks for modifications to non-editable content 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "foo[bar<b>baz]qoz</b>quz<p>extra" compare innerHTML 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "foo[bar<b>baz]qoz</b>quz<p>extra" queryCommandIndeterm("stylewithcss") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "foo[bar<b>baz]qoz</b>quz<p>extra" queryCommandState("stylewithcss") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "foo[bar<b>baz]qoz</b>quz<p>extra" queryCommandValue("stylewithcss") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "foo[bar<b>baz]qoz</b>quz<p>extra" queryCommandIndeterm("stylewithcss") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "foo[bar<b>baz]qoz</b>quz<p>extra" queryCommandState("stylewithcss") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "foo[bar<b>baz]qoz</b>quz<p>extra" queryCommandValue("stylewithcss") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "foo[bar<b>baz]qoz</b>quz<p>extra" queryCommandIndeterm("defaultparagraphseparator") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "foo[bar<b>baz]qoz</b>quz<p>extra" queryCommandState("defaultparagraphseparator") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "foo[bar<b>baz]qoz</b>quz<p>extra" queryCommandValue("defaultparagraphseparator") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "foo[bar<b>baz]qoz</b>quz<p>extra" queryCommandIndeterm("defaultparagraphseparator") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "foo[bar<b>baz]qoz</b>quz<p>extra" queryCommandState("defaultparagraphseparator") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "foo[bar<b>baz]qoz</b>quz<p>extra" queryCommandValue("defaultparagraphseparator") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "foo[bar<b>baz]qoz</b>quz<p>extra" queryCommandIndeterm("justifyright") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "foo[bar<b>baz]qoz</b>quz<p>extra" queryCommandState("justifyright") before 
+FAIL [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "foo[bar<b>baz]qoz</b>quz<p>extra" queryCommandValue("justifyright") before assert_equals: Wrong result returned expected "left" but got "false"
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "foo[bar<b>baz]qoz</b>quz<p>extra" queryCommandIndeterm("justifyright") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "foo[bar<b>baz]qoz</b>quz<p>extra" queryCommandState("justifyright") after 
+FAIL [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "foo[bar<b>baz]qoz</b>quz<p>extra" queryCommandValue("justifyright") after assert_equals: Wrong result returned expected "right" but got "true"
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "foo[bar<b>baz]qoz</b>quz<p>extra": execCommand("stylewithcss", false, "true") return value 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "foo[bar<b>baz]qoz</b>quz<p>extra": execCommand("defaultparagraphseparator", false, "p") return value 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "foo[bar<b>baz]qoz</b>quz<p>extra": execCommand("justifyright", false, "") return value 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "foo[bar<b>baz]qoz</b>quz<p>extra" checks for modifications to non-editable content 
+FAIL [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "foo[bar<b>baz]qoz</b>quz<p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<div style=\"text-align:right\">foobar<b>bazqoz</b>quz</div><p>extra</p>" but got "<p style=\"text-align:right\">foobar<b>bazqoz</b>quz</p><p>extra</p>"
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "foo[bar<b>baz]qoz</b>quz<p>extra" queryCommandIndeterm("stylewithcss") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "foo[bar<b>baz]qoz</b>quz<p>extra" queryCommandState("stylewithcss") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "foo[bar<b>baz]qoz</b>quz<p>extra" queryCommandValue("stylewithcss") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "foo[bar<b>baz]qoz</b>quz<p>extra" queryCommandIndeterm("stylewithcss") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "foo[bar<b>baz]qoz</b>quz<p>extra" queryCommandState("stylewithcss") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "foo[bar<b>baz]qoz</b>quz<p>extra" queryCommandValue("stylewithcss") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "foo[bar<b>baz]qoz</b>quz<p>extra" queryCommandIndeterm("defaultparagraphseparator") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "foo[bar<b>baz]qoz</b>quz<p>extra" queryCommandState("defaultparagraphseparator") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "foo[bar<b>baz]qoz</b>quz<p>extra" queryCommandValue("defaultparagraphseparator") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "foo[bar<b>baz]qoz</b>quz<p>extra" queryCommandIndeterm("defaultparagraphseparator") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "foo[bar<b>baz]qoz</b>quz<p>extra" queryCommandState("defaultparagraphseparator") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "foo[bar<b>baz]qoz</b>quz<p>extra" queryCommandValue("defaultparagraphseparator") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "foo[bar<b>baz]qoz</b>quz<p>extra" queryCommandIndeterm("justifyright") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "foo[bar<b>baz]qoz</b>quz<p>extra" queryCommandState("justifyright") before 
+FAIL [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "foo[bar<b>baz]qoz</b>quz<p>extra" queryCommandValue("justifyright") before assert_equals: Wrong result returned expected "left" but got "false"
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "foo[bar<b>baz]qoz</b>quz<p>extra" queryCommandIndeterm("justifyright") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "foo[bar<b>baz]qoz</b>quz<p>extra" queryCommandState("justifyright") after 
+FAIL [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "foo[bar<b>baz]qoz</b>quz<p>extra" queryCommandValue("justifyright") after assert_equals: Wrong result returned expected "right" but got "true"
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "foo[bar<b>baz]qoz</b>quz<p>extra": execCommand("stylewithcss", false, "false") return value 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "foo[bar<b>baz]qoz</b>quz<p>extra": execCommand("defaultparagraphseparator", false, "p") return value 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "foo[bar<b>baz]qoz</b>quz<p>extra": execCommand("justifyright", false, "") return value 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "foo[bar<b>baz]qoz</b>quz<p>extra" checks for modifications to non-editable content 
+FAIL [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "foo[bar<b>baz]qoz</b>quz<p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<div style=\"text-align:right\">foobar<b>bazqoz</b>quz</div><p>extra</p>" but got "<p style=\"text-align:right\">foobar<b>bazqoz</b>quz</p><p>extra</p>"
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "foo[bar<b>baz]qoz</b>quz<p>extra" queryCommandIndeterm("stylewithcss") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "foo[bar<b>baz]qoz</b>quz<p>extra" queryCommandState("stylewithcss") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "foo[bar<b>baz]qoz</b>quz<p>extra" queryCommandValue("stylewithcss") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "foo[bar<b>baz]qoz</b>quz<p>extra" queryCommandIndeterm("stylewithcss") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "foo[bar<b>baz]qoz</b>quz<p>extra" queryCommandState("stylewithcss") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "foo[bar<b>baz]qoz</b>quz<p>extra" queryCommandValue("stylewithcss") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "foo[bar<b>baz]qoz</b>quz<p>extra" queryCommandIndeterm("defaultparagraphseparator") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "foo[bar<b>baz]qoz</b>quz<p>extra" queryCommandState("defaultparagraphseparator") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "foo[bar<b>baz]qoz</b>quz<p>extra" queryCommandValue("defaultparagraphseparator") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "foo[bar<b>baz]qoz</b>quz<p>extra" queryCommandIndeterm("defaultparagraphseparator") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "foo[bar<b>baz]qoz</b>quz<p>extra" queryCommandState("defaultparagraphseparator") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "foo[bar<b>baz]qoz</b>quz<p>extra" queryCommandValue("defaultparagraphseparator") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "foo[bar<b>baz]qoz</b>quz<p>extra" queryCommandIndeterm("justifyright") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "foo[bar<b>baz]qoz</b>quz<p>extra" queryCommandState("justifyright") before 
+FAIL [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "foo[bar<b>baz]qoz</b>quz<p>extra" queryCommandValue("justifyright") before assert_equals: Wrong result returned expected "left" but got "false"
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "foo[bar<b>baz]qoz</b>quz<p>extra" queryCommandIndeterm("justifyright") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "foo[bar<b>baz]qoz</b>quz<p>extra" queryCommandState("justifyright") after 
+FAIL [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "foo[bar<b>baz]qoz</b>quz<p>extra" queryCommandValue("justifyright") after assert_equals: Wrong result returned expected "right" but got "true"
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<p>foo[]bar<p>extra": execCommand("stylewithcss", false, "true") return value 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<p>foo[]bar<p>extra": execCommand("defaultparagraphseparator", false, "div") return value 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<p>foo[]bar<p>extra": execCommand("justifyright", false, "") return value 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<p>foo[]bar<p>extra" checks for modifications to non-editable content 
+FAIL [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<p>foo[]bar<p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<div style=\"text-align:right\"><p>foobar</p></div><p>extra</p>" but got "<p style=\"text-align:right\">foobar</p><p>extra</p>"
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<p>foo[]bar<p>extra" queryCommandIndeterm("stylewithcss") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<p>foo[]bar<p>extra" queryCommandState("stylewithcss") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<p>foo[]bar<p>extra" queryCommandValue("stylewithcss") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<p>foo[]bar<p>extra" queryCommandIndeterm("stylewithcss") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<p>foo[]bar<p>extra" queryCommandState("stylewithcss") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<p>foo[]bar<p>extra" queryCommandValue("stylewithcss") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<p>foo[]bar<p>extra" queryCommandIndeterm("defaultparagraphseparator") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<p>foo[]bar<p>extra" queryCommandState("defaultparagraphseparator") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<p>foo[]bar<p>extra" queryCommandValue("defaultparagraphseparator") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<p>foo[]bar<p>extra" queryCommandIndeterm("defaultparagraphseparator") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<p>foo[]bar<p>extra" queryCommandState("defaultparagraphseparator") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<p>foo[]bar<p>extra" queryCommandValue("defaultparagraphseparator") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<p>foo[]bar<p>extra" queryCommandIndeterm("justifyright") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<p>foo[]bar<p>extra" queryCommandState("justifyright") before 
+FAIL [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<p>foo[]bar<p>extra" queryCommandValue("justifyright") before assert_equals: Wrong result returned expected "left" but got "false"
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<p>foo[]bar<p>extra" queryCommandIndeterm("justifyright") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<p>foo[]bar<p>extra" queryCommandState("justifyright") after 
+FAIL [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<p>foo[]bar<p>extra" queryCommandValue("justifyright") after assert_equals: Wrong result returned expected "right" but got "true"
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<p>foo[]bar<p>extra": execCommand("stylewithcss", false, "false") return value 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<p>foo[]bar<p>extra": execCommand("defaultparagraphseparator", false, "div") return value 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<p>foo[]bar<p>extra": execCommand("justifyright", false, "") return value 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<p>foo[]bar<p>extra" checks for modifications to non-editable content 
+FAIL [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<p>foo[]bar<p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<div style=\"text-align:right\"><p>foobar</p></div><p>extra</p>" but got "<p style=\"text-align:right\">foobar</p><p>extra</p>"
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<p>foo[]bar<p>extra" queryCommandIndeterm("stylewithcss") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<p>foo[]bar<p>extra" queryCommandState("stylewithcss") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<p>foo[]bar<p>extra" queryCommandValue("stylewithcss") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<p>foo[]bar<p>extra" queryCommandIndeterm("stylewithcss") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<p>foo[]bar<p>extra" queryCommandState("stylewithcss") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<p>foo[]bar<p>extra" queryCommandValue("stylewithcss") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<p>foo[]bar<p>extra" queryCommandIndeterm("defaultparagraphseparator") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<p>foo[]bar<p>extra" queryCommandState("defaultparagraphseparator") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<p>foo[]bar<p>extra" queryCommandValue("defaultparagraphseparator") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<p>foo[]bar<p>extra" queryCommandIndeterm("defaultparagraphseparator") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<p>foo[]bar<p>extra" queryCommandState("defaultparagraphseparator") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<p>foo[]bar<p>extra" queryCommandValue("defaultparagraphseparator") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<p>foo[]bar<p>extra" queryCommandIndeterm("justifyright") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<p>foo[]bar<p>extra" queryCommandState("justifyright") before 
+FAIL [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<p>foo[]bar<p>extra" queryCommandValue("justifyright") before assert_equals: Wrong result returned expected "left" but got "false"
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<p>foo[]bar<p>extra" queryCommandIndeterm("justifyright") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<p>foo[]bar<p>extra" queryCommandState("justifyright") after 
+FAIL [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<p>foo[]bar<p>extra" queryCommandValue("justifyright") after assert_equals: Wrong result returned expected "right" but got "true"
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<p>foo[]bar<p>extra": execCommand("stylewithcss", false, "true") return value 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<p>foo[]bar<p>extra": execCommand("defaultparagraphseparator", false, "p") return value 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<p>foo[]bar<p>extra": execCommand("justifyright", false, "") return value 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<p>foo[]bar<p>extra" checks for modifications to non-editable content 
+FAIL [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<p>foo[]bar<p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<div style=\"text-align:right\"><p>foobar</p></div><p>extra</p>" but got "<p style=\"text-align:right\">foobar</p><p>extra</p>"
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<p>foo[]bar<p>extra" queryCommandIndeterm("stylewithcss") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<p>foo[]bar<p>extra" queryCommandState("stylewithcss") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<p>foo[]bar<p>extra" queryCommandValue("stylewithcss") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<p>foo[]bar<p>extra" queryCommandIndeterm("stylewithcss") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<p>foo[]bar<p>extra" queryCommandState("stylewithcss") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<p>foo[]bar<p>extra" queryCommandValue("stylewithcss") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<p>foo[]bar<p>extra" queryCommandIndeterm("defaultparagraphseparator") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<p>foo[]bar<p>extra" queryCommandState("defaultparagraphseparator") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<p>foo[]bar<p>extra" queryCommandValue("defaultparagraphseparator") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<p>foo[]bar<p>extra" queryCommandIndeterm("defaultparagraphseparator") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<p>foo[]bar<p>extra" queryCommandState("defaultparagraphseparator") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<p>foo[]bar<p>extra" queryCommandValue("defaultparagraphseparator") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<p>foo[]bar<p>extra" queryCommandIndeterm("justifyright") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<p>foo[]bar<p>extra" queryCommandState("justifyright") before 
+FAIL [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<p>foo[]bar<p>extra" queryCommandValue("justifyright") before assert_equals: Wrong result returned expected "left" but got "false"
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<p>foo[]bar<p>extra" queryCommandIndeterm("justifyright") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<p>foo[]bar<p>extra" queryCommandState("justifyright") after 
+FAIL [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<p>foo[]bar<p>extra" queryCommandValue("justifyright") after assert_equals: Wrong result returned expected "right" but got "true"
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<p>foo[]bar<p>extra": execCommand("stylewithcss", false, "false") return value 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<p>foo[]bar<p>extra": execCommand("defaultparagraphseparator", false, "p") return value 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<p>foo[]bar<p>extra": execCommand("justifyright", false, "") return value 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<p>foo[]bar<p>extra" checks for modifications to non-editable content 
+FAIL [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<p>foo[]bar<p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<div style=\"text-align:right\"><p>foobar</p></div><p>extra</p>" but got "<p style=\"text-align:right\">foobar</p><p>extra</p>"
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<p>foo[]bar<p>extra" queryCommandIndeterm("stylewithcss") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<p>foo[]bar<p>extra" queryCommandState("stylewithcss") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<p>foo[]bar<p>extra" queryCommandValue("stylewithcss") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<p>foo[]bar<p>extra" queryCommandIndeterm("stylewithcss") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<p>foo[]bar<p>extra" queryCommandState("stylewithcss") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<p>foo[]bar<p>extra" queryCommandValue("stylewithcss") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<p>foo[]bar<p>extra" queryCommandIndeterm("defaultparagraphseparator") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<p>foo[]bar<p>extra" queryCommandState("defaultparagraphseparator") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<p>foo[]bar<p>extra" queryCommandValue("defaultparagraphseparator") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<p>foo[]bar<p>extra" queryCommandIndeterm("defaultparagraphseparator") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<p>foo[]bar<p>extra" queryCommandState("defaultparagraphseparator") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<p>foo[]bar<p>extra" queryCommandValue("defaultparagraphseparator") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<p>foo[]bar<p>extra" queryCommandIndeterm("justifyright") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<p>foo[]bar<p>extra" queryCommandState("justifyright") before 
+FAIL [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<p>foo[]bar<p>extra" queryCommandValue("justifyright") before assert_equals: Wrong result returned expected "left" but got "false"
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<p>foo[]bar<p>extra" queryCommandIndeterm("justifyright") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<p>foo[]bar<p>extra" queryCommandState("justifyright") after 
+FAIL [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<p>foo[]bar<p>extra" queryCommandValue("justifyright") after assert_equals: Wrong result returned expected "right" but got "true"
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<p>foo[bar]baz<p>extra": execCommand("stylewithcss", false, "true") return value 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<p>foo[bar]baz<p>extra": execCommand("defaultparagraphseparator", false, "div") return value 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<p>foo[bar]baz<p>extra": execCommand("justifyright", false, "") return value 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<p>foo[bar]baz<p>extra" checks for modifications to non-editable content 
+FAIL [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<p>foo[bar]baz<p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<div style=\"text-align:right\"><p>foobarbaz</p></div><p>extra</p>" but got "<p style=\"text-align:right\">foobarbaz</p><p>extra</p>"
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<p>foo[bar]baz<p>extra" queryCommandIndeterm("stylewithcss") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<p>foo[bar]baz<p>extra" queryCommandState("stylewithcss") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<p>foo[bar]baz<p>extra" queryCommandValue("stylewithcss") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<p>foo[bar]baz<p>extra" queryCommandIndeterm("stylewithcss") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<p>foo[bar]baz<p>extra" queryCommandState("stylewithcss") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<p>foo[bar]baz<p>extra" queryCommandValue("stylewithcss") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<p>foo[bar]baz<p>extra" queryCommandIndeterm("defaultparagraphseparator") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<p>foo[bar]baz<p>extra" queryCommandState("defaultparagraphseparator") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<p>foo[bar]baz<p>extra" queryCommandValue("defaultparagraphseparator") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<p>foo[bar]baz<p>extra" queryCommandIndeterm("defaultparagraphseparator") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<p>foo[bar]baz<p>extra" queryCommandState("defaultparagraphseparator") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<p>foo[bar]baz<p>extra" queryCommandValue("defaultparagraphseparator") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<p>foo[bar]baz<p>extra" queryCommandIndeterm("justifyright") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<p>foo[bar]baz<p>extra" queryCommandState("justifyright") before 
+FAIL [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<p>foo[bar]baz<p>extra" queryCommandValue("justifyright") before assert_equals: Wrong result returned expected "left" but got "false"
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<p>foo[bar]baz<p>extra" queryCommandIndeterm("justifyright") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<p>foo[bar]baz<p>extra" queryCommandState("justifyright") after 
+FAIL [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<p>foo[bar]baz<p>extra" queryCommandValue("justifyright") after assert_equals: Wrong result returned expected "right" but got "true"
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<p>foo[bar]baz<p>extra": execCommand("stylewithcss", false, "false") return value 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<p>foo[bar]baz<p>extra": execCommand("defaultparagraphseparator", false, "div") return value 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<p>foo[bar]baz<p>extra": execCommand("justifyright", false, "") return value 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<p>foo[bar]baz<p>extra" checks for modifications to non-editable content 
+FAIL [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<p>foo[bar]baz<p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<div style=\"text-align:right\"><p>foobarbaz</p></div><p>extra</p>" but got "<p style=\"text-align:right\">foobarbaz</p><p>extra</p>"
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<p>foo[bar]baz<p>extra" queryCommandIndeterm("stylewithcss") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<p>foo[bar]baz<p>extra" queryCommandState("stylewithcss") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<p>foo[bar]baz<p>extra" queryCommandValue("stylewithcss") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<p>foo[bar]baz<p>extra" queryCommandIndeterm("stylewithcss") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<p>foo[bar]baz<p>extra" queryCommandState("stylewithcss") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<p>foo[bar]baz<p>extra" queryCommandValue("stylewithcss") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<p>foo[bar]baz<p>extra" queryCommandIndeterm("defaultparagraphseparator") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<p>foo[bar]baz<p>extra" queryCommandState("defaultparagraphseparator") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<p>foo[bar]baz<p>extra" queryCommandValue("defaultparagraphseparator") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<p>foo[bar]baz<p>extra" queryCommandIndeterm("defaultparagraphseparator") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<p>foo[bar]baz<p>extra" queryCommandState("defaultparagraphseparator") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<p>foo[bar]baz<p>extra" queryCommandValue("defaultparagraphseparator") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<p>foo[bar]baz<p>extra" queryCommandIndeterm("justifyright") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<p>foo[bar]baz<p>extra" queryCommandState("justifyright") before 
+FAIL [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<p>foo[bar]baz<p>extra" queryCommandValue("justifyright") before assert_equals: Wrong result returned expected "left" but got "false"
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<p>foo[bar]baz<p>extra" queryCommandIndeterm("justifyright") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<p>foo[bar]baz<p>extra" queryCommandState("justifyright") after 
+FAIL [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<p>foo[bar]baz<p>extra" queryCommandValue("justifyright") after assert_equals: Wrong result returned expected "right" but got "true"
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<p>foo[bar]baz<p>extra": execCommand("stylewithcss", false, "true") return value 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<p>foo[bar]baz<p>extra": execCommand("defaultparagraphseparator", false, "p") return value 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<p>foo[bar]baz<p>extra": execCommand("justifyright", false, "") return value 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<p>foo[bar]baz<p>extra" checks for modifications to non-editable content 
+FAIL [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<p>foo[bar]baz<p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<div style=\"text-align:right\"><p>foobarbaz</p></div><p>extra</p>" but got "<p style=\"text-align:right\">foobarbaz</p><p>extra</p>"
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<p>foo[bar]baz<p>extra" queryCommandIndeterm("stylewithcss") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<p>foo[bar]baz<p>extra" queryCommandState("stylewithcss") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<p>foo[bar]baz<p>extra" queryCommandValue("stylewithcss") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<p>foo[bar]baz<p>extra" queryCommandIndeterm("stylewithcss") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<p>foo[bar]baz<p>extra" queryCommandState("stylewithcss") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<p>foo[bar]baz<p>extra" queryCommandValue("stylewithcss") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<p>foo[bar]baz<p>extra" queryCommandIndeterm("defaultparagraphseparator") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<p>foo[bar]baz<p>extra" queryCommandState("defaultparagraphseparator") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<p>foo[bar]baz<p>extra" queryCommandValue("defaultparagraphseparator") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<p>foo[bar]baz<p>extra" queryCommandIndeterm("defaultparagraphseparator") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<p>foo[bar]baz<p>extra" queryCommandState("defaultparagraphseparator") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<p>foo[bar]baz<p>extra" queryCommandValue("defaultparagraphseparator") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<p>foo[bar]baz<p>extra" queryCommandIndeterm("justifyright") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<p>foo[bar]baz<p>extra" queryCommandState("justifyright") before 
+FAIL [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<p>foo[bar]baz<p>extra" queryCommandValue("justifyright") before assert_equals: Wrong result returned expected "left" but got "false"
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<p>foo[bar]baz<p>extra" queryCommandIndeterm("justifyright") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<p>foo[bar]baz<p>extra" queryCommandState("justifyright") after 
+FAIL [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<p>foo[bar]baz<p>extra" queryCommandValue("justifyright") after assert_equals: Wrong result returned expected "right" but got "true"
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<p>foo[bar]baz<p>extra": execCommand("stylewithcss", false, "false") return value 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<p>foo[bar]baz<p>extra": execCommand("defaultparagraphseparator", false, "p") return value 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<p>foo[bar]baz<p>extra": execCommand("justifyright", false, "") return value 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<p>foo[bar]baz<p>extra" checks for modifications to non-editable content 
+FAIL [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<p>foo[bar]baz<p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<div style=\"text-align:right\"><p>foobarbaz</p></div><p>extra</p>" but got "<p style=\"text-align:right\">foobarbaz</p><p>extra</p>"
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<p>foo[bar]baz<p>extra" queryCommandIndeterm("stylewithcss") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<p>foo[bar]baz<p>extra" queryCommandState("stylewithcss") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<p>foo[bar]baz<p>extra" queryCommandValue("stylewithcss") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<p>foo[bar]baz<p>extra" queryCommandIndeterm("stylewithcss") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<p>foo[bar]baz<p>extra" queryCommandState("stylewithcss") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<p>foo[bar]baz<p>extra" queryCommandValue("stylewithcss") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<p>foo[bar]baz<p>extra" queryCommandIndeterm("defaultparagraphseparator") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<p>foo[bar]baz<p>extra" queryCommandState("defaultparagraphseparator") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<p>foo[bar]baz<p>extra" queryCommandValue("defaultparagraphseparator") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<p>foo[bar]baz<p>extra" queryCommandIndeterm("defaultparagraphseparator") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<p>foo[bar]baz<p>extra" queryCommandState("defaultparagraphseparator") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<p>foo[bar]baz<p>extra" queryCommandValue("defaultparagraphseparator") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<p>foo[bar]baz<p>extra" queryCommandIndeterm("justifyright") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<p>foo[bar]baz<p>extra" queryCommandState("justifyright") before 
+FAIL [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<p>foo[bar]baz<p>extra" queryCommandValue("justifyright") before assert_equals: Wrong result returned expected "left" but got "false"
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<p>foo[bar]baz<p>extra" queryCommandIndeterm("justifyright") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<p>foo[bar]baz<p>extra" queryCommandState("justifyright") after 
+FAIL [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<p>foo[bar]baz<p>extra" queryCommandValue("justifyright") after assert_equals: Wrong result returned expected "right" but got "true"
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<h1>foo[bar]baz</h1><p>extra": execCommand("stylewithcss", false, "true") return value 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<h1>foo[bar]baz</h1><p>extra": execCommand("defaultparagraphseparator", false, "div") return value 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<h1>foo[bar]baz</h1><p>extra": execCommand("justifyright", false, "") return value 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<h1>foo[bar]baz</h1><p>extra" checks for modifications to non-editable content 
+FAIL [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<h1>foo[bar]baz</h1><p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<div style=\"text-align:right\"><h1>foobarbaz</h1></div><p>extra</p>" but got "<h1 style=\"text-align:right\">foobarbaz</h1><p>extra</p>"
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<h1>foo[bar]baz</h1><p>extra" queryCommandIndeterm("stylewithcss") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<h1>foo[bar]baz</h1><p>extra" queryCommandState("stylewithcss") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<h1>foo[bar]baz</h1><p>extra" queryCommandValue("stylewithcss") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<h1>foo[bar]baz</h1><p>extra" queryCommandIndeterm("stylewithcss") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<h1>foo[bar]baz</h1><p>extra" queryCommandState("stylewithcss") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<h1>foo[bar]baz</h1><p>extra" queryCommandValue("stylewithcss") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<h1>foo[bar]baz</h1><p>extra" queryCommandIndeterm("defaultparagraphseparator") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<h1>foo[bar]baz</h1><p>extra" queryCommandState("defaultparagraphseparator") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<h1>foo[bar]baz</h1><p>extra" queryCommandValue("defaultparagraphseparator") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<h1>foo[bar]baz</h1><p>extra" queryCommandIndeterm("defaultparagraphseparator") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<h1>foo[bar]baz</h1><p>extra" queryCommandState("defaultparagraphseparator") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<h1>foo[bar]baz</h1><p>extra" queryCommandValue("defaultparagraphseparator") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<h1>foo[bar]baz</h1><p>extra" queryCommandIndeterm("justifyright") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<h1>foo[bar]baz</h1><p>extra" queryCommandState("justifyright") before 
+FAIL [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<h1>foo[bar]baz</h1><p>extra" queryCommandValue("justifyright") before assert_equals: Wrong result returned expected "left" but got "false"
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<h1>foo[bar]baz</h1><p>extra" queryCommandIndeterm("justifyright") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<h1>foo[bar]baz</h1><p>extra" queryCommandState("justifyright") after 
+FAIL [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<h1>foo[bar]baz</h1><p>extra" queryCommandValue("justifyright") after assert_equals: Wrong result returned expected "right" but got "true"
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<h1>foo[bar]baz</h1><p>extra": execCommand("stylewithcss", false, "false") return value 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<h1>foo[bar]baz</h1><p>extra": execCommand("defaultparagraphseparator", false, "div") return value 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<h1>foo[bar]baz</h1><p>extra": execCommand("justifyright", false, "") return value 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<h1>foo[bar]baz</h1><p>extra" checks for modifications to non-editable content 
+FAIL [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<h1>foo[bar]baz</h1><p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<div style=\"text-align:right\"><h1>foobarbaz</h1></div><p>extra</p>" but got "<h1 style=\"text-align:right\">foobarbaz</h1><p>extra</p>"
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<h1>foo[bar]baz</h1><p>extra" queryCommandIndeterm("stylewithcss") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<h1>foo[bar]baz</h1><p>extra" queryCommandState("stylewithcss") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<h1>foo[bar]baz</h1><p>extra" queryCommandValue("stylewithcss") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<h1>foo[bar]baz</h1><p>extra" queryCommandIndeterm("stylewithcss") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<h1>foo[bar]baz</h1><p>extra" queryCommandState("stylewithcss") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<h1>foo[bar]baz</h1><p>extra" queryCommandValue("stylewithcss") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<h1>foo[bar]baz</h1><p>extra" queryCommandIndeterm("defaultparagraphseparator") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<h1>foo[bar]baz</h1><p>extra" queryCommandState("defaultparagraphseparator") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<h1>foo[bar]baz</h1><p>extra" queryCommandValue("defaultparagraphseparator") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<h1>foo[bar]baz</h1><p>extra" queryCommandIndeterm("defaultparagraphseparator") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<h1>foo[bar]baz</h1><p>extra" queryCommandState("defaultparagraphseparator") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<h1>foo[bar]baz</h1><p>extra" queryCommandValue("defaultparagraphseparator") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<h1>foo[bar]baz</h1><p>extra" queryCommandIndeterm("justifyright") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<h1>foo[bar]baz</h1><p>extra" queryCommandState("justifyright") before 
+FAIL [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<h1>foo[bar]baz</h1><p>extra" queryCommandValue("justifyright") before assert_equals: Wrong result returned expected "left" but got "false"
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<h1>foo[bar]baz</h1><p>extra" queryCommandIndeterm("justifyright") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<h1>foo[bar]baz</h1><p>extra" queryCommandState("justifyright") after 
+FAIL [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<h1>foo[bar]baz</h1><p>extra" queryCommandValue("justifyright") after assert_equals: Wrong result returned expected "right" but got "true"
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<h1>foo[bar]baz</h1><p>extra": execCommand("stylewithcss", false, "true") return value 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<h1>foo[bar]baz</h1><p>extra": execCommand("defaultparagraphseparator", false, "p") return value 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<h1>foo[bar]baz</h1><p>extra": execCommand("justifyright", false, "") return value 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<h1>foo[bar]baz</h1><p>extra" checks for modifications to non-editable content 
+FAIL [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<h1>foo[bar]baz</h1><p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<div style=\"text-align:right\"><h1>foobarbaz</h1></div><p>extra</p>" but got "<h1 style=\"text-align:right\">foobarbaz</h1><p>extra</p>"
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<h1>foo[bar]baz</h1><p>extra" queryCommandIndeterm("stylewithcss") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<h1>foo[bar]baz</h1><p>extra" queryCommandState("stylewithcss") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<h1>foo[bar]baz</h1><p>extra" queryCommandValue("stylewithcss") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<h1>foo[bar]baz</h1><p>extra" queryCommandIndeterm("stylewithcss") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<h1>foo[bar]baz</h1><p>extra" queryCommandState("stylewithcss") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<h1>foo[bar]baz</h1><p>extra" queryCommandValue("stylewithcss") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<h1>foo[bar]baz</h1><p>extra" queryCommandIndeterm("defaultparagraphseparator") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<h1>foo[bar]baz</h1><p>extra" queryCommandState("defaultparagraphseparator") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<h1>foo[bar]baz</h1><p>extra" queryCommandValue("defaultparagraphseparator") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<h1>foo[bar]baz</h1><p>extra" queryCommandIndeterm("defaultparagraphseparator") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<h1>foo[bar]baz</h1><p>extra" queryCommandState("defaultparagraphseparator") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<h1>foo[bar]baz</h1><p>extra" queryCommandValue("defaultparagraphseparator") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<h1>foo[bar]baz</h1><p>extra" queryCommandIndeterm("justifyright") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<h1>foo[bar]baz</h1><p>extra" queryCommandState("justifyright") before 
+FAIL [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<h1>foo[bar]baz</h1><p>extra" queryCommandValue("justifyright") before assert_equals: Wrong result returned expected "left" but got "false"
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<h1>foo[bar]baz</h1><p>extra" queryCommandIndeterm("justifyright") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<h1>foo[bar]baz</h1><p>extra" queryCommandState("justifyright") after 
+FAIL [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<h1>foo[bar]baz</h1><p>extra" queryCommandValue("justifyright") after assert_equals: Wrong result returned expected "right" but got "true"
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<h1>foo[bar]baz</h1><p>extra": execCommand("stylewithcss", false, "false") return value 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<h1>foo[bar]baz</h1><p>extra": execCommand("defaultparagraphseparator", false, "p") return value 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<h1>foo[bar]baz</h1><p>extra": execCommand("justifyright", false, "") return value 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<h1>foo[bar]baz</h1><p>extra" checks for modifications to non-editable content 
+FAIL [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<h1>foo[bar]baz</h1><p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<div style=\"text-align:right\"><h1>foobarbaz</h1></div><p>extra</p>" but got "<h1 style=\"text-align:right\">foobarbaz</h1><p>extra</p>"
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<h1>foo[bar]baz</h1><p>extra" queryCommandIndeterm("stylewithcss") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<h1>foo[bar]baz</h1><p>extra" queryCommandState("stylewithcss") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<h1>foo[bar]baz</h1><p>extra" queryCommandValue("stylewithcss") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<h1>foo[bar]baz</h1><p>extra" queryCommandIndeterm("stylewithcss") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<h1>foo[bar]baz</h1><p>extra" queryCommandState("stylewithcss") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<h1>foo[bar]baz</h1><p>extra" queryCommandValue("stylewithcss") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<h1>foo[bar]baz</h1><p>extra" queryCommandIndeterm("defaultparagraphseparator") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<h1>foo[bar]baz</h1><p>extra" queryCommandState("defaultparagraphseparator") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<h1>foo[bar]baz</h1><p>extra" queryCommandValue("defaultparagraphseparator") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<h1>foo[bar]baz</h1><p>extra" queryCommandIndeterm("defaultparagraphseparator") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<h1>foo[bar]baz</h1><p>extra" queryCommandState("defaultparagraphseparator") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<h1>foo[bar]baz</h1><p>extra" queryCommandValue("defaultparagraphseparator") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<h1>foo[bar]baz</h1><p>extra" queryCommandIndeterm("justifyright") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<h1>foo[bar]baz</h1><p>extra" queryCommandState("justifyright") before 
+FAIL [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<h1>foo[bar]baz</h1><p>extra" queryCommandValue("justifyright") before assert_equals: Wrong result returned expected "left" but got "false"
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<h1>foo[bar]baz</h1><p>extra" queryCommandIndeterm("justifyright") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<h1>foo[bar]baz</h1><p>extra" queryCommandState("justifyright") after 
+FAIL [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<h1>foo[bar]baz</h1><p>extra" queryCommandValue("justifyright") after assert_equals: Wrong result returned expected "right" but got "true"
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<pre>foo[bar]baz</pre><p>extra": execCommand("stylewithcss", false, "true") return value 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<pre>foo[bar]baz</pre><p>extra": execCommand("defaultparagraphseparator", false, "div") return value 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<pre>foo[bar]baz</pre><p>extra": execCommand("justifyright", false, "") return value 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<pre>foo[bar]baz</pre><p>extra" checks for modifications to non-editable content 
+FAIL [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<pre>foo[bar]baz</pre><p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<div style=\"text-align:right\"><pre>foobarbaz</pre></div><p>extra</p>" but got "<pre style=\"text-align:right\">foobarbaz</pre><p>extra</p>"
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<pre>foo[bar]baz</pre><p>extra" queryCommandIndeterm("stylewithcss") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<pre>foo[bar]baz</pre><p>extra" queryCommandState("stylewithcss") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<pre>foo[bar]baz</pre><p>extra" queryCommandValue("stylewithcss") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<pre>foo[bar]baz</pre><p>extra" queryCommandIndeterm("stylewithcss") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<pre>foo[bar]baz</pre><p>extra" queryCommandState("stylewithcss") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<pre>foo[bar]baz</pre><p>extra" queryCommandValue("stylewithcss") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<pre>foo[bar]baz</pre><p>extra" queryCommandIndeterm("defaultparagraphseparator") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<pre>foo[bar]baz</pre><p>extra" queryCommandState("defaultparagraphseparator") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<pre>foo[bar]baz</pre><p>extra" queryCommandValue("defaultparagraphseparator") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<pre>foo[bar]baz</pre><p>extra" queryCommandIndeterm("defaultparagraphseparator") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<pre>foo[bar]baz</pre><p>extra" queryCommandState("defaultparagraphseparator") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<pre>foo[bar]baz</pre><p>extra" queryCommandValue("defaultparagraphseparator") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<pre>foo[bar]baz</pre><p>extra" queryCommandIndeterm("justifyright") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<pre>foo[bar]baz</pre><p>extra" queryCommandState("justifyright") before 
+FAIL [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<pre>foo[bar]baz</pre><p>extra" queryCommandValue("justifyright") before assert_equals: Wrong result returned expected "left" but got "false"
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<pre>foo[bar]baz</pre><p>extra" queryCommandIndeterm("justifyright") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<pre>foo[bar]baz</pre><p>extra" queryCommandState("justifyright") after 
+FAIL [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<pre>foo[bar]baz</pre><p>extra" queryCommandValue("justifyright") after assert_equals: Wrong result returned expected "right" but got "true"
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<pre>foo[bar]baz</pre><p>extra": execCommand("stylewithcss", false, "false") return value 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<pre>foo[bar]baz</pre><p>extra": execCommand("defaultparagraphseparator", false, "div") return value 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<pre>foo[bar]baz</pre><p>extra": execCommand("justifyright", false, "") return value 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<pre>foo[bar]baz</pre><p>extra" checks for modifications to non-editable content 
+FAIL [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<pre>foo[bar]baz</pre><p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<div style=\"text-align:right\"><pre>foobarbaz</pre></div><p>extra</p>" but got "<pre style=\"text-align:right\">foobarbaz</pre><p>extra</p>"
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<pre>foo[bar]baz</pre><p>extra" queryCommandIndeterm("stylewithcss") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<pre>foo[bar]baz</pre><p>extra" queryCommandState("stylewithcss") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<pre>foo[bar]baz</pre><p>extra" queryCommandValue("stylewithcss") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<pre>foo[bar]baz</pre><p>extra" queryCommandIndeterm("stylewithcss") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<pre>foo[bar]baz</pre><p>extra" queryCommandState("stylewithcss") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<pre>foo[bar]baz</pre><p>extra" queryCommandValue("stylewithcss") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<pre>foo[bar]baz</pre><p>extra" queryCommandIndeterm("defaultparagraphseparator") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<pre>foo[bar]baz</pre><p>extra" queryCommandState("defaultparagraphseparator") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<pre>foo[bar]baz</pre><p>extra" queryCommandValue("defaultparagraphseparator") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<pre>foo[bar]baz</pre><p>extra" queryCommandIndeterm("defaultparagraphseparator") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<pre>foo[bar]baz</pre><p>extra" queryCommandState("defaultparagraphseparator") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<pre>foo[bar]baz</pre><p>extra" queryCommandValue("defaultparagraphseparator") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<pre>foo[bar]baz</pre><p>extra" queryCommandIndeterm("justifyright") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<pre>foo[bar]baz</pre><p>extra" queryCommandState("justifyright") before 
+FAIL [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<pre>foo[bar]baz</pre><p>extra" queryCommandValue("justifyright") before assert_equals: Wrong result returned expected "left" but got "false"
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<pre>foo[bar]baz</pre><p>extra" queryCommandIndeterm("justifyright") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<pre>foo[bar]baz</pre><p>extra" queryCommandState("justifyright") after 
+FAIL [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<pre>foo[bar]baz</pre><p>extra" queryCommandValue("justifyright") after assert_equals: Wrong result returned expected "right" but got "true"
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<pre>foo[bar]baz</pre><p>extra": execCommand("stylewithcss", false, "true") return value 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<pre>foo[bar]baz</pre><p>extra": execCommand("defaultparagraphseparator", false, "p") return value 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<pre>foo[bar]baz</pre><p>extra": execCommand("justifyright", false, "") return value 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<pre>foo[bar]baz</pre><p>extra" checks for modifications to non-editable content 
+FAIL [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<pre>foo[bar]baz</pre><p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<div style=\"text-align:right\"><pre>foobarbaz</pre></div><p>extra</p>" but got "<pre style=\"text-align:right\">foobarbaz</pre><p>extra</p>"
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<pre>foo[bar]baz</pre><p>extra" queryCommandIndeterm("stylewithcss") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<pre>foo[bar]baz</pre><p>extra" queryCommandState("stylewithcss") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<pre>foo[bar]baz</pre><p>extra" queryCommandValue("stylewithcss") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<pre>foo[bar]baz</pre><p>extra" queryCommandIndeterm("stylewithcss") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<pre>foo[bar]baz</pre><p>extra" queryCommandState("stylewithcss") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<pre>foo[bar]baz</pre><p>extra" queryCommandValue("stylewithcss") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<pre>foo[bar]baz</pre><p>extra" queryCommandIndeterm("defaultparagraphseparator") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<pre>foo[bar]baz</pre><p>extra" queryCommandState("defaultparagraphseparator") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<pre>foo[bar]baz</pre><p>extra" queryCommandValue("defaultparagraphseparator") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<pre>foo[bar]baz</pre><p>extra" queryCommandIndeterm("defaultparagraphseparator") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<pre>foo[bar]baz</pre><p>extra" queryCommandState("defaultparagraphseparator") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<pre>foo[bar]baz</pre><p>extra" queryCommandValue("defaultparagraphseparator") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<pre>foo[bar]baz</pre><p>extra" queryCommandIndeterm("justifyright") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<pre>foo[bar]baz</pre><p>extra" queryCommandState("justifyright") before 
+FAIL [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<pre>foo[bar]baz</pre><p>extra" queryCommandValue("justifyright") before assert_equals: Wrong result returned expected "left" but got "false"
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<pre>foo[bar]baz</pre><p>extra" queryCommandIndeterm("justifyright") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<pre>foo[bar]baz</pre><p>extra" queryCommandState("justifyright") after 
+FAIL [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<pre>foo[bar]baz</pre><p>extra" queryCommandValue("justifyright") after assert_equals: Wrong result returned expected "right" but got "true"
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<pre>foo[bar]baz</pre><p>extra": execCommand("stylewithcss", false, "false") return value 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<pre>foo[bar]baz</pre><p>extra": execCommand("defaultparagraphseparator", false, "p") return value 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<pre>foo[bar]baz</pre><p>extra": execCommand("justifyright", false, "") return value 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<pre>foo[bar]baz</pre><p>extra" checks for modifications to non-editable content 
+FAIL [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<pre>foo[bar]baz</pre><p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<div style=\"text-align:right\"><pre>foobarbaz</pre></div><p>extra</p>" but got "<pre style=\"text-align:right\">foobarbaz</pre><p>extra</p>"
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<pre>foo[bar]baz</pre><p>extra" queryCommandIndeterm("stylewithcss") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<pre>foo[bar]baz</pre><p>extra" queryCommandState("stylewithcss") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<pre>foo[bar]baz</pre><p>extra" queryCommandValue("stylewithcss") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<pre>foo[bar]baz</pre><p>extra" queryCommandIndeterm("stylewithcss") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<pre>foo[bar]baz</pre><p>extra" queryCommandState("stylewithcss") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<pre>foo[bar]baz</pre><p>extra" queryCommandValue("stylewithcss") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<pre>foo[bar]baz</pre><p>extra" queryCommandIndeterm("defaultparagraphseparator") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<pre>foo[bar]baz</pre><p>extra" queryCommandState("defaultparagraphseparator") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<pre>foo[bar]baz</pre><p>extra" queryCommandValue("defaultparagraphseparator") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<pre>foo[bar]baz</pre><p>extra" queryCommandIndeterm("defaultparagraphseparator") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<pre>foo[bar]baz</pre><p>extra" queryCommandState("defaultparagraphseparator") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<pre>foo[bar]baz</pre><p>extra" queryCommandValue("defaultparagraphseparator") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<pre>foo[bar]baz</pre><p>extra" queryCommandIndeterm("justifyright") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<pre>foo[bar]baz</pre><p>extra" queryCommandState("justifyright") before 
+FAIL [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<pre>foo[bar]baz</pre><p>extra" queryCommandValue("justifyright") before assert_equals: Wrong result returned expected "left" but got "false"
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<pre>foo[bar]baz</pre><p>extra" queryCommandIndeterm("justifyright") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<pre>foo[bar]baz</pre><p>extra" queryCommandState("justifyright") after 
+FAIL [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<pre>foo[bar]baz</pre><p>extra" queryCommandValue("justifyright") after assert_equals: Wrong result returned expected "right" but got "true"
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<xmp>foo[bar]baz</xmp><p>extra": execCommand("stylewithcss", false, "true") return value 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<xmp>foo[bar]baz</xmp><p>extra": execCommand("defaultparagraphseparator", false, "div") return value 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<xmp>foo[bar]baz</xmp><p>extra": execCommand("justifyright", false, "") return value 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<xmp>foo[bar]baz</xmp><p>extra" checks for modifications to non-editable content 
+FAIL [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<xmp>foo[bar]baz</xmp><p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<div style=\"text-align:right\"><xmp>foobarbaz</xmp></div><p>extra</p>" but got "<xmp style=\"text-align:right\">foobarbaz</xmp><p>extra</p>"
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<xmp>foo[bar]baz</xmp><p>extra" queryCommandIndeterm("stylewithcss") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<xmp>foo[bar]baz</xmp><p>extra" queryCommandState("stylewithcss") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<xmp>foo[bar]baz</xmp><p>extra" queryCommandValue("stylewithcss") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<xmp>foo[bar]baz</xmp><p>extra" queryCommandIndeterm("stylewithcss") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<xmp>foo[bar]baz</xmp><p>extra" queryCommandState("stylewithcss") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<xmp>foo[bar]baz</xmp><p>extra" queryCommandValue("stylewithcss") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<xmp>foo[bar]baz</xmp><p>extra" queryCommandIndeterm("defaultparagraphseparator") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<xmp>foo[bar]baz</xmp><p>extra" queryCommandState("defaultparagraphseparator") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<xmp>foo[bar]baz</xmp><p>extra" queryCommandValue("defaultparagraphseparator") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<xmp>foo[bar]baz</xmp><p>extra" queryCommandIndeterm("defaultparagraphseparator") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<xmp>foo[bar]baz</xmp><p>extra" queryCommandState("defaultparagraphseparator") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<xmp>foo[bar]baz</xmp><p>extra" queryCommandValue("defaultparagraphseparator") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<xmp>foo[bar]baz</xmp><p>extra" queryCommandIndeterm("justifyright") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<xmp>foo[bar]baz</xmp><p>extra" queryCommandState("justifyright") before 
+FAIL [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<xmp>foo[bar]baz</xmp><p>extra" queryCommandValue("justifyright") before assert_equals: Wrong result returned expected "left" but got "false"
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<xmp>foo[bar]baz</xmp><p>extra" queryCommandIndeterm("justifyright") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<xmp>foo[bar]baz</xmp><p>extra" queryCommandState("justifyright") after 
+FAIL [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<xmp>foo[bar]baz</xmp><p>extra" queryCommandValue("justifyright") after assert_equals: Wrong result returned expected "right" but got "true"
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<xmp>foo[bar]baz</xmp><p>extra": execCommand("stylewithcss", false, "false") return value 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<xmp>foo[bar]baz</xmp><p>extra": execCommand("defaultparagraphseparator", false, "div") return value 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<xmp>foo[bar]baz</xmp><p>extra": execCommand("justifyright", false, "") return value 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<xmp>foo[bar]baz</xmp><p>extra" checks for modifications to non-editable content 
+FAIL [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<xmp>foo[bar]baz</xmp><p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<div style=\"text-align:right\"><xmp>foobarbaz</xmp></div><p>extra</p>" but got "<xmp style=\"text-align:right\">foobarbaz</xmp><p>extra</p>"
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<xmp>foo[bar]baz</xmp><p>extra" queryCommandIndeterm("stylewithcss") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<xmp>foo[bar]baz</xmp><p>extra" queryCommandState("stylewithcss") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<xmp>foo[bar]baz</xmp><p>extra" queryCommandValue("stylewithcss") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<xmp>foo[bar]baz</xmp><p>extra" queryCommandIndeterm("stylewithcss") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<xmp>foo[bar]baz</xmp><p>extra" queryCommandState("stylewithcss") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<xmp>foo[bar]baz</xmp><p>extra" queryCommandValue("stylewithcss") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<xmp>foo[bar]baz</xmp><p>extra" queryCommandIndeterm("defaultparagraphseparator") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<xmp>foo[bar]baz</xmp><p>extra" queryCommandState("defaultparagraphseparator") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<xmp>foo[bar]baz</xmp><p>extra" queryCommandValue("defaultparagraphseparator") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<xmp>foo[bar]baz</xmp><p>extra" queryCommandIndeterm("defaultparagraphseparator") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<xmp>foo[bar]baz</xmp><p>extra" queryCommandState("defaultparagraphseparator") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<xmp>foo[bar]baz</xmp><p>extra" queryCommandValue("defaultparagraphseparator") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<xmp>foo[bar]baz</xmp><p>extra" queryCommandIndeterm("justifyright") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<xmp>foo[bar]baz</xmp><p>extra" queryCommandState("justifyright") before 
+FAIL [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<xmp>foo[bar]baz</xmp><p>extra" queryCommandValue("justifyright") before assert_equals: Wrong result returned expected "left" but got "false"
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<xmp>foo[bar]baz</xmp><p>extra" queryCommandIndeterm("justifyright") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<xmp>foo[bar]baz</xmp><p>extra" queryCommandState("justifyright") after 
+FAIL [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<xmp>foo[bar]baz</xmp><p>extra" queryCommandValue("justifyright") after assert_equals: Wrong result returned expected "right" but got "true"
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<xmp>foo[bar]baz</xmp><p>extra": execCommand("stylewithcss", false, "true") return value 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<xmp>foo[bar]baz</xmp><p>extra": execCommand("defaultparagraphseparator", false, "p") return value 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<xmp>foo[bar]baz</xmp><p>extra": execCommand("justifyright", false, "") return value 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<xmp>foo[bar]baz</xmp><p>extra" checks for modifications to non-editable content 
+FAIL [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<xmp>foo[bar]baz</xmp><p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<div style=\"text-align:right\"><xmp>foobarbaz</xmp></div><p>extra</p>" but got "<xmp style=\"text-align:right\">foobarbaz</xmp><p>extra</p>"
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<xmp>foo[bar]baz</xmp><p>extra" queryCommandIndeterm("stylewithcss") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<xmp>foo[bar]baz</xmp><p>extra" queryCommandState("stylewithcss") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<xmp>foo[bar]baz</xmp><p>extra" queryCommandValue("stylewithcss") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<xmp>foo[bar]baz</xmp><p>extra" queryCommandIndeterm("stylewithcss") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<xmp>foo[bar]baz</xmp><p>extra" queryCommandState("stylewithcss") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<xmp>foo[bar]baz</xmp><p>extra" queryCommandValue("stylewithcss") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<xmp>foo[bar]baz</xmp><p>extra" queryCommandIndeterm("defaultparagraphseparator") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<xmp>foo[bar]baz</xmp><p>extra" queryCommandState("defaultparagraphseparator") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<xmp>foo[bar]baz</xmp><p>extra" queryCommandValue("defaultparagraphseparator") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<xmp>foo[bar]baz</xmp><p>extra" queryCommandIndeterm("defaultparagraphseparator") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<xmp>foo[bar]baz</xmp><p>extra" queryCommandState("defaultparagraphseparator") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<xmp>foo[bar]baz</xmp><p>extra" queryCommandValue("defaultparagraphseparator") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<xmp>foo[bar]baz</xmp><p>extra" queryCommandIndeterm("justifyright") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<xmp>foo[bar]baz</xmp><p>extra" queryCommandState("justifyright") before 
+FAIL [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<xmp>foo[bar]baz</xmp><p>extra" queryCommandValue("justifyright") before assert_equals: Wrong result returned expected "left" but got "false"
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<xmp>foo[bar]baz</xmp><p>extra" queryCommandIndeterm("justifyright") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<xmp>foo[bar]baz</xmp><p>extra" queryCommandState("justifyright") after 
+FAIL [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<xmp>foo[bar]baz</xmp><p>extra" queryCommandValue("justifyright") after assert_equals: Wrong result returned expected "right" but got "true"
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<xmp>foo[bar]baz</xmp><p>extra": execCommand("stylewithcss", false, "false") return value 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<xmp>foo[bar]baz</xmp><p>extra": execCommand("defaultparagraphseparator", false, "p") return value 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<xmp>foo[bar]baz</xmp><p>extra": execCommand("justifyright", false, "") return value 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<xmp>foo[bar]baz</xmp><p>extra" checks for modifications to non-editable content 
+FAIL [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<xmp>foo[bar]baz</xmp><p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<div style=\"text-align:right\"><xmp>foobarbaz</xmp></div><p>extra</p>" but got "<xmp style=\"text-align:right\">foobarbaz</xmp><p>extra</p>"
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<xmp>foo[bar]baz</xmp><p>extra" queryCommandIndeterm("stylewithcss") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<xmp>foo[bar]baz</xmp><p>extra" queryCommandState("stylewithcss") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<xmp>foo[bar]baz</xmp><p>extra" queryCommandValue("stylewithcss") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<xmp>foo[bar]baz</xmp><p>extra" queryCommandIndeterm("stylewithcss") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<xmp>foo[bar]baz</xmp><p>extra" queryCommandState("stylewithcss") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<xmp>foo[bar]baz</xmp><p>extra" queryCommandValue("stylewithcss") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<xmp>foo[bar]baz</xmp><p>extra" queryCommandIndeterm("defaultparagraphseparator") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<xmp>foo[bar]baz</xmp><p>extra" queryCommandState("defaultparagraphseparator") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<xmp>foo[bar]baz</xmp><p>extra" queryCommandValue("defaultparagraphseparator") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<xmp>foo[bar]baz</xmp><p>extra" queryCommandIndeterm("defaultparagraphseparator") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<xmp>foo[bar]baz</xmp><p>extra" queryCommandState("defaultparagraphseparator") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<xmp>foo[bar]baz</xmp><p>extra" queryCommandValue("defaultparagraphseparator") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<xmp>foo[bar]baz</xmp><p>extra" queryCommandIndeterm("justifyright") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<xmp>foo[bar]baz</xmp><p>extra" queryCommandState("justifyright") before 
+FAIL [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<xmp>foo[bar]baz</xmp><p>extra" queryCommandValue("justifyright") before assert_equals: Wrong result returned expected "left" but got "false"
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<xmp>foo[bar]baz</xmp><p>extra" queryCommandIndeterm("justifyright") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<xmp>foo[bar]baz</xmp><p>extra" queryCommandState("justifyright") after 
+FAIL [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<xmp>foo[bar]baz</xmp><p>extra" queryCommandValue("justifyright") after assert_equals: Wrong result returned expected "right" but got "true"
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<center><p>[foo]<p>bar</center><p>extra": execCommand("stylewithcss", false, "true") return value 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<center><p>[foo]<p>bar</center><p>extra": execCommand("defaultparagraphseparator", false, "div") return value 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<center><p>[foo]<p>bar</center><p>extra": execCommand("justifyright", false, "") return value 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<center><p>[foo]<p>bar</center><p>extra" checks for modifications to non-editable content 
+FAIL [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<center><p>[foo]<p>bar</center><p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<center><div style=\"text-align:right\"><p>foo</p></div><p>bar</p></center><p>extra</p>" but got "<center><p style=\"text-align:right\">foo</p><p>bar</p></center><p>extra</p>"
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<center><p>[foo]<p>bar</center><p>extra" queryCommandIndeterm("stylewithcss") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<center><p>[foo]<p>bar</center><p>extra" queryCommandState("stylewithcss") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<center><p>[foo]<p>bar</center><p>extra" queryCommandValue("stylewithcss") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<center><p>[foo]<p>bar</center><p>extra" queryCommandIndeterm("stylewithcss") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<center><p>[foo]<p>bar</center><p>extra" queryCommandState("stylewithcss") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<center><p>[foo]<p>bar</center><p>extra" queryCommandValue("stylewithcss") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<center><p>[foo]<p>bar</center><p>extra" queryCommandIndeterm("defaultparagraphseparator") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<center><p>[foo]<p>bar</center><p>extra" queryCommandState("defaultparagraphseparator") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<center><p>[foo]<p>bar</center><p>extra" queryCommandValue("defaultparagraphseparator") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<center><p>[foo]<p>bar</center><p>extra" queryCommandIndeterm("defaultparagraphseparator") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<center><p>[foo]<p>bar</center><p>extra" queryCommandState("defaultparagraphseparator") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<center><p>[foo]<p>bar</center><p>extra" queryCommandValue("defaultparagraphseparator") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<center><p>[foo]<p>bar</center><p>extra" queryCommandIndeterm("justifyright") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<center><p>[foo]<p>bar</center><p>extra" queryCommandState("justifyright") before 
+FAIL [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<center><p>[foo]<p>bar</center><p>extra" queryCommandValue("justifyright") before assert_equals: Wrong result returned expected "center" but got "false"
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<center><p>[foo]<p>bar</center><p>extra" queryCommandIndeterm("justifyright") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<center><p>[foo]<p>bar</center><p>extra" queryCommandState("justifyright") after 
+FAIL [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<center><p>[foo]<p>bar</center><p>extra" queryCommandValue("justifyright") after assert_equals: Wrong result returned expected "right" but got "true"
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<center><p>[foo]<p>bar</center><p>extra": execCommand("stylewithcss", false, "false") return value 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<center><p>[foo]<p>bar</center><p>extra": execCommand("defaultparagraphseparator", false, "div") return value 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<center><p>[foo]<p>bar</center><p>extra": execCommand("justifyright", false, "") return value 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<center><p>[foo]<p>bar</center><p>extra" checks for modifications to non-editable content 
+FAIL [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<center><p>[foo]<p>bar</center><p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<center><div style=\"text-align:right\"><p>foo</p></div><p>bar</p></center><p>extra</p>" but got "<center><p style=\"text-align:right\">foo</p><p>bar</p></center><p>extra</p>"
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<center><p>[foo]<p>bar</center><p>extra" queryCommandIndeterm("stylewithcss") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<center><p>[foo]<p>bar</center><p>extra" queryCommandState("stylewithcss") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<center><p>[foo]<p>bar</center><p>extra" queryCommandValue("stylewithcss") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<center><p>[foo]<p>bar</center><p>extra" queryCommandIndeterm("stylewithcss") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<center><p>[foo]<p>bar</center><p>extra" queryCommandState("stylewithcss") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<center><p>[foo]<p>bar</center><p>extra" queryCommandValue("stylewithcss") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<center><p>[foo]<p>bar</center><p>extra" queryCommandIndeterm("defaultparagraphseparator") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<center><p>[foo]<p>bar</center><p>extra" queryCommandState("defaultparagraphseparator") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<center><p>[foo]<p>bar</center><p>extra" queryCommandValue("defaultparagraphseparator") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<center><p>[foo]<p>bar</center><p>extra" queryCommandIndeterm("defaultparagraphseparator") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<center><p>[foo]<p>bar</center><p>extra" queryCommandState("defaultparagraphseparator") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<center><p>[foo]<p>bar</center><p>extra" queryCommandValue("defaultparagraphseparator") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<center><p>[foo]<p>bar</center><p>extra" queryCommandIndeterm("justifyright") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<center><p>[foo]<p>bar</center><p>extra" queryCommandState("justifyright") before 
+FAIL [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<center><p>[foo]<p>bar</center><p>extra" queryCommandValue("justifyright") before assert_equals: Wrong result returned expected "center" but got "false"
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<center><p>[foo]<p>bar</center><p>extra" queryCommandIndeterm("justifyright") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<center><p>[foo]<p>bar</center><p>extra" queryCommandState("justifyright") after 
+FAIL [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<center><p>[foo]<p>bar</center><p>extra" queryCommandValue("justifyright") after assert_equals: Wrong result returned expected "right" but got "true"
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<center><p>[foo]<p>bar</center><p>extra": execCommand("stylewithcss", false, "true") return value 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<center><p>[foo]<p>bar</center><p>extra": execCommand("defaultparagraphseparator", false, "p") return value 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<center><p>[foo]<p>bar</center><p>extra": execCommand("justifyright", false, "") return value 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<center><p>[foo]<p>bar</center><p>extra" checks for modifications to non-editable content 
+FAIL [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<center><p>[foo]<p>bar</center><p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<center><div style=\"text-align:right\"><p>foo</p></div><p>bar</p></center><p>extra</p>" but got "<center><p style=\"text-align:right\">foo</p><p>bar</p></center><p>extra</p>"
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<center><p>[foo]<p>bar</center><p>extra" queryCommandIndeterm("stylewithcss") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<center><p>[foo]<p>bar</center><p>extra" queryCommandState("stylewithcss") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<center><p>[foo]<p>bar</center><p>extra" queryCommandValue("stylewithcss") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<center><p>[foo]<p>bar</center><p>extra" queryCommandIndeterm("stylewithcss") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<center><p>[foo]<p>bar</center><p>extra" queryCommandState("stylewithcss") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<center><p>[foo]<p>bar</center><p>extra" queryCommandValue("stylewithcss") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<center><p>[foo]<p>bar</center><p>extra" queryCommandIndeterm("defaultparagraphseparator") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<center><p>[foo]<p>bar</center><p>extra" queryCommandState("defaultparagraphseparator") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<center><p>[foo]<p>bar</center><p>extra" queryCommandValue("defaultparagraphseparator") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<center><p>[foo]<p>bar</center><p>extra" queryCommandIndeterm("defaultparagraphseparator") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<center><p>[foo]<p>bar</center><p>extra" queryCommandState("defaultparagraphseparator") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<center><p>[foo]<p>bar</center><p>extra" queryCommandValue("defaultparagraphseparator") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<center><p>[foo]<p>bar</center><p>extra" queryCommandIndeterm("justifyright") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<center><p>[foo]<p>bar</center><p>extra" queryCommandState("justifyright") before 
+FAIL [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<center><p>[foo]<p>bar</center><p>extra" queryCommandValue("justifyright") before assert_equals: Wrong result returned expected "center" but got "false"
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<center><p>[foo]<p>bar</center><p>extra" queryCommandIndeterm("justifyright") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<center><p>[foo]<p>bar</center><p>extra" queryCommandState("justifyright") after 
+FAIL [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<center><p>[foo]<p>bar</center><p>extra" queryCommandValue("justifyright") after assert_equals: Wrong result returned expected "right" but got "true"
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<center><p>[foo]<p>bar</center><p>extra": execCommand("stylewithcss", false, "false") return value 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<center><p>[foo]<p>bar</center><p>extra": execCommand("defaultparagraphseparator", false, "p") return value 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<center><p>[foo]<p>bar</center><p>extra": execCommand("justifyright", false, "") return value 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<center><p>[foo]<p>bar</center><p>extra" checks for modifications to non-editable content 
+FAIL [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<center><p>[foo]<p>bar</center><p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<center><div style=\"text-align:right\"><p>foo</p></div><p>bar</p></center><p>extra</p>" but got "<center><p style=\"text-align:right\">foo</p><p>bar</p></center><p>extra</p>"
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<center><p>[foo]<p>bar</center><p>extra" queryCommandIndeterm("stylewithcss") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<center><p>[foo]<p>bar</center><p>extra" queryCommandState("stylewithcss") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<center><p>[foo]<p>bar</center><p>extra" queryCommandValue("stylewithcss") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<center><p>[foo]<p>bar</center><p>extra" queryCommandIndeterm("stylewithcss") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<center><p>[foo]<p>bar</center><p>extra" queryCommandState("stylewithcss") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<center><p>[foo]<p>bar</center><p>extra" queryCommandValue("stylewithcss") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<center><p>[foo]<p>bar</center><p>extra" queryCommandIndeterm("defaultparagraphseparator") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<center><p>[foo]<p>bar</center><p>extra" queryCommandState("defaultparagraphseparator") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<center><p>[foo]<p>bar</center><p>extra" queryCommandValue("defaultparagraphseparator") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<center><p>[foo]<p>bar</center><p>extra" queryCommandIndeterm("defaultparagraphseparator") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<center><p>[foo]<p>bar</center><p>extra" queryCommandState("defaultparagraphseparator") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<center><p>[foo]<p>bar</center><p>extra" queryCommandValue("defaultparagraphseparator") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<center><p>[foo]<p>bar</center><p>extra" queryCommandIndeterm("justifyright") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<center><p>[foo]<p>bar</center><p>extra" queryCommandState("justifyright") before 
+FAIL [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<center><p>[foo]<p>bar</center><p>extra" queryCommandValue("justifyright") before assert_equals: Wrong result returned expected "center" but got "false"
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<center><p>[foo]<p>bar</center><p>extra" queryCommandIndeterm("justifyright") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<center><p>[foo]<p>bar</center><p>extra" queryCommandState("justifyright") after 
+FAIL [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<center><p>[foo]<p>bar</center><p>extra" queryCommandValue("justifyright") after assert_equals: Wrong result returned expected "right" but got "true"
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<center><p>[foo<p>bar]</center><p>extra": execCommand("stylewithcss", false, "true") return value 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<center><p>[foo<p>bar]</center><p>extra": execCommand("defaultparagraphseparator", false, "div") return value 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<center><p>[foo<p>bar]</center><p>extra": execCommand("justifyright", false, "") return value 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<center><p>[foo<p>bar]</center><p>extra" checks for modifications to non-editable content 
+FAIL [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<center><p>[foo<p>bar]</center><p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<div style=\"text-align:right\"><p>foo</p><p>bar</p></div><p>extra</p>" but got "<center><p style=\"text-align:right\">foo</p><p style=\"text-align:right\">bar</p></center><p>extra</p>"
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<center><p>[foo<p>bar]</center><p>extra" queryCommandIndeterm("stylewithcss") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<center><p>[foo<p>bar]</center><p>extra" queryCommandState("stylewithcss") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<center><p>[foo<p>bar]</center><p>extra" queryCommandValue("stylewithcss") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<center><p>[foo<p>bar]</center><p>extra" queryCommandIndeterm("stylewithcss") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<center><p>[foo<p>bar]</center><p>extra" queryCommandState("stylewithcss") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<center><p>[foo<p>bar]</center><p>extra" queryCommandValue("stylewithcss") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<center><p>[foo<p>bar]</center><p>extra" queryCommandIndeterm("defaultparagraphseparator") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<center><p>[foo<p>bar]</center><p>extra" queryCommandState("defaultparagraphseparator") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<center><p>[foo<p>bar]</center><p>extra" queryCommandValue("defaultparagraphseparator") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<center><p>[foo<p>bar]</center><p>extra" queryCommandIndeterm("defaultparagraphseparator") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<center><p>[foo<p>bar]</center><p>extra" queryCommandState("defaultparagraphseparator") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<center><p>[foo<p>bar]</center><p>extra" queryCommandValue("defaultparagraphseparator") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<center><p>[foo<p>bar]</center><p>extra" queryCommandIndeterm("justifyright") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<center><p>[foo<p>bar]</center><p>extra" queryCommandState("justifyright") before 
+FAIL [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<center><p>[foo<p>bar]</center><p>extra" queryCommandValue("justifyright") before assert_equals: Wrong result returned expected "center" but got "false"
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<center><p>[foo<p>bar]</center><p>extra" queryCommandIndeterm("justifyright") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<center><p>[foo<p>bar]</center><p>extra" queryCommandState("justifyright") after 
+FAIL [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<center><p>[foo<p>bar]</center><p>extra" queryCommandValue("justifyright") after assert_equals: Wrong result returned expected "right" but got "true"
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<center><p>[foo<p>bar]</center><p>extra": execCommand("stylewithcss", false, "false") return value 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<center><p>[foo<p>bar]</center><p>extra": execCommand("defaultparagraphseparator", false, "div") return value 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<center><p>[foo<p>bar]</center><p>extra": execCommand("justifyright", false, "") return value 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<center><p>[foo<p>bar]</center><p>extra" checks for modifications to non-editable content 
+FAIL [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<center><p>[foo<p>bar]</center><p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<div style=\"text-align:right\"><p>foo</p><p>bar</p></div><p>extra</p>" but got "<center><p style=\"text-align:right\">foo</p><p style=\"text-align:right\">bar</p></center><p>extra</p>"
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<center><p>[foo<p>bar]</center><p>extra" queryCommandIndeterm("stylewithcss") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<center><p>[foo<p>bar]</center><p>extra" queryCommandState("stylewithcss") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<center><p>[foo<p>bar]</center><p>extra" queryCommandValue("stylewithcss") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<center><p>[foo<p>bar]</center><p>extra" queryCommandIndeterm("stylewithcss") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<center><p>[foo<p>bar]</center><p>extra" queryCommandState("stylewithcss") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<center><p>[foo<p>bar]</center><p>extra" queryCommandValue("stylewithcss") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<center><p>[foo<p>bar]</center><p>extra" queryCommandIndeterm("defaultparagraphseparator") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<center><p>[foo<p>bar]</center><p>extra" queryCommandState("defaultparagraphseparator") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<center><p>[foo<p>bar]</center><p>extra" queryCommandValue("defaultparagraphseparator") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<center><p>[foo<p>bar]</center><p>extra" queryCommandIndeterm("defaultparagraphseparator") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<center><p>[foo<p>bar]</center><p>extra" queryCommandState("defaultparagraphseparator") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<center><p>[foo<p>bar]</center><p>extra" queryCommandValue("defaultparagraphseparator") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<center><p>[foo<p>bar]</center><p>extra" queryCommandIndeterm("justifyright") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<center><p>[foo<p>bar]</center><p>extra" queryCommandState("justifyright") before 
+FAIL [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<center><p>[foo<p>bar]</center><p>extra" queryCommandValue("justifyright") before assert_equals: Wrong result returned expected "center" but got "false"
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<center><p>[foo<p>bar]</center><p>extra" queryCommandIndeterm("justifyright") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<center><p>[foo<p>bar]</center><p>extra" queryCommandState("justifyright") after 
+FAIL [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<center><p>[foo<p>bar]</center><p>extra" queryCommandValue("justifyright") after assert_equals: Wrong result returned expected "right" but got "true"
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<center><p>[foo<p>bar]</center><p>extra": execCommand("stylewithcss", false, "true") return value 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<center><p>[foo<p>bar]</center><p>extra": execCommand("defaultparagraphseparator", false, "p") return value 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<center><p>[foo<p>bar]</center><p>extra": execCommand("justifyright", false, "") return value 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<center><p>[foo<p>bar]</center><p>extra" checks for modifications to non-editable content 
+FAIL [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<center><p>[foo<p>bar]</center><p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<div style=\"text-align:right\"><p>foo</p><p>bar</p></div><p>extra</p>" but got "<center><p style=\"text-align:right\">foo</p><p style=\"text-align:right\">bar</p></center><p>extra</p>"
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<center><p>[foo<p>bar]</center><p>extra" queryCommandIndeterm("stylewithcss") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<center><p>[foo<p>bar]</center><p>extra" queryCommandState("stylewithcss") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<center><p>[foo<p>bar]</center><p>extra" queryCommandValue("stylewithcss") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<center><p>[foo<p>bar]</center><p>extra" queryCommandIndeterm("stylewithcss") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<center><p>[foo<p>bar]</center><p>extra" queryCommandState("stylewithcss") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<center><p>[foo<p>bar]</center><p>extra" queryCommandValue("stylewithcss") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<center><p>[foo<p>bar]</center><p>extra" queryCommandIndeterm("defaultparagraphseparator") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<center><p>[foo<p>bar]</center><p>extra" queryCommandState("defaultparagraphseparator") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<center><p>[foo<p>bar]</center><p>extra" queryCommandValue("defaultparagraphseparator") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<center><p>[foo<p>bar]</center><p>extra" queryCommandIndeterm("defaultparagraphseparator") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<center><p>[foo<p>bar]</center><p>extra" queryCommandState("defaultparagraphseparator") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<center><p>[foo<p>bar]</center><p>extra" queryCommandValue("defaultparagraphseparator") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<center><p>[foo<p>bar]</center><p>extra" queryCommandIndeterm("justifyright") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<center><p>[foo<p>bar]</center><p>extra" queryCommandState("justifyright") before 
+FAIL [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<center><p>[foo<p>bar]</center><p>extra" queryCommandValue("justifyright") before assert_equals: Wrong result returned expected "center" but got "false"
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<center><p>[foo<p>bar]</center><p>extra" queryCommandIndeterm("justifyright") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<center><p>[foo<p>bar]</center><p>extra" queryCommandState("justifyright") after 
+FAIL [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<center><p>[foo<p>bar]</center><p>extra" queryCommandValue("justifyright") after assert_equals: Wrong result returned expected "right" but got "true"
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<center><p>[foo<p>bar]</center><p>extra": execCommand("stylewithcss", false, "false") return value 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<center><p>[foo<p>bar]</center><p>extra": execCommand("defaultparagraphseparator", false, "p") return value 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<center><p>[foo<p>bar]</center><p>extra": execCommand("justifyright", false, "") return value 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<center><p>[foo<p>bar]</center><p>extra" checks for modifications to non-editable content 
+FAIL [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<center><p>[foo<p>bar]</center><p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<div style=\"text-align:right\"><p>foo</p><p>bar</p></div><p>extra</p>" but got "<center><p style=\"text-align:right\">foo</p><p style=\"text-align:right\">bar</p></center><p>extra</p>"
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<center><p>[foo<p>bar]</center><p>extra" queryCommandIndeterm("stylewithcss") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<center><p>[foo<p>bar]</center><p>extra" queryCommandState("stylewithcss") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<center><p>[foo<p>bar]</center><p>extra" queryCommandValue("stylewithcss") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<center><p>[foo<p>bar]</center><p>extra" queryCommandIndeterm("stylewithcss") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<center><p>[foo<p>bar]</center><p>extra" queryCommandState("stylewithcss") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<center><p>[foo<p>bar]</center><p>extra" queryCommandValue("stylewithcss") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<center><p>[foo<p>bar]</center><p>extra" queryCommandIndeterm("defaultparagraphseparator") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<center><p>[foo<p>bar]</center><p>extra" queryCommandState("defaultparagraphseparator") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<center><p>[foo<p>bar]</center><p>extra" queryCommandValue("defaultparagraphseparator") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<center><p>[foo<p>bar]</center><p>extra" queryCommandIndeterm("defaultparagraphseparator") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<center><p>[foo<p>bar]</center><p>extra" queryCommandState("defaultparagraphseparator") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<center><p>[foo<p>bar]</center><p>extra" queryCommandValue("defaultparagraphseparator") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<center><p>[foo<p>bar]</center><p>extra" queryCommandIndeterm("justifyright") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<center><p>[foo<p>bar]</center><p>extra" queryCommandState("justifyright") before 
+FAIL [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<center><p>[foo<p>bar]</center><p>extra" queryCommandValue("justifyright") before assert_equals: Wrong result returned expected "center" but got "false"
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<center><p>[foo<p>bar]</center><p>extra" queryCommandIndeterm("justifyright") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<center><p>[foo<p>bar]</center><p>extra" queryCommandState("justifyright") after 
+FAIL [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<center><p>[foo<p>bar]</center><p>extra" queryCommandValue("justifyright") after assert_equals: Wrong result returned expected "right" but got "true"
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<table><tbody><tr><td>foo<td>b[a]r<td>baz</table><p>extra": execCommand("stylewithcss", false, "true") return value 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<table><tbody><tr><td>foo<td>b[a]r<td>baz</table><p>extra": execCommand("defaultparagraphseparator", false, "div") return value 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<table><tbody><tr><td>foo<td>b[a]r<td>baz</table><p>extra": execCommand("justifyright", false, "") return value 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<table><tbody><tr><td>foo<td>b[a]r<td>baz</table><p>extra" checks for modifications to non-editable content 
+FAIL [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<table><tbody><tr><td>foo<td>b[a]r<td>baz</table><p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<table><tbody><tr><td>foo</td><td><div style=\"text-align:right\">bar</div></td><td>baz</td></tr></tbody></table><p>extra</p>" but got "<table><tbody><tr><td>foo</td><td style=\"text-align:right\">bar</td><td>baz</td></tr></tbody></table><p>extra</p>"
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<table><tbody><tr><td>foo<td>b[a]r<td>baz</table><p>extra" queryCommandIndeterm("stylewithcss") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<table><tbody><tr><td>foo<td>b[a]r<td>baz</table><p>extra" queryCommandState("stylewithcss") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<table><tbody><tr><td>foo<td>b[a]r<td>baz</table><p>extra" queryCommandValue("stylewithcss") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<table><tbody><tr><td>foo<td>b[a]r<td>baz</table><p>extra" queryCommandIndeterm("stylewithcss") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<table><tbody><tr><td>foo<td>b[a]r<td>baz</table><p>extra" queryCommandState("stylewithcss") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<table><tbody><tr><td>foo<td>b[a]r<td>baz</table><p>extra" queryCommandValue("stylewithcss") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<table><tbody><tr><td>foo<td>b[a]r<td>baz</table><p>extra" queryCommandIndeterm("defaultparagraphseparator") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<table><tbody><tr><td>foo<td>b[a]r<td>baz</table><p>extra" queryCommandState("defaultparagraphseparator") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<table><tbody><tr><td>foo<td>b[a]r<td>baz</table><p>extra" queryCommandValue("defaultparagraphseparator") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<table><tbody><tr><td>foo<td>b[a]r<td>baz</table><p>extra" queryCommandIndeterm("defaultparagraphseparator") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<table><tbody><tr><td>foo<td>b[a]r<td>baz</table><p>extra" queryCommandState("defaultparagraphseparator") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<table><tbody><tr><td>foo<td>b[a]r<td>baz</table><p>extra" queryCommandValue("defaultparagraphseparator") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<table><tbody><tr><td>foo<td>b[a]r<td>baz</table><p>extra" queryCommandIndeterm("justifyright") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<table><tbody><tr><td>foo<td>b[a]r<td>baz</table><p>extra" queryCommandState("justifyright") before 
+FAIL [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<table><tbody><tr><td>foo<td>b[a]r<td>baz</table><p>extra" queryCommandValue("justifyright") before assert_equals: Wrong result returned expected "left" but got "false"
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<table><tbody><tr><td>foo<td>b[a]r<td>baz</table><p>extra" queryCommandIndeterm("justifyright") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<table><tbody><tr><td>foo<td>b[a]r<td>baz</table><p>extra" queryCommandState("justifyright") after 
+FAIL [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<table><tbody><tr><td>foo<td>b[a]r<td>baz</table><p>extra" queryCommandValue("justifyright") after assert_equals: Wrong result returned expected "right" but got "true"
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<table><tbody><tr><td>foo<td>b[a]r<td>baz</table><p>extra": execCommand("stylewithcss", false, "false") return value 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<table><tbody><tr><td>foo<td>b[a]r<td>baz</table><p>extra": execCommand("defaultparagraphseparator", false, "div") return value 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<table><tbody><tr><td>foo<td>b[a]r<td>baz</table><p>extra": execCommand("justifyright", false, "") return value 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<table><tbody><tr><td>foo<td>b[a]r<td>baz</table><p>extra" checks for modifications to non-editable content 
+FAIL [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<table><tbody><tr><td>foo<td>b[a]r<td>baz</table><p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<table><tbody><tr><td>foo</td><td><div style=\"text-align:right\">bar</div></td><td>baz</td></tr></tbody></table><p>extra</p>" but got "<table><tbody><tr><td>foo</td><td style=\"text-align:right\">bar</td><td>baz</td></tr></tbody></table><p>extra</p>"
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<table><tbody><tr><td>foo<td>b[a]r<td>baz</table><p>extra" queryCommandIndeterm("stylewithcss") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<table><tbody><tr><td>foo<td>b[a]r<td>baz</table><p>extra" queryCommandState("stylewithcss") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<table><tbody><tr><td>foo<td>b[a]r<td>baz</table><p>extra" queryCommandValue("stylewithcss") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<table><tbody><tr><td>foo<td>b[a]r<td>baz</table><p>extra" queryCommandIndeterm("stylewithcss") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<table><tbody><tr><td>foo<td>b[a]r<td>baz</table><p>extra" queryCommandState("stylewithcss") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<table><tbody><tr><td>foo<td>b[a]r<td>baz</table><p>extra" queryCommandValue("stylewithcss") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<table><tbody><tr><td>foo<td>b[a]r<td>baz</table><p>extra" queryCommandIndeterm("defaultparagraphseparator") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<table><tbody><tr><td>foo<td>b[a]r<td>baz</table><p>extra" queryCommandState("defaultparagraphseparator") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<table><tbody><tr><td>foo<td>b[a]r<td>baz</table><p>extra" queryCommandValue("defaultparagraphseparator") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<table><tbody><tr><td>foo<td>b[a]r<td>baz</table><p>extra" queryCommandIndeterm("defaultparagraphseparator") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<table><tbody><tr><td>foo<td>b[a]r<td>baz</table><p>extra" queryCommandState("defaultparagraphseparator") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<table><tbody><tr><td>foo<td>b[a]r<td>baz</table><p>extra" queryCommandValue("defaultparagraphseparator") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<table><tbody><tr><td>foo<td>b[a]r<td>baz</table><p>extra" queryCommandIndeterm("justifyright") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<table><tbody><tr><td>foo<td>b[a]r<td>baz</table><p>extra" queryCommandState("justifyright") before 
+FAIL [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<table><tbody><tr><td>foo<td>b[a]r<td>baz</table><p>extra" queryCommandValue("justifyright") before assert_equals: Wrong result returned expected "left" but got "false"
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<table><tbody><tr><td>foo<td>b[a]r<td>baz</table><p>extra" queryCommandIndeterm("justifyright") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<table><tbody><tr><td>foo<td>b[a]r<td>baz</table><p>extra" queryCommandState("justifyright") after 
+FAIL [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<table><tbody><tr><td>foo<td>b[a]r<td>baz</table><p>extra" queryCommandValue("justifyright") after assert_equals: Wrong result returned expected "right" but got "true"
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<table><tbody><tr><td>foo<td>b[a]r<td>baz</table><p>extra": execCommand("stylewithcss", false, "true") return value 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<table><tbody><tr><td>foo<td>b[a]r<td>baz</table><p>extra": execCommand("defaultparagraphseparator", false, "p") return value 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<table><tbody><tr><td>foo<td>b[a]r<td>baz</table><p>extra": execCommand("justifyright", false, "") return value 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<table><tbody><tr><td>foo<td>b[a]r<td>baz</table><p>extra" checks for modifications to non-editable content 
+FAIL [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<table><tbody><tr><td>foo<td>b[a]r<td>baz</table><p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<table><tbody><tr><td>foo</td><td><div style=\"text-align:right\">bar</div></td><td>baz</td></tr></tbody></table><p>extra</p>" but got "<table><tbody><tr><td>foo</td><td style=\"text-align:right\">bar</td><td>baz</td></tr></tbody></table><p>extra</p>"
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<table><tbody><tr><td>foo<td>b[a]r<td>baz</table><p>extra" queryCommandIndeterm("stylewithcss") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<table><tbody><tr><td>foo<td>b[a]r<td>baz</table><p>extra" queryCommandState("stylewithcss") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<table><tbody><tr><td>foo<td>b[a]r<td>baz</table><p>extra" queryCommandValue("stylewithcss") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<table><tbody><tr><td>foo<td>b[a]r<td>baz</table><p>extra" queryCommandIndeterm("stylewithcss") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<table><tbody><tr><td>foo<td>b[a]r<td>baz</table><p>extra" queryCommandState("stylewithcss") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<table><tbody><tr><td>foo<td>b[a]r<td>baz</table><p>extra" queryCommandValue("stylewithcss") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<table><tbody><tr><td>foo<td>b[a]r<td>baz</table><p>extra" queryCommandIndeterm("defaultparagraphseparator") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<table><tbody><tr><td>foo<td>b[a]r<td>baz</table><p>extra" queryCommandState("defaultparagraphseparator") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<table><tbody><tr><td>foo<td>b[a]r<td>baz</table><p>extra" queryCommandValue("defaultparagraphseparator") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<table><tbody><tr><td>foo<td>b[a]r<td>baz</table><p>extra" queryCommandIndeterm("defaultparagraphseparator") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<table><tbody><tr><td>foo<td>b[a]r<td>baz</table><p>extra" queryCommandState("defaultparagraphseparator") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<table><tbody><tr><td>foo<td>b[a]r<td>baz</table><p>extra" queryCommandValue("defaultparagraphseparator") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<table><tbody><tr><td>foo<td>b[a]r<td>baz</table><p>extra" queryCommandIndeterm("justifyright") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<table><tbody><tr><td>foo<td>b[a]r<td>baz</table><p>extra" queryCommandState("justifyright") before 
+FAIL [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<table><tbody><tr><td>foo<td>b[a]r<td>baz</table><p>extra" queryCommandValue("justifyright") before assert_equals: Wrong result returned expected "left" but got "false"
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<table><tbody><tr><td>foo<td>b[a]r<td>baz</table><p>extra" queryCommandIndeterm("justifyright") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<table><tbody><tr><td>foo<td>b[a]r<td>baz</table><p>extra" queryCommandState("justifyright") after 
+FAIL [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<table><tbody><tr><td>foo<td>b[a]r<td>baz</table><p>extra" queryCommandValue("justifyright") after assert_equals: Wrong result returned expected "right" but got "true"
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<table><tbody><tr><td>foo<td>b[a]r<td>baz</table><p>extra": execCommand("stylewithcss", false, "false") return value 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<table><tbody><tr><td>foo<td>b[a]r<td>baz</table><p>extra": execCommand("defaultparagraphseparator", false, "p") return value 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<table><tbody><tr><td>foo<td>b[a]r<td>baz</table><p>extra": execCommand("justifyright", false, "") return value 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<table><tbody><tr><td>foo<td>b[a]r<td>baz</table><p>extra" checks for modifications to non-editable content 
+FAIL [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<table><tbody><tr><td>foo<td>b[a]r<td>baz</table><p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<table><tbody><tr><td>foo</td><td><div style=\"text-align:right\">bar</div></td><td>baz</td></tr></tbody></table><p>extra</p>" but got "<table><tbody><tr><td>foo</td><td style=\"text-align:right\">bar</td><td>baz</td></tr></tbody></table><p>extra</p>"
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<table><tbody><tr><td>foo<td>b[a]r<td>baz</table><p>extra" queryCommandIndeterm("stylewithcss") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<table><tbody><tr><td>foo<td>b[a]r<td>baz</table><p>extra" queryCommandState("stylewithcss") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<table><tbody><tr><td>foo<td>b[a]r<td>baz</table><p>extra" queryCommandValue("stylewithcss") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<table><tbody><tr><td>foo<td>b[a]r<td>baz</table><p>extra" queryCommandIndeterm("stylewithcss") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<table><tbody><tr><td>foo<td>b[a]r<td>baz</table><p>extra" queryCommandState("stylewithcss") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<table><tbody><tr><td>foo<td>b[a]r<td>baz</table><p>extra" queryCommandValue("stylewithcss") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<table><tbody><tr><td>foo<td>b[a]r<td>baz</table><p>extra" queryCommandIndeterm("defaultparagraphseparator") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<table><tbody><tr><td>foo<td>b[a]r<td>baz</table><p>extra" queryCommandState("defaultparagraphseparator") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<table><tbody><tr><td>foo<td>b[a]r<td>baz</table><p>extra" queryCommandValue("defaultparagraphseparator") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<table><tbody><tr><td>foo<td>b[a]r<td>baz</table><p>extra" queryCommandIndeterm("defaultparagraphseparator") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<table><tbody><tr><td>foo<td>b[a]r<td>baz</table><p>extra" queryCommandState("defaultparagraphseparator") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<table><tbody><tr><td>foo<td>b[a]r<td>baz</table><p>extra" queryCommandValue("defaultparagraphseparator") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<table><tbody><tr><td>foo<td>b[a]r<td>baz</table><p>extra" queryCommandIndeterm("justifyright") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<table><tbody><tr><td>foo<td>b[a]r<td>baz</table><p>extra" queryCommandState("justifyright") before 
+FAIL [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<table><tbody><tr><td>foo<td>b[a]r<td>baz</table><p>extra" queryCommandValue("justifyright") before assert_equals: Wrong result returned expected "left" but got "false"
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<table><tbody><tr><td>foo<td>b[a]r<td>baz</table><p>extra" queryCommandIndeterm("justifyright") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<table><tbody><tr><td>foo<td>b[a]r<td>baz</table><p>extra" queryCommandState("justifyright") after 
+FAIL [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<table><tbody><tr><td>foo<td>b[a]r<td>baz</table><p>extra" queryCommandValue("justifyright") after assert_equals: Wrong result returned expected "right" but got "true"
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<table><tbody><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table><p>extra": execCommand("stylewithcss", false, "true") return value 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<table><tbody><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table><p>extra": execCommand("defaultparagraphseparator", false, "div") return value 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<table><tbody><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table><p>extra": execCommand("justifyright", false, "") return value 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<table><tbody><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table><p>extra" checks for modifications to non-editable content 
+FAIL [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<table><tbody><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table><p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<table><tbody><tr><td>foo</td><td><div style=\"text-align:right\">bar</div></td><td>baz</td></tr></tbody></table><p>extra</p>" but got "<table><tbody><tr><td>foo</td><td style=\"text-align:right\">bar</td><td style=\"text-align:right\">baz</td></tr></tbody></table><p>extra</p>"
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<table><tbody><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("stylewithcss") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<table><tbody><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("stylewithcss") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<table><tbody><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("stylewithcss") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<table><tbody><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("stylewithcss") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<table><tbody><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("stylewithcss") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<table><tbody><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("stylewithcss") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<table><tbody><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("defaultparagraphseparator") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<table><tbody><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("defaultparagraphseparator") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<table><tbody><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("defaultparagraphseparator") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<table><tbody><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("defaultparagraphseparator") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<table><tbody><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("defaultparagraphseparator") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<table><tbody><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("defaultparagraphseparator") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<table><tbody><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("justifyright") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<table><tbody><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("justifyright") before 
+FAIL [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<table><tbody><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("justifyright") before assert_equals: Wrong result returned expected "left" but got "false"
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<table><tbody><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("justifyright") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<table><tbody><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("justifyright") after 
+FAIL [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<table><tbody><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("justifyright") after assert_equals: Wrong result returned expected "right" but got "true"
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<table><tbody><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table><p>extra": execCommand("stylewithcss", false, "false") return value 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<table><tbody><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table><p>extra": execCommand("defaultparagraphseparator", false, "div") return value 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<table><tbody><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table><p>extra": execCommand("justifyright", false, "") return value 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<table><tbody><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table><p>extra" checks for modifications to non-editable content 
+FAIL [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<table><tbody><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table><p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<table><tbody><tr><td>foo</td><td><div style=\"text-align:right\">bar</div></td><td>baz</td></tr></tbody></table><p>extra</p>" but got "<table><tbody><tr><td>foo</td><td style=\"text-align:right\">bar</td><td style=\"text-align:right\">baz</td></tr></tbody></table><p>extra</p>"
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<table><tbody><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("stylewithcss") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<table><tbody><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("stylewithcss") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<table><tbody><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("stylewithcss") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<table><tbody><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("stylewithcss") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<table><tbody><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("stylewithcss") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<table><tbody><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("stylewithcss") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<table><tbody><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("defaultparagraphseparator") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<table><tbody><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("defaultparagraphseparator") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<table><tbody><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("defaultparagraphseparator") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<table><tbody><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("defaultparagraphseparator") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<table><tbody><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("defaultparagraphseparator") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<table><tbody><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("defaultparagraphseparator") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<table><tbody><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("justifyright") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<table><tbody><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("justifyright") before 
+FAIL [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<table><tbody><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("justifyright") before assert_equals: Wrong result returned expected "left" but got "false"
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<table><tbody><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("justifyright") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<table><tbody><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("justifyright") after 
+FAIL [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<table><tbody><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("justifyright") after assert_equals: Wrong result returned expected "right" but got "true"
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<table><tbody><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table><p>extra": execCommand("stylewithcss", false, "true") return value 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<table><tbody><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table><p>extra": execCommand("defaultparagraphseparator", false, "p") return value 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<table><tbody><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table><p>extra": execCommand("justifyright", false, "") return value 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<table><tbody><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table><p>extra" checks for modifications to non-editable content 
+FAIL [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<table><tbody><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table><p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<table><tbody><tr><td>foo</td><td><div style=\"text-align:right\">bar</div></td><td>baz</td></tr></tbody></table><p>extra</p>" but got "<table><tbody><tr><td>foo</td><td style=\"text-align:right\">bar</td><td style=\"text-align:right\">baz</td></tr></tbody></table><p>extra</p>"
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<table><tbody><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("stylewithcss") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<table><tbody><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("stylewithcss") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<table><tbody><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("stylewithcss") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<table><tbody><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("stylewithcss") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<table><tbody><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("stylewithcss") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<table><tbody><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("stylewithcss") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<table><tbody><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("defaultparagraphseparator") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<table><tbody><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("defaultparagraphseparator") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<table><tbody><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("defaultparagraphseparator") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<table><tbody><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("defaultparagraphseparator") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<table><tbody><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("defaultparagraphseparator") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<table><tbody><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("defaultparagraphseparator") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<table><tbody><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("justifyright") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<table><tbody><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("justifyright") before 
+FAIL [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<table><tbody><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("justifyright") before assert_equals: Wrong result returned expected "left" but got "false"
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<table><tbody><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("justifyright") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<table><tbody><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("justifyright") after 
+FAIL [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<table><tbody><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("justifyright") after assert_equals: Wrong result returned expected "right" but got "true"
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<table><tbody><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table><p>extra": execCommand("stylewithcss", false, "false") return value 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<table><tbody><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table><p>extra": execCommand("defaultparagraphseparator", false, "p") return value 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<table><tbody><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table><p>extra": execCommand("justifyright", false, "") return value 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<table><tbody><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table><p>extra" checks for modifications to non-editable content 
+FAIL [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<table><tbody><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table><p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<table><tbody><tr><td>foo</td><td><div style=\"text-align:right\">bar</div></td><td>baz</td></tr></tbody></table><p>extra</p>" but got "<table><tbody><tr><td>foo</td><td style=\"text-align:right\">bar</td><td style=\"text-align:right\">baz</td></tr></tbody></table><p>extra</p>"
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<table><tbody><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("stylewithcss") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<table><tbody><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("stylewithcss") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<table><tbody><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("stylewithcss") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<table><tbody><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("stylewithcss") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<table><tbody><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("stylewithcss") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<table><tbody><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("stylewithcss") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<table><tbody><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("defaultparagraphseparator") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<table><tbody><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("defaultparagraphseparator") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<table><tbody><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("defaultparagraphseparator") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<table><tbody><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("defaultparagraphseparator") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<table><tbody><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("defaultparagraphseparator") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<table><tbody><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("defaultparagraphseparator") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<table><tbody><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("justifyright") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<table><tbody><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("justifyright") before 
+FAIL [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<table><tbody><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("justifyright") before assert_equals: Wrong result returned expected "left" but got "false"
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<table><tbody><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("justifyright") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<table><tbody><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("justifyright") after 
+FAIL [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<table><tbody><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("justifyright") after assert_equals: Wrong result returned expected "right" but got "true"
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<table><tbody><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table><p>extra": execCommand("stylewithcss", false, "true") return value 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<table><tbody><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table><p>extra": execCommand("defaultparagraphseparator", false, "div") return value 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<table><tbody><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table><p>extra": execCommand("justifyright", false, "") return value 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<table><tbody><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table><p>extra" checks for modifications to non-editable content 
+FAIL [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<table><tbody><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table><p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<table><tbody><tr><td><div style=\"text-align:right\">foo</div></td><td><div style=\"text-align:right\">bar</div></td><td>baz</td></tr></tbody></table><p>extra</p>" but got "<table><tbody><tr><td style=\"text-align:right\">foo</td><td style=\"text-align:right\">bar</td><td style=\"text-align:right\">baz</td></tr></tbody></table><p>extra</p>"
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<table><tbody><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("stylewithcss") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<table><tbody><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("stylewithcss") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<table><tbody><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("stylewithcss") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<table><tbody><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("stylewithcss") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<table><tbody><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("stylewithcss") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<table><tbody><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("stylewithcss") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<table><tbody><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("defaultparagraphseparator") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<table><tbody><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("defaultparagraphseparator") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<table><tbody><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("defaultparagraphseparator") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<table><tbody><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("defaultparagraphseparator") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<table><tbody><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("defaultparagraphseparator") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<table><tbody><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("defaultparagraphseparator") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<table><tbody><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("justifyright") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<table><tbody><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("justifyright") before 
+FAIL [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<table><tbody><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("justifyright") before assert_equals: Wrong result returned expected "left" but got "false"
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<table><tbody><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("justifyright") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<table><tbody><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("justifyright") after 
+FAIL [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<table><tbody><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("justifyright") after assert_equals: Wrong result returned expected "right" but got "true"
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<table><tbody><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table><p>extra": execCommand("stylewithcss", false, "false") return value 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<table><tbody><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table><p>extra": execCommand("defaultparagraphseparator", false, "div") return value 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<table><tbody><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table><p>extra": execCommand("justifyright", false, "") return value 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<table><tbody><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table><p>extra" checks for modifications to non-editable content 
+FAIL [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<table><tbody><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table><p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<table><tbody><tr><td><div style=\"text-align:right\">foo</div></td><td><div style=\"text-align:right\">bar</div></td><td>baz</td></tr></tbody></table><p>extra</p>" but got "<table><tbody><tr><td style=\"text-align:right\">foo</td><td style=\"text-align:right\">bar</td><td style=\"text-align:right\">baz</td></tr></tbody></table><p>extra</p>"
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<table><tbody><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("stylewithcss") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<table><tbody><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("stylewithcss") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<table><tbody><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("stylewithcss") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<table><tbody><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("stylewithcss") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<table><tbody><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("stylewithcss") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<table><tbody><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("stylewithcss") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<table><tbody><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("defaultparagraphseparator") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<table><tbody><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("defaultparagraphseparator") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<table><tbody><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("defaultparagraphseparator") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<table><tbody><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("defaultparagraphseparator") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<table><tbody><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("defaultparagraphseparator") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<table><tbody><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("defaultparagraphseparator") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<table><tbody><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("justifyright") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<table><tbody><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("justifyright") before 
+FAIL [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<table><tbody><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("justifyright") before assert_equals: Wrong result returned expected "left" but got "false"
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<table><tbody><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("justifyright") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<table><tbody><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("justifyright") after 
+FAIL [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<table><tbody><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("justifyright") after assert_equals: Wrong result returned expected "right" but got "true"
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<table><tbody><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table><p>extra": execCommand("stylewithcss", false, "true") return value 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<table><tbody><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table><p>extra": execCommand("defaultparagraphseparator", false, "p") return value 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<table><tbody><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table><p>extra": execCommand("justifyright", false, "") return value 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<table><tbody><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table><p>extra" checks for modifications to non-editable content 
+FAIL [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<table><tbody><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table><p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<table><tbody><tr><td><div style=\"text-align:right\">foo</div></td><td><div style=\"text-align:right\">bar</div></td><td>baz</td></tr></tbody></table><p>extra</p>" but got "<table><tbody><tr><td style=\"text-align:right\">foo</td><td style=\"text-align:right\">bar</td><td style=\"text-align:right\">baz</td></tr></tbody></table><p>extra</p>"
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<table><tbody><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("stylewithcss") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<table><tbody><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("stylewithcss") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<table><tbody><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("stylewithcss") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<table><tbody><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("stylewithcss") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<table><tbody><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("stylewithcss") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<table><tbody><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("stylewithcss") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<table><tbody><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("defaultparagraphseparator") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<table><tbody><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("defaultparagraphseparator") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<table><tbody><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("defaultparagraphseparator") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<table><tbody><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("defaultparagraphseparator") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<table><tbody><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("defaultparagraphseparator") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<table><tbody><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("defaultparagraphseparator") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<table><tbody><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("justifyright") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<table><tbody><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("justifyright") before 
+FAIL [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<table><tbody><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("justifyright") before assert_equals: Wrong result returned expected "left" but got "false"
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<table><tbody><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("justifyright") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<table><tbody><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("justifyright") after 
+FAIL [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<table><tbody><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("justifyright") after assert_equals: Wrong result returned expected "right" but got "true"
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<table><tbody><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table><p>extra": execCommand("stylewithcss", false, "false") return value 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<table><tbody><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table><p>extra": execCommand("defaultparagraphseparator", false, "p") return value 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<table><tbody><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table><p>extra": execCommand("justifyright", false, "") return value 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<table><tbody><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table><p>extra" checks for modifications to non-editable content 
+FAIL [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<table><tbody><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table><p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<table><tbody><tr><td><div style=\"text-align:right\">foo</div></td><td><div style=\"text-align:right\">bar</div></td><td>baz</td></tr></tbody></table><p>extra</p>" but got "<table><tbody><tr><td style=\"text-align:right\">foo</td><td style=\"text-align:right\">bar</td><td style=\"text-align:right\">baz</td></tr></tbody></table><p>extra</p>"
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<table><tbody><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("stylewithcss") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<table><tbody><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("stylewithcss") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<table><tbody><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("stylewithcss") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<table><tbody><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("stylewithcss") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<table><tbody><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("stylewithcss") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<table><tbody><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("stylewithcss") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<table><tbody><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("defaultparagraphseparator") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<table><tbody><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("defaultparagraphseparator") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<table><tbody><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("defaultparagraphseparator") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<table><tbody><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("defaultparagraphseparator") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<table><tbody><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("defaultparagraphseparator") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<table><tbody><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("defaultparagraphseparator") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<table><tbody><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("justifyright") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<table><tbody><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("justifyright") before 
+FAIL [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<table><tbody><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("justifyright") before assert_equals: Wrong result returned expected "left" but got "false"
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<table><tbody><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("justifyright") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<table><tbody><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("justifyright") after 
+FAIL [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<table><tbody><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("justifyright") after assert_equals: Wrong result returned expected "right" but got "true"
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<table><tbody data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra": execCommand("stylewithcss", false, "true") return value 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<table><tbody data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra": execCommand("defaultparagraphseparator", false, "div") return value 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<table><tbody data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra": execCommand("justifyright", false, "") return value 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<table><tbody data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" checks for modifications to non-editable content 
+FAIL [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<table><tbody data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<div style=\"text-align:right\"><table><tbody><tr><td>foo</td><td>bar</td><td>baz</td></tr></tbody></table></div><p>extra</p>" but got "<table style=\"text-align:right\"><tbody><tr><td style=\"text-align:right\">foo</td><td style=\"text-align:right\">bar</td><td style=\"text-align:right\">baz</td></tr></tbody></table><p>extra</p>"
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<table><tbody data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("stylewithcss") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<table><tbody data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("stylewithcss") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<table><tbody data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("stylewithcss") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<table><tbody data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("stylewithcss") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<table><tbody data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("stylewithcss") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<table><tbody data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("stylewithcss") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<table><tbody data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("defaultparagraphseparator") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<table><tbody data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("defaultparagraphseparator") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<table><tbody data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("defaultparagraphseparator") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<table><tbody data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("defaultparagraphseparator") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<table><tbody data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("defaultparagraphseparator") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<table><tbody data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("defaultparagraphseparator") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<table><tbody data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("justifyright") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<table><tbody data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("justifyright") before 
+FAIL [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<table><tbody data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("justifyright") before assert_equals: Wrong result returned expected "left" but got "false"
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<table><tbody data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("justifyright") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<table><tbody data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("justifyright") after 
+FAIL [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<table><tbody data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("justifyright") after assert_equals: Wrong result returned expected "right" but got "true"
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<table><tbody data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra": execCommand("stylewithcss", false, "false") return value 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<table><tbody data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra": execCommand("defaultparagraphseparator", false, "div") return value 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<table><tbody data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra": execCommand("justifyright", false, "") return value 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<table><tbody data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" checks for modifications to non-editable content 
+FAIL [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<table><tbody data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<div style=\"text-align:right\"><table><tbody><tr><td>foo</td><td>bar</td><td>baz</td></tr></tbody></table></div><p>extra</p>" but got "<table style=\"text-align:right\"><tbody><tr><td style=\"text-align:right\">foo</td><td style=\"text-align:right\">bar</td><td style=\"text-align:right\">baz</td></tr></tbody></table><p>extra</p>"
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<table><tbody data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("stylewithcss") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<table><tbody data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("stylewithcss") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<table><tbody data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("stylewithcss") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<table><tbody data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("stylewithcss") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<table><tbody data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("stylewithcss") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<table><tbody data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("stylewithcss") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<table><tbody data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("defaultparagraphseparator") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<table><tbody data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("defaultparagraphseparator") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<table><tbody data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("defaultparagraphseparator") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<table><tbody data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("defaultparagraphseparator") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<table><tbody data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("defaultparagraphseparator") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<table><tbody data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("defaultparagraphseparator") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<table><tbody data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("justifyright") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<table><tbody data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("justifyright") before 
+FAIL [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<table><tbody data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("justifyright") before assert_equals: Wrong result returned expected "left" but got "false"
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<table><tbody data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("justifyright") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<table><tbody data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("justifyright") after 
+FAIL [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<table><tbody data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("justifyright") after assert_equals: Wrong result returned expected "right" but got "true"
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<table><tbody data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra": execCommand("stylewithcss", false, "true") return value 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<table><tbody data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra": execCommand("defaultparagraphseparator", false, "p") return value 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<table><tbody data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra": execCommand("justifyright", false, "") return value 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<table><tbody data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" checks for modifications to non-editable content 
+FAIL [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<table><tbody data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<div style=\"text-align:right\"><table><tbody><tr><td>foo</td><td>bar</td><td>baz</td></tr></tbody></table></div><p>extra</p>" but got "<table style=\"text-align:right\"><tbody><tr><td style=\"text-align:right\">foo</td><td style=\"text-align:right\">bar</td><td style=\"text-align:right\">baz</td></tr></tbody></table><p>extra</p>"
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<table><tbody data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("stylewithcss") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<table><tbody data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("stylewithcss") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<table><tbody data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("stylewithcss") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<table><tbody data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("stylewithcss") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<table><tbody data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("stylewithcss") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<table><tbody data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("stylewithcss") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<table><tbody data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("defaultparagraphseparator") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<table><tbody data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("defaultparagraphseparator") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<table><tbody data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("defaultparagraphseparator") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<table><tbody data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("defaultparagraphseparator") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<table><tbody data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("defaultparagraphseparator") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<table><tbody data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("defaultparagraphseparator") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<table><tbody data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("justifyright") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<table><tbody data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("justifyright") before 
+FAIL [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<table><tbody data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("justifyright") before assert_equals: Wrong result returned expected "left" but got "false"
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<table><tbody data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("justifyright") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<table><tbody data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("justifyright") after 
+FAIL [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<table><tbody data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("justifyright") after assert_equals: Wrong result returned expected "right" but got "true"
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<table><tbody data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra": execCommand("stylewithcss", false, "false") return value 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<table><tbody data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra": execCommand("defaultparagraphseparator", false, "p") return value 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<table><tbody data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra": execCommand("justifyright", false, "") return value 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<table><tbody data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" checks for modifications to non-editable content 
+FAIL [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<table><tbody data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<div style=\"text-align:right\"><table><tbody><tr><td>foo</td><td>bar</td><td>baz</td></tr></tbody></table></div><p>extra</p>" but got "<table style=\"text-align:right\"><tbody><tr><td style=\"text-align:right\">foo</td><td style=\"text-align:right\">bar</td><td style=\"text-align:right\">baz</td></tr></tbody></table><p>extra</p>"
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<table><tbody data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("stylewithcss") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<table><tbody data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("stylewithcss") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<table><tbody data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("stylewithcss") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<table><tbody data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("stylewithcss") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<table><tbody data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("stylewithcss") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<table><tbody data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("stylewithcss") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<table><tbody data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("defaultparagraphseparator") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<table><tbody data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("defaultparagraphseparator") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<table><tbody data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("defaultparagraphseparator") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<table><tbody data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("defaultparagraphseparator") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<table><tbody data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("defaultparagraphseparator") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<table><tbody data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("defaultparagraphseparator") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<table><tbody data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("justifyright") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<table><tbody data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("justifyright") before 
+FAIL [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<table><tbody data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("justifyright") before assert_equals: Wrong result returned expected "left" but got "false"
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<table><tbody data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("justifyright") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<table><tbody data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("justifyright") after 
+FAIL [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<table><tbody data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("justifyright") after assert_equals: Wrong result returned expected "right" but got "true"
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<table data-start=0 data-end=1><tbody><tr><td>foo<td>bar<td>baz</table><p>extra": execCommand("stylewithcss", false, "true") return value 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<table data-start=0 data-end=1><tbody><tr><td>foo<td>bar<td>baz</table><p>extra": execCommand("defaultparagraphseparator", false, "div") return value 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<table data-start=0 data-end=1><tbody><tr><td>foo<td>bar<td>baz</table><p>extra": execCommand("justifyright", false, "") return value 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<table data-start=0 data-end=1><tbody><tr><td>foo<td>bar<td>baz</table><p>extra" checks for modifications to non-editable content 
+FAIL [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<table data-start=0 data-end=1><tbody><tr><td>foo<td>bar<td>baz</table><p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<div style=\"text-align:right\"><table><tbody><tr><td>foo</td><td>bar</td><td>baz</td></tr></tbody></table></div><p>extra</p>" but got "<table style=\"text-align:right\"><tbody><tr><td>foo</td><td>bar</td><td>baz</td></tr></tbody></table><p>extra</p>"
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<table data-start=0 data-end=1><tbody><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("stylewithcss") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<table data-start=0 data-end=1><tbody><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("stylewithcss") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<table data-start=0 data-end=1><tbody><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("stylewithcss") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<table data-start=0 data-end=1><tbody><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("stylewithcss") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<table data-start=0 data-end=1><tbody><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("stylewithcss") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<table data-start=0 data-end=1><tbody><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("stylewithcss") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<table data-start=0 data-end=1><tbody><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("defaultparagraphseparator") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<table data-start=0 data-end=1><tbody><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("defaultparagraphseparator") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<table data-start=0 data-end=1><tbody><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("defaultparagraphseparator") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<table data-start=0 data-end=1><tbody><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("defaultparagraphseparator") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<table data-start=0 data-end=1><tbody><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("defaultparagraphseparator") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<table data-start=0 data-end=1><tbody><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("defaultparagraphseparator") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<table data-start=0 data-end=1><tbody><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("justifyright") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<table data-start=0 data-end=1><tbody><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("justifyright") before 
+FAIL [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<table data-start=0 data-end=1><tbody><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("justifyright") before assert_equals: Wrong result returned expected "left" but got "false"
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<table data-start=0 data-end=1><tbody><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("justifyright") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<table data-start=0 data-end=1><tbody><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("justifyright") after 
+FAIL [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<table data-start=0 data-end=1><tbody><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("justifyright") after assert_equals: Wrong result returned expected "right" but got "true"
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<table data-start=0 data-end=1><tbody><tr><td>foo<td>bar<td>baz</table><p>extra": execCommand("stylewithcss", false, "false") return value 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<table data-start=0 data-end=1><tbody><tr><td>foo<td>bar<td>baz</table><p>extra": execCommand("defaultparagraphseparator", false, "div") return value 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<table data-start=0 data-end=1><tbody><tr><td>foo<td>bar<td>baz</table><p>extra": execCommand("justifyright", false, "") return value 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<table data-start=0 data-end=1><tbody><tr><td>foo<td>bar<td>baz</table><p>extra" checks for modifications to non-editable content 
+FAIL [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<table data-start=0 data-end=1><tbody><tr><td>foo<td>bar<td>baz</table><p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<div style=\"text-align:right\"><table><tbody><tr><td>foo</td><td>bar</td><td>baz</td></tr></tbody></table></div><p>extra</p>" but got "<table style=\"text-align:right\"><tbody><tr><td>foo</td><td>bar</td><td>baz</td></tr></tbody></table><p>extra</p>"
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<table data-start=0 data-end=1><tbody><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("stylewithcss") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<table data-start=0 data-end=1><tbody><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("stylewithcss") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<table data-start=0 data-end=1><tbody><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("stylewithcss") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<table data-start=0 data-end=1><tbody><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("stylewithcss") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<table data-start=0 data-end=1><tbody><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("stylewithcss") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<table data-start=0 data-end=1><tbody><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("stylewithcss") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<table data-start=0 data-end=1><tbody><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("defaultparagraphseparator") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<table data-start=0 data-end=1><tbody><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("defaultparagraphseparator") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<table data-start=0 data-end=1><tbody><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("defaultparagraphseparator") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<table data-start=0 data-end=1><tbody><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("defaultparagraphseparator") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<table data-start=0 data-end=1><tbody><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("defaultparagraphseparator") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<table data-start=0 data-end=1><tbody><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("defaultparagraphseparator") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<table data-start=0 data-end=1><tbody><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("justifyright") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<table data-start=0 data-end=1><tbody><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("justifyright") before 
+FAIL [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<table data-start=0 data-end=1><tbody><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("justifyright") before assert_equals: Wrong result returned expected "left" but got "false"
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<table data-start=0 data-end=1><tbody><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("justifyright") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<table data-start=0 data-end=1><tbody><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("justifyright") after 
+FAIL [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<table data-start=0 data-end=1><tbody><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("justifyright") after assert_equals: Wrong result returned expected "right" but got "true"
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<table data-start=0 data-end=1><tbody><tr><td>foo<td>bar<td>baz</table><p>extra": execCommand("stylewithcss", false, "true") return value 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<table data-start=0 data-end=1><tbody><tr><td>foo<td>bar<td>baz</table><p>extra": execCommand("defaultparagraphseparator", false, "p") return value 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<table data-start=0 data-end=1><tbody><tr><td>foo<td>bar<td>baz</table><p>extra": execCommand("justifyright", false, "") return value 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<table data-start=0 data-end=1><tbody><tr><td>foo<td>bar<td>baz</table><p>extra" checks for modifications to non-editable content 
+FAIL [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<table data-start=0 data-end=1><tbody><tr><td>foo<td>bar<td>baz</table><p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<div style=\"text-align:right\"><table><tbody><tr><td>foo</td><td>bar</td><td>baz</td></tr></tbody></table></div><p>extra</p>" but got "<table style=\"text-align:right\"><tbody><tr><td>foo</td><td>bar</td><td>baz</td></tr></tbody></table><p>extra</p>"
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<table data-start=0 data-end=1><tbody><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("stylewithcss") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<table data-start=0 data-end=1><tbody><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("stylewithcss") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<table data-start=0 data-end=1><tbody><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("stylewithcss") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<table data-start=0 data-end=1><tbody><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("stylewithcss") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<table data-start=0 data-end=1><tbody><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("stylewithcss") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<table data-start=0 data-end=1><tbody><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("stylewithcss") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<table data-start=0 data-end=1><tbody><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("defaultparagraphseparator") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<table data-start=0 data-end=1><tbody><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("defaultparagraphseparator") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<table data-start=0 data-end=1><tbody><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("defaultparagraphseparator") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<table data-start=0 data-end=1><tbody><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("defaultparagraphseparator") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<table data-start=0 data-end=1><tbody><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("defaultparagraphseparator") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<table data-start=0 data-end=1><tbody><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("defaultparagraphseparator") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<table data-start=0 data-end=1><tbody><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("justifyright") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<table data-start=0 data-end=1><tbody><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("justifyright") before 
+FAIL [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<table data-start=0 data-end=1><tbody><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("justifyright") before assert_equals: Wrong result returned expected "left" but got "false"
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<table data-start=0 data-end=1><tbody><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("justifyright") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<table data-start=0 data-end=1><tbody><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("justifyright") after 
+FAIL [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<table data-start=0 data-end=1><tbody><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("justifyright") after assert_equals: Wrong result returned expected "right" but got "true"
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<table data-start=0 data-end=1><tbody><tr><td>foo<td>bar<td>baz</table><p>extra": execCommand("stylewithcss", false, "false") return value 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<table data-start=0 data-end=1><tbody><tr><td>foo<td>bar<td>baz</table><p>extra": execCommand("defaultparagraphseparator", false, "p") return value 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<table data-start=0 data-end=1><tbody><tr><td>foo<td>bar<td>baz</table><p>extra": execCommand("justifyright", false, "") return value 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<table data-start=0 data-end=1><tbody><tr><td>foo<td>bar<td>baz</table><p>extra" checks for modifications to non-editable content 
+FAIL [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<table data-start=0 data-end=1><tbody><tr><td>foo<td>bar<td>baz</table><p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<div style=\"text-align:right\"><table><tbody><tr><td>foo</td><td>bar</td><td>baz</td></tr></tbody></table></div><p>extra</p>" but got "<table style=\"text-align:right\"><tbody><tr><td>foo</td><td>bar</td><td>baz</td></tr></tbody></table><p>extra</p>"
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<table data-start=0 data-end=1><tbody><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("stylewithcss") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<table data-start=0 data-end=1><tbody><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("stylewithcss") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<table data-start=0 data-end=1><tbody><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("stylewithcss") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<table data-start=0 data-end=1><tbody><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("stylewithcss") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<table data-start=0 data-end=1><tbody><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("stylewithcss") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<table data-start=0 data-end=1><tbody><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("stylewithcss") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<table data-start=0 data-end=1><tbody><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("defaultparagraphseparator") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<table data-start=0 data-end=1><tbody><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("defaultparagraphseparator") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<table data-start=0 data-end=1><tbody><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("defaultparagraphseparator") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<table data-start=0 data-end=1><tbody><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("defaultparagraphseparator") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<table data-start=0 data-end=1><tbody><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("defaultparagraphseparator") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<table data-start=0 data-end=1><tbody><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("defaultparagraphseparator") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<table data-start=0 data-end=1><tbody><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("justifyright") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<table data-start=0 data-end=1><tbody><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("justifyright") before 
+FAIL [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<table data-start=0 data-end=1><tbody><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("justifyright") before assert_equals: Wrong result returned expected "left" but got "false"
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<table data-start=0 data-end=1><tbody><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("justifyright") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<table data-start=0 data-end=1><tbody><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("justifyright") after 
+FAIL [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<table data-start=0 data-end=1><tbody><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("justifyright") after assert_equals: Wrong result returned expected "right" but got "true"
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "{<table><tr><td>foo<td>bar<td>baz</table>}<p>extra": execCommand("stylewithcss", false, "true") return value 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "{<table><tr><td>foo<td>bar<td>baz</table>}<p>extra": execCommand("defaultparagraphseparator", false, "div") return value 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "{<table><tr><td>foo<td>bar<td>baz</table>}<p>extra": execCommand("justifyright", false, "") return value 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "{<table><tr><td>foo<td>bar<td>baz</table>}<p>extra" checks for modifications to non-editable content 
+FAIL [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "{<table><tr><td>foo<td>bar<td>baz</table>}<p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<div style=\"text-align:right\"><table><tbody><tr><td>foo</td><td>bar</td><td>baz</td></tr></tbody></table></div><p>extra</p>" but got "<table style=\"text-align:right\"><tbody><tr><td>foo</td><td>bar</td><td>baz</td></tr></tbody></table><p style=\"text-align:right\">extra</p>"
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "{<table><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandIndeterm("stylewithcss") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "{<table><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandState("stylewithcss") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "{<table><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandValue("stylewithcss") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "{<table><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandIndeterm("stylewithcss") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "{<table><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandState("stylewithcss") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "{<table><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandValue("stylewithcss") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "{<table><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandIndeterm("defaultparagraphseparator") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "{<table><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandState("defaultparagraphseparator") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "{<table><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandValue("defaultparagraphseparator") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "{<table><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandIndeterm("defaultparagraphseparator") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "{<table><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandState("defaultparagraphseparator") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "{<table><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandValue("defaultparagraphseparator") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "{<table><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandIndeterm("justifyright") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "{<table><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandState("justifyright") before 
+FAIL [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "{<table><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandValue("justifyright") before assert_equals: Wrong result returned expected "left" but got "false"
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "{<table><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandIndeterm("justifyright") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "{<table><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandState("justifyright") after 
+FAIL [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "{<table><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandValue("justifyright") after assert_equals: Wrong result returned expected "right" but got "true"
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "{<table><tr><td>foo<td>bar<td>baz</table>}<p>extra": execCommand("stylewithcss", false, "false") return value 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "{<table><tr><td>foo<td>bar<td>baz</table>}<p>extra": execCommand("defaultparagraphseparator", false, "div") return value 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "{<table><tr><td>foo<td>bar<td>baz</table>}<p>extra": execCommand("justifyright", false, "") return value 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "{<table><tr><td>foo<td>bar<td>baz</table>}<p>extra" checks for modifications to non-editable content 
+FAIL [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "{<table><tr><td>foo<td>bar<td>baz</table>}<p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<div style=\"text-align:right\"><table><tbody><tr><td>foo</td><td>bar</td><td>baz</td></tr></tbody></table></div><p>extra</p>" but got "<table style=\"text-align:right\"><tbody><tr><td>foo</td><td>bar</td><td>baz</td></tr></tbody></table><p style=\"text-align:right\">extra</p>"
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "{<table><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandIndeterm("stylewithcss") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "{<table><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandState("stylewithcss") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "{<table><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandValue("stylewithcss") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "{<table><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandIndeterm("stylewithcss") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "{<table><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandState("stylewithcss") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "{<table><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandValue("stylewithcss") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "{<table><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandIndeterm("defaultparagraphseparator") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "{<table><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandState("defaultparagraphseparator") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "{<table><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandValue("defaultparagraphseparator") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "{<table><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandIndeterm("defaultparagraphseparator") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "{<table><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandState("defaultparagraphseparator") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "{<table><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandValue("defaultparagraphseparator") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "{<table><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandIndeterm("justifyright") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "{<table><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandState("justifyright") before 
+FAIL [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "{<table><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandValue("justifyright") before assert_equals: Wrong result returned expected "left" but got "false"
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "{<table><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandIndeterm("justifyright") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "{<table><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandState("justifyright") after 
+FAIL [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "{<table><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandValue("justifyright") after assert_equals: Wrong result returned expected "right" but got "true"
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "{<table><tr><td>foo<td>bar<td>baz</table>}<p>extra": execCommand("stylewithcss", false, "true") return value 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "{<table><tr><td>foo<td>bar<td>baz</table>}<p>extra": execCommand("defaultparagraphseparator", false, "p") return value 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "{<table><tr><td>foo<td>bar<td>baz</table>}<p>extra": execCommand("justifyright", false, "") return value 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "{<table><tr><td>foo<td>bar<td>baz</table>}<p>extra" checks for modifications to non-editable content 
+FAIL [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "{<table><tr><td>foo<td>bar<td>baz</table>}<p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<div style=\"text-align:right\"><table><tbody><tr><td>foo</td><td>bar</td><td>baz</td></tr></tbody></table></div><p>extra</p>" but got "<table style=\"text-align:right\"><tbody><tr><td>foo</td><td>bar</td><td>baz</td></tr></tbody></table><p style=\"text-align:right\">extra</p>"
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "{<table><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandIndeterm("stylewithcss") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "{<table><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandState("stylewithcss") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "{<table><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandValue("stylewithcss") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "{<table><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandIndeterm("stylewithcss") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "{<table><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandState("stylewithcss") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "{<table><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandValue("stylewithcss") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "{<table><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandIndeterm("defaultparagraphseparator") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "{<table><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandState("defaultparagraphseparator") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "{<table><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandValue("defaultparagraphseparator") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "{<table><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandIndeterm("defaultparagraphseparator") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "{<table><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandState("defaultparagraphseparator") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "{<table><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandValue("defaultparagraphseparator") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "{<table><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandIndeterm("justifyright") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "{<table><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandState("justifyright") before 
+FAIL [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "{<table><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandValue("justifyright") before assert_equals: Wrong result returned expected "left" but got "false"
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "{<table><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandIndeterm("justifyright") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "{<table><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandState("justifyright") after 
+FAIL [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "{<table><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandValue("justifyright") after assert_equals: Wrong result returned expected "right" but got "true"
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "{<table><tr><td>foo<td>bar<td>baz</table>}<p>extra": execCommand("stylewithcss", false, "false") return value 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "{<table><tr><td>foo<td>bar<td>baz</table>}<p>extra": execCommand("defaultparagraphseparator", false, "p") return value 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "{<table><tr><td>foo<td>bar<td>baz</table>}<p>extra": execCommand("justifyright", false, "") return value 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "{<table><tr><td>foo<td>bar<td>baz</table>}<p>extra" checks for modifications to non-editable content 
+FAIL [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "{<table><tr><td>foo<td>bar<td>baz</table>}<p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<div style=\"text-align:right\"><table><tbody><tr><td>foo</td><td>bar</td><td>baz</td></tr></tbody></table></div><p>extra</p>" but got "<table style=\"text-align:right\"><tbody><tr><td>foo</td><td>bar</td><td>baz</td></tr></tbody></table><p style=\"text-align:right\">extra</p>"
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "{<table><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandIndeterm("stylewithcss") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "{<table><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandState("stylewithcss") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "{<table><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandValue("stylewithcss") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "{<table><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandIndeterm("stylewithcss") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "{<table><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandState("stylewithcss") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "{<table><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandValue("stylewithcss") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "{<table><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandIndeterm("defaultparagraphseparator") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "{<table><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandState("defaultparagraphseparator") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "{<table><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandValue("defaultparagraphseparator") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "{<table><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandIndeterm("defaultparagraphseparator") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "{<table><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandState("defaultparagraphseparator") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "{<table><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandValue("defaultparagraphseparator") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "{<table><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandIndeterm("justifyright") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "{<table><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandState("justifyright") before 
+FAIL [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "{<table><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandValue("justifyright") before assert_equals: Wrong result returned expected "left" but got "false"
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "{<table><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandIndeterm("justifyright") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "{<table><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandState("justifyright") after 
+FAIL [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "{<table><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandValue("justifyright") after assert_equals: Wrong result returned expected "right" but got "true"
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<table align=right><tbody><tr><td>foo<td>b[a]r<td>baz</table><p>extra": execCommand("stylewithcss", false, "true") return value 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<table align=right><tbody><tr><td>foo<td>b[a]r<td>baz</table><p>extra": execCommand("defaultparagraphseparator", false, "div") return value 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<table align=right><tbody><tr><td>foo<td>b[a]r<td>baz</table><p>extra": execCommand("justifyright", false, "") return value 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<table align=right><tbody><tr><td>foo<td>b[a]r<td>baz</table><p>extra" checks for modifications to non-editable content 
+FAIL [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<table align=right><tbody><tr><td>foo<td>b[a]r<td>baz</table><p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<table align=\"right\"><tbody><tr><td>foo</td><td><div style=\"text-align:right\">bar</div></td><td>baz</td></tr></tbody></table><p>extra</p>" but got "<table align=\"right\"><tbody><tr><td>foo</td><td style=\"text-align:right\">bar</td><td>baz</td></tr></tbody></table><p>extra</p>"
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<table align=right><tbody><tr><td>foo<td>b[a]r<td>baz</table><p>extra" queryCommandIndeterm("stylewithcss") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<table align=right><tbody><tr><td>foo<td>b[a]r<td>baz</table><p>extra" queryCommandState("stylewithcss") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<table align=right><tbody><tr><td>foo<td>b[a]r<td>baz</table><p>extra" queryCommandValue("stylewithcss") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<table align=right><tbody><tr><td>foo<td>b[a]r<td>baz</table><p>extra" queryCommandIndeterm("stylewithcss") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<table align=right><tbody><tr><td>foo<td>b[a]r<td>baz</table><p>extra" queryCommandState("stylewithcss") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<table align=right><tbody><tr><td>foo<td>b[a]r<td>baz</table><p>extra" queryCommandValue("stylewithcss") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<table align=right><tbody><tr><td>foo<td>b[a]r<td>baz</table><p>extra" queryCommandIndeterm("defaultparagraphseparator") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<table align=right><tbody><tr><td>foo<td>b[a]r<td>baz</table><p>extra" queryCommandState("defaultparagraphseparator") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<table align=right><tbody><tr><td>foo<td>b[a]r<td>baz</table><p>extra" queryCommandValue("defaultparagraphseparator") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<table align=right><tbody><tr><td>foo<td>b[a]r<td>baz</table><p>extra" queryCommandIndeterm("defaultparagraphseparator") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<table align=right><tbody><tr><td>foo<td>b[a]r<td>baz</table><p>extra" queryCommandState("defaultparagraphseparator") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<table align=right><tbody><tr><td>foo<td>b[a]r<td>baz</table><p>extra" queryCommandValue("defaultparagraphseparator") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<table align=right><tbody><tr><td>foo<td>b[a]r<td>baz</table><p>extra" queryCommandIndeterm("justifyright") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<table align=right><tbody><tr><td>foo<td>b[a]r<td>baz</table><p>extra" queryCommandState("justifyright") before 
+FAIL [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<table align=right><tbody><tr><td>foo<td>b[a]r<td>baz</table><p>extra" queryCommandValue("justifyright") before assert_equals: Wrong result returned expected "left" but got "false"
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<table align=right><tbody><tr><td>foo<td>b[a]r<td>baz</table><p>extra" queryCommandIndeterm("justifyright") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<table align=right><tbody><tr><td>foo<td>b[a]r<td>baz</table><p>extra" queryCommandState("justifyright") after 
+FAIL [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<table align=right><tbody><tr><td>foo<td>b[a]r<td>baz</table><p>extra" queryCommandValue("justifyright") after assert_equals: Wrong result returned expected "right" but got "true"
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<table align=right><tbody><tr><td>foo<td>b[a]r<td>baz</table><p>extra": execCommand("stylewithcss", false, "false") return value 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<table align=right><tbody><tr><td>foo<td>b[a]r<td>baz</table><p>extra": execCommand("defaultparagraphseparator", false, "div") return value 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<table align=right><tbody><tr><td>foo<td>b[a]r<td>baz</table><p>extra": execCommand("justifyright", false, "") return value 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<table align=right><tbody><tr><td>foo<td>b[a]r<td>baz</table><p>extra" checks for modifications to non-editable content 
+FAIL [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<table align=right><tbody><tr><td>foo<td>b[a]r<td>baz</table><p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<table align=\"right\"><tbody><tr><td>foo</td><td><div style=\"text-align:right\">bar</div></td><td>baz</td></tr></tbody></table><p>extra</p>" but got "<table align=\"right\"><tbody><tr><td>foo</td><td style=\"text-align:right\">bar</td><td>baz</td></tr></tbody></table><p>extra</p>"
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<table align=right><tbody><tr><td>foo<td>b[a]r<td>baz</table><p>extra" queryCommandIndeterm("stylewithcss") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<table align=right><tbody><tr><td>foo<td>b[a]r<td>baz</table><p>extra" queryCommandState("stylewithcss") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<table align=right><tbody><tr><td>foo<td>b[a]r<td>baz</table><p>extra" queryCommandValue("stylewithcss") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<table align=right><tbody><tr><td>foo<td>b[a]r<td>baz</table><p>extra" queryCommandIndeterm("stylewithcss") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<table align=right><tbody><tr><td>foo<td>b[a]r<td>baz</table><p>extra" queryCommandState("stylewithcss") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<table align=right><tbody><tr><td>foo<td>b[a]r<td>baz</table><p>extra" queryCommandValue("stylewithcss") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<table align=right><tbody><tr><td>foo<td>b[a]r<td>baz</table><p>extra" queryCommandIndeterm("defaultparagraphseparator") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<table align=right><tbody><tr><td>foo<td>b[a]r<td>baz</table><p>extra" queryCommandState("defaultparagraphseparator") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<table align=right><tbody><tr><td>foo<td>b[a]r<td>baz</table><p>extra" queryCommandValue("defaultparagraphseparator") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<table align=right><tbody><tr><td>foo<td>b[a]r<td>baz</table><p>extra" queryCommandIndeterm("defaultparagraphseparator") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<table align=right><tbody><tr><td>foo<td>b[a]r<td>baz</table><p>extra" queryCommandState("defaultparagraphseparator") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<table align=right><tbody><tr><td>foo<td>b[a]r<td>baz</table><p>extra" queryCommandValue("defaultparagraphseparator") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<table align=right><tbody><tr><td>foo<td>b[a]r<td>baz</table><p>extra" queryCommandIndeterm("justifyright") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<table align=right><tbody><tr><td>foo<td>b[a]r<td>baz</table><p>extra" queryCommandState("justifyright") before 
+FAIL [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<table align=right><tbody><tr><td>foo<td>b[a]r<td>baz</table><p>extra" queryCommandValue("justifyright") before assert_equals: Wrong result returned expected "left" but got "false"
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<table align=right><tbody><tr><td>foo<td>b[a]r<td>baz</table><p>extra" queryCommandIndeterm("justifyright") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<table align=right><tbody><tr><td>foo<td>b[a]r<td>baz</table><p>extra" queryCommandState("justifyright") after 
+FAIL [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<table align=right><tbody><tr><td>foo<td>b[a]r<td>baz</table><p>extra" queryCommandValue("justifyright") after assert_equals: Wrong result returned expected "right" but got "true"
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<table align=right><tbody><tr><td>foo<td>b[a]r<td>baz</table><p>extra": execCommand("stylewithcss", false, "true") return value 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<table align=right><tbody><tr><td>foo<td>b[a]r<td>baz</table><p>extra": execCommand("defaultparagraphseparator", false, "p") return value 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<table align=right><tbody><tr><td>foo<td>b[a]r<td>baz</table><p>extra": execCommand("justifyright", false, "") return value 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<table align=right><tbody><tr><td>foo<td>b[a]r<td>baz</table><p>extra" checks for modifications to non-editable content 
+FAIL [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<table align=right><tbody><tr><td>foo<td>b[a]r<td>baz</table><p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<table align=\"right\"><tbody><tr><td>foo</td><td><div style=\"text-align:right\">bar</div></td><td>baz</td></tr></tbody></table><p>extra</p>" but got "<table align=\"right\"><tbody><tr><td>foo</td><td style=\"text-align:right\">bar</td><td>baz</td></tr></tbody></table><p>extra</p>"
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<table align=right><tbody><tr><td>foo<td>b[a]r<td>baz</table><p>extra" queryCommandIndeterm("stylewithcss") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<table align=right><tbody><tr><td>foo<td>b[a]r<td>baz</table><p>extra" queryCommandState("stylewithcss") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<table align=right><tbody><tr><td>foo<td>b[a]r<td>baz</table><p>extra" queryCommandValue("stylewithcss") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<table align=right><tbody><tr><td>foo<td>b[a]r<td>baz</table><p>extra" queryCommandIndeterm("stylewithcss") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<table align=right><tbody><tr><td>foo<td>b[a]r<td>baz</table><p>extra" queryCommandState("stylewithcss") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<table align=right><tbody><tr><td>foo<td>b[a]r<td>baz</table><p>extra" queryCommandValue("stylewithcss") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<table align=right><tbody><tr><td>foo<td>b[a]r<td>baz</table><p>extra" queryCommandIndeterm("defaultparagraphseparator") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<table align=right><tbody><tr><td>foo<td>b[a]r<td>baz</table><p>extra" queryCommandState("defaultparagraphseparator") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<table align=right><tbody><tr><td>foo<td>b[a]r<td>baz</table><p>extra" queryCommandValue("defaultparagraphseparator") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<table align=right><tbody><tr><td>foo<td>b[a]r<td>baz</table><p>extra" queryCommandIndeterm("defaultparagraphseparator") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<table align=right><tbody><tr><td>foo<td>b[a]r<td>baz</table><p>extra" queryCommandState("defaultparagraphseparator") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<table align=right><tbody><tr><td>foo<td>b[a]r<td>baz</table><p>extra" queryCommandValue("defaultparagraphseparator") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<table align=right><tbody><tr><td>foo<td>b[a]r<td>baz</table><p>extra" queryCommandIndeterm("justifyright") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<table align=right><tbody><tr><td>foo<td>b[a]r<td>baz</table><p>extra" queryCommandState("justifyright") before 
+FAIL [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<table align=right><tbody><tr><td>foo<td>b[a]r<td>baz</table><p>extra" queryCommandValue("justifyright") before assert_equals: Wrong result returned expected "left" but got "false"
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<table align=right><tbody><tr><td>foo<td>b[a]r<td>baz</table><p>extra" queryCommandIndeterm("justifyright") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<table align=right><tbody><tr><td>foo<td>b[a]r<td>baz</table><p>extra" queryCommandState("justifyright") after 
+FAIL [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<table align=right><tbody><tr><td>foo<td>b[a]r<td>baz</table><p>extra" queryCommandValue("justifyright") after assert_equals: Wrong result returned expected "right" but got "true"
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<table align=right><tbody><tr><td>foo<td>b[a]r<td>baz</table><p>extra": execCommand("stylewithcss", false, "false") return value 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<table align=right><tbody><tr><td>foo<td>b[a]r<td>baz</table><p>extra": execCommand("defaultparagraphseparator", false, "p") return value 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<table align=right><tbody><tr><td>foo<td>b[a]r<td>baz</table><p>extra": execCommand("justifyright", false, "") return value 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<table align=right><tbody><tr><td>foo<td>b[a]r<td>baz</table><p>extra" checks for modifications to non-editable content 
+FAIL [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<table align=right><tbody><tr><td>foo<td>b[a]r<td>baz</table><p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<table align=\"right\"><tbody><tr><td>foo</td><td><div style=\"text-align:right\">bar</div></td><td>baz</td></tr></tbody></table><p>extra</p>" but got "<table align=\"right\"><tbody><tr><td>foo</td><td style=\"text-align:right\">bar</td><td>baz</td></tr></tbody></table><p>extra</p>"
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<table align=right><tbody><tr><td>foo<td>b[a]r<td>baz</table><p>extra" queryCommandIndeterm("stylewithcss") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<table align=right><tbody><tr><td>foo<td>b[a]r<td>baz</table><p>extra" queryCommandState("stylewithcss") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<table align=right><tbody><tr><td>foo<td>b[a]r<td>baz</table><p>extra" queryCommandValue("stylewithcss") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<table align=right><tbody><tr><td>foo<td>b[a]r<td>baz</table><p>extra" queryCommandIndeterm("stylewithcss") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<table align=right><tbody><tr><td>foo<td>b[a]r<td>baz</table><p>extra" queryCommandState("stylewithcss") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<table align=right><tbody><tr><td>foo<td>b[a]r<td>baz</table><p>extra" queryCommandValue("stylewithcss") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<table align=right><tbody><tr><td>foo<td>b[a]r<td>baz</table><p>extra" queryCommandIndeterm("defaultparagraphseparator") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<table align=right><tbody><tr><td>foo<td>b[a]r<td>baz</table><p>extra" queryCommandState("defaultparagraphseparator") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<table align=right><tbody><tr><td>foo<td>b[a]r<td>baz</table><p>extra" queryCommandValue("defaultparagraphseparator") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<table align=right><tbody><tr><td>foo<td>b[a]r<td>baz</table><p>extra" queryCommandIndeterm("defaultparagraphseparator") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<table align=right><tbody><tr><td>foo<td>b[a]r<td>baz</table><p>extra" queryCommandState("defaultparagraphseparator") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<table align=right><tbody><tr><td>foo<td>b[a]r<td>baz</table><p>extra" queryCommandValue("defaultparagraphseparator") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<table align=right><tbody><tr><td>foo<td>b[a]r<td>baz</table><p>extra" queryCommandIndeterm("justifyright") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<table align=right><tbody><tr><td>foo<td>b[a]r<td>baz</table><p>extra" queryCommandState("justifyright") before 
+FAIL [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<table align=right><tbody><tr><td>foo<td>b[a]r<td>baz</table><p>extra" queryCommandValue("justifyright") before assert_equals: Wrong result returned expected "left" but got "false"
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<table align=right><tbody><tr><td>foo<td>b[a]r<td>baz</table><p>extra" queryCommandIndeterm("justifyright") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<table align=right><tbody><tr><td>foo<td>b[a]r<td>baz</table><p>extra" queryCommandState("justifyright") after 
+FAIL [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<table align=right><tbody><tr><td>foo<td>b[a]r<td>baz</table><p>extra" queryCommandValue("justifyright") after assert_equals: Wrong result returned expected "right" but got "true"
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<table align=right><tbody><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table><p>extra": execCommand("stylewithcss", false, "true") return value 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<table align=right><tbody><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table><p>extra": execCommand("defaultparagraphseparator", false, "div") return value 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<table align=right><tbody><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table><p>extra": execCommand("justifyright", false, "") return value 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<table align=right><tbody><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table><p>extra" checks for modifications to non-editable content 
+FAIL [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<table align=right><tbody><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table><p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<table align=\"right\"><tbody><tr><td>foo</td><td><div style=\"text-align:right\">bar</div></td><td>baz</td></tr></tbody></table><p>extra</p>" but got "<table align=\"right\"><tbody><tr><td>foo</td><td style=\"text-align:right\">bar</td><td style=\"text-align:right\">baz</td></tr></tbody></table><p>extra</p>"
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<table align=right><tbody><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("stylewithcss") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<table align=right><tbody><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("stylewithcss") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<table align=right><tbody><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("stylewithcss") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<table align=right><tbody><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("stylewithcss") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<table align=right><tbody><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("stylewithcss") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<table align=right><tbody><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("stylewithcss") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<table align=right><tbody><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("defaultparagraphseparator") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<table align=right><tbody><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("defaultparagraphseparator") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<table align=right><tbody><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("defaultparagraphseparator") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<table align=right><tbody><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("defaultparagraphseparator") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<table align=right><tbody><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("defaultparagraphseparator") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<table align=right><tbody><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("defaultparagraphseparator") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<table align=right><tbody><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("justifyright") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<table align=right><tbody><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("justifyright") before 
+FAIL [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<table align=right><tbody><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("justifyright") before assert_equals: Wrong result returned expected "left" but got "false"
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<table align=right><tbody><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("justifyright") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<table align=right><tbody><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("justifyright") after 
+FAIL [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<table align=right><tbody><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("justifyright") after assert_equals: Wrong result returned expected "right" but got "true"
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<table align=right><tbody><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table><p>extra": execCommand("stylewithcss", false, "false") return value 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<table align=right><tbody><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table><p>extra": execCommand("defaultparagraphseparator", false, "div") return value 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<table align=right><tbody><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table><p>extra": execCommand("justifyright", false, "") return value 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<table align=right><tbody><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table><p>extra" checks for modifications to non-editable content 
+FAIL [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<table align=right><tbody><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table><p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<table align=\"right\"><tbody><tr><td>foo</td><td><div style=\"text-align:right\">bar</div></td><td>baz</td></tr></tbody></table><p>extra</p>" but got "<table align=\"right\"><tbody><tr><td>foo</td><td style=\"text-align:right\">bar</td><td style=\"text-align:right\">baz</td></tr></tbody></table><p>extra</p>"
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<table align=right><tbody><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("stylewithcss") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<table align=right><tbody><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("stylewithcss") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<table align=right><tbody><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("stylewithcss") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<table align=right><tbody><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("stylewithcss") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<table align=right><tbody><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("stylewithcss") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<table align=right><tbody><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("stylewithcss") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<table align=right><tbody><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("defaultparagraphseparator") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<table align=right><tbody><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("defaultparagraphseparator") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<table align=right><tbody><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("defaultparagraphseparator") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<table align=right><tbody><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("defaultparagraphseparator") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<table align=right><tbody><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("defaultparagraphseparator") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<table align=right><tbody><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("defaultparagraphseparator") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<table align=right><tbody><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("justifyright") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<table align=right><tbody><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("justifyright") before 
+FAIL [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<table align=right><tbody><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("justifyright") before assert_equals: Wrong result returned expected "left" but got "false"
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<table align=right><tbody><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("justifyright") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<table align=right><tbody><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("justifyright") after 
+FAIL [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<table align=right><tbody><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("justifyright") after assert_equals: Wrong result returned expected "right" but got "true"
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<table align=right><tbody><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table><p>extra": execCommand("stylewithcss", false, "true") return value 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<table align=right><tbody><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table><p>extra": execCommand("defaultparagraphseparator", false, "p") return value 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<table align=right><tbody><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table><p>extra": execCommand("justifyright", false, "") return value 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<table align=right><tbody><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table><p>extra" checks for modifications to non-editable content 
+FAIL [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<table align=right><tbody><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table><p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<table align=\"right\"><tbody><tr><td>foo</td><td><div style=\"text-align:right\">bar</div></td><td>baz</td></tr></tbody></table><p>extra</p>" but got "<table align=\"right\"><tbody><tr><td>foo</td><td style=\"text-align:right\">bar</td><td style=\"text-align:right\">baz</td></tr></tbody></table><p>extra</p>"
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<table align=right><tbody><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("stylewithcss") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<table align=right><tbody><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("stylewithcss") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<table align=right><tbody><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("stylewithcss") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<table align=right><tbody><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("stylewithcss") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<table align=right><tbody><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("stylewithcss") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<table align=right><tbody><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("stylewithcss") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<table align=right><tbody><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("defaultparagraphseparator") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<table align=right><tbody><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("defaultparagraphseparator") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<table align=right><tbody><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("defaultparagraphseparator") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<table align=right><tbody><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("defaultparagraphseparator") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<table align=right><tbody><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("defaultparagraphseparator") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<table align=right><tbody><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("defaultparagraphseparator") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<table align=right><tbody><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("justifyright") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<table align=right><tbody><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("justifyright") before 
+FAIL [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<table align=right><tbody><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("justifyright") before assert_equals: Wrong result returned expected "left" but got "false"
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<table align=right><tbody><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("justifyright") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<table align=right><tbody><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("justifyright") after 
+FAIL [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<table align=right><tbody><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("justifyright") after assert_equals: Wrong result returned expected "right" but got "true"
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<table align=right><tbody><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table><p>extra": execCommand("stylewithcss", false, "false") return value 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<table align=right><tbody><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table><p>extra": execCommand("defaultparagraphseparator", false, "p") return value 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<table align=right><tbody><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table><p>extra": execCommand("justifyright", false, "") return value 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<table align=right><tbody><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table><p>extra" checks for modifications to non-editable content 
+FAIL [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<table align=right><tbody><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table><p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<table align=\"right\"><tbody><tr><td>foo</td><td><div style=\"text-align:right\">bar</div></td><td>baz</td></tr></tbody></table><p>extra</p>" but got "<table align=\"right\"><tbody><tr><td>foo</td><td style=\"text-align:right\">bar</td><td style=\"text-align:right\">baz</td></tr></tbody></table><p>extra</p>"
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<table align=right><tbody><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("stylewithcss") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<table align=right><tbody><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("stylewithcss") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<table align=right><tbody><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("stylewithcss") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<table align=right><tbody><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("stylewithcss") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<table align=right><tbody><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("stylewithcss") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<table align=right><tbody><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("stylewithcss") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<table align=right><tbody><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("defaultparagraphseparator") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<table align=right><tbody><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("defaultparagraphseparator") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<table align=right><tbody><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("defaultparagraphseparator") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<table align=right><tbody><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("defaultparagraphseparator") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<table align=right><tbody><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("defaultparagraphseparator") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<table align=right><tbody><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("defaultparagraphseparator") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<table align=right><tbody><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("justifyright") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<table align=right><tbody><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("justifyright") before 
+FAIL [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<table align=right><tbody><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("justifyright") before assert_equals: Wrong result returned expected "left" but got "false"
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<table align=right><tbody><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("justifyright") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<table align=right><tbody><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("justifyright") after 
+FAIL [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<table align=right><tbody><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("justifyright") after assert_equals: Wrong result returned expected "right" but got "true"
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<table align=right><tbody><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table><p>extra": execCommand("stylewithcss", false, "true") return value 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<table align=right><tbody><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table><p>extra": execCommand("defaultparagraphseparator", false, "div") return value 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<table align=right><tbody><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table><p>extra": execCommand("justifyright", false, "") return value 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<table align=right><tbody><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table><p>extra" checks for modifications to non-editable content 
+FAIL [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<table align=right><tbody><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table><p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<table align=\"right\"><tbody><tr><td><div style=\"text-align:right\">foo</div></td><td><div style=\"text-align:right\">bar</div></td><td>baz</td></tr></tbody></table><p>extra</p>" but got "<table align=\"right\"><tbody><tr><td style=\"text-align:right\">foo</td><td style=\"text-align:right\">bar</td><td style=\"text-align:right\">baz</td></tr></tbody></table><p>extra</p>"
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<table align=right><tbody><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("stylewithcss") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<table align=right><tbody><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("stylewithcss") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<table align=right><tbody><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("stylewithcss") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<table align=right><tbody><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("stylewithcss") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<table align=right><tbody><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("stylewithcss") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<table align=right><tbody><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("stylewithcss") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<table align=right><tbody><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("defaultparagraphseparator") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<table align=right><tbody><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("defaultparagraphseparator") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<table align=right><tbody><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("defaultparagraphseparator") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<table align=right><tbody><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("defaultparagraphseparator") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<table align=right><tbody><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("defaultparagraphseparator") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<table align=right><tbody><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("defaultparagraphseparator") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<table align=right><tbody><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("justifyright") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<table align=right><tbody><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("justifyright") before 
+FAIL [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<table align=right><tbody><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("justifyright") before assert_equals: Wrong result returned expected "left" but got "false"
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<table align=right><tbody><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("justifyright") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<table align=right><tbody><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("justifyright") after 
+FAIL [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<table align=right><tbody><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("justifyright") after assert_equals: Wrong result returned expected "right" but got "true"
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<table align=right><tbody><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table><p>extra": execCommand("stylewithcss", false, "false") return value 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<table align=right><tbody><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table><p>extra": execCommand("defaultparagraphseparator", false, "div") return value 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<table align=right><tbody><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table><p>extra": execCommand("justifyright", false, "") return value 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<table align=right><tbody><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table><p>extra" checks for modifications to non-editable content 
+FAIL [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<table align=right><tbody><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table><p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<table align=\"right\"><tbody><tr><td><div style=\"text-align:right\">foo</div></td><td><div style=\"text-align:right\">bar</div></td><td>baz</td></tr></tbody></table><p>extra</p>" but got "<table align=\"right\"><tbody><tr><td style=\"text-align:right\">foo</td><td style=\"text-align:right\">bar</td><td style=\"text-align:right\">baz</td></tr></tbody></table><p>extra</p>"
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<table align=right><tbody><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("stylewithcss") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<table align=right><tbody><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("stylewithcss") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<table align=right><tbody><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("stylewithcss") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<table align=right><tbody><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("stylewithcss") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<table align=right><tbody><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("stylewithcss") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<table align=right><tbody><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("stylewithcss") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<table align=right><tbody><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("defaultparagraphseparator") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<table align=right><tbody><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("defaultparagraphseparator") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<table align=right><tbody><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("defaultparagraphseparator") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<table align=right><tbody><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("defaultparagraphseparator") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<table align=right><tbody><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("defaultparagraphseparator") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<table align=right><tbody><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("defaultparagraphseparator") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<table align=right><tbody><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("justifyright") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<table align=right><tbody><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("justifyright") before 
+FAIL [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<table align=right><tbody><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("justifyright") before assert_equals: Wrong result returned expected "left" but got "false"
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<table align=right><tbody><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("justifyright") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<table align=right><tbody><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("justifyright") after 
+FAIL [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<table align=right><tbody><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("justifyright") after assert_equals: Wrong result returned expected "right" but got "true"
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<table align=right><tbody><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table><p>extra": execCommand("stylewithcss", false, "true") return value 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<table align=right><tbody><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table><p>extra": execCommand("defaultparagraphseparator", false, "p") return value 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<table align=right><tbody><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table><p>extra": execCommand("justifyright", false, "") return value 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<table align=right><tbody><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table><p>extra" checks for modifications to non-editable content 
+FAIL [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<table align=right><tbody><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table><p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<table align=\"right\"><tbody><tr><td><div style=\"text-align:right\">foo</div></td><td><div style=\"text-align:right\">bar</div></td><td>baz</td></tr></tbody></table><p>extra</p>" but got "<table align=\"right\"><tbody><tr><td style=\"text-align:right\">foo</td><td style=\"text-align:right\">bar</td><td style=\"text-align:right\">baz</td></tr></tbody></table><p>extra</p>"
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<table align=right><tbody><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("stylewithcss") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<table align=right><tbody><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("stylewithcss") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<table align=right><tbody><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("stylewithcss") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<table align=right><tbody><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("stylewithcss") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<table align=right><tbody><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("stylewithcss") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<table align=right><tbody><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("stylewithcss") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<table align=right><tbody><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("defaultparagraphseparator") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<table align=right><tbody><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("defaultparagraphseparator") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<table align=right><tbody><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("defaultparagraphseparator") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<table align=right><tbody><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("defaultparagraphseparator") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<table align=right><tbody><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("defaultparagraphseparator") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<table align=right><tbody><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("defaultparagraphseparator") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<table align=right><tbody><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("justifyright") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<table align=right><tbody><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("justifyright") before 
+FAIL [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<table align=right><tbody><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("justifyright") before assert_equals: Wrong result returned expected "left" but got "false"
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<table align=right><tbody><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("justifyright") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<table align=right><tbody><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("justifyright") after 
+FAIL [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<table align=right><tbody><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("justifyright") after assert_equals: Wrong result returned expected "right" but got "true"
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<table align=right><tbody><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table><p>extra": execCommand("stylewithcss", false, "false") return value 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<table align=right><tbody><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table><p>extra": execCommand("defaultparagraphseparator", false, "p") return value 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<table align=right><tbody><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table><p>extra": execCommand("justifyright", false, "") return value 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<table align=right><tbody><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table><p>extra" checks for modifications to non-editable content 
+FAIL [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<table align=right><tbody><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table><p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<table align=\"right\"><tbody><tr><td><div style=\"text-align:right\">foo</div></td><td><div style=\"text-align:right\">bar</div></td><td>baz</td></tr></tbody></table><p>extra</p>" but got "<table align=\"right\"><tbody><tr><td style=\"text-align:right\">foo</td><td style=\"text-align:right\">bar</td><td style=\"text-align:right\">baz</td></tr></tbody></table><p>extra</p>"
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<table align=right><tbody><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("stylewithcss") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<table align=right><tbody><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("stylewithcss") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<table align=right><tbody><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("stylewithcss") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<table align=right><tbody><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("stylewithcss") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<table align=right><tbody><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("stylewithcss") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<table align=right><tbody><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("stylewithcss") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<table align=right><tbody><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("defaultparagraphseparator") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<table align=right><tbody><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("defaultparagraphseparator") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<table align=right><tbody><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("defaultparagraphseparator") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<table align=right><tbody><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("defaultparagraphseparator") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<table align=right><tbody><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("defaultparagraphseparator") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<table align=right><tbody><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("defaultparagraphseparator") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<table align=right><tbody><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("justifyright") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<table align=right><tbody><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("justifyright") before 
+FAIL [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<table align=right><tbody><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("justifyright") before assert_equals: Wrong result returned expected "left" but got "false"
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<table align=right><tbody><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("justifyright") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<table align=right><tbody><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("justifyright") after 
+FAIL [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<table align=right><tbody><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("justifyright") after assert_equals: Wrong result returned expected "right" but got "true"
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<table align=right><tbody data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra": execCommand("stylewithcss", false, "true") return value 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<table align=right><tbody data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra": execCommand("defaultparagraphseparator", false, "div") return value 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<table align=right><tbody data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra": execCommand("justifyright", false, "") return value 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<table align=right><tbody data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" checks for modifications to non-editable content 
+FAIL [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<table align=right><tbody data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<div style=\"text-align:right\"><table><tbody><tr><td>foo</td><td>bar</td><td>baz</td></tr></tbody></table></div><p>extra</p>" but got "<table align=\"right\" style=\"text-align:right\"><tbody><tr><td style=\"text-align:right\">foo</td><td style=\"text-align:right\">bar</td><td style=\"text-align:right\">baz</td></tr></tbody></table><p>extra</p>"
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<table align=right><tbody data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("stylewithcss") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<table align=right><tbody data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("stylewithcss") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<table align=right><tbody data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("stylewithcss") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<table align=right><tbody data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("stylewithcss") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<table align=right><tbody data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("stylewithcss") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<table align=right><tbody data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("stylewithcss") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<table align=right><tbody data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("defaultparagraphseparator") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<table align=right><tbody data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("defaultparagraphseparator") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<table align=right><tbody data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("defaultparagraphseparator") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<table align=right><tbody data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("defaultparagraphseparator") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<table align=right><tbody data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("defaultparagraphseparator") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<table align=right><tbody data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("defaultparagraphseparator") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<table align=right><tbody data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("justifyright") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<table align=right><tbody data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("justifyright") before 
+FAIL [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<table align=right><tbody data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("justifyright") before assert_equals: Wrong result returned expected "left" but got "false"
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<table align=right><tbody data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("justifyright") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<table align=right><tbody data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("justifyright") after 
+FAIL [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<table align=right><tbody data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("justifyright") after assert_equals: Wrong result returned expected "right" but got "true"
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<table align=right><tbody data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra": execCommand("stylewithcss", false, "false") return value 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<table align=right><tbody data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra": execCommand("defaultparagraphseparator", false, "div") return value 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<table align=right><tbody data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra": execCommand("justifyright", false, "") return value 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<table align=right><tbody data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" checks for modifications to non-editable content 
+FAIL [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<table align=right><tbody data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<div style=\"text-align:right\"><table><tbody><tr><td>foo</td><td>bar</td><td>baz</td></tr></tbody></table></div><p>extra</p>" but got "<table align=\"right\" style=\"text-align:right\"><tbody><tr><td style=\"text-align:right\">foo</td><td style=\"text-align:right\">bar</td><td style=\"text-align:right\">baz</td></tr></tbody></table><p>extra</p>"
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<table align=right><tbody data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("stylewithcss") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<table align=right><tbody data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("stylewithcss") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<table align=right><tbody data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("stylewithcss") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<table align=right><tbody data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("stylewithcss") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<table align=right><tbody data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("stylewithcss") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<table align=right><tbody data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("stylewithcss") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<table align=right><tbody data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("defaultparagraphseparator") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<table align=right><tbody data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("defaultparagraphseparator") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<table align=right><tbody data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("defaultparagraphseparator") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<table align=right><tbody data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("defaultparagraphseparator") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<table align=right><tbody data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("defaultparagraphseparator") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<table align=right><tbody data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("defaultparagraphseparator") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<table align=right><tbody data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("justifyright") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<table align=right><tbody data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("justifyright") before 
+FAIL [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<table align=right><tbody data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("justifyright") before assert_equals: Wrong result returned expected "left" but got "false"
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<table align=right><tbody data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("justifyright") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<table align=right><tbody data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("justifyright") after 
+FAIL [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<table align=right><tbody data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("justifyright") after assert_equals: Wrong result returned expected "right" but got "true"
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<table align=right><tbody data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra": execCommand("stylewithcss", false, "true") return value 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<table align=right><tbody data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra": execCommand("defaultparagraphseparator", false, "p") return value 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<table align=right><tbody data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra": execCommand("justifyright", false, "") return value 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<table align=right><tbody data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" checks for modifications to non-editable content 
+FAIL [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<table align=right><tbody data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<div style=\"text-align:right\"><table><tbody><tr><td>foo</td><td>bar</td><td>baz</td></tr></tbody></table></div><p>extra</p>" but got "<table align=\"right\" style=\"text-align:right\"><tbody><tr><td style=\"text-align:right\">foo</td><td style=\"text-align:right\">bar</td><td style=\"text-align:right\">baz</td></tr></tbody></table><p>extra</p>"
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<table align=right><tbody data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("stylewithcss") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<table align=right><tbody data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("stylewithcss") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<table align=right><tbody data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("stylewithcss") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<table align=right><tbody data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("stylewithcss") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<table align=right><tbody data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("stylewithcss") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<table align=right><tbody data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("stylewithcss") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<table align=right><tbody data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("defaultparagraphseparator") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<table align=right><tbody data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("defaultparagraphseparator") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<table align=right><tbody data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("defaultparagraphseparator") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<table align=right><tbody data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("defaultparagraphseparator") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<table align=right><tbody data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("defaultparagraphseparator") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<table align=right><tbody data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("defaultparagraphseparator") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<table align=right><tbody data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("justifyright") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<table align=right><tbody data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("justifyright") before 
+FAIL [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<table align=right><tbody data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("justifyright") before assert_equals: Wrong result returned expected "left" but got "false"
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<table align=right><tbody data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("justifyright") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<table align=right><tbody data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("justifyright") after 
+FAIL [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<table align=right><tbody data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("justifyright") after assert_equals: Wrong result returned expected "right" but got "true"
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<table align=right><tbody data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra": execCommand("stylewithcss", false, "false") return value 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<table align=right><tbody data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra": execCommand("defaultparagraphseparator", false, "p") return value 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<table align=right><tbody data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra": execCommand("justifyright", false, "") return value 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<table align=right><tbody data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" checks for modifications to non-editable content 
+FAIL [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<table align=right><tbody data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<div style=\"text-align:right\"><table><tbody><tr><td>foo</td><td>bar</td><td>baz</td></tr></tbody></table></div><p>extra</p>" but got "<table align=\"right\" style=\"text-align:right\"><tbody><tr><td style=\"text-align:right\">foo</td><td style=\"text-align:right\">bar</td><td style=\"text-align:right\">baz</td></tr></tbody></table><p>extra</p>"
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<table align=right><tbody data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("stylewithcss") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<table align=right><tbody data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("stylewithcss") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<table align=right><tbody data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("stylewithcss") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<table align=right><tbody data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("stylewithcss") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<table align=right><tbody data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("stylewithcss") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<table align=right><tbody data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("stylewithcss") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<table align=right><tbody data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("defaultparagraphseparator") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<table align=right><tbody data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("defaultparagraphseparator") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<table align=right><tbody data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("defaultparagraphseparator") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<table align=right><tbody data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("defaultparagraphseparator") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<table align=right><tbody data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("defaultparagraphseparator") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<table align=right><tbody data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("defaultparagraphseparator") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<table align=right><tbody data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("justifyright") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<table align=right><tbody data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("justifyright") before 
+FAIL [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<table align=right><tbody data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("justifyright") before assert_equals: Wrong result returned expected "left" but got "false"
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<table align=right><tbody data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("justifyright") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<table align=right><tbody data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("justifyright") after 
+FAIL [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<table align=right><tbody data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("justifyright") after assert_equals: Wrong result returned expected "right" but got "true"
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<table align=right data-start=0 data-end=1><tbody><tr><td>foo<td>bar<td>baz</table><p>extra": execCommand("stylewithcss", false, "true") return value 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<table align=right data-start=0 data-end=1><tbody><tr><td>foo<td>bar<td>baz</table><p>extra": execCommand("defaultparagraphseparator", false, "div") return value 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<table align=right data-start=0 data-end=1><tbody><tr><td>foo<td>bar<td>baz</table><p>extra": execCommand("justifyright", false, "") return value 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<table align=right data-start=0 data-end=1><tbody><tr><td>foo<td>bar<td>baz</table><p>extra" checks for modifications to non-editable content 
+FAIL [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<table align=right data-start=0 data-end=1><tbody><tr><td>foo<td>bar<td>baz</table><p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<div style=\"text-align:right\"><table><tbody><tr><td>foo</td><td>bar</td><td>baz</td></tr></tbody></table></div><p>extra</p>" but got "<table align=\"right\" style=\"text-align:right\"><tbody><tr><td>foo</td><td>bar</td><td>baz</td></tr></tbody></table><p>extra</p>"
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<table align=right data-start=0 data-end=1><tbody><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("stylewithcss") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<table align=right data-start=0 data-end=1><tbody><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("stylewithcss") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<table align=right data-start=0 data-end=1><tbody><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("stylewithcss") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<table align=right data-start=0 data-end=1><tbody><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("stylewithcss") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<table align=right data-start=0 data-end=1><tbody><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("stylewithcss") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<table align=right data-start=0 data-end=1><tbody><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("stylewithcss") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<table align=right data-start=0 data-end=1><tbody><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("defaultparagraphseparator") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<table align=right data-start=0 data-end=1><tbody><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("defaultparagraphseparator") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<table align=right data-start=0 data-end=1><tbody><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("defaultparagraphseparator") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<table align=right data-start=0 data-end=1><tbody><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("defaultparagraphseparator") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<table align=right data-start=0 data-end=1><tbody><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("defaultparagraphseparator") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<table align=right data-start=0 data-end=1><tbody><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("defaultparagraphseparator") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<table align=right data-start=0 data-end=1><tbody><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("justifyright") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<table align=right data-start=0 data-end=1><tbody><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("justifyright") before 
+FAIL [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<table align=right data-start=0 data-end=1><tbody><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("justifyright") before assert_equals: Wrong result returned expected "left" but got "false"
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<table align=right data-start=0 data-end=1><tbody><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("justifyright") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<table align=right data-start=0 data-end=1><tbody><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("justifyright") after 
+FAIL [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<table align=right data-start=0 data-end=1><tbody><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("justifyright") after assert_equals: Wrong result returned expected "right" but got "true"
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<table align=right data-start=0 data-end=1><tbody><tr><td>foo<td>bar<td>baz</table><p>extra": execCommand("stylewithcss", false, "false") return value 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<table align=right data-start=0 data-end=1><tbody><tr><td>foo<td>bar<td>baz</table><p>extra": execCommand("defaultparagraphseparator", false, "div") return value 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<table align=right data-start=0 data-end=1><tbody><tr><td>foo<td>bar<td>baz</table><p>extra": execCommand("justifyright", false, "") return value 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<table align=right data-start=0 data-end=1><tbody><tr><td>foo<td>bar<td>baz</table><p>extra" checks for modifications to non-editable content 
+FAIL [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<table align=right data-start=0 data-end=1><tbody><tr><td>foo<td>bar<td>baz</table><p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<div style=\"text-align:right\"><table><tbody><tr><td>foo</td><td>bar</td><td>baz</td></tr></tbody></table></div><p>extra</p>" but got "<table align=\"right\" style=\"text-align:right\"><tbody><tr><td>foo</td><td>bar</td><td>baz</td></tr></tbody></table><p>extra</p>"
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<table align=right data-start=0 data-end=1><tbody><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("stylewithcss") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<table align=right data-start=0 data-end=1><tbody><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("stylewithcss") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<table align=right data-start=0 data-end=1><tbody><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("stylewithcss") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<table align=right data-start=0 data-end=1><tbody><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("stylewithcss") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<table align=right data-start=0 data-end=1><tbody><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("stylewithcss") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<table align=right data-start=0 data-end=1><tbody><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("stylewithcss") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<table align=right data-start=0 data-end=1><tbody><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("defaultparagraphseparator") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<table align=right data-start=0 data-end=1><tbody><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("defaultparagraphseparator") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<table align=right data-start=0 data-end=1><tbody><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("defaultparagraphseparator") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<table align=right data-start=0 data-end=1><tbody><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("defaultparagraphseparator") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<table align=right data-start=0 data-end=1><tbody><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("defaultparagraphseparator") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<table align=right data-start=0 data-end=1><tbody><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("defaultparagraphseparator") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<table align=right data-start=0 data-end=1><tbody><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("justifyright") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<table align=right data-start=0 data-end=1><tbody><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("justifyright") before 
+FAIL [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<table align=right data-start=0 data-end=1><tbody><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("justifyright") before assert_equals: Wrong result returned expected "left" but got "false"
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<table align=right data-start=0 data-end=1><tbody><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("justifyright") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<table align=right data-start=0 data-end=1><tbody><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("justifyright") after 
+FAIL [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<table align=right data-start=0 data-end=1><tbody><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("justifyright") after assert_equals: Wrong result returned expected "right" but got "true"
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<table align=right data-start=0 data-end=1><tbody><tr><td>foo<td>bar<td>baz</table><p>extra": execCommand("stylewithcss", false, "true") return value 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<table align=right data-start=0 data-end=1><tbody><tr><td>foo<td>bar<td>baz</table><p>extra": execCommand("defaultparagraphseparator", false, "p") return value 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<table align=right data-start=0 data-end=1><tbody><tr><td>foo<td>bar<td>baz</table><p>extra": execCommand("justifyright", false, "") return value 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<table align=right data-start=0 data-end=1><tbody><tr><td>foo<td>bar<td>baz</table><p>extra" checks for modifications to non-editable content 
+FAIL [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<table align=right data-start=0 data-end=1><tbody><tr><td>foo<td>bar<td>baz</table><p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<div style=\"text-align:right\"><table><tbody><tr><td>foo</td><td>bar</td><td>baz</td></tr></tbody></table></div><p>extra</p>" but got "<table align=\"right\" style=\"text-align:right\"><tbody><tr><td>foo</td><td>bar</td><td>baz</td></tr></tbody></table><p>extra</p>"
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<table align=right data-start=0 data-end=1><tbody><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("stylewithcss") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<table align=right data-start=0 data-end=1><tbody><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("stylewithcss") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<table align=right data-start=0 data-end=1><tbody><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("stylewithcss") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<table align=right data-start=0 data-end=1><tbody><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("stylewithcss") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<table align=right data-start=0 data-end=1><tbody><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("stylewithcss") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<table align=right data-start=0 data-end=1><tbody><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("stylewithcss") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<table align=right data-start=0 data-end=1><tbody><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("defaultparagraphseparator") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<table align=right data-start=0 data-end=1><tbody><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("defaultparagraphseparator") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<table align=right data-start=0 data-end=1><tbody><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("defaultparagraphseparator") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<table align=right data-start=0 data-end=1><tbody><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("defaultparagraphseparator") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<table align=right data-start=0 data-end=1><tbody><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("defaultparagraphseparator") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<table align=right data-start=0 data-end=1><tbody><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("defaultparagraphseparator") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<table align=right data-start=0 data-end=1><tbody><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("justifyright") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<table align=right data-start=0 data-end=1><tbody><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("justifyright") before 
+FAIL [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<table align=right data-start=0 data-end=1><tbody><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("justifyright") before assert_equals: Wrong result returned expected "left" but got "false"
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<table align=right data-start=0 data-end=1><tbody><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("justifyright") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<table align=right data-start=0 data-end=1><tbody><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("justifyright") after 
+FAIL [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<table align=right data-start=0 data-end=1><tbody><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("justifyright") after assert_equals: Wrong result returned expected "right" but got "true"
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<table align=right data-start=0 data-end=1><tbody><tr><td>foo<td>bar<td>baz</table><p>extra": execCommand("stylewithcss", false, "false") return value 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<table align=right data-start=0 data-end=1><tbody><tr><td>foo<td>bar<td>baz</table><p>extra": execCommand("defaultparagraphseparator", false, "p") return value 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<table align=right data-start=0 data-end=1><tbody><tr><td>foo<td>bar<td>baz</table><p>extra": execCommand("justifyright", false, "") return value 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<table align=right data-start=0 data-end=1><tbody><tr><td>foo<td>bar<td>baz</table><p>extra" checks for modifications to non-editable content 
+FAIL [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<table align=right data-start=0 data-end=1><tbody><tr><td>foo<td>bar<td>baz</table><p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<div style=\"text-align:right\"><table><tbody><tr><td>foo</td><td>bar</td><td>baz</td></tr></tbody></table></div><p>extra</p>" but got "<table align=\"right\" style=\"text-align:right\"><tbody><tr><td>foo</td><td>bar</td><td>baz</td></tr></tbody></table><p>extra</p>"
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<table align=right data-start=0 data-end=1><tbody><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("stylewithcss") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<table align=right data-start=0 data-end=1><tbody><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("stylewithcss") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<table align=right data-start=0 data-end=1><tbody><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("stylewithcss") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<table align=right data-start=0 data-end=1><tbody><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("stylewithcss") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<table align=right data-start=0 data-end=1><tbody><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("stylewithcss") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<table align=right data-start=0 data-end=1><tbody><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("stylewithcss") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<table align=right data-start=0 data-end=1><tbody><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("defaultparagraphseparator") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<table align=right data-start=0 data-end=1><tbody><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("defaultparagraphseparator") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<table align=right data-start=0 data-end=1><tbody><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("defaultparagraphseparator") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<table align=right data-start=0 data-end=1><tbody><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("defaultparagraphseparator") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<table align=right data-start=0 data-end=1><tbody><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("defaultparagraphseparator") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<table align=right data-start=0 data-end=1><tbody><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("defaultparagraphseparator") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<table align=right data-start=0 data-end=1><tbody><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("justifyright") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<table align=right data-start=0 data-end=1><tbody><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("justifyright") before 
+FAIL [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<table align=right data-start=0 data-end=1><tbody><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("justifyright") before assert_equals: Wrong result returned expected "left" but got "false"
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<table align=right data-start=0 data-end=1><tbody><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("justifyright") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<table align=right data-start=0 data-end=1><tbody><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("justifyright") after 
+FAIL [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<table align=right data-start=0 data-end=1><tbody><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("justifyright") after assert_equals: Wrong result returned expected "right" but got "true"
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "{<table align=right><tr><td>foo<td>bar<td>baz</table>}<p>extra": execCommand("stylewithcss", false, "true") return value 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "{<table align=right><tr><td>foo<td>bar<td>baz</table>}<p>extra": execCommand("defaultparagraphseparator", false, "div") return value 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "{<table align=right><tr><td>foo<td>bar<td>baz</table>}<p>extra": execCommand("justifyright", false, "") return value 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "{<table align=right><tr><td>foo<td>bar<td>baz</table>}<p>extra" checks for modifications to non-editable content 
+FAIL [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "{<table align=right><tr><td>foo<td>bar<td>baz</table>}<p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<div style=\"text-align:right\"><table><tbody><tr><td>foo</td><td>bar</td><td>baz</td></tr></tbody></table></div><p>extra</p>" but got "<table align=\"right\" style=\"text-align:right\"><tbody><tr><td>foo</td><td>bar</td><td>baz</td></tr></tbody></table><p style=\"text-align:right\">extra</p>"
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "{<table align=right><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandIndeterm("stylewithcss") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "{<table align=right><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandState("stylewithcss") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "{<table align=right><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandValue("stylewithcss") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "{<table align=right><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandIndeterm("stylewithcss") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "{<table align=right><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandState("stylewithcss") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "{<table align=right><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandValue("stylewithcss") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "{<table align=right><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandIndeterm("defaultparagraphseparator") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "{<table align=right><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandState("defaultparagraphseparator") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "{<table align=right><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandValue("defaultparagraphseparator") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "{<table align=right><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandIndeterm("defaultparagraphseparator") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "{<table align=right><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandState("defaultparagraphseparator") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "{<table align=right><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandValue("defaultparagraphseparator") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "{<table align=right><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandIndeterm("justifyright") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "{<table align=right><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandState("justifyright") before 
+FAIL [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "{<table align=right><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandValue("justifyright") before assert_equals: Wrong result returned expected "left" but got "false"
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "{<table align=right><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandIndeterm("justifyright") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "{<table align=right><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandState("justifyright") after 
+FAIL [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "{<table align=right><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandValue("justifyright") after assert_equals: Wrong result returned expected "right" but got "true"
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "{<table align=right><tr><td>foo<td>bar<td>baz</table>}<p>extra": execCommand("stylewithcss", false, "false") return value 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "{<table align=right><tr><td>foo<td>bar<td>baz</table>}<p>extra": execCommand("defaultparagraphseparator", false, "div") return value 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "{<table align=right><tr><td>foo<td>bar<td>baz</table>}<p>extra": execCommand("justifyright", false, "") return value 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "{<table align=right><tr><td>foo<td>bar<td>baz</table>}<p>extra" checks for modifications to non-editable content 
+FAIL [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "{<table align=right><tr><td>foo<td>bar<td>baz</table>}<p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<div style=\"text-align:right\"><table><tbody><tr><td>foo</td><td>bar</td><td>baz</td></tr></tbody></table></div><p>extra</p>" but got "<table align=\"right\" style=\"text-align:right\"><tbody><tr><td>foo</td><td>bar</td><td>baz</td></tr></tbody></table><p style=\"text-align:right\">extra</p>"
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "{<table align=right><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandIndeterm("stylewithcss") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "{<table align=right><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandState("stylewithcss") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "{<table align=right><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandValue("stylewithcss") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "{<table align=right><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandIndeterm("stylewithcss") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "{<table align=right><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandState("stylewithcss") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "{<table align=right><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandValue("stylewithcss") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "{<table align=right><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandIndeterm("defaultparagraphseparator") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "{<table align=right><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandState("defaultparagraphseparator") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "{<table align=right><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandValue("defaultparagraphseparator") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "{<table align=right><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandIndeterm("defaultparagraphseparator") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "{<table align=right><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandState("defaultparagraphseparator") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "{<table align=right><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandValue("defaultparagraphseparator") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "{<table align=right><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandIndeterm("justifyright") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "{<table align=right><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandState("justifyright") before 
+FAIL [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "{<table align=right><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandValue("justifyright") before assert_equals: Wrong result returned expected "left" but got "false"
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "{<table align=right><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandIndeterm("justifyright") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "{<table align=right><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandState("justifyright") after 
+FAIL [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "{<table align=right><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandValue("justifyright") after assert_equals: Wrong result returned expected "right" but got "true"
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "{<table align=right><tr><td>foo<td>bar<td>baz</table>}<p>extra": execCommand("stylewithcss", false, "true") return value 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "{<table align=right><tr><td>foo<td>bar<td>baz</table>}<p>extra": execCommand("defaultparagraphseparator", false, "p") return value 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "{<table align=right><tr><td>foo<td>bar<td>baz</table>}<p>extra": execCommand("justifyright", false, "") return value 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "{<table align=right><tr><td>foo<td>bar<td>baz</table>}<p>extra" checks for modifications to non-editable content 
+FAIL [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "{<table align=right><tr><td>foo<td>bar<td>baz</table>}<p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<div style=\"text-align:right\"><table><tbody><tr><td>foo</td><td>bar</td><td>baz</td></tr></tbody></table></div><p>extra</p>" but got "<table align=\"right\" style=\"text-align:right\"><tbody><tr><td>foo</td><td>bar</td><td>baz</td></tr></tbody></table><p style=\"text-align:right\">extra</p>"
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "{<table align=right><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandIndeterm("stylewithcss") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "{<table align=right><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandState("stylewithcss") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "{<table align=right><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandValue("stylewithcss") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "{<table align=right><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandIndeterm("stylewithcss") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "{<table align=right><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandState("stylewithcss") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "{<table align=right><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandValue("stylewithcss") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "{<table align=right><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandIndeterm("defaultparagraphseparator") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "{<table align=right><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandState("defaultparagraphseparator") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "{<table align=right><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandValue("defaultparagraphseparator") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "{<table align=right><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandIndeterm("defaultparagraphseparator") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "{<table align=right><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandState("defaultparagraphseparator") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "{<table align=right><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandValue("defaultparagraphseparator") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "{<table align=right><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandIndeterm("justifyright") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "{<table align=right><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandState("justifyright") before 
+FAIL [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "{<table align=right><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandValue("justifyright") before assert_equals: Wrong result returned expected "left" but got "false"
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "{<table align=right><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandIndeterm("justifyright") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "{<table align=right><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandState("justifyright") after 
+FAIL [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "{<table align=right><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandValue("justifyright") after assert_equals: Wrong result returned expected "right" but got "true"
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "{<table align=right><tr><td>foo<td>bar<td>baz</table>}<p>extra": execCommand("stylewithcss", false, "false") return value 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "{<table align=right><tr><td>foo<td>bar<td>baz</table>}<p>extra": execCommand("defaultparagraphseparator", false, "p") return value 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "{<table align=right><tr><td>foo<td>bar<td>baz</table>}<p>extra": execCommand("justifyright", false, "") return value 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "{<table align=right><tr><td>foo<td>bar<td>baz</table>}<p>extra" checks for modifications to non-editable content 
+FAIL [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "{<table align=right><tr><td>foo<td>bar<td>baz</table>}<p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<div style=\"text-align:right\"><table><tbody><tr><td>foo</td><td>bar</td><td>baz</td></tr></tbody></table></div><p>extra</p>" but got "<table align=\"right\" style=\"text-align:right\"><tbody><tr><td>foo</td><td>bar</td><td>baz</td></tr></tbody></table><p style=\"text-align:right\">extra</p>"
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "{<table align=right><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandIndeterm("stylewithcss") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "{<table align=right><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandState("stylewithcss") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "{<table align=right><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandValue("stylewithcss") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "{<table align=right><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandIndeterm("stylewithcss") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "{<table align=right><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandState("stylewithcss") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "{<table align=right><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandValue("stylewithcss") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "{<table align=right><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandIndeterm("defaultparagraphseparator") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "{<table align=right><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandState("defaultparagraphseparator") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "{<table align=right><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandValue("defaultparagraphseparator") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "{<table align=right><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandIndeterm("defaultparagraphseparator") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "{<table align=right><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandState("defaultparagraphseparator") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "{<table align=right><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandValue("defaultparagraphseparator") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "{<table align=right><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandIndeterm("justifyright") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "{<table align=right><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandState("justifyright") before 
+FAIL [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "{<table align=right><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandValue("justifyright") before assert_equals: Wrong result returned expected "left" but got "false"
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "{<table align=right><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandIndeterm("justifyright") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "{<table align=right><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandState("justifyright") after 
+FAIL [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "{<table align=right><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandValue("justifyright") after assert_equals: Wrong result returned expected "right" but got "true"
+PASS [["justifyright",""]] "<table><tbody align=right><tr><td>foo<td>b[a]r<td>baz</table><p>extra": execCommand("justifyright", false, "") return value 
+PASS [["justifyright",""]] "<table><tbody align=right><tr><td>foo<td>b[a]r<td>baz</table><p>extra" checks for modifications to non-editable content 
+PASS [["justifyright",""]] "<table><tbody align=right><tr><td>foo<td>b[a]r<td>baz</table><p>extra" compare innerHTML 
+PASS [["justifyright",""]] "<table><tbody align=right><tr><td>foo<td>b[a]r<td>baz</table><p>extra" queryCommandIndeterm("justifyright") before 
+PASS [["justifyright",""]] "<table><tbody align=right><tr><td>foo<td>b[a]r<td>baz</table><p>extra" queryCommandState("justifyright") before 
+FAIL [["justifyright",""]] "<table><tbody align=right><tr><td>foo<td>b[a]r<td>baz</table><p>extra" queryCommandValue("justifyright") before assert_equals: Wrong result returned expected "right" but got "true"
+PASS [["justifyright",""]] "<table><tbody align=right><tr><td>foo<td>b[a]r<td>baz</table><p>extra" queryCommandIndeterm("justifyright") after 
+PASS [["justifyright",""]] "<table><tbody align=right><tr><td>foo<td>b[a]r<td>baz</table><p>extra" queryCommandState("justifyright") after 
+FAIL [["justifyright",""]] "<table><tbody align=right><tr><td>foo<td>b[a]r<td>baz</table><p>extra" queryCommandValue("justifyright") after assert_equals: Wrong result returned expected "right" but got "true"
+PASS [["justifyright",""]] "<table><tbody align=right><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table><p>extra": execCommand("justifyright", false, "") return value 
+PASS [["justifyright",""]] "<table><tbody align=right><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table><p>extra" checks for modifications to non-editable content 
+PASS [["justifyright",""]] "<table><tbody align=right><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table><p>extra" compare innerHTML 
+PASS [["justifyright",""]] "<table><tbody align=right><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("justifyright") before 
+PASS [["justifyright",""]] "<table><tbody align=right><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("justifyright") before 
+FAIL [["justifyright",""]] "<table><tbody align=right><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("justifyright") before assert_equals: Wrong result returned expected "right" but got "true"
+PASS [["justifyright",""]] "<table><tbody align=right><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("justifyright") after 
+PASS [["justifyright",""]] "<table><tbody align=right><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("justifyright") after 
+FAIL [["justifyright",""]] "<table><tbody align=right><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("justifyright") after assert_equals: Wrong result returned expected "right" but got "true"
+PASS [["justifyright",""]] "<table><tbody align=right><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table><p>extra": execCommand("justifyright", false, "") return value 
+PASS [["justifyright",""]] "<table><tbody align=right><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table><p>extra" checks for modifications to non-editable content 
+PASS [["justifyright",""]] "<table><tbody align=right><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table><p>extra" compare innerHTML 
+PASS [["justifyright",""]] "<table><tbody align=right><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("justifyright") before 
+PASS [["justifyright",""]] "<table><tbody align=right><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("justifyright") before 
+FAIL [["justifyright",""]] "<table><tbody align=right><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("justifyright") before assert_equals: Wrong result returned expected "right" but got "true"
+PASS [["justifyright",""]] "<table><tbody align=right><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("justifyright") after 
+PASS [["justifyright",""]] "<table><tbody align=right><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("justifyright") after 
+FAIL [["justifyright",""]] "<table><tbody align=right><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("justifyright") after assert_equals: Wrong result returned expected "right" but got "true"
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<table><tbody align=right data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra": execCommand("stylewithcss", false, "true") return value 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<table><tbody align=right data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra": execCommand("defaultparagraphseparator", false, "div") return value 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<table><tbody align=right data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra": execCommand("justifyright", false, "") return value 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<table><tbody align=right data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" checks for modifications to non-editable content 
+FAIL [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<table><tbody align=right data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<div style=\"text-align:right\"><table><tbody><tr><td>foo</td><td>bar</td><td>baz</td></tr></tbody></table></div><p>extra</p>" but got "<table style=\"text-align:right\"><tbody align=\"right\"><tr><td>foo</td><td>bar</td><td>baz</td></tr></tbody></table><p>extra</p>"
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<table><tbody align=right data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("stylewithcss") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<table><tbody align=right data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("stylewithcss") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<table><tbody align=right data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("stylewithcss") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<table><tbody align=right data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("stylewithcss") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<table><tbody align=right data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("stylewithcss") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<table><tbody align=right data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("stylewithcss") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<table><tbody align=right data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("defaultparagraphseparator") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<table><tbody align=right data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("defaultparagraphseparator") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<table><tbody align=right data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("defaultparagraphseparator") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<table><tbody align=right data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("defaultparagraphseparator") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<table><tbody align=right data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("defaultparagraphseparator") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<table><tbody align=right data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("defaultparagraphseparator") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<table><tbody align=right data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("justifyright") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<table><tbody align=right data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("justifyright") before 
+FAIL [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<table><tbody align=right data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("justifyright") before assert_equals: Wrong result returned expected "right" but got "true"
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<table><tbody align=right data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("justifyright") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<table><tbody align=right data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("justifyright") after 
+FAIL [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<table><tbody align=right data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("justifyright") after assert_equals: Wrong result returned expected "right" but got "true"
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<table><tbody align=right data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra": execCommand("stylewithcss", false, "false") return value 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<table><tbody align=right data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra": execCommand("defaultparagraphseparator", false, "div") return value 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<table><tbody align=right data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra": execCommand("justifyright", false, "") return value 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<table><tbody align=right data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" checks for modifications to non-editable content 
+FAIL [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<table><tbody align=right data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<div style=\"text-align:right\"><table><tbody><tr><td>foo</td><td>bar</td><td>baz</td></tr></tbody></table></div><p>extra</p>" but got "<table style=\"text-align:right\"><tbody align=\"right\"><tr><td>foo</td><td>bar</td><td>baz</td></tr></tbody></table><p>extra</p>"
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<table><tbody align=right data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("stylewithcss") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<table><tbody align=right data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("stylewithcss") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<table><tbody align=right data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("stylewithcss") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<table><tbody align=right data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("stylewithcss") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<table><tbody align=right data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("stylewithcss") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<table><tbody align=right data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("stylewithcss") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<table><tbody align=right data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("defaultparagraphseparator") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<table><tbody align=right data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("defaultparagraphseparator") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<table><tbody align=right data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("defaultparagraphseparator") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<table><tbody align=right data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("defaultparagraphseparator") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<table><tbody align=right data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("defaultparagraphseparator") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<table><tbody align=right data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("defaultparagraphseparator") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<table><tbody align=right data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("justifyright") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<table><tbody align=right data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("justifyright") before 
+FAIL [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<table><tbody align=right data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("justifyright") before assert_equals: Wrong result returned expected "right" but got "true"
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<table><tbody align=right data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("justifyright") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<table><tbody align=right data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("justifyright") after 
+FAIL [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<table><tbody align=right data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("justifyright") after assert_equals: Wrong result returned expected "right" but got "true"
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<table><tbody align=right data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra": execCommand("stylewithcss", false, "true") return value 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<table><tbody align=right data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra": execCommand("defaultparagraphseparator", false, "p") return value 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<table><tbody align=right data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra": execCommand("justifyright", false, "") return value 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<table><tbody align=right data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" checks for modifications to non-editable content 
+FAIL [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<table><tbody align=right data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<div style=\"text-align:right\"><table><tbody><tr><td>foo</td><td>bar</td><td>baz</td></tr></tbody></table></div><p>extra</p>" but got "<table style=\"text-align:right\"><tbody align=\"right\"><tr><td>foo</td><td>bar</td><td>baz</td></tr></tbody></table><p>extra</p>"
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<table><tbody align=right data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("stylewithcss") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<table><tbody align=right data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("stylewithcss") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<table><tbody align=right data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("stylewithcss") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<table><tbody align=right data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("stylewithcss") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<table><tbody align=right data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("stylewithcss") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<table><tbody align=right data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("stylewithcss") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<table><tbody align=right data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("defaultparagraphseparator") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<table><tbody align=right data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("defaultparagraphseparator") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<table><tbody align=right data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("defaultparagraphseparator") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<table><tbody align=right data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("defaultparagraphseparator") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<table><tbody align=right data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("defaultparagraphseparator") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<table><tbody align=right data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("defaultparagraphseparator") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<table><tbody align=right data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("justifyright") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<table><tbody align=right data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("justifyright") before 
+FAIL [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<table><tbody align=right data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("justifyright") before assert_equals: Wrong result returned expected "right" but got "true"
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<table><tbody align=right data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("justifyright") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<table><tbody align=right data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("justifyright") after 
+FAIL [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<table><tbody align=right data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("justifyright") after assert_equals: Wrong result returned expected "right" but got "true"
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<table><tbody align=right data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra": execCommand("stylewithcss", false, "false") return value 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<table><tbody align=right data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra": execCommand("defaultparagraphseparator", false, "p") return value 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<table><tbody align=right data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra": execCommand("justifyright", false, "") return value 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<table><tbody align=right data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" checks for modifications to non-editable content 
+FAIL [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<table><tbody align=right data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<div style=\"text-align:right\"><table><tbody><tr><td>foo</td><td>bar</td><td>baz</td></tr></tbody></table></div><p>extra</p>" but got "<table style=\"text-align:right\"><tbody align=\"right\"><tr><td>foo</td><td>bar</td><td>baz</td></tr></tbody></table><p>extra</p>"
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<table><tbody align=right data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("stylewithcss") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<table><tbody align=right data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("stylewithcss") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<table><tbody align=right data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("stylewithcss") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<table><tbody align=right data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("stylewithcss") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<table><tbody align=right data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("stylewithcss") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<table><tbody align=right data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("stylewithcss") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<table><tbody align=right data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("defaultparagraphseparator") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<table><tbody align=right data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("defaultparagraphseparator") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<table><tbody align=right data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("defaultparagraphseparator") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<table><tbody align=right data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("defaultparagraphseparator") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<table><tbody align=right data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("defaultparagraphseparator") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<table><tbody align=right data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("defaultparagraphseparator") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<table><tbody align=right data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("justifyright") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<table><tbody align=right data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("justifyright") before 
+FAIL [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<table><tbody align=right data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("justifyright") before assert_equals: Wrong result returned expected "right" but got "true"
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<table><tbody align=right data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("justifyright") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<table><tbody align=right data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("justifyright") after 
+FAIL [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<table><tbody align=right data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("justifyright") after assert_equals: Wrong result returned expected "right" but got "true"
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<table data-start=0 data-end=1><tbody align=right><tr><td>foo<td>bar<td>baz</table><p>extra": execCommand("stylewithcss", false, "true") return value 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<table data-start=0 data-end=1><tbody align=right><tr><td>foo<td>bar<td>baz</table><p>extra": execCommand("defaultparagraphseparator", false, "div") return value 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<table data-start=0 data-end=1><tbody align=right><tr><td>foo<td>bar<td>baz</table><p>extra": execCommand("justifyright", false, "") return value 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<table data-start=0 data-end=1><tbody align=right><tr><td>foo<td>bar<td>baz</table><p>extra" checks for modifications to non-editable content 
+FAIL [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<table data-start=0 data-end=1><tbody align=right><tr><td>foo<td>bar<td>baz</table><p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<div style=\"text-align:right\"><table><tbody><tr><td>foo</td><td>bar</td><td>baz</td></tr></tbody></table></div><p>extra</p>" but got "<table style=\"text-align:right\"><tbody align=\"right\"><tr><td>foo</td><td>bar</td><td>baz</td></tr></tbody></table><p>extra</p>"
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<table data-start=0 data-end=1><tbody align=right><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("stylewithcss") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<table data-start=0 data-end=1><tbody align=right><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("stylewithcss") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<table data-start=0 data-end=1><tbody align=right><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("stylewithcss") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<table data-start=0 data-end=1><tbody align=right><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("stylewithcss") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<table data-start=0 data-end=1><tbody align=right><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("stylewithcss") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<table data-start=0 data-end=1><tbody align=right><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("stylewithcss") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<table data-start=0 data-end=1><tbody align=right><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("defaultparagraphseparator") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<table data-start=0 data-end=1><tbody align=right><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("defaultparagraphseparator") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<table data-start=0 data-end=1><tbody align=right><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("defaultparagraphseparator") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<table data-start=0 data-end=1><tbody align=right><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("defaultparagraphseparator") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<table data-start=0 data-end=1><tbody align=right><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("defaultparagraphseparator") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<table data-start=0 data-end=1><tbody align=right><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("defaultparagraphseparator") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<table data-start=0 data-end=1><tbody align=right><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("justifyright") before 
+FAIL [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<table data-start=0 data-end=1><tbody align=right><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("justifyright") before assert_equals: Wrong result returned expected true but got false
+FAIL [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<table data-start=0 data-end=1><tbody align=right><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("justifyright") before assert_equals: Wrong result returned expected "right" but got "false"
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<table data-start=0 data-end=1><tbody align=right><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("justifyright") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<table data-start=0 data-end=1><tbody align=right><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("justifyright") after 
+FAIL [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<table data-start=0 data-end=1><tbody align=right><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("justifyright") after assert_equals: Wrong result returned expected "right" but got "true"
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<table data-start=0 data-end=1><tbody align=right><tr><td>foo<td>bar<td>baz</table><p>extra": execCommand("stylewithcss", false, "false") return value 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<table data-start=0 data-end=1><tbody align=right><tr><td>foo<td>bar<td>baz</table><p>extra": execCommand("defaultparagraphseparator", false, "div") return value 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<table data-start=0 data-end=1><tbody align=right><tr><td>foo<td>bar<td>baz</table><p>extra": execCommand("justifyright", false, "") return value 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<table data-start=0 data-end=1><tbody align=right><tr><td>foo<td>bar<td>baz</table><p>extra" checks for modifications to non-editable content 
+FAIL [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<table data-start=0 data-end=1><tbody align=right><tr><td>foo<td>bar<td>baz</table><p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<div style=\"text-align:right\"><table><tbody><tr><td>foo</td><td>bar</td><td>baz</td></tr></tbody></table></div><p>extra</p>" but got "<table style=\"text-align:right\"><tbody align=\"right\"><tr><td>foo</td><td>bar</td><td>baz</td></tr></tbody></table><p>extra</p>"
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<table data-start=0 data-end=1><tbody align=right><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("stylewithcss") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<table data-start=0 data-end=1><tbody align=right><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("stylewithcss") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<table data-start=0 data-end=1><tbody align=right><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("stylewithcss") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<table data-start=0 data-end=1><tbody align=right><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("stylewithcss") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<table data-start=0 data-end=1><tbody align=right><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("stylewithcss") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<table data-start=0 data-end=1><tbody align=right><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("stylewithcss") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<table data-start=0 data-end=1><tbody align=right><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("defaultparagraphseparator") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<table data-start=0 data-end=1><tbody align=right><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("defaultparagraphseparator") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<table data-start=0 data-end=1><tbody align=right><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("defaultparagraphseparator") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<table data-start=0 data-end=1><tbody align=right><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("defaultparagraphseparator") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<table data-start=0 data-end=1><tbody align=right><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("defaultparagraphseparator") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<table data-start=0 data-end=1><tbody align=right><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("defaultparagraphseparator") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<table data-start=0 data-end=1><tbody align=right><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("justifyright") before 
+FAIL [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<table data-start=0 data-end=1><tbody align=right><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("justifyright") before assert_equals: Wrong result returned expected true but got false
+FAIL [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<table data-start=0 data-end=1><tbody align=right><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("justifyright") before assert_equals: Wrong result returned expected "right" but got "false"
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<table data-start=0 data-end=1><tbody align=right><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("justifyright") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<table data-start=0 data-end=1><tbody align=right><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("justifyright") after 
+FAIL [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<table data-start=0 data-end=1><tbody align=right><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("justifyright") after assert_equals: Wrong result returned expected "right" but got "true"
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<table data-start=0 data-end=1><tbody align=right><tr><td>foo<td>bar<td>baz</table><p>extra": execCommand("stylewithcss", false, "true") return value 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<table data-start=0 data-end=1><tbody align=right><tr><td>foo<td>bar<td>baz</table><p>extra": execCommand("defaultparagraphseparator", false, "p") return value 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<table data-start=0 data-end=1><tbody align=right><tr><td>foo<td>bar<td>baz</table><p>extra": execCommand("justifyright", false, "") return value 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<table data-start=0 data-end=1><tbody align=right><tr><td>foo<td>bar<td>baz</table><p>extra" checks for modifications to non-editable content 
+FAIL [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<table data-start=0 data-end=1><tbody align=right><tr><td>foo<td>bar<td>baz</table><p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<div style=\"text-align:right\"><table><tbody><tr><td>foo</td><td>bar</td><td>baz</td></tr></tbody></table></div><p>extra</p>" but got "<table style=\"text-align:right\"><tbody align=\"right\"><tr><td>foo</td><td>bar</td><td>baz</td></tr></tbody></table><p>extra</p>"
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<table data-start=0 data-end=1><tbody align=right><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("stylewithcss") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<table data-start=0 data-end=1><tbody align=right><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("stylewithcss") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<table data-start=0 data-end=1><tbody align=right><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("stylewithcss") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<table data-start=0 data-end=1><tbody align=right><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("stylewithcss") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<table data-start=0 data-end=1><tbody align=right><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("stylewithcss") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<table data-start=0 data-end=1><tbody align=right><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("stylewithcss") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<table data-start=0 data-end=1><tbody align=right><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("defaultparagraphseparator") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<table data-start=0 data-end=1><tbody align=right><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("defaultparagraphseparator") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<table data-start=0 data-end=1><tbody align=right><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("defaultparagraphseparator") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<table data-start=0 data-end=1><tbody align=right><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("defaultparagraphseparator") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<table data-start=0 data-end=1><tbody align=right><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("defaultparagraphseparator") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<table data-start=0 data-end=1><tbody align=right><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("defaultparagraphseparator") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<table data-start=0 data-end=1><tbody align=right><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("justifyright") before 
+FAIL [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<table data-start=0 data-end=1><tbody align=right><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("justifyright") before assert_equals: Wrong result returned expected true but got false
+FAIL [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<table data-start=0 data-end=1><tbody align=right><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("justifyright") before assert_equals: Wrong result returned expected "right" but got "false"
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<table data-start=0 data-end=1><tbody align=right><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("justifyright") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<table data-start=0 data-end=1><tbody align=right><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("justifyright") after 
+FAIL [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<table data-start=0 data-end=1><tbody align=right><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("justifyright") after assert_equals: Wrong result returned expected "right" but got "true"
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<table data-start=0 data-end=1><tbody align=right><tr><td>foo<td>bar<td>baz</table><p>extra": execCommand("stylewithcss", false, "false") return value 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<table data-start=0 data-end=1><tbody align=right><tr><td>foo<td>bar<td>baz</table><p>extra": execCommand("defaultparagraphseparator", false, "p") return value 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<table data-start=0 data-end=1><tbody align=right><tr><td>foo<td>bar<td>baz</table><p>extra": execCommand("justifyright", false, "") return value 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<table data-start=0 data-end=1><tbody align=right><tr><td>foo<td>bar<td>baz</table><p>extra" checks for modifications to non-editable content 
+FAIL [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<table data-start=0 data-end=1><tbody align=right><tr><td>foo<td>bar<td>baz</table><p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<div style=\"text-align:right\"><table><tbody><tr><td>foo</td><td>bar</td><td>baz</td></tr></tbody></table></div><p>extra</p>" but got "<table style=\"text-align:right\"><tbody align=\"right\"><tr><td>foo</td><td>bar</td><td>baz</td></tr></tbody></table><p>extra</p>"
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<table data-start=0 data-end=1><tbody align=right><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("stylewithcss") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<table data-start=0 data-end=1><tbody align=right><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("stylewithcss") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<table data-start=0 data-end=1><tbody align=right><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("stylewithcss") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<table data-start=0 data-end=1><tbody align=right><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("stylewithcss") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<table data-start=0 data-end=1><tbody align=right><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("stylewithcss") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<table data-start=0 data-end=1><tbody align=right><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("stylewithcss") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<table data-start=0 data-end=1><tbody align=right><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("defaultparagraphseparator") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<table data-start=0 data-end=1><tbody align=right><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("defaultparagraphseparator") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<table data-start=0 data-end=1><tbody align=right><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("defaultparagraphseparator") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<table data-start=0 data-end=1><tbody align=right><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("defaultparagraphseparator") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<table data-start=0 data-end=1><tbody align=right><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("defaultparagraphseparator") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<table data-start=0 data-end=1><tbody align=right><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("defaultparagraphseparator") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<table data-start=0 data-end=1><tbody align=right><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("justifyright") before 
+FAIL [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<table data-start=0 data-end=1><tbody align=right><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("justifyright") before assert_equals: Wrong result returned expected true but got false
+FAIL [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<table data-start=0 data-end=1><tbody align=right><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("justifyright") before assert_equals: Wrong result returned expected "right" but got "false"
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<table data-start=0 data-end=1><tbody align=right><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("justifyright") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<table data-start=0 data-end=1><tbody align=right><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("justifyright") after 
+FAIL [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<table data-start=0 data-end=1><tbody align=right><tr><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("justifyright") after assert_equals: Wrong result returned expected "right" but got "true"
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "{<table><tbody align=right><tr><td>foo<td>bar<td>baz</table>}<p>extra": execCommand("stylewithcss", false, "true") return value 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "{<table><tbody align=right><tr><td>foo<td>bar<td>baz</table>}<p>extra": execCommand("defaultparagraphseparator", false, "div") return value 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "{<table><tbody align=right><tr><td>foo<td>bar<td>baz</table>}<p>extra": execCommand("justifyright", false, "") return value 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "{<table><tbody align=right><tr><td>foo<td>bar<td>baz</table>}<p>extra" checks for modifications to non-editable content 
+FAIL [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "{<table><tbody align=right><tr><td>foo<td>bar<td>baz</table>}<p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<div style=\"text-align:right\"><table><tbody><tr><td>foo</td><td>bar</td><td>baz</td></tr></tbody></table></div><p>extra</p>" but got "<table style=\"text-align:right\"><tbody align=\"right\"><tr><td>foo</td><td>bar</td><td>baz</td></tr></tbody></table><p style=\"text-align:right\">extra</p>"
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "{<table><tbody align=right><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandIndeterm("stylewithcss") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "{<table><tbody align=right><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandState("stylewithcss") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "{<table><tbody align=right><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandValue("stylewithcss") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "{<table><tbody align=right><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandIndeterm("stylewithcss") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "{<table><tbody align=right><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandState("stylewithcss") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "{<table><tbody align=right><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandValue("stylewithcss") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "{<table><tbody align=right><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandIndeterm("defaultparagraphseparator") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "{<table><tbody align=right><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandState("defaultparagraphseparator") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "{<table><tbody align=right><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandValue("defaultparagraphseparator") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "{<table><tbody align=right><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandIndeterm("defaultparagraphseparator") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "{<table><tbody align=right><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandState("defaultparagraphseparator") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "{<table><tbody align=right><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandValue("defaultparagraphseparator") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "{<table><tbody align=right><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandIndeterm("justifyright") before 
+FAIL [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "{<table><tbody align=right><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandState("justifyright") before assert_equals: Wrong result returned expected true but got false
+FAIL [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "{<table><tbody align=right><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandValue("justifyright") before assert_equals: Wrong result returned expected "right" but got "false"
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "{<table><tbody align=right><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandIndeterm("justifyright") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "{<table><tbody align=right><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandState("justifyright") after 
+FAIL [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "{<table><tbody align=right><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandValue("justifyright") after assert_equals: Wrong result returned expected "right" but got "true"
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "{<table><tbody align=right><tr><td>foo<td>bar<td>baz</table>}<p>extra": execCommand("stylewithcss", false, "false") return value 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "{<table><tbody align=right><tr><td>foo<td>bar<td>baz</table>}<p>extra": execCommand("defaultparagraphseparator", false, "div") return value 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "{<table><tbody align=right><tr><td>foo<td>bar<td>baz</table>}<p>extra": execCommand("justifyright", false, "") return value 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "{<table><tbody align=right><tr><td>foo<td>bar<td>baz</table>}<p>extra" checks for modifications to non-editable content 
+FAIL [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "{<table><tbody align=right><tr><td>foo<td>bar<td>baz</table>}<p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<div style=\"text-align:right\"><table><tbody><tr><td>foo</td><td>bar</td><td>baz</td></tr></tbody></table></div><p>extra</p>" but got "<table style=\"text-align:right\"><tbody align=\"right\"><tr><td>foo</td><td>bar</td><td>baz</td></tr></tbody></table><p style=\"text-align:right\">extra</p>"
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "{<table><tbody align=right><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandIndeterm("stylewithcss") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "{<table><tbody align=right><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandState("stylewithcss") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "{<table><tbody align=right><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandValue("stylewithcss") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "{<table><tbody align=right><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandIndeterm("stylewithcss") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "{<table><tbody align=right><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandState("stylewithcss") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "{<table><tbody align=right><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandValue("stylewithcss") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "{<table><tbody align=right><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandIndeterm("defaultparagraphseparator") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "{<table><tbody align=right><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandState("defaultparagraphseparator") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "{<table><tbody align=right><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandValue("defaultparagraphseparator") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "{<table><tbody align=right><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandIndeterm("defaultparagraphseparator") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "{<table><tbody align=right><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandState("defaultparagraphseparator") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "{<table><tbody align=right><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandValue("defaultparagraphseparator") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "{<table><tbody align=right><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandIndeterm("justifyright") before 
+FAIL [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "{<table><tbody align=right><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandState("justifyright") before assert_equals: Wrong result returned expected true but got false
+FAIL [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "{<table><tbody align=right><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandValue("justifyright") before assert_equals: Wrong result returned expected "right" but got "false"
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "{<table><tbody align=right><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandIndeterm("justifyright") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "{<table><tbody align=right><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandState("justifyright") after 
+FAIL [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "{<table><tbody align=right><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandValue("justifyright") after assert_equals: Wrong result returned expected "right" but got "true"
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "{<table><tbody align=right><tr><td>foo<td>bar<td>baz</table>}<p>extra": execCommand("stylewithcss", false, "true") return value 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "{<table><tbody align=right><tr><td>foo<td>bar<td>baz</table>}<p>extra": execCommand("defaultparagraphseparator", false, "p") return value 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "{<table><tbody align=right><tr><td>foo<td>bar<td>baz</table>}<p>extra": execCommand("justifyright", false, "") return value 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "{<table><tbody align=right><tr><td>foo<td>bar<td>baz</table>}<p>extra" checks for modifications to non-editable content 
+FAIL [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "{<table><tbody align=right><tr><td>foo<td>bar<td>baz</table>}<p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<div style=\"text-align:right\"><table><tbody><tr><td>foo</td><td>bar</td><td>baz</td></tr></tbody></table></div><p>extra</p>" but got "<table style=\"text-align:right\"><tbody align=\"right\"><tr><td>foo</td><td>bar</td><td>baz</td></tr></tbody></table><p style=\"text-align:right\">extra</p>"
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "{<table><tbody align=right><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandIndeterm("stylewithcss") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "{<table><tbody align=right><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandState("stylewithcss") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "{<table><tbody align=right><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandValue("stylewithcss") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "{<table><tbody align=right><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandIndeterm("stylewithcss") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "{<table><tbody align=right><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandState("stylewithcss") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "{<table><tbody align=right><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandValue("stylewithcss") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "{<table><tbody align=right><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandIndeterm("defaultparagraphseparator") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "{<table><tbody align=right><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandState("defaultparagraphseparator") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "{<table><tbody align=right><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandValue("defaultparagraphseparator") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "{<table><tbody align=right><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandIndeterm("defaultparagraphseparator") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "{<table><tbody align=right><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandState("defaultparagraphseparator") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "{<table><tbody align=right><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandValue("defaultparagraphseparator") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "{<table><tbody align=right><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandIndeterm("justifyright") before 
+FAIL [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "{<table><tbody align=right><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandState("justifyright") before assert_equals: Wrong result returned expected true but got false
+FAIL [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "{<table><tbody align=right><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandValue("justifyright") before assert_equals: Wrong result returned expected "right" but got "false"
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "{<table><tbody align=right><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandIndeterm("justifyright") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "{<table><tbody align=right><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandState("justifyright") after 
+FAIL [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "{<table><tbody align=right><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandValue("justifyright") after assert_equals: Wrong result returned expected "right" but got "true"
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "{<table><tbody align=right><tr><td>foo<td>bar<td>baz</table>}<p>extra": execCommand("stylewithcss", false, "false") return value 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "{<table><tbody align=right><tr><td>foo<td>bar<td>baz</table>}<p>extra": execCommand("defaultparagraphseparator", false, "p") return value 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "{<table><tbody align=right><tr><td>foo<td>bar<td>baz</table>}<p>extra": execCommand("justifyright", false, "") return value 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "{<table><tbody align=right><tr><td>foo<td>bar<td>baz</table>}<p>extra" checks for modifications to non-editable content 
+FAIL [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "{<table><tbody align=right><tr><td>foo<td>bar<td>baz</table>}<p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<div style=\"text-align:right\"><table><tbody><tr><td>foo</td><td>bar</td><td>baz</td></tr></tbody></table></div><p>extra</p>" but got "<table style=\"text-align:right\"><tbody align=\"right\"><tr><td>foo</td><td>bar</td><td>baz</td></tr></tbody></table><p style=\"text-align:right\">extra</p>"
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "{<table><tbody align=right><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandIndeterm("stylewithcss") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "{<table><tbody align=right><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandState("stylewithcss") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "{<table><tbody align=right><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandValue("stylewithcss") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "{<table><tbody align=right><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandIndeterm("stylewithcss") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "{<table><tbody align=right><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandState("stylewithcss") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "{<table><tbody align=right><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandValue("stylewithcss") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "{<table><tbody align=right><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandIndeterm("defaultparagraphseparator") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "{<table><tbody align=right><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandState("defaultparagraphseparator") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "{<table><tbody align=right><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandValue("defaultparagraphseparator") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "{<table><tbody align=right><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandIndeterm("defaultparagraphseparator") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "{<table><tbody align=right><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandState("defaultparagraphseparator") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "{<table><tbody align=right><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandValue("defaultparagraphseparator") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "{<table><tbody align=right><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandIndeterm("justifyright") before 
+FAIL [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "{<table><tbody align=right><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandState("justifyright") before assert_equals: Wrong result returned expected true but got false
+FAIL [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "{<table><tbody align=right><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandValue("justifyright") before assert_equals: Wrong result returned expected "right" but got "false"
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "{<table><tbody align=right><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandIndeterm("justifyright") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "{<table><tbody align=right><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandState("justifyright") after 
+FAIL [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "{<table><tbody align=right><tr><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandValue("justifyright") after assert_equals: Wrong result returned expected "right" but got "true"
+PASS [["justifyright",""]] "<table><tbody><tr align=right><td>foo<td>b[a]r<td>baz</table><p>extra": execCommand("justifyright", false, "") return value 
+PASS [["justifyright",""]] "<table><tbody><tr align=right><td>foo<td>b[a]r<td>baz</table><p>extra" checks for modifications to non-editable content 
+PASS [["justifyright",""]] "<table><tbody><tr align=right><td>foo<td>b[a]r<td>baz</table><p>extra" compare innerHTML 
+PASS [["justifyright",""]] "<table><tbody><tr align=right><td>foo<td>b[a]r<td>baz</table><p>extra" queryCommandIndeterm("justifyright") before 
+PASS [["justifyright",""]] "<table><tbody><tr align=right><td>foo<td>b[a]r<td>baz</table><p>extra" queryCommandState("justifyright") before 
+FAIL [["justifyright",""]] "<table><tbody><tr align=right><td>foo<td>b[a]r<td>baz</table><p>extra" queryCommandValue("justifyright") before assert_equals: Wrong result returned expected "right" but got "true"
+PASS [["justifyright",""]] "<table><tbody><tr align=right><td>foo<td>b[a]r<td>baz</table><p>extra" queryCommandIndeterm("justifyright") after 
+PASS [["justifyright",""]] "<table><tbody><tr align=right><td>foo<td>b[a]r<td>baz</table><p>extra" queryCommandState("justifyright") after 
+FAIL [["justifyright",""]] "<table><tbody><tr align=right><td>foo<td>b[a]r<td>baz</table><p>extra" queryCommandValue("justifyright") after assert_equals: Wrong result returned expected "right" but got "true"
+PASS [["justifyright",""]] "<table><tbody><tr align=right data-start=1 data-end=2><td>foo<td>bar<td>baz</table><p>extra": execCommand("justifyright", false, "") return value 
+PASS [["justifyright",""]] "<table><tbody><tr align=right data-start=1 data-end=2><td>foo<td>bar<td>baz</table><p>extra" checks for modifications to non-editable content 
+PASS [["justifyright",""]] "<table><tbody><tr align=right data-start=1 data-end=2><td>foo<td>bar<td>baz</table><p>extra" compare innerHTML 
+PASS [["justifyright",""]] "<table><tbody><tr align=right data-start=1 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("justifyright") before 
+PASS [["justifyright",""]] "<table><tbody><tr align=right data-start=1 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("justifyright") before 
+FAIL [["justifyright",""]] "<table><tbody><tr align=right data-start=1 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("justifyright") before assert_equals: Wrong result returned expected "right" but got "true"
+PASS [["justifyright",""]] "<table><tbody><tr align=right data-start=1 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("justifyright") after 
+PASS [["justifyright",""]] "<table><tbody><tr align=right data-start=1 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("justifyright") after 
+FAIL [["justifyright",""]] "<table><tbody><tr align=right data-start=1 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("justifyright") after assert_equals: Wrong result returned expected "right" but got "true"
+PASS [["justifyright",""]] "<table><tbody><tr align=right data-start=0 data-end=2><td>foo<td>bar<td>baz</table><p>extra": execCommand("justifyright", false, "") return value 
+PASS [["justifyright",""]] "<table><tbody><tr align=right data-start=0 data-end=2><td>foo<td>bar<td>baz</table><p>extra" checks for modifications to non-editable content 
+PASS [["justifyright",""]] "<table><tbody><tr align=right data-start=0 data-end=2><td>foo<td>bar<td>baz</table><p>extra" compare innerHTML 
+PASS [["justifyright",""]] "<table><tbody><tr align=right data-start=0 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("justifyright") before 
+PASS [["justifyright",""]] "<table><tbody><tr align=right data-start=0 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("justifyright") before 
+FAIL [["justifyright",""]] "<table><tbody><tr align=right data-start=0 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("justifyright") before assert_equals: Wrong result returned expected "right" but got "true"
+PASS [["justifyright",""]] "<table><tbody><tr align=right data-start=0 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("justifyright") after 
+PASS [["justifyright",""]] "<table><tbody><tr align=right data-start=0 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("justifyright") after 
+FAIL [["justifyright",""]] "<table><tbody><tr align=right data-start=0 data-end=2><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("justifyright") after assert_equals: Wrong result returned expected "right" but got "true"
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<table><tbody data-start=0 data-end=1><tr align=right><td>foo<td>bar<td>baz</table><p>extra": execCommand("stylewithcss", false, "true") return value 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<table><tbody data-start=0 data-end=1><tr align=right><td>foo<td>bar<td>baz</table><p>extra": execCommand("defaultparagraphseparator", false, "div") return value 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<table><tbody data-start=0 data-end=1><tr align=right><td>foo<td>bar<td>baz</table><p>extra": execCommand("justifyright", false, "") return value 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<table><tbody data-start=0 data-end=1><tr align=right><td>foo<td>bar<td>baz</table><p>extra" checks for modifications to non-editable content 
+FAIL [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<table><tbody data-start=0 data-end=1><tr align=right><td>foo<td>bar<td>baz</table><p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<div style=\"text-align:right\"><table><tbody><tr><td>foo</td><td>bar</td><td>baz</td></tr></tbody></table></div><p>extra</p>" but got "<table style=\"text-align:right\"><tbody><tr align=\"right\"><td>foo</td><td>bar</td><td>baz</td></tr></tbody></table><p>extra</p>"
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<table><tbody data-start=0 data-end=1><tr align=right><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("stylewithcss") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<table><tbody data-start=0 data-end=1><tr align=right><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("stylewithcss") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<table><tbody data-start=0 data-end=1><tr align=right><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("stylewithcss") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<table><tbody data-start=0 data-end=1><tr align=right><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("stylewithcss") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<table><tbody data-start=0 data-end=1><tr align=right><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("stylewithcss") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<table><tbody data-start=0 data-end=1><tr align=right><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("stylewithcss") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<table><tbody data-start=0 data-end=1><tr align=right><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("defaultparagraphseparator") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<table><tbody data-start=0 data-end=1><tr align=right><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("defaultparagraphseparator") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<table><tbody data-start=0 data-end=1><tr align=right><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("defaultparagraphseparator") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<table><tbody data-start=0 data-end=1><tr align=right><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("defaultparagraphseparator") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<table><tbody data-start=0 data-end=1><tr align=right><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("defaultparagraphseparator") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<table><tbody data-start=0 data-end=1><tr align=right><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("defaultparagraphseparator") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<table><tbody data-start=0 data-end=1><tr align=right><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("justifyright") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<table><tbody data-start=0 data-end=1><tr align=right><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("justifyright") before 
+FAIL [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<table><tbody data-start=0 data-end=1><tr align=right><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("justifyright") before assert_equals: Wrong result returned expected "right" but got "true"
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<table><tbody data-start=0 data-end=1><tr align=right><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("justifyright") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<table><tbody data-start=0 data-end=1><tr align=right><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("justifyright") after 
+FAIL [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<table><tbody data-start=0 data-end=1><tr align=right><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("justifyright") after assert_equals: Wrong result returned expected "right" but got "true"
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<table><tbody data-start=0 data-end=1><tr align=right><td>foo<td>bar<td>baz</table><p>extra": execCommand("stylewithcss", false, "false") return value 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<table><tbody data-start=0 data-end=1><tr align=right><td>foo<td>bar<td>baz</table><p>extra": execCommand("defaultparagraphseparator", false, "div") return value 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<table><tbody data-start=0 data-end=1><tr align=right><td>foo<td>bar<td>baz</table><p>extra": execCommand("justifyright", false, "") return value 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<table><tbody data-start=0 data-end=1><tr align=right><td>foo<td>bar<td>baz</table><p>extra" checks for modifications to non-editable content 
+FAIL [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<table><tbody data-start=0 data-end=1><tr align=right><td>foo<td>bar<td>baz</table><p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<div style=\"text-align:right\"><table><tbody><tr><td>foo</td><td>bar</td><td>baz</td></tr></tbody></table></div><p>extra</p>" but got "<table style=\"text-align:right\"><tbody><tr align=\"right\"><td>foo</td><td>bar</td><td>baz</td></tr></tbody></table><p>extra</p>"
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<table><tbody data-start=0 data-end=1><tr align=right><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("stylewithcss") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<table><tbody data-start=0 data-end=1><tr align=right><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("stylewithcss") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<table><tbody data-start=0 data-end=1><tr align=right><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("stylewithcss") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<table><tbody data-start=0 data-end=1><tr align=right><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("stylewithcss") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<table><tbody data-start=0 data-end=1><tr align=right><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("stylewithcss") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<table><tbody data-start=0 data-end=1><tr align=right><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("stylewithcss") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<table><tbody data-start=0 data-end=1><tr align=right><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("defaultparagraphseparator") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<table><tbody data-start=0 data-end=1><tr align=right><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("defaultparagraphseparator") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<table><tbody data-start=0 data-end=1><tr align=right><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("defaultparagraphseparator") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<table><tbody data-start=0 data-end=1><tr align=right><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("defaultparagraphseparator") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<table><tbody data-start=0 data-end=1><tr align=right><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("defaultparagraphseparator") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<table><tbody data-start=0 data-end=1><tr align=right><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("defaultparagraphseparator") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<table><tbody data-start=0 data-end=1><tr align=right><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("justifyright") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<table><tbody data-start=0 data-end=1><tr align=right><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("justifyright") before 
+FAIL [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<table><tbody data-start=0 data-end=1><tr align=right><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("justifyright") before assert_equals: Wrong result returned expected "right" but got "true"
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<table><tbody data-start=0 data-end=1><tr align=right><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("justifyright") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<table><tbody data-start=0 data-end=1><tr align=right><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("justifyright") after 
+FAIL [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<table><tbody data-start=0 data-end=1><tr align=right><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("justifyright") after assert_equals: Wrong result returned expected "right" but got "true"
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<table><tbody data-start=0 data-end=1><tr align=right><td>foo<td>bar<td>baz</table><p>extra": execCommand("stylewithcss", false, "true") return value 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<table><tbody data-start=0 data-end=1><tr align=right><td>foo<td>bar<td>baz</table><p>extra": execCommand("defaultparagraphseparator", false, "p") return value 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<table><tbody data-start=0 data-end=1><tr align=right><td>foo<td>bar<td>baz</table><p>extra": execCommand("justifyright", false, "") return value 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<table><tbody data-start=0 data-end=1><tr align=right><td>foo<td>bar<td>baz</table><p>extra" checks for modifications to non-editable content 
+FAIL [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<table><tbody data-start=0 data-end=1><tr align=right><td>foo<td>bar<td>baz</table><p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<div style=\"text-align:right\"><table><tbody><tr><td>foo</td><td>bar</td><td>baz</td></tr></tbody></table></div><p>extra</p>" but got "<table style=\"text-align:right\"><tbody><tr align=\"right\"><td>foo</td><td>bar</td><td>baz</td></tr></tbody></table><p>extra</p>"
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<table><tbody data-start=0 data-end=1><tr align=right><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("stylewithcss") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<table><tbody data-start=0 data-end=1><tr align=right><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("stylewithcss") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<table><tbody data-start=0 data-end=1><tr align=right><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("stylewithcss") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<table><tbody data-start=0 data-end=1><tr align=right><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("stylewithcss") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<table><tbody data-start=0 data-end=1><tr align=right><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("stylewithcss") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<table><tbody data-start=0 data-end=1><tr align=right><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("stylewithcss") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<table><tbody data-start=0 data-end=1><tr align=right><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("defaultparagraphseparator") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<table><tbody data-start=0 data-end=1><tr align=right><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("defaultparagraphseparator") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<table><tbody data-start=0 data-end=1><tr align=right><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("defaultparagraphseparator") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<table><tbody data-start=0 data-end=1><tr align=right><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("defaultparagraphseparator") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<table><tbody data-start=0 data-end=1><tr align=right><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("defaultparagraphseparator") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<table><tbody data-start=0 data-end=1><tr align=right><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("defaultparagraphseparator") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<table><tbody data-start=0 data-end=1><tr align=right><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("justifyright") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<table><tbody data-start=0 data-end=1><tr align=right><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("justifyright") before 
+FAIL [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<table><tbody data-start=0 data-end=1><tr align=right><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("justifyright") before assert_equals: Wrong result returned expected "right" but got "true"
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<table><tbody data-start=0 data-end=1><tr align=right><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("justifyright") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<table><tbody data-start=0 data-end=1><tr align=right><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("justifyright") after 
+FAIL [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<table><tbody data-start=0 data-end=1><tr align=right><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("justifyright") after assert_equals: Wrong result returned expected "right" but got "true"
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<table><tbody data-start=0 data-end=1><tr align=right><td>foo<td>bar<td>baz</table><p>extra": execCommand("stylewithcss", false, "false") return value 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<table><tbody data-start=0 data-end=1><tr align=right><td>foo<td>bar<td>baz</table><p>extra": execCommand("defaultparagraphseparator", false, "p") return value 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<table><tbody data-start=0 data-end=1><tr align=right><td>foo<td>bar<td>baz</table><p>extra": execCommand("justifyright", false, "") return value 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<table><tbody data-start=0 data-end=1><tr align=right><td>foo<td>bar<td>baz</table><p>extra" checks for modifications to non-editable content 
+FAIL [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<table><tbody data-start=0 data-end=1><tr align=right><td>foo<td>bar<td>baz</table><p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<div style=\"text-align:right\"><table><tbody><tr><td>foo</td><td>bar</td><td>baz</td></tr></tbody></table></div><p>extra</p>" but got "<table style=\"text-align:right\"><tbody><tr align=\"right\"><td>foo</td><td>bar</td><td>baz</td></tr></tbody></table><p>extra</p>"
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<table><tbody data-start=0 data-end=1><tr align=right><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("stylewithcss") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<table><tbody data-start=0 data-end=1><tr align=right><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("stylewithcss") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<table><tbody data-start=0 data-end=1><tr align=right><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("stylewithcss") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<table><tbody data-start=0 data-end=1><tr align=right><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("stylewithcss") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<table><tbody data-start=0 data-end=1><tr align=right><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("stylewithcss") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<table><tbody data-start=0 data-end=1><tr align=right><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("stylewithcss") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<table><tbody data-start=0 data-end=1><tr align=right><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("defaultparagraphseparator") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<table><tbody data-start=0 data-end=1><tr align=right><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("defaultparagraphseparator") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<table><tbody data-start=0 data-end=1><tr align=right><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("defaultparagraphseparator") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<table><tbody data-start=0 data-end=1><tr align=right><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("defaultparagraphseparator") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<table><tbody data-start=0 data-end=1><tr align=right><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("defaultparagraphseparator") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<table><tbody data-start=0 data-end=1><tr align=right><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("defaultparagraphseparator") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<table><tbody data-start=0 data-end=1><tr align=right><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("justifyright") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<table><tbody data-start=0 data-end=1><tr align=right><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("justifyright") before 
+FAIL [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<table><tbody data-start=0 data-end=1><tr align=right><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("justifyright") before assert_equals: Wrong result returned expected "right" but got "true"
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<table><tbody data-start=0 data-end=1><tr align=right><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("justifyright") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<table><tbody data-start=0 data-end=1><tr align=right><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("justifyright") after 
+FAIL [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<table><tbody data-start=0 data-end=1><tr align=right><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("justifyright") after assert_equals: Wrong result returned expected "right" but got "true"
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<table data-start=0 data-end=1><tbody><tr align=right><td>foo<td>bar<td>baz</table><p>extra": execCommand("stylewithcss", false, "true") return value 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<table data-start=0 data-end=1><tbody><tr align=right><td>foo<td>bar<td>baz</table><p>extra": execCommand("defaultparagraphseparator", false, "div") return value 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<table data-start=0 data-end=1><tbody><tr align=right><td>foo<td>bar<td>baz</table><p>extra": execCommand("justifyright", false, "") return value 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<table data-start=0 data-end=1><tbody><tr align=right><td>foo<td>bar<td>baz</table><p>extra" checks for modifications to non-editable content 
+FAIL [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<table data-start=0 data-end=1><tbody><tr align=right><td>foo<td>bar<td>baz</table><p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<div style=\"text-align:right\"><table><tbody><tr><td>foo</td><td>bar</td><td>baz</td></tr></tbody></table></div><p>extra</p>" but got "<table style=\"text-align:right\"><tbody><tr align=\"right\"><td>foo</td><td>bar</td><td>baz</td></tr></tbody></table><p>extra</p>"
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<table data-start=0 data-end=1><tbody><tr align=right><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("stylewithcss") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<table data-start=0 data-end=1><tbody><tr align=right><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("stylewithcss") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<table data-start=0 data-end=1><tbody><tr align=right><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("stylewithcss") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<table data-start=0 data-end=1><tbody><tr align=right><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("stylewithcss") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<table data-start=0 data-end=1><tbody><tr align=right><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("stylewithcss") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<table data-start=0 data-end=1><tbody><tr align=right><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("stylewithcss") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<table data-start=0 data-end=1><tbody><tr align=right><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("defaultparagraphseparator") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<table data-start=0 data-end=1><tbody><tr align=right><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("defaultparagraphseparator") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<table data-start=0 data-end=1><tbody><tr align=right><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("defaultparagraphseparator") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<table data-start=0 data-end=1><tbody><tr align=right><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("defaultparagraphseparator") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<table data-start=0 data-end=1><tbody><tr align=right><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("defaultparagraphseparator") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<table data-start=0 data-end=1><tbody><tr align=right><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("defaultparagraphseparator") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<table data-start=0 data-end=1><tbody><tr align=right><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("justifyright") before 
+FAIL [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<table data-start=0 data-end=1><tbody><tr align=right><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("justifyright") before assert_equals: Wrong result returned expected true but got false
+FAIL [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<table data-start=0 data-end=1><tbody><tr align=right><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("justifyright") before assert_equals: Wrong result returned expected "right" but got "false"
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<table data-start=0 data-end=1><tbody><tr align=right><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("justifyright") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<table data-start=0 data-end=1><tbody><tr align=right><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("justifyright") after 
+FAIL [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<table data-start=0 data-end=1><tbody><tr align=right><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("justifyright") after assert_equals: Wrong result returned expected "right" but got "true"
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<table data-start=0 data-end=1><tbody><tr align=right><td>foo<td>bar<td>baz</table><p>extra": execCommand("stylewithcss", false, "false") return value 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<table data-start=0 data-end=1><tbody><tr align=right><td>foo<td>bar<td>baz</table><p>extra": execCommand("defaultparagraphseparator", false, "div") return value 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<table data-start=0 data-end=1><tbody><tr align=right><td>foo<td>bar<td>baz</table><p>extra": execCommand("justifyright", false, "") return value 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<table data-start=0 data-end=1><tbody><tr align=right><td>foo<td>bar<td>baz</table><p>extra" checks for modifications to non-editable content 
+FAIL [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<table data-start=0 data-end=1><tbody><tr align=right><td>foo<td>bar<td>baz</table><p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<div style=\"text-align:right\"><table><tbody><tr><td>foo</td><td>bar</td><td>baz</td></tr></tbody></table></div><p>extra</p>" but got "<table style=\"text-align:right\"><tbody><tr align=\"right\"><td>foo</td><td>bar</td><td>baz</td></tr></tbody></table><p>extra</p>"
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<table data-start=0 data-end=1><tbody><tr align=right><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("stylewithcss") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<table data-start=0 data-end=1><tbody><tr align=right><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("stylewithcss") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<table data-start=0 data-end=1><tbody><tr align=right><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("stylewithcss") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<table data-start=0 data-end=1><tbody><tr align=right><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("stylewithcss") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<table data-start=0 data-end=1><tbody><tr align=right><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("stylewithcss") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<table data-start=0 data-end=1><tbody><tr align=right><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("stylewithcss") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<table data-start=0 data-end=1><tbody><tr align=right><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("defaultparagraphseparator") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<table data-start=0 data-end=1><tbody><tr align=right><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("defaultparagraphseparator") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<table data-start=0 data-end=1><tbody><tr align=right><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("defaultparagraphseparator") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<table data-start=0 data-end=1><tbody><tr align=right><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("defaultparagraphseparator") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<table data-start=0 data-end=1><tbody><tr align=right><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("defaultparagraphseparator") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<table data-start=0 data-end=1><tbody><tr align=right><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("defaultparagraphseparator") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<table data-start=0 data-end=1><tbody><tr align=right><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("justifyright") before 
+FAIL [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<table data-start=0 data-end=1><tbody><tr align=right><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("justifyright") before assert_equals: Wrong result returned expected true but got false
+FAIL [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<table data-start=0 data-end=1><tbody><tr align=right><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("justifyright") before assert_equals: Wrong result returned expected "right" but got "false"
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<table data-start=0 data-end=1><tbody><tr align=right><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("justifyright") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<table data-start=0 data-end=1><tbody><tr align=right><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("justifyright") after 
+FAIL [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<table data-start=0 data-end=1><tbody><tr align=right><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("justifyright") after assert_equals: Wrong result returned expected "right" but got "true"
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<table data-start=0 data-end=1><tbody><tr align=right><td>foo<td>bar<td>baz</table><p>extra": execCommand("stylewithcss", false, "true") return value 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<table data-start=0 data-end=1><tbody><tr align=right><td>foo<td>bar<td>baz</table><p>extra": execCommand("defaultparagraphseparator", false, "p") return value 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<table data-start=0 data-end=1><tbody><tr align=right><td>foo<td>bar<td>baz</table><p>extra": execCommand("justifyright", false, "") return value 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<table data-start=0 data-end=1><tbody><tr align=right><td>foo<td>bar<td>baz</table><p>extra" checks for modifications to non-editable content 
+FAIL [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<table data-start=0 data-end=1><tbody><tr align=right><td>foo<td>bar<td>baz</table><p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<div style=\"text-align:right\"><table><tbody><tr><td>foo</td><td>bar</td><td>baz</td></tr></tbody></table></div><p>extra</p>" but got "<table style=\"text-align:right\"><tbody><tr align=\"right\"><td>foo</td><td>bar</td><td>baz</td></tr></tbody></table><p>extra</p>"
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<table data-start=0 data-end=1><tbody><tr align=right><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("stylewithcss") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<table data-start=0 data-end=1><tbody><tr align=right><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("stylewithcss") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<table data-start=0 data-end=1><tbody><tr align=right><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("stylewithcss") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<table data-start=0 data-end=1><tbody><tr align=right><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("stylewithcss") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<table data-start=0 data-end=1><tbody><tr align=right><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("stylewithcss") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<table data-start=0 data-end=1><tbody><tr align=right><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("stylewithcss") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<table data-start=0 data-end=1><tbody><tr align=right><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("defaultparagraphseparator") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<table data-start=0 data-end=1><tbody><tr align=right><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("defaultparagraphseparator") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<table data-start=0 data-end=1><tbody><tr align=right><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("defaultparagraphseparator") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<table data-start=0 data-end=1><tbody><tr align=right><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("defaultparagraphseparator") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<table data-start=0 data-end=1><tbody><tr align=right><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("defaultparagraphseparator") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<table data-start=0 data-end=1><tbody><tr align=right><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("defaultparagraphseparator") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<table data-start=0 data-end=1><tbody><tr align=right><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("justifyright") before 
+FAIL [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<table data-start=0 data-end=1><tbody><tr align=right><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("justifyright") before assert_equals: Wrong result returned expected true but got false
+FAIL [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<table data-start=0 data-end=1><tbody><tr align=right><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("justifyright") before assert_equals: Wrong result returned expected "right" but got "false"
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<table data-start=0 data-end=1><tbody><tr align=right><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("justifyright") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<table data-start=0 data-end=1><tbody><tr align=right><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("justifyright") after 
+FAIL [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<table data-start=0 data-end=1><tbody><tr align=right><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("justifyright") after assert_equals: Wrong result returned expected "right" but got "true"
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<table data-start=0 data-end=1><tbody><tr align=right><td>foo<td>bar<td>baz</table><p>extra": execCommand("stylewithcss", false, "false") return value 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<table data-start=0 data-end=1><tbody><tr align=right><td>foo<td>bar<td>baz</table><p>extra": execCommand("defaultparagraphseparator", false, "p") return value 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<table data-start=0 data-end=1><tbody><tr align=right><td>foo<td>bar<td>baz</table><p>extra": execCommand("justifyright", false, "") return value 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<table data-start=0 data-end=1><tbody><tr align=right><td>foo<td>bar<td>baz</table><p>extra" checks for modifications to non-editable content 
+FAIL [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<table data-start=0 data-end=1><tbody><tr align=right><td>foo<td>bar<td>baz</table><p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<div style=\"text-align:right\"><table><tbody><tr><td>foo</td><td>bar</td><td>baz</td></tr></tbody></table></div><p>extra</p>" but got "<table style=\"text-align:right\"><tbody><tr align=\"right\"><td>foo</td><td>bar</td><td>baz</td></tr></tbody></table><p>extra</p>"
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<table data-start=0 data-end=1><tbody><tr align=right><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("stylewithcss") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<table data-start=0 data-end=1><tbody><tr align=right><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("stylewithcss") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<table data-start=0 data-end=1><tbody><tr align=right><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("stylewithcss") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<table data-start=0 data-end=1><tbody><tr align=right><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("stylewithcss") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<table data-start=0 data-end=1><tbody><tr align=right><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("stylewithcss") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<table data-start=0 data-end=1><tbody><tr align=right><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("stylewithcss") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<table data-start=0 data-end=1><tbody><tr align=right><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("defaultparagraphseparator") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<table data-start=0 data-end=1><tbody><tr align=right><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("defaultparagraphseparator") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<table data-start=0 data-end=1><tbody><tr align=right><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("defaultparagraphseparator") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<table data-start=0 data-end=1><tbody><tr align=right><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("defaultparagraphseparator") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<table data-start=0 data-end=1><tbody><tr align=right><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("defaultparagraphseparator") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<table data-start=0 data-end=1><tbody><tr align=right><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("defaultparagraphseparator") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<table data-start=0 data-end=1><tbody><tr align=right><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("justifyright") before 
+FAIL [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<table data-start=0 data-end=1><tbody><tr align=right><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("justifyright") before assert_equals: Wrong result returned expected true but got false
+FAIL [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<table data-start=0 data-end=1><tbody><tr align=right><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("justifyright") before assert_equals: Wrong result returned expected "right" but got "false"
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<table data-start=0 data-end=1><tbody><tr align=right><td>foo<td>bar<td>baz</table><p>extra" queryCommandIndeterm("justifyright") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<table data-start=0 data-end=1><tbody><tr align=right><td>foo<td>bar<td>baz</table><p>extra" queryCommandState("justifyright") after 
+FAIL [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<table data-start=0 data-end=1><tbody><tr align=right><td>foo<td>bar<td>baz</table><p>extra" queryCommandValue("justifyright") after assert_equals: Wrong result returned expected "right" but got "true"
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "{<table><tr align=right><td>foo<td>bar<td>baz</table>}<p>extra": execCommand("stylewithcss", false, "true") return value 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "{<table><tr align=right><td>foo<td>bar<td>baz</table>}<p>extra": execCommand("defaultparagraphseparator", false, "div") return value 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "{<table><tr align=right><td>foo<td>bar<td>baz</table>}<p>extra": execCommand("justifyright", false, "") return value 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "{<table><tr align=right><td>foo<td>bar<td>baz</table>}<p>extra" checks for modifications to non-editable content 
+FAIL [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "{<table><tr align=right><td>foo<td>bar<td>baz</table>}<p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<div style=\"text-align:right\"><table><tbody><tr><td>foo</td><td>bar</td><td>baz</td></tr></tbody></table></div><p>extra</p>" but got "<table style=\"text-align:right\"><tbody><tr align=\"right\"><td>foo</td><td>bar</td><td>baz</td></tr></tbody></table><p style=\"text-align:right\">extra</p>"
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "{<table><tr align=right><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandIndeterm("stylewithcss") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "{<table><tr align=right><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandState("stylewithcss") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "{<table><tr align=right><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandValue("stylewithcss") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "{<table><tr align=right><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandIndeterm("stylewithcss") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "{<table><tr align=right><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandState("stylewithcss") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "{<table><tr align=right><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandValue("stylewithcss") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "{<table><tr align=right><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandIndeterm("defaultparagraphseparator") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "{<table><tr align=right><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandState("defaultparagraphseparator") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "{<table><tr align=right><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandValue("defaultparagraphseparator") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "{<table><tr align=right><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandIndeterm("defaultparagraphseparator") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "{<table><tr align=right><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandState("defaultparagraphseparator") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "{<table><tr align=right><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandValue("defaultparagraphseparator") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "{<table><tr align=right><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandIndeterm("justifyright") before 
+FAIL [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "{<table><tr align=right><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandState("justifyright") before assert_equals: Wrong result returned expected true but got false
+FAIL [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "{<table><tr align=right><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandValue("justifyright") before assert_equals: Wrong result returned expected "right" but got "false"
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "{<table><tr align=right><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandIndeterm("justifyright") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "{<table><tr align=right><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandState("justifyright") after 
+FAIL [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "{<table><tr align=right><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandValue("justifyright") after assert_equals: Wrong result returned expected "right" but got "true"
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "{<table><tr align=right><td>foo<td>bar<td>baz</table>}<p>extra": execCommand("stylewithcss", false, "false") return value 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "{<table><tr align=right><td>foo<td>bar<td>baz</table>}<p>extra": execCommand("defaultparagraphseparator", false, "div") return value 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "{<table><tr align=right><td>foo<td>bar<td>baz</table>}<p>extra": execCommand("justifyright", false, "") return value 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "{<table><tr align=right><td>foo<td>bar<td>baz</table>}<p>extra" checks for modifications to non-editable content 
+FAIL [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "{<table><tr align=right><td>foo<td>bar<td>baz</table>}<p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<div style=\"text-align:right\"><table><tbody><tr><td>foo</td><td>bar</td><td>baz</td></tr></tbody></table></div><p>extra</p>" but got "<table style=\"text-align:right\"><tbody><tr align=\"right\"><td>foo</td><td>bar</td><td>baz</td></tr></tbody></table><p style=\"text-align:right\">extra</p>"
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "{<table><tr align=right><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandIndeterm("stylewithcss") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "{<table><tr align=right><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandState("stylewithcss") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "{<table><tr align=right><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandValue("stylewithcss") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "{<table><tr align=right><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandIndeterm("stylewithcss") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "{<table><tr align=right><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandState("stylewithcss") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "{<table><tr align=right><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandValue("stylewithcss") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "{<table><tr align=right><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandIndeterm("defaultparagraphseparator") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "{<table><tr align=right><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandState("defaultparagraphseparator") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "{<table><tr align=right><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandValue("defaultparagraphseparator") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "{<table><tr align=right><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandIndeterm("defaultparagraphseparator") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "{<table><tr align=right><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandState("defaultparagraphseparator") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "{<table><tr align=right><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandValue("defaultparagraphseparator") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "{<table><tr align=right><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandIndeterm("justifyright") before 
+FAIL [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "{<table><tr align=right><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandState("justifyright") before assert_equals: Wrong result returned expected true but got false
+FAIL [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "{<table><tr align=right><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandValue("justifyright") before assert_equals: Wrong result returned expected "right" but got "false"
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "{<table><tr align=right><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandIndeterm("justifyright") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "{<table><tr align=right><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandState("justifyright") after 
+FAIL [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "{<table><tr align=right><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandValue("justifyright") after assert_equals: Wrong result returned expected "right" but got "true"
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "{<table><tr align=right><td>foo<td>bar<td>baz</table>}<p>extra": execCommand("stylewithcss", false, "true") return value 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "{<table><tr align=right><td>foo<td>bar<td>baz</table>}<p>extra": execCommand("defaultparagraphseparator", false, "p") return value 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "{<table><tr align=right><td>foo<td>bar<td>baz</table>}<p>extra": execCommand("justifyright", false, "") return value 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "{<table><tr align=right><td>foo<td>bar<td>baz</table>}<p>extra" checks for modifications to non-editable content 
+FAIL [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "{<table><tr align=right><td>foo<td>bar<td>baz</table>}<p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<div style=\"text-align:right\"><table><tbody><tr><td>foo</td><td>bar</td><td>baz</td></tr></tbody></table></div><p>extra</p>" but got "<table style=\"text-align:right\"><tbody><tr align=\"right\"><td>foo</td><td>bar</td><td>baz</td></tr></tbody></table><p style=\"text-align:right\">extra</p>"
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "{<table><tr align=right><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandIndeterm("stylewithcss") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "{<table><tr align=right><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandState("stylewithcss") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "{<table><tr align=right><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandValue("stylewithcss") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "{<table><tr align=right><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandIndeterm("stylewithcss") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "{<table><tr align=right><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandState("stylewithcss") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "{<table><tr align=right><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandValue("stylewithcss") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "{<table><tr align=right><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandIndeterm("defaultparagraphseparator") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "{<table><tr align=right><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandState("defaultparagraphseparator") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "{<table><tr align=right><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandValue("defaultparagraphseparator") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "{<table><tr align=right><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandIndeterm("defaultparagraphseparator") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "{<table><tr align=right><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandState("defaultparagraphseparator") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "{<table><tr align=right><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandValue("defaultparagraphseparator") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "{<table><tr align=right><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandIndeterm("justifyright") before 
+FAIL [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "{<table><tr align=right><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandState("justifyright") before assert_equals: Wrong result returned expected true but got false
+FAIL [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "{<table><tr align=right><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandValue("justifyright") before assert_equals: Wrong result returned expected "right" but got "false"
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "{<table><tr align=right><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandIndeterm("justifyright") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "{<table><tr align=right><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandState("justifyright") after 
+FAIL [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "{<table><tr align=right><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandValue("justifyright") after assert_equals: Wrong result returned expected "right" but got "true"
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "{<table><tr align=right><td>foo<td>bar<td>baz</table>}<p>extra": execCommand("stylewithcss", false, "false") return value 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "{<table><tr align=right><td>foo<td>bar<td>baz</table>}<p>extra": execCommand("defaultparagraphseparator", false, "p") return value 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "{<table><tr align=right><td>foo<td>bar<td>baz</table>}<p>extra": execCommand("justifyright", false, "") return value 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "{<table><tr align=right><td>foo<td>bar<td>baz</table>}<p>extra" checks for modifications to non-editable content 
+FAIL [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "{<table><tr align=right><td>foo<td>bar<td>baz</table>}<p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<div style=\"text-align:right\"><table><tbody><tr><td>foo</td><td>bar</td><td>baz</td></tr></tbody></table></div><p>extra</p>" but got "<table style=\"text-align:right\"><tbody><tr align=\"right\"><td>foo</td><td>bar</td><td>baz</td></tr></tbody></table><p style=\"text-align:right\">extra</p>"
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "{<table><tr align=right><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandIndeterm("stylewithcss") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "{<table><tr align=right><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandState("stylewithcss") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "{<table><tr align=right><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandValue("stylewithcss") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "{<table><tr align=right><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandIndeterm("stylewithcss") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "{<table><tr align=right><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandState("stylewithcss") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "{<table><tr align=right><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandValue("stylewithcss") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "{<table><tr align=right><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandIndeterm("defaultparagraphseparator") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "{<table><tr align=right><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandState("defaultparagraphseparator") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "{<table><tr align=right><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandValue("defaultparagraphseparator") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "{<table><tr align=right><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandIndeterm("defaultparagraphseparator") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "{<table><tr align=right><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandState("defaultparagraphseparator") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "{<table><tr align=right><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandValue("defaultparagraphseparator") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "{<table><tr align=right><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandIndeterm("justifyright") before 
+FAIL [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "{<table><tr align=right><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandState("justifyright") before assert_equals: Wrong result returned expected true but got false
+FAIL [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "{<table><tr align=right><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandValue("justifyright") before assert_equals: Wrong result returned expected "right" but got "false"
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "{<table><tr align=right><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandIndeterm("justifyright") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "{<table><tr align=right><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandState("justifyright") after 
+FAIL [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "{<table><tr align=right><td>foo<td>bar<td>baz</table>}<p>extra" queryCommandValue("justifyright") after assert_equals: Wrong result returned expected "right" but got "true"
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<div align=center><p>[foo]<p>bar</div><p>extra": execCommand("stylewithcss", false, "true") return value 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<div align=center><p>[foo]<p>bar</div><p>extra": execCommand("defaultparagraphseparator", false, "div") return value 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<div align=center><p>[foo]<p>bar</div><p>extra": execCommand("justifyright", false, "") return value 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<div align=center><p>[foo]<p>bar</div><p>extra" checks for modifications to non-editable content 
+FAIL [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<div align=center><p>[foo]<p>bar</div><p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<div align=\"center\"><div style=\"text-align:right\"><p>foo</p></div><p>bar</p></div><p>extra</p>" but got "<div align=\"center\"><p style=\"text-align:right\">foo</p><p>bar</p></div><p>extra</p>"
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<div align=center><p>[foo]<p>bar</div><p>extra" queryCommandIndeterm("stylewithcss") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<div align=center><p>[foo]<p>bar</div><p>extra" queryCommandState("stylewithcss") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<div align=center><p>[foo]<p>bar</div><p>extra" queryCommandValue("stylewithcss") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<div align=center><p>[foo]<p>bar</div><p>extra" queryCommandIndeterm("stylewithcss") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<div align=center><p>[foo]<p>bar</div><p>extra" queryCommandState("stylewithcss") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<div align=center><p>[foo]<p>bar</div><p>extra" queryCommandValue("stylewithcss") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<div align=center><p>[foo]<p>bar</div><p>extra" queryCommandIndeterm("defaultparagraphseparator") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<div align=center><p>[foo]<p>bar</div><p>extra" queryCommandState("defaultparagraphseparator") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<div align=center><p>[foo]<p>bar</div><p>extra" queryCommandValue("defaultparagraphseparator") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<div align=center><p>[foo]<p>bar</div><p>extra" queryCommandIndeterm("defaultparagraphseparator") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<div align=center><p>[foo]<p>bar</div><p>extra" queryCommandState("defaultparagraphseparator") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<div align=center><p>[foo]<p>bar</div><p>extra" queryCommandValue("defaultparagraphseparator") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<div align=center><p>[foo]<p>bar</div><p>extra" queryCommandIndeterm("justifyright") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<div align=center><p>[foo]<p>bar</div><p>extra" queryCommandState("justifyright") before 
+FAIL [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<div align=center><p>[foo]<p>bar</div><p>extra" queryCommandValue("justifyright") before assert_equals: Wrong result returned expected "center" but got "false"
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<div align=center><p>[foo]<p>bar</div><p>extra" queryCommandIndeterm("justifyright") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<div align=center><p>[foo]<p>bar</div><p>extra" queryCommandState("justifyright") after 
+FAIL [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<div align=center><p>[foo]<p>bar</div><p>extra" queryCommandValue("justifyright") after assert_equals: Wrong result returned expected "right" but got "true"
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<div align=center><p>[foo]<p>bar</div><p>extra": execCommand("stylewithcss", false, "false") return value 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<div align=center><p>[foo]<p>bar</div><p>extra": execCommand("defaultparagraphseparator", false, "div") return value 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<div align=center><p>[foo]<p>bar</div><p>extra": execCommand("justifyright", false, "") return value 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<div align=center><p>[foo]<p>bar</div><p>extra" checks for modifications to non-editable content 
+FAIL [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<div align=center><p>[foo]<p>bar</div><p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<div align=\"center\"><div style=\"text-align:right\"><p>foo</p></div><p>bar</p></div><p>extra</p>" but got "<div align=\"center\"><p style=\"text-align:right\">foo</p><p>bar</p></div><p>extra</p>"
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<div align=center><p>[foo]<p>bar</div><p>extra" queryCommandIndeterm("stylewithcss") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<div align=center><p>[foo]<p>bar</div><p>extra" queryCommandState("stylewithcss") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<div align=center><p>[foo]<p>bar</div><p>extra" queryCommandValue("stylewithcss") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<div align=center><p>[foo]<p>bar</div><p>extra" queryCommandIndeterm("stylewithcss") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<div align=center><p>[foo]<p>bar</div><p>extra" queryCommandState("stylewithcss") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<div align=center><p>[foo]<p>bar</div><p>extra" queryCommandValue("stylewithcss") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<div align=center><p>[foo]<p>bar</div><p>extra" queryCommandIndeterm("defaultparagraphseparator") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<div align=center><p>[foo]<p>bar</div><p>extra" queryCommandState("defaultparagraphseparator") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<div align=center><p>[foo]<p>bar</div><p>extra" queryCommandValue("defaultparagraphseparator") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<div align=center><p>[foo]<p>bar</div><p>extra" queryCommandIndeterm("defaultparagraphseparator") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<div align=center><p>[foo]<p>bar</div><p>extra" queryCommandState("defaultparagraphseparator") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<div align=center><p>[foo]<p>bar</div><p>extra" queryCommandValue("defaultparagraphseparator") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<div align=center><p>[foo]<p>bar</div><p>extra" queryCommandIndeterm("justifyright") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<div align=center><p>[foo]<p>bar</div><p>extra" queryCommandState("justifyright") before 
+FAIL [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<div align=center><p>[foo]<p>bar</div><p>extra" queryCommandValue("justifyright") before assert_equals: Wrong result returned expected "center" but got "false"
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<div align=center><p>[foo]<p>bar</div><p>extra" queryCommandIndeterm("justifyright") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<div align=center><p>[foo]<p>bar</div><p>extra" queryCommandState("justifyright") after 
+FAIL [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<div align=center><p>[foo]<p>bar</div><p>extra" queryCommandValue("justifyright") after assert_equals: Wrong result returned expected "right" but got "true"
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<div align=center><p>[foo]<p>bar</div><p>extra": execCommand("stylewithcss", false, "true") return value 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<div align=center><p>[foo]<p>bar</div><p>extra": execCommand("defaultparagraphseparator", false, "p") return value 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<div align=center><p>[foo]<p>bar</div><p>extra": execCommand("justifyright", false, "") return value 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<div align=center><p>[foo]<p>bar</div><p>extra" checks for modifications to non-editable content 
+FAIL [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<div align=center><p>[foo]<p>bar</div><p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<div align=\"center\"><div style=\"text-align:right\"><p>foo</p></div><p>bar</p></div><p>extra</p>" but got "<div align=\"center\"><p style=\"text-align:right\">foo</p><p>bar</p></div><p>extra</p>"
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<div align=center><p>[foo]<p>bar</div><p>extra" queryCommandIndeterm("stylewithcss") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<div align=center><p>[foo]<p>bar</div><p>extra" queryCommandState("stylewithcss") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<div align=center><p>[foo]<p>bar</div><p>extra" queryCommandValue("stylewithcss") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<div align=center><p>[foo]<p>bar</div><p>extra" queryCommandIndeterm("stylewithcss") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<div align=center><p>[foo]<p>bar</div><p>extra" queryCommandState("stylewithcss") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<div align=center><p>[foo]<p>bar</div><p>extra" queryCommandValue("stylewithcss") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<div align=center><p>[foo]<p>bar</div><p>extra" queryCommandIndeterm("defaultparagraphseparator") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<div align=center><p>[foo]<p>bar</div><p>extra" queryCommandState("defaultparagraphseparator") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<div align=center><p>[foo]<p>bar</div><p>extra" queryCommandValue("defaultparagraphseparator") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<div align=center><p>[foo]<p>bar</div><p>extra" queryCommandIndeterm("defaultparagraphseparator") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<div align=center><p>[foo]<p>bar</div><p>extra" queryCommandState("defaultparagraphseparator") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<div align=center><p>[foo]<p>bar</div><p>extra" queryCommandValue("defaultparagraphseparator") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<div align=center><p>[foo]<p>bar</div><p>extra" queryCommandIndeterm("justifyright") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<div align=center><p>[foo]<p>bar</div><p>extra" queryCommandState("justifyright") before 
+FAIL [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<div align=center><p>[foo]<p>bar</div><p>extra" queryCommandValue("justifyright") before assert_equals: Wrong result returned expected "center" but got "false"
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<div align=center><p>[foo]<p>bar</div><p>extra" queryCommandIndeterm("justifyright") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<div align=center><p>[foo]<p>bar</div><p>extra" queryCommandState("justifyright") after 
+FAIL [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<div align=center><p>[foo]<p>bar</div><p>extra" queryCommandValue("justifyright") after assert_equals: Wrong result returned expected "right" but got "true"
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<div align=center><p>[foo]<p>bar</div><p>extra": execCommand("stylewithcss", false, "false") return value 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<div align=center><p>[foo]<p>bar</div><p>extra": execCommand("defaultparagraphseparator", false, "p") return value 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<div align=center><p>[foo]<p>bar</div><p>extra": execCommand("justifyright", false, "") return value 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<div align=center><p>[foo]<p>bar</div><p>extra" checks for modifications to non-editable content 
+FAIL [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<div align=center><p>[foo]<p>bar</div><p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<div align=\"center\"><div style=\"text-align:right\"><p>foo</p></div><p>bar</p></div><p>extra</p>" but got "<div align=\"center\"><p style=\"text-align:right\">foo</p><p>bar</p></div><p>extra</p>"
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<div align=center><p>[foo]<p>bar</div><p>extra" queryCommandIndeterm("stylewithcss") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<div align=center><p>[foo]<p>bar</div><p>extra" queryCommandState("stylewithcss") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<div align=center><p>[foo]<p>bar</div><p>extra" queryCommandValue("stylewithcss") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<div align=center><p>[foo]<p>bar</div><p>extra" queryCommandIndeterm("stylewithcss") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<div align=center><p>[foo]<p>bar</div><p>extra" queryCommandState("stylewithcss") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<div align=center><p>[foo]<p>bar</div><p>extra" queryCommandValue("stylewithcss") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<div align=center><p>[foo]<p>bar</div><p>extra" queryCommandIndeterm("defaultparagraphseparator") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<div align=center><p>[foo]<p>bar</div><p>extra" queryCommandState("defaultparagraphseparator") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<div align=center><p>[foo]<p>bar</div><p>extra" queryCommandValue("defaultparagraphseparator") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<div align=center><p>[foo]<p>bar</div><p>extra" queryCommandIndeterm("defaultparagraphseparator") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<div align=center><p>[foo]<p>bar</div><p>extra" queryCommandState("defaultparagraphseparator") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<div align=center><p>[foo]<p>bar</div><p>extra" queryCommandValue("defaultparagraphseparator") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<div align=center><p>[foo]<p>bar</div><p>extra" queryCommandIndeterm("justifyright") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<div align=center><p>[foo]<p>bar</div><p>extra" queryCommandState("justifyright") before 
+FAIL [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<div align=center><p>[foo]<p>bar</div><p>extra" queryCommandValue("justifyright") before assert_equals: Wrong result returned expected "center" but got "false"
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<div align=center><p>[foo]<p>bar</div><p>extra" queryCommandIndeterm("justifyright") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<div align=center><p>[foo]<p>bar</div><p>extra" queryCommandState("justifyright") after 
+FAIL [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<div align=center><p>[foo]<p>bar</div><p>extra" queryCommandValue("justifyright") after assert_equals: Wrong result returned expected "right" but got "true"
+PASS [["stylewithcss","true"],["justifyright",""]] "<div align=center><p>[foo<p>bar}</div><p>extra": execCommand("stylewithcss", false, "true") return value 
+PASS [["stylewithcss","true"],["justifyright",""]] "<div align=center><p>[foo<p>bar}</div><p>extra": execCommand("justifyright", false, "") return value 
+PASS [["stylewithcss","true"],["justifyright",""]] "<div align=center><p>[foo<p>bar}</div><p>extra" checks for modifications to non-editable content 
+FAIL [["stylewithcss","true"],["justifyright",""]] "<div align=center><p>[foo<p>bar}</div><p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<div style=\"text-align:right\"><p>foo</p><p>bar</p></div><p>extra</p>" but got "<div align=\"center\"><p style=\"text-align:right\">foo</p><p style=\"text-align:right\">bar</p></div><p>extra</p>"
+PASS [["stylewithcss","true"],["justifyright",""]] "<div align=center><p>[foo<p>bar}</div><p>extra" queryCommandIndeterm("stylewithcss") before 
+PASS [["stylewithcss","true"],["justifyright",""]] "<div align=center><p>[foo<p>bar}</div><p>extra" queryCommandState("stylewithcss") before 
+PASS [["stylewithcss","true"],["justifyright",""]] "<div align=center><p>[foo<p>bar}</div><p>extra" queryCommandValue("stylewithcss") before 
+PASS [["stylewithcss","true"],["justifyright",""]] "<div align=center><p>[foo<p>bar}</div><p>extra" queryCommandIndeterm("stylewithcss") after 
+PASS [["stylewithcss","true"],["justifyright",""]] "<div align=center><p>[foo<p>bar}</div><p>extra" queryCommandState("stylewithcss") after 
+PASS [["stylewithcss","true"],["justifyright",""]] "<div align=center><p>[foo<p>bar}</div><p>extra" queryCommandValue("stylewithcss") after 
+PASS [["stylewithcss","true"],["justifyright",""]] "<div align=center><p>[foo<p>bar}</div><p>extra" queryCommandIndeterm("justifyright") before 
+PASS [["stylewithcss","true"],["justifyright",""]] "<div align=center><p>[foo<p>bar}</div><p>extra" queryCommandState("justifyright") before 
+FAIL [["stylewithcss","true"],["justifyright",""]] "<div align=center><p>[foo<p>bar}</div><p>extra" queryCommandValue("justifyright") before assert_equals: Wrong result returned expected "center" but got "false"
+PASS [["stylewithcss","true"],["justifyright",""]] "<div align=center><p>[foo<p>bar}</div><p>extra" queryCommandIndeterm("justifyright") after 
+PASS [["stylewithcss","true"],["justifyright",""]] "<div align=center><p>[foo<p>bar}</div><p>extra" queryCommandState("justifyright") after 
+FAIL [["stylewithcss","true"],["justifyright",""]] "<div align=center><p>[foo<p>bar}</div><p>extra" queryCommandValue("justifyright") after assert_equals: Wrong result returned expected "right" but got "true"
+PASS [["stylewithcss","false"],["justifyright",""]] "<div align=center><p>[foo<p>bar}</div><p>extra": execCommand("stylewithcss", false, "false") return value 
+PASS [["stylewithcss","false"],["justifyright",""]] "<div align=center><p>[foo<p>bar}</div><p>extra": execCommand("justifyright", false, "") return value 
+PASS [["stylewithcss","false"],["justifyright",""]] "<div align=center><p>[foo<p>bar}</div><p>extra" checks for modifications to non-editable content 
+FAIL [["stylewithcss","false"],["justifyright",""]] "<div align=center><p>[foo<p>bar}</div><p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<div style=\"text-align:right\"><p>foo</p><p>bar</p></div><p>extra</p>" but got "<div align=\"center\"><p style=\"text-align:right\">foo</p><p style=\"text-align:right\">bar</p></div><p>extra</p>"
+PASS [["stylewithcss","false"],["justifyright",""]] "<div align=center><p>[foo<p>bar}</div><p>extra" queryCommandIndeterm("stylewithcss") before 
+PASS [["stylewithcss","false"],["justifyright",""]] "<div align=center><p>[foo<p>bar}</div><p>extra" queryCommandState("stylewithcss") before 
+PASS [["stylewithcss","false"],["justifyright",""]] "<div align=center><p>[foo<p>bar}</div><p>extra" queryCommandValue("stylewithcss") before 
+PASS [["stylewithcss","false"],["justifyright",""]] "<div align=center><p>[foo<p>bar}</div><p>extra" queryCommandIndeterm("stylewithcss") after 
+PASS [["stylewithcss","false"],["justifyright",""]] "<div align=center><p>[foo<p>bar}</div><p>extra" queryCommandState("stylewithcss") after 
+PASS [["stylewithcss","false"],["justifyright",""]] "<div align=center><p>[foo<p>bar}</div><p>extra" queryCommandValue("stylewithcss") after 
+PASS [["stylewithcss","false"],["justifyright",""]] "<div align=center><p>[foo<p>bar}</div><p>extra" queryCommandIndeterm("justifyright") before 
+PASS [["stylewithcss","false"],["justifyright",""]] "<div align=center><p>[foo<p>bar}</div><p>extra" queryCommandState("justifyright") before 
+FAIL [["stylewithcss","false"],["justifyright",""]] "<div align=center><p>[foo<p>bar}</div><p>extra" queryCommandValue("justifyright") before assert_equals: Wrong result returned expected "center" but got "false"
+PASS [["stylewithcss","false"],["justifyright",""]] "<div align=center><p>[foo<p>bar}</div><p>extra" queryCommandIndeterm("justifyright") after 
+PASS [["stylewithcss","false"],["justifyright",""]] "<div align=center><p>[foo<p>bar}</div><p>extra" queryCommandState("justifyright") after 
+FAIL [["stylewithcss","false"],["justifyright",""]] "<div align=center><p>[foo<p>bar}</div><p>extra" queryCommandValue("justifyright") after assert_equals: Wrong result returned expected "right" but got "true"
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<div style=text-align:center><p>[foo]<p>bar</div><p>extra": execCommand("stylewithcss", false, "true") return value 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<div style=text-align:center><p>[foo]<p>bar</div><p>extra": execCommand("defaultparagraphseparator", false, "div") return value 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<div style=text-align:center><p>[foo]<p>bar</div><p>extra": execCommand("justifyright", false, "") return value 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<div style=text-align:center><p>[foo]<p>bar</div><p>extra" checks for modifications to non-editable content 
+FAIL [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<div style=text-align:center><p>[foo]<p>bar</div><p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<div style=\"text-align:center\"><div style=\"text-align:right\"><p>foo</p></div><p>bar</p></div><p>extra</p>" but got "<div style=\"text-align:center\"><p style=\"text-align:right\">foo</p><p>bar</p></div><p>extra</p>"
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<div style=text-align:center><p>[foo]<p>bar</div><p>extra" queryCommandIndeterm("stylewithcss") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<div style=text-align:center><p>[foo]<p>bar</div><p>extra" queryCommandState("stylewithcss") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<div style=text-align:center><p>[foo]<p>bar</div><p>extra" queryCommandValue("stylewithcss") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<div style=text-align:center><p>[foo]<p>bar</div><p>extra" queryCommandIndeterm("stylewithcss") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<div style=text-align:center><p>[foo]<p>bar</div><p>extra" queryCommandState("stylewithcss") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<div style=text-align:center><p>[foo]<p>bar</div><p>extra" queryCommandValue("stylewithcss") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<div style=text-align:center><p>[foo]<p>bar</div><p>extra" queryCommandIndeterm("defaultparagraphseparator") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<div style=text-align:center><p>[foo]<p>bar</div><p>extra" queryCommandState("defaultparagraphseparator") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<div style=text-align:center><p>[foo]<p>bar</div><p>extra" queryCommandValue("defaultparagraphseparator") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<div style=text-align:center><p>[foo]<p>bar</div><p>extra" queryCommandIndeterm("defaultparagraphseparator") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<div style=text-align:center><p>[foo]<p>bar</div><p>extra" queryCommandState("defaultparagraphseparator") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<div style=text-align:center><p>[foo]<p>bar</div><p>extra" queryCommandValue("defaultparagraphseparator") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<div style=text-align:center><p>[foo]<p>bar</div><p>extra" queryCommandIndeterm("justifyright") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<div style=text-align:center><p>[foo]<p>bar</div><p>extra" queryCommandState("justifyright") before 
+FAIL [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<div style=text-align:center><p>[foo]<p>bar</div><p>extra" queryCommandValue("justifyright") before assert_equals: Wrong result returned expected "center" but got "false"
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<div style=text-align:center><p>[foo]<p>bar</div><p>extra" queryCommandIndeterm("justifyright") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<div style=text-align:center><p>[foo]<p>bar</div><p>extra" queryCommandState("justifyright") after 
+FAIL [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<div style=text-align:center><p>[foo]<p>bar</div><p>extra" queryCommandValue("justifyright") after assert_equals: Wrong result returned expected "right" but got "true"
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<div style=text-align:center><p>[foo]<p>bar</div><p>extra": execCommand("stylewithcss", false, "false") return value 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<div style=text-align:center><p>[foo]<p>bar</div><p>extra": execCommand("defaultparagraphseparator", false, "div") return value 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<div style=text-align:center><p>[foo]<p>bar</div><p>extra": execCommand("justifyright", false, "") return value 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<div style=text-align:center><p>[foo]<p>bar</div><p>extra" checks for modifications to non-editable content 
+FAIL [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<div style=text-align:center><p>[foo]<p>bar</div><p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<div style=\"text-align:center\"><div style=\"text-align:right\"><p>foo</p></div><p>bar</p></div><p>extra</p>" but got "<div style=\"text-align:center\"><p style=\"text-align:right\">foo</p><p>bar</p></div><p>extra</p>"
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<div style=text-align:center><p>[foo]<p>bar</div><p>extra" queryCommandIndeterm("stylewithcss") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<div style=text-align:center><p>[foo]<p>bar</div><p>extra" queryCommandState("stylewithcss") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<div style=text-align:center><p>[foo]<p>bar</div><p>extra" queryCommandValue("stylewithcss") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<div style=text-align:center><p>[foo]<p>bar</div><p>extra" queryCommandIndeterm("stylewithcss") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<div style=text-align:center><p>[foo]<p>bar</div><p>extra" queryCommandState("stylewithcss") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<div style=text-align:center><p>[foo]<p>bar</div><p>extra" queryCommandValue("stylewithcss") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<div style=text-align:center><p>[foo]<p>bar</div><p>extra" queryCommandIndeterm("defaultparagraphseparator") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<div style=text-align:center><p>[foo]<p>bar</div><p>extra" queryCommandState("defaultparagraphseparator") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<div style=text-align:center><p>[foo]<p>bar</div><p>extra" queryCommandValue("defaultparagraphseparator") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<div style=text-align:center><p>[foo]<p>bar</div><p>extra" queryCommandIndeterm("defaultparagraphseparator") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<div style=text-align:center><p>[foo]<p>bar</div><p>extra" queryCommandState("defaultparagraphseparator") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<div style=text-align:center><p>[foo]<p>bar</div><p>extra" queryCommandValue("defaultparagraphseparator") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<div style=text-align:center><p>[foo]<p>bar</div><p>extra" queryCommandIndeterm("justifyright") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<div style=text-align:center><p>[foo]<p>bar</div><p>extra" queryCommandState("justifyright") before 
+FAIL [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<div style=text-align:center><p>[foo]<p>bar</div><p>extra" queryCommandValue("justifyright") before assert_equals: Wrong result returned expected "center" but got "false"
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<div style=text-align:center><p>[foo]<p>bar</div><p>extra" queryCommandIndeterm("justifyright") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<div style=text-align:center><p>[foo]<p>bar</div><p>extra" queryCommandState("justifyright") after 
+FAIL [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<div style=text-align:center><p>[foo]<p>bar</div><p>extra" queryCommandValue("justifyright") after assert_equals: Wrong result returned expected "right" but got "true"
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<div style=text-align:center><p>[foo]<p>bar</div><p>extra": execCommand("stylewithcss", false, "true") return value 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<div style=text-align:center><p>[foo]<p>bar</div><p>extra": execCommand("defaultparagraphseparator", false, "p") return value 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<div style=text-align:center><p>[foo]<p>bar</div><p>extra": execCommand("justifyright", false, "") return value 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<div style=text-align:center><p>[foo]<p>bar</div><p>extra" checks for modifications to non-editable content 
+FAIL [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<div style=text-align:center><p>[foo]<p>bar</div><p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<div style=\"text-align:center\"><div style=\"text-align:right\"><p>foo</p></div><p>bar</p></div><p>extra</p>" but got "<div style=\"text-align:center\"><p style=\"text-align:right\">foo</p><p>bar</p></div><p>extra</p>"
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<div style=text-align:center><p>[foo]<p>bar</div><p>extra" queryCommandIndeterm("stylewithcss") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<div style=text-align:center><p>[foo]<p>bar</div><p>extra" queryCommandState("stylewithcss") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<div style=text-align:center><p>[foo]<p>bar</div><p>extra" queryCommandValue("stylewithcss") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<div style=text-align:center><p>[foo]<p>bar</div><p>extra" queryCommandIndeterm("stylewithcss") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<div style=text-align:center><p>[foo]<p>bar</div><p>extra" queryCommandState("stylewithcss") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<div style=text-align:center><p>[foo]<p>bar</div><p>extra" queryCommandValue("stylewithcss") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<div style=text-align:center><p>[foo]<p>bar</div><p>extra" queryCommandIndeterm("defaultparagraphseparator") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<div style=text-align:center><p>[foo]<p>bar</div><p>extra" queryCommandState("defaultparagraphseparator") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<div style=text-align:center><p>[foo]<p>bar</div><p>extra" queryCommandValue("defaultparagraphseparator") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<div style=text-align:center><p>[foo]<p>bar</div><p>extra" queryCommandIndeterm("defaultparagraphseparator") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<div style=text-align:center><p>[foo]<p>bar</div><p>extra" queryCommandState("defaultparagraphseparator") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<div style=text-align:center><p>[foo]<p>bar</div><p>extra" queryCommandValue("defaultparagraphseparator") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<div style=text-align:center><p>[foo]<p>bar</div><p>extra" queryCommandIndeterm("justifyright") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<div style=text-align:center><p>[foo]<p>bar</div><p>extra" queryCommandState("justifyright") before 
+FAIL [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<div style=text-align:center><p>[foo]<p>bar</div><p>extra" queryCommandValue("justifyright") before assert_equals: Wrong result returned expected "center" but got "false"
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<div style=text-align:center><p>[foo]<p>bar</div><p>extra" queryCommandIndeterm("justifyright") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<div style=text-align:center><p>[foo]<p>bar</div><p>extra" queryCommandState("justifyright") after 
+FAIL [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<div style=text-align:center><p>[foo]<p>bar</div><p>extra" queryCommandValue("justifyright") after assert_equals: Wrong result returned expected "right" but got "true"
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<div style=text-align:center><p>[foo]<p>bar</div><p>extra": execCommand("stylewithcss", false, "false") return value 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<div style=text-align:center><p>[foo]<p>bar</div><p>extra": execCommand("defaultparagraphseparator", false, "p") return value 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<div style=text-align:center><p>[foo]<p>bar</div><p>extra": execCommand("justifyright", false, "") return value 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<div style=text-align:center><p>[foo]<p>bar</div><p>extra" checks for modifications to non-editable content 
+FAIL [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<div style=text-align:center><p>[foo]<p>bar</div><p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<div style=\"text-align:center\"><div style=\"text-align:right\"><p>foo</p></div><p>bar</p></div><p>extra</p>" but got "<div style=\"text-align:center\"><p style=\"text-align:right\">foo</p><p>bar</p></div><p>extra</p>"
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<div style=text-align:center><p>[foo]<p>bar</div><p>extra" queryCommandIndeterm("stylewithcss") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<div style=text-align:center><p>[foo]<p>bar</div><p>extra" queryCommandState("stylewithcss") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<div style=text-align:center><p>[foo]<p>bar</div><p>extra" queryCommandValue("stylewithcss") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<div style=text-align:center><p>[foo]<p>bar</div><p>extra" queryCommandIndeterm("stylewithcss") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<div style=text-align:center><p>[foo]<p>bar</div><p>extra" queryCommandState("stylewithcss") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<div style=text-align:center><p>[foo]<p>bar</div><p>extra" queryCommandValue("stylewithcss") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<div style=text-align:center><p>[foo]<p>bar</div><p>extra" queryCommandIndeterm("defaultparagraphseparator") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<div style=text-align:center><p>[foo]<p>bar</div><p>extra" queryCommandState("defaultparagraphseparator") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<div style=text-align:center><p>[foo]<p>bar</div><p>extra" queryCommandValue("defaultparagraphseparator") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<div style=text-align:center><p>[foo]<p>bar</div><p>extra" queryCommandIndeterm("defaultparagraphseparator") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<div style=text-align:center><p>[foo]<p>bar</div><p>extra" queryCommandState("defaultparagraphseparator") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<div style=text-align:center><p>[foo]<p>bar</div><p>extra" queryCommandValue("defaultparagraphseparator") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<div style=text-align:center><p>[foo]<p>bar</div><p>extra" queryCommandIndeterm("justifyright") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<div style=text-align:center><p>[foo]<p>bar</div><p>extra" queryCommandState("justifyright") before 
+FAIL [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<div style=text-align:center><p>[foo]<p>bar</div><p>extra" queryCommandValue("justifyright") before assert_equals: Wrong result returned expected "center" but got "false"
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<div style=text-align:center><p>[foo]<p>bar</div><p>extra" queryCommandIndeterm("justifyright") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<div style=text-align:center><p>[foo]<p>bar</div><p>extra" queryCommandState("justifyright") after 
+FAIL [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<div style=text-align:center><p>[foo]<p>bar</div><p>extra" queryCommandValue("justifyright") after assert_equals: Wrong result returned expected "right" but got "true"
+PASS [["justifyright",""]] "<div style=text-align:center><p>[foo<p>bar]</div><p>extra": execCommand("justifyright", false, "") return value 
+PASS [["justifyright",""]] "<div style=text-align:center><p>[foo<p>bar]</div><p>extra" checks for modifications to non-editable content 
+FAIL [["justifyright",""]] "<div style=text-align:center><p>[foo<p>bar]</div><p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<div style=\"text-align:right\"><p>foo</p><p>bar</p></div><p>extra</p>" but got "<div style=\"text-align:center\"><p style=\"text-align:right\">foo</p><p style=\"text-align:right\">bar</p></div><p>extra</p>"
+PASS [["justifyright",""]] "<div style=text-align:center><p>[foo<p>bar]</div><p>extra" queryCommandIndeterm("justifyright") before 
+PASS [["justifyright",""]] "<div style=text-align:center><p>[foo<p>bar]</div><p>extra" queryCommandState("justifyright") before 
+FAIL [["justifyright",""]] "<div style=text-align:center><p>[foo<p>bar]</div><p>extra" queryCommandValue("justifyright") before assert_equals: Wrong result returned expected "center" but got "false"
+PASS [["justifyright",""]] "<div style=text-align:center><p>[foo<p>bar]</div><p>extra" queryCommandIndeterm("justifyright") after 
+PASS [["justifyright",""]] "<div style=text-align:center><p>[foo<p>bar]</div><p>extra" queryCommandState("justifyright") after 
+FAIL [["justifyright",""]] "<div style=text-align:center><p>[foo<p>bar]</div><p>extra" queryCommandValue("justifyright") after assert_equals: Wrong result returned expected "right" but got "true"
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<div align=justify><p>[foo]<p>bar</div><p>extra": execCommand("stylewithcss", false, "true") return value 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<div align=justify><p>[foo]<p>bar</div><p>extra": execCommand("defaultparagraphseparator", false, "div") return value 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<div align=justify><p>[foo]<p>bar</div><p>extra": execCommand("justifyright", false, "") return value 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<div align=justify><p>[foo]<p>bar</div><p>extra" checks for modifications to non-editable content 
+FAIL [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<div align=justify><p>[foo]<p>bar</div><p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<div align=\"justify\"><div style=\"text-align:right\"><p>foo</p></div><p>bar</p></div><p>extra</p>" but got "<div align=\"justify\"><p style=\"text-align:right\">foo</p><p>bar</p></div><p>extra</p>"
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<div align=justify><p>[foo]<p>bar</div><p>extra" queryCommandIndeterm("stylewithcss") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<div align=justify><p>[foo]<p>bar</div><p>extra" queryCommandState("stylewithcss") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<div align=justify><p>[foo]<p>bar</div><p>extra" queryCommandValue("stylewithcss") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<div align=justify><p>[foo]<p>bar</div><p>extra" queryCommandIndeterm("stylewithcss") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<div align=justify><p>[foo]<p>bar</div><p>extra" queryCommandState("stylewithcss") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<div align=justify><p>[foo]<p>bar</div><p>extra" queryCommandValue("stylewithcss") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<div align=justify><p>[foo]<p>bar</div><p>extra" queryCommandIndeterm("defaultparagraphseparator") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<div align=justify><p>[foo]<p>bar</div><p>extra" queryCommandState("defaultparagraphseparator") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<div align=justify><p>[foo]<p>bar</div><p>extra" queryCommandValue("defaultparagraphseparator") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<div align=justify><p>[foo]<p>bar</div><p>extra" queryCommandIndeterm("defaultparagraphseparator") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<div align=justify><p>[foo]<p>bar</div><p>extra" queryCommandState("defaultparagraphseparator") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<div align=justify><p>[foo]<p>bar</div><p>extra" queryCommandValue("defaultparagraphseparator") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<div align=justify><p>[foo]<p>bar</div><p>extra" queryCommandIndeterm("justifyright") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<div align=justify><p>[foo]<p>bar</div><p>extra" queryCommandState("justifyright") before 
+FAIL [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<div align=justify><p>[foo]<p>bar</div><p>extra" queryCommandValue("justifyright") before assert_equals: Wrong result returned expected "justify" but got "false"
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<div align=justify><p>[foo]<p>bar</div><p>extra" queryCommandIndeterm("justifyright") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<div align=justify><p>[foo]<p>bar</div><p>extra" queryCommandState("justifyright") after 
+FAIL [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<div align=justify><p>[foo]<p>bar</div><p>extra" queryCommandValue("justifyright") after assert_equals: Wrong result returned expected "right" but got "true"
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<div align=justify><p>[foo]<p>bar</div><p>extra": execCommand("stylewithcss", false, "false") return value 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<div align=justify><p>[foo]<p>bar</div><p>extra": execCommand("defaultparagraphseparator", false, "div") return value 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<div align=justify><p>[foo]<p>bar</div><p>extra": execCommand("justifyright", false, "") return value 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<div align=justify><p>[foo]<p>bar</div><p>extra" checks for modifications to non-editable content 
+FAIL [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<div align=justify><p>[foo]<p>bar</div><p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<div align=\"justify\"><div style=\"text-align:right\"><p>foo</p></div><p>bar</p></div><p>extra</p>" but got "<div align=\"justify\"><p style=\"text-align:right\">foo</p><p>bar</p></div><p>extra</p>"
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<div align=justify><p>[foo]<p>bar</div><p>extra" queryCommandIndeterm("stylewithcss") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<div align=justify><p>[foo]<p>bar</div><p>extra" queryCommandState("stylewithcss") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<div align=justify><p>[foo]<p>bar</div><p>extra" queryCommandValue("stylewithcss") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<div align=justify><p>[foo]<p>bar</div><p>extra" queryCommandIndeterm("stylewithcss") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<div align=justify><p>[foo]<p>bar</div><p>extra" queryCommandState("stylewithcss") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<div align=justify><p>[foo]<p>bar</div><p>extra" queryCommandValue("stylewithcss") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<div align=justify><p>[foo]<p>bar</div><p>extra" queryCommandIndeterm("defaultparagraphseparator") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<div align=justify><p>[foo]<p>bar</div><p>extra" queryCommandState("defaultparagraphseparator") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<div align=justify><p>[foo]<p>bar</div><p>extra" queryCommandValue("defaultparagraphseparator") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<div align=justify><p>[foo]<p>bar</div><p>extra" queryCommandIndeterm("defaultparagraphseparator") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<div align=justify><p>[foo]<p>bar</div><p>extra" queryCommandState("defaultparagraphseparator") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<div align=justify><p>[foo]<p>bar</div><p>extra" queryCommandValue("defaultparagraphseparator") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<div align=justify><p>[foo]<p>bar</div><p>extra" queryCommandIndeterm("justifyright") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<div align=justify><p>[foo]<p>bar</div><p>extra" queryCommandState("justifyright") before 
+FAIL [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<div align=justify><p>[foo]<p>bar</div><p>extra" queryCommandValue("justifyright") before assert_equals: Wrong result returned expected "justify" but got "false"
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<div align=justify><p>[foo]<p>bar</div><p>extra" queryCommandIndeterm("justifyright") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<div align=justify><p>[foo]<p>bar</div><p>extra" queryCommandState("justifyright") after 
+FAIL [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<div align=justify><p>[foo]<p>bar</div><p>extra" queryCommandValue("justifyright") after assert_equals: Wrong result returned expected "right" but got "true"
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<div align=justify><p>[foo]<p>bar</div><p>extra": execCommand("stylewithcss", false, "true") return value 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<div align=justify><p>[foo]<p>bar</div><p>extra": execCommand("defaultparagraphseparator", false, "p") return value 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<div align=justify><p>[foo]<p>bar</div><p>extra": execCommand("justifyright", false, "") return value 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<div align=justify><p>[foo]<p>bar</div><p>extra" checks for modifications to non-editable content 
+FAIL [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<div align=justify><p>[foo]<p>bar</div><p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<div align=\"justify\"><div style=\"text-align:right\"><p>foo</p></div><p>bar</p></div><p>extra</p>" but got "<div align=\"justify\"><p style=\"text-align:right\">foo</p><p>bar</p></div><p>extra</p>"
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<div align=justify><p>[foo]<p>bar</div><p>extra" queryCommandIndeterm("stylewithcss") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<div align=justify><p>[foo]<p>bar</div><p>extra" queryCommandState("stylewithcss") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<div align=justify><p>[foo]<p>bar</div><p>extra" queryCommandValue("stylewithcss") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<div align=justify><p>[foo]<p>bar</div><p>extra" queryCommandIndeterm("stylewithcss") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<div align=justify><p>[foo]<p>bar</div><p>extra" queryCommandState("stylewithcss") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<div align=justify><p>[foo]<p>bar</div><p>extra" queryCommandValue("stylewithcss") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<div align=justify><p>[foo]<p>bar</div><p>extra" queryCommandIndeterm("defaultparagraphseparator") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<div align=justify><p>[foo]<p>bar</div><p>extra" queryCommandState("defaultparagraphseparator") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<div align=justify><p>[foo]<p>bar</div><p>extra" queryCommandValue("defaultparagraphseparator") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<div align=justify><p>[foo]<p>bar</div><p>extra" queryCommandIndeterm("defaultparagraphseparator") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<div align=justify><p>[foo]<p>bar</div><p>extra" queryCommandState("defaultparagraphseparator") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<div align=justify><p>[foo]<p>bar</div><p>extra" queryCommandValue("defaultparagraphseparator") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<div align=justify><p>[foo]<p>bar</div><p>extra" queryCommandIndeterm("justifyright") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<div align=justify><p>[foo]<p>bar</div><p>extra" queryCommandState("justifyright") before 
+FAIL [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<div align=justify><p>[foo]<p>bar</div><p>extra" queryCommandValue("justifyright") before assert_equals: Wrong result returned expected "justify" but got "false"
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<div align=justify><p>[foo]<p>bar</div><p>extra" queryCommandIndeterm("justifyright") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<div align=justify><p>[foo]<p>bar</div><p>extra" queryCommandState("justifyright") after 
+FAIL [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<div align=justify><p>[foo]<p>bar</div><p>extra" queryCommandValue("justifyright") after assert_equals: Wrong result returned expected "right" but got "true"
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<div align=justify><p>[foo]<p>bar</div><p>extra": execCommand("stylewithcss", false, "false") return value 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<div align=justify><p>[foo]<p>bar</div><p>extra": execCommand("defaultparagraphseparator", false, "p") return value 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<div align=justify><p>[foo]<p>bar</div><p>extra": execCommand("justifyright", false, "") return value 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<div align=justify><p>[foo]<p>bar</div><p>extra" checks for modifications to non-editable content 
+FAIL [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<div align=justify><p>[foo]<p>bar</div><p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<div align=\"justify\"><div style=\"text-align:right\"><p>foo</p></div><p>bar</p></div><p>extra</p>" but got "<div align=\"justify\"><p style=\"text-align:right\">foo</p><p>bar</p></div><p>extra</p>"
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<div align=justify><p>[foo]<p>bar</div><p>extra" queryCommandIndeterm("stylewithcss") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<div align=justify><p>[foo]<p>bar</div><p>extra" queryCommandState("stylewithcss") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<div align=justify><p>[foo]<p>bar</div><p>extra" queryCommandValue("stylewithcss") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<div align=justify><p>[foo]<p>bar</div><p>extra" queryCommandIndeterm("stylewithcss") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<div align=justify><p>[foo]<p>bar</div><p>extra" queryCommandState("stylewithcss") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<div align=justify><p>[foo]<p>bar</div><p>extra" queryCommandValue("stylewithcss") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<div align=justify><p>[foo]<p>bar</div><p>extra" queryCommandIndeterm("defaultparagraphseparator") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<div align=justify><p>[foo]<p>bar</div><p>extra" queryCommandState("defaultparagraphseparator") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<div align=justify><p>[foo]<p>bar</div><p>extra" queryCommandValue("defaultparagraphseparator") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<div align=justify><p>[foo]<p>bar</div><p>extra" queryCommandIndeterm("defaultparagraphseparator") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<div align=justify><p>[foo]<p>bar</div><p>extra" queryCommandState("defaultparagraphseparator") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<div align=justify><p>[foo]<p>bar</div><p>extra" queryCommandValue("defaultparagraphseparator") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<div align=justify><p>[foo]<p>bar</div><p>extra" queryCommandIndeterm("justifyright") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<div align=justify><p>[foo]<p>bar</div><p>extra" queryCommandState("justifyright") before 
+FAIL [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<div align=justify><p>[foo]<p>bar</div><p>extra" queryCommandValue("justifyright") before assert_equals: Wrong result returned expected "justify" but got "false"
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<div align=justify><p>[foo]<p>bar</div><p>extra" queryCommandIndeterm("justifyright") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<div align=justify><p>[foo]<p>bar</div><p>extra" queryCommandState("justifyright") after 
+FAIL [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<div align=justify><p>[foo]<p>bar</div><p>extra" queryCommandValue("justifyright") after assert_equals: Wrong result returned expected "right" but got "true"
+PASS [["stylewithcss","true"],["justifyright",""]] "<div align=justify><p>[foo<p>bar}</div><p>extra": execCommand("stylewithcss", false, "true") return value 
+PASS [["stylewithcss","true"],["justifyright",""]] "<div align=justify><p>[foo<p>bar}</div><p>extra": execCommand("justifyright", false, "") return value 
+PASS [["stylewithcss","true"],["justifyright",""]] "<div align=justify><p>[foo<p>bar}</div><p>extra" checks for modifications to non-editable content 
+FAIL [["stylewithcss","true"],["justifyright",""]] "<div align=justify><p>[foo<p>bar}</div><p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<div style=\"text-align:right\"><p>foo</p><p>bar</p></div><p>extra</p>" but got "<div align=\"justify\"><p style=\"text-align:right\">foo</p><p style=\"text-align:right\">bar</p></div><p>extra</p>"
+PASS [["stylewithcss","true"],["justifyright",""]] "<div align=justify><p>[foo<p>bar}</div><p>extra" queryCommandIndeterm("stylewithcss") before 
+PASS [["stylewithcss","true"],["justifyright",""]] "<div align=justify><p>[foo<p>bar}</div><p>extra" queryCommandState("stylewithcss") before 
+PASS [["stylewithcss","true"],["justifyright",""]] "<div align=justify><p>[foo<p>bar}</div><p>extra" queryCommandValue("stylewithcss") before 
+PASS [["stylewithcss","true"],["justifyright",""]] "<div align=justify><p>[foo<p>bar}</div><p>extra" queryCommandIndeterm("stylewithcss") after 
+PASS [["stylewithcss","true"],["justifyright",""]] "<div align=justify><p>[foo<p>bar}</div><p>extra" queryCommandState("stylewithcss") after 
+PASS [["stylewithcss","true"],["justifyright",""]] "<div align=justify><p>[foo<p>bar}</div><p>extra" queryCommandValue("stylewithcss") after 
+PASS [["stylewithcss","true"],["justifyright",""]] "<div align=justify><p>[foo<p>bar}</div><p>extra" queryCommandIndeterm("justifyright") before 
+PASS [["stylewithcss","true"],["justifyright",""]] "<div align=justify><p>[foo<p>bar}</div><p>extra" queryCommandState("justifyright") before 
+FAIL [["stylewithcss","true"],["justifyright",""]] "<div align=justify><p>[foo<p>bar}</div><p>extra" queryCommandValue("justifyright") before assert_equals: Wrong result returned expected "justify" but got "false"
+PASS [["stylewithcss","true"],["justifyright",""]] "<div align=justify><p>[foo<p>bar}</div><p>extra" queryCommandIndeterm("justifyright") after 
+PASS [["stylewithcss","true"],["justifyright",""]] "<div align=justify><p>[foo<p>bar}</div><p>extra" queryCommandState("justifyright") after 
+FAIL [["stylewithcss","true"],["justifyright",""]] "<div align=justify><p>[foo<p>bar}</div><p>extra" queryCommandValue("justifyright") after assert_equals: Wrong result returned expected "right" but got "true"
+PASS [["stylewithcss","false"],["justifyright",""]] "<div align=justify><p>[foo<p>bar}</div><p>extra": execCommand("stylewithcss", false, "false") return value 
+PASS [["stylewithcss","false"],["justifyright",""]] "<div align=justify><p>[foo<p>bar}</div><p>extra": execCommand("justifyright", false, "") return value 
+PASS [["stylewithcss","false"],["justifyright",""]] "<div align=justify><p>[foo<p>bar}</div><p>extra" checks for modifications to non-editable content 
+FAIL [["stylewithcss","false"],["justifyright",""]] "<div align=justify><p>[foo<p>bar}</div><p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<div style=\"text-align:right\"><p>foo</p><p>bar</p></div><p>extra</p>" but got "<div align=\"justify\"><p style=\"text-align:right\">foo</p><p style=\"text-align:right\">bar</p></div><p>extra</p>"
+PASS [["stylewithcss","false"],["justifyright",""]] "<div align=justify><p>[foo<p>bar}</div><p>extra" queryCommandIndeterm("stylewithcss") before 
+PASS [["stylewithcss","false"],["justifyright",""]] "<div align=justify><p>[foo<p>bar}</div><p>extra" queryCommandState("stylewithcss") before 
+PASS [["stylewithcss","false"],["justifyright",""]] "<div align=justify><p>[foo<p>bar}</div><p>extra" queryCommandValue("stylewithcss") before 
+PASS [["stylewithcss","false"],["justifyright",""]] "<div align=justify><p>[foo<p>bar}</div><p>extra" queryCommandIndeterm("stylewithcss") after 
+PASS [["stylewithcss","false"],["justifyright",""]] "<div align=justify><p>[foo<p>bar}</div><p>extra" queryCommandState("stylewithcss") after 
+PASS [["stylewithcss","false"],["justifyright",""]] "<div align=justify><p>[foo<p>bar}</div><p>extra" queryCommandValue("stylewithcss") after 
+PASS [["stylewithcss","false"],["justifyright",""]] "<div align=justify><p>[foo<p>bar}</div><p>extra" queryCommandIndeterm("justifyright") before 
+PASS [["stylewithcss","false"],["justifyright",""]] "<div align=justify><p>[foo<p>bar}</div><p>extra" queryCommandState("justifyright") before 
+FAIL [["stylewithcss","false"],["justifyright",""]] "<div align=justify><p>[foo<p>bar}</div><p>extra" queryCommandValue("justifyright") before assert_equals: Wrong result returned expected "justify" but got "false"
+PASS [["stylewithcss","false"],["justifyright",""]] "<div align=justify><p>[foo<p>bar}</div><p>extra" queryCommandIndeterm("justifyright") after 
+PASS [["stylewithcss","false"],["justifyright",""]] "<div align=justify><p>[foo<p>bar}</div><p>extra" queryCommandState("justifyright") after 
+FAIL [["stylewithcss","false"],["justifyright",""]] "<div align=justify><p>[foo<p>bar}</div><p>extra" queryCommandValue("justifyright") after assert_equals: Wrong result returned expected "right" but got "true"
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<div style=text-align:justify><p>[foo]<p>bar</div><p>extra": execCommand("stylewithcss", false, "true") return value 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<div style=text-align:justify><p>[foo]<p>bar</div><p>extra": execCommand("defaultparagraphseparator", false, "div") return value 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<div style=text-align:justify><p>[foo]<p>bar</div><p>extra": execCommand("justifyright", false, "") return value 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<div style=text-align:justify><p>[foo]<p>bar</div><p>extra" checks for modifications to non-editable content 
+FAIL [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<div style=text-align:justify><p>[foo]<p>bar</div><p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<div style=\"text-align:justify\"><div style=\"text-align:right\"><p>foo</p></div><p>bar</p></div><p>extra</p>" but got "<div style=\"text-align:justify\"><p style=\"text-align:right\">foo</p><p>bar</p></div><p>extra</p>"
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<div style=text-align:justify><p>[foo]<p>bar</div><p>extra" queryCommandIndeterm("stylewithcss") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<div style=text-align:justify><p>[foo]<p>bar</div><p>extra" queryCommandState("stylewithcss") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<div style=text-align:justify><p>[foo]<p>bar</div><p>extra" queryCommandValue("stylewithcss") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<div style=text-align:justify><p>[foo]<p>bar</div><p>extra" queryCommandIndeterm("stylewithcss") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<div style=text-align:justify><p>[foo]<p>bar</div><p>extra" queryCommandState("stylewithcss") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<div style=text-align:justify><p>[foo]<p>bar</div><p>extra" queryCommandValue("stylewithcss") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<div style=text-align:justify><p>[foo]<p>bar</div><p>extra" queryCommandIndeterm("defaultparagraphseparator") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<div style=text-align:justify><p>[foo]<p>bar</div><p>extra" queryCommandState("defaultparagraphseparator") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<div style=text-align:justify><p>[foo]<p>bar</div><p>extra" queryCommandValue("defaultparagraphseparator") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<div style=text-align:justify><p>[foo]<p>bar</div><p>extra" queryCommandIndeterm("defaultparagraphseparator") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<div style=text-align:justify><p>[foo]<p>bar</div><p>extra" queryCommandState("defaultparagraphseparator") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<div style=text-align:justify><p>[foo]<p>bar</div><p>extra" queryCommandValue("defaultparagraphseparator") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<div style=text-align:justify><p>[foo]<p>bar</div><p>extra" queryCommandIndeterm("justifyright") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<div style=text-align:justify><p>[foo]<p>bar</div><p>extra" queryCommandState("justifyright") before 
+FAIL [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<div style=text-align:justify><p>[foo]<p>bar</div><p>extra" queryCommandValue("justifyright") before assert_equals: Wrong result returned expected "justify" but got "false"
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<div style=text-align:justify><p>[foo]<p>bar</div><p>extra" queryCommandIndeterm("justifyright") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<div style=text-align:justify><p>[foo]<p>bar</div><p>extra" queryCommandState("justifyright") after 
+FAIL [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<div style=text-align:justify><p>[foo]<p>bar</div><p>extra" queryCommandValue("justifyright") after assert_equals: Wrong result returned expected "right" but got "true"
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<div style=text-align:justify><p>[foo]<p>bar</div><p>extra": execCommand("stylewithcss", false, "false") return value 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<div style=text-align:justify><p>[foo]<p>bar</div><p>extra": execCommand("defaultparagraphseparator", false, "div") return value 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<div style=text-align:justify><p>[foo]<p>bar</div><p>extra": execCommand("justifyright", false, "") return value 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<div style=text-align:justify><p>[foo]<p>bar</div><p>extra" checks for modifications to non-editable content 
+FAIL [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<div style=text-align:justify><p>[foo]<p>bar</div><p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<div style=\"text-align:justify\"><div style=\"text-align:right\"><p>foo</p></div><p>bar</p></div><p>extra</p>" but got "<div style=\"text-align:justify\"><p style=\"text-align:right\">foo</p><p>bar</p></div><p>extra</p>"
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<div style=text-align:justify><p>[foo]<p>bar</div><p>extra" queryCommandIndeterm("stylewithcss") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<div style=text-align:justify><p>[foo]<p>bar</div><p>extra" queryCommandState("stylewithcss") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<div style=text-align:justify><p>[foo]<p>bar</div><p>extra" queryCommandValue("stylewithcss") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<div style=text-align:justify><p>[foo]<p>bar</div><p>extra" queryCommandIndeterm("stylewithcss") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<div style=text-align:justify><p>[foo]<p>bar</div><p>extra" queryCommandState("stylewithcss") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<div style=text-align:justify><p>[foo]<p>bar</div><p>extra" queryCommandValue("stylewithcss") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<div style=text-align:justify><p>[foo]<p>bar</div><p>extra" queryCommandIndeterm("defaultparagraphseparator") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<div style=text-align:justify><p>[foo]<p>bar</div><p>extra" queryCommandState("defaultparagraphseparator") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<div style=text-align:justify><p>[foo]<p>bar</div><p>extra" queryCommandValue("defaultparagraphseparator") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<div style=text-align:justify><p>[foo]<p>bar</div><p>extra" queryCommandIndeterm("defaultparagraphseparator") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<div style=text-align:justify><p>[foo]<p>bar</div><p>extra" queryCommandState("defaultparagraphseparator") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<div style=text-align:justify><p>[foo]<p>bar</div><p>extra" queryCommandValue("defaultparagraphseparator") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<div style=text-align:justify><p>[foo]<p>bar</div><p>extra" queryCommandIndeterm("justifyright") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<div style=text-align:justify><p>[foo]<p>bar</div><p>extra" queryCommandState("justifyright") before 
+FAIL [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<div style=text-align:justify><p>[foo]<p>bar</div><p>extra" queryCommandValue("justifyright") before assert_equals: Wrong result returned expected "justify" but got "false"
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<div style=text-align:justify><p>[foo]<p>bar</div><p>extra" queryCommandIndeterm("justifyright") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<div style=text-align:justify><p>[foo]<p>bar</div><p>extra" queryCommandState("justifyright") after 
+FAIL [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<div style=text-align:justify><p>[foo]<p>bar</div><p>extra" queryCommandValue("justifyright") after assert_equals: Wrong result returned expected "right" but got "true"
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<div style=text-align:justify><p>[foo]<p>bar</div><p>extra": execCommand("stylewithcss", false, "true") return value 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<div style=text-align:justify><p>[foo]<p>bar</div><p>extra": execCommand("defaultparagraphseparator", false, "p") return value 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<div style=text-align:justify><p>[foo]<p>bar</div><p>extra": execCommand("justifyright", false, "") return value 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<div style=text-align:justify><p>[foo]<p>bar</div><p>extra" checks for modifications to non-editable content 
+FAIL [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<div style=text-align:justify><p>[foo]<p>bar</div><p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<div style=\"text-align:justify\"><div style=\"text-align:right\"><p>foo</p></div><p>bar</p></div><p>extra</p>" but got "<div style=\"text-align:justify\"><p style=\"text-align:right\">foo</p><p>bar</p></div><p>extra</p>"
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<div style=text-align:justify><p>[foo]<p>bar</div><p>extra" queryCommandIndeterm("stylewithcss") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<div style=text-align:justify><p>[foo]<p>bar</div><p>extra" queryCommandState("stylewithcss") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<div style=text-align:justify><p>[foo]<p>bar</div><p>extra" queryCommandValue("stylewithcss") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<div style=text-align:justify><p>[foo]<p>bar</div><p>extra" queryCommandIndeterm("stylewithcss") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<div style=text-align:justify><p>[foo]<p>bar</div><p>extra" queryCommandState("stylewithcss") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<div style=text-align:justify><p>[foo]<p>bar</div><p>extra" queryCommandValue("stylewithcss") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<div style=text-align:justify><p>[foo]<p>bar</div><p>extra" queryCommandIndeterm("defaultparagraphseparator") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<div style=text-align:justify><p>[foo]<p>bar</div><p>extra" queryCommandState("defaultparagraphseparator") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<div style=text-align:justify><p>[foo]<p>bar</div><p>extra" queryCommandValue("defaultparagraphseparator") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<div style=text-align:justify><p>[foo]<p>bar</div><p>extra" queryCommandIndeterm("defaultparagraphseparator") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<div style=text-align:justify><p>[foo]<p>bar</div><p>extra" queryCommandState("defaultparagraphseparator") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<div style=text-align:justify><p>[foo]<p>bar</div><p>extra" queryCommandValue("defaultparagraphseparator") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<div style=text-align:justify><p>[foo]<p>bar</div><p>extra" queryCommandIndeterm("justifyright") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<div style=text-align:justify><p>[foo]<p>bar</div><p>extra" queryCommandState("justifyright") before 
+FAIL [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<div style=text-align:justify><p>[foo]<p>bar</div><p>extra" queryCommandValue("justifyright") before assert_equals: Wrong result returned expected "justify" but got "false"
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<div style=text-align:justify><p>[foo]<p>bar</div><p>extra" queryCommandIndeterm("justifyright") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<div style=text-align:justify><p>[foo]<p>bar</div><p>extra" queryCommandState("justifyright") after 
+FAIL [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<div style=text-align:justify><p>[foo]<p>bar</div><p>extra" queryCommandValue("justifyright") after assert_equals: Wrong result returned expected "right" but got "true"
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<div style=text-align:justify><p>[foo]<p>bar</div><p>extra": execCommand("stylewithcss", false, "false") return value 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<div style=text-align:justify><p>[foo]<p>bar</div><p>extra": execCommand("defaultparagraphseparator", false, "p") return value 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<div style=text-align:justify><p>[foo]<p>bar</div><p>extra": execCommand("justifyright", false, "") return value 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<div style=text-align:justify><p>[foo]<p>bar</div><p>extra" checks for modifications to non-editable content 
+FAIL [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<div style=text-align:justify><p>[foo]<p>bar</div><p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<div style=\"text-align:justify\"><div style=\"text-align:right\"><p>foo</p></div><p>bar</p></div><p>extra</p>" but got "<div style=\"text-align:justify\"><p style=\"text-align:right\">foo</p><p>bar</p></div><p>extra</p>"
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<div style=text-align:justify><p>[foo]<p>bar</div><p>extra" queryCommandIndeterm("stylewithcss") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<div style=text-align:justify><p>[foo]<p>bar</div><p>extra" queryCommandState("stylewithcss") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<div style=text-align:justify><p>[foo]<p>bar</div><p>extra" queryCommandValue("stylewithcss") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<div style=text-align:justify><p>[foo]<p>bar</div><p>extra" queryCommandIndeterm("stylewithcss") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<div style=text-align:justify><p>[foo]<p>bar</div><p>extra" queryCommandState("stylewithcss") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<div style=text-align:justify><p>[foo]<p>bar</div><p>extra" queryCommandValue("stylewithcss") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<div style=text-align:justify><p>[foo]<p>bar</div><p>extra" queryCommandIndeterm("defaultparagraphseparator") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<div style=text-align:justify><p>[foo]<p>bar</div><p>extra" queryCommandState("defaultparagraphseparator") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<div style=text-align:justify><p>[foo]<p>bar</div><p>extra" queryCommandValue("defaultparagraphseparator") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<div style=text-align:justify><p>[foo]<p>bar</div><p>extra" queryCommandIndeterm("defaultparagraphseparator") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<div style=text-align:justify><p>[foo]<p>bar</div><p>extra" queryCommandState("defaultparagraphseparator") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<div style=text-align:justify><p>[foo]<p>bar</div><p>extra" queryCommandValue("defaultparagraphseparator") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<div style=text-align:justify><p>[foo]<p>bar</div><p>extra" queryCommandIndeterm("justifyright") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<div style=text-align:justify><p>[foo]<p>bar</div><p>extra" queryCommandState("justifyright") before 
+FAIL [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<div style=text-align:justify><p>[foo]<p>bar</div><p>extra" queryCommandValue("justifyright") before assert_equals: Wrong result returned expected "justify" but got "false"
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<div style=text-align:justify><p>[foo]<p>bar</div><p>extra" queryCommandIndeterm("justifyright") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<div style=text-align:justify><p>[foo]<p>bar</div><p>extra" queryCommandState("justifyright") after 
+FAIL [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<div style=text-align:justify><p>[foo]<p>bar</div><p>extra" queryCommandValue("justifyright") after assert_equals: Wrong result returned expected "right" but got "true"
+PASS [["justifyright",""]] "<div style=text-align:justify><p>[foo<p>bar]</div><p>extra": execCommand("justifyright", false, "") return value 
+PASS [["justifyright",""]] "<div style=text-align:justify><p>[foo<p>bar]</div><p>extra" checks for modifications to non-editable content 
+FAIL [["justifyright",""]] "<div style=text-align:justify><p>[foo<p>bar]</div><p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<div style=\"text-align:right\"><p>foo</p><p>bar</p></div><p>extra</p>" but got "<div style=\"text-align:justify\"><p style=\"text-align:right\">foo</p><p style=\"text-align:right\">bar</p></div><p>extra</p>"
+PASS [["justifyright",""]] "<div style=text-align:justify><p>[foo<p>bar]</div><p>extra" queryCommandIndeterm("justifyright") before 
+PASS [["justifyright",""]] "<div style=text-align:justify><p>[foo<p>bar]</div><p>extra" queryCommandState("justifyright") before 
+FAIL [["justifyright",""]] "<div style=text-align:justify><p>[foo<p>bar]</div><p>extra" queryCommandValue("justifyright") before assert_equals: Wrong result returned expected "justify" but got "false"
+PASS [["justifyright",""]] "<div style=text-align:justify><p>[foo<p>bar]</div><p>extra" queryCommandIndeterm("justifyright") after 
+PASS [["justifyright",""]] "<div style=text-align:justify><p>[foo<p>bar]</div><p>extra" queryCommandState("justifyright") after 
+FAIL [["justifyright",""]] "<div style=text-align:justify><p>[foo<p>bar]</div><p>extra" queryCommandValue("justifyright") after assert_equals: Wrong result returned expected "right" but got "true"
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<div align=left><p>[foo]<p>bar</div><p>extra": execCommand("stylewithcss", false, "true") return value 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<div align=left><p>[foo]<p>bar</div><p>extra": execCommand("defaultparagraphseparator", false, "div") return value 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<div align=left><p>[foo]<p>bar</div><p>extra": execCommand("justifyright", false, "") return value 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<div align=left><p>[foo]<p>bar</div><p>extra" checks for modifications to non-editable content 
+FAIL [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<div align=left><p>[foo]<p>bar</div><p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<div align=\"left\"><div style=\"text-align:right\"><p>foo</p></div><p>bar</p></div><p>extra</p>" but got "<div align=\"left\"><p style=\"text-align:right\">foo</p><p>bar</p></div><p>extra</p>"
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<div align=left><p>[foo]<p>bar</div><p>extra" queryCommandIndeterm("stylewithcss") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<div align=left><p>[foo]<p>bar</div><p>extra" queryCommandState("stylewithcss") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<div align=left><p>[foo]<p>bar</div><p>extra" queryCommandValue("stylewithcss") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<div align=left><p>[foo]<p>bar</div><p>extra" queryCommandIndeterm("stylewithcss") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<div align=left><p>[foo]<p>bar</div><p>extra" queryCommandState("stylewithcss") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<div align=left><p>[foo]<p>bar</div><p>extra" queryCommandValue("stylewithcss") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<div align=left><p>[foo]<p>bar</div><p>extra" queryCommandIndeterm("defaultparagraphseparator") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<div align=left><p>[foo]<p>bar</div><p>extra" queryCommandState("defaultparagraphseparator") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<div align=left><p>[foo]<p>bar</div><p>extra" queryCommandValue("defaultparagraphseparator") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<div align=left><p>[foo]<p>bar</div><p>extra" queryCommandIndeterm("defaultparagraphseparator") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<div align=left><p>[foo]<p>bar</div><p>extra" queryCommandState("defaultparagraphseparator") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<div align=left><p>[foo]<p>bar</div><p>extra" queryCommandValue("defaultparagraphseparator") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<div align=left><p>[foo]<p>bar</div><p>extra" queryCommandIndeterm("justifyright") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<div align=left><p>[foo]<p>bar</div><p>extra" queryCommandState("justifyright") before 
+FAIL [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<div align=left><p>[foo]<p>bar</div><p>extra" queryCommandValue("justifyright") before assert_equals: Wrong result returned expected "left" but got "false"
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<div align=left><p>[foo]<p>bar</div><p>extra" queryCommandIndeterm("justifyright") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<div align=left><p>[foo]<p>bar</div><p>extra" queryCommandState("justifyright") after 
+FAIL [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<div align=left><p>[foo]<p>bar</div><p>extra" queryCommandValue("justifyright") after assert_equals: Wrong result returned expected "right" but got "true"
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<div align=left><p>[foo]<p>bar</div><p>extra": execCommand("stylewithcss", false, "false") return value 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<div align=left><p>[foo]<p>bar</div><p>extra": execCommand("defaultparagraphseparator", false, "div") return value 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<div align=left><p>[foo]<p>bar</div><p>extra": execCommand("justifyright", false, "") return value 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<div align=left><p>[foo]<p>bar</div><p>extra" checks for modifications to non-editable content 
+FAIL [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<div align=left><p>[foo]<p>bar</div><p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<div align=\"left\"><div style=\"text-align:right\"><p>foo</p></div><p>bar</p></div><p>extra</p>" but got "<div align=\"left\"><p style=\"text-align:right\">foo</p><p>bar</p></div><p>extra</p>"
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<div align=left><p>[foo]<p>bar</div><p>extra" queryCommandIndeterm("stylewithcss") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<div align=left><p>[foo]<p>bar</div><p>extra" queryCommandState("stylewithcss") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<div align=left><p>[foo]<p>bar</div><p>extra" queryCommandValue("stylewithcss") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<div align=left><p>[foo]<p>bar</div><p>extra" queryCommandIndeterm("stylewithcss") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<div align=left><p>[foo]<p>bar</div><p>extra" queryCommandState("stylewithcss") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<div align=left><p>[foo]<p>bar</div><p>extra" queryCommandValue("stylewithcss") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<div align=left><p>[foo]<p>bar</div><p>extra" queryCommandIndeterm("defaultparagraphseparator") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<div align=left><p>[foo]<p>bar</div><p>extra" queryCommandState("defaultparagraphseparator") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<div align=left><p>[foo]<p>bar</div><p>extra" queryCommandValue("defaultparagraphseparator") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<div align=left><p>[foo]<p>bar</div><p>extra" queryCommandIndeterm("defaultparagraphseparator") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<div align=left><p>[foo]<p>bar</div><p>extra" queryCommandState("defaultparagraphseparator") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<div align=left><p>[foo]<p>bar</div><p>extra" queryCommandValue("defaultparagraphseparator") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<div align=left><p>[foo]<p>bar</div><p>extra" queryCommandIndeterm("justifyright") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<div align=left><p>[foo]<p>bar</div><p>extra" queryCommandState("justifyright") before 
+FAIL [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<div align=left><p>[foo]<p>bar</div><p>extra" queryCommandValue("justifyright") before assert_equals: Wrong result returned expected "left" but got "false"
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<div align=left><p>[foo]<p>bar</div><p>extra" queryCommandIndeterm("justifyright") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<div align=left><p>[foo]<p>bar</div><p>extra" queryCommandState("justifyright") after 
+FAIL [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<div align=left><p>[foo]<p>bar</div><p>extra" queryCommandValue("justifyright") after assert_equals: Wrong result returned expected "right" but got "true"
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<div align=left><p>[foo]<p>bar</div><p>extra": execCommand("stylewithcss", false, "true") return value 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<div align=left><p>[foo]<p>bar</div><p>extra": execCommand("defaultparagraphseparator", false, "p") return value 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<div align=left><p>[foo]<p>bar</div><p>extra": execCommand("justifyright", false, "") return value 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<div align=left><p>[foo]<p>bar</div><p>extra" checks for modifications to non-editable content 
+FAIL [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<div align=left><p>[foo]<p>bar</div><p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<div align=\"left\"><div style=\"text-align:right\"><p>foo</p></div><p>bar</p></div><p>extra</p>" but got "<div align=\"left\"><p style=\"text-align:right\">foo</p><p>bar</p></div><p>extra</p>"
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<div align=left><p>[foo]<p>bar</div><p>extra" queryCommandIndeterm("stylewithcss") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<div align=left><p>[foo]<p>bar</div><p>extra" queryCommandState("stylewithcss") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<div align=left><p>[foo]<p>bar</div><p>extra" queryCommandValue("stylewithcss") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<div align=left><p>[foo]<p>bar</div><p>extra" queryCommandIndeterm("stylewithcss") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<div align=left><p>[foo]<p>bar</div><p>extra" queryCommandState("stylewithcss") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<div align=left><p>[foo]<p>bar</div><p>extra" queryCommandValue("stylewithcss") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<div align=left><p>[foo]<p>bar</div><p>extra" queryCommandIndeterm("defaultparagraphseparator") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<div align=left><p>[foo]<p>bar</div><p>extra" queryCommandState("defaultparagraphseparator") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<div align=left><p>[foo]<p>bar</div><p>extra" queryCommandValue("defaultparagraphseparator") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<div align=left><p>[foo]<p>bar</div><p>extra" queryCommandIndeterm("defaultparagraphseparator") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<div align=left><p>[foo]<p>bar</div><p>extra" queryCommandState("defaultparagraphseparator") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<div align=left><p>[foo]<p>bar</div><p>extra" queryCommandValue("defaultparagraphseparator") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<div align=left><p>[foo]<p>bar</div><p>extra" queryCommandIndeterm("justifyright") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<div align=left><p>[foo]<p>bar</div><p>extra" queryCommandState("justifyright") before 
+FAIL [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<div align=left><p>[foo]<p>bar</div><p>extra" queryCommandValue("justifyright") before assert_equals: Wrong result returned expected "left" but got "false"
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<div align=left><p>[foo]<p>bar</div><p>extra" queryCommandIndeterm("justifyright") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<div align=left><p>[foo]<p>bar</div><p>extra" queryCommandState("justifyright") after 
+FAIL [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<div align=left><p>[foo]<p>bar</div><p>extra" queryCommandValue("justifyright") after assert_equals: Wrong result returned expected "right" but got "true"
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<div align=left><p>[foo]<p>bar</div><p>extra": execCommand("stylewithcss", false, "false") return value 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<div align=left><p>[foo]<p>bar</div><p>extra": execCommand("defaultparagraphseparator", false, "p") return value 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<div align=left><p>[foo]<p>bar</div><p>extra": execCommand("justifyright", false, "") return value 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<div align=left><p>[foo]<p>bar</div><p>extra" checks for modifications to non-editable content 
+FAIL [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<div align=left><p>[foo]<p>bar</div><p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<div align=\"left\"><div style=\"text-align:right\"><p>foo</p></div><p>bar</p></div><p>extra</p>" but got "<div align=\"left\"><p style=\"text-align:right\">foo</p><p>bar</p></div><p>extra</p>"
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<div align=left><p>[foo]<p>bar</div><p>extra" queryCommandIndeterm("stylewithcss") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<div align=left><p>[foo]<p>bar</div><p>extra" queryCommandState("stylewithcss") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<div align=left><p>[foo]<p>bar</div><p>extra" queryCommandValue("stylewithcss") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<div align=left><p>[foo]<p>bar</div><p>extra" queryCommandIndeterm("stylewithcss") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<div align=left><p>[foo]<p>bar</div><p>extra" queryCommandState("stylewithcss") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<div align=left><p>[foo]<p>bar</div><p>extra" queryCommandValue("stylewithcss") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<div align=left><p>[foo]<p>bar</div><p>extra" queryCommandIndeterm("defaultparagraphseparator") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<div align=left><p>[foo]<p>bar</div><p>extra" queryCommandState("defaultparagraphseparator") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<div align=left><p>[foo]<p>bar</div><p>extra" queryCommandValue("defaultparagraphseparator") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<div align=left><p>[foo]<p>bar</div><p>extra" queryCommandIndeterm("defaultparagraphseparator") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<div align=left><p>[foo]<p>bar</div><p>extra" queryCommandState("defaultparagraphseparator") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<div align=left><p>[foo]<p>bar</div><p>extra" queryCommandValue("defaultparagraphseparator") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<div align=left><p>[foo]<p>bar</div><p>extra" queryCommandIndeterm("justifyright") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<div align=left><p>[foo]<p>bar</div><p>extra" queryCommandState("justifyright") before 
+FAIL [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<div align=left><p>[foo]<p>bar</div><p>extra" queryCommandValue("justifyright") before assert_equals: Wrong result returned expected "left" but got "false"
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<div align=left><p>[foo]<p>bar</div><p>extra" queryCommandIndeterm("justifyright") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<div align=left><p>[foo]<p>bar</div><p>extra" queryCommandState("justifyright") after 
+FAIL [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<div align=left><p>[foo]<p>bar</div><p>extra" queryCommandValue("justifyright") after assert_equals: Wrong result returned expected "right" but got "true"
+PASS [["stylewithcss","true"],["justifyright",""]] "<div align=left><p>[foo<p>bar}</div><p>extra": execCommand("stylewithcss", false, "true") return value 
+PASS [["stylewithcss","true"],["justifyright",""]] "<div align=left><p>[foo<p>bar}</div><p>extra": execCommand("justifyright", false, "") return value 
+PASS [["stylewithcss","true"],["justifyright",""]] "<div align=left><p>[foo<p>bar}</div><p>extra" checks for modifications to non-editable content 
+FAIL [["stylewithcss","true"],["justifyright",""]] "<div align=left><p>[foo<p>bar}</div><p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<div style=\"text-align:right\"><p>foo</p><p>bar</p></div><p>extra</p>" but got "<div align=\"left\"><p style=\"text-align:right\">foo</p><p style=\"text-align:right\">bar</p></div><p>extra</p>"
+PASS [["stylewithcss","true"],["justifyright",""]] "<div align=left><p>[foo<p>bar}</div><p>extra" queryCommandIndeterm("stylewithcss") before 
+PASS [["stylewithcss","true"],["justifyright",""]] "<div align=left><p>[foo<p>bar}</div><p>extra" queryCommandState("stylewithcss") before 
+PASS [["stylewithcss","true"],["justifyright",""]] "<div align=left><p>[foo<p>bar}</div><p>extra" queryCommandValue("stylewithcss") before 
+PASS [["stylewithcss","true"],["justifyright",""]] "<div align=left><p>[foo<p>bar}</div><p>extra" queryCommandIndeterm("stylewithcss") after 
+PASS [["stylewithcss","true"],["justifyright",""]] "<div align=left><p>[foo<p>bar}</div><p>extra" queryCommandState("stylewithcss") after 
+PASS [["stylewithcss","true"],["justifyright",""]] "<div align=left><p>[foo<p>bar}</div><p>extra" queryCommandValue("stylewithcss") after 
+PASS [["stylewithcss","true"],["justifyright",""]] "<div align=left><p>[foo<p>bar}</div><p>extra" queryCommandIndeterm("justifyright") before 
+PASS [["stylewithcss","true"],["justifyright",""]] "<div align=left><p>[foo<p>bar}</div><p>extra" queryCommandState("justifyright") before 
+FAIL [["stylewithcss","true"],["justifyright",""]] "<div align=left><p>[foo<p>bar}</div><p>extra" queryCommandValue("justifyright") before assert_equals: Wrong result returned expected "left" but got "false"
+PASS [["stylewithcss","true"],["justifyright",""]] "<div align=left><p>[foo<p>bar}</div><p>extra" queryCommandIndeterm("justifyright") after 
+PASS [["stylewithcss","true"],["justifyright",""]] "<div align=left><p>[foo<p>bar}</div><p>extra" queryCommandState("justifyright") after 
+FAIL [["stylewithcss","true"],["justifyright",""]] "<div align=left><p>[foo<p>bar}</div><p>extra" queryCommandValue("justifyright") after assert_equals: Wrong result returned expected "right" but got "true"
+PASS [["stylewithcss","false"],["justifyright",""]] "<div align=left><p>[foo<p>bar}</div><p>extra": execCommand("stylewithcss", false, "false") return value 
+PASS [["stylewithcss","false"],["justifyright",""]] "<div align=left><p>[foo<p>bar}</div><p>extra": execCommand("justifyright", false, "") return value 
+PASS [["stylewithcss","false"],["justifyright",""]] "<div align=left><p>[foo<p>bar}</div><p>extra" checks for modifications to non-editable content 
+FAIL [["stylewithcss","false"],["justifyright",""]] "<div align=left><p>[foo<p>bar}</div><p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<div style=\"text-align:right\"><p>foo</p><p>bar</p></div><p>extra</p>" but got "<div align=\"left\"><p style=\"text-align:right\">foo</p><p style=\"text-align:right\">bar</p></div><p>extra</p>"
+PASS [["stylewithcss","false"],["justifyright",""]] "<div align=left><p>[foo<p>bar}</div><p>extra" queryCommandIndeterm("stylewithcss") before 
+PASS [["stylewithcss","false"],["justifyright",""]] "<div align=left><p>[foo<p>bar}</div><p>extra" queryCommandState("stylewithcss") before 
+PASS [["stylewithcss","false"],["justifyright",""]] "<div align=left><p>[foo<p>bar}</div><p>extra" queryCommandValue("stylewithcss") before 
+PASS [["stylewithcss","false"],["justifyright",""]] "<div align=left><p>[foo<p>bar}</div><p>extra" queryCommandIndeterm("stylewithcss") after 
+PASS [["stylewithcss","false"],["justifyright",""]] "<div align=left><p>[foo<p>bar}</div><p>extra" queryCommandState("stylewithcss") after 
+PASS [["stylewithcss","false"],["justifyright",""]] "<div align=left><p>[foo<p>bar}</div><p>extra" queryCommandValue("stylewithcss") after 
+PASS [["stylewithcss","false"],["justifyright",""]] "<div align=left><p>[foo<p>bar}</div><p>extra" queryCommandIndeterm("justifyright") before 
+PASS [["stylewithcss","false"],["justifyright",""]] "<div align=left><p>[foo<p>bar}</div><p>extra" queryCommandState("justifyright") before 
+FAIL [["stylewithcss","false"],["justifyright",""]] "<div align=left><p>[foo<p>bar}</div><p>extra" queryCommandValue("justifyright") before assert_equals: Wrong result returned expected "left" but got "false"
+PASS [["stylewithcss","false"],["justifyright",""]] "<div align=left><p>[foo<p>bar}</div><p>extra" queryCommandIndeterm("justifyright") after 
+PASS [["stylewithcss","false"],["justifyright",""]] "<div align=left><p>[foo<p>bar}</div><p>extra" queryCommandState("justifyright") after 
+FAIL [["stylewithcss","false"],["justifyright",""]] "<div align=left><p>[foo<p>bar}</div><p>extra" queryCommandValue("justifyright") after assert_equals: Wrong result returned expected "right" but got "true"
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<div style=text-align:left><p>[foo]<p>bar</div><p>extra": execCommand("stylewithcss", false, "true") return value 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<div style=text-align:left><p>[foo]<p>bar</div><p>extra": execCommand("defaultparagraphseparator", false, "div") return value 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<div style=text-align:left><p>[foo]<p>bar</div><p>extra": execCommand("justifyright", false, "") return value 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<div style=text-align:left><p>[foo]<p>bar</div><p>extra" checks for modifications to non-editable content 
+FAIL [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<div style=text-align:left><p>[foo]<p>bar</div><p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<div style=\"text-align:left\"><div style=\"text-align:right\"><p>foo</p></div><p>bar</p></div><p>extra</p>" but got "<div style=\"text-align:left\"><p style=\"text-align:right\">foo</p><p>bar</p></div><p>extra</p>"
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<div style=text-align:left><p>[foo]<p>bar</div><p>extra" queryCommandIndeterm("stylewithcss") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<div style=text-align:left><p>[foo]<p>bar</div><p>extra" queryCommandState("stylewithcss") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<div style=text-align:left><p>[foo]<p>bar</div><p>extra" queryCommandValue("stylewithcss") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<div style=text-align:left><p>[foo]<p>bar</div><p>extra" queryCommandIndeterm("stylewithcss") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<div style=text-align:left><p>[foo]<p>bar</div><p>extra" queryCommandState("stylewithcss") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<div style=text-align:left><p>[foo]<p>bar</div><p>extra" queryCommandValue("stylewithcss") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<div style=text-align:left><p>[foo]<p>bar</div><p>extra" queryCommandIndeterm("defaultparagraphseparator") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<div style=text-align:left><p>[foo]<p>bar</div><p>extra" queryCommandState("defaultparagraphseparator") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<div style=text-align:left><p>[foo]<p>bar</div><p>extra" queryCommandValue("defaultparagraphseparator") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<div style=text-align:left><p>[foo]<p>bar</div><p>extra" queryCommandIndeterm("defaultparagraphseparator") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<div style=text-align:left><p>[foo]<p>bar</div><p>extra" queryCommandState("defaultparagraphseparator") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<div style=text-align:left><p>[foo]<p>bar</div><p>extra" queryCommandValue("defaultparagraphseparator") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<div style=text-align:left><p>[foo]<p>bar</div><p>extra" queryCommandIndeterm("justifyright") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<div style=text-align:left><p>[foo]<p>bar</div><p>extra" queryCommandState("justifyright") before 
+FAIL [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<div style=text-align:left><p>[foo]<p>bar</div><p>extra" queryCommandValue("justifyright") before assert_equals: Wrong result returned expected "left" but got "false"
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<div style=text-align:left><p>[foo]<p>bar</div><p>extra" queryCommandIndeterm("justifyright") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<div style=text-align:left><p>[foo]<p>bar</div><p>extra" queryCommandState("justifyright") after 
+FAIL [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<div style=text-align:left><p>[foo]<p>bar</div><p>extra" queryCommandValue("justifyright") after assert_equals: Wrong result returned expected "right" but got "true"
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<div style=text-align:left><p>[foo]<p>bar</div><p>extra": execCommand("stylewithcss", false, "false") return value 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<div style=text-align:left><p>[foo]<p>bar</div><p>extra": execCommand("defaultparagraphseparator", false, "div") return value 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<div style=text-align:left><p>[foo]<p>bar</div><p>extra": execCommand("justifyright", false, "") return value 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<div style=text-align:left><p>[foo]<p>bar</div><p>extra" checks for modifications to non-editable content 
+FAIL [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<div style=text-align:left><p>[foo]<p>bar</div><p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<div style=\"text-align:left\"><div style=\"text-align:right\"><p>foo</p></div><p>bar</p></div><p>extra</p>" but got "<div style=\"text-align:left\"><p style=\"text-align:right\">foo</p><p>bar</p></div><p>extra</p>"
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<div style=text-align:left><p>[foo]<p>bar</div><p>extra" queryCommandIndeterm("stylewithcss") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<div style=text-align:left><p>[foo]<p>bar</div><p>extra" queryCommandState("stylewithcss") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<div style=text-align:left><p>[foo]<p>bar</div><p>extra" queryCommandValue("stylewithcss") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<div style=text-align:left><p>[foo]<p>bar</div><p>extra" queryCommandIndeterm("stylewithcss") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<div style=text-align:left><p>[foo]<p>bar</div><p>extra" queryCommandState("stylewithcss") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<div style=text-align:left><p>[foo]<p>bar</div><p>extra" queryCommandValue("stylewithcss") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<div style=text-align:left><p>[foo]<p>bar</div><p>extra" queryCommandIndeterm("defaultparagraphseparator") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<div style=text-align:left><p>[foo]<p>bar</div><p>extra" queryCommandState("defaultparagraphseparator") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<div style=text-align:left><p>[foo]<p>bar</div><p>extra" queryCommandValue("defaultparagraphseparator") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<div style=text-align:left><p>[foo]<p>bar</div><p>extra" queryCommandIndeterm("defaultparagraphseparator") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<div style=text-align:left><p>[foo]<p>bar</div><p>extra" queryCommandState("defaultparagraphseparator") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<div style=text-align:left><p>[foo]<p>bar</div><p>extra" queryCommandValue("defaultparagraphseparator") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<div style=text-align:left><p>[foo]<p>bar</div><p>extra" queryCommandIndeterm("justifyright") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<div style=text-align:left><p>[foo]<p>bar</div><p>extra" queryCommandState("justifyright") before 
+FAIL [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<div style=text-align:left><p>[foo]<p>bar</div><p>extra" queryCommandValue("justifyright") before assert_equals: Wrong result returned expected "left" but got "false"
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<div style=text-align:left><p>[foo]<p>bar</div><p>extra" queryCommandIndeterm("justifyright") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<div style=text-align:left><p>[foo]<p>bar</div><p>extra" queryCommandState("justifyright") after 
+FAIL [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<div style=text-align:left><p>[foo]<p>bar</div><p>extra" queryCommandValue("justifyright") after assert_equals: Wrong result returned expected "right" but got "true"
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<div style=text-align:left><p>[foo]<p>bar</div><p>extra": execCommand("stylewithcss", false, "true") return value 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<div style=text-align:left><p>[foo]<p>bar</div><p>extra": execCommand("defaultparagraphseparator", false, "p") return value 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<div style=text-align:left><p>[foo]<p>bar</div><p>extra": execCommand("justifyright", false, "") return value 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<div style=text-align:left><p>[foo]<p>bar</div><p>extra" checks for modifications to non-editable content 
+FAIL [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<div style=text-align:left><p>[foo]<p>bar</div><p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<div style=\"text-align:left\"><div style=\"text-align:right\"><p>foo</p></div><p>bar</p></div><p>extra</p>" but got "<div style=\"text-align:left\"><p style=\"text-align:right\">foo</p><p>bar</p></div><p>extra</p>"
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<div style=text-align:left><p>[foo]<p>bar</div><p>extra" queryCommandIndeterm("stylewithcss") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<div style=text-align:left><p>[foo]<p>bar</div><p>extra" queryCommandState("stylewithcss") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<div style=text-align:left><p>[foo]<p>bar</div><p>extra" queryCommandValue("stylewithcss") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<div style=text-align:left><p>[foo]<p>bar</div><p>extra" queryCommandIndeterm("stylewithcss") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<div style=text-align:left><p>[foo]<p>bar</div><p>extra" queryCommandState("stylewithcss") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<div style=text-align:left><p>[foo]<p>bar</div><p>extra" queryCommandValue("stylewithcss") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<div style=text-align:left><p>[foo]<p>bar</div><p>extra" queryCommandIndeterm("defaultparagraphseparator") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<div style=text-align:left><p>[foo]<p>bar</div><p>extra" queryCommandState("defaultparagraphseparator") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<div style=text-align:left><p>[foo]<p>bar</div><p>extra" queryCommandValue("defaultparagraphseparator") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<div style=text-align:left><p>[foo]<p>bar</div><p>extra" queryCommandIndeterm("defaultparagraphseparator") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<div style=text-align:left><p>[foo]<p>bar</div><p>extra" queryCommandState("defaultparagraphseparator") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<div style=text-align:left><p>[foo]<p>bar</div><p>extra" queryCommandValue("defaultparagraphseparator") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<div style=text-align:left><p>[foo]<p>bar</div><p>extra" queryCommandIndeterm("justifyright") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<div style=text-align:left><p>[foo]<p>bar</div><p>extra" queryCommandState("justifyright") before 
+FAIL [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<div style=text-align:left><p>[foo]<p>bar</div><p>extra" queryCommandValue("justifyright") before assert_equals: Wrong result returned expected "left" but got "false"
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<div style=text-align:left><p>[foo]<p>bar</div><p>extra" queryCommandIndeterm("justifyright") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<div style=text-align:left><p>[foo]<p>bar</div><p>extra" queryCommandState("justifyright") after 
+FAIL [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<div style=text-align:left><p>[foo]<p>bar</div><p>extra" queryCommandValue("justifyright") after assert_equals: Wrong result returned expected "right" but got "true"
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<div style=text-align:left><p>[foo]<p>bar</div><p>extra": execCommand("stylewithcss", false, "false") return value 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<div style=text-align:left><p>[foo]<p>bar</div><p>extra": execCommand("defaultparagraphseparator", false, "p") return value 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<div style=text-align:left><p>[foo]<p>bar</div><p>extra": execCommand("justifyright", false, "") return value 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<div style=text-align:left><p>[foo]<p>bar</div><p>extra" checks for modifications to non-editable content 
+FAIL [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<div style=text-align:left><p>[foo]<p>bar</div><p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<div style=\"text-align:left\"><div style=\"text-align:right\"><p>foo</p></div><p>bar</p></div><p>extra</p>" but got "<div style=\"text-align:left\"><p style=\"text-align:right\">foo</p><p>bar</p></div><p>extra</p>"
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<div style=text-align:left><p>[foo]<p>bar</div><p>extra" queryCommandIndeterm("stylewithcss") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<div style=text-align:left><p>[foo]<p>bar</div><p>extra" queryCommandState("stylewithcss") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<div style=text-align:left><p>[foo]<p>bar</div><p>extra" queryCommandValue("stylewithcss") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<div style=text-align:left><p>[foo]<p>bar</div><p>extra" queryCommandIndeterm("stylewithcss") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<div style=text-align:left><p>[foo]<p>bar</div><p>extra" queryCommandState("stylewithcss") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<div style=text-align:left><p>[foo]<p>bar</div><p>extra" queryCommandValue("stylewithcss") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<div style=text-align:left><p>[foo]<p>bar</div><p>extra" queryCommandIndeterm("defaultparagraphseparator") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<div style=text-align:left><p>[foo]<p>bar</div><p>extra" queryCommandState("defaultparagraphseparator") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<div style=text-align:left><p>[foo]<p>bar</div><p>extra" queryCommandValue("defaultparagraphseparator") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<div style=text-align:left><p>[foo]<p>bar</div><p>extra" queryCommandIndeterm("defaultparagraphseparator") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<div style=text-align:left><p>[foo]<p>bar</div><p>extra" queryCommandState("defaultparagraphseparator") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<div style=text-align:left><p>[foo]<p>bar</div><p>extra" queryCommandValue("defaultparagraphseparator") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<div style=text-align:left><p>[foo]<p>bar</div><p>extra" queryCommandIndeterm("justifyright") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<div style=text-align:left><p>[foo]<p>bar</div><p>extra" queryCommandState("justifyright") before 
+FAIL [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<div style=text-align:left><p>[foo]<p>bar</div><p>extra" queryCommandValue("justifyright") before assert_equals: Wrong result returned expected "left" but got "false"
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<div style=text-align:left><p>[foo]<p>bar</div><p>extra" queryCommandIndeterm("justifyright") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<div style=text-align:left><p>[foo]<p>bar</div><p>extra" queryCommandState("justifyright") after 
+FAIL [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<div style=text-align:left><p>[foo]<p>bar</div><p>extra" queryCommandValue("justifyright") after assert_equals: Wrong result returned expected "right" but got "true"
+PASS [["justifyright",""]] "<div style=text-align:left><p>[foo<p>bar]</div><p>extra": execCommand("justifyright", false, "") return value 
+PASS [["justifyright",""]] "<div style=text-align:left><p>[foo<p>bar]</div><p>extra" checks for modifications to non-editable content 
+FAIL [["justifyright",""]] "<div style=text-align:left><p>[foo<p>bar]</div><p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<div style=\"text-align:right\"><p>foo</p><p>bar</p></div><p>extra</p>" but got "<div style=\"text-align:left\"><p style=\"text-align:right\">foo</p><p style=\"text-align:right\">bar</p></div><p>extra</p>"
+PASS [["justifyright",""]] "<div style=text-align:left><p>[foo<p>bar]</div><p>extra" queryCommandIndeterm("justifyright") before 
+PASS [["justifyright",""]] "<div style=text-align:left><p>[foo<p>bar]</div><p>extra" queryCommandState("justifyright") before 
+FAIL [["justifyright",""]] "<div style=text-align:left><p>[foo<p>bar]</div><p>extra" queryCommandValue("justifyright") before assert_equals: Wrong result returned expected "left" but got "false"
+PASS [["justifyright",""]] "<div style=text-align:left><p>[foo<p>bar]</div><p>extra" queryCommandIndeterm("justifyright") after 
+PASS [["justifyright",""]] "<div style=text-align:left><p>[foo<p>bar]</div><p>extra" queryCommandState("justifyright") after 
+FAIL [["justifyright",""]] "<div style=text-align:left><p>[foo<p>bar]</div><p>extra" queryCommandValue("justifyright") after assert_equals: Wrong result returned expected "right" but got "true"
+PASS [["justifyright",""]] "<div align=right><p>[foo]<p>bar</div><p>extra": execCommand("justifyright", false, "") return value 
+PASS [["justifyright",""]] "<div align=right><p>[foo]<p>bar</div><p>extra" checks for modifications to non-editable content 
+PASS [["justifyright",""]] "<div align=right><p>[foo]<p>bar</div><p>extra" compare innerHTML 
+PASS [["justifyright",""]] "<div align=right><p>[foo]<p>bar</div><p>extra" queryCommandIndeterm("justifyright") before 
+PASS [["justifyright",""]] "<div align=right><p>[foo]<p>bar</div><p>extra" queryCommandState("justifyright") before 
+FAIL [["justifyright",""]] "<div align=right><p>[foo]<p>bar</div><p>extra" queryCommandValue("justifyright") before assert_equals: Wrong result returned expected "right" but got "true"
+PASS [["justifyright",""]] "<div align=right><p>[foo]<p>bar</div><p>extra" queryCommandIndeterm("justifyright") after 
+PASS [["justifyright",""]] "<div align=right><p>[foo]<p>bar</div><p>extra" queryCommandState("justifyright") after 
+FAIL [["justifyright",""]] "<div align=right><p>[foo]<p>bar</div><p>extra" queryCommandValue("justifyright") after assert_equals: Wrong result returned expected "right" but got "true"
+PASS [["stylewithcss","true"],["justifyright",""]] "<div align=right><p>[foo<p>bar}</div><p>extra": execCommand("stylewithcss", false, "true") return value 
+PASS [["stylewithcss","true"],["justifyright",""]] "<div align=right><p>[foo<p>bar}</div><p>extra": execCommand("justifyright", false, "") return value 
+PASS [["stylewithcss","true"],["justifyright",""]] "<div align=right><p>[foo<p>bar}</div><p>extra" checks for modifications to non-editable content 
+FAIL [["stylewithcss","true"],["justifyright",""]] "<div align=right><p>[foo<p>bar}</div><p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<div style=\"text-align:right\"><p>foo</p><p>bar</p></div><p>extra</p>" but got "<div align=\"right\"><p>foo</p><p>bar</p></div><p>extra</p>"
+PASS [["stylewithcss","true"],["justifyright",""]] "<div align=right><p>[foo<p>bar}</div><p>extra" queryCommandIndeterm("stylewithcss") before 
+PASS [["stylewithcss","true"],["justifyright",""]] "<div align=right><p>[foo<p>bar}</div><p>extra" queryCommandState("stylewithcss") before 
+PASS [["stylewithcss","true"],["justifyright",""]] "<div align=right><p>[foo<p>bar}</div><p>extra" queryCommandValue("stylewithcss") before 
+PASS [["stylewithcss","true"],["justifyright",""]] "<div align=right><p>[foo<p>bar}</div><p>extra" queryCommandIndeterm("stylewithcss") after 
+PASS [["stylewithcss","true"],["justifyright",""]] "<div align=right><p>[foo<p>bar}</div><p>extra" queryCommandState("stylewithcss") after 
+PASS [["stylewithcss","true"],["justifyright",""]] "<div align=right><p>[foo<p>bar}</div><p>extra" queryCommandValue("stylewithcss") after 
+PASS [["stylewithcss","true"],["justifyright",""]] "<div align=right><p>[foo<p>bar}</div><p>extra" queryCommandIndeterm("justifyright") before 
+PASS [["stylewithcss","true"],["justifyright",""]] "<div align=right><p>[foo<p>bar}</div><p>extra" queryCommandState("justifyright") before 
+FAIL [["stylewithcss","true"],["justifyright",""]] "<div align=right><p>[foo<p>bar}</div><p>extra" queryCommandValue("justifyright") before assert_equals: Wrong result returned expected "right" but got "true"
+PASS [["stylewithcss","true"],["justifyright",""]] "<div align=right><p>[foo<p>bar}</div><p>extra" queryCommandIndeterm("justifyright") after 
+PASS [["stylewithcss","true"],["justifyright",""]] "<div align=right><p>[foo<p>bar}</div><p>extra" queryCommandState("justifyright") after 
+FAIL [["stylewithcss","true"],["justifyright",""]] "<div align=right><p>[foo<p>bar}</div><p>extra" queryCommandValue("justifyright") after assert_equals: Wrong result returned expected "right" but got "true"
+PASS [["stylewithcss","false"],["justifyright",""]] "<div align=right><p>[foo<p>bar}</div><p>extra": execCommand("stylewithcss", false, "false") return value 
+PASS [["stylewithcss","false"],["justifyright",""]] "<div align=right><p>[foo<p>bar}</div><p>extra": execCommand("justifyright", false, "") return value 
+PASS [["stylewithcss","false"],["justifyright",""]] "<div align=right><p>[foo<p>bar}</div><p>extra" checks for modifications to non-editable content 
+FAIL [["stylewithcss","false"],["justifyright",""]] "<div align=right><p>[foo<p>bar}</div><p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<div style=\"text-align:right\"><p>foo</p><p>bar</p></div><p>extra</p>" but got "<div align=\"right\"><p>foo</p><p>bar</p></div><p>extra</p>"
+PASS [["stylewithcss","false"],["justifyright",""]] "<div align=right><p>[foo<p>bar}</div><p>extra" queryCommandIndeterm("stylewithcss") before 
+PASS [["stylewithcss","false"],["justifyright",""]] "<div align=right><p>[foo<p>bar}</div><p>extra" queryCommandState("stylewithcss") before 
+PASS [["stylewithcss","false"],["justifyright",""]] "<div align=right><p>[foo<p>bar}</div><p>extra" queryCommandValue("stylewithcss") before 
+PASS [["stylewithcss","false"],["justifyright",""]] "<div align=right><p>[foo<p>bar}</div><p>extra" queryCommandIndeterm("stylewithcss") after 
+PASS [["stylewithcss","false"],["justifyright",""]] "<div align=right><p>[foo<p>bar}</div><p>extra" queryCommandState("stylewithcss") after 
+PASS [["stylewithcss","false"],["justifyright",""]] "<div align=right><p>[foo<p>bar}</div><p>extra" queryCommandValue("stylewithcss") after 
+PASS [["stylewithcss","false"],["justifyright",""]] "<div align=right><p>[foo<p>bar}</div><p>extra" queryCommandIndeterm("justifyright") before 
+PASS [["stylewithcss","false"],["justifyright",""]] "<div align=right><p>[foo<p>bar}</div><p>extra" queryCommandState("justifyright") before 
+FAIL [["stylewithcss","false"],["justifyright",""]] "<div align=right><p>[foo<p>bar}</div><p>extra" queryCommandValue("justifyright") before assert_equals: Wrong result returned expected "right" but got "true"
+PASS [["stylewithcss","false"],["justifyright",""]] "<div align=right><p>[foo<p>bar}</div><p>extra" queryCommandIndeterm("justifyright") after 
+PASS [["stylewithcss","false"],["justifyright",""]] "<div align=right><p>[foo<p>bar}</div><p>extra" queryCommandState("justifyright") after 
+FAIL [["stylewithcss","false"],["justifyright",""]] "<div align=right><p>[foo<p>bar}</div><p>extra" queryCommandValue("justifyright") after assert_equals: Wrong result returned expected "right" but got "true"
+PASS [["justifyright",""]] "<div style=text-align:right><p>[foo]<p>bar</div><p>extra": execCommand("justifyright", false, "") return value 
+PASS [["justifyright",""]] "<div style=text-align:right><p>[foo]<p>bar</div><p>extra" checks for modifications to non-editable content 
+PASS [["justifyright",""]] "<div style=text-align:right><p>[foo]<p>bar</div><p>extra" compare innerHTML 
+PASS [["justifyright",""]] "<div style=text-align:right><p>[foo]<p>bar</div><p>extra" queryCommandIndeterm("justifyright") before 
+PASS [["justifyright",""]] "<div style=text-align:right><p>[foo]<p>bar</div><p>extra" queryCommandState("justifyright") before 
+FAIL [["justifyright",""]] "<div style=text-align:right><p>[foo]<p>bar</div><p>extra" queryCommandValue("justifyright") before assert_equals: Wrong result returned expected "right" but got "true"
+PASS [["justifyright",""]] "<div style=text-align:right><p>[foo]<p>bar</div><p>extra" queryCommandIndeterm("justifyright") after 
+PASS [["justifyright",""]] "<div style=text-align:right><p>[foo]<p>bar</div><p>extra" queryCommandState("justifyright") after 
+FAIL [["justifyright",""]] "<div style=text-align:right><p>[foo]<p>bar</div><p>extra" queryCommandValue("justifyright") after assert_equals: Wrong result returned expected "right" but got "true"
+PASS [["justifyright",""]] "<div style=text-align:right><p>[foo<p>bar]</div><p>extra": execCommand("justifyright", false, "") return value 
+PASS [["justifyright",""]] "<div style=text-align:right><p>[foo<p>bar]</div><p>extra" checks for modifications to non-editable content 
+PASS [["justifyright",""]] "<div style=text-align:right><p>[foo<p>bar]</div><p>extra" compare innerHTML 
+PASS [["justifyright",""]] "<div style=text-align:right><p>[foo<p>bar]</div><p>extra" queryCommandIndeterm("justifyright") before 
+PASS [["justifyright",""]] "<div style=text-align:right><p>[foo<p>bar]</div><p>extra" queryCommandState("justifyright") before 
+FAIL [["justifyright",""]] "<div style=text-align:right><p>[foo<p>bar]</div><p>extra" queryCommandValue("justifyright") before assert_equals: Wrong result returned expected "right" but got "true"
+PASS [["justifyright",""]] "<div style=text-align:right><p>[foo<p>bar]</div><p>extra" queryCommandIndeterm("justifyright") after 
+PASS [["justifyright",""]] "<div style=text-align:right><p>[foo<p>bar]</div><p>extra" queryCommandState("justifyright") after 
+FAIL [["justifyright",""]] "<div style=text-align:right><p>[foo<p>bar]</div><p>extra" queryCommandValue("justifyright") after assert_equals: Wrong result returned expected "right" but got "true"
+PASS [["justifyright",""]] "<div align=right>foo</div>[bar]<p>extra": execCommand("justifyright", false, "") return value 
+PASS [["justifyright",""]] "<div align=right>foo</div>[bar]<p>extra" checks for modifications to non-editable content 
+FAIL [["justifyright",""]] "<div align=right>foo</div>[bar]<p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<div align=\"right\">foo<br>bar</div><p>extra</p>" but got "<div align=\"right\">foo</div><p style=\"text-align:right\">bar</p><p>extra</p>"
+PASS [["justifyright",""]] "<div align=right>foo</div>[bar]<p>extra" queryCommandIndeterm("justifyright") before 
+PASS [["justifyright",""]] "<div align=right>foo</div>[bar]<p>extra" queryCommandState("justifyright") before 
+FAIL [["justifyright",""]] "<div align=right>foo</div>[bar]<p>extra" queryCommandValue("justifyright") before assert_equals: Wrong result returned expected "left" but got "false"
+PASS [["justifyright",""]] "<div align=right>foo</div>[bar]<p>extra" queryCommandIndeterm("justifyright") after 
+PASS [["justifyright",""]] "<div align=right>foo</div>[bar]<p>extra" queryCommandState("justifyright") after 
+FAIL [["justifyright",""]] "<div align=right>foo</div>[bar]<p>extra" queryCommandValue("justifyright") after assert_equals: Wrong result returned expected "right" but got "true"
+PASS [["justifyright",""]] "[foo]<div align=right>bar</div><p>extra": execCommand("justifyright", false, "") return value 
+PASS [["justifyright",""]] "[foo]<div align=right>bar</div><p>extra" checks for modifications to non-editable content 
+FAIL [["justifyright",""]] "[foo]<div align=right>bar</div><p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<div align=\"right\">foo<br>bar</div><p>extra</p>" but got "<p style=\"text-align:right\">foo</p><div align=\"right\">bar</div><p>extra</p>"
+PASS [["justifyright",""]] "[foo]<div align=right>bar</div><p>extra" queryCommandIndeterm("justifyright") before 
+PASS [["justifyright",""]] "[foo]<div align=right>bar</div><p>extra" queryCommandState("justifyright") before 
+FAIL [["justifyright",""]] "[foo]<div align=right>bar</div><p>extra" queryCommandValue("justifyright") before assert_equals: Wrong result returned expected "left" but got "false"
+PASS [["justifyright",""]] "[foo]<div align=right>bar</div><p>extra" queryCommandIndeterm("justifyright") after 
+PASS [["justifyright",""]] "[foo]<div align=right>bar</div><p>extra" queryCommandState("justifyright") after 
+FAIL [["justifyright",""]] "[foo]<div align=right>bar</div><p>extra" queryCommandValue("justifyright") after assert_equals: Wrong result returned expected "right" but got "true"
+PASS [["defaultparagraphseparator","div"],["justifyright",""]] "<div align=right>foo</div>[bar]<div align=right>baz</div><p>extra": execCommand("defaultparagraphseparator", false, "div") return value 
+PASS [["defaultparagraphseparator","div"],["justifyright",""]] "<div align=right>foo</div>[bar]<div align=right>baz</div><p>extra": execCommand("justifyright", false, "") return value 
+PASS [["defaultparagraphseparator","div"],["justifyright",""]] "<div align=right>foo</div>[bar]<div align=right>baz</div><p>extra" checks for modifications to non-editable content 
+FAIL [["defaultparagraphseparator","div"],["justifyright",""]] "<div align=right>foo</div>[bar]<div align=right>baz</div><p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<div align=\"right\">foo<br>bar<br>baz</div><p>extra</p>" but got "<div align=\"right\">foo</div><div style=\"text-align:right\">bar</div><div align=\"right\">baz</div><p>extra</p>"
+PASS [["defaultparagraphseparator","div"],["justifyright",""]] "<div align=right>foo</div>[bar]<div align=right>baz</div><p>extra" queryCommandIndeterm("defaultparagraphseparator") before 
+PASS [["defaultparagraphseparator","div"],["justifyright",""]] "<div align=right>foo</div>[bar]<div align=right>baz</div><p>extra" queryCommandState("defaultparagraphseparator") before 
+PASS [["defaultparagraphseparator","div"],["justifyright",""]] "<div align=right>foo</div>[bar]<div align=right>baz</div><p>extra" queryCommandValue("defaultparagraphseparator") before 
+PASS [["defaultparagraphseparator","div"],["justifyright",""]] "<div align=right>foo</div>[bar]<div align=right>baz</div><p>extra" queryCommandIndeterm("defaultparagraphseparator") after 
+PASS [["defaultparagraphseparator","div"],["justifyright",""]] "<div align=right>foo</div>[bar]<div align=right>baz</div><p>extra" queryCommandState("defaultparagraphseparator") after 
+PASS [["defaultparagraphseparator","div"],["justifyright",""]] "<div align=right>foo</div>[bar]<div align=right>baz</div><p>extra" queryCommandValue("defaultparagraphseparator") after 
+PASS [["defaultparagraphseparator","div"],["justifyright",""]] "<div align=right>foo</div>[bar]<div align=right>baz</div><p>extra" queryCommandIndeterm("justifyright") before 
+PASS [["defaultparagraphseparator","div"],["justifyright",""]] "<div align=right>foo</div>[bar]<div align=right>baz</div><p>extra" queryCommandState("justifyright") before 
+FAIL [["defaultparagraphseparator","div"],["justifyright",""]] "<div align=right>foo</div>[bar]<div align=right>baz</div><p>extra" queryCommandValue("justifyright") before assert_equals: Wrong result returned expected "left" but got "false"
+PASS [["defaultparagraphseparator","div"],["justifyright",""]] "<div align=right>foo</div>[bar]<div align=right>baz</div><p>extra" queryCommandIndeterm("justifyright") after 
+PASS [["defaultparagraphseparator","div"],["justifyright",""]] "<div align=right>foo</div>[bar]<div align=right>baz</div><p>extra" queryCommandState("justifyright") after 
+FAIL [["defaultparagraphseparator","div"],["justifyright",""]] "<div align=right>foo</div>[bar]<div align=right>baz</div><p>extra" queryCommandValue("justifyright") after assert_equals: Wrong result returned expected "right" but got "true"
+PASS [["defaultparagraphseparator","p"],["justifyright",""]] "<div align=right>foo</div>[bar]<div align=right>baz</div><p>extra": execCommand("defaultparagraphseparator", false, "p") return value 
+PASS [["defaultparagraphseparator","p"],["justifyright",""]] "<div align=right>foo</div>[bar]<div align=right>baz</div><p>extra": execCommand("justifyright", false, "") return value 
+PASS [["defaultparagraphseparator","p"],["justifyright",""]] "<div align=right>foo</div>[bar]<div align=right>baz</div><p>extra" checks for modifications to non-editable content 
+FAIL [["defaultparagraphseparator","p"],["justifyright",""]] "<div align=right>foo</div>[bar]<div align=right>baz</div><p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<div align=\"right\">foo<br>bar<br>baz</div><p>extra</p>" but got "<div align=\"right\">foo</div><p style=\"text-align:right\">bar</p><div align=\"right\">baz</div><p>extra</p>"
+PASS [["defaultparagraphseparator","p"],["justifyright",""]] "<div align=right>foo</div>[bar]<div align=right>baz</div><p>extra" queryCommandIndeterm("defaultparagraphseparator") before 
+PASS [["defaultparagraphseparator","p"],["justifyright",""]] "<div align=right>foo</div>[bar]<div align=right>baz</div><p>extra" queryCommandState("defaultparagraphseparator") before 
+PASS [["defaultparagraphseparator","p"],["justifyright",""]] "<div align=right>foo</div>[bar]<div align=right>baz</div><p>extra" queryCommandValue("defaultparagraphseparator") before 
+PASS [["defaultparagraphseparator","p"],["justifyright",""]] "<div align=right>foo</div>[bar]<div align=right>baz</div><p>extra" queryCommandIndeterm("defaultparagraphseparator") after 
+PASS [["defaultparagraphseparator","p"],["justifyright",""]] "<div align=right>foo</div>[bar]<div align=right>baz</div><p>extra" queryCommandState("defaultparagraphseparator") after 
+PASS [["defaultparagraphseparator","p"],["justifyright",""]] "<div align=right>foo</div>[bar]<div align=right>baz</div><p>extra" queryCommandValue("defaultparagraphseparator") after 
+PASS [["defaultparagraphseparator","p"],["justifyright",""]] "<div align=right>foo</div>[bar]<div align=right>baz</div><p>extra" queryCommandIndeterm("justifyright") before 
+PASS [["defaultparagraphseparator","p"],["justifyright",""]] "<div align=right>foo</div>[bar]<div align=right>baz</div><p>extra" queryCommandState("justifyright") before 
+FAIL [["defaultparagraphseparator","p"],["justifyright",""]] "<div align=right>foo</div>[bar]<div align=right>baz</div><p>extra" queryCommandValue("justifyright") before assert_equals: Wrong result returned expected "left" but got "false"
+PASS [["defaultparagraphseparator","p"],["justifyright",""]] "<div align=right>foo</div>[bar]<div align=right>baz</div><p>extra" queryCommandIndeterm("justifyright") after 
+PASS [["defaultparagraphseparator","p"],["justifyright",""]] "<div align=right>foo</div>[bar]<div align=right>baz</div><p>extra" queryCommandState("justifyright") after 
+FAIL [["defaultparagraphseparator","p"],["justifyright",""]] "<div align=right>foo</div>[bar]<div align=right>baz</div><p>extra" queryCommandValue("justifyright") after assert_equals: Wrong result returned expected "right" but got "true"
+PASS [["justifyright",""]] "<div align=right><p>foo</div><p>[bar]<p>extra": execCommand("justifyright", false, "") return value 
+PASS [["justifyright",""]] "<div align=right><p>foo</div><p>[bar]<p>extra" checks for modifications to non-editable content 
+FAIL [["justifyright",""]] "<div align=right><p>foo</div><p>[bar]<p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<div align=\"right\"><p>foo</p><p>bar</p></div><p>extra</p>" but got "<div align=\"right\"><p>foo</p></div><p style=\"text-align:right\">bar</p><p>extra</p>"
+PASS [["justifyright",""]] "<div align=right><p>foo</div><p>[bar]<p>extra" queryCommandIndeterm("justifyright") before 
+PASS [["justifyright",""]] "<div align=right><p>foo</div><p>[bar]<p>extra" queryCommandState("justifyright") before 
+FAIL [["justifyright",""]] "<div align=right><p>foo</div><p>[bar]<p>extra" queryCommandValue("justifyright") before assert_equals: Wrong result returned expected "left" but got "false"
+PASS [["justifyright",""]] "<div align=right><p>foo</div><p>[bar]<p>extra" queryCommandIndeterm("justifyright") after 
+PASS [["justifyright",""]] "<div align=right><p>foo</div><p>[bar]<p>extra" queryCommandState("justifyright") after 
+FAIL [["justifyright",""]] "<div align=right><p>foo</div><p>[bar]<p>extra" queryCommandValue("justifyright") after assert_equals: Wrong result returned expected "right" but got "true"
+PASS [["justifyright",""]] "<p>[foo]<div align=right><p>bar</div><p>extra": execCommand("justifyright", false, "") return value 
+PASS [["justifyright",""]] "<p>[foo]<div align=right><p>bar</div><p>extra" checks for modifications to non-editable content 
+FAIL [["justifyright",""]] "<p>[foo]<div align=right><p>bar</div><p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<div align=\"right\"><p>foo</p><p>bar</p></div><p>extra</p>" but got "<p style=\"text-align:right\">foo</p><div align=\"right\"><p>bar</p></div><p>extra</p>"
+PASS [["justifyright",""]] "<p>[foo]<div align=right><p>bar</div><p>extra" queryCommandIndeterm("justifyright") before 
+PASS [["justifyright",""]] "<p>[foo]<div align=right><p>bar</div><p>extra" queryCommandState("justifyright") before 
+FAIL [["justifyright",""]] "<p>[foo]<div align=right><p>bar</div><p>extra" queryCommandValue("justifyright") before assert_equals: Wrong result returned expected "left" but got "false"
+PASS [["justifyright",""]] "<p>[foo]<div align=right><p>bar</div><p>extra" queryCommandIndeterm("justifyright") after 
+PASS [["justifyright",""]] "<p>[foo]<div align=right><p>bar</div><p>extra" queryCommandState("justifyright") after 
+FAIL [["justifyright",""]] "<p>[foo]<div align=right><p>bar</div><p>extra" queryCommandValue("justifyright") after assert_equals: Wrong result returned expected "right" but got "true"
+PASS [["defaultparagraphseparator","div"],["justifyright",""]] "<div align=right><p>foo</div><p>[bar]<div align=right><p>baz</div><p>extra": execCommand("defaultparagraphseparator", false, "div") return value 
+PASS [["defaultparagraphseparator","div"],["justifyright",""]] "<div align=right><p>foo</div><p>[bar]<div align=right><p>baz</div><p>extra": execCommand("justifyright", false, "") return value 
+PASS [["defaultparagraphseparator","div"],["justifyright",""]] "<div align=right><p>foo</div><p>[bar]<div align=right><p>baz</div><p>extra" checks for modifications to non-editable content 
+FAIL [["defaultparagraphseparator","div"],["justifyright",""]] "<div align=right><p>foo</div><p>[bar]<div align=right><p>baz</div><p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<div align=\"right\"><p>foo</p><p>bar</p><p>baz</p></div><p>extra</p>" but got "<div align=\"right\"><p>foo</p></div><p style=\"text-align:right\">bar</p><div align=\"right\"><p>baz</p></div><p>extra</p>"
+PASS [["defaultparagraphseparator","div"],["justifyright",""]] "<div align=right><p>foo</div><p>[bar]<div align=right><p>baz</div><p>extra" queryCommandIndeterm("defaultparagraphseparator") before 
+PASS [["defaultparagraphseparator","div"],["justifyright",""]] "<div align=right><p>foo</div><p>[bar]<div align=right><p>baz</div><p>extra" queryCommandState("defaultparagraphseparator") before 
+PASS [["defaultparagraphseparator","div"],["justifyright",""]] "<div align=right><p>foo</div><p>[bar]<div align=right><p>baz</div><p>extra" queryCommandValue("defaultparagraphseparator") before 
+PASS [["defaultparagraphseparator","div"],["justifyright",""]] "<div align=right><p>foo</div><p>[bar]<div align=right><p>baz</div><p>extra" queryCommandIndeterm("defaultparagraphseparator") after 
+PASS [["defaultparagraphseparator","div"],["justifyright",""]] "<div align=right><p>foo</div><p>[bar]<div align=right><p>baz</div><p>extra" queryCommandState("defaultparagraphseparator") after 
+PASS [["defaultparagraphseparator","div"],["justifyright",""]] "<div align=right><p>foo</div><p>[bar]<div align=right><p>baz</div><p>extra" queryCommandValue("defaultparagraphseparator") after 
+PASS [["defaultparagraphseparator","div"],["justifyright",""]] "<div align=right><p>foo</div><p>[bar]<div align=right><p>baz</div><p>extra" queryCommandIndeterm("justifyright") before 
+PASS [["defaultparagraphseparator","div"],["justifyright",""]] "<div align=right><p>foo</div><p>[bar]<div align=right><p>baz</div><p>extra" queryCommandState("justifyright") before 
+FAIL [["defaultparagraphseparator","div"],["justifyright",""]] "<div align=right><p>foo</div><p>[bar]<div align=right><p>baz</div><p>extra" queryCommandValue("justifyright") before assert_equals: Wrong result returned expected "left" but got "false"
+PASS [["defaultparagraphseparator","div"],["justifyright",""]] "<div align=right><p>foo</div><p>[bar]<div align=right><p>baz</div><p>extra" queryCommandIndeterm("justifyright") after 
+PASS [["defaultparagraphseparator","div"],["justifyright",""]] "<div align=right><p>foo</div><p>[bar]<div align=right><p>baz</div><p>extra" queryCommandState("justifyright") after 
+FAIL [["defaultparagraphseparator","div"],["justifyright",""]] "<div align=right><p>foo</div><p>[bar]<div align=right><p>baz</div><p>extra" queryCommandValue("justifyright") after assert_equals: Wrong result returned expected "right" but got "true"
+PASS [["defaultparagraphseparator","p"],["justifyright",""]] "<div align=right><p>foo</div><p>[bar]<div align=right><p>baz</div><p>extra": execCommand("defaultparagraphseparator", false, "p") return value 
+PASS [["defaultparagraphseparator","p"],["justifyright",""]] "<div align=right><p>foo</div><p>[bar]<div align=right><p>baz</div><p>extra": execCommand("justifyright", false, "") return value 
+PASS [["defaultparagraphseparator","p"],["justifyright",""]] "<div align=right><p>foo</div><p>[bar]<div align=right><p>baz</div><p>extra" checks for modifications to non-editable content 
+FAIL [["defaultparagraphseparator","p"],["justifyright",""]] "<div align=right><p>foo</div><p>[bar]<div align=right><p>baz</div><p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<div align=\"right\"><p>foo</p><p>bar</p><p>baz</p></div><p>extra</p>" but got "<div align=\"right\"><p>foo</p></div><p style=\"text-align:right\">bar</p><div align=\"right\"><p>baz</p></div><p>extra</p>"
+PASS [["defaultparagraphseparator","p"],["justifyright",""]] "<div align=right><p>foo</div><p>[bar]<div align=right><p>baz</div><p>extra" queryCommandIndeterm("defaultparagraphseparator") before 
+PASS [["defaultparagraphseparator","p"],["justifyright",""]] "<div align=right><p>foo</div><p>[bar]<div align=right><p>baz</div><p>extra" queryCommandState("defaultparagraphseparator") before 
+PASS [["defaultparagraphseparator","p"],["justifyright",""]] "<div align=right><p>foo</div><p>[bar]<div align=right><p>baz</div><p>extra" queryCommandValue("defaultparagraphseparator") before 
+PASS [["defaultparagraphseparator","p"],["justifyright",""]] "<div align=right><p>foo</div><p>[bar]<div align=right><p>baz</div><p>extra" queryCommandIndeterm("defaultparagraphseparator") after 
+PASS [["defaultparagraphseparator","p"],["justifyright",""]] "<div align=right><p>foo</div><p>[bar]<div align=right><p>baz</div><p>extra" queryCommandState("defaultparagraphseparator") after 
+PASS [["defaultparagraphseparator","p"],["justifyright",""]] "<div align=right><p>foo</div><p>[bar]<div align=right><p>baz</div><p>extra" queryCommandValue("defaultparagraphseparator") after 
+PASS [["defaultparagraphseparator","p"],["justifyright",""]] "<div align=right><p>foo</div><p>[bar]<div align=right><p>baz</div><p>extra" queryCommandIndeterm("justifyright") before 
+PASS [["defaultparagraphseparator","p"],["justifyright",""]] "<div align=right><p>foo</div><p>[bar]<div align=right><p>baz</div><p>extra" queryCommandState("justifyright") before 
+FAIL [["defaultparagraphseparator","p"],["justifyright",""]] "<div align=right><p>foo</div><p>[bar]<div align=right><p>baz</div><p>extra" queryCommandValue("justifyright") before assert_equals: Wrong result returned expected "left" but got "false"
+PASS [["defaultparagraphseparator","p"],["justifyright",""]] "<div align=right><p>foo</div><p>[bar]<div align=right><p>baz</div><p>extra" queryCommandIndeterm("justifyright") after 
+PASS [["defaultparagraphseparator","p"],["justifyright",""]] "<div align=right><p>foo</div><p>[bar]<div align=right><p>baz</div><p>extra" queryCommandState("justifyright") after 
+FAIL [["defaultparagraphseparator","p"],["justifyright",""]] "<div align=right><p>foo</div><p>[bar]<div align=right><p>baz</div><p>extra" queryCommandValue("justifyright") after assert_equals: Wrong result returned expected "right" but got "true"
+PASS [["justifyright",""]] "<div style=text-align:right>foo</div>[bar]<p>extra": execCommand("justifyright", false, "") return value 
+PASS [["justifyright",""]] "<div style=text-align:right>foo</div>[bar]<p>extra" checks for modifications to non-editable content 
+FAIL [["justifyright",""]] "<div style=text-align:right>foo</div>[bar]<p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<div style=\"text-align:right\">foo<br>bar</div><p>extra</p>" but got "<div style=\"text-align:right\">foo</div><p style=\"text-align:right\">bar</p><p>extra</p>"
+PASS [["justifyright",""]] "<div style=text-align:right>foo</div>[bar]<p>extra" queryCommandIndeterm("justifyright") before 
+PASS [["justifyright",""]] "<div style=text-align:right>foo</div>[bar]<p>extra" queryCommandState("justifyright") before 
+FAIL [["justifyright",""]] "<div style=text-align:right>foo</div>[bar]<p>extra" queryCommandValue("justifyright") before assert_equals: Wrong result returned expected "left" but got "false"
+PASS [["justifyright",""]] "<div style=text-align:right>foo</div>[bar]<p>extra" queryCommandIndeterm("justifyright") after 
+PASS [["justifyright",""]] "<div style=text-align:right>foo</div>[bar]<p>extra" queryCommandState("justifyright") after 
+FAIL [["justifyright",""]] "<div style=text-align:right>foo</div>[bar]<p>extra" queryCommandValue("justifyright") after assert_equals: Wrong result returned expected "right" but got "true"
+PASS [["justifyright",""]] "[foo]<div style=text-align:right>bar</div><p>extra": execCommand("justifyright", false, "") return value 
+PASS [["justifyright",""]] "[foo]<div style=text-align:right>bar</div><p>extra" checks for modifications to non-editable content 
+FAIL [["justifyright",""]] "[foo]<div style=text-align:right>bar</div><p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<div style=\"text-align:right\">foo<br>bar</div><p>extra</p>" but got "<p style=\"text-align:right\">foo</p><div style=\"text-align:right\">bar</div><p>extra</p>"
+PASS [["justifyright",""]] "[foo]<div style=text-align:right>bar</div><p>extra" queryCommandIndeterm("justifyright") before 
+PASS [["justifyright",""]] "[foo]<div style=text-align:right>bar</div><p>extra" queryCommandState("justifyright") before 
+FAIL [["justifyright",""]] "[foo]<div style=text-align:right>bar</div><p>extra" queryCommandValue("justifyright") before assert_equals: Wrong result returned expected "left" but got "false"
+PASS [["justifyright",""]] "[foo]<div style=text-align:right>bar</div><p>extra" queryCommandIndeterm("justifyright") after 
+PASS [["justifyright",""]] "[foo]<div style=text-align:right>bar</div><p>extra" queryCommandState("justifyright") after 
+FAIL [["justifyright",""]] "[foo]<div style=text-align:right>bar</div><p>extra" queryCommandValue("justifyright") after assert_equals: Wrong result returned expected "right" but got "true"
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<div style=text-align:right>foo</div>[bar]<div style=text-align:right>baz</div><p>extra": execCommand("stylewithcss", false, "true") return value 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<div style=text-align:right>foo</div>[bar]<div style=text-align:right>baz</div><p>extra": execCommand("defaultparagraphseparator", false, "div") return value 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<div style=text-align:right>foo</div>[bar]<div style=text-align:right>baz</div><p>extra": execCommand("justifyright", false, "") return value 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<div style=text-align:right>foo</div>[bar]<div style=text-align:right>baz</div><p>extra" checks for modifications to non-editable content 
+FAIL [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<div style=text-align:right>foo</div>[bar]<div style=text-align:right>baz</div><p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<div style=\"text-align:right\">foo<br>bar<br>baz</div><p>extra</p>" but got "<div style=\"text-align:right\">foo</div><div style=\"text-align:right\">bar</div><div style=\"text-align:right\">baz</div><p>extra</p>"
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<div style=text-align:right>foo</div>[bar]<div style=text-align:right>baz</div><p>extra" queryCommandIndeterm("stylewithcss") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<div style=text-align:right>foo</div>[bar]<div style=text-align:right>baz</div><p>extra" queryCommandState("stylewithcss") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<div style=text-align:right>foo</div>[bar]<div style=text-align:right>baz</div><p>extra" queryCommandValue("stylewithcss") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<div style=text-align:right>foo</div>[bar]<div style=text-align:right>baz</div><p>extra" queryCommandIndeterm("stylewithcss") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<div style=text-align:right>foo</div>[bar]<div style=text-align:right>baz</div><p>extra" queryCommandState("stylewithcss") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<div style=text-align:right>foo</div>[bar]<div style=text-align:right>baz</div><p>extra" queryCommandValue("stylewithcss") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<div style=text-align:right>foo</div>[bar]<div style=text-align:right>baz</div><p>extra" queryCommandIndeterm("defaultparagraphseparator") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<div style=text-align:right>foo</div>[bar]<div style=text-align:right>baz</div><p>extra" queryCommandState("defaultparagraphseparator") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<div style=text-align:right>foo</div>[bar]<div style=text-align:right>baz</div><p>extra" queryCommandValue("defaultparagraphseparator") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<div style=text-align:right>foo</div>[bar]<div style=text-align:right>baz</div><p>extra" queryCommandIndeterm("defaultparagraphseparator") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<div style=text-align:right>foo</div>[bar]<div style=text-align:right>baz</div><p>extra" queryCommandState("defaultparagraphseparator") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<div style=text-align:right>foo</div>[bar]<div style=text-align:right>baz</div><p>extra" queryCommandValue("defaultparagraphseparator") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<div style=text-align:right>foo</div>[bar]<div style=text-align:right>baz</div><p>extra" queryCommandIndeterm("justifyright") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<div style=text-align:right>foo</div>[bar]<div style=text-align:right>baz</div><p>extra" queryCommandState("justifyright") before 
+FAIL [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<div style=text-align:right>foo</div>[bar]<div style=text-align:right>baz</div><p>extra" queryCommandValue("justifyright") before assert_equals: Wrong result returned expected "left" but got "false"
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<div style=text-align:right>foo</div>[bar]<div style=text-align:right>baz</div><p>extra" queryCommandIndeterm("justifyright") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<div style=text-align:right>foo</div>[bar]<div style=text-align:right>baz</div><p>extra" queryCommandState("justifyright") after 
+FAIL [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<div style=text-align:right>foo</div>[bar]<div style=text-align:right>baz</div><p>extra" queryCommandValue("justifyright") after assert_equals: Wrong result returned expected "right" but got "true"
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<div style=text-align:right>foo</div>[bar]<div style=text-align:right>baz</div><p>extra": execCommand("stylewithcss", false, "false") return value 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<div style=text-align:right>foo</div>[bar]<div style=text-align:right>baz</div><p>extra": execCommand("defaultparagraphseparator", false, "div") return value 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<div style=text-align:right>foo</div>[bar]<div style=text-align:right>baz</div><p>extra": execCommand("justifyright", false, "") return value 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<div style=text-align:right>foo</div>[bar]<div style=text-align:right>baz</div><p>extra" checks for modifications to non-editable content 
+FAIL [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<div style=text-align:right>foo</div>[bar]<div style=text-align:right>baz</div><p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<div style=\"text-align:right\">foo<br>bar<br>baz</div><p>extra</p>" but got "<div style=\"text-align:right\">foo</div><div style=\"text-align:right\">bar</div><div style=\"text-align:right\">baz</div><p>extra</p>"
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<div style=text-align:right>foo</div>[bar]<div style=text-align:right>baz</div><p>extra" queryCommandIndeterm("stylewithcss") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<div style=text-align:right>foo</div>[bar]<div style=text-align:right>baz</div><p>extra" queryCommandState("stylewithcss") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<div style=text-align:right>foo</div>[bar]<div style=text-align:right>baz</div><p>extra" queryCommandValue("stylewithcss") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<div style=text-align:right>foo</div>[bar]<div style=text-align:right>baz</div><p>extra" queryCommandIndeterm("stylewithcss") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<div style=text-align:right>foo</div>[bar]<div style=text-align:right>baz</div><p>extra" queryCommandState("stylewithcss") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<div style=text-align:right>foo</div>[bar]<div style=text-align:right>baz</div><p>extra" queryCommandValue("stylewithcss") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<div style=text-align:right>foo</div>[bar]<div style=text-align:right>baz</div><p>extra" queryCommandIndeterm("defaultparagraphseparator") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<div style=text-align:right>foo</div>[bar]<div style=text-align:right>baz</div><p>extra" queryCommandState("defaultparagraphseparator") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<div style=text-align:right>foo</div>[bar]<div style=text-align:right>baz</div><p>extra" queryCommandValue("defaultparagraphseparator") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<div style=text-align:right>foo</div>[bar]<div style=text-align:right>baz</div><p>extra" queryCommandIndeterm("defaultparagraphseparator") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<div style=text-align:right>foo</div>[bar]<div style=text-align:right>baz</div><p>extra" queryCommandState("defaultparagraphseparator") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<div style=text-align:right>foo</div>[bar]<div style=text-align:right>baz</div><p>extra" queryCommandValue("defaultparagraphseparator") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<div style=text-align:right>foo</div>[bar]<div style=text-align:right>baz</div><p>extra" queryCommandIndeterm("justifyright") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<div style=text-align:right>foo</div>[bar]<div style=text-align:right>baz</div><p>extra" queryCommandState("justifyright") before 
+FAIL [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<div style=text-align:right>foo</div>[bar]<div style=text-align:right>baz</div><p>extra" queryCommandValue("justifyright") before assert_equals: Wrong result returned expected "left" but got "false"
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<div style=text-align:right>foo</div>[bar]<div style=text-align:right>baz</div><p>extra" queryCommandIndeterm("justifyright") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<div style=text-align:right>foo</div>[bar]<div style=text-align:right>baz</div><p>extra" queryCommandState("justifyright") after 
+FAIL [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<div style=text-align:right>foo</div>[bar]<div style=text-align:right>baz</div><p>extra" queryCommandValue("justifyright") after assert_equals: Wrong result returned expected "right" but got "true"
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<div style=text-align:right>foo</div>[bar]<div style=text-align:right>baz</div><p>extra": execCommand("stylewithcss", false, "true") return value 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<div style=text-align:right>foo</div>[bar]<div style=text-align:right>baz</div><p>extra": execCommand("defaultparagraphseparator", false, "p") return value 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<div style=text-align:right>foo</div>[bar]<div style=text-align:right>baz</div><p>extra": execCommand("justifyright", false, "") return value 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<div style=text-align:right>foo</div>[bar]<div style=text-align:right>baz</div><p>extra" checks for modifications to non-editable content 
+FAIL [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<div style=text-align:right>foo</div>[bar]<div style=text-align:right>baz</div><p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<div style=\"text-align:right\">foo<br>bar<br>baz</div><p>extra</p>" but got "<div style=\"text-align:right\">foo</div><p style=\"text-align:right\">bar</p><div style=\"text-align:right\">baz</div><p>extra</p>"
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<div style=text-align:right>foo</div>[bar]<div style=text-align:right>baz</div><p>extra" queryCommandIndeterm("stylewithcss") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<div style=text-align:right>foo</div>[bar]<div style=text-align:right>baz</div><p>extra" queryCommandState("stylewithcss") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<div style=text-align:right>foo</div>[bar]<div style=text-align:right>baz</div><p>extra" queryCommandValue("stylewithcss") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<div style=text-align:right>foo</div>[bar]<div style=text-align:right>baz</div><p>extra" queryCommandIndeterm("stylewithcss") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<div style=text-align:right>foo</div>[bar]<div style=text-align:right>baz</div><p>extra" queryCommandState("stylewithcss") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<div style=text-align:right>foo</div>[bar]<div style=text-align:right>baz</div><p>extra" queryCommandValue("stylewithcss") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<div style=text-align:right>foo</div>[bar]<div style=text-align:right>baz</div><p>extra" queryCommandIndeterm("defaultparagraphseparator") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<div style=text-align:right>foo</div>[bar]<div style=text-align:right>baz</div><p>extra" queryCommandState("defaultparagraphseparator") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<div style=text-align:right>foo</div>[bar]<div style=text-align:right>baz</div><p>extra" queryCommandValue("defaultparagraphseparator") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<div style=text-align:right>foo</div>[bar]<div style=text-align:right>baz</div><p>extra" queryCommandIndeterm("defaultparagraphseparator") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<div style=text-align:right>foo</div>[bar]<div style=text-align:right>baz</div><p>extra" queryCommandState("defaultparagraphseparator") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<div style=text-align:right>foo</div>[bar]<div style=text-align:right>baz</div><p>extra" queryCommandValue("defaultparagraphseparator") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<div style=text-align:right>foo</div>[bar]<div style=text-align:right>baz</div><p>extra" queryCommandIndeterm("justifyright") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<div style=text-align:right>foo</div>[bar]<div style=text-align:right>baz</div><p>extra" queryCommandState("justifyright") before 
+FAIL [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<div style=text-align:right>foo</div>[bar]<div style=text-align:right>baz</div><p>extra" queryCommandValue("justifyright") before assert_equals: Wrong result returned expected "left" but got "false"
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<div style=text-align:right>foo</div>[bar]<div style=text-align:right>baz</div><p>extra" queryCommandIndeterm("justifyright") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<div style=text-align:right>foo</div>[bar]<div style=text-align:right>baz</div><p>extra" queryCommandState("justifyright") after 
+FAIL [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<div style=text-align:right>foo</div>[bar]<div style=text-align:right>baz</div><p>extra" queryCommandValue("justifyright") after assert_equals: Wrong result returned expected "right" but got "true"
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<div style=text-align:right>foo</div>[bar]<div style=text-align:right>baz</div><p>extra": execCommand("stylewithcss", false, "false") return value 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<div style=text-align:right>foo</div>[bar]<div style=text-align:right>baz</div><p>extra": execCommand("defaultparagraphseparator", false, "p") return value 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<div style=text-align:right>foo</div>[bar]<div style=text-align:right>baz</div><p>extra": execCommand("justifyright", false, "") return value 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<div style=text-align:right>foo</div>[bar]<div style=text-align:right>baz</div><p>extra" checks for modifications to non-editable content 
+FAIL [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<div style=text-align:right>foo</div>[bar]<div style=text-align:right>baz</div><p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<div style=\"text-align:right\">foo<br>bar<br>baz</div><p>extra</p>" but got "<div style=\"text-align:right\">foo</div><p style=\"text-align:right\">bar</p><div style=\"text-align:right\">baz</div><p>extra</p>"
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<div style=text-align:right>foo</div>[bar]<div style=text-align:right>baz</div><p>extra" queryCommandIndeterm("stylewithcss") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<div style=text-align:right>foo</div>[bar]<div style=text-align:right>baz</div><p>extra" queryCommandState("stylewithcss") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<div style=text-align:right>foo</div>[bar]<div style=text-align:right>baz</div><p>extra" queryCommandValue("stylewithcss") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<div style=text-align:right>foo</div>[bar]<div style=text-align:right>baz</div><p>extra" queryCommandIndeterm("stylewithcss") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<div style=text-align:right>foo</div>[bar]<div style=text-align:right>baz</div><p>extra" queryCommandState("stylewithcss") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<div style=text-align:right>foo</div>[bar]<div style=text-align:right>baz</div><p>extra" queryCommandValue("stylewithcss") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<div style=text-align:right>foo</div>[bar]<div style=text-align:right>baz</div><p>extra" queryCommandIndeterm("defaultparagraphseparator") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<div style=text-align:right>foo</div>[bar]<div style=text-align:right>baz</div><p>extra" queryCommandState("defaultparagraphseparator") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<div style=text-align:right>foo</div>[bar]<div style=text-align:right>baz</div><p>extra" queryCommandValue("defaultparagraphseparator") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<div style=text-align:right>foo</div>[bar]<div style=text-align:right>baz</div><p>extra" queryCommandIndeterm("defaultparagraphseparator") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<div style=text-align:right>foo</div>[bar]<div style=text-align:right>baz</div><p>extra" queryCommandState("defaultparagraphseparator") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<div style=text-align:right>foo</div>[bar]<div style=text-align:right>baz</div><p>extra" queryCommandValue("defaultparagraphseparator") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<div style=text-align:right>foo</div>[bar]<div style=text-align:right>baz</div><p>extra" queryCommandIndeterm("justifyright") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<div style=text-align:right>foo</div>[bar]<div style=text-align:right>baz</div><p>extra" queryCommandState("justifyright") before 
+FAIL [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<div style=text-align:right>foo</div>[bar]<div style=text-align:right>baz</div><p>extra" queryCommandValue("justifyright") before assert_equals: Wrong result returned expected "left" but got "false"
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<div style=text-align:right>foo</div>[bar]<div style=text-align:right>baz</div><p>extra" queryCommandIndeterm("justifyright") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<div style=text-align:right>foo</div>[bar]<div style=text-align:right>baz</div><p>extra" queryCommandState("justifyright") after 
+FAIL [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<div style=text-align:right>foo</div>[bar]<div style=text-align:right>baz</div><p>extra" queryCommandValue("justifyright") after assert_equals: Wrong result returned expected "right" but got "true"
+PASS [["justifyright",""]] "<div style=text-align:right><p>foo</div><p>[bar]<p>extra": execCommand("justifyright", false, "") return value 
+PASS [["justifyright",""]] "<div style=text-align:right><p>foo</div><p>[bar]<p>extra" checks for modifications to non-editable content 
+FAIL [["justifyright",""]] "<div style=text-align:right><p>foo</div><p>[bar]<p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<div style=\"text-align:right\"><p>foo</p><p>bar</p></div><p>extra</p>" but got "<div style=\"text-align:right\"><p>foo</p></div><p style=\"text-align:right\">bar</p><p>extra</p>"
+PASS [["justifyright",""]] "<div style=text-align:right><p>foo</div><p>[bar]<p>extra" queryCommandIndeterm("justifyright") before 
+PASS [["justifyright",""]] "<div style=text-align:right><p>foo</div><p>[bar]<p>extra" queryCommandState("justifyright") before 
+FAIL [["justifyright",""]] "<div style=text-align:right><p>foo</div><p>[bar]<p>extra" queryCommandValue("justifyright") before assert_equals: Wrong result returned expected "left" but got "false"
+PASS [["justifyright",""]] "<div style=text-align:right><p>foo</div><p>[bar]<p>extra" queryCommandIndeterm("justifyright") after 
+PASS [["justifyright",""]] "<div style=text-align:right><p>foo</div><p>[bar]<p>extra" queryCommandState("justifyright") after 
+FAIL [["justifyright",""]] "<div style=text-align:right><p>foo</div><p>[bar]<p>extra" queryCommandValue("justifyright") after assert_equals: Wrong result returned expected "right" but got "true"
+PASS [["justifyright",""]] "<p>[foo]<div style=text-align:right><p>bar</div><p>extra": execCommand("justifyright", false, "") return value 
+PASS [["justifyright",""]] "<p>[foo]<div style=text-align:right><p>bar</div><p>extra" checks for modifications to non-editable content 
+FAIL [["justifyright",""]] "<p>[foo]<div style=text-align:right><p>bar</div><p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<div style=\"text-align:right\"><p>foo</p><p>bar</p></div><p>extra</p>" but got "<p style=\"text-align:right\">foo</p><div style=\"text-align:right\"><p>bar</p></div><p>extra</p>"
+PASS [["justifyright",""]] "<p>[foo]<div style=text-align:right><p>bar</div><p>extra" queryCommandIndeterm("justifyright") before 
+PASS [["justifyright",""]] "<p>[foo]<div style=text-align:right><p>bar</div><p>extra" queryCommandState("justifyright") before 
+FAIL [["justifyright",""]] "<p>[foo]<div style=text-align:right><p>bar</div><p>extra" queryCommandValue("justifyright") before assert_equals: Wrong result returned expected "left" but got "false"
+PASS [["justifyright",""]] "<p>[foo]<div style=text-align:right><p>bar</div><p>extra" queryCommandIndeterm("justifyright") after 
+PASS [["justifyright",""]] "<p>[foo]<div style=text-align:right><p>bar</div><p>extra" queryCommandState("justifyright") after 
+FAIL [["justifyright",""]] "<p>[foo]<div style=text-align:right><p>bar</div><p>extra" queryCommandValue("justifyright") after assert_equals: Wrong result returned expected "right" but got "true"
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<div style=text-align:right><p>foo</div><p>[bar]<div style=text-align:right><p>baz</div><p>extra": execCommand("stylewithcss", false, "true") return value 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<div style=text-align:right><p>foo</div><p>[bar]<div style=text-align:right><p>baz</div><p>extra": execCommand("defaultparagraphseparator", false, "div") return value 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<div style=text-align:right><p>foo</div><p>[bar]<div style=text-align:right><p>baz</div><p>extra": execCommand("justifyright", false, "") return value 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<div style=text-align:right><p>foo</div><p>[bar]<div style=text-align:right><p>baz</div><p>extra" checks for modifications to non-editable content 
+FAIL [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<div style=text-align:right><p>foo</div><p>[bar]<div style=text-align:right><p>baz</div><p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<div style=\"text-align:right\"><p>foo</p><p>bar</p><p>baz</p></div><p>extra</p>" but got "<div style=\"text-align:right\"><p>foo</p></div><p style=\"text-align:right\">bar</p><div style=\"text-align:right\"><p>baz</p></div><p>extra</p>"
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<div style=text-align:right><p>foo</div><p>[bar]<div style=text-align:right><p>baz</div><p>extra" queryCommandIndeterm("stylewithcss") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<div style=text-align:right><p>foo</div><p>[bar]<div style=text-align:right><p>baz</div><p>extra" queryCommandState("stylewithcss") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<div style=text-align:right><p>foo</div><p>[bar]<div style=text-align:right><p>baz</div><p>extra" queryCommandValue("stylewithcss") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<div style=text-align:right><p>foo</div><p>[bar]<div style=text-align:right><p>baz</div><p>extra" queryCommandIndeterm("stylewithcss") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<div style=text-align:right><p>foo</div><p>[bar]<div style=text-align:right><p>baz</div><p>extra" queryCommandState("stylewithcss") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<div style=text-align:right><p>foo</div><p>[bar]<div style=text-align:right><p>baz</div><p>extra" queryCommandValue("stylewithcss") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<div style=text-align:right><p>foo</div><p>[bar]<div style=text-align:right><p>baz</div><p>extra" queryCommandIndeterm("defaultparagraphseparator") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<div style=text-align:right><p>foo</div><p>[bar]<div style=text-align:right><p>baz</div><p>extra" queryCommandState("defaultparagraphseparator") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<div style=text-align:right><p>foo</div><p>[bar]<div style=text-align:right><p>baz</div><p>extra" queryCommandValue("defaultparagraphseparator") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<div style=text-align:right><p>foo</div><p>[bar]<div style=text-align:right><p>baz</div><p>extra" queryCommandIndeterm("defaultparagraphseparator") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<div style=text-align:right><p>foo</div><p>[bar]<div style=text-align:right><p>baz</div><p>extra" queryCommandState("defaultparagraphseparator") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<div style=text-align:right><p>foo</div><p>[bar]<div style=text-align:right><p>baz</div><p>extra" queryCommandValue("defaultparagraphseparator") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<div style=text-align:right><p>foo</div><p>[bar]<div style=text-align:right><p>baz</div><p>extra" queryCommandIndeterm("justifyright") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<div style=text-align:right><p>foo</div><p>[bar]<div style=text-align:right><p>baz</div><p>extra" queryCommandState("justifyright") before 
+FAIL [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<div style=text-align:right><p>foo</div><p>[bar]<div style=text-align:right><p>baz</div><p>extra" queryCommandValue("justifyright") before assert_equals: Wrong result returned expected "left" but got "false"
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<div style=text-align:right><p>foo</div><p>[bar]<div style=text-align:right><p>baz</div><p>extra" queryCommandIndeterm("justifyright") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<div style=text-align:right><p>foo</div><p>[bar]<div style=text-align:right><p>baz</div><p>extra" queryCommandState("justifyright") after 
+FAIL [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<div style=text-align:right><p>foo</div><p>[bar]<div style=text-align:right><p>baz</div><p>extra" queryCommandValue("justifyright") after assert_equals: Wrong result returned expected "right" but got "true"
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<div style=text-align:right><p>foo</div><p>[bar]<div style=text-align:right><p>baz</div><p>extra": execCommand("stylewithcss", false, "false") return value 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<div style=text-align:right><p>foo</div><p>[bar]<div style=text-align:right><p>baz</div><p>extra": execCommand("defaultparagraphseparator", false, "div") return value 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<div style=text-align:right><p>foo</div><p>[bar]<div style=text-align:right><p>baz</div><p>extra": execCommand("justifyright", false, "") return value 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<div style=text-align:right><p>foo</div><p>[bar]<div style=text-align:right><p>baz</div><p>extra" checks for modifications to non-editable content 
+FAIL [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<div style=text-align:right><p>foo</div><p>[bar]<div style=text-align:right><p>baz</div><p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<div style=\"text-align:right\"><p>foo</p><p>bar</p><p>baz</p></div><p>extra</p>" but got "<div style=\"text-align:right\"><p>foo</p></div><p style=\"text-align:right\">bar</p><div style=\"text-align:right\"><p>baz</p></div><p>extra</p>"
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<div style=text-align:right><p>foo</div><p>[bar]<div style=text-align:right><p>baz</div><p>extra" queryCommandIndeterm("stylewithcss") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<div style=text-align:right><p>foo</div><p>[bar]<div style=text-align:right><p>baz</div><p>extra" queryCommandState("stylewithcss") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<div style=text-align:right><p>foo</div><p>[bar]<div style=text-align:right><p>baz</div><p>extra" queryCommandValue("stylewithcss") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<div style=text-align:right><p>foo</div><p>[bar]<div style=text-align:right><p>baz</div><p>extra" queryCommandIndeterm("stylewithcss") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<div style=text-align:right><p>foo</div><p>[bar]<div style=text-align:right><p>baz</div><p>extra" queryCommandState("stylewithcss") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<div style=text-align:right><p>foo</div><p>[bar]<div style=text-align:right><p>baz</div><p>extra" queryCommandValue("stylewithcss") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<div style=text-align:right><p>foo</div><p>[bar]<div style=text-align:right><p>baz</div><p>extra" queryCommandIndeterm("defaultparagraphseparator") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<div style=text-align:right><p>foo</div><p>[bar]<div style=text-align:right><p>baz</div><p>extra" queryCommandState("defaultparagraphseparator") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<div style=text-align:right><p>foo</div><p>[bar]<div style=text-align:right><p>baz</div><p>extra" queryCommandValue("defaultparagraphseparator") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<div style=text-align:right><p>foo</div><p>[bar]<div style=text-align:right><p>baz</div><p>extra" queryCommandIndeterm("defaultparagraphseparator") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<div style=text-align:right><p>foo</div><p>[bar]<div style=text-align:right><p>baz</div><p>extra" queryCommandState("defaultparagraphseparator") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<div style=text-align:right><p>foo</div><p>[bar]<div style=text-align:right><p>baz</div><p>extra" queryCommandValue("defaultparagraphseparator") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<div style=text-align:right><p>foo</div><p>[bar]<div style=text-align:right><p>baz</div><p>extra" queryCommandIndeterm("justifyright") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<div style=text-align:right><p>foo</div><p>[bar]<div style=text-align:right><p>baz</div><p>extra" queryCommandState("justifyright") before 
+FAIL [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<div style=text-align:right><p>foo</div><p>[bar]<div style=text-align:right><p>baz</div><p>extra" queryCommandValue("justifyright") before assert_equals: Wrong result returned expected "left" but got "false"
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<div style=text-align:right><p>foo</div><p>[bar]<div style=text-align:right><p>baz</div><p>extra" queryCommandIndeterm("justifyright") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<div style=text-align:right><p>foo</div><p>[bar]<div style=text-align:right><p>baz</div><p>extra" queryCommandState("justifyright") after 
+FAIL [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<div style=text-align:right><p>foo</div><p>[bar]<div style=text-align:right><p>baz</div><p>extra" queryCommandValue("justifyright") after assert_equals: Wrong result returned expected "right" but got "true"
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<div style=text-align:right><p>foo</div><p>[bar]<div style=text-align:right><p>baz</div><p>extra": execCommand("stylewithcss", false, "true") return value 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<div style=text-align:right><p>foo</div><p>[bar]<div style=text-align:right><p>baz</div><p>extra": execCommand("defaultparagraphseparator", false, "p") return value 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<div style=text-align:right><p>foo</div><p>[bar]<div style=text-align:right><p>baz</div><p>extra": execCommand("justifyright", false, "") return value 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<div style=text-align:right><p>foo</div><p>[bar]<div style=text-align:right><p>baz</div><p>extra" checks for modifications to non-editable content 
+FAIL [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<div style=text-align:right><p>foo</div><p>[bar]<div style=text-align:right><p>baz</div><p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<div style=\"text-align:right\"><p>foo</p><p>bar</p><p>baz</p></div><p>extra</p>" but got "<div style=\"text-align:right\"><p>foo</p></div><p style=\"text-align:right\">bar</p><div style=\"text-align:right\"><p>baz</p></div><p>extra</p>"
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<div style=text-align:right><p>foo</div><p>[bar]<div style=text-align:right><p>baz</div><p>extra" queryCommandIndeterm("stylewithcss") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<div style=text-align:right><p>foo</div><p>[bar]<div style=text-align:right><p>baz</div><p>extra" queryCommandState("stylewithcss") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<div style=text-align:right><p>foo</div><p>[bar]<div style=text-align:right><p>baz</div><p>extra" queryCommandValue("stylewithcss") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<div style=text-align:right><p>foo</div><p>[bar]<div style=text-align:right><p>baz</div><p>extra" queryCommandIndeterm("stylewithcss") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<div style=text-align:right><p>foo</div><p>[bar]<div style=text-align:right><p>baz</div><p>extra" queryCommandState("stylewithcss") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<div style=text-align:right><p>foo</div><p>[bar]<div style=text-align:right><p>baz</div><p>extra" queryCommandValue("stylewithcss") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<div style=text-align:right><p>foo</div><p>[bar]<div style=text-align:right><p>baz</div><p>extra" queryCommandIndeterm("defaultparagraphseparator") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<div style=text-align:right><p>foo</div><p>[bar]<div style=text-align:right><p>baz</div><p>extra" queryCommandState("defaultparagraphseparator") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<div style=text-align:right><p>foo</div><p>[bar]<div style=text-align:right><p>baz</div><p>extra" queryCommandValue("defaultparagraphseparator") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<div style=text-align:right><p>foo</div><p>[bar]<div style=text-align:right><p>baz</div><p>extra" queryCommandIndeterm("defaultparagraphseparator") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<div style=text-align:right><p>foo</div><p>[bar]<div style=text-align:right><p>baz</div><p>extra" queryCommandState("defaultparagraphseparator") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<div style=text-align:right><p>foo</div><p>[bar]<div style=text-align:right><p>baz</div><p>extra" queryCommandValue("defaultparagraphseparator") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<div style=text-align:right><p>foo</div><p>[bar]<div style=text-align:right><p>baz</div><p>extra" queryCommandIndeterm("justifyright") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<div style=text-align:right><p>foo</div><p>[bar]<div style=text-align:right><p>baz</div><p>extra" queryCommandState("justifyright") before 
+FAIL [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<div style=text-align:right><p>foo</div><p>[bar]<div style=text-align:right><p>baz</div><p>extra" queryCommandValue("justifyright") before assert_equals: Wrong result returned expected "left" but got "false"
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<div style=text-align:right><p>foo</div><p>[bar]<div style=text-align:right><p>baz</div><p>extra" queryCommandIndeterm("justifyright") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<div style=text-align:right><p>foo</div><p>[bar]<div style=text-align:right><p>baz</div><p>extra" queryCommandState("justifyright") after 
+FAIL [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<div style=text-align:right><p>foo</div><p>[bar]<div style=text-align:right><p>baz</div><p>extra" queryCommandValue("justifyright") after assert_equals: Wrong result returned expected "right" but got "true"
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<div style=text-align:right><p>foo</div><p>[bar]<div style=text-align:right><p>baz</div><p>extra": execCommand("stylewithcss", false, "false") return value 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<div style=text-align:right><p>foo</div><p>[bar]<div style=text-align:right><p>baz</div><p>extra": execCommand("defaultparagraphseparator", false, "p") return value 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<div style=text-align:right><p>foo</div><p>[bar]<div style=text-align:right><p>baz</div><p>extra": execCommand("justifyright", false, "") return value 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<div style=text-align:right><p>foo</div><p>[bar]<div style=text-align:right><p>baz</div><p>extra" checks for modifications to non-editable content 
+FAIL [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<div style=text-align:right><p>foo</div><p>[bar]<div style=text-align:right><p>baz</div><p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<div style=\"text-align:right\"><p>foo</p><p>bar</p><p>baz</p></div><p>extra</p>" but got "<div style=\"text-align:right\"><p>foo</p></div><p style=\"text-align:right\">bar</p><div style=\"text-align:right\"><p>baz</p></div><p>extra</p>"
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<div style=text-align:right><p>foo</div><p>[bar]<div style=text-align:right><p>baz</div><p>extra" queryCommandIndeterm("stylewithcss") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<div style=text-align:right><p>foo</div><p>[bar]<div style=text-align:right><p>baz</div><p>extra" queryCommandState("stylewithcss") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<div style=text-align:right><p>foo</div><p>[bar]<div style=text-align:right><p>baz</div><p>extra" queryCommandValue("stylewithcss") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<div style=text-align:right><p>foo</div><p>[bar]<div style=text-align:right><p>baz</div><p>extra" queryCommandIndeterm("stylewithcss") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<div style=text-align:right><p>foo</div><p>[bar]<div style=text-align:right><p>baz</div><p>extra" queryCommandState("stylewithcss") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<div style=text-align:right><p>foo</div><p>[bar]<div style=text-align:right><p>baz</div><p>extra" queryCommandValue("stylewithcss") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<div style=text-align:right><p>foo</div><p>[bar]<div style=text-align:right><p>baz</div><p>extra" queryCommandIndeterm("defaultparagraphseparator") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<div style=text-align:right><p>foo</div><p>[bar]<div style=text-align:right><p>baz</div><p>extra" queryCommandState("defaultparagraphseparator") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<div style=text-align:right><p>foo</div><p>[bar]<div style=text-align:right><p>baz</div><p>extra" queryCommandValue("defaultparagraphseparator") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<div style=text-align:right><p>foo</div><p>[bar]<div style=text-align:right><p>baz</div><p>extra" queryCommandIndeterm("defaultparagraphseparator") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<div style=text-align:right><p>foo</div><p>[bar]<div style=text-align:right><p>baz</div><p>extra" queryCommandState("defaultparagraphseparator") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<div style=text-align:right><p>foo</div><p>[bar]<div style=text-align:right><p>baz</div><p>extra" queryCommandValue("defaultparagraphseparator") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<div style=text-align:right><p>foo</div><p>[bar]<div style=text-align:right><p>baz</div><p>extra" queryCommandIndeterm("justifyright") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<div style=text-align:right><p>foo</div><p>[bar]<div style=text-align:right><p>baz</div><p>extra" queryCommandState("justifyright") before 
+FAIL [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<div style=text-align:right><p>foo</div><p>[bar]<div style=text-align:right><p>baz</div><p>extra" queryCommandValue("justifyright") before assert_equals: Wrong result returned expected "left" but got "false"
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<div style=text-align:right><p>foo</div><p>[bar]<div style=text-align:right><p>baz</div><p>extra" queryCommandIndeterm("justifyright") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<div style=text-align:right><p>foo</div><p>[bar]<div style=text-align:right><p>baz</div><p>extra" queryCommandState("justifyright") after 
+FAIL [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<div style=text-align:right><p>foo</div><p>[bar]<div style=text-align:right><p>baz</div><p>extra" queryCommandValue("justifyright") after assert_equals: Wrong result returned expected "right" but got "true"
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<p align=right>foo<p>[bar]<p>extra": execCommand("stylewithcss", false, "true") return value 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<p align=right>foo<p>[bar]<p>extra": execCommand("defaultparagraphseparator", false, "div") return value 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<p align=right>foo<p>[bar]<p>extra": execCommand("justifyright", false, "") return value 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<p align=right>foo<p>[bar]<p>extra" checks for modifications to non-editable content 
+FAIL [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<p align=right>foo<p>[bar]<p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<p align=\"right\">foo</p><div style=\"text-align:right\"><p>bar</p></div><p>extra</p>" but got "<p align=\"right\">foo</p><p style=\"text-align:right\">bar</p><p>extra</p>"
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<p align=right>foo<p>[bar]<p>extra" queryCommandIndeterm("stylewithcss") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<p align=right>foo<p>[bar]<p>extra" queryCommandState("stylewithcss") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<p align=right>foo<p>[bar]<p>extra" queryCommandValue("stylewithcss") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<p align=right>foo<p>[bar]<p>extra" queryCommandIndeterm("stylewithcss") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<p align=right>foo<p>[bar]<p>extra" queryCommandState("stylewithcss") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<p align=right>foo<p>[bar]<p>extra" queryCommandValue("stylewithcss") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<p align=right>foo<p>[bar]<p>extra" queryCommandIndeterm("defaultparagraphseparator") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<p align=right>foo<p>[bar]<p>extra" queryCommandState("defaultparagraphseparator") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<p align=right>foo<p>[bar]<p>extra" queryCommandValue("defaultparagraphseparator") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<p align=right>foo<p>[bar]<p>extra" queryCommandIndeterm("defaultparagraphseparator") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<p align=right>foo<p>[bar]<p>extra" queryCommandState("defaultparagraphseparator") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<p align=right>foo<p>[bar]<p>extra" queryCommandValue("defaultparagraphseparator") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<p align=right>foo<p>[bar]<p>extra" queryCommandIndeterm("justifyright") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<p align=right>foo<p>[bar]<p>extra" queryCommandState("justifyright") before 
+FAIL [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<p align=right>foo<p>[bar]<p>extra" queryCommandValue("justifyright") before assert_equals: Wrong result returned expected "left" but got "false"
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<p align=right>foo<p>[bar]<p>extra" queryCommandIndeterm("justifyright") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<p align=right>foo<p>[bar]<p>extra" queryCommandState("justifyright") after 
+FAIL [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<p align=right>foo<p>[bar]<p>extra" queryCommandValue("justifyright") after assert_equals: Wrong result returned expected "right" but got "true"
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<p align=right>foo<p>[bar]<p>extra": execCommand("stylewithcss", false, "false") return value 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<p align=right>foo<p>[bar]<p>extra": execCommand("defaultparagraphseparator", false, "div") return value 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<p align=right>foo<p>[bar]<p>extra": execCommand("justifyright", false, "") return value 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<p align=right>foo<p>[bar]<p>extra" checks for modifications to non-editable content 
+FAIL [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<p align=right>foo<p>[bar]<p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<p align=\"right\">foo</p><div style=\"text-align:right\"><p>bar</p></div><p>extra</p>" but got "<p align=\"right\">foo</p><p style=\"text-align:right\">bar</p><p>extra</p>"
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<p align=right>foo<p>[bar]<p>extra" queryCommandIndeterm("stylewithcss") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<p align=right>foo<p>[bar]<p>extra" queryCommandState("stylewithcss") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<p align=right>foo<p>[bar]<p>extra" queryCommandValue("stylewithcss") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<p align=right>foo<p>[bar]<p>extra" queryCommandIndeterm("stylewithcss") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<p align=right>foo<p>[bar]<p>extra" queryCommandState("stylewithcss") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<p align=right>foo<p>[bar]<p>extra" queryCommandValue("stylewithcss") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<p align=right>foo<p>[bar]<p>extra" queryCommandIndeterm("defaultparagraphseparator") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<p align=right>foo<p>[bar]<p>extra" queryCommandState("defaultparagraphseparator") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<p align=right>foo<p>[bar]<p>extra" queryCommandValue("defaultparagraphseparator") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<p align=right>foo<p>[bar]<p>extra" queryCommandIndeterm("defaultparagraphseparator") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<p align=right>foo<p>[bar]<p>extra" queryCommandState("defaultparagraphseparator") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<p align=right>foo<p>[bar]<p>extra" queryCommandValue("defaultparagraphseparator") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<p align=right>foo<p>[bar]<p>extra" queryCommandIndeterm("justifyright") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<p align=right>foo<p>[bar]<p>extra" queryCommandState("justifyright") before 
+FAIL [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<p align=right>foo<p>[bar]<p>extra" queryCommandValue("justifyright") before assert_equals: Wrong result returned expected "left" but got "false"
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<p align=right>foo<p>[bar]<p>extra" queryCommandIndeterm("justifyright") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<p align=right>foo<p>[bar]<p>extra" queryCommandState("justifyright") after 
+FAIL [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<p align=right>foo<p>[bar]<p>extra" queryCommandValue("justifyright") after assert_equals: Wrong result returned expected "right" but got "true"
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<p align=right>foo<p>[bar]<p>extra": execCommand("stylewithcss", false, "true") return value 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<p align=right>foo<p>[bar]<p>extra": execCommand("defaultparagraphseparator", false, "p") return value 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<p align=right>foo<p>[bar]<p>extra": execCommand("justifyright", false, "") return value 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<p align=right>foo<p>[bar]<p>extra" checks for modifications to non-editable content 
+FAIL [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<p align=right>foo<p>[bar]<p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<p align=\"right\">foo</p><div style=\"text-align:right\"><p>bar</p></div><p>extra</p>" but got "<p align=\"right\">foo</p><p style=\"text-align:right\">bar</p><p>extra</p>"
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<p align=right>foo<p>[bar]<p>extra" queryCommandIndeterm("stylewithcss") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<p align=right>foo<p>[bar]<p>extra" queryCommandState("stylewithcss") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<p align=right>foo<p>[bar]<p>extra" queryCommandValue("stylewithcss") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<p align=right>foo<p>[bar]<p>extra" queryCommandIndeterm("stylewithcss") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<p align=right>foo<p>[bar]<p>extra" queryCommandState("stylewithcss") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<p align=right>foo<p>[bar]<p>extra" queryCommandValue("stylewithcss") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<p align=right>foo<p>[bar]<p>extra" queryCommandIndeterm("defaultparagraphseparator") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<p align=right>foo<p>[bar]<p>extra" queryCommandState("defaultparagraphseparator") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<p align=right>foo<p>[bar]<p>extra" queryCommandValue("defaultparagraphseparator") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<p align=right>foo<p>[bar]<p>extra" queryCommandIndeterm("defaultparagraphseparator") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<p align=right>foo<p>[bar]<p>extra" queryCommandState("defaultparagraphseparator") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<p align=right>foo<p>[bar]<p>extra" queryCommandValue("defaultparagraphseparator") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<p align=right>foo<p>[bar]<p>extra" queryCommandIndeterm("justifyright") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<p align=right>foo<p>[bar]<p>extra" queryCommandState("justifyright") before 
+FAIL [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<p align=right>foo<p>[bar]<p>extra" queryCommandValue("justifyright") before assert_equals: Wrong result returned expected "left" but got "false"
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<p align=right>foo<p>[bar]<p>extra" queryCommandIndeterm("justifyright") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<p align=right>foo<p>[bar]<p>extra" queryCommandState("justifyright") after 
+FAIL [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<p align=right>foo<p>[bar]<p>extra" queryCommandValue("justifyright") after assert_equals: Wrong result returned expected "right" but got "true"
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<p align=right>foo<p>[bar]<p>extra": execCommand("stylewithcss", false, "false") return value 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<p align=right>foo<p>[bar]<p>extra": execCommand("defaultparagraphseparator", false, "p") return value 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<p align=right>foo<p>[bar]<p>extra": execCommand("justifyright", false, "") return value 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<p align=right>foo<p>[bar]<p>extra" checks for modifications to non-editable content 
+FAIL [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<p align=right>foo<p>[bar]<p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<p align=\"right\">foo</p><div style=\"text-align:right\"><p>bar</p></div><p>extra</p>" but got "<p align=\"right\">foo</p><p style=\"text-align:right\">bar</p><p>extra</p>"
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<p align=right>foo<p>[bar]<p>extra" queryCommandIndeterm("stylewithcss") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<p align=right>foo<p>[bar]<p>extra" queryCommandState("stylewithcss") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<p align=right>foo<p>[bar]<p>extra" queryCommandValue("stylewithcss") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<p align=right>foo<p>[bar]<p>extra" queryCommandIndeterm("stylewithcss") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<p align=right>foo<p>[bar]<p>extra" queryCommandState("stylewithcss") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<p align=right>foo<p>[bar]<p>extra" queryCommandValue("stylewithcss") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<p align=right>foo<p>[bar]<p>extra" queryCommandIndeterm("defaultparagraphseparator") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<p align=right>foo<p>[bar]<p>extra" queryCommandState("defaultparagraphseparator") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<p align=right>foo<p>[bar]<p>extra" queryCommandValue("defaultparagraphseparator") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<p align=right>foo<p>[bar]<p>extra" queryCommandIndeterm("defaultparagraphseparator") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<p align=right>foo<p>[bar]<p>extra" queryCommandState("defaultparagraphseparator") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<p align=right>foo<p>[bar]<p>extra" queryCommandValue("defaultparagraphseparator") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<p align=right>foo<p>[bar]<p>extra" queryCommandIndeterm("justifyright") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<p align=right>foo<p>[bar]<p>extra" queryCommandState("justifyright") before 
+FAIL [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<p align=right>foo<p>[bar]<p>extra" queryCommandValue("justifyright") before assert_equals: Wrong result returned expected "left" but got "false"
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<p align=right>foo<p>[bar]<p>extra" queryCommandIndeterm("justifyright") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<p align=right>foo<p>[bar]<p>extra" queryCommandState("justifyright") after 
+FAIL [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<p align=right>foo<p>[bar]<p>extra" queryCommandValue("justifyright") after assert_equals: Wrong result returned expected "right" but got "true"
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<p>[foo]<p align=right>bar<p>extra": execCommand("stylewithcss", false, "true") return value 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<p>[foo]<p align=right>bar<p>extra": execCommand("defaultparagraphseparator", false, "div") return value 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<p>[foo]<p align=right>bar<p>extra": execCommand("justifyright", false, "") return value 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<p>[foo]<p align=right>bar<p>extra" checks for modifications to non-editable content 
+FAIL [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<p>[foo]<p align=right>bar<p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<div style=\"text-align:right\"><p>foo</p></div><p align=\"right\">bar</p><p>extra</p>" but got "<p style=\"text-align:right\">foo</p><p align=\"right\">bar</p><p>extra</p>"
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<p>[foo]<p align=right>bar<p>extra" queryCommandIndeterm("stylewithcss") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<p>[foo]<p align=right>bar<p>extra" queryCommandState("stylewithcss") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<p>[foo]<p align=right>bar<p>extra" queryCommandValue("stylewithcss") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<p>[foo]<p align=right>bar<p>extra" queryCommandIndeterm("stylewithcss") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<p>[foo]<p align=right>bar<p>extra" queryCommandState("stylewithcss") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<p>[foo]<p align=right>bar<p>extra" queryCommandValue("stylewithcss") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<p>[foo]<p align=right>bar<p>extra" queryCommandIndeterm("defaultparagraphseparator") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<p>[foo]<p align=right>bar<p>extra" queryCommandState("defaultparagraphseparator") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<p>[foo]<p align=right>bar<p>extra" queryCommandValue("defaultparagraphseparator") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<p>[foo]<p align=right>bar<p>extra" queryCommandIndeterm("defaultparagraphseparator") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<p>[foo]<p align=right>bar<p>extra" queryCommandState("defaultparagraphseparator") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<p>[foo]<p align=right>bar<p>extra" queryCommandValue("defaultparagraphseparator") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<p>[foo]<p align=right>bar<p>extra" queryCommandIndeterm("justifyright") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<p>[foo]<p align=right>bar<p>extra" queryCommandState("justifyright") before 
+FAIL [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<p>[foo]<p align=right>bar<p>extra" queryCommandValue("justifyright") before assert_equals: Wrong result returned expected "left" but got "false"
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<p>[foo]<p align=right>bar<p>extra" queryCommandIndeterm("justifyright") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<p>[foo]<p align=right>bar<p>extra" queryCommandState("justifyright") after 
+FAIL [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<p>[foo]<p align=right>bar<p>extra" queryCommandValue("justifyright") after assert_equals: Wrong result returned expected "right" but got "true"
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<p>[foo]<p align=right>bar<p>extra": execCommand("stylewithcss", false, "false") return value 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<p>[foo]<p align=right>bar<p>extra": execCommand("defaultparagraphseparator", false, "div") return value 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<p>[foo]<p align=right>bar<p>extra": execCommand("justifyright", false, "") return value 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<p>[foo]<p align=right>bar<p>extra" checks for modifications to non-editable content 
+FAIL [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<p>[foo]<p align=right>bar<p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<div style=\"text-align:right\"><p>foo</p></div><p align=\"right\">bar</p><p>extra</p>" but got "<p style=\"text-align:right\">foo</p><p align=\"right\">bar</p><p>extra</p>"
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<p>[foo]<p align=right>bar<p>extra" queryCommandIndeterm("stylewithcss") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<p>[foo]<p align=right>bar<p>extra" queryCommandState("stylewithcss") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<p>[foo]<p align=right>bar<p>extra" queryCommandValue("stylewithcss") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<p>[foo]<p align=right>bar<p>extra" queryCommandIndeterm("stylewithcss") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<p>[foo]<p align=right>bar<p>extra" queryCommandState("stylewithcss") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<p>[foo]<p align=right>bar<p>extra" queryCommandValue("stylewithcss") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<p>[foo]<p align=right>bar<p>extra" queryCommandIndeterm("defaultparagraphseparator") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<p>[foo]<p align=right>bar<p>extra" queryCommandState("defaultparagraphseparator") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<p>[foo]<p align=right>bar<p>extra" queryCommandValue("defaultparagraphseparator") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<p>[foo]<p align=right>bar<p>extra" queryCommandIndeterm("defaultparagraphseparator") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<p>[foo]<p align=right>bar<p>extra" queryCommandState("defaultparagraphseparator") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<p>[foo]<p align=right>bar<p>extra" queryCommandValue("defaultparagraphseparator") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<p>[foo]<p align=right>bar<p>extra" queryCommandIndeterm("justifyright") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<p>[foo]<p align=right>bar<p>extra" queryCommandState("justifyright") before 
+FAIL [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<p>[foo]<p align=right>bar<p>extra" queryCommandValue("justifyright") before assert_equals: Wrong result returned expected "left" but got "false"
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<p>[foo]<p align=right>bar<p>extra" queryCommandIndeterm("justifyright") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<p>[foo]<p align=right>bar<p>extra" queryCommandState("justifyright") after 
+FAIL [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<p>[foo]<p align=right>bar<p>extra" queryCommandValue("justifyright") after assert_equals: Wrong result returned expected "right" but got "true"
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<p>[foo]<p align=right>bar<p>extra": execCommand("stylewithcss", false, "true") return value 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<p>[foo]<p align=right>bar<p>extra": execCommand("defaultparagraphseparator", false, "p") return value 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<p>[foo]<p align=right>bar<p>extra": execCommand("justifyright", false, "") return value 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<p>[foo]<p align=right>bar<p>extra" checks for modifications to non-editable content 
+FAIL [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<p>[foo]<p align=right>bar<p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<div style=\"text-align:right\"><p>foo</p></div><p align=\"right\">bar</p><p>extra</p>" but got "<p style=\"text-align:right\">foo</p><p align=\"right\">bar</p><p>extra</p>"
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<p>[foo]<p align=right>bar<p>extra" queryCommandIndeterm("stylewithcss") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<p>[foo]<p align=right>bar<p>extra" queryCommandState("stylewithcss") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<p>[foo]<p align=right>bar<p>extra" queryCommandValue("stylewithcss") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<p>[foo]<p align=right>bar<p>extra" queryCommandIndeterm("stylewithcss") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<p>[foo]<p align=right>bar<p>extra" queryCommandState("stylewithcss") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<p>[foo]<p align=right>bar<p>extra" queryCommandValue("stylewithcss") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<p>[foo]<p align=right>bar<p>extra" queryCommandIndeterm("defaultparagraphseparator") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<p>[foo]<p align=right>bar<p>extra" queryCommandState("defaultparagraphseparator") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<p>[foo]<p align=right>bar<p>extra" queryCommandValue("defaultparagraphseparator") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<p>[foo]<p align=right>bar<p>extra" queryCommandIndeterm("defaultparagraphseparator") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<p>[foo]<p align=right>bar<p>extra" queryCommandState("defaultparagraphseparator") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<p>[foo]<p align=right>bar<p>extra" queryCommandValue("defaultparagraphseparator") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<p>[foo]<p align=right>bar<p>extra" queryCommandIndeterm("justifyright") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<p>[foo]<p align=right>bar<p>extra" queryCommandState("justifyright") before 
+FAIL [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<p>[foo]<p align=right>bar<p>extra" queryCommandValue("justifyright") before assert_equals: Wrong result returned expected "left" but got "false"
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<p>[foo]<p align=right>bar<p>extra" queryCommandIndeterm("justifyright") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<p>[foo]<p align=right>bar<p>extra" queryCommandState("justifyright") after 
+FAIL [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<p>[foo]<p align=right>bar<p>extra" queryCommandValue("justifyright") after assert_equals: Wrong result returned expected "right" but got "true"
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<p>[foo]<p align=right>bar<p>extra": execCommand("stylewithcss", false, "false") return value 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<p>[foo]<p align=right>bar<p>extra": execCommand("defaultparagraphseparator", false, "p") return value 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<p>[foo]<p align=right>bar<p>extra": execCommand("justifyright", false, "") return value 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<p>[foo]<p align=right>bar<p>extra" checks for modifications to non-editable content 
+FAIL [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<p>[foo]<p align=right>bar<p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<div style=\"text-align:right\"><p>foo</p></div><p align=\"right\">bar</p><p>extra</p>" but got "<p style=\"text-align:right\">foo</p><p align=\"right\">bar</p><p>extra</p>"
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<p>[foo]<p align=right>bar<p>extra" queryCommandIndeterm("stylewithcss") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<p>[foo]<p align=right>bar<p>extra" queryCommandState("stylewithcss") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<p>[foo]<p align=right>bar<p>extra" queryCommandValue("stylewithcss") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<p>[foo]<p align=right>bar<p>extra" queryCommandIndeterm("stylewithcss") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<p>[foo]<p align=right>bar<p>extra" queryCommandState("stylewithcss") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<p>[foo]<p align=right>bar<p>extra" queryCommandValue("stylewithcss") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<p>[foo]<p align=right>bar<p>extra" queryCommandIndeterm("defaultparagraphseparator") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<p>[foo]<p align=right>bar<p>extra" queryCommandState("defaultparagraphseparator") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<p>[foo]<p align=right>bar<p>extra" queryCommandValue("defaultparagraphseparator") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<p>[foo]<p align=right>bar<p>extra" queryCommandIndeterm("defaultparagraphseparator") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<p>[foo]<p align=right>bar<p>extra" queryCommandState("defaultparagraphseparator") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<p>[foo]<p align=right>bar<p>extra" queryCommandValue("defaultparagraphseparator") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<p>[foo]<p align=right>bar<p>extra" queryCommandIndeterm("justifyright") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<p>[foo]<p align=right>bar<p>extra" queryCommandState("justifyright") before 
+FAIL [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<p>[foo]<p align=right>bar<p>extra" queryCommandValue("justifyright") before assert_equals: Wrong result returned expected "left" but got "false"
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<p>[foo]<p align=right>bar<p>extra" queryCommandIndeterm("justifyright") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<p>[foo]<p align=right>bar<p>extra" queryCommandState("justifyright") after 
+FAIL [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<p>[foo]<p align=right>bar<p>extra" queryCommandValue("justifyright") after assert_equals: Wrong result returned expected "right" but got "true"
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<p align=right>foo<p>[bar]<p align=right>baz<p>extra": execCommand("stylewithcss", false, "true") return value 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<p align=right>foo<p>[bar]<p align=right>baz<p>extra": execCommand("defaultparagraphseparator", false, "div") return value 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<p align=right>foo<p>[bar]<p align=right>baz<p>extra": execCommand("justifyright", false, "") return value 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<p align=right>foo<p>[bar]<p align=right>baz<p>extra" checks for modifications to non-editable content 
+FAIL [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<p align=right>foo<p>[bar]<p align=right>baz<p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<p align=\"right\">foo</p><div style=\"text-align:right\"><p>bar</p></div><p align=\"right\">baz</p><p>extra</p>" but got "<p align=\"right\">foo</p><p style=\"text-align:right\">bar</p><p align=\"right\">baz</p><p>extra</p>"
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<p align=right>foo<p>[bar]<p align=right>baz<p>extra" queryCommandIndeterm("stylewithcss") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<p align=right>foo<p>[bar]<p align=right>baz<p>extra" queryCommandState("stylewithcss") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<p align=right>foo<p>[bar]<p align=right>baz<p>extra" queryCommandValue("stylewithcss") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<p align=right>foo<p>[bar]<p align=right>baz<p>extra" queryCommandIndeterm("stylewithcss") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<p align=right>foo<p>[bar]<p align=right>baz<p>extra" queryCommandState("stylewithcss") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<p align=right>foo<p>[bar]<p align=right>baz<p>extra" queryCommandValue("stylewithcss") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<p align=right>foo<p>[bar]<p align=right>baz<p>extra" queryCommandIndeterm("defaultparagraphseparator") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<p align=right>foo<p>[bar]<p align=right>baz<p>extra" queryCommandState("defaultparagraphseparator") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<p align=right>foo<p>[bar]<p align=right>baz<p>extra" queryCommandValue("defaultparagraphseparator") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<p align=right>foo<p>[bar]<p align=right>baz<p>extra" queryCommandIndeterm("defaultparagraphseparator") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<p align=right>foo<p>[bar]<p align=right>baz<p>extra" queryCommandState("defaultparagraphseparator") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<p align=right>foo<p>[bar]<p align=right>baz<p>extra" queryCommandValue("defaultparagraphseparator") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<p align=right>foo<p>[bar]<p align=right>baz<p>extra" queryCommandIndeterm("justifyright") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<p align=right>foo<p>[bar]<p align=right>baz<p>extra" queryCommandState("justifyright") before 
+FAIL [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<p align=right>foo<p>[bar]<p align=right>baz<p>extra" queryCommandValue("justifyright") before assert_equals: Wrong result returned expected "left" but got "false"
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<p align=right>foo<p>[bar]<p align=right>baz<p>extra" queryCommandIndeterm("justifyright") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<p align=right>foo<p>[bar]<p align=right>baz<p>extra" queryCommandState("justifyright") after 
+FAIL [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<p align=right>foo<p>[bar]<p align=right>baz<p>extra" queryCommandValue("justifyright") after assert_equals: Wrong result returned expected "right" but got "true"
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<p align=right>foo<p>[bar]<p align=right>baz<p>extra": execCommand("stylewithcss", false, "false") return value 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<p align=right>foo<p>[bar]<p align=right>baz<p>extra": execCommand("defaultparagraphseparator", false, "div") return value 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<p align=right>foo<p>[bar]<p align=right>baz<p>extra": execCommand("justifyright", false, "") return value 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<p align=right>foo<p>[bar]<p align=right>baz<p>extra" checks for modifications to non-editable content 
+FAIL [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<p align=right>foo<p>[bar]<p align=right>baz<p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<p align=\"right\">foo</p><div style=\"text-align:right\"><p>bar</p></div><p align=\"right\">baz</p><p>extra</p>" but got "<p align=\"right\">foo</p><p style=\"text-align:right\">bar</p><p align=\"right\">baz</p><p>extra</p>"
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<p align=right>foo<p>[bar]<p align=right>baz<p>extra" queryCommandIndeterm("stylewithcss") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<p align=right>foo<p>[bar]<p align=right>baz<p>extra" queryCommandState("stylewithcss") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<p align=right>foo<p>[bar]<p align=right>baz<p>extra" queryCommandValue("stylewithcss") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<p align=right>foo<p>[bar]<p align=right>baz<p>extra" queryCommandIndeterm("stylewithcss") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<p align=right>foo<p>[bar]<p align=right>baz<p>extra" queryCommandState("stylewithcss") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<p align=right>foo<p>[bar]<p align=right>baz<p>extra" queryCommandValue("stylewithcss") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<p align=right>foo<p>[bar]<p align=right>baz<p>extra" queryCommandIndeterm("defaultparagraphseparator") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<p align=right>foo<p>[bar]<p align=right>baz<p>extra" queryCommandState("defaultparagraphseparator") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<p align=right>foo<p>[bar]<p align=right>baz<p>extra" queryCommandValue("defaultparagraphseparator") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<p align=right>foo<p>[bar]<p align=right>baz<p>extra" queryCommandIndeterm("defaultparagraphseparator") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<p align=right>foo<p>[bar]<p align=right>baz<p>extra" queryCommandState("defaultparagraphseparator") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<p align=right>foo<p>[bar]<p align=right>baz<p>extra" queryCommandValue("defaultparagraphseparator") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<p align=right>foo<p>[bar]<p align=right>baz<p>extra" queryCommandIndeterm("justifyright") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<p align=right>foo<p>[bar]<p align=right>baz<p>extra" queryCommandState("justifyright") before 
+FAIL [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<p align=right>foo<p>[bar]<p align=right>baz<p>extra" queryCommandValue("justifyright") before assert_equals: Wrong result returned expected "left" but got "false"
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<p align=right>foo<p>[bar]<p align=right>baz<p>extra" queryCommandIndeterm("justifyright") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<p align=right>foo<p>[bar]<p align=right>baz<p>extra" queryCommandState("justifyright") after 
+FAIL [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<p align=right>foo<p>[bar]<p align=right>baz<p>extra" queryCommandValue("justifyright") after assert_equals: Wrong result returned expected "right" but got "true"
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<p align=right>foo<p>[bar]<p align=right>baz<p>extra": execCommand("stylewithcss", false, "true") return value 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<p align=right>foo<p>[bar]<p align=right>baz<p>extra": execCommand("defaultparagraphseparator", false, "p") return value 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<p align=right>foo<p>[bar]<p align=right>baz<p>extra": execCommand("justifyright", false, "") return value 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<p align=right>foo<p>[bar]<p align=right>baz<p>extra" checks for modifications to non-editable content 
+FAIL [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<p align=right>foo<p>[bar]<p align=right>baz<p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<p align=\"right\">foo</p><div style=\"text-align:right\"><p>bar</p></div><p align=\"right\">baz</p><p>extra</p>" but got "<p align=\"right\">foo</p><p style=\"text-align:right\">bar</p><p align=\"right\">baz</p><p>extra</p>"
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<p align=right>foo<p>[bar]<p align=right>baz<p>extra" queryCommandIndeterm("stylewithcss") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<p align=right>foo<p>[bar]<p align=right>baz<p>extra" queryCommandState("stylewithcss") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<p align=right>foo<p>[bar]<p align=right>baz<p>extra" queryCommandValue("stylewithcss") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<p align=right>foo<p>[bar]<p align=right>baz<p>extra" queryCommandIndeterm("stylewithcss") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<p align=right>foo<p>[bar]<p align=right>baz<p>extra" queryCommandState("stylewithcss") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<p align=right>foo<p>[bar]<p align=right>baz<p>extra" queryCommandValue("stylewithcss") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<p align=right>foo<p>[bar]<p align=right>baz<p>extra" queryCommandIndeterm("defaultparagraphseparator") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<p align=right>foo<p>[bar]<p align=right>baz<p>extra" queryCommandState("defaultparagraphseparator") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<p align=right>foo<p>[bar]<p align=right>baz<p>extra" queryCommandValue("defaultparagraphseparator") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<p align=right>foo<p>[bar]<p align=right>baz<p>extra" queryCommandIndeterm("defaultparagraphseparator") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<p align=right>foo<p>[bar]<p align=right>baz<p>extra" queryCommandState("defaultparagraphseparator") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<p align=right>foo<p>[bar]<p align=right>baz<p>extra" queryCommandValue("defaultparagraphseparator") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<p align=right>foo<p>[bar]<p align=right>baz<p>extra" queryCommandIndeterm("justifyright") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<p align=right>foo<p>[bar]<p align=right>baz<p>extra" queryCommandState("justifyright") before 
+FAIL [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<p align=right>foo<p>[bar]<p align=right>baz<p>extra" queryCommandValue("justifyright") before assert_equals: Wrong result returned expected "left" but got "false"
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<p align=right>foo<p>[bar]<p align=right>baz<p>extra" queryCommandIndeterm("justifyright") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<p align=right>foo<p>[bar]<p align=right>baz<p>extra" queryCommandState("justifyright") after 
+FAIL [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<p align=right>foo<p>[bar]<p align=right>baz<p>extra" queryCommandValue("justifyright") after assert_equals: Wrong result returned expected "right" but got "true"
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<p align=right>foo<p>[bar]<p align=right>baz<p>extra": execCommand("stylewithcss", false, "false") return value 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<p align=right>foo<p>[bar]<p align=right>baz<p>extra": execCommand("defaultparagraphseparator", false, "p") return value 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<p align=right>foo<p>[bar]<p align=right>baz<p>extra": execCommand("justifyright", false, "") return value 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<p align=right>foo<p>[bar]<p align=right>baz<p>extra" checks for modifications to non-editable content 
+FAIL [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<p align=right>foo<p>[bar]<p align=right>baz<p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<p align=\"right\">foo</p><div style=\"text-align:right\"><p>bar</p></div><p align=\"right\">baz</p><p>extra</p>" but got "<p align=\"right\">foo</p><p style=\"text-align:right\">bar</p><p align=\"right\">baz</p><p>extra</p>"
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<p align=right>foo<p>[bar]<p align=right>baz<p>extra" queryCommandIndeterm("stylewithcss") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<p align=right>foo<p>[bar]<p align=right>baz<p>extra" queryCommandState("stylewithcss") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<p align=right>foo<p>[bar]<p align=right>baz<p>extra" queryCommandValue("stylewithcss") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<p align=right>foo<p>[bar]<p align=right>baz<p>extra" queryCommandIndeterm("stylewithcss") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<p align=right>foo<p>[bar]<p align=right>baz<p>extra" queryCommandState("stylewithcss") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<p align=right>foo<p>[bar]<p align=right>baz<p>extra" queryCommandValue("stylewithcss") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<p align=right>foo<p>[bar]<p align=right>baz<p>extra" queryCommandIndeterm("defaultparagraphseparator") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<p align=right>foo<p>[bar]<p align=right>baz<p>extra" queryCommandState("defaultparagraphseparator") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<p align=right>foo<p>[bar]<p align=right>baz<p>extra" queryCommandValue("defaultparagraphseparator") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<p align=right>foo<p>[bar]<p align=right>baz<p>extra" queryCommandIndeterm("defaultparagraphseparator") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<p align=right>foo<p>[bar]<p align=right>baz<p>extra" queryCommandState("defaultparagraphseparator") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<p align=right>foo<p>[bar]<p align=right>baz<p>extra" queryCommandValue("defaultparagraphseparator") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<p align=right>foo<p>[bar]<p align=right>baz<p>extra" queryCommandIndeterm("justifyright") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<p align=right>foo<p>[bar]<p align=right>baz<p>extra" queryCommandState("justifyright") before 
+FAIL [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<p align=right>foo<p>[bar]<p align=right>baz<p>extra" queryCommandValue("justifyright") before assert_equals: Wrong result returned expected "left" but got "false"
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<p align=right>foo<p>[bar]<p align=right>baz<p>extra" queryCommandIndeterm("justifyright") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<p align=right>foo<p>[bar]<p align=right>baz<p>extra" queryCommandState("justifyright") after 
+FAIL [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<p align=right>foo<p>[bar]<p align=right>baz<p>extra" queryCommandValue("justifyright") after assert_equals: Wrong result returned expected "right" but got "true"
+PASS [["stylewithcss","true"],["justifyright",""]] "<div align=right>[foo</div>bar]<p>extra": execCommand("stylewithcss", false, "true") return value 
+PASS [["stylewithcss","true"],["justifyright",""]] "<div align=right>[foo</div>bar]<p>extra": execCommand("justifyright", false, "") return value 
+PASS [["stylewithcss","true"],["justifyright",""]] "<div align=right>[foo</div>bar]<p>extra" checks for modifications to non-editable content 
+FAIL [["stylewithcss","true"],["justifyright",""]] "<div align=right>[foo</div>bar]<p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<div style=\"text-align:right\">foo<br>bar</div><p>extra</p>" but got "<div align=\"right\">foo</div><p style=\"text-align:right\">bar</p><p>extra</p>"
+PASS [["stylewithcss","true"],["justifyright",""]] "<div align=right>[foo</div>bar]<p>extra" queryCommandIndeterm("stylewithcss") before 
+PASS [["stylewithcss","true"],["justifyright",""]] "<div align=right>[foo</div>bar]<p>extra" queryCommandState("stylewithcss") before 
+PASS [["stylewithcss","true"],["justifyright",""]] "<div align=right>[foo</div>bar]<p>extra" queryCommandValue("stylewithcss") before 
+PASS [["stylewithcss","true"],["justifyright",""]] "<div align=right>[foo</div>bar]<p>extra" queryCommandIndeterm("stylewithcss") after 
+PASS [["stylewithcss","true"],["justifyright",""]] "<div align=right>[foo</div>bar]<p>extra" queryCommandState("stylewithcss") after 
+PASS [["stylewithcss","true"],["justifyright",""]] "<div align=right>[foo</div>bar]<p>extra" queryCommandValue("stylewithcss") after 
+FAIL [["stylewithcss","true"],["justifyright",""]] "<div align=right>[foo</div>bar]<p>extra" queryCommandIndeterm("justifyright") before assert_equals: Wrong result returned expected true but got false
+FAIL [["stylewithcss","true"],["justifyright",""]] "<div align=right>[foo</div>bar]<p>extra" queryCommandState("justifyright") before assert_equals: Wrong result returned expected false but got true
+FAIL [["stylewithcss","true"],["justifyright",""]] "<div align=right>[foo</div>bar]<p>extra" queryCommandValue("justifyright") before assert_equals: Wrong result returned expected "right" but got "true"
+PASS [["stylewithcss","true"],["justifyright",""]] "<div align=right>[foo</div>bar]<p>extra" queryCommandIndeterm("justifyright") after 
+PASS [["stylewithcss","true"],["justifyright",""]] "<div align=right>[foo</div>bar]<p>extra" queryCommandState("justifyright") after 
+FAIL [["stylewithcss","true"],["justifyright",""]] "<div align=right>[foo</div>bar]<p>extra" queryCommandValue("justifyright") after assert_equals: Wrong result returned expected "right" but got "true"
+PASS [["stylewithcss","false"],["justifyright",""]] "<div align=right>[foo</div>bar]<p>extra": execCommand("stylewithcss", false, "false") return value 
+PASS [["stylewithcss","false"],["justifyright",""]] "<div align=right>[foo</div>bar]<p>extra": execCommand("justifyright", false, "") return value 
+PASS [["stylewithcss","false"],["justifyright",""]] "<div align=right>[foo</div>bar]<p>extra" checks for modifications to non-editable content 
+FAIL [["stylewithcss","false"],["justifyright",""]] "<div align=right>[foo</div>bar]<p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<div style=\"text-align:right\">foo<br>bar</div><p>extra</p>" but got "<div align=\"right\">foo</div><p style=\"text-align:right\">bar</p><p>extra</p>"
+PASS [["stylewithcss","false"],["justifyright",""]] "<div align=right>[foo</div>bar]<p>extra" queryCommandIndeterm("stylewithcss") before 
+PASS [["stylewithcss","false"],["justifyright",""]] "<div align=right>[foo</div>bar]<p>extra" queryCommandState("stylewithcss") before 
+PASS [["stylewithcss","false"],["justifyright",""]] "<div align=right>[foo</div>bar]<p>extra" queryCommandValue("stylewithcss") before 
+PASS [["stylewithcss","false"],["justifyright",""]] "<div align=right>[foo</div>bar]<p>extra" queryCommandIndeterm("stylewithcss") after 
+PASS [["stylewithcss","false"],["justifyright",""]] "<div align=right>[foo</div>bar]<p>extra" queryCommandState("stylewithcss") after 
+PASS [["stylewithcss","false"],["justifyright",""]] "<div align=right>[foo</div>bar]<p>extra" queryCommandValue("stylewithcss") after 
+FAIL [["stylewithcss","false"],["justifyright",""]] "<div align=right>[foo</div>bar]<p>extra" queryCommandIndeterm("justifyright") before assert_equals: Wrong result returned expected true but got false
+FAIL [["stylewithcss","false"],["justifyright",""]] "<div align=right>[foo</div>bar]<p>extra" queryCommandState("justifyright") before assert_equals: Wrong result returned expected false but got true
+FAIL [["stylewithcss","false"],["justifyright",""]] "<div align=right>[foo</div>bar]<p>extra" queryCommandValue("justifyright") before assert_equals: Wrong result returned expected "right" but got "true"
+PASS [["stylewithcss","false"],["justifyright",""]] "<div align=right>[foo</div>bar]<p>extra" queryCommandIndeterm("justifyright") after 
+PASS [["stylewithcss","false"],["justifyright",""]] "<div align=right>[foo</div>bar]<p>extra" queryCommandState("justifyright") after 
+FAIL [["stylewithcss","false"],["justifyright",""]] "<div align=right>[foo</div>bar]<p>extra" queryCommandValue("justifyright") after assert_equals: Wrong result returned expected "right" but got "true"
+PASS [["stylewithcss","true"],["justifyright",""]] "<div align=right>fo[o</div>b]ar<p>extra": execCommand("stylewithcss", false, "true") return value 
+PASS [["stylewithcss","true"],["justifyright",""]] "<div align=right>fo[o</div>b]ar<p>extra": execCommand("justifyright", false, "") return value 
+PASS [["stylewithcss","true"],["justifyright",""]] "<div align=right>fo[o</div>b]ar<p>extra" checks for modifications to non-editable content 
+FAIL [["stylewithcss","true"],["justifyright",""]] "<div align=right>fo[o</div>b]ar<p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<div style=\"text-align:right\">foo<br>bar</div><p>extra</p>" but got "<div align=\"right\">foo</div><p style=\"text-align:right\">bar</p><p>extra</p>"
+PASS [["stylewithcss","true"],["justifyright",""]] "<div align=right>fo[o</div>b]ar<p>extra" queryCommandIndeterm("stylewithcss") before 
+PASS [["stylewithcss","true"],["justifyright",""]] "<div align=right>fo[o</div>b]ar<p>extra" queryCommandState("stylewithcss") before 
+PASS [["stylewithcss","true"],["justifyright",""]] "<div align=right>fo[o</div>b]ar<p>extra" queryCommandValue("stylewithcss") before 
+PASS [["stylewithcss","true"],["justifyright",""]] "<div align=right>fo[o</div>b]ar<p>extra" queryCommandIndeterm("stylewithcss") after 
+PASS [["stylewithcss","true"],["justifyright",""]] "<div align=right>fo[o</div>b]ar<p>extra" queryCommandState("stylewithcss") after 
+PASS [["stylewithcss","true"],["justifyright",""]] "<div align=right>fo[o</div>b]ar<p>extra" queryCommandValue("stylewithcss") after 
+FAIL [["stylewithcss","true"],["justifyright",""]] "<div align=right>fo[o</div>b]ar<p>extra" queryCommandIndeterm("justifyright") before assert_equals: Wrong result returned expected true but got false
+FAIL [["stylewithcss","true"],["justifyright",""]] "<div align=right>fo[o</div>b]ar<p>extra" queryCommandState("justifyright") before assert_equals: Wrong result returned expected false but got true
+FAIL [["stylewithcss","true"],["justifyright",""]] "<div align=right>fo[o</div>b]ar<p>extra" queryCommandValue("justifyright") before assert_equals: Wrong result returned expected "right" but got "true"
+PASS [["stylewithcss","true"],["justifyright",""]] "<div align=right>fo[o</div>b]ar<p>extra" queryCommandIndeterm("justifyright") after 
+PASS [["stylewithcss","true"],["justifyright",""]] "<div align=right>fo[o</div>b]ar<p>extra" queryCommandState("justifyright") after 
+FAIL [["stylewithcss","true"],["justifyright",""]] "<div align=right>fo[o</div>b]ar<p>extra" queryCommandValue("justifyright") after assert_equals: Wrong result returned expected "right" but got "true"
+PASS [["stylewithcss","false"],["justifyright",""]] "<div align=right>fo[o</div>b]ar<p>extra": execCommand("stylewithcss", false, "false") return value 
+PASS [["stylewithcss","false"],["justifyright",""]] "<div align=right>fo[o</div>b]ar<p>extra": execCommand("justifyright", false, "") return value 
+PASS [["stylewithcss","false"],["justifyright",""]] "<div align=right>fo[o</div>b]ar<p>extra" checks for modifications to non-editable content 
+FAIL [["stylewithcss","false"],["justifyright",""]] "<div align=right>fo[o</div>b]ar<p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<div style=\"text-align:right\">foo<br>bar</div><p>extra</p>" but got "<div align=\"right\">foo</div><p style=\"text-align:right\">bar</p><p>extra</p>"
+PASS [["stylewithcss","false"],["justifyright",""]] "<div align=right>fo[o</div>b]ar<p>extra" queryCommandIndeterm("stylewithcss") before 
+PASS [["stylewithcss","false"],["justifyright",""]] "<div align=right>fo[o</div>b]ar<p>extra" queryCommandState("stylewithcss") before 
+PASS [["stylewithcss","false"],["justifyright",""]] "<div align=right>fo[o</div>b]ar<p>extra" queryCommandValue("stylewithcss") before 
+PASS [["stylewithcss","false"],["justifyright",""]] "<div align=right>fo[o</div>b]ar<p>extra" queryCommandIndeterm("stylewithcss") after 
+PASS [["stylewithcss","false"],["justifyright",""]] "<div align=right>fo[o</div>b]ar<p>extra" queryCommandState("stylewithcss") after 
+PASS [["stylewithcss","false"],["justifyright",""]] "<div align=right>fo[o</div>b]ar<p>extra" queryCommandValue("stylewithcss") after 
+FAIL [["stylewithcss","false"],["justifyright",""]] "<div align=right>fo[o</div>b]ar<p>extra" queryCommandIndeterm("justifyright") before assert_equals: Wrong result returned expected true but got false
+FAIL [["stylewithcss","false"],["justifyright",""]] "<div align=right>fo[o</div>b]ar<p>extra" queryCommandState("justifyright") before assert_equals: Wrong result returned expected false but got true
+FAIL [["stylewithcss","false"],["justifyright",""]] "<div align=right>fo[o</div>b]ar<p>extra" queryCommandValue("justifyright") before assert_equals: Wrong result returned expected "right" but got "true"
+PASS [["stylewithcss","false"],["justifyright",""]] "<div align=right>fo[o</div>b]ar<p>extra" queryCommandIndeterm("justifyright") after 
+PASS [["stylewithcss","false"],["justifyright",""]] "<div align=right>fo[o</div>b]ar<p>extra" queryCommandState("justifyright") after 
+FAIL [["stylewithcss","false"],["justifyright",""]] "<div align=right>fo[o</div>b]ar<p>extra" queryCommandValue("justifyright") after assert_equals: Wrong result returned expected "right" but got "true"
+PASS [["justifyright",""]] "<div style=text-align:right>[foo</div>bar]<p>extra": execCommand("justifyright", false, "") return value 
+PASS [["justifyright",""]] "<div style=text-align:right>[foo</div>bar]<p>extra" checks for modifications to non-editable content 
+FAIL [["justifyright",""]] "<div style=text-align:right>[foo</div>bar]<p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<div style=\"text-align:right\">foo<br>bar</div><p>extra</p>" but got "<div style=\"text-align:right\">foo</div><p style=\"text-align:right\">bar</p><p>extra</p>"
+FAIL [["justifyright",""]] "<div style=text-align:right>[foo</div>bar]<p>extra" queryCommandIndeterm("justifyright") before assert_equals: Wrong result returned expected true but got false
+FAIL [["justifyright",""]] "<div style=text-align:right>[foo</div>bar]<p>extra" queryCommandState("justifyright") before assert_equals: Wrong result returned expected false but got true
+FAIL [["justifyright",""]] "<div style=text-align:right>[foo</div>bar]<p>extra" queryCommandValue("justifyright") before assert_equals: Wrong result returned expected "right" but got "true"
+PASS [["justifyright",""]] "<div style=text-align:right>[foo</div>bar]<p>extra" queryCommandIndeterm("justifyright") after 
+PASS [["justifyright",""]] "<div style=text-align:right>[foo</div>bar]<p>extra" queryCommandState("justifyright") after 
+FAIL [["justifyright",""]] "<div style=text-align:right>[foo</div>bar]<p>extra" queryCommandValue("justifyright") after assert_equals: Wrong result returned expected "right" but got "true"
+PASS [["justifyright",""]] "<div style=text-align:right>fo[o</div>b]ar<p>extra": execCommand("justifyright", false, "") return value 
+PASS [["justifyright",""]] "<div style=text-align:right>fo[o</div>b]ar<p>extra" checks for modifications to non-editable content 
+FAIL [["justifyright",""]] "<div style=text-align:right>fo[o</div>b]ar<p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<div style=\"text-align:right\">foo<br>bar</div><p>extra</p>" but got "<div style=\"text-align:right\">foo</div><p style=\"text-align:right\">bar</p><p>extra</p>"
+FAIL [["justifyright",""]] "<div style=text-align:right>fo[o</div>b]ar<p>extra" queryCommandIndeterm("justifyright") before assert_equals: Wrong result returned expected true but got false
+FAIL [["justifyright",""]] "<div style=text-align:right>fo[o</div>b]ar<p>extra" queryCommandState("justifyright") before assert_equals: Wrong result returned expected false but got true
+FAIL [["justifyright",""]] "<div style=text-align:right>fo[o</div>b]ar<p>extra" queryCommandValue("justifyright") before assert_equals: Wrong result returned expected "right" but got "true"
+PASS [["justifyright",""]] "<div style=text-align:right>fo[o</div>b]ar<p>extra" queryCommandIndeterm("justifyright") after 
+PASS [["justifyright",""]] "<div style=text-align:right>fo[o</div>b]ar<p>extra" queryCommandState("justifyright") after 
+FAIL [["justifyright",""]] "<div style=text-align:right>fo[o</div>b]ar<p>extra" queryCommandValue("justifyright") after assert_equals: Wrong result returned expected "right" but got "true"
+PASS [["defaultparagraphseparator","div"],["justifyright",""]] "<span style=text-align:right>[foo]</span><p>extra": execCommand("defaultparagraphseparator", false, "div") return value 
+PASS [["defaultparagraphseparator","div"],["justifyright",""]] "<span style=text-align:right>[foo]</span><p>extra": execCommand("justifyright", false, "") return value 
+PASS [["defaultparagraphseparator","div"],["justifyright",""]] "<span style=text-align:right>[foo]</span><p>extra" checks for modifications to non-editable content 
+FAIL [["defaultparagraphseparator","div"],["justifyright",""]] "<span style=text-align:right>[foo]</span><p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<div style=\"text-align:right\">foo</div><p>extra</p>" but got "<span style=\"text-align:right\">foo</span><p>extra</p>"
+PASS [["defaultparagraphseparator","div"],["justifyright",""]] "<span style=text-align:right>[foo]</span><p>extra" queryCommandIndeterm("defaultparagraphseparator") before 
+PASS [["defaultparagraphseparator","div"],["justifyright",""]] "<span style=text-align:right>[foo]</span><p>extra" queryCommandState("defaultparagraphseparator") before 
+PASS [["defaultparagraphseparator","div"],["justifyright",""]] "<span style=text-align:right>[foo]</span><p>extra" queryCommandValue("defaultparagraphseparator") before 
+PASS [["defaultparagraphseparator","div"],["justifyright",""]] "<span style=text-align:right>[foo]</span><p>extra" queryCommandIndeterm("defaultparagraphseparator") after 
+PASS [["defaultparagraphseparator","div"],["justifyright",""]] "<span style=text-align:right>[foo]</span><p>extra" queryCommandState("defaultparagraphseparator") after 
+PASS [["defaultparagraphseparator","div"],["justifyright",""]] "<span style=text-align:right>[foo]</span><p>extra" queryCommandValue("defaultparagraphseparator") after 
+PASS [["defaultparagraphseparator","div"],["justifyright",""]] "<span style=text-align:right>[foo]</span><p>extra" queryCommandIndeterm("justifyright") before 
+FAIL [["defaultparagraphseparator","div"],["justifyright",""]] "<span style=text-align:right>[foo]</span><p>extra" queryCommandState("justifyright") before assert_equals: Wrong result returned expected false but got true
+FAIL [["defaultparagraphseparator","div"],["justifyright",""]] "<span style=text-align:right>[foo]</span><p>extra" queryCommandValue("justifyright") before assert_equals: Wrong result returned expected "left" but got "true"
+PASS [["defaultparagraphseparator","div"],["justifyright",""]] "<span style=text-align:right>[foo]</span><p>extra" queryCommandIndeterm("justifyright") after 
+PASS [["defaultparagraphseparator","div"],["justifyright",""]] "<span style=text-align:right>[foo]</span><p>extra" queryCommandState("justifyright") after 
+FAIL [["defaultparagraphseparator","div"],["justifyright",""]] "<span style=text-align:right>[foo]</span><p>extra" queryCommandValue("justifyright") after assert_equals: Wrong result returned expected "right" but got "true"
+PASS [["defaultparagraphseparator","p"],["justifyright",""]] "<span style=text-align:right>[foo]</span><p>extra": execCommand("defaultparagraphseparator", false, "p") return value 
+PASS [["defaultparagraphseparator","p"],["justifyright",""]] "<span style=text-align:right>[foo]</span><p>extra": execCommand("justifyright", false, "") return value 
+PASS [["defaultparagraphseparator","p"],["justifyright",""]] "<span style=text-align:right>[foo]</span><p>extra" checks for modifications to non-editable content 
+FAIL [["defaultparagraphseparator","p"],["justifyright",""]] "<span style=text-align:right>[foo]</span><p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<div style=\"text-align:right\">foo</div><p>extra</p>" but got "<span style=\"text-align:right\">foo</span><p>extra</p>"
+PASS [["defaultparagraphseparator","p"],["justifyright",""]] "<span style=text-align:right>[foo]</span><p>extra" queryCommandIndeterm("defaultparagraphseparator") before 
+PASS [["defaultparagraphseparator","p"],["justifyright",""]] "<span style=text-align:right>[foo]</span><p>extra" queryCommandState("defaultparagraphseparator") before 
+PASS [["defaultparagraphseparator","p"],["justifyright",""]] "<span style=text-align:right>[foo]</span><p>extra" queryCommandValue("defaultparagraphseparator") before 
+PASS [["defaultparagraphseparator","p"],["justifyright",""]] "<span style=text-align:right>[foo]</span><p>extra" queryCommandIndeterm("defaultparagraphseparator") after 
+PASS [["defaultparagraphseparator","p"],["justifyright",""]] "<span style=text-align:right>[foo]</span><p>extra" queryCommandState("defaultparagraphseparator") after 
+PASS [["defaultparagraphseparator","p"],["justifyright",""]] "<span style=text-align:right>[foo]</span><p>extra" queryCommandValue("defaultparagraphseparator") after 
+PASS [["defaultparagraphseparator","p"],["justifyright",""]] "<span style=text-align:right>[foo]</span><p>extra" queryCommandIndeterm("justifyright") before 
+FAIL [["defaultparagraphseparator","p"],["justifyright",""]] "<span style=text-align:right>[foo]</span><p>extra" queryCommandState("justifyright") before assert_equals: Wrong result returned expected false but got true
+FAIL [["defaultparagraphseparator","p"],["justifyright",""]] "<span style=text-align:right>[foo]</span><p>extra" queryCommandValue("justifyright") before assert_equals: Wrong result returned expected "left" but got "true"
+PASS [["defaultparagraphseparator","p"],["justifyright",""]] "<span style=text-align:right>[foo]</span><p>extra" queryCommandIndeterm("justifyright") after 
+PASS [["defaultparagraphseparator","p"],["justifyright",""]] "<span style=text-align:right>[foo]</span><p>extra" queryCommandState("justifyright") after 
+FAIL [["defaultparagraphseparator","p"],["justifyright",""]] "<span style=text-align:right>[foo]</span><p>extra" queryCommandValue("justifyright") after assert_equals: Wrong result returned expected "right" but got "true"
+PASS [["defaultparagraphseparator","div"],["justifyright",""]] "<span style=text-align:right>f[o]o</span><p>extra": execCommand("defaultparagraphseparator", false, "div") return value 
+PASS [["defaultparagraphseparator","div"],["justifyright",""]] "<span style=text-align:right>f[o]o</span><p>extra": execCommand("justifyright", false, "") return value 
+PASS [["defaultparagraphseparator","div"],["justifyright",""]] "<span style=text-align:right>f[o]o</span><p>extra" checks for modifications to non-editable content 
+FAIL [["defaultparagraphseparator","div"],["justifyright",""]] "<span style=text-align:right>f[o]o</span><p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<div style=\"text-align:right\">foo</div><p>extra</p>" but got "<span style=\"text-align:right\">foo</span><p>extra</p>"
+PASS [["defaultparagraphseparator","div"],["justifyright",""]] "<span style=text-align:right>f[o]o</span><p>extra" queryCommandIndeterm("defaultparagraphseparator") before 
+PASS [["defaultparagraphseparator","div"],["justifyright",""]] "<span style=text-align:right>f[o]o</span><p>extra" queryCommandState("defaultparagraphseparator") before 
+PASS [["defaultparagraphseparator","div"],["justifyright",""]] "<span style=text-align:right>f[o]o</span><p>extra" queryCommandValue("defaultparagraphseparator") before 
+PASS [["defaultparagraphseparator","div"],["justifyright",""]] "<span style=text-align:right>f[o]o</span><p>extra" queryCommandIndeterm("defaultparagraphseparator") after 
+PASS [["defaultparagraphseparator","div"],["justifyright",""]] "<span style=text-align:right>f[o]o</span><p>extra" queryCommandState("defaultparagraphseparator") after 
+PASS [["defaultparagraphseparator","div"],["justifyright",""]] "<span style=text-align:right>f[o]o</span><p>extra" queryCommandValue("defaultparagraphseparator") after 
+PASS [["defaultparagraphseparator","div"],["justifyright",""]] "<span style=text-align:right>f[o]o</span><p>extra" queryCommandIndeterm("justifyright") before 
+FAIL [["defaultparagraphseparator","div"],["justifyright",""]] "<span style=text-align:right>f[o]o</span><p>extra" queryCommandState("justifyright") before assert_equals: Wrong result returned expected false but got true
+FAIL [["defaultparagraphseparator","div"],["justifyright",""]] "<span style=text-align:right>f[o]o</span><p>extra" queryCommandValue("justifyright") before assert_equals: Wrong result returned expected "left" but got "true"
+PASS [["defaultparagraphseparator","div"],["justifyright",""]] "<span style=text-align:right>f[o]o</span><p>extra" queryCommandIndeterm("justifyright") after 
+PASS [["defaultparagraphseparator","div"],["justifyright",""]] "<span style=text-align:right>f[o]o</span><p>extra" queryCommandState("justifyright") after 
+FAIL [["defaultparagraphseparator","div"],["justifyright",""]] "<span style=text-align:right>f[o]o</span><p>extra" queryCommandValue("justifyright") after assert_equals: Wrong result returned expected "right" but got "true"
+PASS [["defaultparagraphseparator","p"],["justifyright",""]] "<span style=text-align:right>f[o]o</span><p>extra": execCommand("defaultparagraphseparator", false, "p") return value 
+PASS [["defaultparagraphseparator","p"],["justifyright",""]] "<span style=text-align:right>f[o]o</span><p>extra": execCommand("justifyright", false, "") return value 
+PASS [["defaultparagraphseparator","p"],["justifyright",""]] "<span style=text-align:right>f[o]o</span><p>extra" checks for modifications to non-editable content 
+FAIL [["defaultparagraphseparator","p"],["justifyright",""]] "<span style=text-align:right>f[o]o</span><p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<div style=\"text-align:right\">foo</div><p>extra</p>" but got "<span style=\"text-align:right\">foo</span><p>extra</p>"
+PASS [["defaultparagraphseparator","p"],["justifyright",""]] "<span style=text-align:right>f[o]o</span><p>extra" queryCommandIndeterm("defaultparagraphseparator") before 
+PASS [["defaultparagraphseparator","p"],["justifyright",""]] "<span style=text-align:right>f[o]o</span><p>extra" queryCommandState("defaultparagraphseparator") before 
+PASS [["defaultparagraphseparator","p"],["justifyright",""]] "<span style=text-align:right>f[o]o</span><p>extra" queryCommandValue("defaultparagraphseparator") before 
+PASS [["defaultparagraphseparator","p"],["justifyright",""]] "<span style=text-align:right>f[o]o</span><p>extra" queryCommandIndeterm("defaultparagraphseparator") after 
+PASS [["defaultparagraphseparator","p"],["justifyright",""]] "<span style=text-align:right>f[o]o</span><p>extra" queryCommandState("defaultparagraphseparator") after 
+PASS [["defaultparagraphseparator","p"],["justifyright",""]] "<span style=text-align:right>f[o]o</span><p>extra" queryCommandValue("defaultparagraphseparator") after 
+PASS [["defaultparagraphseparator","p"],["justifyright",""]] "<span style=text-align:right>f[o]o</span><p>extra" queryCommandIndeterm("justifyright") before 
+FAIL [["defaultparagraphseparator","p"],["justifyright",""]] "<span style=text-align:right>f[o]o</span><p>extra" queryCommandState("justifyright") before assert_equals: Wrong result returned expected false but got true
+FAIL [["defaultparagraphseparator","p"],["justifyright",""]] "<span style=text-align:right>f[o]o</span><p>extra" queryCommandValue("justifyright") before assert_equals: Wrong result returned expected "left" but got "true"
+PASS [["defaultparagraphseparator","p"],["justifyright",""]] "<span style=text-align:right>f[o]o</span><p>extra" queryCommandIndeterm("justifyright") after 
+PASS [["defaultparagraphseparator","p"],["justifyright",""]] "<span style=text-align:right>f[o]o</span><p>extra" queryCommandState("justifyright") after 
+FAIL [["defaultparagraphseparator","p"],["justifyright",""]] "<span style=text-align:right>f[o]o</span><p>extra" queryCommandValue("justifyright") after assert_equals: Wrong result returned expected "right" but got "true"
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<div style=text-align:right>[foo<div style=text-align:left contenteditable=false>bar</div>baz]</div><p>extra": execCommand("stylewithcss", false, "true") return value 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<div style=text-align:right>[foo<div style=text-align:left contenteditable=false>bar</div>baz]</div><p>extra": execCommand("defaultparagraphseparator", false, "div") return value 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<div style=text-align:right>[foo<div style=text-align:left contenteditable=false>bar</div>baz]</div><p>extra": execCommand("justifyright", false, "") return value 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<div style=text-align:right>[foo<div style=text-align:left contenteditable=false>bar</div>baz]</div><p>extra" checks for modifications to non-editable content 
+FAIL [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<div style=text-align:right>[foo<div style=text-align:left contenteditable=false>bar</div>baz]</div><p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<div style=\"text-align:right\">foo</div><div style=\"text-align:left\" contenteditable=\"false\">bar</div><div style=\"text-align:right\">baz</div><p>extra</p>" but got "<div style=\"text-align:right\">foo<div style=\"text-align:right\" contenteditable=\"false\">bar</div>baz</div><p>extra</p>"
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<div style=text-align:right>[foo<div style=text-align:left contenteditable=false>bar</div>baz]</div><p>extra" queryCommandIndeterm("stylewithcss") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<div style=text-align:right>[foo<div style=text-align:left contenteditable=false>bar</div>baz]</div><p>extra" queryCommandState("stylewithcss") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<div style=text-align:right>[foo<div style=text-align:left contenteditable=false>bar</div>baz]</div><p>extra" queryCommandValue("stylewithcss") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<div style=text-align:right>[foo<div style=text-align:left contenteditable=false>bar</div>baz]</div><p>extra" queryCommandIndeterm("stylewithcss") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<div style=text-align:right>[foo<div style=text-align:left contenteditable=false>bar</div>baz]</div><p>extra" queryCommandState("stylewithcss") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<div style=text-align:right>[foo<div style=text-align:left contenteditable=false>bar</div>baz]</div><p>extra" queryCommandValue("stylewithcss") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<div style=text-align:right>[foo<div style=text-align:left contenteditable=false>bar</div>baz]</div><p>extra" queryCommandIndeterm("defaultparagraphseparator") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<div style=text-align:right>[foo<div style=text-align:left contenteditable=false>bar</div>baz]</div><p>extra" queryCommandState("defaultparagraphseparator") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<div style=text-align:right>[foo<div style=text-align:left contenteditable=false>bar</div>baz]</div><p>extra" queryCommandValue("defaultparagraphseparator") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<div style=text-align:right>[foo<div style=text-align:left contenteditable=false>bar</div>baz]</div><p>extra" queryCommandIndeterm("defaultparagraphseparator") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<div style=text-align:right>[foo<div style=text-align:left contenteditable=false>bar</div>baz]</div><p>extra" queryCommandState("defaultparagraphseparator") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<div style=text-align:right>[foo<div style=text-align:left contenteditable=false>bar</div>baz]</div><p>extra" queryCommandValue("defaultparagraphseparator") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<div style=text-align:right>[foo<div style=text-align:left contenteditable=false>bar</div>baz]</div><p>extra" queryCommandIndeterm("justifyright") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<div style=text-align:right>[foo<div style=text-align:left contenteditable=false>bar</div>baz]</div><p>extra" queryCommandState("justifyright") before 
+FAIL [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<div style=text-align:right>[foo<div style=text-align:left contenteditable=false>bar</div>baz]</div><p>extra" queryCommandValue("justifyright") before assert_equals: Wrong result returned expected "right" but got "true"
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<div style=text-align:right>[foo<div style=text-align:left contenteditable=false>bar</div>baz]</div><p>extra" queryCommandIndeterm("justifyright") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<div style=text-align:right>[foo<div style=text-align:left contenteditable=false>bar</div>baz]</div><p>extra" queryCommandState("justifyright") after 
+FAIL [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<div style=text-align:right>[foo<div style=text-align:left contenteditable=false>bar</div>baz]</div><p>extra" queryCommandValue("justifyright") after assert_equals: Wrong result returned expected "right" but got "true"
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<div style=text-align:right>[foo<div style=text-align:left contenteditable=false>bar</div>baz]</div><p>extra": execCommand("stylewithcss", false, "false") return value 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<div style=text-align:right>[foo<div style=text-align:left contenteditable=false>bar</div>baz]</div><p>extra": execCommand("defaultparagraphseparator", false, "div") return value 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<div style=text-align:right>[foo<div style=text-align:left contenteditable=false>bar</div>baz]</div><p>extra": execCommand("justifyright", false, "") return value 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<div style=text-align:right>[foo<div style=text-align:left contenteditable=false>bar</div>baz]</div><p>extra" checks for modifications to non-editable content 
+FAIL [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<div style=text-align:right>[foo<div style=text-align:left contenteditable=false>bar</div>baz]</div><p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<div style=\"text-align:right\">foo</div><div style=\"text-align:left\" contenteditable=\"false\">bar</div><div style=\"text-align:right\">baz</div><p>extra</p>" but got "<div style=\"text-align:right\">foo<div style=\"text-align:right\" contenteditable=\"false\">bar</div>baz</div><p>extra</p>"
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<div style=text-align:right>[foo<div style=text-align:left contenteditable=false>bar</div>baz]</div><p>extra" queryCommandIndeterm("stylewithcss") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<div style=text-align:right>[foo<div style=text-align:left contenteditable=false>bar</div>baz]</div><p>extra" queryCommandState("stylewithcss") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<div style=text-align:right>[foo<div style=text-align:left contenteditable=false>bar</div>baz]</div><p>extra" queryCommandValue("stylewithcss") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<div style=text-align:right>[foo<div style=text-align:left contenteditable=false>bar</div>baz]</div><p>extra" queryCommandIndeterm("stylewithcss") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<div style=text-align:right>[foo<div style=text-align:left contenteditable=false>bar</div>baz]</div><p>extra" queryCommandState("stylewithcss") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<div style=text-align:right>[foo<div style=text-align:left contenteditable=false>bar</div>baz]</div><p>extra" queryCommandValue("stylewithcss") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<div style=text-align:right>[foo<div style=text-align:left contenteditable=false>bar</div>baz]</div><p>extra" queryCommandIndeterm("defaultparagraphseparator") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<div style=text-align:right>[foo<div style=text-align:left contenteditable=false>bar</div>baz]</div><p>extra" queryCommandState("defaultparagraphseparator") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<div style=text-align:right>[foo<div style=text-align:left contenteditable=false>bar</div>baz]</div><p>extra" queryCommandValue("defaultparagraphseparator") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<div style=text-align:right>[foo<div style=text-align:left contenteditable=false>bar</div>baz]</div><p>extra" queryCommandIndeterm("defaultparagraphseparator") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<div style=text-align:right>[foo<div style=text-align:left contenteditable=false>bar</div>baz]</div><p>extra" queryCommandState("defaultparagraphseparator") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<div style=text-align:right>[foo<div style=text-align:left contenteditable=false>bar</div>baz]</div><p>extra" queryCommandValue("defaultparagraphseparator") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<div style=text-align:right>[foo<div style=text-align:left contenteditable=false>bar</div>baz]</div><p>extra" queryCommandIndeterm("justifyright") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<div style=text-align:right>[foo<div style=text-align:left contenteditable=false>bar</div>baz]</div><p>extra" queryCommandState("justifyright") before 
+FAIL [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<div style=text-align:right>[foo<div style=text-align:left contenteditable=false>bar</div>baz]</div><p>extra" queryCommandValue("justifyright") before assert_equals: Wrong result returned expected "right" but got "true"
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<div style=text-align:right>[foo<div style=text-align:left contenteditable=false>bar</div>baz]</div><p>extra" queryCommandIndeterm("justifyright") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<div style=text-align:right>[foo<div style=text-align:left contenteditable=false>bar</div>baz]</div><p>extra" queryCommandState("justifyright") after 
+FAIL [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<div style=text-align:right>[foo<div style=text-align:left contenteditable=false>bar</div>baz]</div><p>extra" queryCommandValue("justifyright") after assert_equals: Wrong result returned expected "right" but got "true"
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<div style=text-align:right>[foo<div style=text-align:left contenteditable=false>bar</div>baz]</div><p>extra": execCommand("stylewithcss", false, "true") return value 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<div style=text-align:right>[foo<div style=text-align:left contenteditable=false>bar</div>baz]</div><p>extra": execCommand("defaultparagraphseparator", false, "p") return value 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<div style=text-align:right>[foo<div style=text-align:left contenteditable=false>bar</div>baz]</div><p>extra": execCommand("justifyright", false, "") return value 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<div style=text-align:right>[foo<div style=text-align:left contenteditable=false>bar</div>baz]</div><p>extra" checks for modifications to non-editable content 
+FAIL [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<div style=text-align:right>[foo<div style=text-align:left contenteditable=false>bar</div>baz]</div><p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<div style=\"text-align:right\">foo</div><div style=\"text-align:left\" contenteditable=\"false\">bar</div><div style=\"text-align:right\">baz</div><p>extra</p>" but got "<div style=\"text-align:right\">foo<div style=\"text-align:right\" contenteditable=\"false\">bar</div>baz</div><p>extra</p>"
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<div style=text-align:right>[foo<div style=text-align:left contenteditable=false>bar</div>baz]</div><p>extra" queryCommandIndeterm("stylewithcss") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<div style=text-align:right>[foo<div style=text-align:left contenteditable=false>bar</div>baz]</div><p>extra" queryCommandState("stylewithcss") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<div style=text-align:right>[foo<div style=text-align:left contenteditable=false>bar</div>baz]</div><p>extra" queryCommandValue("stylewithcss") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<div style=text-align:right>[foo<div style=text-align:left contenteditable=false>bar</div>baz]</div><p>extra" queryCommandIndeterm("stylewithcss") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<div style=text-align:right>[foo<div style=text-align:left contenteditable=false>bar</div>baz]</div><p>extra" queryCommandState("stylewithcss") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<div style=text-align:right>[foo<div style=text-align:left contenteditable=false>bar</div>baz]</div><p>extra" queryCommandValue("stylewithcss") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<div style=text-align:right>[foo<div style=text-align:left contenteditable=false>bar</div>baz]</div><p>extra" queryCommandIndeterm("defaultparagraphseparator") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<div style=text-align:right>[foo<div style=text-align:left contenteditable=false>bar</div>baz]</div><p>extra" queryCommandState("defaultparagraphseparator") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<div style=text-align:right>[foo<div style=text-align:left contenteditable=false>bar</div>baz]</div><p>extra" queryCommandValue("defaultparagraphseparator") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<div style=text-align:right>[foo<div style=text-align:left contenteditable=false>bar</div>baz]</div><p>extra" queryCommandIndeterm("defaultparagraphseparator") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<div style=text-align:right>[foo<div style=text-align:left contenteditable=false>bar</div>baz]</div><p>extra" queryCommandState("defaultparagraphseparator") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<div style=text-align:right>[foo<div style=text-align:left contenteditable=false>bar</div>baz]</div><p>extra" queryCommandValue("defaultparagraphseparator") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<div style=text-align:right>[foo<div style=text-align:left contenteditable=false>bar</div>baz]</div><p>extra" queryCommandIndeterm("justifyright") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<div style=text-align:right>[foo<div style=text-align:left contenteditable=false>bar</div>baz]</div><p>extra" queryCommandState("justifyright") before 
+FAIL [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<div style=text-align:right>[foo<div style=text-align:left contenteditable=false>bar</div>baz]</div><p>extra" queryCommandValue("justifyright") before assert_equals: Wrong result returned expected "right" but got "true"
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<div style=text-align:right>[foo<div style=text-align:left contenteditable=false>bar</div>baz]</div><p>extra" queryCommandIndeterm("justifyright") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<div style=text-align:right>[foo<div style=text-align:left contenteditable=false>bar</div>baz]</div><p>extra" queryCommandState("justifyright") after 
+FAIL [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<div style=text-align:right>[foo<div style=text-align:left contenteditable=false>bar</div>baz]</div><p>extra" queryCommandValue("justifyright") after assert_equals: Wrong result returned expected "right" but got "true"
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<div style=text-align:right>[foo<div style=text-align:left contenteditable=false>bar</div>baz]</div><p>extra": execCommand("stylewithcss", false, "false") return value 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<div style=text-align:right>[foo<div style=text-align:left contenteditable=false>bar</div>baz]</div><p>extra": execCommand("defaultparagraphseparator", false, "p") return value 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<div style=text-align:right>[foo<div style=text-align:left contenteditable=false>bar</div>baz]</div><p>extra": execCommand("justifyright", false, "") return value 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<div style=text-align:right>[foo<div style=text-align:left contenteditable=false>bar</div>baz]</div><p>extra" checks for modifications to non-editable content 
+FAIL [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<div style=text-align:right>[foo<div style=text-align:left contenteditable=false>bar</div>baz]</div><p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<div style=\"text-align:right\">foo</div><div style=\"text-align:left\" contenteditable=\"false\">bar</div><div style=\"text-align:right\">baz</div><p>extra</p>" but got "<div style=\"text-align:right\">foo<div style=\"text-align:right\" contenteditable=\"false\">bar</div>baz</div><p>extra</p>"
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<div style=text-align:right>[foo<div style=text-align:left contenteditable=false>bar</div>baz]</div><p>extra" queryCommandIndeterm("stylewithcss") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<div style=text-align:right>[foo<div style=text-align:left contenteditable=false>bar</div>baz]</div><p>extra" queryCommandState("stylewithcss") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<div style=text-align:right>[foo<div style=text-align:left contenteditable=false>bar</div>baz]</div><p>extra" queryCommandValue("stylewithcss") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<div style=text-align:right>[foo<div style=text-align:left contenteditable=false>bar</div>baz]</div><p>extra" queryCommandIndeterm("stylewithcss") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<div style=text-align:right>[foo<div style=text-align:left contenteditable=false>bar</div>baz]</div><p>extra" queryCommandState("stylewithcss") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<div style=text-align:right>[foo<div style=text-align:left contenteditable=false>bar</div>baz]</div><p>extra" queryCommandValue("stylewithcss") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<div style=text-align:right>[foo<div style=text-align:left contenteditable=false>bar</div>baz]</div><p>extra" queryCommandIndeterm("defaultparagraphseparator") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<div style=text-align:right>[foo<div style=text-align:left contenteditable=false>bar</div>baz]</div><p>extra" queryCommandState("defaultparagraphseparator") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<div style=text-align:right>[foo<div style=text-align:left contenteditable=false>bar</div>baz]</div><p>extra" queryCommandValue("defaultparagraphseparator") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<div style=text-align:right>[foo<div style=text-align:left contenteditable=false>bar</div>baz]</div><p>extra" queryCommandIndeterm("defaultparagraphseparator") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<div style=text-align:right>[foo<div style=text-align:left contenteditable=false>bar</div>baz]</div><p>extra" queryCommandState("defaultparagraphseparator") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<div style=text-align:right>[foo<div style=text-align:left contenteditable=false>bar</div>baz]</div><p>extra" queryCommandValue("defaultparagraphseparator") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<div style=text-align:right>[foo<div style=text-align:left contenteditable=false>bar</div>baz]</div><p>extra" queryCommandIndeterm("justifyright") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<div style=text-align:right>[foo<div style=text-align:left contenteditable=false>bar</div>baz]</div><p>extra" queryCommandState("justifyright") before 
+FAIL [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<div style=text-align:right>[foo<div style=text-align:left contenteditable=false>bar</div>baz]</div><p>extra" queryCommandValue("justifyright") before assert_equals: Wrong result returned expected "right" but got "true"
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<div style=text-align:right>[foo<div style=text-align:left contenteditable=false>bar</div>baz]</div><p>extra" queryCommandIndeterm("justifyright") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<div style=text-align:right>[foo<div style=text-align:left contenteditable=false>bar</div>baz]</div><p>extra" queryCommandState("justifyright") after 
+FAIL [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<div style=text-align:right>[foo<div style=text-align:left contenteditable=false>bar</div>baz]</div><p>extra" queryCommandValue("justifyright") after assert_equals: Wrong result returned expected "right" but got "true"
+PASS [["stylewithcss","true"],["justifyright",""]] "<div align=nonsense><p>[foo]</div><p>extra": execCommand("stylewithcss", false, "true") return value 
+PASS [["stylewithcss","true"],["justifyright",""]] "<div align=nonsense><p>[foo]</div><p>extra": execCommand("justifyright", false, "") return value 
+PASS [["stylewithcss","true"],["justifyright",""]] "<div align=nonsense><p>[foo]</div><p>extra" checks for modifications to non-editable content 
+FAIL [["stylewithcss","true"],["justifyright",""]] "<div align=nonsense><p>[foo]</div><p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<div style=\"text-align:right\"><p>foo</p></div><p>extra</p>" but got "<div align=\"nonsense\"><p style=\"text-align:right\">foo</p></div><p>extra</p>"
+PASS [["stylewithcss","true"],["justifyright",""]] "<div align=nonsense><p>[foo]</div><p>extra" queryCommandIndeterm("stylewithcss") before 
+PASS [["stylewithcss","true"],["justifyright",""]] "<div align=nonsense><p>[foo]</div><p>extra" queryCommandState("stylewithcss") before 
+PASS [["stylewithcss","true"],["justifyright",""]] "<div align=nonsense><p>[foo]</div><p>extra" queryCommandValue("stylewithcss") before 
+PASS [["stylewithcss","true"],["justifyright",""]] "<div align=nonsense><p>[foo]</div><p>extra" queryCommandIndeterm("stylewithcss") after 
+PASS [["stylewithcss","true"],["justifyright",""]] "<div align=nonsense><p>[foo]</div><p>extra" queryCommandState("stylewithcss") after 
+PASS [["stylewithcss","true"],["justifyright",""]] "<div align=nonsense><p>[foo]</div><p>extra" queryCommandValue("stylewithcss") after 
+PASS [["stylewithcss","true"],["justifyright",""]] "<div align=nonsense><p>[foo]</div><p>extra" queryCommandIndeterm("justifyright") before 
+PASS [["stylewithcss","true"],["justifyright",""]] "<div align=nonsense><p>[foo]</div><p>extra" queryCommandState("justifyright") before 
+FAIL [["stylewithcss","true"],["justifyright",""]] "<div align=nonsense><p>[foo]</div><p>extra" queryCommandValue("justifyright") before assert_equals: Wrong result returned expected "left" but got "false"
+PASS [["stylewithcss","true"],["justifyright",""]] "<div align=nonsense><p>[foo]</div><p>extra" queryCommandIndeterm("justifyright") after 
+PASS [["stylewithcss","true"],["justifyright",""]] "<div align=nonsense><p>[foo]</div><p>extra" queryCommandState("justifyright") after 
+FAIL [["stylewithcss","true"],["justifyright",""]] "<div align=nonsense><p>[foo]</div><p>extra" queryCommandValue("justifyright") after assert_equals: Wrong result returned expected "right" but got "true"
+PASS [["stylewithcss","false"],["justifyright",""]] "<div align=nonsense><p>[foo]</div><p>extra": execCommand("stylewithcss", false, "false") return value 
+PASS [["stylewithcss","false"],["justifyright",""]] "<div align=nonsense><p>[foo]</div><p>extra": execCommand("justifyright", false, "") return value 
+PASS [["stylewithcss","false"],["justifyright",""]] "<div align=nonsense><p>[foo]</div><p>extra" checks for modifications to non-editable content 
+FAIL [["stylewithcss","false"],["justifyright",""]] "<div align=nonsense><p>[foo]</div><p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<div style=\"text-align:right\"><p>foo</p></div><p>extra</p>" but got "<div align=\"nonsense\"><p style=\"text-align:right\">foo</p></div><p>extra</p>"
+PASS [["stylewithcss","false"],["justifyright",""]] "<div align=nonsense><p>[foo]</div><p>extra" queryCommandIndeterm("stylewithcss") before 
+PASS [["stylewithcss","false"],["justifyright",""]] "<div align=nonsense><p>[foo]</div><p>extra" queryCommandState("stylewithcss") before 
+PASS [["stylewithcss","false"],["justifyright",""]] "<div align=nonsense><p>[foo]</div><p>extra" queryCommandValue("stylewithcss") before 
+PASS [["stylewithcss","false"],["justifyright",""]] "<div align=nonsense><p>[foo]</div><p>extra" queryCommandIndeterm("stylewithcss") after 
+PASS [["stylewithcss","false"],["justifyright",""]] "<div align=nonsense><p>[foo]</div><p>extra" queryCommandState("stylewithcss") after 
+PASS [["stylewithcss","false"],["justifyright",""]] "<div align=nonsense><p>[foo]</div><p>extra" queryCommandValue("stylewithcss") after 
+PASS [["stylewithcss","false"],["justifyright",""]] "<div align=nonsense><p>[foo]</div><p>extra" queryCommandIndeterm("justifyright") before 
+PASS [["stylewithcss","false"],["justifyright",""]] "<div align=nonsense><p>[foo]</div><p>extra" queryCommandState("justifyright") before 
+FAIL [["stylewithcss","false"],["justifyright",""]] "<div align=nonsense><p>[foo]</div><p>extra" queryCommandValue("justifyright") before assert_equals: Wrong result returned expected "left" but got "false"
+PASS [["stylewithcss","false"],["justifyright",""]] "<div align=nonsense><p>[foo]</div><p>extra" queryCommandIndeterm("justifyright") after 
+PASS [["stylewithcss","false"],["justifyright",""]] "<div align=nonsense><p>[foo]</div><p>extra" queryCommandState("justifyright") after 
+FAIL [["stylewithcss","false"],["justifyright",""]] "<div align=nonsense><p>[foo]</div><p>extra" queryCommandValue("justifyright") after assert_equals: Wrong result returned expected "right" but got "true"
+PASS [["justifyright",""]] "<div style=text-align:inherit><p>[foo]</div><p>extra": execCommand("justifyright", false, "") return value 
+PASS [["justifyright",""]] "<div style=text-align:inherit><p>[foo]</div><p>extra" checks for modifications to non-editable content 
+FAIL [["justifyright",""]] "<div style=text-align:inherit><p>[foo]</div><p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<div style=\"text-align:right\"><p>foo</p></div><p>extra</p>" but got "<div style=\"text-align:inherit\"><p style=\"text-align:right\">foo</p></div><p>extra</p>"
+PASS [["justifyright",""]] "<div style=text-align:inherit><p>[foo]</div><p>extra" queryCommandIndeterm("justifyright") before 
+PASS [["justifyright",""]] "<div style=text-align:inherit><p>[foo]</div><p>extra" queryCommandState("justifyright") before 
+FAIL [["justifyright",""]] "<div style=text-align:inherit><p>[foo]</div><p>extra" queryCommandValue("justifyright") before assert_equals: Wrong result returned expected "left" but got "false"
+PASS [["justifyright",""]] "<div style=text-align:inherit><p>[foo]</div><p>extra" queryCommandIndeterm("justifyright") after 
+PASS [["justifyright",""]] "<div style=text-align:inherit><p>[foo]</div><p>extra" queryCommandState("justifyright") after 
+FAIL [["justifyright",""]] "<div style=text-align:inherit><p>[foo]</div><p>extra" queryCommandValue("justifyright") after assert_equals: Wrong result returned expected "right" but got "true"
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<quasit align=center><p>[foo]</p></quasit><p>extra": execCommand("stylewithcss", false, "true") return value 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<quasit align=center><p>[foo]</p></quasit><p>extra": execCommand("defaultparagraphseparator", false, "div") return value 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<quasit align=center><p>[foo]</p></quasit><p>extra": execCommand("justifyright", false, "") return value 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<quasit align=center><p>[foo]</p></quasit><p>extra" checks for modifications to non-editable content 
+FAIL [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<quasit align=center><p>[foo]</p></quasit><p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<div style=\"text-align:right\"><quasit><p>foo</p></quasit></div><p>extra</p>" but got "<quasit align=\"center\"><p style=\"text-align:right\">foo</p></quasit><p>extra</p>"
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<quasit align=center><p>[foo]</p></quasit><p>extra" queryCommandIndeterm("stylewithcss") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<quasit align=center><p>[foo]</p></quasit><p>extra" queryCommandState("stylewithcss") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<quasit align=center><p>[foo]</p></quasit><p>extra" queryCommandValue("stylewithcss") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<quasit align=center><p>[foo]</p></quasit><p>extra" queryCommandIndeterm("stylewithcss") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<quasit align=center><p>[foo]</p></quasit><p>extra" queryCommandState("stylewithcss") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<quasit align=center><p>[foo]</p></quasit><p>extra" queryCommandValue("stylewithcss") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<quasit align=center><p>[foo]</p></quasit><p>extra" queryCommandIndeterm("defaultparagraphseparator") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<quasit align=center><p>[foo]</p></quasit><p>extra" queryCommandState("defaultparagraphseparator") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<quasit align=center><p>[foo]</p></quasit><p>extra" queryCommandValue("defaultparagraphseparator") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<quasit align=center><p>[foo]</p></quasit><p>extra" queryCommandIndeterm("defaultparagraphseparator") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<quasit align=center><p>[foo]</p></quasit><p>extra" queryCommandState("defaultparagraphseparator") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<quasit align=center><p>[foo]</p></quasit><p>extra" queryCommandValue("defaultparagraphseparator") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<quasit align=center><p>[foo]</p></quasit><p>extra" queryCommandIndeterm("justifyright") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<quasit align=center><p>[foo]</p></quasit><p>extra" queryCommandState("justifyright") before 
+FAIL [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<quasit align=center><p>[foo]</p></quasit><p>extra" queryCommandValue("justifyright") before assert_equals: Wrong result returned expected "left" but got "false"
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<quasit align=center><p>[foo]</p></quasit><p>extra" queryCommandIndeterm("justifyright") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<quasit align=center><p>[foo]</p></quasit><p>extra" queryCommandState("justifyright") after 
+FAIL [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<quasit align=center><p>[foo]</p></quasit><p>extra" queryCommandValue("justifyright") after assert_equals: Wrong result returned expected "right" but got "true"
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<quasit align=center><p>[foo]</p></quasit><p>extra": execCommand("stylewithcss", false, "false") return value 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<quasit align=center><p>[foo]</p></quasit><p>extra": execCommand("defaultparagraphseparator", false, "div") return value 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<quasit align=center><p>[foo]</p></quasit><p>extra": execCommand("justifyright", false, "") return value 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<quasit align=center><p>[foo]</p></quasit><p>extra" checks for modifications to non-editable content 
+FAIL [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<quasit align=center><p>[foo]</p></quasit><p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<div style=\"text-align:right\"><quasit><p>foo</p></quasit></div><p>extra</p>" but got "<quasit align=\"center\"><p style=\"text-align:right\">foo</p></quasit><p>extra</p>"
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<quasit align=center><p>[foo]</p></quasit><p>extra" queryCommandIndeterm("stylewithcss") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<quasit align=center><p>[foo]</p></quasit><p>extra" queryCommandState("stylewithcss") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<quasit align=center><p>[foo]</p></quasit><p>extra" queryCommandValue("stylewithcss") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<quasit align=center><p>[foo]</p></quasit><p>extra" queryCommandIndeterm("stylewithcss") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<quasit align=center><p>[foo]</p></quasit><p>extra" queryCommandState("stylewithcss") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<quasit align=center><p>[foo]</p></quasit><p>extra" queryCommandValue("stylewithcss") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<quasit align=center><p>[foo]</p></quasit><p>extra" queryCommandIndeterm("defaultparagraphseparator") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<quasit align=center><p>[foo]</p></quasit><p>extra" queryCommandState("defaultparagraphseparator") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<quasit align=center><p>[foo]</p></quasit><p>extra" queryCommandValue("defaultparagraphseparator") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<quasit align=center><p>[foo]</p></quasit><p>extra" queryCommandIndeterm("defaultparagraphseparator") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<quasit align=center><p>[foo]</p></quasit><p>extra" queryCommandState("defaultparagraphseparator") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<quasit align=center><p>[foo]</p></quasit><p>extra" queryCommandValue("defaultparagraphseparator") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<quasit align=center><p>[foo]</p></quasit><p>extra" queryCommandIndeterm("justifyright") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<quasit align=center><p>[foo]</p></quasit><p>extra" queryCommandState("justifyright") before 
+FAIL [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<quasit align=center><p>[foo]</p></quasit><p>extra" queryCommandValue("justifyright") before assert_equals: Wrong result returned expected "left" but got "false"
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<quasit align=center><p>[foo]</p></quasit><p>extra" queryCommandIndeterm("justifyright") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<quasit align=center><p>[foo]</p></quasit><p>extra" queryCommandState("justifyright") after 
+FAIL [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<quasit align=center><p>[foo]</p></quasit><p>extra" queryCommandValue("justifyright") after assert_equals: Wrong result returned expected "right" but got "true"
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<quasit align=center><p>[foo]</p></quasit><p>extra": execCommand("stylewithcss", false, "true") return value 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<quasit align=center><p>[foo]</p></quasit><p>extra": execCommand("defaultparagraphseparator", false, "p") return value 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<quasit align=center><p>[foo]</p></quasit><p>extra": execCommand("justifyright", false, "") return value 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<quasit align=center><p>[foo]</p></quasit><p>extra" checks for modifications to non-editable content 
+FAIL [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<quasit align=center><p>[foo]</p></quasit><p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<div style=\"text-align:right\"><quasit><p>foo</p></quasit></div><p>extra</p>" but got "<quasit align=\"center\"><p style=\"text-align:right\">foo</p></quasit><p>extra</p>"
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<quasit align=center><p>[foo]</p></quasit><p>extra" queryCommandIndeterm("stylewithcss") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<quasit align=center><p>[foo]</p></quasit><p>extra" queryCommandState("stylewithcss") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<quasit align=center><p>[foo]</p></quasit><p>extra" queryCommandValue("stylewithcss") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<quasit align=center><p>[foo]</p></quasit><p>extra" queryCommandIndeterm("stylewithcss") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<quasit align=center><p>[foo]</p></quasit><p>extra" queryCommandState("stylewithcss") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<quasit align=center><p>[foo]</p></quasit><p>extra" queryCommandValue("stylewithcss") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<quasit align=center><p>[foo]</p></quasit><p>extra" queryCommandIndeterm("defaultparagraphseparator") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<quasit align=center><p>[foo]</p></quasit><p>extra" queryCommandState("defaultparagraphseparator") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<quasit align=center><p>[foo]</p></quasit><p>extra" queryCommandValue("defaultparagraphseparator") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<quasit align=center><p>[foo]</p></quasit><p>extra" queryCommandIndeterm("defaultparagraphseparator") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<quasit align=center><p>[foo]</p></quasit><p>extra" queryCommandState("defaultparagraphseparator") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<quasit align=center><p>[foo]</p></quasit><p>extra" queryCommandValue("defaultparagraphseparator") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<quasit align=center><p>[foo]</p></quasit><p>extra" queryCommandIndeterm("justifyright") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<quasit align=center><p>[foo]</p></quasit><p>extra" queryCommandState("justifyright") before 
+FAIL [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<quasit align=center><p>[foo]</p></quasit><p>extra" queryCommandValue("justifyright") before assert_equals: Wrong result returned expected "left" but got "false"
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<quasit align=center><p>[foo]</p></quasit><p>extra" queryCommandIndeterm("justifyright") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<quasit align=center><p>[foo]</p></quasit><p>extra" queryCommandState("justifyright") after 
+FAIL [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<quasit align=center><p>[foo]</p></quasit><p>extra" queryCommandValue("justifyright") after assert_equals: Wrong result returned expected "right" but got "true"
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<quasit align=center><p>[foo]</p></quasit><p>extra": execCommand("stylewithcss", false, "false") return value 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<quasit align=center><p>[foo]</p></quasit><p>extra": execCommand("defaultparagraphseparator", false, "p") return value 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<quasit align=center><p>[foo]</p></quasit><p>extra": execCommand("justifyright", false, "") return value 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<quasit align=center><p>[foo]</p></quasit><p>extra" checks for modifications to non-editable content 
+FAIL [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<quasit align=center><p>[foo]</p></quasit><p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<div style=\"text-align:right\"><quasit><p>foo</p></quasit></div><p>extra</p>" but got "<quasit align=\"center\"><p style=\"text-align:right\">foo</p></quasit><p>extra</p>"
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<quasit align=center><p>[foo]</p></quasit><p>extra" queryCommandIndeterm("stylewithcss") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<quasit align=center><p>[foo]</p></quasit><p>extra" queryCommandState("stylewithcss") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<quasit align=center><p>[foo]</p></quasit><p>extra" queryCommandValue("stylewithcss") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<quasit align=center><p>[foo]</p></quasit><p>extra" queryCommandIndeterm("stylewithcss") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<quasit align=center><p>[foo]</p></quasit><p>extra" queryCommandState("stylewithcss") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<quasit align=center><p>[foo]</p></quasit><p>extra" queryCommandValue("stylewithcss") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<quasit align=center><p>[foo]</p></quasit><p>extra" queryCommandIndeterm("defaultparagraphseparator") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<quasit align=center><p>[foo]</p></quasit><p>extra" queryCommandState("defaultparagraphseparator") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<quasit align=center><p>[foo]</p></quasit><p>extra" queryCommandValue("defaultparagraphseparator") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<quasit align=center><p>[foo]</p></quasit><p>extra" queryCommandIndeterm("defaultparagraphseparator") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<quasit align=center><p>[foo]</p></quasit><p>extra" queryCommandState("defaultparagraphseparator") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<quasit align=center><p>[foo]</p></quasit><p>extra" queryCommandValue("defaultparagraphseparator") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<quasit align=center><p>[foo]</p></quasit><p>extra" queryCommandIndeterm("justifyright") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<quasit align=center><p>[foo]</p></quasit><p>extra" queryCommandState("justifyright") before 
+FAIL [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<quasit align=center><p>[foo]</p></quasit><p>extra" queryCommandValue("justifyright") before assert_equals: Wrong result returned expected "left" but got "false"
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<quasit align=center><p>[foo]</p></quasit><p>extra" queryCommandIndeterm("justifyright") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<quasit align=center><p>[foo]</p></quasit><p>extra" queryCommandState("justifyright") after 
+FAIL [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<quasit align=center><p>[foo]</p></quasit><p>extra" queryCommandValue("justifyright") after assert_equals: Wrong result returned expected "right" but got "true"
+PASS [["justifyright",""]] "<div style=text-align:start>[foo]</div><p>extra": execCommand("justifyright", false, "") return value 
+PASS [["justifyright",""]] "<div style=text-align:start>[foo]</div><p>extra" checks for modifications to non-editable content 
+PASS [["justifyright",""]] "<div style=text-align:start>[foo]</div><p>extra" compare innerHTML 
+PASS [["justifyright",""]] "<div style=text-align:start>[foo]</div><p>extra" queryCommandIndeterm("justifyright") before 
+PASS [["justifyright",""]] "<div style=text-align:start>[foo]</div><p>extra" queryCommandState("justifyright") before 
+FAIL [["justifyright",""]] "<div style=text-align:start>[foo]</div><p>extra" queryCommandValue("justifyright") before assert_equals: Wrong result returned expected "left" but got "false"
+PASS [["justifyright",""]] "<div style=text-align:start>[foo]</div><p>extra" queryCommandIndeterm("justifyright") after 
+PASS [["justifyright",""]] "<div style=text-align:start>[foo]</div><p>extra" queryCommandState("justifyright") after 
+FAIL [["justifyright",""]] "<div style=text-align:start>[foo]</div><p>extra" queryCommandValue("justifyright") after assert_equals: Wrong result returned expected "right" but got "true"
+PASS [["justifyright",""]] "<div style=text-align:end>[foo]</div><p>extra": execCommand("justifyright", false, "") return value 
+PASS [["justifyright",""]] "<div style=text-align:end>[foo]</div><p>extra" checks for modifications to non-editable content 
+PASS [["justifyright",""]] "<div style=text-align:end>[foo]</div><p>extra" compare innerHTML 
+PASS [["justifyright",""]] "<div style=text-align:end>[foo]</div><p>extra" queryCommandIndeterm("justifyright") before 
+FAIL [["justifyright",""]] "<div style=text-align:end>[foo]</div><p>extra" queryCommandState("justifyright") before assert_equals: Wrong result returned expected true but got false
+FAIL [["justifyright",""]] "<div style=text-align:end>[foo]</div><p>extra" queryCommandValue("justifyright") before assert_equals: Wrong result returned expected "right" but got "false"
+PASS [["justifyright",""]] "<div style=text-align:end>[foo]</div><p>extra" queryCommandIndeterm("justifyright") after 
+PASS [["justifyright",""]] "<div style=text-align:end>[foo]</div><p>extra" queryCommandState("justifyright") after 
+FAIL [["justifyright",""]] "<div style=text-align:end>[foo]</div><p>extra" queryCommandValue("justifyright") after assert_equals: Wrong result returned expected "right" but got "true"
+PASS [["stylewithcss","true"],["justifyright",""]] "<div dir=rtl style=text-align:start>[foo]</div><p>extra": execCommand("stylewithcss", false, "true") return value 
+PASS [["stylewithcss","true"],["justifyright",""]] "<div dir=rtl style=text-align:start>[foo]</div><p>extra": execCommand("justifyright", false, "") return value 
+PASS [["stylewithcss","true"],["justifyright",""]] "<div dir=rtl style=text-align:start>[foo]</div><p>extra" checks for modifications to non-editable content 
+FAIL [["stylewithcss","true"],["justifyright",""]] "<div dir=rtl style=text-align:start>[foo]</div><p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<div dir=\"rtl\">foo</div><p>extra</p>" but got "<div dir=\"rtl\" style=\"text-align:start\">foo</div><p>extra</p>"
+PASS [["stylewithcss","true"],["justifyright",""]] "<div dir=rtl style=text-align:start>[foo]</div><p>extra" queryCommandIndeterm("stylewithcss") before 
+PASS [["stylewithcss","true"],["justifyright",""]] "<div dir=rtl style=text-align:start>[foo]</div><p>extra" queryCommandState("stylewithcss") before 
+PASS [["stylewithcss","true"],["justifyright",""]] "<div dir=rtl style=text-align:start>[foo]</div><p>extra" queryCommandValue("stylewithcss") before 
+PASS [["stylewithcss","true"],["justifyright",""]] "<div dir=rtl style=text-align:start>[foo]</div><p>extra" queryCommandIndeterm("stylewithcss") after 
+PASS [["stylewithcss","true"],["justifyright",""]] "<div dir=rtl style=text-align:start>[foo]</div><p>extra" queryCommandState("stylewithcss") after 
+PASS [["stylewithcss","true"],["justifyright",""]] "<div dir=rtl style=text-align:start>[foo]</div><p>extra" queryCommandValue("stylewithcss") after 
+PASS [["stylewithcss","true"],["justifyright",""]] "<div dir=rtl style=text-align:start>[foo]</div><p>extra" queryCommandIndeterm("justifyright") before 
+PASS [["stylewithcss","true"],["justifyright",""]] "<div dir=rtl style=text-align:start>[foo]</div><p>extra" queryCommandState("justifyright") before 
+FAIL [["stylewithcss","true"],["justifyright",""]] "<div dir=rtl style=text-align:start>[foo]</div><p>extra" queryCommandValue("justifyright") before assert_equals: Wrong result returned expected "right" but got "true"
+PASS [["stylewithcss","true"],["justifyright",""]] "<div dir=rtl style=text-align:start>[foo]</div><p>extra" queryCommandIndeterm("justifyright") after 
+PASS [["stylewithcss","true"],["justifyright",""]] "<div dir=rtl style=text-align:start>[foo]</div><p>extra" queryCommandState("justifyright") after 
+FAIL [["stylewithcss","true"],["justifyright",""]] "<div dir=rtl style=text-align:start>[foo]</div><p>extra" queryCommandValue("justifyright") after assert_equals: Wrong result returned expected "right" but got "true"
+PASS [["stylewithcss","false"],["justifyright",""]] "<div dir=rtl style=text-align:start>[foo]</div><p>extra": execCommand("stylewithcss", false, "false") return value 
+PASS [["stylewithcss","false"],["justifyright",""]] "<div dir=rtl style=text-align:start>[foo]</div><p>extra": execCommand("justifyright", false, "") return value 
+PASS [["stylewithcss","false"],["justifyright",""]] "<div dir=rtl style=text-align:start>[foo]</div><p>extra" checks for modifications to non-editable content 
+FAIL [["stylewithcss","false"],["justifyright",""]] "<div dir=rtl style=text-align:start>[foo]</div><p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<div dir=\"rtl\">foo</div><p>extra</p>" but got "<div dir=\"rtl\" style=\"text-align:start\">foo</div><p>extra</p>"
+PASS [["stylewithcss","false"],["justifyright",""]] "<div dir=rtl style=text-align:start>[foo]</div><p>extra" queryCommandIndeterm("stylewithcss") before 
+PASS [["stylewithcss","false"],["justifyright",""]] "<div dir=rtl style=text-align:start>[foo]</div><p>extra" queryCommandState("stylewithcss") before 
+PASS [["stylewithcss","false"],["justifyright",""]] "<div dir=rtl style=text-align:start>[foo]</div><p>extra" queryCommandValue("stylewithcss") before 
+PASS [["stylewithcss","false"],["justifyright",""]] "<div dir=rtl style=text-align:start>[foo]</div><p>extra" queryCommandIndeterm("stylewithcss") after 
+PASS [["stylewithcss","false"],["justifyright",""]] "<div dir=rtl style=text-align:start>[foo]</div><p>extra" queryCommandState("stylewithcss") after 
+PASS [["stylewithcss","false"],["justifyright",""]] "<div dir=rtl style=text-align:start>[foo]</div><p>extra" queryCommandValue("stylewithcss") after 
+PASS [["stylewithcss","false"],["justifyright",""]] "<div dir=rtl style=text-align:start>[foo]</div><p>extra" queryCommandIndeterm("justifyright") before 
+PASS [["stylewithcss","false"],["justifyright",""]] "<div dir=rtl style=text-align:start>[foo]</div><p>extra" queryCommandState("justifyright") before 
+FAIL [["stylewithcss","false"],["justifyright",""]] "<div dir=rtl style=text-align:start>[foo]</div><p>extra" queryCommandValue("justifyright") before assert_equals: Wrong result returned expected "right" but got "true"
+PASS [["stylewithcss","false"],["justifyright",""]] "<div dir=rtl style=text-align:start>[foo]</div><p>extra" queryCommandIndeterm("justifyright") after 
+PASS [["stylewithcss","false"],["justifyright",""]] "<div dir=rtl style=text-align:start>[foo]</div><p>extra" queryCommandState("justifyright") after 
+FAIL [["stylewithcss","false"],["justifyright",""]] "<div dir=rtl style=text-align:start>[foo]</div><p>extra" queryCommandValue("justifyright") after assert_equals: Wrong result returned expected "right" but got "true"
+PASS [["stylewithcss","true"],["justifyright",""]] "<div dir=rtl style=text-align:end>[foo]</div><p>extra": execCommand("stylewithcss", false, "true") return value 
+PASS [["stylewithcss","true"],["justifyright",""]] "<div dir=rtl style=text-align:end>[foo]</div><p>extra": execCommand("justifyright", false, "") return value 
+PASS [["stylewithcss","true"],["justifyright",""]] "<div dir=rtl style=text-align:end>[foo]</div><p>extra" checks for modifications to non-editable content 
+FAIL [["stylewithcss","true"],["justifyright",""]] "<div dir=rtl style=text-align:end>[foo]</div><p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<div dir=\"rtl\">foo</div><p>extra</p>" but got "<div dir=\"rtl\" style=\"text-align:end\">foo</div><p>extra</p>"
+PASS [["stylewithcss","true"],["justifyright",""]] "<div dir=rtl style=text-align:end>[foo]</div><p>extra" queryCommandIndeterm("stylewithcss") before 
+PASS [["stylewithcss","true"],["justifyright",""]] "<div dir=rtl style=text-align:end>[foo]</div><p>extra" queryCommandState("stylewithcss") before 
+PASS [["stylewithcss","true"],["justifyright",""]] "<div dir=rtl style=text-align:end>[foo]</div><p>extra" queryCommandValue("stylewithcss") before 
+PASS [["stylewithcss","true"],["justifyright",""]] "<div dir=rtl style=text-align:end>[foo]</div><p>extra" queryCommandIndeterm("stylewithcss") after 
+PASS [["stylewithcss","true"],["justifyright",""]] "<div dir=rtl style=text-align:end>[foo]</div><p>extra" queryCommandState("stylewithcss") after 
+PASS [["stylewithcss","true"],["justifyright",""]] "<div dir=rtl style=text-align:end>[foo]</div><p>extra" queryCommandValue("stylewithcss") after 
+PASS [["stylewithcss","true"],["justifyright",""]] "<div dir=rtl style=text-align:end>[foo]</div><p>extra" queryCommandIndeterm("justifyright") before 
+FAIL [["stylewithcss","true"],["justifyright",""]] "<div dir=rtl style=text-align:end>[foo]</div><p>extra" queryCommandState("justifyright") before assert_equals: Wrong result returned expected false but got true
+FAIL [["stylewithcss","true"],["justifyright",""]] "<div dir=rtl style=text-align:end>[foo]</div><p>extra" queryCommandValue("justifyright") before assert_equals: Wrong result returned expected "left" but got "true"
+PASS [["stylewithcss","true"],["justifyright",""]] "<div dir=rtl style=text-align:end>[foo]</div><p>extra" queryCommandIndeterm("justifyright") after 
+PASS [["stylewithcss","true"],["justifyright",""]] "<div dir=rtl style=text-align:end>[foo]</div><p>extra" queryCommandState("justifyright") after 
+FAIL [["stylewithcss","true"],["justifyright",""]] "<div dir=rtl style=text-align:end>[foo]</div><p>extra" queryCommandValue("justifyright") after assert_equals: Wrong result returned expected "right" but got "true"
+PASS [["stylewithcss","false"],["justifyright",""]] "<div dir=rtl style=text-align:end>[foo]</div><p>extra": execCommand("stylewithcss", false, "false") return value 
+PASS [["stylewithcss","false"],["justifyright",""]] "<div dir=rtl style=text-align:end>[foo]</div><p>extra": execCommand("justifyright", false, "") return value 
+PASS [["stylewithcss","false"],["justifyright",""]] "<div dir=rtl style=text-align:end>[foo]</div><p>extra" checks for modifications to non-editable content 
+FAIL [["stylewithcss","false"],["justifyright",""]] "<div dir=rtl style=text-align:end>[foo]</div><p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<div dir=\"rtl\">foo</div><p>extra</p>" but got "<div dir=\"rtl\" style=\"text-align:end\">foo</div><p>extra</p>"
+PASS [["stylewithcss","false"],["justifyright",""]] "<div dir=rtl style=text-align:end>[foo]</div><p>extra" queryCommandIndeterm("stylewithcss") before 
+PASS [["stylewithcss","false"],["justifyright",""]] "<div dir=rtl style=text-align:end>[foo]</div><p>extra" queryCommandState("stylewithcss") before 
+PASS [["stylewithcss","false"],["justifyright",""]] "<div dir=rtl style=text-align:end>[foo]</div><p>extra" queryCommandValue("stylewithcss") before 
+PASS [["stylewithcss","false"],["justifyright",""]] "<div dir=rtl style=text-align:end>[foo]</div><p>extra" queryCommandIndeterm("stylewithcss") after 
+PASS [["stylewithcss","false"],["justifyright",""]] "<div dir=rtl style=text-align:end>[foo]</div><p>extra" queryCommandState("stylewithcss") after 
+PASS [["stylewithcss","false"],["justifyright",""]] "<div dir=rtl style=text-align:end>[foo]</div><p>extra" queryCommandValue("stylewithcss") after 
+PASS [["stylewithcss","false"],["justifyright",""]] "<div dir=rtl style=text-align:end>[foo]</div><p>extra" queryCommandIndeterm("justifyright") before 
+FAIL [["stylewithcss","false"],["justifyright",""]] "<div dir=rtl style=text-align:end>[foo]</div><p>extra" queryCommandState("justifyright") before assert_equals: Wrong result returned expected false but got true
+FAIL [["stylewithcss","false"],["justifyright",""]] "<div dir=rtl style=text-align:end>[foo]</div><p>extra" queryCommandValue("justifyright") before assert_equals: Wrong result returned expected "left" but got "true"
+PASS [["stylewithcss","false"],["justifyright",""]] "<div dir=rtl style=text-align:end>[foo]</div><p>extra" queryCommandIndeterm("justifyright") after 
+PASS [["stylewithcss","false"],["justifyright",""]] "<div dir=rtl style=text-align:end>[foo]</div><p>extra" queryCommandState("justifyright") after 
+FAIL [["stylewithcss","false"],["justifyright",""]] "<div dir=rtl style=text-align:end>[foo]</div><p>extra" queryCommandValue("justifyright") after assert_equals: Wrong result returned expected "right" but got "true"
+PASS [["justifyright",""]] "<div style=text-align:right><p>foo</div> <p>[bar]": execCommand("justifyright", false, "") return value 
+PASS [["justifyright",""]] "<div style=text-align:right><p>foo</div> <p>[bar]" checks for modifications to non-editable content 
+FAIL [["justifyright",""]] "<div style=text-align:right><p>foo</div> <p>[bar]" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<div style=\"text-align:right\"><p>foo</p> <p>bar</p></div>" but got "<div style=\"text-align:right\"><p>foo</p></div> <p style=\"text-align:right\">bar</p>"
+PASS [["justifyright",""]] "<div style=text-align:right><p>foo</div> <p>[bar]" queryCommandIndeterm("justifyright") before 
+PASS [["justifyright",""]] "<div style=text-align:right><p>foo</div> <p>[bar]" queryCommandState("justifyright") before 
+FAIL [["justifyright",""]] "<div style=text-align:right><p>foo</div> <p>[bar]" queryCommandValue("justifyright") before assert_equals: Wrong result returned expected "left" but got "false"
+PASS [["justifyright",""]] "<div style=text-align:right><p>foo</div> <p>[bar]" queryCommandIndeterm("justifyright") after 
+PASS [["justifyright",""]] "<div style=text-align:right><p>foo</div> <p>[bar]" queryCommandState("justifyright") after 
+FAIL [["justifyright",""]] "<div style=text-align:right><p>foo</div> <p>[bar]" queryCommandValue("justifyright") after assert_equals: Wrong result returned expected "right" but got "true"
+PASS [["justifyright",""]] "<div align=right><p>foo</div> <p>[bar]": execCommand("justifyright", false, "") return value 
+PASS [["justifyright",""]] "<div align=right><p>foo</div> <p>[bar]" checks for modifications to non-editable content 
+FAIL [["justifyright",""]] "<div align=right><p>foo</div> <p>[bar]" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<div align=\"right\"><p>foo</p> <p>bar</p></div>" but got "<div align=\"right\"><p>foo</p></div> <p style=\"text-align:right\">bar</p>"
+PASS [["justifyright",""]] "<div align=right><p>foo</div> <p>[bar]" queryCommandIndeterm("justifyright") before 
+PASS [["justifyright",""]] "<div align=right><p>foo</div> <p>[bar]" queryCommandState("justifyright") before 
+FAIL [["justifyright",""]] "<div align=right><p>foo</div> <p>[bar]" queryCommandValue("justifyright") before assert_equals: Wrong result returned expected "left" but got "false"
+PASS [["justifyright",""]] "<div align=right><p>foo</div> <p>[bar]" queryCommandIndeterm("justifyright") after 
+PASS [["justifyright",""]] "<div align=right><p>foo</div> <p>[bar]" queryCommandState("justifyright") after 
+FAIL [["justifyright",""]] "<div align=right><p>foo</div> <p>[bar]" queryCommandValue("justifyright") after assert_equals: Wrong result returned expected "right" but got "true"
+PASS [["justifyright",""]] "<p>[foo]</p> <div style=text-align:right><p>bar</div>": execCommand("justifyright", false, "") return value 
+PASS [["justifyright",""]] "<p>[foo]</p> <div style=text-align:right><p>bar</div>" checks for modifications to non-editable content 
+FAIL [["justifyright",""]] "<p>[foo]</p> <div style=text-align:right><p>bar</div>" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<div style=\"text-align:right\"><p>foo</p> <p>bar</p></div>" but got "<p style=\"text-align:right\">foo</p> <div style=\"text-align:right\"><p>bar</p></div>"
+PASS [["justifyright",""]] "<p>[foo]</p> <div style=text-align:right><p>bar</div>" queryCommandIndeterm("justifyright") before 
+PASS [["justifyright",""]] "<p>[foo]</p> <div style=text-align:right><p>bar</div>" queryCommandState("justifyright") before 
+FAIL [["justifyright",""]] "<p>[foo]</p> <div style=text-align:right><p>bar</div>" queryCommandValue("justifyright") before assert_equals: Wrong result returned expected "left" but got "false"
+PASS [["justifyright",""]] "<p>[foo]</p> <div style=text-align:right><p>bar</div>" queryCommandIndeterm("justifyright") after 
+PASS [["justifyright",""]] "<p>[foo]</p> <div style=text-align:right><p>bar</div>" queryCommandState("justifyright") after 
+FAIL [["justifyright",""]] "<p>[foo]</p> <div style=text-align:right><p>bar</div>" queryCommandValue("justifyright") after assert_equals: Wrong result returned expected "right" but got "true"
+PASS [["justifyright",""]] "<p>[foo]</p> <div align=right><p>bar</div>": execCommand("justifyright", false, "") return value 
+PASS [["justifyright",""]] "<p>[foo]</p> <div align=right><p>bar</div>" checks for modifications to non-editable content 
+FAIL [["justifyright",""]] "<p>[foo]</p> <div align=right><p>bar</div>" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<div align=\"right\"><p>foo</p> <p>bar</p></div>" but got "<p style=\"text-align:right\">foo</p> <div align=\"right\"><p>bar</p></div>"
+PASS [["justifyright",""]] "<p>[foo]</p> <div align=right><p>bar</div>" queryCommandIndeterm("justifyright") before 
+PASS [["justifyright",""]] "<p>[foo]</p> <div align=right><p>bar</div>" queryCommandState("justifyright") before 
+FAIL [["justifyright",""]] "<p>[foo]</p> <div align=right><p>bar</div>" queryCommandValue("justifyright") before assert_equals: Wrong result returned expected "left" but got "false"
+PASS [["justifyright",""]] "<p>[foo]</p> <div align=right><p>bar</div>" queryCommandIndeterm("justifyright") after 
+PASS [["justifyright",""]] "<p>[foo]</p> <div align=right><p>bar</div>" queryCommandState("justifyright") after 
+FAIL [["justifyright",""]] "<p>[foo]</p> <div align=right><p>bar</div>" queryCommandValue("justifyright") after assert_equals: Wrong result returned expected "right" but got "true"
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<div style=text-align:right><p>foo</div> <p>[bar]</p> <div style=text-align:right><p>baz</div>": execCommand("stylewithcss", false, "true") return value 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<div style=text-align:right><p>foo</div> <p>[bar]</p> <div style=text-align:right><p>baz</div>": execCommand("defaultparagraphseparator", false, "div") return value 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<div style=text-align:right><p>foo</div> <p>[bar]</p> <div style=text-align:right><p>baz</div>": execCommand("justifyright", false, "") return value 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<div style=text-align:right><p>foo</div> <p>[bar]</p> <div style=text-align:right><p>baz</div>" checks for modifications to non-editable content 
+FAIL [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<div style=text-align:right><p>foo</div> <p>[bar]</p> <div style=text-align:right><p>baz</div>" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<div style=\"text-align:right\"><p>foo</p> <p>bar</p> <p>baz</p></div>" but got "<div style=\"text-align:right\"><p>foo</p></div> <p style=\"text-align:right\">bar</p> <div style=\"text-align:right\"><p>baz</p></div>"
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<div style=text-align:right><p>foo</div> <p>[bar]</p> <div style=text-align:right><p>baz</div>" queryCommandIndeterm("stylewithcss") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<div style=text-align:right><p>foo</div> <p>[bar]</p> <div style=text-align:right><p>baz</div>" queryCommandState("stylewithcss") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<div style=text-align:right><p>foo</div> <p>[bar]</p> <div style=text-align:right><p>baz</div>" queryCommandValue("stylewithcss") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<div style=text-align:right><p>foo</div> <p>[bar]</p> <div style=text-align:right><p>baz</div>" queryCommandIndeterm("stylewithcss") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<div style=text-align:right><p>foo</div> <p>[bar]</p> <div style=text-align:right><p>baz</div>" queryCommandState("stylewithcss") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<div style=text-align:right><p>foo</div> <p>[bar]</p> <div style=text-align:right><p>baz</div>" queryCommandValue("stylewithcss") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<div style=text-align:right><p>foo</div> <p>[bar]</p> <div style=text-align:right><p>baz</div>" queryCommandIndeterm("defaultparagraphseparator") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<div style=text-align:right><p>foo</div> <p>[bar]</p> <div style=text-align:right><p>baz</div>" queryCommandState("defaultparagraphseparator") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<div style=text-align:right><p>foo</div> <p>[bar]</p> <div style=text-align:right><p>baz</div>" queryCommandValue("defaultparagraphseparator") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<div style=text-align:right><p>foo</div> <p>[bar]</p> <div style=text-align:right><p>baz</div>" queryCommandIndeterm("defaultparagraphseparator") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<div style=text-align:right><p>foo</div> <p>[bar]</p> <div style=text-align:right><p>baz</div>" queryCommandState("defaultparagraphseparator") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<div style=text-align:right><p>foo</div> <p>[bar]</p> <div style=text-align:right><p>baz</div>" queryCommandValue("defaultparagraphseparator") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<div style=text-align:right><p>foo</div> <p>[bar]</p> <div style=text-align:right><p>baz</div>" queryCommandIndeterm("justifyright") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<div style=text-align:right><p>foo</div> <p>[bar]</p> <div style=text-align:right><p>baz</div>" queryCommandState("justifyright") before 
+FAIL [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<div style=text-align:right><p>foo</div> <p>[bar]</p> <div style=text-align:right><p>baz</div>" queryCommandValue("justifyright") before assert_equals: Wrong result returned expected "left" but got "false"
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<div style=text-align:right><p>foo</div> <p>[bar]</p> <div style=text-align:right><p>baz</div>" queryCommandIndeterm("justifyright") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<div style=text-align:right><p>foo</div> <p>[bar]</p> <div style=text-align:right><p>baz</div>" queryCommandState("justifyright") after 
+FAIL [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<div style=text-align:right><p>foo</div> <p>[bar]</p> <div style=text-align:right><p>baz</div>" queryCommandValue("justifyright") after assert_equals: Wrong result returned expected "right" but got "true"
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<div style=text-align:right><p>foo</div> <p>[bar]</p> <div style=text-align:right><p>baz</div>": execCommand("stylewithcss", false, "false") return value 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<div style=text-align:right><p>foo</div> <p>[bar]</p> <div style=text-align:right><p>baz</div>": execCommand("defaultparagraphseparator", false, "div") return value 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<div style=text-align:right><p>foo</div> <p>[bar]</p> <div style=text-align:right><p>baz</div>": execCommand("justifyright", false, "") return value 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<div style=text-align:right><p>foo</div> <p>[bar]</p> <div style=text-align:right><p>baz</div>" checks for modifications to non-editable content 
+FAIL [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<div style=text-align:right><p>foo</div> <p>[bar]</p> <div style=text-align:right><p>baz</div>" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<div style=\"text-align:right\"><p>foo</p> <p>bar</p> <p>baz</p></div>" but got "<div style=\"text-align:right\"><p>foo</p></div> <p style=\"text-align:right\">bar</p> <div style=\"text-align:right\"><p>baz</p></div>"
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<div style=text-align:right><p>foo</div> <p>[bar]</p> <div style=text-align:right><p>baz</div>" queryCommandIndeterm("stylewithcss") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<div style=text-align:right><p>foo</div> <p>[bar]</p> <div style=text-align:right><p>baz</div>" queryCommandState("stylewithcss") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<div style=text-align:right><p>foo</div> <p>[bar]</p> <div style=text-align:right><p>baz</div>" queryCommandValue("stylewithcss") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<div style=text-align:right><p>foo</div> <p>[bar]</p> <div style=text-align:right><p>baz</div>" queryCommandIndeterm("stylewithcss") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<div style=text-align:right><p>foo</div> <p>[bar]</p> <div style=text-align:right><p>baz</div>" queryCommandState("stylewithcss") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<div style=text-align:right><p>foo</div> <p>[bar]</p> <div style=text-align:right><p>baz</div>" queryCommandValue("stylewithcss") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<div style=text-align:right><p>foo</div> <p>[bar]</p> <div style=text-align:right><p>baz</div>" queryCommandIndeterm("defaultparagraphseparator") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<div style=text-align:right><p>foo</div> <p>[bar]</p> <div style=text-align:right><p>baz</div>" queryCommandState("defaultparagraphseparator") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<div style=text-align:right><p>foo</div> <p>[bar]</p> <div style=text-align:right><p>baz</div>" queryCommandValue("defaultparagraphseparator") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<div style=text-align:right><p>foo</div> <p>[bar]</p> <div style=text-align:right><p>baz</div>" queryCommandIndeterm("defaultparagraphseparator") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<div style=text-align:right><p>foo</div> <p>[bar]</p> <div style=text-align:right><p>baz</div>" queryCommandState("defaultparagraphseparator") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<div style=text-align:right><p>foo</div> <p>[bar]</p> <div style=text-align:right><p>baz</div>" queryCommandValue("defaultparagraphseparator") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<div style=text-align:right><p>foo</div> <p>[bar]</p> <div style=text-align:right><p>baz</div>" queryCommandIndeterm("justifyright") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<div style=text-align:right><p>foo</div> <p>[bar]</p> <div style=text-align:right><p>baz</div>" queryCommandState("justifyright") before 
+FAIL [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<div style=text-align:right><p>foo</div> <p>[bar]</p> <div style=text-align:right><p>baz</div>" queryCommandValue("justifyright") before assert_equals: Wrong result returned expected "left" but got "false"
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<div style=text-align:right><p>foo</div> <p>[bar]</p> <div style=text-align:right><p>baz</div>" queryCommandIndeterm("justifyright") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<div style=text-align:right><p>foo</div> <p>[bar]</p> <div style=text-align:right><p>baz</div>" queryCommandState("justifyright") after 
+FAIL [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<div style=text-align:right><p>foo</div> <p>[bar]</p> <div style=text-align:right><p>baz</div>" queryCommandValue("justifyright") after assert_equals: Wrong result returned expected "right" but got "true"
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<div style=text-align:right><p>foo</div> <p>[bar]</p> <div style=text-align:right><p>baz</div>": execCommand("stylewithcss", false, "true") return value 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<div style=text-align:right><p>foo</div> <p>[bar]</p> <div style=text-align:right><p>baz</div>": execCommand("defaultparagraphseparator", false, "p") return value 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<div style=text-align:right><p>foo</div> <p>[bar]</p> <div style=text-align:right><p>baz</div>": execCommand("justifyright", false, "") return value 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<div style=text-align:right><p>foo</div> <p>[bar]</p> <div style=text-align:right><p>baz</div>" checks for modifications to non-editable content 
+FAIL [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<div style=text-align:right><p>foo</div> <p>[bar]</p> <div style=text-align:right><p>baz</div>" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<div style=\"text-align:right\"><p>foo</p> <p>bar</p> <p>baz</p></div>" but got "<div style=\"text-align:right\"><p>foo</p></div> <p style=\"text-align:right\">bar</p> <div style=\"text-align:right\"><p>baz</p></div>"
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<div style=text-align:right><p>foo</div> <p>[bar]</p> <div style=text-align:right><p>baz</div>" queryCommandIndeterm("stylewithcss") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<div style=text-align:right><p>foo</div> <p>[bar]</p> <div style=text-align:right><p>baz</div>" queryCommandState("stylewithcss") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<div style=text-align:right><p>foo</div> <p>[bar]</p> <div style=text-align:right><p>baz</div>" queryCommandValue("stylewithcss") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<div style=text-align:right><p>foo</div> <p>[bar]</p> <div style=text-align:right><p>baz</div>" queryCommandIndeterm("stylewithcss") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<div style=text-align:right><p>foo</div> <p>[bar]</p> <div style=text-align:right><p>baz</div>" queryCommandState("stylewithcss") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<div style=text-align:right><p>foo</div> <p>[bar]</p> <div style=text-align:right><p>baz</div>" queryCommandValue("stylewithcss") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<div style=text-align:right><p>foo</div> <p>[bar]</p> <div style=text-align:right><p>baz</div>" queryCommandIndeterm("defaultparagraphseparator") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<div style=text-align:right><p>foo</div> <p>[bar]</p> <div style=text-align:right><p>baz</div>" queryCommandState("defaultparagraphseparator") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<div style=text-align:right><p>foo</div> <p>[bar]</p> <div style=text-align:right><p>baz</div>" queryCommandValue("defaultparagraphseparator") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<div style=text-align:right><p>foo</div> <p>[bar]</p> <div style=text-align:right><p>baz</div>" queryCommandIndeterm("defaultparagraphseparator") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<div style=text-align:right><p>foo</div> <p>[bar]</p> <div style=text-align:right><p>baz</div>" queryCommandState("defaultparagraphseparator") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<div style=text-align:right><p>foo</div> <p>[bar]</p> <div style=text-align:right><p>baz</div>" queryCommandValue("defaultparagraphseparator") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<div style=text-align:right><p>foo</div> <p>[bar]</p> <div style=text-align:right><p>baz</div>" queryCommandIndeterm("justifyright") before 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<div style=text-align:right><p>foo</div> <p>[bar]</p> <div style=text-align:right><p>baz</div>" queryCommandState("justifyright") before 
+FAIL [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<div style=text-align:right><p>foo</div> <p>[bar]</p> <div style=text-align:right><p>baz</div>" queryCommandValue("justifyright") before assert_equals: Wrong result returned expected "left" but got "false"
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<div style=text-align:right><p>foo</div> <p>[bar]</p> <div style=text-align:right><p>baz</div>" queryCommandIndeterm("justifyright") after 
+PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<div style=text-align:right><p>foo</div> <p>[bar]</p> <div style=text-align:right><p>baz</div>" queryCommandState("justifyright") after 
+FAIL [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<div style=text-align:right><p>foo</div> <p>[bar]</p> <div style=text-align:right><p>baz</div>" queryCommandValue("justifyright") after assert_equals: Wrong result returned expected "right" but got "true"
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<div style=text-align:right><p>foo</div> <p>[bar]</p> <div style=text-align:right><p>baz</div>": execCommand("stylewithcss", false, "false") return value 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<div style=text-align:right><p>foo</div> <p>[bar]</p> <div style=text-align:right><p>baz</div>": execCommand("defaultparagraphseparator", false, "p") return value 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<div style=text-align:right><p>foo</div> <p>[bar]</p> <div style=text-align:right><p>baz</div>": execCommand("justifyright", false, "") return value 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<div style=text-align:right><p>foo</div> <p>[bar]</p> <div style=text-align:right><p>baz</div>" checks for modifications to non-editable content 
+FAIL [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<div style=text-align:right><p>foo</div> <p>[bar]</p> <div style=text-align:right><p>baz</div>" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<div style=\"text-align:right\"><p>foo</p> <p>bar</p> <p>baz</p></div>" but got "<div style=\"text-align:right\"><p>foo</p></div> <p style=\"text-align:right\">bar</p> <div style=\"text-align:right\"><p>baz</p></div>"
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<div style=text-align:right><p>foo</div> <p>[bar]</p> <div style=text-align:right><p>baz</div>" queryCommandIndeterm("stylewithcss") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<div style=text-align:right><p>foo</div> <p>[bar]</p> <div style=text-align:right><p>baz</div>" queryCommandState("stylewithcss") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<div style=text-align:right><p>foo</div> <p>[bar]</p> <div style=text-align:right><p>baz</div>" queryCommandValue("stylewithcss") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<div style=text-align:right><p>foo</div> <p>[bar]</p> <div style=text-align:right><p>baz</div>" queryCommandIndeterm("stylewithcss") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<div style=text-align:right><p>foo</div> <p>[bar]</p> <div style=text-align:right><p>baz</div>" queryCommandState("stylewithcss") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<div style=text-align:right><p>foo</div> <p>[bar]</p> <div style=text-align:right><p>baz</div>" queryCommandValue("stylewithcss") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<div style=text-align:right><p>foo</div> <p>[bar]</p> <div style=text-align:right><p>baz</div>" queryCommandIndeterm("defaultparagraphseparator") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<div style=text-align:right><p>foo</div> <p>[bar]</p> <div style=text-align:right><p>baz</div>" queryCommandState("defaultparagraphseparator") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<div style=text-align:right><p>foo</div> <p>[bar]</p> <div style=text-align:right><p>baz</div>" queryCommandValue("defaultparagraphseparator") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<div style=text-align:right><p>foo</div> <p>[bar]</p> <div style=text-align:right><p>baz</div>" queryCommandIndeterm("defaultparagraphseparator") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<div style=text-align:right><p>foo</div> <p>[bar]</p> <div style=text-align:right><p>baz</div>" queryCommandState("defaultparagraphseparator") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<div style=text-align:right><p>foo</div> <p>[bar]</p> <div style=text-align:right><p>baz</div>" queryCommandValue("defaultparagraphseparator") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<div style=text-align:right><p>foo</div> <p>[bar]</p> <div style=text-align:right><p>baz</div>" queryCommandIndeterm("justifyright") before 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<div style=text-align:right><p>foo</div> <p>[bar]</p> <div style=text-align:right><p>baz</div>" queryCommandState("justifyright") before 
+FAIL [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<div style=text-align:right><p>foo</div> <p>[bar]</p> <div style=text-align:right><p>baz</div>" queryCommandValue("justifyright") before assert_equals: Wrong result returned expected "left" but got "false"
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<div style=text-align:right><p>foo</div> <p>[bar]</p> <div style=text-align:right><p>baz</div>" queryCommandIndeterm("justifyright") after 
+PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<div style=text-align:right><p>foo</div> <p>[bar]</p> <div style=text-align:right><p>baz</div>" queryCommandState("justifyright") after 
+FAIL [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<div style=text-align:right><p>foo</div> <p>[bar]</p> <div style=text-align:right><p>baz</div>" queryCommandValue("justifyright") after assert_equals: Wrong result returned expected "right" but got "true"
+PASS [["defaultparagraphseparator","div"],["justifyright",""]] "<div align=right><p>foo</div> <p>[bar]</p> <div align=right><p>baz</div>": execCommand("defaultparagraphseparator", false, "div") return value 
+PASS [["defaultparagraphseparator","div"],["justifyright",""]] "<div align=right><p>foo</div> <p>[bar]</p> <div align=right><p>baz</div>": execCommand("justifyright", false, "") return value 
+PASS [["defaultparagraphseparator","div"],["justifyright",""]] "<div align=right><p>foo</div> <p>[bar]</p> <div align=right><p>baz</div>" checks for modifications to non-editable content 
+FAIL [["defaultparagraphseparator","div"],["justifyright",""]] "<div align=right><p>foo</div> <p>[bar]</p> <div align=right><p>baz</div>" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<div align=\"right\"><p>foo</p> <p>bar</p> <p>baz</p></div>" but got "<div align=\"right\"><p>foo</p></div> <p style=\"text-align:right\">bar</p> <div align=\"right\"><p>baz</p></div>"
+PASS [["defaultparagraphseparator","div"],["justifyright",""]] "<div align=right><p>foo</div> <p>[bar]</p> <div align=right><p>baz</div>" queryCommandIndeterm("defaultparagraphseparator") before 
+PASS [["defaultparagraphseparator","div"],["justifyright",""]] "<div align=right><p>foo</div> <p>[bar]</p> <div align=right><p>baz</div>" queryCommandState("defaultparagraphseparator") before 
+PASS [["defaultparagraphseparator","div"],["justifyright",""]] "<div align=right><p>foo</div> <p>[bar]</p> <div align=right><p>baz</div>" queryCommandValue("defaultparagraphseparator") before 
+PASS [["defaultparagraphseparator","div"],["justifyright",""]] "<div align=right><p>foo</div> <p>[bar]</p> <div align=right><p>baz</div>" queryCommandIndeterm("defaultparagraphseparator") after 
+PASS [["defaultparagraphseparator","div"],["justifyright",""]] "<div align=right><p>foo</div> <p>[bar]</p> <div align=right><p>baz</div>" queryCommandState("defaultparagraphseparator") after 
+PASS [["defaultparagraphseparator","div"],["justifyright",""]] "<div align=right><p>foo</div> <p>[bar]</p> <div align=right><p>baz</div>" queryCommandValue("defaultparagraphseparator") after 
+PASS [["defaultparagraphseparator","div"],["justifyright",""]] "<div align=right><p>foo</div> <p>[bar]</p> <div align=right><p>baz</div>" queryCommandIndeterm("justifyright") before 
+PASS [["defaultparagraphseparator","div"],["justifyright",""]] "<div align=right><p>foo</div> <p>[bar]</p> <div align=right><p>baz</div>" queryCommandState("justifyright") before 
+FAIL [["defaultparagraphseparator","div"],["justifyright",""]] "<div align=right><p>foo</div> <p>[bar]</p> <div align=right><p>baz</div>" queryCommandValue("justifyright") before assert_equals: Wrong result returned expected "left" but got "false"
+PASS [["defaultparagraphseparator","div"],["justifyright",""]] "<div align=right><p>foo</div> <p>[bar]</p> <div align=right><p>baz</div>" queryCommandIndeterm("justifyright") after 
+PASS [["defaultparagraphseparator","div"],["justifyright",""]] "<div align=right><p>foo</div> <p>[bar]</p> <div align=right><p>baz</div>" queryCommandState("justifyright") after 
+FAIL [["defaultparagraphseparator","div"],["justifyright",""]] "<div align=right><p>foo</div> <p>[bar]</p> <div align=right><p>baz</div>" queryCommandValue("justifyright") after assert_equals: Wrong result returned expected "right" but got "true"
+PASS [["defaultparagraphseparator","p"],["justifyright",""]] "<div align=right><p>foo</div> <p>[bar]</p> <div align=right><p>baz</div>": execCommand("defaultparagraphseparator", false, "p") return value 
+PASS [["defaultparagraphseparator","p"],["justifyright",""]] "<div align=right><p>foo</div> <p>[bar]</p> <div align=right><p>baz</div>": execCommand("justifyright", false, "") return value 
+PASS [["defaultparagraphseparator","p"],["justifyright",""]] "<div align=right><p>foo</div> <p>[bar]</p> <div align=right><p>baz</div>" checks for modifications to non-editable content 
+FAIL [["defaultparagraphseparator","p"],["justifyright",""]] "<div align=right><p>foo</div> <p>[bar]</p> <div align=right><p>baz</div>" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<div align=\"right\"><p>foo</p> <p>bar</p> <p>baz</p></div>" but got "<div align=\"right\"><p>foo</p></div> <p style=\"text-align:right\">bar</p> <div align=\"right\"><p>baz</p></div>"
+PASS [["defaultparagraphseparator","p"],["justifyright",""]] "<div align=right><p>foo</div> <p>[bar]</p> <div align=right><p>baz</div>" queryCommandIndeterm("defaultparagraphseparator") before 
+PASS [["defaultparagraphseparator","p"],["justifyright",""]] "<div align=right><p>foo</div> <p>[bar]</p> <div align=right><p>baz</div>" queryCommandState("defaultparagraphseparator") before 
+PASS [["defaultparagraphseparator","p"],["justifyright",""]] "<div align=right><p>foo</div> <p>[bar]</p> <div align=right><p>baz</div>" queryCommandValue("defaultparagraphseparator") before 
+PASS [["defaultparagraphseparator","p"],["justifyright",""]] "<div align=right><p>foo</div> <p>[bar]</p> <div align=right><p>baz</div>" queryCommandIndeterm("defaultparagraphseparator") after 
+PASS [["defaultparagraphseparator","p"],["justifyright",""]] "<div align=right><p>foo</div> <p>[bar]</p> <div align=right><p>baz</div>" queryCommandState("defaultparagraphseparator") after 
+PASS [["defaultparagraphseparator","p"],["justifyright",""]] "<div align=right><p>foo</div> <p>[bar]</p> <div align=right><p>baz</div>" queryCommandValue("defaultparagraphseparator") after 
+PASS [["defaultparagraphseparator","p"],["justifyright",""]] "<div align=right><p>foo</div> <p>[bar]</p> <div align=right><p>baz</div>" queryCommandIndeterm("justifyright") before 
+PASS [["defaultparagraphseparator","p"],["justifyright",""]] "<div align=right><p>foo</div> <p>[bar]</p> <div align=right><p>baz</div>" queryCommandState("justifyright") before 
+FAIL [["defaultparagraphseparator","p"],["justifyright",""]] "<div align=right><p>foo</div> <p>[bar]</p> <div align=right><p>baz</div>" queryCommandValue("justifyright") before assert_equals: Wrong result returned expected "left" but got "false"
+PASS [["defaultparagraphseparator","p"],["justifyright",""]] "<div align=right><p>foo</div> <p>[bar]</p> <div align=right><p>baz</div>" queryCommandIndeterm("justifyright") after 
+PASS [["defaultparagraphseparator","p"],["justifyright",""]] "<div align=right><p>foo</div> <p>[bar]</p> <div align=right><p>baz</div>" queryCommandState("justifyright") after 
+FAIL [["defaultparagraphseparator","p"],["justifyright",""]] "<div align=right><p>foo</div> <p>[bar]</p> <div align=right><p>baz</div>" queryCommandValue("justifyright") after assert_equals: Wrong result returned expected "right" but got "true"
+Harness: the test ran to completion.
+
diff --git a/third_party/WebKit/LayoutTests/platform/mac/external/wpt/editing/run/strikethrough-expected.txt b/third_party/WebKit/LayoutTests/platform/mac/external/wpt/editing/run/strikethrough-expected.txt
index a985bc1e..e2cce5b 100644
--- a/third_party/WebKit/LayoutTests/platform/mac/external/wpt/editing/run/strikethrough-expected.txt
+++ b/third_party/WebKit/LayoutTests/platform/mac/external/wpt/editing/run/strikethrough-expected.txt
@@ -720,7 +720,7 @@
 PASS [["stylewithcss","true"],["strikethrough",""]] "<p style=\"text-decoration: underline\">foo[bar]baz</p>": execCommand("stylewithcss", false, "true") return value 
 PASS [["stylewithcss","true"],["strikethrough",""]] "<p style=\"text-decoration: underline\">foo[bar]baz</p>": execCommand("strikethrough", false, "") return value 
 PASS [["stylewithcss","true"],["strikethrough",""]] "<p style=\"text-decoration: underline\">foo[bar]baz</p>" checks for modifications to non-editable content 
-FAIL [["stylewithcss","true"],["strikethrough",""]] "<p style=\"text-decoration: underline\">foo[bar]baz</p>" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<p style=\"text-decoration:underline\">foo<span style=\"text-decoration:line-through\">bar</span>baz</p>" but got "<p><span style=\"text-decoration-line:underline\">foo</span><span style=\"text-decoration-line:underline line-through\">bar</span><span style=\"text-decoration-line:underline\">baz</span></p>"
+FAIL [["stylewithcss","true"],["strikethrough",""]] "<p style=\"text-decoration: underline\">foo[bar]baz</p>" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<p style=\"text-decoration:underline\">foo<span style=\"text-decoration:line-through\">bar</span>baz</p>" but got "<p style=\"\"><span style=\"text-decoration-line:underline\">foo</span><span style=\"text-decoration-line:underline line-through\">bar</span><span style=\"text-decoration-line:underline\">baz</span></p>"
 PASS [["stylewithcss","true"],["strikethrough",""]] "<p style=\"text-decoration: underline\">foo[bar]baz</p>" queryCommandIndeterm("stylewithcss") before 
 PASS [["stylewithcss","true"],["strikethrough",""]] "<p style=\"text-decoration: underline\">foo[bar]baz</p>" queryCommandState("stylewithcss") before 
 PASS [["stylewithcss","true"],["strikethrough",""]] "<p style=\"text-decoration: underline\">foo[bar]baz</p>" queryCommandValue("stylewithcss") before 
@@ -736,7 +736,7 @@
 PASS [["stylewithcss","false"],["strikethrough",""]] "<p style=\"text-decoration: underline\">foo[bar]baz</p>": execCommand("stylewithcss", false, "false") return value 
 PASS [["stylewithcss","false"],["strikethrough",""]] "<p style=\"text-decoration: underline\">foo[bar]baz</p>": execCommand("strikethrough", false, "") return value 
 PASS [["stylewithcss","false"],["strikethrough",""]] "<p style=\"text-decoration: underline\">foo[bar]baz</p>" checks for modifications to non-editable content 
-FAIL [["stylewithcss","false"],["strikethrough",""]] "<p style=\"text-decoration: underline\">foo[bar]baz</p>" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<p style=\"text-decoration:underline\">foo<s>bar</s>baz</p>" but got "<p><span style=\"text-decoration-line:underline\">foo</span><u><strike>bar</strike>baz</u></p>"
+FAIL [["stylewithcss","false"],["strikethrough",""]] "<p style=\"text-decoration: underline\">foo[bar]baz</p>" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<p style=\"text-decoration:underline\">foo<s>bar</s>baz</p>" but got "<p style=\"\"><span style=\"text-decoration-line:underline\">foo</span><u><strike>bar</strike>baz</u></p>"
 PASS [["stylewithcss","false"],["strikethrough",""]] "<p style=\"text-decoration: underline\">foo[bar]baz</p>" queryCommandIndeterm("stylewithcss") before 
 PASS [["stylewithcss","false"],["strikethrough",""]] "<p style=\"text-decoration: underline\">foo[bar]baz</p>" queryCommandState("stylewithcss") before 
 PASS [["stylewithcss","false"],["strikethrough",""]] "<p style=\"text-decoration: underline\">foo[bar]baz</p>" queryCommandValue("stylewithcss") before 
@@ -912,7 +912,7 @@
 PASS [["stylewithcss","true"],["strikethrough",""]] "<s>foo[b<i>ar]ba</i>z</s>": execCommand("stylewithcss", false, "true") return value 
 PASS [["stylewithcss","true"],["strikethrough",""]] "<s>foo[b<i>ar]ba</i>z</s>": execCommand("strikethrough", false, "") return value 
 PASS [["stylewithcss","true"],["strikethrough",""]] "<s>foo[b<i>ar]ba</i>z</s>" checks for modifications to non-editable content 
-FAIL [["stylewithcss","true"],["strikethrough",""]] "<s>foo[b<i>ar]ba</i>z</s>" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<span style=\"text-decoration:line-through\">foo</span>b<i>ar<span style=\"text-decoration:line-through\">ba</span></i><span style=\"text-decoration:line-through\">z</span>" but got "<s>foo</s>b<i>ar<span style=\"text-decoration-line:line-through\">ba</span></i><span style=\"text-decoration-line:line-through\">z</span>"
+FAIL [["stylewithcss","true"],["strikethrough",""]] "<s>foo[b<i>ar]ba</i>z</s>" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<span style=\"text-decoration:line-through\">foo</span>b<i>ar<span style=\"text-decoration:line-through\">ba</span></i><span style=\"text-decoration:line-through\">z</span>" but got "<s>foo</s>b<i style=\"\">ar<span style=\"text-decoration-line:line-through\">ba</span></i><span style=\"text-decoration-line:line-through\">z</span>"
 PASS [["stylewithcss","true"],["strikethrough",""]] "<s>foo[b<i>ar]ba</i>z</s>" queryCommandIndeterm("stylewithcss") before 
 PASS [["stylewithcss","true"],["strikethrough",""]] "<s>foo[b<i>ar]ba</i>z</s>" queryCommandState("stylewithcss") before 
 PASS [["stylewithcss","true"],["strikethrough",""]] "<s>foo[b<i>ar]ba</i>z</s>" queryCommandValue("stylewithcss") before 
@@ -928,7 +928,7 @@
 PASS [["stylewithcss","false"],["strikethrough",""]] "<s>foo[b<i>ar]ba</i>z</s>": execCommand("stylewithcss", false, "false") return value 
 PASS [["stylewithcss","false"],["strikethrough",""]] "<s>foo[b<i>ar]ba</i>z</s>": execCommand("strikethrough", false, "") return value 
 PASS [["stylewithcss","false"],["strikethrough",""]] "<s>foo[b<i>ar]ba</i>z</s>" checks for modifications to non-editable content 
-FAIL [["stylewithcss","false"],["strikethrough",""]] "<s>foo[b<i>ar]ba</i>z</s>" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<s>foo</s>b<i>ar<s>ba</s></i><s>z</s>" but got "<s>foo</s>b<i>ar<strike>ba</strike></i><strike>z</strike>"
+FAIL [["stylewithcss","false"],["strikethrough",""]] "<s>foo[b<i>ar]ba</i>z</s>" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<s>foo</s>b<i>ar<s>ba</s></i><s>z</s>" but got "<s>foo</s>b<i style=\"\">ar<strike>ba</strike></i><strike>z</strike>"
 PASS [["stylewithcss","false"],["strikethrough",""]] "<s>foo[b<i>ar]ba</i>z</s>" queryCommandIndeterm("stylewithcss") before 
 PASS [["stylewithcss","false"],["strikethrough",""]] "<s>foo[b<i>ar]ba</i>z</s>" queryCommandState("stylewithcss") before 
 PASS [["stylewithcss","false"],["strikethrough",""]] "<s>foo[b<i>ar]ba</i>z</s>" queryCommandValue("stylewithcss") before 
@@ -1104,7 +1104,7 @@
 PASS [["stylewithcss","true"],["strikethrough",""]] "<strike>foo[b<i>ar]ba</i>z</strike>": execCommand("stylewithcss", false, "true") return value 
 PASS [["stylewithcss","true"],["strikethrough",""]] "<strike>foo[b<i>ar]ba</i>z</strike>": execCommand("strikethrough", false, "") return value 
 PASS [["stylewithcss","true"],["strikethrough",""]] "<strike>foo[b<i>ar]ba</i>z</strike>" checks for modifications to non-editable content 
-FAIL [["stylewithcss","true"],["strikethrough",""]] "<strike>foo[b<i>ar]ba</i>z</strike>" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<span style=\"text-decoration:line-through\">foo</span>b<i>ar<span style=\"text-decoration:line-through\">ba</span></i><span style=\"text-decoration:line-through\">z</span>" but got "<strike>foo</strike>b<i>ar<span style=\"text-decoration-line:line-through\">ba</span></i><span style=\"text-decoration-line:line-through\">z</span>"
+FAIL [["stylewithcss","true"],["strikethrough",""]] "<strike>foo[b<i>ar]ba</i>z</strike>" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<span style=\"text-decoration:line-through\">foo</span>b<i>ar<span style=\"text-decoration:line-through\">ba</span></i><span style=\"text-decoration:line-through\">z</span>" but got "<strike>foo</strike>b<i style=\"\">ar<span style=\"text-decoration-line:line-through\">ba</span></i><span style=\"text-decoration-line:line-through\">z</span>"
 PASS [["stylewithcss","true"],["strikethrough",""]] "<strike>foo[b<i>ar]ba</i>z</strike>" queryCommandIndeterm("stylewithcss") before 
 PASS [["stylewithcss","true"],["strikethrough",""]] "<strike>foo[b<i>ar]ba</i>z</strike>" queryCommandState("stylewithcss") before 
 PASS [["stylewithcss","true"],["strikethrough",""]] "<strike>foo[b<i>ar]ba</i>z</strike>" queryCommandValue("stylewithcss") before 
@@ -1120,7 +1120,7 @@
 PASS [["stylewithcss","false"],["strikethrough",""]] "<strike>foo[b<i>ar]ba</i>z</strike>": execCommand("stylewithcss", false, "false") return value 
 PASS [["stylewithcss","false"],["strikethrough",""]] "<strike>foo[b<i>ar]ba</i>z</strike>": execCommand("strikethrough", false, "") return value 
 PASS [["stylewithcss","false"],["strikethrough",""]] "<strike>foo[b<i>ar]ba</i>z</strike>" checks for modifications to non-editable content 
-FAIL [["stylewithcss","false"],["strikethrough",""]] "<strike>foo[b<i>ar]ba</i>z</strike>" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<s>foo</s>b<i>ar<s>ba</s></i><s>z</s>" but got "<strike>foo</strike>b<i>ar<strike>ba</strike></i><strike>z</strike>"
+FAIL [["stylewithcss","false"],["strikethrough",""]] "<strike>foo[b<i>ar]ba</i>z</strike>" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<s>foo</s>b<i>ar<s>ba</s></i><s>z</s>" but got "<strike>foo</strike>b<i style=\"\">ar<strike>ba</strike></i><strike>z</strike>"
 PASS [["stylewithcss","false"],["strikethrough",""]] "<strike>foo[b<i>ar]ba</i>z</strike>" queryCommandIndeterm("stylewithcss") before 
 PASS [["stylewithcss","false"],["strikethrough",""]] "<strike>foo[b<i>ar]ba</i>z</strike>" queryCommandState("stylewithcss") before 
 PASS [["stylewithcss","false"],["strikethrough",""]] "<strike>foo[b<i>ar]ba</i>z</strike>" queryCommandValue("stylewithcss") before 
@@ -1679,7 +1679,7 @@
 PASS [["stylewithcss","true"],["strikethrough",""]] "<p style=\"text-decoration: line-through\">foo[bar]baz</p>": execCommand("stylewithcss", false, "true") return value 
 PASS [["stylewithcss","true"],["strikethrough",""]] "<p style=\"text-decoration: line-through\">foo[bar]baz</p>": execCommand("strikethrough", false, "") return value 
 PASS [["stylewithcss","true"],["strikethrough",""]] "<p style=\"text-decoration: line-through\">foo[bar]baz</p>" checks for modifications to non-editable content 
-FAIL [["stylewithcss","true"],["strikethrough",""]] "<p style=\"text-decoration: line-through\">foo[bar]baz</p>" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<p><span style=\"text-decoration:line-through\">foo</span>bar<span style=\"text-decoration:line-through\">baz</span></p>" but got "<p><span style=\"text-decoration-line:line-through\">foo</span>bar<span style=\"text-decoration-line:line-through\">baz</span></p>"
+FAIL [["stylewithcss","true"],["strikethrough",""]] "<p style=\"text-decoration: line-through\">foo[bar]baz</p>" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<p><span style=\"text-decoration:line-through\">foo</span>bar<span style=\"text-decoration:line-through\">baz</span></p>" but got "<p style=\"\"><span style=\"text-decoration-line:line-through\">foo</span>bar<span style=\"text-decoration-line:line-through\">baz</span></p>"
 PASS [["stylewithcss","true"],["strikethrough",""]] "<p style=\"text-decoration: line-through\">foo[bar]baz</p>" queryCommandIndeterm("stylewithcss") before 
 PASS [["stylewithcss","true"],["strikethrough",""]] "<p style=\"text-decoration: line-through\">foo[bar]baz</p>" queryCommandState("stylewithcss") before 
 PASS [["stylewithcss","true"],["strikethrough",""]] "<p style=\"text-decoration: line-through\">foo[bar]baz</p>" queryCommandValue("stylewithcss") before 
@@ -1695,7 +1695,7 @@
 PASS [["stylewithcss","false"],["strikethrough",""]] "<p style=\"text-decoration: line-through\">foo[bar]baz</p>": execCommand("stylewithcss", false, "false") return value 
 PASS [["stylewithcss","false"],["strikethrough",""]] "<p style=\"text-decoration: line-through\">foo[bar]baz</p>": execCommand("strikethrough", false, "") return value 
 PASS [["stylewithcss","false"],["strikethrough",""]] "<p style=\"text-decoration: line-through\">foo[bar]baz</p>" checks for modifications to non-editable content 
-FAIL [["stylewithcss","false"],["strikethrough",""]] "<p style=\"text-decoration: line-through\">foo[bar]baz</p>" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<p><s>foo</s>bar<s>baz</s></p>" but got "<p><span style=\"text-decoration-line:line-through\">foo</span>bar<strike>baz</strike></p>"
+FAIL [["stylewithcss","false"],["strikethrough",""]] "<p style=\"text-decoration: line-through\">foo[bar]baz</p>" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<p><s>foo</s>bar<s>baz</s></p>" but got "<p style=\"\"><span style=\"text-decoration-line:line-through\">foo</span>bar<strike>baz</strike></p>"
 PASS [["stylewithcss","false"],["strikethrough",""]] "<p style=\"text-decoration: line-through\">foo[bar]baz</p>" queryCommandIndeterm("stylewithcss") before 
 PASS [["stylewithcss","false"],["strikethrough",""]] "<p style=\"text-decoration: line-through\">foo[bar]baz</p>" queryCommandState("stylewithcss") before 
 PASS [["stylewithcss","false"],["strikethrough",""]] "<p style=\"text-decoration: line-through\">foo[bar]baz</p>" queryCommandValue("stylewithcss") before 
@@ -1711,7 +1711,7 @@
 PASS [["stylewithcss","true"],["strikethrough",""]] "<p style=\"text-decoration: overline\">foo[bar]baz</p>": execCommand("stylewithcss", false, "true") return value 
 PASS [["stylewithcss","true"],["strikethrough",""]] "<p style=\"text-decoration: overline\">foo[bar]baz</p>": execCommand("strikethrough", false, "") return value 
 PASS [["stylewithcss","true"],["strikethrough",""]] "<p style=\"text-decoration: overline\">foo[bar]baz</p>" checks for modifications to non-editable content 
-FAIL [["stylewithcss","true"],["strikethrough",""]] "<p style=\"text-decoration: overline\">foo[bar]baz</p>" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<p style=\"text-decoration:overline\">foo<span style=\"text-decoration:line-through\">bar</span>baz</p>" but got "<p><span style=\"text-decoration-line:overline\">foo</span><span style=\"text-decoration-line:overline line-through\">bar</span><span style=\"text-decoration-line:overline\">baz</span></p>"
+FAIL [["stylewithcss","true"],["strikethrough",""]] "<p style=\"text-decoration: overline\">foo[bar]baz</p>" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<p style=\"text-decoration:overline\">foo<span style=\"text-decoration:line-through\">bar</span>baz</p>" but got "<p style=\"\"><span style=\"text-decoration-line:overline\">foo</span><span style=\"text-decoration-line:overline line-through\">bar</span><span style=\"text-decoration-line:overline\">baz</span></p>"
 PASS [["stylewithcss","true"],["strikethrough",""]] "<p style=\"text-decoration: overline\">foo[bar]baz</p>" queryCommandIndeterm("stylewithcss") before 
 PASS [["stylewithcss","true"],["strikethrough",""]] "<p style=\"text-decoration: overline\">foo[bar]baz</p>" queryCommandState("stylewithcss") before 
 PASS [["stylewithcss","true"],["strikethrough",""]] "<p style=\"text-decoration: overline\">foo[bar]baz</p>" queryCommandValue("stylewithcss") before 
@@ -1727,7 +1727,7 @@
 PASS [["stylewithcss","false"],["strikethrough",""]] "<p style=\"text-decoration: overline\">foo[bar]baz</p>": execCommand("stylewithcss", false, "false") return value 
 PASS [["stylewithcss","false"],["strikethrough",""]] "<p style=\"text-decoration: overline\">foo[bar]baz</p>": execCommand("strikethrough", false, "") return value 
 PASS [["stylewithcss","false"],["strikethrough",""]] "<p style=\"text-decoration: overline\">foo[bar]baz</p>" checks for modifications to non-editable content 
-FAIL [["stylewithcss","false"],["strikethrough",""]] "<p style=\"text-decoration: overline\">foo[bar]baz</p>" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<p style=\"text-decoration:overline\">foo<s>bar</s>baz</p>" but got "<p><span style=\"text-decoration-line:overline\">foo<strike>bar</strike>baz</span></p>"
+FAIL [["stylewithcss","false"],["strikethrough",""]] "<p style=\"text-decoration: overline\">foo[bar]baz</p>" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<p style=\"text-decoration:overline\">foo<s>bar</s>baz</p>" but got "<p style=\"\"><span style=\"text-decoration-line:overline\">foo<strike>bar</strike>baz</span></p>"
 PASS [["stylewithcss","false"],["strikethrough",""]] "<p style=\"text-decoration: overline\">foo[bar]baz</p>" queryCommandIndeterm("stylewithcss") before 
 PASS [["stylewithcss","false"],["strikethrough",""]] "<p style=\"text-decoration: overline\">foo[bar]baz</p>" queryCommandState("stylewithcss") before 
 PASS [["stylewithcss","false"],["strikethrough",""]] "<p style=\"text-decoration: overline\">foo[bar]baz</p>" queryCommandValue("stylewithcss") before 
diff --git a/third_party/WebKit/LayoutTests/platform/mac/external/wpt/editing/run/underline-expected.txt b/third_party/WebKit/LayoutTests/platform/mac/external/wpt/editing/run/underline-expected.txt
index bd762fa0..809684e 100644
--- a/third_party/WebKit/LayoutTests/platform/mac/external/wpt/editing/run/underline-expected.txt
+++ b/third_party/WebKit/LayoutTests/platform/mac/external/wpt/editing/run/underline-expected.txt
@@ -1,5 +1,5 @@
 This is a testharness.js-based test.
-Found 2123 tests; 1748 PASS, 375 FAIL, 0 TIMEOUT, 0 NOTRUN.
+Found 2123 tests; 1747 PASS, 376 FAIL, 0 TIMEOUT, 0 NOTRUN.
 PASS [["underline",""]] "foo[]bar": execCommand("underline", false, "") return value 
 PASS [["underline",""]] "foo[]bar" checks for modifications to non-editable content 
 PASS [["underline",""]] "foo[]bar" compare innerHTML 
@@ -656,7 +656,7 @@
 PASS [["stylewithcss","true"],["underline",""]] "<u>foo[b<i>ar]ba</i>z</u>": execCommand("stylewithcss", false, "true") return value 
 PASS [["stylewithcss","true"],["underline",""]] "<u>foo[b<i>ar]ba</i>z</u>": execCommand("underline", false, "") return value 
 PASS [["stylewithcss","true"],["underline",""]] "<u>foo[b<i>ar]ba</i>z</u>" checks for modifications to non-editable content 
-FAIL [["stylewithcss","true"],["underline",""]] "<u>foo[b<i>ar]ba</i>z</u>" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<span style=\"text-decoration:underline\">foo</span>b<i>ar<span style=\"text-decoration:underline\">ba</span></i><span style=\"text-decoration:underline\">z</span>" but got "<u>foo</u>b<i>ar<span style=\"text-decoration-line:underline\">ba</span></i><span style=\"text-decoration-line:underline\">z</span>"
+FAIL [["stylewithcss","true"],["underline",""]] "<u>foo[b<i>ar]ba</i>z</u>" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<span style=\"text-decoration:underline\">foo</span>b<i>ar<span style=\"text-decoration:underline\">ba</span></i><span style=\"text-decoration:underline\">z</span>" but got "<u>foo</u>b<i style=\"\">ar<span style=\"text-decoration-line:underline\">ba</span></i><span style=\"text-decoration-line:underline\">z</span>"
 PASS [["stylewithcss","true"],["underline",""]] "<u>foo[b<i>ar]ba</i>z</u>" queryCommandIndeterm("stylewithcss") before 
 PASS [["stylewithcss","true"],["underline",""]] "<u>foo[b<i>ar]ba</i>z</u>" queryCommandState("stylewithcss") before 
 PASS [["stylewithcss","true"],["underline",""]] "<u>foo[b<i>ar]ba</i>z</u>" queryCommandValue("stylewithcss") before 
@@ -672,7 +672,7 @@
 PASS [["stylewithcss","false"],["underline",""]] "<u>foo[b<i>ar]ba</i>z</u>": execCommand("stylewithcss", false, "false") return value 
 PASS [["stylewithcss","false"],["underline",""]] "<u>foo[b<i>ar]ba</i>z</u>": execCommand("underline", false, "") return value 
 PASS [["stylewithcss","false"],["underline",""]] "<u>foo[b<i>ar]ba</i>z</u>" checks for modifications to non-editable content 
-PASS [["stylewithcss","false"],["underline",""]] "<u>foo[b<i>ar]ba</i>z</u>" compare innerHTML 
+FAIL [["stylewithcss","false"],["underline",""]] "<u>foo[b<i>ar]ba</i>z</u>" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<u>foo</u>b<i>ar<u>ba</u></i><u>z</u>" but got "<u>foo</u>b<i style=\"\">ar<u>ba</u></i><u>z</u>"
 PASS [["stylewithcss","false"],["underline",""]] "<u>foo[b<i>ar]ba</i>z</u>" queryCommandIndeterm("stylewithcss") before 
 PASS [["stylewithcss","false"],["underline",""]] "<u>foo[b<i>ar]ba</i>z</u>" queryCommandState("stylewithcss") before 
 PASS [["stylewithcss","false"],["underline",""]] "<u>foo[b<i>ar]ba</i>z</u>" queryCommandValue("stylewithcss") before 
@@ -688,7 +688,7 @@
 PASS [["stylewithcss","true"],["underline",""]] "<p style=\"text-decoration: underline\">foo[bar]baz</p>": execCommand("stylewithcss", false, "true") return value 
 PASS [["stylewithcss","true"],["underline",""]] "<p style=\"text-decoration: underline\">foo[bar]baz</p>": execCommand("underline", false, "") return value 
 PASS [["stylewithcss","true"],["underline",""]] "<p style=\"text-decoration: underline\">foo[bar]baz</p>" checks for modifications to non-editable content 
-FAIL [["stylewithcss","true"],["underline",""]] "<p style=\"text-decoration: underline\">foo[bar]baz</p>" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<p><span style=\"text-decoration:underline\">foo</span>bar<span style=\"text-decoration:underline\">baz</span></p>" but got "<p><span style=\"text-decoration-line:underline\">foo</span>bar<span style=\"text-decoration-line:underline\">baz</span></p>"
+FAIL [["stylewithcss","true"],["underline",""]] "<p style=\"text-decoration: underline\">foo[bar]baz</p>" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<p><span style=\"text-decoration:underline\">foo</span>bar<span style=\"text-decoration:underline\">baz</span></p>" but got "<p style=\"\"><span style=\"text-decoration-line:underline\">foo</span>bar<span style=\"text-decoration-line:underline\">baz</span></p>"
 PASS [["stylewithcss","true"],["underline",""]] "<p style=\"text-decoration: underline\">foo[bar]baz</p>" queryCommandIndeterm("stylewithcss") before 
 PASS [["stylewithcss","true"],["underline",""]] "<p style=\"text-decoration: underline\">foo[bar]baz</p>" queryCommandState("stylewithcss") before 
 PASS [["stylewithcss","true"],["underline",""]] "<p style=\"text-decoration: underline\">foo[bar]baz</p>" queryCommandValue("stylewithcss") before 
@@ -704,7 +704,7 @@
 PASS [["stylewithcss","false"],["underline",""]] "<p style=\"text-decoration: underline\">foo[bar]baz</p>": execCommand("stylewithcss", false, "false") return value 
 PASS [["stylewithcss","false"],["underline",""]] "<p style=\"text-decoration: underline\">foo[bar]baz</p>": execCommand("underline", false, "") return value 
 PASS [["stylewithcss","false"],["underline",""]] "<p style=\"text-decoration: underline\">foo[bar]baz</p>" checks for modifications to non-editable content 
-FAIL [["stylewithcss","false"],["underline",""]] "<p style=\"text-decoration: underline\">foo[bar]baz</p>" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<p><u>foo</u>bar<u>baz</u></p>" but got "<p><span style=\"text-decoration-line:underline\">foo</span>bar<u>baz</u></p>"
+FAIL [["stylewithcss","false"],["underline",""]] "<p style=\"text-decoration: underline\">foo[bar]baz</p>" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<p><u>foo</u>bar<u>baz</u></p>" but got "<p style=\"\"><span style=\"text-decoration-line:underline\">foo</span>bar<u>baz</u></p>"
 PASS [["stylewithcss","false"],["underline",""]] "<p style=\"text-decoration: underline\">foo[bar]baz</p>" queryCommandIndeterm("stylewithcss") before 
 PASS [["stylewithcss","false"],["underline",""]] "<p style=\"text-decoration: underline\">foo[bar]baz</p>" queryCommandState("stylewithcss") before 
 PASS [["stylewithcss","false"],["underline",""]] "<p style=\"text-decoration: underline\">foo[bar]baz</p>" queryCommandValue("stylewithcss") before 
@@ -944,7 +944,7 @@
 PASS [["stylewithcss","true"],["underline",""]] "<p style=\"text-decoration: line-through\">foo[bar]baz</p>": execCommand("stylewithcss", false, "true") return value 
 PASS [["stylewithcss","true"],["underline",""]] "<p style=\"text-decoration: line-through\">foo[bar]baz</p>": execCommand("underline", false, "") return value 
 PASS [["stylewithcss","true"],["underline",""]] "<p style=\"text-decoration: line-through\">foo[bar]baz</p>" checks for modifications to non-editable content 
-FAIL [["stylewithcss","true"],["underline",""]] "<p style=\"text-decoration: line-through\">foo[bar]baz</p>" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<p style=\"text-decoration:line-through\">foo<span style=\"text-decoration:underline\">bar</span>baz</p>" but got "<p><span style=\"text-decoration-line:line-through\">foo</span><span style=\"text-decoration-line:line-through underline\">bar</span><span style=\"text-decoration-line:line-through\">baz</span></p>"
+FAIL [["stylewithcss","true"],["underline",""]] "<p style=\"text-decoration: line-through\">foo[bar]baz</p>" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<p style=\"text-decoration:line-through\">foo<span style=\"text-decoration:underline\">bar</span>baz</p>" but got "<p style=\"\"><span style=\"text-decoration-line:line-through\">foo</span><span style=\"text-decoration-line:line-through underline\">bar</span><span style=\"text-decoration-line:line-through\">baz</span></p>"
 PASS [["stylewithcss","true"],["underline",""]] "<p style=\"text-decoration: line-through\">foo[bar]baz</p>" queryCommandIndeterm("stylewithcss") before 
 PASS [["stylewithcss","true"],["underline",""]] "<p style=\"text-decoration: line-through\">foo[bar]baz</p>" queryCommandState("stylewithcss") before 
 PASS [["stylewithcss","true"],["underline",""]] "<p style=\"text-decoration: line-through\">foo[bar]baz</p>" queryCommandValue("stylewithcss") before 
@@ -960,7 +960,7 @@
 PASS [["stylewithcss","false"],["underline",""]] "<p style=\"text-decoration: line-through\">foo[bar]baz</p>": execCommand("stylewithcss", false, "false") return value 
 PASS [["stylewithcss","false"],["underline",""]] "<p style=\"text-decoration: line-through\">foo[bar]baz</p>": execCommand("underline", false, "") return value 
 PASS [["stylewithcss","false"],["underline",""]] "<p style=\"text-decoration: line-through\">foo[bar]baz</p>" checks for modifications to non-editable content 
-FAIL [["stylewithcss","false"],["underline",""]] "<p style=\"text-decoration: line-through\">foo[bar]baz</p>" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<p style=\"text-decoration:line-through\">foo<u>bar</u>baz</p>" but got "<p><span style=\"text-decoration-line:line-through\">foo</span><u><strike>bar</strike></u><strike>baz</strike></p>"
+FAIL [["stylewithcss","false"],["underline",""]] "<p style=\"text-decoration: line-through\">foo[bar]baz</p>" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<p style=\"text-decoration:line-through\">foo<u>bar</u>baz</p>" but got "<p style=\"\"><span style=\"text-decoration-line:line-through\">foo</span><u><strike>bar</strike></u><strike>baz</strike></p>"
 PASS [["stylewithcss","false"],["underline",""]] "<p style=\"text-decoration: line-through\">foo[bar]baz</p>" queryCommandIndeterm("stylewithcss") before 
 PASS [["stylewithcss","false"],["underline",""]] "<p style=\"text-decoration: line-through\">foo[bar]baz</p>" queryCommandState("stylewithcss") before 
 PASS [["stylewithcss","false"],["underline",""]] "<p style=\"text-decoration: line-through\">foo[bar]baz</p>" queryCommandValue("stylewithcss") before 
@@ -1711,7 +1711,7 @@
 PASS [["stylewithcss","true"],["underline",""]] "<p style=\"text-decoration: overline\">foo[bar]baz</p>": execCommand("stylewithcss", false, "true") return value 
 PASS [["stylewithcss","true"],["underline",""]] "<p style=\"text-decoration: overline\">foo[bar]baz</p>": execCommand("underline", false, "") return value 
 PASS [["stylewithcss","true"],["underline",""]] "<p style=\"text-decoration: overline\">foo[bar]baz</p>" checks for modifications to non-editable content 
-FAIL [["stylewithcss","true"],["underline",""]] "<p style=\"text-decoration: overline\">foo[bar]baz</p>" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<p style=\"text-decoration:overline\">foo<span style=\"text-decoration:underline\">bar</span>baz</p>" but got "<p><span style=\"text-decoration-line:overline\">foo</span><span style=\"text-decoration-line:overline underline\">bar</span><span style=\"text-decoration-line:overline\">baz</span></p>"
+FAIL [["stylewithcss","true"],["underline",""]] "<p style=\"text-decoration: overline\">foo[bar]baz</p>" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<p style=\"text-decoration:overline\">foo<span style=\"text-decoration:underline\">bar</span>baz</p>" but got "<p style=\"\"><span style=\"text-decoration-line:overline\">foo</span><span style=\"text-decoration-line:overline underline\">bar</span><span style=\"text-decoration-line:overline\">baz</span></p>"
 PASS [["stylewithcss","true"],["underline",""]] "<p style=\"text-decoration: overline\">foo[bar]baz</p>" queryCommandIndeterm("stylewithcss") before 
 PASS [["stylewithcss","true"],["underline",""]] "<p style=\"text-decoration: overline\">foo[bar]baz</p>" queryCommandState("stylewithcss") before 
 PASS [["stylewithcss","true"],["underline",""]] "<p style=\"text-decoration: overline\">foo[bar]baz</p>" queryCommandValue("stylewithcss") before 
@@ -1727,7 +1727,7 @@
 PASS [["stylewithcss","false"],["underline",""]] "<p style=\"text-decoration: overline\">foo[bar]baz</p>": execCommand("stylewithcss", false, "false") return value 
 PASS [["stylewithcss","false"],["underline",""]] "<p style=\"text-decoration: overline\">foo[bar]baz</p>": execCommand("underline", false, "") return value 
 PASS [["stylewithcss","false"],["underline",""]] "<p style=\"text-decoration: overline\">foo[bar]baz</p>" checks for modifications to non-editable content 
-FAIL [["stylewithcss","false"],["underline",""]] "<p style=\"text-decoration: overline\">foo[bar]baz</p>" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<p style=\"text-decoration:overline\">foo<u>bar</u>baz</p>" but got "<p><span style=\"text-decoration-line:overline\">foo<u>bar</u>baz</span></p>"
+FAIL [["stylewithcss","false"],["underline",""]] "<p style=\"text-decoration: overline\">foo[bar]baz</p>" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<p style=\"text-decoration:overline\">foo<u>bar</u>baz</p>" but got "<p style=\"\"><span style=\"text-decoration-line:overline\">foo<u>bar</u>baz</span></p>"
 PASS [["stylewithcss","false"],["underline",""]] "<p style=\"text-decoration: overline\">foo[bar]baz</p>" queryCommandIndeterm("stylewithcss") before 
 PASS [["stylewithcss","false"],["underline",""]] "<p style=\"text-decoration: overline\">foo[bar]baz</p>" queryCommandState("stylewithcss") before 
 PASS [["stylewithcss","false"],["underline",""]] "<p style=\"text-decoration: overline\">foo[bar]baz</p>" queryCommandValue("stylewithcss") before 
diff --git a/third_party/WebKit/LayoutTests/platform/mac/fast/multicol/layers-in-multicol-expected.png b/third_party/WebKit/LayoutTests/platform/mac/fast/multicol/layers-in-multicol-expected.png
deleted file mode 100644
index 9243efa..0000000
--- a/third_party/WebKit/LayoutTests/platform/mac/fast/multicol/layers-in-multicol-expected.png
+++ /dev/null
Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/mac/fast/multicol/layers-split-across-columns-expected.png b/third_party/WebKit/LayoutTests/platform/mac/fast/multicol/layers-split-across-columns-expected.png
deleted file mode 100644
index 86cf379..0000000
--- a/third_party/WebKit/LayoutTests/platform/mac/fast/multicol/layers-split-across-columns-expected.png
+++ /dev/null
Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/mac/paint/invalidation/svg/scrolling-embedded-svg-file-image-repaint-problem-expected.png b/third_party/WebKit/LayoutTests/platform/mac/paint/invalidation/svg/scrolling-embedded-svg-file-image-repaint-problem-expected.png
index af00c64c0..56d7e380c 100644
--- a/third_party/WebKit/LayoutTests/platform/mac/paint/invalidation/svg/scrolling-embedded-svg-file-image-repaint-problem-expected.png
+++ b/third_party/WebKit/LayoutTests/platform/mac/paint/invalidation/svg/scrolling-embedded-svg-file-image-repaint-problem-expected.png
Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/mac/svg/as-background-image/background-image-preserveaspectRatio-support-expected.png b/third_party/WebKit/LayoutTests/platform/mac/svg/as-background-image/background-image-preserveaspectRatio-support-expected.png
index 31dd704..ab426ac 100644
--- a/third_party/WebKit/LayoutTests/platform/mac/svg/as-background-image/background-image-preserveaspectRatio-support-expected.png
+++ b/third_party/WebKit/LayoutTests/platform/mac/svg/as-background-image/background-image-preserveaspectRatio-support-expected.png
Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/mac/svg/as-image/img-preserveAspectRatio-support-1-expected.png b/third_party/WebKit/LayoutTests/platform/mac/svg/as-image/img-preserveAspectRatio-support-1-expected.png
index 98ce8c5..7e1243a1 100644
--- a/third_party/WebKit/LayoutTests/platform/mac/svg/as-image/img-preserveAspectRatio-support-1-expected.png
+++ b/third_party/WebKit/LayoutTests/platform/mac/svg/as-image/img-preserveAspectRatio-support-1-expected.png
Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/mac/svg/zoom/page/zoom-img-preserveAspectRatio-support-1-expected.png b/third_party/WebKit/LayoutTests/platform/mac/svg/zoom/page/zoom-img-preserveAspectRatio-support-1-expected.png
index 556507c..8938c8b 100644
--- a/third_party/WebKit/LayoutTests/platform/mac/svg/zoom/page/zoom-img-preserveAspectRatio-support-1-expected.png
+++ b/third_party/WebKit/LayoutTests/platform/mac/svg/zoom/page/zoom-img-preserveAspectRatio-support-1-expected.png
Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/mac/transforms/2d/hindi-rotated-expected.png b/third_party/WebKit/LayoutTests/platform/mac/transforms/2d/hindi-rotated-expected.png
index 70f55312..497919fc 100644
--- a/third_party/WebKit/LayoutTests/platform/mac/transforms/2d/hindi-rotated-expected.png
+++ b/third_party/WebKit/LayoutTests/platform/mac/transforms/2d/hindi-rotated-expected.png
Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/mac/transforms/transformed-focused-text-input-expected.png b/third_party/WebKit/LayoutTests/platform/mac/transforms/transformed-focused-text-input-expected.png
index c57f417b..38e6870 100644
--- a/third_party/WebKit/LayoutTests/platform/mac/transforms/transformed-focused-text-input-expected.png
+++ b/third_party/WebKit/LayoutTests/platform/mac/transforms/transformed-focused-text-input-expected.png
Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/mac/virtual/disable-spinvalidation/paint/invalidation/svg/scrolling-embedded-svg-file-image-repaint-problem-expected.png b/third_party/WebKit/LayoutTests/platform/mac/virtual/disable-spinvalidation/paint/invalidation/svg/scrolling-embedded-svg-file-image-repaint-problem-expected.png
index af00c64c0..56d7e380c 100644
--- a/third_party/WebKit/LayoutTests/platform/mac/virtual/disable-spinvalidation/paint/invalidation/svg/scrolling-embedded-svg-file-image-repaint-problem-expected.png
+++ b/third_party/WebKit/LayoutTests/platform/mac/virtual/disable-spinvalidation/paint/invalidation/svg/scrolling-embedded-svg-file-image-repaint-problem-expected.png
Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/win/external/wpt/editing/run/bold-expected.txt b/third_party/WebKit/LayoutTests/platform/win/external/wpt/editing/run/bold-expected.txt
index bcdb89b..bdae8f8 100644
--- a/third_party/WebKit/LayoutTests/platform/win/external/wpt/editing/run/bold-expected.txt
+++ b/third_party/WebKit/LayoutTests/platform/win/external/wpt/editing/run/bold-expected.txt
@@ -1,5 +1,5 @@
 This is a testharness.js-based test.
-Found 3012 tests; 2531 PASS, 481 FAIL, 0 TIMEOUT, 0 NOTRUN.
+Found 3012 tests; 2530 PASS, 482 FAIL, 0 TIMEOUT, 0 NOTRUN.
 PASS [["bold",""]] "foo[]bar": execCommand("bold", false, "") return value 
 PASS [["bold",""]] "foo[]bar" checks for modifications to non-editable content 
 PASS [["bold",""]] "foo[]bar" compare innerHTML 
@@ -1078,7 +1078,7 @@
 PASS [["stylewithcss","true"],["bold",""]] "<b>{<p>foo</p><p>bar</p>}<p>baz</p></b>": execCommand("stylewithcss", false, "true") return value 
 PASS [["stylewithcss","true"],["bold",""]] "<b>{<p>foo</p><p>bar</p>}<p>baz</p></b>": execCommand("bold", false, "") return value 
 PASS [["stylewithcss","true"],["bold",""]] "<b>{<p>foo</p><p>bar</p>}<p>baz</p></b>" checks for modifications to non-editable content 
-FAIL [["stylewithcss","true"],["bold",""]] "<b>{<p>foo</p><p>bar</p>}<p>baz</p></b>" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<p>foo</p><p>bar</p><p><span style=\"font-weight:bold\">baz</span></p>" but got "<p>foo</p><p>bar</p><p style=\"font-weight:bold\">baz</p>"
+FAIL [["stylewithcss","true"],["bold",""]] "<b>{<p>foo</p><p>bar</p>}<p>baz</p></b>" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<p>foo</p><p>bar</p><p><span style=\"font-weight:bold\">baz</span></p>" but got "<p style=\"\">foo</p><p style=\"\">bar</p><p style=\"font-weight:bold\">baz</p>"
 PASS [["stylewithcss","true"],["bold",""]] "<b>{<p>foo</p><p>bar</p>}<p>baz</p></b>" queryCommandIndeterm("stylewithcss") before 
 PASS [["stylewithcss","true"],["bold",""]] "<b>{<p>foo</p><p>bar</p>}<p>baz</p></b>" queryCommandState("stylewithcss") before 
 PASS [["stylewithcss","true"],["bold",""]] "<b>{<p>foo</p><p>bar</p>}<p>baz</p></b>" queryCommandValue("stylewithcss") before 
@@ -1094,7 +1094,7 @@
 PASS [["stylewithcss","false"],["bold",""]] "<b>{<p>foo</p><p>bar</p>}<p>baz</p></b>": execCommand("stylewithcss", false, "false") return value 
 PASS [["stylewithcss","false"],["bold",""]] "<b>{<p>foo</p><p>bar</p>}<p>baz</p></b>": execCommand("bold", false, "") return value 
 PASS [["stylewithcss","false"],["bold",""]] "<b>{<p>foo</p><p>bar</p>}<p>baz</p></b>" checks for modifications to non-editable content 
-FAIL [["stylewithcss","false"],["bold",""]] "<b>{<p>foo</p><p>bar</p>}<p>baz</p></b>" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<p>foo</p><p>bar</p><p><b>baz</b></p>" but got "<p>foo</p><p>bar</p><p style=\"font-weight:bold\">baz</p>"
+FAIL [["stylewithcss","false"],["bold",""]] "<b>{<p>foo</p><p>bar</p>}<p>baz</p></b>" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<p>foo</p><p>bar</p><p><b>baz</b></p>" but got "<p style=\"\">foo</p><p style=\"\">bar</p><p style=\"font-weight:bold\">baz</p>"
 PASS [["stylewithcss","false"],["bold",""]] "<b>{<p>foo</p><p>bar</p>}<p>baz</p></b>" queryCommandIndeterm("stylewithcss") before 
 PASS [["stylewithcss","false"],["bold",""]] "<b>{<p>foo</p><p>bar</p>}<p>baz</p></b>" queryCommandState("stylewithcss") before 
 PASS [["stylewithcss","false"],["bold",""]] "<b>{<p>foo</p><p>bar</p>}<p>baz</p></b>" queryCommandValue("stylewithcss") before 
@@ -1110,7 +1110,7 @@
 PASS [["stylewithcss","true"],["bold",""]] "<b><p>foo[<i>bar</i>}</p><p>baz</p></b>": execCommand("stylewithcss", false, "true") return value 
 PASS [["stylewithcss","true"],["bold",""]] "<b><p>foo[<i>bar</i>}</p><p>baz</p></b>": execCommand("bold", false, "") return value 
 PASS [["stylewithcss","true"],["bold",""]] "<b><p>foo[<i>bar</i>}</p><p>baz</p></b>" checks for modifications to non-editable content 
-FAIL [["stylewithcss","true"],["bold",""]] "<b><p>foo[<i>bar</i>}</p><p>baz</p></b>" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<p><span style=\"font-weight:bold\">foo</span><i>bar</i></p><p><span style=\"font-weight:bold\">baz</span></p>" but got "<p><span style=\"font-weight:bold\">foo</span><i>bar</i></p><p style=\"font-weight:bold\">baz</p>"
+FAIL [["stylewithcss","true"],["bold",""]] "<b><p>foo[<i>bar</i>}</p><p>baz</p></b>" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<p><span style=\"font-weight:bold\">foo</span><i>bar</i></p><p><span style=\"font-weight:bold\">baz</span></p>" but got "<p style=\"\"><span style=\"font-weight:bold\">foo</span><i style=\"\">bar</i></p><p style=\"font-weight:bold\">baz</p>"
 PASS [["stylewithcss","true"],["bold",""]] "<b><p>foo[<i>bar</i>}</p><p>baz</p></b>" queryCommandIndeterm("stylewithcss") before 
 PASS [["stylewithcss","true"],["bold",""]] "<b><p>foo[<i>bar</i>}</p><p>baz</p></b>" queryCommandState("stylewithcss") before 
 PASS [["stylewithcss","true"],["bold",""]] "<b><p>foo[<i>bar</i>}</p><p>baz</p></b>" queryCommandValue("stylewithcss") before 
@@ -1126,7 +1126,7 @@
 PASS [["stylewithcss","false"],["bold",""]] "<b><p>foo[<i>bar</i>}</p><p>baz</p></b>": execCommand("stylewithcss", false, "false") return value 
 PASS [["stylewithcss","false"],["bold",""]] "<b><p>foo[<i>bar</i>}</p><p>baz</p></b>": execCommand("bold", false, "") return value 
 PASS [["stylewithcss","false"],["bold",""]] "<b><p>foo[<i>bar</i>}</p><p>baz</p></b>" checks for modifications to non-editable content 
-FAIL [["stylewithcss","false"],["bold",""]] "<b><p>foo[<i>bar</i>}</p><p>baz</p></b>" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<p><b>foo</b><i>bar</i></p><p><b>baz</b></p>" but got "<p><b>foo</b><i>bar</i></p><p style=\"font-weight:bold\">baz</p>"
+FAIL [["stylewithcss","false"],["bold",""]] "<b><p>foo[<i>bar</i>}</p><p>baz</p></b>" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<p><b>foo</b><i>bar</i></p><p><b>baz</b></p>" but got "<p style=\"\"><b>foo</b><i style=\"\">bar</i></p><p style=\"font-weight:bold\">baz</p>"
 PASS [["stylewithcss","false"],["bold",""]] "<b><p>foo[<i>bar</i>}</p><p>baz</p></b>" queryCommandIndeterm("stylewithcss") before 
 PASS [["stylewithcss","false"],["bold",""]] "<b><p>foo[<i>bar</i>}</p><p>baz</p></b>" queryCommandState("stylewithcss") before 
 PASS [["stylewithcss","false"],["bold",""]] "<b><p>foo[<i>bar</i>}</p><p>baz</p></b>" queryCommandValue("stylewithcss") before 
@@ -2595,7 +2595,7 @@
 PASS [["stylewithcss","true"],["bold",""]] "<p style=\"font-weight: bold\">foo[bar]baz</p>": execCommand("stylewithcss", false, "true") return value 
 PASS [["stylewithcss","true"],["bold",""]] "<p style=\"font-weight: bold\">foo[bar]baz</p>": execCommand("bold", false, "") return value 
 PASS [["stylewithcss","true"],["bold",""]] "<p style=\"font-weight: bold\">foo[bar]baz</p>" checks for modifications to non-editable content 
-PASS [["stylewithcss","true"],["bold",""]] "<p style=\"font-weight: bold\">foo[bar]baz</p>" compare innerHTML 
+FAIL [["stylewithcss","true"],["bold",""]] "<p style=\"font-weight: bold\">foo[bar]baz</p>" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<p><span style=\"font-weight:bold\">foo</span>bar<span style=\"font-weight:bold\">baz</span></p>" but got "<p style=\"\"><span style=\"font-weight:bold\">foo</span>bar<span style=\"font-weight:bold\">baz</span></p>"
 PASS [["stylewithcss","true"],["bold",""]] "<p style=\"font-weight: bold\">foo[bar]baz</p>" queryCommandIndeterm("stylewithcss") before 
 PASS [["stylewithcss","true"],["bold",""]] "<p style=\"font-weight: bold\">foo[bar]baz</p>" queryCommandState("stylewithcss") before 
 PASS [["stylewithcss","true"],["bold",""]] "<p style=\"font-weight: bold\">foo[bar]baz</p>" queryCommandValue("stylewithcss") before 
@@ -2611,7 +2611,7 @@
 PASS [["stylewithcss","false"],["bold",""]] "<p style=\"font-weight: bold\">foo[bar]baz</p>": execCommand("stylewithcss", false, "false") return value 
 PASS [["stylewithcss","false"],["bold",""]] "<p style=\"font-weight: bold\">foo[bar]baz</p>": execCommand("bold", false, "") return value 
 PASS [["stylewithcss","false"],["bold",""]] "<p style=\"font-weight: bold\">foo[bar]baz</p>" checks for modifications to non-editable content 
-FAIL [["stylewithcss","false"],["bold",""]] "<p style=\"font-weight: bold\">foo[bar]baz</p>" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<p><b>foo</b>bar<b>baz</b></p>" but got "<p><span style=\"font-weight:bold\">foo</span>bar<b>baz</b></p>"
+FAIL [["stylewithcss","false"],["bold",""]] "<p style=\"font-weight: bold\">foo[bar]baz</p>" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<p><b>foo</b>bar<b>baz</b></p>" but got "<p style=\"\"><span style=\"font-weight:bold\">foo</span>bar<b>baz</b></p>"
 PASS [["stylewithcss","false"],["bold",""]] "<p style=\"font-weight: bold\">foo[bar]baz</p>" queryCommandIndeterm("stylewithcss") before 
 PASS [["stylewithcss","false"],["bold",""]] "<p style=\"font-weight: bold\">foo[bar]baz</p>" queryCommandState("stylewithcss") before 
 PASS [["stylewithcss","false"],["bold",""]] "<p style=\"font-weight: bold\">foo[bar]baz</p>" queryCommandValue("stylewithcss") before 
diff --git a/third_party/WebKit/LayoutTests/platform/win/external/wpt/editing/run/italic-expected.txt b/third_party/WebKit/LayoutTests/platform/win/external/wpt/editing/run/italic-expected.txt
index ef0ba5da..960c0aab 100644
--- a/third_party/WebKit/LayoutTests/platform/win/external/wpt/editing/run/italic-expected.txt
+++ b/third_party/WebKit/LayoutTests/platform/win/external/wpt/editing/run/italic-expected.txt
@@ -1579,7 +1579,7 @@
 PASS [["stylewithcss","true"],["italic",""]] "<i>{<p>foo</p><p>bar</p>}<p>baz</p></i>": execCommand("stylewithcss", false, "true") return value 
 PASS [["stylewithcss","true"],["italic",""]] "<i>{<p>foo</p><p>bar</p>}<p>baz</p></i>": execCommand("italic", false, "") return value 
 PASS [["stylewithcss","true"],["italic",""]] "<i>{<p>foo</p><p>bar</p>}<p>baz</p></i>" checks for modifications to non-editable content 
-FAIL [["stylewithcss","true"],["italic",""]] "<i>{<p>foo</p><p>bar</p>}<p>baz</p></i>" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<p>foo</p><p>bar</p><p><span style=\"font-style:italic\">baz</span></p>" but got "<p>foo</p><p>bar</p><p style=\"font-style:italic\">baz</p>"
+FAIL [["stylewithcss","true"],["italic",""]] "<i>{<p>foo</p><p>bar</p>}<p>baz</p></i>" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<p>foo</p><p>bar</p><p><span style=\"font-style:italic\">baz</span></p>" but got "<p style=\"\">foo</p><p style=\"\">bar</p><p style=\"font-style:italic\">baz</p>"
 PASS [["stylewithcss","true"],["italic",""]] "<i>{<p>foo</p><p>bar</p>}<p>baz</p></i>" queryCommandIndeterm("stylewithcss") before 
 PASS [["stylewithcss","true"],["italic",""]] "<i>{<p>foo</p><p>bar</p>}<p>baz</p></i>" queryCommandState("stylewithcss") before 
 PASS [["stylewithcss","true"],["italic",""]] "<i>{<p>foo</p><p>bar</p>}<p>baz</p></i>" queryCommandValue("stylewithcss") before 
@@ -1595,7 +1595,7 @@
 PASS [["stylewithcss","false"],["italic",""]] "<i>{<p>foo</p><p>bar</p>}<p>baz</p></i>": execCommand("stylewithcss", false, "false") return value 
 PASS [["stylewithcss","false"],["italic",""]] "<i>{<p>foo</p><p>bar</p>}<p>baz</p></i>": execCommand("italic", false, "") return value 
 PASS [["stylewithcss","false"],["italic",""]] "<i>{<p>foo</p><p>bar</p>}<p>baz</p></i>" checks for modifications to non-editable content 
-FAIL [["stylewithcss","false"],["italic",""]] "<i>{<p>foo</p><p>bar</p>}<p>baz</p></i>" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<p>foo</p><p>bar</p><p><i>baz</i></p>" but got "<p>foo</p><p>bar</p><p style=\"font-style:italic\">baz</p>"
+FAIL [["stylewithcss","false"],["italic",""]] "<i>{<p>foo</p><p>bar</p>}<p>baz</p></i>" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<p>foo</p><p>bar</p><p><i>baz</i></p>" but got "<p style=\"\">foo</p><p style=\"\">bar</p><p style=\"font-style:italic\">baz</p>"
 PASS [["stylewithcss","false"],["italic",""]] "<i>{<p>foo</p><p>bar</p>}<p>baz</p></i>" queryCommandIndeterm("stylewithcss") before 
 PASS [["stylewithcss","false"],["italic",""]] "<i>{<p>foo</p><p>bar</p>}<p>baz</p></i>" queryCommandState("stylewithcss") before 
 PASS [["stylewithcss","false"],["italic",""]] "<i>{<p>foo</p><p>bar</p>}<p>baz</p></i>" queryCommandValue("stylewithcss") before 
@@ -1611,7 +1611,7 @@
 PASS [["stylewithcss","true"],["italic",""]] "<i><p>foo[<b>bar</b>}</p><p>baz</p></i>": execCommand("stylewithcss", false, "true") return value 
 PASS [["stylewithcss","true"],["italic",""]] "<i><p>foo[<b>bar</b>}</p><p>baz</p></i>": execCommand("italic", false, "") return value 
 PASS [["stylewithcss","true"],["italic",""]] "<i><p>foo[<b>bar</b>}</p><p>baz</p></i>" checks for modifications to non-editable content 
-FAIL [["stylewithcss","true"],["italic",""]] "<i><p>foo[<b>bar</b>}</p><p>baz</p></i>" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<p><span style=\"font-style:italic\">foo</span><b>bar</b></p><p><span style=\"font-style:italic\">baz</span></p>" but got "<p><span style=\"font-style:italic\">foo</span><b>bar</b></p><p style=\"font-style:italic\">baz</p>"
+FAIL [["stylewithcss","true"],["italic",""]] "<i><p>foo[<b>bar</b>}</p><p>baz</p></i>" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<p><span style=\"font-style:italic\">foo</span><b>bar</b></p><p><span style=\"font-style:italic\">baz</span></p>" but got "<p style=\"\"><span style=\"font-style:italic\">foo</span><b style=\"\">bar</b></p><p style=\"font-style:italic\">baz</p>"
 PASS [["stylewithcss","true"],["italic",""]] "<i><p>foo[<b>bar</b>}</p><p>baz</p></i>" queryCommandIndeterm("stylewithcss") before 
 PASS [["stylewithcss","true"],["italic",""]] "<i><p>foo[<b>bar</b>}</p><p>baz</p></i>" queryCommandState("stylewithcss") before 
 PASS [["stylewithcss","true"],["italic",""]] "<i><p>foo[<b>bar</b>}</p><p>baz</p></i>" queryCommandValue("stylewithcss") before 
@@ -1627,7 +1627,7 @@
 PASS [["stylewithcss","false"],["italic",""]] "<i><p>foo[<b>bar</b>}</p><p>baz</p></i>": execCommand("stylewithcss", false, "false") return value 
 PASS [["stylewithcss","false"],["italic",""]] "<i><p>foo[<b>bar</b>}</p><p>baz</p></i>": execCommand("italic", false, "") return value 
 PASS [["stylewithcss","false"],["italic",""]] "<i><p>foo[<b>bar</b>}</p><p>baz</p></i>" checks for modifications to non-editable content 
-FAIL [["stylewithcss","false"],["italic",""]] "<i><p>foo[<b>bar</b>}</p><p>baz</p></i>" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<p><i>foo</i><b>bar</b></p><p><i>baz</i></p>" but got "<p><i>foo</i><b>bar</b></p><p style=\"font-style:italic\">baz</p>"
+FAIL [["stylewithcss","false"],["italic",""]] "<i><p>foo[<b>bar</b>}</p><p>baz</p></i>" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<p><i>foo</i><b>bar</b></p><p><i>baz</i></p>" but got "<p style=\"\"><i>foo</i><b style=\"\">bar</b></p><p style=\"font-style:italic\">baz</p>"
 PASS [["stylewithcss","false"],["italic",""]] "<i><p>foo[<b>bar</b>}</p><p>baz</p></i>" queryCommandIndeterm("stylewithcss") before 
 PASS [["stylewithcss","false"],["italic",""]] "<i><p>foo[<b>bar</b>}</p><p>baz</p></i>" queryCommandState("stylewithcss") before 
 PASS [["stylewithcss","false"],["italic",""]] "<i><p>foo[<b>bar</b>}</p><p>baz</p></i>" queryCommandValue("stylewithcss") before 
diff --git a/third_party/WebKit/LayoutTests/platform/win/external/wpt/editing/run/justifycenter-expected.txt b/third_party/WebKit/LayoutTests/platform/win/external/wpt/editing/run/justifycenter-expected.txt
index 9c047faf..61a1fcd 100644
--- a/third_party/WebKit/LayoutTests/platform/win/external/wpt/editing/run/justifycenter-expected.txt
+++ b/third_party/WebKit/LayoutTests/platform/win/external/wpt/editing/run/justifycenter-expected.txt
@@ -4671,7 +4671,7 @@
 PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div style=text-align:center>[foo<div style=text-align:left contenteditable=false>bar</div>baz]</div><p>extra": execCommand("defaultparagraphseparator", false, "div") return value 
 PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div style=text-align:center>[foo<div style=text-align:left contenteditable=false>bar</div>baz]</div><p>extra": execCommand("justifycenter", false, "") return value 
 PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div style=text-align:center>[foo<div style=text-align:left contenteditable=false>bar</div>baz]</div><p>extra" checks for modifications to non-editable content 
-FAIL [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div style=text-align:center>[foo<div style=text-align:left contenteditable=false>bar</div>baz]</div><p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<div style=\"text-align:center\">foo</div><div style=\"text-align:left\" contenteditable=\"false\">bar</div><div style=\"text-align:center\">baz</div><p>extra</p>" but got "<div style=\"text-align:center\">foo<div contenteditable=\"false\" style=\"text-align:center\">bar</div>baz</div><p>extra</p>"
+FAIL [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div style=text-align:center>[foo<div style=text-align:left contenteditable=false>bar</div>baz]</div><p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<div style=\"text-align:center\">foo</div><div style=\"text-align:left\" contenteditable=\"false\">bar</div><div style=\"text-align:center\">baz</div><p>extra</p>" but got "<div style=\"text-align:center\">foo<div style=\"text-align:center\" contenteditable=\"false\">bar</div>baz</div><p>extra</p>"
 PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div style=text-align:center>[foo<div style=text-align:left contenteditable=false>bar</div>baz]</div><p>extra" queryCommandIndeterm("stylewithcss") before 
 PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div style=text-align:center>[foo<div style=text-align:left contenteditable=false>bar</div>baz]</div><p>extra" queryCommandState("stylewithcss") before 
 PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div style=text-align:center>[foo<div style=text-align:left contenteditable=false>bar</div>baz]</div><p>extra" queryCommandValue("stylewithcss") before 
@@ -4694,7 +4694,7 @@
 PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div style=text-align:center>[foo<div style=text-align:left contenteditable=false>bar</div>baz]</div><p>extra": execCommand("defaultparagraphseparator", false, "div") return value 
 PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div style=text-align:center>[foo<div style=text-align:left contenteditable=false>bar</div>baz]</div><p>extra": execCommand("justifycenter", false, "") return value 
 PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div style=text-align:center>[foo<div style=text-align:left contenteditable=false>bar</div>baz]</div><p>extra" checks for modifications to non-editable content 
-FAIL [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div style=text-align:center>[foo<div style=text-align:left contenteditable=false>bar</div>baz]</div><p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<div style=\"text-align:center\">foo</div><div style=\"text-align:left\" contenteditable=\"false\">bar</div><div style=\"text-align:center\">baz</div><p>extra</p>" but got "<div style=\"text-align:center\">foo<div contenteditable=\"false\" style=\"text-align:center\">bar</div>baz</div><p>extra</p>"
+FAIL [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div style=text-align:center>[foo<div style=text-align:left contenteditable=false>bar</div>baz]</div><p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<div style=\"text-align:center\">foo</div><div style=\"text-align:left\" contenteditable=\"false\">bar</div><div style=\"text-align:center\">baz</div><p>extra</p>" but got "<div style=\"text-align:center\">foo<div style=\"text-align:center\" contenteditable=\"false\">bar</div>baz</div><p>extra</p>"
 PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div style=text-align:center>[foo<div style=text-align:left contenteditable=false>bar</div>baz]</div><p>extra" queryCommandIndeterm("stylewithcss") before 
 PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div style=text-align:center>[foo<div style=text-align:left contenteditable=false>bar</div>baz]</div><p>extra" queryCommandState("stylewithcss") before 
 PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifycenter",""]] "<div style=text-align:center>[foo<div style=text-align:left contenteditable=false>bar</div>baz]</div><p>extra" queryCommandValue("stylewithcss") before 
@@ -4717,7 +4717,7 @@
 PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div style=text-align:center>[foo<div style=text-align:left contenteditable=false>bar</div>baz]</div><p>extra": execCommand("defaultparagraphseparator", false, "p") return value 
 PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div style=text-align:center>[foo<div style=text-align:left contenteditable=false>bar</div>baz]</div><p>extra": execCommand("justifycenter", false, "") return value 
 PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div style=text-align:center>[foo<div style=text-align:left contenteditable=false>bar</div>baz]</div><p>extra" checks for modifications to non-editable content 
-FAIL [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div style=text-align:center>[foo<div style=text-align:left contenteditable=false>bar</div>baz]</div><p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<div style=\"text-align:center\">foo</div><div style=\"text-align:left\" contenteditable=\"false\">bar</div><div style=\"text-align:center\">baz</div><p>extra</p>" but got "<div style=\"text-align:center\">foo<div contenteditable=\"false\" style=\"text-align:center\">bar</div>baz</div><p>extra</p>"
+FAIL [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div style=text-align:center>[foo<div style=text-align:left contenteditable=false>bar</div>baz]</div><p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<div style=\"text-align:center\">foo</div><div style=\"text-align:left\" contenteditable=\"false\">bar</div><div style=\"text-align:center\">baz</div><p>extra</p>" but got "<div style=\"text-align:center\">foo<div style=\"text-align:center\" contenteditable=\"false\">bar</div>baz</div><p>extra</p>"
 PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div style=text-align:center>[foo<div style=text-align:left contenteditable=false>bar</div>baz]</div><p>extra" queryCommandIndeterm("stylewithcss") before 
 PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div style=text-align:center>[foo<div style=text-align:left contenteditable=false>bar</div>baz]</div><p>extra" queryCommandState("stylewithcss") before 
 PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div style=text-align:center>[foo<div style=text-align:left contenteditable=false>bar</div>baz]</div><p>extra" queryCommandValue("stylewithcss") before 
@@ -4740,7 +4740,7 @@
 PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div style=text-align:center>[foo<div style=text-align:left contenteditable=false>bar</div>baz]</div><p>extra": execCommand("defaultparagraphseparator", false, "p") return value 
 PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div style=text-align:center>[foo<div style=text-align:left contenteditable=false>bar</div>baz]</div><p>extra": execCommand("justifycenter", false, "") return value 
 PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div style=text-align:center>[foo<div style=text-align:left contenteditable=false>bar</div>baz]</div><p>extra" checks for modifications to non-editable content 
-FAIL [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div style=text-align:center>[foo<div style=text-align:left contenteditable=false>bar</div>baz]</div><p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<div style=\"text-align:center\">foo</div><div style=\"text-align:left\" contenteditable=\"false\">bar</div><div style=\"text-align:center\">baz</div><p>extra</p>" but got "<div style=\"text-align:center\">foo<div contenteditable=\"false\" style=\"text-align:center\">bar</div>baz</div><p>extra</p>"
+FAIL [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div style=text-align:center>[foo<div style=text-align:left contenteditable=false>bar</div>baz]</div><p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<div style=\"text-align:center\">foo</div><div style=\"text-align:left\" contenteditable=\"false\">bar</div><div style=\"text-align:center\">baz</div><p>extra</p>" but got "<div style=\"text-align:center\">foo<div style=\"text-align:center\" contenteditable=\"false\">bar</div>baz</div><p>extra</p>"
 PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div style=text-align:center>[foo<div style=text-align:left contenteditable=false>bar</div>baz]</div><p>extra" queryCommandIndeterm("stylewithcss") before 
 PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div style=text-align:center>[foo<div style=text-align:left contenteditable=false>bar</div>baz]</div><p>extra" queryCommandState("stylewithcss") before 
 PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifycenter",""]] "<div style=text-align:center>[foo<div style=text-align:left contenteditable=false>bar</div>baz]</div><p>extra" queryCommandValue("stylewithcss") before 
diff --git a/third_party/WebKit/LayoutTests/platform/win/external/wpt/editing/run/justifyfull-expected.txt b/third_party/WebKit/LayoutTests/platform/win/external/wpt/editing/run/justifyfull-expected.txt
index 11e53f445..1320eeae 100644
--- a/third_party/WebKit/LayoutTests/platform/win/external/wpt/editing/run/justifyfull-expected.txt
+++ b/third_party/WebKit/LayoutTests/platform/win/external/wpt/editing/run/justifyfull-expected.txt
@@ -4294,7 +4294,7 @@
 PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<div style=text-align:justify>[foo<div style=text-align:left contenteditable=false>bar</div>baz]</div><p>extra": execCommand("defaultparagraphseparator", false, "div") return value 
 PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<div style=text-align:justify>[foo<div style=text-align:left contenteditable=false>bar</div>baz]</div><p>extra": execCommand("justifyfull", false, "") return value 
 PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<div style=text-align:justify>[foo<div style=text-align:left contenteditable=false>bar</div>baz]</div><p>extra" checks for modifications to non-editable content 
-FAIL [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<div style=text-align:justify>[foo<div style=text-align:left contenteditable=false>bar</div>baz]</div><p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<div style=\"text-align:justify\">foo</div><div style=\"text-align:left\" contenteditable=\"false\">bar</div><div style=\"text-align:justify\">baz</div><p>extra</p>" but got "<div style=\"text-align:justify\">foo<div contenteditable=\"false\" style=\"text-align:justify\">bar</div>baz</div><p>extra</p>"
+FAIL [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<div style=text-align:justify>[foo<div style=text-align:left contenteditable=false>bar</div>baz]</div><p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<div style=\"text-align:justify\">foo</div><div style=\"text-align:left\" contenteditable=\"false\">bar</div><div style=\"text-align:justify\">baz</div><p>extra</p>" but got "<div style=\"text-align:justify\">foo<div style=\"text-align:justify\" contenteditable=\"false\">bar</div>baz</div><p>extra</p>"
 PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<div style=text-align:justify>[foo<div style=text-align:left contenteditable=false>bar</div>baz]</div><p>extra" queryCommandIndeterm("stylewithcss") before 
 PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<div style=text-align:justify>[foo<div style=text-align:left contenteditable=false>bar</div>baz]</div><p>extra" queryCommandState("stylewithcss") before 
 PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyfull",""]] "<div style=text-align:justify>[foo<div style=text-align:left contenteditable=false>bar</div>baz]</div><p>extra" queryCommandValue("stylewithcss") before 
@@ -4317,7 +4317,7 @@
 PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<div style=text-align:justify>[foo<div style=text-align:left contenteditable=false>bar</div>baz]</div><p>extra": execCommand("defaultparagraphseparator", false, "div") return value 
 PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<div style=text-align:justify>[foo<div style=text-align:left contenteditable=false>bar</div>baz]</div><p>extra": execCommand("justifyfull", false, "") return value 
 PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<div style=text-align:justify>[foo<div style=text-align:left contenteditable=false>bar</div>baz]</div><p>extra" checks for modifications to non-editable content 
-FAIL [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<div style=text-align:justify>[foo<div style=text-align:left contenteditable=false>bar</div>baz]</div><p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<div style=\"text-align:justify\">foo</div><div style=\"text-align:left\" contenteditable=\"false\">bar</div><div style=\"text-align:justify\">baz</div><p>extra</p>" but got "<div style=\"text-align:justify\">foo<div contenteditable=\"false\" style=\"text-align:justify\">bar</div>baz</div><p>extra</p>"
+FAIL [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<div style=text-align:justify>[foo<div style=text-align:left contenteditable=false>bar</div>baz]</div><p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<div style=\"text-align:justify\">foo</div><div style=\"text-align:left\" contenteditable=\"false\">bar</div><div style=\"text-align:justify\">baz</div><p>extra</p>" but got "<div style=\"text-align:justify\">foo<div style=\"text-align:justify\" contenteditable=\"false\">bar</div>baz</div><p>extra</p>"
 PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<div style=text-align:justify>[foo<div style=text-align:left contenteditable=false>bar</div>baz]</div><p>extra" queryCommandIndeterm("stylewithcss") before 
 PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<div style=text-align:justify>[foo<div style=text-align:left contenteditable=false>bar</div>baz]</div><p>extra" queryCommandState("stylewithcss") before 
 PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyfull",""]] "<div style=text-align:justify>[foo<div style=text-align:left contenteditable=false>bar</div>baz]</div><p>extra" queryCommandValue("stylewithcss") before 
@@ -4340,7 +4340,7 @@
 PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<div style=text-align:justify>[foo<div style=text-align:left contenteditable=false>bar</div>baz]</div><p>extra": execCommand("defaultparagraphseparator", false, "p") return value 
 PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<div style=text-align:justify>[foo<div style=text-align:left contenteditable=false>bar</div>baz]</div><p>extra": execCommand("justifyfull", false, "") return value 
 PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<div style=text-align:justify>[foo<div style=text-align:left contenteditable=false>bar</div>baz]</div><p>extra" checks for modifications to non-editable content 
-FAIL [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<div style=text-align:justify>[foo<div style=text-align:left contenteditable=false>bar</div>baz]</div><p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<div style=\"text-align:justify\">foo</div><div style=\"text-align:left\" contenteditable=\"false\">bar</div><div style=\"text-align:justify\">baz</div><p>extra</p>" but got "<div style=\"text-align:justify\">foo<div contenteditable=\"false\" style=\"text-align:justify\">bar</div>baz</div><p>extra</p>"
+FAIL [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<div style=text-align:justify>[foo<div style=text-align:left contenteditable=false>bar</div>baz]</div><p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<div style=\"text-align:justify\">foo</div><div style=\"text-align:left\" contenteditable=\"false\">bar</div><div style=\"text-align:justify\">baz</div><p>extra</p>" but got "<div style=\"text-align:justify\">foo<div style=\"text-align:justify\" contenteditable=\"false\">bar</div>baz</div><p>extra</p>"
 PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<div style=text-align:justify>[foo<div style=text-align:left contenteditable=false>bar</div>baz]</div><p>extra" queryCommandIndeterm("stylewithcss") before 
 PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<div style=text-align:justify>[foo<div style=text-align:left contenteditable=false>bar</div>baz]</div><p>extra" queryCommandState("stylewithcss") before 
 PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyfull",""]] "<div style=text-align:justify>[foo<div style=text-align:left contenteditable=false>bar</div>baz]</div><p>extra" queryCommandValue("stylewithcss") before 
@@ -4363,7 +4363,7 @@
 PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<div style=text-align:justify>[foo<div style=text-align:left contenteditable=false>bar</div>baz]</div><p>extra": execCommand("defaultparagraphseparator", false, "p") return value 
 PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<div style=text-align:justify>[foo<div style=text-align:left contenteditable=false>bar</div>baz]</div><p>extra": execCommand("justifyfull", false, "") return value 
 PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<div style=text-align:justify>[foo<div style=text-align:left contenteditable=false>bar</div>baz]</div><p>extra" checks for modifications to non-editable content 
-FAIL [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<div style=text-align:justify>[foo<div style=text-align:left contenteditable=false>bar</div>baz]</div><p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<div style=\"text-align:justify\">foo</div><div style=\"text-align:left\" contenteditable=\"false\">bar</div><div style=\"text-align:justify\">baz</div><p>extra</p>" but got "<div style=\"text-align:justify\">foo<div contenteditable=\"false\" style=\"text-align:justify\">bar</div>baz</div><p>extra</p>"
+FAIL [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<div style=text-align:justify>[foo<div style=text-align:left contenteditable=false>bar</div>baz]</div><p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<div style=\"text-align:justify\">foo</div><div style=\"text-align:left\" contenteditable=\"false\">bar</div><div style=\"text-align:justify\">baz</div><p>extra</p>" but got "<div style=\"text-align:justify\">foo<div style=\"text-align:justify\" contenteditable=\"false\">bar</div>baz</div><p>extra</p>"
 PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<div style=text-align:justify>[foo<div style=text-align:left contenteditable=false>bar</div>baz]</div><p>extra" queryCommandIndeterm("stylewithcss") before 
 PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<div style=text-align:justify>[foo<div style=text-align:left contenteditable=false>bar</div>baz]</div><p>extra" queryCommandState("stylewithcss") before 
 PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyfull",""]] "<div style=text-align:justify>[foo<div style=text-align:left contenteditable=false>bar</div>baz]</div><p>extra" queryCommandValue("stylewithcss") before 
diff --git a/third_party/WebKit/LayoutTests/platform/win/external/wpt/editing/run/justifyright-expected.txt b/third_party/WebKit/LayoutTests/platform/win/external/wpt/editing/run/justifyright-expected.txt
index 71868f2..ffe896f 100644
--- a/third_party/WebKit/LayoutTests/platform/win/external/wpt/editing/run/justifyright-expected.txt
+++ b/third_party/WebKit/LayoutTests/platform/win/external/wpt/editing/run/justifyright-expected.txt
@@ -4294,7 +4294,7 @@
 PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<div style=text-align:right>[foo<div style=text-align:left contenteditable=false>bar</div>baz]</div><p>extra": execCommand("defaultparagraphseparator", false, "div") return value 
 PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<div style=text-align:right>[foo<div style=text-align:left contenteditable=false>bar</div>baz]</div><p>extra": execCommand("justifyright", false, "") return value 
 PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<div style=text-align:right>[foo<div style=text-align:left contenteditable=false>bar</div>baz]</div><p>extra" checks for modifications to non-editable content 
-FAIL [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<div style=text-align:right>[foo<div style=text-align:left contenteditable=false>bar</div>baz]</div><p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<div style=\"text-align:right\">foo</div><div style=\"text-align:left\" contenteditable=\"false\">bar</div><div style=\"text-align:right\">baz</div><p>extra</p>" but got "<div style=\"text-align:right\">foo<div contenteditable=\"false\" style=\"text-align:right\">bar</div>baz</div><p>extra</p>"
+FAIL [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<div style=text-align:right>[foo<div style=text-align:left contenteditable=false>bar</div>baz]</div><p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<div style=\"text-align:right\">foo</div><div style=\"text-align:left\" contenteditable=\"false\">bar</div><div style=\"text-align:right\">baz</div><p>extra</p>" but got "<div style=\"text-align:right\">foo<div style=\"text-align:right\" contenteditable=\"false\">bar</div>baz</div><p>extra</p>"
 PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<div style=text-align:right>[foo<div style=text-align:left contenteditable=false>bar</div>baz]</div><p>extra" queryCommandIndeterm("stylewithcss") before 
 PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<div style=text-align:right>[foo<div style=text-align:left contenteditable=false>bar</div>baz]</div><p>extra" queryCommandState("stylewithcss") before 
 PASS [["stylewithcss","true"],["defaultparagraphseparator","div"],["justifyright",""]] "<div style=text-align:right>[foo<div style=text-align:left contenteditable=false>bar</div>baz]</div><p>extra" queryCommandValue("stylewithcss") before 
@@ -4317,7 +4317,7 @@
 PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<div style=text-align:right>[foo<div style=text-align:left contenteditable=false>bar</div>baz]</div><p>extra": execCommand("defaultparagraphseparator", false, "div") return value 
 PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<div style=text-align:right>[foo<div style=text-align:left contenteditable=false>bar</div>baz]</div><p>extra": execCommand("justifyright", false, "") return value 
 PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<div style=text-align:right>[foo<div style=text-align:left contenteditable=false>bar</div>baz]</div><p>extra" checks for modifications to non-editable content 
-FAIL [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<div style=text-align:right>[foo<div style=text-align:left contenteditable=false>bar</div>baz]</div><p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<div style=\"text-align:right\">foo</div><div style=\"text-align:left\" contenteditable=\"false\">bar</div><div style=\"text-align:right\">baz</div><p>extra</p>" but got "<div style=\"text-align:right\">foo<div contenteditable=\"false\" style=\"text-align:right\">bar</div>baz</div><p>extra</p>"
+FAIL [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<div style=text-align:right>[foo<div style=text-align:left contenteditable=false>bar</div>baz]</div><p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<div style=\"text-align:right\">foo</div><div style=\"text-align:left\" contenteditable=\"false\">bar</div><div style=\"text-align:right\">baz</div><p>extra</p>" but got "<div style=\"text-align:right\">foo<div style=\"text-align:right\" contenteditable=\"false\">bar</div>baz</div><p>extra</p>"
 PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<div style=text-align:right>[foo<div style=text-align:left contenteditable=false>bar</div>baz]</div><p>extra" queryCommandIndeterm("stylewithcss") before 
 PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<div style=text-align:right>[foo<div style=text-align:left contenteditable=false>bar</div>baz]</div><p>extra" queryCommandState("stylewithcss") before 
 PASS [["stylewithcss","false"],["defaultparagraphseparator","div"],["justifyright",""]] "<div style=text-align:right>[foo<div style=text-align:left contenteditable=false>bar</div>baz]</div><p>extra" queryCommandValue("stylewithcss") before 
@@ -4340,7 +4340,7 @@
 PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<div style=text-align:right>[foo<div style=text-align:left contenteditable=false>bar</div>baz]</div><p>extra": execCommand("defaultparagraphseparator", false, "p") return value 
 PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<div style=text-align:right>[foo<div style=text-align:left contenteditable=false>bar</div>baz]</div><p>extra": execCommand("justifyright", false, "") return value 
 PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<div style=text-align:right>[foo<div style=text-align:left contenteditable=false>bar</div>baz]</div><p>extra" checks for modifications to non-editable content 
-FAIL [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<div style=text-align:right>[foo<div style=text-align:left contenteditable=false>bar</div>baz]</div><p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<div style=\"text-align:right\">foo</div><div style=\"text-align:left\" contenteditable=\"false\">bar</div><div style=\"text-align:right\">baz</div><p>extra</p>" but got "<div style=\"text-align:right\">foo<div contenteditable=\"false\" style=\"text-align:right\">bar</div>baz</div><p>extra</p>"
+FAIL [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<div style=text-align:right>[foo<div style=text-align:left contenteditable=false>bar</div>baz]</div><p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<div style=\"text-align:right\">foo</div><div style=\"text-align:left\" contenteditable=\"false\">bar</div><div style=\"text-align:right\">baz</div><p>extra</p>" but got "<div style=\"text-align:right\">foo<div style=\"text-align:right\" contenteditable=\"false\">bar</div>baz</div><p>extra</p>"
 PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<div style=text-align:right>[foo<div style=text-align:left contenteditable=false>bar</div>baz]</div><p>extra" queryCommandIndeterm("stylewithcss") before 
 PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<div style=text-align:right>[foo<div style=text-align:left contenteditable=false>bar</div>baz]</div><p>extra" queryCommandState("stylewithcss") before 
 PASS [["stylewithcss","true"],["defaultparagraphseparator","p"],["justifyright",""]] "<div style=text-align:right>[foo<div style=text-align:left contenteditable=false>bar</div>baz]</div><p>extra" queryCommandValue("stylewithcss") before 
@@ -4363,7 +4363,7 @@
 PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<div style=text-align:right>[foo<div style=text-align:left contenteditable=false>bar</div>baz]</div><p>extra": execCommand("defaultparagraphseparator", false, "p") return value 
 PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<div style=text-align:right>[foo<div style=text-align:left contenteditable=false>bar</div>baz]</div><p>extra": execCommand("justifyright", false, "") return value 
 PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<div style=text-align:right>[foo<div style=text-align:left contenteditable=false>bar</div>baz]</div><p>extra" checks for modifications to non-editable content 
-FAIL [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<div style=text-align:right>[foo<div style=text-align:left contenteditable=false>bar</div>baz]</div><p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<div style=\"text-align:right\">foo</div><div style=\"text-align:left\" contenteditable=\"false\">bar</div><div style=\"text-align:right\">baz</div><p>extra</p>" but got "<div style=\"text-align:right\">foo<div contenteditable=\"false\" style=\"text-align:right\">bar</div>baz</div><p>extra</p>"
+FAIL [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<div style=text-align:right>[foo<div style=text-align:left contenteditable=false>bar</div>baz]</div><p>extra" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<div style=\"text-align:right\">foo</div><div style=\"text-align:left\" contenteditable=\"false\">bar</div><div style=\"text-align:right\">baz</div><p>extra</p>" but got "<div style=\"text-align:right\">foo<div style=\"text-align:right\" contenteditable=\"false\">bar</div>baz</div><p>extra</p>"
 PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<div style=text-align:right>[foo<div style=text-align:left contenteditable=false>bar</div>baz]</div><p>extra" queryCommandIndeterm("stylewithcss") before 
 PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<div style=text-align:right>[foo<div style=text-align:left contenteditable=false>bar</div>baz]</div><p>extra" queryCommandState("stylewithcss") before 
 PASS [["stylewithcss","false"],["defaultparagraphseparator","p"],["justifyright",""]] "<div style=text-align:right>[foo<div style=text-align:left contenteditable=false>bar</div>baz]</div><p>extra" queryCommandValue("stylewithcss") before 
diff --git a/third_party/WebKit/LayoutTests/platform/win/external/wpt/editing/run/strikethrough-expected.txt b/third_party/WebKit/LayoutTests/platform/win/external/wpt/editing/run/strikethrough-expected.txt
index b6a6b55..b959829 100644
--- a/third_party/WebKit/LayoutTests/platform/win/external/wpt/editing/run/strikethrough-expected.txt
+++ b/third_party/WebKit/LayoutTests/platform/win/external/wpt/editing/run/strikethrough-expected.txt
@@ -720,7 +720,7 @@
 PASS [["stylewithcss","true"],["strikethrough",""]] "<p style=\"text-decoration: underline\">foo[bar]baz</p>": execCommand("stylewithcss", false, "true") return value 
 PASS [["stylewithcss","true"],["strikethrough",""]] "<p style=\"text-decoration: underline\">foo[bar]baz</p>": execCommand("strikethrough", false, "") return value 
 PASS [["stylewithcss","true"],["strikethrough",""]] "<p style=\"text-decoration: underline\">foo[bar]baz</p>" checks for modifications to non-editable content 
-FAIL [["stylewithcss","true"],["strikethrough",""]] "<p style=\"text-decoration: underline\">foo[bar]baz</p>" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<p style=\"text-decoration:underline\">foo<span style=\"text-decoration:line-through\">bar</span>baz</p>" but got "<p><span style=\"text-decoration-line:underline\">foo</span><span style=\"text-decoration-line:underline line-through\">bar</span><span style=\"text-decoration-line:underline\">baz</span></p>"
+FAIL [["stylewithcss","true"],["strikethrough",""]] "<p style=\"text-decoration: underline\">foo[bar]baz</p>" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<p style=\"text-decoration:underline\">foo<span style=\"text-decoration:line-through\">bar</span>baz</p>" but got "<p style=\"\"><span style=\"text-decoration-line:underline\">foo</span><span style=\"text-decoration-line:underline line-through\">bar</span><span style=\"text-decoration-line:underline\">baz</span></p>"
 PASS [["stylewithcss","true"],["strikethrough",""]] "<p style=\"text-decoration: underline\">foo[bar]baz</p>" queryCommandIndeterm("stylewithcss") before 
 PASS [["stylewithcss","true"],["strikethrough",""]] "<p style=\"text-decoration: underline\">foo[bar]baz</p>" queryCommandState("stylewithcss") before 
 PASS [["stylewithcss","true"],["strikethrough",""]] "<p style=\"text-decoration: underline\">foo[bar]baz</p>" queryCommandValue("stylewithcss") before 
@@ -736,7 +736,7 @@
 PASS [["stylewithcss","false"],["strikethrough",""]] "<p style=\"text-decoration: underline\">foo[bar]baz</p>": execCommand("stylewithcss", false, "false") return value 
 PASS [["stylewithcss","false"],["strikethrough",""]] "<p style=\"text-decoration: underline\">foo[bar]baz</p>": execCommand("strikethrough", false, "") return value 
 PASS [["stylewithcss","false"],["strikethrough",""]] "<p style=\"text-decoration: underline\">foo[bar]baz</p>" checks for modifications to non-editable content 
-FAIL [["stylewithcss","false"],["strikethrough",""]] "<p style=\"text-decoration: underline\">foo[bar]baz</p>" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<p style=\"text-decoration:underline\">foo<s>bar</s>baz</p>" but got "<p><span style=\"text-decoration-line:underline\">foo</span><u><strike>bar</strike>baz</u></p>"
+FAIL [["stylewithcss","false"],["strikethrough",""]] "<p style=\"text-decoration: underline\">foo[bar]baz</p>" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<p style=\"text-decoration:underline\">foo<s>bar</s>baz</p>" but got "<p style=\"\"><span style=\"text-decoration-line:underline\">foo</span><u><strike>bar</strike>baz</u></p>"
 PASS [["stylewithcss","false"],["strikethrough",""]] "<p style=\"text-decoration: underline\">foo[bar]baz</p>" queryCommandIndeterm("stylewithcss") before 
 PASS [["stylewithcss","false"],["strikethrough",""]] "<p style=\"text-decoration: underline\">foo[bar]baz</p>" queryCommandState("stylewithcss") before 
 PASS [["stylewithcss","false"],["strikethrough",""]] "<p style=\"text-decoration: underline\">foo[bar]baz</p>" queryCommandValue("stylewithcss") before 
@@ -912,7 +912,7 @@
 PASS [["stylewithcss","true"],["strikethrough",""]] "<s>foo[b<i>ar]ba</i>z</s>": execCommand("stylewithcss", false, "true") return value 
 PASS [["stylewithcss","true"],["strikethrough",""]] "<s>foo[b<i>ar]ba</i>z</s>": execCommand("strikethrough", false, "") return value 
 PASS [["stylewithcss","true"],["strikethrough",""]] "<s>foo[b<i>ar]ba</i>z</s>" checks for modifications to non-editable content 
-FAIL [["stylewithcss","true"],["strikethrough",""]] "<s>foo[b<i>ar]ba</i>z</s>" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<span style=\"text-decoration:line-through\">foo</span>b<i>ar<span style=\"text-decoration:line-through\">ba</span></i><span style=\"text-decoration:line-through\">z</span>" but got "<s>foo</s>b<i>ar<span style=\"text-decoration-line:line-through\">ba</span></i><span style=\"text-decoration-line:line-through\">z</span>"
+FAIL [["stylewithcss","true"],["strikethrough",""]] "<s>foo[b<i>ar]ba</i>z</s>" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<span style=\"text-decoration:line-through\">foo</span>b<i>ar<span style=\"text-decoration:line-through\">ba</span></i><span style=\"text-decoration:line-through\">z</span>" but got "<s>foo</s>b<i style=\"\">ar<span style=\"text-decoration-line:line-through\">ba</span></i><span style=\"text-decoration-line:line-through\">z</span>"
 PASS [["stylewithcss","true"],["strikethrough",""]] "<s>foo[b<i>ar]ba</i>z</s>" queryCommandIndeterm("stylewithcss") before 
 PASS [["stylewithcss","true"],["strikethrough",""]] "<s>foo[b<i>ar]ba</i>z</s>" queryCommandState("stylewithcss") before 
 PASS [["stylewithcss","true"],["strikethrough",""]] "<s>foo[b<i>ar]ba</i>z</s>" queryCommandValue("stylewithcss") before 
@@ -928,7 +928,7 @@
 PASS [["stylewithcss","false"],["strikethrough",""]] "<s>foo[b<i>ar]ba</i>z</s>": execCommand("stylewithcss", false, "false") return value 
 PASS [["stylewithcss","false"],["strikethrough",""]] "<s>foo[b<i>ar]ba</i>z</s>": execCommand("strikethrough", false, "") return value 
 PASS [["stylewithcss","false"],["strikethrough",""]] "<s>foo[b<i>ar]ba</i>z</s>" checks for modifications to non-editable content 
-FAIL [["stylewithcss","false"],["strikethrough",""]] "<s>foo[b<i>ar]ba</i>z</s>" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<s>foo</s>b<i>ar<s>ba</s></i><s>z</s>" but got "<s>foo</s>b<i>ar<strike>ba</strike></i><strike>z</strike>"
+FAIL [["stylewithcss","false"],["strikethrough",""]] "<s>foo[b<i>ar]ba</i>z</s>" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<s>foo</s>b<i>ar<s>ba</s></i><s>z</s>" but got "<s>foo</s>b<i style=\"\">ar<strike>ba</strike></i><strike>z</strike>"
 PASS [["stylewithcss","false"],["strikethrough",""]] "<s>foo[b<i>ar]ba</i>z</s>" queryCommandIndeterm("stylewithcss") before 
 PASS [["stylewithcss","false"],["strikethrough",""]] "<s>foo[b<i>ar]ba</i>z</s>" queryCommandState("stylewithcss") before 
 PASS [["stylewithcss","false"],["strikethrough",""]] "<s>foo[b<i>ar]ba</i>z</s>" queryCommandValue("stylewithcss") before 
@@ -1104,7 +1104,7 @@
 PASS [["stylewithcss","true"],["strikethrough",""]] "<strike>foo[b<i>ar]ba</i>z</strike>": execCommand("stylewithcss", false, "true") return value 
 PASS [["stylewithcss","true"],["strikethrough",""]] "<strike>foo[b<i>ar]ba</i>z</strike>": execCommand("strikethrough", false, "") return value 
 PASS [["stylewithcss","true"],["strikethrough",""]] "<strike>foo[b<i>ar]ba</i>z</strike>" checks for modifications to non-editable content 
-FAIL [["stylewithcss","true"],["strikethrough",""]] "<strike>foo[b<i>ar]ba</i>z</strike>" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<span style=\"text-decoration:line-through\">foo</span>b<i>ar<span style=\"text-decoration:line-through\">ba</span></i><span style=\"text-decoration:line-through\">z</span>" but got "<strike>foo</strike>b<i>ar<span style=\"text-decoration-line:line-through\">ba</span></i><span style=\"text-decoration-line:line-through\">z</span>"
+FAIL [["stylewithcss","true"],["strikethrough",""]] "<strike>foo[b<i>ar]ba</i>z</strike>" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<span style=\"text-decoration:line-through\">foo</span>b<i>ar<span style=\"text-decoration:line-through\">ba</span></i><span style=\"text-decoration:line-through\">z</span>" but got "<strike>foo</strike>b<i style=\"\">ar<span style=\"text-decoration-line:line-through\">ba</span></i><span style=\"text-decoration-line:line-through\">z</span>"
 PASS [["stylewithcss","true"],["strikethrough",""]] "<strike>foo[b<i>ar]ba</i>z</strike>" queryCommandIndeterm("stylewithcss") before 
 PASS [["stylewithcss","true"],["strikethrough",""]] "<strike>foo[b<i>ar]ba</i>z</strike>" queryCommandState("stylewithcss") before 
 PASS [["stylewithcss","true"],["strikethrough",""]] "<strike>foo[b<i>ar]ba</i>z</strike>" queryCommandValue("stylewithcss") before 
@@ -1120,7 +1120,7 @@
 PASS [["stylewithcss","false"],["strikethrough",""]] "<strike>foo[b<i>ar]ba</i>z</strike>": execCommand("stylewithcss", false, "false") return value 
 PASS [["stylewithcss","false"],["strikethrough",""]] "<strike>foo[b<i>ar]ba</i>z</strike>": execCommand("strikethrough", false, "") return value 
 PASS [["stylewithcss","false"],["strikethrough",""]] "<strike>foo[b<i>ar]ba</i>z</strike>" checks for modifications to non-editable content 
-FAIL [["stylewithcss","false"],["strikethrough",""]] "<strike>foo[b<i>ar]ba</i>z</strike>" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<s>foo</s>b<i>ar<s>ba</s></i><s>z</s>" but got "<strike>foo</strike>b<i>ar<strike>ba</strike></i><strike>z</strike>"
+FAIL [["stylewithcss","false"],["strikethrough",""]] "<strike>foo[b<i>ar]ba</i>z</strike>" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<s>foo</s>b<i>ar<s>ba</s></i><s>z</s>" but got "<strike>foo</strike>b<i style=\"\">ar<strike>ba</strike></i><strike>z</strike>"
 PASS [["stylewithcss","false"],["strikethrough",""]] "<strike>foo[b<i>ar]ba</i>z</strike>" queryCommandIndeterm("stylewithcss") before 
 PASS [["stylewithcss","false"],["strikethrough",""]] "<strike>foo[b<i>ar]ba</i>z</strike>" queryCommandState("stylewithcss") before 
 PASS [["stylewithcss","false"],["strikethrough",""]] "<strike>foo[b<i>ar]ba</i>z</strike>" queryCommandValue("stylewithcss") before 
@@ -1679,7 +1679,7 @@
 PASS [["stylewithcss","true"],["strikethrough",""]] "<p style=\"text-decoration: line-through\">foo[bar]baz</p>": execCommand("stylewithcss", false, "true") return value 
 PASS [["stylewithcss","true"],["strikethrough",""]] "<p style=\"text-decoration: line-through\">foo[bar]baz</p>": execCommand("strikethrough", false, "") return value 
 PASS [["stylewithcss","true"],["strikethrough",""]] "<p style=\"text-decoration: line-through\">foo[bar]baz</p>" checks for modifications to non-editable content 
-FAIL [["stylewithcss","true"],["strikethrough",""]] "<p style=\"text-decoration: line-through\">foo[bar]baz</p>" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<p><span style=\"text-decoration:line-through\">foo</span>bar<span style=\"text-decoration:line-through\">baz</span></p>" but got "<p><span style=\"text-decoration-line:line-through\">foo</span>bar<span style=\"text-decoration-line:line-through\">baz</span></p>"
+FAIL [["stylewithcss","true"],["strikethrough",""]] "<p style=\"text-decoration: line-through\">foo[bar]baz</p>" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<p><span style=\"text-decoration:line-through\">foo</span>bar<span style=\"text-decoration:line-through\">baz</span></p>" but got "<p style=\"\"><span style=\"text-decoration-line:line-through\">foo</span>bar<span style=\"text-decoration-line:line-through\">baz</span></p>"
 PASS [["stylewithcss","true"],["strikethrough",""]] "<p style=\"text-decoration: line-through\">foo[bar]baz</p>" queryCommandIndeterm("stylewithcss") before 
 PASS [["stylewithcss","true"],["strikethrough",""]] "<p style=\"text-decoration: line-through\">foo[bar]baz</p>" queryCommandState("stylewithcss") before 
 PASS [["stylewithcss","true"],["strikethrough",""]] "<p style=\"text-decoration: line-through\">foo[bar]baz</p>" queryCommandValue("stylewithcss") before 
@@ -1695,7 +1695,7 @@
 PASS [["stylewithcss","false"],["strikethrough",""]] "<p style=\"text-decoration: line-through\">foo[bar]baz</p>": execCommand("stylewithcss", false, "false") return value 
 PASS [["stylewithcss","false"],["strikethrough",""]] "<p style=\"text-decoration: line-through\">foo[bar]baz</p>": execCommand("strikethrough", false, "") return value 
 PASS [["stylewithcss","false"],["strikethrough",""]] "<p style=\"text-decoration: line-through\">foo[bar]baz</p>" checks for modifications to non-editable content 
-FAIL [["stylewithcss","false"],["strikethrough",""]] "<p style=\"text-decoration: line-through\">foo[bar]baz</p>" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<p><s>foo</s>bar<s>baz</s></p>" but got "<p><span style=\"text-decoration-line:line-through\">foo</span>bar<strike>baz</strike></p>"
+FAIL [["stylewithcss","false"],["strikethrough",""]] "<p style=\"text-decoration: line-through\">foo[bar]baz</p>" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<p><s>foo</s>bar<s>baz</s></p>" but got "<p style=\"\"><span style=\"text-decoration-line:line-through\">foo</span>bar<strike>baz</strike></p>"
 PASS [["stylewithcss","false"],["strikethrough",""]] "<p style=\"text-decoration: line-through\">foo[bar]baz</p>" queryCommandIndeterm("stylewithcss") before 
 PASS [["stylewithcss","false"],["strikethrough",""]] "<p style=\"text-decoration: line-through\">foo[bar]baz</p>" queryCommandState("stylewithcss") before 
 PASS [["stylewithcss","false"],["strikethrough",""]] "<p style=\"text-decoration: line-through\">foo[bar]baz</p>" queryCommandValue("stylewithcss") before 
@@ -1711,7 +1711,7 @@
 PASS [["stylewithcss","true"],["strikethrough",""]] "<p style=\"text-decoration: overline\">foo[bar]baz</p>": execCommand("stylewithcss", false, "true") return value 
 PASS [["stylewithcss","true"],["strikethrough",""]] "<p style=\"text-decoration: overline\">foo[bar]baz</p>": execCommand("strikethrough", false, "") return value 
 PASS [["stylewithcss","true"],["strikethrough",""]] "<p style=\"text-decoration: overline\">foo[bar]baz</p>" checks for modifications to non-editable content 
-FAIL [["stylewithcss","true"],["strikethrough",""]] "<p style=\"text-decoration: overline\">foo[bar]baz</p>" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<p style=\"text-decoration:overline\">foo<span style=\"text-decoration:line-through\">bar</span>baz</p>" but got "<p><span style=\"text-decoration-line:overline\">foo</span><span style=\"text-decoration-line:overline line-through\">bar</span><span style=\"text-decoration-line:overline\">baz</span></p>"
+FAIL [["stylewithcss","true"],["strikethrough",""]] "<p style=\"text-decoration: overline\">foo[bar]baz</p>" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<p style=\"text-decoration:overline\">foo<span style=\"text-decoration:line-through\">bar</span>baz</p>" but got "<p style=\"\"><span style=\"text-decoration-line:overline\">foo</span><span style=\"text-decoration-line:overline line-through\">bar</span><span style=\"text-decoration-line:overline\">baz</span></p>"
 PASS [["stylewithcss","true"],["strikethrough",""]] "<p style=\"text-decoration: overline\">foo[bar]baz</p>" queryCommandIndeterm("stylewithcss") before 
 PASS [["stylewithcss","true"],["strikethrough",""]] "<p style=\"text-decoration: overline\">foo[bar]baz</p>" queryCommandState("stylewithcss") before 
 PASS [["stylewithcss","true"],["strikethrough",""]] "<p style=\"text-decoration: overline\">foo[bar]baz</p>" queryCommandValue("stylewithcss") before 
@@ -1727,7 +1727,7 @@
 PASS [["stylewithcss","false"],["strikethrough",""]] "<p style=\"text-decoration: overline\">foo[bar]baz</p>": execCommand("stylewithcss", false, "false") return value 
 PASS [["stylewithcss","false"],["strikethrough",""]] "<p style=\"text-decoration: overline\">foo[bar]baz</p>": execCommand("strikethrough", false, "") return value 
 PASS [["stylewithcss","false"],["strikethrough",""]] "<p style=\"text-decoration: overline\">foo[bar]baz</p>" checks for modifications to non-editable content 
-FAIL [["stylewithcss","false"],["strikethrough",""]] "<p style=\"text-decoration: overline\">foo[bar]baz</p>" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<p style=\"text-decoration:overline\">foo<s>bar</s>baz</p>" but got "<p><span style=\"text-decoration-line:overline\">foo<strike>bar</strike>baz</span></p>"
+FAIL [["stylewithcss","false"],["strikethrough",""]] "<p style=\"text-decoration: overline\">foo[bar]baz</p>" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<p style=\"text-decoration:overline\">foo<s>bar</s>baz</p>" but got "<p style=\"\"><span style=\"text-decoration-line:overline\">foo<strike>bar</strike>baz</span></p>"
 PASS [["stylewithcss","false"],["strikethrough",""]] "<p style=\"text-decoration: overline\">foo[bar]baz</p>" queryCommandIndeterm("stylewithcss") before 
 PASS [["stylewithcss","false"],["strikethrough",""]] "<p style=\"text-decoration: overline\">foo[bar]baz</p>" queryCommandState("stylewithcss") before 
 PASS [["stylewithcss","false"],["strikethrough",""]] "<p style=\"text-decoration: overline\">foo[bar]baz</p>" queryCommandValue("stylewithcss") before 
diff --git a/third_party/WebKit/LayoutTests/platform/win/external/wpt/editing/run/underline-expected.txt b/third_party/WebKit/LayoutTests/platform/win/external/wpt/editing/run/underline-expected.txt
index 56df18c..e582fbbf 100644
--- a/third_party/WebKit/LayoutTests/platform/win/external/wpt/editing/run/underline-expected.txt
+++ b/third_party/WebKit/LayoutTests/platform/win/external/wpt/editing/run/underline-expected.txt
@@ -1,5 +1,5 @@
 This is a testharness.js-based test.
-Found 2123 tests; 1760 PASS, 363 FAIL, 0 TIMEOUT, 0 NOTRUN.
+Found 2123 tests; 1759 PASS, 364 FAIL, 0 TIMEOUT, 0 NOTRUN.
 PASS [["underline",""]] "foo[]bar": execCommand("underline", false, "") return value 
 PASS [["underline",""]] "foo[]bar" checks for modifications to non-editable content 
 PASS [["underline",""]] "foo[]bar" compare innerHTML 
@@ -656,7 +656,7 @@
 PASS [["stylewithcss","true"],["underline",""]] "<u>foo[b<i>ar]ba</i>z</u>": execCommand("stylewithcss", false, "true") return value 
 PASS [["stylewithcss","true"],["underline",""]] "<u>foo[b<i>ar]ba</i>z</u>": execCommand("underline", false, "") return value 
 PASS [["stylewithcss","true"],["underline",""]] "<u>foo[b<i>ar]ba</i>z</u>" checks for modifications to non-editable content 
-FAIL [["stylewithcss","true"],["underline",""]] "<u>foo[b<i>ar]ba</i>z</u>" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<span style=\"text-decoration:underline\">foo</span>b<i>ar<span style=\"text-decoration:underline\">ba</span></i><span style=\"text-decoration:underline\">z</span>" but got "<u>foo</u>b<i>ar<span style=\"text-decoration-line:underline\">ba</span></i><span style=\"text-decoration-line:underline\">z</span>"
+FAIL [["stylewithcss","true"],["underline",""]] "<u>foo[b<i>ar]ba</i>z</u>" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<span style=\"text-decoration:underline\">foo</span>b<i>ar<span style=\"text-decoration:underline\">ba</span></i><span style=\"text-decoration:underline\">z</span>" but got "<u>foo</u>b<i style=\"\">ar<span style=\"text-decoration-line:underline\">ba</span></i><span style=\"text-decoration-line:underline\">z</span>"
 PASS [["stylewithcss","true"],["underline",""]] "<u>foo[b<i>ar]ba</i>z</u>" queryCommandIndeterm("stylewithcss") before 
 PASS [["stylewithcss","true"],["underline",""]] "<u>foo[b<i>ar]ba</i>z</u>" queryCommandState("stylewithcss") before 
 PASS [["stylewithcss","true"],["underline",""]] "<u>foo[b<i>ar]ba</i>z</u>" queryCommandValue("stylewithcss") before 
@@ -672,7 +672,7 @@
 PASS [["stylewithcss","false"],["underline",""]] "<u>foo[b<i>ar]ba</i>z</u>": execCommand("stylewithcss", false, "false") return value 
 PASS [["stylewithcss","false"],["underline",""]] "<u>foo[b<i>ar]ba</i>z</u>": execCommand("underline", false, "") return value 
 PASS [["stylewithcss","false"],["underline",""]] "<u>foo[b<i>ar]ba</i>z</u>" checks for modifications to non-editable content 
-PASS [["stylewithcss","false"],["underline",""]] "<u>foo[b<i>ar]ba</i>z</u>" compare innerHTML 
+FAIL [["stylewithcss","false"],["underline",""]] "<u>foo[b<i>ar]ba</i>z</u>" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<u>foo</u>b<i>ar<u>ba</u></i><u>z</u>" but got "<u>foo</u>b<i style=\"\">ar<u>ba</u></i><u>z</u>"
 PASS [["stylewithcss","false"],["underline",""]] "<u>foo[b<i>ar]ba</i>z</u>" queryCommandIndeterm("stylewithcss") before 
 PASS [["stylewithcss","false"],["underline",""]] "<u>foo[b<i>ar]ba</i>z</u>" queryCommandState("stylewithcss") before 
 PASS [["stylewithcss","false"],["underline",""]] "<u>foo[b<i>ar]ba</i>z</u>" queryCommandValue("stylewithcss") before 
@@ -688,7 +688,7 @@
 PASS [["stylewithcss","true"],["underline",""]] "<p style=\"text-decoration: underline\">foo[bar]baz</p>": execCommand("stylewithcss", false, "true") return value 
 PASS [["stylewithcss","true"],["underline",""]] "<p style=\"text-decoration: underline\">foo[bar]baz</p>": execCommand("underline", false, "") return value 
 PASS [["stylewithcss","true"],["underline",""]] "<p style=\"text-decoration: underline\">foo[bar]baz</p>" checks for modifications to non-editable content 
-FAIL [["stylewithcss","true"],["underline",""]] "<p style=\"text-decoration: underline\">foo[bar]baz</p>" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<p><span style=\"text-decoration:underline\">foo</span>bar<span style=\"text-decoration:underline\">baz</span></p>" but got "<p><span style=\"text-decoration-line:underline\">foo</span>bar<span style=\"text-decoration-line:underline\">baz</span></p>"
+FAIL [["stylewithcss","true"],["underline",""]] "<p style=\"text-decoration: underline\">foo[bar]baz</p>" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<p><span style=\"text-decoration:underline\">foo</span>bar<span style=\"text-decoration:underline\">baz</span></p>" but got "<p style=\"\"><span style=\"text-decoration-line:underline\">foo</span>bar<span style=\"text-decoration-line:underline\">baz</span></p>"
 PASS [["stylewithcss","true"],["underline",""]] "<p style=\"text-decoration: underline\">foo[bar]baz</p>" queryCommandIndeterm("stylewithcss") before 
 PASS [["stylewithcss","true"],["underline",""]] "<p style=\"text-decoration: underline\">foo[bar]baz</p>" queryCommandState("stylewithcss") before 
 PASS [["stylewithcss","true"],["underline",""]] "<p style=\"text-decoration: underline\">foo[bar]baz</p>" queryCommandValue("stylewithcss") before 
@@ -704,7 +704,7 @@
 PASS [["stylewithcss","false"],["underline",""]] "<p style=\"text-decoration: underline\">foo[bar]baz</p>": execCommand("stylewithcss", false, "false") return value 
 PASS [["stylewithcss","false"],["underline",""]] "<p style=\"text-decoration: underline\">foo[bar]baz</p>": execCommand("underline", false, "") return value 
 PASS [["stylewithcss","false"],["underline",""]] "<p style=\"text-decoration: underline\">foo[bar]baz</p>" checks for modifications to non-editable content 
-FAIL [["stylewithcss","false"],["underline",""]] "<p style=\"text-decoration: underline\">foo[bar]baz</p>" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<p><u>foo</u>bar<u>baz</u></p>" but got "<p><span style=\"text-decoration-line:underline\">foo</span>bar<u>baz</u></p>"
+FAIL [["stylewithcss","false"],["underline",""]] "<p style=\"text-decoration: underline\">foo[bar]baz</p>" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<p><u>foo</u>bar<u>baz</u></p>" but got "<p style=\"\"><span style=\"text-decoration-line:underline\">foo</span>bar<u>baz</u></p>"
 PASS [["stylewithcss","false"],["underline",""]] "<p style=\"text-decoration: underline\">foo[bar]baz</p>" queryCommandIndeterm("stylewithcss") before 
 PASS [["stylewithcss","false"],["underline",""]] "<p style=\"text-decoration: underline\">foo[bar]baz</p>" queryCommandState("stylewithcss") before 
 PASS [["stylewithcss","false"],["underline",""]] "<p style=\"text-decoration: underline\">foo[bar]baz</p>" queryCommandValue("stylewithcss") before 
@@ -944,7 +944,7 @@
 PASS [["stylewithcss","true"],["underline",""]] "<p style=\"text-decoration: line-through\">foo[bar]baz</p>": execCommand("stylewithcss", false, "true") return value 
 PASS [["stylewithcss","true"],["underline",""]] "<p style=\"text-decoration: line-through\">foo[bar]baz</p>": execCommand("underline", false, "") return value 
 PASS [["stylewithcss","true"],["underline",""]] "<p style=\"text-decoration: line-through\">foo[bar]baz</p>" checks for modifications to non-editable content 
-FAIL [["stylewithcss","true"],["underline",""]] "<p style=\"text-decoration: line-through\">foo[bar]baz</p>" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<p style=\"text-decoration:line-through\">foo<span style=\"text-decoration:underline\">bar</span>baz</p>" but got "<p><span style=\"text-decoration-line:line-through\">foo</span><span style=\"text-decoration-line:line-through underline\">bar</span><span style=\"text-decoration-line:line-through\">baz</span></p>"
+FAIL [["stylewithcss","true"],["underline",""]] "<p style=\"text-decoration: line-through\">foo[bar]baz</p>" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<p style=\"text-decoration:line-through\">foo<span style=\"text-decoration:underline\">bar</span>baz</p>" but got "<p style=\"\"><span style=\"text-decoration-line:line-through\">foo</span><span style=\"text-decoration-line:line-through underline\">bar</span><span style=\"text-decoration-line:line-through\">baz</span></p>"
 PASS [["stylewithcss","true"],["underline",""]] "<p style=\"text-decoration: line-through\">foo[bar]baz</p>" queryCommandIndeterm("stylewithcss") before 
 PASS [["stylewithcss","true"],["underline",""]] "<p style=\"text-decoration: line-through\">foo[bar]baz</p>" queryCommandState("stylewithcss") before 
 PASS [["stylewithcss","true"],["underline",""]] "<p style=\"text-decoration: line-through\">foo[bar]baz</p>" queryCommandValue("stylewithcss") before 
@@ -960,7 +960,7 @@
 PASS [["stylewithcss","false"],["underline",""]] "<p style=\"text-decoration: line-through\">foo[bar]baz</p>": execCommand("stylewithcss", false, "false") return value 
 PASS [["stylewithcss","false"],["underline",""]] "<p style=\"text-decoration: line-through\">foo[bar]baz</p>": execCommand("underline", false, "") return value 
 PASS [["stylewithcss","false"],["underline",""]] "<p style=\"text-decoration: line-through\">foo[bar]baz</p>" checks for modifications to non-editable content 
-FAIL [["stylewithcss","false"],["underline",""]] "<p style=\"text-decoration: line-through\">foo[bar]baz</p>" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<p style=\"text-decoration:line-through\">foo<u>bar</u>baz</p>" but got "<p><span style=\"text-decoration-line:line-through\">foo</span><u><strike>bar</strike></u><strike>baz</strike></p>"
+FAIL [["stylewithcss","false"],["underline",""]] "<p style=\"text-decoration: line-through\">foo[bar]baz</p>" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<p style=\"text-decoration:line-through\">foo<u>bar</u>baz</p>" but got "<p style=\"\"><span style=\"text-decoration-line:line-through\">foo</span><u><strike>bar</strike></u><strike>baz</strike></p>"
 PASS [["stylewithcss","false"],["underline",""]] "<p style=\"text-decoration: line-through\">foo[bar]baz</p>" queryCommandIndeterm("stylewithcss") before 
 PASS [["stylewithcss","false"],["underline",""]] "<p style=\"text-decoration: line-through\">foo[bar]baz</p>" queryCommandState("stylewithcss") before 
 PASS [["stylewithcss","false"],["underline",""]] "<p style=\"text-decoration: line-through\">foo[bar]baz</p>" queryCommandValue("stylewithcss") before 
@@ -1711,7 +1711,7 @@
 PASS [["stylewithcss","true"],["underline",""]] "<p style=\"text-decoration: overline\">foo[bar]baz</p>": execCommand("stylewithcss", false, "true") return value 
 PASS [["stylewithcss","true"],["underline",""]] "<p style=\"text-decoration: overline\">foo[bar]baz</p>": execCommand("underline", false, "") return value 
 PASS [["stylewithcss","true"],["underline",""]] "<p style=\"text-decoration: overline\">foo[bar]baz</p>" checks for modifications to non-editable content 
-FAIL [["stylewithcss","true"],["underline",""]] "<p style=\"text-decoration: overline\">foo[bar]baz</p>" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<p style=\"text-decoration:overline\">foo<span style=\"text-decoration:underline\">bar</span>baz</p>" but got "<p><span style=\"text-decoration-line:overline\">foo</span><span style=\"text-decoration-line:overline underline\">bar</span><span style=\"text-decoration-line:overline\">baz</span></p>"
+FAIL [["stylewithcss","true"],["underline",""]] "<p style=\"text-decoration: overline\">foo[bar]baz</p>" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<p style=\"text-decoration:overline\">foo<span style=\"text-decoration:underline\">bar</span>baz</p>" but got "<p style=\"\"><span style=\"text-decoration-line:overline\">foo</span><span style=\"text-decoration-line:overline underline\">bar</span><span style=\"text-decoration-line:overline\">baz</span></p>"
 PASS [["stylewithcss","true"],["underline",""]] "<p style=\"text-decoration: overline\">foo[bar]baz</p>" queryCommandIndeterm("stylewithcss") before 
 PASS [["stylewithcss","true"],["underline",""]] "<p style=\"text-decoration: overline\">foo[bar]baz</p>" queryCommandState("stylewithcss") before 
 PASS [["stylewithcss","true"],["underline",""]] "<p style=\"text-decoration: overline\">foo[bar]baz</p>" queryCommandValue("stylewithcss") before 
@@ -1727,7 +1727,7 @@
 PASS [["stylewithcss","false"],["underline",""]] "<p style=\"text-decoration: overline\">foo[bar]baz</p>": execCommand("stylewithcss", false, "false") return value 
 PASS [["stylewithcss","false"],["underline",""]] "<p style=\"text-decoration: overline\">foo[bar]baz</p>": execCommand("underline", false, "") return value 
 PASS [["stylewithcss","false"],["underline",""]] "<p style=\"text-decoration: overline\">foo[bar]baz</p>" checks for modifications to non-editable content 
-FAIL [["stylewithcss","false"],["underline",""]] "<p style=\"text-decoration: overline\">foo[bar]baz</p>" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<p style=\"text-decoration:overline\">foo<u>bar</u>baz</p>" but got "<p><span style=\"text-decoration-line:overline\">foo<u>bar</u>baz</span></p>"
+FAIL [["stylewithcss","false"],["underline",""]] "<p style=\"text-decoration: overline\">foo[bar]baz</p>" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<p style=\"text-decoration:overline\">foo<u>bar</u>baz</p>" but got "<p style=\"\"><span style=\"text-decoration-line:overline\">foo<u>bar</u>baz</span></p>"
 PASS [["stylewithcss","false"],["underline",""]] "<p style=\"text-decoration: overline\">foo[bar]baz</p>" queryCommandIndeterm("stylewithcss") before 
 PASS [["stylewithcss","false"],["underline",""]] "<p style=\"text-decoration: overline\">foo[bar]baz</p>" queryCommandState("stylewithcss") before 
 PASS [["stylewithcss","false"],["underline",""]] "<p style=\"text-decoration: overline\">foo[bar]baz</p>" queryCommandValue("stylewithcss") before 
diff --git a/third_party/WebKit/LayoutTests/platform/win/fast/forms/select-popup/popup-menu-appearance-coarse-expected.png b/third_party/WebKit/LayoutTests/platform/win/fast/forms/select-popup/popup-menu-appearance-coarse-expected.png
index 3fc88ef..8656a5a 100644
--- a/third_party/WebKit/LayoutTests/platform/win/fast/forms/select-popup/popup-menu-appearance-coarse-expected.png
+++ b/third_party/WebKit/LayoutTests/platform/win/fast/forms/select-popup/popup-menu-appearance-coarse-expected.png
Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/win/fast/multicol/layers-in-multicol-expected.png b/third_party/WebKit/LayoutTests/platform/win/fast/multicol/layers-in-multicol-expected.png
deleted file mode 100644
index 62b98ea..0000000
--- a/third_party/WebKit/LayoutTests/platform/win/fast/multicol/layers-in-multicol-expected.png
+++ /dev/null
Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/win/fast/multicol/layers-split-across-columns-expected.png b/third_party/WebKit/LayoutTests/platform/win/fast/multicol/layers-split-across-columns-expected.png
deleted file mode 100644
index 608b610..0000000
--- a/third_party/WebKit/LayoutTests/platform/win/fast/multicol/layers-split-across-columns-expected.png
+++ /dev/null
Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/win/paint/invalidation/svg/scrolling-embedded-svg-file-image-repaint-problem-expected.png b/third_party/WebKit/LayoutTests/platform/win/paint/invalidation/svg/scrolling-embedded-svg-file-image-repaint-problem-expected.png
index 6eb1bf6..8829276ef 100644
--- a/third_party/WebKit/LayoutTests/platform/win/paint/invalidation/svg/scrolling-embedded-svg-file-image-repaint-problem-expected.png
+++ b/third_party/WebKit/LayoutTests/platform/win/paint/invalidation/svg/scrolling-embedded-svg-file-image-repaint-problem-expected.png
Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/win/transforms/2d/hindi-rotated-expected.png b/third_party/WebKit/LayoutTests/platform/win/transforms/2d/hindi-rotated-expected.png
index 5b597ed..6837fed 100644
--- a/third_party/WebKit/LayoutTests/platform/win/transforms/2d/hindi-rotated-expected.png
+++ b/third_party/WebKit/LayoutTests/platform/win/transforms/2d/hindi-rotated-expected.png
Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/paint/invalidation/svg/scrolling-embedded-svg-file-image-repaint-problem-expected.png b/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/paint/invalidation/svg/scrolling-embedded-svg-file-image-repaint-problem-expected.png
index 6eb1bf6..8829276ef 100644
--- a/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/paint/invalidation/svg/scrolling-embedded-svg-file-image-repaint-problem-expected.png
+++ b/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/paint/invalidation/svg/scrolling-embedded-svg-file-image-repaint-problem-expected.png
Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/win7/paint/invalidation/svg/scrolling-embedded-svg-file-image-repaint-problem-expected.png b/third_party/WebKit/LayoutTests/platform/win7/paint/invalidation/svg/scrolling-embedded-svg-file-image-repaint-problem-expected.png
index 27dad6f..bbb8278 100644
--- a/third_party/WebKit/LayoutTests/platform/win7/paint/invalidation/svg/scrolling-embedded-svg-file-image-repaint-problem-expected.png
+++ b/third_party/WebKit/LayoutTests/platform/win7/paint/invalidation/svg/scrolling-embedded-svg-file-image-repaint-problem-expected.png
Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/win7/transforms/2d/hindi-rotated-expected.png b/third_party/WebKit/LayoutTests/platform/win7/transforms/2d/hindi-rotated-expected.png
index 855bfdf8..7e9778db 100644
--- a/third_party/WebKit/LayoutTests/platform/win7/transforms/2d/hindi-rotated-expected.png
+++ b/third_party/WebKit/LayoutTests/platform/win7/transforms/2d/hindi-rotated-expected.png
Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/win7/virtual/disable-spinvalidation/paint/invalidation/svg/scrolling-embedded-svg-file-image-repaint-problem-expected.png b/third_party/WebKit/LayoutTests/platform/win7/virtual/disable-spinvalidation/paint/invalidation/svg/scrolling-embedded-svg-file-image-repaint-problem-expected.png
index 27dad6f..bbb8278 100644
--- a/third_party/WebKit/LayoutTests/platform/win7/virtual/disable-spinvalidation/paint/invalidation/svg/scrolling-embedded-svg-file-image-repaint-problem-expected.png
+++ b/third_party/WebKit/LayoutTests/platform/win7/virtual/disable-spinvalidation/paint/invalidation/svg/scrolling-embedded-svg-file-image-repaint-problem-expected.png
Binary files differ
diff --git a/third_party/WebKit/LayoutTests/resources/testharness.js b/third_party/WebKit/LayoutTests/resources/testharness.js
index 1a313aab..006d715d 100644
--- a/third_party/WebKit/LayoutTests/resources/testharness.js
+++ b/third_party/WebKit/LayoutTests/resources/testharness.js
@@ -1980,6 +1980,7 @@
             }
         } else if (is_shared_worker(worker)) {
             message_port = worker.port;
+            message_port.start();
         } else {
             message_port = worker;
         }
diff --git a/third_party/WebKit/LayoutTests/svg/dom/svgpath-getPathSegAtLength-expected.txt b/third_party/WebKit/LayoutTests/svg/dom/svgpath-getPathSegAtLength-expected.txt
index c680a6e..a9da2c9 100644
--- a/third_party/WebKit/LayoutTests/svg/dom/svgpath-getPathSegAtLength-expected.txt
+++ b/third_party/WebKit/LayoutTests/svg/dom/svgpath-getPathSegAtLength-expected.txt
@@ -1,3 +1,4 @@
+CONSOLE WARNING: line 1: SVGPathElement.getPathSegAtLength is deprecated and will be removed in M62, around October 2017. See https://www.chromestatus.com/features/5638783282184192 for more details.
 Test SVG path.getPathSegAtLength().
 
 On success, you will see a series of "PASS" messages, followed by "TEST COMPLETE".
diff --git a/third_party/WebKit/LayoutTests/transitions/transition-end-event-create-expected.txt b/third_party/WebKit/LayoutTests/transitions/transition-end-event-create-expected.txt
deleted file mode 100644
index 2fb53bf..0000000
--- a/third_party/WebKit/LayoutTests/transitions/transition-end-event-create-expected.txt
+++ /dev/null
@@ -1,21 +0,0 @@
-Test dynamic creation of WebKitTransitionEnd event.
-
-On success, you will see a series of "PASS" messages, followed by "TEST COMPLETE".
-
-
-PASS document.createEvent exists
-
-Test creation of WebKitTransitionEvent
-PASS typeof(ev) is 'object'
-PASS ev.propertyName is ''
-PASS ev.elapsedTime is 0.0
-
-Create a MouseEvent and make sure it doesn't have the WebKitTransitionEnd event properties
-PASS typeof(ev) is 'object'
-PASS ev.propertyName is undefined
-PASS ev.elapsedTime is undefined
-
-PASS successfullyParsed is true
-
-TEST COMPLETE
-
diff --git a/third_party/WebKit/LayoutTests/transitions/transition-end-event-create.html b/third_party/WebKit/LayoutTests/transitions/transition-end-event-create.html
deleted file mode 100644
index b2a51ce7..0000000
--- a/third_party/WebKit/LayoutTests/transitions/transition-end-event-create.html
+++ /dev/null
@@ -1,39 +0,0 @@
-<html>
-<head>
-<script src="../resources/js-test.js"></script>
-</head>
-<body>
-<p id="description"></p>
-<div id="console"></div>
-<script>
-
-description("Test dynamic creation of WebKitTransitionEnd event.");
-
-if (document.createEvent)
-    testPassed("document.createEvent exists");
-else
-    testFailed("document.createEvent missing");
-
-debug("");
-debug("Test creation of WebKitTransitionEvent");
-
-var ev = document.createEvent("WebKitTransitionEvent");
-
-shouldBe("typeof(ev)", "'object'");
-shouldBe("ev.propertyName", "''");
-shouldBe("ev.elapsedTime", "0.0");
-
-debug("");
-debug("Create a MouseEvent and make sure it doesn't have the WebKitTransitionEnd event properties");
-
-ev = document.createEvent("MouseEvent");
-
-shouldBe("typeof(ev)", "'object'");
-shouldBe("ev.propertyName", "undefined");
-shouldBe("ev.elapsedTime", "undefined");
-
-debug("");
-
-</script>
-</body>
-</html>
diff --git a/third_party/WebKit/LayoutTests/usb/resources/usb-helpers.js b/third_party/WebKit/LayoutTests/usb/resources/usb-helpers.js
index 0ec8291..22e5a65 100644
--- a/third_party/WebKit/LayoutTests/usb/resources/usb-helpers.js
+++ b/third_party/WebKit/LayoutTests/usb/resources/usb-helpers.js
@@ -13,6 +13,38 @@
   }, name, properties);
 }
 
+// Returns a promise that is resolved when the next USBConnectionEvent of the
+// given type is received.
+function connectionEventPromise(eventType) {
+  return new Promise(resolve => {
+    let eventHandler = e => {
+      assert_true(e instanceof USBConnectionEvent);
+      navigator.usb.removeEventListener(eventType, eventHandler);
+      resolve(e.device);
+    };
+    navigator.usb.addEventListener(eventType, eventHandler);
+  });
+}
+
+// Creates a fake device and returns a promise that resolves once the
+// 'connect' event is fired for the fake device. The promise is resolved with
+// an object containing the fake USB device and the corresponding USBDevice.
+function getFakeDevice() {
+  let promise = connectionEventPromise('connect');
+  let fakeDevice = navigator.usb.test.addFakeDevice(fakeDeviceInit);
+  return promise.then(device => {
+    return { device: device, fakeDevice: fakeDevice };
+  });
+}
+
+// Disconnects the given device and returns a promise that is resolved when it
+// is done.
+function waitForDisconnect(fakeDevice) {
+  let promise = connectionEventPromise('disconnect');
+  fakeDevice.disconnect();
+  return promise;
+}
+
 function assertRejectsWithError(promise, name, message) {
   return promise.then(() => {
     assert_unreached('expected promise to reject with ' + name);
diff --git a/third_party/WebKit/LayoutTests/usb/resources/webusb-test.js b/third_party/WebKit/LayoutTests/usb/resources/webusb-test.js
index 44d9aece..bec6876 100644
--- a/third_party/WebKit/LayoutTests/usb/resources/webusb-test.js
+++ b/third_party/WebKit/LayoutTests/usb/resources/webusb-test.js
@@ -8,16 +8,19 @@
 //
 // interface USBTest {
 //   attribute EventHandler ondeviceclose;
-//   attribute DOMString? chosenDevice;
+//   attribute FakeUSBDevice? chosenDevice;
 //   attribute FrozenArray<USBDeviceFilter>? lastFilters;
 //
 //   Promise<void> initialize();
 //   Promise<void> attachToWindow(Window window);
-//   DOMString addFakeDevice(FakeUSBDeviceInit deviceInit);
-//   void removeFakeDevice(DOMString);
+//   FakeUSBDevice addFakeDevice(FakeUSBDeviceInit deviceInit);
 //   void reset();
 // };
 //
+// interface FakeUSBDevice {
+//   void disconnect();
+// };
+//
 // dictionary FakeUSBDeviceInit {
 //   octet usbVersionMajor;
 //   octet usbVersionMinor;
@@ -76,6 +79,7 @@
 let g_chooserService = null;
 let g_deviceManager = null;
 let g_closeListener = null;
+let g_nextGuid = 0;
 
 function fakeDeviceInitToDeviceInfo(guid, init) {
   let deviceInfo = {
@@ -347,33 +351,40 @@
     this.bindingSet_ =
         new mojo.bindings.BindingSet(mojo.deviceManager.DeviceManager);
     this.devices_ = new Map();
+    this.devicesByGuid_ = new Map();
     this.client_ = null;
+    this.nextGuid_ = 0;
   }
 
   addBinding(handle) {
     this.bindingSet_.addBinding(this, handle);
   }
 
-  addDevice(info) {
+  addDevice(fakeDevice, info) {
     let device = {
-      guid: this.nextGuid_++ + "",
+      fakeDevice: fakeDevice,
+      guid: (this.nextGuid_++).toString(),
       info: info,
       bindingArray: []
     };
-    this.devices_.set(device.guid, device);
+    this.devices_.set(fakeDevice, device);
+    this.devicesByGuid_.set(device.guid, device);
     if (this.client_)
       this.client_.onDeviceAdded(fakeDeviceInitToDeviceInfo(device.guid, info));
-    return device.guid;
   }
 
-  removeDevice(guid) {
-    let device = this.devices_.get(guid);
+  removeDevice(fakeDevice) {
+    let device = this.devices_.get(fakeDevice);
+    if (!device)
+      throw new Error('Cannot remove unknown device.');
+
     for (var binding of device.bindingArray)
       binding.close();
-    this.devices_.delete(guid);
+    this.devices_.delete(device.fakeDevice);
+    this.devicesByGuid_.delete(device.guid);
     if (this.client_) {
       this.client_.onDeviceRemoved(
-          fakeDeviceInitToDeviceInfo(guid, device.info));
+          fakeDeviceInitToDeviceInfo(device.guid, device.info));
     }
   }
 
@@ -385,6 +396,7 @@
           fakeDeviceInitToDeviceInfo(device.guid, device.info));
     });
     this.devices_.clear();
+    this.devicesByGuid_.clear();
   }
 
   getDevices(options) {
@@ -396,13 +408,13 @@
   }
 
   getDevice(guid, request) {
-    let device = this.devices_.get(guid);
+    let device = this.devicesByGuid_.get(guid);
     if (device) {
       let binding = new mojo.bindings.Binding(
           mojo.device.Device, new FakeDevice(device.info), request);
       binding.setConnectionErrorHandler(() => {
         if (g_closeListener)
-          g_closeListener(guid);
+          g_closeListener(device.fakeDevice);
       });
       device.bindingArray.push(binding);
     } else {
@@ -427,13 +439,13 @@
     this.bindingSet_.addBinding(this, handle);
   }
 
-  setChosenDevice(guid) {
-    this.chosenDeviceGuid_ = guid;
+  setChosenDevice(fakeDevice) {
+    this.chosenDevice_ = fakeDevice;
   }
 
   getPermission(deviceFilters) {
     this.lastFilters_ = convertMojoDeviceFilters(deviceFilters);
-    let device = g_deviceManager.devices_.get(this.chosenDeviceGuid_);
+    let device = g_deviceManager.devices_.get(this.chosenDevice_);
     if (device) {
       return Promise.resolve({
         result: fakeDeviceInitToDeviceInfo(device.guid, device.info)
@@ -444,6 +456,13 @@
   }
 }
 
+// Unlike FakeDevice this class is exported to callers of USBTest.addFakeDevice.
+class FakeUSBDevice {
+  disconnect() {
+    setTimeout(() => g_deviceManager.removeDevice(this), 0);
+  }
+}
+
 class USBTest {
   constructor() {}
 
@@ -522,25 +541,23 @@
     if (!g_deviceManager)
       throw new Error('Call initialize() before addFakeDevice().');
 
-    return g_deviceManager.addDevice(deviceInit);
-  }
-
-  removeFakeDevice(guid) {
-    if (!g_deviceManager)
-      throw new Error('Call initialize() before removeFakeDevice().');
-
-    return g_deviceManager.removeDevice(guid);
+    // |addDevice| and |removeDevice| are called in a setTimeout callback so
+    // that tests do not rely on the device being immediately available which
+    // may not be true for all implementations of this test API.
+    let fakeDevice = new FakeUSBDevice();
+    setTimeout(() => g_deviceManager.addDevice(fakeDevice, deviceInit), 0);
+    return fakeDevice;
   }
 
   set ondeviceclose(func) {
     g_closeListener = func;
   }
 
-  set chosenDevice(guid) {
+  set chosenDevice(fakeDevice) {
     if (!g_chooserService)
       throw new Error('Call initialize() before setting chosenDevice.');
 
-    g_chooserService.setChosenDevice(guid);
+    g_chooserService.setChosenDevice(fakeDevice);
   }
 
   get lastFilters() {
diff --git a/third_party/WebKit/LayoutTests/usb/usb-connection-event.html b/third_party/WebKit/LayoutTests/usb/usb-connection-event.html
index 6133f1b..3bc65c4 100644
--- a/third_party/WebKit/LayoutTests/usb/usb-connection-event.html
+++ b/third_party/WebKit/LayoutTests/usb/usb-connection-event.html
@@ -8,13 +8,10 @@
 'use strict';
 
 usb_test(() => {
-  navigator.usb.test.addFakeDevice(fakeDeviceInit);
-
-  return navigator.usb.getDevices().then(devices => {
-    assert_equals(devices.length, 1);
-    let evt = new USBConnectionEvent('connect', { device: devices[0] });
+  return getFakeDevice().then(({ device }) => {
+    let evt = new USBConnectionEvent('connect', { device: device });
     assert_equals(evt.type, 'connect');
-    assert_equals(evt.device, devices[0]);
+    assert_equals(evt.device, device);
   });
 }, 'Can construct a USBConnectionEvent with a device');
 
diff --git a/third_party/WebKit/LayoutTests/usb/usb.html b/third_party/WebKit/LayoutTests/usb/usb.html
index 82bc0f5a..16c659c 100644
--- a/third_party/WebKit/LayoutTests/usb/usb.html
+++ b/third_party/WebKit/LayoutTests/usb/usb.html
@@ -7,35 +7,23 @@
 <script>
 'use strict';
 
-// Returns a promise that is resolved when the next USBConnectionEvent of the
-// given type is received.
-function connectionEventPromise(eventType) {
-  return new Promise(resolve => {
-    let eventHandler = e => {
-      assert_true(e instanceof USBConnectionEvent);
-      navigator.usb.removeEventListener(eventType, eventHandler);
-      resolve(e.device);
-    };
-    navigator.usb.addEventListener(eventType, eventHandler);
+usb_test(() => {
+  return getFakeDevice().then(({ device }) => {
+    return navigator.usb.getDevices().then(devices => {
+      assert_equals(devices.length, 1);
+      assert_equals(device, devices[0]);
+      assertDeviceInfoEquals(devices[0], fakeDeviceInit);
+    });
   });
-}
+}, 'getDevices returns devices that are connected');
 
 usb_test(() => {
-  navigator.usb.test.addFakeDevice(fakeDeviceInit);
-
-  return navigator.usb.getDevices().then(devices => {
-    assert_equals(devices.length, 1);
-    assertDeviceInfoEquals(devices[0], fakeDeviceInit);
-  });
-}, 'getDevices returns devices exposed by the DeviceManager service');
-
-usb_test(() => {
-  navigator.usb.test.addFakeDevice(fakeDeviceInit);
-
-  return navigator.usb.getDevices().then(devicesFirstTime => {
-    assert_equals(devicesFirstTime.length, 1);
-    return navigator.usb.getDevices().then(devicesSecondTime => {
-      assert_array_equals(devicesSecondTime, devicesFirstTime);
+  return getFakeDevice().then(() => {
+    return navigator.usb.getDevices().then(devicesFirstTime => {
+      assert_equals(devicesFirstTime.length, 1);
+      return navigator.usb.getDevices().then(devicesSecondTime => {
+        assert_array_equals(devicesSecondTime, devicesFirstTime);
+      });
     });
   });
 }, 'getDevices returns the same objects for each USB device');
@@ -62,26 +50,29 @@
 }, 'requestDevice rejects when no device is chosen');
 
 usb_test(() => {
-  let guid = navigator.usb.test.addFakeDevice(fakeDeviceInit);
-  navigator.usb.test.chosenDevice = guid;
-
-  return callWithKeyDown(() => navigator.usb.requestDevice({ filters: [] })
-    .then(device => {
-      assertDeviceInfoEquals(device, fakeDeviceInit);
-    })
-  );
+  return getFakeDevice().then(({ device, fakeDevice }) => {
+    navigator.usb.test.chosenDevice = fakeDevice;
+    return callWithKeyDown(() => {
+      return navigator.usb.requestDevice({ filters: [] }).then(chosenDevice => {
+        assert_equals(chosenDevice, device);
+      });
+    });
+  });
 }, 'requestDevice returns the device chosen by the user');
 
 usb_test(() => {
-  let guid = navigator.usb.test.addFakeDevice(fakeDeviceInit);
-  navigator.usb.test.chosenDevice = guid;
-
-  return callWithKeyDown(() => navigator.usb.requestDevice({ filters: [] })
-      .then(device => navigator.usb.getDevices().then(devices => {
-        assert_equals(devices.length, 1);
-        assert_equals(devices[0], device);
-      }))
-  );
+  return getFakeDevice().then(({ device, fakeDevice }) => {
+    navigator.usb.test.chosenDevice = fakeDevice;
+    return callWithKeyDown(() => {
+      return navigator.usb.requestDevice({ filters: [] }).then(chosenDevice => {
+        assert_equals(chosenDevice, device);
+        return navigator.usb.getDevices().then(devices => {
+          assert_equals(devices.length, 1);
+          assert_equals(devices[0], chosenDevice);
+        });
+      });
+    });
+  });
 }, 'getDevices returns the same object as requestDevice');
 
 usb_test(() => {
@@ -105,34 +96,15 @@
 }, 'filters are sent correctly');
 
 usb_test(() => {
-  let promise = connectionEventPromise('connect');
-  navigator.usb.test.addFakeDevice(fakeDeviceInit);
-
-  return promise.then(device => {
+  return getFakeDevice().then(({ device }) => {
     assertDeviceInfoEquals(device, fakeDeviceInit);
     return device.open().then(() => device.close());
   });
 }, 'onconnect event is trigged by adding a device');
 
 usb_test(usb => {
-  let promise = connectionEventPromise('connect');
-  navigator.usb.test.addFakeDevice(fakeDeviceInit);
-
-  return promise
-      .then(device => navigator.usb.getDevices().then(devices => {
-        assert_equals(devices.length, 1);
-        assert_equals(devices[0], device);
-      }));
-}, 'getDevices returns the same object as sent in the onconnect event');
-
-usb_test(usb => {
-  let deviceAdded = connectionEventPromise('connect');
-  let guid = navigator.usb.test.addFakeDevice(fakeDeviceInit);
-
-  return deviceAdded.then(device => {
-    let deviceRemoved = connectionEventPromise('disconnect');
-    navigator.usb.test.removeFakeDevice(guid);
-    return deviceRemoved.then(removedDevice => {
+  return getFakeDevice().then(({ device, fakeDevice }) => {
+    return waitForDisconnect(fakeDevice).then(removedDevice => {
       assertDeviceInfoEquals(removedDevice, fakeDeviceInit);
       assert_equals(removedDevice, device);
       return removedDevice.open().then(() => {
diff --git a/third_party/WebKit/LayoutTests/usb/usbDevice-iframe.html b/third_party/WebKit/LayoutTests/usb/usbDevice-iframe.html
index b63743d..b6514072 100644
--- a/third_party/WebKit/LayoutTests/usb/usbDevice-iframe.html
+++ b/third_party/WebKit/LayoutTests/usb/usbDevice-iframe.html
@@ -11,7 +11,7 @@
   return navigator.usb.test.initialize().then(() => {
     return new Promise((resolve, reject) => {
       let opened = false;
-      let fakeDeviceGuid = null;
+      let fakeDevice = null;
 
       let iframe = document.createElement('iframe');
       iframe.src = 'resources/open-in-iframe.html';
@@ -23,7 +23,7 @@
 
       window.onmessage = messageEvent => {
         if (messageEvent.data == 'Ready') {
-          fakeDeviceGuid = navigator.usb.test.addFakeDevice(fakeDeviceInit);
+          fakeDevice = navigator.usb.test.addFakeDevice(fakeDeviceInit);
         } else if (messageEvent.data == 'Success') {
           opened = true;
           onDeviceConnected(iframe);
@@ -32,8 +32,8 @@
         }
       };
 
-      navigator.usb.test.ondeviceclose = guid => {
-        assert_equals(guid, fakeDeviceGuid);
+      navigator.usb.test.ondeviceclose = closedFakeDevice => {
+        assert_equals(closedFakeDevice, fakeDevice);
         assert_true(opened);
         resolve();
       };
diff --git a/third_party/WebKit/LayoutTests/usb/usbDevice.html b/third_party/WebKit/LayoutTests/usb/usbDevice.html
index 5746c7e..56a467ef 100644
--- a/third_party/WebKit/LayoutTests/usb/usbDevice.html
+++ b/third_party/WebKit/LayoutTests/usb/usbDevice.html
@@ -23,33 +23,24 @@
 }
 
 usb_test(() => {
-  let guid = navigator.usb.test.addFakeDevice(fakeDeviceInit);
-
-  return navigator.usb.getDevices().then(devices => {
-    assert_equals(1, devices.length);
-    navigator.usb.test.removeFakeDevice(guid);
-    return assertRejectsWithNotFoundError(devices[0].open());
+  return getFakeDevice().then(({ device, fakeDevice }) => {
+    return waitForDisconnect(fakeDevice)
+      .then(() => assertRejectsWithNotFoundError(device.open()));
   });
 }, 'open rejects when called on a disconnected device');
 
 usb_test(() => {
-  let guid = navigator.usb.test.addFakeDevice(fakeDeviceInit);
-
-  return navigator.usb.getDevices().then(devices => {
-    assert_equals(1, devices.length);
-    let promise = devices[0].open();
-    navigator.usb.test.removeFakeDevice(guid);
-    return assertRejectsWithNotFoundError(promise)
-        .then(() => runGarbageCollection());
+  return getFakeDevice().then(({ device, fakeDevice }) => {
+    return device.open()
+      .then(() => waitForDisconnect(fakeDevice))
+      .then(() => {
+        assert_false(device.opened);
+      });
   });
-}, 'open rejects when device disconnected during call');
+}, 'disconnection closes the device');
 
 usb_test(() => {
-  navigator.usb.test.addFakeDevice(fakeDeviceInit);
-
-  return navigator.usb.getDevices().then(devices => {
-    assert_equals(1, devices.length);
-    let device = devices[0];
+  return getFakeDevice().then(({ device }) => {
     assert_false(device.opened);
     return device.open().then(() => {
       assert_true(device.opened);
@@ -57,15 +48,11 @@
         assert_false(device.opened);
       });
     });
-  }).then(() => runGarbageCollection());
+  });
 }, 'a device can be opened and closed');
 
 usb_test(() => {
-  navigator.usb.test.addFakeDevice(fakeDeviceInit);
-
-  return navigator.usb.getDevices().then(devices => {
-    assert_equals(1, devices.length);
-    let device = devices[0];
+  return getFakeDevice().then(({ device }) => {
     return device.open()
       .then(() => device.open())
       .then(() => device.open())
@@ -78,11 +65,7 @@
 }, 'open and close can be called multiple times');
 
 usb_test(() => {
-  navigator.usb.test.addFakeDevice(fakeDeviceInit);
-
-  return navigator.usb.getDevices().then(devices => {
-    assert_equals(1, devices.length);
-    let device = devices[0];
+  return getFakeDevice().then(({ device }) => {
     const message =
         'An operation that changes the device state is in progress.';
     return Promise.all([
@@ -98,75 +81,54 @@
 }, 'open and close cannot be called again while open or close are in progress');
 
 usb_test(() => {
-  let guid = navigator.usb.test.addFakeDevice(fakeDeviceInit);
-
-  return navigator.usb.getDevices().then(devices => {
-    assert_equals(1, devices.length);
-    let device = devices[0];
-    return device.open().then(() => {
-      navigator.usb.test.removeFakeDevice(guid);
-      return assertRejectsWithNotFoundError(device.close());
-    });
+  return getFakeDevice().then(({ device, fakeDevice }) => {
+    return device.open()
+      .then(() => waitForDisconnect(fakeDevice))
+      .then(() => assertRejectsWithNotFoundError(device.close()));
   });
 }, 'close rejects when called on a disconnected device');
 
 usb_test(() => {
-  let guid = navigator.usb.test.addFakeDevice(fakeDeviceInit);
-
-  return navigator.usb.getDevices().then(devices => {
-    assert_equals(1, devices.length);
-    let device = devices[0];
+  return getFakeDevice().then(({ device, fakeDevice }) => {
     return device.open()
-      .then(() => {
-        navigator.usb.test.removeFakeDevice(guid);
-        return assertRejectsWithNotFoundError(device.selectConfiguration(1));
-      });
+      .then(() => waitForDisconnect(fakeDevice))
+      .then(() => assertRejectsWithNotFoundError(device.selectConfiguration(1)));
   });
 }, 'selectConfiguration rejects when called on a disconnected device');
 
 usb_test(() => {
-  navigator.usb.test.addFakeDevice(fakeDeviceInit);
-
-  return navigator.usb.getDevices().then(devices => {
-    assert_equals(1, devices.length);
-    let device = devices[0];
-    return Promise.all([
-        assertRejectsWithNotOpenError(device.selectConfiguration(1)),
-        assertRejectsWithNotOpenError(device.claimInterface(0)),
-        assertRejectsWithNotOpenError(device.releaseInterface(0)),
-        assertRejectsWithNotOpenError(device.selectAlternateInterface(0, 1)),
-        assertRejectsWithNotOpenError(device.controlTransferIn({
-            requestType: 'vendor',
-            recipient: 'device',
-            request: 0x42,
-            value: 0x1234,
-            index: 0x5678
-        }, 7)),
-        assertRejectsWithNotOpenError(device.controlTransferOut({
-            requestType: 'vendor',
-            recipient: 'device',
-            request: 0x42,
-            value: 0x1234,
-            index: 0x5678
-        }, new Uint8Array([1, 2, 3, 4, 5, 6, 7, 8]))),
-        assertRejectsWithNotOpenError(device.clearHalt('in', 1)),
-        assertRejectsWithNotOpenError(device.transferIn(1, 8)),
-        assertRejectsWithNotOpenError(
-            device.transferOut(1, new ArrayBuffer(8))),
-        assertRejectsWithNotOpenError(device.isochronousTransferIn(1, [8])),
-        assertRejectsWithNotOpenError(
-            device.isochronousTransferOut(1, new ArrayBuffer(8), [8])),
-        assertRejectsWithNotOpenError(device.reset())
-    ]);
-  });
+  return getFakeDevice().then(({ device }) => Promise.all([
+      assertRejectsWithNotOpenError(device.selectConfiguration(1)),
+      assertRejectsWithNotOpenError(device.claimInterface(0)),
+      assertRejectsWithNotOpenError(device.releaseInterface(0)),
+      assertRejectsWithNotOpenError(device.selectAlternateInterface(0, 1)),
+      assertRejectsWithNotOpenError(device.controlTransferIn({
+          requestType: 'vendor',
+          recipient: 'device',
+          request: 0x42,
+          value: 0x1234,
+          index: 0x5678
+      }, 7)),
+      assertRejectsWithNotOpenError(device.controlTransferOut({
+          requestType: 'vendor',
+          recipient: 'device',
+          request: 0x42,
+          value: 0x1234,
+          index: 0x5678
+      }, new Uint8Array([1, 2, 3, 4, 5, 6, 7, 8]))),
+      assertRejectsWithNotOpenError(device.clearHalt('in', 1)),
+      assertRejectsWithNotOpenError(device.transferIn(1, 8)),
+      assertRejectsWithNotOpenError(
+          device.transferOut(1, new ArrayBuffer(8))),
+      assertRejectsWithNotOpenError(device.isochronousTransferIn(1, [8])),
+      assertRejectsWithNotOpenError(
+          device.isochronousTransferOut(1, new ArrayBuffer(8), [8])),
+      assertRejectsWithNotOpenError(device.reset())
+  ]));
 }, 'methods requiring it reject when the device is not open');
 
 usb_test(() => {
-  navigator.usb.test.addFakeDevice(fakeDeviceInit);
-
-  return navigator.usb.getDevices().then(devices => {
-    assert_equals(1, devices.length);
-    let device = devices[0];
+  return getFakeDevice().then(({ device }) => {
     assert_equals(device.configuration, null);
     return device.open()
       .then(() => {
@@ -182,11 +144,7 @@
 }, 'device configuration can be set and queried');
 
 usb_test(() => {
-  navigator.usb.test.addFakeDevice(fakeDeviceInit);
-
-  return navigator.usb.getDevices().then(devices => {
-    assert_equals(1, devices.length);
-    let device = devices[0];
+  return getFakeDevice().then(({ device }) => {
     assert_equals(device.configuration, null);
     return device.open()
       .then(() => assertRejectsWithError(
@@ -197,11 +155,7 @@
 }, 'selectConfiguration rejects on invalid configurations');
 
 usb_test(() => {
-  navigator.usb.test.addFakeDevice(fakeDeviceInit);
-
-  return navigator.usb.getDevices().then(devices => {
-    assert_equals(1, devices.length);
-    let device = devices[0];
+  return getFakeDevice().then(({ device }) => {
     assert_equals(device.configuration, null);
     return device.open().then(() => Promise.all([
         assertRejectsWithNotConfiguredError(device.claimInterface(0)),
@@ -234,11 +188,7 @@
 }, 'methods requiring it reject when the device is unconfigured');
 
 usb_test(() => {
-  navigator.usb.test.addFakeDevice(fakeDeviceInit);
-
-  return navigator.usb.getDevices().then(devices => {
-    assert_equals(1, devices.length);
-    let device = devices[0];
+  return getFakeDevice().then(({ device }) => {
     return device.open()
       .then(() => device.selectConfiguration(1))
       .then(() => device.claimInterface(0))
@@ -254,11 +204,7 @@
 }, 'an interface can be claimed and released');
 
 usb_test(() => {
-  navigator.usb.test.addFakeDevice(fakeDeviceInit);
-
-  return navigator.usb.getDevices().then(devices => {
-    assert_equals(1, devices.length);
-    let device = devices[0];
+  return getFakeDevice().then(({ device }) => {
     return device.open()
       .then(() => device.selectConfiguration(1))
       .then(() => device.claimInterface(0))
@@ -273,11 +219,7 @@
 }, 'interfaces are released on close');
 
 usb_test(() => {
-  navigator.usb.test.addFakeDevice(fakeDeviceInit);
-
-  return navigator.usb.getDevices().then(devices => {
-    assert_equals(1, devices.length);
-    let device = devices[0];
+  return getFakeDevice().then(({ device }) => {
     const message = 'The interface number provided is not supported by the ' +
                     'device in its current configuration.';
     return device.open()
@@ -293,42 +235,26 @@
 }, 'a non-existent interface cannot be claimed or released');
 
 usb_test(() => {
-  let guid = navigator.usb.test.addFakeDevice(fakeDeviceInit);
-
-  return navigator.usb.getDevices().then(devices => {
-    assert_equals(1, devices.length);
-    var device = devices[0];
+  return getFakeDevice().then(({ device, fakeDevice }) => {
     return device.open()
       .then(() => device.selectConfiguration(1))
-      .then(() => {
-        navigator.usb.test.removeFakeDevice(guid);
-        return assertRejectsWithNotFoundError(device.claimInterface(0));
-      });
+      .then(() => waitForDisconnect(fakeDevice))
+      .then(() => assertRejectsWithNotFoundError(device.claimInterface(0)));
   });
 }, 'claimInterface rejects when called on a disconnected device');
 
 usb_test(() => {
-  let guid = navigator.usb.test.addFakeDevice(fakeDeviceInit);
-
-  return navigator.usb.getDevices().then(devices => {
-    assert_equals(1, devices.length);
-    var device = devices[0];
+  return getFakeDevice().then(({ device, fakeDevice }) => {
     return device.open()
       .then(() => device.selectConfiguration(1))
       .then(() => device.claimInterface(0))
-      .then(() => {
-        navigator.usb.test.removeFakeDevice(guid);
-        return assertRejectsWithNotFoundError(device.releaseInterface(0));
-      });
+      .then(() => waitForDisconnect(fakeDevice))
+      .then(() => assertRejectsWithNotFoundError(device.releaseInterface(0)));
   });
 }, 'releaseInterface rejects when called on a disconnected device');
 
 usb_test(() => {
-  navigator.usb.test.addFakeDevice(fakeDeviceInit);
-
-  return navigator.usb.getDevices().then(devices => {
-    assert_equals(1, devices.length);
-    let device = devices[0];
+  return getFakeDevice().then(({ device }) => {
     return device.open()
       .then(() => device.selectConfiguration(2))
       .then(() => device.claimInterface(0))
@@ -338,11 +264,7 @@
 }, 'can select an alternate interface');
 
 usb_test(() => {
-  navigator.usb.test.addFakeDevice(fakeDeviceInit);
-
-  return navigator.usb.getDevices().then(devices => {
-    assert_equals(1, devices.length);
-    let device = devices[0];
+  return getFakeDevice().then(({ device }) => {
     return device.open()
       .then(() => device.selectConfiguration(2))
       .then(() => device.claimInterface(0))
@@ -355,27 +277,17 @@
 }, 'cannot select a non-existent alternate interface');
 
 usb_test(() => {
-  let guid = navigator.usb.test.addFakeDevice(fakeDeviceInit);
-
-  return navigator.usb.getDevices().then(devices => {
-    assert_equals(1, devices.length);
-    var device = devices[0];
+  return getFakeDevice().then(({ device, fakeDevice }) => {
     return device.open()
       .then(() => device.selectConfiguration(2))
       .then(() => device.claimInterface(0))
-      .then(() => {
-        navigator.usb.test.removeFakeDevice(guid);
-        return assertRejectsWithNotFoundError(device.selectAlternateInterface(0, 1));
-      });
+      .then(() => waitForDisconnect(fakeDevice))
+      .then(() => assertRejectsWithNotFoundError(device.selectAlternateInterface(0, 1)));
   });
 }, 'selectAlternateInterface rejects when called on a disconnected device');
 
 usb_test(() => {
-  navigator.usb.test.addFakeDevice(fakeDeviceInit);
-
-  return navigator.usb.getDevices().then(devices => {
-    assert_equals(1, devices.length);
-    let device = devices[0];
+  return getFakeDevice().then(({ device }) => {
     return device.open()
       .then(() => device.selectConfiguration(1))
       .then(() => device.controlTransferIn({
@@ -399,32 +311,22 @@
 }, 'can issue IN control transfer');
 
 usb_test(() => {
-  let guid = navigator.usb.test.addFakeDevice(fakeDeviceInit);
-
-  return navigator.usb.getDevices().then(devices => {
-    assert_equals(1, devices.length);
-    let device = devices[0];
+  return getFakeDevice().then(({ device, fakeDevice }) => {
     return device.open()
       .then(() => device.selectConfiguration(1))
-      .then(() => {
-        navigator.usb.test.removeFakeDevice(guid);
-        return assertRejectsWithNotFoundError(device.controlTransferIn({
+      .then(() => waitForDisconnect(fakeDevice))
+      .then(() => assertRejectsWithNotFoundError(device.controlTransferIn({
           requestType: 'vendor',
           recipient: 'device',
           request: 0x42,
           value: 0x1234,
           index: 0x5678
-        }, 7));
-      });
+        }, 7)));
   });
 }, 'controlTransferIn rejects when called on a disconnected device');
 
 usb_test(() => {
-  navigator.usb.test.addFakeDevice(fakeDeviceInit);
-
-  return navigator.usb.getDevices().then(devices => {
-    assert_equals(1, devices.length);
-    let device = devices[0];
+  return getFakeDevice().then(({ device }) => {
     return device.open()
       .then(() => device.selectConfiguration(1))
       .then(() => device.controlTransferOut({
@@ -444,32 +346,22 @@
 }, 'can issue OUT control transfer');
 
 usb_test(() => {
-  let guid = navigator.usb.test.addFakeDevice(fakeDeviceInit);
-
-  return navigator.usb.getDevices().then(devices => {
-    assert_equals(1, devices.length);
-    let device = devices[0];
+  return getFakeDevice().then(({ device, fakeDevice }) => {
     return device.open()
       .then(() => device.selectConfiguration(1))
-      .then(() => {
-        navigator.usb.test.removeFakeDevice(guid);
-        return assertRejectsWithNotFoundError(device.controlTransferOut({
+      .then(() => waitForDisconnect(fakeDevice))
+      .then(() => assertRejectsWithNotFoundError(device.controlTransferOut({
           requestType: 'vendor',
           recipient: 'device',
           request: 0x42,
           value: 0x1234,
           index: 0x5678
-        }, new Uint8Array([1, 2, 3, 4, 5, 6, 7, 8])));
-      });
+        }, new Uint8Array([1, 2, 3, 4, 5, 6, 7, 8]))));
   });
 }, 'controlTransferOut rejects when called on a disconnected device');
 
 usb_test(() => {
-  navigator.usb.test.addFakeDevice(fakeDeviceInit);
-
-  return navigator.usb.getDevices().then(devices => {
-    assert_equals(1, devices.length);
-    let device = devices[0];
+  return getFakeDevice().then(({ device }) => {
     let interfaceRequest = {
         requestType: 'vendor',
         recipient: 'interface',
@@ -529,11 +421,7 @@
 }, 'requests to interfaces and endpoint require an interface claim');
 
 usb_test(() => {
-  navigator.usb.test.addFakeDevice(fakeDeviceInit);
-
-  return navigator.usb.getDevices().then(devices => {
-    assert_equals(devices.length, 1);
-    let device = devices[0];
+  return getFakeDevice().then(({ device }) => {
     return device.open()
       .then(() => device.selectConfiguration(1))
       .then(() => device.claimInterface(0))
@@ -543,27 +431,17 @@
 }, 'can clear a halt condition');
 
 usb_test(() => {
-  let guid = navigator.usb.test.addFakeDevice(fakeDeviceInit);
-
-  return navigator.usb.getDevices().then(devices => {
-    assert_equals(devices.length, 1);
-    let device = devices[0];
+  return getFakeDevice().then(({ device, fakeDevice }) => {
     return device.open()
       .then(() => device.selectConfiguration(1))
       .then(() => device.claimInterface(0))
-      .then(() => {
-        navigator.usb.test.removeFakeDevice(guid);
-        return assertRejectsWithNotFoundError(device.clearHalt('in', 1));
-      });
+      .then(() => waitForDisconnect(fakeDevice))
+      .then(() => assertRejectsWithNotFoundError(device.clearHalt('in', 1)));
   });
 }, 'clearHalt rejects when called on a disconnected device');
 
 usb_test(() => {
-  navigator.usb.test.addFakeDevice(fakeDeviceInit);
-
-  return navigator.usb.getDevices().then(devices => {
-    assert_equals(devices.length, 1);
-    let device = devices[0];
+  return getFakeDevice().then(({ device }) => {
     let data = new DataView(new ArrayBuffer(1024));
     for (let i = 0; i < 1024; ++i)
       data.setUint8(i, i & 0xff);
@@ -591,11 +469,7 @@
 }, 'transfers to unavailable endpoints are rejected');
 
 usb_test(() => {
-  navigator.usb.test.addFakeDevice(fakeDeviceInit);
-
-  return navigator.usb.getDevices().then(devices => {
-    assert_equals(devices.length, 1);
-    let device = devices[0];
+  return getFakeDevice().then(({ device }) => {
     return device.open()
       .then(() => device.selectConfiguration(1))
       .then(() => device.claimInterface(0))
@@ -612,11 +486,7 @@
 }, 'can issue IN interrupt transfer');
 
 usb_test(() => {
-  navigator.usb.test.addFakeDevice(fakeDeviceInit);
-
-  return navigator.usb.getDevices().then(devices => {
-    assert_equals(devices.length, 1);
-    let device = devices[0];
+  return getFakeDevice().then(({ device }) => {
     return device.open()
       .then(() => device.selectConfiguration(1))
       .then(() => device.claimInterface(1))
@@ -634,27 +504,17 @@
 }, 'can issue IN bulk transfer');
 
 usb_test(() => {
-  let guid = navigator.usb.test.addFakeDevice(fakeDeviceInit);
-
-  return navigator.usb.getDevices().then(devices => {
-    assert_equals(devices.length, 1);
-    let device = devices[0];
+  return getFakeDevice().then(({ device, fakeDevice }) => {
     return device.open()
       .then(() => device.selectConfiguration(1))
       .then(() => device.claimInterface(1))
-      .then(() => {
-        navigator.usb.test.removeFakeDevice(guid);
-        return assertRejectsWithNotFoundError(device.transferIn(2, 1024));
-      });
+      .then(() => waitForDisconnect(fakeDevice))
+      .then(() => assertRejectsWithNotFoundError(device.transferIn(2, 1024)));
   });
 }, 'transferIn rejects if called on a disconnected device');
 
 usb_test(() => {
-  navigator.usb.test.addFakeDevice(fakeDeviceInit);
-
-  return navigator.usb.getDevices().then(devices => {
-    assert_equals(devices.length, 1);
-    let device = devices[0];
+  return getFakeDevice().then(({ device }) => {
     return device.open()
       .then(() => device.selectConfiguration(1))
       .then(() => device.claimInterface(1))
@@ -674,11 +534,7 @@
 }, 'can issue OUT bulk transfer');
 
 usb_test(() => {
-  let guid = navigator.usb.test.addFakeDevice(fakeDeviceInit);
-
-  return navigator.usb.getDevices().then(devices => {
-    assert_equals(devices.length, 1);
-    let device = devices[0];
+  return getFakeDevice().then(({ device, fakeDevice }) => {
     return device.open()
       .then(() => device.selectConfiguration(1))
       .then(() => device.claimInterface(1))
@@ -686,18 +542,14 @@
         let data = new DataView(new ArrayBuffer(1024));
         for (let i = 0; i < 1024; ++i)
           data.setUint8(i, i & 0xff);
-        navigator.usb.test.removeFakeDevice(guid);
-        return assertRejectsWithNotFoundError(device.transferOut(2, data));
+        return waitForDisconnect(fakeDevice)
+          .then(() => assertRejectsWithNotFoundError(device.transferOut(2, data)));
       });
   });
 }, 'transferOut rejects if called on a disconnected device');
 
 usb_test(() => {
-  navigator.usb.test.addFakeDevice(fakeDeviceInit);
-
-  return navigator.usb.getDevices().then(devices => {
-    assert_equals(devices.length, 1);
-    let device = devices[0];
+  return getFakeDevice().then(({ device }) => {
     return device.open()
       .then(() => device.selectConfiguration(2))
       .then(() => device.claimInterface(0))
@@ -727,29 +579,19 @@
 }, 'can issue IN isochronous transfer');
 
 usb_test(() => {
-  let guid = navigator.usb.test.addFakeDevice(fakeDeviceInit);
-
-  return navigator.usb.getDevices().then(devices => {
-    assert_equals(devices.length, 1);
-    let device = devices[0];
+  return getFakeDevice().then(({ device, fakeDevice }) => {
     return device.open()
       .then(() => device.selectConfiguration(2))
       .then(() => device.claimInterface(0))
       .then(() => device.selectAlternateInterface(0, 1))
-      .then(() => {
-        navigator.usb.test.removeFakeDevice(guid);
-        return assertRejectsWithNotFoundError(device.isochronousTransferIn(
-            1, [64, 64, 64, 64, 64, 64, 64, 64]));
-      });
+      .then(() => waitForDisconnect(fakeDevice))
+      .then(() => assertRejectsWithNotFoundError(device.isochronousTransferIn(
+          1, [64, 64, 64, 64, 64, 64, 64, 64])));
   });
 }, 'isochronousTransferIn rejects when called on a disconnected device');
 
 usb_test(() => {
-  navigator.usb.test.addFakeDevice(fakeDeviceInit);
-
-  return navigator.usb.getDevices().then(devices => {
-    assert_equals(devices.length, 1);
-    let device = devices[0];
+  return getFakeDevice().then(({ device }) => {
     return device.open()
       .then(() => device.selectConfiguration(2))
       .then(() => device.claimInterface(0))
@@ -779,11 +621,7 @@
 }, 'can issue OUT isochronous transfer');
 
 usb_test(() => {
-  let guid = navigator.usb.test.addFakeDevice(fakeDeviceInit);
-
-  return navigator.usb.getDevices().then(devices => {
-    assert_equals(devices.length, 1);
-    let device = devices[0];
+  return getFakeDevice().then(({ device, fakeDevice }) => {
     return device.open()
       .then(() => device.selectConfiguration(2))
       .then(() => device.claimInterface(0))
@@ -794,33 +632,24 @@
           for (let j = 0; j < 64; ++j)
             data.setUint8(i * j, j & 0xff);
         }
-        navigator.usb.test.removeFakeDevice(guid);
-        return assertRejectsWithNotFoundError(device.isochronousTransferOut(
-            1, data, [64, 64, 64, 64, 64, 64, 64, 64]));
+        return waitForDisconnect(fakeDevice)
+          .then(() => assertRejectsWithNotFoundError(device.isochronousTransferOut(
+              1, data, [64, 64, 64, 64, 64, 64, 64, 64])));
       });
   });
 }, 'isochronousTransferOut rejects when called on a disconnected device');
 
 usb_test(() => {
-  navigator.usb.test.addFakeDevice(fakeDeviceInit);
-
-  return navigator.usb.getDevices().then(devices => {
-    assert_equals(1, devices.length);
-    let device = devices[0];
+  return getFakeDevice().then(({ device }) => {
     return device.open().then(() => device.reset()).then(() => device.close());
   });
 }, 'can reset the device');
 
 usb_test(() => {
-  let guid = navigator.usb.test.addFakeDevice(fakeDeviceInit);
-
-  return navigator.usb.getDevices().then(devices => {
-    assert_equals(1, devices.length);
-    let device = devices[0];
-    return device.open().then(() => {
-      navigator.usb.test.removeFakeDevice(guid);
-      return assertRejectsWithNotFoundError(device.reset());
-    });
+  return getFakeDevice().then(({ device, fakeDevice }) => {
+    return device.open()
+      .then(() => waitForDisconnect(fakeDevice))
+      .then(() => assertRejectsWithNotFoundError(device.reset()));
   });
 }, 'resetDevice rejects when called on a disconnected device');
 </script>
diff --git a/third_party/WebKit/LayoutTests/virtual/layout_ng/css2.1/20110323/README.txt b/third_party/WebKit/LayoutTests/virtual/layout_ng/css2.1/20110323/README.txt
deleted file mode 100644
index 5c91a6e..0000000
--- a/third_party/WebKit/LayoutTests/virtual/layout_ng/css2.1/20110323/README.txt
+++ /dev/null
@@ -1,3 +0,0 @@
-# This suite runs the tests in css2.1/20110323 with
-# --enable-blink-features=LayoutNG.
-# The LayoutNG project is described here: http://goo.gl/1hwhfX
diff --git a/third_party/WebKit/LayoutTests/virtual/sharedarraybuffer/fast/beacon/beacon-basic-expected.txt b/third_party/WebKit/LayoutTests/virtual/sharedarraybuffer/fast/beacon/beacon-basic-expected.txt
index 4353a79b..33d164ec 100644
--- a/third_party/WebKit/LayoutTests/virtual/sharedarraybuffer/fast/beacon/beacon-basic-expected.txt
+++ b/third_party/WebKit/LayoutTests/virtual/sharedarraybuffer/fast/beacon/beacon-basic-expected.txt
@@ -6,8 +6,8 @@
 PASS Object.getPrototypeOf(navigator).hasOwnProperty('sendBeacon') is true
 PASS typeof navigator.sendBeacon is "function"
 PASS navigator.sendBeacon() threw exception TypeError: Failed to execute 'sendBeacon' on 'Navigator': 1 argument required, but only 0 present..
-PASS navigator.sendBeacon('http:') threw exception SyntaxError: Failed to execute 'sendBeacon' on 'Navigator': The URL argument is ill-formed or unsupported..
-PASS navigator.sendBeacon('javascript:alert(1);') threw exception SyntaxError: Failed to execute 'sendBeacon' on 'Navigator': Beacons are only supported over HTTP(S)..
+PASS navigator.sendBeacon('http:') threw exception TypeError: Failed to execute 'sendBeacon' on 'Navigator': The URL argument is ill-formed or unsupported..
+PASS navigator.sendBeacon('javascript:alert(1);') threw exception TypeError: Failed to execute 'sendBeacon' on 'Navigator': Beacons are only supported over HTTP(S)..
 PASS navigator.sendBeacon('https:', new Uint8Array(new SharedArrayBuffer(10))) threw exception TypeError: Failed to execute 'sendBeacon' on 'Navigator': The provided ArrayBufferView value must not be shared..
 PASS successfullyParsed is true
 
diff --git a/third_party/WebKit/PerformanceTests/Bindings/sequence-conversion-array.html b/third_party/WebKit/PerformanceTests/Bindings/sequence-conversion-array.html
new file mode 100644
index 0000000..d0aa16c
--- /dev/null
+++ b/third_party/WebKit/PerformanceTests/Bindings/sequence-conversion-array.html
@@ -0,0 +1,21 @@
+<!DOCTYPE html>
+<html>
+<body>
+<script src="../resources/runner.js"></script>
+<script>
+let dataArray = [];
+for (let i = 0; i < 100000; i++) {
+  // We are interested in the conversion of JS arrays to C++ sequences, not in
+  // the JS string to C++ string conversion, so just push empty strings into
+  // the array.
+  dataArray.push('');
+}
+
+PerfTestRunner.measureRunsPerSecond({
+  description: "This benchmark measures the overhead of converting JavaScript objects into WebIDL sequences (fast path for arrays)",
+  run: function() {
+    new Blob(dataArray);
+  }});
+</script>
+</body>
+</html>
diff --git a/third_party/WebKit/Source/DEPS b/third_party/WebKit/Source/DEPS
index 8fdcbc1..079a57f 100644
--- a/third_party/WebKit/Source/DEPS
+++ b/third_party/WebKit/Source/DEPS
@@ -5,7 +5,6 @@
     "+testing/gmock/include/gmock",
     "+testing/gtest/include/gtest",
     "+v8",
-    "+wtf",
 ]
 
 skip_child_includes = [
diff --git a/third_party/WebKit/Source/bindings/DEPS b/third_party/WebKit/Source/bindings/DEPS
index 421382a..edcd245 100644
--- a/third_party/WebKit/Source/bindings/DEPS
+++ b/third_party/WebKit/Source/bindings/DEPS
@@ -6,7 +6,4 @@
     "+platform",
     "+public/platform",
     "+web/api",
-
-    # Use platform/wtf/ now (see crbug.com/691465).
-    "-wtf/",
 ]
diff --git a/third_party/WebKit/Source/bindings/bindings.gni b/third_party/WebKit/Source/bindings/bindings.gni
index e4137fd..4c423556 100644
--- a/third_party/WebKit/Source/bindings/bindings.gni
+++ b/third_party/WebKit/Source/bindings/bindings.gni
@@ -107,6 +107,8 @@
                     "core/v8/ScriptPromiseResolver.h",
                     "core/v8/ScriptRegexp.cpp",
                     "core/v8/ScriptRegexp.h",
+                    "core/v8/StringResource.cpp",
+                    "core/v8/StringResource.h",
                     "core/v8/ScriptSourceCode.cpp",
                     "core/v8/ScriptSourceCode.h",
                     "core/v8/ScriptState.cpp",
@@ -137,7 +139,6 @@
                     "core/v8/Transferables.h",
                     "core/v8/ToV8.h",
                     "core/v8/ToV8ForCore.h",
-                    "core/v8/ToV8ForCore.cpp",
                     "core/v8/UseCounterCallback.cpp",
                     "core/v8/UseCounterCallback.h",
                     "core/v8/V8AbstractEventListener.cpp",
@@ -197,7 +198,6 @@
                     "core/v8/V8ResizeObserverCallbackCustom.cpp",
                     "core/v8/V8ScriptRunner.cpp",
                     "core/v8/V8ScriptRunner.h",
-                    "core/v8/V8StringResource.cpp",
                     "core/v8/V8StringResource.h",
                     "core/v8/V8ThrowException.cpp",
                     "core/v8/V8ThrowException.h",
diff --git a/third_party/WebKit/Source/bindings/core/v8/DOMDataStore.h b/third_party/WebKit/Source/bindings/core/v8/DOMDataStore.h
index da4e201..a1a32f1 100644
--- a/third_party/WebKit/Source/bindings/core/v8/DOMDataStore.h
+++ b/third_party/WebKit/Source/bindings/core/v8/DOMDataStore.h
@@ -136,6 +136,12 @@
     wrapper_map_->MarkWrapper(script_wrappable);
   }
 
+  // Dissociates a wrapper, if any, from |script_wrappable|.
+  void UnsetWrapperIfAny(ScriptWrappable* script_wrappable) {
+    DCHECK(!is_main_world_);
+    wrapper_map_->RemoveIfAny(script_wrappable);
+  }
+
   bool SetReturnValueFrom(v8::ReturnValue<v8::Value> return_value,
                           ScriptWrappable* object) {
     if (is_main_world_)
diff --git a/third_party/WebKit/Source/bindings/core/v8/DOMWrapperMap.h b/third_party/WebKit/Source/bindings/core/v8/DOMWrapperMap.h
index 976baea..655c8c3 100644
--- a/third_party/WebKit/Source/bindings/core/v8/DOMWrapperMap.h
+++ b/third_party/WebKit/Source/bindings/core/v8/DOMWrapperMap.h
@@ -80,6 +80,11 @@
     return true;
   }
 
+  void RemoveIfAny(KeyType* key) {
+    if (ContainsKey(key))
+      map_.Remove(key);
+  }
+
   void Clear() { map_.Clear(); }
 
   void RemoveAndDispose(KeyType* key) {
@@ -101,7 +106,7 @@
     typedef typename Impl::iterator Iterator;
     static size_t Size(const Impl* impl) { return impl->size(); }
     static bool Empty(Impl* impl) { return impl->IsEmpty(); }
-    static void Swap(Impl& impl, Impl& other) { impl.Swap(other); }
+    static void Swap(Impl& impl, Impl& other) { impl.swap(other); }
     static Iterator Begin(Impl* impl) { return impl->begin(); }
     static Iterator End(Impl* impl) { return impl->end(); }
     static v8::PersistentContainerValue Value(Iterator& iter) {
diff --git a/third_party/WebKit/Source/bindings/core/v8/DOMWrapperWorld.cpp b/third_party/WebKit/Source/bindings/core/v8/DOMWrapperWorld.cpp
index 21331ec..48433a8 100644
--- a/third_party/WebKit/Source/bindings/core/v8/DOMWrapperWorld.cpp
+++ b/third_party/WebKit/Source/bindings/core/v8/DOMWrapperWorld.cpp
@@ -31,56 +31,15 @@
 #include "bindings/core/v8/DOMWrapperWorld.h"
 
 #include <memory>
+
 #include "bindings/core/v8/DOMDataStore.h"
-#include "bindings/core/v8/ScriptController.h"
-#include "bindings/core/v8/V8Binding.h"
-#include "bindings/core/v8/V8DOMActivityLogger.h"
-#include "bindings/core/v8/V8DOMWrapper.h"
-#include "bindings/core/v8/V8Window.h"
-#include "bindings/core/v8/WindowProxy.h"
-#include "bindings/core/v8/WrapperTypeInfo.h"
-#include "core/dom/ExecutionContext.h"
+#include "bindings/core/v8/ScriptFunction.h"
 #include "platform/wtf/HashTraits.h"
 #include "platform/wtf/PtrUtil.h"
 #include "platform/wtf/StdLibExtras.h"
 
 namespace blink {
 
-class DOMObjectHolderBase {
-  USING_FAST_MALLOC(DOMObjectHolderBase);
-
- public:
-  DOMObjectHolderBase(v8::Isolate* isolate, v8::Local<v8::Value> wrapper)
-      : wrapper_(isolate, wrapper), world_(nullptr) {}
-  virtual ~DOMObjectHolderBase() {}
-
-  DOMWrapperWorld* World() const { return world_; }
-  void SetWorld(DOMWrapperWorld* world) { world_ = world; }
-  void SetWeak(
-      void (*callback)(const v8::WeakCallbackInfo<DOMObjectHolderBase>&)) {
-    wrapper_.SetWeak(this, callback);
-  }
-
- private:
-  ScopedPersistent<v8::Value> wrapper_;
-  DOMWrapperWorld* world_;
-};
-
-template <typename T>
-class DOMObjectHolder : public DOMObjectHolderBase {
- public:
-  static std::unique_ptr<DOMObjectHolder<T>>
-  Create(v8::Isolate* isolate, T* object, v8::Local<v8::Value> wrapper) {
-    return WTF::WrapUnique(new DOMObjectHolder(isolate, object, wrapper));
-  }
-
- private:
-  DOMObjectHolder(v8::Isolate* isolate, T* object, v8::Local<v8::Value> wrapper)
-      : DOMObjectHolderBase(isolate, wrapper), object_(object) {}
-
-  Persistent<T> object_;
-};
-
 unsigned DOMWrapperWorld::number_of_non_main_worlds_in_main_thread_ = 0;
 
 // This does not contain the main world because the WorldMap needs
@@ -279,18 +238,6 @@
     IsolatedWorldContentSecurityPolicies().erase(world_id);
 }
 
-template <typename T>
-void DOMWrapperWorld::RegisterDOMObjectHolder(v8::Isolate* isolate,
-                                              T* object,
-                                              v8::Local<v8::Value> wrapper) {
-  RegisterDOMObjectHolderInternal(
-      DOMObjectHolder<T>::Create(isolate, object, wrapper));
-}
-
-template void DOMWrapperWorld::RegisterDOMObjectHolder(v8::Isolate*,
-                                                       ScriptFunction*,
-                                                       v8::Local<v8::Value>);
-
 void DOMWrapperWorld::RegisterDOMObjectHolderInternal(
     std::unique_ptr<DOMObjectHolderBase> holder_base) {
   DCHECK(!dom_object_holders_.Contains(holder_base.get()));
@@ -337,4 +284,15 @@
   return kInvalidWorldId;
 }
 
+void DOMWrapperWorld::DissociateDOMWindowWrappersInAllWorlds(
+    ScriptWrappable* script_wrappable) {
+  DCHECK(script_wrappable);
+  DCHECK(IsMainThread());
+
+  script_wrappable->UnsetWrapperIfAny();
+
+  for (auto& world : GetWorldMap().Values())
+    world->DomDataStore().UnsetWrapperIfAny(script_wrappable);
+}
+
 }  // namespace blink
diff --git a/third_party/WebKit/Source/bindings/core/v8/DOMWrapperWorld.h b/third_party/WebKit/Source/bindings/core/v8/DOMWrapperWorld.h
index cfc5b05..c4f2cd85 100644
--- a/third_party/WebKit/Source/bindings/core/v8/DOMWrapperWorld.h
+++ b/third_party/WebKit/Source/bindings/core/v8/DOMWrapperWorld.h
@@ -133,11 +133,51 @@
   int GetWorldId() const { return world_id_; }
   DOMDataStore& DomDataStore() const { return *dom_data_store_; }
 
- public:
   template <typename T>
-  void RegisterDOMObjectHolder(v8::Isolate*, T*, v8::Local<v8::Value>);
+  void RegisterDOMObjectHolder(v8::Isolate* isolate,
+                               T* object,
+                               v8::Local<v8::Value> wrapper) {
+    RegisterDOMObjectHolderInternal(
+        DOMObjectHolder<T>::Create(isolate, object, wrapper));
+  }
 
  private:
+  class DOMObjectHolderBase {
+    USING_FAST_MALLOC(DOMObjectHolderBase);
+
+   public:
+    DOMObjectHolderBase(v8::Isolate* isolate, v8::Local<v8::Value> wrapper)
+        : wrapper_(isolate, wrapper), world_(nullptr) {}
+    virtual ~DOMObjectHolderBase() {}
+
+    DOMWrapperWorld* World() const { return world_; }
+    void SetWorld(DOMWrapperWorld* world) { world_ = world; }
+    void SetWeak(v8::WeakCallbackInfo<DOMObjectHolderBase>::Callback callback) {
+      wrapper_.SetWeak(this, callback);
+    }
+
+   private:
+    ScopedPersistent<v8::Value> wrapper_;
+    DOMWrapperWorld* world_;
+  };
+
+  template <typename T>
+  class DOMObjectHolder : public DOMObjectHolderBase {
+   public:
+    static std::unique_ptr<DOMObjectHolder<T>>
+    Create(v8::Isolate* isolate, T* object, v8::Local<v8::Value> wrapper) {
+      return WTF::WrapUnique(new DOMObjectHolder(isolate, object, wrapper));
+    }
+
+   private:
+    DOMObjectHolder(v8::Isolate* isolate,
+                    T* object,
+                    v8::Local<v8::Value> wrapper)
+        : DOMObjectHolderBase(isolate, wrapper), object_(object) {}
+
+    Persistent<T> object_;
+  };
+
   DOMWrapperWorld(v8::Isolate*, WorldType, int world_id);
 
   static void WeakCallbackForDOMObjectHolder(
@@ -152,6 +192,30 @@
   // out of DOMWrapperWorld.
   static int GenerateWorldIdForType(WorldType);
 
+  // Dissociates all wrappers in all worlds associated with |script_wrappable|.
+  //
+  // Do not use this function except for DOMWindow.  Only DOMWindow needs to
+  // dissociate wrappers from the ScriptWrappable because of the following two
+  // reasons.
+  //
+  // Reason 1) Case of the main world
+  // A DOMWindow may be collected by Blink GC *before* V8 GC collects the
+  // wrapper because the wrapper object associated with a DOMWindow is a global
+  // proxy, which remains after navigations.  We don't want V8 GC to reset the
+  // weak persistent handle to a wrapper within the DOMWindow
+  // (ScriptWrappable::main_world_wrapper_) *after* Blink GC collects the
+  // DOMWindow because it's use-after-free.  Thus, we need to dissociate the
+  // wrapper in advance.
+  //
+  // Reason 2) Case of isolated worlds
+  // As same, a DOMWindow may be collected before the wrapper gets collected.
+  // A DOMWrapperMap supports mapping from ScriptWrappable* to v8::Global<T>,
+  // and we don't want to leave an entry of an already-dead DOMWindow* to the
+  // persistent handle for the global proxy object, especially considering that
+  // the address to the already-dead DOMWindow* may be re-used.
+  friend class DOMWindow;
+  static void DissociateDOMWindowWrappersInAllWorlds(ScriptWrappable*);
+
   const WorldType world_type_;
   const int world_id_;
   std::unique_ptr<DOMDataStore> dom_data_store_;
diff --git a/third_party/WebKit/Source/bindings/core/v8/LocalWindowProxy.cpp b/third_party/WebKit/Source/bindings/core/v8/LocalWindowProxy.cpp
index 4147067..7a76273 100644
--- a/third_party/WebKit/Source/bindings/core/v8/LocalWindowProxy.cpp
+++ b/third_party/WebKit/Source/bindings/core/v8/LocalWindowProxy.cpp
@@ -221,8 +221,9 @@
   // The global proxy object.  Note this is not the global object.
   v8::Local<v8::Object> global_proxy = context->Global();
   CHECK(global_proxy_ == global_proxy);
-  V8DOMWrapper::SetNativeInfo(GetIsolate(), global_proxy, wrapper_type_info,
-                              window);
+  v8::Local<v8::Object> associated_wrapper =
+      AssociateWithWrapper(window, wrapper_type_info, global_proxy);
+  DCHECK(associated_wrapper == global_proxy);
   // Mark the handle to be traced by Oilpan, since the global proxy has a
   // reference to the DOMWindow.
   global_proxy_.Get().SetWrapperClassId(wrapper_type_info->wrapper_class_id);
@@ -230,9 +231,8 @@
   // The global object, aka window wrapper object.
   v8::Local<v8::Object> window_wrapper =
       global_proxy->GetPrototype().As<v8::Object>();
-  v8::Local<v8::Object> associated_wrapper =
-      AssociateWithWrapper(window, wrapper_type_info, window_wrapper);
-  DCHECK(associated_wrapper == window_wrapper);
+  V8DOMWrapper::SetNativeInfo(GetIsolate(), window_wrapper, wrapper_type_info,
+                              window);
 
   // The prototype object of Window interface.
   v8::Local<v8::Object> window_prototype =
diff --git a/third_party/WebKit/Source/bindings/core/v8/RemoteWindowProxy.cpp b/third_party/WebKit/Source/bindings/core/v8/RemoteWindowProxy.cpp
index 1c90600..3625ce5d 100644
--- a/third_party/WebKit/Source/bindings/core/v8/RemoteWindowProxy.cpp
+++ b/third_party/WebKit/Source/bindings/core/v8/RemoteWindowProxy.cpp
@@ -125,9 +125,9 @@
 
   // The global proxy object.  Note this is not the global object.
   v8::Local<v8::Object> global_proxy = global_proxy_.NewLocal(GetIsolate());
-  CHECK(global_proxy_ == global_proxy);
-  V8DOMWrapper::SetNativeInfo(GetIsolate(), global_proxy, wrapper_type_info,
-                              window);
+  v8::Local<v8::Object> associated_wrapper =
+      AssociateWithWrapper(window, wrapper_type_info, global_proxy);
+  DCHECK(associated_wrapper == global_proxy);
   // Mark the handle to be traced by Oilpan, since the global proxy has a
   // reference to the DOMWindow.
   global_proxy_.Get().SetWrapperClassId(wrapper_type_info->wrapper_class_id);
@@ -135,9 +135,8 @@
   // The global object, aka window wrapper object.
   v8::Local<v8::Object> window_wrapper =
       global_proxy->GetPrototype().As<v8::Object>();
-  v8::Local<v8::Object> associated_wrapper =
-      AssociateWithWrapper(window, wrapper_type_info, window_wrapper);
-  DCHECK(associated_wrapper == window_wrapper);
+  V8DOMWrapper::SetNativeInfo(GetIsolate(), window_wrapper, wrapper_type_info,
+                              window);
 }
 
 }  // namespace blink
diff --git a/third_party/WebKit/Source/bindings/core/v8/ScriptState.cpp b/third_party/WebKit/Source/bindings/core/v8/ScriptState.cpp
index d8151fc..2563233 100644
--- a/third_party/WebKit/Source/bindings/core/v8/ScriptState.cpp
+++ b/third_party/WebKit/Source/bindings/core/v8/ScriptState.cpp
@@ -53,15 +53,4 @@
   per_context_data_ = nullptr;
 }
 
-ScriptValue ScriptState::GetFromExtrasExports(const char* name) {
-  v8::HandleScope handle_scope(isolate_);
-  v8::Local<v8::Value> v8_value;
-  if (!GetContext()
-           ->GetExtrasBindingObject()
-           ->Get(GetContext(), V8AtomicString(GetIsolate(), name))
-           .ToLocal(&v8_value))
-    return ScriptValue();
-  return ScriptValue(this, v8_value);
-}
-
 }  // namespace blink
diff --git a/third_party/WebKit/Source/bindings/core/v8/ScriptState.h b/third_party/WebKit/Source/bindings/core/v8/ScriptState.h
index de6358c4..ba02bfad 100644
--- a/third_party/WebKit/Source/bindings/core/v8/ScriptState.h
+++ b/third_party/WebKit/Source/bindings/core/v8/ScriptState.h
@@ -149,8 +149,6 @@
   V8PerContextData* PerContextData() const { return per_context_data_.get(); }
   void DisposePerContextData();
 
-  ScriptValue GetFromExtrasExports(const char* name);
-
  protected:
   ScriptState(v8::Local<v8::Context>, PassRefPtr<DOMWrapperWorld>);
 
diff --git a/third_party/WebKit/Source/bindings/core/v8/ScriptWrappable.h b/third_party/WebKit/Source/bindings/core/v8/ScriptWrappable.h
index e6f3e2d..66e7dea 100644
--- a/third_party/WebKit/Source/bindings/core/v8/ScriptWrappable.h
+++ b/third_party/WebKit/Source/bindings/core/v8/ScriptWrappable.h
@@ -130,6 +130,14 @@
     return true;
   }
 
+  // Dissociates the wrapper, if any, from this instance.
+  void UnsetWrapperIfAny() {
+    if (ContainsWrapper()) {
+      main_world_wrapper_.Reset();
+      WrapperTypeInfo::WrapperDestroyed();
+    }
+  }
+
   bool IsEqualTo(const v8::Local<v8::Object>& other) const {
     return main_world_wrapper_ == other;
   }
diff --git a/third_party/WebKit/Source/bindings/core/v8/StringResource.cpp b/third_party/WebKit/Source/bindings/core/v8/StringResource.cpp
new file mode 100644
index 0000000..930dd59
--- /dev/null
+++ b/third_party/WebKit/Source/bindings/core/v8/StringResource.cpp
@@ -0,0 +1,166 @@
+// 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 "bindings/core/v8/StringResource.h"
+
+#include "bindings/core/v8/V8Binding.h"
+
+namespace blink {
+
+template <class StringClass>
+struct StringTraits {
+  static const StringClass& FromStringResource(StringResourceBase*);
+  template <typename V8StringTrait>
+  static StringClass FromV8String(v8::Local<v8::String>, int);
+};
+
+template <>
+struct StringTraits<String> {
+  static const String& FromStringResource(StringResourceBase* resource) {
+    return resource->WebcoreString();
+  }
+  template <typename V8StringTrait>
+  static String FromV8String(v8::Local<v8::String>, int);
+};
+
+template <>
+struct StringTraits<AtomicString> {
+  static const AtomicString& FromStringResource(StringResourceBase* resource) {
+    return resource->GetAtomicString();
+  }
+  template <typename V8StringTrait>
+  static AtomicString FromV8String(v8::Local<v8::String>, int);
+};
+
+struct V8StringTwoBytesTrait {
+  typedef UChar CharType;
+  ALWAYS_INLINE static void Write(v8::Local<v8::String> v8_string,
+                                  CharType* buffer,
+                                  int length) {
+    v8_string->Write(reinterpret_cast<uint16_t*>(buffer), 0, length);
+  }
+};
+
+struct V8StringOneByteTrait {
+  typedef LChar CharType;
+  ALWAYS_INLINE static void Write(v8::Local<v8::String> v8_string,
+                                  CharType* buffer,
+                                  int length) {
+    v8_string->WriteOneByte(buffer, 0, length);
+  }
+};
+
+template <typename V8StringTrait>
+String StringTraits<String>::FromV8String(v8::Local<v8::String> v8_string,
+                                          int length) {
+  DCHECK(v8_string->Length() == length);
+  typename V8StringTrait::CharType* buffer;
+  String result = String::CreateUninitialized(length, buffer);
+  V8StringTrait::Write(v8_string, buffer, length);
+  return result;
+}
+
+template <typename V8StringTrait>
+AtomicString StringTraits<AtomicString>::FromV8String(
+    v8::Local<v8::String> v8_string,
+    int length) {
+  DCHECK(v8_string->Length() == length);
+  static const int kInlineBufferSize =
+      32 / sizeof(typename V8StringTrait::CharType);
+  if (length <= kInlineBufferSize) {
+    typename V8StringTrait::CharType inline_buffer[kInlineBufferSize];
+    V8StringTrait::Write(v8_string, inline_buffer, length);
+    return AtomicString(inline_buffer, length);
+  }
+  typename V8StringTrait::CharType* buffer;
+  String string = String::CreateUninitialized(length, buffer);
+  V8StringTrait::Write(v8_string, buffer, length);
+  return AtomicString(string);
+}
+
+template <typename StringType>
+StringType V8StringToWebCoreString(v8::Local<v8::String> v8_string,
+                                   ExternalMode external) {
+  {
+    // This portion of this function is very hot in certain Dromeao benchmarks.
+    v8::String::Encoding encoding;
+    v8::String::ExternalStringResourceBase* resource =
+        v8_string->GetExternalStringResourceBase(&encoding);
+    if (LIKELY(!!resource)) {
+      StringResourceBase* base;
+      if (encoding == v8::String::ONE_BYTE_ENCODING)
+        base = static_cast<StringResource8*>(resource);
+      else
+        base = static_cast<StringResource16*>(resource);
+      return StringTraits<StringType>::FromStringResource(base);
+    }
+  }
+
+  int length = v8_string->Length();
+  if (UNLIKELY(!length))
+    return StringType("");
+
+  bool one_byte = v8_string->ContainsOnlyOneByte();
+  StringType result(one_byte ? StringTraits<StringType>::template FromV8String<
+                                   V8StringOneByteTrait>(v8_string, length)
+                             : StringTraits<StringType>::template FromV8String<
+                                   V8StringTwoBytesTrait>(v8_string, length));
+
+  if (external != kExternalize || !v8_string->CanMakeExternal())
+    return result;
+
+  if (result.Is8Bit()) {
+    StringResource8* string_resource = new StringResource8(result);
+    if (UNLIKELY(!v8_string->MakeExternal(string_resource)))
+      delete string_resource;
+  } else {
+    StringResource16* string_resource = new StringResource16(result);
+    if (UNLIKELY(!v8_string->MakeExternal(string_resource)))
+      delete string_resource;
+  }
+  return result;
+}
+
+// Explicitly instantiate the above template with the expected
+// parameterizations, to ensure the compiler generates the code; otherwise link
+// errors can result in GCC 4.4.
+template String V8StringToWebCoreString<String>(v8::Local<v8::String>,
+                                                ExternalMode);
+template AtomicString V8StringToWebCoreString<AtomicString>(
+    v8::Local<v8::String>,
+    ExternalMode);
+
+// Fast but non thread-safe version.
+String Int32ToWebCoreStringFast(int value) {
+  // Caching of small strings below is not thread safe: newly constructed
+  // AtomicString are not safely published.
+  DCHECK(IsMainThread());
+
+  // Most numbers used are <= 100. Even if they aren't used there's very little
+  // cost in using the space.
+  const int kLowNumbers = 100;
+  DEFINE_STATIC_LOCAL(Vector<AtomicString>, low_numbers, (kLowNumbers + 1));
+  String web_core_string;
+  if (0 <= value && value <= kLowNumbers) {
+    web_core_string = low_numbers[value];
+    if (!web_core_string) {
+      AtomicString value_string = AtomicString::Number(value);
+      low_numbers[value] = value_string;
+      web_core_string = value_string;
+    }
+  } else {
+    web_core_string = String::Number(value);
+  }
+  return web_core_string;
+}
+
+String Int32ToWebCoreString(int value) {
+  // If we are on the main thread (this should always true for non-workers),
+  // call the faster one.
+  if (IsMainThread())
+    return Int32ToWebCoreStringFast(value);
+  return String::Number(value);
+}
+
+}  // namespace blink
diff --git a/third_party/WebKit/Source/bindings/core/v8/StringResource.h b/third_party/WebKit/Source/bindings/core/v8/StringResource.h
new file mode 100644
index 0000000..36032fb
--- /dev/null
+++ b/third_party/WebKit/Source/bindings/core/v8/StringResource.h
@@ -0,0 +1,138 @@
+// 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 StringResource_h
+#define StringResource_h
+
+#include "core/CoreExport.h"
+#include "platform/wtf/Allocator.h"
+#include "platform/wtf/Threading.h"
+#include "platform/wtf/text/AtomicString.h"
+#include "v8/include/v8.h"
+
+namespace blink {
+
+// StringResource is a helper class for V8ExternalString. It is used
+// to manage the life-cycle of the underlying buffer of the external string.
+class StringResourceBase {
+  USING_FAST_MALLOC(StringResourceBase);
+  WTF_MAKE_NONCOPYABLE(StringResourceBase);
+
+ public:
+  explicit StringResourceBase(const String& string) : plain_string_(string) {
+#if DCHECK_IS_ON()
+    thread_id_ = WTF::CurrentThread();
+#endif
+    DCHECK(!string.IsNull());
+    v8::Isolate::GetCurrent()->AdjustAmountOfExternalAllocatedMemory(
+        string.CharactersSizeInBytes());
+  }
+
+  explicit StringResourceBase(const AtomicString& string)
+      : plain_string_(string.GetString()), atomic_string_(string) {
+#if DCHECK_IS_ON()
+    thread_id_ = WTF::CurrentThread();
+#endif
+    DCHECK(!string.IsNull());
+    v8::Isolate::GetCurrent()->AdjustAmountOfExternalAllocatedMemory(
+        string.CharactersSizeInBytes());
+  }
+
+  virtual ~StringResourceBase() {
+#if DCHECK_IS_ON()
+    DCHECK(thread_id_ == WTF::CurrentThread());
+#endif
+    int64_t reduced_external_memory = plain_string_.CharactersSizeInBytes();
+    if (plain_string_.Impl() != atomic_string_.Impl() &&
+        !atomic_string_.IsNull())
+      reduced_external_memory += atomic_string_.CharactersSizeInBytes();
+    v8::Isolate::GetCurrent()->AdjustAmountOfExternalAllocatedMemory(
+        -reduced_external_memory);
+  }
+
+  const String& WebcoreString() { return plain_string_; }
+
+  const AtomicString& GetAtomicString() {
+#if DCHECK_IS_ON()
+    DCHECK(thread_id_ == WTF::CurrentThread());
+#endif
+    if (atomic_string_.IsNull()) {
+      atomic_string_ = AtomicString(plain_string_);
+      DCHECK(!atomic_string_.IsNull());
+      if (plain_string_.Impl() != atomic_string_.Impl()) {
+        v8::Isolate::GetCurrent()->AdjustAmountOfExternalAllocatedMemory(
+            atomic_string_.CharactersSizeInBytes());
+      }
+    }
+    return atomic_string_;
+  }
+
+ protected:
+  // A shallow copy of the string. Keeps the string buffer alive until the V8
+  // engine garbage collects it.
+  String plain_string_;
+  // If this string is atomic or has been made atomic earlier the
+  // atomic string is held here. In the case where the string starts
+  // off non-atomic and becomes atomic later it is necessary to keep
+  // the original string alive because v8 may keep derived pointers
+  // into that string.
+  AtomicString atomic_string_;
+
+ private:
+#if DCHECK_IS_ON()
+  WTF::ThreadIdentifier thread_id_;
+#endif
+};
+
+class StringResource16 final : public StringResourceBase,
+                               public v8::String::ExternalStringResource {
+  WTF_MAKE_NONCOPYABLE(StringResource16);
+
+ public:
+  explicit StringResource16(const String& string) : StringResourceBase(string) {
+    DCHECK(!string.Is8Bit());
+  }
+
+  explicit StringResource16(const AtomicString& string)
+      : StringResourceBase(string) {
+    DCHECK(!string.Is8Bit());
+  }
+
+  size_t length() const override { return plain_string_.Impl()->length(); }
+  const uint16_t* data() const override {
+    return reinterpret_cast<const uint16_t*>(
+        plain_string_.Impl()->Characters16());
+  }
+};
+
+class StringResource8 final : public StringResourceBase,
+                              public v8::String::ExternalOneByteStringResource {
+  WTF_MAKE_NONCOPYABLE(StringResource8);
+
+ public:
+  explicit StringResource8(const String& string) : StringResourceBase(string) {
+    DCHECK(string.Is8Bit());
+  }
+
+  explicit StringResource8(const AtomicString& string)
+      : StringResourceBase(string) {
+    DCHECK(string.Is8Bit());
+  }
+
+  size_t length() const override { return plain_string_.Impl()->length(); }
+  const char* data() const override {
+    return reinterpret_cast<const char*>(plain_string_.Impl()->Characters8());
+  }
+};
+
+enum ExternalMode { kExternalize, kDoNotExternalize };
+
+template <typename StringType>
+CORE_EXPORT StringType V8StringToWebCoreString(v8::Local<v8::String>,
+                                               ExternalMode);
+CORE_EXPORT String Int32ToWebCoreString(int value);
+
+}  // namespace blink
+
+#endif  // StringResource_h
diff --git a/third_party/WebKit/Source/bindings/core/v8/ToV8ForCore.cpp b/third_party/WebKit/Source/bindings/core/v8/ToV8ForCore.cpp
deleted file mode 100644
index 71e07c22..0000000
--- a/third_party/WebKit/Source/bindings/core/v8/ToV8ForCore.cpp
+++ /dev/null
@@ -1,37 +0,0 @@
-// 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 "bindings/core/v8/ToV8ForCore.h"
-
-#include "bindings/core/v8/WindowProxy.h"
-#include "core/events/EventTarget.h"
-#include "core/frame/DOMWindow.h"
-#include "core/frame/Frame.h"
-
-namespace blink {
-
-v8::Local<v8::Value> ToV8(DOMWindow* window,
-                          v8::Local<v8::Object> creation_context,
-                          v8::Isolate* isolate) {
-  // Notice that we explicitly ignore creationContext because the DOMWindow
-  // has its own creationContext.
-
-  if (UNLIKELY(!window))
-    return v8::Null(isolate);
-
-  return window->GlobalProxy(DOMWrapperWorld::Current(isolate));
-}
-
-v8::Local<v8::Value> ToV8(EventTarget* impl,
-                          v8::Local<v8::Object> creation_context,
-                          v8::Isolate* isolate) {
-  if (UNLIKELY(!impl))
-    return v8::Null(isolate);
-
-  if (impl->InterfaceName() == EventTargetNames::DOMWindow)
-    return ToV8(static_cast<DOMWindow*>(impl), creation_context, isolate);
-  return ToV8(static_cast<ScriptWrappable*>(impl), creation_context, isolate);
-}
-
-}  // namespace blink
diff --git a/third_party/WebKit/Source/bindings/core/v8/ToV8ForCore.h b/third_party/WebKit/Source/bindings/core/v8/ToV8ForCore.h
index a41ba2c..cb3fed42 100644
--- a/third_party/WebKit/Source/bindings/core/v8/ToV8ForCore.h
+++ b/third_party/WebKit/Source/bindings/core/v8/ToV8ForCore.h
@@ -8,35 +8,13 @@
 // ToV8() provides C++ -> V8 conversion. Note that ToV8() can return an empty
 // handle. Call sites must check IsEmpty() before using return value.
 
-#include "bindings/core/v8/ScriptWrappable.h"
 #include "bindings/core/v8/ToV8.h"
-#include "core/CoreExport.h"
 #include "core/dom/NotShared.h"
 #include "v8/include/v8.h"
 
 namespace blink {
 
-class DOMWindow;
 class Dictionary;
-class EventTarget;
-class Node;
-
-inline v8::Local<v8::Value> ToV8(Node* impl,
-                                 v8::Local<v8::Object> creation_context,
-                                 v8::Isolate* isolate) {
-  return ToV8(ScriptWrappable::FromNode(impl), creation_context, isolate);
-}
-
-// Special versions for DOMWindow and EventTarget
-
-CORE_EXPORT v8::Local<v8::Value> ToV8(DOMWindow*,
-                                      v8::Local<v8::Object> creation_context,
-                                      v8::Isolate*);
-CORE_EXPORT v8::Local<v8::Value> ToV8(EventTarget*,
-                                      v8::Local<v8::Object> creation_context,
-                                      v8::Isolate*);
-
-// Dictionary
 
 inline v8::Local<v8::Value> ToV8(const Dictionary& value,
                                  v8::Local<v8::Object> creation_context,
diff --git a/third_party/WebKit/Source/bindings/core/v8/V8Binding.h b/third_party/WebKit/Source/bindings/core/v8/V8Binding.h
index b641638..f783f6a 100644
--- a/third_party/WebKit/Source/bindings/core/v8/V8Binding.h
+++ b/third_party/WebKit/Source/bindings/core/v8/V8Binding.h
@@ -57,7 +57,6 @@
 
 class DOMWindow;
 class EventListener;
-class EventTarget;
 class ExceptionState;
 class ExecutionContext;
 class FlexibleArrayBufferView;
@@ -195,22 +194,6 @@
   V8SetReturnValue(callback_info, ScriptWrappable::FromNode(impl));
 }
 
-// Special versions for DOMWindow and EventTarget
-
-template <typename CallbackInfo>
-inline void V8SetReturnValue(const CallbackInfo& callback_info,
-                             DOMWindow* impl) {
-  V8SetReturnValue(callback_info, ToV8(impl, callback_info.Holder(),
-                                       callback_info.GetIsolate()));
-}
-
-template <typename CallbackInfo>
-inline void V8SetReturnValue(const CallbackInfo& callback_info,
-                             EventTarget* impl) {
-  V8SetReturnValue(callback_info, ToV8(impl, callback_info.Holder(),
-                                       callback_info.GetIsolate()));
-}
-
 template <typename CallbackInfo, typename T>
 inline void V8SetReturnValue(const CallbackInfo& callback_info,
                              PassRefPtr<T> impl) {
@@ -239,46 +222,6 @@
   V8SetReturnValue(callback_info, wrapper);
 }
 
-template <typename CallbackInfo>
-inline void V8SetReturnValueForMainWorld(const CallbackInfo& callback_info,
-                                         Node* impl) {
-  // Since EventTarget has a special version of ToV8 and V8EventTarget.h
-  // defines its own v8SetReturnValue family, which are slow, we need to
-  // override them with optimized versions for Node and its subclasses.
-  // Without this overload, v8SetReturnValueForMainWorld for Node would be
-  // very slow.
-  //
-  // class hierarchy:
-  //     ScriptWrappable <-- EventTarget <--+-- Node <-- ...
-  //                                        +-- Window
-  // overloads:
-  //     v8SetReturnValueForMainWorld(ScriptWrappable*)
-  //         Optimized and very fast.
-  //     v8SetReturnValueForMainWorld(EventTarget*)
-  //         Uses custom toV8 function and slow.
-  //     v8SetReturnValueForMainWorld(Node*)
-  //         Optimized and very fast.
-  //     v8SetReturnValueForMainWorld(Window*)
-  //         Uses custom toV8 function and slow.
-  V8SetReturnValueForMainWorld(callback_info, ScriptWrappable::FromNode(impl));
-}
-
-// Special versions for DOMWindow and EventTarget
-
-template <typename CallbackInfo>
-inline void V8SetReturnValueForMainWorld(const CallbackInfo& callback_info,
-                                         DOMWindow* impl) {
-  V8SetReturnValue(callback_info, ToV8(impl, callback_info.Holder(),
-                                       callback_info.GetIsolate()));
-}
-
-template <typename CallbackInfo>
-inline void V8SetReturnValueForMainWorld(const CallbackInfo& callback_info,
-                                         EventTarget* impl) {
-  V8SetReturnValue(callback_info, ToV8(impl, callback_info.Holder(),
-                                       callback_info.GetIsolate()));
-}
-
 template <typename CallbackInfo, typename T>
 inline void V8SetReturnValueForMainWorld(const CallbackInfo& callback_info,
                                          PassRefPtr<T> impl) {
@@ -309,24 +252,6 @@
                        wrappable);
 }
 
-// Special versions for DOMWindow and EventTarget
-
-template <typename CallbackInfo>
-inline void V8SetReturnValueFast(const CallbackInfo& callback_info,
-                                 DOMWindow* impl,
-                                 const ScriptWrappable*) {
-  V8SetReturnValue(callback_info, ToV8(impl, callback_info.Holder(),
-                                       callback_info.GetIsolate()));
-}
-
-template <typename CallbackInfo>
-inline void V8SetReturnValueFast(const CallbackInfo& callback_info,
-                                 EventTarget* impl,
-                                 const ScriptWrappable*) {
-  V8SetReturnValue(callback_info, ToV8(impl, callback_info.Holder(),
-                                       callback_info.GetIsolate()));
-}
-
 template <typename CallbackInfo, typename T, typename Wrappable>
 inline void V8SetReturnValueFast(const CallbackInfo& callback_info,
                                  PassRefPtr<T> impl,
diff --git a/third_party/WebKit/Source/bindings/core/v8/V8GCController.cpp b/third_party/WebKit/Source/bindings/core/v8/V8GCController.cpp
index c5327db..c997530 100644
--- a/third_party/WebKit/Source/bindings/core/v8/V8GCController.cpp
+++ b/third_party/WebKit/Source/bindings/core/v8/V8GCController.cpp
@@ -472,7 +472,9 @@
 
 class DOMWrapperTracer : public v8::PersistentHandleVisitor {
  public:
-  explicit DOMWrapperTracer(Visitor* visitor) : visitor_(visitor) {}
+  explicit DOMWrapperTracer(Visitor* visitor) : visitor_(visitor) {
+    DCHECK(visitor_);
+  }
 
   void VisitPersistentHandle(v8::Persistent<v8::Value>* value,
                              uint16_t class_id) override {
@@ -483,8 +485,8 @@
     const v8::Persistent<v8::Object>& wrapper =
         v8::Persistent<v8::Object>::Cast(*value);
 
-    if (visitor_)
-      ToWrapperTypeInfo(wrapper)->Trace(visitor_, ToScriptWrappable(wrapper));
+    if (ScriptWrappable* script_wrappable = ToScriptWrappable(wrapper))
+      ToWrapperTypeInfo(wrapper)->Trace(visitor_, script_wrappable);
   }
 
  private:
diff --git a/third_party/WebKit/Source/bindings/core/v8/V8GlobalValueMap.h b/third_party/WebKit/Source/bindings/core/v8/V8GlobalValueMap.h
index f3ee3b4df..db4a2e5 100644
--- a/third_party/WebKit/Source/bindings/core/v8/V8GlobalValueMap.h
+++ b/third_party/WebKit/Source/bindings/core/v8/V8GlobalValueMap.h
@@ -33,7 +33,7 @@
   typedef typename Impl::iterator Iterator;
   static size_t Size(const Impl* impl) { return impl->size(); }
   static bool Empty(Impl* impl) { return impl->IsEmpty(); }
-  static void Swap(Impl& impl, Impl& other) { impl.Swap(other); }
+  static void Swap(Impl& impl, Impl& other) { impl.swap(other); }
   static Iterator Begin(Impl* impl) { return impl->begin(); }
   static Iterator End(Impl* impl) { return impl->end(); }
   static v8::PersistentContainerValue Value(Iterator& iter) {
diff --git a/third_party/WebKit/Source/bindings/core/v8/V8ScriptRunner.cpp b/third_party/WebKit/Source/bindings/core/v8/V8ScriptRunner.cpp
index bddcca1..f662e64 100644
--- a/third_party/WebKit/Source/bindings/core/v8/V8ScriptRunner.cpp
+++ b/third_party/WebKit/Source/bindings/core/v8/V8ScriptRunner.cpp
@@ -731,4 +731,21 @@
   CallInternalFunction(thrower, thrower, WTF_ARRAY_LENGTH(args), args, isolate);
 }
 
+v8::MaybeLocal<v8::Value> V8ScriptRunner::CallExtraHelper(
+    ScriptState* script_state,
+    const char* name,
+    size_t num_args,
+    v8::Local<v8::Value>* args) {
+  v8::Isolate* isolate = script_state->GetIsolate();
+  v8::Local<v8::Value> function_value;
+  v8::Local<v8::Context> context = script_state->GetContext();
+  if (!context->GetExtrasBindingObject()
+           ->Get(context, V8AtomicString(isolate, name))
+           .ToLocal(&function_value))
+    return v8::MaybeLocal<v8::Value>();
+  v8::Local<v8::Function> function = function_value.As<v8::Function>();
+  return V8ScriptRunner::CallInternalFunction(function, v8::Undefined(isolate),
+                                              num_args, args, isolate);
+}
+
 }  // namespace blink
diff --git a/third_party/WebKit/Source/bindings/core/v8/V8ScriptRunner.h b/third_party/WebKit/Source/bindings/core/v8/V8ScriptRunner.h
index 8cfb3906..4629a20 100644
--- a/third_party/WebKit/Source/bindings/core/v8/V8ScriptRunner.h
+++ b/third_party/WebKit/Source/bindings/core/v8/V8ScriptRunner.h
@@ -143,20 +143,10 @@
                              const v8::ScriptOrigin&);
 
  private:
-  static v8::MaybeLocal<v8::Value> CallExtraHelper(ScriptState* script_state,
+  static v8::MaybeLocal<v8::Value> CallExtraHelper(ScriptState*,
                                                    const char* name,
                                                    size_t num_args,
-                                                   v8::Local<v8::Value>* args) {
-    v8::Isolate* isolate = script_state->GetIsolate();
-    v8::Local<v8::Value> undefined = v8::Undefined(isolate);
-    v8::Local<v8::Value> function_value =
-        script_state->GetFromExtrasExports(name).V8Value();
-    if (function_value.IsEmpty())
-      return v8::MaybeLocal<v8::Value>();
-    v8::Local<v8::Function> function = function_value.As<v8::Function>();
-    return V8ScriptRunner::CallInternalFunction(function, undefined, num_args,
-                                                args, isolate);
-  }
+                                                   v8::Local<v8::Value>* args);
 };
 
 }  // namespace blink
diff --git a/third_party/WebKit/Source/bindings/core/v8/V8StringResource.cpp b/third_party/WebKit/Source/bindings/core/v8/V8StringResource.cpp
deleted file mode 100644
index ee2cc84c..0000000
--- a/third_party/WebKit/Source/bindings/core/v8/V8StringResource.cpp
+++ /dev/null
@@ -1,190 +0,0 @@
-/*
- * Copyright (C) 2009 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:
- * 1. Redistributions of source code must retain the above copyright
- *    notice, this list of conditions and the following disclaimer.
- * 2. 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.
- *
- * THIS SOFTWARE IS PROVIDED BY APPLE INC. AND ITS 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 APPLE INC. OR ITS 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 "bindings/core/v8/V8StringResource.h"
-
-#include "bindings/core/v8/V8Binding.h"
-
-namespace blink {
-
-template <class StringClass>
-struct StringTraits {
-  static const StringClass& FromStringResource(WebCoreStringResourceBase*);
-  template <typename V8StringTrait>
-  static StringClass FromV8String(v8::Local<v8::String>, int);
-};
-
-template <>
-struct StringTraits<String> {
-  static const String& FromStringResource(WebCoreStringResourceBase* resource) {
-    return resource->WebcoreString();
-  }
-  template <typename V8StringTrait>
-  static String FromV8String(v8::Local<v8::String>, int);
-};
-
-template <>
-struct StringTraits<AtomicString> {
-  static const AtomicString& FromStringResource(
-      WebCoreStringResourceBase* resource) {
-    return resource->GetAtomicString();
-  }
-  template <typename V8StringTrait>
-  static AtomicString FromV8String(v8::Local<v8::String>, int);
-};
-
-struct V8StringTwoBytesTrait {
-  typedef UChar CharType;
-  ALWAYS_INLINE static void Write(v8::Local<v8::String> v8_string,
-                                  CharType* buffer,
-                                  int length) {
-    v8_string->Write(reinterpret_cast<uint16_t*>(buffer), 0, length);
-  }
-};
-
-struct V8StringOneByteTrait {
-  typedef LChar CharType;
-  ALWAYS_INLINE static void Write(v8::Local<v8::String> v8_string,
-                                  CharType* buffer,
-                                  int length) {
-    v8_string->WriteOneByte(buffer, 0, length);
-  }
-};
-
-template <typename V8StringTrait>
-String StringTraits<String>::FromV8String(v8::Local<v8::String> v8_string,
-                                          int length) {
-  DCHECK_EQ(v8_string->Length(), length);
-  typename V8StringTrait::CharType* buffer;
-  String result = String::CreateUninitialized(length, buffer);
-  V8StringTrait::Write(v8_string, buffer, length);
-  return result;
-}
-
-template <typename V8StringTrait>
-AtomicString StringTraits<AtomicString>::FromV8String(
-    v8::Local<v8::String> v8_string,
-    int length) {
-  DCHECK_EQ(v8_string->Length(), length);
-  static const int kInlineBufferSize =
-      32 / sizeof(typename V8StringTrait::CharType);
-  if (length <= kInlineBufferSize) {
-    typename V8StringTrait::CharType inline_buffer[kInlineBufferSize];
-    V8StringTrait::Write(v8_string, inline_buffer, length);
-    return AtomicString(inline_buffer, length);
-  }
-  typename V8StringTrait::CharType* buffer;
-  String string = String::CreateUninitialized(length, buffer);
-  V8StringTrait::Write(v8_string, buffer, length);
-  return AtomicString(string);
-}
-
-template <typename StringType>
-StringType V8StringToWebCoreString(v8::Local<v8::String> v8_string,
-                                   ExternalMode external) {
-  {
-    // This portion of this function is very hot in certain Dromeao benchmarks.
-    v8::String::Encoding encoding;
-    v8::String::ExternalStringResourceBase* resource =
-        v8_string->GetExternalStringResourceBase(&encoding);
-    if (LIKELY(!!resource)) {
-      WebCoreStringResourceBase* base;
-      if (encoding == v8::String::ONE_BYTE_ENCODING)
-        base = static_cast<WebCoreStringResource8*>(resource);
-      else
-        base = static_cast<WebCoreStringResource16*>(resource);
-      return StringTraits<StringType>::FromStringResource(base);
-    }
-  }
-
-  int length = v8_string->Length();
-  if (UNLIKELY(!length))
-    return StringType("");
-
-  bool one_byte = v8_string->ContainsOnlyOneByte();
-  StringType result(one_byte ? StringTraits<StringType>::template FromV8String<
-                                   V8StringOneByteTrait>(v8_string, length)
-                             : StringTraits<StringType>::template FromV8String<
-                                   V8StringTwoBytesTrait>(v8_string, length));
-
-  if (external != kExternalize || !v8_string->CanMakeExternal())
-    return result;
-
-  if (result.Is8Bit()) {
-    WebCoreStringResource8* string_resource =
-        new WebCoreStringResource8(result);
-    if (UNLIKELY(!v8_string->MakeExternal(string_resource)))
-      delete string_resource;
-  } else {
-    WebCoreStringResource16* string_resource =
-        new WebCoreStringResource16(result);
-    if (UNLIKELY(!v8_string->MakeExternal(string_resource)))
-      delete string_resource;
-  }
-  return result;
-}
-
-// Explicitly instantiate the above template with the expected
-// parameterizations, to ensure the compiler generates the code; otherwise link
-// errors can result in GCC 4.4.
-template String V8StringToWebCoreString<String>(v8::Local<v8::String>,
-                                                ExternalMode);
-template AtomicString V8StringToWebCoreString<AtomicString>(
-    v8::Local<v8::String>,
-    ExternalMode);
-
-// Fast but non thread-safe version.
-String Int32ToWebCoreStringFast(int value) {
-  // Caching of small strings below is not thread safe: newly constructed
-  // AtomicString are not safely published.
-  DCHECK(IsMainThread());
-
-  // Most numbers used are <= 100. Even if they aren't used there's very little
-  // cost in using the space.
-  const int kLowNumbers = 100;
-  DEFINE_STATIC_LOCAL(Vector<AtomicString>, low_numbers, (kLowNumbers + 1));
-  String web_core_string;
-  if (0 <= value && value <= kLowNumbers) {
-    web_core_string = low_numbers[value];
-    if (!web_core_string) {
-      AtomicString value_string = AtomicString::Number(value);
-      low_numbers[value] = value_string;
-      web_core_string = value_string;
-    }
-  } else {
-    web_core_string = String::Number(value);
-  }
-  return web_core_string;
-}
-
-String Int32ToWebCoreString(int value) {
-  // If we are on the main thread (this should always true for non-workers),
-  // call the faster one.
-  if (IsMainThread())
-    return Int32ToWebCoreStringFast(value);
-  return String::Number(value);
-}
-
-}  // namespace blink
diff --git a/third_party/WebKit/Source/bindings/core/v8/V8StringResource.h b/third_party/WebKit/Source/bindings/core/v8/V8StringResource.h
index 847bf761..980b5a5 100644
--- a/third_party/WebKit/Source/bindings/core/v8/V8StringResource.h
+++ b/third_party/WebKit/Source/bindings/core/v8/V8StringResource.h
@@ -27,6 +27,7 @@
 #define V8StringResource_h
 
 #include "bindings/core/v8/ExceptionState.h"
+#include "bindings/core/v8/StringResource.h"
 #include "core/CoreExport.h"
 #include "platform/wtf/Allocator.h"
 #include "platform/wtf/Threading.h"
@@ -35,130 +36,6 @@
 
 namespace blink {
 
-// WebCoreStringResource is a helper class for v8ExternalString. It is used
-// to manage the life-cycle of the underlying buffer of the external string.
-class WebCoreStringResourceBase {
-  USING_FAST_MALLOC(WebCoreStringResourceBase);
-  WTF_MAKE_NONCOPYABLE(WebCoreStringResourceBase);
-
- public:
-  explicit WebCoreStringResourceBase(const String& string)
-      : plain_string_(string) {
-#if DCHECK_IS_ON()
-    thread_id_ = WTF::CurrentThread();
-#endif
-    DCHECK(!string.IsNull());
-    v8::Isolate::GetCurrent()->AdjustAmountOfExternalAllocatedMemory(
-        string.CharactersSizeInBytes());
-  }
-
-  explicit WebCoreStringResourceBase(const AtomicString& string)
-      : plain_string_(string.GetString()), atomic_string_(string) {
-#if DCHECK_IS_ON()
-    thread_id_ = WTF::CurrentThread();
-#endif
-    DCHECK(!string.IsNull());
-    v8::Isolate::GetCurrent()->AdjustAmountOfExternalAllocatedMemory(
-        string.CharactersSizeInBytes());
-  }
-
-  virtual ~WebCoreStringResourceBase() {
-#if DCHECK_IS_ON()
-    DCHECK_EQ(thread_id_, WTF::CurrentThread());
-#endif
-    int64_t reduced_external_memory = plain_string_.CharactersSizeInBytes();
-    if (plain_string_.Impl() != atomic_string_.Impl() &&
-        !atomic_string_.IsNull())
-      reduced_external_memory += atomic_string_.CharactersSizeInBytes();
-    v8::Isolate::GetCurrent()->AdjustAmountOfExternalAllocatedMemory(
-        -reduced_external_memory);
-  }
-
-  const String& WebcoreString() { return plain_string_; }
-
-  const AtomicString& GetAtomicString() {
-#if DCHECK_IS_ON()
-    DCHECK_EQ(thread_id_, WTF::CurrentThread());
-#endif
-    if (atomic_string_.IsNull()) {
-      atomic_string_ = AtomicString(plain_string_);
-      DCHECK(!atomic_string_.IsNull());
-      if (plain_string_.Impl() != atomic_string_.Impl())
-        v8::Isolate::GetCurrent()->AdjustAmountOfExternalAllocatedMemory(
-            atomic_string_.CharactersSizeInBytes());
-    }
-    return atomic_string_;
-  }
-
- protected:
-  // A shallow copy of the string. Keeps the string buffer alive until the V8
-  // engine garbage collects it.
-  String plain_string_;
-  // If this string is atomic or has been made atomic earlier the
-  // atomic string is held here. In the case where the string starts
-  // off non-atomic and becomes atomic later it is necessary to keep
-  // the original string alive because v8 may keep derived pointers
-  // into that string.
-  AtomicString atomic_string_;
-
- private:
-#if DCHECK_IS_ON()
-  WTF::ThreadIdentifier thread_id_;
-#endif
-};
-
-class WebCoreStringResource16 final
-    : public WebCoreStringResourceBase,
-      public v8::String::ExternalStringResource {
-  WTF_MAKE_NONCOPYABLE(WebCoreStringResource16);
-
- public:
-  explicit WebCoreStringResource16(const String& string)
-      : WebCoreStringResourceBase(string) {
-    DCHECK(!string.Is8Bit());
-  }
-
-  explicit WebCoreStringResource16(const AtomicString& string)
-      : WebCoreStringResourceBase(string) {
-    DCHECK(!string.Is8Bit());
-  }
-
-  size_t length() const override { return plain_string_.Impl()->length(); }
-  const uint16_t* data() const override {
-    return reinterpret_cast<const uint16_t*>(
-        plain_string_.Impl()->Characters16());
-  }
-};
-
-class WebCoreStringResource8 final
-    : public WebCoreStringResourceBase,
-      public v8::String::ExternalOneByteStringResource {
-  WTF_MAKE_NONCOPYABLE(WebCoreStringResource8);
-
- public:
-  explicit WebCoreStringResource8(const String& string)
-      : WebCoreStringResourceBase(string) {
-    DCHECK(string.Is8Bit());
-  }
-
-  explicit WebCoreStringResource8(const AtomicString& string)
-      : WebCoreStringResourceBase(string) {
-    DCHECK(string.Is8Bit());
-  }
-
-  size_t length() const override { return plain_string_.Impl()->length(); }
-  const char* data() const override {
-    return reinterpret_cast<const char*>(plain_string_.Impl()->Characters8());
-  }
-};
-
-enum ExternalMode { kExternalize, kDoNotExternalize };
-
-template <typename StringType>
-CORE_EXPORT StringType V8StringToWebCoreString(v8::Local<v8::String>,
-                                               ExternalMode);
-CORE_EXPORT String Int32ToWebCoreString(int value);
-
 // V8StringResource is an adapter class that converts V8 values to Strings
 // or AtomicStrings as appropriate, using multiple typecast operators.
 enum V8StringResourceMode {
diff --git a/third_party/WebKit/Source/bindings/core/v8/V8ValueCache.cpp b/third_party/WebKit/Source/bindings/core/v8/V8ValueCache.cpp
index 88045e5e..da82a027 100644
--- a/third_party/WebKit/Source/bindings/core/v8/V8ValueCache.cpp
+++ b/third_party/WebKit/Source/bindings/core/v8/V8ValueCache.cpp
@@ -70,8 +70,7 @@
 static v8::Local<v8::String> MakeExternalString(v8::Isolate* isolate,
                                                 const String& string) {
   if (string.Is8Bit()) {
-    WebCoreStringResource8* string_resource =
-        new WebCoreStringResource8(string);
+    StringResource8* string_resource = new StringResource8(string);
     v8::Local<v8::String> new_string;
     if (!v8::String::NewExternalOneByte(isolate, string_resource)
              .ToLocal(&new_string)) {
@@ -81,8 +80,7 @@
     return new_string;
   }
 
-  WebCoreStringResource16* string_resource =
-      new WebCoreStringResource16(string);
+  StringResource16* string_resource = new StringResource16(string);
   v8::Local<v8::String> new_string;
   if (!v8::String::NewExternalTwoByte(isolate, string_resource)
            .ToLocal(&new_string)) {
diff --git a/third_party/WebKit/Source/bindings/core/v8/WindowProxy.h b/third_party/WebKit/Source/bindings/core/v8/WindowProxy.h
index 79bcbb5..60b6ebf1 100644
--- a/third_party/WebKit/Source/bindings/core/v8/WindowProxy.h
+++ b/third_party/WebKit/Source/bindings/core/v8/WindowProxy.h
@@ -76,7 +76,7 @@
 // security checks for same-origin/cross-origin access to the Window interface.
 // When the check passes (i.e. the access is same-origin), the access is
 // forwarded to the inner global object of the active Document in this
-// WindowProxy's Frame).
+// WindowProxy's Frame.
 //
 // When the security check fails, the access is delegated to the outer global
 // proxy's cross-origin interceptors. The cross-origin interceptors may choose
diff --git a/third_party/WebKit/Source/bindings/core/v8/WrapperTypeInfo.h b/third_party/WebKit/Source/bindings/core/v8/WrapperTypeInfo.h
index 7fd0ba86..cc6597c 100644
--- a/third_party/WebKit/Source/bindings/core/v8/WrapperTypeInfo.h
+++ b/third_party/WebKit/Source/bindings/core/v8/WrapperTypeInfo.h
@@ -180,8 +180,8 @@
   const WrapperTypeInfo* parent_class;
   const unsigned wrapper_type_prototype : 1;  // WrapperTypePrototype
   const unsigned wrapper_class_id : 2;        // WrapperClassId
-  const unsigned
-      active_script_wrappable_inheritance : 1;  // ActiveScriptWrappableInheritance
+  const unsigned  // ActiveScriptWrappableInheritance
+      active_script_wrappable_inheritance : 1;
   const unsigned lifetime : 1;                // Lifetime
 };
 
@@ -199,6 +199,8 @@
       wrapper->GetAlignedPointerFromInternalField(offset));
 }
 
+// The return value can be null if |wrapper| is a global proxy, which points to
+// nothing while a navigation.
 inline ScriptWrappable* ToScriptWrappable(
     const v8::PersistentBase<v8::Object>& wrapper) {
   return GetInternalField<ScriptWrappable, kV8DOMWrapperObjectIndex>(wrapper);
diff --git a/third_party/WebKit/Source/build/scripts/make_event_factory.py b/third_party/WebKit/Source/build/scripts/make_event_factory.py
index edef99a..5e7e933 100755
--- a/third_party/WebKit/Source/build/scripts/make_event_factory.py
+++ b/third_party/WebKit/Source/build/scripts/make_event_factory.py
@@ -92,7 +92,6 @@
             or name == 'TrackEvent'
             or name == 'TransitionEvent'
             or name == 'WebGLContextEvent'
-            or name == 'WebKitTransitionEvent'
             or name == 'WheelEvent')
 
 
diff --git a/third_party/WebKit/Source/core/BUILD.gn b/third_party/WebKit/Source/core/BUILD.gn
index c9234d8..7cfac542 100644
--- a/third_party/WebKit/Source/core/BUILD.gn
+++ b/third_party/WebKit/Source/core/BUILD.gn
@@ -1314,6 +1314,7 @@
     "layout/api/SelectionStateTest.cpp",
     "layout/compositing/CompositedLayerMappingTest.cpp",
     "layout/compositing/CompositingReasonFinderTest.cpp",
+    "layout/compositing/PaintLayerCompositorTest.cpp",
     "layout/line/InlineBoxTest.cpp",
     "layout/line/InlineTextBoxTest.cpp",
     "layout/ng/geometry/ng_box_strut_test.cc",
diff --git a/third_party/WebKit/Source/core/DEPS b/third_party/WebKit/Source/core/DEPS
index f1ec5796..c81ff79 100644
--- a/third_party/WebKit/Source/core/DEPS
+++ b/third_party/WebKit/Source/core/DEPS
@@ -13,7 +13,4 @@
     "-public/web",
     "+third_party/skia/include",
     "-web",
-
-    # Use platform/wtf/ now (see crbug.com/691465).
-    "-wtf",
 ]
diff --git a/third_party/WebKit/Source/core/animation/css/CSSAnimationUpdate.h b/third_party/WebKit/Source/core/animation/css/CSSAnimationUpdate.h
index 89356053..2854d0b 100644
--- a/third_party/WebKit/Source/core/animation/css/CSSAnimationUpdate.h
+++ b/third_party/WebKit/Source/core/animation/css/CSSAnimationUpdate.h
@@ -238,15 +238,15 @@
 
   void AdoptActiveInterpolationsForAnimations(
       ActiveInterpolationsMap& new_map) {
-    new_map.Swap(active_interpolations_for_animations_);
+    new_map.swap(active_interpolations_for_animations_);
   }
   void AdoptActiveInterpolationsForCustomTransitions(
       ActiveInterpolationsMap& new_map) {
-    new_map.Swap(active_interpolations_for_custom_transitions_);
+    new_map.swap(active_interpolations_for_custom_transitions_);
   }
   void AdoptActiveInterpolationsForStandardTransitions(
       ActiveInterpolationsMap& new_map) {
-    new_map.Swap(active_interpolations_for_standard_transitions_);
+    new_map.swap(active_interpolations_for_standard_transitions_);
   }
   const ActiveInterpolationsMap& ActiveInterpolationsForAnimations() const {
     return active_interpolations_for_animations_;
diff --git a/third_party/WebKit/Source/core/animation/css/CSSAnimations.cpp b/third_party/WebKit/Source/core/animation/css/CSSAnimations.cpp
index 8440cb6..3dacad96 100644
--- a/third_party/WebKit/Source/core/animation/css/CSSAnimations.cpp
+++ b/third_party/WebKit/Source/core/animation/css/CSSAnimations.cpp
@@ -437,7 +437,7 @@
   if (pending_update_.IsEmpty())
     return;
 
-  previous_active_interpolations_for_animations_.Swap(
+  previous_active_interpolations_for_animations_.swap(
       pending_update_.ActiveInterpolationsForAnimations());
 
   // FIXME: cancelling, pausing, unpausing animations all query
diff --git a/third_party/WebKit/Source/core/css/CSSProperties.json5 b/third_party/WebKit/Source/core/css/CSSProperties.json5
index eccec54..a3217e9b 100644
--- a/third_party/WebKit/Source/core/css/CSSProperties.json5
+++ b/third_party/WebKit/Source/core/css/CSSProperties.json5
@@ -843,7 +843,7 @@
       inherited: true,
       default_value: "top",
       field_template: "keyword",
-      keywords: ["top", "bottom", "left", "right"],
+      keywords: ["top", "bottom"],
     },
     {
       name: "caret-color",
diff --git a/third_party/WebKit/Source/core/css/CSSStyleSheet.cpp b/third_party/WebKit/Source/core/css/CSSStyleSheet.cpp
index e877e17..7a125fe 100644
--- a/third_party/WebKit/Source/core/css/CSSStyleSheet.cpp
+++ b/third_party/WebKit/Source/core/css/CSSStyleSheet.cpp
@@ -312,14 +312,6 @@
   return index;
 }
 
-unsigned CSSStyleSheet::insertRule(const String& rule,
-                                   ExceptionState& exception_state) {
-  Deprecation::CountDeprecation(
-      CurrentExecutionContext(V8PerIsolateData::MainThreadIsolate()),
-      UseCounter::kCSSStyleSheetInsertRuleOptionalArg);
-  return insertRule(rule, 0, exception_state);
-}
-
 void CSSStyleSheet::deleteRule(unsigned index,
                                ExceptionState& exception_state) {
   DCHECK(child_rule_cssom_wrappers_.IsEmpty() ||
diff --git a/third_party/WebKit/Source/core/css/CSSStyleSheet.h b/third_party/WebKit/Source/core/css/CSSStyleSheet.h
index 9181e7c7..d7fc6ad 100644
--- a/third_party/WebKit/Source/core/css/CSSStyleSheet.h
+++ b/third_party/WebKit/Source/core/css/CSSStyleSheet.h
@@ -74,7 +74,6 @@
 
   CSSRuleList* cssRules();
   unsigned insertRule(const String& rule, unsigned index, ExceptionState&);
-  unsigned insertRule(const String& rule, ExceptionState&);  // Deprecated.
   void deleteRule(unsigned index, ExceptionState&);
 
   // IE Extensions
diff --git a/third_party/WebKit/Source/core/css/CSSStyleSheet.idl b/third_party/WebKit/Source/core/css/CSSStyleSheet.idl
index 9e51b16..52fa6a0 100644
--- a/third_party/WebKit/Source/core/css/CSSStyleSheet.idl
+++ b/third_party/WebKit/Source/core/css/CSSStyleSheet.idl
@@ -25,8 +25,7 @@
 ] interface CSSStyleSheet : StyleSheet {
     readonly attribute CSSRule? ownerRule;
     [SameObject] readonly attribute CSSRuleList cssRules;
-    // TODO(foolip): The index argument should not be optional. crbug.com/319695
-    [RaisesException] unsigned long insertRule(DOMString rule, optional unsigned long index);
+    [RaisesException] unsigned long insertRule(DOMString rule, optional unsigned long index = 0);
     [RaisesException] void deleteRule(unsigned long index);
 
     // Non-standard APIs
diff --git a/third_party/WebKit/Source/core/css/FontFaceCache.cpp b/third_party/WebKit/Source/core/css/FontFaceCache.cpp
index f6d48176..0aad6ab 100644
--- a/third_party/WebKit/Source/core/css/FontFaceCache.cpp
+++ b/third_party/WebKit/Source/core/css/FontFaceCache.cpp
@@ -124,7 +124,7 @@
   font_faces_.Clear();
   fonts_.Clear();
   style_rule_to_font_face_.Clear();
-  css_connected_font_faces_.Clear();
+  css_connected_font_faces_.clear();
   IncrementVersion();
 }
 
diff --git a/third_party/WebKit/Source/core/css/FontFaceSet.cpp b/third_party/WebKit/Source/core/css/FontFaceSet.cpp
index adb3661..336455b 100644
--- a/third_party/WebKit/Source/core/css/FontFaceSet.cpp
+++ b/third_party/WebKit/Source/core/css/FontFaceSet.cpp
@@ -287,7 +287,7 @@
     if (font_face->LoadStatus() == FontFace::kLoading)
       RemoveFromLoadingFonts(font_face);
   }
-  non_css_connected_faces_.Clear();
+  non_css_connected_faces_.clear();
   font_selector->FontFaceInvalidated();
 }
 
diff --git a/third_party/WebKit/Source/core/css/MediaQueryList.cpp b/third_party/WebKit/Source/core/css/MediaQueryList.cpp
index 7af7342..c8d8670cb3 100644
--- a/third_party/WebKit/Source/core/css/MediaQueryList.cpp
+++ b/third_party/WebKit/Source/core/css/MediaQueryList.cpp
@@ -85,7 +85,7 @@
 }
 
 void MediaQueryList::ContextDestroyed(ExecutionContext*) {
-  listeners_.Clear();
+  listeners_.clear();
   RemoveAllEventListeners();
 }
 
diff --git a/third_party/WebKit/Source/core/css/parser/CSSParserFastPaths.cpp b/third_party/WebKit/Source/core/css/parser/CSSParserFastPaths.cpp
index 677a497..aa30b74 100644
--- a/third_party/WebKit/Source/core/css/parser/CSSParserFastPaths.cpp
+++ b/third_party/WebKit/Source/core/css/parser/CSSParserFastPaths.cpp
@@ -536,8 +536,7 @@
       return value_id == CSSValueAuto || value_id == CSSValueDynamic ||
              value_id == CSSValueStatic;
     case CSSPropertyCaptionSide:
-      return value_id == CSSValueLeft || value_id == CSSValueRight ||
-             value_id == CSSValueTop || value_id == CSSValueBottom;
+      return value_id == CSSValueTop || value_id == CSSValueBottom;
     case CSSPropertyClear:
       return value_id == CSSValueNone || value_id == CSSValueLeft ||
              value_id == CSSValueRight || value_id == CSSValueBoth;
diff --git a/third_party/WebKit/Source/core/css/resolver/StyleRuleUsageTracker.cpp b/third_party/WebKit/Source/core/css/resolver/StyleRuleUsageTracker.cpp
index 7e13ff2f..fc90f85 100644
--- a/third_party/WebKit/Source/core/css/resolver/StyleRuleUsageTracker.cpp
+++ b/third_party/WebKit/Source/core/css/resolver/StyleRuleUsageTracker.cpp
@@ -11,7 +11,7 @@
 
 StyleRuleUsageTracker::RuleListByStyleSheet StyleRuleUsageTracker::TakeDelta() {
   RuleListByStyleSheet result;
-  result.Swap(used_rules_delta_);
+  result.swap(used_rules_delta_);
   return result;
 }
 
diff --git a/third_party/WebKit/Source/core/dom/AncestorList.h b/third_party/WebKit/Source/core/dom/AncestorList.h
new file mode 100644
index 0000000..1eb020e
--- /dev/null
+++ b/third_party/WebKit/Source/core/dom/AncestorList.h
@@ -0,0 +1,22 @@
+// 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 AncestorList_h
+#define AncestorList_h
+
+#include "platform/weborigin/KURL.h"
+#include "platform/weborigin/KURLHash.h"
+#include "platform/wtf/HashSet.h"
+
+namespace blink {
+
+// Maps to "ancestor list" concept referenced in multiple module script
+// algorithms.
+// Example:
+// https://html.spec.whatwg.org/#internal-module-script-graph-fetching-procedure
+using AncestorList = HashSet<KURL>;
+
+}  // namespace blink
+
+#endif
diff --git a/third_party/WebKit/Source/core/dom/BUILD.gn b/third_party/WebKit/Source/core/dom/BUILD.gn
index 496dab61..01139383 100644
--- a/third_party/WebKit/Source/core/dom/BUILD.gn
+++ b/third_party/WebKit/Source/core/dom/BUILD.gn
@@ -12,6 +12,7 @@
     "AXObjectCache.h",
     "AccessibleNode.cpp",
     "AccessibleNode.h",
+    "AncestorList.h",
     "AnimationWorkletProxyClient.h",
     "Attr.cpp",
     "Attr.h",
diff --git a/third_party/WebKit/Source/core/dom/Document.cpp b/third_party/WebKit/Source/core/dom/Document.cpp
index 9e6b7c3..a289eda 100644
--- a/third_party/WebKit/Source/core/dom/Document.cpp
+++ b/third_party/WebKit/Source/core/dom/Document.cpp
@@ -2422,7 +2422,7 @@
     return;
 
   HeapHashSet<Member<SVGUseElement>> elements;
-  use_elements_needing_update_.Swap(elements);
+  use_elements_needing_update_.swap(elements);
   for (SVGUseElement* element : elements)
     element->BuildPendingResource();
 }
@@ -5314,6 +5314,13 @@
                                                         name);
 }
 
+LocalDOMWindow* Document::defaultView() const {
+  // The HTML spec requires to return null if the document is detached from the
+  // DOM.  However, |dom_window_| is not cleared on the detachment.  So, we need
+  // to check |frame_| to tell whether the document is attached or not.
+  return frame_ ? dom_window_ : nullptr;
+}
+
 void Document::FinishedParsing() {
   DCHECK(!GetScriptableDocumentParser() || !parser_->IsParsing());
   DCHECK(!GetScriptableDocumentParser() || ready_state_ != kLoading);
diff --git a/third_party/WebKit/Source/core/dom/Document.h b/third_party/WebKit/Source/core/dom/Document.h
index 5478be0..a81650c 100644
--- a/third_party/WebKit/Source/core/dom/Document.h
+++ b/third_party/WebKit/Source/core/dom/Document.h
@@ -408,6 +408,9 @@
   HTMLCollection* WindowNamedItems(const AtomicString& name);
   DocumentNameCollection* DocumentNamedItems(const AtomicString& name);
 
+  // "defaultView" attribute defined in HTML spec.
+  LocalDOMWindow* defaultView() const;
+
   bool IsHTMLDocument() const { return document_classes_ & kHTMLDocumentClass; }
   bool IsXHTMLDocument() const {
     return document_classes_ & kXHTMLDocumentClass;
diff --git a/third_party/WebKit/Source/core/dom/Document.idl b/third_party/WebKit/Source/core/dom/Document.idl
index 41e4115..136ae2c 100644
--- a/third_party/WebKit/Source/core/dom/Document.idl
+++ b/third_party/WebKit/Source/core/dom/Document.idl
@@ -119,7 +119,7 @@
     [CallWith=EnteredWindow, CEReactions, CustomElementCallbacks, RaisesException] void writeln(DOMString... text);
 
     // user interaction
-    [ImplementedAs=domWindow] readonly attribute Window? defaultView;
+    readonly attribute Window? defaultView;
     boolean hasFocus();
     [CEReactions, CustomElementCallbacks, MeasureAs=DocumentDesignMode] attribute DOMString designMode;
     [CEReactions, CustomElementCallbacks, RaisesException] boolean execCommand(DOMString commandId, optional boolean showUI = false, optional DOMString value = "");
diff --git a/third_party/WebKit/Source/core/dom/DocumentLifecycle.cpp b/third_party/WebKit/Source/core/dom/DocumentLifecycle.cpp
index d420fd4..c66e3fb 100644
--- a/third_party/WebKit/Source/core/dom/DocumentLifecycle.cpp
+++ b/third_party/WebKit/Source/core/dom/DocumentLifecycle.cpp
@@ -206,7 +206,22 @@
       break;
     case kInCompositingUpdate:
       DCHECK(!RuntimeEnabledFeatures::slimmingPaintV2Enabled());
-      return next_state == kCompositingClean;
+      // Once we are in the compositing update, we can either just clean the
+      // inputs or do the whole of compositing.
+      return next_state == kCompositingInputsClean ||
+             next_state == kCompositingClean;
+    case kCompositingInputsClean:
+      DCHECK(!RuntimeEnabledFeatures::slimmingPaintV2Enabled());
+      // We can return to style re-calc, layout, or the start of compositing.
+      if (next_state == kInStyleRecalc)
+        return true;
+      if (next_state == kInPreLayout)
+        return true;
+      if (next_state == kInCompositingUpdate)
+        return true;
+      // Otherwise, we can continue onwards.
+      if (next_state == kCompositingClean)
+        return true;
     case kCompositingClean:
       DCHECK(!RuntimeEnabledFeatures::slimmingPaintV2Enabled());
       if (next_state == kInStyleRecalc)
@@ -287,10 +302,12 @@
       state_ == g_deprecated_transition_stack->From() &&
       next_state == g_deprecated_transition_stack->To())
     return true;
+  // TODO(smcgruer): Not sure if this is correct.
   return state_ == kStyleClean || state_ == kLayoutSubtreeChangeClean ||
          state_ == kAfterPerformLayout || state_ == kLayoutClean ||
-         state_ == kCompositingClean || state_ == kPaintInvalidationClean ||
-         state_ == kPrePaintClean || state_ == kPaintClean;
+         state_ == kCompositingInputsClean || state_ == kCompositingClean ||
+         state_ == kPaintInvalidationClean || state_ == kPrePaintClean ||
+         state_ == kPaintClean;
 }
 
 #define DEBUG_STRING_CASE(StateName) \
@@ -312,6 +329,7 @@
     DEBUG_STRING_CASE(kAfterPerformLayout);
     DEBUG_STRING_CASE(kLayoutClean);
     DEBUG_STRING_CASE(kInCompositingUpdate);
+    DEBUG_STRING_CASE(kCompositingInputsClean);
     DEBUG_STRING_CASE(kCompositingClean);
     DEBUG_STRING_CASE(kInPaintInvalidation);
     DEBUG_STRING_CASE(kPaintInvalidationClean);
diff --git a/third_party/WebKit/Source/core/dom/DocumentLifecycle.h b/third_party/WebKit/Source/core/dom/DocumentLifecycle.h
index fe0f1e7f..62b979c8 100644
--- a/third_party/WebKit/Source/core/dom/DocumentLifecycle.h
+++ b/third_party/WebKit/Source/core/dom/DocumentLifecycle.h
@@ -67,6 +67,7 @@
     kLayoutClean,
 
     kInCompositingUpdate,
+    kCompositingInputsClean,
     kCompositingClean,
 
     kInPaintInvalidation,
@@ -245,9 +246,9 @@
   return state_ == kVisualUpdatePending || state_ == kInStyleRecalc ||
          state_ == kStyleClean || state_ == kLayoutSubtreeChangeClean ||
          state_ == kInPreLayout || state_ == kLayoutClean ||
-         state_ == kCompositingClean || state_ == kPaintInvalidationClean ||
-         state_ == kPrePaintClean || state_ == kPaintClean ||
-         state_ == kStopping;
+         state_ == kCompositingInputsClean || state_ == kCompositingClean ||
+         state_ == kPaintInvalidationClean || state_ == kPrePaintClean ||
+         state_ == kPaintClean || state_ == kStopping;
 }
 
 inline bool DocumentLifecycle::StateAllowsLayoutInvalidation() const {
diff --git a/third_party/WebKit/Source/core/dom/DocumentOrderedList.h b/third_party/WebKit/Source/core/dom/DocumentOrderedList.h
index ec497f7..540c3d4 100644
--- a/third_party/WebKit/Source/core/dom/DocumentOrderedList.h
+++ b/third_party/WebKit/Source/core/dom/DocumentOrderedList.h
@@ -47,7 +47,7 @@
   void Add(Node*);
   void Remove(const Node*);
   bool IsEmpty() const { return nodes_.IsEmpty(); }
-  void Clear() { nodes_.Clear(); }
+  void Clear() { nodes_.clear(); }
   size_t size() const { return nodes_.size(); }
 
   using iterator = HeapListHashSet<Member<Node>, 32>::iterator;
diff --git a/third_party/WebKit/Source/core/dom/DocumentUserGestureTokenTest.cpp b/third_party/WebKit/Source/core/dom/DocumentUserGestureTokenTest.cpp
index 22087ed..2332b3e8 100644
--- a/third_party/WebKit/Source/core/dom/DocumentUserGestureTokenTest.cpp
+++ b/third_party/WebKit/Source/core/dom/DocumentUserGestureTokenTest.cpp
@@ -50,7 +50,8 @@
 
   // Navigate to a different Document. In the main frame, user gesture state
   // will get reset.
-  GetDocument().GetFrame()->Loader().Load(FrameLoadRequest(nullptr, KURL()));
+  GetDocument().GetFrame()->Loader().Load(
+      FrameLoadRequest(nullptr, ResourceRequest()));
   EXPECT_FALSE(GetDocument().GetFrame()->HasReceivedUserGesture());
 }
 
diff --git a/third_party/WebKit/Source/core/dom/Element.cpp b/third_party/WebKit/Source/core/dom/Element.cpp
index 40486270..3bceecac 100644
--- a/third_party/WebKit/Source/core/dom/Element.cpp
+++ b/third_party/WebKit/Source/core/dom/Element.cpp
@@ -4016,7 +4016,7 @@
   const StylePropertySet* inline_style = this->InlineStyle();
   const_cast<Element*>(this)->SetSynchronizedLazyAttribute(
       styleAttr,
-      inline_style ? AtomicString(inline_style->AsText()) : g_null_atom);
+      inline_style ? AtomicString(inline_style->AsText()) : g_empty_atom);
 }
 
 CSSStyleDeclaration* Element::style() {
diff --git a/third_party/WebKit/Source/core/dom/IntersectionObserver.cpp b/third_party/WebKit/Source/core/dom/IntersectionObserver.cpp
index 4c6f801..d64351d 100644
--- a/third_party/WebKit/Source/core/dom/IntersectionObserver.cpp
+++ b/third_party/WebKit/Source/core/dom/IntersectionObserver.cpp
@@ -280,7 +280,7 @@
 void IntersectionObserver::disconnect(ExceptionState& exception_state) {
   for (auto& observation : observations_)
     observation->Disconnect();
-  observations_.Clear();
+  observations_.clear();
   entries_.Clear();
 }
 
diff --git a/third_party/WebKit/Source/core/dom/IntersectionObserverController.cpp b/third_party/WebKit/Source/core/dom/IntersectionObserverController.cpp
index eec2bfb..89a91b6e 100644
--- a/third_party/WebKit/Source/core/dom/IntersectionObserverController.cpp
+++ b/third_party/WebKit/Source/core/dom/IntersectionObserverController.cpp
@@ -66,7 +66,7 @@
     return;
   }
   HeapHashSet<Member<IntersectionObserver>> observers;
-  pending_intersection_observers_.Swap(observers);
+  pending_intersection_observers_.swap(observers);
   for (auto& observer : observers)
     observer->Deliver();
 }
diff --git a/third_party/WebKit/Source/core/dom/Modulator.h b/third_party/WebKit/Source/core/dom/Modulator.h
index f6f34ec..e3a00c5 100644
--- a/third_party/WebKit/Source/core/dom/Modulator.h
+++ b/third_party/WebKit/Source/core/dom/Modulator.h
@@ -8,6 +8,7 @@
 #include "bindings/core/v8/ScriptWrappable.h"
 #include "bindings/core/v8/V8PerContextData.h"
 #include "core/CoreExport.h"
+#include "core/dom/AncestorList.h"
 #include "platform/heap/Handle.h"
 #include "platform/loader/fetch/AccessControlStatus.h"
 #include "platform/weborigin/KURL.h"
@@ -29,11 +30,18 @@
 // A SingleModuleClient is notified when single module script node (node as in a
 // module tree graph) load is complete and its corresponding entry is created in
 // module map.
-class SingleModuleClient : public GarbageCollectedMixin {
+class CORE_EXPORT SingleModuleClient : public GarbageCollectedMixin {
  public:
   virtual void NotifyModuleLoadFinished(ModuleScript*) = 0;
 };
 
+// A ModuleTreeClient is notified when a module script and its whole descendent
+// tree load is complete.
+class CORE_EXPORT ModuleTreeClient : public GarbageCollectedMixin {
+ public:
+  virtual void NotifyModuleTreeLoadFinished(ModuleScript*) = 0;
+};
+
 // spec: "top-level module fetch flag"
 // https://html.spec.whatwg.org/multipage/webappapis.html#fetching-scripts-is-top-level
 enum class ModuleGraphLevel { kTopLevelModuleFetch, kDependentModuleFetch };
@@ -62,6 +70,23 @@
   virtual ReferrerPolicy GetReferrerPolicy() = 0;
   virtual SecurityOrigin* GetSecurityOrigin() = 0;
 
+  // https://html.spec.whatwg.org/multipage/webappapis.html#fetch-a-module-script-tree
+  virtual void FetchTree(const ModuleScriptFetchRequest&,
+                         ModuleTreeClient*) = 0;
+
+  // https://html.spec.whatwg.org/#internal-module-script-graph-fetching-procedure
+  virtual void FetchTreeInternal(const ModuleScriptFetchRequest&,
+                                 const AncestorList&,
+                                 ModuleGraphLevel,
+                                 ModuleTreeClient*) = 0;
+
+  // Asynchronously retrieve a module script from the module map, or fetch it
+  // and put it in the map if it's not there already.
+  // https://html.spec.whatwg.org/#fetch-a-single-module-script
+  virtual void FetchSingle(const ModuleScriptFetchRequest&,
+                           ModuleGraphLevel,
+                           SingleModuleClient*) = 0;
+
   // Synchronously retrieves a single module script from existing module map
   // entry.
   virtual ModuleScript* GetFetchedModuleScript(const KURL&) = 0;
diff --git a/third_party/WebKit/Source/core/dom/MutationObserverInterestGroup.cpp b/third_party/WebKit/Source/core/dom/MutationObserverInterestGroup.cpp
index 7922dbb..0ca7aa9 100644
--- a/third_party/WebKit/Source/core/dom/MutationObserverInterestGroup.cpp
+++ b/third_party/WebKit/Source/core/dom/MutationObserverInterestGroup.cpp
@@ -56,7 +56,7 @@
     MutationRecordDeliveryOptions old_value_flag)
     : old_value_flag_(old_value_flag) {
   DCHECK(!observers.IsEmpty());
-  observers_.Swap(observers);
+  observers_.swap(observers);
 }
 
 bool MutationObserverInterestGroup::IsOldValueRequested() {
diff --git a/third_party/WebKit/Source/core/dom/ScriptedAnimationController.cpp b/third_party/WebKit/Source/core/dom/ScriptedAnimationController.cpp
index 995fa08..3d1a4e00 100644
--- a/third_party/WebKit/Source/core/dom/ScriptedAnimationController.cpp
+++ b/third_party/WebKit/Source/core/dom/ScriptedAnimationController.cpp
@@ -93,7 +93,7 @@
   HeapVector<Member<Event>> events;
   if (event_interface_filter.IsEmpty()) {
     events.Swap(event_queue_);
-    per_frame_events_.Clear();
+    per_frame_events_.clear();
   } else {
     HeapVector<Member<Event>> remaining;
     for (auto& event : event_queue_) {
diff --git a/third_party/WebKit/Source/core/dom/shadow/DistributedNodes.cpp b/third_party/WebKit/Source/core/dom/shadow/DistributedNodes.cpp
index 5cdd66a49..93411f6 100644
--- a/third_party/WebKit/Source/core/dom/shadow/DistributedNodes.cpp
+++ b/third_party/WebKit/Source/core/dom/shadow/DistributedNodes.cpp
@@ -32,7 +32,7 @@
 
 void DistributedNodes::Swap(DistributedNodes& other) {
   nodes_.Swap(other.nodes_);
-  indices_.Swap(other.indices_);
+  indices_.swap(other.indices_);
 }
 
 void DistributedNodes::Append(Node* node) {
diff --git a/third_party/WebKit/Source/core/events/DOMWindowEventQueue.cpp b/third_party/WebKit/Source/core/events/DOMWindowEventQueue.cpp
index dcce5963..3c4f5a85 100644
--- a/third_party/WebKit/Source/core/events/DOMWindowEventQueue.cpp
+++ b/third_party/WebKit/Source/core/events/DOMWindowEventQueue.cpp
@@ -119,7 +119,7 @@
                                queued_event);
     }
   }
-  queued_events_.Clear();
+  queued_events_.clear();
 }
 
 void DOMWindowEventQueue::PendingEventTimerFired() {
diff --git a/third_party/WebKit/Source/core/events/TouchEvent.cpp b/third_party/WebKit/Source/core/events/TouchEvent.cpp
index 4b9ff8b..634c0f8 100644
--- a/third_party/WebKit/Source/core/events/TouchEvent.cpp
+++ b/third_party/WebKit/Source/core/events/TouchEvent.cpp
@@ -263,7 +263,7 @@
         if (view() && view()->GetFrame()) {
           UseCounter::Count(
               view()->GetFrame(),
-              UseCounter::kUncancellableTouchEventPreventDefaulted);
+              UseCounter::kUncancelableTouchEventPreventDefaulted);
         }
 
         if (native_event_ &&
@@ -275,7 +275,7 @@
             UseCounter::Count(
                 view()->GetFrame(),
                 UseCounter::
-                    kUncancellableTouchEventDueToMainThreadResponsivenessPreventDefaulted);
+                    kUncancelableTouchEventDueToMainThreadResponsivenessPreventDefaulted);
           }
           message_source = kInterventionMessageSource;
           warning_message =
diff --git a/third_party/WebKit/Source/core/events/TouchEventTest.cpp b/third_party/WebKit/Source/core/events/TouchEventTest.cpp
index 15d6d81d..e3e6ab8 100644
--- a/third_party/WebKit/Source/core/events/TouchEventTest.cpp
+++ b/third_party/WebKit/Source/core/events/TouchEventTest.cpp
@@ -86,11 +86,11 @@
   EXPECT_THAT(MessageSources(), ElementsAre(kJSMessageSource));
 
   EXPECT_TRUE(UseCounter::IsCounted(
-      GetDocument(), UseCounter::kUncancellableTouchEventPreventDefaulted));
+      GetDocument(), UseCounter::kUncancelableTouchEventPreventDefaulted));
   EXPECT_FALSE(UseCounter::IsCounted(
       GetDocument(),
       UseCounter::
-          kUncancellableTouchEventDueToMainThreadResponsivenessPreventDefaulted));
+          kUncancelableTouchEventDueToMainThreadResponsivenessPreventDefaulted));
 }
 
 TEST_F(TouchEventTest,
@@ -109,11 +109,11 @@
   EXPECT_THAT(MessageSources(), ElementsAre(kInterventionMessageSource));
 
   EXPECT_TRUE(UseCounter::IsCounted(
-      GetDocument(), UseCounter::kUncancellableTouchEventPreventDefaulted));
+      GetDocument(), UseCounter::kUncancelableTouchEventPreventDefaulted));
   EXPECT_TRUE(UseCounter::IsCounted(
       GetDocument(),
       UseCounter::
-          kUncancellableTouchEventDueToMainThreadResponsivenessPreventDefaulted));
+          kUncancelableTouchEventDueToMainThreadResponsivenessPreventDefaulted));
 }
 
 TEST_F(TouchEventTest,
diff --git a/third_party/WebKit/Source/core/frame/DOMWindow.cpp b/third_party/WebKit/Source/core/frame/DOMWindow.cpp
index c3b0748..dadbe0f 100644
--- a/third_party/WebKit/Source/core/frame/DOMWindow.cpp
+++ b/third_party/WebKit/Source/core/frame/DOMWindow.cpp
@@ -39,23 +39,31 @@
 DOMWindow::~DOMWindow() {
   // The frame must be disconnected before finalization.
   DCHECK(!frame_);
+
+  // Because the wrapper object of a DOMWindow is the global proxy, which may
+  // live much longer than the DOMWindow, we need to dissociate all wrappers
+  // for this instance.
+  DOMWrapperWorld::DissociateDOMWindowWrappersInAllWorlds(this);
 }
 
-v8::Local<v8::Object> DOMWindow::Wrap(v8::Isolate*,
+v8::Local<v8::Object> DOMWindow::Wrap(v8::Isolate* isolate,
                                       v8::Local<v8::Object> creation_context) {
-  LOG(FATAL) << "DOMWindow must never be wrapped with wrap method.  The "
-                "wrappers must be created at WindowProxy::createContext() and "
-                "setupWindowPrototypeChain().";
-  return v8::Local<v8::Object>();
+  // Notice that we explicitly ignore |creation_context| because the DOMWindow
+  // has its own creation context.
+
+  // TODO(yukishiino): Make this function always return the non-empty handle
+  // even if the frame is detached because the global proxy must always exist
+  // per spec.
+  return window_proxy_manager_
+      ->GetWindowProxy(DOMWrapperWorld::Current(isolate))
+      ->GlobalProxyIfNotDetached();
 }
 
 v8::Local<v8::Object> DOMWindow::AssociateWithWrapper(
     v8::Isolate*,
     const WrapperTypeInfo*,
     v8::Local<v8::Object> wrapper) {
-  LOG(FATAL) << "DOMWindow must never be wrapped with wrap method.  The "
-                "wrappers must be created at WindowProxy::createContext() and "
-                "setupWindowPrototypeChain().";
+  NOTREACHED();
   return v8::Local<v8::Object>();
 }
 
@@ -437,14 +445,6 @@
                                                true /* notifyEmbedder */);
 }
 
-v8::Local<v8::Object> DOMWindow::GlobalProxy(DOMWrapperWorld& world) {
-  // TODO(yukishiino): Make this function always return the non-empty handle
-  // even if the frame is detached because the global proxy must always exist
-  // per spec.
-  return window_proxy_manager_->GetWindowProxy(world)
-      ->GlobalProxyIfNotDetached();
-}
-
 InputDeviceCapabilitiesConstants* DOMWindow::GetInputDeviceCapabilities() {
   if (!input_capabilities_)
     input_capabilities_ = new InputDeviceCapabilitiesConstants;
diff --git a/third_party/WebKit/Source/core/frame/DOMWindow.h b/third_party/WebKit/Source/core/frame/DOMWindow.h
index 445850e..54bda63 100644
--- a/third_party/WebKit/Source/core/frame/DOMWindow.h
+++ b/third_party/WebKit/Source/core/frame/DOMWindow.h
@@ -109,8 +109,6 @@
 
   bool isSecureContext() const;
 
-  v8::Local<v8::Object> GlobalProxy(DOMWrapperWorld&);
-
   InputDeviceCapabilitiesConstants* GetInputDeviceCapabilities();
 
  protected:
diff --git a/third_party/WebKit/Source/core/frame/Deprecation.cpp b/third_party/WebKit/Source/core/frame/Deprecation.cpp
index 279c1738..c754219 100644
--- a/third_party/WebKit/Source/core/frame/Deprecation.cpp
+++ b/third_party/WebKit/Source/core/frame/Deprecation.cpp
@@ -205,11 +205,6 @@
     case UseCounter::kConsoleMarkTimeline:
       return replacedBy("'console.markTimeline'", "'console.timeStamp'");
 
-    case UseCounter::kCSSStyleSheetInsertRuleOptionalArg:
-      return "Calling CSSStyleSheet.insertRule() with one argument is "
-             "deprecated. Please pass the index argument as well: "
-             "insertRule(x, 0).";
-
     case UseCounter::kPrefixedVideoSupportsFullscreen:
       return replacedBy("'HTMLVideoElement.webkitSupportsFullscreen'",
                         "'Document.fullscreenEnabled'");
@@ -385,16 +380,9 @@
       return replacedBy("VREyeParameters.offset",
                         "view matrices provided by VRFrameData");
 
-    case UseCounter::
-        kServiceWorkerRespondToNavigationRequestWithRedirectedResponse:
-      return String::Format(
-          "The service worker responded to the navigation request with a "
-          "redirected response. This will result in an error in %s.",
-          milestoneString(M59));
-
     case UseCounter::kCSSSelectorInternalMediaControlsOverlayCastButton:
       return willBeRemoved(
-          "-internal-media-controls-overlay-cast-button selector", M59,
+          "-internal-media-controls-overlay-cast-button selector", M61,
           "5714245488476160");
 
     case UseCounter::kCSSZoomReset:
@@ -448,6 +436,10 @@
       return willBeRemoved("RTCPeerConnection.getStreamById()", M62,
                            "5751819573657600");
 
+    case UseCounter::kV8SVGPathElement_GetPathSegAtLength_Method:
+      return willBeRemoved("SVGPathElement.getPathSegAtLength", M62,
+                           "5638783282184192");
+
     // Features that aren't deprecated don't have a deprecation message.
     default:
       return String();
diff --git a/third_party/WebKit/Source/core/frame/FrameView.cpp b/third_party/WebKit/Source/core/frame/FrameView.cpp
index 89193ab..75927b34 100644
--- a/third_party/WebKit/Source/core/frame/FrameView.cpp
+++ b/third_party/WebKit/Source/core/frame/FrameView.cpp
@@ -2463,7 +2463,7 @@
   // Need to swap because script will run inside the below loop and invalidate
   // the iterator.
   EmbeddedObjectSet objects;
-  objects.Swap(part_update_set_);
+  objects.swap(part_update_set_);
 
   for (const auto& embedded_object : objects) {
     LayoutEmbeddedObject& object = *embedded_object;
@@ -2926,6 +2926,14 @@
   }
 }
 
+void FrameView::UpdateLifecycleToCompositingInputsClean() {
+  // When SPv2 is enabled, the standard compositing lifecycle steps do not
+  // exist; compositing is done after paint instead.
+  DCHECK(!RuntimeEnabledFeatures::slimmingPaintV2Enabled());
+  GetFrame().LocalFrameRoot()->View()->UpdateLifecyclePhasesInternal(
+      DocumentLifecycle::kCompositingInputsClean);
+}
+
 void FrameView::UpdateAllLifecyclePhasesExceptPaint() {
   GetFrame().LocalFrameRoot()->View()->UpdateLifecyclePhasesInternal(
       DocumentLifecycle::kPrePaintClean);
@@ -3030,6 +3038,7 @@
 
   // Only the following target states are supported.
   DCHECK(target_state == DocumentLifecycle::kLayoutClean ||
+         target_state == DocumentLifecycle::kCompositingInputsClean ||
          target_state == DocumentLifecycle::kCompositingClean ||
          target_state == DocumentLifecycle::kPrePaintClean ||
          target_state == DocumentLifecycle::kPaintClean);
@@ -3079,7 +3088,7 @@
                    InspectorUpdateLayerTreeEvent::Data(frame_.Get()));
 
       if (!RuntimeEnabledFeatures::slimmingPaintV2Enabled()) {
-        view.Compositor()->UpdateIfNeededRecursive();
+        view.Compositor()->UpdateIfNeededRecursive(target_state);
       } else {
         ForAllNonThrottledFrameViews([](FrameView& frame_view) {
           frame_view.GetLayoutView()->Layer()->UpdateDescendantDependentFlags();
@@ -3087,6 +3096,12 @@
         });
       }
 
+      if (target_state == DocumentLifecycle::kCompositingInputsClean) {
+        DCHECK_EQ(Lifecycle().GetState(),
+                  DocumentLifecycle::kCompositingInputsClean);
+        return;
+      }
+
       ScrollContentsIfNeededRecursive();
       DCHECK(RuntimeEnabledFeatures::slimmingPaintInvalidationEnabled() ||
              Lifecycle().GetState() >= DocumentLifecycle::kCompositingClean);
@@ -3162,7 +3177,7 @@
       scroller->GetScrollAnchor()->Adjust();
     }
   }
-  anchoring_adjustment_queue_.Clear();
+  anchoring_adjustment_queue_.clear();
 }
 
 void FrameView::PrePaint() {
diff --git a/third_party/WebKit/Source/core/frame/FrameView.h b/third_party/WebKit/Source/core/frame/FrameView.h
index 6ee56bb0..05cff25 100644
--- a/third_party/WebKit/Source/core/frame/FrameView.h
+++ b/third_party/WebKit/Source/core/frame/FrameView.h
@@ -293,6 +293,11 @@
   // throttling is allowed).
   void UpdateLifecycleToCompositingCleanPlusScrolling();
 
+  // Computes the style, layout, and compositing inputs lifecycle stages if
+  // needed. After calling this method, all frames will be in a lifecycle state
+  // >= CompositingInputsClean (unless throttling is allowed).
+  void UpdateLifecycleToCompositingInputsClean();
+
   // Computes only the style and layout lifecycle stages.
   // After calling this method, all frames will be in a lifecycle
   // state >= LayoutClean (unless throttling is allowed).
diff --git a/third_party/WebKit/Source/core/frame/PRESUBMIT.py b/third_party/WebKit/Source/core/frame/PRESUBMIT.py
index 4d105e3..ec96ed4 100644
--- a/third_party/WebKit/Source/core/frame/PRESUBMIT.py
+++ b/third_party/WebKit/Source/core/frame/PRESUBMIT.py
@@ -72,13 +72,14 @@
     else:
         return []
 
-    START_MARKER = '^enum Feature : uint32_t {'
-    END_MARKER = '^NumberOfFeatures'
+    start_marker = '^enum Feature : uint32_t {'
+    end_marker = '^kNumberOfFeatures'
     should_update_histogram, duplicated_values = update_histogram_enum.HistogramNeedsUpdate(
         histogram_enum_name='FeatureObserver',
         source_enum_path=source_path,
-        start_marker=START_MARKER,
-        end_marker=END_MARKER)
+        start_marker=start_marker,
+        end_marker=end_marker,
+        strip_k_prefix=True)
     if duplicated_values:
         return [output_api.PresubmitPromptWarning(
             'UseCounter::Feature has been updated and there exists duplicated '
diff --git a/third_party/WebKit/Source/core/frame/RemoteFrame.cpp b/third_party/WebKit/Source/core/frame/RemoteFrame.cpp
index 77cfb88..553b3d1 100644
--- a/third_party/WebKit/Source/core/frame/RemoteFrame.cpp
+++ b/third_party/WebKit/Source/core/frame/RemoteFrame.cpp
@@ -53,7 +53,7 @@
                            const KURL& url,
                            bool replace_current_item,
                            UserGestureStatus user_gesture_status) {
-  FrameLoadRequest frame_request(&origin_document, url);
+  FrameLoadRequest frame_request(&origin_document, ResourceRequest(url));
   frame_request.SetReplacesCurrentItem(replace_current_item);
   frame_request.GetResourceRequest().SetHasUserGesture(
       user_gesture_status == UserGestureStatus::kActive);
diff --git a/third_party/WebKit/Source/core/frame/UseCounter.h b/third_party/WebKit/Source/core/frame/UseCounter.h
index de7bee3..c82c64a7 100644
--- a/third_party/WebKit/Source/core/frame/UseCounter.h
+++ b/third_party/WebKit/Source/core/frame/UseCounter.h
@@ -190,8 +190,6 @@
     kInputTypePassword = 192,
     kInputTypePasswordMaxLength = 193,
     kPrefixedPageVisibility = 196,
-    // Inconsistent with the specification and other browsers.
-    kCSSStyleSheetInsertRuleOptionalArg = 198,
     kDocumentBeforeUnloadRegistered = 200,
     kDocumentBeforeUnloadFired = 201,
     kDocumentUnloadRegistered = 202,
@@ -901,7 +899,6 @@
     kDocumentCreateEventTrackEvent = 1186,
     kDocumentCreateEventMutationEvents = 1188,
     kDocumentCreateEventSVGEvents = 1190,
-    kDocumentCreateEventWebKitTransitionEvent = 1191,
     kDocumentCreateEventDeviceMotionEvent = 1195,
     kDocumentCreateEventDeviceOrientationEvent = 1196,
     kDocumentCreateEventIDBVersionChangeEvent = 1201,
@@ -1428,9 +1425,8 @@
     kV8DeprecatedStorageQuota_QueryUsageAndQuota_Method = 1810,
     kV8DeprecatedStorageQuota_RequestQuota_Method = 1811,
     kV8FileReaderSync_Constructor = 1812,
-    kUncancellableTouchEventPreventDefaulted = 1813,
-    kUncancellableTouchEventDueToMainThreadResponsivenessPreventDefaulted =
-        1814,
+    kUncancelableTouchEventPreventDefaulted = 1813,
+    kUncancelableTouchEventDueToMainThreadResponsivenessPreventDefaulted = 1814,
     kV8HTMLVideoElement_Poster_AttributeGetter = 1815,
     kV8HTMLVideoElement_Poster_AttributeSetter = 1816,
     kNotificationPermissionRequestedIframe = 1817,
@@ -1458,6 +1454,8 @@
     kHTMLEmbedElementGetter = 1840,
     kHTMLEmbedElementSetter = 1841,
     kTransformUsesBoxSizeOnSVG = 1842,
+    // The above items are available in M58 branch.
+
     kScrollByKeyboardArrowKeys = 1843,
     kScrollByKeyboardPageUpDownKeys = 1844,
     kScrollByKeyboardHomeEndKeys = 1845,
@@ -1573,7 +1571,13 @@
     kMediaStreamConstraintsGoogDAEchoCancellation = 1958,
     kMediaStreamConstraintsGoogNoiseReduction = 1959,
     kMediaStreamConstraintsGoogPowerLineFrequency = 1960,
+    // The above items are available in M59 branch.
+
     kViewportFixedPositionUnderFilter = 1961,
+    kRequestMIDIAccessWithSysExOption = 1962,
+    kRequestMIDIAccessIframeWithSysExOption = 1963,
+    kGamepadAxes = 1964,
+    kGamepadButtons = 1965,
 
     // Add new features immediately above this line. Don't change assigned
     // numbers of any item, and don't reuse removed slots.
diff --git a/third_party/WebKit/Source/core/html/HTMLCanvasElement.cpp b/third_party/WebKit/Source/core/html/HTMLCanvasElement.cpp
index c16060d..32b5099 100644
--- a/third_party/WebKit/Source/core/html/HTMLCanvasElement.cpp
+++ b/third_party/WebKit/Source/core/html/HTMLCanvasElement.cpp
@@ -360,6 +360,10 @@
     context_->RestoreCanvasMatrixClipStack(canvas);
 }
 
+void HTMLCanvasElement::SetNeedsCompositingUpdate() {
+  Element::SetNeedsCompositingUpdate();
+}
+
 void HTMLCanvasElement::DoDeferredPaintInvalidation() {
   DCHECK(!dirty_rect_.IsEmpty());
   if (Is2d()) {
diff --git a/third_party/WebKit/Source/core/html/HTMLCanvasElement.h b/third_party/WebKit/Source/core/html/HTMLCanvasElement.h
index 0ca28af7..4aa2a41c 100644
--- a/third_party/WebKit/Source/core/html/HTMLCanvasElement.h
+++ b/third_party/WebKit/Source/core/html/HTMLCanvasElement.h
@@ -204,6 +204,7 @@
   void NotifySurfaceInvalid() override;
   void DidDisableAcceleration() override;
   void RestoreCanvasMatrixClipStack(PaintCanvas*) const override;
+  void SetNeedsCompositingUpdate() override;
 
   // ImageBitmapSource implementation
   IntSize BitmapSourceSize() const override;
diff --git a/third_party/WebKit/Source/core/html/HTMLFrameOwnerElement.cpp b/third_party/WebKit/Source/core/html/HTMLFrameOwnerElement.cpp
index f7cde74..67e3927 100644
--- a/third_party/WebKit/Source/core/html/HTMLFrameOwnerElement.cpp
+++ b/third_party/WebKit/Source/core/html/HTMLFrameOwnerElement.cpp
@@ -76,7 +76,7 @@
 void HTMLFrameOwnerElement::UpdateSuspendScope::
     PerformDeferredWidgetTreeOperations() {
   FrameViewBaseToParentMap map;
-  WidgetNewParentMap().Swap(map);
+  WidgetNewParentMap().swap(map);
   for (const auto& frame_view_base : map) {
     FrameViewBase* child = frame_view_base.key.Get();
     FrameView* current_parent = ToFrameView(child->Parent());
@@ -93,7 +93,7 @@
 
   {
     FrameViewBaseSet set;
-    WidgetsPendingTemporaryRemovalFromParent().Swap(set);
+    WidgetsPendingTemporaryRemovalFromParent().swap(set);
     for (const auto& frame_view_base : set) {
       FrameView* current_parent = ToFrameView(frame_view_base->Parent());
       if (current_parent)
@@ -331,8 +331,8 @@
       Page::kMaxNumberOfFrames)
     return false;
 
-  FrameLoadRequest frame_load_request(&GetDocument(), url, "_self",
-                                      kCheckContentSecurityPolicy);
+  FrameLoadRequest frame_load_request(&GetDocument(), ResourceRequest(url),
+                                      "_self", kCheckContentSecurityPolicy);
 
   ReferrerPolicy policy = ReferrerPolicyAttribute();
   if (policy != kReferrerPolicyDefault)
diff --git a/third_party/WebKit/Source/core/html/HTMLFrameOwnerElement.h b/third_party/WebKit/Source/core/html/HTMLFrameOwnerElement.h
index 2cd3ff21..07093ad8 100644
--- a/third_party/WebKit/Source/core/html/HTMLFrameOwnerElement.h
+++ b/third_party/WebKit/Source/core/html/HTMLFrameOwnerElement.h
@@ -23,6 +23,7 @@
 
 #include "core/CoreExport.h"
 #include "core/dom/Document.h"
+#include "core/frame/DOMWindow.h"
 #include "core/frame/FrameOwner.h"
 #include "core/html/HTMLElement.h"
 #include "platform/heap/Handle.h"
diff --git a/third_party/WebKit/Source/core/html/canvas/CanvasFontCache.cpp b/third_party/WebKit/Source/core/html/canvas/CanvasFontCache.cpp
index e5e7e5b..2e516e7 100644
--- a/third_party/WebKit/Source/core/html/canvas/CanvasFontCache.cpp
+++ b/third_party/WebKit/Source/core/html/canvas/CanvasFontCache.cpp
@@ -145,7 +145,7 @@
 
 void CanvasFontCache::PruneAll() {
   fetched_fonts_.Clear();
-  font_lru_list_.Clear();
+  font_lru_list_.clear();
   fonts_resolved_using_default_style_.Clear();
 }
 
diff --git a/third_party/WebKit/Source/core/inspector/DEPS b/third_party/WebKit/Source/core/inspector/DEPS
deleted file mode 100644
index eba58c8..0000000
--- a/third_party/WebKit/Source/core/inspector/DEPS
+++ /dev/null
@@ -1,4 +0,0 @@
-include_rules = [
-    # Use platform/wtf/ now (see crbug.com/691465).
-    "-wtf/",
-]
diff --git a/third_party/WebKit/Source/core/inspector/InspectorCSSAgent.cpp b/third_party/WebKit/Source/core/inspector/InspectorCSSAgent.cpp
index 009dd5c..991ca68 100644
--- a/third_party/WebKit/Source/core/inspector/InspectorCSSAgent.cpp
+++ b/third_party/WebKit/Source/core/inspector/InspectorCSSAgent.cpp
@@ -707,7 +707,7 @@
   if (!invalidated_documents_.size())
     return;
   HeapHashSet<Member<Document>> invalidated_documents;
-  invalidated_documents_.Swap(invalidated_documents);
+  invalidated_documents_.swap(invalidated_documents);
   for (Document* document : invalidated_documents)
     UpdateActiveStyleSheets(document);
 }
diff --git a/third_party/WebKit/Source/core/inspector/InspectorResourceContentLoader.cpp b/third_party/WebKit/Source/core/inspector/InspectorResourceContentLoader.cpp
index 7971b6c..4844b95 100644
--- a/third_party/WebKit/Source/core/inspector/InspectorResourceContentLoader.cpp
+++ b/third_party/WebKit/Source/core/inspector/InspectorResourceContentLoader.cpp
@@ -117,7 +117,7 @@
       resource_request = item->GenerateResourceRequest(
           WebCachePolicy::kReturnCacheDataDontLoad);
     } else {
-      resource_request = document->Url();
+      resource_request = ResourceRequest(document->Url());
       resource_request.SetCachePolicy(WebCachePolicy::kReturnCacheDataDontLoad);
     }
     resource_request.SetRequestContext(WebURLRequest::kRequestContextInternal);
@@ -206,7 +206,7 @@
 
 void InspectorResourceContentLoader::Stop() {
   HeapHashSet<Member<ResourceClient>> pending_resource_clients;
-  pending_resource_clients_.Swap(pending_resource_clients);
+  pending_resource_clients_.swap(pending_resource_clients);
   for (const auto& client : pending_resource_clients)
     client->loader_ = nullptr;
   resources_.Clear();
@@ -224,7 +224,7 @@
   if (!HasFinished())
     return;
   HashMap<int, Callbacks> callbacks;
-  callbacks.Swap(callbacks_);
+  callbacks.swap(callbacks_);
   for (const auto& key_value : callbacks) {
     for (const auto& callback : key_value.value)
       (*callback)();
diff --git a/third_party/WebKit/Source/core/inspector/NetworkResourcesData.cpp b/third_party/WebKit/Source/core/inspector/NetworkResourcesData.cpp
index 3a46dac3..5ee5dd90 100644
--- a/third_party/WebKit/Source/core/inspector/NetworkResourcesData.cpp
+++ b/third_party/WebKit/Source/core/inspector/NetworkResourcesData.cpp
@@ -392,7 +392,7 @@
         resource_data->LoaderId() == preserved_loader_id)
       preserved_map.Set(resource.key, resource.value);
   }
-  request_id_to_resource_data_map_.Swap(preserved_map);
+  request_id_to_resource_data_map_.swap(preserved_map);
 
   reused_xhr_replay_data_request_ids_.Clear();
 }
diff --git a/third_party/WebKit/Source/core/layout/FloatingObjects.cpp b/third_party/WebKit/Source/core/layout/FloatingObjects.cpp
index 9976202c7..adf467e8 100644
--- a/third_party/WebKit/Source/core/layout/FloatingObjects.cpp
+++ b/third_party/WebKit/Source/core/layout/FloatingObjects.cpp
@@ -319,7 +319,7 @@
       cached_horizontal_writing_mode_(false) {}
 
 void FloatingObjects::Clear() {
-  set_.Clear();
+  set_.clear();
   placed_floats_tree_.Clear();
   left_objects_count_ = 0;
   right_objects_count_ = 0;
diff --git a/third_party/WebKit/Source/core/layout/LayoutObject.h b/third_party/WebKit/Source/core/layout/LayoutObject.h
index dbb06ae2..7c67bcc 100644
--- a/third_party/WebKit/Source/core/layout/LayoutObject.h
+++ b/third_party/WebKit/Source/core/layout/LayoutObject.h
@@ -1662,7 +1662,7 @@
   bool ShouldDoFullPaintInvalidation() const {
     return bitfields_.FullPaintInvalidationReason() != kPaintInvalidationNone;
   }
-  virtual void SetShouldDoFullPaintInvalidation(
+  void SetShouldDoFullPaintInvalidation(
       PaintInvalidationReason = kPaintInvalidationFull);
   void SetShouldDoFullPaintInvalidationWithoutGeometryChange(
       PaintInvalidationReason = kPaintInvalidationFull);
diff --git a/third_party/WebKit/Source/core/layout/compositing/PaintLayerCompositor.cpp b/third_party/WebKit/Source/core/layout/compositing/PaintLayerCompositor.cpp
index ed65ace..5bd2202 100644
--- a/third_party/WebKit/Source/core/layout/compositing/PaintLayerCompositor.cpp
+++ b/third_party/WebKit/Source/core/layout/compositing/PaintLayerCompositor.cpp
@@ -184,12 +184,16 @@
   return ToLayoutVideo(layout_object);
 }
 
-void PaintLayerCompositor::UpdateIfNeededRecursive() {
+void PaintLayerCompositor::UpdateIfNeededRecursive(
+    DocumentLifecycle::LifecycleState target_state) {
   SCOPED_BLINK_UMA_HISTOGRAM_TIMER("Blink.Compositing.UpdateTime");
-  UpdateIfNeededRecursiveInternal();
+  UpdateIfNeededRecursiveInternal(target_state);
 }
 
-void PaintLayerCompositor::UpdateIfNeededRecursiveInternal() {
+void PaintLayerCompositor::UpdateIfNeededRecursiveInternal(
+    DocumentLifecycle::LifecycleState target_state) {
+  DCHECK(target_state >= DocumentLifecycle::kCompositingInputsClean);
+
   FrameView* view = layout_view_.GetFrameView();
   if (view->ShouldThrottleRendering())
     return;
@@ -205,10 +209,11 @@
     // the middle of frame detach.
     // TODO(bbudge) Remove this check when trusted Pepper plugins are gone.
     if (local_frame->GetDocument()->IsActive() &&
-        !local_frame->ContentLayoutItem().IsNull())
+        !local_frame->ContentLayoutItem().IsNull()) {
       local_frame->ContentLayoutItem()
           .Compositor()
-          ->UpdateIfNeededRecursiveInternal();
+          ->UpdateIfNeededRecursiveInternal(target_state);
+    }
   }
 
   TRACE_EVENT0("blink", "PaintLayerCompositor::updateIfNeededRecursive");
@@ -226,9 +231,11 @@
 
   layout_view_.CommitPendingSelection();
 
-  Lifecycle().AdvanceTo(DocumentLifecycle::kInCompositingUpdate);
-  UpdateIfNeeded();
-  Lifecycle().AdvanceTo(DocumentLifecycle::kCompositingClean);
+  UpdateIfNeeded(target_state);
+  DCHECK(Lifecycle().GetState() == DocumentLifecycle::kCompositingInputsClean ||
+         Lifecycle().GetState() == DocumentLifecycle::kCompositingClean);
+  if (target_state == DocumentLifecycle::kCompositingInputsClean)
+    return;
 
   Optional<CompositorElementIdSet> composited_element_ids;
   DocumentAnimations::UpdateAnimations(layout_view_.GetDocument(),
@@ -371,17 +378,36 @@
   return IsMainFrame() ? GetVisualViewport().ScrollLayer() : nullptr;
 }
 
-void PaintLayerCompositor::UpdateIfNeeded() {
+void PaintLayerCompositor::UpdateIfNeeded(
+    DocumentLifecycle::LifecycleState target_state) {
+  DCHECK(target_state >= DocumentLifecycle::kCompositingInputsClean);
+
+  Lifecycle().AdvanceTo(DocumentLifecycle::kInCompositingUpdate);
+
+  if (pending_update_type_ < kCompositingUpdateAfterCompositingInputChange &&
+      target_state == DocumentLifecycle::kCompositingInputsClean) {
+    // The compositing inputs are already clean and that is our target state.
+    // Early-exit here without clearing the pending update type since we haven't
+    // handled e.g. geometry updates.
+    Lifecycle().AdvanceTo(DocumentLifecycle::kCompositingInputsClean);
+    return;
+  }
+
   CompositingUpdateType update_type = pending_update_type_;
   pending_update_type_ = kCompositingUpdateNone;
 
   if (!HasAcceleratedCompositing()) {
     UpdateWithoutAcceleratedCompositing(update_type);
+    Lifecycle().AdvanceTo(
+        std::min(DocumentLifecycle::kCompositingClean, target_state));
     return;
   }
 
-  if (update_type == kCompositingUpdateNone)
+  if (update_type == kCompositingUpdateNone) {
+    Lifecycle().AdvanceTo(
+        std::min(DocumentLifecycle::kCompositingClean, target_state));
     return;
+  }
 
   PaintLayer* update_root = RootLayer();
 
@@ -396,6 +422,16 @@
         update_root);
 #endif
 
+    // In the case where we only want to make compositing inputs clean, we
+    // early-exit here. Because we have not handled the other implications of
+    // |pending_update_type_| > kCompositingUpdateNone, we must restore the
+    // pending update type for a future call.
+    if (target_state == DocumentLifecycle::kCompositingInputsClean) {
+      pending_update_type_ = update_type;
+      Lifecycle().AdvanceTo(DocumentLifecycle::kCompositingInputsClean);
+      return;
+    }
+
     CompositingRequirementsUpdater(layout_view_, compositing_reason_finder_)
         .Update(update_root);
 
@@ -490,6 +526,8 @@
   // Inform the inspector that the layer tree has changed.
   if (IsMainFrame())
     probe::layerTreeDidChange(layout_view_.GetFrame());
+
+  Lifecycle().AdvanceTo(DocumentLifecycle::kCompositingClean);
 }
 
 static void RestartAnimationOnCompositor(const LayoutObject& layout_object) {
diff --git a/third_party/WebKit/Source/core/layout/compositing/PaintLayerCompositor.h b/third_party/WebKit/Source/core/layout/compositing/PaintLayerCompositor.h
index 2311856..b3916f7 100644
--- a/third_party/WebKit/Source/core/layout/compositing/PaintLayerCompositor.h
+++ b/third_party/WebKit/Source/core/layout/compositing/PaintLayerCompositor.h
@@ -28,6 +28,7 @@
 
 #include <memory>
 #include "core/CoreExport.h"
+#include "core/dom/DocumentLifecycle.h"
 #include "core/layout/compositing/CompositingReasonFinder.h"
 #include "platform/graphics/GraphicsLayerClient.h"
 #include "platform/wtf/HashMap.h"
@@ -35,7 +36,6 @@
 namespace blink {
 
 class PaintLayer;
-class DocumentLifecycle;
 class GraphicsLayer;
 class IntPoint;
 class JSONObject;
@@ -77,7 +77,7 @@
   explicit PaintLayerCompositor(LayoutView&);
   ~PaintLayerCompositor() override;
 
-  void UpdateIfNeededRecursive();
+  void UpdateIfNeededRecursive(DocumentLifecycle::LifecycleState target_state);
 
   // Return true if this LayoutView is in "compositing mode" (i.e. has one or
   // more composited Layers)
@@ -193,7 +193,8 @@
   void AssertNoUnresolvedDirtyBits();
 #endif
 
-  void UpdateIfNeededRecursiveInternal();
+  void UpdateIfNeededRecursiveInternal(
+      DocumentLifecycle::LifecycleState target_state);
 
   // GraphicsLayerClient implementation
   bool NeedsRepaint(const GraphicsLayer&) const { return true; }
@@ -207,7 +208,7 @@
   bool IsTrackingRasterInvalidations() const override;
 
   void UpdateWithoutAcceleratedCompositing(CompositingUpdateType);
-  void UpdateIfNeeded();
+  void UpdateIfNeeded(DocumentLifecycle::LifecycleState target_state);
 
   void EnsureRootLayer();
   void DestroyRootLayer();
diff --git a/third_party/WebKit/Source/core/layout/compositing/PaintLayerCompositorTest.cpp b/third_party/WebKit/Source/core/layout/compositing/PaintLayerCompositorTest.cpp
new file mode 100644
index 0000000..b9c7489
--- /dev/null
+++ b/third_party/WebKit/Source/core/layout/compositing/PaintLayerCompositorTest.cpp
@@ -0,0 +1,85 @@
+// 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 "core/layout/compositing/PaintLayerCompositor.h"
+
+#include "core/animation/Animation.h"
+#include "core/animation/ElementAnimation.h"
+#include "core/layout/LayoutTestHelper.h"
+#include "core/paint/PaintLayer.h"
+
+namespace blink {
+
+namespace {
+class PaintLayerCompositorTest : public RenderingTest {
+ public:
+  PaintLayerCompositorTest()
+      : RenderingTest(SingleChildLocalFrameClient::Create()) {}
+
+ private:
+  void SetUp() {
+    RenderingTest::SetUp();
+    EnableCompositing();
+  }
+};
+}
+
+TEST_F(PaintLayerCompositorTest, AdvancingToCompositingInputsClean) {
+  SetBodyInnerHTML("<div id='box' style='position: relative'></div>");
+
+  PaintLayer* box_layer =
+      ToLayoutBox(GetLayoutObjectByElementId("box"))->Layer();
+  ASSERT_TRUE(box_layer);
+  EXPECT_FALSE(box_layer->NeedsCompositingInputsUpdate());
+
+  box_layer->SetNeedsCompositingInputsUpdate();
+
+  GetDocument().View()->UpdateLifecycleToCompositingInputsClean();
+  EXPECT_EQ(DocumentLifecycle::kCompositingInputsClean,
+            GetDocument().Lifecycle().GetState());
+  EXPECT_FALSE(box_layer->NeedsCompositingInputsUpdate());
+}
+
+TEST_F(PaintLayerCompositorTest,
+       CompositingInputsCleanDoesNotTriggerAnimations) {
+  SetBodyInnerHTML(
+      "<style>@keyframes fadeOut { from { opacity: 1; } to { opacity: 0; } }"
+      ".animate { animation: fadeOut 2s; }</style>"
+      "<div id='box'></div>"
+      "<div id='otherBox'></div>");
+
+  Element* box = GetDocument().GetElementById("box");
+  Element* otherBox = GetDocument().GetElementById("otherBox");
+  ASSERT_TRUE(box);
+  ASSERT_TRUE(otherBox);
+
+  box->setAttribute("class", "animate", ASSERT_NO_EXCEPTION);
+
+  // Update the lifecycle to CompositingInputsClean. This should not start the
+  // animation lifecycle.
+  GetDocument().View()->UpdateLifecycleToCompositingInputsClean();
+  EXPECT_EQ(DocumentLifecycle::kCompositingInputsClean,
+            GetDocument().Lifecycle().GetState());
+
+  otherBox->setAttribute("class", "animate", ASSERT_NO_EXCEPTION);
+
+  // Now run the rest of the lifecycle. Because both 'box' and 'otherBox' were
+  // given animations separated only by a lifecycle update to
+  // CompositingInputsClean, they should both be started in the same lifecycle
+  // and as such grouped together.
+  GetDocument().View()->UpdateAllLifecyclePhases();
+  EXPECT_EQ(DocumentLifecycle::kPaintClean,
+            GetDocument().Lifecycle().GetState());
+
+  HeapVector<Member<Animation>> boxAnimations =
+      ElementAnimation::getAnimations(*box);
+  HeapVector<Member<Animation>> otherBoxAnimations =
+      ElementAnimation::getAnimations(*box);
+
+  EXPECT_EQ(1ul, boxAnimations.size());
+  EXPECT_EQ(1ul, otherBoxAnimations.size());
+  EXPECT_EQ(boxAnimations.front()->CompositorGroup(),
+            otherBoxAnimations.front()->CompositorGroup());
+}
+}
diff --git a/third_party/WebKit/Source/core/layout/line/DEPS b/third_party/WebKit/Source/core/layout/line/DEPS
index e8221a6b..ad36ea5 100644
--- a/third_party/WebKit/Source/core/layout/line/DEPS
+++ b/third_party/WebKit/Source/core/layout/line/DEPS
@@ -4,7 +4,6 @@
     "+core/layout/api",
     "+core/layout/line",
     "+platform",
-    "+wtf",
 
     "!core/layout/BidiRun.h",
     "!core/layout/HitTestLocation.h",
diff --git a/third_party/WebKit/Source/core/layout/ng/ng_block_node.cc b/third_party/WebKit/Source/core/layout/ng/ng_block_node.cc
index 3905ae5..a9d8dd6 100644
--- a/third_party/WebKit/Source/core/layout/ng/ng_block_node.cc
+++ b/third_party/WebKit/Source/core/layout/ng/ng_block_node.cc
@@ -246,24 +246,7 @@
 
   if (!layout_box_->IsLayoutBlockFlow())
     return false;
-  return RuntimeEnabledFeatures::layoutNGEnabled() || !HasInlineChildren();
-}
-
-bool NGBlockNode::HasInlineChildren() {
-  if (!layout_box_->IsLayoutBlockFlow())
-    return false;
-
-  const LayoutBlockFlow* block_flow = ToLayoutBlockFlow(layout_box_);
-  if (!block_flow->ChildrenInline())
-    return false;
-  LayoutObject* child = block_flow->FirstChild();
-  while (child) {
-    if (child->IsInline())
-      return true;
-    child = child->NextSibling();
-  }
-
-  return false;
+  return RuntimeEnabledFeatures::layoutNGEnabled();
 }
 
 void NGBlockNode::CopyFragmentDataToLayoutBox(
diff --git a/third_party/WebKit/Source/core/layout/ng/ng_block_node.h b/third_party/WebKit/Source/core/layout/ng/ng_block_node.h
index c713b952..128b83e 100644
--- a/third_party/WebKit/Source/core/layout/ng/ng_block_node.h
+++ b/third_party/WebKit/Source/core/layout/ng/ng_block_node.h
@@ -63,7 +63,6 @@
  private:
 
   bool CanUseNewLayout();
-  bool HasInlineChildren();
 
   // After we run the layout algorithm, this function copies back the geometry
   // data to the layout box.
diff --git a/third_party/WebKit/Source/core/layout/ng/ng_fragment_builder.cc b/third_party/WebKit/Source/core/layout/ng/ng_fragment_builder.cc
index d378a40..938169c 100644
--- a/third_party/WebKit/Source/core/layout/ng/ng_fragment_builder.cc
+++ b/third_party/WebKit/Source/core/layout/ng/ng_fragment_builder.cc
@@ -167,7 +167,7 @@
     descendants->insert(oof_node);
     descendant_positions->push_back(builder_relative_position);
   }
-  out_of_flow_descendant_candidates_.Clear();
+  out_of_flow_descendant_candidates_.clear();
   out_of_flow_candidate_placements_.Clear();
 }
 
diff --git a/third_party/WebKit/Source/core/layout/ng/ng_out_of_flow_layout_part.cc b/third_party/WebKit/Source/core/layout/ng/ng_out_of_flow_layout_part.cc
index 3ab50d5..7e02192 100644
--- a/third_party/WebKit/Source/core/layout/ng/ng_out_of_flow_layout_part.cc
+++ b/third_party/WebKit/Source/core/layout/ng/ng_out_of_flow_layout_part.cc
@@ -89,7 +89,7 @@
     }
     // Sweep any descendants that might have been added.
     // This happens when an absolute container has a fixed child.
-    out_of_flow_candidates.Clear();
+    out_of_flow_candidates.clear();
     out_of_flow_candidate_positions.Clear();
     container_builder_->GetAndClearOutOfFlowDescendantCandidates(
         &out_of_flow_candidates, &out_of_flow_candidate_positions);
diff --git a/third_party/WebKit/Source/core/loader/DocumentLoader.cpp b/third_party/WebKit/Source/core/loader/DocumentLoader.cpp
index 6bfe79f..63a756b 100644
--- a/third_party/WebKit/Source/core/loader/DocumentLoader.cpp
+++ b/third_party/WebKit/Source/core/loader/DocumentLoader.cpp
@@ -458,19 +458,6 @@
   application_cache_host_->FinishedLoadingMainResource();
   EndWriting();
   ClearMainResourceHandle();
-
-  // Shows the deprecation message and measures the impact of the new security
-  // restriction which disallows responding to navigation requests with
-  // redirected responses in the service worker.
-  // TODO(horo): Remove this when we actually introduce the restriction in
-  // RespondWithObserver.
-  if (response_.WasFetchedViaServiceWorker() &&
-      response_.UrlListViaServiceWorker().size() > 1) {
-    Deprecation::CountDeprecation(
-        frame_,
-        UseCounter::
-            kServiceWorkerRespondToNavigationRequestWithRedirectedResponse);
-  }
 }
 
 bool DocumentLoader::RedirectReceived(
diff --git a/third_party/WebKit/Source/core/loader/ImageLoader.cpp b/third_party/WebKit/Source/core/loader/ImageLoader.cpp
index 34efc0d..b317581 100644
--- a/third_party/WebKit/Source/core/loader/ImageLoader.cpp
+++ b/third_party/WebKit/Source/core/loader/ImageLoader.cpp
@@ -400,8 +400,8 @@
   // funneling the main resource bytes into m_image, so just create an
   // ImageResource to be populated later.
   if (loading_image_document_ && update_behavior != kUpdateForcedReload) {
-    ImageResource* image_resource =
-        ImageResource::Create(ImageSourceToKURL(element_->ImageSourceURL()));
+    ImageResource* image_resource = ImageResource::Create(
+        ResourceRequest(ImageSourceToKURL(element_->ImageSourceURL())));
     image_resource->SetStatus(ResourceStatus::kPending);
     image_resource_for_image_document_ = image_resource;
     SetImage(image_resource->GetContent());
diff --git a/third_party/WebKit/Source/core/loader/NavigationScheduler.cpp b/third_party/WebKit/Source/core/loader/NavigationScheduler.cpp
index af0efe7..0ff8cfa5 100644
--- a/third_party/WebKit/Source/core/loader/NavigationScheduler.cpp
+++ b/third_party/WebKit/Source/core/loader/NavigationScheduler.cpp
@@ -176,7 +176,7 @@
   void Fire(LocalFrame* frame) override {
     std::unique_ptr<UserGestureIndicator> gesture_indicator =
         CreateUserGestureIndicator();
-    FrameLoadRequest request(OriginDocument(), url_, "_self",
+    FrameLoadRequest request(OriginDocument(), ResourceRequest(url_), "_self",
                              should_check_main_world_content_security_policy_);
     request.SetReplacesCurrentItem(ReplacesCurrentItem());
     request.SetClientRedirect(ClientRedirectPolicy::kClientRedirect);
@@ -213,7 +213,7 @@
   void Fire(LocalFrame* frame) override {
     std::unique_ptr<UserGestureIndicator> gesture_indicator =
         CreateUserGestureIndicator();
-    FrameLoadRequest request(OriginDocument(), Url(), "_self");
+    FrameLoadRequest request(OriginDocument(), ResourceRequest(Url()), "_self");
     request.SetReplacesCurrentItem(ReplacesCurrentItem());
     if (EqualIgnoringFragmentIdentifier(frame->GetDocument()->Url(),
                                         request.GetResourceRequest().Url())) {
@@ -438,7 +438,7 @@
           frame_->GetDocument()->GetSecurityOrigin())) {
     if (url.HasFragmentIdentifier() &&
         EqualIgnoringFragmentIdentifier(frame_->GetDocument()->Url(), url)) {
-      FrameLoadRequest request(origin_document, url, "_self");
+      FrameLoadRequest request(origin_document, ResourceRequest(url), "_self");
       request.SetReplacesCurrentItem(replaces_current_item);
       if (replaces_current_item)
         request.SetClientRedirect(ClientRedirectPolicy::kClientRedirect);
diff --git a/third_party/WebKit/Source/core/loader/PingLoaderTest.cpp b/third_party/WebKit/Source/core/loader/PingLoaderTest.cpp
index 37b75ed..0d3254e 100644
--- a/third_party/WebKit/Source/core/loader/PingLoaderTest.cpp
+++ b/third_party/WebKit/Source/core/loader/PingLoaderTest.cpp
@@ -48,7 +48,7 @@
 
   void SetDocumentURL(const KURL& url) {
     FrameLoadRequest request(
-        nullptr, url,
+        nullptr, ResourceRequest(url),
         SubstituteData(SharedBuffer::Create(), "text/html", "UTF-8", KURL()));
     page_holder_->GetFrame().Loader().Load(request);
     blink::testing::RunPendingTasks();
diff --git a/third_party/WebKit/Source/core/loader/resource/FontResourceTest.cpp b/third_party/WebKit/Source/core/loader/resource/FontResourceTest.cpp
index 43e7f03..24abe79 100644
--- a/third_party/WebKit/Source/core/loader/resource/FontResourceTest.cpp
+++ b/third_party/WebKit/Source/core/loader/resource/FontResourceTest.cpp
@@ -108,7 +108,8 @@
   ResourceFetcher* fetcher = ResourceFetcher::Create(
       MockFetchContext::Create(MockFetchContext::kShouldLoadNewResource));
 
-  FetchParameters fetch_params = FetchParameters(url, FetchInitiatorInfo());
+  FetchParameters fetch_params =
+      FetchParameters(ResourceRequest(url), FetchInitiatorInfo());
   fetch_params.SetCacheAwareLoadingEnabled(kIsCacheAwareLoadingEnabled);
   FontResource* resource = FontResource::Fetch(fetch_params, fetcher);
   ASSERT_TRUE(resource);
diff --git a/third_party/WebKit/Source/core/loader/resource/ImageResourceTest.cpp b/third_party/WebKit/Source/core/loader/resource/ImageResourceTest.cpp
index c1016c6..c148132 100644
--- a/third_party/WebKit/Source/core/loader/resource/ImageResourceTest.cpp
+++ b/third_party/WebKit/Source/core/loader/resource/ImageResourceTest.cpp
@@ -728,7 +728,7 @@
   ScopedMockedURLLoad scoped_mocked_url_load(test_url, GetTestFilePath());
 
   ResourceFetcher* fetcher = CreateFetcher();
-  FetchParameters params(test_url, FetchInitiatorInfo());
+  FetchParameters params{ResourceRequest(test_url), FetchInitiatorInfo()};
   params.SetAllowImagePlaceholder();
   ImageResource* image_resource = ImageResource::Fetch(params, fetcher);
   EXPECT_EQ(FetchParameters::kAllowPlaceholder,
@@ -1018,7 +1018,7 @@
   ScopedMockedURLLoad scoped_mocked_url_load(test_url, GetTestFilePath());
 
   ResourceFetcher* fetcher = CreateFetcher();
-  FetchParameters params(test_url, FetchInitiatorInfo());
+  FetchParameters params{ResourceRequest(test_url), FetchInitiatorInfo()};
   ImageResource* image_resource = ImageResource::Fetch(params, fetcher);
   std::unique_ptr<MockImageResourceObserver> observer =
       MockImageResourceObserver::Create(image_resource->GetContent());
@@ -1045,7 +1045,7 @@
   ScopedMockedURLLoad scoped_mocked_url_load(test_url, GetTestFilePath());
 
   ResourceFetcher* fetcher = CreateFetcher();
-  FetchParameters params(test_url, FetchInitiatorInfo());
+  FetchParameters params{ResourceRequest(test_url), FetchInitiatorInfo()};
   ImageResource* image_resource = ImageResource::Fetch(params, fetcher);
   std::unique_ptr<MockImageResourceObserver> observer =
       MockImageResourceObserver::Create(image_resource->GetContent());
@@ -1118,7 +1118,7 @@
   KURL test_url(kParsedURLString, kTestURL);
   ScopedMockedURLLoad scoped_mocked_url_load(test_url, GetTestFilePath());
 
-  FetchParameters params(test_url, FetchInitiatorInfo());
+  FetchParameters params{ResourceRequest(test_url), FetchInitiatorInfo()};
   ImageResource* image_resource = ImageResource::Fetch(params, CreateFetcher());
   EXPECT_EQ(FetchParameters::kDisallowPlaceholder,
             params.GetPlaceholderImageRequestType());
@@ -1134,7 +1134,7 @@
                 "data:image/jpeg;base64," +
                     Base64Encode(reinterpret_cast<const char*>(kJpegImage),
                                  sizeof(kJpegImage)));
-  FetchParameters params(test_url, FetchInitiatorInfo());
+  FetchParameters params{ResourceRequest(test_url), FetchInitiatorInfo()};
   params.SetAllowImagePlaceholder();
   ImageResource* image_resource = ImageResource::Fetch(params, CreateFetcher());
   EXPECT_EQ(FetchParameters::kDisallowPlaceholder,
@@ -1182,7 +1182,7 @@
   KURL test_url(kParsedURLString, kTestURL);
   ScopedMockedURLLoad scoped_mocked_url_load(test_url, GetTestFilePath());
 
-  FetchParameters params(test_url, FetchInitiatorInfo());
+  FetchParameters params{ResourceRequest(test_url), FetchInitiatorInfo()};
   params.SetAllowImagePlaceholder();
   ImageResource* image_resource = ImageResource::Fetch(params, CreateFetcher());
   EXPECT_EQ(FetchParameters::kAllowPlaceholder,
@@ -1198,7 +1198,7 @@
   KURL test_url(kParsedURLString, kTestURL);
   ScopedMockedURLLoad scoped_mocked_url_load(test_url, GetTestFilePath());
 
-  FetchParameters params(test_url, FetchInitiatorInfo());
+  FetchParameters params{ResourceRequest(test_url), FetchInitiatorInfo()};
   params.SetAllowImagePlaceholder();
   ImageResource* image_resource = ImageResource::Fetch(params, CreateFetcher());
   EXPECT_EQ(FetchParameters::kAllowPlaceholder,
@@ -1238,7 +1238,7 @@
   KURL test_url(kParsedURLString, kTestURL);
   ScopedMockedURLLoad scoped_mocked_url_load(test_url, GetTestFilePath());
 
-  FetchParameters params(test_url, FetchInitiatorInfo());
+  FetchParameters params{ResourceRequest(test_url), FetchInitiatorInfo()};
   params.SetAllowImagePlaceholder();
   ImageResource* image_resource = ImageResource::Fetch(params, CreateFetcher());
   EXPECT_EQ(FetchParameters::kAllowPlaceholder,
@@ -1286,14 +1286,16 @@
 
   ResourceFetcher* fetcher = CreateFetcher();
 
-  FetchParameters placeholder_params(test_url, FetchInitiatorInfo());
+  FetchParameters placeholder_params{ResourceRequest(test_url),
+                                     FetchInitiatorInfo()};
   placeholder_params.SetAllowImagePlaceholder();
   ImageResource* image_resource =
       ImageResource::Fetch(placeholder_params, fetcher);
   std::unique_ptr<MockImageResourceObserver> observer =
       MockImageResourceObserver::Create(image_resource->GetContent());
 
-  FetchParameters non_placeholder_params(test_url, FetchInitiatorInfo());
+  FetchParameters non_placeholder_params{ResourceRequest(test_url),
+                                         FetchInitiatorInfo()};
   ImageResource* image_resource2 =
       ImageResource::Fetch(non_placeholder_params, fetcher);
   std::unique_ptr<MockImageResourceObserver> observer2 =
@@ -1336,7 +1338,8 @@
   ScopedMockedURLLoad scoped_mocked_url_load(test_url, GetTestFilePath());
 
   ResourceFetcher* fetcher = CreateFetcher();
-  FetchParameters placeholder_params(test_url, FetchInitiatorInfo());
+  FetchParameters placeholder_params{ResourceRequest(test_url),
+                                     FetchInitiatorInfo()};
   placeholder_params.SetAllowImagePlaceholder();
   ImageResource* image_resource =
       ImageResource::Fetch(placeholder_params, fetcher);
@@ -1346,7 +1349,8 @@
   TestThatIsPlaceholderRequestAndServeResponse(test_url, image_resource,
                                                observer.get());
 
-  FetchParameters non_placeholder_params(test_url, FetchInitiatorInfo());
+  FetchParameters non_placeholder_params{ResourceRequest(test_url),
+                                         FetchInitiatorInfo()};
   ImageResource* image_resource2 =
       ImageResource::Fetch(non_placeholder_params, fetcher);
   std::unique_ptr<MockImageResourceObserver> observer2 =
@@ -1383,7 +1387,7 @@
     KURL test_url(kParsedURLString, kTestURL);
     ScopedMockedURLLoad scoped_mocked_url_load(test_url, GetTestFilePath());
 
-    FetchParameters params(test_url, FetchInitiatorInfo());
+    FetchParameters params{ResourceRequest(test_url), FetchInitiatorInfo()};
     params.SetAllowImagePlaceholder();
     ImageResource* image_resource =
         ImageResource::Fetch(params, CreateFetcher());
@@ -1442,7 +1446,7 @@
     KURL test_url(kParsedURLString, kTestURL);
     ScopedMockedURLLoad scoped_mocked_url_load(test_url, GetTestFilePath());
 
-    FetchParameters params(test_url, FetchInitiatorInfo());
+    FetchParameters params{ResourceRequest(test_url), FetchInitiatorInfo()};
     params.SetAllowImagePlaceholder();
     ImageResource* image_resource =
         ImageResource::Fetch(params, CreateFetcher());
@@ -1475,7 +1479,7 @@
     KURL test_url(kParsedURLString, kTestURL);
     ScopedMockedURLLoad scoped_mocked_url_load(test_url, GetTestFilePath());
 
-    FetchParameters params(test_url, FetchInitiatorInfo());
+    FetchParameters params{ResourceRequest(test_url), FetchInitiatorInfo()};
     params.SetAllowImagePlaceholder();
     ImageResource* image_resource =
         ImageResource::Fetch(params, CreateFetcher());
diff --git a/third_party/WebKit/Source/core/page/CreateWindow.cpp b/third_party/WebKit/Source/core/page/CreateWindow.cpp
index 4522288..2d2321c 100644
--- a/third_party/WebKit/Source/core/page/CreateWindow.cpp
+++ b/third_party/WebKit/Source/core/page/CreateWindow.cpp
@@ -195,8 +195,8 @@
     return nullptr;
   }
 
-  FrameLoadRequest frame_request(calling_window.document(), completed_url,
-                                 frame_name);
+  FrameLoadRequest frame_request(calling_window.document(),
+                                 ResourceRequest(completed_url), frame_name);
   frame_request.SetShouldSetOpener(window_features.noopener ? kNeverSetOpener
                                                             : kMaybeSetOpener);
   frame_request.GetResourceRequest().SetFrameType(
@@ -243,7 +243,8 @@
   // causes the navigation to be flagged as a client redirect, which is
   // observable via the webNavigation extension api.
   if (created) {
-    FrameLoadRequest request(calling_window.document(), completed_url);
+    FrameLoadRequest request(calling_window.document(),
+                             ResourceRequest(completed_url));
     request.GetResourceRequest().SetHasUserGesture(has_user_gesture);
     new_frame->Navigate(request);
   } else if (!url_string.IsEmpty()) {
diff --git a/third_party/WebKit/Source/core/svg/SVGDocumentExtensions.cpp b/third_party/WebKit/Source/core/svg/SVGDocumentExtensions.cpp
index 3d9d7c37..7250533 100644
--- a/third_party/WebKit/Source/core/svg/SVGDocumentExtensions.cpp
+++ b/third_party/WebKit/Source/core/svg/SVGDocumentExtensions.cpp
@@ -62,7 +62,7 @@
   }
 
   SVGElementSet web_animations_pending_svg_elements;
-  web_animations_pending_svg_elements.Swap(
+  web_animations_pending_svg_elements.swap(
       web_animations_pending_svg_elements_);
 
   // TODO(alancutter): Make SVG animation effect application a separate document
diff --git a/third_party/WebKit/Source/core/svg/SVGPathElement.idl b/third_party/WebKit/Source/core/svg/SVGPathElement.idl
index 5acd7d87..ce21df9 100644
--- a/third_party/WebKit/Source/core/svg/SVGPathElement.idl
+++ b/third_party/WebKit/Source/core/svg/SVGPathElement.idl
@@ -27,5 +27,5 @@
 // https://svgwg.org/svg2-draft/paths.html#InterfaceSVGPathElement
 
 interface SVGPathElement : SVGGeometryElement {
-    [Measure] unsigned long getPathSegAtLength(float distance);
+    [DeprecateAs=V8SVGPathElement_GetPathSegAtLength_Method] unsigned long getPathSegAtLength(float distance);
 };
diff --git a/third_party/WebKit/Source/core/svg/graphics/SVGImage.cpp b/third_party/WebKit/Source/core/svg/graphics/SVGImage.cpp
index 39564a8..c72135b 100644
--- a/third_party/WebKit/Source/core/svg/graphics/SVGImage.cpp
+++ b/third_party/WebKit/Source/core/svg/graphics/SVGImage.cpp
@@ -365,7 +365,7 @@
   FloatRect float_bounds(FloatPoint(), size);
   const SkRect bounds(float_bounds);
 
-  flags.setShader(MakePaintShaderRecord(
+  flags.setShader(SkShader::MakePictureShader(
       PaintRecordForCurrentFrame(float_bounds, url), SkShader::kRepeat_TileMode,
       SkShader::kRepeat_TileMode, &local_matrix, &bounds));
 
@@ -684,7 +684,7 @@
 
     TRACE_EVENT0("blink", "SVGImage::dataChanged::load");
     loader.Load(FrameLoadRequest(
-        0, BlankURL(),
+        0, ResourceRequest(BlankURL()),
         SubstituteData(Data(), AtomicString("image/svg+xml"),
                        AtomicString("UTF-8"), KURL(), kForceSynchronousLoad)));
 
diff --git a/third_party/WebKit/Source/core/testing/DummyModulator.cpp b/third_party/WebKit/Source/core/testing/DummyModulator.cpp
index 80f5d08c..3fbc977 100644
--- a/third_party/WebKit/Source/core/testing/DummyModulator.cpp
+++ b/third_party/WebKit/Source/core/testing/DummyModulator.cpp
@@ -36,6 +36,24 @@
   return nullptr;
 };
 
+void DummyModulator::FetchTree(const ModuleScriptFetchRequest&,
+                               ModuleTreeClient*) {
+  NOTREACHED();
+}
+
+void DummyModulator::FetchTreeInternal(const ModuleScriptFetchRequest&,
+                                       const AncestorList&,
+                                       ModuleGraphLevel,
+                                       ModuleTreeClient*) {
+  NOTREACHED();
+};
+
+void DummyModulator::FetchSingle(const ModuleScriptFetchRequest&,
+                                 ModuleGraphLevel,
+                                 SingleModuleClient*) {
+  NOTREACHED();
+}
+
 ModuleScript* DummyModulator::GetFetchedModuleScript(const KURL&) {
   NOTREACHED();
   return nullptr;
diff --git a/third_party/WebKit/Source/core/testing/DummyModulator.h b/third_party/WebKit/Source/core/testing/DummyModulator.h
index 4e7d749..efd617a 100644
--- a/third_party/WebKit/Source/core/testing/DummyModulator.h
+++ b/third_party/WebKit/Source/core/testing/DummyModulator.h
@@ -36,6 +36,14 @@
   ReferrerPolicy GetReferrerPolicy() override;
   SecurityOrigin* GetSecurityOrigin() override;
 
+  void FetchTree(const ModuleScriptFetchRequest&, ModuleTreeClient*) override;
+  void FetchTreeInternal(const ModuleScriptFetchRequest&,
+                         const AncestorList&,
+                         ModuleGraphLevel,
+                         ModuleTreeClient*) override;
+  void FetchSingle(const ModuleScriptFetchRequest&,
+                   ModuleGraphLevel,
+                   SingleModuleClient*) override;
   ModuleScript* GetFetchedModuleScript(const KURL&) override;
   void FetchNewSingleModule(const ModuleScriptFetchRequest&,
                             ModuleGraphLevel,
diff --git a/third_party/WebKit/Source/core/workers/BUILD.gn b/third_party/WebKit/Source/core/workers/BUILD.gn
index 89d3a7de..d273a5c 100644
--- a/third_party/WebKit/Source/core/workers/BUILD.gn
+++ b/third_party/WebKit/Source/core/workers/BUILD.gn
@@ -22,6 +22,8 @@
     "InProcessWorkerMessagingProxy.h",
     "InProcessWorkerObjectProxy.cpp",
     "InProcessWorkerObjectProxy.h",
+    "MainThreadWorklet.cpp",
+    "MainThreadWorklet.h",
     "MainThreadWorkletGlobalScope.cpp",
     "MainThreadWorkletGlobalScope.h",
     "ParentFrameTaskRunners.cpp",
@@ -37,6 +39,8 @@
     "ThreadedMessagingProxyBase.h",
     "ThreadedObjectProxyBase.cpp",
     "ThreadedObjectProxyBase.h",
+    "ThreadedWorklet.cpp",
+    "ThreadedWorklet.h",
     "ThreadedWorkletGlobalScope.cpp",
     "ThreadedWorkletGlobalScope.h",
     "ThreadedWorkletMessagingProxy.cpp",
diff --git a/third_party/WebKit/Source/core/workers/MainThreadWorklet.cpp b/third_party/WebKit/Source/core/workers/MainThreadWorklet.cpp
new file mode 100644
index 0000000..d58013c
--- /dev/null
+++ b/third_party/WebKit/Source/core/workers/MainThreadWorklet.cpp
@@ -0,0 +1,78 @@
+// 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 "core/workers/MainThreadWorklet.h"
+
+#include "bindings/core/v8/ScriptSourceCode.h"
+#include "bindings/core/v8/V8Binding.h"
+#include "core/dom/DOMException.h"
+#include "core/dom/Document.h"
+#include "core/dom/ExceptionCode.h"
+#include "core/frame/LocalFrame.h"
+#include "core/workers/WorkletGlobalScopeProxy.h"
+#include "platform/wtf/WTF.h"
+
+namespace blink {
+
+MainThreadWorklet::MainThreadWorklet(LocalFrame* frame) : Worklet(frame) {}
+
+ScriptPromise MainThreadWorklet::import(ScriptState* script_state,
+                                        const String& url) {
+  DCHECK(IsMainThread());
+  if (!GetExecutionContext()) {
+    return ScriptPromise::RejectWithDOMException(
+        script_state, DOMException::Create(kInvalidStateError,
+                                           "This frame is already detached"));
+  }
+
+  KURL script_url = GetExecutionContext()->CompleteURL(url);
+  if (!script_url.IsValid()) {
+    return ScriptPromise::RejectWithDOMException(
+        script_state, DOMException::Create(
+                          kSyntaxError, "'" + url + "' is not a valid URL."));
+  }
+
+  if (!IsInitialized())
+    Initialize();
+
+  ScriptPromiseResolver* resolver = ScriptPromiseResolver::Create(script_state);
+  ScriptPromise promise = resolver->Promise();
+
+  WorkletScriptLoader* script_loader =
+      WorkletScriptLoader::Create(frame_->GetDocument()->Fetcher(), this);
+  loader_to_resolver_map_.Set(script_loader, resolver);
+  script_loader->FetchScript(script_url);
+  return promise;
+}
+
+void MainThreadWorklet::NotifyWorkletScriptLoadingFinished(
+    WorkletScriptLoader* script_loader,
+    const ScriptSourceCode& source_code) {
+  DCHECK(IsMainThread());
+  ScriptPromiseResolver* resolver = loader_to_resolver_map_.at(script_loader);
+  loader_to_resolver_map_.erase(script_loader);
+
+  if (!script_loader->WasScriptLoadSuccessful()) {
+    resolver->Reject(DOMException::Create(kNetworkError));
+    return;
+  }
+
+  GetWorkletGlobalScopeProxy()->EvaluateScript(source_code);
+  resolver->Resolve();
+}
+
+void MainThreadWorklet::ContextDestroyed(ExecutionContext* execution_context) {
+  DCHECK(IsMainThread());
+  for (const auto& script_loader : loader_to_resolver_map_.Keys())
+    script_loader->Cancel();
+  loader_to_resolver_map_.Clear();
+  Worklet::ContextDestroyed(execution_context);
+}
+
+DEFINE_TRACE(MainThreadWorklet) {
+  visitor->Trace(loader_to_resolver_map_);
+  Worklet::Trace(visitor);
+}
+
+}  // namespace blink
diff --git a/third_party/WebKit/Source/core/workers/MainThreadWorklet.h b/third_party/WebKit/Source/core/workers/MainThreadWorklet.h
new file mode 100644
index 0000000..858d1e9
--- /dev/null
+++ b/third_party/WebKit/Source/core/workers/MainThreadWorklet.h
@@ -0,0 +1,53 @@
+// 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 MainThreadWorklet_h
+#define MainThreadWorklet_h
+
+#include "core/workers/Worklet.h"
+
+#include "bindings/core/v8/ScriptPromiseResolver.h"
+#include "core/CoreExport.h"
+#include "core/loader/WorkletScriptLoader.h"
+#include "platform/heap/Handle.h"
+
+namespace blink {
+
+class LocalFrame;
+
+// A MainThreadWorklet is a worklet that runs only on the main thread.
+// TODO(nhiroki): This is a temporary class to support module loading for main
+// thread worklets. This and ThreadedWorklet will be merged into the base
+// Worklet class once threaded worklets are ready to use module loading.
+class CORE_EXPORT MainThreadWorklet : public Worklet,
+                                      public WorkletScriptLoader::Client {
+  USING_GARBAGE_COLLECTED_MIXIN(MainThreadWorklet);
+  WTF_MAKE_NONCOPYABLE(MainThreadWorklet);
+
+ public:
+  virtual ~MainThreadWorklet() = default;
+
+  // Worklet
+  ScriptPromise import(ScriptState*, const String& url) final;
+
+  // WorkletScriptLoader::Client
+  void NotifyWorkletScriptLoadingFinished(WorkletScriptLoader*,
+                                          const ScriptSourceCode&) final;
+
+  // ContextLifecycleObserver
+  void ContextDestroyed(ExecutionContext*) final;
+
+  DECLARE_VIRTUAL_TRACE();
+
+ protected:
+  explicit MainThreadWorklet(LocalFrame*);
+
+ private:
+  HeapHashMap<Member<WorkletScriptLoader>, Member<ScriptPromiseResolver>>
+      loader_to_resolver_map_;
+};
+
+}  // namespace blink
+
+#endif  // MainThreadWorklet_h
diff --git a/third_party/WebKit/Source/core/workers/ThreadedWorklet.cpp b/third_party/WebKit/Source/core/workers/ThreadedWorklet.cpp
new file mode 100644
index 0000000..d60cded
--- /dev/null
+++ b/third_party/WebKit/Source/core/workers/ThreadedWorklet.cpp
@@ -0,0 +1,78 @@
+// 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 "core/workers/ThreadedWorklet.h"
+
+#include "bindings/core/v8/ScriptSourceCode.h"
+#include "bindings/core/v8/V8Binding.h"
+#include "core/dom/DOMException.h"
+#include "core/dom/Document.h"
+#include "core/dom/ExceptionCode.h"
+#include "core/frame/LocalFrame.h"
+#include "core/workers/WorkletGlobalScopeProxy.h"
+#include "platform/wtf/WTF.h"
+
+namespace blink {
+
+ThreadedWorklet::ThreadedWorklet(LocalFrame* frame) : Worklet(frame) {}
+
+ScriptPromise ThreadedWorklet::import(ScriptState* script_state,
+                                      const String& url) {
+  DCHECK(IsMainThread());
+  if (!GetExecutionContext()) {
+    return ScriptPromise::RejectWithDOMException(
+        script_state, DOMException::Create(kInvalidStateError,
+                                           "This frame is already detached"));
+  }
+
+  KURL script_url = GetExecutionContext()->CompleteURL(url);
+  if (!script_url.IsValid()) {
+    return ScriptPromise::RejectWithDOMException(
+        script_state, DOMException::Create(
+                          kSyntaxError, "'" + url + "' is not a valid URL."));
+  }
+
+  if (!IsInitialized())
+    Initialize();
+
+  ScriptPromiseResolver* resolver = ScriptPromiseResolver::Create(script_state);
+  ScriptPromise promise = resolver->Promise();
+
+  WorkletScriptLoader* script_loader =
+      WorkletScriptLoader::Create(frame_->GetDocument()->Fetcher(), this);
+  loader_to_resolver_map_.Set(script_loader, resolver);
+  script_loader->FetchScript(script_url);
+  return promise;
+}
+
+void ThreadedWorklet::NotifyWorkletScriptLoadingFinished(
+    WorkletScriptLoader* script_loader,
+    const ScriptSourceCode& source_code) {
+  DCHECK(IsMainThread());
+  ScriptPromiseResolver* resolver = loader_to_resolver_map_.at(script_loader);
+  loader_to_resolver_map_.erase(script_loader);
+
+  if (!script_loader->WasScriptLoadSuccessful()) {
+    resolver->Reject(DOMException::Create(kNetworkError));
+    return;
+  }
+
+  GetWorkletGlobalScopeProxy()->EvaluateScript(source_code);
+  resolver->Resolve();
+}
+
+void ThreadedWorklet::ContextDestroyed(ExecutionContext* execution_context) {
+  DCHECK(IsMainThread());
+  for (const auto& script_loader : loader_to_resolver_map_.Keys())
+    script_loader->Cancel();
+  loader_to_resolver_map_.Clear();
+  Worklet::ContextDestroyed(execution_context);
+}
+
+DEFINE_TRACE(ThreadedWorklet) {
+  visitor->Trace(loader_to_resolver_map_);
+  Worklet::Trace(visitor);
+}
+
+}  // namespace blink
diff --git a/third_party/WebKit/Source/core/workers/ThreadedWorklet.h b/third_party/WebKit/Source/core/workers/ThreadedWorklet.h
new file mode 100644
index 0000000..24155c8
--- /dev/null
+++ b/third_party/WebKit/Source/core/workers/ThreadedWorklet.h
@@ -0,0 +1,54 @@
+// 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 ThreadedWorklet_h
+#define ThreadedWorklet_h
+
+#include "core/workers/Worklet.h"
+
+#include "bindings/core/v8/ScriptPromiseResolver.h"
+#include "core/CoreExport.h"
+#include "core/loader/WorkletScriptLoader.h"
+#include "platform/heap/Handle.h"
+
+namespace blink {
+
+class LocalFrame;
+
+// A ThreadedWorklet is a worklet that runs off the main thread.
+// TODO(nhiroki): This is a temporary class to keep classic script loading for
+// threaded worklets while module loading is being implemented for main thread
+// worklets. This and MainThreadWorklet will be merged into the base Worklet
+// class once threaded worklets are also ready to use module loading.
+class CORE_EXPORT ThreadedWorklet : public Worklet,
+                                    public WorkletScriptLoader::Client {
+  USING_GARBAGE_COLLECTED_MIXIN(ThreadedWorklet);
+  WTF_MAKE_NONCOPYABLE(ThreadedWorklet);
+
+ public:
+  virtual ~ThreadedWorklet() = default;
+
+  // Worklet
+  ScriptPromise import(ScriptState*, const String& url) final;
+
+  // WorkletScriptLoader::Client
+  void NotifyWorkletScriptLoadingFinished(WorkletScriptLoader*,
+                                          const ScriptSourceCode&) final;
+
+  // ContextLifecycleObserver
+  void ContextDestroyed(ExecutionContext*) final;
+
+  DECLARE_VIRTUAL_TRACE();
+
+ protected:
+  explicit ThreadedWorklet(LocalFrame*);
+
+ private:
+  HeapHashMap<Member<WorkletScriptLoader>, Member<ScriptPromiseResolver>>
+      loader_to_resolver_map_;
+};
+
+}  // namespace blink
+
+#endif  // ThreadedWorklet_h
diff --git a/third_party/WebKit/Source/core/workers/WorkerGlobalScope.cpp b/third_party/WebKit/Source/core/workers/WorkerGlobalScope.cpp
index 15c1f3392..ef1511b3 100644
--- a/third_party/WebKit/Source/core/workers/WorkerGlobalScope.cpp
+++ b/third_party/WebKit/Source/core/workers/WorkerGlobalScope.cpp
@@ -93,13 +93,13 @@
   // is destroyed.
   closing_ = true;
   HeapHashSet<Member<V8AbstractEventListener>> listeners;
-  listeners.Swap(event_listeners_);
+  listeners.swap(event_listeners_);
   while (!listeners.IsEmpty()) {
     for (const auto& listener : listeners)
       listener->ClearListenerObject();
     listeners.Clear();
     // Pick up any additions made while iterating.
-    listeners.Swap(event_listeners_);
+    listeners.swap(event_listeners_);
   }
   RemoveAllEventListeners();
 
diff --git a/third_party/WebKit/Source/core/workers/Worklet.cpp b/third_party/WebKit/Source/core/workers/Worklet.cpp
index a5f9e2a9..1e6c274 100644
--- a/third_party/WebKit/Source/core/workers/Worklet.cpp
+++ b/third_party/WebKit/Source/core/workers/Worklet.cpp
@@ -4,77 +4,27 @@
 
 #include "core/workers/Worklet.h"
 
-#include "bindings/core/v8/ScriptSourceCode.h"
-#include "bindings/core/v8/V8Binding.h"
 #include "core/dom/DOMException.h"
 #include "core/dom/Document.h"
-#include "core/dom/ExceptionCode.h"
 #include "core/frame/LocalFrame.h"
 #include "core/workers/WorkletGlobalScopeProxy.h"
-#include "platform/wtf/WTF.h"
 
 namespace blink {
 
 Worklet::Worklet(LocalFrame* frame)
-    : ContextLifecycleObserver(frame->GetDocument()), frame_(frame) {}
-
-ScriptPromise Worklet::import(ScriptState* script_state, const String& url) {
+    : ContextLifecycleObserver(frame->GetDocument()), frame_(frame) {
   DCHECK(IsMainThread());
-  if (!GetExecutionContext()) {
-    return ScriptPromise::RejectWithDOMException(
-        script_state, DOMException::Create(kInvalidStateError,
-                                           "This frame is already detached"));
-  }
-
-  KURL script_url = GetExecutionContext()->CompleteURL(url);
-  if (!script_url.IsValid()) {
-    return ScriptPromise::RejectWithDOMException(
-        script_state, DOMException::Create(
-                          kSyntaxError, "'" + url + "' is not a valid URL."));
-  }
-
-  if (!IsInitialized())
-    Initialize();
-
-  ScriptPromiseResolver* resolver = ScriptPromiseResolver::Create(script_state);
-  ScriptPromise promise = resolver->Promise();
-
-  WorkletScriptLoader* script_loader =
-      WorkletScriptLoader::Create(frame_->GetDocument()->Fetcher(), this);
-  loader_and_resolvers_.Set(script_loader, resolver);
-  script_loader->FetchScript(script_url);
-  return promise;
-}
-
-void Worklet::NotifyWorkletScriptLoadingFinished(
-    WorkletScriptLoader* script_loader,
-    const ScriptSourceCode& source_code) {
-  DCHECK(IsMainThread());
-  ScriptPromiseResolver* resolver = loader_and_resolvers_.at(script_loader);
-  loader_and_resolvers_.erase(script_loader);
-
-  if (!script_loader->WasScriptLoadSuccessful()) {
-    resolver->Reject(DOMException::Create(kNetworkError));
-    return;
-  }
-
-  GetWorkletGlobalScopeProxy()->EvaluateScript(source_code);
-  resolver->Resolve();
 }
 
 void Worklet::ContextDestroyed(ExecutionContext*) {
   DCHECK(IsMainThread());
   if (IsInitialized())
     GetWorkletGlobalScopeProxy()->TerminateWorkletGlobalScope();
-  for (const auto& script_loader : loader_and_resolvers_.Keys())
-    script_loader->Cancel();
-  loader_and_resolvers_.Clear();
   frame_ = nullptr;
 }
 
 DEFINE_TRACE(Worklet) {
   visitor->Trace(frame_);
-  visitor->Trace(loader_and_resolvers_);
   ContextLifecycleObserver::Trace(visitor);
 }
 
diff --git a/third_party/WebKit/Source/core/workers/Worklet.h b/third_party/WebKit/Source/core/workers/Worklet.h
index 6d44e30..f482229f 100644
--- a/third_party/WebKit/Source/core/workers/Worklet.h
+++ b/third_party/WebKit/Source/core/workers/Worklet.h
@@ -6,21 +6,21 @@
 #define Worklet_h
 
 #include "bindings/core/v8/ScriptPromise.h"
-#include "bindings/core/v8/ScriptPromiseResolver.h"
 #include "bindings/core/v8/ScriptWrappable.h"
 #include "core/CoreExport.h"
 #include "core/dom/ContextLifecycleObserver.h"
-#include "core/loader/WorkletScriptLoader.h"
 #include "platform/heap/Handle.h"
-#include "platform/loader/fetch/ResourceFetcher.h"
 
 namespace blink {
 
 class LocalFrame;
 class WorkletGlobalScopeProxy;
 
+// This is the base implementation of Worklet interface defined in the spec:
+// https://drafts.css-houdini.org/worklets/#worklet
+// Although some worklets run off the main thread, this must be created and
+// destroyed on the main thread.
 class CORE_EXPORT Worklet : public GarbageCollectedFinalized<Worklet>,
-                            public WorkletScriptLoader::Client,
                             public ScriptWrappable,
                             public ContextLifecycleObserver {
   DEFINE_WRAPPERTYPEINFO();
@@ -33,17 +33,15 @@
   virtual void Initialize() {}
   virtual bool IsInitialized() const { return true; }
 
+  // Worklet.idl
+  // import() imports ES6 module scripts.
+  virtual ScriptPromise import(ScriptState*, const String& url) = 0;
+
+  // Returns a proxy to WorkletGlobalScope on the context thread.
   virtual WorkletGlobalScopeProxy* GetWorkletGlobalScopeProxy() const = 0;
 
-  // Worklet
-  ScriptPromise import(ScriptState*, const String& url);
-
-  // WorkletScriptLoader::Client
-  void NotifyWorkletScriptLoadingFinished(WorkletScriptLoader*,
-                                          const ScriptSourceCode&) final;
-
   // ContextLifecycleObserver
-  void ContextDestroyed(ExecutionContext*) final;
+  virtual void ContextDestroyed(ExecutionContext*);
 
   DECLARE_VIRTUAL_TRACE();
 
@@ -51,10 +49,7 @@
   // The Worklet inherits the url and userAgent from the frame->document().
   explicit Worklet(LocalFrame*);
 
- private:
   Member<LocalFrame> frame_;
-  HeapHashMap<Member<WorkletScriptLoader>, Member<ScriptPromiseResolver>>
-      loader_and_resolvers_;
 };
 
 }  // namespace blink
diff --git a/third_party/WebKit/Source/devtools/front_end/elements/module.json b/third_party/WebKit/Source/devtools/front_end/elements/module.json
index 11b7c4d..684632f 100644
--- a/third_party/WebKit/Source/devtools/front_end/elements/module.json
+++ b/third_party/WebKit/Source/devtools/front_end/elements/module.json
@@ -219,6 +219,7 @@
         {
             "type": "@UI.ViewLocationResolver",
             "name": "elements-sidebar",
+            "category": "Elements",
             "className": "Elements.ElementsPanel"
         },
         {
diff --git a/third_party/WebKit/Source/devtools/front_end/emulation/DeviceModeToolbar.js b/third_party/WebKit/Source/devtools/front_end/emulation/DeviceModeToolbar.js
index 0abeced..4d2d9a8 100644
--- a/third_party/WebKit/Source/devtools/front_end/emulation/DeviceModeToolbar.js
+++ b/third_party/WebKit/Source/devtools/front_end/emulation/DeviceModeToolbar.js
@@ -149,7 +149,6 @@
     this._deviceScaleItem.setTitle(Common.UIString('Device pixel ratio'));
     this._deviceScaleItem.setGlyph('');
     this._deviceScaleItem.turnIntoSelect();
-    this._deviceScaleItem.element.style.padding = '0 5px';
     toolbar.appendToolbarItem(this._deviceScaleItem);
 
     toolbar.appendToolbarItem(
@@ -159,7 +158,6 @@
     this._uaItem.setTitle(Common.UIString('Device type'));
     this._uaItem.setGlyph('');
     this._uaItem.turnIntoSelect();
-    this._uaItem.element.style.padding = '0 5px';
     toolbar.appendToolbarItem(this._uaItem);
   }
 
@@ -181,7 +179,6 @@
     this._networkConditionsItem = NetworkConditions.NetworkConditionsSelector.createToolbarMenuButton();
     this._networkConditionsItem.setVisible(this._showNetworkConditionsSetting.get());
     this._networkConditionsItem.setTitle(Common.UIString('Network throttling'));
-    this._networkConditionsItem.element.style.padding = '0 5px';
     this._networkConditionsItem.element.style.maxWidth = '140px';
     toolbar.appendToolbarItem(this._networkConditionsItem);
 
diff --git a/third_party/WebKit/Source/devtools/front_end/main/module.json b/third_party/WebKit/Source/devtools/front_end/main/module.json
index 61d3623..9e5a909 100644
--- a/third_party/WebKit/Source/devtools/front_end/main/module.json
+++ b/third_party/WebKit/Source/devtools/front_end/main/module.json
@@ -413,6 +413,13 @@
         {
             "type": "@UI.ViewLocationResolver",
             "name": "drawer-view",
+            "category": "Drawer",
+            "className": "UI.InspectorView"
+        },
+        {
+            "type": "@UI.ViewLocationResolver",
+            "name": "panel",
+            "category": "Panel",
             "className": "UI.InspectorView"
         },
         {
diff --git a/third_party/WebKit/Source/devtools/front_end/quick_open/CommandMenu.js b/third_party/WebKit/Source/devtools/front_end/quick_open/CommandMenu.js
index 0ca09d3..90b98ea 100644
--- a/third_party/WebKit/Source/devtools/front_end/quick_open/CommandMenu.js
+++ b/third_party/WebKit/Source/devtools/front_end/quick_open/CommandMenu.js
@@ -59,35 +59,30 @@
 
   /**
    * @param {!Runtime.Extension} extension
+   * @param {string} category
    * @return {!QuickOpen.CommandMenu.Command}
    */
-  static createRevealPanelCommand(extension) {
-    var panelId = extension.descriptor()['id'];
-    var executeHandler = UI.viewManager.showView.bind(UI.viewManager, panelId);
+  static createRevealViewCommand(extension, category) {
+    var viewId = extension.descriptor()['id'];
+    var executeHandler = UI.viewManager.showView.bind(UI.viewManager, viewId);
     var tags = extension.descriptor()['tags'] || '';
     return QuickOpen.CommandMenu.createCommand(
-        Common.UIString('Panel'), tags, Common.UIString('Show %s', extension.title()), '', executeHandler);
-  }
-
-  /**
-   * @param {!Runtime.Extension} extension
-   * @return {!QuickOpen.CommandMenu.Command}
-   */
-  static createRevealDrawerCommand(extension) {
-    var drawerId = extension.descriptor()['id'];
-    var executeHandler = UI.viewManager.showView.bind(UI.viewManager, drawerId);
-    var tags = extension.descriptor()['tags'] || '';
-    return QuickOpen.CommandMenu.createCommand(
-        Common.UIString('Drawer'), tags, Common.UIString('Show %s', extension.title()), '', executeHandler);
+        category, tags, Common.UIString('Show %s', extension.title()), '', executeHandler);
   }
 
   _loadCommands() {
+    var locations = new Map();
+    self.runtime.extensions(UI.ViewLocationResolver).forEach(extension => {
+      var category = extension.descriptor()['category'];
+      var name = extension.descriptor()['name'];
+      if (category && name)
+        locations.set(name, category);
+    });
     var viewExtensions = self.runtime.extensions('view');
     for (var extension of viewExtensions) {
-      if (extension.descriptor()['location'] === 'panel')
-        this._commands.push(QuickOpen.CommandMenu.createRevealPanelCommand(extension));
-      else if (extension.descriptor()['location'] === 'drawer-view')
-        this._commands.push(QuickOpen.CommandMenu.createRevealDrawerCommand(extension));
+      var category = locations.get(extension.descriptor()['location']);
+      if (category)
+        this._commands.push(QuickOpen.CommandMenu.createRevealViewCommand(extension, category));
     }
 
     // Populate whitelisted settings.
diff --git a/third_party/WebKit/Source/devtools/front_end/settings/module.json b/third_party/WebKit/Source/devtools/front_end/settings/module.json
index 50d0233..f73e1ba 100644
--- a/third_party/WebKit/Source/devtools/front_end/settings/module.json
+++ b/third_party/WebKit/Source/devtools/front_end/settings/module.json
@@ -79,6 +79,7 @@
         {
             "type": "@UI.ViewLocationResolver",
             "name": "settings-view",
+            "category": "Settings",
             "className": "Settings.SettingsScreen"
         }
     ],
diff --git a/third_party/WebKit/Source/devtools/front_end/sources/EventListenerBreakpointsSidebarPane.js b/third_party/WebKit/Source/devtools/front_end/sources/EventListenerBreakpointsSidebarPane.js
index 16c94cea..20d24b1 100644
--- a/third_party/WebKit/Source/devtools/front_end/sources/EventListenerBreakpointsSidebarPane.js
+++ b/third_party/WebKit/Source/devtools/front_end/sources/EventListenerBreakpointsSidebarPane.js
@@ -10,7 +10,8 @@
     super();
     this.registerRequiredCSS('components/breakpointsList.css');
 
-    this._eventListenerBreakpointsSetting = Common.settings.createLocalSetting('eventListenerBreakpoints', []);
+    this._eventListenerBreakpointsSetting =
+        Common.settings.createSetting('eventListenerBreakpoints', [], Common.SettingStorageType.Session);
 
     this._categoriesTreeOutline = new UI.TreeOutlineInShadow();
     this._categoriesTreeOutline.element.tabIndex = 0;
diff --git a/third_party/WebKit/Source/devtools/front_end/sources/JavaScriptSourceFrame.js b/third_party/WebKit/Source/devtools/front_end/sources/JavaScriptSourceFrame.js
index de2ac73..86fd83ac 100644
--- a/third_party/WebKit/Source/devtools/front_end/sources/JavaScriptSourceFrame.js
+++ b/third_party/WebKit/Source/devtools/front_end/sources/JavaScriptSourceFrame.js
@@ -1253,7 +1253,7 @@
     if (this._prettyPrintInfobar)
       return;
 
-    if (!TextUtils.isMinified(/** @type {string} */ (this._debuggerSourceCode.content())))
+    if (!TextUtils.isMinified(/** @type {string} */ (this.uiSourceCode().content())))
       return;
 
     this._prettyPrintInfobar = UI.Infobar.create(
diff --git a/third_party/WebKit/Source/devtools/front_end/sources/module.json b/third_party/WebKit/Source/devtools/front_end/sources/module.json
index 0795eb1..8a9d43c 100644
--- a/third_party/WebKit/Source/devtools/front_end/sources/module.json
+++ b/third_party/WebKit/Source/devtools/front_end/sources/module.json
@@ -503,6 +503,7 @@
         {
             "type": "@UI.ViewLocationResolver",
             "name": "sources-sidebar",
+            "category": "Sources",
             "className": "Sources.SourcesPanel"
         },
         {
diff --git a/third_party/WebKit/Source/devtools/front_end/ui/InspectorView.js b/third_party/WebKit/Source/devtools/front_end/ui/InspectorView.js
index 077d6c9a..fc8cf5f 100644
--- a/third_party/WebKit/Source/devtools/front_end/ui/InspectorView.js
+++ b/third_party/WebKit/Source/devtools/front_end/ui/InspectorView.js
@@ -111,7 +111,11 @@
    * @return {?UI.ViewLocation}
    */
   resolveLocation(locationName) {
-    return this._drawerTabbedLocation;
+    if (locationName === 'drawer-view')
+      return this._drawerTabbedLocation;
+    if (locationName === 'panel')
+      return this._tabbedLocation;
+    return null;
   }
 
   createToolbars() {
diff --git a/third_party/WebKit/Source/devtools/front_end/ui/toolbar.css b/third_party/WebKit/Source/devtools/front_end/ui/toolbar.css
index f7a09738..3958872b 100644
--- a/third_party/WebKit/Source/devtools/front_end/ui/toolbar.css
+++ b/third_party/WebKit/Source/devtools/front_end/ui/toolbar.css
@@ -80,7 +80,6 @@
 .toolbar-has-dropdown {
     justify-content: space-between;
     padding: 0 3px 0 5px;
-    margin: 0 -3px 0 -5px;
 }
 
 .toolbar-has-dropdown .toolbar-text {
diff --git a/third_party/WebKit/Source/modules/BUILD.gn b/third_party/WebKit/Source/modules/BUILD.gn
index 5bf90b87..1c9f5a7 100644
--- a/third_party/WebKit/Source/modules/BUILD.gn
+++ b/third_party/WebKit/Source/modules/BUILD.gn
@@ -261,6 +261,7 @@
     "fetch/DataConsumerHandleTestUtil.cpp",
     "fetch/DataConsumerHandleTestUtil.h",
     "fetch/FetchDataLoaderTest.cpp",
+    "fetch/FetchHeaderListTest.cpp",
     "fetch/FetchResponseDataTest.cpp",
     "fetch/FormDataBytesConsumerTest.cpp",
     "fetch/ReadableStreamBytesConsumerTest.cpp",
diff --git a/third_party/WebKit/Source/modules/DEPS b/third_party/WebKit/Source/modules/DEPS
index 597a641..9f2ddf77 100644
--- a/third_party/WebKit/Source/modules/DEPS
+++ b/third_party/WebKit/Source/modules/DEPS
@@ -5,7 +5,4 @@
     "+platform",
     "+public/platform",
     "-web",
-
-    # Use platform/wtf/ now (see crbug.com/691465).
-    "-wtf/",
 ]
diff --git a/third_party/WebKit/Source/modules/beacon/NavigatorBeacon.cpp b/third_party/WebKit/Source/modules/beacon/NavigatorBeacon.cpp
index 972a63f..0b2d6ac 100644
--- a/third_party/WebKit/Source/modules/beacon/NavigatorBeacon.cpp
+++ b/third_party/WebKit/Source/modules/beacon/NavigatorBeacon.cpp
@@ -47,14 +47,13 @@
                                     const KURL& url,
                                     ExceptionState& exception_state) {
   if (!url.IsValid()) {
-    exception_state.ThrowDOMException(
-        kSyntaxError, "The URL argument is ill-formed or unsupported.");
+    exception_state.ThrowTypeError(
+        "The URL argument is ill-formed or unsupported.");
     return false;
   }
   // For now, only support HTTP and related.
   if (!url.ProtocolIsInHTTPFamily()) {
-    exception_state.ThrowDOMException(
-        kSyntaxError, "Beacons are only supported over HTTP(S).");
+    exception_state.ThrowTypeError("Beacons are only supported over HTTP(S).");
     return false;
   }
 
diff --git a/third_party/WebKit/Source/modules/bluetooth/BluetoothError.h b/third_party/WebKit/Source/modules/bluetooth/BluetoothError.h
index 0138b9e..c07a614 100644
--- a/third_party/WebKit/Source/modules/bluetooth/BluetoothError.h
+++ b/third_party/WebKit/Source/modules/bluetooth/BluetoothError.h
@@ -7,7 +7,7 @@
 
 #include "platform/heap/Handle.h"
 #include "platform/wtf/Allocator.h"
-#include "third_party/WebKit/public/platform/modules/bluetooth/web_bluetooth.mojom-blink.h"
+#include "public/platform/modules/bluetooth/web_bluetooth.mojom-blink.h"
 
 namespace blink {
 
diff --git a/third_party/WebKit/Source/modules/broadcastchannel/BroadcastChannel.h b/third_party/WebKit/Source/modules/broadcastchannel/BroadcastChannel.h
index b80dd2b..e6c825a 100644
--- a/third_party/WebKit/Source/modules/broadcastchannel/BroadcastChannel.h
+++ b/third_party/WebKit/Source/modules/broadcastchannel/BroadcastChannel.h
@@ -10,7 +10,7 @@
 #include "core/events/EventTarget.h"
 #include "mojo/public/cpp/bindings/associated_binding.h"
 #include "platform/weborigin/SecurityOrigin.h"
-#include "third_party/WebKit/public/platform/modules/broadcastchannel/broadcast_channel.mojom-blink.h"
+#include "public/platform/modules/broadcastchannel/broadcast_channel.mojom-blink.h"
 
 namespace blink {
 
diff --git a/third_party/WebKit/Source/modules/cachestorage/Cache.cpp b/third_party/WebKit/Source/modules/cachestorage/Cache.cpp
index 174bd4d..bf116ee 100644
--- a/third_party/WebKit/Source/modules/cachestorage/Cache.cpp
+++ b/third_party/WebKit/Source/modules/cachestorage/Cache.cpp
@@ -205,16 +205,13 @@
 
 bool VaryHeaderContainsAsterisk(const Response* response) {
   const FetchHeaderList* headers = response->headers()->HeaderList();
-  for (size_t i = 0; i < headers->size(); ++i) {
-    const FetchHeaderList::Header& header = headers->Entry(i);
-    if (header.first == "vary") {
-      Vector<String> fields;
-      header.second.Split(',', fields);
-      for (size_t j = 0; j < fields.size(); ++j) {
-        if (fields[j].StripWhiteSpace() == "*")
-          return true;
-      }
-    }
+  String varyHeader;
+  if (headers->Get("vary", varyHeader)) {
+    Vector<String> fields;
+    varyHeader.Split(',', fields);
+    return std::any_of(fields.begin(), fields.end(), [](const String& field) {
+      return field.StripWhiteSpace() == "*";
+    });
   }
   return false;
 }
diff --git a/third_party/WebKit/Source/modules/canvas2d/CanvasRenderingContext2D.cpp b/third_party/WebKit/Source/modules/canvas2d/CanvasRenderingContext2D.cpp
index 1395cf4..deb6671 100644
--- a/third_party/WebKit/Source/modules/canvas2d/CanvasRenderingContext2D.cpp
+++ b/third_party/WebKit/Source/modules/canvas2d/CanvasRenderingContext2D.cpp
@@ -531,7 +531,7 @@
 void CanvasRenderingContext2D::PruneLocalFontCache(size_t target_size) {
   if (target_size == 0) {
     // Short cut: LRU does not matter when evicting everything
-    font_lru_list_.Clear();
+    font_lru_list_.clear();
     fonts_resolved_using_current_style_.Clear();
     return;
   }
diff --git a/third_party/WebKit/Source/modules/canvas2d/CanvasRenderingContext2DTest.cpp b/third_party/WebKit/Source/modules/canvas2d/CanvasRenderingContext2DTest.cpp
index 32d3a1a..0df9635 100644
--- a/third_party/WebKit/Source/modules/canvas2d/CanvasRenderingContext2DTest.cpp
+++ b/third_party/WebKit/Source/modules/canvas2d/CanvasRenderingContext2DTest.cpp
@@ -10,10 +10,13 @@
 #include "core/dom/Document.h"
 #include "core/frame/FrameView.h"
 #include "core/frame/ImageBitmap.h"
+#include "core/frame/Settings.h"
 #include "core/html/HTMLCanvasElement.h"
 #include "core/html/ImageData.h"
 #include "core/imagebitmap/ImageBitmapOptions.h"
+#include "core/layout/LayoutBoxModelObject.h"
 #include "core/loader/EmptyClients.h"
+#include "core/paint/PaintLayer.h"
 #include "core/testing/DummyPageHolder.h"
 #include "modules/canvas2d/CanvasGradient.h"
 #include "modules/canvas2d/CanvasPattern.h"
@@ -26,7 +29,9 @@
 #include "platform/graphics/test/FakeGLES2Interface.h"
 #include "platform/graphics/test/FakeWebGraphicsContext3DProvider.h"
 #include "platform/loader/fetch/MemoryCache.h"
+#include "platform/testing/TestingPlatformSupport.h"
 #include "platform/wtf/PtrUtil.h"
+#include "public/platform/scheduler/test/renderer_scheduler_test_support.h"
 #include "testing/gmock/include/gmock/gmock.h"
 #include "testing/gtest/include/gtest/gtest.h"
 #include "third_party/skia/include/core/SkColorSpaceXform.h"
@@ -166,6 +171,9 @@
   FakeImageSource opaque_bitmap_;
   FakeImageSource alpha_bitmap_;
 
+  // Set this to override frame settings.
+  FrameSettingOverrideFunction override_settings_function_ = nullptr;
+
   StringOrCanvasGradientOrCanvasPattern& OpaqueGradient() {
     return wrap_gradients_->opaque_gradient_;
   }
@@ -200,7 +208,8 @@
   Page::PageClients page_clients;
   FillWithEmptyClients(page_clients);
   dummy_page_holder_ =
-      DummyPageHolder::Create(IntSize(800, 600), &page_clients);
+      DummyPageHolder::Create(IntSize(800, 600), &page_clients, nullptr,
+                              override_settings_function_, nullptr);
   document_ = &dummy_page_holder_->GetDocument();
   document_->documentElement()->setInnerHTML(
       "<body><canvas id='c'></canvas></body>");
@@ -1385,4 +1394,70 @@
       color_correct_rendering_default_mode_runtime_flag);
 }
 
+void OverrideScriptEnabled(Settings& settings) {
+  // Simulate that we allow scripts, so that HTMLCanvasElement uses
+  // LayoutHTMLCanvas.
+  settings.SetScriptEnabled(true);
+}
+
+class CanvasRenderingContext2DTestWithTestingPlatform
+    : public CanvasRenderingContext2DTest {
+ protected:
+  void SetUp() override {
+    override_settings_function_ = &OverrideScriptEnabled;
+    platform_->AdvanceClockSeconds(1.);  // For non-zero DocumentParserTimings.
+    CanvasRenderingContext2DTest::SetUp();
+    GetDocument().View()->UpdateLayout();
+  }
+
+  void RunUntilIdle() { platform_->RunUntilIdle(); }
+
+  ScopedTestingPlatformSupport<TestingPlatformSupportWithMockScheduler>
+      platform_;
+};
+
+// https://crbug.com/708445: When the Canvas2DLayerBridge hibernates or wakes up
+// from hibernation, the compositing reasons for the canvas element may change.
+// In these cases, the element should request a compositing update.
+TEST_F(CanvasRenderingContext2DTestWithTestingPlatform,
+       ElementRequestsCompositingUpdateOnHibernateAndWakeUp) {
+  CreateContext(kNonOpaque);
+  FakeGLES2Interface gl;
+  std::unique_ptr<FakeWebGraphicsContext3DProvider> context_provider(
+      new FakeWebGraphicsContext3DProvider(&gl));
+  IntSize size(300, 300);
+  RefPtr<Canvas2DLayerBridge> bridge =
+      MakeBridge(std::move(context_provider), size,
+                 Canvas2DLayerBridge::kEnableAcceleration);
+  // Force hibernatation to occur in an immediate task.
+  bridge->DontUseIdleSchedulingForTesting();
+  std::unique_ptr<Canvas2DImageBufferSurface> surface(
+      new Canvas2DImageBufferSurface(bridge, size));
+  CanvasElement().CreateImageBufferUsingSurfaceForTesting(std::move(surface));
+
+  EXPECT_TRUE(CanvasElement().Buffer()->IsAccelerated());
+
+  EXPECT_TRUE(CanvasElement().GetLayoutBoxModelObject());
+  PaintLayer* layer = CanvasElement().GetLayoutBoxModelObject()->Layer();
+  EXPECT_TRUE(layer);
+  GetDocument().View()->UpdateAllLifecyclePhases();
+
+  // Hide element to trigger hibernation (if enabled).
+  GetDocument().GetPage()->SetVisibilityState(kPageVisibilityStateHidden,
+                                              false);
+  RunUntilIdle();  // Run hibernation task.
+  // If enabled, hibernation should cause compositing update.
+  EXPECT_EQ(!!CANVAS2D_HIBERNATION_ENABLED,
+            layer->NeedsCompositingInputsUpdate());
+
+  GetDocument().View()->UpdateAllLifecyclePhases();
+  EXPECT_FALSE(layer->NeedsCompositingInputsUpdate());
+
+  // Wake up again, which should request a compositing update synchronously.
+  GetDocument().GetPage()->SetVisibilityState(kPageVisibilityStateVisible,
+                                              false);
+  EXPECT_EQ(!!CANVAS2D_HIBERNATION_ENABLED,
+            layer->NeedsCompositingInputsUpdate());
+}
+
 }  // namespace blink
diff --git a/third_party/WebKit/Source/modules/canvas2d/HitRegion.cpp b/third_party/WebKit/Source/modules/canvas2d/HitRegion.cpp
index 65b912264..2d2ae48 100644
--- a/third_party/WebKit/Source/modules/canvas2d/HitRegion.cpp
+++ b/third_party/WebKit/Source/modules/canvas2d/HitRegion.cpp
@@ -84,7 +84,7 @@
 }
 
 void HitRegionManager::RemoveAllHitRegions() {
-  hit_region_list_.Clear();
+  hit_region_list_.clear();
   hit_region_id_map_.Clear();
   hit_region_control_map_.Clear();
 }
diff --git a/third_party/WebKit/Source/modules/compositorworker/AnimationWorklet.cpp b/third_party/WebKit/Source/modules/compositorworker/AnimationWorklet.cpp
index dded2c3..6f85765 100644
--- a/third_party/WebKit/Source/modules/compositorworker/AnimationWorklet.cpp
+++ b/third_party/WebKit/Source/modules/compositorworker/AnimationWorklet.cpp
@@ -20,7 +20,7 @@
 }
 
 AnimationWorklet::AnimationWorklet(LocalFrame* frame)
-    : Worklet(frame), worklet_messaging_proxy_(nullptr) {}
+    : ThreadedWorklet(frame), worklet_messaging_proxy_(nullptr) {}
 
 AnimationWorklet::~AnimationWorklet() {
   if (worklet_messaging_proxy_)
@@ -52,7 +52,7 @@
 }
 
 DEFINE_TRACE(AnimationWorklet) {
-  Worklet::Trace(visitor);
+  ThreadedWorklet::Trace(visitor);
 }
 
 }  // namespace blink
diff --git a/third_party/WebKit/Source/modules/compositorworker/AnimationWorklet.h b/third_party/WebKit/Source/modules/compositorworker/AnimationWorklet.h
index b83e567b..7fb42f4 100644
--- a/third_party/WebKit/Source/modules/compositorworker/AnimationWorklet.h
+++ b/third_party/WebKit/Source/modules/compositorworker/AnimationWorklet.h
@@ -5,7 +5,7 @@
 #ifndef AnimationWorklet_h
 #define AnimationWorklet_h
 
-#include "core/workers/Worklet.h"
+#include "core/workers/ThreadedWorklet.h"
 #include "modules/ModulesExport.h"
 #include "platform/heap/Handle.h"
 
@@ -15,7 +15,7 @@
 class ThreadedWorkletMessagingProxy;
 class WorkletGlobalScopeProxy;
 
-class MODULES_EXPORT AnimationWorklet final : public Worklet {
+class MODULES_EXPORT AnimationWorklet final : public ThreadedWorklet {
   WTF_MAKE_NONCOPYABLE(AnimationWorklet);
 
  public:
diff --git a/third_party/WebKit/Source/modules/csspaint/PaintWorklet.cpp b/third_party/WebKit/Source/modules/csspaint/PaintWorklet.cpp
index 71c5f98..56cb710 100644
--- a/third_party/WebKit/Source/modules/csspaint/PaintWorklet.cpp
+++ b/third_party/WebKit/Source/modules/csspaint/PaintWorklet.cpp
@@ -17,7 +17,7 @@
 }
 
 PaintWorklet::PaintWorklet(LocalFrame* frame)
-    : Worklet(frame),
+    : MainThreadWorklet(frame),
       paint_worklet_global_scope_(PaintWorkletGlobalScope::Create(
           frame,
           frame->GetDocument()->Url(),
@@ -42,7 +42,7 @@
 
 DEFINE_TRACE(PaintWorklet) {
   visitor->Trace(paint_worklet_global_scope_);
-  Worklet::Trace(visitor);
+  MainThreadWorklet::Trace(visitor);
 }
 
 }  // namespace blink
diff --git a/third_party/WebKit/Source/modules/csspaint/PaintWorklet.h b/third_party/WebKit/Source/modules/csspaint/PaintWorklet.h
index 31cc827..762df33 100644
--- a/third_party/WebKit/Source/modules/csspaint/PaintWorklet.h
+++ b/third_party/WebKit/Source/modules/csspaint/PaintWorklet.h
@@ -5,7 +5,7 @@
 #ifndef PaintWorklet_h
 #define PaintWorklet_h
 
-#include "core/workers/Worklet.h"
+#include "core/workers/MainThreadWorklet.h"
 #include "modules/ModulesExport.h"
 #include "modules/csspaint/PaintWorkletGlobalScope.h"
 #include "platform/heap/Handle.h"
@@ -15,7 +15,7 @@
 class CSSPaintDefinition;
 class CSSPaintImageGeneratorImpl;
 
-class MODULES_EXPORT PaintWorklet final : public Worklet {
+class MODULES_EXPORT PaintWorklet final : public MainThreadWorklet {
   WTF_MAKE_NONCOPYABLE(PaintWorklet);
 
  public:
diff --git a/third_party/WebKit/Source/modules/encryptedmedia/NavigatorRequestMediaKeySystemAccess.cpp b/third_party/WebKit/Source/modules/encryptedmedia/NavigatorRequestMediaKeySystemAccess.cpp
index 5fceee8b..1dee6da 100644
--- a/third_party/WebKit/Source/modules/encryptedmedia/NavigatorRequestMediaKeySystemAccess.cpp
+++ b/third_party/WebKit/Source/modules/encryptedmedia/NavigatorRequestMediaKeySystemAccess.cpp
@@ -278,9 +278,20 @@
   //
   // Do not check settings for Clear Key.
   if (key_system != "org.w3.clearkey") {
-    // For other key systems, check settings.
-    if (!document->GetSettings() ||
-        !document->GetSettings()->GetEncryptedMediaEnabled()) {
+    // For other key systems, check settings and report UMA.
+    bool encypted_media_enabled =
+        document->GetSettings() &&
+        document->GetSettings()->GetEncryptedMediaEnabled();
+
+    static bool has_reported_uma = false;
+    if (!has_reported_uma) {
+      has_reported_uma = true;
+      DEFINE_STATIC_LOCAL(BooleanHistogram, histogram,
+                          ("Media.EME.EncryptedMediaEnabled"));
+      histogram.Count(encypted_media_enabled);
+    }
+
+    if (!encypted_media_enabled) {
       return ScriptPromise::RejectWithDOMException(
           script_state,
           DOMException::Create(kNotSupportedError, "Unsupported keySystem"));
diff --git a/third_party/WebKit/Source/modules/fetch/DataConsumerHandleTestUtil.h b/third_party/WebKit/Source/modules/fetch/DataConsumerHandleTestUtil.h
index a6021ba..3a45569 100644
--- a/third_party/WebKit/Source/modules/fetch/DataConsumerHandleTestUtil.h
+++ b/third_party/WebKit/Source/modules/fetch/DataConsumerHandleTestUtil.h
@@ -321,7 +321,7 @@
           BLINK_FROM_HERE,
           CrossThreadBind(&Self::SignalDone, WrapPassRefPtr(this)));
     }
-    void DidGetReadable() override { ASSERT_NOT_REACHED(); }
+    void DidGetReadable() override { NOTREACHED(); }
 
     std::unique_ptr<WebDataConsumerHandle> handle_;
   };
diff --git a/third_party/WebKit/Source/modules/fetch/FetchHeaderList.cpp b/third_party/WebKit/Source/modules/fetch/FetchHeaderList.cpp
index f8b5634ef..4ef2381c 100644
--- a/third_party/WebKit/Source/modules/fetch/FetchHeaderList.cpp
+++ b/third_party/WebKit/Source/modules/fetch/FetchHeaderList.cpp
@@ -5,9 +5,10 @@
 #include "modules/fetch/FetchHeaderList.h"
 
 #include <algorithm>
+#include <utility>
 #include "platform/loader/fetch/FetchUtils.h"
 #include "platform/network/HTTPParsers.h"
-#include "platform/wtf/PtrUtil.h"
+#include "platform/wtf/text/StringBuilder.h"
 
 namespace blink {
 
@@ -17,8 +18,8 @@
 
 FetchHeaderList* FetchHeaderList::Clone() const {
   FetchHeaderList* list = Create();
-  for (size_t i = 0; i < header_list_.size(); ++i)
-    list->Append(header_list_[i]->first, header_list_[i]->second);
+  for (const auto& header : header_list_)
+    list->Append(header.first, header.second);
   return list;
 }
 
@@ -27,35 +28,36 @@
 FetchHeaderList::~FetchHeaderList() {}
 
 void FetchHeaderList::Append(const String& name, const String& value) {
+  // https://fetch.spec.whatwg.org/#concept-header-list-append
   // "To append a name/value (|name|/|value|) pair to a header list (|list|),
-  // append a new header whose name is |name|, byte lowercased, and value is
-  // |value|, to |list|."
-  header_list_.push_back(
-      WTF::WrapUnique(new Header(name.DeprecatedLower(), value)));
+  // run these steps:
+  // 1. If |list| contains |name|, then set |name| to the first such header’s
+  //    name. This reuses the casing of the name of the header already in the
+  //    header list, if any. If there are multiple matched headers their names
+  //    will all be identical.
+  // 2. Append a new header whose name is |name| and |value| is |value| to
+  //    |list|."
+  auto header = header_list_.find(name);
+  if (header != header_list_.end())
+    header_list_.insert(std::make_pair(header->first, value));
+  else
+    header_list_.insert(std::make_pair(name, value));
 }
 
 void FetchHeaderList::Set(const String& name, const String& value) {
+  // https://fetch.spec.whatwg.org/#concept-header-list-set
   // "To set a name/value (|name|/|value|) pair in a header list (|list|), run
   // these steps:
-  // 1. Byte lowercase |name|.
-  // 2. If there are any headers in |list| whose name is |name|, set the value
-  //    of the first such header to |value| and remove the others.
-  // 3. Otherwise, append a new header whose name is |name| and value is
-  //    |value|, to |list|."
-  const String lowercased_name = name.DeprecatedLower();
-  for (size_t i = 0; i < header_list_.size(); ++i) {
-    if (header_list_[i]->first == lowercased_name) {
-      header_list_[i]->second = value;
-      for (size_t j = i + 1; j < header_list_.size();) {
-        if (header_list_[j]->first == lowercased_name)
-          header_list_.erase(j);
-        else
-          ++j;
-      }
-      return;
-    }
-  }
-  header_list_.push_back(WTF::MakeUnique<Header>(lowercased_name, value));
+  // 1. If |list| contains |name|, then set the value of the first such header
+  //    to |value| and remove the others.
+  // 2. Otherwise, append a new header whose name is |name| and value is
+  //    |value| to |list|."
+  auto existingHeader = header_list_.find(name);
+  const FetchHeaderList::Header newHeader = std::make_pair(
+      existingHeader != header_list_.end() ? existingHeader->first : name,
+      value);
+  header_list_.erase(name);
+  header_list_.insert(newHeader);
 }
 
 String FetchHeaderList::ExtractMIMEType() const {
@@ -75,85 +77,87 @@
 }
 
 void FetchHeaderList::Remove(const String& name) {
-  // "To delete a name (|name|) from a header list (|list|), remove all headers
-  // whose name is |name|, byte lowercased, from |list|."
-  const String lowercased_name = name.DeprecatedLower();
-  for (size_t i = 0; i < header_list_.size();) {
-    if (header_list_[i]->first == lowercased_name)
-      header_list_.erase(i);
-    else
-      ++i;
-  }
+  // https://fetch.spec.whatwg.org/#concept-header-list-delete
+  // "To delete a name (name) from a header list (list), remove all headers
+  // whose name is a byte-case-insensitive match for name from list."
+  header_list_.erase(name);
 }
 
 bool FetchHeaderList::Get(const String& name, String& result) const {
-  const String lowercased_name = name.DeprecatedLower();
+  // https://fetch.spec.whatwg.org/#concept-header-list-combine
+  // "To combine a name/value (|name|/|value|) pair in a header list (|list|),
+  // run these steps:
+  // 1. If |list| contains |name|, then set the value of the first such header
+  //    to its value, followed by 0x2C 0x20, followed by |value|.
+  // 2. Otherwise, append a new header whose name is |name| and value is
+  //    |value| to |list|."
+  StringBuilder resultBuilder;
   bool found = false;
-  for (const auto& header : header_list_) {
-    if (header->first == lowercased_name) {
-      if (!found) {
-        result = "";
-        result.Append(header->second);
-        found = true;
-      } else {
-        result.Append(",");
-        result.Append(header->second);
-      }
+  auto range = header_list_.equal_range(name);
+  for (auto header = range.first; header != range.second; ++header) {
+    if (!found) {
+      resultBuilder.Append(header->second);
+      found = true;
+    } else {
+      // TODO(rakuco): This must be ", " instead. crbug.com/700434.
+      resultBuilder.Append(',');
+      resultBuilder.Append(header->second);
     }
   }
+  if (found)
+    result = resultBuilder.ToString();
   return found;
 }
 
+// This is going to be removed: see crbug.com/645492.
 void FetchHeaderList::GetAll(const String& name, Vector<String>& result) const {
-  const String lowercased_name = name.DeprecatedLower();
   result.Clear();
-  for (size_t i = 0; i < header_list_.size(); ++i) {
-    if (header_list_[i]->first == lowercased_name)
-      result.push_back(header_list_[i]->second);
+  auto range = header_list_.equal_range(name);
+  for (auto header = range.first; header != range.second; ++header) {
+    result.push_back(header->second);
   }
 }
 
 bool FetchHeaderList::Has(const String& name) const {
-  const String lowercased_name = name.DeprecatedLower();
-  for (size_t i = 0; i < header_list_.size(); ++i) {
-    if (header_list_[i]->first == lowercased_name)
-      return true;
-  }
-  return false;
+  // https://fetch.spec.whatwg.org/#header-list-contains
+  // "A header list (|list|) contains a name (|name|) if |list| contains a
+  // header whose name is a byte-case-insensitive match for |name|."
+  return header_list_.find(name) != header_list_.end();
 }
 
 void FetchHeaderList::ClearList() {
-  header_list_.Clear();
+  header_list_.clear();
 }
 
 bool FetchHeaderList::ContainsNonSimpleHeader() const {
-  for (size_t i = 0; i < header_list_.size(); ++i) {
-    if (!FetchUtils::IsSimpleHeader(AtomicString(header_list_[i]->first),
-                                    AtomicString(header_list_[i]->second)))
-      return true;
-  }
-  return false;
+  return std::any_of(
+      header_list_.cbegin(), header_list_.cend(), [](const Header& header) {
+        return !FetchUtils::IsSimpleHeader(AtomicString(header.first),
+                                           AtomicString(header.second));
+      });
 }
 
-void FetchHeaderList::SortAndCombine() {
+Vector<FetchHeaderList::Header> FetchHeaderList::SortAndCombine() const {
   // https://fetch.spec.whatwg.org/#concept-header-list-sort-and-combine
-  // "To sort and combine a header list..."
-  if (header_list_.IsEmpty())
-    return;
-
-  std::sort(
-      header_list_.begin(), header_list_.end(),
-      [](const std::unique_ptr<Header>& a, const std::unique_ptr<Header>& b) {
-        return WTF::CodePointCompareLessThan(a->first, b->first);
-      });
-
-  for (size_t index = header_list_.size() - 1; index > 0; --index) {
-    if (header_list_[index - 1]->first == header_list_[index]->first) {
-      header_list_[index - 1]->second.Append(",");
-      header_list_[index - 1]->second.Append(header_list_[index]->second);
-      header_list_.erase(index, 1);
-    }
+  // "To sort and combine a header list (|list|), run these steps:
+  // 1. Let |headers| be an empty list of name-value pairs with the key being
+  //    the name and value the value.
+  // 2. Let |names| be all the names of the headers in |list|, byte-lowercased,
+  //    with duplicates removed, and finally sorted lexicographically.
+  // 3. For each |name| in |names|, run these substeps:
+  //    1. Let |value| be the combined value given |name| and |list|.
+  //    2. Append |name-value| to |headers|.
+  // 4. Return |headers|."
+  Vector<FetchHeaderList::Header> ret;
+  for (auto it = header_list_.cbegin(); it != header_list_.cend();) {
+    const String& headerName = it->first.LowerASCII();
+    String combinedValue;
+    Get(headerName, combinedValue);
+    ret.emplace_back(std::make_pair(headerName, combinedValue));
+    // Skip to the next distinct key.
+    it = header_list_.upper_bound(headerName);
   }
+  return ret;
 }
 
 bool FetchHeaderList::IsValidHeaderName(const String& name) {
diff --git a/third_party/WebKit/Source/modules/fetch/FetchHeaderList.h b/third_party/WebKit/Source/modules/fetch/FetchHeaderList.h
index 28bdd3f..3942fd3e 100644
--- a/third_party/WebKit/Source/modules/fetch/FetchHeaderList.h
+++ b/third_party/WebKit/Source/modules/fetch/FetchHeaderList.h
@@ -5,11 +5,10 @@
 #ifndef FetchHeaderList_h
 #define FetchHeaderList_h
 
-#include <memory>
+#include <map>
 #include <utility>
 #include "modules/ModulesExport.h"
 #include "platform/heap/Handle.h"
-#include "platform/wtf/PassRefPtr.h"
 #include "platform/wtf/Vector.h"
 #include "platform/wtf/text/WTFString.h"
 
@@ -21,6 +20,12 @@
 class MODULES_EXPORT FetchHeaderList final
     : public GarbageCollectedFinalized<FetchHeaderList> {
  public:
+  struct ByteCaseInsensitiveCompare {
+    bool operator()(const String& lhs, const String& rhs) const {
+      return CodePointCompareLessThan(lhs.LowerASCII(), rhs.LowerASCII());
+    }
+  };
+
   typedef std::pair<String, String> Header;
   static FetchHeaderList* Create();
   FetchHeaderList* Clone() const;
@@ -39,11 +44,11 @@
   void ClearList();
 
   bool ContainsNonSimpleHeader() const;
-  void SortAndCombine();
+  Vector<Header> SortAndCombine() const;
 
-  const Vector<std::unique_ptr<Header>>& List() const { return header_list_; }
-  const Header& Entry(size_t index) const {
-    return *(header_list_[index].get());
+  const std::multimap<String, String, ByteCaseInsensitiveCompare>& List()
+      const {
+    return header_list_;
   }
 
   static bool IsValidHeaderName(const String&);
@@ -53,7 +58,20 @@
 
  private:
   FetchHeaderList();
-  Vector<std::unique_ptr<Header>> header_list_;
+
+  // While using STL data structures in Blink is not very common or
+  // encouraged, we do need a multimap here. The closest WTF structure
+  // comparable to what we need would be a
+  //   HashMap<String, Vector<String>>
+  // but it is not a "flat" data structure like std::multimap is. The
+  // size() of the HashMap is the number of distinct header names, not
+  // the total number of headers and values on the list.
+  // This would cause FetchHeaderList::size() to have to manually
+  // iterate through all keys and vectors in the HashMap. Similarly,
+  // list() would require callers to manually iterate through the
+  // HashMap's keys and value vector, and so would
+  // containsNonSimpleHeader().
+  std::multimap<String, String, ByteCaseInsensitiveCompare> header_list_;
 };
 
 }  // namespace blink
diff --git a/third_party/WebKit/Source/modules/fetch/FetchHeaderListTest.cpp b/third_party/WebKit/Source/modules/fetch/FetchHeaderListTest.cpp
new file mode 100644
index 0000000..70de823
--- /dev/null
+++ b/third_party/WebKit/Source/modules/fetch/FetchHeaderListTest.cpp
@@ -0,0 +1,163 @@
+// 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 "modules/fetch/FetchHeaderList.h"
+
+#include <utility>
+#include "platform/wtf/StdLibExtras.h"
+#include "platform/wtf/text/WTFString.h"
+#include "testing/gtest/include/gtest/gtest.h"
+
+namespace blink {
+namespace {
+
+TEST(FetchHeaderListTest, Append) {
+  FetchHeaderList* headerList = FetchHeaderList::Create();
+  headerList->Append("ConTenT-TyPe", "text/plain");
+  headerList->Append("content-type", "application/xml");
+  headerList->Append("CONTENT-type", "foo");
+  headerList->Append("X-Foo", "bar");
+  const std::pair<String, String> expectedHeaders[] = {
+      std::make_pair("ConTenT-TyPe", "text/plain"),
+      std::make_pair("ConTenT-TyPe", "application/xml"),
+      std::make_pair("ConTenT-TyPe", "foo"), std::make_pair("X-Foo", "bar"),
+  };
+  EXPECT_EQ(WTF_ARRAY_LENGTH(expectedHeaders), headerList->size());
+  size_t i = 0;
+  for (const auto& header : headerList->List()) {
+    EXPECT_EQ(expectedHeaders[i].first, header.first);
+    EXPECT_EQ(expectedHeaders[i].second, header.second);
+    ++i;
+  }
+}
+
+TEST(FetchHeaderListTest, Set) {
+  FetchHeaderList* headerList = FetchHeaderList::Create();
+  headerList->Append("ConTenT-TyPe", "text/plain");
+  headerList->Append("content-type", "application/xml");
+  headerList->Append("CONTENT-type", "foo");
+  headerList->Append("X-Foo", "bar");
+  headerList->Set("contENT-type", "quux");
+  headerList->Set("some-header", "some value");
+  EXPECT_EQ(3U, headerList->size());
+  const std::pair<String, String> expectedHeaders[] = {
+      std::make_pair("ConTenT-TyPe", "quux"),
+      std::make_pair("some-header", "some value"),
+      std::make_pair("X-Foo", "bar"),
+  };
+  EXPECT_EQ(WTF_ARRAY_LENGTH(expectedHeaders), headerList->size());
+  size_t i = 0;
+  for (const auto& header : headerList->List()) {
+    EXPECT_EQ(expectedHeaders[i].first, header.first);
+    EXPECT_EQ(expectedHeaders[i].second, header.second);
+    ++i;
+  }
+}
+
+TEST(FetchHeaderListTest, Erase) {
+  FetchHeaderList* headerList = FetchHeaderList::Create();
+  headerList->Remove("foo");
+  EXPECT_EQ(0U, headerList->size());
+  headerList->Append("ConTenT-TyPe", "text/plain");
+  headerList->Append("content-type", "application/xml");
+  headerList->Append("CONTENT-type", "foo");
+  headerList->Append("X-Foo", "bar");
+  headerList->Remove("content-TYPE");
+  EXPECT_EQ(1U, headerList->size());
+  const std::pair<String, String> expectedHeaders[] = {
+      std::make_pair("X-Foo", "bar"),
+  };
+  EXPECT_EQ(WTF_ARRAY_LENGTH(expectedHeaders), headerList->size());
+  size_t i = 0;
+  for (const auto& header : headerList->List()) {
+    EXPECT_EQ(expectedHeaders[i].first, header.first);
+    EXPECT_EQ(expectedHeaders[i].second, header.second);
+    ++i;
+  }
+}
+
+TEST(FetchHeaderListTest, Combine) {
+  FetchHeaderList* headerList = FetchHeaderList::Create();
+  headerList->Append("ConTenT-TyPe", "text/plain");
+  headerList->Append("content-type", "application/xml");
+  headerList->Append("CONTENT-type", "foo");
+  headerList->Append("X-Foo", "bar");
+  String combinedValue;
+  EXPECT_TRUE(headerList->Get("X-Foo", combinedValue));
+  EXPECT_EQ("bar", combinedValue);
+  EXPECT_TRUE(headerList->Get("content-TYPE", combinedValue));
+  EXPECT_EQ("text/plain,application/xml,foo", combinedValue);
+}
+
+// This is going to be removed: see crbug.com/645492.
+TEST(FetchHeaderListTest, GetAll) {
+  FetchHeaderList* headerList = FetchHeaderList::Create();
+  headerList->Append("ConTenT-TyPe", "text/plain");
+  headerList->Append("content-type", "application/xml");
+  headerList->Append("CONTENT-type", "foo");
+  headerList->Append("X-Foo", "bar");
+  Vector<String> combinedValues;
+  headerList->GetAll("content-TYPE", combinedValues);
+  EXPECT_EQ(Vector<String>({"text/plain", "application/xml", "foo"}),
+            combinedValues);
+  headerList->GetAll("x-foo", combinedValues);
+  EXPECT_EQ(Vector<String>({"bar"}), combinedValues);
+  headerList->GetAll("Host", combinedValues);
+  EXPECT_TRUE(combinedValues.IsEmpty());
+}
+
+TEST(FetchHeaderListTest, Contains) {
+  FetchHeaderList* headerList = FetchHeaderList::Create();
+  headerList->Append("ConTenT-TyPe", "text/plain");
+  headerList->Append("content-type", "application/xml");
+  headerList->Append("X-Foo", "bar");
+  EXPECT_TRUE(headerList->Has("CONTENT-TYPE"));
+  EXPECT_TRUE(headerList->Has("X-Foo"));
+  EXPECT_FALSE(headerList->Has("X-Bar"));
+}
+
+TEST(FetchHeaderListTest, ContainsNonSimpleHeader) {
+  FetchHeaderList* headerList = FetchHeaderList::Create();
+  EXPECT_FALSE(headerList->ContainsNonSimpleHeader());
+
+  headerList->Append("Host", "foobar");
+  headerList->Append("X-Foo", "bar");
+  EXPECT_TRUE(headerList->ContainsNonSimpleHeader());
+
+  headerList->ClearList();
+  headerList->Append("ConTenT-TyPe", "text/plain");
+  headerList->Append("content-type", "application/xml");
+  headerList->Append("X-Foo", "bar");
+  EXPECT_TRUE(headerList->ContainsNonSimpleHeader());
+
+  headerList->ClearList();
+  headerList->Append("ConTenT-TyPe", "multipart/form-data");
+  headerList->Append("Accept", "xyz");
+  EXPECT_FALSE(headerList->ContainsNonSimpleHeader());
+}
+
+TEST(FetchHeaderListTest, SortAndCombine) {
+  FetchHeaderList* headerList = FetchHeaderList::Create();
+  EXPECT_TRUE(headerList->SortAndCombine().IsEmpty());
+  headerList->Append("content-type", "multipart/form-data");
+  headerList->Append("ConTenT-TyPe", "application/xml");
+  headerList->Append("Accept", "XYZ");
+  headerList->Append("X-Foo", "bar");
+  const std::pair<String, String> expectedHeaders[] = {
+      std::make_pair("accept", "XYZ"),
+      std::make_pair("content-type", "multipart/form-data,application/xml"),
+      std::make_pair("x-foo", "bar")};
+  const Vector<FetchHeaderList::Header> sortedAndCombined =
+      headerList->SortAndCombine();
+  EXPECT_EQ(WTF_ARRAY_LENGTH(expectedHeaders), sortedAndCombined.size());
+  size_t i = 0;
+  for (const auto& headerPair : headerList->SortAndCombine()) {
+    EXPECT_EQ(expectedHeaders[i].first, headerPair.first);
+    EXPECT_EQ(expectedHeaders[i].second, headerPair.second);
+    ++i;
+  }
+}
+
+}  // namespace
+}  // namespace blink
diff --git a/third_party/WebKit/Source/modules/fetch/FetchManager.cpp b/third_party/WebKit/Source/modules/fetch/FetchManager.cpp
index f91e11f..abbbf8b 100644
--- a/third_party/WebKit/Source/modules/fetch/FetchManager.cpp
+++ b/third_party/WebKit/Source/modules/fetch/FetchManager.cpp
@@ -382,7 +382,7 @@
     // origin.
     switch (request_->Mode()) {
       case WebURLRequest::kFetchRequestModeSameOrigin:
-        ASSERT_NOT_REACHED();
+        NOTREACHED();
         break;
       case WebURLRequest::kFetchRequestModeNoCORS:
         tainting = FetchRequestData::kOpaqueTainting;
@@ -716,11 +716,9 @@
   request.SetHTTPMethod(request_->Method());
   request.SetFetchRequestMode(request_->Mode());
   request.SetFetchCredentialsMode(request_->Credentials());
-  const Vector<std::unique_ptr<FetchHeaderList::Header>>& list =
-      request_->HeaderList()->List();
-  for (size_t i = 0; i < list.size(); ++i) {
-    request.AddHTTPHeaderField(AtomicString(list[i]->first),
-                               AtomicString(list[i]->second));
+  for (const auto& header : request_->HeaderList()->List()) {
+    request.AddHTTPHeaderField(AtomicString(header.first),
+                               AtomicString(header.second));
   }
 
   if (request_->Method() != HTTPNames::GET &&
diff --git a/third_party/WebKit/Source/modules/fetch/FetchResponseData.cpp b/third_party/WebKit/Source/modules/fetch/FetchResponseData.cpp
index b38e2e2..9ed9a97 100644
--- a/third_party/WebKit/Source/modules/fetch/FetchResponseData.cpp
+++ b/third_party/WebKit/Source/modules/fetch/FetchResponseData.cpp
@@ -82,11 +82,10 @@
   FetchResponseData* response =
       new FetchResponseData(kBasicType, status_, status_message_);
   response->SetURLList(url_list_);
-  for (size_t i = 0; i < header_list_->size(); ++i) {
-    const FetchHeaderList::Header* header = header_list_->List()[i].get();
-    if (FetchUtils::IsForbiddenResponseHeaderName(header->first))
+  for (const auto& header : header_list_->List()) {
+    if (FetchUtils::IsForbiddenResponseHeaderName(header.first))
       continue;
-    response->header_list_->Append(header->first, header->second);
+    response->header_list_->Append(header.first, header.second);
   }
   response->buffer_ = buffer_;
   response->mime_type_ = mime_type_;
@@ -118,16 +117,15 @@
   FetchResponseData* response =
       new FetchResponseData(kCORSType, status_, status_message_);
   response->SetURLList(url_list_);
-  for (size_t i = 0; i < header_list_->size(); ++i) {
-    const FetchHeaderList::Header* header = header_list_->List()[i].get();
-    const String& name = header->first;
+  for (const auto& header : header_list_->List()) {
+    const String& name = header.first;
     const bool explicitly_exposed = exposed_headers.Contains(name);
     if (IsOnAccessControlResponseHeaderWhitelist(name) ||
         (explicitly_exposed &&
          !FetchUtils::IsForbiddenResponseHeaderName(name))) {
       if (explicitly_exposed)
         response->cors_exposed_header_names_.insert(name);
-      response->header_list_->Append(name, header->second);
+      response->header_list_->Append(name, header.second);
     }
   }
   response->buffer_ = buffer_;
@@ -272,9 +270,8 @@
   response.SetCacheStorageCacheName(CacheStorageCacheName());
   response.SetCorsExposedHeaderNames(
       HeaderSetToWebVector(cors_exposed_header_names_));
-  for (size_t i = 0; i < HeaderList()->size(); ++i) {
-    const FetchHeaderList::Header* header = HeaderList()->List()[i].get();
-    response.AppendHeader(header->first, header->second);
+  for (const auto& header : HeaderList()->List()) {
+    response.AppendHeader(header.first, header.second);
   }
 }
 
diff --git a/third_party/WebKit/Source/modules/fetch/Headers.cpp b/third_party/WebKit/Source/modules/fetch/Headers.cpp
index 1389922..b8b6e61a 100644
--- a/third_party/WebKit/Source/modules/fetch/Headers.cpp
+++ b/third_party/WebKit/Source/modules/fetch/Headers.cpp
@@ -9,9 +9,6 @@
 #include "bindings/modules/v8/ByteStringSequenceSequenceOrByteStringByteStringRecordOrHeaders.h"
 #include "core/dom/Iterator.h"
 #include "platform/loader/fetch/FetchUtils.h"
-#include "platform/wtf/NotFound.h"
-#include "platform/wtf/PassRefPtr.h"
-#include "platform/wtf/RefPtr.h"
 #include "platform/wtf/text/WTFString.h"
 
 namespace blink {
@@ -22,9 +19,7 @@
     : public PairIterable<String, String>::IterationSource {
  public:
   explicit HeadersIterationSource(const FetchHeaderList* headers)
-      : headers_(headers->Clone()), current_(0) {
-    headers_->SortAndCombine();
-  }
+      : headers_(headers->SortAndCombine()), current_(0) {}
 
   bool Next(ScriptState* script_state,
             String& key,
@@ -33,22 +28,21 @@
     // This simply advances an index and returns the next value if any; the
     // iterated list is not exposed to script so it will never be mutated
     // during iteration.
-    if (current_ >= headers_->size())
+    if (current_ >= headers_.size())
       return false;
 
-    const FetchHeaderList::Header& header = headers_->Entry(current_++);
+    const FetchHeaderList::Header& header = headers_.at(current_++);
     key = header.first;
     value = header.second;
     return true;
   }
 
   DEFINE_INLINE_VIRTUAL_TRACE() {
-    visitor->Trace(headers_);
     PairIterable<String, String>::IterationSource::Trace(visitor);
   }
 
  private:
-  const Member<FetchHeaderList> headers_;
+  Vector<std::pair<String, String>> headers_;
   size_t current_;
 };
 
@@ -242,9 +236,8 @@
   // There used to be specific steps describing filling a Headers object with
   // another Headers object, but it has since been removed because it should be
   // handled like a sequence (http://crbug.com/690428).
-  for (size_t i = 0; i < object->header_list_->List().size(); ++i) {
-    append(object->header_list_->List()[i]->first,
-           object->header_list_->List()[i]->second, exception_state);
+  for (const auto& header : object->header_list_->List()) {
+    append(header.first, header.second, exception_state);
     if (exception_state.HadException())
       return;
   }
diff --git a/third_party/WebKit/Source/modules/fetch/Request.cpp b/third_party/WebKit/Source/modules/fetch/Request.cpp
index 6900f51..0b1ebcc 100644
--- a/third_party/WebKit/Source/modules/fetch/Request.cpp
+++ b/third_party/WebKit/Source/modules/fetch/Request.cpp
@@ -581,7 +581,7 @@
     case WebURLRequest::kRequestContextXSLT:
       return "xslt";
   }
-  ASSERT_NOT_REACHED();
+  NOTREACHED();
   return "";
 }
 
@@ -613,7 +613,7 @@
       DCHECK(RuntimeEnabledFeatures::reducedReferrerGranularityEnabled());
       return "no-referrer-when-downgrade-origin-when-cross-origin";
   }
-  ASSERT_NOT_REACHED();
+  NOTREACHED();
   return String();
 }
 
@@ -631,7 +631,7 @@
     case WebURLRequest::kFetchRequestModeNavigate:
       return "navigate";
   }
-  ASSERT_NOT_REACHED();
+  NOTREACHED();
   return "";
 }
 
@@ -649,7 +649,7 @@
     case WebURLRequest::kFetchCredentialsModePassword:
       return "password";
   }
-  ASSERT_NOT_REACHED();
+  NOTREACHED();
   return "";
 }
 
@@ -683,7 +683,7 @@
     case WebURLRequest::kFetchRedirectModeManual:
       return "manual";
   }
-  ASSERT_NOT_REACHED();
+  NOTREACHED();
   return "";
 }
 
@@ -732,8 +732,7 @@
   web_request.SetURL(url);
 
   const FetchHeaderList* header_list = headers_->HeaderList();
-  for (size_t i = 0, size = header_list->size(); i < size; ++i) {
-    const FetchHeaderList::Header& header = header_list->Entry(i);
+  for (const auto& header : header_list->List()) {
     web_request.AppendHeader(header.first, header.second);
   }
 
diff --git a/third_party/WebKit/Source/modules/fetch/Response.cpp b/third_party/WebKit/Source/modules/fetch/Response.cpp
index f33ff899..eb16c9c 100644
--- a/third_party/WebKit/Source/modules/fetch/Response.cpp
+++ b/third_party/WebKit/Source/modules/fetch/Response.cpp
@@ -335,7 +335,7 @@
     case FetchResponseData::kOpaqueRedirectType:
       return "opaqueredirect";
   }
-  ASSERT_NOT_REACHED();
+  NOTREACHED();
   return "";
 }
 
diff --git a/third_party/WebKit/Source/modules/gamepad/Gamepad.idl b/third_party/WebKit/Source/modules/gamepad/Gamepad.idl
index 8756cb4..927bb17e 100644
--- a/third_party/WebKit/Source/modules/gamepad/Gamepad.idl
+++ b/third_party/WebKit/Source/modules/gamepad/Gamepad.idl
@@ -37,8 +37,8 @@
     readonly attribute unsigned long long timestamp;
     readonly attribute DOMString mapping;
     // https://github.com/w3c/gamepad/issues/28
-    readonly attribute double[] axes;
-    readonly attribute GamepadButton[] buttons;
+    [MeasureAs=GamepadAxes] readonly attribute double[] axes;
+    [MeasureAs=GamepadButtons] readonly attribute GamepadButton[] buttons;
 
     [OriginTrialEnabled=GamepadExtensions, MeasureAs=GamepadPose] readonly attribute GamepadPose? pose;
     [OriginTrialEnabled=GamepadExtensions, MeasureAs=GamepadHand] readonly attribute GamepadHand hand;
diff --git a/third_party/WebKit/Source/modules/geolocation/Geolocation.h b/third_party/WebKit/Source/modules/geolocation/Geolocation.h
index be2f6e7..1ca1654 100644
--- a/third_party/WebKit/Source/modules/geolocation/Geolocation.h
+++ b/third_party/WebKit/Source/modules/geolocation/Geolocation.h
@@ -42,8 +42,8 @@
 #include "platform/Timer.h"
 #include "platform/heap/Handle.h"
 
-#include "third_party/WebKit/public/platform/modules/permissions/permission.mojom-blink.h"
-#include "third_party/WebKit/public/platform/modules/permissions/permission_status.mojom-blink.h"
+#include "public/platform/modules/permissions/permission.mojom-blink.h"
+#include "public/platform/modules/permissions/permission_status.mojom-blink.h"
 
 namespace blink {
 
diff --git a/third_party/WebKit/Source/modules/imagecapture/ImageCapture.cpp b/third_party/WebKit/Source/modules/imagecapture/ImageCapture.cpp
index ca93ddc..6832f67d 100644
--- a/third_party/WebKit/Source/modules/imagecapture/ImageCapture.cpp
+++ b/third_party/WebKit/Source/modules/imagecapture/ImageCapture.cpp
@@ -636,7 +636,8 @@
     settings_.setZoom(capabilities.zoom->current);
   }
 
-  capabilities_.setTorch(capabilities.supports_torch);
+  if (capabilities.supports_torch)
+    capabilities_.setTorch(capabilities.supports_torch);
   if (capabilities.supports_torch)
     settings_.setTorch(capabilities.torch);
 }
diff --git a/third_party/WebKit/Source/modules/indexeddb/IDBTransaction.cpp b/third_party/WebKit/Source/modules/indexeddb/IDBTransaction.cpp
index 9d9c5f2..b2e99e8 100644
--- a/third_party/WebKit/Source/modules/indexeddb/IDBTransaction.cpp
+++ b/third_party/WebKit/Source/modules/indexeddb/IDBTransaction.cpp
@@ -548,7 +548,7 @@
 void IDBTransaction::AbortOutstandingRequests() {
   for (IDBRequest* request : request_list_)
     request->Abort();
-  request_list_.Clear();
+  request_list_.clear();
 }
 
 void IDBTransaction::RevertDatabaseMetadata() {
diff --git a/third_party/WebKit/Source/modules/media_controls/MediaControlsImplTest.cpp b/third_party/WebKit/Source/modules/media_controls/MediaControlsImplTest.cpp
index d54964c..4f172f31 100644
--- a/third_party/WebKit/Source/modules/media_controls/MediaControlsImplTest.cpp
+++ b/third_party/WebKit/Source/modules/media_controls/MediaControlsImplTest.cpp
@@ -77,24 +77,13 @@
 
 class MockLayoutObject : public LayoutObject {
  public:
-  MockLayoutObject() : LayoutObject(nullptr) {}
+  MockLayoutObject(Node* node) : LayoutObject(node) {}
 
   const char* GetName() const override { return "MockLayoutObject"; }
   void UpdateLayout() override {}
   FloatRect LocalBoundingBoxRectForAccessibility() const override {
     return FloatRect();
   }
-
-  void SetShouldDoFullPaintInvalidation(PaintInvalidationReason) {
-    full_paint_invalidation_call_count_++;
-  }
-
-  int FullPaintInvalidationCallCount() const {
-    return full_paint_invalidation_call_count_;
-  }
-
- private:
-  int full_paint_invalidation_call_count_ = 0;
 };
 
 class StubLocalFrameClient : public EmptyLocalFrameClient {
@@ -591,21 +580,27 @@
 
   Element* volume_slider = VolumeSliderElement();
 
-  MockLayoutObject layout_object;
+  MockLayoutObject layout_object(volume_slider);
   LayoutObject* prev_layout_object = volume_slider->GetLayoutObject();
   volume_slider->SetLayoutObject(&layout_object);
 
+  layout_object.ClearPaintInvalidationFlags();
+  EXPECT_FALSE(layout_object.ShouldDoFullPaintInvalidation());
   Event* event = Event::Create(EventTypeNames::input);
   volume_slider->DefaultEventHandler(event);
-  EXPECT_EQ(1, layout_object.FullPaintInvalidationCallCount());
+  EXPECT_TRUE(layout_object.ShouldDoFullPaintInvalidation());
 
+  layout_object.ClearPaintInvalidationFlags();
+  EXPECT_FALSE(layout_object.ShouldDoFullPaintInvalidation());
   event = Event::Create(EventTypeNames::input);
   volume_slider->DefaultEventHandler(event);
-  EXPECT_EQ(2, layout_object.FullPaintInvalidationCallCount());
+  EXPECT_TRUE(layout_object.ShouldDoFullPaintInvalidation());
 
+  layout_object.ClearPaintInvalidationFlags();
+  EXPECT_FALSE(layout_object.ShouldDoFullPaintInvalidation());
   event = Event::Create(EventTypeNames::input);
   volume_slider->DefaultEventHandler(event);
-  EXPECT_EQ(3, layout_object.FullPaintInvalidationCallCount());
+  EXPECT_TRUE(layout_object.ShouldDoFullPaintInvalidation());
 
   volume_slider->SetLayoutObject(prev_layout_object);
 }
diff --git a/third_party/WebKit/Source/modules/notifications/NotificationImageLoaderTest.cpp b/third_party/WebKit/Source/modules/notifications/NotificationImageLoaderTest.cpp
index acf6a19..57daafd 100644
--- a/third_party/WebKit/Source/modules/notifications/NotificationImageLoaderTest.cpp
+++ b/third_party/WebKit/Source/modules/notifications/NotificationImageLoaderTest.cpp
@@ -11,12 +11,12 @@
 #include "platform/testing/TestingPlatformSupport.h"
 #include "platform/testing/URLTestHelpers.h"
 #include "platform/testing/UnitTestHelpers.h"
+#include "platform/weborigin/KURL.h"
 #include "platform/wtf/Functional.h"
 #include "public/platform/Platform.h"
 #include "public/platform/WebURL.h"
 #include "public/platform/WebURLLoaderMockFactory.h"
 #include "testing/gtest/include/gtest/gtest.h"
-#include "third_party/WebKit/Source/platform/weborigin/KURL.h"
 #include "third_party/skia/include/core/SkBitmap.h"
 
 namespace blink {
diff --git a/third_party/WebKit/Source/modules/sensor/README.md b/third_party/WebKit/Source/modules/sensor/README.md
new file mode 100644
index 0000000..4f076da2
--- /dev/null
+++ b/third_party/WebKit/Source/modules/sensor/README.md
@@ -0,0 +1,25 @@
+# Generic Sensor
+
+`third_party/WebKit/Source/modules/sensor` implements the following concrete
+sensor intrefaces based on the [Generic Sensor API]
+(https://w3c.github.io/sensors):
+1. [Ambient Light Sensor] (https://w3c.github.io/ambient-light)
+1. [Accelerometer] (https://w3c.github.io/accelerometer)
+1. [Gyroscope] (https://w3c.github.io/gyroscope)
+1. [Magnetometer] (https://w3c.github.io/magnetometer)
+1. [Absolute Orientation Sensor] (https://w3c.github.io/orientation-sensor)
+
+The platform-specific parts of the implementation are located in
+`device/generic_sensor`.
+
+
+## Testing
+
+Sensors layout tests are located in `LayoutTests/sensor`.
+
+Sensors browser tests are located in `content/test/data/generic_sensor`.
+
+
+## Design Documents
+
+Please refer to the [design documentation](https://docs.google.com/document/d/1Ml65ZdW5AgIsZTszk4mD_ohr40pcrdVFOIf0ZtWxDv0) for more details.
diff --git a/third_party/WebKit/Source/modules/webaudio/AudioWorklet.cpp b/third_party/WebKit/Source/modules/webaudio/AudioWorklet.cpp
index 0d8ade7..39e341d1 100644
--- a/third_party/WebKit/Source/modules/webaudio/AudioWorklet.cpp
+++ b/third_party/WebKit/Source/modules/webaudio/AudioWorklet.cpp
@@ -17,7 +17,7 @@
 }
 
 AudioWorklet::AudioWorklet(LocalFrame* frame)
-    : Worklet(frame), worklet_messaging_proxy_(nullptr) {}
+    : ThreadedWorklet(frame), worklet_messaging_proxy_(nullptr) {}
 
 AudioWorklet::~AudioWorklet() {
   if (worklet_messaging_proxy_)
@@ -45,7 +45,7 @@
 }
 
 DEFINE_TRACE(AudioWorklet) {
-  Worklet::Trace(visitor);
+  ThreadedWorklet::Trace(visitor);
 }
 
 }  // namespace blink
diff --git a/third_party/WebKit/Source/modules/webaudio/AudioWorklet.h b/third_party/WebKit/Source/modules/webaudio/AudioWorklet.h
index 8aee6a10..71ddc90f 100644
--- a/third_party/WebKit/Source/modules/webaudio/AudioWorklet.h
+++ b/third_party/WebKit/Source/modules/webaudio/AudioWorklet.h
@@ -5,7 +5,7 @@
 #ifndef AudioWorklet_h
 #define AudioWorklet_h
 
-#include "core/workers/Worklet.h"
+#include "core/workers/ThreadedWorklet.h"
 #include "modules/ModulesExport.h"
 #include "platform/heap/Handle.h"
 
@@ -15,7 +15,7 @@
 class ThreadedWorkletMessagingProxy;
 class WorkletGlobalScopeProxy;
 
-class MODULES_EXPORT AudioWorklet final : public Worklet {
+class MODULES_EXPORT AudioWorklet final : public ThreadedWorklet {
   WTF_MAKE_NONCOPYABLE(AudioWorklet);
 
  public:
diff --git a/third_party/WebKit/Source/modules/webaudio/DeferredTaskHandler.cpp b/third_party/WebKit/Source/modules/webaudio/DeferredTaskHandler.cpp
index 2461771..eee6e54 100644
--- a/third_party/WebKit/Source/modules/webaudio/DeferredTaskHandler.cpp
+++ b/third_party/WebKit/Source/modules/webaudio/DeferredTaskHandler.cpp
@@ -126,7 +126,7 @@
   DCHECK(IsGraphOwner());
 
   HashSet<AudioNodeOutput*> dirty_outputs;
-  dirty_audio_node_outputs_.Swap(dirty_outputs);
+  dirty_audio_node_outputs_.swap(dirty_outputs);
 
   // Note: the updating of rendering state may cause output nodes
   // further down the chain to be marked as dirty. These will not
diff --git a/third_party/WebKit/Source/modules/webdatabase/DatabaseThread.cpp b/third_party/WebKit/Source/modules/webdatabase/DatabaseThread.cpp
index 033a9d8..a09a664 100644
--- a/third_party/WebKit/Source/modules/webdatabase/DatabaseThread.cpp
+++ b/third_party/WebKit/Source/modules/webdatabase/DatabaseThread.cpp
@@ -106,7 +106,7 @@
     // As the call to close will modify the original set, we must take a copy to
     // iterate over.
     HashSet<CrossThreadPersistent<Database>> open_set_copy;
-    open_set_copy.Swap(open_database_set_);
+    open_set_copy.swap(open_database_set_);
     HashSet<CrossThreadPersistent<Database>>::iterator end =
         open_set_copy.end();
     for (HashSet<CrossThreadPersistent<Database>>::iterator it =
diff --git a/third_party/WebKit/Source/modules/webmidi/MIDIAccessInitializer.h b/third_party/WebKit/Source/modules/webmidi/MIDIAccessInitializer.h
index 601efcd1..3bd9284 100644
--- a/third_party/WebKit/Source/modules/webmidi/MIDIAccessInitializer.h
+++ b/third_party/WebKit/Source/modules/webmidi/MIDIAccessInitializer.h
@@ -15,8 +15,8 @@
 #include "modules/webmidi/MIDIOptions.h"
 #include "modules/webmidi/MIDIPort.h"
 #include "platform/wtf/Vector.h"
-#include "third_party/WebKit/public/platform/modules/permissions/permission.mojom-blink.h"
-#include "third_party/WebKit/public/platform/modules/permissions/permission_status.mojom-blink.h"
+#include "public/platform/modules/permissions/permission.mojom-blink.h"
+#include "public/platform/modules/permissions/permission_status.mojom-blink.h"
 
 namespace blink {
 
diff --git a/third_party/WebKit/Source/modules/webmidi/NavigatorWebMIDI.cpp b/third_party/WebKit/Source/modules/webmidi/NavigatorWebMIDI.cpp
index 2065ee4..e67f2e3 100644
--- a/third_party/WebKit/Source/modules/webmidi/NavigatorWebMIDI.cpp
+++ b/third_party/WebKit/Source/modules/webmidi/NavigatorWebMIDI.cpp
@@ -79,9 +79,14 @@
         DOMException::Create(kAbortError, "The frame is not working."));
   }
 
-  UseCounter::CountCrossOriginIframe(
-      *ToDocument(ExecutionContext::From(script_state)),
-      UseCounter::kRequestMIDIAccessIframe);
+  Document& document = *ToDocument(ExecutionContext::From(script_state));
+  if (options.hasSysex() && options.sysex()) {
+    UseCounter::Count(document, UseCounter::kRequestMIDIAccessWithSysExOption);
+    UseCounter::CountCrossOriginIframe(
+        document, UseCounter::kRequestMIDIAccessIframeWithSysExOption);
+  }
+  UseCounter::CountCrossOriginIframe(document,
+                                     UseCounter::kRequestMIDIAccessIframe);
   return MIDIAccessInitializer::Start(script_state, options);
 }
 
diff --git a/third_party/WebKit/Source/platform/DEPS b/third_party/WebKit/Source/platform/DEPS
index f87b3426..cd7ace6 100644
--- a/third_party/WebKit/Source/platform/DEPS
+++ b/third_party/WebKit/Source/platform/DEPS
@@ -47,7 +47,4 @@
     "-bindings",
     "-core",
     "-modules",
-
-    # Use platform/wtf/ now (see crbug.com/691465).
-    "-wtf/",
 ]
diff --git a/third_party/WebKit/Source/platform/LifecycleNotifier.h b/third_party/WebKit/Source/platform/LifecycleNotifier.h
index b69796a..c9830a84 100644
--- a/third_party/WebKit/Source/platform/LifecycleNotifier.h
+++ b/third_party/WebKit/Source/platform/LifecycleNotifier.h
@@ -134,7 +134,7 @@
   // Observer unregistration is allowed, but effectively a no-op.
   AutoReset<IterationState> scope(&iteration_state_, kAllowingRemoval);
   ObserverSet observers;
-  observers_.Swap(observers);
+  observers_.swap(observers);
   for (Observer* observer : observers) {
     DCHECK(observer->LifecycleContext() == Context());
     ContextDestroyedNotifier<Observer, T>::Call(observer, Context());
diff --git a/third_party/WebKit/Source/platform/RuntimeEnabledFeatures.json5 b/third_party/WebKit/Source/platform/RuntimeEnabledFeatures.json5
index d4e77ffd..18cde98 100644
--- a/third_party/WebKit/Source/platform/RuntimeEnabledFeatures.json5
+++ b/third_party/WebKit/Source/platform/RuntimeEnabledFeatures.json5
@@ -177,7 +177,7 @@
     },
     {
       name: "ContextMenu",
-      status: "test",
+      status: "experimental",
     },
     {
       name: "CorsRFC1918",
diff --git a/third_party/WebKit/Source/platform/audio/FFTFrameStub.cpp b/third_party/WebKit/Source/platform/audio/FFTFrameStub.cpp
index a3ef6b8..9c874cb 100644
--- a/third_party/WebKit/Source/platform/audio/FFTFrameStub.cpp
+++ b/third_party/WebKit/Source/platform/audio/FFTFrameStub.cpp
@@ -34,18 +34,18 @@
 namespace blink {
 
 // Normal constructor: allocates for a given fftSize.
-FFTFrame::FFTFrame(unsigned /*fftSize*/) : m_FFTSize(0), m_log2FFTSize(0) {
+FFTFrame::FFTFrame(unsigned /*fftSize*/) : fft_size_(0), log2fft_size_(0) {
   NOTREACHED();
 }
 
 // Creates a blank/empty frame (interpolate() must later be called).
-FFTFrame::FFTFrame() : m_FFTSize(0), m_log2FFTSize(0) {
+FFTFrame::FFTFrame() : fft_size_(0), log2fft_size_(0) {
   NOTREACHED();
 }
 
 // Copy constructor.
 FFTFrame::FFTFrame(const FFTFrame& frame)
-    : m_FFTSize(frame.m_FFTSize), m_log2FFTSize(frame.m_log2FFTSize) {
+    : fft_size_(frame.fft_size_), log2fft_size_(frame.log2fft_size_) {
   NOTREACHED();
 }
 
@@ -53,17 +53,17 @@
   NOTREACHED();
 }
 
-void FFTFrame::doFFT(const float* data) {
+void FFTFrame::DoFFT(const float* data) {
   NOTREACHED();
 }
 
-void FFTFrame::doInverseFFT(float* data) {
+void FFTFrame::DoInverseFFT(float* data) {
   NOTREACHED();
 }
 
-void FFTFrame::initialize() {}
+void FFTFrame::Initialize() {}
 
-void FFTFrame::cleanup() {
+void FFTFrame::Cleanup() {
   NOTREACHED();
 }
 
diff --git a/third_party/WebKit/Source/platform/feature_policy/FeaturePolicyTest.cpp b/third_party/WebKit/Source/platform/feature_policy/FeaturePolicyTest.cpp
index ceee1a9..c57bc38 100644
--- a/third_party/WebKit/Source/platform/feature_policy/FeaturePolicyTest.cpp
+++ b/third_party/WebKit/Source/platform/feature_policy/FeaturePolicyTest.cpp
@@ -26,7 +26,7 @@
     "{\"fullscreen\": [\"" ORIGIN_A "\"], \"payment\": [\"self\"]}",
     "{\"fullscreen\": [\"" ORIGIN_A "\"]}, {\"payment\": [\"self\"]}"};
 
-const char* g_k_invalid_policies[] = {
+const char* const kInvalidPolicies[] = {
     "Not A JSON literal",
     "\"Not a JSON object\"",
     "[\"Also\", \"Not a JSON object\"]",
@@ -59,7 +59,7 @@
 
 TEST_F(FeaturePolicyTest, ParseInvalidPolicy) {
   Vector<String> messages;
-  for (const char* policy_string : g_k_invalid_policies) {
+  for (const char* policy_string : kInvalidPolicies) {
     messages.Clear();
     ParseFeaturePolicy(policy_string, origin_a_.Get(), &messages);
     EXPECT_NE(0UL, messages.size());
diff --git a/third_party/WebKit/Source/platform/fonts/FontDataCache.cpp b/third_party/WebKit/Source/platform/fonts/FontDataCache.cpp
index 6a87490..1416f1c 100644
--- a/third_party/WebKit/Source/platform/fonts/FontDataCache.cpp
+++ b/third_party/WebKit/Source/platform/fonts/FontDataCache.cpp
@@ -155,7 +155,7 @@
 
   if (it == end) {
     // Removed everything
-    inactive_font_data_.Clear();
+    inactive_font_data_.clear();
   } else {
     for (int i = 0; i < count; ++i)
       inactive_font_data_.erase(inactive_font_data_.begin());
diff --git a/third_party/WebKit/Source/platform/graphics/BitmapImageTest.cpp b/third_party/WebKit/Source/platform/graphics/BitmapImageTest.cpp
index 419f214..9f43a3f 100644
--- a/third_party/WebKit/Source/platform/graphics/BitmapImageTest.cpp
+++ b/third_party/WebKit/Source/platform/graphics/BitmapImageTest.cpp
@@ -309,8 +309,8 @@
   RunTest("Blink.DecodedImage.Orientation");
 }
 
-DecodedImageOrientationHistogramTest::ParamType
-    g_k_decoded_image_orientation_histogram_test_params[] = {
+const DecodedImageOrientationHistogramTest::ParamType
+    kDecodedImageOrientationHistogramTestParams[] = {
         {"/LayoutTests/images/resources/exif-orientation-1-ul.jpg",
          kOriginTopLeft},
         {"/LayoutTests/images/resources/exif-orientation-2-ur.jpg",
@@ -331,6 +331,6 @@
 INSTANTIATE_TEST_CASE_P(
     DecodedImageOrientationHistogramTest,
     DecodedImageOrientationHistogramTest,
-    ::testing::ValuesIn(g_k_decoded_image_orientation_histogram_test_params));
+    ::testing::ValuesIn(kDecodedImageOrientationHistogramTestParams));
 
 }  // namespace blink
diff --git a/third_party/WebKit/Source/platform/graphics/Canvas2DLayerBridge.cpp b/third_party/WebKit/Source/platform/graphics/Canvas2DLayerBridge.cpp
index 1cef1ac..d29e539 100644
--- a/third_party/WebKit/Source/platform/graphics/Canvas2DLayerBridge.cpp
+++ b/third_party/WebKit/Source/platform/graphics/Canvas2DLayerBridge.cpp
@@ -528,6 +528,9 @@
 #if USE_IOSURFACE_FOR_2D_CANVAS
   ClearCHROMIUMImageCache();
 #endif  // USE_IOSURFACE_FOR_2D_CANVAS
+  // shouldBeDirectComposited() may have changed.
+  if (image_buffer_)
+    image_buffer_->SetNeedsCompositingUpdate();
   logger_->DidStartHibernating();
 }
 
@@ -607,11 +610,15 @@
                                      &copy_paint);
     hibernation_image_.reset();
 
-    if (image_buffer_)
+    if (image_buffer_) {
       image_buffer_->UpdateGPUMemoryUsage();
 
-    if (image_buffer_ && !is_deferral_enabled_)
-      image_buffer_->ResetCanvas(surface_paint_canvas_.get());
+      if (!is_deferral_enabled_)
+        image_buffer_->ResetCanvas(surface_paint_canvas_.get());
+
+      // shouldBeDirectComposited() may have changed.
+      image_buffer_->SetNeedsCompositingUpdate();
+    }
   }
 
   return surface_.get();
diff --git a/third_party/WebKit/Source/platform/graphics/Canvas2DLayerBridgeTest.cpp b/third_party/WebKit/Source/platform/graphics/Canvas2DLayerBridgeTest.cpp
index 15da672..c54f8d76 100644
--- a/third_party/WebKit/Source/platform/graphics/Canvas2DLayerBridgeTest.cpp
+++ b/third_party/WebKit/Source/platform/graphics/Canvas2DLayerBridgeTest.cpp
@@ -38,6 +38,7 @@
 #include "platform/graphics/paint/PaintFlags.h"
 #include "platform/graphics/test/FakeGLES2Interface.h"
 #include "platform/graphics/test/FakeWebGraphicsContext3DProvider.h"
+#include "platform/testing/TestingPlatformSupport.h"
 #include "platform/wtf/PtrUtil.h"
 #include "platform/wtf/RefPtr.h"
 #include "public/platform/Platform.h"
@@ -48,7 +49,6 @@
 #include "skia/ext/texture_handle.h"
 #include "testing/gmock/include/gmock/gmock.h"
 #include "testing/gtest/include/gtest/gtest.h"
-#include "third_party/WebKit/Source/platform/testing/TestingPlatformSupport.h"
 #include "third_party/skia/include/core/SkSurface.h"
 #include "third_party/skia/include/gpu/gl/GrGLTypes.h"
 
diff --git a/third_party/WebKit/Source/platform/graphics/ImageBuffer.cpp b/third_party/WebKit/Source/platform/graphics/ImageBuffer.cpp
index b3677e5..ee46ab4 100644
--- a/third_party/WebKit/Source/platform/graphics/ImageBuffer.cpp
+++ b/third_party/WebKit/Source/platform/graphics/ImageBuffer.cpp
@@ -599,6 +599,11 @@
   UpdateGPUMemoryUsage();
 }
 
+void ImageBuffer::SetNeedsCompositingUpdate() {
+  if (client_)
+    client_->SetNeedsCompositingUpdate();
+}
+
 bool ImageDataBuffer::EncodeImage(const String& mime_type,
                                   const double& quality,
                                   Vector<unsigned char>* encoded_image) const {
diff --git a/third_party/WebKit/Source/platform/graphics/ImageBuffer.h b/third_party/WebKit/Source/platform/graphics/ImageBuffer.h
index 4f358ba..0d18f76 100644
--- a/third_party/WebKit/Source/platform/graphics/ImageBuffer.h
+++ b/third_party/WebKit/Source/platform/graphics/ImageBuffer.h
@@ -176,6 +176,8 @@
   void DisableAcceleration();
   void SetSurface(std::unique_ptr<ImageBufferSurface>);
 
+  void SetNeedsCompositingUpdate();
+
   WeakPtrFactory<ImageBuffer> weak_ptr_factory_;
 
  protected:
diff --git a/third_party/WebKit/Source/platform/graphics/ImageBufferClient.h b/third_party/WebKit/Source/platform/graphics/ImageBufferClient.h
index b23b59f..55b567b 100644
--- a/third_party/WebKit/Source/platform/graphics/ImageBufferClient.h
+++ b/third_party/WebKit/Source/platform/graphics/ImageBufferClient.h
@@ -42,6 +42,7 @@
   virtual void NotifySurfaceInvalid() = 0;
   virtual void DidDisableAcceleration() = 0;
   virtual void RestoreCanvasMatrixClipStack(PaintCanvas*) const = 0;
+  virtual void SetNeedsCompositingUpdate() = 0;
 };
 
 }  // namespace blink
diff --git a/third_party/WebKit/Source/platform/graphics/gpu/DrawingBufferTest.cpp b/third_party/WebKit/Source/platform/graphics/gpu/DrawingBufferTest.cpp
index 692dafc7..d05d2335 100644
--- a/third_party/WebKit/Source/platform/graphics/gpu/DrawingBufferTest.cpp
+++ b/third_party/WebKit/Source/platform/graphics/gpu/DrawingBufferTest.cpp
@@ -40,11 +40,11 @@
 #include "platform/graphics/ImageBuffer.h"
 #include "platform/graphics/UnacceleratedImageBufferSurface.h"
 #include "platform/graphics/gpu/DrawingBufferTestHelpers.h"
+#include "platform/testing/TestingPlatformSupport.h"
 #include "platform/wtf/PtrUtil.h"
 #include "platform/wtf/RefPtr.h"
 #include "public/platform/Platform.h"
 #include "testing/gtest/include/gtest/gtest.h"
-#include "third_party/WebKit/Source/platform/testing/TestingPlatformSupport.h"
 
 using testing::Test;
 using testing::_;
diff --git a/third_party/WebKit/Source/platform/graphics/paint/ClipPathDisplayItem.cpp b/third_party/WebKit/Source/platform/graphics/paint/ClipPathDisplayItem.cpp
index a215a535..75f9fdd2 100644
--- a/third_party/WebKit/Source/platform/graphics/paint/ClipPathDisplayItem.cpp
+++ b/third_party/WebKit/Source/platform/graphics/paint/ClipPathDisplayItem.cpp
@@ -23,12 +23,11 @@
   list->AppendClipPathItem(clip_path_, true);
 }
 
-int BeginClipPathDisplayItem::NumberOfSlowPaths() const {
+void BeginClipPathDisplayItem::AnalyzeForGpuRasterization(
+    SkPictureGpuAnalyzer& analyzer) const {
   // Temporarily disabled (pref regressions due to GPU veto stickiness:
   // http://crbug.com/603969).
   // analyzer.analyzeClipPath(m_clipPath, SkRegion::kIntersect_Op, true);
-  // TODO(enne): fixup this code to return an int.
-  return 0;
 }
 
 void EndClipPathDisplayItem::Replay(GraphicsContext& context) const {
diff --git a/third_party/WebKit/Source/platform/graphics/paint/ClipPathDisplayItem.h b/third_party/WebKit/Source/platform/graphics/paint/ClipPathDisplayItem.h
index 3952c87..42434ae 100644
--- a/third_party/WebKit/Source/platform/graphics/paint/ClipPathDisplayItem.h
+++ b/third_party/WebKit/Source/platform/graphics/paint/ClipPathDisplayItem.h
@@ -24,7 +24,7 @@
   void AppendToWebDisplayItemList(const IntRect&,
                                   WebDisplayItemList*) const override;
 
-  int NumberOfSlowPaths() const override;
+  void AnalyzeForGpuRasterization(SkPictureGpuAnalyzer&) const override;
 
  private:
 #ifndef NDEBUG
diff --git a/third_party/WebKit/Source/platform/graphics/paint/CompositingRecorder.cpp b/third_party/WebKit/Source/platform/graphics/paint/CompositingRecorder.cpp
index 7eac3491..cdcd8fd 100644
--- a/third_party/WebKit/Source/platform/graphics/paint/CompositingRecorder.cpp
+++ b/third_party/WebKit/Source/platform/graphics/paint/CompositingRecorder.cpp
@@ -29,8 +29,58 @@
 CompositingRecorder::~CompositingRecorder() {
   if (RuntimeEnabledFeatures::slimmingPaintV2Enabled())
     return;
-  graphics_context_.GetPaintController().EndItem<EndCompositingDisplayItem>(
-      client_);
+  // If the end of the current display list is of the form
+  // [BeginCompositingDisplayItem] [DrawingDisplayItem], then fold the
+  // BeginCompositingDisplayItem into a new DrawingDisplayItem that replaces
+  // them both. This allows Skia to optimize for the case when the
+  // BeginCompositingDisplayItem represents a simple opacity/color that can be
+  // merged into the opacity/color of the drawing. See crbug.com/628831 for more
+  // details.
+  PaintController& paint_controller = graphics_context_.GetPaintController();
+  const DisplayItem* last_display_item = paint_controller.LastDisplayItem(0);
+  const DisplayItem* second_to_last_display_item =
+      paint_controller.LastDisplayItem(1);
+  // TODO(chrishtr): remove the call to LastDisplayItemIsSubsequenceEnd when
+  // https://codereview.chromium.org/2768143002 lands.
+  if (!RuntimeEnabledFeatures::slimmingPaintV2Enabled() && last_display_item &&
+      second_to_last_display_item && last_display_item->DrawsContent() &&
+      second_to_last_display_item->GetType() ==
+          DisplayItem::kBeginCompositing &&
+      !paint_controller.LastDisplayItemIsSubsequenceEnd()) {
+    FloatRect cull_rect(
+        ((DrawingDisplayItem*)last_display_item)->GetPaintRecord()->cullRect());
+    const DisplayItemClient& display_item_client = last_display_item->Client();
+    DisplayItem::Type display_item_type = last_display_item->GetType();
+
+    // Re-record the last two DisplayItems into a new drawing. The new item
+    // cannot be cached, because it is a mutation of the DisplayItem the client
+    // thought it was painting.
+    paint_controller.BeginSkippingCache();
+    {
+#if DCHECK_IS_ON()
+      // In the recorder's scope we remove the last two display items which
+      // are combined into a new drawing.
+      DisableListModificationCheck disabler;
+#endif
+      DrawingRecorder new_recorder(graphics_context_, display_item_client,
+                                   display_item_type, cull_rect);
+      DCHECK(!DrawingRecorder::UseCachedDrawingIfPossible(
+          graphics_context_, display_item_client, display_item_type));
+
+      second_to_last_display_item->Replay(graphics_context_);
+      last_display_item->Replay(graphics_context_);
+      EndCompositingDisplayItem(client_).Replay(graphics_context_);
+
+      // Remove the DrawingDisplayItem.
+      paint_controller.RemoveLastDisplayItem();
+      // Remove the BeginCompositingDisplayItem.
+      paint_controller.RemoveLastDisplayItem();
+    }
+    paint_controller.EndSkippingCache();
+  } else {
+    graphics_context_.GetPaintController().EndItem<EndCompositingDisplayItem>(
+        client_);
+  }
 }
 
 }  // namespace blink
diff --git a/third_party/WebKit/Source/platform/graphics/paint/DisplayItem.h b/third_party/WebKit/Source/platform/graphics/paint/DisplayItem.h
index d5f344e6..a9afcd1 100644
--- a/third_party/WebKit/Source/platform/graphics/paint/DisplayItem.h
+++ b/third_party/WebKit/Source/platform/graphics/paint/DisplayItem.h
@@ -17,6 +17,8 @@
 #include "platform/wtf/text/WTFString.h"
 #endif
 
+class SkPictureGpuAnalyzer;
+
 namespace blink {
 
 class GraphicsContext;
@@ -335,7 +337,7 @@
   virtual bool DrawsContent() const { return false; }
 
   // Override to implement specific analysis strategies.
-  virtual int NumberOfSlowPaths() const { return 0; }
+  virtual void AnalyzeForGpuRasterization(SkPictureGpuAnalyzer&) const {}
 
 #ifndef NDEBUG
   static WTF::String TypeAsDebugString(DisplayItem::Type);
diff --git a/third_party/WebKit/Source/platform/graphics/paint/DisplayItemList.cpp b/third_party/WebKit/Source/platform/graphics/paint/DisplayItemList.cpp
index 4fe7853..474a7d12 100644
--- a/third_party/WebKit/Source/platform/graphics/paint/DisplayItemList.cpp
+++ b/third_party/WebKit/Source/platform/graphics/paint/DisplayItemList.cpp
@@ -7,6 +7,7 @@
 #include "platform/graphics/LoggingCanvas.h"
 #include "platform/graphics/paint/DrawingDisplayItem.h"
 #include "platform/graphics/paint/PaintChunk.h"
+#include "third_party/skia/include/core/SkPictureAnalyzer.h"
 
 #ifndef NDEBUG
 #include "platform/wtf/text/WTFString.h"
diff --git a/third_party/WebKit/Source/platform/graphics/paint/DrawingDisplayItem.cpp b/third_party/WebKit/Source/platform/graphics/paint/DrawingDisplayItem.cpp
index 7c14717..2a17f3d 100644
--- a/third_party/WebKit/Source/platform/graphics/paint/DrawingDisplayItem.cpp
+++ b/third_party/WebKit/Source/platform/graphics/paint/DrawingDisplayItem.cpp
@@ -10,6 +10,7 @@
 #include "third_party/skia/include/core/SkBitmap.h"
 #include "third_party/skia/include/core/SkCanvas.h"
 #include "third_party/skia/include/core/SkData.h"
+#include "third_party/skia/include/core/SkPictureAnalyzer.h"
 
 namespace blink {
 
@@ -29,8 +30,14 @@
   return record_.get();
 }
 
-int DrawingDisplayItem::NumberOfSlowPaths() const {
-  return record_ ? record_->numSlowPaths() : 0;
+void DrawingDisplayItem::AnalyzeForGpuRasterization(
+    SkPictureGpuAnalyzer& analyzer) const {
+  // TODO(enne): Need an SkPictureGpuAnalyzer on PictureRecord.
+  // This is a bit overkill to ToSkPicture a record just to get
+  // numSlowPaths.
+  if (!record_)
+    return;
+  analyzer.analyzePicture(ToSkPicture(record_).get());
 }
 
 #ifndef NDEBUG
diff --git a/third_party/WebKit/Source/platform/graphics/paint/DrawingDisplayItem.h b/third_party/WebKit/Source/platform/graphics/paint/DrawingDisplayItem.h
index 3dedbcbd..e5f989f8 100644
--- a/third_party/WebKit/Source/platform/graphics/paint/DrawingDisplayItem.h
+++ b/third_party/WebKit/Source/platform/graphics/paint/DrawingDisplayItem.h
@@ -41,7 +41,7 @@
     return known_to_be_opaque_;
   }
 
-  int NumberOfSlowPaths() const override;
+  void AnalyzeForGpuRasterization(SkPictureGpuAnalyzer&) const override;
 
  private:
 #ifndef NDEBUG
diff --git a/third_party/WebKit/Source/platform/graphics/paint/PaintController.cpp b/third_party/WebKit/Source/platform/graphics/paint/PaintController.cpp
index d3b7553..8a89c97 100644
--- a/third_party/WebKit/Source/platform/graphics/paint/PaintController.cpp
+++ b/third_party/WebKit/Source/platform/graphics/paint/PaintController.cpp
@@ -16,8 +16,6 @@
 #include <stdio.h>
 #endif
 
-static constexpr int kMaxNumberOfSlowPathsBeforeVeto = 5;
-
 namespace blink {
 
 void PaintController::SetTracksRasterInvalidations(bool value) {
@@ -537,12 +535,12 @@
       !new_display_item_list_.IsEmpty())
     GenerateChunkRasterInvalidationRects(new_paint_chunks_.LastChunk());
 
-  int num_slow_paths = 0;
+  SkPictureGpuAnalyzer gpu_analyzer;
 
   current_cache_generation_ =
       DisplayItemClient::CacheGenerationOrInvalidationReason::Next();
 
-  new_cached_subsequences_.Swap(current_cached_subsequences_);
+  new_cached_subsequences_.swap(current_cached_subsequences_);
   new_cached_subsequences_.Clear();
   last_cached_subsequence_end_ = 0;
   for (auto& item : current_cached_subsequences_) {
@@ -556,8 +554,8 @@
   Vector<const DisplayItemClient*> skipped_cache_clients;
   for (const auto& item : new_display_item_list_) {
     // No reason to continue the analysis once we have a veto.
-    if (num_slow_paths <= kMaxNumberOfSlowPathsBeforeVeto)
-      num_slow_paths += item.NumberOfSlowPaths();
+    if (gpu_analyzer.suitableForGpuRasterization())
+      item.AnalyzeForGpuRasterization(gpu_analyzer);
 
     // TODO(wkorman): Only compute and append visual rect for drawings.
     new_display_item_list_.AppendVisualRect(
@@ -595,7 +593,7 @@
   new_display_item_list_.ShrinkToFit();
   current_paint_artifact_ = PaintArtifact(
       std::move(new_display_item_list_), new_paint_chunks_.ReleasePaintChunks(),
-      num_slow_paths <= kMaxNumberOfSlowPathsBeforeVeto);
+      gpu_analyzer.suitableForGpuRasterization());
   ResetCurrentListIndices();
   out_of_order_item_indices_.Clear();
   out_of_order_chunk_indices_.Clear();
diff --git a/third_party/WebKit/Source/platform/graphics/paint/PaintControllerTest.cpp b/third_party/WebKit/Source/platform/graphics/paint/PaintControllerTest.cpp
index 5a09e2d8..f4e0aae 100644
--- a/third_party/WebKit/Source/platform/graphics/paint/PaintControllerTest.cpp
+++ b/third_party/WebKit/Source/platform/graphics/paint/PaintControllerTest.cpp
@@ -2273,6 +2273,40 @@
     DisplayItemClient::EndShouldKeepAliveAllClients();
 #endif
   }
+
+  void TestFoldCompositingDrawingInSubsequence() {
+    FakeDisplayItemClient container("container");
+    FakeDisplayItemClient content("content");
+    GraphicsContext context(GetPaintController());
+
+    {
+      SubsequenceRecorder subsequence(context, container);
+      CompositingRecorder compositing(context, content, SkBlendMode::kSrc, 0.5);
+      DrawRect(context, content, kBackgroundDrawingType,
+               FloatRect(100, 100, 300, 300));
+    }
+    GetPaintController().CommitNewDisplayItems();
+    EXPECT_EQ(
+        1u,
+        GetPaintController().GetPaintArtifact().GetDisplayItemList().size());
+
+    {
+      EXPECT_FALSE(SubsequenceRecorder::UseCachedSubsequenceIfPossible(
+          context, container));
+      SubsequenceRecorder subsequence(context, container);
+      CompositingRecorder compositing(context, content, SkBlendMode::kSrc, 0.5);
+      DrawRect(context, content, kBackgroundDrawingType,
+               FloatRect(100, 100, 300, 300));
+    }
+    GetPaintController().CommitNewDisplayItems();
+    EXPECT_EQ(
+        1u,
+        GetPaintController().GetPaintArtifact().GetDisplayItemList().size());
+
+#if CHECK_DISPLAY_ITEM_CLIENT_ALIVENESS
+    DisplayItemClient::EndShouldKeepAliveAllClients();
+#endif
+  }
 };
 
 TEST_F(PaintControllerUnderInvalidationTest, ChangeDrawing) {
@@ -2322,6 +2356,11 @@
   TestInvalidationInSubsequence();
 }
 
+TEST_F(PaintControllerUnderInvalidationTest,
+       FoldCompositingDrawingInSubsequence) {
+  TestFoldCompositingDrawingInSubsequence();
+}
+
 #endif  // defined(GTEST_HAS_DEATH_TEST) && !OS(ANDROID)
 
 }  // namespace blink
diff --git a/third_party/WebKit/Source/platform/heap/HeapTest.cpp b/third_party/WebKit/Source/platform/heap/HeapTest.cpp
index 24117da..45c819f 100644
--- a/third_party/WebKit/Source/platform/heap/HeapTest.cpp
+++ b/third_party/WebKit/Source/platform/heap/HeapTest.cpp
@@ -2676,11 +2676,11 @@
       // Swap set and set2 in a roundabout way.
       MemberSet& cset1 = container->set;
       MemberSet& cset2 = container->set2;
-      set->Swap(cset1);
-      set2->Swap(cset2);
-      set->Swap(cset2);
-      cset1.Swap(cset2);
-      cset2.Swap(*set2);
+      set->swap(cset1);
+      set2->swap(cset2);
+      set->swap(cset2);
+      cset1.swap(cset2);
+      cset2.swap(*set2);
 
       MemberCountedSet& c_counted_set = container->set3;
       set3->swap(c_counted_set);
@@ -2688,10 +2688,10 @@
       set3->swap(c_counted_set);
 
       // Triple swap.
-      container->map.Swap(*member_member2);
+      container->map.swap(*member_member2);
       MemberMember& contained_map = container->map;
-      member_member3->Swap(contained_map);
-      member_member3->Swap(*member_member);
+      member_member3->swap(contained_map);
+      member_member3->swap(*member_member);
 
       EXPECT_TRUE(member_member->at(one) == two);
       EXPECT_TRUE(member_member->at(two) == three);
@@ -2978,7 +2978,7 @@
 
     set1.insert(one);
     set2.insert(two);
-    set1.Swap(set2);
+    set1.swap(set2);
     ConservativelyCollectGarbage();
     EXPECT_TRUE(set1.Contains(two));
     EXPECT_TRUE(set2.Contains(one));
@@ -3029,7 +3029,7 @@
 
     set1.insert(one);
     set2.insert(two);
-    set1.Swap(set2);
+    set1.swap(set2);
     ConservativelyCollectGarbage();
     EXPECT_TRUE(set1.Contains(two));
     EXPECT_TRUE(set2.Contains(one));
@@ -3170,9 +3170,9 @@
   set1->insert(keep_numbers_alive[1]);
   set1->insert(keep_numbers_alive[2]);
 
-  set2->Clear();
+  set2->clear();
   set2->insert(IntWrapper::Create(42));
-  set2->Clear();
+  set2->clear();
 
   EXPECT_EQ(4u, set1->size());
   typename Set::iterator it(set1->begin());
@@ -3607,7 +3607,7 @@
       if (collection_number != kWeakSetIndex)
         weak_set->Clear();
       if (collection_number != kWeakOrderedSetIndex)
-        weak_ordered_set->Clear();
+        weak_ordered_set->clear();
 
       if (test_that_iterators_make_strong) {
         WeakStrong::iterator it1 = weak_strong->begin();
diff --git a/third_party/WebKit/Source/platform/heap/ThreadState.cpp b/third_party/WebKit/Source/platform/heap/ThreadState.cpp
index 691f3260..438c7d2 100644
--- a/third_party/WebKit/Source/platform/heap/ThreadState.cpp
+++ b/third_party/WebKit/Source/platform/heap/ThreadState.cpp
@@ -1233,7 +1233,7 @@
 void ThreadState::ReleaseStaticPersistentNodes() {
   HashMap<PersistentNode*, ThreadState::PersistentClearCallback>
       static_persistents;
-  static_persistents.Swap(static_persistents_);
+  static_persistents.swap(static_persistents_);
 
   PersistentRegion* persistent_region = GetPersistentRegion();
   for (const auto& it : static_persistents)
diff --git a/third_party/WebKit/Source/platform/loader/fetch/ResourceFetcherTest.cpp b/third_party/WebKit/Source/platform/loader/fetch/ResourceFetcherTest.cpp
index c8f76bd..c695cda0 100644
--- a/third_party/WebKit/Source/platform/loader/fetch/ResourceFetcherTest.cpp
+++ b/third_party/WebKit/Source/platform/loader/fetch/ResourceFetcherTest.cpp
@@ -120,7 +120,8 @@
 
   // Start by calling startLoad() directly, rather than via requestResource().
   // This shouldn't crash.
-  fetcher->StartLoad(RawResource::Create(secure_url, Resource::kRaw));
+  fetcher->StartLoad(
+      RawResource::Create(ResourceRequest(secure_url), Resource::kRaw));
 }
 
 TEST_F(ResourceFetcherTest, UseExistingResource) {
@@ -133,7 +134,8 @@
   response.SetHTTPHeaderField(HTTPNames::Cache_Control, "max-age=3600");
   RegisterMockedURLLoadWithCustomResponse(url, response);
 
-  FetchParameters fetch_params = FetchParameters(url, FetchInitiatorInfo());
+  FetchParameters fetch_params =
+      FetchParameters(ResourceRequest(url), FetchInitiatorInfo());
   Resource* resource = MockResource::Fetch(fetch_params, fetcher);
   ASSERT_TRUE(resource);
   Platform::Current()->GetURLLoaderMockFactory()->ServeAsynchronousRequests();
@@ -146,7 +148,8 @@
 
 TEST_F(ResourceFetcherTest, Vary) {
   KURL url(kParsedURLString, "http://127.0.0.1:8000/foo.html");
-  Resource* resource = RawResource::Create(url, Resource::kRaw);
+  Resource* resource =
+      RawResource::Create(ResourceRequest(url), Resource::kRaw);
   GetMemoryCache()->Add(resource);
   ResourceResponse response;
   response.SetURL(url);
@@ -155,7 +158,7 @@
   response.SetHTTPHeaderField(HTTPNames::Vary, "*");
   resource->ResponseReceived(response, nullptr);
   resource->Finish();
-  ASSERT_TRUE(resource->MustReloadDueToVaryHeader(url));
+  ASSERT_TRUE(resource->MustReloadDueToVaryHeader(ResourceRequest(url)));
 
   ResourceFetcher* fetcher = ResourceFetcher::Create(Context());
   ResourceRequest resource_request(url);
@@ -212,7 +215,8 @@
   ResourceFetcher* fetcher = ResourceFetcher::Create(Context());
 
   KURL url(kParsedURLString, "http://127.0.0.1:8000/foo.html");
-  Resource* resource = RawResource::Create(url, Resource::kRaw);
+  Resource* resource =
+      RawResource::Create(ResourceRequest(url), Resource::kRaw);
   GetMemoryCache()->Add(resource);
   ResourceResponse response;
   response.SetURL(url);
@@ -221,7 +225,7 @@
   response.SetHTTPHeaderField(HTTPNames::Vary, "*");
   resource->ResponseReceived(response, nullptr);
   resource->Finish();
-  ASSERT_TRUE(resource->MustReloadDueToVaryHeader(url));
+  ASSERT_TRUE(resource->MustReloadDueToVaryHeader(ResourceRequest(url)));
 
   ResourceRequest resource_request(url);
   resource_request.SetCachePolicy(WebCachePolicy::kReturnCacheDataElseLoad);
@@ -244,13 +248,14 @@
   RegisterMockedURLLoadWithCustomResponse(url, response);
 
   FetchParameters fetch_params_original =
-      FetchParameters(url, FetchInitiatorInfo());
+      FetchParameters(ResourceRequest(url), FetchInitiatorInfo());
   Resource* resource = MockResource::Fetch(fetch_params_original, fetcher);
   ASSERT_TRUE(resource);
   Platform::Current()->GetURLLoaderMockFactory()->ServeAsynchronousRequests();
-  ASSERT_TRUE(resource->MustReloadDueToVaryHeader(url));
+  ASSERT_TRUE(resource->MustReloadDueToVaryHeader(ResourceRequest(url)));
 
-  FetchParameters fetch_params = FetchParameters(url, FetchInitiatorInfo());
+  FetchParameters fetch_params =
+      FetchParameters(ResourceRequest(url), FetchInitiatorInfo());
   Resource* new_resource = MockResource::Fetch(fetch_params, fetcher);
   EXPECT_EQ(resource, new_resource);
 }
@@ -487,13 +492,14 @@
   RegisterMockedURLLoad(url);
 
   FetchParameters fetch_params_original =
-      FetchParameters(url, FetchInitiatorInfo());
+      FetchParameters(ResourceRequest(url), FetchInitiatorInfo());
   Resource* resource = MockResource::Fetch(fetch_params_original, fetcher);
   ASSERT_TRUE(resource);
   Platform::Current()->GetURLLoaderMockFactory()->ServeAsynchronousRequests();
   fetcher->PreloadStarted(resource);
 
-  FetchParameters fetch_params = FetchParameters(url, FetchInitiatorInfo());
+  FetchParameters fetch_params =
+      FetchParameters(ResourceRequest(url), FetchInitiatorInfo());
   Resource* new_resource = MockResource::Fetch(fetch_params, fetcher);
   EXPECT_EQ(resource, new_resource);
   fetcher->PreloadStarted(resource);
@@ -511,7 +517,7 @@
 
   // Link preload preload scanner
   FetchParameters fetch_params_original =
-      FetchParameters(url, FetchInitiatorInfo());
+      FetchParameters(ResourceRequest(url), FetchInitiatorInfo());
   fetch_params_original.SetLinkPreload(true);
   Resource* resource = MockResource::Fetch(fetch_params_original, fetcher);
   ASSERT_TRUE(resource);
@@ -521,7 +527,7 @@
 
   // Resource created by preload scanner
   FetchParameters fetch_params_preload_scanner =
-      FetchParameters(url, FetchInitiatorInfo());
+      FetchParameters(ResourceRequest(url), FetchInitiatorInfo());
   Resource* preload_scanner_resource =
       MockResource::Fetch(fetch_params_preload_scanner, fetcher);
   EXPECT_EQ(resource, preload_scanner_resource);
@@ -529,7 +535,8 @@
   fetcher->PreloadStarted(resource);
 
   // Resource created by parser
-  FetchParameters fetch_params = FetchParameters(url, FetchInitiatorInfo());
+  FetchParameters fetch_params =
+      FetchParameters(ResourceRequest(url), FetchInitiatorInfo());
   Resource* new_resource = MockResource::Fetch(fetch_params, fetcher);
   Persistent<MockResourceClient> client = new MockResourceClient(new_resource);
   EXPECT_EQ(resource, new_resource);
@@ -549,7 +556,7 @@
   RegisterMockedURLLoad(url);
 
   FetchParameters fetch_params_original =
-      FetchParameters(url, FetchInitiatorInfo());
+      FetchParameters(ResourceRequest(url), FetchInitiatorInfo());
   fetch_params_original.SetLinkPreload(true);
   Resource* resource = MockResource::Fetch(fetch_params_original, fetcher);
   ASSERT_TRUE(resource);
@@ -558,7 +565,7 @@
   fetcher->PreloadStarted(resource);
 
   FetchParameters fetch_params_second =
-      FetchParameters(url, FetchInitiatorInfo());
+      FetchParameters(ResourceRequest(url), FetchInitiatorInfo());
   fetch_params_second.SetLinkPreload(true);
   Resource* second_resource =
       MockResource::Fetch(fetch_params_second, fetcher2);
@@ -569,7 +576,7 @@
 
   // Link rel preload scanner
   FetchParameters fetch_params_link_preload_scanner =
-      FetchParameters(url, FetchInitiatorInfo());
+      FetchParameters(ResourceRequest(url), FetchInitiatorInfo());
   fetch_params_link_preload_scanner.SetLinkPreload(true);
   Resource* link_preload_scanner_resource =
       MockResource::Fetch(fetch_params_link_preload_scanner, fetcher);
@@ -579,7 +586,7 @@
 
   // Resource created by preload scanner
   FetchParameters fetch_params_preload_scanner =
-      FetchParameters(url, FetchInitiatorInfo());
+      FetchParameters(ResourceRequest(url), FetchInitiatorInfo());
   Resource* preload_scanner_resource =
       MockResource::Fetch(fetch_params_preload_scanner, fetcher);
   EXPECT_EQ(resource, preload_scanner_resource);
@@ -588,7 +595,7 @@
 
   // Resource created by preload scanner on the second fetcher
   FetchParameters fetch_params_preload_scanner2 =
-      FetchParameters(url, FetchInitiatorInfo());
+      FetchParameters(ResourceRequest(url), FetchInitiatorInfo());
   Resource* preload_scanner_resource2 =
       MockResource::Fetch(fetch_params_preload_scanner2, fetcher2);
   EXPECT_EQ(resource, preload_scanner_resource2);
@@ -596,14 +603,16 @@
   fetcher2->PreloadStarted(resource);
 
   // Resource created by parser
-  FetchParameters fetch_params = FetchParameters(url, FetchInitiatorInfo());
+  FetchParameters fetch_params =
+      FetchParameters(ResourceRequest(url), FetchInitiatorInfo());
   Resource* new_resource = MockResource::Fetch(fetch_params, fetcher);
   Persistent<MockResourceClient> client = new MockResourceClient(new_resource);
   EXPECT_EQ(resource, new_resource);
   EXPECT_FALSE(resource->IsLinkPreload());
 
   // Resource created by parser on the second fetcher
-  FetchParameters fetch_params2 = FetchParameters(url, FetchInitiatorInfo());
+  FetchParameters fetch_params2 =
+      FetchParameters(ResourceRequest(url), FetchInitiatorInfo());
   Resource* new_resource2 = MockResource::Fetch(fetch_params, fetcher2);
   Persistent<MockResourceClient> client2 =
       new MockResourceClient(new_resource2);
@@ -624,7 +633,8 @@
 
 TEST_F(ResourceFetcherTest, Revalidate304) {
   KURL url(kParsedURLString, "http://127.0.0.1:8000/foo.html");
-  Resource* resource = RawResource::Create(url, Resource::kRaw);
+  Resource* resource =
+      RawResource::Create(ResourceRequest(url), Resource::kRaw);
   GetMemoryCache()->Add(resource);
   ResourceResponse response;
   response.SetURL(url);
@@ -654,7 +664,7 @@
   RegisterMockedURLLoad(url);
 
   FetchParameters fetch_params_original =
-      FetchParameters(url, FetchInitiatorInfo());
+      FetchParameters(ResourceRequest(url), FetchInitiatorInfo());
   fetch_params_original.SetLinkPreload(true);
   Resource* resource = MockResource::Fetch(fetch_params_original, fetcher);
   ASSERT_TRUE(resource);
@@ -663,7 +673,8 @@
   fetcher->PreloadStarted(resource);
 
   // Resource created by parser on the second fetcher
-  FetchParameters fetch_params2 = FetchParameters(url, FetchInitiatorInfo());
+  FetchParameters fetch_params2 =
+      FetchParameters(ResourceRequest(url), FetchInitiatorInfo());
   Resource* new_resource2 = MockResource::Fetch(fetch_params2, fetcher2);
   Persistent<MockResourceClient> client2 =
       new MockResourceClient(new_resource2);
@@ -674,9 +685,8 @@
 
 TEST_F(ResourceFetcherTest, ContentTypeDataURL) {
   ResourceFetcher* fetcher = ResourceFetcher::Create(Context());
-  FetchParameters fetch_params =
-      FetchParameters(KURL(kParsedURLString, "data:text/testmimetype,foo"),
-                      FetchInitiatorInfo());
+  FetchParameters fetch_params = FetchParameters(
+      ResourceRequest("data:text/testmimetype,foo"), FetchInitiatorInfo());
   Resource* resource = MockResource::Fetch(fetch_params, fetcher);
   ASSERT_TRUE(resource);
   EXPECT_EQ(ResourceStatus::kCached, resource->GetStatus());
diff --git a/third_party/WebKit/Source/platform/loader/fetch/ResourceRequest.h b/third_party/WebKit/Source/platform/loader/fetch/ResourceRequest.h
index da9d73c..a3e1fdf2 100644
--- a/third_party/WebKit/Source/platform/loader/fetch/ResourceRequest.h
+++ b/third_party/WebKit/Source/platform/loader/fetch/ResourceRequest.h
@@ -75,8 +75,8 @@
   };
 
   ResourceRequest();
-  ResourceRequest(const String& url_string);
-  ResourceRequest(const KURL&);
+  explicit ResourceRequest(const String& url_string);
+  explicit ResourceRequest(const KURL&);
   explicit ResourceRequest(CrossThreadResourceRequestData*);
   ResourceRequest(const ResourceRequest&);
   ResourceRequest& operator=(const ResourceRequest&);
diff --git a/third_party/WebKit/Source/platform/loader/fetch/ResourceTest.cpp b/third_party/WebKit/Source/platform/loader/fetch/ResourceTest.cpp
index 10d9b50..26c7c6a 100644
--- a/third_party/WebKit/Source/platform/loader/fetch/ResourceTest.cpp
+++ b/third_party/WebKit/Source/platform/loader/fetch/ResourceTest.cpp
@@ -77,7 +77,8 @@
   ResourceResponse response;
   response.SetURL(url);
   response.SetHTTPStatusCode(200);
-  Resource* resource = RawResource::Create(url, Resource::kRaw);
+  Resource* resource =
+      RawResource::Create(ResourceRequest(url), Resource::kRaw);
   resource->ResponseReceived(response, nullptr);
   resource->Finish();
 
@@ -98,7 +99,8 @@
   response.SetURL(url);
   response.SetHTTPStatusCode(200);
 
-  Resource* resource = RawResource::Create(url, Resource::kRaw);
+  Resource* resource =
+      RawResource::Create(ResourceRequest(url), Resource::kRaw);
   resource->ResponseReceived(response, nullptr);
   resource->Finish();
 
diff --git a/third_party/WebKit/Source/platform/mac/GraphicsContextCanvas.mm b/third_party/WebKit/Source/platform/mac/GraphicsContextCanvas.mm
index e3862ec..190a6fc 100644
--- a/third_party/WebKit/Source/platform/mac/GraphicsContextCanvas.mm
+++ b/third_party/WebKit/Source/platform/mac/GraphicsContextCanvas.mm
@@ -76,11 +76,6 @@
   // remember the top/left, in case we need to compose this later
   bitmap_offset_.set(clip_bounds.x(), clip_bounds.y());
 
-  // Now make clip_bounds be relative to the current layer/device
-  if (!bitmap_is_dummy_) {
-    canvas_->temporary_internal_describeTopLayer(nullptr, &clip_bounds);
-  }
-
   SkPixmap device_pixels;
   ToPixmap(canvas_, &device_pixels);
 
diff --git a/third_party/WebKit/Source/platform/mac/LocalCurrentGraphicsContext.mm b/third_party/WebKit/Source/platform/mac/LocalCurrentGraphicsContext.mm
index e3eada5..6379d6a 100644
--- a/third_party/WebKit/Source/platform/mac/LocalCurrentGraphicsContext.mm
+++ b/third_party/WebKit/Source/platform/mac/LocalCurrentGraphicsContext.mm
@@ -24,7 +24,6 @@
 #include "platform/graphics/paint/PaintCanvas.h"
 #include "platform/mac/ThemeMac.h"
 #include "platform_canvas.h"
-#include "third_party/skia/include/core/SkRegion.h"
 
 namespace blink {
 
diff --git a/third_party/WebKit/Source/platform/scroll/ScrollbarThemeOverlay.cpp b/third_party/WebKit/Source/platform/scroll/ScrollbarThemeOverlay.cpp
index a8c2268..b978eec 100644
--- a/third_party/WebKit/Source/platform/scroll/ScrollbarThemeOverlay.cpp
+++ b/third_party/WebKit/Source/platform/scroll/ScrollbarThemeOverlay.cpp
@@ -209,7 +209,7 @@
   // Horizontally flip the canvas if it is left vertical scrollbar.
   if (scrollbar.IsLeftSideVerticalScrollbar()) {
     canvas->save();
-    canvas->translate(canvas->getBaseLayerSize().width(), 0);
+    canvas->translate(rect.Width(), 0);
     canvas->scale(-1, 1);
   }
 
diff --git a/third_party/WebKit/Source/platform/wtf/HashCountedSet.h b/third_party/WebKit/Source/platform/wtf/HashCountedSet.h
index 2d10c675..fe51fcb1 100644
--- a/third_party/WebKit/Source/platform/wtf/HashCountedSet.h
+++ b/third_party/WebKit/Source/platform/wtf/HashCountedSet.h
@@ -63,7 +63,7 @@
                   "HeapHashCountedSet<Member<T>> instead.");
   }
 
-  void swap(HashCountedSet& other) { impl_.Swap(other.impl_); }
+  void swap(HashCountedSet& other) { impl_.swap(other.impl_); }
 
   unsigned size() const { return impl_.size(); }
   unsigned capacity() const { return impl_.capacity(); }
diff --git a/third_party/WebKit/Source/platform/wtf/HashMap.h b/third_party/WebKit/Source/platform/wtf/HashMap.h
index ec607852a..5b9a117 100644
--- a/third_party/WebKit/Source/platform/wtf/HashMap.h
+++ b/third_party/WebKit/Source/platform/wtf/HashMap.h
@@ -105,7 +105,7 @@
       const_iterator;
   typedef typename HashTableType::AddResult AddResult;
 
-  void Swap(HashMap& ref) { impl_.Swap(ref.impl_); }
+  void swap(HashMap& ref) { impl_.swap(ref.impl_); }
 
   unsigned size() const;
   unsigned Capacity() const;
@@ -625,7 +625,7 @@
           typename X,
           typename Y>
 inline void HashMap<T, U, V, W, X, Y>::Clear() {
-  impl_.Clear();
+  impl_.clear();
 }
 
 template <typename T,
diff --git a/third_party/WebKit/Source/platform/wtf/HashSet.h b/third_party/WebKit/Source/platform/wtf/HashSet.h
index da188ba..4010427 100644
--- a/third_party/WebKit/Source/platform/wtf/HashSet.h
+++ b/third_party/WebKit/Source/platform/wtf/HashSet.h
@@ -78,7 +78,7 @@
   HashSet(std::initializer_list<ValueType> elements);
   HashSet& operator=(std::initializer_list<ValueType> elements);
 
-  void Swap(HashSet& ref) { impl_.Swap(ref.impl_); }
+  void swap(HashSet& ref) { impl_.swap(ref.impl_); }
 
   unsigned size() const;
   unsigned Capacity() const;
@@ -283,7 +283,7 @@
 
 template <typename T, typename U, typename V, typename W>
 inline void HashSet<T, U, V, W>::Clear() {
-  impl_.Clear();
+  impl_.clear();
 }
 
 template <typename T, typename U, typename V, typename W>
diff --git a/third_party/WebKit/Source/platform/wtf/HashTable.h b/third_party/WebKit/Source/platform/wtf/HashTable.h
index a3fa811..dc6152cb 100644
--- a/third_party/WebKit/Source/platform/wtf/HashTable.h
+++ b/third_party/WebKit/Source/platform/wtf/HashTable.h
@@ -696,7 +696,7 @@
 
   HashTable(const HashTable&);
   HashTable(HashTable&&);
-  void Swap(HashTable&);
+  void swap(HashTable&);
   HashTable& operator=(const HashTable&);
   HashTable& operator=(HashTable&&);
 
@@ -760,7 +760,7 @@
   void erase(KeyPeekInType);
   void erase(iterator);
   void erase(const_iterator);
-  void Clear();
+  void clear();
 
   static bool IsEmptyBucket(const ValueType& value) {
     return IsHashTraitsEmptyValue<KeyTraits>(Extractor::Extract(value));
@@ -1793,7 +1793,7 @@
                HashFunctions,
                Traits,
                KeyTraits,
-               Allocator>::Clear() {
+               Allocator>::clear() {
   RegisterModification();
   if (!table_)
     return;
@@ -1863,7 +1863,7 @@
       m_stats(HashTableStatsPtr<Allocator>::copy(other.m_stats))
 #endif
 {
-  Swap(other);
+  swap(other);
 }
 
 template <typename Key,
@@ -1879,7 +1879,7 @@
                HashFunctions,
                Traits,
                KeyTraits,
-               Allocator>::Swap(HashTable& other) {
+               Allocator>::swap(HashTable& other) {
   DCHECK(!AccessForbidden());
   std::swap(table_, other.table_);
   std::swap(table_size_, other.table_size_);
@@ -1911,7 +1911,7 @@
 HashTable<Key, Value, Extractor, HashFunctions, Traits, KeyTraits, Allocator>::
 operator=(const HashTable& other) {
   HashTable tmp(other);
-  Swap(tmp);
+  swap(tmp);
   return *this;
 }
 
@@ -1925,7 +1925,7 @@
 HashTable<Key, Value, Extractor, HashFunctions, Traits, KeyTraits, Allocator>&
 HashTable<Key, Value, Extractor, HashFunctions, Traits, KeyTraits, Allocator>::
 operator=(HashTable&& other) {
-  Swap(other);
+  swap(other);
   return *this;
 }
 
diff --git a/third_party/WebKit/Source/platform/wtf/LinkedHashSet.h b/third_party/WebKit/Source/platform/wtf/LinkedHashSet.h
index 4050a22..8fdcad30 100644
--- a/third_party/WebKit/Source/platform/wtf/LinkedHashSet.h
+++ b/third_party/WebKit/Source/platform/wtf/LinkedHashSet.h
@@ -290,7 +290,7 @@
 
   void erase(ValuePeekInType);
   void erase(iterator);
-  void Clear() { impl_.Clear(); }
+  void clear() { impl_.clear(); }
   template <typename Collection>
   void RemoveAll(const Collection& other) {
     WTF::RemoveAll(*this, other);
@@ -687,7 +687,7 @@
 
 template <typename T, typename U, typename V, typename W>
 inline void LinkedHashSet<T, U, V, W>::Swap(LinkedHashSet& other) {
-  impl_.Swap(other.impl_);
+  impl_.swap(other.impl_);
   SwapAnchor(anchor_, other.anchor_);
 }
 
diff --git a/third_party/WebKit/Source/platform/wtf/ListHashSet.h b/third_party/WebKit/Source/platform/wtf/ListHashSet.h
index e0af8b15..e99da9e 100644
--- a/third_party/WebKit/Source/platform/wtf/ListHashSet.h
+++ b/third_party/WebKit/Source/platform/wtf/ListHashSet.h
@@ -216,7 +216,7 @@
 
   void erase(ValuePeekInType value) { return erase(Find(value)); }
   void erase(iterator);
-  void Clear();
+  void clear();
   template <typename Collection>
   void RemoveAll(const Collection& other) {
     WTF::RemoveAll(*this, other);
@@ -796,7 +796,7 @@
 
 template <typename T, size_t inlineCapacity, typename U, typename V>
 inline void ListHashSet<T, inlineCapacity, U, V>::Swap(ListHashSet& other) {
-  impl_.Swap(other.impl_);
+  impl_.swap(other.impl_);
   std::swap(head_, other.head_);
   std::swap(tail_, other.tail_);
   allocator_provider_.Swap(other.allocator_provider_);
@@ -1003,9 +1003,9 @@
 }
 
 template <typename T, size_t inlineCapacity, typename U, typename V>
-inline void ListHashSet<T, inlineCapacity, U, V>::Clear() {
+inline void ListHashSet<T, inlineCapacity, U, V>::clear() {
   DeleteAllNodes();
-  impl_.Clear();
+  impl_.clear();
   head_ = nullptr;
   tail_ = nullptr;
 }
diff --git a/third_party/WebKit/Source/platform/wtf/ListHashSetTest.cpp b/third_party/WebKit/Source/platform/wtf/ListHashSetTest.cpp
index bea8e52..9f8cb6b 100644
--- a/third_party/WebKit/Source/platform/wtf/ListHashSetTest.cpp
+++ b/third_party/WebKit/Source/platform/wtf/ListHashSetTest.cpp
@@ -578,7 +578,7 @@
   set.erase(ptr1);
   EXPECT_TRUE(deleted1);
 
-  set.Clear();
+  set.clear();
   EXPECT_TRUE(deleted2);
   EXPECT_TRUE(set.IsEmpty());
 
@@ -815,7 +815,7 @@
   // ... but they don't have any pass-out (like take()) methods.
 
   set.erase(MoveOnly(3));
-  set.Clear();
+  set.clear();
 }
 
 }  // anonymous namespace
diff --git a/third_party/WebKit/Source/web/DEPS b/third_party/WebKit/Source/web/DEPS
index bdd4bc35..0c646884 100644
--- a/third_party/WebKit/Source/web/DEPS
+++ b/third_party/WebKit/Source/web/DEPS
@@ -13,7 +13,4 @@
     "+third_party/skia",
     "+ui/gfx/geometry",
     "+web",
-
-    # Use platform/wtf/ now (see crbug.com/691465).
-    "-wtf/",
 ]
diff --git a/third_party/WebKit/Source/web/InspectorOverlay.cpp b/third_party/WebKit/Source/web/InspectorOverlay.cpp
index 412f7c3..b5df8d3 100644
--- a/third_party/WebKit/Source/web/InspectorOverlay.cpp
+++ b/third_party/WebKit/Source/web/InspectorOverlay.cpp
@@ -561,7 +561,7 @@
   const WebData& overlay_page_html_resource =
       Platform::Current()->LoadResource("InspectorOverlayPage.html");
   loader.Load(
-      FrameLoadRequest(0, BlankURL(),
+      FrameLoadRequest(0, ResourceRequest(BlankURL()),
                        SubstituteData(overlay_page_html_resource, "text/html",
                                       "UTF-8", KURL(), kForceSynchronousLoad)));
   v8::Isolate* isolate = ToIsolate(frame);
diff --git a/third_party/WebKit/Source/web/PopupMenuImpl.cpp b/third_party/WebKit/Source/web/PopupMenuImpl.cpp
index 5186a47f..fcb0db7 100644
--- a/third_party/WebKit/Source/web/PopupMenuImpl.cpp
+++ b/third_party/WebKit/Source/web/PopupMenuImpl.cpp
@@ -274,6 +274,8 @@
   int min_height = static_cast<int>(roundf(24 * scale_factor));
   PagePopupClient::AddString(String::Format("option, optgroup {"
                                             "padding-top: %dpx;"
+                                            "}\n"
+                                            "option {"
                                             "padding-bottom: %dpx;"
                                             "min-height: %dpx;"
                                             "display: flex;"
diff --git a/third_party/WebKit/Source/web/WebLocalFrameImpl.cpp b/third_party/WebKit/Source/web/WebLocalFrameImpl.cpp
index 6b923d4b..d8e9cc2 100644
--- a/third_party/WebKit/Source/web/WebLocalFrameImpl.cpp
+++ b/third_party/WebKit/Source/web/WebLocalFrameImpl.cpp
@@ -1918,7 +1918,7 @@
   if (WebPluginContainerImpl* plugin = PluginContainerFromFrame(GetFrame()))
     plugin->DidFinishLoading();
 
-  Client()->DidFinishLoad(this);
+  Client()->DidFinishLoad();
 }
 
 void WebLocalFrameImpl::SetCanHaveScrollbars(bool can_have_scrollbars) {
diff --git a/third_party/WebKit/Source/web/WebPagePopupImpl.cpp b/third_party/WebKit/Source/web/WebPagePopupImpl.cpp
index b1e27a9..5b57a8f 100644
--- a/third_party/WebKit/Source/web/WebPagePopupImpl.cpp
+++ b/third_party/WebKit/Source/web/WebPagePopupImpl.cpp
@@ -332,7 +332,7 @@
   popup_client_->WriteDocument(data.Get());
   frame->SetPageZoomFactor(popup_client_->ZoomFactor());
   frame->Loader().Load(
-      FrameLoadRequest(0, BlankURL(),
+      FrameLoadRequest(0, ResourceRequest(BlankURL()),
                        SubstituteData(data, "text/html", "UTF-8", KURL(),
                                       kForceSynchronousLoad)));
   return true;
diff --git a/third_party/WebKit/Source/web/tests/ActiveConnectionThrottlingTest.cpp b/third_party/WebKit/Source/web/tests/ActiveConnectionThrottlingTest.cpp
index ab70a14..17ba2cf 100644
--- a/third_party/WebKit/Source/web/tests/ActiveConnectionThrottlingTest.cpp
+++ b/third_party/WebKit/Source/web/tests/ActiveConnectionThrottlingTest.cpp
@@ -5,11 +5,11 @@
 #include "platform/testing/TestingPlatformSupport.h"
 #include "public/platform/WebRTCError.h"
 #include "public/platform/WebRTCPeerConnectionHandler.h"
+#include "public/platform/WebRTCRtpReceiver.h"
 #include "public/platform/WebRTCSessionDescription.h"
+#include "public/platform/WebViewScheduler.h"
 #include "public/web/WebScriptSource.h"
 #include "testing/gtest/include/gtest/gtest.h"
-#include "third_party/WebKit/public/platform/WebRTCRtpReceiver.h"
-#include "third_party/WebKit/public/platform/WebViewScheduler.h"
 #include "web/WebLocalFrameImpl.h"
 #include "web/WebViewImpl.h"
 #include "web/tests/sim/SimRequest.h"
diff --git a/third_party/WebKit/Source/web/tests/WebFrameTest.cpp b/third_party/WebKit/Source/web/tests/WebFrameTest.cpp
index a6716df..797c2df 100644
--- a/third_party/WebKit/Source/web/tests/WebFrameTest.cpp
+++ b/third_party/WebKit/Source/web/tests/WebFrameTest.cpp
@@ -3777,6 +3777,7 @@
   web_view_helper.InitializeAndLoad(base_url_ + "block_bound.html", false,
                                     nullptr, nullptr, nullptr,
                                     ConfigureAndroid);
+  web_view_helper.Resize(WebSize(300, 300));
 
   IntRect rect_back = IntRect(0, 0, 200, 200);
   IntRect rect_left_top = IntRect(10, 10, 80, 80);
@@ -10347,9 +10348,7 @@
     EXPECT_EQ(3, callback_count_++);
   }
   void DidHandleOnloadEvents() override { EXPECT_EQ(4, callback_count_++); }
-  void DidFinishLoad(WebLocalFrame*) override {
-    EXPECT_EQ(5, callback_count_++);
-  }
+  void DidFinishLoad() override { EXPECT_EQ(5, callback_count_++); }
   void DidStopLoading() override {
     EXPECT_EQ(6, callback_count_++);
     FrameTestHelpers::TestWebFrameClient::DidStopLoading();
@@ -11721,7 +11720,7 @@
       did_call_did_handle_onload_events_ = true;
     }
 
-    void DidFinishLoad(WebLocalFrame*) override {
+    void DidFinishLoad() override {
       EXPECT_TRUE(false) << "didFinishLoad() should not have been called.";
     }
 
diff --git a/third_party/WebKit/Tools/Scripts/webkitpy/common/system/executive_mock.py b/third_party/WebKit/Tools/Scripts/webkitpy/common/system/executive_mock.py
index 670b728..2b910bc 100644
--- a/third_party/WebKit/Tools/Scripts/webkitpy/common/system/executive_mock.py
+++ b/third_party/WebKit/Tools/Scripts/webkitpy/common/system/executive_mock.py
@@ -56,6 +56,9 @@
     def communicate(self, *_):
         return (self.stdout.getvalue(), self.stderr.getvalue())
 
+    def kill(self):
+        return
+
 
 class MockExecutive(object):
     PIPE = 'MOCK PIPE'
diff --git a/third_party/WebKit/Tools/Scripts/webkitpy/layout_tests/controllers/manager.py b/third_party/WebKit/Tools/Scripts/webkitpy/layout_tests/controllers/manager.py
index 6a792fc..6b261b5 100644
--- a/third_party/WebKit/Tools/Scripts/webkitpy/layout_tests/controllers/manager.py
+++ b/third_party/WebKit/Tools/Scripts/webkitpy/layout_tests/controllers/manager.py
@@ -325,6 +325,8 @@
         self._delete_dirs(results_directories[:-self.ARCHIVED_RESULTS_LIMIT])
 
     def _set_up_run(self, test_names):
+        exit_code = self._port.setup_test_run()
+
         self._printer.write_update("Checking build ...")
         if self._options.build:
             exit_code = self._port.check_build(self._needs_servers(test_names), self._printer)
@@ -332,13 +334,6 @@
                 _log.error("Build check failed")
                 return exit_code
 
-        # Check that the system dependencies (themes, fonts, ...) are correct.
-        if not self._options.nocheck_sys_deps:
-            self._printer.write_update("Checking system dependencies ...")
-            exit_code = self._port.check_sys_deps(self._needs_servers(test_names))
-            if exit_code:
-                return exit_code
-
         if self._options.clobber_old_results:
             self._clobber_old_results()
         elif self._filesystem.exists(self._results_directory):
@@ -349,7 +344,13 @@
         # Create the output directory if it doesn't already exist.
         self._port.host.filesystem.maybe_make_directory(self._results_directory)
 
-        self._port.setup_test_run()
+        # Check that the system dependencies (themes, fonts, ...) are correct.
+        if not self._options.nocheck_sys_deps:
+            self._printer.write_update("Checking system dependencies ...")
+            exit_code = self._port.check_sys_deps(self._needs_servers(test_names))
+            if exit_code:
+                return exit_code
+
         return exit_codes.OK_EXIT_STATUS
 
     def _run_tests(self, tests_to_run, tests_to_skip, repeat_each, iterations,
diff --git a/third_party/WebKit/Tools/Scripts/webkitpy/layout_tests/port/linux.py b/third_party/WebKit/Tools/Scripts/webkitpy/layout_tests/port/linux.py
index 28c22b4..da1121b 100644
--- a/third_party/WebKit/Tools/Scripts/webkitpy/layout_tests/port/linux.py
+++ b/third_party/WebKit/Tools/Scripts/webkitpy/layout_tests/port/linux.py
@@ -65,6 +65,7 @@
         if not self.get_option('disable_breakpad'):
             self._dump_reader = DumpReaderLinux(host, self._build_path())
         self._original_home = None
+        self._xvfb_process = None
 
     def additional_driver_flag(self):
         flags = super(LinuxPort, self).additional_driver_flag()
@@ -104,10 +105,12 @@
 
     def setup_test_run(self):
         super(LinuxPort, self).setup_test_run()
+        self._start_xvfb()
         self._setup_dummy_home_dir()
 
     def clean_up_test_run(self):
         super(LinuxPort, self).clean_up_test_run()
+        self._stop_xvfb()
         self._clean_up_dummy_home_dir()
 
     #
@@ -142,6 +145,45 @@
         self._filesystem.rmtree(dummy_home)
         self.host.environ['HOME'] = self._original_home
 
+    def _start_xvfb(self):
+        display = self._find_display()
+        if not display:
+            _log.warn('Failed to find a free display to start Xvfb.')
+            return
+
+        _log.info('Starting Xvfb with display "%s".', display)
+        self._xvfb_process = self.host.executive.popen(
+            ['Xvfb', display, '-screen', '0', '1280x800x24', '-ac', '-dpi', '96'],
+            stderr=self.host.executive.DEVNULL)
+
+        # By setting DISPLAY here, the individual worker processes will
+        # get the right DISPLAY. Note, if this environment could be passed
+        # when creating workers, then we wouldn't need to modify DISPLAY here.
+        self.host.environ['DISPLAY'] = display
+
+        # The poll() method will return None if the process has not terminated:
+        # https://docs.python.org/2/library/subprocess.html#subprocess.Popen.poll
+        if self._xvfb_process.poll() is not None:
+            _log.warn('Failed to start Xvfb on display "%s."', display)
+
+    def _find_display(self):
+        """Tries to find a free X display, looping if necessary."""
+        # The "xvfb-run" command uses :99 by default.
+        for display_number in range(99, 120):
+            display = ':%d' % display_number
+            exit_code = self.host.executive.run_command(
+                ['xdpyinfo', '-display', display], return_exit_code=True)
+            if exit_code == 1:
+                return display
+        return None
+
+    def _stop_xvfb(self):
+        if not self._xvfb_process:
+            return
+        _log.debug('Killing Xvfb process pid %d.', self._xvfb_process.pid)
+        self._xvfb_process.kill()
+        self._xvfb_process.wait()
+
     def _path_to_driver(self, target=None):
         binary_name = self.driver_name()
         return self._build_path_with_target(target, binary_name)
diff --git a/third_party/WebKit/Tools/Scripts/webkitpy/layout_tests/port/linux_unittest.py b/third_party/WebKit/Tools/Scripts/webkitpy/layout_tests/port/linux_unittest.py
index fe363f7..9b6a25e5 100644
--- a/third_party/WebKit/Tools/Scripts/webkitpy/layout_tests/port/linux_unittest.py
+++ b/third_party/WebKit/Tools/Scripts/webkitpy/layout_tests/port/linux_unittest.py
@@ -114,3 +114,33 @@
         port.clean_up_test_run()
         self.assertEqual(port.host.environ['HOME'], '/home/user')
         self.assertFalse(port.host.filesystem.exists(temp_home_dir))
+
+    def test_setup_test_run_starts_xvfb(self):
+        port = self.make_port()
+        port.host.executive = MockExecutive(exit_code=1)
+        port.setup_test_run()
+        self.assertEqual(
+            port.host.executive.calls,
+            [
+                ['xdpyinfo', '-display', ':99'],
+                ['Xvfb', ':99', '-screen', '0', '1280x800x24', '-ac', '-dpi', '96'],
+            ])
+        env = port.setup_environ_for_server()
+        self.assertEqual(env['DISPLAY'], ':99')
+
+    def test_setup_test_runs_finds_free_display(self):
+        port = self.make_port()
+        port.host.executive = MockExecutive(
+            run_command_fn=lambda args: 1 if ':102' in args else 0)
+        port.setup_test_run()
+        self.assertEqual(
+            port.host.executive.calls,
+            [
+                ['xdpyinfo', '-display', ':99'],
+                ['xdpyinfo', '-display', ':100'],
+                ['xdpyinfo', '-display', ':101'],
+                ['xdpyinfo', '-display', ':102'],
+                ['Xvfb', ':102', '-screen', '0', '1280x800x24', '-ac', '-dpi', '96'],
+            ])
+        env = port.setup_environ_for_server()
+        self.assertEqual(env['DISPLAY'], ':102')
diff --git a/third_party/WebKit/Tools/Scripts/webkitpy/thirdparty/wpt/wpt/tools/lint/lint.py b/third_party/WebKit/Tools/Scripts/webkitpy/thirdparty/wpt/wpt/tools/lint/lint.py
index 4b74117..c4f7445 100644
--- a/third_party/WebKit/Tools/Scripts/webkitpy/thirdparty/wpt/wpt/tools/lint/lint.py
+++ b/third_party/WebKit/Tools/Scripts/webkitpy/thirdparty/wpt/wpt/tools/lint/lint.py
@@ -442,18 +442,21 @@
                         help="Ignore locally added files in the working directory (requires git).")
     parser.add_argument("--css-mode", action="store_true",
                         help="Run CSS testsuite specific lints")
+    parser.add_argument("--whitelist-path", default=None,
+                        help="Optional path for lint.whitelist")
     return parser.parse_args()
 
 def main(force_css_mode=False):
     args = parse_args()
     paths = args.paths if args.paths else all_paths(repo_root, args.ignore_local)
-    return lint(repo_root, paths, args.json, force_css_mode or args.css_mode)
+    whitelist_path = kwargs.get("whitelist_path")
+    return lint(repo_root, paths, output_format, kwargs.get("css_mode", False), whitelist_path)
 
-def lint(repo_root, paths, output_json, css_mode):
+def lint(repo_root, paths, output_json, css_mode, whitelist_path=None):
     error_count = defaultdict(int)
     last = None
 
-    with open(os.path.join(repo_root, "lint.whitelist")) as f:
+    with open(whitelist_path or os.path.join(repo_root, "lint.whitelist")) as f:
         whitelist, ignored_files = parse_whitelist(f)
 
     if output_json:
diff --git a/third_party/WebKit/public/DEPS b/third_party/WebKit/public/DEPS
index 0ee8715..99d78e9 100644
--- a/third_party/WebKit/public/DEPS
+++ b/third_party/WebKit/public/DEPS
@@ -5,7 +5,4 @@
     "+platform/heap",
     "+platform/wtf",
     "+v8",
-
-    # Use platform/wtf/ now (see crbug.com/691465).
-    "-wtf",
 ]
diff --git a/third_party/WebKit/public/web/WebFrameClient.h b/third_party/WebKit/public/web/WebFrameClient.h
index 5c1d01e..2e660fb 100644
--- a/third_party/WebKit/public/web/WebFrameClient.h
+++ b/third_party/WebKit/public/web/WebFrameClient.h
@@ -413,7 +413,7 @@
   virtual void DidFailLoad(const WebURLError&, WebHistoryCommitType) {}
 
   // The frame's document and all of its subresources succeeded to load.
-  virtual void DidFinishLoad(WebLocalFrame*) {}
+  virtual void DidFinishLoad() {}
 
   // The navigation resulted in no change to the documents within the page.
   // For example, the navigation may have just resulted in scrolling to a
diff --git a/third_party/boringssl/BUILD.generated.gni b/third_party/boringssl/BUILD.generated.gni
index d365366..e3b69b19 100644
--- a/third_party/boringssl/BUILD.generated.gni
+++ b/third_party/boringssl/BUILD.generated.gni
@@ -87,6 +87,8 @@
   "src/crypto/cipher/cipher.c",
   "src/crypto/cipher/derive_key.c",
   "src/crypto/cipher/e_aes.c",
+  "src/crypto/cipher/e_aesctrhmac.c",
+  "src/crypto/cipher/e_aesgcmsiv.c",
   "src/crypto/cipher/e_chacha20poly1305.c",
   "src/crypto/cipher/e_des.c",
   "src/crypto/cipher/e_null.c",
@@ -116,10 +118,8 @@
   "src/crypto/dh/dh.c",
   "src/crypto/dh/dh_asn1.c",
   "src/crypto/dh/params.c",
-  "src/crypto/digest/digest.c",
-  "src/crypto/digest/digests.c",
-  "src/crypto/digest/internal.h",
-  "src/crypto/digest/md32_common.h",
+  "src/crypto/digest_extra/digest_extra.c",
+  "src/crypto/digest_extra/internal.h",
   "src/crypto/dsa/dsa.c",
   "src/crypto/dsa/dsa_asn1.c",
   "src/crypto/ec/ec.c",
@@ -149,18 +149,22 @@
   "src/crypto/evp/p_dsa_asn1.c",
   "src/crypto/evp/p_ec.c",
   "src/crypto/evp/p_ec_asn1.c",
+  "src/crypto/evp/p_ed25519.c",
+  "src/crypto/evp/p_ed25519_asn1.c",
   "src/crypto/evp/p_rsa.c",
   "src/crypto/evp/p_rsa_asn1.c",
   "src/crypto/evp/pbkdf.c",
   "src/crypto/evp/print.c",
   "src/crypto/evp/sign.c",
   "src/crypto/ex_data.c",
+  "src/crypto/fipsmodule/bcm.c",
+  "src/crypto/fipsmodule/delocate.h",
+  "src/crypto/fipsmodule/digest/internal.h",
+  "src/crypto/fipsmodule/digest/md32_common.h",
+  "src/crypto/fipsmodule/is_fips.c",
   "src/crypto/hkdf/hkdf.c",
-  "src/crypto/hmac/hmac.c",
   "src/crypto/internal.h",
   "src/crypto/lhash/lhash.c",
-  "src/crypto/md4/md4.c",
-  "src/crypto/md5/md5.c",
   "src/crypto/mem.c",
   "src/crypto/modes/cbc.c",
   "src/crypto/modes/cfb.c",
@@ -190,7 +194,9 @@
   "src/crypto/poly1305/poly1305_vec.c",
   "src/crypto/pool/internal.h",
   "src/crypto/pool/pool.c",
+  "src/crypto/rand/ctrdrbg.c",
   "src/crypto/rand/deterministic.c",
+  "src/crypto/rand/forkunsafe.c",
   "src/crypto/rand/fuchsia.c",
   "src/crypto/rand/internal.h",
   "src/crypto/rand/rand.c",
@@ -205,10 +211,6 @@
   "src/crypto/rsa/rsa.c",
   "src/crypto/rsa/rsa_asn1.c",
   "src/crypto/rsa/rsa_impl.c",
-  "src/crypto/sha/sha1-altivec.c",
-  "src/crypto/sha/sha1.c",
-  "src/crypto/sha/sha256.c",
-  "src/crypto/sha/sha512.c",
   "src/crypto/stack/stack.c",
   "src/crypto/thread.c",
   "src/crypto/thread_none.c",
@@ -338,6 +340,7 @@
   "src/include/openssl/ex_data.h",
   "src/include/openssl/hkdf.h",
   "src/include/openssl/hmac.h",
+  "src/include/openssl/is_boringssl.h",
   "src/include/openssl/lhash.h",
   "src/include/openssl/lhash_macros.h",
   "src/include/openssl/md4.h",
@@ -419,10 +422,10 @@
   "linux-aarch64/crypto/aes/aesv8-armx64.S",
   "linux-aarch64/crypto/bn/armv8-mont.S",
   "linux-aarch64/crypto/chacha/chacha-armv8.S",
+  "linux-aarch64/crypto/fipsmodule/sha1-armv8.S",
+  "linux-aarch64/crypto/fipsmodule/sha256-armv8.S",
+  "linux-aarch64/crypto/fipsmodule/sha512-armv8.S",
   "linux-aarch64/crypto/modes/ghashv8-armx64.S",
-  "linux-aarch64/crypto/sha/sha1-armv8.S",
-  "linux-aarch64/crypto/sha/sha256-armv8.S",
-  "linux-aarch64/crypto/sha/sha512-armv8.S",
 ]
 
 crypto_sources_linux_arm = [
@@ -431,11 +434,11 @@
   "linux-arm/crypto/aes/bsaes-armv7.S",
   "linux-arm/crypto/bn/armv4-mont.S",
   "linux-arm/crypto/chacha/chacha-armv4.S",
+  "linux-arm/crypto/fipsmodule/sha1-armv4-large.S",
+  "linux-arm/crypto/fipsmodule/sha256-armv4.S",
+  "linux-arm/crypto/fipsmodule/sha512-armv4.S",
   "linux-arm/crypto/modes/ghash-armv4.S",
   "linux-arm/crypto/modes/ghashv8-armx32.S",
-  "linux-arm/crypto/sha/sha1-armv4-large.S",
-  "linux-arm/crypto/sha/sha256-armv4.S",
-  "linux-arm/crypto/sha/sha512-armv4.S",
   "src/crypto/curve25519/asm/x25519-asm-arm.S",
   "src/crypto/poly1305/poly1305_arm_asm.S",
 ]
@@ -453,11 +456,11 @@
   "linux-x86/crypto/bn/co-586.S",
   "linux-x86/crypto/bn/x86-mont.S",
   "linux-x86/crypto/chacha/chacha-x86.S",
-  "linux-x86/crypto/md5/md5-586.S",
+  "linux-x86/crypto/fipsmodule/md5-586.S",
+  "linux-x86/crypto/fipsmodule/sha1-586.S",
+  "linux-x86/crypto/fipsmodule/sha256-586.S",
+  "linux-x86/crypto/fipsmodule/sha512-586.S",
   "linux-x86/crypto/modes/ghash-x86.S",
-  "linux-x86/crypto/sha/sha1-586.S",
-  "linux-x86/crypto/sha/sha256-586.S",
-  "linux-x86/crypto/sha/sha512-586.S",
 ]
 
 crypto_sources_linux_x86_64 = [
@@ -471,13 +474,13 @@
   "linux-x86_64/crypto/chacha/chacha-x86_64.S",
   "linux-x86_64/crypto/cipher/chacha20_poly1305_x86_64.S",
   "linux-x86_64/crypto/ec/p256-x86_64-asm.S",
-  "linux-x86_64/crypto/md5/md5-x86_64.S",
+  "linux-x86_64/crypto/fipsmodule/md5-x86_64.S",
+  "linux-x86_64/crypto/fipsmodule/sha1-x86_64.S",
+  "linux-x86_64/crypto/fipsmodule/sha256-x86_64.S",
+  "linux-x86_64/crypto/fipsmodule/sha512-x86_64.S",
   "linux-x86_64/crypto/modes/aesni-gcm-x86_64.S",
   "linux-x86_64/crypto/modes/ghash-x86_64.S",
   "linux-x86_64/crypto/rand/rdrand-x86_64.S",
-  "linux-x86_64/crypto/sha/sha1-x86_64.S",
-  "linux-x86_64/crypto/sha/sha256-x86_64.S",
-  "linux-x86_64/crypto/sha/sha512-x86_64.S",
   "src/crypto/curve25519/asm/x25519-asm-x86_64.S",
 ]
 
@@ -489,11 +492,11 @@
   "mac-x86/crypto/bn/co-586.S",
   "mac-x86/crypto/bn/x86-mont.S",
   "mac-x86/crypto/chacha/chacha-x86.S",
-  "mac-x86/crypto/md5/md5-586.S",
+  "mac-x86/crypto/fipsmodule/md5-586.S",
+  "mac-x86/crypto/fipsmodule/sha1-586.S",
+  "mac-x86/crypto/fipsmodule/sha256-586.S",
+  "mac-x86/crypto/fipsmodule/sha512-586.S",
   "mac-x86/crypto/modes/ghash-x86.S",
-  "mac-x86/crypto/sha/sha1-586.S",
-  "mac-x86/crypto/sha/sha256-586.S",
-  "mac-x86/crypto/sha/sha512-586.S",
 ]
 
 crypto_sources_mac_x86_64 = [
@@ -507,13 +510,13 @@
   "mac-x86_64/crypto/chacha/chacha-x86_64.S",
   "mac-x86_64/crypto/cipher/chacha20_poly1305_x86_64.S",
   "mac-x86_64/crypto/ec/p256-x86_64-asm.S",
-  "mac-x86_64/crypto/md5/md5-x86_64.S",
+  "mac-x86_64/crypto/fipsmodule/md5-x86_64.S",
+  "mac-x86_64/crypto/fipsmodule/sha1-x86_64.S",
+  "mac-x86_64/crypto/fipsmodule/sha256-x86_64.S",
+  "mac-x86_64/crypto/fipsmodule/sha512-x86_64.S",
   "mac-x86_64/crypto/modes/aesni-gcm-x86_64.S",
   "mac-x86_64/crypto/modes/ghash-x86_64.S",
   "mac-x86_64/crypto/rand/rdrand-x86_64.S",
-  "mac-x86_64/crypto/sha/sha1-x86_64.S",
-  "mac-x86_64/crypto/sha/sha256-x86_64.S",
-  "mac-x86_64/crypto/sha/sha512-x86_64.S",
   "src/crypto/curve25519/asm/x25519-asm-x86_64.S",
 ]
 
@@ -525,11 +528,11 @@
   "win-x86/crypto/bn/co-586.asm",
   "win-x86/crypto/bn/x86-mont.asm",
   "win-x86/crypto/chacha/chacha-x86.asm",
-  "win-x86/crypto/md5/md5-586.asm",
+  "win-x86/crypto/fipsmodule/md5-586.asm",
+  "win-x86/crypto/fipsmodule/sha1-586.asm",
+  "win-x86/crypto/fipsmodule/sha256-586.asm",
+  "win-x86/crypto/fipsmodule/sha512-586.asm",
   "win-x86/crypto/modes/ghash-x86.asm",
-  "win-x86/crypto/sha/sha1-586.asm",
-  "win-x86/crypto/sha/sha256-586.asm",
-  "win-x86/crypto/sha/sha512-586.asm",
 ]
 
 crypto_sources_win_x86_64 = [
@@ -543,13 +546,13 @@
   "win-x86_64/crypto/chacha/chacha-x86_64.asm",
   "win-x86_64/crypto/cipher/chacha20_poly1305_x86_64.asm",
   "win-x86_64/crypto/ec/p256-x86_64-asm.asm",
-  "win-x86_64/crypto/md5/md5-x86_64.asm",
+  "win-x86_64/crypto/fipsmodule/md5-x86_64.asm",
+  "win-x86_64/crypto/fipsmodule/sha1-x86_64.asm",
+  "win-x86_64/crypto/fipsmodule/sha256-x86_64.asm",
+  "win-x86_64/crypto/fipsmodule/sha512-x86_64.asm",
   "win-x86_64/crypto/modes/aesni-gcm-x86_64.asm",
   "win-x86_64/crypto/modes/ghash-x86_64.asm",
   "win-x86_64/crypto/rand/rdrand-x86_64.asm",
-  "win-x86_64/crypto/sha/sha1-x86_64.asm",
-  "win-x86_64/crypto/sha/sha256-x86_64.asm",
-  "win-x86_64/crypto/sha/sha512-x86_64.asm",
 ]
 
 fuzzers = [
diff --git a/third_party/boringssl/BUILD.generated_tests.gni b/third_party/boringssl/BUILD.generated_tests.gni
index 2cdd2415..71931bb 100644
--- a/third_party/boringssl/BUILD.generated_tests.gni
+++ b/third_party/boringssl/BUILD.generated_tests.gni
@@ -26,6 +26,7 @@
   "src/crypto/ec/ec_test.cc",
   "src/crypto/err/err_test.cc",
   "src/crypto/evp/evp_extra_test.cc",
+  "src/crypto/rand/ctrdrbg_test.cc",
   "src/crypto/rsa/rsa_test.cc",
   "src/crypto/test/gtest_main.cc",
 ]
@@ -146,7 +147,7 @@
 
   executable("boringssl_digest_test") {
     sources = [
-      "src/crypto/digest/digest_test.cc",
+      "src/crypto/digest_extra/digest_test.cc",
     ]
     sources += test_support_sources
     if (defined(invoker.configs_exclude)) {
@@ -266,7 +267,7 @@
 
   executable("boringssl_hmac_test") {
     sources = [
-      "src/crypto/hmac/hmac_test.cc",
+      "src/crypto/hmac_extra/hmac_test.cc",
     ]
     sources += test_support_sources
     if (defined(invoker.configs_exclude)) {
@@ -360,6 +361,18 @@
     deps = invoker.deps
   }
 
+  executable("boringssl_ctrdrbg_vector_test") {
+    sources = [
+      "src/crypto/rand/ctrdrbg_vector_test.cc",
+    ]
+    sources += test_support_sources
+    if (defined(invoker.configs_exclude)) {
+      configs -= invoker.configs_exclude
+    }
+    configs += invoker.configs
+    deps = invoker.deps
+  }
+
   executable("boringssl_refcount_test") {
     sources = [
       "src/crypto/refcount_test.cc",
@@ -441,6 +454,7 @@
       ":boringssl_bytestring_test",
       ":boringssl_cipher_test",
       ":boringssl_cmac_test",
+      ":boringssl_ctrdrbg_vector_test",
       ":boringssl_digest_test",
       ":boringssl_ecdh_test",
       ":boringssl_ecdsa_sign_test",
diff --git a/third_party/boringssl/err_data.c b/third_party/boringssl/err_data.c
index ea6dd73..fbc962bd 100644
--- a/third_party/boringssl/err_data.c
+++ b/third_party/boringssl/err_data.c
@@ -74,51 +74,52 @@
     0xc3a8845,
     0xc3b00ea,
     0x10320845,
-    0x1032943b,
-    0x10331447,
-    0x10339460,
-    0x10341473,
-    0x10348eb4,
+    0x1032947c,
+    0x10331488,
+    0x103394a1,
+    0x103414b4,
+    0x10348ed1,
     0x10350c42,
-    0x10359486,
-    0x1036149b,
-    0x103694ae,
-    0x103714cd,
-    0x103794e6,
-    0x103814fb,
-    0x10389519,
-    0x10391528,
-    0x10399544,
-    0x103a155f,
-    0x103a956e,
-    0x103b158a,
-    0x103b95a5,
-    0x103c15bc,
+    0x103594c7,
+    0x103614dc,
+    0x103694ef,
+    0x1037150e,
+    0x10379527,
+    0x1038153c,
+    0x1038955a,
+    0x10391569,
+    0x10399585,
+    0x103a15a0,
+    0x103a95af,
+    0x103b15cb,
+    0x103b95e6,
+    0x103c15fd,
     0x103c80ea,
-    0x103d15cd,
-    0x103d95e1,
-    0x103e1600,
-    0x103e960f,
-    0x103f1626,
-    0x103f9639,
+    0x103d160e,
+    0x103d9622,
+    0x103e1641,
+    0x103e9650,
+    0x103f1667,
+    0x103f967a,
     0x10400c06,
-    0x1040964c,
-    0x1041166a,
-    0x1041967d,
-    0x10421697,
-    0x104296a7,
-    0x104316bb,
-    0x104396d1,
-    0x104416e9,
-    0x104496fe,
-    0x10451712,
-    0x10459724,
+    0x1040968d,
+    0x104116ab,
+    0x104196be,
+    0x104216d8,
+    0x104296e8,
+    0x104316fc,
+    0x10439712,
+    0x1044172a,
+    0x1044973f,
+    0x10451753,
+    0x10459765,
     0x104605fb,
     0x1046893f,
-    0x10471739,
-    0x10479750,
-    0x10481765,
-    0x10489773,
+    0x1047177a,
+    0x10479791,
+    0x104817a6,
+    0x104897b4,
+    0x10490e33,
     0x14320be9,
     0x14328bf7,
     0x14330c06,
@@ -126,51 +127,53 @@
     0x143400ac,
     0x143480ea,
     0x18320083,
-    0x18328f0a,
+    0x18328f27,
     0x183300ac,
-    0x18338f20,
-    0x18340f34,
+    0x18338f3d,
+    0x18340f51,
     0x183480ea,
-    0x18350f49,
-    0x18358f61,
-    0x18360f76,
-    0x18368f8a,
-    0x18370fae,
-    0x18378fc4,
-    0x18380fd8,
-    0x18388fe8,
+    0x18350f66,
+    0x18358f7e,
+    0x18360f93,
+    0x18368fa7,
+    0x18370fcb,
+    0x18378fe1,
+    0x18380ff5,
+    0x18389005,
     0x18390a57,
-    0x18398ff8,
-    0x183a100d,
-    0x183a9021,
+    0x18399015,
+    0x183a102a,
+    0x183a9050,
     0x183b0c4e,
-    0x183b902e,
-    0x183c1040,
-    0x183c904b,
-    0x183d105b,
-    0x183d906c,
-    0x183e107d,
-    0x183e908f,
-    0x183f10b8,
-    0x183f90d1,
-    0x184010e9,
+    0x183b906f,
+    0x183c1081,
+    0x183c908c,
+    0x183d109c,
+    0x183d90ad,
+    0x183e10be,
+    0x183e90d0,
+    0x183f10f9,
+    0x183f9112,
+    0x1840112a,
     0x184086d3,
-    0x20321110,
-    0x2432111c,
+    0x1841105d,
+    0x1841903e,
+    0x20321151,
+    0x2432115d,
     0x24328985,
-    0x2433112e,
-    0x2433913b,
-    0x24341148,
-    0x2434915a,
-    0x24351169,
-    0x24359186,
-    0x24361193,
-    0x243691a1,
-    0x243711af,
-    0x243791bd,
-    0x243811c6,
-    0x243891d3,
-    0x243911e6,
+    0x2433116f,
+    0x2433917c,
+    0x24341189,
+    0x2434919b,
+    0x243511aa,
+    0x243591c7,
+    0x243611d4,
+    0x243691e2,
+    0x243711f0,
+    0x243791fe,
+    0x24381207,
+    0x24389214,
+    0x24391227,
     0x28320c36,
     0x28328c4e,
     0x28330c06,
@@ -178,42 +181,43 @@
     0x28340c42,
     0x283480ac,
     0x283500ea,
-    0x2c322af1,
-    0x2c32aaff,
-    0x2c332b11,
-    0x2c33ab23,
-    0x2c342b37,
-    0x2c34ab49,
-    0x2c352b64,
-    0x2c35ab76,
-    0x2c362b89,
+    0x2c322b50,
+    0x2c32ab5e,
+    0x2c332b70,
+    0x2c33ab82,
+    0x2c342b96,
+    0x2c34aba8,
+    0x2c352bc3,
+    0x2c35abd5,
+    0x2c362be8,
     0x2c36832d,
-    0x2c372b96,
-    0x2c37aba8,
-    0x2c382bbb,
-    0x2c38abd2,
-    0x2c392be0,
-    0x2c39abf0,
-    0x2c3a2c02,
-    0x2c3aac16,
-    0x2c3b2c27,
-    0x2c3bac46,
-    0x2c3c2c5a,
-    0x2c3cac70,
-    0x2c3d2c89,
-    0x2c3daca6,
-    0x2c3e2cb7,
-    0x2c3eacc5,
-    0x2c3f2cdd,
-    0x2c3facf5,
-    0x2c402d02,
-    0x2c409110,
-    0x2c412d13,
-    0x2c41ad26,
-    0x2c4210e9,
-    0x2c42ad37,
+    0x2c372bf5,
+    0x2c37ac07,
+    0x2c382c2c,
+    0x2c38ac43,
+    0x2c392c51,
+    0x2c39ac61,
+    0x2c3a2c73,
+    0x2c3aac87,
+    0x2c3b2c98,
+    0x2c3bacb7,
+    0x2c3c2ccb,
+    0x2c3cace1,
+    0x2c3d2cfa,
+    0x2c3dad17,
+    0x2c3e2d28,
+    0x2c3ead36,
+    0x2c3f2d4e,
+    0x2c3fad66,
+    0x2c402d73,
+    0x2c409151,
+    0x2c412d84,
+    0x2c41ad97,
+    0x2c42112a,
+    0x2c42ada8,
     0x2c430720,
-    0x2c43ac38,
+    0x2c43aca9,
+    0x2c442c1a,
     0x30320000,
     0x30328015,
     0x3033001f,
@@ -334,228 +338,230 @@
     0x3c3b0df0,
     0x3c3b8e0b,
     0x3c3c0e1d,
-    0x3c3c8e33,
-    0x3c3d0e3d,
-    0x3c3d8e51,
-    0x3c3e0e5f,
-    0x3c3e8e84,
+    0x3c3c8e50,
+    0x3c3d0e5a,
+    0x3c3d8e6e,
+    0x3c3e0e7c,
+    0x3c3e8ea1,
     0x3c3f0c77,
-    0x3c3f8e6d,
+    0x3c3f8e8a,
     0x3c4000ac,
     0x3c4080ea,
     0x3c410cf7,
     0x3c418d36,
-    0x403217a6,
-    0x403297bc,
-    0x403317ea,
-    0x403397f4,
-    0x4034180b,
-    0x40349829,
-    0x40351839,
-    0x4035984b,
-    0x40361858,
-    0x40369864,
-    0x40371879,
-    0x4037988b,
-    0x40381896,
-    0x403898a8,
-    0x40390eb4,
-    0x403998b8,
-    0x403a18cb,
-    0x403a98ec,
-    0x403b18fd,
-    0x403b990d,
+    0x3c420e33,
+    0x403217e7,
+    0x403297fd,
+    0x4033182b,
+    0x40339835,
+    0x4034184c,
+    0x4034986a,
+    0x4035187a,
+    0x4035988c,
+    0x40361899,
+    0x403698a5,
+    0x403718ba,
+    0x403798cc,
+    0x403818d7,
+    0x403898e9,
+    0x40390ed1,
+    0x403998f9,
+    0x403a190c,
+    0x403a992d,
+    0x403b193e,
+    0x403b994e,
     0x403c0064,
     0x403c8083,
-    0x403d1991,
-    0x403d99a7,
-    0x403e19b6,
-    0x403e99ee,
-    0x403f1a08,
-    0x403f9a16,
-    0x40401a2b,
-    0x40409a58,
-    0x40411a75,
-    0x40419a90,
-    0x40421aa9,
-    0x40429abc,
-    0x40431ad0,
-    0x40439ae8,
-    0x40441aff,
+    0x403d19d2,
+    0x403d99e8,
+    0x403e19f7,
+    0x403e9a2f,
+    0x403f1a49,
+    0x403f9a57,
+    0x40401a6c,
+    0x40409a99,
+    0x40411ab6,
+    0x40419ad1,
+    0x40421aea,
+    0x40429afd,
+    0x40431b11,
+    0x40439b29,
+    0x40441b40,
     0x404480ac,
-    0x40451b14,
-    0x40459b26,
-    0x40461b4a,
-    0x40469b6a,
-    0x40471b78,
-    0x40479b9f,
-    0x40481bdc,
-    0x40489bf5,
-    0x40491c0c,
-    0x40499c26,
-    0x404a1c3d,
-    0x404a9c5b,
-    0x404b1c73,
-    0x404b9c8a,
-    0x404c1ca0,
-    0x404c9cb2,
-    0x404d1cd3,
-    0x404d9cf5,
-    0x404e1d09,
-    0x404e9d16,
-    0x404f1d43,
-    0x404f9d6c,
-    0x40501da7,
-    0x40509dbb,
-    0x40511dd6,
-    0x40521de6,
-    0x40529e0a,
-    0x40531e22,
-    0x40539e35,
-    0x40541e4a,
-    0x40549e6d,
-    0x40551e7b,
-    0x40559e98,
-    0x40561ea5,
-    0x40569ebe,
-    0x40571ed6,
-    0x40579ee9,
-    0x40581efe,
-    0x40589f25,
-    0x40591f54,
-    0x40599f81,
-    0x405a1f95,
-    0x405a9fa5,
-    0x405b1fbd,
-    0x405b9fce,
-    0x405c1fe1,
-    0x405ca002,
-    0x405d200f,
-    0x405da026,
-    0x405e2064,
+    0x40451b55,
+    0x40459b67,
+    0x40461b8b,
+    0x40469bab,
+    0x40471bb9,
+    0x40479be0,
+    0x40481c1d,
+    0x40489c36,
+    0x40491c4d,
+    0x40499c67,
+    0x404a1c7e,
+    0x404a9c9c,
+    0x404b1cb4,
+    0x404b9ccb,
+    0x404c1ce1,
+    0x404c9cf3,
+    0x404d1d14,
+    0x404d9d36,
+    0x404e1d4a,
+    0x404e9d57,
+    0x404f1d84,
+    0x404f9dad,
+    0x40501de8,
+    0x40509dfc,
+    0x40511e17,
+    0x40521e27,
+    0x40529e4b,
+    0x40531e63,
+    0x40539e76,
+    0x40541e8b,
+    0x40549eae,
+    0x40551ebc,
+    0x40559ed9,
+    0x40561ee6,
+    0x40569eff,
+    0x40571f17,
+    0x40579f2a,
+    0x40581f3f,
+    0x40589f66,
+    0x40591f95,
+    0x40599fc2,
+    0x405a1fd6,
+    0x405a9fe6,
+    0x405b1ffe,
+    0x405ba00f,
+    0x405c2022,
+    0x405ca061,
+    0x405d206e,
+    0x405da085,
+    0x405e20c3,
     0x405e8a95,
-    0x405f2085,
-    0x405fa092,
-    0x406020a0,
-    0x4060a0c2,
-    0x40612106,
-    0x4061a13e,
-    0x40622155,
-    0x4062a166,
-    0x40632177,
-    0x4063a18c,
-    0x406421a3,
-    0x4064a1cf,
-    0x406521ea,
-    0x4065a201,
-    0x40662219,
-    0x4066a243,
-    0x4067226e,
-    0x4067a28f,
-    0x406822b6,
-    0x4068a2d7,
-    0x40692309,
-    0x4069a337,
-    0x406a2358,
-    0x406aa378,
-    0x406b2500,
-    0x406ba523,
-    0x406c2539,
-    0x406ca7b4,
-    0x406d27e3,
-    0x406da80b,
-    0x406e2839,
-    0x406ea86d,
-    0x406f288c,
-    0x406fa8a1,
-    0x407028b4,
-    0x4070a8d1,
+    0x405f20e4,
+    0x405fa0f1,
+    0x406020ff,
+    0x4060a121,
+    0x40612165,
+    0x4061a19d,
+    0x406221b4,
+    0x4062a1c5,
+    0x406321d6,
+    0x4063a1eb,
+    0x40642202,
+    0x4064a22e,
+    0x40652249,
+    0x4065a260,
+    0x40662278,
+    0x4066a2a2,
+    0x406722cd,
+    0x4067a2ee,
+    0x40682315,
+    0x4068a336,
+    0x40692368,
+    0x4069a396,
+    0x406a23b7,
+    0x406aa3d7,
+    0x406b255f,
+    0x406ba582,
+    0x406c2598,
+    0x406ca813,
+    0x406d2842,
+    0x406da86a,
+    0x406e2898,
+    0x406ea8cc,
+    0x406f28eb,
+    0x406fa900,
+    0x40702913,
+    0x4070a930,
     0x40710800,
-    0x4071a8e3,
-    0x407228f6,
-    0x4072a90f,
-    0x40732927,
-    0x407393aa,
-    0x4074293b,
-    0x4074a955,
-    0x40752966,
-    0x4075a97a,
-    0x40762988,
-    0x407691d3,
-    0x407729ad,
-    0x4077a9cf,
-    0x407829ea,
-    0x4078aa23,
-    0x40792a3a,
-    0x4079aa50,
-    0x407a2a5c,
-    0x407aaa6f,
-    0x407b2a84,
-    0x407baa96,
-    0x407c2ac7,
-    0x407caad0,
-    0x407d22f2,
-    0x407d9d7c,
-    0x407e29ff,
-    0x407e9f35,
-    0x407f1b8c,
-    0x407f9933,
-    0x40801d53,
-    0x40809bb4,
-    0x40811df8,
-    0x40819d2d,
-    0x40822824,
-    0x40829919,
-    0x40831f10,
-    0x4083a1b4,
-    0x40841bc8,
-    0x40849f6d,
-    0x40851ff2,
-    0x4085a0ea,
-    0x40862046,
-    0x40869d96,
-    0x40872851,
-    0x4087a11b,
-    0x4088197a,
-    0x4088a2a2,
-    0x408919c9,
-    0x40899956,
-    0x408a2559,
-    0x408a978a,
-    0x408b2aab,
-    0x408b9a3f,
-    0x41f4242b,
-    0x41f924bd,
-    0x41fe23b0,
-    0x41fea5a5,
-    0x41ff2696,
-    0x42032444,
-    0x42082466,
-    0x4208a4a2,
-    0x42092394,
-    0x4209a4dc,
-    0x420a23eb,
-    0x420aa3cb,
-    0x420b240b,
-    0x420ba484,
-    0x420c26b2,
-    0x420ca572,
-    0x420d258c,
-    0x420da5c3,
-    0x421225dd,
-    0x42172679,
-    0x4217a61f,
-    0x421c2641,
-    0x421f25fc,
-    0x422126c9,
-    0x4226265c,
-    0x422b2798,
-    0x422ba746,
-    0x422c2780,
-    0x422ca705,
-    0x422d26e4,
-    0x422da765,
-    0x422e272b,
+    0x4071a942,
+    0x40722955,
+    0x4072a96e,
+    0x40732986,
+    0x407393eb,
+    0x4074299a,
+    0x4074a9b4,
+    0x407529c5,
+    0x4075a9d9,
+    0x407629e7,
+    0x40769214,
+    0x40772a0c,
+    0x4077aa2e,
+    0x40782a49,
+    0x4078aa82,
+    0x40792a99,
+    0x4079aaaf,
+    0x407a2abb,
+    0x407aaace,
+    0x407b2ae3,
+    0x407baaf5,
+    0x407c2b26,
+    0x407cab2f,
+    0x407d2351,
+    0x407d9dbd,
+    0x407e2a5e,
+    0x407e9f76,
+    0x407f1bcd,
+    0x407f9974,
+    0x40801d94,
+    0x40809bf5,
+    0x40811e39,
+    0x40819d6e,
+    0x40822883,
+    0x4082995a,
+    0x40831f51,
+    0x4083a213,
+    0x40841c09,
+    0x40849fae,
+    0x40852033,
+    0x4085a149,
+    0x408620a5,
+    0x40869dd7,
+    0x408728b0,
+    0x4087a17a,
+    0x408819bb,
+    0x4088a301,
+    0x40891a0a,
+    0x40899997,
+    0x408a25b8,
+    0x408a97cb,
+    0x408b2b0a,
+    0x408b9a80,
+    0x408c2043,
+    0x41f4248a,
+    0x41f9251c,
+    0x41fe240f,
+    0x41fea604,
+    0x41ff26f5,
+    0x420324a3,
+    0x420824c5,
+    0x4208a501,
+    0x420923f3,
+    0x4209a53b,
+    0x420a244a,
+    0x420aa42a,
+    0x420b246a,
+    0x420ba4e3,
+    0x420c2711,
+    0x420ca5d1,
+    0x420d25eb,
+    0x420da622,
+    0x4212263c,
+    0x421726d8,
+    0x4217a67e,
+    0x421c26a0,
+    0x421f265b,
+    0x42212728,
+    0x422626bb,
+    0x422b27f7,
+    0x422ba7a5,
+    0x422c27df,
+    0x422ca764,
+    0x422d2743,
+    0x422da7c4,
+    0x422e278a,
     0x4432072b,
     0x4432873a,
     0x44330746,
@@ -573,110 +579,110 @@
     0x44390800,
     0x4439880e,
     0x443a0821,
-    0x4c321211,
-    0x4c329221,
-    0x4c331234,
-    0x4c339254,
+    0x4c321252,
+    0x4c329262,
+    0x4c331275,
+    0x4c339295,
     0x4c3400ac,
     0x4c3480ea,
-    0x4c351260,
-    0x4c35926e,
-    0x4c36128a,
-    0x4c36929d,
-    0x4c3712ac,
-    0x4c3792ba,
-    0x4c3812cf,
-    0x4c3892db,
-    0x4c3912fb,
-    0x4c399325,
-    0x4c3a133e,
-    0x4c3a9357,
+    0x4c3512a1,
+    0x4c3592af,
+    0x4c3612cb,
+    0x4c3692de,
+    0x4c3712ed,
+    0x4c3792fb,
+    0x4c381310,
+    0x4c38931c,
+    0x4c39133c,
+    0x4c399366,
+    0x4c3a137f,
+    0x4c3a9398,
     0x4c3b05fb,
-    0x4c3b9370,
-    0x4c3c1382,
-    0x4c3c9391,
-    0x4c3d13aa,
+    0x4c3b93b1,
+    0x4c3c13c3,
+    0x4c3c93d2,
+    0x4c3d13eb,
     0x4c3d8c29,
-    0x4c3e1403,
-    0x4c3e93b9,
-    0x4c3f1425,
-    0x4c3f91d3,
-    0x4c4013cf,
-    0x4c4091fd,
-    0x4c4113f3,
-    0x50322d49,
-    0x5032ad58,
-    0x50332d63,
-    0x5033ad73,
-    0x50342d8c,
-    0x5034ada6,
-    0x50352db4,
-    0x5035adca,
-    0x50362ddc,
-    0x5036adf2,
-    0x50372e0b,
-    0x5037ae1e,
-    0x50382e36,
-    0x5038ae47,
-    0x50392e5c,
-    0x5039ae70,
-    0x503a2e90,
-    0x503aaea6,
-    0x503b2ebe,
-    0x503baed0,
-    0x503c2eec,
-    0x503caf03,
-    0x503d2f1c,
-    0x503daf32,
-    0x503e2f3f,
-    0x503eaf55,
-    0x503f2f67,
+    0x4c3e1444,
+    0x4c3e93fa,
+    0x4c3f1466,
+    0x4c3f9214,
+    0x4c401410,
+    0x4c40923e,
+    0x4c411434,
+    0x50322dba,
+    0x5032adc9,
+    0x50332dd4,
+    0x5033ade4,
+    0x50342dfd,
+    0x5034ae17,
+    0x50352e25,
+    0x5035ae3b,
+    0x50362e4d,
+    0x5036ae63,
+    0x50372e7c,
+    0x5037ae8f,
+    0x50382ea7,
+    0x5038aeb8,
+    0x50392ecd,
+    0x5039aee1,
+    0x503a2f01,
+    0x503aaf17,
+    0x503b2f2f,
+    0x503baf41,
+    0x503c2f5d,
+    0x503caf74,
+    0x503d2f8d,
+    0x503dafa3,
+    0x503e2fb0,
+    0x503eafc6,
+    0x503f2fd8,
     0x503f8382,
-    0x50402f7a,
-    0x5040af8a,
-    0x50412fa4,
-    0x5041afb3,
-    0x50422fcd,
-    0x5042afea,
-    0x50432ffa,
-    0x5043b00a,
-    0x50443019,
+    0x50402feb,
+    0x5040affb,
+    0x50413015,
+    0x5041b024,
+    0x5042303e,
+    0x5042b05b,
+    0x5043306b,
+    0x5043b07b,
+    0x5044308a,
     0x5044843f,
-    0x5045302d,
-    0x5045b04b,
-    0x5046305e,
-    0x5046b074,
-    0x50473086,
-    0x5047b09b,
-    0x504830c1,
-    0x5048b0cf,
-    0x504930e2,
-    0x5049b0f7,
-    0x504a310d,
-    0x504ab11d,
-    0x504b313d,
-    0x504bb150,
-    0x504c3173,
-    0x504cb1a1,
-    0x504d31b3,
-    0x504db1d0,
-    0x504e31eb,
-    0x504eb207,
-    0x504f3219,
-    0x504fb230,
-    0x5050323f,
+    0x5045309e,
+    0x5045b0bc,
+    0x504630cf,
+    0x5046b0e5,
+    0x504730f7,
+    0x5047b10c,
+    0x50483132,
+    0x5048b140,
+    0x50493153,
+    0x5049b168,
+    0x504a317e,
+    0x504ab18e,
+    0x504b31ae,
+    0x504bb1c1,
+    0x504c31e4,
+    0x504cb212,
+    0x504d3224,
+    0x504db241,
+    0x504e325c,
+    0x504eb278,
+    0x504f328a,
+    0x504fb2a1,
+    0x505032b0,
     0x505086ef,
-    0x50513252,
-    0x58320ef2,
-    0x68320eb4,
+    0x505132c3,
+    0x58320f0f,
+    0x68320ed1,
     0x68328c4e,
     0x68330c61,
-    0x68338ec2,
-    0x68340ed2,
+    0x68338edf,
+    0x68340eef,
     0x683480ea,
-    0x6c320e90,
+    0x6c320ead,
     0x6c328c18,
-    0x6c330e9b,
+    0x6c330eb8,
     0x74320a0b,
     0x743280ac,
     0x74330c29,
@@ -705,7 +711,7 @@
     0x783d0b19,
     0x783d8b2e,
     0x783e0a84,
-    0x7c3210ff,
+    0x7c321140,
 };
 
 const size_t kOpenSSLReasonValuesLen = sizeof(kOpenSSLReasonValues) / sizeof(kOpenSSLReasonValues[0]);
@@ -899,6 +905,7 @@
     "PKPARAMETERS2GROUP_FAILURE\0"
     "POINT_AT_INFINITY\0"
     "POINT_IS_NOT_ON_CURVE\0"
+    "PUBLIC_KEY_VALIDATION_FAILED\0"
     "SLOT_FULL\0"
     "UNDEFINED_GENERATOR\0"
     "UNKNOWN_GROUP\0"
@@ -924,7 +931,9 @@
     "INVALID_MGF1_MD\0"
     "INVALID_PADDING_MODE\0"
     "INVALID_PSS_SALTLEN\0"
+    "INVALID_SIGNATURE\0"
     "KEYS_NOT_SET\0"
+    "NOT_A_PRIVATE_KEY\0"
     "NO_DEFAULT_DIGEST\0"
     "NO_KEY_SET\0"
     "NO_MDC2_SUPPORT\0"
@@ -1115,6 +1124,7 @@
     "NO_REQUIRED_DIGEST\0"
     "NO_SHARED_CIPHER\0"
     "NO_SHARED_GROUP\0"
+    "NO_SUPPORTED_VERSIONS_ENABLED\0"
     "NULL_SSL_CTX\0"
     "NULL_SSL_METHOD_PASSED\0"
     "OLD_SESSION_CIPHER_NOT_RETURNED\0"
@@ -1230,6 +1240,7 @@
     "IDP_MISMATCH\0"
     "INVALID_DIRECTORY\0"
     "INVALID_FIELD_NAME\0"
+    "INVALID_PARAMETER\0"
     "INVALID_PSS_PARAMETERS\0"
     "INVALID_TRUST\0"
     "ISSUER_MISMATCH\0"
diff --git a/third_party/boringssl/linux-aarch64/crypto/sha/sha1-armv8.S b/third_party/boringssl/linux-aarch64/crypto/fipsmodule/sha1-armv8.S
similarity index 100%
rename from third_party/boringssl/linux-aarch64/crypto/sha/sha1-armv8.S
rename to third_party/boringssl/linux-aarch64/crypto/fipsmodule/sha1-armv8.S
diff --git a/third_party/boringssl/linux-aarch64/crypto/sha/sha256-armv8.S b/third_party/boringssl/linux-aarch64/crypto/fipsmodule/sha256-armv8.S
similarity index 100%
rename from third_party/boringssl/linux-aarch64/crypto/sha/sha256-armv8.S
rename to third_party/boringssl/linux-aarch64/crypto/fipsmodule/sha256-armv8.S
diff --git a/third_party/boringssl/linux-aarch64/crypto/sha/sha512-armv8.S b/third_party/boringssl/linux-aarch64/crypto/fipsmodule/sha512-armv8.S
similarity index 100%
rename from third_party/boringssl/linux-aarch64/crypto/sha/sha512-armv8.S
rename to third_party/boringssl/linux-aarch64/crypto/fipsmodule/sha512-armv8.S
diff --git a/third_party/boringssl/linux-arm/crypto/sha/sha1-armv4-large.S b/third_party/boringssl/linux-arm/crypto/fipsmodule/sha1-armv4-large.S
similarity index 100%
rename from third_party/boringssl/linux-arm/crypto/sha/sha1-armv4-large.S
rename to third_party/boringssl/linux-arm/crypto/fipsmodule/sha1-armv4-large.S
diff --git a/third_party/boringssl/linux-arm/crypto/sha/sha256-armv4.S b/third_party/boringssl/linux-arm/crypto/fipsmodule/sha256-armv4.S
similarity index 100%
rename from third_party/boringssl/linux-arm/crypto/sha/sha256-armv4.S
rename to third_party/boringssl/linux-arm/crypto/fipsmodule/sha256-armv4.S
diff --git a/third_party/boringssl/linux-arm/crypto/sha/sha512-armv4.S b/third_party/boringssl/linux-arm/crypto/fipsmodule/sha512-armv4.S
similarity index 100%
rename from third_party/boringssl/linux-arm/crypto/sha/sha512-armv4.S
rename to third_party/boringssl/linux-arm/crypto/fipsmodule/sha512-armv4.S
diff --git a/third_party/boringssl/linux-x86/crypto/fipsmodule/md5-586.S b/third_party/boringssl/linux-x86/crypto/fipsmodule/md5-586.S
new file mode 100644
index 0000000..9475694
--- /dev/null
+++ b/third_party/boringssl/linux-x86/crypto/fipsmodule/md5-586.S
@@ -0,0 +1,682 @@
+#if defined(__i386__)
+.file	"src/crypto/fipsmodule/md5/asm/md5-586.S"
+.text
+.globl	md5_block_asm_data_order
+.hidden	md5_block_asm_data_order
+.type	md5_block_asm_data_order,@function
+.align	16
+md5_block_asm_data_order:
+.L_md5_block_asm_data_order_begin:
+	pushl	%esi
+	pushl	%edi
+	movl	12(%esp),%edi
+	movl	16(%esp),%esi
+	movl	20(%esp),%ecx
+	pushl	%ebp
+	shll	$6,%ecx
+	pushl	%ebx
+	addl	%esi,%ecx
+	subl	$64,%ecx
+	movl	(%edi),%eax
+	pushl	%ecx
+	movl	4(%edi),%ebx
+	movl	8(%edi),%ecx
+	movl	12(%edi),%edx
+.L000start:
+
+
+	movl	%ecx,%edi
+	movl	(%esi),%ebp
+
+	xorl	%edx,%edi
+	andl	%ebx,%edi
+	leal	3614090360(%eax,%ebp,1),%eax
+	xorl	%edx,%edi
+	addl	%edi,%eax
+	movl	%ebx,%edi
+	roll	$7,%eax
+	movl	4(%esi),%ebp
+	addl	%ebx,%eax
+
+	xorl	%ecx,%edi
+	andl	%eax,%edi
+	leal	3905402710(%edx,%ebp,1),%edx
+	xorl	%ecx,%edi
+	addl	%edi,%edx
+	movl	%eax,%edi
+	roll	$12,%edx
+	movl	8(%esi),%ebp
+	addl	%eax,%edx
+
+	xorl	%ebx,%edi
+	andl	%edx,%edi
+	leal	606105819(%ecx,%ebp,1),%ecx
+	xorl	%ebx,%edi
+	addl	%edi,%ecx
+	movl	%edx,%edi
+	roll	$17,%ecx
+	movl	12(%esi),%ebp
+	addl	%edx,%ecx
+
+	xorl	%eax,%edi
+	andl	%ecx,%edi
+	leal	3250441966(%ebx,%ebp,1),%ebx
+	xorl	%eax,%edi
+	addl	%edi,%ebx
+	movl	%ecx,%edi
+	roll	$22,%ebx
+	movl	16(%esi),%ebp
+	addl	%ecx,%ebx
+
+	xorl	%edx,%edi
+	andl	%ebx,%edi
+	leal	4118548399(%eax,%ebp,1),%eax
+	xorl	%edx,%edi
+	addl	%edi,%eax
+	movl	%ebx,%edi
+	roll	$7,%eax
+	movl	20(%esi),%ebp
+	addl	%ebx,%eax
+
+	xorl	%ecx,%edi
+	andl	%eax,%edi
+	leal	1200080426(%edx,%ebp,1),%edx
+	xorl	%ecx,%edi
+	addl	%edi,%edx
+	movl	%eax,%edi
+	roll	$12,%edx
+	movl	24(%esi),%ebp
+	addl	%eax,%edx
+
+	xorl	%ebx,%edi
+	andl	%edx,%edi
+	leal	2821735955(%ecx,%ebp,1),%ecx
+	xorl	%ebx,%edi
+	addl	%edi,%ecx
+	movl	%edx,%edi
+	roll	$17,%ecx
+	movl	28(%esi),%ebp
+	addl	%edx,%ecx
+
+	xorl	%eax,%edi
+	andl	%ecx,%edi
+	leal	4249261313(%ebx,%ebp,1),%ebx
+	xorl	%eax,%edi
+	addl	%edi,%ebx
+	movl	%ecx,%edi
+	roll	$22,%ebx
+	movl	32(%esi),%ebp
+	addl	%ecx,%ebx
+
+	xorl	%edx,%edi
+	andl	%ebx,%edi
+	leal	1770035416(%eax,%ebp,1),%eax
+	xorl	%edx,%edi
+	addl	%edi,%eax
+	movl	%ebx,%edi
+	roll	$7,%eax
+	movl	36(%esi),%ebp
+	addl	%ebx,%eax
+
+	xorl	%ecx,%edi
+	andl	%eax,%edi
+	leal	2336552879(%edx,%ebp,1),%edx
+	xorl	%ecx,%edi
+	addl	%edi,%edx
+	movl	%eax,%edi
+	roll	$12,%edx
+	movl	40(%esi),%ebp
+	addl	%eax,%edx
+
+	xorl	%ebx,%edi
+	andl	%edx,%edi
+	leal	4294925233(%ecx,%ebp,1),%ecx
+	xorl	%ebx,%edi
+	addl	%edi,%ecx
+	movl	%edx,%edi
+	roll	$17,%ecx
+	movl	44(%esi),%ebp
+	addl	%edx,%ecx
+
+	xorl	%eax,%edi
+	andl	%ecx,%edi
+	leal	2304563134(%ebx,%ebp,1),%ebx
+	xorl	%eax,%edi
+	addl	%edi,%ebx
+	movl	%ecx,%edi
+	roll	$22,%ebx
+	movl	48(%esi),%ebp
+	addl	%ecx,%ebx
+
+	xorl	%edx,%edi
+	andl	%ebx,%edi
+	leal	1804603682(%eax,%ebp,1),%eax
+	xorl	%edx,%edi
+	addl	%edi,%eax
+	movl	%ebx,%edi
+	roll	$7,%eax
+	movl	52(%esi),%ebp
+	addl	%ebx,%eax
+
+	xorl	%ecx,%edi
+	andl	%eax,%edi
+	leal	4254626195(%edx,%ebp,1),%edx
+	xorl	%ecx,%edi
+	addl	%edi,%edx
+	movl	%eax,%edi
+	roll	$12,%edx
+	movl	56(%esi),%ebp
+	addl	%eax,%edx
+
+	xorl	%ebx,%edi
+	andl	%edx,%edi
+	leal	2792965006(%ecx,%ebp,1),%ecx
+	xorl	%ebx,%edi
+	addl	%edi,%ecx
+	movl	%edx,%edi
+	roll	$17,%ecx
+	movl	60(%esi),%ebp
+	addl	%edx,%ecx
+
+	xorl	%eax,%edi
+	andl	%ecx,%edi
+	leal	1236535329(%ebx,%ebp,1),%ebx
+	xorl	%eax,%edi
+	addl	%edi,%ebx
+	movl	%ecx,%edi
+	roll	$22,%ebx
+	movl	4(%esi),%ebp
+	addl	%ecx,%ebx
+
+
+
+	leal	4129170786(%eax,%ebp,1),%eax
+	xorl	%ebx,%edi
+	andl	%edx,%edi
+	movl	24(%esi),%ebp
+	xorl	%ecx,%edi
+	addl	%edi,%eax
+	movl	%ebx,%edi
+	roll	$5,%eax
+	addl	%ebx,%eax
+
+	leal	3225465664(%edx,%ebp,1),%edx
+	xorl	%eax,%edi
+	andl	%ecx,%edi
+	movl	44(%esi),%ebp
+	xorl	%ebx,%edi
+	addl	%edi,%edx
+	movl	%eax,%edi
+	roll	$9,%edx
+	addl	%eax,%edx
+
+	leal	643717713(%ecx,%ebp,1),%ecx
+	xorl	%edx,%edi
+	andl	%ebx,%edi
+	movl	(%esi),%ebp
+	xorl	%eax,%edi
+	addl	%edi,%ecx
+	movl	%edx,%edi
+	roll	$14,%ecx
+	addl	%edx,%ecx
+
+	leal	3921069994(%ebx,%ebp,1),%ebx
+	xorl	%ecx,%edi
+	andl	%eax,%edi
+	movl	20(%esi),%ebp
+	xorl	%edx,%edi
+	addl	%edi,%ebx
+	movl	%ecx,%edi
+	roll	$20,%ebx
+	addl	%ecx,%ebx
+
+	leal	3593408605(%eax,%ebp,1),%eax
+	xorl	%ebx,%edi
+	andl	%edx,%edi
+	movl	40(%esi),%ebp
+	xorl	%ecx,%edi
+	addl	%edi,%eax
+	movl	%ebx,%edi
+	roll	$5,%eax
+	addl	%ebx,%eax
+
+	leal	38016083(%edx,%ebp,1),%edx
+	xorl	%eax,%edi
+	andl	%ecx,%edi
+	movl	60(%esi),%ebp
+	xorl	%ebx,%edi
+	addl	%edi,%edx
+	movl	%eax,%edi
+	roll	$9,%edx
+	addl	%eax,%edx
+
+	leal	3634488961(%ecx,%ebp,1),%ecx
+	xorl	%edx,%edi
+	andl	%ebx,%edi
+	movl	16(%esi),%ebp
+	xorl	%eax,%edi
+	addl	%edi,%ecx
+	movl	%edx,%edi
+	roll	$14,%ecx
+	addl	%edx,%ecx
+
+	leal	3889429448(%ebx,%ebp,1),%ebx
+	xorl	%ecx,%edi
+	andl	%eax,%edi
+	movl	36(%esi),%ebp
+	xorl	%edx,%edi
+	addl	%edi,%ebx
+	movl	%ecx,%edi
+	roll	$20,%ebx
+	addl	%ecx,%ebx
+
+	leal	568446438(%eax,%ebp,1),%eax
+	xorl	%ebx,%edi
+	andl	%edx,%edi
+	movl	56(%esi),%ebp
+	xorl	%ecx,%edi
+	addl	%edi,%eax
+	movl	%ebx,%edi
+	roll	$5,%eax
+	addl	%ebx,%eax
+
+	leal	3275163606(%edx,%ebp,1),%edx
+	xorl	%eax,%edi
+	andl	%ecx,%edi
+	movl	12(%esi),%ebp
+	xorl	%ebx,%edi
+	addl	%edi,%edx
+	movl	%eax,%edi
+	roll	$9,%edx
+	addl	%eax,%edx
+
+	leal	4107603335(%ecx,%ebp,1),%ecx
+	xorl	%edx,%edi
+	andl	%ebx,%edi
+	movl	32(%esi),%ebp
+	xorl	%eax,%edi
+	addl	%edi,%ecx
+	movl	%edx,%edi
+	roll	$14,%ecx
+	addl	%edx,%ecx
+
+	leal	1163531501(%ebx,%ebp,1),%ebx
+	xorl	%ecx,%edi
+	andl	%eax,%edi
+	movl	52(%esi),%ebp
+	xorl	%edx,%edi
+	addl	%edi,%ebx
+	movl	%ecx,%edi
+	roll	$20,%ebx
+	addl	%ecx,%ebx
+
+	leal	2850285829(%eax,%ebp,1),%eax
+	xorl	%ebx,%edi
+	andl	%edx,%edi
+	movl	8(%esi),%ebp
+	xorl	%ecx,%edi
+	addl	%edi,%eax
+	movl	%ebx,%edi
+	roll	$5,%eax
+	addl	%ebx,%eax
+
+	leal	4243563512(%edx,%ebp,1),%edx
+	xorl	%eax,%edi
+	andl	%ecx,%edi
+	movl	28(%esi),%ebp
+	xorl	%ebx,%edi
+	addl	%edi,%edx
+	movl	%eax,%edi
+	roll	$9,%edx
+	addl	%eax,%edx
+
+	leal	1735328473(%ecx,%ebp,1),%ecx
+	xorl	%edx,%edi
+	andl	%ebx,%edi
+	movl	48(%esi),%ebp
+	xorl	%eax,%edi
+	addl	%edi,%ecx
+	movl	%edx,%edi
+	roll	$14,%ecx
+	addl	%edx,%ecx
+
+	leal	2368359562(%ebx,%ebp,1),%ebx
+	xorl	%ecx,%edi
+	andl	%eax,%edi
+	movl	20(%esi),%ebp
+	xorl	%edx,%edi
+	addl	%edi,%ebx
+	movl	%ecx,%edi
+	roll	$20,%ebx
+	addl	%ecx,%ebx
+
+
+
+	xorl	%edx,%edi
+	xorl	%ebx,%edi
+	leal	4294588738(%eax,%ebp,1),%eax
+	addl	%edi,%eax
+	roll	$4,%eax
+	movl	32(%esi),%ebp
+	movl	%ebx,%edi
+
+	leal	2272392833(%edx,%ebp,1),%edx
+	addl	%ebx,%eax
+	xorl	%ecx,%edi
+	xorl	%eax,%edi
+	movl	44(%esi),%ebp
+	addl	%edi,%edx
+	movl	%eax,%edi
+	roll	$11,%edx
+	addl	%eax,%edx
+
+	xorl	%ebx,%edi
+	xorl	%edx,%edi
+	leal	1839030562(%ecx,%ebp,1),%ecx
+	addl	%edi,%ecx
+	roll	$16,%ecx
+	movl	56(%esi),%ebp
+	movl	%edx,%edi
+
+	leal	4259657740(%ebx,%ebp,1),%ebx
+	addl	%edx,%ecx
+	xorl	%eax,%edi
+	xorl	%ecx,%edi
+	movl	4(%esi),%ebp
+	addl	%edi,%ebx
+	movl	%ecx,%edi
+	roll	$23,%ebx
+	addl	%ecx,%ebx
+
+	xorl	%edx,%edi
+	xorl	%ebx,%edi
+	leal	2763975236(%eax,%ebp,1),%eax
+	addl	%edi,%eax
+	roll	$4,%eax
+	movl	16(%esi),%ebp
+	movl	%ebx,%edi
+
+	leal	1272893353(%edx,%ebp,1),%edx
+	addl	%ebx,%eax
+	xorl	%ecx,%edi
+	xorl	%eax,%edi
+	movl	28(%esi),%ebp
+	addl	%edi,%edx
+	movl	%eax,%edi
+	roll	$11,%edx
+	addl	%eax,%edx
+
+	xorl	%ebx,%edi
+	xorl	%edx,%edi
+	leal	4139469664(%ecx,%ebp,1),%ecx
+	addl	%edi,%ecx
+	roll	$16,%ecx
+	movl	40(%esi),%ebp
+	movl	%edx,%edi
+
+	leal	3200236656(%ebx,%ebp,1),%ebx
+	addl	%edx,%ecx
+	xorl	%eax,%edi
+	xorl	%ecx,%edi
+	movl	52(%esi),%ebp
+	addl	%edi,%ebx
+	movl	%ecx,%edi
+	roll	$23,%ebx
+	addl	%ecx,%ebx
+
+	xorl	%edx,%edi
+	xorl	%ebx,%edi
+	leal	681279174(%eax,%ebp,1),%eax
+	addl	%edi,%eax
+	roll	$4,%eax
+	movl	(%esi),%ebp
+	movl	%ebx,%edi
+
+	leal	3936430074(%edx,%ebp,1),%edx
+	addl	%ebx,%eax
+	xorl	%ecx,%edi
+	xorl	%eax,%edi
+	movl	12(%esi),%ebp
+	addl	%edi,%edx
+	movl	%eax,%edi
+	roll	$11,%edx
+	addl	%eax,%edx
+
+	xorl	%ebx,%edi
+	xorl	%edx,%edi
+	leal	3572445317(%ecx,%ebp,1),%ecx
+	addl	%edi,%ecx
+	roll	$16,%ecx
+	movl	24(%esi),%ebp
+	movl	%edx,%edi
+
+	leal	76029189(%ebx,%ebp,1),%ebx
+	addl	%edx,%ecx
+	xorl	%eax,%edi
+	xorl	%ecx,%edi
+	movl	36(%esi),%ebp
+	addl	%edi,%ebx
+	movl	%ecx,%edi
+	roll	$23,%ebx
+	addl	%ecx,%ebx
+
+	xorl	%edx,%edi
+	xorl	%ebx,%edi
+	leal	3654602809(%eax,%ebp,1),%eax
+	addl	%edi,%eax
+	roll	$4,%eax
+	movl	48(%esi),%ebp
+	movl	%ebx,%edi
+
+	leal	3873151461(%edx,%ebp,1),%edx
+	addl	%ebx,%eax
+	xorl	%ecx,%edi
+	xorl	%eax,%edi
+	movl	60(%esi),%ebp
+	addl	%edi,%edx
+	movl	%eax,%edi
+	roll	$11,%edx
+	addl	%eax,%edx
+
+	xorl	%ebx,%edi
+	xorl	%edx,%edi
+	leal	530742520(%ecx,%ebp,1),%ecx
+	addl	%edi,%ecx
+	roll	$16,%ecx
+	movl	8(%esi),%ebp
+	movl	%edx,%edi
+
+	leal	3299628645(%ebx,%ebp,1),%ebx
+	addl	%edx,%ecx
+	xorl	%eax,%edi
+	xorl	%ecx,%edi
+	movl	(%esi),%ebp
+	addl	%edi,%ebx
+	movl	$-1,%edi
+	roll	$23,%ebx
+	addl	%ecx,%ebx
+
+
+
+	xorl	%edx,%edi
+	orl	%ebx,%edi
+	leal	4096336452(%eax,%ebp,1),%eax
+	xorl	%ecx,%edi
+	movl	28(%esi),%ebp
+	addl	%edi,%eax
+	movl	$-1,%edi
+	roll	$6,%eax
+	xorl	%ecx,%edi
+	addl	%ebx,%eax
+
+	orl	%eax,%edi
+	leal	1126891415(%edx,%ebp,1),%edx
+	xorl	%ebx,%edi
+	movl	56(%esi),%ebp
+	addl	%edi,%edx
+	movl	$-1,%edi
+	roll	$10,%edx
+	xorl	%ebx,%edi
+	addl	%eax,%edx
+
+	orl	%edx,%edi
+	leal	2878612391(%ecx,%ebp,1),%ecx
+	xorl	%eax,%edi
+	movl	20(%esi),%ebp
+	addl	%edi,%ecx
+	movl	$-1,%edi
+	roll	$15,%ecx
+	xorl	%eax,%edi
+	addl	%edx,%ecx
+
+	orl	%ecx,%edi
+	leal	4237533241(%ebx,%ebp,1),%ebx
+	xorl	%edx,%edi
+	movl	48(%esi),%ebp
+	addl	%edi,%ebx
+	movl	$-1,%edi
+	roll	$21,%ebx
+	xorl	%edx,%edi
+	addl	%ecx,%ebx
+
+	orl	%ebx,%edi
+	leal	1700485571(%eax,%ebp,1),%eax
+	xorl	%ecx,%edi
+	movl	12(%esi),%ebp
+	addl	%edi,%eax
+	movl	$-1,%edi
+	roll	$6,%eax
+	xorl	%ecx,%edi
+	addl	%ebx,%eax
+
+	orl	%eax,%edi
+	leal	2399980690(%edx,%ebp,1),%edx
+	xorl	%ebx,%edi
+	movl	40(%esi),%ebp
+	addl	%edi,%edx
+	movl	$-1,%edi
+	roll	$10,%edx
+	xorl	%ebx,%edi
+	addl	%eax,%edx
+
+	orl	%edx,%edi
+	leal	4293915773(%ecx,%ebp,1),%ecx
+	xorl	%eax,%edi
+	movl	4(%esi),%ebp
+	addl	%edi,%ecx
+	movl	$-1,%edi
+	roll	$15,%ecx
+	xorl	%eax,%edi
+	addl	%edx,%ecx
+
+	orl	%ecx,%edi
+	leal	2240044497(%ebx,%ebp,1),%ebx
+	xorl	%edx,%edi
+	movl	32(%esi),%ebp
+	addl	%edi,%ebx
+	movl	$-1,%edi
+	roll	$21,%ebx
+	xorl	%edx,%edi
+	addl	%ecx,%ebx
+
+	orl	%ebx,%edi
+	leal	1873313359(%eax,%ebp,1),%eax
+	xorl	%ecx,%edi
+	movl	60(%esi),%ebp
+	addl	%edi,%eax
+	movl	$-1,%edi
+	roll	$6,%eax
+	xorl	%ecx,%edi
+	addl	%ebx,%eax
+
+	orl	%eax,%edi
+	leal	4264355552(%edx,%ebp,1),%edx
+	xorl	%ebx,%edi
+	movl	24(%esi),%ebp
+	addl	%edi,%edx
+	movl	$-1,%edi
+	roll	$10,%edx
+	xorl	%ebx,%edi
+	addl	%eax,%edx
+
+	orl	%edx,%edi
+	leal	2734768916(%ecx,%ebp,1),%ecx
+	xorl	%eax,%edi
+	movl	52(%esi),%ebp
+	addl	%edi,%ecx
+	movl	$-1,%edi
+	roll	$15,%ecx
+	xorl	%eax,%edi
+	addl	%edx,%ecx
+
+	orl	%ecx,%edi
+	leal	1309151649(%ebx,%ebp,1),%ebx
+	xorl	%edx,%edi
+	movl	16(%esi),%ebp
+	addl	%edi,%ebx
+	movl	$-1,%edi
+	roll	$21,%ebx
+	xorl	%edx,%edi
+	addl	%ecx,%ebx
+
+	orl	%ebx,%edi
+	leal	4149444226(%eax,%ebp,1),%eax
+	xorl	%ecx,%edi
+	movl	44(%esi),%ebp
+	addl	%edi,%eax
+	movl	$-1,%edi
+	roll	$6,%eax
+	xorl	%ecx,%edi
+	addl	%ebx,%eax
+
+	orl	%eax,%edi
+	leal	3174756917(%edx,%ebp,1),%edx
+	xorl	%ebx,%edi
+	movl	8(%esi),%ebp
+	addl	%edi,%edx
+	movl	$-1,%edi
+	roll	$10,%edx
+	xorl	%ebx,%edi
+	addl	%eax,%edx
+
+	orl	%edx,%edi
+	leal	718787259(%ecx,%ebp,1),%ecx
+	xorl	%eax,%edi
+	movl	36(%esi),%ebp
+	addl	%edi,%ecx
+	movl	$-1,%edi
+	roll	$15,%ecx
+	xorl	%eax,%edi
+	addl	%edx,%ecx
+
+	orl	%ecx,%edi
+	leal	3951481745(%ebx,%ebp,1),%ebx
+	xorl	%edx,%edi
+	movl	24(%esp),%ebp
+	addl	%edi,%ebx
+	addl	$64,%esi
+	roll	$21,%ebx
+	movl	(%ebp),%edi
+	addl	%ecx,%ebx
+	addl	%edi,%eax
+	movl	4(%ebp),%edi
+	addl	%edi,%ebx
+	movl	8(%ebp),%edi
+	addl	%edi,%ecx
+	movl	12(%ebp),%edi
+	addl	%edi,%edx
+	movl	%eax,(%ebp)
+	movl	%ebx,4(%ebp)
+	movl	(%esp),%edi
+	movl	%ecx,8(%ebp)
+	movl	%edx,12(%ebp)
+	cmpl	%esi,%edi
+	jae	.L000start
+	popl	%eax
+	popl	%ebx
+	popl	%ebp
+	popl	%edi
+	popl	%esi
+	ret
+.size	md5_block_asm_data_order,.-.L_md5_block_asm_data_order_begin
+#endif
diff --git a/third_party/boringssl/linux-x86/crypto/sha/sha1-586.S b/third_party/boringssl/linux-x86/crypto/fipsmodule/sha1-586.S
similarity index 100%
rename from third_party/boringssl/linux-x86/crypto/sha/sha1-586.S
rename to third_party/boringssl/linux-x86/crypto/fipsmodule/sha1-586.S
diff --git a/third_party/boringssl/linux-x86/crypto/sha/sha256-586.S b/third_party/boringssl/linux-x86/crypto/fipsmodule/sha256-586.S
similarity index 100%
rename from third_party/boringssl/linux-x86/crypto/sha/sha256-586.S
rename to third_party/boringssl/linux-x86/crypto/fipsmodule/sha256-586.S
diff --git a/third_party/boringssl/linux-x86/crypto/sha/sha512-586.S b/third_party/boringssl/linux-x86/crypto/fipsmodule/sha512-586.S
similarity index 100%
rename from third_party/boringssl/linux-x86/crypto/sha/sha512-586.S
rename to third_party/boringssl/linux-x86/crypto/fipsmodule/sha512-586.S
diff --git a/third_party/boringssl/linux-x86/crypto/md5/md5-586.S b/third_party/boringssl/linux-x86/crypto/md5/md5-586.S
deleted file mode 100644
index 734b941a..0000000
--- a/third_party/boringssl/linux-x86/crypto/md5/md5-586.S
+++ /dev/null
@@ -1,682 +0,0 @@
-#if defined(__i386__)
-.file	"src/crypto/md5/asm/md5-586.S"
-.text
-.globl	md5_block_asm_data_order
-.hidden	md5_block_asm_data_order
-.type	md5_block_asm_data_order,@function
-.align	16
-md5_block_asm_data_order:
-.L_md5_block_asm_data_order_begin:
-	pushl	%esi
-	pushl	%edi
-	movl	12(%esp),%edi
-	movl	16(%esp),%esi
-	movl	20(%esp),%ecx
-	pushl	%ebp
-	shll	$6,%ecx
-	pushl	%ebx
-	addl	%esi,%ecx
-	subl	$64,%ecx
-	movl	(%edi),%eax
-	pushl	%ecx
-	movl	4(%edi),%ebx
-	movl	8(%edi),%ecx
-	movl	12(%edi),%edx
-.L000start:
-
-
-	movl	%ecx,%edi
-	movl	(%esi),%ebp
-
-	xorl	%edx,%edi
-	andl	%ebx,%edi
-	leal	3614090360(%eax,%ebp,1),%eax
-	xorl	%edx,%edi
-	addl	%edi,%eax
-	movl	%ebx,%edi
-	roll	$7,%eax
-	movl	4(%esi),%ebp
-	addl	%ebx,%eax
-
-	xorl	%ecx,%edi
-	andl	%eax,%edi
-	leal	3905402710(%edx,%ebp,1),%edx
-	xorl	%ecx,%edi
-	addl	%edi,%edx
-	movl	%eax,%edi
-	roll	$12,%edx
-	movl	8(%esi),%ebp
-	addl	%eax,%edx
-
-	xorl	%ebx,%edi
-	andl	%edx,%edi
-	leal	606105819(%ecx,%ebp,1),%ecx
-	xorl	%ebx,%edi
-	addl	%edi,%ecx
-	movl	%edx,%edi
-	roll	$17,%ecx
-	movl	12(%esi),%ebp
-	addl	%edx,%ecx
-
-	xorl	%eax,%edi
-	andl	%ecx,%edi
-	leal	3250441966(%ebx,%ebp,1),%ebx
-	xorl	%eax,%edi
-	addl	%edi,%ebx
-	movl	%ecx,%edi
-	roll	$22,%ebx
-	movl	16(%esi),%ebp
-	addl	%ecx,%ebx
-
-	xorl	%edx,%edi
-	andl	%ebx,%edi
-	leal	4118548399(%eax,%ebp,1),%eax
-	xorl	%edx,%edi
-	addl	%edi,%eax
-	movl	%ebx,%edi
-	roll	$7,%eax
-	movl	20(%esi),%ebp
-	addl	%ebx,%eax
-
-	xorl	%ecx,%edi
-	andl	%eax,%edi
-	leal	1200080426(%edx,%ebp,1),%edx
-	xorl	%ecx,%edi
-	addl	%edi,%edx
-	movl	%eax,%edi
-	roll	$12,%edx
-	movl	24(%esi),%ebp
-	addl	%eax,%edx
-
-	xorl	%ebx,%edi
-	andl	%edx,%edi
-	leal	2821735955(%ecx,%ebp,1),%ecx
-	xorl	%ebx,%edi
-	addl	%edi,%ecx
-	movl	%edx,%edi
-	roll	$17,%ecx
-	movl	28(%esi),%ebp
-	addl	%edx,%ecx
-
-	xorl	%eax,%edi
-	andl	%ecx,%edi
-	leal	4249261313(%ebx,%ebp,1),%ebx
-	xorl	%eax,%edi
-	addl	%edi,%ebx
-	movl	%ecx,%edi
-	roll	$22,%ebx
-	movl	32(%esi),%ebp
-	addl	%ecx,%ebx
-
-	xorl	%edx,%edi
-	andl	%ebx,%edi
-	leal	1770035416(%eax,%ebp,1),%eax
-	xorl	%edx,%edi
-	addl	%edi,%eax
-	movl	%ebx,%edi
-	roll	$7,%eax
-	movl	36(%esi),%ebp
-	addl	%ebx,%eax
-
-	xorl	%ecx,%edi
-	andl	%eax,%edi
-	leal	2336552879(%edx,%ebp,1),%edx
-	xorl	%ecx,%edi
-	addl	%edi,%edx
-	movl	%eax,%edi
-	roll	$12,%edx
-	movl	40(%esi),%ebp
-	addl	%eax,%edx
-
-	xorl	%ebx,%edi
-	andl	%edx,%edi
-	leal	4294925233(%ecx,%ebp,1),%ecx
-	xorl	%ebx,%edi
-	addl	%edi,%ecx
-	movl	%edx,%edi
-	roll	$17,%ecx
-	movl	44(%esi),%ebp
-	addl	%edx,%ecx
-
-	xorl	%eax,%edi
-	andl	%ecx,%edi
-	leal	2304563134(%ebx,%ebp,1),%ebx
-	xorl	%eax,%edi
-	addl	%edi,%ebx
-	movl	%ecx,%edi
-	roll	$22,%ebx
-	movl	48(%esi),%ebp
-	addl	%ecx,%ebx
-
-	xorl	%edx,%edi
-	andl	%ebx,%edi
-	leal	1804603682(%eax,%ebp,1),%eax
-	xorl	%edx,%edi
-	addl	%edi,%eax
-	movl	%ebx,%edi
-	roll	$7,%eax
-	movl	52(%esi),%ebp
-	addl	%ebx,%eax
-
-	xorl	%ecx,%edi
-	andl	%eax,%edi
-	leal	4254626195(%edx,%ebp,1),%edx
-	xorl	%ecx,%edi
-	addl	%edi,%edx
-	movl	%eax,%edi
-	roll	$12,%edx
-	movl	56(%esi),%ebp
-	addl	%eax,%edx
-
-	xorl	%ebx,%edi
-	andl	%edx,%edi
-	leal	2792965006(%ecx,%ebp,1),%ecx
-	xorl	%ebx,%edi
-	addl	%edi,%ecx
-	movl	%edx,%edi
-	roll	$17,%ecx
-	movl	60(%esi),%ebp
-	addl	%edx,%ecx
-
-	xorl	%eax,%edi
-	andl	%ecx,%edi
-	leal	1236535329(%ebx,%ebp,1),%ebx
-	xorl	%eax,%edi
-	addl	%edi,%ebx
-	movl	%ecx,%edi
-	roll	$22,%ebx
-	movl	4(%esi),%ebp
-	addl	%ecx,%ebx
-
-
-
-	leal	4129170786(%eax,%ebp,1),%eax
-	xorl	%ebx,%edi
-	andl	%edx,%edi
-	movl	24(%esi),%ebp
-	xorl	%ecx,%edi
-	addl	%edi,%eax
-	movl	%ebx,%edi
-	roll	$5,%eax
-	addl	%ebx,%eax
-
-	leal	3225465664(%edx,%ebp,1),%edx
-	xorl	%eax,%edi
-	andl	%ecx,%edi
-	movl	44(%esi),%ebp
-	xorl	%ebx,%edi
-	addl	%edi,%edx
-	movl	%eax,%edi
-	roll	$9,%edx
-	addl	%eax,%edx
-
-	leal	643717713(%ecx,%ebp,1),%ecx
-	xorl	%edx,%edi
-	andl	%ebx,%edi
-	movl	(%esi),%ebp
-	xorl	%eax,%edi
-	addl	%edi,%ecx
-	movl	%edx,%edi
-	roll	$14,%ecx
-	addl	%edx,%ecx
-
-	leal	3921069994(%ebx,%ebp,1),%ebx
-	xorl	%ecx,%edi
-	andl	%eax,%edi
-	movl	20(%esi),%ebp
-	xorl	%edx,%edi
-	addl	%edi,%ebx
-	movl	%ecx,%edi
-	roll	$20,%ebx
-	addl	%ecx,%ebx
-
-	leal	3593408605(%eax,%ebp,1),%eax
-	xorl	%ebx,%edi
-	andl	%edx,%edi
-	movl	40(%esi),%ebp
-	xorl	%ecx,%edi
-	addl	%edi,%eax
-	movl	%ebx,%edi
-	roll	$5,%eax
-	addl	%ebx,%eax
-
-	leal	38016083(%edx,%ebp,1),%edx
-	xorl	%eax,%edi
-	andl	%ecx,%edi
-	movl	60(%esi),%ebp
-	xorl	%ebx,%edi
-	addl	%edi,%edx
-	movl	%eax,%edi
-	roll	$9,%edx
-	addl	%eax,%edx
-
-	leal	3634488961(%ecx,%ebp,1),%ecx
-	xorl	%edx,%edi
-	andl	%ebx,%edi
-	movl	16(%esi),%ebp
-	xorl	%eax,%edi
-	addl	%edi,%ecx
-	movl	%edx,%edi
-	roll	$14,%ecx
-	addl	%edx,%ecx
-
-	leal	3889429448(%ebx,%ebp,1),%ebx
-	xorl	%ecx,%edi
-	andl	%eax,%edi
-	movl	36(%esi),%ebp
-	xorl	%edx,%edi
-	addl	%edi,%ebx
-	movl	%ecx,%edi
-	roll	$20,%ebx
-	addl	%ecx,%ebx
-
-	leal	568446438(%eax,%ebp,1),%eax
-	xorl	%ebx,%edi
-	andl	%edx,%edi
-	movl	56(%esi),%ebp
-	xorl	%ecx,%edi
-	addl	%edi,%eax
-	movl	%ebx,%edi
-	roll	$5,%eax
-	addl	%ebx,%eax
-
-	leal	3275163606(%edx,%ebp,1),%edx
-	xorl	%eax,%edi
-	andl	%ecx,%edi
-	movl	12(%esi),%ebp
-	xorl	%ebx,%edi
-	addl	%edi,%edx
-	movl	%eax,%edi
-	roll	$9,%edx
-	addl	%eax,%edx
-
-	leal	4107603335(%ecx,%ebp,1),%ecx
-	xorl	%edx,%edi
-	andl	%ebx,%edi
-	movl	32(%esi),%ebp
-	xorl	%eax,%edi
-	addl	%edi,%ecx
-	movl	%edx,%edi
-	roll	$14,%ecx
-	addl	%edx,%ecx
-
-	leal	1163531501(%ebx,%ebp,1),%ebx
-	xorl	%ecx,%edi
-	andl	%eax,%edi
-	movl	52(%esi),%ebp
-	xorl	%edx,%edi
-	addl	%edi,%ebx
-	movl	%ecx,%edi
-	roll	$20,%ebx
-	addl	%ecx,%ebx
-
-	leal	2850285829(%eax,%ebp,1),%eax
-	xorl	%ebx,%edi
-	andl	%edx,%edi
-	movl	8(%esi),%ebp
-	xorl	%ecx,%edi
-	addl	%edi,%eax
-	movl	%ebx,%edi
-	roll	$5,%eax
-	addl	%ebx,%eax
-
-	leal	4243563512(%edx,%ebp,1),%edx
-	xorl	%eax,%edi
-	andl	%ecx,%edi
-	movl	28(%esi),%ebp
-	xorl	%ebx,%edi
-	addl	%edi,%edx
-	movl	%eax,%edi
-	roll	$9,%edx
-	addl	%eax,%edx
-
-	leal	1735328473(%ecx,%ebp,1),%ecx
-	xorl	%edx,%edi
-	andl	%ebx,%edi
-	movl	48(%esi),%ebp
-	xorl	%eax,%edi
-	addl	%edi,%ecx
-	movl	%edx,%edi
-	roll	$14,%ecx
-	addl	%edx,%ecx
-
-	leal	2368359562(%ebx,%ebp,1),%ebx
-	xorl	%ecx,%edi
-	andl	%eax,%edi
-	movl	20(%esi),%ebp
-	xorl	%edx,%edi
-	addl	%edi,%ebx
-	movl	%ecx,%edi
-	roll	$20,%ebx
-	addl	%ecx,%ebx
-
-
-
-	xorl	%edx,%edi
-	xorl	%ebx,%edi
-	leal	4294588738(%eax,%ebp,1),%eax
-	addl	%edi,%eax
-	roll	$4,%eax
-	movl	32(%esi),%ebp
-	movl	%ebx,%edi
-
-	leal	2272392833(%edx,%ebp,1),%edx
-	addl	%ebx,%eax
-	xorl	%ecx,%edi
-	xorl	%eax,%edi
-	movl	44(%esi),%ebp
-	addl	%edi,%edx
-	movl	%eax,%edi
-	roll	$11,%edx
-	addl	%eax,%edx
-
-	xorl	%ebx,%edi
-	xorl	%edx,%edi
-	leal	1839030562(%ecx,%ebp,1),%ecx
-	addl	%edi,%ecx
-	roll	$16,%ecx
-	movl	56(%esi),%ebp
-	movl	%edx,%edi
-
-	leal	4259657740(%ebx,%ebp,1),%ebx
-	addl	%edx,%ecx
-	xorl	%eax,%edi
-	xorl	%ecx,%edi
-	movl	4(%esi),%ebp
-	addl	%edi,%ebx
-	movl	%ecx,%edi
-	roll	$23,%ebx
-	addl	%ecx,%ebx
-
-	xorl	%edx,%edi
-	xorl	%ebx,%edi
-	leal	2763975236(%eax,%ebp,1),%eax
-	addl	%edi,%eax
-	roll	$4,%eax
-	movl	16(%esi),%ebp
-	movl	%ebx,%edi
-
-	leal	1272893353(%edx,%ebp,1),%edx
-	addl	%ebx,%eax
-	xorl	%ecx,%edi
-	xorl	%eax,%edi
-	movl	28(%esi),%ebp
-	addl	%edi,%edx
-	movl	%eax,%edi
-	roll	$11,%edx
-	addl	%eax,%edx
-
-	xorl	%ebx,%edi
-	xorl	%edx,%edi
-	leal	4139469664(%ecx,%ebp,1),%ecx
-	addl	%edi,%ecx
-	roll	$16,%ecx
-	movl	40(%esi),%ebp
-	movl	%edx,%edi
-
-	leal	3200236656(%ebx,%ebp,1),%ebx
-	addl	%edx,%ecx
-	xorl	%eax,%edi
-	xorl	%ecx,%edi
-	movl	52(%esi),%ebp
-	addl	%edi,%ebx
-	movl	%ecx,%edi
-	roll	$23,%ebx
-	addl	%ecx,%ebx
-
-	xorl	%edx,%edi
-	xorl	%ebx,%edi
-	leal	681279174(%eax,%ebp,1),%eax
-	addl	%edi,%eax
-	roll	$4,%eax
-	movl	(%esi),%ebp
-	movl	%ebx,%edi
-
-	leal	3936430074(%edx,%ebp,1),%edx
-	addl	%ebx,%eax
-	xorl	%ecx,%edi
-	xorl	%eax,%edi
-	movl	12(%esi),%ebp
-	addl	%edi,%edx
-	movl	%eax,%edi
-	roll	$11,%edx
-	addl	%eax,%edx
-
-	xorl	%ebx,%edi
-	xorl	%edx,%edi
-	leal	3572445317(%ecx,%ebp,1),%ecx
-	addl	%edi,%ecx
-	roll	$16,%ecx
-	movl	24(%esi),%ebp
-	movl	%edx,%edi
-
-	leal	76029189(%ebx,%ebp,1),%ebx
-	addl	%edx,%ecx
-	xorl	%eax,%edi
-	xorl	%ecx,%edi
-	movl	36(%esi),%ebp
-	addl	%edi,%ebx
-	movl	%ecx,%edi
-	roll	$23,%ebx
-	addl	%ecx,%ebx
-
-	xorl	%edx,%edi
-	xorl	%ebx,%edi
-	leal	3654602809(%eax,%ebp,1),%eax
-	addl	%edi,%eax
-	roll	$4,%eax
-	movl	48(%esi),%ebp
-	movl	%ebx,%edi
-
-	leal	3873151461(%edx,%ebp,1),%edx
-	addl	%ebx,%eax
-	xorl	%ecx,%edi
-	xorl	%eax,%edi
-	movl	60(%esi),%ebp
-	addl	%edi,%edx
-	movl	%eax,%edi
-	roll	$11,%edx
-	addl	%eax,%edx
-
-	xorl	%ebx,%edi
-	xorl	%edx,%edi
-	leal	530742520(%ecx,%ebp,1),%ecx
-	addl	%edi,%ecx
-	roll	$16,%ecx
-	movl	8(%esi),%ebp
-	movl	%edx,%edi
-
-	leal	3299628645(%ebx,%ebp,1),%ebx
-	addl	%edx,%ecx
-	xorl	%eax,%edi
-	xorl	%ecx,%edi
-	movl	(%esi),%ebp
-	addl	%edi,%ebx
-	movl	$-1,%edi
-	roll	$23,%ebx
-	addl	%ecx,%ebx
-
-
-
-	xorl	%edx,%edi
-	orl	%ebx,%edi
-	leal	4096336452(%eax,%ebp,1),%eax
-	xorl	%ecx,%edi
-	movl	28(%esi),%ebp
-	addl	%edi,%eax
-	movl	$-1,%edi
-	roll	$6,%eax
-	xorl	%ecx,%edi
-	addl	%ebx,%eax
-
-	orl	%eax,%edi
-	leal	1126891415(%edx,%ebp,1),%edx
-	xorl	%ebx,%edi
-	movl	56(%esi),%ebp
-	addl	%edi,%edx
-	movl	$-1,%edi
-	roll	$10,%edx
-	xorl	%ebx,%edi
-	addl	%eax,%edx
-
-	orl	%edx,%edi
-	leal	2878612391(%ecx,%ebp,1),%ecx
-	xorl	%eax,%edi
-	movl	20(%esi),%ebp
-	addl	%edi,%ecx
-	movl	$-1,%edi
-	roll	$15,%ecx
-	xorl	%eax,%edi
-	addl	%edx,%ecx
-
-	orl	%ecx,%edi
-	leal	4237533241(%ebx,%ebp,1),%ebx
-	xorl	%edx,%edi
-	movl	48(%esi),%ebp
-	addl	%edi,%ebx
-	movl	$-1,%edi
-	roll	$21,%ebx
-	xorl	%edx,%edi
-	addl	%ecx,%ebx
-
-	orl	%ebx,%edi
-	leal	1700485571(%eax,%ebp,1),%eax
-	xorl	%ecx,%edi
-	movl	12(%esi),%ebp
-	addl	%edi,%eax
-	movl	$-1,%edi
-	roll	$6,%eax
-	xorl	%ecx,%edi
-	addl	%ebx,%eax
-
-	orl	%eax,%edi
-	leal	2399980690(%edx,%ebp,1),%edx
-	xorl	%ebx,%edi
-	movl	40(%esi),%ebp
-	addl	%edi,%edx
-	movl	$-1,%edi
-	roll	$10,%edx
-	xorl	%ebx,%edi
-	addl	%eax,%edx
-
-	orl	%edx,%edi
-	leal	4293915773(%ecx,%ebp,1),%ecx
-	xorl	%eax,%edi
-	movl	4(%esi),%ebp
-	addl	%edi,%ecx
-	movl	$-1,%edi
-	roll	$15,%ecx
-	xorl	%eax,%edi
-	addl	%edx,%ecx
-
-	orl	%ecx,%edi
-	leal	2240044497(%ebx,%ebp,1),%ebx
-	xorl	%edx,%edi
-	movl	32(%esi),%ebp
-	addl	%edi,%ebx
-	movl	$-1,%edi
-	roll	$21,%ebx
-	xorl	%edx,%edi
-	addl	%ecx,%ebx
-
-	orl	%ebx,%edi
-	leal	1873313359(%eax,%ebp,1),%eax
-	xorl	%ecx,%edi
-	movl	60(%esi),%ebp
-	addl	%edi,%eax
-	movl	$-1,%edi
-	roll	$6,%eax
-	xorl	%ecx,%edi
-	addl	%ebx,%eax
-
-	orl	%eax,%edi
-	leal	4264355552(%edx,%ebp,1),%edx
-	xorl	%ebx,%edi
-	movl	24(%esi),%ebp
-	addl	%edi,%edx
-	movl	$-1,%edi
-	roll	$10,%edx
-	xorl	%ebx,%edi
-	addl	%eax,%edx
-
-	orl	%edx,%edi
-	leal	2734768916(%ecx,%ebp,1),%ecx
-	xorl	%eax,%edi
-	movl	52(%esi),%ebp
-	addl	%edi,%ecx
-	movl	$-1,%edi
-	roll	$15,%ecx
-	xorl	%eax,%edi
-	addl	%edx,%ecx
-
-	orl	%ecx,%edi
-	leal	1309151649(%ebx,%ebp,1),%ebx
-	xorl	%edx,%edi
-	movl	16(%esi),%ebp
-	addl	%edi,%ebx
-	movl	$-1,%edi
-	roll	$21,%ebx
-	xorl	%edx,%edi
-	addl	%ecx,%ebx
-
-	orl	%ebx,%edi
-	leal	4149444226(%eax,%ebp,1),%eax
-	xorl	%ecx,%edi
-	movl	44(%esi),%ebp
-	addl	%edi,%eax
-	movl	$-1,%edi
-	roll	$6,%eax
-	xorl	%ecx,%edi
-	addl	%ebx,%eax
-
-	orl	%eax,%edi
-	leal	3174756917(%edx,%ebp,1),%edx
-	xorl	%ebx,%edi
-	movl	8(%esi),%ebp
-	addl	%edi,%edx
-	movl	$-1,%edi
-	roll	$10,%edx
-	xorl	%ebx,%edi
-	addl	%eax,%edx
-
-	orl	%edx,%edi
-	leal	718787259(%ecx,%ebp,1),%ecx
-	xorl	%eax,%edi
-	movl	36(%esi),%ebp
-	addl	%edi,%ecx
-	movl	$-1,%edi
-	roll	$15,%ecx
-	xorl	%eax,%edi
-	addl	%edx,%ecx
-
-	orl	%ecx,%edi
-	leal	3951481745(%ebx,%ebp,1),%ebx
-	xorl	%edx,%edi
-	movl	24(%esp),%ebp
-	addl	%edi,%ebx
-	addl	$64,%esi
-	roll	$21,%ebx
-	movl	(%ebp),%edi
-	addl	%ecx,%ebx
-	addl	%edi,%eax
-	movl	4(%ebp),%edi
-	addl	%edi,%ebx
-	movl	8(%ebp),%edi
-	addl	%edi,%ecx
-	movl	12(%ebp),%edi
-	addl	%edi,%edx
-	movl	%eax,(%ebp)
-	movl	%ebx,4(%ebp)
-	movl	(%esp),%edi
-	movl	%ecx,8(%ebp)
-	movl	%edx,12(%ebp)
-	cmpl	%esi,%edi
-	jae	.L000start
-	popl	%eax
-	popl	%ebx
-	popl	%ebp
-	popl	%edi
-	popl	%esi
-	ret
-.size	md5_block_asm_data_order,.-.L_md5_block_asm_data_order_begin
-#endif
diff --git a/third_party/boringssl/linux-x86_64/crypto/md5/md5-x86_64.S b/third_party/boringssl/linux-x86_64/crypto/fipsmodule/md5-x86_64.S
similarity index 100%
rename from third_party/boringssl/linux-x86_64/crypto/md5/md5-x86_64.S
rename to third_party/boringssl/linux-x86_64/crypto/fipsmodule/md5-x86_64.S
diff --git a/third_party/boringssl/linux-x86_64/crypto/fipsmodule/sha1-x86_64.S b/third_party/boringssl/linux-x86_64/crypto/fipsmodule/sha1-x86_64.S
new file mode 100644
index 0000000..b7395375
--- /dev/null
+++ b/third_party/boringssl/linux-x86_64/crypto/fipsmodule/sha1-x86_64.S
@@ -0,0 +1,3545 @@
+#if defined(__x86_64__) && !defined(OPENSSL_NO_ASM)
+.text	
+.extern	OPENSSL_ia32cap_addr
+.hidden OPENSSL_ia32cap_addr
+
+.globl	sha1_block_data_order
+.hidden sha1_block_data_order
+.type	sha1_block_data_order,@function
+.align	16
+sha1_block_data_order:
+	leaq	OPENSSL_ia32cap_addr(%rip),%r10
+	movq	(%r10),%r10
+	movl	0(%r10),%r9d
+	movl	4(%r10),%r8d
+	movl	8(%r10),%r10d
+	testl	$512,%r8d
+	jz	.Lialu
+	andl	$268435456,%r8d
+	andl	$1073741824,%r9d
+	orl	%r9d,%r8d
+	cmpl	$1342177280,%r8d
+	je	_avx_shortcut
+	jmp	_ssse3_shortcut
+
+.align	16
+.Lialu:
+	movq	%rsp,%rax
+	pushq	%rbx
+	pushq	%rbp
+	pushq	%r12
+	pushq	%r13
+	pushq	%r14
+	movq	%rdi,%r8
+	subq	$72,%rsp
+	movq	%rsi,%r9
+	andq	$-64,%rsp
+	movq	%rdx,%r10
+	movq	%rax,64(%rsp)
+.Lprologue:
+
+	movl	0(%r8),%esi
+	movl	4(%r8),%edi
+	movl	8(%r8),%r11d
+	movl	12(%r8),%r12d
+	movl	16(%r8),%r13d
+	jmp	.Lloop
+
+.align	16
+.Lloop:
+	movl	0(%r9),%edx
+	bswapl	%edx
+	movl	4(%r9),%ebp
+	movl	%r12d,%eax
+	movl	%edx,0(%rsp)
+	movl	%esi,%ecx
+	bswapl	%ebp
+	xorl	%r11d,%eax
+	roll	$5,%ecx
+	andl	%edi,%eax
+	leal	1518500249(%rdx,%r13,1),%r13d
+	addl	%ecx,%r13d
+	xorl	%r12d,%eax
+	roll	$30,%edi
+	addl	%eax,%r13d
+	movl	8(%r9),%r14d
+	movl	%r11d,%eax
+	movl	%ebp,4(%rsp)
+	movl	%r13d,%ecx
+	bswapl	%r14d
+	xorl	%edi,%eax
+	roll	$5,%ecx
+	andl	%esi,%eax
+	leal	1518500249(%rbp,%r12,1),%r12d
+	addl	%ecx,%r12d
+	xorl	%r11d,%eax
+	roll	$30,%esi
+	addl	%eax,%r12d
+	movl	12(%r9),%edx
+	movl	%edi,%eax
+	movl	%r14d,8(%rsp)
+	movl	%r12d,%ecx
+	bswapl	%edx
+	xorl	%esi,%eax
+	roll	$5,%ecx
+	andl	%r13d,%eax
+	leal	1518500249(%r14,%r11,1),%r11d
+	addl	%ecx,%r11d
+	xorl	%edi,%eax
+	roll	$30,%r13d
+	addl	%eax,%r11d
+	movl	16(%r9),%ebp
+	movl	%esi,%eax
+	movl	%edx,12(%rsp)
+	movl	%r11d,%ecx
+	bswapl	%ebp
+	xorl	%r13d,%eax
+	roll	$5,%ecx
+	andl	%r12d,%eax
+	leal	1518500249(%rdx,%rdi,1),%edi
+	addl	%ecx,%edi
+	xorl	%esi,%eax
+	roll	$30,%r12d
+	addl	%eax,%edi
+	movl	20(%r9),%r14d
+	movl	%r13d,%eax
+	movl	%ebp,16(%rsp)
+	movl	%edi,%ecx
+	bswapl	%r14d
+	xorl	%r12d,%eax
+	roll	$5,%ecx
+	andl	%r11d,%eax
+	leal	1518500249(%rbp,%rsi,1),%esi
+	addl	%ecx,%esi
+	xorl	%r13d,%eax
+	roll	$30,%r11d
+	addl	%eax,%esi
+	movl	24(%r9),%edx
+	movl	%r12d,%eax
+	movl	%r14d,20(%rsp)
+	movl	%esi,%ecx
+	bswapl	%edx
+	xorl	%r11d,%eax
+	roll	$5,%ecx
+	andl	%edi,%eax
+	leal	1518500249(%r14,%r13,1),%r13d
+	addl	%ecx,%r13d
+	xorl	%r12d,%eax
+	roll	$30,%edi
+	addl	%eax,%r13d
+	movl	28(%r9),%ebp
+	movl	%r11d,%eax
+	movl	%edx,24(%rsp)
+	movl	%r13d,%ecx
+	bswapl	%ebp
+	xorl	%edi,%eax
+	roll	$5,%ecx
+	andl	%esi,%eax
+	leal	1518500249(%rdx,%r12,1),%r12d
+	addl	%ecx,%r12d
+	xorl	%r11d,%eax
+	roll	$30,%esi
+	addl	%eax,%r12d
+	movl	32(%r9),%r14d
+	movl	%edi,%eax
+	movl	%ebp,28(%rsp)
+	movl	%r12d,%ecx
+	bswapl	%r14d
+	xorl	%esi,%eax
+	roll	$5,%ecx
+	andl	%r13d,%eax
+	leal	1518500249(%rbp,%r11,1),%r11d
+	addl	%ecx,%r11d
+	xorl	%edi,%eax
+	roll	$30,%r13d
+	addl	%eax,%r11d
+	movl	36(%r9),%edx
+	movl	%esi,%eax
+	movl	%r14d,32(%rsp)
+	movl	%r11d,%ecx
+	bswapl	%edx
+	xorl	%r13d,%eax
+	roll	$5,%ecx
+	andl	%r12d,%eax
+	leal	1518500249(%r14,%rdi,1),%edi
+	addl	%ecx,%edi
+	xorl	%esi,%eax
+	roll	$30,%r12d
+	addl	%eax,%edi
+	movl	40(%r9),%ebp
+	movl	%r13d,%eax
+	movl	%edx,36(%rsp)
+	movl	%edi,%ecx
+	bswapl	%ebp
+	xorl	%r12d,%eax
+	roll	$5,%ecx
+	andl	%r11d,%eax
+	leal	1518500249(%rdx,%rsi,1),%esi
+	addl	%ecx,%esi
+	xorl	%r13d,%eax
+	roll	$30,%r11d
+	addl	%eax,%esi
+	movl	44(%r9),%r14d
+	movl	%r12d,%eax
+	movl	%ebp,40(%rsp)
+	movl	%esi,%ecx
+	bswapl	%r14d
+	xorl	%r11d,%eax
+	roll	$5,%ecx
+	andl	%edi,%eax
+	leal	1518500249(%rbp,%r13,1),%r13d
+	addl	%ecx,%r13d
+	xorl	%r12d,%eax
+	roll	$30,%edi
+	addl	%eax,%r13d
+	movl	48(%r9),%edx
+	movl	%r11d,%eax
+	movl	%r14d,44(%rsp)
+	movl	%r13d,%ecx
+	bswapl	%edx
+	xorl	%edi,%eax
+	roll	$5,%ecx
+	andl	%esi,%eax
+	leal	1518500249(%r14,%r12,1),%r12d
+	addl	%ecx,%r12d
+	xorl	%r11d,%eax
+	roll	$30,%esi
+	addl	%eax,%r12d
+	movl	52(%r9),%ebp
+	movl	%edi,%eax
+	movl	%edx,48(%rsp)
+	movl	%r12d,%ecx
+	bswapl	%ebp
+	xorl	%esi,%eax
+	roll	$5,%ecx
+	andl	%r13d,%eax
+	leal	1518500249(%rdx,%r11,1),%r11d
+	addl	%ecx,%r11d
+	xorl	%edi,%eax
+	roll	$30,%r13d
+	addl	%eax,%r11d
+	movl	56(%r9),%r14d
+	movl	%esi,%eax
+	movl	%ebp,52(%rsp)
+	movl	%r11d,%ecx
+	bswapl	%r14d
+	xorl	%r13d,%eax
+	roll	$5,%ecx
+	andl	%r12d,%eax
+	leal	1518500249(%rbp,%rdi,1),%edi
+	addl	%ecx,%edi
+	xorl	%esi,%eax
+	roll	$30,%r12d
+	addl	%eax,%edi
+	movl	60(%r9),%edx
+	movl	%r13d,%eax
+	movl	%r14d,56(%rsp)
+	movl	%edi,%ecx
+	bswapl	%edx
+	xorl	%r12d,%eax
+	roll	$5,%ecx
+	andl	%r11d,%eax
+	leal	1518500249(%r14,%rsi,1),%esi
+	addl	%ecx,%esi
+	xorl	%r13d,%eax
+	roll	$30,%r11d
+	addl	%eax,%esi
+	xorl	0(%rsp),%ebp
+	movl	%r12d,%eax
+	movl	%edx,60(%rsp)
+	movl	%esi,%ecx
+	xorl	8(%rsp),%ebp
+	xorl	%r11d,%eax
+	roll	$5,%ecx
+	xorl	32(%rsp),%ebp
+	andl	%edi,%eax
+	leal	1518500249(%rdx,%r13,1),%r13d
+	roll	$30,%edi
+	xorl	%r12d,%eax
+	addl	%ecx,%r13d
+	roll	$1,%ebp
+	addl	%eax,%r13d
+	xorl	4(%rsp),%r14d
+	movl	%r11d,%eax
+	movl	%ebp,0(%rsp)
+	movl	%r13d,%ecx
+	xorl	12(%rsp),%r14d
+	xorl	%edi,%eax
+	roll	$5,%ecx
+	xorl	36(%rsp),%r14d
+	andl	%esi,%eax
+	leal	1518500249(%rbp,%r12,1),%r12d
+	roll	$30,%esi
+	xorl	%r11d,%eax
+	addl	%ecx,%r12d
+	roll	$1,%r14d
+	addl	%eax,%r12d
+	xorl	8(%rsp),%edx
+	movl	%edi,%eax
+	movl	%r14d,4(%rsp)
+	movl	%r12d,%ecx
+	xorl	16(%rsp),%edx
+	xorl	%esi,%eax
+	roll	$5,%ecx
+	xorl	40(%rsp),%edx
+	andl	%r13d,%eax
+	leal	1518500249(%r14,%r11,1),%r11d
+	roll	$30,%r13d
+	xorl	%edi,%eax
+	addl	%ecx,%r11d
+	roll	$1,%edx
+	addl	%eax,%r11d
+	xorl	12(%rsp),%ebp
+	movl	%esi,%eax
+	movl	%edx,8(%rsp)
+	movl	%r11d,%ecx
+	xorl	20(%rsp),%ebp
+	xorl	%r13d,%eax
+	roll	$5,%ecx
+	xorl	44(%rsp),%ebp
+	andl	%r12d,%eax
+	leal	1518500249(%rdx,%rdi,1),%edi
+	roll	$30,%r12d
+	xorl	%esi,%eax
+	addl	%ecx,%edi
+	roll	$1,%ebp
+	addl	%eax,%edi
+	xorl	16(%rsp),%r14d
+	movl	%r13d,%eax
+	movl	%ebp,12(%rsp)
+	movl	%edi,%ecx
+	xorl	24(%rsp),%r14d
+	xorl	%r12d,%eax
+	roll	$5,%ecx
+	xorl	48(%rsp),%r14d
+	andl	%r11d,%eax
+	leal	1518500249(%rbp,%rsi,1),%esi
+	roll	$30,%r11d
+	xorl	%r13d,%eax
+	addl	%ecx,%esi
+	roll	$1,%r14d
+	addl	%eax,%esi
+	xorl	20(%rsp),%edx
+	movl	%edi,%eax
+	movl	%r14d,16(%rsp)
+	movl	%esi,%ecx
+	xorl	28(%rsp),%edx
+	xorl	%r12d,%eax
+	roll	$5,%ecx
+	xorl	52(%rsp),%edx
+	leal	1859775393(%r14,%r13,1),%r13d
+	xorl	%r11d,%eax
+	addl	%ecx,%r13d
+	roll	$30,%edi
+	addl	%eax,%r13d
+	roll	$1,%edx
+	xorl	24(%rsp),%ebp
+	movl	%esi,%eax
+	movl	%edx,20(%rsp)
+	movl	%r13d,%ecx
+	xorl	32(%rsp),%ebp
+	xorl	%r11d,%eax
+	roll	$5,%ecx
+	xorl	56(%rsp),%ebp
+	leal	1859775393(%rdx,%r12,1),%r12d
+	xorl	%edi,%eax
+	addl	%ecx,%r12d
+	roll	$30,%esi
+	addl	%eax,%r12d
+	roll	$1,%ebp
+	xorl	28(%rsp),%r14d
+	movl	%r13d,%eax
+	movl	%ebp,24(%rsp)
+	movl	%r12d,%ecx
+	xorl	36(%rsp),%r14d
+	xorl	%edi,%eax
+	roll	$5,%ecx
+	xorl	60(%rsp),%r14d
+	leal	1859775393(%rbp,%r11,1),%r11d
+	xorl	%esi,%eax
+	addl	%ecx,%r11d
+	roll	$30,%r13d
+	addl	%eax,%r11d
+	roll	$1,%r14d
+	xorl	32(%rsp),%edx
+	movl	%r12d,%eax
+	movl	%r14d,28(%rsp)
+	movl	%r11d,%ecx
+	xorl	40(%rsp),%edx
+	xorl	%esi,%eax
+	roll	$5,%ecx
+	xorl	0(%rsp),%edx
+	leal	1859775393(%r14,%rdi,1),%edi
+	xorl	%r13d,%eax
+	addl	%ecx,%edi
+	roll	$30,%r12d
+	addl	%eax,%edi
+	roll	$1,%edx
+	xorl	36(%rsp),%ebp
+	movl	%r11d,%eax
+	movl	%edx,32(%rsp)
+	movl	%edi,%ecx
+	xorl	44(%rsp),%ebp
+	xorl	%r13d,%eax
+	roll	$5,%ecx
+	xorl	4(%rsp),%ebp
+	leal	1859775393(%rdx,%rsi,1),%esi
+	xorl	%r12d,%eax
+	addl	%ecx,%esi
+	roll	$30,%r11d
+	addl	%eax,%esi
+	roll	$1,%ebp
+	xorl	40(%rsp),%r14d
+	movl	%edi,%eax
+	movl	%ebp,36(%rsp)
+	movl	%esi,%ecx
+	xorl	48(%rsp),%r14d
+	xorl	%r12d,%eax
+	roll	$5,%ecx
+	xorl	8(%rsp),%r14d
+	leal	1859775393(%rbp,%r13,1),%r13d
+	xorl	%r11d,%eax
+	addl	%ecx,%r13d
+	roll	$30,%edi
+	addl	%eax,%r13d
+	roll	$1,%r14d
+	xorl	44(%rsp),%edx
+	movl	%esi,%eax
+	movl	%r14d,40(%rsp)
+	movl	%r13d,%ecx
+	xorl	52(%rsp),%edx
+	xorl	%r11d,%eax
+	roll	$5,%ecx
+	xorl	12(%rsp),%edx
+	leal	1859775393(%r14,%r12,1),%r12d
+	xorl	%edi,%eax
+	addl	%ecx,%r12d
+	roll	$30,%esi
+	addl	%eax,%r12d
+	roll	$1,%edx
+	xorl	48(%rsp),%ebp
+	movl	%r13d,%eax
+	movl	%edx,44(%rsp)
+	movl	%r12d,%ecx
+	xorl	56(%rsp),%ebp
+	xorl	%edi,%eax
+	roll	$5,%ecx
+	xorl	16(%rsp),%ebp
+	leal	1859775393(%rdx,%r11,1),%r11d
+	xorl	%esi,%eax
+	addl	%ecx,%r11d
+	roll	$30,%r13d
+	addl	%eax,%r11d
+	roll	$1,%ebp
+	xorl	52(%rsp),%r14d
+	movl	%r12d,%eax
+	movl	%ebp,48(%rsp)
+	movl	%r11d,%ecx
+	xorl	60(%rsp),%r14d
+	xorl	%esi,%eax
+	roll	$5,%ecx
+	xorl	20(%rsp),%r14d
+	leal	1859775393(%rbp,%rdi,1),%edi
+	xorl	%r13d,%eax
+	addl	%ecx,%edi
+	roll	$30,%r12d
+	addl	%eax,%edi
+	roll	$1,%r14d
+	xorl	56(%rsp),%edx
+	movl	%r11d,%eax
+	movl	%r14d,52(%rsp)
+	movl	%edi,%ecx
+	xorl	0(%rsp),%edx
+	xorl	%r13d,%eax
+	roll	$5,%ecx
+	xorl	24(%rsp),%edx
+	leal	1859775393(%r14,%rsi,1),%esi
+	xorl	%r12d,%eax
+	addl	%ecx,%esi
+	roll	$30,%r11d
+	addl	%eax,%esi
+	roll	$1,%edx
+	xorl	60(%rsp),%ebp
+	movl	%edi,%eax
+	movl	%edx,56(%rsp)
+	movl	%esi,%ecx
+	xorl	4(%rsp),%ebp
+	xorl	%r12d,%eax
+	roll	$5,%ecx
+	xorl	28(%rsp),%ebp
+	leal	1859775393(%rdx,%r13,1),%r13d
+	xorl	%r11d,%eax
+	addl	%ecx,%r13d
+	roll	$30,%edi
+	addl	%eax,%r13d
+	roll	$1,%ebp
+	xorl	0(%rsp),%r14d
+	movl	%esi,%eax
+	movl	%ebp,60(%rsp)
+	movl	%r13d,%ecx
+	xorl	8(%rsp),%r14d
+	xorl	%r11d,%eax
+	roll	$5,%ecx
+	xorl	32(%rsp),%r14d
+	leal	1859775393(%rbp,%r12,1),%r12d
+	xorl	%edi,%eax
+	addl	%ecx,%r12d
+	roll	$30,%esi
+	addl	%eax,%r12d
+	roll	$1,%r14d
+	xorl	4(%rsp),%edx
+	movl	%r13d,%eax
+	movl	%r14d,0(%rsp)
+	movl	%r12d,%ecx
+	xorl	12(%rsp),%edx
+	xorl	%edi,%eax
+	roll	$5,%ecx
+	xorl	36(%rsp),%edx
+	leal	1859775393(%r14,%r11,1),%r11d
+	xorl	%esi,%eax
+	addl	%ecx,%r11d
+	roll	$30,%r13d
+	addl	%eax,%r11d
+	roll	$1,%edx
+	xorl	8(%rsp),%ebp
+	movl	%r12d,%eax
+	movl	%edx,4(%rsp)
+	movl	%r11d,%ecx
+	xorl	16(%rsp),%ebp
+	xorl	%esi,%eax
+	roll	$5,%ecx
+	xorl	40(%rsp),%ebp
+	leal	1859775393(%rdx,%rdi,1),%edi
+	xorl	%r13d,%eax
+	addl	%ecx,%edi
+	roll	$30,%r12d
+	addl	%eax,%edi
+	roll	$1,%ebp
+	xorl	12(%rsp),%r14d
+	movl	%r11d,%eax
+	movl	%ebp,8(%rsp)
+	movl	%edi,%ecx
+	xorl	20(%rsp),%r14d
+	xorl	%r13d,%eax
+	roll	$5,%ecx
+	xorl	44(%rsp),%r14d
+	leal	1859775393(%rbp,%rsi,1),%esi
+	xorl	%r12d,%eax
+	addl	%ecx,%esi
+	roll	$30,%r11d
+	addl	%eax,%esi
+	roll	$1,%r14d
+	xorl	16(%rsp),%edx
+	movl	%edi,%eax
+	movl	%r14d,12(%rsp)
+	movl	%esi,%ecx
+	xorl	24(%rsp),%edx
+	xorl	%r12d,%eax
+	roll	$5,%ecx
+	xorl	48(%rsp),%edx
+	leal	1859775393(%r14,%r13,1),%r13d
+	xorl	%r11d,%eax
+	addl	%ecx,%r13d
+	roll	$30,%edi
+	addl	%eax,%r13d
+	roll	$1,%edx
+	xorl	20(%rsp),%ebp
+	movl	%esi,%eax
+	movl	%edx,16(%rsp)
+	movl	%r13d,%ecx
+	xorl	28(%rsp),%ebp
+	xorl	%r11d,%eax
+	roll	$5,%ecx
+	xorl	52(%rsp),%ebp
+	leal	1859775393(%rdx,%r12,1),%r12d
+	xorl	%edi,%eax
+	addl	%ecx,%r12d
+	roll	$30,%esi
+	addl	%eax,%r12d
+	roll	$1,%ebp
+	xorl	24(%rsp),%r14d
+	movl	%r13d,%eax
+	movl	%ebp,20(%rsp)
+	movl	%r12d,%ecx
+	xorl	32(%rsp),%r14d
+	xorl	%edi,%eax
+	roll	$5,%ecx
+	xorl	56(%rsp),%r14d
+	leal	1859775393(%rbp,%r11,1),%r11d
+	xorl	%esi,%eax
+	addl	%ecx,%r11d
+	roll	$30,%r13d
+	addl	%eax,%r11d
+	roll	$1,%r14d
+	xorl	28(%rsp),%edx
+	movl	%r12d,%eax
+	movl	%r14d,24(%rsp)
+	movl	%r11d,%ecx
+	xorl	36(%rsp),%edx
+	xorl	%esi,%eax
+	roll	$5,%ecx
+	xorl	60(%rsp),%edx
+	leal	1859775393(%r14,%rdi,1),%edi
+	xorl	%r13d,%eax
+	addl	%ecx,%edi
+	roll	$30,%r12d
+	addl	%eax,%edi
+	roll	$1,%edx
+	xorl	32(%rsp),%ebp
+	movl	%r11d,%eax
+	movl	%edx,28(%rsp)
+	movl	%edi,%ecx
+	xorl	40(%rsp),%ebp
+	xorl	%r13d,%eax
+	roll	$5,%ecx
+	xorl	0(%rsp),%ebp
+	leal	1859775393(%rdx,%rsi,1),%esi
+	xorl	%r12d,%eax
+	addl	%ecx,%esi
+	roll	$30,%r11d
+	addl	%eax,%esi
+	roll	$1,%ebp
+	xorl	36(%rsp),%r14d
+	movl	%r12d,%eax
+	movl	%ebp,32(%rsp)
+	movl	%r12d,%ebx
+	xorl	44(%rsp),%r14d
+	andl	%r11d,%eax
+	movl	%esi,%ecx
+	xorl	4(%rsp),%r14d
+	leal	-1894007588(%rbp,%r13,1),%r13d
+	xorl	%r11d,%ebx
+	roll	$5,%ecx
+	addl	%eax,%r13d
+	roll	$1,%r14d
+	andl	%edi,%ebx
+	addl	%ecx,%r13d
+	roll	$30,%edi
+	addl	%ebx,%r13d
+	xorl	40(%rsp),%edx
+	movl	%r11d,%eax
+	movl	%r14d,36(%rsp)
+	movl	%r11d,%ebx
+	xorl	48(%rsp),%edx
+	andl	%edi,%eax
+	movl	%r13d,%ecx
+	xorl	8(%rsp),%edx
+	leal	-1894007588(%r14,%r12,1),%r12d
+	xorl	%edi,%ebx
+	roll	$5,%ecx
+	addl	%eax,%r12d
+	roll	$1,%edx
+	andl	%esi,%ebx
+	addl	%ecx,%r12d
+	roll	$30,%esi
+	addl	%ebx,%r12d
+	xorl	44(%rsp),%ebp
+	movl	%edi,%eax
+	movl	%edx,40(%rsp)
+	movl	%edi,%ebx
+	xorl	52(%rsp),%ebp
+	andl	%esi,%eax
+	movl	%r12d,%ecx
+	xorl	12(%rsp),%ebp
+	leal	-1894007588(%rdx,%r11,1),%r11d
+	xorl	%esi,%ebx
+	roll	$5,%ecx
+	addl	%eax,%r11d
+	roll	$1,%ebp
+	andl	%r13d,%ebx
+	addl	%ecx,%r11d
+	roll	$30,%r13d
+	addl	%ebx,%r11d
+	xorl	48(%rsp),%r14d
+	movl	%esi,%eax
+	movl	%ebp,44(%rsp)
+	movl	%esi,%ebx
+	xorl	56(%rsp),%r14d
+	andl	%r13d,%eax
+	movl	%r11d,%ecx
+	xorl	16(%rsp),%r14d
+	leal	-1894007588(%rbp,%rdi,1),%edi
+	xorl	%r13d,%ebx
+	roll	$5,%ecx
+	addl	%eax,%edi
+	roll	$1,%r14d
+	andl	%r12d,%ebx
+	addl	%ecx,%edi
+	roll	$30,%r12d
+	addl	%ebx,%edi
+	xorl	52(%rsp),%edx
+	movl	%r13d,%eax
+	movl	%r14d,48(%rsp)
+	movl	%r13d,%ebx
+	xorl	60(%rsp),%edx
+	andl	%r12d,%eax
+	movl	%edi,%ecx
+	xorl	20(%rsp),%edx
+	leal	-1894007588(%r14,%rsi,1),%esi
+	xorl	%r12d,%ebx
+	roll	$5,%ecx
+	addl	%eax,%esi
+	roll	$1,%edx
+	andl	%r11d,%ebx
+	addl	%ecx,%esi
+	roll	$30,%r11d
+	addl	%ebx,%esi
+	xorl	56(%rsp),%ebp
+	movl	%r12d,%eax
+	movl	%edx,52(%rsp)
+	movl	%r12d,%ebx
+	xorl	0(%rsp),%ebp
+	andl	%r11d,%eax
+	movl	%esi,%ecx
+	xorl	24(%rsp),%ebp
+	leal	-1894007588(%rdx,%r13,1),%r13d
+	xorl	%r11d,%ebx
+	roll	$5,%ecx
+	addl	%eax,%r13d
+	roll	$1,%ebp
+	andl	%edi,%ebx
+	addl	%ecx,%r13d
+	roll	$30,%edi
+	addl	%ebx,%r13d
+	xorl	60(%rsp),%r14d
+	movl	%r11d,%eax
+	movl	%ebp,56(%rsp)
+	movl	%r11d,%ebx
+	xorl	4(%rsp),%r14d
+	andl	%edi,%eax
+	movl	%r13d,%ecx
+	xorl	28(%rsp),%r14d
+	leal	-1894007588(%rbp,%r12,1),%r12d
+	xorl	%edi,%ebx
+	roll	$5,%ecx
+	addl	%eax,%r12d
+	roll	$1,%r14d
+	andl	%esi,%ebx
+	addl	%ecx,%r12d
+	roll	$30,%esi
+	addl	%ebx,%r12d
+	xorl	0(%rsp),%edx
+	movl	%edi,%eax
+	movl	%r14d,60(%rsp)
+	movl	%edi,%ebx
+	xorl	8(%rsp),%edx
+	andl	%esi,%eax
+	movl	%r12d,%ecx
+	xorl	32(%rsp),%edx
+	leal	-1894007588(%r14,%r11,1),%r11d
+	xorl	%esi,%ebx
+	roll	$5,%ecx
+	addl	%eax,%r11d
+	roll	$1,%edx
+	andl	%r13d,%ebx
+	addl	%ecx,%r11d
+	roll	$30,%r13d
+	addl	%ebx,%r11d
+	xorl	4(%rsp),%ebp
+	movl	%esi,%eax
+	movl	%edx,0(%rsp)
+	movl	%esi,%ebx
+	xorl	12(%rsp),%ebp
+	andl	%r13d,%eax
+	movl	%r11d,%ecx
+	xorl	36(%rsp),%ebp
+	leal	-1894007588(%rdx,%rdi,1),%edi
+	xorl	%r13d,%ebx
+	roll	$5,%ecx
+	addl	%eax,%edi
+	roll	$1,%ebp
+	andl	%r12d,%ebx
+	addl	%ecx,%edi
+	roll	$30,%r12d
+	addl	%ebx,%edi
+	xorl	8(%rsp),%r14d
+	movl	%r13d,%eax
+	movl	%ebp,4(%rsp)
+	movl	%r13d,%ebx
+	xorl	16(%rsp),%r14d
+	andl	%r12d,%eax
+	movl	%edi,%ecx
+	xorl	40(%rsp),%r14d
+	leal	-1894007588(%rbp,%rsi,1),%esi
+	xorl	%r12d,%ebx
+	roll	$5,%ecx
+	addl	%eax,%esi
+	roll	$1,%r14d
+	andl	%r11d,%ebx
+	addl	%ecx,%esi
+	roll	$30,%r11d
+	addl	%ebx,%esi
+	xorl	12(%rsp),%edx
+	movl	%r12d,%eax
+	movl	%r14d,8(%rsp)
+	movl	%r12d,%ebx
+	xorl	20(%rsp),%edx
+	andl	%r11d,%eax
+	movl	%esi,%ecx
+	xorl	44(%rsp),%edx
+	leal	-1894007588(%r14,%r13,1),%r13d
+	xorl	%r11d,%ebx
+	roll	$5,%ecx
+	addl	%eax,%r13d
+	roll	$1,%edx
+	andl	%edi,%ebx
+	addl	%ecx,%r13d
+	roll	$30,%edi
+	addl	%ebx,%r13d
+	xorl	16(%rsp),%ebp
+	movl	%r11d,%eax
+	movl	%edx,12(%rsp)
+	movl	%r11d,%ebx
+	xorl	24(%rsp),%ebp
+	andl	%edi,%eax
+	movl	%r13d,%ecx
+	xorl	48(%rsp),%ebp
+	leal	-1894007588(%rdx,%r12,1),%r12d
+	xorl	%edi,%ebx
+	roll	$5,%ecx
+	addl	%eax,%r12d
+	roll	$1,%ebp
+	andl	%esi,%ebx
+	addl	%ecx,%r12d
+	roll	$30,%esi
+	addl	%ebx,%r12d
+	xorl	20(%rsp),%r14d
+	movl	%edi,%eax
+	movl	%ebp,16(%rsp)
+	movl	%edi,%ebx
+	xorl	28(%rsp),%r14d
+	andl	%esi,%eax
+	movl	%r12d,%ecx
+	xorl	52(%rsp),%r14d
+	leal	-1894007588(%rbp,%r11,1),%r11d
+	xorl	%esi,%ebx
+	roll	$5,%ecx
+	addl	%eax,%r11d
+	roll	$1,%r14d
+	andl	%r13d,%ebx
+	addl	%ecx,%r11d
+	roll	$30,%r13d
+	addl	%ebx,%r11d
+	xorl	24(%rsp),%edx
+	movl	%esi,%eax
+	movl	%r14d,20(%rsp)
+	movl	%esi,%ebx
+	xorl	32(%rsp),%edx
+	andl	%r13d,%eax
+	movl	%r11d,%ecx
+	xorl	56(%rsp),%edx
+	leal	-1894007588(%r14,%rdi,1),%edi
+	xorl	%r13d,%ebx
+	roll	$5,%ecx
+	addl	%eax,%edi
+	roll	$1,%edx
+	andl	%r12d,%ebx
+	addl	%ecx,%edi
+	roll	$30,%r12d
+	addl	%ebx,%edi
+	xorl	28(%rsp),%ebp
+	movl	%r13d,%eax
+	movl	%edx,24(%rsp)
+	movl	%r13d,%ebx
+	xorl	36(%rsp),%ebp
+	andl	%r12d,%eax
+	movl	%edi,%ecx
+	xorl	60(%rsp),%ebp
+	leal	-1894007588(%rdx,%rsi,1),%esi
+	xorl	%r12d,%ebx
+	roll	$5,%ecx
+	addl	%eax,%esi
+	roll	$1,%ebp
+	andl	%r11d,%ebx
+	addl	%ecx,%esi
+	roll	$30,%r11d
+	addl	%ebx,%esi
+	xorl	32(%rsp),%r14d
+	movl	%r12d,%eax
+	movl	%ebp,28(%rsp)
+	movl	%r12d,%ebx
+	xorl	40(%rsp),%r14d
+	andl	%r11d,%eax
+	movl	%esi,%ecx
+	xorl	0(%rsp),%r14d
+	leal	-1894007588(%rbp,%r13,1),%r13d
+	xorl	%r11d,%ebx
+	roll	$5,%ecx
+	addl	%eax,%r13d
+	roll	$1,%r14d
+	andl	%edi,%ebx
+	addl	%ecx,%r13d
+	roll	$30,%edi
+	addl	%ebx,%r13d
+	xorl	36(%rsp),%edx
+	movl	%r11d,%eax
+	movl	%r14d,32(%rsp)
+	movl	%r11d,%ebx
+	xorl	44(%rsp),%edx
+	andl	%edi,%eax
+	movl	%r13d,%ecx
+	xorl	4(%rsp),%edx
+	leal	-1894007588(%r14,%r12,1),%r12d
+	xorl	%edi,%ebx
+	roll	$5,%ecx
+	addl	%eax,%r12d
+	roll	$1,%edx
+	andl	%esi,%ebx
+	addl	%ecx,%r12d
+	roll	$30,%esi
+	addl	%ebx,%r12d
+	xorl	40(%rsp),%ebp
+	movl	%edi,%eax
+	movl	%edx,36(%rsp)
+	movl	%edi,%ebx
+	xorl	48(%rsp),%ebp
+	andl	%esi,%eax
+	movl	%r12d,%ecx
+	xorl	8(%rsp),%ebp
+	leal	-1894007588(%rdx,%r11,1),%r11d
+	xorl	%esi,%ebx
+	roll	$5,%ecx
+	addl	%eax,%r11d
+	roll	$1,%ebp
+	andl	%r13d,%ebx
+	addl	%ecx,%r11d
+	roll	$30,%r13d
+	addl	%ebx,%r11d
+	xorl	44(%rsp),%r14d
+	movl	%esi,%eax
+	movl	%ebp,40(%rsp)
+	movl	%esi,%ebx
+	xorl	52(%rsp),%r14d
+	andl	%r13d,%eax
+	movl	%r11d,%ecx
+	xorl	12(%rsp),%r14d
+	leal	-1894007588(%rbp,%rdi,1),%edi
+	xorl	%r13d,%ebx
+	roll	$5,%ecx
+	addl	%eax,%edi
+	roll	$1,%r14d
+	andl	%r12d,%ebx
+	addl	%ecx,%edi
+	roll	$30,%r12d
+	addl	%ebx,%edi
+	xorl	48(%rsp),%edx
+	movl	%r13d,%eax
+	movl	%r14d,44(%rsp)
+	movl	%r13d,%ebx
+	xorl	56(%rsp),%edx
+	andl	%r12d,%eax
+	movl	%edi,%ecx
+	xorl	16(%rsp),%edx
+	leal	-1894007588(%r14,%rsi,1),%esi
+	xorl	%r12d,%ebx
+	roll	$5,%ecx
+	addl	%eax,%esi
+	roll	$1,%edx
+	andl	%r11d,%ebx
+	addl	%ecx,%esi
+	roll	$30,%r11d
+	addl	%ebx,%esi
+	xorl	52(%rsp),%ebp
+	movl	%edi,%eax
+	movl	%edx,48(%rsp)
+	movl	%esi,%ecx
+	xorl	60(%rsp),%ebp
+	xorl	%r12d,%eax
+	roll	$5,%ecx
+	xorl	20(%rsp),%ebp
+	leal	-899497514(%rdx,%r13,1),%r13d
+	xorl	%r11d,%eax
+	addl	%ecx,%r13d
+	roll	$30,%edi
+	addl	%eax,%r13d
+	roll	$1,%ebp
+	xorl	56(%rsp),%r14d
+	movl	%esi,%eax
+	movl	%ebp,52(%rsp)
+	movl	%r13d,%ecx
+	xorl	0(%rsp),%r14d
+	xorl	%r11d,%eax
+	roll	$5,%ecx
+	xorl	24(%rsp),%r14d
+	leal	-899497514(%rbp,%r12,1),%r12d
+	xorl	%edi,%eax
+	addl	%ecx,%r12d
+	roll	$30,%esi
+	addl	%eax,%r12d
+	roll	$1,%r14d
+	xorl	60(%rsp),%edx
+	movl	%r13d,%eax
+	movl	%r14d,56(%rsp)
+	movl	%r12d,%ecx
+	xorl	4(%rsp),%edx
+	xorl	%edi,%eax
+	roll	$5,%ecx
+	xorl	28(%rsp),%edx
+	leal	-899497514(%r14,%r11,1),%r11d
+	xorl	%esi,%eax
+	addl	%ecx,%r11d
+	roll	$30,%r13d
+	addl	%eax,%r11d
+	roll	$1,%edx
+	xorl	0(%rsp),%ebp
+	movl	%r12d,%eax
+	movl	%edx,60(%rsp)
+	movl	%r11d,%ecx
+	xorl	8(%rsp),%ebp
+	xorl	%esi,%eax
+	roll	$5,%ecx
+	xorl	32(%rsp),%ebp
+	leal	-899497514(%rdx,%rdi,1),%edi
+	xorl	%r13d,%eax
+	addl	%ecx,%edi
+	roll	$30,%r12d
+	addl	%eax,%edi
+	roll	$1,%ebp
+	xorl	4(%rsp),%r14d
+	movl	%r11d,%eax
+	movl	%ebp,0(%rsp)
+	movl	%edi,%ecx
+	xorl	12(%rsp),%r14d
+	xorl	%r13d,%eax
+	roll	$5,%ecx
+	xorl	36(%rsp),%r14d
+	leal	-899497514(%rbp,%rsi,1),%esi
+	xorl	%r12d,%eax
+	addl	%ecx,%esi
+	roll	$30,%r11d
+	addl	%eax,%esi
+	roll	$1,%r14d
+	xorl	8(%rsp),%edx
+	movl	%edi,%eax
+	movl	%r14d,4(%rsp)
+	movl	%esi,%ecx
+	xorl	16(%rsp),%edx
+	xorl	%r12d,%eax
+	roll	$5,%ecx
+	xorl	40(%rsp),%edx
+	leal	-899497514(%r14,%r13,1),%r13d
+	xorl	%r11d,%eax
+	addl	%ecx,%r13d
+	roll	$30,%edi
+	addl	%eax,%r13d
+	roll	$1,%edx
+	xorl	12(%rsp),%ebp
+	movl	%esi,%eax
+	movl	%edx,8(%rsp)
+	movl	%r13d,%ecx
+	xorl	20(%rsp),%ebp
+	xorl	%r11d,%eax
+	roll	$5,%ecx
+	xorl	44(%rsp),%ebp
+	leal	-899497514(%rdx,%r12,1),%r12d
+	xorl	%edi,%eax
+	addl	%ecx,%r12d
+	roll	$30,%esi
+	addl	%eax,%r12d
+	roll	$1,%ebp
+	xorl	16(%rsp),%r14d
+	movl	%r13d,%eax
+	movl	%ebp,12(%rsp)
+	movl	%r12d,%ecx
+	xorl	24(%rsp),%r14d
+	xorl	%edi,%eax
+	roll	$5,%ecx
+	xorl	48(%rsp),%r14d
+	leal	-899497514(%rbp,%r11,1),%r11d
+	xorl	%esi,%eax
+	addl	%ecx,%r11d
+	roll	$30,%r13d
+	addl	%eax,%r11d
+	roll	$1,%r14d
+	xorl	20(%rsp),%edx
+	movl	%r12d,%eax
+	movl	%r14d,16(%rsp)
+	movl	%r11d,%ecx
+	xorl	28(%rsp),%edx
+	xorl	%esi,%eax
+	roll	$5,%ecx
+	xorl	52(%rsp),%edx
+	leal	-899497514(%r14,%rdi,1),%edi
+	xorl	%r13d,%eax
+	addl	%ecx,%edi
+	roll	$30,%r12d
+	addl	%eax,%edi
+	roll	$1,%edx
+	xorl	24(%rsp),%ebp
+	movl	%r11d,%eax
+	movl	%edx,20(%rsp)
+	movl	%edi,%ecx
+	xorl	32(%rsp),%ebp
+	xorl	%r13d,%eax
+	roll	$5,%ecx
+	xorl	56(%rsp),%ebp
+	leal	-899497514(%rdx,%rsi,1),%esi
+	xorl	%r12d,%eax
+	addl	%ecx,%esi
+	roll	$30,%r11d
+	addl	%eax,%esi
+	roll	$1,%ebp
+	xorl	28(%rsp),%r14d
+	movl	%edi,%eax
+	movl	%ebp,24(%rsp)
+	movl	%esi,%ecx
+	xorl	36(%rsp),%r14d
+	xorl	%r12d,%eax
+	roll	$5,%ecx
+	xorl	60(%rsp),%r14d
+	leal	-899497514(%rbp,%r13,1),%r13d
+	xorl	%r11d,%eax
+	addl	%ecx,%r13d
+	roll	$30,%edi
+	addl	%eax,%r13d
+	roll	$1,%r14d
+	xorl	32(%rsp),%edx
+	movl	%esi,%eax
+	movl	%r14d,28(%rsp)
+	movl	%r13d,%ecx
+	xorl	40(%rsp),%edx
+	xorl	%r11d,%eax
+	roll	$5,%ecx
+	xorl	0(%rsp),%edx
+	leal	-899497514(%r14,%r12,1),%r12d
+	xorl	%edi,%eax
+	addl	%ecx,%r12d
+	roll	$30,%esi
+	addl	%eax,%r12d
+	roll	$1,%edx
+	xorl	36(%rsp),%ebp
+	movl	%r13d,%eax
+
+	movl	%r12d,%ecx
+	xorl	44(%rsp),%ebp
+	xorl	%edi,%eax
+	roll	$5,%ecx
+	xorl	4(%rsp),%ebp
+	leal	-899497514(%rdx,%r11,1),%r11d
+	xorl	%esi,%eax
+	addl	%ecx,%r11d
+	roll	$30,%r13d
+	addl	%eax,%r11d
+	roll	$1,%ebp
+	xorl	40(%rsp),%r14d
+	movl	%r12d,%eax
+
+	movl	%r11d,%ecx
+	xorl	48(%rsp),%r14d
+	xorl	%esi,%eax
+	roll	$5,%ecx
+	xorl	8(%rsp),%r14d
+	leal	-899497514(%rbp,%rdi,1),%edi
+	xorl	%r13d,%eax
+	addl	%ecx,%edi
+	roll	$30,%r12d
+	addl	%eax,%edi
+	roll	$1,%r14d
+	xorl	44(%rsp),%edx
+	movl	%r11d,%eax
+
+	movl	%edi,%ecx
+	xorl	52(%rsp),%edx
+	xorl	%r13d,%eax
+	roll	$5,%ecx
+	xorl	12(%rsp),%edx
+	leal	-899497514(%r14,%rsi,1),%esi
+	xorl	%r12d,%eax
+	addl	%ecx,%esi
+	roll	$30,%r11d
+	addl	%eax,%esi
+	roll	$1,%edx
+	xorl	48(%rsp),%ebp
+	movl	%edi,%eax
+
+	movl	%esi,%ecx
+	xorl	56(%rsp),%ebp
+	xorl	%r12d,%eax
+	roll	$5,%ecx
+	xorl	16(%rsp),%ebp
+	leal	-899497514(%rdx,%r13,1),%r13d
+	xorl	%r11d,%eax
+	addl	%ecx,%r13d
+	roll	$30,%edi
+	addl	%eax,%r13d
+	roll	$1,%ebp
+	xorl	52(%rsp),%r14d
+	movl	%esi,%eax
+
+	movl	%r13d,%ecx
+	xorl	60(%rsp),%r14d
+	xorl	%r11d,%eax
+	roll	$5,%ecx
+	xorl	20(%rsp),%r14d
+	leal	-899497514(%rbp,%r12,1),%r12d
+	xorl	%edi,%eax
+	addl	%ecx,%r12d
+	roll	$30,%esi
+	addl	%eax,%r12d
+	roll	$1,%r14d
+	xorl	56(%rsp),%edx
+	movl	%r13d,%eax
+
+	movl	%r12d,%ecx
+	xorl	0(%rsp),%edx
+	xorl	%edi,%eax
+	roll	$5,%ecx
+	xorl	24(%rsp),%edx
+	leal	-899497514(%r14,%r11,1),%r11d
+	xorl	%esi,%eax
+	addl	%ecx,%r11d
+	roll	$30,%r13d
+	addl	%eax,%r11d
+	roll	$1,%edx
+	xorl	60(%rsp),%ebp
+	movl	%r12d,%eax
+
+	movl	%r11d,%ecx
+	xorl	4(%rsp),%ebp
+	xorl	%esi,%eax
+	roll	$5,%ecx
+	xorl	28(%rsp),%ebp
+	leal	-899497514(%rdx,%rdi,1),%edi
+	xorl	%r13d,%eax
+	addl	%ecx,%edi
+	roll	$30,%r12d
+	addl	%eax,%edi
+	roll	$1,%ebp
+	movl	%r11d,%eax
+	movl	%edi,%ecx
+	xorl	%r13d,%eax
+	leal	-899497514(%rbp,%rsi,1),%esi
+	roll	$5,%ecx
+	xorl	%r12d,%eax
+	addl	%ecx,%esi
+	roll	$30,%r11d
+	addl	%eax,%esi
+	addl	0(%r8),%esi
+	addl	4(%r8),%edi
+	addl	8(%r8),%r11d
+	addl	12(%r8),%r12d
+	addl	16(%r8),%r13d
+	movl	%esi,0(%r8)
+	movl	%edi,4(%r8)
+	movl	%r11d,8(%r8)
+	movl	%r12d,12(%r8)
+	movl	%r13d,16(%r8)
+
+	subq	$1,%r10
+	leaq	64(%r9),%r9
+	jnz	.Lloop
+
+	movq	64(%rsp),%rsi
+	movq	-40(%rsi),%r14
+	movq	-32(%rsi),%r13
+	movq	-24(%rsi),%r12
+	movq	-16(%rsi),%rbp
+	movq	-8(%rsi),%rbx
+	leaq	(%rsi),%rsp
+.Lepilogue:
+	.byte	0xf3,0xc3
+.size	sha1_block_data_order,.-sha1_block_data_order
+.type	sha1_block_data_order_ssse3,@function
+.align	16
+sha1_block_data_order_ssse3:
+_ssse3_shortcut:
+	movq	%rsp,%r11
+	pushq	%rbx
+	pushq	%rbp
+	pushq	%r12
+	pushq	%r13
+	pushq	%r14
+	leaq	-64(%rsp),%rsp
+	andq	$-64,%rsp
+	movq	%rdi,%r8
+	movq	%rsi,%r9
+	movq	%rdx,%r10
+
+	shlq	$6,%r10
+	addq	%r9,%r10
+	leaq	K_XX_XX+64(%rip),%r14
+
+	movl	0(%r8),%eax
+	movl	4(%r8),%ebx
+	movl	8(%r8),%ecx
+	movl	12(%r8),%edx
+	movl	%ebx,%esi
+	movl	16(%r8),%ebp
+	movl	%ecx,%edi
+	xorl	%edx,%edi
+	andl	%edi,%esi
+
+	movdqa	64(%r14),%xmm6
+	movdqa	-64(%r14),%xmm9
+	movdqu	0(%r9),%xmm0
+	movdqu	16(%r9),%xmm1
+	movdqu	32(%r9),%xmm2
+	movdqu	48(%r9),%xmm3
+.byte	102,15,56,0,198
+.byte	102,15,56,0,206
+.byte	102,15,56,0,214
+	addq	$64,%r9
+	paddd	%xmm9,%xmm0
+.byte	102,15,56,0,222
+	paddd	%xmm9,%xmm1
+	paddd	%xmm9,%xmm2
+	movdqa	%xmm0,0(%rsp)
+	psubd	%xmm9,%xmm0
+	movdqa	%xmm1,16(%rsp)
+	psubd	%xmm9,%xmm1
+	movdqa	%xmm2,32(%rsp)
+	psubd	%xmm9,%xmm2
+	jmp	.Loop_ssse3
+.align	16
+.Loop_ssse3:
+	rorl	$2,%ebx
+	pshufd	$238,%xmm0,%xmm4
+	xorl	%edx,%esi
+	movdqa	%xmm3,%xmm8
+	paddd	%xmm3,%xmm9
+	movl	%eax,%edi
+	addl	0(%rsp),%ebp
+	punpcklqdq	%xmm1,%xmm4
+	xorl	%ecx,%ebx
+	roll	$5,%eax
+	addl	%esi,%ebp
+	psrldq	$4,%xmm8
+	andl	%ebx,%edi
+	xorl	%ecx,%ebx
+	pxor	%xmm0,%xmm4
+	addl	%eax,%ebp
+	rorl	$7,%eax
+	pxor	%xmm2,%xmm8
+	xorl	%ecx,%edi
+	movl	%ebp,%esi
+	addl	4(%rsp),%edx
+	pxor	%xmm8,%xmm4
+	xorl	%ebx,%eax
+	roll	$5,%ebp
+	movdqa	%xmm9,48(%rsp)
+	addl	%edi,%edx
+	andl	%eax,%esi
+	movdqa	%xmm4,%xmm10
+	xorl	%ebx,%eax
+	addl	%ebp,%edx
+	rorl	$7,%ebp
+	movdqa	%xmm4,%xmm8
+	xorl	%ebx,%esi
+	pslldq	$12,%xmm10
+	paddd	%xmm4,%xmm4
+	movl	%edx,%edi
+	addl	8(%rsp),%ecx
+	psrld	$31,%xmm8
+	xorl	%eax,%ebp
+	roll	$5,%edx
+	addl	%esi,%ecx
+	movdqa	%xmm10,%xmm9
+	andl	%ebp,%edi
+	xorl	%eax,%ebp
+	psrld	$30,%xmm10
+	addl	%edx,%ecx
+	rorl	$7,%edx
+	por	%xmm8,%xmm4
+	xorl	%eax,%edi
+	movl	%ecx,%esi
+	addl	12(%rsp),%ebx
+	pslld	$2,%xmm9
+	pxor	%xmm10,%xmm4
+	xorl	%ebp,%edx
+	movdqa	-64(%r14),%xmm10
+	roll	$5,%ecx
+	addl	%edi,%ebx
+	andl	%edx,%esi
+	pxor	%xmm9,%xmm4
+	xorl	%ebp,%edx
+	addl	%ecx,%ebx
+	rorl	$7,%ecx
+	pshufd	$238,%xmm1,%xmm5
+	xorl	%ebp,%esi
+	movdqa	%xmm4,%xmm9
+	paddd	%xmm4,%xmm10
+	movl	%ebx,%edi
+	addl	16(%rsp),%eax
+	punpcklqdq	%xmm2,%xmm5
+	xorl	%edx,%ecx
+	roll	$5,%ebx
+	addl	%esi,%eax
+	psrldq	$4,%xmm9
+	andl	%ecx,%edi
+	xorl	%edx,%ecx
+	pxor	%xmm1,%xmm5
+	addl	%ebx,%eax
+	rorl	$7,%ebx
+	pxor	%xmm3,%xmm9
+	xorl	%edx,%edi
+	movl	%eax,%esi
+	addl	20(%rsp),%ebp
+	pxor	%xmm9,%xmm5
+	xorl	%ecx,%ebx
+	roll	$5,%eax
+	movdqa	%xmm10,0(%rsp)
+	addl	%edi,%ebp
+	andl	%ebx,%esi
+	movdqa	%xmm5,%xmm8
+	xorl	%ecx,%ebx
+	addl	%eax,%ebp
+	rorl	$7,%eax
+	movdqa	%xmm5,%xmm9
+	xorl	%ecx,%esi
+	pslldq	$12,%xmm8
+	paddd	%xmm5,%xmm5
+	movl	%ebp,%edi
+	addl	24(%rsp),%edx
+	psrld	$31,%xmm9
+	xorl	%ebx,%eax
+	roll	$5,%ebp
+	addl	%esi,%edx
+	movdqa	%xmm8,%xmm10
+	andl	%eax,%edi
+	xorl	%ebx,%eax
+	psrld	$30,%xmm8
+	addl	%ebp,%edx
+	rorl	$7,%ebp
+	por	%xmm9,%xmm5
+	xorl	%ebx,%edi
+	movl	%edx,%esi
+	addl	28(%rsp),%ecx
+	pslld	$2,%xmm10
+	pxor	%xmm8,%xmm5
+	xorl	%eax,%ebp
+	movdqa	-32(%r14),%xmm8
+	roll	$5,%edx
+	addl	%edi,%ecx
+	andl	%ebp,%esi
+	pxor	%xmm10,%xmm5
+	xorl	%eax,%ebp
+	addl	%edx,%ecx
+	rorl	$7,%edx
+	pshufd	$238,%xmm2,%xmm6
+	xorl	%eax,%esi
+	movdqa	%xmm5,%xmm10
+	paddd	%xmm5,%xmm8
+	movl	%ecx,%edi
+	addl	32(%rsp),%ebx
+	punpcklqdq	%xmm3,%xmm6
+	xorl	%ebp,%edx
+	roll	$5,%ecx
+	addl	%esi,%ebx
+	psrldq	$4,%xmm10
+	andl	%edx,%edi
+	xorl	%ebp,%edx
+	pxor	%xmm2,%xmm6
+	addl	%ecx,%ebx
+	rorl	$7,%ecx
+	pxor	%xmm4,%xmm10
+	xorl	%ebp,%edi
+	movl	%ebx,%esi
+	addl	36(%rsp),%eax
+	pxor	%xmm10,%xmm6
+	xorl	%edx,%ecx
+	roll	$5,%ebx
+	movdqa	%xmm8,16(%rsp)
+	addl	%edi,%eax
+	andl	%ecx,%esi
+	movdqa	%xmm6,%xmm9
+	xorl	%edx,%ecx
+	addl	%ebx,%eax
+	rorl	$7,%ebx
+	movdqa	%xmm6,%xmm10
+	xorl	%edx,%esi
+	pslldq	$12,%xmm9
+	paddd	%xmm6,%xmm6
+	movl	%eax,%edi
+	addl	40(%rsp),%ebp
+	psrld	$31,%xmm10
+	xorl	%ecx,%ebx
+	roll	$5,%eax
+	addl	%esi,%ebp
+	movdqa	%xmm9,%xmm8
+	andl	%ebx,%edi
+	xorl	%ecx,%ebx
+	psrld	$30,%xmm9
+	addl	%eax,%ebp
+	rorl	$7,%eax
+	por	%xmm10,%xmm6
+	xorl	%ecx,%edi
+	movl	%ebp,%esi
+	addl	44(%rsp),%edx
+	pslld	$2,%xmm8
+	pxor	%xmm9,%xmm6
+	xorl	%ebx,%eax
+	movdqa	-32(%r14),%xmm9
+	roll	$5,%ebp
+	addl	%edi,%edx
+	andl	%eax,%esi
+	pxor	%xmm8,%xmm6
+	xorl	%ebx,%eax
+	addl	%ebp,%edx
+	rorl	$7,%ebp
+	pshufd	$238,%xmm3,%xmm7
+	xorl	%ebx,%esi
+	movdqa	%xmm6,%xmm8
+	paddd	%xmm6,%xmm9
+	movl	%edx,%edi
+	addl	48(%rsp),%ecx
+	punpcklqdq	%xmm4,%xmm7
+	xorl	%eax,%ebp
+	roll	$5,%edx
+	addl	%esi,%ecx
+	psrldq	$4,%xmm8
+	andl	%ebp,%edi
+	xorl	%eax,%ebp
+	pxor	%xmm3,%xmm7
+	addl	%edx,%ecx
+	rorl	$7,%edx
+	pxor	%xmm5,%xmm8
+	xorl	%eax,%edi
+	movl	%ecx,%esi
+	addl	52(%rsp),%ebx
+	pxor	%xmm8,%xmm7
+	xorl	%ebp,%edx
+	roll	$5,%ecx
+	movdqa	%xmm9,32(%rsp)
+	addl	%edi,%ebx
+	andl	%edx,%esi
+	movdqa	%xmm7,%xmm10
+	xorl	%ebp,%edx
+	addl	%ecx,%ebx
+	rorl	$7,%ecx
+	movdqa	%xmm7,%xmm8
+	xorl	%ebp,%esi
+	pslldq	$12,%xmm10
+	paddd	%xmm7,%xmm7
+	movl	%ebx,%edi
+	addl	56(%rsp),%eax
+	psrld	$31,%xmm8
+	xorl	%edx,%ecx
+	roll	$5,%ebx
+	addl	%esi,%eax
+	movdqa	%xmm10,%xmm9
+	andl	%ecx,%edi
+	xorl	%edx,%ecx
+	psrld	$30,%xmm10
+	addl	%ebx,%eax
+	rorl	$7,%ebx
+	por	%xmm8,%xmm7
+	xorl	%edx,%edi
+	movl	%eax,%esi
+	addl	60(%rsp),%ebp
+	pslld	$2,%xmm9
+	pxor	%xmm10,%xmm7
+	xorl	%ecx,%ebx
+	movdqa	-32(%r14),%xmm10
+	roll	$5,%eax
+	addl	%edi,%ebp
+	andl	%ebx,%esi
+	pxor	%xmm9,%xmm7
+	pshufd	$238,%xmm6,%xmm9
+	xorl	%ecx,%ebx
+	addl	%eax,%ebp
+	rorl	$7,%eax
+	pxor	%xmm4,%xmm0
+	xorl	%ecx,%esi
+	movl	%ebp,%edi
+	addl	0(%rsp),%edx
+	punpcklqdq	%xmm7,%xmm9
+	xorl	%ebx,%eax
+	roll	$5,%ebp
+	pxor	%xmm1,%xmm0
+	addl	%esi,%edx
+	andl	%eax,%edi
+	movdqa	%xmm10,%xmm8
+	xorl	%ebx,%eax
+	paddd	%xmm7,%xmm10
+	addl	%ebp,%edx
+	pxor	%xmm9,%xmm0
+	rorl	$7,%ebp
+	xorl	%ebx,%edi
+	movl	%edx,%esi
+	addl	4(%rsp),%ecx
+	movdqa	%xmm0,%xmm9
+	xorl	%eax,%ebp
+	roll	$5,%edx
+	movdqa	%xmm10,48(%rsp)
+	addl	%edi,%ecx
+	andl	%ebp,%esi
+	xorl	%eax,%ebp
+	pslld	$2,%xmm0
+	addl	%edx,%ecx
+	rorl	$7,%edx
+	psrld	$30,%xmm9
+	xorl	%eax,%esi
+	movl	%ecx,%edi
+	addl	8(%rsp),%ebx
+	por	%xmm9,%xmm0
+	xorl	%ebp,%edx
+	roll	$5,%ecx
+	pshufd	$238,%xmm7,%xmm10
+	addl	%esi,%ebx
+	andl	%edx,%edi
+	xorl	%ebp,%edx
+	addl	%ecx,%ebx
+	addl	12(%rsp),%eax
+	xorl	%ebp,%edi
+	movl	%ebx,%esi
+	roll	$5,%ebx
+	addl	%edi,%eax
+	xorl	%edx,%esi
+	rorl	$7,%ecx
+	addl	%ebx,%eax
+	pxor	%xmm5,%xmm1
+	addl	16(%rsp),%ebp
+	xorl	%ecx,%esi
+	punpcklqdq	%xmm0,%xmm10
+	movl	%eax,%edi
+	roll	$5,%eax
+	pxor	%xmm2,%xmm1
+	addl	%esi,%ebp
+	xorl	%ecx,%edi
+	movdqa	%xmm8,%xmm9
+	rorl	$7,%ebx
+	paddd	%xmm0,%xmm8
+	addl	%eax,%ebp
+	pxor	%xmm10,%xmm1
+	addl	20(%rsp),%edx
+	xorl	%ebx,%edi
+	movl	%ebp,%esi
+	roll	$5,%ebp
+	movdqa	%xmm1,%xmm10
+	addl	%edi,%edx
+	xorl	%ebx,%esi
+	movdqa	%xmm8,0(%rsp)
+	rorl	$7,%eax
+	addl	%ebp,%edx
+	addl	24(%rsp),%ecx
+	pslld	$2,%xmm1
+	xorl	%eax,%esi
+	movl	%edx,%edi
+	psrld	$30,%xmm10
+	roll	$5,%edx
+	addl	%esi,%ecx
+	xorl	%eax,%edi
+	rorl	$7,%ebp
+	por	%xmm10,%xmm1
+	addl	%edx,%ecx
+	addl	28(%rsp),%ebx
+	pshufd	$238,%xmm0,%xmm8
+	xorl	%ebp,%edi
+	movl	%ecx,%esi
+	roll	$5,%ecx
+	addl	%edi,%ebx
+	xorl	%ebp,%esi
+	rorl	$7,%edx
+	addl	%ecx,%ebx
+	pxor	%xmm6,%xmm2
+	addl	32(%rsp),%eax
+	xorl	%edx,%esi
+	punpcklqdq	%xmm1,%xmm8
+	movl	%ebx,%edi
+	roll	$5,%ebx
+	pxor	%xmm3,%xmm2
+	addl	%esi,%eax
+	xorl	%edx,%edi
+	movdqa	0(%r14),%xmm10
+	rorl	$7,%ecx
+	paddd	%xmm1,%xmm9
+	addl	%ebx,%eax
+	pxor	%xmm8,%xmm2
+	addl	36(%rsp),%ebp
+	xorl	%ecx,%edi
+	movl	%eax,%esi
+	roll	$5,%eax
+	movdqa	%xmm2,%xmm8
+	addl	%edi,%ebp
+	xorl	%ecx,%esi
+	movdqa	%xmm9,16(%rsp)
+	rorl	$7,%ebx
+	addl	%eax,%ebp
+	addl	40(%rsp),%edx
+	pslld	$2,%xmm2
+	xorl	%ebx,%esi
+	movl	%ebp,%edi
+	psrld	$30,%xmm8
+	roll	$5,%ebp
+	addl	%esi,%edx
+	xorl	%ebx,%edi
+	rorl	$7,%eax
+	por	%xmm8,%xmm2
+	addl	%ebp,%edx
+	addl	44(%rsp),%ecx
+	pshufd	$238,%xmm1,%xmm9
+	xorl	%eax,%edi
+	movl	%edx,%esi
+	roll	$5,%edx
+	addl	%edi,%ecx
+	xorl	%eax,%esi
+	rorl	$7,%ebp
+	addl	%edx,%ecx
+	pxor	%xmm7,%xmm3
+	addl	48(%rsp),%ebx
+	xorl	%ebp,%esi
+	punpcklqdq	%xmm2,%xmm9
+	movl	%ecx,%edi
+	roll	$5,%ecx
+	pxor	%xmm4,%xmm3
+	addl	%esi,%ebx
+	xorl	%ebp,%edi
+	movdqa	%xmm10,%xmm8
+	rorl	$7,%edx
+	paddd	%xmm2,%xmm10
+	addl	%ecx,%ebx
+	pxor	%xmm9,%xmm3
+	addl	52(%rsp),%eax
+	xorl	%edx,%edi
+	movl	%ebx,%esi
+	roll	$5,%ebx
+	movdqa	%xmm3,%xmm9
+	addl	%edi,%eax
+	xorl	%edx,%esi
+	movdqa	%xmm10,32(%rsp)
+	rorl	$7,%ecx
+	addl	%ebx,%eax
+	addl	56(%rsp),%ebp
+	pslld	$2,%xmm3
+	xorl	%ecx,%esi
+	movl	%eax,%edi
+	psrld	$30,%xmm9
+	roll	$5,%eax
+	addl	%esi,%ebp
+	xorl	%ecx,%edi
+	rorl	$7,%ebx
+	por	%xmm9,%xmm3
+	addl	%eax,%ebp
+	addl	60(%rsp),%edx
+	pshufd	$238,%xmm2,%xmm10
+	xorl	%ebx,%edi
+	movl	%ebp,%esi
+	roll	$5,%ebp
+	addl	%edi,%edx
+	xorl	%ebx,%esi
+	rorl	$7,%eax
+	addl	%ebp,%edx
+	pxor	%xmm0,%xmm4
+	addl	0(%rsp),%ecx
+	xorl	%eax,%esi
+	punpcklqdq	%xmm3,%xmm10
+	movl	%edx,%edi
+	roll	$5,%edx
+	pxor	%xmm5,%xmm4
+	addl	%esi,%ecx
+	xorl	%eax,%edi
+	movdqa	%xmm8,%xmm9
+	rorl	$7,%ebp
+	paddd	%xmm3,%xmm8
+	addl	%edx,%ecx
+	pxor	%xmm10,%xmm4
+	addl	4(%rsp),%ebx
+	xorl	%ebp,%edi
+	movl	%ecx,%esi
+	roll	$5,%ecx
+	movdqa	%xmm4,%xmm10
+	addl	%edi,%ebx
+	xorl	%ebp,%esi
+	movdqa	%xmm8,48(%rsp)
+	rorl	$7,%edx
+	addl	%ecx,%ebx
+	addl	8(%rsp),%eax
+	pslld	$2,%xmm4
+	xorl	%edx,%esi
+	movl	%ebx,%edi
+	psrld	$30,%xmm10
+	roll	$5,%ebx
+	addl	%esi,%eax
+	xorl	%edx,%edi
+	rorl	$7,%ecx
+	por	%xmm10,%xmm4
+	addl	%ebx,%eax
+	addl	12(%rsp),%ebp
+	pshufd	$238,%xmm3,%xmm8
+	xorl	%ecx,%edi
+	movl	%eax,%esi
+	roll	$5,%eax
+	addl	%edi,%ebp
+	xorl	%ecx,%esi
+	rorl	$7,%ebx
+	addl	%eax,%ebp
+	pxor	%xmm1,%xmm5
+	addl	16(%rsp),%edx
+	xorl	%ebx,%esi
+	punpcklqdq	%xmm4,%xmm8
+	movl	%ebp,%edi
+	roll	$5,%ebp
+	pxor	%xmm6,%xmm5
+	addl	%esi,%edx
+	xorl	%ebx,%edi
+	movdqa	%xmm9,%xmm10
+	rorl	$7,%eax
+	paddd	%xmm4,%xmm9
+	addl	%ebp,%edx
+	pxor	%xmm8,%xmm5
+	addl	20(%rsp),%ecx
+	xorl	%eax,%edi
+	movl	%edx,%esi
+	roll	$5,%edx
+	movdqa	%xmm5,%xmm8
+	addl	%edi,%ecx
+	xorl	%eax,%esi
+	movdqa	%xmm9,0(%rsp)
+	rorl	$7,%ebp
+	addl	%edx,%ecx
+	addl	24(%rsp),%ebx
+	pslld	$2,%xmm5
+	xorl	%ebp,%esi
+	movl	%ecx,%edi
+	psrld	$30,%xmm8
+	roll	$5,%ecx
+	addl	%esi,%ebx
+	xorl	%ebp,%edi
+	rorl	$7,%edx
+	por	%xmm8,%xmm5
+	addl	%ecx,%ebx
+	addl	28(%rsp),%eax
+	pshufd	$238,%xmm4,%xmm9
+	rorl	$7,%ecx
+	movl	%ebx,%esi
+	xorl	%edx,%edi
+	roll	$5,%ebx
+	addl	%edi,%eax
+	xorl	%ecx,%esi
+	xorl	%edx,%ecx
+	addl	%ebx,%eax
+	pxor	%xmm2,%xmm6
+	addl	32(%rsp),%ebp
+	andl	%ecx,%esi
+	xorl	%edx,%ecx
+	rorl	$7,%ebx
+	punpcklqdq	%xmm5,%xmm9
+	movl	%eax,%edi
+	xorl	%ecx,%esi
+	pxor	%xmm7,%xmm6
+	roll	$5,%eax
+	addl	%esi,%ebp
+	movdqa	%xmm10,%xmm8
+	xorl	%ebx,%edi
+	paddd	%xmm5,%xmm10
+	xorl	%ecx,%ebx
+	pxor	%xmm9,%xmm6
+	addl	%eax,%ebp
+	addl	36(%rsp),%edx
+	andl	%ebx,%edi
+	xorl	%ecx,%ebx
+	rorl	$7,%eax
+	movdqa	%xmm6,%xmm9
+	movl	%ebp,%esi
+	xorl	%ebx,%edi
+	movdqa	%xmm10,16(%rsp)
+	roll	$5,%ebp
+	addl	%edi,%edx
+	xorl	%eax,%esi
+	pslld	$2,%xmm6
+	xorl	%ebx,%eax
+	addl	%ebp,%edx
+	psrld	$30,%xmm9
+	addl	40(%rsp),%ecx
+	andl	%eax,%esi
+	xorl	%ebx,%eax
+	por	%xmm9,%xmm6
+	rorl	$7,%ebp
+	movl	%edx,%edi
+	xorl	%eax,%esi
+	roll	$5,%edx
+	pshufd	$238,%xmm5,%xmm10
+	addl	%esi,%ecx
+	xorl	%ebp,%edi
+	xorl	%eax,%ebp
+	addl	%edx,%ecx
+	addl	44(%rsp),%ebx
+	andl	%ebp,%edi
+	xorl	%eax,%ebp
+	rorl	$7,%edx
+	movl	%ecx,%esi
+	xorl	%ebp,%edi
+	roll	$5,%ecx
+	addl	%edi,%ebx
+	xorl	%edx,%esi
+	xorl	%ebp,%edx
+	addl	%ecx,%ebx
+	pxor	%xmm3,%xmm7
+	addl	48(%rsp),%eax
+	andl	%edx,%esi
+	xorl	%ebp,%edx
+	rorl	$7,%ecx
+	punpcklqdq	%xmm6,%xmm10
+	movl	%ebx,%edi
+	xorl	%edx,%esi
+	pxor	%xmm0,%xmm7
+	roll	$5,%ebx
+	addl	%esi,%eax
+	movdqa	32(%r14),%xmm9
+	xorl	%ecx,%edi
+	paddd	%xmm6,%xmm8
+	xorl	%edx,%ecx
+	pxor	%xmm10,%xmm7
+	addl	%ebx,%eax
+	addl	52(%rsp),%ebp
+	andl	%ecx,%edi
+	xorl	%edx,%ecx
+	rorl	$7,%ebx
+	movdqa	%xmm7,%xmm10
+	movl	%eax,%esi
+	xorl	%ecx,%edi
+	movdqa	%xmm8,32(%rsp)
+	roll	$5,%eax
+	addl	%edi,%ebp
+	xorl	%ebx,%esi
+	pslld	$2,%xmm7
+	xorl	%ecx,%ebx
+	addl	%eax,%ebp
+	psrld	$30,%xmm10
+	addl	56(%rsp),%edx
+	andl	%ebx,%esi
+	xorl	%ecx,%ebx
+	por	%xmm10,%xmm7
+	rorl	$7,%eax
+	movl	%ebp,%edi
+	xorl	%ebx,%esi
+	roll	$5,%ebp
+	pshufd	$238,%xmm6,%xmm8
+	addl	%esi,%edx
+	xorl	%eax,%edi
+	xorl	%ebx,%eax
+	addl	%ebp,%edx
+	addl	60(%rsp),%ecx
+	andl	%eax,%edi
+	xorl	%ebx,%eax
+	rorl	$7,%ebp
+	movl	%edx,%esi
+	xorl	%eax,%edi
+	roll	$5,%edx
+	addl	%edi,%ecx
+	xorl	%ebp,%esi
+	xorl	%eax,%ebp
+	addl	%edx,%ecx
+	pxor	%xmm4,%xmm0
+	addl	0(%rsp),%ebx
+	andl	%ebp,%esi
+	xorl	%eax,%ebp
+	rorl	$7,%edx
+	punpcklqdq	%xmm7,%xmm8
+	movl	%ecx,%edi
+	xorl	%ebp,%esi
+	pxor	%xmm1,%xmm0
+	roll	$5,%ecx
+	addl	%esi,%ebx
+	movdqa	%xmm9,%xmm10
+	xorl	%edx,%edi
+	paddd	%xmm7,%xmm9
+	xorl	%ebp,%edx
+	pxor	%xmm8,%xmm0
+	addl	%ecx,%ebx
+	addl	4(%rsp),%eax
+	andl	%edx,%edi
+	xorl	%ebp,%edx
+	rorl	$7,%ecx
+	movdqa	%xmm0,%xmm8
+	movl	%ebx,%esi
+	xorl	%edx,%edi
+	movdqa	%xmm9,48(%rsp)
+	roll	$5,%ebx
+	addl	%edi,%eax
+	xorl	%ecx,%esi
+	pslld	$2,%xmm0
+	xorl	%edx,%ecx
+	addl	%ebx,%eax
+	psrld	$30,%xmm8
+	addl	8(%rsp),%ebp
+	andl	%ecx,%esi
+	xorl	%edx,%ecx
+	por	%xmm8,%xmm0
+	rorl	$7,%ebx
+	movl	%eax,%edi
+	xorl	%ecx,%esi
+	roll	$5,%eax
+	pshufd	$238,%xmm7,%xmm9
+	addl	%esi,%ebp
+	xorl	%ebx,%edi
+	xorl	%ecx,%ebx
+	addl	%eax,%ebp
+	addl	12(%rsp),%edx
+	andl	%ebx,%edi
+	xorl	%ecx,%ebx
+	rorl	$7,%eax
+	movl	%ebp,%esi
+	xorl	%ebx,%edi
+	roll	$5,%ebp
+	addl	%edi,%edx
+	xorl	%eax,%esi
+	xorl	%ebx,%eax
+	addl	%ebp,%edx
+	pxor	%xmm5,%xmm1
+	addl	16(%rsp),%ecx
+	andl	%eax,%esi
+	xorl	%ebx,%eax
+	rorl	$7,%ebp
+	punpcklqdq	%xmm0,%xmm9
+	movl	%edx,%edi
+	xorl	%eax,%esi
+	pxor	%xmm2,%xmm1
+	roll	$5,%edx
+	addl	%esi,%ecx
+	movdqa	%xmm10,%xmm8
+	xorl	%ebp,%edi
+	paddd	%xmm0,%xmm10
+	xorl	%eax,%ebp
+	pxor	%xmm9,%xmm1
+	addl	%edx,%ecx
+	addl	20(%rsp),%ebx
+	andl	%ebp,%edi
+	xorl	%eax,%ebp
+	rorl	$7,%edx
+	movdqa	%xmm1,%xmm9
+	movl	%ecx,%esi
+	xorl	%ebp,%edi
+	movdqa	%xmm10,0(%rsp)
+	roll	$5,%ecx
+	addl	%edi,%ebx
+	xorl	%edx,%esi
+	pslld	$2,%xmm1
+	xorl	%ebp,%edx
+	addl	%ecx,%ebx
+	psrld	$30,%xmm9
+	addl	24(%rsp),%eax
+	andl	%edx,%esi
+	xorl	%ebp,%edx
+	por	%xmm9,%xmm1
+	rorl	$7,%ecx
+	movl	%ebx,%edi
+	xorl	%edx,%esi
+	roll	$5,%ebx
+	pshufd	$238,%xmm0,%xmm10
+	addl	%esi,%eax
+	xorl	%ecx,%edi
+	xorl	%edx,%ecx
+	addl	%ebx,%eax
+	addl	28(%rsp),%ebp
+	andl	%ecx,%edi
+	xorl	%edx,%ecx
+	rorl	$7,%ebx
+	movl	%eax,%esi
+	xorl	%ecx,%edi
+	roll	$5,%eax
+	addl	%edi,%ebp
+	xorl	%ebx,%esi
+	xorl	%ecx,%ebx
+	addl	%eax,%ebp
+	pxor	%xmm6,%xmm2
+	addl	32(%rsp),%edx
+	andl	%ebx,%esi
+	xorl	%ecx,%ebx
+	rorl	$7,%eax
+	punpcklqdq	%xmm1,%xmm10
+	movl	%ebp,%edi
+	xorl	%ebx,%esi
+	pxor	%xmm3,%xmm2
+	roll	$5,%ebp
+	addl	%esi,%edx
+	movdqa	%xmm8,%xmm9
+	xorl	%eax,%edi
+	paddd	%xmm1,%xmm8
+	xorl	%ebx,%eax
+	pxor	%xmm10,%xmm2
+	addl	%ebp,%edx
+	addl	36(%rsp),%ecx
+	andl	%eax,%edi
+	xorl	%ebx,%eax
+	rorl	$7,%ebp
+	movdqa	%xmm2,%xmm10
+	movl	%edx,%esi
+	xorl	%eax,%edi
+	movdqa	%xmm8,16(%rsp)
+	roll	$5,%edx
+	addl	%edi,%ecx
+	xorl	%ebp,%esi
+	pslld	$2,%xmm2
+	xorl	%eax,%ebp
+	addl	%edx,%ecx
+	psrld	$30,%xmm10
+	addl	40(%rsp),%ebx
+	andl	%ebp,%esi
+	xorl	%eax,%ebp
+	por	%xmm10,%xmm2
+	rorl	$7,%edx
+	movl	%ecx,%edi
+	xorl	%ebp,%esi
+	roll	$5,%ecx
+	pshufd	$238,%xmm1,%xmm8
+	addl	%esi,%ebx
+	xorl	%edx,%edi
+	xorl	%ebp,%edx
+	addl	%ecx,%ebx
+	addl	44(%rsp),%eax
+	andl	%edx,%edi
+	xorl	%ebp,%edx
+	rorl	$7,%ecx
+	movl	%ebx,%esi
+	xorl	%edx,%edi
+	roll	$5,%ebx
+	addl	%edi,%eax
+	xorl	%edx,%esi
+	addl	%ebx,%eax
+	pxor	%xmm7,%xmm3
+	addl	48(%rsp),%ebp
+	xorl	%ecx,%esi
+	punpcklqdq	%xmm2,%xmm8
+	movl	%eax,%edi
+	roll	$5,%eax
+	pxor	%xmm4,%xmm3
+	addl	%esi,%ebp
+	xorl	%ecx,%edi
+	movdqa	%xmm9,%xmm10
+	rorl	$7,%ebx
+	paddd	%xmm2,%xmm9
+	addl	%eax,%ebp
+	pxor	%xmm8,%xmm3
+	addl	52(%rsp),%edx
+	xorl	%ebx,%edi
+	movl	%ebp,%esi
+	roll	$5,%ebp
+	movdqa	%xmm3,%xmm8
+	addl	%edi,%edx
+	xorl	%ebx,%esi
+	movdqa	%xmm9,32(%rsp)
+	rorl	$7,%eax
+	addl	%ebp,%edx
+	addl	56(%rsp),%ecx
+	pslld	$2,%xmm3
+	xorl	%eax,%esi
+	movl	%edx,%edi
+	psrld	$30,%xmm8
+	roll	$5,%edx
+	addl	%esi,%ecx
+	xorl	%eax,%edi
+	rorl	$7,%ebp
+	por	%xmm8,%xmm3
+	addl	%edx,%ecx
+	addl	60(%rsp),%ebx
+	xorl	%ebp,%edi
+	movl	%ecx,%esi
+	roll	$5,%ecx
+	addl	%edi,%ebx
+	xorl	%ebp,%esi
+	rorl	$7,%edx
+	addl	%ecx,%ebx
+	addl	0(%rsp),%eax
+	xorl	%edx,%esi
+	movl	%ebx,%edi
+	roll	$5,%ebx
+	paddd	%xmm3,%xmm10
+	addl	%esi,%eax
+	xorl	%edx,%edi
+	movdqa	%xmm10,48(%rsp)
+	rorl	$7,%ecx
+	addl	%ebx,%eax
+	addl	4(%rsp),%ebp
+	xorl	%ecx,%edi
+	movl	%eax,%esi
+	roll	$5,%eax
+	addl	%edi,%ebp
+	xorl	%ecx,%esi
+	rorl	$7,%ebx
+	addl	%eax,%ebp
+	addl	8(%rsp),%edx
+	xorl	%ebx,%esi
+	movl	%ebp,%edi
+	roll	$5,%ebp
+	addl	%esi,%edx
+	xorl	%ebx,%edi
+	rorl	$7,%eax
+	addl	%ebp,%edx
+	addl	12(%rsp),%ecx
+	xorl	%eax,%edi
+	movl	%edx,%esi
+	roll	$5,%edx
+	addl	%edi,%ecx
+	xorl	%eax,%esi
+	rorl	$7,%ebp
+	addl	%edx,%ecx
+	cmpq	%r10,%r9
+	je	.Ldone_ssse3
+	movdqa	64(%r14),%xmm6
+	movdqa	-64(%r14),%xmm9
+	movdqu	0(%r9),%xmm0
+	movdqu	16(%r9),%xmm1
+	movdqu	32(%r9),%xmm2
+	movdqu	48(%r9),%xmm3
+.byte	102,15,56,0,198
+	addq	$64,%r9
+	addl	16(%rsp),%ebx
+	xorl	%ebp,%esi
+	movl	%ecx,%edi
+.byte	102,15,56,0,206
+	roll	$5,%ecx
+	addl	%esi,%ebx
+	xorl	%ebp,%edi
+	rorl	$7,%edx
+	paddd	%xmm9,%xmm0
+	addl	%ecx,%ebx
+	addl	20(%rsp),%eax
+	xorl	%edx,%edi
+	movl	%ebx,%esi
+	movdqa	%xmm0,0(%rsp)
+	roll	$5,%ebx
+	addl	%edi,%eax
+	xorl	%edx,%esi
+	rorl	$7,%ecx
+	psubd	%xmm9,%xmm0
+	addl	%ebx,%eax
+	addl	24(%rsp),%ebp
+	xorl	%ecx,%esi
+	movl	%eax,%edi
+	roll	$5,%eax
+	addl	%esi,%ebp
+	xorl	%ecx,%edi
+	rorl	$7,%ebx
+	addl	%eax,%ebp
+	addl	28(%rsp),%edx
+	xorl	%ebx,%edi
+	movl	%ebp,%esi
+	roll	$5,%ebp
+	addl	%edi,%edx
+	xorl	%ebx,%esi
+	rorl	$7,%eax
+	addl	%ebp,%edx
+	addl	32(%rsp),%ecx
+	xorl	%eax,%esi
+	movl	%edx,%edi
+.byte	102,15,56,0,214
+	roll	$5,%edx
+	addl	%esi,%ecx
+	xorl	%eax,%edi
+	rorl	$7,%ebp
+	paddd	%xmm9,%xmm1
+	addl	%edx,%ecx
+	addl	36(%rsp),%ebx
+	xorl	%ebp,%edi
+	movl	%ecx,%esi
+	movdqa	%xmm1,16(%rsp)
+	roll	$5,%ecx
+	addl	%edi,%ebx
+	xorl	%ebp,%esi
+	rorl	$7,%edx
+	psubd	%xmm9,%xmm1
+	addl	%ecx,%ebx
+	addl	40(%rsp),%eax
+	xorl	%edx,%esi
+	movl	%ebx,%edi
+	roll	$5,%ebx
+	addl	%esi,%eax
+	xorl	%edx,%edi
+	rorl	$7,%ecx
+	addl	%ebx,%eax
+	addl	44(%rsp),%ebp
+	xorl	%ecx,%edi
+	movl	%eax,%esi
+	roll	$5,%eax
+	addl	%edi,%ebp
+	xorl	%ecx,%esi
+	rorl	$7,%ebx
+	addl	%eax,%ebp
+	addl	48(%rsp),%edx
+	xorl	%ebx,%esi
+	movl	%ebp,%edi
+.byte	102,15,56,0,222
+	roll	$5,%ebp
+	addl	%esi,%edx
+	xorl	%ebx,%edi
+	rorl	$7,%eax
+	paddd	%xmm9,%xmm2
+	addl	%ebp,%edx
+	addl	52(%rsp),%ecx
+	xorl	%eax,%edi
+	movl	%edx,%esi
+	movdqa	%xmm2,32(%rsp)
+	roll	$5,%edx
+	addl	%edi,%ecx
+	xorl	%eax,%esi
+	rorl	$7,%ebp
+	psubd	%xmm9,%xmm2
+	addl	%edx,%ecx
+	addl	56(%rsp),%ebx
+	xorl	%ebp,%esi
+	movl	%ecx,%edi
+	roll	$5,%ecx
+	addl	%esi,%ebx
+	xorl	%ebp,%edi
+	rorl	$7,%edx
+	addl	%ecx,%ebx
+	addl	60(%rsp),%eax
+	xorl	%edx,%edi
+	movl	%ebx,%esi
+	roll	$5,%ebx
+	addl	%edi,%eax
+	rorl	$7,%ecx
+	addl	%ebx,%eax
+	addl	0(%r8),%eax
+	addl	4(%r8),%esi
+	addl	8(%r8),%ecx
+	addl	12(%r8),%edx
+	movl	%eax,0(%r8)
+	addl	16(%r8),%ebp
+	movl	%esi,4(%r8)
+	movl	%esi,%ebx
+	movl	%ecx,8(%r8)
+	movl	%ecx,%edi
+	movl	%edx,12(%r8)
+	xorl	%edx,%edi
+	movl	%ebp,16(%r8)
+	andl	%edi,%esi
+	jmp	.Loop_ssse3
+
+.align	16
+.Ldone_ssse3:
+	addl	16(%rsp),%ebx
+	xorl	%ebp,%esi
+	movl	%ecx,%edi
+	roll	$5,%ecx
+	addl	%esi,%ebx
+	xorl	%ebp,%edi
+	rorl	$7,%edx
+	addl	%ecx,%ebx
+	addl	20(%rsp),%eax
+	xorl	%edx,%edi
+	movl	%ebx,%esi
+	roll	$5,%ebx
+	addl	%edi,%eax
+	xorl	%edx,%esi
+	rorl	$7,%ecx
+	addl	%ebx,%eax
+	addl	24(%rsp),%ebp
+	xorl	%ecx,%esi
+	movl	%eax,%edi
+	roll	$5,%eax
+	addl	%esi,%ebp
+	xorl	%ecx,%edi
+	rorl	$7,%ebx
+	addl	%eax,%ebp
+	addl	28(%rsp),%edx
+	xorl	%ebx,%edi
+	movl	%ebp,%esi
+	roll	$5,%ebp
+	addl	%edi,%edx
+	xorl	%ebx,%esi
+	rorl	$7,%eax
+	addl	%ebp,%edx
+	addl	32(%rsp),%ecx
+	xorl	%eax,%esi
+	movl	%edx,%edi
+	roll	$5,%edx
+	addl	%esi,%ecx
+	xorl	%eax,%edi
+	rorl	$7,%ebp
+	addl	%edx,%ecx
+	addl	36(%rsp),%ebx
+	xorl	%ebp,%edi
+	movl	%ecx,%esi
+	roll	$5,%ecx
+	addl	%edi,%ebx
+	xorl	%ebp,%esi
+	rorl	$7,%edx
+	addl	%ecx,%ebx
+	addl	40(%rsp),%eax
+	xorl	%edx,%esi
+	movl	%ebx,%edi
+	roll	$5,%ebx
+	addl	%esi,%eax
+	xorl	%edx,%edi
+	rorl	$7,%ecx
+	addl	%ebx,%eax
+	addl	44(%rsp),%ebp
+	xorl	%ecx,%edi
+	movl	%eax,%esi
+	roll	$5,%eax
+	addl	%edi,%ebp
+	xorl	%ecx,%esi
+	rorl	$7,%ebx
+	addl	%eax,%ebp
+	addl	48(%rsp),%edx
+	xorl	%ebx,%esi
+	movl	%ebp,%edi
+	roll	$5,%ebp
+	addl	%esi,%edx
+	xorl	%ebx,%edi
+	rorl	$7,%eax
+	addl	%ebp,%edx
+	addl	52(%rsp),%ecx
+	xorl	%eax,%edi
+	movl	%edx,%esi
+	roll	$5,%edx
+	addl	%edi,%ecx
+	xorl	%eax,%esi
+	rorl	$7,%ebp
+	addl	%edx,%ecx
+	addl	56(%rsp),%ebx
+	xorl	%ebp,%esi
+	movl	%ecx,%edi
+	roll	$5,%ecx
+	addl	%esi,%ebx
+	xorl	%ebp,%edi
+	rorl	$7,%edx
+	addl	%ecx,%ebx
+	addl	60(%rsp),%eax
+	xorl	%edx,%edi
+	movl	%ebx,%esi
+	roll	$5,%ebx
+	addl	%edi,%eax
+	rorl	$7,%ecx
+	addl	%ebx,%eax
+	addl	0(%r8),%eax
+	addl	4(%r8),%esi
+	addl	8(%r8),%ecx
+	movl	%eax,0(%r8)
+	addl	12(%r8),%edx
+	movl	%esi,4(%r8)
+	addl	16(%r8),%ebp
+	movl	%ecx,8(%r8)
+	movl	%edx,12(%r8)
+	movl	%ebp,16(%r8)
+	movq	-40(%r11),%r14
+	movq	-32(%r11),%r13
+	movq	-24(%r11),%r12
+	movq	-16(%r11),%rbp
+	movq	-8(%r11),%rbx
+	leaq	(%r11),%rsp
+.Lepilogue_ssse3:
+	.byte	0xf3,0xc3
+.size	sha1_block_data_order_ssse3,.-sha1_block_data_order_ssse3
+.type	sha1_block_data_order_avx,@function
+.align	16
+sha1_block_data_order_avx:
+_avx_shortcut:
+	movq	%rsp,%r11
+	pushq	%rbx
+	pushq	%rbp
+	pushq	%r12
+	pushq	%r13
+	pushq	%r14
+	leaq	-64(%rsp),%rsp
+	vzeroupper
+	andq	$-64,%rsp
+	movq	%rdi,%r8
+	movq	%rsi,%r9
+	movq	%rdx,%r10
+
+	shlq	$6,%r10
+	addq	%r9,%r10
+	leaq	K_XX_XX+64(%rip),%r14
+
+	movl	0(%r8),%eax
+	movl	4(%r8),%ebx
+	movl	8(%r8),%ecx
+	movl	12(%r8),%edx
+	movl	%ebx,%esi
+	movl	16(%r8),%ebp
+	movl	%ecx,%edi
+	xorl	%edx,%edi
+	andl	%edi,%esi
+
+	vmovdqa	64(%r14),%xmm6
+	vmovdqa	-64(%r14),%xmm11
+	vmovdqu	0(%r9),%xmm0
+	vmovdqu	16(%r9),%xmm1
+	vmovdqu	32(%r9),%xmm2
+	vmovdqu	48(%r9),%xmm3
+	vpshufb	%xmm6,%xmm0,%xmm0
+	addq	$64,%r9
+	vpshufb	%xmm6,%xmm1,%xmm1
+	vpshufb	%xmm6,%xmm2,%xmm2
+	vpshufb	%xmm6,%xmm3,%xmm3
+	vpaddd	%xmm11,%xmm0,%xmm4
+	vpaddd	%xmm11,%xmm1,%xmm5
+	vpaddd	%xmm11,%xmm2,%xmm6
+	vmovdqa	%xmm4,0(%rsp)
+	vmovdqa	%xmm5,16(%rsp)
+	vmovdqa	%xmm6,32(%rsp)
+	jmp	.Loop_avx
+.align	16
+.Loop_avx:
+	shrdl	$2,%ebx,%ebx
+	xorl	%edx,%esi
+	vpalignr	$8,%xmm0,%xmm1,%xmm4
+	movl	%eax,%edi
+	addl	0(%rsp),%ebp
+	vpaddd	%xmm3,%xmm11,%xmm9
+	xorl	%ecx,%ebx
+	shldl	$5,%eax,%eax
+	vpsrldq	$4,%xmm3,%xmm8
+	addl	%esi,%ebp
+	andl	%ebx,%edi
+	vpxor	%xmm0,%xmm4,%xmm4
+	xorl	%ecx,%ebx
+	addl	%eax,%ebp
+	vpxor	%xmm2,%xmm8,%xmm8
+	shrdl	$7,%eax,%eax
+	xorl	%ecx,%edi
+	movl	%ebp,%esi
+	addl	4(%rsp),%edx
+	vpxor	%xmm8,%xmm4,%xmm4
+	xorl	%ebx,%eax
+	shldl	$5,%ebp,%ebp
+	vmovdqa	%xmm9,48(%rsp)
+	addl	%edi,%edx
+	andl	%eax,%esi
+	vpsrld	$31,%xmm4,%xmm8
+	xorl	%ebx,%eax
+	addl	%ebp,%edx
+	shrdl	$7,%ebp,%ebp
+	xorl	%ebx,%esi
+	vpslldq	$12,%xmm4,%xmm10
+	vpaddd	%xmm4,%xmm4,%xmm4
+	movl	%edx,%edi
+	addl	8(%rsp),%ecx
+	xorl	%eax,%ebp
+	shldl	$5,%edx,%edx
+	vpsrld	$30,%xmm10,%xmm9
+	vpor	%xmm8,%xmm4,%xmm4
+	addl	%esi,%ecx
+	andl	%ebp,%edi
+	xorl	%eax,%ebp
+	addl	%edx,%ecx
+	vpslld	$2,%xmm10,%xmm10
+	vpxor	%xmm9,%xmm4,%xmm4
+	shrdl	$7,%edx,%edx
+	xorl	%eax,%edi
+	movl	%ecx,%esi
+	addl	12(%rsp),%ebx
+	vpxor	%xmm10,%xmm4,%xmm4
+	xorl	%ebp,%edx
+	shldl	$5,%ecx,%ecx
+	addl	%edi,%ebx
+	andl	%edx,%esi
+	xorl	%ebp,%edx
+	addl	%ecx,%ebx
+	shrdl	$7,%ecx,%ecx
+	xorl	%ebp,%esi
+	vpalignr	$8,%xmm1,%xmm2,%xmm5
+	movl	%ebx,%edi
+	addl	16(%rsp),%eax
+	vpaddd	%xmm4,%xmm11,%xmm9
+	xorl	%edx,%ecx
+	shldl	$5,%ebx,%ebx
+	vpsrldq	$4,%xmm4,%xmm8
+	addl	%esi,%eax
+	andl	%ecx,%edi
+	vpxor	%xmm1,%xmm5,%xmm5
+	xorl	%edx,%ecx
+	addl	%ebx,%eax
+	vpxor	%xmm3,%xmm8,%xmm8
+	shrdl	$7,%ebx,%ebx
+	xorl	%edx,%edi
+	movl	%eax,%esi
+	addl	20(%rsp),%ebp
+	vpxor	%xmm8,%xmm5,%xmm5
+	xorl	%ecx,%ebx
+	shldl	$5,%eax,%eax
+	vmovdqa	%xmm9,0(%rsp)
+	addl	%edi,%ebp
+	andl	%ebx,%esi
+	vpsrld	$31,%xmm5,%xmm8
+	xorl	%ecx,%ebx
+	addl	%eax,%ebp
+	shrdl	$7,%eax,%eax
+	xorl	%ecx,%esi
+	vpslldq	$12,%xmm5,%xmm10
+	vpaddd	%xmm5,%xmm5,%xmm5
+	movl	%ebp,%edi
+	addl	24(%rsp),%edx
+	xorl	%ebx,%eax
+	shldl	$5,%ebp,%ebp
+	vpsrld	$30,%xmm10,%xmm9
+	vpor	%xmm8,%xmm5,%xmm5
+	addl	%esi,%edx
+	andl	%eax,%edi
+	xorl	%ebx,%eax
+	addl	%ebp,%edx
+	vpslld	$2,%xmm10,%xmm10
+	vpxor	%xmm9,%xmm5,%xmm5
+	shrdl	$7,%ebp,%ebp
+	xorl	%ebx,%edi
+	movl	%edx,%esi
+	addl	28(%rsp),%ecx
+	vpxor	%xmm10,%xmm5,%xmm5
+	xorl	%eax,%ebp
+	shldl	$5,%edx,%edx
+	vmovdqa	-32(%r14),%xmm11
+	addl	%edi,%ecx
+	andl	%ebp,%esi
+	xorl	%eax,%ebp
+	addl	%edx,%ecx
+	shrdl	$7,%edx,%edx
+	xorl	%eax,%esi
+	vpalignr	$8,%xmm2,%xmm3,%xmm6
+	movl	%ecx,%edi
+	addl	32(%rsp),%ebx
+	vpaddd	%xmm5,%xmm11,%xmm9
+	xorl	%ebp,%edx
+	shldl	$5,%ecx,%ecx
+	vpsrldq	$4,%xmm5,%xmm8
+	addl	%esi,%ebx
+	andl	%edx,%edi
+	vpxor	%xmm2,%xmm6,%xmm6
+	xorl	%ebp,%edx
+	addl	%ecx,%ebx
+	vpxor	%xmm4,%xmm8,%xmm8
+	shrdl	$7,%ecx,%ecx
+	xorl	%ebp,%edi
+	movl	%ebx,%esi
+	addl	36(%rsp),%eax
+	vpxor	%xmm8,%xmm6,%xmm6
+	xorl	%edx,%ecx
+	shldl	$5,%ebx,%ebx
+	vmovdqa	%xmm9,16(%rsp)
+	addl	%edi,%eax
+	andl	%ecx,%esi
+	vpsrld	$31,%xmm6,%xmm8
+	xorl	%edx,%ecx
+	addl	%ebx,%eax
+	shrdl	$7,%ebx,%ebx
+	xorl	%edx,%esi
+	vpslldq	$12,%xmm6,%xmm10
+	vpaddd	%xmm6,%xmm6,%xmm6
+	movl	%eax,%edi
+	addl	40(%rsp),%ebp
+	xorl	%ecx,%ebx
+	shldl	$5,%eax,%eax
+	vpsrld	$30,%xmm10,%xmm9
+	vpor	%xmm8,%xmm6,%xmm6
+	addl	%esi,%ebp
+	andl	%ebx,%edi
+	xorl	%ecx,%ebx
+	addl	%eax,%ebp
+	vpslld	$2,%xmm10,%xmm10
+	vpxor	%xmm9,%xmm6,%xmm6
+	shrdl	$7,%eax,%eax
+	xorl	%ecx,%edi
+	movl	%ebp,%esi
+	addl	44(%rsp),%edx
+	vpxor	%xmm10,%xmm6,%xmm6
+	xorl	%ebx,%eax
+	shldl	$5,%ebp,%ebp
+	addl	%edi,%edx
+	andl	%eax,%esi
+	xorl	%ebx,%eax
+	addl	%ebp,%edx
+	shrdl	$7,%ebp,%ebp
+	xorl	%ebx,%esi
+	vpalignr	$8,%xmm3,%xmm4,%xmm7
+	movl	%edx,%edi
+	addl	48(%rsp),%ecx
+	vpaddd	%xmm6,%xmm11,%xmm9
+	xorl	%eax,%ebp
+	shldl	$5,%edx,%edx
+	vpsrldq	$4,%xmm6,%xmm8
+	addl	%esi,%ecx
+	andl	%ebp,%edi
+	vpxor	%xmm3,%xmm7,%xmm7
+	xorl	%eax,%ebp
+	addl	%edx,%ecx
+	vpxor	%xmm5,%xmm8,%xmm8
+	shrdl	$7,%edx,%edx
+	xorl	%eax,%edi
+	movl	%ecx,%esi
+	addl	52(%rsp),%ebx
+	vpxor	%xmm8,%xmm7,%xmm7
+	xorl	%ebp,%edx
+	shldl	$5,%ecx,%ecx
+	vmovdqa	%xmm9,32(%rsp)
+	addl	%edi,%ebx
+	andl	%edx,%esi
+	vpsrld	$31,%xmm7,%xmm8
+	xorl	%ebp,%edx
+	addl	%ecx,%ebx
+	shrdl	$7,%ecx,%ecx
+	xorl	%ebp,%esi
+	vpslldq	$12,%xmm7,%xmm10
+	vpaddd	%xmm7,%xmm7,%xmm7
+	movl	%ebx,%edi
+	addl	56(%rsp),%eax
+	xorl	%edx,%ecx
+	shldl	$5,%ebx,%ebx
+	vpsrld	$30,%xmm10,%xmm9
+	vpor	%xmm8,%xmm7,%xmm7
+	addl	%esi,%eax
+	andl	%ecx,%edi
+	xorl	%edx,%ecx
+	addl	%ebx,%eax
+	vpslld	$2,%xmm10,%xmm10
+	vpxor	%xmm9,%xmm7,%xmm7
+	shrdl	$7,%ebx,%ebx
+	xorl	%edx,%edi
+	movl	%eax,%esi
+	addl	60(%rsp),%ebp
+	vpxor	%xmm10,%xmm7,%xmm7
+	xorl	%ecx,%ebx
+	shldl	$5,%eax,%eax
+	addl	%edi,%ebp
+	andl	%ebx,%esi
+	xorl	%ecx,%ebx
+	addl	%eax,%ebp
+	vpalignr	$8,%xmm6,%xmm7,%xmm8
+	vpxor	%xmm4,%xmm0,%xmm0
+	shrdl	$7,%eax,%eax
+	xorl	%ecx,%esi
+	movl	%ebp,%edi
+	addl	0(%rsp),%edx
+	vpxor	%xmm1,%xmm0,%xmm0
+	xorl	%ebx,%eax
+	shldl	$5,%ebp,%ebp
+	vpaddd	%xmm7,%xmm11,%xmm9
+	addl	%esi,%edx
+	andl	%eax,%edi
+	vpxor	%xmm8,%xmm0,%xmm0
+	xorl	%ebx,%eax
+	addl	%ebp,%edx
+	shrdl	$7,%ebp,%ebp
+	xorl	%ebx,%edi
+	vpsrld	$30,%xmm0,%xmm8
+	vmovdqa	%xmm9,48(%rsp)
+	movl	%edx,%esi
+	addl	4(%rsp),%ecx
+	xorl	%eax,%ebp
+	shldl	$5,%edx,%edx
+	vpslld	$2,%xmm0,%xmm0
+	addl	%edi,%ecx
+	andl	%ebp,%esi
+	xorl	%eax,%ebp
+	addl	%edx,%ecx
+	shrdl	$7,%edx,%edx
+	xorl	%eax,%esi
+	movl	%ecx,%edi
+	addl	8(%rsp),%ebx
+	vpor	%xmm8,%xmm0,%xmm0
+	xorl	%ebp,%edx
+	shldl	$5,%ecx,%ecx
+	addl	%esi,%ebx
+	andl	%edx,%edi
+	xorl	%ebp,%edx
+	addl	%ecx,%ebx
+	addl	12(%rsp),%eax
+	xorl	%ebp,%edi
+	movl	%ebx,%esi
+	shldl	$5,%ebx,%ebx
+	addl	%edi,%eax
+	xorl	%edx,%esi
+	shrdl	$7,%ecx,%ecx
+	addl	%ebx,%eax
+	vpalignr	$8,%xmm7,%xmm0,%xmm8
+	vpxor	%xmm5,%xmm1,%xmm1
+	addl	16(%rsp),%ebp
+	xorl	%ecx,%esi
+	movl	%eax,%edi
+	shldl	$5,%eax,%eax
+	vpxor	%xmm2,%xmm1,%xmm1
+	addl	%esi,%ebp
+	xorl	%ecx,%edi
+	vpaddd	%xmm0,%xmm11,%xmm9
+	shrdl	$7,%ebx,%ebx
+	addl	%eax,%ebp
+	vpxor	%xmm8,%xmm1,%xmm1
+	addl	20(%rsp),%edx
+	xorl	%ebx,%edi
+	movl	%ebp,%esi
+	shldl	$5,%ebp,%ebp
+	vpsrld	$30,%xmm1,%xmm8
+	vmovdqa	%xmm9,0(%rsp)
+	addl	%edi,%edx
+	xorl	%ebx,%esi
+	shrdl	$7,%eax,%eax
+	addl	%ebp,%edx
+	vpslld	$2,%xmm1,%xmm1
+	addl	24(%rsp),%ecx
+	xorl	%eax,%esi
+	movl	%edx,%edi
+	shldl	$5,%edx,%edx
+	addl	%esi,%ecx
+	xorl	%eax,%edi
+	shrdl	$7,%ebp,%ebp
+	addl	%edx,%ecx
+	vpor	%xmm8,%xmm1,%xmm1
+	addl	28(%rsp),%ebx
+	xorl	%ebp,%edi
+	movl	%ecx,%esi
+	shldl	$5,%ecx,%ecx
+	addl	%edi,%ebx
+	xorl	%ebp,%esi
+	shrdl	$7,%edx,%edx
+	addl	%ecx,%ebx
+	vpalignr	$8,%xmm0,%xmm1,%xmm8
+	vpxor	%xmm6,%xmm2,%xmm2
+	addl	32(%rsp),%eax
+	xorl	%edx,%esi
+	movl	%ebx,%edi
+	shldl	$5,%ebx,%ebx
+	vpxor	%xmm3,%xmm2,%xmm2
+	addl	%esi,%eax
+	xorl	%edx,%edi
+	vpaddd	%xmm1,%xmm11,%xmm9
+	vmovdqa	0(%r14),%xmm11
+	shrdl	$7,%ecx,%ecx
+	addl	%ebx,%eax
+	vpxor	%xmm8,%xmm2,%xmm2
+	addl	36(%rsp),%ebp
+	xorl	%ecx,%edi
+	movl	%eax,%esi
+	shldl	$5,%eax,%eax
+	vpsrld	$30,%xmm2,%xmm8
+	vmovdqa	%xmm9,16(%rsp)
+	addl	%edi,%ebp
+	xorl	%ecx,%esi
+	shrdl	$7,%ebx,%ebx
+	addl	%eax,%ebp
+	vpslld	$2,%xmm2,%xmm2
+	addl	40(%rsp),%edx
+	xorl	%ebx,%esi
+	movl	%ebp,%edi
+	shldl	$5,%ebp,%ebp
+	addl	%esi,%edx
+	xorl	%ebx,%edi
+	shrdl	$7,%eax,%eax
+	addl	%ebp,%edx
+	vpor	%xmm8,%xmm2,%xmm2
+	addl	44(%rsp),%ecx
+	xorl	%eax,%edi
+	movl	%edx,%esi
+	shldl	$5,%edx,%edx
+	addl	%edi,%ecx
+	xorl	%eax,%esi
+	shrdl	$7,%ebp,%ebp
+	addl	%edx,%ecx
+	vpalignr	$8,%xmm1,%xmm2,%xmm8
+	vpxor	%xmm7,%xmm3,%xmm3
+	addl	48(%rsp),%ebx
+	xorl	%ebp,%esi
+	movl	%ecx,%edi
+	shldl	$5,%ecx,%ecx
+	vpxor	%xmm4,%xmm3,%xmm3
+	addl	%esi,%ebx
+	xorl	%ebp,%edi
+	vpaddd	%xmm2,%xmm11,%xmm9
+	shrdl	$7,%edx,%edx
+	addl	%ecx,%ebx
+	vpxor	%xmm8,%xmm3,%xmm3
+	addl	52(%rsp),%eax
+	xorl	%edx,%edi
+	movl	%ebx,%esi
+	shldl	$5,%ebx,%ebx
+	vpsrld	$30,%xmm3,%xmm8
+	vmovdqa	%xmm9,32(%rsp)
+	addl	%edi,%eax
+	xorl	%edx,%esi
+	shrdl	$7,%ecx,%ecx
+	addl	%ebx,%eax
+	vpslld	$2,%xmm3,%xmm3
+	addl	56(%rsp),%ebp
+	xorl	%ecx,%esi
+	movl	%eax,%edi
+	shldl	$5,%eax,%eax
+	addl	%esi,%ebp
+	xorl	%ecx,%edi
+	shrdl	$7,%ebx,%ebx
+	addl	%eax,%ebp
+	vpor	%xmm8,%xmm3,%xmm3
+	addl	60(%rsp),%edx
+	xorl	%ebx,%edi
+	movl	%ebp,%esi
+	shldl	$5,%ebp,%ebp
+	addl	%edi,%edx
+	xorl	%ebx,%esi
+	shrdl	$7,%eax,%eax
+	addl	%ebp,%edx
+	vpalignr	$8,%xmm2,%xmm3,%xmm8
+	vpxor	%xmm0,%xmm4,%xmm4
+	addl	0(%rsp),%ecx
+	xorl	%eax,%esi
+	movl	%edx,%edi
+	shldl	$5,%edx,%edx
+	vpxor	%xmm5,%xmm4,%xmm4
+	addl	%esi,%ecx
+	xorl	%eax,%edi
+	vpaddd	%xmm3,%xmm11,%xmm9
+	shrdl	$7,%ebp,%ebp
+	addl	%edx,%ecx
+	vpxor	%xmm8,%xmm4,%xmm4
+	addl	4(%rsp),%ebx
+	xorl	%ebp,%edi
+	movl	%ecx,%esi
+	shldl	$5,%ecx,%ecx
+	vpsrld	$30,%xmm4,%xmm8
+	vmovdqa	%xmm9,48(%rsp)
+	addl	%edi,%ebx
+	xorl	%ebp,%esi
+	shrdl	$7,%edx,%edx
+	addl	%ecx,%ebx
+	vpslld	$2,%xmm4,%xmm4
+	addl	8(%rsp),%eax
+	xorl	%edx,%esi
+	movl	%ebx,%edi
+	shldl	$5,%ebx,%ebx
+	addl	%esi,%eax
+	xorl	%edx,%edi
+	shrdl	$7,%ecx,%ecx
+	addl	%ebx,%eax
+	vpor	%xmm8,%xmm4,%xmm4
+	addl	12(%rsp),%ebp
+	xorl	%ecx,%edi
+	movl	%eax,%esi
+	shldl	$5,%eax,%eax
+	addl	%edi,%ebp
+	xorl	%ecx,%esi
+	shrdl	$7,%ebx,%ebx
+	addl	%eax,%ebp
+	vpalignr	$8,%xmm3,%xmm4,%xmm8
+	vpxor	%xmm1,%xmm5,%xmm5
+	addl	16(%rsp),%edx
+	xorl	%ebx,%esi
+	movl	%ebp,%edi
+	shldl	$5,%ebp,%ebp
+	vpxor	%xmm6,%xmm5,%xmm5
+	addl	%esi,%edx
+	xorl	%ebx,%edi
+	vpaddd	%xmm4,%xmm11,%xmm9
+	shrdl	$7,%eax,%eax
+	addl	%ebp,%edx
+	vpxor	%xmm8,%xmm5,%xmm5
+	addl	20(%rsp),%ecx
+	xorl	%eax,%edi
+	movl	%edx,%esi
+	shldl	$5,%edx,%edx
+	vpsrld	$30,%xmm5,%xmm8
+	vmovdqa	%xmm9,0(%rsp)
+	addl	%edi,%ecx
+	xorl	%eax,%esi
+	shrdl	$7,%ebp,%ebp
+	addl	%edx,%ecx
+	vpslld	$2,%xmm5,%xmm5
+	addl	24(%rsp),%ebx
+	xorl	%ebp,%esi
+	movl	%ecx,%edi
+	shldl	$5,%ecx,%ecx
+	addl	%esi,%ebx
+	xorl	%ebp,%edi
+	shrdl	$7,%edx,%edx
+	addl	%ecx,%ebx
+	vpor	%xmm8,%xmm5,%xmm5
+	addl	28(%rsp),%eax
+	shrdl	$7,%ecx,%ecx
+	movl	%ebx,%esi
+	xorl	%edx,%edi
+	shldl	$5,%ebx,%ebx
+	addl	%edi,%eax
+	xorl	%ecx,%esi
+	xorl	%edx,%ecx
+	addl	%ebx,%eax
+	vpalignr	$8,%xmm4,%xmm5,%xmm8
+	vpxor	%xmm2,%xmm6,%xmm6
+	addl	32(%rsp),%ebp
+	andl	%ecx,%esi
+	xorl	%edx,%ecx
+	shrdl	$7,%ebx,%ebx
+	vpxor	%xmm7,%xmm6,%xmm6
+	movl	%eax,%edi
+	xorl	%ecx,%esi
+	vpaddd	%xmm5,%xmm11,%xmm9
+	shldl	$5,%eax,%eax
+	addl	%esi,%ebp
+	vpxor	%xmm8,%xmm6,%xmm6
+	xorl	%ebx,%edi
+	xorl	%ecx,%ebx
+	addl	%eax,%ebp
+	addl	36(%rsp),%edx
+	vpsrld	$30,%xmm6,%xmm8
+	vmovdqa	%xmm9,16(%rsp)
+	andl	%ebx,%edi
+	xorl	%ecx,%ebx
+	shrdl	$7,%eax,%eax
+	movl	%ebp,%esi
+	vpslld	$2,%xmm6,%xmm6
+	xorl	%ebx,%edi
+	shldl	$5,%ebp,%ebp
+	addl	%edi,%edx
+	xorl	%eax,%esi
+	xorl	%ebx,%eax
+	addl	%ebp,%edx
+	addl	40(%rsp),%ecx
+	andl	%eax,%esi
+	vpor	%xmm8,%xmm6,%xmm6
+	xorl	%ebx,%eax
+	shrdl	$7,%ebp,%ebp
+	movl	%edx,%edi
+	xorl	%eax,%esi
+	shldl	$5,%edx,%edx
+	addl	%esi,%ecx
+	xorl	%ebp,%edi
+	xorl	%eax,%ebp
+	addl	%edx,%ecx
+	addl	44(%rsp),%ebx
+	andl	%ebp,%edi
+	xorl	%eax,%ebp
+	shrdl	$7,%edx,%edx
+	movl	%ecx,%esi
+	xorl	%ebp,%edi
+	shldl	$5,%ecx,%ecx
+	addl	%edi,%ebx
+	xorl	%edx,%esi
+	xorl	%ebp,%edx
+	addl	%ecx,%ebx
+	vpalignr	$8,%xmm5,%xmm6,%xmm8
+	vpxor	%xmm3,%xmm7,%xmm7
+	addl	48(%rsp),%eax
+	andl	%edx,%esi
+	xorl	%ebp,%edx
+	shrdl	$7,%ecx,%ecx
+	vpxor	%xmm0,%xmm7,%xmm7
+	movl	%ebx,%edi
+	xorl	%edx,%esi
+	vpaddd	%xmm6,%xmm11,%xmm9
+	vmovdqa	32(%r14),%xmm11
+	shldl	$5,%ebx,%ebx
+	addl	%esi,%eax
+	vpxor	%xmm8,%xmm7,%xmm7
+	xorl	%ecx,%edi
+	xorl	%edx,%ecx
+	addl	%ebx,%eax
+	addl	52(%rsp),%ebp
+	vpsrld	$30,%xmm7,%xmm8
+	vmovdqa	%xmm9,32(%rsp)
+	andl	%ecx,%edi
+	xorl	%edx,%ecx
+	shrdl	$7,%ebx,%ebx
+	movl	%eax,%esi
+	vpslld	$2,%xmm7,%xmm7
+	xorl	%ecx,%edi
+	shldl	$5,%eax,%eax
+	addl	%edi,%ebp
+	xorl	%ebx,%esi
+	xorl	%ecx,%ebx
+	addl	%eax,%ebp
+	addl	56(%rsp),%edx
+	andl	%ebx,%esi
+	vpor	%xmm8,%xmm7,%xmm7
+	xorl	%ecx,%ebx
+	shrdl	$7,%eax,%eax
+	movl	%ebp,%edi
+	xorl	%ebx,%esi
+	shldl	$5,%ebp,%ebp
+	addl	%esi,%edx
+	xorl	%eax,%edi
+	xorl	%ebx,%eax
+	addl	%ebp,%edx
+	addl	60(%rsp),%ecx
+	andl	%eax,%edi
+	xorl	%ebx,%eax
+	shrdl	$7,%ebp,%ebp
+	movl	%edx,%esi
+	xorl	%eax,%edi
+	shldl	$5,%edx,%edx
+	addl	%edi,%ecx
+	xorl	%ebp,%esi
+	xorl	%eax,%ebp
+	addl	%edx,%ecx
+	vpalignr	$8,%xmm6,%xmm7,%xmm8
+	vpxor	%xmm4,%xmm0,%xmm0
+	addl	0(%rsp),%ebx
+	andl	%ebp,%esi
+	xorl	%eax,%ebp
+	shrdl	$7,%edx,%edx
+	vpxor	%xmm1,%xmm0,%xmm0
+	movl	%ecx,%edi
+	xorl	%ebp,%esi
+	vpaddd	%xmm7,%xmm11,%xmm9
+	shldl	$5,%ecx,%ecx
+	addl	%esi,%ebx
+	vpxor	%xmm8,%xmm0,%xmm0
+	xorl	%edx,%edi
+	xorl	%ebp,%edx
+	addl	%ecx,%ebx
+	addl	4(%rsp),%eax
+	vpsrld	$30,%xmm0,%xmm8
+	vmovdqa	%xmm9,48(%rsp)
+	andl	%edx,%edi
+	xorl	%ebp,%edx
+	shrdl	$7,%ecx,%ecx
+	movl	%ebx,%esi
+	vpslld	$2,%xmm0,%xmm0
+	xorl	%edx,%edi
+	shldl	$5,%ebx,%ebx
+	addl	%edi,%eax
+	xorl	%ecx,%esi
+	xorl	%edx,%ecx
+	addl	%ebx,%eax
+	addl	8(%rsp),%ebp
+	andl	%ecx,%esi
+	vpor	%xmm8,%xmm0,%xmm0
+	xorl	%edx,%ecx
+	shrdl	$7,%ebx,%ebx
+	movl	%eax,%edi
+	xorl	%ecx,%esi
+	shldl	$5,%eax,%eax
+	addl	%esi,%ebp
+	xorl	%ebx,%edi
+	xorl	%ecx,%ebx
+	addl	%eax,%ebp
+	addl	12(%rsp),%edx
+	andl	%ebx,%edi
+	xorl	%ecx,%ebx
+	shrdl	$7,%eax,%eax
+	movl	%ebp,%esi
+	xorl	%ebx,%edi
+	shldl	$5,%ebp,%ebp
+	addl	%edi,%edx
+	xorl	%eax,%esi
+	xorl	%ebx,%eax
+	addl	%ebp,%edx
+	vpalignr	$8,%xmm7,%xmm0,%xmm8
+	vpxor	%xmm5,%xmm1,%xmm1
+	addl	16(%rsp),%ecx
+	andl	%eax,%esi
+	xorl	%ebx,%eax
+	shrdl	$7,%ebp,%ebp
+	vpxor	%xmm2,%xmm1,%xmm1
+	movl	%edx,%edi
+	xorl	%eax,%esi
+	vpaddd	%xmm0,%xmm11,%xmm9
+	shldl	$5,%edx,%edx
+	addl	%esi,%ecx
+	vpxor	%xmm8,%xmm1,%xmm1
+	xorl	%ebp,%edi
+	xorl	%eax,%ebp
+	addl	%edx,%ecx
+	addl	20(%rsp),%ebx
+	vpsrld	$30,%xmm1,%xmm8
+	vmovdqa	%xmm9,0(%rsp)
+	andl	%ebp,%edi
+	xorl	%eax,%ebp
+	shrdl	$7,%edx,%edx
+	movl	%ecx,%esi
+	vpslld	$2,%xmm1,%xmm1
+	xorl	%ebp,%edi
+	shldl	$5,%ecx,%ecx
+	addl	%edi,%ebx
+	xorl	%edx,%esi
+	xorl	%ebp,%edx
+	addl	%ecx,%ebx
+	addl	24(%rsp),%eax
+	andl	%edx,%esi
+	vpor	%xmm8,%xmm1,%xmm1
+	xorl	%ebp,%edx
+	shrdl	$7,%ecx,%ecx
+	movl	%ebx,%edi
+	xorl	%edx,%esi
+	shldl	$5,%ebx,%ebx
+	addl	%esi,%eax
+	xorl	%ecx,%edi
+	xorl	%edx,%ecx
+	addl	%ebx,%eax
+	addl	28(%rsp),%ebp
+	andl	%ecx,%edi
+	xorl	%edx,%ecx
+	shrdl	$7,%ebx,%ebx
+	movl	%eax,%esi
+	xorl	%ecx,%edi
+	shldl	$5,%eax,%eax
+	addl	%edi,%ebp
+	xorl	%ebx,%esi
+	xorl	%ecx,%ebx
+	addl	%eax,%ebp
+	vpalignr	$8,%xmm0,%xmm1,%xmm8
+	vpxor	%xmm6,%xmm2,%xmm2
+	addl	32(%rsp),%edx
+	andl	%ebx,%esi
+	xorl	%ecx,%ebx
+	shrdl	$7,%eax,%eax
+	vpxor	%xmm3,%xmm2,%xmm2
+	movl	%ebp,%edi
+	xorl	%ebx,%esi
+	vpaddd	%xmm1,%xmm11,%xmm9
+	shldl	$5,%ebp,%ebp
+	addl	%esi,%edx
+	vpxor	%xmm8,%xmm2,%xmm2
+	xorl	%eax,%edi
+	xorl	%ebx,%eax
+	addl	%ebp,%edx
+	addl	36(%rsp),%ecx
+	vpsrld	$30,%xmm2,%xmm8
+	vmovdqa	%xmm9,16(%rsp)
+	andl	%eax,%edi
+	xorl	%ebx,%eax
+	shrdl	$7,%ebp,%ebp
+	movl	%edx,%esi
+	vpslld	$2,%xmm2,%xmm2
+	xorl	%eax,%edi
+	shldl	$5,%edx,%edx
+	addl	%edi,%ecx
+	xorl	%ebp,%esi
+	xorl	%eax,%ebp
+	addl	%edx,%ecx
+	addl	40(%rsp),%ebx
+	andl	%ebp,%esi
+	vpor	%xmm8,%xmm2,%xmm2
+	xorl	%eax,%ebp
+	shrdl	$7,%edx,%edx
+	movl	%ecx,%edi
+	xorl	%ebp,%esi
+	shldl	$5,%ecx,%ecx
+	addl	%esi,%ebx
+	xorl	%edx,%edi
+	xorl	%ebp,%edx
+	addl	%ecx,%ebx
+	addl	44(%rsp),%eax
+	andl	%edx,%edi
+	xorl	%ebp,%edx
+	shrdl	$7,%ecx,%ecx
+	movl	%ebx,%esi
+	xorl	%edx,%edi
+	shldl	$5,%ebx,%ebx
+	addl	%edi,%eax
+	xorl	%edx,%esi
+	addl	%ebx,%eax
+	vpalignr	$8,%xmm1,%xmm2,%xmm8
+	vpxor	%xmm7,%xmm3,%xmm3
+	addl	48(%rsp),%ebp
+	xorl	%ecx,%esi
+	movl	%eax,%edi
+	shldl	$5,%eax,%eax
+	vpxor	%xmm4,%xmm3,%xmm3
+	addl	%esi,%ebp
+	xorl	%ecx,%edi
+	vpaddd	%xmm2,%xmm11,%xmm9
+	shrdl	$7,%ebx,%ebx
+	addl	%eax,%ebp
+	vpxor	%xmm8,%xmm3,%xmm3
+	addl	52(%rsp),%edx
+	xorl	%ebx,%edi
+	movl	%ebp,%esi
+	shldl	$5,%ebp,%ebp
+	vpsrld	$30,%xmm3,%xmm8
+	vmovdqa	%xmm9,32(%rsp)
+	addl	%edi,%edx
+	xorl	%ebx,%esi
+	shrdl	$7,%eax,%eax
+	addl	%ebp,%edx
+	vpslld	$2,%xmm3,%xmm3
+	addl	56(%rsp),%ecx
+	xorl	%eax,%esi
+	movl	%edx,%edi
+	shldl	$5,%edx,%edx
+	addl	%esi,%ecx
+	xorl	%eax,%edi
+	shrdl	$7,%ebp,%ebp
+	addl	%edx,%ecx
+	vpor	%xmm8,%xmm3,%xmm3
+	addl	60(%rsp),%ebx
+	xorl	%ebp,%edi
+	movl	%ecx,%esi
+	shldl	$5,%ecx,%ecx
+	addl	%edi,%ebx
+	xorl	%ebp,%esi
+	shrdl	$7,%edx,%edx
+	addl	%ecx,%ebx
+	addl	0(%rsp),%eax
+	vpaddd	%xmm3,%xmm11,%xmm9
+	xorl	%edx,%esi
+	movl	%ebx,%edi
+	shldl	$5,%ebx,%ebx
+	addl	%esi,%eax
+	vmovdqa	%xmm9,48(%rsp)
+	xorl	%edx,%edi
+	shrdl	$7,%ecx,%ecx
+	addl	%ebx,%eax
+	addl	4(%rsp),%ebp
+	xorl	%ecx,%edi
+	movl	%eax,%esi
+	shldl	$5,%eax,%eax
+	addl	%edi,%ebp
+	xorl	%ecx,%esi
+	shrdl	$7,%ebx,%ebx
+	addl	%eax,%ebp
+	addl	8(%rsp),%edx
+	xorl	%ebx,%esi
+	movl	%ebp,%edi
+	shldl	$5,%ebp,%ebp
+	addl	%esi,%edx
+	xorl	%ebx,%edi
+	shrdl	$7,%eax,%eax
+	addl	%ebp,%edx
+	addl	12(%rsp),%ecx
+	xorl	%eax,%edi
+	movl	%edx,%esi
+	shldl	$5,%edx,%edx
+	addl	%edi,%ecx
+	xorl	%eax,%esi
+	shrdl	$7,%ebp,%ebp
+	addl	%edx,%ecx
+	cmpq	%r10,%r9
+	je	.Ldone_avx
+	vmovdqa	64(%r14),%xmm6
+	vmovdqa	-64(%r14),%xmm11
+	vmovdqu	0(%r9),%xmm0
+	vmovdqu	16(%r9),%xmm1
+	vmovdqu	32(%r9),%xmm2
+	vmovdqu	48(%r9),%xmm3
+	vpshufb	%xmm6,%xmm0,%xmm0
+	addq	$64,%r9
+	addl	16(%rsp),%ebx
+	xorl	%ebp,%esi
+	vpshufb	%xmm6,%xmm1,%xmm1
+	movl	%ecx,%edi
+	shldl	$5,%ecx,%ecx
+	vpaddd	%xmm11,%xmm0,%xmm4
+	addl	%esi,%ebx
+	xorl	%ebp,%edi
+	shrdl	$7,%edx,%edx
+	addl	%ecx,%ebx
+	vmovdqa	%xmm4,0(%rsp)
+	addl	20(%rsp),%eax
+	xorl	%edx,%edi
+	movl	%ebx,%esi
+	shldl	$5,%ebx,%ebx
+	addl	%edi,%eax
+	xorl	%edx,%esi
+	shrdl	$7,%ecx,%ecx
+	addl	%ebx,%eax
+	addl	24(%rsp),%ebp
+	xorl	%ecx,%esi
+	movl	%eax,%edi
+	shldl	$5,%eax,%eax
+	addl	%esi,%ebp
+	xorl	%ecx,%edi
+	shrdl	$7,%ebx,%ebx
+	addl	%eax,%ebp
+	addl	28(%rsp),%edx
+	xorl	%ebx,%edi
+	movl	%ebp,%esi
+	shldl	$5,%ebp,%ebp
+	addl	%edi,%edx
+	xorl	%ebx,%esi
+	shrdl	$7,%eax,%eax
+	addl	%ebp,%edx
+	addl	32(%rsp),%ecx
+	xorl	%eax,%esi
+	vpshufb	%xmm6,%xmm2,%xmm2
+	movl	%edx,%edi
+	shldl	$5,%edx,%edx
+	vpaddd	%xmm11,%xmm1,%xmm5
+	addl	%esi,%ecx
+	xorl	%eax,%edi
+	shrdl	$7,%ebp,%ebp
+	addl	%edx,%ecx
+	vmovdqa	%xmm5,16(%rsp)
+	addl	36(%rsp),%ebx
+	xorl	%ebp,%edi
+	movl	%ecx,%esi
+	shldl	$5,%ecx,%ecx
+	addl	%edi,%ebx
+	xorl	%ebp,%esi
+	shrdl	$7,%edx,%edx
+	addl	%ecx,%ebx
+	addl	40(%rsp),%eax
+	xorl	%edx,%esi
+	movl	%ebx,%edi
+	shldl	$5,%ebx,%ebx
+	addl	%esi,%eax
+	xorl	%edx,%edi
+	shrdl	$7,%ecx,%ecx
+	addl	%ebx,%eax
+	addl	44(%rsp),%ebp
+	xorl	%ecx,%edi
+	movl	%eax,%esi
+	shldl	$5,%eax,%eax
+	addl	%edi,%ebp
+	xorl	%ecx,%esi
+	shrdl	$7,%ebx,%ebx
+	addl	%eax,%ebp
+	addl	48(%rsp),%edx
+	xorl	%ebx,%esi
+	vpshufb	%xmm6,%xmm3,%xmm3
+	movl	%ebp,%edi
+	shldl	$5,%ebp,%ebp
+	vpaddd	%xmm11,%xmm2,%xmm6
+	addl	%esi,%edx
+	xorl	%ebx,%edi
+	shrdl	$7,%eax,%eax
+	addl	%ebp,%edx
+	vmovdqa	%xmm6,32(%rsp)
+	addl	52(%rsp),%ecx
+	xorl	%eax,%edi
+	movl	%edx,%esi
+	shldl	$5,%edx,%edx
+	addl	%edi,%ecx
+	xorl	%eax,%esi
+	shrdl	$7,%ebp,%ebp
+	addl	%edx,%ecx
+	addl	56(%rsp),%ebx
+	xorl	%ebp,%esi
+	movl	%ecx,%edi
+	shldl	$5,%ecx,%ecx
+	addl	%esi,%ebx
+	xorl	%ebp,%edi
+	shrdl	$7,%edx,%edx
+	addl	%ecx,%ebx
+	addl	60(%rsp),%eax
+	xorl	%edx,%edi
+	movl	%ebx,%esi
+	shldl	$5,%ebx,%ebx
+	addl	%edi,%eax
+	shrdl	$7,%ecx,%ecx
+	addl	%ebx,%eax
+	addl	0(%r8),%eax
+	addl	4(%r8),%esi
+	addl	8(%r8),%ecx
+	addl	12(%r8),%edx
+	movl	%eax,0(%r8)
+	addl	16(%r8),%ebp
+	movl	%esi,4(%r8)
+	movl	%esi,%ebx
+	movl	%ecx,8(%r8)
+	movl	%ecx,%edi
+	movl	%edx,12(%r8)
+	xorl	%edx,%edi
+	movl	%ebp,16(%r8)
+	andl	%edi,%esi
+	jmp	.Loop_avx
+
+.align	16
+.Ldone_avx:
+	addl	16(%rsp),%ebx
+	xorl	%ebp,%esi
+	movl	%ecx,%edi
+	shldl	$5,%ecx,%ecx
+	addl	%esi,%ebx
+	xorl	%ebp,%edi
+	shrdl	$7,%edx,%edx
+	addl	%ecx,%ebx
+	addl	20(%rsp),%eax
+	xorl	%edx,%edi
+	movl	%ebx,%esi
+	shldl	$5,%ebx,%ebx
+	addl	%edi,%eax
+	xorl	%edx,%esi
+	shrdl	$7,%ecx,%ecx
+	addl	%ebx,%eax
+	addl	24(%rsp),%ebp
+	xorl	%ecx,%esi
+	movl	%eax,%edi
+	shldl	$5,%eax,%eax
+	addl	%esi,%ebp
+	xorl	%ecx,%edi
+	shrdl	$7,%ebx,%ebx
+	addl	%eax,%ebp
+	addl	28(%rsp),%edx
+	xorl	%ebx,%edi
+	movl	%ebp,%esi
+	shldl	$5,%ebp,%ebp
+	addl	%edi,%edx
+	xorl	%ebx,%esi
+	shrdl	$7,%eax,%eax
+	addl	%ebp,%edx
+	addl	32(%rsp),%ecx
+	xorl	%eax,%esi
+	movl	%edx,%edi
+	shldl	$5,%edx,%edx
+	addl	%esi,%ecx
+	xorl	%eax,%edi
+	shrdl	$7,%ebp,%ebp
+	addl	%edx,%ecx
+	addl	36(%rsp),%ebx
+	xorl	%ebp,%edi
+	movl	%ecx,%esi
+	shldl	$5,%ecx,%ecx
+	addl	%edi,%ebx
+	xorl	%ebp,%esi
+	shrdl	$7,%edx,%edx
+	addl	%ecx,%ebx
+	addl	40(%rsp),%eax
+	xorl	%edx,%esi
+	movl	%ebx,%edi
+	shldl	$5,%ebx,%ebx
+	addl	%esi,%eax
+	xorl	%edx,%edi
+	shrdl	$7,%ecx,%ecx
+	addl	%ebx,%eax
+	addl	44(%rsp),%ebp
+	xorl	%ecx,%edi
+	movl	%eax,%esi
+	shldl	$5,%eax,%eax
+	addl	%edi,%ebp
+	xorl	%ecx,%esi
+	shrdl	$7,%ebx,%ebx
+	addl	%eax,%ebp
+	addl	48(%rsp),%edx
+	xorl	%ebx,%esi
+	movl	%ebp,%edi
+	shldl	$5,%ebp,%ebp
+	addl	%esi,%edx
+	xorl	%ebx,%edi
+	shrdl	$7,%eax,%eax
+	addl	%ebp,%edx
+	addl	52(%rsp),%ecx
+	xorl	%eax,%edi
+	movl	%edx,%esi
+	shldl	$5,%edx,%edx
+	addl	%edi,%ecx
+	xorl	%eax,%esi
+	shrdl	$7,%ebp,%ebp
+	addl	%edx,%ecx
+	addl	56(%rsp),%ebx
+	xorl	%ebp,%esi
+	movl	%ecx,%edi
+	shldl	$5,%ecx,%ecx
+	addl	%esi,%ebx
+	xorl	%ebp,%edi
+	shrdl	$7,%edx,%edx
+	addl	%ecx,%ebx
+	addl	60(%rsp),%eax
+	xorl	%edx,%edi
+	movl	%ebx,%esi
+	shldl	$5,%ebx,%ebx
+	addl	%edi,%eax
+	shrdl	$7,%ecx,%ecx
+	addl	%ebx,%eax
+	vzeroupper
+
+	addl	0(%r8),%eax
+	addl	4(%r8),%esi
+	addl	8(%r8),%ecx
+	movl	%eax,0(%r8)
+	addl	12(%r8),%edx
+	movl	%esi,4(%r8)
+	addl	16(%r8),%ebp
+	movl	%ecx,8(%r8)
+	movl	%edx,12(%r8)
+	movl	%ebp,16(%r8)
+	movq	-40(%r11),%r14
+	movq	-32(%r11),%r13
+	movq	-24(%r11),%r12
+	movq	-16(%r11),%rbp
+	movq	-8(%r11),%rbx
+	leaq	(%r11),%rsp
+.Lepilogue_avx:
+	.byte	0xf3,0xc3
+.size	sha1_block_data_order_avx,.-sha1_block_data_order_avx
+.align	64
+K_XX_XX:
+.long	0x5a827999,0x5a827999,0x5a827999,0x5a827999
+.long	0x5a827999,0x5a827999,0x5a827999,0x5a827999
+.long	0x6ed9eba1,0x6ed9eba1,0x6ed9eba1,0x6ed9eba1
+.long	0x6ed9eba1,0x6ed9eba1,0x6ed9eba1,0x6ed9eba1
+.long	0x8f1bbcdc,0x8f1bbcdc,0x8f1bbcdc,0x8f1bbcdc
+.long	0x8f1bbcdc,0x8f1bbcdc,0x8f1bbcdc,0x8f1bbcdc
+.long	0xca62c1d6,0xca62c1d6,0xca62c1d6,0xca62c1d6
+.long	0xca62c1d6,0xca62c1d6,0xca62c1d6,0xca62c1d6
+.long	0x00010203,0x04050607,0x08090a0b,0x0c0d0e0f
+.long	0x00010203,0x04050607,0x08090a0b,0x0c0d0e0f
+.byte	0xf,0xe,0xd,0xc,0xb,0xa,0x9,0x8,0x7,0x6,0x5,0x4,0x3,0x2,0x1,0x0
+.byte	83,72,65,49,32,98,108,111,99,107,32,116,114,97,110,115,102,111,114,109,32,102,111,114,32,120,56,54,95,54,52,44,32,67,82,89,80,84,79,71,65,77,83,32,98,121,32,60,97,112,112,114,111,64,111,112,101,110,115,115,108,46,111,114,103,62,0
+.align	64
+#endif
diff --git a/third_party/boringssl/linux-x86_64/crypto/fipsmodule/sha256-x86_64.S b/third_party/boringssl/linux-x86_64/crypto/fipsmodule/sha256-x86_64.S
new file mode 100644
index 0000000..5983039
--- /dev/null
+++ b/third_party/boringssl/linux-x86_64/crypto/fipsmodule/sha256-x86_64.S
@@ -0,0 +1,3908 @@
+#if defined(__x86_64__) && !defined(OPENSSL_NO_ASM)
+.text	
+
+.extern	OPENSSL_ia32cap_addr
+.hidden OPENSSL_ia32cap_addr
+.globl	sha256_block_data_order
+.hidden sha256_block_data_order
+.type	sha256_block_data_order,@function
+.align	16
+sha256_block_data_order:
+	leaq	OPENSSL_ia32cap_addr(%rip),%r11
+	movq	(%r11),%r11
+	movl	0(%r11),%r9d
+	movl	4(%r11),%r10d
+	movl	8(%r11),%r11d
+	andl	$1073741824,%r9d
+	andl	$268435968,%r10d
+	orl	%r9d,%r10d
+	cmpl	$1342177792,%r10d
+	je	.Lavx_shortcut
+	testl	$512,%r10d
+	jnz	.Lssse3_shortcut
+	movq	%rsp,%rax
+	pushq	%rbx
+	pushq	%rbp
+	pushq	%r12
+	pushq	%r13
+	pushq	%r14
+	pushq	%r15
+	shlq	$4,%rdx
+	subq	$64+32,%rsp
+	leaq	(%rsi,%rdx,4),%rdx
+	andq	$-64,%rsp
+	movq	%rdi,64+0(%rsp)
+	movq	%rsi,64+8(%rsp)
+	movq	%rdx,64+16(%rsp)
+	movq	%rax,64+24(%rsp)
+.Lprologue:
+
+	movl	0(%rdi),%eax
+	movl	4(%rdi),%ebx
+	movl	8(%rdi),%ecx
+	movl	12(%rdi),%edx
+	movl	16(%rdi),%r8d
+	movl	20(%rdi),%r9d
+	movl	24(%rdi),%r10d
+	movl	28(%rdi),%r11d
+
+	jmp	.Lloop
+
+.align	16
+.Lloop:
+	movl	%ebx,%edi
+	leaq	K256(%rip),%rbp
+	xorl	%ecx,%edi
+	movl	0(%rsi),%r12d
+	movl	%r8d,%r13d
+	movl	%eax,%r14d
+	bswapl	%r12d
+	rorl	$14,%r13d
+	movl	%r9d,%r15d
+
+	xorl	%r8d,%r13d
+	rorl	$9,%r14d
+	xorl	%r10d,%r15d
+
+	movl	%r12d,0(%rsp)
+	xorl	%eax,%r14d
+	andl	%r8d,%r15d
+
+	rorl	$5,%r13d
+	addl	%r11d,%r12d
+	xorl	%r10d,%r15d
+
+	rorl	$11,%r14d
+	xorl	%r8d,%r13d
+	addl	%r15d,%r12d
+
+	movl	%eax,%r15d
+	addl	(%rbp),%r12d
+	xorl	%eax,%r14d
+
+	xorl	%ebx,%r15d
+	rorl	$6,%r13d
+	movl	%ebx,%r11d
+
+	andl	%r15d,%edi
+	rorl	$2,%r14d
+	addl	%r13d,%r12d
+
+	xorl	%edi,%r11d
+	addl	%r12d,%edx
+	addl	%r12d,%r11d
+
+	leaq	4(%rbp),%rbp
+	addl	%r14d,%r11d
+	movl	4(%rsi),%r12d
+	movl	%edx,%r13d
+	movl	%r11d,%r14d
+	bswapl	%r12d
+	rorl	$14,%r13d
+	movl	%r8d,%edi
+
+	xorl	%edx,%r13d
+	rorl	$9,%r14d
+	xorl	%r9d,%edi
+
+	movl	%r12d,4(%rsp)
+	xorl	%r11d,%r14d
+	andl	%edx,%edi
+
+	rorl	$5,%r13d
+	addl	%r10d,%r12d
+	xorl	%r9d,%edi
+
+	rorl	$11,%r14d
+	xorl	%edx,%r13d
+	addl	%edi,%r12d
+
+	movl	%r11d,%edi
+	addl	(%rbp),%r12d
+	xorl	%r11d,%r14d
+
+	xorl	%eax,%edi
+	rorl	$6,%r13d
+	movl	%eax,%r10d
+
+	andl	%edi,%r15d
+	rorl	$2,%r14d
+	addl	%r13d,%r12d
+
+	xorl	%r15d,%r10d
+	addl	%r12d,%ecx
+	addl	%r12d,%r10d
+
+	leaq	4(%rbp),%rbp
+	addl	%r14d,%r10d
+	movl	8(%rsi),%r12d
+	movl	%ecx,%r13d
+	movl	%r10d,%r14d
+	bswapl	%r12d
+	rorl	$14,%r13d
+	movl	%edx,%r15d
+
+	xorl	%ecx,%r13d
+	rorl	$9,%r14d
+	xorl	%r8d,%r15d
+
+	movl	%r12d,8(%rsp)
+	xorl	%r10d,%r14d
+	andl	%ecx,%r15d
+
+	rorl	$5,%r13d
+	addl	%r9d,%r12d
+	xorl	%r8d,%r15d
+
+	rorl	$11,%r14d
+	xorl	%ecx,%r13d
+	addl	%r15d,%r12d
+
+	movl	%r10d,%r15d
+	addl	(%rbp),%r12d
+	xorl	%r10d,%r14d
+
+	xorl	%r11d,%r15d
+	rorl	$6,%r13d
+	movl	%r11d,%r9d
+
+	andl	%r15d,%edi
+	rorl	$2,%r14d
+	addl	%r13d,%r12d
+
+	xorl	%edi,%r9d
+	addl	%r12d,%ebx
+	addl	%r12d,%r9d
+
+	leaq	4(%rbp),%rbp
+	addl	%r14d,%r9d
+	movl	12(%rsi),%r12d
+	movl	%ebx,%r13d
+	movl	%r9d,%r14d
+	bswapl	%r12d
+	rorl	$14,%r13d
+	movl	%ecx,%edi
+
+	xorl	%ebx,%r13d
+	rorl	$9,%r14d
+	xorl	%edx,%edi
+
+	movl	%r12d,12(%rsp)
+	xorl	%r9d,%r14d
+	andl	%ebx,%edi
+
+	rorl	$5,%r13d
+	addl	%r8d,%r12d
+	xorl	%edx,%edi
+
+	rorl	$11,%r14d
+	xorl	%ebx,%r13d
+	addl	%edi,%r12d
+
+	movl	%r9d,%edi
+	addl	(%rbp),%r12d
+	xorl	%r9d,%r14d
+
+	xorl	%r10d,%edi
+	rorl	$6,%r13d
+	movl	%r10d,%r8d
+
+	andl	%edi,%r15d
+	rorl	$2,%r14d
+	addl	%r13d,%r12d
+
+	xorl	%r15d,%r8d
+	addl	%r12d,%eax
+	addl	%r12d,%r8d
+
+	leaq	20(%rbp),%rbp
+	addl	%r14d,%r8d
+	movl	16(%rsi),%r12d
+	movl	%eax,%r13d
+	movl	%r8d,%r14d
+	bswapl	%r12d
+	rorl	$14,%r13d
+	movl	%ebx,%r15d
+
+	xorl	%eax,%r13d
+	rorl	$9,%r14d
+	xorl	%ecx,%r15d
+
+	movl	%r12d,16(%rsp)
+	xorl	%r8d,%r14d
+	andl	%eax,%r15d
+
+	rorl	$5,%r13d
+	addl	%edx,%r12d
+	xorl	%ecx,%r15d
+
+	rorl	$11,%r14d
+	xorl	%eax,%r13d
+	addl	%r15d,%r12d
+
+	movl	%r8d,%r15d
+	addl	(%rbp),%r12d
+	xorl	%r8d,%r14d
+
+	xorl	%r9d,%r15d
+	rorl	$6,%r13d
+	movl	%r9d,%edx
+
+	andl	%r15d,%edi
+	rorl	$2,%r14d
+	addl	%r13d,%r12d
+
+	xorl	%edi,%edx
+	addl	%r12d,%r11d
+	addl	%r12d,%edx
+
+	leaq	4(%rbp),%rbp
+	addl	%r14d,%edx
+	movl	20(%rsi),%r12d
+	movl	%r11d,%r13d
+	movl	%edx,%r14d
+	bswapl	%r12d
+	rorl	$14,%r13d
+	movl	%eax,%edi
+
+	xorl	%r11d,%r13d
+	rorl	$9,%r14d
+	xorl	%ebx,%edi
+
+	movl	%r12d,20(%rsp)
+	xorl	%edx,%r14d
+	andl	%r11d,%edi
+
+	rorl	$5,%r13d
+	addl	%ecx,%r12d
+	xorl	%ebx,%edi
+
+	rorl	$11,%r14d
+	xorl	%r11d,%r13d
+	addl	%edi,%r12d
+
+	movl	%edx,%edi
+	addl	(%rbp),%r12d
+	xorl	%edx,%r14d
+
+	xorl	%r8d,%edi
+	rorl	$6,%r13d
+	movl	%r8d,%ecx
+
+	andl	%edi,%r15d
+	rorl	$2,%r14d
+	addl	%r13d,%r12d
+
+	xorl	%r15d,%ecx
+	addl	%r12d,%r10d
+	addl	%r12d,%ecx
+
+	leaq	4(%rbp),%rbp
+	addl	%r14d,%ecx
+	movl	24(%rsi),%r12d
+	movl	%r10d,%r13d
+	movl	%ecx,%r14d
+	bswapl	%r12d
+	rorl	$14,%r13d
+	movl	%r11d,%r15d
+
+	xorl	%r10d,%r13d
+	rorl	$9,%r14d
+	xorl	%eax,%r15d
+
+	movl	%r12d,24(%rsp)
+	xorl	%ecx,%r14d
+	andl	%r10d,%r15d
+
+	rorl	$5,%r13d
+	addl	%ebx,%r12d
+	xorl	%eax,%r15d
+
+	rorl	$11,%r14d
+	xorl	%r10d,%r13d
+	addl	%r15d,%r12d
+
+	movl	%ecx,%r15d
+	addl	(%rbp),%r12d
+	xorl	%ecx,%r14d
+
+	xorl	%edx,%r15d
+	rorl	$6,%r13d
+	movl	%edx,%ebx
+
+	andl	%r15d,%edi
+	rorl	$2,%r14d
+	addl	%r13d,%r12d
+
+	xorl	%edi,%ebx
+	addl	%r12d,%r9d
+	addl	%r12d,%ebx
+
+	leaq	4(%rbp),%rbp
+	addl	%r14d,%ebx
+	movl	28(%rsi),%r12d
+	movl	%r9d,%r13d
+	movl	%ebx,%r14d
+	bswapl	%r12d
+	rorl	$14,%r13d
+	movl	%r10d,%edi
+
+	xorl	%r9d,%r13d
+	rorl	$9,%r14d
+	xorl	%r11d,%edi
+
+	movl	%r12d,28(%rsp)
+	xorl	%ebx,%r14d
+	andl	%r9d,%edi
+
+	rorl	$5,%r13d
+	addl	%eax,%r12d
+	xorl	%r11d,%edi
+
+	rorl	$11,%r14d
+	xorl	%r9d,%r13d
+	addl	%edi,%r12d
+
+	movl	%ebx,%edi
+	addl	(%rbp),%r12d
+	xorl	%ebx,%r14d
+
+	xorl	%ecx,%edi
+	rorl	$6,%r13d
+	movl	%ecx,%eax
+
+	andl	%edi,%r15d
+	rorl	$2,%r14d
+	addl	%r13d,%r12d
+
+	xorl	%r15d,%eax
+	addl	%r12d,%r8d
+	addl	%r12d,%eax
+
+	leaq	20(%rbp),%rbp
+	addl	%r14d,%eax
+	movl	32(%rsi),%r12d
+	movl	%r8d,%r13d
+	movl	%eax,%r14d
+	bswapl	%r12d
+	rorl	$14,%r13d
+	movl	%r9d,%r15d
+
+	xorl	%r8d,%r13d
+	rorl	$9,%r14d
+	xorl	%r10d,%r15d
+
+	movl	%r12d,32(%rsp)
+	xorl	%eax,%r14d
+	andl	%r8d,%r15d
+
+	rorl	$5,%r13d
+	addl	%r11d,%r12d
+	xorl	%r10d,%r15d
+
+	rorl	$11,%r14d
+	xorl	%r8d,%r13d
+	addl	%r15d,%r12d
+
+	movl	%eax,%r15d
+	addl	(%rbp),%r12d
+	xorl	%eax,%r14d
+
+	xorl	%ebx,%r15d
+	rorl	$6,%r13d
+	movl	%ebx,%r11d
+
+	andl	%r15d,%edi
+	rorl	$2,%r14d
+	addl	%r13d,%r12d
+
+	xorl	%edi,%r11d
+	addl	%r12d,%edx
+	addl	%r12d,%r11d
+
+	leaq	4(%rbp),%rbp
+	addl	%r14d,%r11d
+	movl	36(%rsi),%r12d
+	movl	%edx,%r13d
+	movl	%r11d,%r14d
+	bswapl	%r12d
+	rorl	$14,%r13d
+	movl	%r8d,%edi
+
+	xorl	%edx,%r13d
+	rorl	$9,%r14d
+	xorl	%r9d,%edi
+
+	movl	%r12d,36(%rsp)
+	xorl	%r11d,%r14d
+	andl	%edx,%edi
+
+	rorl	$5,%r13d
+	addl	%r10d,%r12d
+	xorl	%r9d,%edi
+
+	rorl	$11,%r14d
+	xorl	%edx,%r13d
+	addl	%edi,%r12d
+
+	movl	%r11d,%edi
+	addl	(%rbp),%r12d
+	xorl	%r11d,%r14d
+
+	xorl	%eax,%edi
+	rorl	$6,%r13d
+	movl	%eax,%r10d
+
+	andl	%edi,%r15d
+	rorl	$2,%r14d
+	addl	%r13d,%r12d
+
+	xorl	%r15d,%r10d
+	addl	%r12d,%ecx
+	addl	%r12d,%r10d
+
+	leaq	4(%rbp),%rbp
+	addl	%r14d,%r10d
+	movl	40(%rsi),%r12d
+	movl	%ecx,%r13d
+	movl	%r10d,%r14d
+	bswapl	%r12d
+	rorl	$14,%r13d
+	movl	%edx,%r15d
+
+	xorl	%ecx,%r13d
+	rorl	$9,%r14d
+	xorl	%r8d,%r15d
+
+	movl	%r12d,40(%rsp)
+	xorl	%r10d,%r14d
+	andl	%ecx,%r15d
+
+	rorl	$5,%r13d
+	addl	%r9d,%r12d
+	xorl	%r8d,%r15d
+
+	rorl	$11,%r14d
+	xorl	%ecx,%r13d
+	addl	%r15d,%r12d
+
+	movl	%r10d,%r15d
+	addl	(%rbp),%r12d
+	xorl	%r10d,%r14d
+
+	xorl	%r11d,%r15d
+	rorl	$6,%r13d
+	movl	%r11d,%r9d
+
+	andl	%r15d,%edi
+	rorl	$2,%r14d
+	addl	%r13d,%r12d
+
+	xorl	%edi,%r9d
+	addl	%r12d,%ebx
+	addl	%r12d,%r9d
+
+	leaq	4(%rbp),%rbp
+	addl	%r14d,%r9d
+	movl	44(%rsi),%r12d
+	movl	%ebx,%r13d
+	movl	%r9d,%r14d
+	bswapl	%r12d
+	rorl	$14,%r13d
+	movl	%ecx,%edi
+
+	xorl	%ebx,%r13d
+	rorl	$9,%r14d
+	xorl	%edx,%edi
+
+	movl	%r12d,44(%rsp)
+	xorl	%r9d,%r14d
+	andl	%ebx,%edi
+
+	rorl	$5,%r13d
+	addl	%r8d,%r12d
+	xorl	%edx,%edi
+
+	rorl	$11,%r14d
+	xorl	%ebx,%r13d
+	addl	%edi,%r12d
+
+	movl	%r9d,%edi
+	addl	(%rbp),%r12d
+	xorl	%r9d,%r14d
+
+	xorl	%r10d,%edi
+	rorl	$6,%r13d
+	movl	%r10d,%r8d
+
+	andl	%edi,%r15d
+	rorl	$2,%r14d
+	addl	%r13d,%r12d
+
+	xorl	%r15d,%r8d
+	addl	%r12d,%eax
+	addl	%r12d,%r8d
+
+	leaq	20(%rbp),%rbp
+	addl	%r14d,%r8d
+	movl	48(%rsi),%r12d
+	movl	%eax,%r13d
+	movl	%r8d,%r14d
+	bswapl	%r12d
+	rorl	$14,%r13d
+	movl	%ebx,%r15d
+
+	xorl	%eax,%r13d
+	rorl	$9,%r14d
+	xorl	%ecx,%r15d
+
+	movl	%r12d,48(%rsp)
+	xorl	%r8d,%r14d
+	andl	%eax,%r15d
+
+	rorl	$5,%r13d
+	addl	%edx,%r12d
+	xorl	%ecx,%r15d
+
+	rorl	$11,%r14d
+	xorl	%eax,%r13d
+	addl	%r15d,%r12d
+
+	movl	%r8d,%r15d
+	addl	(%rbp),%r12d
+	xorl	%r8d,%r14d
+
+	xorl	%r9d,%r15d
+	rorl	$6,%r13d
+	movl	%r9d,%edx
+
+	andl	%r15d,%edi
+	rorl	$2,%r14d
+	addl	%r13d,%r12d
+
+	xorl	%edi,%edx
+	addl	%r12d,%r11d
+	addl	%r12d,%edx
+
+	leaq	4(%rbp),%rbp
+	addl	%r14d,%edx
+	movl	52(%rsi),%r12d
+	movl	%r11d,%r13d
+	movl	%edx,%r14d
+	bswapl	%r12d
+	rorl	$14,%r13d
+	movl	%eax,%edi
+
+	xorl	%r11d,%r13d
+	rorl	$9,%r14d
+	xorl	%ebx,%edi
+
+	movl	%r12d,52(%rsp)
+	xorl	%edx,%r14d
+	andl	%r11d,%edi
+
+	rorl	$5,%r13d
+	addl	%ecx,%r12d
+	xorl	%ebx,%edi
+
+	rorl	$11,%r14d
+	xorl	%r11d,%r13d
+	addl	%edi,%r12d
+
+	movl	%edx,%edi
+	addl	(%rbp),%r12d
+	xorl	%edx,%r14d
+
+	xorl	%r8d,%edi
+	rorl	$6,%r13d
+	movl	%r8d,%ecx
+
+	andl	%edi,%r15d
+	rorl	$2,%r14d
+	addl	%r13d,%r12d
+
+	xorl	%r15d,%ecx
+	addl	%r12d,%r10d
+	addl	%r12d,%ecx
+
+	leaq	4(%rbp),%rbp
+	addl	%r14d,%ecx
+	movl	56(%rsi),%r12d
+	movl	%r10d,%r13d
+	movl	%ecx,%r14d
+	bswapl	%r12d
+	rorl	$14,%r13d
+	movl	%r11d,%r15d
+
+	xorl	%r10d,%r13d
+	rorl	$9,%r14d
+	xorl	%eax,%r15d
+
+	movl	%r12d,56(%rsp)
+	xorl	%ecx,%r14d
+	andl	%r10d,%r15d
+
+	rorl	$5,%r13d
+	addl	%ebx,%r12d
+	xorl	%eax,%r15d
+
+	rorl	$11,%r14d
+	xorl	%r10d,%r13d
+	addl	%r15d,%r12d
+
+	movl	%ecx,%r15d
+	addl	(%rbp),%r12d
+	xorl	%ecx,%r14d
+
+	xorl	%edx,%r15d
+	rorl	$6,%r13d
+	movl	%edx,%ebx
+
+	andl	%r15d,%edi
+	rorl	$2,%r14d
+	addl	%r13d,%r12d
+
+	xorl	%edi,%ebx
+	addl	%r12d,%r9d
+	addl	%r12d,%ebx
+
+	leaq	4(%rbp),%rbp
+	addl	%r14d,%ebx
+	movl	60(%rsi),%r12d
+	movl	%r9d,%r13d
+	movl	%ebx,%r14d
+	bswapl	%r12d
+	rorl	$14,%r13d
+	movl	%r10d,%edi
+
+	xorl	%r9d,%r13d
+	rorl	$9,%r14d
+	xorl	%r11d,%edi
+
+	movl	%r12d,60(%rsp)
+	xorl	%ebx,%r14d
+	andl	%r9d,%edi
+
+	rorl	$5,%r13d
+	addl	%eax,%r12d
+	xorl	%r11d,%edi
+
+	rorl	$11,%r14d
+	xorl	%r9d,%r13d
+	addl	%edi,%r12d
+
+	movl	%ebx,%edi
+	addl	(%rbp),%r12d
+	xorl	%ebx,%r14d
+
+	xorl	%ecx,%edi
+	rorl	$6,%r13d
+	movl	%ecx,%eax
+
+	andl	%edi,%r15d
+	rorl	$2,%r14d
+	addl	%r13d,%r12d
+
+	xorl	%r15d,%eax
+	addl	%r12d,%r8d
+	addl	%r12d,%eax
+
+	leaq	20(%rbp),%rbp
+	jmp	.Lrounds_16_xx
+.align	16
+.Lrounds_16_xx:
+	movl	4(%rsp),%r13d
+	movl	56(%rsp),%r15d
+
+	movl	%r13d,%r12d
+	rorl	$11,%r13d
+	addl	%r14d,%eax
+	movl	%r15d,%r14d
+	rorl	$2,%r15d
+
+	xorl	%r12d,%r13d
+	shrl	$3,%r12d
+	rorl	$7,%r13d
+	xorl	%r14d,%r15d
+	shrl	$10,%r14d
+
+	rorl	$17,%r15d
+	xorl	%r13d,%r12d
+	xorl	%r14d,%r15d
+	addl	36(%rsp),%r12d
+
+	addl	0(%rsp),%r12d
+	movl	%r8d,%r13d
+	addl	%r15d,%r12d
+	movl	%eax,%r14d
+	rorl	$14,%r13d
+	movl	%r9d,%r15d
+
+	xorl	%r8d,%r13d
+	rorl	$9,%r14d
+	xorl	%r10d,%r15d
+
+	movl	%r12d,0(%rsp)
+	xorl	%eax,%r14d
+	andl	%r8d,%r15d
+
+	rorl	$5,%r13d
+	addl	%r11d,%r12d
+	xorl	%r10d,%r15d
+
+	rorl	$11,%r14d
+	xorl	%r8d,%r13d
+	addl	%r15d,%r12d
+
+	movl	%eax,%r15d
+	addl	(%rbp),%r12d
+	xorl	%eax,%r14d
+
+	xorl	%ebx,%r15d
+	rorl	$6,%r13d
+	movl	%ebx,%r11d
+
+	andl	%r15d,%edi
+	rorl	$2,%r14d
+	addl	%r13d,%r12d
+
+	xorl	%edi,%r11d
+	addl	%r12d,%edx
+	addl	%r12d,%r11d
+
+	leaq	4(%rbp),%rbp
+	movl	8(%rsp),%r13d
+	movl	60(%rsp),%edi
+
+	movl	%r13d,%r12d
+	rorl	$11,%r13d
+	addl	%r14d,%r11d
+	movl	%edi,%r14d
+	rorl	$2,%edi
+
+	xorl	%r12d,%r13d
+	shrl	$3,%r12d
+	rorl	$7,%r13d
+	xorl	%r14d,%edi
+	shrl	$10,%r14d
+
+	rorl	$17,%edi
+	xorl	%r13d,%r12d
+	xorl	%r14d,%edi
+	addl	40(%rsp),%r12d
+
+	addl	4(%rsp),%r12d
+	movl	%edx,%r13d
+	addl	%edi,%r12d
+	movl	%r11d,%r14d
+	rorl	$14,%r13d
+	movl	%r8d,%edi
+
+	xorl	%edx,%r13d
+	rorl	$9,%r14d
+	xorl	%r9d,%edi
+
+	movl	%r12d,4(%rsp)
+	xorl	%r11d,%r14d
+	andl	%edx,%edi
+
+	rorl	$5,%r13d
+	addl	%r10d,%r12d
+	xorl	%r9d,%edi
+
+	rorl	$11,%r14d
+	xorl	%edx,%r13d
+	addl	%edi,%r12d
+
+	movl	%r11d,%edi
+	addl	(%rbp),%r12d
+	xorl	%r11d,%r14d
+
+	xorl	%eax,%edi
+	rorl	$6,%r13d
+	movl	%eax,%r10d
+
+	andl	%edi,%r15d
+	rorl	$2,%r14d
+	addl	%r13d,%r12d
+
+	xorl	%r15d,%r10d
+	addl	%r12d,%ecx
+	addl	%r12d,%r10d
+
+	leaq	4(%rbp),%rbp
+	movl	12(%rsp),%r13d
+	movl	0(%rsp),%r15d
+
+	movl	%r13d,%r12d
+	rorl	$11,%r13d
+	addl	%r14d,%r10d
+	movl	%r15d,%r14d
+	rorl	$2,%r15d
+
+	xorl	%r12d,%r13d
+	shrl	$3,%r12d
+	rorl	$7,%r13d
+	xorl	%r14d,%r15d
+	shrl	$10,%r14d
+
+	rorl	$17,%r15d
+	xorl	%r13d,%r12d
+	xorl	%r14d,%r15d
+	addl	44(%rsp),%r12d
+
+	addl	8(%rsp),%r12d
+	movl	%ecx,%r13d
+	addl	%r15d,%r12d
+	movl	%r10d,%r14d
+	rorl	$14,%r13d
+	movl	%edx,%r15d
+
+	xorl	%ecx,%r13d
+	rorl	$9,%r14d
+	xorl	%r8d,%r15d
+
+	movl	%r12d,8(%rsp)
+	xorl	%r10d,%r14d
+	andl	%ecx,%r15d
+
+	rorl	$5,%r13d
+	addl	%r9d,%r12d
+	xorl	%r8d,%r15d
+
+	rorl	$11,%r14d
+	xorl	%ecx,%r13d
+	addl	%r15d,%r12d
+
+	movl	%r10d,%r15d
+	addl	(%rbp),%r12d
+	xorl	%r10d,%r14d
+
+	xorl	%r11d,%r15d
+	rorl	$6,%r13d
+	movl	%r11d,%r9d
+
+	andl	%r15d,%edi
+	rorl	$2,%r14d
+	addl	%r13d,%r12d
+
+	xorl	%edi,%r9d
+	addl	%r12d,%ebx
+	addl	%r12d,%r9d
+
+	leaq	4(%rbp),%rbp
+	movl	16(%rsp),%r13d
+	movl	4(%rsp),%edi
+
+	movl	%r13d,%r12d
+	rorl	$11,%r13d
+	addl	%r14d,%r9d
+	movl	%edi,%r14d
+	rorl	$2,%edi
+
+	xorl	%r12d,%r13d
+	shrl	$3,%r12d
+	rorl	$7,%r13d
+	xorl	%r14d,%edi
+	shrl	$10,%r14d
+
+	rorl	$17,%edi
+	xorl	%r13d,%r12d
+	xorl	%r14d,%edi
+	addl	48(%rsp),%r12d
+
+	addl	12(%rsp),%r12d
+	movl	%ebx,%r13d
+	addl	%edi,%r12d
+	movl	%r9d,%r14d
+	rorl	$14,%r13d
+	movl	%ecx,%edi
+
+	xorl	%ebx,%r13d
+	rorl	$9,%r14d
+	xorl	%edx,%edi
+
+	movl	%r12d,12(%rsp)
+	xorl	%r9d,%r14d
+	andl	%ebx,%edi
+
+	rorl	$5,%r13d
+	addl	%r8d,%r12d
+	xorl	%edx,%edi
+
+	rorl	$11,%r14d
+	xorl	%ebx,%r13d
+	addl	%edi,%r12d
+
+	movl	%r9d,%edi
+	addl	(%rbp),%r12d
+	xorl	%r9d,%r14d
+
+	xorl	%r10d,%edi
+	rorl	$6,%r13d
+	movl	%r10d,%r8d
+
+	andl	%edi,%r15d
+	rorl	$2,%r14d
+	addl	%r13d,%r12d
+
+	xorl	%r15d,%r8d
+	addl	%r12d,%eax
+	addl	%r12d,%r8d
+
+	leaq	20(%rbp),%rbp
+	movl	20(%rsp),%r13d
+	movl	8(%rsp),%r15d
+
+	movl	%r13d,%r12d
+	rorl	$11,%r13d
+	addl	%r14d,%r8d
+	movl	%r15d,%r14d
+	rorl	$2,%r15d
+
+	xorl	%r12d,%r13d
+	shrl	$3,%r12d
+	rorl	$7,%r13d
+	xorl	%r14d,%r15d
+	shrl	$10,%r14d
+
+	rorl	$17,%r15d
+	xorl	%r13d,%r12d
+	xorl	%r14d,%r15d
+	addl	52(%rsp),%r12d
+
+	addl	16(%rsp),%r12d
+	movl	%eax,%r13d
+	addl	%r15d,%r12d
+	movl	%r8d,%r14d
+	rorl	$14,%r13d
+	movl	%ebx,%r15d
+
+	xorl	%eax,%r13d
+	rorl	$9,%r14d
+	xorl	%ecx,%r15d
+
+	movl	%r12d,16(%rsp)
+	xorl	%r8d,%r14d
+	andl	%eax,%r15d
+
+	rorl	$5,%r13d
+	addl	%edx,%r12d
+	xorl	%ecx,%r15d
+
+	rorl	$11,%r14d
+	xorl	%eax,%r13d
+	addl	%r15d,%r12d
+
+	movl	%r8d,%r15d
+	addl	(%rbp),%r12d
+	xorl	%r8d,%r14d
+
+	xorl	%r9d,%r15d
+	rorl	$6,%r13d
+	movl	%r9d,%edx
+
+	andl	%r15d,%edi
+	rorl	$2,%r14d
+	addl	%r13d,%r12d
+
+	xorl	%edi,%edx
+	addl	%r12d,%r11d
+	addl	%r12d,%edx
+
+	leaq	4(%rbp),%rbp
+	movl	24(%rsp),%r13d
+	movl	12(%rsp),%edi
+
+	movl	%r13d,%r12d
+	rorl	$11,%r13d
+	addl	%r14d,%edx
+	movl	%edi,%r14d
+	rorl	$2,%edi
+
+	xorl	%r12d,%r13d
+	shrl	$3,%r12d
+	rorl	$7,%r13d
+	xorl	%r14d,%edi
+	shrl	$10,%r14d
+
+	rorl	$17,%edi
+	xorl	%r13d,%r12d
+	xorl	%r14d,%edi
+	addl	56(%rsp),%r12d
+
+	addl	20(%rsp),%r12d
+	movl	%r11d,%r13d
+	addl	%edi,%r12d
+	movl	%edx,%r14d
+	rorl	$14,%r13d
+	movl	%eax,%edi
+
+	xorl	%r11d,%r13d
+	rorl	$9,%r14d
+	xorl	%ebx,%edi
+
+	movl	%r12d,20(%rsp)
+	xorl	%edx,%r14d
+	andl	%r11d,%edi
+
+	rorl	$5,%r13d
+	addl	%ecx,%r12d
+	xorl	%ebx,%edi
+
+	rorl	$11,%r14d
+	xorl	%r11d,%r13d
+	addl	%edi,%r12d
+
+	movl	%edx,%edi
+	addl	(%rbp),%r12d
+	xorl	%edx,%r14d
+
+	xorl	%r8d,%edi
+	rorl	$6,%r13d
+	movl	%r8d,%ecx
+
+	andl	%edi,%r15d
+	rorl	$2,%r14d
+	addl	%r13d,%r12d
+
+	xorl	%r15d,%ecx
+	addl	%r12d,%r10d
+	addl	%r12d,%ecx
+
+	leaq	4(%rbp),%rbp
+	movl	28(%rsp),%r13d
+	movl	16(%rsp),%r15d
+
+	movl	%r13d,%r12d
+	rorl	$11,%r13d
+	addl	%r14d,%ecx
+	movl	%r15d,%r14d
+	rorl	$2,%r15d
+
+	xorl	%r12d,%r13d
+	shrl	$3,%r12d
+	rorl	$7,%r13d
+	xorl	%r14d,%r15d
+	shrl	$10,%r14d
+
+	rorl	$17,%r15d
+	xorl	%r13d,%r12d
+	xorl	%r14d,%r15d
+	addl	60(%rsp),%r12d
+
+	addl	24(%rsp),%r12d
+	movl	%r10d,%r13d
+	addl	%r15d,%r12d
+	movl	%ecx,%r14d
+	rorl	$14,%r13d
+	movl	%r11d,%r15d
+
+	xorl	%r10d,%r13d
+	rorl	$9,%r14d
+	xorl	%eax,%r15d
+
+	movl	%r12d,24(%rsp)
+	xorl	%ecx,%r14d
+	andl	%r10d,%r15d
+
+	rorl	$5,%r13d
+	addl	%ebx,%r12d
+	xorl	%eax,%r15d
+
+	rorl	$11,%r14d
+	xorl	%r10d,%r13d
+	addl	%r15d,%r12d
+
+	movl	%ecx,%r15d
+	addl	(%rbp),%r12d
+	xorl	%ecx,%r14d
+
+	xorl	%edx,%r15d
+	rorl	$6,%r13d
+	movl	%edx,%ebx
+
+	andl	%r15d,%edi
+	rorl	$2,%r14d
+	addl	%r13d,%r12d
+
+	xorl	%edi,%ebx
+	addl	%r12d,%r9d
+	addl	%r12d,%ebx
+
+	leaq	4(%rbp),%rbp
+	movl	32(%rsp),%r13d
+	movl	20(%rsp),%edi
+
+	movl	%r13d,%r12d
+	rorl	$11,%r13d
+	addl	%r14d,%ebx
+	movl	%edi,%r14d
+	rorl	$2,%edi
+
+	xorl	%r12d,%r13d
+	shrl	$3,%r12d
+	rorl	$7,%r13d
+	xorl	%r14d,%edi
+	shrl	$10,%r14d
+
+	rorl	$17,%edi
+	xorl	%r13d,%r12d
+	xorl	%r14d,%edi
+	addl	0(%rsp),%r12d
+
+	addl	28(%rsp),%r12d
+	movl	%r9d,%r13d
+	addl	%edi,%r12d
+	movl	%ebx,%r14d
+	rorl	$14,%r13d
+	movl	%r10d,%edi
+
+	xorl	%r9d,%r13d
+	rorl	$9,%r14d
+	xorl	%r11d,%edi
+
+	movl	%r12d,28(%rsp)
+	xorl	%ebx,%r14d
+	andl	%r9d,%edi
+
+	rorl	$5,%r13d
+	addl	%eax,%r12d
+	xorl	%r11d,%edi
+
+	rorl	$11,%r14d
+	xorl	%r9d,%r13d
+	addl	%edi,%r12d
+
+	movl	%ebx,%edi
+	addl	(%rbp),%r12d
+	xorl	%ebx,%r14d
+
+	xorl	%ecx,%edi
+	rorl	$6,%r13d
+	movl	%ecx,%eax
+
+	andl	%edi,%r15d
+	rorl	$2,%r14d
+	addl	%r13d,%r12d
+
+	xorl	%r15d,%eax
+	addl	%r12d,%r8d
+	addl	%r12d,%eax
+
+	leaq	20(%rbp),%rbp
+	movl	36(%rsp),%r13d
+	movl	24(%rsp),%r15d
+
+	movl	%r13d,%r12d
+	rorl	$11,%r13d
+	addl	%r14d,%eax
+	movl	%r15d,%r14d
+	rorl	$2,%r15d
+
+	xorl	%r12d,%r13d
+	shrl	$3,%r12d
+	rorl	$7,%r13d
+	xorl	%r14d,%r15d
+	shrl	$10,%r14d
+
+	rorl	$17,%r15d
+	xorl	%r13d,%r12d
+	xorl	%r14d,%r15d
+	addl	4(%rsp),%r12d
+
+	addl	32(%rsp),%r12d
+	movl	%r8d,%r13d
+	addl	%r15d,%r12d
+	movl	%eax,%r14d
+	rorl	$14,%r13d
+	movl	%r9d,%r15d
+
+	xorl	%r8d,%r13d
+	rorl	$9,%r14d
+	xorl	%r10d,%r15d
+
+	movl	%r12d,32(%rsp)
+	xorl	%eax,%r14d
+	andl	%r8d,%r15d
+
+	rorl	$5,%r13d
+	addl	%r11d,%r12d
+	xorl	%r10d,%r15d
+
+	rorl	$11,%r14d
+	xorl	%r8d,%r13d
+	addl	%r15d,%r12d
+
+	movl	%eax,%r15d
+	addl	(%rbp),%r12d
+	xorl	%eax,%r14d
+
+	xorl	%ebx,%r15d
+	rorl	$6,%r13d
+	movl	%ebx,%r11d
+
+	andl	%r15d,%edi
+	rorl	$2,%r14d
+	addl	%r13d,%r12d
+
+	xorl	%edi,%r11d
+	addl	%r12d,%edx
+	addl	%r12d,%r11d
+
+	leaq	4(%rbp),%rbp
+	movl	40(%rsp),%r13d
+	movl	28(%rsp),%edi
+
+	movl	%r13d,%r12d
+	rorl	$11,%r13d
+	addl	%r14d,%r11d
+	movl	%edi,%r14d
+	rorl	$2,%edi
+
+	xorl	%r12d,%r13d
+	shrl	$3,%r12d
+	rorl	$7,%r13d
+	xorl	%r14d,%edi
+	shrl	$10,%r14d
+
+	rorl	$17,%edi
+	xorl	%r13d,%r12d
+	xorl	%r14d,%edi
+	addl	8(%rsp),%r12d
+
+	addl	36(%rsp),%r12d
+	movl	%edx,%r13d
+	addl	%edi,%r12d
+	movl	%r11d,%r14d
+	rorl	$14,%r13d
+	movl	%r8d,%edi
+
+	xorl	%edx,%r13d
+	rorl	$9,%r14d
+	xorl	%r9d,%edi
+
+	movl	%r12d,36(%rsp)
+	xorl	%r11d,%r14d
+	andl	%edx,%edi
+
+	rorl	$5,%r13d
+	addl	%r10d,%r12d
+	xorl	%r9d,%edi
+
+	rorl	$11,%r14d
+	xorl	%edx,%r13d
+	addl	%edi,%r12d
+
+	movl	%r11d,%edi
+	addl	(%rbp),%r12d
+	xorl	%r11d,%r14d
+
+	xorl	%eax,%edi
+	rorl	$6,%r13d
+	movl	%eax,%r10d
+
+	andl	%edi,%r15d
+	rorl	$2,%r14d
+	addl	%r13d,%r12d
+
+	xorl	%r15d,%r10d
+	addl	%r12d,%ecx
+	addl	%r12d,%r10d
+
+	leaq	4(%rbp),%rbp
+	movl	44(%rsp),%r13d
+	movl	32(%rsp),%r15d
+
+	movl	%r13d,%r12d
+	rorl	$11,%r13d
+	addl	%r14d,%r10d
+	movl	%r15d,%r14d
+	rorl	$2,%r15d
+
+	xorl	%r12d,%r13d
+	shrl	$3,%r12d
+	rorl	$7,%r13d
+	xorl	%r14d,%r15d
+	shrl	$10,%r14d
+
+	rorl	$17,%r15d
+	xorl	%r13d,%r12d
+	xorl	%r14d,%r15d
+	addl	12(%rsp),%r12d
+
+	addl	40(%rsp),%r12d
+	movl	%ecx,%r13d
+	addl	%r15d,%r12d
+	movl	%r10d,%r14d
+	rorl	$14,%r13d
+	movl	%edx,%r15d
+
+	xorl	%ecx,%r13d
+	rorl	$9,%r14d
+	xorl	%r8d,%r15d
+
+	movl	%r12d,40(%rsp)
+	xorl	%r10d,%r14d
+	andl	%ecx,%r15d
+
+	rorl	$5,%r13d
+	addl	%r9d,%r12d
+	xorl	%r8d,%r15d
+
+	rorl	$11,%r14d
+	xorl	%ecx,%r13d
+	addl	%r15d,%r12d
+
+	movl	%r10d,%r15d
+	addl	(%rbp),%r12d
+	xorl	%r10d,%r14d
+
+	xorl	%r11d,%r15d
+	rorl	$6,%r13d
+	movl	%r11d,%r9d
+
+	andl	%r15d,%edi
+	rorl	$2,%r14d
+	addl	%r13d,%r12d
+
+	xorl	%edi,%r9d
+	addl	%r12d,%ebx
+	addl	%r12d,%r9d
+
+	leaq	4(%rbp),%rbp
+	movl	48(%rsp),%r13d
+	movl	36(%rsp),%edi
+
+	movl	%r13d,%r12d
+	rorl	$11,%r13d
+	addl	%r14d,%r9d
+	movl	%edi,%r14d
+	rorl	$2,%edi
+
+	xorl	%r12d,%r13d
+	shrl	$3,%r12d
+	rorl	$7,%r13d
+	xorl	%r14d,%edi
+	shrl	$10,%r14d
+
+	rorl	$17,%edi
+	xorl	%r13d,%r12d
+	xorl	%r14d,%edi
+	addl	16(%rsp),%r12d
+
+	addl	44(%rsp),%r12d
+	movl	%ebx,%r13d
+	addl	%edi,%r12d
+	movl	%r9d,%r14d
+	rorl	$14,%r13d
+	movl	%ecx,%edi
+
+	xorl	%ebx,%r13d
+	rorl	$9,%r14d
+	xorl	%edx,%edi
+
+	movl	%r12d,44(%rsp)
+	xorl	%r9d,%r14d
+	andl	%ebx,%edi
+
+	rorl	$5,%r13d
+	addl	%r8d,%r12d
+	xorl	%edx,%edi
+
+	rorl	$11,%r14d
+	xorl	%ebx,%r13d
+	addl	%edi,%r12d
+
+	movl	%r9d,%edi
+	addl	(%rbp),%r12d
+	xorl	%r9d,%r14d
+
+	xorl	%r10d,%edi
+	rorl	$6,%r13d
+	movl	%r10d,%r8d
+
+	andl	%edi,%r15d
+	rorl	$2,%r14d
+	addl	%r13d,%r12d
+
+	xorl	%r15d,%r8d
+	addl	%r12d,%eax
+	addl	%r12d,%r8d
+
+	leaq	20(%rbp),%rbp
+	movl	52(%rsp),%r13d
+	movl	40(%rsp),%r15d
+
+	movl	%r13d,%r12d
+	rorl	$11,%r13d
+	addl	%r14d,%r8d
+	movl	%r15d,%r14d
+	rorl	$2,%r15d
+
+	xorl	%r12d,%r13d
+	shrl	$3,%r12d
+	rorl	$7,%r13d
+	xorl	%r14d,%r15d
+	shrl	$10,%r14d
+
+	rorl	$17,%r15d
+	xorl	%r13d,%r12d
+	xorl	%r14d,%r15d
+	addl	20(%rsp),%r12d
+
+	addl	48(%rsp),%r12d
+	movl	%eax,%r13d
+	addl	%r15d,%r12d
+	movl	%r8d,%r14d
+	rorl	$14,%r13d
+	movl	%ebx,%r15d
+
+	xorl	%eax,%r13d
+	rorl	$9,%r14d
+	xorl	%ecx,%r15d
+
+	movl	%r12d,48(%rsp)
+	xorl	%r8d,%r14d
+	andl	%eax,%r15d
+
+	rorl	$5,%r13d
+	addl	%edx,%r12d
+	xorl	%ecx,%r15d
+
+	rorl	$11,%r14d
+	xorl	%eax,%r13d
+	addl	%r15d,%r12d
+
+	movl	%r8d,%r15d
+	addl	(%rbp),%r12d
+	xorl	%r8d,%r14d
+
+	xorl	%r9d,%r15d
+	rorl	$6,%r13d
+	movl	%r9d,%edx
+
+	andl	%r15d,%edi
+	rorl	$2,%r14d
+	addl	%r13d,%r12d
+
+	xorl	%edi,%edx
+	addl	%r12d,%r11d
+	addl	%r12d,%edx
+
+	leaq	4(%rbp),%rbp
+	movl	56(%rsp),%r13d
+	movl	44(%rsp),%edi
+
+	movl	%r13d,%r12d
+	rorl	$11,%r13d
+	addl	%r14d,%edx
+	movl	%edi,%r14d
+	rorl	$2,%edi
+
+	xorl	%r12d,%r13d
+	shrl	$3,%r12d
+	rorl	$7,%r13d
+	xorl	%r14d,%edi
+	shrl	$10,%r14d
+
+	rorl	$17,%edi
+	xorl	%r13d,%r12d
+	xorl	%r14d,%edi
+	addl	24(%rsp),%r12d
+
+	addl	52(%rsp),%r12d
+	movl	%r11d,%r13d
+	addl	%edi,%r12d
+	movl	%edx,%r14d
+	rorl	$14,%r13d
+	movl	%eax,%edi
+
+	xorl	%r11d,%r13d
+	rorl	$9,%r14d
+	xorl	%ebx,%edi
+
+	movl	%r12d,52(%rsp)
+	xorl	%edx,%r14d
+	andl	%r11d,%edi
+
+	rorl	$5,%r13d
+	addl	%ecx,%r12d
+	xorl	%ebx,%edi
+
+	rorl	$11,%r14d
+	xorl	%r11d,%r13d
+	addl	%edi,%r12d
+
+	movl	%edx,%edi
+	addl	(%rbp),%r12d
+	xorl	%edx,%r14d
+
+	xorl	%r8d,%edi
+	rorl	$6,%r13d
+	movl	%r8d,%ecx
+
+	andl	%edi,%r15d
+	rorl	$2,%r14d
+	addl	%r13d,%r12d
+
+	xorl	%r15d,%ecx
+	addl	%r12d,%r10d
+	addl	%r12d,%ecx
+
+	leaq	4(%rbp),%rbp
+	movl	60(%rsp),%r13d
+	movl	48(%rsp),%r15d
+
+	movl	%r13d,%r12d
+	rorl	$11,%r13d
+	addl	%r14d,%ecx
+	movl	%r15d,%r14d
+	rorl	$2,%r15d
+
+	xorl	%r12d,%r13d
+	shrl	$3,%r12d
+	rorl	$7,%r13d
+	xorl	%r14d,%r15d
+	shrl	$10,%r14d
+
+	rorl	$17,%r15d
+	xorl	%r13d,%r12d
+	xorl	%r14d,%r15d
+	addl	28(%rsp),%r12d
+
+	addl	56(%rsp),%r12d
+	movl	%r10d,%r13d
+	addl	%r15d,%r12d
+	movl	%ecx,%r14d
+	rorl	$14,%r13d
+	movl	%r11d,%r15d
+
+	xorl	%r10d,%r13d
+	rorl	$9,%r14d
+	xorl	%eax,%r15d
+
+	movl	%r12d,56(%rsp)
+	xorl	%ecx,%r14d
+	andl	%r10d,%r15d
+
+	rorl	$5,%r13d
+	addl	%ebx,%r12d
+	xorl	%eax,%r15d
+
+	rorl	$11,%r14d
+	xorl	%r10d,%r13d
+	addl	%r15d,%r12d
+
+	movl	%ecx,%r15d
+	addl	(%rbp),%r12d
+	xorl	%ecx,%r14d
+
+	xorl	%edx,%r15d
+	rorl	$6,%r13d
+	movl	%edx,%ebx
+
+	andl	%r15d,%edi
+	rorl	$2,%r14d
+	addl	%r13d,%r12d
+
+	xorl	%edi,%ebx
+	addl	%r12d,%r9d
+	addl	%r12d,%ebx
+
+	leaq	4(%rbp),%rbp
+	movl	0(%rsp),%r13d
+	movl	52(%rsp),%edi
+
+	movl	%r13d,%r12d
+	rorl	$11,%r13d
+	addl	%r14d,%ebx
+	movl	%edi,%r14d
+	rorl	$2,%edi
+
+	xorl	%r12d,%r13d
+	shrl	$3,%r12d
+	rorl	$7,%r13d
+	xorl	%r14d,%edi
+	shrl	$10,%r14d
+
+	rorl	$17,%edi
+	xorl	%r13d,%r12d
+	xorl	%r14d,%edi
+	addl	32(%rsp),%r12d
+
+	addl	60(%rsp),%r12d
+	movl	%r9d,%r13d
+	addl	%edi,%r12d
+	movl	%ebx,%r14d
+	rorl	$14,%r13d
+	movl	%r10d,%edi
+
+	xorl	%r9d,%r13d
+	rorl	$9,%r14d
+	xorl	%r11d,%edi
+
+	movl	%r12d,60(%rsp)
+	xorl	%ebx,%r14d
+	andl	%r9d,%edi
+
+	rorl	$5,%r13d
+	addl	%eax,%r12d
+	xorl	%r11d,%edi
+
+	rorl	$11,%r14d
+	xorl	%r9d,%r13d
+	addl	%edi,%r12d
+
+	movl	%ebx,%edi
+	addl	(%rbp),%r12d
+	xorl	%ebx,%r14d
+
+	xorl	%ecx,%edi
+	rorl	$6,%r13d
+	movl	%ecx,%eax
+
+	andl	%edi,%r15d
+	rorl	$2,%r14d
+	addl	%r13d,%r12d
+
+	xorl	%r15d,%eax
+	addl	%r12d,%r8d
+	addl	%r12d,%eax
+
+	leaq	20(%rbp),%rbp
+	cmpb	$0,3(%rbp)
+	jnz	.Lrounds_16_xx
+
+	movq	64+0(%rsp),%rdi
+	addl	%r14d,%eax
+	leaq	64(%rsi),%rsi
+
+	addl	0(%rdi),%eax
+	addl	4(%rdi),%ebx
+	addl	8(%rdi),%ecx
+	addl	12(%rdi),%edx
+	addl	16(%rdi),%r8d
+	addl	20(%rdi),%r9d
+	addl	24(%rdi),%r10d
+	addl	28(%rdi),%r11d
+
+	cmpq	64+16(%rsp),%rsi
+
+	movl	%eax,0(%rdi)
+	movl	%ebx,4(%rdi)
+	movl	%ecx,8(%rdi)
+	movl	%edx,12(%rdi)
+	movl	%r8d,16(%rdi)
+	movl	%r9d,20(%rdi)
+	movl	%r10d,24(%rdi)
+	movl	%r11d,28(%rdi)
+	jb	.Lloop
+
+	movq	64+24(%rsp),%rsi
+	movq	-48(%rsi),%r15
+	movq	-40(%rsi),%r14
+	movq	-32(%rsi),%r13
+	movq	-24(%rsi),%r12
+	movq	-16(%rsi),%rbp
+	movq	-8(%rsi),%rbx
+	leaq	(%rsi),%rsp
+.Lepilogue:
+	.byte	0xf3,0xc3
+.size	sha256_block_data_order,.-sha256_block_data_order
+.align	64
+.type	K256,@object
+K256:
+.long	0x428a2f98,0x71374491,0xb5c0fbcf,0xe9b5dba5
+.long	0x428a2f98,0x71374491,0xb5c0fbcf,0xe9b5dba5
+.long	0x3956c25b,0x59f111f1,0x923f82a4,0xab1c5ed5
+.long	0x3956c25b,0x59f111f1,0x923f82a4,0xab1c5ed5
+.long	0xd807aa98,0x12835b01,0x243185be,0x550c7dc3
+.long	0xd807aa98,0x12835b01,0x243185be,0x550c7dc3
+.long	0x72be5d74,0x80deb1fe,0x9bdc06a7,0xc19bf174
+.long	0x72be5d74,0x80deb1fe,0x9bdc06a7,0xc19bf174
+.long	0xe49b69c1,0xefbe4786,0x0fc19dc6,0x240ca1cc
+.long	0xe49b69c1,0xefbe4786,0x0fc19dc6,0x240ca1cc
+.long	0x2de92c6f,0x4a7484aa,0x5cb0a9dc,0x76f988da
+.long	0x2de92c6f,0x4a7484aa,0x5cb0a9dc,0x76f988da
+.long	0x983e5152,0xa831c66d,0xb00327c8,0xbf597fc7
+.long	0x983e5152,0xa831c66d,0xb00327c8,0xbf597fc7
+.long	0xc6e00bf3,0xd5a79147,0x06ca6351,0x14292967
+.long	0xc6e00bf3,0xd5a79147,0x06ca6351,0x14292967
+.long	0x27b70a85,0x2e1b2138,0x4d2c6dfc,0x53380d13
+.long	0x27b70a85,0x2e1b2138,0x4d2c6dfc,0x53380d13
+.long	0x650a7354,0x766a0abb,0x81c2c92e,0x92722c85
+.long	0x650a7354,0x766a0abb,0x81c2c92e,0x92722c85
+.long	0xa2bfe8a1,0xa81a664b,0xc24b8b70,0xc76c51a3
+.long	0xa2bfe8a1,0xa81a664b,0xc24b8b70,0xc76c51a3
+.long	0xd192e819,0xd6990624,0xf40e3585,0x106aa070
+.long	0xd192e819,0xd6990624,0xf40e3585,0x106aa070
+.long	0x19a4c116,0x1e376c08,0x2748774c,0x34b0bcb5
+.long	0x19a4c116,0x1e376c08,0x2748774c,0x34b0bcb5
+.long	0x391c0cb3,0x4ed8aa4a,0x5b9cca4f,0x682e6ff3
+.long	0x391c0cb3,0x4ed8aa4a,0x5b9cca4f,0x682e6ff3
+.long	0x748f82ee,0x78a5636f,0x84c87814,0x8cc70208
+.long	0x748f82ee,0x78a5636f,0x84c87814,0x8cc70208
+.long	0x90befffa,0xa4506ceb,0xbef9a3f7,0xc67178f2
+.long	0x90befffa,0xa4506ceb,0xbef9a3f7,0xc67178f2
+
+.long	0x00010203,0x04050607,0x08090a0b,0x0c0d0e0f
+.long	0x00010203,0x04050607,0x08090a0b,0x0c0d0e0f
+.long	0x03020100,0x0b0a0908,0xffffffff,0xffffffff
+.long	0x03020100,0x0b0a0908,0xffffffff,0xffffffff
+.long	0xffffffff,0xffffffff,0x03020100,0x0b0a0908
+.long	0xffffffff,0xffffffff,0x03020100,0x0b0a0908
+.byte	83,72,65,50,53,54,32,98,108,111,99,107,32,116,114,97,110,115,102,111,114,109,32,102,111,114,32,120,56,54,95,54,52,44,32,67,82,89,80,84,79,71,65,77,83,32,98,121,32,60,97,112,112,114,111,64,111,112,101,110,115,115,108,46,111,114,103,62,0
+.type	sha256_block_data_order_ssse3,@function
+.align	64
+sha256_block_data_order_ssse3:
+.Lssse3_shortcut:
+	movq	%rsp,%rax
+	pushq	%rbx
+	pushq	%rbp
+	pushq	%r12
+	pushq	%r13
+	pushq	%r14
+	pushq	%r15
+	shlq	$4,%rdx
+	subq	$96,%rsp
+	leaq	(%rsi,%rdx,4),%rdx
+	andq	$-64,%rsp
+	movq	%rdi,64+0(%rsp)
+	movq	%rsi,64+8(%rsp)
+	movq	%rdx,64+16(%rsp)
+	movq	%rax,64+24(%rsp)
+.Lprologue_ssse3:
+
+	movl	0(%rdi),%eax
+	movl	4(%rdi),%ebx
+	movl	8(%rdi),%ecx
+	movl	12(%rdi),%edx
+	movl	16(%rdi),%r8d
+	movl	20(%rdi),%r9d
+	movl	24(%rdi),%r10d
+	movl	28(%rdi),%r11d
+
+
+	jmp	.Lloop_ssse3
+.align	16
+.Lloop_ssse3:
+	movdqa	K256+512(%rip),%xmm7
+	movdqu	0(%rsi),%xmm0
+	movdqu	16(%rsi),%xmm1
+	movdqu	32(%rsi),%xmm2
+.byte	102,15,56,0,199
+	movdqu	48(%rsi),%xmm3
+	leaq	K256(%rip),%rbp
+.byte	102,15,56,0,207
+	movdqa	0(%rbp),%xmm4
+	movdqa	32(%rbp),%xmm5
+.byte	102,15,56,0,215
+	paddd	%xmm0,%xmm4
+	movdqa	64(%rbp),%xmm6
+.byte	102,15,56,0,223
+	movdqa	96(%rbp),%xmm7
+	paddd	%xmm1,%xmm5
+	paddd	%xmm2,%xmm6
+	paddd	%xmm3,%xmm7
+	movdqa	%xmm4,0(%rsp)
+	movl	%eax,%r14d
+	movdqa	%xmm5,16(%rsp)
+	movl	%ebx,%edi
+	movdqa	%xmm6,32(%rsp)
+	xorl	%ecx,%edi
+	movdqa	%xmm7,48(%rsp)
+	movl	%r8d,%r13d
+	jmp	.Lssse3_00_47
+
+.align	16
+.Lssse3_00_47:
+	subq	$-128,%rbp
+	rorl	$14,%r13d
+	movdqa	%xmm1,%xmm4
+	movl	%r14d,%eax
+	movl	%r9d,%r12d
+	movdqa	%xmm3,%xmm7
+	rorl	$9,%r14d
+	xorl	%r8d,%r13d
+	xorl	%r10d,%r12d
+	rorl	$5,%r13d
+	xorl	%eax,%r14d
+.byte	102,15,58,15,224,4
+	andl	%r8d,%r12d
+	xorl	%r8d,%r13d
+.byte	102,15,58,15,250,4
+	addl	0(%rsp),%r11d
+	movl	%eax,%r15d
+	xorl	%r10d,%r12d
+	rorl	$11,%r14d
+	movdqa	%xmm4,%xmm5
+	xorl	%ebx,%r15d
+	addl	%r12d,%r11d
+	movdqa	%xmm4,%xmm6
+	rorl	$6,%r13d
+	andl	%r15d,%edi
+	psrld	$3,%xmm4
+	xorl	%eax,%r14d
+	addl	%r13d,%r11d
+	xorl	%ebx,%edi
+	paddd	%xmm7,%xmm0
+	rorl	$2,%r14d
+	addl	%r11d,%edx
+	psrld	$7,%xmm6
+	addl	%edi,%r11d
+	movl	%edx,%r13d
+	pshufd	$250,%xmm3,%xmm7
+	addl	%r11d,%r14d
+	rorl	$14,%r13d
+	pslld	$14,%xmm5
+	movl	%r14d,%r11d
+	movl	%r8d,%r12d
+	pxor	%xmm6,%xmm4
+	rorl	$9,%r14d
+	xorl	%edx,%r13d
+	xorl	%r9d,%r12d
+	rorl	$5,%r13d
+	psrld	$11,%xmm6
+	xorl	%r11d,%r14d
+	pxor	%xmm5,%xmm4
+	andl	%edx,%r12d
+	xorl	%edx,%r13d
+	pslld	$11,%xmm5
+	addl	4(%rsp),%r10d
+	movl	%r11d,%edi
+	pxor	%xmm6,%xmm4
+	xorl	%r9d,%r12d
+	rorl	$11,%r14d
+	movdqa	%xmm7,%xmm6
+	xorl	%eax,%edi
+	addl	%r12d,%r10d
+	pxor	%xmm5,%xmm4
+	rorl	$6,%r13d
+	andl	%edi,%r15d
+	xorl	%r11d,%r14d
+	psrld	$10,%xmm7
+	addl	%r13d,%r10d
+	xorl	%eax,%r15d
+	paddd	%xmm4,%xmm0
+	rorl	$2,%r14d
+	addl	%r10d,%ecx
+	psrlq	$17,%xmm6
+	addl	%r15d,%r10d
+	movl	%ecx,%r13d
+	addl	%r10d,%r14d
+	pxor	%xmm6,%xmm7
+	rorl	$14,%r13d
+	movl	%r14d,%r10d
+	movl	%edx,%r12d
+	rorl	$9,%r14d
+	psrlq	$2,%xmm6
+	xorl	%ecx,%r13d
+	xorl	%r8d,%r12d
+	pxor	%xmm6,%xmm7
+	rorl	$5,%r13d
+	xorl	%r10d,%r14d
+	andl	%ecx,%r12d
+	pshufd	$128,%xmm7,%xmm7
+	xorl	%ecx,%r13d
+	addl	8(%rsp),%r9d
+	movl	%r10d,%r15d
+	psrldq	$8,%xmm7
+	xorl	%r8d,%r12d
+	rorl	$11,%r14d
+	xorl	%r11d,%r15d
+	addl	%r12d,%r9d
+	rorl	$6,%r13d
+	paddd	%xmm7,%xmm0
+	andl	%r15d,%edi
+	xorl	%r10d,%r14d
+	addl	%r13d,%r9d
+	pshufd	$80,%xmm0,%xmm7
+	xorl	%r11d,%edi
+	rorl	$2,%r14d
+	addl	%r9d,%ebx
+	movdqa	%xmm7,%xmm6
+	addl	%edi,%r9d
+	movl	%ebx,%r13d
+	psrld	$10,%xmm7
+	addl	%r9d,%r14d
+	rorl	$14,%r13d
+	psrlq	$17,%xmm6
+	movl	%r14d,%r9d
+	movl	%ecx,%r12d
+	pxor	%xmm6,%xmm7
+	rorl	$9,%r14d
+	xorl	%ebx,%r13d
+	xorl	%edx,%r12d
+	rorl	$5,%r13d
+	xorl	%r9d,%r14d
+	psrlq	$2,%xmm6
+	andl	%ebx,%r12d
+	xorl	%ebx,%r13d
+	addl	12(%rsp),%r8d
+	pxor	%xmm6,%xmm7
+	movl	%r9d,%edi
+	xorl	%edx,%r12d
+	rorl	$11,%r14d
+	pshufd	$8,%xmm7,%xmm7
+	xorl	%r10d,%edi
+	addl	%r12d,%r8d
+	movdqa	0(%rbp),%xmm6
+	rorl	$6,%r13d
+	andl	%edi,%r15d
+	pslldq	$8,%xmm7
+	xorl	%r9d,%r14d
+	addl	%r13d,%r8d
+	xorl	%r10d,%r15d
+	paddd	%xmm7,%xmm0
+	rorl	$2,%r14d
+	addl	%r8d,%eax
+	addl	%r15d,%r8d
+	paddd	%xmm0,%xmm6
+	movl	%eax,%r13d
+	addl	%r8d,%r14d
+	movdqa	%xmm6,0(%rsp)
+	rorl	$14,%r13d
+	movdqa	%xmm2,%xmm4
+	movl	%r14d,%r8d
+	movl	%ebx,%r12d
+	movdqa	%xmm0,%xmm7
+	rorl	$9,%r14d
+	xorl	%eax,%r13d
+	xorl	%ecx,%r12d
+	rorl	$5,%r13d
+	xorl	%r8d,%r14d
+.byte	102,15,58,15,225,4
+	andl	%eax,%r12d
+	xorl	%eax,%r13d
+.byte	102,15,58,15,251,4
+	addl	16(%rsp),%edx
+	movl	%r8d,%r15d
+	xorl	%ecx,%r12d
+	rorl	$11,%r14d
+	movdqa	%xmm4,%xmm5
+	xorl	%r9d,%r15d
+	addl	%r12d,%edx
+	movdqa	%xmm4,%xmm6
+	rorl	$6,%r13d
+	andl	%r15d,%edi
+	psrld	$3,%xmm4
+	xorl	%r8d,%r14d
+	addl	%r13d,%edx
+	xorl	%r9d,%edi
+	paddd	%xmm7,%xmm1
+	rorl	$2,%r14d
+	addl	%edx,%r11d
+	psrld	$7,%xmm6
+	addl	%edi,%edx
+	movl	%r11d,%r13d
+	pshufd	$250,%xmm0,%xmm7
+	addl	%edx,%r14d
+	rorl	$14,%r13d
+	pslld	$14,%xmm5
+	movl	%r14d,%edx
+	movl	%eax,%r12d
+	pxor	%xmm6,%xmm4
+	rorl	$9,%r14d
+	xorl	%r11d,%r13d
+	xorl	%ebx,%r12d
+	rorl	$5,%r13d
+	psrld	$11,%xmm6
+	xorl	%edx,%r14d
+	pxor	%xmm5,%xmm4
+	andl	%r11d,%r12d
+	xorl	%r11d,%r13d
+	pslld	$11,%xmm5
+	addl	20(%rsp),%ecx
+	movl	%edx,%edi
+	pxor	%xmm6,%xmm4
+	xorl	%ebx,%r12d
+	rorl	$11,%r14d
+	movdqa	%xmm7,%xmm6
+	xorl	%r8d,%edi
+	addl	%r12d,%ecx
+	pxor	%xmm5,%xmm4
+	rorl	$6,%r13d
+	andl	%edi,%r15d
+	xorl	%edx,%r14d
+	psrld	$10,%xmm7
+	addl	%r13d,%ecx
+	xorl	%r8d,%r15d
+	paddd	%xmm4,%xmm1
+	rorl	$2,%r14d
+	addl	%ecx,%r10d
+	psrlq	$17,%xmm6
+	addl	%r15d,%ecx
+	movl	%r10d,%r13d
+	addl	%ecx,%r14d
+	pxor	%xmm6,%xmm7
+	rorl	$14,%r13d
+	movl	%r14d,%ecx
+	movl	%r11d,%r12d
+	rorl	$9,%r14d
+	psrlq	$2,%xmm6
+	xorl	%r10d,%r13d
+	xorl	%eax,%r12d
+	pxor	%xmm6,%xmm7
+	rorl	$5,%r13d
+	xorl	%ecx,%r14d
+	andl	%r10d,%r12d
+	pshufd	$128,%xmm7,%xmm7
+	xorl	%r10d,%r13d
+	addl	24(%rsp),%ebx
+	movl	%ecx,%r15d
+	psrldq	$8,%xmm7
+	xorl	%eax,%r12d
+	rorl	$11,%r14d
+	xorl	%edx,%r15d
+	addl	%r12d,%ebx
+	rorl	$6,%r13d
+	paddd	%xmm7,%xmm1
+	andl	%r15d,%edi
+	xorl	%ecx,%r14d
+	addl	%r13d,%ebx
+	pshufd	$80,%xmm1,%xmm7
+	xorl	%edx,%edi
+	rorl	$2,%r14d
+	addl	%ebx,%r9d
+	movdqa	%xmm7,%xmm6
+	addl	%edi,%ebx
+	movl	%r9d,%r13d
+	psrld	$10,%xmm7
+	addl	%ebx,%r14d
+	rorl	$14,%r13d
+	psrlq	$17,%xmm6
+	movl	%r14d,%ebx
+	movl	%r10d,%r12d
+	pxor	%xmm6,%xmm7
+	rorl	$9,%r14d
+	xorl	%r9d,%r13d
+	xorl	%r11d,%r12d
+	rorl	$5,%r13d
+	xorl	%ebx,%r14d
+	psrlq	$2,%xmm6
+	andl	%r9d,%r12d
+	xorl	%r9d,%r13d
+	addl	28(%rsp),%eax
+	pxor	%xmm6,%xmm7
+	movl	%ebx,%edi
+	xorl	%r11d,%r12d
+	rorl	$11,%r14d
+	pshufd	$8,%xmm7,%xmm7
+	xorl	%ecx,%edi
+	addl	%r12d,%eax
+	movdqa	32(%rbp),%xmm6
+	rorl	$6,%r13d
+	andl	%edi,%r15d
+	pslldq	$8,%xmm7
+	xorl	%ebx,%r14d
+	addl	%r13d,%eax
+	xorl	%ecx,%r15d
+	paddd	%xmm7,%xmm1
+	rorl	$2,%r14d
+	addl	%eax,%r8d
+	addl	%r15d,%eax
+	paddd	%xmm1,%xmm6
+	movl	%r8d,%r13d
+	addl	%eax,%r14d
+	movdqa	%xmm6,16(%rsp)
+	rorl	$14,%r13d
+	movdqa	%xmm3,%xmm4
+	movl	%r14d,%eax
+	movl	%r9d,%r12d
+	movdqa	%xmm1,%xmm7
+	rorl	$9,%r14d
+	xorl	%r8d,%r13d
+	xorl	%r10d,%r12d
+	rorl	$5,%r13d
+	xorl	%eax,%r14d
+.byte	102,15,58,15,226,4
+	andl	%r8d,%r12d
+	xorl	%r8d,%r13d
+.byte	102,15,58,15,248,4
+	addl	32(%rsp),%r11d
+	movl	%eax,%r15d
+	xorl	%r10d,%r12d
+	rorl	$11,%r14d
+	movdqa	%xmm4,%xmm5
+	xorl	%ebx,%r15d
+	addl	%r12d,%r11d
+	movdqa	%xmm4,%xmm6
+	rorl	$6,%r13d
+	andl	%r15d,%edi
+	psrld	$3,%xmm4
+	xorl	%eax,%r14d
+	addl	%r13d,%r11d
+	xorl	%ebx,%edi
+	paddd	%xmm7,%xmm2
+	rorl	$2,%r14d
+	addl	%r11d,%edx
+	psrld	$7,%xmm6
+	addl	%edi,%r11d
+	movl	%edx,%r13d
+	pshufd	$250,%xmm1,%xmm7
+	addl	%r11d,%r14d
+	rorl	$14,%r13d
+	pslld	$14,%xmm5
+	movl	%r14d,%r11d
+	movl	%r8d,%r12d
+	pxor	%xmm6,%xmm4
+	rorl	$9,%r14d
+	xorl	%edx,%r13d
+	xorl	%r9d,%r12d
+	rorl	$5,%r13d
+	psrld	$11,%xmm6
+	xorl	%r11d,%r14d
+	pxor	%xmm5,%xmm4
+	andl	%edx,%r12d
+	xorl	%edx,%r13d
+	pslld	$11,%xmm5
+	addl	36(%rsp),%r10d
+	movl	%r11d,%edi
+	pxor	%xmm6,%xmm4
+	xorl	%r9d,%r12d
+	rorl	$11,%r14d
+	movdqa	%xmm7,%xmm6
+	xorl	%eax,%edi
+	addl	%r12d,%r10d
+	pxor	%xmm5,%xmm4
+	rorl	$6,%r13d
+	andl	%edi,%r15d
+	xorl	%r11d,%r14d
+	psrld	$10,%xmm7
+	addl	%r13d,%r10d
+	xorl	%eax,%r15d
+	paddd	%xmm4,%xmm2
+	rorl	$2,%r14d
+	addl	%r10d,%ecx
+	psrlq	$17,%xmm6
+	addl	%r15d,%r10d
+	movl	%ecx,%r13d
+	addl	%r10d,%r14d
+	pxor	%xmm6,%xmm7
+	rorl	$14,%r13d
+	movl	%r14d,%r10d
+	movl	%edx,%r12d
+	rorl	$9,%r14d
+	psrlq	$2,%xmm6
+	xorl	%ecx,%r13d
+	xorl	%r8d,%r12d
+	pxor	%xmm6,%xmm7
+	rorl	$5,%r13d
+	xorl	%r10d,%r14d
+	andl	%ecx,%r12d
+	pshufd	$128,%xmm7,%xmm7
+	xorl	%ecx,%r13d
+	addl	40(%rsp),%r9d
+	movl	%r10d,%r15d
+	psrldq	$8,%xmm7
+	xorl	%r8d,%r12d
+	rorl	$11,%r14d
+	xorl	%r11d,%r15d
+	addl	%r12d,%r9d
+	rorl	$6,%r13d
+	paddd	%xmm7,%xmm2
+	andl	%r15d,%edi
+	xorl	%r10d,%r14d
+	addl	%r13d,%r9d
+	pshufd	$80,%xmm2,%xmm7
+	xorl	%r11d,%edi
+	rorl	$2,%r14d
+	addl	%r9d,%ebx
+	movdqa	%xmm7,%xmm6
+	addl	%edi,%r9d
+	movl	%ebx,%r13d
+	psrld	$10,%xmm7
+	addl	%r9d,%r14d
+	rorl	$14,%r13d
+	psrlq	$17,%xmm6
+	movl	%r14d,%r9d
+	movl	%ecx,%r12d
+	pxor	%xmm6,%xmm7
+	rorl	$9,%r14d
+	xorl	%ebx,%r13d
+	xorl	%edx,%r12d
+	rorl	$5,%r13d
+	xorl	%r9d,%r14d
+	psrlq	$2,%xmm6
+	andl	%ebx,%r12d
+	xorl	%ebx,%r13d
+	addl	44(%rsp),%r8d
+	pxor	%xmm6,%xmm7
+	movl	%r9d,%edi
+	xorl	%edx,%r12d
+	rorl	$11,%r14d
+	pshufd	$8,%xmm7,%xmm7
+	xorl	%r10d,%edi
+	addl	%r12d,%r8d
+	movdqa	64(%rbp),%xmm6
+	rorl	$6,%r13d
+	andl	%edi,%r15d
+	pslldq	$8,%xmm7
+	xorl	%r9d,%r14d
+	addl	%r13d,%r8d
+	xorl	%r10d,%r15d
+	paddd	%xmm7,%xmm2
+	rorl	$2,%r14d
+	addl	%r8d,%eax
+	addl	%r15d,%r8d
+	paddd	%xmm2,%xmm6
+	movl	%eax,%r13d
+	addl	%r8d,%r14d
+	movdqa	%xmm6,32(%rsp)
+	rorl	$14,%r13d
+	movdqa	%xmm0,%xmm4
+	movl	%r14d,%r8d
+	movl	%ebx,%r12d
+	movdqa	%xmm2,%xmm7
+	rorl	$9,%r14d
+	xorl	%eax,%r13d
+	xorl	%ecx,%r12d
+	rorl	$5,%r13d
+	xorl	%r8d,%r14d
+.byte	102,15,58,15,227,4
+	andl	%eax,%r12d
+	xorl	%eax,%r13d
+.byte	102,15,58,15,249,4
+	addl	48(%rsp),%edx
+	movl	%r8d,%r15d
+	xorl	%ecx,%r12d
+	rorl	$11,%r14d
+	movdqa	%xmm4,%xmm5
+	xorl	%r9d,%r15d
+	addl	%r12d,%edx
+	movdqa	%xmm4,%xmm6
+	rorl	$6,%r13d
+	andl	%r15d,%edi
+	psrld	$3,%xmm4
+	xorl	%r8d,%r14d
+	addl	%r13d,%edx
+	xorl	%r9d,%edi
+	paddd	%xmm7,%xmm3
+	rorl	$2,%r14d
+	addl	%edx,%r11d
+	psrld	$7,%xmm6
+	addl	%edi,%edx
+	movl	%r11d,%r13d
+	pshufd	$250,%xmm2,%xmm7
+	addl	%edx,%r14d
+	rorl	$14,%r13d
+	pslld	$14,%xmm5
+	movl	%r14d,%edx
+	movl	%eax,%r12d
+	pxor	%xmm6,%xmm4
+	rorl	$9,%r14d
+	xorl	%r11d,%r13d
+	xorl	%ebx,%r12d
+	rorl	$5,%r13d
+	psrld	$11,%xmm6
+	xorl	%edx,%r14d
+	pxor	%xmm5,%xmm4
+	andl	%r11d,%r12d
+	xorl	%r11d,%r13d
+	pslld	$11,%xmm5
+	addl	52(%rsp),%ecx
+	movl	%edx,%edi
+	pxor	%xmm6,%xmm4
+	xorl	%ebx,%r12d
+	rorl	$11,%r14d
+	movdqa	%xmm7,%xmm6
+	xorl	%r8d,%edi
+	addl	%r12d,%ecx
+	pxor	%xmm5,%xmm4
+	rorl	$6,%r13d
+	andl	%edi,%r15d
+	xorl	%edx,%r14d
+	psrld	$10,%xmm7
+	addl	%r13d,%ecx
+	xorl	%r8d,%r15d
+	paddd	%xmm4,%xmm3
+	rorl	$2,%r14d
+	addl	%ecx,%r10d
+	psrlq	$17,%xmm6
+	addl	%r15d,%ecx
+	movl	%r10d,%r13d
+	addl	%ecx,%r14d
+	pxor	%xmm6,%xmm7
+	rorl	$14,%r13d
+	movl	%r14d,%ecx
+	movl	%r11d,%r12d
+	rorl	$9,%r14d
+	psrlq	$2,%xmm6
+	xorl	%r10d,%r13d
+	xorl	%eax,%r12d
+	pxor	%xmm6,%xmm7
+	rorl	$5,%r13d
+	xorl	%ecx,%r14d
+	andl	%r10d,%r12d
+	pshufd	$128,%xmm7,%xmm7
+	xorl	%r10d,%r13d
+	addl	56(%rsp),%ebx
+	movl	%ecx,%r15d
+	psrldq	$8,%xmm7
+	xorl	%eax,%r12d
+	rorl	$11,%r14d
+	xorl	%edx,%r15d
+	addl	%r12d,%ebx
+	rorl	$6,%r13d
+	paddd	%xmm7,%xmm3
+	andl	%r15d,%edi
+	xorl	%ecx,%r14d
+	addl	%r13d,%ebx
+	pshufd	$80,%xmm3,%xmm7
+	xorl	%edx,%edi
+	rorl	$2,%r14d
+	addl	%ebx,%r9d
+	movdqa	%xmm7,%xmm6
+	addl	%edi,%ebx
+	movl	%r9d,%r13d
+	psrld	$10,%xmm7
+	addl	%ebx,%r14d
+	rorl	$14,%r13d
+	psrlq	$17,%xmm6
+	movl	%r14d,%ebx
+	movl	%r10d,%r12d
+	pxor	%xmm6,%xmm7
+	rorl	$9,%r14d
+	xorl	%r9d,%r13d
+	xorl	%r11d,%r12d
+	rorl	$5,%r13d
+	xorl	%ebx,%r14d
+	psrlq	$2,%xmm6
+	andl	%r9d,%r12d
+	xorl	%r9d,%r13d
+	addl	60(%rsp),%eax
+	pxor	%xmm6,%xmm7
+	movl	%ebx,%edi
+	xorl	%r11d,%r12d
+	rorl	$11,%r14d
+	pshufd	$8,%xmm7,%xmm7
+	xorl	%ecx,%edi
+	addl	%r12d,%eax
+	movdqa	96(%rbp),%xmm6
+	rorl	$6,%r13d
+	andl	%edi,%r15d
+	pslldq	$8,%xmm7
+	xorl	%ebx,%r14d
+	addl	%r13d,%eax
+	xorl	%ecx,%r15d
+	paddd	%xmm7,%xmm3
+	rorl	$2,%r14d
+	addl	%eax,%r8d
+	addl	%r15d,%eax
+	paddd	%xmm3,%xmm6
+	movl	%r8d,%r13d
+	addl	%eax,%r14d
+	movdqa	%xmm6,48(%rsp)
+	cmpb	$0,131(%rbp)
+	jne	.Lssse3_00_47
+	rorl	$14,%r13d
+	movl	%r14d,%eax
+	movl	%r9d,%r12d
+	rorl	$9,%r14d
+	xorl	%r8d,%r13d
+	xorl	%r10d,%r12d
+	rorl	$5,%r13d
+	xorl	%eax,%r14d
+	andl	%r8d,%r12d
+	xorl	%r8d,%r13d
+	addl	0(%rsp),%r11d
+	movl	%eax,%r15d
+	xorl	%r10d,%r12d
+	rorl	$11,%r14d
+	xorl	%ebx,%r15d
+	addl	%r12d,%r11d
+	rorl	$6,%r13d
+	andl	%r15d,%edi
+	xorl	%eax,%r14d
+	addl	%r13d,%r11d
+	xorl	%ebx,%edi
+	rorl	$2,%r14d
+	addl	%r11d,%edx
+	addl	%edi,%r11d
+	movl	%edx,%r13d
+	addl	%r11d,%r14d
+	rorl	$14,%r13d
+	movl	%r14d,%r11d
+	movl	%r8d,%r12d
+	rorl	$9,%r14d
+	xorl	%edx,%r13d
+	xorl	%r9d,%r12d
+	rorl	$5,%r13d
+	xorl	%r11d,%r14d
+	andl	%edx,%r12d
+	xorl	%edx,%r13d
+	addl	4(%rsp),%r10d
+	movl	%r11d,%edi
+	xorl	%r9d,%r12d
+	rorl	$11,%r14d
+	xorl	%eax,%edi
+	addl	%r12d,%r10d
+	rorl	$6,%r13d
+	andl	%edi,%r15d
+	xorl	%r11d,%r14d
+	addl	%r13d,%r10d
+	xorl	%eax,%r15d
+	rorl	$2,%r14d
+	addl	%r10d,%ecx
+	addl	%r15d,%r10d
+	movl	%ecx,%r13d
+	addl	%r10d,%r14d
+	rorl	$14,%r13d
+	movl	%r14d,%r10d
+	movl	%edx,%r12d
+	rorl	$9,%r14d
+	xorl	%ecx,%r13d
+	xorl	%r8d,%r12d
+	rorl	$5,%r13d
+	xorl	%r10d,%r14d
+	andl	%ecx,%r12d
+	xorl	%ecx,%r13d
+	addl	8(%rsp),%r9d
+	movl	%r10d,%r15d
+	xorl	%r8d,%r12d
+	rorl	$11,%r14d
+	xorl	%r11d,%r15d
+	addl	%r12d,%r9d
+	rorl	$6,%r13d
+	andl	%r15d,%edi
+	xorl	%r10d,%r14d
+	addl	%r13d,%r9d
+	xorl	%r11d,%edi
+	rorl	$2,%r14d
+	addl	%r9d,%ebx
+	addl	%edi,%r9d
+	movl	%ebx,%r13d
+	addl	%r9d,%r14d
+	rorl	$14,%r13d
+	movl	%r14d,%r9d
+	movl	%ecx,%r12d
+	rorl	$9,%r14d
+	xorl	%ebx,%r13d
+	xorl	%edx,%r12d
+	rorl	$5,%r13d
+	xorl	%r9d,%r14d
+	andl	%ebx,%r12d
+	xorl	%ebx,%r13d
+	addl	12(%rsp),%r8d
+	movl	%r9d,%edi
+	xorl	%edx,%r12d
+	rorl	$11,%r14d
+	xorl	%r10d,%edi
+	addl	%r12d,%r8d
+	rorl	$6,%r13d
+	andl	%edi,%r15d
+	xorl	%r9d,%r14d
+	addl	%r13d,%r8d
+	xorl	%r10d,%r15d
+	rorl	$2,%r14d
+	addl	%r8d,%eax
+	addl	%r15d,%r8d
+	movl	%eax,%r13d
+	addl	%r8d,%r14d
+	rorl	$14,%r13d
+	movl	%r14d,%r8d
+	movl	%ebx,%r12d
+	rorl	$9,%r14d
+	xorl	%eax,%r13d
+	xorl	%ecx,%r12d
+	rorl	$5,%r13d
+	xorl	%r8d,%r14d
+	andl	%eax,%r12d
+	xorl	%eax,%r13d
+	addl	16(%rsp),%edx
+	movl	%r8d,%r15d
+	xorl	%ecx,%r12d
+	rorl	$11,%r14d
+	xorl	%r9d,%r15d
+	addl	%r12d,%edx
+	rorl	$6,%r13d
+	andl	%r15d,%edi
+	xorl	%r8d,%r14d
+	addl	%r13d,%edx
+	xorl	%r9d,%edi
+	rorl	$2,%r14d
+	addl	%edx,%r11d
+	addl	%edi,%edx
+	movl	%r11d,%r13d
+	addl	%edx,%r14d
+	rorl	$14,%r13d
+	movl	%r14d,%edx
+	movl	%eax,%r12d
+	rorl	$9,%r14d
+	xorl	%r11d,%r13d
+	xorl	%ebx,%r12d
+	rorl	$5,%r13d
+	xorl	%edx,%r14d
+	andl	%r11d,%r12d
+	xorl	%r11d,%r13d
+	addl	20(%rsp),%ecx
+	movl	%edx,%edi
+	xorl	%ebx,%r12d
+	rorl	$11,%r14d
+	xorl	%r8d,%edi
+	addl	%r12d,%ecx
+	rorl	$6,%r13d
+	andl	%edi,%r15d
+	xorl	%edx,%r14d
+	addl	%r13d,%ecx
+	xorl	%r8d,%r15d
+	rorl	$2,%r14d
+	addl	%ecx,%r10d
+	addl	%r15d,%ecx
+	movl	%r10d,%r13d
+	addl	%ecx,%r14d
+	rorl	$14,%r13d
+	movl	%r14d,%ecx
+	movl	%r11d,%r12d
+	rorl	$9,%r14d
+	xorl	%r10d,%r13d
+	xorl	%eax,%r12d
+	rorl	$5,%r13d
+	xorl	%ecx,%r14d
+	andl	%r10d,%r12d
+	xorl	%r10d,%r13d
+	addl	24(%rsp),%ebx
+	movl	%ecx,%r15d
+	xorl	%eax,%r12d
+	rorl	$11,%r14d
+	xorl	%edx,%r15d
+	addl	%r12d,%ebx
+	rorl	$6,%r13d
+	andl	%r15d,%edi
+	xorl	%ecx,%r14d
+	addl	%r13d,%ebx
+	xorl	%edx,%edi
+	rorl	$2,%r14d
+	addl	%ebx,%r9d
+	addl	%edi,%ebx
+	movl	%r9d,%r13d
+	addl	%ebx,%r14d
+	rorl	$14,%r13d
+	movl	%r14d,%ebx
+	movl	%r10d,%r12d
+	rorl	$9,%r14d
+	xorl	%r9d,%r13d
+	xorl	%r11d,%r12d
+	rorl	$5,%r13d
+	xorl	%ebx,%r14d
+	andl	%r9d,%r12d
+	xorl	%r9d,%r13d
+	addl	28(%rsp),%eax
+	movl	%ebx,%edi
+	xorl	%r11d,%r12d
+	rorl	$11,%r14d
+	xorl	%ecx,%edi
+	addl	%r12d,%eax
+	rorl	$6,%r13d
+	andl	%edi,%r15d
+	xorl	%ebx,%r14d
+	addl	%r13d,%eax
+	xorl	%ecx,%r15d
+	rorl	$2,%r14d
+	addl	%eax,%r8d
+	addl	%r15d,%eax
+	movl	%r8d,%r13d
+	addl	%eax,%r14d
+	rorl	$14,%r13d
+	movl	%r14d,%eax
+	movl	%r9d,%r12d
+	rorl	$9,%r14d
+	xorl	%r8d,%r13d
+	xorl	%r10d,%r12d
+	rorl	$5,%r13d
+	xorl	%eax,%r14d
+	andl	%r8d,%r12d
+	xorl	%r8d,%r13d
+	addl	32(%rsp),%r11d
+	movl	%eax,%r15d
+	xorl	%r10d,%r12d
+	rorl	$11,%r14d
+	xorl	%ebx,%r15d
+	addl	%r12d,%r11d
+	rorl	$6,%r13d
+	andl	%r15d,%edi
+	xorl	%eax,%r14d
+	addl	%r13d,%r11d
+	xorl	%ebx,%edi
+	rorl	$2,%r14d
+	addl	%r11d,%edx
+	addl	%edi,%r11d
+	movl	%edx,%r13d
+	addl	%r11d,%r14d
+	rorl	$14,%r13d
+	movl	%r14d,%r11d
+	movl	%r8d,%r12d
+	rorl	$9,%r14d
+	xorl	%edx,%r13d
+	xorl	%r9d,%r12d
+	rorl	$5,%r13d
+	xorl	%r11d,%r14d
+	andl	%edx,%r12d
+	xorl	%edx,%r13d
+	addl	36(%rsp),%r10d
+	movl	%r11d,%edi
+	xorl	%r9d,%r12d
+	rorl	$11,%r14d
+	xorl	%eax,%edi
+	addl	%r12d,%r10d
+	rorl	$6,%r13d
+	andl	%edi,%r15d
+	xorl	%r11d,%r14d
+	addl	%r13d,%r10d
+	xorl	%eax,%r15d
+	rorl	$2,%r14d
+	addl	%r10d,%ecx
+	addl	%r15d,%r10d
+	movl	%ecx,%r13d
+	addl	%r10d,%r14d
+	rorl	$14,%r13d
+	movl	%r14d,%r10d
+	movl	%edx,%r12d
+	rorl	$9,%r14d
+	xorl	%ecx,%r13d
+	xorl	%r8d,%r12d
+	rorl	$5,%r13d
+	xorl	%r10d,%r14d
+	andl	%ecx,%r12d
+	xorl	%ecx,%r13d
+	addl	40(%rsp),%r9d
+	movl	%r10d,%r15d
+	xorl	%r8d,%r12d
+	rorl	$11,%r14d
+	xorl	%r11d,%r15d
+	addl	%r12d,%r9d
+	rorl	$6,%r13d
+	andl	%r15d,%edi
+	xorl	%r10d,%r14d
+	addl	%r13d,%r9d
+	xorl	%r11d,%edi
+	rorl	$2,%r14d
+	addl	%r9d,%ebx
+	addl	%edi,%r9d
+	movl	%ebx,%r13d
+	addl	%r9d,%r14d
+	rorl	$14,%r13d
+	movl	%r14d,%r9d
+	movl	%ecx,%r12d
+	rorl	$9,%r14d
+	xorl	%ebx,%r13d
+	xorl	%edx,%r12d
+	rorl	$5,%r13d
+	xorl	%r9d,%r14d
+	andl	%ebx,%r12d
+	xorl	%ebx,%r13d
+	addl	44(%rsp),%r8d
+	movl	%r9d,%edi
+	xorl	%edx,%r12d
+	rorl	$11,%r14d
+	xorl	%r10d,%edi
+	addl	%r12d,%r8d
+	rorl	$6,%r13d
+	andl	%edi,%r15d
+	xorl	%r9d,%r14d
+	addl	%r13d,%r8d
+	xorl	%r10d,%r15d
+	rorl	$2,%r14d
+	addl	%r8d,%eax
+	addl	%r15d,%r8d
+	movl	%eax,%r13d
+	addl	%r8d,%r14d
+	rorl	$14,%r13d
+	movl	%r14d,%r8d
+	movl	%ebx,%r12d
+	rorl	$9,%r14d
+	xorl	%eax,%r13d
+	xorl	%ecx,%r12d
+	rorl	$5,%r13d
+	xorl	%r8d,%r14d
+	andl	%eax,%r12d
+	xorl	%eax,%r13d
+	addl	48(%rsp),%edx
+	movl	%r8d,%r15d
+	xorl	%ecx,%r12d
+	rorl	$11,%r14d
+	xorl	%r9d,%r15d
+	addl	%r12d,%edx
+	rorl	$6,%r13d
+	andl	%r15d,%edi
+	xorl	%r8d,%r14d
+	addl	%r13d,%edx
+	xorl	%r9d,%edi
+	rorl	$2,%r14d
+	addl	%edx,%r11d
+	addl	%edi,%edx
+	movl	%r11d,%r13d
+	addl	%edx,%r14d
+	rorl	$14,%r13d
+	movl	%r14d,%edx
+	movl	%eax,%r12d
+	rorl	$9,%r14d
+	xorl	%r11d,%r13d
+	xorl	%ebx,%r12d
+	rorl	$5,%r13d
+	xorl	%edx,%r14d
+	andl	%r11d,%r12d
+	xorl	%r11d,%r13d
+	addl	52(%rsp),%ecx
+	movl	%edx,%edi
+	xorl	%ebx,%r12d
+	rorl	$11,%r14d
+	xorl	%r8d,%edi
+	addl	%r12d,%ecx
+	rorl	$6,%r13d
+	andl	%edi,%r15d
+	xorl	%edx,%r14d
+	addl	%r13d,%ecx
+	xorl	%r8d,%r15d
+	rorl	$2,%r14d
+	addl	%ecx,%r10d
+	addl	%r15d,%ecx
+	movl	%r10d,%r13d
+	addl	%ecx,%r14d
+	rorl	$14,%r13d
+	movl	%r14d,%ecx
+	movl	%r11d,%r12d
+	rorl	$9,%r14d
+	xorl	%r10d,%r13d
+	xorl	%eax,%r12d
+	rorl	$5,%r13d
+	xorl	%ecx,%r14d
+	andl	%r10d,%r12d
+	xorl	%r10d,%r13d
+	addl	56(%rsp),%ebx
+	movl	%ecx,%r15d
+	xorl	%eax,%r12d
+	rorl	$11,%r14d
+	xorl	%edx,%r15d
+	addl	%r12d,%ebx
+	rorl	$6,%r13d
+	andl	%r15d,%edi
+	xorl	%ecx,%r14d
+	addl	%r13d,%ebx
+	xorl	%edx,%edi
+	rorl	$2,%r14d
+	addl	%ebx,%r9d
+	addl	%edi,%ebx
+	movl	%r9d,%r13d
+	addl	%ebx,%r14d
+	rorl	$14,%r13d
+	movl	%r14d,%ebx
+	movl	%r10d,%r12d
+	rorl	$9,%r14d
+	xorl	%r9d,%r13d
+	xorl	%r11d,%r12d
+	rorl	$5,%r13d
+	xorl	%ebx,%r14d
+	andl	%r9d,%r12d
+	xorl	%r9d,%r13d
+	addl	60(%rsp),%eax
+	movl	%ebx,%edi
+	xorl	%r11d,%r12d
+	rorl	$11,%r14d
+	xorl	%ecx,%edi
+	addl	%r12d,%eax
+	rorl	$6,%r13d
+	andl	%edi,%r15d
+	xorl	%ebx,%r14d
+	addl	%r13d,%eax
+	xorl	%ecx,%r15d
+	rorl	$2,%r14d
+	addl	%eax,%r8d
+	addl	%r15d,%eax
+	movl	%r8d,%r13d
+	addl	%eax,%r14d
+	movq	64+0(%rsp),%rdi
+	movl	%r14d,%eax
+
+	addl	0(%rdi),%eax
+	leaq	64(%rsi),%rsi
+	addl	4(%rdi),%ebx
+	addl	8(%rdi),%ecx
+	addl	12(%rdi),%edx
+	addl	16(%rdi),%r8d
+	addl	20(%rdi),%r9d
+	addl	24(%rdi),%r10d
+	addl	28(%rdi),%r11d
+
+	cmpq	64+16(%rsp),%rsi
+
+	movl	%eax,0(%rdi)
+	movl	%ebx,4(%rdi)
+	movl	%ecx,8(%rdi)
+	movl	%edx,12(%rdi)
+	movl	%r8d,16(%rdi)
+	movl	%r9d,20(%rdi)
+	movl	%r10d,24(%rdi)
+	movl	%r11d,28(%rdi)
+	jb	.Lloop_ssse3
+
+	movq	64+24(%rsp),%rsi
+	movq	-48(%rsi),%r15
+	movq	-40(%rsi),%r14
+	movq	-32(%rsi),%r13
+	movq	-24(%rsi),%r12
+	movq	-16(%rsi),%rbp
+	movq	-8(%rsi),%rbx
+	leaq	(%rsi),%rsp
+.Lepilogue_ssse3:
+	.byte	0xf3,0xc3
+.size	sha256_block_data_order_ssse3,.-sha256_block_data_order_ssse3
+.type	sha256_block_data_order_avx,@function
+.align	64
+sha256_block_data_order_avx:
+.Lavx_shortcut:
+	movq	%rsp,%rax
+	pushq	%rbx
+	pushq	%rbp
+	pushq	%r12
+	pushq	%r13
+	pushq	%r14
+	pushq	%r15
+	shlq	$4,%rdx
+	subq	$96,%rsp
+	leaq	(%rsi,%rdx,4),%rdx
+	andq	$-64,%rsp
+	movq	%rdi,64+0(%rsp)
+	movq	%rsi,64+8(%rsp)
+	movq	%rdx,64+16(%rsp)
+	movq	%rax,64+24(%rsp)
+.Lprologue_avx:
+
+	vzeroupper
+	movl	0(%rdi),%eax
+	movl	4(%rdi),%ebx
+	movl	8(%rdi),%ecx
+	movl	12(%rdi),%edx
+	movl	16(%rdi),%r8d
+	movl	20(%rdi),%r9d
+	movl	24(%rdi),%r10d
+	movl	28(%rdi),%r11d
+	vmovdqa	K256+512+32(%rip),%xmm8
+	vmovdqa	K256+512+64(%rip),%xmm9
+	jmp	.Lloop_avx
+.align	16
+.Lloop_avx:
+	vmovdqa	K256+512(%rip),%xmm7
+	vmovdqu	0(%rsi),%xmm0
+	vmovdqu	16(%rsi),%xmm1
+	vmovdqu	32(%rsi),%xmm2
+	vmovdqu	48(%rsi),%xmm3
+	vpshufb	%xmm7,%xmm0,%xmm0
+	leaq	K256(%rip),%rbp
+	vpshufb	%xmm7,%xmm1,%xmm1
+	vpshufb	%xmm7,%xmm2,%xmm2
+	vpaddd	0(%rbp),%xmm0,%xmm4
+	vpshufb	%xmm7,%xmm3,%xmm3
+	vpaddd	32(%rbp),%xmm1,%xmm5
+	vpaddd	64(%rbp),%xmm2,%xmm6
+	vpaddd	96(%rbp),%xmm3,%xmm7
+	vmovdqa	%xmm4,0(%rsp)
+	movl	%eax,%r14d
+	vmovdqa	%xmm5,16(%rsp)
+	movl	%ebx,%edi
+	vmovdqa	%xmm6,32(%rsp)
+	xorl	%ecx,%edi
+	vmovdqa	%xmm7,48(%rsp)
+	movl	%r8d,%r13d
+	jmp	.Lavx_00_47
+
+.align	16
+.Lavx_00_47:
+	subq	$-128,%rbp
+	vpalignr	$4,%xmm0,%xmm1,%xmm4
+	shrdl	$14,%r13d,%r13d
+	movl	%r14d,%eax
+	movl	%r9d,%r12d
+	vpalignr	$4,%xmm2,%xmm3,%xmm7
+	shrdl	$9,%r14d,%r14d
+	xorl	%r8d,%r13d
+	xorl	%r10d,%r12d
+	vpsrld	$7,%xmm4,%xmm6
+	shrdl	$5,%r13d,%r13d
+	xorl	%eax,%r14d
+	andl	%r8d,%r12d
+	vpaddd	%xmm7,%xmm0,%xmm0
+	xorl	%r8d,%r13d
+	addl	0(%rsp),%r11d
+	movl	%eax,%r15d
+	vpsrld	$3,%xmm4,%xmm7
+	xorl	%r10d,%r12d
+	shrdl	$11,%r14d,%r14d
+	xorl	%ebx,%r15d
+	vpslld	$14,%xmm4,%xmm5
+	addl	%r12d,%r11d
+	shrdl	$6,%r13d,%r13d
+	andl	%r15d,%edi
+	vpxor	%xmm6,%xmm7,%xmm4
+	xorl	%eax,%r14d
+	addl	%r13d,%r11d
+	xorl	%ebx,%edi
+	vpshufd	$250,%xmm3,%xmm7
+	shrdl	$2,%r14d,%r14d
+	addl	%r11d,%edx
+	addl	%edi,%r11d
+	vpsrld	$11,%xmm6,%xmm6
+	movl	%edx,%r13d
+	addl	%r11d,%r14d
+	shrdl	$14,%r13d,%r13d
+	vpxor	%xmm5,%xmm4,%xmm4
+	movl	%r14d,%r11d
+	movl	%r8d,%r12d
+	shrdl	$9,%r14d,%r14d
+	vpslld	$11,%xmm5,%xmm5
+	xorl	%edx,%r13d
+	xorl	%r9d,%r12d
+	shrdl	$5,%r13d,%r13d
+	vpxor	%xmm6,%xmm4,%xmm4
+	xorl	%r11d,%r14d
+	andl	%edx,%r12d
+	xorl	%edx,%r13d
+	vpsrld	$10,%xmm7,%xmm6
+	addl	4(%rsp),%r10d
+	movl	%r11d,%edi
+	xorl	%r9d,%r12d
+	vpxor	%xmm5,%xmm4,%xmm4
+	shrdl	$11,%r14d,%r14d
+	xorl	%eax,%edi
+	addl	%r12d,%r10d
+	vpsrlq	$17,%xmm7,%xmm7
+	shrdl	$6,%r13d,%r13d
+	andl	%edi,%r15d
+	xorl	%r11d,%r14d
+	vpaddd	%xmm4,%xmm0,%xmm0
+	addl	%r13d,%r10d
+	xorl	%eax,%r15d
+	shrdl	$2,%r14d,%r14d
+	vpxor	%xmm7,%xmm6,%xmm6
+	addl	%r10d,%ecx
+	addl	%r15d,%r10d
+	movl	%ecx,%r13d
+	vpsrlq	$2,%xmm7,%xmm7
+	addl	%r10d,%r14d
+	shrdl	$14,%r13d,%r13d
+	movl	%r14d,%r10d
+	vpxor	%xmm7,%xmm6,%xmm6
+	movl	%edx,%r12d
+	shrdl	$9,%r14d,%r14d
+	xorl	%ecx,%r13d
+	vpshufb	%xmm8,%xmm6,%xmm6
+	xorl	%r8d,%r12d
+	shrdl	$5,%r13d,%r13d
+	xorl	%r10d,%r14d
+	vpaddd	%xmm6,%xmm0,%xmm0
+	andl	%ecx,%r12d
+	xorl	%ecx,%r13d
+	addl	8(%rsp),%r9d
+	vpshufd	$80,%xmm0,%xmm7
+	movl	%r10d,%r15d
+	xorl	%r8d,%r12d
+	shrdl	$11,%r14d,%r14d
+	vpsrld	$10,%xmm7,%xmm6
+	xorl	%r11d,%r15d
+	addl	%r12d,%r9d
+	shrdl	$6,%r13d,%r13d
+	vpsrlq	$17,%xmm7,%xmm7
+	andl	%r15d,%edi
+	xorl	%r10d,%r14d
+	addl	%r13d,%r9d
+	vpxor	%xmm7,%xmm6,%xmm6
+	xorl	%r11d,%edi
+	shrdl	$2,%r14d,%r14d
+	addl	%r9d,%ebx
+	vpsrlq	$2,%xmm7,%xmm7
+	addl	%edi,%r9d
+	movl	%ebx,%r13d
+	addl	%r9d,%r14d
+	vpxor	%xmm7,%xmm6,%xmm6
+	shrdl	$14,%r13d,%r13d
+	movl	%r14d,%r9d
+	movl	%ecx,%r12d
+	vpshufb	%xmm9,%xmm6,%xmm6
+	shrdl	$9,%r14d,%r14d
+	xorl	%ebx,%r13d
+	xorl	%edx,%r12d
+	vpaddd	%xmm6,%xmm0,%xmm0
+	shrdl	$5,%r13d,%r13d
+	xorl	%r9d,%r14d
+	andl	%ebx,%r12d
+	vpaddd	0(%rbp),%xmm0,%xmm6
+	xorl	%ebx,%r13d
+	addl	12(%rsp),%r8d
+	movl	%r9d,%edi
+	xorl	%edx,%r12d
+	shrdl	$11,%r14d,%r14d
+	xorl	%r10d,%edi
+	addl	%r12d,%r8d
+	shrdl	$6,%r13d,%r13d
+	andl	%edi,%r15d
+	xorl	%r9d,%r14d
+	addl	%r13d,%r8d
+	xorl	%r10d,%r15d
+	shrdl	$2,%r14d,%r14d
+	addl	%r8d,%eax
+	addl	%r15d,%r8d
+	movl	%eax,%r13d
+	addl	%r8d,%r14d
+	vmovdqa	%xmm6,0(%rsp)
+	vpalignr	$4,%xmm1,%xmm2,%xmm4
+	shrdl	$14,%r13d,%r13d
+	movl	%r14d,%r8d
+	movl	%ebx,%r12d
+	vpalignr	$4,%xmm3,%xmm0,%xmm7
+	shrdl	$9,%r14d,%r14d
+	xorl	%eax,%r13d
+	xorl	%ecx,%r12d
+	vpsrld	$7,%xmm4,%xmm6
+	shrdl	$5,%r13d,%r13d
+	xorl	%r8d,%r14d
+	andl	%eax,%r12d
+	vpaddd	%xmm7,%xmm1,%xmm1
+	xorl	%eax,%r13d
+	addl	16(%rsp),%edx
+	movl	%r8d,%r15d
+	vpsrld	$3,%xmm4,%xmm7
+	xorl	%ecx,%r12d
+	shrdl	$11,%r14d,%r14d
+	xorl	%r9d,%r15d
+	vpslld	$14,%xmm4,%xmm5
+	addl	%r12d,%edx
+	shrdl	$6,%r13d,%r13d
+	andl	%r15d,%edi
+	vpxor	%xmm6,%xmm7,%xmm4
+	xorl	%r8d,%r14d
+	addl	%r13d,%edx
+	xorl	%r9d,%edi
+	vpshufd	$250,%xmm0,%xmm7
+	shrdl	$2,%r14d,%r14d
+	addl	%edx,%r11d
+	addl	%edi,%edx
+	vpsrld	$11,%xmm6,%xmm6
+	movl	%r11d,%r13d
+	addl	%edx,%r14d
+	shrdl	$14,%r13d,%r13d
+	vpxor	%xmm5,%xmm4,%xmm4
+	movl	%r14d,%edx
+	movl	%eax,%r12d
+	shrdl	$9,%r14d,%r14d
+	vpslld	$11,%xmm5,%xmm5
+	xorl	%r11d,%r13d
+	xorl	%ebx,%r12d
+	shrdl	$5,%r13d,%r13d
+	vpxor	%xmm6,%xmm4,%xmm4
+	xorl	%edx,%r14d
+	andl	%r11d,%r12d
+	xorl	%r11d,%r13d
+	vpsrld	$10,%xmm7,%xmm6
+	addl	20(%rsp),%ecx
+	movl	%edx,%edi
+	xorl	%ebx,%r12d
+	vpxor	%xmm5,%xmm4,%xmm4
+	shrdl	$11,%r14d,%r14d
+	xorl	%r8d,%edi
+	addl	%r12d,%ecx
+	vpsrlq	$17,%xmm7,%xmm7
+	shrdl	$6,%r13d,%r13d
+	andl	%edi,%r15d
+	xorl	%edx,%r14d
+	vpaddd	%xmm4,%xmm1,%xmm1
+	addl	%r13d,%ecx
+	xorl	%r8d,%r15d
+	shrdl	$2,%r14d,%r14d
+	vpxor	%xmm7,%xmm6,%xmm6
+	addl	%ecx,%r10d
+	addl	%r15d,%ecx
+	movl	%r10d,%r13d
+	vpsrlq	$2,%xmm7,%xmm7
+	addl	%ecx,%r14d
+	shrdl	$14,%r13d,%r13d
+	movl	%r14d,%ecx
+	vpxor	%xmm7,%xmm6,%xmm6
+	movl	%r11d,%r12d
+	shrdl	$9,%r14d,%r14d
+	xorl	%r10d,%r13d
+	vpshufb	%xmm8,%xmm6,%xmm6
+	xorl	%eax,%r12d
+	shrdl	$5,%r13d,%r13d
+	xorl	%ecx,%r14d
+	vpaddd	%xmm6,%xmm1,%xmm1
+	andl	%r10d,%r12d
+	xorl	%r10d,%r13d
+	addl	24(%rsp),%ebx
+	vpshufd	$80,%xmm1,%xmm7
+	movl	%ecx,%r15d
+	xorl	%eax,%r12d
+	shrdl	$11,%r14d,%r14d
+	vpsrld	$10,%xmm7,%xmm6
+	xorl	%edx,%r15d
+	addl	%r12d,%ebx
+	shrdl	$6,%r13d,%r13d
+	vpsrlq	$17,%xmm7,%xmm7
+	andl	%r15d,%edi
+	xorl	%ecx,%r14d
+	addl	%r13d,%ebx
+	vpxor	%xmm7,%xmm6,%xmm6
+	xorl	%edx,%edi
+	shrdl	$2,%r14d,%r14d
+	addl	%ebx,%r9d
+	vpsrlq	$2,%xmm7,%xmm7
+	addl	%edi,%ebx
+	movl	%r9d,%r13d
+	addl	%ebx,%r14d
+	vpxor	%xmm7,%xmm6,%xmm6
+	shrdl	$14,%r13d,%r13d
+	movl	%r14d,%ebx
+	movl	%r10d,%r12d
+	vpshufb	%xmm9,%xmm6,%xmm6
+	shrdl	$9,%r14d,%r14d
+	xorl	%r9d,%r13d
+	xorl	%r11d,%r12d
+	vpaddd	%xmm6,%xmm1,%xmm1
+	shrdl	$5,%r13d,%r13d
+	xorl	%ebx,%r14d
+	andl	%r9d,%r12d
+	vpaddd	32(%rbp),%xmm1,%xmm6
+	xorl	%r9d,%r13d
+	addl	28(%rsp),%eax
+	movl	%ebx,%edi
+	xorl	%r11d,%r12d
+	shrdl	$11,%r14d,%r14d
+	xorl	%ecx,%edi
+	addl	%r12d,%eax
+	shrdl	$6,%r13d,%r13d
+	andl	%edi,%r15d
+	xorl	%ebx,%r14d
+	addl	%r13d,%eax
+	xorl	%ecx,%r15d
+	shrdl	$2,%r14d,%r14d
+	addl	%eax,%r8d
+	addl	%r15d,%eax
+	movl	%r8d,%r13d
+	addl	%eax,%r14d
+	vmovdqa	%xmm6,16(%rsp)
+	vpalignr	$4,%xmm2,%xmm3,%xmm4
+	shrdl	$14,%r13d,%r13d
+	movl	%r14d,%eax
+	movl	%r9d,%r12d
+	vpalignr	$4,%xmm0,%xmm1,%xmm7
+	shrdl	$9,%r14d,%r14d
+	xorl	%r8d,%r13d
+	xorl	%r10d,%r12d
+	vpsrld	$7,%xmm4,%xmm6
+	shrdl	$5,%r13d,%r13d
+	xorl	%eax,%r14d
+	andl	%r8d,%r12d
+	vpaddd	%xmm7,%xmm2,%xmm2
+	xorl	%r8d,%r13d
+	addl	32(%rsp),%r11d
+	movl	%eax,%r15d
+	vpsrld	$3,%xmm4,%xmm7
+	xorl	%r10d,%r12d
+	shrdl	$11,%r14d,%r14d
+	xorl	%ebx,%r15d
+	vpslld	$14,%xmm4,%xmm5
+	addl	%r12d,%r11d
+	shrdl	$6,%r13d,%r13d
+	andl	%r15d,%edi
+	vpxor	%xmm6,%xmm7,%xmm4
+	xorl	%eax,%r14d
+	addl	%r13d,%r11d
+	xorl	%ebx,%edi
+	vpshufd	$250,%xmm1,%xmm7
+	shrdl	$2,%r14d,%r14d
+	addl	%r11d,%edx
+	addl	%edi,%r11d
+	vpsrld	$11,%xmm6,%xmm6
+	movl	%edx,%r13d
+	addl	%r11d,%r14d
+	shrdl	$14,%r13d,%r13d
+	vpxor	%xmm5,%xmm4,%xmm4
+	movl	%r14d,%r11d
+	movl	%r8d,%r12d
+	shrdl	$9,%r14d,%r14d
+	vpslld	$11,%xmm5,%xmm5
+	xorl	%edx,%r13d
+	xorl	%r9d,%r12d
+	shrdl	$5,%r13d,%r13d
+	vpxor	%xmm6,%xmm4,%xmm4
+	xorl	%r11d,%r14d
+	andl	%edx,%r12d
+	xorl	%edx,%r13d
+	vpsrld	$10,%xmm7,%xmm6
+	addl	36(%rsp),%r10d
+	movl	%r11d,%edi
+	xorl	%r9d,%r12d
+	vpxor	%xmm5,%xmm4,%xmm4
+	shrdl	$11,%r14d,%r14d
+	xorl	%eax,%edi
+	addl	%r12d,%r10d
+	vpsrlq	$17,%xmm7,%xmm7
+	shrdl	$6,%r13d,%r13d
+	andl	%edi,%r15d
+	xorl	%r11d,%r14d
+	vpaddd	%xmm4,%xmm2,%xmm2
+	addl	%r13d,%r10d
+	xorl	%eax,%r15d
+	shrdl	$2,%r14d,%r14d
+	vpxor	%xmm7,%xmm6,%xmm6
+	addl	%r10d,%ecx
+	addl	%r15d,%r10d
+	movl	%ecx,%r13d
+	vpsrlq	$2,%xmm7,%xmm7
+	addl	%r10d,%r14d
+	shrdl	$14,%r13d,%r13d
+	movl	%r14d,%r10d
+	vpxor	%xmm7,%xmm6,%xmm6
+	movl	%edx,%r12d
+	shrdl	$9,%r14d,%r14d
+	xorl	%ecx,%r13d
+	vpshufb	%xmm8,%xmm6,%xmm6
+	xorl	%r8d,%r12d
+	shrdl	$5,%r13d,%r13d
+	xorl	%r10d,%r14d
+	vpaddd	%xmm6,%xmm2,%xmm2
+	andl	%ecx,%r12d
+	xorl	%ecx,%r13d
+	addl	40(%rsp),%r9d
+	vpshufd	$80,%xmm2,%xmm7
+	movl	%r10d,%r15d
+	xorl	%r8d,%r12d
+	shrdl	$11,%r14d,%r14d
+	vpsrld	$10,%xmm7,%xmm6
+	xorl	%r11d,%r15d
+	addl	%r12d,%r9d
+	shrdl	$6,%r13d,%r13d
+	vpsrlq	$17,%xmm7,%xmm7
+	andl	%r15d,%edi
+	xorl	%r10d,%r14d
+	addl	%r13d,%r9d
+	vpxor	%xmm7,%xmm6,%xmm6
+	xorl	%r11d,%edi
+	shrdl	$2,%r14d,%r14d
+	addl	%r9d,%ebx
+	vpsrlq	$2,%xmm7,%xmm7
+	addl	%edi,%r9d
+	movl	%ebx,%r13d
+	addl	%r9d,%r14d
+	vpxor	%xmm7,%xmm6,%xmm6
+	shrdl	$14,%r13d,%r13d
+	movl	%r14d,%r9d
+	movl	%ecx,%r12d
+	vpshufb	%xmm9,%xmm6,%xmm6
+	shrdl	$9,%r14d,%r14d
+	xorl	%ebx,%r13d
+	xorl	%edx,%r12d
+	vpaddd	%xmm6,%xmm2,%xmm2
+	shrdl	$5,%r13d,%r13d
+	xorl	%r9d,%r14d
+	andl	%ebx,%r12d
+	vpaddd	64(%rbp),%xmm2,%xmm6
+	xorl	%ebx,%r13d
+	addl	44(%rsp),%r8d
+	movl	%r9d,%edi
+	xorl	%edx,%r12d
+	shrdl	$11,%r14d,%r14d
+	xorl	%r10d,%edi
+	addl	%r12d,%r8d
+	shrdl	$6,%r13d,%r13d
+	andl	%edi,%r15d
+	xorl	%r9d,%r14d
+	addl	%r13d,%r8d
+	xorl	%r10d,%r15d
+	shrdl	$2,%r14d,%r14d
+	addl	%r8d,%eax
+	addl	%r15d,%r8d
+	movl	%eax,%r13d
+	addl	%r8d,%r14d
+	vmovdqa	%xmm6,32(%rsp)
+	vpalignr	$4,%xmm3,%xmm0,%xmm4
+	shrdl	$14,%r13d,%r13d
+	movl	%r14d,%r8d
+	movl	%ebx,%r12d
+	vpalignr	$4,%xmm1,%xmm2,%xmm7
+	shrdl	$9,%r14d,%r14d
+	xorl	%eax,%r13d
+	xorl	%ecx,%r12d
+	vpsrld	$7,%xmm4,%xmm6
+	shrdl	$5,%r13d,%r13d
+	xorl	%r8d,%r14d
+	andl	%eax,%r12d
+	vpaddd	%xmm7,%xmm3,%xmm3
+	xorl	%eax,%r13d
+	addl	48(%rsp),%edx
+	movl	%r8d,%r15d
+	vpsrld	$3,%xmm4,%xmm7
+	xorl	%ecx,%r12d
+	shrdl	$11,%r14d,%r14d
+	xorl	%r9d,%r15d
+	vpslld	$14,%xmm4,%xmm5
+	addl	%r12d,%edx
+	shrdl	$6,%r13d,%r13d
+	andl	%r15d,%edi
+	vpxor	%xmm6,%xmm7,%xmm4
+	xorl	%r8d,%r14d
+	addl	%r13d,%edx
+	xorl	%r9d,%edi
+	vpshufd	$250,%xmm2,%xmm7
+	shrdl	$2,%r14d,%r14d
+	addl	%edx,%r11d
+	addl	%edi,%edx
+	vpsrld	$11,%xmm6,%xmm6
+	movl	%r11d,%r13d
+	addl	%edx,%r14d
+	shrdl	$14,%r13d,%r13d
+	vpxor	%xmm5,%xmm4,%xmm4
+	movl	%r14d,%edx
+	movl	%eax,%r12d
+	shrdl	$9,%r14d,%r14d
+	vpslld	$11,%xmm5,%xmm5
+	xorl	%r11d,%r13d
+	xorl	%ebx,%r12d
+	shrdl	$5,%r13d,%r13d
+	vpxor	%xmm6,%xmm4,%xmm4
+	xorl	%edx,%r14d
+	andl	%r11d,%r12d
+	xorl	%r11d,%r13d
+	vpsrld	$10,%xmm7,%xmm6
+	addl	52(%rsp),%ecx
+	movl	%edx,%edi
+	xorl	%ebx,%r12d
+	vpxor	%xmm5,%xmm4,%xmm4
+	shrdl	$11,%r14d,%r14d
+	xorl	%r8d,%edi
+	addl	%r12d,%ecx
+	vpsrlq	$17,%xmm7,%xmm7
+	shrdl	$6,%r13d,%r13d
+	andl	%edi,%r15d
+	xorl	%edx,%r14d
+	vpaddd	%xmm4,%xmm3,%xmm3
+	addl	%r13d,%ecx
+	xorl	%r8d,%r15d
+	shrdl	$2,%r14d,%r14d
+	vpxor	%xmm7,%xmm6,%xmm6
+	addl	%ecx,%r10d
+	addl	%r15d,%ecx
+	movl	%r10d,%r13d
+	vpsrlq	$2,%xmm7,%xmm7
+	addl	%ecx,%r14d
+	shrdl	$14,%r13d,%r13d
+	movl	%r14d,%ecx
+	vpxor	%xmm7,%xmm6,%xmm6
+	movl	%r11d,%r12d
+	shrdl	$9,%r14d,%r14d
+	xorl	%r10d,%r13d
+	vpshufb	%xmm8,%xmm6,%xmm6
+	xorl	%eax,%r12d
+	shrdl	$5,%r13d,%r13d
+	xorl	%ecx,%r14d
+	vpaddd	%xmm6,%xmm3,%xmm3
+	andl	%r10d,%r12d
+	xorl	%r10d,%r13d
+	addl	56(%rsp),%ebx
+	vpshufd	$80,%xmm3,%xmm7
+	movl	%ecx,%r15d
+	xorl	%eax,%r12d
+	shrdl	$11,%r14d,%r14d
+	vpsrld	$10,%xmm7,%xmm6
+	xorl	%edx,%r15d
+	addl	%r12d,%ebx
+	shrdl	$6,%r13d,%r13d
+	vpsrlq	$17,%xmm7,%xmm7
+	andl	%r15d,%edi
+	xorl	%ecx,%r14d
+	addl	%r13d,%ebx
+	vpxor	%xmm7,%xmm6,%xmm6
+	xorl	%edx,%edi
+	shrdl	$2,%r14d,%r14d
+	addl	%ebx,%r9d
+	vpsrlq	$2,%xmm7,%xmm7
+	addl	%edi,%ebx
+	movl	%r9d,%r13d
+	addl	%ebx,%r14d
+	vpxor	%xmm7,%xmm6,%xmm6
+	shrdl	$14,%r13d,%r13d
+	movl	%r14d,%ebx
+	movl	%r10d,%r12d
+	vpshufb	%xmm9,%xmm6,%xmm6
+	shrdl	$9,%r14d,%r14d
+	xorl	%r9d,%r13d
+	xorl	%r11d,%r12d
+	vpaddd	%xmm6,%xmm3,%xmm3
+	shrdl	$5,%r13d,%r13d
+	xorl	%ebx,%r14d
+	andl	%r9d,%r12d
+	vpaddd	96(%rbp),%xmm3,%xmm6
+	xorl	%r9d,%r13d
+	addl	60(%rsp),%eax
+	movl	%ebx,%edi
+	xorl	%r11d,%r12d
+	shrdl	$11,%r14d,%r14d
+	xorl	%ecx,%edi
+	addl	%r12d,%eax
+	shrdl	$6,%r13d,%r13d
+	andl	%edi,%r15d
+	xorl	%ebx,%r14d
+	addl	%r13d,%eax
+	xorl	%ecx,%r15d
+	shrdl	$2,%r14d,%r14d
+	addl	%eax,%r8d
+	addl	%r15d,%eax
+	movl	%r8d,%r13d
+	addl	%eax,%r14d
+	vmovdqa	%xmm6,48(%rsp)
+	cmpb	$0,131(%rbp)
+	jne	.Lavx_00_47
+	shrdl	$14,%r13d,%r13d
+	movl	%r14d,%eax
+	movl	%r9d,%r12d
+	shrdl	$9,%r14d,%r14d
+	xorl	%r8d,%r13d
+	xorl	%r10d,%r12d
+	shrdl	$5,%r13d,%r13d
+	xorl	%eax,%r14d
+	andl	%r8d,%r12d
+	xorl	%r8d,%r13d
+	addl	0(%rsp),%r11d
+	movl	%eax,%r15d
+	xorl	%r10d,%r12d
+	shrdl	$11,%r14d,%r14d
+	xorl	%ebx,%r15d
+	addl	%r12d,%r11d
+	shrdl	$6,%r13d,%r13d
+	andl	%r15d,%edi
+	xorl	%eax,%r14d
+	addl	%r13d,%r11d
+	xorl	%ebx,%edi
+	shrdl	$2,%r14d,%r14d
+	addl	%r11d,%edx
+	addl	%edi,%r11d
+	movl	%edx,%r13d
+	addl	%r11d,%r14d
+	shrdl	$14,%r13d,%r13d
+	movl	%r14d,%r11d
+	movl	%r8d,%r12d
+	shrdl	$9,%r14d,%r14d
+	xorl	%edx,%r13d
+	xorl	%r9d,%r12d
+	shrdl	$5,%r13d,%r13d
+	xorl	%r11d,%r14d
+	andl	%edx,%r12d
+	xorl	%edx,%r13d
+	addl	4(%rsp),%r10d
+	movl	%r11d,%edi
+	xorl	%r9d,%r12d
+	shrdl	$11,%r14d,%r14d
+	xorl	%eax,%edi
+	addl	%r12d,%r10d
+	shrdl	$6,%r13d,%r13d
+	andl	%edi,%r15d
+	xorl	%r11d,%r14d
+	addl	%r13d,%r10d
+	xorl	%eax,%r15d
+	shrdl	$2,%r14d,%r14d
+	addl	%r10d,%ecx
+	addl	%r15d,%r10d
+	movl	%ecx,%r13d
+	addl	%r10d,%r14d
+	shrdl	$14,%r13d,%r13d
+	movl	%r14d,%r10d
+	movl	%edx,%r12d
+	shrdl	$9,%r14d,%r14d
+	xorl	%ecx,%r13d
+	xorl	%r8d,%r12d
+	shrdl	$5,%r13d,%r13d
+	xorl	%r10d,%r14d
+	andl	%ecx,%r12d
+	xorl	%ecx,%r13d
+	addl	8(%rsp),%r9d
+	movl	%r10d,%r15d
+	xorl	%r8d,%r12d
+	shrdl	$11,%r14d,%r14d
+	xorl	%r11d,%r15d
+	addl	%r12d,%r9d
+	shrdl	$6,%r13d,%r13d
+	andl	%r15d,%edi
+	xorl	%r10d,%r14d
+	addl	%r13d,%r9d
+	xorl	%r11d,%edi
+	shrdl	$2,%r14d,%r14d
+	addl	%r9d,%ebx
+	addl	%edi,%r9d
+	movl	%ebx,%r13d
+	addl	%r9d,%r14d
+	shrdl	$14,%r13d,%r13d
+	movl	%r14d,%r9d
+	movl	%ecx,%r12d
+	shrdl	$9,%r14d,%r14d
+	xorl	%ebx,%r13d
+	xorl	%edx,%r12d
+	shrdl	$5,%r13d,%r13d
+	xorl	%r9d,%r14d
+	andl	%ebx,%r12d
+	xorl	%ebx,%r13d
+	addl	12(%rsp),%r8d
+	movl	%r9d,%edi
+	xorl	%edx,%r12d
+	shrdl	$11,%r14d,%r14d
+	xorl	%r10d,%edi
+	addl	%r12d,%r8d
+	shrdl	$6,%r13d,%r13d
+	andl	%edi,%r15d
+	xorl	%r9d,%r14d
+	addl	%r13d,%r8d
+	xorl	%r10d,%r15d
+	shrdl	$2,%r14d,%r14d
+	addl	%r8d,%eax
+	addl	%r15d,%r8d
+	movl	%eax,%r13d
+	addl	%r8d,%r14d
+	shrdl	$14,%r13d,%r13d
+	movl	%r14d,%r8d
+	movl	%ebx,%r12d
+	shrdl	$9,%r14d,%r14d
+	xorl	%eax,%r13d
+	xorl	%ecx,%r12d
+	shrdl	$5,%r13d,%r13d
+	xorl	%r8d,%r14d
+	andl	%eax,%r12d
+	xorl	%eax,%r13d
+	addl	16(%rsp),%edx
+	movl	%r8d,%r15d
+	xorl	%ecx,%r12d
+	shrdl	$11,%r14d,%r14d
+	xorl	%r9d,%r15d
+	addl	%r12d,%edx
+	shrdl	$6,%r13d,%r13d
+	andl	%r15d,%edi
+	xorl	%r8d,%r14d
+	addl	%r13d,%edx
+	xorl	%r9d,%edi
+	shrdl	$2,%r14d,%r14d
+	addl	%edx,%r11d
+	addl	%edi,%edx
+	movl	%r11d,%r13d
+	addl	%edx,%r14d
+	shrdl	$14,%r13d,%r13d
+	movl	%r14d,%edx
+	movl	%eax,%r12d
+	shrdl	$9,%r14d,%r14d
+	xorl	%r11d,%r13d
+	xorl	%ebx,%r12d
+	shrdl	$5,%r13d,%r13d
+	xorl	%edx,%r14d
+	andl	%r11d,%r12d
+	xorl	%r11d,%r13d
+	addl	20(%rsp),%ecx
+	movl	%edx,%edi
+	xorl	%ebx,%r12d
+	shrdl	$11,%r14d,%r14d
+	xorl	%r8d,%edi
+	addl	%r12d,%ecx
+	shrdl	$6,%r13d,%r13d
+	andl	%edi,%r15d
+	xorl	%edx,%r14d
+	addl	%r13d,%ecx
+	xorl	%r8d,%r15d
+	shrdl	$2,%r14d,%r14d
+	addl	%ecx,%r10d
+	addl	%r15d,%ecx
+	movl	%r10d,%r13d
+	addl	%ecx,%r14d
+	shrdl	$14,%r13d,%r13d
+	movl	%r14d,%ecx
+	movl	%r11d,%r12d
+	shrdl	$9,%r14d,%r14d
+	xorl	%r10d,%r13d
+	xorl	%eax,%r12d
+	shrdl	$5,%r13d,%r13d
+	xorl	%ecx,%r14d
+	andl	%r10d,%r12d
+	xorl	%r10d,%r13d
+	addl	24(%rsp),%ebx
+	movl	%ecx,%r15d
+	xorl	%eax,%r12d
+	shrdl	$11,%r14d,%r14d
+	xorl	%edx,%r15d
+	addl	%r12d,%ebx
+	shrdl	$6,%r13d,%r13d
+	andl	%r15d,%edi
+	xorl	%ecx,%r14d
+	addl	%r13d,%ebx
+	xorl	%edx,%edi
+	shrdl	$2,%r14d,%r14d
+	addl	%ebx,%r9d
+	addl	%edi,%ebx
+	movl	%r9d,%r13d
+	addl	%ebx,%r14d
+	shrdl	$14,%r13d,%r13d
+	movl	%r14d,%ebx
+	movl	%r10d,%r12d
+	shrdl	$9,%r14d,%r14d
+	xorl	%r9d,%r13d
+	xorl	%r11d,%r12d
+	shrdl	$5,%r13d,%r13d
+	xorl	%ebx,%r14d
+	andl	%r9d,%r12d
+	xorl	%r9d,%r13d
+	addl	28(%rsp),%eax
+	movl	%ebx,%edi
+	xorl	%r11d,%r12d
+	shrdl	$11,%r14d,%r14d
+	xorl	%ecx,%edi
+	addl	%r12d,%eax
+	shrdl	$6,%r13d,%r13d
+	andl	%edi,%r15d
+	xorl	%ebx,%r14d
+	addl	%r13d,%eax
+	xorl	%ecx,%r15d
+	shrdl	$2,%r14d,%r14d
+	addl	%eax,%r8d
+	addl	%r15d,%eax
+	movl	%r8d,%r13d
+	addl	%eax,%r14d
+	shrdl	$14,%r13d,%r13d
+	movl	%r14d,%eax
+	movl	%r9d,%r12d
+	shrdl	$9,%r14d,%r14d
+	xorl	%r8d,%r13d
+	xorl	%r10d,%r12d
+	shrdl	$5,%r13d,%r13d
+	xorl	%eax,%r14d
+	andl	%r8d,%r12d
+	xorl	%r8d,%r13d
+	addl	32(%rsp),%r11d
+	movl	%eax,%r15d
+	xorl	%r10d,%r12d
+	shrdl	$11,%r14d,%r14d
+	xorl	%ebx,%r15d
+	addl	%r12d,%r11d
+	shrdl	$6,%r13d,%r13d
+	andl	%r15d,%edi
+	xorl	%eax,%r14d
+	addl	%r13d,%r11d
+	xorl	%ebx,%edi
+	shrdl	$2,%r14d,%r14d
+	addl	%r11d,%edx
+	addl	%edi,%r11d
+	movl	%edx,%r13d
+	addl	%r11d,%r14d
+	shrdl	$14,%r13d,%r13d
+	movl	%r14d,%r11d
+	movl	%r8d,%r12d
+	shrdl	$9,%r14d,%r14d
+	xorl	%edx,%r13d
+	xorl	%r9d,%r12d
+	shrdl	$5,%r13d,%r13d
+	xorl	%r11d,%r14d
+	andl	%edx,%r12d
+	xorl	%edx,%r13d
+	addl	36(%rsp),%r10d
+	movl	%r11d,%edi
+	xorl	%r9d,%r12d
+	shrdl	$11,%r14d,%r14d
+	xorl	%eax,%edi
+	addl	%r12d,%r10d
+	shrdl	$6,%r13d,%r13d
+	andl	%edi,%r15d
+	xorl	%r11d,%r14d
+	addl	%r13d,%r10d
+	xorl	%eax,%r15d
+	shrdl	$2,%r14d,%r14d
+	addl	%r10d,%ecx
+	addl	%r15d,%r10d
+	movl	%ecx,%r13d
+	addl	%r10d,%r14d
+	shrdl	$14,%r13d,%r13d
+	movl	%r14d,%r10d
+	movl	%edx,%r12d
+	shrdl	$9,%r14d,%r14d
+	xorl	%ecx,%r13d
+	xorl	%r8d,%r12d
+	shrdl	$5,%r13d,%r13d
+	xorl	%r10d,%r14d
+	andl	%ecx,%r12d
+	xorl	%ecx,%r13d
+	addl	40(%rsp),%r9d
+	movl	%r10d,%r15d
+	xorl	%r8d,%r12d
+	shrdl	$11,%r14d,%r14d
+	xorl	%r11d,%r15d
+	addl	%r12d,%r9d
+	shrdl	$6,%r13d,%r13d
+	andl	%r15d,%edi
+	xorl	%r10d,%r14d
+	addl	%r13d,%r9d
+	xorl	%r11d,%edi
+	shrdl	$2,%r14d,%r14d
+	addl	%r9d,%ebx
+	addl	%edi,%r9d
+	movl	%ebx,%r13d
+	addl	%r9d,%r14d
+	shrdl	$14,%r13d,%r13d
+	movl	%r14d,%r9d
+	movl	%ecx,%r12d
+	shrdl	$9,%r14d,%r14d
+	xorl	%ebx,%r13d
+	xorl	%edx,%r12d
+	shrdl	$5,%r13d,%r13d
+	xorl	%r9d,%r14d
+	andl	%ebx,%r12d
+	xorl	%ebx,%r13d
+	addl	44(%rsp),%r8d
+	movl	%r9d,%edi
+	xorl	%edx,%r12d
+	shrdl	$11,%r14d,%r14d
+	xorl	%r10d,%edi
+	addl	%r12d,%r8d
+	shrdl	$6,%r13d,%r13d
+	andl	%edi,%r15d
+	xorl	%r9d,%r14d
+	addl	%r13d,%r8d
+	xorl	%r10d,%r15d
+	shrdl	$2,%r14d,%r14d
+	addl	%r8d,%eax
+	addl	%r15d,%r8d
+	movl	%eax,%r13d
+	addl	%r8d,%r14d
+	shrdl	$14,%r13d,%r13d
+	movl	%r14d,%r8d
+	movl	%ebx,%r12d
+	shrdl	$9,%r14d,%r14d
+	xorl	%eax,%r13d
+	xorl	%ecx,%r12d
+	shrdl	$5,%r13d,%r13d
+	xorl	%r8d,%r14d
+	andl	%eax,%r12d
+	xorl	%eax,%r13d
+	addl	48(%rsp),%edx
+	movl	%r8d,%r15d
+	xorl	%ecx,%r12d
+	shrdl	$11,%r14d,%r14d
+	xorl	%r9d,%r15d
+	addl	%r12d,%edx
+	shrdl	$6,%r13d,%r13d
+	andl	%r15d,%edi
+	xorl	%r8d,%r14d
+	addl	%r13d,%edx
+	xorl	%r9d,%edi
+	shrdl	$2,%r14d,%r14d
+	addl	%edx,%r11d
+	addl	%edi,%edx
+	movl	%r11d,%r13d
+	addl	%edx,%r14d
+	shrdl	$14,%r13d,%r13d
+	movl	%r14d,%edx
+	movl	%eax,%r12d
+	shrdl	$9,%r14d,%r14d
+	xorl	%r11d,%r13d
+	xorl	%ebx,%r12d
+	shrdl	$5,%r13d,%r13d
+	xorl	%edx,%r14d
+	andl	%r11d,%r12d
+	xorl	%r11d,%r13d
+	addl	52(%rsp),%ecx
+	movl	%edx,%edi
+	xorl	%ebx,%r12d
+	shrdl	$11,%r14d,%r14d
+	xorl	%r8d,%edi
+	addl	%r12d,%ecx
+	shrdl	$6,%r13d,%r13d
+	andl	%edi,%r15d
+	xorl	%edx,%r14d
+	addl	%r13d,%ecx
+	xorl	%r8d,%r15d
+	shrdl	$2,%r14d,%r14d
+	addl	%ecx,%r10d
+	addl	%r15d,%ecx
+	movl	%r10d,%r13d
+	addl	%ecx,%r14d
+	shrdl	$14,%r13d,%r13d
+	movl	%r14d,%ecx
+	movl	%r11d,%r12d
+	shrdl	$9,%r14d,%r14d
+	xorl	%r10d,%r13d
+	xorl	%eax,%r12d
+	shrdl	$5,%r13d,%r13d
+	xorl	%ecx,%r14d
+	andl	%r10d,%r12d
+	xorl	%r10d,%r13d
+	addl	56(%rsp),%ebx
+	movl	%ecx,%r15d
+	xorl	%eax,%r12d
+	shrdl	$11,%r14d,%r14d
+	xorl	%edx,%r15d
+	addl	%r12d,%ebx
+	shrdl	$6,%r13d,%r13d
+	andl	%r15d,%edi
+	xorl	%ecx,%r14d
+	addl	%r13d,%ebx
+	xorl	%edx,%edi
+	shrdl	$2,%r14d,%r14d
+	addl	%ebx,%r9d
+	addl	%edi,%ebx
+	movl	%r9d,%r13d
+	addl	%ebx,%r14d
+	shrdl	$14,%r13d,%r13d
+	movl	%r14d,%ebx
+	movl	%r10d,%r12d
+	shrdl	$9,%r14d,%r14d
+	xorl	%r9d,%r13d
+	xorl	%r11d,%r12d
+	shrdl	$5,%r13d,%r13d
+	xorl	%ebx,%r14d
+	andl	%r9d,%r12d
+	xorl	%r9d,%r13d
+	addl	60(%rsp),%eax
+	movl	%ebx,%edi
+	xorl	%r11d,%r12d
+	shrdl	$11,%r14d,%r14d
+	xorl	%ecx,%edi
+	addl	%r12d,%eax
+	shrdl	$6,%r13d,%r13d
+	andl	%edi,%r15d
+	xorl	%ebx,%r14d
+	addl	%r13d,%eax
+	xorl	%ecx,%r15d
+	shrdl	$2,%r14d,%r14d
+	addl	%eax,%r8d
+	addl	%r15d,%eax
+	movl	%r8d,%r13d
+	addl	%eax,%r14d
+	movq	64+0(%rsp),%rdi
+	movl	%r14d,%eax
+
+	addl	0(%rdi),%eax
+	leaq	64(%rsi),%rsi
+	addl	4(%rdi),%ebx
+	addl	8(%rdi),%ecx
+	addl	12(%rdi),%edx
+	addl	16(%rdi),%r8d
+	addl	20(%rdi),%r9d
+	addl	24(%rdi),%r10d
+	addl	28(%rdi),%r11d
+
+	cmpq	64+16(%rsp),%rsi
+
+	movl	%eax,0(%rdi)
+	movl	%ebx,4(%rdi)
+	movl	%ecx,8(%rdi)
+	movl	%edx,12(%rdi)
+	movl	%r8d,16(%rdi)
+	movl	%r9d,20(%rdi)
+	movl	%r10d,24(%rdi)
+	movl	%r11d,28(%rdi)
+	jb	.Lloop_avx
+
+	movq	64+24(%rsp),%rsi
+	vzeroupper
+	movq	-48(%rsi),%r15
+	movq	-40(%rsi),%r14
+	movq	-32(%rsi),%r13
+	movq	-24(%rsi),%r12
+	movq	-16(%rsi),%rbp
+	movq	-8(%rsi),%rbx
+	leaq	(%rsi),%rsp
+.Lepilogue_avx:
+	.byte	0xf3,0xc3
+.size	sha256_block_data_order_avx,.-sha256_block_data_order_avx
+#endif
diff --git a/third_party/boringssl/linux-x86_64/crypto/fipsmodule/sha512-x86_64.S b/third_party/boringssl/linux-x86_64/crypto/fipsmodule/sha512-x86_64.S
new file mode 100644
index 0000000..6eedfbcc
--- /dev/null
+++ b/third_party/boringssl/linux-x86_64/crypto/fipsmodule/sha512-x86_64.S
@@ -0,0 +1,4030 @@
+#if defined(__x86_64__) && !defined(OPENSSL_NO_ASM)
+.text	
+
+.extern	OPENSSL_ia32cap_addr
+.hidden OPENSSL_ia32cap_addr
+.globl	sha512_block_data_order
+.hidden sha512_block_data_order
+.type	sha512_block_data_order,@function
+.align	16
+sha512_block_data_order:
+	leaq	OPENSSL_ia32cap_addr(%rip),%r11
+	movq	(%r11),%r11
+	movl	0(%r11),%r9d
+	movl	4(%r11),%r10d
+	movl	8(%r11),%r11d
+	testl	$2048,%r10d
+	jnz	.Lxop_shortcut
+	andl	$1073741824,%r9d
+	andl	$268435968,%r10d
+	orl	%r9d,%r10d
+	cmpl	$1342177792,%r10d
+	je	.Lavx_shortcut
+	movq	%rsp,%rax
+	pushq	%rbx
+	pushq	%rbp
+	pushq	%r12
+	pushq	%r13
+	pushq	%r14
+	pushq	%r15
+	shlq	$4,%rdx
+	subq	$128+32,%rsp
+	leaq	(%rsi,%rdx,8),%rdx
+	andq	$-64,%rsp
+	movq	%rdi,128+0(%rsp)
+	movq	%rsi,128+8(%rsp)
+	movq	%rdx,128+16(%rsp)
+	movq	%rax,128+24(%rsp)
+.Lprologue:
+
+	movq	0(%rdi),%rax
+	movq	8(%rdi),%rbx
+	movq	16(%rdi),%rcx
+	movq	24(%rdi),%rdx
+	movq	32(%rdi),%r8
+	movq	40(%rdi),%r9
+	movq	48(%rdi),%r10
+	movq	56(%rdi),%r11
+
+	jmp	.Lloop
+
+.align	16
+.Lloop:
+	movq	%rbx,%rdi
+	leaq	K512(%rip),%rbp
+	xorq	%rcx,%rdi
+	movq	0(%rsi),%r12
+	movq	%r8,%r13
+	movq	%rax,%r14
+	bswapq	%r12
+	rorq	$23,%r13
+	movq	%r9,%r15
+
+	xorq	%r8,%r13
+	rorq	$5,%r14
+	xorq	%r10,%r15
+
+	movq	%r12,0(%rsp)
+	xorq	%rax,%r14
+	andq	%r8,%r15
+
+	rorq	$4,%r13
+	addq	%r11,%r12
+	xorq	%r10,%r15
+
+	rorq	$6,%r14
+	xorq	%r8,%r13
+	addq	%r15,%r12
+
+	movq	%rax,%r15
+	addq	(%rbp),%r12
+	xorq	%rax,%r14
+
+	xorq	%rbx,%r15
+	rorq	$14,%r13
+	movq	%rbx,%r11
+
+	andq	%r15,%rdi
+	rorq	$28,%r14
+	addq	%r13,%r12
+
+	xorq	%rdi,%r11
+	addq	%r12,%rdx
+	addq	%r12,%r11
+
+	leaq	8(%rbp),%rbp
+	addq	%r14,%r11
+	movq	8(%rsi),%r12
+	movq	%rdx,%r13
+	movq	%r11,%r14
+	bswapq	%r12
+	rorq	$23,%r13
+	movq	%r8,%rdi
+
+	xorq	%rdx,%r13
+	rorq	$5,%r14
+	xorq	%r9,%rdi
+
+	movq	%r12,8(%rsp)
+	xorq	%r11,%r14
+	andq	%rdx,%rdi
+
+	rorq	$4,%r13
+	addq	%r10,%r12
+	xorq	%r9,%rdi
+
+	rorq	$6,%r14
+	xorq	%rdx,%r13
+	addq	%rdi,%r12
+
+	movq	%r11,%rdi
+	addq	(%rbp),%r12
+	xorq	%r11,%r14
+
+	xorq	%rax,%rdi
+	rorq	$14,%r13
+	movq	%rax,%r10
+
+	andq	%rdi,%r15
+	rorq	$28,%r14
+	addq	%r13,%r12
+
+	xorq	%r15,%r10
+	addq	%r12,%rcx
+	addq	%r12,%r10
+
+	leaq	24(%rbp),%rbp
+	addq	%r14,%r10
+	movq	16(%rsi),%r12
+	movq	%rcx,%r13
+	movq	%r10,%r14
+	bswapq	%r12
+	rorq	$23,%r13
+	movq	%rdx,%r15
+
+	xorq	%rcx,%r13
+	rorq	$5,%r14
+	xorq	%r8,%r15
+
+	movq	%r12,16(%rsp)
+	xorq	%r10,%r14
+	andq	%rcx,%r15
+
+	rorq	$4,%r13
+	addq	%r9,%r12
+	xorq	%r8,%r15
+
+	rorq	$6,%r14
+	xorq	%rcx,%r13
+	addq	%r15,%r12
+
+	movq	%r10,%r15
+	addq	(%rbp),%r12
+	xorq	%r10,%r14
+
+	xorq	%r11,%r15
+	rorq	$14,%r13
+	movq	%r11,%r9
+
+	andq	%r15,%rdi
+	rorq	$28,%r14
+	addq	%r13,%r12
+
+	xorq	%rdi,%r9
+	addq	%r12,%rbx
+	addq	%r12,%r9
+
+	leaq	8(%rbp),%rbp
+	addq	%r14,%r9
+	movq	24(%rsi),%r12
+	movq	%rbx,%r13
+	movq	%r9,%r14
+	bswapq	%r12
+	rorq	$23,%r13
+	movq	%rcx,%rdi
+
+	xorq	%rbx,%r13
+	rorq	$5,%r14
+	xorq	%rdx,%rdi
+
+	movq	%r12,24(%rsp)
+	xorq	%r9,%r14
+	andq	%rbx,%rdi
+
+	rorq	$4,%r13
+	addq	%r8,%r12
+	xorq	%rdx,%rdi
+
+	rorq	$6,%r14
+	xorq	%rbx,%r13
+	addq	%rdi,%r12
+
+	movq	%r9,%rdi
+	addq	(%rbp),%r12
+	xorq	%r9,%r14
+
+	xorq	%r10,%rdi
+	rorq	$14,%r13
+	movq	%r10,%r8
+
+	andq	%rdi,%r15
+	rorq	$28,%r14
+	addq	%r13,%r12
+
+	xorq	%r15,%r8
+	addq	%r12,%rax
+	addq	%r12,%r8
+
+	leaq	24(%rbp),%rbp
+	addq	%r14,%r8
+	movq	32(%rsi),%r12
+	movq	%rax,%r13
+	movq	%r8,%r14
+	bswapq	%r12
+	rorq	$23,%r13
+	movq	%rbx,%r15
+
+	xorq	%rax,%r13
+	rorq	$5,%r14
+	xorq	%rcx,%r15
+
+	movq	%r12,32(%rsp)
+	xorq	%r8,%r14
+	andq	%rax,%r15
+
+	rorq	$4,%r13
+	addq	%rdx,%r12
+	xorq	%rcx,%r15
+
+	rorq	$6,%r14
+	xorq	%rax,%r13
+	addq	%r15,%r12
+
+	movq	%r8,%r15
+	addq	(%rbp),%r12
+	xorq	%r8,%r14
+
+	xorq	%r9,%r15
+	rorq	$14,%r13
+	movq	%r9,%rdx
+
+	andq	%r15,%rdi
+	rorq	$28,%r14
+	addq	%r13,%r12
+
+	xorq	%rdi,%rdx
+	addq	%r12,%r11
+	addq	%r12,%rdx
+
+	leaq	8(%rbp),%rbp
+	addq	%r14,%rdx
+	movq	40(%rsi),%r12
+	movq	%r11,%r13
+	movq	%rdx,%r14
+	bswapq	%r12
+	rorq	$23,%r13
+	movq	%rax,%rdi
+
+	xorq	%r11,%r13
+	rorq	$5,%r14
+	xorq	%rbx,%rdi
+
+	movq	%r12,40(%rsp)
+	xorq	%rdx,%r14
+	andq	%r11,%rdi
+
+	rorq	$4,%r13
+	addq	%rcx,%r12
+	xorq	%rbx,%rdi
+
+	rorq	$6,%r14
+	xorq	%r11,%r13
+	addq	%rdi,%r12
+
+	movq	%rdx,%rdi
+	addq	(%rbp),%r12
+	xorq	%rdx,%r14
+
+	xorq	%r8,%rdi
+	rorq	$14,%r13
+	movq	%r8,%rcx
+
+	andq	%rdi,%r15
+	rorq	$28,%r14
+	addq	%r13,%r12
+
+	xorq	%r15,%rcx
+	addq	%r12,%r10
+	addq	%r12,%rcx
+
+	leaq	24(%rbp),%rbp
+	addq	%r14,%rcx
+	movq	48(%rsi),%r12
+	movq	%r10,%r13
+	movq	%rcx,%r14
+	bswapq	%r12
+	rorq	$23,%r13
+	movq	%r11,%r15
+
+	xorq	%r10,%r13
+	rorq	$5,%r14
+	xorq	%rax,%r15
+
+	movq	%r12,48(%rsp)
+	xorq	%rcx,%r14
+	andq	%r10,%r15
+
+	rorq	$4,%r13
+	addq	%rbx,%r12
+	xorq	%rax,%r15
+
+	rorq	$6,%r14
+	xorq	%r10,%r13
+	addq	%r15,%r12
+
+	movq	%rcx,%r15
+	addq	(%rbp),%r12
+	xorq	%rcx,%r14
+
+	xorq	%rdx,%r15
+	rorq	$14,%r13
+	movq	%rdx,%rbx
+
+	andq	%r15,%rdi
+	rorq	$28,%r14
+	addq	%r13,%r12
+
+	xorq	%rdi,%rbx
+	addq	%r12,%r9
+	addq	%r12,%rbx
+
+	leaq	8(%rbp),%rbp
+	addq	%r14,%rbx
+	movq	56(%rsi),%r12
+	movq	%r9,%r13
+	movq	%rbx,%r14
+	bswapq	%r12
+	rorq	$23,%r13
+	movq	%r10,%rdi
+
+	xorq	%r9,%r13
+	rorq	$5,%r14
+	xorq	%r11,%rdi
+
+	movq	%r12,56(%rsp)
+	xorq	%rbx,%r14
+	andq	%r9,%rdi
+
+	rorq	$4,%r13
+	addq	%rax,%r12
+	xorq	%r11,%rdi
+
+	rorq	$6,%r14
+	xorq	%r9,%r13
+	addq	%rdi,%r12
+
+	movq	%rbx,%rdi
+	addq	(%rbp),%r12
+	xorq	%rbx,%r14
+
+	xorq	%rcx,%rdi
+	rorq	$14,%r13
+	movq	%rcx,%rax
+
+	andq	%rdi,%r15
+	rorq	$28,%r14
+	addq	%r13,%r12
+
+	xorq	%r15,%rax
+	addq	%r12,%r8
+	addq	%r12,%rax
+
+	leaq	24(%rbp),%rbp
+	addq	%r14,%rax
+	movq	64(%rsi),%r12
+	movq	%r8,%r13
+	movq	%rax,%r14
+	bswapq	%r12
+	rorq	$23,%r13
+	movq	%r9,%r15
+
+	xorq	%r8,%r13
+	rorq	$5,%r14
+	xorq	%r10,%r15
+
+	movq	%r12,64(%rsp)
+	xorq	%rax,%r14
+	andq	%r8,%r15
+
+	rorq	$4,%r13
+	addq	%r11,%r12
+	xorq	%r10,%r15
+
+	rorq	$6,%r14
+	xorq	%r8,%r13
+	addq	%r15,%r12
+
+	movq	%rax,%r15
+	addq	(%rbp),%r12
+	xorq	%rax,%r14
+
+	xorq	%rbx,%r15
+	rorq	$14,%r13
+	movq	%rbx,%r11
+
+	andq	%r15,%rdi
+	rorq	$28,%r14
+	addq	%r13,%r12
+
+	xorq	%rdi,%r11
+	addq	%r12,%rdx
+	addq	%r12,%r11
+
+	leaq	8(%rbp),%rbp
+	addq	%r14,%r11
+	movq	72(%rsi),%r12
+	movq	%rdx,%r13
+	movq	%r11,%r14
+	bswapq	%r12
+	rorq	$23,%r13
+	movq	%r8,%rdi
+
+	xorq	%rdx,%r13
+	rorq	$5,%r14
+	xorq	%r9,%rdi
+
+	movq	%r12,72(%rsp)
+	xorq	%r11,%r14
+	andq	%rdx,%rdi
+
+	rorq	$4,%r13
+	addq	%r10,%r12
+	xorq	%r9,%rdi
+
+	rorq	$6,%r14
+	xorq	%rdx,%r13
+	addq	%rdi,%r12
+
+	movq	%r11,%rdi
+	addq	(%rbp),%r12
+	xorq	%r11,%r14
+
+	xorq	%rax,%rdi
+	rorq	$14,%r13
+	movq	%rax,%r10
+
+	andq	%rdi,%r15
+	rorq	$28,%r14
+	addq	%r13,%r12
+
+	xorq	%r15,%r10
+	addq	%r12,%rcx
+	addq	%r12,%r10
+
+	leaq	24(%rbp),%rbp
+	addq	%r14,%r10
+	movq	80(%rsi),%r12
+	movq	%rcx,%r13
+	movq	%r10,%r14
+	bswapq	%r12
+	rorq	$23,%r13
+	movq	%rdx,%r15
+
+	xorq	%rcx,%r13
+	rorq	$5,%r14
+	xorq	%r8,%r15
+
+	movq	%r12,80(%rsp)
+	xorq	%r10,%r14
+	andq	%rcx,%r15
+
+	rorq	$4,%r13
+	addq	%r9,%r12
+	xorq	%r8,%r15
+
+	rorq	$6,%r14
+	xorq	%rcx,%r13
+	addq	%r15,%r12
+
+	movq	%r10,%r15
+	addq	(%rbp),%r12
+	xorq	%r10,%r14
+
+	xorq	%r11,%r15
+	rorq	$14,%r13
+	movq	%r11,%r9
+
+	andq	%r15,%rdi
+	rorq	$28,%r14
+	addq	%r13,%r12
+
+	xorq	%rdi,%r9
+	addq	%r12,%rbx
+	addq	%r12,%r9
+
+	leaq	8(%rbp),%rbp
+	addq	%r14,%r9
+	movq	88(%rsi),%r12
+	movq	%rbx,%r13
+	movq	%r9,%r14
+	bswapq	%r12
+	rorq	$23,%r13
+	movq	%rcx,%rdi
+
+	xorq	%rbx,%r13
+	rorq	$5,%r14
+	xorq	%rdx,%rdi
+
+	movq	%r12,88(%rsp)
+	xorq	%r9,%r14
+	andq	%rbx,%rdi
+
+	rorq	$4,%r13
+	addq	%r8,%r12
+	xorq	%rdx,%rdi
+
+	rorq	$6,%r14
+	xorq	%rbx,%r13
+	addq	%rdi,%r12
+
+	movq	%r9,%rdi
+	addq	(%rbp),%r12
+	xorq	%r9,%r14
+
+	xorq	%r10,%rdi
+	rorq	$14,%r13
+	movq	%r10,%r8
+
+	andq	%rdi,%r15
+	rorq	$28,%r14
+	addq	%r13,%r12
+
+	xorq	%r15,%r8
+	addq	%r12,%rax
+	addq	%r12,%r8
+
+	leaq	24(%rbp),%rbp
+	addq	%r14,%r8
+	movq	96(%rsi),%r12
+	movq	%rax,%r13
+	movq	%r8,%r14
+	bswapq	%r12
+	rorq	$23,%r13
+	movq	%rbx,%r15
+
+	xorq	%rax,%r13
+	rorq	$5,%r14
+	xorq	%rcx,%r15
+
+	movq	%r12,96(%rsp)
+	xorq	%r8,%r14
+	andq	%rax,%r15
+
+	rorq	$4,%r13
+	addq	%rdx,%r12
+	xorq	%rcx,%r15
+
+	rorq	$6,%r14
+	xorq	%rax,%r13
+	addq	%r15,%r12
+
+	movq	%r8,%r15
+	addq	(%rbp),%r12
+	xorq	%r8,%r14
+
+	xorq	%r9,%r15
+	rorq	$14,%r13
+	movq	%r9,%rdx
+
+	andq	%r15,%rdi
+	rorq	$28,%r14
+	addq	%r13,%r12
+
+	xorq	%rdi,%rdx
+	addq	%r12,%r11
+	addq	%r12,%rdx
+
+	leaq	8(%rbp),%rbp
+	addq	%r14,%rdx
+	movq	104(%rsi),%r12
+	movq	%r11,%r13
+	movq	%rdx,%r14
+	bswapq	%r12
+	rorq	$23,%r13
+	movq	%rax,%rdi
+
+	xorq	%r11,%r13
+	rorq	$5,%r14
+	xorq	%rbx,%rdi
+
+	movq	%r12,104(%rsp)
+	xorq	%rdx,%r14
+	andq	%r11,%rdi
+
+	rorq	$4,%r13
+	addq	%rcx,%r12
+	xorq	%rbx,%rdi
+
+	rorq	$6,%r14
+	xorq	%r11,%r13
+	addq	%rdi,%r12
+
+	movq	%rdx,%rdi
+	addq	(%rbp),%r12
+	xorq	%rdx,%r14
+
+	xorq	%r8,%rdi
+	rorq	$14,%r13
+	movq	%r8,%rcx
+
+	andq	%rdi,%r15
+	rorq	$28,%r14
+	addq	%r13,%r12
+
+	xorq	%r15,%rcx
+	addq	%r12,%r10
+	addq	%r12,%rcx
+
+	leaq	24(%rbp),%rbp
+	addq	%r14,%rcx
+	movq	112(%rsi),%r12
+	movq	%r10,%r13
+	movq	%rcx,%r14
+	bswapq	%r12
+	rorq	$23,%r13
+	movq	%r11,%r15
+
+	xorq	%r10,%r13
+	rorq	$5,%r14
+	xorq	%rax,%r15
+
+	movq	%r12,112(%rsp)
+	xorq	%rcx,%r14
+	andq	%r10,%r15
+
+	rorq	$4,%r13
+	addq	%rbx,%r12
+	xorq	%rax,%r15
+
+	rorq	$6,%r14
+	xorq	%r10,%r13
+	addq	%r15,%r12
+
+	movq	%rcx,%r15
+	addq	(%rbp),%r12
+	xorq	%rcx,%r14
+
+	xorq	%rdx,%r15
+	rorq	$14,%r13
+	movq	%rdx,%rbx
+
+	andq	%r15,%rdi
+	rorq	$28,%r14
+	addq	%r13,%r12
+
+	xorq	%rdi,%rbx
+	addq	%r12,%r9
+	addq	%r12,%rbx
+
+	leaq	8(%rbp),%rbp
+	addq	%r14,%rbx
+	movq	120(%rsi),%r12
+	movq	%r9,%r13
+	movq	%rbx,%r14
+	bswapq	%r12
+	rorq	$23,%r13
+	movq	%r10,%rdi
+
+	xorq	%r9,%r13
+	rorq	$5,%r14
+	xorq	%r11,%rdi
+
+	movq	%r12,120(%rsp)
+	xorq	%rbx,%r14
+	andq	%r9,%rdi
+
+	rorq	$4,%r13
+	addq	%rax,%r12
+	xorq	%r11,%rdi
+
+	rorq	$6,%r14
+	xorq	%r9,%r13
+	addq	%rdi,%r12
+
+	movq	%rbx,%rdi
+	addq	(%rbp),%r12
+	xorq	%rbx,%r14
+
+	xorq	%rcx,%rdi
+	rorq	$14,%r13
+	movq	%rcx,%rax
+
+	andq	%rdi,%r15
+	rorq	$28,%r14
+	addq	%r13,%r12
+
+	xorq	%r15,%rax
+	addq	%r12,%r8
+	addq	%r12,%rax
+
+	leaq	24(%rbp),%rbp
+	jmp	.Lrounds_16_xx
+.align	16
+.Lrounds_16_xx:
+	movq	8(%rsp),%r13
+	movq	112(%rsp),%r15
+
+	movq	%r13,%r12
+	rorq	$7,%r13
+	addq	%r14,%rax
+	movq	%r15,%r14
+	rorq	$42,%r15
+
+	xorq	%r12,%r13
+	shrq	$7,%r12
+	rorq	$1,%r13
+	xorq	%r14,%r15
+	shrq	$6,%r14
+
+	rorq	$19,%r15
+	xorq	%r13,%r12
+	xorq	%r14,%r15
+	addq	72(%rsp),%r12
+
+	addq	0(%rsp),%r12
+	movq	%r8,%r13
+	addq	%r15,%r12
+	movq	%rax,%r14
+	rorq	$23,%r13
+	movq	%r9,%r15
+
+	xorq	%r8,%r13
+	rorq	$5,%r14
+	xorq	%r10,%r15
+
+	movq	%r12,0(%rsp)
+	xorq	%rax,%r14
+	andq	%r8,%r15
+
+	rorq	$4,%r13
+	addq	%r11,%r12
+	xorq	%r10,%r15
+
+	rorq	$6,%r14
+	xorq	%r8,%r13
+	addq	%r15,%r12
+
+	movq	%rax,%r15
+	addq	(%rbp),%r12
+	xorq	%rax,%r14
+
+	xorq	%rbx,%r15
+	rorq	$14,%r13
+	movq	%rbx,%r11
+
+	andq	%r15,%rdi
+	rorq	$28,%r14
+	addq	%r13,%r12
+
+	xorq	%rdi,%r11
+	addq	%r12,%rdx
+	addq	%r12,%r11
+
+	leaq	8(%rbp),%rbp
+	movq	16(%rsp),%r13
+	movq	120(%rsp),%rdi
+
+	movq	%r13,%r12
+	rorq	$7,%r13
+	addq	%r14,%r11
+	movq	%rdi,%r14
+	rorq	$42,%rdi
+
+	xorq	%r12,%r13
+	shrq	$7,%r12
+	rorq	$1,%r13
+	xorq	%r14,%rdi
+	shrq	$6,%r14
+
+	rorq	$19,%rdi
+	xorq	%r13,%r12
+	xorq	%r14,%rdi
+	addq	80(%rsp),%r12
+
+	addq	8(%rsp),%r12
+	movq	%rdx,%r13
+	addq	%rdi,%r12
+	movq	%r11,%r14
+	rorq	$23,%r13
+	movq	%r8,%rdi
+
+	xorq	%rdx,%r13
+	rorq	$5,%r14
+	xorq	%r9,%rdi
+
+	movq	%r12,8(%rsp)
+	xorq	%r11,%r14
+	andq	%rdx,%rdi
+
+	rorq	$4,%r13
+	addq	%r10,%r12
+	xorq	%r9,%rdi
+
+	rorq	$6,%r14
+	xorq	%rdx,%r13
+	addq	%rdi,%r12
+
+	movq	%r11,%rdi
+	addq	(%rbp),%r12
+	xorq	%r11,%r14
+
+	xorq	%rax,%rdi
+	rorq	$14,%r13
+	movq	%rax,%r10
+
+	andq	%rdi,%r15
+	rorq	$28,%r14
+	addq	%r13,%r12
+
+	xorq	%r15,%r10
+	addq	%r12,%rcx
+	addq	%r12,%r10
+
+	leaq	24(%rbp),%rbp
+	movq	24(%rsp),%r13
+	movq	0(%rsp),%r15
+
+	movq	%r13,%r12
+	rorq	$7,%r13
+	addq	%r14,%r10
+	movq	%r15,%r14
+	rorq	$42,%r15
+
+	xorq	%r12,%r13
+	shrq	$7,%r12
+	rorq	$1,%r13
+	xorq	%r14,%r15
+	shrq	$6,%r14
+
+	rorq	$19,%r15
+	xorq	%r13,%r12
+	xorq	%r14,%r15
+	addq	88(%rsp),%r12
+
+	addq	16(%rsp),%r12
+	movq	%rcx,%r13
+	addq	%r15,%r12
+	movq	%r10,%r14
+	rorq	$23,%r13
+	movq	%rdx,%r15
+
+	xorq	%rcx,%r13
+	rorq	$5,%r14
+	xorq	%r8,%r15
+
+	movq	%r12,16(%rsp)
+	xorq	%r10,%r14
+	andq	%rcx,%r15
+
+	rorq	$4,%r13
+	addq	%r9,%r12
+	xorq	%r8,%r15
+
+	rorq	$6,%r14
+	xorq	%rcx,%r13
+	addq	%r15,%r12
+
+	movq	%r10,%r15
+	addq	(%rbp),%r12
+	xorq	%r10,%r14
+
+	xorq	%r11,%r15
+	rorq	$14,%r13
+	movq	%r11,%r9
+
+	andq	%r15,%rdi
+	rorq	$28,%r14
+	addq	%r13,%r12
+
+	xorq	%rdi,%r9
+	addq	%r12,%rbx
+	addq	%r12,%r9
+
+	leaq	8(%rbp),%rbp
+	movq	32(%rsp),%r13
+	movq	8(%rsp),%rdi
+
+	movq	%r13,%r12
+	rorq	$7,%r13
+	addq	%r14,%r9
+	movq	%rdi,%r14
+	rorq	$42,%rdi
+
+	xorq	%r12,%r13
+	shrq	$7,%r12
+	rorq	$1,%r13
+	xorq	%r14,%rdi
+	shrq	$6,%r14
+
+	rorq	$19,%rdi
+	xorq	%r13,%r12
+	xorq	%r14,%rdi
+	addq	96(%rsp),%r12
+
+	addq	24(%rsp),%r12
+	movq	%rbx,%r13
+	addq	%rdi,%r12
+	movq	%r9,%r14
+	rorq	$23,%r13
+	movq	%rcx,%rdi
+
+	xorq	%rbx,%r13
+	rorq	$5,%r14
+	xorq	%rdx,%rdi
+
+	movq	%r12,24(%rsp)
+	xorq	%r9,%r14
+	andq	%rbx,%rdi
+
+	rorq	$4,%r13
+	addq	%r8,%r12
+	xorq	%rdx,%rdi
+
+	rorq	$6,%r14
+	xorq	%rbx,%r13
+	addq	%rdi,%r12
+
+	movq	%r9,%rdi
+	addq	(%rbp),%r12
+	xorq	%r9,%r14
+
+	xorq	%r10,%rdi
+	rorq	$14,%r13
+	movq	%r10,%r8
+
+	andq	%rdi,%r15
+	rorq	$28,%r14
+	addq	%r13,%r12
+
+	xorq	%r15,%r8
+	addq	%r12,%rax
+	addq	%r12,%r8
+
+	leaq	24(%rbp),%rbp
+	movq	40(%rsp),%r13
+	movq	16(%rsp),%r15
+
+	movq	%r13,%r12
+	rorq	$7,%r13
+	addq	%r14,%r8
+	movq	%r15,%r14
+	rorq	$42,%r15
+
+	xorq	%r12,%r13
+	shrq	$7,%r12
+	rorq	$1,%r13
+	xorq	%r14,%r15
+	shrq	$6,%r14
+
+	rorq	$19,%r15
+	xorq	%r13,%r12
+	xorq	%r14,%r15
+	addq	104(%rsp),%r12
+
+	addq	32(%rsp),%r12
+	movq	%rax,%r13
+	addq	%r15,%r12
+	movq	%r8,%r14
+	rorq	$23,%r13
+	movq	%rbx,%r15
+
+	xorq	%rax,%r13
+	rorq	$5,%r14
+	xorq	%rcx,%r15
+
+	movq	%r12,32(%rsp)
+	xorq	%r8,%r14
+	andq	%rax,%r15
+
+	rorq	$4,%r13
+	addq	%rdx,%r12
+	xorq	%rcx,%r15
+
+	rorq	$6,%r14
+	xorq	%rax,%r13
+	addq	%r15,%r12
+
+	movq	%r8,%r15
+	addq	(%rbp),%r12
+	xorq	%r8,%r14
+
+	xorq	%r9,%r15
+	rorq	$14,%r13
+	movq	%r9,%rdx
+
+	andq	%r15,%rdi
+	rorq	$28,%r14
+	addq	%r13,%r12
+
+	xorq	%rdi,%rdx
+	addq	%r12,%r11
+	addq	%r12,%rdx
+
+	leaq	8(%rbp),%rbp
+	movq	48(%rsp),%r13
+	movq	24(%rsp),%rdi
+
+	movq	%r13,%r12
+	rorq	$7,%r13
+	addq	%r14,%rdx
+	movq	%rdi,%r14
+	rorq	$42,%rdi
+
+	xorq	%r12,%r13
+	shrq	$7,%r12
+	rorq	$1,%r13
+	xorq	%r14,%rdi
+	shrq	$6,%r14
+
+	rorq	$19,%rdi
+	xorq	%r13,%r12
+	xorq	%r14,%rdi
+	addq	112(%rsp),%r12
+
+	addq	40(%rsp),%r12
+	movq	%r11,%r13
+	addq	%rdi,%r12
+	movq	%rdx,%r14
+	rorq	$23,%r13
+	movq	%rax,%rdi
+
+	xorq	%r11,%r13
+	rorq	$5,%r14
+	xorq	%rbx,%rdi
+
+	movq	%r12,40(%rsp)
+	xorq	%rdx,%r14
+	andq	%r11,%rdi
+
+	rorq	$4,%r13
+	addq	%rcx,%r12
+	xorq	%rbx,%rdi
+
+	rorq	$6,%r14
+	xorq	%r11,%r13
+	addq	%rdi,%r12
+
+	movq	%rdx,%rdi
+	addq	(%rbp),%r12
+	xorq	%rdx,%r14
+
+	xorq	%r8,%rdi
+	rorq	$14,%r13
+	movq	%r8,%rcx
+
+	andq	%rdi,%r15
+	rorq	$28,%r14
+	addq	%r13,%r12
+
+	xorq	%r15,%rcx
+	addq	%r12,%r10
+	addq	%r12,%rcx
+
+	leaq	24(%rbp),%rbp
+	movq	56(%rsp),%r13
+	movq	32(%rsp),%r15
+
+	movq	%r13,%r12
+	rorq	$7,%r13
+	addq	%r14,%rcx
+	movq	%r15,%r14
+	rorq	$42,%r15
+
+	xorq	%r12,%r13
+	shrq	$7,%r12
+	rorq	$1,%r13
+	xorq	%r14,%r15
+	shrq	$6,%r14
+
+	rorq	$19,%r15
+	xorq	%r13,%r12
+	xorq	%r14,%r15
+	addq	120(%rsp),%r12
+
+	addq	48(%rsp),%r12
+	movq	%r10,%r13
+	addq	%r15,%r12
+	movq	%rcx,%r14
+	rorq	$23,%r13
+	movq	%r11,%r15
+
+	xorq	%r10,%r13
+	rorq	$5,%r14
+	xorq	%rax,%r15
+
+	movq	%r12,48(%rsp)
+	xorq	%rcx,%r14
+	andq	%r10,%r15
+
+	rorq	$4,%r13
+	addq	%rbx,%r12
+	xorq	%rax,%r15
+
+	rorq	$6,%r14
+	xorq	%r10,%r13
+	addq	%r15,%r12
+
+	movq	%rcx,%r15
+	addq	(%rbp),%r12
+	xorq	%rcx,%r14
+
+	xorq	%rdx,%r15
+	rorq	$14,%r13
+	movq	%rdx,%rbx
+
+	andq	%r15,%rdi
+	rorq	$28,%r14
+	addq	%r13,%r12
+
+	xorq	%rdi,%rbx
+	addq	%r12,%r9
+	addq	%r12,%rbx
+
+	leaq	8(%rbp),%rbp
+	movq	64(%rsp),%r13
+	movq	40(%rsp),%rdi
+
+	movq	%r13,%r12
+	rorq	$7,%r13
+	addq	%r14,%rbx
+	movq	%rdi,%r14
+	rorq	$42,%rdi
+
+	xorq	%r12,%r13
+	shrq	$7,%r12
+	rorq	$1,%r13
+	xorq	%r14,%rdi
+	shrq	$6,%r14
+
+	rorq	$19,%rdi
+	xorq	%r13,%r12
+	xorq	%r14,%rdi
+	addq	0(%rsp),%r12
+
+	addq	56(%rsp),%r12
+	movq	%r9,%r13
+	addq	%rdi,%r12
+	movq	%rbx,%r14
+	rorq	$23,%r13
+	movq	%r10,%rdi
+
+	xorq	%r9,%r13
+	rorq	$5,%r14
+	xorq	%r11,%rdi
+
+	movq	%r12,56(%rsp)
+	xorq	%rbx,%r14
+	andq	%r9,%rdi
+
+	rorq	$4,%r13
+	addq	%rax,%r12
+	xorq	%r11,%rdi
+
+	rorq	$6,%r14
+	xorq	%r9,%r13
+	addq	%rdi,%r12
+
+	movq	%rbx,%rdi
+	addq	(%rbp),%r12
+	xorq	%rbx,%r14
+
+	xorq	%rcx,%rdi
+	rorq	$14,%r13
+	movq	%rcx,%rax
+
+	andq	%rdi,%r15
+	rorq	$28,%r14
+	addq	%r13,%r12
+
+	xorq	%r15,%rax
+	addq	%r12,%r8
+	addq	%r12,%rax
+
+	leaq	24(%rbp),%rbp
+	movq	72(%rsp),%r13
+	movq	48(%rsp),%r15
+
+	movq	%r13,%r12
+	rorq	$7,%r13
+	addq	%r14,%rax
+	movq	%r15,%r14
+	rorq	$42,%r15
+
+	xorq	%r12,%r13
+	shrq	$7,%r12
+	rorq	$1,%r13
+	xorq	%r14,%r15
+	shrq	$6,%r14
+
+	rorq	$19,%r15
+	xorq	%r13,%r12
+	xorq	%r14,%r15
+	addq	8(%rsp),%r12
+
+	addq	64(%rsp),%r12
+	movq	%r8,%r13
+	addq	%r15,%r12
+	movq	%rax,%r14
+	rorq	$23,%r13
+	movq	%r9,%r15
+
+	xorq	%r8,%r13
+	rorq	$5,%r14
+	xorq	%r10,%r15
+
+	movq	%r12,64(%rsp)
+	xorq	%rax,%r14
+	andq	%r8,%r15
+
+	rorq	$4,%r13
+	addq	%r11,%r12
+	xorq	%r10,%r15
+
+	rorq	$6,%r14
+	xorq	%r8,%r13
+	addq	%r15,%r12
+
+	movq	%rax,%r15
+	addq	(%rbp),%r12
+	xorq	%rax,%r14
+
+	xorq	%rbx,%r15
+	rorq	$14,%r13
+	movq	%rbx,%r11
+
+	andq	%r15,%rdi
+	rorq	$28,%r14
+	addq	%r13,%r12
+
+	xorq	%rdi,%r11
+	addq	%r12,%rdx
+	addq	%r12,%r11
+
+	leaq	8(%rbp),%rbp
+	movq	80(%rsp),%r13
+	movq	56(%rsp),%rdi
+
+	movq	%r13,%r12
+	rorq	$7,%r13
+	addq	%r14,%r11
+	movq	%rdi,%r14
+	rorq	$42,%rdi
+
+	xorq	%r12,%r13
+	shrq	$7,%r12
+	rorq	$1,%r13
+	xorq	%r14,%rdi
+	shrq	$6,%r14
+
+	rorq	$19,%rdi
+	xorq	%r13,%r12
+	xorq	%r14,%rdi
+	addq	16(%rsp),%r12
+
+	addq	72(%rsp),%r12
+	movq	%rdx,%r13
+	addq	%rdi,%r12
+	movq	%r11,%r14
+	rorq	$23,%r13
+	movq	%r8,%rdi
+
+	xorq	%rdx,%r13
+	rorq	$5,%r14
+	xorq	%r9,%rdi
+
+	movq	%r12,72(%rsp)
+	xorq	%r11,%r14
+	andq	%rdx,%rdi
+
+	rorq	$4,%r13
+	addq	%r10,%r12
+	xorq	%r9,%rdi
+
+	rorq	$6,%r14
+	xorq	%rdx,%r13
+	addq	%rdi,%r12
+
+	movq	%r11,%rdi
+	addq	(%rbp),%r12
+	xorq	%r11,%r14
+
+	xorq	%rax,%rdi
+	rorq	$14,%r13
+	movq	%rax,%r10
+
+	andq	%rdi,%r15
+	rorq	$28,%r14
+	addq	%r13,%r12
+
+	xorq	%r15,%r10
+	addq	%r12,%rcx
+	addq	%r12,%r10
+
+	leaq	24(%rbp),%rbp
+	movq	88(%rsp),%r13
+	movq	64(%rsp),%r15
+
+	movq	%r13,%r12
+	rorq	$7,%r13
+	addq	%r14,%r10
+	movq	%r15,%r14
+	rorq	$42,%r15
+
+	xorq	%r12,%r13
+	shrq	$7,%r12
+	rorq	$1,%r13
+	xorq	%r14,%r15
+	shrq	$6,%r14
+
+	rorq	$19,%r15
+	xorq	%r13,%r12
+	xorq	%r14,%r15
+	addq	24(%rsp),%r12
+
+	addq	80(%rsp),%r12
+	movq	%rcx,%r13
+	addq	%r15,%r12
+	movq	%r10,%r14
+	rorq	$23,%r13
+	movq	%rdx,%r15
+
+	xorq	%rcx,%r13
+	rorq	$5,%r14
+	xorq	%r8,%r15
+
+	movq	%r12,80(%rsp)
+	xorq	%r10,%r14
+	andq	%rcx,%r15
+
+	rorq	$4,%r13
+	addq	%r9,%r12
+	xorq	%r8,%r15
+
+	rorq	$6,%r14
+	xorq	%rcx,%r13
+	addq	%r15,%r12
+
+	movq	%r10,%r15
+	addq	(%rbp),%r12
+	xorq	%r10,%r14
+
+	xorq	%r11,%r15
+	rorq	$14,%r13
+	movq	%r11,%r9
+
+	andq	%r15,%rdi
+	rorq	$28,%r14
+	addq	%r13,%r12
+
+	xorq	%rdi,%r9
+	addq	%r12,%rbx
+	addq	%r12,%r9
+
+	leaq	8(%rbp),%rbp
+	movq	96(%rsp),%r13
+	movq	72(%rsp),%rdi
+
+	movq	%r13,%r12
+	rorq	$7,%r13
+	addq	%r14,%r9
+	movq	%rdi,%r14
+	rorq	$42,%rdi
+
+	xorq	%r12,%r13
+	shrq	$7,%r12
+	rorq	$1,%r13
+	xorq	%r14,%rdi
+	shrq	$6,%r14
+
+	rorq	$19,%rdi
+	xorq	%r13,%r12
+	xorq	%r14,%rdi
+	addq	32(%rsp),%r12
+
+	addq	88(%rsp),%r12
+	movq	%rbx,%r13
+	addq	%rdi,%r12
+	movq	%r9,%r14
+	rorq	$23,%r13
+	movq	%rcx,%rdi
+
+	xorq	%rbx,%r13
+	rorq	$5,%r14
+	xorq	%rdx,%rdi
+
+	movq	%r12,88(%rsp)
+	xorq	%r9,%r14
+	andq	%rbx,%rdi
+
+	rorq	$4,%r13
+	addq	%r8,%r12
+	xorq	%rdx,%rdi
+
+	rorq	$6,%r14
+	xorq	%rbx,%r13
+	addq	%rdi,%r12
+
+	movq	%r9,%rdi
+	addq	(%rbp),%r12
+	xorq	%r9,%r14
+
+	xorq	%r10,%rdi
+	rorq	$14,%r13
+	movq	%r10,%r8
+
+	andq	%rdi,%r15
+	rorq	$28,%r14
+	addq	%r13,%r12
+
+	xorq	%r15,%r8
+	addq	%r12,%rax
+	addq	%r12,%r8
+
+	leaq	24(%rbp),%rbp
+	movq	104(%rsp),%r13
+	movq	80(%rsp),%r15
+
+	movq	%r13,%r12
+	rorq	$7,%r13
+	addq	%r14,%r8
+	movq	%r15,%r14
+	rorq	$42,%r15
+
+	xorq	%r12,%r13
+	shrq	$7,%r12
+	rorq	$1,%r13
+	xorq	%r14,%r15
+	shrq	$6,%r14
+
+	rorq	$19,%r15
+	xorq	%r13,%r12
+	xorq	%r14,%r15
+	addq	40(%rsp),%r12
+
+	addq	96(%rsp),%r12
+	movq	%rax,%r13
+	addq	%r15,%r12
+	movq	%r8,%r14
+	rorq	$23,%r13
+	movq	%rbx,%r15
+
+	xorq	%rax,%r13
+	rorq	$5,%r14
+	xorq	%rcx,%r15
+
+	movq	%r12,96(%rsp)
+	xorq	%r8,%r14
+	andq	%rax,%r15
+
+	rorq	$4,%r13
+	addq	%rdx,%r12
+	xorq	%rcx,%r15
+
+	rorq	$6,%r14
+	xorq	%rax,%r13
+	addq	%r15,%r12
+
+	movq	%r8,%r15
+	addq	(%rbp),%r12
+	xorq	%r8,%r14
+
+	xorq	%r9,%r15
+	rorq	$14,%r13
+	movq	%r9,%rdx
+
+	andq	%r15,%rdi
+	rorq	$28,%r14
+	addq	%r13,%r12
+
+	xorq	%rdi,%rdx
+	addq	%r12,%r11
+	addq	%r12,%rdx
+
+	leaq	8(%rbp),%rbp
+	movq	112(%rsp),%r13
+	movq	88(%rsp),%rdi
+
+	movq	%r13,%r12
+	rorq	$7,%r13
+	addq	%r14,%rdx
+	movq	%rdi,%r14
+	rorq	$42,%rdi
+
+	xorq	%r12,%r13
+	shrq	$7,%r12
+	rorq	$1,%r13
+	xorq	%r14,%rdi
+	shrq	$6,%r14
+
+	rorq	$19,%rdi
+	xorq	%r13,%r12
+	xorq	%r14,%rdi
+	addq	48(%rsp),%r12
+
+	addq	104(%rsp),%r12
+	movq	%r11,%r13
+	addq	%rdi,%r12
+	movq	%rdx,%r14
+	rorq	$23,%r13
+	movq	%rax,%rdi
+
+	xorq	%r11,%r13
+	rorq	$5,%r14
+	xorq	%rbx,%rdi
+
+	movq	%r12,104(%rsp)
+	xorq	%rdx,%r14
+	andq	%r11,%rdi
+
+	rorq	$4,%r13
+	addq	%rcx,%r12
+	xorq	%rbx,%rdi
+
+	rorq	$6,%r14
+	xorq	%r11,%r13
+	addq	%rdi,%r12
+
+	movq	%rdx,%rdi
+	addq	(%rbp),%r12
+	xorq	%rdx,%r14
+
+	xorq	%r8,%rdi
+	rorq	$14,%r13
+	movq	%r8,%rcx
+
+	andq	%rdi,%r15
+	rorq	$28,%r14
+	addq	%r13,%r12
+
+	xorq	%r15,%rcx
+	addq	%r12,%r10
+	addq	%r12,%rcx
+
+	leaq	24(%rbp),%rbp
+	movq	120(%rsp),%r13
+	movq	96(%rsp),%r15
+
+	movq	%r13,%r12
+	rorq	$7,%r13
+	addq	%r14,%rcx
+	movq	%r15,%r14
+	rorq	$42,%r15
+
+	xorq	%r12,%r13
+	shrq	$7,%r12
+	rorq	$1,%r13
+	xorq	%r14,%r15
+	shrq	$6,%r14
+
+	rorq	$19,%r15
+	xorq	%r13,%r12
+	xorq	%r14,%r15
+	addq	56(%rsp),%r12
+
+	addq	112(%rsp),%r12
+	movq	%r10,%r13
+	addq	%r15,%r12
+	movq	%rcx,%r14
+	rorq	$23,%r13
+	movq	%r11,%r15
+
+	xorq	%r10,%r13
+	rorq	$5,%r14
+	xorq	%rax,%r15
+
+	movq	%r12,112(%rsp)
+	xorq	%rcx,%r14
+	andq	%r10,%r15
+
+	rorq	$4,%r13
+	addq	%rbx,%r12
+	xorq	%rax,%r15
+
+	rorq	$6,%r14
+	xorq	%r10,%r13
+	addq	%r15,%r12
+
+	movq	%rcx,%r15
+	addq	(%rbp),%r12
+	xorq	%rcx,%r14
+
+	xorq	%rdx,%r15
+	rorq	$14,%r13
+	movq	%rdx,%rbx
+
+	andq	%r15,%rdi
+	rorq	$28,%r14
+	addq	%r13,%r12
+
+	xorq	%rdi,%rbx
+	addq	%r12,%r9
+	addq	%r12,%rbx
+
+	leaq	8(%rbp),%rbp
+	movq	0(%rsp),%r13
+	movq	104(%rsp),%rdi
+
+	movq	%r13,%r12
+	rorq	$7,%r13
+	addq	%r14,%rbx
+	movq	%rdi,%r14
+	rorq	$42,%rdi
+
+	xorq	%r12,%r13
+	shrq	$7,%r12
+	rorq	$1,%r13
+	xorq	%r14,%rdi
+	shrq	$6,%r14
+
+	rorq	$19,%rdi
+	xorq	%r13,%r12
+	xorq	%r14,%rdi
+	addq	64(%rsp),%r12
+
+	addq	120(%rsp),%r12
+	movq	%r9,%r13
+	addq	%rdi,%r12
+	movq	%rbx,%r14
+	rorq	$23,%r13
+	movq	%r10,%rdi
+
+	xorq	%r9,%r13
+	rorq	$5,%r14
+	xorq	%r11,%rdi
+
+	movq	%r12,120(%rsp)
+	xorq	%rbx,%r14
+	andq	%r9,%rdi
+
+	rorq	$4,%r13
+	addq	%rax,%r12
+	xorq	%r11,%rdi
+
+	rorq	$6,%r14
+	xorq	%r9,%r13
+	addq	%rdi,%r12
+
+	movq	%rbx,%rdi
+	addq	(%rbp),%r12
+	xorq	%rbx,%r14
+
+	xorq	%rcx,%rdi
+	rorq	$14,%r13
+	movq	%rcx,%rax
+
+	andq	%rdi,%r15
+	rorq	$28,%r14
+	addq	%r13,%r12
+
+	xorq	%r15,%rax
+	addq	%r12,%r8
+	addq	%r12,%rax
+
+	leaq	24(%rbp),%rbp
+	cmpb	$0,7(%rbp)
+	jnz	.Lrounds_16_xx
+
+	movq	128+0(%rsp),%rdi
+	addq	%r14,%rax
+	leaq	128(%rsi),%rsi
+
+	addq	0(%rdi),%rax
+	addq	8(%rdi),%rbx
+	addq	16(%rdi),%rcx
+	addq	24(%rdi),%rdx
+	addq	32(%rdi),%r8
+	addq	40(%rdi),%r9
+	addq	48(%rdi),%r10
+	addq	56(%rdi),%r11
+
+	cmpq	128+16(%rsp),%rsi
+
+	movq	%rax,0(%rdi)
+	movq	%rbx,8(%rdi)
+	movq	%rcx,16(%rdi)
+	movq	%rdx,24(%rdi)
+	movq	%r8,32(%rdi)
+	movq	%r9,40(%rdi)
+	movq	%r10,48(%rdi)
+	movq	%r11,56(%rdi)
+	jb	.Lloop
+
+	movq	128+24(%rsp),%rsi
+	movq	-48(%rsi),%r15
+	movq	-40(%rsi),%r14
+	movq	-32(%rsi),%r13
+	movq	-24(%rsi),%r12
+	movq	-16(%rsi),%rbp
+	movq	-8(%rsi),%rbx
+	leaq	(%rsi),%rsp
+.Lepilogue:
+	.byte	0xf3,0xc3
+.size	sha512_block_data_order,.-sha512_block_data_order
+.align	64
+.type	K512,@object
+K512:
+.quad	0x428a2f98d728ae22,0x7137449123ef65cd
+.quad	0x428a2f98d728ae22,0x7137449123ef65cd
+.quad	0xb5c0fbcfec4d3b2f,0xe9b5dba58189dbbc
+.quad	0xb5c0fbcfec4d3b2f,0xe9b5dba58189dbbc
+.quad	0x3956c25bf348b538,0x59f111f1b605d019
+.quad	0x3956c25bf348b538,0x59f111f1b605d019
+.quad	0x923f82a4af194f9b,0xab1c5ed5da6d8118
+.quad	0x923f82a4af194f9b,0xab1c5ed5da6d8118
+.quad	0xd807aa98a3030242,0x12835b0145706fbe
+.quad	0xd807aa98a3030242,0x12835b0145706fbe
+.quad	0x243185be4ee4b28c,0x550c7dc3d5ffb4e2
+.quad	0x243185be4ee4b28c,0x550c7dc3d5ffb4e2
+.quad	0x72be5d74f27b896f,0x80deb1fe3b1696b1
+.quad	0x72be5d74f27b896f,0x80deb1fe3b1696b1
+.quad	0x9bdc06a725c71235,0xc19bf174cf692694
+.quad	0x9bdc06a725c71235,0xc19bf174cf692694
+.quad	0xe49b69c19ef14ad2,0xefbe4786384f25e3
+.quad	0xe49b69c19ef14ad2,0xefbe4786384f25e3
+.quad	0x0fc19dc68b8cd5b5,0x240ca1cc77ac9c65
+.quad	0x0fc19dc68b8cd5b5,0x240ca1cc77ac9c65
+.quad	0x2de92c6f592b0275,0x4a7484aa6ea6e483
+.quad	0x2de92c6f592b0275,0x4a7484aa6ea6e483
+.quad	0x5cb0a9dcbd41fbd4,0x76f988da831153b5
+.quad	0x5cb0a9dcbd41fbd4,0x76f988da831153b5
+.quad	0x983e5152ee66dfab,0xa831c66d2db43210
+.quad	0x983e5152ee66dfab,0xa831c66d2db43210
+.quad	0xb00327c898fb213f,0xbf597fc7beef0ee4
+.quad	0xb00327c898fb213f,0xbf597fc7beef0ee4
+.quad	0xc6e00bf33da88fc2,0xd5a79147930aa725
+.quad	0xc6e00bf33da88fc2,0xd5a79147930aa725
+.quad	0x06ca6351e003826f,0x142929670a0e6e70
+.quad	0x06ca6351e003826f,0x142929670a0e6e70
+.quad	0x27b70a8546d22ffc,0x2e1b21385c26c926
+.quad	0x27b70a8546d22ffc,0x2e1b21385c26c926
+.quad	0x4d2c6dfc5ac42aed,0x53380d139d95b3df
+.quad	0x4d2c6dfc5ac42aed,0x53380d139d95b3df
+.quad	0x650a73548baf63de,0x766a0abb3c77b2a8
+.quad	0x650a73548baf63de,0x766a0abb3c77b2a8
+.quad	0x81c2c92e47edaee6,0x92722c851482353b
+.quad	0x81c2c92e47edaee6,0x92722c851482353b
+.quad	0xa2bfe8a14cf10364,0xa81a664bbc423001
+.quad	0xa2bfe8a14cf10364,0xa81a664bbc423001
+.quad	0xc24b8b70d0f89791,0xc76c51a30654be30
+.quad	0xc24b8b70d0f89791,0xc76c51a30654be30
+.quad	0xd192e819d6ef5218,0xd69906245565a910
+.quad	0xd192e819d6ef5218,0xd69906245565a910
+.quad	0xf40e35855771202a,0x106aa07032bbd1b8
+.quad	0xf40e35855771202a,0x106aa07032bbd1b8
+.quad	0x19a4c116b8d2d0c8,0x1e376c085141ab53
+.quad	0x19a4c116b8d2d0c8,0x1e376c085141ab53
+.quad	0x2748774cdf8eeb99,0x34b0bcb5e19b48a8
+.quad	0x2748774cdf8eeb99,0x34b0bcb5e19b48a8
+.quad	0x391c0cb3c5c95a63,0x4ed8aa4ae3418acb
+.quad	0x391c0cb3c5c95a63,0x4ed8aa4ae3418acb
+.quad	0x5b9cca4f7763e373,0x682e6ff3d6b2b8a3
+.quad	0x5b9cca4f7763e373,0x682e6ff3d6b2b8a3
+.quad	0x748f82ee5defb2fc,0x78a5636f43172f60
+.quad	0x748f82ee5defb2fc,0x78a5636f43172f60
+.quad	0x84c87814a1f0ab72,0x8cc702081a6439ec
+.quad	0x84c87814a1f0ab72,0x8cc702081a6439ec
+.quad	0x90befffa23631e28,0xa4506cebde82bde9
+.quad	0x90befffa23631e28,0xa4506cebde82bde9
+.quad	0xbef9a3f7b2c67915,0xc67178f2e372532b
+.quad	0xbef9a3f7b2c67915,0xc67178f2e372532b
+.quad	0xca273eceea26619c,0xd186b8c721c0c207
+.quad	0xca273eceea26619c,0xd186b8c721c0c207
+.quad	0xeada7dd6cde0eb1e,0xf57d4f7fee6ed178
+.quad	0xeada7dd6cde0eb1e,0xf57d4f7fee6ed178
+.quad	0x06f067aa72176fba,0x0a637dc5a2c898a6
+.quad	0x06f067aa72176fba,0x0a637dc5a2c898a6
+.quad	0x113f9804bef90dae,0x1b710b35131c471b
+.quad	0x113f9804bef90dae,0x1b710b35131c471b
+.quad	0x28db77f523047d84,0x32caab7b40c72493
+.quad	0x28db77f523047d84,0x32caab7b40c72493
+.quad	0x3c9ebe0a15c9bebc,0x431d67c49c100d4c
+.quad	0x3c9ebe0a15c9bebc,0x431d67c49c100d4c
+.quad	0x4cc5d4becb3e42b6,0x597f299cfc657e2a
+.quad	0x4cc5d4becb3e42b6,0x597f299cfc657e2a
+.quad	0x5fcb6fab3ad6faec,0x6c44198c4a475817
+.quad	0x5fcb6fab3ad6faec,0x6c44198c4a475817
+
+.quad	0x0001020304050607,0x08090a0b0c0d0e0f
+.quad	0x0001020304050607,0x08090a0b0c0d0e0f
+.byte	83,72,65,53,49,50,32,98,108,111,99,107,32,116,114,97,110,115,102,111,114,109,32,102,111,114,32,120,56,54,95,54,52,44,32,67,82,89,80,84,79,71,65,77,83,32,98,121,32,60,97,112,112,114,111,64,111,112,101,110,115,115,108,46,111,114,103,62,0
+.type	sha512_block_data_order_xop,@function
+.align	64
+sha512_block_data_order_xop:
+.Lxop_shortcut:
+	movq	%rsp,%rax
+	pushq	%rbx
+	pushq	%rbp
+	pushq	%r12
+	pushq	%r13
+	pushq	%r14
+	pushq	%r15
+	shlq	$4,%rdx
+	subq	$160,%rsp
+	leaq	(%rsi,%rdx,8),%rdx
+	andq	$-64,%rsp
+	movq	%rdi,128+0(%rsp)
+	movq	%rsi,128+8(%rsp)
+	movq	%rdx,128+16(%rsp)
+	movq	%rax,128+24(%rsp)
+.Lprologue_xop:
+
+	vzeroupper
+	movq	0(%rdi),%rax
+	movq	8(%rdi),%rbx
+	movq	16(%rdi),%rcx
+	movq	24(%rdi),%rdx
+	movq	32(%rdi),%r8
+	movq	40(%rdi),%r9
+	movq	48(%rdi),%r10
+	movq	56(%rdi),%r11
+	jmp	.Lloop_xop
+.align	16
+.Lloop_xop:
+	vmovdqa	K512+1280(%rip),%xmm11
+	vmovdqu	0(%rsi),%xmm0
+	leaq	K512+128(%rip),%rbp
+	vmovdqu	16(%rsi),%xmm1
+	vmovdqu	32(%rsi),%xmm2
+	vpshufb	%xmm11,%xmm0,%xmm0
+	vmovdqu	48(%rsi),%xmm3
+	vpshufb	%xmm11,%xmm1,%xmm1
+	vmovdqu	64(%rsi),%xmm4
+	vpshufb	%xmm11,%xmm2,%xmm2
+	vmovdqu	80(%rsi),%xmm5
+	vpshufb	%xmm11,%xmm3,%xmm3
+	vmovdqu	96(%rsi),%xmm6
+	vpshufb	%xmm11,%xmm4,%xmm4
+	vmovdqu	112(%rsi),%xmm7
+	vpshufb	%xmm11,%xmm5,%xmm5
+	vpaddq	-128(%rbp),%xmm0,%xmm8
+	vpshufb	%xmm11,%xmm6,%xmm6
+	vpaddq	-96(%rbp),%xmm1,%xmm9
+	vpshufb	%xmm11,%xmm7,%xmm7
+	vpaddq	-64(%rbp),%xmm2,%xmm10
+	vpaddq	-32(%rbp),%xmm3,%xmm11
+	vmovdqa	%xmm8,0(%rsp)
+	vpaddq	0(%rbp),%xmm4,%xmm8
+	vmovdqa	%xmm9,16(%rsp)
+	vpaddq	32(%rbp),%xmm5,%xmm9
+	vmovdqa	%xmm10,32(%rsp)
+	vpaddq	64(%rbp),%xmm6,%xmm10
+	vmovdqa	%xmm11,48(%rsp)
+	vpaddq	96(%rbp),%xmm7,%xmm11
+	vmovdqa	%xmm8,64(%rsp)
+	movq	%rax,%r14
+	vmovdqa	%xmm9,80(%rsp)
+	movq	%rbx,%rdi
+	vmovdqa	%xmm10,96(%rsp)
+	xorq	%rcx,%rdi
+	vmovdqa	%xmm11,112(%rsp)
+	movq	%r8,%r13
+	jmp	.Lxop_00_47
+
+.align	16
+.Lxop_00_47:
+	addq	$256,%rbp
+	vpalignr	$8,%xmm0,%xmm1,%xmm8
+	rorq	$23,%r13
+	movq	%r14,%rax
+	vpalignr	$8,%xmm4,%xmm5,%xmm11
+	movq	%r9,%r12
+	rorq	$5,%r14
+.byte	143,72,120,195,200,56
+	xorq	%r8,%r13
+	xorq	%r10,%r12
+	vpsrlq	$7,%xmm8,%xmm8
+	rorq	$4,%r13
+	xorq	%rax,%r14
+	vpaddq	%xmm11,%xmm0,%xmm0
+	andq	%r8,%r12
+	xorq	%r8,%r13
+	addq	0(%rsp),%r11
+	movq	%rax,%r15
+.byte	143,72,120,195,209,7
+	xorq	%r10,%r12
+	rorq	$6,%r14
+	vpxor	%xmm9,%xmm8,%xmm8
+	xorq	%rbx,%r15
+	addq	%r12,%r11
+	rorq	$14,%r13
+	andq	%r15,%rdi
+.byte	143,104,120,195,223,3
+	xorq	%rax,%r14
+	addq	%r13,%r11
+	vpxor	%xmm10,%xmm8,%xmm8
+	xorq	%rbx,%rdi
+	rorq	$28,%r14
+	vpsrlq	$6,%xmm7,%xmm10
+	addq	%r11,%rdx
+	addq	%rdi,%r11
+	vpaddq	%xmm8,%xmm0,%xmm0
+	movq	%rdx,%r13
+	addq	%r11,%r14
+.byte	143,72,120,195,203,42
+	rorq	$23,%r13
+	movq	%r14,%r11
+	vpxor	%xmm10,%xmm11,%xmm11
+	movq	%r8,%r12
+	rorq	$5,%r14
+	xorq	%rdx,%r13
+	xorq	%r9,%r12
+	vpxor	%xmm9,%xmm11,%xmm11
+	rorq	$4,%r13
+	xorq	%r11,%r14
+	andq	%rdx,%r12
+	xorq	%rdx,%r13
+	vpaddq	%xmm11,%xmm0,%xmm0
+	addq	8(%rsp),%r10
+	movq	%r11,%rdi
+	xorq	%r9,%r12
+	rorq	$6,%r14
+	vpaddq	-128(%rbp),%xmm0,%xmm10
+	xorq	%rax,%rdi
+	addq	%r12,%r10
+	rorq	$14,%r13
+	andq	%rdi,%r15
+	xorq	%r11,%r14
+	addq	%r13,%r10
+	xorq	%rax,%r15
+	rorq	$28,%r14
+	addq	%r10,%rcx
+	addq	%r15,%r10
+	movq	%rcx,%r13
+	addq	%r10,%r14
+	vmovdqa	%xmm10,0(%rsp)
+	vpalignr	$8,%xmm1,%xmm2,%xmm8
+	rorq	$23,%r13
+	movq	%r14,%r10
+	vpalignr	$8,%xmm5,%xmm6,%xmm11
+	movq	%rdx,%r12
+	rorq	$5,%r14
+.byte	143,72,120,195,200,56
+	xorq	%rcx,%r13
+	xorq	%r8,%r12
+	vpsrlq	$7,%xmm8,%xmm8
+	rorq	$4,%r13
+	xorq	%r10,%r14
+	vpaddq	%xmm11,%xmm1,%xmm1
+	andq	%rcx,%r12
+	xorq	%rcx,%r13
+	addq	16(%rsp),%r9
+	movq	%r10,%r15
+.byte	143,72,120,195,209,7
+	xorq	%r8,%r12
+	rorq	$6,%r14
+	vpxor	%xmm9,%xmm8,%xmm8
+	xorq	%r11,%r15
+	addq	%r12,%r9
+	rorq	$14,%r13
+	andq	%r15,%rdi
+.byte	143,104,120,195,216,3
+	xorq	%r10,%r14
+	addq	%r13,%r9
+	vpxor	%xmm10,%xmm8,%xmm8
+	xorq	%r11,%rdi
+	rorq	$28,%r14
+	vpsrlq	$6,%xmm0,%xmm10
+	addq	%r9,%rbx
+	addq	%rdi,%r9
+	vpaddq	%xmm8,%xmm1,%xmm1
+	movq	%rbx,%r13
+	addq	%r9,%r14
+.byte	143,72,120,195,203,42
+	rorq	$23,%r13
+	movq	%r14,%r9
+	vpxor	%xmm10,%xmm11,%xmm11
+	movq	%rcx,%r12
+	rorq	$5,%r14
+	xorq	%rbx,%r13
+	xorq	%rdx,%r12
+	vpxor	%xmm9,%xmm11,%xmm11
+	rorq	$4,%r13
+	xorq	%r9,%r14
+	andq	%rbx,%r12
+	xorq	%rbx,%r13
+	vpaddq	%xmm11,%xmm1,%xmm1
+	addq	24(%rsp),%r8
+	movq	%r9,%rdi
+	xorq	%rdx,%r12
+	rorq	$6,%r14
+	vpaddq	-96(%rbp),%xmm1,%xmm10
+	xorq	%r10,%rdi
+	addq	%r12,%r8
+	rorq	$14,%r13
+	andq	%rdi,%r15
+	xorq	%r9,%r14
+	addq	%r13,%r8
+	xorq	%r10,%r15
+	rorq	$28,%r14
+	addq	%r8,%rax
+	addq	%r15,%r8
+	movq	%rax,%r13
+	addq	%r8,%r14
+	vmovdqa	%xmm10,16(%rsp)
+	vpalignr	$8,%xmm2,%xmm3,%xmm8
+	rorq	$23,%r13
+	movq	%r14,%r8
+	vpalignr	$8,%xmm6,%xmm7,%xmm11
+	movq	%rbx,%r12
+	rorq	$5,%r14
+.byte	143,72,120,195,200,56
+	xorq	%rax,%r13
+	xorq	%rcx,%r12
+	vpsrlq	$7,%xmm8,%xmm8
+	rorq	$4,%r13
+	xorq	%r8,%r14
+	vpaddq	%xmm11,%xmm2,%xmm2
+	andq	%rax,%r12
+	xorq	%rax,%r13
+	addq	32(%rsp),%rdx
+	movq	%r8,%r15
+.byte	143,72,120,195,209,7
+	xorq	%rcx,%r12
+	rorq	$6,%r14
+	vpxor	%xmm9,%xmm8,%xmm8
+	xorq	%r9,%r15
+	addq	%r12,%rdx
+	rorq	$14,%r13
+	andq	%r15,%rdi
+.byte	143,104,120,195,217,3
+	xorq	%r8,%r14
+	addq	%r13,%rdx
+	vpxor	%xmm10,%xmm8,%xmm8
+	xorq	%r9,%rdi
+	rorq	$28,%r14
+	vpsrlq	$6,%xmm1,%xmm10
+	addq	%rdx,%r11
+	addq	%rdi,%rdx
+	vpaddq	%xmm8,%xmm2,%xmm2
+	movq	%r11,%r13
+	addq	%rdx,%r14
+.byte	143,72,120,195,203,42
+	rorq	$23,%r13
+	movq	%r14,%rdx
+	vpxor	%xmm10,%xmm11,%xmm11
+	movq	%rax,%r12
+	rorq	$5,%r14
+	xorq	%r11,%r13
+	xorq	%rbx,%r12
+	vpxor	%xmm9,%xmm11,%xmm11
+	rorq	$4,%r13
+	xorq	%rdx,%r14
+	andq	%r11,%r12
+	xorq	%r11,%r13
+	vpaddq	%xmm11,%xmm2,%xmm2
+	addq	40(%rsp),%rcx
+	movq	%rdx,%rdi
+	xorq	%rbx,%r12
+	rorq	$6,%r14
+	vpaddq	-64(%rbp),%xmm2,%xmm10
+	xorq	%r8,%rdi
+	addq	%r12,%rcx
+	rorq	$14,%r13
+	andq	%rdi,%r15
+	xorq	%rdx,%r14
+	addq	%r13,%rcx
+	xorq	%r8,%r15
+	rorq	$28,%r14
+	addq	%rcx,%r10
+	addq	%r15,%rcx
+	movq	%r10,%r13
+	addq	%rcx,%r14
+	vmovdqa	%xmm10,32(%rsp)
+	vpalignr	$8,%xmm3,%xmm4,%xmm8
+	rorq	$23,%r13
+	movq	%r14,%rcx
+	vpalignr	$8,%xmm7,%xmm0,%xmm11
+	movq	%r11,%r12
+	rorq	$5,%r14
+.byte	143,72,120,195,200,56
+	xorq	%r10,%r13
+	xorq	%rax,%r12
+	vpsrlq	$7,%xmm8,%xmm8
+	rorq	$4,%r13
+	xorq	%rcx,%r14
+	vpaddq	%xmm11,%xmm3,%xmm3
+	andq	%r10,%r12
+	xorq	%r10,%r13
+	addq	48(%rsp),%rbx
+	movq	%rcx,%r15
+.byte	143,72,120,195,209,7
+	xorq	%rax,%r12
+	rorq	$6,%r14
+	vpxor	%xmm9,%xmm8,%xmm8
+	xorq	%rdx,%r15
+	addq	%r12,%rbx
+	rorq	$14,%r13
+	andq	%r15,%rdi
+.byte	143,104,120,195,218,3
+	xorq	%rcx,%r14
+	addq	%r13,%rbx
+	vpxor	%xmm10,%xmm8,%xmm8
+	xorq	%rdx,%rdi
+	rorq	$28,%r14
+	vpsrlq	$6,%xmm2,%xmm10
+	addq	%rbx,%r9
+	addq	%rdi,%rbx
+	vpaddq	%xmm8,%xmm3,%xmm3
+	movq	%r9,%r13
+	addq	%rbx,%r14
+.byte	143,72,120,195,203,42
+	rorq	$23,%r13
+	movq	%r14,%rbx
+	vpxor	%xmm10,%xmm11,%xmm11
+	movq	%r10,%r12
+	rorq	$5,%r14
+	xorq	%r9,%r13
+	xorq	%r11,%r12
+	vpxor	%xmm9,%xmm11,%xmm11
+	rorq	$4,%r13
+	xorq	%rbx,%r14
+	andq	%r9,%r12
+	xorq	%r9,%r13
+	vpaddq	%xmm11,%xmm3,%xmm3
+	addq	56(%rsp),%rax
+	movq	%rbx,%rdi
+	xorq	%r11,%r12
+	rorq	$6,%r14
+	vpaddq	-32(%rbp),%xmm3,%xmm10
+	xorq	%rcx,%rdi
+	addq	%r12,%rax
+	rorq	$14,%r13
+	andq	%rdi,%r15
+	xorq	%rbx,%r14
+	addq	%r13,%rax
+	xorq	%rcx,%r15
+	rorq	$28,%r14
+	addq	%rax,%r8
+	addq	%r15,%rax
+	movq	%r8,%r13
+	addq	%rax,%r14
+	vmovdqa	%xmm10,48(%rsp)
+	vpalignr	$8,%xmm4,%xmm5,%xmm8
+	rorq	$23,%r13
+	movq	%r14,%rax
+	vpalignr	$8,%xmm0,%xmm1,%xmm11
+	movq	%r9,%r12
+	rorq	$5,%r14
+.byte	143,72,120,195,200,56
+	xorq	%r8,%r13
+	xorq	%r10,%r12
+	vpsrlq	$7,%xmm8,%xmm8
+	rorq	$4,%r13
+	xorq	%rax,%r14
+	vpaddq	%xmm11,%xmm4,%xmm4
+	andq	%r8,%r12
+	xorq	%r8,%r13
+	addq	64(%rsp),%r11
+	movq	%rax,%r15
+.byte	143,72,120,195,209,7
+	xorq	%r10,%r12
+	rorq	$6,%r14
+	vpxor	%xmm9,%xmm8,%xmm8
+	xorq	%rbx,%r15
+	addq	%r12,%r11
+	rorq	$14,%r13
+	andq	%r15,%rdi
+.byte	143,104,120,195,219,3
+	xorq	%rax,%r14
+	addq	%r13,%r11
+	vpxor	%xmm10,%xmm8,%xmm8
+	xorq	%rbx,%rdi
+	rorq	$28,%r14
+	vpsrlq	$6,%xmm3,%xmm10
+	addq	%r11,%rdx
+	addq	%rdi,%r11
+	vpaddq	%xmm8,%xmm4,%xmm4
+	movq	%rdx,%r13
+	addq	%r11,%r14
+.byte	143,72,120,195,203,42
+	rorq	$23,%r13
+	movq	%r14,%r11
+	vpxor	%xmm10,%xmm11,%xmm11
+	movq	%r8,%r12
+	rorq	$5,%r14
+	xorq	%rdx,%r13
+	xorq	%r9,%r12
+	vpxor	%xmm9,%xmm11,%xmm11
+	rorq	$4,%r13
+	xorq	%r11,%r14
+	andq	%rdx,%r12
+	xorq	%rdx,%r13
+	vpaddq	%xmm11,%xmm4,%xmm4
+	addq	72(%rsp),%r10
+	movq	%r11,%rdi
+	xorq	%r9,%r12
+	rorq	$6,%r14
+	vpaddq	0(%rbp),%xmm4,%xmm10
+	xorq	%rax,%rdi
+	addq	%r12,%r10
+	rorq	$14,%r13
+	andq	%rdi,%r15
+	xorq	%r11,%r14
+	addq	%r13,%r10
+	xorq	%rax,%r15
+	rorq	$28,%r14
+	addq	%r10,%rcx
+	addq	%r15,%r10
+	movq	%rcx,%r13
+	addq	%r10,%r14
+	vmovdqa	%xmm10,64(%rsp)
+	vpalignr	$8,%xmm5,%xmm6,%xmm8
+	rorq	$23,%r13
+	movq	%r14,%r10
+	vpalignr	$8,%xmm1,%xmm2,%xmm11
+	movq	%rdx,%r12
+	rorq	$5,%r14
+.byte	143,72,120,195,200,56
+	xorq	%rcx,%r13
+	xorq	%r8,%r12
+	vpsrlq	$7,%xmm8,%xmm8
+	rorq	$4,%r13
+	xorq	%r10,%r14
+	vpaddq	%xmm11,%xmm5,%xmm5
+	andq	%rcx,%r12
+	xorq	%rcx,%r13
+	addq	80(%rsp),%r9
+	movq	%r10,%r15
+.byte	143,72,120,195,209,7
+	xorq	%r8,%r12
+	rorq	$6,%r14
+	vpxor	%xmm9,%xmm8,%xmm8
+	xorq	%r11,%r15
+	addq	%r12,%r9
+	rorq	$14,%r13
+	andq	%r15,%rdi
+.byte	143,104,120,195,220,3
+	xorq	%r10,%r14
+	addq	%r13,%r9
+	vpxor	%xmm10,%xmm8,%xmm8
+	xorq	%r11,%rdi
+	rorq	$28,%r14
+	vpsrlq	$6,%xmm4,%xmm10
+	addq	%r9,%rbx
+	addq	%rdi,%r9
+	vpaddq	%xmm8,%xmm5,%xmm5
+	movq	%rbx,%r13
+	addq	%r9,%r14
+.byte	143,72,120,195,203,42
+	rorq	$23,%r13
+	movq	%r14,%r9
+	vpxor	%xmm10,%xmm11,%xmm11
+	movq	%rcx,%r12
+	rorq	$5,%r14
+	xorq	%rbx,%r13
+	xorq	%rdx,%r12
+	vpxor	%xmm9,%xmm11,%xmm11
+	rorq	$4,%r13
+	xorq	%r9,%r14
+	andq	%rbx,%r12
+	xorq	%rbx,%r13
+	vpaddq	%xmm11,%xmm5,%xmm5
+	addq	88(%rsp),%r8
+	movq	%r9,%rdi
+	xorq	%rdx,%r12
+	rorq	$6,%r14
+	vpaddq	32(%rbp),%xmm5,%xmm10
+	xorq	%r10,%rdi
+	addq	%r12,%r8
+	rorq	$14,%r13
+	andq	%rdi,%r15
+	xorq	%r9,%r14
+	addq	%r13,%r8
+	xorq	%r10,%r15
+	rorq	$28,%r14
+	addq	%r8,%rax
+	addq	%r15,%r8
+	movq	%rax,%r13
+	addq	%r8,%r14
+	vmovdqa	%xmm10,80(%rsp)
+	vpalignr	$8,%xmm6,%xmm7,%xmm8
+	rorq	$23,%r13
+	movq	%r14,%r8
+	vpalignr	$8,%xmm2,%xmm3,%xmm11
+	movq	%rbx,%r12
+	rorq	$5,%r14
+.byte	143,72,120,195,200,56
+	xorq	%rax,%r13
+	xorq	%rcx,%r12
+	vpsrlq	$7,%xmm8,%xmm8
+	rorq	$4,%r13
+	xorq	%r8,%r14
+	vpaddq	%xmm11,%xmm6,%xmm6
+	andq	%rax,%r12
+	xorq	%rax,%r13
+	addq	96(%rsp),%rdx
+	movq	%r8,%r15
+.byte	143,72,120,195,209,7
+	xorq	%rcx,%r12
+	rorq	$6,%r14
+	vpxor	%xmm9,%xmm8,%xmm8
+	xorq	%r9,%r15
+	addq	%r12,%rdx
+	rorq	$14,%r13
+	andq	%r15,%rdi
+.byte	143,104,120,195,221,3
+	xorq	%r8,%r14
+	addq	%r13,%rdx
+	vpxor	%xmm10,%xmm8,%xmm8
+	xorq	%r9,%rdi
+	rorq	$28,%r14
+	vpsrlq	$6,%xmm5,%xmm10
+	addq	%rdx,%r11
+	addq	%rdi,%rdx
+	vpaddq	%xmm8,%xmm6,%xmm6
+	movq	%r11,%r13
+	addq	%rdx,%r14
+.byte	143,72,120,195,203,42
+	rorq	$23,%r13
+	movq	%r14,%rdx
+	vpxor	%xmm10,%xmm11,%xmm11
+	movq	%rax,%r12
+	rorq	$5,%r14
+	xorq	%r11,%r13
+	xorq	%rbx,%r12
+	vpxor	%xmm9,%xmm11,%xmm11
+	rorq	$4,%r13
+	xorq	%rdx,%r14
+	andq	%r11,%r12
+	xorq	%r11,%r13
+	vpaddq	%xmm11,%xmm6,%xmm6
+	addq	104(%rsp),%rcx
+	movq	%rdx,%rdi
+	xorq	%rbx,%r12
+	rorq	$6,%r14
+	vpaddq	64(%rbp),%xmm6,%xmm10
+	xorq	%r8,%rdi
+	addq	%r12,%rcx
+	rorq	$14,%r13
+	andq	%rdi,%r15
+	xorq	%rdx,%r14
+	addq	%r13,%rcx
+	xorq	%r8,%r15
+	rorq	$28,%r14
+	addq	%rcx,%r10
+	addq	%r15,%rcx
+	movq	%r10,%r13
+	addq	%rcx,%r14
+	vmovdqa	%xmm10,96(%rsp)
+	vpalignr	$8,%xmm7,%xmm0,%xmm8
+	rorq	$23,%r13
+	movq	%r14,%rcx
+	vpalignr	$8,%xmm3,%xmm4,%xmm11
+	movq	%r11,%r12
+	rorq	$5,%r14
+.byte	143,72,120,195,200,56
+	xorq	%r10,%r13
+	xorq	%rax,%r12
+	vpsrlq	$7,%xmm8,%xmm8
+	rorq	$4,%r13
+	xorq	%rcx,%r14
+	vpaddq	%xmm11,%xmm7,%xmm7
+	andq	%r10,%r12
+	xorq	%r10,%r13
+	addq	112(%rsp),%rbx
+	movq	%rcx,%r15
+.byte	143,72,120,195,209,7
+	xorq	%rax,%r12
+	rorq	$6,%r14
+	vpxor	%xmm9,%xmm8,%xmm8
+	xorq	%rdx,%r15
+	addq	%r12,%rbx
+	rorq	$14,%r13
+	andq	%r15,%rdi
+.byte	143,104,120,195,222,3
+	xorq	%rcx,%r14
+	addq	%r13,%rbx
+	vpxor	%xmm10,%xmm8,%xmm8
+	xorq	%rdx,%rdi
+	rorq	$28,%r14
+	vpsrlq	$6,%xmm6,%xmm10
+	addq	%rbx,%r9
+	addq	%rdi,%rbx
+	vpaddq	%xmm8,%xmm7,%xmm7
+	movq	%r9,%r13
+	addq	%rbx,%r14
+.byte	143,72,120,195,203,42
+	rorq	$23,%r13
+	movq	%r14,%rbx
+	vpxor	%xmm10,%xmm11,%xmm11
+	movq	%r10,%r12
+	rorq	$5,%r14
+	xorq	%r9,%r13
+	xorq	%r11,%r12
+	vpxor	%xmm9,%xmm11,%xmm11
+	rorq	$4,%r13
+	xorq	%rbx,%r14
+	andq	%r9,%r12
+	xorq	%r9,%r13
+	vpaddq	%xmm11,%xmm7,%xmm7
+	addq	120(%rsp),%rax
+	movq	%rbx,%rdi
+	xorq	%r11,%r12
+	rorq	$6,%r14
+	vpaddq	96(%rbp),%xmm7,%xmm10
+	xorq	%rcx,%rdi
+	addq	%r12,%rax
+	rorq	$14,%r13
+	andq	%rdi,%r15
+	xorq	%rbx,%r14
+	addq	%r13,%rax
+	xorq	%rcx,%r15
+	rorq	$28,%r14
+	addq	%rax,%r8
+	addq	%r15,%rax
+	movq	%r8,%r13
+	addq	%rax,%r14
+	vmovdqa	%xmm10,112(%rsp)
+	cmpb	$0,135(%rbp)
+	jne	.Lxop_00_47
+	rorq	$23,%r13
+	movq	%r14,%rax
+	movq	%r9,%r12
+	rorq	$5,%r14
+	xorq	%r8,%r13
+	xorq	%r10,%r12
+	rorq	$4,%r13
+	xorq	%rax,%r14
+	andq	%r8,%r12
+	xorq	%r8,%r13
+	addq	0(%rsp),%r11
+	movq	%rax,%r15
+	xorq	%r10,%r12
+	rorq	$6,%r14
+	xorq	%rbx,%r15
+	addq	%r12,%r11
+	rorq	$14,%r13
+	andq	%r15,%rdi
+	xorq	%rax,%r14
+	addq	%r13,%r11
+	xorq	%rbx,%rdi
+	rorq	$28,%r14
+	addq	%r11,%rdx
+	addq	%rdi,%r11
+	movq	%rdx,%r13
+	addq	%r11,%r14
+	rorq	$23,%r13
+	movq	%r14,%r11
+	movq	%r8,%r12
+	rorq	$5,%r14
+	xorq	%rdx,%r13
+	xorq	%r9,%r12
+	rorq	$4,%r13
+	xorq	%r11,%r14
+	andq	%rdx,%r12
+	xorq	%rdx,%r13
+	addq	8(%rsp),%r10
+	movq	%r11,%rdi
+	xorq	%r9,%r12
+	rorq	$6,%r14
+	xorq	%rax,%rdi
+	addq	%r12,%r10
+	rorq	$14,%r13
+	andq	%rdi,%r15
+	xorq	%r11,%r14
+	addq	%r13,%r10
+	xorq	%rax,%r15
+	rorq	$28,%r14
+	addq	%r10,%rcx
+	addq	%r15,%r10
+	movq	%rcx,%r13
+	addq	%r10,%r14
+	rorq	$23,%r13
+	movq	%r14,%r10
+	movq	%rdx,%r12
+	rorq	$5,%r14
+	xorq	%rcx,%r13
+	xorq	%r8,%r12
+	rorq	$4,%r13
+	xorq	%r10,%r14
+	andq	%rcx,%r12
+	xorq	%rcx,%r13
+	addq	16(%rsp),%r9
+	movq	%r10,%r15
+	xorq	%r8,%r12
+	rorq	$6,%r14
+	xorq	%r11,%r15
+	addq	%r12,%r9
+	rorq	$14,%r13
+	andq	%r15,%rdi
+	xorq	%r10,%r14
+	addq	%r13,%r9
+	xorq	%r11,%rdi
+	rorq	$28,%r14
+	addq	%r9,%rbx
+	addq	%rdi,%r9
+	movq	%rbx,%r13
+	addq	%r9,%r14
+	rorq	$23,%r13
+	movq	%r14,%r9
+	movq	%rcx,%r12
+	rorq	$5,%r14
+	xorq	%rbx,%r13
+	xorq	%rdx,%r12
+	rorq	$4,%r13
+	xorq	%r9,%r14
+	andq	%rbx,%r12
+	xorq	%rbx,%r13
+	addq	24(%rsp),%r8
+	movq	%r9,%rdi
+	xorq	%rdx,%r12
+	rorq	$6,%r14
+	xorq	%r10,%rdi
+	addq	%r12,%r8
+	rorq	$14,%r13
+	andq	%rdi,%r15
+	xorq	%r9,%r14
+	addq	%r13,%r8
+	xorq	%r10,%r15
+	rorq	$28,%r14
+	addq	%r8,%rax
+	addq	%r15,%r8
+	movq	%rax,%r13
+	addq	%r8,%r14
+	rorq	$23,%r13
+	movq	%r14,%r8
+	movq	%rbx,%r12
+	rorq	$5,%r14
+	xorq	%rax,%r13
+	xorq	%rcx,%r12
+	rorq	$4,%r13
+	xorq	%r8,%r14
+	andq	%rax,%r12
+	xorq	%rax,%r13
+	addq	32(%rsp),%rdx
+	movq	%r8,%r15
+	xorq	%rcx,%r12
+	rorq	$6,%r14
+	xorq	%r9,%r15
+	addq	%r12,%rdx
+	rorq	$14,%r13
+	andq	%r15,%rdi
+	xorq	%r8,%r14
+	addq	%r13,%rdx
+	xorq	%r9,%rdi
+	rorq	$28,%r14
+	addq	%rdx,%r11
+	addq	%rdi,%rdx
+	movq	%r11,%r13
+	addq	%rdx,%r14
+	rorq	$23,%r13
+	movq	%r14,%rdx
+	movq	%rax,%r12
+	rorq	$5,%r14
+	xorq	%r11,%r13
+	xorq	%rbx,%r12
+	rorq	$4,%r13
+	xorq	%rdx,%r14
+	andq	%r11,%r12
+	xorq	%r11,%r13
+	addq	40(%rsp),%rcx
+	movq	%rdx,%rdi
+	xorq	%rbx,%r12
+	rorq	$6,%r14
+	xorq	%r8,%rdi
+	addq	%r12,%rcx
+	rorq	$14,%r13
+	andq	%rdi,%r15
+	xorq	%rdx,%r14
+	addq	%r13,%rcx
+	xorq	%r8,%r15
+	rorq	$28,%r14
+	addq	%rcx,%r10
+	addq	%r15,%rcx
+	movq	%r10,%r13
+	addq	%rcx,%r14
+	rorq	$23,%r13
+	movq	%r14,%rcx
+	movq	%r11,%r12
+	rorq	$5,%r14
+	xorq	%r10,%r13
+	xorq	%rax,%r12
+	rorq	$4,%r13
+	xorq	%rcx,%r14
+	andq	%r10,%r12
+	xorq	%r10,%r13
+	addq	48(%rsp),%rbx
+	movq	%rcx,%r15
+	xorq	%rax,%r12
+	rorq	$6,%r14
+	xorq	%rdx,%r15
+	addq	%r12,%rbx
+	rorq	$14,%r13
+	andq	%r15,%rdi
+	xorq	%rcx,%r14
+	addq	%r13,%rbx
+	xorq	%rdx,%rdi
+	rorq	$28,%r14
+	addq	%rbx,%r9
+	addq	%rdi,%rbx
+	movq	%r9,%r13
+	addq	%rbx,%r14
+	rorq	$23,%r13
+	movq	%r14,%rbx
+	movq	%r10,%r12
+	rorq	$5,%r14
+	xorq	%r9,%r13
+	xorq	%r11,%r12
+	rorq	$4,%r13
+	xorq	%rbx,%r14
+	andq	%r9,%r12
+	xorq	%r9,%r13
+	addq	56(%rsp),%rax
+	movq	%rbx,%rdi
+	xorq	%r11,%r12
+	rorq	$6,%r14
+	xorq	%rcx,%rdi
+	addq	%r12,%rax
+	rorq	$14,%r13
+	andq	%rdi,%r15
+	xorq	%rbx,%r14
+	addq	%r13,%rax
+	xorq	%rcx,%r15
+	rorq	$28,%r14
+	addq	%rax,%r8
+	addq	%r15,%rax
+	movq	%r8,%r13
+	addq	%rax,%r14
+	rorq	$23,%r13
+	movq	%r14,%rax
+	movq	%r9,%r12
+	rorq	$5,%r14
+	xorq	%r8,%r13
+	xorq	%r10,%r12
+	rorq	$4,%r13
+	xorq	%rax,%r14
+	andq	%r8,%r12
+	xorq	%r8,%r13
+	addq	64(%rsp),%r11
+	movq	%rax,%r15
+	xorq	%r10,%r12
+	rorq	$6,%r14
+	xorq	%rbx,%r15
+	addq	%r12,%r11
+	rorq	$14,%r13
+	andq	%r15,%rdi
+	xorq	%rax,%r14
+	addq	%r13,%r11
+	xorq	%rbx,%rdi
+	rorq	$28,%r14
+	addq	%r11,%rdx
+	addq	%rdi,%r11
+	movq	%rdx,%r13
+	addq	%r11,%r14
+	rorq	$23,%r13
+	movq	%r14,%r11
+	movq	%r8,%r12
+	rorq	$5,%r14
+	xorq	%rdx,%r13
+	xorq	%r9,%r12
+	rorq	$4,%r13
+	xorq	%r11,%r14
+	andq	%rdx,%r12
+	xorq	%rdx,%r13
+	addq	72(%rsp),%r10
+	movq	%r11,%rdi
+	xorq	%r9,%r12
+	rorq	$6,%r14
+	xorq	%rax,%rdi
+	addq	%r12,%r10
+	rorq	$14,%r13
+	andq	%rdi,%r15
+	xorq	%r11,%r14
+	addq	%r13,%r10
+	xorq	%rax,%r15
+	rorq	$28,%r14
+	addq	%r10,%rcx
+	addq	%r15,%r10
+	movq	%rcx,%r13
+	addq	%r10,%r14
+	rorq	$23,%r13
+	movq	%r14,%r10
+	movq	%rdx,%r12
+	rorq	$5,%r14
+	xorq	%rcx,%r13
+	xorq	%r8,%r12
+	rorq	$4,%r13
+	xorq	%r10,%r14
+	andq	%rcx,%r12
+	xorq	%rcx,%r13
+	addq	80(%rsp),%r9
+	movq	%r10,%r15
+	xorq	%r8,%r12
+	rorq	$6,%r14
+	xorq	%r11,%r15
+	addq	%r12,%r9
+	rorq	$14,%r13
+	andq	%r15,%rdi
+	xorq	%r10,%r14
+	addq	%r13,%r9
+	xorq	%r11,%rdi
+	rorq	$28,%r14
+	addq	%r9,%rbx
+	addq	%rdi,%r9
+	movq	%rbx,%r13
+	addq	%r9,%r14
+	rorq	$23,%r13
+	movq	%r14,%r9
+	movq	%rcx,%r12
+	rorq	$5,%r14
+	xorq	%rbx,%r13
+	xorq	%rdx,%r12
+	rorq	$4,%r13
+	xorq	%r9,%r14
+	andq	%rbx,%r12
+	xorq	%rbx,%r13
+	addq	88(%rsp),%r8
+	movq	%r9,%rdi
+	xorq	%rdx,%r12
+	rorq	$6,%r14
+	xorq	%r10,%rdi
+	addq	%r12,%r8
+	rorq	$14,%r13
+	andq	%rdi,%r15
+	xorq	%r9,%r14
+	addq	%r13,%r8
+	xorq	%r10,%r15
+	rorq	$28,%r14
+	addq	%r8,%rax
+	addq	%r15,%r8
+	movq	%rax,%r13
+	addq	%r8,%r14
+	rorq	$23,%r13
+	movq	%r14,%r8
+	movq	%rbx,%r12
+	rorq	$5,%r14
+	xorq	%rax,%r13
+	xorq	%rcx,%r12
+	rorq	$4,%r13
+	xorq	%r8,%r14
+	andq	%rax,%r12
+	xorq	%rax,%r13
+	addq	96(%rsp),%rdx
+	movq	%r8,%r15
+	xorq	%rcx,%r12
+	rorq	$6,%r14
+	xorq	%r9,%r15
+	addq	%r12,%rdx
+	rorq	$14,%r13
+	andq	%r15,%rdi
+	xorq	%r8,%r14
+	addq	%r13,%rdx
+	xorq	%r9,%rdi
+	rorq	$28,%r14
+	addq	%rdx,%r11
+	addq	%rdi,%rdx
+	movq	%r11,%r13
+	addq	%rdx,%r14
+	rorq	$23,%r13
+	movq	%r14,%rdx
+	movq	%rax,%r12
+	rorq	$5,%r14
+	xorq	%r11,%r13
+	xorq	%rbx,%r12
+	rorq	$4,%r13
+	xorq	%rdx,%r14
+	andq	%r11,%r12
+	xorq	%r11,%r13
+	addq	104(%rsp),%rcx
+	movq	%rdx,%rdi
+	xorq	%rbx,%r12
+	rorq	$6,%r14
+	xorq	%r8,%rdi
+	addq	%r12,%rcx
+	rorq	$14,%r13
+	andq	%rdi,%r15
+	xorq	%rdx,%r14
+	addq	%r13,%rcx
+	xorq	%r8,%r15
+	rorq	$28,%r14
+	addq	%rcx,%r10
+	addq	%r15,%rcx
+	movq	%r10,%r13
+	addq	%rcx,%r14
+	rorq	$23,%r13
+	movq	%r14,%rcx
+	movq	%r11,%r12
+	rorq	$5,%r14
+	xorq	%r10,%r13
+	xorq	%rax,%r12
+	rorq	$4,%r13
+	xorq	%rcx,%r14
+	andq	%r10,%r12
+	xorq	%r10,%r13
+	addq	112(%rsp),%rbx
+	movq	%rcx,%r15
+	xorq	%rax,%r12
+	rorq	$6,%r14
+	xorq	%rdx,%r15
+	addq	%r12,%rbx
+	rorq	$14,%r13
+	andq	%r15,%rdi
+	xorq	%rcx,%r14
+	addq	%r13,%rbx
+	xorq	%rdx,%rdi
+	rorq	$28,%r14
+	addq	%rbx,%r9
+	addq	%rdi,%rbx
+	movq	%r9,%r13
+	addq	%rbx,%r14
+	rorq	$23,%r13
+	movq	%r14,%rbx
+	movq	%r10,%r12
+	rorq	$5,%r14
+	xorq	%r9,%r13
+	xorq	%r11,%r12
+	rorq	$4,%r13
+	xorq	%rbx,%r14
+	andq	%r9,%r12
+	xorq	%r9,%r13
+	addq	120(%rsp),%rax
+	movq	%rbx,%rdi
+	xorq	%r11,%r12
+	rorq	$6,%r14
+	xorq	%rcx,%rdi
+	addq	%r12,%rax
+	rorq	$14,%r13
+	andq	%rdi,%r15
+	xorq	%rbx,%r14
+	addq	%r13,%rax
+	xorq	%rcx,%r15
+	rorq	$28,%r14
+	addq	%rax,%r8
+	addq	%r15,%rax
+	movq	%r8,%r13
+	addq	%rax,%r14
+	movq	128+0(%rsp),%rdi
+	movq	%r14,%rax
+
+	addq	0(%rdi),%rax
+	leaq	128(%rsi),%rsi
+	addq	8(%rdi),%rbx
+	addq	16(%rdi),%rcx
+	addq	24(%rdi),%rdx
+	addq	32(%rdi),%r8
+	addq	40(%rdi),%r9
+	addq	48(%rdi),%r10
+	addq	56(%rdi),%r11
+
+	cmpq	128+16(%rsp),%rsi
+
+	movq	%rax,0(%rdi)
+	movq	%rbx,8(%rdi)
+	movq	%rcx,16(%rdi)
+	movq	%rdx,24(%rdi)
+	movq	%r8,32(%rdi)
+	movq	%r9,40(%rdi)
+	movq	%r10,48(%rdi)
+	movq	%r11,56(%rdi)
+	jb	.Lloop_xop
+
+	movq	128+24(%rsp),%rsi
+	vzeroupper
+	movq	-48(%rsi),%r15
+	movq	-40(%rsi),%r14
+	movq	-32(%rsi),%r13
+	movq	-24(%rsi),%r12
+	movq	-16(%rsi),%rbp
+	movq	-8(%rsi),%rbx
+	leaq	(%rsi),%rsp
+.Lepilogue_xop:
+	.byte	0xf3,0xc3
+.size	sha512_block_data_order_xop,.-sha512_block_data_order_xop
+.type	sha512_block_data_order_avx,@function
+.align	64
+sha512_block_data_order_avx:
+.Lavx_shortcut:
+	movq	%rsp,%rax
+	pushq	%rbx
+	pushq	%rbp
+	pushq	%r12
+	pushq	%r13
+	pushq	%r14
+	pushq	%r15
+	shlq	$4,%rdx
+	subq	$160,%rsp
+	leaq	(%rsi,%rdx,8),%rdx
+	andq	$-64,%rsp
+	movq	%rdi,128+0(%rsp)
+	movq	%rsi,128+8(%rsp)
+	movq	%rdx,128+16(%rsp)
+	movq	%rax,128+24(%rsp)
+.Lprologue_avx:
+
+	vzeroupper
+	movq	0(%rdi),%rax
+	movq	8(%rdi),%rbx
+	movq	16(%rdi),%rcx
+	movq	24(%rdi),%rdx
+	movq	32(%rdi),%r8
+	movq	40(%rdi),%r9
+	movq	48(%rdi),%r10
+	movq	56(%rdi),%r11
+	jmp	.Lloop_avx
+.align	16
+.Lloop_avx:
+	vmovdqa	K512+1280(%rip),%xmm11
+	vmovdqu	0(%rsi),%xmm0
+	leaq	K512+128(%rip),%rbp
+	vmovdqu	16(%rsi),%xmm1
+	vmovdqu	32(%rsi),%xmm2
+	vpshufb	%xmm11,%xmm0,%xmm0
+	vmovdqu	48(%rsi),%xmm3
+	vpshufb	%xmm11,%xmm1,%xmm1
+	vmovdqu	64(%rsi),%xmm4
+	vpshufb	%xmm11,%xmm2,%xmm2
+	vmovdqu	80(%rsi),%xmm5
+	vpshufb	%xmm11,%xmm3,%xmm3
+	vmovdqu	96(%rsi),%xmm6
+	vpshufb	%xmm11,%xmm4,%xmm4
+	vmovdqu	112(%rsi),%xmm7
+	vpshufb	%xmm11,%xmm5,%xmm5
+	vpaddq	-128(%rbp),%xmm0,%xmm8
+	vpshufb	%xmm11,%xmm6,%xmm6
+	vpaddq	-96(%rbp),%xmm1,%xmm9
+	vpshufb	%xmm11,%xmm7,%xmm7
+	vpaddq	-64(%rbp),%xmm2,%xmm10
+	vpaddq	-32(%rbp),%xmm3,%xmm11
+	vmovdqa	%xmm8,0(%rsp)
+	vpaddq	0(%rbp),%xmm4,%xmm8
+	vmovdqa	%xmm9,16(%rsp)
+	vpaddq	32(%rbp),%xmm5,%xmm9
+	vmovdqa	%xmm10,32(%rsp)
+	vpaddq	64(%rbp),%xmm6,%xmm10
+	vmovdqa	%xmm11,48(%rsp)
+	vpaddq	96(%rbp),%xmm7,%xmm11
+	vmovdqa	%xmm8,64(%rsp)
+	movq	%rax,%r14
+	vmovdqa	%xmm9,80(%rsp)
+	movq	%rbx,%rdi
+	vmovdqa	%xmm10,96(%rsp)
+	xorq	%rcx,%rdi
+	vmovdqa	%xmm11,112(%rsp)
+	movq	%r8,%r13
+	jmp	.Lavx_00_47
+
+.align	16
+.Lavx_00_47:
+	addq	$256,%rbp
+	vpalignr	$8,%xmm0,%xmm1,%xmm8
+	shrdq	$23,%r13,%r13
+	movq	%r14,%rax
+	vpalignr	$8,%xmm4,%xmm5,%xmm11
+	movq	%r9,%r12
+	shrdq	$5,%r14,%r14
+	vpsrlq	$1,%xmm8,%xmm10
+	xorq	%r8,%r13
+	xorq	%r10,%r12
+	vpaddq	%xmm11,%xmm0,%xmm0
+	shrdq	$4,%r13,%r13
+	xorq	%rax,%r14
+	vpsrlq	$7,%xmm8,%xmm11
+	andq	%r8,%r12
+	xorq	%r8,%r13
+	vpsllq	$56,%xmm8,%xmm9
+	addq	0(%rsp),%r11
+	movq	%rax,%r15
+	vpxor	%xmm10,%xmm11,%xmm8
+	xorq	%r10,%r12
+	shrdq	$6,%r14,%r14
+	vpsrlq	$7,%xmm10,%xmm10
+	xorq	%rbx,%r15
+	addq	%r12,%r11
+	vpxor	%xmm9,%xmm8,%xmm8
+	shrdq	$14,%r13,%r13
+	andq	%r15,%rdi
+	vpsllq	$7,%xmm9,%xmm9
+	xorq	%rax,%r14
+	addq	%r13,%r11
+	vpxor	%xmm10,%xmm8,%xmm8
+	xorq	%rbx,%rdi
+	shrdq	$28,%r14,%r14
+	vpsrlq	$6,%xmm7,%xmm11
+	addq	%r11,%rdx
+	addq	%rdi,%r11
+	vpxor	%xmm9,%xmm8,%xmm8
+	movq	%rdx,%r13
+	addq	%r11,%r14
+	vpsllq	$3,%xmm7,%xmm10
+	shrdq	$23,%r13,%r13
+	movq	%r14,%r11
+	vpaddq	%xmm8,%xmm0,%xmm0
+	movq	%r8,%r12
+	shrdq	$5,%r14,%r14
+	vpsrlq	$19,%xmm7,%xmm9
+	xorq	%rdx,%r13
+	xorq	%r9,%r12
+	vpxor	%xmm10,%xmm11,%xmm11
+	shrdq	$4,%r13,%r13
+	xorq	%r11,%r14
+	vpsllq	$42,%xmm10,%xmm10
+	andq	%rdx,%r12
+	xorq	%rdx,%r13
+	vpxor	%xmm9,%xmm11,%xmm11
+	addq	8(%rsp),%r10
+	movq	%r11,%rdi
+	vpsrlq	$42,%xmm9,%xmm9
+	xorq	%r9,%r12
+	shrdq	$6,%r14,%r14
+	vpxor	%xmm10,%xmm11,%xmm11
+	xorq	%rax,%rdi
+	addq	%r12,%r10
+	vpxor	%xmm9,%xmm11,%xmm11
+	shrdq	$14,%r13,%r13
+	andq	%rdi,%r15
+	vpaddq	%xmm11,%xmm0,%xmm0
+	xorq	%r11,%r14
+	addq	%r13,%r10
+	vpaddq	-128(%rbp),%xmm0,%xmm10
+	xorq	%rax,%r15
+	shrdq	$28,%r14,%r14
+	addq	%r10,%rcx
+	addq	%r15,%r10
+	movq	%rcx,%r13
+	addq	%r10,%r14
+	vmovdqa	%xmm10,0(%rsp)
+	vpalignr	$8,%xmm1,%xmm2,%xmm8
+	shrdq	$23,%r13,%r13
+	movq	%r14,%r10
+	vpalignr	$8,%xmm5,%xmm6,%xmm11
+	movq	%rdx,%r12
+	shrdq	$5,%r14,%r14
+	vpsrlq	$1,%xmm8,%xmm10
+	xorq	%rcx,%r13
+	xorq	%r8,%r12
+	vpaddq	%xmm11,%xmm1,%xmm1
+	shrdq	$4,%r13,%r13
+	xorq	%r10,%r14
+	vpsrlq	$7,%xmm8,%xmm11
+	andq	%rcx,%r12
+	xorq	%rcx,%r13
+	vpsllq	$56,%xmm8,%xmm9
+	addq	16(%rsp),%r9
+	movq	%r10,%r15
+	vpxor	%xmm10,%xmm11,%xmm8
+	xorq	%r8,%r12
+	shrdq	$6,%r14,%r14
+	vpsrlq	$7,%xmm10,%xmm10
+	xorq	%r11,%r15
+	addq	%r12,%r9
+	vpxor	%xmm9,%xmm8,%xmm8
+	shrdq	$14,%r13,%r13
+	andq	%r15,%rdi
+	vpsllq	$7,%xmm9,%xmm9
+	xorq	%r10,%r14
+	addq	%r13,%r9
+	vpxor	%xmm10,%xmm8,%xmm8
+	xorq	%r11,%rdi
+	shrdq	$28,%r14,%r14
+	vpsrlq	$6,%xmm0,%xmm11
+	addq	%r9,%rbx
+	addq	%rdi,%r9
+	vpxor	%xmm9,%xmm8,%xmm8
+	movq	%rbx,%r13
+	addq	%r9,%r14
+	vpsllq	$3,%xmm0,%xmm10
+	shrdq	$23,%r13,%r13
+	movq	%r14,%r9
+	vpaddq	%xmm8,%xmm1,%xmm1
+	movq	%rcx,%r12
+	shrdq	$5,%r14,%r14
+	vpsrlq	$19,%xmm0,%xmm9
+	xorq	%rbx,%r13
+	xorq	%rdx,%r12
+	vpxor	%xmm10,%xmm11,%xmm11
+	shrdq	$4,%r13,%r13
+	xorq	%r9,%r14
+	vpsllq	$42,%xmm10,%xmm10
+	andq	%rbx,%r12
+	xorq	%rbx,%r13
+	vpxor	%xmm9,%xmm11,%xmm11
+	addq	24(%rsp),%r8
+	movq	%r9,%rdi
+	vpsrlq	$42,%xmm9,%xmm9
+	xorq	%rdx,%r12
+	shrdq	$6,%r14,%r14
+	vpxor	%xmm10,%xmm11,%xmm11
+	xorq	%r10,%rdi
+	addq	%r12,%r8
+	vpxor	%xmm9,%xmm11,%xmm11
+	shrdq	$14,%r13,%r13
+	andq	%rdi,%r15
+	vpaddq	%xmm11,%xmm1,%xmm1
+	xorq	%r9,%r14
+	addq	%r13,%r8
+	vpaddq	-96(%rbp),%xmm1,%xmm10
+	xorq	%r10,%r15
+	shrdq	$28,%r14,%r14
+	addq	%r8,%rax
+	addq	%r15,%r8
+	movq	%rax,%r13
+	addq	%r8,%r14
+	vmovdqa	%xmm10,16(%rsp)
+	vpalignr	$8,%xmm2,%xmm3,%xmm8
+	shrdq	$23,%r13,%r13
+	movq	%r14,%r8
+	vpalignr	$8,%xmm6,%xmm7,%xmm11
+	movq	%rbx,%r12
+	shrdq	$5,%r14,%r14
+	vpsrlq	$1,%xmm8,%xmm10
+	xorq	%rax,%r13
+	xorq	%rcx,%r12
+	vpaddq	%xmm11,%xmm2,%xmm2
+	shrdq	$4,%r13,%r13
+	xorq	%r8,%r14
+	vpsrlq	$7,%xmm8,%xmm11
+	andq	%rax,%r12
+	xorq	%rax,%r13
+	vpsllq	$56,%xmm8,%xmm9
+	addq	32(%rsp),%rdx
+	movq	%r8,%r15
+	vpxor	%xmm10,%xmm11,%xmm8
+	xorq	%rcx,%r12
+	shrdq	$6,%r14,%r14
+	vpsrlq	$7,%xmm10,%xmm10
+	xorq	%r9,%r15
+	addq	%r12,%rdx
+	vpxor	%xmm9,%xmm8,%xmm8
+	shrdq	$14,%r13,%r13
+	andq	%r15,%rdi
+	vpsllq	$7,%xmm9,%xmm9
+	xorq	%r8,%r14
+	addq	%r13,%rdx
+	vpxor	%xmm10,%xmm8,%xmm8
+	xorq	%r9,%rdi
+	shrdq	$28,%r14,%r14
+	vpsrlq	$6,%xmm1,%xmm11
+	addq	%rdx,%r11
+	addq	%rdi,%rdx
+	vpxor	%xmm9,%xmm8,%xmm8
+	movq	%r11,%r13
+	addq	%rdx,%r14
+	vpsllq	$3,%xmm1,%xmm10
+	shrdq	$23,%r13,%r13
+	movq	%r14,%rdx
+	vpaddq	%xmm8,%xmm2,%xmm2
+	movq	%rax,%r12
+	shrdq	$5,%r14,%r14
+	vpsrlq	$19,%xmm1,%xmm9
+	xorq	%r11,%r13
+	xorq	%rbx,%r12
+	vpxor	%xmm10,%xmm11,%xmm11
+	shrdq	$4,%r13,%r13
+	xorq	%rdx,%r14
+	vpsllq	$42,%xmm10,%xmm10
+	andq	%r11,%r12
+	xorq	%r11,%r13
+	vpxor	%xmm9,%xmm11,%xmm11
+	addq	40(%rsp),%rcx
+	movq	%rdx,%rdi
+	vpsrlq	$42,%xmm9,%xmm9
+	xorq	%rbx,%r12
+	shrdq	$6,%r14,%r14
+	vpxor	%xmm10,%xmm11,%xmm11
+	xorq	%r8,%rdi
+	addq	%r12,%rcx
+	vpxor	%xmm9,%xmm11,%xmm11
+	shrdq	$14,%r13,%r13
+	andq	%rdi,%r15
+	vpaddq	%xmm11,%xmm2,%xmm2
+	xorq	%rdx,%r14
+	addq	%r13,%rcx
+	vpaddq	-64(%rbp),%xmm2,%xmm10
+	xorq	%r8,%r15
+	shrdq	$28,%r14,%r14
+	addq	%rcx,%r10
+	addq	%r15,%rcx
+	movq	%r10,%r13
+	addq	%rcx,%r14
+	vmovdqa	%xmm10,32(%rsp)
+	vpalignr	$8,%xmm3,%xmm4,%xmm8
+	shrdq	$23,%r13,%r13
+	movq	%r14,%rcx
+	vpalignr	$8,%xmm7,%xmm0,%xmm11
+	movq	%r11,%r12
+	shrdq	$5,%r14,%r14
+	vpsrlq	$1,%xmm8,%xmm10
+	xorq	%r10,%r13
+	xorq	%rax,%r12
+	vpaddq	%xmm11,%xmm3,%xmm3
+	shrdq	$4,%r13,%r13
+	xorq	%rcx,%r14
+	vpsrlq	$7,%xmm8,%xmm11
+	andq	%r10,%r12
+	xorq	%r10,%r13
+	vpsllq	$56,%xmm8,%xmm9
+	addq	48(%rsp),%rbx
+	movq	%rcx,%r15
+	vpxor	%xmm10,%xmm11,%xmm8
+	xorq	%rax,%r12
+	shrdq	$6,%r14,%r14
+	vpsrlq	$7,%xmm10,%xmm10
+	xorq	%rdx,%r15
+	addq	%r12,%rbx
+	vpxor	%xmm9,%xmm8,%xmm8
+	shrdq	$14,%r13,%r13
+	andq	%r15,%rdi
+	vpsllq	$7,%xmm9,%xmm9
+	xorq	%rcx,%r14
+	addq	%r13,%rbx
+	vpxor	%xmm10,%xmm8,%xmm8
+	xorq	%rdx,%rdi
+	shrdq	$28,%r14,%r14
+	vpsrlq	$6,%xmm2,%xmm11
+	addq	%rbx,%r9
+	addq	%rdi,%rbx
+	vpxor	%xmm9,%xmm8,%xmm8
+	movq	%r9,%r13
+	addq	%rbx,%r14
+	vpsllq	$3,%xmm2,%xmm10
+	shrdq	$23,%r13,%r13
+	movq	%r14,%rbx
+	vpaddq	%xmm8,%xmm3,%xmm3
+	movq	%r10,%r12
+	shrdq	$5,%r14,%r14
+	vpsrlq	$19,%xmm2,%xmm9
+	xorq	%r9,%r13
+	xorq	%r11,%r12
+	vpxor	%xmm10,%xmm11,%xmm11
+	shrdq	$4,%r13,%r13
+	xorq	%rbx,%r14
+	vpsllq	$42,%xmm10,%xmm10
+	andq	%r9,%r12
+	xorq	%r9,%r13
+	vpxor	%xmm9,%xmm11,%xmm11
+	addq	56(%rsp),%rax
+	movq	%rbx,%rdi
+	vpsrlq	$42,%xmm9,%xmm9
+	xorq	%r11,%r12
+	shrdq	$6,%r14,%r14
+	vpxor	%xmm10,%xmm11,%xmm11
+	xorq	%rcx,%rdi
+	addq	%r12,%rax
+	vpxor	%xmm9,%xmm11,%xmm11
+	shrdq	$14,%r13,%r13
+	andq	%rdi,%r15
+	vpaddq	%xmm11,%xmm3,%xmm3
+	xorq	%rbx,%r14
+	addq	%r13,%rax
+	vpaddq	-32(%rbp),%xmm3,%xmm10
+	xorq	%rcx,%r15
+	shrdq	$28,%r14,%r14
+	addq	%rax,%r8
+	addq	%r15,%rax
+	movq	%r8,%r13
+	addq	%rax,%r14
+	vmovdqa	%xmm10,48(%rsp)
+	vpalignr	$8,%xmm4,%xmm5,%xmm8
+	shrdq	$23,%r13,%r13
+	movq	%r14,%rax
+	vpalignr	$8,%xmm0,%xmm1,%xmm11
+	movq	%r9,%r12
+	shrdq	$5,%r14,%r14
+	vpsrlq	$1,%xmm8,%xmm10
+	xorq	%r8,%r13
+	xorq	%r10,%r12
+	vpaddq	%xmm11,%xmm4,%xmm4
+	shrdq	$4,%r13,%r13
+	xorq	%rax,%r14
+	vpsrlq	$7,%xmm8,%xmm11
+	andq	%r8,%r12
+	xorq	%r8,%r13
+	vpsllq	$56,%xmm8,%xmm9
+	addq	64(%rsp),%r11
+	movq	%rax,%r15
+	vpxor	%xmm10,%xmm11,%xmm8
+	xorq	%r10,%r12
+	shrdq	$6,%r14,%r14
+	vpsrlq	$7,%xmm10,%xmm10
+	xorq	%rbx,%r15
+	addq	%r12,%r11
+	vpxor	%xmm9,%xmm8,%xmm8
+	shrdq	$14,%r13,%r13
+	andq	%r15,%rdi
+	vpsllq	$7,%xmm9,%xmm9
+	xorq	%rax,%r14
+	addq	%r13,%r11
+	vpxor	%xmm10,%xmm8,%xmm8
+	xorq	%rbx,%rdi
+	shrdq	$28,%r14,%r14
+	vpsrlq	$6,%xmm3,%xmm11
+	addq	%r11,%rdx
+	addq	%rdi,%r11
+	vpxor	%xmm9,%xmm8,%xmm8
+	movq	%rdx,%r13
+	addq	%r11,%r14
+	vpsllq	$3,%xmm3,%xmm10
+	shrdq	$23,%r13,%r13
+	movq	%r14,%r11
+	vpaddq	%xmm8,%xmm4,%xmm4
+	movq	%r8,%r12
+	shrdq	$5,%r14,%r14
+	vpsrlq	$19,%xmm3,%xmm9
+	xorq	%rdx,%r13
+	xorq	%r9,%r12
+	vpxor	%xmm10,%xmm11,%xmm11
+	shrdq	$4,%r13,%r13
+	xorq	%r11,%r14
+	vpsllq	$42,%xmm10,%xmm10
+	andq	%rdx,%r12
+	xorq	%rdx,%r13
+	vpxor	%xmm9,%xmm11,%xmm11
+	addq	72(%rsp),%r10
+	movq	%r11,%rdi
+	vpsrlq	$42,%xmm9,%xmm9
+	xorq	%r9,%r12
+	shrdq	$6,%r14,%r14
+	vpxor	%xmm10,%xmm11,%xmm11
+	xorq	%rax,%rdi
+	addq	%r12,%r10
+	vpxor	%xmm9,%xmm11,%xmm11
+	shrdq	$14,%r13,%r13
+	andq	%rdi,%r15
+	vpaddq	%xmm11,%xmm4,%xmm4
+	xorq	%r11,%r14
+	addq	%r13,%r10
+	vpaddq	0(%rbp),%xmm4,%xmm10
+	xorq	%rax,%r15
+	shrdq	$28,%r14,%r14
+	addq	%r10,%rcx
+	addq	%r15,%r10
+	movq	%rcx,%r13
+	addq	%r10,%r14
+	vmovdqa	%xmm10,64(%rsp)
+	vpalignr	$8,%xmm5,%xmm6,%xmm8
+	shrdq	$23,%r13,%r13
+	movq	%r14,%r10
+	vpalignr	$8,%xmm1,%xmm2,%xmm11
+	movq	%rdx,%r12
+	shrdq	$5,%r14,%r14
+	vpsrlq	$1,%xmm8,%xmm10
+	xorq	%rcx,%r13
+	xorq	%r8,%r12
+	vpaddq	%xmm11,%xmm5,%xmm5
+	shrdq	$4,%r13,%r13
+	xorq	%r10,%r14
+	vpsrlq	$7,%xmm8,%xmm11
+	andq	%rcx,%r12
+	xorq	%rcx,%r13
+	vpsllq	$56,%xmm8,%xmm9
+	addq	80(%rsp),%r9
+	movq	%r10,%r15
+	vpxor	%xmm10,%xmm11,%xmm8
+	xorq	%r8,%r12
+	shrdq	$6,%r14,%r14
+	vpsrlq	$7,%xmm10,%xmm10
+	xorq	%r11,%r15
+	addq	%r12,%r9
+	vpxor	%xmm9,%xmm8,%xmm8
+	shrdq	$14,%r13,%r13
+	andq	%r15,%rdi
+	vpsllq	$7,%xmm9,%xmm9
+	xorq	%r10,%r14
+	addq	%r13,%r9
+	vpxor	%xmm10,%xmm8,%xmm8
+	xorq	%r11,%rdi
+	shrdq	$28,%r14,%r14
+	vpsrlq	$6,%xmm4,%xmm11
+	addq	%r9,%rbx
+	addq	%rdi,%r9
+	vpxor	%xmm9,%xmm8,%xmm8
+	movq	%rbx,%r13
+	addq	%r9,%r14
+	vpsllq	$3,%xmm4,%xmm10
+	shrdq	$23,%r13,%r13
+	movq	%r14,%r9
+	vpaddq	%xmm8,%xmm5,%xmm5
+	movq	%rcx,%r12
+	shrdq	$5,%r14,%r14
+	vpsrlq	$19,%xmm4,%xmm9
+	xorq	%rbx,%r13
+	xorq	%rdx,%r12
+	vpxor	%xmm10,%xmm11,%xmm11
+	shrdq	$4,%r13,%r13
+	xorq	%r9,%r14
+	vpsllq	$42,%xmm10,%xmm10
+	andq	%rbx,%r12
+	xorq	%rbx,%r13
+	vpxor	%xmm9,%xmm11,%xmm11
+	addq	88(%rsp),%r8
+	movq	%r9,%rdi
+	vpsrlq	$42,%xmm9,%xmm9
+	xorq	%rdx,%r12
+	shrdq	$6,%r14,%r14
+	vpxor	%xmm10,%xmm11,%xmm11
+	xorq	%r10,%rdi
+	addq	%r12,%r8
+	vpxor	%xmm9,%xmm11,%xmm11
+	shrdq	$14,%r13,%r13
+	andq	%rdi,%r15
+	vpaddq	%xmm11,%xmm5,%xmm5
+	xorq	%r9,%r14
+	addq	%r13,%r8
+	vpaddq	32(%rbp),%xmm5,%xmm10
+	xorq	%r10,%r15
+	shrdq	$28,%r14,%r14
+	addq	%r8,%rax
+	addq	%r15,%r8
+	movq	%rax,%r13
+	addq	%r8,%r14
+	vmovdqa	%xmm10,80(%rsp)
+	vpalignr	$8,%xmm6,%xmm7,%xmm8
+	shrdq	$23,%r13,%r13
+	movq	%r14,%r8
+	vpalignr	$8,%xmm2,%xmm3,%xmm11
+	movq	%rbx,%r12
+	shrdq	$5,%r14,%r14
+	vpsrlq	$1,%xmm8,%xmm10
+	xorq	%rax,%r13
+	xorq	%rcx,%r12
+	vpaddq	%xmm11,%xmm6,%xmm6
+	shrdq	$4,%r13,%r13
+	xorq	%r8,%r14
+	vpsrlq	$7,%xmm8,%xmm11
+	andq	%rax,%r12
+	xorq	%rax,%r13
+	vpsllq	$56,%xmm8,%xmm9
+	addq	96(%rsp),%rdx
+	movq	%r8,%r15
+	vpxor	%xmm10,%xmm11,%xmm8
+	xorq	%rcx,%r12
+	shrdq	$6,%r14,%r14
+	vpsrlq	$7,%xmm10,%xmm10
+	xorq	%r9,%r15
+	addq	%r12,%rdx
+	vpxor	%xmm9,%xmm8,%xmm8
+	shrdq	$14,%r13,%r13
+	andq	%r15,%rdi
+	vpsllq	$7,%xmm9,%xmm9
+	xorq	%r8,%r14
+	addq	%r13,%rdx
+	vpxor	%xmm10,%xmm8,%xmm8
+	xorq	%r9,%rdi
+	shrdq	$28,%r14,%r14
+	vpsrlq	$6,%xmm5,%xmm11
+	addq	%rdx,%r11
+	addq	%rdi,%rdx
+	vpxor	%xmm9,%xmm8,%xmm8
+	movq	%r11,%r13
+	addq	%rdx,%r14
+	vpsllq	$3,%xmm5,%xmm10
+	shrdq	$23,%r13,%r13
+	movq	%r14,%rdx
+	vpaddq	%xmm8,%xmm6,%xmm6
+	movq	%rax,%r12
+	shrdq	$5,%r14,%r14
+	vpsrlq	$19,%xmm5,%xmm9
+	xorq	%r11,%r13
+	xorq	%rbx,%r12
+	vpxor	%xmm10,%xmm11,%xmm11
+	shrdq	$4,%r13,%r13
+	xorq	%rdx,%r14
+	vpsllq	$42,%xmm10,%xmm10
+	andq	%r11,%r12
+	xorq	%r11,%r13
+	vpxor	%xmm9,%xmm11,%xmm11
+	addq	104(%rsp),%rcx
+	movq	%rdx,%rdi
+	vpsrlq	$42,%xmm9,%xmm9
+	xorq	%rbx,%r12
+	shrdq	$6,%r14,%r14
+	vpxor	%xmm10,%xmm11,%xmm11
+	xorq	%r8,%rdi
+	addq	%r12,%rcx
+	vpxor	%xmm9,%xmm11,%xmm11
+	shrdq	$14,%r13,%r13
+	andq	%rdi,%r15
+	vpaddq	%xmm11,%xmm6,%xmm6
+	xorq	%rdx,%r14
+	addq	%r13,%rcx
+	vpaddq	64(%rbp),%xmm6,%xmm10
+	xorq	%r8,%r15
+	shrdq	$28,%r14,%r14
+	addq	%rcx,%r10
+	addq	%r15,%rcx
+	movq	%r10,%r13
+	addq	%rcx,%r14
+	vmovdqa	%xmm10,96(%rsp)
+	vpalignr	$8,%xmm7,%xmm0,%xmm8
+	shrdq	$23,%r13,%r13
+	movq	%r14,%rcx
+	vpalignr	$8,%xmm3,%xmm4,%xmm11
+	movq	%r11,%r12
+	shrdq	$5,%r14,%r14
+	vpsrlq	$1,%xmm8,%xmm10
+	xorq	%r10,%r13
+	xorq	%rax,%r12
+	vpaddq	%xmm11,%xmm7,%xmm7
+	shrdq	$4,%r13,%r13
+	xorq	%rcx,%r14
+	vpsrlq	$7,%xmm8,%xmm11
+	andq	%r10,%r12
+	xorq	%r10,%r13
+	vpsllq	$56,%xmm8,%xmm9
+	addq	112(%rsp),%rbx
+	movq	%rcx,%r15
+	vpxor	%xmm10,%xmm11,%xmm8
+	xorq	%rax,%r12
+	shrdq	$6,%r14,%r14
+	vpsrlq	$7,%xmm10,%xmm10
+	xorq	%rdx,%r15
+	addq	%r12,%rbx
+	vpxor	%xmm9,%xmm8,%xmm8
+	shrdq	$14,%r13,%r13
+	andq	%r15,%rdi
+	vpsllq	$7,%xmm9,%xmm9
+	xorq	%rcx,%r14
+	addq	%r13,%rbx
+	vpxor	%xmm10,%xmm8,%xmm8
+	xorq	%rdx,%rdi
+	shrdq	$28,%r14,%r14
+	vpsrlq	$6,%xmm6,%xmm11
+	addq	%rbx,%r9
+	addq	%rdi,%rbx
+	vpxor	%xmm9,%xmm8,%xmm8
+	movq	%r9,%r13
+	addq	%rbx,%r14
+	vpsllq	$3,%xmm6,%xmm10
+	shrdq	$23,%r13,%r13
+	movq	%r14,%rbx
+	vpaddq	%xmm8,%xmm7,%xmm7
+	movq	%r10,%r12
+	shrdq	$5,%r14,%r14
+	vpsrlq	$19,%xmm6,%xmm9
+	xorq	%r9,%r13
+	xorq	%r11,%r12
+	vpxor	%xmm10,%xmm11,%xmm11
+	shrdq	$4,%r13,%r13
+	xorq	%rbx,%r14
+	vpsllq	$42,%xmm10,%xmm10
+	andq	%r9,%r12
+	xorq	%r9,%r13
+	vpxor	%xmm9,%xmm11,%xmm11
+	addq	120(%rsp),%rax
+	movq	%rbx,%rdi
+	vpsrlq	$42,%xmm9,%xmm9
+	xorq	%r11,%r12
+	shrdq	$6,%r14,%r14
+	vpxor	%xmm10,%xmm11,%xmm11
+	xorq	%rcx,%rdi
+	addq	%r12,%rax
+	vpxor	%xmm9,%xmm11,%xmm11
+	shrdq	$14,%r13,%r13
+	andq	%rdi,%r15
+	vpaddq	%xmm11,%xmm7,%xmm7
+	xorq	%rbx,%r14
+	addq	%r13,%rax
+	vpaddq	96(%rbp),%xmm7,%xmm10
+	xorq	%rcx,%r15
+	shrdq	$28,%r14,%r14
+	addq	%rax,%r8
+	addq	%r15,%rax
+	movq	%r8,%r13
+	addq	%rax,%r14
+	vmovdqa	%xmm10,112(%rsp)
+	cmpb	$0,135(%rbp)
+	jne	.Lavx_00_47
+	shrdq	$23,%r13,%r13
+	movq	%r14,%rax
+	movq	%r9,%r12
+	shrdq	$5,%r14,%r14
+	xorq	%r8,%r13
+	xorq	%r10,%r12
+	shrdq	$4,%r13,%r13
+	xorq	%rax,%r14
+	andq	%r8,%r12
+	xorq	%r8,%r13
+	addq	0(%rsp),%r11
+	movq	%rax,%r15
+	xorq	%r10,%r12
+	shrdq	$6,%r14,%r14
+	xorq	%rbx,%r15
+	addq	%r12,%r11
+	shrdq	$14,%r13,%r13
+	andq	%r15,%rdi
+	xorq	%rax,%r14
+	addq	%r13,%r11
+	xorq	%rbx,%rdi
+	shrdq	$28,%r14,%r14
+	addq	%r11,%rdx
+	addq	%rdi,%r11
+	movq	%rdx,%r13
+	addq	%r11,%r14
+	shrdq	$23,%r13,%r13
+	movq	%r14,%r11
+	movq	%r8,%r12
+	shrdq	$5,%r14,%r14
+	xorq	%rdx,%r13
+	xorq	%r9,%r12
+	shrdq	$4,%r13,%r13
+	xorq	%r11,%r14
+	andq	%rdx,%r12
+	xorq	%rdx,%r13
+	addq	8(%rsp),%r10
+	movq	%r11,%rdi
+	xorq	%r9,%r12
+	shrdq	$6,%r14,%r14
+	xorq	%rax,%rdi
+	addq	%r12,%r10
+	shrdq	$14,%r13,%r13
+	andq	%rdi,%r15
+	xorq	%r11,%r14
+	addq	%r13,%r10
+	xorq	%rax,%r15
+	shrdq	$28,%r14,%r14
+	addq	%r10,%rcx
+	addq	%r15,%r10
+	movq	%rcx,%r13
+	addq	%r10,%r14
+	shrdq	$23,%r13,%r13
+	movq	%r14,%r10
+	movq	%rdx,%r12
+	shrdq	$5,%r14,%r14
+	xorq	%rcx,%r13
+	xorq	%r8,%r12
+	shrdq	$4,%r13,%r13
+	xorq	%r10,%r14
+	andq	%rcx,%r12
+	xorq	%rcx,%r13
+	addq	16(%rsp),%r9
+	movq	%r10,%r15
+	xorq	%r8,%r12
+	shrdq	$6,%r14,%r14
+	xorq	%r11,%r15
+	addq	%r12,%r9
+	shrdq	$14,%r13,%r13
+	andq	%r15,%rdi
+	xorq	%r10,%r14
+	addq	%r13,%r9
+	xorq	%r11,%rdi
+	shrdq	$28,%r14,%r14
+	addq	%r9,%rbx
+	addq	%rdi,%r9
+	movq	%rbx,%r13
+	addq	%r9,%r14
+	shrdq	$23,%r13,%r13
+	movq	%r14,%r9
+	movq	%rcx,%r12
+	shrdq	$5,%r14,%r14
+	xorq	%rbx,%r13
+	xorq	%rdx,%r12
+	shrdq	$4,%r13,%r13
+	xorq	%r9,%r14
+	andq	%rbx,%r12
+	xorq	%rbx,%r13
+	addq	24(%rsp),%r8
+	movq	%r9,%rdi
+	xorq	%rdx,%r12
+	shrdq	$6,%r14,%r14
+	xorq	%r10,%rdi
+	addq	%r12,%r8
+	shrdq	$14,%r13,%r13
+	andq	%rdi,%r15
+	xorq	%r9,%r14
+	addq	%r13,%r8
+	xorq	%r10,%r15
+	shrdq	$28,%r14,%r14
+	addq	%r8,%rax
+	addq	%r15,%r8
+	movq	%rax,%r13
+	addq	%r8,%r14
+	shrdq	$23,%r13,%r13
+	movq	%r14,%r8
+	movq	%rbx,%r12
+	shrdq	$5,%r14,%r14
+	xorq	%rax,%r13
+	xorq	%rcx,%r12
+	shrdq	$4,%r13,%r13
+	xorq	%r8,%r14
+	andq	%rax,%r12
+	xorq	%rax,%r13
+	addq	32(%rsp),%rdx
+	movq	%r8,%r15
+	xorq	%rcx,%r12
+	shrdq	$6,%r14,%r14
+	xorq	%r9,%r15
+	addq	%r12,%rdx
+	shrdq	$14,%r13,%r13
+	andq	%r15,%rdi
+	xorq	%r8,%r14
+	addq	%r13,%rdx
+	xorq	%r9,%rdi
+	shrdq	$28,%r14,%r14
+	addq	%rdx,%r11
+	addq	%rdi,%rdx
+	movq	%r11,%r13
+	addq	%rdx,%r14
+	shrdq	$23,%r13,%r13
+	movq	%r14,%rdx
+	movq	%rax,%r12
+	shrdq	$5,%r14,%r14
+	xorq	%r11,%r13
+	xorq	%rbx,%r12
+	shrdq	$4,%r13,%r13
+	xorq	%rdx,%r14
+	andq	%r11,%r12
+	xorq	%r11,%r13
+	addq	40(%rsp),%rcx
+	movq	%rdx,%rdi
+	xorq	%rbx,%r12
+	shrdq	$6,%r14,%r14
+	xorq	%r8,%rdi
+	addq	%r12,%rcx
+	shrdq	$14,%r13,%r13
+	andq	%rdi,%r15
+	xorq	%rdx,%r14
+	addq	%r13,%rcx
+	xorq	%r8,%r15
+	shrdq	$28,%r14,%r14
+	addq	%rcx,%r10
+	addq	%r15,%rcx
+	movq	%r10,%r13
+	addq	%rcx,%r14
+	shrdq	$23,%r13,%r13
+	movq	%r14,%rcx
+	movq	%r11,%r12
+	shrdq	$5,%r14,%r14
+	xorq	%r10,%r13
+	xorq	%rax,%r12
+	shrdq	$4,%r13,%r13
+	xorq	%rcx,%r14
+	andq	%r10,%r12
+	xorq	%r10,%r13
+	addq	48(%rsp),%rbx
+	movq	%rcx,%r15
+	xorq	%rax,%r12
+	shrdq	$6,%r14,%r14
+	xorq	%rdx,%r15
+	addq	%r12,%rbx
+	shrdq	$14,%r13,%r13
+	andq	%r15,%rdi
+	xorq	%rcx,%r14
+	addq	%r13,%rbx
+	xorq	%rdx,%rdi
+	shrdq	$28,%r14,%r14
+	addq	%rbx,%r9
+	addq	%rdi,%rbx
+	movq	%r9,%r13
+	addq	%rbx,%r14
+	shrdq	$23,%r13,%r13
+	movq	%r14,%rbx
+	movq	%r10,%r12
+	shrdq	$5,%r14,%r14
+	xorq	%r9,%r13
+	xorq	%r11,%r12
+	shrdq	$4,%r13,%r13
+	xorq	%rbx,%r14
+	andq	%r9,%r12
+	xorq	%r9,%r13
+	addq	56(%rsp),%rax
+	movq	%rbx,%rdi
+	xorq	%r11,%r12
+	shrdq	$6,%r14,%r14
+	xorq	%rcx,%rdi
+	addq	%r12,%rax
+	shrdq	$14,%r13,%r13
+	andq	%rdi,%r15
+	xorq	%rbx,%r14
+	addq	%r13,%rax
+	xorq	%rcx,%r15
+	shrdq	$28,%r14,%r14
+	addq	%rax,%r8
+	addq	%r15,%rax
+	movq	%r8,%r13
+	addq	%rax,%r14
+	shrdq	$23,%r13,%r13
+	movq	%r14,%rax
+	movq	%r9,%r12
+	shrdq	$5,%r14,%r14
+	xorq	%r8,%r13
+	xorq	%r10,%r12
+	shrdq	$4,%r13,%r13
+	xorq	%rax,%r14
+	andq	%r8,%r12
+	xorq	%r8,%r13
+	addq	64(%rsp),%r11
+	movq	%rax,%r15
+	xorq	%r10,%r12
+	shrdq	$6,%r14,%r14
+	xorq	%rbx,%r15
+	addq	%r12,%r11
+	shrdq	$14,%r13,%r13
+	andq	%r15,%rdi
+	xorq	%rax,%r14
+	addq	%r13,%r11
+	xorq	%rbx,%rdi
+	shrdq	$28,%r14,%r14
+	addq	%r11,%rdx
+	addq	%rdi,%r11
+	movq	%rdx,%r13
+	addq	%r11,%r14
+	shrdq	$23,%r13,%r13
+	movq	%r14,%r11
+	movq	%r8,%r12
+	shrdq	$5,%r14,%r14
+	xorq	%rdx,%r13
+	xorq	%r9,%r12
+	shrdq	$4,%r13,%r13
+	xorq	%r11,%r14
+	andq	%rdx,%r12
+	xorq	%rdx,%r13
+	addq	72(%rsp),%r10
+	movq	%r11,%rdi
+	xorq	%r9,%r12
+	shrdq	$6,%r14,%r14
+	xorq	%rax,%rdi
+	addq	%r12,%r10
+	shrdq	$14,%r13,%r13
+	andq	%rdi,%r15
+	xorq	%r11,%r14
+	addq	%r13,%r10
+	xorq	%rax,%r15
+	shrdq	$28,%r14,%r14
+	addq	%r10,%rcx
+	addq	%r15,%r10
+	movq	%rcx,%r13
+	addq	%r10,%r14
+	shrdq	$23,%r13,%r13
+	movq	%r14,%r10
+	movq	%rdx,%r12
+	shrdq	$5,%r14,%r14
+	xorq	%rcx,%r13
+	xorq	%r8,%r12
+	shrdq	$4,%r13,%r13
+	xorq	%r10,%r14
+	andq	%rcx,%r12
+	xorq	%rcx,%r13
+	addq	80(%rsp),%r9
+	movq	%r10,%r15
+	xorq	%r8,%r12
+	shrdq	$6,%r14,%r14
+	xorq	%r11,%r15
+	addq	%r12,%r9
+	shrdq	$14,%r13,%r13
+	andq	%r15,%rdi
+	xorq	%r10,%r14
+	addq	%r13,%r9
+	xorq	%r11,%rdi
+	shrdq	$28,%r14,%r14
+	addq	%r9,%rbx
+	addq	%rdi,%r9
+	movq	%rbx,%r13
+	addq	%r9,%r14
+	shrdq	$23,%r13,%r13
+	movq	%r14,%r9
+	movq	%rcx,%r12
+	shrdq	$5,%r14,%r14
+	xorq	%rbx,%r13
+	xorq	%rdx,%r12
+	shrdq	$4,%r13,%r13
+	xorq	%r9,%r14
+	andq	%rbx,%r12
+	xorq	%rbx,%r13
+	addq	88(%rsp),%r8
+	movq	%r9,%rdi
+	xorq	%rdx,%r12
+	shrdq	$6,%r14,%r14
+	xorq	%r10,%rdi
+	addq	%r12,%r8
+	shrdq	$14,%r13,%r13
+	andq	%rdi,%r15
+	xorq	%r9,%r14
+	addq	%r13,%r8
+	xorq	%r10,%r15
+	shrdq	$28,%r14,%r14
+	addq	%r8,%rax
+	addq	%r15,%r8
+	movq	%rax,%r13
+	addq	%r8,%r14
+	shrdq	$23,%r13,%r13
+	movq	%r14,%r8
+	movq	%rbx,%r12
+	shrdq	$5,%r14,%r14
+	xorq	%rax,%r13
+	xorq	%rcx,%r12
+	shrdq	$4,%r13,%r13
+	xorq	%r8,%r14
+	andq	%rax,%r12
+	xorq	%rax,%r13
+	addq	96(%rsp),%rdx
+	movq	%r8,%r15
+	xorq	%rcx,%r12
+	shrdq	$6,%r14,%r14
+	xorq	%r9,%r15
+	addq	%r12,%rdx
+	shrdq	$14,%r13,%r13
+	andq	%r15,%rdi
+	xorq	%r8,%r14
+	addq	%r13,%rdx
+	xorq	%r9,%rdi
+	shrdq	$28,%r14,%r14
+	addq	%rdx,%r11
+	addq	%rdi,%rdx
+	movq	%r11,%r13
+	addq	%rdx,%r14
+	shrdq	$23,%r13,%r13
+	movq	%r14,%rdx
+	movq	%rax,%r12
+	shrdq	$5,%r14,%r14
+	xorq	%r11,%r13
+	xorq	%rbx,%r12
+	shrdq	$4,%r13,%r13
+	xorq	%rdx,%r14
+	andq	%r11,%r12
+	xorq	%r11,%r13
+	addq	104(%rsp),%rcx
+	movq	%rdx,%rdi
+	xorq	%rbx,%r12
+	shrdq	$6,%r14,%r14
+	xorq	%r8,%rdi
+	addq	%r12,%rcx
+	shrdq	$14,%r13,%r13
+	andq	%rdi,%r15
+	xorq	%rdx,%r14
+	addq	%r13,%rcx
+	xorq	%r8,%r15
+	shrdq	$28,%r14,%r14
+	addq	%rcx,%r10
+	addq	%r15,%rcx
+	movq	%r10,%r13
+	addq	%rcx,%r14
+	shrdq	$23,%r13,%r13
+	movq	%r14,%rcx
+	movq	%r11,%r12
+	shrdq	$5,%r14,%r14
+	xorq	%r10,%r13
+	xorq	%rax,%r12
+	shrdq	$4,%r13,%r13
+	xorq	%rcx,%r14
+	andq	%r10,%r12
+	xorq	%r10,%r13
+	addq	112(%rsp),%rbx
+	movq	%rcx,%r15
+	xorq	%rax,%r12
+	shrdq	$6,%r14,%r14
+	xorq	%rdx,%r15
+	addq	%r12,%rbx
+	shrdq	$14,%r13,%r13
+	andq	%r15,%rdi
+	xorq	%rcx,%r14
+	addq	%r13,%rbx
+	xorq	%rdx,%rdi
+	shrdq	$28,%r14,%r14
+	addq	%rbx,%r9
+	addq	%rdi,%rbx
+	movq	%r9,%r13
+	addq	%rbx,%r14
+	shrdq	$23,%r13,%r13
+	movq	%r14,%rbx
+	movq	%r10,%r12
+	shrdq	$5,%r14,%r14
+	xorq	%r9,%r13
+	xorq	%r11,%r12
+	shrdq	$4,%r13,%r13
+	xorq	%rbx,%r14
+	andq	%r9,%r12
+	xorq	%r9,%r13
+	addq	120(%rsp),%rax
+	movq	%rbx,%rdi
+	xorq	%r11,%r12
+	shrdq	$6,%r14,%r14
+	xorq	%rcx,%rdi
+	addq	%r12,%rax
+	shrdq	$14,%r13,%r13
+	andq	%rdi,%r15
+	xorq	%rbx,%r14
+	addq	%r13,%rax
+	xorq	%rcx,%r15
+	shrdq	$28,%r14,%r14
+	addq	%rax,%r8
+	addq	%r15,%rax
+	movq	%r8,%r13
+	addq	%rax,%r14
+	movq	128+0(%rsp),%rdi
+	movq	%r14,%rax
+
+	addq	0(%rdi),%rax
+	leaq	128(%rsi),%rsi
+	addq	8(%rdi),%rbx
+	addq	16(%rdi),%rcx
+	addq	24(%rdi),%rdx
+	addq	32(%rdi),%r8
+	addq	40(%rdi),%r9
+	addq	48(%rdi),%r10
+	addq	56(%rdi),%r11
+
+	cmpq	128+16(%rsp),%rsi
+
+	movq	%rax,0(%rdi)
+	movq	%rbx,8(%rdi)
+	movq	%rcx,16(%rdi)
+	movq	%rdx,24(%rdi)
+	movq	%r8,32(%rdi)
+	movq	%r9,40(%rdi)
+	movq	%r10,48(%rdi)
+	movq	%r11,56(%rdi)
+	jb	.Lloop_avx
+
+	movq	128+24(%rsp),%rsi
+	vzeroupper
+	movq	-48(%rsi),%r15
+	movq	-40(%rsi),%r14
+	movq	-32(%rsi),%r13
+	movq	-24(%rsi),%r12
+	movq	-16(%rsi),%rbp
+	movq	-8(%rsi),%rbx
+	leaq	(%rsi),%rsp
+.Lepilogue_avx:
+	.byte	0xf3,0xc3
+.size	sha512_block_data_order_avx,.-sha512_block_data_order_avx
+#endif
diff --git a/third_party/boringssl/linux-x86_64/crypto/sha/sha1-x86_64.S b/third_party/boringssl/linux-x86_64/crypto/sha/sha1-x86_64.S
deleted file mode 100644
index 350d7d6..0000000
--- a/third_party/boringssl/linux-x86_64/crypto/sha/sha1-x86_64.S
+++ /dev/null
@@ -1,3543 +0,0 @@
-#if defined(__x86_64__) && !defined(OPENSSL_NO_ASM)
-.text	
-.extern	OPENSSL_ia32cap_P
-.hidden OPENSSL_ia32cap_P
-
-.globl	sha1_block_data_order
-.hidden sha1_block_data_order
-.type	sha1_block_data_order,@function
-.align	16
-sha1_block_data_order:
-	movl	OPENSSL_ia32cap_P+0(%rip),%r9d
-	movl	OPENSSL_ia32cap_P+4(%rip),%r8d
-	movl	OPENSSL_ia32cap_P+8(%rip),%r10d
-	testl	$512,%r8d
-	jz	.Lialu
-	andl	$268435456,%r8d
-	andl	$1073741824,%r9d
-	orl	%r9d,%r8d
-	cmpl	$1342177280,%r8d
-	je	_avx_shortcut
-	jmp	_ssse3_shortcut
-
-.align	16
-.Lialu:
-	movq	%rsp,%rax
-	pushq	%rbx
-	pushq	%rbp
-	pushq	%r12
-	pushq	%r13
-	pushq	%r14
-	movq	%rdi,%r8
-	subq	$72,%rsp
-	movq	%rsi,%r9
-	andq	$-64,%rsp
-	movq	%rdx,%r10
-	movq	%rax,64(%rsp)
-.Lprologue:
-
-	movl	0(%r8),%esi
-	movl	4(%r8),%edi
-	movl	8(%r8),%r11d
-	movl	12(%r8),%r12d
-	movl	16(%r8),%r13d
-	jmp	.Lloop
-
-.align	16
-.Lloop:
-	movl	0(%r9),%edx
-	bswapl	%edx
-	movl	4(%r9),%ebp
-	movl	%r12d,%eax
-	movl	%edx,0(%rsp)
-	movl	%esi,%ecx
-	bswapl	%ebp
-	xorl	%r11d,%eax
-	roll	$5,%ecx
-	andl	%edi,%eax
-	leal	1518500249(%rdx,%r13,1),%r13d
-	addl	%ecx,%r13d
-	xorl	%r12d,%eax
-	roll	$30,%edi
-	addl	%eax,%r13d
-	movl	8(%r9),%r14d
-	movl	%r11d,%eax
-	movl	%ebp,4(%rsp)
-	movl	%r13d,%ecx
-	bswapl	%r14d
-	xorl	%edi,%eax
-	roll	$5,%ecx
-	andl	%esi,%eax
-	leal	1518500249(%rbp,%r12,1),%r12d
-	addl	%ecx,%r12d
-	xorl	%r11d,%eax
-	roll	$30,%esi
-	addl	%eax,%r12d
-	movl	12(%r9),%edx
-	movl	%edi,%eax
-	movl	%r14d,8(%rsp)
-	movl	%r12d,%ecx
-	bswapl	%edx
-	xorl	%esi,%eax
-	roll	$5,%ecx
-	andl	%r13d,%eax
-	leal	1518500249(%r14,%r11,1),%r11d
-	addl	%ecx,%r11d
-	xorl	%edi,%eax
-	roll	$30,%r13d
-	addl	%eax,%r11d
-	movl	16(%r9),%ebp
-	movl	%esi,%eax
-	movl	%edx,12(%rsp)
-	movl	%r11d,%ecx
-	bswapl	%ebp
-	xorl	%r13d,%eax
-	roll	$5,%ecx
-	andl	%r12d,%eax
-	leal	1518500249(%rdx,%rdi,1),%edi
-	addl	%ecx,%edi
-	xorl	%esi,%eax
-	roll	$30,%r12d
-	addl	%eax,%edi
-	movl	20(%r9),%r14d
-	movl	%r13d,%eax
-	movl	%ebp,16(%rsp)
-	movl	%edi,%ecx
-	bswapl	%r14d
-	xorl	%r12d,%eax
-	roll	$5,%ecx
-	andl	%r11d,%eax
-	leal	1518500249(%rbp,%rsi,1),%esi
-	addl	%ecx,%esi
-	xorl	%r13d,%eax
-	roll	$30,%r11d
-	addl	%eax,%esi
-	movl	24(%r9),%edx
-	movl	%r12d,%eax
-	movl	%r14d,20(%rsp)
-	movl	%esi,%ecx
-	bswapl	%edx
-	xorl	%r11d,%eax
-	roll	$5,%ecx
-	andl	%edi,%eax
-	leal	1518500249(%r14,%r13,1),%r13d
-	addl	%ecx,%r13d
-	xorl	%r12d,%eax
-	roll	$30,%edi
-	addl	%eax,%r13d
-	movl	28(%r9),%ebp
-	movl	%r11d,%eax
-	movl	%edx,24(%rsp)
-	movl	%r13d,%ecx
-	bswapl	%ebp
-	xorl	%edi,%eax
-	roll	$5,%ecx
-	andl	%esi,%eax
-	leal	1518500249(%rdx,%r12,1),%r12d
-	addl	%ecx,%r12d
-	xorl	%r11d,%eax
-	roll	$30,%esi
-	addl	%eax,%r12d
-	movl	32(%r9),%r14d
-	movl	%edi,%eax
-	movl	%ebp,28(%rsp)
-	movl	%r12d,%ecx
-	bswapl	%r14d
-	xorl	%esi,%eax
-	roll	$5,%ecx
-	andl	%r13d,%eax
-	leal	1518500249(%rbp,%r11,1),%r11d
-	addl	%ecx,%r11d
-	xorl	%edi,%eax
-	roll	$30,%r13d
-	addl	%eax,%r11d
-	movl	36(%r9),%edx
-	movl	%esi,%eax
-	movl	%r14d,32(%rsp)
-	movl	%r11d,%ecx
-	bswapl	%edx
-	xorl	%r13d,%eax
-	roll	$5,%ecx
-	andl	%r12d,%eax
-	leal	1518500249(%r14,%rdi,1),%edi
-	addl	%ecx,%edi
-	xorl	%esi,%eax
-	roll	$30,%r12d
-	addl	%eax,%edi
-	movl	40(%r9),%ebp
-	movl	%r13d,%eax
-	movl	%edx,36(%rsp)
-	movl	%edi,%ecx
-	bswapl	%ebp
-	xorl	%r12d,%eax
-	roll	$5,%ecx
-	andl	%r11d,%eax
-	leal	1518500249(%rdx,%rsi,1),%esi
-	addl	%ecx,%esi
-	xorl	%r13d,%eax
-	roll	$30,%r11d
-	addl	%eax,%esi
-	movl	44(%r9),%r14d
-	movl	%r12d,%eax
-	movl	%ebp,40(%rsp)
-	movl	%esi,%ecx
-	bswapl	%r14d
-	xorl	%r11d,%eax
-	roll	$5,%ecx
-	andl	%edi,%eax
-	leal	1518500249(%rbp,%r13,1),%r13d
-	addl	%ecx,%r13d
-	xorl	%r12d,%eax
-	roll	$30,%edi
-	addl	%eax,%r13d
-	movl	48(%r9),%edx
-	movl	%r11d,%eax
-	movl	%r14d,44(%rsp)
-	movl	%r13d,%ecx
-	bswapl	%edx
-	xorl	%edi,%eax
-	roll	$5,%ecx
-	andl	%esi,%eax
-	leal	1518500249(%r14,%r12,1),%r12d
-	addl	%ecx,%r12d
-	xorl	%r11d,%eax
-	roll	$30,%esi
-	addl	%eax,%r12d
-	movl	52(%r9),%ebp
-	movl	%edi,%eax
-	movl	%edx,48(%rsp)
-	movl	%r12d,%ecx
-	bswapl	%ebp
-	xorl	%esi,%eax
-	roll	$5,%ecx
-	andl	%r13d,%eax
-	leal	1518500249(%rdx,%r11,1),%r11d
-	addl	%ecx,%r11d
-	xorl	%edi,%eax
-	roll	$30,%r13d
-	addl	%eax,%r11d
-	movl	56(%r9),%r14d
-	movl	%esi,%eax
-	movl	%ebp,52(%rsp)
-	movl	%r11d,%ecx
-	bswapl	%r14d
-	xorl	%r13d,%eax
-	roll	$5,%ecx
-	andl	%r12d,%eax
-	leal	1518500249(%rbp,%rdi,1),%edi
-	addl	%ecx,%edi
-	xorl	%esi,%eax
-	roll	$30,%r12d
-	addl	%eax,%edi
-	movl	60(%r9),%edx
-	movl	%r13d,%eax
-	movl	%r14d,56(%rsp)
-	movl	%edi,%ecx
-	bswapl	%edx
-	xorl	%r12d,%eax
-	roll	$5,%ecx
-	andl	%r11d,%eax
-	leal	1518500249(%r14,%rsi,1),%esi
-	addl	%ecx,%esi
-	xorl	%r13d,%eax
-	roll	$30,%r11d
-	addl	%eax,%esi
-	xorl	0(%rsp),%ebp
-	movl	%r12d,%eax
-	movl	%edx,60(%rsp)
-	movl	%esi,%ecx
-	xorl	8(%rsp),%ebp
-	xorl	%r11d,%eax
-	roll	$5,%ecx
-	xorl	32(%rsp),%ebp
-	andl	%edi,%eax
-	leal	1518500249(%rdx,%r13,1),%r13d
-	roll	$30,%edi
-	xorl	%r12d,%eax
-	addl	%ecx,%r13d
-	roll	$1,%ebp
-	addl	%eax,%r13d
-	xorl	4(%rsp),%r14d
-	movl	%r11d,%eax
-	movl	%ebp,0(%rsp)
-	movl	%r13d,%ecx
-	xorl	12(%rsp),%r14d
-	xorl	%edi,%eax
-	roll	$5,%ecx
-	xorl	36(%rsp),%r14d
-	andl	%esi,%eax
-	leal	1518500249(%rbp,%r12,1),%r12d
-	roll	$30,%esi
-	xorl	%r11d,%eax
-	addl	%ecx,%r12d
-	roll	$1,%r14d
-	addl	%eax,%r12d
-	xorl	8(%rsp),%edx
-	movl	%edi,%eax
-	movl	%r14d,4(%rsp)
-	movl	%r12d,%ecx
-	xorl	16(%rsp),%edx
-	xorl	%esi,%eax
-	roll	$5,%ecx
-	xorl	40(%rsp),%edx
-	andl	%r13d,%eax
-	leal	1518500249(%r14,%r11,1),%r11d
-	roll	$30,%r13d
-	xorl	%edi,%eax
-	addl	%ecx,%r11d
-	roll	$1,%edx
-	addl	%eax,%r11d
-	xorl	12(%rsp),%ebp
-	movl	%esi,%eax
-	movl	%edx,8(%rsp)
-	movl	%r11d,%ecx
-	xorl	20(%rsp),%ebp
-	xorl	%r13d,%eax
-	roll	$5,%ecx
-	xorl	44(%rsp),%ebp
-	andl	%r12d,%eax
-	leal	1518500249(%rdx,%rdi,1),%edi
-	roll	$30,%r12d
-	xorl	%esi,%eax
-	addl	%ecx,%edi
-	roll	$1,%ebp
-	addl	%eax,%edi
-	xorl	16(%rsp),%r14d
-	movl	%r13d,%eax
-	movl	%ebp,12(%rsp)
-	movl	%edi,%ecx
-	xorl	24(%rsp),%r14d
-	xorl	%r12d,%eax
-	roll	$5,%ecx
-	xorl	48(%rsp),%r14d
-	andl	%r11d,%eax
-	leal	1518500249(%rbp,%rsi,1),%esi
-	roll	$30,%r11d
-	xorl	%r13d,%eax
-	addl	%ecx,%esi
-	roll	$1,%r14d
-	addl	%eax,%esi
-	xorl	20(%rsp),%edx
-	movl	%edi,%eax
-	movl	%r14d,16(%rsp)
-	movl	%esi,%ecx
-	xorl	28(%rsp),%edx
-	xorl	%r12d,%eax
-	roll	$5,%ecx
-	xorl	52(%rsp),%edx
-	leal	1859775393(%r14,%r13,1),%r13d
-	xorl	%r11d,%eax
-	addl	%ecx,%r13d
-	roll	$30,%edi
-	addl	%eax,%r13d
-	roll	$1,%edx
-	xorl	24(%rsp),%ebp
-	movl	%esi,%eax
-	movl	%edx,20(%rsp)
-	movl	%r13d,%ecx
-	xorl	32(%rsp),%ebp
-	xorl	%r11d,%eax
-	roll	$5,%ecx
-	xorl	56(%rsp),%ebp
-	leal	1859775393(%rdx,%r12,1),%r12d
-	xorl	%edi,%eax
-	addl	%ecx,%r12d
-	roll	$30,%esi
-	addl	%eax,%r12d
-	roll	$1,%ebp
-	xorl	28(%rsp),%r14d
-	movl	%r13d,%eax
-	movl	%ebp,24(%rsp)
-	movl	%r12d,%ecx
-	xorl	36(%rsp),%r14d
-	xorl	%edi,%eax
-	roll	$5,%ecx
-	xorl	60(%rsp),%r14d
-	leal	1859775393(%rbp,%r11,1),%r11d
-	xorl	%esi,%eax
-	addl	%ecx,%r11d
-	roll	$30,%r13d
-	addl	%eax,%r11d
-	roll	$1,%r14d
-	xorl	32(%rsp),%edx
-	movl	%r12d,%eax
-	movl	%r14d,28(%rsp)
-	movl	%r11d,%ecx
-	xorl	40(%rsp),%edx
-	xorl	%esi,%eax
-	roll	$5,%ecx
-	xorl	0(%rsp),%edx
-	leal	1859775393(%r14,%rdi,1),%edi
-	xorl	%r13d,%eax
-	addl	%ecx,%edi
-	roll	$30,%r12d
-	addl	%eax,%edi
-	roll	$1,%edx
-	xorl	36(%rsp),%ebp
-	movl	%r11d,%eax
-	movl	%edx,32(%rsp)
-	movl	%edi,%ecx
-	xorl	44(%rsp),%ebp
-	xorl	%r13d,%eax
-	roll	$5,%ecx
-	xorl	4(%rsp),%ebp
-	leal	1859775393(%rdx,%rsi,1),%esi
-	xorl	%r12d,%eax
-	addl	%ecx,%esi
-	roll	$30,%r11d
-	addl	%eax,%esi
-	roll	$1,%ebp
-	xorl	40(%rsp),%r14d
-	movl	%edi,%eax
-	movl	%ebp,36(%rsp)
-	movl	%esi,%ecx
-	xorl	48(%rsp),%r14d
-	xorl	%r12d,%eax
-	roll	$5,%ecx
-	xorl	8(%rsp),%r14d
-	leal	1859775393(%rbp,%r13,1),%r13d
-	xorl	%r11d,%eax
-	addl	%ecx,%r13d
-	roll	$30,%edi
-	addl	%eax,%r13d
-	roll	$1,%r14d
-	xorl	44(%rsp),%edx
-	movl	%esi,%eax
-	movl	%r14d,40(%rsp)
-	movl	%r13d,%ecx
-	xorl	52(%rsp),%edx
-	xorl	%r11d,%eax
-	roll	$5,%ecx
-	xorl	12(%rsp),%edx
-	leal	1859775393(%r14,%r12,1),%r12d
-	xorl	%edi,%eax
-	addl	%ecx,%r12d
-	roll	$30,%esi
-	addl	%eax,%r12d
-	roll	$1,%edx
-	xorl	48(%rsp),%ebp
-	movl	%r13d,%eax
-	movl	%edx,44(%rsp)
-	movl	%r12d,%ecx
-	xorl	56(%rsp),%ebp
-	xorl	%edi,%eax
-	roll	$5,%ecx
-	xorl	16(%rsp),%ebp
-	leal	1859775393(%rdx,%r11,1),%r11d
-	xorl	%esi,%eax
-	addl	%ecx,%r11d
-	roll	$30,%r13d
-	addl	%eax,%r11d
-	roll	$1,%ebp
-	xorl	52(%rsp),%r14d
-	movl	%r12d,%eax
-	movl	%ebp,48(%rsp)
-	movl	%r11d,%ecx
-	xorl	60(%rsp),%r14d
-	xorl	%esi,%eax
-	roll	$5,%ecx
-	xorl	20(%rsp),%r14d
-	leal	1859775393(%rbp,%rdi,1),%edi
-	xorl	%r13d,%eax
-	addl	%ecx,%edi
-	roll	$30,%r12d
-	addl	%eax,%edi
-	roll	$1,%r14d
-	xorl	56(%rsp),%edx
-	movl	%r11d,%eax
-	movl	%r14d,52(%rsp)
-	movl	%edi,%ecx
-	xorl	0(%rsp),%edx
-	xorl	%r13d,%eax
-	roll	$5,%ecx
-	xorl	24(%rsp),%edx
-	leal	1859775393(%r14,%rsi,1),%esi
-	xorl	%r12d,%eax
-	addl	%ecx,%esi
-	roll	$30,%r11d
-	addl	%eax,%esi
-	roll	$1,%edx
-	xorl	60(%rsp),%ebp
-	movl	%edi,%eax
-	movl	%edx,56(%rsp)
-	movl	%esi,%ecx
-	xorl	4(%rsp),%ebp
-	xorl	%r12d,%eax
-	roll	$5,%ecx
-	xorl	28(%rsp),%ebp
-	leal	1859775393(%rdx,%r13,1),%r13d
-	xorl	%r11d,%eax
-	addl	%ecx,%r13d
-	roll	$30,%edi
-	addl	%eax,%r13d
-	roll	$1,%ebp
-	xorl	0(%rsp),%r14d
-	movl	%esi,%eax
-	movl	%ebp,60(%rsp)
-	movl	%r13d,%ecx
-	xorl	8(%rsp),%r14d
-	xorl	%r11d,%eax
-	roll	$5,%ecx
-	xorl	32(%rsp),%r14d
-	leal	1859775393(%rbp,%r12,1),%r12d
-	xorl	%edi,%eax
-	addl	%ecx,%r12d
-	roll	$30,%esi
-	addl	%eax,%r12d
-	roll	$1,%r14d
-	xorl	4(%rsp),%edx
-	movl	%r13d,%eax
-	movl	%r14d,0(%rsp)
-	movl	%r12d,%ecx
-	xorl	12(%rsp),%edx
-	xorl	%edi,%eax
-	roll	$5,%ecx
-	xorl	36(%rsp),%edx
-	leal	1859775393(%r14,%r11,1),%r11d
-	xorl	%esi,%eax
-	addl	%ecx,%r11d
-	roll	$30,%r13d
-	addl	%eax,%r11d
-	roll	$1,%edx
-	xorl	8(%rsp),%ebp
-	movl	%r12d,%eax
-	movl	%edx,4(%rsp)
-	movl	%r11d,%ecx
-	xorl	16(%rsp),%ebp
-	xorl	%esi,%eax
-	roll	$5,%ecx
-	xorl	40(%rsp),%ebp
-	leal	1859775393(%rdx,%rdi,1),%edi
-	xorl	%r13d,%eax
-	addl	%ecx,%edi
-	roll	$30,%r12d
-	addl	%eax,%edi
-	roll	$1,%ebp
-	xorl	12(%rsp),%r14d
-	movl	%r11d,%eax
-	movl	%ebp,8(%rsp)
-	movl	%edi,%ecx
-	xorl	20(%rsp),%r14d
-	xorl	%r13d,%eax
-	roll	$5,%ecx
-	xorl	44(%rsp),%r14d
-	leal	1859775393(%rbp,%rsi,1),%esi
-	xorl	%r12d,%eax
-	addl	%ecx,%esi
-	roll	$30,%r11d
-	addl	%eax,%esi
-	roll	$1,%r14d
-	xorl	16(%rsp),%edx
-	movl	%edi,%eax
-	movl	%r14d,12(%rsp)
-	movl	%esi,%ecx
-	xorl	24(%rsp),%edx
-	xorl	%r12d,%eax
-	roll	$5,%ecx
-	xorl	48(%rsp),%edx
-	leal	1859775393(%r14,%r13,1),%r13d
-	xorl	%r11d,%eax
-	addl	%ecx,%r13d
-	roll	$30,%edi
-	addl	%eax,%r13d
-	roll	$1,%edx
-	xorl	20(%rsp),%ebp
-	movl	%esi,%eax
-	movl	%edx,16(%rsp)
-	movl	%r13d,%ecx
-	xorl	28(%rsp),%ebp
-	xorl	%r11d,%eax
-	roll	$5,%ecx
-	xorl	52(%rsp),%ebp
-	leal	1859775393(%rdx,%r12,1),%r12d
-	xorl	%edi,%eax
-	addl	%ecx,%r12d
-	roll	$30,%esi
-	addl	%eax,%r12d
-	roll	$1,%ebp
-	xorl	24(%rsp),%r14d
-	movl	%r13d,%eax
-	movl	%ebp,20(%rsp)
-	movl	%r12d,%ecx
-	xorl	32(%rsp),%r14d
-	xorl	%edi,%eax
-	roll	$5,%ecx
-	xorl	56(%rsp),%r14d
-	leal	1859775393(%rbp,%r11,1),%r11d
-	xorl	%esi,%eax
-	addl	%ecx,%r11d
-	roll	$30,%r13d
-	addl	%eax,%r11d
-	roll	$1,%r14d
-	xorl	28(%rsp),%edx
-	movl	%r12d,%eax
-	movl	%r14d,24(%rsp)
-	movl	%r11d,%ecx
-	xorl	36(%rsp),%edx
-	xorl	%esi,%eax
-	roll	$5,%ecx
-	xorl	60(%rsp),%edx
-	leal	1859775393(%r14,%rdi,1),%edi
-	xorl	%r13d,%eax
-	addl	%ecx,%edi
-	roll	$30,%r12d
-	addl	%eax,%edi
-	roll	$1,%edx
-	xorl	32(%rsp),%ebp
-	movl	%r11d,%eax
-	movl	%edx,28(%rsp)
-	movl	%edi,%ecx
-	xorl	40(%rsp),%ebp
-	xorl	%r13d,%eax
-	roll	$5,%ecx
-	xorl	0(%rsp),%ebp
-	leal	1859775393(%rdx,%rsi,1),%esi
-	xorl	%r12d,%eax
-	addl	%ecx,%esi
-	roll	$30,%r11d
-	addl	%eax,%esi
-	roll	$1,%ebp
-	xorl	36(%rsp),%r14d
-	movl	%r12d,%eax
-	movl	%ebp,32(%rsp)
-	movl	%r12d,%ebx
-	xorl	44(%rsp),%r14d
-	andl	%r11d,%eax
-	movl	%esi,%ecx
-	xorl	4(%rsp),%r14d
-	leal	-1894007588(%rbp,%r13,1),%r13d
-	xorl	%r11d,%ebx
-	roll	$5,%ecx
-	addl	%eax,%r13d
-	roll	$1,%r14d
-	andl	%edi,%ebx
-	addl	%ecx,%r13d
-	roll	$30,%edi
-	addl	%ebx,%r13d
-	xorl	40(%rsp),%edx
-	movl	%r11d,%eax
-	movl	%r14d,36(%rsp)
-	movl	%r11d,%ebx
-	xorl	48(%rsp),%edx
-	andl	%edi,%eax
-	movl	%r13d,%ecx
-	xorl	8(%rsp),%edx
-	leal	-1894007588(%r14,%r12,1),%r12d
-	xorl	%edi,%ebx
-	roll	$5,%ecx
-	addl	%eax,%r12d
-	roll	$1,%edx
-	andl	%esi,%ebx
-	addl	%ecx,%r12d
-	roll	$30,%esi
-	addl	%ebx,%r12d
-	xorl	44(%rsp),%ebp
-	movl	%edi,%eax
-	movl	%edx,40(%rsp)
-	movl	%edi,%ebx
-	xorl	52(%rsp),%ebp
-	andl	%esi,%eax
-	movl	%r12d,%ecx
-	xorl	12(%rsp),%ebp
-	leal	-1894007588(%rdx,%r11,1),%r11d
-	xorl	%esi,%ebx
-	roll	$5,%ecx
-	addl	%eax,%r11d
-	roll	$1,%ebp
-	andl	%r13d,%ebx
-	addl	%ecx,%r11d
-	roll	$30,%r13d
-	addl	%ebx,%r11d
-	xorl	48(%rsp),%r14d
-	movl	%esi,%eax
-	movl	%ebp,44(%rsp)
-	movl	%esi,%ebx
-	xorl	56(%rsp),%r14d
-	andl	%r13d,%eax
-	movl	%r11d,%ecx
-	xorl	16(%rsp),%r14d
-	leal	-1894007588(%rbp,%rdi,1),%edi
-	xorl	%r13d,%ebx
-	roll	$5,%ecx
-	addl	%eax,%edi
-	roll	$1,%r14d
-	andl	%r12d,%ebx
-	addl	%ecx,%edi
-	roll	$30,%r12d
-	addl	%ebx,%edi
-	xorl	52(%rsp),%edx
-	movl	%r13d,%eax
-	movl	%r14d,48(%rsp)
-	movl	%r13d,%ebx
-	xorl	60(%rsp),%edx
-	andl	%r12d,%eax
-	movl	%edi,%ecx
-	xorl	20(%rsp),%edx
-	leal	-1894007588(%r14,%rsi,1),%esi
-	xorl	%r12d,%ebx
-	roll	$5,%ecx
-	addl	%eax,%esi
-	roll	$1,%edx
-	andl	%r11d,%ebx
-	addl	%ecx,%esi
-	roll	$30,%r11d
-	addl	%ebx,%esi
-	xorl	56(%rsp),%ebp
-	movl	%r12d,%eax
-	movl	%edx,52(%rsp)
-	movl	%r12d,%ebx
-	xorl	0(%rsp),%ebp
-	andl	%r11d,%eax
-	movl	%esi,%ecx
-	xorl	24(%rsp),%ebp
-	leal	-1894007588(%rdx,%r13,1),%r13d
-	xorl	%r11d,%ebx
-	roll	$5,%ecx
-	addl	%eax,%r13d
-	roll	$1,%ebp
-	andl	%edi,%ebx
-	addl	%ecx,%r13d
-	roll	$30,%edi
-	addl	%ebx,%r13d
-	xorl	60(%rsp),%r14d
-	movl	%r11d,%eax
-	movl	%ebp,56(%rsp)
-	movl	%r11d,%ebx
-	xorl	4(%rsp),%r14d
-	andl	%edi,%eax
-	movl	%r13d,%ecx
-	xorl	28(%rsp),%r14d
-	leal	-1894007588(%rbp,%r12,1),%r12d
-	xorl	%edi,%ebx
-	roll	$5,%ecx
-	addl	%eax,%r12d
-	roll	$1,%r14d
-	andl	%esi,%ebx
-	addl	%ecx,%r12d
-	roll	$30,%esi
-	addl	%ebx,%r12d
-	xorl	0(%rsp),%edx
-	movl	%edi,%eax
-	movl	%r14d,60(%rsp)
-	movl	%edi,%ebx
-	xorl	8(%rsp),%edx
-	andl	%esi,%eax
-	movl	%r12d,%ecx
-	xorl	32(%rsp),%edx
-	leal	-1894007588(%r14,%r11,1),%r11d
-	xorl	%esi,%ebx
-	roll	$5,%ecx
-	addl	%eax,%r11d
-	roll	$1,%edx
-	andl	%r13d,%ebx
-	addl	%ecx,%r11d
-	roll	$30,%r13d
-	addl	%ebx,%r11d
-	xorl	4(%rsp),%ebp
-	movl	%esi,%eax
-	movl	%edx,0(%rsp)
-	movl	%esi,%ebx
-	xorl	12(%rsp),%ebp
-	andl	%r13d,%eax
-	movl	%r11d,%ecx
-	xorl	36(%rsp),%ebp
-	leal	-1894007588(%rdx,%rdi,1),%edi
-	xorl	%r13d,%ebx
-	roll	$5,%ecx
-	addl	%eax,%edi
-	roll	$1,%ebp
-	andl	%r12d,%ebx
-	addl	%ecx,%edi
-	roll	$30,%r12d
-	addl	%ebx,%edi
-	xorl	8(%rsp),%r14d
-	movl	%r13d,%eax
-	movl	%ebp,4(%rsp)
-	movl	%r13d,%ebx
-	xorl	16(%rsp),%r14d
-	andl	%r12d,%eax
-	movl	%edi,%ecx
-	xorl	40(%rsp),%r14d
-	leal	-1894007588(%rbp,%rsi,1),%esi
-	xorl	%r12d,%ebx
-	roll	$5,%ecx
-	addl	%eax,%esi
-	roll	$1,%r14d
-	andl	%r11d,%ebx
-	addl	%ecx,%esi
-	roll	$30,%r11d
-	addl	%ebx,%esi
-	xorl	12(%rsp),%edx
-	movl	%r12d,%eax
-	movl	%r14d,8(%rsp)
-	movl	%r12d,%ebx
-	xorl	20(%rsp),%edx
-	andl	%r11d,%eax
-	movl	%esi,%ecx
-	xorl	44(%rsp),%edx
-	leal	-1894007588(%r14,%r13,1),%r13d
-	xorl	%r11d,%ebx
-	roll	$5,%ecx
-	addl	%eax,%r13d
-	roll	$1,%edx
-	andl	%edi,%ebx
-	addl	%ecx,%r13d
-	roll	$30,%edi
-	addl	%ebx,%r13d
-	xorl	16(%rsp),%ebp
-	movl	%r11d,%eax
-	movl	%edx,12(%rsp)
-	movl	%r11d,%ebx
-	xorl	24(%rsp),%ebp
-	andl	%edi,%eax
-	movl	%r13d,%ecx
-	xorl	48(%rsp),%ebp
-	leal	-1894007588(%rdx,%r12,1),%r12d
-	xorl	%edi,%ebx
-	roll	$5,%ecx
-	addl	%eax,%r12d
-	roll	$1,%ebp
-	andl	%esi,%ebx
-	addl	%ecx,%r12d
-	roll	$30,%esi
-	addl	%ebx,%r12d
-	xorl	20(%rsp),%r14d
-	movl	%edi,%eax
-	movl	%ebp,16(%rsp)
-	movl	%edi,%ebx
-	xorl	28(%rsp),%r14d
-	andl	%esi,%eax
-	movl	%r12d,%ecx
-	xorl	52(%rsp),%r14d
-	leal	-1894007588(%rbp,%r11,1),%r11d
-	xorl	%esi,%ebx
-	roll	$5,%ecx
-	addl	%eax,%r11d
-	roll	$1,%r14d
-	andl	%r13d,%ebx
-	addl	%ecx,%r11d
-	roll	$30,%r13d
-	addl	%ebx,%r11d
-	xorl	24(%rsp),%edx
-	movl	%esi,%eax
-	movl	%r14d,20(%rsp)
-	movl	%esi,%ebx
-	xorl	32(%rsp),%edx
-	andl	%r13d,%eax
-	movl	%r11d,%ecx
-	xorl	56(%rsp),%edx
-	leal	-1894007588(%r14,%rdi,1),%edi
-	xorl	%r13d,%ebx
-	roll	$5,%ecx
-	addl	%eax,%edi
-	roll	$1,%edx
-	andl	%r12d,%ebx
-	addl	%ecx,%edi
-	roll	$30,%r12d
-	addl	%ebx,%edi
-	xorl	28(%rsp),%ebp
-	movl	%r13d,%eax
-	movl	%edx,24(%rsp)
-	movl	%r13d,%ebx
-	xorl	36(%rsp),%ebp
-	andl	%r12d,%eax
-	movl	%edi,%ecx
-	xorl	60(%rsp),%ebp
-	leal	-1894007588(%rdx,%rsi,1),%esi
-	xorl	%r12d,%ebx
-	roll	$5,%ecx
-	addl	%eax,%esi
-	roll	$1,%ebp
-	andl	%r11d,%ebx
-	addl	%ecx,%esi
-	roll	$30,%r11d
-	addl	%ebx,%esi
-	xorl	32(%rsp),%r14d
-	movl	%r12d,%eax
-	movl	%ebp,28(%rsp)
-	movl	%r12d,%ebx
-	xorl	40(%rsp),%r14d
-	andl	%r11d,%eax
-	movl	%esi,%ecx
-	xorl	0(%rsp),%r14d
-	leal	-1894007588(%rbp,%r13,1),%r13d
-	xorl	%r11d,%ebx
-	roll	$5,%ecx
-	addl	%eax,%r13d
-	roll	$1,%r14d
-	andl	%edi,%ebx
-	addl	%ecx,%r13d
-	roll	$30,%edi
-	addl	%ebx,%r13d
-	xorl	36(%rsp),%edx
-	movl	%r11d,%eax
-	movl	%r14d,32(%rsp)
-	movl	%r11d,%ebx
-	xorl	44(%rsp),%edx
-	andl	%edi,%eax
-	movl	%r13d,%ecx
-	xorl	4(%rsp),%edx
-	leal	-1894007588(%r14,%r12,1),%r12d
-	xorl	%edi,%ebx
-	roll	$5,%ecx
-	addl	%eax,%r12d
-	roll	$1,%edx
-	andl	%esi,%ebx
-	addl	%ecx,%r12d
-	roll	$30,%esi
-	addl	%ebx,%r12d
-	xorl	40(%rsp),%ebp
-	movl	%edi,%eax
-	movl	%edx,36(%rsp)
-	movl	%edi,%ebx
-	xorl	48(%rsp),%ebp
-	andl	%esi,%eax
-	movl	%r12d,%ecx
-	xorl	8(%rsp),%ebp
-	leal	-1894007588(%rdx,%r11,1),%r11d
-	xorl	%esi,%ebx
-	roll	$5,%ecx
-	addl	%eax,%r11d
-	roll	$1,%ebp
-	andl	%r13d,%ebx
-	addl	%ecx,%r11d
-	roll	$30,%r13d
-	addl	%ebx,%r11d
-	xorl	44(%rsp),%r14d
-	movl	%esi,%eax
-	movl	%ebp,40(%rsp)
-	movl	%esi,%ebx
-	xorl	52(%rsp),%r14d
-	andl	%r13d,%eax
-	movl	%r11d,%ecx
-	xorl	12(%rsp),%r14d
-	leal	-1894007588(%rbp,%rdi,1),%edi
-	xorl	%r13d,%ebx
-	roll	$5,%ecx
-	addl	%eax,%edi
-	roll	$1,%r14d
-	andl	%r12d,%ebx
-	addl	%ecx,%edi
-	roll	$30,%r12d
-	addl	%ebx,%edi
-	xorl	48(%rsp),%edx
-	movl	%r13d,%eax
-	movl	%r14d,44(%rsp)
-	movl	%r13d,%ebx
-	xorl	56(%rsp),%edx
-	andl	%r12d,%eax
-	movl	%edi,%ecx
-	xorl	16(%rsp),%edx
-	leal	-1894007588(%r14,%rsi,1),%esi
-	xorl	%r12d,%ebx
-	roll	$5,%ecx
-	addl	%eax,%esi
-	roll	$1,%edx
-	andl	%r11d,%ebx
-	addl	%ecx,%esi
-	roll	$30,%r11d
-	addl	%ebx,%esi
-	xorl	52(%rsp),%ebp
-	movl	%edi,%eax
-	movl	%edx,48(%rsp)
-	movl	%esi,%ecx
-	xorl	60(%rsp),%ebp
-	xorl	%r12d,%eax
-	roll	$5,%ecx
-	xorl	20(%rsp),%ebp
-	leal	-899497514(%rdx,%r13,1),%r13d
-	xorl	%r11d,%eax
-	addl	%ecx,%r13d
-	roll	$30,%edi
-	addl	%eax,%r13d
-	roll	$1,%ebp
-	xorl	56(%rsp),%r14d
-	movl	%esi,%eax
-	movl	%ebp,52(%rsp)
-	movl	%r13d,%ecx
-	xorl	0(%rsp),%r14d
-	xorl	%r11d,%eax
-	roll	$5,%ecx
-	xorl	24(%rsp),%r14d
-	leal	-899497514(%rbp,%r12,1),%r12d
-	xorl	%edi,%eax
-	addl	%ecx,%r12d
-	roll	$30,%esi
-	addl	%eax,%r12d
-	roll	$1,%r14d
-	xorl	60(%rsp),%edx
-	movl	%r13d,%eax
-	movl	%r14d,56(%rsp)
-	movl	%r12d,%ecx
-	xorl	4(%rsp),%edx
-	xorl	%edi,%eax
-	roll	$5,%ecx
-	xorl	28(%rsp),%edx
-	leal	-899497514(%r14,%r11,1),%r11d
-	xorl	%esi,%eax
-	addl	%ecx,%r11d
-	roll	$30,%r13d
-	addl	%eax,%r11d
-	roll	$1,%edx
-	xorl	0(%rsp),%ebp
-	movl	%r12d,%eax
-	movl	%edx,60(%rsp)
-	movl	%r11d,%ecx
-	xorl	8(%rsp),%ebp
-	xorl	%esi,%eax
-	roll	$5,%ecx
-	xorl	32(%rsp),%ebp
-	leal	-899497514(%rdx,%rdi,1),%edi
-	xorl	%r13d,%eax
-	addl	%ecx,%edi
-	roll	$30,%r12d
-	addl	%eax,%edi
-	roll	$1,%ebp
-	xorl	4(%rsp),%r14d
-	movl	%r11d,%eax
-	movl	%ebp,0(%rsp)
-	movl	%edi,%ecx
-	xorl	12(%rsp),%r14d
-	xorl	%r13d,%eax
-	roll	$5,%ecx
-	xorl	36(%rsp),%r14d
-	leal	-899497514(%rbp,%rsi,1),%esi
-	xorl	%r12d,%eax
-	addl	%ecx,%esi
-	roll	$30,%r11d
-	addl	%eax,%esi
-	roll	$1,%r14d
-	xorl	8(%rsp),%edx
-	movl	%edi,%eax
-	movl	%r14d,4(%rsp)
-	movl	%esi,%ecx
-	xorl	16(%rsp),%edx
-	xorl	%r12d,%eax
-	roll	$5,%ecx
-	xorl	40(%rsp),%edx
-	leal	-899497514(%r14,%r13,1),%r13d
-	xorl	%r11d,%eax
-	addl	%ecx,%r13d
-	roll	$30,%edi
-	addl	%eax,%r13d
-	roll	$1,%edx
-	xorl	12(%rsp),%ebp
-	movl	%esi,%eax
-	movl	%edx,8(%rsp)
-	movl	%r13d,%ecx
-	xorl	20(%rsp),%ebp
-	xorl	%r11d,%eax
-	roll	$5,%ecx
-	xorl	44(%rsp),%ebp
-	leal	-899497514(%rdx,%r12,1),%r12d
-	xorl	%edi,%eax
-	addl	%ecx,%r12d
-	roll	$30,%esi
-	addl	%eax,%r12d
-	roll	$1,%ebp
-	xorl	16(%rsp),%r14d
-	movl	%r13d,%eax
-	movl	%ebp,12(%rsp)
-	movl	%r12d,%ecx
-	xorl	24(%rsp),%r14d
-	xorl	%edi,%eax
-	roll	$5,%ecx
-	xorl	48(%rsp),%r14d
-	leal	-899497514(%rbp,%r11,1),%r11d
-	xorl	%esi,%eax
-	addl	%ecx,%r11d
-	roll	$30,%r13d
-	addl	%eax,%r11d
-	roll	$1,%r14d
-	xorl	20(%rsp),%edx
-	movl	%r12d,%eax
-	movl	%r14d,16(%rsp)
-	movl	%r11d,%ecx
-	xorl	28(%rsp),%edx
-	xorl	%esi,%eax
-	roll	$5,%ecx
-	xorl	52(%rsp),%edx
-	leal	-899497514(%r14,%rdi,1),%edi
-	xorl	%r13d,%eax
-	addl	%ecx,%edi
-	roll	$30,%r12d
-	addl	%eax,%edi
-	roll	$1,%edx
-	xorl	24(%rsp),%ebp
-	movl	%r11d,%eax
-	movl	%edx,20(%rsp)
-	movl	%edi,%ecx
-	xorl	32(%rsp),%ebp
-	xorl	%r13d,%eax
-	roll	$5,%ecx
-	xorl	56(%rsp),%ebp
-	leal	-899497514(%rdx,%rsi,1),%esi
-	xorl	%r12d,%eax
-	addl	%ecx,%esi
-	roll	$30,%r11d
-	addl	%eax,%esi
-	roll	$1,%ebp
-	xorl	28(%rsp),%r14d
-	movl	%edi,%eax
-	movl	%ebp,24(%rsp)
-	movl	%esi,%ecx
-	xorl	36(%rsp),%r14d
-	xorl	%r12d,%eax
-	roll	$5,%ecx
-	xorl	60(%rsp),%r14d
-	leal	-899497514(%rbp,%r13,1),%r13d
-	xorl	%r11d,%eax
-	addl	%ecx,%r13d
-	roll	$30,%edi
-	addl	%eax,%r13d
-	roll	$1,%r14d
-	xorl	32(%rsp),%edx
-	movl	%esi,%eax
-	movl	%r14d,28(%rsp)
-	movl	%r13d,%ecx
-	xorl	40(%rsp),%edx
-	xorl	%r11d,%eax
-	roll	$5,%ecx
-	xorl	0(%rsp),%edx
-	leal	-899497514(%r14,%r12,1),%r12d
-	xorl	%edi,%eax
-	addl	%ecx,%r12d
-	roll	$30,%esi
-	addl	%eax,%r12d
-	roll	$1,%edx
-	xorl	36(%rsp),%ebp
-	movl	%r13d,%eax
-
-	movl	%r12d,%ecx
-	xorl	44(%rsp),%ebp
-	xorl	%edi,%eax
-	roll	$5,%ecx
-	xorl	4(%rsp),%ebp
-	leal	-899497514(%rdx,%r11,1),%r11d
-	xorl	%esi,%eax
-	addl	%ecx,%r11d
-	roll	$30,%r13d
-	addl	%eax,%r11d
-	roll	$1,%ebp
-	xorl	40(%rsp),%r14d
-	movl	%r12d,%eax
-
-	movl	%r11d,%ecx
-	xorl	48(%rsp),%r14d
-	xorl	%esi,%eax
-	roll	$5,%ecx
-	xorl	8(%rsp),%r14d
-	leal	-899497514(%rbp,%rdi,1),%edi
-	xorl	%r13d,%eax
-	addl	%ecx,%edi
-	roll	$30,%r12d
-	addl	%eax,%edi
-	roll	$1,%r14d
-	xorl	44(%rsp),%edx
-	movl	%r11d,%eax
-
-	movl	%edi,%ecx
-	xorl	52(%rsp),%edx
-	xorl	%r13d,%eax
-	roll	$5,%ecx
-	xorl	12(%rsp),%edx
-	leal	-899497514(%r14,%rsi,1),%esi
-	xorl	%r12d,%eax
-	addl	%ecx,%esi
-	roll	$30,%r11d
-	addl	%eax,%esi
-	roll	$1,%edx
-	xorl	48(%rsp),%ebp
-	movl	%edi,%eax
-
-	movl	%esi,%ecx
-	xorl	56(%rsp),%ebp
-	xorl	%r12d,%eax
-	roll	$5,%ecx
-	xorl	16(%rsp),%ebp
-	leal	-899497514(%rdx,%r13,1),%r13d
-	xorl	%r11d,%eax
-	addl	%ecx,%r13d
-	roll	$30,%edi
-	addl	%eax,%r13d
-	roll	$1,%ebp
-	xorl	52(%rsp),%r14d
-	movl	%esi,%eax
-
-	movl	%r13d,%ecx
-	xorl	60(%rsp),%r14d
-	xorl	%r11d,%eax
-	roll	$5,%ecx
-	xorl	20(%rsp),%r14d
-	leal	-899497514(%rbp,%r12,1),%r12d
-	xorl	%edi,%eax
-	addl	%ecx,%r12d
-	roll	$30,%esi
-	addl	%eax,%r12d
-	roll	$1,%r14d
-	xorl	56(%rsp),%edx
-	movl	%r13d,%eax
-
-	movl	%r12d,%ecx
-	xorl	0(%rsp),%edx
-	xorl	%edi,%eax
-	roll	$5,%ecx
-	xorl	24(%rsp),%edx
-	leal	-899497514(%r14,%r11,1),%r11d
-	xorl	%esi,%eax
-	addl	%ecx,%r11d
-	roll	$30,%r13d
-	addl	%eax,%r11d
-	roll	$1,%edx
-	xorl	60(%rsp),%ebp
-	movl	%r12d,%eax
-
-	movl	%r11d,%ecx
-	xorl	4(%rsp),%ebp
-	xorl	%esi,%eax
-	roll	$5,%ecx
-	xorl	28(%rsp),%ebp
-	leal	-899497514(%rdx,%rdi,1),%edi
-	xorl	%r13d,%eax
-	addl	%ecx,%edi
-	roll	$30,%r12d
-	addl	%eax,%edi
-	roll	$1,%ebp
-	movl	%r11d,%eax
-	movl	%edi,%ecx
-	xorl	%r13d,%eax
-	leal	-899497514(%rbp,%rsi,1),%esi
-	roll	$5,%ecx
-	xorl	%r12d,%eax
-	addl	%ecx,%esi
-	roll	$30,%r11d
-	addl	%eax,%esi
-	addl	0(%r8),%esi
-	addl	4(%r8),%edi
-	addl	8(%r8),%r11d
-	addl	12(%r8),%r12d
-	addl	16(%r8),%r13d
-	movl	%esi,0(%r8)
-	movl	%edi,4(%r8)
-	movl	%r11d,8(%r8)
-	movl	%r12d,12(%r8)
-	movl	%r13d,16(%r8)
-
-	subq	$1,%r10
-	leaq	64(%r9),%r9
-	jnz	.Lloop
-
-	movq	64(%rsp),%rsi
-	movq	-40(%rsi),%r14
-	movq	-32(%rsi),%r13
-	movq	-24(%rsi),%r12
-	movq	-16(%rsi),%rbp
-	movq	-8(%rsi),%rbx
-	leaq	(%rsi),%rsp
-.Lepilogue:
-	.byte	0xf3,0xc3
-.size	sha1_block_data_order,.-sha1_block_data_order
-.type	sha1_block_data_order_ssse3,@function
-.align	16
-sha1_block_data_order_ssse3:
-_ssse3_shortcut:
-	movq	%rsp,%r11
-	pushq	%rbx
-	pushq	%rbp
-	pushq	%r12
-	pushq	%r13
-	pushq	%r14
-	leaq	-64(%rsp),%rsp
-	andq	$-64,%rsp
-	movq	%rdi,%r8
-	movq	%rsi,%r9
-	movq	%rdx,%r10
-
-	shlq	$6,%r10
-	addq	%r9,%r10
-	leaq	K_XX_XX+64(%rip),%r14
-
-	movl	0(%r8),%eax
-	movl	4(%r8),%ebx
-	movl	8(%r8),%ecx
-	movl	12(%r8),%edx
-	movl	%ebx,%esi
-	movl	16(%r8),%ebp
-	movl	%ecx,%edi
-	xorl	%edx,%edi
-	andl	%edi,%esi
-
-	movdqa	64(%r14),%xmm6
-	movdqa	-64(%r14),%xmm9
-	movdqu	0(%r9),%xmm0
-	movdqu	16(%r9),%xmm1
-	movdqu	32(%r9),%xmm2
-	movdqu	48(%r9),%xmm3
-.byte	102,15,56,0,198
-.byte	102,15,56,0,206
-.byte	102,15,56,0,214
-	addq	$64,%r9
-	paddd	%xmm9,%xmm0
-.byte	102,15,56,0,222
-	paddd	%xmm9,%xmm1
-	paddd	%xmm9,%xmm2
-	movdqa	%xmm0,0(%rsp)
-	psubd	%xmm9,%xmm0
-	movdqa	%xmm1,16(%rsp)
-	psubd	%xmm9,%xmm1
-	movdqa	%xmm2,32(%rsp)
-	psubd	%xmm9,%xmm2
-	jmp	.Loop_ssse3
-.align	16
-.Loop_ssse3:
-	rorl	$2,%ebx
-	pshufd	$238,%xmm0,%xmm4
-	xorl	%edx,%esi
-	movdqa	%xmm3,%xmm8
-	paddd	%xmm3,%xmm9
-	movl	%eax,%edi
-	addl	0(%rsp),%ebp
-	punpcklqdq	%xmm1,%xmm4
-	xorl	%ecx,%ebx
-	roll	$5,%eax
-	addl	%esi,%ebp
-	psrldq	$4,%xmm8
-	andl	%ebx,%edi
-	xorl	%ecx,%ebx
-	pxor	%xmm0,%xmm4
-	addl	%eax,%ebp
-	rorl	$7,%eax
-	pxor	%xmm2,%xmm8
-	xorl	%ecx,%edi
-	movl	%ebp,%esi
-	addl	4(%rsp),%edx
-	pxor	%xmm8,%xmm4
-	xorl	%ebx,%eax
-	roll	$5,%ebp
-	movdqa	%xmm9,48(%rsp)
-	addl	%edi,%edx
-	andl	%eax,%esi
-	movdqa	%xmm4,%xmm10
-	xorl	%ebx,%eax
-	addl	%ebp,%edx
-	rorl	$7,%ebp
-	movdqa	%xmm4,%xmm8
-	xorl	%ebx,%esi
-	pslldq	$12,%xmm10
-	paddd	%xmm4,%xmm4
-	movl	%edx,%edi
-	addl	8(%rsp),%ecx
-	psrld	$31,%xmm8
-	xorl	%eax,%ebp
-	roll	$5,%edx
-	addl	%esi,%ecx
-	movdqa	%xmm10,%xmm9
-	andl	%ebp,%edi
-	xorl	%eax,%ebp
-	psrld	$30,%xmm10
-	addl	%edx,%ecx
-	rorl	$7,%edx
-	por	%xmm8,%xmm4
-	xorl	%eax,%edi
-	movl	%ecx,%esi
-	addl	12(%rsp),%ebx
-	pslld	$2,%xmm9
-	pxor	%xmm10,%xmm4
-	xorl	%ebp,%edx
-	movdqa	-64(%r14),%xmm10
-	roll	$5,%ecx
-	addl	%edi,%ebx
-	andl	%edx,%esi
-	pxor	%xmm9,%xmm4
-	xorl	%ebp,%edx
-	addl	%ecx,%ebx
-	rorl	$7,%ecx
-	pshufd	$238,%xmm1,%xmm5
-	xorl	%ebp,%esi
-	movdqa	%xmm4,%xmm9
-	paddd	%xmm4,%xmm10
-	movl	%ebx,%edi
-	addl	16(%rsp),%eax
-	punpcklqdq	%xmm2,%xmm5
-	xorl	%edx,%ecx
-	roll	$5,%ebx
-	addl	%esi,%eax
-	psrldq	$4,%xmm9
-	andl	%ecx,%edi
-	xorl	%edx,%ecx
-	pxor	%xmm1,%xmm5
-	addl	%ebx,%eax
-	rorl	$7,%ebx
-	pxor	%xmm3,%xmm9
-	xorl	%edx,%edi
-	movl	%eax,%esi
-	addl	20(%rsp),%ebp
-	pxor	%xmm9,%xmm5
-	xorl	%ecx,%ebx
-	roll	$5,%eax
-	movdqa	%xmm10,0(%rsp)
-	addl	%edi,%ebp
-	andl	%ebx,%esi
-	movdqa	%xmm5,%xmm8
-	xorl	%ecx,%ebx
-	addl	%eax,%ebp
-	rorl	$7,%eax
-	movdqa	%xmm5,%xmm9
-	xorl	%ecx,%esi
-	pslldq	$12,%xmm8
-	paddd	%xmm5,%xmm5
-	movl	%ebp,%edi
-	addl	24(%rsp),%edx
-	psrld	$31,%xmm9
-	xorl	%ebx,%eax
-	roll	$5,%ebp
-	addl	%esi,%edx
-	movdqa	%xmm8,%xmm10
-	andl	%eax,%edi
-	xorl	%ebx,%eax
-	psrld	$30,%xmm8
-	addl	%ebp,%edx
-	rorl	$7,%ebp
-	por	%xmm9,%xmm5
-	xorl	%ebx,%edi
-	movl	%edx,%esi
-	addl	28(%rsp),%ecx
-	pslld	$2,%xmm10
-	pxor	%xmm8,%xmm5
-	xorl	%eax,%ebp
-	movdqa	-32(%r14),%xmm8
-	roll	$5,%edx
-	addl	%edi,%ecx
-	andl	%ebp,%esi
-	pxor	%xmm10,%xmm5
-	xorl	%eax,%ebp
-	addl	%edx,%ecx
-	rorl	$7,%edx
-	pshufd	$238,%xmm2,%xmm6
-	xorl	%eax,%esi
-	movdqa	%xmm5,%xmm10
-	paddd	%xmm5,%xmm8
-	movl	%ecx,%edi
-	addl	32(%rsp),%ebx
-	punpcklqdq	%xmm3,%xmm6
-	xorl	%ebp,%edx
-	roll	$5,%ecx
-	addl	%esi,%ebx
-	psrldq	$4,%xmm10
-	andl	%edx,%edi
-	xorl	%ebp,%edx
-	pxor	%xmm2,%xmm6
-	addl	%ecx,%ebx
-	rorl	$7,%ecx
-	pxor	%xmm4,%xmm10
-	xorl	%ebp,%edi
-	movl	%ebx,%esi
-	addl	36(%rsp),%eax
-	pxor	%xmm10,%xmm6
-	xorl	%edx,%ecx
-	roll	$5,%ebx
-	movdqa	%xmm8,16(%rsp)
-	addl	%edi,%eax
-	andl	%ecx,%esi
-	movdqa	%xmm6,%xmm9
-	xorl	%edx,%ecx
-	addl	%ebx,%eax
-	rorl	$7,%ebx
-	movdqa	%xmm6,%xmm10
-	xorl	%edx,%esi
-	pslldq	$12,%xmm9
-	paddd	%xmm6,%xmm6
-	movl	%eax,%edi
-	addl	40(%rsp),%ebp
-	psrld	$31,%xmm10
-	xorl	%ecx,%ebx
-	roll	$5,%eax
-	addl	%esi,%ebp
-	movdqa	%xmm9,%xmm8
-	andl	%ebx,%edi
-	xorl	%ecx,%ebx
-	psrld	$30,%xmm9
-	addl	%eax,%ebp
-	rorl	$7,%eax
-	por	%xmm10,%xmm6
-	xorl	%ecx,%edi
-	movl	%ebp,%esi
-	addl	44(%rsp),%edx
-	pslld	$2,%xmm8
-	pxor	%xmm9,%xmm6
-	xorl	%ebx,%eax
-	movdqa	-32(%r14),%xmm9
-	roll	$5,%ebp
-	addl	%edi,%edx
-	andl	%eax,%esi
-	pxor	%xmm8,%xmm6
-	xorl	%ebx,%eax
-	addl	%ebp,%edx
-	rorl	$7,%ebp
-	pshufd	$238,%xmm3,%xmm7
-	xorl	%ebx,%esi
-	movdqa	%xmm6,%xmm8
-	paddd	%xmm6,%xmm9
-	movl	%edx,%edi
-	addl	48(%rsp),%ecx
-	punpcklqdq	%xmm4,%xmm7
-	xorl	%eax,%ebp
-	roll	$5,%edx
-	addl	%esi,%ecx
-	psrldq	$4,%xmm8
-	andl	%ebp,%edi
-	xorl	%eax,%ebp
-	pxor	%xmm3,%xmm7
-	addl	%edx,%ecx
-	rorl	$7,%edx
-	pxor	%xmm5,%xmm8
-	xorl	%eax,%edi
-	movl	%ecx,%esi
-	addl	52(%rsp),%ebx
-	pxor	%xmm8,%xmm7
-	xorl	%ebp,%edx
-	roll	$5,%ecx
-	movdqa	%xmm9,32(%rsp)
-	addl	%edi,%ebx
-	andl	%edx,%esi
-	movdqa	%xmm7,%xmm10
-	xorl	%ebp,%edx
-	addl	%ecx,%ebx
-	rorl	$7,%ecx
-	movdqa	%xmm7,%xmm8
-	xorl	%ebp,%esi
-	pslldq	$12,%xmm10
-	paddd	%xmm7,%xmm7
-	movl	%ebx,%edi
-	addl	56(%rsp),%eax
-	psrld	$31,%xmm8
-	xorl	%edx,%ecx
-	roll	$5,%ebx
-	addl	%esi,%eax
-	movdqa	%xmm10,%xmm9
-	andl	%ecx,%edi
-	xorl	%edx,%ecx
-	psrld	$30,%xmm10
-	addl	%ebx,%eax
-	rorl	$7,%ebx
-	por	%xmm8,%xmm7
-	xorl	%edx,%edi
-	movl	%eax,%esi
-	addl	60(%rsp),%ebp
-	pslld	$2,%xmm9
-	pxor	%xmm10,%xmm7
-	xorl	%ecx,%ebx
-	movdqa	-32(%r14),%xmm10
-	roll	$5,%eax
-	addl	%edi,%ebp
-	andl	%ebx,%esi
-	pxor	%xmm9,%xmm7
-	pshufd	$238,%xmm6,%xmm9
-	xorl	%ecx,%ebx
-	addl	%eax,%ebp
-	rorl	$7,%eax
-	pxor	%xmm4,%xmm0
-	xorl	%ecx,%esi
-	movl	%ebp,%edi
-	addl	0(%rsp),%edx
-	punpcklqdq	%xmm7,%xmm9
-	xorl	%ebx,%eax
-	roll	$5,%ebp
-	pxor	%xmm1,%xmm0
-	addl	%esi,%edx
-	andl	%eax,%edi
-	movdqa	%xmm10,%xmm8
-	xorl	%ebx,%eax
-	paddd	%xmm7,%xmm10
-	addl	%ebp,%edx
-	pxor	%xmm9,%xmm0
-	rorl	$7,%ebp
-	xorl	%ebx,%edi
-	movl	%edx,%esi
-	addl	4(%rsp),%ecx
-	movdqa	%xmm0,%xmm9
-	xorl	%eax,%ebp
-	roll	$5,%edx
-	movdqa	%xmm10,48(%rsp)
-	addl	%edi,%ecx
-	andl	%ebp,%esi
-	xorl	%eax,%ebp
-	pslld	$2,%xmm0
-	addl	%edx,%ecx
-	rorl	$7,%edx
-	psrld	$30,%xmm9
-	xorl	%eax,%esi
-	movl	%ecx,%edi
-	addl	8(%rsp),%ebx
-	por	%xmm9,%xmm0
-	xorl	%ebp,%edx
-	roll	$5,%ecx
-	pshufd	$238,%xmm7,%xmm10
-	addl	%esi,%ebx
-	andl	%edx,%edi
-	xorl	%ebp,%edx
-	addl	%ecx,%ebx
-	addl	12(%rsp),%eax
-	xorl	%ebp,%edi
-	movl	%ebx,%esi
-	roll	$5,%ebx
-	addl	%edi,%eax
-	xorl	%edx,%esi
-	rorl	$7,%ecx
-	addl	%ebx,%eax
-	pxor	%xmm5,%xmm1
-	addl	16(%rsp),%ebp
-	xorl	%ecx,%esi
-	punpcklqdq	%xmm0,%xmm10
-	movl	%eax,%edi
-	roll	$5,%eax
-	pxor	%xmm2,%xmm1
-	addl	%esi,%ebp
-	xorl	%ecx,%edi
-	movdqa	%xmm8,%xmm9
-	rorl	$7,%ebx
-	paddd	%xmm0,%xmm8
-	addl	%eax,%ebp
-	pxor	%xmm10,%xmm1
-	addl	20(%rsp),%edx
-	xorl	%ebx,%edi
-	movl	%ebp,%esi
-	roll	$5,%ebp
-	movdqa	%xmm1,%xmm10
-	addl	%edi,%edx
-	xorl	%ebx,%esi
-	movdqa	%xmm8,0(%rsp)
-	rorl	$7,%eax
-	addl	%ebp,%edx
-	addl	24(%rsp),%ecx
-	pslld	$2,%xmm1
-	xorl	%eax,%esi
-	movl	%edx,%edi
-	psrld	$30,%xmm10
-	roll	$5,%edx
-	addl	%esi,%ecx
-	xorl	%eax,%edi
-	rorl	$7,%ebp
-	por	%xmm10,%xmm1
-	addl	%edx,%ecx
-	addl	28(%rsp),%ebx
-	pshufd	$238,%xmm0,%xmm8
-	xorl	%ebp,%edi
-	movl	%ecx,%esi
-	roll	$5,%ecx
-	addl	%edi,%ebx
-	xorl	%ebp,%esi
-	rorl	$7,%edx
-	addl	%ecx,%ebx
-	pxor	%xmm6,%xmm2
-	addl	32(%rsp),%eax
-	xorl	%edx,%esi
-	punpcklqdq	%xmm1,%xmm8
-	movl	%ebx,%edi
-	roll	$5,%ebx
-	pxor	%xmm3,%xmm2
-	addl	%esi,%eax
-	xorl	%edx,%edi
-	movdqa	0(%r14),%xmm10
-	rorl	$7,%ecx
-	paddd	%xmm1,%xmm9
-	addl	%ebx,%eax
-	pxor	%xmm8,%xmm2
-	addl	36(%rsp),%ebp
-	xorl	%ecx,%edi
-	movl	%eax,%esi
-	roll	$5,%eax
-	movdqa	%xmm2,%xmm8
-	addl	%edi,%ebp
-	xorl	%ecx,%esi
-	movdqa	%xmm9,16(%rsp)
-	rorl	$7,%ebx
-	addl	%eax,%ebp
-	addl	40(%rsp),%edx
-	pslld	$2,%xmm2
-	xorl	%ebx,%esi
-	movl	%ebp,%edi
-	psrld	$30,%xmm8
-	roll	$5,%ebp
-	addl	%esi,%edx
-	xorl	%ebx,%edi
-	rorl	$7,%eax
-	por	%xmm8,%xmm2
-	addl	%ebp,%edx
-	addl	44(%rsp),%ecx
-	pshufd	$238,%xmm1,%xmm9
-	xorl	%eax,%edi
-	movl	%edx,%esi
-	roll	$5,%edx
-	addl	%edi,%ecx
-	xorl	%eax,%esi
-	rorl	$7,%ebp
-	addl	%edx,%ecx
-	pxor	%xmm7,%xmm3
-	addl	48(%rsp),%ebx
-	xorl	%ebp,%esi
-	punpcklqdq	%xmm2,%xmm9
-	movl	%ecx,%edi
-	roll	$5,%ecx
-	pxor	%xmm4,%xmm3
-	addl	%esi,%ebx
-	xorl	%ebp,%edi
-	movdqa	%xmm10,%xmm8
-	rorl	$7,%edx
-	paddd	%xmm2,%xmm10
-	addl	%ecx,%ebx
-	pxor	%xmm9,%xmm3
-	addl	52(%rsp),%eax
-	xorl	%edx,%edi
-	movl	%ebx,%esi
-	roll	$5,%ebx
-	movdqa	%xmm3,%xmm9
-	addl	%edi,%eax
-	xorl	%edx,%esi
-	movdqa	%xmm10,32(%rsp)
-	rorl	$7,%ecx
-	addl	%ebx,%eax
-	addl	56(%rsp),%ebp
-	pslld	$2,%xmm3
-	xorl	%ecx,%esi
-	movl	%eax,%edi
-	psrld	$30,%xmm9
-	roll	$5,%eax
-	addl	%esi,%ebp
-	xorl	%ecx,%edi
-	rorl	$7,%ebx
-	por	%xmm9,%xmm3
-	addl	%eax,%ebp
-	addl	60(%rsp),%edx
-	pshufd	$238,%xmm2,%xmm10
-	xorl	%ebx,%edi
-	movl	%ebp,%esi
-	roll	$5,%ebp
-	addl	%edi,%edx
-	xorl	%ebx,%esi
-	rorl	$7,%eax
-	addl	%ebp,%edx
-	pxor	%xmm0,%xmm4
-	addl	0(%rsp),%ecx
-	xorl	%eax,%esi
-	punpcklqdq	%xmm3,%xmm10
-	movl	%edx,%edi
-	roll	$5,%edx
-	pxor	%xmm5,%xmm4
-	addl	%esi,%ecx
-	xorl	%eax,%edi
-	movdqa	%xmm8,%xmm9
-	rorl	$7,%ebp
-	paddd	%xmm3,%xmm8
-	addl	%edx,%ecx
-	pxor	%xmm10,%xmm4
-	addl	4(%rsp),%ebx
-	xorl	%ebp,%edi
-	movl	%ecx,%esi
-	roll	$5,%ecx
-	movdqa	%xmm4,%xmm10
-	addl	%edi,%ebx
-	xorl	%ebp,%esi
-	movdqa	%xmm8,48(%rsp)
-	rorl	$7,%edx
-	addl	%ecx,%ebx
-	addl	8(%rsp),%eax
-	pslld	$2,%xmm4
-	xorl	%edx,%esi
-	movl	%ebx,%edi
-	psrld	$30,%xmm10
-	roll	$5,%ebx
-	addl	%esi,%eax
-	xorl	%edx,%edi
-	rorl	$7,%ecx
-	por	%xmm10,%xmm4
-	addl	%ebx,%eax
-	addl	12(%rsp),%ebp
-	pshufd	$238,%xmm3,%xmm8
-	xorl	%ecx,%edi
-	movl	%eax,%esi
-	roll	$5,%eax
-	addl	%edi,%ebp
-	xorl	%ecx,%esi
-	rorl	$7,%ebx
-	addl	%eax,%ebp
-	pxor	%xmm1,%xmm5
-	addl	16(%rsp),%edx
-	xorl	%ebx,%esi
-	punpcklqdq	%xmm4,%xmm8
-	movl	%ebp,%edi
-	roll	$5,%ebp
-	pxor	%xmm6,%xmm5
-	addl	%esi,%edx
-	xorl	%ebx,%edi
-	movdqa	%xmm9,%xmm10
-	rorl	$7,%eax
-	paddd	%xmm4,%xmm9
-	addl	%ebp,%edx
-	pxor	%xmm8,%xmm5
-	addl	20(%rsp),%ecx
-	xorl	%eax,%edi
-	movl	%edx,%esi
-	roll	$5,%edx
-	movdqa	%xmm5,%xmm8
-	addl	%edi,%ecx
-	xorl	%eax,%esi
-	movdqa	%xmm9,0(%rsp)
-	rorl	$7,%ebp
-	addl	%edx,%ecx
-	addl	24(%rsp),%ebx
-	pslld	$2,%xmm5
-	xorl	%ebp,%esi
-	movl	%ecx,%edi
-	psrld	$30,%xmm8
-	roll	$5,%ecx
-	addl	%esi,%ebx
-	xorl	%ebp,%edi
-	rorl	$7,%edx
-	por	%xmm8,%xmm5
-	addl	%ecx,%ebx
-	addl	28(%rsp),%eax
-	pshufd	$238,%xmm4,%xmm9
-	rorl	$7,%ecx
-	movl	%ebx,%esi
-	xorl	%edx,%edi
-	roll	$5,%ebx
-	addl	%edi,%eax
-	xorl	%ecx,%esi
-	xorl	%edx,%ecx
-	addl	%ebx,%eax
-	pxor	%xmm2,%xmm6
-	addl	32(%rsp),%ebp
-	andl	%ecx,%esi
-	xorl	%edx,%ecx
-	rorl	$7,%ebx
-	punpcklqdq	%xmm5,%xmm9
-	movl	%eax,%edi
-	xorl	%ecx,%esi
-	pxor	%xmm7,%xmm6
-	roll	$5,%eax
-	addl	%esi,%ebp
-	movdqa	%xmm10,%xmm8
-	xorl	%ebx,%edi
-	paddd	%xmm5,%xmm10
-	xorl	%ecx,%ebx
-	pxor	%xmm9,%xmm6
-	addl	%eax,%ebp
-	addl	36(%rsp),%edx
-	andl	%ebx,%edi
-	xorl	%ecx,%ebx
-	rorl	$7,%eax
-	movdqa	%xmm6,%xmm9
-	movl	%ebp,%esi
-	xorl	%ebx,%edi
-	movdqa	%xmm10,16(%rsp)
-	roll	$5,%ebp
-	addl	%edi,%edx
-	xorl	%eax,%esi
-	pslld	$2,%xmm6
-	xorl	%ebx,%eax
-	addl	%ebp,%edx
-	psrld	$30,%xmm9
-	addl	40(%rsp),%ecx
-	andl	%eax,%esi
-	xorl	%ebx,%eax
-	por	%xmm9,%xmm6
-	rorl	$7,%ebp
-	movl	%edx,%edi
-	xorl	%eax,%esi
-	roll	$5,%edx
-	pshufd	$238,%xmm5,%xmm10
-	addl	%esi,%ecx
-	xorl	%ebp,%edi
-	xorl	%eax,%ebp
-	addl	%edx,%ecx
-	addl	44(%rsp),%ebx
-	andl	%ebp,%edi
-	xorl	%eax,%ebp
-	rorl	$7,%edx
-	movl	%ecx,%esi
-	xorl	%ebp,%edi
-	roll	$5,%ecx
-	addl	%edi,%ebx
-	xorl	%edx,%esi
-	xorl	%ebp,%edx
-	addl	%ecx,%ebx
-	pxor	%xmm3,%xmm7
-	addl	48(%rsp),%eax
-	andl	%edx,%esi
-	xorl	%ebp,%edx
-	rorl	$7,%ecx
-	punpcklqdq	%xmm6,%xmm10
-	movl	%ebx,%edi
-	xorl	%edx,%esi
-	pxor	%xmm0,%xmm7
-	roll	$5,%ebx
-	addl	%esi,%eax
-	movdqa	32(%r14),%xmm9
-	xorl	%ecx,%edi
-	paddd	%xmm6,%xmm8
-	xorl	%edx,%ecx
-	pxor	%xmm10,%xmm7
-	addl	%ebx,%eax
-	addl	52(%rsp),%ebp
-	andl	%ecx,%edi
-	xorl	%edx,%ecx
-	rorl	$7,%ebx
-	movdqa	%xmm7,%xmm10
-	movl	%eax,%esi
-	xorl	%ecx,%edi
-	movdqa	%xmm8,32(%rsp)
-	roll	$5,%eax
-	addl	%edi,%ebp
-	xorl	%ebx,%esi
-	pslld	$2,%xmm7
-	xorl	%ecx,%ebx
-	addl	%eax,%ebp
-	psrld	$30,%xmm10
-	addl	56(%rsp),%edx
-	andl	%ebx,%esi
-	xorl	%ecx,%ebx
-	por	%xmm10,%xmm7
-	rorl	$7,%eax
-	movl	%ebp,%edi
-	xorl	%ebx,%esi
-	roll	$5,%ebp
-	pshufd	$238,%xmm6,%xmm8
-	addl	%esi,%edx
-	xorl	%eax,%edi
-	xorl	%ebx,%eax
-	addl	%ebp,%edx
-	addl	60(%rsp),%ecx
-	andl	%eax,%edi
-	xorl	%ebx,%eax
-	rorl	$7,%ebp
-	movl	%edx,%esi
-	xorl	%eax,%edi
-	roll	$5,%edx
-	addl	%edi,%ecx
-	xorl	%ebp,%esi
-	xorl	%eax,%ebp
-	addl	%edx,%ecx
-	pxor	%xmm4,%xmm0
-	addl	0(%rsp),%ebx
-	andl	%ebp,%esi
-	xorl	%eax,%ebp
-	rorl	$7,%edx
-	punpcklqdq	%xmm7,%xmm8
-	movl	%ecx,%edi
-	xorl	%ebp,%esi
-	pxor	%xmm1,%xmm0
-	roll	$5,%ecx
-	addl	%esi,%ebx
-	movdqa	%xmm9,%xmm10
-	xorl	%edx,%edi
-	paddd	%xmm7,%xmm9
-	xorl	%ebp,%edx
-	pxor	%xmm8,%xmm0
-	addl	%ecx,%ebx
-	addl	4(%rsp),%eax
-	andl	%edx,%edi
-	xorl	%ebp,%edx
-	rorl	$7,%ecx
-	movdqa	%xmm0,%xmm8
-	movl	%ebx,%esi
-	xorl	%edx,%edi
-	movdqa	%xmm9,48(%rsp)
-	roll	$5,%ebx
-	addl	%edi,%eax
-	xorl	%ecx,%esi
-	pslld	$2,%xmm0
-	xorl	%edx,%ecx
-	addl	%ebx,%eax
-	psrld	$30,%xmm8
-	addl	8(%rsp),%ebp
-	andl	%ecx,%esi
-	xorl	%edx,%ecx
-	por	%xmm8,%xmm0
-	rorl	$7,%ebx
-	movl	%eax,%edi
-	xorl	%ecx,%esi
-	roll	$5,%eax
-	pshufd	$238,%xmm7,%xmm9
-	addl	%esi,%ebp
-	xorl	%ebx,%edi
-	xorl	%ecx,%ebx
-	addl	%eax,%ebp
-	addl	12(%rsp),%edx
-	andl	%ebx,%edi
-	xorl	%ecx,%ebx
-	rorl	$7,%eax
-	movl	%ebp,%esi
-	xorl	%ebx,%edi
-	roll	$5,%ebp
-	addl	%edi,%edx
-	xorl	%eax,%esi
-	xorl	%ebx,%eax
-	addl	%ebp,%edx
-	pxor	%xmm5,%xmm1
-	addl	16(%rsp),%ecx
-	andl	%eax,%esi
-	xorl	%ebx,%eax
-	rorl	$7,%ebp
-	punpcklqdq	%xmm0,%xmm9
-	movl	%edx,%edi
-	xorl	%eax,%esi
-	pxor	%xmm2,%xmm1
-	roll	$5,%edx
-	addl	%esi,%ecx
-	movdqa	%xmm10,%xmm8
-	xorl	%ebp,%edi
-	paddd	%xmm0,%xmm10
-	xorl	%eax,%ebp
-	pxor	%xmm9,%xmm1
-	addl	%edx,%ecx
-	addl	20(%rsp),%ebx
-	andl	%ebp,%edi
-	xorl	%eax,%ebp
-	rorl	$7,%edx
-	movdqa	%xmm1,%xmm9
-	movl	%ecx,%esi
-	xorl	%ebp,%edi
-	movdqa	%xmm10,0(%rsp)
-	roll	$5,%ecx
-	addl	%edi,%ebx
-	xorl	%edx,%esi
-	pslld	$2,%xmm1
-	xorl	%ebp,%edx
-	addl	%ecx,%ebx
-	psrld	$30,%xmm9
-	addl	24(%rsp),%eax
-	andl	%edx,%esi
-	xorl	%ebp,%edx
-	por	%xmm9,%xmm1
-	rorl	$7,%ecx
-	movl	%ebx,%edi
-	xorl	%edx,%esi
-	roll	$5,%ebx
-	pshufd	$238,%xmm0,%xmm10
-	addl	%esi,%eax
-	xorl	%ecx,%edi
-	xorl	%edx,%ecx
-	addl	%ebx,%eax
-	addl	28(%rsp),%ebp
-	andl	%ecx,%edi
-	xorl	%edx,%ecx
-	rorl	$7,%ebx
-	movl	%eax,%esi
-	xorl	%ecx,%edi
-	roll	$5,%eax
-	addl	%edi,%ebp
-	xorl	%ebx,%esi
-	xorl	%ecx,%ebx
-	addl	%eax,%ebp
-	pxor	%xmm6,%xmm2
-	addl	32(%rsp),%edx
-	andl	%ebx,%esi
-	xorl	%ecx,%ebx
-	rorl	$7,%eax
-	punpcklqdq	%xmm1,%xmm10
-	movl	%ebp,%edi
-	xorl	%ebx,%esi
-	pxor	%xmm3,%xmm2
-	roll	$5,%ebp
-	addl	%esi,%edx
-	movdqa	%xmm8,%xmm9
-	xorl	%eax,%edi
-	paddd	%xmm1,%xmm8
-	xorl	%ebx,%eax
-	pxor	%xmm10,%xmm2
-	addl	%ebp,%edx
-	addl	36(%rsp),%ecx
-	andl	%eax,%edi
-	xorl	%ebx,%eax
-	rorl	$7,%ebp
-	movdqa	%xmm2,%xmm10
-	movl	%edx,%esi
-	xorl	%eax,%edi
-	movdqa	%xmm8,16(%rsp)
-	roll	$5,%edx
-	addl	%edi,%ecx
-	xorl	%ebp,%esi
-	pslld	$2,%xmm2
-	xorl	%eax,%ebp
-	addl	%edx,%ecx
-	psrld	$30,%xmm10
-	addl	40(%rsp),%ebx
-	andl	%ebp,%esi
-	xorl	%eax,%ebp
-	por	%xmm10,%xmm2
-	rorl	$7,%edx
-	movl	%ecx,%edi
-	xorl	%ebp,%esi
-	roll	$5,%ecx
-	pshufd	$238,%xmm1,%xmm8
-	addl	%esi,%ebx
-	xorl	%edx,%edi
-	xorl	%ebp,%edx
-	addl	%ecx,%ebx
-	addl	44(%rsp),%eax
-	andl	%edx,%edi
-	xorl	%ebp,%edx
-	rorl	$7,%ecx
-	movl	%ebx,%esi
-	xorl	%edx,%edi
-	roll	$5,%ebx
-	addl	%edi,%eax
-	xorl	%edx,%esi
-	addl	%ebx,%eax
-	pxor	%xmm7,%xmm3
-	addl	48(%rsp),%ebp
-	xorl	%ecx,%esi
-	punpcklqdq	%xmm2,%xmm8
-	movl	%eax,%edi
-	roll	$5,%eax
-	pxor	%xmm4,%xmm3
-	addl	%esi,%ebp
-	xorl	%ecx,%edi
-	movdqa	%xmm9,%xmm10
-	rorl	$7,%ebx
-	paddd	%xmm2,%xmm9
-	addl	%eax,%ebp
-	pxor	%xmm8,%xmm3
-	addl	52(%rsp),%edx
-	xorl	%ebx,%edi
-	movl	%ebp,%esi
-	roll	$5,%ebp
-	movdqa	%xmm3,%xmm8
-	addl	%edi,%edx
-	xorl	%ebx,%esi
-	movdqa	%xmm9,32(%rsp)
-	rorl	$7,%eax
-	addl	%ebp,%edx
-	addl	56(%rsp),%ecx
-	pslld	$2,%xmm3
-	xorl	%eax,%esi
-	movl	%edx,%edi
-	psrld	$30,%xmm8
-	roll	$5,%edx
-	addl	%esi,%ecx
-	xorl	%eax,%edi
-	rorl	$7,%ebp
-	por	%xmm8,%xmm3
-	addl	%edx,%ecx
-	addl	60(%rsp),%ebx
-	xorl	%ebp,%edi
-	movl	%ecx,%esi
-	roll	$5,%ecx
-	addl	%edi,%ebx
-	xorl	%ebp,%esi
-	rorl	$7,%edx
-	addl	%ecx,%ebx
-	addl	0(%rsp),%eax
-	xorl	%edx,%esi
-	movl	%ebx,%edi
-	roll	$5,%ebx
-	paddd	%xmm3,%xmm10
-	addl	%esi,%eax
-	xorl	%edx,%edi
-	movdqa	%xmm10,48(%rsp)
-	rorl	$7,%ecx
-	addl	%ebx,%eax
-	addl	4(%rsp),%ebp
-	xorl	%ecx,%edi
-	movl	%eax,%esi
-	roll	$5,%eax
-	addl	%edi,%ebp
-	xorl	%ecx,%esi
-	rorl	$7,%ebx
-	addl	%eax,%ebp
-	addl	8(%rsp),%edx
-	xorl	%ebx,%esi
-	movl	%ebp,%edi
-	roll	$5,%ebp
-	addl	%esi,%edx
-	xorl	%ebx,%edi
-	rorl	$7,%eax
-	addl	%ebp,%edx
-	addl	12(%rsp),%ecx
-	xorl	%eax,%edi
-	movl	%edx,%esi
-	roll	$5,%edx
-	addl	%edi,%ecx
-	xorl	%eax,%esi
-	rorl	$7,%ebp
-	addl	%edx,%ecx
-	cmpq	%r10,%r9
-	je	.Ldone_ssse3
-	movdqa	64(%r14),%xmm6
-	movdqa	-64(%r14),%xmm9
-	movdqu	0(%r9),%xmm0
-	movdqu	16(%r9),%xmm1
-	movdqu	32(%r9),%xmm2
-	movdqu	48(%r9),%xmm3
-.byte	102,15,56,0,198
-	addq	$64,%r9
-	addl	16(%rsp),%ebx
-	xorl	%ebp,%esi
-	movl	%ecx,%edi
-.byte	102,15,56,0,206
-	roll	$5,%ecx
-	addl	%esi,%ebx
-	xorl	%ebp,%edi
-	rorl	$7,%edx
-	paddd	%xmm9,%xmm0
-	addl	%ecx,%ebx
-	addl	20(%rsp),%eax
-	xorl	%edx,%edi
-	movl	%ebx,%esi
-	movdqa	%xmm0,0(%rsp)
-	roll	$5,%ebx
-	addl	%edi,%eax
-	xorl	%edx,%esi
-	rorl	$7,%ecx
-	psubd	%xmm9,%xmm0
-	addl	%ebx,%eax
-	addl	24(%rsp),%ebp
-	xorl	%ecx,%esi
-	movl	%eax,%edi
-	roll	$5,%eax
-	addl	%esi,%ebp
-	xorl	%ecx,%edi
-	rorl	$7,%ebx
-	addl	%eax,%ebp
-	addl	28(%rsp),%edx
-	xorl	%ebx,%edi
-	movl	%ebp,%esi
-	roll	$5,%ebp
-	addl	%edi,%edx
-	xorl	%ebx,%esi
-	rorl	$7,%eax
-	addl	%ebp,%edx
-	addl	32(%rsp),%ecx
-	xorl	%eax,%esi
-	movl	%edx,%edi
-.byte	102,15,56,0,214
-	roll	$5,%edx
-	addl	%esi,%ecx
-	xorl	%eax,%edi
-	rorl	$7,%ebp
-	paddd	%xmm9,%xmm1
-	addl	%edx,%ecx
-	addl	36(%rsp),%ebx
-	xorl	%ebp,%edi
-	movl	%ecx,%esi
-	movdqa	%xmm1,16(%rsp)
-	roll	$5,%ecx
-	addl	%edi,%ebx
-	xorl	%ebp,%esi
-	rorl	$7,%edx
-	psubd	%xmm9,%xmm1
-	addl	%ecx,%ebx
-	addl	40(%rsp),%eax
-	xorl	%edx,%esi
-	movl	%ebx,%edi
-	roll	$5,%ebx
-	addl	%esi,%eax
-	xorl	%edx,%edi
-	rorl	$7,%ecx
-	addl	%ebx,%eax
-	addl	44(%rsp),%ebp
-	xorl	%ecx,%edi
-	movl	%eax,%esi
-	roll	$5,%eax
-	addl	%edi,%ebp
-	xorl	%ecx,%esi
-	rorl	$7,%ebx
-	addl	%eax,%ebp
-	addl	48(%rsp),%edx
-	xorl	%ebx,%esi
-	movl	%ebp,%edi
-.byte	102,15,56,0,222
-	roll	$5,%ebp
-	addl	%esi,%edx
-	xorl	%ebx,%edi
-	rorl	$7,%eax
-	paddd	%xmm9,%xmm2
-	addl	%ebp,%edx
-	addl	52(%rsp),%ecx
-	xorl	%eax,%edi
-	movl	%edx,%esi
-	movdqa	%xmm2,32(%rsp)
-	roll	$5,%edx
-	addl	%edi,%ecx
-	xorl	%eax,%esi
-	rorl	$7,%ebp
-	psubd	%xmm9,%xmm2
-	addl	%edx,%ecx
-	addl	56(%rsp),%ebx
-	xorl	%ebp,%esi
-	movl	%ecx,%edi
-	roll	$5,%ecx
-	addl	%esi,%ebx
-	xorl	%ebp,%edi
-	rorl	$7,%edx
-	addl	%ecx,%ebx
-	addl	60(%rsp),%eax
-	xorl	%edx,%edi
-	movl	%ebx,%esi
-	roll	$5,%ebx
-	addl	%edi,%eax
-	rorl	$7,%ecx
-	addl	%ebx,%eax
-	addl	0(%r8),%eax
-	addl	4(%r8),%esi
-	addl	8(%r8),%ecx
-	addl	12(%r8),%edx
-	movl	%eax,0(%r8)
-	addl	16(%r8),%ebp
-	movl	%esi,4(%r8)
-	movl	%esi,%ebx
-	movl	%ecx,8(%r8)
-	movl	%ecx,%edi
-	movl	%edx,12(%r8)
-	xorl	%edx,%edi
-	movl	%ebp,16(%r8)
-	andl	%edi,%esi
-	jmp	.Loop_ssse3
-
-.align	16
-.Ldone_ssse3:
-	addl	16(%rsp),%ebx
-	xorl	%ebp,%esi
-	movl	%ecx,%edi
-	roll	$5,%ecx
-	addl	%esi,%ebx
-	xorl	%ebp,%edi
-	rorl	$7,%edx
-	addl	%ecx,%ebx
-	addl	20(%rsp),%eax
-	xorl	%edx,%edi
-	movl	%ebx,%esi
-	roll	$5,%ebx
-	addl	%edi,%eax
-	xorl	%edx,%esi
-	rorl	$7,%ecx
-	addl	%ebx,%eax
-	addl	24(%rsp),%ebp
-	xorl	%ecx,%esi
-	movl	%eax,%edi
-	roll	$5,%eax
-	addl	%esi,%ebp
-	xorl	%ecx,%edi
-	rorl	$7,%ebx
-	addl	%eax,%ebp
-	addl	28(%rsp),%edx
-	xorl	%ebx,%edi
-	movl	%ebp,%esi
-	roll	$5,%ebp
-	addl	%edi,%edx
-	xorl	%ebx,%esi
-	rorl	$7,%eax
-	addl	%ebp,%edx
-	addl	32(%rsp),%ecx
-	xorl	%eax,%esi
-	movl	%edx,%edi
-	roll	$5,%edx
-	addl	%esi,%ecx
-	xorl	%eax,%edi
-	rorl	$7,%ebp
-	addl	%edx,%ecx
-	addl	36(%rsp),%ebx
-	xorl	%ebp,%edi
-	movl	%ecx,%esi
-	roll	$5,%ecx
-	addl	%edi,%ebx
-	xorl	%ebp,%esi
-	rorl	$7,%edx
-	addl	%ecx,%ebx
-	addl	40(%rsp),%eax
-	xorl	%edx,%esi
-	movl	%ebx,%edi
-	roll	$5,%ebx
-	addl	%esi,%eax
-	xorl	%edx,%edi
-	rorl	$7,%ecx
-	addl	%ebx,%eax
-	addl	44(%rsp),%ebp
-	xorl	%ecx,%edi
-	movl	%eax,%esi
-	roll	$5,%eax
-	addl	%edi,%ebp
-	xorl	%ecx,%esi
-	rorl	$7,%ebx
-	addl	%eax,%ebp
-	addl	48(%rsp),%edx
-	xorl	%ebx,%esi
-	movl	%ebp,%edi
-	roll	$5,%ebp
-	addl	%esi,%edx
-	xorl	%ebx,%edi
-	rorl	$7,%eax
-	addl	%ebp,%edx
-	addl	52(%rsp),%ecx
-	xorl	%eax,%edi
-	movl	%edx,%esi
-	roll	$5,%edx
-	addl	%edi,%ecx
-	xorl	%eax,%esi
-	rorl	$7,%ebp
-	addl	%edx,%ecx
-	addl	56(%rsp),%ebx
-	xorl	%ebp,%esi
-	movl	%ecx,%edi
-	roll	$5,%ecx
-	addl	%esi,%ebx
-	xorl	%ebp,%edi
-	rorl	$7,%edx
-	addl	%ecx,%ebx
-	addl	60(%rsp),%eax
-	xorl	%edx,%edi
-	movl	%ebx,%esi
-	roll	$5,%ebx
-	addl	%edi,%eax
-	rorl	$7,%ecx
-	addl	%ebx,%eax
-	addl	0(%r8),%eax
-	addl	4(%r8),%esi
-	addl	8(%r8),%ecx
-	movl	%eax,0(%r8)
-	addl	12(%r8),%edx
-	movl	%esi,4(%r8)
-	addl	16(%r8),%ebp
-	movl	%ecx,8(%r8)
-	movl	%edx,12(%r8)
-	movl	%ebp,16(%r8)
-	movq	-40(%r11),%r14
-	movq	-32(%r11),%r13
-	movq	-24(%r11),%r12
-	movq	-16(%r11),%rbp
-	movq	-8(%r11),%rbx
-	leaq	(%r11),%rsp
-.Lepilogue_ssse3:
-	.byte	0xf3,0xc3
-.size	sha1_block_data_order_ssse3,.-sha1_block_data_order_ssse3
-.type	sha1_block_data_order_avx,@function
-.align	16
-sha1_block_data_order_avx:
-_avx_shortcut:
-	movq	%rsp,%r11
-	pushq	%rbx
-	pushq	%rbp
-	pushq	%r12
-	pushq	%r13
-	pushq	%r14
-	leaq	-64(%rsp),%rsp
-	vzeroupper
-	andq	$-64,%rsp
-	movq	%rdi,%r8
-	movq	%rsi,%r9
-	movq	%rdx,%r10
-
-	shlq	$6,%r10
-	addq	%r9,%r10
-	leaq	K_XX_XX+64(%rip),%r14
-
-	movl	0(%r8),%eax
-	movl	4(%r8),%ebx
-	movl	8(%r8),%ecx
-	movl	12(%r8),%edx
-	movl	%ebx,%esi
-	movl	16(%r8),%ebp
-	movl	%ecx,%edi
-	xorl	%edx,%edi
-	andl	%edi,%esi
-
-	vmovdqa	64(%r14),%xmm6
-	vmovdqa	-64(%r14),%xmm11
-	vmovdqu	0(%r9),%xmm0
-	vmovdqu	16(%r9),%xmm1
-	vmovdqu	32(%r9),%xmm2
-	vmovdqu	48(%r9),%xmm3
-	vpshufb	%xmm6,%xmm0,%xmm0
-	addq	$64,%r9
-	vpshufb	%xmm6,%xmm1,%xmm1
-	vpshufb	%xmm6,%xmm2,%xmm2
-	vpshufb	%xmm6,%xmm3,%xmm3
-	vpaddd	%xmm11,%xmm0,%xmm4
-	vpaddd	%xmm11,%xmm1,%xmm5
-	vpaddd	%xmm11,%xmm2,%xmm6
-	vmovdqa	%xmm4,0(%rsp)
-	vmovdqa	%xmm5,16(%rsp)
-	vmovdqa	%xmm6,32(%rsp)
-	jmp	.Loop_avx
-.align	16
-.Loop_avx:
-	shrdl	$2,%ebx,%ebx
-	xorl	%edx,%esi
-	vpalignr	$8,%xmm0,%xmm1,%xmm4
-	movl	%eax,%edi
-	addl	0(%rsp),%ebp
-	vpaddd	%xmm3,%xmm11,%xmm9
-	xorl	%ecx,%ebx
-	shldl	$5,%eax,%eax
-	vpsrldq	$4,%xmm3,%xmm8
-	addl	%esi,%ebp
-	andl	%ebx,%edi
-	vpxor	%xmm0,%xmm4,%xmm4
-	xorl	%ecx,%ebx
-	addl	%eax,%ebp
-	vpxor	%xmm2,%xmm8,%xmm8
-	shrdl	$7,%eax,%eax
-	xorl	%ecx,%edi
-	movl	%ebp,%esi
-	addl	4(%rsp),%edx
-	vpxor	%xmm8,%xmm4,%xmm4
-	xorl	%ebx,%eax
-	shldl	$5,%ebp,%ebp
-	vmovdqa	%xmm9,48(%rsp)
-	addl	%edi,%edx
-	andl	%eax,%esi
-	vpsrld	$31,%xmm4,%xmm8
-	xorl	%ebx,%eax
-	addl	%ebp,%edx
-	shrdl	$7,%ebp,%ebp
-	xorl	%ebx,%esi
-	vpslldq	$12,%xmm4,%xmm10
-	vpaddd	%xmm4,%xmm4,%xmm4
-	movl	%edx,%edi
-	addl	8(%rsp),%ecx
-	xorl	%eax,%ebp
-	shldl	$5,%edx,%edx
-	vpsrld	$30,%xmm10,%xmm9
-	vpor	%xmm8,%xmm4,%xmm4
-	addl	%esi,%ecx
-	andl	%ebp,%edi
-	xorl	%eax,%ebp
-	addl	%edx,%ecx
-	vpslld	$2,%xmm10,%xmm10
-	vpxor	%xmm9,%xmm4,%xmm4
-	shrdl	$7,%edx,%edx
-	xorl	%eax,%edi
-	movl	%ecx,%esi
-	addl	12(%rsp),%ebx
-	vpxor	%xmm10,%xmm4,%xmm4
-	xorl	%ebp,%edx
-	shldl	$5,%ecx,%ecx
-	addl	%edi,%ebx
-	andl	%edx,%esi
-	xorl	%ebp,%edx
-	addl	%ecx,%ebx
-	shrdl	$7,%ecx,%ecx
-	xorl	%ebp,%esi
-	vpalignr	$8,%xmm1,%xmm2,%xmm5
-	movl	%ebx,%edi
-	addl	16(%rsp),%eax
-	vpaddd	%xmm4,%xmm11,%xmm9
-	xorl	%edx,%ecx
-	shldl	$5,%ebx,%ebx
-	vpsrldq	$4,%xmm4,%xmm8
-	addl	%esi,%eax
-	andl	%ecx,%edi
-	vpxor	%xmm1,%xmm5,%xmm5
-	xorl	%edx,%ecx
-	addl	%ebx,%eax
-	vpxor	%xmm3,%xmm8,%xmm8
-	shrdl	$7,%ebx,%ebx
-	xorl	%edx,%edi
-	movl	%eax,%esi
-	addl	20(%rsp),%ebp
-	vpxor	%xmm8,%xmm5,%xmm5
-	xorl	%ecx,%ebx
-	shldl	$5,%eax,%eax
-	vmovdqa	%xmm9,0(%rsp)
-	addl	%edi,%ebp
-	andl	%ebx,%esi
-	vpsrld	$31,%xmm5,%xmm8
-	xorl	%ecx,%ebx
-	addl	%eax,%ebp
-	shrdl	$7,%eax,%eax
-	xorl	%ecx,%esi
-	vpslldq	$12,%xmm5,%xmm10
-	vpaddd	%xmm5,%xmm5,%xmm5
-	movl	%ebp,%edi
-	addl	24(%rsp),%edx
-	xorl	%ebx,%eax
-	shldl	$5,%ebp,%ebp
-	vpsrld	$30,%xmm10,%xmm9
-	vpor	%xmm8,%xmm5,%xmm5
-	addl	%esi,%edx
-	andl	%eax,%edi
-	xorl	%ebx,%eax
-	addl	%ebp,%edx
-	vpslld	$2,%xmm10,%xmm10
-	vpxor	%xmm9,%xmm5,%xmm5
-	shrdl	$7,%ebp,%ebp
-	xorl	%ebx,%edi
-	movl	%edx,%esi
-	addl	28(%rsp),%ecx
-	vpxor	%xmm10,%xmm5,%xmm5
-	xorl	%eax,%ebp
-	shldl	$5,%edx,%edx
-	vmovdqa	-32(%r14),%xmm11
-	addl	%edi,%ecx
-	andl	%ebp,%esi
-	xorl	%eax,%ebp
-	addl	%edx,%ecx
-	shrdl	$7,%edx,%edx
-	xorl	%eax,%esi
-	vpalignr	$8,%xmm2,%xmm3,%xmm6
-	movl	%ecx,%edi
-	addl	32(%rsp),%ebx
-	vpaddd	%xmm5,%xmm11,%xmm9
-	xorl	%ebp,%edx
-	shldl	$5,%ecx,%ecx
-	vpsrldq	$4,%xmm5,%xmm8
-	addl	%esi,%ebx
-	andl	%edx,%edi
-	vpxor	%xmm2,%xmm6,%xmm6
-	xorl	%ebp,%edx
-	addl	%ecx,%ebx
-	vpxor	%xmm4,%xmm8,%xmm8
-	shrdl	$7,%ecx,%ecx
-	xorl	%ebp,%edi
-	movl	%ebx,%esi
-	addl	36(%rsp),%eax
-	vpxor	%xmm8,%xmm6,%xmm6
-	xorl	%edx,%ecx
-	shldl	$5,%ebx,%ebx
-	vmovdqa	%xmm9,16(%rsp)
-	addl	%edi,%eax
-	andl	%ecx,%esi
-	vpsrld	$31,%xmm6,%xmm8
-	xorl	%edx,%ecx
-	addl	%ebx,%eax
-	shrdl	$7,%ebx,%ebx
-	xorl	%edx,%esi
-	vpslldq	$12,%xmm6,%xmm10
-	vpaddd	%xmm6,%xmm6,%xmm6
-	movl	%eax,%edi
-	addl	40(%rsp),%ebp
-	xorl	%ecx,%ebx
-	shldl	$5,%eax,%eax
-	vpsrld	$30,%xmm10,%xmm9
-	vpor	%xmm8,%xmm6,%xmm6
-	addl	%esi,%ebp
-	andl	%ebx,%edi
-	xorl	%ecx,%ebx
-	addl	%eax,%ebp
-	vpslld	$2,%xmm10,%xmm10
-	vpxor	%xmm9,%xmm6,%xmm6
-	shrdl	$7,%eax,%eax
-	xorl	%ecx,%edi
-	movl	%ebp,%esi
-	addl	44(%rsp),%edx
-	vpxor	%xmm10,%xmm6,%xmm6
-	xorl	%ebx,%eax
-	shldl	$5,%ebp,%ebp
-	addl	%edi,%edx
-	andl	%eax,%esi
-	xorl	%ebx,%eax
-	addl	%ebp,%edx
-	shrdl	$7,%ebp,%ebp
-	xorl	%ebx,%esi
-	vpalignr	$8,%xmm3,%xmm4,%xmm7
-	movl	%edx,%edi
-	addl	48(%rsp),%ecx
-	vpaddd	%xmm6,%xmm11,%xmm9
-	xorl	%eax,%ebp
-	shldl	$5,%edx,%edx
-	vpsrldq	$4,%xmm6,%xmm8
-	addl	%esi,%ecx
-	andl	%ebp,%edi
-	vpxor	%xmm3,%xmm7,%xmm7
-	xorl	%eax,%ebp
-	addl	%edx,%ecx
-	vpxor	%xmm5,%xmm8,%xmm8
-	shrdl	$7,%edx,%edx
-	xorl	%eax,%edi
-	movl	%ecx,%esi
-	addl	52(%rsp),%ebx
-	vpxor	%xmm8,%xmm7,%xmm7
-	xorl	%ebp,%edx
-	shldl	$5,%ecx,%ecx
-	vmovdqa	%xmm9,32(%rsp)
-	addl	%edi,%ebx
-	andl	%edx,%esi
-	vpsrld	$31,%xmm7,%xmm8
-	xorl	%ebp,%edx
-	addl	%ecx,%ebx
-	shrdl	$7,%ecx,%ecx
-	xorl	%ebp,%esi
-	vpslldq	$12,%xmm7,%xmm10
-	vpaddd	%xmm7,%xmm7,%xmm7
-	movl	%ebx,%edi
-	addl	56(%rsp),%eax
-	xorl	%edx,%ecx
-	shldl	$5,%ebx,%ebx
-	vpsrld	$30,%xmm10,%xmm9
-	vpor	%xmm8,%xmm7,%xmm7
-	addl	%esi,%eax
-	andl	%ecx,%edi
-	xorl	%edx,%ecx
-	addl	%ebx,%eax
-	vpslld	$2,%xmm10,%xmm10
-	vpxor	%xmm9,%xmm7,%xmm7
-	shrdl	$7,%ebx,%ebx
-	xorl	%edx,%edi
-	movl	%eax,%esi
-	addl	60(%rsp),%ebp
-	vpxor	%xmm10,%xmm7,%xmm7
-	xorl	%ecx,%ebx
-	shldl	$5,%eax,%eax
-	addl	%edi,%ebp
-	andl	%ebx,%esi
-	xorl	%ecx,%ebx
-	addl	%eax,%ebp
-	vpalignr	$8,%xmm6,%xmm7,%xmm8
-	vpxor	%xmm4,%xmm0,%xmm0
-	shrdl	$7,%eax,%eax
-	xorl	%ecx,%esi
-	movl	%ebp,%edi
-	addl	0(%rsp),%edx
-	vpxor	%xmm1,%xmm0,%xmm0
-	xorl	%ebx,%eax
-	shldl	$5,%ebp,%ebp
-	vpaddd	%xmm7,%xmm11,%xmm9
-	addl	%esi,%edx
-	andl	%eax,%edi
-	vpxor	%xmm8,%xmm0,%xmm0
-	xorl	%ebx,%eax
-	addl	%ebp,%edx
-	shrdl	$7,%ebp,%ebp
-	xorl	%ebx,%edi
-	vpsrld	$30,%xmm0,%xmm8
-	vmovdqa	%xmm9,48(%rsp)
-	movl	%edx,%esi
-	addl	4(%rsp),%ecx
-	xorl	%eax,%ebp
-	shldl	$5,%edx,%edx
-	vpslld	$2,%xmm0,%xmm0
-	addl	%edi,%ecx
-	andl	%ebp,%esi
-	xorl	%eax,%ebp
-	addl	%edx,%ecx
-	shrdl	$7,%edx,%edx
-	xorl	%eax,%esi
-	movl	%ecx,%edi
-	addl	8(%rsp),%ebx
-	vpor	%xmm8,%xmm0,%xmm0
-	xorl	%ebp,%edx
-	shldl	$5,%ecx,%ecx
-	addl	%esi,%ebx
-	andl	%edx,%edi
-	xorl	%ebp,%edx
-	addl	%ecx,%ebx
-	addl	12(%rsp),%eax
-	xorl	%ebp,%edi
-	movl	%ebx,%esi
-	shldl	$5,%ebx,%ebx
-	addl	%edi,%eax
-	xorl	%edx,%esi
-	shrdl	$7,%ecx,%ecx
-	addl	%ebx,%eax
-	vpalignr	$8,%xmm7,%xmm0,%xmm8
-	vpxor	%xmm5,%xmm1,%xmm1
-	addl	16(%rsp),%ebp
-	xorl	%ecx,%esi
-	movl	%eax,%edi
-	shldl	$5,%eax,%eax
-	vpxor	%xmm2,%xmm1,%xmm1
-	addl	%esi,%ebp
-	xorl	%ecx,%edi
-	vpaddd	%xmm0,%xmm11,%xmm9
-	shrdl	$7,%ebx,%ebx
-	addl	%eax,%ebp
-	vpxor	%xmm8,%xmm1,%xmm1
-	addl	20(%rsp),%edx
-	xorl	%ebx,%edi
-	movl	%ebp,%esi
-	shldl	$5,%ebp,%ebp
-	vpsrld	$30,%xmm1,%xmm8
-	vmovdqa	%xmm9,0(%rsp)
-	addl	%edi,%edx
-	xorl	%ebx,%esi
-	shrdl	$7,%eax,%eax
-	addl	%ebp,%edx
-	vpslld	$2,%xmm1,%xmm1
-	addl	24(%rsp),%ecx
-	xorl	%eax,%esi
-	movl	%edx,%edi
-	shldl	$5,%edx,%edx
-	addl	%esi,%ecx
-	xorl	%eax,%edi
-	shrdl	$7,%ebp,%ebp
-	addl	%edx,%ecx
-	vpor	%xmm8,%xmm1,%xmm1
-	addl	28(%rsp),%ebx
-	xorl	%ebp,%edi
-	movl	%ecx,%esi
-	shldl	$5,%ecx,%ecx
-	addl	%edi,%ebx
-	xorl	%ebp,%esi
-	shrdl	$7,%edx,%edx
-	addl	%ecx,%ebx
-	vpalignr	$8,%xmm0,%xmm1,%xmm8
-	vpxor	%xmm6,%xmm2,%xmm2
-	addl	32(%rsp),%eax
-	xorl	%edx,%esi
-	movl	%ebx,%edi
-	shldl	$5,%ebx,%ebx
-	vpxor	%xmm3,%xmm2,%xmm2
-	addl	%esi,%eax
-	xorl	%edx,%edi
-	vpaddd	%xmm1,%xmm11,%xmm9
-	vmovdqa	0(%r14),%xmm11
-	shrdl	$7,%ecx,%ecx
-	addl	%ebx,%eax
-	vpxor	%xmm8,%xmm2,%xmm2
-	addl	36(%rsp),%ebp
-	xorl	%ecx,%edi
-	movl	%eax,%esi
-	shldl	$5,%eax,%eax
-	vpsrld	$30,%xmm2,%xmm8
-	vmovdqa	%xmm9,16(%rsp)
-	addl	%edi,%ebp
-	xorl	%ecx,%esi
-	shrdl	$7,%ebx,%ebx
-	addl	%eax,%ebp
-	vpslld	$2,%xmm2,%xmm2
-	addl	40(%rsp),%edx
-	xorl	%ebx,%esi
-	movl	%ebp,%edi
-	shldl	$5,%ebp,%ebp
-	addl	%esi,%edx
-	xorl	%ebx,%edi
-	shrdl	$7,%eax,%eax
-	addl	%ebp,%edx
-	vpor	%xmm8,%xmm2,%xmm2
-	addl	44(%rsp),%ecx
-	xorl	%eax,%edi
-	movl	%edx,%esi
-	shldl	$5,%edx,%edx
-	addl	%edi,%ecx
-	xorl	%eax,%esi
-	shrdl	$7,%ebp,%ebp
-	addl	%edx,%ecx
-	vpalignr	$8,%xmm1,%xmm2,%xmm8
-	vpxor	%xmm7,%xmm3,%xmm3
-	addl	48(%rsp),%ebx
-	xorl	%ebp,%esi
-	movl	%ecx,%edi
-	shldl	$5,%ecx,%ecx
-	vpxor	%xmm4,%xmm3,%xmm3
-	addl	%esi,%ebx
-	xorl	%ebp,%edi
-	vpaddd	%xmm2,%xmm11,%xmm9
-	shrdl	$7,%edx,%edx
-	addl	%ecx,%ebx
-	vpxor	%xmm8,%xmm3,%xmm3
-	addl	52(%rsp),%eax
-	xorl	%edx,%edi
-	movl	%ebx,%esi
-	shldl	$5,%ebx,%ebx
-	vpsrld	$30,%xmm3,%xmm8
-	vmovdqa	%xmm9,32(%rsp)
-	addl	%edi,%eax
-	xorl	%edx,%esi
-	shrdl	$7,%ecx,%ecx
-	addl	%ebx,%eax
-	vpslld	$2,%xmm3,%xmm3
-	addl	56(%rsp),%ebp
-	xorl	%ecx,%esi
-	movl	%eax,%edi
-	shldl	$5,%eax,%eax
-	addl	%esi,%ebp
-	xorl	%ecx,%edi
-	shrdl	$7,%ebx,%ebx
-	addl	%eax,%ebp
-	vpor	%xmm8,%xmm3,%xmm3
-	addl	60(%rsp),%edx
-	xorl	%ebx,%edi
-	movl	%ebp,%esi
-	shldl	$5,%ebp,%ebp
-	addl	%edi,%edx
-	xorl	%ebx,%esi
-	shrdl	$7,%eax,%eax
-	addl	%ebp,%edx
-	vpalignr	$8,%xmm2,%xmm3,%xmm8
-	vpxor	%xmm0,%xmm4,%xmm4
-	addl	0(%rsp),%ecx
-	xorl	%eax,%esi
-	movl	%edx,%edi
-	shldl	$5,%edx,%edx
-	vpxor	%xmm5,%xmm4,%xmm4
-	addl	%esi,%ecx
-	xorl	%eax,%edi
-	vpaddd	%xmm3,%xmm11,%xmm9
-	shrdl	$7,%ebp,%ebp
-	addl	%edx,%ecx
-	vpxor	%xmm8,%xmm4,%xmm4
-	addl	4(%rsp),%ebx
-	xorl	%ebp,%edi
-	movl	%ecx,%esi
-	shldl	$5,%ecx,%ecx
-	vpsrld	$30,%xmm4,%xmm8
-	vmovdqa	%xmm9,48(%rsp)
-	addl	%edi,%ebx
-	xorl	%ebp,%esi
-	shrdl	$7,%edx,%edx
-	addl	%ecx,%ebx
-	vpslld	$2,%xmm4,%xmm4
-	addl	8(%rsp),%eax
-	xorl	%edx,%esi
-	movl	%ebx,%edi
-	shldl	$5,%ebx,%ebx
-	addl	%esi,%eax
-	xorl	%edx,%edi
-	shrdl	$7,%ecx,%ecx
-	addl	%ebx,%eax
-	vpor	%xmm8,%xmm4,%xmm4
-	addl	12(%rsp),%ebp
-	xorl	%ecx,%edi
-	movl	%eax,%esi
-	shldl	$5,%eax,%eax
-	addl	%edi,%ebp
-	xorl	%ecx,%esi
-	shrdl	$7,%ebx,%ebx
-	addl	%eax,%ebp
-	vpalignr	$8,%xmm3,%xmm4,%xmm8
-	vpxor	%xmm1,%xmm5,%xmm5
-	addl	16(%rsp),%edx
-	xorl	%ebx,%esi
-	movl	%ebp,%edi
-	shldl	$5,%ebp,%ebp
-	vpxor	%xmm6,%xmm5,%xmm5
-	addl	%esi,%edx
-	xorl	%ebx,%edi
-	vpaddd	%xmm4,%xmm11,%xmm9
-	shrdl	$7,%eax,%eax
-	addl	%ebp,%edx
-	vpxor	%xmm8,%xmm5,%xmm5
-	addl	20(%rsp),%ecx
-	xorl	%eax,%edi
-	movl	%edx,%esi
-	shldl	$5,%edx,%edx
-	vpsrld	$30,%xmm5,%xmm8
-	vmovdqa	%xmm9,0(%rsp)
-	addl	%edi,%ecx
-	xorl	%eax,%esi
-	shrdl	$7,%ebp,%ebp
-	addl	%edx,%ecx
-	vpslld	$2,%xmm5,%xmm5
-	addl	24(%rsp),%ebx
-	xorl	%ebp,%esi
-	movl	%ecx,%edi
-	shldl	$5,%ecx,%ecx
-	addl	%esi,%ebx
-	xorl	%ebp,%edi
-	shrdl	$7,%edx,%edx
-	addl	%ecx,%ebx
-	vpor	%xmm8,%xmm5,%xmm5
-	addl	28(%rsp),%eax
-	shrdl	$7,%ecx,%ecx
-	movl	%ebx,%esi
-	xorl	%edx,%edi
-	shldl	$5,%ebx,%ebx
-	addl	%edi,%eax
-	xorl	%ecx,%esi
-	xorl	%edx,%ecx
-	addl	%ebx,%eax
-	vpalignr	$8,%xmm4,%xmm5,%xmm8
-	vpxor	%xmm2,%xmm6,%xmm6
-	addl	32(%rsp),%ebp
-	andl	%ecx,%esi
-	xorl	%edx,%ecx
-	shrdl	$7,%ebx,%ebx
-	vpxor	%xmm7,%xmm6,%xmm6
-	movl	%eax,%edi
-	xorl	%ecx,%esi
-	vpaddd	%xmm5,%xmm11,%xmm9
-	shldl	$5,%eax,%eax
-	addl	%esi,%ebp
-	vpxor	%xmm8,%xmm6,%xmm6
-	xorl	%ebx,%edi
-	xorl	%ecx,%ebx
-	addl	%eax,%ebp
-	addl	36(%rsp),%edx
-	vpsrld	$30,%xmm6,%xmm8
-	vmovdqa	%xmm9,16(%rsp)
-	andl	%ebx,%edi
-	xorl	%ecx,%ebx
-	shrdl	$7,%eax,%eax
-	movl	%ebp,%esi
-	vpslld	$2,%xmm6,%xmm6
-	xorl	%ebx,%edi
-	shldl	$5,%ebp,%ebp
-	addl	%edi,%edx
-	xorl	%eax,%esi
-	xorl	%ebx,%eax
-	addl	%ebp,%edx
-	addl	40(%rsp),%ecx
-	andl	%eax,%esi
-	vpor	%xmm8,%xmm6,%xmm6
-	xorl	%ebx,%eax
-	shrdl	$7,%ebp,%ebp
-	movl	%edx,%edi
-	xorl	%eax,%esi
-	shldl	$5,%edx,%edx
-	addl	%esi,%ecx
-	xorl	%ebp,%edi
-	xorl	%eax,%ebp
-	addl	%edx,%ecx
-	addl	44(%rsp),%ebx
-	andl	%ebp,%edi
-	xorl	%eax,%ebp
-	shrdl	$7,%edx,%edx
-	movl	%ecx,%esi
-	xorl	%ebp,%edi
-	shldl	$5,%ecx,%ecx
-	addl	%edi,%ebx
-	xorl	%edx,%esi
-	xorl	%ebp,%edx
-	addl	%ecx,%ebx
-	vpalignr	$8,%xmm5,%xmm6,%xmm8
-	vpxor	%xmm3,%xmm7,%xmm7
-	addl	48(%rsp),%eax
-	andl	%edx,%esi
-	xorl	%ebp,%edx
-	shrdl	$7,%ecx,%ecx
-	vpxor	%xmm0,%xmm7,%xmm7
-	movl	%ebx,%edi
-	xorl	%edx,%esi
-	vpaddd	%xmm6,%xmm11,%xmm9
-	vmovdqa	32(%r14),%xmm11
-	shldl	$5,%ebx,%ebx
-	addl	%esi,%eax
-	vpxor	%xmm8,%xmm7,%xmm7
-	xorl	%ecx,%edi
-	xorl	%edx,%ecx
-	addl	%ebx,%eax
-	addl	52(%rsp),%ebp
-	vpsrld	$30,%xmm7,%xmm8
-	vmovdqa	%xmm9,32(%rsp)
-	andl	%ecx,%edi
-	xorl	%edx,%ecx
-	shrdl	$7,%ebx,%ebx
-	movl	%eax,%esi
-	vpslld	$2,%xmm7,%xmm7
-	xorl	%ecx,%edi
-	shldl	$5,%eax,%eax
-	addl	%edi,%ebp
-	xorl	%ebx,%esi
-	xorl	%ecx,%ebx
-	addl	%eax,%ebp
-	addl	56(%rsp),%edx
-	andl	%ebx,%esi
-	vpor	%xmm8,%xmm7,%xmm7
-	xorl	%ecx,%ebx
-	shrdl	$7,%eax,%eax
-	movl	%ebp,%edi
-	xorl	%ebx,%esi
-	shldl	$5,%ebp,%ebp
-	addl	%esi,%edx
-	xorl	%eax,%edi
-	xorl	%ebx,%eax
-	addl	%ebp,%edx
-	addl	60(%rsp),%ecx
-	andl	%eax,%edi
-	xorl	%ebx,%eax
-	shrdl	$7,%ebp,%ebp
-	movl	%edx,%esi
-	xorl	%eax,%edi
-	shldl	$5,%edx,%edx
-	addl	%edi,%ecx
-	xorl	%ebp,%esi
-	xorl	%eax,%ebp
-	addl	%edx,%ecx
-	vpalignr	$8,%xmm6,%xmm7,%xmm8
-	vpxor	%xmm4,%xmm0,%xmm0
-	addl	0(%rsp),%ebx
-	andl	%ebp,%esi
-	xorl	%eax,%ebp
-	shrdl	$7,%edx,%edx
-	vpxor	%xmm1,%xmm0,%xmm0
-	movl	%ecx,%edi
-	xorl	%ebp,%esi
-	vpaddd	%xmm7,%xmm11,%xmm9
-	shldl	$5,%ecx,%ecx
-	addl	%esi,%ebx
-	vpxor	%xmm8,%xmm0,%xmm0
-	xorl	%edx,%edi
-	xorl	%ebp,%edx
-	addl	%ecx,%ebx
-	addl	4(%rsp),%eax
-	vpsrld	$30,%xmm0,%xmm8
-	vmovdqa	%xmm9,48(%rsp)
-	andl	%edx,%edi
-	xorl	%ebp,%edx
-	shrdl	$7,%ecx,%ecx
-	movl	%ebx,%esi
-	vpslld	$2,%xmm0,%xmm0
-	xorl	%edx,%edi
-	shldl	$5,%ebx,%ebx
-	addl	%edi,%eax
-	xorl	%ecx,%esi
-	xorl	%edx,%ecx
-	addl	%ebx,%eax
-	addl	8(%rsp),%ebp
-	andl	%ecx,%esi
-	vpor	%xmm8,%xmm0,%xmm0
-	xorl	%edx,%ecx
-	shrdl	$7,%ebx,%ebx
-	movl	%eax,%edi
-	xorl	%ecx,%esi
-	shldl	$5,%eax,%eax
-	addl	%esi,%ebp
-	xorl	%ebx,%edi
-	xorl	%ecx,%ebx
-	addl	%eax,%ebp
-	addl	12(%rsp),%edx
-	andl	%ebx,%edi
-	xorl	%ecx,%ebx
-	shrdl	$7,%eax,%eax
-	movl	%ebp,%esi
-	xorl	%ebx,%edi
-	shldl	$5,%ebp,%ebp
-	addl	%edi,%edx
-	xorl	%eax,%esi
-	xorl	%ebx,%eax
-	addl	%ebp,%edx
-	vpalignr	$8,%xmm7,%xmm0,%xmm8
-	vpxor	%xmm5,%xmm1,%xmm1
-	addl	16(%rsp),%ecx
-	andl	%eax,%esi
-	xorl	%ebx,%eax
-	shrdl	$7,%ebp,%ebp
-	vpxor	%xmm2,%xmm1,%xmm1
-	movl	%edx,%edi
-	xorl	%eax,%esi
-	vpaddd	%xmm0,%xmm11,%xmm9
-	shldl	$5,%edx,%edx
-	addl	%esi,%ecx
-	vpxor	%xmm8,%xmm1,%xmm1
-	xorl	%ebp,%edi
-	xorl	%eax,%ebp
-	addl	%edx,%ecx
-	addl	20(%rsp),%ebx
-	vpsrld	$30,%xmm1,%xmm8
-	vmovdqa	%xmm9,0(%rsp)
-	andl	%ebp,%edi
-	xorl	%eax,%ebp
-	shrdl	$7,%edx,%edx
-	movl	%ecx,%esi
-	vpslld	$2,%xmm1,%xmm1
-	xorl	%ebp,%edi
-	shldl	$5,%ecx,%ecx
-	addl	%edi,%ebx
-	xorl	%edx,%esi
-	xorl	%ebp,%edx
-	addl	%ecx,%ebx
-	addl	24(%rsp),%eax
-	andl	%edx,%esi
-	vpor	%xmm8,%xmm1,%xmm1
-	xorl	%ebp,%edx
-	shrdl	$7,%ecx,%ecx
-	movl	%ebx,%edi
-	xorl	%edx,%esi
-	shldl	$5,%ebx,%ebx
-	addl	%esi,%eax
-	xorl	%ecx,%edi
-	xorl	%edx,%ecx
-	addl	%ebx,%eax
-	addl	28(%rsp),%ebp
-	andl	%ecx,%edi
-	xorl	%edx,%ecx
-	shrdl	$7,%ebx,%ebx
-	movl	%eax,%esi
-	xorl	%ecx,%edi
-	shldl	$5,%eax,%eax
-	addl	%edi,%ebp
-	xorl	%ebx,%esi
-	xorl	%ecx,%ebx
-	addl	%eax,%ebp
-	vpalignr	$8,%xmm0,%xmm1,%xmm8
-	vpxor	%xmm6,%xmm2,%xmm2
-	addl	32(%rsp),%edx
-	andl	%ebx,%esi
-	xorl	%ecx,%ebx
-	shrdl	$7,%eax,%eax
-	vpxor	%xmm3,%xmm2,%xmm2
-	movl	%ebp,%edi
-	xorl	%ebx,%esi
-	vpaddd	%xmm1,%xmm11,%xmm9
-	shldl	$5,%ebp,%ebp
-	addl	%esi,%edx
-	vpxor	%xmm8,%xmm2,%xmm2
-	xorl	%eax,%edi
-	xorl	%ebx,%eax
-	addl	%ebp,%edx
-	addl	36(%rsp),%ecx
-	vpsrld	$30,%xmm2,%xmm8
-	vmovdqa	%xmm9,16(%rsp)
-	andl	%eax,%edi
-	xorl	%ebx,%eax
-	shrdl	$7,%ebp,%ebp
-	movl	%edx,%esi
-	vpslld	$2,%xmm2,%xmm2
-	xorl	%eax,%edi
-	shldl	$5,%edx,%edx
-	addl	%edi,%ecx
-	xorl	%ebp,%esi
-	xorl	%eax,%ebp
-	addl	%edx,%ecx
-	addl	40(%rsp),%ebx
-	andl	%ebp,%esi
-	vpor	%xmm8,%xmm2,%xmm2
-	xorl	%eax,%ebp
-	shrdl	$7,%edx,%edx
-	movl	%ecx,%edi
-	xorl	%ebp,%esi
-	shldl	$5,%ecx,%ecx
-	addl	%esi,%ebx
-	xorl	%edx,%edi
-	xorl	%ebp,%edx
-	addl	%ecx,%ebx
-	addl	44(%rsp),%eax
-	andl	%edx,%edi
-	xorl	%ebp,%edx
-	shrdl	$7,%ecx,%ecx
-	movl	%ebx,%esi
-	xorl	%edx,%edi
-	shldl	$5,%ebx,%ebx
-	addl	%edi,%eax
-	xorl	%edx,%esi
-	addl	%ebx,%eax
-	vpalignr	$8,%xmm1,%xmm2,%xmm8
-	vpxor	%xmm7,%xmm3,%xmm3
-	addl	48(%rsp),%ebp
-	xorl	%ecx,%esi
-	movl	%eax,%edi
-	shldl	$5,%eax,%eax
-	vpxor	%xmm4,%xmm3,%xmm3
-	addl	%esi,%ebp
-	xorl	%ecx,%edi
-	vpaddd	%xmm2,%xmm11,%xmm9
-	shrdl	$7,%ebx,%ebx
-	addl	%eax,%ebp
-	vpxor	%xmm8,%xmm3,%xmm3
-	addl	52(%rsp),%edx
-	xorl	%ebx,%edi
-	movl	%ebp,%esi
-	shldl	$5,%ebp,%ebp
-	vpsrld	$30,%xmm3,%xmm8
-	vmovdqa	%xmm9,32(%rsp)
-	addl	%edi,%edx
-	xorl	%ebx,%esi
-	shrdl	$7,%eax,%eax
-	addl	%ebp,%edx
-	vpslld	$2,%xmm3,%xmm3
-	addl	56(%rsp),%ecx
-	xorl	%eax,%esi
-	movl	%edx,%edi
-	shldl	$5,%edx,%edx
-	addl	%esi,%ecx
-	xorl	%eax,%edi
-	shrdl	$7,%ebp,%ebp
-	addl	%edx,%ecx
-	vpor	%xmm8,%xmm3,%xmm3
-	addl	60(%rsp),%ebx
-	xorl	%ebp,%edi
-	movl	%ecx,%esi
-	shldl	$5,%ecx,%ecx
-	addl	%edi,%ebx
-	xorl	%ebp,%esi
-	shrdl	$7,%edx,%edx
-	addl	%ecx,%ebx
-	addl	0(%rsp),%eax
-	vpaddd	%xmm3,%xmm11,%xmm9
-	xorl	%edx,%esi
-	movl	%ebx,%edi
-	shldl	$5,%ebx,%ebx
-	addl	%esi,%eax
-	vmovdqa	%xmm9,48(%rsp)
-	xorl	%edx,%edi
-	shrdl	$7,%ecx,%ecx
-	addl	%ebx,%eax
-	addl	4(%rsp),%ebp
-	xorl	%ecx,%edi
-	movl	%eax,%esi
-	shldl	$5,%eax,%eax
-	addl	%edi,%ebp
-	xorl	%ecx,%esi
-	shrdl	$7,%ebx,%ebx
-	addl	%eax,%ebp
-	addl	8(%rsp),%edx
-	xorl	%ebx,%esi
-	movl	%ebp,%edi
-	shldl	$5,%ebp,%ebp
-	addl	%esi,%edx
-	xorl	%ebx,%edi
-	shrdl	$7,%eax,%eax
-	addl	%ebp,%edx
-	addl	12(%rsp),%ecx
-	xorl	%eax,%edi
-	movl	%edx,%esi
-	shldl	$5,%edx,%edx
-	addl	%edi,%ecx
-	xorl	%eax,%esi
-	shrdl	$7,%ebp,%ebp
-	addl	%edx,%ecx
-	cmpq	%r10,%r9
-	je	.Ldone_avx
-	vmovdqa	64(%r14),%xmm6
-	vmovdqa	-64(%r14),%xmm11
-	vmovdqu	0(%r9),%xmm0
-	vmovdqu	16(%r9),%xmm1
-	vmovdqu	32(%r9),%xmm2
-	vmovdqu	48(%r9),%xmm3
-	vpshufb	%xmm6,%xmm0,%xmm0
-	addq	$64,%r9
-	addl	16(%rsp),%ebx
-	xorl	%ebp,%esi
-	vpshufb	%xmm6,%xmm1,%xmm1
-	movl	%ecx,%edi
-	shldl	$5,%ecx,%ecx
-	vpaddd	%xmm11,%xmm0,%xmm4
-	addl	%esi,%ebx
-	xorl	%ebp,%edi
-	shrdl	$7,%edx,%edx
-	addl	%ecx,%ebx
-	vmovdqa	%xmm4,0(%rsp)
-	addl	20(%rsp),%eax
-	xorl	%edx,%edi
-	movl	%ebx,%esi
-	shldl	$5,%ebx,%ebx
-	addl	%edi,%eax
-	xorl	%edx,%esi
-	shrdl	$7,%ecx,%ecx
-	addl	%ebx,%eax
-	addl	24(%rsp),%ebp
-	xorl	%ecx,%esi
-	movl	%eax,%edi
-	shldl	$5,%eax,%eax
-	addl	%esi,%ebp
-	xorl	%ecx,%edi
-	shrdl	$7,%ebx,%ebx
-	addl	%eax,%ebp
-	addl	28(%rsp),%edx
-	xorl	%ebx,%edi
-	movl	%ebp,%esi
-	shldl	$5,%ebp,%ebp
-	addl	%edi,%edx
-	xorl	%ebx,%esi
-	shrdl	$7,%eax,%eax
-	addl	%ebp,%edx
-	addl	32(%rsp),%ecx
-	xorl	%eax,%esi
-	vpshufb	%xmm6,%xmm2,%xmm2
-	movl	%edx,%edi
-	shldl	$5,%edx,%edx
-	vpaddd	%xmm11,%xmm1,%xmm5
-	addl	%esi,%ecx
-	xorl	%eax,%edi
-	shrdl	$7,%ebp,%ebp
-	addl	%edx,%ecx
-	vmovdqa	%xmm5,16(%rsp)
-	addl	36(%rsp),%ebx
-	xorl	%ebp,%edi
-	movl	%ecx,%esi
-	shldl	$5,%ecx,%ecx
-	addl	%edi,%ebx
-	xorl	%ebp,%esi
-	shrdl	$7,%edx,%edx
-	addl	%ecx,%ebx
-	addl	40(%rsp),%eax
-	xorl	%edx,%esi
-	movl	%ebx,%edi
-	shldl	$5,%ebx,%ebx
-	addl	%esi,%eax
-	xorl	%edx,%edi
-	shrdl	$7,%ecx,%ecx
-	addl	%ebx,%eax
-	addl	44(%rsp),%ebp
-	xorl	%ecx,%edi
-	movl	%eax,%esi
-	shldl	$5,%eax,%eax
-	addl	%edi,%ebp
-	xorl	%ecx,%esi
-	shrdl	$7,%ebx,%ebx
-	addl	%eax,%ebp
-	addl	48(%rsp),%edx
-	xorl	%ebx,%esi
-	vpshufb	%xmm6,%xmm3,%xmm3
-	movl	%ebp,%edi
-	shldl	$5,%ebp,%ebp
-	vpaddd	%xmm11,%xmm2,%xmm6
-	addl	%esi,%edx
-	xorl	%ebx,%edi
-	shrdl	$7,%eax,%eax
-	addl	%ebp,%edx
-	vmovdqa	%xmm6,32(%rsp)
-	addl	52(%rsp),%ecx
-	xorl	%eax,%edi
-	movl	%edx,%esi
-	shldl	$5,%edx,%edx
-	addl	%edi,%ecx
-	xorl	%eax,%esi
-	shrdl	$7,%ebp,%ebp
-	addl	%edx,%ecx
-	addl	56(%rsp),%ebx
-	xorl	%ebp,%esi
-	movl	%ecx,%edi
-	shldl	$5,%ecx,%ecx
-	addl	%esi,%ebx
-	xorl	%ebp,%edi
-	shrdl	$7,%edx,%edx
-	addl	%ecx,%ebx
-	addl	60(%rsp),%eax
-	xorl	%edx,%edi
-	movl	%ebx,%esi
-	shldl	$5,%ebx,%ebx
-	addl	%edi,%eax
-	shrdl	$7,%ecx,%ecx
-	addl	%ebx,%eax
-	addl	0(%r8),%eax
-	addl	4(%r8),%esi
-	addl	8(%r8),%ecx
-	addl	12(%r8),%edx
-	movl	%eax,0(%r8)
-	addl	16(%r8),%ebp
-	movl	%esi,4(%r8)
-	movl	%esi,%ebx
-	movl	%ecx,8(%r8)
-	movl	%ecx,%edi
-	movl	%edx,12(%r8)
-	xorl	%edx,%edi
-	movl	%ebp,16(%r8)
-	andl	%edi,%esi
-	jmp	.Loop_avx
-
-.align	16
-.Ldone_avx:
-	addl	16(%rsp),%ebx
-	xorl	%ebp,%esi
-	movl	%ecx,%edi
-	shldl	$5,%ecx,%ecx
-	addl	%esi,%ebx
-	xorl	%ebp,%edi
-	shrdl	$7,%edx,%edx
-	addl	%ecx,%ebx
-	addl	20(%rsp),%eax
-	xorl	%edx,%edi
-	movl	%ebx,%esi
-	shldl	$5,%ebx,%ebx
-	addl	%edi,%eax
-	xorl	%edx,%esi
-	shrdl	$7,%ecx,%ecx
-	addl	%ebx,%eax
-	addl	24(%rsp),%ebp
-	xorl	%ecx,%esi
-	movl	%eax,%edi
-	shldl	$5,%eax,%eax
-	addl	%esi,%ebp
-	xorl	%ecx,%edi
-	shrdl	$7,%ebx,%ebx
-	addl	%eax,%ebp
-	addl	28(%rsp),%edx
-	xorl	%ebx,%edi
-	movl	%ebp,%esi
-	shldl	$5,%ebp,%ebp
-	addl	%edi,%edx
-	xorl	%ebx,%esi
-	shrdl	$7,%eax,%eax
-	addl	%ebp,%edx
-	addl	32(%rsp),%ecx
-	xorl	%eax,%esi
-	movl	%edx,%edi
-	shldl	$5,%edx,%edx
-	addl	%esi,%ecx
-	xorl	%eax,%edi
-	shrdl	$7,%ebp,%ebp
-	addl	%edx,%ecx
-	addl	36(%rsp),%ebx
-	xorl	%ebp,%edi
-	movl	%ecx,%esi
-	shldl	$5,%ecx,%ecx
-	addl	%edi,%ebx
-	xorl	%ebp,%esi
-	shrdl	$7,%edx,%edx
-	addl	%ecx,%ebx
-	addl	40(%rsp),%eax
-	xorl	%edx,%esi
-	movl	%ebx,%edi
-	shldl	$5,%ebx,%ebx
-	addl	%esi,%eax
-	xorl	%edx,%edi
-	shrdl	$7,%ecx,%ecx
-	addl	%ebx,%eax
-	addl	44(%rsp),%ebp
-	xorl	%ecx,%edi
-	movl	%eax,%esi
-	shldl	$5,%eax,%eax
-	addl	%edi,%ebp
-	xorl	%ecx,%esi
-	shrdl	$7,%ebx,%ebx
-	addl	%eax,%ebp
-	addl	48(%rsp),%edx
-	xorl	%ebx,%esi
-	movl	%ebp,%edi
-	shldl	$5,%ebp,%ebp
-	addl	%esi,%edx
-	xorl	%ebx,%edi
-	shrdl	$7,%eax,%eax
-	addl	%ebp,%edx
-	addl	52(%rsp),%ecx
-	xorl	%eax,%edi
-	movl	%edx,%esi
-	shldl	$5,%edx,%edx
-	addl	%edi,%ecx
-	xorl	%eax,%esi
-	shrdl	$7,%ebp,%ebp
-	addl	%edx,%ecx
-	addl	56(%rsp),%ebx
-	xorl	%ebp,%esi
-	movl	%ecx,%edi
-	shldl	$5,%ecx,%ecx
-	addl	%esi,%ebx
-	xorl	%ebp,%edi
-	shrdl	$7,%edx,%edx
-	addl	%ecx,%ebx
-	addl	60(%rsp),%eax
-	xorl	%edx,%edi
-	movl	%ebx,%esi
-	shldl	$5,%ebx,%ebx
-	addl	%edi,%eax
-	shrdl	$7,%ecx,%ecx
-	addl	%ebx,%eax
-	vzeroupper
-
-	addl	0(%r8),%eax
-	addl	4(%r8),%esi
-	addl	8(%r8),%ecx
-	movl	%eax,0(%r8)
-	addl	12(%r8),%edx
-	movl	%esi,4(%r8)
-	addl	16(%r8),%ebp
-	movl	%ecx,8(%r8)
-	movl	%edx,12(%r8)
-	movl	%ebp,16(%r8)
-	movq	-40(%r11),%r14
-	movq	-32(%r11),%r13
-	movq	-24(%r11),%r12
-	movq	-16(%r11),%rbp
-	movq	-8(%r11),%rbx
-	leaq	(%r11),%rsp
-.Lepilogue_avx:
-	.byte	0xf3,0xc3
-.size	sha1_block_data_order_avx,.-sha1_block_data_order_avx
-.align	64
-K_XX_XX:
-.long	0x5a827999,0x5a827999,0x5a827999,0x5a827999
-.long	0x5a827999,0x5a827999,0x5a827999,0x5a827999
-.long	0x6ed9eba1,0x6ed9eba1,0x6ed9eba1,0x6ed9eba1
-.long	0x6ed9eba1,0x6ed9eba1,0x6ed9eba1,0x6ed9eba1
-.long	0x8f1bbcdc,0x8f1bbcdc,0x8f1bbcdc,0x8f1bbcdc
-.long	0x8f1bbcdc,0x8f1bbcdc,0x8f1bbcdc,0x8f1bbcdc
-.long	0xca62c1d6,0xca62c1d6,0xca62c1d6,0xca62c1d6
-.long	0xca62c1d6,0xca62c1d6,0xca62c1d6,0xca62c1d6
-.long	0x00010203,0x04050607,0x08090a0b,0x0c0d0e0f
-.long	0x00010203,0x04050607,0x08090a0b,0x0c0d0e0f
-.byte	0xf,0xe,0xd,0xc,0xb,0xa,0x9,0x8,0x7,0x6,0x5,0x4,0x3,0x2,0x1,0x0
-.byte	83,72,65,49,32,98,108,111,99,107,32,116,114,97,110,115,102,111,114,109,32,102,111,114,32,120,56,54,95,54,52,44,32,67,82,89,80,84,79,71,65,77,83,32,98,121,32,60,97,112,112,114,111,64,111,112,101,110,115,115,108,46,111,114,103,62,0
-.align	64
-#endif
diff --git a/third_party/boringssl/linux-x86_64/crypto/sha/sha256-x86_64.S b/third_party/boringssl/linux-x86_64/crypto/sha/sha256-x86_64.S
deleted file mode 100644
index 62534be..0000000
--- a/third_party/boringssl/linux-x86_64/crypto/sha/sha256-x86_64.S
+++ /dev/null
@@ -1,3906 +0,0 @@
-#if defined(__x86_64__) && !defined(OPENSSL_NO_ASM)
-.text	
-
-.extern	OPENSSL_ia32cap_P
-.hidden OPENSSL_ia32cap_P
-.globl	sha256_block_data_order
-.hidden sha256_block_data_order
-.type	sha256_block_data_order,@function
-.align	16
-sha256_block_data_order:
-	leaq	OPENSSL_ia32cap_P(%rip),%r11
-	movl	0(%r11),%r9d
-	movl	4(%r11),%r10d
-	movl	8(%r11),%r11d
-	andl	$1073741824,%r9d
-	andl	$268435968,%r10d
-	orl	%r9d,%r10d
-	cmpl	$1342177792,%r10d
-	je	.Lavx_shortcut
-	testl	$512,%r10d
-	jnz	.Lssse3_shortcut
-	movq	%rsp,%rax
-	pushq	%rbx
-	pushq	%rbp
-	pushq	%r12
-	pushq	%r13
-	pushq	%r14
-	pushq	%r15
-	shlq	$4,%rdx
-	subq	$64+32,%rsp
-	leaq	(%rsi,%rdx,4),%rdx
-	andq	$-64,%rsp
-	movq	%rdi,64+0(%rsp)
-	movq	%rsi,64+8(%rsp)
-	movq	%rdx,64+16(%rsp)
-	movq	%rax,64+24(%rsp)
-.Lprologue:
-
-	movl	0(%rdi),%eax
-	movl	4(%rdi),%ebx
-	movl	8(%rdi),%ecx
-	movl	12(%rdi),%edx
-	movl	16(%rdi),%r8d
-	movl	20(%rdi),%r9d
-	movl	24(%rdi),%r10d
-	movl	28(%rdi),%r11d
-	jmp	.Lloop
-
-.align	16
-.Lloop:
-	movl	%ebx,%edi
-	leaq	K256(%rip),%rbp
-	xorl	%ecx,%edi
-	movl	0(%rsi),%r12d
-	movl	%r8d,%r13d
-	movl	%eax,%r14d
-	bswapl	%r12d
-	rorl	$14,%r13d
-	movl	%r9d,%r15d
-
-	xorl	%r8d,%r13d
-	rorl	$9,%r14d
-	xorl	%r10d,%r15d
-
-	movl	%r12d,0(%rsp)
-	xorl	%eax,%r14d
-	andl	%r8d,%r15d
-
-	rorl	$5,%r13d
-	addl	%r11d,%r12d
-	xorl	%r10d,%r15d
-
-	rorl	$11,%r14d
-	xorl	%r8d,%r13d
-	addl	%r15d,%r12d
-
-	movl	%eax,%r15d
-	addl	(%rbp),%r12d
-	xorl	%eax,%r14d
-
-	xorl	%ebx,%r15d
-	rorl	$6,%r13d
-	movl	%ebx,%r11d
-
-	andl	%r15d,%edi
-	rorl	$2,%r14d
-	addl	%r13d,%r12d
-
-	xorl	%edi,%r11d
-	addl	%r12d,%edx
-	addl	%r12d,%r11d
-
-	leaq	4(%rbp),%rbp
-	addl	%r14d,%r11d
-	movl	4(%rsi),%r12d
-	movl	%edx,%r13d
-	movl	%r11d,%r14d
-	bswapl	%r12d
-	rorl	$14,%r13d
-	movl	%r8d,%edi
-
-	xorl	%edx,%r13d
-	rorl	$9,%r14d
-	xorl	%r9d,%edi
-
-	movl	%r12d,4(%rsp)
-	xorl	%r11d,%r14d
-	andl	%edx,%edi
-
-	rorl	$5,%r13d
-	addl	%r10d,%r12d
-	xorl	%r9d,%edi
-
-	rorl	$11,%r14d
-	xorl	%edx,%r13d
-	addl	%edi,%r12d
-
-	movl	%r11d,%edi
-	addl	(%rbp),%r12d
-	xorl	%r11d,%r14d
-
-	xorl	%eax,%edi
-	rorl	$6,%r13d
-	movl	%eax,%r10d
-
-	andl	%edi,%r15d
-	rorl	$2,%r14d
-	addl	%r13d,%r12d
-
-	xorl	%r15d,%r10d
-	addl	%r12d,%ecx
-	addl	%r12d,%r10d
-
-	leaq	4(%rbp),%rbp
-	addl	%r14d,%r10d
-	movl	8(%rsi),%r12d
-	movl	%ecx,%r13d
-	movl	%r10d,%r14d
-	bswapl	%r12d
-	rorl	$14,%r13d
-	movl	%edx,%r15d
-
-	xorl	%ecx,%r13d
-	rorl	$9,%r14d
-	xorl	%r8d,%r15d
-
-	movl	%r12d,8(%rsp)
-	xorl	%r10d,%r14d
-	andl	%ecx,%r15d
-
-	rorl	$5,%r13d
-	addl	%r9d,%r12d
-	xorl	%r8d,%r15d
-
-	rorl	$11,%r14d
-	xorl	%ecx,%r13d
-	addl	%r15d,%r12d
-
-	movl	%r10d,%r15d
-	addl	(%rbp),%r12d
-	xorl	%r10d,%r14d
-
-	xorl	%r11d,%r15d
-	rorl	$6,%r13d
-	movl	%r11d,%r9d
-
-	andl	%r15d,%edi
-	rorl	$2,%r14d
-	addl	%r13d,%r12d
-
-	xorl	%edi,%r9d
-	addl	%r12d,%ebx
-	addl	%r12d,%r9d
-
-	leaq	4(%rbp),%rbp
-	addl	%r14d,%r9d
-	movl	12(%rsi),%r12d
-	movl	%ebx,%r13d
-	movl	%r9d,%r14d
-	bswapl	%r12d
-	rorl	$14,%r13d
-	movl	%ecx,%edi
-
-	xorl	%ebx,%r13d
-	rorl	$9,%r14d
-	xorl	%edx,%edi
-
-	movl	%r12d,12(%rsp)
-	xorl	%r9d,%r14d
-	andl	%ebx,%edi
-
-	rorl	$5,%r13d
-	addl	%r8d,%r12d
-	xorl	%edx,%edi
-
-	rorl	$11,%r14d
-	xorl	%ebx,%r13d
-	addl	%edi,%r12d
-
-	movl	%r9d,%edi
-	addl	(%rbp),%r12d
-	xorl	%r9d,%r14d
-
-	xorl	%r10d,%edi
-	rorl	$6,%r13d
-	movl	%r10d,%r8d
-
-	andl	%edi,%r15d
-	rorl	$2,%r14d
-	addl	%r13d,%r12d
-
-	xorl	%r15d,%r8d
-	addl	%r12d,%eax
-	addl	%r12d,%r8d
-
-	leaq	20(%rbp),%rbp
-	addl	%r14d,%r8d
-	movl	16(%rsi),%r12d
-	movl	%eax,%r13d
-	movl	%r8d,%r14d
-	bswapl	%r12d
-	rorl	$14,%r13d
-	movl	%ebx,%r15d
-
-	xorl	%eax,%r13d
-	rorl	$9,%r14d
-	xorl	%ecx,%r15d
-
-	movl	%r12d,16(%rsp)
-	xorl	%r8d,%r14d
-	andl	%eax,%r15d
-
-	rorl	$5,%r13d
-	addl	%edx,%r12d
-	xorl	%ecx,%r15d
-
-	rorl	$11,%r14d
-	xorl	%eax,%r13d
-	addl	%r15d,%r12d
-
-	movl	%r8d,%r15d
-	addl	(%rbp),%r12d
-	xorl	%r8d,%r14d
-
-	xorl	%r9d,%r15d
-	rorl	$6,%r13d
-	movl	%r9d,%edx
-
-	andl	%r15d,%edi
-	rorl	$2,%r14d
-	addl	%r13d,%r12d
-
-	xorl	%edi,%edx
-	addl	%r12d,%r11d
-	addl	%r12d,%edx
-
-	leaq	4(%rbp),%rbp
-	addl	%r14d,%edx
-	movl	20(%rsi),%r12d
-	movl	%r11d,%r13d
-	movl	%edx,%r14d
-	bswapl	%r12d
-	rorl	$14,%r13d
-	movl	%eax,%edi
-
-	xorl	%r11d,%r13d
-	rorl	$9,%r14d
-	xorl	%ebx,%edi
-
-	movl	%r12d,20(%rsp)
-	xorl	%edx,%r14d
-	andl	%r11d,%edi
-
-	rorl	$5,%r13d
-	addl	%ecx,%r12d
-	xorl	%ebx,%edi
-
-	rorl	$11,%r14d
-	xorl	%r11d,%r13d
-	addl	%edi,%r12d
-
-	movl	%edx,%edi
-	addl	(%rbp),%r12d
-	xorl	%edx,%r14d
-
-	xorl	%r8d,%edi
-	rorl	$6,%r13d
-	movl	%r8d,%ecx
-
-	andl	%edi,%r15d
-	rorl	$2,%r14d
-	addl	%r13d,%r12d
-
-	xorl	%r15d,%ecx
-	addl	%r12d,%r10d
-	addl	%r12d,%ecx
-
-	leaq	4(%rbp),%rbp
-	addl	%r14d,%ecx
-	movl	24(%rsi),%r12d
-	movl	%r10d,%r13d
-	movl	%ecx,%r14d
-	bswapl	%r12d
-	rorl	$14,%r13d
-	movl	%r11d,%r15d
-
-	xorl	%r10d,%r13d
-	rorl	$9,%r14d
-	xorl	%eax,%r15d
-
-	movl	%r12d,24(%rsp)
-	xorl	%ecx,%r14d
-	andl	%r10d,%r15d
-
-	rorl	$5,%r13d
-	addl	%ebx,%r12d
-	xorl	%eax,%r15d
-
-	rorl	$11,%r14d
-	xorl	%r10d,%r13d
-	addl	%r15d,%r12d
-
-	movl	%ecx,%r15d
-	addl	(%rbp),%r12d
-	xorl	%ecx,%r14d
-
-	xorl	%edx,%r15d
-	rorl	$6,%r13d
-	movl	%edx,%ebx
-
-	andl	%r15d,%edi
-	rorl	$2,%r14d
-	addl	%r13d,%r12d
-
-	xorl	%edi,%ebx
-	addl	%r12d,%r9d
-	addl	%r12d,%ebx
-
-	leaq	4(%rbp),%rbp
-	addl	%r14d,%ebx
-	movl	28(%rsi),%r12d
-	movl	%r9d,%r13d
-	movl	%ebx,%r14d
-	bswapl	%r12d
-	rorl	$14,%r13d
-	movl	%r10d,%edi
-
-	xorl	%r9d,%r13d
-	rorl	$9,%r14d
-	xorl	%r11d,%edi
-
-	movl	%r12d,28(%rsp)
-	xorl	%ebx,%r14d
-	andl	%r9d,%edi
-
-	rorl	$5,%r13d
-	addl	%eax,%r12d
-	xorl	%r11d,%edi
-
-	rorl	$11,%r14d
-	xorl	%r9d,%r13d
-	addl	%edi,%r12d
-
-	movl	%ebx,%edi
-	addl	(%rbp),%r12d
-	xorl	%ebx,%r14d
-
-	xorl	%ecx,%edi
-	rorl	$6,%r13d
-	movl	%ecx,%eax
-
-	andl	%edi,%r15d
-	rorl	$2,%r14d
-	addl	%r13d,%r12d
-
-	xorl	%r15d,%eax
-	addl	%r12d,%r8d
-	addl	%r12d,%eax
-
-	leaq	20(%rbp),%rbp
-	addl	%r14d,%eax
-	movl	32(%rsi),%r12d
-	movl	%r8d,%r13d
-	movl	%eax,%r14d
-	bswapl	%r12d
-	rorl	$14,%r13d
-	movl	%r9d,%r15d
-
-	xorl	%r8d,%r13d
-	rorl	$9,%r14d
-	xorl	%r10d,%r15d
-
-	movl	%r12d,32(%rsp)
-	xorl	%eax,%r14d
-	andl	%r8d,%r15d
-
-	rorl	$5,%r13d
-	addl	%r11d,%r12d
-	xorl	%r10d,%r15d
-
-	rorl	$11,%r14d
-	xorl	%r8d,%r13d
-	addl	%r15d,%r12d
-
-	movl	%eax,%r15d
-	addl	(%rbp),%r12d
-	xorl	%eax,%r14d
-
-	xorl	%ebx,%r15d
-	rorl	$6,%r13d
-	movl	%ebx,%r11d
-
-	andl	%r15d,%edi
-	rorl	$2,%r14d
-	addl	%r13d,%r12d
-
-	xorl	%edi,%r11d
-	addl	%r12d,%edx
-	addl	%r12d,%r11d
-
-	leaq	4(%rbp),%rbp
-	addl	%r14d,%r11d
-	movl	36(%rsi),%r12d
-	movl	%edx,%r13d
-	movl	%r11d,%r14d
-	bswapl	%r12d
-	rorl	$14,%r13d
-	movl	%r8d,%edi
-
-	xorl	%edx,%r13d
-	rorl	$9,%r14d
-	xorl	%r9d,%edi
-
-	movl	%r12d,36(%rsp)
-	xorl	%r11d,%r14d
-	andl	%edx,%edi
-
-	rorl	$5,%r13d
-	addl	%r10d,%r12d
-	xorl	%r9d,%edi
-
-	rorl	$11,%r14d
-	xorl	%edx,%r13d
-	addl	%edi,%r12d
-
-	movl	%r11d,%edi
-	addl	(%rbp),%r12d
-	xorl	%r11d,%r14d
-
-	xorl	%eax,%edi
-	rorl	$6,%r13d
-	movl	%eax,%r10d
-
-	andl	%edi,%r15d
-	rorl	$2,%r14d
-	addl	%r13d,%r12d
-
-	xorl	%r15d,%r10d
-	addl	%r12d,%ecx
-	addl	%r12d,%r10d
-
-	leaq	4(%rbp),%rbp
-	addl	%r14d,%r10d
-	movl	40(%rsi),%r12d
-	movl	%ecx,%r13d
-	movl	%r10d,%r14d
-	bswapl	%r12d
-	rorl	$14,%r13d
-	movl	%edx,%r15d
-
-	xorl	%ecx,%r13d
-	rorl	$9,%r14d
-	xorl	%r8d,%r15d
-
-	movl	%r12d,40(%rsp)
-	xorl	%r10d,%r14d
-	andl	%ecx,%r15d
-
-	rorl	$5,%r13d
-	addl	%r9d,%r12d
-	xorl	%r8d,%r15d
-
-	rorl	$11,%r14d
-	xorl	%ecx,%r13d
-	addl	%r15d,%r12d
-
-	movl	%r10d,%r15d
-	addl	(%rbp),%r12d
-	xorl	%r10d,%r14d
-
-	xorl	%r11d,%r15d
-	rorl	$6,%r13d
-	movl	%r11d,%r9d
-
-	andl	%r15d,%edi
-	rorl	$2,%r14d
-	addl	%r13d,%r12d
-
-	xorl	%edi,%r9d
-	addl	%r12d,%ebx
-	addl	%r12d,%r9d
-
-	leaq	4(%rbp),%rbp
-	addl	%r14d,%r9d
-	movl	44(%rsi),%r12d
-	movl	%ebx,%r13d
-	movl	%r9d,%r14d
-	bswapl	%r12d
-	rorl	$14,%r13d
-	movl	%ecx,%edi
-
-	xorl	%ebx,%r13d
-	rorl	$9,%r14d
-	xorl	%edx,%edi
-
-	movl	%r12d,44(%rsp)
-	xorl	%r9d,%r14d
-	andl	%ebx,%edi
-
-	rorl	$5,%r13d
-	addl	%r8d,%r12d
-	xorl	%edx,%edi
-
-	rorl	$11,%r14d
-	xorl	%ebx,%r13d
-	addl	%edi,%r12d
-
-	movl	%r9d,%edi
-	addl	(%rbp),%r12d
-	xorl	%r9d,%r14d
-
-	xorl	%r10d,%edi
-	rorl	$6,%r13d
-	movl	%r10d,%r8d
-
-	andl	%edi,%r15d
-	rorl	$2,%r14d
-	addl	%r13d,%r12d
-
-	xorl	%r15d,%r8d
-	addl	%r12d,%eax
-	addl	%r12d,%r8d
-
-	leaq	20(%rbp),%rbp
-	addl	%r14d,%r8d
-	movl	48(%rsi),%r12d
-	movl	%eax,%r13d
-	movl	%r8d,%r14d
-	bswapl	%r12d
-	rorl	$14,%r13d
-	movl	%ebx,%r15d
-
-	xorl	%eax,%r13d
-	rorl	$9,%r14d
-	xorl	%ecx,%r15d
-
-	movl	%r12d,48(%rsp)
-	xorl	%r8d,%r14d
-	andl	%eax,%r15d
-
-	rorl	$5,%r13d
-	addl	%edx,%r12d
-	xorl	%ecx,%r15d
-
-	rorl	$11,%r14d
-	xorl	%eax,%r13d
-	addl	%r15d,%r12d
-
-	movl	%r8d,%r15d
-	addl	(%rbp),%r12d
-	xorl	%r8d,%r14d
-
-	xorl	%r9d,%r15d
-	rorl	$6,%r13d
-	movl	%r9d,%edx
-
-	andl	%r15d,%edi
-	rorl	$2,%r14d
-	addl	%r13d,%r12d
-
-	xorl	%edi,%edx
-	addl	%r12d,%r11d
-	addl	%r12d,%edx
-
-	leaq	4(%rbp),%rbp
-	addl	%r14d,%edx
-	movl	52(%rsi),%r12d
-	movl	%r11d,%r13d
-	movl	%edx,%r14d
-	bswapl	%r12d
-	rorl	$14,%r13d
-	movl	%eax,%edi
-
-	xorl	%r11d,%r13d
-	rorl	$9,%r14d
-	xorl	%ebx,%edi
-
-	movl	%r12d,52(%rsp)
-	xorl	%edx,%r14d
-	andl	%r11d,%edi
-
-	rorl	$5,%r13d
-	addl	%ecx,%r12d
-	xorl	%ebx,%edi
-
-	rorl	$11,%r14d
-	xorl	%r11d,%r13d
-	addl	%edi,%r12d
-
-	movl	%edx,%edi
-	addl	(%rbp),%r12d
-	xorl	%edx,%r14d
-
-	xorl	%r8d,%edi
-	rorl	$6,%r13d
-	movl	%r8d,%ecx
-
-	andl	%edi,%r15d
-	rorl	$2,%r14d
-	addl	%r13d,%r12d
-
-	xorl	%r15d,%ecx
-	addl	%r12d,%r10d
-	addl	%r12d,%ecx
-
-	leaq	4(%rbp),%rbp
-	addl	%r14d,%ecx
-	movl	56(%rsi),%r12d
-	movl	%r10d,%r13d
-	movl	%ecx,%r14d
-	bswapl	%r12d
-	rorl	$14,%r13d
-	movl	%r11d,%r15d
-
-	xorl	%r10d,%r13d
-	rorl	$9,%r14d
-	xorl	%eax,%r15d
-
-	movl	%r12d,56(%rsp)
-	xorl	%ecx,%r14d
-	andl	%r10d,%r15d
-
-	rorl	$5,%r13d
-	addl	%ebx,%r12d
-	xorl	%eax,%r15d
-
-	rorl	$11,%r14d
-	xorl	%r10d,%r13d
-	addl	%r15d,%r12d
-
-	movl	%ecx,%r15d
-	addl	(%rbp),%r12d
-	xorl	%ecx,%r14d
-
-	xorl	%edx,%r15d
-	rorl	$6,%r13d
-	movl	%edx,%ebx
-
-	andl	%r15d,%edi
-	rorl	$2,%r14d
-	addl	%r13d,%r12d
-
-	xorl	%edi,%ebx
-	addl	%r12d,%r9d
-	addl	%r12d,%ebx
-
-	leaq	4(%rbp),%rbp
-	addl	%r14d,%ebx
-	movl	60(%rsi),%r12d
-	movl	%r9d,%r13d
-	movl	%ebx,%r14d
-	bswapl	%r12d
-	rorl	$14,%r13d
-	movl	%r10d,%edi
-
-	xorl	%r9d,%r13d
-	rorl	$9,%r14d
-	xorl	%r11d,%edi
-
-	movl	%r12d,60(%rsp)
-	xorl	%ebx,%r14d
-	andl	%r9d,%edi
-
-	rorl	$5,%r13d
-	addl	%eax,%r12d
-	xorl	%r11d,%edi
-
-	rorl	$11,%r14d
-	xorl	%r9d,%r13d
-	addl	%edi,%r12d
-
-	movl	%ebx,%edi
-	addl	(%rbp),%r12d
-	xorl	%ebx,%r14d
-
-	xorl	%ecx,%edi
-	rorl	$6,%r13d
-	movl	%ecx,%eax
-
-	andl	%edi,%r15d
-	rorl	$2,%r14d
-	addl	%r13d,%r12d
-
-	xorl	%r15d,%eax
-	addl	%r12d,%r8d
-	addl	%r12d,%eax
-
-	leaq	20(%rbp),%rbp
-	jmp	.Lrounds_16_xx
-.align	16
-.Lrounds_16_xx:
-	movl	4(%rsp),%r13d
-	movl	56(%rsp),%r15d
-
-	movl	%r13d,%r12d
-	rorl	$11,%r13d
-	addl	%r14d,%eax
-	movl	%r15d,%r14d
-	rorl	$2,%r15d
-
-	xorl	%r12d,%r13d
-	shrl	$3,%r12d
-	rorl	$7,%r13d
-	xorl	%r14d,%r15d
-	shrl	$10,%r14d
-
-	rorl	$17,%r15d
-	xorl	%r13d,%r12d
-	xorl	%r14d,%r15d
-	addl	36(%rsp),%r12d
-
-	addl	0(%rsp),%r12d
-	movl	%r8d,%r13d
-	addl	%r15d,%r12d
-	movl	%eax,%r14d
-	rorl	$14,%r13d
-	movl	%r9d,%r15d
-
-	xorl	%r8d,%r13d
-	rorl	$9,%r14d
-	xorl	%r10d,%r15d
-
-	movl	%r12d,0(%rsp)
-	xorl	%eax,%r14d
-	andl	%r8d,%r15d
-
-	rorl	$5,%r13d
-	addl	%r11d,%r12d
-	xorl	%r10d,%r15d
-
-	rorl	$11,%r14d
-	xorl	%r8d,%r13d
-	addl	%r15d,%r12d
-
-	movl	%eax,%r15d
-	addl	(%rbp),%r12d
-	xorl	%eax,%r14d
-
-	xorl	%ebx,%r15d
-	rorl	$6,%r13d
-	movl	%ebx,%r11d
-
-	andl	%r15d,%edi
-	rorl	$2,%r14d
-	addl	%r13d,%r12d
-
-	xorl	%edi,%r11d
-	addl	%r12d,%edx
-	addl	%r12d,%r11d
-
-	leaq	4(%rbp),%rbp
-	movl	8(%rsp),%r13d
-	movl	60(%rsp),%edi
-
-	movl	%r13d,%r12d
-	rorl	$11,%r13d
-	addl	%r14d,%r11d
-	movl	%edi,%r14d
-	rorl	$2,%edi
-
-	xorl	%r12d,%r13d
-	shrl	$3,%r12d
-	rorl	$7,%r13d
-	xorl	%r14d,%edi
-	shrl	$10,%r14d
-
-	rorl	$17,%edi
-	xorl	%r13d,%r12d
-	xorl	%r14d,%edi
-	addl	40(%rsp),%r12d
-
-	addl	4(%rsp),%r12d
-	movl	%edx,%r13d
-	addl	%edi,%r12d
-	movl	%r11d,%r14d
-	rorl	$14,%r13d
-	movl	%r8d,%edi
-
-	xorl	%edx,%r13d
-	rorl	$9,%r14d
-	xorl	%r9d,%edi
-
-	movl	%r12d,4(%rsp)
-	xorl	%r11d,%r14d
-	andl	%edx,%edi
-
-	rorl	$5,%r13d
-	addl	%r10d,%r12d
-	xorl	%r9d,%edi
-
-	rorl	$11,%r14d
-	xorl	%edx,%r13d
-	addl	%edi,%r12d
-
-	movl	%r11d,%edi
-	addl	(%rbp),%r12d
-	xorl	%r11d,%r14d
-
-	xorl	%eax,%edi
-	rorl	$6,%r13d
-	movl	%eax,%r10d
-
-	andl	%edi,%r15d
-	rorl	$2,%r14d
-	addl	%r13d,%r12d
-
-	xorl	%r15d,%r10d
-	addl	%r12d,%ecx
-	addl	%r12d,%r10d
-
-	leaq	4(%rbp),%rbp
-	movl	12(%rsp),%r13d
-	movl	0(%rsp),%r15d
-
-	movl	%r13d,%r12d
-	rorl	$11,%r13d
-	addl	%r14d,%r10d
-	movl	%r15d,%r14d
-	rorl	$2,%r15d
-
-	xorl	%r12d,%r13d
-	shrl	$3,%r12d
-	rorl	$7,%r13d
-	xorl	%r14d,%r15d
-	shrl	$10,%r14d
-
-	rorl	$17,%r15d
-	xorl	%r13d,%r12d
-	xorl	%r14d,%r15d
-	addl	44(%rsp),%r12d
-
-	addl	8(%rsp),%r12d
-	movl	%ecx,%r13d
-	addl	%r15d,%r12d
-	movl	%r10d,%r14d
-	rorl	$14,%r13d
-	movl	%edx,%r15d
-
-	xorl	%ecx,%r13d
-	rorl	$9,%r14d
-	xorl	%r8d,%r15d
-
-	movl	%r12d,8(%rsp)
-	xorl	%r10d,%r14d
-	andl	%ecx,%r15d
-
-	rorl	$5,%r13d
-	addl	%r9d,%r12d
-	xorl	%r8d,%r15d
-
-	rorl	$11,%r14d
-	xorl	%ecx,%r13d
-	addl	%r15d,%r12d
-
-	movl	%r10d,%r15d
-	addl	(%rbp),%r12d
-	xorl	%r10d,%r14d
-
-	xorl	%r11d,%r15d
-	rorl	$6,%r13d
-	movl	%r11d,%r9d
-
-	andl	%r15d,%edi
-	rorl	$2,%r14d
-	addl	%r13d,%r12d
-
-	xorl	%edi,%r9d
-	addl	%r12d,%ebx
-	addl	%r12d,%r9d
-
-	leaq	4(%rbp),%rbp
-	movl	16(%rsp),%r13d
-	movl	4(%rsp),%edi
-
-	movl	%r13d,%r12d
-	rorl	$11,%r13d
-	addl	%r14d,%r9d
-	movl	%edi,%r14d
-	rorl	$2,%edi
-
-	xorl	%r12d,%r13d
-	shrl	$3,%r12d
-	rorl	$7,%r13d
-	xorl	%r14d,%edi
-	shrl	$10,%r14d
-
-	rorl	$17,%edi
-	xorl	%r13d,%r12d
-	xorl	%r14d,%edi
-	addl	48(%rsp),%r12d
-
-	addl	12(%rsp),%r12d
-	movl	%ebx,%r13d
-	addl	%edi,%r12d
-	movl	%r9d,%r14d
-	rorl	$14,%r13d
-	movl	%ecx,%edi
-
-	xorl	%ebx,%r13d
-	rorl	$9,%r14d
-	xorl	%edx,%edi
-
-	movl	%r12d,12(%rsp)
-	xorl	%r9d,%r14d
-	andl	%ebx,%edi
-
-	rorl	$5,%r13d
-	addl	%r8d,%r12d
-	xorl	%edx,%edi
-
-	rorl	$11,%r14d
-	xorl	%ebx,%r13d
-	addl	%edi,%r12d
-
-	movl	%r9d,%edi
-	addl	(%rbp),%r12d
-	xorl	%r9d,%r14d
-
-	xorl	%r10d,%edi
-	rorl	$6,%r13d
-	movl	%r10d,%r8d
-
-	andl	%edi,%r15d
-	rorl	$2,%r14d
-	addl	%r13d,%r12d
-
-	xorl	%r15d,%r8d
-	addl	%r12d,%eax
-	addl	%r12d,%r8d
-
-	leaq	20(%rbp),%rbp
-	movl	20(%rsp),%r13d
-	movl	8(%rsp),%r15d
-
-	movl	%r13d,%r12d
-	rorl	$11,%r13d
-	addl	%r14d,%r8d
-	movl	%r15d,%r14d
-	rorl	$2,%r15d
-
-	xorl	%r12d,%r13d
-	shrl	$3,%r12d
-	rorl	$7,%r13d
-	xorl	%r14d,%r15d
-	shrl	$10,%r14d
-
-	rorl	$17,%r15d
-	xorl	%r13d,%r12d
-	xorl	%r14d,%r15d
-	addl	52(%rsp),%r12d
-
-	addl	16(%rsp),%r12d
-	movl	%eax,%r13d
-	addl	%r15d,%r12d
-	movl	%r8d,%r14d
-	rorl	$14,%r13d
-	movl	%ebx,%r15d
-
-	xorl	%eax,%r13d
-	rorl	$9,%r14d
-	xorl	%ecx,%r15d
-
-	movl	%r12d,16(%rsp)
-	xorl	%r8d,%r14d
-	andl	%eax,%r15d
-
-	rorl	$5,%r13d
-	addl	%edx,%r12d
-	xorl	%ecx,%r15d
-
-	rorl	$11,%r14d
-	xorl	%eax,%r13d
-	addl	%r15d,%r12d
-
-	movl	%r8d,%r15d
-	addl	(%rbp),%r12d
-	xorl	%r8d,%r14d
-
-	xorl	%r9d,%r15d
-	rorl	$6,%r13d
-	movl	%r9d,%edx
-
-	andl	%r15d,%edi
-	rorl	$2,%r14d
-	addl	%r13d,%r12d
-
-	xorl	%edi,%edx
-	addl	%r12d,%r11d
-	addl	%r12d,%edx
-
-	leaq	4(%rbp),%rbp
-	movl	24(%rsp),%r13d
-	movl	12(%rsp),%edi
-
-	movl	%r13d,%r12d
-	rorl	$11,%r13d
-	addl	%r14d,%edx
-	movl	%edi,%r14d
-	rorl	$2,%edi
-
-	xorl	%r12d,%r13d
-	shrl	$3,%r12d
-	rorl	$7,%r13d
-	xorl	%r14d,%edi
-	shrl	$10,%r14d
-
-	rorl	$17,%edi
-	xorl	%r13d,%r12d
-	xorl	%r14d,%edi
-	addl	56(%rsp),%r12d
-
-	addl	20(%rsp),%r12d
-	movl	%r11d,%r13d
-	addl	%edi,%r12d
-	movl	%edx,%r14d
-	rorl	$14,%r13d
-	movl	%eax,%edi
-
-	xorl	%r11d,%r13d
-	rorl	$9,%r14d
-	xorl	%ebx,%edi
-
-	movl	%r12d,20(%rsp)
-	xorl	%edx,%r14d
-	andl	%r11d,%edi
-
-	rorl	$5,%r13d
-	addl	%ecx,%r12d
-	xorl	%ebx,%edi
-
-	rorl	$11,%r14d
-	xorl	%r11d,%r13d
-	addl	%edi,%r12d
-
-	movl	%edx,%edi
-	addl	(%rbp),%r12d
-	xorl	%edx,%r14d
-
-	xorl	%r8d,%edi
-	rorl	$6,%r13d
-	movl	%r8d,%ecx
-
-	andl	%edi,%r15d
-	rorl	$2,%r14d
-	addl	%r13d,%r12d
-
-	xorl	%r15d,%ecx
-	addl	%r12d,%r10d
-	addl	%r12d,%ecx
-
-	leaq	4(%rbp),%rbp
-	movl	28(%rsp),%r13d
-	movl	16(%rsp),%r15d
-
-	movl	%r13d,%r12d
-	rorl	$11,%r13d
-	addl	%r14d,%ecx
-	movl	%r15d,%r14d
-	rorl	$2,%r15d
-
-	xorl	%r12d,%r13d
-	shrl	$3,%r12d
-	rorl	$7,%r13d
-	xorl	%r14d,%r15d
-	shrl	$10,%r14d
-
-	rorl	$17,%r15d
-	xorl	%r13d,%r12d
-	xorl	%r14d,%r15d
-	addl	60(%rsp),%r12d
-
-	addl	24(%rsp),%r12d
-	movl	%r10d,%r13d
-	addl	%r15d,%r12d
-	movl	%ecx,%r14d
-	rorl	$14,%r13d
-	movl	%r11d,%r15d
-
-	xorl	%r10d,%r13d
-	rorl	$9,%r14d
-	xorl	%eax,%r15d
-
-	movl	%r12d,24(%rsp)
-	xorl	%ecx,%r14d
-	andl	%r10d,%r15d
-
-	rorl	$5,%r13d
-	addl	%ebx,%r12d
-	xorl	%eax,%r15d
-
-	rorl	$11,%r14d
-	xorl	%r10d,%r13d
-	addl	%r15d,%r12d
-
-	movl	%ecx,%r15d
-	addl	(%rbp),%r12d
-	xorl	%ecx,%r14d
-
-	xorl	%edx,%r15d
-	rorl	$6,%r13d
-	movl	%edx,%ebx
-
-	andl	%r15d,%edi
-	rorl	$2,%r14d
-	addl	%r13d,%r12d
-
-	xorl	%edi,%ebx
-	addl	%r12d,%r9d
-	addl	%r12d,%ebx
-
-	leaq	4(%rbp),%rbp
-	movl	32(%rsp),%r13d
-	movl	20(%rsp),%edi
-
-	movl	%r13d,%r12d
-	rorl	$11,%r13d
-	addl	%r14d,%ebx
-	movl	%edi,%r14d
-	rorl	$2,%edi
-
-	xorl	%r12d,%r13d
-	shrl	$3,%r12d
-	rorl	$7,%r13d
-	xorl	%r14d,%edi
-	shrl	$10,%r14d
-
-	rorl	$17,%edi
-	xorl	%r13d,%r12d
-	xorl	%r14d,%edi
-	addl	0(%rsp),%r12d
-
-	addl	28(%rsp),%r12d
-	movl	%r9d,%r13d
-	addl	%edi,%r12d
-	movl	%ebx,%r14d
-	rorl	$14,%r13d
-	movl	%r10d,%edi
-
-	xorl	%r9d,%r13d
-	rorl	$9,%r14d
-	xorl	%r11d,%edi
-
-	movl	%r12d,28(%rsp)
-	xorl	%ebx,%r14d
-	andl	%r9d,%edi
-
-	rorl	$5,%r13d
-	addl	%eax,%r12d
-	xorl	%r11d,%edi
-
-	rorl	$11,%r14d
-	xorl	%r9d,%r13d
-	addl	%edi,%r12d
-
-	movl	%ebx,%edi
-	addl	(%rbp),%r12d
-	xorl	%ebx,%r14d
-
-	xorl	%ecx,%edi
-	rorl	$6,%r13d
-	movl	%ecx,%eax
-
-	andl	%edi,%r15d
-	rorl	$2,%r14d
-	addl	%r13d,%r12d
-
-	xorl	%r15d,%eax
-	addl	%r12d,%r8d
-	addl	%r12d,%eax
-
-	leaq	20(%rbp),%rbp
-	movl	36(%rsp),%r13d
-	movl	24(%rsp),%r15d
-
-	movl	%r13d,%r12d
-	rorl	$11,%r13d
-	addl	%r14d,%eax
-	movl	%r15d,%r14d
-	rorl	$2,%r15d
-
-	xorl	%r12d,%r13d
-	shrl	$3,%r12d
-	rorl	$7,%r13d
-	xorl	%r14d,%r15d
-	shrl	$10,%r14d
-
-	rorl	$17,%r15d
-	xorl	%r13d,%r12d
-	xorl	%r14d,%r15d
-	addl	4(%rsp),%r12d
-
-	addl	32(%rsp),%r12d
-	movl	%r8d,%r13d
-	addl	%r15d,%r12d
-	movl	%eax,%r14d
-	rorl	$14,%r13d
-	movl	%r9d,%r15d
-
-	xorl	%r8d,%r13d
-	rorl	$9,%r14d
-	xorl	%r10d,%r15d
-
-	movl	%r12d,32(%rsp)
-	xorl	%eax,%r14d
-	andl	%r8d,%r15d
-
-	rorl	$5,%r13d
-	addl	%r11d,%r12d
-	xorl	%r10d,%r15d
-
-	rorl	$11,%r14d
-	xorl	%r8d,%r13d
-	addl	%r15d,%r12d
-
-	movl	%eax,%r15d
-	addl	(%rbp),%r12d
-	xorl	%eax,%r14d
-
-	xorl	%ebx,%r15d
-	rorl	$6,%r13d
-	movl	%ebx,%r11d
-
-	andl	%r15d,%edi
-	rorl	$2,%r14d
-	addl	%r13d,%r12d
-
-	xorl	%edi,%r11d
-	addl	%r12d,%edx
-	addl	%r12d,%r11d
-
-	leaq	4(%rbp),%rbp
-	movl	40(%rsp),%r13d
-	movl	28(%rsp),%edi
-
-	movl	%r13d,%r12d
-	rorl	$11,%r13d
-	addl	%r14d,%r11d
-	movl	%edi,%r14d
-	rorl	$2,%edi
-
-	xorl	%r12d,%r13d
-	shrl	$3,%r12d
-	rorl	$7,%r13d
-	xorl	%r14d,%edi
-	shrl	$10,%r14d
-
-	rorl	$17,%edi
-	xorl	%r13d,%r12d
-	xorl	%r14d,%edi
-	addl	8(%rsp),%r12d
-
-	addl	36(%rsp),%r12d
-	movl	%edx,%r13d
-	addl	%edi,%r12d
-	movl	%r11d,%r14d
-	rorl	$14,%r13d
-	movl	%r8d,%edi
-
-	xorl	%edx,%r13d
-	rorl	$9,%r14d
-	xorl	%r9d,%edi
-
-	movl	%r12d,36(%rsp)
-	xorl	%r11d,%r14d
-	andl	%edx,%edi
-
-	rorl	$5,%r13d
-	addl	%r10d,%r12d
-	xorl	%r9d,%edi
-
-	rorl	$11,%r14d
-	xorl	%edx,%r13d
-	addl	%edi,%r12d
-
-	movl	%r11d,%edi
-	addl	(%rbp),%r12d
-	xorl	%r11d,%r14d
-
-	xorl	%eax,%edi
-	rorl	$6,%r13d
-	movl	%eax,%r10d
-
-	andl	%edi,%r15d
-	rorl	$2,%r14d
-	addl	%r13d,%r12d
-
-	xorl	%r15d,%r10d
-	addl	%r12d,%ecx
-	addl	%r12d,%r10d
-
-	leaq	4(%rbp),%rbp
-	movl	44(%rsp),%r13d
-	movl	32(%rsp),%r15d
-
-	movl	%r13d,%r12d
-	rorl	$11,%r13d
-	addl	%r14d,%r10d
-	movl	%r15d,%r14d
-	rorl	$2,%r15d
-
-	xorl	%r12d,%r13d
-	shrl	$3,%r12d
-	rorl	$7,%r13d
-	xorl	%r14d,%r15d
-	shrl	$10,%r14d
-
-	rorl	$17,%r15d
-	xorl	%r13d,%r12d
-	xorl	%r14d,%r15d
-	addl	12(%rsp),%r12d
-
-	addl	40(%rsp),%r12d
-	movl	%ecx,%r13d
-	addl	%r15d,%r12d
-	movl	%r10d,%r14d
-	rorl	$14,%r13d
-	movl	%edx,%r15d
-
-	xorl	%ecx,%r13d
-	rorl	$9,%r14d
-	xorl	%r8d,%r15d
-
-	movl	%r12d,40(%rsp)
-	xorl	%r10d,%r14d
-	andl	%ecx,%r15d
-
-	rorl	$5,%r13d
-	addl	%r9d,%r12d
-	xorl	%r8d,%r15d
-
-	rorl	$11,%r14d
-	xorl	%ecx,%r13d
-	addl	%r15d,%r12d
-
-	movl	%r10d,%r15d
-	addl	(%rbp),%r12d
-	xorl	%r10d,%r14d
-
-	xorl	%r11d,%r15d
-	rorl	$6,%r13d
-	movl	%r11d,%r9d
-
-	andl	%r15d,%edi
-	rorl	$2,%r14d
-	addl	%r13d,%r12d
-
-	xorl	%edi,%r9d
-	addl	%r12d,%ebx
-	addl	%r12d,%r9d
-
-	leaq	4(%rbp),%rbp
-	movl	48(%rsp),%r13d
-	movl	36(%rsp),%edi
-
-	movl	%r13d,%r12d
-	rorl	$11,%r13d
-	addl	%r14d,%r9d
-	movl	%edi,%r14d
-	rorl	$2,%edi
-
-	xorl	%r12d,%r13d
-	shrl	$3,%r12d
-	rorl	$7,%r13d
-	xorl	%r14d,%edi
-	shrl	$10,%r14d
-
-	rorl	$17,%edi
-	xorl	%r13d,%r12d
-	xorl	%r14d,%edi
-	addl	16(%rsp),%r12d
-
-	addl	44(%rsp),%r12d
-	movl	%ebx,%r13d
-	addl	%edi,%r12d
-	movl	%r9d,%r14d
-	rorl	$14,%r13d
-	movl	%ecx,%edi
-
-	xorl	%ebx,%r13d
-	rorl	$9,%r14d
-	xorl	%edx,%edi
-
-	movl	%r12d,44(%rsp)
-	xorl	%r9d,%r14d
-	andl	%ebx,%edi
-
-	rorl	$5,%r13d
-	addl	%r8d,%r12d
-	xorl	%edx,%edi
-
-	rorl	$11,%r14d
-	xorl	%ebx,%r13d
-	addl	%edi,%r12d
-
-	movl	%r9d,%edi
-	addl	(%rbp),%r12d
-	xorl	%r9d,%r14d
-
-	xorl	%r10d,%edi
-	rorl	$6,%r13d
-	movl	%r10d,%r8d
-
-	andl	%edi,%r15d
-	rorl	$2,%r14d
-	addl	%r13d,%r12d
-
-	xorl	%r15d,%r8d
-	addl	%r12d,%eax
-	addl	%r12d,%r8d
-
-	leaq	20(%rbp),%rbp
-	movl	52(%rsp),%r13d
-	movl	40(%rsp),%r15d
-
-	movl	%r13d,%r12d
-	rorl	$11,%r13d
-	addl	%r14d,%r8d
-	movl	%r15d,%r14d
-	rorl	$2,%r15d
-
-	xorl	%r12d,%r13d
-	shrl	$3,%r12d
-	rorl	$7,%r13d
-	xorl	%r14d,%r15d
-	shrl	$10,%r14d
-
-	rorl	$17,%r15d
-	xorl	%r13d,%r12d
-	xorl	%r14d,%r15d
-	addl	20(%rsp),%r12d
-
-	addl	48(%rsp),%r12d
-	movl	%eax,%r13d
-	addl	%r15d,%r12d
-	movl	%r8d,%r14d
-	rorl	$14,%r13d
-	movl	%ebx,%r15d
-
-	xorl	%eax,%r13d
-	rorl	$9,%r14d
-	xorl	%ecx,%r15d
-
-	movl	%r12d,48(%rsp)
-	xorl	%r8d,%r14d
-	andl	%eax,%r15d
-
-	rorl	$5,%r13d
-	addl	%edx,%r12d
-	xorl	%ecx,%r15d
-
-	rorl	$11,%r14d
-	xorl	%eax,%r13d
-	addl	%r15d,%r12d
-
-	movl	%r8d,%r15d
-	addl	(%rbp),%r12d
-	xorl	%r8d,%r14d
-
-	xorl	%r9d,%r15d
-	rorl	$6,%r13d
-	movl	%r9d,%edx
-
-	andl	%r15d,%edi
-	rorl	$2,%r14d
-	addl	%r13d,%r12d
-
-	xorl	%edi,%edx
-	addl	%r12d,%r11d
-	addl	%r12d,%edx
-
-	leaq	4(%rbp),%rbp
-	movl	56(%rsp),%r13d
-	movl	44(%rsp),%edi
-
-	movl	%r13d,%r12d
-	rorl	$11,%r13d
-	addl	%r14d,%edx
-	movl	%edi,%r14d
-	rorl	$2,%edi
-
-	xorl	%r12d,%r13d
-	shrl	$3,%r12d
-	rorl	$7,%r13d
-	xorl	%r14d,%edi
-	shrl	$10,%r14d
-
-	rorl	$17,%edi
-	xorl	%r13d,%r12d
-	xorl	%r14d,%edi
-	addl	24(%rsp),%r12d
-
-	addl	52(%rsp),%r12d
-	movl	%r11d,%r13d
-	addl	%edi,%r12d
-	movl	%edx,%r14d
-	rorl	$14,%r13d
-	movl	%eax,%edi
-
-	xorl	%r11d,%r13d
-	rorl	$9,%r14d
-	xorl	%ebx,%edi
-
-	movl	%r12d,52(%rsp)
-	xorl	%edx,%r14d
-	andl	%r11d,%edi
-
-	rorl	$5,%r13d
-	addl	%ecx,%r12d
-	xorl	%ebx,%edi
-
-	rorl	$11,%r14d
-	xorl	%r11d,%r13d
-	addl	%edi,%r12d
-
-	movl	%edx,%edi
-	addl	(%rbp),%r12d
-	xorl	%edx,%r14d
-
-	xorl	%r8d,%edi
-	rorl	$6,%r13d
-	movl	%r8d,%ecx
-
-	andl	%edi,%r15d
-	rorl	$2,%r14d
-	addl	%r13d,%r12d
-
-	xorl	%r15d,%ecx
-	addl	%r12d,%r10d
-	addl	%r12d,%ecx
-
-	leaq	4(%rbp),%rbp
-	movl	60(%rsp),%r13d
-	movl	48(%rsp),%r15d
-
-	movl	%r13d,%r12d
-	rorl	$11,%r13d
-	addl	%r14d,%ecx
-	movl	%r15d,%r14d
-	rorl	$2,%r15d
-
-	xorl	%r12d,%r13d
-	shrl	$3,%r12d
-	rorl	$7,%r13d
-	xorl	%r14d,%r15d
-	shrl	$10,%r14d
-
-	rorl	$17,%r15d
-	xorl	%r13d,%r12d
-	xorl	%r14d,%r15d
-	addl	28(%rsp),%r12d
-
-	addl	56(%rsp),%r12d
-	movl	%r10d,%r13d
-	addl	%r15d,%r12d
-	movl	%ecx,%r14d
-	rorl	$14,%r13d
-	movl	%r11d,%r15d
-
-	xorl	%r10d,%r13d
-	rorl	$9,%r14d
-	xorl	%eax,%r15d
-
-	movl	%r12d,56(%rsp)
-	xorl	%ecx,%r14d
-	andl	%r10d,%r15d
-
-	rorl	$5,%r13d
-	addl	%ebx,%r12d
-	xorl	%eax,%r15d
-
-	rorl	$11,%r14d
-	xorl	%r10d,%r13d
-	addl	%r15d,%r12d
-
-	movl	%ecx,%r15d
-	addl	(%rbp),%r12d
-	xorl	%ecx,%r14d
-
-	xorl	%edx,%r15d
-	rorl	$6,%r13d
-	movl	%edx,%ebx
-
-	andl	%r15d,%edi
-	rorl	$2,%r14d
-	addl	%r13d,%r12d
-
-	xorl	%edi,%ebx
-	addl	%r12d,%r9d
-	addl	%r12d,%ebx
-
-	leaq	4(%rbp),%rbp
-	movl	0(%rsp),%r13d
-	movl	52(%rsp),%edi
-
-	movl	%r13d,%r12d
-	rorl	$11,%r13d
-	addl	%r14d,%ebx
-	movl	%edi,%r14d
-	rorl	$2,%edi
-
-	xorl	%r12d,%r13d
-	shrl	$3,%r12d
-	rorl	$7,%r13d
-	xorl	%r14d,%edi
-	shrl	$10,%r14d
-
-	rorl	$17,%edi
-	xorl	%r13d,%r12d
-	xorl	%r14d,%edi
-	addl	32(%rsp),%r12d
-
-	addl	60(%rsp),%r12d
-	movl	%r9d,%r13d
-	addl	%edi,%r12d
-	movl	%ebx,%r14d
-	rorl	$14,%r13d
-	movl	%r10d,%edi
-
-	xorl	%r9d,%r13d
-	rorl	$9,%r14d
-	xorl	%r11d,%edi
-
-	movl	%r12d,60(%rsp)
-	xorl	%ebx,%r14d
-	andl	%r9d,%edi
-
-	rorl	$5,%r13d
-	addl	%eax,%r12d
-	xorl	%r11d,%edi
-
-	rorl	$11,%r14d
-	xorl	%r9d,%r13d
-	addl	%edi,%r12d
-
-	movl	%ebx,%edi
-	addl	(%rbp),%r12d
-	xorl	%ebx,%r14d
-
-	xorl	%ecx,%edi
-	rorl	$6,%r13d
-	movl	%ecx,%eax
-
-	andl	%edi,%r15d
-	rorl	$2,%r14d
-	addl	%r13d,%r12d
-
-	xorl	%r15d,%eax
-	addl	%r12d,%r8d
-	addl	%r12d,%eax
-
-	leaq	20(%rbp),%rbp
-	cmpb	$0,3(%rbp)
-	jnz	.Lrounds_16_xx
-
-	movq	64+0(%rsp),%rdi
-	addl	%r14d,%eax
-	leaq	64(%rsi),%rsi
-
-	addl	0(%rdi),%eax
-	addl	4(%rdi),%ebx
-	addl	8(%rdi),%ecx
-	addl	12(%rdi),%edx
-	addl	16(%rdi),%r8d
-	addl	20(%rdi),%r9d
-	addl	24(%rdi),%r10d
-	addl	28(%rdi),%r11d
-
-	cmpq	64+16(%rsp),%rsi
-
-	movl	%eax,0(%rdi)
-	movl	%ebx,4(%rdi)
-	movl	%ecx,8(%rdi)
-	movl	%edx,12(%rdi)
-	movl	%r8d,16(%rdi)
-	movl	%r9d,20(%rdi)
-	movl	%r10d,24(%rdi)
-	movl	%r11d,28(%rdi)
-	jb	.Lloop
-
-	movq	64+24(%rsp),%rsi
-	movq	-48(%rsi),%r15
-	movq	-40(%rsi),%r14
-	movq	-32(%rsi),%r13
-	movq	-24(%rsi),%r12
-	movq	-16(%rsi),%rbp
-	movq	-8(%rsi),%rbx
-	leaq	(%rsi),%rsp
-.Lepilogue:
-	.byte	0xf3,0xc3
-.size	sha256_block_data_order,.-sha256_block_data_order
-.align	64
-.type	K256,@object
-K256:
-.long	0x428a2f98,0x71374491,0xb5c0fbcf,0xe9b5dba5
-.long	0x428a2f98,0x71374491,0xb5c0fbcf,0xe9b5dba5
-.long	0x3956c25b,0x59f111f1,0x923f82a4,0xab1c5ed5
-.long	0x3956c25b,0x59f111f1,0x923f82a4,0xab1c5ed5
-.long	0xd807aa98,0x12835b01,0x243185be,0x550c7dc3
-.long	0xd807aa98,0x12835b01,0x243185be,0x550c7dc3
-.long	0x72be5d74,0x80deb1fe,0x9bdc06a7,0xc19bf174
-.long	0x72be5d74,0x80deb1fe,0x9bdc06a7,0xc19bf174
-.long	0xe49b69c1,0xefbe4786,0x0fc19dc6,0x240ca1cc
-.long	0xe49b69c1,0xefbe4786,0x0fc19dc6,0x240ca1cc
-.long	0x2de92c6f,0x4a7484aa,0x5cb0a9dc,0x76f988da
-.long	0x2de92c6f,0x4a7484aa,0x5cb0a9dc,0x76f988da
-.long	0x983e5152,0xa831c66d,0xb00327c8,0xbf597fc7
-.long	0x983e5152,0xa831c66d,0xb00327c8,0xbf597fc7
-.long	0xc6e00bf3,0xd5a79147,0x06ca6351,0x14292967
-.long	0xc6e00bf3,0xd5a79147,0x06ca6351,0x14292967
-.long	0x27b70a85,0x2e1b2138,0x4d2c6dfc,0x53380d13
-.long	0x27b70a85,0x2e1b2138,0x4d2c6dfc,0x53380d13
-.long	0x650a7354,0x766a0abb,0x81c2c92e,0x92722c85
-.long	0x650a7354,0x766a0abb,0x81c2c92e,0x92722c85
-.long	0xa2bfe8a1,0xa81a664b,0xc24b8b70,0xc76c51a3
-.long	0xa2bfe8a1,0xa81a664b,0xc24b8b70,0xc76c51a3
-.long	0xd192e819,0xd6990624,0xf40e3585,0x106aa070
-.long	0xd192e819,0xd6990624,0xf40e3585,0x106aa070
-.long	0x19a4c116,0x1e376c08,0x2748774c,0x34b0bcb5
-.long	0x19a4c116,0x1e376c08,0x2748774c,0x34b0bcb5
-.long	0x391c0cb3,0x4ed8aa4a,0x5b9cca4f,0x682e6ff3
-.long	0x391c0cb3,0x4ed8aa4a,0x5b9cca4f,0x682e6ff3
-.long	0x748f82ee,0x78a5636f,0x84c87814,0x8cc70208
-.long	0x748f82ee,0x78a5636f,0x84c87814,0x8cc70208
-.long	0x90befffa,0xa4506ceb,0xbef9a3f7,0xc67178f2
-.long	0x90befffa,0xa4506ceb,0xbef9a3f7,0xc67178f2
-
-.long	0x00010203,0x04050607,0x08090a0b,0x0c0d0e0f
-.long	0x00010203,0x04050607,0x08090a0b,0x0c0d0e0f
-.long	0x03020100,0x0b0a0908,0xffffffff,0xffffffff
-.long	0x03020100,0x0b0a0908,0xffffffff,0xffffffff
-.long	0xffffffff,0xffffffff,0x03020100,0x0b0a0908
-.long	0xffffffff,0xffffffff,0x03020100,0x0b0a0908
-.byte	83,72,65,50,53,54,32,98,108,111,99,107,32,116,114,97,110,115,102,111,114,109,32,102,111,114,32,120,56,54,95,54,52,44,32,67,82,89,80,84,79,71,65,77,83,32,98,121,32,60,97,112,112,114,111,64,111,112,101,110,115,115,108,46,111,114,103,62,0
-.type	sha256_block_data_order_ssse3,@function
-.align	64
-sha256_block_data_order_ssse3:
-.Lssse3_shortcut:
-	movq	%rsp,%rax
-	pushq	%rbx
-	pushq	%rbp
-	pushq	%r12
-	pushq	%r13
-	pushq	%r14
-	pushq	%r15
-	shlq	$4,%rdx
-	subq	$96,%rsp
-	leaq	(%rsi,%rdx,4),%rdx
-	andq	$-64,%rsp
-	movq	%rdi,64+0(%rsp)
-	movq	%rsi,64+8(%rsp)
-	movq	%rdx,64+16(%rsp)
-	movq	%rax,64+24(%rsp)
-.Lprologue_ssse3:
-
-	movl	0(%rdi),%eax
-	movl	4(%rdi),%ebx
-	movl	8(%rdi),%ecx
-	movl	12(%rdi),%edx
-	movl	16(%rdi),%r8d
-	movl	20(%rdi),%r9d
-	movl	24(%rdi),%r10d
-	movl	28(%rdi),%r11d
-
-
-	jmp	.Lloop_ssse3
-.align	16
-.Lloop_ssse3:
-	movdqa	K256+512(%rip),%xmm7
-	movdqu	0(%rsi),%xmm0
-	movdqu	16(%rsi),%xmm1
-	movdqu	32(%rsi),%xmm2
-.byte	102,15,56,0,199
-	movdqu	48(%rsi),%xmm3
-	leaq	K256(%rip),%rbp
-.byte	102,15,56,0,207
-	movdqa	0(%rbp),%xmm4
-	movdqa	32(%rbp),%xmm5
-.byte	102,15,56,0,215
-	paddd	%xmm0,%xmm4
-	movdqa	64(%rbp),%xmm6
-.byte	102,15,56,0,223
-	movdqa	96(%rbp),%xmm7
-	paddd	%xmm1,%xmm5
-	paddd	%xmm2,%xmm6
-	paddd	%xmm3,%xmm7
-	movdqa	%xmm4,0(%rsp)
-	movl	%eax,%r14d
-	movdqa	%xmm5,16(%rsp)
-	movl	%ebx,%edi
-	movdqa	%xmm6,32(%rsp)
-	xorl	%ecx,%edi
-	movdqa	%xmm7,48(%rsp)
-	movl	%r8d,%r13d
-	jmp	.Lssse3_00_47
-
-.align	16
-.Lssse3_00_47:
-	subq	$-128,%rbp
-	rorl	$14,%r13d
-	movdqa	%xmm1,%xmm4
-	movl	%r14d,%eax
-	movl	%r9d,%r12d
-	movdqa	%xmm3,%xmm7
-	rorl	$9,%r14d
-	xorl	%r8d,%r13d
-	xorl	%r10d,%r12d
-	rorl	$5,%r13d
-	xorl	%eax,%r14d
-.byte	102,15,58,15,224,4
-	andl	%r8d,%r12d
-	xorl	%r8d,%r13d
-.byte	102,15,58,15,250,4
-	addl	0(%rsp),%r11d
-	movl	%eax,%r15d
-	xorl	%r10d,%r12d
-	rorl	$11,%r14d
-	movdqa	%xmm4,%xmm5
-	xorl	%ebx,%r15d
-	addl	%r12d,%r11d
-	movdqa	%xmm4,%xmm6
-	rorl	$6,%r13d
-	andl	%r15d,%edi
-	psrld	$3,%xmm4
-	xorl	%eax,%r14d
-	addl	%r13d,%r11d
-	xorl	%ebx,%edi
-	paddd	%xmm7,%xmm0
-	rorl	$2,%r14d
-	addl	%r11d,%edx
-	psrld	$7,%xmm6
-	addl	%edi,%r11d
-	movl	%edx,%r13d
-	pshufd	$250,%xmm3,%xmm7
-	addl	%r11d,%r14d
-	rorl	$14,%r13d
-	pslld	$14,%xmm5
-	movl	%r14d,%r11d
-	movl	%r8d,%r12d
-	pxor	%xmm6,%xmm4
-	rorl	$9,%r14d
-	xorl	%edx,%r13d
-	xorl	%r9d,%r12d
-	rorl	$5,%r13d
-	psrld	$11,%xmm6
-	xorl	%r11d,%r14d
-	pxor	%xmm5,%xmm4
-	andl	%edx,%r12d
-	xorl	%edx,%r13d
-	pslld	$11,%xmm5
-	addl	4(%rsp),%r10d
-	movl	%r11d,%edi
-	pxor	%xmm6,%xmm4
-	xorl	%r9d,%r12d
-	rorl	$11,%r14d
-	movdqa	%xmm7,%xmm6
-	xorl	%eax,%edi
-	addl	%r12d,%r10d
-	pxor	%xmm5,%xmm4
-	rorl	$6,%r13d
-	andl	%edi,%r15d
-	xorl	%r11d,%r14d
-	psrld	$10,%xmm7
-	addl	%r13d,%r10d
-	xorl	%eax,%r15d
-	paddd	%xmm4,%xmm0
-	rorl	$2,%r14d
-	addl	%r10d,%ecx
-	psrlq	$17,%xmm6
-	addl	%r15d,%r10d
-	movl	%ecx,%r13d
-	addl	%r10d,%r14d
-	pxor	%xmm6,%xmm7
-	rorl	$14,%r13d
-	movl	%r14d,%r10d
-	movl	%edx,%r12d
-	rorl	$9,%r14d
-	psrlq	$2,%xmm6
-	xorl	%ecx,%r13d
-	xorl	%r8d,%r12d
-	pxor	%xmm6,%xmm7
-	rorl	$5,%r13d
-	xorl	%r10d,%r14d
-	andl	%ecx,%r12d
-	pshufd	$128,%xmm7,%xmm7
-	xorl	%ecx,%r13d
-	addl	8(%rsp),%r9d
-	movl	%r10d,%r15d
-	psrldq	$8,%xmm7
-	xorl	%r8d,%r12d
-	rorl	$11,%r14d
-	xorl	%r11d,%r15d
-	addl	%r12d,%r9d
-	rorl	$6,%r13d
-	paddd	%xmm7,%xmm0
-	andl	%r15d,%edi
-	xorl	%r10d,%r14d
-	addl	%r13d,%r9d
-	pshufd	$80,%xmm0,%xmm7
-	xorl	%r11d,%edi
-	rorl	$2,%r14d
-	addl	%r9d,%ebx
-	movdqa	%xmm7,%xmm6
-	addl	%edi,%r9d
-	movl	%ebx,%r13d
-	psrld	$10,%xmm7
-	addl	%r9d,%r14d
-	rorl	$14,%r13d
-	psrlq	$17,%xmm6
-	movl	%r14d,%r9d
-	movl	%ecx,%r12d
-	pxor	%xmm6,%xmm7
-	rorl	$9,%r14d
-	xorl	%ebx,%r13d
-	xorl	%edx,%r12d
-	rorl	$5,%r13d
-	xorl	%r9d,%r14d
-	psrlq	$2,%xmm6
-	andl	%ebx,%r12d
-	xorl	%ebx,%r13d
-	addl	12(%rsp),%r8d
-	pxor	%xmm6,%xmm7
-	movl	%r9d,%edi
-	xorl	%edx,%r12d
-	rorl	$11,%r14d
-	pshufd	$8,%xmm7,%xmm7
-	xorl	%r10d,%edi
-	addl	%r12d,%r8d
-	movdqa	0(%rbp),%xmm6
-	rorl	$6,%r13d
-	andl	%edi,%r15d
-	pslldq	$8,%xmm7
-	xorl	%r9d,%r14d
-	addl	%r13d,%r8d
-	xorl	%r10d,%r15d
-	paddd	%xmm7,%xmm0
-	rorl	$2,%r14d
-	addl	%r8d,%eax
-	addl	%r15d,%r8d
-	paddd	%xmm0,%xmm6
-	movl	%eax,%r13d
-	addl	%r8d,%r14d
-	movdqa	%xmm6,0(%rsp)
-	rorl	$14,%r13d
-	movdqa	%xmm2,%xmm4
-	movl	%r14d,%r8d
-	movl	%ebx,%r12d
-	movdqa	%xmm0,%xmm7
-	rorl	$9,%r14d
-	xorl	%eax,%r13d
-	xorl	%ecx,%r12d
-	rorl	$5,%r13d
-	xorl	%r8d,%r14d
-.byte	102,15,58,15,225,4
-	andl	%eax,%r12d
-	xorl	%eax,%r13d
-.byte	102,15,58,15,251,4
-	addl	16(%rsp),%edx
-	movl	%r8d,%r15d
-	xorl	%ecx,%r12d
-	rorl	$11,%r14d
-	movdqa	%xmm4,%xmm5
-	xorl	%r9d,%r15d
-	addl	%r12d,%edx
-	movdqa	%xmm4,%xmm6
-	rorl	$6,%r13d
-	andl	%r15d,%edi
-	psrld	$3,%xmm4
-	xorl	%r8d,%r14d
-	addl	%r13d,%edx
-	xorl	%r9d,%edi
-	paddd	%xmm7,%xmm1
-	rorl	$2,%r14d
-	addl	%edx,%r11d
-	psrld	$7,%xmm6
-	addl	%edi,%edx
-	movl	%r11d,%r13d
-	pshufd	$250,%xmm0,%xmm7
-	addl	%edx,%r14d
-	rorl	$14,%r13d
-	pslld	$14,%xmm5
-	movl	%r14d,%edx
-	movl	%eax,%r12d
-	pxor	%xmm6,%xmm4
-	rorl	$9,%r14d
-	xorl	%r11d,%r13d
-	xorl	%ebx,%r12d
-	rorl	$5,%r13d
-	psrld	$11,%xmm6
-	xorl	%edx,%r14d
-	pxor	%xmm5,%xmm4
-	andl	%r11d,%r12d
-	xorl	%r11d,%r13d
-	pslld	$11,%xmm5
-	addl	20(%rsp),%ecx
-	movl	%edx,%edi
-	pxor	%xmm6,%xmm4
-	xorl	%ebx,%r12d
-	rorl	$11,%r14d
-	movdqa	%xmm7,%xmm6
-	xorl	%r8d,%edi
-	addl	%r12d,%ecx
-	pxor	%xmm5,%xmm4
-	rorl	$6,%r13d
-	andl	%edi,%r15d
-	xorl	%edx,%r14d
-	psrld	$10,%xmm7
-	addl	%r13d,%ecx
-	xorl	%r8d,%r15d
-	paddd	%xmm4,%xmm1
-	rorl	$2,%r14d
-	addl	%ecx,%r10d
-	psrlq	$17,%xmm6
-	addl	%r15d,%ecx
-	movl	%r10d,%r13d
-	addl	%ecx,%r14d
-	pxor	%xmm6,%xmm7
-	rorl	$14,%r13d
-	movl	%r14d,%ecx
-	movl	%r11d,%r12d
-	rorl	$9,%r14d
-	psrlq	$2,%xmm6
-	xorl	%r10d,%r13d
-	xorl	%eax,%r12d
-	pxor	%xmm6,%xmm7
-	rorl	$5,%r13d
-	xorl	%ecx,%r14d
-	andl	%r10d,%r12d
-	pshufd	$128,%xmm7,%xmm7
-	xorl	%r10d,%r13d
-	addl	24(%rsp),%ebx
-	movl	%ecx,%r15d
-	psrldq	$8,%xmm7
-	xorl	%eax,%r12d
-	rorl	$11,%r14d
-	xorl	%edx,%r15d
-	addl	%r12d,%ebx
-	rorl	$6,%r13d
-	paddd	%xmm7,%xmm1
-	andl	%r15d,%edi
-	xorl	%ecx,%r14d
-	addl	%r13d,%ebx
-	pshufd	$80,%xmm1,%xmm7
-	xorl	%edx,%edi
-	rorl	$2,%r14d
-	addl	%ebx,%r9d
-	movdqa	%xmm7,%xmm6
-	addl	%edi,%ebx
-	movl	%r9d,%r13d
-	psrld	$10,%xmm7
-	addl	%ebx,%r14d
-	rorl	$14,%r13d
-	psrlq	$17,%xmm6
-	movl	%r14d,%ebx
-	movl	%r10d,%r12d
-	pxor	%xmm6,%xmm7
-	rorl	$9,%r14d
-	xorl	%r9d,%r13d
-	xorl	%r11d,%r12d
-	rorl	$5,%r13d
-	xorl	%ebx,%r14d
-	psrlq	$2,%xmm6
-	andl	%r9d,%r12d
-	xorl	%r9d,%r13d
-	addl	28(%rsp),%eax
-	pxor	%xmm6,%xmm7
-	movl	%ebx,%edi
-	xorl	%r11d,%r12d
-	rorl	$11,%r14d
-	pshufd	$8,%xmm7,%xmm7
-	xorl	%ecx,%edi
-	addl	%r12d,%eax
-	movdqa	32(%rbp),%xmm6
-	rorl	$6,%r13d
-	andl	%edi,%r15d
-	pslldq	$8,%xmm7
-	xorl	%ebx,%r14d
-	addl	%r13d,%eax
-	xorl	%ecx,%r15d
-	paddd	%xmm7,%xmm1
-	rorl	$2,%r14d
-	addl	%eax,%r8d
-	addl	%r15d,%eax
-	paddd	%xmm1,%xmm6
-	movl	%r8d,%r13d
-	addl	%eax,%r14d
-	movdqa	%xmm6,16(%rsp)
-	rorl	$14,%r13d
-	movdqa	%xmm3,%xmm4
-	movl	%r14d,%eax
-	movl	%r9d,%r12d
-	movdqa	%xmm1,%xmm7
-	rorl	$9,%r14d
-	xorl	%r8d,%r13d
-	xorl	%r10d,%r12d
-	rorl	$5,%r13d
-	xorl	%eax,%r14d
-.byte	102,15,58,15,226,4
-	andl	%r8d,%r12d
-	xorl	%r8d,%r13d
-.byte	102,15,58,15,248,4
-	addl	32(%rsp),%r11d
-	movl	%eax,%r15d
-	xorl	%r10d,%r12d
-	rorl	$11,%r14d
-	movdqa	%xmm4,%xmm5
-	xorl	%ebx,%r15d
-	addl	%r12d,%r11d
-	movdqa	%xmm4,%xmm6
-	rorl	$6,%r13d
-	andl	%r15d,%edi
-	psrld	$3,%xmm4
-	xorl	%eax,%r14d
-	addl	%r13d,%r11d
-	xorl	%ebx,%edi
-	paddd	%xmm7,%xmm2
-	rorl	$2,%r14d
-	addl	%r11d,%edx
-	psrld	$7,%xmm6
-	addl	%edi,%r11d
-	movl	%edx,%r13d
-	pshufd	$250,%xmm1,%xmm7
-	addl	%r11d,%r14d
-	rorl	$14,%r13d
-	pslld	$14,%xmm5
-	movl	%r14d,%r11d
-	movl	%r8d,%r12d
-	pxor	%xmm6,%xmm4
-	rorl	$9,%r14d
-	xorl	%edx,%r13d
-	xorl	%r9d,%r12d
-	rorl	$5,%r13d
-	psrld	$11,%xmm6
-	xorl	%r11d,%r14d
-	pxor	%xmm5,%xmm4
-	andl	%edx,%r12d
-	xorl	%edx,%r13d
-	pslld	$11,%xmm5
-	addl	36(%rsp),%r10d
-	movl	%r11d,%edi
-	pxor	%xmm6,%xmm4
-	xorl	%r9d,%r12d
-	rorl	$11,%r14d
-	movdqa	%xmm7,%xmm6
-	xorl	%eax,%edi
-	addl	%r12d,%r10d
-	pxor	%xmm5,%xmm4
-	rorl	$6,%r13d
-	andl	%edi,%r15d
-	xorl	%r11d,%r14d
-	psrld	$10,%xmm7
-	addl	%r13d,%r10d
-	xorl	%eax,%r15d
-	paddd	%xmm4,%xmm2
-	rorl	$2,%r14d
-	addl	%r10d,%ecx
-	psrlq	$17,%xmm6
-	addl	%r15d,%r10d
-	movl	%ecx,%r13d
-	addl	%r10d,%r14d
-	pxor	%xmm6,%xmm7
-	rorl	$14,%r13d
-	movl	%r14d,%r10d
-	movl	%edx,%r12d
-	rorl	$9,%r14d
-	psrlq	$2,%xmm6
-	xorl	%ecx,%r13d
-	xorl	%r8d,%r12d
-	pxor	%xmm6,%xmm7
-	rorl	$5,%r13d
-	xorl	%r10d,%r14d
-	andl	%ecx,%r12d
-	pshufd	$128,%xmm7,%xmm7
-	xorl	%ecx,%r13d
-	addl	40(%rsp),%r9d
-	movl	%r10d,%r15d
-	psrldq	$8,%xmm7
-	xorl	%r8d,%r12d
-	rorl	$11,%r14d
-	xorl	%r11d,%r15d
-	addl	%r12d,%r9d
-	rorl	$6,%r13d
-	paddd	%xmm7,%xmm2
-	andl	%r15d,%edi
-	xorl	%r10d,%r14d
-	addl	%r13d,%r9d
-	pshufd	$80,%xmm2,%xmm7
-	xorl	%r11d,%edi
-	rorl	$2,%r14d
-	addl	%r9d,%ebx
-	movdqa	%xmm7,%xmm6
-	addl	%edi,%r9d
-	movl	%ebx,%r13d
-	psrld	$10,%xmm7
-	addl	%r9d,%r14d
-	rorl	$14,%r13d
-	psrlq	$17,%xmm6
-	movl	%r14d,%r9d
-	movl	%ecx,%r12d
-	pxor	%xmm6,%xmm7
-	rorl	$9,%r14d
-	xorl	%ebx,%r13d
-	xorl	%edx,%r12d
-	rorl	$5,%r13d
-	xorl	%r9d,%r14d
-	psrlq	$2,%xmm6
-	andl	%ebx,%r12d
-	xorl	%ebx,%r13d
-	addl	44(%rsp),%r8d
-	pxor	%xmm6,%xmm7
-	movl	%r9d,%edi
-	xorl	%edx,%r12d
-	rorl	$11,%r14d
-	pshufd	$8,%xmm7,%xmm7
-	xorl	%r10d,%edi
-	addl	%r12d,%r8d
-	movdqa	64(%rbp),%xmm6
-	rorl	$6,%r13d
-	andl	%edi,%r15d
-	pslldq	$8,%xmm7
-	xorl	%r9d,%r14d
-	addl	%r13d,%r8d
-	xorl	%r10d,%r15d
-	paddd	%xmm7,%xmm2
-	rorl	$2,%r14d
-	addl	%r8d,%eax
-	addl	%r15d,%r8d
-	paddd	%xmm2,%xmm6
-	movl	%eax,%r13d
-	addl	%r8d,%r14d
-	movdqa	%xmm6,32(%rsp)
-	rorl	$14,%r13d
-	movdqa	%xmm0,%xmm4
-	movl	%r14d,%r8d
-	movl	%ebx,%r12d
-	movdqa	%xmm2,%xmm7
-	rorl	$9,%r14d
-	xorl	%eax,%r13d
-	xorl	%ecx,%r12d
-	rorl	$5,%r13d
-	xorl	%r8d,%r14d
-.byte	102,15,58,15,227,4
-	andl	%eax,%r12d
-	xorl	%eax,%r13d
-.byte	102,15,58,15,249,4
-	addl	48(%rsp),%edx
-	movl	%r8d,%r15d
-	xorl	%ecx,%r12d
-	rorl	$11,%r14d
-	movdqa	%xmm4,%xmm5
-	xorl	%r9d,%r15d
-	addl	%r12d,%edx
-	movdqa	%xmm4,%xmm6
-	rorl	$6,%r13d
-	andl	%r15d,%edi
-	psrld	$3,%xmm4
-	xorl	%r8d,%r14d
-	addl	%r13d,%edx
-	xorl	%r9d,%edi
-	paddd	%xmm7,%xmm3
-	rorl	$2,%r14d
-	addl	%edx,%r11d
-	psrld	$7,%xmm6
-	addl	%edi,%edx
-	movl	%r11d,%r13d
-	pshufd	$250,%xmm2,%xmm7
-	addl	%edx,%r14d
-	rorl	$14,%r13d
-	pslld	$14,%xmm5
-	movl	%r14d,%edx
-	movl	%eax,%r12d
-	pxor	%xmm6,%xmm4
-	rorl	$9,%r14d
-	xorl	%r11d,%r13d
-	xorl	%ebx,%r12d
-	rorl	$5,%r13d
-	psrld	$11,%xmm6
-	xorl	%edx,%r14d
-	pxor	%xmm5,%xmm4
-	andl	%r11d,%r12d
-	xorl	%r11d,%r13d
-	pslld	$11,%xmm5
-	addl	52(%rsp),%ecx
-	movl	%edx,%edi
-	pxor	%xmm6,%xmm4
-	xorl	%ebx,%r12d
-	rorl	$11,%r14d
-	movdqa	%xmm7,%xmm6
-	xorl	%r8d,%edi
-	addl	%r12d,%ecx
-	pxor	%xmm5,%xmm4
-	rorl	$6,%r13d
-	andl	%edi,%r15d
-	xorl	%edx,%r14d
-	psrld	$10,%xmm7
-	addl	%r13d,%ecx
-	xorl	%r8d,%r15d
-	paddd	%xmm4,%xmm3
-	rorl	$2,%r14d
-	addl	%ecx,%r10d
-	psrlq	$17,%xmm6
-	addl	%r15d,%ecx
-	movl	%r10d,%r13d
-	addl	%ecx,%r14d
-	pxor	%xmm6,%xmm7
-	rorl	$14,%r13d
-	movl	%r14d,%ecx
-	movl	%r11d,%r12d
-	rorl	$9,%r14d
-	psrlq	$2,%xmm6
-	xorl	%r10d,%r13d
-	xorl	%eax,%r12d
-	pxor	%xmm6,%xmm7
-	rorl	$5,%r13d
-	xorl	%ecx,%r14d
-	andl	%r10d,%r12d
-	pshufd	$128,%xmm7,%xmm7
-	xorl	%r10d,%r13d
-	addl	56(%rsp),%ebx
-	movl	%ecx,%r15d
-	psrldq	$8,%xmm7
-	xorl	%eax,%r12d
-	rorl	$11,%r14d
-	xorl	%edx,%r15d
-	addl	%r12d,%ebx
-	rorl	$6,%r13d
-	paddd	%xmm7,%xmm3
-	andl	%r15d,%edi
-	xorl	%ecx,%r14d
-	addl	%r13d,%ebx
-	pshufd	$80,%xmm3,%xmm7
-	xorl	%edx,%edi
-	rorl	$2,%r14d
-	addl	%ebx,%r9d
-	movdqa	%xmm7,%xmm6
-	addl	%edi,%ebx
-	movl	%r9d,%r13d
-	psrld	$10,%xmm7
-	addl	%ebx,%r14d
-	rorl	$14,%r13d
-	psrlq	$17,%xmm6
-	movl	%r14d,%ebx
-	movl	%r10d,%r12d
-	pxor	%xmm6,%xmm7
-	rorl	$9,%r14d
-	xorl	%r9d,%r13d
-	xorl	%r11d,%r12d
-	rorl	$5,%r13d
-	xorl	%ebx,%r14d
-	psrlq	$2,%xmm6
-	andl	%r9d,%r12d
-	xorl	%r9d,%r13d
-	addl	60(%rsp),%eax
-	pxor	%xmm6,%xmm7
-	movl	%ebx,%edi
-	xorl	%r11d,%r12d
-	rorl	$11,%r14d
-	pshufd	$8,%xmm7,%xmm7
-	xorl	%ecx,%edi
-	addl	%r12d,%eax
-	movdqa	96(%rbp),%xmm6
-	rorl	$6,%r13d
-	andl	%edi,%r15d
-	pslldq	$8,%xmm7
-	xorl	%ebx,%r14d
-	addl	%r13d,%eax
-	xorl	%ecx,%r15d
-	paddd	%xmm7,%xmm3
-	rorl	$2,%r14d
-	addl	%eax,%r8d
-	addl	%r15d,%eax
-	paddd	%xmm3,%xmm6
-	movl	%r8d,%r13d
-	addl	%eax,%r14d
-	movdqa	%xmm6,48(%rsp)
-	cmpb	$0,131(%rbp)
-	jne	.Lssse3_00_47
-	rorl	$14,%r13d
-	movl	%r14d,%eax
-	movl	%r9d,%r12d
-	rorl	$9,%r14d
-	xorl	%r8d,%r13d
-	xorl	%r10d,%r12d
-	rorl	$5,%r13d
-	xorl	%eax,%r14d
-	andl	%r8d,%r12d
-	xorl	%r8d,%r13d
-	addl	0(%rsp),%r11d
-	movl	%eax,%r15d
-	xorl	%r10d,%r12d
-	rorl	$11,%r14d
-	xorl	%ebx,%r15d
-	addl	%r12d,%r11d
-	rorl	$6,%r13d
-	andl	%r15d,%edi
-	xorl	%eax,%r14d
-	addl	%r13d,%r11d
-	xorl	%ebx,%edi
-	rorl	$2,%r14d
-	addl	%r11d,%edx
-	addl	%edi,%r11d
-	movl	%edx,%r13d
-	addl	%r11d,%r14d
-	rorl	$14,%r13d
-	movl	%r14d,%r11d
-	movl	%r8d,%r12d
-	rorl	$9,%r14d
-	xorl	%edx,%r13d
-	xorl	%r9d,%r12d
-	rorl	$5,%r13d
-	xorl	%r11d,%r14d
-	andl	%edx,%r12d
-	xorl	%edx,%r13d
-	addl	4(%rsp),%r10d
-	movl	%r11d,%edi
-	xorl	%r9d,%r12d
-	rorl	$11,%r14d
-	xorl	%eax,%edi
-	addl	%r12d,%r10d
-	rorl	$6,%r13d
-	andl	%edi,%r15d
-	xorl	%r11d,%r14d
-	addl	%r13d,%r10d
-	xorl	%eax,%r15d
-	rorl	$2,%r14d
-	addl	%r10d,%ecx
-	addl	%r15d,%r10d
-	movl	%ecx,%r13d
-	addl	%r10d,%r14d
-	rorl	$14,%r13d
-	movl	%r14d,%r10d
-	movl	%edx,%r12d
-	rorl	$9,%r14d
-	xorl	%ecx,%r13d
-	xorl	%r8d,%r12d
-	rorl	$5,%r13d
-	xorl	%r10d,%r14d
-	andl	%ecx,%r12d
-	xorl	%ecx,%r13d
-	addl	8(%rsp),%r9d
-	movl	%r10d,%r15d
-	xorl	%r8d,%r12d
-	rorl	$11,%r14d
-	xorl	%r11d,%r15d
-	addl	%r12d,%r9d
-	rorl	$6,%r13d
-	andl	%r15d,%edi
-	xorl	%r10d,%r14d
-	addl	%r13d,%r9d
-	xorl	%r11d,%edi
-	rorl	$2,%r14d
-	addl	%r9d,%ebx
-	addl	%edi,%r9d
-	movl	%ebx,%r13d
-	addl	%r9d,%r14d
-	rorl	$14,%r13d
-	movl	%r14d,%r9d
-	movl	%ecx,%r12d
-	rorl	$9,%r14d
-	xorl	%ebx,%r13d
-	xorl	%edx,%r12d
-	rorl	$5,%r13d
-	xorl	%r9d,%r14d
-	andl	%ebx,%r12d
-	xorl	%ebx,%r13d
-	addl	12(%rsp),%r8d
-	movl	%r9d,%edi
-	xorl	%edx,%r12d
-	rorl	$11,%r14d
-	xorl	%r10d,%edi
-	addl	%r12d,%r8d
-	rorl	$6,%r13d
-	andl	%edi,%r15d
-	xorl	%r9d,%r14d
-	addl	%r13d,%r8d
-	xorl	%r10d,%r15d
-	rorl	$2,%r14d
-	addl	%r8d,%eax
-	addl	%r15d,%r8d
-	movl	%eax,%r13d
-	addl	%r8d,%r14d
-	rorl	$14,%r13d
-	movl	%r14d,%r8d
-	movl	%ebx,%r12d
-	rorl	$9,%r14d
-	xorl	%eax,%r13d
-	xorl	%ecx,%r12d
-	rorl	$5,%r13d
-	xorl	%r8d,%r14d
-	andl	%eax,%r12d
-	xorl	%eax,%r13d
-	addl	16(%rsp),%edx
-	movl	%r8d,%r15d
-	xorl	%ecx,%r12d
-	rorl	$11,%r14d
-	xorl	%r9d,%r15d
-	addl	%r12d,%edx
-	rorl	$6,%r13d
-	andl	%r15d,%edi
-	xorl	%r8d,%r14d
-	addl	%r13d,%edx
-	xorl	%r9d,%edi
-	rorl	$2,%r14d
-	addl	%edx,%r11d
-	addl	%edi,%edx
-	movl	%r11d,%r13d
-	addl	%edx,%r14d
-	rorl	$14,%r13d
-	movl	%r14d,%edx
-	movl	%eax,%r12d
-	rorl	$9,%r14d
-	xorl	%r11d,%r13d
-	xorl	%ebx,%r12d
-	rorl	$5,%r13d
-	xorl	%edx,%r14d
-	andl	%r11d,%r12d
-	xorl	%r11d,%r13d
-	addl	20(%rsp),%ecx
-	movl	%edx,%edi
-	xorl	%ebx,%r12d
-	rorl	$11,%r14d
-	xorl	%r8d,%edi
-	addl	%r12d,%ecx
-	rorl	$6,%r13d
-	andl	%edi,%r15d
-	xorl	%edx,%r14d
-	addl	%r13d,%ecx
-	xorl	%r8d,%r15d
-	rorl	$2,%r14d
-	addl	%ecx,%r10d
-	addl	%r15d,%ecx
-	movl	%r10d,%r13d
-	addl	%ecx,%r14d
-	rorl	$14,%r13d
-	movl	%r14d,%ecx
-	movl	%r11d,%r12d
-	rorl	$9,%r14d
-	xorl	%r10d,%r13d
-	xorl	%eax,%r12d
-	rorl	$5,%r13d
-	xorl	%ecx,%r14d
-	andl	%r10d,%r12d
-	xorl	%r10d,%r13d
-	addl	24(%rsp),%ebx
-	movl	%ecx,%r15d
-	xorl	%eax,%r12d
-	rorl	$11,%r14d
-	xorl	%edx,%r15d
-	addl	%r12d,%ebx
-	rorl	$6,%r13d
-	andl	%r15d,%edi
-	xorl	%ecx,%r14d
-	addl	%r13d,%ebx
-	xorl	%edx,%edi
-	rorl	$2,%r14d
-	addl	%ebx,%r9d
-	addl	%edi,%ebx
-	movl	%r9d,%r13d
-	addl	%ebx,%r14d
-	rorl	$14,%r13d
-	movl	%r14d,%ebx
-	movl	%r10d,%r12d
-	rorl	$9,%r14d
-	xorl	%r9d,%r13d
-	xorl	%r11d,%r12d
-	rorl	$5,%r13d
-	xorl	%ebx,%r14d
-	andl	%r9d,%r12d
-	xorl	%r9d,%r13d
-	addl	28(%rsp),%eax
-	movl	%ebx,%edi
-	xorl	%r11d,%r12d
-	rorl	$11,%r14d
-	xorl	%ecx,%edi
-	addl	%r12d,%eax
-	rorl	$6,%r13d
-	andl	%edi,%r15d
-	xorl	%ebx,%r14d
-	addl	%r13d,%eax
-	xorl	%ecx,%r15d
-	rorl	$2,%r14d
-	addl	%eax,%r8d
-	addl	%r15d,%eax
-	movl	%r8d,%r13d
-	addl	%eax,%r14d
-	rorl	$14,%r13d
-	movl	%r14d,%eax
-	movl	%r9d,%r12d
-	rorl	$9,%r14d
-	xorl	%r8d,%r13d
-	xorl	%r10d,%r12d
-	rorl	$5,%r13d
-	xorl	%eax,%r14d
-	andl	%r8d,%r12d
-	xorl	%r8d,%r13d
-	addl	32(%rsp),%r11d
-	movl	%eax,%r15d
-	xorl	%r10d,%r12d
-	rorl	$11,%r14d
-	xorl	%ebx,%r15d
-	addl	%r12d,%r11d
-	rorl	$6,%r13d
-	andl	%r15d,%edi
-	xorl	%eax,%r14d
-	addl	%r13d,%r11d
-	xorl	%ebx,%edi
-	rorl	$2,%r14d
-	addl	%r11d,%edx
-	addl	%edi,%r11d
-	movl	%edx,%r13d
-	addl	%r11d,%r14d
-	rorl	$14,%r13d
-	movl	%r14d,%r11d
-	movl	%r8d,%r12d
-	rorl	$9,%r14d
-	xorl	%edx,%r13d
-	xorl	%r9d,%r12d
-	rorl	$5,%r13d
-	xorl	%r11d,%r14d
-	andl	%edx,%r12d
-	xorl	%edx,%r13d
-	addl	36(%rsp),%r10d
-	movl	%r11d,%edi
-	xorl	%r9d,%r12d
-	rorl	$11,%r14d
-	xorl	%eax,%edi
-	addl	%r12d,%r10d
-	rorl	$6,%r13d
-	andl	%edi,%r15d
-	xorl	%r11d,%r14d
-	addl	%r13d,%r10d
-	xorl	%eax,%r15d
-	rorl	$2,%r14d
-	addl	%r10d,%ecx
-	addl	%r15d,%r10d
-	movl	%ecx,%r13d
-	addl	%r10d,%r14d
-	rorl	$14,%r13d
-	movl	%r14d,%r10d
-	movl	%edx,%r12d
-	rorl	$9,%r14d
-	xorl	%ecx,%r13d
-	xorl	%r8d,%r12d
-	rorl	$5,%r13d
-	xorl	%r10d,%r14d
-	andl	%ecx,%r12d
-	xorl	%ecx,%r13d
-	addl	40(%rsp),%r9d
-	movl	%r10d,%r15d
-	xorl	%r8d,%r12d
-	rorl	$11,%r14d
-	xorl	%r11d,%r15d
-	addl	%r12d,%r9d
-	rorl	$6,%r13d
-	andl	%r15d,%edi
-	xorl	%r10d,%r14d
-	addl	%r13d,%r9d
-	xorl	%r11d,%edi
-	rorl	$2,%r14d
-	addl	%r9d,%ebx
-	addl	%edi,%r9d
-	movl	%ebx,%r13d
-	addl	%r9d,%r14d
-	rorl	$14,%r13d
-	movl	%r14d,%r9d
-	movl	%ecx,%r12d
-	rorl	$9,%r14d
-	xorl	%ebx,%r13d
-	xorl	%edx,%r12d
-	rorl	$5,%r13d
-	xorl	%r9d,%r14d
-	andl	%ebx,%r12d
-	xorl	%ebx,%r13d
-	addl	44(%rsp),%r8d
-	movl	%r9d,%edi
-	xorl	%edx,%r12d
-	rorl	$11,%r14d
-	xorl	%r10d,%edi
-	addl	%r12d,%r8d
-	rorl	$6,%r13d
-	andl	%edi,%r15d
-	xorl	%r9d,%r14d
-	addl	%r13d,%r8d
-	xorl	%r10d,%r15d
-	rorl	$2,%r14d
-	addl	%r8d,%eax
-	addl	%r15d,%r8d
-	movl	%eax,%r13d
-	addl	%r8d,%r14d
-	rorl	$14,%r13d
-	movl	%r14d,%r8d
-	movl	%ebx,%r12d
-	rorl	$9,%r14d
-	xorl	%eax,%r13d
-	xorl	%ecx,%r12d
-	rorl	$5,%r13d
-	xorl	%r8d,%r14d
-	andl	%eax,%r12d
-	xorl	%eax,%r13d
-	addl	48(%rsp),%edx
-	movl	%r8d,%r15d
-	xorl	%ecx,%r12d
-	rorl	$11,%r14d
-	xorl	%r9d,%r15d
-	addl	%r12d,%edx
-	rorl	$6,%r13d
-	andl	%r15d,%edi
-	xorl	%r8d,%r14d
-	addl	%r13d,%edx
-	xorl	%r9d,%edi
-	rorl	$2,%r14d
-	addl	%edx,%r11d
-	addl	%edi,%edx
-	movl	%r11d,%r13d
-	addl	%edx,%r14d
-	rorl	$14,%r13d
-	movl	%r14d,%edx
-	movl	%eax,%r12d
-	rorl	$9,%r14d
-	xorl	%r11d,%r13d
-	xorl	%ebx,%r12d
-	rorl	$5,%r13d
-	xorl	%edx,%r14d
-	andl	%r11d,%r12d
-	xorl	%r11d,%r13d
-	addl	52(%rsp),%ecx
-	movl	%edx,%edi
-	xorl	%ebx,%r12d
-	rorl	$11,%r14d
-	xorl	%r8d,%edi
-	addl	%r12d,%ecx
-	rorl	$6,%r13d
-	andl	%edi,%r15d
-	xorl	%edx,%r14d
-	addl	%r13d,%ecx
-	xorl	%r8d,%r15d
-	rorl	$2,%r14d
-	addl	%ecx,%r10d
-	addl	%r15d,%ecx
-	movl	%r10d,%r13d
-	addl	%ecx,%r14d
-	rorl	$14,%r13d
-	movl	%r14d,%ecx
-	movl	%r11d,%r12d
-	rorl	$9,%r14d
-	xorl	%r10d,%r13d
-	xorl	%eax,%r12d
-	rorl	$5,%r13d
-	xorl	%ecx,%r14d
-	andl	%r10d,%r12d
-	xorl	%r10d,%r13d
-	addl	56(%rsp),%ebx
-	movl	%ecx,%r15d
-	xorl	%eax,%r12d
-	rorl	$11,%r14d
-	xorl	%edx,%r15d
-	addl	%r12d,%ebx
-	rorl	$6,%r13d
-	andl	%r15d,%edi
-	xorl	%ecx,%r14d
-	addl	%r13d,%ebx
-	xorl	%edx,%edi
-	rorl	$2,%r14d
-	addl	%ebx,%r9d
-	addl	%edi,%ebx
-	movl	%r9d,%r13d
-	addl	%ebx,%r14d
-	rorl	$14,%r13d
-	movl	%r14d,%ebx
-	movl	%r10d,%r12d
-	rorl	$9,%r14d
-	xorl	%r9d,%r13d
-	xorl	%r11d,%r12d
-	rorl	$5,%r13d
-	xorl	%ebx,%r14d
-	andl	%r9d,%r12d
-	xorl	%r9d,%r13d
-	addl	60(%rsp),%eax
-	movl	%ebx,%edi
-	xorl	%r11d,%r12d
-	rorl	$11,%r14d
-	xorl	%ecx,%edi
-	addl	%r12d,%eax
-	rorl	$6,%r13d
-	andl	%edi,%r15d
-	xorl	%ebx,%r14d
-	addl	%r13d,%eax
-	xorl	%ecx,%r15d
-	rorl	$2,%r14d
-	addl	%eax,%r8d
-	addl	%r15d,%eax
-	movl	%r8d,%r13d
-	addl	%eax,%r14d
-	movq	64+0(%rsp),%rdi
-	movl	%r14d,%eax
-
-	addl	0(%rdi),%eax
-	leaq	64(%rsi),%rsi
-	addl	4(%rdi),%ebx
-	addl	8(%rdi),%ecx
-	addl	12(%rdi),%edx
-	addl	16(%rdi),%r8d
-	addl	20(%rdi),%r9d
-	addl	24(%rdi),%r10d
-	addl	28(%rdi),%r11d
-
-	cmpq	64+16(%rsp),%rsi
-
-	movl	%eax,0(%rdi)
-	movl	%ebx,4(%rdi)
-	movl	%ecx,8(%rdi)
-	movl	%edx,12(%rdi)
-	movl	%r8d,16(%rdi)
-	movl	%r9d,20(%rdi)
-	movl	%r10d,24(%rdi)
-	movl	%r11d,28(%rdi)
-	jb	.Lloop_ssse3
-
-	movq	64+24(%rsp),%rsi
-	movq	-48(%rsi),%r15
-	movq	-40(%rsi),%r14
-	movq	-32(%rsi),%r13
-	movq	-24(%rsi),%r12
-	movq	-16(%rsi),%rbp
-	movq	-8(%rsi),%rbx
-	leaq	(%rsi),%rsp
-.Lepilogue_ssse3:
-	.byte	0xf3,0xc3
-.size	sha256_block_data_order_ssse3,.-sha256_block_data_order_ssse3
-.type	sha256_block_data_order_avx,@function
-.align	64
-sha256_block_data_order_avx:
-.Lavx_shortcut:
-	movq	%rsp,%rax
-	pushq	%rbx
-	pushq	%rbp
-	pushq	%r12
-	pushq	%r13
-	pushq	%r14
-	pushq	%r15
-	shlq	$4,%rdx
-	subq	$96,%rsp
-	leaq	(%rsi,%rdx,4),%rdx
-	andq	$-64,%rsp
-	movq	%rdi,64+0(%rsp)
-	movq	%rsi,64+8(%rsp)
-	movq	%rdx,64+16(%rsp)
-	movq	%rax,64+24(%rsp)
-.Lprologue_avx:
-
-	vzeroupper
-	movl	0(%rdi),%eax
-	movl	4(%rdi),%ebx
-	movl	8(%rdi),%ecx
-	movl	12(%rdi),%edx
-	movl	16(%rdi),%r8d
-	movl	20(%rdi),%r9d
-	movl	24(%rdi),%r10d
-	movl	28(%rdi),%r11d
-	vmovdqa	K256+512+32(%rip),%xmm8
-	vmovdqa	K256+512+64(%rip),%xmm9
-	jmp	.Lloop_avx
-.align	16
-.Lloop_avx:
-	vmovdqa	K256+512(%rip),%xmm7
-	vmovdqu	0(%rsi),%xmm0
-	vmovdqu	16(%rsi),%xmm1
-	vmovdqu	32(%rsi),%xmm2
-	vmovdqu	48(%rsi),%xmm3
-	vpshufb	%xmm7,%xmm0,%xmm0
-	leaq	K256(%rip),%rbp
-	vpshufb	%xmm7,%xmm1,%xmm1
-	vpshufb	%xmm7,%xmm2,%xmm2
-	vpaddd	0(%rbp),%xmm0,%xmm4
-	vpshufb	%xmm7,%xmm3,%xmm3
-	vpaddd	32(%rbp),%xmm1,%xmm5
-	vpaddd	64(%rbp),%xmm2,%xmm6
-	vpaddd	96(%rbp),%xmm3,%xmm7
-	vmovdqa	%xmm4,0(%rsp)
-	movl	%eax,%r14d
-	vmovdqa	%xmm5,16(%rsp)
-	movl	%ebx,%edi
-	vmovdqa	%xmm6,32(%rsp)
-	xorl	%ecx,%edi
-	vmovdqa	%xmm7,48(%rsp)
-	movl	%r8d,%r13d
-	jmp	.Lavx_00_47
-
-.align	16
-.Lavx_00_47:
-	subq	$-128,%rbp
-	vpalignr	$4,%xmm0,%xmm1,%xmm4
-	shrdl	$14,%r13d,%r13d
-	movl	%r14d,%eax
-	movl	%r9d,%r12d
-	vpalignr	$4,%xmm2,%xmm3,%xmm7
-	shrdl	$9,%r14d,%r14d
-	xorl	%r8d,%r13d
-	xorl	%r10d,%r12d
-	vpsrld	$7,%xmm4,%xmm6
-	shrdl	$5,%r13d,%r13d
-	xorl	%eax,%r14d
-	andl	%r8d,%r12d
-	vpaddd	%xmm7,%xmm0,%xmm0
-	xorl	%r8d,%r13d
-	addl	0(%rsp),%r11d
-	movl	%eax,%r15d
-	vpsrld	$3,%xmm4,%xmm7
-	xorl	%r10d,%r12d
-	shrdl	$11,%r14d,%r14d
-	xorl	%ebx,%r15d
-	vpslld	$14,%xmm4,%xmm5
-	addl	%r12d,%r11d
-	shrdl	$6,%r13d,%r13d
-	andl	%r15d,%edi
-	vpxor	%xmm6,%xmm7,%xmm4
-	xorl	%eax,%r14d
-	addl	%r13d,%r11d
-	xorl	%ebx,%edi
-	vpshufd	$250,%xmm3,%xmm7
-	shrdl	$2,%r14d,%r14d
-	addl	%r11d,%edx
-	addl	%edi,%r11d
-	vpsrld	$11,%xmm6,%xmm6
-	movl	%edx,%r13d
-	addl	%r11d,%r14d
-	shrdl	$14,%r13d,%r13d
-	vpxor	%xmm5,%xmm4,%xmm4
-	movl	%r14d,%r11d
-	movl	%r8d,%r12d
-	shrdl	$9,%r14d,%r14d
-	vpslld	$11,%xmm5,%xmm5
-	xorl	%edx,%r13d
-	xorl	%r9d,%r12d
-	shrdl	$5,%r13d,%r13d
-	vpxor	%xmm6,%xmm4,%xmm4
-	xorl	%r11d,%r14d
-	andl	%edx,%r12d
-	xorl	%edx,%r13d
-	vpsrld	$10,%xmm7,%xmm6
-	addl	4(%rsp),%r10d
-	movl	%r11d,%edi
-	xorl	%r9d,%r12d
-	vpxor	%xmm5,%xmm4,%xmm4
-	shrdl	$11,%r14d,%r14d
-	xorl	%eax,%edi
-	addl	%r12d,%r10d
-	vpsrlq	$17,%xmm7,%xmm7
-	shrdl	$6,%r13d,%r13d
-	andl	%edi,%r15d
-	xorl	%r11d,%r14d
-	vpaddd	%xmm4,%xmm0,%xmm0
-	addl	%r13d,%r10d
-	xorl	%eax,%r15d
-	shrdl	$2,%r14d,%r14d
-	vpxor	%xmm7,%xmm6,%xmm6
-	addl	%r10d,%ecx
-	addl	%r15d,%r10d
-	movl	%ecx,%r13d
-	vpsrlq	$2,%xmm7,%xmm7
-	addl	%r10d,%r14d
-	shrdl	$14,%r13d,%r13d
-	movl	%r14d,%r10d
-	vpxor	%xmm7,%xmm6,%xmm6
-	movl	%edx,%r12d
-	shrdl	$9,%r14d,%r14d
-	xorl	%ecx,%r13d
-	vpshufb	%xmm8,%xmm6,%xmm6
-	xorl	%r8d,%r12d
-	shrdl	$5,%r13d,%r13d
-	xorl	%r10d,%r14d
-	vpaddd	%xmm6,%xmm0,%xmm0
-	andl	%ecx,%r12d
-	xorl	%ecx,%r13d
-	addl	8(%rsp),%r9d
-	vpshufd	$80,%xmm0,%xmm7
-	movl	%r10d,%r15d
-	xorl	%r8d,%r12d
-	shrdl	$11,%r14d,%r14d
-	vpsrld	$10,%xmm7,%xmm6
-	xorl	%r11d,%r15d
-	addl	%r12d,%r9d
-	shrdl	$6,%r13d,%r13d
-	vpsrlq	$17,%xmm7,%xmm7
-	andl	%r15d,%edi
-	xorl	%r10d,%r14d
-	addl	%r13d,%r9d
-	vpxor	%xmm7,%xmm6,%xmm6
-	xorl	%r11d,%edi
-	shrdl	$2,%r14d,%r14d
-	addl	%r9d,%ebx
-	vpsrlq	$2,%xmm7,%xmm7
-	addl	%edi,%r9d
-	movl	%ebx,%r13d
-	addl	%r9d,%r14d
-	vpxor	%xmm7,%xmm6,%xmm6
-	shrdl	$14,%r13d,%r13d
-	movl	%r14d,%r9d
-	movl	%ecx,%r12d
-	vpshufb	%xmm9,%xmm6,%xmm6
-	shrdl	$9,%r14d,%r14d
-	xorl	%ebx,%r13d
-	xorl	%edx,%r12d
-	vpaddd	%xmm6,%xmm0,%xmm0
-	shrdl	$5,%r13d,%r13d
-	xorl	%r9d,%r14d
-	andl	%ebx,%r12d
-	vpaddd	0(%rbp),%xmm0,%xmm6
-	xorl	%ebx,%r13d
-	addl	12(%rsp),%r8d
-	movl	%r9d,%edi
-	xorl	%edx,%r12d
-	shrdl	$11,%r14d,%r14d
-	xorl	%r10d,%edi
-	addl	%r12d,%r8d
-	shrdl	$6,%r13d,%r13d
-	andl	%edi,%r15d
-	xorl	%r9d,%r14d
-	addl	%r13d,%r8d
-	xorl	%r10d,%r15d
-	shrdl	$2,%r14d,%r14d
-	addl	%r8d,%eax
-	addl	%r15d,%r8d
-	movl	%eax,%r13d
-	addl	%r8d,%r14d
-	vmovdqa	%xmm6,0(%rsp)
-	vpalignr	$4,%xmm1,%xmm2,%xmm4
-	shrdl	$14,%r13d,%r13d
-	movl	%r14d,%r8d
-	movl	%ebx,%r12d
-	vpalignr	$4,%xmm3,%xmm0,%xmm7
-	shrdl	$9,%r14d,%r14d
-	xorl	%eax,%r13d
-	xorl	%ecx,%r12d
-	vpsrld	$7,%xmm4,%xmm6
-	shrdl	$5,%r13d,%r13d
-	xorl	%r8d,%r14d
-	andl	%eax,%r12d
-	vpaddd	%xmm7,%xmm1,%xmm1
-	xorl	%eax,%r13d
-	addl	16(%rsp),%edx
-	movl	%r8d,%r15d
-	vpsrld	$3,%xmm4,%xmm7
-	xorl	%ecx,%r12d
-	shrdl	$11,%r14d,%r14d
-	xorl	%r9d,%r15d
-	vpslld	$14,%xmm4,%xmm5
-	addl	%r12d,%edx
-	shrdl	$6,%r13d,%r13d
-	andl	%r15d,%edi
-	vpxor	%xmm6,%xmm7,%xmm4
-	xorl	%r8d,%r14d
-	addl	%r13d,%edx
-	xorl	%r9d,%edi
-	vpshufd	$250,%xmm0,%xmm7
-	shrdl	$2,%r14d,%r14d
-	addl	%edx,%r11d
-	addl	%edi,%edx
-	vpsrld	$11,%xmm6,%xmm6
-	movl	%r11d,%r13d
-	addl	%edx,%r14d
-	shrdl	$14,%r13d,%r13d
-	vpxor	%xmm5,%xmm4,%xmm4
-	movl	%r14d,%edx
-	movl	%eax,%r12d
-	shrdl	$9,%r14d,%r14d
-	vpslld	$11,%xmm5,%xmm5
-	xorl	%r11d,%r13d
-	xorl	%ebx,%r12d
-	shrdl	$5,%r13d,%r13d
-	vpxor	%xmm6,%xmm4,%xmm4
-	xorl	%edx,%r14d
-	andl	%r11d,%r12d
-	xorl	%r11d,%r13d
-	vpsrld	$10,%xmm7,%xmm6
-	addl	20(%rsp),%ecx
-	movl	%edx,%edi
-	xorl	%ebx,%r12d
-	vpxor	%xmm5,%xmm4,%xmm4
-	shrdl	$11,%r14d,%r14d
-	xorl	%r8d,%edi
-	addl	%r12d,%ecx
-	vpsrlq	$17,%xmm7,%xmm7
-	shrdl	$6,%r13d,%r13d
-	andl	%edi,%r15d
-	xorl	%edx,%r14d
-	vpaddd	%xmm4,%xmm1,%xmm1
-	addl	%r13d,%ecx
-	xorl	%r8d,%r15d
-	shrdl	$2,%r14d,%r14d
-	vpxor	%xmm7,%xmm6,%xmm6
-	addl	%ecx,%r10d
-	addl	%r15d,%ecx
-	movl	%r10d,%r13d
-	vpsrlq	$2,%xmm7,%xmm7
-	addl	%ecx,%r14d
-	shrdl	$14,%r13d,%r13d
-	movl	%r14d,%ecx
-	vpxor	%xmm7,%xmm6,%xmm6
-	movl	%r11d,%r12d
-	shrdl	$9,%r14d,%r14d
-	xorl	%r10d,%r13d
-	vpshufb	%xmm8,%xmm6,%xmm6
-	xorl	%eax,%r12d
-	shrdl	$5,%r13d,%r13d
-	xorl	%ecx,%r14d
-	vpaddd	%xmm6,%xmm1,%xmm1
-	andl	%r10d,%r12d
-	xorl	%r10d,%r13d
-	addl	24(%rsp),%ebx
-	vpshufd	$80,%xmm1,%xmm7
-	movl	%ecx,%r15d
-	xorl	%eax,%r12d
-	shrdl	$11,%r14d,%r14d
-	vpsrld	$10,%xmm7,%xmm6
-	xorl	%edx,%r15d
-	addl	%r12d,%ebx
-	shrdl	$6,%r13d,%r13d
-	vpsrlq	$17,%xmm7,%xmm7
-	andl	%r15d,%edi
-	xorl	%ecx,%r14d
-	addl	%r13d,%ebx
-	vpxor	%xmm7,%xmm6,%xmm6
-	xorl	%edx,%edi
-	shrdl	$2,%r14d,%r14d
-	addl	%ebx,%r9d
-	vpsrlq	$2,%xmm7,%xmm7
-	addl	%edi,%ebx
-	movl	%r9d,%r13d
-	addl	%ebx,%r14d
-	vpxor	%xmm7,%xmm6,%xmm6
-	shrdl	$14,%r13d,%r13d
-	movl	%r14d,%ebx
-	movl	%r10d,%r12d
-	vpshufb	%xmm9,%xmm6,%xmm6
-	shrdl	$9,%r14d,%r14d
-	xorl	%r9d,%r13d
-	xorl	%r11d,%r12d
-	vpaddd	%xmm6,%xmm1,%xmm1
-	shrdl	$5,%r13d,%r13d
-	xorl	%ebx,%r14d
-	andl	%r9d,%r12d
-	vpaddd	32(%rbp),%xmm1,%xmm6
-	xorl	%r9d,%r13d
-	addl	28(%rsp),%eax
-	movl	%ebx,%edi
-	xorl	%r11d,%r12d
-	shrdl	$11,%r14d,%r14d
-	xorl	%ecx,%edi
-	addl	%r12d,%eax
-	shrdl	$6,%r13d,%r13d
-	andl	%edi,%r15d
-	xorl	%ebx,%r14d
-	addl	%r13d,%eax
-	xorl	%ecx,%r15d
-	shrdl	$2,%r14d,%r14d
-	addl	%eax,%r8d
-	addl	%r15d,%eax
-	movl	%r8d,%r13d
-	addl	%eax,%r14d
-	vmovdqa	%xmm6,16(%rsp)
-	vpalignr	$4,%xmm2,%xmm3,%xmm4
-	shrdl	$14,%r13d,%r13d
-	movl	%r14d,%eax
-	movl	%r9d,%r12d
-	vpalignr	$4,%xmm0,%xmm1,%xmm7
-	shrdl	$9,%r14d,%r14d
-	xorl	%r8d,%r13d
-	xorl	%r10d,%r12d
-	vpsrld	$7,%xmm4,%xmm6
-	shrdl	$5,%r13d,%r13d
-	xorl	%eax,%r14d
-	andl	%r8d,%r12d
-	vpaddd	%xmm7,%xmm2,%xmm2
-	xorl	%r8d,%r13d
-	addl	32(%rsp),%r11d
-	movl	%eax,%r15d
-	vpsrld	$3,%xmm4,%xmm7
-	xorl	%r10d,%r12d
-	shrdl	$11,%r14d,%r14d
-	xorl	%ebx,%r15d
-	vpslld	$14,%xmm4,%xmm5
-	addl	%r12d,%r11d
-	shrdl	$6,%r13d,%r13d
-	andl	%r15d,%edi
-	vpxor	%xmm6,%xmm7,%xmm4
-	xorl	%eax,%r14d
-	addl	%r13d,%r11d
-	xorl	%ebx,%edi
-	vpshufd	$250,%xmm1,%xmm7
-	shrdl	$2,%r14d,%r14d
-	addl	%r11d,%edx
-	addl	%edi,%r11d
-	vpsrld	$11,%xmm6,%xmm6
-	movl	%edx,%r13d
-	addl	%r11d,%r14d
-	shrdl	$14,%r13d,%r13d
-	vpxor	%xmm5,%xmm4,%xmm4
-	movl	%r14d,%r11d
-	movl	%r8d,%r12d
-	shrdl	$9,%r14d,%r14d
-	vpslld	$11,%xmm5,%xmm5
-	xorl	%edx,%r13d
-	xorl	%r9d,%r12d
-	shrdl	$5,%r13d,%r13d
-	vpxor	%xmm6,%xmm4,%xmm4
-	xorl	%r11d,%r14d
-	andl	%edx,%r12d
-	xorl	%edx,%r13d
-	vpsrld	$10,%xmm7,%xmm6
-	addl	36(%rsp),%r10d
-	movl	%r11d,%edi
-	xorl	%r9d,%r12d
-	vpxor	%xmm5,%xmm4,%xmm4
-	shrdl	$11,%r14d,%r14d
-	xorl	%eax,%edi
-	addl	%r12d,%r10d
-	vpsrlq	$17,%xmm7,%xmm7
-	shrdl	$6,%r13d,%r13d
-	andl	%edi,%r15d
-	xorl	%r11d,%r14d
-	vpaddd	%xmm4,%xmm2,%xmm2
-	addl	%r13d,%r10d
-	xorl	%eax,%r15d
-	shrdl	$2,%r14d,%r14d
-	vpxor	%xmm7,%xmm6,%xmm6
-	addl	%r10d,%ecx
-	addl	%r15d,%r10d
-	movl	%ecx,%r13d
-	vpsrlq	$2,%xmm7,%xmm7
-	addl	%r10d,%r14d
-	shrdl	$14,%r13d,%r13d
-	movl	%r14d,%r10d
-	vpxor	%xmm7,%xmm6,%xmm6
-	movl	%edx,%r12d
-	shrdl	$9,%r14d,%r14d
-	xorl	%ecx,%r13d
-	vpshufb	%xmm8,%xmm6,%xmm6
-	xorl	%r8d,%r12d
-	shrdl	$5,%r13d,%r13d
-	xorl	%r10d,%r14d
-	vpaddd	%xmm6,%xmm2,%xmm2
-	andl	%ecx,%r12d
-	xorl	%ecx,%r13d
-	addl	40(%rsp),%r9d
-	vpshufd	$80,%xmm2,%xmm7
-	movl	%r10d,%r15d
-	xorl	%r8d,%r12d
-	shrdl	$11,%r14d,%r14d
-	vpsrld	$10,%xmm7,%xmm6
-	xorl	%r11d,%r15d
-	addl	%r12d,%r9d
-	shrdl	$6,%r13d,%r13d
-	vpsrlq	$17,%xmm7,%xmm7
-	andl	%r15d,%edi
-	xorl	%r10d,%r14d
-	addl	%r13d,%r9d
-	vpxor	%xmm7,%xmm6,%xmm6
-	xorl	%r11d,%edi
-	shrdl	$2,%r14d,%r14d
-	addl	%r9d,%ebx
-	vpsrlq	$2,%xmm7,%xmm7
-	addl	%edi,%r9d
-	movl	%ebx,%r13d
-	addl	%r9d,%r14d
-	vpxor	%xmm7,%xmm6,%xmm6
-	shrdl	$14,%r13d,%r13d
-	movl	%r14d,%r9d
-	movl	%ecx,%r12d
-	vpshufb	%xmm9,%xmm6,%xmm6
-	shrdl	$9,%r14d,%r14d
-	xorl	%ebx,%r13d
-	xorl	%edx,%r12d
-	vpaddd	%xmm6,%xmm2,%xmm2
-	shrdl	$5,%r13d,%r13d
-	xorl	%r9d,%r14d
-	andl	%ebx,%r12d
-	vpaddd	64(%rbp),%xmm2,%xmm6
-	xorl	%ebx,%r13d
-	addl	44(%rsp),%r8d
-	movl	%r9d,%edi
-	xorl	%edx,%r12d
-	shrdl	$11,%r14d,%r14d
-	xorl	%r10d,%edi
-	addl	%r12d,%r8d
-	shrdl	$6,%r13d,%r13d
-	andl	%edi,%r15d
-	xorl	%r9d,%r14d
-	addl	%r13d,%r8d
-	xorl	%r10d,%r15d
-	shrdl	$2,%r14d,%r14d
-	addl	%r8d,%eax
-	addl	%r15d,%r8d
-	movl	%eax,%r13d
-	addl	%r8d,%r14d
-	vmovdqa	%xmm6,32(%rsp)
-	vpalignr	$4,%xmm3,%xmm0,%xmm4
-	shrdl	$14,%r13d,%r13d
-	movl	%r14d,%r8d
-	movl	%ebx,%r12d
-	vpalignr	$4,%xmm1,%xmm2,%xmm7
-	shrdl	$9,%r14d,%r14d
-	xorl	%eax,%r13d
-	xorl	%ecx,%r12d
-	vpsrld	$7,%xmm4,%xmm6
-	shrdl	$5,%r13d,%r13d
-	xorl	%r8d,%r14d
-	andl	%eax,%r12d
-	vpaddd	%xmm7,%xmm3,%xmm3
-	xorl	%eax,%r13d
-	addl	48(%rsp),%edx
-	movl	%r8d,%r15d
-	vpsrld	$3,%xmm4,%xmm7
-	xorl	%ecx,%r12d
-	shrdl	$11,%r14d,%r14d
-	xorl	%r9d,%r15d
-	vpslld	$14,%xmm4,%xmm5
-	addl	%r12d,%edx
-	shrdl	$6,%r13d,%r13d
-	andl	%r15d,%edi
-	vpxor	%xmm6,%xmm7,%xmm4
-	xorl	%r8d,%r14d
-	addl	%r13d,%edx
-	xorl	%r9d,%edi
-	vpshufd	$250,%xmm2,%xmm7
-	shrdl	$2,%r14d,%r14d
-	addl	%edx,%r11d
-	addl	%edi,%edx
-	vpsrld	$11,%xmm6,%xmm6
-	movl	%r11d,%r13d
-	addl	%edx,%r14d
-	shrdl	$14,%r13d,%r13d
-	vpxor	%xmm5,%xmm4,%xmm4
-	movl	%r14d,%edx
-	movl	%eax,%r12d
-	shrdl	$9,%r14d,%r14d
-	vpslld	$11,%xmm5,%xmm5
-	xorl	%r11d,%r13d
-	xorl	%ebx,%r12d
-	shrdl	$5,%r13d,%r13d
-	vpxor	%xmm6,%xmm4,%xmm4
-	xorl	%edx,%r14d
-	andl	%r11d,%r12d
-	xorl	%r11d,%r13d
-	vpsrld	$10,%xmm7,%xmm6
-	addl	52(%rsp),%ecx
-	movl	%edx,%edi
-	xorl	%ebx,%r12d
-	vpxor	%xmm5,%xmm4,%xmm4
-	shrdl	$11,%r14d,%r14d
-	xorl	%r8d,%edi
-	addl	%r12d,%ecx
-	vpsrlq	$17,%xmm7,%xmm7
-	shrdl	$6,%r13d,%r13d
-	andl	%edi,%r15d
-	xorl	%edx,%r14d
-	vpaddd	%xmm4,%xmm3,%xmm3
-	addl	%r13d,%ecx
-	xorl	%r8d,%r15d
-	shrdl	$2,%r14d,%r14d
-	vpxor	%xmm7,%xmm6,%xmm6
-	addl	%ecx,%r10d
-	addl	%r15d,%ecx
-	movl	%r10d,%r13d
-	vpsrlq	$2,%xmm7,%xmm7
-	addl	%ecx,%r14d
-	shrdl	$14,%r13d,%r13d
-	movl	%r14d,%ecx
-	vpxor	%xmm7,%xmm6,%xmm6
-	movl	%r11d,%r12d
-	shrdl	$9,%r14d,%r14d
-	xorl	%r10d,%r13d
-	vpshufb	%xmm8,%xmm6,%xmm6
-	xorl	%eax,%r12d
-	shrdl	$5,%r13d,%r13d
-	xorl	%ecx,%r14d
-	vpaddd	%xmm6,%xmm3,%xmm3
-	andl	%r10d,%r12d
-	xorl	%r10d,%r13d
-	addl	56(%rsp),%ebx
-	vpshufd	$80,%xmm3,%xmm7
-	movl	%ecx,%r15d
-	xorl	%eax,%r12d
-	shrdl	$11,%r14d,%r14d
-	vpsrld	$10,%xmm7,%xmm6
-	xorl	%edx,%r15d
-	addl	%r12d,%ebx
-	shrdl	$6,%r13d,%r13d
-	vpsrlq	$17,%xmm7,%xmm7
-	andl	%r15d,%edi
-	xorl	%ecx,%r14d
-	addl	%r13d,%ebx
-	vpxor	%xmm7,%xmm6,%xmm6
-	xorl	%edx,%edi
-	shrdl	$2,%r14d,%r14d
-	addl	%ebx,%r9d
-	vpsrlq	$2,%xmm7,%xmm7
-	addl	%edi,%ebx
-	movl	%r9d,%r13d
-	addl	%ebx,%r14d
-	vpxor	%xmm7,%xmm6,%xmm6
-	shrdl	$14,%r13d,%r13d
-	movl	%r14d,%ebx
-	movl	%r10d,%r12d
-	vpshufb	%xmm9,%xmm6,%xmm6
-	shrdl	$9,%r14d,%r14d
-	xorl	%r9d,%r13d
-	xorl	%r11d,%r12d
-	vpaddd	%xmm6,%xmm3,%xmm3
-	shrdl	$5,%r13d,%r13d
-	xorl	%ebx,%r14d
-	andl	%r9d,%r12d
-	vpaddd	96(%rbp),%xmm3,%xmm6
-	xorl	%r9d,%r13d
-	addl	60(%rsp),%eax
-	movl	%ebx,%edi
-	xorl	%r11d,%r12d
-	shrdl	$11,%r14d,%r14d
-	xorl	%ecx,%edi
-	addl	%r12d,%eax
-	shrdl	$6,%r13d,%r13d
-	andl	%edi,%r15d
-	xorl	%ebx,%r14d
-	addl	%r13d,%eax
-	xorl	%ecx,%r15d
-	shrdl	$2,%r14d,%r14d
-	addl	%eax,%r8d
-	addl	%r15d,%eax
-	movl	%r8d,%r13d
-	addl	%eax,%r14d
-	vmovdqa	%xmm6,48(%rsp)
-	cmpb	$0,131(%rbp)
-	jne	.Lavx_00_47
-	shrdl	$14,%r13d,%r13d
-	movl	%r14d,%eax
-	movl	%r9d,%r12d
-	shrdl	$9,%r14d,%r14d
-	xorl	%r8d,%r13d
-	xorl	%r10d,%r12d
-	shrdl	$5,%r13d,%r13d
-	xorl	%eax,%r14d
-	andl	%r8d,%r12d
-	xorl	%r8d,%r13d
-	addl	0(%rsp),%r11d
-	movl	%eax,%r15d
-	xorl	%r10d,%r12d
-	shrdl	$11,%r14d,%r14d
-	xorl	%ebx,%r15d
-	addl	%r12d,%r11d
-	shrdl	$6,%r13d,%r13d
-	andl	%r15d,%edi
-	xorl	%eax,%r14d
-	addl	%r13d,%r11d
-	xorl	%ebx,%edi
-	shrdl	$2,%r14d,%r14d
-	addl	%r11d,%edx
-	addl	%edi,%r11d
-	movl	%edx,%r13d
-	addl	%r11d,%r14d
-	shrdl	$14,%r13d,%r13d
-	movl	%r14d,%r11d
-	movl	%r8d,%r12d
-	shrdl	$9,%r14d,%r14d
-	xorl	%edx,%r13d
-	xorl	%r9d,%r12d
-	shrdl	$5,%r13d,%r13d
-	xorl	%r11d,%r14d
-	andl	%edx,%r12d
-	xorl	%edx,%r13d
-	addl	4(%rsp),%r10d
-	movl	%r11d,%edi
-	xorl	%r9d,%r12d
-	shrdl	$11,%r14d,%r14d
-	xorl	%eax,%edi
-	addl	%r12d,%r10d
-	shrdl	$6,%r13d,%r13d
-	andl	%edi,%r15d
-	xorl	%r11d,%r14d
-	addl	%r13d,%r10d
-	xorl	%eax,%r15d
-	shrdl	$2,%r14d,%r14d
-	addl	%r10d,%ecx
-	addl	%r15d,%r10d
-	movl	%ecx,%r13d
-	addl	%r10d,%r14d
-	shrdl	$14,%r13d,%r13d
-	movl	%r14d,%r10d
-	movl	%edx,%r12d
-	shrdl	$9,%r14d,%r14d
-	xorl	%ecx,%r13d
-	xorl	%r8d,%r12d
-	shrdl	$5,%r13d,%r13d
-	xorl	%r10d,%r14d
-	andl	%ecx,%r12d
-	xorl	%ecx,%r13d
-	addl	8(%rsp),%r9d
-	movl	%r10d,%r15d
-	xorl	%r8d,%r12d
-	shrdl	$11,%r14d,%r14d
-	xorl	%r11d,%r15d
-	addl	%r12d,%r9d
-	shrdl	$6,%r13d,%r13d
-	andl	%r15d,%edi
-	xorl	%r10d,%r14d
-	addl	%r13d,%r9d
-	xorl	%r11d,%edi
-	shrdl	$2,%r14d,%r14d
-	addl	%r9d,%ebx
-	addl	%edi,%r9d
-	movl	%ebx,%r13d
-	addl	%r9d,%r14d
-	shrdl	$14,%r13d,%r13d
-	movl	%r14d,%r9d
-	movl	%ecx,%r12d
-	shrdl	$9,%r14d,%r14d
-	xorl	%ebx,%r13d
-	xorl	%edx,%r12d
-	shrdl	$5,%r13d,%r13d
-	xorl	%r9d,%r14d
-	andl	%ebx,%r12d
-	xorl	%ebx,%r13d
-	addl	12(%rsp),%r8d
-	movl	%r9d,%edi
-	xorl	%edx,%r12d
-	shrdl	$11,%r14d,%r14d
-	xorl	%r10d,%edi
-	addl	%r12d,%r8d
-	shrdl	$6,%r13d,%r13d
-	andl	%edi,%r15d
-	xorl	%r9d,%r14d
-	addl	%r13d,%r8d
-	xorl	%r10d,%r15d
-	shrdl	$2,%r14d,%r14d
-	addl	%r8d,%eax
-	addl	%r15d,%r8d
-	movl	%eax,%r13d
-	addl	%r8d,%r14d
-	shrdl	$14,%r13d,%r13d
-	movl	%r14d,%r8d
-	movl	%ebx,%r12d
-	shrdl	$9,%r14d,%r14d
-	xorl	%eax,%r13d
-	xorl	%ecx,%r12d
-	shrdl	$5,%r13d,%r13d
-	xorl	%r8d,%r14d
-	andl	%eax,%r12d
-	xorl	%eax,%r13d
-	addl	16(%rsp),%edx
-	movl	%r8d,%r15d
-	xorl	%ecx,%r12d
-	shrdl	$11,%r14d,%r14d
-	xorl	%r9d,%r15d
-	addl	%r12d,%edx
-	shrdl	$6,%r13d,%r13d
-	andl	%r15d,%edi
-	xorl	%r8d,%r14d
-	addl	%r13d,%edx
-	xorl	%r9d,%edi
-	shrdl	$2,%r14d,%r14d
-	addl	%edx,%r11d
-	addl	%edi,%edx
-	movl	%r11d,%r13d
-	addl	%edx,%r14d
-	shrdl	$14,%r13d,%r13d
-	movl	%r14d,%edx
-	movl	%eax,%r12d
-	shrdl	$9,%r14d,%r14d
-	xorl	%r11d,%r13d
-	xorl	%ebx,%r12d
-	shrdl	$5,%r13d,%r13d
-	xorl	%edx,%r14d
-	andl	%r11d,%r12d
-	xorl	%r11d,%r13d
-	addl	20(%rsp),%ecx
-	movl	%edx,%edi
-	xorl	%ebx,%r12d
-	shrdl	$11,%r14d,%r14d
-	xorl	%r8d,%edi
-	addl	%r12d,%ecx
-	shrdl	$6,%r13d,%r13d
-	andl	%edi,%r15d
-	xorl	%edx,%r14d
-	addl	%r13d,%ecx
-	xorl	%r8d,%r15d
-	shrdl	$2,%r14d,%r14d
-	addl	%ecx,%r10d
-	addl	%r15d,%ecx
-	movl	%r10d,%r13d
-	addl	%ecx,%r14d
-	shrdl	$14,%r13d,%r13d
-	movl	%r14d,%ecx
-	movl	%r11d,%r12d
-	shrdl	$9,%r14d,%r14d
-	xorl	%r10d,%r13d
-	xorl	%eax,%r12d
-	shrdl	$5,%r13d,%r13d
-	xorl	%ecx,%r14d
-	andl	%r10d,%r12d
-	xorl	%r10d,%r13d
-	addl	24(%rsp),%ebx
-	movl	%ecx,%r15d
-	xorl	%eax,%r12d
-	shrdl	$11,%r14d,%r14d
-	xorl	%edx,%r15d
-	addl	%r12d,%ebx
-	shrdl	$6,%r13d,%r13d
-	andl	%r15d,%edi
-	xorl	%ecx,%r14d
-	addl	%r13d,%ebx
-	xorl	%edx,%edi
-	shrdl	$2,%r14d,%r14d
-	addl	%ebx,%r9d
-	addl	%edi,%ebx
-	movl	%r9d,%r13d
-	addl	%ebx,%r14d
-	shrdl	$14,%r13d,%r13d
-	movl	%r14d,%ebx
-	movl	%r10d,%r12d
-	shrdl	$9,%r14d,%r14d
-	xorl	%r9d,%r13d
-	xorl	%r11d,%r12d
-	shrdl	$5,%r13d,%r13d
-	xorl	%ebx,%r14d
-	andl	%r9d,%r12d
-	xorl	%r9d,%r13d
-	addl	28(%rsp),%eax
-	movl	%ebx,%edi
-	xorl	%r11d,%r12d
-	shrdl	$11,%r14d,%r14d
-	xorl	%ecx,%edi
-	addl	%r12d,%eax
-	shrdl	$6,%r13d,%r13d
-	andl	%edi,%r15d
-	xorl	%ebx,%r14d
-	addl	%r13d,%eax
-	xorl	%ecx,%r15d
-	shrdl	$2,%r14d,%r14d
-	addl	%eax,%r8d
-	addl	%r15d,%eax
-	movl	%r8d,%r13d
-	addl	%eax,%r14d
-	shrdl	$14,%r13d,%r13d
-	movl	%r14d,%eax
-	movl	%r9d,%r12d
-	shrdl	$9,%r14d,%r14d
-	xorl	%r8d,%r13d
-	xorl	%r10d,%r12d
-	shrdl	$5,%r13d,%r13d
-	xorl	%eax,%r14d
-	andl	%r8d,%r12d
-	xorl	%r8d,%r13d
-	addl	32(%rsp),%r11d
-	movl	%eax,%r15d
-	xorl	%r10d,%r12d
-	shrdl	$11,%r14d,%r14d
-	xorl	%ebx,%r15d
-	addl	%r12d,%r11d
-	shrdl	$6,%r13d,%r13d
-	andl	%r15d,%edi
-	xorl	%eax,%r14d
-	addl	%r13d,%r11d
-	xorl	%ebx,%edi
-	shrdl	$2,%r14d,%r14d
-	addl	%r11d,%edx
-	addl	%edi,%r11d
-	movl	%edx,%r13d
-	addl	%r11d,%r14d
-	shrdl	$14,%r13d,%r13d
-	movl	%r14d,%r11d
-	movl	%r8d,%r12d
-	shrdl	$9,%r14d,%r14d
-	xorl	%edx,%r13d
-	xorl	%r9d,%r12d
-	shrdl	$5,%r13d,%r13d
-	xorl	%r11d,%r14d
-	andl	%edx,%r12d
-	xorl	%edx,%r13d
-	addl	36(%rsp),%r10d
-	movl	%r11d,%edi
-	xorl	%r9d,%r12d
-	shrdl	$11,%r14d,%r14d
-	xorl	%eax,%edi
-	addl	%r12d,%r10d
-	shrdl	$6,%r13d,%r13d
-	andl	%edi,%r15d
-	xorl	%r11d,%r14d
-	addl	%r13d,%r10d
-	xorl	%eax,%r15d
-	shrdl	$2,%r14d,%r14d
-	addl	%r10d,%ecx
-	addl	%r15d,%r10d
-	movl	%ecx,%r13d
-	addl	%r10d,%r14d
-	shrdl	$14,%r13d,%r13d
-	movl	%r14d,%r10d
-	movl	%edx,%r12d
-	shrdl	$9,%r14d,%r14d
-	xorl	%ecx,%r13d
-	xorl	%r8d,%r12d
-	shrdl	$5,%r13d,%r13d
-	xorl	%r10d,%r14d
-	andl	%ecx,%r12d
-	xorl	%ecx,%r13d
-	addl	40(%rsp),%r9d
-	movl	%r10d,%r15d
-	xorl	%r8d,%r12d
-	shrdl	$11,%r14d,%r14d
-	xorl	%r11d,%r15d
-	addl	%r12d,%r9d
-	shrdl	$6,%r13d,%r13d
-	andl	%r15d,%edi
-	xorl	%r10d,%r14d
-	addl	%r13d,%r9d
-	xorl	%r11d,%edi
-	shrdl	$2,%r14d,%r14d
-	addl	%r9d,%ebx
-	addl	%edi,%r9d
-	movl	%ebx,%r13d
-	addl	%r9d,%r14d
-	shrdl	$14,%r13d,%r13d
-	movl	%r14d,%r9d
-	movl	%ecx,%r12d
-	shrdl	$9,%r14d,%r14d
-	xorl	%ebx,%r13d
-	xorl	%edx,%r12d
-	shrdl	$5,%r13d,%r13d
-	xorl	%r9d,%r14d
-	andl	%ebx,%r12d
-	xorl	%ebx,%r13d
-	addl	44(%rsp),%r8d
-	movl	%r9d,%edi
-	xorl	%edx,%r12d
-	shrdl	$11,%r14d,%r14d
-	xorl	%r10d,%edi
-	addl	%r12d,%r8d
-	shrdl	$6,%r13d,%r13d
-	andl	%edi,%r15d
-	xorl	%r9d,%r14d
-	addl	%r13d,%r8d
-	xorl	%r10d,%r15d
-	shrdl	$2,%r14d,%r14d
-	addl	%r8d,%eax
-	addl	%r15d,%r8d
-	movl	%eax,%r13d
-	addl	%r8d,%r14d
-	shrdl	$14,%r13d,%r13d
-	movl	%r14d,%r8d
-	movl	%ebx,%r12d
-	shrdl	$9,%r14d,%r14d
-	xorl	%eax,%r13d
-	xorl	%ecx,%r12d
-	shrdl	$5,%r13d,%r13d
-	xorl	%r8d,%r14d
-	andl	%eax,%r12d
-	xorl	%eax,%r13d
-	addl	48(%rsp),%edx
-	movl	%r8d,%r15d
-	xorl	%ecx,%r12d
-	shrdl	$11,%r14d,%r14d
-	xorl	%r9d,%r15d
-	addl	%r12d,%edx
-	shrdl	$6,%r13d,%r13d
-	andl	%r15d,%edi
-	xorl	%r8d,%r14d
-	addl	%r13d,%edx
-	xorl	%r9d,%edi
-	shrdl	$2,%r14d,%r14d
-	addl	%edx,%r11d
-	addl	%edi,%edx
-	movl	%r11d,%r13d
-	addl	%edx,%r14d
-	shrdl	$14,%r13d,%r13d
-	movl	%r14d,%edx
-	movl	%eax,%r12d
-	shrdl	$9,%r14d,%r14d
-	xorl	%r11d,%r13d
-	xorl	%ebx,%r12d
-	shrdl	$5,%r13d,%r13d
-	xorl	%edx,%r14d
-	andl	%r11d,%r12d
-	xorl	%r11d,%r13d
-	addl	52(%rsp),%ecx
-	movl	%edx,%edi
-	xorl	%ebx,%r12d
-	shrdl	$11,%r14d,%r14d
-	xorl	%r8d,%edi
-	addl	%r12d,%ecx
-	shrdl	$6,%r13d,%r13d
-	andl	%edi,%r15d
-	xorl	%edx,%r14d
-	addl	%r13d,%ecx
-	xorl	%r8d,%r15d
-	shrdl	$2,%r14d,%r14d
-	addl	%ecx,%r10d
-	addl	%r15d,%ecx
-	movl	%r10d,%r13d
-	addl	%ecx,%r14d
-	shrdl	$14,%r13d,%r13d
-	movl	%r14d,%ecx
-	movl	%r11d,%r12d
-	shrdl	$9,%r14d,%r14d
-	xorl	%r10d,%r13d
-	xorl	%eax,%r12d
-	shrdl	$5,%r13d,%r13d
-	xorl	%ecx,%r14d
-	andl	%r10d,%r12d
-	xorl	%r10d,%r13d
-	addl	56(%rsp),%ebx
-	movl	%ecx,%r15d
-	xorl	%eax,%r12d
-	shrdl	$11,%r14d,%r14d
-	xorl	%edx,%r15d
-	addl	%r12d,%ebx
-	shrdl	$6,%r13d,%r13d
-	andl	%r15d,%edi
-	xorl	%ecx,%r14d
-	addl	%r13d,%ebx
-	xorl	%edx,%edi
-	shrdl	$2,%r14d,%r14d
-	addl	%ebx,%r9d
-	addl	%edi,%ebx
-	movl	%r9d,%r13d
-	addl	%ebx,%r14d
-	shrdl	$14,%r13d,%r13d
-	movl	%r14d,%ebx
-	movl	%r10d,%r12d
-	shrdl	$9,%r14d,%r14d
-	xorl	%r9d,%r13d
-	xorl	%r11d,%r12d
-	shrdl	$5,%r13d,%r13d
-	xorl	%ebx,%r14d
-	andl	%r9d,%r12d
-	xorl	%r9d,%r13d
-	addl	60(%rsp),%eax
-	movl	%ebx,%edi
-	xorl	%r11d,%r12d
-	shrdl	$11,%r14d,%r14d
-	xorl	%ecx,%edi
-	addl	%r12d,%eax
-	shrdl	$6,%r13d,%r13d
-	andl	%edi,%r15d
-	xorl	%ebx,%r14d
-	addl	%r13d,%eax
-	xorl	%ecx,%r15d
-	shrdl	$2,%r14d,%r14d
-	addl	%eax,%r8d
-	addl	%r15d,%eax
-	movl	%r8d,%r13d
-	addl	%eax,%r14d
-	movq	64+0(%rsp),%rdi
-	movl	%r14d,%eax
-
-	addl	0(%rdi),%eax
-	leaq	64(%rsi),%rsi
-	addl	4(%rdi),%ebx
-	addl	8(%rdi),%ecx
-	addl	12(%rdi),%edx
-	addl	16(%rdi),%r8d
-	addl	20(%rdi),%r9d
-	addl	24(%rdi),%r10d
-	addl	28(%rdi),%r11d
-
-	cmpq	64+16(%rsp),%rsi
-
-	movl	%eax,0(%rdi)
-	movl	%ebx,4(%rdi)
-	movl	%ecx,8(%rdi)
-	movl	%edx,12(%rdi)
-	movl	%r8d,16(%rdi)
-	movl	%r9d,20(%rdi)
-	movl	%r10d,24(%rdi)
-	movl	%r11d,28(%rdi)
-	jb	.Lloop_avx
-
-	movq	64+24(%rsp),%rsi
-	vzeroupper
-	movq	-48(%rsi),%r15
-	movq	-40(%rsi),%r14
-	movq	-32(%rsi),%r13
-	movq	-24(%rsi),%r12
-	movq	-16(%rsi),%rbp
-	movq	-8(%rsi),%rbx
-	leaq	(%rsi),%rsp
-.Lepilogue_avx:
-	.byte	0xf3,0xc3
-.size	sha256_block_data_order_avx,.-sha256_block_data_order_avx
-#endif
diff --git a/third_party/boringssl/linux-x86_64/crypto/sha/sha512-x86_64.S b/third_party/boringssl/linux-x86_64/crypto/sha/sha512-x86_64.S
deleted file mode 100644
index 1f1793bb..0000000
--- a/third_party/boringssl/linux-x86_64/crypto/sha/sha512-x86_64.S
+++ /dev/null
@@ -1,4028 +0,0 @@
-#if defined(__x86_64__) && !defined(OPENSSL_NO_ASM)
-.text	
-
-.extern	OPENSSL_ia32cap_P
-.hidden OPENSSL_ia32cap_P
-.globl	sha512_block_data_order
-.hidden sha512_block_data_order
-.type	sha512_block_data_order,@function
-.align	16
-sha512_block_data_order:
-	leaq	OPENSSL_ia32cap_P(%rip),%r11
-	movl	0(%r11),%r9d
-	movl	4(%r11),%r10d
-	movl	8(%r11),%r11d
-	testl	$2048,%r10d
-	jnz	.Lxop_shortcut
-	andl	$1073741824,%r9d
-	andl	$268435968,%r10d
-	orl	%r9d,%r10d
-	cmpl	$1342177792,%r10d
-	je	.Lavx_shortcut
-	movq	%rsp,%rax
-	pushq	%rbx
-	pushq	%rbp
-	pushq	%r12
-	pushq	%r13
-	pushq	%r14
-	pushq	%r15
-	shlq	$4,%rdx
-	subq	$128+32,%rsp
-	leaq	(%rsi,%rdx,8),%rdx
-	andq	$-64,%rsp
-	movq	%rdi,128+0(%rsp)
-	movq	%rsi,128+8(%rsp)
-	movq	%rdx,128+16(%rsp)
-	movq	%rax,128+24(%rsp)
-.Lprologue:
-
-	movq	0(%rdi),%rax
-	movq	8(%rdi),%rbx
-	movq	16(%rdi),%rcx
-	movq	24(%rdi),%rdx
-	movq	32(%rdi),%r8
-	movq	40(%rdi),%r9
-	movq	48(%rdi),%r10
-	movq	56(%rdi),%r11
-	jmp	.Lloop
-
-.align	16
-.Lloop:
-	movq	%rbx,%rdi
-	leaq	K512(%rip),%rbp
-	xorq	%rcx,%rdi
-	movq	0(%rsi),%r12
-	movq	%r8,%r13
-	movq	%rax,%r14
-	bswapq	%r12
-	rorq	$23,%r13
-	movq	%r9,%r15
-
-	xorq	%r8,%r13
-	rorq	$5,%r14
-	xorq	%r10,%r15
-
-	movq	%r12,0(%rsp)
-	xorq	%rax,%r14
-	andq	%r8,%r15
-
-	rorq	$4,%r13
-	addq	%r11,%r12
-	xorq	%r10,%r15
-
-	rorq	$6,%r14
-	xorq	%r8,%r13
-	addq	%r15,%r12
-
-	movq	%rax,%r15
-	addq	(%rbp),%r12
-	xorq	%rax,%r14
-
-	xorq	%rbx,%r15
-	rorq	$14,%r13
-	movq	%rbx,%r11
-
-	andq	%r15,%rdi
-	rorq	$28,%r14
-	addq	%r13,%r12
-
-	xorq	%rdi,%r11
-	addq	%r12,%rdx
-	addq	%r12,%r11
-
-	leaq	8(%rbp),%rbp
-	addq	%r14,%r11
-	movq	8(%rsi),%r12
-	movq	%rdx,%r13
-	movq	%r11,%r14
-	bswapq	%r12
-	rorq	$23,%r13
-	movq	%r8,%rdi
-
-	xorq	%rdx,%r13
-	rorq	$5,%r14
-	xorq	%r9,%rdi
-
-	movq	%r12,8(%rsp)
-	xorq	%r11,%r14
-	andq	%rdx,%rdi
-
-	rorq	$4,%r13
-	addq	%r10,%r12
-	xorq	%r9,%rdi
-
-	rorq	$6,%r14
-	xorq	%rdx,%r13
-	addq	%rdi,%r12
-
-	movq	%r11,%rdi
-	addq	(%rbp),%r12
-	xorq	%r11,%r14
-
-	xorq	%rax,%rdi
-	rorq	$14,%r13
-	movq	%rax,%r10
-
-	andq	%rdi,%r15
-	rorq	$28,%r14
-	addq	%r13,%r12
-
-	xorq	%r15,%r10
-	addq	%r12,%rcx
-	addq	%r12,%r10
-
-	leaq	24(%rbp),%rbp
-	addq	%r14,%r10
-	movq	16(%rsi),%r12
-	movq	%rcx,%r13
-	movq	%r10,%r14
-	bswapq	%r12
-	rorq	$23,%r13
-	movq	%rdx,%r15
-
-	xorq	%rcx,%r13
-	rorq	$5,%r14
-	xorq	%r8,%r15
-
-	movq	%r12,16(%rsp)
-	xorq	%r10,%r14
-	andq	%rcx,%r15
-
-	rorq	$4,%r13
-	addq	%r9,%r12
-	xorq	%r8,%r15
-
-	rorq	$6,%r14
-	xorq	%rcx,%r13
-	addq	%r15,%r12
-
-	movq	%r10,%r15
-	addq	(%rbp),%r12
-	xorq	%r10,%r14
-
-	xorq	%r11,%r15
-	rorq	$14,%r13
-	movq	%r11,%r9
-
-	andq	%r15,%rdi
-	rorq	$28,%r14
-	addq	%r13,%r12
-
-	xorq	%rdi,%r9
-	addq	%r12,%rbx
-	addq	%r12,%r9
-
-	leaq	8(%rbp),%rbp
-	addq	%r14,%r9
-	movq	24(%rsi),%r12
-	movq	%rbx,%r13
-	movq	%r9,%r14
-	bswapq	%r12
-	rorq	$23,%r13
-	movq	%rcx,%rdi
-
-	xorq	%rbx,%r13
-	rorq	$5,%r14
-	xorq	%rdx,%rdi
-
-	movq	%r12,24(%rsp)
-	xorq	%r9,%r14
-	andq	%rbx,%rdi
-
-	rorq	$4,%r13
-	addq	%r8,%r12
-	xorq	%rdx,%rdi
-
-	rorq	$6,%r14
-	xorq	%rbx,%r13
-	addq	%rdi,%r12
-
-	movq	%r9,%rdi
-	addq	(%rbp),%r12
-	xorq	%r9,%r14
-
-	xorq	%r10,%rdi
-	rorq	$14,%r13
-	movq	%r10,%r8
-
-	andq	%rdi,%r15
-	rorq	$28,%r14
-	addq	%r13,%r12
-
-	xorq	%r15,%r8
-	addq	%r12,%rax
-	addq	%r12,%r8
-
-	leaq	24(%rbp),%rbp
-	addq	%r14,%r8
-	movq	32(%rsi),%r12
-	movq	%rax,%r13
-	movq	%r8,%r14
-	bswapq	%r12
-	rorq	$23,%r13
-	movq	%rbx,%r15
-
-	xorq	%rax,%r13
-	rorq	$5,%r14
-	xorq	%rcx,%r15
-
-	movq	%r12,32(%rsp)
-	xorq	%r8,%r14
-	andq	%rax,%r15
-
-	rorq	$4,%r13
-	addq	%rdx,%r12
-	xorq	%rcx,%r15
-
-	rorq	$6,%r14
-	xorq	%rax,%r13
-	addq	%r15,%r12
-
-	movq	%r8,%r15
-	addq	(%rbp),%r12
-	xorq	%r8,%r14
-
-	xorq	%r9,%r15
-	rorq	$14,%r13
-	movq	%r9,%rdx
-
-	andq	%r15,%rdi
-	rorq	$28,%r14
-	addq	%r13,%r12
-
-	xorq	%rdi,%rdx
-	addq	%r12,%r11
-	addq	%r12,%rdx
-
-	leaq	8(%rbp),%rbp
-	addq	%r14,%rdx
-	movq	40(%rsi),%r12
-	movq	%r11,%r13
-	movq	%rdx,%r14
-	bswapq	%r12
-	rorq	$23,%r13
-	movq	%rax,%rdi
-
-	xorq	%r11,%r13
-	rorq	$5,%r14
-	xorq	%rbx,%rdi
-
-	movq	%r12,40(%rsp)
-	xorq	%rdx,%r14
-	andq	%r11,%rdi
-
-	rorq	$4,%r13
-	addq	%rcx,%r12
-	xorq	%rbx,%rdi
-
-	rorq	$6,%r14
-	xorq	%r11,%r13
-	addq	%rdi,%r12
-
-	movq	%rdx,%rdi
-	addq	(%rbp),%r12
-	xorq	%rdx,%r14
-
-	xorq	%r8,%rdi
-	rorq	$14,%r13
-	movq	%r8,%rcx
-
-	andq	%rdi,%r15
-	rorq	$28,%r14
-	addq	%r13,%r12
-
-	xorq	%r15,%rcx
-	addq	%r12,%r10
-	addq	%r12,%rcx
-
-	leaq	24(%rbp),%rbp
-	addq	%r14,%rcx
-	movq	48(%rsi),%r12
-	movq	%r10,%r13
-	movq	%rcx,%r14
-	bswapq	%r12
-	rorq	$23,%r13
-	movq	%r11,%r15
-
-	xorq	%r10,%r13
-	rorq	$5,%r14
-	xorq	%rax,%r15
-
-	movq	%r12,48(%rsp)
-	xorq	%rcx,%r14
-	andq	%r10,%r15
-
-	rorq	$4,%r13
-	addq	%rbx,%r12
-	xorq	%rax,%r15
-
-	rorq	$6,%r14
-	xorq	%r10,%r13
-	addq	%r15,%r12
-
-	movq	%rcx,%r15
-	addq	(%rbp),%r12
-	xorq	%rcx,%r14
-
-	xorq	%rdx,%r15
-	rorq	$14,%r13
-	movq	%rdx,%rbx
-
-	andq	%r15,%rdi
-	rorq	$28,%r14
-	addq	%r13,%r12
-
-	xorq	%rdi,%rbx
-	addq	%r12,%r9
-	addq	%r12,%rbx
-
-	leaq	8(%rbp),%rbp
-	addq	%r14,%rbx
-	movq	56(%rsi),%r12
-	movq	%r9,%r13
-	movq	%rbx,%r14
-	bswapq	%r12
-	rorq	$23,%r13
-	movq	%r10,%rdi
-
-	xorq	%r9,%r13
-	rorq	$5,%r14
-	xorq	%r11,%rdi
-
-	movq	%r12,56(%rsp)
-	xorq	%rbx,%r14
-	andq	%r9,%rdi
-
-	rorq	$4,%r13
-	addq	%rax,%r12
-	xorq	%r11,%rdi
-
-	rorq	$6,%r14
-	xorq	%r9,%r13
-	addq	%rdi,%r12
-
-	movq	%rbx,%rdi
-	addq	(%rbp),%r12
-	xorq	%rbx,%r14
-
-	xorq	%rcx,%rdi
-	rorq	$14,%r13
-	movq	%rcx,%rax
-
-	andq	%rdi,%r15
-	rorq	$28,%r14
-	addq	%r13,%r12
-
-	xorq	%r15,%rax
-	addq	%r12,%r8
-	addq	%r12,%rax
-
-	leaq	24(%rbp),%rbp
-	addq	%r14,%rax
-	movq	64(%rsi),%r12
-	movq	%r8,%r13
-	movq	%rax,%r14
-	bswapq	%r12
-	rorq	$23,%r13
-	movq	%r9,%r15
-
-	xorq	%r8,%r13
-	rorq	$5,%r14
-	xorq	%r10,%r15
-
-	movq	%r12,64(%rsp)
-	xorq	%rax,%r14
-	andq	%r8,%r15
-
-	rorq	$4,%r13
-	addq	%r11,%r12
-	xorq	%r10,%r15
-
-	rorq	$6,%r14
-	xorq	%r8,%r13
-	addq	%r15,%r12
-
-	movq	%rax,%r15
-	addq	(%rbp),%r12
-	xorq	%rax,%r14
-
-	xorq	%rbx,%r15
-	rorq	$14,%r13
-	movq	%rbx,%r11
-
-	andq	%r15,%rdi
-	rorq	$28,%r14
-	addq	%r13,%r12
-
-	xorq	%rdi,%r11
-	addq	%r12,%rdx
-	addq	%r12,%r11
-
-	leaq	8(%rbp),%rbp
-	addq	%r14,%r11
-	movq	72(%rsi),%r12
-	movq	%rdx,%r13
-	movq	%r11,%r14
-	bswapq	%r12
-	rorq	$23,%r13
-	movq	%r8,%rdi
-
-	xorq	%rdx,%r13
-	rorq	$5,%r14
-	xorq	%r9,%rdi
-
-	movq	%r12,72(%rsp)
-	xorq	%r11,%r14
-	andq	%rdx,%rdi
-
-	rorq	$4,%r13
-	addq	%r10,%r12
-	xorq	%r9,%rdi
-
-	rorq	$6,%r14
-	xorq	%rdx,%r13
-	addq	%rdi,%r12
-
-	movq	%r11,%rdi
-	addq	(%rbp),%r12
-	xorq	%r11,%r14
-
-	xorq	%rax,%rdi
-	rorq	$14,%r13
-	movq	%rax,%r10
-
-	andq	%rdi,%r15
-	rorq	$28,%r14
-	addq	%r13,%r12
-
-	xorq	%r15,%r10
-	addq	%r12,%rcx
-	addq	%r12,%r10
-
-	leaq	24(%rbp),%rbp
-	addq	%r14,%r10
-	movq	80(%rsi),%r12
-	movq	%rcx,%r13
-	movq	%r10,%r14
-	bswapq	%r12
-	rorq	$23,%r13
-	movq	%rdx,%r15
-
-	xorq	%rcx,%r13
-	rorq	$5,%r14
-	xorq	%r8,%r15
-
-	movq	%r12,80(%rsp)
-	xorq	%r10,%r14
-	andq	%rcx,%r15
-
-	rorq	$4,%r13
-	addq	%r9,%r12
-	xorq	%r8,%r15
-
-	rorq	$6,%r14
-	xorq	%rcx,%r13
-	addq	%r15,%r12
-
-	movq	%r10,%r15
-	addq	(%rbp),%r12
-	xorq	%r10,%r14
-
-	xorq	%r11,%r15
-	rorq	$14,%r13
-	movq	%r11,%r9
-
-	andq	%r15,%rdi
-	rorq	$28,%r14
-	addq	%r13,%r12
-
-	xorq	%rdi,%r9
-	addq	%r12,%rbx
-	addq	%r12,%r9
-
-	leaq	8(%rbp),%rbp
-	addq	%r14,%r9
-	movq	88(%rsi),%r12
-	movq	%rbx,%r13
-	movq	%r9,%r14
-	bswapq	%r12
-	rorq	$23,%r13
-	movq	%rcx,%rdi
-
-	xorq	%rbx,%r13
-	rorq	$5,%r14
-	xorq	%rdx,%rdi
-
-	movq	%r12,88(%rsp)
-	xorq	%r9,%r14
-	andq	%rbx,%rdi
-
-	rorq	$4,%r13
-	addq	%r8,%r12
-	xorq	%rdx,%rdi
-
-	rorq	$6,%r14
-	xorq	%rbx,%r13
-	addq	%rdi,%r12
-
-	movq	%r9,%rdi
-	addq	(%rbp),%r12
-	xorq	%r9,%r14
-
-	xorq	%r10,%rdi
-	rorq	$14,%r13
-	movq	%r10,%r8
-
-	andq	%rdi,%r15
-	rorq	$28,%r14
-	addq	%r13,%r12
-
-	xorq	%r15,%r8
-	addq	%r12,%rax
-	addq	%r12,%r8
-
-	leaq	24(%rbp),%rbp
-	addq	%r14,%r8
-	movq	96(%rsi),%r12
-	movq	%rax,%r13
-	movq	%r8,%r14
-	bswapq	%r12
-	rorq	$23,%r13
-	movq	%rbx,%r15
-
-	xorq	%rax,%r13
-	rorq	$5,%r14
-	xorq	%rcx,%r15
-
-	movq	%r12,96(%rsp)
-	xorq	%r8,%r14
-	andq	%rax,%r15
-
-	rorq	$4,%r13
-	addq	%rdx,%r12
-	xorq	%rcx,%r15
-
-	rorq	$6,%r14
-	xorq	%rax,%r13
-	addq	%r15,%r12
-
-	movq	%r8,%r15
-	addq	(%rbp),%r12
-	xorq	%r8,%r14
-
-	xorq	%r9,%r15
-	rorq	$14,%r13
-	movq	%r9,%rdx
-
-	andq	%r15,%rdi
-	rorq	$28,%r14
-	addq	%r13,%r12
-
-	xorq	%rdi,%rdx
-	addq	%r12,%r11
-	addq	%r12,%rdx
-
-	leaq	8(%rbp),%rbp
-	addq	%r14,%rdx
-	movq	104(%rsi),%r12
-	movq	%r11,%r13
-	movq	%rdx,%r14
-	bswapq	%r12
-	rorq	$23,%r13
-	movq	%rax,%rdi
-
-	xorq	%r11,%r13
-	rorq	$5,%r14
-	xorq	%rbx,%rdi
-
-	movq	%r12,104(%rsp)
-	xorq	%rdx,%r14
-	andq	%r11,%rdi
-
-	rorq	$4,%r13
-	addq	%rcx,%r12
-	xorq	%rbx,%rdi
-
-	rorq	$6,%r14
-	xorq	%r11,%r13
-	addq	%rdi,%r12
-
-	movq	%rdx,%rdi
-	addq	(%rbp),%r12
-	xorq	%rdx,%r14
-
-	xorq	%r8,%rdi
-	rorq	$14,%r13
-	movq	%r8,%rcx
-
-	andq	%rdi,%r15
-	rorq	$28,%r14
-	addq	%r13,%r12
-
-	xorq	%r15,%rcx
-	addq	%r12,%r10
-	addq	%r12,%rcx
-
-	leaq	24(%rbp),%rbp
-	addq	%r14,%rcx
-	movq	112(%rsi),%r12
-	movq	%r10,%r13
-	movq	%rcx,%r14
-	bswapq	%r12
-	rorq	$23,%r13
-	movq	%r11,%r15
-
-	xorq	%r10,%r13
-	rorq	$5,%r14
-	xorq	%rax,%r15
-
-	movq	%r12,112(%rsp)
-	xorq	%rcx,%r14
-	andq	%r10,%r15
-
-	rorq	$4,%r13
-	addq	%rbx,%r12
-	xorq	%rax,%r15
-
-	rorq	$6,%r14
-	xorq	%r10,%r13
-	addq	%r15,%r12
-
-	movq	%rcx,%r15
-	addq	(%rbp),%r12
-	xorq	%rcx,%r14
-
-	xorq	%rdx,%r15
-	rorq	$14,%r13
-	movq	%rdx,%rbx
-
-	andq	%r15,%rdi
-	rorq	$28,%r14
-	addq	%r13,%r12
-
-	xorq	%rdi,%rbx
-	addq	%r12,%r9
-	addq	%r12,%rbx
-
-	leaq	8(%rbp),%rbp
-	addq	%r14,%rbx
-	movq	120(%rsi),%r12
-	movq	%r9,%r13
-	movq	%rbx,%r14
-	bswapq	%r12
-	rorq	$23,%r13
-	movq	%r10,%rdi
-
-	xorq	%r9,%r13
-	rorq	$5,%r14
-	xorq	%r11,%rdi
-
-	movq	%r12,120(%rsp)
-	xorq	%rbx,%r14
-	andq	%r9,%rdi
-
-	rorq	$4,%r13
-	addq	%rax,%r12
-	xorq	%r11,%rdi
-
-	rorq	$6,%r14
-	xorq	%r9,%r13
-	addq	%rdi,%r12
-
-	movq	%rbx,%rdi
-	addq	(%rbp),%r12
-	xorq	%rbx,%r14
-
-	xorq	%rcx,%rdi
-	rorq	$14,%r13
-	movq	%rcx,%rax
-
-	andq	%rdi,%r15
-	rorq	$28,%r14
-	addq	%r13,%r12
-
-	xorq	%r15,%rax
-	addq	%r12,%r8
-	addq	%r12,%rax
-
-	leaq	24(%rbp),%rbp
-	jmp	.Lrounds_16_xx
-.align	16
-.Lrounds_16_xx:
-	movq	8(%rsp),%r13
-	movq	112(%rsp),%r15
-
-	movq	%r13,%r12
-	rorq	$7,%r13
-	addq	%r14,%rax
-	movq	%r15,%r14
-	rorq	$42,%r15
-
-	xorq	%r12,%r13
-	shrq	$7,%r12
-	rorq	$1,%r13
-	xorq	%r14,%r15
-	shrq	$6,%r14
-
-	rorq	$19,%r15
-	xorq	%r13,%r12
-	xorq	%r14,%r15
-	addq	72(%rsp),%r12
-
-	addq	0(%rsp),%r12
-	movq	%r8,%r13
-	addq	%r15,%r12
-	movq	%rax,%r14
-	rorq	$23,%r13
-	movq	%r9,%r15
-
-	xorq	%r8,%r13
-	rorq	$5,%r14
-	xorq	%r10,%r15
-
-	movq	%r12,0(%rsp)
-	xorq	%rax,%r14
-	andq	%r8,%r15
-
-	rorq	$4,%r13
-	addq	%r11,%r12
-	xorq	%r10,%r15
-
-	rorq	$6,%r14
-	xorq	%r8,%r13
-	addq	%r15,%r12
-
-	movq	%rax,%r15
-	addq	(%rbp),%r12
-	xorq	%rax,%r14
-
-	xorq	%rbx,%r15
-	rorq	$14,%r13
-	movq	%rbx,%r11
-
-	andq	%r15,%rdi
-	rorq	$28,%r14
-	addq	%r13,%r12
-
-	xorq	%rdi,%r11
-	addq	%r12,%rdx
-	addq	%r12,%r11
-
-	leaq	8(%rbp),%rbp
-	movq	16(%rsp),%r13
-	movq	120(%rsp),%rdi
-
-	movq	%r13,%r12
-	rorq	$7,%r13
-	addq	%r14,%r11
-	movq	%rdi,%r14
-	rorq	$42,%rdi
-
-	xorq	%r12,%r13
-	shrq	$7,%r12
-	rorq	$1,%r13
-	xorq	%r14,%rdi
-	shrq	$6,%r14
-
-	rorq	$19,%rdi
-	xorq	%r13,%r12
-	xorq	%r14,%rdi
-	addq	80(%rsp),%r12
-
-	addq	8(%rsp),%r12
-	movq	%rdx,%r13
-	addq	%rdi,%r12
-	movq	%r11,%r14
-	rorq	$23,%r13
-	movq	%r8,%rdi
-
-	xorq	%rdx,%r13
-	rorq	$5,%r14
-	xorq	%r9,%rdi
-
-	movq	%r12,8(%rsp)
-	xorq	%r11,%r14
-	andq	%rdx,%rdi
-
-	rorq	$4,%r13
-	addq	%r10,%r12
-	xorq	%r9,%rdi
-
-	rorq	$6,%r14
-	xorq	%rdx,%r13
-	addq	%rdi,%r12
-
-	movq	%r11,%rdi
-	addq	(%rbp),%r12
-	xorq	%r11,%r14
-
-	xorq	%rax,%rdi
-	rorq	$14,%r13
-	movq	%rax,%r10
-
-	andq	%rdi,%r15
-	rorq	$28,%r14
-	addq	%r13,%r12
-
-	xorq	%r15,%r10
-	addq	%r12,%rcx
-	addq	%r12,%r10
-
-	leaq	24(%rbp),%rbp
-	movq	24(%rsp),%r13
-	movq	0(%rsp),%r15
-
-	movq	%r13,%r12
-	rorq	$7,%r13
-	addq	%r14,%r10
-	movq	%r15,%r14
-	rorq	$42,%r15
-
-	xorq	%r12,%r13
-	shrq	$7,%r12
-	rorq	$1,%r13
-	xorq	%r14,%r15
-	shrq	$6,%r14
-
-	rorq	$19,%r15
-	xorq	%r13,%r12
-	xorq	%r14,%r15
-	addq	88(%rsp),%r12
-
-	addq	16(%rsp),%r12
-	movq	%rcx,%r13
-	addq	%r15,%r12
-	movq	%r10,%r14
-	rorq	$23,%r13
-	movq	%rdx,%r15
-
-	xorq	%rcx,%r13
-	rorq	$5,%r14
-	xorq	%r8,%r15
-
-	movq	%r12,16(%rsp)
-	xorq	%r10,%r14
-	andq	%rcx,%r15
-
-	rorq	$4,%r13
-	addq	%r9,%r12
-	xorq	%r8,%r15
-
-	rorq	$6,%r14
-	xorq	%rcx,%r13
-	addq	%r15,%r12
-
-	movq	%r10,%r15
-	addq	(%rbp),%r12
-	xorq	%r10,%r14
-
-	xorq	%r11,%r15
-	rorq	$14,%r13
-	movq	%r11,%r9
-
-	andq	%r15,%rdi
-	rorq	$28,%r14
-	addq	%r13,%r12
-
-	xorq	%rdi,%r9
-	addq	%r12,%rbx
-	addq	%r12,%r9
-
-	leaq	8(%rbp),%rbp
-	movq	32(%rsp),%r13
-	movq	8(%rsp),%rdi
-
-	movq	%r13,%r12
-	rorq	$7,%r13
-	addq	%r14,%r9
-	movq	%rdi,%r14
-	rorq	$42,%rdi
-
-	xorq	%r12,%r13
-	shrq	$7,%r12
-	rorq	$1,%r13
-	xorq	%r14,%rdi
-	shrq	$6,%r14
-
-	rorq	$19,%rdi
-	xorq	%r13,%r12
-	xorq	%r14,%rdi
-	addq	96(%rsp),%r12
-
-	addq	24(%rsp),%r12
-	movq	%rbx,%r13
-	addq	%rdi,%r12
-	movq	%r9,%r14
-	rorq	$23,%r13
-	movq	%rcx,%rdi
-
-	xorq	%rbx,%r13
-	rorq	$5,%r14
-	xorq	%rdx,%rdi
-
-	movq	%r12,24(%rsp)
-	xorq	%r9,%r14
-	andq	%rbx,%rdi
-
-	rorq	$4,%r13
-	addq	%r8,%r12
-	xorq	%rdx,%rdi
-
-	rorq	$6,%r14
-	xorq	%rbx,%r13
-	addq	%rdi,%r12
-
-	movq	%r9,%rdi
-	addq	(%rbp),%r12
-	xorq	%r9,%r14
-
-	xorq	%r10,%rdi
-	rorq	$14,%r13
-	movq	%r10,%r8
-
-	andq	%rdi,%r15
-	rorq	$28,%r14
-	addq	%r13,%r12
-
-	xorq	%r15,%r8
-	addq	%r12,%rax
-	addq	%r12,%r8
-
-	leaq	24(%rbp),%rbp
-	movq	40(%rsp),%r13
-	movq	16(%rsp),%r15
-
-	movq	%r13,%r12
-	rorq	$7,%r13
-	addq	%r14,%r8
-	movq	%r15,%r14
-	rorq	$42,%r15
-
-	xorq	%r12,%r13
-	shrq	$7,%r12
-	rorq	$1,%r13
-	xorq	%r14,%r15
-	shrq	$6,%r14
-
-	rorq	$19,%r15
-	xorq	%r13,%r12
-	xorq	%r14,%r15
-	addq	104(%rsp),%r12
-
-	addq	32(%rsp),%r12
-	movq	%rax,%r13
-	addq	%r15,%r12
-	movq	%r8,%r14
-	rorq	$23,%r13
-	movq	%rbx,%r15
-
-	xorq	%rax,%r13
-	rorq	$5,%r14
-	xorq	%rcx,%r15
-
-	movq	%r12,32(%rsp)
-	xorq	%r8,%r14
-	andq	%rax,%r15
-
-	rorq	$4,%r13
-	addq	%rdx,%r12
-	xorq	%rcx,%r15
-
-	rorq	$6,%r14
-	xorq	%rax,%r13
-	addq	%r15,%r12
-
-	movq	%r8,%r15
-	addq	(%rbp),%r12
-	xorq	%r8,%r14
-
-	xorq	%r9,%r15
-	rorq	$14,%r13
-	movq	%r9,%rdx
-
-	andq	%r15,%rdi
-	rorq	$28,%r14
-	addq	%r13,%r12
-
-	xorq	%rdi,%rdx
-	addq	%r12,%r11
-	addq	%r12,%rdx
-
-	leaq	8(%rbp),%rbp
-	movq	48(%rsp),%r13
-	movq	24(%rsp),%rdi
-
-	movq	%r13,%r12
-	rorq	$7,%r13
-	addq	%r14,%rdx
-	movq	%rdi,%r14
-	rorq	$42,%rdi
-
-	xorq	%r12,%r13
-	shrq	$7,%r12
-	rorq	$1,%r13
-	xorq	%r14,%rdi
-	shrq	$6,%r14
-
-	rorq	$19,%rdi
-	xorq	%r13,%r12
-	xorq	%r14,%rdi
-	addq	112(%rsp),%r12
-
-	addq	40(%rsp),%r12
-	movq	%r11,%r13
-	addq	%rdi,%r12
-	movq	%rdx,%r14
-	rorq	$23,%r13
-	movq	%rax,%rdi
-
-	xorq	%r11,%r13
-	rorq	$5,%r14
-	xorq	%rbx,%rdi
-
-	movq	%r12,40(%rsp)
-	xorq	%rdx,%r14
-	andq	%r11,%rdi
-
-	rorq	$4,%r13
-	addq	%rcx,%r12
-	xorq	%rbx,%rdi
-
-	rorq	$6,%r14
-	xorq	%r11,%r13
-	addq	%rdi,%r12
-
-	movq	%rdx,%rdi
-	addq	(%rbp),%r12
-	xorq	%rdx,%r14
-
-	xorq	%r8,%rdi
-	rorq	$14,%r13
-	movq	%r8,%rcx
-
-	andq	%rdi,%r15
-	rorq	$28,%r14
-	addq	%r13,%r12
-
-	xorq	%r15,%rcx
-	addq	%r12,%r10
-	addq	%r12,%rcx
-
-	leaq	24(%rbp),%rbp
-	movq	56(%rsp),%r13
-	movq	32(%rsp),%r15
-
-	movq	%r13,%r12
-	rorq	$7,%r13
-	addq	%r14,%rcx
-	movq	%r15,%r14
-	rorq	$42,%r15
-
-	xorq	%r12,%r13
-	shrq	$7,%r12
-	rorq	$1,%r13
-	xorq	%r14,%r15
-	shrq	$6,%r14
-
-	rorq	$19,%r15
-	xorq	%r13,%r12
-	xorq	%r14,%r15
-	addq	120(%rsp),%r12
-
-	addq	48(%rsp),%r12
-	movq	%r10,%r13
-	addq	%r15,%r12
-	movq	%rcx,%r14
-	rorq	$23,%r13
-	movq	%r11,%r15
-
-	xorq	%r10,%r13
-	rorq	$5,%r14
-	xorq	%rax,%r15
-
-	movq	%r12,48(%rsp)
-	xorq	%rcx,%r14
-	andq	%r10,%r15
-
-	rorq	$4,%r13
-	addq	%rbx,%r12
-	xorq	%rax,%r15
-
-	rorq	$6,%r14
-	xorq	%r10,%r13
-	addq	%r15,%r12
-
-	movq	%rcx,%r15
-	addq	(%rbp),%r12
-	xorq	%rcx,%r14
-
-	xorq	%rdx,%r15
-	rorq	$14,%r13
-	movq	%rdx,%rbx
-
-	andq	%r15,%rdi
-	rorq	$28,%r14
-	addq	%r13,%r12
-
-	xorq	%rdi,%rbx
-	addq	%r12,%r9
-	addq	%r12,%rbx
-
-	leaq	8(%rbp),%rbp
-	movq	64(%rsp),%r13
-	movq	40(%rsp),%rdi
-
-	movq	%r13,%r12
-	rorq	$7,%r13
-	addq	%r14,%rbx
-	movq	%rdi,%r14
-	rorq	$42,%rdi
-
-	xorq	%r12,%r13
-	shrq	$7,%r12
-	rorq	$1,%r13
-	xorq	%r14,%rdi
-	shrq	$6,%r14
-
-	rorq	$19,%rdi
-	xorq	%r13,%r12
-	xorq	%r14,%rdi
-	addq	0(%rsp),%r12
-
-	addq	56(%rsp),%r12
-	movq	%r9,%r13
-	addq	%rdi,%r12
-	movq	%rbx,%r14
-	rorq	$23,%r13
-	movq	%r10,%rdi
-
-	xorq	%r9,%r13
-	rorq	$5,%r14
-	xorq	%r11,%rdi
-
-	movq	%r12,56(%rsp)
-	xorq	%rbx,%r14
-	andq	%r9,%rdi
-
-	rorq	$4,%r13
-	addq	%rax,%r12
-	xorq	%r11,%rdi
-
-	rorq	$6,%r14
-	xorq	%r9,%r13
-	addq	%rdi,%r12
-
-	movq	%rbx,%rdi
-	addq	(%rbp),%r12
-	xorq	%rbx,%r14
-
-	xorq	%rcx,%rdi
-	rorq	$14,%r13
-	movq	%rcx,%rax
-
-	andq	%rdi,%r15
-	rorq	$28,%r14
-	addq	%r13,%r12
-
-	xorq	%r15,%rax
-	addq	%r12,%r8
-	addq	%r12,%rax
-
-	leaq	24(%rbp),%rbp
-	movq	72(%rsp),%r13
-	movq	48(%rsp),%r15
-
-	movq	%r13,%r12
-	rorq	$7,%r13
-	addq	%r14,%rax
-	movq	%r15,%r14
-	rorq	$42,%r15
-
-	xorq	%r12,%r13
-	shrq	$7,%r12
-	rorq	$1,%r13
-	xorq	%r14,%r15
-	shrq	$6,%r14
-
-	rorq	$19,%r15
-	xorq	%r13,%r12
-	xorq	%r14,%r15
-	addq	8(%rsp),%r12
-
-	addq	64(%rsp),%r12
-	movq	%r8,%r13
-	addq	%r15,%r12
-	movq	%rax,%r14
-	rorq	$23,%r13
-	movq	%r9,%r15
-
-	xorq	%r8,%r13
-	rorq	$5,%r14
-	xorq	%r10,%r15
-
-	movq	%r12,64(%rsp)
-	xorq	%rax,%r14
-	andq	%r8,%r15
-
-	rorq	$4,%r13
-	addq	%r11,%r12
-	xorq	%r10,%r15
-
-	rorq	$6,%r14
-	xorq	%r8,%r13
-	addq	%r15,%r12
-
-	movq	%rax,%r15
-	addq	(%rbp),%r12
-	xorq	%rax,%r14
-
-	xorq	%rbx,%r15
-	rorq	$14,%r13
-	movq	%rbx,%r11
-
-	andq	%r15,%rdi
-	rorq	$28,%r14
-	addq	%r13,%r12
-
-	xorq	%rdi,%r11
-	addq	%r12,%rdx
-	addq	%r12,%r11
-
-	leaq	8(%rbp),%rbp
-	movq	80(%rsp),%r13
-	movq	56(%rsp),%rdi
-
-	movq	%r13,%r12
-	rorq	$7,%r13
-	addq	%r14,%r11
-	movq	%rdi,%r14
-	rorq	$42,%rdi
-
-	xorq	%r12,%r13
-	shrq	$7,%r12
-	rorq	$1,%r13
-	xorq	%r14,%rdi
-	shrq	$6,%r14
-
-	rorq	$19,%rdi
-	xorq	%r13,%r12
-	xorq	%r14,%rdi
-	addq	16(%rsp),%r12
-
-	addq	72(%rsp),%r12
-	movq	%rdx,%r13
-	addq	%rdi,%r12
-	movq	%r11,%r14
-	rorq	$23,%r13
-	movq	%r8,%rdi
-
-	xorq	%rdx,%r13
-	rorq	$5,%r14
-	xorq	%r9,%rdi
-
-	movq	%r12,72(%rsp)
-	xorq	%r11,%r14
-	andq	%rdx,%rdi
-
-	rorq	$4,%r13
-	addq	%r10,%r12
-	xorq	%r9,%rdi
-
-	rorq	$6,%r14
-	xorq	%rdx,%r13
-	addq	%rdi,%r12
-
-	movq	%r11,%rdi
-	addq	(%rbp),%r12
-	xorq	%r11,%r14
-
-	xorq	%rax,%rdi
-	rorq	$14,%r13
-	movq	%rax,%r10
-
-	andq	%rdi,%r15
-	rorq	$28,%r14
-	addq	%r13,%r12
-
-	xorq	%r15,%r10
-	addq	%r12,%rcx
-	addq	%r12,%r10
-
-	leaq	24(%rbp),%rbp
-	movq	88(%rsp),%r13
-	movq	64(%rsp),%r15
-
-	movq	%r13,%r12
-	rorq	$7,%r13
-	addq	%r14,%r10
-	movq	%r15,%r14
-	rorq	$42,%r15
-
-	xorq	%r12,%r13
-	shrq	$7,%r12
-	rorq	$1,%r13
-	xorq	%r14,%r15
-	shrq	$6,%r14
-
-	rorq	$19,%r15
-	xorq	%r13,%r12
-	xorq	%r14,%r15
-	addq	24(%rsp),%r12
-
-	addq	80(%rsp),%r12
-	movq	%rcx,%r13
-	addq	%r15,%r12
-	movq	%r10,%r14
-	rorq	$23,%r13
-	movq	%rdx,%r15
-
-	xorq	%rcx,%r13
-	rorq	$5,%r14
-	xorq	%r8,%r15
-
-	movq	%r12,80(%rsp)
-	xorq	%r10,%r14
-	andq	%rcx,%r15
-
-	rorq	$4,%r13
-	addq	%r9,%r12
-	xorq	%r8,%r15
-
-	rorq	$6,%r14
-	xorq	%rcx,%r13
-	addq	%r15,%r12
-
-	movq	%r10,%r15
-	addq	(%rbp),%r12
-	xorq	%r10,%r14
-
-	xorq	%r11,%r15
-	rorq	$14,%r13
-	movq	%r11,%r9
-
-	andq	%r15,%rdi
-	rorq	$28,%r14
-	addq	%r13,%r12
-
-	xorq	%rdi,%r9
-	addq	%r12,%rbx
-	addq	%r12,%r9
-
-	leaq	8(%rbp),%rbp
-	movq	96(%rsp),%r13
-	movq	72(%rsp),%rdi
-
-	movq	%r13,%r12
-	rorq	$7,%r13
-	addq	%r14,%r9
-	movq	%rdi,%r14
-	rorq	$42,%rdi
-
-	xorq	%r12,%r13
-	shrq	$7,%r12
-	rorq	$1,%r13
-	xorq	%r14,%rdi
-	shrq	$6,%r14
-
-	rorq	$19,%rdi
-	xorq	%r13,%r12
-	xorq	%r14,%rdi
-	addq	32(%rsp),%r12
-
-	addq	88(%rsp),%r12
-	movq	%rbx,%r13
-	addq	%rdi,%r12
-	movq	%r9,%r14
-	rorq	$23,%r13
-	movq	%rcx,%rdi
-
-	xorq	%rbx,%r13
-	rorq	$5,%r14
-	xorq	%rdx,%rdi
-
-	movq	%r12,88(%rsp)
-	xorq	%r9,%r14
-	andq	%rbx,%rdi
-
-	rorq	$4,%r13
-	addq	%r8,%r12
-	xorq	%rdx,%rdi
-
-	rorq	$6,%r14
-	xorq	%rbx,%r13
-	addq	%rdi,%r12
-
-	movq	%r9,%rdi
-	addq	(%rbp),%r12
-	xorq	%r9,%r14
-
-	xorq	%r10,%rdi
-	rorq	$14,%r13
-	movq	%r10,%r8
-
-	andq	%rdi,%r15
-	rorq	$28,%r14
-	addq	%r13,%r12
-
-	xorq	%r15,%r8
-	addq	%r12,%rax
-	addq	%r12,%r8
-
-	leaq	24(%rbp),%rbp
-	movq	104(%rsp),%r13
-	movq	80(%rsp),%r15
-
-	movq	%r13,%r12
-	rorq	$7,%r13
-	addq	%r14,%r8
-	movq	%r15,%r14
-	rorq	$42,%r15
-
-	xorq	%r12,%r13
-	shrq	$7,%r12
-	rorq	$1,%r13
-	xorq	%r14,%r15
-	shrq	$6,%r14
-
-	rorq	$19,%r15
-	xorq	%r13,%r12
-	xorq	%r14,%r15
-	addq	40(%rsp),%r12
-
-	addq	96(%rsp),%r12
-	movq	%rax,%r13
-	addq	%r15,%r12
-	movq	%r8,%r14
-	rorq	$23,%r13
-	movq	%rbx,%r15
-
-	xorq	%rax,%r13
-	rorq	$5,%r14
-	xorq	%rcx,%r15
-
-	movq	%r12,96(%rsp)
-	xorq	%r8,%r14
-	andq	%rax,%r15
-
-	rorq	$4,%r13
-	addq	%rdx,%r12
-	xorq	%rcx,%r15
-
-	rorq	$6,%r14
-	xorq	%rax,%r13
-	addq	%r15,%r12
-
-	movq	%r8,%r15
-	addq	(%rbp),%r12
-	xorq	%r8,%r14
-
-	xorq	%r9,%r15
-	rorq	$14,%r13
-	movq	%r9,%rdx
-
-	andq	%r15,%rdi
-	rorq	$28,%r14
-	addq	%r13,%r12
-
-	xorq	%rdi,%rdx
-	addq	%r12,%r11
-	addq	%r12,%rdx
-
-	leaq	8(%rbp),%rbp
-	movq	112(%rsp),%r13
-	movq	88(%rsp),%rdi
-
-	movq	%r13,%r12
-	rorq	$7,%r13
-	addq	%r14,%rdx
-	movq	%rdi,%r14
-	rorq	$42,%rdi
-
-	xorq	%r12,%r13
-	shrq	$7,%r12
-	rorq	$1,%r13
-	xorq	%r14,%rdi
-	shrq	$6,%r14
-
-	rorq	$19,%rdi
-	xorq	%r13,%r12
-	xorq	%r14,%rdi
-	addq	48(%rsp),%r12
-
-	addq	104(%rsp),%r12
-	movq	%r11,%r13
-	addq	%rdi,%r12
-	movq	%rdx,%r14
-	rorq	$23,%r13
-	movq	%rax,%rdi
-
-	xorq	%r11,%r13
-	rorq	$5,%r14
-	xorq	%rbx,%rdi
-
-	movq	%r12,104(%rsp)
-	xorq	%rdx,%r14
-	andq	%r11,%rdi
-
-	rorq	$4,%r13
-	addq	%rcx,%r12
-	xorq	%rbx,%rdi
-
-	rorq	$6,%r14
-	xorq	%r11,%r13
-	addq	%rdi,%r12
-
-	movq	%rdx,%rdi
-	addq	(%rbp),%r12
-	xorq	%rdx,%r14
-
-	xorq	%r8,%rdi
-	rorq	$14,%r13
-	movq	%r8,%rcx
-
-	andq	%rdi,%r15
-	rorq	$28,%r14
-	addq	%r13,%r12
-
-	xorq	%r15,%rcx
-	addq	%r12,%r10
-	addq	%r12,%rcx
-
-	leaq	24(%rbp),%rbp
-	movq	120(%rsp),%r13
-	movq	96(%rsp),%r15
-
-	movq	%r13,%r12
-	rorq	$7,%r13
-	addq	%r14,%rcx
-	movq	%r15,%r14
-	rorq	$42,%r15
-
-	xorq	%r12,%r13
-	shrq	$7,%r12
-	rorq	$1,%r13
-	xorq	%r14,%r15
-	shrq	$6,%r14
-
-	rorq	$19,%r15
-	xorq	%r13,%r12
-	xorq	%r14,%r15
-	addq	56(%rsp),%r12
-
-	addq	112(%rsp),%r12
-	movq	%r10,%r13
-	addq	%r15,%r12
-	movq	%rcx,%r14
-	rorq	$23,%r13
-	movq	%r11,%r15
-
-	xorq	%r10,%r13
-	rorq	$5,%r14
-	xorq	%rax,%r15
-
-	movq	%r12,112(%rsp)
-	xorq	%rcx,%r14
-	andq	%r10,%r15
-
-	rorq	$4,%r13
-	addq	%rbx,%r12
-	xorq	%rax,%r15
-
-	rorq	$6,%r14
-	xorq	%r10,%r13
-	addq	%r15,%r12
-
-	movq	%rcx,%r15
-	addq	(%rbp),%r12
-	xorq	%rcx,%r14
-
-	xorq	%rdx,%r15
-	rorq	$14,%r13
-	movq	%rdx,%rbx
-
-	andq	%r15,%rdi
-	rorq	$28,%r14
-	addq	%r13,%r12
-
-	xorq	%rdi,%rbx
-	addq	%r12,%r9
-	addq	%r12,%rbx
-
-	leaq	8(%rbp),%rbp
-	movq	0(%rsp),%r13
-	movq	104(%rsp),%rdi
-
-	movq	%r13,%r12
-	rorq	$7,%r13
-	addq	%r14,%rbx
-	movq	%rdi,%r14
-	rorq	$42,%rdi
-
-	xorq	%r12,%r13
-	shrq	$7,%r12
-	rorq	$1,%r13
-	xorq	%r14,%rdi
-	shrq	$6,%r14
-
-	rorq	$19,%rdi
-	xorq	%r13,%r12
-	xorq	%r14,%rdi
-	addq	64(%rsp),%r12
-
-	addq	120(%rsp),%r12
-	movq	%r9,%r13
-	addq	%rdi,%r12
-	movq	%rbx,%r14
-	rorq	$23,%r13
-	movq	%r10,%rdi
-
-	xorq	%r9,%r13
-	rorq	$5,%r14
-	xorq	%r11,%rdi
-
-	movq	%r12,120(%rsp)
-	xorq	%rbx,%r14
-	andq	%r9,%rdi
-
-	rorq	$4,%r13
-	addq	%rax,%r12
-	xorq	%r11,%rdi
-
-	rorq	$6,%r14
-	xorq	%r9,%r13
-	addq	%rdi,%r12
-
-	movq	%rbx,%rdi
-	addq	(%rbp),%r12
-	xorq	%rbx,%r14
-
-	xorq	%rcx,%rdi
-	rorq	$14,%r13
-	movq	%rcx,%rax
-
-	andq	%rdi,%r15
-	rorq	$28,%r14
-	addq	%r13,%r12
-
-	xorq	%r15,%rax
-	addq	%r12,%r8
-	addq	%r12,%rax
-
-	leaq	24(%rbp),%rbp
-	cmpb	$0,7(%rbp)
-	jnz	.Lrounds_16_xx
-
-	movq	128+0(%rsp),%rdi
-	addq	%r14,%rax
-	leaq	128(%rsi),%rsi
-
-	addq	0(%rdi),%rax
-	addq	8(%rdi),%rbx
-	addq	16(%rdi),%rcx
-	addq	24(%rdi),%rdx
-	addq	32(%rdi),%r8
-	addq	40(%rdi),%r9
-	addq	48(%rdi),%r10
-	addq	56(%rdi),%r11
-
-	cmpq	128+16(%rsp),%rsi
-
-	movq	%rax,0(%rdi)
-	movq	%rbx,8(%rdi)
-	movq	%rcx,16(%rdi)
-	movq	%rdx,24(%rdi)
-	movq	%r8,32(%rdi)
-	movq	%r9,40(%rdi)
-	movq	%r10,48(%rdi)
-	movq	%r11,56(%rdi)
-	jb	.Lloop
-
-	movq	128+24(%rsp),%rsi
-	movq	-48(%rsi),%r15
-	movq	-40(%rsi),%r14
-	movq	-32(%rsi),%r13
-	movq	-24(%rsi),%r12
-	movq	-16(%rsi),%rbp
-	movq	-8(%rsi),%rbx
-	leaq	(%rsi),%rsp
-.Lepilogue:
-	.byte	0xf3,0xc3
-.size	sha512_block_data_order,.-sha512_block_data_order
-.align	64
-.type	K512,@object
-K512:
-.quad	0x428a2f98d728ae22,0x7137449123ef65cd
-.quad	0x428a2f98d728ae22,0x7137449123ef65cd
-.quad	0xb5c0fbcfec4d3b2f,0xe9b5dba58189dbbc
-.quad	0xb5c0fbcfec4d3b2f,0xe9b5dba58189dbbc
-.quad	0x3956c25bf348b538,0x59f111f1b605d019
-.quad	0x3956c25bf348b538,0x59f111f1b605d019
-.quad	0x923f82a4af194f9b,0xab1c5ed5da6d8118
-.quad	0x923f82a4af194f9b,0xab1c5ed5da6d8118
-.quad	0xd807aa98a3030242,0x12835b0145706fbe
-.quad	0xd807aa98a3030242,0x12835b0145706fbe
-.quad	0x243185be4ee4b28c,0x550c7dc3d5ffb4e2
-.quad	0x243185be4ee4b28c,0x550c7dc3d5ffb4e2
-.quad	0x72be5d74f27b896f,0x80deb1fe3b1696b1
-.quad	0x72be5d74f27b896f,0x80deb1fe3b1696b1
-.quad	0x9bdc06a725c71235,0xc19bf174cf692694
-.quad	0x9bdc06a725c71235,0xc19bf174cf692694
-.quad	0xe49b69c19ef14ad2,0xefbe4786384f25e3
-.quad	0xe49b69c19ef14ad2,0xefbe4786384f25e3
-.quad	0x0fc19dc68b8cd5b5,0x240ca1cc77ac9c65
-.quad	0x0fc19dc68b8cd5b5,0x240ca1cc77ac9c65
-.quad	0x2de92c6f592b0275,0x4a7484aa6ea6e483
-.quad	0x2de92c6f592b0275,0x4a7484aa6ea6e483
-.quad	0x5cb0a9dcbd41fbd4,0x76f988da831153b5
-.quad	0x5cb0a9dcbd41fbd4,0x76f988da831153b5
-.quad	0x983e5152ee66dfab,0xa831c66d2db43210
-.quad	0x983e5152ee66dfab,0xa831c66d2db43210
-.quad	0xb00327c898fb213f,0xbf597fc7beef0ee4
-.quad	0xb00327c898fb213f,0xbf597fc7beef0ee4
-.quad	0xc6e00bf33da88fc2,0xd5a79147930aa725
-.quad	0xc6e00bf33da88fc2,0xd5a79147930aa725
-.quad	0x06ca6351e003826f,0x142929670a0e6e70
-.quad	0x06ca6351e003826f,0x142929670a0e6e70
-.quad	0x27b70a8546d22ffc,0x2e1b21385c26c926
-.quad	0x27b70a8546d22ffc,0x2e1b21385c26c926
-.quad	0x4d2c6dfc5ac42aed,0x53380d139d95b3df
-.quad	0x4d2c6dfc5ac42aed,0x53380d139d95b3df
-.quad	0x650a73548baf63de,0x766a0abb3c77b2a8
-.quad	0x650a73548baf63de,0x766a0abb3c77b2a8
-.quad	0x81c2c92e47edaee6,0x92722c851482353b
-.quad	0x81c2c92e47edaee6,0x92722c851482353b
-.quad	0xa2bfe8a14cf10364,0xa81a664bbc423001
-.quad	0xa2bfe8a14cf10364,0xa81a664bbc423001
-.quad	0xc24b8b70d0f89791,0xc76c51a30654be30
-.quad	0xc24b8b70d0f89791,0xc76c51a30654be30
-.quad	0xd192e819d6ef5218,0xd69906245565a910
-.quad	0xd192e819d6ef5218,0xd69906245565a910
-.quad	0xf40e35855771202a,0x106aa07032bbd1b8
-.quad	0xf40e35855771202a,0x106aa07032bbd1b8
-.quad	0x19a4c116b8d2d0c8,0x1e376c085141ab53
-.quad	0x19a4c116b8d2d0c8,0x1e376c085141ab53
-.quad	0x2748774cdf8eeb99,0x34b0bcb5e19b48a8
-.quad	0x2748774cdf8eeb99,0x34b0bcb5e19b48a8
-.quad	0x391c0cb3c5c95a63,0x4ed8aa4ae3418acb
-.quad	0x391c0cb3c5c95a63,0x4ed8aa4ae3418acb
-.quad	0x5b9cca4f7763e373,0x682e6ff3d6b2b8a3
-.quad	0x5b9cca4f7763e373,0x682e6ff3d6b2b8a3
-.quad	0x748f82ee5defb2fc,0x78a5636f43172f60
-.quad	0x748f82ee5defb2fc,0x78a5636f43172f60
-.quad	0x84c87814a1f0ab72,0x8cc702081a6439ec
-.quad	0x84c87814a1f0ab72,0x8cc702081a6439ec
-.quad	0x90befffa23631e28,0xa4506cebde82bde9
-.quad	0x90befffa23631e28,0xa4506cebde82bde9
-.quad	0xbef9a3f7b2c67915,0xc67178f2e372532b
-.quad	0xbef9a3f7b2c67915,0xc67178f2e372532b
-.quad	0xca273eceea26619c,0xd186b8c721c0c207
-.quad	0xca273eceea26619c,0xd186b8c721c0c207
-.quad	0xeada7dd6cde0eb1e,0xf57d4f7fee6ed178
-.quad	0xeada7dd6cde0eb1e,0xf57d4f7fee6ed178
-.quad	0x06f067aa72176fba,0x0a637dc5a2c898a6
-.quad	0x06f067aa72176fba,0x0a637dc5a2c898a6
-.quad	0x113f9804bef90dae,0x1b710b35131c471b
-.quad	0x113f9804bef90dae,0x1b710b35131c471b
-.quad	0x28db77f523047d84,0x32caab7b40c72493
-.quad	0x28db77f523047d84,0x32caab7b40c72493
-.quad	0x3c9ebe0a15c9bebc,0x431d67c49c100d4c
-.quad	0x3c9ebe0a15c9bebc,0x431d67c49c100d4c
-.quad	0x4cc5d4becb3e42b6,0x597f299cfc657e2a
-.quad	0x4cc5d4becb3e42b6,0x597f299cfc657e2a
-.quad	0x5fcb6fab3ad6faec,0x6c44198c4a475817
-.quad	0x5fcb6fab3ad6faec,0x6c44198c4a475817
-
-.quad	0x0001020304050607,0x08090a0b0c0d0e0f
-.quad	0x0001020304050607,0x08090a0b0c0d0e0f
-.byte	83,72,65,53,49,50,32,98,108,111,99,107,32,116,114,97,110,115,102,111,114,109,32,102,111,114,32,120,56,54,95,54,52,44,32,67,82,89,80,84,79,71,65,77,83,32,98,121,32,60,97,112,112,114,111,64,111,112,101,110,115,115,108,46,111,114,103,62,0
-.type	sha512_block_data_order_xop,@function
-.align	64
-sha512_block_data_order_xop:
-.Lxop_shortcut:
-	movq	%rsp,%rax
-	pushq	%rbx
-	pushq	%rbp
-	pushq	%r12
-	pushq	%r13
-	pushq	%r14
-	pushq	%r15
-	shlq	$4,%rdx
-	subq	$160,%rsp
-	leaq	(%rsi,%rdx,8),%rdx
-	andq	$-64,%rsp
-	movq	%rdi,128+0(%rsp)
-	movq	%rsi,128+8(%rsp)
-	movq	%rdx,128+16(%rsp)
-	movq	%rax,128+24(%rsp)
-.Lprologue_xop:
-
-	vzeroupper
-	movq	0(%rdi),%rax
-	movq	8(%rdi),%rbx
-	movq	16(%rdi),%rcx
-	movq	24(%rdi),%rdx
-	movq	32(%rdi),%r8
-	movq	40(%rdi),%r9
-	movq	48(%rdi),%r10
-	movq	56(%rdi),%r11
-	jmp	.Lloop_xop
-.align	16
-.Lloop_xop:
-	vmovdqa	K512+1280(%rip),%xmm11
-	vmovdqu	0(%rsi),%xmm0
-	leaq	K512+128(%rip),%rbp
-	vmovdqu	16(%rsi),%xmm1
-	vmovdqu	32(%rsi),%xmm2
-	vpshufb	%xmm11,%xmm0,%xmm0
-	vmovdqu	48(%rsi),%xmm3
-	vpshufb	%xmm11,%xmm1,%xmm1
-	vmovdqu	64(%rsi),%xmm4
-	vpshufb	%xmm11,%xmm2,%xmm2
-	vmovdqu	80(%rsi),%xmm5
-	vpshufb	%xmm11,%xmm3,%xmm3
-	vmovdqu	96(%rsi),%xmm6
-	vpshufb	%xmm11,%xmm4,%xmm4
-	vmovdqu	112(%rsi),%xmm7
-	vpshufb	%xmm11,%xmm5,%xmm5
-	vpaddq	-128(%rbp),%xmm0,%xmm8
-	vpshufb	%xmm11,%xmm6,%xmm6
-	vpaddq	-96(%rbp),%xmm1,%xmm9
-	vpshufb	%xmm11,%xmm7,%xmm7
-	vpaddq	-64(%rbp),%xmm2,%xmm10
-	vpaddq	-32(%rbp),%xmm3,%xmm11
-	vmovdqa	%xmm8,0(%rsp)
-	vpaddq	0(%rbp),%xmm4,%xmm8
-	vmovdqa	%xmm9,16(%rsp)
-	vpaddq	32(%rbp),%xmm5,%xmm9
-	vmovdqa	%xmm10,32(%rsp)
-	vpaddq	64(%rbp),%xmm6,%xmm10
-	vmovdqa	%xmm11,48(%rsp)
-	vpaddq	96(%rbp),%xmm7,%xmm11
-	vmovdqa	%xmm8,64(%rsp)
-	movq	%rax,%r14
-	vmovdqa	%xmm9,80(%rsp)
-	movq	%rbx,%rdi
-	vmovdqa	%xmm10,96(%rsp)
-	xorq	%rcx,%rdi
-	vmovdqa	%xmm11,112(%rsp)
-	movq	%r8,%r13
-	jmp	.Lxop_00_47
-
-.align	16
-.Lxop_00_47:
-	addq	$256,%rbp
-	vpalignr	$8,%xmm0,%xmm1,%xmm8
-	rorq	$23,%r13
-	movq	%r14,%rax
-	vpalignr	$8,%xmm4,%xmm5,%xmm11
-	movq	%r9,%r12
-	rorq	$5,%r14
-.byte	143,72,120,195,200,56
-	xorq	%r8,%r13
-	xorq	%r10,%r12
-	vpsrlq	$7,%xmm8,%xmm8
-	rorq	$4,%r13
-	xorq	%rax,%r14
-	vpaddq	%xmm11,%xmm0,%xmm0
-	andq	%r8,%r12
-	xorq	%r8,%r13
-	addq	0(%rsp),%r11
-	movq	%rax,%r15
-.byte	143,72,120,195,209,7
-	xorq	%r10,%r12
-	rorq	$6,%r14
-	vpxor	%xmm9,%xmm8,%xmm8
-	xorq	%rbx,%r15
-	addq	%r12,%r11
-	rorq	$14,%r13
-	andq	%r15,%rdi
-.byte	143,104,120,195,223,3
-	xorq	%rax,%r14
-	addq	%r13,%r11
-	vpxor	%xmm10,%xmm8,%xmm8
-	xorq	%rbx,%rdi
-	rorq	$28,%r14
-	vpsrlq	$6,%xmm7,%xmm10
-	addq	%r11,%rdx
-	addq	%rdi,%r11
-	vpaddq	%xmm8,%xmm0,%xmm0
-	movq	%rdx,%r13
-	addq	%r11,%r14
-.byte	143,72,120,195,203,42
-	rorq	$23,%r13
-	movq	%r14,%r11
-	vpxor	%xmm10,%xmm11,%xmm11
-	movq	%r8,%r12
-	rorq	$5,%r14
-	xorq	%rdx,%r13
-	xorq	%r9,%r12
-	vpxor	%xmm9,%xmm11,%xmm11
-	rorq	$4,%r13
-	xorq	%r11,%r14
-	andq	%rdx,%r12
-	xorq	%rdx,%r13
-	vpaddq	%xmm11,%xmm0,%xmm0
-	addq	8(%rsp),%r10
-	movq	%r11,%rdi
-	xorq	%r9,%r12
-	rorq	$6,%r14
-	vpaddq	-128(%rbp),%xmm0,%xmm10
-	xorq	%rax,%rdi
-	addq	%r12,%r10
-	rorq	$14,%r13
-	andq	%rdi,%r15
-	xorq	%r11,%r14
-	addq	%r13,%r10
-	xorq	%rax,%r15
-	rorq	$28,%r14
-	addq	%r10,%rcx
-	addq	%r15,%r10
-	movq	%rcx,%r13
-	addq	%r10,%r14
-	vmovdqa	%xmm10,0(%rsp)
-	vpalignr	$8,%xmm1,%xmm2,%xmm8
-	rorq	$23,%r13
-	movq	%r14,%r10
-	vpalignr	$8,%xmm5,%xmm6,%xmm11
-	movq	%rdx,%r12
-	rorq	$5,%r14
-.byte	143,72,120,195,200,56
-	xorq	%rcx,%r13
-	xorq	%r8,%r12
-	vpsrlq	$7,%xmm8,%xmm8
-	rorq	$4,%r13
-	xorq	%r10,%r14
-	vpaddq	%xmm11,%xmm1,%xmm1
-	andq	%rcx,%r12
-	xorq	%rcx,%r13
-	addq	16(%rsp),%r9
-	movq	%r10,%r15
-.byte	143,72,120,195,209,7
-	xorq	%r8,%r12
-	rorq	$6,%r14
-	vpxor	%xmm9,%xmm8,%xmm8
-	xorq	%r11,%r15
-	addq	%r12,%r9
-	rorq	$14,%r13
-	andq	%r15,%rdi
-.byte	143,104,120,195,216,3
-	xorq	%r10,%r14
-	addq	%r13,%r9
-	vpxor	%xmm10,%xmm8,%xmm8
-	xorq	%r11,%rdi
-	rorq	$28,%r14
-	vpsrlq	$6,%xmm0,%xmm10
-	addq	%r9,%rbx
-	addq	%rdi,%r9
-	vpaddq	%xmm8,%xmm1,%xmm1
-	movq	%rbx,%r13
-	addq	%r9,%r14
-.byte	143,72,120,195,203,42
-	rorq	$23,%r13
-	movq	%r14,%r9
-	vpxor	%xmm10,%xmm11,%xmm11
-	movq	%rcx,%r12
-	rorq	$5,%r14
-	xorq	%rbx,%r13
-	xorq	%rdx,%r12
-	vpxor	%xmm9,%xmm11,%xmm11
-	rorq	$4,%r13
-	xorq	%r9,%r14
-	andq	%rbx,%r12
-	xorq	%rbx,%r13
-	vpaddq	%xmm11,%xmm1,%xmm1
-	addq	24(%rsp),%r8
-	movq	%r9,%rdi
-	xorq	%rdx,%r12
-	rorq	$6,%r14
-	vpaddq	-96(%rbp),%xmm1,%xmm10
-	xorq	%r10,%rdi
-	addq	%r12,%r8
-	rorq	$14,%r13
-	andq	%rdi,%r15
-	xorq	%r9,%r14
-	addq	%r13,%r8
-	xorq	%r10,%r15
-	rorq	$28,%r14
-	addq	%r8,%rax
-	addq	%r15,%r8
-	movq	%rax,%r13
-	addq	%r8,%r14
-	vmovdqa	%xmm10,16(%rsp)
-	vpalignr	$8,%xmm2,%xmm3,%xmm8
-	rorq	$23,%r13
-	movq	%r14,%r8
-	vpalignr	$8,%xmm6,%xmm7,%xmm11
-	movq	%rbx,%r12
-	rorq	$5,%r14
-.byte	143,72,120,195,200,56
-	xorq	%rax,%r13
-	xorq	%rcx,%r12
-	vpsrlq	$7,%xmm8,%xmm8
-	rorq	$4,%r13
-	xorq	%r8,%r14
-	vpaddq	%xmm11,%xmm2,%xmm2
-	andq	%rax,%r12
-	xorq	%rax,%r13
-	addq	32(%rsp),%rdx
-	movq	%r8,%r15
-.byte	143,72,120,195,209,7
-	xorq	%rcx,%r12
-	rorq	$6,%r14
-	vpxor	%xmm9,%xmm8,%xmm8
-	xorq	%r9,%r15
-	addq	%r12,%rdx
-	rorq	$14,%r13
-	andq	%r15,%rdi
-.byte	143,104,120,195,217,3
-	xorq	%r8,%r14
-	addq	%r13,%rdx
-	vpxor	%xmm10,%xmm8,%xmm8
-	xorq	%r9,%rdi
-	rorq	$28,%r14
-	vpsrlq	$6,%xmm1,%xmm10
-	addq	%rdx,%r11
-	addq	%rdi,%rdx
-	vpaddq	%xmm8,%xmm2,%xmm2
-	movq	%r11,%r13
-	addq	%rdx,%r14
-.byte	143,72,120,195,203,42
-	rorq	$23,%r13
-	movq	%r14,%rdx
-	vpxor	%xmm10,%xmm11,%xmm11
-	movq	%rax,%r12
-	rorq	$5,%r14
-	xorq	%r11,%r13
-	xorq	%rbx,%r12
-	vpxor	%xmm9,%xmm11,%xmm11
-	rorq	$4,%r13
-	xorq	%rdx,%r14
-	andq	%r11,%r12
-	xorq	%r11,%r13
-	vpaddq	%xmm11,%xmm2,%xmm2
-	addq	40(%rsp),%rcx
-	movq	%rdx,%rdi
-	xorq	%rbx,%r12
-	rorq	$6,%r14
-	vpaddq	-64(%rbp),%xmm2,%xmm10
-	xorq	%r8,%rdi
-	addq	%r12,%rcx
-	rorq	$14,%r13
-	andq	%rdi,%r15
-	xorq	%rdx,%r14
-	addq	%r13,%rcx
-	xorq	%r8,%r15
-	rorq	$28,%r14
-	addq	%rcx,%r10
-	addq	%r15,%rcx
-	movq	%r10,%r13
-	addq	%rcx,%r14
-	vmovdqa	%xmm10,32(%rsp)
-	vpalignr	$8,%xmm3,%xmm4,%xmm8
-	rorq	$23,%r13
-	movq	%r14,%rcx
-	vpalignr	$8,%xmm7,%xmm0,%xmm11
-	movq	%r11,%r12
-	rorq	$5,%r14
-.byte	143,72,120,195,200,56
-	xorq	%r10,%r13
-	xorq	%rax,%r12
-	vpsrlq	$7,%xmm8,%xmm8
-	rorq	$4,%r13
-	xorq	%rcx,%r14
-	vpaddq	%xmm11,%xmm3,%xmm3
-	andq	%r10,%r12
-	xorq	%r10,%r13
-	addq	48(%rsp),%rbx
-	movq	%rcx,%r15
-.byte	143,72,120,195,209,7
-	xorq	%rax,%r12
-	rorq	$6,%r14
-	vpxor	%xmm9,%xmm8,%xmm8
-	xorq	%rdx,%r15
-	addq	%r12,%rbx
-	rorq	$14,%r13
-	andq	%r15,%rdi
-.byte	143,104,120,195,218,3
-	xorq	%rcx,%r14
-	addq	%r13,%rbx
-	vpxor	%xmm10,%xmm8,%xmm8
-	xorq	%rdx,%rdi
-	rorq	$28,%r14
-	vpsrlq	$6,%xmm2,%xmm10
-	addq	%rbx,%r9
-	addq	%rdi,%rbx
-	vpaddq	%xmm8,%xmm3,%xmm3
-	movq	%r9,%r13
-	addq	%rbx,%r14
-.byte	143,72,120,195,203,42
-	rorq	$23,%r13
-	movq	%r14,%rbx
-	vpxor	%xmm10,%xmm11,%xmm11
-	movq	%r10,%r12
-	rorq	$5,%r14
-	xorq	%r9,%r13
-	xorq	%r11,%r12
-	vpxor	%xmm9,%xmm11,%xmm11
-	rorq	$4,%r13
-	xorq	%rbx,%r14
-	andq	%r9,%r12
-	xorq	%r9,%r13
-	vpaddq	%xmm11,%xmm3,%xmm3
-	addq	56(%rsp),%rax
-	movq	%rbx,%rdi
-	xorq	%r11,%r12
-	rorq	$6,%r14
-	vpaddq	-32(%rbp),%xmm3,%xmm10
-	xorq	%rcx,%rdi
-	addq	%r12,%rax
-	rorq	$14,%r13
-	andq	%rdi,%r15
-	xorq	%rbx,%r14
-	addq	%r13,%rax
-	xorq	%rcx,%r15
-	rorq	$28,%r14
-	addq	%rax,%r8
-	addq	%r15,%rax
-	movq	%r8,%r13
-	addq	%rax,%r14
-	vmovdqa	%xmm10,48(%rsp)
-	vpalignr	$8,%xmm4,%xmm5,%xmm8
-	rorq	$23,%r13
-	movq	%r14,%rax
-	vpalignr	$8,%xmm0,%xmm1,%xmm11
-	movq	%r9,%r12
-	rorq	$5,%r14
-.byte	143,72,120,195,200,56
-	xorq	%r8,%r13
-	xorq	%r10,%r12
-	vpsrlq	$7,%xmm8,%xmm8
-	rorq	$4,%r13
-	xorq	%rax,%r14
-	vpaddq	%xmm11,%xmm4,%xmm4
-	andq	%r8,%r12
-	xorq	%r8,%r13
-	addq	64(%rsp),%r11
-	movq	%rax,%r15
-.byte	143,72,120,195,209,7
-	xorq	%r10,%r12
-	rorq	$6,%r14
-	vpxor	%xmm9,%xmm8,%xmm8
-	xorq	%rbx,%r15
-	addq	%r12,%r11
-	rorq	$14,%r13
-	andq	%r15,%rdi
-.byte	143,104,120,195,219,3
-	xorq	%rax,%r14
-	addq	%r13,%r11
-	vpxor	%xmm10,%xmm8,%xmm8
-	xorq	%rbx,%rdi
-	rorq	$28,%r14
-	vpsrlq	$6,%xmm3,%xmm10
-	addq	%r11,%rdx
-	addq	%rdi,%r11
-	vpaddq	%xmm8,%xmm4,%xmm4
-	movq	%rdx,%r13
-	addq	%r11,%r14
-.byte	143,72,120,195,203,42
-	rorq	$23,%r13
-	movq	%r14,%r11
-	vpxor	%xmm10,%xmm11,%xmm11
-	movq	%r8,%r12
-	rorq	$5,%r14
-	xorq	%rdx,%r13
-	xorq	%r9,%r12
-	vpxor	%xmm9,%xmm11,%xmm11
-	rorq	$4,%r13
-	xorq	%r11,%r14
-	andq	%rdx,%r12
-	xorq	%rdx,%r13
-	vpaddq	%xmm11,%xmm4,%xmm4
-	addq	72(%rsp),%r10
-	movq	%r11,%rdi
-	xorq	%r9,%r12
-	rorq	$6,%r14
-	vpaddq	0(%rbp),%xmm4,%xmm10
-	xorq	%rax,%rdi
-	addq	%r12,%r10
-	rorq	$14,%r13
-	andq	%rdi,%r15
-	xorq	%r11,%r14
-	addq	%r13,%r10
-	xorq	%rax,%r15
-	rorq	$28,%r14
-	addq	%r10,%rcx
-	addq	%r15,%r10
-	movq	%rcx,%r13
-	addq	%r10,%r14
-	vmovdqa	%xmm10,64(%rsp)
-	vpalignr	$8,%xmm5,%xmm6,%xmm8
-	rorq	$23,%r13
-	movq	%r14,%r10
-	vpalignr	$8,%xmm1,%xmm2,%xmm11
-	movq	%rdx,%r12
-	rorq	$5,%r14
-.byte	143,72,120,195,200,56
-	xorq	%rcx,%r13
-	xorq	%r8,%r12
-	vpsrlq	$7,%xmm8,%xmm8
-	rorq	$4,%r13
-	xorq	%r10,%r14
-	vpaddq	%xmm11,%xmm5,%xmm5
-	andq	%rcx,%r12
-	xorq	%rcx,%r13
-	addq	80(%rsp),%r9
-	movq	%r10,%r15
-.byte	143,72,120,195,209,7
-	xorq	%r8,%r12
-	rorq	$6,%r14
-	vpxor	%xmm9,%xmm8,%xmm8
-	xorq	%r11,%r15
-	addq	%r12,%r9
-	rorq	$14,%r13
-	andq	%r15,%rdi
-.byte	143,104,120,195,220,3
-	xorq	%r10,%r14
-	addq	%r13,%r9
-	vpxor	%xmm10,%xmm8,%xmm8
-	xorq	%r11,%rdi
-	rorq	$28,%r14
-	vpsrlq	$6,%xmm4,%xmm10
-	addq	%r9,%rbx
-	addq	%rdi,%r9
-	vpaddq	%xmm8,%xmm5,%xmm5
-	movq	%rbx,%r13
-	addq	%r9,%r14
-.byte	143,72,120,195,203,42
-	rorq	$23,%r13
-	movq	%r14,%r9
-	vpxor	%xmm10,%xmm11,%xmm11
-	movq	%rcx,%r12
-	rorq	$5,%r14
-	xorq	%rbx,%r13
-	xorq	%rdx,%r12
-	vpxor	%xmm9,%xmm11,%xmm11
-	rorq	$4,%r13
-	xorq	%r9,%r14
-	andq	%rbx,%r12
-	xorq	%rbx,%r13
-	vpaddq	%xmm11,%xmm5,%xmm5
-	addq	88(%rsp),%r8
-	movq	%r9,%rdi
-	xorq	%rdx,%r12
-	rorq	$6,%r14
-	vpaddq	32(%rbp),%xmm5,%xmm10
-	xorq	%r10,%rdi
-	addq	%r12,%r8
-	rorq	$14,%r13
-	andq	%rdi,%r15
-	xorq	%r9,%r14
-	addq	%r13,%r8
-	xorq	%r10,%r15
-	rorq	$28,%r14
-	addq	%r8,%rax
-	addq	%r15,%r8
-	movq	%rax,%r13
-	addq	%r8,%r14
-	vmovdqa	%xmm10,80(%rsp)
-	vpalignr	$8,%xmm6,%xmm7,%xmm8
-	rorq	$23,%r13
-	movq	%r14,%r8
-	vpalignr	$8,%xmm2,%xmm3,%xmm11
-	movq	%rbx,%r12
-	rorq	$5,%r14
-.byte	143,72,120,195,200,56
-	xorq	%rax,%r13
-	xorq	%rcx,%r12
-	vpsrlq	$7,%xmm8,%xmm8
-	rorq	$4,%r13
-	xorq	%r8,%r14
-	vpaddq	%xmm11,%xmm6,%xmm6
-	andq	%rax,%r12
-	xorq	%rax,%r13
-	addq	96(%rsp),%rdx
-	movq	%r8,%r15
-.byte	143,72,120,195,209,7
-	xorq	%rcx,%r12
-	rorq	$6,%r14
-	vpxor	%xmm9,%xmm8,%xmm8
-	xorq	%r9,%r15
-	addq	%r12,%rdx
-	rorq	$14,%r13
-	andq	%r15,%rdi
-.byte	143,104,120,195,221,3
-	xorq	%r8,%r14
-	addq	%r13,%rdx
-	vpxor	%xmm10,%xmm8,%xmm8
-	xorq	%r9,%rdi
-	rorq	$28,%r14
-	vpsrlq	$6,%xmm5,%xmm10
-	addq	%rdx,%r11
-	addq	%rdi,%rdx
-	vpaddq	%xmm8,%xmm6,%xmm6
-	movq	%r11,%r13
-	addq	%rdx,%r14
-.byte	143,72,120,195,203,42
-	rorq	$23,%r13
-	movq	%r14,%rdx
-	vpxor	%xmm10,%xmm11,%xmm11
-	movq	%rax,%r12
-	rorq	$5,%r14
-	xorq	%r11,%r13
-	xorq	%rbx,%r12
-	vpxor	%xmm9,%xmm11,%xmm11
-	rorq	$4,%r13
-	xorq	%rdx,%r14
-	andq	%r11,%r12
-	xorq	%r11,%r13
-	vpaddq	%xmm11,%xmm6,%xmm6
-	addq	104(%rsp),%rcx
-	movq	%rdx,%rdi
-	xorq	%rbx,%r12
-	rorq	$6,%r14
-	vpaddq	64(%rbp),%xmm6,%xmm10
-	xorq	%r8,%rdi
-	addq	%r12,%rcx
-	rorq	$14,%r13
-	andq	%rdi,%r15
-	xorq	%rdx,%r14
-	addq	%r13,%rcx
-	xorq	%r8,%r15
-	rorq	$28,%r14
-	addq	%rcx,%r10
-	addq	%r15,%rcx
-	movq	%r10,%r13
-	addq	%rcx,%r14
-	vmovdqa	%xmm10,96(%rsp)
-	vpalignr	$8,%xmm7,%xmm0,%xmm8
-	rorq	$23,%r13
-	movq	%r14,%rcx
-	vpalignr	$8,%xmm3,%xmm4,%xmm11
-	movq	%r11,%r12
-	rorq	$5,%r14
-.byte	143,72,120,195,200,56
-	xorq	%r10,%r13
-	xorq	%rax,%r12
-	vpsrlq	$7,%xmm8,%xmm8
-	rorq	$4,%r13
-	xorq	%rcx,%r14
-	vpaddq	%xmm11,%xmm7,%xmm7
-	andq	%r10,%r12
-	xorq	%r10,%r13
-	addq	112(%rsp),%rbx
-	movq	%rcx,%r15
-.byte	143,72,120,195,209,7
-	xorq	%rax,%r12
-	rorq	$6,%r14
-	vpxor	%xmm9,%xmm8,%xmm8
-	xorq	%rdx,%r15
-	addq	%r12,%rbx
-	rorq	$14,%r13
-	andq	%r15,%rdi
-.byte	143,104,120,195,222,3
-	xorq	%rcx,%r14
-	addq	%r13,%rbx
-	vpxor	%xmm10,%xmm8,%xmm8
-	xorq	%rdx,%rdi
-	rorq	$28,%r14
-	vpsrlq	$6,%xmm6,%xmm10
-	addq	%rbx,%r9
-	addq	%rdi,%rbx
-	vpaddq	%xmm8,%xmm7,%xmm7
-	movq	%r9,%r13
-	addq	%rbx,%r14
-.byte	143,72,120,195,203,42
-	rorq	$23,%r13
-	movq	%r14,%rbx
-	vpxor	%xmm10,%xmm11,%xmm11
-	movq	%r10,%r12
-	rorq	$5,%r14
-	xorq	%r9,%r13
-	xorq	%r11,%r12
-	vpxor	%xmm9,%xmm11,%xmm11
-	rorq	$4,%r13
-	xorq	%rbx,%r14
-	andq	%r9,%r12
-	xorq	%r9,%r13
-	vpaddq	%xmm11,%xmm7,%xmm7
-	addq	120(%rsp),%rax
-	movq	%rbx,%rdi
-	xorq	%r11,%r12
-	rorq	$6,%r14
-	vpaddq	96(%rbp),%xmm7,%xmm10
-	xorq	%rcx,%rdi
-	addq	%r12,%rax
-	rorq	$14,%r13
-	andq	%rdi,%r15
-	xorq	%rbx,%r14
-	addq	%r13,%rax
-	xorq	%rcx,%r15
-	rorq	$28,%r14
-	addq	%rax,%r8
-	addq	%r15,%rax
-	movq	%r8,%r13
-	addq	%rax,%r14
-	vmovdqa	%xmm10,112(%rsp)
-	cmpb	$0,135(%rbp)
-	jne	.Lxop_00_47
-	rorq	$23,%r13
-	movq	%r14,%rax
-	movq	%r9,%r12
-	rorq	$5,%r14
-	xorq	%r8,%r13
-	xorq	%r10,%r12
-	rorq	$4,%r13
-	xorq	%rax,%r14
-	andq	%r8,%r12
-	xorq	%r8,%r13
-	addq	0(%rsp),%r11
-	movq	%rax,%r15
-	xorq	%r10,%r12
-	rorq	$6,%r14
-	xorq	%rbx,%r15
-	addq	%r12,%r11
-	rorq	$14,%r13
-	andq	%r15,%rdi
-	xorq	%rax,%r14
-	addq	%r13,%r11
-	xorq	%rbx,%rdi
-	rorq	$28,%r14
-	addq	%r11,%rdx
-	addq	%rdi,%r11
-	movq	%rdx,%r13
-	addq	%r11,%r14
-	rorq	$23,%r13
-	movq	%r14,%r11
-	movq	%r8,%r12
-	rorq	$5,%r14
-	xorq	%rdx,%r13
-	xorq	%r9,%r12
-	rorq	$4,%r13
-	xorq	%r11,%r14
-	andq	%rdx,%r12
-	xorq	%rdx,%r13
-	addq	8(%rsp),%r10
-	movq	%r11,%rdi
-	xorq	%r9,%r12
-	rorq	$6,%r14
-	xorq	%rax,%rdi
-	addq	%r12,%r10
-	rorq	$14,%r13
-	andq	%rdi,%r15
-	xorq	%r11,%r14
-	addq	%r13,%r10
-	xorq	%rax,%r15
-	rorq	$28,%r14
-	addq	%r10,%rcx
-	addq	%r15,%r10
-	movq	%rcx,%r13
-	addq	%r10,%r14
-	rorq	$23,%r13
-	movq	%r14,%r10
-	movq	%rdx,%r12
-	rorq	$5,%r14
-	xorq	%rcx,%r13
-	xorq	%r8,%r12
-	rorq	$4,%r13
-	xorq	%r10,%r14
-	andq	%rcx,%r12
-	xorq	%rcx,%r13
-	addq	16(%rsp),%r9
-	movq	%r10,%r15
-	xorq	%r8,%r12
-	rorq	$6,%r14
-	xorq	%r11,%r15
-	addq	%r12,%r9
-	rorq	$14,%r13
-	andq	%r15,%rdi
-	xorq	%r10,%r14
-	addq	%r13,%r9
-	xorq	%r11,%rdi
-	rorq	$28,%r14
-	addq	%r9,%rbx
-	addq	%rdi,%r9
-	movq	%rbx,%r13
-	addq	%r9,%r14
-	rorq	$23,%r13
-	movq	%r14,%r9
-	movq	%rcx,%r12
-	rorq	$5,%r14
-	xorq	%rbx,%r13
-	xorq	%rdx,%r12
-	rorq	$4,%r13
-	xorq	%r9,%r14
-	andq	%rbx,%r12
-	xorq	%rbx,%r13
-	addq	24(%rsp),%r8
-	movq	%r9,%rdi
-	xorq	%rdx,%r12
-	rorq	$6,%r14
-	xorq	%r10,%rdi
-	addq	%r12,%r8
-	rorq	$14,%r13
-	andq	%rdi,%r15
-	xorq	%r9,%r14
-	addq	%r13,%r8
-	xorq	%r10,%r15
-	rorq	$28,%r14
-	addq	%r8,%rax
-	addq	%r15,%r8
-	movq	%rax,%r13
-	addq	%r8,%r14
-	rorq	$23,%r13
-	movq	%r14,%r8
-	movq	%rbx,%r12
-	rorq	$5,%r14
-	xorq	%rax,%r13
-	xorq	%rcx,%r12
-	rorq	$4,%r13
-	xorq	%r8,%r14
-	andq	%rax,%r12
-	xorq	%rax,%r13
-	addq	32(%rsp),%rdx
-	movq	%r8,%r15
-	xorq	%rcx,%r12
-	rorq	$6,%r14
-	xorq	%r9,%r15
-	addq	%r12,%rdx
-	rorq	$14,%r13
-	andq	%r15,%rdi
-	xorq	%r8,%r14
-	addq	%r13,%rdx
-	xorq	%r9,%rdi
-	rorq	$28,%r14
-	addq	%rdx,%r11
-	addq	%rdi,%rdx
-	movq	%r11,%r13
-	addq	%rdx,%r14
-	rorq	$23,%r13
-	movq	%r14,%rdx
-	movq	%rax,%r12
-	rorq	$5,%r14
-	xorq	%r11,%r13
-	xorq	%rbx,%r12
-	rorq	$4,%r13
-	xorq	%rdx,%r14
-	andq	%r11,%r12
-	xorq	%r11,%r13
-	addq	40(%rsp),%rcx
-	movq	%rdx,%rdi
-	xorq	%rbx,%r12
-	rorq	$6,%r14
-	xorq	%r8,%rdi
-	addq	%r12,%rcx
-	rorq	$14,%r13
-	andq	%rdi,%r15
-	xorq	%rdx,%r14
-	addq	%r13,%rcx
-	xorq	%r8,%r15
-	rorq	$28,%r14
-	addq	%rcx,%r10
-	addq	%r15,%rcx
-	movq	%r10,%r13
-	addq	%rcx,%r14
-	rorq	$23,%r13
-	movq	%r14,%rcx
-	movq	%r11,%r12
-	rorq	$5,%r14
-	xorq	%r10,%r13
-	xorq	%rax,%r12
-	rorq	$4,%r13
-	xorq	%rcx,%r14
-	andq	%r10,%r12
-	xorq	%r10,%r13
-	addq	48(%rsp),%rbx
-	movq	%rcx,%r15
-	xorq	%rax,%r12
-	rorq	$6,%r14
-	xorq	%rdx,%r15
-	addq	%r12,%rbx
-	rorq	$14,%r13
-	andq	%r15,%rdi
-	xorq	%rcx,%r14
-	addq	%r13,%rbx
-	xorq	%rdx,%rdi
-	rorq	$28,%r14
-	addq	%rbx,%r9
-	addq	%rdi,%rbx
-	movq	%r9,%r13
-	addq	%rbx,%r14
-	rorq	$23,%r13
-	movq	%r14,%rbx
-	movq	%r10,%r12
-	rorq	$5,%r14
-	xorq	%r9,%r13
-	xorq	%r11,%r12
-	rorq	$4,%r13
-	xorq	%rbx,%r14
-	andq	%r9,%r12
-	xorq	%r9,%r13
-	addq	56(%rsp),%rax
-	movq	%rbx,%rdi
-	xorq	%r11,%r12
-	rorq	$6,%r14
-	xorq	%rcx,%rdi
-	addq	%r12,%rax
-	rorq	$14,%r13
-	andq	%rdi,%r15
-	xorq	%rbx,%r14
-	addq	%r13,%rax
-	xorq	%rcx,%r15
-	rorq	$28,%r14
-	addq	%rax,%r8
-	addq	%r15,%rax
-	movq	%r8,%r13
-	addq	%rax,%r14
-	rorq	$23,%r13
-	movq	%r14,%rax
-	movq	%r9,%r12
-	rorq	$5,%r14
-	xorq	%r8,%r13
-	xorq	%r10,%r12
-	rorq	$4,%r13
-	xorq	%rax,%r14
-	andq	%r8,%r12
-	xorq	%r8,%r13
-	addq	64(%rsp),%r11
-	movq	%rax,%r15
-	xorq	%r10,%r12
-	rorq	$6,%r14
-	xorq	%rbx,%r15
-	addq	%r12,%r11
-	rorq	$14,%r13
-	andq	%r15,%rdi
-	xorq	%rax,%r14
-	addq	%r13,%r11
-	xorq	%rbx,%rdi
-	rorq	$28,%r14
-	addq	%r11,%rdx
-	addq	%rdi,%r11
-	movq	%rdx,%r13
-	addq	%r11,%r14
-	rorq	$23,%r13
-	movq	%r14,%r11
-	movq	%r8,%r12
-	rorq	$5,%r14
-	xorq	%rdx,%r13
-	xorq	%r9,%r12
-	rorq	$4,%r13
-	xorq	%r11,%r14
-	andq	%rdx,%r12
-	xorq	%rdx,%r13
-	addq	72(%rsp),%r10
-	movq	%r11,%rdi
-	xorq	%r9,%r12
-	rorq	$6,%r14
-	xorq	%rax,%rdi
-	addq	%r12,%r10
-	rorq	$14,%r13
-	andq	%rdi,%r15
-	xorq	%r11,%r14
-	addq	%r13,%r10
-	xorq	%rax,%r15
-	rorq	$28,%r14
-	addq	%r10,%rcx
-	addq	%r15,%r10
-	movq	%rcx,%r13
-	addq	%r10,%r14
-	rorq	$23,%r13
-	movq	%r14,%r10
-	movq	%rdx,%r12
-	rorq	$5,%r14
-	xorq	%rcx,%r13
-	xorq	%r8,%r12
-	rorq	$4,%r13
-	xorq	%r10,%r14
-	andq	%rcx,%r12
-	xorq	%rcx,%r13
-	addq	80(%rsp),%r9
-	movq	%r10,%r15
-	xorq	%r8,%r12
-	rorq	$6,%r14
-	xorq	%r11,%r15
-	addq	%r12,%r9
-	rorq	$14,%r13
-	andq	%r15,%rdi
-	xorq	%r10,%r14
-	addq	%r13,%r9
-	xorq	%r11,%rdi
-	rorq	$28,%r14
-	addq	%r9,%rbx
-	addq	%rdi,%r9
-	movq	%rbx,%r13
-	addq	%r9,%r14
-	rorq	$23,%r13
-	movq	%r14,%r9
-	movq	%rcx,%r12
-	rorq	$5,%r14
-	xorq	%rbx,%r13
-	xorq	%rdx,%r12
-	rorq	$4,%r13
-	xorq	%r9,%r14
-	andq	%rbx,%r12
-	xorq	%rbx,%r13
-	addq	88(%rsp),%r8
-	movq	%r9,%rdi
-	xorq	%rdx,%r12
-	rorq	$6,%r14
-	xorq	%r10,%rdi
-	addq	%r12,%r8
-	rorq	$14,%r13
-	andq	%rdi,%r15
-	xorq	%r9,%r14
-	addq	%r13,%r8
-	xorq	%r10,%r15
-	rorq	$28,%r14
-	addq	%r8,%rax
-	addq	%r15,%r8
-	movq	%rax,%r13
-	addq	%r8,%r14
-	rorq	$23,%r13
-	movq	%r14,%r8
-	movq	%rbx,%r12
-	rorq	$5,%r14
-	xorq	%rax,%r13
-	xorq	%rcx,%r12
-	rorq	$4,%r13
-	xorq	%r8,%r14
-	andq	%rax,%r12
-	xorq	%rax,%r13
-	addq	96(%rsp),%rdx
-	movq	%r8,%r15
-	xorq	%rcx,%r12
-	rorq	$6,%r14
-	xorq	%r9,%r15
-	addq	%r12,%rdx
-	rorq	$14,%r13
-	andq	%r15,%rdi
-	xorq	%r8,%r14
-	addq	%r13,%rdx
-	xorq	%r9,%rdi
-	rorq	$28,%r14
-	addq	%rdx,%r11
-	addq	%rdi,%rdx
-	movq	%r11,%r13
-	addq	%rdx,%r14
-	rorq	$23,%r13
-	movq	%r14,%rdx
-	movq	%rax,%r12
-	rorq	$5,%r14
-	xorq	%r11,%r13
-	xorq	%rbx,%r12
-	rorq	$4,%r13
-	xorq	%rdx,%r14
-	andq	%r11,%r12
-	xorq	%r11,%r13
-	addq	104(%rsp),%rcx
-	movq	%rdx,%rdi
-	xorq	%rbx,%r12
-	rorq	$6,%r14
-	xorq	%r8,%rdi
-	addq	%r12,%rcx
-	rorq	$14,%r13
-	andq	%rdi,%r15
-	xorq	%rdx,%r14
-	addq	%r13,%rcx
-	xorq	%r8,%r15
-	rorq	$28,%r14
-	addq	%rcx,%r10
-	addq	%r15,%rcx
-	movq	%r10,%r13
-	addq	%rcx,%r14
-	rorq	$23,%r13
-	movq	%r14,%rcx
-	movq	%r11,%r12
-	rorq	$5,%r14
-	xorq	%r10,%r13
-	xorq	%rax,%r12
-	rorq	$4,%r13
-	xorq	%rcx,%r14
-	andq	%r10,%r12
-	xorq	%r10,%r13
-	addq	112(%rsp),%rbx
-	movq	%rcx,%r15
-	xorq	%rax,%r12
-	rorq	$6,%r14
-	xorq	%rdx,%r15
-	addq	%r12,%rbx
-	rorq	$14,%r13
-	andq	%r15,%rdi
-	xorq	%rcx,%r14
-	addq	%r13,%rbx
-	xorq	%rdx,%rdi
-	rorq	$28,%r14
-	addq	%rbx,%r9
-	addq	%rdi,%rbx
-	movq	%r9,%r13
-	addq	%rbx,%r14
-	rorq	$23,%r13
-	movq	%r14,%rbx
-	movq	%r10,%r12
-	rorq	$5,%r14
-	xorq	%r9,%r13
-	xorq	%r11,%r12
-	rorq	$4,%r13
-	xorq	%rbx,%r14
-	andq	%r9,%r12
-	xorq	%r9,%r13
-	addq	120(%rsp),%rax
-	movq	%rbx,%rdi
-	xorq	%r11,%r12
-	rorq	$6,%r14
-	xorq	%rcx,%rdi
-	addq	%r12,%rax
-	rorq	$14,%r13
-	andq	%rdi,%r15
-	xorq	%rbx,%r14
-	addq	%r13,%rax
-	xorq	%rcx,%r15
-	rorq	$28,%r14
-	addq	%rax,%r8
-	addq	%r15,%rax
-	movq	%r8,%r13
-	addq	%rax,%r14
-	movq	128+0(%rsp),%rdi
-	movq	%r14,%rax
-
-	addq	0(%rdi),%rax
-	leaq	128(%rsi),%rsi
-	addq	8(%rdi),%rbx
-	addq	16(%rdi),%rcx
-	addq	24(%rdi),%rdx
-	addq	32(%rdi),%r8
-	addq	40(%rdi),%r9
-	addq	48(%rdi),%r10
-	addq	56(%rdi),%r11
-
-	cmpq	128+16(%rsp),%rsi
-
-	movq	%rax,0(%rdi)
-	movq	%rbx,8(%rdi)
-	movq	%rcx,16(%rdi)
-	movq	%rdx,24(%rdi)
-	movq	%r8,32(%rdi)
-	movq	%r9,40(%rdi)
-	movq	%r10,48(%rdi)
-	movq	%r11,56(%rdi)
-	jb	.Lloop_xop
-
-	movq	128+24(%rsp),%rsi
-	vzeroupper
-	movq	-48(%rsi),%r15
-	movq	-40(%rsi),%r14
-	movq	-32(%rsi),%r13
-	movq	-24(%rsi),%r12
-	movq	-16(%rsi),%rbp
-	movq	-8(%rsi),%rbx
-	leaq	(%rsi),%rsp
-.Lepilogue_xop:
-	.byte	0xf3,0xc3
-.size	sha512_block_data_order_xop,.-sha512_block_data_order_xop
-.type	sha512_block_data_order_avx,@function
-.align	64
-sha512_block_data_order_avx:
-.Lavx_shortcut:
-	movq	%rsp,%rax
-	pushq	%rbx
-	pushq	%rbp
-	pushq	%r12
-	pushq	%r13
-	pushq	%r14
-	pushq	%r15
-	shlq	$4,%rdx
-	subq	$160,%rsp
-	leaq	(%rsi,%rdx,8),%rdx
-	andq	$-64,%rsp
-	movq	%rdi,128+0(%rsp)
-	movq	%rsi,128+8(%rsp)
-	movq	%rdx,128+16(%rsp)
-	movq	%rax,128+24(%rsp)
-.Lprologue_avx:
-
-	vzeroupper
-	movq	0(%rdi),%rax
-	movq	8(%rdi),%rbx
-	movq	16(%rdi),%rcx
-	movq	24(%rdi),%rdx
-	movq	32(%rdi),%r8
-	movq	40(%rdi),%r9
-	movq	48(%rdi),%r10
-	movq	56(%rdi),%r11
-	jmp	.Lloop_avx
-.align	16
-.Lloop_avx:
-	vmovdqa	K512+1280(%rip),%xmm11
-	vmovdqu	0(%rsi),%xmm0
-	leaq	K512+128(%rip),%rbp
-	vmovdqu	16(%rsi),%xmm1
-	vmovdqu	32(%rsi),%xmm2
-	vpshufb	%xmm11,%xmm0,%xmm0
-	vmovdqu	48(%rsi),%xmm3
-	vpshufb	%xmm11,%xmm1,%xmm1
-	vmovdqu	64(%rsi),%xmm4
-	vpshufb	%xmm11,%xmm2,%xmm2
-	vmovdqu	80(%rsi),%xmm5
-	vpshufb	%xmm11,%xmm3,%xmm3
-	vmovdqu	96(%rsi),%xmm6
-	vpshufb	%xmm11,%xmm4,%xmm4
-	vmovdqu	112(%rsi),%xmm7
-	vpshufb	%xmm11,%xmm5,%xmm5
-	vpaddq	-128(%rbp),%xmm0,%xmm8
-	vpshufb	%xmm11,%xmm6,%xmm6
-	vpaddq	-96(%rbp),%xmm1,%xmm9
-	vpshufb	%xmm11,%xmm7,%xmm7
-	vpaddq	-64(%rbp),%xmm2,%xmm10
-	vpaddq	-32(%rbp),%xmm3,%xmm11
-	vmovdqa	%xmm8,0(%rsp)
-	vpaddq	0(%rbp),%xmm4,%xmm8
-	vmovdqa	%xmm9,16(%rsp)
-	vpaddq	32(%rbp),%xmm5,%xmm9
-	vmovdqa	%xmm10,32(%rsp)
-	vpaddq	64(%rbp),%xmm6,%xmm10
-	vmovdqa	%xmm11,48(%rsp)
-	vpaddq	96(%rbp),%xmm7,%xmm11
-	vmovdqa	%xmm8,64(%rsp)
-	movq	%rax,%r14
-	vmovdqa	%xmm9,80(%rsp)
-	movq	%rbx,%rdi
-	vmovdqa	%xmm10,96(%rsp)
-	xorq	%rcx,%rdi
-	vmovdqa	%xmm11,112(%rsp)
-	movq	%r8,%r13
-	jmp	.Lavx_00_47
-
-.align	16
-.Lavx_00_47:
-	addq	$256,%rbp
-	vpalignr	$8,%xmm0,%xmm1,%xmm8
-	shrdq	$23,%r13,%r13
-	movq	%r14,%rax
-	vpalignr	$8,%xmm4,%xmm5,%xmm11
-	movq	%r9,%r12
-	shrdq	$5,%r14,%r14
-	vpsrlq	$1,%xmm8,%xmm10
-	xorq	%r8,%r13
-	xorq	%r10,%r12
-	vpaddq	%xmm11,%xmm0,%xmm0
-	shrdq	$4,%r13,%r13
-	xorq	%rax,%r14
-	vpsrlq	$7,%xmm8,%xmm11
-	andq	%r8,%r12
-	xorq	%r8,%r13
-	vpsllq	$56,%xmm8,%xmm9
-	addq	0(%rsp),%r11
-	movq	%rax,%r15
-	vpxor	%xmm10,%xmm11,%xmm8
-	xorq	%r10,%r12
-	shrdq	$6,%r14,%r14
-	vpsrlq	$7,%xmm10,%xmm10
-	xorq	%rbx,%r15
-	addq	%r12,%r11
-	vpxor	%xmm9,%xmm8,%xmm8
-	shrdq	$14,%r13,%r13
-	andq	%r15,%rdi
-	vpsllq	$7,%xmm9,%xmm9
-	xorq	%rax,%r14
-	addq	%r13,%r11
-	vpxor	%xmm10,%xmm8,%xmm8
-	xorq	%rbx,%rdi
-	shrdq	$28,%r14,%r14
-	vpsrlq	$6,%xmm7,%xmm11
-	addq	%r11,%rdx
-	addq	%rdi,%r11
-	vpxor	%xmm9,%xmm8,%xmm8
-	movq	%rdx,%r13
-	addq	%r11,%r14
-	vpsllq	$3,%xmm7,%xmm10
-	shrdq	$23,%r13,%r13
-	movq	%r14,%r11
-	vpaddq	%xmm8,%xmm0,%xmm0
-	movq	%r8,%r12
-	shrdq	$5,%r14,%r14
-	vpsrlq	$19,%xmm7,%xmm9
-	xorq	%rdx,%r13
-	xorq	%r9,%r12
-	vpxor	%xmm10,%xmm11,%xmm11
-	shrdq	$4,%r13,%r13
-	xorq	%r11,%r14
-	vpsllq	$42,%xmm10,%xmm10
-	andq	%rdx,%r12
-	xorq	%rdx,%r13
-	vpxor	%xmm9,%xmm11,%xmm11
-	addq	8(%rsp),%r10
-	movq	%r11,%rdi
-	vpsrlq	$42,%xmm9,%xmm9
-	xorq	%r9,%r12
-	shrdq	$6,%r14,%r14
-	vpxor	%xmm10,%xmm11,%xmm11
-	xorq	%rax,%rdi
-	addq	%r12,%r10
-	vpxor	%xmm9,%xmm11,%xmm11
-	shrdq	$14,%r13,%r13
-	andq	%rdi,%r15
-	vpaddq	%xmm11,%xmm0,%xmm0
-	xorq	%r11,%r14
-	addq	%r13,%r10
-	vpaddq	-128(%rbp),%xmm0,%xmm10
-	xorq	%rax,%r15
-	shrdq	$28,%r14,%r14
-	addq	%r10,%rcx
-	addq	%r15,%r10
-	movq	%rcx,%r13
-	addq	%r10,%r14
-	vmovdqa	%xmm10,0(%rsp)
-	vpalignr	$8,%xmm1,%xmm2,%xmm8
-	shrdq	$23,%r13,%r13
-	movq	%r14,%r10
-	vpalignr	$8,%xmm5,%xmm6,%xmm11
-	movq	%rdx,%r12
-	shrdq	$5,%r14,%r14
-	vpsrlq	$1,%xmm8,%xmm10
-	xorq	%rcx,%r13
-	xorq	%r8,%r12
-	vpaddq	%xmm11,%xmm1,%xmm1
-	shrdq	$4,%r13,%r13
-	xorq	%r10,%r14
-	vpsrlq	$7,%xmm8,%xmm11
-	andq	%rcx,%r12
-	xorq	%rcx,%r13
-	vpsllq	$56,%xmm8,%xmm9
-	addq	16(%rsp),%r9
-	movq	%r10,%r15
-	vpxor	%xmm10,%xmm11,%xmm8
-	xorq	%r8,%r12
-	shrdq	$6,%r14,%r14
-	vpsrlq	$7,%xmm10,%xmm10
-	xorq	%r11,%r15
-	addq	%r12,%r9
-	vpxor	%xmm9,%xmm8,%xmm8
-	shrdq	$14,%r13,%r13
-	andq	%r15,%rdi
-	vpsllq	$7,%xmm9,%xmm9
-	xorq	%r10,%r14
-	addq	%r13,%r9
-	vpxor	%xmm10,%xmm8,%xmm8
-	xorq	%r11,%rdi
-	shrdq	$28,%r14,%r14
-	vpsrlq	$6,%xmm0,%xmm11
-	addq	%r9,%rbx
-	addq	%rdi,%r9
-	vpxor	%xmm9,%xmm8,%xmm8
-	movq	%rbx,%r13
-	addq	%r9,%r14
-	vpsllq	$3,%xmm0,%xmm10
-	shrdq	$23,%r13,%r13
-	movq	%r14,%r9
-	vpaddq	%xmm8,%xmm1,%xmm1
-	movq	%rcx,%r12
-	shrdq	$5,%r14,%r14
-	vpsrlq	$19,%xmm0,%xmm9
-	xorq	%rbx,%r13
-	xorq	%rdx,%r12
-	vpxor	%xmm10,%xmm11,%xmm11
-	shrdq	$4,%r13,%r13
-	xorq	%r9,%r14
-	vpsllq	$42,%xmm10,%xmm10
-	andq	%rbx,%r12
-	xorq	%rbx,%r13
-	vpxor	%xmm9,%xmm11,%xmm11
-	addq	24(%rsp),%r8
-	movq	%r9,%rdi
-	vpsrlq	$42,%xmm9,%xmm9
-	xorq	%rdx,%r12
-	shrdq	$6,%r14,%r14
-	vpxor	%xmm10,%xmm11,%xmm11
-	xorq	%r10,%rdi
-	addq	%r12,%r8
-	vpxor	%xmm9,%xmm11,%xmm11
-	shrdq	$14,%r13,%r13
-	andq	%rdi,%r15
-	vpaddq	%xmm11,%xmm1,%xmm1
-	xorq	%r9,%r14
-	addq	%r13,%r8
-	vpaddq	-96(%rbp),%xmm1,%xmm10
-	xorq	%r10,%r15
-	shrdq	$28,%r14,%r14
-	addq	%r8,%rax
-	addq	%r15,%r8
-	movq	%rax,%r13
-	addq	%r8,%r14
-	vmovdqa	%xmm10,16(%rsp)
-	vpalignr	$8,%xmm2,%xmm3,%xmm8
-	shrdq	$23,%r13,%r13
-	movq	%r14,%r8
-	vpalignr	$8,%xmm6,%xmm7,%xmm11
-	movq	%rbx,%r12
-	shrdq	$5,%r14,%r14
-	vpsrlq	$1,%xmm8,%xmm10
-	xorq	%rax,%r13
-	xorq	%rcx,%r12
-	vpaddq	%xmm11,%xmm2,%xmm2
-	shrdq	$4,%r13,%r13
-	xorq	%r8,%r14
-	vpsrlq	$7,%xmm8,%xmm11
-	andq	%rax,%r12
-	xorq	%rax,%r13
-	vpsllq	$56,%xmm8,%xmm9
-	addq	32(%rsp),%rdx
-	movq	%r8,%r15
-	vpxor	%xmm10,%xmm11,%xmm8
-	xorq	%rcx,%r12
-	shrdq	$6,%r14,%r14
-	vpsrlq	$7,%xmm10,%xmm10
-	xorq	%r9,%r15
-	addq	%r12,%rdx
-	vpxor	%xmm9,%xmm8,%xmm8
-	shrdq	$14,%r13,%r13
-	andq	%r15,%rdi
-	vpsllq	$7,%xmm9,%xmm9
-	xorq	%r8,%r14
-	addq	%r13,%rdx
-	vpxor	%xmm10,%xmm8,%xmm8
-	xorq	%r9,%rdi
-	shrdq	$28,%r14,%r14
-	vpsrlq	$6,%xmm1,%xmm11
-	addq	%rdx,%r11
-	addq	%rdi,%rdx
-	vpxor	%xmm9,%xmm8,%xmm8
-	movq	%r11,%r13
-	addq	%rdx,%r14
-	vpsllq	$3,%xmm1,%xmm10
-	shrdq	$23,%r13,%r13
-	movq	%r14,%rdx
-	vpaddq	%xmm8,%xmm2,%xmm2
-	movq	%rax,%r12
-	shrdq	$5,%r14,%r14
-	vpsrlq	$19,%xmm1,%xmm9
-	xorq	%r11,%r13
-	xorq	%rbx,%r12
-	vpxor	%xmm10,%xmm11,%xmm11
-	shrdq	$4,%r13,%r13
-	xorq	%rdx,%r14
-	vpsllq	$42,%xmm10,%xmm10
-	andq	%r11,%r12
-	xorq	%r11,%r13
-	vpxor	%xmm9,%xmm11,%xmm11
-	addq	40(%rsp),%rcx
-	movq	%rdx,%rdi
-	vpsrlq	$42,%xmm9,%xmm9
-	xorq	%rbx,%r12
-	shrdq	$6,%r14,%r14
-	vpxor	%xmm10,%xmm11,%xmm11
-	xorq	%r8,%rdi
-	addq	%r12,%rcx
-	vpxor	%xmm9,%xmm11,%xmm11
-	shrdq	$14,%r13,%r13
-	andq	%rdi,%r15
-	vpaddq	%xmm11,%xmm2,%xmm2
-	xorq	%rdx,%r14
-	addq	%r13,%rcx
-	vpaddq	-64(%rbp),%xmm2,%xmm10
-	xorq	%r8,%r15
-	shrdq	$28,%r14,%r14
-	addq	%rcx,%r10
-	addq	%r15,%rcx
-	movq	%r10,%r13
-	addq	%rcx,%r14
-	vmovdqa	%xmm10,32(%rsp)
-	vpalignr	$8,%xmm3,%xmm4,%xmm8
-	shrdq	$23,%r13,%r13
-	movq	%r14,%rcx
-	vpalignr	$8,%xmm7,%xmm0,%xmm11
-	movq	%r11,%r12
-	shrdq	$5,%r14,%r14
-	vpsrlq	$1,%xmm8,%xmm10
-	xorq	%r10,%r13
-	xorq	%rax,%r12
-	vpaddq	%xmm11,%xmm3,%xmm3
-	shrdq	$4,%r13,%r13
-	xorq	%rcx,%r14
-	vpsrlq	$7,%xmm8,%xmm11
-	andq	%r10,%r12
-	xorq	%r10,%r13
-	vpsllq	$56,%xmm8,%xmm9
-	addq	48(%rsp),%rbx
-	movq	%rcx,%r15
-	vpxor	%xmm10,%xmm11,%xmm8
-	xorq	%rax,%r12
-	shrdq	$6,%r14,%r14
-	vpsrlq	$7,%xmm10,%xmm10
-	xorq	%rdx,%r15
-	addq	%r12,%rbx
-	vpxor	%xmm9,%xmm8,%xmm8
-	shrdq	$14,%r13,%r13
-	andq	%r15,%rdi
-	vpsllq	$7,%xmm9,%xmm9
-	xorq	%rcx,%r14
-	addq	%r13,%rbx
-	vpxor	%xmm10,%xmm8,%xmm8
-	xorq	%rdx,%rdi
-	shrdq	$28,%r14,%r14
-	vpsrlq	$6,%xmm2,%xmm11
-	addq	%rbx,%r9
-	addq	%rdi,%rbx
-	vpxor	%xmm9,%xmm8,%xmm8
-	movq	%r9,%r13
-	addq	%rbx,%r14
-	vpsllq	$3,%xmm2,%xmm10
-	shrdq	$23,%r13,%r13
-	movq	%r14,%rbx
-	vpaddq	%xmm8,%xmm3,%xmm3
-	movq	%r10,%r12
-	shrdq	$5,%r14,%r14
-	vpsrlq	$19,%xmm2,%xmm9
-	xorq	%r9,%r13
-	xorq	%r11,%r12
-	vpxor	%xmm10,%xmm11,%xmm11
-	shrdq	$4,%r13,%r13
-	xorq	%rbx,%r14
-	vpsllq	$42,%xmm10,%xmm10
-	andq	%r9,%r12
-	xorq	%r9,%r13
-	vpxor	%xmm9,%xmm11,%xmm11
-	addq	56(%rsp),%rax
-	movq	%rbx,%rdi
-	vpsrlq	$42,%xmm9,%xmm9
-	xorq	%r11,%r12
-	shrdq	$6,%r14,%r14
-	vpxor	%xmm10,%xmm11,%xmm11
-	xorq	%rcx,%rdi
-	addq	%r12,%rax
-	vpxor	%xmm9,%xmm11,%xmm11
-	shrdq	$14,%r13,%r13
-	andq	%rdi,%r15
-	vpaddq	%xmm11,%xmm3,%xmm3
-	xorq	%rbx,%r14
-	addq	%r13,%rax
-	vpaddq	-32(%rbp),%xmm3,%xmm10
-	xorq	%rcx,%r15
-	shrdq	$28,%r14,%r14
-	addq	%rax,%r8
-	addq	%r15,%rax
-	movq	%r8,%r13
-	addq	%rax,%r14
-	vmovdqa	%xmm10,48(%rsp)
-	vpalignr	$8,%xmm4,%xmm5,%xmm8
-	shrdq	$23,%r13,%r13
-	movq	%r14,%rax
-	vpalignr	$8,%xmm0,%xmm1,%xmm11
-	movq	%r9,%r12
-	shrdq	$5,%r14,%r14
-	vpsrlq	$1,%xmm8,%xmm10
-	xorq	%r8,%r13
-	xorq	%r10,%r12
-	vpaddq	%xmm11,%xmm4,%xmm4
-	shrdq	$4,%r13,%r13
-	xorq	%rax,%r14
-	vpsrlq	$7,%xmm8,%xmm11
-	andq	%r8,%r12
-	xorq	%r8,%r13
-	vpsllq	$56,%xmm8,%xmm9
-	addq	64(%rsp),%r11
-	movq	%rax,%r15
-	vpxor	%xmm10,%xmm11,%xmm8
-	xorq	%r10,%r12
-	shrdq	$6,%r14,%r14
-	vpsrlq	$7,%xmm10,%xmm10
-	xorq	%rbx,%r15
-	addq	%r12,%r11
-	vpxor	%xmm9,%xmm8,%xmm8
-	shrdq	$14,%r13,%r13
-	andq	%r15,%rdi
-	vpsllq	$7,%xmm9,%xmm9
-	xorq	%rax,%r14
-	addq	%r13,%r11
-	vpxor	%xmm10,%xmm8,%xmm8
-	xorq	%rbx,%rdi
-	shrdq	$28,%r14,%r14
-	vpsrlq	$6,%xmm3,%xmm11
-	addq	%r11,%rdx
-	addq	%rdi,%r11
-	vpxor	%xmm9,%xmm8,%xmm8
-	movq	%rdx,%r13
-	addq	%r11,%r14
-	vpsllq	$3,%xmm3,%xmm10
-	shrdq	$23,%r13,%r13
-	movq	%r14,%r11
-	vpaddq	%xmm8,%xmm4,%xmm4
-	movq	%r8,%r12
-	shrdq	$5,%r14,%r14
-	vpsrlq	$19,%xmm3,%xmm9
-	xorq	%rdx,%r13
-	xorq	%r9,%r12
-	vpxor	%xmm10,%xmm11,%xmm11
-	shrdq	$4,%r13,%r13
-	xorq	%r11,%r14
-	vpsllq	$42,%xmm10,%xmm10
-	andq	%rdx,%r12
-	xorq	%rdx,%r13
-	vpxor	%xmm9,%xmm11,%xmm11
-	addq	72(%rsp),%r10
-	movq	%r11,%rdi
-	vpsrlq	$42,%xmm9,%xmm9
-	xorq	%r9,%r12
-	shrdq	$6,%r14,%r14
-	vpxor	%xmm10,%xmm11,%xmm11
-	xorq	%rax,%rdi
-	addq	%r12,%r10
-	vpxor	%xmm9,%xmm11,%xmm11
-	shrdq	$14,%r13,%r13
-	andq	%rdi,%r15
-	vpaddq	%xmm11,%xmm4,%xmm4
-	xorq	%r11,%r14
-	addq	%r13,%r10
-	vpaddq	0(%rbp),%xmm4,%xmm10
-	xorq	%rax,%r15
-	shrdq	$28,%r14,%r14
-	addq	%r10,%rcx
-	addq	%r15,%r10
-	movq	%rcx,%r13
-	addq	%r10,%r14
-	vmovdqa	%xmm10,64(%rsp)
-	vpalignr	$8,%xmm5,%xmm6,%xmm8
-	shrdq	$23,%r13,%r13
-	movq	%r14,%r10
-	vpalignr	$8,%xmm1,%xmm2,%xmm11
-	movq	%rdx,%r12
-	shrdq	$5,%r14,%r14
-	vpsrlq	$1,%xmm8,%xmm10
-	xorq	%rcx,%r13
-	xorq	%r8,%r12
-	vpaddq	%xmm11,%xmm5,%xmm5
-	shrdq	$4,%r13,%r13
-	xorq	%r10,%r14
-	vpsrlq	$7,%xmm8,%xmm11
-	andq	%rcx,%r12
-	xorq	%rcx,%r13
-	vpsllq	$56,%xmm8,%xmm9
-	addq	80(%rsp),%r9
-	movq	%r10,%r15
-	vpxor	%xmm10,%xmm11,%xmm8
-	xorq	%r8,%r12
-	shrdq	$6,%r14,%r14
-	vpsrlq	$7,%xmm10,%xmm10
-	xorq	%r11,%r15
-	addq	%r12,%r9
-	vpxor	%xmm9,%xmm8,%xmm8
-	shrdq	$14,%r13,%r13
-	andq	%r15,%rdi
-	vpsllq	$7,%xmm9,%xmm9
-	xorq	%r10,%r14
-	addq	%r13,%r9
-	vpxor	%xmm10,%xmm8,%xmm8
-	xorq	%r11,%rdi
-	shrdq	$28,%r14,%r14
-	vpsrlq	$6,%xmm4,%xmm11
-	addq	%r9,%rbx
-	addq	%rdi,%r9
-	vpxor	%xmm9,%xmm8,%xmm8
-	movq	%rbx,%r13
-	addq	%r9,%r14
-	vpsllq	$3,%xmm4,%xmm10
-	shrdq	$23,%r13,%r13
-	movq	%r14,%r9
-	vpaddq	%xmm8,%xmm5,%xmm5
-	movq	%rcx,%r12
-	shrdq	$5,%r14,%r14
-	vpsrlq	$19,%xmm4,%xmm9
-	xorq	%rbx,%r13
-	xorq	%rdx,%r12
-	vpxor	%xmm10,%xmm11,%xmm11
-	shrdq	$4,%r13,%r13
-	xorq	%r9,%r14
-	vpsllq	$42,%xmm10,%xmm10
-	andq	%rbx,%r12
-	xorq	%rbx,%r13
-	vpxor	%xmm9,%xmm11,%xmm11
-	addq	88(%rsp),%r8
-	movq	%r9,%rdi
-	vpsrlq	$42,%xmm9,%xmm9
-	xorq	%rdx,%r12
-	shrdq	$6,%r14,%r14
-	vpxor	%xmm10,%xmm11,%xmm11
-	xorq	%r10,%rdi
-	addq	%r12,%r8
-	vpxor	%xmm9,%xmm11,%xmm11
-	shrdq	$14,%r13,%r13
-	andq	%rdi,%r15
-	vpaddq	%xmm11,%xmm5,%xmm5
-	xorq	%r9,%r14
-	addq	%r13,%r8
-	vpaddq	32(%rbp),%xmm5,%xmm10
-	xorq	%r10,%r15
-	shrdq	$28,%r14,%r14
-	addq	%r8,%rax
-	addq	%r15,%r8
-	movq	%rax,%r13
-	addq	%r8,%r14
-	vmovdqa	%xmm10,80(%rsp)
-	vpalignr	$8,%xmm6,%xmm7,%xmm8
-	shrdq	$23,%r13,%r13
-	movq	%r14,%r8
-	vpalignr	$8,%xmm2,%xmm3,%xmm11
-	movq	%rbx,%r12
-	shrdq	$5,%r14,%r14
-	vpsrlq	$1,%xmm8,%xmm10
-	xorq	%rax,%r13
-	xorq	%rcx,%r12
-	vpaddq	%xmm11,%xmm6,%xmm6
-	shrdq	$4,%r13,%r13
-	xorq	%r8,%r14
-	vpsrlq	$7,%xmm8,%xmm11
-	andq	%rax,%r12
-	xorq	%rax,%r13
-	vpsllq	$56,%xmm8,%xmm9
-	addq	96(%rsp),%rdx
-	movq	%r8,%r15
-	vpxor	%xmm10,%xmm11,%xmm8
-	xorq	%rcx,%r12
-	shrdq	$6,%r14,%r14
-	vpsrlq	$7,%xmm10,%xmm10
-	xorq	%r9,%r15
-	addq	%r12,%rdx
-	vpxor	%xmm9,%xmm8,%xmm8
-	shrdq	$14,%r13,%r13
-	andq	%r15,%rdi
-	vpsllq	$7,%xmm9,%xmm9
-	xorq	%r8,%r14
-	addq	%r13,%rdx
-	vpxor	%xmm10,%xmm8,%xmm8
-	xorq	%r9,%rdi
-	shrdq	$28,%r14,%r14
-	vpsrlq	$6,%xmm5,%xmm11
-	addq	%rdx,%r11
-	addq	%rdi,%rdx
-	vpxor	%xmm9,%xmm8,%xmm8
-	movq	%r11,%r13
-	addq	%rdx,%r14
-	vpsllq	$3,%xmm5,%xmm10
-	shrdq	$23,%r13,%r13
-	movq	%r14,%rdx
-	vpaddq	%xmm8,%xmm6,%xmm6
-	movq	%rax,%r12
-	shrdq	$5,%r14,%r14
-	vpsrlq	$19,%xmm5,%xmm9
-	xorq	%r11,%r13
-	xorq	%rbx,%r12
-	vpxor	%xmm10,%xmm11,%xmm11
-	shrdq	$4,%r13,%r13
-	xorq	%rdx,%r14
-	vpsllq	$42,%xmm10,%xmm10
-	andq	%r11,%r12
-	xorq	%r11,%r13
-	vpxor	%xmm9,%xmm11,%xmm11
-	addq	104(%rsp),%rcx
-	movq	%rdx,%rdi
-	vpsrlq	$42,%xmm9,%xmm9
-	xorq	%rbx,%r12
-	shrdq	$6,%r14,%r14
-	vpxor	%xmm10,%xmm11,%xmm11
-	xorq	%r8,%rdi
-	addq	%r12,%rcx
-	vpxor	%xmm9,%xmm11,%xmm11
-	shrdq	$14,%r13,%r13
-	andq	%rdi,%r15
-	vpaddq	%xmm11,%xmm6,%xmm6
-	xorq	%rdx,%r14
-	addq	%r13,%rcx
-	vpaddq	64(%rbp),%xmm6,%xmm10
-	xorq	%r8,%r15
-	shrdq	$28,%r14,%r14
-	addq	%rcx,%r10
-	addq	%r15,%rcx
-	movq	%r10,%r13
-	addq	%rcx,%r14
-	vmovdqa	%xmm10,96(%rsp)
-	vpalignr	$8,%xmm7,%xmm0,%xmm8
-	shrdq	$23,%r13,%r13
-	movq	%r14,%rcx
-	vpalignr	$8,%xmm3,%xmm4,%xmm11
-	movq	%r11,%r12
-	shrdq	$5,%r14,%r14
-	vpsrlq	$1,%xmm8,%xmm10
-	xorq	%r10,%r13
-	xorq	%rax,%r12
-	vpaddq	%xmm11,%xmm7,%xmm7
-	shrdq	$4,%r13,%r13
-	xorq	%rcx,%r14
-	vpsrlq	$7,%xmm8,%xmm11
-	andq	%r10,%r12
-	xorq	%r10,%r13
-	vpsllq	$56,%xmm8,%xmm9
-	addq	112(%rsp),%rbx
-	movq	%rcx,%r15
-	vpxor	%xmm10,%xmm11,%xmm8
-	xorq	%rax,%r12
-	shrdq	$6,%r14,%r14
-	vpsrlq	$7,%xmm10,%xmm10
-	xorq	%rdx,%r15
-	addq	%r12,%rbx
-	vpxor	%xmm9,%xmm8,%xmm8
-	shrdq	$14,%r13,%r13
-	andq	%r15,%rdi
-	vpsllq	$7,%xmm9,%xmm9
-	xorq	%rcx,%r14
-	addq	%r13,%rbx
-	vpxor	%xmm10,%xmm8,%xmm8
-	xorq	%rdx,%rdi
-	shrdq	$28,%r14,%r14
-	vpsrlq	$6,%xmm6,%xmm11
-	addq	%rbx,%r9
-	addq	%rdi,%rbx
-	vpxor	%xmm9,%xmm8,%xmm8
-	movq	%r9,%r13
-	addq	%rbx,%r14
-	vpsllq	$3,%xmm6,%xmm10
-	shrdq	$23,%r13,%r13
-	movq	%r14,%rbx
-	vpaddq	%xmm8,%xmm7,%xmm7
-	movq	%r10,%r12
-	shrdq	$5,%r14,%r14
-	vpsrlq	$19,%xmm6,%xmm9
-	xorq	%r9,%r13
-	xorq	%r11,%r12
-	vpxor	%xmm10,%xmm11,%xmm11
-	shrdq	$4,%r13,%r13
-	xorq	%rbx,%r14
-	vpsllq	$42,%xmm10,%xmm10
-	andq	%r9,%r12
-	xorq	%r9,%r13
-	vpxor	%xmm9,%xmm11,%xmm11
-	addq	120(%rsp),%rax
-	movq	%rbx,%rdi
-	vpsrlq	$42,%xmm9,%xmm9
-	xorq	%r11,%r12
-	shrdq	$6,%r14,%r14
-	vpxor	%xmm10,%xmm11,%xmm11
-	xorq	%rcx,%rdi
-	addq	%r12,%rax
-	vpxor	%xmm9,%xmm11,%xmm11
-	shrdq	$14,%r13,%r13
-	andq	%rdi,%r15
-	vpaddq	%xmm11,%xmm7,%xmm7
-	xorq	%rbx,%r14
-	addq	%r13,%rax
-	vpaddq	96(%rbp),%xmm7,%xmm10
-	xorq	%rcx,%r15
-	shrdq	$28,%r14,%r14
-	addq	%rax,%r8
-	addq	%r15,%rax
-	movq	%r8,%r13
-	addq	%rax,%r14
-	vmovdqa	%xmm10,112(%rsp)
-	cmpb	$0,135(%rbp)
-	jne	.Lavx_00_47
-	shrdq	$23,%r13,%r13
-	movq	%r14,%rax
-	movq	%r9,%r12
-	shrdq	$5,%r14,%r14
-	xorq	%r8,%r13
-	xorq	%r10,%r12
-	shrdq	$4,%r13,%r13
-	xorq	%rax,%r14
-	andq	%r8,%r12
-	xorq	%r8,%r13
-	addq	0(%rsp),%r11
-	movq	%rax,%r15
-	xorq	%r10,%r12
-	shrdq	$6,%r14,%r14
-	xorq	%rbx,%r15
-	addq	%r12,%r11
-	shrdq	$14,%r13,%r13
-	andq	%r15,%rdi
-	xorq	%rax,%r14
-	addq	%r13,%r11
-	xorq	%rbx,%rdi
-	shrdq	$28,%r14,%r14
-	addq	%r11,%rdx
-	addq	%rdi,%r11
-	movq	%rdx,%r13
-	addq	%r11,%r14
-	shrdq	$23,%r13,%r13
-	movq	%r14,%r11
-	movq	%r8,%r12
-	shrdq	$5,%r14,%r14
-	xorq	%rdx,%r13
-	xorq	%r9,%r12
-	shrdq	$4,%r13,%r13
-	xorq	%r11,%r14
-	andq	%rdx,%r12
-	xorq	%rdx,%r13
-	addq	8(%rsp),%r10
-	movq	%r11,%rdi
-	xorq	%r9,%r12
-	shrdq	$6,%r14,%r14
-	xorq	%rax,%rdi
-	addq	%r12,%r10
-	shrdq	$14,%r13,%r13
-	andq	%rdi,%r15
-	xorq	%r11,%r14
-	addq	%r13,%r10
-	xorq	%rax,%r15
-	shrdq	$28,%r14,%r14
-	addq	%r10,%rcx
-	addq	%r15,%r10
-	movq	%rcx,%r13
-	addq	%r10,%r14
-	shrdq	$23,%r13,%r13
-	movq	%r14,%r10
-	movq	%rdx,%r12
-	shrdq	$5,%r14,%r14
-	xorq	%rcx,%r13
-	xorq	%r8,%r12
-	shrdq	$4,%r13,%r13
-	xorq	%r10,%r14
-	andq	%rcx,%r12
-	xorq	%rcx,%r13
-	addq	16(%rsp),%r9
-	movq	%r10,%r15
-	xorq	%r8,%r12
-	shrdq	$6,%r14,%r14
-	xorq	%r11,%r15
-	addq	%r12,%r9
-	shrdq	$14,%r13,%r13
-	andq	%r15,%rdi
-	xorq	%r10,%r14
-	addq	%r13,%r9
-	xorq	%r11,%rdi
-	shrdq	$28,%r14,%r14
-	addq	%r9,%rbx
-	addq	%rdi,%r9
-	movq	%rbx,%r13
-	addq	%r9,%r14
-	shrdq	$23,%r13,%r13
-	movq	%r14,%r9
-	movq	%rcx,%r12
-	shrdq	$5,%r14,%r14
-	xorq	%rbx,%r13
-	xorq	%rdx,%r12
-	shrdq	$4,%r13,%r13
-	xorq	%r9,%r14
-	andq	%rbx,%r12
-	xorq	%rbx,%r13
-	addq	24(%rsp),%r8
-	movq	%r9,%rdi
-	xorq	%rdx,%r12
-	shrdq	$6,%r14,%r14
-	xorq	%r10,%rdi
-	addq	%r12,%r8
-	shrdq	$14,%r13,%r13
-	andq	%rdi,%r15
-	xorq	%r9,%r14
-	addq	%r13,%r8
-	xorq	%r10,%r15
-	shrdq	$28,%r14,%r14
-	addq	%r8,%rax
-	addq	%r15,%r8
-	movq	%rax,%r13
-	addq	%r8,%r14
-	shrdq	$23,%r13,%r13
-	movq	%r14,%r8
-	movq	%rbx,%r12
-	shrdq	$5,%r14,%r14
-	xorq	%rax,%r13
-	xorq	%rcx,%r12
-	shrdq	$4,%r13,%r13
-	xorq	%r8,%r14
-	andq	%rax,%r12
-	xorq	%rax,%r13
-	addq	32(%rsp),%rdx
-	movq	%r8,%r15
-	xorq	%rcx,%r12
-	shrdq	$6,%r14,%r14
-	xorq	%r9,%r15
-	addq	%r12,%rdx
-	shrdq	$14,%r13,%r13
-	andq	%r15,%rdi
-	xorq	%r8,%r14
-	addq	%r13,%rdx
-	xorq	%r9,%rdi
-	shrdq	$28,%r14,%r14
-	addq	%rdx,%r11
-	addq	%rdi,%rdx
-	movq	%r11,%r13
-	addq	%rdx,%r14
-	shrdq	$23,%r13,%r13
-	movq	%r14,%rdx
-	movq	%rax,%r12
-	shrdq	$5,%r14,%r14
-	xorq	%r11,%r13
-	xorq	%rbx,%r12
-	shrdq	$4,%r13,%r13
-	xorq	%rdx,%r14
-	andq	%r11,%r12
-	xorq	%r11,%r13
-	addq	40(%rsp),%rcx
-	movq	%rdx,%rdi
-	xorq	%rbx,%r12
-	shrdq	$6,%r14,%r14
-	xorq	%r8,%rdi
-	addq	%r12,%rcx
-	shrdq	$14,%r13,%r13
-	andq	%rdi,%r15
-	xorq	%rdx,%r14
-	addq	%r13,%rcx
-	xorq	%r8,%r15
-	shrdq	$28,%r14,%r14
-	addq	%rcx,%r10
-	addq	%r15,%rcx
-	movq	%r10,%r13
-	addq	%rcx,%r14
-	shrdq	$23,%r13,%r13
-	movq	%r14,%rcx
-	movq	%r11,%r12
-	shrdq	$5,%r14,%r14
-	xorq	%r10,%r13
-	xorq	%rax,%r12
-	shrdq	$4,%r13,%r13
-	xorq	%rcx,%r14
-	andq	%r10,%r12
-	xorq	%r10,%r13
-	addq	48(%rsp),%rbx
-	movq	%rcx,%r15
-	xorq	%rax,%r12
-	shrdq	$6,%r14,%r14
-	xorq	%rdx,%r15
-	addq	%r12,%rbx
-	shrdq	$14,%r13,%r13
-	andq	%r15,%rdi
-	xorq	%rcx,%r14
-	addq	%r13,%rbx
-	xorq	%rdx,%rdi
-	shrdq	$28,%r14,%r14
-	addq	%rbx,%r9
-	addq	%rdi,%rbx
-	movq	%r9,%r13
-	addq	%rbx,%r14
-	shrdq	$23,%r13,%r13
-	movq	%r14,%rbx
-	movq	%r10,%r12
-	shrdq	$5,%r14,%r14
-	xorq	%r9,%r13
-	xorq	%r11,%r12
-	shrdq	$4,%r13,%r13
-	xorq	%rbx,%r14
-	andq	%r9,%r12
-	xorq	%r9,%r13
-	addq	56(%rsp),%rax
-	movq	%rbx,%rdi
-	xorq	%r11,%r12
-	shrdq	$6,%r14,%r14
-	xorq	%rcx,%rdi
-	addq	%r12,%rax
-	shrdq	$14,%r13,%r13
-	andq	%rdi,%r15
-	xorq	%rbx,%r14
-	addq	%r13,%rax
-	xorq	%rcx,%r15
-	shrdq	$28,%r14,%r14
-	addq	%rax,%r8
-	addq	%r15,%rax
-	movq	%r8,%r13
-	addq	%rax,%r14
-	shrdq	$23,%r13,%r13
-	movq	%r14,%rax
-	movq	%r9,%r12
-	shrdq	$5,%r14,%r14
-	xorq	%r8,%r13
-	xorq	%r10,%r12
-	shrdq	$4,%r13,%r13
-	xorq	%rax,%r14
-	andq	%r8,%r12
-	xorq	%r8,%r13
-	addq	64(%rsp),%r11
-	movq	%rax,%r15
-	xorq	%r10,%r12
-	shrdq	$6,%r14,%r14
-	xorq	%rbx,%r15
-	addq	%r12,%r11
-	shrdq	$14,%r13,%r13
-	andq	%r15,%rdi
-	xorq	%rax,%r14
-	addq	%r13,%r11
-	xorq	%rbx,%rdi
-	shrdq	$28,%r14,%r14
-	addq	%r11,%rdx
-	addq	%rdi,%r11
-	movq	%rdx,%r13
-	addq	%r11,%r14
-	shrdq	$23,%r13,%r13
-	movq	%r14,%r11
-	movq	%r8,%r12
-	shrdq	$5,%r14,%r14
-	xorq	%rdx,%r13
-	xorq	%r9,%r12
-	shrdq	$4,%r13,%r13
-	xorq	%r11,%r14
-	andq	%rdx,%r12
-	xorq	%rdx,%r13
-	addq	72(%rsp),%r10
-	movq	%r11,%rdi
-	xorq	%r9,%r12
-	shrdq	$6,%r14,%r14
-	xorq	%rax,%rdi
-	addq	%r12,%r10
-	shrdq	$14,%r13,%r13
-	andq	%rdi,%r15
-	xorq	%r11,%r14
-	addq	%r13,%r10
-	xorq	%rax,%r15
-	shrdq	$28,%r14,%r14
-	addq	%r10,%rcx
-	addq	%r15,%r10
-	movq	%rcx,%r13
-	addq	%r10,%r14
-	shrdq	$23,%r13,%r13
-	movq	%r14,%r10
-	movq	%rdx,%r12
-	shrdq	$5,%r14,%r14
-	xorq	%rcx,%r13
-	xorq	%r8,%r12
-	shrdq	$4,%r13,%r13
-	xorq	%r10,%r14
-	andq	%rcx,%r12
-	xorq	%rcx,%r13
-	addq	80(%rsp),%r9
-	movq	%r10,%r15
-	xorq	%r8,%r12
-	shrdq	$6,%r14,%r14
-	xorq	%r11,%r15
-	addq	%r12,%r9
-	shrdq	$14,%r13,%r13
-	andq	%r15,%rdi
-	xorq	%r10,%r14
-	addq	%r13,%r9
-	xorq	%r11,%rdi
-	shrdq	$28,%r14,%r14
-	addq	%r9,%rbx
-	addq	%rdi,%r9
-	movq	%rbx,%r13
-	addq	%r9,%r14
-	shrdq	$23,%r13,%r13
-	movq	%r14,%r9
-	movq	%rcx,%r12
-	shrdq	$5,%r14,%r14
-	xorq	%rbx,%r13
-	xorq	%rdx,%r12
-	shrdq	$4,%r13,%r13
-	xorq	%r9,%r14
-	andq	%rbx,%r12
-	xorq	%rbx,%r13
-	addq	88(%rsp),%r8
-	movq	%r9,%rdi
-	xorq	%rdx,%r12
-	shrdq	$6,%r14,%r14
-	xorq	%r10,%rdi
-	addq	%r12,%r8
-	shrdq	$14,%r13,%r13
-	andq	%rdi,%r15
-	xorq	%r9,%r14
-	addq	%r13,%r8
-	xorq	%r10,%r15
-	shrdq	$28,%r14,%r14
-	addq	%r8,%rax
-	addq	%r15,%r8
-	movq	%rax,%r13
-	addq	%r8,%r14
-	shrdq	$23,%r13,%r13
-	movq	%r14,%r8
-	movq	%rbx,%r12
-	shrdq	$5,%r14,%r14
-	xorq	%rax,%r13
-	xorq	%rcx,%r12
-	shrdq	$4,%r13,%r13
-	xorq	%r8,%r14
-	andq	%rax,%r12
-	xorq	%rax,%r13
-	addq	96(%rsp),%rdx
-	movq	%r8,%r15
-	xorq	%rcx,%r12
-	shrdq	$6,%r14,%r14
-	xorq	%r9,%r15
-	addq	%r12,%rdx
-	shrdq	$14,%r13,%r13
-	andq	%r15,%rdi
-	xorq	%r8,%r14
-	addq	%r13,%rdx
-	xorq	%r9,%rdi
-	shrdq	$28,%r14,%r14
-	addq	%rdx,%r11
-	addq	%rdi,%rdx
-	movq	%r11,%r13
-	addq	%rdx,%r14
-	shrdq	$23,%r13,%r13
-	movq	%r14,%rdx
-	movq	%rax,%r12
-	shrdq	$5,%r14,%r14
-	xorq	%r11,%r13
-	xorq	%rbx,%r12
-	shrdq	$4,%r13,%r13
-	xorq	%rdx,%r14
-	andq	%r11,%r12
-	xorq	%r11,%r13
-	addq	104(%rsp),%rcx
-	movq	%rdx,%rdi
-	xorq	%rbx,%r12
-	shrdq	$6,%r14,%r14
-	xorq	%r8,%rdi
-	addq	%r12,%rcx
-	shrdq	$14,%r13,%r13
-	andq	%rdi,%r15
-	xorq	%rdx,%r14
-	addq	%r13,%rcx
-	xorq	%r8,%r15
-	shrdq	$28,%r14,%r14
-	addq	%rcx,%r10
-	addq	%r15,%rcx
-	movq	%r10,%r13
-	addq	%rcx,%r14
-	shrdq	$23,%r13,%r13
-	movq	%r14,%rcx
-	movq	%r11,%r12
-	shrdq	$5,%r14,%r14
-	xorq	%r10,%r13
-	xorq	%rax,%r12
-	shrdq	$4,%r13,%r13
-	xorq	%rcx,%r14
-	andq	%r10,%r12
-	xorq	%r10,%r13
-	addq	112(%rsp),%rbx
-	movq	%rcx,%r15
-	xorq	%rax,%r12
-	shrdq	$6,%r14,%r14
-	xorq	%rdx,%r15
-	addq	%r12,%rbx
-	shrdq	$14,%r13,%r13
-	andq	%r15,%rdi
-	xorq	%rcx,%r14
-	addq	%r13,%rbx
-	xorq	%rdx,%rdi
-	shrdq	$28,%r14,%r14
-	addq	%rbx,%r9
-	addq	%rdi,%rbx
-	movq	%r9,%r13
-	addq	%rbx,%r14
-	shrdq	$23,%r13,%r13
-	movq	%r14,%rbx
-	movq	%r10,%r12
-	shrdq	$5,%r14,%r14
-	xorq	%r9,%r13
-	xorq	%r11,%r12
-	shrdq	$4,%r13,%r13
-	xorq	%rbx,%r14
-	andq	%r9,%r12
-	xorq	%r9,%r13
-	addq	120(%rsp),%rax
-	movq	%rbx,%rdi
-	xorq	%r11,%r12
-	shrdq	$6,%r14,%r14
-	xorq	%rcx,%rdi
-	addq	%r12,%rax
-	shrdq	$14,%r13,%r13
-	andq	%rdi,%r15
-	xorq	%rbx,%r14
-	addq	%r13,%rax
-	xorq	%rcx,%r15
-	shrdq	$28,%r14,%r14
-	addq	%rax,%r8
-	addq	%r15,%rax
-	movq	%r8,%r13
-	addq	%rax,%r14
-	movq	128+0(%rsp),%rdi
-	movq	%r14,%rax
-
-	addq	0(%rdi),%rax
-	leaq	128(%rsi),%rsi
-	addq	8(%rdi),%rbx
-	addq	16(%rdi),%rcx
-	addq	24(%rdi),%rdx
-	addq	32(%rdi),%r8
-	addq	40(%rdi),%r9
-	addq	48(%rdi),%r10
-	addq	56(%rdi),%r11
-
-	cmpq	128+16(%rsp),%rsi
-
-	movq	%rax,0(%rdi)
-	movq	%rbx,8(%rdi)
-	movq	%rcx,16(%rdi)
-	movq	%rdx,24(%rdi)
-	movq	%r8,32(%rdi)
-	movq	%r9,40(%rdi)
-	movq	%r10,48(%rdi)
-	movq	%r11,56(%rdi)
-	jb	.Lloop_avx
-
-	movq	128+24(%rsp),%rsi
-	vzeroupper
-	movq	-48(%rsi),%r15
-	movq	-40(%rsi),%r14
-	movq	-32(%rsi),%r13
-	movq	-24(%rsi),%r12
-	movq	-16(%rsi),%rbp
-	movq	-8(%rsi),%rbx
-	leaq	(%rsi),%rsp
-.Lepilogue_avx:
-	.byte	0xf3,0xc3
-.size	sha512_block_data_order_avx,.-sha512_block_data_order_avx
-#endif
diff --git a/third_party/boringssl/mac-x86/crypto/fipsmodule/md5-586.S b/third_party/boringssl/mac-x86/crypto/fipsmodule/md5-586.S
new file mode 100644
index 0000000..40dae12f
--- /dev/null
+++ b/third_party/boringssl/mac-x86/crypto/fipsmodule/md5-586.S
@@ -0,0 +1,680 @@
+#if defined(__i386__)
+.file	"src/crypto/fipsmodule/md5/asm/md5-586.S"
+.text
+.globl	_md5_block_asm_data_order
+.private_extern	_md5_block_asm_data_order
+.align	4
+_md5_block_asm_data_order:
+L_md5_block_asm_data_order_begin:
+	pushl	%esi
+	pushl	%edi
+	movl	12(%esp),%edi
+	movl	16(%esp),%esi
+	movl	20(%esp),%ecx
+	pushl	%ebp
+	shll	$6,%ecx
+	pushl	%ebx
+	addl	%esi,%ecx
+	subl	$64,%ecx
+	movl	(%edi),%eax
+	pushl	%ecx
+	movl	4(%edi),%ebx
+	movl	8(%edi),%ecx
+	movl	12(%edi),%edx
+L000start:
+
+	# R0 section 
+	movl	%ecx,%edi
+	movl	(%esi),%ebp
+	# R0 0 
+	xorl	%edx,%edi
+	andl	%ebx,%edi
+	leal	3614090360(%eax,%ebp,1),%eax
+	xorl	%edx,%edi
+	addl	%edi,%eax
+	movl	%ebx,%edi
+	roll	$7,%eax
+	movl	4(%esi),%ebp
+	addl	%ebx,%eax
+	# R0 1 
+	xorl	%ecx,%edi
+	andl	%eax,%edi
+	leal	3905402710(%edx,%ebp,1),%edx
+	xorl	%ecx,%edi
+	addl	%edi,%edx
+	movl	%eax,%edi
+	roll	$12,%edx
+	movl	8(%esi),%ebp
+	addl	%eax,%edx
+	# R0 2 
+	xorl	%ebx,%edi
+	andl	%edx,%edi
+	leal	606105819(%ecx,%ebp,1),%ecx
+	xorl	%ebx,%edi
+	addl	%edi,%ecx
+	movl	%edx,%edi
+	roll	$17,%ecx
+	movl	12(%esi),%ebp
+	addl	%edx,%ecx
+	# R0 3 
+	xorl	%eax,%edi
+	andl	%ecx,%edi
+	leal	3250441966(%ebx,%ebp,1),%ebx
+	xorl	%eax,%edi
+	addl	%edi,%ebx
+	movl	%ecx,%edi
+	roll	$22,%ebx
+	movl	16(%esi),%ebp
+	addl	%ecx,%ebx
+	# R0 4 
+	xorl	%edx,%edi
+	andl	%ebx,%edi
+	leal	4118548399(%eax,%ebp,1),%eax
+	xorl	%edx,%edi
+	addl	%edi,%eax
+	movl	%ebx,%edi
+	roll	$7,%eax
+	movl	20(%esi),%ebp
+	addl	%ebx,%eax
+	# R0 5 
+	xorl	%ecx,%edi
+	andl	%eax,%edi
+	leal	1200080426(%edx,%ebp,1),%edx
+	xorl	%ecx,%edi
+	addl	%edi,%edx
+	movl	%eax,%edi
+	roll	$12,%edx
+	movl	24(%esi),%ebp
+	addl	%eax,%edx
+	# R0 6 
+	xorl	%ebx,%edi
+	andl	%edx,%edi
+	leal	2821735955(%ecx,%ebp,1),%ecx
+	xorl	%ebx,%edi
+	addl	%edi,%ecx
+	movl	%edx,%edi
+	roll	$17,%ecx
+	movl	28(%esi),%ebp
+	addl	%edx,%ecx
+	# R0 7 
+	xorl	%eax,%edi
+	andl	%ecx,%edi
+	leal	4249261313(%ebx,%ebp,1),%ebx
+	xorl	%eax,%edi
+	addl	%edi,%ebx
+	movl	%ecx,%edi
+	roll	$22,%ebx
+	movl	32(%esi),%ebp
+	addl	%ecx,%ebx
+	# R0 8 
+	xorl	%edx,%edi
+	andl	%ebx,%edi
+	leal	1770035416(%eax,%ebp,1),%eax
+	xorl	%edx,%edi
+	addl	%edi,%eax
+	movl	%ebx,%edi
+	roll	$7,%eax
+	movl	36(%esi),%ebp
+	addl	%ebx,%eax
+	# R0 9 
+	xorl	%ecx,%edi
+	andl	%eax,%edi
+	leal	2336552879(%edx,%ebp,1),%edx
+	xorl	%ecx,%edi
+	addl	%edi,%edx
+	movl	%eax,%edi
+	roll	$12,%edx
+	movl	40(%esi),%ebp
+	addl	%eax,%edx
+	# R0 10 
+	xorl	%ebx,%edi
+	andl	%edx,%edi
+	leal	4294925233(%ecx,%ebp,1),%ecx
+	xorl	%ebx,%edi
+	addl	%edi,%ecx
+	movl	%edx,%edi
+	roll	$17,%ecx
+	movl	44(%esi),%ebp
+	addl	%edx,%ecx
+	# R0 11 
+	xorl	%eax,%edi
+	andl	%ecx,%edi
+	leal	2304563134(%ebx,%ebp,1),%ebx
+	xorl	%eax,%edi
+	addl	%edi,%ebx
+	movl	%ecx,%edi
+	roll	$22,%ebx
+	movl	48(%esi),%ebp
+	addl	%ecx,%ebx
+	# R0 12 
+	xorl	%edx,%edi
+	andl	%ebx,%edi
+	leal	1804603682(%eax,%ebp,1),%eax
+	xorl	%edx,%edi
+	addl	%edi,%eax
+	movl	%ebx,%edi
+	roll	$7,%eax
+	movl	52(%esi),%ebp
+	addl	%ebx,%eax
+	# R0 13 
+	xorl	%ecx,%edi
+	andl	%eax,%edi
+	leal	4254626195(%edx,%ebp,1),%edx
+	xorl	%ecx,%edi
+	addl	%edi,%edx
+	movl	%eax,%edi
+	roll	$12,%edx
+	movl	56(%esi),%ebp
+	addl	%eax,%edx
+	# R0 14 
+	xorl	%ebx,%edi
+	andl	%edx,%edi
+	leal	2792965006(%ecx,%ebp,1),%ecx
+	xorl	%ebx,%edi
+	addl	%edi,%ecx
+	movl	%edx,%edi
+	roll	$17,%ecx
+	movl	60(%esi),%ebp
+	addl	%edx,%ecx
+	# R0 15 
+	xorl	%eax,%edi
+	andl	%ecx,%edi
+	leal	1236535329(%ebx,%ebp,1),%ebx
+	xorl	%eax,%edi
+	addl	%edi,%ebx
+	movl	%ecx,%edi
+	roll	$22,%ebx
+	movl	4(%esi),%ebp
+	addl	%ecx,%ebx
+
+	# R1 section 
+	# R1 16 
+	leal	4129170786(%eax,%ebp,1),%eax
+	xorl	%ebx,%edi
+	andl	%edx,%edi
+	movl	24(%esi),%ebp
+	xorl	%ecx,%edi
+	addl	%edi,%eax
+	movl	%ebx,%edi
+	roll	$5,%eax
+	addl	%ebx,%eax
+	# R1 17 
+	leal	3225465664(%edx,%ebp,1),%edx
+	xorl	%eax,%edi
+	andl	%ecx,%edi
+	movl	44(%esi),%ebp
+	xorl	%ebx,%edi
+	addl	%edi,%edx
+	movl	%eax,%edi
+	roll	$9,%edx
+	addl	%eax,%edx
+	# R1 18 
+	leal	643717713(%ecx,%ebp,1),%ecx
+	xorl	%edx,%edi
+	andl	%ebx,%edi
+	movl	(%esi),%ebp
+	xorl	%eax,%edi
+	addl	%edi,%ecx
+	movl	%edx,%edi
+	roll	$14,%ecx
+	addl	%edx,%ecx
+	# R1 19 
+	leal	3921069994(%ebx,%ebp,1),%ebx
+	xorl	%ecx,%edi
+	andl	%eax,%edi
+	movl	20(%esi),%ebp
+	xorl	%edx,%edi
+	addl	%edi,%ebx
+	movl	%ecx,%edi
+	roll	$20,%ebx
+	addl	%ecx,%ebx
+	# R1 20 
+	leal	3593408605(%eax,%ebp,1),%eax
+	xorl	%ebx,%edi
+	andl	%edx,%edi
+	movl	40(%esi),%ebp
+	xorl	%ecx,%edi
+	addl	%edi,%eax
+	movl	%ebx,%edi
+	roll	$5,%eax
+	addl	%ebx,%eax
+	# R1 21 
+	leal	38016083(%edx,%ebp,1),%edx
+	xorl	%eax,%edi
+	andl	%ecx,%edi
+	movl	60(%esi),%ebp
+	xorl	%ebx,%edi
+	addl	%edi,%edx
+	movl	%eax,%edi
+	roll	$9,%edx
+	addl	%eax,%edx
+	# R1 22 
+	leal	3634488961(%ecx,%ebp,1),%ecx
+	xorl	%edx,%edi
+	andl	%ebx,%edi
+	movl	16(%esi),%ebp
+	xorl	%eax,%edi
+	addl	%edi,%ecx
+	movl	%edx,%edi
+	roll	$14,%ecx
+	addl	%edx,%ecx
+	# R1 23 
+	leal	3889429448(%ebx,%ebp,1),%ebx
+	xorl	%ecx,%edi
+	andl	%eax,%edi
+	movl	36(%esi),%ebp
+	xorl	%edx,%edi
+	addl	%edi,%ebx
+	movl	%ecx,%edi
+	roll	$20,%ebx
+	addl	%ecx,%ebx
+	# R1 24 
+	leal	568446438(%eax,%ebp,1),%eax
+	xorl	%ebx,%edi
+	andl	%edx,%edi
+	movl	56(%esi),%ebp
+	xorl	%ecx,%edi
+	addl	%edi,%eax
+	movl	%ebx,%edi
+	roll	$5,%eax
+	addl	%ebx,%eax
+	# R1 25 
+	leal	3275163606(%edx,%ebp,1),%edx
+	xorl	%eax,%edi
+	andl	%ecx,%edi
+	movl	12(%esi),%ebp
+	xorl	%ebx,%edi
+	addl	%edi,%edx
+	movl	%eax,%edi
+	roll	$9,%edx
+	addl	%eax,%edx
+	# R1 26 
+	leal	4107603335(%ecx,%ebp,1),%ecx
+	xorl	%edx,%edi
+	andl	%ebx,%edi
+	movl	32(%esi),%ebp
+	xorl	%eax,%edi
+	addl	%edi,%ecx
+	movl	%edx,%edi
+	roll	$14,%ecx
+	addl	%edx,%ecx
+	# R1 27 
+	leal	1163531501(%ebx,%ebp,1),%ebx
+	xorl	%ecx,%edi
+	andl	%eax,%edi
+	movl	52(%esi),%ebp
+	xorl	%edx,%edi
+	addl	%edi,%ebx
+	movl	%ecx,%edi
+	roll	$20,%ebx
+	addl	%ecx,%ebx
+	# R1 28 
+	leal	2850285829(%eax,%ebp,1),%eax
+	xorl	%ebx,%edi
+	andl	%edx,%edi
+	movl	8(%esi),%ebp
+	xorl	%ecx,%edi
+	addl	%edi,%eax
+	movl	%ebx,%edi
+	roll	$5,%eax
+	addl	%ebx,%eax
+	# R1 29 
+	leal	4243563512(%edx,%ebp,1),%edx
+	xorl	%eax,%edi
+	andl	%ecx,%edi
+	movl	28(%esi),%ebp
+	xorl	%ebx,%edi
+	addl	%edi,%edx
+	movl	%eax,%edi
+	roll	$9,%edx
+	addl	%eax,%edx
+	# R1 30 
+	leal	1735328473(%ecx,%ebp,1),%ecx
+	xorl	%edx,%edi
+	andl	%ebx,%edi
+	movl	48(%esi),%ebp
+	xorl	%eax,%edi
+	addl	%edi,%ecx
+	movl	%edx,%edi
+	roll	$14,%ecx
+	addl	%edx,%ecx
+	# R1 31 
+	leal	2368359562(%ebx,%ebp,1),%ebx
+	xorl	%ecx,%edi
+	andl	%eax,%edi
+	movl	20(%esi),%ebp
+	xorl	%edx,%edi
+	addl	%edi,%ebx
+	movl	%ecx,%edi
+	roll	$20,%ebx
+	addl	%ecx,%ebx
+
+	# R2 section 
+	# R2 32 
+	xorl	%edx,%edi
+	xorl	%ebx,%edi
+	leal	4294588738(%eax,%ebp,1),%eax
+	addl	%edi,%eax
+	roll	$4,%eax
+	movl	32(%esi),%ebp
+	movl	%ebx,%edi
+	# R2 33 
+	leal	2272392833(%edx,%ebp,1),%edx
+	addl	%ebx,%eax
+	xorl	%ecx,%edi
+	xorl	%eax,%edi
+	movl	44(%esi),%ebp
+	addl	%edi,%edx
+	movl	%eax,%edi
+	roll	$11,%edx
+	addl	%eax,%edx
+	# R2 34 
+	xorl	%ebx,%edi
+	xorl	%edx,%edi
+	leal	1839030562(%ecx,%ebp,1),%ecx
+	addl	%edi,%ecx
+	roll	$16,%ecx
+	movl	56(%esi),%ebp
+	movl	%edx,%edi
+	# R2 35 
+	leal	4259657740(%ebx,%ebp,1),%ebx
+	addl	%edx,%ecx
+	xorl	%eax,%edi
+	xorl	%ecx,%edi
+	movl	4(%esi),%ebp
+	addl	%edi,%ebx
+	movl	%ecx,%edi
+	roll	$23,%ebx
+	addl	%ecx,%ebx
+	# R2 36 
+	xorl	%edx,%edi
+	xorl	%ebx,%edi
+	leal	2763975236(%eax,%ebp,1),%eax
+	addl	%edi,%eax
+	roll	$4,%eax
+	movl	16(%esi),%ebp
+	movl	%ebx,%edi
+	# R2 37 
+	leal	1272893353(%edx,%ebp,1),%edx
+	addl	%ebx,%eax
+	xorl	%ecx,%edi
+	xorl	%eax,%edi
+	movl	28(%esi),%ebp
+	addl	%edi,%edx
+	movl	%eax,%edi
+	roll	$11,%edx
+	addl	%eax,%edx
+	# R2 38 
+	xorl	%ebx,%edi
+	xorl	%edx,%edi
+	leal	4139469664(%ecx,%ebp,1),%ecx
+	addl	%edi,%ecx
+	roll	$16,%ecx
+	movl	40(%esi),%ebp
+	movl	%edx,%edi
+	# R2 39 
+	leal	3200236656(%ebx,%ebp,1),%ebx
+	addl	%edx,%ecx
+	xorl	%eax,%edi
+	xorl	%ecx,%edi
+	movl	52(%esi),%ebp
+	addl	%edi,%ebx
+	movl	%ecx,%edi
+	roll	$23,%ebx
+	addl	%ecx,%ebx
+	# R2 40 
+	xorl	%edx,%edi
+	xorl	%ebx,%edi
+	leal	681279174(%eax,%ebp,1),%eax
+	addl	%edi,%eax
+	roll	$4,%eax
+	movl	(%esi),%ebp
+	movl	%ebx,%edi
+	# R2 41 
+	leal	3936430074(%edx,%ebp,1),%edx
+	addl	%ebx,%eax
+	xorl	%ecx,%edi
+	xorl	%eax,%edi
+	movl	12(%esi),%ebp
+	addl	%edi,%edx
+	movl	%eax,%edi
+	roll	$11,%edx
+	addl	%eax,%edx
+	# R2 42 
+	xorl	%ebx,%edi
+	xorl	%edx,%edi
+	leal	3572445317(%ecx,%ebp,1),%ecx
+	addl	%edi,%ecx
+	roll	$16,%ecx
+	movl	24(%esi),%ebp
+	movl	%edx,%edi
+	# R2 43 
+	leal	76029189(%ebx,%ebp,1),%ebx
+	addl	%edx,%ecx
+	xorl	%eax,%edi
+	xorl	%ecx,%edi
+	movl	36(%esi),%ebp
+	addl	%edi,%ebx
+	movl	%ecx,%edi
+	roll	$23,%ebx
+	addl	%ecx,%ebx
+	# R2 44 
+	xorl	%edx,%edi
+	xorl	%ebx,%edi
+	leal	3654602809(%eax,%ebp,1),%eax
+	addl	%edi,%eax
+	roll	$4,%eax
+	movl	48(%esi),%ebp
+	movl	%ebx,%edi
+	# R2 45 
+	leal	3873151461(%edx,%ebp,1),%edx
+	addl	%ebx,%eax
+	xorl	%ecx,%edi
+	xorl	%eax,%edi
+	movl	60(%esi),%ebp
+	addl	%edi,%edx
+	movl	%eax,%edi
+	roll	$11,%edx
+	addl	%eax,%edx
+	# R2 46 
+	xorl	%ebx,%edi
+	xorl	%edx,%edi
+	leal	530742520(%ecx,%ebp,1),%ecx
+	addl	%edi,%ecx
+	roll	$16,%ecx
+	movl	8(%esi),%ebp
+	movl	%edx,%edi
+	# R2 47 
+	leal	3299628645(%ebx,%ebp,1),%ebx
+	addl	%edx,%ecx
+	xorl	%eax,%edi
+	xorl	%ecx,%edi
+	movl	(%esi),%ebp
+	addl	%edi,%ebx
+	movl	$-1,%edi
+	roll	$23,%ebx
+	addl	%ecx,%ebx
+
+	# R3 section 
+	# R3 48 
+	xorl	%edx,%edi
+	orl	%ebx,%edi
+	leal	4096336452(%eax,%ebp,1),%eax
+	xorl	%ecx,%edi
+	movl	28(%esi),%ebp
+	addl	%edi,%eax
+	movl	$-1,%edi
+	roll	$6,%eax
+	xorl	%ecx,%edi
+	addl	%ebx,%eax
+	# R3 49 
+	orl	%eax,%edi
+	leal	1126891415(%edx,%ebp,1),%edx
+	xorl	%ebx,%edi
+	movl	56(%esi),%ebp
+	addl	%edi,%edx
+	movl	$-1,%edi
+	roll	$10,%edx
+	xorl	%ebx,%edi
+	addl	%eax,%edx
+	# R3 50 
+	orl	%edx,%edi
+	leal	2878612391(%ecx,%ebp,1),%ecx
+	xorl	%eax,%edi
+	movl	20(%esi),%ebp
+	addl	%edi,%ecx
+	movl	$-1,%edi
+	roll	$15,%ecx
+	xorl	%eax,%edi
+	addl	%edx,%ecx
+	# R3 51 
+	orl	%ecx,%edi
+	leal	4237533241(%ebx,%ebp,1),%ebx
+	xorl	%edx,%edi
+	movl	48(%esi),%ebp
+	addl	%edi,%ebx
+	movl	$-1,%edi
+	roll	$21,%ebx
+	xorl	%edx,%edi
+	addl	%ecx,%ebx
+	# R3 52 
+	orl	%ebx,%edi
+	leal	1700485571(%eax,%ebp,1),%eax
+	xorl	%ecx,%edi
+	movl	12(%esi),%ebp
+	addl	%edi,%eax
+	movl	$-1,%edi
+	roll	$6,%eax
+	xorl	%ecx,%edi
+	addl	%ebx,%eax
+	# R3 53 
+	orl	%eax,%edi
+	leal	2399980690(%edx,%ebp,1),%edx
+	xorl	%ebx,%edi
+	movl	40(%esi),%ebp
+	addl	%edi,%edx
+	movl	$-1,%edi
+	roll	$10,%edx
+	xorl	%ebx,%edi
+	addl	%eax,%edx
+	# R3 54 
+	orl	%edx,%edi
+	leal	4293915773(%ecx,%ebp,1),%ecx
+	xorl	%eax,%edi
+	movl	4(%esi),%ebp
+	addl	%edi,%ecx
+	movl	$-1,%edi
+	roll	$15,%ecx
+	xorl	%eax,%edi
+	addl	%edx,%ecx
+	# R3 55 
+	orl	%ecx,%edi
+	leal	2240044497(%ebx,%ebp,1),%ebx
+	xorl	%edx,%edi
+	movl	32(%esi),%ebp
+	addl	%edi,%ebx
+	movl	$-1,%edi
+	roll	$21,%ebx
+	xorl	%edx,%edi
+	addl	%ecx,%ebx
+	# R3 56 
+	orl	%ebx,%edi
+	leal	1873313359(%eax,%ebp,1),%eax
+	xorl	%ecx,%edi
+	movl	60(%esi),%ebp
+	addl	%edi,%eax
+	movl	$-1,%edi
+	roll	$6,%eax
+	xorl	%ecx,%edi
+	addl	%ebx,%eax
+	# R3 57 
+	orl	%eax,%edi
+	leal	4264355552(%edx,%ebp,1),%edx
+	xorl	%ebx,%edi
+	movl	24(%esi),%ebp
+	addl	%edi,%edx
+	movl	$-1,%edi
+	roll	$10,%edx
+	xorl	%ebx,%edi
+	addl	%eax,%edx
+	# R3 58 
+	orl	%edx,%edi
+	leal	2734768916(%ecx,%ebp,1),%ecx
+	xorl	%eax,%edi
+	movl	52(%esi),%ebp
+	addl	%edi,%ecx
+	movl	$-1,%edi
+	roll	$15,%ecx
+	xorl	%eax,%edi
+	addl	%edx,%ecx
+	# R3 59 
+	orl	%ecx,%edi
+	leal	1309151649(%ebx,%ebp,1),%ebx
+	xorl	%edx,%edi
+	movl	16(%esi),%ebp
+	addl	%edi,%ebx
+	movl	$-1,%edi
+	roll	$21,%ebx
+	xorl	%edx,%edi
+	addl	%ecx,%ebx
+	# R3 60 
+	orl	%ebx,%edi
+	leal	4149444226(%eax,%ebp,1),%eax
+	xorl	%ecx,%edi
+	movl	44(%esi),%ebp
+	addl	%edi,%eax
+	movl	$-1,%edi
+	roll	$6,%eax
+	xorl	%ecx,%edi
+	addl	%ebx,%eax
+	# R3 61 
+	orl	%eax,%edi
+	leal	3174756917(%edx,%ebp,1),%edx
+	xorl	%ebx,%edi
+	movl	8(%esi),%ebp
+	addl	%edi,%edx
+	movl	$-1,%edi
+	roll	$10,%edx
+	xorl	%ebx,%edi
+	addl	%eax,%edx
+	# R3 62 
+	orl	%edx,%edi
+	leal	718787259(%ecx,%ebp,1),%ecx
+	xorl	%eax,%edi
+	movl	36(%esi),%ebp
+	addl	%edi,%ecx
+	movl	$-1,%edi
+	roll	$15,%ecx
+	xorl	%eax,%edi
+	addl	%edx,%ecx
+	# R3 63 
+	orl	%ecx,%edi
+	leal	3951481745(%ebx,%ebp,1),%ebx
+	xorl	%edx,%edi
+	movl	24(%esp),%ebp
+	addl	%edi,%ebx
+	addl	$64,%esi
+	roll	$21,%ebx
+	movl	(%ebp),%edi
+	addl	%ecx,%ebx
+	addl	%edi,%eax
+	movl	4(%ebp),%edi
+	addl	%edi,%ebx
+	movl	8(%ebp),%edi
+	addl	%edi,%ecx
+	movl	12(%ebp),%edi
+	addl	%edi,%edx
+	movl	%eax,(%ebp)
+	movl	%ebx,4(%ebp)
+	movl	(%esp),%edi
+	movl	%ecx,8(%ebp)
+	movl	%edx,12(%ebp)
+	cmpl	%esi,%edi
+	jae	L000start
+	popl	%eax
+	popl	%ebx
+	popl	%ebp
+	popl	%edi
+	popl	%esi
+	ret
+#endif
diff --git a/third_party/boringssl/mac-x86/crypto/sha/sha1-586.S b/third_party/boringssl/mac-x86/crypto/fipsmodule/sha1-586.S
similarity index 100%
rename from third_party/boringssl/mac-x86/crypto/sha/sha1-586.S
rename to third_party/boringssl/mac-x86/crypto/fipsmodule/sha1-586.S
diff --git a/third_party/boringssl/mac-x86/crypto/sha/sha256-586.S b/third_party/boringssl/mac-x86/crypto/fipsmodule/sha256-586.S
similarity index 100%
rename from third_party/boringssl/mac-x86/crypto/sha/sha256-586.S
rename to third_party/boringssl/mac-x86/crypto/fipsmodule/sha256-586.S
diff --git a/third_party/boringssl/mac-x86/crypto/sha/sha512-586.S b/third_party/boringssl/mac-x86/crypto/fipsmodule/sha512-586.S
similarity index 100%
rename from third_party/boringssl/mac-x86/crypto/sha/sha512-586.S
rename to third_party/boringssl/mac-x86/crypto/fipsmodule/sha512-586.S
diff --git a/third_party/boringssl/mac-x86/crypto/md5/md5-586.S b/third_party/boringssl/mac-x86/crypto/md5/md5-586.S
deleted file mode 100644
index 6830b164..0000000
--- a/third_party/boringssl/mac-x86/crypto/md5/md5-586.S
+++ /dev/null
@@ -1,680 +0,0 @@
-#if defined(__i386__)
-.file	"src/crypto/md5/asm/md5-586.S"
-.text
-.globl	_md5_block_asm_data_order
-.private_extern	_md5_block_asm_data_order
-.align	4
-_md5_block_asm_data_order:
-L_md5_block_asm_data_order_begin:
-	pushl	%esi
-	pushl	%edi
-	movl	12(%esp),%edi
-	movl	16(%esp),%esi
-	movl	20(%esp),%ecx
-	pushl	%ebp
-	shll	$6,%ecx
-	pushl	%ebx
-	addl	%esi,%ecx
-	subl	$64,%ecx
-	movl	(%edi),%eax
-	pushl	%ecx
-	movl	4(%edi),%ebx
-	movl	8(%edi),%ecx
-	movl	12(%edi),%edx
-L000start:
-
-	# R0 section 
-	movl	%ecx,%edi
-	movl	(%esi),%ebp
-	# R0 0 
-	xorl	%edx,%edi
-	andl	%ebx,%edi
-	leal	3614090360(%eax,%ebp,1),%eax
-	xorl	%edx,%edi
-	addl	%edi,%eax
-	movl	%ebx,%edi
-	roll	$7,%eax
-	movl	4(%esi),%ebp
-	addl	%ebx,%eax
-	# R0 1 
-	xorl	%ecx,%edi
-	andl	%eax,%edi
-	leal	3905402710(%edx,%ebp,1),%edx
-	xorl	%ecx,%edi
-	addl	%edi,%edx
-	movl	%eax,%edi
-	roll	$12,%edx
-	movl	8(%esi),%ebp
-	addl	%eax,%edx
-	# R0 2 
-	xorl	%ebx,%edi
-	andl	%edx,%edi
-	leal	606105819(%ecx,%ebp,1),%ecx
-	xorl	%ebx,%edi
-	addl	%edi,%ecx
-	movl	%edx,%edi
-	roll	$17,%ecx
-	movl	12(%esi),%ebp
-	addl	%edx,%ecx
-	# R0 3 
-	xorl	%eax,%edi
-	andl	%ecx,%edi
-	leal	3250441966(%ebx,%ebp,1),%ebx
-	xorl	%eax,%edi
-	addl	%edi,%ebx
-	movl	%ecx,%edi
-	roll	$22,%ebx
-	movl	16(%esi),%ebp
-	addl	%ecx,%ebx
-	# R0 4 
-	xorl	%edx,%edi
-	andl	%ebx,%edi
-	leal	4118548399(%eax,%ebp,1),%eax
-	xorl	%edx,%edi
-	addl	%edi,%eax
-	movl	%ebx,%edi
-	roll	$7,%eax
-	movl	20(%esi),%ebp
-	addl	%ebx,%eax
-	# R0 5 
-	xorl	%ecx,%edi
-	andl	%eax,%edi
-	leal	1200080426(%edx,%ebp,1),%edx
-	xorl	%ecx,%edi
-	addl	%edi,%edx
-	movl	%eax,%edi
-	roll	$12,%edx
-	movl	24(%esi),%ebp
-	addl	%eax,%edx
-	# R0 6 
-	xorl	%ebx,%edi
-	andl	%edx,%edi
-	leal	2821735955(%ecx,%ebp,1),%ecx
-	xorl	%ebx,%edi
-	addl	%edi,%ecx
-	movl	%edx,%edi
-	roll	$17,%ecx
-	movl	28(%esi),%ebp
-	addl	%edx,%ecx
-	# R0 7 
-	xorl	%eax,%edi
-	andl	%ecx,%edi
-	leal	4249261313(%ebx,%ebp,1),%ebx
-	xorl	%eax,%edi
-	addl	%edi,%ebx
-	movl	%ecx,%edi
-	roll	$22,%ebx
-	movl	32(%esi),%ebp
-	addl	%ecx,%ebx
-	# R0 8 
-	xorl	%edx,%edi
-	andl	%ebx,%edi
-	leal	1770035416(%eax,%ebp,1),%eax
-	xorl	%edx,%edi
-	addl	%edi,%eax
-	movl	%ebx,%edi
-	roll	$7,%eax
-	movl	36(%esi),%ebp
-	addl	%ebx,%eax
-	# R0 9 
-	xorl	%ecx,%edi
-	andl	%eax,%edi
-	leal	2336552879(%edx,%ebp,1),%edx
-	xorl	%ecx,%edi
-	addl	%edi,%edx
-	movl	%eax,%edi
-	roll	$12,%edx
-	movl	40(%esi),%ebp
-	addl	%eax,%edx
-	# R0 10 
-	xorl	%ebx,%edi
-	andl	%edx,%edi
-	leal	4294925233(%ecx,%ebp,1),%ecx
-	xorl	%ebx,%edi
-	addl	%edi,%ecx
-	movl	%edx,%edi
-	roll	$17,%ecx
-	movl	44(%esi),%ebp
-	addl	%edx,%ecx
-	# R0 11 
-	xorl	%eax,%edi
-	andl	%ecx,%edi
-	leal	2304563134(%ebx,%ebp,1),%ebx
-	xorl	%eax,%edi
-	addl	%edi,%ebx
-	movl	%ecx,%edi
-	roll	$22,%ebx
-	movl	48(%esi),%ebp
-	addl	%ecx,%ebx
-	# R0 12 
-	xorl	%edx,%edi
-	andl	%ebx,%edi
-	leal	1804603682(%eax,%ebp,1),%eax
-	xorl	%edx,%edi
-	addl	%edi,%eax
-	movl	%ebx,%edi
-	roll	$7,%eax
-	movl	52(%esi),%ebp
-	addl	%ebx,%eax
-	# R0 13 
-	xorl	%ecx,%edi
-	andl	%eax,%edi
-	leal	4254626195(%edx,%ebp,1),%edx
-	xorl	%ecx,%edi
-	addl	%edi,%edx
-	movl	%eax,%edi
-	roll	$12,%edx
-	movl	56(%esi),%ebp
-	addl	%eax,%edx
-	# R0 14 
-	xorl	%ebx,%edi
-	andl	%edx,%edi
-	leal	2792965006(%ecx,%ebp,1),%ecx
-	xorl	%ebx,%edi
-	addl	%edi,%ecx
-	movl	%edx,%edi
-	roll	$17,%ecx
-	movl	60(%esi),%ebp
-	addl	%edx,%ecx
-	# R0 15 
-	xorl	%eax,%edi
-	andl	%ecx,%edi
-	leal	1236535329(%ebx,%ebp,1),%ebx
-	xorl	%eax,%edi
-	addl	%edi,%ebx
-	movl	%ecx,%edi
-	roll	$22,%ebx
-	movl	4(%esi),%ebp
-	addl	%ecx,%ebx
-
-	# R1 section 
-	# R1 16 
-	leal	4129170786(%eax,%ebp,1),%eax
-	xorl	%ebx,%edi
-	andl	%edx,%edi
-	movl	24(%esi),%ebp
-	xorl	%ecx,%edi
-	addl	%edi,%eax
-	movl	%ebx,%edi
-	roll	$5,%eax
-	addl	%ebx,%eax
-	# R1 17 
-	leal	3225465664(%edx,%ebp,1),%edx
-	xorl	%eax,%edi
-	andl	%ecx,%edi
-	movl	44(%esi),%ebp
-	xorl	%ebx,%edi
-	addl	%edi,%edx
-	movl	%eax,%edi
-	roll	$9,%edx
-	addl	%eax,%edx
-	# R1 18 
-	leal	643717713(%ecx,%ebp,1),%ecx
-	xorl	%edx,%edi
-	andl	%ebx,%edi
-	movl	(%esi),%ebp
-	xorl	%eax,%edi
-	addl	%edi,%ecx
-	movl	%edx,%edi
-	roll	$14,%ecx
-	addl	%edx,%ecx
-	# R1 19 
-	leal	3921069994(%ebx,%ebp,1),%ebx
-	xorl	%ecx,%edi
-	andl	%eax,%edi
-	movl	20(%esi),%ebp
-	xorl	%edx,%edi
-	addl	%edi,%ebx
-	movl	%ecx,%edi
-	roll	$20,%ebx
-	addl	%ecx,%ebx
-	# R1 20 
-	leal	3593408605(%eax,%ebp,1),%eax
-	xorl	%ebx,%edi
-	andl	%edx,%edi
-	movl	40(%esi),%ebp
-	xorl	%ecx,%edi
-	addl	%edi,%eax
-	movl	%ebx,%edi
-	roll	$5,%eax
-	addl	%ebx,%eax
-	# R1 21 
-	leal	38016083(%edx,%ebp,1),%edx
-	xorl	%eax,%edi
-	andl	%ecx,%edi
-	movl	60(%esi),%ebp
-	xorl	%ebx,%edi
-	addl	%edi,%edx
-	movl	%eax,%edi
-	roll	$9,%edx
-	addl	%eax,%edx
-	# R1 22 
-	leal	3634488961(%ecx,%ebp,1),%ecx
-	xorl	%edx,%edi
-	andl	%ebx,%edi
-	movl	16(%esi),%ebp
-	xorl	%eax,%edi
-	addl	%edi,%ecx
-	movl	%edx,%edi
-	roll	$14,%ecx
-	addl	%edx,%ecx
-	# R1 23 
-	leal	3889429448(%ebx,%ebp,1),%ebx
-	xorl	%ecx,%edi
-	andl	%eax,%edi
-	movl	36(%esi),%ebp
-	xorl	%edx,%edi
-	addl	%edi,%ebx
-	movl	%ecx,%edi
-	roll	$20,%ebx
-	addl	%ecx,%ebx
-	# R1 24 
-	leal	568446438(%eax,%ebp,1),%eax
-	xorl	%ebx,%edi
-	andl	%edx,%edi
-	movl	56(%esi),%ebp
-	xorl	%ecx,%edi
-	addl	%edi,%eax
-	movl	%ebx,%edi
-	roll	$5,%eax
-	addl	%ebx,%eax
-	# R1 25 
-	leal	3275163606(%edx,%ebp,1),%edx
-	xorl	%eax,%edi
-	andl	%ecx,%edi
-	movl	12(%esi),%ebp
-	xorl	%ebx,%edi
-	addl	%edi,%edx
-	movl	%eax,%edi
-	roll	$9,%edx
-	addl	%eax,%edx
-	# R1 26 
-	leal	4107603335(%ecx,%ebp,1),%ecx
-	xorl	%edx,%edi
-	andl	%ebx,%edi
-	movl	32(%esi),%ebp
-	xorl	%eax,%edi
-	addl	%edi,%ecx
-	movl	%edx,%edi
-	roll	$14,%ecx
-	addl	%edx,%ecx
-	# R1 27 
-	leal	1163531501(%ebx,%ebp,1),%ebx
-	xorl	%ecx,%edi
-	andl	%eax,%edi
-	movl	52(%esi),%ebp
-	xorl	%edx,%edi
-	addl	%edi,%ebx
-	movl	%ecx,%edi
-	roll	$20,%ebx
-	addl	%ecx,%ebx
-	# R1 28 
-	leal	2850285829(%eax,%ebp,1),%eax
-	xorl	%ebx,%edi
-	andl	%edx,%edi
-	movl	8(%esi),%ebp
-	xorl	%ecx,%edi
-	addl	%edi,%eax
-	movl	%ebx,%edi
-	roll	$5,%eax
-	addl	%ebx,%eax
-	# R1 29 
-	leal	4243563512(%edx,%ebp,1),%edx
-	xorl	%eax,%edi
-	andl	%ecx,%edi
-	movl	28(%esi),%ebp
-	xorl	%ebx,%edi
-	addl	%edi,%edx
-	movl	%eax,%edi
-	roll	$9,%edx
-	addl	%eax,%edx
-	# R1 30 
-	leal	1735328473(%ecx,%ebp,1),%ecx
-	xorl	%edx,%edi
-	andl	%ebx,%edi
-	movl	48(%esi),%ebp
-	xorl	%eax,%edi
-	addl	%edi,%ecx
-	movl	%edx,%edi
-	roll	$14,%ecx
-	addl	%edx,%ecx
-	# R1 31 
-	leal	2368359562(%ebx,%ebp,1),%ebx
-	xorl	%ecx,%edi
-	andl	%eax,%edi
-	movl	20(%esi),%ebp
-	xorl	%edx,%edi
-	addl	%edi,%ebx
-	movl	%ecx,%edi
-	roll	$20,%ebx
-	addl	%ecx,%ebx
-
-	# R2 section 
-	# R2 32 
-	xorl	%edx,%edi
-	xorl	%ebx,%edi
-	leal	4294588738(%eax,%ebp,1),%eax
-	addl	%edi,%eax
-	roll	$4,%eax
-	movl	32(%esi),%ebp
-	movl	%ebx,%edi
-	# R2 33 
-	leal	2272392833(%edx,%ebp,1),%edx
-	addl	%ebx,%eax
-	xorl	%ecx,%edi
-	xorl	%eax,%edi
-	movl	44(%esi),%ebp
-	addl	%edi,%edx
-	movl	%eax,%edi
-	roll	$11,%edx
-	addl	%eax,%edx
-	# R2 34 
-	xorl	%ebx,%edi
-	xorl	%edx,%edi
-	leal	1839030562(%ecx,%ebp,1),%ecx
-	addl	%edi,%ecx
-	roll	$16,%ecx
-	movl	56(%esi),%ebp
-	movl	%edx,%edi
-	# R2 35 
-	leal	4259657740(%ebx,%ebp,1),%ebx
-	addl	%edx,%ecx
-	xorl	%eax,%edi
-	xorl	%ecx,%edi
-	movl	4(%esi),%ebp
-	addl	%edi,%ebx
-	movl	%ecx,%edi
-	roll	$23,%ebx
-	addl	%ecx,%ebx
-	# R2 36 
-	xorl	%edx,%edi
-	xorl	%ebx,%edi
-	leal	2763975236(%eax,%ebp,1),%eax
-	addl	%edi,%eax
-	roll	$4,%eax
-	movl	16(%esi),%ebp
-	movl	%ebx,%edi
-	# R2 37 
-	leal	1272893353(%edx,%ebp,1),%edx
-	addl	%ebx,%eax
-	xorl	%ecx,%edi
-	xorl	%eax,%edi
-	movl	28(%esi),%ebp
-	addl	%edi,%edx
-	movl	%eax,%edi
-	roll	$11,%edx
-	addl	%eax,%edx
-	# R2 38 
-	xorl	%ebx,%edi
-	xorl	%edx,%edi
-	leal	4139469664(%ecx,%ebp,1),%ecx
-	addl	%edi,%ecx
-	roll	$16,%ecx
-	movl	40(%esi),%ebp
-	movl	%edx,%edi
-	# R2 39 
-	leal	3200236656(%ebx,%ebp,1),%ebx
-	addl	%edx,%ecx
-	xorl	%eax,%edi
-	xorl	%ecx,%edi
-	movl	52(%esi),%ebp
-	addl	%edi,%ebx
-	movl	%ecx,%edi
-	roll	$23,%ebx
-	addl	%ecx,%ebx
-	# R2 40 
-	xorl	%edx,%edi
-	xorl	%ebx,%edi
-	leal	681279174(%eax,%ebp,1),%eax
-	addl	%edi,%eax
-	roll	$4,%eax
-	movl	(%esi),%ebp
-	movl	%ebx,%edi
-	# R2 41 
-	leal	3936430074(%edx,%ebp,1),%edx
-	addl	%ebx,%eax
-	xorl	%ecx,%edi
-	xorl	%eax,%edi
-	movl	12(%esi),%ebp
-	addl	%edi,%edx
-	movl	%eax,%edi
-	roll	$11,%edx
-	addl	%eax,%edx
-	# R2 42 
-	xorl	%ebx,%edi
-	xorl	%edx,%edi
-	leal	3572445317(%ecx,%ebp,1),%ecx
-	addl	%edi,%ecx
-	roll	$16,%ecx
-	movl	24(%esi),%ebp
-	movl	%edx,%edi
-	# R2 43 
-	leal	76029189(%ebx,%ebp,1),%ebx
-	addl	%edx,%ecx
-	xorl	%eax,%edi
-	xorl	%ecx,%edi
-	movl	36(%esi),%ebp
-	addl	%edi,%ebx
-	movl	%ecx,%edi
-	roll	$23,%ebx
-	addl	%ecx,%ebx
-	# R2 44 
-	xorl	%edx,%edi
-	xorl	%ebx,%edi
-	leal	3654602809(%eax,%ebp,1),%eax
-	addl	%edi,%eax
-	roll	$4,%eax
-	movl	48(%esi),%ebp
-	movl	%ebx,%edi
-	# R2 45 
-	leal	3873151461(%edx,%ebp,1),%edx
-	addl	%ebx,%eax
-	xorl	%ecx,%edi
-	xorl	%eax,%edi
-	movl	60(%esi),%ebp
-	addl	%edi,%edx
-	movl	%eax,%edi
-	roll	$11,%edx
-	addl	%eax,%edx
-	# R2 46 
-	xorl	%ebx,%edi
-	xorl	%edx,%edi
-	leal	530742520(%ecx,%ebp,1),%ecx
-	addl	%edi,%ecx
-	roll	$16,%ecx
-	movl	8(%esi),%ebp
-	movl	%edx,%edi
-	# R2 47 
-	leal	3299628645(%ebx,%ebp,1),%ebx
-	addl	%edx,%ecx
-	xorl	%eax,%edi
-	xorl	%ecx,%edi
-	movl	(%esi),%ebp
-	addl	%edi,%ebx
-	movl	$-1,%edi
-	roll	$23,%ebx
-	addl	%ecx,%ebx
-
-	# R3 section 
-	# R3 48 
-	xorl	%edx,%edi
-	orl	%ebx,%edi
-	leal	4096336452(%eax,%ebp,1),%eax
-	xorl	%ecx,%edi
-	movl	28(%esi),%ebp
-	addl	%edi,%eax
-	movl	$-1,%edi
-	roll	$6,%eax
-	xorl	%ecx,%edi
-	addl	%ebx,%eax
-	# R3 49 
-	orl	%eax,%edi
-	leal	1126891415(%edx,%ebp,1),%edx
-	xorl	%ebx,%edi
-	movl	56(%esi),%ebp
-	addl	%edi,%edx
-	movl	$-1,%edi
-	roll	$10,%edx
-	xorl	%ebx,%edi
-	addl	%eax,%edx
-	# R3 50 
-	orl	%edx,%edi
-	leal	2878612391(%ecx,%ebp,1),%ecx
-	xorl	%eax,%edi
-	movl	20(%esi),%ebp
-	addl	%edi,%ecx
-	movl	$-1,%edi
-	roll	$15,%ecx
-	xorl	%eax,%edi
-	addl	%edx,%ecx
-	# R3 51 
-	orl	%ecx,%edi
-	leal	4237533241(%ebx,%ebp,1),%ebx
-	xorl	%edx,%edi
-	movl	48(%esi),%ebp
-	addl	%edi,%ebx
-	movl	$-1,%edi
-	roll	$21,%ebx
-	xorl	%edx,%edi
-	addl	%ecx,%ebx
-	# R3 52 
-	orl	%ebx,%edi
-	leal	1700485571(%eax,%ebp,1),%eax
-	xorl	%ecx,%edi
-	movl	12(%esi),%ebp
-	addl	%edi,%eax
-	movl	$-1,%edi
-	roll	$6,%eax
-	xorl	%ecx,%edi
-	addl	%ebx,%eax
-	# R3 53 
-	orl	%eax,%edi
-	leal	2399980690(%edx,%ebp,1),%edx
-	xorl	%ebx,%edi
-	movl	40(%esi),%ebp
-	addl	%edi,%edx
-	movl	$-1,%edi
-	roll	$10,%edx
-	xorl	%ebx,%edi
-	addl	%eax,%edx
-	# R3 54 
-	orl	%edx,%edi
-	leal	4293915773(%ecx,%ebp,1),%ecx
-	xorl	%eax,%edi
-	movl	4(%esi),%ebp
-	addl	%edi,%ecx
-	movl	$-1,%edi
-	roll	$15,%ecx
-	xorl	%eax,%edi
-	addl	%edx,%ecx
-	# R3 55 
-	orl	%ecx,%edi
-	leal	2240044497(%ebx,%ebp,1),%ebx
-	xorl	%edx,%edi
-	movl	32(%esi),%ebp
-	addl	%edi,%ebx
-	movl	$-1,%edi
-	roll	$21,%ebx
-	xorl	%edx,%edi
-	addl	%ecx,%ebx
-	# R3 56 
-	orl	%ebx,%edi
-	leal	1873313359(%eax,%ebp,1),%eax
-	xorl	%ecx,%edi
-	movl	60(%esi),%ebp
-	addl	%edi,%eax
-	movl	$-1,%edi
-	roll	$6,%eax
-	xorl	%ecx,%edi
-	addl	%ebx,%eax
-	# R3 57 
-	orl	%eax,%edi
-	leal	4264355552(%edx,%ebp,1),%edx
-	xorl	%ebx,%edi
-	movl	24(%esi),%ebp
-	addl	%edi,%edx
-	movl	$-1,%edi
-	roll	$10,%edx
-	xorl	%ebx,%edi
-	addl	%eax,%edx
-	# R3 58 
-	orl	%edx,%edi
-	leal	2734768916(%ecx,%ebp,1),%ecx
-	xorl	%eax,%edi
-	movl	52(%esi),%ebp
-	addl	%edi,%ecx
-	movl	$-1,%edi
-	roll	$15,%ecx
-	xorl	%eax,%edi
-	addl	%edx,%ecx
-	# R3 59 
-	orl	%ecx,%edi
-	leal	1309151649(%ebx,%ebp,1),%ebx
-	xorl	%edx,%edi
-	movl	16(%esi),%ebp
-	addl	%edi,%ebx
-	movl	$-1,%edi
-	roll	$21,%ebx
-	xorl	%edx,%edi
-	addl	%ecx,%ebx
-	# R3 60 
-	orl	%ebx,%edi
-	leal	4149444226(%eax,%ebp,1),%eax
-	xorl	%ecx,%edi
-	movl	44(%esi),%ebp
-	addl	%edi,%eax
-	movl	$-1,%edi
-	roll	$6,%eax
-	xorl	%ecx,%edi
-	addl	%ebx,%eax
-	# R3 61 
-	orl	%eax,%edi
-	leal	3174756917(%edx,%ebp,1),%edx
-	xorl	%ebx,%edi
-	movl	8(%esi),%ebp
-	addl	%edi,%edx
-	movl	$-1,%edi
-	roll	$10,%edx
-	xorl	%ebx,%edi
-	addl	%eax,%edx
-	# R3 62 
-	orl	%edx,%edi
-	leal	718787259(%ecx,%ebp,1),%ecx
-	xorl	%eax,%edi
-	movl	36(%esi),%ebp
-	addl	%edi,%ecx
-	movl	$-1,%edi
-	roll	$15,%ecx
-	xorl	%eax,%edi
-	addl	%edx,%ecx
-	# R3 63 
-	orl	%ecx,%edi
-	leal	3951481745(%ebx,%ebp,1),%ebx
-	xorl	%edx,%edi
-	movl	24(%esp),%ebp
-	addl	%edi,%ebx
-	addl	$64,%esi
-	roll	$21,%ebx
-	movl	(%ebp),%edi
-	addl	%ecx,%ebx
-	addl	%edi,%eax
-	movl	4(%ebp),%edi
-	addl	%edi,%ebx
-	movl	8(%ebp),%edi
-	addl	%edi,%ecx
-	movl	12(%ebp),%edi
-	addl	%edi,%edx
-	movl	%eax,(%ebp)
-	movl	%ebx,4(%ebp)
-	movl	(%esp),%edi
-	movl	%ecx,8(%ebp)
-	movl	%edx,12(%ebp)
-	cmpl	%esi,%edi
-	jae	L000start
-	popl	%eax
-	popl	%ebx
-	popl	%ebp
-	popl	%edi
-	popl	%esi
-	ret
-#endif
diff --git a/third_party/boringssl/mac-x86_64/crypto/md5/md5-x86_64.S b/third_party/boringssl/mac-x86_64/crypto/fipsmodule/md5-x86_64.S
similarity index 100%
rename from third_party/boringssl/mac-x86_64/crypto/md5/md5-x86_64.S
rename to third_party/boringssl/mac-x86_64/crypto/fipsmodule/md5-x86_64.S
diff --git a/third_party/boringssl/mac-x86_64/crypto/fipsmodule/sha1-x86_64.S b/third_party/boringssl/mac-x86_64/crypto/fipsmodule/sha1-x86_64.S
new file mode 100644
index 0000000..e5eb4c7
--- /dev/null
+++ b/third_party/boringssl/mac-x86_64/crypto/fipsmodule/sha1-x86_64.S
@@ -0,0 +1,3544 @@
+#if defined(__x86_64__) && !defined(OPENSSL_NO_ASM)
+.text	
+
+
+.globl	_sha1_block_data_order
+.private_extern _sha1_block_data_order
+
+.p2align	4
+_sha1_block_data_order:
+	leaq	_OPENSSL_ia32cap_addr(%rip),%r10
+	movq	(%r10),%r10
+	movl	0(%r10),%r9d
+	movl	4(%r10),%r8d
+	movl	8(%r10),%r10d
+	testl	$512,%r8d
+	jz	L$ialu
+	andl	$268435456,%r8d
+	andl	$1073741824,%r9d
+	orl	%r9d,%r8d
+	cmpl	$1342177280,%r8d
+	je	_avx_shortcut
+	jmp	_ssse3_shortcut
+
+.p2align	4
+L$ialu:
+	movq	%rsp,%rax
+	pushq	%rbx
+	pushq	%rbp
+	pushq	%r12
+	pushq	%r13
+	pushq	%r14
+	movq	%rdi,%r8
+	subq	$72,%rsp
+	movq	%rsi,%r9
+	andq	$-64,%rsp
+	movq	%rdx,%r10
+	movq	%rax,64(%rsp)
+L$prologue:
+
+	movl	0(%r8),%esi
+	movl	4(%r8),%edi
+	movl	8(%r8),%r11d
+	movl	12(%r8),%r12d
+	movl	16(%r8),%r13d
+	jmp	L$loop
+
+.p2align	4
+L$loop:
+	movl	0(%r9),%edx
+	bswapl	%edx
+	movl	4(%r9),%ebp
+	movl	%r12d,%eax
+	movl	%edx,0(%rsp)
+	movl	%esi,%ecx
+	bswapl	%ebp
+	xorl	%r11d,%eax
+	roll	$5,%ecx
+	andl	%edi,%eax
+	leal	1518500249(%rdx,%r13,1),%r13d
+	addl	%ecx,%r13d
+	xorl	%r12d,%eax
+	roll	$30,%edi
+	addl	%eax,%r13d
+	movl	8(%r9),%r14d
+	movl	%r11d,%eax
+	movl	%ebp,4(%rsp)
+	movl	%r13d,%ecx
+	bswapl	%r14d
+	xorl	%edi,%eax
+	roll	$5,%ecx
+	andl	%esi,%eax
+	leal	1518500249(%rbp,%r12,1),%r12d
+	addl	%ecx,%r12d
+	xorl	%r11d,%eax
+	roll	$30,%esi
+	addl	%eax,%r12d
+	movl	12(%r9),%edx
+	movl	%edi,%eax
+	movl	%r14d,8(%rsp)
+	movl	%r12d,%ecx
+	bswapl	%edx
+	xorl	%esi,%eax
+	roll	$5,%ecx
+	andl	%r13d,%eax
+	leal	1518500249(%r14,%r11,1),%r11d
+	addl	%ecx,%r11d
+	xorl	%edi,%eax
+	roll	$30,%r13d
+	addl	%eax,%r11d
+	movl	16(%r9),%ebp
+	movl	%esi,%eax
+	movl	%edx,12(%rsp)
+	movl	%r11d,%ecx
+	bswapl	%ebp
+	xorl	%r13d,%eax
+	roll	$5,%ecx
+	andl	%r12d,%eax
+	leal	1518500249(%rdx,%rdi,1),%edi
+	addl	%ecx,%edi
+	xorl	%esi,%eax
+	roll	$30,%r12d
+	addl	%eax,%edi
+	movl	20(%r9),%r14d
+	movl	%r13d,%eax
+	movl	%ebp,16(%rsp)
+	movl	%edi,%ecx
+	bswapl	%r14d
+	xorl	%r12d,%eax
+	roll	$5,%ecx
+	andl	%r11d,%eax
+	leal	1518500249(%rbp,%rsi,1),%esi
+	addl	%ecx,%esi
+	xorl	%r13d,%eax
+	roll	$30,%r11d
+	addl	%eax,%esi
+	movl	24(%r9),%edx
+	movl	%r12d,%eax
+	movl	%r14d,20(%rsp)
+	movl	%esi,%ecx
+	bswapl	%edx
+	xorl	%r11d,%eax
+	roll	$5,%ecx
+	andl	%edi,%eax
+	leal	1518500249(%r14,%r13,1),%r13d
+	addl	%ecx,%r13d
+	xorl	%r12d,%eax
+	roll	$30,%edi
+	addl	%eax,%r13d
+	movl	28(%r9),%ebp
+	movl	%r11d,%eax
+	movl	%edx,24(%rsp)
+	movl	%r13d,%ecx
+	bswapl	%ebp
+	xorl	%edi,%eax
+	roll	$5,%ecx
+	andl	%esi,%eax
+	leal	1518500249(%rdx,%r12,1),%r12d
+	addl	%ecx,%r12d
+	xorl	%r11d,%eax
+	roll	$30,%esi
+	addl	%eax,%r12d
+	movl	32(%r9),%r14d
+	movl	%edi,%eax
+	movl	%ebp,28(%rsp)
+	movl	%r12d,%ecx
+	bswapl	%r14d
+	xorl	%esi,%eax
+	roll	$5,%ecx
+	andl	%r13d,%eax
+	leal	1518500249(%rbp,%r11,1),%r11d
+	addl	%ecx,%r11d
+	xorl	%edi,%eax
+	roll	$30,%r13d
+	addl	%eax,%r11d
+	movl	36(%r9),%edx
+	movl	%esi,%eax
+	movl	%r14d,32(%rsp)
+	movl	%r11d,%ecx
+	bswapl	%edx
+	xorl	%r13d,%eax
+	roll	$5,%ecx
+	andl	%r12d,%eax
+	leal	1518500249(%r14,%rdi,1),%edi
+	addl	%ecx,%edi
+	xorl	%esi,%eax
+	roll	$30,%r12d
+	addl	%eax,%edi
+	movl	40(%r9),%ebp
+	movl	%r13d,%eax
+	movl	%edx,36(%rsp)
+	movl	%edi,%ecx
+	bswapl	%ebp
+	xorl	%r12d,%eax
+	roll	$5,%ecx
+	andl	%r11d,%eax
+	leal	1518500249(%rdx,%rsi,1),%esi
+	addl	%ecx,%esi
+	xorl	%r13d,%eax
+	roll	$30,%r11d
+	addl	%eax,%esi
+	movl	44(%r9),%r14d
+	movl	%r12d,%eax
+	movl	%ebp,40(%rsp)
+	movl	%esi,%ecx
+	bswapl	%r14d
+	xorl	%r11d,%eax
+	roll	$5,%ecx
+	andl	%edi,%eax
+	leal	1518500249(%rbp,%r13,1),%r13d
+	addl	%ecx,%r13d
+	xorl	%r12d,%eax
+	roll	$30,%edi
+	addl	%eax,%r13d
+	movl	48(%r9),%edx
+	movl	%r11d,%eax
+	movl	%r14d,44(%rsp)
+	movl	%r13d,%ecx
+	bswapl	%edx
+	xorl	%edi,%eax
+	roll	$5,%ecx
+	andl	%esi,%eax
+	leal	1518500249(%r14,%r12,1),%r12d
+	addl	%ecx,%r12d
+	xorl	%r11d,%eax
+	roll	$30,%esi
+	addl	%eax,%r12d
+	movl	52(%r9),%ebp
+	movl	%edi,%eax
+	movl	%edx,48(%rsp)
+	movl	%r12d,%ecx
+	bswapl	%ebp
+	xorl	%esi,%eax
+	roll	$5,%ecx
+	andl	%r13d,%eax
+	leal	1518500249(%rdx,%r11,1),%r11d
+	addl	%ecx,%r11d
+	xorl	%edi,%eax
+	roll	$30,%r13d
+	addl	%eax,%r11d
+	movl	56(%r9),%r14d
+	movl	%esi,%eax
+	movl	%ebp,52(%rsp)
+	movl	%r11d,%ecx
+	bswapl	%r14d
+	xorl	%r13d,%eax
+	roll	$5,%ecx
+	andl	%r12d,%eax
+	leal	1518500249(%rbp,%rdi,1),%edi
+	addl	%ecx,%edi
+	xorl	%esi,%eax
+	roll	$30,%r12d
+	addl	%eax,%edi
+	movl	60(%r9),%edx
+	movl	%r13d,%eax
+	movl	%r14d,56(%rsp)
+	movl	%edi,%ecx
+	bswapl	%edx
+	xorl	%r12d,%eax
+	roll	$5,%ecx
+	andl	%r11d,%eax
+	leal	1518500249(%r14,%rsi,1),%esi
+	addl	%ecx,%esi
+	xorl	%r13d,%eax
+	roll	$30,%r11d
+	addl	%eax,%esi
+	xorl	0(%rsp),%ebp
+	movl	%r12d,%eax
+	movl	%edx,60(%rsp)
+	movl	%esi,%ecx
+	xorl	8(%rsp),%ebp
+	xorl	%r11d,%eax
+	roll	$5,%ecx
+	xorl	32(%rsp),%ebp
+	andl	%edi,%eax
+	leal	1518500249(%rdx,%r13,1),%r13d
+	roll	$30,%edi
+	xorl	%r12d,%eax
+	addl	%ecx,%r13d
+	roll	$1,%ebp
+	addl	%eax,%r13d
+	xorl	4(%rsp),%r14d
+	movl	%r11d,%eax
+	movl	%ebp,0(%rsp)
+	movl	%r13d,%ecx
+	xorl	12(%rsp),%r14d
+	xorl	%edi,%eax
+	roll	$5,%ecx
+	xorl	36(%rsp),%r14d
+	andl	%esi,%eax
+	leal	1518500249(%rbp,%r12,1),%r12d
+	roll	$30,%esi
+	xorl	%r11d,%eax
+	addl	%ecx,%r12d
+	roll	$1,%r14d
+	addl	%eax,%r12d
+	xorl	8(%rsp),%edx
+	movl	%edi,%eax
+	movl	%r14d,4(%rsp)
+	movl	%r12d,%ecx
+	xorl	16(%rsp),%edx
+	xorl	%esi,%eax
+	roll	$5,%ecx
+	xorl	40(%rsp),%edx
+	andl	%r13d,%eax
+	leal	1518500249(%r14,%r11,1),%r11d
+	roll	$30,%r13d
+	xorl	%edi,%eax
+	addl	%ecx,%r11d
+	roll	$1,%edx
+	addl	%eax,%r11d
+	xorl	12(%rsp),%ebp
+	movl	%esi,%eax
+	movl	%edx,8(%rsp)
+	movl	%r11d,%ecx
+	xorl	20(%rsp),%ebp
+	xorl	%r13d,%eax
+	roll	$5,%ecx
+	xorl	44(%rsp),%ebp
+	andl	%r12d,%eax
+	leal	1518500249(%rdx,%rdi,1),%edi
+	roll	$30,%r12d
+	xorl	%esi,%eax
+	addl	%ecx,%edi
+	roll	$1,%ebp
+	addl	%eax,%edi
+	xorl	16(%rsp),%r14d
+	movl	%r13d,%eax
+	movl	%ebp,12(%rsp)
+	movl	%edi,%ecx
+	xorl	24(%rsp),%r14d
+	xorl	%r12d,%eax
+	roll	$5,%ecx
+	xorl	48(%rsp),%r14d
+	andl	%r11d,%eax
+	leal	1518500249(%rbp,%rsi,1),%esi
+	roll	$30,%r11d
+	xorl	%r13d,%eax
+	addl	%ecx,%esi
+	roll	$1,%r14d
+	addl	%eax,%esi
+	xorl	20(%rsp),%edx
+	movl	%edi,%eax
+	movl	%r14d,16(%rsp)
+	movl	%esi,%ecx
+	xorl	28(%rsp),%edx
+	xorl	%r12d,%eax
+	roll	$5,%ecx
+	xorl	52(%rsp),%edx
+	leal	1859775393(%r14,%r13,1),%r13d
+	xorl	%r11d,%eax
+	addl	%ecx,%r13d
+	roll	$30,%edi
+	addl	%eax,%r13d
+	roll	$1,%edx
+	xorl	24(%rsp),%ebp
+	movl	%esi,%eax
+	movl	%edx,20(%rsp)
+	movl	%r13d,%ecx
+	xorl	32(%rsp),%ebp
+	xorl	%r11d,%eax
+	roll	$5,%ecx
+	xorl	56(%rsp),%ebp
+	leal	1859775393(%rdx,%r12,1),%r12d
+	xorl	%edi,%eax
+	addl	%ecx,%r12d
+	roll	$30,%esi
+	addl	%eax,%r12d
+	roll	$1,%ebp
+	xorl	28(%rsp),%r14d
+	movl	%r13d,%eax
+	movl	%ebp,24(%rsp)
+	movl	%r12d,%ecx
+	xorl	36(%rsp),%r14d
+	xorl	%edi,%eax
+	roll	$5,%ecx
+	xorl	60(%rsp),%r14d
+	leal	1859775393(%rbp,%r11,1),%r11d
+	xorl	%esi,%eax
+	addl	%ecx,%r11d
+	roll	$30,%r13d
+	addl	%eax,%r11d
+	roll	$1,%r14d
+	xorl	32(%rsp),%edx
+	movl	%r12d,%eax
+	movl	%r14d,28(%rsp)
+	movl	%r11d,%ecx
+	xorl	40(%rsp),%edx
+	xorl	%esi,%eax
+	roll	$5,%ecx
+	xorl	0(%rsp),%edx
+	leal	1859775393(%r14,%rdi,1),%edi
+	xorl	%r13d,%eax
+	addl	%ecx,%edi
+	roll	$30,%r12d
+	addl	%eax,%edi
+	roll	$1,%edx
+	xorl	36(%rsp),%ebp
+	movl	%r11d,%eax
+	movl	%edx,32(%rsp)
+	movl	%edi,%ecx
+	xorl	44(%rsp),%ebp
+	xorl	%r13d,%eax
+	roll	$5,%ecx
+	xorl	4(%rsp),%ebp
+	leal	1859775393(%rdx,%rsi,1),%esi
+	xorl	%r12d,%eax
+	addl	%ecx,%esi
+	roll	$30,%r11d
+	addl	%eax,%esi
+	roll	$1,%ebp
+	xorl	40(%rsp),%r14d
+	movl	%edi,%eax
+	movl	%ebp,36(%rsp)
+	movl	%esi,%ecx
+	xorl	48(%rsp),%r14d
+	xorl	%r12d,%eax
+	roll	$5,%ecx
+	xorl	8(%rsp),%r14d
+	leal	1859775393(%rbp,%r13,1),%r13d
+	xorl	%r11d,%eax
+	addl	%ecx,%r13d
+	roll	$30,%edi
+	addl	%eax,%r13d
+	roll	$1,%r14d
+	xorl	44(%rsp),%edx
+	movl	%esi,%eax
+	movl	%r14d,40(%rsp)
+	movl	%r13d,%ecx
+	xorl	52(%rsp),%edx
+	xorl	%r11d,%eax
+	roll	$5,%ecx
+	xorl	12(%rsp),%edx
+	leal	1859775393(%r14,%r12,1),%r12d
+	xorl	%edi,%eax
+	addl	%ecx,%r12d
+	roll	$30,%esi
+	addl	%eax,%r12d
+	roll	$1,%edx
+	xorl	48(%rsp),%ebp
+	movl	%r13d,%eax
+	movl	%edx,44(%rsp)
+	movl	%r12d,%ecx
+	xorl	56(%rsp),%ebp
+	xorl	%edi,%eax
+	roll	$5,%ecx
+	xorl	16(%rsp),%ebp
+	leal	1859775393(%rdx,%r11,1),%r11d
+	xorl	%esi,%eax
+	addl	%ecx,%r11d
+	roll	$30,%r13d
+	addl	%eax,%r11d
+	roll	$1,%ebp
+	xorl	52(%rsp),%r14d
+	movl	%r12d,%eax
+	movl	%ebp,48(%rsp)
+	movl	%r11d,%ecx
+	xorl	60(%rsp),%r14d
+	xorl	%esi,%eax
+	roll	$5,%ecx
+	xorl	20(%rsp),%r14d
+	leal	1859775393(%rbp,%rdi,1),%edi
+	xorl	%r13d,%eax
+	addl	%ecx,%edi
+	roll	$30,%r12d
+	addl	%eax,%edi
+	roll	$1,%r14d
+	xorl	56(%rsp),%edx
+	movl	%r11d,%eax
+	movl	%r14d,52(%rsp)
+	movl	%edi,%ecx
+	xorl	0(%rsp),%edx
+	xorl	%r13d,%eax
+	roll	$5,%ecx
+	xorl	24(%rsp),%edx
+	leal	1859775393(%r14,%rsi,1),%esi
+	xorl	%r12d,%eax
+	addl	%ecx,%esi
+	roll	$30,%r11d
+	addl	%eax,%esi
+	roll	$1,%edx
+	xorl	60(%rsp),%ebp
+	movl	%edi,%eax
+	movl	%edx,56(%rsp)
+	movl	%esi,%ecx
+	xorl	4(%rsp),%ebp
+	xorl	%r12d,%eax
+	roll	$5,%ecx
+	xorl	28(%rsp),%ebp
+	leal	1859775393(%rdx,%r13,1),%r13d
+	xorl	%r11d,%eax
+	addl	%ecx,%r13d
+	roll	$30,%edi
+	addl	%eax,%r13d
+	roll	$1,%ebp
+	xorl	0(%rsp),%r14d
+	movl	%esi,%eax
+	movl	%ebp,60(%rsp)
+	movl	%r13d,%ecx
+	xorl	8(%rsp),%r14d
+	xorl	%r11d,%eax
+	roll	$5,%ecx
+	xorl	32(%rsp),%r14d
+	leal	1859775393(%rbp,%r12,1),%r12d
+	xorl	%edi,%eax
+	addl	%ecx,%r12d
+	roll	$30,%esi
+	addl	%eax,%r12d
+	roll	$1,%r14d
+	xorl	4(%rsp),%edx
+	movl	%r13d,%eax
+	movl	%r14d,0(%rsp)
+	movl	%r12d,%ecx
+	xorl	12(%rsp),%edx
+	xorl	%edi,%eax
+	roll	$5,%ecx
+	xorl	36(%rsp),%edx
+	leal	1859775393(%r14,%r11,1),%r11d
+	xorl	%esi,%eax
+	addl	%ecx,%r11d
+	roll	$30,%r13d
+	addl	%eax,%r11d
+	roll	$1,%edx
+	xorl	8(%rsp),%ebp
+	movl	%r12d,%eax
+	movl	%edx,4(%rsp)
+	movl	%r11d,%ecx
+	xorl	16(%rsp),%ebp
+	xorl	%esi,%eax
+	roll	$5,%ecx
+	xorl	40(%rsp),%ebp
+	leal	1859775393(%rdx,%rdi,1),%edi
+	xorl	%r13d,%eax
+	addl	%ecx,%edi
+	roll	$30,%r12d
+	addl	%eax,%edi
+	roll	$1,%ebp
+	xorl	12(%rsp),%r14d
+	movl	%r11d,%eax
+	movl	%ebp,8(%rsp)
+	movl	%edi,%ecx
+	xorl	20(%rsp),%r14d
+	xorl	%r13d,%eax
+	roll	$5,%ecx
+	xorl	44(%rsp),%r14d
+	leal	1859775393(%rbp,%rsi,1),%esi
+	xorl	%r12d,%eax
+	addl	%ecx,%esi
+	roll	$30,%r11d
+	addl	%eax,%esi
+	roll	$1,%r14d
+	xorl	16(%rsp),%edx
+	movl	%edi,%eax
+	movl	%r14d,12(%rsp)
+	movl	%esi,%ecx
+	xorl	24(%rsp),%edx
+	xorl	%r12d,%eax
+	roll	$5,%ecx
+	xorl	48(%rsp),%edx
+	leal	1859775393(%r14,%r13,1),%r13d
+	xorl	%r11d,%eax
+	addl	%ecx,%r13d
+	roll	$30,%edi
+	addl	%eax,%r13d
+	roll	$1,%edx
+	xorl	20(%rsp),%ebp
+	movl	%esi,%eax
+	movl	%edx,16(%rsp)
+	movl	%r13d,%ecx
+	xorl	28(%rsp),%ebp
+	xorl	%r11d,%eax
+	roll	$5,%ecx
+	xorl	52(%rsp),%ebp
+	leal	1859775393(%rdx,%r12,1),%r12d
+	xorl	%edi,%eax
+	addl	%ecx,%r12d
+	roll	$30,%esi
+	addl	%eax,%r12d
+	roll	$1,%ebp
+	xorl	24(%rsp),%r14d
+	movl	%r13d,%eax
+	movl	%ebp,20(%rsp)
+	movl	%r12d,%ecx
+	xorl	32(%rsp),%r14d
+	xorl	%edi,%eax
+	roll	$5,%ecx
+	xorl	56(%rsp),%r14d
+	leal	1859775393(%rbp,%r11,1),%r11d
+	xorl	%esi,%eax
+	addl	%ecx,%r11d
+	roll	$30,%r13d
+	addl	%eax,%r11d
+	roll	$1,%r14d
+	xorl	28(%rsp),%edx
+	movl	%r12d,%eax
+	movl	%r14d,24(%rsp)
+	movl	%r11d,%ecx
+	xorl	36(%rsp),%edx
+	xorl	%esi,%eax
+	roll	$5,%ecx
+	xorl	60(%rsp),%edx
+	leal	1859775393(%r14,%rdi,1),%edi
+	xorl	%r13d,%eax
+	addl	%ecx,%edi
+	roll	$30,%r12d
+	addl	%eax,%edi
+	roll	$1,%edx
+	xorl	32(%rsp),%ebp
+	movl	%r11d,%eax
+	movl	%edx,28(%rsp)
+	movl	%edi,%ecx
+	xorl	40(%rsp),%ebp
+	xorl	%r13d,%eax
+	roll	$5,%ecx
+	xorl	0(%rsp),%ebp
+	leal	1859775393(%rdx,%rsi,1),%esi
+	xorl	%r12d,%eax
+	addl	%ecx,%esi
+	roll	$30,%r11d
+	addl	%eax,%esi
+	roll	$1,%ebp
+	xorl	36(%rsp),%r14d
+	movl	%r12d,%eax
+	movl	%ebp,32(%rsp)
+	movl	%r12d,%ebx
+	xorl	44(%rsp),%r14d
+	andl	%r11d,%eax
+	movl	%esi,%ecx
+	xorl	4(%rsp),%r14d
+	leal	-1894007588(%rbp,%r13,1),%r13d
+	xorl	%r11d,%ebx
+	roll	$5,%ecx
+	addl	%eax,%r13d
+	roll	$1,%r14d
+	andl	%edi,%ebx
+	addl	%ecx,%r13d
+	roll	$30,%edi
+	addl	%ebx,%r13d
+	xorl	40(%rsp),%edx
+	movl	%r11d,%eax
+	movl	%r14d,36(%rsp)
+	movl	%r11d,%ebx
+	xorl	48(%rsp),%edx
+	andl	%edi,%eax
+	movl	%r13d,%ecx
+	xorl	8(%rsp),%edx
+	leal	-1894007588(%r14,%r12,1),%r12d
+	xorl	%edi,%ebx
+	roll	$5,%ecx
+	addl	%eax,%r12d
+	roll	$1,%edx
+	andl	%esi,%ebx
+	addl	%ecx,%r12d
+	roll	$30,%esi
+	addl	%ebx,%r12d
+	xorl	44(%rsp),%ebp
+	movl	%edi,%eax
+	movl	%edx,40(%rsp)
+	movl	%edi,%ebx
+	xorl	52(%rsp),%ebp
+	andl	%esi,%eax
+	movl	%r12d,%ecx
+	xorl	12(%rsp),%ebp
+	leal	-1894007588(%rdx,%r11,1),%r11d
+	xorl	%esi,%ebx
+	roll	$5,%ecx
+	addl	%eax,%r11d
+	roll	$1,%ebp
+	andl	%r13d,%ebx
+	addl	%ecx,%r11d
+	roll	$30,%r13d
+	addl	%ebx,%r11d
+	xorl	48(%rsp),%r14d
+	movl	%esi,%eax
+	movl	%ebp,44(%rsp)
+	movl	%esi,%ebx
+	xorl	56(%rsp),%r14d
+	andl	%r13d,%eax
+	movl	%r11d,%ecx
+	xorl	16(%rsp),%r14d
+	leal	-1894007588(%rbp,%rdi,1),%edi
+	xorl	%r13d,%ebx
+	roll	$5,%ecx
+	addl	%eax,%edi
+	roll	$1,%r14d
+	andl	%r12d,%ebx
+	addl	%ecx,%edi
+	roll	$30,%r12d
+	addl	%ebx,%edi
+	xorl	52(%rsp),%edx
+	movl	%r13d,%eax
+	movl	%r14d,48(%rsp)
+	movl	%r13d,%ebx
+	xorl	60(%rsp),%edx
+	andl	%r12d,%eax
+	movl	%edi,%ecx
+	xorl	20(%rsp),%edx
+	leal	-1894007588(%r14,%rsi,1),%esi
+	xorl	%r12d,%ebx
+	roll	$5,%ecx
+	addl	%eax,%esi
+	roll	$1,%edx
+	andl	%r11d,%ebx
+	addl	%ecx,%esi
+	roll	$30,%r11d
+	addl	%ebx,%esi
+	xorl	56(%rsp),%ebp
+	movl	%r12d,%eax
+	movl	%edx,52(%rsp)
+	movl	%r12d,%ebx
+	xorl	0(%rsp),%ebp
+	andl	%r11d,%eax
+	movl	%esi,%ecx
+	xorl	24(%rsp),%ebp
+	leal	-1894007588(%rdx,%r13,1),%r13d
+	xorl	%r11d,%ebx
+	roll	$5,%ecx
+	addl	%eax,%r13d
+	roll	$1,%ebp
+	andl	%edi,%ebx
+	addl	%ecx,%r13d
+	roll	$30,%edi
+	addl	%ebx,%r13d
+	xorl	60(%rsp),%r14d
+	movl	%r11d,%eax
+	movl	%ebp,56(%rsp)
+	movl	%r11d,%ebx
+	xorl	4(%rsp),%r14d
+	andl	%edi,%eax
+	movl	%r13d,%ecx
+	xorl	28(%rsp),%r14d
+	leal	-1894007588(%rbp,%r12,1),%r12d
+	xorl	%edi,%ebx
+	roll	$5,%ecx
+	addl	%eax,%r12d
+	roll	$1,%r14d
+	andl	%esi,%ebx
+	addl	%ecx,%r12d
+	roll	$30,%esi
+	addl	%ebx,%r12d
+	xorl	0(%rsp),%edx
+	movl	%edi,%eax
+	movl	%r14d,60(%rsp)
+	movl	%edi,%ebx
+	xorl	8(%rsp),%edx
+	andl	%esi,%eax
+	movl	%r12d,%ecx
+	xorl	32(%rsp),%edx
+	leal	-1894007588(%r14,%r11,1),%r11d
+	xorl	%esi,%ebx
+	roll	$5,%ecx
+	addl	%eax,%r11d
+	roll	$1,%edx
+	andl	%r13d,%ebx
+	addl	%ecx,%r11d
+	roll	$30,%r13d
+	addl	%ebx,%r11d
+	xorl	4(%rsp),%ebp
+	movl	%esi,%eax
+	movl	%edx,0(%rsp)
+	movl	%esi,%ebx
+	xorl	12(%rsp),%ebp
+	andl	%r13d,%eax
+	movl	%r11d,%ecx
+	xorl	36(%rsp),%ebp
+	leal	-1894007588(%rdx,%rdi,1),%edi
+	xorl	%r13d,%ebx
+	roll	$5,%ecx
+	addl	%eax,%edi
+	roll	$1,%ebp
+	andl	%r12d,%ebx
+	addl	%ecx,%edi
+	roll	$30,%r12d
+	addl	%ebx,%edi
+	xorl	8(%rsp),%r14d
+	movl	%r13d,%eax
+	movl	%ebp,4(%rsp)
+	movl	%r13d,%ebx
+	xorl	16(%rsp),%r14d
+	andl	%r12d,%eax
+	movl	%edi,%ecx
+	xorl	40(%rsp),%r14d
+	leal	-1894007588(%rbp,%rsi,1),%esi
+	xorl	%r12d,%ebx
+	roll	$5,%ecx
+	addl	%eax,%esi
+	roll	$1,%r14d
+	andl	%r11d,%ebx
+	addl	%ecx,%esi
+	roll	$30,%r11d
+	addl	%ebx,%esi
+	xorl	12(%rsp),%edx
+	movl	%r12d,%eax
+	movl	%r14d,8(%rsp)
+	movl	%r12d,%ebx
+	xorl	20(%rsp),%edx
+	andl	%r11d,%eax
+	movl	%esi,%ecx
+	xorl	44(%rsp),%edx
+	leal	-1894007588(%r14,%r13,1),%r13d
+	xorl	%r11d,%ebx
+	roll	$5,%ecx
+	addl	%eax,%r13d
+	roll	$1,%edx
+	andl	%edi,%ebx
+	addl	%ecx,%r13d
+	roll	$30,%edi
+	addl	%ebx,%r13d
+	xorl	16(%rsp),%ebp
+	movl	%r11d,%eax
+	movl	%edx,12(%rsp)
+	movl	%r11d,%ebx
+	xorl	24(%rsp),%ebp
+	andl	%edi,%eax
+	movl	%r13d,%ecx
+	xorl	48(%rsp),%ebp
+	leal	-1894007588(%rdx,%r12,1),%r12d
+	xorl	%edi,%ebx
+	roll	$5,%ecx
+	addl	%eax,%r12d
+	roll	$1,%ebp
+	andl	%esi,%ebx
+	addl	%ecx,%r12d
+	roll	$30,%esi
+	addl	%ebx,%r12d
+	xorl	20(%rsp),%r14d
+	movl	%edi,%eax
+	movl	%ebp,16(%rsp)
+	movl	%edi,%ebx
+	xorl	28(%rsp),%r14d
+	andl	%esi,%eax
+	movl	%r12d,%ecx
+	xorl	52(%rsp),%r14d
+	leal	-1894007588(%rbp,%r11,1),%r11d
+	xorl	%esi,%ebx
+	roll	$5,%ecx
+	addl	%eax,%r11d
+	roll	$1,%r14d
+	andl	%r13d,%ebx
+	addl	%ecx,%r11d
+	roll	$30,%r13d
+	addl	%ebx,%r11d
+	xorl	24(%rsp),%edx
+	movl	%esi,%eax
+	movl	%r14d,20(%rsp)
+	movl	%esi,%ebx
+	xorl	32(%rsp),%edx
+	andl	%r13d,%eax
+	movl	%r11d,%ecx
+	xorl	56(%rsp),%edx
+	leal	-1894007588(%r14,%rdi,1),%edi
+	xorl	%r13d,%ebx
+	roll	$5,%ecx
+	addl	%eax,%edi
+	roll	$1,%edx
+	andl	%r12d,%ebx
+	addl	%ecx,%edi
+	roll	$30,%r12d
+	addl	%ebx,%edi
+	xorl	28(%rsp),%ebp
+	movl	%r13d,%eax
+	movl	%edx,24(%rsp)
+	movl	%r13d,%ebx
+	xorl	36(%rsp),%ebp
+	andl	%r12d,%eax
+	movl	%edi,%ecx
+	xorl	60(%rsp),%ebp
+	leal	-1894007588(%rdx,%rsi,1),%esi
+	xorl	%r12d,%ebx
+	roll	$5,%ecx
+	addl	%eax,%esi
+	roll	$1,%ebp
+	andl	%r11d,%ebx
+	addl	%ecx,%esi
+	roll	$30,%r11d
+	addl	%ebx,%esi
+	xorl	32(%rsp),%r14d
+	movl	%r12d,%eax
+	movl	%ebp,28(%rsp)
+	movl	%r12d,%ebx
+	xorl	40(%rsp),%r14d
+	andl	%r11d,%eax
+	movl	%esi,%ecx
+	xorl	0(%rsp),%r14d
+	leal	-1894007588(%rbp,%r13,1),%r13d
+	xorl	%r11d,%ebx
+	roll	$5,%ecx
+	addl	%eax,%r13d
+	roll	$1,%r14d
+	andl	%edi,%ebx
+	addl	%ecx,%r13d
+	roll	$30,%edi
+	addl	%ebx,%r13d
+	xorl	36(%rsp),%edx
+	movl	%r11d,%eax
+	movl	%r14d,32(%rsp)
+	movl	%r11d,%ebx
+	xorl	44(%rsp),%edx
+	andl	%edi,%eax
+	movl	%r13d,%ecx
+	xorl	4(%rsp),%edx
+	leal	-1894007588(%r14,%r12,1),%r12d
+	xorl	%edi,%ebx
+	roll	$5,%ecx
+	addl	%eax,%r12d
+	roll	$1,%edx
+	andl	%esi,%ebx
+	addl	%ecx,%r12d
+	roll	$30,%esi
+	addl	%ebx,%r12d
+	xorl	40(%rsp),%ebp
+	movl	%edi,%eax
+	movl	%edx,36(%rsp)
+	movl	%edi,%ebx
+	xorl	48(%rsp),%ebp
+	andl	%esi,%eax
+	movl	%r12d,%ecx
+	xorl	8(%rsp),%ebp
+	leal	-1894007588(%rdx,%r11,1),%r11d
+	xorl	%esi,%ebx
+	roll	$5,%ecx
+	addl	%eax,%r11d
+	roll	$1,%ebp
+	andl	%r13d,%ebx
+	addl	%ecx,%r11d
+	roll	$30,%r13d
+	addl	%ebx,%r11d
+	xorl	44(%rsp),%r14d
+	movl	%esi,%eax
+	movl	%ebp,40(%rsp)
+	movl	%esi,%ebx
+	xorl	52(%rsp),%r14d
+	andl	%r13d,%eax
+	movl	%r11d,%ecx
+	xorl	12(%rsp),%r14d
+	leal	-1894007588(%rbp,%rdi,1),%edi
+	xorl	%r13d,%ebx
+	roll	$5,%ecx
+	addl	%eax,%edi
+	roll	$1,%r14d
+	andl	%r12d,%ebx
+	addl	%ecx,%edi
+	roll	$30,%r12d
+	addl	%ebx,%edi
+	xorl	48(%rsp),%edx
+	movl	%r13d,%eax
+	movl	%r14d,44(%rsp)
+	movl	%r13d,%ebx
+	xorl	56(%rsp),%edx
+	andl	%r12d,%eax
+	movl	%edi,%ecx
+	xorl	16(%rsp),%edx
+	leal	-1894007588(%r14,%rsi,1),%esi
+	xorl	%r12d,%ebx
+	roll	$5,%ecx
+	addl	%eax,%esi
+	roll	$1,%edx
+	andl	%r11d,%ebx
+	addl	%ecx,%esi
+	roll	$30,%r11d
+	addl	%ebx,%esi
+	xorl	52(%rsp),%ebp
+	movl	%edi,%eax
+	movl	%edx,48(%rsp)
+	movl	%esi,%ecx
+	xorl	60(%rsp),%ebp
+	xorl	%r12d,%eax
+	roll	$5,%ecx
+	xorl	20(%rsp),%ebp
+	leal	-899497514(%rdx,%r13,1),%r13d
+	xorl	%r11d,%eax
+	addl	%ecx,%r13d
+	roll	$30,%edi
+	addl	%eax,%r13d
+	roll	$1,%ebp
+	xorl	56(%rsp),%r14d
+	movl	%esi,%eax
+	movl	%ebp,52(%rsp)
+	movl	%r13d,%ecx
+	xorl	0(%rsp),%r14d
+	xorl	%r11d,%eax
+	roll	$5,%ecx
+	xorl	24(%rsp),%r14d
+	leal	-899497514(%rbp,%r12,1),%r12d
+	xorl	%edi,%eax
+	addl	%ecx,%r12d
+	roll	$30,%esi
+	addl	%eax,%r12d
+	roll	$1,%r14d
+	xorl	60(%rsp),%edx
+	movl	%r13d,%eax
+	movl	%r14d,56(%rsp)
+	movl	%r12d,%ecx
+	xorl	4(%rsp),%edx
+	xorl	%edi,%eax
+	roll	$5,%ecx
+	xorl	28(%rsp),%edx
+	leal	-899497514(%r14,%r11,1),%r11d
+	xorl	%esi,%eax
+	addl	%ecx,%r11d
+	roll	$30,%r13d
+	addl	%eax,%r11d
+	roll	$1,%edx
+	xorl	0(%rsp),%ebp
+	movl	%r12d,%eax
+	movl	%edx,60(%rsp)
+	movl	%r11d,%ecx
+	xorl	8(%rsp),%ebp
+	xorl	%esi,%eax
+	roll	$5,%ecx
+	xorl	32(%rsp),%ebp
+	leal	-899497514(%rdx,%rdi,1),%edi
+	xorl	%r13d,%eax
+	addl	%ecx,%edi
+	roll	$30,%r12d
+	addl	%eax,%edi
+	roll	$1,%ebp
+	xorl	4(%rsp),%r14d
+	movl	%r11d,%eax
+	movl	%ebp,0(%rsp)
+	movl	%edi,%ecx
+	xorl	12(%rsp),%r14d
+	xorl	%r13d,%eax
+	roll	$5,%ecx
+	xorl	36(%rsp),%r14d
+	leal	-899497514(%rbp,%rsi,1),%esi
+	xorl	%r12d,%eax
+	addl	%ecx,%esi
+	roll	$30,%r11d
+	addl	%eax,%esi
+	roll	$1,%r14d
+	xorl	8(%rsp),%edx
+	movl	%edi,%eax
+	movl	%r14d,4(%rsp)
+	movl	%esi,%ecx
+	xorl	16(%rsp),%edx
+	xorl	%r12d,%eax
+	roll	$5,%ecx
+	xorl	40(%rsp),%edx
+	leal	-899497514(%r14,%r13,1),%r13d
+	xorl	%r11d,%eax
+	addl	%ecx,%r13d
+	roll	$30,%edi
+	addl	%eax,%r13d
+	roll	$1,%edx
+	xorl	12(%rsp),%ebp
+	movl	%esi,%eax
+	movl	%edx,8(%rsp)
+	movl	%r13d,%ecx
+	xorl	20(%rsp),%ebp
+	xorl	%r11d,%eax
+	roll	$5,%ecx
+	xorl	44(%rsp),%ebp
+	leal	-899497514(%rdx,%r12,1),%r12d
+	xorl	%edi,%eax
+	addl	%ecx,%r12d
+	roll	$30,%esi
+	addl	%eax,%r12d
+	roll	$1,%ebp
+	xorl	16(%rsp),%r14d
+	movl	%r13d,%eax
+	movl	%ebp,12(%rsp)
+	movl	%r12d,%ecx
+	xorl	24(%rsp),%r14d
+	xorl	%edi,%eax
+	roll	$5,%ecx
+	xorl	48(%rsp),%r14d
+	leal	-899497514(%rbp,%r11,1),%r11d
+	xorl	%esi,%eax
+	addl	%ecx,%r11d
+	roll	$30,%r13d
+	addl	%eax,%r11d
+	roll	$1,%r14d
+	xorl	20(%rsp),%edx
+	movl	%r12d,%eax
+	movl	%r14d,16(%rsp)
+	movl	%r11d,%ecx
+	xorl	28(%rsp),%edx
+	xorl	%esi,%eax
+	roll	$5,%ecx
+	xorl	52(%rsp),%edx
+	leal	-899497514(%r14,%rdi,1),%edi
+	xorl	%r13d,%eax
+	addl	%ecx,%edi
+	roll	$30,%r12d
+	addl	%eax,%edi
+	roll	$1,%edx
+	xorl	24(%rsp),%ebp
+	movl	%r11d,%eax
+	movl	%edx,20(%rsp)
+	movl	%edi,%ecx
+	xorl	32(%rsp),%ebp
+	xorl	%r13d,%eax
+	roll	$5,%ecx
+	xorl	56(%rsp),%ebp
+	leal	-899497514(%rdx,%rsi,1),%esi
+	xorl	%r12d,%eax
+	addl	%ecx,%esi
+	roll	$30,%r11d
+	addl	%eax,%esi
+	roll	$1,%ebp
+	xorl	28(%rsp),%r14d
+	movl	%edi,%eax
+	movl	%ebp,24(%rsp)
+	movl	%esi,%ecx
+	xorl	36(%rsp),%r14d
+	xorl	%r12d,%eax
+	roll	$5,%ecx
+	xorl	60(%rsp),%r14d
+	leal	-899497514(%rbp,%r13,1),%r13d
+	xorl	%r11d,%eax
+	addl	%ecx,%r13d
+	roll	$30,%edi
+	addl	%eax,%r13d
+	roll	$1,%r14d
+	xorl	32(%rsp),%edx
+	movl	%esi,%eax
+	movl	%r14d,28(%rsp)
+	movl	%r13d,%ecx
+	xorl	40(%rsp),%edx
+	xorl	%r11d,%eax
+	roll	$5,%ecx
+	xorl	0(%rsp),%edx
+	leal	-899497514(%r14,%r12,1),%r12d
+	xorl	%edi,%eax
+	addl	%ecx,%r12d
+	roll	$30,%esi
+	addl	%eax,%r12d
+	roll	$1,%edx
+	xorl	36(%rsp),%ebp
+	movl	%r13d,%eax
+
+	movl	%r12d,%ecx
+	xorl	44(%rsp),%ebp
+	xorl	%edi,%eax
+	roll	$5,%ecx
+	xorl	4(%rsp),%ebp
+	leal	-899497514(%rdx,%r11,1),%r11d
+	xorl	%esi,%eax
+	addl	%ecx,%r11d
+	roll	$30,%r13d
+	addl	%eax,%r11d
+	roll	$1,%ebp
+	xorl	40(%rsp),%r14d
+	movl	%r12d,%eax
+
+	movl	%r11d,%ecx
+	xorl	48(%rsp),%r14d
+	xorl	%esi,%eax
+	roll	$5,%ecx
+	xorl	8(%rsp),%r14d
+	leal	-899497514(%rbp,%rdi,1),%edi
+	xorl	%r13d,%eax
+	addl	%ecx,%edi
+	roll	$30,%r12d
+	addl	%eax,%edi
+	roll	$1,%r14d
+	xorl	44(%rsp),%edx
+	movl	%r11d,%eax
+
+	movl	%edi,%ecx
+	xorl	52(%rsp),%edx
+	xorl	%r13d,%eax
+	roll	$5,%ecx
+	xorl	12(%rsp),%edx
+	leal	-899497514(%r14,%rsi,1),%esi
+	xorl	%r12d,%eax
+	addl	%ecx,%esi
+	roll	$30,%r11d
+	addl	%eax,%esi
+	roll	$1,%edx
+	xorl	48(%rsp),%ebp
+	movl	%edi,%eax
+
+	movl	%esi,%ecx
+	xorl	56(%rsp),%ebp
+	xorl	%r12d,%eax
+	roll	$5,%ecx
+	xorl	16(%rsp),%ebp
+	leal	-899497514(%rdx,%r13,1),%r13d
+	xorl	%r11d,%eax
+	addl	%ecx,%r13d
+	roll	$30,%edi
+	addl	%eax,%r13d
+	roll	$1,%ebp
+	xorl	52(%rsp),%r14d
+	movl	%esi,%eax
+
+	movl	%r13d,%ecx
+	xorl	60(%rsp),%r14d
+	xorl	%r11d,%eax
+	roll	$5,%ecx
+	xorl	20(%rsp),%r14d
+	leal	-899497514(%rbp,%r12,1),%r12d
+	xorl	%edi,%eax
+	addl	%ecx,%r12d
+	roll	$30,%esi
+	addl	%eax,%r12d
+	roll	$1,%r14d
+	xorl	56(%rsp),%edx
+	movl	%r13d,%eax
+
+	movl	%r12d,%ecx
+	xorl	0(%rsp),%edx
+	xorl	%edi,%eax
+	roll	$5,%ecx
+	xorl	24(%rsp),%edx
+	leal	-899497514(%r14,%r11,1),%r11d
+	xorl	%esi,%eax
+	addl	%ecx,%r11d
+	roll	$30,%r13d
+	addl	%eax,%r11d
+	roll	$1,%edx
+	xorl	60(%rsp),%ebp
+	movl	%r12d,%eax
+
+	movl	%r11d,%ecx
+	xorl	4(%rsp),%ebp
+	xorl	%esi,%eax
+	roll	$5,%ecx
+	xorl	28(%rsp),%ebp
+	leal	-899497514(%rdx,%rdi,1),%edi
+	xorl	%r13d,%eax
+	addl	%ecx,%edi
+	roll	$30,%r12d
+	addl	%eax,%edi
+	roll	$1,%ebp
+	movl	%r11d,%eax
+	movl	%edi,%ecx
+	xorl	%r13d,%eax
+	leal	-899497514(%rbp,%rsi,1),%esi
+	roll	$5,%ecx
+	xorl	%r12d,%eax
+	addl	%ecx,%esi
+	roll	$30,%r11d
+	addl	%eax,%esi
+	addl	0(%r8),%esi
+	addl	4(%r8),%edi
+	addl	8(%r8),%r11d
+	addl	12(%r8),%r12d
+	addl	16(%r8),%r13d
+	movl	%esi,0(%r8)
+	movl	%edi,4(%r8)
+	movl	%r11d,8(%r8)
+	movl	%r12d,12(%r8)
+	movl	%r13d,16(%r8)
+
+	subq	$1,%r10
+	leaq	64(%r9),%r9
+	jnz	L$loop
+
+	movq	64(%rsp),%rsi
+	movq	-40(%rsi),%r14
+	movq	-32(%rsi),%r13
+	movq	-24(%rsi),%r12
+	movq	-16(%rsi),%rbp
+	movq	-8(%rsi),%rbx
+	leaq	(%rsi),%rsp
+L$epilogue:
+	.byte	0xf3,0xc3
+
+
+.p2align	4
+sha1_block_data_order_ssse3:
+_ssse3_shortcut:
+	movq	%rsp,%r11
+	pushq	%rbx
+	pushq	%rbp
+	pushq	%r12
+	pushq	%r13
+	pushq	%r14
+	leaq	-64(%rsp),%rsp
+	andq	$-64,%rsp
+	movq	%rdi,%r8
+	movq	%rsi,%r9
+	movq	%rdx,%r10
+
+	shlq	$6,%r10
+	addq	%r9,%r10
+	leaq	K_XX_XX+64(%rip),%r14
+
+	movl	0(%r8),%eax
+	movl	4(%r8),%ebx
+	movl	8(%r8),%ecx
+	movl	12(%r8),%edx
+	movl	%ebx,%esi
+	movl	16(%r8),%ebp
+	movl	%ecx,%edi
+	xorl	%edx,%edi
+	andl	%edi,%esi
+
+	movdqa	64(%r14),%xmm6
+	movdqa	-64(%r14),%xmm9
+	movdqu	0(%r9),%xmm0
+	movdqu	16(%r9),%xmm1
+	movdqu	32(%r9),%xmm2
+	movdqu	48(%r9),%xmm3
+.byte	102,15,56,0,198
+.byte	102,15,56,0,206
+.byte	102,15,56,0,214
+	addq	$64,%r9
+	paddd	%xmm9,%xmm0
+.byte	102,15,56,0,222
+	paddd	%xmm9,%xmm1
+	paddd	%xmm9,%xmm2
+	movdqa	%xmm0,0(%rsp)
+	psubd	%xmm9,%xmm0
+	movdqa	%xmm1,16(%rsp)
+	psubd	%xmm9,%xmm1
+	movdqa	%xmm2,32(%rsp)
+	psubd	%xmm9,%xmm2
+	jmp	L$oop_ssse3
+.p2align	4
+L$oop_ssse3:
+	rorl	$2,%ebx
+	pshufd	$238,%xmm0,%xmm4
+	xorl	%edx,%esi
+	movdqa	%xmm3,%xmm8
+	paddd	%xmm3,%xmm9
+	movl	%eax,%edi
+	addl	0(%rsp),%ebp
+	punpcklqdq	%xmm1,%xmm4
+	xorl	%ecx,%ebx
+	roll	$5,%eax
+	addl	%esi,%ebp
+	psrldq	$4,%xmm8
+	andl	%ebx,%edi
+	xorl	%ecx,%ebx
+	pxor	%xmm0,%xmm4
+	addl	%eax,%ebp
+	rorl	$7,%eax
+	pxor	%xmm2,%xmm8
+	xorl	%ecx,%edi
+	movl	%ebp,%esi
+	addl	4(%rsp),%edx
+	pxor	%xmm8,%xmm4
+	xorl	%ebx,%eax
+	roll	$5,%ebp
+	movdqa	%xmm9,48(%rsp)
+	addl	%edi,%edx
+	andl	%eax,%esi
+	movdqa	%xmm4,%xmm10
+	xorl	%ebx,%eax
+	addl	%ebp,%edx
+	rorl	$7,%ebp
+	movdqa	%xmm4,%xmm8
+	xorl	%ebx,%esi
+	pslldq	$12,%xmm10
+	paddd	%xmm4,%xmm4
+	movl	%edx,%edi
+	addl	8(%rsp),%ecx
+	psrld	$31,%xmm8
+	xorl	%eax,%ebp
+	roll	$5,%edx
+	addl	%esi,%ecx
+	movdqa	%xmm10,%xmm9
+	andl	%ebp,%edi
+	xorl	%eax,%ebp
+	psrld	$30,%xmm10
+	addl	%edx,%ecx
+	rorl	$7,%edx
+	por	%xmm8,%xmm4
+	xorl	%eax,%edi
+	movl	%ecx,%esi
+	addl	12(%rsp),%ebx
+	pslld	$2,%xmm9
+	pxor	%xmm10,%xmm4
+	xorl	%ebp,%edx
+	movdqa	-64(%r14),%xmm10
+	roll	$5,%ecx
+	addl	%edi,%ebx
+	andl	%edx,%esi
+	pxor	%xmm9,%xmm4
+	xorl	%ebp,%edx
+	addl	%ecx,%ebx
+	rorl	$7,%ecx
+	pshufd	$238,%xmm1,%xmm5
+	xorl	%ebp,%esi
+	movdqa	%xmm4,%xmm9
+	paddd	%xmm4,%xmm10
+	movl	%ebx,%edi
+	addl	16(%rsp),%eax
+	punpcklqdq	%xmm2,%xmm5
+	xorl	%edx,%ecx
+	roll	$5,%ebx
+	addl	%esi,%eax
+	psrldq	$4,%xmm9
+	andl	%ecx,%edi
+	xorl	%edx,%ecx
+	pxor	%xmm1,%xmm5
+	addl	%ebx,%eax
+	rorl	$7,%ebx
+	pxor	%xmm3,%xmm9
+	xorl	%edx,%edi
+	movl	%eax,%esi
+	addl	20(%rsp),%ebp
+	pxor	%xmm9,%xmm5
+	xorl	%ecx,%ebx
+	roll	$5,%eax
+	movdqa	%xmm10,0(%rsp)
+	addl	%edi,%ebp
+	andl	%ebx,%esi
+	movdqa	%xmm5,%xmm8
+	xorl	%ecx,%ebx
+	addl	%eax,%ebp
+	rorl	$7,%eax
+	movdqa	%xmm5,%xmm9
+	xorl	%ecx,%esi
+	pslldq	$12,%xmm8
+	paddd	%xmm5,%xmm5
+	movl	%ebp,%edi
+	addl	24(%rsp),%edx
+	psrld	$31,%xmm9
+	xorl	%ebx,%eax
+	roll	$5,%ebp
+	addl	%esi,%edx
+	movdqa	%xmm8,%xmm10
+	andl	%eax,%edi
+	xorl	%ebx,%eax
+	psrld	$30,%xmm8
+	addl	%ebp,%edx
+	rorl	$7,%ebp
+	por	%xmm9,%xmm5
+	xorl	%ebx,%edi
+	movl	%edx,%esi
+	addl	28(%rsp),%ecx
+	pslld	$2,%xmm10
+	pxor	%xmm8,%xmm5
+	xorl	%eax,%ebp
+	movdqa	-32(%r14),%xmm8
+	roll	$5,%edx
+	addl	%edi,%ecx
+	andl	%ebp,%esi
+	pxor	%xmm10,%xmm5
+	xorl	%eax,%ebp
+	addl	%edx,%ecx
+	rorl	$7,%edx
+	pshufd	$238,%xmm2,%xmm6
+	xorl	%eax,%esi
+	movdqa	%xmm5,%xmm10
+	paddd	%xmm5,%xmm8
+	movl	%ecx,%edi
+	addl	32(%rsp),%ebx
+	punpcklqdq	%xmm3,%xmm6
+	xorl	%ebp,%edx
+	roll	$5,%ecx
+	addl	%esi,%ebx
+	psrldq	$4,%xmm10
+	andl	%edx,%edi
+	xorl	%ebp,%edx
+	pxor	%xmm2,%xmm6
+	addl	%ecx,%ebx
+	rorl	$7,%ecx
+	pxor	%xmm4,%xmm10
+	xorl	%ebp,%edi
+	movl	%ebx,%esi
+	addl	36(%rsp),%eax
+	pxor	%xmm10,%xmm6
+	xorl	%edx,%ecx
+	roll	$5,%ebx
+	movdqa	%xmm8,16(%rsp)
+	addl	%edi,%eax
+	andl	%ecx,%esi
+	movdqa	%xmm6,%xmm9
+	xorl	%edx,%ecx
+	addl	%ebx,%eax
+	rorl	$7,%ebx
+	movdqa	%xmm6,%xmm10
+	xorl	%edx,%esi
+	pslldq	$12,%xmm9
+	paddd	%xmm6,%xmm6
+	movl	%eax,%edi
+	addl	40(%rsp),%ebp
+	psrld	$31,%xmm10
+	xorl	%ecx,%ebx
+	roll	$5,%eax
+	addl	%esi,%ebp
+	movdqa	%xmm9,%xmm8
+	andl	%ebx,%edi
+	xorl	%ecx,%ebx
+	psrld	$30,%xmm9
+	addl	%eax,%ebp
+	rorl	$7,%eax
+	por	%xmm10,%xmm6
+	xorl	%ecx,%edi
+	movl	%ebp,%esi
+	addl	44(%rsp),%edx
+	pslld	$2,%xmm8
+	pxor	%xmm9,%xmm6
+	xorl	%ebx,%eax
+	movdqa	-32(%r14),%xmm9
+	roll	$5,%ebp
+	addl	%edi,%edx
+	andl	%eax,%esi
+	pxor	%xmm8,%xmm6
+	xorl	%ebx,%eax
+	addl	%ebp,%edx
+	rorl	$7,%ebp
+	pshufd	$238,%xmm3,%xmm7
+	xorl	%ebx,%esi
+	movdqa	%xmm6,%xmm8
+	paddd	%xmm6,%xmm9
+	movl	%edx,%edi
+	addl	48(%rsp),%ecx
+	punpcklqdq	%xmm4,%xmm7
+	xorl	%eax,%ebp
+	roll	$5,%edx
+	addl	%esi,%ecx
+	psrldq	$4,%xmm8
+	andl	%ebp,%edi
+	xorl	%eax,%ebp
+	pxor	%xmm3,%xmm7
+	addl	%edx,%ecx
+	rorl	$7,%edx
+	pxor	%xmm5,%xmm8
+	xorl	%eax,%edi
+	movl	%ecx,%esi
+	addl	52(%rsp),%ebx
+	pxor	%xmm8,%xmm7
+	xorl	%ebp,%edx
+	roll	$5,%ecx
+	movdqa	%xmm9,32(%rsp)
+	addl	%edi,%ebx
+	andl	%edx,%esi
+	movdqa	%xmm7,%xmm10
+	xorl	%ebp,%edx
+	addl	%ecx,%ebx
+	rorl	$7,%ecx
+	movdqa	%xmm7,%xmm8
+	xorl	%ebp,%esi
+	pslldq	$12,%xmm10
+	paddd	%xmm7,%xmm7
+	movl	%ebx,%edi
+	addl	56(%rsp),%eax
+	psrld	$31,%xmm8
+	xorl	%edx,%ecx
+	roll	$5,%ebx
+	addl	%esi,%eax
+	movdqa	%xmm10,%xmm9
+	andl	%ecx,%edi
+	xorl	%edx,%ecx
+	psrld	$30,%xmm10
+	addl	%ebx,%eax
+	rorl	$7,%ebx
+	por	%xmm8,%xmm7
+	xorl	%edx,%edi
+	movl	%eax,%esi
+	addl	60(%rsp),%ebp
+	pslld	$2,%xmm9
+	pxor	%xmm10,%xmm7
+	xorl	%ecx,%ebx
+	movdqa	-32(%r14),%xmm10
+	roll	$5,%eax
+	addl	%edi,%ebp
+	andl	%ebx,%esi
+	pxor	%xmm9,%xmm7
+	pshufd	$238,%xmm6,%xmm9
+	xorl	%ecx,%ebx
+	addl	%eax,%ebp
+	rorl	$7,%eax
+	pxor	%xmm4,%xmm0
+	xorl	%ecx,%esi
+	movl	%ebp,%edi
+	addl	0(%rsp),%edx
+	punpcklqdq	%xmm7,%xmm9
+	xorl	%ebx,%eax
+	roll	$5,%ebp
+	pxor	%xmm1,%xmm0
+	addl	%esi,%edx
+	andl	%eax,%edi
+	movdqa	%xmm10,%xmm8
+	xorl	%ebx,%eax
+	paddd	%xmm7,%xmm10
+	addl	%ebp,%edx
+	pxor	%xmm9,%xmm0
+	rorl	$7,%ebp
+	xorl	%ebx,%edi
+	movl	%edx,%esi
+	addl	4(%rsp),%ecx
+	movdqa	%xmm0,%xmm9
+	xorl	%eax,%ebp
+	roll	$5,%edx
+	movdqa	%xmm10,48(%rsp)
+	addl	%edi,%ecx
+	andl	%ebp,%esi
+	xorl	%eax,%ebp
+	pslld	$2,%xmm0
+	addl	%edx,%ecx
+	rorl	$7,%edx
+	psrld	$30,%xmm9
+	xorl	%eax,%esi
+	movl	%ecx,%edi
+	addl	8(%rsp),%ebx
+	por	%xmm9,%xmm0
+	xorl	%ebp,%edx
+	roll	$5,%ecx
+	pshufd	$238,%xmm7,%xmm10
+	addl	%esi,%ebx
+	andl	%edx,%edi
+	xorl	%ebp,%edx
+	addl	%ecx,%ebx
+	addl	12(%rsp),%eax
+	xorl	%ebp,%edi
+	movl	%ebx,%esi
+	roll	$5,%ebx
+	addl	%edi,%eax
+	xorl	%edx,%esi
+	rorl	$7,%ecx
+	addl	%ebx,%eax
+	pxor	%xmm5,%xmm1
+	addl	16(%rsp),%ebp
+	xorl	%ecx,%esi
+	punpcklqdq	%xmm0,%xmm10
+	movl	%eax,%edi
+	roll	$5,%eax
+	pxor	%xmm2,%xmm1
+	addl	%esi,%ebp
+	xorl	%ecx,%edi
+	movdqa	%xmm8,%xmm9
+	rorl	$7,%ebx
+	paddd	%xmm0,%xmm8
+	addl	%eax,%ebp
+	pxor	%xmm10,%xmm1
+	addl	20(%rsp),%edx
+	xorl	%ebx,%edi
+	movl	%ebp,%esi
+	roll	$5,%ebp
+	movdqa	%xmm1,%xmm10
+	addl	%edi,%edx
+	xorl	%ebx,%esi
+	movdqa	%xmm8,0(%rsp)
+	rorl	$7,%eax
+	addl	%ebp,%edx
+	addl	24(%rsp),%ecx
+	pslld	$2,%xmm1
+	xorl	%eax,%esi
+	movl	%edx,%edi
+	psrld	$30,%xmm10
+	roll	$5,%edx
+	addl	%esi,%ecx
+	xorl	%eax,%edi
+	rorl	$7,%ebp
+	por	%xmm10,%xmm1
+	addl	%edx,%ecx
+	addl	28(%rsp),%ebx
+	pshufd	$238,%xmm0,%xmm8
+	xorl	%ebp,%edi
+	movl	%ecx,%esi
+	roll	$5,%ecx
+	addl	%edi,%ebx
+	xorl	%ebp,%esi
+	rorl	$7,%edx
+	addl	%ecx,%ebx
+	pxor	%xmm6,%xmm2
+	addl	32(%rsp),%eax
+	xorl	%edx,%esi
+	punpcklqdq	%xmm1,%xmm8
+	movl	%ebx,%edi
+	roll	$5,%ebx
+	pxor	%xmm3,%xmm2
+	addl	%esi,%eax
+	xorl	%edx,%edi
+	movdqa	0(%r14),%xmm10
+	rorl	$7,%ecx
+	paddd	%xmm1,%xmm9
+	addl	%ebx,%eax
+	pxor	%xmm8,%xmm2
+	addl	36(%rsp),%ebp
+	xorl	%ecx,%edi
+	movl	%eax,%esi
+	roll	$5,%eax
+	movdqa	%xmm2,%xmm8
+	addl	%edi,%ebp
+	xorl	%ecx,%esi
+	movdqa	%xmm9,16(%rsp)
+	rorl	$7,%ebx
+	addl	%eax,%ebp
+	addl	40(%rsp),%edx
+	pslld	$2,%xmm2
+	xorl	%ebx,%esi
+	movl	%ebp,%edi
+	psrld	$30,%xmm8
+	roll	$5,%ebp
+	addl	%esi,%edx
+	xorl	%ebx,%edi
+	rorl	$7,%eax
+	por	%xmm8,%xmm2
+	addl	%ebp,%edx
+	addl	44(%rsp),%ecx
+	pshufd	$238,%xmm1,%xmm9
+	xorl	%eax,%edi
+	movl	%edx,%esi
+	roll	$5,%edx
+	addl	%edi,%ecx
+	xorl	%eax,%esi
+	rorl	$7,%ebp
+	addl	%edx,%ecx
+	pxor	%xmm7,%xmm3
+	addl	48(%rsp),%ebx
+	xorl	%ebp,%esi
+	punpcklqdq	%xmm2,%xmm9
+	movl	%ecx,%edi
+	roll	$5,%ecx
+	pxor	%xmm4,%xmm3
+	addl	%esi,%ebx
+	xorl	%ebp,%edi
+	movdqa	%xmm10,%xmm8
+	rorl	$7,%edx
+	paddd	%xmm2,%xmm10
+	addl	%ecx,%ebx
+	pxor	%xmm9,%xmm3
+	addl	52(%rsp),%eax
+	xorl	%edx,%edi
+	movl	%ebx,%esi
+	roll	$5,%ebx
+	movdqa	%xmm3,%xmm9
+	addl	%edi,%eax
+	xorl	%edx,%esi
+	movdqa	%xmm10,32(%rsp)
+	rorl	$7,%ecx
+	addl	%ebx,%eax
+	addl	56(%rsp),%ebp
+	pslld	$2,%xmm3
+	xorl	%ecx,%esi
+	movl	%eax,%edi
+	psrld	$30,%xmm9
+	roll	$5,%eax
+	addl	%esi,%ebp
+	xorl	%ecx,%edi
+	rorl	$7,%ebx
+	por	%xmm9,%xmm3
+	addl	%eax,%ebp
+	addl	60(%rsp),%edx
+	pshufd	$238,%xmm2,%xmm10
+	xorl	%ebx,%edi
+	movl	%ebp,%esi
+	roll	$5,%ebp
+	addl	%edi,%edx
+	xorl	%ebx,%esi
+	rorl	$7,%eax
+	addl	%ebp,%edx
+	pxor	%xmm0,%xmm4
+	addl	0(%rsp),%ecx
+	xorl	%eax,%esi
+	punpcklqdq	%xmm3,%xmm10
+	movl	%edx,%edi
+	roll	$5,%edx
+	pxor	%xmm5,%xmm4
+	addl	%esi,%ecx
+	xorl	%eax,%edi
+	movdqa	%xmm8,%xmm9
+	rorl	$7,%ebp
+	paddd	%xmm3,%xmm8
+	addl	%edx,%ecx
+	pxor	%xmm10,%xmm4
+	addl	4(%rsp),%ebx
+	xorl	%ebp,%edi
+	movl	%ecx,%esi
+	roll	$5,%ecx
+	movdqa	%xmm4,%xmm10
+	addl	%edi,%ebx
+	xorl	%ebp,%esi
+	movdqa	%xmm8,48(%rsp)
+	rorl	$7,%edx
+	addl	%ecx,%ebx
+	addl	8(%rsp),%eax
+	pslld	$2,%xmm4
+	xorl	%edx,%esi
+	movl	%ebx,%edi
+	psrld	$30,%xmm10
+	roll	$5,%ebx
+	addl	%esi,%eax
+	xorl	%edx,%edi
+	rorl	$7,%ecx
+	por	%xmm10,%xmm4
+	addl	%ebx,%eax
+	addl	12(%rsp),%ebp
+	pshufd	$238,%xmm3,%xmm8
+	xorl	%ecx,%edi
+	movl	%eax,%esi
+	roll	$5,%eax
+	addl	%edi,%ebp
+	xorl	%ecx,%esi
+	rorl	$7,%ebx
+	addl	%eax,%ebp
+	pxor	%xmm1,%xmm5
+	addl	16(%rsp),%edx
+	xorl	%ebx,%esi
+	punpcklqdq	%xmm4,%xmm8
+	movl	%ebp,%edi
+	roll	$5,%ebp
+	pxor	%xmm6,%xmm5
+	addl	%esi,%edx
+	xorl	%ebx,%edi
+	movdqa	%xmm9,%xmm10
+	rorl	$7,%eax
+	paddd	%xmm4,%xmm9
+	addl	%ebp,%edx
+	pxor	%xmm8,%xmm5
+	addl	20(%rsp),%ecx
+	xorl	%eax,%edi
+	movl	%edx,%esi
+	roll	$5,%edx
+	movdqa	%xmm5,%xmm8
+	addl	%edi,%ecx
+	xorl	%eax,%esi
+	movdqa	%xmm9,0(%rsp)
+	rorl	$7,%ebp
+	addl	%edx,%ecx
+	addl	24(%rsp),%ebx
+	pslld	$2,%xmm5
+	xorl	%ebp,%esi
+	movl	%ecx,%edi
+	psrld	$30,%xmm8
+	roll	$5,%ecx
+	addl	%esi,%ebx
+	xorl	%ebp,%edi
+	rorl	$7,%edx
+	por	%xmm8,%xmm5
+	addl	%ecx,%ebx
+	addl	28(%rsp),%eax
+	pshufd	$238,%xmm4,%xmm9
+	rorl	$7,%ecx
+	movl	%ebx,%esi
+	xorl	%edx,%edi
+	roll	$5,%ebx
+	addl	%edi,%eax
+	xorl	%ecx,%esi
+	xorl	%edx,%ecx
+	addl	%ebx,%eax
+	pxor	%xmm2,%xmm6
+	addl	32(%rsp),%ebp
+	andl	%ecx,%esi
+	xorl	%edx,%ecx
+	rorl	$7,%ebx
+	punpcklqdq	%xmm5,%xmm9
+	movl	%eax,%edi
+	xorl	%ecx,%esi
+	pxor	%xmm7,%xmm6
+	roll	$5,%eax
+	addl	%esi,%ebp
+	movdqa	%xmm10,%xmm8
+	xorl	%ebx,%edi
+	paddd	%xmm5,%xmm10
+	xorl	%ecx,%ebx
+	pxor	%xmm9,%xmm6
+	addl	%eax,%ebp
+	addl	36(%rsp),%edx
+	andl	%ebx,%edi
+	xorl	%ecx,%ebx
+	rorl	$7,%eax
+	movdqa	%xmm6,%xmm9
+	movl	%ebp,%esi
+	xorl	%ebx,%edi
+	movdqa	%xmm10,16(%rsp)
+	roll	$5,%ebp
+	addl	%edi,%edx
+	xorl	%eax,%esi
+	pslld	$2,%xmm6
+	xorl	%ebx,%eax
+	addl	%ebp,%edx
+	psrld	$30,%xmm9
+	addl	40(%rsp),%ecx
+	andl	%eax,%esi
+	xorl	%ebx,%eax
+	por	%xmm9,%xmm6
+	rorl	$7,%ebp
+	movl	%edx,%edi
+	xorl	%eax,%esi
+	roll	$5,%edx
+	pshufd	$238,%xmm5,%xmm10
+	addl	%esi,%ecx
+	xorl	%ebp,%edi
+	xorl	%eax,%ebp
+	addl	%edx,%ecx
+	addl	44(%rsp),%ebx
+	andl	%ebp,%edi
+	xorl	%eax,%ebp
+	rorl	$7,%edx
+	movl	%ecx,%esi
+	xorl	%ebp,%edi
+	roll	$5,%ecx
+	addl	%edi,%ebx
+	xorl	%edx,%esi
+	xorl	%ebp,%edx
+	addl	%ecx,%ebx
+	pxor	%xmm3,%xmm7
+	addl	48(%rsp),%eax
+	andl	%edx,%esi
+	xorl	%ebp,%edx
+	rorl	$7,%ecx
+	punpcklqdq	%xmm6,%xmm10
+	movl	%ebx,%edi
+	xorl	%edx,%esi
+	pxor	%xmm0,%xmm7
+	roll	$5,%ebx
+	addl	%esi,%eax
+	movdqa	32(%r14),%xmm9
+	xorl	%ecx,%edi
+	paddd	%xmm6,%xmm8
+	xorl	%edx,%ecx
+	pxor	%xmm10,%xmm7
+	addl	%ebx,%eax
+	addl	52(%rsp),%ebp
+	andl	%ecx,%edi
+	xorl	%edx,%ecx
+	rorl	$7,%ebx
+	movdqa	%xmm7,%xmm10
+	movl	%eax,%esi
+	xorl	%ecx,%edi
+	movdqa	%xmm8,32(%rsp)
+	roll	$5,%eax
+	addl	%edi,%ebp
+	xorl	%ebx,%esi
+	pslld	$2,%xmm7
+	xorl	%ecx,%ebx
+	addl	%eax,%ebp
+	psrld	$30,%xmm10
+	addl	56(%rsp),%edx
+	andl	%ebx,%esi
+	xorl	%ecx,%ebx
+	por	%xmm10,%xmm7
+	rorl	$7,%eax
+	movl	%ebp,%edi
+	xorl	%ebx,%esi
+	roll	$5,%ebp
+	pshufd	$238,%xmm6,%xmm8
+	addl	%esi,%edx
+	xorl	%eax,%edi
+	xorl	%ebx,%eax
+	addl	%ebp,%edx
+	addl	60(%rsp),%ecx
+	andl	%eax,%edi
+	xorl	%ebx,%eax
+	rorl	$7,%ebp
+	movl	%edx,%esi
+	xorl	%eax,%edi
+	roll	$5,%edx
+	addl	%edi,%ecx
+	xorl	%ebp,%esi
+	xorl	%eax,%ebp
+	addl	%edx,%ecx
+	pxor	%xmm4,%xmm0
+	addl	0(%rsp),%ebx
+	andl	%ebp,%esi
+	xorl	%eax,%ebp
+	rorl	$7,%edx
+	punpcklqdq	%xmm7,%xmm8
+	movl	%ecx,%edi
+	xorl	%ebp,%esi
+	pxor	%xmm1,%xmm0
+	roll	$5,%ecx
+	addl	%esi,%ebx
+	movdqa	%xmm9,%xmm10
+	xorl	%edx,%edi
+	paddd	%xmm7,%xmm9
+	xorl	%ebp,%edx
+	pxor	%xmm8,%xmm0
+	addl	%ecx,%ebx
+	addl	4(%rsp),%eax
+	andl	%edx,%edi
+	xorl	%ebp,%edx
+	rorl	$7,%ecx
+	movdqa	%xmm0,%xmm8
+	movl	%ebx,%esi
+	xorl	%edx,%edi
+	movdqa	%xmm9,48(%rsp)
+	roll	$5,%ebx
+	addl	%edi,%eax
+	xorl	%ecx,%esi
+	pslld	$2,%xmm0
+	xorl	%edx,%ecx
+	addl	%ebx,%eax
+	psrld	$30,%xmm8
+	addl	8(%rsp),%ebp
+	andl	%ecx,%esi
+	xorl	%edx,%ecx
+	por	%xmm8,%xmm0
+	rorl	$7,%ebx
+	movl	%eax,%edi
+	xorl	%ecx,%esi
+	roll	$5,%eax
+	pshufd	$238,%xmm7,%xmm9
+	addl	%esi,%ebp
+	xorl	%ebx,%edi
+	xorl	%ecx,%ebx
+	addl	%eax,%ebp
+	addl	12(%rsp),%edx
+	andl	%ebx,%edi
+	xorl	%ecx,%ebx
+	rorl	$7,%eax
+	movl	%ebp,%esi
+	xorl	%ebx,%edi
+	roll	$5,%ebp
+	addl	%edi,%edx
+	xorl	%eax,%esi
+	xorl	%ebx,%eax
+	addl	%ebp,%edx
+	pxor	%xmm5,%xmm1
+	addl	16(%rsp),%ecx
+	andl	%eax,%esi
+	xorl	%ebx,%eax
+	rorl	$7,%ebp
+	punpcklqdq	%xmm0,%xmm9
+	movl	%edx,%edi
+	xorl	%eax,%esi
+	pxor	%xmm2,%xmm1
+	roll	$5,%edx
+	addl	%esi,%ecx
+	movdqa	%xmm10,%xmm8
+	xorl	%ebp,%edi
+	paddd	%xmm0,%xmm10
+	xorl	%eax,%ebp
+	pxor	%xmm9,%xmm1
+	addl	%edx,%ecx
+	addl	20(%rsp),%ebx
+	andl	%ebp,%edi
+	xorl	%eax,%ebp
+	rorl	$7,%edx
+	movdqa	%xmm1,%xmm9
+	movl	%ecx,%esi
+	xorl	%ebp,%edi
+	movdqa	%xmm10,0(%rsp)
+	roll	$5,%ecx
+	addl	%edi,%ebx
+	xorl	%edx,%esi
+	pslld	$2,%xmm1
+	xorl	%ebp,%edx
+	addl	%ecx,%ebx
+	psrld	$30,%xmm9
+	addl	24(%rsp),%eax
+	andl	%edx,%esi
+	xorl	%ebp,%edx
+	por	%xmm9,%xmm1
+	rorl	$7,%ecx
+	movl	%ebx,%edi
+	xorl	%edx,%esi
+	roll	$5,%ebx
+	pshufd	$238,%xmm0,%xmm10
+	addl	%esi,%eax
+	xorl	%ecx,%edi
+	xorl	%edx,%ecx
+	addl	%ebx,%eax
+	addl	28(%rsp),%ebp
+	andl	%ecx,%edi
+	xorl	%edx,%ecx
+	rorl	$7,%ebx
+	movl	%eax,%esi
+	xorl	%ecx,%edi
+	roll	$5,%eax
+	addl	%edi,%ebp
+	xorl	%ebx,%esi
+	xorl	%ecx,%ebx
+	addl	%eax,%ebp
+	pxor	%xmm6,%xmm2
+	addl	32(%rsp),%edx
+	andl	%ebx,%esi
+	xorl	%ecx,%ebx
+	rorl	$7,%eax
+	punpcklqdq	%xmm1,%xmm10
+	movl	%ebp,%edi
+	xorl	%ebx,%esi
+	pxor	%xmm3,%xmm2
+	roll	$5,%ebp
+	addl	%esi,%edx
+	movdqa	%xmm8,%xmm9
+	xorl	%eax,%edi
+	paddd	%xmm1,%xmm8
+	xorl	%ebx,%eax
+	pxor	%xmm10,%xmm2
+	addl	%ebp,%edx
+	addl	36(%rsp),%ecx
+	andl	%eax,%edi
+	xorl	%ebx,%eax
+	rorl	$7,%ebp
+	movdqa	%xmm2,%xmm10
+	movl	%edx,%esi
+	xorl	%eax,%edi
+	movdqa	%xmm8,16(%rsp)
+	roll	$5,%edx
+	addl	%edi,%ecx
+	xorl	%ebp,%esi
+	pslld	$2,%xmm2
+	xorl	%eax,%ebp
+	addl	%edx,%ecx
+	psrld	$30,%xmm10
+	addl	40(%rsp),%ebx
+	andl	%ebp,%esi
+	xorl	%eax,%ebp
+	por	%xmm10,%xmm2
+	rorl	$7,%edx
+	movl	%ecx,%edi
+	xorl	%ebp,%esi
+	roll	$5,%ecx
+	pshufd	$238,%xmm1,%xmm8
+	addl	%esi,%ebx
+	xorl	%edx,%edi
+	xorl	%ebp,%edx
+	addl	%ecx,%ebx
+	addl	44(%rsp),%eax
+	andl	%edx,%edi
+	xorl	%ebp,%edx
+	rorl	$7,%ecx
+	movl	%ebx,%esi
+	xorl	%edx,%edi
+	roll	$5,%ebx
+	addl	%edi,%eax
+	xorl	%edx,%esi
+	addl	%ebx,%eax
+	pxor	%xmm7,%xmm3
+	addl	48(%rsp),%ebp
+	xorl	%ecx,%esi
+	punpcklqdq	%xmm2,%xmm8
+	movl	%eax,%edi
+	roll	$5,%eax
+	pxor	%xmm4,%xmm3
+	addl	%esi,%ebp
+	xorl	%ecx,%edi
+	movdqa	%xmm9,%xmm10
+	rorl	$7,%ebx
+	paddd	%xmm2,%xmm9
+	addl	%eax,%ebp
+	pxor	%xmm8,%xmm3
+	addl	52(%rsp),%edx
+	xorl	%ebx,%edi
+	movl	%ebp,%esi
+	roll	$5,%ebp
+	movdqa	%xmm3,%xmm8
+	addl	%edi,%edx
+	xorl	%ebx,%esi
+	movdqa	%xmm9,32(%rsp)
+	rorl	$7,%eax
+	addl	%ebp,%edx
+	addl	56(%rsp),%ecx
+	pslld	$2,%xmm3
+	xorl	%eax,%esi
+	movl	%edx,%edi
+	psrld	$30,%xmm8
+	roll	$5,%edx
+	addl	%esi,%ecx
+	xorl	%eax,%edi
+	rorl	$7,%ebp
+	por	%xmm8,%xmm3
+	addl	%edx,%ecx
+	addl	60(%rsp),%ebx
+	xorl	%ebp,%edi
+	movl	%ecx,%esi
+	roll	$5,%ecx
+	addl	%edi,%ebx
+	xorl	%ebp,%esi
+	rorl	$7,%edx
+	addl	%ecx,%ebx
+	addl	0(%rsp),%eax
+	xorl	%edx,%esi
+	movl	%ebx,%edi
+	roll	$5,%ebx
+	paddd	%xmm3,%xmm10
+	addl	%esi,%eax
+	xorl	%edx,%edi
+	movdqa	%xmm10,48(%rsp)
+	rorl	$7,%ecx
+	addl	%ebx,%eax
+	addl	4(%rsp),%ebp
+	xorl	%ecx,%edi
+	movl	%eax,%esi
+	roll	$5,%eax
+	addl	%edi,%ebp
+	xorl	%ecx,%esi
+	rorl	$7,%ebx
+	addl	%eax,%ebp
+	addl	8(%rsp),%edx
+	xorl	%ebx,%esi
+	movl	%ebp,%edi
+	roll	$5,%ebp
+	addl	%esi,%edx
+	xorl	%ebx,%edi
+	rorl	$7,%eax
+	addl	%ebp,%edx
+	addl	12(%rsp),%ecx
+	xorl	%eax,%edi
+	movl	%edx,%esi
+	roll	$5,%edx
+	addl	%edi,%ecx
+	xorl	%eax,%esi
+	rorl	$7,%ebp
+	addl	%edx,%ecx
+	cmpq	%r10,%r9
+	je	L$done_ssse3
+	movdqa	64(%r14),%xmm6
+	movdqa	-64(%r14),%xmm9
+	movdqu	0(%r9),%xmm0
+	movdqu	16(%r9),%xmm1
+	movdqu	32(%r9),%xmm2
+	movdqu	48(%r9),%xmm3
+.byte	102,15,56,0,198
+	addq	$64,%r9
+	addl	16(%rsp),%ebx
+	xorl	%ebp,%esi
+	movl	%ecx,%edi
+.byte	102,15,56,0,206
+	roll	$5,%ecx
+	addl	%esi,%ebx
+	xorl	%ebp,%edi
+	rorl	$7,%edx
+	paddd	%xmm9,%xmm0
+	addl	%ecx,%ebx
+	addl	20(%rsp),%eax
+	xorl	%edx,%edi
+	movl	%ebx,%esi
+	movdqa	%xmm0,0(%rsp)
+	roll	$5,%ebx
+	addl	%edi,%eax
+	xorl	%edx,%esi
+	rorl	$7,%ecx
+	psubd	%xmm9,%xmm0
+	addl	%ebx,%eax
+	addl	24(%rsp),%ebp
+	xorl	%ecx,%esi
+	movl	%eax,%edi
+	roll	$5,%eax
+	addl	%esi,%ebp
+	xorl	%ecx,%edi
+	rorl	$7,%ebx
+	addl	%eax,%ebp
+	addl	28(%rsp),%edx
+	xorl	%ebx,%edi
+	movl	%ebp,%esi
+	roll	$5,%ebp
+	addl	%edi,%edx
+	xorl	%ebx,%esi
+	rorl	$7,%eax
+	addl	%ebp,%edx
+	addl	32(%rsp),%ecx
+	xorl	%eax,%esi
+	movl	%edx,%edi
+.byte	102,15,56,0,214
+	roll	$5,%edx
+	addl	%esi,%ecx
+	xorl	%eax,%edi
+	rorl	$7,%ebp
+	paddd	%xmm9,%xmm1
+	addl	%edx,%ecx
+	addl	36(%rsp),%ebx
+	xorl	%ebp,%edi
+	movl	%ecx,%esi
+	movdqa	%xmm1,16(%rsp)
+	roll	$5,%ecx
+	addl	%edi,%ebx
+	xorl	%ebp,%esi
+	rorl	$7,%edx
+	psubd	%xmm9,%xmm1
+	addl	%ecx,%ebx
+	addl	40(%rsp),%eax
+	xorl	%edx,%esi
+	movl	%ebx,%edi
+	roll	$5,%ebx
+	addl	%esi,%eax
+	xorl	%edx,%edi
+	rorl	$7,%ecx
+	addl	%ebx,%eax
+	addl	44(%rsp),%ebp
+	xorl	%ecx,%edi
+	movl	%eax,%esi
+	roll	$5,%eax
+	addl	%edi,%ebp
+	xorl	%ecx,%esi
+	rorl	$7,%ebx
+	addl	%eax,%ebp
+	addl	48(%rsp),%edx
+	xorl	%ebx,%esi
+	movl	%ebp,%edi
+.byte	102,15,56,0,222
+	roll	$5,%ebp
+	addl	%esi,%edx
+	xorl	%ebx,%edi
+	rorl	$7,%eax
+	paddd	%xmm9,%xmm2
+	addl	%ebp,%edx
+	addl	52(%rsp),%ecx
+	xorl	%eax,%edi
+	movl	%edx,%esi
+	movdqa	%xmm2,32(%rsp)
+	roll	$5,%edx
+	addl	%edi,%ecx
+	xorl	%eax,%esi
+	rorl	$7,%ebp
+	psubd	%xmm9,%xmm2
+	addl	%edx,%ecx
+	addl	56(%rsp),%ebx
+	xorl	%ebp,%esi
+	movl	%ecx,%edi
+	roll	$5,%ecx
+	addl	%esi,%ebx
+	xorl	%ebp,%edi
+	rorl	$7,%edx
+	addl	%ecx,%ebx
+	addl	60(%rsp),%eax
+	xorl	%edx,%edi
+	movl	%ebx,%esi
+	roll	$5,%ebx
+	addl	%edi,%eax
+	rorl	$7,%ecx
+	addl	%ebx,%eax
+	addl	0(%r8),%eax
+	addl	4(%r8),%esi
+	addl	8(%r8),%ecx
+	addl	12(%r8),%edx
+	movl	%eax,0(%r8)
+	addl	16(%r8),%ebp
+	movl	%esi,4(%r8)
+	movl	%esi,%ebx
+	movl	%ecx,8(%r8)
+	movl	%ecx,%edi
+	movl	%edx,12(%r8)
+	xorl	%edx,%edi
+	movl	%ebp,16(%r8)
+	andl	%edi,%esi
+	jmp	L$oop_ssse3
+
+.p2align	4
+L$done_ssse3:
+	addl	16(%rsp),%ebx
+	xorl	%ebp,%esi
+	movl	%ecx,%edi
+	roll	$5,%ecx
+	addl	%esi,%ebx
+	xorl	%ebp,%edi
+	rorl	$7,%edx
+	addl	%ecx,%ebx
+	addl	20(%rsp),%eax
+	xorl	%edx,%edi
+	movl	%ebx,%esi
+	roll	$5,%ebx
+	addl	%edi,%eax
+	xorl	%edx,%esi
+	rorl	$7,%ecx
+	addl	%ebx,%eax
+	addl	24(%rsp),%ebp
+	xorl	%ecx,%esi
+	movl	%eax,%edi
+	roll	$5,%eax
+	addl	%esi,%ebp
+	xorl	%ecx,%edi
+	rorl	$7,%ebx
+	addl	%eax,%ebp
+	addl	28(%rsp),%edx
+	xorl	%ebx,%edi
+	movl	%ebp,%esi
+	roll	$5,%ebp
+	addl	%edi,%edx
+	xorl	%ebx,%esi
+	rorl	$7,%eax
+	addl	%ebp,%edx
+	addl	32(%rsp),%ecx
+	xorl	%eax,%esi
+	movl	%edx,%edi
+	roll	$5,%edx
+	addl	%esi,%ecx
+	xorl	%eax,%edi
+	rorl	$7,%ebp
+	addl	%edx,%ecx
+	addl	36(%rsp),%ebx
+	xorl	%ebp,%edi
+	movl	%ecx,%esi
+	roll	$5,%ecx
+	addl	%edi,%ebx
+	xorl	%ebp,%esi
+	rorl	$7,%edx
+	addl	%ecx,%ebx
+	addl	40(%rsp),%eax
+	xorl	%edx,%esi
+	movl	%ebx,%edi
+	roll	$5,%ebx
+	addl	%esi,%eax
+	xorl	%edx,%edi
+	rorl	$7,%ecx
+	addl	%ebx,%eax
+	addl	44(%rsp),%ebp
+	xorl	%ecx,%edi
+	movl	%eax,%esi
+	roll	$5,%eax
+	addl	%edi,%ebp
+	xorl	%ecx,%esi
+	rorl	$7,%ebx
+	addl	%eax,%ebp
+	addl	48(%rsp),%edx
+	xorl	%ebx,%esi
+	movl	%ebp,%edi
+	roll	$5,%ebp
+	addl	%esi,%edx
+	xorl	%ebx,%edi
+	rorl	$7,%eax
+	addl	%ebp,%edx
+	addl	52(%rsp),%ecx
+	xorl	%eax,%edi
+	movl	%edx,%esi
+	roll	$5,%edx
+	addl	%edi,%ecx
+	xorl	%eax,%esi
+	rorl	$7,%ebp
+	addl	%edx,%ecx
+	addl	56(%rsp),%ebx
+	xorl	%ebp,%esi
+	movl	%ecx,%edi
+	roll	$5,%ecx
+	addl	%esi,%ebx
+	xorl	%ebp,%edi
+	rorl	$7,%edx
+	addl	%ecx,%ebx
+	addl	60(%rsp),%eax
+	xorl	%edx,%edi
+	movl	%ebx,%esi
+	roll	$5,%ebx
+	addl	%edi,%eax
+	rorl	$7,%ecx
+	addl	%ebx,%eax
+	addl	0(%r8),%eax
+	addl	4(%r8),%esi
+	addl	8(%r8),%ecx
+	movl	%eax,0(%r8)
+	addl	12(%r8),%edx
+	movl	%esi,4(%r8)
+	addl	16(%r8),%ebp
+	movl	%ecx,8(%r8)
+	movl	%edx,12(%r8)
+	movl	%ebp,16(%r8)
+	movq	-40(%r11),%r14
+	movq	-32(%r11),%r13
+	movq	-24(%r11),%r12
+	movq	-16(%r11),%rbp
+	movq	-8(%r11),%rbx
+	leaq	(%r11),%rsp
+L$epilogue_ssse3:
+	.byte	0xf3,0xc3
+
+
+.p2align	4
+sha1_block_data_order_avx:
+_avx_shortcut:
+	movq	%rsp,%r11
+	pushq	%rbx
+	pushq	%rbp
+	pushq	%r12
+	pushq	%r13
+	pushq	%r14
+	leaq	-64(%rsp),%rsp
+	vzeroupper
+	andq	$-64,%rsp
+	movq	%rdi,%r8
+	movq	%rsi,%r9
+	movq	%rdx,%r10
+
+	shlq	$6,%r10
+	addq	%r9,%r10
+	leaq	K_XX_XX+64(%rip),%r14
+
+	movl	0(%r8),%eax
+	movl	4(%r8),%ebx
+	movl	8(%r8),%ecx
+	movl	12(%r8),%edx
+	movl	%ebx,%esi
+	movl	16(%r8),%ebp
+	movl	%ecx,%edi
+	xorl	%edx,%edi
+	andl	%edi,%esi
+
+	vmovdqa	64(%r14),%xmm6
+	vmovdqa	-64(%r14),%xmm11
+	vmovdqu	0(%r9),%xmm0
+	vmovdqu	16(%r9),%xmm1
+	vmovdqu	32(%r9),%xmm2
+	vmovdqu	48(%r9),%xmm3
+	vpshufb	%xmm6,%xmm0,%xmm0
+	addq	$64,%r9
+	vpshufb	%xmm6,%xmm1,%xmm1
+	vpshufb	%xmm6,%xmm2,%xmm2
+	vpshufb	%xmm6,%xmm3,%xmm3
+	vpaddd	%xmm11,%xmm0,%xmm4
+	vpaddd	%xmm11,%xmm1,%xmm5
+	vpaddd	%xmm11,%xmm2,%xmm6
+	vmovdqa	%xmm4,0(%rsp)
+	vmovdqa	%xmm5,16(%rsp)
+	vmovdqa	%xmm6,32(%rsp)
+	jmp	L$oop_avx
+.p2align	4
+L$oop_avx:
+	shrdl	$2,%ebx,%ebx
+	xorl	%edx,%esi
+	vpalignr	$8,%xmm0,%xmm1,%xmm4
+	movl	%eax,%edi
+	addl	0(%rsp),%ebp
+	vpaddd	%xmm3,%xmm11,%xmm9
+	xorl	%ecx,%ebx
+	shldl	$5,%eax,%eax
+	vpsrldq	$4,%xmm3,%xmm8
+	addl	%esi,%ebp
+	andl	%ebx,%edi
+	vpxor	%xmm0,%xmm4,%xmm4
+	xorl	%ecx,%ebx
+	addl	%eax,%ebp
+	vpxor	%xmm2,%xmm8,%xmm8
+	shrdl	$7,%eax,%eax
+	xorl	%ecx,%edi
+	movl	%ebp,%esi
+	addl	4(%rsp),%edx
+	vpxor	%xmm8,%xmm4,%xmm4
+	xorl	%ebx,%eax
+	shldl	$5,%ebp,%ebp
+	vmovdqa	%xmm9,48(%rsp)
+	addl	%edi,%edx
+	andl	%eax,%esi
+	vpsrld	$31,%xmm4,%xmm8
+	xorl	%ebx,%eax
+	addl	%ebp,%edx
+	shrdl	$7,%ebp,%ebp
+	xorl	%ebx,%esi
+	vpslldq	$12,%xmm4,%xmm10
+	vpaddd	%xmm4,%xmm4,%xmm4
+	movl	%edx,%edi
+	addl	8(%rsp),%ecx
+	xorl	%eax,%ebp
+	shldl	$5,%edx,%edx
+	vpsrld	$30,%xmm10,%xmm9
+	vpor	%xmm8,%xmm4,%xmm4
+	addl	%esi,%ecx
+	andl	%ebp,%edi
+	xorl	%eax,%ebp
+	addl	%edx,%ecx
+	vpslld	$2,%xmm10,%xmm10
+	vpxor	%xmm9,%xmm4,%xmm4
+	shrdl	$7,%edx,%edx
+	xorl	%eax,%edi
+	movl	%ecx,%esi
+	addl	12(%rsp),%ebx
+	vpxor	%xmm10,%xmm4,%xmm4
+	xorl	%ebp,%edx
+	shldl	$5,%ecx,%ecx
+	addl	%edi,%ebx
+	andl	%edx,%esi
+	xorl	%ebp,%edx
+	addl	%ecx,%ebx
+	shrdl	$7,%ecx,%ecx
+	xorl	%ebp,%esi
+	vpalignr	$8,%xmm1,%xmm2,%xmm5
+	movl	%ebx,%edi
+	addl	16(%rsp),%eax
+	vpaddd	%xmm4,%xmm11,%xmm9
+	xorl	%edx,%ecx
+	shldl	$5,%ebx,%ebx
+	vpsrldq	$4,%xmm4,%xmm8
+	addl	%esi,%eax
+	andl	%ecx,%edi
+	vpxor	%xmm1,%xmm5,%xmm5
+	xorl	%edx,%ecx
+	addl	%ebx,%eax
+	vpxor	%xmm3,%xmm8,%xmm8
+	shrdl	$7,%ebx,%ebx
+	xorl	%edx,%edi
+	movl	%eax,%esi
+	addl	20(%rsp),%ebp
+	vpxor	%xmm8,%xmm5,%xmm5
+	xorl	%ecx,%ebx
+	shldl	$5,%eax,%eax
+	vmovdqa	%xmm9,0(%rsp)
+	addl	%edi,%ebp
+	andl	%ebx,%esi
+	vpsrld	$31,%xmm5,%xmm8
+	xorl	%ecx,%ebx
+	addl	%eax,%ebp
+	shrdl	$7,%eax,%eax
+	xorl	%ecx,%esi
+	vpslldq	$12,%xmm5,%xmm10
+	vpaddd	%xmm5,%xmm5,%xmm5
+	movl	%ebp,%edi
+	addl	24(%rsp),%edx
+	xorl	%ebx,%eax
+	shldl	$5,%ebp,%ebp
+	vpsrld	$30,%xmm10,%xmm9
+	vpor	%xmm8,%xmm5,%xmm5
+	addl	%esi,%edx
+	andl	%eax,%edi
+	xorl	%ebx,%eax
+	addl	%ebp,%edx
+	vpslld	$2,%xmm10,%xmm10
+	vpxor	%xmm9,%xmm5,%xmm5
+	shrdl	$7,%ebp,%ebp
+	xorl	%ebx,%edi
+	movl	%edx,%esi
+	addl	28(%rsp),%ecx
+	vpxor	%xmm10,%xmm5,%xmm5
+	xorl	%eax,%ebp
+	shldl	$5,%edx,%edx
+	vmovdqa	-32(%r14),%xmm11
+	addl	%edi,%ecx
+	andl	%ebp,%esi
+	xorl	%eax,%ebp
+	addl	%edx,%ecx
+	shrdl	$7,%edx,%edx
+	xorl	%eax,%esi
+	vpalignr	$8,%xmm2,%xmm3,%xmm6
+	movl	%ecx,%edi
+	addl	32(%rsp),%ebx
+	vpaddd	%xmm5,%xmm11,%xmm9
+	xorl	%ebp,%edx
+	shldl	$5,%ecx,%ecx
+	vpsrldq	$4,%xmm5,%xmm8
+	addl	%esi,%ebx
+	andl	%edx,%edi
+	vpxor	%xmm2,%xmm6,%xmm6
+	xorl	%ebp,%edx
+	addl	%ecx,%ebx
+	vpxor	%xmm4,%xmm8,%xmm8
+	shrdl	$7,%ecx,%ecx
+	xorl	%ebp,%edi
+	movl	%ebx,%esi
+	addl	36(%rsp),%eax
+	vpxor	%xmm8,%xmm6,%xmm6
+	xorl	%edx,%ecx
+	shldl	$5,%ebx,%ebx
+	vmovdqa	%xmm9,16(%rsp)
+	addl	%edi,%eax
+	andl	%ecx,%esi
+	vpsrld	$31,%xmm6,%xmm8
+	xorl	%edx,%ecx
+	addl	%ebx,%eax
+	shrdl	$7,%ebx,%ebx
+	xorl	%edx,%esi
+	vpslldq	$12,%xmm6,%xmm10
+	vpaddd	%xmm6,%xmm6,%xmm6
+	movl	%eax,%edi
+	addl	40(%rsp),%ebp
+	xorl	%ecx,%ebx
+	shldl	$5,%eax,%eax
+	vpsrld	$30,%xmm10,%xmm9
+	vpor	%xmm8,%xmm6,%xmm6
+	addl	%esi,%ebp
+	andl	%ebx,%edi
+	xorl	%ecx,%ebx
+	addl	%eax,%ebp
+	vpslld	$2,%xmm10,%xmm10
+	vpxor	%xmm9,%xmm6,%xmm6
+	shrdl	$7,%eax,%eax
+	xorl	%ecx,%edi
+	movl	%ebp,%esi
+	addl	44(%rsp),%edx
+	vpxor	%xmm10,%xmm6,%xmm6
+	xorl	%ebx,%eax
+	shldl	$5,%ebp,%ebp
+	addl	%edi,%edx
+	andl	%eax,%esi
+	xorl	%ebx,%eax
+	addl	%ebp,%edx
+	shrdl	$7,%ebp,%ebp
+	xorl	%ebx,%esi
+	vpalignr	$8,%xmm3,%xmm4,%xmm7
+	movl	%edx,%edi
+	addl	48(%rsp),%ecx
+	vpaddd	%xmm6,%xmm11,%xmm9
+	xorl	%eax,%ebp
+	shldl	$5,%edx,%edx
+	vpsrldq	$4,%xmm6,%xmm8
+	addl	%esi,%ecx
+	andl	%ebp,%edi
+	vpxor	%xmm3,%xmm7,%xmm7
+	xorl	%eax,%ebp
+	addl	%edx,%ecx
+	vpxor	%xmm5,%xmm8,%xmm8
+	shrdl	$7,%edx,%edx
+	xorl	%eax,%edi
+	movl	%ecx,%esi
+	addl	52(%rsp),%ebx
+	vpxor	%xmm8,%xmm7,%xmm7
+	xorl	%ebp,%edx
+	shldl	$5,%ecx,%ecx
+	vmovdqa	%xmm9,32(%rsp)
+	addl	%edi,%ebx
+	andl	%edx,%esi
+	vpsrld	$31,%xmm7,%xmm8
+	xorl	%ebp,%edx
+	addl	%ecx,%ebx
+	shrdl	$7,%ecx,%ecx
+	xorl	%ebp,%esi
+	vpslldq	$12,%xmm7,%xmm10
+	vpaddd	%xmm7,%xmm7,%xmm7
+	movl	%ebx,%edi
+	addl	56(%rsp),%eax
+	xorl	%edx,%ecx
+	shldl	$5,%ebx,%ebx
+	vpsrld	$30,%xmm10,%xmm9
+	vpor	%xmm8,%xmm7,%xmm7
+	addl	%esi,%eax
+	andl	%ecx,%edi
+	xorl	%edx,%ecx
+	addl	%ebx,%eax
+	vpslld	$2,%xmm10,%xmm10
+	vpxor	%xmm9,%xmm7,%xmm7
+	shrdl	$7,%ebx,%ebx
+	xorl	%edx,%edi
+	movl	%eax,%esi
+	addl	60(%rsp),%ebp
+	vpxor	%xmm10,%xmm7,%xmm7
+	xorl	%ecx,%ebx
+	shldl	$5,%eax,%eax
+	addl	%edi,%ebp
+	andl	%ebx,%esi
+	xorl	%ecx,%ebx
+	addl	%eax,%ebp
+	vpalignr	$8,%xmm6,%xmm7,%xmm8
+	vpxor	%xmm4,%xmm0,%xmm0
+	shrdl	$7,%eax,%eax
+	xorl	%ecx,%esi
+	movl	%ebp,%edi
+	addl	0(%rsp),%edx
+	vpxor	%xmm1,%xmm0,%xmm0
+	xorl	%ebx,%eax
+	shldl	$5,%ebp,%ebp
+	vpaddd	%xmm7,%xmm11,%xmm9
+	addl	%esi,%edx
+	andl	%eax,%edi
+	vpxor	%xmm8,%xmm0,%xmm0
+	xorl	%ebx,%eax
+	addl	%ebp,%edx
+	shrdl	$7,%ebp,%ebp
+	xorl	%ebx,%edi
+	vpsrld	$30,%xmm0,%xmm8
+	vmovdqa	%xmm9,48(%rsp)
+	movl	%edx,%esi
+	addl	4(%rsp),%ecx
+	xorl	%eax,%ebp
+	shldl	$5,%edx,%edx
+	vpslld	$2,%xmm0,%xmm0
+	addl	%edi,%ecx
+	andl	%ebp,%esi
+	xorl	%eax,%ebp
+	addl	%edx,%ecx
+	shrdl	$7,%edx,%edx
+	xorl	%eax,%esi
+	movl	%ecx,%edi
+	addl	8(%rsp),%ebx
+	vpor	%xmm8,%xmm0,%xmm0
+	xorl	%ebp,%edx
+	shldl	$5,%ecx,%ecx
+	addl	%esi,%ebx
+	andl	%edx,%edi
+	xorl	%ebp,%edx
+	addl	%ecx,%ebx
+	addl	12(%rsp),%eax
+	xorl	%ebp,%edi
+	movl	%ebx,%esi
+	shldl	$5,%ebx,%ebx
+	addl	%edi,%eax
+	xorl	%edx,%esi
+	shrdl	$7,%ecx,%ecx
+	addl	%ebx,%eax
+	vpalignr	$8,%xmm7,%xmm0,%xmm8
+	vpxor	%xmm5,%xmm1,%xmm1
+	addl	16(%rsp),%ebp
+	xorl	%ecx,%esi
+	movl	%eax,%edi
+	shldl	$5,%eax,%eax
+	vpxor	%xmm2,%xmm1,%xmm1
+	addl	%esi,%ebp
+	xorl	%ecx,%edi
+	vpaddd	%xmm0,%xmm11,%xmm9
+	shrdl	$7,%ebx,%ebx
+	addl	%eax,%ebp
+	vpxor	%xmm8,%xmm1,%xmm1
+	addl	20(%rsp),%edx
+	xorl	%ebx,%edi
+	movl	%ebp,%esi
+	shldl	$5,%ebp,%ebp
+	vpsrld	$30,%xmm1,%xmm8
+	vmovdqa	%xmm9,0(%rsp)
+	addl	%edi,%edx
+	xorl	%ebx,%esi
+	shrdl	$7,%eax,%eax
+	addl	%ebp,%edx
+	vpslld	$2,%xmm1,%xmm1
+	addl	24(%rsp),%ecx
+	xorl	%eax,%esi
+	movl	%edx,%edi
+	shldl	$5,%edx,%edx
+	addl	%esi,%ecx
+	xorl	%eax,%edi
+	shrdl	$7,%ebp,%ebp
+	addl	%edx,%ecx
+	vpor	%xmm8,%xmm1,%xmm1
+	addl	28(%rsp),%ebx
+	xorl	%ebp,%edi
+	movl	%ecx,%esi
+	shldl	$5,%ecx,%ecx
+	addl	%edi,%ebx
+	xorl	%ebp,%esi
+	shrdl	$7,%edx,%edx
+	addl	%ecx,%ebx
+	vpalignr	$8,%xmm0,%xmm1,%xmm8
+	vpxor	%xmm6,%xmm2,%xmm2
+	addl	32(%rsp),%eax
+	xorl	%edx,%esi
+	movl	%ebx,%edi
+	shldl	$5,%ebx,%ebx
+	vpxor	%xmm3,%xmm2,%xmm2
+	addl	%esi,%eax
+	xorl	%edx,%edi
+	vpaddd	%xmm1,%xmm11,%xmm9
+	vmovdqa	0(%r14),%xmm11
+	shrdl	$7,%ecx,%ecx
+	addl	%ebx,%eax
+	vpxor	%xmm8,%xmm2,%xmm2
+	addl	36(%rsp),%ebp
+	xorl	%ecx,%edi
+	movl	%eax,%esi
+	shldl	$5,%eax,%eax
+	vpsrld	$30,%xmm2,%xmm8
+	vmovdqa	%xmm9,16(%rsp)
+	addl	%edi,%ebp
+	xorl	%ecx,%esi
+	shrdl	$7,%ebx,%ebx
+	addl	%eax,%ebp
+	vpslld	$2,%xmm2,%xmm2
+	addl	40(%rsp),%edx
+	xorl	%ebx,%esi
+	movl	%ebp,%edi
+	shldl	$5,%ebp,%ebp
+	addl	%esi,%edx
+	xorl	%ebx,%edi
+	shrdl	$7,%eax,%eax
+	addl	%ebp,%edx
+	vpor	%xmm8,%xmm2,%xmm2
+	addl	44(%rsp),%ecx
+	xorl	%eax,%edi
+	movl	%edx,%esi
+	shldl	$5,%edx,%edx
+	addl	%edi,%ecx
+	xorl	%eax,%esi
+	shrdl	$7,%ebp,%ebp
+	addl	%edx,%ecx
+	vpalignr	$8,%xmm1,%xmm2,%xmm8
+	vpxor	%xmm7,%xmm3,%xmm3
+	addl	48(%rsp),%ebx
+	xorl	%ebp,%esi
+	movl	%ecx,%edi
+	shldl	$5,%ecx,%ecx
+	vpxor	%xmm4,%xmm3,%xmm3
+	addl	%esi,%ebx
+	xorl	%ebp,%edi
+	vpaddd	%xmm2,%xmm11,%xmm9
+	shrdl	$7,%edx,%edx
+	addl	%ecx,%ebx
+	vpxor	%xmm8,%xmm3,%xmm3
+	addl	52(%rsp),%eax
+	xorl	%edx,%edi
+	movl	%ebx,%esi
+	shldl	$5,%ebx,%ebx
+	vpsrld	$30,%xmm3,%xmm8
+	vmovdqa	%xmm9,32(%rsp)
+	addl	%edi,%eax
+	xorl	%edx,%esi
+	shrdl	$7,%ecx,%ecx
+	addl	%ebx,%eax
+	vpslld	$2,%xmm3,%xmm3
+	addl	56(%rsp),%ebp
+	xorl	%ecx,%esi
+	movl	%eax,%edi
+	shldl	$5,%eax,%eax
+	addl	%esi,%ebp
+	xorl	%ecx,%edi
+	shrdl	$7,%ebx,%ebx
+	addl	%eax,%ebp
+	vpor	%xmm8,%xmm3,%xmm3
+	addl	60(%rsp),%edx
+	xorl	%ebx,%edi
+	movl	%ebp,%esi
+	shldl	$5,%ebp,%ebp
+	addl	%edi,%edx
+	xorl	%ebx,%esi
+	shrdl	$7,%eax,%eax
+	addl	%ebp,%edx
+	vpalignr	$8,%xmm2,%xmm3,%xmm8
+	vpxor	%xmm0,%xmm4,%xmm4
+	addl	0(%rsp),%ecx
+	xorl	%eax,%esi
+	movl	%edx,%edi
+	shldl	$5,%edx,%edx
+	vpxor	%xmm5,%xmm4,%xmm4
+	addl	%esi,%ecx
+	xorl	%eax,%edi
+	vpaddd	%xmm3,%xmm11,%xmm9
+	shrdl	$7,%ebp,%ebp
+	addl	%edx,%ecx
+	vpxor	%xmm8,%xmm4,%xmm4
+	addl	4(%rsp),%ebx
+	xorl	%ebp,%edi
+	movl	%ecx,%esi
+	shldl	$5,%ecx,%ecx
+	vpsrld	$30,%xmm4,%xmm8
+	vmovdqa	%xmm9,48(%rsp)
+	addl	%edi,%ebx
+	xorl	%ebp,%esi
+	shrdl	$7,%edx,%edx
+	addl	%ecx,%ebx
+	vpslld	$2,%xmm4,%xmm4
+	addl	8(%rsp),%eax
+	xorl	%edx,%esi
+	movl	%ebx,%edi
+	shldl	$5,%ebx,%ebx
+	addl	%esi,%eax
+	xorl	%edx,%edi
+	shrdl	$7,%ecx,%ecx
+	addl	%ebx,%eax
+	vpor	%xmm8,%xmm4,%xmm4
+	addl	12(%rsp),%ebp
+	xorl	%ecx,%edi
+	movl	%eax,%esi
+	shldl	$5,%eax,%eax
+	addl	%edi,%ebp
+	xorl	%ecx,%esi
+	shrdl	$7,%ebx,%ebx
+	addl	%eax,%ebp
+	vpalignr	$8,%xmm3,%xmm4,%xmm8
+	vpxor	%xmm1,%xmm5,%xmm5
+	addl	16(%rsp),%edx
+	xorl	%ebx,%esi
+	movl	%ebp,%edi
+	shldl	$5,%ebp,%ebp
+	vpxor	%xmm6,%xmm5,%xmm5
+	addl	%esi,%edx
+	xorl	%ebx,%edi
+	vpaddd	%xmm4,%xmm11,%xmm9
+	shrdl	$7,%eax,%eax
+	addl	%ebp,%edx
+	vpxor	%xmm8,%xmm5,%xmm5
+	addl	20(%rsp),%ecx
+	xorl	%eax,%edi
+	movl	%edx,%esi
+	shldl	$5,%edx,%edx
+	vpsrld	$30,%xmm5,%xmm8
+	vmovdqa	%xmm9,0(%rsp)
+	addl	%edi,%ecx
+	xorl	%eax,%esi
+	shrdl	$7,%ebp,%ebp
+	addl	%edx,%ecx
+	vpslld	$2,%xmm5,%xmm5
+	addl	24(%rsp),%ebx
+	xorl	%ebp,%esi
+	movl	%ecx,%edi
+	shldl	$5,%ecx,%ecx
+	addl	%esi,%ebx
+	xorl	%ebp,%edi
+	shrdl	$7,%edx,%edx
+	addl	%ecx,%ebx
+	vpor	%xmm8,%xmm5,%xmm5
+	addl	28(%rsp),%eax
+	shrdl	$7,%ecx,%ecx
+	movl	%ebx,%esi
+	xorl	%edx,%edi
+	shldl	$5,%ebx,%ebx
+	addl	%edi,%eax
+	xorl	%ecx,%esi
+	xorl	%edx,%ecx
+	addl	%ebx,%eax
+	vpalignr	$8,%xmm4,%xmm5,%xmm8
+	vpxor	%xmm2,%xmm6,%xmm6
+	addl	32(%rsp),%ebp
+	andl	%ecx,%esi
+	xorl	%edx,%ecx
+	shrdl	$7,%ebx,%ebx
+	vpxor	%xmm7,%xmm6,%xmm6
+	movl	%eax,%edi
+	xorl	%ecx,%esi
+	vpaddd	%xmm5,%xmm11,%xmm9
+	shldl	$5,%eax,%eax
+	addl	%esi,%ebp
+	vpxor	%xmm8,%xmm6,%xmm6
+	xorl	%ebx,%edi
+	xorl	%ecx,%ebx
+	addl	%eax,%ebp
+	addl	36(%rsp),%edx
+	vpsrld	$30,%xmm6,%xmm8
+	vmovdqa	%xmm9,16(%rsp)
+	andl	%ebx,%edi
+	xorl	%ecx,%ebx
+	shrdl	$7,%eax,%eax
+	movl	%ebp,%esi
+	vpslld	$2,%xmm6,%xmm6
+	xorl	%ebx,%edi
+	shldl	$5,%ebp,%ebp
+	addl	%edi,%edx
+	xorl	%eax,%esi
+	xorl	%ebx,%eax
+	addl	%ebp,%edx
+	addl	40(%rsp),%ecx
+	andl	%eax,%esi
+	vpor	%xmm8,%xmm6,%xmm6
+	xorl	%ebx,%eax
+	shrdl	$7,%ebp,%ebp
+	movl	%edx,%edi
+	xorl	%eax,%esi
+	shldl	$5,%edx,%edx
+	addl	%esi,%ecx
+	xorl	%ebp,%edi
+	xorl	%eax,%ebp
+	addl	%edx,%ecx
+	addl	44(%rsp),%ebx
+	andl	%ebp,%edi
+	xorl	%eax,%ebp
+	shrdl	$7,%edx,%edx
+	movl	%ecx,%esi
+	xorl	%ebp,%edi
+	shldl	$5,%ecx,%ecx
+	addl	%edi,%ebx
+	xorl	%edx,%esi
+	xorl	%ebp,%edx
+	addl	%ecx,%ebx
+	vpalignr	$8,%xmm5,%xmm6,%xmm8
+	vpxor	%xmm3,%xmm7,%xmm7
+	addl	48(%rsp),%eax
+	andl	%edx,%esi
+	xorl	%ebp,%edx
+	shrdl	$7,%ecx,%ecx
+	vpxor	%xmm0,%xmm7,%xmm7
+	movl	%ebx,%edi
+	xorl	%edx,%esi
+	vpaddd	%xmm6,%xmm11,%xmm9
+	vmovdqa	32(%r14),%xmm11
+	shldl	$5,%ebx,%ebx
+	addl	%esi,%eax
+	vpxor	%xmm8,%xmm7,%xmm7
+	xorl	%ecx,%edi
+	xorl	%edx,%ecx
+	addl	%ebx,%eax
+	addl	52(%rsp),%ebp
+	vpsrld	$30,%xmm7,%xmm8
+	vmovdqa	%xmm9,32(%rsp)
+	andl	%ecx,%edi
+	xorl	%edx,%ecx
+	shrdl	$7,%ebx,%ebx
+	movl	%eax,%esi
+	vpslld	$2,%xmm7,%xmm7
+	xorl	%ecx,%edi
+	shldl	$5,%eax,%eax
+	addl	%edi,%ebp
+	xorl	%ebx,%esi
+	xorl	%ecx,%ebx
+	addl	%eax,%ebp
+	addl	56(%rsp),%edx
+	andl	%ebx,%esi
+	vpor	%xmm8,%xmm7,%xmm7
+	xorl	%ecx,%ebx
+	shrdl	$7,%eax,%eax
+	movl	%ebp,%edi
+	xorl	%ebx,%esi
+	shldl	$5,%ebp,%ebp
+	addl	%esi,%edx
+	xorl	%eax,%edi
+	xorl	%ebx,%eax
+	addl	%ebp,%edx
+	addl	60(%rsp),%ecx
+	andl	%eax,%edi
+	xorl	%ebx,%eax
+	shrdl	$7,%ebp,%ebp
+	movl	%edx,%esi
+	xorl	%eax,%edi
+	shldl	$5,%edx,%edx
+	addl	%edi,%ecx
+	xorl	%ebp,%esi
+	xorl	%eax,%ebp
+	addl	%edx,%ecx
+	vpalignr	$8,%xmm6,%xmm7,%xmm8
+	vpxor	%xmm4,%xmm0,%xmm0
+	addl	0(%rsp),%ebx
+	andl	%ebp,%esi
+	xorl	%eax,%ebp
+	shrdl	$7,%edx,%edx
+	vpxor	%xmm1,%xmm0,%xmm0
+	movl	%ecx,%edi
+	xorl	%ebp,%esi
+	vpaddd	%xmm7,%xmm11,%xmm9
+	shldl	$5,%ecx,%ecx
+	addl	%esi,%ebx
+	vpxor	%xmm8,%xmm0,%xmm0
+	xorl	%edx,%edi
+	xorl	%ebp,%edx
+	addl	%ecx,%ebx
+	addl	4(%rsp),%eax
+	vpsrld	$30,%xmm0,%xmm8
+	vmovdqa	%xmm9,48(%rsp)
+	andl	%edx,%edi
+	xorl	%ebp,%edx
+	shrdl	$7,%ecx,%ecx
+	movl	%ebx,%esi
+	vpslld	$2,%xmm0,%xmm0
+	xorl	%edx,%edi
+	shldl	$5,%ebx,%ebx
+	addl	%edi,%eax
+	xorl	%ecx,%esi
+	xorl	%edx,%ecx
+	addl	%ebx,%eax
+	addl	8(%rsp),%ebp
+	andl	%ecx,%esi
+	vpor	%xmm8,%xmm0,%xmm0
+	xorl	%edx,%ecx
+	shrdl	$7,%ebx,%ebx
+	movl	%eax,%edi
+	xorl	%ecx,%esi
+	shldl	$5,%eax,%eax
+	addl	%esi,%ebp
+	xorl	%ebx,%edi
+	xorl	%ecx,%ebx
+	addl	%eax,%ebp
+	addl	12(%rsp),%edx
+	andl	%ebx,%edi
+	xorl	%ecx,%ebx
+	shrdl	$7,%eax,%eax
+	movl	%ebp,%esi
+	xorl	%ebx,%edi
+	shldl	$5,%ebp,%ebp
+	addl	%edi,%edx
+	xorl	%eax,%esi
+	xorl	%ebx,%eax
+	addl	%ebp,%edx
+	vpalignr	$8,%xmm7,%xmm0,%xmm8
+	vpxor	%xmm5,%xmm1,%xmm1
+	addl	16(%rsp),%ecx
+	andl	%eax,%esi
+	xorl	%ebx,%eax
+	shrdl	$7,%ebp,%ebp
+	vpxor	%xmm2,%xmm1,%xmm1
+	movl	%edx,%edi
+	xorl	%eax,%esi
+	vpaddd	%xmm0,%xmm11,%xmm9
+	shldl	$5,%edx,%edx
+	addl	%esi,%ecx
+	vpxor	%xmm8,%xmm1,%xmm1
+	xorl	%ebp,%edi
+	xorl	%eax,%ebp
+	addl	%edx,%ecx
+	addl	20(%rsp),%ebx
+	vpsrld	$30,%xmm1,%xmm8
+	vmovdqa	%xmm9,0(%rsp)
+	andl	%ebp,%edi
+	xorl	%eax,%ebp
+	shrdl	$7,%edx,%edx
+	movl	%ecx,%esi
+	vpslld	$2,%xmm1,%xmm1
+	xorl	%ebp,%edi
+	shldl	$5,%ecx,%ecx
+	addl	%edi,%ebx
+	xorl	%edx,%esi
+	xorl	%ebp,%edx
+	addl	%ecx,%ebx
+	addl	24(%rsp),%eax
+	andl	%edx,%esi
+	vpor	%xmm8,%xmm1,%xmm1
+	xorl	%ebp,%edx
+	shrdl	$7,%ecx,%ecx
+	movl	%ebx,%edi
+	xorl	%edx,%esi
+	shldl	$5,%ebx,%ebx
+	addl	%esi,%eax
+	xorl	%ecx,%edi
+	xorl	%edx,%ecx
+	addl	%ebx,%eax
+	addl	28(%rsp),%ebp
+	andl	%ecx,%edi
+	xorl	%edx,%ecx
+	shrdl	$7,%ebx,%ebx
+	movl	%eax,%esi
+	xorl	%ecx,%edi
+	shldl	$5,%eax,%eax
+	addl	%edi,%ebp
+	xorl	%ebx,%esi
+	xorl	%ecx,%ebx
+	addl	%eax,%ebp
+	vpalignr	$8,%xmm0,%xmm1,%xmm8
+	vpxor	%xmm6,%xmm2,%xmm2
+	addl	32(%rsp),%edx
+	andl	%ebx,%esi
+	xorl	%ecx,%ebx
+	shrdl	$7,%eax,%eax
+	vpxor	%xmm3,%xmm2,%xmm2
+	movl	%ebp,%edi
+	xorl	%ebx,%esi
+	vpaddd	%xmm1,%xmm11,%xmm9
+	shldl	$5,%ebp,%ebp
+	addl	%esi,%edx
+	vpxor	%xmm8,%xmm2,%xmm2
+	xorl	%eax,%edi
+	xorl	%ebx,%eax
+	addl	%ebp,%edx
+	addl	36(%rsp),%ecx
+	vpsrld	$30,%xmm2,%xmm8
+	vmovdqa	%xmm9,16(%rsp)
+	andl	%eax,%edi
+	xorl	%ebx,%eax
+	shrdl	$7,%ebp,%ebp
+	movl	%edx,%esi
+	vpslld	$2,%xmm2,%xmm2
+	xorl	%eax,%edi
+	shldl	$5,%edx,%edx
+	addl	%edi,%ecx
+	xorl	%ebp,%esi
+	xorl	%eax,%ebp
+	addl	%edx,%ecx
+	addl	40(%rsp),%ebx
+	andl	%ebp,%esi
+	vpor	%xmm8,%xmm2,%xmm2
+	xorl	%eax,%ebp
+	shrdl	$7,%edx,%edx
+	movl	%ecx,%edi
+	xorl	%ebp,%esi
+	shldl	$5,%ecx,%ecx
+	addl	%esi,%ebx
+	xorl	%edx,%edi
+	xorl	%ebp,%edx
+	addl	%ecx,%ebx
+	addl	44(%rsp),%eax
+	andl	%edx,%edi
+	xorl	%ebp,%edx
+	shrdl	$7,%ecx,%ecx
+	movl	%ebx,%esi
+	xorl	%edx,%edi
+	shldl	$5,%ebx,%ebx
+	addl	%edi,%eax
+	xorl	%edx,%esi
+	addl	%ebx,%eax
+	vpalignr	$8,%xmm1,%xmm2,%xmm8
+	vpxor	%xmm7,%xmm3,%xmm3
+	addl	48(%rsp),%ebp
+	xorl	%ecx,%esi
+	movl	%eax,%edi
+	shldl	$5,%eax,%eax
+	vpxor	%xmm4,%xmm3,%xmm3
+	addl	%esi,%ebp
+	xorl	%ecx,%edi
+	vpaddd	%xmm2,%xmm11,%xmm9
+	shrdl	$7,%ebx,%ebx
+	addl	%eax,%ebp
+	vpxor	%xmm8,%xmm3,%xmm3
+	addl	52(%rsp),%edx
+	xorl	%ebx,%edi
+	movl	%ebp,%esi
+	shldl	$5,%ebp,%ebp
+	vpsrld	$30,%xmm3,%xmm8
+	vmovdqa	%xmm9,32(%rsp)
+	addl	%edi,%edx
+	xorl	%ebx,%esi
+	shrdl	$7,%eax,%eax
+	addl	%ebp,%edx
+	vpslld	$2,%xmm3,%xmm3
+	addl	56(%rsp),%ecx
+	xorl	%eax,%esi
+	movl	%edx,%edi
+	shldl	$5,%edx,%edx
+	addl	%esi,%ecx
+	xorl	%eax,%edi
+	shrdl	$7,%ebp,%ebp
+	addl	%edx,%ecx
+	vpor	%xmm8,%xmm3,%xmm3
+	addl	60(%rsp),%ebx
+	xorl	%ebp,%edi
+	movl	%ecx,%esi
+	shldl	$5,%ecx,%ecx
+	addl	%edi,%ebx
+	xorl	%ebp,%esi
+	shrdl	$7,%edx,%edx
+	addl	%ecx,%ebx
+	addl	0(%rsp),%eax
+	vpaddd	%xmm3,%xmm11,%xmm9
+	xorl	%edx,%esi
+	movl	%ebx,%edi
+	shldl	$5,%ebx,%ebx
+	addl	%esi,%eax
+	vmovdqa	%xmm9,48(%rsp)
+	xorl	%edx,%edi
+	shrdl	$7,%ecx,%ecx
+	addl	%ebx,%eax
+	addl	4(%rsp),%ebp
+	xorl	%ecx,%edi
+	movl	%eax,%esi
+	shldl	$5,%eax,%eax
+	addl	%edi,%ebp
+	xorl	%ecx,%esi
+	shrdl	$7,%ebx,%ebx
+	addl	%eax,%ebp
+	addl	8(%rsp),%edx
+	xorl	%ebx,%esi
+	movl	%ebp,%edi
+	shldl	$5,%ebp,%ebp
+	addl	%esi,%edx
+	xorl	%ebx,%edi
+	shrdl	$7,%eax,%eax
+	addl	%ebp,%edx
+	addl	12(%rsp),%ecx
+	xorl	%eax,%edi
+	movl	%edx,%esi
+	shldl	$5,%edx,%edx
+	addl	%edi,%ecx
+	xorl	%eax,%esi
+	shrdl	$7,%ebp,%ebp
+	addl	%edx,%ecx
+	cmpq	%r10,%r9
+	je	L$done_avx
+	vmovdqa	64(%r14),%xmm6
+	vmovdqa	-64(%r14),%xmm11
+	vmovdqu	0(%r9),%xmm0
+	vmovdqu	16(%r9),%xmm1
+	vmovdqu	32(%r9),%xmm2
+	vmovdqu	48(%r9),%xmm3
+	vpshufb	%xmm6,%xmm0,%xmm0
+	addq	$64,%r9
+	addl	16(%rsp),%ebx
+	xorl	%ebp,%esi
+	vpshufb	%xmm6,%xmm1,%xmm1
+	movl	%ecx,%edi
+	shldl	$5,%ecx,%ecx
+	vpaddd	%xmm11,%xmm0,%xmm4
+	addl	%esi,%ebx
+	xorl	%ebp,%edi
+	shrdl	$7,%edx,%edx
+	addl	%ecx,%ebx
+	vmovdqa	%xmm4,0(%rsp)
+	addl	20(%rsp),%eax
+	xorl	%edx,%edi
+	movl	%ebx,%esi
+	shldl	$5,%ebx,%ebx
+	addl	%edi,%eax
+	xorl	%edx,%esi
+	shrdl	$7,%ecx,%ecx
+	addl	%ebx,%eax
+	addl	24(%rsp),%ebp
+	xorl	%ecx,%esi
+	movl	%eax,%edi
+	shldl	$5,%eax,%eax
+	addl	%esi,%ebp
+	xorl	%ecx,%edi
+	shrdl	$7,%ebx,%ebx
+	addl	%eax,%ebp
+	addl	28(%rsp),%edx
+	xorl	%ebx,%edi
+	movl	%ebp,%esi
+	shldl	$5,%ebp,%ebp
+	addl	%edi,%edx
+	xorl	%ebx,%esi
+	shrdl	$7,%eax,%eax
+	addl	%ebp,%edx
+	addl	32(%rsp),%ecx
+	xorl	%eax,%esi
+	vpshufb	%xmm6,%xmm2,%xmm2
+	movl	%edx,%edi
+	shldl	$5,%edx,%edx
+	vpaddd	%xmm11,%xmm1,%xmm5
+	addl	%esi,%ecx
+	xorl	%eax,%edi
+	shrdl	$7,%ebp,%ebp
+	addl	%edx,%ecx
+	vmovdqa	%xmm5,16(%rsp)
+	addl	36(%rsp),%ebx
+	xorl	%ebp,%edi
+	movl	%ecx,%esi
+	shldl	$5,%ecx,%ecx
+	addl	%edi,%ebx
+	xorl	%ebp,%esi
+	shrdl	$7,%edx,%edx
+	addl	%ecx,%ebx
+	addl	40(%rsp),%eax
+	xorl	%edx,%esi
+	movl	%ebx,%edi
+	shldl	$5,%ebx,%ebx
+	addl	%esi,%eax
+	xorl	%edx,%edi
+	shrdl	$7,%ecx,%ecx
+	addl	%ebx,%eax
+	addl	44(%rsp),%ebp
+	xorl	%ecx,%edi
+	movl	%eax,%esi
+	shldl	$5,%eax,%eax
+	addl	%edi,%ebp
+	xorl	%ecx,%esi
+	shrdl	$7,%ebx,%ebx
+	addl	%eax,%ebp
+	addl	48(%rsp),%edx
+	xorl	%ebx,%esi
+	vpshufb	%xmm6,%xmm3,%xmm3
+	movl	%ebp,%edi
+	shldl	$5,%ebp,%ebp
+	vpaddd	%xmm11,%xmm2,%xmm6
+	addl	%esi,%edx
+	xorl	%ebx,%edi
+	shrdl	$7,%eax,%eax
+	addl	%ebp,%edx
+	vmovdqa	%xmm6,32(%rsp)
+	addl	52(%rsp),%ecx
+	xorl	%eax,%edi
+	movl	%edx,%esi
+	shldl	$5,%edx,%edx
+	addl	%edi,%ecx
+	xorl	%eax,%esi
+	shrdl	$7,%ebp,%ebp
+	addl	%edx,%ecx
+	addl	56(%rsp),%ebx
+	xorl	%ebp,%esi
+	movl	%ecx,%edi
+	shldl	$5,%ecx,%ecx
+	addl	%esi,%ebx
+	xorl	%ebp,%edi
+	shrdl	$7,%edx,%edx
+	addl	%ecx,%ebx
+	addl	60(%rsp),%eax
+	xorl	%edx,%edi
+	movl	%ebx,%esi
+	shldl	$5,%ebx,%ebx
+	addl	%edi,%eax
+	shrdl	$7,%ecx,%ecx
+	addl	%ebx,%eax
+	addl	0(%r8),%eax
+	addl	4(%r8),%esi
+	addl	8(%r8),%ecx
+	addl	12(%r8),%edx
+	movl	%eax,0(%r8)
+	addl	16(%r8),%ebp
+	movl	%esi,4(%r8)
+	movl	%esi,%ebx
+	movl	%ecx,8(%r8)
+	movl	%ecx,%edi
+	movl	%edx,12(%r8)
+	xorl	%edx,%edi
+	movl	%ebp,16(%r8)
+	andl	%edi,%esi
+	jmp	L$oop_avx
+
+.p2align	4
+L$done_avx:
+	addl	16(%rsp),%ebx
+	xorl	%ebp,%esi
+	movl	%ecx,%edi
+	shldl	$5,%ecx,%ecx
+	addl	%esi,%ebx
+	xorl	%ebp,%edi
+	shrdl	$7,%edx,%edx
+	addl	%ecx,%ebx
+	addl	20(%rsp),%eax
+	xorl	%edx,%edi
+	movl	%ebx,%esi
+	shldl	$5,%ebx,%ebx
+	addl	%edi,%eax
+	xorl	%edx,%esi
+	shrdl	$7,%ecx,%ecx
+	addl	%ebx,%eax
+	addl	24(%rsp),%ebp
+	xorl	%ecx,%esi
+	movl	%eax,%edi
+	shldl	$5,%eax,%eax
+	addl	%esi,%ebp
+	xorl	%ecx,%edi
+	shrdl	$7,%ebx,%ebx
+	addl	%eax,%ebp
+	addl	28(%rsp),%edx
+	xorl	%ebx,%edi
+	movl	%ebp,%esi
+	shldl	$5,%ebp,%ebp
+	addl	%edi,%edx
+	xorl	%ebx,%esi
+	shrdl	$7,%eax,%eax
+	addl	%ebp,%edx
+	addl	32(%rsp),%ecx
+	xorl	%eax,%esi
+	movl	%edx,%edi
+	shldl	$5,%edx,%edx
+	addl	%esi,%ecx
+	xorl	%eax,%edi
+	shrdl	$7,%ebp,%ebp
+	addl	%edx,%ecx
+	addl	36(%rsp),%ebx
+	xorl	%ebp,%edi
+	movl	%ecx,%esi
+	shldl	$5,%ecx,%ecx
+	addl	%edi,%ebx
+	xorl	%ebp,%esi
+	shrdl	$7,%edx,%edx
+	addl	%ecx,%ebx
+	addl	40(%rsp),%eax
+	xorl	%edx,%esi
+	movl	%ebx,%edi
+	shldl	$5,%ebx,%ebx
+	addl	%esi,%eax
+	xorl	%edx,%edi
+	shrdl	$7,%ecx,%ecx
+	addl	%ebx,%eax
+	addl	44(%rsp),%ebp
+	xorl	%ecx,%edi
+	movl	%eax,%esi
+	shldl	$5,%eax,%eax
+	addl	%edi,%ebp
+	xorl	%ecx,%esi
+	shrdl	$7,%ebx,%ebx
+	addl	%eax,%ebp
+	addl	48(%rsp),%edx
+	xorl	%ebx,%esi
+	movl	%ebp,%edi
+	shldl	$5,%ebp,%ebp
+	addl	%esi,%edx
+	xorl	%ebx,%edi
+	shrdl	$7,%eax,%eax
+	addl	%ebp,%edx
+	addl	52(%rsp),%ecx
+	xorl	%eax,%edi
+	movl	%edx,%esi
+	shldl	$5,%edx,%edx
+	addl	%edi,%ecx
+	xorl	%eax,%esi
+	shrdl	$7,%ebp,%ebp
+	addl	%edx,%ecx
+	addl	56(%rsp),%ebx
+	xorl	%ebp,%esi
+	movl	%ecx,%edi
+	shldl	$5,%ecx,%ecx
+	addl	%esi,%ebx
+	xorl	%ebp,%edi
+	shrdl	$7,%edx,%edx
+	addl	%ecx,%ebx
+	addl	60(%rsp),%eax
+	xorl	%edx,%edi
+	movl	%ebx,%esi
+	shldl	$5,%ebx,%ebx
+	addl	%edi,%eax
+	shrdl	$7,%ecx,%ecx
+	addl	%ebx,%eax
+	vzeroupper
+
+	addl	0(%r8),%eax
+	addl	4(%r8),%esi
+	addl	8(%r8),%ecx
+	movl	%eax,0(%r8)
+	addl	12(%r8),%edx
+	movl	%esi,4(%r8)
+	addl	16(%r8),%ebp
+	movl	%ecx,8(%r8)
+	movl	%edx,12(%r8)
+	movl	%ebp,16(%r8)
+	movq	-40(%r11),%r14
+	movq	-32(%r11),%r13
+	movq	-24(%r11),%r12
+	movq	-16(%r11),%rbp
+	movq	-8(%r11),%rbx
+	leaq	(%r11),%rsp
+L$epilogue_avx:
+	.byte	0xf3,0xc3
+
+.p2align	6
+K_XX_XX:
+.long	0x5a827999,0x5a827999,0x5a827999,0x5a827999
+.long	0x5a827999,0x5a827999,0x5a827999,0x5a827999
+.long	0x6ed9eba1,0x6ed9eba1,0x6ed9eba1,0x6ed9eba1
+.long	0x6ed9eba1,0x6ed9eba1,0x6ed9eba1,0x6ed9eba1
+.long	0x8f1bbcdc,0x8f1bbcdc,0x8f1bbcdc,0x8f1bbcdc
+.long	0x8f1bbcdc,0x8f1bbcdc,0x8f1bbcdc,0x8f1bbcdc
+.long	0xca62c1d6,0xca62c1d6,0xca62c1d6,0xca62c1d6
+.long	0xca62c1d6,0xca62c1d6,0xca62c1d6,0xca62c1d6
+.long	0x00010203,0x04050607,0x08090a0b,0x0c0d0e0f
+.long	0x00010203,0x04050607,0x08090a0b,0x0c0d0e0f
+.byte	0xf,0xe,0xd,0xc,0xb,0xa,0x9,0x8,0x7,0x6,0x5,0x4,0x3,0x2,0x1,0x0
+.byte	83,72,65,49,32,98,108,111,99,107,32,116,114,97,110,115,102,111,114,109,32,102,111,114,32,120,56,54,95,54,52,44,32,67,82,89,80,84,79,71,65,77,83,32,98,121,32,60,97,112,112,114,111,64,111,112,101,110,115,115,108,46,111,114,103,62,0
+.p2align	6
+#endif
diff --git a/third_party/boringssl/mac-x86_64/crypto/fipsmodule/sha256-x86_64.S b/third_party/boringssl/mac-x86_64/crypto/fipsmodule/sha256-x86_64.S
new file mode 100644
index 0000000..7699b541
--- /dev/null
+++ b/third_party/boringssl/mac-x86_64/crypto/fipsmodule/sha256-x86_64.S
@@ -0,0 +1,3907 @@
+#if defined(__x86_64__) && !defined(OPENSSL_NO_ASM)
+.text	
+
+
+.globl	_sha256_block_data_order
+.private_extern _sha256_block_data_order
+
+.p2align	4
+_sha256_block_data_order:
+	leaq	_OPENSSL_ia32cap_addr(%rip),%r11
+	movq	(%r11),%r11
+	movl	0(%r11),%r9d
+	movl	4(%r11),%r10d
+	movl	8(%r11),%r11d
+	andl	$1073741824,%r9d
+	andl	$268435968,%r10d
+	orl	%r9d,%r10d
+	cmpl	$1342177792,%r10d
+	je	L$avx_shortcut
+	testl	$512,%r10d
+	jnz	L$ssse3_shortcut
+	movq	%rsp,%rax
+	pushq	%rbx
+	pushq	%rbp
+	pushq	%r12
+	pushq	%r13
+	pushq	%r14
+	pushq	%r15
+	shlq	$4,%rdx
+	subq	$64+32,%rsp
+	leaq	(%rsi,%rdx,4),%rdx
+	andq	$-64,%rsp
+	movq	%rdi,64+0(%rsp)
+	movq	%rsi,64+8(%rsp)
+	movq	%rdx,64+16(%rsp)
+	movq	%rax,64+24(%rsp)
+L$prologue:
+
+	movl	0(%rdi),%eax
+	movl	4(%rdi),%ebx
+	movl	8(%rdi),%ecx
+	movl	12(%rdi),%edx
+	movl	16(%rdi),%r8d
+	movl	20(%rdi),%r9d
+	movl	24(%rdi),%r10d
+	movl	28(%rdi),%r11d
+
+	jmp	L$loop
+
+.p2align	4
+L$loop:
+	movl	%ebx,%edi
+	leaq	K256(%rip),%rbp
+	xorl	%ecx,%edi
+	movl	0(%rsi),%r12d
+	movl	%r8d,%r13d
+	movl	%eax,%r14d
+	bswapl	%r12d
+	rorl	$14,%r13d
+	movl	%r9d,%r15d
+
+	xorl	%r8d,%r13d
+	rorl	$9,%r14d
+	xorl	%r10d,%r15d
+
+	movl	%r12d,0(%rsp)
+	xorl	%eax,%r14d
+	andl	%r8d,%r15d
+
+	rorl	$5,%r13d
+	addl	%r11d,%r12d
+	xorl	%r10d,%r15d
+
+	rorl	$11,%r14d
+	xorl	%r8d,%r13d
+	addl	%r15d,%r12d
+
+	movl	%eax,%r15d
+	addl	(%rbp),%r12d
+	xorl	%eax,%r14d
+
+	xorl	%ebx,%r15d
+	rorl	$6,%r13d
+	movl	%ebx,%r11d
+
+	andl	%r15d,%edi
+	rorl	$2,%r14d
+	addl	%r13d,%r12d
+
+	xorl	%edi,%r11d
+	addl	%r12d,%edx
+	addl	%r12d,%r11d
+
+	leaq	4(%rbp),%rbp
+	addl	%r14d,%r11d
+	movl	4(%rsi),%r12d
+	movl	%edx,%r13d
+	movl	%r11d,%r14d
+	bswapl	%r12d
+	rorl	$14,%r13d
+	movl	%r8d,%edi
+
+	xorl	%edx,%r13d
+	rorl	$9,%r14d
+	xorl	%r9d,%edi
+
+	movl	%r12d,4(%rsp)
+	xorl	%r11d,%r14d
+	andl	%edx,%edi
+
+	rorl	$5,%r13d
+	addl	%r10d,%r12d
+	xorl	%r9d,%edi
+
+	rorl	$11,%r14d
+	xorl	%edx,%r13d
+	addl	%edi,%r12d
+
+	movl	%r11d,%edi
+	addl	(%rbp),%r12d
+	xorl	%r11d,%r14d
+
+	xorl	%eax,%edi
+	rorl	$6,%r13d
+	movl	%eax,%r10d
+
+	andl	%edi,%r15d
+	rorl	$2,%r14d
+	addl	%r13d,%r12d
+
+	xorl	%r15d,%r10d
+	addl	%r12d,%ecx
+	addl	%r12d,%r10d
+
+	leaq	4(%rbp),%rbp
+	addl	%r14d,%r10d
+	movl	8(%rsi),%r12d
+	movl	%ecx,%r13d
+	movl	%r10d,%r14d
+	bswapl	%r12d
+	rorl	$14,%r13d
+	movl	%edx,%r15d
+
+	xorl	%ecx,%r13d
+	rorl	$9,%r14d
+	xorl	%r8d,%r15d
+
+	movl	%r12d,8(%rsp)
+	xorl	%r10d,%r14d
+	andl	%ecx,%r15d
+
+	rorl	$5,%r13d
+	addl	%r9d,%r12d
+	xorl	%r8d,%r15d
+
+	rorl	$11,%r14d
+	xorl	%ecx,%r13d
+	addl	%r15d,%r12d
+
+	movl	%r10d,%r15d
+	addl	(%rbp),%r12d
+	xorl	%r10d,%r14d
+
+	xorl	%r11d,%r15d
+	rorl	$6,%r13d
+	movl	%r11d,%r9d
+
+	andl	%r15d,%edi
+	rorl	$2,%r14d
+	addl	%r13d,%r12d
+
+	xorl	%edi,%r9d
+	addl	%r12d,%ebx
+	addl	%r12d,%r9d
+
+	leaq	4(%rbp),%rbp
+	addl	%r14d,%r9d
+	movl	12(%rsi),%r12d
+	movl	%ebx,%r13d
+	movl	%r9d,%r14d
+	bswapl	%r12d
+	rorl	$14,%r13d
+	movl	%ecx,%edi
+
+	xorl	%ebx,%r13d
+	rorl	$9,%r14d
+	xorl	%edx,%edi
+
+	movl	%r12d,12(%rsp)
+	xorl	%r9d,%r14d
+	andl	%ebx,%edi
+
+	rorl	$5,%r13d
+	addl	%r8d,%r12d
+	xorl	%edx,%edi
+
+	rorl	$11,%r14d
+	xorl	%ebx,%r13d
+	addl	%edi,%r12d
+
+	movl	%r9d,%edi
+	addl	(%rbp),%r12d
+	xorl	%r9d,%r14d
+
+	xorl	%r10d,%edi
+	rorl	$6,%r13d
+	movl	%r10d,%r8d
+
+	andl	%edi,%r15d
+	rorl	$2,%r14d
+	addl	%r13d,%r12d
+
+	xorl	%r15d,%r8d
+	addl	%r12d,%eax
+	addl	%r12d,%r8d
+
+	leaq	20(%rbp),%rbp
+	addl	%r14d,%r8d
+	movl	16(%rsi),%r12d
+	movl	%eax,%r13d
+	movl	%r8d,%r14d
+	bswapl	%r12d
+	rorl	$14,%r13d
+	movl	%ebx,%r15d
+
+	xorl	%eax,%r13d
+	rorl	$9,%r14d
+	xorl	%ecx,%r15d
+
+	movl	%r12d,16(%rsp)
+	xorl	%r8d,%r14d
+	andl	%eax,%r15d
+
+	rorl	$5,%r13d
+	addl	%edx,%r12d
+	xorl	%ecx,%r15d
+
+	rorl	$11,%r14d
+	xorl	%eax,%r13d
+	addl	%r15d,%r12d
+
+	movl	%r8d,%r15d
+	addl	(%rbp),%r12d
+	xorl	%r8d,%r14d
+
+	xorl	%r9d,%r15d
+	rorl	$6,%r13d
+	movl	%r9d,%edx
+
+	andl	%r15d,%edi
+	rorl	$2,%r14d
+	addl	%r13d,%r12d
+
+	xorl	%edi,%edx
+	addl	%r12d,%r11d
+	addl	%r12d,%edx
+
+	leaq	4(%rbp),%rbp
+	addl	%r14d,%edx
+	movl	20(%rsi),%r12d
+	movl	%r11d,%r13d
+	movl	%edx,%r14d
+	bswapl	%r12d
+	rorl	$14,%r13d
+	movl	%eax,%edi
+
+	xorl	%r11d,%r13d
+	rorl	$9,%r14d
+	xorl	%ebx,%edi
+
+	movl	%r12d,20(%rsp)
+	xorl	%edx,%r14d
+	andl	%r11d,%edi
+
+	rorl	$5,%r13d
+	addl	%ecx,%r12d
+	xorl	%ebx,%edi
+
+	rorl	$11,%r14d
+	xorl	%r11d,%r13d
+	addl	%edi,%r12d
+
+	movl	%edx,%edi
+	addl	(%rbp),%r12d
+	xorl	%edx,%r14d
+
+	xorl	%r8d,%edi
+	rorl	$6,%r13d
+	movl	%r8d,%ecx
+
+	andl	%edi,%r15d
+	rorl	$2,%r14d
+	addl	%r13d,%r12d
+
+	xorl	%r15d,%ecx
+	addl	%r12d,%r10d
+	addl	%r12d,%ecx
+
+	leaq	4(%rbp),%rbp
+	addl	%r14d,%ecx
+	movl	24(%rsi),%r12d
+	movl	%r10d,%r13d
+	movl	%ecx,%r14d
+	bswapl	%r12d
+	rorl	$14,%r13d
+	movl	%r11d,%r15d
+
+	xorl	%r10d,%r13d
+	rorl	$9,%r14d
+	xorl	%eax,%r15d
+
+	movl	%r12d,24(%rsp)
+	xorl	%ecx,%r14d
+	andl	%r10d,%r15d
+
+	rorl	$5,%r13d
+	addl	%ebx,%r12d
+	xorl	%eax,%r15d
+
+	rorl	$11,%r14d
+	xorl	%r10d,%r13d
+	addl	%r15d,%r12d
+
+	movl	%ecx,%r15d
+	addl	(%rbp),%r12d
+	xorl	%ecx,%r14d
+
+	xorl	%edx,%r15d
+	rorl	$6,%r13d
+	movl	%edx,%ebx
+
+	andl	%r15d,%edi
+	rorl	$2,%r14d
+	addl	%r13d,%r12d
+
+	xorl	%edi,%ebx
+	addl	%r12d,%r9d
+	addl	%r12d,%ebx
+
+	leaq	4(%rbp),%rbp
+	addl	%r14d,%ebx
+	movl	28(%rsi),%r12d
+	movl	%r9d,%r13d
+	movl	%ebx,%r14d
+	bswapl	%r12d
+	rorl	$14,%r13d
+	movl	%r10d,%edi
+
+	xorl	%r9d,%r13d
+	rorl	$9,%r14d
+	xorl	%r11d,%edi
+
+	movl	%r12d,28(%rsp)
+	xorl	%ebx,%r14d
+	andl	%r9d,%edi
+
+	rorl	$5,%r13d
+	addl	%eax,%r12d
+	xorl	%r11d,%edi
+
+	rorl	$11,%r14d
+	xorl	%r9d,%r13d
+	addl	%edi,%r12d
+
+	movl	%ebx,%edi
+	addl	(%rbp),%r12d
+	xorl	%ebx,%r14d
+
+	xorl	%ecx,%edi
+	rorl	$6,%r13d
+	movl	%ecx,%eax
+
+	andl	%edi,%r15d
+	rorl	$2,%r14d
+	addl	%r13d,%r12d
+
+	xorl	%r15d,%eax
+	addl	%r12d,%r8d
+	addl	%r12d,%eax
+
+	leaq	20(%rbp),%rbp
+	addl	%r14d,%eax
+	movl	32(%rsi),%r12d
+	movl	%r8d,%r13d
+	movl	%eax,%r14d
+	bswapl	%r12d
+	rorl	$14,%r13d
+	movl	%r9d,%r15d
+
+	xorl	%r8d,%r13d
+	rorl	$9,%r14d
+	xorl	%r10d,%r15d
+
+	movl	%r12d,32(%rsp)
+	xorl	%eax,%r14d
+	andl	%r8d,%r15d
+
+	rorl	$5,%r13d
+	addl	%r11d,%r12d
+	xorl	%r10d,%r15d
+
+	rorl	$11,%r14d
+	xorl	%r8d,%r13d
+	addl	%r15d,%r12d
+
+	movl	%eax,%r15d
+	addl	(%rbp),%r12d
+	xorl	%eax,%r14d
+
+	xorl	%ebx,%r15d
+	rorl	$6,%r13d
+	movl	%ebx,%r11d
+
+	andl	%r15d,%edi
+	rorl	$2,%r14d
+	addl	%r13d,%r12d
+
+	xorl	%edi,%r11d
+	addl	%r12d,%edx
+	addl	%r12d,%r11d
+
+	leaq	4(%rbp),%rbp
+	addl	%r14d,%r11d
+	movl	36(%rsi),%r12d
+	movl	%edx,%r13d
+	movl	%r11d,%r14d
+	bswapl	%r12d
+	rorl	$14,%r13d
+	movl	%r8d,%edi
+
+	xorl	%edx,%r13d
+	rorl	$9,%r14d
+	xorl	%r9d,%edi
+
+	movl	%r12d,36(%rsp)
+	xorl	%r11d,%r14d
+	andl	%edx,%edi
+
+	rorl	$5,%r13d
+	addl	%r10d,%r12d
+	xorl	%r9d,%edi
+
+	rorl	$11,%r14d
+	xorl	%edx,%r13d
+	addl	%edi,%r12d
+
+	movl	%r11d,%edi
+	addl	(%rbp),%r12d
+	xorl	%r11d,%r14d
+
+	xorl	%eax,%edi
+	rorl	$6,%r13d
+	movl	%eax,%r10d
+
+	andl	%edi,%r15d
+	rorl	$2,%r14d
+	addl	%r13d,%r12d
+
+	xorl	%r15d,%r10d
+	addl	%r12d,%ecx
+	addl	%r12d,%r10d
+
+	leaq	4(%rbp),%rbp
+	addl	%r14d,%r10d
+	movl	40(%rsi),%r12d
+	movl	%ecx,%r13d
+	movl	%r10d,%r14d
+	bswapl	%r12d
+	rorl	$14,%r13d
+	movl	%edx,%r15d
+
+	xorl	%ecx,%r13d
+	rorl	$9,%r14d
+	xorl	%r8d,%r15d
+
+	movl	%r12d,40(%rsp)
+	xorl	%r10d,%r14d
+	andl	%ecx,%r15d
+
+	rorl	$5,%r13d
+	addl	%r9d,%r12d
+	xorl	%r8d,%r15d
+
+	rorl	$11,%r14d
+	xorl	%ecx,%r13d
+	addl	%r15d,%r12d
+
+	movl	%r10d,%r15d
+	addl	(%rbp),%r12d
+	xorl	%r10d,%r14d
+
+	xorl	%r11d,%r15d
+	rorl	$6,%r13d
+	movl	%r11d,%r9d
+
+	andl	%r15d,%edi
+	rorl	$2,%r14d
+	addl	%r13d,%r12d
+
+	xorl	%edi,%r9d
+	addl	%r12d,%ebx
+	addl	%r12d,%r9d
+
+	leaq	4(%rbp),%rbp
+	addl	%r14d,%r9d
+	movl	44(%rsi),%r12d
+	movl	%ebx,%r13d
+	movl	%r9d,%r14d
+	bswapl	%r12d
+	rorl	$14,%r13d
+	movl	%ecx,%edi
+
+	xorl	%ebx,%r13d
+	rorl	$9,%r14d
+	xorl	%edx,%edi
+
+	movl	%r12d,44(%rsp)
+	xorl	%r9d,%r14d
+	andl	%ebx,%edi
+
+	rorl	$5,%r13d
+	addl	%r8d,%r12d
+	xorl	%edx,%edi
+
+	rorl	$11,%r14d
+	xorl	%ebx,%r13d
+	addl	%edi,%r12d
+
+	movl	%r9d,%edi
+	addl	(%rbp),%r12d
+	xorl	%r9d,%r14d
+
+	xorl	%r10d,%edi
+	rorl	$6,%r13d
+	movl	%r10d,%r8d
+
+	andl	%edi,%r15d
+	rorl	$2,%r14d
+	addl	%r13d,%r12d
+
+	xorl	%r15d,%r8d
+	addl	%r12d,%eax
+	addl	%r12d,%r8d
+
+	leaq	20(%rbp),%rbp
+	addl	%r14d,%r8d
+	movl	48(%rsi),%r12d
+	movl	%eax,%r13d
+	movl	%r8d,%r14d
+	bswapl	%r12d
+	rorl	$14,%r13d
+	movl	%ebx,%r15d
+
+	xorl	%eax,%r13d
+	rorl	$9,%r14d
+	xorl	%ecx,%r15d
+
+	movl	%r12d,48(%rsp)
+	xorl	%r8d,%r14d
+	andl	%eax,%r15d
+
+	rorl	$5,%r13d
+	addl	%edx,%r12d
+	xorl	%ecx,%r15d
+
+	rorl	$11,%r14d
+	xorl	%eax,%r13d
+	addl	%r15d,%r12d
+
+	movl	%r8d,%r15d
+	addl	(%rbp),%r12d
+	xorl	%r8d,%r14d
+
+	xorl	%r9d,%r15d
+	rorl	$6,%r13d
+	movl	%r9d,%edx
+
+	andl	%r15d,%edi
+	rorl	$2,%r14d
+	addl	%r13d,%r12d
+
+	xorl	%edi,%edx
+	addl	%r12d,%r11d
+	addl	%r12d,%edx
+
+	leaq	4(%rbp),%rbp
+	addl	%r14d,%edx
+	movl	52(%rsi),%r12d
+	movl	%r11d,%r13d
+	movl	%edx,%r14d
+	bswapl	%r12d
+	rorl	$14,%r13d
+	movl	%eax,%edi
+
+	xorl	%r11d,%r13d
+	rorl	$9,%r14d
+	xorl	%ebx,%edi
+
+	movl	%r12d,52(%rsp)
+	xorl	%edx,%r14d
+	andl	%r11d,%edi
+
+	rorl	$5,%r13d
+	addl	%ecx,%r12d
+	xorl	%ebx,%edi
+
+	rorl	$11,%r14d
+	xorl	%r11d,%r13d
+	addl	%edi,%r12d
+
+	movl	%edx,%edi
+	addl	(%rbp),%r12d
+	xorl	%edx,%r14d
+
+	xorl	%r8d,%edi
+	rorl	$6,%r13d
+	movl	%r8d,%ecx
+
+	andl	%edi,%r15d
+	rorl	$2,%r14d
+	addl	%r13d,%r12d
+
+	xorl	%r15d,%ecx
+	addl	%r12d,%r10d
+	addl	%r12d,%ecx
+
+	leaq	4(%rbp),%rbp
+	addl	%r14d,%ecx
+	movl	56(%rsi),%r12d
+	movl	%r10d,%r13d
+	movl	%ecx,%r14d
+	bswapl	%r12d
+	rorl	$14,%r13d
+	movl	%r11d,%r15d
+
+	xorl	%r10d,%r13d
+	rorl	$9,%r14d
+	xorl	%eax,%r15d
+
+	movl	%r12d,56(%rsp)
+	xorl	%ecx,%r14d
+	andl	%r10d,%r15d
+
+	rorl	$5,%r13d
+	addl	%ebx,%r12d
+	xorl	%eax,%r15d
+
+	rorl	$11,%r14d
+	xorl	%r10d,%r13d
+	addl	%r15d,%r12d
+
+	movl	%ecx,%r15d
+	addl	(%rbp),%r12d
+	xorl	%ecx,%r14d
+
+	xorl	%edx,%r15d
+	rorl	$6,%r13d
+	movl	%edx,%ebx
+
+	andl	%r15d,%edi
+	rorl	$2,%r14d
+	addl	%r13d,%r12d
+
+	xorl	%edi,%ebx
+	addl	%r12d,%r9d
+	addl	%r12d,%ebx
+
+	leaq	4(%rbp),%rbp
+	addl	%r14d,%ebx
+	movl	60(%rsi),%r12d
+	movl	%r9d,%r13d
+	movl	%ebx,%r14d
+	bswapl	%r12d
+	rorl	$14,%r13d
+	movl	%r10d,%edi
+
+	xorl	%r9d,%r13d
+	rorl	$9,%r14d
+	xorl	%r11d,%edi
+
+	movl	%r12d,60(%rsp)
+	xorl	%ebx,%r14d
+	andl	%r9d,%edi
+
+	rorl	$5,%r13d
+	addl	%eax,%r12d
+	xorl	%r11d,%edi
+
+	rorl	$11,%r14d
+	xorl	%r9d,%r13d
+	addl	%edi,%r12d
+
+	movl	%ebx,%edi
+	addl	(%rbp),%r12d
+	xorl	%ebx,%r14d
+
+	xorl	%ecx,%edi
+	rorl	$6,%r13d
+	movl	%ecx,%eax
+
+	andl	%edi,%r15d
+	rorl	$2,%r14d
+	addl	%r13d,%r12d
+
+	xorl	%r15d,%eax
+	addl	%r12d,%r8d
+	addl	%r12d,%eax
+
+	leaq	20(%rbp),%rbp
+	jmp	L$rounds_16_xx
+.p2align	4
+L$rounds_16_xx:
+	movl	4(%rsp),%r13d
+	movl	56(%rsp),%r15d
+
+	movl	%r13d,%r12d
+	rorl	$11,%r13d
+	addl	%r14d,%eax
+	movl	%r15d,%r14d
+	rorl	$2,%r15d
+
+	xorl	%r12d,%r13d
+	shrl	$3,%r12d
+	rorl	$7,%r13d
+	xorl	%r14d,%r15d
+	shrl	$10,%r14d
+
+	rorl	$17,%r15d
+	xorl	%r13d,%r12d
+	xorl	%r14d,%r15d
+	addl	36(%rsp),%r12d
+
+	addl	0(%rsp),%r12d
+	movl	%r8d,%r13d
+	addl	%r15d,%r12d
+	movl	%eax,%r14d
+	rorl	$14,%r13d
+	movl	%r9d,%r15d
+
+	xorl	%r8d,%r13d
+	rorl	$9,%r14d
+	xorl	%r10d,%r15d
+
+	movl	%r12d,0(%rsp)
+	xorl	%eax,%r14d
+	andl	%r8d,%r15d
+
+	rorl	$5,%r13d
+	addl	%r11d,%r12d
+	xorl	%r10d,%r15d
+
+	rorl	$11,%r14d
+	xorl	%r8d,%r13d
+	addl	%r15d,%r12d
+
+	movl	%eax,%r15d
+	addl	(%rbp),%r12d
+	xorl	%eax,%r14d
+
+	xorl	%ebx,%r15d
+	rorl	$6,%r13d
+	movl	%ebx,%r11d
+
+	andl	%r15d,%edi
+	rorl	$2,%r14d
+	addl	%r13d,%r12d
+
+	xorl	%edi,%r11d
+	addl	%r12d,%edx
+	addl	%r12d,%r11d
+
+	leaq	4(%rbp),%rbp
+	movl	8(%rsp),%r13d
+	movl	60(%rsp),%edi
+
+	movl	%r13d,%r12d
+	rorl	$11,%r13d
+	addl	%r14d,%r11d
+	movl	%edi,%r14d
+	rorl	$2,%edi
+
+	xorl	%r12d,%r13d
+	shrl	$3,%r12d
+	rorl	$7,%r13d
+	xorl	%r14d,%edi
+	shrl	$10,%r14d
+
+	rorl	$17,%edi
+	xorl	%r13d,%r12d
+	xorl	%r14d,%edi
+	addl	40(%rsp),%r12d
+
+	addl	4(%rsp),%r12d
+	movl	%edx,%r13d
+	addl	%edi,%r12d
+	movl	%r11d,%r14d
+	rorl	$14,%r13d
+	movl	%r8d,%edi
+
+	xorl	%edx,%r13d
+	rorl	$9,%r14d
+	xorl	%r9d,%edi
+
+	movl	%r12d,4(%rsp)
+	xorl	%r11d,%r14d
+	andl	%edx,%edi
+
+	rorl	$5,%r13d
+	addl	%r10d,%r12d
+	xorl	%r9d,%edi
+
+	rorl	$11,%r14d
+	xorl	%edx,%r13d
+	addl	%edi,%r12d
+
+	movl	%r11d,%edi
+	addl	(%rbp),%r12d
+	xorl	%r11d,%r14d
+
+	xorl	%eax,%edi
+	rorl	$6,%r13d
+	movl	%eax,%r10d
+
+	andl	%edi,%r15d
+	rorl	$2,%r14d
+	addl	%r13d,%r12d
+
+	xorl	%r15d,%r10d
+	addl	%r12d,%ecx
+	addl	%r12d,%r10d
+
+	leaq	4(%rbp),%rbp
+	movl	12(%rsp),%r13d
+	movl	0(%rsp),%r15d
+
+	movl	%r13d,%r12d
+	rorl	$11,%r13d
+	addl	%r14d,%r10d
+	movl	%r15d,%r14d
+	rorl	$2,%r15d
+
+	xorl	%r12d,%r13d
+	shrl	$3,%r12d
+	rorl	$7,%r13d
+	xorl	%r14d,%r15d
+	shrl	$10,%r14d
+
+	rorl	$17,%r15d
+	xorl	%r13d,%r12d
+	xorl	%r14d,%r15d
+	addl	44(%rsp),%r12d
+
+	addl	8(%rsp),%r12d
+	movl	%ecx,%r13d
+	addl	%r15d,%r12d
+	movl	%r10d,%r14d
+	rorl	$14,%r13d
+	movl	%edx,%r15d
+
+	xorl	%ecx,%r13d
+	rorl	$9,%r14d
+	xorl	%r8d,%r15d
+
+	movl	%r12d,8(%rsp)
+	xorl	%r10d,%r14d
+	andl	%ecx,%r15d
+
+	rorl	$5,%r13d
+	addl	%r9d,%r12d
+	xorl	%r8d,%r15d
+
+	rorl	$11,%r14d
+	xorl	%ecx,%r13d
+	addl	%r15d,%r12d
+
+	movl	%r10d,%r15d
+	addl	(%rbp),%r12d
+	xorl	%r10d,%r14d
+
+	xorl	%r11d,%r15d
+	rorl	$6,%r13d
+	movl	%r11d,%r9d
+
+	andl	%r15d,%edi
+	rorl	$2,%r14d
+	addl	%r13d,%r12d
+
+	xorl	%edi,%r9d
+	addl	%r12d,%ebx
+	addl	%r12d,%r9d
+
+	leaq	4(%rbp),%rbp
+	movl	16(%rsp),%r13d
+	movl	4(%rsp),%edi
+
+	movl	%r13d,%r12d
+	rorl	$11,%r13d
+	addl	%r14d,%r9d
+	movl	%edi,%r14d
+	rorl	$2,%edi
+
+	xorl	%r12d,%r13d
+	shrl	$3,%r12d
+	rorl	$7,%r13d
+	xorl	%r14d,%edi
+	shrl	$10,%r14d
+
+	rorl	$17,%edi
+	xorl	%r13d,%r12d
+	xorl	%r14d,%edi
+	addl	48(%rsp),%r12d
+
+	addl	12(%rsp),%r12d
+	movl	%ebx,%r13d
+	addl	%edi,%r12d
+	movl	%r9d,%r14d
+	rorl	$14,%r13d
+	movl	%ecx,%edi
+
+	xorl	%ebx,%r13d
+	rorl	$9,%r14d
+	xorl	%edx,%edi
+
+	movl	%r12d,12(%rsp)
+	xorl	%r9d,%r14d
+	andl	%ebx,%edi
+
+	rorl	$5,%r13d
+	addl	%r8d,%r12d
+	xorl	%edx,%edi
+
+	rorl	$11,%r14d
+	xorl	%ebx,%r13d
+	addl	%edi,%r12d
+
+	movl	%r9d,%edi
+	addl	(%rbp),%r12d
+	xorl	%r9d,%r14d
+
+	xorl	%r10d,%edi
+	rorl	$6,%r13d
+	movl	%r10d,%r8d
+
+	andl	%edi,%r15d
+	rorl	$2,%r14d
+	addl	%r13d,%r12d
+
+	xorl	%r15d,%r8d
+	addl	%r12d,%eax
+	addl	%r12d,%r8d
+
+	leaq	20(%rbp),%rbp
+	movl	20(%rsp),%r13d
+	movl	8(%rsp),%r15d
+
+	movl	%r13d,%r12d
+	rorl	$11,%r13d
+	addl	%r14d,%r8d
+	movl	%r15d,%r14d
+	rorl	$2,%r15d
+
+	xorl	%r12d,%r13d
+	shrl	$3,%r12d
+	rorl	$7,%r13d
+	xorl	%r14d,%r15d
+	shrl	$10,%r14d
+
+	rorl	$17,%r15d
+	xorl	%r13d,%r12d
+	xorl	%r14d,%r15d
+	addl	52(%rsp),%r12d
+
+	addl	16(%rsp),%r12d
+	movl	%eax,%r13d
+	addl	%r15d,%r12d
+	movl	%r8d,%r14d
+	rorl	$14,%r13d
+	movl	%ebx,%r15d
+
+	xorl	%eax,%r13d
+	rorl	$9,%r14d
+	xorl	%ecx,%r15d
+
+	movl	%r12d,16(%rsp)
+	xorl	%r8d,%r14d
+	andl	%eax,%r15d
+
+	rorl	$5,%r13d
+	addl	%edx,%r12d
+	xorl	%ecx,%r15d
+
+	rorl	$11,%r14d
+	xorl	%eax,%r13d
+	addl	%r15d,%r12d
+
+	movl	%r8d,%r15d
+	addl	(%rbp),%r12d
+	xorl	%r8d,%r14d
+
+	xorl	%r9d,%r15d
+	rorl	$6,%r13d
+	movl	%r9d,%edx
+
+	andl	%r15d,%edi
+	rorl	$2,%r14d
+	addl	%r13d,%r12d
+
+	xorl	%edi,%edx
+	addl	%r12d,%r11d
+	addl	%r12d,%edx
+
+	leaq	4(%rbp),%rbp
+	movl	24(%rsp),%r13d
+	movl	12(%rsp),%edi
+
+	movl	%r13d,%r12d
+	rorl	$11,%r13d
+	addl	%r14d,%edx
+	movl	%edi,%r14d
+	rorl	$2,%edi
+
+	xorl	%r12d,%r13d
+	shrl	$3,%r12d
+	rorl	$7,%r13d
+	xorl	%r14d,%edi
+	shrl	$10,%r14d
+
+	rorl	$17,%edi
+	xorl	%r13d,%r12d
+	xorl	%r14d,%edi
+	addl	56(%rsp),%r12d
+
+	addl	20(%rsp),%r12d
+	movl	%r11d,%r13d
+	addl	%edi,%r12d
+	movl	%edx,%r14d
+	rorl	$14,%r13d
+	movl	%eax,%edi
+
+	xorl	%r11d,%r13d
+	rorl	$9,%r14d
+	xorl	%ebx,%edi
+
+	movl	%r12d,20(%rsp)
+	xorl	%edx,%r14d
+	andl	%r11d,%edi
+
+	rorl	$5,%r13d
+	addl	%ecx,%r12d
+	xorl	%ebx,%edi
+
+	rorl	$11,%r14d
+	xorl	%r11d,%r13d
+	addl	%edi,%r12d
+
+	movl	%edx,%edi
+	addl	(%rbp),%r12d
+	xorl	%edx,%r14d
+
+	xorl	%r8d,%edi
+	rorl	$6,%r13d
+	movl	%r8d,%ecx
+
+	andl	%edi,%r15d
+	rorl	$2,%r14d
+	addl	%r13d,%r12d
+
+	xorl	%r15d,%ecx
+	addl	%r12d,%r10d
+	addl	%r12d,%ecx
+
+	leaq	4(%rbp),%rbp
+	movl	28(%rsp),%r13d
+	movl	16(%rsp),%r15d
+
+	movl	%r13d,%r12d
+	rorl	$11,%r13d
+	addl	%r14d,%ecx
+	movl	%r15d,%r14d
+	rorl	$2,%r15d
+
+	xorl	%r12d,%r13d
+	shrl	$3,%r12d
+	rorl	$7,%r13d
+	xorl	%r14d,%r15d
+	shrl	$10,%r14d
+
+	rorl	$17,%r15d
+	xorl	%r13d,%r12d
+	xorl	%r14d,%r15d
+	addl	60(%rsp),%r12d
+
+	addl	24(%rsp),%r12d
+	movl	%r10d,%r13d
+	addl	%r15d,%r12d
+	movl	%ecx,%r14d
+	rorl	$14,%r13d
+	movl	%r11d,%r15d
+
+	xorl	%r10d,%r13d
+	rorl	$9,%r14d
+	xorl	%eax,%r15d
+
+	movl	%r12d,24(%rsp)
+	xorl	%ecx,%r14d
+	andl	%r10d,%r15d
+
+	rorl	$5,%r13d
+	addl	%ebx,%r12d
+	xorl	%eax,%r15d
+
+	rorl	$11,%r14d
+	xorl	%r10d,%r13d
+	addl	%r15d,%r12d
+
+	movl	%ecx,%r15d
+	addl	(%rbp),%r12d
+	xorl	%ecx,%r14d
+
+	xorl	%edx,%r15d
+	rorl	$6,%r13d
+	movl	%edx,%ebx
+
+	andl	%r15d,%edi
+	rorl	$2,%r14d
+	addl	%r13d,%r12d
+
+	xorl	%edi,%ebx
+	addl	%r12d,%r9d
+	addl	%r12d,%ebx
+
+	leaq	4(%rbp),%rbp
+	movl	32(%rsp),%r13d
+	movl	20(%rsp),%edi
+
+	movl	%r13d,%r12d
+	rorl	$11,%r13d
+	addl	%r14d,%ebx
+	movl	%edi,%r14d
+	rorl	$2,%edi
+
+	xorl	%r12d,%r13d
+	shrl	$3,%r12d
+	rorl	$7,%r13d
+	xorl	%r14d,%edi
+	shrl	$10,%r14d
+
+	rorl	$17,%edi
+	xorl	%r13d,%r12d
+	xorl	%r14d,%edi
+	addl	0(%rsp),%r12d
+
+	addl	28(%rsp),%r12d
+	movl	%r9d,%r13d
+	addl	%edi,%r12d
+	movl	%ebx,%r14d
+	rorl	$14,%r13d
+	movl	%r10d,%edi
+
+	xorl	%r9d,%r13d
+	rorl	$9,%r14d
+	xorl	%r11d,%edi
+
+	movl	%r12d,28(%rsp)
+	xorl	%ebx,%r14d
+	andl	%r9d,%edi
+
+	rorl	$5,%r13d
+	addl	%eax,%r12d
+	xorl	%r11d,%edi
+
+	rorl	$11,%r14d
+	xorl	%r9d,%r13d
+	addl	%edi,%r12d
+
+	movl	%ebx,%edi
+	addl	(%rbp),%r12d
+	xorl	%ebx,%r14d
+
+	xorl	%ecx,%edi
+	rorl	$6,%r13d
+	movl	%ecx,%eax
+
+	andl	%edi,%r15d
+	rorl	$2,%r14d
+	addl	%r13d,%r12d
+
+	xorl	%r15d,%eax
+	addl	%r12d,%r8d
+	addl	%r12d,%eax
+
+	leaq	20(%rbp),%rbp
+	movl	36(%rsp),%r13d
+	movl	24(%rsp),%r15d
+
+	movl	%r13d,%r12d
+	rorl	$11,%r13d
+	addl	%r14d,%eax
+	movl	%r15d,%r14d
+	rorl	$2,%r15d
+
+	xorl	%r12d,%r13d
+	shrl	$3,%r12d
+	rorl	$7,%r13d
+	xorl	%r14d,%r15d
+	shrl	$10,%r14d
+
+	rorl	$17,%r15d
+	xorl	%r13d,%r12d
+	xorl	%r14d,%r15d
+	addl	4(%rsp),%r12d
+
+	addl	32(%rsp),%r12d
+	movl	%r8d,%r13d
+	addl	%r15d,%r12d
+	movl	%eax,%r14d
+	rorl	$14,%r13d
+	movl	%r9d,%r15d
+
+	xorl	%r8d,%r13d
+	rorl	$9,%r14d
+	xorl	%r10d,%r15d
+
+	movl	%r12d,32(%rsp)
+	xorl	%eax,%r14d
+	andl	%r8d,%r15d
+
+	rorl	$5,%r13d
+	addl	%r11d,%r12d
+	xorl	%r10d,%r15d
+
+	rorl	$11,%r14d
+	xorl	%r8d,%r13d
+	addl	%r15d,%r12d
+
+	movl	%eax,%r15d
+	addl	(%rbp),%r12d
+	xorl	%eax,%r14d
+
+	xorl	%ebx,%r15d
+	rorl	$6,%r13d
+	movl	%ebx,%r11d
+
+	andl	%r15d,%edi
+	rorl	$2,%r14d
+	addl	%r13d,%r12d
+
+	xorl	%edi,%r11d
+	addl	%r12d,%edx
+	addl	%r12d,%r11d
+
+	leaq	4(%rbp),%rbp
+	movl	40(%rsp),%r13d
+	movl	28(%rsp),%edi
+
+	movl	%r13d,%r12d
+	rorl	$11,%r13d
+	addl	%r14d,%r11d
+	movl	%edi,%r14d
+	rorl	$2,%edi
+
+	xorl	%r12d,%r13d
+	shrl	$3,%r12d
+	rorl	$7,%r13d
+	xorl	%r14d,%edi
+	shrl	$10,%r14d
+
+	rorl	$17,%edi
+	xorl	%r13d,%r12d
+	xorl	%r14d,%edi
+	addl	8(%rsp),%r12d
+
+	addl	36(%rsp),%r12d
+	movl	%edx,%r13d
+	addl	%edi,%r12d
+	movl	%r11d,%r14d
+	rorl	$14,%r13d
+	movl	%r8d,%edi
+
+	xorl	%edx,%r13d
+	rorl	$9,%r14d
+	xorl	%r9d,%edi
+
+	movl	%r12d,36(%rsp)
+	xorl	%r11d,%r14d
+	andl	%edx,%edi
+
+	rorl	$5,%r13d
+	addl	%r10d,%r12d
+	xorl	%r9d,%edi
+
+	rorl	$11,%r14d
+	xorl	%edx,%r13d
+	addl	%edi,%r12d
+
+	movl	%r11d,%edi
+	addl	(%rbp),%r12d
+	xorl	%r11d,%r14d
+
+	xorl	%eax,%edi
+	rorl	$6,%r13d
+	movl	%eax,%r10d
+
+	andl	%edi,%r15d
+	rorl	$2,%r14d
+	addl	%r13d,%r12d
+
+	xorl	%r15d,%r10d
+	addl	%r12d,%ecx
+	addl	%r12d,%r10d
+
+	leaq	4(%rbp),%rbp
+	movl	44(%rsp),%r13d
+	movl	32(%rsp),%r15d
+
+	movl	%r13d,%r12d
+	rorl	$11,%r13d
+	addl	%r14d,%r10d
+	movl	%r15d,%r14d
+	rorl	$2,%r15d
+
+	xorl	%r12d,%r13d
+	shrl	$3,%r12d
+	rorl	$7,%r13d
+	xorl	%r14d,%r15d
+	shrl	$10,%r14d
+
+	rorl	$17,%r15d
+	xorl	%r13d,%r12d
+	xorl	%r14d,%r15d
+	addl	12(%rsp),%r12d
+
+	addl	40(%rsp),%r12d
+	movl	%ecx,%r13d
+	addl	%r15d,%r12d
+	movl	%r10d,%r14d
+	rorl	$14,%r13d
+	movl	%edx,%r15d
+
+	xorl	%ecx,%r13d
+	rorl	$9,%r14d
+	xorl	%r8d,%r15d
+
+	movl	%r12d,40(%rsp)
+	xorl	%r10d,%r14d
+	andl	%ecx,%r15d
+
+	rorl	$5,%r13d
+	addl	%r9d,%r12d
+	xorl	%r8d,%r15d
+
+	rorl	$11,%r14d
+	xorl	%ecx,%r13d
+	addl	%r15d,%r12d
+
+	movl	%r10d,%r15d
+	addl	(%rbp),%r12d
+	xorl	%r10d,%r14d
+
+	xorl	%r11d,%r15d
+	rorl	$6,%r13d
+	movl	%r11d,%r9d
+
+	andl	%r15d,%edi
+	rorl	$2,%r14d
+	addl	%r13d,%r12d
+
+	xorl	%edi,%r9d
+	addl	%r12d,%ebx
+	addl	%r12d,%r9d
+
+	leaq	4(%rbp),%rbp
+	movl	48(%rsp),%r13d
+	movl	36(%rsp),%edi
+
+	movl	%r13d,%r12d
+	rorl	$11,%r13d
+	addl	%r14d,%r9d
+	movl	%edi,%r14d
+	rorl	$2,%edi
+
+	xorl	%r12d,%r13d
+	shrl	$3,%r12d
+	rorl	$7,%r13d
+	xorl	%r14d,%edi
+	shrl	$10,%r14d
+
+	rorl	$17,%edi
+	xorl	%r13d,%r12d
+	xorl	%r14d,%edi
+	addl	16(%rsp),%r12d
+
+	addl	44(%rsp),%r12d
+	movl	%ebx,%r13d
+	addl	%edi,%r12d
+	movl	%r9d,%r14d
+	rorl	$14,%r13d
+	movl	%ecx,%edi
+
+	xorl	%ebx,%r13d
+	rorl	$9,%r14d
+	xorl	%edx,%edi
+
+	movl	%r12d,44(%rsp)
+	xorl	%r9d,%r14d
+	andl	%ebx,%edi
+
+	rorl	$5,%r13d
+	addl	%r8d,%r12d
+	xorl	%edx,%edi
+
+	rorl	$11,%r14d
+	xorl	%ebx,%r13d
+	addl	%edi,%r12d
+
+	movl	%r9d,%edi
+	addl	(%rbp),%r12d
+	xorl	%r9d,%r14d
+
+	xorl	%r10d,%edi
+	rorl	$6,%r13d
+	movl	%r10d,%r8d
+
+	andl	%edi,%r15d
+	rorl	$2,%r14d
+	addl	%r13d,%r12d
+
+	xorl	%r15d,%r8d
+	addl	%r12d,%eax
+	addl	%r12d,%r8d
+
+	leaq	20(%rbp),%rbp
+	movl	52(%rsp),%r13d
+	movl	40(%rsp),%r15d
+
+	movl	%r13d,%r12d
+	rorl	$11,%r13d
+	addl	%r14d,%r8d
+	movl	%r15d,%r14d
+	rorl	$2,%r15d
+
+	xorl	%r12d,%r13d
+	shrl	$3,%r12d
+	rorl	$7,%r13d
+	xorl	%r14d,%r15d
+	shrl	$10,%r14d
+
+	rorl	$17,%r15d
+	xorl	%r13d,%r12d
+	xorl	%r14d,%r15d
+	addl	20(%rsp),%r12d
+
+	addl	48(%rsp),%r12d
+	movl	%eax,%r13d
+	addl	%r15d,%r12d
+	movl	%r8d,%r14d
+	rorl	$14,%r13d
+	movl	%ebx,%r15d
+
+	xorl	%eax,%r13d
+	rorl	$9,%r14d
+	xorl	%ecx,%r15d
+
+	movl	%r12d,48(%rsp)
+	xorl	%r8d,%r14d
+	andl	%eax,%r15d
+
+	rorl	$5,%r13d
+	addl	%edx,%r12d
+	xorl	%ecx,%r15d
+
+	rorl	$11,%r14d
+	xorl	%eax,%r13d
+	addl	%r15d,%r12d
+
+	movl	%r8d,%r15d
+	addl	(%rbp),%r12d
+	xorl	%r8d,%r14d
+
+	xorl	%r9d,%r15d
+	rorl	$6,%r13d
+	movl	%r9d,%edx
+
+	andl	%r15d,%edi
+	rorl	$2,%r14d
+	addl	%r13d,%r12d
+
+	xorl	%edi,%edx
+	addl	%r12d,%r11d
+	addl	%r12d,%edx
+
+	leaq	4(%rbp),%rbp
+	movl	56(%rsp),%r13d
+	movl	44(%rsp),%edi
+
+	movl	%r13d,%r12d
+	rorl	$11,%r13d
+	addl	%r14d,%edx
+	movl	%edi,%r14d
+	rorl	$2,%edi
+
+	xorl	%r12d,%r13d
+	shrl	$3,%r12d
+	rorl	$7,%r13d
+	xorl	%r14d,%edi
+	shrl	$10,%r14d
+
+	rorl	$17,%edi
+	xorl	%r13d,%r12d
+	xorl	%r14d,%edi
+	addl	24(%rsp),%r12d
+
+	addl	52(%rsp),%r12d
+	movl	%r11d,%r13d
+	addl	%edi,%r12d
+	movl	%edx,%r14d
+	rorl	$14,%r13d
+	movl	%eax,%edi
+
+	xorl	%r11d,%r13d
+	rorl	$9,%r14d
+	xorl	%ebx,%edi
+
+	movl	%r12d,52(%rsp)
+	xorl	%edx,%r14d
+	andl	%r11d,%edi
+
+	rorl	$5,%r13d
+	addl	%ecx,%r12d
+	xorl	%ebx,%edi
+
+	rorl	$11,%r14d
+	xorl	%r11d,%r13d
+	addl	%edi,%r12d
+
+	movl	%edx,%edi
+	addl	(%rbp),%r12d
+	xorl	%edx,%r14d
+
+	xorl	%r8d,%edi
+	rorl	$6,%r13d
+	movl	%r8d,%ecx
+
+	andl	%edi,%r15d
+	rorl	$2,%r14d
+	addl	%r13d,%r12d
+
+	xorl	%r15d,%ecx
+	addl	%r12d,%r10d
+	addl	%r12d,%ecx
+
+	leaq	4(%rbp),%rbp
+	movl	60(%rsp),%r13d
+	movl	48(%rsp),%r15d
+
+	movl	%r13d,%r12d
+	rorl	$11,%r13d
+	addl	%r14d,%ecx
+	movl	%r15d,%r14d
+	rorl	$2,%r15d
+
+	xorl	%r12d,%r13d
+	shrl	$3,%r12d
+	rorl	$7,%r13d
+	xorl	%r14d,%r15d
+	shrl	$10,%r14d
+
+	rorl	$17,%r15d
+	xorl	%r13d,%r12d
+	xorl	%r14d,%r15d
+	addl	28(%rsp),%r12d
+
+	addl	56(%rsp),%r12d
+	movl	%r10d,%r13d
+	addl	%r15d,%r12d
+	movl	%ecx,%r14d
+	rorl	$14,%r13d
+	movl	%r11d,%r15d
+
+	xorl	%r10d,%r13d
+	rorl	$9,%r14d
+	xorl	%eax,%r15d
+
+	movl	%r12d,56(%rsp)
+	xorl	%ecx,%r14d
+	andl	%r10d,%r15d
+
+	rorl	$5,%r13d
+	addl	%ebx,%r12d
+	xorl	%eax,%r15d
+
+	rorl	$11,%r14d
+	xorl	%r10d,%r13d
+	addl	%r15d,%r12d
+
+	movl	%ecx,%r15d
+	addl	(%rbp),%r12d
+	xorl	%ecx,%r14d
+
+	xorl	%edx,%r15d
+	rorl	$6,%r13d
+	movl	%edx,%ebx
+
+	andl	%r15d,%edi
+	rorl	$2,%r14d
+	addl	%r13d,%r12d
+
+	xorl	%edi,%ebx
+	addl	%r12d,%r9d
+	addl	%r12d,%ebx
+
+	leaq	4(%rbp),%rbp
+	movl	0(%rsp),%r13d
+	movl	52(%rsp),%edi
+
+	movl	%r13d,%r12d
+	rorl	$11,%r13d
+	addl	%r14d,%ebx
+	movl	%edi,%r14d
+	rorl	$2,%edi
+
+	xorl	%r12d,%r13d
+	shrl	$3,%r12d
+	rorl	$7,%r13d
+	xorl	%r14d,%edi
+	shrl	$10,%r14d
+
+	rorl	$17,%edi
+	xorl	%r13d,%r12d
+	xorl	%r14d,%edi
+	addl	32(%rsp),%r12d
+
+	addl	60(%rsp),%r12d
+	movl	%r9d,%r13d
+	addl	%edi,%r12d
+	movl	%ebx,%r14d
+	rorl	$14,%r13d
+	movl	%r10d,%edi
+
+	xorl	%r9d,%r13d
+	rorl	$9,%r14d
+	xorl	%r11d,%edi
+
+	movl	%r12d,60(%rsp)
+	xorl	%ebx,%r14d
+	andl	%r9d,%edi
+
+	rorl	$5,%r13d
+	addl	%eax,%r12d
+	xorl	%r11d,%edi
+
+	rorl	$11,%r14d
+	xorl	%r9d,%r13d
+	addl	%edi,%r12d
+
+	movl	%ebx,%edi
+	addl	(%rbp),%r12d
+	xorl	%ebx,%r14d
+
+	xorl	%ecx,%edi
+	rorl	$6,%r13d
+	movl	%ecx,%eax
+
+	andl	%edi,%r15d
+	rorl	$2,%r14d
+	addl	%r13d,%r12d
+
+	xorl	%r15d,%eax
+	addl	%r12d,%r8d
+	addl	%r12d,%eax
+
+	leaq	20(%rbp),%rbp
+	cmpb	$0,3(%rbp)
+	jnz	L$rounds_16_xx
+
+	movq	64+0(%rsp),%rdi
+	addl	%r14d,%eax
+	leaq	64(%rsi),%rsi
+
+	addl	0(%rdi),%eax
+	addl	4(%rdi),%ebx
+	addl	8(%rdi),%ecx
+	addl	12(%rdi),%edx
+	addl	16(%rdi),%r8d
+	addl	20(%rdi),%r9d
+	addl	24(%rdi),%r10d
+	addl	28(%rdi),%r11d
+
+	cmpq	64+16(%rsp),%rsi
+
+	movl	%eax,0(%rdi)
+	movl	%ebx,4(%rdi)
+	movl	%ecx,8(%rdi)
+	movl	%edx,12(%rdi)
+	movl	%r8d,16(%rdi)
+	movl	%r9d,20(%rdi)
+	movl	%r10d,24(%rdi)
+	movl	%r11d,28(%rdi)
+	jb	L$loop
+
+	movq	64+24(%rsp),%rsi
+	movq	-48(%rsi),%r15
+	movq	-40(%rsi),%r14
+	movq	-32(%rsi),%r13
+	movq	-24(%rsi),%r12
+	movq	-16(%rsi),%rbp
+	movq	-8(%rsi),%rbx
+	leaq	(%rsi),%rsp
+L$epilogue:
+	.byte	0xf3,0xc3
+
+.p2align	6
+
+K256:
+.long	0x428a2f98,0x71374491,0xb5c0fbcf,0xe9b5dba5
+.long	0x428a2f98,0x71374491,0xb5c0fbcf,0xe9b5dba5
+.long	0x3956c25b,0x59f111f1,0x923f82a4,0xab1c5ed5
+.long	0x3956c25b,0x59f111f1,0x923f82a4,0xab1c5ed5
+.long	0xd807aa98,0x12835b01,0x243185be,0x550c7dc3
+.long	0xd807aa98,0x12835b01,0x243185be,0x550c7dc3
+.long	0x72be5d74,0x80deb1fe,0x9bdc06a7,0xc19bf174
+.long	0x72be5d74,0x80deb1fe,0x9bdc06a7,0xc19bf174
+.long	0xe49b69c1,0xefbe4786,0x0fc19dc6,0x240ca1cc
+.long	0xe49b69c1,0xefbe4786,0x0fc19dc6,0x240ca1cc
+.long	0x2de92c6f,0x4a7484aa,0x5cb0a9dc,0x76f988da
+.long	0x2de92c6f,0x4a7484aa,0x5cb0a9dc,0x76f988da
+.long	0x983e5152,0xa831c66d,0xb00327c8,0xbf597fc7
+.long	0x983e5152,0xa831c66d,0xb00327c8,0xbf597fc7
+.long	0xc6e00bf3,0xd5a79147,0x06ca6351,0x14292967
+.long	0xc6e00bf3,0xd5a79147,0x06ca6351,0x14292967
+.long	0x27b70a85,0x2e1b2138,0x4d2c6dfc,0x53380d13
+.long	0x27b70a85,0x2e1b2138,0x4d2c6dfc,0x53380d13
+.long	0x650a7354,0x766a0abb,0x81c2c92e,0x92722c85
+.long	0x650a7354,0x766a0abb,0x81c2c92e,0x92722c85
+.long	0xa2bfe8a1,0xa81a664b,0xc24b8b70,0xc76c51a3
+.long	0xa2bfe8a1,0xa81a664b,0xc24b8b70,0xc76c51a3
+.long	0xd192e819,0xd6990624,0xf40e3585,0x106aa070
+.long	0xd192e819,0xd6990624,0xf40e3585,0x106aa070
+.long	0x19a4c116,0x1e376c08,0x2748774c,0x34b0bcb5
+.long	0x19a4c116,0x1e376c08,0x2748774c,0x34b0bcb5
+.long	0x391c0cb3,0x4ed8aa4a,0x5b9cca4f,0x682e6ff3
+.long	0x391c0cb3,0x4ed8aa4a,0x5b9cca4f,0x682e6ff3
+.long	0x748f82ee,0x78a5636f,0x84c87814,0x8cc70208
+.long	0x748f82ee,0x78a5636f,0x84c87814,0x8cc70208
+.long	0x90befffa,0xa4506ceb,0xbef9a3f7,0xc67178f2
+.long	0x90befffa,0xa4506ceb,0xbef9a3f7,0xc67178f2
+
+.long	0x00010203,0x04050607,0x08090a0b,0x0c0d0e0f
+.long	0x00010203,0x04050607,0x08090a0b,0x0c0d0e0f
+.long	0x03020100,0x0b0a0908,0xffffffff,0xffffffff
+.long	0x03020100,0x0b0a0908,0xffffffff,0xffffffff
+.long	0xffffffff,0xffffffff,0x03020100,0x0b0a0908
+.long	0xffffffff,0xffffffff,0x03020100,0x0b0a0908
+.byte	83,72,65,50,53,54,32,98,108,111,99,107,32,116,114,97,110,115,102,111,114,109,32,102,111,114,32,120,56,54,95,54,52,44,32,67,82,89,80,84,79,71,65,77,83,32,98,121,32,60,97,112,112,114,111,64,111,112,101,110,115,115,108,46,111,114,103,62,0
+
+.p2align	6
+sha256_block_data_order_ssse3:
+L$ssse3_shortcut:
+	movq	%rsp,%rax
+	pushq	%rbx
+	pushq	%rbp
+	pushq	%r12
+	pushq	%r13
+	pushq	%r14
+	pushq	%r15
+	shlq	$4,%rdx
+	subq	$96,%rsp
+	leaq	(%rsi,%rdx,4),%rdx
+	andq	$-64,%rsp
+	movq	%rdi,64+0(%rsp)
+	movq	%rsi,64+8(%rsp)
+	movq	%rdx,64+16(%rsp)
+	movq	%rax,64+24(%rsp)
+L$prologue_ssse3:
+
+	movl	0(%rdi),%eax
+	movl	4(%rdi),%ebx
+	movl	8(%rdi),%ecx
+	movl	12(%rdi),%edx
+	movl	16(%rdi),%r8d
+	movl	20(%rdi),%r9d
+	movl	24(%rdi),%r10d
+	movl	28(%rdi),%r11d
+
+
+	jmp	L$loop_ssse3
+.p2align	4
+L$loop_ssse3:
+	movdqa	K256+512(%rip),%xmm7
+	movdqu	0(%rsi),%xmm0
+	movdqu	16(%rsi),%xmm1
+	movdqu	32(%rsi),%xmm2
+.byte	102,15,56,0,199
+	movdqu	48(%rsi),%xmm3
+	leaq	K256(%rip),%rbp
+.byte	102,15,56,0,207
+	movdqa	0(%rbp),%xmm4
+	movdqa	32(%rbp),%xmm5
+.byte	102,15,56,0,215
+	paddd	%xmm0,%xmm4
+	movdqa	64(%rbp),%xmm6
+.byte	102,15,56,0,223
+	movdqa	96(%rbp),%xmm7
+	paddd	%xmm1,%xmm5
+	paddd	%xmm2,%xmm6
+	paddd	%xmm3,%xmm7
+	movdqa	%xmm4,0(%rsp)
+	movl	%eax,%r14d
+	movdqa	%xmm5,16(%rsp)
+	movl	%ebx,%edi
+	movdqa	%xmm6,32(%rsp)
+	xorl	%ecx,%edi
+	movdqa	%xmm7,48(%rsp)
+	movl	%r8d,%r13d
+	jmp	L$ssse3_00_47
+
+.p2align	4
+L$ssse3_00_47:
+	subq	$-128,%rbp
+	rorl	$14,%r13d
+	movdqa	%xmm1,%xmm4
+	movl	%r14d,%eax
+	movl	%r9d,%r12d
+	movdqa	%xmm3,%xmm7
+	rorl	$9,%r14d
+	xorl	%r8d,%r13d
+	xorl	%r10d,%r12d
+	rorl	$5,%r13d
+	xorl	%eax,%r14d
+.byte	102,15,58,15,224,4
+	andl	%r8d,%r12d
+	xorl	%r8d,%r13d
+.byte	102,15,58,15,250,4
+	addl	0(%rsp),%r11d
+	movl	%eax,%r15d
+	xorl	%r10d,%r12d
+	rorl	$11,%r14d
+	movdqa	%xmm4,%xmm5
+	xorl	%ebx,%r15d
+	addl	%r12d,%r11d
+	movdqa	%xmm4,%xmm6
+	rorl	$6,%r13d
+	andl	%r15d,%edi
+	psrld	$3,%xmm4
+	xorl	%eax,%r14d
+	addl	%r13d,%r11d
+	xorl	%ebx,%edi
+	paddd	%xmm7,%xmm0
+	rorl	$2,%r14d
+	addl	%r11d,%edx
+	psrld	$7,%xmm6
+	addl	%edi,%r11d
+	movl	%edx,%r13d
+	pshufd	$250,%xmm3,%xmm7
+	addl	%r11d,%r14d
+	rorl	$14,%r13d
+	pslld	$14,%xmm5
+	movl	%r14d,%r11d
+	movl	%r8d,%r12d
+	pxor	%xmm6,%xmm4
+	rorl	$9,%r14d
+	xorl	%edx,%r13d
+	xorl	%r9d,%r12d
+	rorl	$5,%r13d
+	psrld	$11,%xmm6
+	xorl	%r11d,%r14d
+	pxor	%xmm5,%xmm4
+	andl	%edx,%r12d
+	xorl	%edx,%r13d
+	pslld	$11,%xmm5
+	addl	4(%rsp),%r10d
+	movl	%r11d,%edi
+	pxor	%xmm6,%xmm4
+	xorl	%r9d,%r12d
+	rorl	$11,%r14d
+	movdqa	%xmm7,%xmm6
+	xorl	%eax,%edi
+	addl	%r12d,%r10d
+	pxor	%xmm5,%xmm4
+	rorl	$6,%r13d
+	andl	%edi,%r15d
+	xorl	%r11d,%r14d
+	psrld	$10,%xmm7
+	addl	%r13d,%r10d
+	xorl	%eax,%r15d
+	paddd	%xmm4,%xmm0
+	rorl	$2,%r14d
+	addl	%r10d,%ecx
+	psrlq	$17,%xmm6
+	addl	%r15d,%r10d
+	movl	%ecx,%r13d
+	addl	%r10d,%r14d
+	pxor	%xmm6,%xmm7
+	rorl	$14,%r13d
+	movl	%r14d,%r10d
+	movl	%edx,%r12d
+	rorl	$9,%r14d
+	psrlq	$2,%xmm6
+	xorl	%ecx,%r13d
+	xorl	%r8d,%r12d
+	pxor	%xmm6,%xmm7
+	rorl	$5,%r13d
+	xorl	%r10d,%r14d
+	andl	%ecx,%r12d
+	pshufd	$128,%xmm7,%xmm7
+	xorl	%ecx,%r13d
+	addl	8(%rsp),%r9d
+	movl	%r10d,%r15d
+	psrldq	$8,%xmm7
+	xorl	%r8d,%r12d
+	rorl	$11,%r14d
+	xorl	%r11d,%r15d
+	addl	%r12d,%r9d
+	rorl	$6,%r13d
+	paddd	%xmm7,%xmm0
+	andl	%r15d,%edi
+	xorl	%r10d,%r14d
+	addl	%r13d,%r9d
+	pshufd	$80,%xmm0,%xmm7
+	xorl	%r11d,%edi
+	rorl	$2,%r14d
+	addl	%r9d,%ebx
+	movdqa	%xmm7,%xmm6
+	addl	%edi,%r9d
+	movl	%ebx,%r13d
+	psrld	$10,%xmm7
+	addl	%r9d,%r14d
+	rorl	$14,%r13d
+	psrlq	$17,%xmm6
+	movl	%r14d,%r9d
+	movl	%ecx,%r12d
+	pxor	%xmm6,%xmm7
+	rorl	$9,%r14d
+	xorl	%ebx,%r13d
+	xorl	%edx,%r12d
+	rorl	$5,%r13d
+	xorl	%r9d,%r14d
+	psrlq	$2,%xmm6
+	andl	%ebx,%r12d
+	xorl	%ebx,%r13d
+	addl	12(%rsp),%r8d
+	pxor	%xmm6,%xmm7
+	movl	%r9d,%edi
+	xorl	%edx,%r12d
+	rorl	$11,%r14d
+	pshufd	$8,%xmm7,%xmm7
+	xorl	%r10d,%edi
+	addl	%r12d,%r8d
+	movdqa	0(%rbp),%xmm6
+	rorl	$6,%r13d
+	andl	%edi,%r15d
+	pslldq	$8,%xmm7
+	xorl	%r9d,%r14d
+	addl	%r13d,%r8d
+	xorl	%r10d,%r15d
+	paddd	%xmm7,%xmm0
+	rorl	$2,%r14d
+	addl	%r8d,%eax
+	addl	%r15d,%r8d
+	paddd	%xmm0,%xmm6
+	movl	%eax,%r13d
+	addl	%r8d,%r14d
+	movdqa	%xmm6,0(%rsp)
+	rorl	$14,%r13d
+	movdqa	%xmm2,%xmm4
+	movl	%r14d,%r8d
+	movl	%ebx,%r12d
+	movdqa	%xmm0,%xmm7
+	rorl	$9,%r14d
+	xorl	%eax,%r13d
+	xorl	%ecx,%r12d
+	rorl	$5,%r13d
+	xorl	%r8d,%r14d
+.byte	102,15,58,15,225,4
+	andl	%eax,%r12d
+	xorl	%eax,%r13d
+.byte	102,15,58,15,251,4
+	addl	16(%rsp),%edx
+	movl	%r8d,%r15d
+	xorl	%ecx,%r12d
+	rorl	$11,%r14d
+	movdqa	%xmm4,%xmm5
+	xorl	%r9d,%r15d
+	addl	%r12d,%edx
+	movdqa	%xmm4,%xmm6
+	rorl	$6,%r13d
+	andl	%r15d,%edi
+	psrld	$3,%xmm4
+	xorl	%r8d,%r14d
+	addl	%r13d,%edx
+	xorl	%r9d,%edi
+	paddd	%xmm7,%xmm1
+	rorl	$2,%r14d
+	addl	%edx,%r11d
+	psrld	$7,%xmm6
+	addl	%edi,%edx
+	movl	%r11d,%r13d
+	pshufd	$250,%xmm0,%xmm7
+	addl	%edx,%r14d
+	rorl	$14,%r13d
+	pslld	$14,%xmm5
+	movl	%r14d,%edx
+	movl	%eax,%r12d
+	pxor	%xmm6,%xmm4
+	rorl	$9,%r14d
+	xorl	%r11d,%r13d
+	xorl	%ebx,%r12d
+	rorl	$5,%r13d
+	psrld	$11,%xmm6
+	xorl	%edx,%r14d
+	pxor	%xmm5,%xmm4
+	andl	%r11d,%r12d
+	xorl	%r11d,%r13d
+	pslld	$11,%xmm5
+	addl	20(%rsp),%ecx
+	movl	%edx,%edi
+	pxor	%xmm6,%xmm4
+	xorl	%ebx,%r12d
+	rorl	$11,%r14d
+	movdqa	%xmm7,%xmm6
+	xorl	%r8d,%edi
+	addl	%r12d,%ecx
+	pxor	%xmm5,%xmm4
+	rorl	$6,%r13d
+	andl	%edi,%r15d
+	xorl	%edx,%r14d
+	psrld	$10,%xmm7
+	addl	%r13d,%ecx
+	xorl	%r8d,%r15d
+	paddd	%xmm4,%xmm1
+	rorl	$2,%r14d
+	addl	%ecx,%r10d
+	psrlq	$17,%xmm6
+	addl	%r15d,%ecx
+	movl	%r10d,%r13d
+	addl	%ecx,%r14d
+	pxor	%xmm6,%xmm7
+	rorl	$14,%r13d
+	movl	%r14d,%ecx
+	movl	%r11d,%r12d
+	rorl	$9,%r14d
+	psrlq	$2,%xmm6
+	xorl	%r10d,%r13d
+	xorl	%eax,%r12d
+	pxor	%xmm6,%xmm7
+	rorl	$5,%r13d
+	xorl	%ecx,%r14d
+	andl	%r10d,%r12d
+	pshufd	$128,%xmm7,%xmm7
+	xorl	%r10d,%r13d
+	addl	24(%rsp),%ebx
+	movl	%ecx,%r15d
+	psrldq	$8,%xmm7
+	xorl	%eax,%r12d
+	rorl	$11,%r14d
+	xorl	%edx,%r15d
+	addl	%r12d,%ebx
+	rorl	$6,%r13d
+	paddd	%xmm7,%xmm1
+	andl	%r15d,%edi
+	xorl	%ecx,%r14d
+	addl	%r13d,%ebx
+	pshufd	$80,%xmm1,%xmm7
+	xorl	%edx,%edi
+	rorl	$2,%r14d
+	addl	%ebx,%r9d
+	movdqa	%xmm7,%xmm6
+	addl	%edi,%ebx
+	movl	%r9d,%r13d
+	psrld	$10,%xmm7
+	addl	%ebx,%r14d
+	rorl	$14,%r13d
+	psrlq	$17,%xmm6
+	movl	%r14d,%ebx
+	movl	%r10d,%r12d
+	pxor	%xmm6,%xmm7
+	rorl	$9,%r14d
+	xorl	%r9d,%r13d
+	xorl	%r11d,%r12d
+	rorl	$5,%r13d
+	xorl	%ebx,%r14d
+	psrlq	$2,%xmm6
+	andl	%r9d,%r12d
+	xorl	%r9d,%r13d
+	addl	28(%rsp),%eax
+	pxor	%xmm6,%xmm7
+	movl	%ebx,%edi
+	xorl	%r11d,%r12d
+	rorl	$11,%r14d
+	pshufd	$8,%xmm7,%xmm7
+	xorl	%ecx,%edi
+	addl	%r12d,%eax
+	movdqa	32(%rbp),%xmm6
+	rorl	$6,%r13d
+	andl	%edi,%r15d
+	pslldq	$8,%xmm7
+	xorl	%ebx,%r14d
+	addl	%r13d,%eax
+	xorl	%ecx,%r15d
+	paddd	%xmm7,%xmm1
+	rorl	$2,%r14d
+	addl	%eax,%r8d
+	addl	%r15d,%eax
+	paddd	%xmm1,%xmm6
+	movl	%r8d,%r13d
+	addl	%eax,%r14d
+	movdqa	%xmm6,16(%rsp)
+	rorl	$14,%r13d
+	movdqa	%xmm3,%xmm4
+	movl	%r14d,%eax
+	movl	%r9d,%r12d
+	movdqa	%xmm1,%xmm7
+	rorl	$9,%r14d
+	xorl	%r8d,%r13d
+	xorl	%r10d,%r12d
+	rorl	$5,%r13d
+	xorl	%eax,%r14d
+.byte	102,15,58,15,226,4
+	andl	%r8d,%r12d
+	xorl	%r8d,%r13d
+.byte	102,15,58,15,248,4
+	addl	32(%rsp),%r11d
+	movl	%eax,%r15d
+	xorl	%r10d,%r12d
+	rorl	$11,%r14d
+	movdqa	%xmm4,%xmm5
+	xorl	%ebx,%r15d
+	addl	%r12d,%r11d
+	movdqa	%xmm4,%xmm6
+	rorl	$6,%r13d
+	andl	%r15d,%edi
+	psrld	$3,%xmm4
+	xorl	%eax,%r14d
+	addl	%r13d,%r11d
+	xorl	%ebx,%edi
+	paddd	%xmm7,%xmm2
+	rorl	$2,%r14d
+	addl	%r11d,%edx
+	psrld	$7,%xmm6
+	addl	%edi,%r11d
+	movl	%edx,%r13d
+	pshufd	$250,%xmm1,%xmm7
+	addl	%r11d,%r14d
+	rorl	$14,%r13d
+	pslld	$14,%xmm5
+	movl	%r14d,%r11d
+	movl	%r8d,%r12d
+	pxor	%xmm6,%xmm4
+	rorl	$9,%r14d
+	xorl	%edx,%r13d
+	xorl	%r9d,%r12d
+	rorl	$5,%r13d
+	psrld	$11,%xmm6
+	xorl	%r11d,%r14d
+	pxor	%xmm5,%xmm4
+	andl	%edx,%r12d
+	xorl	%edx,%r13d
+	pslld	$11,%xmm5
+	addl	36(%rsp),%r10d
+	movl	%r11d,%edi
+	pxor	%xmm6,%xmm4
+	xorl	%r9d,%r12d
+	rorl	$11,%r14d
+	movdqa	%xmm7,%xmm6
+	xorl	%eax,%edi
+	addl	%r12d,%r10d
+	pxor	%xmm5,%xmm4
+	rorl	$6,%r13d
+	andl	%edi,%r15d
+	xorl	%r11d,%r14d
+	psrld	$10,%xmm7
+	addl	%r13d,%r10d
+	xorl	%eax,%r15d
+	paddd	%xmm4,%xmm2
+	rorl	$2,%r14d
+	addl	%r10d,%ecx
+	psrlq	$17,%xmm6
+	addl	%r15d,%r10d
+	movl	%ecx,%r13d
+	addl	%r10d,%r14d
+	pxor	%xmm6,%xmm7
+	rorl	$14,%r13d
+	movl	%r14d,%r10d
+	movl	%edx,%r12d
+	rorl	$9,%r14d
+	psrlq	$2,%xmm6
+	xorl	%ecx,%r13d
+	xorl	%r8d,%r12d
+	pxor	%xmm6,%xmm7
+	rorl	$5,%r13d
+	xorl	%r10d,%r14d
+	andl	%ecx,%r12d
+	pshufd	$128,%xmm7,%xmm7
+	xorl	%ecx,%r13d
+	addl	40(%rsp),%r9d
+	movl	%r10d,%r15d
+	psrldq	$8,%xmm7
+	xorl	%r8d,%r12d
+	rorl	$11,%r14d
+	xorl	%r11d,%r15d
+	addl	%r12d,%r9d
+	rorl	$6,%r13d
+	paddd	%xmm7,%xmm2
+	andl	%r15d,%edi
+	xorl	%r10d,%r14d
+	addl	%r13d,%r9d
+	pshufd	$80,%xmm2,%xmm7
+	xorl	%r11d,%edi
+	rorl	$2,%r14d
+	addl	%r9d,%ebx
+	movdqa	%xmm7,%xmm6
+	addl	%edi,%r9d
+	movl	%ebx,%r13d
+	psrld	$10,%xmm7
+	addl	%r9d,%r14d
+	rorl	$14,%r13d
+	psrlq	$17,%xmm6
+	movl	%r14d,%r9d
+	movl	%ecx,%r12d
+	pxor	%xmm6,%xmm7
+	rorl	$9,%r14d
+	xorl	%ebx,%r13d
+	xorl	%edx,%r12d
+	rorl	$5,%r13d
+	xorl	%r9d,%r14d
+	psrlq	$2,%xmm6
+	andl	%ebx,%r12d
+	xorl	%ebx,%r13d
+	addl	44(%rsp),%r8d
+	pxor	%xmm6,%xmm7
+	movl	%r9d,%edi
+	xorl	%edx,%r12d
+	rorl	$11,%r14d
+	pshufd	$8,%xmm7,%xmm7
+	xorl	%r10d,%edi
+	addl	%r12d,%r8d
+	movdqa	64(%rbp),%xmm6
+	rorl	$6,%r13d
+	andl	%edi,%r15d
+	pslldq	$8,%xmm7
+	xorl	%r9d,%r14d
+	addl	%r13d,%r8d
+	xorl	%r10d,%r15d
+	paddd	%xmm7,%xmm2
+	rorl	$2,%r14d
+	addl	%r8d,%eax
+	addl	%r15d,%r8d
+	paddd	%xmm2,%xmm6
+	movl	%eax,%r13d
+	addl	%r8d,%r14d
+	movdqa	%xmm6,32(%rsp)
+	rorl	$14,%r13d
+	movdqa	%xmm0,%xmm4
+	movl	%r14d,%r8d
+	movl	%ebx,%r12d
+	movdqa	%xmm2,%xmm7
+	rorl	$9,%r14d
+	xorl	%eax,%r13d
+	xorl	%ecx,%r12d
+	rorl	$5,%r13d
+	xorl	%r8d,%r14d
+.byte	102,15,58,15,227,4
+	andl	%eax,%r12d
+	xorl	%eax,%r13d
+.byte	102,15,58,15,249,4
+	addl	48(%rsp),%edx
+	movl	%r8d,%r15d
+	xorl	%ecx,%r12d
+	rorl	$11,%r14d
+	movdqa	%xmm4,%xmm5
+	xorl	%r9d,%r15d
+	addl	%r12d,%edx
+	movdqa	%xmm4,%xmm6
+	rorl	$6,%r13d
+	andl	%r15d,%edi
+	psrld	$3,%xmm4
+	xorl	%r8d,%r14d
+	addl	%r13d,%edx
+	xorl	%r9d,%edi
+	paddd	%xmm7,%xmm3
+	rorl	$2,%r14d
+	addl	%edx,%r11d
+	psrld	$7,%xmm6
+	addl	%edi,%edx
+	movl	%r11d,%r13d
+	pshufd	$250,%xmm2,%xmm7
+	addl	%edx,%r14d
+	rorl	$14,%r13d
+	pslld	$14,%xmm5
+	movl	%r14d,%edx
+	movl	%eax,%r12d
+	pxor	%xmm6,%xmm4
+	rorl	$9,%r14d
+	xorl	%r11d,%r13d
+	xorl	%ebx,%r12d
+	rorl	$5,%r13d
+	psrld	$11,%xmm6
+	xorl	%edx,%r14d
+	pxor	%xmm5,%xmm4
+	andl	%r11d,%r12d
+	xorl	%r11d,%r13d
+	pslld	$11,%xmm5
+	addl	52(%rsp),%ecx
+	movl	%edx,%edi
+	pxor	%xmm6,%xmm4
+	xorl	%ebx,%r12d
+	rorl	$11,%r14d
+	movdqa	%xmm7,%xmm6
+	xorl	%r8d,%edi
+	addl	%r12d,%ecx
+	pxor	%xmm5,%xmm4
+	rorl	$6,%r13d
+	andl	%edi,%r15d
+	xorl	%edx,%r14d
+	psrld	$10,%xmm7
+	addl	%r13d,%ecx
+	xorl	%r8d,%r15d
+	paddd	%xmm4,%xmm3
+	rorl	$2,%r14d
+	addl	%ecx,%r10d
+	psrlq	$17,%xmm6
+	addl	%r15d,%ecx
+	movl	%r10d,%r13d
+	addl	%ecx,%r14d
+	pxor	%xmm6,%xmm7
+	rorl	$14,%r13d
+	movl	%r14d,%ecx
+	movl	%r11d,%r12d
+	rorl	$9,%r14d
+	psrlq	$2,%xmm6
+	xorl	%r10d,%r13d
+	xorl	%eax,%r12d
+	pxor	%xmm6,%xmm7
+	rorl	$5,%r13d
+	xorl	%ecx,%r14d
+	andl	%r10d,%r12d
+	pshufd	$128,%xmm7,%xmm7
+	xorl	%r10d,%r13d
+	addl	56(%rsp),%ebx
+	movl	%ecx,%r15d
+	psrldq	$8,%xmm7
+	xorl	%eax,%r12d
+	rorl	$11,%r14d
+	xorl	%edx,%r15d
+	addl	%r12d,%ebx
+	rorl	$6,%r13d
+	paddd	%xmm7,%xmm3
+	andl	%r15d,%edi
+	xorl	%ecx,%r14d
+	addl	%r13d,%ebx
+	pshufd	$80,%xmm3,%xmm7
+	xorl	%edx,%edi
+	rorl	$2,%r14d
+	addl	%ebx,%r9d
+	movdqa	%xmm7,%xmm6
+	addl	%edi,%ebx
+	movl	%r9d,%r13d
+	psrld	$10,%xmm7
+	addl	%ebx,%r14d
+	rorl	$14,%r13d
+	psrlq	$17,%xmm6
+	movl	%r14d,%ebx
+	movl	%r10d,%r12d
+	pxor	%xmm6,%xmm7
+	rorl	$9,%r14d
+	xorl	%r9d,%r13d
+	xorl	%r11d,%r12d
+	rorl	$5,%r13d
+	xorl	%ebx,%r14d
+	psrlq	$2,%xmm6
+	andl	%r9d,%r12d
+	xorl	%r9d,%r13d
+	addl	60(%rsp),%eax
+	pxor	%xmm6,%xmm7
+	movl	%ebx,%edi
+	xorl	%r11d,%r12d
+	rorl	$11,%r14d
+	pshufd	$8,%xmm7,%xmm7
+	xorl	%ecx,%edi
+	addl	%r12d,%eax
+	movdqa	96(%rbp),%xmm6
+	rorl	$6,%r13d
+	andl	%edi,%r15d
+	pslldq	$8,%xmm7
+	xorl	%ebx,%r14d
+	addl	%r13d,%eax
+	xorl	%ecx,%r15d
+	paddd	%xmm7,%xmm3
+	rorl	$2,%r14d
+	addl	%eax,%r8d
+	addl	%r15d,%eax
+	paddd	%xmm3,%xmm6
+	movl	%r8d,%r13d
+	addl	%eax,%r14d
+	movdqa	%xmm6,48(%rsp)
+	cmpb	$0,131(%rbp)
+	jne	L$ssse3_00_47
+	rorl	$14,%r13d
+	movl	%r14d,%eax
+	movl	%r9d,%r12d
+	rorl	$9,%r14d
+	xorl	%r8d,%r13d
+	xorl	%r10d,%r12d
+	rorl	$5,%r13d
+	xorl	%eax,%r14d
+	andl	%r8d,%r12d
+	xorl	%r8d,%r13d
+	addl	0(%rsp),%r11d
+	movl	%eax,%r15d
+	xorl	%r10d,%r12d
+	rorl	$11,%r14d
+	xorl	%ebx,%r15d
+	addl	%r12d,%r11d
+	rorl	$6,%r13d
+	andl	%r15d,%edi
+	xorl	%eax,%r14d
+	addl	%r13d,%r11d
+	xorl	%ebx,%edi
+	rorl	$2,%r14d
+	addl	%r11d,%edx
+	addl	%edi,%r11d
+	movl	%edx,%r13d
+	addl	%r11d,%r14d
+	rorl	$14,%r13d
+	movl	%r14d,%r11d
+	movl	%r8d,%r12d
+	rorl	$9,%r14d
+	xorl	%edx,%r13d
+	xorl	%r9d,%r12d
+	rorl	$5,%r13d
+	xorl	%r11d,%r14d
+	andl	%edx,%r12d
+	xorl	%edx,%r13d
+	addl	4(%rsp),%r10d
+	movl	%r11d,%edi
+	xorl	%r9d,%r12d
+	rorl	$11,%r14d
+	xorl	%eax,%edi
+	addl	%r12d,%r10d
+	rorl	$6,%r13d
+	andl	%edi,%r15d
+	xorl	%r11d,%r14d
+	addl	%r13d,%r10d
+	xorl	%eax,%r15d
+	rorl	$2,%r14d
+	addl	%r10d,%ecx
+	addl	%r15d,%r10d
+	movl	%ecx,%r13d
+	addl	%r10d,%r14d
+	rorl	$14,%r13d
+	movl	%r14d,%r10d
+	movl	%edx,%r12d
+	rorl	$9,%r14d
+	xorl	%ecx,%r13d
+	xorl	%r8d,%r12d
+	rorl	$5,%r13d
+	xorl	%r10d,%r14d
+	andl	%ecx,%r12d
+	xorl	%ecx,%r13d
+	addl	8(%rsp),%r9d
+	movl	%r10d,%r15d
+	xorl	%r8d,%r12d
+	rorl	$11,%r14d
+	xorl	%r11d,%r15d
+	addl	%r12d,%r9d
+	rorl	$6,%r13d
+	andl	%r15d,%edi
+	xorl	%r10d,%r14d
+	addl	%r13d,%r9d
+	xorl	%r11d,%edi
+	rorl	$2,%r14d
+	addl	%r9d,%ebx
+	addl	%edi,%r9d
+	movl	%ebx,%r13d
+	addl	%r9d,%r14d
+	rorl	$14,%r13d
+	movl	%r14d,%r9d
+	movl	%ecx,%r12d
+	rorl	$9,%r14d
+	xorl	%ebx,%r13d
+	xorl	%edx,%r12d
+	rorl	$5,%r13d
+	xorl	%r9d,%r14d
+	andl	%ebx,%r12d
+	xorl	%ebx,%r13d
+	addl	12(%rsp),%r8d
+	movl	%r9d,%edi
+	xorl	%edx,%r12d
+	rorl	$11,%r14d
+	xorl	%r10d,%edi
+	addl	%r12d,%r8d
+	rorl	$6,%r13d
+	andl	%edi,%r15d
+	xorl	%r9d,%r14d
+	addl	%r13d,%r8d
+	xorl	%r10d,%r15d
+	rorl	$2,%r14d
+	addl	%r8d,%eax
+	addl	%r15d,%r8d
+	movl	%eax,%r13d
+	addl	%r8d,%r14d
+	rorl	$14,%r13d
+	movl	%r14d,%r8d
+	movl	%ebx,%r12d
+	rorl	$9,%r14d
+	xorl	%eax,%r13d
+	xorl	%ecx,%r12d
+	rorl	$5,%r13d
+	xorl	%r8d,%r14d
+	andl	%eax,%r12d
+	xorl	%eax,%r13d
+	addl	16(%rsp),%edx
+	movl	%r8d,%r15d
+	xorl	%ecx,%r12d
+	rorl	$11,%r14d
+	xorl	%r9d,%r15d
+	addl	%r12d,%edx
+	rorl	$6,%r13d
+	andl	%r15d,%edi
+	xorl	%r8d,%r14d
+	addl	%r13d,%edx
+	xorl	%r9d,%edi
+	rorl	$2,%r14d
+	addl	%edx,%r11d
+	addl	%edi,%edx
+	movl	%r11d,%r13d
+	addl	%edx,%r14d
+	rorl	$14,%r13d
+	movl	%r14d,%edx
+	movl	%eax,%r12d
+	rorl	$9,%r14d
+	xorl	%r11d,%r13d
+	xorl	%ebx,%r12d
+	rorl	$5,%r13d
+	xorl	%edx,%r14d
+	andl	%r11d,%r12d
+	xorl	%r11d,%r13d
+	addl	20(%rsp),%ecx
+	movl	%edx,%edi
+	xorl	%ebx,%r12d
+	rorl	$11,%r14d
+	xorl	%r8d,%edi
+	addl	%r12d,%ecx
+	rorl	$6,%r13d
+	andl	%edi,%r15d
+	xorl	%edx,%r14d
+	addl	%r13d,%ecx
+	xorl	%r8d,%r15d
+	rorl	$2,%r14d
+	addl	%ecx,%r10d
+	addl	%r15d,%ecx
+	movl	%r10d,%r13d
+	addl	%ecx,%r14d
+	rorl	$14,%r13d
+	movl	%r14d,%ecx
+	movl	%r11d,%r12d
+	rorl	$9,%r14d
+	xorl	%r10d,%r13d
+	xorl	%eax,%r12d
+	rorl	$5,%r13d
+	xorl	%ecx,%r14d
+	andl	%r10d,%r12d
+	xorl	%r10d,%r13d
+	addl	24(%rsp),%ebx
+	movl	%ecx,%r15d
+	xorl	%eax,%r12d
+	rorl	$11,%r14d
+	xorl	%edx,%r15d
+	addl	%r12d,%ebx
+	rorl	$6,%r13d
+	andl	%r15d,%edi
+	xorl	%ecx,%r14d
+	addl	%r13d,%ebx
+	xorl	%edx,%edi
+	rorl	$2,%r14d
+	addl	%ebx,%r9d
+	addl	%edi,%ebx
+	movl	%r9d,%r13d
+	addl	%ebx,%r14d
+	rorl	$14,%r13d
+	movl	%r14d,%ebx
+	movl	%r10d,%r12d
+	rorl	$9,%r14d
+	xorl	%r9d,%r13d
+	xorl	%r11d,%r12d
+	rorl	$5,%r13d
+	xorl	%ebx,%r14d
+	andl	%r9d,%r12d
+	xorl	%r9d,%r13d
+	addl	28(%rsp),%eax
+	movl	%ebx,%edi
+	xorl	%r11d,%r12d
+	rorl	$11,%r14d
+	xorl	%ecx,%edi
+	addl	%r12d,%eax
+	rorl	$6,%r13d
+	andl	%edi,%r15d
+	xorl	%ebx,%r14d
+	addl	%r13d,%eax
+	xorl	%ecx,%r15d
+	rorl	$2,%r14d
+	addl	%eax,%r8d
+	addl	%r15d,%eax
+	movl	%r8d,%r13d
+	addl	%eax,%r14d
+	rorl	$14,%r13d
+	movl	%r14d,%eax
+	movl	%r9d,%r12d
+	rorl	$9,%r14d
+	xorl	%r8d,%r13d
+	xorl	%r10d,%r12d
+	rorl	$5,%r13d
+	xorl	%eax,%r14d
+	andl	%r8d,%r12d
+	xorl	%r8d,%r13d
+	addl	32(%rsp),%r11d
+	movl	%eax,%r15d
+	xorl	%r10d,%r12d
+	rorl	$11,%r14d
+	xorl	%ebx,%r15d
+	addl	%r12d,%r11d
+	rorl	$6,%r13d
+	andl	%r15d,%edi
+	xorl	%eax,%r14d
+	addl	%r13d,%r11d
+	xorl	%ebx,%edi
+	rorl	$2,%r14d
+	addl	%r11d,%edx
+	addl	%edi,%r11d
+	movl	%edx,%r13d
+	addl	%r11d,%r14d
+	rorl	$14,%r13d
+	movl	%r14d,%r11d
+	movl	%r8d,%r12d
+	rorl	$9,%r14d
+	xorl	%edx,%r13d
+	xorl	%r9d,%r12d
+	rorl	$5,%r13d
+	xorl	%r11d,%r14d
+	andl	%edx,%r12d
+	xorl	%edx,%r13d
+	addl	36(%rsp),%r10d
+	movl	%r11d,%edi
+	xorl	%r9d,%r12d
+	rorl	$11,%r14d
+	xorl	%eax,%edi
+	addl	%r12d,%r10d
+	rorl	$6,%r13d
+	andl	%edi,%r15d
+	xorl	%r11d,%r14d
+	addl	%r13d,%r10d
+	xorl	%eax,%r15d
+	rorl	$2,%r14d
+	addl	%r10d,%ecx
+	addl	%r15d,%r10d
+	movl	%ecx,%r13d
+	addl	%r10d,%r14d
+	rorl	$14,%r13d
+	movl	%r14d,%r10d
+	movl	%edx,%r12d
+	rorl	$9,%r14d
+	xorl	%ecx,%r13d
+	xorl	%r8d,%r12d
+	rorl	$5,%r13d
+	xorl	%r10d,%r14d
+	andl	%ecx,%r12d
+	xorl	%ecx,%r13d
+	addl	40(%rsp),%r9d
+	movl	%r10d,%r15d
+	xorl	%r8d,%r12d
+	rorl	$11,%r14d
+	xorl	%r11d,%r15d
+	addl	%r12d,%r9d
+	rorl	$6,%r13d
+	andl	%r15d,%edi
+	xorl	%r10d,%r14d
+	addl	%r13d,%r9d
+	xorl	%r11d,%edi
+	rorl	$2,%r14d
+	addl	%r9d,%ebx
+	addl	%edi,%r9d
+	movl	%ebx,%r13d
+	addl	%r9d,%r14d
+	rorl	$14,%r13d
+	movl	%r14d,%r9d
+	movl	%ecx,%r12d
+	rorl	$9,%r14d
+	xorl	%ebx,%r13d
+	xorl	%edx,%r12d
+	rorl	$5,%r13d
+	xorl	%r9d,%r14d
+	andl	%ebx,%r12d
+	xorl	%ebx,%r13d
+	addl	44(%rsp),%r8d
+	movl	%r9d,%edi
+	xorl	%edx,%r12d
+	rorl	$11,%r14d
+	xorl	%r10d,%edi
+	addl	%r12d,%r8d
+	rorl	$6,%r13d
+	andl	%edi,%r15d
+	xorl	%r9d,%r14d
+	addl	%r13d,%r8d
+	xorl	%r10d,%r15d
+	rorl	$2,%r14d
+	addl	%r8d,%eax
+	addl	%r15d,%r8d
+	movl	%eax,%r13d
+	addl	%r8d,%r14d
+	rorl	$14,%r13d
+	movl	%r14d,%r8d
+	movl	%ebx,%r12d
+	rorl	$9,%r14d
+	xorl	%eax,%r13d
+	xorl	%ecx,%r12d
+	rorl	$5,%r13d
+	xorl	%r8d,%r14d
+	andl	%eax,%r12d
+	xorl	%eax,%r13d
+	addl	48(%rsp),%edx
+	movl	%r8d,%r15d
+	xorl	%ecx,%r12d
+	rorl	$11,%r14d
+	xorl	%r9d,%r15d
+	addl	%r12d,%edx
+	rorl	$6,%r13d
+	andl	%r15d,%edi
+	xorl	%r8d,%r14d
+	addl	%r13d,%edx
+	xorl	%r9d,%edi
+	rorl	$2,%r14d
+	addl	%edx,%r11d
+	addl	%edi,%edx
+	movl	%r11d,%r13d
+	addl	%edx,%r14d
+	rorl	$14,%r13d
+	movl	%r14d,%edx
+	movl	%eax,%r12d
+	rorl	$9,%r14d
+	xorl	%r11d,%r13d
+	xorl	%ebx,%r12d
+	rorl	$5,%r13d
+	xorl	%edx,%r14d
+	andl	%r11d,%r12d
+	xorl	%r11d,%r13d
+	addl	52(%rsp),%ecx
+	movl	%edx,%edi
+	xorl	%ebx,%r12d
+	rorl	$11,%r14d
+	xorl	%r8d,%edi
+	addl	%r12d,%ecx
+	rorl	$6,%r13d
+	andl	%edi,%r15d
+	xorl	%edx,%r14d
+	addl	%r13d,%ecx
+	xorl	%r8d,%r15d
+	rorl	$2,%r14d
+	addl	%ecx,%r10d
+	addl	%r15d,%ecx
+	movl	%r10d,%r13d
+	addl	%ecx,%r14d
+	rorl	$14,%r13d
+	movl	%r14d,%ecx
+	movl	%r11d,%r12d
+	rorl	$9,%r14d
+	xorl	%r10d,%r13d
+	xorl	%eax,%r12d
+	rorl	$5,%r13d
+	xorl	%ecx,%r14d
+	andl	%r10d,%r12d
+	xorl	%r10d,%r13d
+	addl	56(%rsp),%ebx
+	movl	%ecx,%r15d
+	xorl	%eax,%r12d
+	rorl	$11,%r14d
+	xorl	%edx,%r15d
+	addl	%r12d,%ebx
+	rorl	$6,%r13d
+	andl	%r15d,%edi
+	xorl	%ecx,%r14d
+	addl	%r13d,%ebx
+	xorl	%edx,%edi
+	rorl	$2,%r14d
+	addl	%ebx,%r9d
+	addl	%edi,%ebx
+	movl	%r9d,%r13d
+	addl	%ebx,%r14d
+	rorl	$14,%r13d
+	movl	%r14d,%ebx
+	movl	%r10d,%r12d
+	rorl	$9,%r14d
+	xorl	%r9d,%r13d
+	xorl	%r11d,%r12d
+	rorl	$5,%r13d
+	xorl	%ebx,%r14d
+	andl	%r9d,%r12d
+	xorl	%r9d,%r13d
+	addl	60(%rsp),%eax
+	movl	%ebx,%edi
+	xorl	%r11d,%r12d
+	rorl	$11,%r14d
+	xorl	%ecx,%edi
+	addl	%r12d,%eax
+	rorl	$6,%r13d
+	andl	%edi,%r15d
+	xorl	%ebx,%r14d
+	addl	%r13d,%eax
+	xorl	%ecx,%r15d
+	rorl	$2,%r14d
+	addl	%eax,%r8d
+	addl	%r15d,%eax
+	movl	%r8d,%r13d
+	addl	%eax,%r14d
+	movq	64+0(%rsp),%rdi
+	movl	%r14d,%eax
+
+	addl	0(%rdi),%eax
+	leaq	64(%rsi),%rsi
+	addl	4(%rdi),%ebx
+	addl	8(%rdi),%ecx
+	addl	12(%rdi),%edx
+	addl	16(%rdi),%r8d
+	addl	20(%rdi),%r9d
+	addl	24(%rdi),%r10d
+	addl	28(%rdi),%r11d
+
+	cmpq	64+16(%rsp),%rsi
+
+	movl	%eax,0(%rdi)
+	movl	%ebx,4(%rdi)
+	movl	%ecx,8(%rdi)
+	movl	%edx,12(%rdi)
+	movl	%r8d,16(%rdi)
+	movl	%r9d,20(%rdi)
+	movl	%r10d,24(%rdi)
+	movl	%r11d,28(%rdi)
+	jb	L$loop_ssse3
+
+	movq	64+24(%rsp),%rsi
+	movq	-48(%rsi),%r15
+	movq	-40(%rsi),%r14
+	movq	-32(%rsi),%r13
+	movq	-24(%rsi),%r12
+	movq	-16(%rsi),%rbp
+	movq	-8(%rsi),%rbx
+	leaq	(%rsi),%rsp
+L$epilogue_ssse3:
+	.byte	0xf3,0xc3
+
+
+.p2align	6
+sha256_block_data_order_avx:
+L$avx_shortcut:
+	movq	%rsp,%rax
+	pushq	%rbx
+	pushq	%rbp
+	pushq	%r12
+	pushq	%r13
+	pushq	%r14
+	pushq	%r15
+	shlq	$4,%rdx
+	subq	$96,%rsp
+	leaq	(%rsi,%rdx,4),%rdx
+	andq	$-64,%rsp
+	movq	%rdi,64+0(%rsp)
+	movq	%rsi,64+8(%rsp)
+	movq	%rdx,64+16(%rsp)
+	movq	%rax,64+24(%rsp)
+L$prologue_avx:
+
+	vzeroupper
+	movl	0(%rdi),%eax
+	movl	4(%rdi),%ebx
+	movl	8(%rdi),%ecx
+	movl	12(%rdi),%edx
+	movl	16(%rdi),%r8d
+	movl	20(%rdi),%r9d
+	movl	24(%rdi),%r10d
+	movl	28(%rdi),%r11d
+	vmovdqa	K256+512+32(%rip),%xmm8
+	vmovdqa	K256+512+64(%rip),%xmm9
+	jmp	L$loop_avx
+.p2align	4
+L$loop_avx:
+	vmovdqa	K256+512(%rip),%xmm7
+	vmovdqu	0(%rsi),%xmm0
+	vmovdqu	16(%rsi),%xmm1
+	vmovdqu	32(%rsi),%xmm2
+	vmovdqu	48(%rsi),%xmm3
+	vpshufb	%xmm7,%xmm0,%xmm0
+	leaq	K256(%rip),%rbp
+	vpshufb	%xmm7,%xmm1,%xmm1
+	vpshufb	%xmm7,%xmm2,%xmm2
+	vpaddd	0(%rbp),%xmm0,%xmm4
+	vpshufb	%xmm7,%xmm3,%xmm3
+	vpaddd	32(%rbp),%xmm1,%xmm5
+	vpaddd	64(%rbp),%xmm2,%xmm6
+	vpaddd	96(%rbp),%xmm3,%xmm7
+	vmovdqa	%xmm4,0(%rsp)
+	movl	%eax,%r14d
+	vmovdqa	%xmm5,16(%rsp)
+	movl	%ebx,%edi
+	vmovdqa	%xmm6,32(%rsp)
+	xorl	%ecx,%edi
+	vmovdqa	%xmm7,48(%rsp)
+	movl	%r8d,%r13d
+	jmp	L$avx_00_47
+
+.p2align	4
+L$avx_00_47:
+	subq	$-128,%rbp
+	vpalignr	$4,%xmm0,%xmm1,%xmm4
+	shrdl	$14,%r13d,%r13d
+	movl	%r14d,%eax
+	movl	%r9d,%r12d
+	vpalignr	$4,%xmm2,%xmm3,%xmm7
+	shrdl	$9,%r14d,%r14d
+	xorl	%r8d,%r13d
+	xorl	%r10d,%r12d
+	vpsrld	$7,%xmm4,%xmm6
+	shrdl	$5,%r13d,%r13d
+	xorl	%eax,%r14d
+	andl	%r8d,%r12d
+	vpaddd	%xmm7,%xmm0,%xmm0
+	xorl	%r8d,%r13d
+	addl	0(%rsp),%r11d
+	movl	%eax,%r15d
+	vpsrld	$3,%xmm4,%xmm7
+	xorl	%r10d,%r12d
+	shrdl	$11,%r14d,%r14d
+	xorl	%ebx,%r15d
+	vpslld	$14,%xmm4,%xmm5
+	addl	%r12d,%r11d
+	shrdl	$6,%r13d,%r13d
+	andl	%r15d,%edi
+	vpxor	%xmm6,%xmm7,%xmm4
+	xorl	%eax,%r14d
+	addl	%r13d,%r11d
+	xorl	%ebx,%edi
+	vpshufd	$250,%xmm3,%xmm7
+	shrdl	$2,%r14d,%r14d
+	addl	%r11d,%edx
+	addl	%edi,%r11d
+	vpsrld	$11,%xmm6,%xmm6
+	movl	%edx,%r13d
+	addl	%r11d,%r14d
+	shrdl	$14,%r13d,%r13d
+	vpxor	%xmm5,%xmm4,%xmm4
+	movl	%r14d,%r11d
+	movl	%r8d,%r12d
+	shrdl	$9,%r14d,%r14d
+	vpslld	$11,%xmm5,%xmm5
+	xorl	%edx,%r13d
+	xorl	%r9d,%r12d
+	shrdl	$5,%r13d,%r13d
+	vpxor	%xmm6,%xmm4,%xmm4
+	xorl	%r11d,%r14d
+	andl	%edx,%r12d
+	xorl	%edx,%r13d
+	vpsrld	$10,%xmm7,%xmm6
+	addl	4(%rsp),%r10d
+	movl	%r11d,%edi
+	xorl	%r9d,%r12d
+	vpxor	%xmm5,%xmm4,%xmm4
+	shrdl	$11,%r14d,%r14d
+	xorl	%eax,%edi
+	addl	%r12d,%r10d
+	vpsrlq	$17,%xmm7,%xmm7
+	shrdl	$6,%r13d,%r13d
+	andl	%edi,%r15d
+	xorl	%r11d,%r14d
+	vpaddd	%xmm4,%xmm0,%xmm0
+	addl	%r13d,%r10d
+	xorl	%eax,%r15d
+	shrdl	$2,%r14d,%r14d
+	vpxor	%xmm7,%xmm6,%xmm6
+	addl	%r10d,%ecx
+	addl	%r15d,%r10d
+	movl	%ecx,%r13d
+	vpsrlq	$2,%xmm7,%xmm7
+	addl	%r10d,%r14d
+	shrdl	$14,%r13d,%r13d
+	movl	%r14d,%r10d
+	vpxor	%xmm7,%xmm6,%xmm6
+	movl	%edx,%r12d
+	shrdl	$9,%r14d,%r14d
+	xorl	%ecx,%r13d
+	vpshufb	%xmm8,%xmm6,%xmm6
+	xorl	%r8d,%r12d
+	shrdl	$5,%r13d,%r13d
+	xorl	%r10d,%r14d
+	vpaddd	%xmm6,%xmm0,%xmm0
+	andl	%ecx,%r12d
+	xorl	%ecx,%r13d
+	addl	8(%rsp),%r9d
+	vpshufd	$80,%xmm0,%xmm7
+	movl	%r10d,%r15d
+	xorl	%r8d,%r12d
+	shrdl	$11,%r14d,%r14d
+	vpsrld	$10,%xmm7,%xmm6
+	xorl	%r11d,%r15d
+	addl	%r12d,%r9d
+	shrdl	$6,%r13d,%r13d
+	vpsrlq	$17,%xmm7,%xmm7
+	andl	%r15d,%edi
+	xorl	%r10d,%r14d
+	addl	%r13d,%r9d
+	vpxor	%xmm7,%xmm6,%xmm6
+	xorl	%r11d,%edi
+	shrdl	$2,%r14d,%r14d
+	addl	%r9d,%ebx
+	vpsrlq	$2,%xmm7,%xmm7
+	addl	%edi,%r9d
+	movl	%ebx,%r13d
+	addl	%r9d,%r14d
+	vpxor	%xmm7,%xmm6,%xmm6
+	shrdl	$14,%r13d,%r13d
+	movl	%r14d,%r9d
+	movl	%ecx,%r12d
+	vpshufb	%xmm9,%xmm6,%xmm6
+	shrdl	$9,%r14d,%r14d
+	xorl	%ebx,%r13d
+	xorl	%edx,%r12d
+	vpaddd	%xmm6,%xmm0,%xmm0
+	shrdl	$5,%r13d,%r13d
+	xorl	%r9d,%r14d
+	andl	%ebx,%r12d
+	vpaddd	0(%rbp),%xmm0,%xmm6
+	xorl	%ebx,%r13d
+	addl	12(%rsp),%r8d
+	movl	%r9d,%edi
+	xorl	%edx,%r12d
+	shrdl	$11,%r14d,%r14d
+	xorl	%r10d,%edi
+	addl	%r12d,%r8d
+	shrdl	$6,%r13d,%r13d
+	andl	%edi,%r15d
+	xorl	%r9d,%r14d
+	addl	%r13d,%r8d
+	xorl	%r10d,%r15d
+	shrdl	$2,%r14d,%r14d
+	addl	%r8d,%eax
+	addl	%r15d,%r8d
+	movl	%eax,%r13d
+	addl	%r8d,%r14d
+	vmovdqa	%xmm6,0(%rsp)
+	vpalignr	$4,%xmm1,%xmm2,%xmm4
+	shrdl	$14,%r13d,%r13d
+	movl	%r14d,%r8d
+	movl	%ebx,%r12d
+	vpalignr	$4,%xmm3,%xmm0,%xmm7
+	shrdl	$9,%r14d,%r14d
+	xorl	%eax,%r13d
+	xorl	%ecx,%r12d
+	vpsrld	$7,%xmm4,%xmm6
+	shrdl	$5,%r13d,%r13d
+	xorl	%r8d,%r14d
+	andl	%eax,%r12d
+	vpaddd	%xmm7,%xmm1,%xmm1
+	xorl	%eax,%r13d
+	addl	16(%rsp),%edx
+	movl	%r8d,%r15d
+	vpsrld	$3,%xmm4,%xmm7
+	xorl	%ecx,%r12d
+	shrdl	$11,%r14d,%r14d
+	xorl	%r9d,%r15d
+	vpslld	$14,%xmm4,%xmm5
+	addl	%r12d,%edx
+	shrdl	$6,%r13d,%r13d
+	andl	%r15d,%edi
+	vpxor	%xmm6,%xmm7,%xmm4
+	xorl	%r8d,%r14d
+	addl	%r13d,%edx
+	xorl	%r9d,%edi
+	vpshufd	$250,%xmm0,%xmm7
+	shrdl	$2,%r14d,%r14d
+	addl	%edx,%r11d
+	addl	%edi,%edx
+	vpsrld	$11,%xmm6,%xmm6
+	movl	%r11d,%r13d
+	addl	%edx,%r14d
+	shrdl	$14,%r13d,%r13d
+	vpxor	%xmm5,%xmm4,%xmm4
+	movl	%r14d,%edx
+	movl	%eax,%r12d
+	shrdl	$9,%r14d,%r14d
+	vpslld	$11,%xmm5,%xmm5
+	xorl	%r11d,%r13d
+	xorl	%ebx,%r12d
+	shrdl	$5,%r13d,%r13d
+	vpxor	%xmm6,%xmm4,%xmm4
+	xorl	%edx,%r14d
+	andl	%r11d,%r12d
+	xorl	%r11d,%r13d
+	vpsrld	$10,%xmm7,%xmm6
+	addl	20(%rsp),%ecx
+	movl	%edx,%edi
+	xorl	%ebx,%r12d
+	vpxor	%xmm5,%xmm4,%xmm4
+	shrdl	$11,%r14d,%r14d
+	xorl	%r8d,%edi
+	addl	%r12d,%ecx
+	vpsrlq	$17,%xmm7,%xmm7
+	shrdl	$6,%r13d,%r13d
+	andl	%edi,%r15d
+	xorl	%edx,%r14d
+	vpaddd	%xmm4,%xmm1,%xmm1
+	addl	%r13d,%ecx
+	xorl	%r8d,%r15d
+	shrdl	$2,%r14d,%r14d
+	vpxor	%xmm7,%xmm6,%xmm6
+	addl	%ecx,%r10d
+	addl	%r15d,%ecx
+	movl	%r10d,%r13d
+	vpsrlq	$2,%xmm7,%xmm7
+	addl	%ecx,%r14d
+	shrdl	$14,%r13d,%r13d
+	movl	%r14d,%ecx
+	vpxor	%xmm7,%xmm6,%xmm6
+	movl	%r11d,%r12d
+	shrdl	$9,%r14d,%r14d
+	xorl	%r10d,%r13d
+	vpshufb	%xmm8,%xmm6,%xmm6
+	xorl	%eax,%r12d
+	shrdl	$5,%r13d,%r13d
+	xorl	%ecx,%r14d
+	vpaddd	%xmm6,%xmm1,%xmm1
+	andl	%r10d,%r12d
+	xorl	%r10d,%r13d
+	addl	24(%rsp),%ebx
+	vpshufd	$80,%xmm1,%xmm7
+	movl	%ecx,%r15d
+	xorl	%eax,%r12d
+	shrdl	$11,%r14d,%r14d
+	vpsrld	$10,%xmm7,%xmm6
+	xorl	%edx,%r15d
+	addl	%r12d,%ebx
+	shrdl	$6,%r13d,%r13d
+	vpsrlq	$17,%xmm7,%xmm7
+	andl	%r15d,%edi
+	xorl	%ecx,%r14d
+	addl	%r13d,%ebx
+	vpxor	%xmm7,%xmm6,%xmm6
+	xorl	%edx,%edi
+	shrdl	$2,%r14d,%r14d
+	addl	%ebx,%r9d
+	vpsrlq	$2,%xmm7,%xmm7
+	addl	%edi,%ebx
+	movl	%r9d,%r13d
+	addl	%ebx,%r14d
+	vpxor	%xmm7,%xmm6,%xmm6
+	shrdl	$14,%r13d,%r13d
+	movl	%r14d,%ebx
+	movl	%r10d,%r12d
+	vpshufb	%xmm9,%xmm6,%xmm6
+	shrdl	$9,%r14d,%r14d
+	xorl	%r9d,%r13d
+	xorl	%r11d,%r12d
+	vpaddd	%xmm6,%xmm1,%xmm1
+	shrdl	$5,%r13d,%r13d
+	xorl	%ebx,%r14d
+	andl	%r9d,%r12d
+	vpaddd	32(%rbp),%xmm1,%xmm6
+	xorl	%r9d,%r13d
+	addl	28(%rsp),%eax
+	movl	%ebx,%edi
+	xorl	%r11d,%r12d
+	shrdl	$11,%r14d,%r14d
+	xorl	%ecx,%edi
+	addl	%r12d,%eax
+	shrdl	$6,%r13d,%r13d
+	andl	%edi,%r15d
+	xorl	%ebx,%r14d
+	addl	%r13d,%eax
+	xorl	%ecx,%r15d
+	shrdl	$2,%r14d,%r14d
+	addl	%eax,%r8d
+	addl	%r15d,%eax
+	movl	%r8d,%r13d
+	addl	%eax,%r14d
+	vmovdqa	%xmm6,16(%rsp)
+	vpalignr	$4,%xmm2,%xmm3,%xmm4
+	shrdl	$14,%r13d,%r13d
+	movl	%r14d,%eax
+	movl	%r9d,%r12d
+	vpalignr	$4,%xmm0,%xmm1,%xmm7
+	shrdl	$9,%r14d,%r14d
+	xorl	%r8d,%r13d
+	xorl	%r10d,%r12d
+	vpsrld	$7,%xmm4,%xmm6
+	shrdl	$5,%r13d,%r13d
+	xorl	%eax,%r14d
+	andl	%r8d,%r12d
+	vpaddd	%xmm7,%xmm2,%xmm2
+	xorl	%r8d,%r13d
+	addl	32(%rsp),%r11d
+	movl	%eax,%r15d
+	vpsrld	$3,%xmm4,%xmm7
+	xorl	%r10d,%r12d
+	shrdl	$11,%r14d,%r14d
+	xorl	%ebx,%r15d
+	vpslld	$14,%xmm4,%xmm5
+	addl	%r12d,%r11d
+	shrdl	$6,%r13d,%r13d
+	andl	%r15d,%edi
+	vpxor	%xmm6,%xmm7,%xmm4
+	xorl	%eax,%r14d
+	addl	%r13d,%r11d
+	xorl	%ebx,%edi
+	vpshufd	$250,%xmm1,%xmm7
+	shrdl	$2,%r14d,%r14d
+	addl	%r11d,%edx
+	addl	%edi,%r11d
+	vpsrld	$11,%xmm6,%xmm6
+	movl	%edx,%r13d
+	addl	%r11d,%r14d
+	shrdl	$14,%r13d,%r13d
+	vpxor	%xmm5,%xmm4,%xmm4
+	movl	%r14d,%r11d
+	movl	%r8d,%r12d
+	shrdl	$9,%r14d,%r14d
+	vpslld	$11,%xmm5,%xmm5
+	xorl	%edx,%r13d
+	xorl	%r9d,%r12d
+	shrdl	$5,%r13d,%r13d
+	vpxor	%xmm6,%xmm4,%xmm4
+	xorl	%r11d,%r14d
+	andl	%edx,%r12d
+	xorl	%edx,%r13d
+	vpsrld	$10,%xmm7,%xmm6
+	addl	36(%rsp),%r10d
+	movl	%r11d,%edi
+	xorl	%r9d,%r12d
+	vpxor	%xmm5,%xmm4,%xmm4
+	shrdl	$11,%r14d,%r14d
+	xorl	%eax,%edi
+	addl	%r12d,%r10d
+	vpsrlq	$17,%xmm7,%xmm7
+	shrdl	$6,%r13d,%r13d
+	andl	%edi,%r15d
+	xorl	%r11d,%r14d
+	vpaddd	%xmm4,%xmm2,%xmm2
+	addl	%r13d,%r10d
+	xorl	%eax,%r15d
+	shrdl	$2,%r14d,%r14d
+	vpxor	%xmm7,%xmm6,%xmm6
+	addl	%r10d,%ecx
+	addl	%r15d,%r10d
+	movl	%ecx,%r13d
+	vpsrlq	$2,%xmm7,%xmm7
+	addl	%r10d,%r14d
+	shrdl	$14,%r13d,%r13d
+	movl	%r14d,%r10d
+	vpxor	%xmm7,%xmm6,%xmm6
+	movl	%edx,%r12d
+	shrdl	$9,%r14d,%r14d
+	xorl	%ecx,%r13d
+	vpshufb	%xmm8,%xmm6,%xmm6
+	xorl	%r8d,%r12d
+	shrdl	$5,%r13d,%r13d
+	xorl	%r10d,%r14d
+	vpaddd	%xmm6,%xmm2,%xmm2
+	andl	%ecx,%r12d
+	xorl	%ecx,%r13d
+	addl	40(%rsp),%r9d
+	vpshufd	$80,%xmm2,%xmm7
+	movl	%r10d,%r15d
+	xorl	%r8d,%r12d
+	shrdl	$11,%r14d,%r14d
+	vpsrld	$10,%xmm7,%xmm6
+	xorl	%r11d,%r15d
+	addl	%r12d,%r9d
+	shrdl	$6,%r13d,%r13d
+	vpsrlq	$17,%xmm7,%xmm7
+	andl	%r15d,%edi
+	xorl	%r10d,%r14d
+	addl	%r13d,%r9d
+	vpxor	%xmm7,%xmm6,%xmm6
+	xorl	%r11d,%edi
+	shrdl	$2,%r14d,%r14d
+	addl	%r9d,%ebx
+	vpsrlq	$2,%xmm7,%xmm7
+	addl	%edi,%r9d
+	movl	%ebx,%r13d
+	addl	%r9d,%r14d
+	vpxor	%xmm7,%xmm6,%xmm6
+	shrdl	$14,%r13d,%r13d
+	movl	%r14d,%r9d
+	movl	%ecx,%r12d
+	vpshufb	%xmm9,%xmm6,%xmm6
+	shrdl	$9,%r14d,%r14d
+	xorl	%ebx,%r13d
+	xorl	%edx,%r12d
+	vpaddd	%xmm6,%xmm2,%xmm2
+	shrdl	$5,%r13d,%r13d
+	xorl	%r9d,%r14d
+	andl	%ebx,%r12d
+	vpaddd	64(%rbp),%xmm2,%xmm6
+	xorl	%ebx,%r13d
+	addl	44(%rsp),%r8d
+	movl	%r9d,%edi
+	xorl	%edx,%r12d
+	shrdl	$11,%r14d,%r14d
+	xorl	%r10d,%edi
+	addl	%r12d,%r8d
+	shrdl	$6,%r13d,%r13d
+	andl	%edi,%r15d
+	xorl	%r9d,%r14d
+	addl	%r13d,%r8d
+	xorl	%r10d,%r15d
+	shrdl	$2,%r14d,%r14d
+	addl	%r8d,%eax
+	addl	%r15d,%r8d
+	movl	%eax,%r13d
+	addl	%r8d,%r14d
+	vmovdqa	%xmm6,32(%rsp)
+	vpalignr	$4,%xmm3,%xmm0,%xmm4
+	shrdl	$14,%r13d,%r13d
+	movl	%r14d,%r8d
+	movl	%ebx,%r12d
+	vpalignr	$4,%xmm1,%xmm2,%xmm7
+	shrdl	$9,%r14d,%r14d
+	xorl	%eax,%r13d
+	xorl	%ecx,%r12d
+	vpsrld	$7,%xmm4,%xmm6
+	shrdl	$5,%r13d,%r13d
+	xorl	%r8d,%r14d
+	andl	%eax,%r12d
+	vpaddd	%xmm7,%xmm3,%xmm3
+	xorl	%eax,%r13d
+	addl	48(%rsp),%edx
+	movl	%r8d,%r15d
+	vpsrld	$3,%xmm4,%xmm7
+	xorl	%ecx,%r12d
+	shrdl	$11,%r14d,%r14d
+	xorl	%r9d,%r15d
+	vpslld	$14,%xmm4,%xmm5
+	addl	%r12d,%edx
+	shrdl	$6,%r13d,%r13d
+	andl	%r15d,%edi
+	vpxor	%xmm6,%xmm7,%xmm4
+	xorl	%r8d,%r14d
+	addl	%r13d,%edx
+	xorl	%r9d,%edi
+	vpshufd	$250,%xmm2,%xmm7
+	shrdl	$2,%r14d,%r14d
+	addl	%edx,%r11d
+	addl	%edi,%edx
+	vpsrld	$11,%xmm6,%xmm6
+	movl	%r11d,%r13d
+	addl	%edx,%r14d
+	shrdl	$14,%r13d,%r13d
+	vpxor	%xmm5,%xmm4,%xmm4
+	movl	%r14d,%edx
+	movl	%eax,%r12d
+	shrdl	$9,%r14d,%r14d
+	vpslld	$11,%xmm5,%xmm5
+	xorl	%r11d,%r13d
+	xorl	%ebx,%r12d
+	shrdl	$5,%r13d,%r13d
+	vpxor	%xmm6,%xmm4,%xmm4
+	xorl	%edx,%r14d
+	andl	%r11d,%r12d
+	xorl	%r11d,%r13d
+	vpsrld	$10,%xmm7,%xmm6
+	addl	52(%rsp),%ecx
+	movl	%edx,%edi
+	xorl	%ebx,%r12d
+	vpxor	%xmm5,%xmm4,%xmm4
+	shrdl	$11,%r14d,%r14d
+	xorl	%r8d,%edi
+	addl	%r12d,%ecx
+	vpsrlq	$17,%xmm7,%xmm7
+	shrdl	$6,%r13d,%r13d
+	andl	%edi,%r15d
+	xorl	%edx,%r14d
+	vpaddd	%xmm4,%xmm3,%xmm3
+	addl	%r13d,%ecx
+	xorl	%r8d,%r15d
+	shrdl	$2,%r14d,%r14d
+	vpxor	%xmm7,%xmm6,%xmm6
+	addl	%ecx,%r10d
+	addl	%r15d,%ecx
+	movl	%r10d,%r13d
+	vpsrlq	$2,%xmm7,%xmm7
+	addl	%ecx,%r14d
+	shrdl	$14,%r13d,%r13d
+	movl	%r14d,%ecx
+	vpxor	%xmm7,%xmm6,%xmm6
+	movl	%r11d,%r12d
+	shrdl	$9,%r14d,%r14d
+	xorl	%r10d,%r13d
+	vpshufb	%xmm8,%xmm6,%xmm6
+	xorl	%eax,%r12d
+	shrdl	$5,%r13d,%r13d
+	xorl	%ecx,%r14d
+	vpaddd	%xmm6,%xmm3,%xmm3
+	andl	%r10d,%r12d
+	xorl	%r10d,%r13d
+	addl	56(%rsp),%ebx
+	vpshufd	$80,%xmm3,%xmm7
+	movl	%ecx,%r15d
+	xorl	%eax,%r12d
+	shrdl	$11,%r14d,%r14d
+	vpsrld	$10,%xmm7,%xmm6
+	xorl	%edx,%r15d
+	addl	%r12d,%ebx
+	shrdl	$6,%r13d,%r13d
+	vpsrlq	$17,%xmm7,%xmm7
+	andl	%r15d,%edi
+	xorl	%ecx,%r14d
+	addl	%r13d,%ebx
+	vpxor	%xmm7,%xmm6,%xmm6
+	xorl	%edx,%edi
+	shrdl	$2,%r14d,%r14d
+	addl	%ebx,%r9d
+	vpsrlq	$2,%xmm7,%xmm7
+	addl	%edi,%ebx
+	movl	%r9d,%r13d
+	addl	%ebx,%r14d
+	vpxor	%xmm7,%xmm6,%xmm6
+	shrdl	$14,%r13d,%r13d
+	movl	%r14d,%ebx
+	movl	%r10d,%r12d
+	vpshufb	%xmm9,%xmm6,%xmm6
+	shrdl	$9,%r14d,%r14d
+	xorl	%r9d,%r13d
+	xorl	%r11d,%r12d
+	vpaddd	%xmm6,%xmm3,%xmm3
+	shrdl	$5,%r13d,%r13d
+	xorl	%ebx,%r14d
+	andl	%r9d,%r12d
+	vpaddd	96(%rbp),%xmm3,%xmm6
+	xorl	%r9d,%r13d
+	addl	60(%rsp),%eax
+	movl	%ebx,%edi
+	xorl	%r11d,%r12d
+	shrdl	$11,%r14d,%r14d
+	xorl	%ecx,%edi
+	addl	%r12d,%eax
+	shrdl	$6,%r13d,%r13d
+	andl	%edi,%r15d
+	xorl	%ebx,%r14d
+	addl	%r13d,%eax
+	xorl	%ecx,%r15d
+	shrdl	$2,%r14d,%r14d
+	addl	%eax,%r8d
+	addl	%r15d,%eax
+	movl	%r8d,%r13d
+	addl	%eax,%r14d
+	vmovdqa	%xmm6,48(%rsp)
+	cmpb	$0,131(%rbp)
+	jne	L$avx_00_47
+	shrdl	$14,%r13d,%r13d
+	movl	%r14d,%eax
+	movl	%r9d,%r12d
+	shrdl	$9,%r14d,%r14d
+	xorl	%r8d,%r13d
+	xorl	%r10d,%r12d
+	shrdl	$5,%r13d,%r13d
+	xorl	%eax,%r14d
+	andl	%r8d,%r12d
+	xorl	%r8d,%r13d
+	addl	0(%rsp),%r11d
+	movl	%eax,%r15d
+	xorl	%r10d,%r12d
+	shrdl	$11,%r14d,%r14d
+	xorl	%ebx,%r15d
+	addl	%r12d,%r11d
+	shrdl	$6,%r13d,%r13d
+	andl	%r15d,%edi
+	xorl	%eax,%r14d
+	addl	%r13d,%r11d
+	xorl	%ebx,%edi
+	shrdl	$2,%r14d,%r14d
+	addl	%r11d,%edx
+	addl	%edi,%r11d
+	movl	%edx,%r13d
+	addl	%r11d,%r14d
+	shrdl	$14,%r13d,%r13d
+	movl	%r14d,%r11d
+	movl	%r8d,%r12d
+	shrdl	$9,%r14d,%r14d
+	xorl	%edx,%r13d
+	xorl	%r9d,%r12d
+	shrdl	$5,%r13d,%r13d
+	xorl	%r11d,%r14d
+	andl	%edx,%r12d
+	xorl	%edx,%r13d
+	addl	4(%rsp),%r10d
+	movl	%r11d,%edi
+	xorl	%r9d,%r12d
+	shrdl	$11,%r14d,%r14d
+	xorl	%eax,%edi
+	addl	%r12d,%r10d
+	shrdl	$6,%r13d,%r13d
+	andl	%edi,%r15d
+	xorl	%r11d,%r14d
+	addl	%r13d,%r10d
+	xorl	%eax,%r15d
+	shrdl	$2,%r14d,%r14d
+	addl	%r10d,%ecx
+	addl	%r15d,%r10d
+	movl	%ecx,%r13d
+	addl	%r10d,%r14d
+	shrdl	$14,%r13d,%r13d
+	movl	%r14d,%r10d
+	movl	%edx,%r12d
+	shrdl	$9,%r14d,%r14d
+	xorl	%ecx,%r13d
+	xorl	%r8d,%r12d
+	shrdl	$5,%r13d,%r13d
+	xorl	%r10d,%r14d
+	andl	%ecx,%r12d
+	xorl	%ecx,%r13d
+	addl	8(%rsp),%r9d
+	movl	%r10d,%r15d
+	xorl	%r8d,%r12d
+	shrdl	$11,%r14d,%r14d
+	xorl	%r11d,%r15d
+	addl	%r12d,%r9d
+	shrdl	$6,%r13d,%r13d
+	andl	%r15d,%edi
+	xorl	%r10d,%r14d
+	addl	%r13d,%r9d
+	xorl	%r11d,%edi
+	shrdl	$2,%r14d,%r14d
+	addl	%r9d,%ebx
+	addl	%edi,%r9d
+	movl	%ebx,%r13d
+	addl	%r9d,%r14d
+	shrdl	$14,%r13d,%r13d
+	movl	%r14d,%r9d
+	movl	%ecx,%r12d
+	shrdl	$9,%r14d,%r14d
+	xorl	%ebx,%r13d
+	xorl	%edx,%r12d
+	shrdl	$5,%r13d,%r13d
+	xorl	%r9d,%r14d
+	andl	%ebx,%r12d
+	xorl	%ebx,%r13d
+	addl	12(%rsp),%r8d
+	movl	%r9d,%edi
+	xorl	%edx,%r12d
+	shrdl	$11,%r14d,%r14d
+	xorl	%r10d,%edi
+	addl	%r12d,%r8d
+	shrdl	$6,%r13d,%r13d
+	andl	%edi,%r15d
+	xorl	%r9d,%r14d
+	addl	%r13d,%r8d
+	xorl	%r10d,%r15d
+	shrdl	$2,%r14d,%r14d
+	addl	%r8d,%eax
+	addl	%r15d,%r8d
+	movl	%eax,%r13d
+	addl	%r8d,%r14d
+	shrdl	$14,%r13d,%r13d
+	movl	%r14d,%r8d
+	movl	%ebx,%r12d
+	shrdl	$9,%r14d,%r14d
+	xorl	%eax,%r13d
+	xorl	%ecx,%r12d
+	shrdl	$5,%r13d,%r13d
+	xorl	%r8d,%r14d
+	andl	%eax,%r12d
+	xorl	%eax,%r13d
+	addl	16(%rsp),%edx
+	movl	%r8d,%r15d
+	xorl	%ecx,%r12d
+	shrdl	$11,%r14d,%r14d
+	xorl	%r9d,%r15d
+	addl	%r12d,%edx
+	shrdl	$6,%r13d,%r13d
+	andl	%r15d,%edi
+	xorl	%r8d,%r14d
+	addl	%r13d,%edx
+	xorl	%r9d,%edi
+	shrdl	$2,%r14d,%r14d
+	addl	%edx,%r11d
+	addl	%edi,%edx
+	movl	%r11d,%r13d
+	addl	%edx,%r14d
+	shrdl	$14,%r13d,%r13d
+	movl	%r14d,%edx
+	movl	%eax,%r12d
+	shrdl	$9,%r14d,%r14d
+	xorl	%r11d,%r13d
+	xorl	%ebx,%r12d
+	shrdl	$5,%r13d,%r13d
+	xorl	%edx,%r14d
+	andl	%r11d,%r12d
+	xorl	%r11d,%r13d
+	addl	20(%rsp),%ecx
+	movl	%edx,%edi
+	xorl	%ebx,%r12d
+	shrdl	$11,%r14d,%r14d
+	xorl	%r8d,%edi
+	addl	%r12d,%ecx
+	shrdl	$6,%r13d,%r13d
+	andl	%edi,%r15d
+	xorl	%edx,%r14d
+	addl	%r13d,%ecx
+	xorl	%r8d,%r15d
+	shrdl	$2,%r14d,%r14d
+	addl	%ecx,%r10d
+	addl	%r15d,%ecx
+	movl	%r10d,%r13d
+	addl	%ecx,%r14d
+	shrdl	$14,%r13d,%r13d
+	movl	%r14d,%ecx
+	movl	%r11d,%r12d
+	shrdl	$9,%r14d,%r14d
+	xorl	%r10d,%r13d
+	xorl	%eax,%r12d
+	shrdl	$5,%r13d,%r13d
+	xorl	%ecx,%r14d
+	andl	%r10d,%r12d
+	xorl	%r10d,%r13d
+	addl	24(%rsp),%ebx
+	movl	%ecx,%r15d
+	xorl	%eax,%r12d
+	shrdl	$11,%r14d,%r14d
+	xorl	%edx,%r15d
+	addl	%r12d,%ebx
+	shrdl	$6,%r13d,%r13d
+	andl	%r15d,%edi
+	xorl	%ecx,%r14d
+	addl	%r13d,%ebx
+	xorl	%edx,%edi
+	shrdl	$2,%r14d,%r14d
+	addl	%ebx,%r9d
+	addl	%edi,%ebx
+	movl	%r9d,%r13d
+	addl	%ebx,%r14d
+	shrdl	$14,%r13d,%r13d
+	movl	%r14d,%ebx
+	movl	%r10d,%r12d
+	shrdl	$9,%r14d,%r14d
+	xorl	%r9d,%r13d
+	xorl	%r11d,%r12d
+	shrdl	$5,%r13d,%r13d
+	xorl	%ebx,%r14d
+	andl	%r9d,%r12d
+	xorl	%r9d,%r13d
+	addl	28(%rsp),%eax
+	movl	%ebx,%edi
+	xorl	%r11d,%r12d
+	shrdl	$11,%r14d,%r14d
+	xorl	%ecx,%edi
+	addl	%r12d,%eax
+	shrdl	$6,%r13d,%r13d
+	andl	%edi,%r15d
+	xorl	%ebx,%r14d
+	addl	%r13d,%eax
+	xorl	%ecx,%r15d
+	shrdl	$2,%r14d,%r14d
+	addl	%eax,%r8d
+	addl	%r15d,%eax
+	movl	%r8d,%r13d
+	addl	%eax,%r14d
+	shrdl	$14,%r13d,%r13d
+	movl	%r14d,%eax
+	movl	%r9d,%r12d
+	shrdl	$9,%r14d,%r14d
+	xorl	%r8d,%r13d
+	xorl	%r10d,%r12d
+	shrdl	$5,%r13d,%r13d
+	xorl	%eax,%r14d
+	andl	%r8d,%r12d
+	xorl	%r8d,%r13d
+	addl	32(%rsp),%r11d
+	movl	%eax,%r15d
+	xorl	%r10d,%r12d
+	shrdl	$11,%r14d,%r14d
+	xorl	%ebx,%r15d
+	addl	%r12d,%r11d
+	shrdl	$6,%r13d,%r13d
+	andl	%r15d,%edi
+	xorl	%eax,%r14d
+	addl	%r13d,%r11d
+	xorl	%ebx,%edi
+	shrdl	$2,%r14d,%r14d
+	addl	%r11d,%edx
+	addl	%edi,%r11d
+	movl	%edx,%r13d
+	addl	%r11d,%r14d
+	shrdl	$14,%r13d,%r13d
+	movl	%r14d,%r11d
+	movl	%r8d,%r12d
+	shrdl	$9,%r14d,%r14d
+	xorl	%edx,%r13d
+	xorl	%r9d,%r12d
+	shrdl	$5,%r13d,%r13d
+	xorl	%r11d,%r14d
+	andl	%edx,%r12d
+	xorl	%edx,%r13d
+	addl	36(%rsp),%r10d
+	movl	%r11d,%edi
+	xorl	%r9d,%r12d
+	shrdl	$11,%r14d,%r14d
+	xorl	%eax,%edi
+	addl	%r12d,%r10d
+	shrdl	$6,%r13d,%r13d
+	andl	%edi,%r15d
+	xorl	%r11d,%r14d
+	addl	%r13d,%r10d
+	xorl	%eax,%r15d
+	shrdl	$2,%r14d,%r14d
+	addl	%r10d,%ecx
+	addl	%r15d,%r10d
+	movl	%ecx,%r13d
+	addl	%r10d,%r14d
+	shrdl	$14,%r13d,%r13d
+	movl	%r14d,%r10d
+	movl	%edx,%r12d
+	shrdl	$9,%r14d,%r14d
+	xorl	%ecx,%r13d
+	xorl	%r8d,%r12d
+	shrdl	$5,%r13d,%r13d
+	xorl	%r10d,%r14d
+	andl	%ecx,%r12d
+	xorl	%ecx,%r13d
+	addl	40(%rsp),%r9d
+	movl	%r10d,%r15d
+	xorl	%r8d,%r12d
+	shrdl	$11,%r14d,%r14d
+	xorl	%r11d,%r15d
+	addl	%r12d,%r9d
+	shrdl	$6,%r13d,%r13d
+	andl	%r15d,%edi
+	xorl	%r10d,%r14d
+	addl	%r13d,%r9d
+	xorl	%r11d,%edi
+	shrdl	$2,%r14d,%r14d
+	addl	%r9d,%ebx
+	addl	%edi,%r9d
+	movl	%ebx,%r13d
+	addl	%r9d,%r14d
+	shrdl	$14,%r13d,%r13d
+	movl	%r14d,%r9d
+	movl	%ecx,%r12d
+	shrdl	$9,%r14d,%r14d
+	xorl	%ebx,%r13d
+	xorl	%edx,%r12d
+	shrdl	$5,%r13d,%r13d
+	xorl	%r9d,%r14d
+	andl	%ebx,%r12d
+	xorl	%ebx,%r13d
+	addl	44(%rsp),%r8d
+	movl	%r9d,%edi
+	xorl	%edx,%r12d
+	shrdl	$11,%r14d,%r14d
+	xorl	%r10d,%edi
+	addl	%r12d,%r8d
+	shrdl	$6,%r13d,%r13d
+	andl	%edi,%r15d
+	xorl	%r9d,%r14d
+	addl	%r13d,%r8d
+	xorl	%r10d,%r15d
+	shrdl	$2,%r14d,%r14d
+	addl	%r8d,%eax
+	addl	%r15d,%r8d
+	movl	%eax,%r13d
+	addl	%r8d,%r14d
+	shrdl	$14,%r13d,%r13d
+	movl	%r14d,%r8d
+	movl	%ebx,%r12d
+	shrdl	$9,%r14d,%r14d
+	xorl	%eax,%r13d
+	xorl	%ecx,%r12d
+	shrdl	$5,%r13d,%r13d
+	xorl	%r8d,%r14d
+	andl	%eax,%r12d
+	xorl	%eax,%r13d
+	addl	48(%rsp),%edx
+	movl	%r8d,%r15d
+	xorl	%ecx,%r12d
+	shrdl	$11,%r14d,%r14d
+	xorl	%r9d,%r15d
+	addl	%r12d,%edx
+	shrdl	$6,%r13d,%r13d
+	andl	%r15d,%edi
+	xorl	%r8d,%r14d
+	addl	%r13d,%edx
+	xorl	%r9d,%edi
+	shrdl	$2,%r14d,%r14d
+	addl	%edx,%r11d
+	addl	%edi,%edx
+	movl	%r11d,%r13d
+	addl	%edx,%r14d
+	shrdl	$14,%r13d,%r13d
+	movl	%r14d,%edx
+	movl	%eax,%r12d
+	shrdl	$9,%r14d,%r14d
+	xorl	%r11d,%r13d
+	xorl	%ebx,%r12d
+	shrdl	$5,%r13d,%r13d
+	xorl	%edx,%r14d
+	andl	%r11d,%r12d
+	xorl	%r11d,%r13d
+	addl	52(%rsp),%ecx
+	movl	%edx,%edi
+	xorl	%ebx,%r12d
+	shrdl	$11,%r14d,%r14d
+	xorl	%r8d,%edi
+	addl	%r12d,%ecx
+	shrdl	$6,%r13d,%r13d
+	andl	%edi,%r15d
+	xorl	%edx,%r14d
+	addl	%r13d,%ecx
+	xorl	%r8d,%r15d
+	shrdl	$2,%r14d,%r14d
+	addl	%ecx,%r10d
+	addl	%r15d,%ecx
+	movl	%r10d,%r13d
+	addl	%ecx,%r14d
+	shrdl	$14,%r13d,%r13d
+	movl	%r14d,%ecx
+	movl	%r11d,%r12d
+	shrdl	$9,%r14d,%r14d
+	xorl	%r10d,%r13d
+	xorl	%eax,%r12d
+	shrdl	$5,%r13d,%r13d
+	xorl	%ecx,%r14d
+	andl	%r10d,%r12d
+	xorl	%r10d,%r13d
+	addl	56(%rsp),%ebx
+	movl	%ecx,%r15d
+	xorl	%eax,%r12d
+	shrdl	$11,%r14d,%r14d
+	xorl	%edx,%r15d
+	addl	%r12d,%ebx
+	shrdl	$6,%r13d,%r13d
+	andl	%r15d,%edi
+	xorl	%ecx,%r14d
+	addl	%r13d,%ebx
+	xorl	%edx,%edi
+	shrdl	$2,%r14d,%r14d
+	addl	%ebx,%r9d
+	addl	%edi,%ebx
+	movl	%r9d,%r13d
+	addl	%ebx,%r14d
+	shrdl	$14,%r13d,%r13d
+	movl	%r14d,%ebx
+	movl	%r10d,%r12d
+	shrdl	$9,%r14d,%r14d
+	xorl	%r9d,%r13d
+	xorl	%r11d,%r12d
+	shrdl	$5,%r13d,%r13d
+	xorl	%ebx,%r14d
+	andl	%r9d,%r12d
+	xorl	%r9d,%r13d
+	addl	60(%rsp),%eax
+	movl	%ebx,%edi
+	xorl	%r11d,%r12d
+	shrdl	$11,%r14d,%r14d
+	xorl	%ecx,%edi
+	addl	%r12d,%eax
+	shrdl	$6,%r13d,%r13d
+	andl	%edi,%r15d
+	xorl	%ebx,%r14d
+	addl	%r13d,%eax
+	xorl	%ecx,%r15d
+	shrdl	$2,%r14d,%r14d
+	addl	%eax,%r8d
+	addl	%r15d,%eax
+	movl	%r8d,%r13d
+	addl	%eax,%r14d
+	movq	64+0(%rsp),%rdi
+	movl	%r14d,%eax
+
+	addl	0(%rdi),%eax
+	leaq	64(%rsi),%rsi
+	addl	4(%rdi),%ebx
+	addl	8(%rdi),%ecx
+	addl	12(%rdi),%edx
+	addl	16(%rdi),%r8d
+	addl	20(%rdi),%r9d
+	addl	24(%rdi),%r10d
+	addl	28(%rdi),%r11d
+
+	cmpq	64+16(%rsp),%rsi
+
+	movl	%eax,0(%rdi)
+	movl	%ebx,4(%rdi)
+	movl	%ecx,8(%rdi)
+	movl	%edx,12(%rdi)
+	movl	%r8d,16(%rdi)
+	movl	%r9d,20(%rdi)
+	movl	%r10d,24(%rdi)
+	movl	%r11d,28(%rdi)
+	jb	L$loop_avx
+
+	movq	64+24(%rsp),%rsi
+	vzeroupper
+	movq	-48(%rsi),%r15
+	movq	-40(%rsi),%r14
+	movq	-32(%rsi),%r13
+	movq	-24(%rsi),%r12
+	movq	-16(%rsi),%rbp
+	movq	-8(%rsi),%rbx
+	leaq	(%rsi),%rsp
+L$epilogue_avx:
+	.byte	0xf3,0xc3
+
+#endif
diff --git a/third_party/boringssl/mac-x86_64/crypto/fipsmodule/sha512-x86_64.S b/third_party/boringssl/mac-x86_64/crypto/fipsmodule/sha512-x86_64.S
new file mode 100644
index 0000000..e84bde7
--- /dev/null
+++ b/third_party/boringssl/mac-x86_64/crypto/fipsmodule/sha512-x86_64.S
@@ -0,0 +1,4029 @@
+#if defined(__x86_64__) && !defined(OPENSSL_NO_ASM)
+.text	
+
+
+.globl	_sha512_block_data_order
+.private_extern _sha512_block_data_order
+
+.p2align	4
+_sha512_block_data_order:
+	leaq	_OPENSSL_ia32cap_addr(%rip),%r11
+	movq	(%r11),%r11
+	movl	0(%r11),%r9d
+	movl	4(%r11),%r10d
+	movl	8(%r11),%r11d
+	testl	$2048,%r10d
+	jnz	L$xop_shortcut
+	andl	$1073741824,%r9d
+	andl	$268435968,%r10d
+	orl	%r9d,%r10d
+	cmpl	$1342177792,%r10d
+	je	L$avx_shortcut
+	movq	%rsp,%rax
+	pushq	%rbx
+	pushq	%rbp
+	pushq	%r12
+	pushq	%r13
+	pushq	%r14
+	pushq	%r15
+	shlq	$4,%rdx
+	subq	$128+32,%rsp
+	leaq	(%rsi,%rdx,8),%rdx
+	andq	$-64,%rsp
+	movq	%rdi,128+0(%rsp)
+	movq	%rsi,128+8(%rsp)
+	movq	%rdx,128+16(%rsp)
+	movq	%rax,128+24(%rsp)
+L$prologue:
+
+	movq	0(%rdi),%rax
+	movq	8(%rdi),%rbx
+	movq	16(%rdi),%rcx
+	movq	24(%rdi),%rdx
+	movq	32(%rdi),%r8
+	movq	40(%rdi),%r9
+	movq	48(%rdi),%r10
+	movq	56(%rdi),%r11
+
+	jmp	L$loop
+
+.p2align	4
+L$loop:
+	movq	%rbx,%rdi
+	leaq	K512(%rip),%rbp
+	xorq	%rcx,%rdi
+	movq	0(%rsi),%r12
+	movq	%r8,%r13
+	movq	%rax,%r14
+	bswapq	%r12
+	rorq	$23,%r13
+	movq	%r9,%r15
+
+	xorq	%r8,%r13
+	rorq	$5,%r14
+	xorq	%r10,%r15
+
+	movq	%r12,0(%rsp)
+	xorq	%rax,%r14
+	andq	%r8,%r15
+
+	rorq	$4,%r13
+	addq	%r11,%r12
+	xorq	%r10,%r15
+
+	rorq	$6,%r14
+	xorq	%r8,%r13
+	addq	%r15,%r12
+
+	movq	%rax,%r15
+	addq	(%rbp),%r12
+	xorq	%rax,%r14
+
+	xorq	%rbx,%r15
+	rorq	$14,%r13
+	movq	%rbx,%r11
+
+	andq	%r15,%rdi
+	rorq	$28,%r14
+	addq	%r13,%r12
+
+	xorq	%rdi,%r11
+	addq	%r12,%rdx
+	addq	%r12,%r11
+
+	leaq	8(%rbp),%rbp
+	addq	%r14,%r11
+	movq	8(%rsi),%r12
+	movq	%rdx,%r13
+	movq	%r11,%r14
+	bswapq	%r12
+	rorq	$23,%r13
+	movq	%r8,%rdi
+
+	xorq	%rdx,%r13
+	rorq	$5,%r14
+	xorq	%r9,%rdi
+
+	movq	%r12,8(%rsp)
+	xorq	%r11,%r14
+	andq	%rdx,%rdi
+
+	rorq	$4,%r13
+	addq	%r10,%r12
+	xorq	%r9,%rdi
+
+	rorq	$6,%r14
+	xorq	%rdx,%r13
+	addq	%rdi,%r12
+
+	movq	%r11,%rdi
+	addq	(%rbp),%r12
+	xorq	%r11,%r14
+
+	xorq	%rax,%rdi
+	rorq	$14,%r13
+	movq	%rax,%r10
+
+	andq	%rdi,%r15
+	rorq	$28,%r14
+	addq	%r13,%r12
+
+	xorq	%r15,%r10
+	addq	%r12,%rcx
+	addq	%r12,%r10
+
+	leaq	24(%rbp),%rbp
+	addq	%r14,%r10
+	movq	16(%rsi),%r12
+	movq	%rcx,%r13
+	movq	%r10,%r14
+	bswapq	%r12
+	rorq	$23,%r13
+	movq	%rdx,%r15
+
+	xorq	%rcx,%r13
+	rorq	$5,%r14
+	xorq	%r8,%r15
+
+	movq	%r12,16(%rsp)
+	xorq	%r10,%r14
+	andq	%rcx,%r15
+
+	rorq	$4,%r13
+	addq	%r9,%r12
+	xorq	%r8,%r15
+
+	rorq	$6,%r14
+	xorq	%rcx,%r13
+	addq	%r15,%r12
+
+	movq	%r10,%r15
+	addq	(%rbp),%r12
+	xorq	%r10,%r14
+
+	xorq	%r11,%r15
+	rorq	$14,%r13
+	movq	%r11,%r9
+
+	andq	%r15,%rdi
+	rorq	$28,%r14
+	addq	%r13,%r12
+
+	xorq	%rdi,%r9
+	addq	%r12,%rbx
+	addq	%r12,%r9
+
+	leaq	8(%rbp),%rbp
+	addq	%r14,%r9
+	movq	24(%rsi),%r12
+	movq	%rbx,%r13
+	movq	%r9,%r14
+	bswapq	%r12
+	rorq	$23,%r13
+	movq	%rcx,%rdi
+
+	xorq	%rbx,%r13
+	rorq	$5,%r14
+	xorq	%rdx,%rdi
+
+	movq	%r12,24(%rsp)
+	xorq	%r9,%r14
+	andq	%rbx,%rdi
+
+	rorq	$4,%r13
+	addq	%r8,%r12
+	xorq	%rdx,%rdi
+
+	rorq	$6,%r14
+	xorq	%rbx,%r13
+	addq	%rdi,%r12
+
+	movq	%r9,%rdi
+	addq	(%rbp),%r12
+	xorq	%r9,%r14
+
+	xorq	%r10,%rdi
+	rorq	$14,%r13
+	movq	%r10,%r8
+
+	andq	%rdi,%r15
+	rorq	$28,%r14
+	addq	%r13,%r12
+
+	xorq	%r15,%r8
+	addq	%r12,%rax
+	addq	%r12,%r8
+
+	leaq	24(%rbp),%rbp
+	addq	%r14,%r8
+	movq	32(%rsi),%r12
+	movq	%rax,%r13
+	movq	%r8,%r14
+	bswapq	%r12
+	rorq	$23,%r13
+	movq	%rbx,%r15
+
+	xorq	%rax,%r13
+	rorq	$5,%r14
+	xorq	%rcx,%r15
+
+	movq	%r12,32(%rsp)
+	xorq	%r8,%r14
+	andq	%rax,%r15
+
+	rorq	$4,%r13
+	addq	%rdx,%r12
+	xorq	%rcx,%r15
+
+	rorq	$6,%r14
+	xorq	%rax,%r13
+	addq	%r15,%r12
+
+	movq	%r8,%r15
+	addq	(%rbp),%r12
+	xorq	%r8,%r14
+
+	xorq	%r9,%r15
+	rorq	$14,%r13
+	movq	%r9,%rdx
+
+	andq	%r15,%rdi
+	rorq	$28,%r14
+	addq	%r13,%r12
+
+	xorq	%rdi,%rdx
+	addq	%r12,%r11
+	addq	%r12,%rdx
+
+	leaq	8(%rbp),%rbp
+	addq	%r14,%rdx
+	movq	40(%rsi),%r12
+	movq	%r11,%r13
+	movq	%rdx,%r14
+	bswapq	%r12
+	rorq	$23,%r13
+	movq	%rax,%rdi
+
+	xorq	%r11,%r13
+	rorq	$5,%r14
+	xorq	%rbx,%rdi
+
+	movq	%r12,40(%rsp)
+	xorq	%rdx,%r14
+	andq	%r11,%rdi
+
+	rorq	$4,%r13
+	addq	%rcx,%r12
+	xorq	%rbx,%rdi
+
+	rorq	$6,%r14
+	xorq	%r11,%r13
+	addq	%rdi,%r12
+
+	movq	%rdx,%rdi
+	addq	(%rbp),%r12
+	xorq	%rdx,%r14
+
+	xorq	%r8,%rdi
+	rorq	$14,%r13
+	movq	%r8,%rcx
+
+	andq	%rdi,%r15
+	rorq	$28,%r14
+	addq	%r13,%r12
+
+	xorq	%r15,%rcx
+	addq	%r12,%r10
+	addq	%r12,%rcx
+
+	leaq	24(%rbp),%rbp
+	addq	%r14,%rcx
+	movq	48(%rsi),%r12
+	movq	%r10,%r13
+	movq	%rcx,%r14
+	bswapq	%r12
+	rorq	$23,%r13
+	movq	%r11,%r15
+
+	xorq	%r10,%r13
+	rorq	$5,%r14
+	xorq	%rax,%r15
+
+	movq	%r12,48(%rsp)
+	xorq	%rcx,%r14
+	andq	%r10,%r15
+
+	rorq	$4,%r13
+	addq	%rbx,%r12
+	xorq	%rax,%r15
+
+	rorq	$6,%r14
+	xorq	%r10,%r13
+	addq	%r15,%r12
+
+	movq	%rcx,%r15
+	addq	(%rbp),%r12
+	xorq	%rcx,%r14
+
+	xorq	%rdx,%r15
+	rorq	$14,%r13
+	movq	%rdx,%rbx
+
+	andq	%r15,%rdi
+	rorq	$28,%r14
+	addq	%r13,%r12
+
+	xorq	%rdi,%rbx
+	addq	%r12,%r9
+	addq	%r12,%rbx
+
+	leaq	8(%rbp),%rbp
+	addq	%r14,%rbx
+	movq	56(%rsi),%r12
+	movq	%r9,%r13
+	movq	%rbx,%r14
+	bswapq	%r12
+	rorq	$23,%r13
+	movq	%r10,%rdi
+
+	xorq	%r9,%r13
+	rorq	$5,%r14
+	xorq	%r11,%rdi
+
+	movq	%r12,56(%rsp)
+	xorq	%rbx,%r14
+	andq	%r9,%rdi
+
+	rorq	$4,%r13
+	addq	%rax,%r12
+	xorq	%r11,%rdi
+
+	rorq	$6,%r14
+	xorq	%r9,%r13
+	addq	%rdi,%r12
+
+	movq	%rbx,%rdi
+	addq	(%rbp),%r12
+	xorq	%rbx,%r14
+
+	xorq	%rcx,%rdi
+	rorq	$14,%r13
+	movq	%rcx,%rax
+
+	andq	%rdi,%r15
+	rorq	$28,%r14
+	addq	%r13,%r12
+
+	xorq	%r15,%rax
+	addq	%r12,%r8
+	addq	%r12,%rax
+
+	leaq	24(%rbp),%rbp
+	addq	%r14,%rax
+	movq	64(%rsi),%r12
+	movq	%r8,%r13
+	movq	%rax,%r14
+	bswapq	%r12
+	rorq	$23,%r13
+	movq	%r9,%r15
+
+	xorq	%r8,%r13
+	rorq	$5,%r14
+	xorq	%r10,%r15
+
+	movq	%r12,64(%rsp)
+	xorq	%rax,%r14
+	andq	%r8,%r15
+
+	rorq	$4,%r13
+	addq	%r11,%r12
+	xorq	%r10,%r15
+
+	rorq	$6,%r14
+	xorq	%r8,%r13
+	addq	%r15,%r12
+
+	movq	%rax,%r15
+	addq	(%rbp),%r12
+	xorq	%rax,%r14
+
+	xorq	%rbx,%r15
+	rorq	$14,%r13
+	movq	%rbx,%r11
+
+	andq	%r15,%rdi
+	rorq	$28,%r14
+	addq	%r13,%r12
+
+	xorq	%rdi,%r11
+	addq	%r12,%rdx
+	addq	%r12,%r11
+
+	leaq	8(%rbp),%rbp
+	addq	%r14,%r11
+	movq	72(%rsi),%r12
+	movq	%rdx,%r13
+	movq	%r11,%r14
+	bswapq	%r12
+	rorq	$23,%r13
+	movq	%r8,%rdi
+
+	xorq	%rdx,%r13
+	rorq	$5,%r14
+	xorq	%r9,%rdi
+
+	movq	%r12,72(%rsp)
+	xorq	%r11,%r14
+	andq	%rdx,%rdi
+
+	rorq	$4,%r13
+	addq	%r10,%r12
+	xorq	%r9,%rdi
+
+	rorq	$6,%r14
+	xorq	%rdx,%r13
+	addq	%rdi,%r12
+
+	movq	%r11,%rdi
+	addq	(%rbp),%r12
+	xorq	%r11,%r14
+
+	xorq	%rax,%rdi
+	rorq	$14,%r13
+	movq	%rax,%r10
+
+	andq	%rdi,%r15
+	rorq	$28,%r14
+	addq	%r13,%r12
+
+	xorq	%r15,%r10
+	addq	%r12,%rcx
+	addq	%r12,%r10
+
+	leaq	24(%rbp),%rbp
+	addq	%r14,%r10
+	movq	80(%rsi),%r12
+	movq	%rcx,%r13
+	movq	%r10,%r14
+	bswapq	%r12
+	rorq	$23,%r13
+	movq	%rdx,%r15
+
+	xorq	%rcx,%r13
+	rorq	$5,%r14
+	xorq	%r8,%r15
+
+	movq	%r12,80(%rsp)
+	xorq	%r10,%r14
+	andq	%rcx,%r15
+
+	rorq	$4,%r13
+	addq	%r9,%r12
+	xorq	%r8,%r15
+
+	rorq	$6,%r14
+	xorq	%rcx,%r13
+	addq	%r15,%r12
+
+	movq	%r10,%r15
+	addq	(%rbp),%r12
+	xorq	%r10,%r14
+
+	xorq	%r11,%r15
+	rorq	$14,%r13
+	movq	%r11,%r9
+
+	andq	%r15,%rdi
+	rorq	$28,%r14
+	addq	%r13,%r12
+
+	xorq	%rdi,%r9
+	addq	%r12,%rbx
+	addq	%r12,%r9
+
+	leaq	8(%rbp),%rbp
+	addq	%r14,%r9
+	movq	88(%rsi),%r12
+	movq	%rbx,%r13
+	movq	%r9,%r14
+	bswapq	%r12
+	rorq	$23,%r13
+	movq	%rcx,%rdi
+
+	xorq	%rbx,%r13
+	rorq	$5,%r14
+	xorq	%rdx,%rdi
+
+	movq	%r12,88(%rsp)
+	xorq	%r9,%r14
+	andq	%rbx,%rdi
+
+	rorq	$4,%r13
+	addq	%r8,%r12
+	xorq	%rdx,%rdi
+
+	rorq	$6,%r14
+	xorq	%rbx,%r13
+	addq	%rdi,%r12
+
+	movq	%r9,%rdi
+	addq	(%rbp),%r12
+	xorq	%r9,%r14
+
+	xorq	%r10,%rdi
+	rorq	$14,%r13
+	movq	%r10,%r8
+
+	andq	%rdi,%r15
+	rorq	$28,%r14
+	addq	%r13,%r12
+
+	xorq	%r15,%r8
+	addq	%r12,%rax
+	addq	%r12,%r8
+
+	leaq	24(%rbp),%rbp
+	addq	%r14,%r8
+	movq	96(%rsi),%r12
+	movq	%rax,%r13
+	movq	%r8,%r14
+	bswapq	%r12
+	rorq	$23,%r13
+	movq	%rbx,%r15
+
+	xorq	%rax,%r13
+	rorq	$5,%r14
+	xorq	%rcx,%r15
+
+	movq	%r12,96(%rsp)
+	xorq	%r8,%r14
+	andq	%rax,%r15
+
+	rorq	$4,%r13
+	addq	%rdx,%r12
+	xorq	%rcx,%r15
+
+	rorq	$6,%r14
+	xorq	%rax,%r13
+	addq	%r15,%r12
+
+	movq	%r8,%r15
+	addq	(%rbp),%r12
+	xorq	%r8,%r14
+
+	xorq	%r9,%r15
+	rorq	$14,%r13
+	movq	%r9,%rdx
+
+	andq	%r15,%rdi
+	rorq	$28,%r14
+	addq	%r13,%r12
+
+	xorq	%rdi,%rdx
+	addq	%r12,%r11
+	addq	%r12,%rdx
+
+	leaq	8(%rbp),%rbp
+	addq	%r14,%rdx
+	movq	104(%rsi),%r12
+	movq	%r11,%r13
+	movq	%rdx,%r14
+	bswapq	%r12
+	rorq	$23,%r13
+	movq	%rax,%rdi
+
+	xorq	%r11,%r13
+	rorq	$5,%r14
+	xorq	%rbx,%rdi
+
+	movq	%r12,104(%rsp)
+	xorq	%rdx,%r14
+	andq	%r11,%rdi
+
+	rorq	$4,%r13
+	addq	%rcx,%r12
+	xorq	%rbx,%rdi
+
+	rorq	$6,%r14
+	xorq	%r11,%r13
+	addq	%rdi,%r12
+
+	movq	%rdx,%rdi
+	addq	(%rbp),%r12
+	xorq	%rdx,%r14
+
+	xorq	%r8,%rdi
+	rorq	$14,%r13
+	movq	%r8,%rcx
+
+	andq	%rdi,%r15
+	rorq	$28,%r14
+	addq	%r13,%r12
+
+	xorq	%r15,%rcx
+	addq	%r12,%r10
+	addq	%r12,%rcx
+
+	leaq	24(%rbp),%rbp
+	addq	%r14,%rcx
+	movq	112(%rsi),%r12
+	movq	%r10,%r13
+	movq	%rcx,%r14
+	bswapq	%r12
+	rorq	$23,%r13
+	movq	%r11,%r15
+
+	xorq	%r10,%r13
+	rorq	$5,%r14
+	xorq	%rax,%r15
+
+	movq	%r12,112(%rsp)
+	xorq	%rcx,%r14
+	andq	%r10,%r15
+
+	rorq	$4,%r13
+	addq	%rbx,%r12
+	xorq	%rax,%r15
+
+	rorq	$6,%r14
+	xorq	%r10,%r13
+	addq	%r15,%r12
+
+	movq	%rcx,%r15
+	addq	(%rbp),%r12
+	xorq	%rcx,%r14
+
+	xorq	%rdx,%r15
+	rorq	$14,%r13
+	movq	%rdx,%rbx
+
+	andq	%r15,%rdi
+	rorq	$28,%r14
+	addq	%r13,%r12
+
+	xorq	%rdi,%rbx
+	addq	%r12,%r9
+	addq	%r12,%rbx
+
+	leaq	8(%rbp),%rbp
+	addq	%r14,%rbx
+	movq	120(%rsi),%r12
+	movq	%r9,%r13
+	movq	%rbx,%r14
+	bswapq	%r12
+	rorq	$23,%r13
+	movq	%r10,%rdi
+
+	xorq	%r9,%r13
+	rorq	$5,%r14
+	xorq	%r11,%rdi
+
+	movq	%r12,120(%rsp)
+	xorq	%rbx,%r14
+	andq	%r9,%rdi
+
+	rorq	$4,%r13
+	addq	%rax,%r12
+	xorq	%r11,%rdi
+
+	rorq	$6,%r14
+	xorq	%r9,%r13
+	addq	%rdi,%r12
+
+	movq	%rbx,%rdi
+	addq	(%rbp),%r12
+	xorq	%rbx,%r14
+
+	xorq	%rcx,%rdi
+	rorq	$14,%r13
+	movq	%rcx,%rax
+
+	andq	%rdi,%r15
+	rorq	$28,%r14
+	addq	%r13,%r12
+
+	xorq	%r15,%rax
+	addq	%r12,%r8
+	addq	%r12,%rax
+
+	leaq	24(%rbp),%rbp
+	jmp	L$rounds_16_xx
+.p2align	4
+L$rounds_16_xx:
+	movq	8(%rsp),%r13
+	movq	112(%rsp),%r15
+
+	movq	%r13,%r12
+	rorq	$7,%r13
+	addq	%r14,%rax
+	movq	%r15,%r14
+	rorq	$42,%r15
+
+	xorq	%r12,%r13
+	shrq	$7,%r12
+	rorq	$1,%r13
+	xorq	%r14,%r15
+	shrq	$6,%r14
+
+	rorq	$19,%r15
+	xorq	%r13,%r12
+	xorq	%r14,%r15
+	addq	72(%rsp),%r12
+
+	addq	0(%rsp),%r12
+	movq	%r8,%r13
+	addq	%r15,%r12
+	movq	%rax,%r14
+	rorq	$23,%r13
+	movq	%r9,%r15
+
+	xorq	%r8,%r13
+	rorq	$5,%r14
+	xorq	%r10,%r15
+
+	movq	%r12,0(%rsp)
+	xorq	%rax,%r14
+	andq	%r8,%r15
+
+	rorq	$4,%r13
+	addq	%r11,%r12
+	xorq	%r10,%r15
+
+	rorq	$6,%r14
+	xorq	%r8,%r13
+	addq	%r15,%r12
+
+	movq	%rax,%r15
+	addq	(%rbp),%r12
+	xorq	%rax,%r14
+
+	xorq	%rbx,%r15
+	rorq	$14,%r13
+	movq	%rbx,%r11
+
+	andq	%r15,%rdi
+	rorq	$28,%r14
+	addq	%r13,%r12
+
+	xorq	%rdi,%r11
+	addq	%r12,%rdx
+	addq	%r12,%r11
+
+	leaq	8(%rbp),%rbp
+	movq	16(%rsp),%r13
+	movq	120(%rsp),%rdi
+
+	movq	%r13,%r12
+	rorq	$7,%r13
+	addq	%r14,%r11
+	movq	%rdi,%r14
+	rorq	$42,%rdi
+
+	xorq	%r12,%r13
+	shrq	$7,%r12
+	rorq	$1,%r13
+	xorq	%r14,%rdi
+	shrq	$6,%r14
+
+	rorq	$19,%rdi
+	xorq	%r13,%r12
+	xorq	%r14,%rdi
+	addq	80(%rsp),%r12
+
+	addq	8(%rsp),%r12
+	movq	%rdx,%r13
+	addq	%rdi,%r12
+	movq	%r11,%r14
+	rorq	$23,%r13
+	movq	%r8,%rdi
+
+	xorq	%rdx,%r13
+	rorq	$5,%r14
+	xorq	%r9,%rdi
+
+	movq	%r12,8(%rsp)
+	xorq	%r11,%r14
+	andq	%rdx,%rdi
+
+	rorq	$4,%r13
+	addq	%r10,%r12
+	xorq	%r9,%rdi
+
+	rorq	$6,%r14
+	xorq	%rdx,%r13
+	addq	%rdi,%r12
+
+	movq	%r11,%rdi
+	addq	(%rbp),%r12
+	xorq	%r11,%r14
+
+	xorq	%rax,%rdi
+	rorq	$14,%r13
+	movq	%rax,%r10
+
+	andq	%rdi,%r15
+	rorq	$28,%r14
+	addq	%r13,%r12
+
+	xorq	%r15,%r10
+	addq	%r12,%rcx
+	addq	%r12,%r10
+
+	leaq	24(%rbp),%rbp
+	movq	24(%rsp),%r13
+	movq	0(%rsp),%r15
+
+	movq	%r13,%r12
+	rorq	$7,%r13
+	addq	%r14,%r10
+	movq	%r15,%r14
+	rorq	$42,%r15
+
+	xorq	%r12,%r13
+	shrq	$7,%r12
+	rorq	$1,%r13
+	xorq	%r14,%r15
+	shrq	$6,%r14
+
+	rorq	$19,%r15
+	xorq	%r13,%r12
+	xorq	%r14,%r15
+	addq	88(%rsp),%r12
+
+	addq	16(%rsp),%r12
+	movq	%rcx,%r13
+	addq	%r15,%r12
+	movq	%r10,%r14
+	rorq	$23,%r13
+	movq	%rdx,%r15
+
+	xorq	%rcx,%r13
+	rorq	$5,%r14
+	xorq	%r8,%r15
+
+	movq	%r12,16(%rsp)
+	xorq	%r10,%r14
+	andq	%rcx,%r15
+
+	rorq	$4,%r13
+	addq	%r9,%r12
+	xorq	%r8,%r15
+
+	rorq	$6,%r14
+	xorq	%rcx,%r13
+	addq	%r15,%r12
+
+	movq	%r10,%r15
+	addq	(%rbp),%r12
+	xorq	%r10,%r14
+
+	xorq	%r11,%r15
+	rorq	$14,%r13
+	movq	%r11,%r9
+
+	andq	%r15,%rdi
+	rorq	$28,%r14
+	addq	%r13,%r12
+
+	xorq	%rdi,%r9
+	addq	%r12,%rbx
+	addq	%r12,%r9
+
+	leaq	8(%rbp),%rbp
+	movq	32(%rsp),%r13
+	movq	8(%rsp),%rdi
+
+	movq	%r13,%r12
+	rorq	$7,%r13
+	addq	%r14,%r9
+	movq	%rdi,%r14
+	rorq	$42,%rdi
+
+	xorq	%r12,%r13
+	shrq	$7,%r12
+	rorq	$1,%r13
+	xorq	%r14,%rdi
+	shrq	$6,%r14
+
+	rorq	$19,%rdi
+	xorq	%r13,%r12
+	xorq	%r14,%rdi
+	addq	96(%rsp),%r12
+
+	addq	24(%rsp),%r12
+	movq	%rbx,%r13
+	addq	%rdi,%r12
+	movq	%r9,%r14
+	rorq	$23,%r13
+	movq	%rcx,%rdi
+
+	xorq	%rbx,%r13
+	rorq	$5,%r14
+	xorq	%rdx,%rdi
+
+	movq	%r12,24(%rsp)
+	xorq	%r9,%r14
+	andq	%rbx,%rdi
+
+	rorq	$4,%r13
+	addq	%r8,%r12
+	xorq	%rdx,%rdi
+
+	rorq	$6,%r14
+	xorq	%rbx,%r13
+	addq	%rdi,%r12
+
+	movq	%r9,%rdi
+	addq	(%rbp),%r12
+	xorq	%r9,%r14
+
+	xorq	%r10,%rdi
+	rorq	$14,%r13
+	movq	%r10,%r8
+
+	andq	%rdi,%r15
+	rorq	$28,%r14
+	addq	%r13,%r12
+
+	xorq	%r15,%r8
+	addq	%r12,%rax
+	addq	%r12,%r8
+
+	leaq	24(%rbp),%rbp
+	movq	40(%rsp),%r13
+	movq	16(%rsp),%r15
+
+	movq	%r13,%r12
+	rorq	$7,%r13
+	addq	%r14,%r8
+	movq	%r15,%r14
+	rorq	$42,%r15
+
+	xorq	%r12,%r13
+	shrq	$7,%r12
+	rorq	$1,%r13
+	xorq	%r14,%r15
+	shrq	$6,%r14
+
+	rorq	$19,%r15
+	xorq	%r13,%r12
+	xorq	%r14,%r15
+	addq	104(%rsp),%r12
+
+	addq	32(%rsp),%r12
+	movq	%rax,%r13
+	addq	%r15,%r12
+	movq	%r8,%r14
+	rorq	$23,%r13
+	movq	%rbx,%r15
+
+	xorq	%rax,%r13
+	rorq	$5,%r14
+	xorq	%rcx,%r15
+
+	movq	%r12,32(%rsp)
+	xorq	%r8,%r14
+	andq	%rax,%r15
+
+	rorq	$4,%r13
+	addq	%rdx,%r12
+	xorq	%rcx,%r15
+
+	rorq	$6,%r14
+	xorq	%rax,%r13
+	addq	%r15,%r12
+
+	movq	%r8,%r15
+	addq	(%rbp),%r12
+	xorq	%r8,%r14
+
+	xorq	%r9,%r15
+	rorq	$14,%r13
+	movq	%r9,%rdx
+
+	andq	%r15,%rdi
+	rorq	$28,%r14
+	addq	%r13,%r12
+
+	xorq	%rdi,%rdx
+	addq	%r12,%r11
+	addq	%r12,%rdx
+
+	leaq	8(%rbp),%rbp
+	movq	48(%rsp),%r13
+	movq	24(%rsp),%rdi
+
+	movq	%r13,%r12
+	rorq	$7,%r13
+	addq	%r14,%rdx
+	movq	%rdi,%r14
+	rorq	$42,%rdi
+
+	xorq	%r12,%r13
+	shrq	$7,%r12
+	rorq	$1,%r13
+	xorq	%r14,%rdi
+	shrq	$6,%r14
+
+	rorq	$19,%rdi
+	xorq	%r13,%r12
+	xorq	%r14,%rdi
+	addq	112(%rsp),%r12
+
+	addq	40(%rsp),%r12
+	movq	%r11,%r13
+	addq	%rdi,%r12
+	movq	%rdx,%r14
+	rorq	$23,%r13
+	movq	%rax,%rdi
+
+	xorq	%r11,%r13
+	rorq	$5,%r14
+	xorq	%rbx,%rdi
+
+	movq	%r12,40(%rsp)
+	xorq	%rdx,%r14
+	andq	%r11,%rdi
+
+	rorq	$4,%r13
+	addq	%rcx,%r12
+	xorq	%rbx,%rdi
+
+	rorq	$6,%r14
+	xorq	%r11,%r13
+	addq	%rdi,%r12
+
+	movq	%rdx,%rdi
+	addq	(%rbp),%r12
+	xorq	%rdx,%r14
+
+	xorq	%r8,%rdi
+	rorq	$14,%r13
+	movq	%r8,%rcx
+
+	andq	%rdi,%r15
+	rorq	$28,%r14
+	addq	%r13,%r12
+
+	xorq	%r15,%rcx
+	addq	%r12,%r10
+	addq	%r12,%rcx
+
+	leaq	24(%rbp),%rbp
+	movq	56(%rsp),%r13
+	movq	32(%rsp),%r15
+
+	movq	%r13,%r12
+	rorq	$7,%r13
+	addq	%r14,%rcx
+	movq	%r15,%r14
+	rorq	$42,%r15
+
+	xorq	%r12,%r13
+	shrq	$7,%r12
+	rorq	$1,%r13
+	xorq	%r14,%r15
+	shrq	$6,%r14
+
+	rorq	$19,%r15
+	xorq	%r13,%r12
+	xorq	%r14,%r15
+	addq	120(%rsp),%r12
+
+	addq	48(%rsp),%r12
+	movq	%r10,%r13
+	addq	%r15,%r12
+	movq	%rcx,%r14
+	rorq	$23,%r13
+	movq	%r11,%r15
+
+	xorq	%r10,%r13
+	rorq	$5,%r14
+	xorq	%rax,%r15
+
+	movq	%r12,48(%rsp)
+	xorq	%rcx,%r14
+	andq	%r10,%r15
+
+	rorq	$4,%r13
+	addq	%rbx,%r12
+	xorq	%rax,%r15
+
+	rorq	$6,%r14
+	xorq	%r10,%r13
+	addq	%r15,%r12
+
+	movq	%rcx,%r15
+	addq	(%rbp),%r12
+	xorq	%rcx,%r14
+
+	xorq	%rdx,%r15
+	rorq	$14,%r13
+	movq	%rdx,%rbx
+
+	andq	%r15,%rdi
+	rorq	$28,%r14
+	addq	%r13,%r12
+
+	xorq	%rdi,%rbx
+	addq	%r12,%r9
+	addq	%r12,%rbx
+
+	leaq	8(%rbp),%rbp
+	movq	64(%rsp),%r13
+	movq	40(%rsp),%rdi
+
+	movq	%r13,%r12
+	rorq	$7,%r13
+	addq	%r14,%rbx
+	movq	%rdi,%r14
+	rorq	$42,%rdi
+
+	xorq	%r12,%r13
+	shrq	$7,%r12
+	rorq	$1,%r13
+	xorq	%r14,%rdi
+	shrq	$6,%r14
+
+	rorq	$19,%rdi
+	xorq	%r13,%r12
+	xorq	%r14,%rdi
+	addq	0(%rsp),%r12
+
+	addq	56(%rsp),%r12
+	movq	%r9,%r13
+	addq	%rdi,%r12
+	movq	%rbx,%r14
+	rorq	$23,%r13
+	movq	%r10,%rdi
+
+	xorq	%r9,%r13
+	rorq	$5,%r14
+	xorq	%r11,%rdi
+
+	movq	%r12,56(%rsp)
+	xorq	%rbx,%r14
+	andq	%r9,%rdi
+
+	rorq	$4,%r13
+	addq	%rax,%r12
+	xorq	%r11,%rdi
+
+	rorq	$6,%r14
+	xorq	%r9,%r13
+	addq	%rdi,%r12
+
+	movq	%rbx,%rdi
+	addq	(%rbp),%r12
+	xorq	%rbx,%r14
+
+	xorq	%rcx,%rdi
+	rorq	$14,%r13
+	movq	%rcx,%rax
+
+	andq	%rdi,%r15
+	rorq	$28,%r14
+	addq	%r13,%r12
+
+	xorq	%r15,%rax
+	addq	%r12,%r8
+	addq	%r12,%rax
+
+	leaq	24(%rbp),%rbp
+	movq	72(%rsp),%r13
+	movq	48(%rsp),%r15
+
+	movq	%r13,%r12
+	rorq	$7,%r13
+	addq	%r14,%rax
+	movq	%r15,%r14
+	rorq	$42,%r15
+
+	xorq	%r12,%r13
+	shrq	$7,%r12
+	rorq	$1,%r13
+	xorq	%r14,%r15
+	shrq	$6,%r14
+
+	rorq	$19,%r15
+	xorq	%r13,%r12
+	xorq	%r14,%r15
+	addq	8(%rsp),%r12
+
+	addq	64(%rsp),%r12
+	movq	%r8,%r13
+	addq	%r15,%r12
+	movq	%rax,%r14
+	rorq	$23,%r13
+	movq	%r9,%r15
+
+	xorq	%r8,%r13
+	rorq	$5,%r14
+	xorq	%r10,%r15
+
+	movq	%r12,64(%rsp)
+	xorq	%rax,%r14
+	andq	%r8,%r15
+
+	rorq	$4,%r13
+	addq	%r11,%r12
+	xorq	%r10,%r15
+
+	rorq	$6,%r14
+	xorq	%r8,%r13
+	addq	%r15,%r12
+
+	movq	%rax,%r15
+	addq	(%rbp),%r12
+	xorq	%rax,%r14
+
+	xorq	%rbx,%r15
+	rorq	$14,%r13
+	movq	%rbx,%r11
+
+	andq	%r15,%rdi
+	rorq	$28,%r14
+	addq	%r13,%r12
+
+	xorq	%rdi,%r11
+	addq	%r12,%rdx
+	addq	%r12,%r11
+
+	leaq	8(%rbp),%rbp
+	movq	80(%rsp),%r13
+	movq	56(%rsp),%rdi
+
+	movq	%r13,%r12
+	rorq	$7,%r13
+	addq	%r14,%r11
+	movq	%rdi,%r14
+	rorq	$42,%rdi
+
+	xorq	%r12,%r13
+	shrq	$7,%r12
+	rorq	$1,%r13
+	xorq	%r14,%rdi
+	shrq	$6,%r14
+
+	rorq	$19,%rdi
+	xorq	%r13,%r12
+	xorq	%r14,%rdi
+	addq	16(%rsp),%r12
+
+	addq	72(%rsp),%r12
+	movq	%rdx,%r13
+	addq	%rdi,%r12
+	movq	%r11,%r14
+	rorq	$23,%r13
+	movq	%r8,%rdi
+
+	xorq	%rdx,%r13
+	rorq	$5,%r14
+	xorq	%r9,%rdi
+
+	movq	%r12,72(%rsp)
+	xorq	%r11,%r14
+	andq	%rdx,%rdi
+
+	rorq	$4,%r13
+	addq	%r10,%r12
+	xorq	%r9,%rdi
+
+	rorq	$6,%r14
+	xorq	%rdx,%r13
+	addq	%rdi,%r12
+
+	movq	%r11,%rdi
+	addq	(%rbp),%r12
+	xorq	%r11,%r14
+
+	xorq	%rax,%rdi
+	rorq	$14,%r13
+	movq	%rax,%r10
+
+	andq	%rdi,%r15
+	rorq	$28,%r14
+	addq	%r13,%r12
+
+	xorq	%r15,%r10
+	addq	%r12,%rcx
+	addq	%r12,%r10
+
+	leaq	24(%rbp),%rbp
+	movq	88(%rsp),%r13
+	movq	64(%rsp),%r15
+
+	movq	%r13,%r12
+	rorq	$7,%r13
+	addq	%r14,%r10
+	movq	%r15,%r14
+	rorq	$42,%r15
+
+	xorq	%r12,%r13
+	shrq	$7,%r12
+	rorq	$1,%r13
+	xorq	%r14,%r15
+	shrq	$6,%r14
+
+	rorq	$19,%r15
+	xorq	%r13,%r12
+	xorq	%r14,%r15
+	addq	24(%rsp),%r12
+
+	addq	80(%rsp),%r12
+	movq	%rcx,%r13
+	addq	%r15,%r12
+	movq	%r10,%r14
+	rorq	$23,%r13
+	movq	%rdx,%r15
+
+	xorq	%rcx,%r13
+	rorq	$5,%r14
+	xorq	%r8,%r15
+
+	movq	%r12,80(%rsp)
+	xorq	%r10,%r14
+	andq	%rcx,%r15
+
+	rorq	$4,%r13
+	addq	%r9,%r12
+	xorq	%r8,%r15
+
+	rorq	$6,%r14
+	xorq	%rcx,%r13
+	addq	%r15,%r12
+
+	movq	%r10,%r15
+	addq	(%rbp),%r12
+	xorq	%r10,%r14
+
+	xorq	%r11,%r15
+	rorq	$14,%r13
+	movq	%r11,%r9
+
+	andq	%r15,%rdi
+	rorq	$28,%r14
+	addq	%r13,%r12
+
+	xorq	%rdi,%r9
+	addq	%r12,%rbx
+	addq	%r12,%r9
+
+	leaq	8(%rbp),%rbp
+	movq	96(%rsp),%r13
+	movq	72(%rsp),%rdi
+
+	movq	%r13,%r12
+	rorq	$7,%r13
+	addq	%r14,%r9
+	movq	%rdi,%r14
+	rorq	$42,%rdi
+
+	xorq	%r12,%r13
+	shrq	$7,%r12
+	rorq	$1,%r13
+	xorq	%r14,%rdi
+	shrq	$6,%r14
+
+	rorq	$19,%rdi
+	xorq	%r13,%r12
+	xorq	%r14,%rdi
+	addq	32(%rsp),%r12
+
+	addq	88(%rsp),%r12
+	movq	%rbx,%r13
+	addq	%rdi,%r12
+	movq	%r9,%r14
+	rorq	$23,%r13
+	movq	%rcx,%rdi
+
+	xorq	%rbx,%r13
+	rorq	$5,%r14
+	xorq	%rdx,%rdi
+
+	movq	%r12,88(%rsp)
+	xorq	%r9,%r14
+	andq	%rbx,%rdi
+
+	rorq	$4,%r13
+	addq	%r8,%r12
+	xorq	%rdx,%rdi
+
+	rorq	$6,%r14
+	xorq	%rbx,%r13
+	addq	%rdi,%r12
+
+	movq	%r9,%rdi
+	addq	(%rbp),%r12
+	xorq	%r9,%r14
+
+	xorq	%r10,%rdi
+	rorq	$14,%r13
+	movq	%r10,%r8
+
+	andq	%rdi,%r15
+	rorq	$28,%r14
+	addq	%r13,%r12
+
+	xorq	%r15,%r8
+	addq	%r12,%rax
+	addq	%r12,%r8
+
+	leaq	24(%rbp),%rbp
+	movq	104(%rsp),%r13
+	movq	80(%rsp),%r15
+
+	movq	%r13,%r12
+	rorq	$7,%r13
+	addq	%r14,%r8
+	movq	%r15,%r14
+	rorq	$42,%r15
+
+	xorq	%r12,%r13
+	shrq	$7,%r12
+	rorq	$1,%r13
+	xorq	%r14,%r15
+	shrq	$6,%r14
+
+	rorq	$19,%r15
+	xorq	%r13,%r12
+	xorq	%r14,%r15
+	addq	40(%rsp),%r12
+
+	addq	96(%rsp),%r12
+	movq	%rax,%r13
+	addq	%r15,%r12
+	movq	%r8,%r14
+	rorq	$23,%r13
+	movq	%rbx,%r15
+
+	xorq	%rax,%r13
+	rorq	$5,%r14
+	xorq	%rcx,%r15
+
+	movq	%r12,96(%rsp)
+	xorq	%r8,%r14
+	andq	%rax,%r15
+
+	rorq	$4,%r13
+	addq	%rdx,%r12
+	xorq	%rcx,%r15
+
+	rorq	$6,%r14
+	xorq	%rax,%r13
+	addq	%r15,%r12
+
+	movq	%r8,%r15
+	addq	(%rbp),%r12
+	xorq	%r8,%r14
+
+	xorq	%r9,%r15
+	rorq	$14,%r13
+	movq	%r9,%rdx
+
+	andq	%r15,%rdi
+	rorq	$28,%r14
+	addq	%r13,%r12
+
+	xorq	%rdi,%rdx
+	addq	%r12,%r11
+	addq	%r12,%rdx
+
+	leaq	8(%rbp),%rbp
+	movq	112(%rsp),%r13
+	movq	88(%rsp),%rdi
+
+	movq	%r13,%r12
+	rorq	$7,%r13
+	addq	%r14,%rdx
+	movq	%rdi,%r14
+	rorq	$42,%rdi
+
+	xorq	%r12,%r13
+	shrq	$7,%r12
+	rorq	$1,%r13
+	xorq	%r14,%rdi
+	shrq	$6,%r14
+
+	rorq	$19,%rdi
+	xorq	%r13,%r12
+	xorq	%r14,%rdi
+	addq	48(%rsp),%r12
+
+	addq	104(%rsp),%r12
+	movq	%r11,%r13
+	addq	%rdi,%r12
+	movq	%rdx,%r14
+	rorq	$23,%r13
+	movq	%rax,%rdi
+
+	xorq	%r11,%r13
+	rorq	$5,%r14
+	xorq	%rbx,%rdi
+
+	movq	%r12,104(%rsp)
+	xorq	%rdx,%r14
+	andq	%r11,%rdi
+
+	rorq	$4,%r13
+	addq	%rcx,%r12
+	xorq	%rbx,%rdi
+
+	rorq	$6,%r14
+	xorq	%r11,%r13
+	addq	%rdi,%r12
+
+	movq	%rdx,%rdi
+	addq	(%rbp),%r12
+	xorq	%rdx,%r14
+
+	xorq	%r8,%rdi
+	rorq	$14,%r13
+	movq	%r8,%rcx
+
+	andq	%rdi,%r15
+	rorq	$28,%r14
+	addq	%r13,%r12
+
+	xorq	%r15,%rcx
+	addq	%r12,%r10
+	addq	%r12,%rcx
+
+	leaq	24(%rbp),%rbp
+	movq	120(%rsp),%r13
+	movq	96(%rsp),%r15
+
+	movq	%r13,%r12
+	rorq	$7,%r13
+	addq	%r14,%rcx
+	movq	%r15,%r14
+	rorq	$42,%r15
+
+	xorq	%r12,%r13
+	shrq	$7,%r12
+	rorq	$1,%r13
+	xorq	%r14,%r15
+	shrq	$6,%r14
+
+	rorq	$19,%r15
+	xorq	%r13,%r12
+	xorq	%r14,%r15
+	addq	56(%rsp),%r12
+
+	addq	112(%rsp),%r12
+	movq	%r10,%r13
+	addq	%r15,%r12
+	movq	%rcx,%r14
+	rorq	$23,%r13
+	movq	%r11,%r15
+
+	xorq	%r10,%r13
+	rorq	$5,%r14
+	xorq	%rax,%r15
+
+	movq	%r12,112(%rsp)
+	xorq	%rcx,%r14
+	andq	%r10,%r15
+
+	rorq	$4,%r13
+	addq	%rbx,%r12
+	xorq	%rax,%r15
+
+	rorq	$6,%r14
+	xorq	%r10,%r13
+	addq	%r15,%r12
+
+	movq	%rcx,%r15
+	addq	(%rbp),%r12
+	xorq	%rcx,%r14
+
+	xorq	%rdx,%r15
+	rorq	$14,%r13
+	movq	%rdx,%rbx
+
+	andq	%r15,%rdi
+	rorq	$28,%r14
+	addq	%r13,%r12
+
+	xorq	%rdi,%rbx
+	addq	%r12,%r9
+	addq	%r12,%rbx
+
+	leaq	8(%rbp),%rbp
+	movq	0(%rsp),%r13
+	movq	104(%rsp),%rdi
+
+	movq	%r13,%r12
+	rorq	$7,%r13
+	addq	%r14,%rbx
+	movq	%rdi,%r14
+	rorq	$42,%rdi
+
+	xorq	%r12,%r13
+	shrq	$7,%r12
+	rorq	$1,%r13
+	xorq	%r14,%rdi
+	shrq	$6,%r14
+
+	rorq	$19,%rdi
+	xorq	%r13,%r12
+	xorq	%r14,%rdi
+	addq	64(%rsp),%r12
+
+	addq	120(%rsp),%r12
+	movq	%r9,%r13
+	addq	%rdi,%r12
+	movq	%rbx,%r14
+	rorq	$23,%r13
+	movq	%r10,%rdi
+
+	xorq	%r9,%r13
+	rorq	$5,%r14
+	xorq	%r11,%rdi
+
+	movq	%r12,120(%rsp)
+	xorq	%rbx,%r14
+	andq	%r9,%rdi
+
+	rorq	$4,%r13
+	addq	%rax,%r12
+	xorq	%r11,%rdi
+
+	rorq	$6,%r14
+	xorq	%r9,%r13
+	addq	%rdi,%r12
+
+	movq	%rbx,%rdi
+	addq	(%rbp),%r12
+	xorq	%rbx,%r14
+
+	xorq	%rcx,%rdi
+	rorq	$14,%r13
+	movq	%rcx,%rax
+
+	andq	%rdi,%r15
+	rorq	$28,%r14
+	addq	%r13,%r12
+
+	xorq	%r15,%rax
+	addq	%r12,%r8
+	addq	%r12,%rax
+
+	leaq	24(%rbp),%rbp
+	cmpb	$0,7(%rbp)
+	jnz	L$rounds_16_xx
+
+	movq	128+0(%rsp),%rdi
+	addq	%r14,%rax
+	leaq	128(%rsi),%rsi
+
+	addq	0(%rdi),%rax
+	addq	8(%rdi),%rbx
+	addq	16(%rdi),%rcx
+	addq	24(%rdi),%rdx
+	addq	32(%rdi),%r8
+	addq	40(%rdi),%r9
+	addq	48(%rdi),%r10
+	addq	56(%rdi),%r11
+
+	cmpq	128+16(%rsp),%rsi
+
+	movq	%rax,0(%rdi)
+	movq	%rbx,8(%rdi)
+	movq	%rcx,16(%rdi)
+	movq	%rdx,24(%rdi)
+	movq	%r8,32(%rdi)
+	movq	%r9,40(%rdi)
+	movq	%r10,48(%rdi)
+	movq	%r11,56(%rdi)
+	jb	L$loop
+
+	movq	128+24(%rsp),%rsi
+	movq	-48(%rsi),%r15
+	movq	-40(%rsi),%r14
+	movq	-32(%rsi),%r13
+	movq	-24(%rsi),%r12
+	movq	-16(%rsi),%rbp
+	movq	-8(%rsi),%rbx
+	leaq	(%rsi),%rsp
+L$epilogue:
+	.byte	0xf3,0xc3
+
+.p2align	6
+
+K512:
+.quad	0x428a2f98d728ae22,0x7137449123ef65cd
+.quad	0x428a2f98d728ae22,0x7137449123ef65cd
+.quad	0xb5c0fbcfec4d3b2f,0xe9b5dba58189dbbc
+.quad	0xb5c0fbcfec4d3b2f,0xe9b5dba58189dbbc
+.quad	0x3956c25bf348b538,0x59f111f1b605d019
+.quad	0x3956c25bf348b538,0x59f111f1b605d019
+.quad	0x923f82a4af194f9b,0xab1c5ed5da6d8118
+.quad	0x923f82a4af194f9b,0xab1c5ed5da6d8118
+.quad	0xd807aa98a3030242,0x12835b0145706fbe
+.quad	0xd807aa98a3030242,0x12835b0145706fbe
+.quad	0x243185be4ee4b28c,0x550c7dc3d5ffb4e2
+.quad	0x243185be4ee4b28c,0x550c7dc3d5ffb4e2
+.quad	0x72be5d74f27b896f,0x80deb1fe3b1696b1
+.quad	0x72be5d74f27b896f,0x80deb1fe3b1696b1
+.quad	0x9bdc06a725c71235,0xc19bf174cf692694
+.quad	0x9bdc06a725c71235,0xc19bf174cf692694
+.quad	0xe49b69c19ef14ad2,0xefbe4786384f25e3
+.quad	0xe49b69c19ef14ad2,0xefbe4786384f25e3
+.quad	0x0fc19dc68b8cd5b5,0x240ca1cc77ac9c65
+.quad	0x0fc19dc68b8cd5b5,0x240ca1cc77ac9c65
+.quad	0x2de92c6f592b0275,0x4a7484aa6ea6e483
+.quad	0x2de92c6f592b0275,0x4a7484aa6ea6e483
+.quad	0x5cb0a9dcbd41fbd4,0x76f988da831153b5
+.quad	0x5cb0a9dcbd41fbd4,0x76f988da831153b5
+.quad	0x983e5152ee66dfab,0xa831c66d2db43210
+.quad	0x983e5152ee66dfab,0xa831c66d2db43210
+.quad	0xb00327c898fb213f,0xbf597fc7beef0ee4
+.quad	0xb00327c898fb213f,0xbf597fc7beef0ee4
+.quad	0xc6e00bf33da88fc2,0xd5a79147930aa725
+.quad	0xc6e00bf33da88fc2,0xd5a79147930aa725
+.quad	0x06ca6351e003826f,0x142929670a0e6e70
+.quad	0x06ca6351e003826f,0x142929670a0e6e70
+.quad	0x27b70a8546d22ffc,0x2e1b21385c26c926
+.quad	0x27b70a8546d22ffc,0x2e1b21385c26c926
+.quad	0x4d2c6dfc5ac42aed,0x53380d139d95b3df
+.quad	0x4d2c6dfc5ac42aed,0x53380d139d95b3df
+.quad	0x650a73548baf63de,0x766a0abb3c77b2a8
+.quad	0x650a73548baf63de,0x766a0abb3c77b2a8
+.quad	0x81c2c92e47edaee6,0x92722c851482353b
+.quad	0x81c2c92e47edaee6,0x92722c851482353b
+.quad	0xa2bfe8a14cf10364,0xa81a664bbc423001
+.quad	0xa2bfe8a14cf10364,0xa81a664bbc423001
+.quad	0xc24b8b70d0f89791,0xc76c51a30654be30
+.quad	0xc24b8b70d0f89791,0xc76c51a30654be30
+.quad	0xd192e819d6ef5218,0xd69906245565a910
+.quad	0xd192e819d6ef5218,0xd69906245565a910
+.quad	0xf40e35855771202a,0x106aa07032bbd1b8
+.quad	0xf40e35855771202a,0x106aa07032bbd1b8
+.quad	0x19a4c116b8d2d0c8,0x1e376c085141ab53
+.quad	0x19a4c116b8d2d0c8,0x1e376c085141ab53
+.quad	0x2748774cdf8eeb99,0x34b0bcb5e19b48a8
+.quad	0x2748774cdf8eeb99,0x34b0bcb5e19b48a8
+.quad	0x391c0cb3c5c95a63,0x4ed8aa4ae3418acb
+.quad	0x391c0cb3c5c95a63,0x4ed8aa4ae3418acb
+.quad	0x5b9cca4f7763e373,0x682e6ff3d6b2b8a3
+.quad	0x5b9cca4f7763e373,0x682e6ff3d6b2b8a3
+.quad	0x748f82ee5defb2fc,0x78a5636f43172f60
+.quad	0x748f82ee5defb2fc,0x78a5636f43172f60
+.quad	0x84c87814a1f0ab72,0x8cc702081a6439ec
+.quad	0x84c87814a1f0ab72,0x8cc702081a6439ec
+.quad	0x90befffa23631e28,0xa4506cebde82bde9
+.quad	0x90befffa23631e28,0xa4506cebde82bde9
+.quad	0xbef9a3f7b2c67915,0xc67178f2e372532b
+.quad	0xbef9a3f7b2c67915,0xc67178f2e372532b
+.quad	0xca273eceea26619c,0xd186b8c721c0c207
+.quad	0xca273eceea26619c,0xd186b8c721c0c207
+.quad	0xeada7dd6cde0eb1e,0xf57d4f7fee6ed178
+.quad	0xeada7dd6cde0eb1e,0xf57d4f7fee6ed178
+.quad	0x06f067aa72176fba,0x0a637dc5a2c898a6
+.quad	0x06f067aa72176fba,0x0a637dc5a2c898a6
+.quad	0x113f9804bef90dae,0x1b710b35131c471b
+.quad	0x113f9804bef90dae,0x1b710b35131c471b
+.quad	0x28db77f523047d84,0x32caab7b40c72493
+.quad	0x28db77f523047d84,0x32caab7b40c72493
+.quad	0x3c9ebe0a15c9bebc,0x431d67c49c100d4c
+.quad	0x3c9ebe0a15c9bebc,0x431d67c49c100d4c
+.quad	0x4cc5d4becb3e42b6,0x597f299cfc657e2a
+.quad	0x4cc5d4becb3e42b6,0x597f299cfc657e2a
+.quad	0x5fcb6fab3ad6faec,0x6c44198c4a475817
+.quad	0x5fcb6fab3ad6faec,0x6c44198c4a475817
+
+.quad	0x0001020304050607,0x08090a0b0c0d0e0f
+.quad	0x0001020304050607,0x08090a0b0c0d0e0f
+.byte	83,72,65,53,49,50,32,98,108,111,99,107,32,116,114,97,110,115,102,111,114,109,32,102,111,114,32,120,56,54,95,54,52,44,32,67,82,89,80,84,79,71,65,77,83,32,98,121,32,60,97,112,112,114,111,64,111,112,101,110,115,115,108,46,111,114,103,62,0
+
+.p2align	6
+sha512_block_data_order_xop:
+L$xop_shortcut:
+	movq	%rsp,%rax
+	pushq	%rbx
+	pushq	%rbp
+	pushq	%r12
+	pushq	%r13
+	pushq	%r14
+	pushq	%r15
+	shlq	$4,%rdx
+	subq	$160,%rsp
+	leaq	(%rsi,%rdx,8),%rdx
+	andq	$-64,%rsp
+	movq	%rdi,128+0(%rsp)
+	movq	%rsi,128+8(%rsp)
+	movq	%rdx,128+16(%rsp)
+	movq	%rax,128+24(%rsp)
+L$prologue_xop:
+
+	vzeroupper
+	movq	0(%rdi),%rax
+	movq	8(%rdi),%rbx
+	movq	16(%rdi),%rcx
+	movq	24(%rdi),%rdx
+	movq	32(%rdi),%r8
+	movq	40(%rdi),%r9
+	movq	48(%rdi),%r10
+	movq	56(%rdi),%r11
+	jmp	L$loop_xop
+.p2align	4
+L$loop_xop:
+	vmovdqa	K512+1280(%rip),%xmm11
+	vmovdqu	0(%rsi),%xmm0
+	leaq	K512+128(%rip),%rbp
+	vmovdqu	16(%rsi),%xmm1
+	vmovdqu	32(%rsi),%xmm2
+	vpshufb	%xmm11,%xmm0,%xmm0
+	vmovdqu	48(%rsi),%xmm3
+	vpshufb	%xmm11,%xmm1,%xmm1
+	vmovdqu	64(%rsi),%xmm4
+	vpshufb	%xmm11,%xmm2,%xmm2
+	vmovdqu	80(%rsi),%xmm5
+	vpshufb	%xmm11,%xmm3,%xmm3
+	vmovdqu	96(%rsi),%xmm6
+	vpshufb	%xmm11,%xmm4,%xmm4
+	vmovdqu	112(%rsi),%xmm7
+	vpshufb	%xmm11,%xmm5,%xmm5
+	vpaddq	-128(%rbp),%xmm0,%xmm8
+	vpshufb	%xmm11,%xmm6,%xmm6
+	vpaddq	-96(%rbp),%xmm1,%xmm9
+	vpshufb	%xmm11,%xmm7,%xmm7
+	vpaddq	-64(%rbp),%xmm2,%xmm10
+	vpaddq	-32(%rbp),%xmm3,%xmm11
+	vmovdqa	%xmm8,0(%rsp)
+	vpaddq	0(%rbp),%xmm4,%xmm8
+	vmovdqa	%xmm9,16(%rsp)
+	vpaddq	32(%rbp),%xmm5,%xmm9
+	vmovdqa	%xmm10,32(%rsp)
+	vpaddq	64(%rbp),%xmm6,%xmm10
+	vmovdqa	%xmm11,48(%rsp)
+	vpaddq	96(%rbp),%xmm7,%xmm11
+	vmovdqa	%xmm8,64(%rsp)
+	movq	%rax,%r14
+	vmovdqa	%xmm9,80(%rsp)
+	movq	%rbx,%rdi
+	vmovdqa	%xmm10,96(%rsp)
+	xorq	%rcx,%rdi
+	vmovdqa	%xmm11,112(%rsp)
+	movq	%r8,%r13
+	jmp	L$xop_00_47
+
+.p2align	4
+L$xop_00_47:
+	addq	$256,%rbp
+	vpalignr	$8,%xmm0,%xmm1,%xmm8
+	rorq	$23,%r13
+	movq	%r14,%rax
+	vpalignr	$8,%xmm4,%xmm5,%xmm11
+	movq	%r9,%r12
+	rorq	$5,%r14
+.byte	143,72,120,195,200,56
+	xorq	%r8,%r13
+	xorq	%r10,%r12
+	vpsrlq	$7,%xmm8,%xmm8
+	rorq	$4,%r13
+	xorq	%rax,%r14
+	vpaddq	%xmm11,%xmm0,%xmm0
+	andq	%r8,%r12
+	xorq	%r8,%r13
+	addq	0(%rsp),%r11
+	movq	%rax,%r15
+.byte	143,72,120,195,209,7
+	xorq	%r10,%r12
+	rorq	$6,%r14
+	vpxor	%xmm9,%xmm8,%xmm8
+	xorq	%rbx,%r15
+	addq	%r12,%r11
+	rorq	$14,%r13
+	andq	%r15,%rdi
+.byte	143,104,120,195,223,3
+	xorq	%rax,%r14
+	addq	%r13,%r11
+	vpxor	%xmm10,%xmm8,%xmm8
+	xorq	%rbx,%rdi
+	rorq	$28,%r14
+	vpsrlq	$6,%xmm7,%xmm10
+	addq	%r11,%rdx
+	addq	%rdi,%r11
+	vpaddq	%xmm8,%xmm0,%xmm0
+	movq	%rdx,%r13
+	addq	%r11,%r14
+.byte	143,72,120,195,203,42
+	rorq	$23,%r13
+	movq	%r14,%r11
+	vpxor	%xmm10,%xmm11,%xmm11
+	movq	%r8,%r12
+	rorq	$5,%r14
+	xorq	%rdx,%r13
+	xorq	%r9,%r12
+	vpxor	%xmm9,%xmm11,%xmm11
+	rorq	$4,%r13
+	xorq	%r11,%r14
+	andq	%rdx,%r12
+	xorq	%rdx,%r13
+	vpaddq	%xmm11,%xmm0,%xmm0
+	addq	8(%rsp),%r10
+	movq	%r11,%rdi
+	xorq	%r9,%r12
+	rorq	$6,%r14
+	vpaddq	-128(%rbp),%xmm0,%xmm10
+	xorq	%rax,%rdi
+	addq	%r12,%r10
+	rorq	$14,%r13
+	andq	%rdi,%r15
+	xorq	%r11,%r14
+	addq	%r13,%r10
+	xorq	%rax,%r15
+	rorq	$28,%r14
+	addq	%r10,%rcx
+	addq	%r15,%r10
+	movq	%rcx,%r13
+	addq	%r10,%r14
+	vmovdqa	%xmm10,0(%rsp)
+	vpalignr	$8,%xmm1,%xmm2,%xmm8
+	rorq	$23,%r13
+	movq	%r14,%r10
+	vpalignr	$8,%xmm5,%xmm6,%xmm11
+	movq	%rdx,%r12
+	rorq	$5,%r14
+.byte	143,72,120,195,200,56
+	xorq	%rcx,%r13
+	xorq	%r8,%r12
+	vpsrlq	$7,%xmm8,%xmm8
+	rorq	$4,%r13
+	xorq	%r10,%r14
+	vpaddq	%xmm11,%xmm1,%xmm1
+	andq	%rcx,%r12
+	xorq	%rcx,%r13
+	addq	16(%rsp),%r9
+	movq	%r10,%r15
+.byte	143,72,120,195,209,7
+	xorq	%r8,%r12
+	rorq	$6,%r14
+	vpxor	%xmm9,%xmm8,%xmm8
+	xorq	%r11,%r15
+	addq	%r12,%r9
+	rorq	$14,%r13
+	andq	%r15,%rdi
+.byte	143,104,120,195,216,3
+	xorq	%r10,%r14
+	addq	%r13,%r9
+	vpxor	%xmm10,%xmm8,%xmm8
+	xorq	%r11,%rdi
+	rorq	$28,%r14
+	vpsrlq	$6,%xmm0,%xmm10
+	addq	%r9,%rbx
+	addq	%rdi,%r9
+	vpaddq	%xmm8,%xmm1,%xmm1
+	movq	%rbx,%r13
+	addq	%r9,%r14
+.byte	143,72,120,195,203,42
+	rorq	$23,%r13
+	movq	%r14,%r9
+	vpxor	%xmm10,%xmm11,%xmm11
+	movq	%rcx,%r12
+	rorq	$5,%r14
+	xorq	%rbx,%r13
+	xorq	%rdx,%r12
+	vpxor	%xmm9,%xmm11,%xmm11
+	rorq	$4,%r13
+	xorq	%r9,%r14
+	andq	%rbx,%r12
+	xorq	%rbx,%r13
+	vpaddq	%xmm11,%xmm1,%xmm1
+	addq	24(%rsp),%r8
+	movq	%r9,%rdi
+	xorq	%rdx,%r12
+	rorq	$6,%r14
+	vpaddq	-96(%rbp),%xmm1,%xmm10
+	xorq	%r10,%rdi
+	addq	%r12,%r8
+	rorq	$14,%r13
+	andq	%rdi,%r15
+	xorq	%r9,%r14
+	addq	%r13,%r8
+	xorq	%r10,%r15
+	rorq	$28,%r14
+	addq	%r8,%rax
+	addq	%r15,%r8
+	movq	%rax,%r13
+	addq	%r8,%r14
+	vmovdqa	%xmm10,16(%rsp)
+	vpalignr	$8,%xmm2,%xmm3,%xmm8
+	rorq	$23,%r13
+	movq	%r14,%r8
+	vpalignr	$8,%xmm6,%xmm7,%xmm11
+	movq	%rbx,%r12
+	rorq	$5,%r14
+.byte	143,72,120,195,200,56
+	xorq	%rax,%r13
+	xorq	%rcx,%r12
+	vpsrlq	$7,%xmm8,%xmm8
+	rorq	$4,%r13
+	xorq	%r8,%r14
+	vpaddq	%xmm11,%xmm2,%xmm2
+	andq	%rax,%r12
+	xorq	%rax,%r13
+	addq	32(%rsp),%rdx
+	movq	%r8,%r15
+.byte	143,72,120,195,209,7
+	xorq	%rcx,%r12
+	rorq	$6,%r14
+	vpxor	%xmm9,%xmm8,%xmm8
+	xorq	%r9,%r15
+	addq	%r12,%rdx
+	rorq	$14,%r13
+	andq	%r15,%rdi
+.byte	143,104,120,195,217,3
+	xorq	%r8,%r14
+	addq	%r13,%rdx
+	vpxor	%xmm10,%xmm8,%xmm8
+	xorq	%r9,%rdi
+	rorq	$28,%r14
+	vpsrlq	$6,%xmm1,%xmm10
+	addq	%rdx,%r11
+	addq	%rdi,%rdx
+	vpaddq	%xmm8,%xmm2,%xmm2
+	movq	%r11,%r13
+	addq	%rdx,%r14
+.byte	143,72,120,195,203,42
+	rorq	$23,%r13
+	movq	%r14,%rdx
+	vpxor	%xmm10,%xmm11,%xmm11
+	movq	%rax,%r12
+	rorq	$5,%r14
+	xorq	%r11,%r13
+	xorq	%rbx,%r12
+	vpxor	%xmm9,%xmm11,%xmm11
+	rorq	$4,%r13
+	xorq	%rdx,%r14
+	andq	%r11,%r12
+	xorq	%r11,%r13
+	vpaddq	%xmm11,%xmm2,%xmm2
+	addq	40(%rsp),%rcx
+	movq	%rdx,%rdi
+	xorq	%rbx,%r12
+	rorq	$6,%r14
+	vpaddq	-64(%rbp),%xmm2,%xmm10
+	xorq	%r8,%rdi
+	addq	%r12,%rcx
+	rorq	$14,%r13
+	andq	%rdi,%r15
+	xorq	%rdx,%r14
+	addq	%r13,%rcx
+	xorq	%r8,%r15
+	rorq	$28,%r14
+	addq	%rcx,%r10
+	addq	%r15,%rcx
+	movq	%r10,%r13
+	addq	%rcx,%r14
+	vmovdqa	%xmm10,32(%rsp)
+	vpalignr	$8,%xmm3,%xmm4,%xmm8
+	rorq	$23,%r13
+	movq	%r14,%rcx
+	vpalignr	$8,%xmm7,%xmm0,%xmm11
+	movq	%r11,%r12
+	rorq	$5,%r14
+.byte	143,72,120,195,200,56
+	xorq	%r10,%r13
+	xorq	%rax,%r12
+	vpsrlq	$7,%xmm8,%xmm8
+	rorq	$4,%r13
+	xorq	%rcx,%r14
+	vpaddq	%xmm11,%xmm3,%xmm3
+	andq	%r10,%r12
+	xorq	%r10,%r13
+	addq	48(%rsp),%rbx
+	movq	%rcx,%r15
+.byte	143,72,120,195,209,7
+	xorq	%rax,%r12
+	rorq	$6,%r14
+	vpxor	%xmm9,%xmm8,%xmm8
+	xorq	%rdx,%r15
+	addq	%r12,%rbx
+	rorq	$14,%r13
+	andq	%r15,%rdi
+.byte	143,104,120,195,218,3
+	xorq	%rcx,%r14
+	addq	%r13,%rbx
+	vpxor	%xmm10,%xmm8,%xmm8
+	xorq	%rdx,%rdi
+	rorq	$28,%r14
+	vpsrlq	$6,%xmm2,%xmm10
+	addq	%rbx,%r9
+	addq	%rdi,%rbx
+	vpaddq	%xmm8,%xmm3,%xmm3
+	movq	%r9,%r13
+	addq	%rbx,%r14
+.byte	143,72,120,195,203,42
+	rorq	$23,%r13
+	movq	%r14,%rbx
+	vpxor	%xmm10,%xmm11,%xmm11
+	movq	%r10,%r12
+	rorq	$5,%r14
+	xorq	%r9,%r13
+	xorq	%r11,%r12
+	vpxor	%xmm9,%xmm11,%xmm11
+	rorq	$4,%r13
+	xorq	%rbx,%r14
+	andq	%r9,%r12
+	xorq	%r9,%r13
+	vpaddq	%xmm11,%xmm3,%xmm3
+	addq	56(%rsp),%rax
+	movq	%rbx,%rdi
+	xorq	%r11,%r12
+	rorq	$6,%r14
+	vpaddq	-32(%rbp),%xmm3,%xmm10
+	xorq	%rcx,%rdi
+	addq	%r12,%rax
+	rorq	$14,%r13
+	andq	%rdi,%r15
+	xorq	%rbx,%r14
+	addq	%r13,%rax
+	xorq	%rcx,%r15
+	rorq	$28,%r14
+	addq	%rax,%r8
+	addq	%r15,%rax
+	movq	%r8,%r13
+	addq	%rax,%r14
+	vmovdqa	%xmm10,48(%rsp)
+	vpalignr	$8,%xmm4,%xmm5,%xmm8
+	rorq	$23,%r13
+	movq	%r14,%rax
+	vpalignr	$8,%xmm0,%xmm1,%xmm11
+	movq	%r9,%r12
+	rorq	$5,%r14
+.byte	143,72,120,195,200,56
+	xorq	%r8,%r13
+	xorq	%r10,%r12
+	vpsrlq	$7,%xmm8,%xmm8
+	rorq	$4,%r13
+	xorq	%rax,%r14
+	vpaddq	%xmm11,%xmm4,%xmm4
+	andq	%r8,%r12
+	xorq	%r8,%r13
+	addq	64(%rsp),%r11
+	movq	%rax,%r15
+.byte	143,72,120,195,209,7
+	xorq	%r10,%r12
+	rorq	$6,%r14
+	vpxor	%xmm9,%xmm8,%xmm8
+	xorq	%rbx,%r15
+	addq	%r12,%r11
+	rorq	$14,%r13
+	andq	%r15,%rdi
+.byte	143,104,120,195,219,3
+	xorq	%rax,%r14
+	addq	%r13,%r11
+	vpxor	%xmm10,%xmm8,%xmm8
+	xorq	%rbx,%rdi
+	rorq	$28,%r14
+	vpsrlq	$6,%xmm3,%xmm10
+	addq	%r11,%rdx
+	addq	%rdi,%r11
+	vpaddq	%xmm8,%xmm4,%xmm4
+	movq	%rdx,%r13
+	addq	%r11,%r14
+.byte	143,72,120,195,203,42
+	rorq	$23,%r13
+	movq	%r14,%r11
+	vpxor	%xmm10,%xmm11,%xmm11
+	movq	%r8,%r12
+	rorq	$5,%r14
+	xorq	%rdx,%r13
+	xorq	%r9,%r12
+	vpxor	%xmm9,%xmm11,%xmm11
+	rorq	$4,%r13
+	xorq	%r11,%r14
+	andq	%rdx,%r12
+	xorq	%rdx,%r13
+	vpaddq	%xmm11,%xmm4,%xmm4
+	addq	72(%rsp),%r10
+	movq	%r11,%rdi
+	xorq	%r9,%r12
+	rorq	$6,%r14
+	vpaddq	0(%rbp),%xmm4,%xmm10
+	xorq	%rax,%rdi
+	addq	%r12,%r10
+	rorq	$14,%r13
+	andq	%rdi,%r15
+	xorq	%r11,%r14
+	addq	%r13,%r10
+	xorq	%rax,%r15
+	rorq	$28,%r14
+	addq	%r10,%rcx
+	addq	%r15,%r10
+	movq	%rcx,%r13
+	addq	%r10,%r14
+	vmovdqa	%xmm10,64(%rsp)
+	vpalignr	$8,%xmm5,%xmm6,%xmm8
+	rorq	$23,%r13
+	movq	%r14,%r10
+	vpalignr	$8,%xmm1,%xmm2,%xmm11
+	movq	%rdx,%r12
+	rorq	$5,%r14
+.byte	143,72,120,195,200,56
+	xorq	%rcx,%r13
+	xorq	%r8,%r12
+	vpsrlq	$7,%xmm8,%xmm8
+	rorq	$4,%r13
+	xorq	%r10,%r14
+	vpaddq	%xmm11,%xmm5,%xmm5
+	andq	%rcx,%r12
+	xorq	%rcx,%r13
+	addq	80(%rsp),%r9
+	movq	%r10,%r15
+.byte	143,72,120,195,209,7
+	xorq	%r8,%r12
+	rorq	$6,%r14
+	vpxor	%xmm9,%xmm8,%xmm8
+	xorq	%r11,%r15
+	addq	%r12,%r9
+	rorq	$14,%r13
+	andq	%r15,%rdi
+.byte	143,104,120,195,220,3
+	xorq	%r10,%r14
+	addq	%r13,%r9
+	vpxor	%xmm10,%xmm8,%xmm8
+	xorq	%r11,%rdi
+	rorq	$28,%r14
+	vpsrlq	$6,%xmm4,%xmm10
+	addq	%r9,%rbx
+	addq	%rdi,%r9
+	vpaddq	%xmm8,%xmm5,%xmm5
+	movq	%rbx,%r13
+	addq	%r9,%r14
+.byte	143,72,120,195,203,42
+	rorq	$23,%r13
+	movq	%r14,%r9
+	vpxor	%xmm10,%xmm11,%xmm11
+	movq	%rcx,%r12
+	rorq	$5,%r14
+	xorq	%rbx,%r13
+	xorq	%rdx,%r12
+	vpxor	%xmm9,%xmm11,%xmm11
+	rorq	$4,%r13
+	xorq	%r9,%r14
+	andq	%rbx,%r12
+	xorq	%rbx,%r13
+	vpaddq	%xmm11,%xmm5,%xmm5
+	addq	88(%rsp),%r8
+	movq	%r9,%rdi
+	xorq	%rdx,%r12
+	rorq	$6,%r14
+	vpaddq	32(%rbp),%xmm5,%xmm10
+	xorq	%r10,%rdi
+	addq	%r12,%r8
+	rorq	$14,%r13
+	andq	%rdi,%r15
+	xorq	%r9,%r14
+	addq	%r13,%r8
+	xorq	%r10,%r15
+	rorq	$28,%r14
+	addq	%r8,%rax
+	addq	%r15,%r8
+	movq	%rax,%r13
+	addq	%r8,%r14
+	vmovdqa	%xmm10,80(%rsp)
+	vpalignr	$8,%xmm6,%xmm7,%xmm8
+	rorq	$23,%r13
+	movq	%r14,%r8
+	vpalignr	$8,%xmm2,%xmm3,%xmm11
+	movq	%rbx,%r12
+	rorq	$5,%r14
+.byte	143,72,120,195,200,56
+	xorq	%rax,%r13
+	xorq	%rcx,%r12
+	vpsrlq	$7,%xmm8,%xmm8
+	rorq	$4,%r13
+	xorq	%r8,%r14
+	vpaddq	%xmm11,%xmm6,%xmm6
+	andq	%rax,%r12
+	xorq	%rax,%r13
+	addq	96(%rsp),%rdx
+	movq	%r8,%r15
+.byte	143,72,120,195,209,7
+	xorq	%rcx,%r12
+	rorq	$6,%r14
+	vpxor	%xmm9,%xmm8,%xmm8
+	xorq	%r9,%r15
+	addq	%r12,%rdx
+	rorq	$14,%r13
+	andq	%r15,%rdi
+.byte	143,104,120,195,221,3
+	xorq	%r8,%r14
+	addq	%r13,%rdx
+	vpxor	%xmm10,%xmm8,%xmm8
+	xorq	%r9,%rdi
+	rorq	$28,%r14
+	vpsrlq	$6,%xmm5,%xmm10
+	addq	%rdx,%r11
+	addq	%rdi,%rdx
+	vpaddq	%xmm8,%xmm6,%xmm6
+	movq	%r11,%r13
+	addq	%rdx,%r14
+.byte	143,72,120,195,203,42
+	rorq	$23,%r13
+	movq	%r14,%rdx
+	vpxor	%xmm10,%xmm11,%xmm11
+	movq	%rax,%r12
+	rorq	$5,%r14
+	xorq	%r11,%r13
+	xorq	%rbx,%r12
+	vpxor	%xmm9,%xmm11,%xmm11
+	rorq	$4,%r13
+	xorq	%rdx,%r14
+	andq	%r11,%r12
+	xorq	%r11,%r13
+	vpaddq	%xmm11,%xmm6,%xmm6
+	addq	104(%rsp),%rcx
+	movq	%rdx,%rdi
+	xorq	%rbx,%r12
+	rorq	$6,%r14
+	vpaddq	64(%rbp),%xmm6,%xmm10
+	xorq	%r8,%rdi
+	addq	%r12,%rcx
+	rorq	$14,%r13
+	andq	%rdi,%r15
+	xorq	%rdx,%r14
+	addq	%r13,%rcx
+	xorq	%r8,%r15
+	rorq	$28,%r14
+	addq	%rcx,%r10
+	addq	%r15,%rcx
+	movq	%r10,%r13
+	addq	%rcx,%r14
+	vmovdqa	%xmm10,96(%rsp)
+	vpalignr	$8,%xmm7,%xmm0,%xmm8
+	rorq	$23,%r13
+	movq	%r14,%rcx
+	vpalignr	$8,%xmm3,%xmm4,%xmm11
+	movq	%r11,%r12
+	rorq	$5,%r14
+.byte	143,72,120,195,200,56
+	xorq	%r10,%r13
+	xorq	%rax,%r12
+	vpsrlq	$7,%xmm8,%xmm8
+	rorq	$4,%r13
+	xorq	%rcx,%r14
+	vpaddq	%xmm11,%xmm7,%xmm7
+	andq	%r10,%r12
+	xorq	%r10,%r13
+	addq	112(%rsp),%rbx
+	movq	%rcx,%r15
+.byte	143,72,120,195,209,7
+	xorq	%rax,%r12
+	rorq	$6,%r14
+	vpxor	%xmm9,%xmm8,%xmm8
+	xorq	%rdx,%r15
+	addq	%r12,%rbx
+	rorq	$14,%r13
+	andq	%r15,%rdi
+.byte	143,104,120,195,222,3
+	xorq	%rcx,%r14
+	addq	%r13,%rbx
+	vpxor	%xmm10,%xmm8,%xmm8
+	xorq	%rdx,%rdi
+	rorq	$28,%r14
+	vpsrlq	$6,%xmm6,%xmm10
+	addq	%rbx,%r9
+	addq	%rdi,%rbx
+	vpaddq	%xmm8,%xmm7,%xmm7
+	movq	%r9,%r13
+	addq	%rbx,%r14
+.byte	143,72,120,195,203,42
+	rorq	$23,%r13
+	movq	%r14,%rbx
+	vpxor	%xmm10,%xmm11,%xmm11
+	movq	%r10,%r12
+	rorq	$5,%r14
+	xorq	%r9,%r13
+	xorq	%r11,%r12
+	vpxor	%xmm9,%xmm11,%xmm11
+	rorq	$4,%r13
+	xorq	%rbx,%r14
+	andq	%r9,%r12
+	xorq	%r9,%r13
+	vpaddq	%xmm11,%xmm7,%xmm7
+	addq	120(%rsp),%rax
+	movq	%rbx,%rdi
+	xorq	%r11,%r12
+	rorq	$6,%r14
+	vpaddq	96(%rbp),%xmm7,%xmm10
+	xorq	%rcx,%rdi
+	addq	%r12,%rax
+	rorq	$14,%r13
+	andq	%rdi,%r15
+	xorq	%rbx,%r14
+	addq	%r13,%rax
+	xorq	%rcx,%r15
+	rorq	$28,%r14
+	addq	%rax,%r8
+	addq	%r15,%rax
+	movq	%r8,%r13
+	addq	%rax,%r14
+	vmovdqa	%xmm10,112(%rsp)
+	cmpb	$0,135(%rbp)
+	jne	L$xop_00_47
+	rorq	$23,%r13
+	movq	%r14,%rax
+	movq	%r9,%r12
+	rorq	$5,%r14
+	xorq	%r8,%r13
+	xorq	%r10,%r12
+	rorq	$4,%r13
+	xorq	%rax,%r14
+	andq	%r8,%r12
+	xorq	%r8,%r13
+	addq	0(%rsp),%r11
+	movq	%rax,%r15
+	xorq	%r10,%r12
+	rorq	$6,%r14
+	xorq	%rbx,%r15
+	addq	%r12,%r11
+	rorq	$14,%r13
+	andq	%r15,%rdi
+	xorq	%rax,%r14
+	addq	%r13,%r11
+	xorq	%rbx,%rdi
+	rorq	$28,%r14
+	addq	%r11,%rdx
+	addq	%rdi,%r11
+	movq	%rdx,%r13
+	addq	%r11,%r14
+	rorq	$23,%r13
+	movq	%r14,%r11
+	movq	%r8,%r12
+	rorq	$5,%r14
+	xorq	%rdx,%r13
+	xorq	%r9,%r12
+	rorq	$4,%r13
+	xorq	%r11,%r14
+	andq	%rdx,%r12
+	xorq	%rdx,%r13
+	addq	8(%rsp),%r10
+	movq	%r11,%rdi
+	xorq	%r9,%r12
+	rorq	$6,%r14
+	xorq	%rax,%rdi
+	addq	%r12,%r10
+	rorq	$14,%r13
+	andq	%rdi,%r15
+	xorq	%r11,%r14
+	addq	%r13,%r10
+	xorq	%rax,%r15
+	rorq	$28,%r14
+	addq	%r10,%rcx
+	addq	%r15,%r10
+	movq	%rcx,%r13
+	addq	%r10,%r14
+	rorq	$23,%r13
+	movq	%r14,%r10
+	movq	%rdx,%r12
+	rorq	$5,%r14
+	xorq	%rcx,%r13
+	xorq	%r8,%r12
+	rorq	$4,%r13
+	xorq	%r10,%r14
+	andq	%rcx,%r12
+	xorq	%rcx,%r13
+	addq	16(%rsp),%r9
+	movq	%r10,%r15
+	xorq	%r8,%r12
+	rorq	$6,%r14
+	xorq	%r11,%r15
+	addq	%r12,%r9
+	rorq	$14,%r13
+	andq	%r15,%rdi
+	xorq	%r10,%r14
+	addq	%r13,%r9
+	xorq	%r11,%rdi
+	rorq	$28,%r14
+	addq	%r9,%rbx
+	addq	%rdi,%r9
+	movq	%rbx,%r13
+	addq	%r9,%r14
+	rorq	$23,%r13
+	movq	%r14,%r9
+	movq	%rcx,%r12
+	rorq	$5,%r14
+	xorq	%rbx,%r13
+	xorq	%rdx,%r12
+	rorq	$4,%r13
+	xorq	%r9,%r14
+	andq	%rbx,%r12
+	xorq	%rbx,%r13
+	addq	24(%rsp),%r8
+	movq	%r9,%rdi
+	xorq	%rdx,%r12
+	rorq	$6,%r14
+	xorq	%r10,%rdi
+	addq	%r12,%r8
+	rorq	$14,%r13
+	andq	%rdi,%r15
+	xorq	%r9,%r14
+	addq	%r13,%r8
+	xorq	%r10,%r15
+	rorq	$28,%r14
+	addq	%r8,%rax
+	addq	%r15,%r8
+	movq	%rax,%r13
+	addq	%r8,%r14
+	rorq	$23,%r13
+	movq	%r14,%r8
+	movq	%rbx,%r12
+	rorq	$5,%r14
+	xorq	%rax,%r13
+	xorq	%rcx,%r12
+	rorq	$4,%r13
+	xorq	%r8,%r14
+	andq	%rax,%r12
+	xorq	%rax,%r13
+	addq	32(%rsp),%rdx
+	movq	%r8,%r15
+	xorq	%rcx,%r12
+	rorq	$6,%r14
+	xorq	%r9,%r15
+	addq	%r12,%rdx
+	rorq	$14,%r13
+	andq	%r15,%rdi
+	xorq	%r8,%r14
+	addq	%r13,%rdx
+	xorq	%r9,%rdi
+	rorq	$28,%r14
+	addq	%rdx,%r11
+	addq	%rdi,%rdx
+	movq	%r11,%r13
+	addq	%rdx,%r14
+	rorq	$23,%r13
+	movq	%r14,%rdx
+	movq	%rax,%r12
+	rorq	$5,%r14
+	xorq	%r11,%r13
+	xorq	%rbx,%r12
+	rorq	$4,%r13
+	xorq	%rdx,%r14
+	andq	%r11,%r12
+	xorq	%r11,%r13
+	addq	40(%rsp),%rcx
+	movq	%rdx,%rdi
+	xorq	%rbx,%r12
+	rorq	$6,%r14
+	xorq	%r8,%rdi
+	addq	%r12,%rcx
+	rorq	$14,%r13
+	andq	%rdi,%r15
+	xorq	%rdx,%r14
+	addq	%r13,%rcx
+	xorq	%r8,%r15
+	rorq	$28,%r14
+	addq	%rcx,%r10
+	addq	%r15,%rcx
+	movq	%r10,%r13
+	addq	%rcx,%r14
+	rorq	$23,%r13
+	movq	%r14,%rcx
+	movq	%r11,%r12
+	rorq	$5,%r14
+	xorq	%r10,%r13
+	xorq	%rax,%r12
+	rorq	$4,%r13
+	xorq	%rcx,%r14
+	andq	%r10,%r12
+	xorq	%r10,%r13
+	addq	48(%rsp),%rbx
+	movq	%rcx,%r15
+	xorq	%rax,%r12
+	rorq	$6,%r14
+	xorq	%rdx,%r15
+	addq	%r12,%rbx
+	rorq	$14,%r13
+	andq	%r15,%rdi
+	xorq	%rcx,%r14
+	addq	%r13,%rbx
+	xorq	%rdx,%rdi
+	rorq	$28,%r14
+	addq	%rbx,%r9
+	addq	%rdi,%rbx
+	movq	%r9,%r13
+	addq	%rbx,%r14
+	rorq	$23,%r13
+	movq	%r14,%rbx
+	movq	%r10,%r12
+	rorq	$5,%r14
+	xorq	%r9,%r13
+	xorq	%r11,%r12
+	rorq	$4,%r13
+	xorq	%rbx,%r14
+	andq	%r9,%r12
+	xorq	%r9,%r13
+	addq	56(%rsp),%rax
+	movq	%rbx,%rdi
+	xorq	%r11,%r12
+	rorq	$6,%r14
+	xorq	%rcx,%rdi
+	addq	%r12,%rax
+	rorq	$14,%r13
+	andq	%rdi,%r15
+	xorq	%rbx,%r14
+	addq	%r13,%rax
+	xorq	%rcx,%r15
+	rorq	$28,%r14
+	addq	%rax,%r8
+	addq	%r15,%rax
+	movq	%r8,%r13
+	addq	%rax,%r14
+	rorq	$23,%r13
+	movq	%r14,%rax
+	movq	%r9,%r12
+	rorq	$5,%r14
+	xorq	%r8,%r13
+	xorq	%r10,%r12
+	rorq	$4,%r13
+	xorq	%rax,%r14
+	andq	%r8,%r12
+	xorq	%r8,%r13
+	addq	64(%rsp),%r11
+	movq	%rax,%r15
+	xorq	%r10,%r12
+	rorq	$6,%r14
+	xorq	%rbx,%r15
+	addq	%r12,%r11
+	rorq	$14,%r13
+	andq	%r15,%rdi
+	xorq	%rax,%r14
+	addq	%r13,%r11
+	xorq	%rbx,%rdi
+	rorq	$28,%r14
+	addq	%r11,%rdx
+	addq	%rdi,%r11
+	movq	%rdx,%r13
+	addq	%r11,%r14
+	rorq	$23,%r13
+	movq	%r14,%r11
+	movq	%r8,%r12
+	rorq	$5,%r14
+	xorq	%rdx,%r13
+	xorq	%r9,%r12
+	rorq	$4,%r13
+	xorq	%r11,%r14
+	andq	%rdx,%r12
+	xorq	%rdx,%r13
+	addq	72(%rsp),%r10
+	movq	%r11,%rdi
+	xorq	%r9,%r12
+	rorq	$6,%r14
+	xorq	%rax,%rdi
+	addq	%r12,%r10
+	rorq	$14,%r13
+	andq	%rdi,%r15
+	xorq	%r11,%r14
+	addq	%r13,%r10
+	xorq	%rax,%r15
+	rorq	$28,%r14
+	addq	%r10,%rcx
+	addq	%r15,%r10
+	movq	%rcx,%r13
+	addq	%r10,%r14
+	rorq	$23,%r13
+	movq	%r14,%r10
+	movq	%rdx,%r12
+	rorq	$5,%r14
+	xorq	%rcx,%r13
+	xorq	%r8,%r12
+	rorq	$4,%r13
+	xorq	%r10,%r14
+	andq	%rcx,%r12
+	xorq	%rcx,%r13
+	addq	80(%rsp),%r9
+	movq	%r10,%r15
+	xorq	%r8,%r12
+	rorq	$6,%r14
+	xorq	%r11,%r15
+	addq	%r12,%r9
+	rorq	$14,%r13
+	andq	%r15,%rdi
+	xorq	%r10,%r14
+	addq	%r13,%r9
+	xorq	%r11,%rdi
+	rorq	$28,%r14
+	addq	%r9,%rbx
+	addq	%rdi,%r9
+	movq	%rbx,%r13
+	addq	%r9,%r14
+	rorq	$23,%r13
+	movq	%r14,%r9
+	movq	%rcx,%r12
+	rorq	$5,%r14
+	xorq	%rbx,%r13
+	xorq	%rdx,%r12
+	rorq	$4,%r13
+	xorq	%r9,%r14
+	andq	%rbx,%r12
+	xorq	%rbx,%r13
+	addq	88(%rsp),%r8
+	movq	%r9,%rdi
+	xorq	%rdx,%r12
+	rorq	$6,%r14
+	xorq	%r10,%rdi
+	addq	%r12,%r8
+	rorq	$14,%r13
+	andq	%rdi,%r15
+	xorq	%r9,%r14
+	addq	%r13,%r8
+	xorq	%r10,%r15
+	rorq	$28,%r14
+	addq	%r8,%rax
+	addq	%r15,%r8
+	movq	%rax,%r13
+	addq	%r8,%r14
+	rorq	$23,%r13
+	movq	%r14,%r8
+	movq	%rbx,%r12
+	rorq	$5,%r14
+	xorq	%rax,%r13
+	xorq	%rcx,%r12
+	rorq	$4,%r13
+	xorq	%r8,%r14
+	andq	%rax,%r12
+	xorq	%rax,%r13
+	addq	96(%rsp),%rdx
+	movq	%r8,%r15
+	xorq	%rcx,%r12
+	rorq	$6,%r14
+	xorq	%r9,%r15
+	addq	%r12,%rdx
+	rorq	$14,%r13
+	andq	%r15,%rdi
+	xorq	%r8,%r14
+	addq	%r13,%rdx
+	xorq	%r9,%rdi
+	rorq	$28,%r14
+	addq	%rdx,%r11
+	addq	%rdi,%rdx
+	movq	%r11,%r13
+	addq	%rdx,%r14
+	rorq	$23,%r13
+	movq	%r14,%rdx
+	movq	%rax,%r12
+	rorq	$5,%r14
+	xorq	%r11,%r13
+	xorq	%rbx,%r12
+	rorq	$4,%r13
+	xorq	%rdx,%r14
+	andq	%r11,%r12
+	xorq	%r11,%r13
+	addq	104(%rsp),%rcx
+	movq	%rdx,%rdi
+	xorq	%rbx,%r12
+	rorq	$6,%r14
+	xorq	%r8,%rdi
+	addq	%r12,%rcx
+	rorq	$14,%r13
+	andq	%rdi,%r15
+	xorq	%rdx,%r14
+	addq	%r13,%rcx
+	xorq	%r8,%r15
+	rorq	$28,%r14
+	addq	%rcx,%r10
+	addq	%r15,%rcx
+	movq	%r10,%r13
+	addq	%rcx,%r14
+	rorq	$23,%r13
+	movq	%r14,%rcx
+	movq	%r11,%r12
+	rorq	$5,%r14
+	xorq	%r10,%r13
+	xorq	%rax,%r12
+	rorq	$4,%r13
+	xorq	%rcx,%r14
+	andq	%r10,%r12
+	xorq	%r10,%r13
+	addq	112(%rsp),%rbx
+	movq	%rcx,%r15
+	xorq	%rax,%r12
+	rorq	$6,%r14
+	xorq	%rdx,%r15
+	addq	%r12,%rbx
+	rorq	$14,%r13
+	andq	%r15,%rdi
+	xorq	%rcx,%r14
+	addq	%r13,%rbx
+	xorq	%rdx,%rdi
+	rorq	$28,%r14
+	addq	%rbx,%r9
+	addq	%rdi,%rbx
+	movq	%r9,%r13
+	addq	%rbx,%r14
+	rorq	$23,%r13
+	movq	%r14,%rbx
+	movq	%r10,%r12
+	rorq	$5,%r14
+	xorq	%r9,%r13
+	xorq	%r11,%r12
+	rorq	$4,%r13
+	xorq	%rbx,%r14
+	andq	%r9,%r12
+	xorq	%r9,%r13
+	addq	120(%rsp),%rax
+	movq	%rbx,%rdi
+	xorq	%r11,%r12
+	rorq	$6,%r14
+	xorq	%rcx,%rdi
+	addq	%r12,%rax
+	rorq	$14,%r13
+	andq	%rdi,%r15
+	xorq	%rbx,%r14
+	addq	%r13,%rax
+	xorq	%rcx,%r15
+	rorq	$28,%r14
+	addq	%rax,%r8
+	addq	%r15,%rax
+	movq	%r8,%r13
+	addq	%rax,%r14
+	movq	128+0(%rsp),%rdi
+	movq	%r14,%rax
+
+	addq	0(%rdi),%rax
+	leaq	128(%rsi),%rsi
+	addq	8(%rdi),%rbx
+	addq	16(%rdi),%rcx
+	addq	24(%rdi),%rdx
+	addq	32(%rdi),%r8
+	addq	40(%rdi),%r9
+	addq	48(%rdi),%r10
+	addq	56(%rdi),%r11
+
+	cmpq	128+16(%rsp),%rsi
+
+	movq	%rax,0(%rdi)
+	movq	%rbx,8(%rdi)
+	movq	%rcx,16(%rdi)
+	movq	%rdx,24(%rdi)
+	movq	%r8,32(%rdi)
+	movq	%r9,40(%rdi)
+	movq	%r10,48(%rdi)
+	movq	%r11,56(%rdi)
+	jb	L$loop_xop
+
+	movq	128+24(%rsp),%rsi
+	vzeroupper
+	movq	-48(%rsi),%r15
+	movq	-40(%rsi),%r14
+	movq	-32(%rsi),%r13
+	movq	-24(%rsi),%r12
+	movq	-16(%rsi),%rbp
+	movq	-8(%rsi),%rbx
+	leaq	(%rsi),%rsp
+L$epilogue_xop:
+	.byte	0xf3,0xc3
+
+
+.p2align	6
+sha512_block_data_order_avx:
+L$avx_shortcut:
+	movq	%rsp,%rax
+	pushq	%rbx
+	pushq	%rbp
+	pushq	%r12
+	pushq	%r13
+	pushq	%r14
+	pushq	%r15
+	shlq	$4,%rdx
+	subq	$160,%rsp
+	leaq	(%rsi,%rdx,8),%rdx
+	andq	$-64,%rsp
+	movq	%rdi,128+0(%rsp)
+	movq	%rsi,128+8(%rsp)
+	movq	%rdx,128+16(%rsp)
+	movq	%rax,128+24(%rsp)
+L$prologue_avx:
+
+	vzeroupper
+	movq	0(%rdi),%rax
+	movq	8(%rdi),%rbx
+	movq	16(%rdi),%rcx
+	movq	24(%rdi),%rdx
+	movq	32(%rdi),%r8
+	movq	40(%rdi),%r9
+	movq	48(%rdi),%r10
+	movq	56(%rdi),%r11
+	jmp	L$loop_avx
+.p2align	4
+L$loop_avx:
+	vmovdqa	K512+1280(%rip),%xmm11
+	vmovdqu	0(%rsi),%xmm0
+	leaq	K512+128(%rip),%rbp
+	vmovdqu	16(%rsi),%xmm1
+	vmovdqu	32(%rsi),%xmm2
+	vpshufb	%xmm11,%xmm0,%xmm0
+	vmovdqu	48(%rsi),%xmm3
+	vpshufb	%xmm11,%xmm1,%xmm1
+	vmovdqu	64(%rsi),%xmm4
+	vpshufb	%xmm11,%xmm2,%xmm2
+	vmovdqu	80(%rsi),%xmm5
+	vpshufb	%xmm11,%xmm3,%xmm3
+	vmovdqu	96(%rsi),%xmm6
+	vpshufb	%xmm11,%xmm4,%xmm4
+	vmovdqu	112(%rsi),%xmm7
+	vpshufb	%xmm11,%xmm5,%xmm5
+	vpaddq	-128(%rbp),%xmm0,%xmm8
+	vpshufb	%xmm11,%xmm6,%xmm6
+	vpaddq	-96(%rbp),%xmm1,%xmm9
+	vpshufb	%xmm11,%xmm7,%xmm7
+	vpaddq	-64(%rbp),%xmm2,%xmm10
+	vpaddq	-32(%rbp),%xmm3,%xmm11
+	vmovdqa	%xmm8,0(%rsp)
+	vpaddq	0(%rbp),%xmm4,%xmm8
+	vmovdqa	%xmm9,16(%rsp)
+	vpaddq	32(%rbp),%xmm5,%xmm9
+	vmovdqa	%xmm10,32(%rsp)
+	vpaddq	64(%rbp),%xmm6,%xmm10
+	vmovdqa	%xmm11,48(%rsp)
+	vpaddq	96(%rbp),%xmm7,%xmm11
+	vmovdqa	%xmm8,64(%rsp)
+	movq	%rax,%r14
+	vmovdqa	%xmm9,80(%rsp)
+	movq	%rbx,%rdi
+	vmovdqa	%xmm10,96(%rsp)
+	xorq	%rcx,%rdi
+	vmovdqa	%xmm11,112(%rsp)
+	movq	%r8,%r13
+	jmp	L$avx_00_47
+
+.p2align	4
+L$avx_00_47:
+	addq	$256,%rbp
+	vpalignr	$8,%xmm0,%xmm1,%xmm8
+	shrdq	$23,%r13,%r13
+	movq	%r14,%rax
+	vpalignr	$8,%xmm4,%xmm5,%xmm11
+	movq	%r9,%r12
+	shrdq	$5,%r14,%r14
+	vpsrlq	$1,%xmm8,%xmm10
+	xorq	%r8,%r13
+	xorq	%r10,%r12
+	vpaddq	%xmm11,%xmm0,%xmm0
+	shrdq	$4,%r13,%r13
+	xorq	%rax,%r14
+	vpsrlq	$7,%xmm8,%xmm11
+	andq	%r8,%r12
+	xorq	%r8,%r13
+	vpsllq	$56,%xmm8,%xmm9
+	addq	0(%rsp),%r11
+	movq	%rax,%r15
+	vpxor	%xmm10,%xmm11,%xmm8
+	xorq	%r10,%r12
+	shrdq	$6,%r14,%r14
+	vpsrlq	$7,%xmm10,%xmm10
+	xorq	%rbx,%r15
+	addq	%r12,%r11
+	vpxor	%xmm9,%xmm8,%xmm8
+	shrdq	$14,%r13,%r13
+	andq	%r15,%rdi
+	vpsllq	$7,%xmm9,%xmm9
+	xorq	%rax,%r14
+	addq	%r13,%r11
+	vpxor	%xmm10,%xmm8,%xmm8
+	xorq	%rbx,%rdi
+	shrdq	$28,%r14,%r14
+	vpsrlq	$6,%xmm7,%xmm11
+	addq	%r11,%rdx
+	addq	%rdi,%r11
+	vpxor	%xmm9,%xmm8,%xmm8
+	movq	%rdx,%r13
+	addq	%r11,%r14
+	vpsllq	$3,%xmm7,%xmm10
+	shrdq	$23,%r13,%r13
+	movq	%r14,%r11
+	vpaddq	%xmm8,%xmm0,%xmm0
+	movq	%r8,%r12
+	shrdq	$5,%r14,%r14
+	vpsrlq	$19,%xmm7,%xmm9
+	xorq	%rdx,%r13
+	xorq	%r9,%r12
+	vpxor	%xmm10,%xmm11,%xmm11
+	shrdq	$4,%r13,%r13
+	xorq	%r11,%r14
+	vpsllq	$42,%xmm10,%xmm10
+	andq	%rdx,%r12
+	xorq	%rdx,%r13
+	vpxor	%xmm9,%xmm11,%xmm11
+	addq	8(%rsp),%r10
+	movq	%r11,%rdi
+	vpsrlq	$42,%xmm9,%xmm9
+	xorq	%r9,%r12
+	shrdq	$6,%r14,%r14
+	vpxor	%xmm10,%xmm11,%xmm11
+	xorq	%rax,%rdi
+	addq	%r12,%r10
+	vpxor	%xmm9,%xmm11,%xmm11
+	shrdq	$14,%r13,%r13
+	andq	%rdi,%r15
+	vpaddq	%xmm11,%xmm0,%xmm0
+	xorq	%r11,%r14
+	addq	%r13,%r10
+	vpaddq	-128(%rbp),%xmm0,%xmm10
+	xorq	%rax,%r15
+	shrdq	$28,%r14,%r14
+	addq	%r10,%rcx
+	addq	%r15,%r10
+	movq	%rcx,%r13
+	addq	%r10,%r14
+	vmovdqa	%xmm10,0(%rsp)
+	vpalignr	$8,%xmm1,%xmm2,%xmm8
+	shrdq	$23,%r13,%r13
+	movq	%r14,%r10
+	vpalignr	$8,%xmm5,%xmm6,%xmm11
+	movq	%rdx,%r12
+	shrdq	$5,%r14,%r14
+	vpsrlq	$1,%xmm8,%xmm10
+	xorq	%rcx,%r13
+	xorq	%r8,%r12
+	vpaddq	%xmm11,%xmm1,%xmm1
+	shrdq	$4,%r13,%r13
+	xorq	%r10,%r14
+	vpsrlq	$7,%xmm8,%xmm11
+	andq	%rcx,%r12
+	xorq	%rcx,%r13
+	vpsllq	$56,%xmm8,%xmm9
+	addq	16(%rsp),%r9
+	movq	%r10,%r15
+	vpxor	%xmm10,%xmm11,%xmm8
+	xorq	%r8,%r12
+	shrdq	$6,%r14,%r14
+	vpsrlq	$7,%xmm10,%xmm10
+	xorq	%r11,%r15
+	addq	%r12,%r9
+	vpxor	%xmm9,%xmm8,%xmm8
+	shrdq	$14,%r13,%r13
+	andq	%r15,%rdi
+	vpsllq	$7,%xmm9,%xmm9
+	xorq	%r10,%r14
+	addq	%r13,%r9
+	vpxor	%xmm10,%xmm8,%xmm8
+	xorq	%r11,%rdi
+	shrdq	$28,%r14,%r14
+	vpsrlq	$6,%xmm0,%xmm11
+	addq	%r9,%rbx
+	addq	%rdi,%r9
+	vpxor	%xmm9,%xmm8,%xmm8
+	movq	%rbx,%r13
+	addq	%r9,%r14
+	vpsllq	$3,%xmm0,%xmm10
+	shrdq	$23,%r13,%r13
+	movq	%r14,%r9
+	vpaddq	%xmm8,%xmm1,%xmm1
+	movq	%rcx,%r12
+	shrdq	$5,%r14,%r14
+	vpsrlq	$19,%xmm0,%xmm9
+	xorq	%rbx,%r13
+	xorq	%rdx,%r12
+	vpxor	%xmm10,%xmm11,%xmm11
+	shrdq	$4,%r13,%r13
+	xorq	%r9,%r14
+	vpsllq	$42,%xmm10,%xmm10
+	andq	%rbx,%r12
+	xorq	%rbx,%r13
+	vpxor	%xmm9,%xmm11,%xmm11
+	addq	24(%rsp),%r8
+	movq	%r9,%rdi
+	vpsrlq	$42,%xmm9,%xmm9
+	xorq	%rdx,%r12
+	shrdq	$6,%r14,%r14
+	vpxor	%xmm10,%xmm11,%xmm11
+	xorq	%r10,%rdi
+	addq	%r12,%r8
+	vpxor	%xmm9,%xmm11,%xmm11
+	shrdq	$14,%r13,%r13
+	andq	%rdi,%r15
+	vpaddq	%xmm11,%xmm1,%xmm1
+	xorq	%r9,%r14
+	addq	%r13,%r8
+	vpaddq	-96(%rbp),%xmm1,%xmm10
+	xorq	%r10,%r15
+	shrdq	$28,%r14,%r14
+	addq	%r8,%rax
+	addq	%r15,%r8
+	movq	%rax,%r13
+	addq	%r8,%r14
+	vmovdqa	%xmm10,16(%rsp)
+	vpalignr	$8,%xmm2,%xmm3,%xmm8
+	shrdq	$23,%r13,%r13
+	movq	%r14,%r8
+	vpalignr	$8,%xmm6,%xmm7,%xmm11
+	movq	%rbx,%r12
+	shrdq	$5,%r14,%r14
+	vpsrlq	$1,%xmm8,%xmm10
+	xorq	%rax,%r13
+	xorq	%rcx,%r12
+	vpaddq	%xmm11,%xmm2,%xmm2
+	shrdq	$4,%r13,%r13
+	xorq	%r8,%r14
+	vpsrlq	$7,%xmm8,%xmm11
+	andq	%rax,%r12
+	xorq	%rax,%r13
+	vpsllq	$56,%xmm8,%xmm9
+	addq	32(%rsp),%rdx
+	movq	%r8,%r15
+	vpxor	%xmm10,%xmm11,%xmm8
+	xorq	%rcx,%r12
+	shrdq	$6,%r14,%r14
+	vpsrlq	$7,%xmm10,%xmm10
+	xorq	%r9,%r15
+	addq	%r12,%rdx
+	vpxor	%xmm9,%xmm8,%xmm8
+	shrdq	$14,%r13,%r13
+	andq	%r15,%rdi
+	vpsllq	$7,%xmm9,%xmm9
+	xorq	%r8,%r14
+	addq	%r13,%rdx
+	vpxor	%xmm10,%xmm8,%xmm8
+	xorq	%r9,%rdi
+	shrdq	$28,%r14,%r14
+	vpsrlq	$6,%xmm1,%xmm11
+	addq	%rdx,%r11
+	addq	%rdi,%rdx
+	vpxor	%xmm9,%xmm8,%xmm8
+	movq	%r11,%r13
+	addq	%rdx,%r14
+	vpsllq	$3,%xmm1,%xmm10
+	shrdq	$23,%r13,%r13
+	movq	%r14,%rdx
+	vpaddq	%xmm8,%xmm2,%xmm2
+	movq	%rax,%r12
+	shrdq	$5,%r14,%r14
+	vpsrlq	$19,%xmm1,%xmm9
+	xorq	%r11,%r13
+	xorq	%rbx,%r12
+	vpxor	%xmm10,%xmm11,%xmm11
+	shrdq	$4,%r13,%r13
+	xorq	%rdx,%r14
+	vpsllq	$42,%xmm10,%xmm10
+	andq	%r11,%r12
+	xorq	%r11,%r13
+	vpxor	%xmm9,%xmm11,%xmm11
+	addq	40(%rsp),%rcx
+	movq	%rdx,%rdi
+	vpsrlq	$42,%xmm9,%xmm9
+	xorq	%rbx,%r12
+	shrdq	$6,%r14,%r14
+	vpxor	%xmm10,%xmm11,%xmm11
+	xorq	%r8,%rdi
+	addq	%r12,%rcx
+	vpxor	%xmm9,%xmm11,%xmm11
+	shrdq	$14,%r13,%r13
+	andq	%rdi,%r15
+	vpaddq	%xmm11,%xmm2,%xmm2
+	xorq	%rdx,%r14
+	addq	%r13,%rcx
+	vpaddq	-64(%rbp),%xmm2,%xmm10
+	xorq	%r8,%r15
+	shrdq	$28,%r14,%r14
+	addq	%rcx,%r10
+	addq	%r15,%rcx
+	movq	%r10,%r13
+	addq	%rcx,%r14
+	vmovdqa	%xmm10,32(%rsp)
+	vpalignr	$8,%xmm3,%xmm4,%xmm8
+	shrdq	$23,%r13,%r13
+	movq	%r14,%rcx
+	vpalignr	$8,%xmm7,%xmm0,%xmm11
+	movq	%r11,%r12
+	shrdq	$5,%r14,%r14
+	vpsrlq	$1,%xmm8,%xmm10
+	xorq	%r10,%r13
+	xorq	%rax,%r12
+	vpaddq	%xmm11,%xmm3,%xmm3
+	shrdq	$4,%r13,%r13
+	xorq	%rcx,%r14
+	vpsrlq	$7,%xmm8,%xmm11
+	andq	%r10,%r12
+	xorq	%r10,%r13
+	vpsllq	$56,%xmm8,%xmm9
+	addq	48(%rsp),%rbx
+	movq	%rcx,%r15
+	vpxor	%xmm10,%xmm11,%xmm8
+	xorq	%rax,%r12
+	shrdq	$6,%r14,%r14
+	vpsrlq	$7,%xmm10,%xmm10
+	xorq	%rdx,%r15
+	addq	%r12,%rbx
+	vpxor	%xmm9,%xmm8,%xmm8
+	shrdq	$14,%r13,%r13
+	andq	%r15,%rdi
+	vpsllq	$7,%xmm9,%xmm9
+	xorq	%rcx,%r14
+	addq	%r13,%rbx
+	vpxor	%xmm10,%xmm8,%xmm8
+	xorq	%rdx,%rdi
+	shrdq	$28,%r14,%r14
+	vpsrlq	$6,%xmm2,%xmm11
+	addq	%rbx,%r9
+	addq	%rdi,%rbx
+	vpxor	%xmm9,%xmm8,%xmm8
+	movq	%r9,%r13
+	addq	%rbx,%r14
+	vpsllq	$3,%xmm2,%xmm10
+	shrdq	$23,%r13,%r13
+	movq	%r14,%rbx
+	vpaddq	%xmm8,%xmm3,%xmm3
+	movq	%r10,%r12
+	shrdq	$5,%r14,%r14
+	vpsrlq	$19,%xmm2,%xmm9
+	xorq	%r9,%r13
+	xorq	%r11,%r12
+	vpxor	%xmm10,%xmm11,%xmm11
+	shrdq	$4,%r13,%r13
+	xorq	%rbx,%r14
+	vpsllq	$42,%xmm10,%xmm10
+	andq	%r9,%r12
+	xorq	%r9,%r13
+	vpxor	%xmm9,%xmm11,%xmm11
+	addq	56(%rsp),%rax
+	movq	%rbx,%rdi
+	vpsrlq	$42,%xmm9,%xmm9
+	xorq	%r11,%r12
+	shrdq	$6,%r14,%r14
+	vpxor	%xmm10,%xmm11,%xmm11
+	xorq	%rcx,%rdi
+	addq	%r12,%rax
+	vpxor	%xmm9,%xmm11,%xmm11
+	shrdq	$14,%r13,%r13
+	andq	%rdi,%r15
+	vpaddq	%xmm11,%xmm3,%xmm3
+	xorq	%rbx,%r14
+	addq	%r13,%rax
+	vpaddq	-32(%rbp),%xmm3,%xmm10
+	xorq	%rcx,%r15
+	shrdq	$28,%r14,%r14
+	addq	%rax,%r8
+	addq	%r15,%rax
+	movq	%r8,%r13
+	addq	%rax,%r14
+	vmovdqa	%xmm10,48(%rsp)
+	vpalignr	$8,%xmm4,%xmm5,%xmm8
+	shrdq	$23,%r13,%r13
+	movq	%r14,%rax
+	vpalignr	$8,%xmm0,%xmm1,%xmm11
+	movq	%r9,%r12
+	shrdq	$5,%r14,%r14
+	vpsrlq	$1,%xmm8,%xmm10
+	xorq	%r8,%r13
+	xorq	%r10,%r12
+	vpaddq	%xmm11,%xmm4,%xmm4
+	shrdq	$4,%r13,%r13
+	xorq	%rax,%r14
+	vpsrlq	$7,%xmm8,%xmm11
+	andq	%r8,%r12
+	xorq	%r8,%r13
+	vpsllq	$56,%xmm8,%xmm9
+	addq	64(%rsp),%r11
+	movq	%rax,%r15
+	vpxor	%xmm10,%xmm11,%xmm8
+	xorq	%r10,%r12
+	shrdq	$6,%r14,%r14
+	vpsrlq	$7,%xmm10,%xmm10
+	xorq	%rbx,%r15
+	addq	%r12,%r11
+	vpxor	%xmm9,%xmm8,%xmm8
+	shrdq	$14,%r13,%r13
+	andq	%r15,%rdi
+	vpsllq	$7,%xmm9,%xmm9
+	xorq	%rax,%r14
+	addq	%r13,%r11
+	vpxor	%xmm10,%xmm8,%xmm8
+	xorq	%rbx,%rdi
+	shrdq	$28,%r14,%r14
+	vpsrlq	$6,%xmm3,%xmm11
+	addq	%r11,%rdx
+	addq	%rdi,%r11
+	vpxor	%xmm9,%xmm8,%xmm8
+	movq	%rdx,%r13
+	addq	%r11,%r14
+	vpsllq	$3,%xmm3,%xmm10
+	shrdq	$23,%r13,%r13
+	movq	%r14,%r11
+	vpaddq	%xmm8,%xmm4,%xmm4
+	movq	%r8,%r12
+	shrdq	$5,%r14,%r14
+	vpsrlq	$19,%xmm3,%xmm9
+	xorq	%rdx,%r13
+	xorq	%r9,%r12
+	vpxor	%xmm10,%xmm11,%xmm11
+	shrdq	$4,%r13,%r13
+	xorq	%r11,%r14
+	vpsllq	$42,%xmm10,%xmm10
+	andq	%rdx,%r12
+	xorq	%rdx,%r13
+	vpxor	%xmm9,%xmm11,%xmm11
+	addq	72(%rsp),%r10
+	movq	%r11,%rdi
+	vpsrlq	$42,%xmm9,%xmm9
+	xorq	%r9,%r12
+	shrdq	$6,%r14,%r14
+	vpxor	%xmm10,%xmm11,%xmm11
+	xorq	%rax,%rdi
+	addq	%r12,%r10
+	vpxor	%xmm9,%xmm11,%xmm11
+	shrdq	$14,%r13,%r13
+	andq	%rdi,%r15
+	vpaddq	%xmm11,%xmm4,%xmm4
+	xorq	%r11,%r14
+	addq	%r13,%r10
+	vpaddq	0(%rbp),%xmm4,%xmm10
+	xorq	%rax,%r15
+	shrdq	$28,%r14,%r14
+	addq	%r10,%rcx
+	addq	%r15,%r10
+	movq	%rcx,%r13
+	addq	%r10,%r14
+	vmovdqa	%xmm10,64(%rsp)
+	vpalignr	$8,%xmm5,%xmm6,%xmm8
+	shrdq	$23,%r13,%r13
+	movq	%r14,%r10
+	vpalignr	$8,%xmm1,%xmm2,%xmm11
+	movq	%rdx,%r12
+	shrdq	$5,%r14,%r14
+	vpsrlq	$1,%xmm8,%xmm10
+	xorq	%rcx,%r13
+	xorq	%r8,%r12
+	vpaddq	%xmm11,%xmm5,%xmm5
+	shrdq	$4,%r13,%r13
+	xorq	%r10,%r14
+	vpsrlq	$7,%xmm8,%xmm11
+	andq	%rcx,%r12
+	xorq	%rcx,%r13
+	vpsllq	$56,%xmm8,%xmm9
+	addq	80(%rsp),%r9
+	movq	%r10,%r15
+	vpxor	%xmm10,%xmm11,%xmm8
+	xorq	%r8,%r12
+	shrdq	$6,%r14,%r14
+	vpsrlq	$7,%xmm10,%xmm10
+	xorq	%r11,%r15
+	addq	%r12,%r9
+	vpxor	%xmm9,%xmm8,%xmm8
+	shrdq	$14,%r13,%r13
+	andq	%r15,%rdi
+	vpsllq	$7,%xmm9,%xmm9
+	xorq	%r10,%r14
+	addq	%r13,%r9
+	vpxor	%xmm10,%xmm8,%xmm8
+	xorq	%r11,%rdi
+	shrdq	$28,%r14,%r14
+	vpsrlq	$6,%xmm4,%xmm11
+	addq	%r9,%rbx
+	addq	%rdi,%r9
+	vpxor	%xmm9,%xmm8,%xmm8
+	movq	%rbx,%r13
+	addq	%r9,%r14
+	vpsllq	$3,%xmm4,%xmm10
+	shrdq	$23,%r13,%r13
+	movq	%r14,%r9
+	vpaddq	%xmm8,%xmm5,%xmm5
+	movq	%rcx,%r12
+	shrdq	$5,%r14,%r14
+	vpsrlq	$19,%xmm4,%xmm9
+	xorq	%rbx,%r13
+	xorq	%rdx,%r12
+	vpxor	%xmm10,%xmm11,%xmm11
+	shrdq	$4,%r13,%r13
+	xorq	%r9,%r14
+	vpsllq	$42,%xmm10,%xmm10
+	andq	%rbx,%r12
+	xorq	%rbx,%r13
+	vpxor	%xmm9,%xmm11,%xmm11
+	addq	88(%rsp),%r8
+	movq	%r9,%rdi
+	vpsrlq	$42,%xmm9,%xmm9
+	xorq	%rdx,%r12
+	shrdq	$6,%r14,%r14
+	vpxor	%xmm10,%xmm11,%xmm11
+	xorq	%r10,%rdi
+	addq	%r12,%r8
+	vpxor	%xmm9,%xmm11,%xmm11
+	shrdq	$14,%r13,%r13
+	andq	%rdi,%r15
+	vpaddq	%xmm11,%xmm5,%xmm5
+	xorq	%r9,%r14
+	addq	%r13,%r8
+	vpaddq	32(%rbp),%xmm5,%xmm10
+	xorq	%r10,%r15
+	shrdq	$28,%r14,%r14
+	addq	%r8,%rax
+	addq	%r15,%r8
+	movq	%rax,%r13
+	addq	%r8,%r14
+	vmovdqa	%xmm10,80(%rsp)
+	vpalignr	$8,%xmm6,%xmm7,%xmm8
+	shrdq	$23,%r13,%r13
+	movq	%r14,%r8
+	vpalignr	$8,%xmm2,%xmm3,%xmm11
+	movq	%rbx,%r12
+	shrdq	$5,%r14,%r14
+	vpsrlq	$1,%xmm8,%xmm10
+	xorq	%rax,%r13
+	xorq	%rcx,%r12
+	vpaddq	%xmm11,%xmm6,%xmm6
+	shrdq	$4,%r13,%r13
+	xorq	%r8,%r14
+	vpsrlq	$7,%xmm8,%xmm11
+	andq	%rax,%r12
+	xorq	%rax,%r13
+	vpsllq	$56,%xmm8,%xmm9
+	addq	96(%rsp),%rdx
+	movq	%r8,%r15
+	vpxor	%xmm10,%xmm11,%xmm8
+	xorq	%rcx,%r12
+	shrdq	$6,%r14,%r14
+	vpsrlq	$7,%xmm10,%xmm10
+	xorq	%r9,%r15
+	addq	%r12,%rdx
+	vpxor	%xmm9,%xmm8,%xmm8
+	shrdq	$14,%r13,%r13
+	andq	%r15,%rdi
+	vpsllq	$7,%xmm9,%xmm9
+	xorq	%r8,%r14
+	addq	%r13,%rdx
+	vpxor	%xmm10,%xmm8,%xmm8
+	xorq	%r9,%rdi
+	shrdq	$28,%r14,%r14
+	vpsrlq	$6,%xmm5,%xmm11
+	addq	%rdx,%r11
+	addq	%rdi,%rdx
+	vpxor	%xmm9,%xmm8,%xmm8
+	movq	%r11,%r13
+	addq	%rdx,%r14
+	vpsllq	$3,%xmm5,%xmm10
+	shrdq	$23,%r13,%r13
+	movq	%r14,%rdx
+	vpaddq	%xmm8,%xmm6,%xmm6
+	movq	%rax,%r12
+	shrdq	$5,%r14,%r14
+	vpsrlq	$19,%xmm5,%xmm9
+	xorq	%r11,%r13
+	xorq	%rbx,%r12
+	vpxor	%xmm10,%xmm11,%xmm11
+	shrdq	$4,%r13,%r13
+	xorq	%rdx,%r14
+	vpsllq	$42,%xmm10,%xmm10
+	andq	%r11,%r12
+	xorq	%r11,%r13
+	vpxor	%xmm9,%xmm11,%xmm11
+	addq	104(%rsp),%rcx
+	movq	%rdx,%rdi
+	vpsrlq	$42,%xmm9,%xmm9
+	xorq	%rbx,%r12
+	shrdq	$6,%r14,%r14
+	vpxor	%xmm10,%xmm11,%xmm11
+	xorq	%r8,%rdi
+	addq	%r12,%rcx
+	vpxor	%xmm9,%xmm11,%xmm11
+	shrdq	$14,%r13,%r13
+	andq	%rdi,%r15
+	vpaddq	%xmm11,%xmm6,%xmm6
+	xorq	%rdx,%r14
+	addq	%r13,%rcx
+	vpaddq	64(%rbp),%xmm6,%xmm10
+	xorq	%r8,%r15
+	shrdq	$28,%r14,%r14
+	addq	%rcx,%r10
+	addq	%r15,%rcx
+	movq	%r10,%r13
+	addq	%rcx,%r14
+	vmovdqa	%xmm10,96(%rsp)
+	vpalignr	$8,%xmm7,%xmm0,%xmm8
+	shrdq	$23,%r13,%r13
+	movq	%r14,%rcx
+	vpalignr	$8,%xmm3,%xmm4,%xmm11
+	movq	%r11,%r12
+	shrdq	$5,%r14,%r14
+	vpsrlq	$1,%xmm8,%xmm10
+	xorq	%r10,%r13
+	xorq	%rax,%r12
+	vpaddq	%xmm11,%xmm7,%xmm7
+	shrdq	$4,%r13,%r13
+	xorq	%rcx,%r14
+	vpsrlq	$7,%xmm8,%xmm11
+	andq	%r10,%r12
+	xorq	%r10,%r13
+	vpsllq	$56,%xmm8,%xmm9
+	addq	112(%rsp),%rbx
+	movq	%rcx,%r15
+	vpxor	%xmm10,%xmm11,%xmm8
+	xorq	%rax,%r12
+	shrdq	$6,%r14,%r14
+	vpsrlq	$7,%xmm10,%xmm10
+	xorq	%rdx,%r15
+	addq	%r12,%rbx
+	vpxor	%xmm9,%xmm8,%xmm8
+	shrdq	$14,%r13,%r13
+	andq	%r15,%rdi
+	vpsllq	$7,%xmm9,%xmm9
+	xorq	%rcx,%r14
+	addq	%r13,%rbx
+	vpxor	%xmm10,%xmm8,%xmm8
+	xorq	%rdx,%rdi
+	shrdq	$28,%r14,%r14
+	vpsrlq	$6,%xmm6,%xmm11
+	addq	%rbx,%r9
+	addq	%rdi,%rbx
+	vpxor	%xmm9,%xmm8,%xmm8
+	movq	%r9,%r13
+	addq	%rbx,%r14
+	vpsllq	$3,%xmm6,%xmm10
+	shrdq	$23,%r13,%r13
+	movq	%r14,%rbx
+	vpaddq	%xmm8,%xmm7,%xmm7
+	movq	%r10,%r12
+	shrdq	$5,%r14,%r14
+	vpsrlq	$19,%xmm6,%xmm9
+	xorq	%r9,%r13
+	xorq	%r11,%r12
+	vpxor	%xmm10,%xmm11,%xmm11
+	shrdq	$4,%r13,%r13
+	xorq	%rbx,%r14
+	vpsllq	$42,%xmm10,%xmm10
+	andq	%r9,%r12
+	xorq	%r9,%r13
+	vpxor	%xmm9,%xmm11,%xmm11
+	addq	120(%rsp),%rax
+	movq	%rbx,%rdi
+	vpsrlq	$42,%xmm9,%xmm9
+	xorq	%r11,%r12
+	shrdq	$6,%r14,%r14
+	vpxor	%xmm10,%xmm11,%xmm11
+	xorq	%rcx,%rdi
+	addq	%r12,%rax
+	vpxor	%xmm9,%xmm11,%xmm11
+	shrdq	$14,%r13,%r13
+	andq	%rdi,%r15
+	vpaddq	%xmm11,%xmm7,%xmm7
+	xorq	%rbx,%r14
+	addq	%r13,%rax
+	vpaddq	96(%rbp),%xmm7,%xmm10
+	xorq	%rcx,%r15
+	shrdq	$28,%r14,%r14
+	addq	%rax,%r8
+	addq	%r15,%rax
+	movq	%r8,%r13
+	addq	%rax,%r14
+	vmovdqa	%xmm10,112(%rsp)
+	cmpb	$0,135(%rbp)
+	jne	L$avx_00_47
+	shrdq	$23,%r13,%r13
+	movq	%r14,%rax
+	movq	%r9,%r12
+	shrdq	$5,%r14,%r14
+	xorq	%r8,%r13
+	xorq	%r10,%r12
+	shrdq	$4,%r13,%r13
+	xorq	%rax,%r14
+	andq	%r8,%r12
+	xorq	%r8,%r13
+	addq	0(%rsp),%r11
+	movq	%rax,%r15
+	xorq	%r10,%r12
+	shrdq	$6,%r14,%r14
+	xorq	%rbx,%r15
+	addq	%r12,%r11
+	shrdq	$14,%r13,%r13
+	andq	%r15,%rdi
+	xorq	%rax,%r14
+	addq	%r13,%r11
+	xorq	%rbx,%rdi
+	shrdq	$28,%r14,%r14
+	addq	%r11,%rdx
+	addq	%rdi,%r11
+	movq	%rdx,%r13
+	addq	%r11,%r14
+	shrdq	$23,%r13,%r13
+	movq	%r14,%r11
+	movq	%r8,%r12
+	shrdq	$5,%r14,%r14
+	xorq	%rdx,%r13
+	xorq	%r9,%r12
+	shrdq	$4,%r13,%r13
+	xorq	%r11,%r14
+	andq	%rdx,%r12
+	xorq	%rdx,%r13
+	addq	8(%rsp),%r10
+	movq	%r11,%rdi
+	xorq	%r9,%r12
+	shrdq	$6,%r14,%r14
+	xorq	%rax,%rdi
+	addq	%r12,%r10
+	shrdq	$14,%r13,%r13
+	andq	%rdi,%r15
+	xorq	%r11,%r14
+	addq	%r13,%r10
+	xorq	%rax,%r15
+	shrdq	$28,%r14,%r14
+	addq	%r10,%rcx
+	addq	%r15,%r10
+	movq	%rcx,%r13
+	addq	%r10,%r14
+	shrdq	$23,%r13,%r13
+	movq	%r14,%r10
+	movq	%rdx,%r12
+	shrdq	$5,%r14,%r14
+	xorq	%rcx,%r13
+	xorq	%r8,%r12
+	shrdq	$4,%r13,%r13
+	xorq	%r10,%r14
+	andq	%rcx,%r12
+	xorq	%rcx,%r13
+	addq	16(%rsp),%r9
+	movq	%r10,%r15
+	xorq	%r8,%r12
+	shrdq	$6,%r14,%r14
+	xorq	%r11,%r15
+	addq	%r12,%r9
+	shrdq	$14,%r13,%r13
+	andq	%r15,%rdi
+	xorq	%r10,%r14
+	addq	%r13,%r9
+	xorq	%r11,%rdi
+	shrdq	$28,%r14,%r14
+	addq	%r9,%rbx
+	addq	%rdi,%r9
+	movq	%rbx,%r13
+	addq	%r9,%r14
+	shrdq	$23,%r13,%r13
+	movq	%r14,%r9
+	movq	%rcx,%r12
+	shrdq	$5,%r14,%r14
+	xorq	%rbx,%r13
+	xorq	%rdx,%r12
+	shrdq	$4,%r13,%r13
+	xorq	%r9,%r14
+	andq	%rbx,%r12
+	xorq	%rbx,%r13
+	addq	24(%rsp),%r8
+	movq	%r9,%rdi
+	xorq	%rdx,%r12
+	shrdq	$6,%r14,%r14
+	xorq	%r10,%rdi
+	addq	%r12,%r8
+	shrdq	$14,%r13,%r13
+	andq	%rdi,%r15
+	xorq	%r9,%r14
+	addq	%r13,%r8
+	xorq	%r10,%r15
+	shrdq	$28,%r14,%r14
+	addq	%r8,%rax
+	addq	%r15,%r8
+	movq	%rax,%r13
+	addq	%r8,%r14
+	shrdq	$23,%r13,%r13
+	movq	%r14,%r8
+	movq	%rbx,%r12
+	shrdq	$5,%r14,%r14
+	xorq	%rax,%r13
+	xorq	%rcx,%r12
+	shrdq	$4,%r13,%r13
+	xorq	%r8,%r14
+	andq	%rax,%r12
+	xorq	%rax,%r13
+	addq	32(%rsp),%rdx
+	movq	%r8,%r15
+	xorq	%rcx,%r12
+	shrdq	$6,%r14,%r14
+	xorq	%r9,%r15
+	addq	%r12,%rdx
+	shrdq	$14,%r13,%r13
+	andq	%r15,%rdi
+	xorq	%r8,%r14
+	addq	%r13,%rdx
+	xorq	%r9,%rdi
+	shrdq	$28,%r14,%r14
+	addq	%rdx,%r11
+	addq	%rdi,%rdx
+	movq	%r11,%r13
+	addq	%rdx,%r14
+	shrdq	$23,%r13,%r13
+	movq	%r14,%rdx
+	movq	%rax,%r12
+	shrdq	$5,%r14,%r14
+	xorq	%r11,%r13
+	xorq	%rbx,%r12
+	shrdq	$4,%r13,%r13
+	xorq	%rdx,%r14
+	andq	%r11,%r12
+	xorq	%r11,%r13
+	addq	40(%rsp),%rcx
+	movq	%rdx,%rdi
+	xorq	%rbx,%r12
+	shrdq	$6,%r14,%r14
+	xorq	%r8,%rdi
+	addq	%r12,%rcx
+	shrdq	$14,%r13,%r13
+	andq	%rdi,%r15
+	xorq	%rdx,%r14
+	addq	%r13,%rcx
+	xorq	%r8,%r15
+	shrdq	$28,%r14,%r14
+	addq	%rcx,%r10
+	addq	%r15,%rcx
+	movq	%r10,%r13
+	addq	%rcx,%r14
+	shrdq	$23,%r13,%r13
+	movq	%r14,%rcx
+	movq	%r11,%r12
+	shrdq	$5,%r14,%r14
+	xorq	%r10,%r13
+	xorq	%rax,%r12
+	shrdq	$4,%r13,%r13
+	xorq	%rcx,%r14
+	andq	%r10,%r12
+	xorq	%r10,%r13
+	addq	48(%rsp),%rbx
+	movq	%rcx,%r15
+	xorq	%rax,%r12
+	shrdq	$6,%r14,%r14
+	xorq	%rdx,%r15
+	addq	%r12,%rbx
+	shrdq	$14,%r13,%r13
+	andq	%r15,%rdi
+	xorq	%rcx,%r14
+	addq	%r13,%rbx
+	xorq	%rdx,%rdi
+	shrdq	$28,%r14,%r14
+	addq	%rbx,%r9
+	addq	%rdi,%rbx
+	movq	%r9,%r13
+	addq	%rbx,%r14
+	shrdq	$23,%r13,%r13
+	movq	%r14,%rbx
+	movq	%r10,%r12
+	shrdq	$5,%r14,%r14
+	xorq	%r9,%r13
+	xorq	%r11,%r12
+	shrdq	$4,%r13,%r13
+	xorq	%rbx,%r14
+	andq	%r9,%r12
+	xorq	%r9,%r13
+	addq	56(%rsp),%rax
+	movq	%rbx,%rdi
+	xorq	%r11,%r12
+	shrdq	$6,%r14,%r14
+	xorq	%rcx,%rdi
+	addq	%r12,%rax
+	shrdq	$14,%r13,%r13
+	andq	%rdi,%r15
+	xorq	%rbx,%r14
+	addq	%r13,%rax
+	xorq	%rcx,%r15
+	shrdq	$28,%r14,%r14
+	addq	%rax,%r8
+	addq	%r15,%rax
+	movq	%r8,%r13
+	addq	%rax,%r14
+	shrdq	$23,%r13,%r13
+	movq	%r14,%rax
+	movq	%r9,%r12
+	shrdq	$5,%r14,%r14
+	xorq	%r8,%r13
+	xorq	%r10,%r12
+	shrdq	$4,%r13,%r13
+	xorq	%rax,%r14
+	andq	%r8,%r12
+	xorq	%r8,%r13
+	addq	64(%rsp),%r11
+	movq	%rax,%r15
+	xorq	%r10,%r12
+	shrdq	$6,%r14,%r14
+	xorq	%rbx,%r15
+	addq	%r12,%r11
+	shrdq	$14,%r13,%r13
+	andq	%r15,%rdi
+	xorq	%rax,%r14
+	addq	%r13,%r11
+	xorq	%rbx,%rdi
+	shrdq	$28,%r14,%r14
+	addq	%r11,%rdx
+	addq	%rdi,%r11
+	movq	%rdx,%r13
+	addq	%r11,%r14
+	shrdq	$23,%r13,%r13
+	movq	%r14,%r11
+	movq	%r8,%r12
+	shrdq	$5,%r14,%r14
+	xorq	%rdx,%r13
+	xorq	%r9,%r12
+	shrdq	$4,%r13,%r13
+	xorq	%r11,%r14
+	andq	%rdx,%r12
+	xorq	%rdx,%r13
+	addq	72(%rsp),%r10
+	movq	%r11,%rdi
+	xorq	%r9,%r12
+	shrdq	$6,%r14,%r14
+	xorq	%rax,%rdi
+	addq	%r12,%r10
+	shrdq	$14,%r13,%r13
+	andq	%rdi,%r15
+	xorq	%r11,%r14
+	addq	%r13,%r10
+	xorq	%rax,%r15
+	shrdq	$28,%r14,%r14
+	addq	%r10,%rcx
+	addq	%r15,%r10
+	movq	%rcx,%r13
+	addq	%r10,%r14
+	shrdq	$23,%r13,%r13
+	movq	%r14,%r10
+	movq	%rdx,%r12
+	shrdq	$5,%r14,%r14
+	xorq	%rcx,%r13
+	xorq	%r8,%r12
+	shrdq	$4,%r13,%r13
+	xorq	%r10,%r14
+	andq	%rcx,%r12
+	xorq	%rcx,%r13
+	addq	80(%rsp),%r9
+	movq	%r10,%r15
+	xorq	%r8,%r12
+	shrdq	$6,%r14,%r14
+	xorq	%r11,%r15
+	addq	%r12,%r9
+	shrdq	$14,%r13,%r13
+	andq	%r15,%rdi
+	xorq	%r10,%r14
+	addq	%r13,%r9
+	xorq	%r11,%rdi
+	shrdq	$28,%r14,%r14
+	addq	%r9,%rbx
+	addq	%rdi,%r9
+	movq	%rbx,%r13
+	addq	%r9,%r14
+	shrdq	$23,%r13,%r13
+	movq	%r14,%r9
+	movq	%rcx,%r12
+	shrdq	$5,%r14,%r14
+	xorq	%rbx,%r13
+	xorq	%rdx,%r12
+	shrdq	$4,%r13,%r13
+	xorq	%r9,%r14
+	andq	%rbx,%r12
+	xorq	%rbx,%r13
+	addq	88(%rsp),%r8
+	movq	%r9,%rdi
+	xorq	%rdx,%r12
+	shrdq	$6,%r14,%r14
+	xorq	%r10,%rdi
+	addq	%r12,%r8
+	shrdq	$14,%r13,%r13
+	andq	%rdi,%r15
+	xorq	%r9,%r14
+	addq	%r13,%r8
+	xorq	%r10,%r15
+	shrdq	$28,%r14,%r14
+	addq	%r8,%rax
+	addq	%r15,%r8
+	movq	%rax,%r13
+	addq	%r8,%r14
+	shrdq	$23,%r13,%r13
+	movq	%r14,%r8
+	movq	%rbx,%r12
+	shrdq	$5,%r14,%r14
+	xorq	%rax,%r13
+	xorq	%rcx,%r12
+	shrdq	$4,%r13,%r13
+	xorq	%r8,%r14
+	andq	%rax,%r12
+	xorq	%rax,%r13
+	addq	96(%rsp),%rdx
+	movq	%r8,%r15
+	xorq	%rcx,%r12
+	shrdq	$6,%r14,%r14
+	xorq	%r9,%r15
+	addq	%r12,%rdx
+	shrdq	$14,%r13,%r13
+	andq	%r15,%rdi
+	xorq	%r8,%r14
+	addq	%r13,%rdx
+	xorq	%r9,%rdi
+	shrdq	$28,%r14,%r14
+	addq	%rdx,%r11
+	addq	%rdi,%rdx
+	movq	%r11,%r13
+	addq	%rdx,%r14
+	shrdq	$23,%r13,%r13
+	movq	%r14,%rdx
+	movq	%rax,%r12
+	shrdq	$5,%r14,%r14
+	xorq	%r11,%r13
+	xorq	%rbx,%r12
+	shrdq	$4,%r13,%r13
+	xorq	%rdx,%r14
+	andq	%r11,%r12
+	xorq	%r11,%r13
+	addq	104(%rsp),%rcx
+	movq	%rdx,%rdi
+	xorq	%rbx,%r12
+	shrdq	$6,%r14,%r14
+	xorq	%r8,%rdi
+	addq	%r12,%rcx
+	shrdq	$14,%r13,%r13
+	andq	%rdi,%r15
+	xorq	%rdx,%r14
+	addq	%r13,%rcx
+	xorq	%r8,%r15
+	shrdq	$28,%r14,%r14
+	addq	%rcx,%r10
+	addq	%r15,%rcx
+	movq	%r10,%r13
+	addq	%rcx,%r14
+	shrdq	$23,%r13,%r13
+	movq	%r14,%rcx
+	movq	%r11,%r12
+	shrdq	$5,%r14,%r14
+	xorq	%r10,%r13
+	xorq	%rax,%r12
+	shrdq	$4,%r13,%r13
+	xorq	%rcx,%r14
+	andq	%r10,%r12
+	xorq	%r10,%r13
+	addq	112(%rsp),%rbx
+	movq	%rcx,%r15
+	xorq	%rax,%r12
+	shrdq	$6,%r14,%r14
+	xorq	%rdx,%r15
+	addq	%r12,%rbx
+	shrdq	$14,%r13,%r13
+	andq	%r15,%rdi
+	xorq	%rcx,%r14
+	addq	%r13,%rbx
+	xorq	%rdx,%rdi
+	shrdq	$28,%r14,%r14
+	addq	%rbx,%r9
+	addq	%rdi,%rbx
+	movq	%r9,%r13
+	addq	%rbx,%r14
+	shrdq	$23,%r13,%r13
+	movq	%r14,%rbx
+	movq	%r10,%r12
+	shrdq	$5,%r14,%r14
+	xorq	%r9,%r13
+	xorq	%r11,%r12
+	shrdq	$4,%r13,%r13
+	xorq	%rbx,%r14
+	andq	%r9,%r12
+	xorq	%r9,%r13
+	addq	120(%rsp),%rax
+	movq	%rbx,%rdi
+	xorq	%r11,%r12
+	shrdq	$6,%r14,%r14
+	xorq	%rcx,%rdi
+	addq	%r12,%rax
+	shrdq	$14,%r13,%r13
+	andq	%rdi,%r15
+	xorq	%rbx,%r14
+	addq	%r13,%rax
+	xorq	%rcx,%r15
+	shrdq	$28,%r14,%r14
+	addq	%rax,%r8
+	addq	%r15,%rax
+	movq	%r8,%r13
+	addq	%rax,%r14
+	movq	128+0(%rsp),%rdi
+	movq	%r14,%rax
+
+	addq	0(%rdi),%rax
+	leaq	128(%rsi),%rsi
+	addq	8(%rdi),%rbx
+	addq	16(%rdi),%rcx
+	addq	24(%rdi),%rdx
+	addq	32(%rdi),%r8
+	addq	40(%rdi),%r9
+	addq	48(%rdi),%r10
+	addq	56(%rdi),%r11
+
+	cmpq	128+16(%rsp),%rsi
+
+	movq	%rax,0(%rdi)
+	movq	%rbx,8(%rdi)
+	movq	%rcx,16(%rdi)
+	movq	%rdx,24(%rdi)
+	movq	%r8,32(%rdi)
+	movq	%r9,40(%rdi)
+	movq	%r10,48(%rdi)
+	movq	%r11,56(%rdi)
+	jb	L$loop_avx
+
+	movq	128+24(%rsp),%rsi
+	vzeroupper
+	movq	-48(%rsi),%r15
+	movq	-40(%rsi),%r14
+	movq	-32(%rsi),%r13
+	movq	-24(%rsi),%r12
+	movq	-16(%rsi),%rbp
+	movq	-8(%rsi),%rbx
+	leaq	(%rsi),%rsp
+L$epilogue_avx:
+	.byte	0xf3,0xc3
+
+#endif
diff --git a/third_party/boringssl/mac-x86_64/crypto/sha/sha1-x86_64.S b/third_party/boringssl/mac-x86_64/crypto/sha/sha1-x86_64.S
deleted file mode 100644
index ee70a4b3..0000000
--- a/third_party/boringssl/mac-x86_64/crypto/sha/sha1-x86_64.S
+++ /dev/null
@@ -1,3542 +0,0 @@
-#if defined(__x86_64__) && !defined(OPENSSL_NO_ASM)
-.text	
-
-
-.globl	_sha1_block_data_order
-.private_extern _sha1_block_data_order
-
-.p2align	4
-_sha1_block_data_order:
-	movl	_OPENSSL_ia32cap_P+0(%rip),%r9d
-	movl	_OPENSSL_ia32cap_P+4(%rip),%r8d
-	movl	_OPENSSL_ia32cap_P+8(%rip),%r10d
-	testl	$512,%r8d
-	jz	L$ialu
-	andl	$268435456,%r8d
-	andl	$1073741824,%r9d
-	orl	%r9d,%r8d
-	cmpl	$1342177280,%r8d
-	je	_avx_shortcut
-	jmp	_ssse3_shortcut
-
-.p2align	4
-L$ialu:
-	movq	%rsp,%rax
-	pushq	%rbx
-	pushq	%rbp
-	pushq	%r12
-	pushq	%r13
-	pushq	%r14
-	movq	%rdi,%r8
-	subq	$72,%rsp
-	movq	%rsi,%r9
-	andq	$-64,%rsp
-	movq	%rdx,%r10
-	movq	%rax,64(%rsp)
-L$prologue:
-
-	movl	0(%r8),%esi
-	movl	4(%r8),%edi
-	movl	8(%r8),%r11d
-	movl	12(%r8),%r12d
-	movl	16(%r8),%r13d
-	jmp	L$loop
-
-.p2align	4
-L$loop:
-	movl	0(%r9),%edx
-	bswapl	%edx
-	movl	4(%r9),%ebp
-	movl	%r12d,%eax
-	movl	%edx,0(%rsp)
-	movl	%esi,%ecx
-	bswapl	%ebp
-	xorl	%r11d,%eax
-	roll	$5,%ecx
-	andl	%edi,%eax
-	leal	1518500249(%rdx,%r13,1),%r13d
-	addl	%ecx,%r13d
-	xorl	%r12d,%eax
-	roll	$30,%edi
-	addl	%eax,%r13d
-	movl	8(%r9),%r14d
-	movl	%r11d,%eax
-	movl	%ebp,4(%rsp)
-	movl	%r13d,%ecx
-	bswapl	%r14d
-	xorl	%edi,%eax
-	roll	$5,%ecx
-	andl	%esi,%eax
-	leal	1518500249(%rbp,%r12,1),%r12d
-	addl	%ecx,%r12d
-	xorl	%r11d,%eax
-	roll	$30,%esi
-	addl	%eax,%r12d
-	movl	12(%r9),%edx
-	movl	%edi,%eax
-	movl	%r14d,8(%rsp)
-	movl	%r12d,%ecx
-	bswapl	%edx
-	xorl	%esi,%eax
-	roll	$5,%ecx
-	andl	%r13d,%eax
-	leal	1518500249(%r14,%r11,1),%r11d
-	addl	%ecx,%r11d
-	xorl	%edi,%eax
-	roll	$30,%r13d
-	addl	%eax,%r11d
-	movl	16(%r9),%ebp
-	movl	%esi,%eax
-	movl	%edx,12(%rsp)
-	movl	%r11d,%ecx
-	bswapl	%ebp
-	xorl	%r13d,%eax
-	roll	$5,%ecx
-	andl	%r12d,%eax
-	leal	1518500249(%rdx,%rdi,1),%edi
-	addl	%ecx,%edi
-	xorl	%esi,%eax
-	roll	$30,%r12d
-	addl	%eax,%edi
-	movl	20(%r9),%r14d
-	movl	%r13d,%eax
-	movl	%ebp,16(%rsp)
-	movl	%edi,%ecx
-	bswapl	%r14d
-	xorl	%r12d,%eax
-	roll	$5,%ecx
-	andl	%r11d,%eax
-	leal	1518500249(%rbp,%rsi,1),%esi
-	addl	%ecx,%esi
-	xorl	%r13d,%eax
-	roll	$30,%r11d
-	addl	%eax,%esi
-	movl	24(%r9),%edx
-	movl	%r12d,%eax
-	movl	%r14d,20(%rsp)
-	movl	%esi,%ecx
-	bswapl	%edx
-	xorl	%r11d,%eax
-	roll	$5,%ecx
-	andl	%edi,%eax
-	leal	1518500249(%r14,%r13,1),%r13d
-	addl	%ecx,%r13d
-	xorl	%r12d,%eax
-	roll	$30,%edi
-	addl	%eax,%r13d
-	movl	28(%r9),%ebp
-	movl	%r11d,%eax
-	movl	%edx,24(%rsp)
-	movl	%r13d,%ecx
-	bswapl	%ebp
-	xorl	%edi,%eax
-	roll	$5,%ecx
-	andl	%esi,%eax
-	leal	1518500249(%rdx,%r12,1),%r12d
-	addl	%ecx,%r12d
-	xorl	%r11d,%eax
-	roll	$30,%esi
-	addl	%eax,%r12d
-	movl	32(%r9),%r14d
-	movl	%edi,%eax
-	movl	%ebp,28(%rsp)
-	movl	%r12d,%ecx
-	bswapl	%r14d
-	xorl	%esi,%eax
-	roll	$5,%ecx
-	andl	%r13d,%eax
-	leal	1518500249(%rbp,%r11,1),%r11d
-	addl	%ecx,%r11d
-	xorl	%edi,%eax
-	roll	$30,%r13d
-	addl	%eax,%r11d
-	movl	36(%r9),%edx
-	movl	%esi,%eax
-	movl	%r14d,32(%rsp)
-	movl	%r11d,%ecx
-	bswapl	%edx
-	xorl	%r13d,%eax
-	roll	$5,%ecx
-	andl	%r12d,%eax
-	leal	1518500249(%r14,%rdi,1),%edi
-	addl	%ecx,%edi
-	xorl	%esi,%eax
-	roll	$30,%r12d
-	addl	%eax,%edi
-	movl	40(%r9),%ebp
-	movl	%r13d,%eax
-	movl	%edx,36(%rsp)
-	movl	%edi,%ecx
-	bswapl	%ebp
-	xorl	%r12d,%eax
-	roll	$5,%ecx
-	andl	%r11d,%eax
-	leal	1518500249(%rdx,%rsi,1),%esi
-	addl	%ecx,%esi
-	xorl	%r13d,%eax
-	roll	$30,%r11d
-	addl	%eax,%esi
-	movl	44(%r9),%r14d
-	movl	%r12d,%eax
-	movl	%ebp,40(%rsp)
-	movl	%esi,%ecx
-	bswapl	%r14d
-	xorl	%r11d,%eax
-	roll	$5,%ecx
-	andl	%edi,%eax
-	leal	1518500249(%rbp,%r13,1),%r13d
-	addl	%ecx,%r13d
-	xorl	%r12d,%eax
-	roll	$30,%edi
-	addl	%eax,%r13d
-	movl	48(%r9),%edx
-	movl	%r11d,%eax
-	movl	%r14d,44(%rsp)
-	movl	%r13d,%ecx
-	bswapl	%edx
-	xorl	%edi,%eax
-	roll	$5,%ecx
-	andl	%esi,%eax
-	leal	1518500249(%r14,%r12,1),%r12d
-	addl	%ecx,%r12d
-	xorl	%r11d,%eax
-	roll	$30,%esi
-	addl	%eax,%r12d
-	movl	52(%r9),%ebp
-	movl	%edi,%eax
-	movl	%edx,48(%rsp)
-	movl	%r12d,%ecx
-	bswapl	%ebp
-	xorl	%esi,%eax
-	roll	$5,%ecx
-	andl	%r13d,%eax
-	leal	1518500249(%rdx,%r11,1),%r11d
-	addl	%ecx,%r11d
-	xorl	%edi,%eax
-	roll	$30,%r13d
-	addl	%eax,%r11d
-	movl	56(%r9),%r14d
-	movl	%esi,%eax
-	movl	%ebp,52(%rsp)
-	movl	%r11d,%ecx
-	bswapl	%r14d
-	xorl	%r13d,%eax
-	roll	$5,%ecx
-	andl	%r12d,%eax
-	leal	1518500249(%rbp,%rdi,1),%edi
-	addl	%ecx,%edi
-	xorl	%esi,%eax
-	roll	$30,%r12d
-	addl	%eax,%edi
-	movl	60(%r9),%edx
-	movl	%r13d,%eax
-	movl	%r14d,56(%rsp)
-	movl	%edi,%ecx
-	bswapl	%edx
-	xorl	%r12d,%eax
-	roll	$5,%ecx
-	andl	%r11d,%eax
-	leal	1518500249(%r14,%rsi,1),%esi
-	addl	%ecx,%esi
-	xorl	%r13d,%eax
-	roll	$30,%r11d
-	addl	%eax,%esi
-	xorl	0(%rsp),%ebp
-	movl	%r12d,%eax
-	movl	%edx,60(%rsp)
-	movl	%esi,%ecx
-	xorl	8(%rsp),%ebp
-	xorl	%r11d,%eax
-	roll	$5,%ecx
-	xorl	32(%rsp),%ebp
-	andl	%edi,%eax
-	leal	1518500249(%rdx,%r13,1),%r13d
-	roll	$30,%edi
-	xorl	%r12d,%eax
-	addl	%ecx,%r13d
-	roll	$1,%ebp
-	addl	%eax,%r13d
-	xorl	4(%rsp),%r14d
-	movl	%r11d,%eax
-	movl	%ebp,0(%rsp)
-	movl	%r13d,%ecx
-	xorl	12(%rsp),%r14d
-	xorl	%edi,%eax
-	roll	$5,%ecx
-	xorl	36(%rsp),%r14d
-	andl	%esi,%eax
-	leal	1518500249(%rbp,%r12,1),%r12d
-	roll	$30,%esi
-	xorl	%r11d,%eax
-	addl	%ecx,%r12d
-	roll	$1,%r14d
-	addl	%eax,%r12d
-	xorl	8(%rsp),%edx
-	movl	%edi,%eax
-	movl	%r14d,4(%rsp)
-	movl	%r12d,%ecx
-	xorl	16(%rsp),%edx
-	xorl	%esi,%eax
-	roll	$5,%ecx
-	xorl	40(%rsp),%edx
-	andl	%r13d,%eax
-	leal	1518500249(%r14,%r11,1),%r11d
-	roll	$30,%r13d
-	xorl	%edi,%eax
-	addl	%ecx,%r11d
-	roll	$1,%edx
-	addl	%eax,%r11d
-	xorl	12(%rsp),%ebp
-	movl	%esi,%eax
-	movl	%edx,8(%rsp)
-	movl	%r11d,%ecx
-	xorl	20(%rsp),%ebp
-	xorl	%r13d,%eax
-	roll	$5,%ecx
-	xorl	44(%rsp),%ebp
-	andl	%r12d,%eax
-	leal	1518500249(%rdx,%rdi,1),%edi
-	roll	$30,%r12d
-	xorl	%esi,%eax
-	addl	%ecx,%edi
-	roll	$1,%ebp
-	addl	%eax,%edi
-	xorl	16(%rsp),%r14d
-	movl	%r13d,%eax
-	movl	%ebp,12(%rsp)
-	movl	%edi,%ecx
-	xorl	24(%rsp),%r14d
-	xorl	%r12d,%eax
-	roll	$5,%ecx
-	xorl	48(%rsp),%r14d
-	andl	%r11d,%eax
-	leal	1518500249(%rbp,%rsi,1),%esi
-	roll	$30,%r11d
-	xorl	%r13d,%eax
-	addl	%ecx,%esi
-	roll	$1,%r14d
-	addl	%eax,%esi
-	xorl	20(%rsp),%edx
-	movl	%edi,%eax
-	movl	%r14d,16(%rsp)
-	movl	%esi,%ecx
-	xorl	28(%rsp),%edx
-	xorl	%r12d,%eax
-	roll	$5,%ecx
-	xorl	52(%rsp),%edx
-	leal	1859775393(%r14,%r13,1),%r13d
-	xorl	%r11d,%eax
-	addl	%ecx,%r13d
-	roll	$30,%edi
-	addl	%eax,%r13d
-	roll	$1,%edx
-	xorl	24(%rsp),%ebp
-	movl	%esi,%eax
-	movl	%edx,20(%rsp)
-	movl	%r13d,%ecx
-	xorl	32(%rsp),%ebp
-	xorl	%r11d,%eax
-	roll	$5,%ecx
-	xorl	56(%rsp),%ebp
-	leal	1859775393(%rdx,%r12,1),%r12d
-	xorl	%edi,%eax
-	addl	%ecx,%r12d
-	roll	$30,%esi
-	addl	%eax,%r12d
-	roll	$1,%ebp
-	xorl	28(%rsp),%r14d
-	movl	%r13d,%eax
-	movl	%ebp,24(%rsp)
-	movl	%r12d,%ecx
-	xorl	36(%rsp),%r14d
-	xorl	%edi,%eax
-	roll	$5,%ecx
-	xorl	60(%rsp),%r14d
-	leal	1859775393(%rbp,%r11,1),%r11d
-	xorl	%esi,%eax
-	addl	%ecx,%r11d
-	roll	$30,%r13d
-	addl	%eax,%r11d
-	roll	$1,%r14d
-	xorl	32(%rsp),%edx
-	movl	%r12d,%eax
-	movl	%r14d,28(%rsp)
-	movl	%r11d,%ecx
-	xorl	40(%rsp),%edx
-	xorl	%esi,%eax
-	roll	$5,%ecx
-	xorl	0(%rsp),%edx
-	leal	1859775393(%r14,%rdi,1),%edi
-	xorl	%r13d,%eax
-	addl	%ecx,%edi
-	roll	$30,%r12d
-	addl	%eax,%edi
-	roll	$1,%edx
-	xorl	36(%rsp),%ebp
-	movl	%r11d,%eax
-	movl	%edx,32(%rsp)
-	movl	%edi,%ecx
-	xorl	44(%rsp),%ebp
-	xorl	%r13d,%eax
-	roll	$5,%ecx
-	xorl	4(%rsp),%ebp
-	leal	1859775393(%rdx,%rsi,1),%esi
-	xorl	%r12d,%eax
-	addl	%ecx,%esi
-	roll	$30,%r11d
-	addl	%eax,%esi
-	roll	$1,%ebp
-	xorl	40(%rsp),%r14d
-	movl	%edi,%eax
-	movl	%ebp,36(%rsp)
-	movl	%esi,%ecx
-	xorl	48(%rsp),%r14d
-	xorl	%r12d,%eax
-	roll	$5,%ecx
-	xorl	8(%rsp),%r14d
-	leal	1859775393(%rbp,%r13,1),%r13d
-	xorl	%r11d,%eax
-	addl	%ecx,%r13d
-	roll	$30,%edi
-	addl	%eax,%r13d
-	roll	$1,%r14d
-	xorl	44(%rsp),%edx
-	movl	%esi,%eax
-	movl	%r14d,40(%rsp)
-	movl	%r13d,%ecx
-	xorl	52(%rsp),%edx
-	xorl	%r11d,%eax
-	roll	$5,%ecx
-	xorl	12(%rsp),%edx
-	leal	1859775393(%r14,%r12,1),%r12d
-	xorl	%edi,%eax
-	addl	%ecx,%r12d
-	roll	$30,%esi
-	addl	%eax,%r12d
-	roll	$1,%edx
-	xorl	48(%rsp),%ebp
-	movl	%r13d,%eax
-	movl	%edx,44(%rsp)
-	movl	%r12d,%ecx
-	xorl	56(%rsp),%ebp
-	xorl	%edi,%eax
-	roll	$5,%ecx
-	xorl	16(%rsp),%ebp
-	leal	1859775393(%rdx,%r11,1),%r11d
-	xorl	%esi,%eax
-	addl	%ecx,%r11d
-	roll	$30,%r13d
-	addl	%eax,%r11d
-	roll	$1,%ebp
-	xorl	52(%rsp),%r14d
-	movl	%r12d,%eax
-	movl	%ebp,48(%rsp)
-	movl	%r11d,%ecx
-	xorl	60(%rsp),%r14d
-	xorl	%esi,%eax
-	roll	$5,%ecx
-	xorl	20(%rsp),%r14d
-	leal	1859775393(%rbp,%rdi,1),%edi
-	xorl	%r13d,%eax
-	addl	%ecx,%edi
-	roll	$30,%r12d
-	addl	%eax,%edi
-	roll	$1,%r14d
-	xorl	56(%rsp),%edx
-	movl	%r11d,%eax
-	movl	%r14d,52(%rsp)
-	movl	%edi,%ecx
-	xorl	0(%rsp),%edx
-	xorl	%r13d,%eax
-	roll	$5,%ecx
-	xorl	24(%rsp),%edx
-	leal	1859775393(%r14,%rsi,1),%esi
-	xorl	%r12d,%eax
-	addl	%ecx,%esi
-	roll	$30,%r11d
-	addl	%eax,%esi
-	roll	$1,%edx
-	xorl	60(%rsp),%ebp
-	movl	%edi,%eax
-	movl	%edx,56(%rsp)
-	movl	%esi,%ecx
-	xorl	4(%rsp),%ebp
-	xorl	%r12d,%eax
-	roll	$5,%ecx
-	xorl	28(%rsp),%ebp
-	leal	1859775393(%rdx,%r13,1),%r13d
-	xorl	%r11d,%eax
-	addl	%ecx,%r13d
-	roll	$30,%edi
-	addl	%eax,%r13d
-	roll	$1,%ebp
-	xorl	0(%rsp),%r14d
-	movl	%esi,%eax
-	movl	%ebp,60(%rsp)
-	movl	%r13d,%ecx
-	xorl	8(%rsp),%r14d
-	xorl	%r11d,%eax
-	roll	$5,%ecx
-	xorl	32(%rsp),%r14d
-	leal	1859775393(%rbp,%r12,1),%r12d
-	xorl	%edi,%eax
-	addl	%ecx,%r12d
-	roll	$30,%esi
-	addl	%eax,%r12d
-	roll	$1,%r14d
-	xorl	4(%rsp),%edx
-	movl	%r13d,%eax
-	movl	%r14d,0(%rsp)
-	movl	%r12d,%ecx
-	xorl	12(%rsp),%edx
-	xorl	%edi,%eax
-	roll	$5,%ecx
-	xorl	36(%rsp),%edx
-	leal	1859775393(%r14,%r11,1),%r11d
-	xorl	%esi,%eax
-	addl	%ecx,%r11d
-	roll	$30,%r13d
-	addl	%eax,%r11d
-	roll	$1,%edx
-	xorl	8(%rsp),%ebp
-	movl	%r12d,%eax
-	movl	%edx,4(%rsp)
-	movl	%r11d,%ecx
-	xorl	16(%rsp),%ebp
-	xorl	%esi,%eax
-	roll	$5,%ecx
-	xorl	40(%rsp),%ebp
-	leal	1859775393(%rdx,%rdi,1),%edi
-	xorl	%r13d,%eax
-	addl	%ecx,%edi
-	roll	$30,%r12d
-	addl	%eax,%edi
-	roll	$1,%ebp
-	xorl	12(%rsp),%r14d
-	movl	%r11d,%eax
-	movl	%ebp,8(%rsp)
-	movl	%edi,%ecx
-	xorl	20(%rsp),%r14d
-	xorl	%r13d,%eax
-	roll	$5,%ecx
-	xorl	44(%rsp),%r14d
-	leal	1859775393(%rbp,%rsi,1),%esi
-	xorl	%r12d,%eax
-	addl	%ecx,%esi
-	roll	$30,%r11d
-	addl	%eax,%esi
-	roll	$1,%r14d
-	xorl	16(%rsp),%edx
-	movl	%edi,%eax
-	movl	%r14d,12(%rsp)
-	movl	%esi,%ecx
-	xorl	24(%rsp),%edx
-	xorl	%r12d,%eax
-	roll	$5,%ecx
-	xorl	48(%rsp),%edx
-	leal	1859775393(%r14,%r13,1),%r13d
-	xorl	%r11d,%eax
-	addl	%ecx,%r13d
-	roll	$30,%edi
-	addl	%eax,%r13d
-	roll	$1,%edx
-	xorl	20(%rsp),%ebp
-	movl	%esi,%eax
-	movl	%edx,16(%rsp)
-	movl	%r13d,%ecx
-	xorl	28(%rsp),%ebp
-	xorl	%r11d,%eax
-	roll	$5,%ecx
-	xorl	52(%rsp),%ebp
-	leal	1859775393(%rdx,%r12,1),%r12d
-	xorl	%edi,%eax
-	addl	%ecx,%r12d
-	roll	$30,%esi
-	addl	%eax,%r12d
-	roll	$1,%ebp
-	xorl	24(%rsp),%r14d
-	movl	%r13d,%eax
-	movl	%ebp,20(%rsp)
-	movl	%r12d,%ecx
-	xorl	32(%rsp),%r14d
-	xorl	%edi,%eax
-	roll	$5,%ecx
-	xorl	56(%rsp),%r14d
-	leal	1859775393(%rbp,%r11,1),%r11d
-	xorl	%esi,%eax
-	addl	%ecx,%r11d
-	roll	$30,%r13d
-	addl	%eax,%r11d
-	roll	$1,%r14d
-	xorl	28(%rsp),%edx
-	movl	%r12d,%eax
-	movl	%r14d,24(%rsp)
-	movl	%r11d,%ecx
-	xorl	36(%rsp),%edx
-	xorl	%esi,%eax
-	roll	$5,%ecx
-	xorl	60(%rsp),%edx
-	leal	1859775393(%r14,%rdi,1),%edi
-	xorl	%r13d,%eax
-	addl	%ecx,%edi
-	roll	$30,%r12d
-	addl	%eax,%edi
-	roll	$1,%edx
-	xorl	32(%rsp),%ebp
-	movl	%r11d,%eax
-	movl	%edx,28(%rsp)
-	movl	%edi,%ecx
-	xorl	40(%rsp),%ebp
-	xorl	%r13d,%eax
-	roll	$5,%ecx
-	xorl	0(%rsp),%ebp
-	leal	1859775393(%rdx,%rsi,1),%esi
-	xorl	%r12d,%eax
-	addl	%ecx,%esi
-	roll	$30,%r11d
-	addl	%eax,%esi
-	roll	$1,%ebp
-	xorl	36(%rsp),%r14d
-	movl	%r12d,%eax
-	movl	%ebp,32(%rsp)
-	movl	%r12d,%ebx
-	xorl	44(%rsp),%r14d
-	andl	%r11d,%eax
-	movl	%esi,%ecx
-	xorl	4(%rsp),%r14d
-	leal	-1894007588(%rbp,%r13,1),%r13d
-	xorl	%r11d,%ebx
-	roll	$5,%ecx
-	addl	%eax,%r13d
-	roll	$1,%r14d
-	andl	%edi,%ebx
-	addl	%ecx,%r13d
-	roll	$30,%edi
-	addl	%ebx,%r13d
-	xorl	40(%rsp),%edx
-	movl	%r11d,%eax
-	movl	%r14d,36(%rsp)
-	movl	%r11d,%ebx
-	xorl	48(%rsp),%edx
-	andl	%edi,%eax
-	movl	%r13d,%ecx
-	xorl	8(%rsp),%edx
-	leal	-1894007588(%r14,%r12,1),%r12d
-	xorl	%edi,%ebx
-	roll	$5,%ecx
-	addl	%eax,%r12d
-	roll	$1,%edx
-	andl	%esi,%ebx
-	addl	%ecx,%r12d
-	roll	$30,%esi
-	addl	%ebx,%r12d
-	xorl	44(%rsp),%ebp
-	movl	%edi,%eax
-	movl	%edx,40(%rsp)
-	movl	%edi,%ebx
-	xorl	52(%rsp),%ebp
-	andl	%esi,%eax
-	movl	%r12d,%ecx
-	xorl	12(%rsp),%ebp
-	leal	-1894007588(%rdx,%r11,1),%r11d
-	xorl	%esi,%ebx
-	roll	$5,%ecx
-	addl	%eax,%r11d
-	roll	$1,%ebp
-	andl	%r13d,%ebx
-	addl	%ecx,%r11d
-	roll	$30,%r13d
-	addl	%ebx,%r11d
-	xorl	48(%rsp),%r14d
-	movl	%esi,%eax
-	movl	%ebp,44(%rsp)
-	movl	%esi,%ebx
-	xorl	56(%rsp),%r14d
-	andl	%r13d,%eax
-	movl	%r11d,%ecx
-	xorl	16(%rsp),%r14d
-	leal	-1894007588(%rbp,%rdi,1),%edi
-	xorl	%r13d,%ebx
-	roll	$5,%ecx
-	addl	%eax,%edi
-	roll	$1,%r14d
-	andl	%r12d,%ebx
-	addl	%ecx,%edi
-	roll	$30,%r12d
-	addl	%ebx,%edi
-	xorl	52(%rsp),%edx
-	movl	%r13d,%eax
-	movl	%r14d,48(%rsp)
-	movl	%r13d,%ebx
-	xorl	60(%rsp),%edx
-	andl	%r12d,%eax
-	movl	%edi,%ecx
-	xorl	20(%rsp),%edx
-	leal	-1894007588(%r14,%rsi,1),%esi
-	xorl	%r12d,%ebx
-	roll	$5,%ecx
-	addl	%eax,%esi
-	roll	$1,%edx
-	andl	%r11d,%ebx
-	addl	%ecx,%esi
-	roll	$30,%r11d
-	addl	%ebx,%esi
-	xorl	56(%rsp),%ebp
-	movl	%r12d,%eax
-	movl	%edx,52(%rsp)
-	movl	%r12d,%ebx
-	xorl	0(%rsp),%ebp
-	andl	%r11d,%eax
-	movl	%esi,%ecx
-	xorl	24(%rsp),%ebp
-	leal	-1894007588(%rdx,%r13,1),%r13d
-	xorl	%r11d,%ebx
-	roll	$5,%ecx
-	addl	%eax,%r13d
-	roll	$1,%ebp
-	andl	%edi,%ebx
-	addl	%ecx,%r13d
-	roll	$30,%edi
-	addl	%ebx,%r13d
-	xorl	60(%rsp),%r14d
-	movl	%r11d,%eax
-	movl	%ebp,56(%rsp)
-	movl	%r11d,%ebx
-	xorl	4(%rsp),%r14d
-	andl	%edi,%eax
-	movl	%r13d,%ecx
-	xorl	28(%rsp),%r14d
-	leal	-1894007588(%rbp,%r12,1),%r12d
-	xorl	%edi,%ebx
-	roll	$5,%ecx
-	addl	%eax,%r12d
-	roll	$1,%r14d
-	andl	%esi,%ebx
-	addl	%ecx,%r12d
-	roll	$30,%esi
-	addl	%ebx,%r12d
-	xorl	0(%rsp),%edx
-	movl	%edi,%eax
-	movl	%r14d,60(%rsp)
-	movl	%edi,%ebx
-	xorl	8(%rsp),%edx
-	andl	%esi,%eax
-	movl	%r12d,%ecx
-	xorl	32(%rsp),%edx
-	leal	-1894007588(%r14,%r11,1),%r11d
-	xorl	%esi,%ebx
-	roll	$5,%ecx
-	addl	%eax,%r11d
-	roll	$1,%edx
-	andl	%r13d,%ebx
-	addl	%ecx,%r11d
-	roll	$30,%r13d
-	addl	%ebx,%r11d
-	xorl	4(%rsp),%ebp
-	movl	%esi,%eax
-	movl	%edx,0(%rsp)
-	movl	%esi,%ebx
-	xorl	12(%rsp),%ebp
-	andl	%r13d,%eax
-	movl	%r11d,%ecx
-	xorl	36(%rsp),%ebp
-	leal	-1894007588(%rdx,%rdi,1),%edi
-	xorl	%r13d,%ebx
-	roll	$5,%ecx
-	addl	%eax,%edi
-	roll	$1,%ebp
-	andl	%r12d,%ebx
-	addl	%ecx,%edi
-	roll	$30,%r12d
-	addl	%ebx,%edi
-	xorl	8(%rsp),%r14d
-	movl	%r13d,%eax
-	movl	%ebp,4(%rsp)
-	movl	%r13d,%ebx
-	xorl	16(%rsp),%r14d
-	andl	%r12d,%eax
-	movl	%edi,%ecx
-	xorl	40(%rsp),%r14d
-	leal	-1894007588(%rbp,%rsi,1),%esi
-	xorl	%r12d,%ebx
-	roll	$5,%ecx
-	addl	%eax,%esi
-	roll	$1,%r14d
-	andl	%r11d,%ebx
-	addl	%ecx,%esi
-	roll	$30,%r11d
-	addl	%ebx,%esi
-	xorl	12(%rsp),%edx
-	movl	%r12d,%eax
-	movl	%r14d,8(%rsp)
-	movl	%r12d,%ebx
-	xorl	20(%rsp),%edx
-	andl	%r11d,%eax
-	movl	%esi,%ecx
-	xorl	44(%rsp),%edx
-	leal	-1894007588(%r14,%r13,1),%r13d
-	xorl	%r11d,%ebx
-	roll	$5,%ecx
-	addl	%eax,%r13d
-	roll	$1,%edx
-	andl	%edi,%ebx
-	addl	%ecx,%r13d
-	roll	$30,%edi
-	addl	%ebx,%r13d
-	xorl	16(%rsp),%ebp
-	movl	%r11d,%eax
-	movl	%edx,12(%rsp)
-	movl	%r11d,%ebx
-	xorl	24(%rsp),%ebp
-	andl	%edi,%eax
-	movl	%r13d,%ecx
-	xorl	48(%rsp),%ebp
-	leal	-1894007588(%rdx,%r12,1),%r12d
-	xorl	%edi,%ebx
-	roll	$5,%ecx
-	addl	%eax,%r12d
-	roll	$1,%ebp
-	andl	%esi,%ebx
-	addl	%ecx,%r12d
-	roll	$30,%esi
-	addl	%ebx,%r12d
-	xorl	20(%rsp),%r14d
-	movl	%edi,%eax
-	movl	%ebp,16(%rsp)
-	movl	%edi,%ebx
-	xorl	28(%rsp),%r14d
-	andl	%esi,%eax
-	movl	%r12d,%ecx
-	xorl	52(%rsp),%r14d
-	leal	-1894007588(%rbp,%r11,1),%r11d
-	xorl	%esi,%ebx
-	roll	$5,%ecx
-	addl	%eax,%r11d
-	roll	$1,%r14d
-	andl	%r13d,%ebx
-	addl	%ecx,%r11d
-	roll	$30,%r13d
-	addl	%ebx,%r11d
-	xorl	24(%rsp),%edx
-	movl	%esi,%eax
-	movl	%r14d,20(%rsp)
-	movl	%esi,%ebx
-	xorl	32(%rsp),%edx
-	andl	%r13d,%eax
-	movl	%r11d,%ecx
-	xorl	56(%rsp),%edx
-	leal	-1894007588(%r14,%rdi,1),%edi
-	xorl	%r13d,%ebx
-	roll	$5,%ecx
-	addl	%eax,%edi
-	roll	$1,%edx
-	andl	%r12d,%ebx
-	addl	%ecx,%edi
-	roll	$30,%r12d
-	addl	%ebx,%edi
-	xorl	28(%rsp),%ebp
-	movl	%r13d,%eax
-	movl	%edx,24(%rsp)
-	movl	%r13d,%ebx
-	xorl	36(%rsp),%ebp
-	andl	%r12d,%eax
-	movl	%edi,%ecx
-	xorl	60(%rsp),%ebp
-	leal	-1894007588(%rdx,%rsi,1),%esi
-	xorl	%r12d,%ebx
-	roll	$5,%ecx
-	addl	%eax,%esi
-	roll	$1,%ebp
-	andl	%r11d,%ebx
-	addl	%ecx,%esi
-	roll	$30,%r11d
-	addl	%ebx,%esi
-	xorl	32(%rsp),%r14d
-	movl	%r12d,%eax
-	movl	%ebp,28(%rsp)
-	movl	%r12d,%ebx
-	xorl	40(%rsp),%r14d
-	andl	%r11d,%eax
-	movl	%esi,%ecx
-	xorl	0(%rsp),%r14d
-	leal	-1894007588(%rbp,%r13,1),%r13d
-	xorl	%r11d,%ebx
-	roll	$5,%ecx
-	addl	%eax,%r13d
-	roll	$1,%r14d
-	andl	%edi,%ebx
-	addl	%ecx,%r13d
-	roll	$30,%edi
-	addl	%ebx,%r13d
-	xorl	36(%rsp),%edx
-	movl	%r11d,%eax
-	movl	%r14d,32(%rsp)
-	movl	%r11d,%ebx
-	xorl	44(%rsp),%edx
-	andl	%edi,%eax
-	movl	%r13d,%ecx
-	xorl	4(%rsp),%edx
-	leal	-1894007588(%r14,%r12,1),%r12d
-	xorl	%edi,%ebx
-	roll	$5,%ecx
-	addl	%eax,%r12d
-	roll	$1,%edx
-	andl	%esi,%ebx
-	addl	%ecx,%r12d
-	roll	$30,%esi
-	addl	%ebx,%r12d
-	xorl	40(%rsp),%ebp
-	movl	%edi,%eax
-	movl	%edx,36(%rsp)
-	movl	%edi,%ebx
-	xorl	48(%rsp),%ebp
-	andl	%esi,%eax
-	movl	%r12d,%ecx
-	xorl	8(%rsp),%ebp
-	leal	-1894007588(%rdx,%r11,1),%r11d
-	xorl	%esi,%ebx
-	roll	$5,%ecx
-	addl	%eax,%r11d
-	roll	$1,%ebp
-	andl	%r13d,%ebx
-	addl	%ecx,%r11d
-	roll	$30,%r13d
-	addl	%ebx,%r11d
-	xorl	44(%rsp),%r14d
-	movl	%esi,%eax
-	movl	%ebp,40(%rsp)
-	movl	%esi,%ebx
-	xorl	52(%rsp),%r14d
-	andl	%r13d,%eax
-	movl	%r11d,%ecx
-	xorl	12(%rsp),%r14d
-	leal	-1894007588(%rbp,%rdi,1),%edi
-	xorl	%r13d,%ebx
-	roll	$5,%ecx
-	addl	%eax,%edi
-	roll	$1,%r14d
-	andl	%r12d,%ebx
-	addl	%ecx,%edi
-	roll	$30,%r12d
-	addl	%ebx,%edi
-	xorl	48(%rsp),%edx
-	movl	%r13d,%eax
-	movl	%r14d,44(%rsp)
-	movl	%r13d,%ebx
-	xorl	56(%rsp),%edx
-	andl	%r12d,%eax
-	movl	%edi,%ecx
-	xorl	16(%rsp),%edx
-	leal	-1894007588(%r14,%rsi,1),%esi
-	xorl	%r12d,%ebx
-	roll	$5,%ecx
-	addl	%eax,%esi
-	roll	$1,%edx
-	andl	%r11d,%ebx
-	addl	%ecx,%esi
-	roll	$30,%r11d
-	addl	%ebx,%esi
-	xorl	52(%rsp),%ebp
-	movl	%edi,%eax
-	movl	%edx,48(%rsp)
-	movl	%esi,%ecx
-	xorl	60(%rsp),%ebp
-	xorl	%r12d,%eax
-	roll	$5,%ecx
-	xorl	20(%rsp),%ebp
-	leal	-899497514(%rdx,%r13,1),%r13d
-	xorl	%r11d,%eax
-	addl	%ecx,%r13d
-	roll	$30,%edi
-	addl	%eax,%r13d
-	roll	$1,%ebp
-	xorl	56(%rsp),%r14d
-	movl	%esi,%eax
-	movl	%ebp,52(%rsp)
-	movl	%r13d,%ecx
-	xorl	0(%rsp),%r14d
-	xorl	%r11d,%eax
-	roll	$5,%ecx
-	xorl	24(%rsp),%r14d
-	leal	-899497514(%rbp,%r12,1),%r12d
-	xorl	%edi,%eax
-	addl	%ecx,%r12d
-	roll	$30,%esi
-	addl	%eax,%r12d
-	roll	$1,%r14d
-	xorl	60(%rsp),%edx
-	movl	%r13d,%eax
-	movl	%r14d,56(%rsp)
-	movl	%r12d,%ecx
-	xorl	4(%rsp),%edx
-	xorl	%edi,%eax
-	roll	$5,%ecx
-	xorl	28(%rsp),%edx
-	leal	-899497514(%r14,%r11,1),%r11d
-	xorl	%esi,%eax
-	addl	%ecx,%r11d
-	roll	$30,%r13d
-	addl	%eax,%r11d
-	roll	$1,%edx
-	xorl	0(%rsp),%ebp
-	movl	%r12d,%eax
-	movl	%edx,60(%rsp)
-	movl	%r11d,%ecx
-	xorl	8(%rsp),%ebp
-	xorl	%esi,%eax
-	roll	$5,%ecx
-	xorl	32(%rsp),%ebp
-	leal	-899497514(%rdx,%rdi,1),%edi
-	xorl	%r13d,%eax
-	addl	%ecx,%edi
-	roll	$30,%r12d
-	addl	%eax,%edi
-	roll	$1,%ebp
-	xorl	4(%rsp),%r14d
-	movl	%r11d,%eax
-	movl	%ebp,0(%rsp)
-	movl	%edi,%ecx
-	xorl	12(%rsp),%r14d
-	xorl	%r13d,%eax
-	roll	$5,%ecx
-	xorl	36(%rsp),%r14d
-	leal	-899497514(%rbp,%rsi,1),%esi
-	xorl	%r12d,%eax
-	addl	%ecx,%esi
-	roll	$30,%r11d
-	addl	%eax,%esi
-	roll	$1,%r14d
-	xorl	8(%rsp),%edx
-	movl	%edi,%eax
-	movl	%r14d,4(%rsp)
-	movl	%esi,%ecx
-	xorl	16(%rsp),%edx
-	xorl	%r12d,%eax
-	roll	$5,%ecx
-	xorl	40(%rsp),%edx
-	leal	-899497514(%r14,%r13,1),%r13d
-	xorl	%r11d,%eax
-	addl	%ecx,%r13d
-	roll	$30,%edi
-	addl	%eax,%r13d
-	roll	$1,%edx
-	xorl	12(%rsp),%ebp
-	movl	%esi,%eax
-	movl	%edx,8(%rsp)
-	movl	%r13d,%ecx
-	xorl	20(%rsp),%ebp
-	xorl	%r11d,%eax
-	roll	$5,%ecx
-	xorl	44(%rsp),%ebp
-	leal	-899497514(%rdx,%r12,1),%r12d
-	xorl	%edi,%eax
-	addl	%ecx,%r12d
-	roll	$30,%esi
-	addl	%eax,%r12d
-	roll	$1,%ebp
-	xorl	16(%rsp),%r14d
-	movl	%r13d,%eax
-	movl	%ebp,12(%rsp)
-	movl	%r12d,%ecx
-	xorl	24(%rsp),%r14d
-	xorl	%edi,%eax
-	roll	$5,%ecx
-	xorl	48(%rsp),%r14d
-	leal	-899497514(%rbp,%r11,1),%r11d
-	xorl	%esi,%eax
-	addl	%ecx,%r11d
-	roll	$30,%r13d
-	addl	%eax,%r11d
-	roll	$1,%r14d
-	xorl	20(%rsp),%edx
-	movl	%r12d,%eax
-	movl	%r14d,16(%rsp)
-	movl	%r11d,%ecx
-	xorl	28(%rsp),%edx
-	xorl	%esi,%eax
-	roll	$5,%ecx
-	xorl	52(%rsp),%edx
-	leal	-899497514(%r14,%rdi,1),%edi
-	xorl	%r13d,%eax
-	addl	%ecx,%edi
-	roll	$30,%r12d
-	addl	%eax,%edi
-	roll	$1,%edx
-	xorl	24(%rsp),%ebp
-	movl	%r11d,%eax
-	movl	%edx,20(%rsp)
-	movl	%edi,%ecx
-	xorl	32(%rsp),%ebp
-	xorl	%r13d,%eax
-	roll	$5,%ecx
-	xorl	56(%rsp),%ebp
-	leal	-899497514(%rdx,%rsi,1),%esi
-	xorl	%r12d,%eax
-	addl	%ecx,%esi
-	roll	$30,%r11d
-	addl	%eax,%esi
-	roll	$1,%ebp
-	xorl	28(%rsp),%r14d
-	movl	%edi,%eax
-	movl	%ebp,24(%rsp)
-	movl	%esi,%ecx
-	xorl	36(%rsp),%r14d
-	xorl	%r12d,%eax
-	roll	$5,%ecx
-	xorl	60(%rsp),%r14d
-	leal	-899497514(%rbp,%r13,1),%r13d
-	xorl	%r11d,%eax
-	addl	%ecx,%r13d
-	roll	$30,%edi
-	addl	%eax,%r13d
-	roll	$1,%r14d
-	xorl	32(%rsp),%edx
-	movl	%esi,%eax
-	movl	%r14d,28(%rsp)
-	movl	%r13d,%ecx
-	xorl	40(%rsp),%edx
-	xorl	%r11d,%eax
-	roll	$5,%ecx
-	xorl	0(%rsp),%edx
-	leal	-899497514(%r14,%r12,1),%r12d
-	xorl	%edi,%eax
-	addl	%ecx,%r12d
-	roll	$30,%esi
-	addl	%eax,%r12d
-	roll	$1,%edx
-	xorl	36(%rsp),%ebp
-	movl	%r13d,%eax
-
-	movl	%r12d,%ecx
-	xorl	44(%rsp),%ebp
-	xorl	%edi,%eax
-	roll	$5,%ecx
-	xorl	4(%rsp),%ebp
-	leal	-899497514(%rdx,%r11,1),%r11d
-	xorl	%esi,%eax
-	addl	%ecx,%r11d
-	roll	$30,%r13d
-	addl	%eax,%r11d
-	roll	$1,%ebp
-	xorl	40(%rsp),%r14d
-	movl	%r12d,%eax
-
-	movl	%r11d,%ecx
-	xorl	48(%rsp),%r14d
-	xorl	%esi,%eax
-	roll	$5,%ecx
-	xorl	8(%rsp),%r14d
-	leal	-899497514(%rbp,%rdi,1),%edi
-	xorl	%r13d,%eax
-	addl	%ecx,%edi
-	roll	$30,%r12d
-	addl	%eax,%edi
-	roll	$1,%r14d
-	xorl	44(%rsp),%edx
-	movl	%r11d,%eax
-
-	movl	%edi,%ecx
-	xorl	52(%rsp),%edx
-	xorl	%r13d,%eax
-	roll	$5,%ecx
-	xorl	12(%rsp),%edx
-	leal	-899497514(%r14,%rsi,1),%esi
-	xorl	%r12d,%eax
-	addl	%ecx,%esi
-	roll	$30,%r11d
-	addl	%eax,%esi
-	roll	$1,%edx
-	xorl	48(%rsp),%ebp
-	movl	%edi,%eax
-
-	movl	%esi,%ecx
-	xorl	56(%rsp),%ebp
-	xorl	%r12d,%eax
-	roll	$5,%ecx
-	xorl	16(%rsp),%ebp
-	leal	-899497514(%rdx,%r13,1),%r13d
-	xorl	%r11d,%eax
-	addl	%ecx,%r13d
-	roll	$30,%edi
-	addl	%eax,%r13d
-	roll	$1,%ebp
-	xorl	52(%rsp),%r14d
-	movl	%esi,%eax
-
-	movl	%r13d,%ecx
-	xorl	60(%rsp),%r14d
-	xorl	%r11d,%eax
-	roll	$5,%ecx
-	xorl	20(%rsp),%r14d
-	leal	-899497514(%rbp,%r12,1),%r12d
-	xorl	%edi,%eax
-	addl	%ecx,%r12d
-	roll	$30,%esi
-	addl	%eax,%r12d
-	roll	$1,%r14d
-	xorl	56(%rsp),%edx
-	movl	%r13d,%eax
-
-	movl	%r12d,%ecx
-	xorl	0(%rsp),%edx
-	xorl	%edi,%eax
-	roll	$5,%ecx
-	xorl	24(%rsp),%edx
-	leal	-899497514(%r14,%r11,1),%r11d
-	xorl	%esi,%eax
-	addl	%ecx,%r11d
-	roll	$30,%r13d
-	addl	%eax,%r11d
-	roll	$1,%edx
-	xorl	60(%rsp),%ebp
-	movl	%r12d,%eax
-
-	movl	%r11d,%ecx
-	xorl	4(%rsp),%ebp
-	xorl	%esi,%eax
-	roll	$5,%ecx
-	xorl	28(%rsp),%ebp
-	leal	-899497514(%rdx,%rdi,1),%edi
-	xorl	%r13d,%eax
-	addl	%ecx,%edi
-	roll	$30,%r12d
-	addl	%eax,%edi
-	roll	$1,%ebp
-	movl	%r11d,%eax
-	movl	%edi,%ecx
-	xorl	%r13d,%eax
-	leal	-899497514(%rbp,%rsi,1),%esi
-	roll	$5,%ecx
-	xorl	%r12d,%eax
-	addl	%ecx,%esi
-	roll	$30,%r11d
-	addl	%eax,%esi
-	addl	0(%r8),%esi
-	addl	4(%r8),%edi
-	addl	8(%r8),%r11d
-	addl	12(%r8),%r12d
-	addl	16(%r8),%r13d
-	movl	%esi,0(%r8)
-	movl	%edi,4(%r8)
-	movl	%r11d,8(%r8)
-	movl	%r12d,12(%r8)
-	movl	%r13d,16(%r8)
-
-	subq	$1,%r10
-	leaq	64(%r9),%r9
-	jnz	L$loop
-
-	movq	64(%rsp),%rsi
-	movq	-40(%rsi),%r14
-	movq	-32(%rsi),%r13
-	movq	-24(%rsi),%r12
-	movq	-16(%rsi),%rbp
-	movq	-8(%rsi),%rbx
-	leaq	(%rsi),%rsp
-L$epilogue:
-	.byte	0xf3,0xc3
-
-
-.p2align	4
-sha1_block_data_order_ssse3:
-_ssse3_shortcut:
-	movq	%rsp,%r11
-	pushq	%rbx
-	pushq	%rbp
-	pushq	%r12
-	pushq	%r13
-	pushq	%r14
-	leaq	-64(%rsp),%rsp
-	andq	$-64,%rsp
-	movq	%rdi,%r8
-	movq	%rsi,%r9
-	movq	%rdx,%r10
-
-	shlq	$6,%r10
-	addq	%r9,%r10
-	leaq	K_XX_XX+64(%rip),%r14
-
-	movl	0(%r8),%eax
-	movl	4(%r8),%ebx
-	movl	8(%r8),%ecx
-	movl	12(%r8),%edx
-	movl	%ebx,%esi
-	movl	16(%r8),%ebp
-	movl	%ecx,%edi
-	xorl	%edx,%edi
-	andl	%edi,%esi
-
-	movdqa	64(%r14),%xmm6
-	movdqa	-64(%r14),%xmm9
-	movdqu	0(%r9),%xmm0
-	movdqu	16(%r9),%xmm1
-	movdqu	32(%r9),%xmm2
-	movdqu	48(%r9),%xmm3
-.byte	102,15,56,0,198
-.byte	102,15,56,0,206
-.byte	102,15,56,0,214
-	addq	$64,%r9
-	paddd	%xmm9,%xmm0
-.byte	102,15,56,0,222
-	paddd	%xmm9,%xmm1
-	paddd	%xmm9,%xmm2
-	movdqa	%xmm0,0(%rsp)
-	psubd	%xmm9,%xmm0
-	movdqa	%xmm1,16(%rsp)
-	psubd	%xmm9,%xmm1
-	movdqa	%xmm2,32(%rsp)
-	psubd	%xmm9,%xmm2
-	jmp	L$oop_ssse3
-.p2align	4
-L$oop_ssse3:
-	rorl	$2,%ebx
-	pshufd	$238,%xmm0,%xmm4
-	xorl	%edx,%esi
-	movdqa	%xmm3,%xmm8
-	paddd	%xmm3,%xmm9
-	movl	%eax,%edi
-	addl	0(%rsp),%ebp
-	punpcklqdq	%xmm1,%xmm4
-	xorl	%ecx,%ebx
-	roll	$5,%eax
-	addl	%esi,%ebp
-	psrldq	$4,%xmm8
-	andl	%ebx,%edi
-	xorl	%ecx,%ebx
-	pxor	%xmm0,%xmm4
-	addl	%eax,%ebp
-	rorl	$7,%eax
-	pxor	%xmm2,%xmm8
-	xorl	%ecx,%edi
-	movl	%ebp,%esi
-	addl	4(%rsp),%edx
-	pxor	%xmm8,%xmm4
-	xorl	%ebx,%eax
-	roll	$5,%ebp
-	movdqa	%xmm9,48(%rsp)
-	addl	%edi,%edx
-	andl	%eax,%esi
-	movdqa	%xmm4,%xmm10
-	xorl	%ebx,%eax
-	addl	%ebp,%edx
-	rorl	$7,%ebp
-	movdqa	%xmm4,%xmm8
-	xorl	%ebx,%esi
-	pslldq	$12,%xmm10
-	paddd	%xmm4,%xmm4
-	movl	%edx,%edi
-	addl	8(%rsp),%ecx
-	psrld	$31,%xmm8
-	xorl	%eax,%ebp
-	roll	$5,%edx
-	addl	%esi,%ecx
-	movdqa	%xmm10,%xmm9
-	andl	%ebp,%edi
-	xorl	%eax,%ebp
-	psrld	$30,%xmm10
-	addl	%edx,%ecx
-	rorl	$7,%edx
-	por	%xmm8,%xmm4
-	xorl	%eax,%edi
-	movl	%ecx,%esi
-	addl	12(%rsp),%ebx
-	pslld	$2,%xmm9
-	pxor	%xmm10,%xmm4
-	xorl	%ebp,%edx
-	movdqa	-64(%r14),%xmm10
-	roll	$5,%ecx
-	addl	%edi,%ebx
-	andl	%edx,%esi
-	pxor	%xmm9,%xmm4
-	xorl	%ebp,%edx
-	addl	%ecx,%ebx
-	rorl	$7,%ecx
-	pshufd	$238,%xmm1,%xmm5
-	xorl	%ebp,%esi
-	movdqa	%xmm4,%xmm9
-	paddd	%xmm4,%xmm10
-	movl	%ebx,%edi
-	addl	16(%rsp),%eax
-	punpcklqdq	%xmm2,%xmm5
-	xorl	%edx,%ecx
-	roll	$5,%ebx
-	addl	%esi,%eax
-	psrldq	$4,%xmm9
-	andl	%ecx,%edi
-	xorl	%edx,%ecx
-	pxor	%xmm1,%xmm5
-	addl	%ebx,%eax
-	rorl	$7,%ebx
-	pxor	%xmm3,%xmm9
-	xorl	%edx,%edi
-	movl	%eax,%esi
-	addl	20(%rsp),%ebp
-	pxor	%xmm9,%xmm5
-	xorl	%ecx,%ebx
-	roll	$5,%eax
-	movdqa	%xmm10,0(%rsp)
-	addl	%edi,%ebp
-	andl	%ebx,%esi
-	movdqa	%xmm5,%xmm8
-	xorl	%ecx,%ebx
-	addl	%eax,%ebp
-	rorl	$7,%eax
-	movdqa	%xmm5,%xmm9
-	xorl	%ecx,%esi
-	pslldq	$12,%xmm8
-	paddd	%xmm5,%xmm5
-	movl	%ebp,%edi
-	addl	24(%rsp),%edx
-	psrld	$31,%xmm9
-	xorl	%ebx,%eax
-	roll	$5,%ebp
-	addl	%esi,%edx
-	movdqa	%xmm8,%xmm10
-	andl	%eax,%edi
-	xorl	%ebx,%eax
-	psrld	$30,%xmm8
-	addl	%ebp,%edx
-	rorl	$7,%ebp
-	por	%xmm9,%xmm5
-	xorl	%ebx,%edi
-	movl	%edx,%esi
-	addl	28(%rsp),%ecx
-	pslld	$2,%xmm10
-	pxor	%xmm8,%xmm5
-	xorl	%eax,%ebp
-	movdqa	-32(%r14),%xmm8
-	roll	$5,%edx
-	addl	%edi,%ecx
-	andl	%ebp,%esi
-	pxor	%xmm10,%xmm5
-	xorl	%eax,%ebp
-	addl	%edx,%ecx
-	rorl	$7,%edx
-	pshufd	$238,%xmm2,%xmm6
-	xorl	%eax,%esi
-	movdqa	%xmm5,%xmm10
-	paddd	%xmm5,%xmm8
-	movl	%ecx,%edi
-	addl	32(%rsp),%ebx
-	punpcklqdq	%xmm3,%xmm6
-	xorl	%ebp,%edx
-	roll	$5,%ecx
-	addl	%esi,%ebx
-	psrldq	$4,%xmm10
-	andl	%edx,%edi
-	xorl	%ebp,%edx
-	pxor	%xmm2,%xmm6
-	addl	%ecx,%ebx
-	rorl	$7,%ecx
-	pxor	%xmm4,%xmm10
-	xorl	%ebp,%edi
-	movl	%ebx,%esi
-	addl	36(%rsp),%eax
-	pxor	%xmm10,%xmm6
-	xorl	%edx,%ecx
-	roll	$5,%ebx
-	movdqa	%xmm8,16(%rsp)
-	addl	%edi,%eax
-	andl	%ecx,%esi
-	movdqa	%xmm6,%xmm9
-	xorl	%edx,%ecx
-	addl	%ebx,%eax
-	rorl	$7,%ebx
-	movdqa	%xmm6,%xmm10
-	xorl	%edx,%esi
-	pslldq	$12,%xmm9
-	paddd	%xmm6,%xmm6
-	movl	%eax,%edi
-	addl	40(%rsp),%ebp
-	psrld	$31,%xmm10
-	xorl	%ecx,%ebx
-	roll	$5,%eax
-	addl	%esi,%ebp
-	movdqa	%xmm9,%xmm8
-	andl	%ebx,%edi
-	xorl	%ecx,%ebx
-	psrld	$30,%xmm9
-	addl	%eax,%ebp
-	rorl	$7,%eax
-	por	%xmm10,%xmm6
-	xorl	%ecx,%edi
-	movl	%ebp,%esi
-	addl	44(%rsp),%edx
-	pslld	$2,%xmm8
-	pxor	%xmm9,%xmm6
-	xorl	%ebx,%eax
-	movdqa	-32(%r14),%xmm9
-	roll	$5,%ebp
-	addl	%edi,%edx
-	andl	%eax,%esi
-	pxor	%xmm8,%xmm6
-	xorl	%ebx,%eax
-	addl	%ebp,%edx
-	rorl	$7,%ebp
-	pshufd	$238,%xmm3,%xmm7
-	xorl	%ebx,%esi
-	movdqa	%xmm6,%xmm8
-	paddd	%xmm6,%xmm9
-	movl	%edx,%edi
-	addl	48(%rsp),%ecx
-	punpcklqdq	%xmm4,%xmm7
-	xorl	%eax,%ebp
-	roll	$5,%edx
-	addl	%esi,%ecx
-	psrldq	$4,%xmm8
-	andl	%ebp,%edi
-	xorl	%eax,%ebp
-	pxor	%xmm3,%xmm7
-	addl	%edx,%ecx
-	rorl	$7,%edx
-	pxor	%xmm5,%xmm8
-	xorl	%eax,%edi
-	movl	%ecx,%esi
-	addl	52(%rsp),%ebx
-	pxor	%xmm8,%xmm7
-	xorl	%ebp,%edx
-	roll	$5,%ecx
-	movdqa	%xmm9,32(%rsp)
-	addl	%edi,%ebx
-	andl	%edx,%esi
-	movdqa	%xmm7,%xmm10
-	xorl	%ebp,%edx
-	addl	%ecx,%ebx
-	rorl	$7,%ecx
-	movdqa	%xmm7,%xmm8
-	xorl	%ebp,%esi
-	pslldq	$12,%xmm10
-	paddd	%xmm7,%xmm7
-	movl	%ebx,%edi
-	addl	56(%rsp),%eax
-	psrld	$31,%xmm8
-	xorl	%edx,%ecx
-	roll	$5,%ebx
-	addl	%esi,%eax
-	movdqa	%xmm10,%xmm9
-	andl	%ecx,%edi
-	xorl	%edx,%ecx
-	psrld	$30,%xmm10
-	addl	%ebx,%eax
-	rorl	$7,%ebx
-	por	%xmm8,%xmm7
-	xorl	%edx,%edi
-	movl	%eax,%esi
-	addl	60(%rsp),%ebp
-	pslld	$2,%xmm9
-	pxor	%xmm10,%xmm7
-	xorl	%ecx,%ebx
-	movdqa	-32(%r14),%xmm10
-	roll	$5,%eax
-	addl	%edi,%ebp
-	andl	%ebx,%esi
-	pxor	%xmm9,%xmm7
-	pshufd	$238,%xmm6,%xmm9
-	xorl	%ecx,%ebx
-	addl	%eax,%ebp
-	rorl	$7,%eax
-	pxor	%xmm4,%xmm0
-	xorl	%ecx,%esi
-	movl	%ebp,%edi
-	addl	0(%rsp),%edx
-	punpcklqdq	%xmm7,%xmm9
-	xorl	%ebx,%eax
-	roll	$5,%ebp
-	pxor	%xmm1,%xmm0
-	addl	%esi,%edx
-	andl	%eax,%edi
-	movdqa	%xmm10,%xmm8
-	xorl	%ebx,%eax
-	paddd	%xmm7,%xmm10
-	addl	%ebp,%edx
-	pxor	%xmm9,%xmm0
-	rorl	$7,%ebp
-	xorl	%ebx,%edi
-	movl	%edx,%esi
-	addl	4(%rsp),%ecx
-	movdqa	%xmm0,%xmm9
-	xorl	%eax,%ebp
-	roll	$5,%edx
-	movdqa	%xmm10,48(%rsp)
-	addl	%edi,%ecx
-	andl	%ebp,%esi
-	xorl	%eax,%ebp
-	pslld	$2,%xmm0
-	addl	%edx,%ecx
-	rorl	$7,%edx
-	psrld	$30,%xmm9
-	xorl	%eax,%esi
-	movl	%ecx,%edi
-	addl	8(%rsp),%ebx
-	por	%xmm9,%xmm0
-	xorl	%ebp,%edx
-	roll	$5,%ecx
-	pshufd	$238,%xmm7,%xmm10
-	addl	%esi,%ebx
-	andl	%edx,%edi
-	xorl	%ebp,%edx
-	addl	%ecx,%ebx
-	addl	12(%rsp),%eax
-	xorl	%ebp,%edi
-	movl	%ebx,%esi
-	roll	$5,%ebx
-	addl	%edi,%eax
-	xorl	%edx,%esi
-	rorl	$7,%ecx
-	addl	%ebx,%eax
-	pxor	%xmm5,%xmm1
-	addl	16(%rsp),%ebp
-	xorl	%ecx,%esi
-	punpcklqdq	%xmm0,%xmm10
-	movl	%eax,%edi
-	roll	$5,%eax
-	pxor	%xmm2,%xmm1
-	addl	%esi,%ebp
-	xorl	%ecx,%edi
-	movdqa	%xmm8,%xmm9
-	rorl	$7,%ebx
-	paddd	%xmm0,%xmm8
-	addl	%eax,%ebp
-	pxor	%xmm10,%xmm1
-	addl	20(%rsp),%edx
-	xorl	%ebx,%edi
-	movl	%ebp,%esi
-	roll	$5,%ebp
-	movdqa	%xmm1,%xmm10
-	addl	%edi,%edx
-	xorl	%ebx,%esi
-	movdqa	%xmm8,0(%rsp)
-	rorl	$7,%eax
-	addl	%ebp,%edx
-	addl	24(%rsp),%ecx
-	pslld	$2,%xmm1
-	xorl	%eax,%esi
-	movl	%edx,%edi
-	psrld	$30,%xmm10
-	roll	$5,%edx
-	addl	%esi,%ecx
-	xorl	%eax,%edi
-	rorl	$7,%ebp
-	por	%xmm10,%xmm1
-	addl	%edx,%ecx
-	addl	28(%rsp),%ebx
-	pshufd	$238,%xmm0,%xmm8
-	xorl	%ebp,%edi
-	movl	%ecx,%esi
-	roll	$5,%ecx
-	addl	%edi,%ebx
-	xorl	%ebp,%esi
-	rorl	$7,%edx
-	addl	%ecx,%ebx
-	pxor	%xmm6,%xmm2
-	addl	32(%rsp),%eax
-	xorl	%edx,%esi
-	punpcklqdq	%xmm1,%xmm8
-	movl	%ebx,%edi
-	roll	$5,%ebx
-	pxor	%xmm3,%xmm2
-	addl	%esi,%eax
-	xorl	%edx,%edi
-	movdqa	0(%r14),%xmm10
-	rorl	$7,%ecx
-	paddd	%xmm1,%xmm9
-	addl	%ebx,%eax
-	pxor	%xmm8,%xmm2
-	addl	36(%rsp),%ebp
-	xorl	%ecx,%edi
-	movl	%eax,%esi
-	roll	$5,%eax
-	movdqa	%xmm2,%xmm8
-	addl	%edi,%ebp
-	xorl	%ecx,%esi
-	movdqa	%xmm9,16(%rsp)
-	rorl	$7,%ebx
-	addl	%eax,%ebp
-	addl	40(%rsp),%edx
-	pslld	$2,%xmm2
-	xorl	%ebx,%esi
-	movl	%ebp,%edi
-	psrld	$30,%xmm8
-	roll	$5,%ebp
-	addl	%esi,%edx
-	xorl	%ebx,%edi
-	rorl	$7,%eax
-	por	%xmm8,%xmm2
-	addl	%ebp,%edx
-	addl	44(%rsp),%ecx
-	pshufd	$238,%xmm1,%xmm9
-	xorl	%eax,%edi
-	movl	%edx,%esi
-	roll	$5,%edx
-	addl	%edi,%ecx
-	xorl	%eax,%esi
-	rorl	$7,%ebp
-	addl	%edx,%ecx
-	pxor	%xmm7,%xmm3
-	addl	48(%rsp),%ebx
-	xorl	%ebp,%esi
-	punpcklqdq	%xmm2,%xmm9
-	movl	%ecx,%edi
-	roll	$5,%ecx
-	pxor	%xmm4,%xmm3
-	addl	%esi,%ebx
-	xorl	%ebp,%edi
-	movdqa	%xmm10,%xmm8
-	rorl	$7,%edx
-	paddd	%xmm2,%xmm10
-	addl	%ecx,%ebx
-	pxor	%xmm9,%xmm3
-	addl	52(%rsp),%eax
-	xorl	%edx,%edi
-	movl	%ebx,%esi
-	roll	$5,%ebx
-	movdqa	%xmm3,%xmm9
-	addl	%edi,%eax
-	xorl	%edx,%esi
-	movdqa	%xmm10,32(%rsp)
-	rorl	$7,%ecx
-	addl	%ebx,%eax
-	addl	56(%rsp),%ebp
-	pslld	$2,%xmm3
-	xorl	%ecx,%esi
-	movl	%eax,%edi
-	psrld	$30,%xmm9
-	roll	$5,%eax
-	addl	%esi,%ebp
-	xorl	%ecx,%edi
-	rorl	$7,%ebx
-	por	%xmm9,%xmm3
-	addl	%eax,%ebp
-	addl	60(%rsp),%edx
-	pshufd	$238,%xmm2,%xmm10
-	xorl	%ebx,%edi
-	movl	%ebp,%esi
-	roll	$5,%ebp
-	addl	%edi,%edx
-	xorl	%ebx,%esi
-	rorl	$7,%eax
-	addl	%ebp,%edx
-	pxor	%xmm0,%xmm4
-	addl	0(%rsp),%ecx
-	xorl	%eax,%esi
-	punpcklqdq	%xmm3,%xmm10
-	movl	%edx,%edi
-	roll	$5,%edx
-	pxor	%xmm5,%xmm4
-	addl	%esi,%ecx
-	xorl	%eax,%edi
-	movdqa	%xmm8,%xmm9
-	rorl	$7,%ebp
-	paddd	%xmm3,%xmm8
-	addl	%edx,%ecx
-	pxor	%xmm10,%xmm4
-	addl	4(%rsp),%ebx
-	xorl	%ebp,%edi
-	movl	%ecx,%esi
-	roll	$5,%ecx
-	movdqa	%xmm4,%xmm10
-	addl	%edi,%ebx
-	xorl	%ebp,%esi
-	movdqa	%xmm8,48(%rsp)
-	rorl	$7,%edx
-	addl	%ecx,%ebx
-	addl	8(%rsp),%eax
-	pslld	$2,%xmm4
-	xorl	%edx,%esi
-	movl	%ebx,%edi
-	psrld	$30,%xmm10
-	roll	$5,%ebx
-	addl	%esi,%eax
-	xorl	%edx,%edi
-	rorl	$7,%ecx
-	por	%xmm10,%xmm4
-	addl	%ebx,%eax
-	addl	12(%rsp),%ebp
-	pshufd	$238,%xmm3,%xmm8
-	xorl	%ecx,%edi
-	movl	%eax,%esi
-	roll	$5,%eax
-	addl	%edi,%ebp
-	xorl	%ecx,%esi
-	rorl	$7,%ebx
-	addl	%eax,%ebp
-	pxor	%xmm1,%xmm5
-	addl	16(%rsp),%edx
-	xorl	%ebx,%esi
-	punpcklqdq	%xmm4,%xmm8
-	movl	%ebp,%edi
-	roll	$5,%ebp
-	pxor	%xmm6,%xmm5
-	addl	%esi,%edx
-	xorl	%ebx,%edi
-	movdqa	%xmm9,%xmm10
-	rorl	$7,%eax
-	paddd	%xmm4,%xmm9
-	addl	%ebp,%edx
-	pxor	%xmm8,%xmm5
-	addl	20(%rsp),%ecx
-	xorl	%eax,%edi
-	movl	%edx,%esi
-	roll	$5,%edx
-	movdqa	%xmm5,%xmm8
-	addl	%edi,%ecx
-	xorl	%eax,%esi
-	movdqa	%xmm9,0(%rsp)
-	rorl	$7,%ebp
-	addl	%edx,%ecx
-	addl	24(%rsp),%ebx
-	pslld	$2,%xmm5
-	xorl	%ebp,%esi
-	movl	%ecx,%edi
-	psrld	$30,%xmm8
-	roll	$5,%ecx
-	addl	%esi,%ebx
-	xorl	%ebp,%edi
-	rorl	$7,%edx
-	por	%xmm8,%xmm5
-	addl	%ecx,%ebx
-	addl	28(%rsp),%eax
-	pshufd	$238,%xmm4,%xmm9
-	rorl	$7,%ecx
-	movl	%ebx,%esi
-	xorl	%edx,%edi
-	roll	$5,%ebx
-	addl	%edi,%eax
-	xorl	%ecx,%esi
-	xorl	%edx,%ecx
-	addl	%ebx,%eax
-	pxor	%xmm2,%xmm6
-	addl	32(%rsp),%ebp
-	andl	%ecx,%esi
-	xorl	%edx,%ecx
-	rorl	$7,%ebx
-	punpcklqdq	%xmm5,%xmm9
-	movl	%eax,%edi
-	xorl	%ecx,%esi
-	pxor	%xmm7,%xmm6
-	roll	$5,%eax
-	addl	%esi,%ebp
-	movdqa	%xmm10,%xmm8
-	xorl	%ebx,%edi
-	paddd	%xmm5,%xmm10
-	xorl	%ecx,%ebx
-	pxor	%xmm9,%xmm6
-	addl	%eax,%ebp
-	addl	36(%rsp),%edx
-	andl	%ebx,%edi
-	xorl	%ecx,%ebx
-	rorl	$7,%eax
-	movdqa	%xmm6,%xmm9
-	movl	%ebp,%esi
-	xorl	%ebx,%edi
-	movdqa	%xmm10,16(%rsp)
-	roll	$5,%ebp
-	addl	%edi,%edx
-	xorl	%eax,%esi
-	pslld	$2,%xmm6
-	xorl	%ebx,%eax
-	addl	%ebp,%edx
-	psrld	$30,%xmm9
-	addl	40(%rsp),%ecx
-	andl	%eax,%esi
-	xorl	%ebx,%eax
-	por	%xmm9,%xmm6
-	rorl	$7,%ebp
-	movl	%edx,%edi
-	xorl	%eax,%esi
-	roll	$5,%edx
-	pshufd	$238,%xmm5,%xmm10
-	addl	%esi,%ecx
-	xorl	%ebp,%edi
-	xorl	%eax,%ebp
-	addl	%edx,%ecx
-	addl	44(%rsp),%ebx
-	andl	%ebp,%edi
-	xorl	%eax,%ebp
-	rorl	$7,%edx
-	movl	%ecx,%esi
-	xorl	%ebp,%edi
-	roll	$5,%ecx
-	addl	%edi,%ebx
-	xorl	%edx,%esi
-	xorl	%ebp,%edx
-	addl	%ecx,%ebx
-	pxor	%xmm3,%xmm7
-	addl	48(%rsp),%eax
-	andl	%edx,%esi
-	xorl	%ebp,%edx
-	rorl	$7,%ecx
-	punpcklqdq	%xmm6,%xmm10
-	movl	%ebx,%edi
-	xorl	%edx,%esi
-	pxor	%xmm0,%xmm7
-	roll	$5,%ebx
-	addl	%esi,%eax
-	movdqa	32(%r14),%xmm9
-	xorl	%ecx,%edi
-	paddd	%xmm6,%xmm8
-	xorl	%edx,%ecx
-	pxor	%xmm10,%xmm7
-	addl	%ebx,%eax
-	addl	52(%rsp),%ebp
-	andl	%ecx,%edi
-	xorl	%edx,%ecx
-	rorl	$7,%ebx
-	movdqa	%xmm7,%xmm10
-	movl	%eax,%esi
-	xorl	%ecx,%edi
-	movdqa	%xmm8,32(%rsp)
-	roll	$5,%eax
-	addl	%edi,%ebp
-	xorl	%ebx,%esi
-	pslld	$2,%xmm7
-	xorl	%ecx,%ebx
-	addl	%eax,%ebp
-	psrld	$30,%xmm10
-	addl	56(%rsp),%edx
-	andl	%ebx,%esi
-	xorl	%ecx,%ebx
-	por	%xmm10,%xmm7
-	rorl	$7,%eax
-	movl	%ebp,%edi
-	xorl	%ebx,%esi
-	roll	$5,%ebp
-	pshufd	$238,%xmm6,%xmm8
-	addl	%esi,%edx
-	xorl	%eax,%edi
-	xorl	%ebx,%eax
-	addl	%ebp,%edx
-	addl	60(%rsp),%ecx
-	andl	%eax,%edi
-	xorl	%ebx,%eax
-	rorl	$7,%ebp
-	movl	%edx,%esi
-	xorl	%eax,%edi
-	roll	$5,%edx
-	addl	%edi,%ecx
-	xorl	%ebp,%esi
-	xorl	%eax,%ebp
-	addl	%edx,%ecx
-	pxor	%xmm4,%xmm0
-	addl	0(%rsp),%ebx
-	andl	%ebp,%esi
-	xorl	%eax,%ebp
-	rorl	$7,%edx
-	punpcklqdq	%xmm7,%xmm8
-	movl	%ecx,%edi
-	xorl	%ebp,%esi
-	pxor	%xmm1,%xmm0
-	roll	$5,%ecx
-	addl	%esi,%ebx
-	movdqa	%xmm9,%xmm10
-	xorl	%edx,%edi
-	paddd	%xmm7,%xmm9
-	xorl	%ebp,%edx
-	pxor	%xmm8,%xmm0
-	addl	%ecx,%ebx
-	addl	4(%rsp),%eax
-	andl	%edx,%edi
-	xorl	%ebp,%edx
-	rorl	$7,%ecx
-	movdqa	%xmm0,%xmm8
-	movl	%ebx,%esi
-	xorl	%edx,%edi
-	movdqa	%xmm9,48(%rsp)
-	roll	$5,%ebx
-	addl	%edi,%eax
-	xorl	%ecx,%esi
-	pslld	$2,%xmm0
-	xorl	%edx,%ecx
-	addl	%ebx,%eax
-	psrld	$30,%xmm8
-	addl	8(%rsp),%ebp
-	andl	%ecx,%esi
-	xorl	%edx,%ecx
-	por	%xmm8,%xmm0
-	rorl	$7,%ebx
-	movl	%eax,%edi
-	xorl	%ecx,%esi
-	roll	$5,%eax
-	pshufd	$238,%xmm7,%xmm9
-	addl	%esi,%ebp
-	xorl	%ebx,%edi
-	xorl	%ecx,%ebx
-	addl	%eax,%ebp
-	addl	12(%rsp),%edx
-	andl	%ebx,%edi
-	xorl	%ecx,%ebx
-	rorl	$7,%eax
-	movl	%ebp,%esi
-	xorl	%ebx,%edi
-	roll	$5,%ebp
-	addl	%edi,%edx
-	xorl	%eax,%esi
-	xorl	%ebx,%eax
-	addl	%ebp,%edx
-	pxor	%xmm5,%xmm1
-	addl	16(%rsp),%ecx
-	andl	%eax,%esi
-	xorl	%ebx,%eax
-	rorl	$7,%ebp
-	punpcklqdq	%xmm0,%xmm9
-	movl	%edx,%edi
-	xorl	%eax,%esi
-	pxor	%xmm2,%xmm1
-	roll	$5,%edx
-	addl	%esi,%ecx
-	movdqa	%xmm10,%xmm8
-	xorl	%ebp,%edi
-	paddd	%xmm0,%xmm10
-	xorl	%eax,%ebp
-	pxor	%xmm9,%xmm1
-	addl	%edx,%ecx
-	addl	20(%rsp),%ebx
-	andl	%ebp,%edi
-	xorl	%eax,%ebp
-	rorl	$7,%edx
-	movdqa	%xmm1,%xmm9
-	movl	%ecx,%esi
-	xorl	%ebp,%edi
-	movdqa	%xmm10,0(%rsp)
-	roll	$5,%ecx
-	addl	%edi,%ebx
-	xorl	%edx,%esi
-	pslld	$2,%xmm1
-	xorl	%ebp,%edx
-	addl	%ecx,%ebx
-	psrld	$30,%xmm9
-	addl	24(%rsp),%eax
-	andl	%edx,%esi
-	xorl	%ebp,%edx
-	por	%xmm9,%xmm1
-	rorl	$7,%ecx
-	movl	%ebx,%edi
-	xorl	%edx,%esi
-	roll	$5,%ebx
-	pshufd	$238,%xmm0,%xmm10
-	addl	%esi,%eax
-	xorl	%ecx,%edi
-	xorl	%edx,%ecx
-	addl	%ebx,%eax
-	addl	28(%rsp),%ebp
-	andl	%ecx,%edi
-	xorl	%edx,%ecx
-	rorl	$7,%ebx
-	movl	%eax,%esi
-	xorl	%ecx,%edi
-	roll	$5,%eax
-	addl	%edi,%ebp
-	xorl	%ebx,%esi
-	xorl	%ecx,%ebx
-	addl	%eax,%ebp
-	pxor	%xmm6,%xmm2
-	addl	32(%rsp),%edx
-	andl	%ebx,%esi
-	xorl	%ecx,%ebx
-	rorl	$7,%eax
-	punpcklqdq	%xmm1,%xmm10
-	movl	%ebp,%edi
-	xorl	%ebx,%esi
-	pxor	%xmm3,%xmm2
-	roll	$5,%ebp
-	addl	%esi,%edx
-	movdqa	%xmm8,%xmm9
-	xorl	%eax,%edi
-	paddd	%xmm1,%xmm8
-	xorl	%ebx,%eax
-	pxor	%xmm10,%xmm2
-	addl	%ebp,%edx
-	addl	36(%rsp),%ecx
-	andl	%eax,%edi
-	xorl	%ebx,%eax
-	rorl	$7,%ebp
-	movdqa	%xmm2,%xmm10
-	movl	%edx,%esi
-	xorl	%eax,%edi
-	movdqa	%xmm8,16(%rsp)
-	roll	$5,%edx
-	addl	%edi,%ecx
-	xorl	%ebp,%esi
-	pslld	$2,%xmm2
-	xorl	%eax,%ebp
-	addl	%edx,%ecx
-	psrld	$30,%xmm10
-	addl	40(%rsp),%ebx
-	andl	%ebp,%esi
-	xorl	%eax,%ebp
-	por	%xmm10,%xmm2
-	rorl	$7,%edx
-	movl	%ecx,%edi
-	xorl	%ebp,%esi
-	roll	$5,%ecx
-	pshufd	$238,%xmm1,%xmm8
-	addl	%esi,%ebx
-	xorl	%edx,%edi
-	xorl	%ebp,%edx
-	addl	%ecx,%ebx
-	addl	44(%rsp),%eax
-	andl	%edx,%edi
-	xorl	%ebp,%edx
-	rorl	$7,%ecx
-	movl	%ebx,%esi
-	xorl	%edx,%edi
-	roll	$5,%ebx
-	addl	%edi,%eax
-	xorl	%edx,%esi
-	addl	%ebx,%eax
-	pxor	%xmm7,%xmm3
-	addl	48(%rsp),%ebp
-	xorl	%ecx,%esi
-	punpcklqdq	%xmm2,%xmm8
-	movl	%eax,%edi
-	roll	$5,%eax
-	pxor	%xmm4,%xmm3
-	addl	%esi,%ebp
-	xorl	%ecx,%edi
-	movdqa	%xmm9,%xmm10
-	rorl	$7,%ebx
-	paddd	%xmm2,%xmm9
-	addl	%eax,%ebp
-	pxor	%xmm8,%xmm3
-	addl	52(%rsp),%edx
-	xorl	%ebx,%edi
-	movl	%ebp,%esi
-	roll	$5,%ebp
-	movdqa	%xmm3,%xmm8
-	addl	%edi,%edx
-	xorl	%ebx,%esi
-	movdqa	%xmm9,32(%rsp)
-	rorl	$7,%eax
-	addl	%ebp,%edx
-	addl	56(%rsp),%ecx
-	pslld	$2,%xmm3
-	xorl	%eax,%esi
-	movl	%edx,%edi
-	psrld	$30,%xmm8
-	roll	$5,%edx
-	addl	%esi,%ecx
-	xorl	%eax,%edi
-	rorl	$7,%ebp
-	por	%xmm8,%xmm3
-	addl	%edx,%ecx
-	addl	60(%rsp),%ebx
-	xorl	%ebp,%edi
-	movl	%ecx,%esi
-	roll	$5,%ecx
-	addl	%edi,%ebx
-	xorl	%ebp,%esi
-	rorl	$7,%edx
-	addl	%ecx,%ebx
-	addl	0(%rsp),%eax
-	xorl	%edx,%esi
-	movl	%ebx,%edi
-	roll	$5,%ebx
-	paddd	%xmm3,%xmm10
-	addl	%esi,%eax
-	xorl	%edx,%edi
-	movdqa	%xmm10,48(%rsp)
-	rorl	$7,%ecx
-	addl	%ebx,%eax
-	addl	4(%rsp),%ebp
-	xorl	%ecx,%edi
-	movl	%eax,%esi
-	roll	$5,%eax
-	addl	%edi,%ebp
-	xorl	%ecx,%esi
-	rorl	$7,%ebx
-	addl	%eax,%ebp
-	addl	8(%rsp),%edx
-	xorl	%ebx,%esi
-	movl	%ebp,%edi
-	roll	$5,%ebp
-	addl	%esi,%edx
-	xorl	%ebx,%edi
-	rorl	$7,%eax
-	addl	%ebp,%edx
-	addl	12(%rsp),%ecx
-	xorl	%eax,%edi
-	movl	%edx,%esi
-	roll	$5,%edx
-	addl	%edi,%ecx
-	xorl	%eax,%esi
-	rorl	$7,%ebp
-	addl	%edx,%ecx
-	cmpq	%r10,%r9
-	je	L$done_ssse3
-	movdqa	64(%r14),%xmm6
-	movdqa	-64(%r14),%xmm9
-	movdqu	0(%r9),%xmm0
-	movdqu	16(%r9),%xmm1
-	movdqu	32(%r9),%xmm2
-	movdqu	48(%r9),%xmm3
-.byte	102,15,56,0,198
-	addq	$64,%r9
-	addl	16(%rsp),%ebx
-	xorl	%ebp,%esi
-	movl	%ecx,%edi
-.byte	102,15,56,0,206
-	roll	$5,%ecx
-	addl	%esi,%ebx
-	xorl	%ebp,%edi
-	rorl	$7,%edx
-	paddd	%xmm9,%xmm0
-	addl	%ecx,%ebx
-	addl	20(%rsp),%eax
-	xorl	%edx,%edi
-	movl	%ebx,%esi
-	movdqa	%xmm0,0(%rsp)
-	roll	$5,%ebx
-	addl	%edi,%eax
-	xorl	%edx,%esi
-	rorl	$7,%ecx
-	psubd	%xmm9,%xmm0
-	addl	%ebx,%eax
-	addl	24(%rsp),%ebp
-	xorl	%ecx,%esi
-	movl	%eax,%edi
-	roll	$5,%eax
-	addl	%esi,%ebp
-	xorl	%ecx,%edi
-	rorl	$7,%ebx
-	addl	%eax,%ebp
-	addl	28(%rsp),%edx
-	xorl	%ebx,%edi
-	movl	%ebp,%esi
-	roll	$5,%ebp
-	addl	%edi,%edx
-	xorl	%ebx,%esi
-	rorl	$7,%eax
-	addl	%ebp,%edx
-	addl	32(%rsp),%ecx
-	xorl	%eax,%esi
-	movl	%edx,%edi
-.byte	102,15,56,0,214
-	roll	$5,%edx
-	addl	%esi,%ecx
-	xorl	%eax,%edi
-	rorl	$7,%ebp
-	paddd	%xmm9,%xmm1
-	addl	%edx,%ecx
-	addl	36(%rsp),%ebx
-	xorl	%ebp,%edi
-	movl	%ecx,%esi
-	movdqa	%xmm1,16(%rsp)
-	roll	$5,%ecx
-	addl	%edi,%ebx
-	xorl	%ebp,%esi
-	rorl	$7,%edx
-	psubd	%xmm9,%xmm1
-	addl	%ecx,%ebx
-	addl	40(%rsp),%eax
-	xorl	%edx,%esi
-	movl	%ebx,%edi
-	roll	$5,%ebx
-	addl	%esi,%eax
-	xorl	%edx,%edi
-	rorl	$7,%ecx
-	addl	%ebx,%eax
-	addl	44(%rsp),%ebp
-	xorl	%ecx,%edi
-	movl	%eax,%esi
-	roll	$5,%eax
-	addl	%edi,%ebp
-	xorl	%ecx,%esi
-	rorl	$7,%ebx
-	addl	%eax,%ebp
-	addl	48(%rsp),%edx
-	xorl	%ebx,%esi
-	movl	%ebp,%edi
-.byte	102,15,56,0,222
-	roll	$5,%ebp
-	addl	%esi,%edx
-	xorl	%ebx,%edi
-	rorl	$7,%eax
-	paddd	%xmm9,%xmm2
-	addl	%ebp,%edx
-	addl	52(%rsp),%ecx
-	xorl	%eax,%edi
-	movl	%edx,%esi
-	movdqa	%xmm2,32(%rsp)
-	roll	$5,%edx
-	addl	%edi,%ecx
-	xorl	%eax,%esi
-	rorl	$7,%ebp
-	psubd	%xmm9,%xmm2
-	addl	%edx,%ecx
-	addl	56(%rsp),%ebx
-	xorl	%ebp,%esi
-	movl	%ecx,%edi
-	roll	$5,%ecx
-	addl	%esi,%ebx
-	xorl	%ebp,%edi
-	rorl	$7,%edx
-	addl	%ecx,%ebx
-	addl	60(%rsp),%eax
-	xorl	%edx,%edi
-	movl	%ebx,%esi
-	roll	$5,%ebx
-	addl	%edi,%eax
-	rorl	$7,%ecx
-	addl	%ebx,%eax
-	addl	0(%r8),%eax
-	addl	4(%r8),%esi
-	addl	8(%r8),%ecx
-	addl	12(%r8),%edx
-	movl	%eax,0(%r8)
-	addl	16(%r8),%ebp
-	movl	%esi,4(%r8)
-	movl	%esi,%ebx
-	movl	%ecx,8(%r8)
-	movl	%ecx,%edi
-	movl	%edx,12(%r8)
-	xorl	%edx,%edi
-	movl	%ebp,16(%r8)
-	andl	%edi,%esi
-	jmp	L$oop_ssse3
-
-.p2align	4
-L$done_ssse3:
-	addl	16(%rsp),%ebx
-	xorl	%ebp,%esi
-	movl	%ecx,%edi
-	roll	$5,%ecx
-	addl	%esi,%ebx
-	xorl	%ebp,%edi
-	rorl	$7,%edx
-	addl	%ecx,%ebx
-	addl	20(%rsp),%eax
-	xorl	%edx,%edi
-	movl	%ebx,%esi
-	roll	$5,%ebx
-	addl	%edi,%eax
-	xorl	%edx,%esi
-	rorl	$7,%ecx
-	addl	%ebx,%eax
-	addl	24(%rsp),%ebp
-	xorl	%ecx,%esi
-	movl	%eax,%edi
-	roll	$5,%eax
-	addl	%esi,%ebp
-	xorl	%ecx,%edi
-	rorl	$7,%ebx
-	addl	%eax,%ebp
-	addl	28(%rsp),%edx
-	xorl	%ebx,%edi
-	movl	%ebp,%esi
-	roll	$5,%ebp
-	addl	%edi,%edx
-	xorl	%ebx,%esi
-	rorl	$7,%eax
-	addl	%ebp,%edx
-	addl	32(%rsp),%ecx
-	xorl	%eax,%esi
-	movl	%edx,%edi
-	roll	$5,%edx
-	addl	%esi,%ecx
-	xorl	%eax,%edi
-	rorl	$7,%ebp
-	addl	%edx,%ecx
-	addl	36(%rsp),%ebx
-	xorl	%ebp,%edi
-	movl	%ecx,%esi
-	roll	$5,%ecx
-	addl	%edi,%ebx
-	xorl	%ebp,%esi
-	rorl	$7,%edx
-	addl	%ecx,%ebx
-	addl	40(%rsp),%eax
-	xorl	%edx,%esi
-	movl	%ebx,%edi
-	roll	$5,%ebx
-	addl	%esi,%eax
-	xorl	%edx,%edi
-	rorl	$7,%ecx
-	addl	%ebx,%eax
-	addl	44(%rsp),%ebp
-	xorl	%ecx,%edi
-	movl	%eax,%esi
-	roll	$5,%eax
-	addl	%edi,%ebp
-	xorl	%ecx,%esi
-	rorl	$7,%ebx
-	addl	%eax,%ebp
-	addl	48(%rsp),%edx
-	xorl	%ebx,%esi
-	movl	%ebp,%edi
-	roll	$5,%ebp
-	addl	%esi,%edx
-	xorl	%ebx,%edi
-	rorl	$7,%eax
-	addl	%ebp,%edx
-	addl	52(%rsp),%ecx
-	xorl	%eax,%edi
-	movl	%edx,%esi
-	roll	$5,%edx
-	addl	%edi,%ecx
-	xorl	%eax,%esi
-	rorl	$7,%ebp
-	addl	%edx,%ecx
-	addl	56(%rsp),%ebx
-	xorl	%ebp,%esi
-	movl	%ecx,%edi
-	roll	$5,%ecx
-	addl	%esi,%ebx
-	xorl	%ebp,%edi
-	rorl	$7,%edx
-	addl	%ecx,%ebx
-	addl	60(%rsp),%eax
-	xorl	%edx,%edi
-	movl	%ebx,%esi
-	roll	$5,%ebx
-	addl	%edi,%eax
-	rorl	$7,%ecx
-	addl	%ebx,%eax
-	addl	0(%r8),%eax
-	addl	4(%r8),%esi
-	addl	8(%r8),%ecx
-	movl	%eax,0(%r8)
-	addl	12(%r8),%edx
-	movl	%esi,4(%r8)
-	addl	16(%r8),%ebp
-	movl	%ecx,8(%r8)
-	movl	%edx,12(%r8)
-	movl	%ebp,16(%r8)
-	movq	-40(%r11),%r14
-	movq	-32(%r11),%r13
-	movq	-24(%r11),%r12
-	movq	-16(%r11),%rbp
-	movq	-8(%r11),%rbx
-	leaq	(%r11),%rsp
-L$epilogue_ssse3:
-	.byte	0xf3,0xc3
-
-
-.p2align	4
-sha1_block_data_order_avx:
-_avx_shortcut:
-	movq	%rsp,%r11
-	pushq	%rbx
-	pushq	%rbp
-	pushq	%r12
-	pushq	%r13
-	pushq	%r14
-	leaq	-64(%rsp),%rsp
-	vzeroupper
-	andq	$-64,%rsp
-	movq	%rdi,%r8
-	movq	%rsi,%r9
-	movq	%rdx,%r10
-
-	shlq	$6,%r10
-	addq	%r9,%r10
-	leaq	K_XX_XX+64(%rip),%r14
-
-	movl	0(%r8),%eax
-	movl	4(%r8),%ebx
-	movl	8(%r8),%ecx
-	movl	12(%r8),%edx
-	movl	%ebx,%esi
-	movl	16(%r8),%ebp
-	movl	%ecx,%edi
-	xorl	%edx,%edi
-	andl	%edi,%esi
-
-	vmovdqa	64(%r14),%xmm6
-	vmovdqa	-64(%r14),%xmm11
-	vmovdqu	0(%r9),%xmm0
-	vmovdqu	16(%r9),%xmm1
-	vmovdqu	32(%r9),%xmm2
-	vmovdqu	48(%r9),%xmm3
-	vpshufb	%xmm6,%xmm0,%xmm0
-	addq	$64,%r9
-	vpshufb	%xmm6,%xmm1,%xmm1
-	vpshufb	%xmm6,%xmm2,%xmm2
-	vpshufb	%xmm6,%xmm3,%xmm3
-	vpaddd	%xmm11,%xmm0,%xmm4
-	vpaddd	%xmm11,%xmm1,%xmm5
-	vpaddd	%xmm11,%xmm2,%xmm6
-	vmovdqa	%xmm4,0(%rsp)
-	vmovdqa	%xmm5,16(%rsp)
-	vmovdqa	%xmm6,32(%rsp)
-	jmp	L$oop_avx
-.p2align	4
-L$oop_avx:
-	shrdl	$2,%ebx,%ebx
-	xorl	%edx,%esi
-	vpalignr	$8,%xmm0,%xmm1,%xmm4
-	movl	%eax,%edi
-	addl	0(%rsp),%ebp
-	vpaddd	%xmm3,%xmm11,%xmm9
-	xorl	%ecx,%ebx
-	shldl	$5,%eax,%eax
-	vpsrldq	$4,%xmm3,%xmm8
-	addl	%esi,%ebp
-	andl	%ebx,%edi
-	vpxor	%xmm0,%xmm4,%xmm4
-	xorl	%ecx,%ebx
-	addl	%eax,%ebp
-	vpxor	%xmm2,%xmm8,%xmm8
-	shrdl	$7,%eax,%eax
-	xorl	%ecx,%edi
-	movl	%ebp,%esi
-	addl	4(%rsp),%edx
-	vpxor	%xmm8,%xmm4,%xmm4
-	xorl	%ebx,%eax
-	shldl	$5,%ebp,%ebp
-	vmovdqa	%xmm9,48(%rsp)
-	addl	%edi,%edx
-	andl	%eax,%esi
-	vpsrld	$31,%xmm4,%xmm8
-	xorl	%ebx,%eax
-	addl	%ebp,%edx
-	shrdl	$7,%ebp,%ebp
-	xorl	%ebx,%esi
-	vpslldq	$12,%xmm4,%xmm10
-	vpaddd	%xmm4,%xmm4,%xmm4
-	movl	%edx,%edi
-	addl	8(%rsp),%ecx
-	xorl	%eax,%ebp
-	shldl	$5,%edx,%edx
-	vpsrld	$30,%xmm10,%xmm9
-	vpor	%xmm8,%xmm4,%xmm4
-	addl	%esi,%ecx
-	andl	%ebp,%edi
-	xorl	%eax,%ebp
-	addl	%edx,%ecx
-	vpslld	$2,%xmm10,%xmm10
-	vpxor	%xmm9,%xmm4,%xmm4
-	shrdl	$7,%edx,%edx
-	xorl	%eax,%edi
-	movl	%ecx,%esi
-	addl	12(%rsp),%ebx
-	vpxor	%xmm10,%xmm4,%xmm4
-	xorl	%ebp,%edx
-	shldl	$5,%ecx,%ecx
-	addl	%edi,%ebx
-	andl	%edx,%esi
-	xorl	%ebp,%edx
-	addl	%ecx,%ebx
-	shrdl	$7,%ecx,%ecx
-	xorl	%ebp,%esi
-	vpalignr	$8,%xmm1,%xmm2,%xmm5
-	movl	%ebx,%edi
-	addl	16(%rsp),%eax
-	vpaddd	%xmm4,%xmm11,%xmm9
-	xorl	%edx,%ecx
-	shldl	$5,%ebx,%ebx
-	vpsrldq	$4,%xmm4,%xmm8
-	addl	%esi,%eax
-	andl	%ecx,%edi
-	vpxor	%xmm1,%xmm5,%xmm5
-	xorl	%edx,%ecx
-	addl	%ebx,%eax
-	vpxor	%xmm3,%xmm8,%xmm8
-	shrdl	$7,%ebx,%ebx
-	xorl	%edx,%edi
-	movl	%eax,%esi
-	addl	20(%rsp),%ebp
-	vpxor	%xmm8,%xmm5,%xmm5
-	xorl	%ecx,%ebx
-	shldl	$5,%eax,%eax
-	vmovdqa	%xmm9,0(%rsp)
-	addl	%edi,%ebp
-	andl	%ebx,%esi
-	vpsrld	$31,%xmm5,%xmm8
-	xorl	%ecx,%ebx
-	addl	%eax,%ebp
-	shrdl	$7,%eax,%eax
-	xorl	%ecx,%esi
-	vpslldq	$12,%xmm5,%xmm10
-	vpaddd	%xmm5,%xmm5,%xmm5
-	movl	%ebp,%edi
-	addl	24(%rsp),%edx
-	xorl	%ebx,%eax
-	shldl	$5,%ebp,%ebp
-	vpsrld	$30,%xmm10,%xmm9
-	vpor	%xmm8,%xmm5,%xmm5
-	addl	%esi,%edx
-	andl	%eax,%edi
-	xorl	%ebx,%eax
-	addl	%ebp,%edx
-	vpslld	$2,%xmm10,%xmm10
-	vpxor	%xmm9,%xmm5,%xmm5
-	shrdl	$7,%ebp,%ebp
-	xorl	%ebx,%edi
-	movl	%edx,%esi
-	addl	28(%rsp),%ecx
-	vpxor	%xmm10,%xmm5,%xmm5
-	xorl	%eax,%ebp
-	shldl	$5,%edx,%edx
-	vmovdqa	-32(%r14),%xmm11
-	addl	%edi,%ecx
-	andl	%ebp,%esi
-	xorl	%eax,%ebp
-	addl	%edx,%ecx
-	shrdl	$7,%edx,%edx
-	xorl	%eax,%esi
-	vpalignr	$8,%xmm2,%xmm3,%xmm6
-	movl	%ecx,%edi
-	addl	32(%rsp),%ebx
-	vpaddd	%xmm5,%xmm11,%xmm9
-	xorl	%ebp,%edx
-	shldl	$5,%ecx,%ecx
-	vpsrldq	$4,%xmm5,%xmm8
-	addl	%esi,%ebx
-	andl	%edx,%edi
-	vpxor	%xmm2,%xmm6,%xmm6
-	xorl	%ebp,%edx
-	addl	%ecx,%ebx
-	vpxor	%xmm4,%xmm8,%xmm8
-	shrdl	$7,%ecx,%ecx
-	xorl	%ebp,%edi
-	movl	%ebx,%esi
-	addl	36(%rsp),%eax
-	vpxor	%xmm8,%xmm6,%xmm6
-	xorl	%edx,%ecx
-	shldl	$5,%ebx,%ebx
-	vmovdqa	%xmm9,16(%rsp)
-	addl	%edi,%eax
-	andl	%ecx,%esi
-	vpsrld	$31,%xmm6,%xmm8
-	xorl	%edx,%ecx
-	addl	%ebx,%eax
-	shrdl	$7,%ebx,%ebx
-	xorl	%edx,%esi
-	vpslldq	$12,%xmm6,%xmm10
-	vpaddd	%xmm6,%xmm6,%xmm6
-	movl	%eax,%edi
-	addl	40(%rsp),%ebp
-	xorl	%ecx,%ebx
-	shldl	$5,%eax,%eax
-	vpsrld	$30,%xmm10,%xmm9
-	vpor	%xmm8,%xmm6,%xmm6
-	addl	%esi,%ebp
-	andl	%ebx,%edi
-	xorl	%ecx,%ebx
-	addl	%eax,%ebp
-	vpslld	$2,%xmm10,%xmm10
-	vpxor	%xmm9,%xmm6,%xmm6
-	shrdl	$7,%eax,%eax
-	xorl	%ecx,%edi
-	movl	%ebp,%esi
-	addl	44(%rsp),%edx
-	vpxor	%xmm10,%xmm6,%xmm6
-	xorl	%ebx,%eax
-	shldl	$5,%ebp,%ebp
-	addl	%edi,%edx
-	andl	%eax,%esi
-	xorl	%ebx,%eax
-	addl	%ebp,%edx
-	shrdl	$7,%ebp,%ebp
-	xorl	%ebx,%esi
-	vpalignr	$8,%xmm3,%xmm4,%xmm7
-	movl	%edx,%edi
-	addl	48(%rsp),%ecx
-	vpaddd	%xmm6,%xmm11,%xmm9
-	xorl	%eax,%ebp
-	shldl	$5,%edx,%edx
-	vpsrldq	$4,%xmm6,%xmm8
-	addl	%esi,%ecx
-	andl	%ebp,%edi
-	vpxor	%xmm3,%xmm7,%xmm7
-	xorl	%eax,%ebp
-	addl	%edx,%ecx
-	vpxor	%xmm5,%xmm8,%xmm8
-	shrdl	$7,%edx,%edx
-	xorl	%eax,%edi
-	movl	%ecx,%esi
-	addl	52(%rsp),%ebx
-	vpxor	%xmm8,%xmm7,%xmm7
-	xorl	%ebp,%edx
-	shldl	$5,%ecx,%ecx
-	vmovdqa	%xmm9,32(%rsp)
-	addl	%edi,%ebx
-	andl	%edx,%esi
-	vpsrld	$31,%xmm7,%xmm8
-	xorl	%ebp,%edx
-	addl	%ecx,%ebx
-	shrdl	$7,%ecx,%ecx
-	xorl	%ebp,%esi
-	vpslldq	$12,%xmm7,%xmm10
-	vpaddd	%xmm7,%xmm7,%xmm7
-	movl	%ebx,%edi
-	addl	56(%rsp),%eax
-	xorl	%edx,%ecx
-	shldl	$5,%ebx,%ebx
-	vpsrld	$30,%xmm10,%xmm9
-	vpor	%xmm8,%xmm7,%xmm7
-	addl	%esi,%eax
-	andl	%ecx,%edi
-	xorl	%edx,%ecx
-	addl	%ebx,%eax
-	vpslld	$2,%xmm10,%xmm10
-	vpxor	%xmm9,%xmm7,%xmm7
-	shrdl	$7,%ebx,%ebx
-	xorl	%edx,%edi
-	movl	%eax,%esi
-	addl	60(%rsp),%ebp
-	vpxor	%xmm10,%xmm7,%xmm7
-	xorl	%ecx,%ebx
-	shldl	$5,%eax,%eax
-	addl	%edi,%ebp
-	andl	%ebx,%esi
-	xorl	%ecx,%ebx
-	addl	%eax,%ebp
-	vpalignr	$8,%xmm6,%xmm7,%xmm8
-	vpxor	%xmm4,%xmm0,%xmm0
-	shrdl	$7,%eax,%eax
-	xorl	%ecx,%esi
-	movl	%ebp,%edi
-	addl	0(%rsp),%edx
-	vpxor	%xmm1,%xmm0,%xmm0
-	xorl	%ebx,%eax
-	shldl	$5,%ebp,%ebp
-	vpaddd	%xmm7,%xmm11,%xmm9
-	addl	%esi,%edx
-	andl	%eax,%edi
-	vpxor	%xmm8,%xmm0,%xmm0
-	xorl	%ebx,%eax
-	addl	%ebp,%edx
-	shrdl	$7,%ebp,%ebp
-	xorl	%ebx,%edi
-	vpsrld	$30,%xmm0,%xmm8
-	vmovdqa	%xmm9,48(%rsp)
-	movl	%edx,%esi
-	addl	4(%rsp),%ecx
-	xorl	%eax,%ebp
-	shldl	$5,%edx,%edx
-	vpslld	$2,%xmm0,%xmm0
-	addl	%edi,%ecx
-	andl	%ebp,%esi
-	xorl	%eax,%ebp
-	addl	%edx,%ecx
-	shrdl	$7,%edx,%edx
-	xorl	%eax,%esi
-	movl	%ecx,%edi
-	addl	8(%rsp),%ebx
-	vpor	%xmm8,%xmm0,%xmm0
-	xorl	%ebp,%edx
-	shldl	$5,%ecx,%ecx
-	addl	%esi,%ebx
-	andl	%edx,%edi
-	xorl	%ebp,%edx
-	addl	%ecx,%ebx
-	addl	12(%rsp),%eax
-	xorl	%ebp,%edi
-	movl	%ebx,%esi
-	shldl	$5,%ebx,%ebx
-	addl	%edi,%eax
-	xorl	%edx,%esi
-	shrdl	$7,%ecx,%ecx
-	addl	%ebx,%eax
-	vpalignr	$8,%xmm7,%xmm0,%xmm8
-	vpxor	%xmm5,%xmm1,%xmm1
-	addl	16(%rsp),%ebp
-	xorl	%ecx,%esi
-	movl	%eax,%edi
-	shldl	$5,%eax,%eax
-	vpxor	%xmm2,%xmm1,%xmm1
-	addl	%esi,%ebp
-	xorl	%ecx,%edi
-	vpaddd	%xmm0,%xmm11,%xmm9
-	shrdl	$7,%ebx,%ebx
-	addl	%eax,%ebp
-	vpxor	%xmm8,%xmm1,%xmm1
-	addl	20(%rsp),%edx
-	xorl	%ebx,%edi
-	movl	%ebp,%esi
-	shldl	$5,%ebp,%ebp
-	vpsrld	$30,%xmm1,%xmm8
-	vmovdqa	%xmm9,0(%rsp)
-	addl	%edi,%edx
-	xorl	%ebx,%esi
-	shrdl	$7,%eax,%eax
-	addl	%ebp,%edx
-	vpslld	$2,%xmm1,%xmm1
-	addl	24(%rsp),%ecx
-	xorl	%eax,%esi
-	movl	%edx,%edi
-	shldl	$5,%edx,%edx
-	addl	%esi,%ecx
-	xorl	%eax,%edi
-	shrdl	$7,%ebp,%ebp
-	addl	%edx,%ecx
-	vpor	%xmm8,%xmm1,%xmm1
-	addl	28(%rsp),%ebx
-	xorl	%ebp,%edi
-	movl	%ecx,%esi
-	shldl	$5,%ecx,%ecx
-	addl	%edi,%ebx
-	xorl	%ebp,%esi
-	shrdl	$7,%edx,%edx
-	addl	%ecx,%ebx
-	vpalignr	$8,%xmm0,%xmm1,%xmm8
-	vpxor	%xmm6,%xmm2,%xmm2
-	addl	32(%rsp),%eax
-	xorl	%edx,%esi
-	movl	%ebx,%edi
-	shldl	$5,%ebx,%ebx
-	vpxor	%xmm3,%xmm2,%xmm2
-	addl	%esi,%eax
-	xorl	%edx,%edi
-	vpaddd	%xmm1,%xmm11,%xmm9
-	vmovdqa	0(%r14),%xmm11
-	shrdl	$7,%ecx,%ecx
-	addl	%ebx,%eax
-	vpxor	%xmm8,%xmm2,%xmm2
-	addl	36(%rsp),%ebp
-	xorl	%ecx,%edi
-	movl	%eax,%esi
-	shldl	$5,%eax,%eax
-	vpsrld	$30,%xmm2,%xmm8
-	vmovdqa	%xmm9,16(%rsp)
-	addl	%edi,%ebp
-	xorl	%ecx,%esi
-	shrdl	$7,%ebx,%ebx
-	addl	%eax,%ebp
-	vpslld	$2,%xmm2,%xmm2
-	addl	40(%rsp),%edx
-	xorl	%ebx,%esi
-	movl	%ebp,%edi
-	shldl	$5,%ebp,%ebp
-	addl	%esi,%edx
-	xorl	%ebx,%edi
-	shrdl	$7,%eax,%eax
-	addl	%ebp,%edx
-	vpor	%xmm8,%xmm2,%xmm2
-	addl	44(%rsp),%ecx
-	xorl	%eax,%edi
-	movl	%edx,%esi
-	shldl	$5,%edx,%edx
-	addl	%edi,%ecx
-	xorl	%eax,%esi
-	shrdl	$7,%ebp,%ebp
-	addl	%edx,%ecx
-	vpalignr	$8,%xmm1,%xmm2,%xmm8
-	vpxor	%xmm7,%xmm3,%xmm3
-	addl	48(%rsp),%ebx
-	xorl	%ebp,%esi
-	movl	%ecx,%edi
-	shldl	$5,%ecx,%ecx
-	vpxor	%xmm4,%xmm3,%xmm3
-	addl	%esi,%ebx
-	xorl	%ebp,%edi
-	vpaddd	%xmm2,%xmm11,%xmm9
-	shrdl	$7,%edx,%edx
-	addl	%ecx,%ebx
-	vpxor	%xmm8,%xmm3,%xmm3
-	addl	52(%rsp),%eax
-	xorl	%edx,%edi
-	movl	%ebx,%esi
-	shldl	$5,%ebx,%ebx
-	vpsrld	$30,%xmm3,%xmm8
-	vmovdqa	%xmm9,32(%rsp)
-	addl	%edi,%eax
-	xorl	%edx,%esi
-	shrdl	$7,%ecx,%ecx
-	addl	%ebx,%eax
-	vpslld	$2,%xmm3,%xmm3
-	addl	56(%rsp),%ebp
-	xorl	%ecx,%esi
-	movl	%eax,%edi
-	shldl	$5,%eax,%eax
-	addl	%esi,%ebp
-	xorl	%ecx,%edi
-	shrdl	$7,%ebx,%ebx
-	addl	%eax,%ebp
-	vpor	%xmm8,%xmm3,%xmm3
-	addl	60(%rsp),%edx
-	xorl	%ebx,%edi
-	movl	%ebp,%esi
-	shldl	$5,%ebp,%ebp
-	addl	%edi,%edx
-	xorl	%ebx,%esi
-	shrdl	$7,%eax,%eax
-	addl	%ebp,%edx
-	vpalignr	$8,%xmm2,%xmm3,%xmm8
-	vpxor	%xmm0,%xmm4,%xmm4
-	addl	0(%rsp),%ecx
-	xorl	%eax,%esi
-	movl	%edx,%edi
-	shldl	$5,%edx,%edx
-	vpxor	%xmm5,%xmm4,%xmm4
-	addl	%esi,%ecx
-	xorl	%eax,%edi
-	vpaddd	%xmm3,%xmm11,%xmm9
-	shrdl	$7,%ebp,%ebp
-	addl	%edx,%ecx
-	vpxor	%xmm8,%xmm4,%xmm4
-	addl	4(%rsp),%ebx
-	xorl	%ebp,%edi
-	movl	%ecx,%esi
-	shldl	$5,%ecx,%ecx
-	vpsrld	$30,%xmm4,%xmm8
-	vmovdqa	%xmm9,48(%rsp)
-	addl	%edi,%ebx
-	xorl	%ebp,%esi
-	shrdl	$7,%edx,%edx
-	addl	%ecx,%ebx
-	vpslld	$2,%xmm4,%xmm4
-	addl	8(%rsp),%eax
-	xorl	%edx,%esi
-	movl	%ebx,%edi
-	shldl	$5,%ebx,%ebx
-	addl	%esi,%eax
-	xorl	%edx,%edi
-	shrdl	$7,%ecx,%ecx
-	addl	%ebx,%eax
-	vpor	%xmm8,%xmm4,%xmm4
-	addl	12(%rsp),%ebp
-	xorl	%ecx,%edi
-	movl	%eax,%esi
-	shldl	$5,%eax,%eax
-	addl	%edi,%ebp
-	xorl	%ecx,%esi
-	shrdl	$7,%ebx,%ebx
-	addl	%eax,%ebp
-	vpalignr	$8,%xmm3,%xmm4,%xmm8
-	vpxor	%xmm1,%xmm5,%xmm5
-	addl	16(%rsp),%edx
-	xorl	%ebx,%esi
-	movl	%ebp,%edi
-	shldl	$5,%ebp,%ebp
-	vpxor	%xmm6,%xmm5,%xmm5
-	addl	%esi,%edx
-	xorl	%ebx,%edi
-	vpaddd	%xmm4,%xmm11,%xmm9
-	shrdl	$7,%eax,%eax
-	addl	%ebp,%edx
-	vpxor	%xmm8,%xmm5,%xmm5
-	addl	20(%rsp),%ecx
-	xorl	%eax,%edi
-	movl	%edx,%esi
-	shldl	$5,%edx,%edx
-	vpsrld	$30,%xmm5,%xmm8
-	vmovdqa	%xmm9,0(%rsp)
-	addl	%edi,%ecx
-	xorl	%eax,%esi
-	shrdl	$7,%ebp,%ebp
-	addl	%edx,%ecx
-	vpslld	$2,%xmm5,%xmm5
-	addl	24(%rsp),%ebx
-	xorl	%ebp,%esi
-	movl	%ecx,%edi
-	shldl	$5,%ecx,%ecx
-	addl	%esi,%ebx
-	xorl	%ebp,%edi
-	shrdl	$7,%edx,%edx
-	addl	%ecx,%ebx
-	vpor	%xmm8,%xmm5,%xmm5
-	addl	28(%rsp),%eax
-	shrdl	$7,%ecx,%ecx
-	movl	%ebx,%esi
-	xorl	%edx,%edi
-	shldl	$5,%ebx,%ebx
-	addl	%edi,%eax
-	xorl	%ecx,%esi
-	xorl	%edx,%ecx
-	addl	%ebx,%eax
-	vpalignr	$8,%xmm4,%xmm5,%xmm8
-	vpxor	%xmm2,%xmm6,%xmm6
-	addl	32(%rsp),%ebp
-	andl	%ecx,%esi
-	xorl	%edx,%ecx
-	shrdl	$7,%ebx,%ebx
-	vpxor	%xmm7,%xmm6,%xmm6
-	movl	%eax,%edi
-	xorl	%ecx,%esi
-	vpaddd	%xmm5,%xmm11,%xmm9
-	shldl	$5,%eax,%eax
-	addl	%esi,%ebp
-	vpxor	%xmm8,%xmm6,%xmm6
-	xorl	%ebx,%edi
-	xorl	%ecx,%ebx
-	addl	%eax,%ebp
-	addl	36(%rsp),%edx
-	vpsrld	$30,%xmm6,%xmm8
-	vmovdqa	%xmm9,16(%rsp)
-	andl	%ebx,%edi
-	xorl	%ecx,%ebx
-	shrdl	$7,%eax,%eax
-	movl	%ebp,%esi
-	vpslld	$2,%xmm6,%xmm6
-	xorl	%ebx,%edi
-	shldl	$5,%ebp,%ebp
-	addl	%edi,%edx
-	xorl	%eax,%esi
-	xorl	%ebx,%eax
-	addl	%ebp,%edx
-	addl	40(%rsp),%ecx
-	andl	%eax,%esi
-	vpor	%xmm8,%xmm6,%xmm6
-	xorl	%ebx,%eax
-	shrdl	$7,%ebp,%ebp
-	movl	%edx,%edi
-	xorl	%eax,%esi
-	shldl	$5,%edx,%edx
-	addl	%esi,%ecx
-	xorl	%ebp,%edi
-	xorl	%eax,%ebp
-	addl	%edx,%ecx
-	addl	44(%rsp),%ebx
-	andl	%ebp,%edi
-	xorl	%eax,%ebp
-	shrdl	$7,%edx,%edx
-	movl	%ecx,%esi
-	xorl	%ebp,%edi
-	shldl	$5,%ecx,%ecx
-	addl	%edi,%ebx
-	xorl	%edx,%esi
-	xorl	%ebp,%edx
-	addl	%ecx,%ebx
-	vpalignr	$8,%xmm5,%xmm6,%xmm8
-	vpxor	%xmm3,%xmm7,%xmm7
-	addl	48(%rsp),%eax
-	andl	%edx,%esi
-	xorl	%ebp,%edx
-	shrdl	$7,%ecx,%ecx
-	vpxor	%xmm0,%xmm7,%xmm7
-	movl	%ebx,%edi
-	xorl	%edx,%esi
-	vpaddd	%xmm6,%xmm11,%xmm9
-	vmovdqa	32(%r14),%xmm11
-	shldl	$5,%ebx,%ebx
-	addl	%esi,%eax
-	vpxor	%xmm8,%xmm7,%xmm7
-	xorl	%ecx,%edi
-	xorl	%edx,%ecx
-	addl	%ebx,%eax
-	addl	52(%rsp),%ebp
-	vpsrld	$30,%xmm7,%xmm8
-	vmovdqa	%xmm9,32(%rsp)
-	andl	%ecx,%edi
-	xorl	%edx,%ecx
-	shrdl	$7,%ebx,%ebx
-	movl	%eax,%esi
-	vpslld	$2,%xmm7,%xmm7
-	xorl	%ecx,%edi
-	shldl	$5,%eax,%eax
-	addl	%edi,%ebp
-	xorl	%ebx,%esi
-	xorl	%ecx,%ebx
-	addl	%eax,%ebp
-	addl	56(%rsp),%edx
-	andl	%ebx,%esi
-	vpor	%xmm8,%xmm7,%xmm7
-	xorl	%ecx,%ebx
-	shrdl	$7,%eax,%eax
-	movl	%ebp,%edi
-	xorl	%ebx,%esi
-	shldl	$5,%ebp,%ebp
-	addl	%esi,%edx
-	xorl	%eax,%edi
-	xorl	%ebx,%eax
-	addl	%ebp,%edx
-	addl	60(%rsp),%ecx
-	andl	%eax,%edi
-	xorl	%ebx,%eax
-	shrdl	$7,%ebp,%ebp
-	movl	%edx,%esi
-	xorl	%eax,%edi
-	shldl	$5,%edx,%edx
-	addl	%edi,%ecx
-	xorl	%ebp,%esi
-	xorl	%eax,%ebp
-	addl	%edx,%ecx
-	vpalignr	$8,%xmm6,%xmm7,%xmm8
-	vpxor	%xmm4,%xmm0,%xmm0
-	addl	0(%rsp),%ebx
-	andl	%ebp,%esi
-	xorl	%eax,%ebp
-	shrdl	$7,%edx,%edx
-	vpxor	%xmm1,%xmm0,%xmm0
-	movl	%ecx,%edi
-	xorl	%ebp,%esi
-	vpaddd	%xmm7,%xmm11,%xmm9
-	shldl	$5,%ecx,%ecx
-	addl	%esi,%ebx
-	vpxor	%xmm8,%xmm0,%xmm0
-	xorl	%edx,%edi
-	xorl	%ebp,%edx
-	addl	%ecx,%ebx
-	addl	4(%rsp),%eax
-	vpsrld	$30,%xmm0,%xmm8
-	vmovdqa	%xmm9,48(%rsp)
-	andl	%edx,%edi
-	xorl	%ebp,%edx
-	shrdl	$7,%ecx,%ecx
-	movl	%ebx,%esi
-	vpslld	$2,%xmm0,%xmm0
-	xorl	%edx,%edi
-	shldl	$5,%ebx,%ebx
-	addl	%edi,%eax
-	xorl	%ecx,%esi
-	xorl	%edx,%ecx
-	addl	%ebx,%eax
-	addl	8(%rsp),%ebp
-	andl	%ecx,%esi
-	vpor	%xmm8,%xmm0,%xmm0
-	xorl	%edx,%ecx
-	shrdl	$7,%ebx,%ebx
-	movl	%eax,%edi
-	xorl	%ecx,%esi
-	shldl	$5,%eax,%eax
-	addl	%esi,%ebp
-	xorl	%ebx,%edi
-	xorl	%ecx,%ebx
-	addl	%eax,%ebp
-	addl	12(%rsp),%edx
-	andl	%ebx,%edi
-	xorl	%ecx,%ebx
-	shrdl	$7,%eax,%eax
-	movl	%ebp,%esi
-	xorl	%ebx,%edi
-	shldl	$5,%ebp,%ebp
-	addl	%edi,%edx
-	xorl	%eax,%esi
-	xorl	%ebx,%eax
-	addl	%ebp,%edx
-	vpalignr	$8,%xmm7,%xmm0,%xmm8
-	vpxor	%xmm5,%xmm1,%xmm1
-	addl	16(%rsp),%ecx
-	andl	%eax,%esi
-	xorl	%ebx,%eax
-	shrdl	$7,%ebp,%ebp
-	vpxor	%xmm2,%xmm1,%xmm1
-	movl	%edx,%edi
-	xorl	%eax,%esi
-	vpaddd	%xmm0,%xmm11,%xmm9
-	shldl	$5,%edx,%edx
-	addl	%esi,%ecx
-	vpxor	%xmm8,%xmm1,%xmm1
-	xorl	%ebp,%edi
-	xorl	%eax,%ebp
-	addl	%edx,%ecx
-	addl	20(%rsp),%ebx
-	vpsrld	$30,%xmm1,%xmm8
-	vmovdqa	%xmm9,0(%rsp)
-	andl	%ebp,%edi
-	xorl	%eax,%ebp
-	shrdl	$7,%edx,%edx
-	movl	%ecx,%esi
-	vpslld	$2,%xmm1,%xmm1
-	xorl	%ebp,%edi
-	shldl	$5,%ecx,%ecx
-	addl	%edi,%ebx
-	xorl	%edx,%esi
-	xorl	%ebp,%edx
-	addl	%ecx,%ebx
-	addl	24(%rsp),%eax
-	andl	%edx,%esi
-	vpor	%xmm8,%xmm1,%xmm1
-	xorl	%ebp,%edx
-	shrdl	$7,%ecx,%ecx
-	movl	%ebx,%edi
-	xorl	%edx,%esi
-	shldl	$5,%ebx,%ebx
-	addl	%esi,%eax
-	xorl	%ecx,%edi
-	xorl	%edx,%ecx
-	addl	%ebx,%eax
-	addl	28(%rsp),%ebp
-	andl	%ecx,%edi
-	xorl	%edx,%ecx
-	shrdl	$7,%ebx,%ebx
-	movl	%eax,%esi
-	xorl	%ecx,%edi
-	shldl	$5,%eax,%eax
-	addl	%edi,%ebp
-	xorl	%ebx,%esi
-	xorl	%ecx,%ebx
-	addl	%eax,%ebp
-	vpalignr	$8,%xmm0,%xmm1,%xmm8
-	vpxor	%xmm6,%xmm2,%xmm2
-	addl	32(%rsp),%edx
-	andl	%ebx,%esi
-	xorl	%ecx,%ebx
-	shrdl	$7,%eax,%eax
-	vpxor	%xmm3,%xmm2,%xmm2
-	movl	%ebp,%edi
-	xorl	%ebx,%esi
-	vpaddd	%xmm1,%xmm11,%xmm9
-	shldl	$5,%ebp,%ebp
-	addl	%esi,%edx
-	vpxor	%xmm8,%xmm2,%xmm2
-	xorl	%eax,%edi
-	xorl	%ebx,%eax
-	addl	%ebp,%edx
-	addl	36(%rsp),%ecx
-	vpsrld	$30,%xmm2,%xmm8
-	vmovdqa	%xmm9,16(%rsp)
-	andl	%eax,%edi
-	xorl	%ebx,%eax
-	shrdl	$7,%ebp,%ebp
-	movl	%edx,%esi
-	vpslld	$2,%xmm2,%xmm2
-	xorl	%eax,%edi
-	shldl	$5,%edx,%edx
-	addl	%edi,%ecx
-	xorl	%ebp,%esi
-	xorl	%eax,%ebp
-	addl	%edx,%ecx
-	addl	40(%rsp),%ebx
-	andl	%ebp,%esi
-	vpor	%xmm8,%xmm2,%xmm2
-	xorl	%eax,%ebp
-	shrdl	$7,%edx,%edx
-	movl	%ecx,%edi
-	xorl	%ebp,%esi
-	shldl	$5,%ecx,%ecx
-	addl	%esi,%ebx
-	xorl	%edx,%edi
-	xorl	%ebp,%edx
-	addl	%ecx,%ebx
-	addl	44(%rsp),%eax
-	andl	%edx,%edi
-	xorl	%ebp,%edx
-	shrdl	$7,%ecx,%ecx
-	movl	%ebx,%esi
-	xorl	%edx,%edi
-	shldl	$5,%ebx,%ebx
-	addl	%edi,%eax
-	xorl	%edx,%esi
-	addl	%ebx,%eax
-	vpalignr	$8,%xmm1,%xmm2,%xmm8
-	vpxor	%xmm7,%xmm3,%xmm3
-	addl	48(%rsp),%ebp
-	xorl	%ecx,%esi
-	movl	%eax,%edi
-	shldl	$5,%eax,%eax
-	vpxor	%xmm4,%xmm3,%xmm3
-	addl	%esi,%ebp
-	xorl	%ecx,%edi
-	vpaddd	%xmm2,%xmm11,%xmm9
-	shrdl	$7,%ebx,%ebx
-	addl	%eax,%ebp
-	vpxor	%xmm8,%xmm3,%xmm3
-	addl	52(%rsp),%edx
-	xorl	%ebx,%edi
-	movl	%ebp,%esi
-	shldl	$5,%ebp,%ebp
-	vpsrld	$30,%xmm3,%xmm8
-	vmovdqa	%xmm9,32(%rsp)
-	addl	%edi,%edx
-	xorl	%ebx,%esi
-	shrdl	$7,%eax,%eax
-	addl	%ebp,%edx
-	vpslld	$2,%xmm3,%xmm3
-	addl	56(%rsp),%ecx
-	xorl	%eax,%esi
-	movl	%edx,%edi
-	shldl	$5,%edx,%edx
-	addl	%esi,%ecx
-	xorl	%eax,%edi
-	shrdl	$7,%ebp,%ebp
-	addl	%edx,%ecx
-	vpor	%xmm8,%xmm3,%xmm3
-	addl	60(%rsp),%ebx
-	xorl	%ebp,%edi
-	movl	%ecx,%esi
-	shldl	$5,%ecx,%ecx
-	addl	%edi,%ebx
-	xorl	%ebp,%esi
-	shrdl	$7,%edx,%edx
-	addl	%ecx,%ebx
-	addl	0(%rsp),%eax
-	vpaddd	%xmm3,%xmm11,%xmm9
-	xorl	%edx,%esi
-	movl	%ebx,%edi
-	shldl	$5,%ebx,%ebx
-	addl	%esi,%eax
-	vmovdqa	%xmm9,48(%rsp)
-	xorl	%edx,%edi
-	shrdl	$7,%ecx,%ecx
-	addl	%ebx,%eax
-	addl	4(%rsp),%ebp
-	xorl	%ecx,%edi
-	movl	%eax,%esi
-	shldl	$5,%eax,%eax
-	addl	%edi,%ebp
-	xorl	%ecx,%esi
-	shrdl	$7,%ebx,%ebx
-	addl	%eax,%ebp
-	addl	8(%rsp),%edx
-	xorl	%ebx,%esi
-	movl	%ebp,%edi
-	shldl	$5,%ebp,%ebp
-	addl	%esi,%edx
-	xorl	%ebx,%edi
-	shrdl	$7,%eax,%eax
-	addl	%ebp,%edx
-	addl	12(%rsp),%ecx
-	xorl	%eax,%edi
-	movl	%edx,%esi
-	shldl	$5,%edx,%edx
-	addl	%edi,%ecx
-	xorl	%eax,%esi
-	shrdl	$7,%ebp,%ebp
-	addl	%edx,%ecx
-	cmpq	%r10,%r9
-	je	L$done_avx
-	vmovdqa	64(%r14),%xmm6
-	vmovdqa	-64(%r14),%xmm11
-	vmovdqu	0(%r9),%xmm0
-	vmovdqu	16(%r9),%xmm1
-	vmovdqu	32(%r9),%xmm2
-	vmovdqu	48(%r9),%xmm3
-	vpshufb	%xmm6,%xmm0,%xmm0
-	addq	$64,%r9
-	addl	16(%rsp),%ebx
-	xorl	%ebp,%esi
-	vpshufb	%xmm6,%xmm1,%xmm1
-	movl	%ecx,%edi
-	shldl	$5,%ecx,%ecx
-	vpaddd	%xmm11,%xmm0,%xmm4
-	addl	%esi,%ebx
-	xorl	%ebp,%edi
-	shrdl	$7,%edx,%edx
-	addl	%ecx,%ebx
-	vmovdqa	%xmm4,0(%rsp)
-	addl	20(%rsp),%eax
-	xorl	%edx,%edi
-	movl	%ebx,%esi
-	shldl	$5,%ebx,%ebx
-	addl	%edi,%eax
-	xorl	%edx,%esi
-	shrdl	$7,%ecx,%ecx
-	addl	%ebx,%eax
-	addl	24(%rsp),%ebp
-	xorl	%ecx,%esi
-	movl	%eax,%edi
-	shldl	$5,%eax,%eax
-	addl	%esi,%ebp
-	xorl	%ecx,%edi
-	shrdl	$7,%ebx,%ebx
-	addl	%eax,%ebp
-	addl	28(%rsp),%edx
-	xorl	%ebx,%edi
-	movl	%ebp,%esi
-	shldl	$5,%ebp,%ebp
-	addl	%edi,%edx
-	xorl	%ebx,%esi
-	shrdl	$7,%eax,%eax
-	addl	%ebp,%edx
-	addl	32(%rsp),%ecx
-	xorl	%eax,%esi
-	vpshufb	%xmm6,%xmm2,%xmm2
-	movl	%edx,%edi
-	shldl	$5,%edx,%edx
-	vpaddd	%xmm11,%xmm1,%xmm5
-	addl	%esi,%ecx
-	xorl	%eax,%edi
-	shrdl	$7,%ebp,%ebp
-	addl	%edx,%ecx
-	vmovdqa	%xmm5,16(%rsp)
-	addl	36(%rsp),%ebx
-	xorl	%ebp,%edi
-	movl	%ecx,%esi
-	shldl	$5,%ecx,%ecx
-	addl	%edi,%ebx
-	xorl	%ebp,%esi
-	shrdl	$7,%edx,%edx
-	addl	%ecx,%ebx
-	addl	40(%rsp),%eax
-	xorl	%edx,%esi
-	movl	%ebx,%edi
-	shldl	$5,%ebx,%ebx
-	addl	%esi,%eax
-	xorl	%edx,%edi
-	shrdl	$7,%ecx,%ecx
-	addl	%ebx,%eax
-	addl	44(%rsp),%ebp
-	xorl	%ecx,%edi
-	movl	%eax,%esi
-	shldl	$5,%eax,%eax
-	addl	%edi,%ebp
-	xorl	%ecx,%esi
-	shrdl	$7,%ebx,%ebx
-	addl	%eax,%ebp
-	addl	48(%rsp),%edx
-	xorl	%ebx,%esi
-	vpshufb	%xmm6,%xmm3,%xmm3
-	movl	%ebp,%edi
-	shldl	$5,%ebp,%ebp
-	vpaddd	%xmm11,%xmm2,%xmm6
-	addl	%esi,%edx
-	xorl	%ebx,%edi
-	shrdl	$7,%eax,%eax
-	addl	%ebp,%edx
-	vmovdqa	%xmm6,32(%rsp)
-	addl	52(%rsp),%ecx
-	xorl	%eax,%edi
-	movl	%edx,%esi
-	shldl	$5,%edx,%edx
-	addl	%edi,%ecx
-	xorl	%eax,%esi
-	shrdl	$7,%ebp,%ebp
-	addl	%edx,%ecx
-	addl	56(%rsp),%ebx
-	xorl	%ebp,%esi
-	movl	%ecx,%edi
-	shldl	$5,%ecx,%ecx
-	addl	%esi,%ebx
-	xorl	%ebp,%edi
-	shrdl	$7,%edx,%edx
-	addl	%ecx,%ebx
-	addl	60(%rsp),%eax
-	xorl	%edx,%edi
-	movl	%ebx,%esi
-	shldl	$5,%ebx,%ebx
-	addl	%edi,%eax
-	shrdl	$7,%ecx,%ecx
-	addl	%ebx,%eax
-	addl	0(%r8),%eax
-	addl	4(%r8),%esi
-	addl	8(%r8),%ecx
-	addl	12(%r8),%edx
-	movl	%eax,0(%r8)
-	addl	16(%r8),%ebp
-	movl	%esi,4(%r8)
-	movl	%esi,%ebx
-	movl	%ecx,8(%r8)
-	movl	%ecx,%edi
-	movl	%edx,12(%r8)
-	xorl	%edx,%edi
-	movl	%ebp,16(%r8)
-	andl	%edi,%esi
-	jmp	L$oop_avx
-
-.p2align	4
-L$done_avx:
-	addl	16(%rsp),%ebx
-	xorl	%ebp,%esi
-	movl	%ecx,%edi
-	shldl	$5,%ecx,%ecx
-	addl	%esi,%ebx
-	xorl	%ebp,%edi
-	shrdl	$7,%edx,%edx
-	addl	%ecx,%ebx
-	addl	20(%rsp),%eax
-	xorl	%edx,%edi
-	movl	%ebx,%esi
-	shldl	$5,%ebx,%ebx
-	addl	%edi,%eax
-	xorl	%edx,%esi
-	shrdl	$7,%ecx,%ecx
-	addl	%ebx,%eax
-	addl	24(%rsp),%ebp
-	xorl	%ecx,%esi
-	movl	%eax,%edi
-	shldl	$5,%eax,%eax
-	addl	%esi,%ebp
-	xorl	%ecx,%edi
-	shrdl	$7,%ebx,%ebx
-	addl	%eax,%ebp
-	addl	28(%rsp),%edx
-	xorl	%ebx,%edi
-	movl	%ebp,%esi
-	shldl	$5,%ebp,%ebp
-	addl	%edi,%edx
-	xorl	%ebx,%esi
-	shrdl	$7,%eax,%eax
-	addl	%ebp,%edx
-	addl	32(%rsp),%ecx
-	xorl	%eax,%esi
-	movl	%edx,%edi
-	shldl	$5,%edx,%edx
-	addl	%esi,%ecx
-	xorl	%eax,%edi
-	shrdl	$7,%ebp,%ebp
-	addl	%edx,%ecx
-	addl	36(%rsp),%ebx
-	xorl	%ebp,%edi
-	movl	%ecx,%esi
-	shldl	$5,%ecx,%ecx
-	addl	%edi,%ebx
-	xorl	%ebp,%esi
-	shrdl	$7,%edx,%edx
-	addl	%ecx,%ebx
-	addl	40(%rsp),%eax
-	xorl	%edx,%esi
-	movl	%ebx,%edi
-	shldl	$5,%ebx,%ebx
-	addl	%esi,%eax
-	xorl	%edx,%edi
-	shrdl	$7,%ecx,%ecx
-	addl	%ebx,%eax
-	addl	44(%rsp),%ebp
-	xorl	%ecx,%edi
-	movl	%eax,%esi
-	shldl	$5,%eax,%eax
-	addl	%edi,%ebp
-	xorl	%ecx,%esi
-	shrdl	$7,%ebx,%ebx
-	addl	%eax,%ebp
-	addl	48(%rsp),%edx
-	xorl	%ebx,%esi
-	movl	%ebp,%edi
-	shldl	$5,%ebp,%ebp
-	addl	%esi,%edx
-	xorl	%ebx,%edi
-	shrdl	$7,%eax,%eax
-	addl	%ebp,%edx
-	addl	52(%rsp),%ecx
-	xorl	%eax,%edi
-	movl	%edx,%esi
-	shldl	$5,%edx,%edx
-	addl	%edi,%ecx
-	xorl	%eax,%esi
-	shrdl	$7,%ebp,%ebp
-	addl	%edx,%ecx
-	addl	56(%rsp),%ebx
-	xorl	%ebp,%esi
-	movl	%ecx,%edi
-	shldl	$5,%ecx,%ecx
-	addl	%esi,%ebx
-	xorl	%ebp,%edi
-	shrdl	$7,%edx,%edx
-	addl	%ecx,%ebx
-	addl	60(%rsp),%eax
-	xorl	%edx,%edi
-	movl	%ebx,%esi
-	shldl	$5,%ebx,%ebx
-	addl	%edi,%eax
-	shrdl	$7,%ecx,%ecx
-	addl	%ebx,%eax
-	vzeroupper
-
-	addl	0(%r8),%eax
-	addl	4(%r8),%esi
-	addl	8(%r8),%ecx
-	movl	%eax,0(%r8)
-	addl	12(%r8),%edx
-	movl	%esi,4(%r8)
-	addl	16(%r8),%ebp
-	movl	%ecx,8(%r8)
-	movl	%edx,12(%r8)
-	movl	%ebp,16(%r8)
-	movq	-40(%r11),%r14
-	movq	-32(%r11),%r13
-	movq	-24(%r11),%r12
-	movq	-16(%r11),%rbp
-	movq	-8(%r11),%rbx
-	leaq	(%r11),%rsp
-L$epilogue_avx:
-	.byte	0xf3,0xc3
-
-.p2align	6
-K_XX_XX:
-.long	0x5a827999,0x5a827999,0x5a827999,0x5a827999
-.long	0x5a827999,0x5a827999,0x5a827999,0x5a827999
-.long	0x6ed9eba1,0x6ed9eba1,0x6ed9eba1,0x6ed9eba1
-.long	0x6ed9eba1,0x6ed9eba1,0x6ed9eba1,0x6ed9eba1
-.long	0x8f1bbcdc,0x8f1bbcdc,0x8f1bbcdc,0x8f1bbcdc
-.long	0x8f1bbcdc,0x8f1bbcdc,0x8f1bbcdc,0x8f1bbcdc
-.long	0xca62c1d6,0xca62c1d6,0xca62c1d6,0xca62c1d6
-.long	0xca62c1d6,0xca62c1d6,0xca62c1d6,0xca62c1d6
-.long	0x00010203,0x04050607,0x08090a0b,0x0c0d0e0f
-.long	0x00010203,0x04050607,0x08090a0b,0x0c0d0e0f
-.byte	0xf,0xe,0xd,0xc,0xb,0xa,0x9,0x8,0x7,0x6,0x5,0x4,0x3,0x2,0x1,0x0
-.byte	83,72,65,49,32,98,108,111,99,107,32,116,114,97,110,115,102,111,114,109,32,102,111,114,32,120,56,54,95,54,52,44,32,67,82,89,80,84,79,71,65,77,83,32,98,121,32,60,97,112,112,114,111,64,111,112,101,110,115,115,108,46,111,114,103,62,0
-.p2align	6
-#endif
diff --git a/third_party/boringssl/mac-x86_64/crypto/sha/sha256-x86_64.S b/third_party/boringssl/mac-x86_64/crypto/sha/sha256-x86_64.S
deleted file mode 100644
index ac6559e..0000000
--- a/third_party/boringssl/mac-x86_64/crypto/sha/sha256-x86_64.S
+++ /dev/null
@@ -1,3905 +0,0 @@
-#if defined(__x86_64__) && !defined(OPENSSL_NO_ASM)
-.text	
-
-
-.globl	_sha256_block_data_order
-.private_extern _sha256_block_data_order
-
-.p2align	4
-_sha256_block_data_order:
-	leaq	_OPENSSL_ia32cap_P(%rip),%r11
-	movl	0(%r11),%r9d
-	movl	4(%r11),%r10d
-	movl	8(%r11),%r11d
-	andl	$1073741824,%r9d
-	andl	$268435968,%r10d
-	orl	%r9d,%r10d
-	cmpl	$1342177792,%r10d
-	je	L$avx_shortcut
-	testl	$512,%r10d
-	jnz	L$ssse3_shortcut
-	movq	%rsp,%rax
-	pushq	%rbx
-	pushq	%rbp
-	pushq	%r12
-	pushq	%r13
-	pushq	%r14
-	pushq	%r15
-	shlq	$4,%rdx
-	subq	$64+32,%rsp
-	leaq	(%rsi,%rdx,4),%rdx
-	andq	$-64,%rsp
-	movq	%rdi,64+0(%rsp)
-	movq	%rsi,64+8(%rsp)
-	movq	%rdx,64+16(%rsp)
-	movq	%rax,64+24(%rsp)
-L$prologue:
-
-	movl	0(%rdi),%eax
-	movl	4(%rdi),%ebx
-	movl	8(%rdi),%ecx
-	movl	12(%rdi),%edx
-	movl	16(%rdi),%r8d
-	movl	20(%rdi),%r9d
-	movl	24(%rdi),%r10d
-	movl	28(%rdi),%r11d
-	jmp	L$loop
-
-.p2align	4
-L$loop:
-	movl	%ebx,%edi
-	leaq	K256(%rip),%rbp
-	xorl	%ecx,%edi
-	movl	0(%rsi),%r12d
-	movl	%r8d,%r13d
-	movl	%eax,%r14d
-	bswapl	%r12d
-	rorl	$14,%r13d
-	movl	%r9d,%r15d
-
-	xorl	%r8d,%r13d
-	rorl	$9,%r14d
-	xorl	%r10d,%r15d
-
-	movl	%r12d,0(%rsp)
-	xorl	%eax,%r14d
-	andl	%r8d,%r15d
-
-	rorl	$5,%r13d
-	addl	%r11d,%r12d
-	xorl	%r10d,%r15d
-
-	rorl	$11,%r14d
-	xorl	%r8d,%r13d
-	addl	%r15d,%r12d
-
-	movl	%eax,%r15d
-	addl	(%rbp),%r12d
-	xorl	%eax,%r14d
-
-	xorl	%ebx,%r15d
-	rorl	$6,%r13d
-	movl	%ebx,%r11d
-
-	andl	%r15d,%edi
-	rorl	$2,%r14d
-	addl	%r13d,%r12d
-
-	xorl	%edi,%r11d
-	addl	%r12d,%edx
-	addl	%r12d,%r11d
-
-	leaq	4(%rbp),%rbp
-	addl	%r14d,%r11d
-	movl	4(%rsi),%r12d
-	movl	%edx,%r13d
-	movl	%r11d,%r14d
-	bswapl	%r12d
-	rorl	$14,%r13d
-	movl	%r8d,%edi
-
-	xorl	%edx,%r13d
-	rorl	$9,%r14d
-	xorl	%r9d,%edi
-
-	movl	%r12d,4(%rsp)
-	xorl	%r11d,%r14d
-	andl	%edx,%edi
-
-	rorl	$5,%r13d
-	addl	%r10d,%r12d
-	xorl	%r9d,%edi
-
-	rorl	$11,%r14d
-	xorl	%edx,%r13d
-	addl	%edi,%r12d
-
-	movl	%r11d,%edi
-	addl	(%rbp),%r12d
-	xorl	%r11d,%r14d
-
-	xorl	%eax,%edi
-	rorl	$6,%r13d
-	movl	%eax,%r10d
-
-	andl	%edi,%r15d
-	rorl	$2,%r14d
-	addl	%r13d,%r12d
-
-	xorl	%r15d,%r10d
-	addl	%r12d,%ecx
-	addl	%r12d,%r10d
-
-	leaq	4(%rbp),%rbp
-	addl	%r14d,%r10d
-	movl	8(%rsi),%r12d
-	movl	%ecx,%r13d
-	movl	%r10d,%r14d
-	bswapl	%r12d
-	rorl	$14,%r13d
-	movl	%edx,%r15d
-
-	xorl	%ecx,%r13d
-	rorl	$9,%r14d
-	xorl	%r8d,%r15d
-
-	movl	%r12d,8(%rsp)
-	xorl	%r10d,%r14d
-	andl	%ecx,%r15d
-
-	rorl	$5,%r13d
-	addl	%r9d,%r12d
-	xorl	%r8d,%r15d
-
-	rorl	$11,%r14d
-	xorl	%ecx,%r13d
-	addl	%r15d,%r12d
-
-	movl	%r10d,%r15d
-	addl	(%rbp),%r12d
-	xorl	%r10d,%r14d
-
-	xorl	%r11d,%r15d
-	rorl	$6,%r13d
-	movl	%r11d,%r9d
-
-	andl	%r15d,%edi
-	rorl	$2,%r14d
-	addl	%r13d,%r12d
-
-	xorl	%edi,%r9d
-	addl	%r12d,%ebx
-	addl	%r12d,%r9d
-
-	leaq	4(%rbp),%rbp
-	addl	%r14d,%r9d
-	movl	12(%rsi),%r12d
-	movl	%ebx,%r13d
-	movl	%r9d,%r14d
-	bswapl	%r12d
-	rorl	$14,%r13d
-	movl	%ecx,%edi
-
-	xorl	%ebx,%r13d
-	rorl	$9,%r14d
-	xorl	%edx,%edi
-
-	movl	%r12d,12(%rsp)
-	xorl	%r9d,%r14d
-	andl	%ebx,%edi
-
-	rorl	$5,%r13d
-	addl	%r8d,%r12d
-	xorl	%edx,%edi
-
-	rorl	$11,%r14d
-	xorl	%ebx,%r13d
-	addl	%edi,%r12d
-
-	movl	%r9d,%edi
-	addl	(%rbp),%r12d
-	xorl	%r9d,%r14d
-
-	xorl	%r10d,%edi
-	rorl	$6,%r13d
-	movl	%r10d,%r8d
-
-	andl	%edi,%r15d
-	rorl	$2,%r14d
-	addl	%r13d,%r12d
-
-	xorl	%r15d,%r8d
-	addl	%r12d,%eax
-	addl	%r12d,%r8d
-
-	leaq	20(%rbp),%rbp
-	addl	%r14d,%r8d
-	movl	16(%rsi),%r12d
-	movl	%eax,%r13d
-	movl	%r8d,%r14d
-	bswapl	%r12d
-	rorl	$14,%r13d
-	movl	%ebx,%r15d
-
-	xorl	%eax,%r13d
-	rorl	$9,%r14d
-	xorl	%ecx,%r15d
-
-	movl	%r12d,16(%rsp)
-	xorl	%r8d,%r14d
-	andl	%eax,%r15d
-
-	rorl	$5,%r13d
-	addl	%edx,%r12d
-	xorl	%ecx,%r15d
-
-	rorl	$11,%r14d
-	xorl	%eax,%r13d
-	addl	%r15d,%r12d
-
-	movl	%r8d,%r15d
-	addl	(%rbp),%r12d
-	xorl	%r8d,%r14d
-
-	xorl	%r9d,%r15d
-	rorl	$6,%r13d
-	movl	%r9d,%edx
-
-	andl	%r15d,%edi
-	rorl	$2,%r14d
-	addl	%r13d,%r12d
-
-	xorl	%edi,%edx
-	addl	%r12d,%r11d
-	addl	%r12d,%edx
-
-	leaq	4(%rbp),%rbp
-	addl	%r14d,%edx
-	movl	20(%rsi),%r12d
-	movl	%r11d,%r13d
-	movl	%edx,%r14d
-	bswapl	%r12d
-	rorl	$14,%r13d
-	movl	%eax,%edi
-
-	xorl	%r11d,%r13d
-	rorl	$9,%r14d
-	xorl	%ebx,%edi
-
-	movl	%r12d,20(%rsp)
-	xorl	%edx,%r14d
-	andl	%r11d,%edi
-
-	rorl	$5,%r13d
-	addl	%ecx,%r12d
-	xorl	%ebx,%edi
-
-	rorl	$11,%r14d
-	xorl	%r11d,%r13d
-	addl	%edi,%r12d
-
-	movl	%edx,%edi
-	addl	(%rbp),%r12d
-	xorl	%edx,%r14d
-
-	xorl	%r8d,%edi
-	rorl	$6,%r13d
-	movl	%r8d,%ecx
-
-	andl	%edi,%r15d
-	rorl	$2,%r14d
-	addl	%r13d,%r12d
-
-	xorl	%r15d,%ecx
-	addl	%r12d,%r10d
-	addl	%r12d,%ecx
-
-	leaq	4(%rbp),%rbp
-	addl	%r14d,%ecx
-	movl	24(%rsi),%r12d
-	movl	%r10d,%r13d
-	movl	%ecx,%r14d
-	bswapl	%r12d
-	rorl	$14,%r13d
-	movl	%r11d,%r15d
-
-	xorl	%r10d,%r13d
-	rorl	$9,%r14d
-	xorl	%eax,%r15d
-
-	movl	%r12d,24(%rsp)
-	xorl	%ecx,%r14d
-	andl	%r10d,%r15d
-
-	rorl	$5,%r13d
-	addl	%ebx,%r12d
-	xorl	%eax,%r15d
-
-	rorl	$11,%r14d
-	xorl	%r10d,%r13d
-	addl	%r15d,%r12d
-
-	movl	%ecx,%r15d
-	addl	(%rbp),%r12d
-	xorl	%ecx,%r14d
-
-	xorl	%edx,%r15d
-	rorl	$6,%r13d
-	movl	%edx,%ebx
-
-	andl	%r15d,%edi
-	rorl	$2,%r14d
-	addl	%r13d,%r12d
-
-	xorl	%edi,%ebx
-	addl	%r12d,%r9d
-	addl	%r12d,%ebx
-
-	leaq	4(%rbp),%rbp
-	addl	%r14d,%ebx
-	movl	28(%rsi),%r12d
-	movl	%r9d,%r13d
-	movl	%ebx,%r14d
-	bswapl	%r12d
-	rorl	$14,%r13d
-	movl	%r10d,%edi
-
-	xorl	%r9d,%r13d
-	rorl	$9,%r14d
-	xorl	%r11d,%edi
-
-	movl	%r12d,28(%rsp)
-	xorl	%ebx,%r14d
-	andl	%r9d,%edi
-
-	rorl	$5,%r13d
-	addl	%eax,%r12d
-	xorl	%r11d,%edi
-
-	rorl	$11,%r14d
-	xorl	%r9d,%r13d
-	addl	%edi,%r12d
-
-	movl	%ebx,%edi
-	addl	(%rbp),%r12d
-	xorl	%ebx,%r14d
-
-	xorl	%ecx,%edi
-	rorl	$6,%r13d
-	movl	%ecx,%eax
-
-	andl	%edi,%r15d
-	rorl	$2,%r14d
-	addl	%r13d,%r12d
-
-	xorl	%r15d,%eax
-	addl	%r12d,%r8d
-	addl	%r12d,%eax
-
-	leaq	20(%rbp),%rbp
-	addl	%r14d,%eax
-	movl	32(%rsi),%r12d
-	movl	%r8d,%r13d
-	movl	%eax,%r14d
-	bswapl	%r12d
-	rorl	$14,%r13d
-	movl	%r9d,%r15d
-
-	xorl	%r8d,%r13d
-	rorl	$9,%r14d
-	xorl	%r10d,%r15d
-
-	movl	%r12d,32(%rsp)
-	xorl	%eax,%r14d
-	andl	%r8d,%r15d
-
-	rorl	$5,%r13d
-	addl	%r11d,%r12d
-	xorl	%r10d,%r15d
-
-	rorl	$11,%r14d
-	xorl	%r8d,%r13d
-	addl	%r15d,%r12d
-
-	movl	%eax,%r15d
-	addl	(%rbp),%r12d
-	xorl	%eax,%r14d
-
-	xorl	%ebx,%r15d
-	rorl	$6,%r13d
-	movl	%ebx,%r11d
-
-	andl	%r15d,%edi
-	rorl	$2,%r14d
-	addl	%r13d,%r12d
-
-	xorl	%edi,%r11d
-	addl	%r12d,%edx
-	addl	%r12d,%r11d
-
-	leaq	4(%rbp),%rbp
-	addl	%r14d,%r11d
-	movl	36(%rsi),%r12d
-	movl	%edx,%r13d
-	movl	%r11d,%r14d
-	bswapl	%r12d
-	rorl	$14,%r13d
-	movl	%r8d,%edi
-
-	xorl	%edx,%r13d
-	rorl	$9,%r14d
-	xorl	%r9d,%edi
-
-	movl	%r12d,36(%rsp)
-	xorl	%r11d,%r14d
-	andl	%edx,%edi
-
-	rorl	$5,%r13d
-	addl	%r10d,%r12d
-	xorl	%r9d,%edi
-
-	rorl	$11,%r14d
-	xorl	%edx,%r13d
-	addl	%edi,%r12d
-
-	movl	%r11d,%edi
-	addl	(%rbp),%r12d
-	xorl	%r11d,%r14d
-
-	xorl	%eax,%edi
-	rorl	$6,%r13d
-	movl	%eax,%r10d
-
-	andl	%edi,%r15d
-	rorl	$2,%r14d
-	addl	%r13d,%r12d
-
-	xorl	%r15d,%r10d
-	addl	%r12d,%ecx
-	addl	%r12d,%r10d
-
-	leaq	4(%rbp),%rbp
-	addl	%r14d,%r10d
-	movl	40(%rsi),%r12d
-	movl	%ecx,%r13d
-	movl	%r10d,%r14d
-	bswapl	%r12d
-	rorl	$14,%r13d
-	movl	%edx,%r15d
-
-	xorl	%ecx,%r13d
-	rorl	$9,%r14d
-	xorl	%r8d,%r15d
-
-	movl	%r12d,40(%rsp)
-	xorl	%r10d,%r14d
-	andl	%ecx,%r15d
-
-	rorl	$5,%r13d
-	addl	%r9d,%r12d
-	xorl	%r8d,%r15d
-
-	rorl	$11,%r14d
-	xorl	%ecx,%r13d
-	addl	%r15d,%r12d
-
-	movl	%r10d,%r15d
-	addl	(%rbp),%r12d
-	xorl	%r10d,%r14d
-
-	xorl	%r11d,%r15d
-	rorl	$6,%r13d
-	movl	%r11d,%r9d
-
-	andl	%r15d,%edi
-	rorl	$2,%r14d
-	addl	%r13d,%r12d
-
-	xorl	%edi,%r9d
-	addl	%r12d,%ebx
-	addl	%r12d,%r9d
-
-	leaq	4(%rbp),%rbp
-	addl	%r14d,%r9d
-	movl	44(%rsi),%r12d
-	movl	%ebx,%r13d
-	movl	%r9d,%r14d
-	bswapl	%r12d
-	rorl	$14,%r13d
-	movl	%ecx,%edi
-
-	xorl	%ebx,%r13d
-	rorl	$9,%r14d
-	xorl	%edx,%edi
-
-	movl	%r12d,44(%rsp)
-	xorl	%r9d,%r14d
-	andl	%ebx,%edi
-
-	rorl	$5,%r13d
-	addl	%r8d,%r12d
-	xorl	%edx,%edi
-
-	rorl	$11,%r14d
-	xorl	%ebx,%r13d
-	addl	%edi,%r12d
-
-	movl	%r9d,%edi
-	addl	(%rbp),%r12d
-	xorl	%r9d,%r14d
-
-	xorl	%r10d,%edi
-	rorl	$6,%r13d
-	movl	%r10d,%r8d
-
-	andl	%edi,%r15d
-	rorl	$2,%r14d
-	addl	%r13d,%r12d
-
-	xorl	%r15d,%r8d
-	addl	%r12d,%eax
-	addl	%r12d,%r8d
-
-	leaq	20(%rbp),%rbp
-	addl	%r14d,%r8d
-	movl	48(%rsi),%r12d
-	movl	%eax,%r13d
-	movl	%r8d,%r14d
-	bswapl	%r12d
-	rorl	$14,%r13d
-	movl	%ebx,%r15d
-
-	xorl	%eax,%r13d
-	rorl	$9,%r14d
-	xorl	%ecx,%r15d
-
-	movl	%r12d,48(%rsp)
-	xorl	%r8d,%r14d
-	andl	%eax,%r15d
-
-	rorl	$5,%r13d
-	addl	%edx,%r12d
-	xorl	%ecx,%r15d
-
-	rorl	$11,%r14d
-	xorl	%eax,%r13d
-	addl	%r15d,%r12d
-
-	movl	%r8d,%r15d
-	addl	(%rbp),%r12d
-	xorl	%r8d,%r14d
-
-	xorl	%r9d,%r15d
-	rorl	$6,%r13d
-	movl	%r9d,%edx
-
-	andl	%r15d,%edi
-	rorl	$2,%r14d
-	addl	%r13d,%r12d
-
-	xorl	%edi,%edx
-	addl	%r12d,%r11d
-	addl	%r12d,%edx
-
-	leaq	4(%rbp),%rbp
-	addl	%r14d,%edx
-	movl	52(%rsi),%r12d
-	movl	%r11d,%r13d
-	movl	%edx,%r14d
-	bswapl	%r12d
-	rorl	$14,%r13d
-	movl	%eax,%edi
-
-	xorl	%r11d,%r13d
-	rorl	$9,%r14d
-	xorl	%ebx,%edi
-
-	movl	%r12d,52(%rsp)
-	xorl	%edx,%r14d
-	andl	%r11d,%edi
-
-	rorl	$5,%r13d
-	addl	%ecx,%r12d
-	xorl	%ebx,%edi
-
-	rorl	$11,%r14d
-	xorl	%r11d,%r13d
-	addl	%edi,%r12d
-
-	movl	%edx,%edi
-	addl	(%rbp),%r12d
-	xorl	%edx,%r14d
-
-	xorl	%r8d,%edi
-	rorl	$6,%r13d
-	movl	%r8d,%ecx
-
-	andl	%edi,%r15d
-	rorl	$2,%r14d
-	addl	%r13d,%r12d
-
-	xorl	%r15d,%ecx
-	addl	%r12d,%r10d
-	addl	%r12d,%ecx
-
-	leaq	4(%rbp),%rbp
-	addl	%r14d,%ecx
-	movl	56(%rsi),%r12d
-	movl	%r10d,%r13d
-	movl	%ecx,%r14d
-	bswapl	%r12d
-	rorl	$14,%r13d
-	movl	%r11d,%r15d
-
-	xorl	%r10d,%r13d
-	rorl	$9,%r14d
-	xorl	%eax,%r15d
-
-	movl	%r12d,56(%rsp)
-	xorl	%ecx,%r14d
-	andl	%r10d,%r15d
-
-	rorl	$5,%r13d
-	addl	%ebx,%r12d
-	xorl	%eax,%r15d
-
-	rorl	$11,%r14d
-	xorl	%r10d,%r13d
-	addl	%r15d,%r12d
-
-	movl	%ecx,%r15d
-	addl	(%rbp),%r12d
-	xorl	%ecx,%r14d
-
-	xorl	%edx,%r15d
-	rorl	$6,%r13d
-	movl	%edx,%ebx
-
-	andl	%r15d,%edi
-	rorl	$2,%r14d
-	addl	%r13d,%r12d
-
-	xorl	%edi,%ebx
-	addl	%r12d,%r9d
-	addl	%r12d,%ebx
-
-	leaq	4(%rbp),%rbp
-	addl	%r14d,%ebx
-	movl	60(%rsi),%r12d
-	movl	%r9d,%r13d
-	movl	%ebx,%r14d
-	bswapl	%r12d
-	rorl	$14,%r13d
-	movl	%r10d,%edi
-
-	xorl	%r9d,%r13d
-	rorl	$9,%r14d
-	xorl	%r11d,%edi
-
-	movl	%r12d,60(%rsp)
-	xorl	%ebx,%r14d
-	andl	%r9d,%edi
-
-	rorl	$5,%r13d
-	addl	%eax,%r12d
-	xorl	%r11d,%edi
-
-	rorl	$11,%r14d
-	xorl	%r9d,%r13d
-	addl	%edi,%r12d
-
-	movl	%ebx,%edi
-	addl	(%rbp),%r12d
-	xorl	%ebx,%r14d
-
-	xorl	%ecx,%edi
-	rorl	$6,%r13d
-	movl	%ecx,%eax
-
-	andl	%edi,%r15d
-	rorl	$2,%r14d
-	addl	%r13d,%r12d
-
-	xorl	%r15d,%eax
-	addl	%r12d,%r8d
-	addl	%r12d,%eax
-
-	leaq	20(%rbp),%rbp
-	jmp	L$rounds_16_xx
-.p2align	4
-L$rounds_16_xx:
-	movl	4(%rsp),%r13d
-	movl	56(%rsp),%r15d
-
-	movl	%r13d,%r12d
-	rorl	$11,%r13d
-	addl	%r14d,%eax
-	movl	%r15d,%r14d
-	rorl	$2,%r15d
-
-	xorl	%r12d,%r13d
-	shrl	$3,%r12d
-	rorl	$7,%r13d
-	xorl	%r14d,%r15d
-	shrl	$10,%r14d
-
-	rorl	$17,%r15d
-	xorl	%r13d,%r12d
-	xorl	%r14d,%r15d
-	addl	36(%rsp),%r12d
-
-	addl	0(%rsp),%r12d
-	movl	%r8d,%r13d
-	addl	%r15d,%r12d
-	movl	%eax,%r14d
-	rorl	$14,%r13d
-	movl	%r9d,%r15d
-
-	xorl	%r8d,%r13d
-	rorl	$9,%r14d
-	xorl	%r10d,%r15d
-
-	movl	%r12d,0(%rsp)
-	xorl	%eax,%r14d
-	andl	%r8d,%r15d
-
-	rorl	$5,%r13d
-	addl	%r11d,%r12d
-	xorl	%r10d,%r15d
-
-	rorl	$11,%r14d
-	xorl	%r8d,%r13d
-	addl	%r15d,%r12d
-
-	movl	%eax,%r15d
-	addl	(%rbp),%r12d
-	xorl	%eax,%r14d
-
-	xorl	%ebx,%r15d
-	rorl	$6,%r13d
-	movl	%ebx,%r11d
-
-	andl	%r15d,%edi
-	rorl	$2,%r14d
-	addl	%r13d,%r12d
-
-	xorl	%edi,%r11d
-	addl	%r12d,%edx
-	addl	%r12d,%r11d
-
-	leaq	4(%rbp),%rbp
-	movl	8(%rsp),%r13d
-	movl	60(%rsp),%edi
-
-	movl	%r13d,%r12d
-	rorl	$11,%r13d
-	addl	%r14d,%r11d
-	movl	%edi,%r14d
-	rorl	$2,%edi
-
-	xorl	%r12d,%r13d
-	shrl	$3,%r12d
-	rorl	$7,%r13d
-	xorl	%r14d,%edi
-	shrl	$10,%r14d
-
-	rorl	$17,%edi
-	xorl	%r13d,%r12d
-	xorl	%r14d,%edi
-	addl	40(%rsp),%r12d
-
-	addl	4(%rsp),%r12d
-	movl	%edx,%r13d
-	addl	%edi,%r12d
-	movl	%r11d,%r14d
-	rorl	$14,%r13d
-	movl	%r8d,%edi
-
-	xorl	%edx,%r13d
-	rorl	$9,%r14d
-	xorl	%r9d,%edi
-
-	movl	%r12d,4(%rsp)
-	xorl	%r11d,%r14d
-	andl	%edx,%edi
-
-	rorl	$5,%r13d
-	addl	%r10d,%r12d
-	xorl	%r9d,%edi
-
-	rorl	$11,%r14d
-	xorl	%edx,%r13d
-	addl	%edi,%r12d
-
-	movl	%r11d,%edi
-	addl	(%rbp),%r12d
-	xorl	%r11d,%r14d
-
-	xorl	%eax,%edi
-	rorl	$6,%r13d
-	movl	%eax,%r10d
-
-	andl	%edi,%r15d
-	rorl	$2,%r14d
-	addl	%r13d,%r12d
-
-	xorl	%r15d,%r10d
-	addl	%r12d,%ecx
-	addl	%r12d,%r10d
-
-	leaq	4(%rbp),%rbp
-	movl	12(%rsp),%r13d
-	movl	0(%rsp),%r15d
-
-	movl	%r13d,%r12d
-	rorl	$11,%r13d
-	addl	%r14d,%r10d
-	movl	%r15d,%r14d
-	rorl	$2,%r15d
-
-	xorl	%r12d,%r13d
-	shrl	$3,%r12d
-	rorl	$7,%r13d
-	xorl	%r14d,%r15d
-	shrl	$10,%r14d
-
-	rorl	$17,%r15d
-	xorl	%r13d,%r12d
-	xorl	%r14d,%r15d
-	addl	44(%rsp),%r12d
-
-	addl	8(%rsp),%r12d
-	movl	%ecx,%r13d
-	addl	%r15d,%r12d
-	movl	%r10d,%r14d
-	rorl	$14,%r13d
-	movl	%edx,%r15d
-
-	xorl	%ecx,%r13d
-	rorl	$9,%r14d
-	xorl	%r8d,%r15d
-
-	movl	%r12d,8(%rsp)
-	xorl	%r10d,%r14d
-	andl	%ecx,%r15d
-
-	rorl	$5,%r13d
-	addl	%r9d,%r12d
-	xorl	%r8d,%r15d
-
-	rorl	$11,%r14d
-	xorl	%ecx,%r13d
-	addl	%r15d,%r12d
-
-	movl	%r10d,%r15d
-	addl	(%rbp),%r12d
-	xorl	%r10d,%r14d
-
-	xorl	%r11d,%r15d
-	rorl	$6,%r13d
-	movl	%r11d,%r9d
-
-	andl	%r15d,%edi
-	rorl	$2,%r14d
-	addl	%r13d,%r12d
-
-	xorl	%edi,%r9d
-	addl	%r12d,%ebx
-	addl	%r12d,%r9d
-
-	leaq	4(%rbp),%rbp
-	movl	16(%rsp),%r13d
-	movl	4(%rsp),%edi
-
-	movl	%r13d,%r12d
-	rorl	$11,%r13d
-	addl	%r14d,%r9d
-	movl	%edi,%r14d
-	rorl	$2,%edi
-
-	xorl	%r12d,%r13d
-	shrl	$3,%r12d
-	rorl	$7,%r13d
-	xorl	%r14d,%edi
-	shrl	$10,%r14d
-
-	rorl	$17,%edi
-	xorl	%r13d,%r12d
-	xorl	%r14d,%edi
-	addl	48(%rsp),%r12d
-
-	addl	12(%rsp),%r12d
-	movl	%ebx,%r13d
-	addl	%edi,%r12d
-	movl	%r9d,%r14d
-	rorl	$14,%r13d
-	movl	%ecx,%edi
-
-	xorl	%ebx,%r13d
-	rorl	$9,%r14d
-	xorl	%edx,%edi
-
-	movl	%r12d,12(%rsp)
-	xorl	%r9d,%r14d
-	andl	%ebx,%edi
-
-	rorl	$5,%r13d
-	addl	%r8d,%r12d
-	xorl	%edx,%edi
-
-	rorl	$11,%r14d
-	xorl	%ebx,%r13d
-	addl	%edi,%r12d
-
-	movl	%r9d,%edi
-	addl	(%rbp),%r12d
-	xorl	%r9d,%r14d
-
-	xorl	%r10d,%edi
-	rorl	$6,%r13d
-	movl	%r10d,%r8d
-
-	andl	%edi,%r15d
-	rorl	$2,%r14d
-	addl	%r13d,%r12d
-
-	xorl	%r15d,%r8d
-	addl	%r12d,%eax
-	addl	%r12d,%r8d
-
-	leaq	20(%rbp),%rbp
-	movl	20(%rsp),%r13d
-	movl	8(%rsp),%r15d
-
-	movl	%r13d,%r12d
-	rorl	$11,%r13d
-	addl	%r14d,%r8d
-	movl	%r15d,%r14d
-	rorl	$2,%r15d
-
-	xorl	%r12d,%r13d
-	shrl	$3,%r12d
-	rorl	$7,%r13d
-	xorl	%r14d,%r15d
-	shrl	$10,%r14d
-
-	rorl	$17,%r15d
-	xorl	%r13d,%r12d
-	xorl	%r14d,%r15d
-	addl	52(%rsp),%r12d
-
-	addl	16(%rsp),%r12d
-	movl	%eax,%r13d
-	addl	%r15d,%r12d
-	movl	%r8d,%r14d
-	rorl	$14,%r13d
-	movl	%ebx,%r15d
-
-	xorl	%eax,%r13d
-	rorl	$9,%r14d
-	xorl	%ecx,%r15d
-
-	movl	%r12d,16(%rsp)
-	xorl	%r8d,%r14d
-	andl	%eax,%r15d
-
-	rorl	$5,%r13d
-	addl	%edx,%r12d
-	xorl	%ecx,%r15d
-
-	rorl	$11,%r14d
-	xorl	%eax,%r13d
-	addl	%r15d,%r12d
-
-	movl	%r8d,%r15d
-	addl	(%rbp),%r12d
-	xorl	%r8d,%r14d
-
-	xorl	%r9d,%r15d
-	rorl	$6,%r13d
-	movl	%r9d,%edx
-
-	andl	%r15d,%edi
-	rorl	$2,%r14d
-	addl	%r13d,%r12d
-
-	xorl	%edi,%edx
-	addl	%r12d,%r11d
-	addl	%r12d,%edx
-
-	leaq	4(%rbp),%rbp
-	movl	24(%rsp),%r13d
-	movl	12(%rsp),%edi
-
-	movl	%r13d,%r12d
-	rorl	$11,%r13d
-	addl	%r14d,%edx
-	movl	%edi,%r14d
-	rorl	$2,%edi
-
-	xorl	%r12d,%r13d
-	shrl	$3,%r12d
-	rorl	$7,%r13d
-	xorl	%r14d,%edi
-	shrl	$10,%r14d
-
-	rorl	$17,%edi
-	xorl	%r13d,%r12d
-	xorl	%r14d,%edi
-	addl	56(%rsp),%r12d
-
-	addl	20(%rsp),%r12d
-	movl	%r11d,%r13d
-	addl	%edi,%r12d
-	movl	%edx,%r14d
-	rorl	$14,%r13d
-	movl	%eax,%edi
-
-	xorl	%r11d,%r13d
-	rorl	$9,%r14d
-	xorl	%ebx,%edi
-
-	movl	%r12d,20(%rsp)
-	xorl	%edx,%r14d
-	andl	%r11d,%edi
-
-	rorl	$5,%r13d
-	addl	%ecx,%r12d
-	xorl	%ebx,%edi
-
-	rorl	$11,%r14d
-	xorl	%r11d,%r13d
-	addl	%edi,%r12d
-
-	movl	%edx,%edi
-	addl	(%rbp),%r12d
-	xorl	%edx,%r14d
-
-	xorl	%r8d,%edi
-	rorl	$6,%r13d
-	movl	%r8d,%ecx
-
-	andl	%edi,%r15d
-	rorl	$2,%r14d
-	addl	%r13d,%r12d
-
-	xorl	%r15d,%ecx
-	addl	%r12d,%r10d
-	addl	%r12d,%ecx
-
-	leaq	4(%rbp),%rbp
-	movl	28(%rsp),%r13d
-	movl	16(%rsp),%r15d
-
-	movl	%r13d,%r12d
-	rorl	$11,%r13d
-	addl	%r14d,%ecx
-	movl	%r15d,%r14d
-	rorl	$2,%r15d
-
-	xorl	%r12d,%r13d
-	shrl	$3,%r12d
-	rorl	$7,%r13d
-	xorl	%r14d,%r15d
-	shrl	$10,%r14d
-
-	rorl	$17,%r15d
-	xorl	%r13d,%r12d
-	xorl	%r14d,%r15d
-	addl	60(%rsp),%r12d
-
-	addl	24(%rsp),%r12d
-	movl	%r10d,%r13d
-	addl	%r15d,%r12d
-	movl	%ecx,%r14d
-	rorl	$14,%r13d
-	movl	%r11d,%r15d
-
-	xorl	%r10d,%r13d
-	rorl	$9,%r14d
-	xorl	%eax,%r15d
-
-	movl	%r12d,24(%rsp)
-	xorl	%ecx,%r14d
-	andl	%r10d,%r15d
-
-	rorl	$5,%r13d
-	addl	%ebx,%r12d
-	xorl	%eax,%r15d
-
-	rorl	$11,%r14d
-	xorl	%r10d,%r13d
-	addl	%r15d,%r12d
-
-	movl	%ecx,%r15d
-	addl	(%rbp),%r12d
-	xorl	%ecx,%r14d
-
-	xorl	%edx,%r15d
-	rorl	$6,%r13d
-	movl	%edx,%ebx
-
-	andl	%r15d,%edi
-	rorl	$2,%r14d
-	addl	%r13d,%r12d
-
-	xorl	%edi,%ebx
-	addl	%r12d,%r9d
-	addl	%r12d,%ebx
-
-	leaq	4(%rbp),%rbp
-	movl	32(%rsp),%r13d
-	movl	20(%rsp),%edi
-
-	movl	%r13d,%r12d
-	rorl	$11,%r13d
-	addl	%r14d,%ebx
-	movl	%edi,%r14d
-	rorl	$2,%edi
-
-	xorl	%r12d,%r13d
-	shrl	$3,%r12d
-	rorl	$7,%r13d
-	xorl	%r14d,%edi
-	shrl	$10,%r14d
-
-	rorl	$17,%edi
-	xorl	%r13d,%r12d
-	xorl	%r14d,%edi
-	addl	0(%rsp),%r12d
-
-	addl	28(%rsp),%r12d
-	movl	%r9d,%r13d
-	addl	%edi,%r12d
-	movl	%ebx,%r14d
-	rorl	$14,%r13d
-	movl	%r10d,%edi
-
-	xorl	%r9d,%r13d
-	rorl	$9,%r14d
-	xorl	%r11d,%edi
-
-	movl	%r12d,28(%rsp)
-	xorl	%ebx,%r14d
-	andl	%r9d,%edi
-
-	rorl	$5,%r13d
-	addl	%eax,%r12d
-	xorl	%r11d,%edi
-
-	rorl	$11,%r14d
-	xorl	%r9d,%r13d
-	addl	%edi,%r12d
-
-	movl	%ebx,%edi
-	addl	(%rbp),%r12d
-	xorl	%ebx,%r14d
-
-	xorl	%ecx,%edi
-	rorl	$6,%r13d
-	movl	%ecx,%eax
-
-	andl	%edi,%r15d
-	rorl	$2,%r14d
-	addl	%r13d,%r12d
-
-	xorl	%r15d,%eax
-	addl	%r12d,%r8d
-	addl	%r12d,%eax
-
-	leaq	20(%rbp),%rbp
-	movl	36(%rsp),%r13d
-	movl	24(%rsp),%r15d
-
-	movl	%r13d,%r12d
-	rorl	$11,%r13d
-	addl	%r14d,%eax
-	movl	%r15d,%r14d
-	rorl	$2,%r15d
-
-	xorl	%r12d,%r13d
-	shrl	$3,%r12d
-	rorl	$7,%r13d
-	xorl	%r14d,%r15d
-	shrl	$10,%r14d
-
-	rorl	$17,%r15d
-	xorl	%r13d,%r12d
-	xorl	%r14d,%r15d
-	addl	4(%rsp),%r12d
-
-	addl	32(%rsp),%r12d
-	movl	%r8d,%r13d
-	addl	%r15d,%r12d
-	movl	%eax,%r14d
-	rorl	$14,%r13d
-	movl	%r9d,%r15d
-
-	xorl	%r8d,%r13d
-	rorl	$9,%r14d
-	xorl	%r10d,%r15d
-
-	movl	%r12d,32(%rsp)
-	xorl	%eax,%r14d
-	andl	%r8d,%r15d
-
-	rorl	$5,%r13d
-	addl	%r11d,%r12d
-	xorl	%r10d,%r15d
-
-	rorl	$11,%r14d
-	xorl	%r8d,%r13d
-	addl	%r15d,%r12d
-
-	movl	%eax,%r15d
-	addl	(%rbp),%r12d
-	xorl	%eax,%r14d
-
-	xorl	%ebx,%r15d
-	rorl	$6,%r13d
-	movl	%ebx,%r11d
-
-	andl	%r15d,%edi
-	rorl	$2,%r14d
-	addl	%r13d,%r12d
-
-	xorl	%edi,%r11d
-	addl	%r12d,%edx
-	addl	%r12d,%r11d
-
-	leaq	4(%rbp),%rbp
-	movl	40(%rsp),%r13d
-	movl	28(%rsp),%edi
-
-	movl	%r13d,%r12d
-	rorl	$11,%r13d
-	addl	%r14d,%r11d
-	movl	%edi,%r14d
-	rorl	$2,%edi
-
-	xorl	%r12d,%r13d
-	shrl	$3,%r12d
-	rorl	$7,%r13d
-	xorl	%r14d,%edi
-	shrl	$10,%r14d
-
-	rorl	$17,%edi
-	xorl	%r13d,%r12d
-	xorl	%r14d,%edi
-	addl	8(%rsp),%r12d
-
-	addl	36(%rsp),%r12d
-	movl	%edx,%r13d
-	addl	%edi,%r12d
-	movl	%r11d,%r14d
-	rorl	$14,%r13d
-	movl	%r8d,%edi
-
-	xorl	%edx,%r13d
-	rorl	$9,%r14d
-	xorl	%r9d,%edi
-
-	movl	%r12d,36(%rsp)
-	xorl	%r11d,%r14d
-	andl	%edx,%edi
-
-	rorl	$5,%r13d
-	addl	%r10d,%r12d
-	xorl	%r9d,%edi
-
-	rorl	$11,%r14d
-	xorl	%edx,%r13d
-	addl	%edi,%r12d
-
-	movl	%r11d,%edi
-	addl	(%rbp),%r12d
-	xorl	%r11d,%r14d
-
-	xorl	%eax,%edi
-	rorl	$6,%r13d
-	movl	%eax,%r10d
-
-	andl	%edi,%r15d
-	rorl	$2,%r14d
-	addl	%r13d,%r12d
-
-	xorl	%r15d,%r10d
-	addl	%r12d,%ecx
-	addl	%r12d,%r10d
-
-	leaq	4(%rbp),%rbp
-	movl	44(%rsp),%r13d
-	movl	32(%rsp),%r15d
-
-	movl	%r13d,%r12d
-	rorl	$11,%r13d
-	addl	%r14d,%r10d
-	movl	%r15d,%r14d
-	rorl	$2,%r15d
-
-	xorl	%r12d,%r13d
-	shrl	$3,%r12d
-	rorl	$7,%r13d
-	xorl	%r14d,%r15d
-	shrl	$10,%r14d
-
-	rorl	$17,%r15d
-	xorl	%r13d,%r12d
-	xorl	%r14d,%r15d
-	addl	12(%rsp),%r12d
-
-	addl	40(%rsp),%r12d
-	movl	%ecx,%r13d
-	addl	%r15d,%r12d
-	movl	%r10d,%r14d
-	rorl	$14,%r13d
-	movl	%edx,%r15d
-
-	xorl	%ecx,%r13d
-	rorl	$9,%r14d
-	xorl	%r8d,%r15d
-
-	movl	%r12d,40(%rsp)
-	xorl	%r10d,%r14d
-	andl	%ecx,%r15d
-
-	rorl	$5,%r13d
-	addl	%r9d,%r12d
-	xorl	%r8d,%r15d
-
-	rorl	$11,%r14d
-	xorl	%ecx,%r13d
-	addl	%r15d,%r12d
-
-	movl	%r10d,%r15d
-	addl	(%rbp),%r12d
-	xorl	%r10d,%r14d
-
-	xorl	%r11d,%r15d
-	rorl	$6,%r13d
-	movl	%r11d,%r9d
-
-	andl	%r15d,%edi
-	rorl	$2,%r14d
-	addl	%r13d,%r12d
-
-	xorl	%edi,%r9d
-	addl	%r12d,%ebx
-	addl	%r12d,%r9d
-
-	leaq	4(%rbp),%rbp
-	movl	48(%rsp),%r13d
-	movl	36(%rsp),%edi
-
-	movl	%r13d,%r12d
-	rorl	$11,%r13d
-	addl	%r14d,%r9d
-	movl	%edi,%r14d
-	rorl	$2,%edi
-
-	xorl	%r12d,%r13d
-	shrl	$3,%r12d
-	rorl	$7,%r13d
-	xorl	%r14d,%edi
-	shrl	$10,%r14d
-
-	rorl	$17,%edi
-	xorl	%r13d,%r12d
-	xorl	%r14d,%edi
-	addl	16(%rsp),%r12d
-
-	addl	44(%rsp),%r12d
-	movl	%ebx,%r13d
-	addl	%edi,%r12d
-	movl	%r9d,%r14d
-	rorl	$14,%r13d
-	movl	%ecx,%edi
-
-	xorl	%ebx,%r13d
-	rorl	$9,%r14d
-	xorl	%edx,%edi
-
-	movl	%r12d,44(%rsp)
-	xorl	%r9d,%r14d
-	andl	%ebx,%edi
-
-	rorl	$5,%r13d
-	addl	%r8d,%r12d
-	xorl	%edx,%edi
-
-	rorl	$11,%r14d
-	xorl	%ebx,%r13d
-	addl	%edi,%r12d
-
-	movl	%r9d,%edi
-	addl	(%rbp),%r12d
-	xorl	%r9d,%r14d
-
-	xorl	%r10d,%edi
-	rorl	$6,%r13d
-	movl	%r10d,%r8d
-
-	andl	%edi,%r15d
-	rorl	$2,%r14d
-	addl	%r13d,%r12d
-
-	xorl	%r15d,%r8d
-	addl	%r12d,%eax
-	addl	%r12d,%r8d
-
-	leaq	20(%rbp),%rbp
-	movl	52(%rsp),%r13d
-	movl	40(%rsp),%r15d
-
-	movl	%r13d,%r12d
-	rorl	$11,%r13d
-	addl	%r14d,%r8d
-	movl	%r15d,%r14d
-	rorl	$2,%r15d
-
-	xorl	%r12d,%r13d
-	shrl	$3,%r12d
-	rorl	$7,%r13d
-	xorl	%r14d,%r15d
-	shrl	$10,%r14d
-
-	rorl	$17,%r15d
-	xorl	%r13d,%r12d
-	xorl	%r14d,%r15d
-	addl	20(%rsp),%r12d
-
-	addl	48(%rsp),%r12d
-	movl	%eax,%r13d
-	addl	%r15d,%r12d
-	movl	%r8d,%r14d
-	rorl	$14,%r13d
-	movl	%ebx,%r15d
-
-	xorl	%eax,%r13d
-	rorl	$9,%r14d
-	xorl	%ecx,%r15d
-
-	movl	%r12d,48(%rsp)
-	xorl	%r8d,%r14d
-	andl	%eax,%r15d
-
-	rorl	$5,%r13d
-	addl	%edx,%r12d
-	xorl	%ecx,%r15d
-
-	rorl	$11,%r14d
-	xorl	%eax,%r13d
-	addl	%r15d,%r12d
-
-	movl	%r8d,%r15d
-	addl	(%rbp),%r12d
-	xorl	%r8d,%r14d
-
-	xorl	%r9d,%r15d
-	rorl	$6,%r13d
-	movl	%r9d,%edx
-
-	andl	%r15d,%edi
-	rorl	$2,%r14d
-	addl	%r13d,%r12d
-
-	xorl	%edi,%edx
-	addl	%r12d,%r11d
-	addl	%r12d,%edx
-
-	leaq	4(%rbp),%rbp
-	movl	56(%rsp),%r13d
-	movl	44(%rsp),%edi
-
-	movl	%r13d,%r12d
-	rorl	$11,%r13d
-	addl	%r14d,%edx
-	movl	%edi,%r14d
-	rorl	$2,%edi
-
-	xorl	%r12d,%r13d
-	shrl	$3,%r12d
-	rorl	$7,%r13d
-	xorl	%r14d,%edi
-	shrl	$10,%r14d
-
-	rorl	$17,%edi
-	xorl	%r13d,%r12d
-	xorl	%r14d,%edi
-	addl	24(%rsp),%r12d
-
-	addl	52(%rsp),%r12d
-	movl	%r11d,%r13d
-	addl	%edi,%r12d
-	movl	%edx,%r14d
-	rorl	$14,%r13d
-	movl	%eax,%edi
-
-	xorl	%r11d,%r13d
-	rorl	$9,%r14d
-	xorl	%ebx,%edi
-
-	movl	%r12d,52(%rsp)
-	xorl	%edx,%r14d
-	andl	%r11d,%edi
-
-	rorl	$5,%r13d
-	addl	%ecx,%r12d
-	xorl	%ebx,%edi
-
-	rorl	$11,%r14d
-	xorl	%r11d,%r13d
-	addl	%edi,%r12d
-
-	movl	%edx,%edi
-	addl	(%rbp),%r12d
-	xorl	%edx,%r14d
-
-	xorl	%r8d,%edi
-	rorl	$6,%r13d
-	movl	%r8d,%ecx
-
-	andl	%edi,%r15d
-	rorl	$2,%r14d
-	addl	%r13d,%r12d
-
-	xorl	%r15d,%ecx
-	addl	%r12d,%r10d
-	addl	%r12d,%ecx
-
-	leaq	4(%rbp),%rbp
-	movl	60(%rsp),%r13d
-	movl	48(%rsp),%r15d
-
-	movl	%r13d,%r12d
-	rorl	$11,%r13d
-	addl	%r14d,%ecx
-	movl	%r15d,%r14d
-	rorl	$2,%r15d
-
-	xorl	%r12d,%r13d
-	shrl	$3,%r12d
-	rorl	$7,%r13d
-	xorl	%r14d,%r15d
-	shrl	$10,%r14d
-
-	rorl	$17,%r15d
-	xorl	%r13d,%r12d
-	xorl	%r14d,%r15d
-	addl	28(%rsp),%r12d
-
-	addl	56(%rsp),%r12d
-	movl	%r10d,%r13d
-	addl	%r15d,%r12d
-	movl	%ecx,%r14d
-	rorl	$14,%r13d
-	movl	%r11d,%r15d
-
-	xorl	%r10d,%r13d
-	rorl	$9,%r14d
-	xorl	%eax,%r15d
-
-	movl	%r12d,56(%rsp)
-	xorl	%ecx,%r14d
-	andl	%r10d,%r15d
-
-	rorl	$5,%r13d
-	addl	%ebx,%r12d
-	xorl	%eax,%r15d
-
-	rorl	$11,%r14d
-	xorl	%r10d,%r13d
-	addl	%r15d,%r12d
-
-	movl	%ecx,%r15d
-	addl	(%rbp),%r12d
-	xorl	%ecx,%r14d
-
-	xorl	%edx,%r15d
-	rorl	$6,%r13d
-	movl	%edx,%ebx
-
-	andl	%r15d,%edi
-	rorl	$2,%r14d
-	addl	%r13d,%r12d
-
-	xorl	%edi,%ebx
-	addl	%r12d,%r9d
-	addl	%r12d,%ebx
-
-	leaq	4(%rbp),%rbp
-	movl	0(%rsp),%r13d
-	movl	52(%rsp),%edi
-
-	movl	%r13d,%r12d
-	rorl	$11,%r13d
-	addl	%r14d,%ebx
-	movl	%edi,%r14d
-	rorl	$2,%edi
-
-	xorl	%r12d,%r13d
-	shrl	$3,%r12d
-	rorl	$7,%r13d
-	xorl	%r14d,%edi
-	shrl	$10,%r14d
-
-	rorl	$17,%edi
-	xorl	%r13d,%r12d
-	xorl	%r14d,%edi
-	addl	32(%rsp),%r12d
-
-	addl	60(%rsp),%r12d
-	movl	%r9d,%r13d
-	addl	%edi,%r12d
-	movl	%ebx,%r14d
-	rorl	$14,%r13d
-	movl	%r10d,%edi
-
-	xorl	%r9d,%r13d
-	rorl	$9,%r14d
-	xorl	%r11d,%edi
-
-	movl	%r12d,60(%rsp)
-	xorl	%ebx,%r14d
-	andl	%r9d,%edi
-
-	rorl	$5,%r13d
-	addl	%eax,%r12d
-	xorl	%r11d,%edi
-
-	rorl	$11,%r14d
-	xorl	%r9d,%r13d
-	addl	%edi,%r12d
-
-	movl	%ebx,%edi
-	addl	(%rbp),%r12d
-	xorl	%ebx,%r14d
-
-	xorl	%ecx,%edi
-	rorl	$6,%r13d
-	movl	%ecx,%eax
-
-	andl	%edi,%r15d
-	rorl	$2,%r14d
-	addl	%r13d,%r12d
-
-	xorl	%r15d,%eax
-	addl	%r12d,%r8d
-	addl	%r12d,%eax
-
-	leaq	20(%rbp),%rbp
-	cmpb	$0,3(%rbp)
-	jnz	L$rounds_16_xx
-
-	movq	64+0(%rsp),%rdi
-	addl	%r14d,%eax
-	leaq	64(%rsi),%rsi
-
-	addl	0(%rdi),%eax
-	addl	4(%rdi),%ebx
-	addl	8(%rdi),%ecx
-	addl	12(%rdi),%edx
-	addl	16(%rdi),%r8d
-	addl	20(%rdi),%r9d
-	addl	24(%rdi),%r10d
-	addl	28(%rdi),%r11d
-
-	cmpq	64+16(%rsp),%rsi
-
-	movl	%eax,0(%rdi)
-	movl	%ebx,4(%rdi)
-	movl	%ecx,8(%rdi)
-	movl	%edx,12(%rdi)
-	movl	%r8d,16(%rdi)
-	movl	%r9d,20(%rdi)
-	movl	%r10d,24(%rdi)
-	movl	%r11d,28(%rdi)
-	jb	L$loop
-
-	movq	64+24(%rsp),%rsi
-	movq	-48(%rsi),%r15
-	movq	-40(%rsi),%r14
-	movq	-32(%rsi),%r13
-	movq	-24(%rsi),%r12
-	movq	-16(%rsi),%rbp
-	movq	-8(%rsi),%rbx
-	leaq	(%rsi),%rsp
-L$epilogue:
-	.byte	0xf3,0xc3
-
-.p2align	6
-
-K256:
-.long	0x428a2f98,0x71374491,0xb5c0fbcf,0xe9b5dba5
-.long	0x428a2f98,0x71374491,0xb5c0fbcf,0xe9b5dba5
-.long	0x3956c25b,0x59f111f1,0x923f82a4,0xab1c5ed5
-.long	0x3956c25b,0x59f111f1,0x923f82a4,0xab1c5ed5
-.long	0xd807aa98,0x12835b01,0x243185be,0x550c7dc3
-.long	0xd807aa98,0x12835b01,0x243185be,0x550c7dc3
-.long	0x72be5d74,0x80deb1fe,0x9bdc06a7,0xc19bf174
-.long	0x72be5d74,0x80deb1fe,0x9bdc06a7,0xc19bf174
-.long	0xe49b69c1,0xefbe4786,0x0fc19dc6,0x240ca1cc
-.long	0xe49b69c1,0xefbe4786,0x0fc19dc6,0x240ca1cc
-.long	0x2de92c6f,0x4a7484aa,0x5cb0a9dc,0x76f988da
-.long	0x2de92c6f,0x4a7484aa,0x5cb0a9dc,0x76f988da
-.long	0x983e5152,0xa831c66d,0xb00327c8,0xbf597fc7
-.long	0x983e5152,0xa831c66d,0xb00327c8,0xbf597fc7
-.long	0xc6e00bf3,0xd5a79147,0x06ca6351,0x14292967
-.long	0xc6e00bf3,0xd5a79147,0x06ca6351,0x14292967
-.long	0x27b70a85,0x2e1b2138,0x4d2c6dfc,0x53380d13
-.long	0x27b70a85,0x2e1b2138,0x4d2c6dfc,0x53380d13
-.long	0x650a7354,0x766a0abb,0x81c2c92e,0x92722c85
-.long	0x650a7354,0x766a0abb,0x81c2c92e,0x92722c85
-.long	0xa2bfe8a1,0xa81a664b,0xc24b8b70,0xc76c51a3
-.long	0xa2bfe8a1,0xa81a664b,0xc24b8b70,0xc76c51a3
-.long	0xd192e819,0xd6990624,0xf40e3585,0x106aa070
-.long	0xd192e819,0xd6990624,0xf40e3585,0x106aa070
-.long	0x19a4c116,0x1e376c08,0x2748774c,0x34b0bcb5
-.long	0x19a4c116,0x1e376c08,0x2748774c,0x34b0bcb5
-.long	0x391c0cb3,0x4ed8aa4a,0x5b9cca4f,0x682e6ff3
-.long	0x391c0cb3,0x4ed8aa4a,0x5b9cca4f,0x682e6ff3
-.long	0x748f82ee,0x78a5636f,0x84c87814,0x8cc70208
-.long	0x748f82ee,0x78a5636f,0x84c87814,0x8cc70208
-.long	0x90befffa,0xa4506ceb,0xbef9a3f7,0xc67178f2
-.long	0x90befffa,0xa4506ceb,0xbef9a3f7,0xc67178f2
-
-.long	0x00010203,0x04050607,0x08090a0b,0x0c0d0e0f
-.long	0x00010203,0x04050607,0x08090a0b,0x0c0d0e0f
-.long	0x03020100,0x0b0a0908,0xffffffff,0xffffffff
-.long	0x03020100,0x0b0a0908,0xffffffff,0xffffffff
-.long	0xffffffff,0xffffffff,0x03020100,0x0b0a0908
-.long	0xffffffff,0xffffffff,0x03020100,0x0b0a0908
-.byte	83,72,65,50,53,54,32,98,108,111,99,107,32,116,114,97,110,115,102,111,114,109,32,102,111,114,32,120,56,54,95,54,52,44,32,67,82,89,80,84,79,71,65,77,83,32,98,121,32,60,97,112,112,114,111,64,111,112,101,110,115,115,108,46,111,114,103,62,0
-
-.p2align	6
-sha256_block_data_order_ssse3:
-L$ssse3_shortcut:
-	movq	%rsp,%rax
-	pushq	%rbx
-	pushq	%rbp
-	pushq	%r12
-	pushq	%r13
-	pushq	%r14
-	pushq	%r15
-	shlq	$4,%rdx
-	subq	$96,%rsp
-	leaq	(%rsi,%rdx,4),%rdx
-	andq	$-64,%rsp
-	movq	%rdi,64+0(%rsp)
-	movq	%rsi,64+8(%rsp)
-	movq	%rdx,64+16(%rsp)
-	movq	%rax,64+24(%rsp)
-L$prologue_ssse3:
-
-	movl	0(%rdi),%eax
-	movl	4(%rdi),%ebx
-	movl	8(%rdi),%ecx
-	movl	12(%rdi),%edx
-	movl	16(%rdi),%r8d
-	movl	20(%rdi),%r9d
-	movl	24(%rdi),%r10d
-	movl	28(%rdi),%r11d
-
-
-	jmp	L$loop_ssse3
-.p2align	4
-L$loop_ssse3:
-	movdqa	K256+512(%rip),%xmm7
-	movdqu	0(%rsi),%xmm0
-	movdqu	16(%rsi),%xmm1
-	movdqu	32(%rsi),%xmm2
-.byte	102,15,56,0,199
-	movdqu	48(%rsi),%xmm3
-	leaq	K256(%rip),%rbp
-.byte	102,15,56,0,207
-	movdqa	0(%rbp),%xmm4
-	movdqa	32(%rbp),%xmm5
-.byte	102,15,56,0,215
-	paddd	%xmm0,%xmm4
-	movdqa	64(%rbp),%xmm6
-.byte	102,15,56,0,223
-	movdqa	96(%rbp),%xmm7
-	paddd	%xmm1,%xmm5
-	paddd	%xmm2,%xmm6
-	paddd	%xmm3,%xmm7
-	movdqa	%xmm4,0(%rsp)
-	movl	%eax,%r14d
-	movdqa	%xmm5,16(%rsp)
-	movl	%ebx,%edi
-	movdqa	%xmm6,32(%rsp)
-	xorl	%ecx,%edi
-	movdqa	%xmm7,48(%rsp)
-	movl	%r8d,%r13d
-	jmp	L$ssse3_00_47
-
-.p2align	4
-L$ssse3_00_47:
-	subq	$-128,%rbp
-	rorl	$14,%r13d
-	movdqa	%xmm1,%xmm4
-	movl	%r14d,%eax
-	movl	%r9d,%r12d
-	movdqa	%xmm3,%xmm7
-	rorl	$9,%r14d
-	xorl	%r8d,%r13d
-	xorl	%r10d,%r12d
-	rorl	$5,%r13d
-	xorl	%eax,%r14d
-.byte	102,15,58,15,224,4
-	andl	%r8d,%r12d
-	xorl	%r8d,%r13d
-.byte	102,15,58,15,250,4
-	addl	0(%rsp),%r11d
-	movl	%eax,%r15d
-	xorl	%r10d,%r12d
-	rorl	$11,%r14d
-	movdqa	%xmm4,%xmm5
-	xorl	%ebx,%r15d
-	addl	%r12d,%r11d
-	movdqa	%xmm4,%xmm6
-	rorl	$6,%r13d
-	andl	%r15d,%edi
-	psrld	$3,%xmm4
-	xorl	%eax,%r14d
-	addl	%r13d,%r11d
-	xorl	%ebx,%edi
-	paddd	%xmm7,%xmm0
-	rorl	$2,%r14d
-	addl	%r11d,%edx
-	psrld	$7,%xmm6
-	addl	%edi,%r11d
-	movl	%edx,%r13d
-	pshufd	$250,%xmm3,%xmm7
-	addl	%r11d,%r14d
-	rorl	$14,%r13d
-	pslld	$14,%xmm5
-	movl	%r14d,%r11d
-	movl	%r8d,%r12d
-	pxor	%xmm6,%xmm4
-	rorl	$9,%r14d
-	xorl	%edx,%r13d
-	xorl	%r9d,%r12d
-	rorl	$5,%r13d
-	psrld	$11,%xmm6
-	xorl	%r11d,%r14d
-	pxor	%xmm5,%xmm4
-	andl	%edx,%r12d
-	xorl	%edx,%r13d
-	pslld	$11,%xmm5
-	addl	4(%rsp),%r10d
-	movl	%r11d,%edi
-	pxor	%xmm6,%xmm4
-	xorl	%r9d,%r12d
-	rorl	$11,%r14d
-	movdqa	%xmm7,%xmm6
-	xorl	%eax,%edi
-	addl	%r12d,%r10d
-	pxor	%xmm5,%xmm4
-	rorl	$6,%r13d
-	andl	%edi,%r15d
-	xorl	%r11d,%r14d
-	psrld	$10,%xmm7
-	addl	%r13d,%r10d
-	xorl	%eax,%r15d
-	paddd	%xmm4,%xmm0
-	rorl	$2,%r14d
-	addl	%r10d,%ecx
-	psrlq	$17,%xmm6
-	addl	%r15d,%r10d
-	movl	%ecx,%r13d
-	addl	%r10d,%r14d
-	pxor	%xmm6,%xmm7
-	rorl	$14,%r13d
-	movl	%r14d,%r10d
-	movl	%edx,%r12d
-	rorl	$9,%r14d
-	psrlq	$2,%xmm6
-	xorl	%ecx,%r13d
-	xorl	%r8d,%r12d
-	pxor	%xmm6,%xmm7
-	rorl	$5,%r13d
-	xorl	%r10d,%r14d
-	andl	%ecx,%r12d
-	pshufd	$128,%xmm7,%xmm7
-	xorl	%ecx,%r13d
-	addl	8(%rsp),%r9d
-	movl	%r10d,%r15d
-	psrldq	$8,%xmm7
-	xorl	%r8d,%r12d
-	rorl	$11,%r14d
-	xorl	%r11d,%r15d
-	addl	%r12d,%r9d
-	rorl	$6,%r13d
-	paddd	%xmm7,%xmm0
-	andl	%r15d,%edi
-	xorl	%r10d,%r14d
-	addl	%r13d,%r9d
-	pshufd	$80,%xmm0,%xmm7
-	xorl	%r11d,%edi
-	rorl	$2,%r14d
-	addl	%r9d,%ebx
-	movdqa	%xmm7,%xmm6
-	addl	%edi,%r9d
-	movl	%ebx,%r13d
-	psrld	$10,%xmm7
-	addl	%r9d,%r14d
-	rorl	$14,%r13d
-	psrlq	$17,%xmm6
-	movl	%r14d,%r9d
-	movl	%ecx,%r12d
-	pxor	%xmm6,%xmm7
-	rorl	$9,%r14d
-	xorl	%ebx,%r13d
-	xorl	%edx,%r12d
-	rorl	$5,%r13d
-	xorl	%r9d,%r14d
-	psrlq	$2,%xmm6
-	andl	%ebx,%r12d
-	xorl	%ebx,%r13d
-	addl	12(%rsp),%r8d
-	pxor	%xmm6,%xmm7
-	movl	%r9d,%edi
-	xorl	%edx,%r12d
-	rorl	$11,%r14d
-	pshufd	$8,%xmm7,%xmm7
-	xorl	%r10d,%edi
-	addl	%r12d,%r8d
-	movdqa	0(%rbp),%xmm6
-	rorl	$6,%r13d
-	andl	%edi,%r15d
-	pslldq	$8,%xmm7
-	xorl	%r9d,%r14d
-	addl	%r13d,%r8d
-	xorl	%r10d,%r15d
-	paddd	%xmm7,%xmm0
-	rorl	$2,%r14d
-	addl	%r8d,%eax
-	addl	%r15d,%r8d
-	paddd	%xmm0,%xmm6
-	movl	%eax,%r13d
-	addl	%r8d,%r14d
-	movdqa	%xmm6,0(%rsp)
-	rorl	$14,%r13d
-	movdqa	%xmm2,%xmm4
-	movl	%r14d,%r8d
-	movl	%ebx,%r12d
-	movdqa	%xmm0,%xmm7
-	rorl	$9,%r14d
-	xorl	%eax,%r13d
-	xorl	%ecx,%r12d
-	rorl	$5,%r13d
-	xorl	%r8d,%r14d
-.byte	102,15,58,15,225,4
-	andl	%eax,%r12d
-	xorl	%eax,%r13d
-.byte	102,15,58,15,251,4
-	addl	16(%rsp),%edx
-	movl	%r8d,%r15d
-	xorl	%ecx,%r12d
-	rorl	$11,%r14d
-	movdqa	%xmm4,%xmm5
-	xorl	%r9d,%r15d
-	addl	%r12d,%edx
-	movdqa	%xmm4,%xmm6
-	rorl	$6,%r13d
-	andl	%r15d,%edi
-	psrld	$3,%xmm4
-	xorl	%r8d,%r14d
-	addl	%r13d,%edx
-	xorl	%r9d,%edi
-	paddd	%xmm7,%xmm1
-	rorl	$2,%r14d
-	addl	%edx,%r11d
-	psrld	$7,%xmm6
-	addl	%edi,%edx
-	movl	%r11d,%r13d
-	pshufd	$250,%xmm0,%xmm7
-	addl	%edx,%r14d
-	rorl	$14,%r13d
-	pslld	$14,%xmm5
-	movl	%r14d,%edx
-	movl	%eax,%r12d
-	pxor	%xmm6,%xmm4
-	rorl	$9,%r14d
-	xorl	%r11d,%r13d
-	xorl	%ebx,%r12d
-	rorl	$5,%r13d
-	psrld	$11,%xmm6
-	xorl	%edx,%r14d
-	pxor	%xmm5,%xmm4
-	andl	%r11d,%r12d
-	xorl	%r11d,%r13d
-	pslld	$11,%xmm5
-	addl	20(%rsp),%ecx
-	movl	%edx,%edi
-	pxor	%xmm6,%xmm4
-	xorl	%ebx,%r12d
-	rorl	$11,%r14d
-	movdqa	%xmm7,%xmm6
-	xorl	%r8d,%edi
-	addl	%r12d,%ecx
-	pxor	%xmm5,%xmm4
-	rorl	$6,%r13d
-	andl	%edi,%r15d
-	xorl	%edx,%r14d
-	psrld	$10,%xmm7
-	addl	%r13d,%ecx
-	xorl	%r8d,%r15d
-	paddd	%xmm4,%xmm1
-	rorl	$2,%r14d
-	addl	%ecx,%r10d
-	psrlq	$17,%xmm6
-	addl	%r15d,%ecx
-	movl	%r10d,%r13d
-	addl	%ecx,%r14d
-	pxor	%xmm6,%xmm7
-	rorl	$14,%r13d
-	movl	%r14d,%ecx
-	movl	%r11d,%r12d
-	rorl	$9,%r14d
-	psrlq	$2,%xmm6
-	xorl	%r10d,%r13d
-	xorl	%eax,%r12d
-	pxor	%xmm6,%xmm7
-	rorl	$5,%r13d
-	xorl	%ecx,%r14d
-	andl	%r10d,%r12d
-	pshufd	$128,%xmm7,%xmm7
-	xorl	%r10d,%r13d
-	addl	24(%rsp),%ebx
-	movl	%ecx,%r15d
-	psrldq	$8,%xmm7
-	xorl	%eax,%r12d
-	rorl	$11,%r14d
-	xorl	%edx,%r15d
-	addl	%r12d,%ebx
-	rorl	$6,%r13d
-	paddd	%xmm7,%xmm1
-	andl	%r15d,%edi
-	xorl	%ecx,%r14d
-	addl	%r13d,%ebx
-	pshufd	$80,%xmm1,%xmm7
-	xorl	%edx,%edi
-	rorl	$2,%r14d
-	addl	%ebx,%r9d
-	movdqa	%xmm7,%xmm6
-	addl	%edi,%ebx
-	movl	%r9d,%r13d
-	psrld	$10,%xmm7
-	addl	%ebx,%r14d
-	rorl	$14,%r13d
-	psrlq	$17,%xmm6
-	movl	%r14d,%ebx
-	movl	%r10d,%r12d
-	pxor	%xmm6,%xmm7
-	rorl	$9,%r14d
-	xorl	%r9d,%r13d
-	xorl	%r11d,%r12d
-	rorl	$5,%r13d
-	xorl	%ebx,%r14d
-	psrlq	$2,%xmm6
-	andl	%r9d,%r12d
-	xorl	%r9d,%r13d
-	addl	28(%rsp),%eax
-	pxor	%xmm6,%xmm7
-	movl	%ebx,%edi
-	xorl	%r11d,%r12d
-	rorl	$11,%r14d
-	pshufd	$8,%xmm7,%xmm7
-	xorl	%ecx,%edi
-	addl	%r12d,%eax
-	movdqa	32(%rbp),%xmm6
-	rorl	$6,%r13d
-	andl	%edi,%r15d
-	pslldq	$8,%xmm7
-	xorl	%ebx,%r14d
-	addl	%r13d,%eax
-	xorl	%ecx,%r15d
-	paddd	%xmm7,%xmm1
-	rorl	$2,%r14d
-	addl	%eax,%r8d
-	addl	%r15d,%eax
-	paddd	%xmm1,%xmm6
-	movl	%r8d,%r13d
-	addl	%eax,%r14d
-	movdqa	%xmm6,16(%rsp)
-	rorl	$14,%r13d
-	movdqa	%xmm3,%xmm4
-	movl	%r14d,%eax
-	movl	%r9d,%r12d
-	movdqa	%xmm1,%xmm7
-	rorl	$9,%r14d
-	xorl	%r8d,%r13d
-	xorl	%r10d,%r12d
-	rorl	$5,%r13d
-	xorl	%eax,%r14d
-.byte	102,15,58,15,226,4
-	andl	%r8d,%r12d
-	xorl	%r8d,%r13d
-.byte	102,15,58,15,248,4
-	addl	32(%rsp),%r11d
-	movl	%eax,%r15d
-	xorl	%r10d,%r12d
-	rorl	$11,%r14d
-	movdqa	%xmm4,%xmm5
-	xorl	%ebx,%r15d
-	addl	%r12d,%r11d
-	movdqa	%xmm4,%xmm6
-	rorl	$6,%r13d
-	andl	%r15d,%edi
-	psrld	$3,%xmm4
-	xorl	%eax,%r14d
-	addl	%r13d,%r11d
-	xorl	%ebx,%edi
-	paddd	%xmm7,%xmm2
-	rorl	$2,%r14d
-	addl	%r11d,%edx
-	psrld	$7,%xmm6
-	addl	%edi,%r11d
-	movl	%edx,%r13d
-	pshufd	$250,%xmm1,%xmm7
-	addl	%r11d,%r14d
-	rorl	$14,%r13d
-	pslld	$14,%xmm5
-	movl	%r14d,%r11d
-	movl	%r8d,%r12d
-	pxor	%xmm6,%xmm4
-	rorl	$9,%r14d
-	xorl	%edx,%r13d
-	xorl	%r9d,%r12d
-	rorl	$5,%r13d
-	psrld	$11,%xmm6
-	xorl	%r11d,%r14d
-	pxor	%xmm5,%xmm4
-	andl	%edx,%r12d
-	xorl	%edx,%r13d
-	pslld	$11,%xmm5
-	addl	36(%rsp),%r10d
-	movl	%r11d,%edi
-	pxor	%xmm6,%xmm4
-	xorl	%r9d,%r12d
-	rorl	$11,%r14d
-	movdqa	%xmm7,%xmm6
-	xorl	%eax,%edi
-	addl	%r12d,%r10d
-	pxor	%xmm5,%xmm4
-	rorl	$6,%r13d
-	andl	%edi,%r15d
-	xorl	%r11d,%r14d
-	psrld	$10,%xmm7
-	addl	%r13d,%r10d
-	xorl	%eax,%r15d
-	paddd	%xmm4,%xmm2
-	rorl	$2,%r14d
-	addl	%r10d,%ecx
-	psrlq	$17,%xmm6
-	addl	%r15d,%r10d
-	movl	%ecx,%r13d
-	addl	%r10d,%r14d
-	pxor	%xmm6,%xmm7
-	rorl	$14,%r13d
-	movl	%r14d,%r10d
-	movl	%edx,%r12d
-	rorl	$9,%r14d
-	psrlq	$2,%xmm6
-	xorl	%ecx,%r13d
-	xorl	%r8d,%r12d
-	pxor	%xmm6,%xmm7
-	rorl	$5,%r13d
-	xorl	%r10d,%r14d
-	andl	%ecx,%r12d
-	pshufd	$128,%xmm7,%xmm7
-	xorl	%ecx,%r13d
-	addl	40(%rsp),%r9d
-	movl	%r10d,%r15d
-	psrldq	$8,%xmm7
-	xorl	%r8d,%r12d
-	rorl	$11,%r14d
-	xorl	%r11d,%r15d
-	addl	%r12d,%r9d
-	rorl	$6,%r13d
-	paddd	%xmm7,%xmm2
-	andl	%r15d,%edi
-	xorl	%r10d,%r14d
-	addl	%r13d,%r9d
-	pshufd	$80,%xmm2,%xmm7
-	xorl	%r11d,%edi
-	rorl	$2,%r14d
-	addl	%r9d,%ebx
-	movdqa	%xmm7,%xmm6
-	addl	%edi,%r9d
-	movl	%ebx,%r13d
-	psrld	$10,%xmm7
-	addl	%r9d,%r14d
-	rorl	$14,%r13d
-	psrlq	$17,%xmm6
-	movl	%r14d,%r9d
-	movl	%ecx,%r12d
-	pxor	%xmm6,%xmm7
-	rorl	$9,%r14d
-	xorl	%ebx,%r13d
-	xorl	%edx,%r12d
-	rorl	$5,%r13d
-	xorl	%r9d,%r14d
-	psrlq	$2,%xmm6
-	andl	%ebx,%r12d
-	xorl	%ebx,%r13d
-	addl	44(%rsp),%r8d
-	pxor	%xmm6,%xmm7
-	movl	%r9d,%edi
-	xorl	%edx,%r12d
-	rorl	$11,%r14d
-	pshufd	$8,%xmm7,%xmm7
-	xorl	%r10d,%edi
-	addl	%r12d,%r8d
-	movdqa	64(%rbp),%xmm6
-	rorl	$6,%r13d
-	andl	%edi,%r15d
-	pslldq	$8,%xmm7
-	xorl	%r9d,%r14d
-	addl	%r13d,%r8d
-	xorl	%r10d,%r15d
-	paddd	%xmm7,%xmm2
-	rorl	$2,%r14d
-	addl	%r8d,%eax
-	addl	%r15d,%r8d
-	paddd	%xmm2,%xmm6
-	movl	%eax,%r13d
-	addl	%r8d,%r14d
-	movdqa	%xmm6,32(%rsp)
-	rorl	$14,%r13d
-	movdqa	%xmm0,%xmm4
-	movl	%r14d,%r8d
-	movl	%ebx,%r12d
-	movdqa	%xmm2,%xmm7
-	rorl	$9,%r14d
-	xorl	%eax,%r13d
-	xorl	%ecx,%r12d
-	rorl	$5,%r13d
-	xorl	%r8d,%r14d
-.byte	102,15,58,15,227,4
-	andl	%eax,%r12d
-	xorl	%eax,%r13d
-.byte	102,15,58,15,249,4
-	addl	48(%rsp),%edx
-	movl	%r8d,%r15d
-	xorl	%ecx,%r12d
-	rorl	$11,%r14d
-	movdqa	%xmm4,%xmm5
-	xorl	%r9d,%r15d
-	addl	%r12d,%edx
-	movdqa	%xmm4,%xmm6
-	rorl	$6,%r13d
-	andl	%r15d,%edi
-	psrld	$3,%xmm4
-	xorl	%r8d,%r14d
-	addl	%r13d,%edx
-	xorl	%r9d,%edi
-	paddd	%xmm7,%xmm3
-	rorl	$2,%r14d
-	addl	%edx,%r11d
-	psrld	$7,%xmm6
-	addl	%edi,%edx
-	movl	%r11d,%r13d
-	pshufd	$250,%xmm2,%xmm7
-	addl	%edx,%r14d
-	rorl	$14,%r13d
-	pslld	$14,%xmm5
-	movl	%r14d,%edx
-	movl	%eax,%r12d
-	pxor	%xmm6,%xmm4
-	rorl	$9,%r14d
-	xorl	%r11d,%r13d
-	xorl	%ebx,%r12d
-	rorl	$5,%r13d
-	psrld	$11,%xmm6
-	xorl	%edx,%r14d
-	pxor	%xmm5,%xmm4
-	andl	%r11d,%r12d
-	xorl	%r11d,%r13d
-	pslld	$11,%xmm5
-	addl	52(%rsp),%ecx
-	movl	%edx,%edi
-	pxor	%xmm6,%xmm4
-	xorl	%ebx,%r12d
-	rorl	$11,%r14d
-	movdqa	%xmm7,%xmm6
-	xorl	%r8d,%edi
-	addl	%r12d,%ecx
-	pxor	%xmm5,%xmm4
-	rorl	$6,%r13d
-	andl	%edi,%r15d
-	xorl	%edx,%r14d
-	psrld	$10,%xmm7
-	addl	%r13d,%ecx
-	xorl	%r8d,%r15d
-	paddd	%xmm4,%xmm3
-	rorl	$2,%r14d
-	addl	%ecx,%r10d
-	psrlq	$17,%xmm6
-	addl	%r15d,%ecx
-	movl	%r10d,%r13d
-	addl	%ecx,%r14d
-	pxor	%xmm6,%xmm7
-	rorl	$14,%r13d
-	movl	%r14d,%ecx
-	movl	%r11d,%r12d
-	rorl	$9,%r14d
-	psrlq	$2,%xmm6
-	xorl	%r10d,%r13d
-	xorl	%eax,%r12d
-	pxor	%xmm6,%xmm7
-	rorl	$5,%r13d
-	xorl	%ecx,%r14d
-	andl	%r10d,%r12d
-	pshufd	$128,%xmm7,%xmm7
-	xorl	%r10d,%r13d
-	addl	56(%rsp),%ebx
-	movl	%ecx,%r15d
-	psrldq	$8,%xmm7
-	xorl	%eax,%r12d
-	rorl	$11,%r14d
-	xorl	%edx,%r15d
-	addl	%r12d,%ebx
-	rorl	$6,%r13d
-	paddd	%xmm7,%xmm3
-	andl	%r15d,%edi
-	xorl	%ecx,%r14d
-	addl	%r13d,%ebx
-	pshufd	$80,%xmm3,%xmm7
-	xorl	%edx,%edi
-	rorl	$2,%r14d
-	addl	%ebx,%r9d
-	movdqa	%xmm7,%xmm6
-	addl	%edi,%ebx
-	movl	%r9d,%r13d
-	psrld	$10,%xmm7
-	addl	%ebx,%r14d
-	rorl	$14,%r13d
-	psrlq	$17,%xmm6
-	movl	%r14d,%ebx
-	movl	%r10d,%r12d
-	pxor	%xmm6,%xmm7
-	rorl	$9,%r14d
-	xorl	%r9d,%r13d
-	xorl	%r11d,%r12d
-	rorl	$5,%r13d
-	xorl	%ebx,%r14d
-	psrlq	$2,%xmm6
-	andl	%r9d,%r12d
-	xorl	%r9d,%r13d
-	addl	60(%rsp),%eax
-	pxor	%xmm6,%xmm7
-	movl	%ebx,%edi
-	xorl	%r11d,%r12d
-	rorl	$11,%r14d
-	pshufd	$8,%xmm7,%xmm7
-	xorl	%ecx,%edi
-	addl	%r12d,%eax
-	movdqa	96(%rbp),%xmm6
-	rorl	$6,%r13d
-	andl	%edi,%r15d
-	pslldq	$8,%xmm7
-	xorl	%ebx,%r14d
-	addl	%r13d,%eax
-	xorl	%ecx,%r15d
-	paddd	%xmm7,%xmm3
-	rorl	$2,%r14d
-	addl	%eax,%r8d
-	addl	%r15d,%eax
-	paddd	%xmm3,%xmm6
-	movl	%r8d,%r13d
-	addl	%eax,%r14d
-	movdqa	%xmm6,48(%rsp)
-	cmpb	$0,131(%rbp)
-	jne	L$ssse3_00_47
-	rorl	$14,%r13d
-	movl	%r14d,%eax
-	movl	%r9d,%r12d
-	rorl	$9,%r14d
-	xorl	%r8d,%r13d
-	xorl	%r10d,%r12d
-	rorl	$5,%r13d
-	xorl	%eax,%r14d
-	andl	%r8d,%r12d
-	xorl	%r8d,%r13d
-	addl	0(%rsp),%r11d
-	movl	%eax,%r15d
-	xorl	%r10d,%r12d
-	rorl	$11,%r14d
-	xorl	%ebx,%r15d
-	addl	%r12d,%r11d
-	rorl	$6,%r13d
-	andl	%r15d,%edi
-	xorl	%eax,%r14d
-	addl	%r13d,%r11d
-	xorl	%ebx,%edi
-	rorl	$2,%r14d
-	addl	%r11d,%edx
-	addl	%edi,%r11d
-	movl	%edx,%r13d
-	addl	%r11d,%r14d
-	rorl	$14,%r13d
-	movl	%r14d,%r11d
-	movl	%r8d,%r12d
-	rorl	$9,%r14d
-	xorl	%edx,%r13d
-	xorl	%r9d,%r12d
-	rorl	$5,%r13d
-	xorl	%r11d,%r14d
-	andl	%edx,%r12d
-	xorl	%edx,%r13d
-	addl	4(%rsp),%r10d
-	movl	%r11d,%edi
-	xorl	%r9d,%r12d
-	rorl	$11,%r14d
-	xorl	%eax,%edi
-	addl	%r12d,%r10d
-	rorl	$6,%r13d
-	andl	%edi,%r15d
-	xorl	%r11d,%r14d
-	addl	%r13d,%r10d
-	xorl	%eax,%r15d
-	rorl	$2,%r14d
-	addl	%r10d,%ecx
-	addl	%r15d,%r10d
-	movl	%ecx,%r13d
-	addl	%r10d,%r14d
-	rorl	$14,%r13d
-	movl	%r14d,%r10d
-	movl	%edx,%r12d
-	rorl	$9,%r14d
-	xorl	%ecx,%r13d
-	xorl	%r8d,%r12d
-	rorl	$5,%r13d
-	xorl	%r10d,%r14d
-	andl	%ecx,%r12d
-	xorl	%ecx,%r13d
-	addl	8(%rsp),%r9d
-	movl	%r10d,%r15d
-	xorl	%r8d,%r12d
-	rorl	$11,%r14d
-	xorl	%r11d,%r15d
-	addl	%r12d,%r9d
-	rorl	$6,%r13d
-	andl	%r15d,%edi
-	xorl	%r10d,%r14d
-	addl	%r13d,%r9d
-	xorl	%r11d,%edi
-	rorl	$2,%r14d
-	addl	%r9d,%ebx
-	addl	%edi,%r9d
-	movl	%ebx,%r13d
-	addl	%r9d,%r14d
-	rorl	$14,%r13d
-	movl	%r14d,%r9d
-	movl	%ecx,%r12d
-	rorl	$9,%r14d
-	xorl	%ebx,%r13d
-	xorl	%edx,%r12d
-	rorl	$5,%r13d
-	xorl	%r9d,%r14d
-	andl	%ebx,%r12d
-	xorl	%ebx,%r13d
-	addl	12(%rsp),%r8d
-	movl	%r9d,%edi
-	xorl	%edx,%r12d
-	rorl	$11,%r14d
-	xorl	%r10d,%edi
-	addl	%r12d,%r8d
-	rorl	$6,%r13d
-	andl	%edi,%r15d
-	xorl	%r9d,%r14d
-	addl	%r13d,%r8d
-	xorl	%r10d,%r15d
-	rorl	$2,%r14d
-	addl	%r8d,%eax
-	addl	%r15d,%r8d
-	movl	%eax,%r13d
-	addl	%r8d,%r14d
-	rorl	$14,%r13d
-	movl	%r14d,%r8d
-	movl	%ebx,%r12d
-	rorl	$9,%r14d
-	xorl	%eax,%r13d
-	xorl	%ecx,%r12d
-	rorl	$5,%r13d
-	xorl	%r8d,%r14d
-	andl	%eax,%r12d
-	xorl	%eax,%r13d
-	addl	16(%rsp),%edx
-	movl	%r8d,%r15d
-	xorl	%ecx,%r12d
-	rorl	$11,%r14d
-	xorl	%r9d,%r15d
-	addl	%r12d,%edx
-	rorl	$6,%r13d
-	andl	%r15d,%edi
-	xorl	%r8d,%r14d
-	addl	%r13d,%edx
-	xorl	%r9d,%edi
-	rorl	$2,%r14d
-	addl	%edx,%r11d
-	addl	%edi,%edx
-	movl	%r11d,%r13d
-	addl	%edx,%r14d
-	rorl	$14,%r13d
-	movl	%r14d,%edx
-	movl	%eax,%r12d
-	rorl	$9,%r14d
-	xorl	%r11d,%r13d
-	xorl	%ebx,%r12d
-	rorl	$5,%r13d
-	xorl	%edx,%r14d
-	andl	%r11d,%r12d
-	xorl	%r11d,%r13d
-	addl	20(%rsp),%ecx
-	movl	%edx,%edi
-	xorl	%ebx,%r12d
-	rorl	$11,%r14d
-	xorl	%r8d,%edi
-	addl	%r12d,%ecx
-	rorl	$6,%r13d
-	andl	%edi,%r15d
-	xorl	%edx,%r14d
-	addl	%r13d,%ecx
-	xorl	%r8d,%r15d
-	rorl	$2,%r14d
-	addl	%ecx,%r10d
-	addl	%r15d,%ecx
-	movl	%r10d,%r13d
-	addl	%ecx,%r14d
-	rorl	$14,%r13d
-	movl	%r14d,%ecx
-	movl	%r11d,%r12d
-	rorl	$9,%r14d
-	xorl	%r10d,%r13d
-	xorl	%eax,%r12d
-	rorl	$5,%r13d
-	xorl	%ecx,%r14d
-	andl	%r10d,%r12d
-	xorl	%r10d,%r13d
-	addl	24(%rsp),%ebx
-	movl	%ecx,%r15d
-	xorl	%eax,%r12d
-	rorl	$11,%r14d
-	xorl	%edx,%r15d
-	addl	%r12d,%ebx
-	rorl	$6,%r13d
-	andl	%r15d,%edi
-	xorl	%ecx,%r14d
-	addl	%r13d,%ebx
-	xorl	%edx,%edi
-	rorl	$2,%r14d
-	addl	%ebx,%r9d
-	addl	%edi,%ebx
-	movl	%r9d,%r13d
-	addl	%ebx,%r14d
-	rorl	$14,%r13d
-	movl	%r14d,%ebx
-	movl	%r10d,%r12d
-	rorl	$9,%r14d
-	xorl	%r9d,%r13d
-	xorl	%r11d,%r12d
-	rorl	$5,%r13d
-	xorl	%ebx,%r14d
-	andl	%r9d,%r12d
-	xorl	%r9d,%r13d
-	addl	28(%rsp),%eax
-	movl	%ebx,%edi
-	xorl	%r11d,%r12d
-	rorl	$11,%r14d
-	xorl	%ecx,%edi
-	addl	%r12d,%eax
-	rorl	$6,%r13d
-	andl	%edi,%r15d
-	xorl	%ebx,%r14d
-	addl	%r13d,%eax
-	xorl	%ecx,%r15d
-	rorl	$2,%r14d
-	addl	%eax,%r8d
-	addl	%r15d,%eax
-	movl	%r8d,%r13d
-	addl	%eax,%r14d
-	rorl	$14,%r13d
-	movl	%r14d,%eax
-	movl	%r9d,%r12d
-	rorl	$9,%r14d
-	xorl	%r8d,%r13d
-	xorl	%r10d,%r12d
-	rorl	$5,%r13d
-	xorl	%eax,%r14d
-	andl	%r8d,%r12d
-	xorl	%r8d,%r13d
-	addl	32(%rsp),%r11d
-	movl	%eax,%r15d
-	xorl	%r10d,%r12d
-	rorl	$11,%r14d
-	xorl	%ebx,%r15d
-	addl	%r12d,%r11d
-	rorl	$6,%r13d
-	andl	%r15d,%edi
-	xorl	%eax,%r14d
-	addl	%r13d,%r11d
-	xorl	%ebx,%edi
-	rorl	$2,%r14d
-	addl	%r11d,%edx
-	addl	%edi,%r11d
-	movl	%edx,%r13d
-	addl	%r11d,%r14d
-	rorl	$14,%r13d
-	movl	%r14d,%r11d
-	movl	%r8d,%r12d
-	rorl	$9,%r14d
-	xorl	%edx,%r13d
-	xorl	%r9d,%r12d
-	rorl	$5,%r13d
-	xorl	%r11d,%r14d
-	andl	%edx,%r12d
-	xorl	%edx,%r13d
-	addl	36(%rsp),%r10d
-	movl	%r11d,%edi
-	xorl	%r9d,%r12d
-	rorl	$11,%r14d
-	xorl	%eax,%edi
-	addl	%r12d,%r10d
-	rorl	$6,%r13d
-	andl	%edi,%r15d
-	xorl	%r11d,%r14d
-	addl	%r13d,%r10d
-	xorl	%eax,%r15d
-	rorl	$2,%r14d
-	addl	%r10d,%ecx
-	addl	%r15d,%r10d
-	movl	%ecx,%r13d
-	addl	%r10d,%r14d
-	rorl	$14,%r13d
-	movl	%r14d,%r10d
-	movl	%edx,%r12d
-	rorl	$9,%r14d
-	xorl	%ecx,%r13d
-	xorl	%r8d,%r12d
-	rorl	$5,%r13d
-	xorl	%r10d,%r14d
-	andl	%ecx,%r12d
-	xorl	%ecx,%r13d
-	addl	40(%rsp),%r9d
-	movl	%r10d,%r15d
-	xorl	%r8d,%r12d
-	rorl	$11,%r14d
-	xorl	%r11d,%r15d
-	addl	%r12d,%r9d
-	rorl	$6,%r13d
-	andl	%r15d,%edi
-	xorl	%r10d,%r14d
-	addl	%r13d,%r9d
-	xorl	%r11d,%edi
-	rorl	$2,%r14d
-	addl	%r9d,%ebx
-	addl	%edi,%r9d
-	movl	%ebx,%r13d
-	addl	%r9d,%r14d
-	rorl	$14,%r13d
-	movl	%r14d,%r9d
-	movl	%ecx,%r12d
-	rorl	$9,%r14d
-	xorl	%ebx,%r13d
-	xorl	%edx,%r12d
-	rorl	$5,%r13d
-	xorl	%r9d,%r14d
-	andl	%ebx,%r12d
-	xorl	%ebx,%r13d
-	addl	44(%rsp),%r8d
-	movl	%r9d,%edi
-	xorl	%edx,%r12d
-	rorl	$11,%r14d
-	xorl	%r10d,%edi
-	addl	%r12d,%r8d
-	rorl	$6,%r13d
-	andl	%edi,%r15d
-	xorl	%r9d,%r14d
-	addl	%r13d,%r8d
-	xorl	%r10d,%r15d
-	rorl	$2,%r14d
-	addl	%r8d,%eax
-	addl	%r15d,%r8d
-	movl	%eax,%r13d
-	addl	%r8d,%r14d
-	rorl	$14,%r13d
-	movl	%r14d,%r8d
-	movl	%ebx,%r12d
-	rorl	$9,%r14d
-	xorl	%eax,%r13d
-	xorl	%ecx,%r12d
-	rorl	$5,%r13d
-	xorl	%r8d,%r14d
-	andl	%eax,%r12d
-	xorl	%eax,%r13d
-	addl	48(%rsp),%edx
-	movl	%r8d,%r15d
-	xorl	%ecx,%r12d
-	rorl	$11,%r14d
-	xorl	%r9d,%r15d
-	addl	%r12d,%edx
-	rorl	$6,%r13d
-	andl	%r15d,%edi
-	xorl	%r8d,%r14d
-	addl	%r13d,%edx
-	xorl	%r9d,%edi
-	rorl	$2,%r14d
-	addl	%edx,%r11d
-	addl	%edi,%edx
-	movl	%r11d,%r13d
-	addl	%edx,%r14d
-	rorl	$14,%r13d
-	movl	%r14d,%edx
-	movl	%eax,%r12d
-	rorl	$9,%r14d
-	xorl	%r11d,%r13d
-	xorl	%ebx,%r12d
-	rorl	$5,%r13d
-	xorl	%edx,%r14d
-	andl	%r11d,%r12d
-	xorl	%r11d,%r13d
-	addl	52(%rsp),%ecx
-	movl	%edx,%edi
-	xorl	%ebx,%r12d
-	rorl	$11,%r14d
-	xorl	%r8d,%edi
-	addl	%r12d,%ecx
-	rorl	$6,%r13d
-	andl	%edi,%r15d
-	xorl	%edx,%r14d
-	addl	%r13d,%ecx
-	xorl	%r8d,%r15d
-	rorl	$2,%r14d
-	addl	%ecx,%r10d
-	addl	%r15d,%ecx
-	movl	%r10d,%r13d
-	addl	%ecx,%r14d
-	rorl	$14,%r13d
-	movl	%r14d,%ecx
-	movl	%r11d,%r12d
-	rorl	$9,%r14d
-	xorl	%r10d,%r13d
-	xorl	%eax,%r12d
-	rorl	$5,%r13d
-	xorl	%ecx,%r14d
-	andl	%r10d,%r12d
-	xorl	%r10d,%r13d
-	addl	56(%rsp),%ebx
-	movl	%ecx,%r15d
-	xorl	%eax,%r12d
-	rorl	$11,%r14d
-	xorl	%edx,%r15d
-	addl	%r12d,%ebx
-	rorl	$6,%r13d
-	andl	%r15d,%edi
-	xorl	%ecx,%r14d
-	addl	%r13d,%ebx
-	xorl	%edx,%edi
-	rorl	$2,%r14d
-	addl	%ebx,%r9d
-	addl	%edi,%ebx
-	movl	%r9d,%r13d
-	addl	%ebx,%r14d
-	rorl	$14,%r13d
-	movl	%r14d,%ebx
-	movl	%r10d,%r12d
-	rorl	$9,%r14d
-	xorl	%r9d,%r13d
-	xorl	%r11d,%r12d
-	rorl	$5,%r13d
-	xorl	%ebx,%r14d
-	andl	%r9d,%r12d
-	xorl	%r9d,%r13d
-	addl	60(%rsp),%eax
-	movl	%ebx,%edi
-	xorl	%r11d,%r12d
-	rorl	$11,%r14d
-	xorl	%ecx,%edi
-	addl	%r12d,%eax
-	rorl	$6,%r13d
-	andl	%edi,%r15d
-	xorl	%ebx,%r14d
-	addl	%r13d,%eax
-	xorl	%ecx,%r15d
-	rorl	$2,%r14d
-	addl	%eax,%r8d
-	addl	%r15d,%eax
-	movl	%r8d,%r13d
-	addl	%eax,%r14d
-	movq	64+0(%rsp),%rdi
-	movl	%r14d,%eax
-
-	addl	0(%rdi),%eax
-	leaq	64(%rsi),%rsi
-	addl	4(%rdi),%ebx
-	addl	8(%rdi),%ecx
-	addl	12(%rdi),%edx
-	addl	16(%rdi),%r8d
-	addl	20(%rdi),%r9d
-	addl	24(%rdi),%r10d
-	addl	28(%rdi),%r11d
-
-	cmpq	64+16(%rsp),%rsi
-
-	movl	%eax,0(%rdi)
-	movl	%ebx,4(%rdi)
-	movl	%ecx,8(%rdi)
-	movl	%edx,12(%rdi)
-	movl	%r8d,16(%rdi)
-	movl	%r9d,20(%rdi)
-	movl	%r10d,24(%rdi)
-	movl	%r11d,28(%rdi)
-	jb	L$loop_ssse3
-
-	movq	64+24(%rsp),%rsi
-	movq	-48(%rsi),%r15
-	movq	-40(%rsi),%r14
-	movq	-32(%rsi),%r13
-	movq	-24(%rsi),%r12
-	movq	-16(%rsi),%rbp
-	movq	-8(%rsi),%rbx
-	leaq	(%rsi),%rsp
-L$epilogue_ssse3:
-	.byte	0xf3,0xc3
-
-
-.p2align	6
-sha256_block_data_order_avx:
-L$avx_shortcut:
-	movq	%rsp,%rax
-	pushq	%rbx
-	pushq	%rbp
-	pushq	%r12
-	pushq	%r13
-	pushq	%r14
-	pushq	%r15
-	shlq	$4,%rdx
-	subq	$96,%rsp
-	leaq	(%rsi,%rdx,4),%rdx
-	andq	$-64,%rsp
-	movq	%rdi,64+0(%rsp)
-	movq	%rsi,64+8(%rsp)
-	movq	%rdx,64+16(%rsp)
-	movq	%rax,64+24(%rsp)
-L$prologue_avx:
-
-	vzeroupper
-	movl	0(%rdi),%eax
-	movl	4(%rdi),%ebx
-	movl	8(%rdi),%ecx
-	movl	12(%rdi),%edx
-	movl	16(%rdi),%r8d
-	movl	20(%rdi),%r9d
-	movl	24(%rdi),%r10d
-	movl	28(%rdi),%r11d
-	vmovdqa	K256+512+32(%rip),%xmm8
-	vmovdqa	K256+512+64(%rip),%xmm9
-	jmp	L$loop_avx
-.p2align	4
-L$loop_avx:
-	vmovdqa	K256+512(%rip),%xmm7
-	vmovdqu	0(%rsi),%xmm0
-	vmovdqu	16(%rsi),%xmm1
-	vmovdqu	32(%rsi),%xmm2
-	vmovdqu	48(%rsi),%xmm3
-	vpshufb	%xmm7,%xmm0,%xmm0
-	leaq	K256(%rip),%rbp
-	vpshufb	%xmm7,%xmm1,%xmm1
-	vpshufb	%xmm7,%xmm2,%xmm2
-	vpaddd	0(%rbp),%xmm0,%xmm4
-	vpshufb	%xmm7,%xmm3,%xmm3
-	vpaddd	32(%rbp),%xmm1,%xmm5
-	vpaddd	64(%rbp),%xmm2,%xmm6
-	vpaddd	96(%rbp),%xmm3,%xmm7
-	vmovdqa	%xmm4,0(%rsp)
-	movl	%eax,%r14d
-	vmovdqa	%xmm5,16(%rsp)
-	movl	%ebx,%edi
-	vmovdqa	%xmm6,32(%rsp)
-	xorl	%ecx,%edi
-	vmovdqa	%xmm7,48(%rsp)
-	movl	%r8d,%r13d
-	jmp	L$avx_00_47
-
-.p2align	4
-L$avx_00_47:
-	subq	$-128,%rbp
-	vpalignr	$4,%xmm0,%xmm1,%xmm4
-	shrdl	$14,%r13d,%r13d
-	movl	%r14d,%eax
-	movl	%r9d,%r12d
-	vpalignr	$4,%xmm2,%xmm3,%xmm7
-	shrdl	$9,%r14d,%r14d
-	xorl	%r8d,%r13d
-	xorl	%r10d,%r12d
-	vpsrld	$7,%xmm4,%xmm6
-	shrdl	$5,%r13d,%r13d
-	xorl	%eax,%r14d
-	andl	%r8d,%r12d
-	vpaddd	%xmm7,%xmm0,%xmm0
-	xorl	%r8d,%r13d
-	addl	0(%rsp),%r11d
-	movl	%eax,%r15d
-	vpsrld	$3,%xmm4,%xmm7
-	xorl	%r10d,%r12d
-	shrdl	$11,%r14d,%r14d
-	xorl	%ebx,%r15d
-	vpslld	$14,%xmm4,%xmm5
-	addl	%r12d,%r11d
-	shrdl	$6,%r13d,%r13d
-	andl	%r15d,%edi
-	vpxor	%xmm6,%xmm7,%xmm4
-	xorl	%eax,%r14d
-	addl	%r13d,%r11d
-	xorl	%ebx,%edi
-	vpshufd	$250,%xmm3,%xmm7
-	shrdl	$2,%r14d,%r14d
-	addl	%r11d,%edx
-	addl	%edi,%r11d
-	vpsrld	$11,%xmm6,%xmm6
-	movl	%edx,%r13d
-	addl	%r11d,%r14d
-	shrdl	$14,%r13d,%r13d
-	vpxor	%xmm5,%xmm4,%xmm4
-	movl	%r14d,%r11d
-	movl	%r8d,%r12d
-	shrdl	$9,%r14d,%r14d
-	vpslld	$11,%xmm5,%xmm5
-	xorl	%edx,%r13d
-	xorl	%r9d,%r12d
-	shrdl	$5,%r13d,%r13d
-	vpxor	%xmm6,%xmm4,%xmm4
-	xorl	%r11d,%r14d
-	andl	%edx,%r12d
-	xorl	%edx,%r13d
-	vpsrld	$10,%xmm7,%xmm6
-	addl	4(%rsp),%r10d
-	movl	%r11d,%edi
-	xorl	%r9d,%r12d
-	vpxor	%xmm5,%xmm4,%xmm4
-	shrdl	$11,%r14d,%r14d
-	xorl	%eax,%edi
-	addl	%r12d,%r10d
-	vpsrlq	$17,%xmm7,%xmm7
-	shrdl	$6,%r13d,%r13d
-	andl	%edi,%r15d
-	xorl	%r11d,%r14d
-	vpaddd	%xmm4,%xmm0,%xmm0
-	addl	%r13d,%r10d
-	xorl	%eax,%r15d
-	shrdl	$2,%r14d,%r14d
-	vpxor	%xmm7,%xmm6,%xmm6
-	addl	%r10d,%ecx
-	addl	%r15d,%r10d
-	movl	%ecx,%r13d
-	vpsrlq	$2,%xmm7,%xmm7
-	addl	%r10d,%r14d
-	shrdl	$14,%r13d,%r13d
-	movl	%r14d,%r10d
-	vpxor	%xmm7,%xmm6,%xmm6
-	movl	%edx,%r12d
-	shrdl	$9,%r14d,%r14d
-	xorl	%ecx,%r13d
-	vpshufb	%xmm8,%xmm6,%xmm6
-	xorl	%r8d,%r12d
-	shrdl	$5,%r13d,%r13d
-	xorl	%r10d,%r14d
-	vpaddd	%xmm6,%xmm0,%xmm0
-	andl	%ecx,%r12d
-	xorl	%ecx,%r13d
-	addl	8(%rsp),%r9d
-	vpshufd	$80,%xmm0,%xmm7
-	movl	%r10d,%r15d
-	xorl	%r8d,%r12d
-	shrdl	$11,%r14d,%r14d
-	vpsrld	$10,%xmm7,%xmm6
-	xorl	%r11d,%r15d
-	addl	%r12d,%r9d
-	shrdl	$6,%r13d,%r13d
-	vpsrlq	$17,%xmm7,%xmm7
-	andl	%r15d,%edi
-	xorl	%r10d,%r14d
-	addl	%r13d,%r9d
-	vpxor	%xmm7,%xmm6,%xmm6
-	xorl	%r11d,%edi
-	shrdl	$2,%r14d,%r14d
-	addl	%r9d,%ebx
-	vpsrlq	$2,%xmm7,%xmm7
-	addl	%edi,%r9d
-	movl	%ebx,%r13d
-	addl	%r9d,%r14d
-	vpxor	%xmm7,%xmm6,%xmm6
-	shrdl	$14,%r13d,%r13d
-	movl	%r14d,%r9d
-	movl	%ecx,%r12d
-	vpshufb	%xmm9,%xmm6,%xmm6
-	shrdl	$9,%r14d,%r14d
-	xorl	%ebx,%r13d
-	xorl	%edx,%r12d
-	vpaddd	%xmm6,%xmm0,%xmm0
-	shrdl	$5,%r13d,%r13d
-	xorl	%r9d,%r14d
-	andl	%ebx,%r12d
-	vpaddd	0(%rbp),%xmm0,%xmm6
-	xorl	%ebx,%r13d
-	addl	12(%rsp),%r8d
-	movl	%r9d,%edi
-	xorl	%edx,%r12d
-	shrdl	$11,%r14d,%r14d
-	xorl	%r10d,%edi
-	addl	%r12d,%r8d
-	shrdl	$6,%r13d,%r13d
-	andl	%edi,%r15d
-	xorl	%r9d,%r14d
-	addl	%r13d,%r8d
-	xorl	%r10d,%r15d
-	shrdl	$2,%r14d,%r14d
-	addl	%r8d,%eax
-	addl	%r15d,%r8d
-	movl	%eax,%r13d
-	addl	%r8d,%r14d
-	vmovdqa	%xmm6,0(%rsp)
-	vpalignr	$4,%xmm1,%xmm2,%xmm4
-	shrdl	$14,%r13d,%r13d
-	movl	%r14d,%r8d
-	movl	%ebx,%r12d
-	vpalignr	$4,%xmm3,%xmm0,%xmm7
-	shrdl	$9,%r14d,%r14d
-	xorl	%eax,%r13d
-	xorl	%ecx,%r12d
-	vpsrld	$7,%xmm4,%xmm6
-	shrdl	$5,%r13d,%r13d
-	xorl	%r8d,%r14d
-	andl	%eax,%r12d
-	vpaddd	%xmm7,%xmm1,%xmm1
-	xorl	%eax,%r13d
-	addl	16(%rsp),%edx
-	movl	%r8d,%r15d
-	vpsrld	$3,%xmm4,%xmm7
-	xorl	%ecx,%r12d
-	shrdl	$11,%r14d,%r14d
-	xorl	%r9d,%r15d
-	vpslld	$14,%xmm4,%xmm5
-	addl	%r12d,%edx
-	shrdl	$6,%r13d,%r13d
-	andl	%r15d,%edi
-	vpxor	%xmm6,%xmm7,%xmm4
-	xorl	%r8d,%r14d
-	addl	%r13d,%edx
-	xorl	%r9d,%edi
-	vpshufd	$250,%xmm0,%xmm7
-	shrdl	$2,%r14d,%r14d
-	addl	%edx,%r11d
-	addl	%edi,%edx
-	vpsrld	$11,%xmm6,%xmm6
-	movl	%r11d,%r13d
-	addl	%edx,%r14d
-	shrdl	$14,%r13d,%r13d
-	vpxor	%xmm5,%xmm4,%xmm4
-	movl	%r14d,%edx
-	movl	%eax,%r12d
-	shrdl	$9,%r14d,%r14d
-	vpslld	$11,%xmm5,%xmm5
-	xorl	%r11d,%r13d
-	xorl	%ebx,%r12d
-	shrdl	$5,%r13d,%r13d
-	vpxor	%xmm6,%xmm4,%xmm4
-	xorl	%edx,%r14d
-	andl	%r11d,%r12d
-	xorl	%r11d,%r13d
-	vpsrld	$10,%xmm7,%xmm6
-	addl	20(%rsp),%ecx
-	movl	%edx,%edi
-	xorl	%ebx,%r12d
-	vpxor	%xmm5,%xmm4,%xmm4
-	shrdl	$11,%r14d,%r14d
-	xorl	%r8d,%edi
-	addl	%r12d,%ecx
-	vpsrlq	$17,%xmm7,%xmm7
-	shrdl	$6,%r13d,%r13d
-	andl	%edi,%r15d
-	xorl	%edx,%r14d
-	vpaddd	%xmm4,%xmm1,%xmm1
-	addl	%r13d,%ecx
-	xorl	%r8d,%r15d
-	shrdl	$2,%r14d,%r14d
-	vpxor	%xmm7,%xmm6,%xmm6
-	addl	%ecx,%r10d
-	addl	%r15d,%ecx
-	movl	%r10d,%r13d
-	vpsrlq	$2,%xmm7,%xmm7
-	addl	%ecx,%r14d
-	shrdl	$14,%r13d,%r13d
-	movl	%r14d,%ecx
-	vpxor	%xmm7,%xmm6,%xmm6
-	movl	%r11d,%r12d
-	shrdl	$9,%r14d,%r14d
-	xorl	%r10d,%r13d
-	vpshufb	%xmm8,%xmm6,%xmm6
-	xorl	%eax,%r12d
-	shrdl	$5,%r13d,%r13d
-	xorl	%ecx,%r14d
-	vpaddd	%xmm6,%xmm1,%xmm1
-	andl	%r10d,%r12d
-	xorl	%r10d,%r13d
-	addl	24(%rsp),%ebx
-	vpshufd	$80,%xmm1,%xmm7
-	movl	%ecx,%r15d
-	xorl	%eax,%r12d
-	shrdl	$11,%r14d,%r14d
-	vpsrld	$10,%xmm7,%xmm6
-	xorl	%edx,%r15d
-	addl	%r12d,%ebx
-	shrdl	$6,%r13d,%r13d
-	vpsrlq	$17,%xmm7,%xmm7
-	andl	%r15d,%edi
-	xorl	%ecx,%r14d
-	addl	%r13d,%ebx
-	vpxor	%xmm7,%xmm6,%xmm6
-	xorl	%edx,%edi
-	shrdl	$2,%r14d,%r14d
-	addl	%ebx,%r9d
-	vpsrlq	$2,%xmm7,%xmm7
-	addl	%edi,%ebx
-	movl	%r9d,%r13d
-	addl	%ebx,%r14d
-	vpxor	%xmm7,%xmm6,%xmm6
-	shrdl	$14,%r13d,%r13d
-	movl	%r14d,%ebx
-	movl	%r10d,%r12d
-	vpshufb	%xmm9,%xmm6,%xmm6
-	shrdl	$9,%r14d,%r14d
-	xorl	%r9d,%r13d
-	xorl	%r11d,%r12d
-	vpaddd	%xmm6,%xmm1,%xmm1
-	shrdl	$5,%r13d,%r13d
-	xorl	%ebx,%r14d
-	andl	%r9d,%r12d
-	vpaddd	32(%rbp),%xmm1,%xmm6
-	xorl	%r9d,%r13d
-	addl	28(%rsp),%eax
-	movl	%ebx,%edi
-	xorl	%r11d,%r12d
-	shrdl	$11,%r14d,%r14d
-	xorl	%ecx,%edi
-	addl	%r12d,%eax
-	shrdl	$6,%r13d,%r13d
-	andl	%edi,%r15d
-	xorl	%ebx,%r14d
-	addl	%r13d,%eax
-	xorl	%ecx,%r15d
-	shrdl	$2,%r14d,%r14d
-	addl	%eax,%r8d
-	addl	%r15d,%eax
-	movl	%r8d,%r13d
-	addl	%eax,%r14d
-	vmovdqa	%xmm6,16(%rsp)
-	vpalignr	$4,%xmm2,%xmm3,%xmm4
-	shrdl	$14,%r13d,%r13d
-	movl	%r14d,%eax
-	movl	%r9d,%r12d
-	vpalignr	$4,%xmm0,%xmm1,%xmm7
-	shrdl	$9,%r14d,%r14d
-	xorl	%r8d,%r13d
-	xorl	%r10d,%r12d
-	vpsrld	$7,%xmm4,%xmm6
-	shrdl	$5,%r13d,%r13d
-	xorl	%eax,%r14d
-	andl	%r8d,%r12d
-	vpaddd	%xmm7,%xmm2,%xmm2
-	xorl	%r8d,%r13d
-	addl	32(%rsp),%r11d
-	movl	%eax,%r15d
-	vpsrld	$3,%xmm4,%xmm7
-	xorl	%r10d,%r12d
-	shrdl	$11,%r14d,%r14d
-	xorl	%ebx,%r15d
-	vpslld	$14,%xmm4,%xmm5
-	addl	%r12d,%r11d
-	shrdl	$6,%r13d,%r13d
-	andl	%r15d,%edi
-	vpxor	%xmm6,%xmm7,%xmm4
-	xorl	%eax,%r14d
-	addl	%r13d,%r11d
-	xorl	%ebx,%edi
-	vpshufd	$250,%xmm1,%xmm7
-	shrdl	$2,%r14d,%r14d
-	addl	%r11d,%edx
-	addl	%edi,%r11d
-	vpsrld	$11,%xmm6,%xmm6
-	movl	%edx,%r13d
-	addl	%r11d,%r14d
-	shrdl	$14,%r13d,%r13d
-	vpxor	%xmm5,%xmm4,%xmm4
-	movl	%r14d,%r11d
-	movl	%r8d,%r12d
-	shrdl	$9,%r14d,%r14d
-	vpslld	$11,%xmm5,%xmm5
-	xorl	%edx,%r13d
-	xorl	%r9d,%r12d
-	shrdl	$5,%r13d,%r13d
-	vpxor	%xmm6,%xmm4,%xmm4
-	xorl	%r11d,%r14d
-	andl	%edx,%r12d
-	xorl	%edx,%r13d
-	vpsrld	$10,%xmm7,%xmm6
-	addl	36(%rsp),%r10d
-	movl	%r11d,%edi
-	xorl	%r9d,%r12d
-	vpxor	%xmm5,%xmm4,%xmm4
-	shrdl	$11,%r14d,%r14d
-	xorl	%eax,%edi
-	addl	%r12d,%r10d
-	vpsrlq	$17,%xmm7,%xmm7
-	shrdl	$6,%r13d,%r13d
-	andl	%edi,%r15d
-	xorl	%r11d,%r14d
-	vpaddd	%xmm4,%xmm2,%xmm2
-	addl	%r13d,%r10d
-	xorl	%eax,%r15d
-	shrdl	$2,%r14d,%r14d
-	vpxor	%xmm7,%xmm6,%xmm6
-	addl	%r10d,%ecx
-	addl	%r15d,%r10d
-	movl	%ecx,%r13d
-	vpsrlq	$2,%xmm7,%xmm7
-	addl	%r10d,%r14d
-	shrdl	$14,%r13d,%r13d
-	movl	%r14d,%r10d
-	vpxor	%xmm7,%xmm6,%xmm6
-	movl	%edx,%r12d
-	shrdl	$9,%r14d,%r14d
-	xorl	%ecx,%r13d
-	vpshufb	%xmm8,%xmm6,%xmm6
-	xorl	%r8d,%r12d
-	shrdl	$5,%r13d,%r13d
-	xorl	%r10d,%r14d
-	vpaddd	%xmm6,%xmm2,%xmm2
-	andl	%ecx,%r12d
-	xorl	%ecx,%r13d
-	addl	40(%rsp),%r9d
-	vpshufd	$80,%xmm2,%xmm7
-	movl	%r10d,%r15d
-	xorl	%r8d,%r12d
-	shrdl	$11,%r14d,%r14d
-	vpsrld	$10,%xmm7,%xmm6
-	xorl	%r11d,%r15d
-	addl	%r12d,%r9d
-	shrdl	$6,%r13d,%r13d
-	vpsrlq	$17,%xmm7,%xmm7
-	andl	%r15d,%edi
-	xorl	%r10d,%r14d
-	addl	%r13d,%r9d
-	vpxor	%xmm7,%xmm6,%xmm6
-	xorl	%r11d,%edi
-	shrdl	$2,%r14d,%r14d
-	addl	%r9d,%ebx
-	vpsrlq	$2,%xmm7,%xmm7
-	addl	%edi,%r9d
-	movl	%ebx,%r13d
-	addl	%r9d,%r14d
-	vpxor	%xmm7,%xmm6,%xmm6
-	shrdl	$14,%r13d,%r13d
-	movl	%r14d,%r9d
-	movl	%ecx,%r12d
-	vpshufb	%xmm9,%xmm6,%xmm6
-	shrdl	$9,%r14d,%r14d
-	xorl	%ebx,%r13d
-	xorl	%edx,%r12d
-	vpaddd	%xmm6,%xmm2,%xmm2
-	shrdl	$5,%r13d,%r13d
-	xorl	%r9d,%r14d
-	andl	%ebx,%r12d
-	vpaddd	64(%rbp),%xmm2,%xmm6
-	xorl	%ebx,%r13d
-	addl	44(%rsp),%r8d
-	movl	%r9d,%edi
-	xorl	%edx,%r12d
-	shrdl	$11,%r14d,%r14d
-	xorl	%r10d,%edi
-	addl	%r12d,%r8d
-	shrdl	$6,%r13d,%r13d
-	andl	%edi,%r15d
-	xorl	%r9d,%r14d
-	addl	%r13d,%r8d
-	xorl	%r10d,%r15d
-	shrdl	$2,%r14d,%r14d
-	addl	%r8d,%eax
-	addl	%r15d,%r8d
-	movl	%eax,%r13d
-	addl	%r8d,%r14d
-	vmovdqa	%xmm6,32(%rsp)
-	vpalignr	$4,%xmm3,%xmm0,%xmm4
-	shrdl	$14,%r13d,%r13d
-	movl	%r14d,%r8d
-	movl	%ebx,%r12d
-	vpalignr	$4,%xmm1,%xmm2,%xmm7
-	shrdl	$9,%r14d,%r14d
-	xorl	%eax,%r13d
-	xorl	%ecx,%r12d
-	vpsrld	$7,%xmm4,%xmm6
-	shrdl	$5,%r13d,%r13d
-	xorl	%r8d,%r14d
-	andl	%eax,%r12d
-	vpaddd	%xmm7,%xmm3,%xmm3
-	xorl	%eax,%r13d
-	addl	48(%rsp),%edx
-	movl	%r8d,%r15d
-	vpsrld	$3,%xmm4,%xmm7
-	xorl	%ecx,%r12d
-	shrdl	$11,%r14d,%r14d
-	xorl	%r9d,%r15d
-	vpslld	$14,%xmm4,%xmm5
-	addl	%r12d,%edx
-	shrdl	$6,%r13d,%r13d
-	andl	%r15d,%edi
-	vpxor	%xmm6,%xmm7,%xmm4
-	xorl	%r8d,%r14d
-	addl	%r13d,%edx
-	xorl	%r9d,%edi
-	vpshufd	$250,%xmm2,%xmm7
-	shrdl	$2,%r14d,%r14d
-	addl	%edx,%r11d
-	addl	%edi,%edx
-	vpsrld	$11,%xmm6,%xmm6
-	movl	%r11d,%r13d
-	addl	%edx,%r14d
-	shrdl	$14,%r13d,%r13d
-	vpxor	%xmm5,%xmm4,%xmm4
-	movl	%r14d,%edx
-	movl	%eax,%r12d
-	shrdl	$9,%r14d,%r14d
-	vpslld	$11,%xmm5,%xmm5
-	xorl	%r11d,%r13d
-	xorl	%ebx,%r12d
-	shrdl	$5,%r13d,%r13d
-	vpxor	%xmm6,%xmm4,%xmm4
-	xorl	%edx,%r14d
-	andl	%r11d,%r12d
-	xorl	%r11d,%r13d
-	vpsrld	$10,%xmm7,%xmm6
-	addl	52(%rsp),%ecx
-	movl	%edx,%edi
-	xorl	%ebx,%r12d
-	vpxor	%xmm5,%xmm4,%xmm4
-	shrdl	$11,%r14d,%r14d
-	xorl	%r8d,%edi
-	addl	%r12d,%ecx
-	vpsrlq	$17,%xmm7,%xmm7
-	shrdl	$6,%r13d,%r13d
-	andl	%edi,%r15d
-	xorl	%edx,%r14d
-	vpaddd	%xmm4,%xmm3,%xmm3
-	addl	%r13d,%ecx
-	xorl	%r8d,%r15d
-	shrdl	$2,%r14d,%r14d
-	vpxor	%xmm7,%xmm6,%xmm6
-	addl	%ecx,%r10d
-	addl	%r15d,%ecx
-	movl	%r10d,%r13d
-	vpsrlq	$2,%xmm7,%xmm7
-	addl	%ecx,%r14d
-	shrdl	$14,%r13d,%r13d
-	movl	%r14d,%ecx
-	vpxor	%xmm7,%xmm6,%xmm6
-	movl	%r11d,%r12d
-	shrdl	$9,%r14d,%r14d
-	xorl	%r10d,%r13d
-	vpshufb	%xmm8,%xmm6,%xmm6
-	xorl	%eax,%r12d
-	shrdl	$5,%r13d,%r13d
-	xorl	%ecx,%r14d
-	vpaddd	%xmm6,%xmm3,%xmm3
-	andl	%r10d,%r12d
-	xorl	%r10d,%r13d
-	addl	56(%rsp),%ebx
-	vpshufd	$80,%xmm3,%xmm7
-	movl	%ecx,%r15d
-	xorl	%eax,%r12d
-	shrdl	$11,%r14d,%r14d
-	vpsrld	$10,%xmm7,%xmm6
-	xorl	%edx,%r15d
-	addl	%r12d,%ebx
-	shrdl	$6,%r13d,%r13d
-	vpsrlq	$17,%xmm7,%xmm7
-	andl	%r15d,%edi
-	xorl	%ecx,%r14d
-	addl	%r13d,%ebx
-	vpxor	%xmm7,%xmm6,%xmm6
-	xorl	%edx,%edi
-	shrdl	$2,%r14d,%r14d
-	addl	%ebx,%r9d
-	vpsrlq	$2,%xmm7,%xmm7
-	addl	%edi,%ebx
-	movl	%r9d,%r13d
-	addl	%ebx,%r14d
-	vpxor	%xmm7,%xmm6,%xmm6
-	shrdl	$14,%r13d,%r13d
-	movl	%r14d,%ebx
-	movl	%r10d,%r12d
-	vpshufb	%xmm9,%xmm6,%xmm6
-	shrdl	$9,%r14d,%r14d
-	xorl	%r9d,%r13d
-	xorl	%r11d,%r12d
-	vpaddd	%xmm6,%xmm3,%xmm3
-	shrdl	$5,%r13d,%r13d
-	xorl	%ebx,%r14d
-	andl	%r9d,%r12d
-	vpaddd	96(%rbp),%xmm3,%xmm6
-	xorl	%r9d,%r13d
-	addl	60(%rsp),%eax
-	movl	%ebx,%edi
-	xorl	%r11d,%r12d
-	shrdl	$11,%r14d,%r14d
-	xorl	%ecx,%edi
-	addl	%r12d,%eax
-	shrdl	$6,%r13d,%r13d
-	andl	%edi,%r15d
-	xorl	%ebx,%r14d
-	addl	%r13d,%eax
-	xorl	%ecx,%r15d
-	shrdl	$2,%r14d,%r14d
-	addl	%eax,%r8d
-	addl	%r15d,%eax
-	movl	%r8d,%r13d
-	addl	%eax,%r14d
-	vmovdqa	%xmm6,48(%rsp)
-	cmpb	$0,131(%rbp)
-	jne	L$avx_00_47
-	shrdl	$14,%r13d,%r13d
-	movl	%r14d,%eax
-	movl	%r9d,%r12d
-	shrdl	$9,%r14d,%r14d
-	xorl	%r8d,%r13d
-	xorl	%r10d,%r12d
-	shrdl	$5,%r13d,%r13d
-	xorl	%eax,%r14d
-	andl	%r8d,%r12d
-	xorl	%r8d,%r13d
-	addl	0(%rsp),%r11d
-	movl	%eax,%r15d
-	xorl	%r10d,%r12d
-	shrdl	$11,%r14d,%r14d
-	xorl	%ebx,%r15d
-	addl	%r12d,%r11d
-	shrdl	$6,%r13d,%r13d
-	andl	%r15d,%edi
-	xorl	%eax,%r14d
-	addl	%r13d,%r11d
-	xorl	%ebx,%edi
-	shrdl	$2,%r14d,%r14d
-	addl	%r11d,%edx
-	addl	%edi,%r11d
-	movl	%edx,%r13d
-	addl	%r11d,%r14d
-	shrdl	$14,%r13d,%r13d
-	movl	%r14d,%r11d
-	movl	%r8d,%r12d
-	shrdl	$9,%r14d,%r14d
-	xorl	%edx,%r13d
-	xorl	%r9d,%r12d
-	shrdl	$5,%r13d,%r13d
-	xorl	%r11d,%r14d
-	andl	%edx,%r12d
-	xorl	%edx,%r13d
-	addl	4(%rsp),%r10d
-	movl	%r11d,%edi
-	xorl	%r9d,%r12d
-	shrdl	$11,%r14d,%r14d
-	xorl	%eax,%edi
-	addl	%r12d,%r10d
-	shrdl	$6,%r13d,%r13d
-	andl	%edi,%r15d
-	xorl	%r11d,%r14d
-	addl	%r13d,%r10d
-	xorl	%eax,%r15d
-	shrdl	$2,%r14d,%r14d
-	addl	%r10d,%ecx
-	addl	%r15d,%r10d
-	movl	%ecx,%r13d
-	addl	%r10d,%r14d
-	shrdl	$14,%r13d,%r13d
-	movl	%r14d,%r10d
-	movl	%edx,%r12d
-	shrdl	$9,%r14d,%r14d
-	xorl	%ecx,%r13d
-	xorl	%r8d,%r12d
-	shrdl	$5,%r13d,%r13d
-	xorl	%r10d,%r14d
-	andl	%ecx,%r12d
-	xorl	%ecx,%r13d
-	addl	8(%rsp),%r9d
-	movl	%r10d,%r15d
-	xorl	%r8d,%r12d
-	shrdl	$11,%r14d,%r14d
-	xorl	%r11d,%r15d
-	addl	%r12d,%r9d
-	shrdl	$6,%r13d,%r13d
-	andl	%r15d,%edi
-	xorl	%r10d,%r14d
-	addl	%r13d,%r9d
-	xorl	%r11d,%edi
-	shrdl	$2,%r14d,%r14d
-	addl	%r9d,%ebx
-	addl	%edi,%r9d
-	movl	%ebx,%r13d
-	addl	%r9d,%r14d
-	shrdl	$14,%r13d,%r13d
-	movl	%r14d,%r9d
-	movl	%ecx,%r12d
-	shrdl	$9,%r14d,%r14d
-	xorl	%ebx,%r13d
-	xorl	%edx,%r12d
-	shrdl	$5,%r13d,%r13d
-	xorl	%r9d,%r14d
-	andl	%ebx,%r12d
-	xorl	%ebx,%r13d
-	addl	12(%rsp),%r8d
-	movl	%r9d,%edi
-	xorl	%edx,%r12d
-	shrdl	$11,%r14d,%r14d
-	xorl	%r10d,%edi
-	addl	%r12d,%r8d
-	shrdl	$6,%r13d,%r13d
-	andl	%edi,%r15d
-	xorl	%r9d,%r14d
-	addl	%r13d,%r8d
-	xorl	%r10d,%r15d
-	shrdl	$2,%r14d,%r14d
-	addl	%r8d,%eax
-	addl	%r15d,%r8d
-	movl	%eax,%r13d
-	addl	%r8d,%r14d
-	shrdl	$14,%r13d,%r13d
-	movl	%r14d,%r8d
-	movl	%ebx,%r12d
-	shrdl	$9,%r14d,%r14d
-	xorl	%eax,%r13d
-	xorl	%ecx,%r12d
-	shrdl	$5,%r13d,%r13d
-	xorl	%r8d,%r14d
-	andl	%eax,%r12d
-	xorl	%eax,%r13d
-	addl	16(%rsp),%edx
-	movl	%r8d,%r15d
-	xorl	%ecx,%r12d
-	shrdl	$11,%r14d,%r14d
-	xorl	%r9d,%r15d
-	addl	%r12d,%edx
-	shrdl	$6,%r13d,%r13d
-	andl	%r15d,%edi
-	xorl	%r8d,%r14d
-	addl	%r13d,%edx
-	xorl	%r9d,%edi
-	shrdl	$2,%r14d,%r14d
-	addl	%edx,%r11d
-	addl	%edi,%edx
-	movl	%r11d,%r13d
-	addl	%edx,%r14d
-	shrdl	$14,%r13d,%r13d
-	movl	%r14d,%edx
-	movl	%eax,%r12d
-	shrdl	$9,%r14d,%r14d
-	xorl	%r11d,%r13d
-	xorl	%ebx,%r12d
-	shrdl	$5,%r13d,%r13d
-	xorl	%edx,%r14d
-	andl	%r11d,%r12d
-	xorl	%r11d,%r13d
-	addl	20(%rsp),%ecx
-	movl	%edx,%edi
-	xorl	%ebx,%r12d
-	shrdl	$11,%r14d,%r14d
-	xorl	%r8d,%edi
-	addl	%r12d,%ecx
-	shrdl	$6,%r13d,%r13d
-	andl	%edi,%r15d
-	xorl	%edx,%r14d
-	addl	%r13d,%ecx
-	xorl	%r8d,%r15d
-	shrdl	$2,%r14d,%r14d
-	addl	%ecx,%r10d
-	addl	%r15d,%ecx
-	movl	%r10d,%r13d
-	addl	%ecx,%r14d
-	shrdl	$14,%r13d,%r13d
-	movl	%r14d,%ecx
-	movl	%r11d,%r12d
-	shrdl	$9,%r14d,%r14d
-	xorl	%r10d,%r13d
-	xorl	%eax,%r12d
-	shrdl	$5,%r13d,%r13d
-	xorl	%ecx,%r14d
-	andl	%r10d,%r12d
-	xorl	%r10d,%r13d
-	addl	24(%rsp),%ebx
-	movl	%ecx,%r15d
-	xorl	%eax,%r12d
-	shrdl	$11,%r14d,%r14d
-	xorl	%edx,%r15d
-	addl	%r12d,%ebx
-	shrdl	$6,%r13d,%r13d
-	andl	%r15d,%edi
-	xorl	%ecx,%r14d
-	addl	%r13d,%ebx
-	xorl	%edx,%edi
-	shrdl	$2,%r14d,%r14d
-	addl	%ebx,%r9d
-	addl	%edi,%ebx
-	movl	%r9d,%r13d
-	addl	%ebx,%r14d
-	shrdl	$14,%r13d,%r13d
-	movl	%r14d,%ebx
-	movl	%r10d,%r12d
-	shrdl	$9,%r14d,%r14d
-	xorl	%r9d,%r13d
-	xorl	%r11d,%r12d
-	shrdl	$5,%r13d,%r13d
-	xorl	%ebx,%r14d
-	andl	%r9d,%r12d
-	xorl	%r9d,%r13d
-	addl	28(%rsp),%eax
-	movl	%ebx,%edi
-	xorl	%r11d,%r12d
-	shrdl	$11,%r14d,%r14d
-	xorl	%ecx,%edi
-	addl	%r12d,%eax
-	shrdl	$6,%r13d,%r13d
-	andl	%edi,%r15d
-	xorl	%ebx,%r14d
-	addl	%r13d,%eax
-	xorl	%ecx,%r15d
-	shrdl	$2,%r14d,%r14d
-	addl	%eax,%r8d
-	addl	%r15d,%eax
-	movl	%r8d,%r13d
-	addl	%eax,%r14d
-	shrdl	$14,%r13d,%r13d
-	movl	%r14d,%eax
-	movl	%r9d,%r12d
-	shrdl	$9,%r14d,%r14d
-	xorl	%r8d,%r13d
-	xorl	%r10d,%r12d
-	shrdl	$5,%r13d,%r13d
-	xorl	%eax,%r14d
-	andl	%r8d,%r12d
-	xorl	%r8d,%r13d
-	addl	32(%rsp),%r11d
-	movl	%eax,%r15d
-	xorl	%r10d,%r12d
-	shrdl	$11,%r14d,%r14d
-	xorl	%ebx,%r15d
-	addl	%r12d,%r11d
-	shrdl	$6,%r13d,%r13d
-	andl	%r15d,%edi
-	xorl	%eax,%r14d
-	addl	%r13d,%r11d
-	xorl	%ebx,%edi
-	shrdl	$2,%r14d,%r14d
-	addl	%r11d,%edx
-	addl	%edi,%r11d
-	movl	%edx,%r13d
-	addl	%r11d,%r14d
-	shrdl	$14,%r13d,%r13d
-	movl	%r14d,%r11d
-	movl	%r8d,%r12d
-	shrdl	$9,%r14d,%r14d
-	xorl	%edx,%r13d
-	xorl	%r9d,%r12d
-	shrdl	$5,%r13d,%r13d
-	xorl	%r11d,%r14d
-	andl	%edx,%r12d
-	xorl	%edx,%r13d
-	addl	36(%rsp),%r10d
-	movl	%r11d,%edi
-	xorl	%r9d,%r12d
-	shrdl	$11,%r14d,%r14d
-	xorl	%eax,%edi
-	addl	%r12d,%r10d
-	shrdl	$6,%r13d,%r13d
-	andl	%edi,%r15d
-	xorl	%r11d,%r14d
-	addl	%r13d,%r10d
-	xorl	%eax,%r15d
-	shrdl	$2,%r14d,%r14d
-	addl	%r10d,%ecx
-	addl	%r15d,%r10d
-	movl	%ecx,%r13d
-	addl	%r10d,%r14d
-	shrdl	$14,%r13d,%r13d
-	movl	%r14d,%r10d
-	movl	%edx,%r12d
-	shrdl	$9,%r14d,%r14d
-	xorl	%ecx,%r13d
-	xorl	%r8d,%r12d
-	shrdl	$5,%r13d,%r13d
-	xorl	%r10d,%r14d
-	andl	%ecx,%r12d
-	xorl	%ecx,%r13d
-	addl	40(%rsp),%r9d
-	movl	%r10d,%r15d
-	xorl	%r8d,%r12d
-	shrdl	$11,%r14d,%r14d
-	xorl	%r11d,%r15d
-	addl	%r12d,%r9d
-	shrdl	$6,%r13d,%r13d
-	andl	%r15d,%edi
-	xorl	%r10d,%r14d
-	addl	%r13d,%r9d
-	xorl	%r11d,%edi
-	shrdl	$2,%r14d,%r14d
-	addl	%r9d,%ebx
-	addl	%edi,%r9d
-	movl	%ebx,%r13d
-	addl	%r9d,%r14d
-	shrdl	$14,%r13d,%r13d
-	movl	%r14d,%r9d
-	movl	%ecx,%r12d
-	shrdl	$9,%r14d,%r14d
-	xorl	%ebx,%r13d
-	xorl	%edx,%r12d
-	shrdl	$5,%r13d,%r13d
-	xorl	%r9d,%r14d
-	andl	%ebx,%r12d
-	xorl	%ebx,%r13d
-	addl	44(%rsp),%r8d
-	movl	%r9d,%edi
-	xorl	%edx,%r12d
-	shrdl	$11,%r14d,%r14d
-	xorl	%r10d,%edi
-	addl	%r12d,%r8d
-	shrdl	$6,%r13d,%r13d
-	andl	%edi,%r15d
-	xorl	%r9d,%r14d
-	addl	%r13d,%r8d
-	xorl	%r10d,%r15d
-	shrdl	$2,%r14d,%r14d
-	addl	%r8d,%eax
-	addl	%r15d,%r8d
-	movl	%eax,%r13d
-	addl	%r8d,%r14d
-	shrdl	$14,%r13d,%r13d
-	movl	%r14d,%r8d
-	movl	%ebx,%r12d
-	shrdl	$9,%r14d,%r14d
-	xorl	%eax,%r13d
-	xorl	%ecx,%r12d
-	shrdl	$5,%r13d,%r13d
-	xorl	%r8d,%r14d
-	andl	%eax,%r12d
-	xorl	%eax,%r13d
-	addl	48(%rsp),%edx
-	movl	%r8d,%r15d
-	xorl	%ecx,%r12d
-	shrdl	$11,%r14d,%r14d
-	xorl	%r9d,%r15d
-	addl	%r12d,%edx
-	shrdl	$6,%r13d,%r13d
-	andl	%r15d,%edi
-	xorl	%r8d,%r14d
-	addl	%r13d,%edx
-	xorl	%r9d,%edi
-	shrdl	$2,%r14d,%r14d
-	addl	%edx,%r11d
-	addl	%edi,%edx
-	movl	%r11d,%r13d
-	addl	%edx,%r14d
-	shrdl	$14,%r13d,%r13d
-	movl	%r14d,%edx
-	movl	%eax,%r12d
-	shrdl	$9,%r14d,%r14d
-	xorl	%r11d,%r13d
-	xorl	%ebx,%r12d
-	shrdl	$5,%r13d,%r13d
-	xorl	%edx,%r14d
-	andl	%r11d,%r12d
-	xorl	%r11d,%r13d
-	addl	52(%rsp),%ecx
-	movl	%edx,%edi
-	xorl	%ebx,%r12d
-	shrdl	$11,%r14d,%r14d
-	xorl	%r8d,%edi
-	addl	%r12d,%ecx
-	shrdl	$6,%r13d,%r13d
-	andl	%edi,%r15d
-	xorl	%edx,%r14d
-	addl	%r13d,%ecx
-	xorl	%r8d,%r15d
-	shrdl	$2,%r14d,%r14d
-	addl	%ecx,%r10d
-	addl	%r15d,%ecx
-	movl	%r10d,%r13d
-	addl	%ecx,%r14d
-	shrdl	$14,%r13d,%r13d
-	movl	%r14d,%ecx
-	movl	%r11d,%r12d
-	shrdl	$9,%r14d,%r14d
-	xorl	%r10d,%r13d
-	xorl	%eax,%r12d
-	shrdl	$5,%r13d,%r13d
-	xorl	%ecx,%r14d
-	andl	%r10d,%r12d
-	xorl	%r10d,%r13d
-	addl	56(%rsp),%ebx
-	movl	%ecx,%r15d
-	xorl	%eax,%r12d
-	shrdl	$11,%r14d,%r14d
-	xorl	%edx,%r15d
-	addl	%r12d,%ebx
-	shrdl	$6,%r13d,%r13d
-	andl	%r15d,%edi
-	xorl	%ecx,%r14d
-	addl	%r13d,%ebx
-	xorl	%edx,%edi
-	shrdl	$2,%r14d,%r14d
-	addl	%ebx,%r9d
-	addl	%edi,%ebx
-	movl	%r9d,%r13d
-	addl	%ebx,%r14d
-	shrdl	$14,%r13d,%r13d
-	movl	%r14d,%ebx
-	movl	%r10d,%r12d
-	shrdl	$9,%r14d,%r14d
-	xorl	%r9d,%r13d
-	xorl	%r11d,%r12d
-	shrdl	$5,%r13d,%r13d
-	xorl	%ebx,%r14d
-	andl	%r9d,%r12d
-	xorl	%r9d,%r13d
-	addl	60(%rsp),%eax
-	movl	%ebx,%edi
-	xorl	%r11d,%r12d
-	shrdl	$11,%r14d,%r14d
-	xorl	%ecx,%edi
-	addl	%r12d,%eax
-	shrdl	$6,%r13d,%r13d
-	andl	%edi,%r15d
-	xorl	%ebx,%r14d
-	addl	%r13d,%eax
-	xorl	%ecx,%r15d
-	shrdl	$2,%r14d,%r14d
-	addl	%eax,%r8d
-	addl	%r15d,%eax
-	movl	%r8d,%r13d
-	addl	%eax,%r14d
-	movq	64+0(%rsp),%rdi
-	movl	%r14d,%eax
-
-	addl	0(%rdi),%eax
-	leaq	64(%rsi),%rsi
-	addl	4(%rdi),%ebx
-	addl	8(%rdi),%ecx
-	addl	12(%rdi),%edx
-	addl	16(%rdi),%r8d
-	addl	20(%rdi),%r9d
-	addl	24(%rdi),%r10d
-	addl	28(%rdi),%r11d
-
-	cmpq	64+16(%rsp),%rsi
-
-	movl	%eax,0(%rdi)
-	movl	%ebx,4(%rdi)
-	movl	%ecx,8(%rdi)
-	movl	%edx,12(%rdi)
-	movl	%r8d,16(%rdi)
-	movl	%r9d,20(%rdi)
-	movl	%r10d,24(%rdi)
-	movl	%r11d,28(%rdi)
-	jb	L$loop_avx
-
-	movq	64+24(%rsp),%rsi
-	vzeroupper
-	movq	-48(%rsi),%r15
-	movq	-40(%rsi),%r14
-	movq	-32(%rsi),%r13
-	movq	-24(%rsi),%r12
-	movq	-16(%rsi),%rbp
-	movq	-8(%rsi),%rbx
-	leaq	(%rsi),%rsp
-L$epilogue_avx:
-	.byte	0xf3,0xc3
-
-#endif
diff --git a/third_party/boringssl/mac-x86_64/crypto/sha/sha512-x86_64.S b/third_party/boringssl/mac-x86_64/crypto/sha/sha512-x86_64.S
deleted file mode 100644
index 0b738e6..0000000
--- a/third_party/boringssl/mac-x86_64/crypto/sha/sha512-x86_64.S
+++ /dev/null
@@ -1,4027 +0,0 @@
-#if defined(__x86_64__) && !defined(OPENSSL_NO_ASM)
-.text	
-
-
-.globl	_sha512_block_data_order
-.private_extern _sha512_block_data_order
-
-.p2align	4
-_sha512_block_data_order:
-	leaq	_OPENSSL_ia32cap_P(%rip),%r11
-	movl	0(%r11),%r9d
-	movl	4(%r11),%r10d
-	movl	8(%r11),%r11d
-	testl	$2048,%r10d
-	jnz	L$xop_shortcut
-	andl	$1073741824,%r9d
-	andl	$268435968,%r10d
-	orl	%r9d,%r10d
-	cmpl	$1342177792,%r10d
-	je	L$avx_shortcut
-	movq	%rsp,%rax
-	pushq	%rbx
-	pushq	%rbp
-	pushq	%r12
-	pushq	%r13
-	pushq	%r14
-	pushq	%r15
-	shlq	$4,%rdx
-	subq	$128+32,%rsp
-	leaq	(%rsi,%rdx,8),%rdx
-	andq	$-64,%rsp
-	movq	%rdi,128+0(%rsp)
-	movq	%rsi,128+8(%rsp)
-	movq	%rdx,128+16(%rsp)
-	movq	%rax,128+24(%rsp)
-L$prologue:
-
-	movq	0(%rdi),%rax
-	movq	8(%rdi),%rbx
-	movq	16(%rdi),%rcx
-	movq	24(%rdi),%rdx
-	movq	32(%rdi),%r8
-	movq	40(%rdi),%r9
-	movq	48(%rdi),%r10
-	movq	56(%rdi),%r11
-	jmp	L$loop
-
-.p2align	4
-L$loop:
-	movq	%rbx,%rdi
-	leaq	K512(%rip),%rbp
-	xorq	%rcx,%rdi
-	movq	0(%rsi),%r12
-	movq	%r8,%r13
-	movq	%rax,%r14
-	bswapq	%r12
-	rorq	$23,%r13
-	movq	%r9,%r15
-
-	xorq	%r8,%r13
-	rorq	$5,%r14
-	xorq	%r10,%r15
-
-	movq	%r12,0(%rsp)
-	xorq	%rax,%r14
-	andq	%r8,%r15
-
-	rorq	$4,%r13
-	addq	%r11,%r12
-	xorq	%r10,%r15
-
-	rorq	$6,%r14
-	xorq	%r8,%r13
-	addq	%r15,%r12
-
-	movq	%rax,%r15
-	addq	(%rbp),%r12
-	xorq	%rax,%r14
-
-	xorq	%rbx,%r15
-	rorq	$14,%r13
-	movq	%rbx,%r11
-
-	andq	%r15,%rdi
-	rorq	$28,%r14
-	addq	%r13,%r12
-
-	xorq	%rdi,%r11
-	addq	%r12,%rdx
-	addq	%r12,%r11
-
-	leaq	8(%rbp),%rbp
-	addq	%r14,%r11
-	movq	8(%rsi),%r12
-	movq	%rdx,%r13
-	movq	%r11,%r14
-	bswapq	%r12
-	rorq	$23,%r13
-	movq	%r8,%rdi
-
-	xorq	%rdx,%r13
-	rorq	$5,%r14
-	xorq	%r9,%rdi
-
-	movq	%r12,8(%rsp)
-	xorq	%r11,%r14
-	andq	%rdx,%rdi
-
-	rorq	$4,%r13
-	addq	%r10,%r12
-	xorq	%r9,%rdi
-
-	rorq	$6,%r14
-	xorq	%rdx,%r13
-	addq	%rdi,%r12
-
-	movq	%r11,%rdi
-	addq	(%rbp),%r12
-	xorq	%r11,%r14
-
-	xorq	%rax,%rdi
-	rorq	$14,%r13
-	movq	%rax,%r10
-
-	andq	%rdi,%r15
-	rorq	$28,%r14
-	addq	%r13,%r12
-
-	xorq	%r15,%r10
-	addq	%r12,%rcx
-	addq	%r12,%r10
-
-	leaq	24(%rbp),%rbp
-	addq	%r14,%r10
-	movq	16(%rsi),%r12
-	movq	%rcx,%r13
-	movq	%r10,%r14
-	bswapq	%r12
-	rorq	$23,%r13
-	movq	%rdx,%r15
-
-	xorq	%rcx,%r13
-	rorq	$5,%r14
-	xorq	%r8,%r15
-
-	movq	%r12,16(%rsp)
-	xorq	%r10,%r14
-	andq	%rcx,%r15
-
-	rorq	$4,%r13
-	addq	%r9,%r12
-	xorq	%r8,%r15
-
-	rorq	$6,%r14
-	xorq	%rcx,%r13
-	addq	%r15,%r12
-
-	movq	%r10,%r15
-	addq	(%rbp),%r12
-	xorq	%r10,%r14
-
-	xorq	%r11,%r15
-	rorq	$14,%r13
-	movq	%r11,%r9
-
-	andq	%r15,%rdi
-	rorq	$28,%r14
-	addq	%r13,%r12
-
-	xorq	%rdi,%r9
-	addq	%r12,%rbx
-	addq	%r12,%r9
-
-	leaq	8(%rbp),%rbp
-	addq	%r14,%r9
-	movq	24(%rsi),%r12
-	movq	%rbx,%r13
-	movq	%r9,%r14
-	bswapq	%r12
-	rorq	$23,%r13
-	movq	%rcx,%rdi
-
-	xorq	%rbx,%r13
-	rorq	$5,%r14
-	xorq	%rdx,%rdi
-
-	movq	%r12,24(%rsp)
-	xorq	%r9,%r14
-	andq	%rbx,%rdi
-
-	rorq	$4,%r13
-	addq	%r8,%r12
-	xorq	%rdx,%rdi
-
-	rorq	$6,%r14
-	xorq	%rbx,%r13
-	addq	%rdi,%r12
-
-	movq	%r9,%rdi
-	addq	(%rbp),%r12
-	xorq	%r9,%r14
-
-	xorq	%r10,%rdi
-	rorq	$14,%r13
-	movq	%r10,%r8
-
-	andq	%rdi,%r15
-	rorq	$28,%r14
-	addq	%r13,%r12
-
-	xorq	%r15,%r8
-	addq	%r12,%rax
-	addq	%r12,%r8
-
-	leaq	24(%rbp),%rbp
-	addq	%r14,%r8
-	movq	32(%rsi),%r12
-	movq	%rax,%r13
-	movq	%r8,%r14
-	bswapq	%r12
-	rorq	$23,%r13
-	movq	%rbx,%r15
-
-	xorq	%rax,%r13
-	rorq	$5,%r14
-	xorq	%rcx,%r15
-
-	movq	%r12,32(%rsp)
-	xorq	%r8,%r14
-	andq	%rax,%r15
-
-	rorq	$4,%r13
-	addq	%rdx,%r12
-	xorq	%rcx,%r15
-
-	rorq	$6,%r14
-	xorq	%rax,%r13
-	addq	%r15,%r12
-
-	movq	%r8,%r15
-	addq	(%rbp),%r12
-	xorq	%r8,%r14
-
-	xorq	%r9,%r15
-	rorq	$14,%r13
-	movq	%r9,%rdx
-
-	andq	%r15,%rdi
-	rorq	$28,%r14
-	addq	%r13,%r12
-
-	xorq	%rdi,%rdx
-	addq	%r12,%r11
-	addq	%r12,%rdx
-
-	leaq	8(%rbp),%rbp
-	addq	%r14,%rdx
-	movq	40(%rsi),%r12
-	movq	%r11,%r13
-	movq	%rdx,%r14
-	bswapq	%r12
-	rorq	$23,%r13
-	movq	%rax,%rdi
-
-	xorq	%r11,%r13
-	rorq	$5,%r14
-	xorq	%rbx,%rdi
-
-	movq	%r12,40(%rsp)
-	xorq	%rdx,%r14
-	andq	%r11,%rdi
-
-	rorq	$4,%r13
-	addq	%rcx,%r12
-	xorq	%rbx,%rdi
-
-	rorq	$6,%r14
-	xorq	%r11,%r13
-	addq	%rdi,%r12
-
-	movq	%rdx,%rdi
-	addq	(%rbp),%r12
-	xorq	%rdx,%r14
-
-	xorq	%r8,%rdi
-	rorq	$14,%r13
-	movq	%r8,%rcx
-
-	andq	%rdi,%r15
-	rorq	$28,%r14
-	addq	%r13,%r12
-
-	xorq	%r15,%rcx
-	addq	%r12,%r10
-	addq	%r12,%rcx
-
-	leaq	24(%rbp),%rbp
-	addq	%r14,%rcx
-	movq	48(%rsi),%r12
-	movq	%r10,%r13
-	movq	%rcx,%r14
-	bswapq	%r12
-	rorq	$23,%r13
-	movq	%r11,%r15
-
-	xorq	%r10,%r13
-	rorq	$5,%r14
-	xorq	%rax,%r15
-
-	movq	%r12,48(%rsp)
-	xorq	%rcx,%r14
-	andq	%r10,%r15
-
-	rorq	$4,%r13
-	addq	%rbx,%r12
-	xorq	%rax,%r15
-
-	rorq	$6,%r14
-	xorq	%r10,%r13
-	addq	%r15,%r12
-
-	movq	%rcx,%r15
-	addq	(%rbp),%r12
-	xorq	%rcx,%r14
-
-	xorq	%rdx,%r15
-	rorq	$14,%r13
-	movq	%rdx,%rbx
-
-	andq	%r15,%rdi
-	rorq	$28,%r14
-	addq	%r13,%r12
-
-	xorq	%rdi,%rbx
-	addq	%r12,%r9
-	addq	%r12,%rbx
-
-	leaq	8(%rbp),%rbp
-	addq	%r14,%rbx
-	movq	56(%rsi),%r12
-	movq	%r9,%r13
-	movq	%rbx,%r14
-	bswapq	%r12
-	rorq	$23,%r13
-	movq	%r10,%rdi
-
-	xorq	%r9,%r13
-	rorq	$5,%r14
-	xorq	%r11,%rdi
-
-	movq	%r12,56(%rsp)
-	xorq	%rbx,%r14
-	andq	%r9,%rdi
-
-	rorq	$4,%r13
-	addq	%rax,%r12
-	xorq	%r11,%rdi
-
-	rorq	$6,%r14
-	xorq	%r9,%r13
-	addq	%rdi,%r12
-
-	movq	%rbx,%rdi
-	addq	(%rbp),%r12
-	xorq	%rbx,%r14
-
-	xorq	%rcx,%rdi
-	rorq	$14,%r13
-	movq	%rcx,%rax
-
-	andq	%rdi,%r15
-	rorq	$28,%r14
-	addq	%r13,%r12
-
-	xorq	%r15,%rax
-	addq	%r12,%r8
-	addq	%r12,%rax
-
-	leaq	24(%rbp),%rbp
-	addq	%r14,%rax
-	movq	64(%rsi),%r12
-	movq	%r8,%r13
-	movq	%rax,%r14
-	bswapq	%r12
-	rorq	$23,%r13
-	movq	%r9,%r15
-
-	xorq	%r8,%r13
-	rorq	$5,%r14
-	xorq	%r10,%r15
-
-	movq	%r12,64(%rsp)
-	xorq	%rax,%r14
-	andq	%r8,%r15
-
-	rorq	$4,%r13
-	addq	%r11,%r12
-	xorq	%r10,%r15
-
-	rorq	$6,%r14
-	xorq	%r8,%r13
-	addq	%r15,%r12
-
-	movq	%rax,%r15
-	addq	(%rbp),%r12
-	xorq	%rax,%r14
-
-	xorq	%rbx,%r15
-	rorq	$14,%r13
-	movq	%rbx,%r11
-
-	andq	%r15,%rdi
-	rorq	$28,%r14
-	addq	%r13,%r12
-
-	xorq	%rdi,%r11
-	addq	%r12,%rdx
-	addq	%r12,%r11
-
-	leaq	8(%rbp),%rbp
-	addq	%r14,%r11
-	movq	72(%rsi),%r12
-	movq	%rdx,%r13
-	movq	%r11,%r14
-	bswapq	%r12
-	rorq	$23,%r13
-	movq	%r8,%rdi
-
-	xorq	%rdx,%r13
-	rorq	$5,%r14
-	xorq	%r9,%rdi
-
-	movq	%r12,72(%rsp)
-	xorq	%r11,%r14
-	andq	%rdx,%rdi
-
-	rorq	$4,%r13
-	addq	%r10,%r12
-	xorq	%r9,%rdi
-
-	rorq	$6,%r14
-	xorq	%rdx,%r13
-	addq	%rdi,%r12
-
-	movq	%r11,%rdi
-	addq	(%rbp),%r12
-	xorq	%r11,%r14
-
-	xorq	%rax,%rdi
-	rorq	$14,%r13
-	movq	%rax,%r10
-
-	andq	%rdi,%r15
-	rorq	$28,%r14
-	addq	%r13,%r12
-
-	xorq	%r15,%r10
-	addq	%r12,%rcx
-	addq	%r12,%r10
-
-	leaq	24(%rbp),%rbp
-	addq	%r14,%r10
-	movq	80(%rsi),%r12
-	movq	%rcx,%r13
-	movq	%r10,%r14
-	bswapq	%r12
-	rorq	$23,%r13
-	movq	%rdx,%r15
-
-	xorq	%rcx,%r13
-	rorq	$5,%r14
-	xorq	%r8,%r15
-
-	movq	%r12,80(%rsp)
-	xorq	%r10,%r14
-	andq	%rcx,%r15
-
-	rorq	$4,%r13
-	addq	%r9,%r12
-	xorq	%r8,%r15
-
-	rorq	$6,%r14
-	xorq	%rcx,%r13
-	addq	%r15,%r12
-
-	movq	%r10,%r15
-	addq	(%rbp),%r12
-	xorq	%r10,%r14
-
-	xorq	%r11,%r15
-	rorq	$14,%r13
-	movq	%r11,%r9
-
-	andq	%r15,%rdi
-	rorq	$28,%r14
-	addq	%r13,%r12
-
-	xorq	%rdi,%r9
-	addq	%r12,%rbx
-	addq	%r12,%r9
-
-	leaq	8(%rbp),%rbp
-	addq	%r14,%r9
-	movq	88(%rsi),%r12
-	movq	%rbx,%r13
-	movq	%r9,%r14
-	bswapq	%r12
-	rorq	$23,%r13
-	movq	%rcx,%rdi
-
-	xorq	%rbx,%r13
-	rorq	$5,%r14
-	xorq	%rdx,%rdi
-
-	movq	%r12,88(%rsp)
-	xorq	%r9,%r14
-	andq	%rbx,%rdi
-
-	rorq	$4,%r13
-	addq	%r8,%r12
-	xorq	%rdx,%rdi
-
-	rorq	$6,%r14
-	xorq	%rbx,%r13
-	addq	%rdi,%r12
-
-	movq	%r9,%rdi
-	addq	(%rbp),%r12
-	xorq	%r9,%r14
-
-	xorq	%r10,%rdi
-	rorq	$14,%r13
-	movq	%r10,%r8
-
-	andq	%rdi,%r15
-	rorq	$28,%r14
-	addq	%r13,%r12
-
-	xorq	%r15,%r8
-	addq	%r12,%rax
-	addq	%r12,%r8
-
-	leaq	24(%rbp),%rbp
-	addq	%r14,%r8
-	movq	96(%rsi),%r12
-	movq	%rax,%r13
-	movq	%r8,%r14
-	bswapq	%r12
-	rorq	$23,%r13
-	movq	%rbx,%r15
-
-	xorq	%rax,%r13
-	rorq	$5,%r14
-	xorq	%rcx,%r15
-
-	movq	%r12,96(%rsp)
-	xorq	%r8,%r14
-	andq	%rax,%r15
-
-	rorq	$4,%r13
-	addq	%rdx,%r12
-	xorq	%rcx,%r15
-
-	rorq	$6,%r14
-	xorq	%rax,%r13
-	addq	%r15,%r12
-
-	movq	%r8,%r15
-	addq	(%rbp),%r12
-	xorq	%r8,%r14
-
-	xorq	%r9,%r15
-	rorq	$14,%r13
-	movq	%r9,%rdx
-
-	andq	%r15,%rdi
-	rorq	$28,%r14
-	addq	%r13,%r12
-
-	xorq	%rdi,%rdx
-	addq	%r12,%r11
-	addq	%r12,%rdx
-
-	leaq	8(%rbp),%rbp
-	addq	%r14,%rdx
-	movq	104(%rsi),%r12
-	movq	%r11,%r13
-	movq	%rdx,%r14
-	bswapq	%r12
-	rorq	$23,%r13
-	movq	%rax,%rdi
-
-	xorq	%r11,%r13
-	rorq	$5,%r14
-	xorq	%rbx,%rdi
-
-	movq	%r12,104(%rsp)
-	xorq	%rdx,%r14
-	andq	%r11,%rdi
-
-	rorq	$4,%r13
-	addq	%rcx,%r12
-	xorq	%rbx,%rdi
-
-	rorq	$6,%r14
-	xorq	%r11,%r13
-	addq	%rdi,%r12
-
-	movq	%rdx,%rdi
-	addq	(%rbp),%r12
-	xorq	%rdx,%r14
-
-	xorq	%r8,%rdi
-	rorq	$14,%r13
-	movq	%r8,%rcx
-
-	andq	%rdi,%r15
-	rorq	$28,%r14
-	addq	%r13,%r12
-
-	xorq	%r15,%rcx
-	addq	%r12,%r10
-	addq	%r12,%rcx
-
-	leaq	24(%rbp),%rbp
-	addq	%r14,%rcx
-	movq	112(%rsi),%r12
-	movq	%r10,%r13
-	movq	%rcx,%r14
-	bswapq	%r12
-	rorq	$23,%r13
-	movq	%r11,%r15
-
-	xorq	%r10,%r13
-	rorq	$5,%r14
-	xorq	%rax,%r15
-
-	movq	%r12,112(%rsp)
-	xorq	%rcx,%r14
-	andq	%r10,%r15
-
-	rorq	$4,%r13
-	addq	%rbx,%r12
-	xorq	%rax,%r15
-
-	rorq	$6,%r14
-	xorq	%r10,%r13
-	addq	%r15,%r12
-
-	movq	%rcx,%r15
-	addq	(%rbp),%r12
-	xorq	%rcx,%r14
-
-	xorq	%rdx,%r15
-	rorq	$14,%r13
-	movq	%rdx,%rbx
-
-	andq	%r15,%rdi
-	rorq	$28,%r14
-	addq	%r13,%r12
-
-	xorq	%rdi,%rbx
-	addq	%r12,%r9
-	addq	%r12,%rbx
-
-	leaq	8(%rbp),%rbp
-	addq	%r14,%rbx
-	movq	120(%rsi),%r12
-	movq	%r9,%r13
-	movq	%rbx,%r14
-	bswapq	%r12
-	rorq	$23,%r13
-	movq	%r10,%rdi
-
-	xorq	%r9,%r13
-	rorq	$5,%r14
-	xorq	%r11,%rdi
-
-	movq	%r12,120(%rsp)
-	xorq	%rbx,%r14
-	andq	%r9,%rdi
-
-	rorq	$4,%r13
-	addq	%rax,%r12
-	xorq	%r11,%rdi
-
-	rorq	$6,%r14
-	xorq	%r9,%r13
-	addq	%rdi,%r12
-
-	movq	%rbx,%rdi
-	addq	(%rbp),%r12
-	xorq	%rbx,%r14
-
-	xorq	%rcx,%rdi
-	rorq	$14,%r13
-	movq	%rcx,%rax
-
-	andq	%rdi,%r15
-	rorq	$28,%r14
-	addq	%r13,%r12
-
-	xorq	%r15,%rax
-	addq	%r12,%r8
-	addq	%r12,%rax
-
-	leaq	24(%rbp),%rbp
-	jmp	L$rounds_16_xx
-.p2align	4
-L$rounds_16_xx:
-	movq	8(%rsp),%r13
-	movq	112(%rsp),%r15
-
-	movq	%r13,%r12
-	rorq	$7,%r13
-	addq	%r14,%rax
-	movq	%r15,%r14
-	rorq	$42,%r15
-
-	xorq	%r12,%r13
-	shrq	$7,%r12
-	rorq	$1,%r13
-	xorq	%r14,%r15
-	shrq	$6,%r14
-
-	rorq	$19,%r15
-	xorq	%r13,%r12
-	xorq	%r14,%r15
-	addq	72(%rsp),%r12
-
-	addq	0(%rsp),%r12
-	movq	%r8,%r13
-	addq	%r15,%r12
-	movq	%rax,%r14
-	rorq	$23,%r13
-	movq	%r9,%r15
-
-	xorq	%r8,%r13
-	rorq	$5,%r14
-	xorq	%r10,%r15
-
-	movq	%r12,0(%rsp)
-	xorq	%rax,%r14
-	andq	%r8,%r15
-
-	rorq	$4,%r13
-	addq	%r11,%r12
-	xorq	%r10,%r15
-
-	rorq	$6,%r14
-	xorq	%r8,%r13
-	addq	%r15,%r12
-
-	movq	%rax,%r15
-	addq	(%rbp),%r12
-	xorq	%rax,%r14
-
-	xorq	%rbx,%r15
-	rorq	$14,%r13
-	movq	%rbx,%r11
-
-	andq	%r15,%rdi
-	rorq	$28,%r14
-	addq	%r13,%r12
-
-	xorq	%rdi,%r11
-	addq	%r12,%rdx
-	addq	%r12,%r11
-
-	leaq	8(%rbp),%rbp
-	movq	16(%rsp),%r13
-	movq	120(%rsp),%rdi
-
-	movq	%r13,%r12
-	rorq	$7,%r13
-	addq	%r14,%r11
-	movq	%rdi,%r14
-	rorq	$42,%rdi
-
-	xorq	%r12,%r13
-	shrq	$7,%r12
-	rorq	$1,%r13
-	xorq	%r14,%rdi
-	shrq	$6,%r14
-
-	rorq	$19,%rdi
-	xorq	%r13,%r12
-	xorq	%r14,%rdi
-	addq	80(%rsp),%r12
-
-	addq	8(%rsp),%r12
-	movq	%rdx,%r13
-	addq	%rdi,%r12
-	movq	%r11,%r14
-	rorq	$23,%r13
-	movq	%r8,%rdi
-
-	xorq	%rdx,%r13
-	rorq	$5,%r14
-	xorq	%r9,%rdi
-
-	movq	%r12,8(%rsp)
-	xorq	%r11,%r14
-	andq	%rdx,%rdi
-
-	rorq	$4,%r13
-	addq	%r10,%r12
-	xorq	%r9,%rdi
-
-	rorq	$6,%r14
-	xorq	%rdx,%r13
-	addq	%rdi,%r12
-
-	movq	%r11,%rdi
-	addq	(%rbp),%r12
-	xorq	%r11,%r14
-
-	xorq	%rax,%rdi
-	rorq	$14,%r13
-	movq	%rax,%r10
-
-	andq	%rdi,%r15
-	rorq	$28,%r14
-	addq	%r13,%r12
-
-	xorq	%r15,%r10
-	addq	%r12,%rcx
-	addq	%r12,%r10
-
-	leaq	24(%rbp),%rbp
-	movq	24(%rsp),%r13
-	movq	0(%rsp),%r15
-
-	movq	%r13,%r12
-	rorq	$7,%r13
-	addq	%r14,%r10
-	movq	%r15,%r14
-	rorq	$42,%r15
-
-	xorq	%r12,%r13
-	shrq	$7,%r12
-	rorq	$1,%r13
-	xorq	%r14,%r15
-	shrq	$6,%r14
-
-	rorq	$19,%r15
-	xorq	%r13,%r12
-	xorq	%r14,%r15
-	addq	88(%rsp),%r12
-
-	addq	16(%rsp),%r12
-	movq	%rcx,%r13
-	addq	%r15,%r12
-	movq	%r10,%r14
-	rorq	$23,%r13
-	movq	%rdx,%r15
-
-	xorq	%rcx,%r13
-	rorq	$5,%r14
-	xorq	%r8,%r15
-
-	movq	%r12,16(%rsp)
-	xorq	%r10,%r14
-	andq	%rcx,%r15
-
-	rorq	$4,%r13
-	addq	%r9,%r12
-	xorq	%r8,%r15
-
-	rorq	$6,%r14
-	xorq	%rcx,%r13
-	addq	%r15,%r12
-
-	movq	%r10,%r15
-	addq	(%rbp),%r12
-	xorq	%r10,%r14
-
-	xorq	%r11,%r15
-	rorq	$14,%r13
-	movq	%r11,%r9
-
-	andq	%r15,%rdi
-	rorq	$28,%r14
-	addq	%r13,%r12
-
-	xorq	%rdi,%r9
-	addq	%r12,%rbx
-	addq	%r12,%r9
-
-	leaq	8(%rbp),%rbp
-	movq	32(%rsp),%r13
-	movq	8(%rsp),%rdi
-
-	movq	%r13,%r12
-	rorq	$7,%r13
-	addq	%r14,%r9
-	movq	%rdi,%r14
-	rorq	$42,%rdi
-
-	xorq	%r12,%r13
-	shrq	$7,%r12
-	rorq	$1,%r13
-	xorq	%r14,%rdi
-	shrq	$6,%r14
-
-	rorq	$19,%rdi
-	xorq	%r13,%r12
-	xorq	%r14,%rdi
-	addq	96(%rsp),%r12
-
-	addq	24(%rsp),%r12
-	movq	%rbx,%r13
-	addq	%rdi,%r12
-	movq	%r9,%r14
-	rorq	$23,%r13
-	movq	%rcx,%rdi
-
-	xorq	%rbx,%r13
-	rorq	$5,%r14
-	xorq	%rdx,%rdi
-
-	movq	%r12,24(%rsp)
-	xorq	%r9,%r14
-	andq	%rbx,%rdi
-
-	rorq	$4,%r13
-	addq	%r8,%r12
-	xorq	%rdx,%rdi
-
-	rorq	$6,%r14
-	xorq	%rbx,%r13
-	addq	%rdi,%r12
-
-	movq	%r9,%rdi
-	addq	(%rbp),%r12
-	xorq	%r9,%r14
-
-	xorq	%r10,%rdi
-	rorq	$14,%r13
-	movq	%r10,%r8
-
-	andq	%rdi,%r15
-	rorq	$28,%r14
-	addq	%r13,%r12
-
-	xorq	%r15,%r8
-	addq	%r12,%rax
-	addq	%r12,%r8
-
-	leaq	24(%rbp),%rbp
-	movq	40(%rsp),%r13
-	movq	16(%rsp),%r15
-
-	movq	%r13,%r12
-	rorq	$7,%r13
-	addq	%r14,%r8
-	movq	%r15,%r14
-	rorq	$42,%r15
-
-	xorq	%r12,%r13
-	shrq	$7,%r12
-	rorq	$1,%r13
-	xorq	%r14,%r15
-	shrq	$6,%r14
-
-	rorq	$19,%r15
-	xorq	%r13,%r12
-	xorq	%r14,%r15
-	addq	104(%rsp),%r12
-
-	addq	32(%rsp),%r12
-	movq	%rax,%r13
-	addq	%r15,%r12
-	movq	%r8,%r14
-	rorq	$23,%r13
-	movq	%rbx,%r15
-
-	xorq	%rax,%r13
-	rorq	$5,%r14
-	xorq	%rcx,%r15
-
-	movq	%r12,32(%rsp)
-	xorq	%r8,%r14
-	andq	%rax,%r15
-
-	rorq	$4,%r13
-	addq	%rdx,%r12
-	xorq	%rcx,%r15
-
-	rorq	$6,%r14
-	xorq	%rax,%r13
-	addq	%r15,%r12
-
-	movq	%r8,%r15
-	addq	(%rbp),%r12
-	xorq	%r8,%r14
-
-	xorq	%r9,%r15
-	rorq	$14,%r13
-	movq	%r9,%rdx
-
-	andq	%r15,%rdi
-	rorq	$28,%r14
-	addq	%r13,%r12
-
-	xorq	%rdi,%rdx
-	addq	%r12,%r11
-	addq	%r12,%rdx
-
-	leaq	8(%rbp),%rbp
-	movq	48(%rsp),%r13
-	movq	24(%rsp),%rdi
-
-	movq	%r13,%r12
-	rorq	$7,%r13
-	addq	%r14,%rdx
-	movq	%rdi,%r14
-	rorq	$42,%rdi
-
-	xorq	%r12,%r13
-	shrq	$7,%r12
-	rorq	$1,%r13
-	xorq	%r14,%rdi
-	shrq	$6,%r14
-
-	rorq	$19,%rdi
-	xorq	%r13,%r12
-	xorq	%r14,%rdi
-	addq	112(%rsp),%r12
-
-	addq	40(%rsp),%r12
-	movq	%r11,%r13
-	addq	%rdi,%r12
-	movq	%rdx,%r14
-	rorq	$23,%r13
-	movq	%rax,%rdi
-
-	xorq	%r11,%r13
-	rorq	$5,%r14
-	xorq	%rbx,%rdi
-
-	movq	%r12,40(%rsp)
-	xorq	%rdx,%r14
-	andq	%r11,%rdi
-
-	rorq	$4,%r13
-	addq	%rcx,%r12
-	xorq	%rbx,%rdi
-
-	rorq	$6,%r14
-	xorq	%r11,%r13
-	addq	%rdi,%r12
-
-	movq	%rdx,%rdi
-	addq	(%rbp),%r12
-	xorq	%rdx,%r14
-
-	xorq	%r8,%rdi
-	rorq	$14,%r13
-	movq	%r8,%rcx
-
-	andq	%rdi,%r15
-	rorq	$28,%r14
-	addq	%r13,%r12
-
-	xorq	%r15,%rcx
-	addq	%r12,%r10
-	addq	%r12,%rcx
-
-	leaq	24(%rbp),%rbp
-	movq	56(%rsp),%r13
-	movq	32(%rsp),%r15
-
-	movq	%r13,%r12
-	rorq	$7,%r13
-	addq	%r14,%rcx
-	movq	%r15,%r14
-	rorq	$42,%r15
-
-	xorq	%r12,%r13
-	shrq	$7,%r12
-	rorq	$1,%r13
-	xorq	%r14,%r15
-	shrq	$6,%r14
-
-	rorq	$19,%r15
-	xorq	%r13,%r12
-	xorq	%r14,%r15
-	addq	120(%rsp),%r12
-
-	addq	48(%rsp),%r12
-	movq	%r10,%r13
-	addq	%r15,%r12
-	movq	%rcx,%r14
-	rorq	$23,%r13
-	movq	%r11,%r15
-
-	xorq	%r10,%r13
-	rorq	$5,%r14
-	xorq	%rax,%r15
-
-	movq	%r12,48(%rsp)
-	xorq	%rcx,%r14
-	andq	%r10,%r15
-
-	rorq	$4,%r13
-	addq	%rbx,%r12
-	xorq	%rax,%r15
-
-	rorq	$6,%r14
-	xorq	%r10,%r13
-	addq	%r15,%r12
-
-	movq	%rcx,%r15
-	addq	(%rbp),%r12
-	xorq	%rcx,%r14
-
-	xorq	%rdx,%r15
-	rorq	$14,%r13
-	movq	%rdx,%rbx
-
-	andq	%r15,%rdi
-	rorq	$28,%r14
-	addq	%r13,%r12
-
-	xorq	%rdi,%rbx
-	addq	%r12,%r9
-	addq	%r12,%rbx
-
-	leaq	8(%rbp),%rbp
-	movq	64(%rsp),%r13
-	movq	40(%rsp),%rdi
-
-	movq	%r13,%r12
-	rorq	$7,%r13
-	addq	%r14,%rbx
-	movq	%rdi,%r14
-	rorq	$42,%rdi
-
-	xorq	%r12,%r13
-	shrq	$7,%r12
-	rorq	$1,%r13
-	xorq	%r14,%rdi
-	shrq	$6,%r14
-
-	rorq	$19,%rdi
-	xorq	%r13,%r12
-	xorq	%r14,%rdi
-	addq	0(%rsp),%r12
-
-	addq	56(%rsp),%r12
-	movq	%r9,%r13
-	addq	%rdi,%r12
-	movq	%rbx,%r14
-	rorq	$23,%r13
-	movq	%r10,%rdi
-
-	xorq	%r9,%r13
-	rorq	$5,%r14
-	xorq	%r11,%rdi
-
-	movq	%r12,56(%rsp)
-	xorq	%rbx,%r14
-	andq	%r9,%rdi
-
-	rorq	$4,%r13
-	addq	%rax,%r12
-	xorq	%r11,%rdi
-
-	rorq	$6,%r14
-	xorq	%r9,%r13
-	addq	%rdi,%r12
-
-	movq	%rbx,%rdi
-	addq	(%rbp),%r12
-	xorq	%rbx,%r14
-
-	xorq	%rcx,%rdi
-	rorq	$14,%r13
-	movq	%rcx,%rax
-
-	andq	%rdi,%r15
-	rorq	$28,%r14
-	addq	%r13,%r12
-
-	xorq	%r15,%rax
-	addq	%r12,%r8
-	addq	%r12,%rax
-
-	leaq	24(%rbp),%rbp
-	movq	72(%rsp),%r13
-	movq	48(%rsp),%r15
-
-	movq	%r13,%r12
-	rorq	$7,%r13
-	addq	%r14,%rax
-	movq	%r15,%r14
-	rorq	$42,%r15
-
-	xorq	%r12,%r13
-	shrq	$7,%r12
-	rorq	$1,%r13
-	xorq	%r14,%r15
-	shrq	$6,%r14
-
-	rorq	$19,%r15
-	xorq	%r13,%r12
-	xorq	%r14,%r15
-	addq	8(%rsp),%r12
-
-	addq	64(%rsp),%r12
-	movq	%r8,%r13
-	addq	%r15,%r12
-	movq	%rax,%r14
-	rorq	$23,%r13
-	movq	%r9,%r15
-
-	xorq	%r8,%r13
-	rorq	$5,%r14
-	xorq	%r10,%r15
-
-	movq	%r12,64(%rsp)
-	xorq	%rax,%r14
-	andq	%r8,%r15
-
-	rorq	$4,%r13
-	addq	%r11,%r12
-	xorq	%r10,%r15
-
-	rorq	$6,%r14
-	xorq	%r8,%r13
-	addq	%r15,%r12
-
-	movq	%rax,%r15
-	addq	(%rbp),%r12
-	xorq	%rax,%r14
-
-	xorq	%rbx,%r15
-	rorq	$14,%r13
-	movq	%rbx,%r11
-
-	andq	%r15,%rdi
-	rorq	$28,%r14
-	addq	%r13,%r12
-
-	xorq	%rdi,%r11
-	addq	%r12,%rdx
-	addq	%r12,%r11
-
-	leaq	8(%rbp),%rbp
-	movq	80(%rsp),%r13
-	movq	56(%rsp),%rdi
-
-	movq	%r13,%r12
-	rorq	$7,%r13
-	addq	%r14,%r11
-	movq	%rdi,%r14
-	rorq	$42,%rdi
-
-	xorq	%r12,%r13
-	shrq	$7,%r12
-	rorq	$1,%r13
-	xorq	%r14,%rdi
-	shrq	$6,%r14
-
-	rorq	$19,%rdi
-	xorq	%r13,%r12
-	xorq	%r14,%rdi
-	addq	16(%rsp),%r12
-
-	addq	72(%rsp),%r12
-	movq	%rdx,%r13
-	addq	%rdi,%r12
-	movq	%r11,%r14
-	rorq	$23,%r13
-	movq	%r8,%rdi
-
-	xorq	%rdx,%r13
-	rorq	$5,%r14
-	xorq	%r9,%rdi
-
-	movq	%r12,72(%rsp)
-	xorq	%r11,%r14
-	andq	%rdx,%rdi
-
-	rorq	$4,%r13
-	addq	%r10,%r12
-	xorq	%r9,%rdi
-
-	rorq	$6,%r14
-	xorq	%rdx,%r13
-	addq	%rdi,%r12
-
-	movq	%r11,%rdi
-	addq	(%rbp),%r12
-	xorq	%r11,%r14
-
-	xorq	%rax,%rdi
-	rorq	$14,%r13
-	movq	%rax,%r10
-
-	andq	%rdi,%r15
-	rorq	$28,%r14
-	addq	%r13,%r12
-
-	xorq	%r15,%r10
-	addq	%r12,%rcx
-	addq	%r12,%r10
-
-	leaq	24(%rbp),%rbp
-	movq	88(%rsp),%r13
-	movq	64(%rsp),%r15
-
-	movq	%r13,%r12
-	rorq	$7,%r13
-	addq	%r14,%r10
-	movq	%r15,%r14
-	rorq	$42,%r15
-
-	xorq	%r12,%r13
-	shrq	$7,%r12
-	rorq	$1,%r13
-	xorq	%r14,%r15
-	shrq	$6,%r14
-
-	rorq	$19,%r15
-	xorq	%r13,%r12
-	xorq	%r14,%r15
-	addq	24(%rsp),%r12
-
-	addq	80(%rsp),%r12
-	movq	%rcx,%r13
-	addq	%r15,%r12
-	movq	%r10,%r14
-	rorq	$23,%r13
-	movq	%rdx,%r15
-
-	xorq	%rcx,%r13
-	rorq	$5,%r14
-	xorq	%r8,%r15
-
-	movq	%r12,80(%rsp)
-	xorq	%r10,%r14
-	andq	%rcx,%r15
-
-	rorq	$4,%r13
-	addq	%r9,%r12
-	xorq	%r8,%r15
-
-	rorq	$6,%r14
-	xorq	%rcx,%r13
-	addq	%r15,%r12
-
-	movq	%r10,%r15
-	addq	(%rbp),%r12
-	xorq	%r10,%r14
-
-	xorq	%r11,%r15
-	rorq	$14,%r13
-	movq	%r11,%r9
-
-	andq	%r15,%rdi
-	rorq	$28,%r14
-	addq	%r13,%r12
-
-	xorq	%rdi,%r9
-	addq	%r12,%rbx
-	addq	%r12,%r9
-
-	leaq	8(%rbp),%rbp
-	movq	96(%rsp),%r13
-	movq	72(%rsp),%rdi
-
-	movq	%r13,%r12
-	rorq	$7,%r13
-	addq	%r14,%r9
-	movq	%rdi,%r14
-	rorq	$42,%rdi
-
-	xorq	%r12,%r13
-	shrq	$7,%r12
-	rorq	$1,%r13
-	xorq	%r14,%rdi
-	shrq	$6,%r14
-
-	rorq	$19,%rdi
-	xorq	%r13,%r12
-	xorq	%r14,%rdi
-	addq	32(%rsp),%r12
-
-	addq	88(%rsp),%r12
-	movq	%rbx,%r13
-	addq	%rdi,%r12
-	movq	%r9,%r14
-	rorq	$23,%r13
-	movq	%rcx,%rdi
-
-	xorq	%rbx,%r13
-	rorq	$5,%r14
-	xorq	%rdx,%rdi
-
-	movq	%r12,88(%rsp)
-	xorq	%r9,%r14
-	andq	%rbx,%rdi
-
-	rorq	$4,%r13
-	addq	%r8,%r12
-	xorq	%rdx,%rdi
-
-	rorq	$6,%r14
-	xorq	%rbx,%r13
-	addq	%rdi,%r12
-
-	movq	%r9,%rdi
-	addq	(%rbp),%r12
-	xorq	%r9,%r14
-
-	xorq	%r10,%rdi
-	rorq	$14,%r13
-	movq	%r10,%r8
-
-	andq	%rdi,%r15
-	rorq	$28,%r14
-	addq	%r13,%r12
-
-	xorq	%r15,%r8
-	addq	%r12,%rax
-	addq	%r12,%r8
-
-	leaq	24(%rbp),%rbp
-	movq	104(%rsp),%r13
-	movq	80(%rsp),%r15
-
-	movq	%r13,%r12
-	rorq	$7,%r13
-	addq	%r14,%r8
-	movq	%r15,%r14
-	rorq	$42,%r15
-
-	xorq	%r12,%r13
-	shrq	$7,%r12
-	rorq	$1,%r13
-	xorq	%r14,%r15
-	shrq	$6,%r14
-
-	rorq	$19,%r15
-	xorq	%r13,%r12
-	xorq	%r14,%r15
-	addq	40(%rsp),%r12
-
-	addq	96(%rsp),%r12
-	movq	%rax,%r13
-	addq	%r15,%r12
-	movq	%r8,%r14
-	rorq	$23,%r13
-	movq	%rbx,%r15
-
-	xorq	%rax,%r13
-	rorq	$5,%r14
-	xorq	%rcx,%r15
-
-	movq	%r12,96(%rsp)
-	xorq	%r8,%r14
-	andq	%rax,%r15
-
-	rorq	$4,%r13
-	addq	%rdx,%r12
-	xorq	%rcx,%r15
-
-	rorq	$6,%r14
-	xorq	%rax,%r13
-	addq	%r15,%r12
-
-	movq	%r8,%r15
-	addq	(%rbp),%r12
-	xorq	%r8,%r14
-
-	xorq	%r9,%r15
-	rorq	$14,%r13
-	movq	%r9,%rdx
-
-	andq	%r15,%rdi
-	rorq	$28,%r14
-	addq	%r13,%r12
-
-	xorq	%rdi,%rdx
-	addq	%r12,%r11
-	addq	%r12,%rdx
-
-	leaq	8(%rbp),%rbp
-	movq	112(%rsp),%r13
-	movq	88(%rsp),%rdi
-
-	movq	%r13,%r12
-	rorq	$7,%r13
-	addq	%r14,%rdx
-	movq	%rdi,%r14
-	rorq	$42,%rdi
-
-	xorq	%r12,%r13
-	shrq	$7,%r12
-	rorq	$1,%r13
-	xorq	%r14,%rdi
-	shrq	$6,%r14
-
-	rorq	$19,%rdi
-	xorq	%r13,%r12
-	xorq	%r14,%rdi
-	addq	48(%rsp),%r12
-
-	addq	104(%rsp),%r12
-	movq	%r11,%r13
-	addq	%rdi,%r12
-	movq	%rdx,%r14
-	rorq	$23,%r13
-	movq	%rax,%rdi
-
-	xorq	%r11,%r13
-	rorq	$5,%r14
-	xorq	%rbx,%rdi
-
-	movq	%r12,104(%rsp)
-	xorq	%rdx,%r14
-	andq	%r11,%rdi
-
-	rorq	$4,%r13
-	addq	%rcx,%r12
-	xorq	%rbx,%rdi
-
-	rorq	$6,%r14
-	xorq	%r11,%r13
-	addq	%rdi,%r12
-
-	movq	%rdx,%rdi
-	addq	(%rbp),%r12
-	xorq	%rdx,%r14
-
-	xorq	%r8,%rdi
-	rorq	$14,%r13
-	movq	%r8,%rcx
-
-	andq	%rdi,%r15
-	rorq	$28,%r14
-	addq	%r13,%r12
-
-	xorq	%r15,%rcx
-	addq	%r12,%r10
-	addq	%r12,%rcx
-
-	leaq	24(%rbp),%rbp
-	movq	120(%rsp),%r13
-	movq	96(%rsp),%r15
-
-	movq	%r13,%r12
-	rorq	$7,%r13
-	addq	%r14,%rcx
-	movq	%r15,%r14
-	rorq	$42,%r15
-
-	xorq	%r12,%r13
-	shrq	$7,%r12
-	rorq	$1,%r13
-	xorq	%r14,%r15
-	shrq	$6,%r14
-
-	rorq	$19,%r15
-	xorq	%r13,%r12
-	xorq	%r14,%r15
-	addq	56(%rsp),%r12
-
-	addq	112(%rsp),%r12
-	movq	%r10,%r13
-	addq	%r15,%r12
-	movq	%rcx,%r14
-	rorq	$23,%r13
-	movq	%r11,%r15
-
-	xorq	%r10,%r13
-	rorq	$5,%r14
-	xorq	%rax,%r15
-
-	movq	%r12,112(%rsp)
-	xorq	%rcx,%r14
-	andq	%r10,%r15
-
-	rorq	$4,%r13
-	addq	%rbx,%r12
-	xorq	%rax,%r15
-
-	rorq	$6,%r14
-	xorq	%r10,%r13
-	addq	%r15,%r12
-
-	movq	%rcx,%r15
-	addq	(%rbp),%r12
-	xorq	%rcx,%r14
-
-	xorq	%rdx,%r15
-	rorq	$14,%r13
-	movq	%rdx,%rbx
-
-	andq	%r15,%rdi
-	rorq	$28,%r14
-	addq	%r13,%r12
-
-	xorq	%rdi,%rbx
-	addq	%r12,%r9
-	addq	%r12,%rbx
-
-	leaq	8(%rbp),%rbp
-	movq	0(%rsp),%r13
-	movq	104(%rsp),%rdi
-
-	movq	%r13,%r12
-	rorq	$7,%r13
-	addq	%r14,%rbx
-	movq	%rdi,%r14
-	rorq	$42,%rdi
-
-	xorq	%r12,%r13
-	shrq	$7,%r12
-	rorq	$1,%r13
-	xorq	%r14,%rdi
-	shrq	$6,%r14
-
-	rorq	$19,%rdi
-	xorq	%r13,%r12
-	xorq	%r14,%rdi
-	addq	64(%rsp),%r12
-
-	addq	120(%rsp),%r12
-	movq	%r9,%r13
-	addq	%rdi,%r12
-	movq	%rbx,%r14
-	rorq	$23,%r13
-	movq	%r10,%rdi
-
-	xorq	%r9,%r13
-	rorq	$5,%r14
-	xorq	%r11,%rdi
-
-	movq	%r12,120(%rsp)
-	xorq	%rbx,%r14
-	andq	%r9,%rdi
-
-	rorq	$4,%r13
-	addq	%rax,%r12
-	xorq	%r11,%rdi
-
-	rorq	$6,%r14
-	xorq	%r9,%r13
-	addq	%rdi,%r12
-
-	movq	%rbx,%rdi
-	addq	(%rbp),%r12
-	xorq	%rbx,%r14
-
-	xorq	%rcx,%rdi
-	rorq	$14,%r13
-	movq	%rcx,%rax
-
-	andq	%rdi,%r15
-	rorq	$28,%r14
-	addq	%r13,%r12
-
-	xorq	%r15,%rax
-	addq	%r12,%r8
-	addq	%r12,%rax
-
-	leaq	24(%rbp),%rbp
-	cmpb	$0,7(%rbp)
-	jnz	L$rounds_16_xx
-
-	movq	128+0(%rsp),%rdi
-	addq	%r14,%rax
-	leaq	128(%rsi),%rsi
-
-	addq	0(%rdi),%rax
-	addq	8(%rdi),%rbx
-	addq	16(%rdi),%rcx
-	addq	24(%rdi),%rdx
-	addq	32(%rdi),%r8
-	addq	40(%rdi),%r9
-	addq	48(%rdi),%r10
-	addq	56(%rdi),%r11
-
-	cmpq	128+16(%rsp),%rsi
-
-	movq	%rax,0(%rdi)
-	movq	%rbx,8(%rdi)
-	movq	%rcx,16(%rdi)
-	movq	%rdx,24(%rdi)
-	movq	%r8,32(%rdi)
-	movq	%r9,40(%rdi)
-	movq	%r10,48(%rdi)
-	movq	%r11,56(%rdi)
-	jb	L$loop
-
-	movq	128+24(%rsp),%rsi
-	movq	-48(%rsi),%r15
-	movq	-40(%rsi),%r14
-	movq	-32(%rsi),%r13
-	movq	-24(%rsi),%r12
-	movq	-16(%rsi),%rbp
-	movq	-8(%rsi),%rbx
-	leaq	(%rsi),%rsp
-L$epilogue:
-	.byte	0xf3,0xc3
-
-.p2align	6
-
-K512:
-.quad	0x428a2f98d728ae22,0x7137449123ef65cd
-.quad	0x428a2f98d728ae22,0x7137449123ef65cd
-.quad	0xb5c0fbcfec4d3b2f,0xe9b5dba58189dbbc
-.quad	0xb5c0fbcfec4d3b2f,0xe9b5dba58189dbbc
-.quad	0x3956c25bf348b538,0x59f111f1b605d019
-.quad	0x3956c25bf348b538,0x59f111f1b605d019
-.quad	0x923f82a4af194f9b,0xab1c5ed5da6d8118
-.quad	0x923f82a4af194f9b,0xab1c5ed5da6d8118
-.quad	0xd807aa98a3030242,0x12835b0145706fbe
-.quad	0xd807aa98a3030242,0x12835b0145706fbe
-.quad	0x243185be4ee4b28c,0x550c7dc3d5ffb4e2
-.quad	0x243185be4ee4b28c,0x550c7dc3d5ffb4e2
-.quad	0x72be5d74f27b896f,0x80deb1fe3b1696b1
-.quad	0x72be5d74f27b896f,0x80deb1fe3b1696b1
-.quad	0x9bdc06a725c71235,0xc19bf174cf692694
-.quad	0x9bdc06a725c71235,0xc19bf174cf692694
-.quad	0xe49b69c19ef14ad2,0xefbe4786384f25e3
-.quad	0xe49b69c19ef14ad2,0xefbe4786384f25e3
-.quad	0x0fc19dc68b8cd5b5,0x240ca1cc77ac9c65
-.quad	0x0fc19dc68b8cd5b5,0x240ca1cc77ac9c65
-.quad	0x2de92c6f592b0275,0x4a7484aa6ea6e483
-.quad	0x2de92c6f592b0275,0x4a7484aa6ea6e483
-.quad	0x5cb0a9dcbd41fbd4,0x76f988da831153b5
-.quad	0x5cb0a9dcbd41fbd4,0x76f988da831153b5
-.quad	0x983e5152ee66dfab,0xa831c66d2db43210
-.quad	0x983e5152ee66dfab,0xa831c66d2db43210
-.quad	0xb00327c898fb213f,0xbf597fc7beef0ee4
-.quad	0xb00327c898fb213f,0xbf597fc7beef0ee4
-.quad	0xc6e00bf33da88fc2,0xd5a79147930aa725
-.quad	0xc6e00bf33da88fc2,0xd5a79147930aa725
-.quad	0x06ca6351e003826f,0x142929670a0e6e70
-.quad	0x06ca6351e003826f,0x142929670a0e6e70
-.quad	0x27b70a8546d22ffc,0x2e1b21385c26c926
-.quad	0x27b70a8546d22ffc,0x2e1b21385c26c926
-.quad	0x4d2c6dfc5ac42aed,0x53380d139d95b3df
-.quad	0x4d2c6dfc5ac42aed,0x53380d139d95b3df
-.quad	0x650a73548baf63de,0x766a0abb3c77b2a8
-.quad	0x650a73548baf63de,0x766a0abb3c77b2a8
-.quad	0x81c2c92e47edaee6,0x92722c851482353b
-.quad	0x81c2c92e47edaee6,0x92722c851482353b
-.quad	0xa2bfe8a14cf10364,0xa81a664bbc423001
-.quad	0xa2bfe8a14cf10364,0xa81a664bbc423001
-.quad	0xc24b8b70d0f89791,0xc76c51a30654be30
-.quad	0xc24b8b70d0f89791,0xc76c51a30654be30
-.quad	0xd192e819d6ef5218,0xd69906245565a910
-.quad	0xd192e819d6ef5218,0xd69906245565a910
-.quad	0xf40e35855771202a,0x106aa07032bbd1b8
-.quad	0xf40e35855771202a,0x106aa07032bbd1b8
-.quad	0x19a4c116b8d2d0c8,0x1e376c085141ab53
-.quad	0x19a4c116b8d2d0c8,0x1e376c085141ab53
-.quad	0x2748774cdf8eeb99,0x34b0bcb5e19b48a8
-.quad	0x2748774cdf8eeb99,0x34b0bcb5e19b48a8
-.quad	0x391c0cb3c5c95a63,0x4ed8aa4ae3418acb
-.quad	0x391c0cb3c5c95a63,0x4ed8aa4ae3418acb
-.quad	0x5b9cca4f7763e373,0x682e6ff3d6b2b8a3
-.quad	0x5b9cca4f7763e373,0x682e6ff3d6b2b8a3
-.quad	0x748f82ee5defb2fc,0x78a5636f43172f60
-.quad	0x748f82ee5defb2fc,0x78a5636f43172f60
-.quad	0x84c87814a1f0ab72,0x8cc702081a6439ec
-.quad	0x84c87814a1f0ab72,0x8cc702081a6439ec
-.quad	0x90befffa23631e28,0xa4506cebde82bde9
-.quad	0x90befffa23631e28,0xa4506cebde82bde9
-.quad	0xbef9a3f7b2c67915,0xc67178f2e372532b
-.quad	0xbef9a3f7b2c67915,0xc67178f2e372532b
-.quad	0xca273eceea26619c,0xd186b8c721c0c207
-.quad	0xca273eceea26619c,0xd186b8c721c0c207
-.quad	0xeada7dd6cde0eb1e,0xf57d4f7fee6ed178
-.quad	0xeada7dd6cde0eb1e,0xf57d4f7fee6ed178
-.quad	0x06f067aa72176fba,0x0a637dc5a2c898a6
-.quad	0x06f067aa72176fba,0x0a637dc5a2c898a6
-.quad	0x113f9804bef90dae,0x1b710b35131c471b
-.quad	0x113f9804bef90dae,0x1b710b35131c471b
-.quad	0x28db77f523047d84,0x32caab7b40c72493
-.quad	0x28db77f523047d84,0x32caab7b40c72493
-.quad	0x3c9ebe0a15c9bebc,0x431d67c49c100d4c
-.quad	0x3c9ebe0a15c9bebc,0x431d67c49c100d4c
-.quad	0x4cc5d4becb3e42b6,0x597f299cfc657e2a
-.quad	0x4cc5d4becb3e42b6,0x597f299cfc657e2a
-.quad	0x5fcb6fab3ad6faec,0x6c44198c4a475817
-.quad	0x5fcb6fab3ad6faec,0x6c44198c4a475817
-
-.quad	0x0001020304050607,0x08090a0b0c0d0e0f
-.quad	0x0001020304050607,0x08090a0b0c0d0e0f
-.byte	83,72,65,53,49,50,32,98,108,111,99,107,32,116,114,97,110,115,102,111,114,109,32,102,111,114,32,120,56,54,95,54,52,44,32,67,82,89,80,84,79,71,65,77,83,32,98,121,32,60,97,112,112,114,111,64,111,112,101,110,115,115,108,46,111,114,103,62,0
-
-.p2align	6
-sha512_block_data_order_xop:
-L$xop_shortcut:
-	movq	%rsp,%rax
-	pushq	%rbx
-	pushq	%rbp
-	pushq	%r12
-	pushq	%r13
-	pushq	%r14
-	pushq	%r15
-	shlq	$4,%rdx
-	subq	$160,%rsp
-	leaq	(%rsi,%rdx,8),%rdx
-	andq	$-64,%rsp
-	movq	%rdi,128+0(%rsp)
-	movq	%rsi,128+8(%rsp)
-	movq	%rdx,128+16(%rsp)
-	movq	%rax,128+24(%rsp)
-L$prologue_xop:
-
-	vzeroupper
-	movq	0(%rdi),%rax
-	movq	8(%rdi),%rbx
-	movq	16(%rdi),%rcx
-	movq	24(%rdi),%rdx
-	movq	32(%rdi),%r8
-	movq	40(%rdi),%r9
-	movq	48(%rdi),%r10
-	movq	56(%rdi),%r11
-	jmp	L$loop_xop
-.p2align	4
-L$loop_xop:
-	vmovdqa	K512+1280(%rip),%xmm11
-	vmovdqu	0(%rsi),%xmm0
-	leaq	K512+128(%rip),%rbp
-	vmovdqu	16(%rsi),%xmm1
-	vmovdqu	32(%rsi),%xmm2
-	vpshufb	%xmm11,%xmm0,%xmm0
-	vmovdqu	48(%rsi),%xmm3
-	vpshufb	%xmm11,%xmm1,%xmm1
-	vmovdqu	64(%rsi),%xmm4
-	vpshufb	%xmm11,%xmm2,%xmm2
-	vmovdqu	80(%rsi),%xmm5
-	vpshufb	%xmm11,%xmm3,%xmm3
-	vmovdqu	96(%rsi),%xmm6
-	vpshufb	%xmm11,%xmm4,%xmm4
-	vmovdqu	112(%rsi),%xmm7
-	vpshufb	%xmm11,%xmm5,%xmm5
-	vpaddq	-128(%rbp),%xmm0,%xmm8
-	vpshufb	%xmm11,%xmm6,%xmm6
-	vpaddq	-96(%rbp),%xmm1,%xmm9
-	vpshufb	%xmm11,%xmm7,%xmm7
-	vpaddq	-64(%rbp),%xmm2,%xmm10
-	vpaddq	-32(%rbp),%xmm3,%xmm11
-	vmovdqa	%xmm8,0(%rsp)
-	vpaddq	0(%rbp),%xmm4,%xmm8
-	vmovdqa	%xmm9,16(%rsp)
-	vpaddq	32(%rbp),%xmm5,%xmm9
-	vmovdqa	%xmm10,32(%rsp)
-	vpaddq	64(%rbp),%xmm6,%xmm10
-	vmovdqa	%xmm11,48(%rsp)
-	vpaddq	96(%rbp),%xmm7,%xmm11
-	vmovdqa	%xmm8,64(%rsp)
-	movq	%rax,%r14
-	vmovdqa	%xmm9,80(%rsp)
-	movq	%rbx,%rdi
-	vmovdqa	%xmm10,96(%rsp)
-	xorq	%rcx,%rdi
-	vmovdqa	%xmm11,112(%rsp)
-	movq	%r8,%r13
-	jmp	L$xop_00_47
-
-.p2align	4
-L$xop_00_47:
-	addq	$256,%rbp
-	vpalignr	$8,%xmm0,%xmm1,%xmm8
-	rorq	$23,%r13
-	movq	%r14,%rax
-	vpalignr	$8,%xmm4,%xmm5,%xmm11
-	movq	%r9,%r12
-	rorq	$5,%r14
-.byte	143,72,120,195,200,56
-	xorq	%r8,%r13
-	xorq	%r10,%r12
-	vpsrlq	$7,%xmm8,%xmm8
-	rorq	$4,%r13
-	xorq	%rax,%r14
-	vpaddq	%xmm11,%xmm0,%xmm0
-	andq	%r8,%r12
-	xorq	%r8,%r13
-	addq	0(%rsp),%r11
-	movq	%rax,%r15
-.byte	143,72,120,195,209,7
-	xorq	%r10,%r12
-	rorq	$6,%r14
-	vpxor	%xmm9,%xmm8,%xmm8
-	xorq	%rbx,%r15
-	addq	%r12,%r11
-	rorq	$14,%r13
-	andq	%r15,%rdi
-.byte	143,104,120,195,223,3
-	xorq	%rax,%r14
-	addq	%r13,%r11
-	vpxor	%xmm10,%xmm8,%xmm8
-	xorq	%rbx,%rdi
-	rorq	$28,%r14
-	vpsrlq	$6,%xmm7,%xmm10
-	addq	%r11,%rdx
-	addq	%rdi,%r11
-	vpaddq	%xmm8,%xmm0,%xmm0
-	movq	%rdx,%r13
-	addq	%r11,%r14
-.byte	143,72,120,195,203,42
-	rorq	$23,%r13
-	movq	%r14,%r11
-	vpxor	%xmm10,%xmm11,%xmm11
-	movq	%r8,%r12
-	rorq	$5,%r14
-	xorq	%rdx,%r13
-	xorq	%r9,%r12
-	vpxor	%xmm9,%xmm11,%xmm11
-	rorq	$4,%r13
-	xorq	%r11,%r14
-	andq	%rdx,%r12
-	xorq	%rdx,%r13
-	vpaddq	%xmm11,%xmm0,%xmm0
-	addq	8(%rsp),%r10
-	movq	%r11,%rdi
-	xorq	%r9,%r12
-	rorq	$6,%r14
-	vpaddq	-128(%rbp),%xmm0,%xmm10
-	xorq	%rax,%rdi
-	addq	%r12,%r10
-	rorq	$14,%r13
-	andq	%rdi,%r15
-	xorq	%r11,%r14
-	addq	%r13,%r10
-	xorq	%rax,%r15
-	rorq	$28,%r14
-	addq	%r10,%rcx
-	addq	%r15,%r10
-	movq	%rcx,%r13
-	addq	%r10,%r14
-	vmovdqa	%xmm10,0(%rsp)
-	vpalignr	$8,%xmm1,%xmm2,%xmm8
-	rorq	$23,%r13
-	movq	%r14,%r10
-	vpalignr	$8,%xmm5,%xmm6,%xmm11
-	movq	%rdx,%r12
-	rorq	$5,%r14
-.byte	143,72,120,195,200,56
-	xorq	%rcx,%r13
-	xorq	%r8,%r12
-	vpsrlq	$7,%xmm8,%xmm8
-	rorq	$4,%r13
-	xorq	%r10,%r14
-	vpaddq	%xmm11,%xmm1,%xmm1
-	andq	%rcx,%r12
-	xorq	%rcx,%r13
-	addq	16(%rsp),%r9
-	movq	%r10,%r15
-.byte	143,72,120,195,209,7
-	xorq	%r8,%r12
-	rorq	$6,%r14
-	vpxor	%xmm9,%xmm8,%xmm8
-	xorq	%r11,%r15
-	addq	%r12,%r9
-	rorq	$14,%r13
-	andq	%r15,%rdi
-.byte	143,104,120,195,216,3
-	xorq	%r10,%r14
-	addq	%r13,%r9
-	vpxor	%xmm10,%xmm8,%xmm8
-	xorq	%r11,%rdi
-	rorq	$28,%r14
-	vpsrlq	$6,%xmm0,%xmm10
-	addq	%r9,%rbx
-	addq	%rdi,%r9
-	vpaddq	%xmm8,%xmm1,%xmm1
-	movq	%rbx,%r13
-	addq	%r9,%r14
-.byte	143,72,120,195,203,42
-	rorq	$23,%r13
-	movq	%r14,%r9
-	vpxor	%xmm10,%xmm11,%xmm11
-	movq	%rcx,%r12
-	rorq	$5,%r14
-	xorq	%rbx,%r13
-	xorq	%rdx,%r12
-	vpxor	%xmm9,%xmm11,%xmm11
-	rorq	$4,%r13
-	xorq	%r9,%r14
-	andq	%rbx,%r12
-	xorq	%rbx,%r13
-	vpaddq	%xmm11,%xmm1,%xmm1
-	addq	24(%rsp),%r8
-	movq	%r9,%rdi
-	xorq	%rdx,%r12
-	rorq	$6,%r14
-	vpaddq	-96(%rbp),%xmm1,%xmm10
-	xorq	%r10,%rdi
-	addq	%r12,%r8
-	rorq	$14,%r13
-	andq	%rdi,%r15
-	xorq	%r9,%r14
-	addq	%r13,%r8
-	xorq	%r10,%r15
-	rorq	$28,%r14
-	addq	%r8,%rax
-	addq	%r15,%r8
-	movq	%rax,%r13
-	addq	%r8,%r14
-	vmovdqa	%xmm10,16(%rsp)
-	vpalignr	$8,%xmm2,%xmm3,%xmm8
-	rorq	$23,%r13
-	movq	%r14,%r8
-	vpalignr	$8,%xmm6,%xmm7,%xmm11
-	movq	%rbx,%r12
-	rorq	$5,%r14
-.byte	143,72,120,195,200,56
-	xorq	%rax,%r13
-	xorq	%rcx,%r12
-	vpsrlq	$7,%xmm8,%xmm8
-	rorq	$4,%r13
-	xorq	%r8,%r14
-	vpaddq	%xmm11,%xmm2,%xmm2
-	andq	%rax,%r12
-	xorq	%rax,%r13
-	addq	32(%rsp),%rdx
-	movq	%r8,%r15
-.byte	143,72,120,195,209,7
-	xorq	%rcx,%r12
-	rorq	$6,%r14
-	vpxor	%xmm9,%xmm8,%xmm8
-	xorq	%r9,%r15
-	addq	%r12,%rdx
-	rorq	$14,%r13
-	andq	%r15,%rdi
-.byte	143,104,120,195,217,3
-	xorq	%r8,%r14
-	addq	%r13,%rdx
-	vpxor	%xmm10,%xmm8,%xmm8
-	xorq	%r9,%rdi
-	rorq	$28,%r14
-	vpsrlq	$6,%xmm1,%xmm10
-	addq	%rdx,%r11
-	addq	%rdi,%rdx
-	vpaddq	%xmm8,%xmm2,%xmm2
-	movq	%r11,%r13
-	addq	%rdx,%r14
-.byte	143,72,120,195,203,42
-	rorq	$23,%r13
-	movq	%r14,%rdx
-	vpxor	%xmm10,%xmm11,%xmm11
-	movq	%rax,%r12
-	rorq	$5,%r14
-	xorq	%r11,%r13
-	xorq	%rbx,%r12
-	vpxor	%xmm9,%xmm11,%xmm11
-	rorq	$4,%r13
-	xorq	%rdx,%r14
-	andq	%r11,%r12
-	xorq	%r11,%r13
-	vpaddq	%xmm11,%xmm2,%xmm2
-	addq	40(%rsp),%rcx
-	movq	%rdx,%rdi
-	xorq	%rbx,%r12
-	rorq	$6,%r14
-	vpaddq	-64(%rbp),%xmm2,%xmm10
-	xorq	%r8,%rdi
-	addq	%r12,%rcx
-	rorq	$14,%r13
-	andq	%rdi,%r15
-	xorq	%rdx,%r14
-	addq	%r13,%rcx
-	xorq	%r8,%r15
-	rorq	$28,%r14
-	addq	%rcx,%r10
-	addq	%r15,%rcx
-	movq	%r10,%r13
-	addq	%rcx,%r14
-	vmovdqa	%xmm10,32(%rsp)
-	vpalignr	$8,%xmm3,%xmm4,%xmm8
-	rorq	$23,%r13
-	movq	%r14,%rcx
-	vpalignr	$8,%xmm7,%xmm0,%xmm11
-	movq	%r11,%r12
-	rorq	$5,%r14
-.byte	143,72,120,195,200,56
-	xorq	%r10,%r13
-	xorq	%rax,%r12
-	vpsrlq	$7,%xmm8,%xmm8
-	rorq	$4,%r13
-	xorq	%rcx,%r14
-	vpaddq	%xmm11,%xmm3,%xmm3
-	andq	%r10,%r12
-	xorq	%r10,%r13
-	addq	48(%rsp),%rbx
-	movq	%rcx,%r15
-.byte	143,72,120,195,209,7
-	xorq	%rax,%r12
-	rorq	$6,%r14
-	vpxor	%xmm9,%xmm8,%xmm8
-	xorq	%rdx,%r15
-	addq	%r12,%rbx
-	rorq	$14,%r13
-	andq	%r15,%rdi
-.byte	143,104,120,195,218,3
-	xorq	%rcx,%r14
-	addq	%r13,%rbx
-	vpxor	%xmm10,%xmm8,%xmm8
-	xorq	%rdx,%rdi
-	rorq	$28,%r14
-	vpsrlq	$6,%xmm2,%xmm10
-	addq	%rbx,%r9
-	addq	%rdi,%rbx
-	vpaddq	%xmm8,%xmm3,%xmm3
-	movq	%r9,%r13
-	addq	%rbx,%r14
-.byte	143,72,120,195,203,42
-	rorq	$23,%r13
-	movq	%r14,%rbx
-	vpxor	%xmm10,%xmm11,%xmm11
-	movq	%r10,%r12
-	rorq	$5,%r14
-	xorq	%r9,%r13
-	xorq	%r11,%r12
-	vpxor	%xmm9,%xmm11,%xmm11
-	rorq	$4,%r13
-	xorq	%rbx,%r14
-	andq	%r9,%r12
-	xorq	%r9,%r13
-	vpaddq	%xmm11,%xmm3,%xmm3
-	addq	56(%rsp),%rax
-	movq	%rbx,%rdi
-	xorq	%r11,%r12
-	rorq	$6,%r14
-	vpaddq	-32(%rbp),%xmm3,%xmm10
-	xorq	%rcx,%rdi
-	addq	%r12,%rax
-	rorq	$14,%r13
-	andq	%rdi,%r15
-	xorq	%rbx,%r14
-	addq	%r13,%rax
-	xorq	%rcx,%r15
-	rorq	$28,%r14
-	addq	%rax,%r8
-	addq	%r15,%rax
-	movq	%r8,%r13
-	addq	%rax,%r14
-	vmovdqa	%xmm10,48(%rsp)
-	vpalignr	$8,%xmm4,%xmm5,%xmm8
-	rorq	$23,%r13
-	movq	%r14,%rax
-	vpalignr	$8,%xmm0,%xmm1,%xmm11
-	movq	%r9,%r12
-	rorq	$5,%r14
-.byte	143,72,120,195,200,56
-	xorq	%r8,%r13
-	xorq	%r10,%r12
-	vpsrlq	$7,%xmm8,%xmm8
-	rorq	$4,%r13
-	xorq	%rax,%r14
-	vpaddq	%xmm11,%xmm4,%xmm4
-	andq	%r8,%r12
-	xorq	%r8,%r13
-	addq	64(%rsp),%r11
-	movq	%rax,%r15
-.byte	143,72,120,195,209,7
-	xorq	%r10,%r12
-	rorq	$6,%r14
-	vpxor	%xmm9,%xmm8,%xmm8
-	xorq	%rbx,%r15
-	addq	%r12,%r11
-	rorq	$14,%r13
-	andq	%r15,%rdi
-.byte	143,104,120,195,219,3
-	xorq	%rax,%r14
-	addq	%r13,%r11
-	vpxor	%xmm10,%xmm8,%xmm8
-	xorq	%rbx,%rdi
-	rorq	$28,%r14
-	vpsrlq	$6,%xmm3,%xmm10
-	addq	%r11,%rdx
-	addq	%rdi,%r11
-	vpaddq	%xmm8,%xmm4,%xmm4
-	movq	%rdx,%r13
-	addq	%r11,%r14
-.byte	143,72,120,195,203,42
-	rorq	$23,%r13
-	movq	%r14,%r11
-	vpxor	%xmm10,%xmm11,%xmm11
-	movq	%r8,%r12
-	rorq	$5,%r14
-	xorq	%rdx,%r13
-	xorq	%r9,%r12
-	vpxor	%xmm9,%xmm11,%xmm11
-	rorq	$4,%r13
-	xorq	%r11,%r14
-	andq	%rdx,%r12
-	xorq	%rdx,%r13
-	vpaddq	%xmm11,%xmm4,%xmm4
-	addq	72(%rsp),%r10
-	movq	%r11,%rdi
-	xorq	%r9,%r12
-	rorq	$6,%r14
-	vpaddq	0(%rbp),%xmm4,%xmm10
-	xorq	%rax,%rdi
-	addq	%r12,%r10
-	rorq	$14,%r13
-	andq	%rdi,%r15
-	xorq	%r11,%r14
-	addq	%r13,%r10
-	xorq	%rax,%r15
-	rorq	$28,%r14
-	addq	%r10,%rcx
-	addq	%r15,%r10
-	movq	%rcx,%r13
-	addq	%r10,%r14
-	vmovdqa	%xmm10,64(%rsp)
-	vpalignr	$8,%xmm5,%xmm6,%xmm8
-	rorq	$23,%r13
-	movq	%r14,%r10
-	vpalignr	$8,%xmm1,%xmm2,%xmm11
-	movq	%rdx,%r12
-	rorq	$5,%r14
-.byte	143,72,120,195,200,56
-	xorq	%rcx,%r13
-	xorq	%r8,%r12
-	vpsrlq	$7,%xmm8,%xmm8
-	rorq	$4,%r13
-	xorq	%r10,%r14
-	vpaddq	%xmm11,%xmm5,%xmm5
-	andq	%rcx,%r12
-	xorq	%rcx,%r13
-	addq	80(%rsp),%r9
-	movq	%r10,%r15
-.byte	143,72,120,195,209,7
-	xorq	%r8,%r12
-	rorq	$6,%r14
-	vpxor	%xmm9,%xmm8,%xmm8
-	xorq	%r11,%r15
-	addq	%r12,%r9
-	rorq	$14,%r13
-	andq	%r15,%rdi
-.byte	143,104,120,195,220,3
-	xorq	%r10,%r14
-	addq	%r13,%r9
-	vpxor	%xmm10,%xmm8,%xmm8
-	xorq	%r11,%rdi
-	rorq	$28,%r14
-	vpsrlq	$6,%xmm4,%xmm10
-	addq	%r9,%rbx
-	addq	%rdi,%r9
-	vpaddq	%xmm8,%xmm5,%xmm5
-	movq	%rbx,%r13
-	addq	%r9,%r14
-.byte	143,72,120,195,203,42
-	rorq	$23,%r13
-	movq	%r14,%r9
-	vpxor	%xmm10,%xmm11,%xmm11
-	movq	%rcx,%r12
-	rorq	$5,%r14
-	xorq	%rbx,%r13
-	xorq	%rdx,%r12
-	vpxor	%xmm9,%xmm11,%xmm11
-	rorq	$4,%r13
-	xorq	%r9,%r14
-	andq	%rbx,%r12
-	xorq	%rbx,%r13
-	vpaddq	%xmm11,%xmm5,%xmm5
-	addq	88(%rsp),%r8
-	movq	%r9,%rdi
-	xorq	%rdx,%r12
-	rorq	$6,%r14
-	vpaddq	32(%rbp),%xmm5,%xmm10
-	xorq	%r10,%rdi
-	addq	%r12,%r8
-	rorq	$14,%r13
-	andq	%rdi,%r15
-	xorq	%r9,%r14
-	addq	%r13,%r8
-	xorq	%r10,%r15
-	rorq	$28,%r14
-	addq	%r8,%rax
-	addq	%r15,%r8
-	movq	%rax,%r13
-	addq	%r8,%r14
-	vmovdqa	%xmm10,80(%rsp)
-	vpalignr	$8,%xmm6,%xmm7,%xmm8
-	rorq	$23,%r13
-	movq	%r14,%r8
-	vpalignr	$8,%xmm2,%xmm3,%xmm11
-	movq	%rbx,%r12
-	rorq	$5,%r14
-.byte	143,72,120,195,200,56
-	xorq	%rax,%r13
-	xorq	%rcx,%r12
-	vpsrlq	$7,%xmm8,%xmm8
-	rorq	$4,%r13
-	xorq	%r8,%r14
-	vpaddq	%xmm11,%xmm6,%xmm6
-	andq	%rax,%r12
-	xorq	%rax,%r13
-	addq	96(%rsp),%rdx
-	movq	%r8,%r15
-.byte	143,72,120,195,209,7
-	xorq	%rcx,%r12
-	rorq	$6,%r14
-	vpxor	%xmm9,%xmm8,%xmm8
-	xorq	%r9,%r15
-	addq	%r12,%rdx
-	rorq	$14,%r13
-	andq	%r15,%rdi
-.byte	143,104,120,195,221,3
-	xorq	%r8,%r14
-	addq	%r13,%rdx
-	vpxor	%xmm10,%xmm8,%xmm8
-	xorq	%r9,%rdi
-	rorq	$28,%r14
-	vpsrlq	$6,%xmm5,%xmm10
-	addq	%rdx,%r11
-	addq	%rdi,%rdx
-	vpaddq	%xmm8,%xmm6,%xmm6
-	movq	%r11,%r13
-	addq	%rdx,%r14
-.byte	143,72,120,195,203,42
-	rorq	$23,%r13
-	movq	%r14,%rdx
-	vpxor	%xmm10,%xmm11,%xmm11
-	movq	%rax,%r12
-	rorq	$5,%r14
-	xorq	%r11,%r13
-	xorq	%rbx,%r12
-	vpxor	%xmm9,%xmm11,%xmm11
-	rorq	$4,%r13
-	xorq	%rdx,%r14
-	andq	%r11,%r12
-	xorq	%r11,%r13
-	vpaddq	%xmm11,%xmm6,%xmm6
-	addq	104(%rsp),%rcx
-	movq	%rdx,%rdi
-	xorq	%rbx,%r12
-	rorq	$6,%r14
-	vpaddq	64(%rbp),%xmm6,%xmm10
-	xorq	%r8,%rdi
-	addq	%r12,%rcx
-	rorq	$14,%r13
-	andq	%rdi,%r15
-	xorq	%rdx,%r14
-	addq	%r13,%rcx
-	xorq	%r8,%r15
-	rorq	$28,%r14
-	addq	%rcx,%r10
-	addq	%r15,%rcx
-	movq	%r10,%r13
-	addq	%rcx,%r14
-	vmovdqa	%xmm10,96(%rsp)
-	vpalignr	$8,%xmm7,%xmm0,%xmm8
-	rorq	$23,%r13
-	movq	%r14,%rcx
-	vpalignr	$8,%xmm3,%xmm4,%xmm11
-	movq	%r11,%r12
-	rorq	$5,%r14
-.byte	143,72,120,195,200,56
-	xorq	%r10,%r13
-	xorq	%rax,%r12
-	vpsrlq	$7,%xmm8,%xmm8
-	rorq	$4,%r13
-	xorq	%rcx,%r14
-	vpaddq	%xmm11,%xmm7,%xmm7
-	andq	%r10,%r12
-	xorq	%r10,%r13
-	addq	112(%rsp),%rbx
-	movq	%rcx,%r15
-.byte	143,72,120,195,209,7
-	xorq	%rax,%r12
-	rorq	$6,%r14
-	vpxor	%xmm9,%xmm8,%xmm8
-	xorq	%rdx,%r15
-	addq	%r12,%rbx
-	rorq	$14,%r13
-	andq	%r15,%rdi
-.byte	143,104,120,195,222,3
-	xorq	%rcx,%r14
-	addq	%r13,%rbx
-	vpxor	%xmm10,%xmm8,%xmm8
-	xorq	%rdx,%rdi
-	rorq	$28,%r14
-	vpsrlq	$6,%xmm6,%xmm10
-	addq	%rbx,%r9
-	addq	%rdi,%rbx
-	vpaddq	%xmm8,%xmm7,%xmm7
-	movq	%r9,%r13
-	addq	%rbx,%r14
-.byte	143,72,120,195,203,42
-	rorq	$23,%r13
-	movq	%r14,%rbx
-	vpxor	%xmm10,%xmm11,%xmm11
-	movq	%r10,%r12
-	rorq	$5,%r14
-	xorq	%r9,%r13
-	xorq	%r11,%r12
-	vpxor	%xmm9,%xmm11,%xmm11
-	rorq	$4,%r13
-	xorq	%rbx,%r14
-	andq	%r9,%r12
-	xorq	%r9,%r13
-	vpaddq	%xmm11,%xmm7,%xmm7
-	addq	120(%rsp),%rax
-	movq	%rbx,%rdi
-	xorq	%r11,%r12
-	rorq	$6,%r14
-	vpaddq	96(%rbp),%xmm7,%xmm10
-	xorq	%rcx,%rdi
-	addq	%r12,%rax
-	rorq	$14,%r13
-	andq	%rdi,%r15
-	xorq	%rbx,%r14
-	addq	%r13,%rax
-	xorq	%rcx,%r15
-	rorq	$28,%r14
-	addq	%rax,%r8
-	addq	%r15,%rax
-	movq	%r8,%r13
-	addq	%rax,%r14
-	vmovdqa	%xmm10,112(%rsp)
-	cmpb	$0,135(%rbp)
-	jne	L$xop_00_47
-	rorq	$23,%r13
-	movq	%r14,%rax
-	movq	%r9,%r12
-	rorq	$5,%r14
-	xorq	%r8,%r13
-	xorq	%r10,%r12
-	rorq	$4,%r13
-	xorq	%rax,%r14
-	andq	%r8,%r12
-	xorq	%r8,%r13
-	addq	0(%rsp),%r11
-	movq	%rax,%r15
-	xorq	%r10,%r12
-	rorq	$6,%r14
-	xorq	%rbx,%r15
-	addq	%r12,%r11
-	rorq	$14,%r13
-	andq	%r15,%rdi
-	xorq	%rax,%r14
-	addq	%r13,%r11
-	xorq	%rbx,%rdi
-	rorq	$28,%r14
-	addq	%r11,%rdx
-	addq	%rdi,%r11
-	movq	%rdx,%r13
-	addq	%r11,%r14
-	rorq	$23,%r13
-	movq	%r14,%r11
-	movq	%r8,%r12
-	rorq	$5,%r14
-	xorq	%rdx,%r13
-	xorq	%r9,%r12
-	rorq	$4,%r13
-	xorq	%r11,%r14
-	andq	%rdx,%r12
-	xorq	%rdx,%r13
-	addq	8(%rsp),%r10
-	movq	%r11,%rdi
-	xorq	%r9,%r12
-	rorq	$6,%r14
-	xorq	%rax,%rdi
-	addq	%r12,%r10
-	rorq	$14,%r13
-	andq	%rdi,%r15
-	xorq	%r11,%r14
-	addq	%r13,%r10
-	xorq	%rax,%r15
-	rorq	$28,%r14
-	addq	%r10,%rcx
-	addq	%r15,%r10
-	movq	%rcx,%r13
-	addq	%r10,%r14
-	rorq	$23,%r13
-	movq	%r14,%r10
-	movq	%rdx,%r12
-	rorq	$5,%r14
-	xorq	%rcx,%r13
-	xorq	%r8,%r12
-	rorq	$4,%r13
-	xorq	%r10,%r14
-	andq	%rcx,%r12
-	xorq	%rcx,%r13
-	addq	16(%rsp),%r9
-	movq	%r10,%r15
-	xorq	%r8,%r12
-	rorq	$6,%r14
-	xorq	%r11,%r15
-	addq	%r12,%r9
-	rorq	$14,%r13
-	andq	%r15,%rdi
-	xorq	%r10,%r14
-	addq	%r13,%r9
-	xorq	%r11,%rdi
-	rorq	$28,%r14
-	addq	%r9,%rbx
-	addq	%rdi,%r9
-	movq	%rbx,%r13
-	addq	%r9,%r14
-	rorq	$23,%r13
-	movq	%r14,%r9
-	movq	%rcx,%r12
-	rorq	$5,%r14
-	xorq	%rbx,%r13
-	xorq	%rdx,%r12
-	rorq	$4,%r13
-	xorq	%r9,%r14
-	andq	%rbx,%r12
-	xorq	%rbx,%r13
-	addq	24(%rsp),%r8
-	movq	%r9,%rdi
-	xorq	%rdx,%r12
-	rorq	$6,%r14
-	xorq	%r10,%rdi
-	addq	%r12,%r8
-	rorq	$14,%r13
-	andq	%rdi,%r15
-	xorq	%r9,%r14
-	addq	%r13,%r8
-	xorq	%r10,%r15
-	rorq	$28,%r14
-	addq	%r8,%rax
-	addq	%r15,%r8
-	movq	%rax,%r13
-	addq	%r8,%r14
-	rorq	$23,%r13
-	movq	%r14,%r8
-	movq	%rbx,%r12
-	rorq	$5,%r14
-	xorq	%rax,%r13
-	xorq	%rcx,%r12
-	rorq	$4,%r13
-	xorq	%r8,%r14
-	andq	%rax,%r12
-	xorq	%rax,%r13
-	addq	32(%rsp),%rdx
-	movq	%r8,%r15
-	xorq	%rcx,%r12
-	rorq	$6,%r14
-	xorq	%r9,%r15
-	addq	%r12,%rdx
-	rorq	$14,%r13
-	andq	%r15,%rdi
-	xorq	%r8,%r14
-	addq	%r13,%rdx
-	xorq	%r9,%rdi
-	rorq	$28,%r14
-	addq	%rdx,%r11
-	addq	%rdi,%rdx
-	movq	%r11,%r13
-	addq	%rdx,%r14
-	rorq	$23,%r13
-	movq	%r14,%rdx
-	movq	%rax,%r12
-	rorq	$5,%r14
-	xorq	%r11,%r13
-	xorq	%rbx,%r12
-	rorq	$4,%r13
-	xorq	%rdx,%r14
-	andq	%r11,%r12
-	xorq	%r11,%r13
-	addq	40(%rsp),%rcx
-	movq	%rdx,%rdi
-	xorq	%rbx,%r12
-	rorq	$6,%r14
-	xorq	%r8,%rdi
-	addq	%r12,%rcx
-	rorq	$14,%r13
-	andq	%rdi,%r15
-	xorq	%rdx,%r14
-	addq	%r13,%rcx
-	xorq	%r8,%r15
-	rorq	$28,%r14
-	addq	%rcx,%r10
-	addq	%r15,%rcx
-	movq	%r10,%r13
-	addq	%rcx,%r14
-	rorq	$23,%r13
-	movq	%r14,%rcx
-	movq	%r11,%r12
-	rorq	$5,%r14
-	xorq	%r10,%r13
-	xorq	%rax,%r12
-	rorq	$4,%r13
-	xorq	%rcx,%r14
-	andq	%r10,%r12
-	xorq	%r10,%r13
-	addq	48(%rsp),%rbx
-	movq	%rcx,%r15
-	xorq	%rax,%r12
-	rorq	$6,%r14
-	xorq	%rdx,%r15
-	addq	%r12,%rbx
-	rorq	$14,%r13
-	andq	%r15,%rdi
-	xorq	%rcx,%r14
-	addq	%r13,%rbx
-	xorq	%rdx,%rdi
-	rorq	$28,%r14
-	addq	%rbx,%r9
-	addq	%rdi,%rbx
-	movq	%r9,%r13
-	addq	%rbx,%r14
-	rorq	$23,%r13
-	movq	%r14,%rbx
-	movq	%r10,%r12
-	rorq	$5,%r14
-	xorq	%r9,%r13
-	xorq	%r11,%r12
-	rorq	$4,%r13
-	xorq	%rbx,%r14
-	andq	%r9,%r12
-	xorq	%r9,%r13
-	addq	56(%rsp),%rax
-	movq	%rbx,%rdi
-	xorq	%r11,%r12
-	rorq	$6,%r14
-	xorq	%rcx,%rdi
-	addq	%r12,%rax
-	rorq	$14,%r13
-	andq	%rdi,%r15
-	xorq	%rbx,%r14
-	addq	%r13,%rax
-	xorq	%rcx,%r15
-	rorq	$28,%r14
-	addq	%rax,%r8
-	addq	%r15,%rax
-	movq	%r8,%r13
-	addq	%rax,%r14
-	rorq	$23,%r13
-	movq	%r14,%rax
-	movq	%r9,%r12
-	rorq	$5,%r14
-	xorq	%r8,%r13
-	xorq	%r10,%r12
-	rorq	$4,%r13
-	xorq	%rax,%r14
-	andq	%r8,%r12
-	xorq	%r8,%r13
-	addq	64(%rsp),%r11
-	movq	%rax,%r15
-	xorq	%r10,%r12
-	rorq	$6,%r14
-	xorq	%rbx,%r15
-	addq	%r12,%r11
-	rorq	$14,%r13
-	andq	%r15,%rdi
-	xorq	%rax,%r14
-	addq	%r13,%r11
-	xorq	%rbx,%rdi
-	rorq	$28,%r14
-	addq	%r11,%rdx
-	addq	%rdi,%r11
-	movq	%rdx,%r13
-	addq	%r11,%r14
-	rorq	$23,%r13
-	movq	%r14,%r11
-	movq	%r8,%r12
-	rorq	$5,%r14
-	xorq	%rdx,%r13
-	xorq	%r9,%r12
-	rorq	$4,%r13
-	xorq	%r11,%r14
-	andq	%rdx,%r12
-	xorq	%rdx,%r13
-	addq	72(%rsp),%r10
-	movq	%r11,%rdi
-	xorq	%r9,%r12
-	rorq	$6,%r14
-	xorq	%rax,%rdi
-	addq	%r12,%r10
-	rorq	$14,%r13
-	andq	%rdi,%r15
-	xorq	%r11,%r14
-	addq	%r13,%r10
-	xorq	%rax,%r15
-	rorq	$28,%r14
-	addq	%r10,%rcx
-	addq	%r15,%r10
-	movq	%rcx,%r13
-	addq	%r10,%r14
-	rorq	$23,%r13
-	movq	%r14,%r10
-	movq	%rdx,%r12
-	rorq	$5,%r14
-	xorq	%rcx,%r13
-	xorq	%r8,%r12
-	rorq	$4,%r13
-	xorq	%r10,%r14
-	andq	%rcx,%r12
-	xorq	%rcx,%r13
-	addq	80(%rsp),%r9
-	movq	%r10,%r15
-	xorq	%r8,%r12
-	rorq	$6,%r14
-	xorq	%r11,%r15
-	addq	%r12,%r9
-	rorq	$14,%r13
-	andq	%r15,%rdi
-	xorq	%r10,%r14
-	addq	%r13,%r9
-	xorq	%r11,%rdi
-	rorq	$28,%r14
-	addq	%r9,%rbx
-	addq	%rdi,%r9
-	movq	%rbx,%r13
-	addq	%r9,%r14
-	rorq	$23,%r13
-	movq	%r14,%r9
-	movq	%rcx,%r12
-	rorq	$5,%r14
-	xorq	%rbx,%r13
-	xorq	%rdx,%r12
-	rorq	$4,%r13
-	xorq	%r9,%r14
-	andq	%rbx,%r12
-	xorq	%rbx,%r13
-	addq	88(%rsp),%r8
-	movq	%r9,%rdi
-	xorq	%rdx,%r12
-	rorq	$6,%r14
-	xorq	%r10,%rdi
-	addq	%r12,%r8
-	rorq	$14,%r13
-	andq	%rdi,%r15
-	xorq	%r9,%r14
-	addq	%r13,%r8
-	xorq	%r10,%r15
-	rorq	$28,%r14
-	addq	%r8,%rax
-	addq	%r15,%r8
-	movq	%rax,%r13
-	addq	%r8,%r14
-	rorq	$23,%r13
-	movq	%r14,%r8
-	movq	%rbx,%r12
-	rorq	$5,%r14
-	xorq	%rax,%r13
-	xorq	%rcx,%r12
-	rorq	$4,%r13
-	xorq	%r8,%r14
-	andq	%rax,%r12
-	xorq	%rax,%r13
-	addq	96(%rsp),%rdx
-	movq	%r8,%r15
-	xorq	%rcx,%r12
-	rorq	$6,%r14
-	xorq	%r9,%r15
-	addq	%r12,%rdx
-	rorq	$14,%r13
-	andq	%r15,%rdi
-	xorq	%r8,%r14
-	addq	%r13,%rdx
-	xorq	%r9,%rdi
-	rorq	$28,%r14
-	addq	%rdx,%r11
-	addq	%rdi,%rdx
-	movq	%r11,%r13
-	addq	%rdx,%r14
-	rorq	$23,%r13
-	movq	%r14,%rdx
-	movq	%rax,%r12
-	rorq	$5,%r14
-	xorq	%r11,%r13
-	xorq	%rbx,%r12
-	rorq	$4,%r13
-	xorq	%rdx,%r14
-	andq	%r11,%r12
-	xorq	%r11,%r13
-	addq	104(%rsp),%rcx
-	movq	%rdx,%rdi
-	xorq	%rbx,%r12
-	rorq	$6,%r14
-	xorq	%r8,%rdi
-	addq	%r12,%rcx
-	rorq	$14,%r13
-	andq	%rdi,%r15
-	xorq	%rdx,%r14
-	addq	%r13,%rcx
-	xorq	%r8,%r15
-	rorq	$28,%r14
-	addq	%rcx,%r10
-	addq	%r15,%rcx
-	movq	%r10,%r13
-	addq	%rcx,%r14
-	rorq	$23,%r13
-	movq	%r14,%rcx
-	movq	%r11,%r12
-	rorq	$5,%r14
-	xorq	%r10,%r13
-	xorq	%rax,%r12
-	rorq	$4,%r13
-	xorq	%rcx,%r14
-	andq	%r10,%r12
-	xorq	%r10,%r13
-	addq	112(%rsp),%rbx
-	movq	%rcx,%r15
-	xorq	%rax,%r12
-	rorq	$6,%r14
-	xorq	%rdx,%r15
-	addq	%r12,%rbx
-	rorq	$14,%r13
-	andq	%r15,%rdi
-	xorq	%rcx,%r14
-	addq	%r13,%rbx
-	xorq	%rdx,%rdi
-	rorq	$28,%r14
-	addq	%rbx,%r9
-	addq	%rdi,%rbx
-	movq	%r9,%r13
-	addq	%rbx,%r14
-	rorq	$23,%r13
-	movq	%r14,%rbx
-	movq	%r10,%r12
-	rorq	$5,%r14
-	xorq	%r9,%r13
-	xorq	%r11,%r12
-	rorq	$4,%r13
-	xorq	%rbx,%r14
-	andq	%r9,%r12
-	xorq	%r9,%r13
-	addq	120(%rsp),%rax
-	movq	%rbx,%rdi
-	xorq	%r11,%r12
-	rorq	$6,%r14
-	xorq	%rcx,%rdi
-	addq	%r12,%rax
-	rorq	$14,%r13
-	andq	%rdi,%r15
-	xorq	%rbx,%r14
-	addq	%r13,%rax
-	xorq	%rcx,%r15
-	rorq	$28,%r14
-	addq	%rax,%r8
-	addq	%r15,%rax
-	movq	%r8,%r13
-	addq	%rax,%r14
-	movq	128+0(%rsp),%rdi
-	movq	%r14,%rax
-
-	addq	0(%rdi),%rax
-	leaq	128(%rsi),%rsi
-	addq	8(%rdi),%rbx
-	addq	16(%rdi),%rcx
-	addq	24(%rdi),%rdx
-	addq	32(%rdi),%r8
-	addq	40(%rdi),%r9
-	addq	48(%rdi),%r10
-	addq	56(%rdi),%r11
-
-	cmpq	128+16(%rsp),%rsi
-
-	movq	%rax,0(%rdi)
-	movq	%rbx,8(%rdi)
-	movq	%rcx,16(%rdi)
-	movq	%rdx,24(%rdi)
-	movq	%r8,32(%rdi)
-	movq	%r9,40(%rdi)
-	movq	%r10,48(%rdi)
-	movq	%r11,56(%rdi)
-	jb	L$loop_xop
-
-	movq	128+24(%rsp),%rsi
-	vzeroupper
-	movq	-48(%rsi),%r15
-	movq	-40(%rsi),%r14
-	movq	-32(%rsi),%r13
-	movq	-24(%rsi),%r12
-	movq	-16(%rsi),%rbp
-	movq	-8(%rsi),%rbx
-	leaq	(%rsi),%rsp
-L$epilogue_xop:
-	.byte	0xf3,0xc3
-
-
-.p2align	6
-sha512_block_data_order_avx:
-L$avx_shortcut:
-	movq	%rsp,%rax
-	pushq	%rbx
-	pushq	%rbp
-	pushq	%r12
-	pushq	%r13
-	pushq	%r14
-	pushq	%r15
-	shlq	$4,%rdx
-	subq	$160,%rsp
-	leaq	(%rsi,%rdx,8),%rdx
-	andq	$-64,%rsp
-	movq	%rdi,128+0(%rsp)
-	movq	%rsi,128+8(%rsp)
-	movq	%rdx,128+16(%rsp)
-	movq	%rax,128+24(%rsp)
-L$prologue_avx:
-
-	vzeroupper
-	movq	0(%rdi),%rax
-	movq	8(%rdi),%rbx
-	movq	16(%rdi),%rcx
-	movq	24(%rdi),%rdx
-	movq	32(%rdi),%r8
-	movq	40(%rdi),%r9
-	movq	48(%rdi),%r10
-	movq	56(%rdi),%r11
-	jmp	L$loop_avx
-.p2align	4
-L$loop_avx:
-	vmovdqa	K512+1280(%rip),%xmm11
-	vmovdqu	0(%rsi),%xmm0
-	leaq	K512+128(%rip),%rbp
-	vmovdqu	16(%rsi),%xmm1
-	vmovdqu	32(%rsi),%xmm2
-	vpshufb	%xmm11,%xmm0,%xmm0
-	vmovdqu	48(%rsi),%xmm3
-	vpshufb	%xmm11,%xmm1,%xmm1
-	vmovdqu	64(%rsi),%xmm4
-	vpshufb	%xmm11,%xmm2,%xmm2
-	vmovdqu	80(%rsi),%xmm5
-	vpshufb	%xmm11,%xmm3,%xmm3
-	vmovdqu	96(%rsi),%xmm6
-	vpshufb	%xmm11,%xmm4,%xmm4
-	vmovdqu	112(%rsi),%xmm7
-	vpshufb	%xmm11,%xmm5,%xmm5
-	vpaddq	-128(%rbp),%xmm0,%xmm8
-	vpshufb	%xmm11,%xmm6,%xmm6
-	vpaddq	-96(%rbp),%xmm1,%xmm9
-	vpshufb	%xmm11,%xmm7,%xmm7
-	vpaddq	-64(%rbp),%xmm2,%xmm10
-	vpaddq	-32(%rbp),%xmm3,%xmm11
-	vmovdqa	%xmm8,0(%rsp)
-	vpaddq	0(%rbp),%xmm4,%xmm8
-	vmovdqa	%xmm9,16(%rsp)
-	vpaddq	32(%rbp),%xmm5,%xmm9
-	vmovdqa	%xmm10,32(%rsp)
-	vpaddq	64(%rbp),%xmm6,%xmm10
-	vmovdqa	%xmm11,48(%rsp)
-	vpaddq	96(%rbp),%xmm7,%xmm11
-	vmovdqa	%xmm8,64(%rsp)
-	movq	%rax,%r14
-	vmovdqa	%xmm9,80(%rsp)
-	movq	%rbx,%rdi
-	vmovdqa	%xmm10,96(%rsp)
-	xorq	%rcx,%rdi
-	vmovdqa	%xmm11,112(%rsp)
-	movq	%r8,%r13
-	jmp	L$avx_00_47
-
-.p2align	4
-L$avx_00_47:
-	addq	$256,%rbp
-	vpalignr	$8,%xmm0,%xmm1,%xmm8
-	shrdq	$23,%r13,%r13
-	movq	%r14,%rax
-	vpalignr	$8,%xmm4,%xmm5,%xmm11
-	movq	%r9,%r12
-	shrdq	$5,%r14,%r14
-	vpsrlq	$1,%xmm8,%xmm10
-	xorq	%r8,%r13
-	xorq	%r10,%r12
-	vpaddq	%xmm11,%xmm0,%xmm0
-	shrdq	$4,%r13,%r13
-	xorq	%rax,%r14
-	vpsrlq	$7,%xmm8,%xmm11
-	andq	%r8,%r12
-	xorq	%r8,%r13
-	vpsllq	$56,%xmm8,%xmm9
-	addq	0(%rsp),%r11
-	movq	%rax,%r15
-	vpxor	%xmm10,%xmm11,%xmm8
-	xorq	%r10,%r12
-	shrdq	$6,%r14,%r14
-	vpsrlq	$7,%xmm10,%xmm10
-	xorq	%rbx,%r15
-	addq	%r12,%r11
-	vpxor	%xmm9,%xmm8,%xmm8
-	shrdq	$14,%r13,%r13
-	andq	%r15,%rdi
-	vpsllq	$7,%xmm9,%xmm9
-	xorq	%rax,%r14
-	addq	%r13,%r11
-	vpxor	%xmm10,%xmm8,%xmm8
-	xorq	%rbx,%rdi
-	shrdq	$28,%r14,%r14
-	vpsrlq	$6,%xmm7,%xmm11
-	addq	%r11,%rdx
-	addq	%rdi,%r11
-	vpxor	%xmm9,%xmm8,%xmm8
-	movq	%rdx,%r13
-	addq	%r11,%r14
-	vpsllq	$3,%xmm7,%xmm10
-	shrdq	$23,%r13,%r13
-	movq	%r14,%r11
-	vpaddq	%xmm8,%xmm0,%xmm0
-	movq	%r8,%r12
-	shrdq	$5,%r14,%r14
-	vpsrlq	$19,%xmm7,%xmm9
-	xorq	%rdx,%r13
-	xorq	%r9,%r12
-	vpxor	%xmm10,%xmm11,%xmm11
-	shrdq	$4,%r13,%r13
-	xorq	%r11,%r14
-	vpsllq	$42,%xmm10,%xmm10
-	andq	%rdx,%r12
-	xorq	%rdx,%r13
-	vpxor	%xmm9,%xmm11,%xmm11
-	addq	8(%rsp),%r10
-	movq	%r11,%rdi
-	vpsrlq	$42,%xmm9,%xmm9
-	xorq	%r9,%r12
-	shrdq	$6,%r14,%r14
-	vpxor	%xmm10,%xmm11,%xmm11
-	xorq	%rax,%rdi
-	addq	%r12,%r10
-	vpxor	%xmm9,%xmm11,%xmm11
-	shrdq	$14,%r13,%r13
-	andq	%rdi,%r15
-	vpaddq	%xmm11,%xmm0,%xmm0
-	xorq	%r11,%r14
-	addq	%r13,%r10
-	vpaddq	-128(%rbp),%xmm0,%xmm10
-	xorq	%rax,%r15
-	shrdq	$28,%r14,%r14
-	addq	%r10,%rcx
-	addq	%r15,%r10
-	movq	%rcx,%r13
-	addq	%r10,%r14
-	vmovdqa	%xmm10,0(%rsp)
-	vpalignr	$8,%xmm1,%xmm2,%xmm8
-	shrdq	$23,%r13,%r13
-	movq	%r14,%r10
-	vpalignr	$8,%xmm5,%xmm6,%xmm11
-	movq	%rdx,%r12
-	shrdq	$5,%r14,%r14
-	vpsrlq	$1,%xmm8,%xmm10
-	xorq	%rcx,%r13
-	xorq	%r8,%r12
-	vpaddq	%xmm11,%xmm1,%xmm1
-	shrdq	$4,%r13,%r13
-	xorq	%r10,%r14
-	vpsrlq	$7,%xmm8,%xmm11
-	andq	%rcx,%r12
-	xorq	%rcx,%r13
-	vpsllq	$56,%xmm8,%xmm9
-	addq	16(%rsp),%r9
-	movq	%r10,%r15
-	vpxor	%xmm10,%xmm11,%xmm8
-	xorq	%r8,%r12
-	shrdq	$6,%r14,%r14
-	vpsrlq	$7,%xmm10,%xmm10
-	xorq	%r11,%r15
-	addq	%r12,%r9
-	vpxor	%xmm9,%xmm8,%xmm8
-	shrdq	$14,%r13,%r13
-	andq	%r15,%rdi
-	vpsllq	$7,%xmm9,%xmm9
-	xorq	%r10,%r14
-	addq	%r13,%r9
-	vpxor	%xmm10,%xmm8,%xmm8
-	xorq	%r11,%rdi
-	shrdq	$28,%r14,%r14
-	vpsrlq	$6,%xmm0,%xmm11
-	addq	%r9,%rbx
-	addq	%rdi,%r9
-	vpxor	%xmm9,%xmm8,%xmm8
-	movq	%rbx,%r13
-	addq	%r9,%r14
-	vpsllq	$3,%xmm0,%xmm10
-	shrdq	$23,%r13,%r13
-	movq	%r14,%r9
-	vpaddq	%xmm8,%xmm1,%xmm1
-	movq	%rcx,%r12
-	shrdq	$5,%r14,%r14
-	vpsrlq	$19,%xmm0,%xmm9
-	xorq	%rbx,%r13
-	xorq	%rdx,%r12
-	vpxor	%xmm10,%xmm11,%xmm11
-	shrdq	$4,%r13,%r13
-	xorq	%r9,%r14
-	vpsllq	$42,%xmm10,%xmm10
-	andq	%rbx,%r12
-	xorq	%rbx,%r13
-	vpxor	%xmm9,%xmm11,%xmm11
-	addq	24(%rsp),%r8
-	movq	%r9,%rdi
-	vpsrlq	$42,%xmm9,%xmm9
-	xorq	%rdx,%r12
-	shrdq	$6,%r14,%r14
-	vpxor	%xmm10,%xmm11,%xmm11
-	xorq	%r10,%rdi
-	addq	%r12,%r8
-	vpxor	%xmm9,%xmm11,%xmm11
-	shrdq	$14,%r13,%r13
-	andq	%rdi,%r15
-	vpaddq	%xmm11,%xmm1,%xmm1
-	xorq	%r9,%r14
-	addq	%r13,%r8
-	vpaddq	-96(%rbp),%xmm1,%xmm10
-	xorq	%r10,%r15
-	shrdq	$28,%r14,%r14
-	addq	%r8,%rax
-	addq	%r15,%r8
-	movq	%rax,%r13
-	addq	%r8,%r14
-	vmovdqa	%xmm10,16(%rsp)
-	vpalignr	$8,%xmm2,%xmm3,%xmm8
-	shrdq	$23,%r13,%r13
-	movq	%r14,%r8
-	vpalignr	$8,%xmm6,%xmm7,%xmm11
-	movq	%rbx,%r12
-	shrdq	$5,%r14,%r14
-	vpsrlq	$1,%xmm8,%xmm10
-	xorq	%rax,%r13
-	xorq	%rcx,%r12
-	vpaddq	%xmm11,%xmm2,%xmm2
-	shrdq	$4,%r13,%r13
-	xorq	%r8,%r14
-	vpsrlq	$7,%xmm8,%xmm11
-	andq	%rax,%r12
-	xorq	%rax,%r13
-	vpsllq	$56,%xmm8,%xmm9
-	addq	32(%rsp),%rdx
-	movq	%r8,%r15
-	vpxor	%xmm10,%xmm11,%xmm8
-	xorq	%rcx,%r12
-	shrdq	$6,%r14,%r14
-	vpsrlq	$7,%xmm10,%xmm10
-	xorq	%r9,%r15
-	addq	%r12,%rdx
-	vpxor	%xmm9,%xmm8,%xmm8
-	shrdq	$14,%r13,%r13
-	andq	%r15,%rdi
-	vpsllq	$7,%xmm9,%xmm9
-	xorq	%r8,%r14
-	addq	%r13,%rdx
-	vpxor	%xmm10,%xmm8,%xmm8
-	xorq	%r9,%rdi
-	shrdq	$28,%r14,%r14
-	vpsrlq	$6,%xmm1,%xmm11
-	addq	%rdx,%r11
-	addq	%rdi,%rdx
-	vpxor	%xmm9,%xmm8,%xmm8
-	movq	%r11,%r13
-	addq	%rdx,%r14
-	vpsllq	$3,%xmm1,%xmm10
-	shrdq	$23,%r13,%r13
-	movq	%r14,%rdx
-	vpaddq	%xmm8,%xmm2,%xmm2
-	movq	%rax,%r12
-	shrdq	$5,%r14,%r14
-	vpsrlq	$19,%xmm1,%xmm9
-	xorq	%r11,%r13
-	xorq	%rbx,%r12
-	vpxor	%xmm10,%xmm11,%xmm11
-	shrdq	$4,%r13,%r13
-	xorq	%rdx,%r14
-	vpsllq	$42,%xmm10,%xmm10
-	andq	%r11,%r12
-	xorq	%r11,%r13
-	vpxor	%xmm9,%xmm11,%xmm11
-	addq	40(%rsp),%rcx
-	movq	%rdx,%rdi
-	vpsrlq	$42,%xmm9,%xmm9
-	xorq	%rbx,%r12
-	shrdq	$6,%r14,%r14
-	vpxor	%xmm10,%xmm11,%xmm11
-	xorq	%r8,%rdi
-	addq	%r12,%rcx
-	vpxor	%xmm9,%xmm11,%xmm11
-	shrdq	$14,%r13,%r13
-	andq	%rdi,%r15
-	vpaddq	%xmm11,%xmm2,%xmm2
-	xorq	%rdx,%r14
-	addq	%r13,%rcx
-	vpaddq	-64(%rbp),%xmm2,%xmm10
-	xorq	%r8,%r15
-	shrdq	$28,%r14,%r14
-	addq	%rcx,%r10
-	addq	%r15,%rcx
-	movq	%r10,%r13
-	addq	%rcx,%r14
-	vmovdqa	%xmm10,32(%rsp)
-	vpalignr	$8,%xmm3,%xmm4,%xmm8
-	shrdq	$23,%r13,%r13
-	movq	%r14,%rcx
-	vpalignr	$8,%xmm7,%xmm0,%xmm11
-	movq	%r11,%r12
-	shrdq	$5,%r14,%r14
-	vpsrlq	$1,%xmm8,%xmm10
-	xorq	%r10,%r13
-	xorq	%rax,%r12
-	vpaddq	%xmm11,%xmm3,%xmm3
-	shrdq	$4,%r13,%r13
-	xorq	%rcx,%r14
-	vpsrlq	$7,%xmm8,%xmm11
-	andq	%r10,%r12
-	xorq	%r10,%r13
-	vpsllq	$56,%xmm8,%xmm9
-	addq	48(%rsp),%rbx
-	movq	%rcx,%r15
-	vpxor	%xmm10,%xmm11,%xmm8
-	xorq	%rax,%r12
-	shrdq	$6,%r14,%r14
-	vpsrlq	$7,%xmm10,%xmm10
-	xorq	%rdx,%r15
-	addq	%r12,%rbx
-	vpxor	%xmm9,%xmm8,%xmm8
-	shrdq	$14,%r13,%r13
-	andq	%r15,%rdi
-	vpsllq	$7,%xmm9,%xmm9
-	xorq	%rcx,%r14
-	addq	%r13,%rbx
-	vpxor	%xmm10,%xmm8,%xmm8
-	xorq	%rdx,%rdi
-	shrdq	$28,%r14,%r14
-	vpsrlq	$6,%xmm2,%xmm11
-	addq	%rbx,%r9
-	addq	%rdi,%rbx
-	vpxor	%xmm9,%xmm8,%xmm8
-	movq	%r9,%r13
-	addq	%rbx,%r14
-	vpsllq	$3,%xmm2,%xmm10
-	shrdq	$23,%r13,%r13
-	movq	%r14,%rbx
-	vpaddq	%xmm8,%xmm3,%xmm3
-	movq	%r10,%r12
-	shrdq	$5,%r14,%r14
-	vpsrlq	$19,%xmm2,%xmm9
-	xorq	%r9,%r13
-	xorq	%r11,%r12
-	vpxor	%xmm10,%xmm11,%xmm11
-	shrdq	$4,%r13,%r13
-	xorq	%rbx,%r14
-	vpsllq	$42,%xmm10,%xmm10
-	andq	%r9,%r12
-	xorq	%r9,%r13
-	vpxor	%xmm9,%xmm11,%xmm11
-	addq	56(%rsp),%rax
-	movq	%rbx,%rdi
-	vpsrlq	$42,%xmm9,%xmm9
-	xorq	%r11,%r12
-	shrdq	$6,%r14,%r14
-	vpxor	%xmm10,%xmm11,%xmm11
-	xorq	%rcx,%rdi
-	addq	%r12,%rax
-	vpxor	%xmm9,%xmm11,%xmm11
-	shrdq	$14,%r13,%r13
-	andq	%rdi,%r15
-	vpaddq	%xmm11,%xmm3,%xmm3
-	xorq	%rbx,%r14
-	addq	%r13,%rax
-	vpaddq	-32(%rbp),%xmm3,%xmm10
-	xorq	%rcx,%r15
-	shrdq	$28,%r14,%r14
-	addq	%rax,%r8
-	addq	%r15,%rax
-	movq	%r8,%r13
-	addq	%rax,%r14
-	vmovdqa	%xmm10,48(%rsp)
-	vpalignr	$8,%xmm4,%xmm5,%xmm8
-	shrdq	$23,%r13,%r13
-	movq	%r14,%rax
-	vpalignr	$8,%xmm0,%xmm1,%xmm11
-	movq	%r9,%r12
-	shrdq	$5,%r14,%r14
-	vpsrlq	$1,%xmm8,%xmm10
-	xorq	%r8,%r13
-	xorq	%r10,%r12
-	vpaddq	%xmm11,%xmm4,%xmm4
-	shrdq	$4,%r13,%r13
-	xorq	%rax,%r14
-	vpsrlq	$7,%xmm8,%xmm11
-	andq	%r8,%r12
-	xorq	%r8,%r13
-	vpsllq	$56,%xmm8,%xmm9
-	addq	64(%rsp),%r11
-	movq	%rax,%r15
-	vpxor	%xmm10,%xmm11,%xmm8
-	xorq	%r10,%r12
-	shrdq	$6,%r14,%r14
-	vpsrlq	$7,%xmm10,%xmm10
-	xorq	%rbx,%r15
-	addq	%r12,%r11
-	vpxor	%xmm9,%xmm8,%xmm8
-	shrdq	$14,%r13,%r13
-	andq	%r15,%rdi
-	vpsllq	$7,%xmm9,%xmm9
-	xorq	%rax,%r14
-	addq	%r13,%r11
-	vpxor	%xmm10,%xmm8,%xmm8
-	xorq	%rbx,%rdi
-	shrdq	$28,%r14,%r14
-	vpsrlq	$6,%xmm3,%xmm11
-	addq	%r11,%rdx
-	addq	%rdi,%r11
-	vpxor	%xmm9,%xmm8,%xmm8
-	movq	%rdx,%r13
-	addq	%r11,%r14
-	vpsllq	$3,%xmm3,%xmm10
-	shrdq	$23,%r13,%r13
-	movq	%r14,%r11
-	vpaddq	%xmm8,%xmm4,%xmm4
-	movq	%r8,%r12
-	shrdq	$5,%r14,%r14
-	vpsrlq	$19,%xmm3,%xmm9
-	xorq	%rdx,%r13
-	xorq	%r9,%r12
-	vpxor	%xmm10,%xmm11,%xmm11
-	shrdq	$4,%r13,%r13
-	xorq	%r11,%r14
-	vpsllq	$42,%xmm10,%xmm10
-	andq	%rdx,%r12
-	xorq	%rdx,%r13
-	vpxor	%xmm9,%xmm11,%xmm11
-	addq	72(%rsp),%r10
-	movq	%r11,%rdi
-	vpsrlq	$42,%xmm9,%xmm9
-	xorq	%r9,%r12
-	shrdq	$6,%r14,%r14
-	vpxor	%xmm10,%xmm11,%xmm11
-	xorq	%rax,%rdi
-	addq	%r12,%r10
-	vpxor	%xmm9,%xmm11,%xmm11
-	shrdq	$14,%r13,%r13
-	andq	%rdi,%r15
-	vpaddq	%xmm11,%xmm4,%xmm4
-	xorq	%r11,%r14
-	addq	%r13,%r10
-	vpaddq	0(%rbp),%xmm4,%xmm10
-	xorq	%rax,%r15
-	shrdq	$28,%r14,%r14
-	addq	%r10,%rcx
-	addq	%r15,%r10
-	movq	%rcx,%r13
-	addq	%r10,%r14
-	vmovdqa	%xmm10,64(%rsp)
-	vpalignr	$8,%xmm5,%xmm6,%xmm8
-	shrdq	$23,%r13,%r13
-	movq	%r14,%r10
-	vpalignr	$8,%xmm1,%xmm2,%xmm11
-	movq	%rdx,%r12
-	shrdq	$5,%r14,%r14
-	vpsrlq	$1,%xmm8,%xmm10
-	xorq	%rcx,%r13
-	xorq	%r8,%r12
-	vpaddq	%xmm11,%xmm5,%xmm5
-	shrdq	$4,%r13,%r13
-	xorq	%r10,%r14
-	vpsrlq	$7,%xmm8,%xmm11
-	andq	%rcx,%r12
-	xorq	%rcx,%r13
-	vpsllq	$56,%xmm8,%xmm9
-	addq	80(%rsp),%r9
-	movq	%r10,%r15
-	vpxor	%xmm10,%xmm11,%xmm8
-	xorq	%r8,%r12
-	shrdq	$6,%r14,%r14
-	vpsrlq	$7,%xmm10,%xmm10
-	xorq	%r11,%r15
-	addq	%r12,%r9
-	vpxor	%xmm9,%xmm8,%xmm8
-	shrdq	$14,%r13,%r13
-	andq	%r15,%rdi
-	vpsllq	$7,%xmm9,%xmm9
-	xorq	%r10,%r14
-	addq	%r13,%r9
-	vpxor	%xmm10,%xmm8,%xmm8
-	xorq	%r11,%rdi
-	shrdq	$28,%r14,%r14
-	vpsrlq	$6,%xmm4,%xmm11
-	addq	%r9,%rbx
-	addq	%rdi,%r9
-	vpxor	%xmm9,%xmm8,%xmm8
-	movq	%rbx,%r13
-	addq	%r9,%r14
-	vpsllq	$3,%xmm4,%xmm10
-	shrdq	$23,%r13,%r13
-	movq	%r14,%r9
-	vpaddq	%xmm8,%xmm5,%xmm5
-	movq	%rcx,%r12
-	shrdq	$5,%r14,%r14
-	vpsrlq	$19,%xmm4,%xmm9
-	xorq	%rbx,%r13
-	xorq	%rdx,%r12
-	vpxor	%xmm10,%xmm11,%xmm11
-	shrdq	$4,%r13,%r13
-	xorq	%r9,%r14
-	vpsllq	$42,%xmm10,%xmm10
-	andq	%rbx,%r12
-	xorq	%rbx,%r13
-	vpxor	%xmm9,%xmm11,%xmm11
-	addq	88(%rsp),%r8
-	movq	%r9,%rdi
-	vpsrlq	$42,%xmm9,%xmm9
-	xorq	%rdx,%r12
-	shrdq	$6,%r14,%r14
-	vpxor	%xmm10,%xmm11,%xmm11
-	xorq	%r10,%rdi
-	addq	%r12,%r8
-	vpxor	%xmm9,%xmm11,%xmm11
-	shrdq	$14,%r13,%r13
-	andq	%rdi,%r15
-	vpaddq	%xmm11,%xmm5,%xmm5
-	xorq	%r9,%r14
-	addq	%r13,%r8
-	vpaddq	32(%rbp),%xmm5,%xmm10
-	xorq	%r10,%r15
-	shrdq	$28,%r14,%r14
-	addq	%r8,%rax
-	addq	%r15,%r8
-	movq	%rax,%r13
-	addq	%r8,%r14
-	vmovdqa	%xmm10,80(%rsp)
-	vpalignr	$8,%xmm6,%xmm7,%xmm8
-	shrdq	$23,%r13,%r13
-	movq	%r14,%r8
-	vpalignr	$8,%xmm2,%xmm3,%xmm11
-	movq	%rbx,%r12
-	shrdq	$5,%r14,%r14
-	vpsrlq	$1,%xmm8,%xmm10
-	xorq	%rax,%r13
-	xorq	%rcx,%r12
-	vpaddq	%xmm11,%xmm6,%xmm6
-	shrdq	$4,%r13,%r13
-	xorq	%r8,%r14
-	vpsrlq	$7,%xmm8,%xmm11
-	andq	%rax,%r12
-	xorq	%rax,%r13
-	vpsllq	$56,%xmm8,%xmm9
-	addq	96(%rsp),%rdx
-	movq	%r8,%r15
-	vpxor	%xmm10,%xmm11,%xmm8
-	xorq	%rcx,%r12
-	shrdq	$6,%r14,%r14
-	vpsrlq	$7,%xmm10,%xmm10
-	xorq	%r9,%r15
-	addq	%r12,%rdx
-	vpxor	%xmm9,%xmm8,%xmm8
-	shrdq	$14,%r13,%r13
-	andq	%r15,%rdi
-	vpsllq	$7,%xmm9,%xmm9
-	xorq	%r8,%r14
-	addq	%r13,%rdx
-	vpxor	%xmm10,%xmm8,%xmm8
-	xorq	%r9,%rdi
-	shrdq	$28,%r14,%r14
-	vpsrlq	$6,%xmm5,%xmm11
-	addq	%rdx,%r11
-	addq	%rdi,%rdx
-	vpxor	%xmm9,%xmm8,%xmm8
-	movq	%r11,%r13
-	addq	%rdx,%r14
-	vpsllq	$3,%xmm5,%xmm10
-	shrdq	$23,%r13,%r13
-	movq	%r14,%rdx
-	vpaddq	%xmm8,%xmm6,%xmm6
-	movq	%rax,%r12
-	shrdq	$5,%r14,%r14
-	vpsrlq	$19,%xmm5,%xmm9
-	xorq	%r11,%r13
-	xorq	%rbx,%r12
-	vpxor	%xmm10,%xmm11,%xmm11
-	shrdq	$4,%r13,%r13
-	xorq	%rdx,%r14
-	vpsllq	$42,%xmm10,%xmm10
-	andq	%r11,%r12
-	xorq	%r11,%r13
-	vpxor	%xmm9,%xmm11,%xmm11
-	addq	104(%rsp),%rcx
-	movq	%rdx,%rdi
-	vpsrlq	$42,%xmm9,%xmm9
-	xorq	%rbx,%r12
-	shrdq	$6,%r14,%r14
-	vpxor	%xmm10,%xmm11,%xmm11
-	xorq	%r8,%rdi
-	addq	%r12,%rcx
-	vpxor	%xmm9,%xmm11,%xmm11
-	shrdq	$14,%r13,%r13
-	andq	%rdi,%r15
-	vpaddq	%xmm11,%xmm6,%xmm6
-	xorq	%rdx,%r14
-	addq	%r13,%rcx
-	vpaddq	64(%rbp),%xmm6,%xmm10
-	xorq	%r8,%r15
-	shrdq	$28,%r14,%r14
-	addq	%rcx,%r10
-	addq	%r15,%rcx
-	movq	%r10,%r13
-	addq	%rcx,%r14
-	vmovdqa	%xmm10,96(%rsp)
-	vpalignr	$8,%xmm7,%xmm0,%xmm8
-	shrdq	$23,%r13,%r13
-	movq	%r14,%rcx
-	vpalignr	$8,%xmm3,%xmm4,%xmm11
-	movq	%r11,%r12
-	shrdq	$5,%r14,%r14
-	vpsrlq	$1,%xmm8,%xmm10
-	xorq	%r10,%r13
-	xorq	%rax,%r12
-	vpaddq	%xmm11,%xmm7,%xmm7
-	shrdq	$4,%r13,%r13
-	xorq	%rcx,%r14
-	vpsrlq	$7,%xmm8,%xmm11
-	andq	%r10,%r12
-	xorq	%r10,%r13
-	vpsllq	$56,%xmm8,%xmm9
-	addq	112(%rsp),%rbx
-	movq	%rcx,%r15
-	vpxor	%xmm10,%xmm11,%xmm8
-	xorq	%rax,%r12
-	shrdq	$6,%r14,%r14
-	vpsrlq	$7,%xmm10,%xmm10
-	xorq	%rdx,%r15
-	addq	%r12,%rbx
-	vpxor	%xmm9,%xmm8,%xmm8
-	shrdq	$14,%r13,%r13
-	andq	%r15,%rdi
-	vpsllq	$7,%xmm9,%xmm9
-	xorq	%rcx,%r14
-	addq	%r13,%rbx
-	vpxor	%xmm10,%xmm8,%xmm8
-	xorq	%rdx,%rdi
-	shrdq	$28,%r14,%r14
-	vpsrlq	$6,%xmm6,%xmm11
-	addq	%rbx,%r9
-	addq	%rdi,%rbx
-	vpxor	%xmm9,%xmm8,%xmm8
-	movq	%r9,%r13
-	addq	%rbx,%r14
-	vpsllq	$3,%xmm6,%xmm10
-	shrdq	$23,%r13,%r13
-	movq	%r14,%rbx
-	vpaddq	%xmm8,%xmm7,%xmm7
-	movq	%r10,%r12
-	shrdq	$5,%r14,%r14
-	vpsrlq	$19,%xmm6,%xmm9
-	xorq	%r9,%r13
-	xorq	%r11,%r12
-	vpxor	%xmm10,%xmm11,%xmm11
-	shrdq	$4,%r13,%r13
-	xorq	%rbx,%r14
-	vpsllq	$42,%xmm10,%xmm10
-	andq	%r9,%r12
-	xorq	%r9,%r13
-	vpxor	%xmm9,%xmm11,%xmm11
-	addq	120(%rsp),%rax
-	movq	%rbx,%rdi
-	vpsrlq	$42,%xmm9,%xmm9
-	xorq	%r11,%r12
-	shrdq	$6,%r14,%r14
-	vpxor	%xmm10,%xmm11,%xmm11
-	xorq	%rcx,%rdi
-	addq	%r12,%rax
-	vpxor	%xmm9,%xmm11,%xmm11
-	shrdq	$14,%r13,%r13
-	andq	%rdi,%r15
-	vpaddq	%xmm11,%xmm7,%xmm7
-	xorq	%rbx,%r14
-	addq	%r13,%rax
-	vpaddq	96(%rbp),%xmm7,%xmm10
-	xorq	%rcx,%r15
-	shrdq	$28,%r14,%r14
-	addq	%rax,%r8
-	addq	%r15,%rax
-	movq	%r8,%r13
-	addq	%rax,%r14
-	vmovdqa	%xmm10,112(%rsp)
-	cmpb	$0,135(%rbp)
-	jne	L$avx_00_47
-	shrdq	$23,%r13,%r13
-	movq	%r14,%rax
-	movq	%r9,%r12
-	shrdq	$5,%r14,%r14
-	xorq	%r8,%r13
-	xorq	%r10,%r12
-	shrdq	$4,%r13,%r13
-	xorq	%rax,%r14
-	andq	%r8,%r12
-	xorq	%r8,%r13
-	addq	0(%rsp),%r11
-	movq	%rax,%r15
-	xorq	%r10,%r12
-	shrdq	$6,%r14,%r14
-	xorq	%rbx,%r15
-	addq	%r12,%r11
-	shrdq	$14,%r13,%r13
-	andq	%r15,%rdi
-	xorq	%rax,%r14
-	addq	%r13,%r11
-	xorq	%rbx,%rdi
-	shrdq	$28,%r14,%r14
-	addq	%r11,%rdx
-	addq	%rdi,%r11
-	movq	%rdx,%r13
-	addq	%r11,%r14
-	shrdq	$23,%r13,%r13
-	movq	%r14,%r11
-	movq	%r8,%r12
-	shrdq	$5,%r14,%r14
-	xorq	%rdx,%r13
-	xorq	%r9,%r12
-	shrdq	$4,%r13,%r13
-	xorq	%r11,%r14
-	andq	%rdx,%r12
-	xorq	%rdx,%r13
-	addq	8(%rsp),%r10
-	movq	%r11,%rdi
-	xorq	%r9,%r12
-	shrdq	$6,%r14,%r14
-	xorq	%rax,%rdi
-	addq	%r12,%r10
-	shrdq	$14,%r13,%r13
-	andq	%rdi,%r15
-	xorq	%r11,%r14
-	addq	%r13,%r10
-	xorq	%rax,%r15
-	shrdq	$28,%r14,%r14
-	addq	%r10,%rcx
-	addq	%r15,%r10
-	movq	%rcx,%r13
-	addq	%r10,%r14
-	shrdq	$23,%r13,%r13
-	movq	%r14,%r10
-	movq	%rdx,%r12
-	shrdq	$5,%r14,%r14
-	xorq	%rcx,%r13
-	xorq	%r8,%r12
-	shrdq	$4,%r13,%r13
-	xorq	%r10,%r14
-	andq	%rcx,%r12
-	xorq	%rcx,%r13
-	addq	16(%rsp),%r9
-	movq	%r10,%r15
-	xorq	%r8,%r12
-	shrdq	$6,%r14,%r14
-	xorq	%r11,%r15
-	addq	%r12,%r9
-	shrdq	$14,%r13,%r13
-	andq	%r15,%rdi
-	xorq	%r10,%r14
-	addq	%r13,%r9
-	xorq	%r11,%rdi
-	shrdq	$28,%r14,%r14
-	addq	%r9,%rbx
-	addq	%rdi,%r9
-	movq	%rbx,%r13
-	addq	%r9,%r14
-	shrdq	$23,%r13,%r13
-	movq	%r14,%r9
-	movq	%rcx,%r12
-	shrdq	$5,%r14,%r14
-	xorq	%rbx,%r13
-	xorq	%rdx,%r12
-	shrdq	$4,%r13,%r13
-	xorq	%r9,%r14
-	andq	%rbx,%r12
-	xorq	%rbx,%r13
-	addq	24(%rsp),%r8
-	movq	%r9,%rdi
-	xorq	%rdx,%r12
-	shrdq	$6,%r14,%r14
-	xorq	%r10,%rdi
-	addq	%r12,%r8
-	shrdq	$14,%r13,%r13
-	andq	%rdi,%r15
-	xorq	%r9,%r14
-	addq	%r13,%r8
-	xorq	%r10,%r15
-	shrdq	$28,%r14,%r14
-	addq	%r8,%rax
-	addq	%r15,%r8
-	movq	%rax,%r13
-	addq	%r8,%r14
-	shrdq	$23,%r13,%r13
-	movq	%r14,%r8
-	movq	%rbx,%r12
-	shrdq	$5,%r14,%r14
-	xorq	%rax,%r13
-	xorq	%rcx,%r12
-	shrdq	$4,%r13,%r13
-	xorq	%r8,%r14
-	andq	%rax,%r12
-	xorq	%rax,%r13
-	addq	32(%rsp),%rdx
-	movq	%r8,%r15
-	xorq	%rcx,%r12
-	shrdq	$6,%r14,%r14
-	xorq	%r9,%r15
-	addq	%r12,%rdx
-	shrdq	$14,%r13,%r13
-	andq	%r15,%rdi
-	xorq	%r8,%r14
-	addq	%r13,%rdx
-	xorq	%r9,%rdi
-	shrdq	$28,%r14,%r14
-	addq	%rdx,%r11
-	addq	%rdi,%rdx
-	movq	%r11,%r13
-	addq	%rdx,%r14
-	shrdq	$23,%r13,%r13
-	movq	%r14,%rdx
-	movq	%rax,%r12
-	shrdq	$5,%r14,%r14
-	xorq	%r11,%r13
-	xorq	%rbx,%r12
-	shrdq	$4,%r13,%r13
-	xorq	%rdx,%r14
-	andq	%r11,%r12
-	xorq	%r11,%r13
-	addq	40(%rsp),%rcx
-	movq	%rdx,%rdi
-	xorq	%rbx,%r12
-	shrdq	$6,%r14,%r14
-	xorq	%r8,%rdi
-	addq	%r12,%rcx
-	shrdq	$14,%r13,%r13
-	andq	%rdi,%r15
-	xorq	%rdx,%r14
-	addq	%r13,%rcx
-	xorq	%r8,%r15
-	shrdq	$28,%r14,%r14
-	addq	%rcx,%r10
-	addq	%r15,%rcx
-	movq	%r10,%r13
-	addq	%rcx,%r14
-	shrdq	$23,%r13,%r13
-	movq	%r14,%rcx
-	movq	%r11,%r12
-	shrdq	$5,%r14,%r14
-	xorq	%r10,%r13
-	xorq	%rax,%r12
-	shrdq	$4,%r13,%r13
-	xorq	%rcx,%r14
-	andq	%r10,%r12
-	xorq	%r10,%r13
-	addq	48(%rsp),%rbx
-	movq	%rcx,%r15
-	xorq	%rax,%r12
-	shrdq	$6,%r14,%r14
-	xorq	%rdx,%r15
-	addq	%r12,%rbx
-	shrdq	$14,%r13,%r13
-	andq	%r15,%rdi
-	xorq	%rcx,%r14
-	addq	%r13,%rbx
-	xorq	%rdx,%rdi
-	shrdq	$28,%r14,%r14
-	addq	%rbx,%r9
-	addq	%rdi,%rbx
-	movq	%r9,%r13
-	addq	%rbx,%r14
-	shrdq	$23,%r13,%r13
-	movq	%r14,%rbx
-	movq	%r10,%r12
-	shrdq	$5,%r14,%r14
-	xorq	%r9,%r13
-	xorq	%r11,%r12
-	shrdq	$4,%r13,%r13
-	xorq	%rbx,%r14
-	andq	%r9,%r12
-	xorq	%r9,%r13
-	addq	56(%rsp),%rax
-	movq	%rbx,%rdi
-	xorq	%r11,%r12
-	shrdq	$6,%r14,%r14
-	xorq	%rcx,%rdi
-	addq	%r12,%rax
-	shrdq	$14,%r13,%r13
-	andq	%rdi,%r15
-	xorq	%rbx,%r14
-	addq	%r13,%rax
-	xorq	%rcx,%r15
-	shrdq	$28,%r14,%r14
-	addq	%rax,%r8
-	addq	%r15,%rax
-	movq	%r8,%r13
-	addq	%rax,%r14
-	shrdq	$23,%r13,%r13
-	movq	%r14,%rax
-	movq	%r9,%r12
-	shrdq	$5,%r14,%r14
-	xorq	%r8,%r13
-	xorq	%r10,%r12
-	shrdq	$4,%r13,%r13
-	xorq	%rax,%r14
-	andq	%r8,%r12
-	xorq	%r8,%r13
-	addq	64(%rsp),%r11
-	movq	%rax,%r15
-	xorq	%r10,%r12
-	shrdq	$6,%r14,%r14
-	xorq	%rbx,%r15
-	addq	%r12,%r11
-	shrdq	$14,%r13,%r13
-	andq	%r15,%rdi
-	xorq	%rax,%r14
-	addq	%r13,%r11
-	xorq	%rbx,%rdi
-	shrdq	$28,%r14,%r14
-	addq	%r11,%rdx
-	addq	%rdi,%r11
-	movq	%rdx,%r13
-	addq	%r11,%r14
-	shrdq	$23,%r13,%r13
-	movq	%r14,%r11
-	movq	%r8,%r12
-	shrdq	$5,%r14,%r14
-	xorq	%rdx,%r13
-	xorq	%r9,%r12
-	shrdq	$4,%r13,%r13
-	xorq	%r11,%r14
-	andq	%rdx,%r12
-	xorq	%rdx,%r13
-	addq	72(%rsp),%r10
-	movq	%r11,%rdi
-	xorq	%r9,%r12
-	shrdq	$6,%r14,%r14
-	xorq	%rax,%rdi
-	addq	%r12,%r10
-	shrdq	$14,%r13,%r13
-	andq	%rdi,%r15
-	xorq	%r11,%r14
-	addq	%r13,%r10
-	xorq	%rax,%r15
-	shrdq	$28,%r14,%r14
-	addq	%r10,%rcx
-	addq	%r15,%r10
-	movq	%rcx,%r13
-	addq	%r10,%r14
-	shrdq	$23,%r13,%r13
-	movq	%r14,%r10
-	movq	%rdx,%r12
-	shrdq	$5,%r14,%r14
-	xorq	%rcx,%r13
-	xorq	%r8,%r12
-	shrdq	$4,%r13,%r13
-	xorq	%r10,%r14
-	andq	%rcx,%r12
-	xorq	%rcx,%r13
-	addq	80(%rsp),%r9
-	movq	%r10,%r15
-	xorq	%r8,%r12
-	shrdq	$6,%r14,%r14
-	xorq	%r11,%r15
-	addq	%r12,%r9
-	shrdq	$14,%r13,%r13
-	andq	%r15,%rdi
-	xorq	%r10,%r14
-	addq	%r13,%r9
-	xorq	%r11,%rdi
-	shrdq	$28,%r14,%r14
-	addq	%r9,%rbx
-	addq	%rdi,%r9
-	movq	%rbx,%r13
-	addq	%r9,%r14
-	shrdq	$23,%r13,%r13
-	movq	%r14,%r9
-	movq	%rcx,%r12
-	shrdq	$5,%r14,%r14
-	xorq	%rbx,%r13
-	xorq	%rdx,%r12
-	shrdq	$4,%r13,%r13
-	xorq	%r9,%r14
-	andq	%rbx,%r12
-	xorq	%rbx,%r13
-	addq	88(%rsp),%r8
-	movq	%r9,%rdi
-	xorq	%rdx,%r12
-	shrdq	$6,%r14,%r14
-	xorq	%r10,%rdi
-	addq	%r12,%r8
-	shrdq	$14,%r13,%r13
-	andq	%rdi,%r15
-	xorq	%r9,%r14
-	addq	%r13,%r8
-	xorq	%r10,%r15
-	shrdq	$28,%r14,%r14
-	addq	%r8,%rax
-	addq	%r15,%r8
-	movq	%rax,%r13
-	addq	%r8,%r14
-	shrdq	$23,%r13,%r13
-	movq	%r14,%r8
-	movq	%rbx,%r12
-	shrdq	$5,%r14,%r14
-	xorq	%rax,%r13
-	xorq	%rcx,%r12
-	shrdq	$4,%r13,%r13
-	xorq	%r8,%r14
-	andq	%rax,%r12
-	xorq	%rax,%r13
-	addq	96(%rsp),%rdx
-	movq	%r8,%r15
-	xorq	%rcx,%r12
-	shrdq	$6,%r14,%r14
-	xorq	%r9,%r15
-	addq	%r12,%rdx
-	shrdq	$14,%r13,%r13
-	andq	%r15,%rdi
-	xorq	%r8,%r14
-	addq	%r13,%rdx
-	xorq	%r9,%rdi
-	shrdq	$28,%r14,%r14
-	addq	%rdx,%r11
-	addq	%rdi,%rdx
-	movq	%r11,%r13
-	addq	%rdx,%r14
-	shrdq	$23,%r13,%r13
-	movq	%r14,%rdx
-	movq	%rax,%r12
-	shrdq	$5,%r14,%r14
-	xorq	%r11,%r13
-	xorq	%rbx,%r12
-	shrdq	$4,%r13,%r13
-	xorq	%rdx,%r14
-	andq	%r11,%r12
-	xorq	%r11,%r13
-	addq	104(%rsp),%rcx
-	movq	%rdx,%rdi
-	xorq	%rbx,%r12
-	shrdq	$6,%r14,%r14
-	xorq	%r8,%rdi
-	addq	%r12,%rcx
-	shrdq	$14,%r13,%r13
-	andq	%rdi,%r15
-	xorq	%rdx,%r14
-	addq	%r13,%rcx
-	xorq	%r8,%r15
-	shrdq	$28,%r14,%r14
-	addq	%rcx,%r10
-	addq	%r15,%rcx
-	movq	%r10,%r13
-	addq	%rcx,%r14
-	shrdq	$23,%r13,%r13
-	movq	%r14,%rcx
-	movq	%r11,%r12
-	shrdq	$5,%r14,%r14
-	xorq	%r10,%r13
-	xorq	%rax,%r12
-	shrdq	$4,%r13,%r13
-	xorq	%rcx,%r14
-	andq	%r10,%r12
-	xorq	%r10,%r13
-	addq	112(%rsp),%rbx
-	movq	%rcx,%r15
-	xorq	%rax,%r12
-	shrdq	$6,%r14,%r14
-	xorq	%rdx,%r15
-	addq	%r12,%rbx
-	shrdq	$14,%r13,%r13
-	andq	%r15,%rdi
-	xorq	%rcx,%r14
-	addq	%r13,%rbx
-	xorq	%rdx,%rdi
-	shrdq	$28,%r14,%r14
-	addq	%rbx,%r9
-	addq	%rdi,%rbx
-	movq	%r9,%r13
-	addq	%rbx,%r14
-	shrdq	$23,%r13,%r13
-	movq	%r14,%rbx
-	movq	%r10,%r12
-	shrdq	$5,%r14,%r14
-	xorq	%r9,%r13
-	xorq	%r11,%r12
-	shrdq	$4,%r13,%r13
-	xorq	%rbx,%r14
-	andq	%r9,%r12
-	xorq	%r9,%r13
-	addq	120(%rsp),%rax
-	movq	%rbx,%rdi
-	xorq	%r11,%r12
-	shrdq	$6,%r14,%r14
-	xorq	%rcx,%rdi
-	addq	%r12,%rax
-	shrdq	$14,%r13,%r13
-	andq	%rdi,%r15
-	xorq	%rbx,%r14
-	addq	%r13,%rax
-	xorq	%rcx,%r15
-	shrdq	$28,%r14,%r14
-	addq	%rax,%r8
-	addq	%r15,%rax
-	movq	%r8,%r13
-	addq	%rax,%r14
-	movq	128+0(%rsp),%rdi
-	movq	%r14,%rax
-
-	addq	0(%rdi),%rax
-	leaq	128(%rsi),%rsi
-	addq	8(%rdi),%rbx
-	addq	16(%rdi),%rcx
-	addq	24(%rdi),%rdx
-	addq	32(%rdi),%r8
-	addq	40(%rdi),%r9
-	addq	48(%rdi),%r10
-	addq	56(%rdi),%r11
-
-	cmpq	128+16(%rsp),%rsi
-
-	movq	%rax,0(%rdi)
-	movq	%rbx,8(%rdi)
-	movq	%rcx,16(%rdi)
-	movq	%rdx,24(%rdi)
-	movq	%r8,32(%rdi)
-	movq	%r9,40(%rdi)
-	movq	%r10,48(%rdi)
-	movq	%r11,56(%rdi)
-	jb	L$loop_avx
-
-	movq	128+24(%rsp),%rsi
-	vzeroupper
-	movq	-48(%rsi),%r15
-	movq	-40(%rsi),%r14
-	movq	-32(%rsi),%r13
-	movq	-24(%rsi),%r12
-	movq	-16(%rsi),%rbp
-	movq	-8(%rsi),%rbx
-	leaq	(%rsi),%rsp
-L$epilogue_avx:
-	.byte	0xf3,0xc3
-
-#endif
diff --git a/third_party/boringssl/win-x86/crypto/md5/md5-586.asm b/third_party/boringssl/win-x86/crypto/fipsmodule/md5-586.asm
similarity index 100%
rename from third_party/boringssl/win-x86/crypto/md5/md5-586.asm
rename to third_party/boringssl/win-x86/crypto/fipsmodule/md5-586.asm
diff --git a/third_party/boringssl/win-x86/crypto/sha/sha1-586.asm b/third_party/boringssl/win-x86/crypto/fipsmodule/sha1-586.asm
similarity index 100%
rename from third_party/boringssl/win-x86/crypto/sha/sha1-586.asm
rename to third_party/boringssl/win-x86/crypto/fipsmodule/sha1-586.asm
diff --git a/third_party/boringssl/win-x86/crypto/sha/sha256-586.asm b/third_party/boringssl/win-x86/crypto/fipsmodule/sha256-586.asm
similarity index 100%
rename from third_party/boringssl/win-x86/crypto/sha/sha256-586.asm
rename to third_party/boringssl/win-x86/crypto/fipsmodule/sha256-586.asm
diff --git a/third_party/boringssl/win-x86/crypto/sha/sha512-586.asm b/third_party/boringssl/win-x86/crypto/fipsmodule/sha512-586.asm
similarity index 100%
rename from third_party/boringssl/win-x86/crypto/sha/sha512-586.asm
rename to third_party/boringssl/win-x86/crypto/fipsmodule/sha512-586.asm
diff --git a/third_party/boringssl/win-x86_64/crypto/md5/md5-x86_64.asm b/third_party/boringssl/win-x86_64/crypto/fipsmodule/md5-x86_64.asm
similarity index 100%
rename from third_party/boringssl/win-x86_64/crypto/md5/md5-x86_64.asm
rename to third_party/boringssl/win-x86_64/crypto/fipsmodule/md5-x86_64.asm
diff --git a/third_party/boringssl/win-x86_64/crypto/fipsmodule/sha1-x86_64.asm b/third_party/boringssl/win-x86_64/crypto/fipsmodule/sha1-x86_64.asm
new file mode 100644
index 0000000..8324ab69
--- /dev/null
+++ b/third_party/boringssl/win-x86_64/crypto/fipsmodule/sha1-x86_64.asm
@@ -0,0 +1,3764 @@
+default	rel
+%define XMMWORD
+%define YMMWORD
+%define ZMMWORD
+section	.text code align=64
+
+EXTERN	OPENSSL_ia32cap_addr
+
+global	sha1_block_data_order
+
+ALIGN	16
+sha1_block_data_order:
+	mov	QWORD[8+rsp],rdi	;WIN64 prologue
+	mov	QWORD[16+rsp],rsi
+	mov	rax,rsp
+$L$SEH_begin_sha1_block_data_order:
+	mov	rdi,rcx
+	mov	rsi,rdx
+	mov	rdx,r8
+
+
+	lea	r10,[OPENSSL_ia32cap_addr]
+	mov	r10,QWORD[r10]
+	mov	r9d,DWORD[r10]
+	mov	r8d,DWORD[4+r10]
+	mov	r10d,DWORD[8+r10]
+	test	r8d,512
+	jz	NEAR $L$ialu
+	and	r8d,268435456
+	and	r9d,1073741824
+	or	r8d,r9d
+	cmp	r8d,1342177280
+	je	NEAR _avx_shortcut
+	jmp	NEAR _ssse3_shortcut
+
+ALIGN	16
+$L$ialu:
+	mov	rax,rsp
+	push	rbx
+	push	rbp
+	push	r12
+	push	r13
+	push	r14
+	mov	r8,rdi
+	sub	rsp,72
+	mov	r9,rsi
+	and	rsp,-64
+	mov	r10,rdx
+	mov	QWORD[64+rsp],rax
+$L$prologue:
+
+	mov	esi,DWORD[r8]
+	mov	edi,DWORD[4+r8]
+	mov	r11d,DWORD[8+r8]
+	mov	r12d,DWORD[12+r8]
+	mov	r13d,DWORD[16+r8]
+	jmp	NEAR $L$loop
+
+ALIGN	16
+$L$loop:
+	mov	edx,DWORD[r9]
+	bswap	edx
+	mov	ebp,DWORD[4+r9]
+	mov	eax,r12d
+	mov	DWORD[rsp],edx
+	mov	ecx,esi
+	bswap	ebp
+	xor	eax,r11d
+	rol	ecx,5
+	and	eax,edi
+	lea	r13d,[1518500249+r13*1+rdx]
+	add	r13d,ecx
+	xor	eax,r12d
+	rol	edi,30
+	add	r13d,eax
+	mov	r14d,DWORD[8+r9]
+	mov	eax,r11d
+	mov	DWORD[4+rsp],ebp
+	mov	ecx,r13d
+	bswap	r14d
+	xor	eax,edi
+	rol	ecx,5
+	and	eax,esi
+	lea	r12d,[1518500249+r12*1+rbp]
+	add	r12d,ecx
+	xor	eax,r11d
+	rol	esi,30
+	add	r12d,eax
+	mov	edx,DWORD[12+r9]
+	mov	eax,edi
+	mov	DWORD[8+rsp],r14d
+	mov	ecx,r12d
+	bswap	edx
+	xor	eax,esi
+	rol	ecx,5
+	and	eax,r13d
+	lea	r11d,[1518500249+r11*1+r14]
+	add	r11d,ecx
+	xor	eax,edi
+	rol	r13d,30
+	add	r11d,eax
+	mov	ebp,DWORD[16+r9]
+	mov	eax,esi
+	mov	DWORD[12+rsp],edx
+	mov	ecx,r11d
+	bswap	ebp
+	xor	eax,r13d
+	rol	ecx,5
+	and	eax,r12d
+	lea	edi,[1518500249+rdi*1+rdx]
+	add	edi,ecx
+	xor	eax,esi
+	rol	r12d,30
+	add	edi,eax
+	mov	r14d,DWORD[20+r9]
+	mov	eax,r13d
+	mov	DWORD[16+rsp],ebp
+	mov	ecx,edi
+	bswap	r14d
+	xor	eax,r12d
+	rol	ecx,5
+	and	eax,r11d
+	lea	esi,[1518500249+rsi*1+rbp]
+	add	esi,ecx
+	xor	eax,r13d
+	rol	r11d,30
+	add	esi,eax
+	mov	edx,DWORD[24+r9]
+	mov	eax,r12d
+	mov	DWORD[20+rsp],r14d
+	mov	ecx,esi
+	bswap	edx
+	xor	eax,r11d
+	rol	ecx,5
+	and	eax,edi
+	lea	r13d,[1518500249+r13*1+r14]
+	add	r13d,ecx
+	xor	eax,r12d
+	rol	edi,30
+	add	r13d,eax
+	mov	ebp,DWORD[28+r9]
+	mov	eax,r11d
+	mov	DWORD[24+rsp],edx
+	mov	ecx,r13d
+	bswap	ebp
+	xor	eax,edi
+	rol	ecx,5
+	and	eax,esi
+	lea	r12d,[1518500249+r12*1+rdx]
+	add	r12d,ecx
+	xor	eax,r11d
+	rol	esi,30
+	add	r12d,eax
+	mov	r14d,DWORD[32+r9]
+	mov	eax,edi
+	mov	DWORD[28+rsp],ebp
+	mov	ecx,r12d
+	bswap	r14d
+	xor	eax,esi
+	rol	ecx,5
+	and	eax,r13d
+	lea	r11d,[1518500249+r11*1+rbp]
+	add	r11d,ecx
+	xor	eax,edi
+	rol	r13d,30
+	add	r11d,eax
+	mov	edx,DWORD[36+r9]
+	mov	eax,esi
+	mov	DWORD[32+rsp],r14d
+	mov	ecx,r11d
+	bswap	edx
+	xor	eax,r13d
+	rol	ecx,5
+	and	eax,r12d
+	lea	edi,[1518500249+rdi*1+r14]
+	add	edi,ecx
+	xor	eax,esi
+	rol	r12d,30
+	add	edi,eax
+	mov	ebp,DWORD[40+r9]
+	mov	eax,r13d
+	mov	DWORD[36+rsp],edx
+	mov	ecx,edi
+	bswap	ebp
+	xor	eax,r12d
+	rol	ecx,5
+	and	eax,r11d
+	lea	esi,[1518500249+rsi*1+rdx]
+	add	esi,ecx
+	xor	eax,r13d
+	rol	r11d,30
+	add	esi,eax
+	mov	r14d,DWORD[44+r9]
+	mov	eax,r12d
+	mov	DWORD[40+rsp],ebp
+	mov	ecx,esi
+	bswap	r14d
+	xor	eax,r11d
+	rol	ecx,5
+	and	eax,edi
+	lea	r13d,[1518500249+r13*1+rbp]
+	add	r13d,ecx
+	xor	eax,r12d
+	rol	edi,30
+	add	r13d,eax
+	mov	edx,DWORD[48+r9]
+	mov	eax,r11d
+	mov	DWORD[44+rsp],r14d
+	mov	ecx,r13d
+	bswap	edx
+	xor	eax,edi
+	rol	ecx,5
+	and	eax,esi
+	lea	r12d,[1518500249+r12*1+r14]
+	add	r12d,ecx
+	xor	eax,r11d
+	rol	esi,30
+	add	r12d,eax
+	mov	ebp,DWORD[52+r9]
+	mov	eax,edi
+	mov	DWORD[48+rsp],edx
+	mov	ecx,r12d
+	bswap	ebp
+	xor	eax,esi
+	rol	ecx,5
+	and	eax,r13d
+	lea	r11d,[1518500249+r11*1+rdx]
+	add	r11d,ecx
+	xor	eax,edi
+	rol	r13d,30
+	add	r11d,eax
+	mov	r14d,DWORD[56+r9]
+	mov	eax,esi
+	mov	DWORD[52+rsp],ebp
+	mov	ecx,r11d
+	bswap	r14d
+	xor	eax,r13d
+	rol	ecx,5
+	and	eax,r12d
+	lea	edi,[1518500249+rdi*1+rbp]
+	add	edi,ecx
+	xor	eax,esi
+	rol	r12d,30
+	add	edi,eax
+	mov	edx,DWORD[60+r9]
+	mov	eax,r13d
+	mov	DWORD[56+rsp],r14d
+	mov	ecx,edi
+	bswap	edx
+	xor	eax,r12d
+	rol	ecx,5
+	and	eax,r11d
+	lea	esi,[1518500249+rsi*1+r14]
+	add	esi,ecx
+	xor	eax,r13d
+	rol	r11d,30
+	add	esi,eax
+	xor	ebp,DWORD[rsp]
+	mov	eax,r12d
+	mov	DWORD[60+rsp],edx
+	mov	ecx,esi
+	xor	ebp,DWORD[8+rsp]
+	xor	eax,r11d
+	rol	ecx,5
+	xor	ebp,DWORD[32+rsp]
+	and	eax,edi
+	lea	r13d,[1518500249+r13*1+rdx]
+	rol	edi,30
+	xor	eax,r12d
+	add	r13d,ecx
+	rol	ebp,1
+	add	r13d,eax
+	xor	r14d,DWORD[4+rsp]
+	mov	eax,r11d
+	mov	DWORD[rsp],ebp
+	mov	ecx,r13d
+	xor	r14d,DWORD[12+rsp]
+	xor	eax,edi
+	rol	ecx,5
+	xor	r14d,DWORD[36+rsp]
+	and	eax,esi
+	lea	r12d,[1518500249+r12*1+rbp]
+	rol	esi,30
+	xor	eax,r11d
+	add	r12d,ecx
+	rol	r14d,1
+	add	r12d,eax
+	xor	edx,DWORD[8+rsp]
+	mov	eax,edi
+	mov	DWORD[4+rsp],r14d
+	mov	ecx,r12d
+	xor	edx,DWORD[16+rsp]
+	xor	eax,esi
+	rol	ecx,5
+	xor	edx,DWORD[40+rsp]
+	and	eax,r13d
+	lea	r11d,[1518500249+r11*1+r14]
+	rol	r13d,30
+	xor	eax,edi
+	add	r11d,ecx
+	rol	edx,1
+	add	r11d,eax
+	xor	ebp,DWORD[12+rsp]
+	mov	eax,esi
+	mov	DWORD[8+rsp],edx
+	mov	ecx,r11d
+	xor	ebp,DWORD[20+rsp]
+	xor	eax,r13d
+	rol	ecx,5
+	xor	ebp,DWORD[44+rsp]
+	and	eax,r12d
+	lea	edi,[1518500249+rdi*1+rdx]
+	rol	r12d,30
+	xor	eax,esi
+	add	edi,ecx
+	rol	ebp,1
+	add	edi,eax
+	xor	r14d,DWORD[16+rsp]
+	mov	eax,r13d
+	mov	DWORD[12+rsp],ebp
+	mov	ecx,edi
+	xor	r14d,DWORD[24+rsp]
+	xor	eax,r12d
+	rol	ecx,5
+	xor	r14d,DWORD[48+rsp]
+	and	eax,r11d
+	lea	esi,[1518500249+rsi*1+rbp]
+	rol	r11d,30
+	xor	eax,r13d
+	add	esi,ecx
+	rol	r14d,1
+	add	esi,eax
+	xor	edx,DWORD[20+rsp]
+	mov	eax,edi
+	mov	DWORD[16+rsp],r14d
+	mov	ecx,esi
+	xor	edx,DWORD[28+rsp]
+	xor	eax,r12d
+	rol	ecx,5
+	xor	edx,DWORD[52+rsp]
+	lea	r13d,[1859775393+r13*1+r14]
+	xor	eax,r11d
+	add	r13d,ecx
+	rol	edi,30
+	add	r13d,eax
+	rol	edx,1
+	xor	ebp,DWORD[24+rsp]
+	mov	eax,esi
+	mov	DWORD[20+rsp],edx
+	mov	ecx,r13d
+	xor	ebp,DWORD[32+rsp]
+	xor	eax,r11d
+	rol	ecx,5
+	xor	ebp,DWORD[56+rsp]
+	lea	r12d,[1859775393+r12*1+rdx]
+	xor	eax,edi
+	add	r12d,ecx
+	rol	esi,30
+	add	r12d,eax
+	rol	ebp,1
+	xor	r14d,DWORD[28+rsp]
+	mov	eax,r13d
+	mov	DWORD[24+rsp],ebp
+	mov	ecx,r12d
+	xor	r14d,DWORD[36+rsp]
+	xor	eax,edi
+	rol	ecx,5
+	xor	r14d,DWORD[60+rsp]
+	lea	r11d,[1859775393+r11*1+rbp]
+	xor	eax,esi
+	add	r11d,ecx
+	rol	r13d,30
+	add	r11d,eax
+	rol	r14d,1
+	xor	edx,DWORD[32+rsp]
+	mov	eax,r12d
+	mov	DWORD[28+rsp],r14d
+	mov	ecx,r11d
+	xor	edx,DWORD[40+rsp]
+	xor	eax,esi
+	rol	ecx,5
+	xor	edx,DWORD[rsp]
+	lea	edi,[1859775393+rdi*1+r14]
+	xor	eax,r13d
+	add	edi,ecx
+	rol	r12d,30
+	add	edi,eax
+	rol	edx,1
+	xor	ebp,DWORD[36+rsp]
+	mov	eax,r11d
+	mov	DWORD[32+rsp],edx
+	mov	ecx,edi
+	xor	ebp,DWORD[44+rsp]
+	xor	eax,r13d
+	rol	ecx,5
+	xor	ebp,DWORD[4+rsp]
+	lea	esi,[1859775393+rsi*1+rdx]
+	xor	eax,r12d
+	add	esi,ecx
+	rol	r11d,30
+	add	esi,eax
+	rol	ebp,1
+	xor	r14d,DWORD[40+rsp]
+	mov	eax,edi
+	mov	DWORD[36+rsp],ebp
+	mov	ecx,esi
+	xor	r14d,DWORD[48+rsp]
+	xor	eax,r12d
+	rol	ecx,5
+	xor	r14d,DWORD[8+rsp]
+	lea	r13d,[1859775393+r13*1+rbp]
+	xor	eax,r11d
+	add	r13d,ecx
+	rol	edi,30
+	add	r13d,eax
+	rol	r14d,1
+	xor	edx,DWORD[44+rsp]
+	mov	eax,esi
+	mov	DWORD[40+rsp],r14d
+	mov	ecx,r13d
+	xor	edx,DWORD[52+rsp]
+	xor	eax,r11d
+	rol	ecx,5
+	xor	edx,DWORD[12+rsp]
+	lea	r12d,[1859775393+r12*1+r14]
+	xor	eax,edi
+	add	r12d,ecx
+	rol	esi,30
+	add	r12d,eax
+	rol	edx,1
+	xor	ebp,DWORD[48+rsp]
+	mov	eax,r13d
+	mov	DWORD[44+rsp],edx
+	mov	ecx,r12d
+	xor	ebp,DWORD[56+rsp]
+	xor	eax,edi
+	rol	ecx,5
+	xor	ebp,DWORD[16+rsp]
+	lea	r11d,[1859775393+r11*1+rdx]
+	xor	eax,esi
+	add	r11d,ecx
+	rol	r13d,30
+	add	r11d,eax
+	rol	ebp,1
+	xor	r14d,DWORD[52+rsp]
+	mov	eax,r12d
+	mov	DWORD[48+rsp],ebp
+	mov	ecx,r11d
+	xor	r14d,DWORD[60+rsp]
+	xor	eax,esi
+	rol	ecx,5
+	xor	r14d,DWORD[20+rsp]
+	lea	edi,[1859775393+rdi*1+rbp]
+	xor	eax,r13d
+	add	edi,ecx
+	rol	r12d,30
+	add	edi,eax
+	rol	r14d,1
+	xor	edx,DWORD[56+rsp]
+	mov	eax,r11d
+	mov	DWORD[52+rsp],r14d
+	mov	ecx,edi
+	xor	edx,DWORD[rsp]
+	xor	eax,r13d
+	rol	ecx,5
+	xor	edx,DWORD[24+rsp]
+	lea	esi,[1859775393+rsi*1+r14]
+	xor	eax,r12d
+	add	esi,ecx
+	rol	r11d,30
+	add	esi,eax
+	rol	edx,1
+	xor	ebp,DWORD[60+rsp]
+	mov	eax,edi
+	mov	DWORD[56+rsp],edx
+	mov	ecx,esi
+	xor	ebp,DWORD[4+rsp]
+	xor	eax,r12d
+	rol	ecx,5
+	xor	ebp,DWORD[28+rsp]
+	lea	r13d,[1859775393+r13*1+rdx]
+	xor	eax,r11d
+	add	r13d,ecx
+	rol	edi,30
+	add	r13d,eax
+	rol	ebp,1
+	xor	r14d,DWORD[rsp]
+	mov	eax,esi
+	mov	DWORD[60+rsp],ebp
+	mov	ecx,r13d
+	xor	r14d,DWORD[8+rsp]
+	xor	eax,r11d
+	rol	ecx,5
+	xor	r14d,DWORD[32+rsp]
+	lea	r12d,[1859775393+r12*1+rbp]
+	xor	eax,edi
+	add	r12d,ecx
+	rol	esi,30
+	add	r12d,eax
+	rol	r14d,1
+	xor	edx,DWORD[4+rsp]
+	mov	eax,r13d
+	mov	DWORD[rsp],r14d
+	mov	ecx,r12d
+	xor	edx,DWORD[12+rsp]
+	xor	eax,edi
+	rol	ecx,5
+	xor	edx,DWORD[36+rsp]
+	lea	r11d,[1859775393+r11*1+r14]
+	xor	eax,esi
+	add	r11d,ecx
+	rol	r13d,30
+	add	r11d,eax
+	rol	edx,1
+	xor	ebp,DWORD[8+rsp]
+	mov	eax,r12d
+	mov	DWORD[4+rsp],edx
+	mov	ecx,r11d
+	xor	ebp,DWORD[16+rsp]
+	xor	eax,esi
+	rol	ecx,5
+	xor	ebp,DWORD[40+rsp]
+	lea	edi,[1859775393+rdi*1+rdx]
+	xor	eax,r13d
+	add	edi,ecx
+	rol	r12d,30
+	add	edi,eax
+	rol	ebp,1
+	xor	r14d,DWORD[12+rsp]
+	mov	eax,r11d
+	mov	DWORD[8+rsp],ebp
+	mov	ecx,edi
+	xor	r14d,DWORD[20+rsp]
+	xor	eax,r13d
+	rol	ecx,5
+	xor	r14d,DWORD[44+rsp]
+	lea	esi,[1859775393+rsi*1+rbp]
+	xor	eax,r12d
+	add	esi,ecx
+	rol	r11d,30
+	add	esi,eax
+	rol	r14d,1
+	xor	edx,DWORD[16+rsp]
+	mov	eax,edi
+	mov	DWORD[12+rsp],r14d
+	mov	ecx,esi
+	xor	edx,DWORD[24+rsp]
+	xor	eax,r12d
+	rol	ecx,5
+	xor	edx,DWORD[48+rsp]
+	lea	r13d,[1859775393+r13*1+r14]
+	xor	eax,r11d
+	add	r13d,ecx
+	rol	edi,30
+	add	r13d,eax
+	rol	edx,1
+	xor	ebp,DWORD[20+rsp]
+	mov	eax,esi
+	mov	DWORD[16+rsp],edx
+	mov	ecx,r13d
+	xor	ebp,DWORD[28+rsp]
+	xor	eax,r11d
+	rol	ecx,5
+	xor	ebp,DWORD[52+rsp]
+	lea	r12d,[1859775393+r12*1+rdx]
+	xor	eax,edi
+	add	r12d,ecx
+	rol	esi,30
+	add	r12d,eax
+	rol	ebp,1
+	xor	r14d,DWORD[24+rsp]
+	mov	eax,r13d
+	mov	DWORD[20+rsp],ebp
+	mov	ecx,r12d
+	xor	r14d,DWORD[32+rsp]
+	xor	eax,edi
+	rol	ecx,5
+	xor	r14d,DWORD[56+rsp]
+	lea	r11d,[1859775393+r11*1+rbp]
+	xor	eax,esi
+	add	r11d,ecx
+	rol	r13d,30
+	add	r11d,eax
+	rol	r14d,1
+	xor	edx,DWORD[28+rsp]
+	mov	eax,r12d
+	mov	DWORD[24+rsp],r14d
+	mov	ecx,r11d
+	xor	edx,DWORD[36+rsp]
+	xor	eax,esi
+	rol	ecx,5
+	xor	edx,DWORD[60+rsp]
+	lea	edi,[1859775393+rdi*1+r14]
+	xor	eax,r13d
+	add	edi,ecx
+	rol	r12d,30
+	add	edi,eax
+	rol	edx,1
+	xor	ebp,DWORD[32+rsp]
+	mov	eax,r11d
+	mov	DWORD[28+rsp],edx
+	mov	ecx,edi
+	xor	ebp,DWORD[40+rsp]
+	xor	eax,r13d
+	rol	ecx,5
+	xor	ebp,DWORD[rsp]
+	lea	esi,[1859775393+rsi*1+rdx]
+	xor	eax,r12d
+	add	esi,ecx
+	rol	r11d,30
+	add	esi,eax
+	rol	ebp,1
+	xor	r14d,DWORD[36+rsp]
+	mov	eax,r12d
+	mov	DWORD[32+rsp],ebp
+	mov	ebx,r12d
+	xor	r14d,DWORD[44+rsp]
+	and	eax,r11d
+	mov	ecx,esi
+	xor	r14d,DWORD[4+rsp]
+	lea	r13d,[((-1894007588))+r13*1+rbp]
+	xor	ebx,r11d
+	rol	ecx,5
+	add	r13d,eax
+	rol	r14d,1
+	and	ebx,edi
+	add	r13d,ecx
+	rol	edi,30
+	add	r13d,ebx
+	xor	edx,DWORD[40+rsp]
+	mov	eax,r11d
+	mov	DWORD[36+rsp],r14d
+	mov	ebx,r11d
+	xor	edx,DWORD[48+rsp]
+	and	eax,edi
+	mov	ecx,r13d
+	xor	edx,DWORD[8+rsp]
+	lea	r12d,[((-1894007588))+r12*1+r14]
+	xor	ebx,edi
+	rol	ecx,5
+	add	r12d,eax
+	rol	edx,1
+	and	ebx,esi
+	add	r12d,ecx
+	rol	esi,30
+	add	r12d,ebx
+	xor	ebp,DWORD[44+rsp]
+	mov	eax,edi
+	mov	DWORD[40+rsp],edx
+	mov	ebx,edi
+	xor	ebp,DWORD[52+rsp]
+	and	eax,esi
+	mov	ecx,r12d
+	xor	ebp,DWORD[12+rsp]
+	lea	r11d,[((-1894007588))+r11*1+rdx]
+	xor	ebx,esi
+	rol	ecx,5
+	add	r11d,eax
+	rol	ebp,1
+	and	ebx,r13d
+	add	r11d,ecx
+	rol	r13d,30
+	add	r11d,ebx
+	xor	r14d,DWORD[48+rsp]
+	mov	eax,esi
+	mov	DWORD[44+rsp],ebp
+	mov	ebx,esi
+	xor	r14d,DWORD[56+rsp]
+	and	eax,r13d
+	mov	ecx,r11d
+	xor	r14d,DWORD[16+rsp]
+	lea	edi,[((-1894007588))+rdi*1+rbp]
+	xor	ebx,r13d
+	rol	ecx,5
+	add	edi,eax
+	rol	r14d,1
+	and	ebx,r12d
+	add	edi,ecx
+	rol	r12d,30
+	add	edi,ebx
+	xor	edx,DWORD[52+rsp]
+	mov	eax,r13d
+	mov	DWORD[48+rsp],r14d
+	mov	ebx,r13d
+	xor	edx,DWORD[60+rsp]
+	and	eax,r12d
+	mov	ecx,edi
+	xor	edx,DWORD[20+rsp]
+	lea	esi,[((-1894007588))+rsi*1+r14]
+	xor	ebx,r12d
+	rol	ecx,5
+	add	esi,eax
+	rol	edx,1
+	and	ebx,r11d
+	add	esi,ecx
+	rol	r11d,30
+	add	esi,ebx
+	xor	ebp,DWORD[56+rsp]
+	mov	eax,r12d
+	mov	DWORD[52+rsp],edx
+	mov	ebx,r12d
+	xor	ebp,DWORD[rsp]
+	and	eax,r11d
+	mov	ecx,esi
+	xor	ebp,DWORD[24+rsp]
+	lea	r13d,[((-1894007588))+r13*1+rdx]
+	xor	ebx,r11d
+	rol	ecx,5
+	add	r13d,eax
+	rol	ebp,1
+	and	ebx,edi
+	add	r13d,ecx
+	rol	edi,30
+	add	r13d,ebx
+	xor	r14d,DWORD[60+rsp]
+	mov	eax,r11d
+	mov	DWORD[56+rsp],ebp
+	mov	ebx,r11d
+	xor	r14d,DWORD[4+rsp]
+	and	eax,edi
+	mov	ecx,r13d
+	xor	r14d,DWORD[28+rsp]
+	lea	r12d,[((-1894007588))+r12*1+rbp]
+	xor	ebx,edi
+	rol	ecx,5
+	add	r12d,eax
+	rol	r14d,1
+	and	ebx,esi
+	add	r12d,ecx
+	rol	esi,30
+	add	r12d,ebx
+	xor	edx,DWORD[rsp]
+	mov	eax,edi
+	mov	DWORD[60+rsp],r14d
+	mov	ebx,edi
+	xor	edx,DWORD[8+rsp]
+	and	eax,esi
+	mov	ecx,r12d
+	xor	edx,DWORD[32+rsp]
+	lea	r11d,[((-1894007588))+r11*1+r14]
+	xor	ebx,esi
+	rol	ecx,5
+	add	r11d,eax
+	rol	edx,1
+	and	ebx,r13d
+	add	r11d,ecx
+	rol	r13d,30
+	add	r11d,ebx
+	xor	ebp,DWORD[4+rsp]
+	mov	eax,esi
+	mov	DWORD[rsp],edx
+	mov	ebx,esi
+	xor	ebp,DWORD[12+rsp]
+	and	eax,r13d
+	mov	ecx,r11d
+	xor	ebp,DWORD[36+rsp]
+	lea	edi,[((-1894007588))+rdi*1+rdx]
+	xor	ebx,r13d
+	rol	ecx,5
+	add	edi,eax
+	rol	ebp,1
+	and	ebx,r12d
+	add	edi,ecx
+	rol	r12d,30
+	add	edi,ebx
+	xor	r14d,DWORD[8+rsp]
+	mov	eax,r13d
+	mov	DWORD[4+rsp],ebp
+	mov	ebx,r13d
+	xor	r14d,DWORD[16+rsp]
+	and	eax,r12d
+	mov	ecx,edi
+	xor	r14d,DWORD[40+rsp]
+	lea	esi,[((-1894007588))+rsi*1+rbp]
+	xor	ebx,r12d
+	rol	ecx,5
+	add	esi,eax
+	rol	r14d,1
+	and	ebx,r11d
+	add	esi,ecx
+	rol	r11d,30
+	add	esi,ebx
+	xor	edx,DWORD[12+rsp]
+	mov	eax,r12d
+	mov	DWORD[8+rsp],r14d
+	mov	ebx,r12d
+	xor	edx,DWORD[20+rsp]
+	and	eax,r11d
+	mov	ecx,esi
+	xor	edx,DWORD[44+rsp]
+	lea	r13d,[((-1894007588))+r13*1+r14]
+	xor	ebx,r11d
+	rol	ecx,5
+	add	r13d,eax
+	rol	edx,1
+	and	ebx,edi
+	add	r13d,ecx
+	rol	edi,30
+	add	r13d,ebx
+	xor	ebp,DWORD[16+rsp]
+	mov	eax,r11d
+	mov	DWORD[12+rsp],edx
+	mov	ebx,r11d
+	xor	ebp,DWORD[24+rsp]
+	and	eax,edi
+	mov	ecx,r13d
+	xor	ebp,DWORD[48+rsp]
+	lea	r12d,[((-1894007588))+r12*1+rdx]
+	xor	ebx,edi
+	rol	ecx,5
+	add	r12d,eax
+	rol	ebp,1
+	and	ebx,esi
+	add	r12d,ecx
+	rol	esi,30
+	add	r12d,ebx
+	xor	r14d,DWORD[20+rsp]
+	mov	eax,edi
+	mov	DWORD[16+rsp],ebp
+	mov	ebx,edi
+	xor	r14d,DWORD[28+rsp]
+	and	eax,esi
+	mov	ecx,r12d
+	xor	r14d,DWORD[52+rsp]
+	lea	r11d,[((-1894007588))+r11*1+rbp]
+	xor	ebx,esi
+	rol	ecx,5
+	add	r11d,eax
+	rol	r14d,1
+	and	ebx,r13d
+	add	r11d,ecx
+	rol	r13d,30
+	add	r11d,ebx
+	xor	edx,DWORD[24+rsp]
+	mov	eax,esi
+	mov	DWORD[20+rsp],r14d
+	mov	ebx,esi
+	xor	edx,DWORD[32+rsp]
+	and	eax,r13d
+	mov	ecx,r11d
+	xor	edx,DWORD[56+rsp]
+	lea	edi,[((-1894007588))+rdi*1+r14]
+	xor	ebx,r13d
+	rol	ecx,5
+	add	edi,eax
+	rol	edx,1
+	and	ebx,r12d
+	add	edi,ecx
+	rol	r12d,30
+	add	edi,ebx
+	xor	ebp,DWORD[28+rsp]
+	mov	eax,r13d
+	mov	DWORD[24+rsp],edx
+	mov	ebx,r13d
+	xor	ebp,DWORD[36+rsp]
+	and	eax,r12d
+	mov	ecx,edi
+	xor	ebp,DWORD[60+rsp]
+	lea	esi,[((-1894007588))+rsi*1+rdx]
+	xor	ebx,r12d
+	rol	ecx,5
+	add	esi,eax
+	rol	ebp,1
+	and	ebx,r11d
+	add	esi,ecx
+	rol	r11d,30
+	add	esi,ebx
+	xor	r14d,DWORD[32+rsp]
+	mov	eax,r12d
+	mov	DWORD[28+rsp],ebp
+	mov	ebx,r12d
+	xor	r14d,DWORD[40+rsp]
+	and	eax,r11d
+	mov	ecx,esi
+	xor	r14d,DWORD[rsp]
+	lea	r13d,[((-1894007588))+r13*1+rbp]
+	xor	ebx,r11d
+	rol	ecx,5
+	add	r13d,eax
+	rol	r14d,1
+	and	ebx,edi
+	add	r13d,ecx
+	rol	edi,30
+	add	r13d,ebx
+	xor	edx,DWORD[36+rsp]
+	mov	eax,r11d
+	mov	DWORD[32+rsp],r14d
+	mov	ebx,r11d
+	xor	edx,DWORD[44+rsp]
+	and	eax,edi
+	mov	ecx,r13d
+	xor	edx,DWORD[4+rsp]
+	lea	r12d,[((-1894007588))+r12*1+r14]
+	xor	ebx,edi
+	rol	ecx,5
+	add	r12d,eax
+	rol	edx,1
+	and	ebx,esi
+	add	r12d,ecx
+	rol	esi,30
+	add	r12d,ebx
+	xor	ebp,DWORD[40+rsp]
+	mov	eax,edi
+	mov	DWORD[36+rsp],edx
+	mov	ebx,edi
+	xor	ebp,DWORD[48+rsp]
+	and	eax,esi
+	mov	ecx,r12d
+	xor	ebp,DWORD[8+rsp]
+	lea	r11d,[((-1894007588))+r11*1+rdx]
+	xor	ebx,esi
+	rol	ecx,5
+	add	r11d,eax
+	rol	ebp,1
+	and	ebx,r13d
+	add	r11d,ecx
+	rol	r13d,30
+	add	r11d,ebx
+	xor	r14d,DWORD[44+rsp]
+	mov	eax,esi
+	mov	DWORD[40+rsp],ebp
+	mov	ebx,esi
+	xor	r14d,DWORD[52+rsp]
+	and	eax,r13d
+	mov	ecx,r11d
+	xor	r14d,DWORD[12+rsp]
+	lea	edi,[((-1894007588))+rdi*1+rbp]
+	xor	ebx,r13d
+	rol	ecx,5
+	add	edi,eax
+	rol	r14d,1
+	and	ebx,r12d
+	add	edi,ecx
+	rol	r12d,30
+	add	edi,ebx
+	xor	edx,DWORD[48+rsp]
+	mov	eax,r13d
+	mov	DWORD[44+rsp],r14d
+	mov	ebx,r13d
+	xor	edx,DWORD[56+rsp]
+	and	eax,r12d
+	mov	ecx,edi
+	xor	edx,DWORD[16+rsp]
+	lea	esi,[((-1894007588))+rsi*1+r14]
+	xor	ebx,r12d
+	rol	ecx,5
+	add	esi,eax
+	rol	edx,1
+	and	ebx,r11d
+	add	esi,ecx
+	rol	r11d,30
+	add	esi,ebx
+	xor	ebp,DWORD[52+rsp]
+	mov	eax,edi
+	mov	DWORD[48+rsp],edx
+	mov	ecx,esi
+	xor	ebp,DWORD[60+rsp]
+	xor	eax,r12d
+	rol	ecx,5
+	xor	ebp,DWORD[20+rsp]
+	lea	r13d,[((-899497514))+r13*1+rdx]
+	xor	eax,r11d
+	add	r13d,ecx
+	rol	edi,30
+	add	r13d,eax
+	rol	ebp,1
+	xor	r14d,DWORD[56+rsp]
+	mov	eax,esi
+	mov	DWORD[52+rsp],ebp
+	mov	ecx,r13d
+	xor	r14d,DWORD[rsp]
+	xor	eax,r11d
+	rol	ecx,5
+	xor	r14d,DWORD[24+rsp]
+	lea	r12d,[((-899497514))+r12*1+rbp]
+	xor	eax,edi
+	add	r12d,ecx
+	rol	esi,30
+	add	r12d,eax
+	rol	r14d,1
+	xor	edx,DWORD[60+rsp]
+	mov	eax,r13d
+	mov	DWORD[56+rsp],r14d
+	mov	ecx,r12d
+	xor	edx,DWORD[4+rsp]
+	xor	eax,edi
+	rol	ecx,5
+	xor	edx,DWORD[28+rsp]
+	lea	r11d,[((-899497514))+r11*1+r14]
+	xor	eax,esi
+	add	r11d,ecx
+	rol	r13d,30
+	add	r11d,eax
+	rol	edx,1
+	xor	ebp,DWORD[rsp]
+	mov	eax,r12d
+	mov	DWORD[60+rsp],edx
+	mov	ecx,r11d
+	xor	ebp,DWORD[8+rsp]
+	xor	eax,esi
+	rol	ecx,5
+	xor	ebp,DWORD[32+rsp]
+	lea	edi,[((-899497514))+rdi*1+rdx]
+	xor	eax,r13d
+	add	edi,ecx
+	rol	r12d,30
+	add	edi,eax
+	rol	ebp,1
+	xor	r14d,DWORD[4+rsp]
+	mov	eax,r11d
+	mov	DWORD[rsp],ebp
+	mov	ecx,edi
+	xor	r14d,DWORD[12+rsp]
+	xor	eax,r13d
+	rol	ecx,5
+	xor	r14d,DWORD[36+rsp]
+	lea	esi,[((-899497514))+rsi*1+rbp]
+	xor	eax,r12d
+	add	esi,ecx
+	rol	r11d,30
+	add	esi,eax
+	rol	r14d,1
+	xor	edx,DWORD[8+rsp]
+	mov	eax,edi
+	mov	DWORD[4+rsp],r14d
+	mov	ecx,esi
+	xor	edx,DWORD[16+rsp]
+	xor	eax,r12d
+	rol	ecx,5
+	xor	edx,DWORD[40+rsp]
+	lea	r13d,[((-899497514))+r13*1+r14]
+	xor	eax,r11d
+	add	r13d,ecx
+	rol	edi,30
+	add	r13d,eax
+	rol	edx,1
+	xor	ebp,DWORD[12+rsp]
+	mov	eax,esi
+	mov	DWORD[8+rsp],edx
+	mov	ecx,r13d
+	xor	ebp,DWORD[20+rsp]
+	xor	eax,r11d
+	rol	ecx,5
+	xor	ebp,DWORD[44+rsp]
+	lea	r12d,[((-899497514))+r12*1+rdx]
+	xor	eax,edi
+	add	r12d,ecx
+	rol	esi,30
+	add	r12d,eax
+	rol	ebp,1
+	xor	r14d,DWORD[16+rsp]
+	mov	eax,r13d
+	mov	DWORD[12+rsp],ebp
+	mov	ecx,r12d
+	xor	r14d,DWORD[24+rsp]
+	xor	eax,edi
+	rol	ecx,5
+	xor	r14d,DWORD[48+rsp]
+	lea	r11d,[((-899497514))+r11*1+rbp]
+	xor	eax,esi
+	add	r11d,ecx
+	rol	r13d,30
+	add	r11d,eax
+	rol	r14d,1
+	xor	edx,DWORD[20+rsp]
+	mov	eax,r12d
+	mov	DWORD[16+rsp],r14d
+	mov	ecx,r11d
+	xor	edx,DWORD[28+rsp]
+	xor	eax,esi
+	rol	ecx,5
+	xor	edx,DWORD[52+rsp]
+	lea	edi,[((-899497514))+rdi*1+r14]
+	xor	eax,r13d
+	add	edi,ecx
+	rol	r12d,30
+	add	edi,eax
+	rol	edx,1
+	xor	ebp,DWORD[24+rsp]
+	mov	eax,r11d
+	mov	DWORD[20+rsp],edx
+	mov	ecx,edi
+	xor	ebp,DWORD[32+rsp]
+	xor	eax,r13d
+	rol	ecx,5
+	xor	ebp,DWORD[56+rsp]
+	lea	esi,[((-899497514))+rsi*1+rdx]
+	xor	eax,r12d
+	add	esi,ecx
+	rol	r11d,30
+	add	esi,eax
+	rol	ebp,1
+	xor	r14d,DWORD[28+rsp]
+	mov	eax,edi
+	mov	DWORD[24+rsp],ebp
+	mov	ecx,esi
+	xor	r14d,DWORD[36+rsp]
+	xor	eax,r12d
+	rol	ecx,5
+	xor	r14d,DWORD[60+rsp]
+	lea	r13d,[((-899497514))+r13*1+rbp]
+	xor	eax,r11d
+	add	r13d,ecx
+	rol	edi,30
+	add	r13d,eax
+	rol	r14d,1
+	xor	edx,DWORD[32+rsp]
+	mov	eax,esi
+	mov	DWORD[28+rsp],r14d
+	mov	ecx,r13d
+	xor	edx,DWORD[40+rsp]
+	xor	eax,r11d
+	rol	ecx,5
+	xor	edx,DWORD[rsp]
+	lea	r12d,[((-899497514))+r12*1+r14]
+	xor	eax,edi
+	add	r12d,ecx
+	rol	esi,30
+	add	r12d,eax
+	rol	edx,1
+	xor	ebp,DWORD[36+rsp]
+	mov	eax,r13d
+
+	mov	ecx,r12d
+	xor	ebp,DWORD[44+rsp]
+	xor	eax,edi
+	rol	ecx,5
+	xor	ebp,DWORD[4+rsp]
+	lea	r11d,[((-899497514))+r11*1+rdx]
+	xor	eax,esi
+	add	r11d,ecx
+	rol	r13d,30
+	add	r11d,eax
+	rol	ebp,1
+	xor	r14d,DWORD[40+rsp]
+	mov	eax,r12d
+
+	mov	ecx,r11d
+	xor	r14d,DWORD[48+rsp]
+	xor	eax,esi
+	rol	ecx,5
+	xor	r14d,DWORD[8+rsp]
+	lea	edi,[((-899497514))+rdi*1+rbp]
+	xor	eax,r13d
+	add	edi,ecx
+	rol	r12d,30
+	add	edi,eax
+	rol	r14d,1
+	xor	edx,DWORD[44+rsp]
+	mov	eax,r11d
+
+	mov	ecx,edi
+	xor	edx,DWORD[52+rsp]
+	xor	eax,r13d
+	rol	ecx,5
+	xor	edx,DWORD[12+rsp]
+	lea	esi,[((-899497514))+rsi*1+r14]
+	xor	eax,r12d
+	add	esi,ecx
+	rol	r11d,30
+	add	esi,eax
+	rol	edx,1
+	xor	ebp,DWORD[48+rsp]
+	mov	eax,edi
+
+	mov	ecx,esi
+	xor	ebp,DWORD[56+rsp]
+	xor	eax,r12d
+	rol	ecx,5
+	xor	ebp,DWORD[16+rsp]
+	lea	r13d,[((-899497514))+r13*1+rdx]
+	xor	eax,r11d
+	add	r13d,ecx
+	rol	edi,30
+	add	r13d,eax
+	rol	ebp,1
+	xor	r14d,DWORD[52+rsp]
+	mov	eax,esi
+
+	mov	ecx,r13d
+	xor	r14d,DWORD[60+rsp]
+	xor	eax,r11d
+	rol	ecx,5
+	xor	r14d,DWORD[20+rsp]
+	lea	r12d,[((-899497514))+r12*1+rbp]
+	xor	eax,edi
+	add	r12d,ecx
+	rol	esi,30
+	add	r12d,eax
+	rol	r14d,1
+	xor	edx,DWORD[56+rsp]
+	mov	eax,r13d
+
+	mov	ecx,r12d
+	xor	edx,DWORD[rsp]
+	xor	eax,edi
+	rol	ecx,5
+	xor	edx,DWORD[24+rsp]
+	lea	r11d,[((-899497514))+r11*1+r14]
+	xor	eax,esi
+	add	r11d,ecx
+	rol	r13d,30
+	add	r11d,eax
+	rol	edx,1
+	xor	ebp,DWORD[60+rsp]
+	mov	eax,r12d
+
+	mov	ecx,r11d
+	xor	ebp,DWORD[4+rsp]
+	xor	eax,esi
+	rol	ecx,5
+	xor	ebp,DWORD[28+rsp]
+	lea	edi,[((-899497514))+rdi*1+rdx]
+	xor	eax,r13d
+	add	edi,ecx
+	rol	r12d,30
+	add	edi,eax
+	rol	ebp,1
+	mov	eax,r11d
+	mov	ecx,edi
+	xor	eax,r13d
+	lea	esi,[((-899497514))+rsi*1+rbp]
+	rol	ecx,5
+	xor	eax,r12d
+	add	esi,ecx
+	rol	r11d,30
+	add	esi,eax
+	add	esi,DWORD[r8]
+	add	edi,DWORD[4+r8]
+	add	r11d,DWORD[8+r8]
+	add	r12d,DWORD[12+r8]
+	add	r13d,DWORD[16+r8]
+	mov	DWORD[r8],esi
+	mov	DWORD[4+r8],edi
+	mov	DWORD[8+r8],r11d
+	mov	DWORD[12+r8],r12d
+	mov	DWORD[16+r8],r13d
+
+	sub	r10,1
+	lea	r9,[64+r9]
+	jnz	NEAR $L$loop
+
+	mov	rsi,QWORD[64+rsp]
+	mov	r14,QWORD[((-40))+rsi]
+	mov	r13,QWORD[((-32))+rsi]
+	mov	r12,QWORD[((-24))+rsi]
+	mov	rbp,QWORD[((-16))+rsi]
+	mov	rbx,QWORD[((-8))+rsi]
+	lea	rsp,[rsi]
+$L$epilogue:
+	mov	rdi,QWORD[8+rsp]	;WIN64 epilogue
+	mov	rsi,QWORD[16+rsp]
+	DB	0F3h,0C3h		;repret
+$L$SEH_end_sha1_block_data_order:
+
+ALIGN	16
+sha1_block_data_order_ssse3:
+	mov	QWORD[8+rsp],rdi	;WIN64 prologue
+	mov	QWORD[16+rsp],rsi
+	mov	rax,rsp
+$L$SEH_begin_sha1_block_data_order_ssse3:
+	mov	rdi,rcx
+	mov	rsi,rdx
+	mov	rdx,r8
+
+
+_ssse3_shortcut:
+	mov	r11,rsp
+	push	rbx
+	push	rbp
+	push	r12
+	push	r13
+	push	r14
+	lea	rsp,[((-160))+rsp]
+	movaps	XMMWORD[(-40-96)+r11],xmm6
+	movaps	XMMWORD[(-40-80)+r11],xmm7
+	movaps	XMMWORD[(-40-64)+r11],xmm8
+	movaps	XMMWORD[(-40-48)+r11],xmm9
+	movaps	XMMWORD[(-40-32)+r11],xmm10
+	movaps	XMMWORD[(-40-16)+r11],xmm11
+$L$prologue_ssse3:
+	and	rsp,-64
+	mov	r8,rdi
+	mov	r9,rsi
+	mov	r10,rdx
+
+	shl	r10,6
+	add	r10,r9
+	lea	r14,[((K_XX_XX+64))]
+
+	mov	eax,DWORD[r8]
+	mov	ebx,DWORD[4+r8]
+	mov	ecx,DWORD[8+r8]
+	mov	edx,DWORD[12+r8]
+	mov	esi,ebx
+	mov	ebp,DWORD[16+r8]
+	mov	edi,ecx
+	xor	edi,edx
+	and	esi,edi
+
+	movdqa	xmm6,XMMWORD[64+r14]
+	movdqa	xmm9,XMMWORD[((-64))+r14]
+	movdqu	xmm0,XMMWORD[r9]
+	movdqu	xmm1,XMMWORD[16+r9]
+	movdqu	xmm2,XMMWORD[32+r9]
+	movdqu	xmm3,XMMWORD[48+r9]
+DB	102,15,56,0,198
+DB	102,15,56,0,206
+DB	102,15,56,0,214
+	add	r9,64
+	paddd	xmm0,xmm9
+DB	102,15,56,0,222
+	paddd	xmm1,xmm9
+	paddd	xmm2,xmm9
+	movdqa	XMMWORD[rsp],xmm0
+	psubd	xmm0,xmm9
+	movdqa	XMMWORD[16+rsp],xmm1
+	psubd	xmm1,xmm9
+	movdqa	XMMWORD[32+rsp],xmm2
+	psubd	xmm2,xmm9
+	jmp	NEAR $L$oop_ssse3
+ALIGN	16
+$L$oop_ssse3:
+	ror	ebx,2
+	pshufd	xmm4,xmm0,238
+	xor	esi,edx
+	movdqa	xmm8,xmm3
+	paddd	xmm9,xmm3
+	mov	edi,eax
+	add	ebp,DWORD[rsp]
+	punpcklqdq	xmm4,xmm1
+	xor	ebx,ecx
+	rol	eax,5
+	add	ebp,esi
+	psrldq	xmm8,4
+	and	edi,ebx
+	xor	ebx,ecx
+	pxor	xmm4,xmm0
+	add	ebp,eax
+	ror	eax,7
+	pxor	xmm8,xmm2
+	xor	edi,ecx
+	mov	esi,ebp
+	add	edx,DWORD[4+rsp]
+	pxor	xmm4,xmm8
+	xor	eax,ebx
+	rol	ebp,5
+	movdqa	XMMWORD[48+rsp],xmm9
+	add	edx,edi
+	and	esi,eax
+	movdqa	xmm10,xmm4
+	xor	eax,ebx
+	add	edx,ebp
+	ror	ebp,7
+	movdqa	xmm8,xmm4
+	xor	esi,ebx
+	pslldq	xmm10,12
+	paddd	xmm4,xmm4
+	mov	edi,edx
+	add	ecx,DWORD[8+rsp]
+	psrld	xmm8,31
+	xor	ebp,eax
+	rol	edx,5
+	add	ecx,esi
+	movdqa	xmm9,xmm10
+	and	edi,ebp
+	xor	ebp,eax
+	psrld	xmm10,30
+	add	ecx,edx
+	ror	edx,7
+	por	xmm4,xmm8
+	xor	edi,eax
+	mov	esi,ecx
+	add	ebx,DWORD[12+rsp]
+	pslld	xmm9,2
+	pxor	xmm4,xmm10
+	xor	edx,ebp
+	movdqa	xmm10,XMMWORD[((-64))+r14]
+	rol	ecx,5
+	add	ebx,edi
+	and	esi,edx
+	pxor	xmm4,xmm9
+	xor	edx,ebp
+	add	ebx,ecx
+	ror	ecx,7
+	pshufd	xmm5,xmm1,238
+	xor	esi,ebp
+	movdqa	xmm9,xmm4
+	paddd	xmm10,xmm4
+	mov	edi,ebx
+	add	eax,DWORD[16+rsp]
+	punpcklqdq	xmm5,xmm2
+	xor	ecx,edx
+	rol	ebx,5
+	add	eax,esi
+	psrldq	xmm9,4
+	and	edi,ecx
+	xor	ecx,edx
+	pxor	xmm5,xmm1
+	add	eax,ebx
+	ror	ebx,7
+	pxor	xmm9,xmm3
+	xor	edi,edx
+	mov	esi,eax
+	add	ebp,DWORD[20+rsp]
+	pxor	xmm5,xmm9
+	xor	ebx,ecx
+	rol	eax,5
+	movdqa	XMMWORD[rsp],xmm10
+	add	ebp,edi
+	and	esi,ebx
+	movdqa	xmm8,xmm5
+	xor	ebx,ecx
+	add	ebp,eax
+	ror	eax,7
+	movdqa	xmm9,xmm5
+	xor	esi,ecx
+	pslldq	xmm8,12
+	paddd	xmm5,xmm5
+	mov	edi,ebp
+	add	edx,DWORD[24+rsp]
+	psrld	xmm9,31
+	xor	eax,ebx
+	rol	ebp,5
+	add	edx,esi
+	movdqa	xmm10,xmm8
+	and	edi,eax
+	xor	eax,ebx
+	psrld	xmm8,30
+	add	edx,ebp
+	ror	ebp,7
+	por	xmm5,xmm9
+	xor	edi,ebx
+	mov	esi,edx
+	add	ecx,DWORD[28+rsp]
+	pslld	xmm10,2
+	pxor	xmm5,xmm8
+	xor	ebp,eax
+	movdqa	xmm8,XMMWORD[((-32))+r14]
+	rol	edx,5
+	add	ecx,edi
+	and	esi,ebp
+	pxor	xmm5,xmm10
+	xor	ebp,eax
+	add	ecx,edx
+	ror	edx,7
+	pshufd	xmm6,xmm2,238
+	xor	esi,eax
+	movdqa	xmm10,xmm5
+	paddd	xmm8,xmm5
+	mov	edi,ecx
+	add	ebx,DWORD[32+rsp]
+	punpcklqdq	xmm6,xmm3
+	xor	edx,ebp
+	rol	ecx,5
+	add	ebx,esi
+	psrldq	xmm10,4
+	and	edi,edx
+	xor	edx,ebp
+	pxor	xmm6,xmm2
+	add	ebx,ecx
+	ror	ecx,7
+	pxor	xmm10,xmm4
+	xor	edi,ebp
+	mov	esi,ebx
+	add	eax,DWORD[36+rsp]
+	pxor	xmm6,xmm10
+	xor	ecx,edx
+	rol	ebx,5
+	movdqa	XMMWORD[16+rsp],xmm8
+	add	eax,edi
+	and	esi,ecx
+	movdqa	xmm9,xmm6
+	xor	ecx,edx
+	add	eax,ebx
+	ror	ebx,7
+	movdqa	xmm10,xmm6
+	xor	esi,edx
+	pslldq	xmm9,12
+	paddd	xmm6,xmm6
+	mov	edi,eax
+	add	ebp,DWORD[40+rsp]
+	psrld	xmm10,31
+	xor	ebx,ecx
+	rol	eax,5
+	add	ebp,esi
+	movdqa	xmm8,xmm9
+	and	edi,ebx
+	xor	ebx,ecx
+	psrld	xmm9,30
+	add	ebp,eax
+	ror	eax,7
+	por	xmm6,xmm10
+	xor	edi,ecx
+	mov	esi,ebp
+	add	edx,DWORD[44+rsp]
+	pslld	xmm8,2
+	pxor	xmm6,xmm9
+	xor	eax,ebx
+	movdqa	xmm9,XMMWORD[((-32))+r14]
+	rol	ebp,5
+	add	edx,edi
+	and	esi,eax
+	pxor	xmm6,xmm8
+	xor	eax,ebx
+	add	edx,ebp
+	ror	ebp,7
+	pshufd	xmm7,xmm3,238
+	xor	esi,ebx
+	movdqa	xmm8,xmm6
+	paddd	xmm9,xmm6
+	mov	edi,edx
+	add	ecx,DWORD[48+rsp]
+	punpcklqdq	xmm7,xmm4
+	xor	ebp,eax
+	rol	edx,5
+	add	ecx,esi
+	psrldq	xmm8,4
+	and	edi,ebp
+	xor	ebp,eax
+	pxor	xmm7,xmm3
+	add	ecx,edx
+	ror	edx,7
+	pxor	xmm8,xmm5
+	xor	edi,eax
+	mov	esi,ecx
+	add	ebx,DWORD[52+rsp]
+	pxor	xmm7,xmm8
+	xor	edx,ebp
+	rol	ecx,5
+	movdqa	XMMWORD[32+rsp],xmm9
+	add	ebx,edi
+	and	esi,edx
+	movdqa	xmm10,xmm7
+	xor	edx,ebp
+	add	ebx,ecx
+	ror	ecx,7
+	movdqa	xmm8,xmm7
+	xor	esi,ebp
+	pslldq	xmm10,12
+	paddd	xmm7,xmm7
+	mov	edi,ebx
+	add	eax,DWORD[56+rsp]
+	psrld	xmm8,31
+	xor	ecx,edx
+	rol	ebx,5
+	add	eax,esi
+	movdqa	xmm9,xmm10
+	and	edi,ecx
+	xor	ecx,edx
+	psrld	xmm10,30
+	add	eax,ebx
+	ror	ebx,7
+	por	xmm7,xmm8
+	xor	edi,edx
+	mov	esi,eax
+	add	ebp,DWORD[60+rsp]
+	pslld	xmm9,2
+	pxor	xmm7,xmm10
+	xor	ebx,ecx
+	movdqa	xmm10,XMMWORD[((-32))+r14]
+	rol	eax,5
+	add	ebp,edi
+	and	esi,ebx
+	pxor	xmm7,xmm9
+	pshufd	xmm9,xmm6,238
+	xor	ebx,ecx
+	add	ebp,eax
+	ror	eax,7
+	pxor	xmm0,xmm4
+	xor	esi,ecx
+	mov	edi,ebp
+	add	edx,DWORD[rsp]
+	punpcklqdq	xmm9,xmm7
+	xor	eax,ebx
+	rol	ebp,5
+	pxor	xmm0,xmm1
+	add	edx,esi
+	and	edi,eax
+	movdqa	xmm8,xmm10
+	xor	eax,ebx
+	paddd	xmm10,xmm7
+	add	edx,ebp
+	pxor	xmm0,xmm9
+	ror	ebp,7
+	xor	edi,ebx
+	mov	esi,edx
+	add	ecx,DWORD[4+rsp]
+	movdqa	xmm9,xmm0
+	xor	ebp,eax
+	rol	edx,5
+	movdqa	XMMWORD[48+rsp],xmm10
+	add	ecx,edi
+	and	esi,ebp
+	xor	ebp,eax
+	pslld	xmm0,2
+	add	ecx,edx
+	ror	edx,7
+	psrld	xmm9,30
+	xor	esi,eax
+	mov	edi,ecx
+	add	ebx,DWORD[8+rsp]
+	por	xmm0,xmm9
+	xor	edx,ebp
+	rol	ecx,5
+	pshufd	xmm10,xmm7,238
+	add	ebx,esi
+	and	edi,edx
+	xor	edx,ebp
+	add	ebx,ecx
+	add	eax,DWORD[12+rsp]
+	xor	edi,ebp
+	mov	esi,ebx
+	rol	ebx,5
+	add	eax,edi
+	xor	esi,edx
+	ror	ecx,7
+	add	eax,ebx
+	pxor	xmm1,xmm5
+	add	ebp,DWORD[16+rsp]
+	xor	esi,ecx
+	punpcklqdq	xmm10,xmm0
+	mov	edi,eax
+	rol	eax,5
+	pxor	xmm1,xmm2
+	add	ebp,esi
+	xor	edi,ecx
+	movdqa	xmm9,xmm8
+	ror	ebx,7
+	paddd	xmm8,xmm0
+	add	ebp,eax
+	pxor	xmm1,xmm10
+	add	edx,DWORD[20+rsp]
+	xor	edi,ebx
+	mov	esi,ebp
+	rol	ebp,5
+	movdqa	xmm10,xmm1
+	add	edx,edi
+	xor	esi,ebx
+	movdqa	XMMWORD[rsp],xmm8
+	ror	eax,7
+	add	edx,ebp
+	add	ecx,DWORD[24+rsp]
+	pslld	xmm1,2
+	xor	esi,eax
+	mov	edi,edx
+	psrld	xmm10,30
+	rol	edx,5
+	add	ecx,esi
+	xor	edi,eax
+	ror	ebp,7
+	por	xmm1,xmm10
+	add	ecx,edx
+	add	ebx,DWORD[28+rsp]
+	pshufd	xmm8,xmm0,238
+	xor	edi,ebp
+	mov	esi,ecx
+	rol	ecx,5
+	add	ebx,edi
+	xor	esi,ebp
+	ror	edx,7
+	add	ebx,ecx
+	pxor	xmm2,xmm6
+	add	eax,DWORD[32+rsp]
+	xor	esi,edx
+	punpcklqdq	xmm8,xmm1
+	mov	edi,ebx
+	rol	ebx,5
+	pxor	xmm2,xmm3
+	add	eax,esi
+	xor	edi,edx
+	movdqa	xmm10,XMMWORD[r14]
+	ror	ecx,7
+	paddd	xmm9,xmm1
+	add	eax,ebx
+	pxor	xmm2,xmm8
+	add	ebp,DWORD[36+rsp]
+	xor	edi,ecx
+	mov	esi,eax
+	rol	eax,5
+	movdqa	xmm8,xmm2
+	add	ebp,edi
+	xor	esi,ecx
+	movdqa	XMMWORD[16+rsp],xmm9
+	ror	ebx,7
+	add	ebp,eax
+	add	edx,DWORD[40+rsp]
+	pslld	xmm2,2
+	xor	esi,ebx
+	mov	edi,ebp
+	psrld	xmm8,30
+	rol	ebp,5
+	add	edx,esi
+	xor	edi,ebx
+	ror	eax,7
+	por	xmm2,xmm8
+	add	edx,ebp
+	add	ecx,DWORD[44+rsp]
+	pshufd	xmm9,xmm1,238
+	xor	edi,eax
+	mov	esi,edx
+	rol	edx,5
+	add	ecx,edi
+	xor	esi,eax
+	ror	ebp,7
+	add	ecx,edx
+	pxor	xmm3,xmm7
+	add	ebx,DWORD[48+rsp]
+	xor	esi,ebp
+	punpcklqdq	xmm9,xmm2
+	mov	edi,ecx
+	rol	ecx,5
+	pxor	xmm3,xmm4
+	add	ebx,esi
+	xor	edi,ebp
+	movdqa	xmm8,xmm10
+	ror	edx,7
+	paddd	xmm10,xmm2
+	add	ebx,ecx
+	pxor	xmm3,xmm9
+	add	eax,DWORD[52+rsp]
+	xor	edi,edx
+	mov	esi,ebx
+	rol	ebx,5
+	movdqa	xmm9,xmm3
+	add	eax,edi
+	xor	esi,edx
+	movdqa	XMMWORD[32+rsp],xmm10
+	ror	ecx,7
+	add	eax,ebx
+	add	ebp,DWORD[56+rsp]
+	pslld	xmm3,2
+	xor	esi,ecx
+	mov	edi,eax
+	psrld	xmm9,30
+	rol	eax,5
+	add	ebp,esi
+	xor	edi,ecx
+	ror	ebx,7
+	por	xmm3,xmm9
+	add	ebp,eax
+	add	edx,DWORD[60+rsp]
+	pshufd	xmm10,xmm2,238
+	xor	edi,ebx
+	mov	esi,ebp
+	rol	ebp,5
+	add	edx,edi
+	xor	esi,ebx
+	ror	eax,7
+	add	edx,ebp
+	pxor	xmm4,xmm0
+	add	ecx,DWORD[rsp]
+	xor	esi,eax
+	punpcklqdq	xmm10,xmm3
+	mov	edi,edx
+	rol	edx,5
+	pxor	xmm4,xmm5
+	add	ecx,esi
+	xor	edi,eax
+	movdqa	xmm9,xmm8
+	ror	ebp,7
+	paddd	xmm8,xmm3
+	add	ecx,edx
+	pxor	xmm4,xmm10
+	add	ebx,DWORD[4+rsp]
+	xor	edi,ebp
+	mov	esi,ecx
+	rol	ecx,5
+	movdqa	xmm10,xmm4
+	add	ebx,edi
+	xor	esi,ebp
+	movdqa	XMMWORD[48+rsp],xmm8
+	ror	edx,7
+	add	ebx,ecx
+	add	eax,DWORD[8+rsp]
+	pslld	xmm4,2
+	xor	esi,edx
+	mov	edi,ebx
+	psrld	xmm10,30
+	rol	ebx,5
+	add	eax,esi
+	xor	edi,edx
+	ror	ecx,7
+	por	xmm4,xmm10
+	add	eax,ebx
+	add	ebp,DWORD[12+rsp]
+	pshufd	xmm8,xmm3,238
+	xor	edi,ecx
+	mov	esi,eax
+	rol	eax,5
+	add	ebp,edi
+	xor	esi,ecx
+	ror	ebx,7
+	add	ebp,eax
+	pxor	xmm5,xmm1
+	add	edx,DWORD[16+rsp]
+	xor	esi,ebx
+	punpcklqdq	xmm8,xmm4
+	mov	edi,ebp
+	rol	ebp,5
+	pxor	xmm5,xmm6
+	add	edx,esi
+	xor	edi,ebx
+	movdqa	xmm10,xmm9
+	ror	eax,7
+	paddd	xmm9,xmm4
+	add	edx,ebp
+	pxor	xmm5,xmm8
+	add	ecx,DWORD[20+rsp]
+	xor	edi,eax
+	mov	esi,edx
+	rol	edx,5
+	movdqa	xmm8,xmm5
+	add	ecx,edi
+	xor	esi,eax
+	movdqa	XMMWORD[rsp],xmm9
+	ror	ebp,7
+	add	ecx,edx
+	add	ebx,DWORD[24+rsp]
+	pslld	xmm5,2
+	xor	esi,ebp
+	mov	edi,ecx
+	psrld	xmm8,30
+	rol	ecx,5
+	add	ebx,esi
+	xor	edi,ebp
+	ror	edx,7
+	por	xmm5,xmm8
+	add	ebx,ecx
+	add	eax,DWORD[28+rsp]
+	pshufd	xmm9,xmm4,238
+	ror	ecx,7
+	mov	esi,ebx
+	xor	edi,edx
+	rol	ebx,5
+	add	eax,edi
+	xor	esi,ecx
+	xor	ecx,edx
+	add	eax,ebx
+	pxor	xmm6,xmm2
+	add	ebp,DWORD[32+rsp]
+	and	esi,ecx
+	xor	ecx,edx
+	ror	ebx,7
+	punpcklqdq	xmm9,xmm5
+	mov	edi,eax
+	xor	esi,ecx
+	pxor	xmm6,xmm7
+	rol	eax,5
+	add	ebp,esi
+	movdqa	xmm8,xmm10
+	xor	edi,ebx
+	paddd	xmm10,xmm5
+	xor	ebx,ecx
+	pxor	xmm6,xmm9
+	add	ebp,eax
+	add	edx,DWORD[36+rsp]
+	and	edi,ebx
+	xor	ebx,ecx
+	ror	eax,7
+	movdqa	xmm9,xmm6
+	mov	esi,ebp
+	xor	edi,ebx
+	movdqa	XMMWORD[16+rsp],xmm10
+	rol	ebp,5
+	add	edx,edi
+	xor	esi,eax
+	pslld	xmm6,2
+	xor	eax,ebx
+	add	edx,ebp
+	psrld	xmm9,30
+	add	ecx,DWORD[40+rsp]
+	and	esi,eax
+	xor	eax,ebx
+	por	xmm6,xmm9
+	ror	ebp,7
+	mov	edi,edx
+	xor	esi,eax
+	rol	edx,5
+	pshufd	xmm10,xmm5,238
+	add	ecx,esi
+	xor	edi,ebp
+	xor	ebp,eax
+	add	ecx,edx
+	add	ebx,DWORD[44+rsp]
+	and	edi,ebp
+	xor	ebp,eax
+	ror	edx,7
+	mov	esi,ecx
+	xor	edi,ebp
+	rol	ecx,5
+	add	ebx,edi
+	xor	esi,edx
+	xor	edx,ebp
+	add	ebx,ecx
+	pxor	xmm7,xmm3
+	add	eax,DWORD[48+rsp]
+	and	esi,edx
+	xor	edx,ebp
+	ror	ecx,7
+	punpcklqdq	xmm10,xmm6
+	mov	edi,ebx
+	xor	esi,edx
+	pxor	xmm7,xmm0
+	rol	ebx,5
+	add	eax,esi
+	movdqa	xmm9,XMMWORD[32+r14]
+	xor	edi,ecx
+	paddd	xmm8,xmm6
+	xor	ecx,edx
+	pxor	xmm7,xmm10
+	add	eax,ebx
+	add	ebp,DWORD[52+rsp]
+	and	edi,ecx
+	xor	ecx,edx
+	ror	ebx,7
+	movdqa	xmm10,xmm7
+	mov	esi,eax
+	xor	edi,ecx
+	movdqa	XMMWORD[32+rsp],xmm8
+	rol	eax,5
+	add	ebp,edi
+	xor	esi,ebx
+	pslld	xmm7,2
+	xor	ebx,ecx
+	add	ebp,eax
+	psrld	xmm10,30
+	add	edx,DWORD[56+rsp]
+	and	esi,ebx
+	xor	ebx,ecx
+	por	xmm7,xmm10
+	ror	eax,7
+	mov	edi,ebp
+	xor	esi,ebx
+	rol	ebp,5
+	pshufd	xmm8,xmm6,238
+	add	edx,esi
+	xor	edi,eax
+	xor	eax,ebx
+	add	edx,ebp
+	add	ecx,DWORD[60+rsp]
+	and	edi,eax
+	xor	eax,ebx
+	ror	ebp,7
+	mov	esi,edx
+	xor	edi,eax
+	rol	edx,5
+	add	ecx,edi
+	xor	esi,ebp
+	xor	ebp,eax
+	add	ecx,edx
+	pxor	xmm0,xmm4
+	add	ebx,DWORD[rsp]
+	and	esi,ebp
+	xor	ebp,eax
+	ror	edx,7
+	punpcklqdq	xmm8,xmm7
+	mov	edi,ecx
+	xor	esi,ebp
+	pxor	xmm0,xmm1
+	rol	ecx,5
+	add	ebx,esi
+	movdqa	xmm10,xmm9
+	xor	edi,edx
+	paddd	xmm9,xmm7
+	xor	edx,ebp
+	pxor	xmm0,xmm8
+	add	ebx,ecx
+	add	eax,DWORD[4+rsp]
+	and	edi,edx
+	xor	edx,ebp
+	ror	ecx,7
+	movdqa	xmm8,xmm0
+	mov	esi,ebx
+	xor	edi,edx
+	movdqa	XMMWORD[48+rsp],xmm9
+	rol	ebx,5
+	add	eax,edi
+	xor	esi,ecx
+	pslld	xmm0,2
+	xor	ecx,edx
+	add	eax,ebx
+	psrld	xmm8,30
+	add	ebp,DWORD[8+rsp]
+	and	esi,ecx
+	xor	ecx,edx
+	por	xmm0,xmm8
+	ror	ebx,7
+	mov	edi,eax
+	xor	esi,ecx
+	rol	eax,5
+	pshufd	xmm9,xmm7,238
+	add	ebp,esi
+	xor	edi,ebx
+	xor	ebx,ecx
+	add	ebp,eax
+	add	edx,DWORD[12+rsp]
+	and	edi,ebx
+	xor	ebx,ecx
+	ror	eax,7
+	mov	esi,ebp
+	xor	edi,ebx
+	rol	ebp,5
+	add	edx,edi
+	xor	esi,eax
+	xor	eax,ebx
+	add	edx,ebp
+	pxor	xmm1,xmm5
+	add	ecx,DWORD[16+rsp]
+	and	esi,eax
+	xor	eax,ebx
+	ror	ebp,7
+	punpcklqdq	xmm9,xmm0
+	mov	edi,edx
+	xor	esi,eax
+	pxor	xmm1,xmm2
+	rol	edx,5
+	add	ecx,esi
+	movdqa	xmm8,xmm10
+	xor	edi,ebp
+	paddd	xmm10,xmm0
+	xor	ebp,eax
+	pxor	xmm1,xmm9
+	add	ecx,edx
+	add	ebx,DWORD[20+rsp]
+	and	edi,ebp
+	xor	ebp,eax
+	ror	edx,7
+	movdqa	xmm9,xmm1
+	mov	esi,ecx
+	xor	edi,ebp
+	movdqa	XMMWORD[rsp],xmm10
+	rol	ecx,5
+	add	ebx,edi
+	xor	esi,edx
+	pslld	xmm1,2
+	xor	edx,ebp
+	add	ebx,ecx
+	psrld	xmm9,30
+	add	eax,DWORD[24+rsp]
+	and	esi,edx
+	xor	edx,ebp
+	por	xmm1,xmm9
+	ror	ecx,7
+	mov	edi,ebx
+	xor	esi,edx
+	rol	ebx,5
+	pshufd	xmm10,xmm0,238
+	add	eax,esi
+	xor	edi,ecx
+	xor	ecx,edx
+	add	eax,ebx
+	add	ebp,DWORD[28+rsp]
+	and	edi,ecx
+	xor	ecx,edx
+	ror	ebx,7
+	mov	esi,eax
+	xor	edi,ecx
+	rol	eax,5
+	add	ebp,edi
+	xor	esi,ebx
+	xor	ebx,ecx
+	add	ebp,eax
+	pxor	xmm2,xmm6
+	add	edx,DWORD[32+rsp]
+	and	esi,ebx
+	xor	ebx,ecx
+	ror	eax,7
+	punpcklqdq	xmm10,xmm1
+	mov	edi,ebp
+	xor	esi,ebx
+	pxor	xmm2,xmm3
+	rol	ebp,5
+	add	edx,esi
+	movdqa	xmm9,xmm8
+	xor	edi,eax
+	paddd	xmm8,xmm1
+	xor	eax,ebx
+	pxor	xmm2,xmm10
+	add	edx,ebp
+	add	ecx,DWORD[36+rsp]
+	and	edi,eax
+	xor	eax,ebx
+	ror	ebp,7
+	movdqa	xmm10,xmm2
+	mov	esi,edx
+	xor	edi,eax
+	movdqa	XMMWORD[16+rsp],xmm8
+	rol	edx,5
+	add	ecx,edi
+	xor	esi,ebp
+	pslld	xmm2,2
+	xor	ebp,eax
+	add	ecx,edx
+	psrld	xmm10,30
+	add	ebx,DWORD[40+rsp]
+	and	esi,ebp
+	xor	ebp,eax
+	por	xmm2,xmm10
+	ror	edx,7
+	mov	edi,ecx
+	xor	esi,ebp
+	rol	ecx,5
+	pshufd	xmm8,xmm1,238
+	add	ebx,esi
+	xor	edi,edx
+	xor	edx,ebp
+	add	ebx,ecx
+	add	eax,DWORD[44+rsp]
+	and	edi,edx
+	xor	edx,ebp
+	ror	ecx,7
+	mov	esi,ebx
+	xor	edi,edx
+	rol	ebx,5
+	add	eax,edi
+	xor	esi,edx
+	add	eax,ebx
+	pxor	xmm3,xmm7
+	add	ebp,DWORD[48+rsp]
+	xor	esi,ecx
+	punpcklqdq	xmm8,xmm2
+	mov	edi,eax
+	rol	eax,5
+	pxor	xmm3,xmm4
+	add	ebp,esi
+	xor	edi,ecx
+	movdqa	xmm10,xmm9
+	ror	ebx,7
+	paddd	xmm9,xmm2
+	add	ebp,eax
+	pxor	xmm3,xmm8
+	add	edx,DWORD[52+rsp]
+	xor	edi,ebx
+	mov	esi,ebp
+	rol	ebp,5
+	movdqa	xmm8,xmm3
+	add	edx,edi
+	xor	esi,ebx
+	movdqa	XMMWORD[32+rsp],xmm9
+	ror	eax,7
+	add	edx,ebp
+	add	ecx,DWORD[56+rsp]
+	pslld	xmm3,2
+	xor	esi,eax
+	mov	edi,edx
+	psrld	xmm8,30
+	rol	edx,5
+	add	ecx,esi
+	xor	edi,eax
+	ror	ebp,7
+	por	xmm3,xmm8
+	add	ecx,edx
+	add	ebx,DWORD[60+rsp]
+	xor	edi,ebp
+	mov	esi,ecx
+	rol	ecx,5
+	add	ebx,edi
+	xor	esi,ebp
+	ror	edx,7
+	add	ebx,ecx
+	add	eax,DWORD[rsp]
+	xor	esi,edx
+	mov	edi,ebx
+	rol	ebx,5
+	paddd	xmm10,xmm3
+	add	eax,esi
+	xor	edi,edx
+	movdqa	XMMWORD[48+rsp],xmm10
+	ror	ecx,7
+	add	eax,ebx
+	add	ebp,DWORD[4+rsp]
+	xor	edi,ecx
+	mov	esi,eax
+	rol	eax,5
+	add	ebp,edi
+	xor	esi,ecx
+	ror	ebx,7
+	add	ebp,eax
+	add	edx,DWORD[8+rsp]
+	xor	esi,ebx
+	mov	edi,ebp
+	rol	ebp,5
+	add	edx,esi
+	xor	edi,ebx
+	ror	eax,7
+	add	edx,ebp
+	add	ecx,DWORD[12+rsp]
+	xor	edi,eax
+	mov	esi,edx
+	rol	edx,5
+	add	ecx,edi
+	xor	esi,eax
+	ror	ebp,7
+	add	ecx,edx
+	cmp	r9,r10
+	je	NEAR $L$done_ssse3
+	movdqa	xmm6,XMMWORD[64+r14]
+	movdqa	xmm9,XMMWORD[((-64))+r14]
+	movdqu	xmm0,XMMWORD[r9]
+	movdqu	xmm1,XMMWORD[16+r9]
+	movdqu	xmm2,XMMWORD[32+r9]
+	movdqu	xmm3,XMMWORD[48+r9]
+DB	102,15,56,0,198
+	add	r9,64
+	add	ebx,DWORD[16+rsp]
+	xor	esi,ebp
+	mov	edi,ecx
+DB	102,15,56,0,206
+	rol	ecx,5
+	add	ebx,esi
+	xor	edi,ebp
+	ror	edx,7
+	paddd	xmm0,xmm9
+	add	ebx,ecx
+	add	eax,DWORD[20+rsp]
+	xor	edi,edx
+	mov	esi,ebx
+	movdqa	XMMWORD[rsp],xmm0
+	rol	ebx,5
+	add	eax,edi
+	xor	esi,edx
+	ror	ecx,7
+	psubd	xmm0,xmm9
+	add	eax,ebx
+	add	ebp,DWORD[24+rsp]
+	xor	esi,ecx
+	mov	edi,eax
+	rol	eax,5
+	add	ebp,esi
+	xor	edi,ecx
+	ror	ebx,7
+	add	ebp,eax
+	add	edx,DWORD[28+rsp]
+	xor	edi,ebx
+	mov	esi,ebp
+	rol	ebp,5
+	add	edx,edi
+	xor	esi,ebx
+	ror	eax,7
+	add	edx,ebp
+	add	ecx,DWORD[32+rsp]
+	xor	esi,eax
+	mov	edi,edx
+DB	102,15,56,0,214
+	rol	edx,5
+	add	ecx,esi
+	xor	edi,eax
+	ror	ebp,7
+	paddd	xmm1,xmm9
+	add	ecx,edx
+	add	ebx,DWORD[36+rsp]
+	xor	edi,ebp
+	mov	esi,ecx
+	movdqa	XMMWORD[16+rsp],xmm1
+	rol	ecx,5
+	add	ebx,edi
+	xor	esi,ebp
+	ror	edx,7
+	psubd	xmm1,xmm9
+	add	ebx,ecx
+	add	eax,DWORD[40+rsp]
+	xor	esi,edx
+	mov	edi,ebx
+	rol	ebx,5
+	add	eax,esi
+	xor	edi,edx
+	ror	ecx,7
+	add	eax,ebx
+	add	ebp,DWORD[44+rsp]
+	xor	edi,ecx
+	mov	esi,eax
+	rol	eax,5
+	add	ebp,edi
+	xor	esi,ecx
+	ror	ebx,7
+	add	ebp,eax
+	add	edx,DWORD[48+rsp]
+	xor	esi,ebx
+	mov	edi,ebp
+DB	102,15,56,0,222
+	rol	ebp,5
+	add	edx,esi
+	xor	edi,ebx
+	ror	eax,7
+	paddd	xmm2,xmm9
+	add	edx,ebp
+	add	ecx,DWORD[52+rsp]
+	xor	edi,eax
+	mov	esi,edx
+	movdqa	XMMWORD[32+rsp],xmm2
+	rol	edx,5
+	add	ecx,edi
+	xor	esi,eax
+	ror	ebp,7
+	psubd	xmm2,xmm9
+	add	ecx,edx
+	add	ebx,DWORD[56+rsp]
+	xor	esi,ebp
+	mov	edi,ecx
+	rol	ecx,5
+	add	ebx,esi
+	xor	edi,ebp
+	ror	edx,7
+	add	ebx,ecx
+	add	eax,DWORD[60+rsp]
+	xor	edi,edx
+	mov	esi,ebx
+	rol	ebx,5
+	add	eax,edi
+	ror	ecx,7
+	add	eax,ebx
+	add	eax,DWORD[r8]
+	add	esi,DWORD[4+r8]
+	add	ecx,DWORD[8+r8]
+	add	edx,DWORD[12+r8]
+	mov	DWORD[r8],eax
+	add	ebp,DWORD[16+r8]
+	mov	DWORD[4+r8],esi
+	mov	ebx,esi
+	mov	DWORD[8+r8],ecx
+	mov	edi,ecx
+	mov	DWORD[12+r8],edx
+	xor	edi,edx
+	mov	DWORD[16+r8],ebp
+	and	esi,edi
+	jmp	NEAR $L$oop_ssse3
+
+ALIGN	16
+$L$done_ssse3:
+	add	ebx,DWORD[16+rsp]
+	xor	esi,ebp
+	mov	edi,ecx
+	rol	ecx,5
+	add	ebx,esi
+	xor	edi,ebp
+	ror	edx,7
+	add	ebx,ecx
+	add	eax,DWORD[20+rsp]
+	xor	edi,edx
+	mov	esi,ebx
+	rol	ebx,5
+	add	eax,edi
+	xor	esi,edx
+	ror	ecx,7
+	add	eax,ebx
+	add	ebp,DWORD[24+rsp]
+	xor	esi,ecx
+	mov	edi,eax
+	rol	eax,5
+	add	ebp,esi
+	xor	edi,ecx
+	ror	ebx,7
+	add	ebp,eax
+	add	edx,DWORD[28+rsp]
+	xor	edi,ebx
+	mov	esi,ebp
+	rol	ebp,5
+	add	edx,edi
+	xor	esi,ebx
+	ror	eax,7
+	add	edx,ebp
+	add	ecx,DWORD[32+rsp]
+	xor	esi,eax
+	mov	edi,edx
+	rol	edx,5
+	add	ecx,esi
+	xor	edi,eax
+	ror	ebp,7
+	add	ecx,edx
+	add	ebx,DWORD[36+rsp]
+	xor	edi,ebp
+	mov	esi,ecx
+	rol	ecx,5
+	add	ebx,edi
+	xor	esi,ebp
+	ror	edx,7
+	add	ebx,ecx
+	add	eax,DWORD[40+rsp]
+	xor	esi,edx
+	mov	edi,ebx
+	rol	ebx,5
+	add	eax,esi
+	xor	edi,edx
+	ror	ecx,7
+	add	eax,ebx
+	add	ebp,DWORD[44+rsp]
+	xor	edi,ecx
+	mov	esi,eax
+	rol	eax,5
+	add	ebp,edi
+	xor	esi,ecx
+	ror	ebx,7
+	add	ebp,eax
+	add	edx,DWORD[48+rsp]
+	xor	esi,ebx
+	mov	edi,ebp
+	rol	ebp,5
+	add	edx,esi
+	xor	edi,ebx
+	ror	eax,7
+	add	edx,ebp
+	add	ecx,DWORD[52+rsp]
+	xor	edi,eax
+	mov	esi,edx
+	rol	edx,5
+	add	ecx,edi
+	xor	esi,eax
+	ror	ebp,7
+	add	ecx,edx
+	add	ebx,DWORD[56+rsp]
+	xor	esi,ebp
+	mov	edi,ecx
+	rol	ecx,5
+	add	ebx,esi
+	xor	edi,ebp
+	ror	edx,7
+	add	ebx,ecx
+	add	eax,DWORD[60+rsp]
+	xor	edi,edx
+	mov	esi,ebx
+	rol	ebx,5
+	add	eax,edi
+	ror	ecx,7
+	add	eax,ebx
+	add	eax,DWORD[r8]
+	add	esi,DWORD[4+r8]
+	add	ecx,DWORD[8+r8]
+	mov	DWORD[r8],eax
+	add	edx,DWORD[12+r8]
+	mov	DWORD[4+r8],esi
+	add	ebp,DWORD[16+r8]
+	mov	DWORD[8+r8],ecx
+	mov	DWORD[12+r8],edx
+	mov	DWORD[16+r8],ebp
+	movaps	xmm6,XMMWORD[((-40-96))+r11]
+	movaps	xmm7,XMMWORD[((-40-80))+r11]
+	movaps	xmm8,XMMWORD[((-40-64))+r11]
+	movaps	xmm9,XMMWORD[((-40-48))+r11]
+	movaps	xmm10,XMMWORD[((-40-32))+r11]
+	movaps	xmm11,XMMWORD[((-40-16))+r11]
+	mov	r14,QWORD[((-40))+r11]
+	mov	r13,QWORD[((-32))+r11]
+	mov	r12,QWORD[((-24))+r11]
+	mov	rbp,QWORD[((-16))+r11]
+	mov	rbx,QWORD[((-8))+r11]
+	lea	rsp,[r11]
+$L$epilogue_ssse3:
+	mov	rdi,QWORD[8+rsp]	;WIN64 epilogue
+	mov	rsi,QWORD[16+rsp]
+	DB	0F3h,0C3h		;repret
+$L$SEH_end_sha1_block_data_order_ssse3:
+
+ALIGN	16
+sha1_block_data_order_avx:
+	mov	QWORD[8+rsp],rdi	;WIN64 prologue
+	mov	QWORD[16+rsp],rsi
+	mov	rax,rsp
+$L$SEH_begin_sha1_block_data_order_avx:
+	mov	rdi,rcx
+	mov	rsi,rdx
+	mov	rdx,r8
+
+
+_avx_shortcut:
+	mov	r11,rsp
+	push	rbx
+	push	rbp
+	push	r12
+	push	r13
+	push	r14
+	lea	rsp,[((-160))+rsp]
+	vzeroupper
+	vmovaps	XMMWORD[(-40-96)+r11],xmm6
+	vmovaps	XMMWORD[(-40-80)+r11],xmm7
+	vmovaps	XMMWORD[(-40-64)+r11],xmm8
+	vmovaps	XMMWORD[(-40-48)+r11],xmm9
+	vmovaps	XMMWORD[(-40-32)+r11],xmm10
+	vmovaps	XMMWORD[(-40-16)+r11],xmm11
+$L$prologue_avx:
+	and	rsp,-64
+	mov	r8,rdi
+	mov	r9,rsi
+	mov	r10,rdx
+
+	shl	r10,6
+	add	r10,r9
+	lea	r14,[((K_XX_XX+64))]
+
+	mov	eax,DWORD[r8]
+	mov	ebx,DWORD[4+r8]
+	mov	ecx,DWORD[8+r8]
+	mov	edx,DWORD[12+r8]
+	mov	esi,ebx
+	mov	ebp,DWORD[16+r8]
+	mov	edi,ecx
+	xor	edi,edx
+	and	esi,edi
+
+	vmovdqa	xmm6,XMMWORD[64+r14]
+	vmovdqa	xmm11,XMMWORD[((-64))+r14]
+	vmovdqu	xmm0,XMMWORD[r9]
+	vmovdqu	xmm1,XMMWORD[16+r9]
+	vmovdqu	xmm2,XMMWORD[32+r9]
+	vmovdqu	xmm3,XMMWORD[48+r9]
+	vpshufb	xmm0,xmm0,xmm6
+	add	r9,64
+	vpshufb	xmm1,xmm1,xmm6
+	vpshufb	xmm2,xmm2,xmm6
+	vpshufb	xmm3,xmm3,xmm6
+	vpaddd	xmm4,xmm0,xmm11
+	vpaddd	xmm5,xmm1,xmm11
+	vpaddd	xmm6,xmm2,xmm11
+	vmovdqa	XMMWORD[rsp],xmm4
+	vmovdqa	XMMWORD[16+rsp],xmm5
+	vmovdqa	XMMWORD[32+rsp],xmm6
+	jmp	NEAR $L$oop_avx
+ALIGN	16
+$L$oop_avx:
+	shrd	ebx,ebx,2
+	xor	esi,edx
+	vpalignr	xmm4,xmm1,xmm0,8
+	mov	edi,eax
+	add	ebp,DWORD[rsp]
+	vpaddd	xmm9,xmm11,xmm3
+	xor	ebx,ecx
+	shld	eax,eax,5
+	vpsrldq	xmm8,xmm3,4
+	add	ebp,esi
+	and	edi,ebx
+	vpxor	xmm4,xmm4,xmm0
+	xor	ebx,ecx
+	add	ebp,eax
+	vpxor	xmm8,xmm8,xmm2
+	shrd	eax,eax,7
+	xor	edi,ecx
+	mov	esi,ebp
+	add	edx,DWORD[4+rsp]
+	vpxor	xmm4,xmm4,xmm8
+	xor	eax,ebx
+	shld	ebp,ebp,5
+	vmovdqa	XMMWORD[48+rsp],xmm9
+	add	edx,edi
+	and	esi,eax
+	vpsrld	xmm8,xmm4,31
+	xor	eax,ebx
+	add	edx,ebp
+	shrd	ebp,ebp,7
+	xor	esi,ebx
+	vpslldq	xmm10,xmm4,12
+	vpaddd	xmm4,xmm4,xmm4
+	mov	edi,edx
+	add	ecx,DWORD[8+rsp]
+	xor	ebp,eax
+	shld	edx,edx,5
+	vpsrld	xmm9,xmm10,30
+	vpor	xmm4,xmm4,xmm8
+	add	ecx,esi
+	and	edi,ebp
+	xor	ebp,eax
+	add	ecx,edx
+	vpslld	xmm10,xmm10,2
+	vpxor	xmm4,xmm4,xmm9
+	shrd	edx,edx,7
+	xor	edi,eax
+	mov	esi,ecx
+	add	ebx,DWORD[12+rsp]
+	vpxor	xmm4,xmm4,xmm10
+	xor	edx,ebp
+	shld	ecx,ecx,5
+	add	ebx,edi
+	and	esi,edx
+	xor	edx,ebp
+	add	ebx,ecx
+	shrd	ecx,ecx,7
+	xor	esi,ebp
+	vpalignr	xmm5,xmm2,xmm1,8
+	mov	edi,ebx
+	add	eax,DWORD[16+rsp]
+	vpaddd	xmm9,xmm11,xmm4
+	xor	ecx,edx
+	shld	ebx,ebx,5
+	vpsrldq	xmm8,xmm4,4
+	add	eax,esi
+	and	edi,ecx
+	vpxor	xmm5,xmm5,xmm1
+	xor	ecx,edx
+	add	eax,ebx
+	vpxor	xmm8,xmm8,xmm3
+	shrd	ebx,ebx,7
+	xor	edi,edx
+	mov	esi,eax
+	add	ebp,DWORD[20+rsp]
+	vpxor	xmm5,xmm5,xmm8
+	xor	ebx,ecx
+	shld	eax,eax,5
+	vmovdqa	XMMWORD[rsp],xmm9
+	add	ebp,edi
+	and	esi,ebx
+	vpsrld	xmm8,xmm5,31
+	xor	ebx,ecx
+	add	ebp,eax
+	shrd	eax,eax,7
+	xor	esi,ecx
+	vpslldq	xmm10,xmm5,12
+	vpaddd	xmm5,xmm5,xmm5
+	mov	edi,ebp
+	add	edx,DWORD[24+rsp]
+	xor	eax,ebx
+	shld	ebp,ebp,5
+	vpsrld	xmm9,xmm10,30
+	vpor	xmm5,xmm5,xmm8
+	add	edx,esi
+	and	edi,eax
+	xor	eax,ebx
+	add	edx,ebp
+	vpslld	xmm10,xmm10,2
+	vpxor	xmm5,xmm5,xmm9
+	shrd	ebp,ebp,7
+	xor	edi,ebx
+	mov	esi,edx
+	add	ecx,DWORD[28+rsp]
+	vpxor	xmm5,xmm5,xmm10
+	xor	ebp,eax
+	shld	edx,edx,5
+	vmovdqa	xmm11,XMMWORD[((-32))+r14]
+	add	ecx,edi
+	and	esi,ebp
+	xor	ebp,eax
+	add	ecx,edx
+	shrd	edx,edx,7
+	xor	esi,eax
+	vpalignr	xmm6,xmm3,xmm2,8
+	mov	edi,ecx
+	add	ebx,DWORD[32+rsp]
+	vpaddd	xmm9,xmm11,xmm5
+	xor	edx,ebp
+	shld	ecx,ecx,5
+	vpsrldq	xmm8,xmm5,4
+	add	ebx,esi
+	and	edi,edx
+	vpxor	xmm6,xmm6,xmm2
+	xor	edx,ebp
+	add	ebx,ecx
+	vpxor	xmm8,xmm8,xmm4
+	shrd	ecx,ecx,7
+	xor	edi,ebp
+	mov	esi,ebx
+	add	eax,DWORD[36+rsp]
+	vpxor	xmm6,xmm6,xmm8
+	xor	ecx,edx
+	shld	ebx,ebx,5
+	vmovdqa	XMMWORD[16+rsp],xmm9
+	add	eax,edi
+	and	esi,ecx
+	vpsrld	xmm8,xmm6,31
+	xor	ecx,edx
+	add	eax,ebx
+	shrd	ebx,ebx,7
+	xor	esi,edx
+	vpslldq	xmm10,xmm6,12
+	vpaddd	xmm6,xmm6,xmm6
+	mov	edi,eax
+	add	ebp,DWORD[40+rsp]
+	xor	ebx,ecx
+	shld	eax,eax,5
+	vpsrld	xmm9,xmm10,30
+	vpor	xmm6,xmm6,xmm8
+	add	ebp,esi
+	and	edi,ebx
+	xor	ebx,ecx
+	add	ebp,eax
+	vpslld	xmm10,xmm10,2
+	vpxor	xmm6,xmm6,xmm9
+	shrd	eax,eax,7
+	xor	edi,ecx
+	mov	esi,ebp
+	add	edx,DWORD[44+rsp]
+	vpxor	xmm6,xmm6,xmm10
+	xor	eax,ebx
+	shld	ebp,ebp,5
+	add	edx,edi
+	and	esi,eax
+	xor	eax,ebx
+	add	edx,ebp
+	shrd	ebp,ebp,7
+	xor	esi,ebx
+	vpalignr	xmm7,xmm4,xmm3,8
+	mov	edi,edx
+	add	ecx,DWORD[48+rsp]
+	vpaddd	xmm9,xmm11,xmm6
+	xor	ebp,eax
+	shld	edx,edx,5
+	vpsrldq	xmm8,xmm6,4
+	add	ecx,esi
+	and	edi,ebp
+	vpxor	xmm7,xmm7,xmm3
+	xor	ebp,eax
+	add	ecx,edx
+	vpxor	xmm8,xmm8,xmm5
+	shrd	edx,edx,7
+	xor	edi,eax
+	mov	esi,ecx
+	add	ebx,DWORD[52+rsp]
+	vpxor	xmm7,xmm7,xmm8
+	xor	edx,ebp
+	shld	ecx,ecx,5
+	vmovdqa	XMMWORD[32+rsp],xmm9
+	add	ebx,edi
+	and	esi,edx
+	vpsrld	xmm8,xmm7,31
+	xor	edx,ebp
+	add	ebx,ecx
+	shrd	ecx,ecx,7
+	xor	esi,ebp
+	vpslldq	xmm10,xmm7,12
+	vpaddd	xmm7,xmm7,xmm7
+	mov	edi,ebx
+	add	eax,DWORD[56+rsp]
+	xor	ecx,edx
+	shld	ebx,ebx,5
+	vpsrld	xmm9,xmm10,30
+	vpor	xmm7,xmm7,xmm8
+	add	eax,esi
+	and	edi,ecx
+	xor	ecx,edx
+	add	eax,ebx
+	vpslld	xmm10,xmm10,2
+	vpxor	xmm7,xmm7,xmm9
+	shrd	ebx,ebx,7
+	xor	edi,edx
+	mov	esi,eax
+	add	ebp,DWORD[60+rsp]
+	vpxor	xmm7,xmm7,xmm10
+	xor	ebx,ecx
+	shld	eax,eax,5
+	add	ebp,edi
+	and	esi,ebx
+	xor	ebx,ecx
+	add	ebp,eax
+	vpalignr	xmm8,xmm7,xmm6,8
+	vpxor	xmm0,xmm0,xmm4
+	shrd	eax,eax,7
+	xor	esi,ecx
+	mov	edi,ebp
+	add	edx,DWORD[rsp]
+	vpxor	xmm0,xmm0,xmm1
+	xor	eax,ebx
+	shld	ebp,ebp,5
+	vpaddd	xmm9,xmm11,xmm7
+	add	edx,esi
+	and	edi,eax
+	vpxor	xmm0,xmm0,xmm8
+	xor	eax,ebx
+	add	edx,ebp
+	shrd	ebp,ebp,7
+	xor	edi,ebx
+	vpsrld	xmm8,xmm0,30
+	vmovdqa	XMMWORD[48+rsp],xmm9
+	mov	esi,edx
+	add	ecx,DWORD[4+rsp]
+	xor	ebp,eax
+	shld	edx,edx,5
+	vpslld	xmm0,xmm0,2
+	add	ecx,edi
+	and	esi,ebp
+	xor	ebp,eax
+	add	ecx,edx
+	shrd	edx,edx,7
+	xor	esi,eax
+	mov	edi,ecx
+	add	ebx,DWORD[8+rsp]
+	vpor	xmm0,xmm0,xmm8
+	xor	edx,ebp
+	shld	ecx,ecx,5
+	add	ebx,esi
+	and	edi,edx
+	xor	edx,ebp
+	add	ebx,ecx
+	add	eax,DWORD[12+rsp]
+	xor	edi,ebp
+	mov	esi,ebx
+	shld	ebx,ebx,5
+	add	eax,edi
+	xor	esi,edx
+	shrd	ecx,ecx,7
+	add	eax,ebx
+	vpalignr	xmm8,xmm0,xmm7,8
+	vpxor	xmm1,xmm1,xmm5
+	add	ebp,DWORD[16+rsp]
+	xor	esi,ecx
+	mov	edi,eax
+	shld	eax,eax,5
+	vpxor	xmm1,xmm1,xmm2
+	add	ebp,esi
+	xor	edi,ecx
+	vpaddd	xmm9,xmm11,xmm0
+	shrd	ebx,ebx,7
+	add	ebp,eax
+	vpxor	xmm1,xmm1,xmm8
+	add	edx,DWORD[20+rsp]
+	xor	edi,ebx
+	mov	esi,ebp
+	shld	ebp,ebp,5
+	vpsrld	xmm8,xmm1,30
+	vmovdqa	XMMWORD[rsp],xmm9
+	add	edx,edi
+	xor	esi,ebx
+	shrd	eax,eax,7
+	add	edx,ebp
+	vpslld	xmm1,xmm1,2
+	add	ecx,DWORD[24+rsp]
+	xor	esi,eax
+	mov	edi,edx
+	shld	edx,edx,5
+	add	ecx,esi
+	xor	edi,eax
+	shrd	ebp,ebp,7
+	add	ecx,edx
+	vpor	xmm1,xmm1,xmm8
+	add	ebx,DWORD[28+rsp]
+	xor	edi,ebp
+	mov	esi,ecx
+	shld	ecx,ecx,5
+	add	ebx,edi
+	xor	esi,ebp
+	shrd	edx,edx,7
+	add	ebx,ecx
+	vpalignr	xmm8,xmm1,xmm0,8
+	vpxor	xmm2,xmm2,xmm6
+	add	eax,DWORD[32+rsp]
+	xor	esi,edx
+	mov	edi,ebx
+	shld	ebx,ebx,5
+	vpxor	xmm2,xmm2,xmm3
+	add	eax,esi
+	xor	edi,edx
+	vpaddd	xmm9,xmm11,xmm1
+	vmovdqa	xmm11,XMMWORD[r14]
+	shrd	ecx,ecx,7
+	add	eax,ebx
+	vpxor	xmm2,xmm2,xmm8
+	add	ebp,DWORD[36+rsp]
+	xor	edi,ecx
+	mov	esi,eax
+	shld	eax,eax,5
+	vpsrld	xmm8,xmm2,30
+	vmovdqa	XMMWORD[16+rsp],xmm9
+	add	ebp,edi
+	xor	esi,ecx
+	shrd	ebx,ebx,7
+	add	ebp,eax
+	vpslld	xmm2,xmm2,2
+	add	edx,DWORD[40+rsp]
+	xor	esi,ebx
+	mov	edi,ebp
+	shld	ebp,ebp,5
+	add	edx,esi
+	xor	edi,ebx
+	shrd	eax,eax,7
+	add	edx,ebp
+	vpor	xmm2,xmm2,xmm8
+	add	ecx,DWORD[44+rsp]
+	xor	edi,eax
+	mov	esi,edx
+	shld	edx,edx,5
+	add	ecx,edi
+	xor	esi,eax
+	shrd	ebp,ebp,7
+	add	ecx,edx
+	vpalignr	xmm8,xmm2,xmm1,8
+	vpxor	xmm3,xmm3,xmm7
+	add	ebx,DWORD[48+rsp]
+	xor	esi,ebp
+	mov	edi,ecx
+	shld	ecx,ecx,5
+	vpxor	xmm3,xmm3,xmm4
+	add	ebx,esi
+	xor	edi,ebp
+	vpaddd	xmm9,xmm11,xmm2
+	shrd	edx,edx,7
+	add	ebx,ecx
+	vpxor	xmm3,xmm3,xmm8
+	add	eax,DWORD[52+rsp]
+	xor	edi,edx
+	mov	esi,ebx
+	shld	ebx,ebx,5
+	vpsrld	xmm8,xmm3,30
+	vmovdqa	XMMWORD[32+rsp],xmm9
+	add	eax,edi
+	xor	esi,edx
+	shrd	ecx,ecx,7
+	add	eax,ebx
+	vpslld	xmm3,xmm3,2
+	add	ebp,DWORD[56+rsp]
+	xor	esi,ecx
+	mov	edi,eax
+	shld	eax,eax,5
+	add	ebp,esi
+	xor	edi,ecx
+	shrd	ebx,ebx,7
+	add	ebp,eax
+	vpor	xmm3,xmm3,xmm8
+	add	edx,DWORD[60+rsp]
+	xor	edi,ebx
+	mov	esi,ebp
+	shld	ebp,ebp,5
+	add	edx,edi
+	xor	esi,ebx
+	shrd	eax,eax,7
+	add	edx,ebp
+	vpalignr	xmm8,xmm3,xmm2,8
+	vpxor	xmm4,xmm4,xmm0
+	add	ecx,DWORD[rsp]
+	xor	esi,eax
+	mov	edi,edx
+	shld	edx,edx,5
+	vpxor	xmm4,xmm4,xmm5
+	add	ecx,esi
+	xor	edi,eax
+	vpaddd	xmm9,xmm11,xmm3
+	shrd	ebp,ebp,7
+	add	ecx,edx
+	vpxor	xmm4,xmm4,xmm8
+	add	ebx,DWORD[4+rsp]
+	xor	edi,ebp
+	mov	esi,ecx
+	shld	ecx,ecx,5
+	vpsrld	xmm8,xmm4,30
+	vmovdqa	XMMWORD[48+rsp],xmm9
+	add	ebx,edi
+	xor	esi,ebp
+	shrd	edx,edx,7
+	add	ebx,ecx
+	vpslld	xmm4,xmm4,2
+	add	eax,DWORD[8+rsp]
+	xor	esi,edx
+	mov	edi,ebx
+	shld	ebx,ebx,5
+	add	eax,esi
+	xor	edi,edx
+	shrd	ecx,ecx,7
+	add	eax,ebx
+	vpor	xmm4,xmm4,xmm8
+	add	ebp,DWORD[12+rsp]
+	xor	edi,ecx
+	mov	esi,eax
+	shld	eax,eax,5
+	add	ebp,edi
+	xor	esi,ecx
+	shrd	ebx,ebx,7
+	add	ebp,eax
+	vpalignr	xmm8,xmm4,xmm3,8
+	vpxor	xmm5,xmm5,xmm1
+	add	edx,DWORD[16+rsp]
+	xor	esi,ebx
+	mov	edi,ebp
+	shld	ebp,ebp,5
+	vpxor	xmm5,xmm5,xmm6
+	add	edx,esi
+	xor	edi,ebx
+	vpaddd	xmm9,xmm11,xmm4
+	shrd	eax,eax,7
+	add	edx,ebp
+	vpxor	xmm5,xmm5,xmm8
+	add	ecx,DWORD[20+rsp]
+	xor	edi,eax
+	mov	esi,edx
+	shld	edx,edx,5
+	vpsrld	xmm8,xmm5,30
+	vmovdqa	XMMWORD[rsp],xmm9
+	add	ecx,edi
+	xor	esi,eax
+	shrd	ebp,ebp,7
+	add	ecx,edx
+	vpslld	xmm5,xmm5,2
+	add	ebx,DWORD[24+rsp]
+	xor	esi,ebp
+	mov	edi,ecx
+	shld	ecx,ecx,5
+	add	ebx,esi
+	xor	edi,ebp
+	shrd	edx,edx,7
+	add	ebx,ecx
+	vpor	xmm5,xmm5,xmm8
+	add	eax,DWORD[28+rsp]
+	shrd	ecx,ecx,7
+	mov	esi,ebx
+	xor	edi,edx
+	shld	ebx,ebx,5
+	add	eax,edi
+	xor	esi,ecx
+	xor	ecx,edx
+	add	eax,ebx
+	vpalignr	xmm8,xmm5,xmm4,8
+	vpxor	xmm6,xmm6,xmm2
+	add	ebp,DWORD[32+rsp]
+	and	esi,ecx
+	xor	ecx,edx
+	shrd	ebx,ebx,7
+	vpxor	xmm6,xmm6,xmm7
+	mov	edi,eax
+	xor	esi,ecx
+	vpaddd	xmm9,xmm11,xmm5
+	shld	eax,eax,5
+	add	ebp,esi
+	vpxor	xmm6,xmm6,xmm8
+	xor	edi,ebx
+	xor	ebx,ecx
+	add	ebp,eax
+	add	edx,DWORD[36+rsp]
+	vpsrld	xmm8,xmm6,30
+	vmovdqa	XMMWORD[16+rsp],xmm9
+	and	edi,ebx
+	xor	ebx,ecx
+	shrd	eax,eax,7
+	mov	esi,ebp
+	vpslld	xmm6,xmm6,2
+	xor	edi,ebx
+	shld	ebp,ebp,5
+	add	edx,edi
+	xor	esi,eax
+	xor	eax,ebx
+	add	edx,ebp
+	add	ecx,DWORD[40+rsp]
+	and	esi,eax
+	vpor	xmm6,xmm6,xmm8
+	xor	eax,ebx
+	shrd	ebp,ebp,7
+	mov	edi,edx
+	xor	esi,eax
+	shld	edx,edx,5
+	add	ecx,esi
+	xor	edi,ebp
+	xor	ebp,eax
+	add	ecx,edx
+	add	ebx,DWORD[44+rsp]
+	and	edi,ebp
+	xor	ebp,eax
+	shrd	edx,edx,7
+	mov	esi,ecx
+	xor	edi,ebp
+	shld	ecx,ecx,5
+	add	ebx,edi
+	xor	esi,edx
+	xor	edx,ebp
+	add	ebx,ecx
+	vpalignr	xmm8,xmm6,xmm5,8
+	vpxor	xmm7,xmm7,xmm3
+	add	eax,DWORD[48+rsp]
+	and	esi,edx
+	xor	edx,ebp
+	shrd	ecx,ecx,7
+	vpxor	xmm7,xmm7,xmm0
+	mov	edi,ebx
+	xor	esi,edx
+	vpaddd	xmm9,xmm11,xmm6
+	vmovdqa	xmm11,XMMWORD[32+r14]
+	shld	ebx,ebx,5
+	add	eax,esi
+	vpxor	xmm7,xmm7,xmm8
+	xor	edi,ecx
+	xor	ecx,edx
+	add	eax,ebx
+	add	ebp,DWORD[52+rsp]
+	vpsrld	xmm8,xmm7,30
+	vmovdqa	XMMWORD[32+rsp],xmm9
+	and	edi,ecx
+	xor	ecx,edx
+	shrd	ebx,ebx,7
+	mov	esi,eax
+	vpslld	xmm7,xmm7,2
+	xor	edi,ecx
+	shld	eax,eax,5
+	add	ebp,edi
+	xor	esi,ebx
+	xor	ebx,ecx
+	add	ebp,eax
+	add	edx,DWORD[56+rsp]
+	and	esi,ebx
+	vpor	xmm7,xmm7,xmm8
+	xor	ebx,ecx
+	shrd	eax,eax,7
+	mov	edi,ebp
+	xor	esi,ebx
+	shld	ebp,ebp,5
+	add	edx,esi
+	xor	edi,eax
+	xor	eax,ebx
+	add	edx,ebp
+	add	ecx,DWORD[60+rsp]
+	and	edi,eax
+	xor	eax,ebx
+	shrd	ebp,ebp,7
+	mov	esi,edx
+	xor	edi,eax
+	shld	edx,edx,5
+	add	ecx,edi
+	xor	esi,ebp
+	xor	ebp,eax
+	add	ecx,edx
+	vpalignr	xmm8,xmm7,xmm6,8
+	vpxor	xmm0,xmm0,xmm4
+	add	ebx,DWORD[rsp]
+	and	esi,ebp
+	xor	ebp,eax
+	shrd	edx,edx,7
+	vpxor	xmm0,xmm0,xmm1
+	mov	edi,ecx
+	xor	esi,ebp
+	vpaddd	xmm9,xmm11,xmm7
+	shld	ecx,ecx,5
+	add	ebx,esi
+	vpxor	xmm0,xmm0,xmm8
+	xor	edi,edx
+	xor	edx,ebp
+	add	ebx,ecx
+	add	eax,DWORD[4+rsp]
+	vpsrld	xmm8,xmm0,30
+	vmovdqa	XMMWORD[48+rsp],xmm9
+	and	edi,edx
+	xor	edx,ebp
+	shrd	ecx,ecx,7
+	mov	esi,ebx
+	vpslld	xmm0,xmm0,2
+	xor	edi,edx
+	shld	ebx,ebx,5
+	add	eax,edi
+	xor	esi,ecx
+	xor	ecx,edx
+	add	eax,ebx
+	add	ebp,DWORD[8+rsp]
+	and	esi,ecx
+	vpor	xmm0,xmm0,xmm8
+	xor	ecx,edx
+	shrd	ebx,ebx,7
+	mov	edi,eax
+	xor	esi,ecx
+	shld	eax,eax,5
+	add	ebp,esi
+	xor	edi,ebx
+	xor	ebx,ecx
+	add	ebp,eax
+	add	edx,DWORD[12+rsp]
+	and	edi,ebx
+	xor	ebx,ecx
+	shrd	eax,eax,7
+	mov	esi,ebp
+	xor	edi,ebx
+	shld	ebp,ebp,5
+	add	edx,edi
+	xor	esi,eax
+	xor	eax,ebx
+	add	edx,ebp
+	vpalignr	xmm8,xmm0,xmm7,8
+	vpxor	xmm1,xmm1,xmm5
+	add	ecx,DWORD[16+rsp]
+	and	esi,eax
+	xor	eax,ebx
+	shrd	ebp,ebp,7
+	vpxor	xmm1,xmm1,xmm2
+	mov	edi,edx
+	xor	esi,eax
+	vpaddd	xmm9,xmm11,xmm0
+	shld	edx,edx,5
+	add	ecx,esi
+	vpxor	xmm1,xmm1,xmm8
+	xor	edi,ebp
+	xor	ebp,eax
+	add	ecx,edx
+	add	ebx,DWORD[20+rsp]
+	vpsrld	xmm8,xmm1,30
+	vmovdqa	XMMWORD[rsp],xmm9
+	and	edi,ebp
+	xor	ebp,eax
+	shrd	edx,edx,7
+	mov	esi,ecx
+	vpslld	xmm1,xmm1,2
+	xor	edi,ebp
+	shld	ecx,ecx,5
+	add	ebx,edi
+	xor	esi,edx
+	xor	edx,ebp
+	add	ebx,ecx
+	add	eax,DWORD[24+rsp]
+	and	esi,edx
+	vpor	xmm1,xmm1,xmm8
+	xor	edx,ebp
+	shrd	ecx,ecx,7
+	mov	edi,ebx
+	xor	esi,edx
+	shld	ebx,ebx,5
+	add	eax,esi
+	xor	edi,ecx
+	xor	ecx,edx
+	add	eax,ebx
+	add	ebp,DWORD[28+rsp]
+	and	edi,ecx
+	xor	ecx,edx
+	shrd	ebx,ebx,7
+	mov	esi,eax
+	xor	edi,ecx
+	shld	eax,eax,5
+	add	ebp,edi
+	xor	esi,ebx
+	xor	ebx,ecx
+	add	ebp,eax
+	vpalignr	xmm8,xmm1,xmm0,8
+	vpxor	xmm2,xmm2,xmm6
+	add	edx,DWORD[32+rsp]
+	and	esi,ebx
+	xor	ebx,ecx
+	shrd	eax,eax,7
+	vpxor	xmm2,xmm2,xmm3
+	mov	edi,ebp
+	xor	esi,ebx
+	vpaddd	xmm9,xmm11,xmm1
+	shld	ebp,ebp,5
+	add	edx,esi
+	vpxor	xmm2,xmm2,xmm8
+	xor	edi,eax
+	xor	eax,ebx
+	add	edx,ebp
+	add	ecx,DWORD[36+rsp]
+	vpsrld	xmm8,xmm2,30
+	vmovdqa	XMMWORD[16+rsp],xmm9
+	and	edi,eax
+	xor	eax,ebx
+	shrd	ebp,ebp,7
+	mov	esi,edx
+	vpslld	xmm2,xmm2,2
+	xor	edi,eax
+	shld	edx,edx,5
+	add	ecx,edi
+	xor	esi,ebp
+	xor	ebp,eax
+	add	ecx,edx
+	add	ebx,DWORD[40+rsp]
+	and	esi,ebp
+	vpor	xmm2,xmm2,xmm8
+	xor	ebp,eax
+	shrd	edx,edx,7
+	mov	edi,ecx
+	xor	esi,ebp
+	shld	ecx,ecx,5
+	add	ebx,esi
+	xor	edi,edx
+	xor	edx,ebp
+	add	ebx,ecx
+	add	eax,DWORD[44+rsp]
+	and	edi,edx
+	xor	edx,ebp
+	shrd	ecx,ecx,7
+	mov	esi,ebx
+	xor	edi,edx
+	shld	ebx,ebx,5
+	add	eax,edi
+	xor	esi,edx
+	add	eax,ebx
+	vpalignr	xmm8,xmm2,xmm1,8
+	vpxor	xmm3,xmm3,xmm7
+	add	ebp,DWORD[48+rsp]
+	xor	esi,ecx
+	mov	edi,eax
+	shld	eax,eax,5
+	vpxor	xmm3,xmm3,xmm4
+	add	ebp,esi
+	xor	edi,ecx
+	vpaddd	xmm9,xmm11,xmm2
+	shrd	ebx,ebx,7
+	add	ebp,eax
+	vpxor	xmm3,xmm3,xmm8
+	add	edx,DWORD[52+rsp]
+	xor	edi,ebx
+	mov	esi,ebp
+	shld	ebp,ebp,5
+	vpsrld	xmm8,xmm3,30
+	vmovdqa	XMMWORD[32+rsp],xmm9
+	add	edx,edi
+	xor	esi,ebx
+	shrd	eax,eax,7
+	add	edx,ebp
+	vpslld	xmm3,xmm3,2
+	add	ecx,DWORD[56+rsp]
+	xor	esi,eax
+	mov	edi,edx
+	shld	edx,edx,5
+	add	ecx,esi
+	xor	edi,eax
+	shrd	ebp,ebp,7
+	add	ecx,edx
+	vpor	xmm3,xmm3,xmm8
+	add	ebx,DWORD[60+rsp]
+	xor	edi,ebp
+	mov	esi,ecx
+	shld	ecx,ecx,5
+	add	ebx,edi
+	xor	esi,ebp
+	shrd	edx,edx,7
+	add	ebx,ecx
+	add	eax,DWORD[rsp]
+	vpaddd	xmm9,xmm11,xmm3
+	xor	esi,edx
+	mov	edi,ebx
+	shld	ebx,ebx,5
+	add	eax,esi
+	vmovdqa	XMMWORD[48+rsp],xmm9
+	xor	edi,edx
+	shrd	ecx,ecx,7
+	add	eax,ebx
+	add	ebp,DWORD[4+rsp]
+	xor	edi,ecx
+	mov	esi,eax
+	shld	eax,eax,5
+	add	ebp,edi
+	xor	esi,ecx
+	shrd	ebx,ebx,7
+	add	ebp,eax
+	add	edx,DWORD[8+rsp]
+	xor	esi,ebx
+	mov	edi,ebp
+	shld	ebp,ebp,5
+	add	edx,esi
+	xor	edi,ebx
+	shrd	eax,eax,7
+	add	edx,ebp
+	add	ecx,DWORD[12+rsp]
+	xor	edi,eax
+	mov	esi,edx
+	shld	edx,edx,5
+	add	ecx,edi
+	xor	esi,eax
+	shrd	ebp,ebp,7
+	add	ecx,edx
+	cmp	r9,r10
+	je	NEAR $L$done_avx
+	vmovdqa	xmm6,XMMWORD[64+r14]
+	vmovdqa	xmm11,XMMWORD[((-64))+r14]
+	vmovdqu	xmm0,XMMWORD[r9]
+	vmovdqu	xmm1,XMMWORD[16+r9]
+	vmovdqu	xmm2,XMMWORD[32+r9]
+	vmovdqu	xmm3,XMMWORD[48+r9]
+	vpshufb	xmm0,xmm0,xmm6
+	add	r9,64
+	add	ebx,DWORD[16+rsp]
+	xor	esi,ebp
+	vpshufb	xmm1,xmm1,xmm6
+	mov	edi,ecx
+	shld	ecx,ecx,5
+	vpaddd	xmm4,xmm0,xmm11
+	add	ebx,esi
+	xor	edi,ebp
+	shrd	edx,edx,7
+	add	ebx,ecx
+	vmovdqa	XMMWORD[rsp],xmm4
+	add	eax,DWORD[20+rsp]
+	xor	edi,edx
+	mov	esi,ebx
+	shld	ebx,ebx,5
+	add	eax,edi
+	xor	esi,edx
+	shrd	ecx,ecx,7
+	add	eax,ebx
+	add	ebp,DWORD[24+rsp]
+	xor	esi,ecx
+	mov	edi,eax
+	shld	eax,eax,5
+	add	ebp,esi
+	xor	edi,ecx
+	shrd	ebx,ebx,7
+	add	ebp,eax
+	add	edx,DWORD[28+rsp]
+	xor	edi,ebx
+	mov	esi,ebp
+	shld	ebp,ebp,5
+	add	edx,edi
+	xor	esi,ebx
+	shrd	eax,eax,7
+	add	edx,ebp
+	add	ecx,DWORD[32+rsp]
+	xor	esi,eax
+	vpshufb	xmm2,xmm2,xmm6
+	mov	edi,edx
+	shld	edx,edx,5
+	vpaddd	xmm5,xmm1,xmm11
+	add	ecx,esi
+	xor	edi,eax
+	shrd	ebp,ebp,7
+	add	ecx,edx
+	vmovdqa	XMMWORD[16+rsp],xmm5
+	add	ebx,DWORD[36+rsp]
+	xor	edi,ebp
+	mov	esi,ecx
+	shld	ecx,ecx,5
+	add	ebx,edi
+	xor	esi,ebp
+	shrd	edx,edx,7
+	add	ebx,ecx
+	add	eax,DWORD[40+rsp]
+	xor	esi,edx
+	mov	edi,ebx
+	shld	ebx,ebx,5
+	add	eax,esi
+	xor	edi,edx
+	shrd	ecx,ecx,7
+	add	eax,ebx
+	add	ebp,DWORD[44+rsp]
+	xor	edi,ecx
+	mov	esi,eax
+	shld	eax,eax,5
+	add	ebp,edi
+	xor	esi,ecx
+	shrd	ebx,ebx,7
+	add	ebp,eax
+	add	edx,DWORD[48+rsp]
+	xor	esi,ebx
+	vpshufb	xmm3,xmm3,xmm6
+	mov	edi,ebp
+	shld	ebp,ebp,5
+	vpaddd	xmm6,xmm2,xmm11
+	add	edx,esi
+	xor	edi,ebx
+	shrd	eax,eax,7
+	add	edx,ebp
+	vmovdqa	XMMWORD[32+rsp],xmm6
+	add	ecx,DWORD[52+rsp]
+	xor	edi,eax
+	mov	esi,edx
+	shld	edx,edx,5
+	add	ecx,edi
+	xor	esi,eax
+	shrd	ebp,ebp,7
+	add	ecx,edx
+	add	ebx,DWORD[56+rsp]
+	xor	esi,ebp
+	mov	edi,ecx
+	shld	ecx,ecx,5
+	add	ebx,esi
+	xor	edi,ebp
+	shrd	edx,edx,7
+	add	ebx,ecx
+	add	eax,DWORD[60+rsp]
+	xor	edi,edx
+	mov	esi,ebx
+	shld	ebx,ebx,5
+	add	eax,edi
+	shrd	ecx,ecx,7
+	add	eax,ebx
+	add	eax,DWORD[r8]
+	add	esi,DWORD[4+r8]
+	add	ecx,DWORD[8+r8]
+	add	edx,DWORD[12+r8]
+	mov	DWORD[r8],eax
+	add	ebp,DWORD[16+r8]
+	mov	DWORD[4+r8],esi
+	mov	ebx,esi
+	mov	DWORD[8+r8],ecx
+	mov	edi,ecx
+	mov	DWORD[12+r8],edx
+	xor	edi,edx
+	mov	DWORD[16+r8],ebp
+	and	esi,edi
+	jmp	NEAR $L$oop_avx
+
+ALIGN	16
+$L$done_avx:
+	add	ebx,DWORD[16+rsp]
+	xor	esi,ebp
+	mov	edi,ecx
+	shld	ecx,ecx,5
+	add	ebx,esi
+	xor	edi,ebp
+	shrd	edx,edx,7
+	add	ebx,ecx
+	add	eax,DWORD[20+rsp]
+	xor	edi,edx
+	mov	esi,ebx
+	shld	ebx,ebx,5
+	add	eax,edi
+	xor	esi,edx
+	shrd	ecx,ecx,7
+	add	eax,ebx
+	add	ebp,DWORD[24+rsp]
+	xor	esi,ecx
+	mov	edi,eax
+	shld	eax,eax,5
+	add	ebp,esi
+	xor	edi,ecx
+	shrd	ebx,ebx,7
+	add	ebp,eax
+	add	edx,DWORD[28+rsp]
+	xor	edi,ebx
+	mov	esi,ebp
+	shld	ebp,ebp,5
+	add	edx,edi
+	xor	esi,ebx
+	shrd	eax,eax,7
+	add	edx,ebp
+	add	ecx,DWORD[32+rsp]
+	xor	esi,eax
+	mov	edi,edx
+	shld	edx,edx,5
+	add	ecx,esi
+	xor	edi,eax
+	shrd	ebp,ebp,7
+	add	ecx,edx
+	add	ebx,DWORD[36+rsp]
+	xor	edi,ebp
+	mov	esi,ecx
+	shld	ecx,ecx,5
+	add	ebx,edi
+	xor	esi,ebp
+	shrd	edx,edx,7
+	add	ebx,ecx
+	add	eax,DWORD[40+rsp]
+	xor	esi,edx
+	mov	edi,ebx
+	shld	ebx,ebx,5
+	add	eax,esi
+	xor	edi,edx
+	shrd	ecx,ecx,7
+	add	eax,ebx
+	add	ebp,DWORD[44+rsp]
+	xor	edi,ecx
+	mov	esi,eax
+	shld	eax,eax,5
+	add	ebp,edi
+	xor	esi,ecx
+	shrd	ebx,ebx,7
+	add	ebp,eax
+	add	edx,DWORD[48+rsp]
+	xor	esi,ebx
+	mov	edi,ebp
+	shld	ebp,ebp,5
+	add	edx,esi
+	xor	edi,ebx
+	shrd	eax,eax,7
+	add	edx,ebp
+	add	ecx,DWORD[52+rsp]
+	xor	edi,eax
+	mov	esi,edx
+	shld	edx,edx,5
+	add	ecx,edi
+	xor	esi,eax
+	shrd	ebp,ebp,7
+	add	ecx,edx
+	add	ebx,DWORD[56+rsp]
+	xor	esi,ebp
+	mov	edi,ecx
+	shld	ecx,ecx,5
+	add	ebx,esi
+	xor	edi,ebp
+	shrd	edx,edx,7
+	add	ebx,ecx
+	add	eax,DWORD[60+rsp]
+	xor	edi,edx
+	mov	esi,ebx
+	shld	ebx,ebx,5
+	add	eax,edi
+	shrd	ecx,ecx,7
+	add	eax,ebx
+	vzeroupper
+
+	add	eax,DWORD[r8]
+	add	esi,DWORD[4+r8]
+	add	ecx,DWORD[8+r8]
+	mov	DWORD[r8],eax
+	add	edx,DWORD[12+r8]
+	mov	DWORD[4+r8],esi
+	add	ebp,DWORD[16+r8]
+	mov	DWORD[8+r8],ecx
+	mov	DWORD[12+r8],edx
+	mov	DWORD[16+r8],ebp
+	movaps	xmm6,XMMWORD[((-40-96))+r11]
+	movaps	xmm7,XMMWORD[((-40-80))+r11]
+	movaps	xmm8,XMMWORD[((-40-64))+r11]
+	movaps	xmm9,XMMWORD[((-40-48))+r11]
+	movaps	xmm10,XMMWORD[((-40-32))+r11]
+	movaps	xmm11,XMMWORD[((-40-16))+r11]
+	mov	r14,QWORD[((-40))+r11]
+	mov	r13,QWORD[((-32))+r11]
+	mov	r12,QWORD[((-24))+r11]
+	mov	rbp,QWORD[((-16))+r11]
+	mov	rbx,QWORD[((-8))+r11]
+	lea	rsp,[r11]
+$L$epilogue_avx:
+	mov	rdi,QWORD[8+rsp]	;WIN64 epilogue
+	mov	rsi,QWORD[16+rsp]
+	DB	0F3h,0C3h		;repret
+$L$SEH_end_sha1_block_data_order_avx:
+ALIGN	64
+K_XX_XX:
+	DD	0x5a827999,0x5a827999,0x5a827999,0x5a827999
+	DD	0x5a827999,0x5a827999,0x5a827999,0x5a827999
+	DD	0x6ed9eba1,0x6ed9eba1,0x6ed9eba1,0x6ed9eba1
+	DD	0x6ed9eba1,0x6ed9eba1,0x6ed9eba1,0x6ed9eba1
+	DD	0x8f1bbcdc,0x8f1bbcdc,0x8f1bbcdc,0x8f1bbcdc
+	DD	0x8f1bbcdc,0x8f1bbcdc,0x8f1bbcdc,0x8f1bbcdc
+	DD	0xca62c1d6,0xca62c1d6,0xca62c1d6,0xca62c1d6
+	DD	0xca62c1d6,0xca62c1d6,0xca62c1d6,0xca62c1d6
+	DD	0x00010203,0x04050607,0x08090a0b,0x0c0d0e0f
+	DD	0x00010203,0x04050607,0x08090a0b,0x0c0d0e0f
+DB	0xf,0xe,0xd,0xc,0xb,0xa,0x9,0x8,0x7,0x6,0x5,0x4,0x3,0x2,0x1,0x0
+DB	83,72,65,49,32,98,108,111,99,107,32,116,114,97,110,115
+DB	102,111,114,109,32,102,111,114,32,120,56,54,95,54,52,44
+DB	32,67,82,89,80,84,79,71,65,77,83,32,98,121,32,60
+DB	97,112,112,114,111,64,111,112,101,110,115,115,108,46,111,114
+DB	103,62,0
+ALIGN	64
+EXTERN	__imp_RtlVirtualUnwind
+
+ALIGN	16
+se_handler:
+	push	rsi
+	push	rdi
+	push	rbx
+	push	rbp
+	push	r12
+	push	r13
+	push	r14
+	push	r15
+	pushfq
+	sub	rsp,64
+
+	mov	rax,QWORD[120+r8]
+	mov	rbx,QWORD[248+r8]
+
+	lea	r10,[$L$prologue]
+	cmp	rbx,r10
+	jb	NEAR $L$common_seh_tail
+
+	mov	rax,QWORD[152+r8]
+
+	lea	r10,[$L$epilogue]
+	cmp	rbx,r10
+	jae	NEAR $L$common_seh_tail
+
+	mov	rax,QWORD[64+rax]
+
+	mov	rbx,QWORD[((-8))+rax]
+	mov	rbp,QWORD[((-16))+rax]
+	mov	r12,QWORD[((-24))+rax]
+	mov	r13,QWORD[((-32))+rax]
+	mov	r14,QWORD[((-40))+rax]
+	mov	QWORD[144+r8],rbx
+	mov	QWORD[160+r8],rbp
+	mov	QWORD[216+r8],r12
+	mov	QWORD[224+r8],r13
+	mov	QWORD[232+r8],r14
+
+	jmp	NEAR $L$common_seh_tail
+
+
+ALIGN	16
+ssse3_handler:
+	push	rsi
+	push	rdi
+	push	rbx
+	push	rbp
+	push	r12
+	push	r13
+	push	r14
+	push	r15
+	pushfq
+	sub	rsp,64
+
+	mov	rax,QWORD[120+r8]
+	mov	rbx,QWORD[248+r8]
+
+	mov	rsi,QWORD[8+r9]
+	mov	r11,QWORD[56+r9]
+
+	mov	r10d,DWORD[r11]
+	lea	r10,[r10*1+rsi]
+	cmp	rbx,r10
+	jb	NEAR $L$common_seh_tail
+
+	mov	rax,QWORD[208+r8]
+
+	mov	r10d,DWORD[4+r11]
+	lea	r10,[r10*1+rsi]
+	cmp	rbx,r10
+	jae	NEAR $L$common_seh_tail
+
+	lea	rsi,[((-40-96))+rax]
+	lea	rdi,[512+r8]
+	mov	ecx,12
+	DD	0xa548f3fc
+
+	mov	rbx,QWORD[((-8))+rax]
+	mov	rbp,QWORD[((-16))+rax]
+	mov	r12,QWORD[((-24))+rax]
+	mov	r13,QWORD[((-32))+rax]
+	mov	r14,QWORD[((-40))+rax]
+	mov	QWORD[144+r8],rbx
+	mov	QWORD[160+r8],rbp
+	mov	QWORD[216+r8],r12
+	mov	QWORD[224+r8],r13
+	mov	QWORD[232+r8],r14
+
+$L$common_seh_tail:
+	mov	rdi,QWORD[8+rax]
+	mov	rsi,QWORD[16+rax]
+	mov	QWORD[152+r8],rax
+	mov	QWORD[168+r8],rsi
+	mov	QWORD[176+r8],rdi
+
+	mov	rdi,QWORD[40+r9]
+	mov	rsi,r8
+	mov	ecx,154
+	DD	0xa548f3fc
+
+	mov	rsi,r9
+	xor	rcx,rcx
+	mov	rdx,QWORD[8+rsi]
+	mov	r8,QWORD[rsi]
+	mov	r9,QWORD[16+rsi]
+	mov	r10,QWORD[40+rsi]
+	lea	r11,[56+rsi]
+	lea	r12,[24+rsi]
+	mov	QWORD[32+rsp],r10
+	mov	QWORD[40+rsp],r11
+	mov	QWORD[48+rsp],r12
+	mov	QWORD[56+rsp],rcx
+	call	QWORD[__imp_RtlVirtualUnwind]
+
+	mov	eax,1
+	add	rsp,64
+	popfq
+	pop	r15
+	pop	r14
+	pop	r13
+	pop	r12
+	pop	rbp
+	pop	rbx
+	pop	rdi
+	pop	rsi
+	DB	0F3h,0C3h		;repret
+
+
+section	.pdata rdata align=4
+ALIGN	4
+	DD	$L$SEH_begin_sha1_block_data_order wrt ..imagebase
+	DD	$L$SEH_end_sha1_block_data_order wrt ..imagebase
+	DD	$L$SEH_info_sha1_block_data_order wrt ..imagebase
+	DD	$L$SEH_begin_sha1_block_data_order_ssse3 wrt ..imagebase
+	DD	$L$SEH_end_sha1_block_data_order_ssse3 wrt ..imagebase
+	DD	$L$SEH_info_sha1_block_data_order_ssse3 wrt ..imagebase
+	DD	$L$SEH_begin_sha1_block_data_order_avx wrt ..imagebase
+	DD	$L$SEH_end_sha1_block_data_order_avx wrt ..imagebase
+	DD	$L$SEH_info_sha1_block_data_order_avx wrt ..imagebase
+section	.xdata rdata align=8
+ALIGN	8
+$L$SEH_info_sha1_block_data_order:
+DB	9,0,0,0
+	DD	se_handler wrt ..imagebase
+$L$SEH_info_sha1_block_data_order_ssse3:
+DB	9,0,0,0
+	DD	ssse3_handler wrt ..imagebase
+	DD	$L$prologue_ssse3 wrt ..imagebase,$L$epilogue_ssse3 wrt ..imagebase
+$L$SEH_info_sha1_block_data_order_avx:
+DB	9,0,0,0
+	DD	ssse3_handler wrt ..imagebase
+	DD	$L$prologue_avx wrt ..imagebase,$L$epilogue_avx wrt ..imagebase
diff --git a/third_party/boringssl/win-x86_64/crypto/fipsmodule/sha256-x86_64.asm b/third_party/boringssl/win-x86_64/crypto/fipsmodule/sha256-x86_64.asm
new file mode 100644
index 0000000..68da567
--- /dev/null
+++ b/third_party/boringssl/win-x86_64/crypto/fipsmodule/sha256-x86_64.asm
@@ -0,0 +1,4083 @@
+default	rel
+%define XMMWORD
+%define YMMWORD
+%define ZMMWORD
+section	.text code align=64
+
+
+EXTERN	OPENSSL_ia32cap_addr
+global	sha256_block_data_order
+
+ALIGN	16
+sha256_block_data_order:
+	mov	QWORD[8+rsp],rdi	;WIN64 prologue
+	mov	QWORD[16+rsp],rsi
+	mov	rax,rsp
+$L$SEH_begin_sha256_block_data_order:
+	mov	rdi,rcx
+	mov	rsi,rdx
+	mov	rdx,r8
+
+
+	lea	r11,[OPENSSL_ia32cap_addr]
+	mov	r11,QWORD[r11]
+	mov	r9d,DWORD[r11]
+	mov	r10d,DWORD[4+r11]
+	mov	r11d,DWORD[8+r11]
+	and	r9d,1073741824
+	and	r10d,268435968
+	or	r10d,r9d
+	cmp	r10d,1342177792
+	je	NEAR $L$avx_shortcut
+	test	r10d,512
+	jnz	NEAR $L$ssse3_shortcut
+	mov	rax,rsp
+	push	rbx
+	push	rbp
+	push	r12
+	push	r13
+	push	r14
+	push	r15
+	shl	rdx,4
+	sub	rsp,16*4+4*8
+	lea	rdx,[rdx*4+rsi]
+	and	rsp,-64
+	mov	QWORD[((64+0))+rsp],rdi
+	mov	QWORD[((64+8))+rsp],rsi
+	mov	QWORD[((64+16))+rsp],rdx
+	mov	QWORD[((64+24))+rsp],rax
+$L$prologue:
+
+	mov	eax,DWORD[rdi]
+	mov	ebx,DWORD[4+rdi]
+	mov	ecx,DWORD[8+rdi]
+	mov	edx,DWORD[12+rdi]
+	mov	r8d,DWORD[16+rdi]
+	mov	r9d,DWORD[20+rdi]
+	mov	r10d,DWORD[24+rdi]
+	mov	r11d,DWORD[28+rdi]
+
+	jmp	NEAR $L$loop
+
+ALIGN	16
+$L$loop:
+	mov	edi,ebx
+	lea	rbp,[K256]
+	xor	edi,ecx
+	mov	r12d,DWORD[rsi]
+	mov	r13d,r8d
+	mov	r14d,eax
+	bswap	r12d
+	ror	r13d,14
+	mov	r15d,r9d
+
+	xor	r13d,r8d
+	ror	r14d,9
+	xor	r15d,r10d
+
+	mov	DWORD[rsp],r12d
+	xor	r14d,eax
+	and	r15d,r8d
+
+	ror	r13d,5
+	add	r12d,r11d
+	xor	r15d,r10d
+
+	ror	r14d,11
+	xor	r13d,r8d
+	add	r12d,r15d
+
+	mov	r15d,eax
+	add	r12d,DWORD[rbp]
+	xor	r14d,eax
+
+	xor	r15d,ebx
+	ror	r13d,6
+	mov	r11d,ebx
+
+	and	edi,r15d
+	ror	r14d,2
+	add	r12d,r13d
+
+	xor	r11d,edi
+	add	edx,r12d
+	add	r11d,r12d
+
+	lea	rbp,[4+rbp]
+	add	r11d,r14d
+	mov	r12d,DWORD[4+rsi]
+	mov	r13d,edx
+	mov	r14d,r11d
+	bswap	r12d
+	ror	r13d,14
+	mov	edi,r8d
+
+	xor	r13d,edx
+	ror	r14d,9
+	xor	edi,r9d
+
+	mov	DWORD[4+rsp],r12d
+	xor	r14d,r11d
+	and	edi,edx
+
+	ror	r13d,5
+	add	r12d,r10d
+	xor	edi,r9d
+
+	ror	r14d,11
+	xor	r13d,edx
+	add	r12d,edi
+
+	mov	edi,r11d
+	add	r12d,DWORD[rbp]
+	xor	r14d,r11d
+
+	xor	edi,eax
+	ror	r13d,6
+	mov	r10d,eax
+
+	and	r15d,edi
+	ror	r14d,2
+	add	r12d,r13d
+
+	xor	r10d,r15d
+	add	ecx,r12d
+	add	r10d,r12d
+
+	lea	rbp,[4+rbp]
+	add	r10d,r14d
+	mov	r12d,DWORD[8+rsi]
+	mov	r13d,ecx
+	mov	r14d,r10d
+	bswap	r12d
+	ror	r13d,14
+	mov	r15d,edx
+
+	xor	r13d,ecx
+	ror	r14d,9
+	xor	r15d,r8d
+
+	mov	DWORD[8+rsp],r12d
+	xor	r14d,r10d
+	and	r15d,ecx
+
+	ror	r13d,5
+	add	r12d,r9d
+	xor	r15d,r8d
+
+	ror	r14d,11
+	xor	r13d,ecx
+	add	r12d,r15d
+
+	mov	r15d,r10d
+	add	r12d,DWORD[rbp]
+	xor	r14d,r10d
+
+	xor	r15d,r11d
+	ror	r13d,6
+	mov	r9d,r11d
+
+	and	edi,r15d
+	ror	r14d,2
+	add	r12d,r13d
+
+	xor	r9d,edi
+	add	ebx,r12d
+	add	r9d,r12d
+
+	lea	rbp,[4+rbp]
+	add	r9d,r14d
+	mov	r12d,DWORD[12+rsi]
+	mov	r13d,ebx
+	mov	r14d,r9d
+	bswap	r12d
+	ror	r13d,14
+	mov	edi,ecx
+
+	xor	r13d,ebx
+	ror	r14d,9
+	xor	edi,edx
+
+	mov	DWORD[12+rsp],r12d
+	xor	r14d,r9d
+	and	edi,ebx
+
+	ror	r13d,5
+	add	r12d,r8d
+	xor	edi,edx
+
+	ror	r14d,11
+	xor	r13d,ebx
+	add	r12d,edi
+
+	mov	edi,r9d
+	add	r12d,DWORD[rbp]
+	xor	r14d,r9d
+
+	xor	edi,r10d
+	ror	r13d,6
+	mov	r8d,r10d
+
+	and	r15d,edi
+	ror	r14d,2
+	add	r12d,r13d
+
+	xor	r8d,r15d
+	add	eax,r12d
+	add	r8d,r12d
+
+	lea	rbp,[20+rbp]
+	add	r8d,r14d
+	mov	r12d,DWORD[16+rsi]
+	mov	r13d,eax
+	mov	r14d,r8d
+	bswap	r12d
+	ror	r13d,14
+	mov	r15d,ebx
+
+	xor	r13d,eax
+	ror	r14d,9
+	xor	r15d,ecx
+
+	mov	DWORD[16+rsp],r12d
+	xor	r14d,r8d
+	and	r15d,eax
+
+	ror	r13d,5
+	add	r12d,edx
+	xor	r15d,ecx
+
+	ror	r14d,11
+	xor	r13d,eax
+	add	r12d,r15d
+
+	mov	r15d,r8d
+	add	r12d,DWORD[rbp]
+	xor	r14d,r8d
+
+	xor	r15d,r9d
+	ror	r13d,6
+	mov	edx,r9d
+
+	and	edi,r15d
+	ror	r14d,2
+	add	r12d,r13d
+
+	xor	edx,edi
+	add	r11d,r12d
+	add	edx,r12d
+
+	lea	rbp,[4+rbp]
+	add	edx,r14d
+	mov	r12d,DWORD[20+rsi]
+	mov	r13d,r11d
+	mov	r14d,edx
+	bswap	r12d
+	ror	r13d,14
+	mov	edi,eax
+
+	xor	r13d,r11d
+	ror	r14d,9
+	xor	edi,ebx
+
+	mov	DWORD[20+rsp],r12d
+	xor	r14d,edx
+	and	edi,r11d
+
+	ror	r13d,5
+	add	r12d,ecx
+	xor	edi,ebx
+
+	ror	r14d,11
+	xor	r13d,r11d
+	add	r12d,edi
+
+	mov	edi,edx
+	add	r12d,DWORD[rbp]
+	xor	r14d,edx
+
+	xor	edi,r8d
+	ror	r13d,6
+	mov	ecx,r8d
+
+	and	r15d,edi
+	ror	r14d,2
+	add	r12d,r13d
+
+	xor	ecx,r15d
+	add	r10d,r12d
+	add	ecx,r12d
+
+	lea	rbp,[4+rbp]
+	add	ecx,r14d
+	mov	r12d,DWORD[24+rsi]
+	mov	r13d,r10d
+	mov	r14d,ecx
+	bswap	r12d
+	ror	r13d,14
+	mov	r15d,r11d
+
+	xor	r13d,r10d
+	ror	r14d,9
+	xor	r15d,eax
+
+	mov	DWORD[24+rsp],r12d
+	xor	r14d,ecx
+	and	r15d,r10d
+
+	ror	r13d,5
+	add	r12d,ebx
+	xor	r15d,eax
+
+	ror	r14d,11
+	xor	r13d,r10d
+	add	r12d,r15d
+
+	mov	r15d,ecx
+	add	r12d,DWORD[rbp]
+	xor	r14d,ecx
+
+	xor	r15d,edx
+	ror	r13d,6
+	mov	ebx,edx
+
+	and	edi,r15d
+	ror	r14d,2
+	add	r12d,r13d
+
+	xor	ebx,edi
+	add	r9d,r12d
+	add	ebx,r12d
+
+	lea	rbp,[4+rbp]
+	add	ebx,r14d
+	mov	r12d,DWORD[28+rsi]
+	mov	r13d,r9d
+	mov	r14d,ebx
+	bswap	r12d
+	ror	r13d,14
+	mov	edi,r10d
+
+	xor	r13d,r9d
+	ror	r14d,9
+	xor	edi,r11d
+
+	mov	DWORD[28+rsp],r12d
+	xor	r14d,ebx
+	and	edi,r9d
+
+	ror	r13d,5
+	add	r12d,eax
+	xor	edi,r11d
+
+	ror	r14d,11
+	xor	r13d,r9d
+	add	r12d,edi
+
+	mov	edi,ebx
+	add	r12d,DWORD[rbp]
+	xor	r14d,ebx
+
+	xor	edi,ecx
+	ror	r13d,6
+	mov	eax,ecx
+
+	and	r15d,edi
+	ror	r14d,2
+	add	r12d,r13d
+
+	xor	eax,r15d
+	add	r8d,r12d
+	add	eax,r12d
+
+	lea	rbp,[20+rbp]
+	add	eax,r14d
+	mov	r12d,DWORD[32+rsi]
+	mov	r13d,r8d
+	mov	r14d,eax
+	bswap	r12d
+	ror	r13d,14
+	mov	r15d,r9d
+
+	xor	r13d,r8d
+	ror	r14d,9
+	xor	r15d,r10d
+
+	mov	DWORD[32+rsp],r12d
+	xor	r14d,eax
+	and	r15d,r8d
+
+	ror	r13d,5
+	add	r12d,r11d
+	xor	r15d,r10d
+
+	ror	r14d,11
+	xor	r13d,r8d
+	add	r12d,r15d
+
+	mov	r15d,eax
+	add	r12d,DWORD[rbp]
+	xor	r14d,eax
+
+	xor	r15d,ebx
+	ror	r13d,6
+	mov	r11d,ebx
+
+	and	edi,r15d
+	ror	r14d,2
+	add	r12d,r13d
+
+	xor	r11d,edi
+	add	edx,r12d
+	add	r11d,r12d
+
+	lea	rbp,[4+rbp]
+	add	r11d,r14d
+	mov	r12d,DWORD[36+rsi]
+	mov	r13d,edx
+	mov	r14d,r11d
+	bswap	r12d
+	ror	r13d,14
+	mov	edi,r8d
+
+	xor	r13d,edx
+	ror	r14d,9
+	xor	edi,r9d
+
+	mov	DWORD[36+rsp],r12d
+	xor	r14d,r11d
+	and	edi,edx
+
+	ror	r13d,5
+	add	r12d,r10d
+	xor	edi,r9d
+
+	ror	r14d,11
+	xor	r13d,edx
+	add	r12d,edi
+
+	mov	edi,r11d
+	add	r12d,DWORD[rbp]
+	xor	r14d,r11d
+
+	xor	edi,eax
+	ror	r13d,6
+	mov	r10d,eax
+
+	and	r15d,edi
+	ror	r14d,2
+	add	r12d,r13d
+
+	xor	r10d,r15d
+	add	ecx,r12d
+	add	r10d,r12d
+
+	lea	rbp,[4+rbp]
+	add	r10d,r14d
+	mov	r12d,DWORD[40+rsi]
+	mov	r13d,ecx
+	mov	r14d,r10d
+	bswap	r12d
+	ror	r13d,14
+	mov	r15d,edx
+
+	xor	r13d,ecx
+	ror	r14d,9
+	xor	r15d,r8d
+
+	mov	DWORD[40+rsp],r12d
+	xor	r14d,r10d
+	and	r15d,ecx
+
+	ror	r13d,5
+	add	r12d,r9d
+	xor	r15d,r8d
+
+	ror	r14d,11
+	xor	r13d,ecx
+	add	r12d,r15d
+
+	mov	r15d,r10d
+	add	r12d,DWORD[rbp]
+	xor	r14d,r10d
+
+	xor	r15d,r11d
+	ror	r13d,6
+	mov	r9d,r11d
+
+	and	edi,r15d
+	ror	r14d,2
+	add	r12d,r13d
+
+	xor	r9d,edi
+	add	ebx,r12d
+	add	r9d,r12d
+
+	lea	rbp,[4+rbp]
+	add	r9d,r14d
+	mov	r12d,DWORD[44+rsi]
+	mov	r13d,ebx
+	mov	r14d,r9d
+	bswap	r12d
+	ror	r13d,14
+	mov	edi,ecx
+
+	xor	r13d,ebx
+	ror	r14d,9
+	xor	edi,edx
+
+	mov	DWORD[44+rsp],r12d
+	xor	r14d,r9d
+	and	edi,ebx
+
+	ror	r13d,5
+	add	r12d,r8d
+	xor	edi,edx
+
+	ror	r14d,11
+	xor	r13d,ebx
+	add	r12d,edi
+
+	mov	edi,r9d
+	add	r12d,DWORD[rbp]
+	xor	r14d,r9d
+
+	xor	edi,r10d
+	ror	r13d,6
+	mov	r8d,r10d
+
+	and	r15d,edi
+	ror	r14d,2
+	add	r12d,r13d
+
+	xor	r8d,r15d
+	add	eax,r12d
+	add	r8d,r12d
+
+	lea	rbp,[20+rbp]
+	add	r8d,r14d
+	mov	r12d,DWORD[48+rsi]
+	mov	r13d,eax
+	mov	r14d,r8d
+	bswap	r12d
+	ror	r13d,14
+	mov	r15d,ebx
+
+	xor	r13d,eax
+	ror	r14d,9
+	xor	r15d,ecx
+
+	mov	DWORD[48+rsp],r12d
+	xor	r14d,r8d
+	and	r15d,eax
+
+	ror	r13d,5
+	add	r12d,edx
+	xor	r15d,ecx
+
+	ror	r14d,11
+	xor	r13d,eax
+	add	r12d,r15d
+
+	mov	r15d,r8d
+	add	r12d,DWORD[rbp]
+	xor	r14d,r8d
+
+	xor	r15d,r9d
+	ror	r13d,6
+	mov	edx,r9d
+
+	and	edi,r15d
+	ror	r14d,2
+	add	r12d,r13d
+
+	xor	edx,edi
+	add	r11d,r12d
+	add	edx,r12d
+
+	lea	rbp,[4+rbp]
+	add	edx,r14d
+	mov	r12d,DWORD[52+rsi]
+	mov	r13d,r11d
+	mov	r14d,edx
+	bswap	r12d
+	ror	r13d,14
+	mov	edi,eax
+
+	xor	r13d,r11d
+	ror	r14d,9
+	xor	edi,ebx
+
+	mov	DWORD[52+rsp],r12d
+	xor	r14d,edx
+	and	edi,r11d
+
+	ror	r13d,5
+	add	r12d,ecx
+	xor	edi,ebx
+
+	ror	r14d,11
+	xor	r13d,r11d
+	add	r12d,edi
+
+	mov	edi,edx
+	add	r12d,DWORD[rbp]
+	xor	r14d,edx
+
+	xor	edi,r8d
+	ror	r13d,6
+	mov	ecx,r8d
+
+	and	r15d,edi
+	ror	r14d,2
+	add	r12d,r13d
+
+	xor	ecx,r15d
+	add	r10d,r12d
+	add	ecx,r12d
+
+	lea	rbp,[4+rbp]
+	add	ecx,r14d
+	mov	r12d,DWORD[56+rsi]
+	mov	r13d,r10d
+	mov	r14d,ecx
+	bswap	r12d
+	ror	r13d,14
+	mov	r15d,r11d
+
+	xor	r13d,r10d
+	ror	r14d,9
+	xor	r15d,eax
+
+	mov	DWORD[56+rsp],r12d
+	xor	r14d,ecx
+	and	r15d,r10d
+
+	ror	r13d,5
+	add	r12d,ebx
+	xor	r15d,eax
+
+	ror	r14d,11
+	xor	r13d,r10d
+	add	r12d,r15d
+
+	mov	r15d,ecx
+	add	r12d,DWORD[rbp]
+	xor	r14d,ecx
+
+	xor	r15d,edx
+	ror	r13d,6
+	mov	ebx,edx
+
+	and	edi,r15d
+	ror	r14d,2
+	add	r12d,r13d
+
+	xor	ebx,edi
+	add	r9d,r12d
+	add	ebx,r12d
+
+	lea	rbp,[4+rbp]
+	add	ebx,r14d
+	mov	r12d,DWORD[60+rsi]
+	mov	r13d,r9d
+	mov	r14d,ebx
+	bswap	r12d
+	ror	r13d,14
+	mov	edi,r10d
+
+	xor	r13d,r9d
+	ror	r14d,9
+	xor	edi,r11d
+
+	mov	DWORD[60+rsp],r12d
+	xor	r14d,ebx
+	and	edi,r9d
+
+	ror	r13d,5
+	add	r12d,eax
+	xor	edi,r11d
+
+	ror	r14d,11
+	xor	r13d,r9d
+	add	r12d,edi
+
+	mov	edi,ebx
+	add	r12d,DWORD[rbp]
+	xor	r14d,ebx
+
+	xor	edi,ecx
+	ror	r13d,6
+	mov	eax,ecx
+
+	and	r15d,edi
+	ror	r14d,2
+	add	r12d,r13d
+
+	xor	eax,r15d
+	add	r8d,r12d
+	add	eax,r12d
+
+	lea	rbp,[20+rbp]
+	jmp	NEAR $L$rounds_16_xx
+ALIGN	16
+$L$rounds_16_xx:
+	mov	r13d,DWORD[4+rsp]
+	mov	r15d,DWORD[56+rsp]
+
+	mov	r12d,r13d
+	ror	r13d,11
+	add	eax,r14d
+	mov	r14d,r15d
+	ror	r15d,2
+
+	xor	r13d,r12d
+	shr	r12d,3
+	ror	r13d,7
+	xor	r15d,r14d
+	shr	r14d,10
+
+	ror	r15d,17
+	xor	r12d,r13d
+	xor	r15d,r14d
+	add	r12d,DWORD[36+rsp]
+
+	add	r12d,DWORD[rsp]
+	mov	r13d,r8d
+	add	r12d,r15d
+	mov	r14d,eax
+	ror	r13d,14
+	mov	r15d,r9d
+
+	xor	r13d,r8d
+	ror	r14d,9
+	xor	r15d,r10d
+
+	mov	DWORD[rsp],r12d
+	xor	r14d,eax
+	and	r15d,r8d
+
+	ror	r13d,5
+	add	r12d,r11d
+	xor	r15d,r10d
+
+	ror	r14d,11
+	xor	r13d,r8d
+	add	r12d,r15d
+
+	mov	r15d,eax
+	add	r12d,DWORD[rbp]
+	xor	r14d,eax
+
+	xor	r15d,ebx
+	ror	r13d,6
+	mov	r11d,ebx
+
+	and	edi,r15d
+	ror	r14d,2
+	add	r12d,r13d
+
+	xor	r11d,edi
+	add	edx,r12d
+	add	r11d,r12d
+
+	lea	rbp,[4+rbp]
+	mov	r13d,DWORD[8+rsp]
+	mov	edi,DWORD[60+rsp]
+
+	mov	r12d,r13d
+	ror	r13d,11
+	add	r11d,r14d
+	mov	r14d,edi
+	ror	edi,2
+
+	xor	r13d,r12d
+	shr	r12d,3
+	ror	r13d,7
+	xor	edi,r14d
+	shr	r14d,10
+
+	ror	edi,17
+	xor	r12d,r13d
+	xor	edi,r14d
+	add	r12d,DWORD[40+rsp]
+
+	add	r12d,DWORD[4+rsp]
+	mov	r13d,edx
+	add	r12d,edi
+	mov	r14d,r11d
+	ror	r13d,14
+	mov	edi,r8d
+
+	xor	r13d,edx
+	ror	r14d,9
+	xor	edi,r9d
+
+	mov	DWORD[4+rsp],r12d
+	xor	r14d,r11d
+	and	edi,edx
+
+	ror	r13d,5
+	add	r12d,r10d
+	xor	edi,r9d
+
+	ror	r14d,11
+	xor	r13d,edx
+	add	r12d,edi
+
+	mov	edi,r11d
+	add	r12d,DWORD[rbp]
+	xor	r14d,r11d
+
+	xor	edi,eax
+	ror	r13d,6
+	mov	r10d,eax
+
+	and	r15d,edi
+	ror	r14d,2
+	add	r12d,r13d
+
+	xor	r10d,r15d
+	add	ecx,r12d
+	add	r10d,r12d
+
+	lea	rbp,[4+rbp]
+	mov	r13d,DWORD[12+rsp]
+	mov	r15d,DWORD[rsp]
+
+	mov	r12d,r13d
+	ror	r13d,11
+	add	r10d,r14d
+	mov	r14d,r15d
+	ror	r15d,2
+
+	xor	r13d,r12d
+	shr	r12d,3
+	ror	r13d,7
+	xor	r15d,r14d
+	shr	r14d,10
+
+	ror	r15d,17
+	xor	r12d,r13d
+	xor	r15d,r14d
+	add	r12d,DWORD[44+rsp]
+
+	add	r12d,DWORD[8+rsp]
+	mov	r13d,ecx
+	add	r12d,r15d
+	mov	r14d,r10d
+	ror	r13d,14
+	mov	r15d,edx
+
+	xor	r13d,ecx
+	ror	r14d,9
+	xor	r15d,r8d
+
+	mov	DWORD[8+rsp],r12d
+	xor	r14d,r10d
+	and	r15d,ecx
+
+	ror	r13d,5
+	add	r12d,r9d
+	xor	r15d,r8d
+
+	ror	r14d,11
+	xor	r13d,ecx
+	add	r12d,r15d
+
+	mov	r15d,r10d
+	add	r12d,DWORD[rbp]
+	xor	r14d,r10d
+
+	xor	r15d,r11d
+	ror	r13d,6
+	mov	r9d,r11d
+
+	and	edi,r15d
+	ror	r14d,2
+	add	r12d,r13d
+
+	xor	r9d,edi
+	add	ebx,r12d
+	add	r9d,r12d
+
+	lea	rbp,[4+rbp]
+	mov	r13d,DWORD[16+rsp]
+	mov	edi,DWORD[4+rsp]
+
+	mov	r12d,r13d
+	ror	r13d,11
+	add	r9d,r14d
+	mov	r14d,edi
+	ror	edi,2
+
+	xor	r13d,r12d
+	shr	r12d,3
+	ror	r13d,7
+	xor	edi,r14d
+	shr	r14d,10
+
+	ror	edi,17
+	xor	r12d,r13d
+	xor	edi,r14d
+	add	r12d,DWORD[48+rsp]
+
+	add	r12d,DWORD[12+rsp]
+	mov	r13d,ebx
+	add	r12d,edi
+	mov	r14d,r9d
+	ror	r13d,14
+	mov	edi,ecx
+
+	xor	r13d,ebx
+	ror	r14d,9
+	xor	edi,edx
+
+	mov	DWORD[12+rsp],r12d
+	xor	r14d,r9d
+	and	edi,ebx
+
+	ror	r13d,5
+	add	r12d,r8d
+	xor	edi,edx
+
+	ror	r14d,11
+	xor	r13d,ebx
+	add	r12d,edi
+
+	mov	edi,r9d
+	add	r12d,DWORD[rbp]
+	xor	r14d,r9d
+
+	xor	edi,r10d
+	ror	r13d,6
+	mov	r8d,r10d
+
+	and	r15d,edi
+	ror	r14d,2
+	add	r12d,r13d
+
+	xor	r8d,r15d
+	add	eax,r12d
+	add	r8d,r12d
+
+	lea	rbp,[20+rbp]
+	mov	r13d,DWORD[20+rsp]
+	mov	r15d,DWORD[8+rsp]
+
+	mov	r12d,r13d
+	ror	r13d,11
+	add	r8d,r14d
+	mov	r14d,r15d
+	ror	r15d,2
+
+	xor	r13d,r12d
+	shr	r12d,3
+	ror	r13d,7
+	xor	r15d,r14d
+	shr	r14d,10
+
+	ror	r15d,17
+	xor	r12d,r13d
+	xor	r15d,r14d
+	add	r12d,DWORD[52+rsp]
+
+	add	r12d,DWORD[16+rsp]
+	mov	r13d,eax
+	add	r12d,r15d
+	mov	r14d,r8d
+	ror	r13d,14
+	mov	r15d,ebx
+
+	xor	r13d,eax
+	ror	r14d,9
+	xor	r15d,ecx
+
+	mov	DWORD[16+rsp],r12d
+	xor	r14d,r8d
+	and	r15d,eax
+
+	ror	r13d,5
+	add	r12d,edx
+	xor	r15d,ecx
+
+	ror	r14d,11
+	xor	r13d,eax
+	add	r12d,r15d
+
+	mov	r15d,r8d
+	add	r12d,DWORD[rbp]
+	xor	r14d,r8d
+
+	xor	r15d,r9d
+	ror	r13d,6
+	mov	edx,r9d
+
+	and	edi,r15d
+	ror	r14d,2
+	add	r12d,r13d
+
+	xor	edx,edi
+	add	r11d,r12d
+	add	edx,r12d
+
+	lea	rbp,[4+rbp]
+	mov	r13d,DWORD[24+rsp]
+	mov	edi,DWORD[12+rsp]
+
+	mov	r12d,r13d
+	ror	r13d,11
+	add	edx,r14d
+	mov	r14d,edi
+	ror	edi,2
+
+	xor	r13d,r12d
+	shr	r12d,3
+	ror	r13d,7
+	xor	edi,r14d
+	shr	r14d,10
+
+	ror	edi,17
+	xor	r12d,r13d
+	xor	edi,r14d
+	add	r12d,DWORD[56+rsp]
+
+	add	r12d,DWORD[20+rsp]
+	mov	r13d,r11d
+	add	r12d,edi
+	mov	r14d,edx
+	ror	r13d,14
+	mov	edi,eax
+
+	xor	r13d,r11d
+	ror	r14d,9
+	xor	edi,ebx
+
+	mov	DWORD[20+rsp],r12d
+	xor	r14d,edx
+	and	edi,r11d
+
+	ror	r13d,5
+	add	r12d,ecx
+	xor	edi,ebx
+
+	ror	r14d,11
+	xor	r13d,r11d
+	add	r12d,edi
+
+	mov	edi,edx
+	add	r12d,DWORD[rbp]
+	xor	r14d,edx
+
+	xor	edi,r8d
+	ror	r13d,6
+	mov	ecx,r8d
+
+	and	r15d,edi
+	ror	r14d,2
+	add	r12d,r13d
+
+	xor	ecx,r15d
+	add	r10d,r12d
+	add	ecx,r12d
+
+	lea	rbp,[4+rbp]
+	mov	r13d,DWORD[28+rsp]
+	mov	r15d,DWORD[16+rsp]
+
+	mov	r12d,r13d
+	ror	r13d,11
+	add	ecx,r14d
+	mov	r14d,r15d
+	ror	r15d,2
+
+	xor	r13d,r12d
+	shr	r12d,3
+	ror	r13d,7
+	xor	r15d,r14d
+	shr	r14d,10
+
+	ror	r15d,17
+	xor	r12d,r13d
+	xor	r15d,r14d
+	add	r12d,DWORD[60+rsp]
+
+	add	r12d,DWORD[24+rsp]
+	mov	r13d,r10d
+	add	r12d,r15d
+	mov	r14d,ecx
+	ror	r13d,14
+	mov	r15d,r11d
+
+	xor	r13d,r10d
+	ror	r14d,9
+	xor	r15d,eax
+
+	mov	DWORD[24+rsp],r12d
+	xor	r14d,ecx
+	and	r15d,r10d
+
+	ror	r13d,5
+	add	r12d,ebx
+	xor	r15d,eax
+
+	ror	r14d,11
+	xor	r13d,r10d
+	add	r12d,r15d
+
+	mov	r15d,ecx
+	add	r12d,DWORD[rbp]
+	xor	r14d,ecx
+
+	xor	r15d,edx
+	ror	r13d,6
+	mov	ebx,edx
+
+	and	edi,r15d
+	ror	r14d,2
+	add	r12d,r13d
+
+	xor	ebx,edi
+	add	r9d,r12d
+	add	ebx,r12d
+
+	lea	rbp,[4+rbp]
+	mov	r13d,DWORD[32+rsp]
+	mov	edi,DWORD[20+rsp]
+
+	mov	r12d,r13d
+	ror	r13d,11
+	add	ebx,r14d
+	mov	r14d,edi
+	ror	edi,2
+
+	xor	r13d,r12d
+	shr	r12d,3
+	ror	r13d,7
+	xor	edi,r14d
+	shr	r14d,10
+
+	ror	edi,17
+	xor	r12d,r13d
+	xor	edi,r14d
+	add	r12d,DWORD[rsp]
+
+	add	r12d,DWORD[28+rsp]
+	mov	r13d,r9d
+	add	r12d,edi
+	mov	r14d,ebx
+	ror	r13d,14
+	mov	edi,r10d
+
+	xor	r13d,r9d
+	ror	r14d,9
+	xor	edi,r11d
+
+	mov	DWORD[28+rsp],r12d
+	xor	r14d,ebx
+	and	edi,r9d
+
+	ror	r13d,5
+	add	r12d,eax
+	xor	edi,r11d
+
+	ror	r14d,11
+	xor	r13d,r9d
+	add	r12d,edi
+
+	mov	edi,ebx
+	add	r12d,DWORD[rbp]
+	xor	r14d,ebx
+
+	xor	edi,ecx
+	ror	r13d,6
+	mov	eax,ecx
+
+	and	r15d,edi
+	ror	r14d,2
+	add	r12d,r13d
+
+	xor	eax,r15d
+	add	r8d,r12d
+	add	eax,r12d
+
+	lea	rbp,[20+rbp]
+	mov	r13d,DWORD[36+rsp]
+	mov	r15d,DWORD[24+rsp]
+
+	mov	r12d,r13d
+	ror	r13d,11
+	add	eax,r14d
+	mov	r14d,r15d
+	ror	r15d,2
+
+	xor	r13d,r12d
+	shr	r12d,3
+	ror	r13d,7
+	xor	r15d,r14d
+	shr	r14d,10
+
+	ror	r15d,17
+	xor	r12d,r13d
+	xor	r15d,r14d
+	add	r12d,DWORD[4+rsp]
+
+	add	r12d,DWORD[32+rsp]
+	mov	r13d,r8d
+	add	r12d,r15d
+	mov	r14d,eax
+	ror	r13d,14
+	mov	r15d,r9d
+
+	xor	r13d,r8d
+	ror	r14d,9
+	xor	r15d,r10d
+
+	mov	DWORD[32+rsp],r12d
+	xor	r14d,eax
+	and	r15d,r8d
+
+	ror	r13d,5
+	add	r12d,r11d
+	xor	r15d,r10d
+
+	ror	r14d,11
+	xor	r13d,r8d
+	add	r12d,r15d
+
+	mov	r15d,eax
+	add	r12d,DWORD[rbp]
+	xor	r14d,eax
+
+	xor	r15d,ebx
+	ror	r13d,6
+	mov	r11d,ebx
+
+	and	edi,r15d
+	ror	r14d,2
+	add	r12d,r13d
+
+	xor	r11d,edi
+	add	edx,r12d
+	add	r11d,r12d
+
+	lea	rbp,[4+rbp]
+	mov	r13d,DWORD[40+rsp]
+	mov	edi,DWORD[28+rsp]
+
+	mov	r12d,r13d
+	ror	r13d,11
+	add	r11d,r14d
+	mov	r14d,edi
+	ror	edi,2
+
+	xor	r13d,r12d
+	shr	r12d,3
+	ror	r13d,7
+	xor	edi,r14d
+	shr	r14d,10
+
+	ror	edi,17
+	xor	r12d,r13d
+	xor	edi,r14d
+	add	r12d,DWORD[8+rsp]
+
+	add	r12d,DWORD[36+rsp]
+	mov	r13d,edx
+	add	r12d,edi
+	mov	r14d,r11d
+	ror	r13d,14
+	mov	edi,r8d
+
+	xor	r13d,edx
+	ror	r14d,9
+	xor	edi,r9d
+
+	mov	DWORD[36+rsp],r12d
+	xor	r14d,r11d
+	and	edi,edx
+
+	ror	r13d,5
+	add	r12d,r10d
+	xor	edi,r9d
+
+	ror	r14d,11
+	xor	r13d,edx
+	add	r12d,edi
+
+	mov	edi,r11d
+	add	r12d,DWORD[rbp]
+	xor	r14d,r11d
+
+	xor	edi,eax
+	ror	r13d,6
+	mov	r10d,eax
+
+	and	r15d,edi
+	ror	r14d,2
+	add	r12d,r13d
+
+	xor	r10d,r15d
+	add	ecx,r12d
+	add	r10d,r12d
+
+	lea	rbp,[4+rbp]
+	mov	r13d,DWORD[44+rsp]
+	mov	r15d,DWORD[32+rsp]
+
+	mov	r12d,r13d
+	ror	r13d,11
+	add	r10d,r14d
+	mov	r14d,r15d
+	ror	r15d,2
+
+	xor	r13d,r12d
+	shr	r12d,3
+	ror	r13d,7
+	xor	r15d,r14d
+	shr	r14d,10
+
+	ror	r15d,17
+	xor	r12d,r13d
+	xor	r15d,r14d
+	add	r12d,DWORD[12+rsp]
+
+	add	r12d,DWORD[40+rsp]
+	mov	r13d,ecx
+	add	r12d,r15d
+	mov	r14d,r10d
+	ror	r13d,14
+	mov	r15d,edx
+
+	xor	r13d,ecx
+	ror	r14d,9
+	xor	r15d,r8d
+
+	mov	DWORD[40+rsp],r12d
+	xor	r14d,r10d
+	and	r15d,ecx
+
+	ror	r13d,5
+	add	r12d,r9d
+	xor	r15d,r8d
+
+	ror	r14d,11
+	xor	r13d,ecx
+	add	r12d,r15d
+
+	mov	r15d,r10d
+	add	r12d,DWORD[rbp]
+	xor	r14d,r10d
+
+	xor	r15d,r11d
+	ror	r13d,6
+	mov	r9d,r11d
+
+	and	edi,r15d
+	ror	r14d,2
+	add	r12d,r13d
+
+	xor	r9d,edi
+	add	ebx,r12d
+	add	r9d,r12d
+
+	lea	rbp,[4+rbp]
+	mov	r13d,DWORD[48+rsp]
+	mov	edi,DWORD[36+rsp]
+
+	mov	r12d,r13d
+	ror	r13d,11
+	add	r9d,r14d
+	mov	r14d,edi
+	ror	edi,2
+
+	xor	r13d,r12d
+	shr	r12d,3
+	ror	r13d,7
+	xor	edi,r14d
+	shr	r14d,10
+
+	ror	edi,17
+	xor	r12d,r13d
+	xor	edi,r14d
+	add	r12d,DWORD[16+rsp]
+
+	add	r12d,DWORD[44+rsp]
+	mov	r13d,ebx
+	add	r12d,edi
+	mov	r14d,r9d
+	ror	r13d,14
+	mov	edi,ecx
+
+	xor	r13d,ebx
+	ror	r14d,9
+	xor	edi,edx
+
+	mov	DWORD[44+rsp],r12d
+	xor	r14d,r9d
+	and	edi,ebx
+
+	ror	r13d,5
+	add	r12d,r8d
+	xor	edi,edx
+
+	ror	r14d,11
+	xor	r13d,ebx
+	add	r12d,edi
+
+	mov	edi,r9d
+	add	r12d,DWORD[rbp]
+	xor	r14d,r9d
+
+	xor	edi,r10d
+	ror	r13d,6
+	mov	r8d,r10d
+
+	and	r15d,edi
+	ror	r14d,2
+	add	r12d,r13d
+
+	xor	r8d,r15d
+	add	eax,r12d
+	add	r8d,r12d
+
+	lea	rbp,[20+rbp]
+	mov	r13d,DWORD[52+rsp]
+	mov	r15d,DWORD[40+rsp]
+
+	mov	r12d,r13d
+	ror	r13d,11
+	add	r8d,r14d
+	mov	r14d,r15d
+	ror	r15d,2
+
+	xor	r13d,r12d
+	shr	r12d,3
+	ror	r13d,7
+	xor	r15d,r14d
+	shr	r14d,10
+
+	ror	r15d,17
+	xor	r12d,r13d
+	xor	r15d,r14d
+	add	r12d,DWORD[20+rsp]
+
+	add	r12d,DWORD[48+rsp]
+	mov	r13d,eax
+	add	r12d,r15d
+	mov	r14d,r8d
+	ror	r13d,14
+	mov	r15d,ebx
+
+	xor	r13d,eax
+	ror	r14d,9
+	xor	r15d,ecx
+
+	mov	DWORD[48+rsp],r12d
+	xor	r14d,r8d
+	and	r15d,eax
+
+	ror	r13d,5
+	add	r12d,edx
+	xor	r15d,ecx
+
+	ror	r14d,11
+	xor	r13d,eax
+	add	r12d,r15d
+
+	mov	r15d,r8d
+	add	r12d,DWORD[rbp]
+	xor	r14d,r8d
+
+	xor	r15d,r9d
+	ror	r13d,6
+	mov	edx,r9d
+
+	and	edi,r15d
+	ror	r14d,2
+	add	r12d,r13d
+
+	xor	edx,edi
+	add	r11d,r12d
+	add	edx,r12d
+
+	lea	rbp,[4+rbp]
+	mov	r13d,DWORD[56+rsp]
+	mov	edi,DWORD[44+rsp]
+
+	mov	r12d,r13d
+	ror	r13d,11
+	add	edx,r14d
+	mov	r14d,edi
+	ror	edi,2
+
+	xor	r13d,r12d
+	shr	r12d,3
+	ror	r13d,7
+	xor	edi,r14d
+	shr	r14d,10
+
+	ror	edi,17
+	xor	r12d,r13d
+	xor	edi,r14d
+	add	r12d,DWORD[24+rsp]
+
+	add	r12d,DWORD[52+rsp]
+	mov	r13d,r11d
+	add	r12d,edi
+	mov	r14d,edx
+	ror	r13d,14
+	mov	edi,eax
+
+	xor	r13d,r11d
+	ror	r14d,9
+	xor	edi,ebx
+
+	mov	DWORD[52+rsp],r12d
+	xor	r14d,edx
+	and	edi,r11d
+
+	ror	r13d,5
+	add	r12d,ecx
+	xor	edi,ebx
+
+	ror	r14d,11
+	xor	r13d,r11d
+	add	r12d,edi
+
+	mov	edi,edx
+	add	r12d,DWORD[rbp]
+	xor	r14d,edx
+
+	xor	edi,r8d
+	ror	r13d,6
+	mov	ecx,r8d
+
+	and	r15d,edi
+	ror	r14d,2
+	add	r12d,r13d
+
+	xor	ecx,r15d
+	add	r10d,r12d
+	add	ecx,r12d
+
+	lea	rbp,[4+rbp]
+	mov	r13d,DWORD[60+rsp]
+	mov	r15d,DWORD[48+rsp]
+
+	mov	r12d,r13d
+	ror	r13d,11
+	add	ecx,r14d
+	mov	r14d,r15d
+	ror	r15d,2
+
+	xor	r13d,r12d
+	shr	r12d,3
+	ror	r13d,7
+	xor	r15d,r14d
+	shr	r14d,10
+
+	ror	r15d,17
+	xor	r12d,r13d
+	xor	r15d,r14d
+	add	r12d,DWORD[28+rsp]
+
+	add	r12d,DWORD[56+rsp]
+	mov	r13d,r10d
+	add	r12d,r15d
+	mov	r14d,ecx
+	ror	r13d,14
+	mov	r15d,r11d
+
+	xor	r13d,r10d
+	ror	r14d,9
+	xor	r15d,eax
+
+	mov	DWORD[56+rsp],r12d
+	xor	r14d,ecx
+	and	r15d,r10d
+
+	ror	r13d,5
+	add	r12d,ebx
+	xor	r15d,eax
+
+	ror	r14d,11
+	xor	r13d,r10d
+	add	r12d,r15d
+
+	mov	r15d,ecx
+	add	r12d,DWORD[rbp]
+	xor	r14d,ecx
+
+	xor	r15d,edx
+	ror	r13d,6
+	mov	ebx,edx
+
+	and	edi,r15d
+	ror	r14d,2
+	add	r12d,r13d
+
+	xor	ebx,edi
+	add	r9d,r12d
+	add	ebx,r12d
+
+	lea	rbp,[4+rbp]
+	mov	r13d,DWORD[rsp]
+	mov	edi,DWORD[52+rsp]
+
+	mov	r12d,r13d
+	ror	r13d,11
+	add	ebx,r14d
+	mov	r14d,edi
+	ror	edi,2
+
+	xor	r13d,r12d
+	shr	r12d,3
+	ror	r13d,7
+	xor	edi,r14d
+	shr	r14d,10
+
+	ror	edi,17
+	xor	r12d,r13d
+	xor	edi,r14d
+	add	r12d,DWORD[32+rsp]
+
+	add	r12d,DWORD[60+rsp]
+	mov	r13d,r9d
+	add	r12d,edi
+	mov	r14d,ebx
+	ror	r13d,14
+	mov	edi,r10d
+
+	xor	r13d,r9d
+	ror	r14d,9
+	xor	edi,r11d
+
+	mov	DWORD[60+rsp],r12d
+	xor	r14d,ebx
+	and	edi,r9d
+
+	ror	r13d,5
+	add	r12d,eax
+	xor	edi,r11d
+
+	ror	r14d,11
+	xor	r13d,r9d
+	add	r12d,edi
+
+	mov	edi,ebx
+	add	r12d,DWORD[rbp]
+	xor	r14d,ebx
+
+	xor	edi,ecx
+	ror	r13d,6
+	mov	eax,ecx
+
+	and	r15d,edi
+	ror	r14d,2
+	add	r12d,r13d
+
+	xor	eax,r15d
+	add	r8d,r12d
+	add	eax,r12d
+
+	lea	rbp,[20+rbp]
+	cmp	BYTE[3+rbp],0
+	jnz	NEAR $L$rounds_16_xx
+
+	mov	rdi,QWORD[((64+0))+rsp]
+	add	eax,r14d
+	lea	rsi,[64+rsi]
+
+	add	eax,DWORD[rdi]
+	add	ebx,DWORD[4+rdi]
+	add	ecx,DWORD[8+rdi]
+	add	edx,DWORD[12+rdi]
+	add	r8d,DWORD[16+rdi]
+	add	r9d,DWORD[20+rdi]
+	add	r10d,DWORD[24+rdi]
+	add	r11d,DWORD[28+rdi]
+
+	cmp	rsi,QWORD[((64+16))+rsp]
+
+	mov	DWORD[rdi],eax
+	mov	DWORD[4+rdi],ebx
+	mov	DWORD[8+rdi],ecx
+	mov	DWORD[12+rdi],edx
+	mov	DWORD[16+rdi],r8d
+	mov	DWORD[20+rdi],r9d
+	mov	DWORD[24+rdi],r10d
+	mov	DWORD[28+rdi],r11d
+	jb	NEAR $L$loop
+
+	mov	rsi,QWORD[((64+24))+rsp]
+	mov	r15,QWORD[((-48))+rsi]
+	mov	r14,QWORD[((-40))+rsi]
+	mov	r13,QWORD[((-32))+rsi]
+	mov	r12,QWORD[((-24))+rsi]
+	mov	rbp,QWORD[((-16))+rsi]
+	mov	rbx,QWORD[((-8))+rsi]
+	lea	rsp,[rsi]
+$L$epilogue:
+	mov	rdi,QWORD[8+rsp]	;WIN64 epilogue
+	mov	rsi,QWORD[16+rsp]
+	DB	0F3h,0C3h		;repret
+$L$SEH_end_sha256_block_data_order:
+ALIGN	64
+
+K256:
+	DD	0x428a2f98,0x71374491,0xb5c0fbcf,0xe9b5dba5
+	DD	0x428a2f98,0x71374491,0xb5c0fbcf,0xe9b5dba5
+	DD	0x3956c25b,0x59f111f1,0x923f82a4,0xab1c5ed5
+	DD	0x3956c25b,0x59f111f1,0x923f82a4,0xab1c5ed5
+	DD	0xd807aa98,0x12835b01,0x243185be,0x550c7dc3
+	DD	0xd807aa98,0x12835b01,0x243185be,0x550c7dc3
+	DD	0x72be5d74,0x80deb1fe,0x9bdc06a7,0xc19bf174
+	DD	0x72be5d74,0x80deb1fe,0x9bdc06a7,0xc19bf174
+	DD	0xe49b69c1,0xefbe4786,0x0fc19dc6,0x240ca1cc
+	DD	0xe49b69c1,0xefbe4786,0x0fc19dc6,0x240ca1cc
+	DD	0x2de92c6f,0x4a7484aa,0x5cb0a9dc,0x76f988da
+	DD	0x2de92c6f,0x4a7484aa,0x5cb0a9dc,0x76f988da
+	DD	0x983e5152,0xa831c66d,0xb00327c8,0xbf597fc7
+	DD	0x983e5152,0xa831c66d,0xb00327c8,0xbf597fc7
+	DD	0xc6e00bf3,0xd5a79147,0x06ca6351,0x14292967
+	DD	0xc6e00bf3,0xd5a79147,0x06ca6351,0x14292967
+	DD	0x27b70a85,0x2e1b2138,0x4d2c6dfc,0x53380d13
+	DD	0x27b70a85,0x2e1b2138,0x4d2c6dfc,0x53380d13
+	DD	0x650a7354,0x766a0abb,0x81c2c92e,0x92722c85
+	DD	0x650a7354,0x766a0abb,0x81c2c92e,0x92722c85
+	DD	0xa2bfe8a1,0xa81a664b,0xc24b8b70,0xc76c51a3
+	DD	0xa2bfe8a1,0xa81a664b,0xc24b8b70,0xc76c51a3
+	DD	0xd192e819,0xd6990624,0xf40e3585,0x106aa070
+	DD	0xd192e819,0xd6990624,0xf40e3585,0x106aa070
+	DD	0x19a4c116,0x1e376c08,0x2748774c,0x34b0bcb5
+	DD	0x19a4c116,0x1e376c08,0x2748774c,0x34b0bcb5
+	DD	0x391c0cb3,0x4ed8aa4a,0x5b9cca4f,0x682e6ff3
+	DD	0x391c0cb3,0x4ed8aa4a,0x5b9cca4f,0x682e6ff3
+	DD	0x748f82ee,0x78a5636f,0x84c87814,0x8cc70208
+	DD	0x748f82ee,0x78a5636f,0x84c87814,0x8cc70208
+	DD	0x90befffa,0xa4506ceb,0xbef9a3f7,0xc67178f2
+	DD	0x90befffa,0xa4506ceb,0xbef9a3f7,0xc67178f2
+
+	DD	0x00010203,0x04050607,0x08090a0b,0x0c0d0e0f
+	DD	0x00010203,0x04050607,0x08090a0b,0x0c0d0e0f
+	DD	0x03020100,0x0b0a0908,0xffffffff,0xffffffff
+	DD	0x03020100,0x0b0a0908,0xffffffff,0xffffffff
+	DD	0xffffffff,0xffffffff,0x03020100,0x0b0a0908
+	DD	0xffffffff,0xffffffff,0x03020100,0x0b0a0908
+DB	83,72,65,50,53,54,32,98,108,111,99,107,32,116,114,97
+DB	110,115,102,111,114,109,32,102,111,114,32,120,56,54,95,54
+DB	52,44,32,67,82,89,80,84,79,71,65,77,83,32,98,121
+DB	32,60,97,112,112,114,111,64,111,112,101,110,115,115,108,46
+DB	111,114,103,62,0
+
+ALIGN	64
+sha256_block_data_order_ssse3:
+	mov	QWORD[8+rsp],rdi	;WIN64 prologue
+	mov	QWORD[16+rsp],rsi
+	mov	rax,rsp
+$L$SEH_begin_sha256_block_data_order_ssse3:
+	mov	rdi,rcx
+	mov	rsi,rdx
+	mov	rdx,r8
+
+
+$L$ssse3_shortcut:
+	mov	rax,rsp
+	push	rbx
+	push	rbp
+	push	r12
+	push	r13
+	push	r14
+	push	r15
+	shl	rdx,4
+	sub	rsp,160
+	lea	rdx,[rdx*4+rsi]
+	and	rsp,-64
+	mov	QWORD[((64+0))+rsp],rdi
+	mov	QWORD[((64+8))+rsp],rsi
+	mov	QWORD[((64+16))+rsp],rdx
+	mov	QWORD[((64+24))+rsp],rax
+	movaps	XMMWORD[(64+32)+rsp],xmm6
+	movaps	XMMWORD[(64+48)+rsp],xmm7
+	movaps	XMMWORD[(64+64)+rsp],xmm8
+	movaps	XMMWORD[(64+80)+rsp],xmm9
+$L$prologue_ssse3:
+
+	mov	eax,DWORD[rdi]
+	mov	ebx,DWORD[4+rdi]
+	mov	ecx,DWORD[8+rdi]
+	mov	edx,DWORD[12+rdi]
+	mov	r8d,DWORD[16+rdi]
+	mov	r9d,DWORD[20+rdi]
+	mov	r10d,DWORD[24+rdi]
+	mov	r11d,DWORD[28+rdi]
+
+
+	jmp	NEAR $L$loop_ssse3
+ALIGN	16
+$L$loop_ssse3:
+	movdqa	xmm7,XMMWORD[((K256+512))]
+	movdqu	xmm0,XMMWORD[rsi]
+	movdqu	xmm1,XMMWORD[16+rsi]
+	movdqu	xmm2,XMMWORD[32+rsi]
+DB	102,15,56,0,199
+	movdqu	xmm3,XMMWORD[48+rsi]
+	lea	rbp,[K256]
+DB	102,15,56,0,207
+	movdqa	xmm4,XMMWORD[rbp]
+	movdqa	xmm5,XMMWORD[32+rbp]
+DB	102,15,56,0,215
+	paddd	xmm4,xmm0
+	movdqa	xmm6,XMMWORD[64+rbp]
+DB	102,15,56,0,223
+	movdqa	xmm7,XMMWORD[96+rbp]
+	paddd	xmm5,xmm1
+	paddd	xmm6,xmm2
+	paddd	xmm7,xmm3
+	movdqa	XMMWORD[rsp],xmm4
+	mov	r14d,eax
+	movdqa	XMMWORD[16+rsp],xmm5
+	mov	edi,ebx
+	movdqa	XMMWORD[32+rsp],xmm6
+	xor	edi,ecx
+	movdqa	XMMWORD[48+rsp],xmm7
+	mov	r13d,r8d
+	jmp	NEAR $L$ssse3_00_47
+
+ALIGN	16
+$L$ssse3_00_47:
+	sub	rbp,-128
+	ror	r13d,14
+	movdqa	xmm4,xmm1
+	mov	eax,r14d
+	mov	r12d,r9d
+	movdqa	xmm7,xmm3
+	ror	r14d,9
+	xor	r13d,r8d
+	xor	r12d,r10d
+	ror	r13d,5
+	xor	r14d,eax
+DB	102,15,58,15,224,4
+	and	r12d,r8d
+	xor	r13d,r8d
+DB	102,15,58,15,250,4
+	add	r11d,DWORD[rsp]
+	mov	r15d,eax
+	xor	r12d,r10d
+	ror	r14d,11
+	movdqa	xmm5,xmm4
+	xor	r15d,ebx
+	add	r11d,r12d
+	movdqa	xmm6,xmm4
+	ror	r13d,6
+	and	edi,r15d
+	psrld	xmm4,3
+	xor	r14d,eax
+	add	r11d,r13d
+	xor	edi,ebx
+	paddd	xmm0,xmm7
+	ror	r14d,2
+	add	edx,r11d
+	psrld	xmm6,7
+	add	r11d,edi
+	mov	r13d,edx
+	pshufd	xmm7,xmm3,250
+	add	r14d,r11d
+	ror	r13d,14
+	pslld	xmm5,14
+	mov	r11d,r14d
+	mov	r12d,r8d
+	pxor	xmm4,xmm6
+	ror	r14d,9
+	xor	r13d,edx
+	xor	r12d,r9d
+	ror	r13d,5
+	psrld	xmm6,11
+	xor	r14d,r11d
+	pxor	xmm4,xmm5
+	and	r12d,edx
+	xor	r13d,edx
+	pslld	xmm5,11
+	add	r10d,DWORD[4+rsp]
+	mov	edi,r11d
+	pxor	xmm4,xmm6
+	xor	r12d,r9d
+	ror	r14d,11
+	movdqa	xmm6,xmm7
+	xor	edi,eax
+	add	r10d,r12d
+	pxor	xmm4,xmm5
+	ror	r13d,6
+	and	r15d,edi
+	xor	r14d,r11d
+	psrld	xmm7,10
+	add	r10d,r13d
+	xor	r15d,eax
+	paddd	xmm0,xmm4
+	ror	r14d,2
+	add	ecx,r10d
+	psrlq	xmm6,17
+	add	r10d,r15d
+	mov	r13d,ecx
+	add	r14d,r10d
+	pxor	xmm7,xmm6
+	ror	r13d,14
+	mov	r10d,r14d
+	mov	r12d,edx
+	ror	r14d,9
+	psrlq	xmm6,2
+	xor	r13d,ecx
+	xor	r12d,r8d
+	pxor	xmm7,xmm6
+	ror	r13d,5
+	xor	r14d,r10d
+	and	r12d,ecx
+	pshufd	xmm7,xmm7,128
+	xor	r13d,ecx
+	add	r9d,DWORD[8+rsp]
+	mov	r15d,r10d
+	psrldq	xmm7,8
+	xor	r12d,r8d
+	ror	r14d,11
+	xor	r15d,r11d
+	add	r9d,r12d
+	ror	r13d,6
+	paddd	xmm0,xmm7
+	and	edi,r15d
+	xor	r14d,r10d
+	add	r9d,r13d
+	pshufd	xmm7,xmm0,80
+	xor	edi,r11d
+	ror	r14d,2
+	add	ebx,r9d
+	movdqa	xmm6,xmm7
+	add	r9d,edi
+	mov	r13d,ebx
+	psrld	xmm7,10
+	add	r14d,r9d
+	ror	r13d,14
+	psrlq	xmm6,17
+	mov	r9d,r14d
+	mov	r12d,ecx
+	pxor	xmm7,xmm6
+	ror	r14d,9
+	xor	r13d,ebx
+	xor	r12d,edx
+	ror	r13d,5
+	xor	r14d,r9d
+	psrlq	xmm6,2
+	and	r12d,ebx
+	xor	r13d,ebx
+	add	r8d,DWORD[12+rsp]
+	pxor	xmm7,xmm6
+	mov	edi,r9d
+	xor	r12d,edx
+	ror	r14d,11
+	pshufd	xmm7,xmm7,8
+	xor	edi,r10d
+	add	r8d,r12d
+	movdqa	xmm6,XMMWORD[rbp]
+	ror	r13d,6
+	and	r15d,edi
+	pslldq	xmm7,8
+	xor	r14d,r9d
+	add	r8d,r13d
+	xor	r15d,r10d
+	paddd	xmm0,xmm7
+	ror	r14d,2
+	add	eax,r8d
+	add	r8d,r15d
+	paddd	xmm6,xmm0
+	mov	r13d,eax
+	add	r14d,r8d
+	movdqa	XMMWORD[rsp],xmm6
+	ror	r13d,14
+	movdqa	xmm4,xmm2
+	mov	r8d,r14d
+	mov	r12d,ebx
+	movdqa	xmm7,xmm0
+	ror	r14d,9
+	xor	r13d,eax
+	xor	r12d,ecx
+	ror	r13d,5
+	xor	r14d,r8d
+DB	102,15,58,15,225,4
+	and	r12d,eax
+	xor	r13d,eax
+DB	102,15,58,15,251,4
+	add	edx,DWORD[16+rsp]
+	mov	r15d,r8d
+	xor	r12d,ecx
+	ror	r14d,11
+	movdqa	xmm5,xmm4
+	xor	r15d,r9d
+	add	edx,r12d
+	movdqa	xmm6,xmm4
+	ror	r13d,6
+	and	edi,r15d
+	psrld	xmm4,3
+	xor	r14d,r8d
+	add	edx,r13d
+	xor	edi,r9d
+	paddd	xmm1,xmm7
+	ror	r14d,2
+	add	r11d,edx
+	psrld	xmm6,7
+	add	edx,edi
+	mov	r13d,r11d
+	pshufd	xmm7,xmm0,250
+	add	r14d,edx
+	ror	r13d,14
+	pslld	xmm5,14
+	mov	edx,r14d
+	mov	r12d,eax
+	pxor	xmm4,xmm6
+	ror	r14d,9
+	xor	r13d,r11d
+	xor	r12d,ebx
+	ror	r13d,5
+	psrld	xmm6,11
+	xor	r14d,edx
+	pxor	xmm4,xmm5
+	and	r12d,r11d
+	xor	r13d,r11d
+	pslld	xmm5,11
+	add	ecx,DWORD[20+rsp]
+	mov	edi,edx
+	pxor	xmm4,xmm6
+	xor	r12d,ebx
+	ror	r14d,11
+	movdqa	xmm6,xmm7
+	xor	edi,r8d
+	add	ecx,r12d
+	pxor	xmm4,xmm5
+	ror	r13d,6
+	and	r15d,edi
+	xor	r14d,edx
+	psrld	xmm7,10
+	add	ecx,r13d
+	xor	r15d,r8d
+	paddd	xmm1,xmm4
+	ror	r14d,2
+	add	r10d,ecx
+	psrlq	xmm6,17
+	add	ecx,r15d
+	mov	r13d,r10d
+	add	r14d,ecx
+	pxor	xmm7,xmm6
+	ror	r13d,14
+	mov	ecx,r14d
+	mov	r12d,r11d
+	ror	r14d,9
+	psrlq	xmm6,2
+	xor	r13d,r10d
+	xor	r12d,eax
+	pxor	xmm7,xmm6
+	ror	r13d,5
+	xor	r14d,ecx
+	and	r12d,r10d
+	pshufd	xmm7,xmm7,128
+	xor	r13d,r10d
+	add	ebx,DWORD[24+rsp]
+	mov	r15d,ecx
+	psrldq	xmm7,8
+	xor	r12d,eax
+	ror	r14d,11
+	xor	r15d,edx
+	add	ebx,r12d
+	ror	r13d,6
+	paddd	xmm1,xmm7
+	and	edi,r15d
+	xor	r14d,ecx
+	add	ebx,r13d
+	pshufd	xmm7,xmm1,80
+	xor	edi,edx
+	ror	r14d,2
+	add	r9d,ebx
+	movdqa	xmm6,xmm7
+	add	ebx,edi
+	mov	r13d,r9d
+	psrld	xmm7,10
+	add	r14d,ebx
+	ror	r13d,14
+	psrlq	xmm6,17
+	mov	ebx,r14d
+	mov	r12d,r10d
+	pxor	xmm7,xmm6
+	ror	r14d,9
+	xor	r13d,r9d
+	xor	r12d,r11d
+	ror	r13d,5
+	xor	r14d,ebx
+	psrlq	xmm6,2
+	and	r12d,r9d
+	xor	r13d,r9d
+	add	eax,DWORD[28+rsp]
+	pxor	xmm7,xmm6
+	mov	edi,ebx
+	xor	r12d,r11d
+	ror	r14d,11
+	pshufd	xmm7,xmm7,8
+	xor	edi,ecx
+	add	eax,r12d
+	movdqa	xmm6,XMMWORD[32+rbp]
+	ror	r13d,6
+	and	r15d,edi
+	pslldq	xmm7,8
+	xor	r14d,ebx
+	add	eax,r13d
+	xor	r15d,ecx
+	paddd	xmm1,xmm7
+	ror	r14d,2
+	add	r8d,eax
+	add	eax,r15d
+	paddd	xmm6,xmm1
+	mov	r13d,r8d
+	add	r14d,eax
+	movdqa	XMMWORD[16+rsp],xmm6
+	ror	r13d,14
+	movdqa	xmm4,xmm3
+	mov	eax,r14d
+	mov	r12d,r9d
+	movdqa	xmm7,xmm1
+	ror	r14d,9
+	xor	r13d,r8d
+	xor	r12d,r10d
+	ror	r13d,5
+	xor	r14d,eax
+DB	102,15,58,15,226,4
+	and	r12d,r8d
+	xor	r13d,r8d
+DB	102,15,58,15,248,4
+	add	r11d,DWORD[32+rsp]
+	mov	r15d,eax
+	xor	r12d,r10d
+	ror	r14d,11
+	movdqa	xmm5,xmm4
+	xor	r15d,ebx
+	add	r11d,r12d
+	movdqa	xmm6,xmm4
+	ror	r13d,6
+	and	edi,r15d
+	psrld	xmm4,3
+	xor	r14d,eax
+	add	r11d,r13d
+	xor	edi,ebx
+	paddd	xmm2,xmm7
+	ror	r14d,2
+	add	edx,r11d
+	psrld	xmm6,7
+	add	r11d,edi
+	mov	r13d,edx
+	pshufd	xmm7,xmm1,250
+	add	r14d,r11d
+	ror	r13d,14
+	pslld	xmm5,14
+	mov	r11d,r14d
+	mov	r12d,r8d
+	pxor	xmm4,xmm6
+	ror	r14d,9
+	xor	r13d,edx
+	xor	r12d,r9d
+	ror	r13d,5
+	psrld	xmm6,11
+	xor	r14d,r11d
+	pxor	xmm4,xmm5
+	and	r12d,edx
+	xor	r13d,edx
+	pslld	xmm5,11
+	add	r10d,DWORD[36+rsp]
+	mov	edi,r11d
+	pxor	xmm4,xmm6
+	xor	r12d,r9d
+	ror	r14d,11
+	movdqa	xmm6,xmm7
+	xor	edi,eax
+	add	r10d,r12d
+	pxor	xmm4,xmm5
+	ror	r13d,6
+	and	r15d,edi
+	xor	r14d,r11d
+	psrld	xmm7,10
+	add	r10d,r13d
+	xor	r15d,eax
+	paddd	xmm2,xmm4
+	ror	r14d,2
+	add	ecx,r10d
+	psrlq	xmm6,17
+	add	r10d,r15d
+	mov	r13d,ecx
+	add	r14d,r10d
+	pxor	xmm7,xmm6
+	ror	r13d,14
+	mov	r10d,r14d
+	mov	r12d,edx
+	ror	r14d,9
+	psrlq	xmm6,2
+	xor	r13d,ecx
+	xor	r12d,r8d
+	pxor	xmm7,xmm6
+	ror	r13d,5
+	xor	r14d,r10d
+	and	r12d,ecx
+	pshufd	xmm7,xmm7,128
+	xor	r13d,ecx
+	add	r9d,DWORD[40+rsp]
+	mov	r15d,r10d
+	psrldq	xmm7,8
+	xor	r12d,r8d
+	ror	r14d,11
+	xor	r15d,r11d
+	add	r9d,r12d
+	ror	r13d,6
+	paddd	xmm2,xmm7
+	and	edi,r15d
+	xor	r14d,r10d
+	add	r9d,r13d
+	pshufd	xmm7,xmm2,80
+	xor	edi,r11d
+	ror	r14d,2
+	add	ebx,r9d
+	movdqa	xmm6,xmm7
+	add	r9d,edi
+	mov	r13d,ebx
+	psrld	xmm7,10
+	add	r14d,r9d
+	ror	r13d,14
+	psrlq	xmm6,17
+	mov	r9d,r14d
+	mov	r12d,ecx
+	pxor	xmm7,xmm6
+	ror	r14d,9
+	xor	r13d,ebx
+	xor	r12d,edx
+	ror	r13d,5
+	xor	r14d,r9d
+	psrlq	xmm6,2
+	and	r12d,ebx
+	xor	r13d,ebx
+	add	r8d,DWORD[44+rsp]
+	pxor	xmm7,xmm6
+	mov	edi,r9d
+	xor	r12d,edx
+	ror	r14d,11
+	pshufd	xmm7,xmm7,8
+	xor	edi,r10d
+	add	r8d,r12d
+	movdqa	xmm6,XMMWORD[64+rbp]
+	ror	r13d,6
+	and	r15d,edi
+	pslldq	xmm7,8
+	xor	r14d,r9d
+	add	r8d,r13d
+	xor	r15d,r10d
+	paddd	xmm2,xmm7
+	ror	r14d,2
+	add	eax,r8d
+	add	r8d,r15d
+	paddd	xmm6,xmm2
+	mov	r13d,eax
+	add	r14d,r8d
+	movdqa	XMMWORD[32+rsp],xmm6
+	ror	r13d,14
+	movdqa	xmm4,xmm0
+	mov	r8d,r14d
+	mov	r12d,ebx
+	movdqa	xmm7,xmm2
+	ror	r14d,9
+	xor	r13d,eax
+	xor	r12d,ecx
+	ror	r13d,5
+	xor	r14d,r8d
+DB	102,15,58,15,227,4
+	and	r12d,eax
+	xor	r13d,eax
+DB	102,15,58,15,249,4
+	add	edx,DWORD[48+rsp]
+	mov	r15d,r8d
+	xor	r12d,ecx
+	ror	r14d,11
+	movdqa	xmm5,xmm4
+	xor	r15d,r9d
+	add	edx,r12d
+	movdqa	xmm6,xmm4
+	ror	r13d,6
+	and	edi,r15d
+	psrld	xmm4,3
+	xor	r14d,r8d
+	add	edx,r13d
+	xor	edi,r9d
+	paddd	xmm3,xmm7
+	ror	r14d,2
+	add	r11d,edx
+	psrld	xmm6,7
+	add	edx,edi
+	mov	r13d,r11d
+	pshufd	xmm7,xmm2,250
+	add	r14d,edx
+	ror	r13d,14
+	pslld	xmm5,14
+	mov	edx,r14d
+	mov	r12d,eax
+	pxor	xmm4,xmm6
+	ror	r14d,9
+	xor	r13d,r11d
+	xor	r12d,ebx
+	ror	r13d,5
+	psrld	xmm6,11
+	xor	r14d,edx
+	pxor	xmm4,xmm5
+	and	r12d,r11d
+	xor	r13d,r11d
+	pslld	xmm5,11
+	add	ecx,DWORD[52+rsp]
+	mov	edi,edx
+	pxor	xmm4,xmm6
+	xor	r12d,ebx
+	ror	r14d,11
+	movdqa	xmm6,xmm7
+	xor	edi,r8d
+	add	ecx,r12d
+	pxor	xmm4,xmm5
+	ror	r13d,6
+	and	r15d,edi
+	xor	r14d,edx
+	psrld	xmm7,10
+	add	ecx,r13d
+	xor	r15d,r8d
+	paddd	xmm3,xmm4
+	ror	r14d,2
+	add	r10d,ecx
+	psrlq	xmm6,17
+	add	ecx,r15d
+	mov	r13d,r10d
+	add	r14d,ecx
+	pxor	xmm7,xmm6
+	ror	r13d,14
+	mov	ecx,r14d
+	mov	r12d,r11d
+	ror	r14d,9
+	psrlq	xmm6,2
+	xor	r13d,r10d
+	xor	r12d,eax
+	pxor	xmm7,xmm6
+	ror	r13d,5
+	xor	r14d,ecx
+	and	r12d,r10d
+	pshufd	xmm7,xmm7,128
+	xor	r13d,r10d
+	add	ebx,DWORD[56+rsp]
+	mov	r15d,ecx
+	psrldq	xmm7,8
+	xor	r12d,eax
+	ror	r14d,11
+	xor	r15d,edx
+	add	ebx,r12d
+	ror	r13d,6
+	paddd	xmm3,xmm7
+	and	edi,r15d
+	xor	r14d,ecx
+	add	ebx,r13d
+	pshufd	xmm7,xmm3,80
+	xor	edi,edx
+	ror	r14d,2
+	add	r9d,ebx
+	movdqa	xmm6,xmm7
+	add	ebx,edi
+	mov	r13d,r9d
+	psrld	xmm7,10
+	add	r14d,ebx
+	ror	r13d,14
+	psrlq	xmm6,17
+	mov	ebx,r14d
+	mov	r12d,r10d
+	pxor	xmm7,xmm6
+	ror	r14d,9
+	xor	r13d,r9d
+	xor	r12d,r11d
+	ror	r13d,5
+	xor	r14d,ebx
+	psrlq	xmm6,2
+	and	r12d,r9d
+	xor	r13d,r9d
+	add	eax,DWORD[60+rsp]
+	pxor	xmm7,xmm6
+	mov	edi,ebx
+	xor	r12d,r11d
+	ror	r14d,11
+	pshufd	xmm7,xmm7,8
+	xor	edi,ecx
+	add	eax,r12d
+	movdqa	xmm6,XMMWORD[96+rbp]
+	ror	r13d,6
+	and	r15d,edi
+	pslldq	xmm7,8
+	xor	r14d,ebx
+	add	eax,r13d
+	xor	r15d,ecx
+	paddd	xmm3,xmm7
+	ror	r14d,2
+	add	r8d,eax
+	add	eax,r15d
+	paddd	xmm6,xmm3
+	mov	r13d,r8d
+	add	r14d,eax
+	movdqa	XMMWORD[48+rsp],xmm6
+	cmp	BYTE[131+rbp],0
+	jne	NEAR $L$ssse3_00_47
+	ror	r13d,14
+	mov	eax,r14d
+	mov	r12d,r9d
+	ror	r14d,9
+	xor	r13d,r8d
+	xor	r12d,r10d
+	ror	r13d,5
+	xor	r14d,eax
+	and	r12d,r8d
+	xor	r13d,r8d
+	add	r11d,DWORD[rsp]
+	mov	r15d,eax
+	xor	r12d,r10d
+	ror	r14d,11
+	xor	r15d,ebx
+	add	r11d,r12d
+	ror	r13d,6
+	and	edi,r15d
+	xor	r14d,eax
+	add	r11d,r13d
+	xor	edi,ebx
+	ror	r14d,2
+	add	edx,r11d
+	add	r11d,edi
+	mov	r13d,edx
+	add	r14d,r11d
+	ror	r13d,14
+	mov	r11d,r14d
+	mov	r12d,r8d
+	ror	r14d,9
+	xor	r13d,edx
+	xor	r12d,r9d
+	ror	r13d,5
+	xor	r14d,r11d
+	and	r12d,edx
+	xor	r13d,edx
+	add	r10d,DWORD[4+rsp]
+	mov	edi,r11d
+	xor	r12d,r9d
+	ror	r14d,11
+	xor	edi,eax
+	add	r10d,r12d
+	ror	r13d,6
+	and	r15d,edi
+	xor	r14d,r11d
+	add	r10d,r13d
+	xor	r15d,eax
+	ror	r14d,2
+	add	ecx,r10d
+	add	r10d,r15d
+	mov	r13d,ecx
+	add	r14d,r10d
+	ror	r13d,14
+	mov	r10d,r14d
+	mov	r12d,edx
+	ror	r14d,9
+	xor	r13d,ecx
+	xor	r12d,r8d
+	ror	r13d,5
+	xor	r14d,r10d
+	and	r12d,ecx
+	xor	r13d,ecx
+	add	r9d,DWORD[8+rsp]
+	mov	r15d,r10d
+	xor	r12d,r8d
+	ror	r14d,11
+	xor	r15d,r11d
+	add	r9d,r12d
+	ror	r13d,6
+	and	edi,r15d
+	xor	r14d,r10d
+	add	r9d,r13d
+	xor	edi,r11d
+	ror	r14d,2
+	add	ebx,r9d
+	add	r9d,edi
+	mov	r13d,ebx
+	add	r14d,r9d
+	ror	r13d,14
+	mov	r9d,r14d
+	mov	r12d,ecx
+	ror	r14d,9
+	xor	r13d,ebx
+	xor	r12d,edx
+	ror	r13d,5
+	xor	r14d,r9d
+	and	r12d,ebx
+	xor	r13d,ebx
+	add	r8d,DWORD[12+rsp]
+	mov	edi,r9d
+	xor	r12d,edx
+	ror	r14d,11
+	xor	edi,r10d
+	add	r8d,r12d
+	ror	r13d,6
+	and	r15d,edi
+	xor	r14d,r9d
+	add	r8d,r13d
+	xor	r15d,r10d
+	ror	r14d,2
+	add	eax,r8d
+	add	r8d,r15d
+	mov	r13d,eax
+	add	r14d,r8d
+	ror	r13d,14
+	mov	r8d,r14d
+	mov	r12d,ebx
+	ror	r14d,9
+	xor	r13d,eax
+	xor	r12d,ecx
+	ror	r13d,5
+	xor	r14d,r8d
+	and	r12d,eax
+	xor	r13d,eax
+	add	edx,DWORD[16+rsp]
+	mov	r15d,r8d
+	xor	r12d,ecx
+	ror	r14d,11
+	xor	r15d,r9d
+	add	edx,r12d
+	ror	r13d,6
+	and	edi,r15d
+	xor	r14d,r8d
+	add	edx,r13d
+	xor	edi,r9d
+	ror	r14d,2
+	add	r11d,edx
+	add	edx,edi
+	mov	r13d,r11d
+	add	r14d,edx
+	ror	r13d,14
+	mov	edx,r14d
+	mov	r12d,eax
+	ror	r14d,9
+	xor	r13d,r11d
+	xor	r12d,ebx
+	ror	r13d,5
+	xor	r14d,edx
+	and	r12d,r11d
+	xor	r13d,r11d
+	add	ecx,DWORD[20+rsp]
+	mov	edi,edx
+	xor	r12d,ebx
+	ror	r14d,11
+	xor	edi,r8d
+	add	ecx,r12d
+	ror	r13d,6
+	and	r15d,edi
+	xor	r14d,edx
+	add	ecx,r13d
+	xor	r15d,r8d
+	ror	r14d,2
+	add	r10d,ecx
+	add	ecx,r15d
+	mov	r13d,r10d
+	add	r14d,ecx
+	ror	r13d,14
+	mov	ecx,r14d
+	mov	r12d,r11d
+	ror	r14d,9
+	xor	r13d,r10d
+	xor	r12d,eax
+	ror	r13d,5
+	xor	r14d,ecx
+	and	r12d,r10d
+	xor	r13d,r10d
+	add	ebx,DWORD[24+rsp]
+	mov	r15d,ecx
+	xor	r12d,eax
+	ror	r14d,11
+	xor	r15d,edx
+	add	ebx,r12d
+	ror	r13d,6
+	and	edi,r15d
+	xor	r14d,ecx
+	add	ebx,r13d
+	xor	edi,edx
+	ror	r14d,2
+	add	r9d,ebx
+	add	ebx,edi
+	mov	r13d,r9d
+	add	r14d,ebx
+	ror	r13d,14
+	mov	ebx,r14d
+	mov	r12d,r10d
+	ror	r14d,9
+	xor	r13d,r9d
+	xor	r12d,r11d
+	ror	r13d,5
+	xor	r14d,ebx
+	and	r12d,r9d
+	xor	r13d,r9d
+	add	eax,DWORD[28+rsp]
+	mov	edi,ebx
+	xor	r12d,r11d
+	ror	r14d,11
+	xor	edi,ecx
+	add	eax,r12d
+	ror	r13d,6
+	and	r15d,edi
+	xor	r14d,ebx
+	add	eax,r13d
+	xor	r15d,ecx
+	ror	r14d,2
+	add	r8d,eax
+	add	eax,r15d
+	mov	r13d,r8d
+	add	r14d,eax
+	ror	r13d,14
+	mov	eax,r14d
+	mov	r12d,r9d
+	ror	r14d,9
+	xor	r13d,r8d
+	xor	r12d,r10d
+	ror	r13d,5
+	xor	r14d,eax
+	and	r12d,r8d
+	xor	r13d,r8d
+	add	r11d,DWORD[32+rsp]
+	mov	r15d,eax
+	xor	r12d,r10d
+	ror	r14d,11
+	xor	r15d,ebx
+	add	r11d,r12d
+	ror	r13d,6
+	and	edi,r15d
+	xor	r14d,eax
+	add	r11d,r13d
+	xor	edi,ebx
+	ror	r14d,2
+	add	edx,r11d
+	add	r11d,edi
+	mov	r13d,edx
+	add	r14d,r11d
+	ror	r13d,14
+	mov	r11d,r14d
+	mov	r12d,r8d
+	ror	r14d,9
+	xor	r13d,edx
+	xor	r12d,r9d
+	ror	r13d,5
+	xor	r14d,r11d
+	and	r12d,edx
+	xor	r13d,edx
+	add	r10d,DWORD[36+rsp]
+	mov	edi,r11d
+	xor	r12d,r9d
+	ror	r14d,11
+	xor	edi,eax
+	add	r10d,r12d
+	ror	r13d,6
+	and	r15d,edi
+	xor	r14d,r11d
+	add	r10d,r13d
+	xor	r15d,eax
+	ror	r14d,2
+	add	ecx,r10d
+	add	r10d,r15d
+	mov	r13d,ecx
+	add	r14d,r10d
+	ror	r13d,14
+	mov	r10d,r14d
+	mov	r12d,edx
+	ror	r14d,9
+	xor	r13d,ecx
+	xor	r12d,r8d
+	ror	r13d,5
+	xor	r14d,r10d
+	and	r12d,ecx
+	xor	r13d,ecx
+	add	r9d,DWORD[40+rsp]
+	mov	r15d,r10d
+	xor	r12d,r8d
+	ror	r14d,11
+	xor	r15d,r11d
+	add	r9d,r12d
+	ror	r13d,6
+	and	edi,r15d
+	xor	r14d,r10d
+	add	r9d,r13d
+	xor	edi,r11d
+	ror	r14d,2
+	add	ebx,r9d
+	add	r9d,edi
+	mov	r13d,ebx
+	add	r14d,r9d
+	ror	r13d,14
+	mov	r9d,r14d
+	mov	r12d,ecx
+	ror	r14d,9
+	xor	r13d,ebx
+	xor	r12d,edx
+	ror	r13d,5
+	xor	r14d,r9d
+	and	r12d,ebx
+	xor	r13d,ebx
+	add	r8d,DWORD[44+rsp]
+	mov	edi,r9d
+	xor	r12d,edx
+	ror	r14d,11
+	xor	edi,r10d
+	add	r8d,r12d
+	ror	r13d,6
+	and	r15d,edi
+	xor	r14d,r9d
+	add	r8d,r13d
+	xor	r15d,r10d
+	ror	r14d,2
+	add	eax,r8d
+	add	r8d,r15d
+	mov	r13d,eax
+	add	r14d,r8d
+	ror	r13d,14
+	mov	r8d,r14d
+	mov	r12d,ebx
+	ror	r14d,9
+	xor	r13d,eax
+	xor	r12d,ecx
+	ror	r13d,5
+	xor	r14d,r8d
+	and	r12d,eax
+	xor	r13d,eax
+	add	edx,DWORD[48+rsp]
+	mov	r15d,r8d
+	xor	r12d,ecx
+	ror	r14d,11
+	xor	r15d,r9d
+	add	edx,r12d
+	ror	r13d,6
+	and	edi,r15d
+	xor	r14d,r8d
+	add	edx,r13d
+	xor	edi,r9d
+	ror	r14d,2
+	add	r11d,edx
+	add	edx,edi
+	mov	r13d,r11d
+	add	r14d,edx
+	ror	r13d,14
+	mov	edx,r14d
+	mov	r12d,eax
+	ror	r14d,9
+	xor	r13d,r11d
+	xor	r12d,ebx
+	ror	r13d,5
+	xor	r14d,edx
+	and	r12d,r11d
+	xor	r13d,r11d
+	add	ecx,DWORD[52+rsp]
+	mov	edi,edx
+	xor	r12d,ebx
+	ror	r14d,11
+	xor	edi,r8d
+	add	ecx,r12d
+	ror	r13d,6
+	and	r15d,edi
+	xor	r14d,edx
+	add	ecx,r13d
+	xor	r15d,r8d
+	ror	r14d,2
+	add	r10d,ecx
+	add	ecx,r15d
+	mov	r13d,r10d
+	add	r14d,ecx
+	ror	r13d,14
+	mov	ecx,r14d
+	mov	r12d,r11d
+	ror	r14d,9
+	xor	r13d,r10d
+	xor	r12d,eax
+	ror	r13d,5
+	xor	r14d,ecx
+	and	r12d,r10d
+	xor	r13d,r10d
+	add	ebx,DWORD[56+rsp]
+	mov	r15d,ecx
+	xor	r12d,eax
+	ror	r14d,11
+	xor	r15d,edx
+	add	ebx,r12d
+	ror	r13d,6
+	and	edi,r15d
+	xor	r14d,ecx
+	add	ebx,r13d
+	xor	edi,edx
+	ror	r14d,2
+	add	r9d,ebx
+	add	ebx,edi
+	mov	r13d,r9d
+	add	r14d,ebx
+	ror	r13d,14
+	mov	ebx,r14d
+	mov	r12d,r10d
+	ror	r14d,9
+	xor	r13d,r9d
+	xor	r12d,r11d
+	ror	r13d,5
+	xor	r14d,ebx
+	and	r12d,r9d
+	xor	r13d,r9d
+	add	eax,DWORD[60+rsp]
+	mov	edi,ebx
+	xor	r12d,r11d
+	ror	r14d,11
+	xor	edi,ecx
+	add	eax,r12d
+	ror	r13d,6
+	and	r15d,edi
+	xor	r14d,ebx
+	add	eax,r13d
+	xor	r15d,ecx
+	ror	r14d,2
+	add	r8d,eax
+	add	eax,r15d
+	mov	r13d,r8d
+	add	r14d,eax
+	mov	rdi,QWORD[((64+0))+rsp]
+	mov	eax,r14d
+
+	add	eax,DWORD[rdi]
+	lea	rsi,[64+rsi]
+	add	ebx,DWORD[4+rdi]
+	add	ecx,DWORD[8+rdi]
+	add	edx,DWORD[12+rdi]
+	add	r8d,DWORD[16+rdi]
+	add	r9d,DWORD[20+rdi]
+	add	r10d,DWORD[24+rdi]
+	add	r11d,DWORD[28+rdi]
+
+	cmp	rsi,QWORD[((64+16))+rsp]
+
+	mov	DWORD[rdi],eax
+	mov	DWORD[4+rdi],ebx
+	mov	DWORD[8+rdi],ecx
+	mov	DWORD[12+rdi],edx
+	mov	DWORD[16+rdi],r8d
+	mov	DWORD[20+rdi],r9d
+	mov	DWORD[24+rdi],r10d
+	mov	DWORD[28+rdi],r11d
+	jb	NEAR $L$loop_ssse3
+
+	mov	rsi,QWORD[((64+24))+rsp]
+	movaps	xmm6,XMMWORD[((64+32))+rsp]
+	movaps	xmm7,XMMWORD[((64+48))+rsp]
+	movaps	xmm8,XMMWORD[((64+64))+rsp]
+	movaps	xmm9,XMMWORD[((64+80))+rsp]
+	mov	r15,QWORD[((-48))+rsi]
+	mov	r14,QWORD[((-40))+rsi]
+	mov	r13,QWORD[((-32))+rsi]
+	mov	r12,QWORD[((-24))+rsi]
+	mov	rbp,QWORD[((-16))+rsi]
+	mov	rbx,QWORD[((-8))+rsi]
+	lea	rsp,[rsi]
+$L$epilogue_ssse3:
+	mov	rdi,QWORD[8+rsp]	;WIN64 epilogue
+	mov	rsi,QWORD[16+rsp]
+	DB	0F3h,0C3h		;repret
+$L$SEH_end_sha256_block_data_order_ssse3:
+
+ALIGN	64
+sha256_block_data_order_avx:
+	mov	QWORD[8+rsp],rdi	;WIN64 prologue
+	mov	QWORD[16+rsp],rsi
+	mov	rax,rsp
+$L$SEH_begin_sha256_block_data_order_avx:
+	mov	rdi,rcx
+	mov	rsi,rdx
+	mov	rdx,r8
+
+
+$L$avx_shortcut:
+	mov	rax,rsp
+	push	rbx
+	push	rbp
+	push	r12
+	push	r13
+	push	r14
+	push	r15
+	shl	rdx,4
+	sub	rsp,160
+	lea	rdx,[rdx*4+rsi]
+	and	rsp,-64
+	mov	QWORD[((64+0))+rsp],rdi
+	mov	QWORD[((64+8))+rsp],rsi
+	mov	QWORD[((64+16))+rsp],rdx
+	mov	QWORD[((64+24))+rsp],rax
+	movaps	XMMWORD[(64+32)+rsp],xmm6
+	movaps	XMMWORD[(64+48)+rsp],xmm7
+	movaps	XMMWORD[(64+64)+rsp],xmm8
+	movaps	XMMWORD[(64+80)+rsp],xmm9
+$L$prologue_avx:
+
+	vzeroupper
+	mov	eax,DWORD[rdi]
+	mov	ebx,DWORD[4+rdi]
+	mov	ecx,DWORD[8+rdi]
+	mov	edx,DWORD[12+rdi]
+	mov	r8d,DWORD[16+rdi]
+	mov	r9d,DWORD[20+rdi]
+	mov	r10d,DWORD[24+rdi]
+	mov	r11d,DWORD[28+rdi]
+	vmovdqa	xmm8,XMMWORD[((K256+512+32))]
+	vmovdqa	xmm9,XMMWORD[((K256+512+64))]
+	jmp	NEAR $L$loop_avx
+ALIGN	16
+$L$loop_avx:
+	vmovdqa	xmm7,XMMWORD[((K256+512))]
+	vmovdqu	xmm0,XMMWORD[rsi]
+	vmovdqu	xmm1,XMMWORD[16+rsi]
+	vmovdqu	xmm2,XMMWORD[32+rsi]
+	vmovdqu	xmm3,XMMWORD[48+rsi]
+	vpshufb	xmm0,xmm0,xmm7
+	lea	rbp,[K256]
+	vpshufb	xmm1,xmm1,xmm7
+	vpshufb	xmm2,xmm2,xmm7
+	vpaddd	xmm4,xmm0,XMMWORD[rbp]
+	vpshufb	xmm3,xmm3,xmm7
+	vpaddd	xmm5,xmm1,XMMWORD[32+rbp]
+	vpaddd	xmm6,xmm2,XMMWORD[64+rbp]
+	vpaddd	xmm7,xmm3,XMMWORD[96+rbp]
+	vmovdqa	XMMWORD[rsp],xmm4
+	mov	r14d,eax
+	vmovdqa	XMMWORD[16+rsp],xmm5
+	mov	edi,ebx
+	vmovdqa	XMMWORD[32+rsp],xmm6
+	xor	edi,ecx
+	vmovdqa	XMMWORD[48+rsp],xmm7
+	mov	r13d,r8d
+	jmp	NEAR $L$avx_00_47
+
+ALIGN	16
+$L$avx_00_47:
+	sub	rbp,-128
+	vpalignr	xmm4,xmm1,xmm0,4
+	shrd	r13d,r13d,14
+	mov	eax,r14d
+	mov	r12d,r9d
+	vpalignr	xmm7,xmm3,xmm2,4
+	shrd	r14d,r14d,9
+	xor	r13d,r8d
+	xor	r12d,r10d
+	vpsrld	xmm6,xmm4,7
+	shrd	r13d,r13d,5
+	xor	r14d,eax
+	and	r12d,r8d
+	vpaddd	xmm0,xmm0,xmm7
+	xor	r13d,r8d
+	add	r11d,DWORD[rsp]
+	mov	r15d,eax
+	vpsrld	xmm7,xmm4,3
+	xor	r12d,r10d
+	shrd	r14d,r14d,11
+	xor	r15d,ebx
+	vpslld	xmm5,xmm4,14
+	add	r11d,r12d
+	shrd	r13d,r13d,6
+	and	edi,r15d
+	vpxor	xmm4,xmm7,xmm6
+	xor	r14d,eax
+	add	r11d,r13d
+	xor	edi,ebx
+	vpshufd	xmm7,xmm3,250
+	shrd	r14d,r14d,2
+	add	edx,r11d
+	add	r11d,edi
+	vpsrld	xmm6,xmm6,11
+	mov	r13d,edx
+	add	r14d,r11d
+	shrd	r13d,r13d,14
+	vpxor	xmm4,xmm4,xmm5
+	mov	r11d,r14d
+	mov	r12d,r8d
+	shrd	r14d,r14d,9
+	vpslld	xmm5,xmm5,11
+	xor	r13d,edx
+	xor	r12d,r9d
+	shrd	r13d,r13d,5
+	vpxor	xmm4,xmm4,xmm6
+	xor	r14d,r11d
+	and	r12d,edx
+	xor	r13d,edx
+	vpsrld	xmm6,xmm7,10
+	add	r10d,DWORD[4+rsp]
+	mov	edi,r11d
+	xor	r12d,r9d
+	vpxor	xmm4,xmm4,xmm5
+	shrd	r14d,r14d,11
+	xor	edi,eax
+	add	r10d,r12d
+	vpsrlq	xmm7,xmm7,17
+	shrd	r13d,r13d,6
+	and	r15d,edi
+	xor	r14d,r11d
+	vpaddd	xmm0,xmm0,xmm4
+	add	r10d,r13d
+	xor	r15d,eax
+	shrd	r14d,r14d,2
+	vpxor	xmm6,xmm6,xmm7
+	add	ecx,r10d
+	add	r10d,r15d
+	mov	r13d,ecx
+	vpsrlq	xmm7,xmm7,2
+	add	r14d,r10d
+	shrd	r13d,r13d,14
+	mov	r10d,r14d
+	vpxor	xmm6,xmm6,xmm7
+	mov	r12d,edx
+	shrd	r14d,r14d,9
+	xor	r13d,ecx
+	vpshufb	xmm6,xmm6,xmm8
+	xor	r12d,r8d
+	shrd	r13d,r13d,5
+	xor	r14d,r10d
+	vpaddd	xmm0,xmm0,xmm6
+	and	r12d,ecx
+	xor	r13d,ecx
+	add	r9d,DWORD[8+rsp]
+	vpshufd	xmm7,xmm0,80
+	mov	r15d,r10d
+	xor	r12d,r8d
+	shrd	r14d,r14d,11
+	vpsrld	xmm6,xmm7,10
+	xor	r15d,r11d
+	add	r9d,r12d
+	shrd	r13d,r13d,6
+	vpsrlq	xmm7,xmm7,17
+	and	edi,r15d
+	xor	r14d,r10d
+	add	r9d,r13d
+	vpxor	xmm6,xmm6,xmm7
+	xor	edi,r11d
+	shrd	r14d,r14d,2
+	add	ebx,r9d
+	vpsrlq	xmm7,xmm7,2
+	add	r9d,edi
+	mov	r13d,ebx
+	add	r14d,r9d
+	vpxor	xmm6,xmm6,xmm7
+	shrd	r13d,r13d,14
+	mov	r9d,r14d
+	mov	r12d,ecx
+	vpshufb	xmm6,xmm6,xmm9
+	shrd	r14d,r14d,9
+	xor	r13d,ebx
+	xor	r12d,edx
+	vpaddd	xmm0,xmm0,xmm6
+	shrd	r13d,r13d,5
+	xor	r14d,r9d
+	and	r12d,ebx
+	vpaddd	xmm6,xmm0,XMMWORD[rbp]
+	xor	r13d,ebx
+	add	r8d,DWORD[12+rsp]
+	mov	edi,r9d
+	xor	r12d,edx
+	shrd	r14d,r14d,11
+	xor	edi,r10d
+	add	r8d,r12d
+	shrd	r13d,r13d,6
+	and	r15d,edi
+	xor	r14d,r9d
+	add	r8d,r13d
+	xor	r15d,r10d
+	shrd	r14d,r14d,2
+	add	eax,r8d
+	add	r8d,r15d
+	mov	r13d,eax
+	add	r14d,r8d
+	vmovdqa	XMMWORD[rsp],xmm6
+	vpalignr	xmm4,xmm2,xmm1,4
+	shrd	r13d,r13d,14
+	mov	r8d,r14d
+	mov	r12d,ebx
+	vpalignr	xmm7,xmm0,xmm3,4
+	shrd	r14d,r14d,9
+	xor	r13d,eax
+	xor	r12d,ecx
+	vpsrld	xmm6,xmm4,7
+	shrd	r13d,r13d,5
+	xor	r14d,r8d
+	and	r12d,eax
+	vpaddd	xmm1,xmm1,xmm7
+	xor	r13d,eax
+	add	edx,DWORD[16+rsp]
+	mov	r15d,r8d
+	vpsrld	xmm7,xmm4,3
+	xor	r12d,ecx
+	shrd	r14d,r14d,11
+	xor	r15d,r9d
+	vpslld	xmm5,xmm4,14
+	add	edx,r12d
+	shrd	r13d,r13d,6
+	and	edi,r15d
+	vpxor	xmm4,xmm7,xmm6
+	xor	r14d,r8d
+	add	edx,r13d
+	xor	edi,r9d
+	vpshufd	xmm7,xmm0,250
+	shrd	r14d,r14d,2
+	add	r11d,edx
+	add	edx,edi
+	vpsrld	xmm6,xmm6,11
+	mov	r13d,r11d
+	add	r14d,edx
+	shrd	r13d,r13d,14
+	vpxor	xmm4,xmm4,xmm5
+	mov	edx,r14d
+	mov	r12d,eax
+	shrd	r14d,r14d,9
+	vpslld	xmm5,xmm5,11
+	xor	r13d,r11d
+	xor	r12d,ebx
+	shrd	r13d,r13d,5
+	vpxor	xmm4,xmm4,xmm6
+	xor	r14d,edx
+	and	r12d,r11d
+	xor	r13d,r11d
+	vpsrld	xmm6,xmm7,10
+	add	ecx,DWORD[20+rsp]
+	mov	edi,edx
+	xor	r12d,ebx
+	vpxor	xmm4,xmm4,xmm5
+	shrd	r14d,r14d,11
+	xor	edi,r8d
+	add	ecx,r12d
+	vpsrlq	xmm7,xmm7,17
+	shrd	r13d,r13d,6
+	and	r15d,edi
+	xor	r14d,edx
+	vpaddd	xmm1,xmm1,xmm4
+	add	ecx,r13d
+	xor	r15d,r8d
+	shrd	r14d,r14d,2
+	vpxor	xmm6,xmm6,xmm7
+	add	r10d,ecx
+	add	ecx,r15d
+	mov	r13d,r10d
+	vpsrlq	xmm7,xmm7,2
+	add	r14d,ecx
+	shrd	r13d,r13d,14
+	mov	ecx,r14d
+	vpxor	xmm6,xmm6,xmm7
+	mov	r12d,r11d
+	shrd	r14d,r14d,9
+	xor	r13d,r10d
+	vpshufb	xmm6,xmm6,xmm8
+	xor	r12d,eax
+	shrd	r13d,r13d,5
+	xor	r14d,ecx
+	vpaddd	xmm1,xmm1,xmm6
+	and	r12d,r10d
+	xor	r13d,r10d
+	add	ebx,DWORD[24+rsp]
+	vpshufd	xmm7,xmm1,80
+	mov	r15d,ecx
+	xor	r12d,eax
+	shrd	r14d,r14d,11
+	vpsrld	xmm6,xmm7,10
+	xor	r15d,edx
+	add	ebx,r12d
+	shrd	r13d,r13d,6
+	vpsrlq	xmm7,xmm7,17
+	and	edi,r15d
+	xor	r14d,ecx
+	add	ebx,r13d
+	vpxor	xmm6,xmm6,xmm7
+	xor	edi,edx
+	shrd	r14d,r14d,2
+	add	r9d,ebx
+	vpsrlq	xmm7,xmm7,2
+	add	ebx,edi
+	mov	r13d,r9d
+	add	r14d,ebx
+	vpxor	xmm6,xmm6,xmm7
+	shrd	r13d,r13d,14
+	mov	ebx,r14d
+	mov	r12d,r10d
+	vpshufb	xmm6,xmm6,xmm9
+	shrd	r14d,r14d,9
+	xor	r13d,r9d
+	xor	r12d,r11d
+	vpaddd	xmm1,xmm1,xmm6
+	shrd	r13d,r13d,5
+	xor	r14d,ebx
+	and	r12d,r9d
+	vpaddd	xmm6,xmm1,XMMWORD[32+rbp]
+	xor	r13d,r9d
+	add	eax,DWORD[28+rsp]
+	mov	edi,ebx
+	xor	r12d,r11d
+	shrd	r14d,r14d,11
+	xor	edi,ecx
+	add	eax,r12d
+	shrd	r13d,r13d,6
+	and	r15d,edi
+	xor	r14d,ebx
+	add	eax,r13d
+	xor	r15d,ecx
+	shrd	r14d,r14d,2
+	add	r8d,eax
+	add	eax,r15d
+	mov	r13d,r8d
+	add	r14d,eax
+	vmovdqa	XMMWORD[16+rsp],xmm6
+	vpalignr	xmm4,xmm3,xmm2,4
+	shrd	r13d,r13d,14
+	mov	eax,r14d
+	mov	r12d,r9d
+	vpalignr	xmm7,xmm1,xmm0,4
+	shrd	r14d,r14d,9
+	xor	r13d,r8d
+	xor	r12d,r10d
+	vpsrld	xmm6,xmm4,7
+	shrd	r13d,r13d,5
+	xor	r14d,eax
+	and	r12d,r8d
+	vpaddd	xmm2,xmm2,xmm7
+	xor	r13d,r8d
+	add	r11d,DWORD[32+rsp]
+	mov	r15d,eax
+	vpsrld	xmm7,xmm4,3
+	xor	r12d,r10d
+	shrd	r14d,r14d,11
+	xor	r15d,ebx
+	vpslld	xmm5,xmm4,14
+	add	r11d,r12d
+	shrd	r13d,r13d,6
+	and	edi,r15d
+	vpxor	xmm4,xmm7,xmm6
+	xor	r14d,eax
+	add	r11d,r13d
+	xor	edi,ebx
+	vpshufd	xmm7,xmm1,250
+	shrd	r14d,r14d,2
+	add	edx,r11d
+	add	r11d,edi
+	vpsrld	xmm6,xmm6,11
+	mov	r13d,edx
+	add	r14d,r11d
+	shrd	r13d,r13d,14
+	vpxor	xmm4,xmm4,xmm5
+	mov	r11d,r14d
+	mov	r12d,r8d
+	shrd	r14d,r14d,9
+	vpslld	xmm5,xmm5,11
+	xor	r13d,edx
+	xor	r12d,r9d
+	shrd	r13d,r13d,5
+	vpxor	xmm4,xmm4,xmm6
+	xor	r14d,r11d
+	and	r12d,edx
+	xor	r13d,edx
+	vpsrld	xmm6,xmm7,10
+	add	r10d,DWORD[36+rsp]
+	mov	edi,r11d
+	xor	r12d,r9d
+	vpxor	xmm4,xmm4,xmm5
+	shrd	r14d,r14d,11
+	xor	edi,eax
+	add	r10d,r12d
+	vpsrlq	xmm7,xmm7,17
+	shrd	r13d,r13d,6
+	and	r15d,edi
+	xor	r14d,r11d
+	vpaddd	xmm2,xmm2,xmm4
+	add	r10d,r13d
+	xor	r15d,eax
+	shrd	r14d,r14d,2
+	vpxor	xmm6,xmm6,xmm7
+	add	ecx,r10d
+	add	r10d,r15d
+	mov	r13d,ecx
+	vpsrlq	xmm7,xmm7,2
+	add	r14d,r10d
+	shrd	r13d,r13d,14
+	mov	r10d,r14d
+	vpxor	xmm6,xmm6,xmm7
+	mov	r12d,edx
+	shrd	r14d,r14d,9
+	xor	r13d,ecx
+	vpshufb	xmm6,xmm6,xmm8
+	xor	r12d,r8d
+	shrd	r13d,r13d,5
+	xor	r14d,r10d
+	vpaddd	xmm2,xmm2,xmm6
+	and	r12d,ecx
+	xor	r13d,ecx
+	add	r9d,DWORD[40+rsp]
+	vpshufd	xmm7,xmm2,80
+	mov	r15d,r10d
+	xor	r12d,r8d
+	shrd	r14d,r14d,11
+	vpsrld	xmm6,xmm7,10
+	xor	r15d,r11d
+	add	r9d,r12d
+	shrd	r13d,r13d,6
+	vpsrlq	xmm7,xmm7,17
+	and	edi,r15d
+	xor	r14d,r10d
+	add	r9d,r13d
+	vpxor	xmm6,xmm6,xmm7
+	xor	edi,r11d
+	shrd	r14d,r14d,2
+	add	ebx,r9d
+	vpsrlq	xmm7,xmm7,2
+	add	r9d,edi
+	mov	r13d,ebx
+	add	r14d,r9d
+	vpxor	xmm6,xmm6,xmm7
+	shrd	r13d,r13d,14
+	mov	r9d,r14d
+	mov	r12d,ecx
+	vpshufb	xmm6,xmm6,xmm9
+	shrd	r14d,r14d,9
+	xor	r13d,ebx
+	xor	r12d,edx
+	vpaddd	xmm2,xmm2,xmm6
+	shrd	r13d,r13d,5
+	xor	r14d,r9d
+	and	r12d,ebx
+	vpaddd	xmm6,xmm2,XMMWORD[64+rbp]
+	xor	r13d,ebx
+	add	r8d,DWORD[44+rsp]
+	mov	edi,r9d
+	xor	r12d,edx
+	shrd	r14d,r14d,11
+	xor	edi,r10d
+	add	r8d,r12d
+	shrd	r13d,r13d,6
+	and	r15d,edi
+	xor	r14d,r9d
+	add	r8d,r13d
+	xor	r15d,r10d
+	shrd	r14d,r14d,2
+	add	eax,r8d
+	add	r8d,r15d
+	mov	r13d,eax
+	add	r14d,r8d
+	vmovdqa	XMMWORD[32+rsp],xmm6
+	vpalignr	xmm4,xmm0,xmm3,4
+	shrd	r13d,r13d,14
+	mov	r8d,r14d
+	mov	r12d,ebx
+	vpalignr	xmm7,xmm2,xmm1,4
+	shrd	r14d,r14d,9
+	xor	r13d,eax
+	xor	r12d,ecx
+	vpsrld	xmm6,xmm4,7
+	shrd	r13d,r13d,5
+	xor	r14d,r8d
+	and	r12d,eax
+	vpaddd	xmm3,xmm3,xmm7
+	xor	r13d,eax
+	add	edx,DWORD[48+rsp]
+	mov	r15d,r8d
+	vpsrld	xmm7,xmm4,3
+	xor	r12d,ecx
+	shrd	r14d,r14d,11
+	xor	r15d,r9d
+	vpslld	xmm5,xmm4,14
+	add	edx,r12d
+	shrd	r13d,r13d,6
+	and	edi,r15d
+	vpxor	xmm4,xmm7,xmm6
+	xor	r14d,r8d
+	add	edx,r13d
+	xor	edi,r9d
+	vpshufd	xmm7,xmm2,250
+	shrd	r14d,r14d,2
+	add	r11d,edx
+	add	edx,edi
+	vpsrld	xmm6,xmm6,11
+	mov	r13d,r11d
+	add	r14d,edx
+	shrd	r13d,r13d,14
+	vpxor	xmm4,xmm4,xmm5
+	mov	edx,r14d
+	mov	r12d,eax
+	shrd	r14d,r14d,9
+	vpslld	xmm5,xmm5,11
+	xor	r13d,r11d
+	xor	r12d,ebx
+	shrd	r13d,r13d,5
+	vpxor	xmm4,xmm4,xmm6
+	xor	r14d,edx
+	and	r12d,r11d
+	xor	r13d,r11d
+	vpsrld	xmm6,xmm7,10
+	add	ecx,DWORD[52+rsp]
+	mov	edi,edx
+	xor	r12d,ebx
+	vpxor	xmm4,xmm4,xmm5
+	shrd	r14d,r14d,11
+	xor	edi,r8d
+	add	ecx,r12d
+	vpsrlq	xmm7,xmm7,17
+	shrd	r13d,r13d,6
+	and	r15d,edi
+	xor	r14d,edx
+	vpaddd	xmm3,xmm3,xmm4
+	add	ecx,r13d
+	xor	r15d,r8d
+	shrd	r14d,r14d,2
+	vpxor	xmm6,xmm6,xmm7
+	add	r10d,ecx
+	add	ecx,r15d
+	mov	r13d,r10d
+	vpsrlq	xmm7,xmm7,2
+	add	r14d,ecx
+	shrd	r13d,r13d,14
+	mov	ecx,r14d
+	vpxor	xmm6,xmm6,xmm7
+	mov	r12d,r11d
+	shrd	r14d,r14d,9
+	xor	r13d,r10d
+	vpshufb	xmm6,xmm6,xmm8
+	xor	r12d,eax
+	shrd	r13d,r13d,5
+	xor	r14d,ecx
+	vpaddd	xmm3,xmm3,xmm6
+	and	r12d,r10d
+	xor	r13d,r10d
+	add	ebx,DWORD[56+rsp]
+	vpshufd	xmm7,xmm3,80
+	mov	r15d,ecx
+	xor	r12d,eax
+	shrd	r14d,r14d,11
+	vpsrld	xmm6,xmm7,10
+	xor	r15d,edx
+	add	ebx,r12d
+	shrd	r13d,r13d,6
+	vpsrlq	xmm7,xmm7,17
+	and	edi,r15d
+	xor	r14d,ecx
+	add	ebx,r13d
+	vpxor	xmm6,xmm6,xmm7
+	xor	edi,edx
+	shrd	r14d,r14d,2
+	add	r9d,ebx
+	vpsrlq	xmm7,xmm7,2
+	add	ebx,edi
+	mov	r13d,r9d
+	add	r14d,ebx
+	vpxor	xmm6,xmm6,xmm7
+	shrd	r13d,r13d,14
+	mov	ebx,r14d
+	mov	r12d,r10d
+	vpshufb	xmm6,xmm6,xmm9
+	shrd	r14d,r14d,9
+	xor	r13d,r9d
+	xor	r12d,r11d
+	vpaddd	xmm3,xmm3,xmm6
+	shrd	r13d,r13d,5
+	xor	r14d,ebx
+	and	r12d,r9d
+	vpaddd	xmm6,xmm3,XMMWORD[96+rbp]
+	xor	r13d,r9d
+	add	eax,DWORD[60+rsp]
+	mov	edi,ebx
+	xor	r12d,r11d
+	shrd	r14d,r14d,11
+	xor	edi,ecx
+	add	eax,r12d
+	shrd	r13d,r13d,6
+	and	r15d,edi
+	xor	r14d,ebx
+	add	eax,r13d
+	xor	r15d,ecx
+	shrd	r14d,r14d,2
+	add	r8d,eax
+	add	eax,r15d
+	mov	r13d,r8d
+	add	r14d,eax
+	vmovdqa	XMMWORD[48+rsp],xmm6
+	cmp	BYTE[131+rbp],0
+	jne	NEAR $L$avx_00_47
+	shrd	r13d,r13d,14
+	mov	eax,r14d
+	mov	r12d,r9d
+	shrd	r14d,r14d,9
+	xor	r13d,r8d
+	xor	r12d,r10d
+	shrd	r13d,r13d,5
+	xor	r14d,eax
+	and	r12d,r8d
+	xor	r13d,r8d
+	add	r11d,DWORD[rsp]
+	mov	r15d,eax
+	xor	r12d,r10d
+	shrd	r14d,r14d,11
+	xor	r15d,ebx
+	add	r11d,r12d
+	shrd	r13d,r13d,6
+	and	edi,r15d
+	xor	r14d,eax
+	add	r11d,r13d
+	xor	edi,ebx
+	shrd	r14d,r14d,2
+	add	edx,r11d
+	add	r11d,edi
+	mov	r13d,edx
+	add	r14d,r11d
+	shrd	r13d,r13d,14
+	mov	r11d,r14d
+	mov	r12d,r8d
+	shrd	r14d,r14d,9
+	xor	r13d,edx
+	xor	r12d,r9d
+	shrd	r13d,r13d,5
+	xor	r14d,r11d
+	and	r12d,edx
+	xor	r13d,edx
+	add	r10d,DWORD[4+rsp]
+	mov	edi,r11d
+	xor	r12d,r9d
+	shrd	r14d,r14d,11
+	xor	edi,eax
+	add	r10d,r12d
+	shrd	r13d,r13d,6
+	and	r15d,edi
+	xor	r14d,r11d
+	add	r10d,r13d
+	xor	r15d,eax
+	shrd	r14d,r14d,2
+	add	ecx,r10d
+	add	r10d,r15d
+	mov	r13d,ecx
+	add	r14d,r10d
+	shrd	r13d,r13d,14
+	mov	r10d,r14d
+	mov	r12d,edx
+	shrd	r14d,r14d,9
+	xor	r13d,ecx
+	xor	r12d,r8d
+	shrd	r13d,r13d,5
+	xor	r14d,r10d
+	and	r12d,ecx
+	xor	r13d,ecx
+	add	r9d,DWORD[8+rsp]
+	mov	r15d,r10d
+	xor	r12d,r8d
+	shrd	r14d,r14d,11
+	xor	r15d,r11d
+	add	r9d,r12d
+	shrd	r13d,r13d,6
+	and	edi,r15d
+	xor	r14d,r10d
+	add	r9d,r13d
+	xor	edi,r11d
+	shrd	r14d,r14d,2
+	add	ebx,r9d
+	add	r9d,edi
+	mov	r13d,ebx
+	add	r14d,r9d
+	shrd	r13d,r13d,14
+	mov	r9d,r14d
+	mov	r12d,ecx
+	shrd	r14d,r14d,9
+	xor	r13d,ebx
+	xor	r12d,edx
+	shrd	r13d,r13d,5
+	xor	r14d,r9d
+	and	r12d,ebx
+	xor	r13d,ebx
+	add	r8d,DWORD[12+rsp]
+	mov	edi,r9d
+	xor	r12d,edx
+	shrd	r14d,r14d,11
+	xor	edi,r10d
+	add	r8d,r12d
+	shrd	r13d,r13d,6
+	and	r15d,edi
+	xor	r14d,r9d
+	add	r8d,r13d
+	xor	r15d,r10d
+	shrd	r14d,r14d,2
+	add	eax,r8d
+	add	r8d,r15d
+	mov	r13d,eax
+	add	r14d,r8d
+	shrd	r13d,r13d,14
+	mov	r8d,r14d
+	mov	r12d,ebx
+	shrd	r14d,r14d,9
+	xor	r13d,eax
+	xor	r12d,ecx
+	shrd	r13d,r13d,5
+	xor	r14d,r8d
+	and	r12d,eax
+	xor	r13d,eax
+	add	edx,DWORD[16+rsp]
+	mov	r15d,r8d
+	xor	r12d,ecx
+	shrd	r14d,r14d,11
+	xor	r15d,r9d
+	add	edx,r12d
+	shrd	r13d,r13d,6
+	and	edi,r15d
+	xor	r14d,r8d
+	add	edx,r13d
+	xor	edi,r9d
+	shrd	r14d,r14d,2
+	add	r11d,edx
+	add	edx,edi
+	mov	r13d,r11d
+	add	r14d,edx
+	shrd	r13d,r13d,14
+	mov	edx,r14d
+	mov	r12d,eax
+	shrd	r14d,r14d,9
+	xor	r13d,r11d
+	xor	r12d,ebx
+	shrd	r13d,r13d,5
+	xor	r14d,edx
+	and	r12d,r11d
+	xor	r13d,r11d
+	add	ecx,DWORD[20+rsp]
+	mov	edi,edx
+	xor	r12d,ebx
+	shrd	r14d,r14d,11
+	xor	edi,r8d
+	add	ecx,r12d
+	shrd	r13d,r13d,6
+	and	r15d,edi
+	xor	r14d,edx
+	add	ecx,r13d
+	xor	r15d,r8d
+	shrd	r14d,r14d,2
+	add	r10d,ecx
+	add	ecx,r15d
+	mov	r13d,r10d
+	add	r14d,ecx
+	shrd	r13d,r13d,14
+	mov	ecx,r14d
+	mov	r12d,r11d
+	shrd	r14d,r14d,9
+	xor	r13d,r10d
+	xor	r12d,eax
+	shrd	r13d,r13d,5
+	xor	r14d,ecx
+	and	r12d,r10d
+	xor	r13d,r10d
+	add	ebx,DWORD[24+rsp]
+	mov	r15d,ecx
+	xor	r12d,eax
+	shrd	r14d,r14d,11
+	xor	r15d,edx
+	add	ebx,r12d
+	shrd	r13d,r13d,6
+	and	edi,r15d
+	xor	r14d,ecx
+	add	ebx,r13d
+	xor	edi,edx
+	shrd	r14d,r14d,2
+	add	r9d,ebx
+	add	ebx,edi
+	mov	r13d,r9d
+	add	r14d,ebx
+	shrd	r13d,r13d,14
+	mov	ebx,r14d
+	mov	r12d,r10d
+	shrd	r14d,r14d,9
+	xor	r13d,r9d
+	xor	r12d,r11d
+	shrd	r13d,r13d,5
+	xor	r14d,ebx
+	and	r12d,r9d
+	xor	r13d,r9d
+	add	eax,DWORD[28+rsp]
+	mov	edi,ebx
+	xor	r12d,r11d
+	shrd	r14d,r14d,11
+	xor	edi,ecx
+	add	eax,r12d
+	shrd	r13d,r13d,6
+	and	r15d,edi
+	xor	r14d,ebx
+	add	eax,r13d
+	xor	r15d,ecx
+	shrd	r14d,r14d,2
+	add	r8d,eax
+	add	eax,r15d
+	mov	r13d,r8d
+	add	r14d,eax
+	shrd	r13d,r13d,14
+	mov	eax,r14d
+	mov	r12d,r9d
+	shrd	r14d,r14d,9
+	xor	r13d,r8d
+	xor	r12d,r10d
+	shrd	r13d,r13d,5
+	xor	r14d,eax
+	and	r12d,r8d
+	xor	r13d,r8d
+	add	r11d,DWORD[32+rsp]
+	mov	r15d,eax
+	xor	r12d,r10d
+	shrd	r14d,r14d,11
+	xor	r15d,ebx
+	add	r11d,r12d
+	shrd	r13d,r13d,6
+	and	edi,r15d
+	xor	r14d,eax
+	add	r11d,r13d
+	xor	edi,ebx
+	shrd	r14d,r14d,2
+	add	edx,r11d
+	add	r11d,edi
+	mov	r13d,edx
+	add	r14d,r11d
+	shrd	r13d,r13d,14
+	mov	r11d,r14d
+	mov	r12d,r8d
+	shrd	r14d,r14d,9
+	xor	r13d,edx
+	xor	r12d,r9d
+	shrd	r13d,r13d,5
+	xor	r14d,r11d
+	and	r12d,edx
+	xor	r13d,edx
+	add	r10d,DWORD[36+rsp]
+	mov	edi,r11d
+	xor	r12d,r9d
+	shrd	r14d,r14d,11
+	xor	edi,eax
+	add	r10d,r12d
+	shrd	r13d,r13d,6
+	and	r15d,edi
+	xor	r14d,r11d
+	add	r10d,r13d
+	xor	r15d,eax
+	shrd	r14d,r14d,2
+	add	ecx,r10d
+	add	r10d,r15d
+	mov	r13d,ecx
+	add	r14d,r10d
+	shrd	r13d,r13d,14
+	mov	r10d,r14d
+	mov	r12d,edx
+	shrd	r14d,r14d,9
+	xor	r13d,ecx
+	xor	r12d,r8d
+	shrd	r13d,r13d,5
+	xor	r14d,r10d
+	and	r12d,ecx
+	xor	r13d,ecx
+	add	r9d,DWORD[40+rsp]
+	mov	r15d,r10d
+	xor	r12d,r8d
+	shrd	r14d,r14d,11
+	xor	r15d,r11d
+	add	r9d,r12d
+	shrd	r13d,r13d,6
+	and	edi,r15d
+	xor	r14d,r10d
+	add	r9d,r13d
+	xor	edi,r11d
+	shrd	r14d,r14d,2
+	add	ebx,r9d
+	add	r9d,edi
+	mov	r13d,ebx
+	add	r14d,r9d
+	shrd	r13d,r13d,14
+	mov	r9d,r14d
+	mov	r12d,ecx
+	shrd	r14d,r14d,9
+	xor	r13d,ebx
+	xor	r12d,edx
+	shrd	r13d,r13d,5
+	xor	r14d,r9d
+	and	r12d,ebx
+	xor	r13d,ebx
+	add	r8d,DWORD[44+rsp]
+	mov	edi,r9d
+	xor	r12d,edx
+	shrd	r14d,r14d,11
+	xor	edi,r10d
+	add	r8d,r12d
+	shrd	r13d,r13d,6
+	and	r15d,edi
+	xor	r14d,r9d
+	add	r8d,r13d
+	xor	r15d,r10d
+	shrd	r14d,r14d,2
+	add	eax,r8d
+	add	r8d,r15d
+	mov	r13d,eax
+	add	r14d,r8d
+	shrd	r13d,r13d,14
+	mov	r8d,r14d
+	mov	r12d,ebx
+	shrd	r14d,r14d,9
+	xor	r13d,eax
+	xor	r12d,ecx
+	shrd	r13d,r13d,5
+	xor	r14d,r8d
+	and	r12d,eax
+	xor	r13d,eax
+	add	edx,DWORD[48+rsp]
+	mov	r15d,r8d
+	xor	r12d,ecx
+	shrd	r14d,r14d,11
+	xor	r15d,r9d
+	add	edx,r12d
+	shrd	r13d,r13d,6
+	and	edi,r15d
+	xor	r14d,r8d
+	add	edx,r13d
+	xor	edi,r9d
+	shrd	r14d,r14d,2
+	add	r11d,edx
+	add	edx,edi
+	mov	r13d,r11d
+	add	r14d,edx
+	shrd	r13d,r13d,14
+	mov	edx,r14d
+	mov	r12d,eax
+	shrd	r14d,r14d,9
+	xor	r13d,r11d
+	xor	r12d,ebx
+	shrd	r13d,r13d,5
+	xor	r14d,edx
+	and	r12d,r11d
+	xor	r13d,r11d
+	add	ecx,DWORD[52+rsp]
+	mov	edi,edx
+	xor	r12d,ebx
+	shrd	r14d,r14d,11
+	xor	edi,r8d
+	add	ecx,r12d
+	shrd	r13d,r13d,6
+	and	r15d,edi
+	xor	r14d,edx
+	add	ecx,r13d
+	xor	r15d,r8d
+	shrd	r14d,r14d,2
+	add	r10d,ecx
+	add	ecx,r15d
+	mov	r13d,r10d
+	add	r14d,ecx
+	shrd	r13d,r13d,14
+	mov	ecx,r14d
+	mov	r12d,r11d
+	shrd	r14d,r14d,9
+	xor	r13d,r10d
+	xor	r12d,eax
+	shrd	r13d,r13d,5
+	xor	r14d,ecx
+	and	r12d,r10d
+	xor	r13d,r10d
+	add	ebx,DWORD[56+rsp]
+	mov	r15d,ecx
+	xor	r12d,eax
+	shrd	r14d,r14d,11
+	xor	r15d,edx
+	add	ebx,r12d
+	shrd	r13d,r13d,6
+	and	edi,r15d
+	xor	r14d,ecx
+	add	ebx,r13d
+	xor	edi,edx
+	shrd	r14d,r14d,2
+	add	r9d,ebx
+	add	ebx,edi
+	mov	r13d,r9d
+	add	r14d,ebx
+	shrd	r13d,r13d,14
+	mov	ebx,r14d
+	mov	r12d,r10d
+	shrd	r14d,r14d,9
+	xor	r13d,r9d
+	xor	r12d,r11d
+	shrd	r13d,r13d,5
+	xor	r14d,ebx
+	and	r12d,r9d
+	xor	r13d,r9d
+	add	eax,DWORD[60+rsp]
+	mov	edi,ebx
+	xor	r12d,r11d
+	shrd	r14d,r14d,11
+	xor	edi,ecx
+	add	eax,r12d
+	shrd	r13d,r13d,6
+	and	r15d,edi
+	xor	r14d,ebx
+	add	eax,r13d
+	xor	r15d,ecx
+	shrd	r14d,r14d,2
+	add	r8d,eax
+	add	eax,r15d
+	mov	r13d,r8d
+	add	r14d,eax
+	mov	rdi,QWORD[((64+0))+rsp]
+	mov	eax,r14d
+
+	add	eax,DWORD[rdi]
+	lea	rsi,[64+rsi]
+	add	ebx,DWORD[4+rdi]
+	add	ecx,DWORD[8+rdi]
+	add	edx,DWORD[12+rdi]
+	add	r8d,DWORD[16+rdi]
+	add	r9d,DWORD[20+rdi]
+	add	r10d,DWORD[24+rdi]
+	add	r11d,DWORD[28+rdi]
+
+	cmp	rsi,QWORD[((64+16))+rsp]
+
+	mov	DWORD[rdi],eax
+	mov	DWORD[4+rdi],ebx
+	mov	DWORD[8+rdi],ecx
+	mov	DWORD[12+rdi],edx
+	mov	DWORD[16+rdi],r8d
+	mov	DWORD[20+rdi],r9d
+	mov	DWORD[24+rdi],r10d
+	mov	DWORD[28+rdi],r11d
+	jb	NEAR $L$loop_avx
+
+	mov	rsi,QWORD[((64+24))+rsp]
+	vzeroupper
+	movaps	xmm6,XMMWORD[((64+32))+rsp]
+	movaps	xmm7,XMMWORD[((64+48))+rsp]
+	movaps	xmm8,XMMWORD[((64+64))+rsp]
+	movaps	xmm9,XMMWORD[((64+80))+rsp]
+	mov	r15,QWORD[((-48))+rsi]
+	mov	r14,QWORD[((-40))+rsi]
+	mov	r13,QWORD[((-32))+rsi]
+	mov	r12,QWORD[((-24))+rsi]
+	mov	rbp,QWORD[((-16))+rsi]
+	mov	rbx,QWORD[((-8))+rsi]
+	lea	rsp,[rsi]
+$L$epilogue_avx:
+	mov	rdi,QWORD[8+rsp]	;WIN64 epilogue
+	mov	rsi,QWORD[16+rsp]
+	DB	0F3h,0C3h		;repret
+$L$SEH_end_sha256_block_data_order_avx:
+EXTERN	__imp_RtlVirtualUnwind
+
+ALIGN	16
+se_handler:
+	push	rsi
+	push	rdi
+	push	rbx
+	push	rbp
+	push	r12
+	push	r13
+	push	r14
+	push	r15
+	pushfq
+	sub	rsp,64
+
+	mov	rax,QWORD[120+r8]
+	mov	rbx,QWORD[248+r8]
+
+	mov	rsi,QWORD[8+r9]
+	mov	r11,QWORD[56+r9]
+
+	mov	r10d,DWORD[r11]
+	lea	r10,[r10*1+rsi]
+	cmp	rbx,r10
+	jb	NEAR $L$in_prologue
+
+	mov	rax,QWORD[152+r8]
+
+	mov	r10d,DWORD[4+r11]
+	lea	r10,[r10*1+rsi]
+	cmp	rbx,r10
+	jae	NEAR $L$in_prologue
+	mov	rsi,rax
+	mov	rax,QWORD[((64+24))+rax]
+
+	mov	rbx,QWORD[((-8))+rax]
+	mov	rbp,QWORD[((-16))+rax]
+	mov	r12,QWORD[((-24))+rax]
+	mov	r13,QWORD[((-32))+rax]
+	mov	r14,QWORD[((-40))+rax]
+	mov	r15,QWORD[((-48))+rax]
+	mov	QWORD[144+r8],rbx
+	mov	QWORD[160+r8],rbp
+	mov	QWORD[216+r8],r12
+	mov	QWORD[224+r8],r13
+	mov	QWORD[232+r8],r14
+	mov	QWORD[240+r8],r15
+
+	lea	r10,[$L$epilogue]
+	cmp	rbx,r10
+	jb	NEAR $L$in_prologue
+
+	lea	rsi,[((64+32))+rsi]
+	lea	rdi,[512+r8]
+	mov	ecx,8
+	DD	0xa548f3fc
+
+$L$in_prologue:
+	mov	rdi,QWORD[8+rax]
+	mov	rsi,QWORD[16+rax]
+	mov	QWORD[152+r8],rax
+	mov	QWORD[168+r8],rsi
+	mov	QWORD[176+r8],rdi
+
+	mov	rdi,QWORD[40+r9]
+	mov	rsi,r8
+	mov	ecx,154
+	DD	0xa548f3fc
+
+	mov	rsi,r9
+	xor	rcx,rcx
+	mov	rdx,QWORD[8+rsi]
+	mov	r8,QWORD[rsi]
+	mov	r9,QWORD[16+rsi]
+	mov	r10,QWORD[40+rsi]
+	lea	r11,[56+rsi]
+	lea	r12,[24+rsi]
+	mov	QWORD[32+rsp],r10
+	mov	QWORD[40+rsp],r11
+	mov	QWORD[48+rsp],r12
+	mov	QWORD[56+rsp],rcx
+	call	QWORD[__imp_RtlVirtualUnwind]
+
+	mov	eax,1
+	add	rsp,64
+	popfq
+	pop	r15
+	pop	r14
+	pop	r13
+	pop	r12
+	pop	rbp
+	pop	rbx
+	pop	rdi
+	pop	rsi
+	DB	0F3h,0C3h		;repret
+
+section	.pdata rdata align=4
+ALIGN	4
+	DD	$L$SEH_begin_sha256_block_data_order wrt ..imagebase
+	DD	$L$SEH_end_sha256_block_data_order wrt ..imagebase
+	DD	$L$SEH_info_sha256_block_data_order wrt ..imagebase
+	DD	$L$SEH_begin_sha256_block_data_order_ssse3 wrt ..imagebase
+	DD	$L$SEH_end_sha256_block_data_order_ssse3 wrt ..imagebase
+	DD	$L$SEH_info_sha256_block_data_order_ssse3 wrt ..imagebase
+	DD	$L$SEH_begin_sha256_block_data_order_avx wrt ..imagebase
+	DD	$L$SEH_end_sha256_block_data_order_avx wrt ..imagebase
+	DD	$L$SEH_info_sha256_block_data_order_avx wrt ..imagebase
+section	.xdata rdata align=8
+ALIGN	8
+$L$SEH_info_sha256_block_data_order:
+DB	9,0,0,0
+	DD	se_handler wrt ..imagebase
+	DD	$L$prologue wrt ..imagebase,$L$epilogue wrt ..imagebase
+$L$SEH_info_sha256_block_data_order_ssse3:
+DB	9,0,0,0
+	DD	se_handler wrt ..imagebase
+	DD	$L$prologue_ssse3 wrt ..imagebase,$L$epilogue_ssse3 wrt ..imagebase
+$L$SEH_info_sha256_block_data_order_avx:
+DB	9,0,0,0
+	DD	se_handler wrt ..imagebase
+	DD	$L$prologue_avx wrt ..imagebase,$L$epilogue_avx wrt ..imagebase
diff --git a/third_party/boringssl/win-x86_64/crypto/fipsmodule/sha512-x86_64.asm b/third_party/boringssl/win-x86_64/crypto/fipsmodule/sha512-x86_64.asm
new file mode 100644
index 0000000..1ee43c6c
--- /dev/null
+++ b/third_party/boringssl/win-x86_64/crypto/fipsmodule/sha512-x86_64.asm
@@ -0,0 +1,4213 @@
+default	rel
+%define XMMWORD
+%define YMMWORD
+%define ZMMWORD
+section	.text code align=64
+
+
+EXTERN	OPENSSL_ia32cap_addr
+global	sha512_block_data_order
+
+ALIGN	16
+sha512_block_data_order:
+	mov	QWORD[8+rsp],rdi	;WIN64 prologue
+	mov	QWORD[16+rsp],rsi
+	mov	rax,rsp
+$L$SEH_begin_sha512_block_data_order:
+	mov	rdi,rcx
+	mov	rsi,rdx
+	mov	rdx,r8
+
+
+	lea	r11,[OPENSSL_ia32cap_addr]
+	mov	r11,QWORD[r11]
+	mov	r9d,DWORD[r11]
+	mov	r10d,DWORD[4+r11]
+	mov	r11d,DWORD[8+r11]
+	test	r10d,2048
+	jnz	NEAR $L$xop_shortcut
+	and	r9d,1073741824
+	and	r10d,268435968
+	or	r10d,r9d
+	cmp	r10d,1342177792
+	je	NEAR $L$avx_shortcut
+	mov	rax,rsp
+	push	rbx
+	push	rbp
+	push	r12
+	push	r13
+	push	r14
+	push	r15
+	shl	rdx,4
+	sub	rsp,16*8+4*8
+	lea	rdx,[rdx*8+rsi]
+	and	rsp,-64
+	mov	QWORD[((128+0))+rsp],rdi
+	mov	QWORD[((128+8))+rsp],rsi
+	mov	QWORD[((128+16))+rsp],rdx
+	mov	QWORD[((128+24))+rsp],rax
+$L$prologue:
+
+	mov	rax,QWORD[rdi]
+	mov	rbx,QWORD[8+rdi]
+	mov	rcx,QWORD[16+rdi]
+	mov	rdx,QWORD[24+rdi]
+	mov	r8,QWORD[32+rdi]
+	mov	r9,QWORD[40+rdi]
+	mov	r10,QWORD[48+rdi]
+	mov	r11,QWORD[56+rdi]
+
+	jmp	NEAR $L$loop
+
+ALIGN	16
+$L$loop:
+	mov	rdi,rbx
+	lea	rbp,[K512]
+	xor	rdi,rcx
+	mov	r12,QWORD[rsi]
+	mov	r13,r8
+	mov	r14,rax
+	bswap	r12
+	ror	r13,23
+	mov	r15,r9
+
+	xor	r13,r8
+	ror	r14,5
+	xor	r15,r10
+
+	mov	QWORD[rsp],r12
+	xor	r14,rax
+	and	r15,r8
+
+	ror	r13,4
+	add	r12,r11
+	xor	r15,r10
+
+	ror	r14,6
+	xor	r13,r8
+	add	r12,r15
+
+	mov	r15,rax
+	add	r12,QWORD[rbp]
+	xor	r14,rax
+
+	xor	r15,rbx
+	ror	r13,14
+	mov	r11,rbx
+
+	and	rdi,r15
+	ror	r14,28
+	add	r12,r13
+
+	xor	r11,rdi
+	add	rdx,r12
+	add	r11,r12
+
+	lea	rbp,[8+rbp]
+	add	r11,r14
+	mov	r12,QWORD[8+rsi]
+	mov	r13,rdx
+	mov	r14,r11
+	bswap	r12
+	ror	r13,23
+	mov	rdi,r8
+
+	xor	r13,rdx
+	ror	r14,5
+	xor	rdi,r9
+
+	mov	QWORD[8+rsp],r12
+	xor	r14,r11
+	and	rdi,rdx
+
+	ror	r13,4
+	add	r12,r10
+	xor	rdi,r9
+
+	ror	r14,6
+	xor	r13,rdx
+	add	r12,rdi
+
+	mov	rdi,r11
+	add	r12,QWORD[rbp]
+	xor	r14,r11
+
+	xor	rdi,rax
+	ror	r13,14
+	mov	r10,rax
+
+	and	r15,rdi
+	ror	r14,28
+	add	r12,r13
+
+	xor	r10,r15
+	add	rcx,r12
+	add	r10,r12
+
+	lea	rbp,[24+rbp]
+	add	r10,r14
+	mov	r12,QWORD[16+rsi]
+	mov	r13,rcx
+	mov	r14,r10
+	bswap	r12
+	ror	r13,23
+	mov	r15,rdx
+
+	xor	r13,rcx
+	ror	r14,5
+	xor	r15,r8
+
+	mov	QWORD[16+rsp],r12
+	xor	r14,r10
+	and	r15,rcx
+
+	ror	r13,4
+	add	r12,r9
+	xor	r15,r8
+
+	ror	r14,6
+	xor	r13,rcx
+	add	r12,r15
+
+	mov	r15,r10
+	add	r12,QWORD[rbp]
+	xor	r14,r10
+
+	xor	r15,r11
+	ror	r13,14
+	mov	r9,r11
+
+	and	rdi,r15
+	ror	r14,28
+	add	r12,r13
+
+	xor	r9,rdi
+	add	rbx,r12
+	add	r9,r12
+
+	lea	rbp,[8+rbp]
+	add	r9,r14
+	mov	r12,QWORD[24+rsi]
+	mov	r13,rbx
+	mov	r14,r9
+	bswap	r12
+	ror	r13,23
+	mov	rdi,rcx
+
+	xor	r13,rbx
+	ror	r14,5
+	xor	rdi,rdx
+
+	mov	QWORD[24+rsp],r12
+	xor	r14,r9
+	and	rdi,rbx
+
+	ror	r13,4
+	add	r12,r8
+	xor	rdi,rdx
+
+	ror	r14,6
+	xor	r13,rbx
+	add	r12,rdi
+
+	mov	rdi,r9
+	add	r12,QWORD[rbp]
+	xor	r14,r9
+
+	xor	rdi,r10
+	ror	r13,14
+	mov	r8,r10
+
+	and	r15,rdi
+	ror	r14,28
+	add	r12,r13
+
+	xor	r8,r15
+	add	rax,r12
+	add	r8,r12
+
+	lea	rbp,[24+rbp]
+	add	r8,r14
+	mov	r12,QWORD[32+rsi]
+	mov	r13,rax
+	mov	r14,r8
+	bswap	r12
+	ror	r13,23
+	mov	r15,rbx
+
+	xor	r13,rax
+	ror	r14,5
+	xor	r15,rcx
+
+	mov	QWORD[32+rsp],r12
+	xor	r14,r8
+	and	r15,rax
+
+	ror	r13,4
+	add	r12,rdx
+	xor	r15,rcx
+
+	ror	r14,6
+	xor	r13,rax
+	add	r12,r15
+
+	mov	r15,r8
+	add	r12,QWORD[rbp]
+	xor	r14,r8
+
+	xor	r15,r9
+	ror	r13,14
+	mov	rdx,r9
+
+	and	rdi,r15
+	ror	r14,28
+	add	r12,r13
+
+	xor	rdx,rdi
+	add	r11,r12
+	add	rdx,r12
+
+	lea	rbp,[8+rbp]
+	add	rdx,r14
+	mov	r12,QWORD[40+rsi]
+	mov	r13,r11
+	mov	r14,rdx
+	bswap	r12
+	ror	r13,23
+	mov	rdi,rax
+
+	xor	r13,r11
+	ror	r14,5
+	xor	rdi,rbx
+
+	mov	QWORD[40+rsp],r12
+	xor	r14,rdx
+	and	rdi,r11
+
+	ror	r13,4
+	add	r12,rcx
+	xor	rdi,rbx
+
+	ror	r14,6
+	xor	r13,r11
+	add	r12,rdi
+
+	mov	rdi,rdx
+	add	r12,QWORD[rbp]
+	xor	r14,rdx
+
+	xor	rdi,r8
+	ror	r13,14
+	mov	rcx,r8
+
+	and	r15,rdi
+	ror	r14,28
+	add	r12,r13
+
+	xor	rcx,r15
+	add	r10,r12
+	add	rcx,r12
+
+	lea	rbp,[24+rbp]
+	add	rcx,r14
+	mov	r12,QWORD[48+rsi]
+	mov	r13,r10
+	mov	r14,rcx
+	bswap	r12
+	ror	r13,23
+	mov	r15,r11
+
+	xor	r13,r10
+	ror	r14,5
+	xor	r15,rax
+
+	mov	QWORD[48+rsp],r12
+	xor	r14,rcx
+	and	r15,r10
+
+	ror	r13,4
+	add	r12,rbx
+	xor	r15,rax
+
+	ror	r14,6
+	xor	r13,r10
+	add	r12,r15
+
+	mov	r15,rcx
+	add	r12,QWORD[rbp]
+	xor	r14,rcx
+
+	xor	r15,rdx
+	ror	r13,14
+	mov	rbx,rdx
+
+	and	rdi,r15
+	ror	r14,28
+	add	r12,r13
+
+	xor	rbx,rdi
+	add	r9,r12
+	add	rbx,r12
+
+	lea	rbp,[8+rbp]
+	add	rbx,r14
+	mov	r12,QWORD[56+rsi]
+	mov	r13,r9
+	mov	r14,rbx
+	bswap	r12
+	ror	r13,23
+	mov	rdi,r10
+
+	xor	r13,r9
+	ror	r14,5
+	xor	rdi,r11
+
+	mov	QWORD[56+rsp],r12
+	xor	r14,rbx
+	and	rdi,r9
+
+	ror	r13,4
+	add	r12,rax
+	xor	rdi,r11
+
+	ror	r14,6
+	xor	r13,r9
+	add	r12,rdi
+
+	mov	rdi,rbx
+	add	r12,QWORD[rbp]
+	xor	r14,rbx
+
+	xor	rdi,rcx
+	ror	r13,14
+	mov	rax,rcx
+
+	and	r15,rdi
+	ror	r14,28
+	add	r12,r13
+
+	xor	rax,r15
+	add	r8,r12
+	add	rax,r12
+
+	lea	rbp,[24+rbp]
+	add	rax,r14
+	mov	r12,QWORD[64+rsi]
+	mov	r13,r8
+	mov	r14,rax
+	bswap	r12
+	ror	r13,23
+	mov	r15,r9
+
+	xor	r13,r8
+	ror	r14,5
+	xor	r15,r10
+
+	mov	QWORD[64+rsp],r12
+	xor	r14,rax
+	and	r15,r8
+
+	ror	r13,4
+	add	r12,r11
+	xor	r15,r10
+
+	ror	r14,6
+	xor	r13,r8
+	add	r12,r15
+
+	mov	r15,rax
+	add	r12,QWORD[rbp]
+	xor	r14,rax
+
+	xor	r15,rbx
+	ror	r13,14
+	mov	r11,rbx
+
+	and	rdi,r15
+	ror	r14,28
+	add	r12,r13
+
+	xor	r11,rdi
+	add	rdx,r12
+	add	r11,r12
+
+	lea	rbp,[8+rbp]
+	add	r11,r14
+	mov	r12,QWORD[72+rsi]
+	mov	r13,rdx
+	mov	r14,r11
+	bswap	r12
+	ror	r13,23
+	mov	rdi,r8
+
+	xor	r13,rdx
+	ror	r14,5
+	xor	rdi,r9
+
+	mov	QWORD[72+rsp],r12
+	xor	r14,r11
+	and	rdi,rdx
+
+	ror	r13,4
+	add	r12,r10
+	xor	rdi,r9
+
+	ror	r14,6
+	xor	r13,rdx
+	add	r12,rdi
+
+	mov	rdi,r11
+	add	r12,QWORD[rbp]
+	xor	r14,r11
+
+	xor	rdi,rax
+	ror	r13,14
+	mov	r10,rax
+
+	and	r15,rdi
+	ror	r14,28
+	add	r12,r13
+
+	xor	r10,r15
+	add	rcx,r12
+	add	r10,r12
+
+	lea	rbp,[24+rbp]
+	add	r10,r14
+	mov	r12,QWORD[80+rsi]
+	mov	r13,rcx
+	mov	r14,r10
+	bswap	r12
+	ror	r13,23
+	mov	r15,rdx
+
+	xor	r13,rcx
+	ror	r14,5
+	xor	r15,r8
+
+	mov	QWORD[80+rsp],r12
+	xor	r14,r10
+	and	r15,rcx
+
+	ror	r13,4
+	add	r12,r9
+	xor	r15,r8
+
+	ror	r14,6
+	xor	r13,rcx
+	add	r12,r15
+
+	mov	r15,r10
+	add	r12,QWORD[rbp]
+	xor	r14,r10
+
+	xor	r15,r11
+	ror	r13,14
+	mov	r9,r11
+
+	and	rdi,r15
+	ror	r14,28
+	add	r12,r13
+
+	xor	r9,rdi
+	add	rbx,r12
+	add	r9,r12
+
+	lea	rbp,[8+rbp]
+	add	r9,r14
+	mov	r12,QWORD[88+rsi]
+	mov	r13,rbx
+	mov	r14,r9
+	bswap	r12
+	ror	r13,23
+	mov	rdi,rcx
+
+	xor	r13,rbx
+	ror	r14,5
+	xor	rdi,rdx
+
+	mov	QWORD[88+rsp],r12
+	xor	r14,r9
+	and	rdi,rbx
+
+	ror	r13,4
+	add	r12,r8
+	xor	rdi,rdx
+
+	ror	r14,6
+	xor	r13,rbx
+	add	r12,rdi
+
+	mov	rdi,r9
+	add	r12,QWORD[rbp]
+	xor	r14,r9
+
+	xor	rdi,r10
+	ror	r13,14
+	mov	r8,r10
+
+	and	r15,rdi
+	ror	r14,28
+	add	r12,r13
+
+	xor	r8,r15
+	add	rax,r12
+	add	r8,r12
+
+	lea	rbp,[24+rbp]
+	add	r8,r14
+	mov	r12,QWORD[96+rsi]
+	mov	r13,rax
+	mov	r14,r8
+	bswap	r12
+	ror	r13,23
+	mov	r15,rbx
+
+	xor	r13,rax
+	ror	r14,5
+	xor	r15,rcx
+
+	mov	QWORD[96+rsp],r12
+	xor	r14,r8
+	and	r15,rax
+
+	ror	r13,4
+	add	r12,rdx
+	xor	r15,rcx
+
+	ror	r14,6
+	xor	r13,rax
+	add	r12,r15
+
+	mov	r15,r8
+	add	r12,QWORD[rbp]
+	xor	r14,r8
+
+	xor	r15,r9
+	ror	r13,14
+	mov	rdx,r9
+
+	and	rdi,r15
+	ror	r14,28
+	add	r12,r13
+
+	xor	rdx,rdi
+	add	r11,r12
+	add	rdx,r12
+
+	lea	rbp,[8+rbp]
+	add	rdx,r14
+	mov	r12,QWORD[104+rsi]
+	mov	r13,r11
+	mov	r14,rdx
+	bswap	r12
+	ror	r13,23
+	mov	rdi,rax
+
+	xor	r13,r11
+	ror	r14,5
+	xor	rdi,rbx
+
+	mov	QWORD[104+rsp],r12
+	xor	r14,rdx
+	and	rdi,r11
+
+	ror	r13,4
+	add	r12,rcx
+	xor	rdi,rbx
+
+	ror	r14,6
+	xor	r13,r11
+	add	r12,rdi
+
+	mov	rdi,rdx
+	add	r12,QWORD[rbp]
+	xor	r14,rdx
+
+	xor	rdi,r8
+	ror	r13,14
+	mov	rcx,r8
+
+	and	r15,rdi
+	ror	r14,28
+	add	r12,r13
+
+	xor	rcx,r15
+	add	r10,r12
+	add	rcx,r12
+
+	lea	rbp,[24+rbp]
+	add	rcx,r14
+	mov	r12,QWORD[112+rsi]
+	mov	r13,r10
+	mov	r14,rcx
+	bswap	r12
+	ror	r13,23
+	mov	r15,r11
+
+	xor	r13,r10
+	ror	r14,5
+	xor	r15,rax
+
+	mov	QWORD[112+rsp],r12
+	xor	r14,rcx
+	and	r15,r10
+
+	ror	r13,4
+	add	r12,rbx
+	xor	r15,rax
+
+	ror	r14,6
+	xor	r13,r10
+	add	r12,r15
+
+	mov	r15,rcx
+	add	r12,QWORD[rbp]
+	xor	r14,rcx
+
+	xor	r15,rdx
+	ror	r13,14
+	mov	rbx,rdx
+
+	and	rdi,r15
+	ror	r14,28
+	add	r12,r13
+
+	xor	rbx,rdi
+	add	r9,r12
+	add	rbx,r12
+
+	lea	rbp,[8+rbp]
+	add	rbx,r14
+	mov	r12,QWORD[120+rsi]
+	mov	r13,r9
+	mov	r14,rbx
+	bswap	r12
+	ror	r13,23
+	mov	rdi,r10
+
+	xor	r13,r9
+	ror	r14,5
+	xor	rdi,r11
+
+	mov	QWORD[120+rsp],r12
+	xor	r14,rbx
+	and	rdi,r9
+
+	ror	r13,4
+	add	r12,rax
+	xor	rdi,r11
+
+	ror	r14,6
+	xor	r13,r9
+	add	r12,rdi
+
+	mov	rdi,rbx
+	add	r12,QWORD[rbp]
+	xor	r14,rbx
+
+	xor	rdi,rcx
+	ror	r13,14
+	mov	rax,rcx
+
+	and	r15,rdi
+	ror	r14,28
+	add	r12,r13
+
+	xor	rax,r15
+	add	r8,r12
+	add	rax,r12
+
+	lea	rbp,[24+rbp]
+	jmp	NEAR $L$rounds_16_xx
+ALIGN	16
+$L$rounds_16_xx:
+	mov	r13,QWORD[8+rsp]
+	mov	r15,QWORD[112+rsp]
+
+	mov	r12,r13
+	ror	r13,7
+	add	rax,r14
+	mov	r14,r15
+	ror	r15,42
+
+	xor	r13,r12
+	shr	r12,7
+	ror	r13,1
+	xor	r15,r14
+	shr	r14,6
+
+	ror	r15,19
+	xor	r12,r13
+	xor	r15,r14
+	add	r12,QWORD[72+rsp]
+
+	add	r12,QWORD[rsp]
+	mov	r13,r8
+	add	r12,r15
+	mov	r14,rax
+	ror	r13,23
+	mov	r15,r9
+
+	xor	r13,r8
+	ror	r14,5
+	xor	r15,r10
+
+	mov	QWORD[rsp],r12
+	xor	r14,rax
+	and	r15,r8
+
+	ror	r13,4
+	add	r12,r11
+	xor	r15,r10
+
+	ror	r14,6
+	xor	r13,r8
+	add	r12,r15
+
+	mov	r15,rax
+	add	r12,QWORD[rbp]
+	xor	r14,rax
+
+	xor	r15,rbx
+	ror	r13,14
+	mov	r11,rbx
+
+	and	rdi,r15
+	ror	r14,28
+	add	r12,r13
+
+	xor	r11,rdi
+	add	rdx,r12
+	add	r11,r12
+
+	lea	rbp,[8+rbp]
+	mov	r13,QWORD[16+rsp]
+	mov	rdi,QWORD[120+rsp]
+
+	mov	r12,r13
+	ror	r13,7
+	add	r11,r14
+	mov	r14,rdi
+	ror	rdi,42
+
+	xor	r13,r12
+	shr	r12,7
+	ror	r13,1
+	xor	rdi,r14
+	shr	r14,6
+
+	ror	rdi,19
+	xor	r12,r13
+	xor	rdi,r14
+	add	r12,QWORD[80+rsp]
+
+	add	r12,QWORD[8+rsp]
+	mov	r13,rdx
+	add	r12,rdi
+	mov	r14,r11
+	ror	r13,23
+	mov	rdi,r8
+
+	xor	r13,rdx
+	ror	r14,5
+	xor	rdi,r9
+
+	mov	QWORD[8+rsp],r12
+	xor	r14,r11
+	and	rdi,rdx
+
+	ror	r13,4
+	add	r12,r10
+	xor	rdi,r9
+
+	ror	r14,6
+	xor	r13,rdx
+	add	r12,rdi
+
+	mov	rdi,r11
+	add	r12,QWORD[rbp]
+	xor	r14,r11
+
+	xor	rdi,rax
+	ror	r13,14
+	mov	r10,rax
+
+	and	r15,rdi
+	ror	r14,28
+	add	r12,r13
+
+	xor	r10,r15
+	add	rcx,r12
+	add	r10,r12
+
+	lea	rbp,[24+rbp]
+	mov	r13,QWORD[24+rsp]
+	mov	r15,QWORD[rsp]
+
+	mov	r12,r13
+	ror	r13,7
+	add	r10,r14
+	mov	r14,r15
+	ror	r15,42
+
+	xor	r13,r12
+	shr	r12,7
+	ror	r13,1
+	xor	r15,r14
+	shr	r14,6
+
+	ror	r15,19
+	xor	r12,r13
+	xor	r15,r14
+	add	r12,QWORD[88+rsp]
+
+	add	r12,QWORD[16+rsp]
+	mov	r13,rcx
+	add	r12,r15
+	mov	r14,r10
+	ror	r13,23
+	mov	r15,rdx
+
+	xor	r13,rcx
+	ror	r14,5
+	xor	r15,r8
+
+	mov	QWORD[16+rsp],r12
+	xor	r14,r10
+	and	r15,rcx
+
+	ror	r13,4
+	add	r12,r9
+	xor	r15,r8
+
+	ror	r14,6
+	xor	r13,rcx
+	add	r12,r15
+
+	mov	r15,r10
+	add	r12,QWORD[rbp]
+	xor	r14,r10
+
+	xor	r15,r11
+	ror	r13,14
+	mov	r9,r11
+
+	and	rdi,r15
+	ror	r14,28
+	add	r12,r13
+
+	xor	r9,rdi
+	add	rbx,r12
+	add	r9,r12
+
+	lea	rbp,[8+rbp]
+	mov	r13,QWORD[32+rsp]
+	mov	rdi,QWORD[8+rsp]
+
+	mov	r12,r13
+	ror	r13,7
+	add	r9,r14
+	mov	r14,rdi
+	ror	rdi,42
+
+	xor	r13,r12
+	shr	r12,7
+	ror	r13,1
+	xor	rdi,r14
+	shr	r14,6
+
+	ror	rdi,19
+	xor	r12,r13
+	xor	rdi,r14
+	add	r12,QWORD[96+rsp]
+
+	add	r12,QWORD[24+rsp]
+	mov	r13,rbx
+	add	r12,rdi
+	mov	r14,r9
+	ror	r13,23
+	mov	rdi,rcx
+
+	xor	r13,rbx
+	ror	r14,5
+	xor	rdi,rdx
+
+	mov	QWORD[24+rsp],r12
+	xor	r14,r9
+	and	rdi,rbx
+
+	ror	r13,4
+	add	r12,r8
+	xor	rdi,rdx
+
+	ror	r14,6
+	xor	r13,rbx
+	add	r12,rdi
+
+	mov	rdi,r9
+	add	r12,QWORD[rbp]
+	xor	r14,r9
+
+	xor	rdi,r10
+	ror	r13,14
+	mov	r8,r10
+
+	and	r15,rdi
+	ror	r14,28
+	add	r12,r13
+
+	xor	r8,r15
+	add	rax,r12
+	add	r8,r12
+
+	lea	rbp,[24+rbp]
+	mov	r13,QWORD[40+rsp]
+	mov	r15,QWORD[16+rsp]
+
+	mov	r12,r13
+	ror	r13,7
+	add	r8,r14
+	mov	r14,r15
+	ror	r15,42
+
+	xor	r13,r12
+	shr	r12,7
+	ror	r13,1
+	xor	r15,r14
+	shr	r14,6
+
+	ror	r15,19
+	xor	r12,r13
+	xor	r15,r14
+	add	r12,QWORD[104+rsp]
+
+	add	r12,QWORD[32+rsp]
+	mov	r13,rax
+	add	r12,r15
+	mov	r14,r8
+	ror	r13,23
+	mov	r15,rbx
+
+	xor	r13,rax
+	ror	r14,5
+	xor	r15,rcx
+
+	mov	QWORD[32+rsp],r12
+	xor	r14,r8
+	and	r15,rax
+
+	ror	r13,4
+	add	r12,rdx
+	xor	r15,rcx
+
+	ror	r14,6
+	xor	r13,rax
+	add	r12,r15
+
+	mov	r15,r8
+	add	r12,QWORD[rbp]
+	xor	r14,r8
+
+	xor	r15,r9
+	ror	r13,14
+	mov	rdx,r9
+
+	and	rdi,r15
+	ror	r14,28
+	add	r12,r13
+
+	xor	rdx,rdi
+	add	r11,r12
+	add	rdx,r12
+
+	lea	rbp,[8+rbp]
+	mov	r13,QWORD[48+rsp]
+	mov	rdi,QWORD[24+rsp]
+
+	mov	r12,r13
+	ror	r13,7
+	add	rdx,r14
+	mov	r14,rdi
+	ror	rdi,42
+
+	xor	r13,r12
+	shr	r12,7
+	ror	r13,1
+	xor	rdi,r14
+	shr	r14,6
+
+	ror	rdi,19
+	xor	r12,r13
+	xor	rdi,r14
+	add	r12,QWORD[112+rsp]
+
+	add	r12,QWORD[40+rsp]
+	mov	r13,r11
+	add	r12,rdi
+	mov	r14,rdx
+	ror	r13,23
+	mov	rdi,rax
+
+	xor	r13,r11
+	ror	r14,5
+	xor	rdi,rbx
+
+	mov	QWORD[40+rsp],r12
+	xor	r14,rdx
+	and	rdi,r11
+
+	ror	r13,4
+	add	r12,rcx
+	xor	rdi,rbx
+
+	ror	r14,6
+	xor	r13,r11
+	add	r12,rdi
+
+	mov	rdi,rdx
+	add	r12,QWORD[rbp]
+	xor	r14,rdx
+
+	xor	rdi,r8
+	ror	r13,14
+	mov	rcx,r8
+
+	and	r15,rdi
+	ror	r14,28
+	add	r12,r13
+
+	xor	rcx,r15
+	add	r10,r12
+	add	rcx,r12
+
+	lea	rbp,[24+rbp]
+	mov	r13,QWORD[56+rsp]
+	mov	r15,QWORD[32+rsp]
+
+	mov	r12,r13
+	ror	r13,7
+	add	rcx,r14
+	mov	r14,r15
+	ror	r15,42
+
+	xor	r13,r12
+	shr	r12,7
+	ror	r13,1
+	xor	r15,r14
+	shr	r14,6
+
+	ror	r15,19
+	xor	r12,r13
+	xor	r15,r14
+	add	r12,QWORD[120+rsp]
+
+	add	r12,QWORD[48+rsp]
+	mov	r13,r10
+	add	r12,r15
+	mov	r14,rcx
+	ror	r13,23
+	mov	r15,r11
+
+	xor	r13,r10
+	ror	r14,5
+	xor	r15,rax
+
+	mov	QWORD[48+rsp],r12
+	xor	r14,rcx
+	and	r15,r10
+
+	ror	r13,4
+	add	r12,rbx
+	xor	r15,rax
+
+	ror	r14,6
+	xor	r13,r10
+	add	r12,r15
+
+	mov	r15,rcx
+	add	r12,QWORD[rbp]
+	xor	r14,rcx
+
+	xor	r15,rdx
+	ror	r13,14
+	mov	rbx,rdx
+
+	and	rdi,r15
+	ror	r14,28
+	add	r12,r13
+
+	xor	rbx,rdi
+	add	r9,r12
+	add	rbx,r12
+
+	lea	rbp,[8+rbp]
+	mov	r13,QWORD[64+rsp]
+	mov	rdi,QWORD[40+rsp]
+
+	mov	r12,r13
+	ror	r13,7
+	add	rbx,r14
+	mov	r14,rdi
+	ror	rdi,42
+
+	xor	r13,r12
+	shr	r12,7
+	ror	r13,1
+	xor	rdi,r14
+	shr	r14,6
+
+	ror	rdi,19
+	xor	r12,r13
+	xor	rdi,r14
+	add	r12,QWORD[rsp]
+
+	add	r12,QWORD[56+rsp]
+	mov	r13,r9
+	add	r12,rdi
+	mov	r14,rbx
+	ror	r13,23
+	mov	rdi,r10
+
+	xor	r13,r9
+	ror	r14,5
+	xor	rdi,r11
+
+	mov	QWORD[56+rsp],r12
+	xor	r14,rbx
+	and	rdi,r9
+
+	ror	r13,4
+	add	r12,rax
+	xor	rdi,r11
+
+	ror	r14,6
+	xor	r13,r9
+	add	r12,rdi
+
+	mov	rdi,rbx
+	add	r12,QWORD[rbp]
+	xor	r14,rbx
+
+	xor	rdi,rcx
+	ror	r13,14
+	mov	rax,rcx
+
+	and	r15,rdi
+	ror	r14,28
+	add	r12,r13
+
+	xor	rax,r15
+	add	r8,r12
+	add	rax,r12
+
+	lea	rbp,[24+rbp]
+	mov	r13,QWORD[72+rsp]
+	mov	r15,QWORD[48+rsp]
+
+	mov	r12,r13
+	ror	r13,7
+	add	rax,r14
+	mov	r14,r15
+	ror	r15,42
+
+	xor	r13,r12
+	shr	r12,7
+	ror	r13,1
+	xor	r15,r14
+	shr	r14,6
+
+	ror	r15,19
+	xor	r12,r13
+	xor	r15,r14
+	add	r12,QWORD[8+rsp]
+
+	add	r12,QWORD[64+rsp]
+	mov	r13,r8
+	add	r12,r15
+	mov	r14,rax
+	ror	r13,23
+	mov	r15,r9
+
+	xor	r13,r8
+	ror	r14,5
+	xor	r15,r10
+
+	mov	QWORD[64+rsp],r12
+	xor	r14,rax
+	and	r15,r8
+
+	ror	r13,4
+	add	r12,r11
+	xor	r15,r10
+
+	ror	r14,6
+	xor	r13,r8
+	add	r12,r15
+
+	mov	r15,rax
+	add	r12,QWORD[rbp]
+	xor	r14,rax
+
+	xor	r15,rbx
+	ror	r13,14
+	mov	r11,rbx
+
+	and	rdi,r15
+	ror	r14,28
+	add	r12,r13
+
+	xor	r11,rdi
+	add	rdx,r12
+	add	r11,r12
+
+	lea	rbp,[8+rbp]
+	mov	r13,QWORD[80+rsp]
+	mov	rdi,QWORD[56+rsp]
+
+	mov	r12,r13
+	ror	r13,7
+	add	r11,r14
+	mov	r14,rdi
+	ror	rdi,42
+
+	xor	r13,r12
+	shr	r12,7
+	ror	r13,1
+	xor	rdi,r14
+	shr	r14,6
+
+	ror	rdi,19
+	xor	r12,r13
+	xor	rdi,r14
+	add	r12,QWORD[16+rsp]
+
+	add	r12,QWORD[72+rsp]
+	mov	r13,rdx
+	add	r12,rdi
+	mov	r14,r11
+	ror	r13,23
+	mov	rdi,r8
+
+	xor	r13,rdx
+	ror	r14,5
+	xor	rdi,r9
+
+	mov	QWORD[72+rsp],r12
+	xor	r14,r11
+	and	rdi,rdx
+
+	ror	r13,4
+	add	r12,r10
+	xor	rdi,r9
+
+	ror	r14,6
+	xor	r13,rdx
+	add	r12,rdi
+
+	mov	rdi,r11
+	add	r12,QWORD[rbp]
+	xor	r14,r11
+
+	xor	rdi,rax
+	ror	r13,14
+	mov	r10,rax
+
+	and	r15,rdi
+	ror	r14,28
+	add	r12,r13
+
+	xor	r10,r15
+	add	rcx,r12
+	add	r10,r12
+
+	lea	rbp,[24+rbp]
+	mov	r13,QWORD[88+rsp]
+	mov	r15,QWORD[64+rsp]
+
+	mov	r12,r13
+	ror	r13,7
+	add	r10,r14
+	mov	r14,r15
+	ror	r15,42
+
+	xor	r13,r12
+	shr	r12,7
+	ror	r13,1
+	xor	r15,r14
+	shr	r14,6
+
+	ror	r15,19
+	xor	r12,r13
+	xor	r15,r14
+	add	r12,QWORD[24+rsp]
+
+	add	r12,QWORD[80+rsp]
+	mov	r13,rcx
+	add	r12,r15
+	mov	r14,r10
+	ror	r13,23
+	mov	r15,rdx
+
+	xor	r13,rcx
+	ror	r14,5
+	xor	r15,r8
+
+	mov	QWORD[80+rsp],r12
+	xor	r14,r10
+	and	r15,rcx
+
+	ror	r13,4
+	add	r12,r9
+	xor	r15,r8
+
+	ror	r14,6
+	xor	r13,rcx
+	add	r12,r15
+
+	mov	r15,r10
+	add	r12,QWORD[rbp]
+	xor	r14,r10
+
+	xor	r15,r11
+	ror	r13,14
+	mov	r9,r11
+
+	and	rdi,r15
+	ror	r14,28
+	add	r12,r13
+
+	xor	r9,rdi
+	add	rbx,r12
+	add	r9,r12
+
+	lea	rbp,[8+rbp]
+	mov	r13,QWORD[96+rsp]
+	mov	rdi,QWORD[72+rsp]
+
+	mov	r12,r13
+	ror	r13,7
+	add	r9,r14
+	mov	r14,rdi
+	ror	rdi,42
+
+	xor	r13,r12
+	shr	r12,7
+	ror	r13,1
+	xor	rdi,r14
+	shr	r14,6
+
+	ror	rdi,19
+	xor	r12,r13
+	xor	rdi,r14
+	add	r12,QWORD[32+rsp]
+
+	add	r12,QWORD[88+rsp]
+	mov	r13,rbx
+	add	r12,rdi
+	mov	r14,r9
+	ror	r13,23
+	mov	rdi,rcx
+
+	xor	r13,rbx
+	ror	r14,5
+	xor	rdi,rdx
+
+	mov	QWORD[88+rsp],r12
+	xor	r14,r9
+	and	rdi,rbx
+
+	ror	r13,4
+	add	r12,r8
+	xor	rdi,rdx
+
+	ror	r14,6
+	xor	r13,rbx
+	add	r12,rdi
+
+	mov	rdi,r9
+	add	r12,QWORD[rbp]
+	xor	r14,r9
+
+	xor	rdi,r10
+	ror	r13,14
+	mov	r8,r10
+
+	and	r15,rdi
+	ror	r14,28
+	add	r12,r13
+
+	xor	r8,r15
+	add	rax,r12
+	add	r8,r12
+
+	lea	rbp,[24+rbp]
+	mov	r13,QWORD[104+rsp]
+	mov	r15,QWORD[80+rsp]
+
+	mov	r12,r13
+	ror	r13,7
+	add	r8,r14
+	mov	r14,r15
+	ror	r15,42
+
+	xor	r13,r12
+	shr	r12,7
+	ror	r13,1
+	xor	r15,r14
+	shr	r14,6
+
+	ror	r15,19
+	xor	r12,r13
+	xor	r15,r14
+	add	r12,QWORD[40+rsp]
+
+	add	r12,QWORD[96+rsp]
+	mov	r13,rax
+	add	r12,r15
+	mov	r14,r8
+	ror	r13,23
+	mov	r15,rbx
+
+	xor	r13,rax
+	ror	r14,5
+	xor	r15,rcx
+
+	mov	QWORD[96+rsp],r12
+	xor	r14,r8
+	and	r15,rax
+
+	ror	r13,4
+	add	r12,rdx
+	xor	r15,rcx
+
+	ror	r14,6
+	xor	r13,rax
+	add	r12,r15
+
+	mov	r15,r8
+	add	r12,QWORD[rbp]
+	xor	r14,r8
+
+	xor	r15,r9
+	ror	r13,14
+	mov	rdx,r9
+
+	and	rdi,r15
+	ror	r14,28
+	add	r12,r13
+
+	xor	rdx,rdi
+	add	r11,r12
+	add	rdx,r12
+
+	lea	rbp,[8+rbp]
+	mov	r13,QWORD[112+rsp]
+	mov	rdi,QWORD[88+rsp]
+
+	mov	r12,r13
+	ror	r13,7
+	add	rdx,r14
+	mov	r14,rdi
+	ror	rdi,42
+
+	xor	r13,r12
+	shr	r12,7
+	ror	r13,1
+	xor	rdi,r14
+	shr	r14,6
+
+	ror	rdi,19
+	xor	r12,r13
+	xor	rdi,r14
+	add	r12,QWORD[48+rsp]
+
+	add	r12,QWORD[104+rsp]
+	mov	r13,r11
+	add	r12,rdi
+	mov	r14,rdx
+	ror	r13,23
+	mov	rdi,rax
+
+	xor	r13,r11
+	ror	r14,5
+	xor	rdi,rbx
+
+	mov	QWORD[104+rsp],r12
+	xor	r14,rdx
+	and	rdi,r11
+
+	ror	r13,4
+	add	r12,rcx
+	xor	rdi,rbx
+
+	ror	r14,6
+	xor	r13,r11
+	add	r12,rdi
+
+	mov	rdi,rdx
+	add	r12,QWORD[rbp]
+	xor	r14,rdx
+
+	xor	rdi,r8
+	ror	r13,14
+	mov	rcx,r8
+
+	and	r15,rdi
+	ror	r14,28
+	add	r12,r13
+
+	xor	rcx,r15
+	add	r10,r12
+	add	rcx,r12
+
+	lea	rbp,[24+rbp]
+	mov	r13,QWORD[120+rsp]
+	mov	r15,QWORD[96+rsp]
+
+	mov	r12,r13
+	ror	r13,7
+	add	rcx,r14
+	mov	r14,r15
+	ror	r15,42
+
+	xor	r13,r12
+	shr	r12,7
+	ror	r13,1
+	xor	r15,r14
+	shr	r14,6
+
+	ror	r15,19
+	xor	r12,r13
+	xor	r15,r14
+	add	r12,QWORD[56+rsp]
+
+	add	r12,QWORD[112+rsp]
+	mov	r13,r10
+	add	r12,r15
+	mov	r14,rcx
+	ror	r13,23
+	mov	r15,r11
+
+	xor	r13,r10
+	ror	r14,5
+	xor	r15,rax
+
+	mov	QWORD[112+rsp],r12
+	xor	r14,rcx
+	and	r15,r10
+
+	ror	r13,4
+	add	r12,rbx
+	xor	r15,rax
+
+	ror	r14,6
+	xor	r13,r10
+	add	r12,r15
+
+	mov	r15,rcx
+	add	r12,QWORD[rbp]
+	xor	r14,rcx
+
+	xor	r15,rdx
+	ror	r13,14
+	mov	rbx,rdx
+
+	and	rdi,r15
+	ror	r14,28
+	add	r12,r13
+
+	xor	rbx,rdi
+	add	r9,r12
+	add	rbx,r12
+
+	lea	rbp,[8+rbp]
+	mov	r13,QWORD[rsp]
+	mov	rdi,QWORD[104+rsp]
+
+	mov	r12,r13
+	ror	r13,7
+	add	rbx,r14
+	mov	r14,rdi
+	ror	rdi,42
+
+	xor	r13,r12
+	shr	r12,7
+	ror	r13,1
+	xor	rdi,r14
+	shr	r14,6
+
+	ror	rdi,19
+	xor	r12,r13
+	xor	rdi,r14
+	add	r12,QWORD[64+rsp]
+
+	add	r12,QWORD[120+rsp]
+	mov	r13,r9
+	add	r12,rdi
+	mov	r14,rbx
+	ror	r13,23
+	mov	rdi,r10
+
+	xor	r13,r9
+	ror	r14,5
+	xor	rdi,r11
+
+	mov	QWORD[120+rsp],r12
+	xor	r14,rbx
+	and	rdi,r9
+
+	ror	r13,4
+	add	r12,rax
+	xor	rdi,r11
+
+	ror	r14,6
+	xor	r13,r9
+	add	r12,rdi
+
+	mov	rdi,rbx
+	add	r12,QWORD[rbp]
+	xor	r14,rbx
+
+	xor	rdi,rcx
+	ror	r13,14
+	mov	rax,rcx
+
+	and	r15,rdi
+	ror	r14,28
+	add	r12,r13
+
+	xor	rax,r15
+	add	r8,r12
+	add	rax,r12
+
+	lea	rbp,[24+rbp]
+	cmp	BYTE[7+rbp],0
+	jnz	NEAR $L$rounds_16_xx
+
+	mov	rdi,QWORD[((128+0))+rsp]
+	add	rax,r14
+	lea	rsi,[128+rsi]
+
+	add	rax,QWORD[rdi]
+	add	rbx,QWORD[8+rdi]
+	add	rcx,QWORD[16+rdi]
+	add	rdx,QWORD[24+rdi]
+	add	r8,QWORD[32+rdi]
+	add	r9,QWORD[40+rdi]
+	add	r10,QWORD[48+rdi]
+	add	r11,QWORD[56+rdi]
+
+	cmp	rsi,QWORD[((128+16))+rsp]
+
+	mov	QWORD[rdi],rax
+	mov	QWORD[8+rdi],rbx
+	mov	QWORD[16+rdi],rcx
+	mov	QWORD[24+rdi],rdx
+	mov	QWORD[32+rdi],r8
+	mov	QWORD[40+rdi],r9
+	mov	QWORD[48+rdi],r10
+	mov	QWORD[56+rdi],r11
+	jb	NEAR $L$loop
+
+	mov	rsi,QWORD[((128+24))+rsp]
+	mov	r15,QWORD[((-48))+rsi]
+	mov	r14,QWORD[((-40))+rsi]
+	mov	r13,QWORD[((-32))+rsi]
+	mov	r12,QWORD[((-24))+rsi]
+	mov	rbp,QWORD[((-16))+rsi]
+	mov	rbx,QWORD[((-8))+rsi]
+	lea	rsp,[rsi]
+$L$epilogue:
+	mov	rdi,QWORD[8+rsp]	;WIN64 epilogue
+	mov	rsi,QWORD[16+rsp]
+	DB	0F3h,0C3h		;repret
+$L$SEH_end_sha512_block_data_order:
+ALIGN	64
+
+K512:
+	DQ	0x428a2f98d728ae22,0x7137449123ef65cd
+	DQ	0x428a2f98d728ae22,0x7137449123ef65cd
+	DQ	0xb5c0fbcfec4d3b2f,0xe9b5dba58189dbbc
+	DQ	0xb5c0fbcfec4d3b2f,0xe9b5dba58189dbbc
+	DQ	0x3956c25bf348b538,0x59f111f1b605d019
+	DQ	0x3956c25bf348b538,0x59f111f1b605d019
+	DQ	0x923f82a4af194f9b,0xab1c5ed5da6d8118
+	DQ	0x923f82a4af194f9b,0xab1c5ed5da6d8118
+	DQ	0xd807aa98a3030242,0x12835b0145706fbe
+	DQ	0xd807aa98a3030242,0x12835b0145706fbe
+	DQ	0x243185be4ee4b28c,0x550c7dc3d5ffb4e2
+	DQ	0x243185be4ee4b28c,0x550c7dc3d5ffb4e2
+	DQ	0x72be5d74f27b896f,0x80deb1fe3b1696b1
+	DQ	0x72be5d74f27b896f,0x80deb1fe3b1696b1
+	DQ	0x9bdc06a725c71235,0xc19bf174cf692694
+	DQ	0x9bdc06a725c71235,0xc19bf174cf692694
+	DQ	0xe49b69c19ef14ad2,0xefbe4786384f25e3
+	DQ	0xe49b69c19ef14ad2,0xefbe4786384f25e3
+	DQ	0x0fc19dc68b8cd5b5,0x240ca1cc77ac9c65
+	DQ	0x0fc19dc68b8cd5b5,0x240ca1cc77ac9c65
+	DQ	0x2de92c6f592b0275,0x4a7484aa6ea6e483
+	DQ	0x2de92c6f592b0275,0x4a7484aa6ea6e483
+	DQ	0x5cb0a9dcbd41fbd4,0x76f988da831153b5
+	DQ	0x5cb0a9dcbd41fbd4,0x76f988da831153b5
+	DQ	0x983e5152ee66dfab,0xa831c66d2db43210
+	DQ	0x983e5152ee66dfab,0xa831c66d2db43210
+	DQ	0xb00327c898fb213f,0xbf597fc7beef0ee4
+	DQ	0xb00327c898fb213f,0xbf597fc7beef0ee4
+	DQ	0xc6e00bf33da88fc2,0xd5a79147930aa725
+	DQ	0xc6e00bf33da88fc2,0xd5a79147930aa725
+	DQ	0x06ca6351e003826f,0x142929670a0e6e70
+	DQ	0x06ca6351e003826f,0x142929670a0e6e70
+	DQ	0x27b70a8546d22ffc,0x2e1b21385c26c926
+	DQ	0x27b70a8546d22ffc,0x2e1b21385c26c926
+	DQ	0x4d2c6dfc5ac42aed,0x53380d139d95b3df
+	DQ	0x4d2c6dfc5ac42aed,0x53380d139d95b3df
+	DQ	0x650a73548baf63de,0x766a0abb3c77b2a8
+	DQ	0x650a73548baf63de,0x766a0abb3c77b2a8
+	DQ	0x81c2c92e47edaee6,0x92722c851482353b
+	DQ	0x81c2c92e47edaee6,0x92722c851482353b
+	DQ	0xa2bfe8a14cf10364,0xa81a664bbc423001
+	DQ	0xa2bfe8a14cf10364,0xa81a664bbc423001
+	DQ	0xc24b8b70d0f89791,0xc76c51a30654be30
+	DQ	0xc24b8b70d0f89791,0xc76c51a30654be30
+	DQ	0xd192e819d6ef5218,0xd69906245565a910
+	DQ	0xd192e819d6ef5218,0xd69906245565a910
+	DQ	0xf40e35855771202a,0x106aa07032bbd1b8
+	DQ	0xf40e35855771202a,0x106aa07032bbd1b8
+	DQ	0x19a4c116b8d2d0c8,0x1e376c085141ab53
+	DQ	0x19a4c116b8d2d0c8,0x1e376c085141ab53
+	DQ	0x2748774cdf8eeb99,0x34b0bcb5e19b48a8
+	DQ	0x2748774cdf8eeb99,0x34b0bcb5e19b48a8
+	DQ	0x391c0cb3c5c95a63,0x4ed8aa4ae3418acb
+	DQ	0x391c0cb3c5c95a63,0x4ed8aa4ae3418acb
+	DQ	0x5b9cca4f7763e373,0x682e6ff3d6b2b8a3
+	DQ	0x5b9cca4f7763e373,0x682e6ff3d6b2b8a3
+	DQ	0x748f82ee5defb2fc,0x78a5636f43172f60
+	DQ	0x748f82ee5defb2fc,0x78a5636f43172f60
+	DQ	0x84c87814a1f0ab72,0x8cc702081a6439ec
+	DQ	0x84c87814a1f0ab72,0x8cc702081a6439ec
+	DQ	0x90befffa23631e28,0xa4506cebde82bde9
+	DQ	0x90befffa23631e28,0xa4506cebde82bde9
+	DQ	0xbef9a3f7b2c67915,0xc67178f2e372532b
+	DQ	0xbef9a3f7b2c67915,0xc67178f2e372532b
+	DQ	0xca273eceea26619c,0xd186b8c721c0c207
+	DQ	0xca273eceea26619c,0xd186b8c721c0c207
+	DQ	0xeada7dd6cde0eb1e,0xf57d4f7fee6ed178
+	DQ	0xeada7dd6cde0eb1e,0xf57d4f7fee6ed178
+	DQ	0x06f067aa72176fba,0x0a637dc5a2c898a6
+	DQ	0x06f067aa72176fba,0x0a637dc5a2c898a6
+	DQ	0x113f9804bef90dae,0x1b710b35131c471b
+	DQ	0x113f9804bef90dae,0x1b710b35131c471b
+	DQ	0x28db77f523047d84,0x32caab7b40c72493
+	DQ	0x28db77f523047d84,0x32caab7b40c72493
+	DQ	0x3c9ebe0a15c9bebc,0x431d67c49c100d4c
+	DQ	0x3c9ebe0a15c9bebc,0x431d67c49c100d4c
+	DQ	0x4cc5d4becb3e42b6,0x597f299cfc657e2a
+	DQ	0x4cc5d4becb3e42b6,0x597f299cfc657e2a
+	DQ	0x5fcb6fab3ad6faec,0x6c44198c4a475817
+	DQ	0x5fcb6fab3ad6faec,0x6c44198c4a475817
+
+	DQ	0x0001020304050607,0x08090a0b0c0d0e0f
+	DQ	0x0001020304050607,0x08090a0b0c0d0e0f
+DB	83,72,65,53,49,50,32,98,108,111,99,107,32,116,114,97
+DB	110,115,102,111,114,109,32,102,111,114,32,120,56,54,95,54
+DB	52,44,32,67,82,89,80,84,79,71,65,77,83,32,98,121
+DB	32,60,97,112,112,114,111,64,111,112,101,110,115,115,108,46
+DB	111,114,103,62,0
+
+ALIGN	64
+sha512_block_data_order_xop:
+	mov	QWORD[8+rsp],rdi	;WIN64 prologue
+	mov	QWORD[16+rsp],rsi
+	mov	rax,rsp
+$L$SEH_begin_sha512_block_data_order_xop:
+	mov	rdi,rcx
+	mov	rsi,rdx
+	mov	rdx,r8
+
+
+$L$xop_shortcut:
+	mov	rax,rsp
+	push	rbx
+	push	rbp
+	push	r12
+	push	r13
+	push	r14
+	push	r15
+	shl	rdx,4
+	sub	rsp,256
+	lea	rdx,[rdx*8+rsi]
+	and	rsp,-64
+	mov	QWORD[((128+0))+rsp],rdi
+	mov	QWORD[((128+8))+rsp],rsi
+	mov	QWORD[((128+16))+rsp],rdx
+	mov	QWORD[((128+24))+rsp],rax
+	movaps	XMMWORD[(128+32)+rsp],xmm6
+	movaps	XMMWORD[(128+48)+rsp],xmm7
+	movaps	XMMWORD[(128+64)+rsp],xmm8
+	movaps	XMMWORD[(128+80)+rsp],xmm9
+	movaps	XMMWORD[(128+96)+rsp],xmm10
+	movaps	XMMWORD[(128+112)+rsp],xmm11
+$L$prologue_xop:
+
+	vzeroupper
+	mov	rax,QWORD[rdi]
+	mov	rbx,QWORD[8+rdi]
+	mov	rcx,QWORD[16+rdi]
+	mov	rdx,QWORD[24+rdi]
+	mov	r8,QWORD[32+rdi]
+	mov	r9,QWORD[40+rdi]
+	mov	r10,QWORD[48+rdi]
+	mov	r11,QWORD[56+rdi]
+	jmp	NEAR $L$loop_xop
+ALIGN	16
+$L$loop_xop:
+	vmovdqa	xmm11,XMMWORD[((K512+1280))]
+	vmovdqu	xmm0,XMMWORD[rsi]
+	lea	rbp,[((K512+128))]
+	vmovdqu	xmm1,XMMWORD[16+rsi]
+	vmovdqu	xmm2,XMMWORD[32+rsi]
+	vpshufb	xmm0,xmm0,xmm11
+	vmovdqu	xmm3,XMMWORD[48+rsi]
+	vpshufb	xmm1,xmm1,xmm11
+	vmovdqu	xmm4,XMMWORD[64+rsi]
+	vpshufb	xmm2,xmm2,xmm11
+	vmovdqu	xmm5,XMMWORD[80+rsi]
+	vpshufb	xmm3,xmm3,xmm11
+	vmovdqu	xmm6,XMMWORD[96+rsi]
+	vpshufb	xmm4,xmm4,xmm11
+	vmovdqu	xmm7,XMMWORD[112+rsi]
+	vpshufb	xmm5,xmm5,xmm11
+	vpaddq	xmm8,xmm0,XMMWORD[((-128))+rbp]
+	vpshufb	xmm6,xmm6,xmm11
+	vpaddq	xmm9,xmm1,XMMWORD[((-96))+rbp]
+	vpshufb	xmm7,xmm7,xmm11
+	vpaddq	xmm10,xmm2,XMMWORD[((-64))+rbp]
+	vpaddq	xmm11,xmm3,XMMWORD[((-32))+rbp]
+	vmovdqa	XMMWORD[rsp],xmm8
+	vpaddq	xmm8,xmm4,XMMWORD[rbp]
+	vmovdqa	XMMWORD[16+rsp],xmm9
+	vpaddq	xmm9,xmm5,XMMWORD[32+rbp]
+	vmovdqa	XMMWORD[32+rsp],xmm10
+	vpaddq	xmm10,xmm6,XMMWORD[64+rbp]
+	vmovdqa	XMMWORD[48+rsp],xmm11
+	vpaddq	xmm11,xmm7,XMMWORD[96+rbp]
+	vmovdqa	XMMWORD[64+rsp],xmm8
+	mov	r14,rax
+	vmovdqa	XMMWORD[80+rsp],xmm9
+	mov	rdi,rbx
+	vmovdqa	XMMWORD[96+rsp],xmm10
+	xor	rdi,rcx
+	vmovdqa	XMMWORD[112+rsp],xmm11
+	mov	r13,r8
+	jmp	NEAR $L$xop_00_47
+
+ALIGN	16
+$L$xop_00_47:
+	add	rbp,256
+	vpalignr	xmm8,xmm1,xmm0,8
+	ror	r13,23
+	mov	rax,r14
+	vpalignr	xmm11,xmm5,xmm4,8
+	mov	r12,r9
+	ror	r14,5
+DB	143,72,120,195,200,56
+	xor	r13,r8
+	xor	r12,r10
+	vpsrlq	xmm8,xmm8,7
+	ror	r13,4
+	xor	r14,rax
+	vpaddq	xmm0,xmm0,xmm11
+	and	r12,r8
+	xor	r13,r8
+	add	r11,QWORD[rsp]
+	mov	r15,rax
+DB	143,72,120,195,209,7
+	xor	r12,r10
+	ror	r14,6
+	vpxor	xmm8,xmm8,xmm9
+	xor	r15,rbx
+	add	r11,r12
+	ror	r13,14
+	and	rdi,r15
+DB	143,104,120,195,223,3
+	xor	r14,rax
+	add	r11,r13
+	vpxor	xmm8,xmm8,xmm10
+	xor	rdi,rbx
+	ror	r14,28
+	vpsrlq	xmm10,xmm7,6
+	add	rdx,r11
+	add	r11,rdi
+	vpaddq	xmm0,xmm0,xmm8
+	mov	r13,rdx
+	add	r14,r11
+DB	143,72,120,195,203,42
+	ror	r13,23
+	mov	r11,r14
+	vpxor	xmm11,xmm11,xmm10
+	mov	r12,r8
+	ror	r14,5
+	xor	r13,rdx
+	xor	r12,r9
+	vpxor	xmm11,xmm11,xmm9
+	ror	r13,4
+	xor	r14,r11
+	and	r12,rdx
+	xor	r13,rdx
+	vpaddq	xmm0,xmm0,xmm11
+	add	r10,QWORD[8+rsp]
+	mov	rdi,r11
+	xor	r12,r9
+	ror	r14,6
+	vpaddq	xmm10,xmm0,XMMWORD[((-128))+rbp]
+	xor	rdi,rax
+	add	r10,r12
+	ror	r13,14
+	and	r15,rdi
+	xor	r14,r11
+	add	r10,r13
+	xor	r15,rax
+	ror	r14,28
+	add	rcx,r10
+	add	r10,r15
+	mov	r13,rcx
+	add	r14,r10
+	vmovdqa	XMMWORD[rsp],xmm10
+	vpalignr	xmm8,xmm2,xmm1,8
+	ror	r13,23
+	mov	r10,r14
+	vpalignr	xmm11,xmm6,xmm5,8
+	mov	r12,rdx
+	ror	r14,5
+DB	143,72,120,195,200,56
+	xor	r13,rcx
+	xor	r12,r8
+	vpsrlq	xmm8,xmm8,7
+	ror	r13,4
+	xor	r14,r10
+	vpaddq	xmm1,xmm1,xmm11
+	and	r12,rcx
+	xor	r13,rcx
+	add	r9,QWORD[16+rsp]
+	mov	r15,r10
+DB	143,72,120,195,209,7
+	xor	r12,r8
+	ror	r14,6
+	vpxor	xmm8,xmm8,xmm9
+	xor	r15,r11
+	add	r9,r12
+	ror	r13,14
+	and	rdi,r15
+DB	143,104,120,195,216,3
+	xor	r14,r10
+	add	r9,r13
+	vpxor	xmm8,xmm8,xmm10
+	xor	rdi,r11
+	ror	r14,28
+	vpsrlq	xmm10,xmm0,6
+	add	rbx,r9
+	add	r9,rdi
+	vpaddq	xmm1,xmm1,xmm8
+	mov	r13,rbx
+	add	r14,r9
+DB	143,72,120,195,203,42
+	ror	r13,23
+	mov	r9,r14
+	vpxor	xmm11,xmm11,xmm10
+	mov	r12,rcx
+	ror	r14,5
+	xor	r13,rbx
+	xor	r12,rdx
+	vpxor	xmm11,xmm11,xmm9
+	ror	r13,4
+	xor	r14,r9
+	and	r12,rbx
+	xor	r13,rbx
+	vpaddq	xmm1,xmm1,xmm11
+	add	r8,QWORD[24+rsp]
+	mov	rdi,r9
+	xor	r12,rdx
+	ror	r14,6
+	vpaddq	xmm10,xmm1,XMMWORD[((-96))+rbp]
+	xor	rdi,r10
+	add	r8,r12
+	ror	r13,14
+	and	r15,rdi
+	xor	r14,r9
+	add	r8,r13
+	xor	r15,r10
+	ror	r14,28
+	add	rax,r8
+	add	r8,r15
+	mov	r13,rax
+	add	r14,r8
+	vmovdqa	XMMWORD[16+rsp],xmm10
+	vpalignr	xmm8,xmm3,xmm2,8
+	ror	r13,23
+	mov	r8,r14
+	vpalignr	xmm11,xmm7,xmm6,8
+	mov	r12,rbx
+	ror	r14,5
+DB	143,72,120,195,200,56
+	xor	r13,rax
+	xor	r12,rcx
+	vpsrlq	xmm8,xmm8,7
+	ror	r13,4
+	xor	r14,r8
+	vpaddq	xmm2,xmm2,xmm11
+	and	r12,rax
+	xor	r13,rax
+	add	rdx,QWORD[32+rsp]
+	mov	r15,r8
+DB	143,72,120,195,209,7
+	xor	r12,rcx
+	ror	r14,6
+	vpxor	xmm8,xmm8,xmm9
+	xor	r15,r9
+	add	rdx,r12
+	ror	r13,14
+	and	rdi,r15
+DB	143,104,120,195,217,3
+	xor	r14,r8
+	add	rdx,r13
+	vpxor	xmm8,xmm8,xmm10
+	xor	rdi,r9
+	ror	r14,28
+	vpsrlq	xmm10,xmm1,6
+	add	r11,rdx
+	add	rdx,rdi
+	vpaddq	xmm2,xmm2,xmm8
+	mov	r13,r11
+	add	r14,rdx
+DB	143,72,120,195,203,42
+	ror	r13,23
+	mov	rdx,r14
+	vpxor	xmm11,xmm11,xmm10
+	mov	r12,rax
+	ror	r14,5
+	xor	r13,r11
+	xor	r12,rbx
+	vpxor	xmm11,xmm11,xmm9
+	ror	r13,4
+	xor	r14,rdx
+	and	r12,r11
+	xor	r13,r11
+	vpaddq	xmm2,xmm2,xmm11
+	add	rcx,QWORD[40+rsp]
+	mov	rdi,rdx
+	xor	r12,rbx
+	ror	r14,6
+	vpaddq	xmm10,xmm2,XMMWORD[((-64))+rbp]
+	xor	rdi,r8
+	add	rcx,r12
+	ror	r13,14
+	and	r15,rdi
+	xor	r14,rdx
+	add	rcx,r13
+	xor	r15,r8
+	ror	r14,28
+	add	r10,rcx
+	add	rcx,r15
+	mov	r13,r10
+	add	r14,rcx
+	vmovdqa	XMMWORD[32+rsp],xmm10
+	vpalignr	xmm8,xmm4,xmm3,8
+	ror	r13,23
+	mov	rcx,r14
+	vpalignr	xmm11,xmm0,xmm7,8
+	mov	r12,r11
+	ror	r14,5
+DB	143,72,120,195,200,56
+	xor	r13,r10
+	xor	r12,rax
+	vpsrlq	xmm8,xmm8,7
+	ror	r13,4
+	xor	r14,rcx
+	vpaddq	xmm3,xmm3,xmm11
+	and	r12,r10
+	xor	r13,r10
+	add	rbx,QWORD[48+rsp]
+	mov	r15,rcx
+DB	143,72,120,195,209,7
+	xor	r12,rax
+	ror	r14,6
+	vpxor	xmm8,xmm8,xmm9
+	xor	r15,rdx
+	add	rbx,r12
+	ror	r13,14
+	and	rdi,r15
+DB	143,104,120,195,218,3
+	xor	r14,rcx
+	add	rbx,r13
+	vpxor	xmm8,xmm8,xmm10
+	xor	rdi,rdx
+	ror	r14,28
+	vpsrlq	xmm10,xmm2,6
+	add	r9,rbx
+	add	rbx,rdi
+	vpaddq	xmm3,xmm3,xmm8
+	mov	r13,r9
+	add	r14,rbx
+DB	143,72,120,195,203,42
+	ror	r13,23
+	mov	rbx,r14
+	vpxor	xmm11,xmm11,xmm10
+	mov	r12,r10
+	ror	r14,5
+	xor	r13,r9
+	xor	r12,r11
+	vpxor	xmm11,xmm11,xmm9
+	ror	r13,4
+	xor	r14,rbx
+	and	r12,r9
+	xor	r13,r9
+	vpaddq	xmm3,xmm3,xmm11
+	add	rax,QWORD[56+rsp]
+	mov	rdi,rbx
+	xor	r12,r11
+	ror	r14,6
+	vpaddq	xmm10,xmm3,XMMWORD[((-32))+rbp]
+	xor	rdi,rcx
+	add	rax,r12
+	ror	r13,14
+	and	r15,rdi
+	xor	r14,rbx
+	add	rax,r13
+	xor	r15,rcx
+	ror	r14,28
+	add	r8,rax
+	add	rax,r15
+	mov	r13,r8
+	add	r14,rax
+	vmovdqa	XMMWORD[48+rsp],xmm10
+	vpalignr	xmm8,xmm5,xmm4,8
+	ror	r13,23
+	mov	rax,r14
+	vpalignr	xmm11,xmm1,xmm0,8
+	mov	r12,r9
+	ror	r14,5
+DB	143,72,120,195,200,56
+	xor	r13,r8
+	xor	r12,r10
+	vpsrlq	xmm8,xmm8,7
+	ror	r13,4
+	xor	r14,rax
+	vpaddq	xmm4,xmm4,xmm11
+	and	r12,r8
+	xor	r13,r8
+	add	r11,QWORD[64+rsp]
+	mov	r15,rax
+DB	143,72,120,195,209,7
+	xor	r12,r10
+	ror	r14,6
+	vpxor	xmm8,xmm8,xmm9
+	xor	r15,rbx
+	add	r11,r12
+	ror	r13,14
+	and	rdi,r15
+DB	143,104,120,195,219,3
+	xor	r14,rax
+	add	r11,r13
+	vpxor	xmm8,xmm8,xmm10
+	xor	rdi,rbx
+	ror	r14,28
+	vpsrlq	xmm10,xmm3,6
+	add	rdx,r11
+	add	r11,rdi
+	vpaddq	xmm4,xmm4,xmm8
+	mov	r13,rdx
+	add	r14,r11
+DB	143,72,120,195,203,42
+	ror	r13,23
+	mov	r11,r14
+	vpxor	xmm11,xmm11,xmm10
+	mov	r12,r8
+	ror	r14,5
+	xor	r13,rdx
+	xor	r12,r9
+	vpxor	xmm11,xmm11,xmm9
+	ror	r13,4
+	xor	r14,r11
+	and	r12,rdx
+	xor	r13,rdx
+	vpaddq	xmm4,xmm4,xmm11
+	add	r10,QWORD[72+rsp]
+	mov	rdi,r11
+	xor	r12,r9
+	ror	r14,6
+	vpaddq	xmm10,xmm4,XMMWORD[rbp]
+	xor	rdi,rax
+	add	r10,r12
+	ror	r13,14
+	and	r15,rdi
+	xor	r14,r11
+	add	r10,r13
+	xor	r15,rax
+	ror	r14,28
+	add	rcx,r10
+	add	r10,r15
+	mov	r13,rcx
+	add	r14,r10
+	vmovdqa	XMMWORD[64+rsp],xmm10
+	vpalignr	xmm8,xmm6,xmm5,8
+	ror	r13,23
+	mov	r10,r14
+	vpalignr	xmm11,xmm2,xmm1,8
+	mov	r12,rdx
+	ror	r14,5
+DB	143,72,120,195,200,56
+	xor	r13,rcx
+	xor	r12,r8
+	vpsrlq	xmm8,xmm8,7
+	ror	r13,4
+	xor	r14,r10
+	vpaddq	xmm5,xmm5,xmm11
+	and	r12,rcx
+	xor	r13,rcx
+	add	r9,QWORD[80+rsp]
+	mov	r15,r10
+DB	143,72,120,195,209,7
+	xor	r12,r8
+	ror	r14,6
+	vpxor	xmm8,xmm8,xmm9
+	xor	r15,r11
+	add	r9,r12
+	ror	r13,14
+	and	rdi,r15
+DB	143,104,120,195,220,3
+	xor	r14,r10
+	add	r9,r13
+	vpxor	xmm8,xmm8,xmm10
+	xor	rdi,r11
+	ror	r14,28
+	vpsrlq	xmm10,xmm4,6
+	add	rbx,r9
+	add	r9,rdi
+	vpaddq	xmm5,xmm5,xmm8
+	mov	r13,rbx
+	add	r14,r9
+DB	143,72,120,195,203,42
+	ror	r13,23
+	mov	r9,r14
+	vpxor	xmm11,xmm11,xmm10
+	mov	r12,rcx
+	ror	r14,5
+	xor	r13,rbx
+	xor	r12,rdx
+	vpxor	xmm11,xmm11,xmm9
+	ror	r13,4
+	xor	r14,r9
+	and	r12,rbx
+	xor	r13,rbx
+	vpaddq	xmm5,xmm5,xmm11
+	add	r8,QWORD[88+rsp]
+	mov	rdi,r9
+	xor	r12,rdx
+	ror	r14,6
+	vpaddq	xmm10,xmm5,XMMWORD[32+rbp]
+	xor	rdi,r10
+	add	r8,r12
+	ror	r13,14
+	and	r15,rdi
+	xor	r14,r9
+	add	r8,r13
+	xor	r15,r10
+	ror	r14,28
+	add	rax,r8
+	add	r8,r15
+	mov	r13,rax
+	add	r14,r8
+	vmovdqa	XMMWORD[80+rsp],xmm10
+	vpalignr	xmm8,xmm7,xmm6,8
+	ror	r13,23
+	mov	r8,r14
+	vpalignr	xmm11,xmm3,xmm2,8
+	mov	r12,rbx
+	ror	r14,5
+DB	143,72,120,195,200,56
+	xor	r13,rax
+	xor	r12,rcx
+	vpsrlq	xmm8,xmm8,7
+	ror	r13,4
+	xor	r14,r8
+	vpaddq	xmm6,xmm6,xmm11
+	and	r12,rax
+	xor	r13,rax
+	add	rdx,QWORD[96+rsp]
+	mov	r15,r8
+DB	143,72,120,195,209,7
+	xor	r12,rcx
+	ror	r14,6
+	vpxor	xmm8,xmm8,xmm9
+	xor	r15,r9
+	add	rdx,r12
+	ror	r13,14
+	and	rdi,r15
+DB	143,104,120,195,221,3
+	xor	r14,r8
+	add	rdx,r13
+	vpxor	xmm8,xmm8,xmm10
+	xor	rdi,r9
+	ror	r14,28
+	vpsrlq	xmm10,xmm5,6
+	add	r11,rdx
+	add	rdx,rdi
+	vpaddq	xmm6,xmm6,xmm8
+	mov	r13,r11
+	add	r14,rdx
+DB	143,72,120,195,203,42
+	ror	r13,23
+	mov	rdx,r14
+	vpxor	xmm11,xmm11,xmm10
+	mov	r12,rax
+	ror	r14,5
+	xor	r13,r11
+	xor	r12,rbx
+	vpxor	xmm11,xmm11,xmm9
+	ror	r13,4
+	xor	r14,rdx
+	and	r12,r11
+	xor	r13,r11
+	vpaddq	xmm6,xmm6,xmm11
+	add	rcx,QWORD[104+rsp]
+	mov	rdi,rdx
+	xor	r12,rbx
+	ror	r14,6
+	vpaddq	xmm10,xmm6,XMMWORD[64+rbp]
+	xor	rdi,r8
+	add	rcx,r12
+	ror	r13,14
+	and	r15,rdi
+	xor	r14,rdx
+	add	rcx,r13
+	xor	r15,r8
+	ror	r14,28
+	add	r10,rcx
+	add	rcx,r15
+	mov	r13,r10
+	add	r14,rcx
+	vmovdqa	XMMWORD[96+rsp],xmm10
+	vpalignr	xmm8,xmm0,xmm7,8
+	ror	r13,23
+	mov	rcx,r14
+	vpalignr	xmm11,xmm4,xmm3,8
+	mov	r12,r11
+	ror	r14,5
+DB	143,72,120,195,200,56
+	xor	r13,r10
+	xor	r12,rax
+	vpsrlq	xmm8,xmm8,7
+	ror	r13,4
+	xor	r14,rcx
+	vpaddq	xmm7,xmm7,xmm11
+	and	r12,r10
+	xor	r13,r10
+	add	rbx,QWORD[112+rsp]
+	mov	r15,rcx
+DB	143,72,120,195,209,7
+	xor	r12,rax
+	ror	r14,6
+	vpxor	xmm8,xmm8,xmm9
+	xor	r15,rdx
+	add	rbx,r12
+	ror	r13,14
+	and	rdi,r15
+DB	143,104,120,195,222,3
+	xor	r14,rcx
+	add	rbx,r13
+	vpxor	xmm8,xmm8,xmm10
+	xor	rdi,rdx
+	ror	r14,28
+	vpsrlq	xmm10,xmm6,6
+	add	r9,rbx
+	add	rbx,rdi
+	vpaddq	xmm7,xmm7,xmm8
+	mov	r13,r9
+	add	r14,rbx
+DB	143,72,120,195,203,42
+	ror	r13,23
+	mov	rbx,r14
+	vpxor	xmm11,xmm11,xmm10
+	mov	r12,r10
+	ror	r14,5
+	xor	r13,r9
+	xor	r12,r11
+	vpxor	xmm11,xmm11,xmm9
+	ror	r13,4
+	xor	r14,rbx
+	and	r12,r9
+	xor	r13,r9
+	vpaddq	xmm7,xmm7,xmm11
+	add	rax,QWORD[120+rsp]
+	mov	rdi,rbx
+	xor	r12,r11
+	ror	r14,6
+	vpaddq	xmm10,xmm7,XMMWORD[96+rbp]
+	xor	rdi,rcx
+	add	rax,r12
+	ror	r13,14
+	and	r15,rdi
+	xor	r14,rbx
+	add	rax,r13
+	xor	r15,rcx
+	ror	r14,28
+	add	r8,rax
+	add	rax,r15
+	mov	r13,r8
+	add	r14,rax
+	vmovdqa	XMMWORD[112+rsp],xmm10
+	cmp	BYTE[135+rbp],0
+	jne	NEAR $L$xop_00_47
+	ror	r13,23
+	mov	rax,r14
+	mov	r12,r9
+	ror	r14,5
+	xor	r13,r8
+	xor	r12,r10
+	ror	r13,4
+	xor	r14,rax
+	and	r12,r8
+	xor	r13,r8
+	add	r11,QWORD[rsp]
+	mov	r15,rax
+	xor	r12,r10
+	ror	r14,6
+	xor	r15,rbx
+	add	r11,r12
+	ror	r13,14
+	and	rdi,r15
+	xor	r14,rax
+	add	r11,r13
+	xor	rdi,rbx
+	ror	r14,28
+	add	rdx,r11
+	add	r11,rdi
+	mov	r13,rdx
+	add	r14,r11
+	ror	r13,23
+	mov	r11,r14
+	mov	r12,r8
+	ror	r14,5
+	xor	r13,rdx
+	xor	r12,r9
+	ror	r13,4
+	xor	r14,r11
+	and	r12,rdx
+	xor	r13,rdx
+	add	r10,QWORD[8+rsp]
+	mov	rdi,r11
+	xor	r12,r9
+	ror	r14,6
+	xor	rdi,rax
+	add	r10,r12
+	ror	r13,14
+	and	r15,rdi
+	xor	r14,r11
+	add	r10,r13
+	xor	r15,rax
+	ror	r14,28
+	add	rcx,r10
+	add	r10,r15
+	mov	r13,rcx
+	add	r14,r10
+	ror	r13,23
+	mov	r10,r14
+	mov	r12,rdx
+	ror	r14,5
+	xor	r13,rcx
+	xor	r12,r8
+	ror	r13,4
+	xor	r14,r10
+	and	r12,rcx
+	xor	r13,rcx
+	add	r9,QWORD[16+rsp]
+	mov	r15,r10
+	xor	r12,r8
+	ror	r14,6
+	xor	r15,r11
+	add	r9,r12
+	ror	r13,14
+	and	rdi,r15
+	xor	r14,r10
+	add	r9,r13
+	xor	rdi,r11
+	ror	r14,28
+	add	rbx,r9
+	add	r9,rdi
+	mov	r13,rbx
+	add	r14,r9
+	ror	r13,23
+	mov	r9,r14
+	mov	r12,rcx
+	ror	r14,5
+	xor	r13,rbx
+	xor	r12,rdx
+	ror	r13,4
+	xor	r14,r9
+	and	r12,rbx
+	xor	r13,rbx
+	add	r8,QWORD[24+rsp]
+	mov	rdi,r9
+	xor	r12,rdx
+	ror	r14,6
+	xor	rdi,r10
+	add	r8,r12
+	ror	r13,14
+	and	r15,rdi
+	xor	r14,r9
+	add	r8,r13
+	xor	r15,r10
+	ror	r14,28
+	add	rax,r8
+	add	r8,r15
+	mov	r13,rax
+	add	r14,r8
+	ror	r13,23
+	mov	r8,r14
+	mov	r12,rbx
+	ror	r14,5
+	xor	r13,rax
+	xor	r12,rcx
+	ror	r13,4
+	xor	r14,r8
+	and	r12,rax
+	xor	r13,rax
+	add	rdx,QWORD[32+rsp]
+	mov	r15,r8
+	xor	r12,rcx
+	ror	r14,6
+	xor	r15,r9
+	add	rdx,r12
+	ror	r13,14
+	and	rdi,r15
+	xor	r14,r8
+	add	rdx,r13
+	xor	rdi,r9
+	ror	r14,28
+	add	r11,rdx
+	add	rdx,rdi
+	mov	r13,r11
+	add	r14,rdx
+	ror	r13,23
+	mov	rdx,r14
+	mov	r12,rax
+	ror	r14,5
+	xor	r13,r11
+	xor	r12,rbx
+	ror	r13,4
+	xor	r14,rdx
+	and	r12,r11
+	xor	r13,r11
+	add	rcx,QWORD[40+rsp]
+	mov	rdi,rdx
+	xor	r12,rbx
+	ror	r14,6
+	xor	rdi,r8
+	add	rcx,r12
+	ror	r13,14
+	and	r15,rdi
+	xor	r14,rdx
+	add	rcx,r13
+	xor	r15,r8
+	ror	r14,28
+	add	r10,rcx
+	add	rcx,r15
+	mov	r13,r10
+	add	r14,rcx
+	ror	r13,23
+	mov	rcx,r14
+	mov	r12,r11
+	ror	r14,5
+	xor	r13,r10
+	xor	r12,rax
+	ror	r13,4
+	xor	r14,rcx
+	and	r12,r10
+	xor	r13,r10
+	add	rbx,QWORD[48+rsp]
+	mov	r15,rcx
+	xor	r12,rax
+	ror	r14,6
+	xor	r15,rdx
+	add	rbx,r12
+	ror	r13,14
+	and	rdi,r15
+	xor	r14,rcx
+	add	rbx,r13
+	xor	rdi,rdx
+	ror	r14,28
+	add	r9,rbx
+	add	rbx,rdi
+	mov	r13,r9
+	add	r14,rbx
+	ror	r13,23
+	mov	rbx,r14
+	mov	r12,r10
+	ror	r14,5
+	xor	r13,r9
+	xor	r12,r11
+	ror	r13,4
+	xor	r14,rbx
+	and	r12,r9
+	xor	r13,r9
+	add	rax,QWORD[56+rsp]
+	mov	rdi,rbx
+	xor	r12,r11
+	ror	r14,6
+	xor	rdi,rcx
+	add	rax,r12
+	ror	r13,14
+	and	r15,rdi
+	xor	r14,rbx
+	add	rax,r13
+	xor	r15,rcx
+	ror	r14,28
+	add	r8,rax
+	add	rax,r15
+	mov	r13,r8
+	add	r14,rax
+	ror	r13,23
+	mov	rax,r14
+	mov	r12,r9
+	ror	r14,5
+	xor	r13,r8
+	xor	r12,r10
+	ror	r13,4
+	xor	r14,rax
+	and	r12,r8
+	xor	r13,r8
+	add	r11,QWORD[64+rsp]
+	mov	r15,rax
+	xor	r12,r10
+	ror	r14,6
+	xor	r15,rbx
+	add	r11,r12
+	ror	r13,14
+	and	rdi,r15
+	xor	r14,rax
+	add	r11,r13
+	xor	rdi,rbx
+	ror	r14,28
+	add	rdx,r11
+	add	r11,rdi
+	mov	r13,rdx
+	add	r14,r11
+	ror	r13,23
+	mov	r11,r14
+	mov	r12,r8
+	ror	r14,5
+	xor	r13,rdx
+	xor	r12,r9
+	ror	r13,4
+	xor	r14,r11
+	and	r12,rdx
+	xor	r13,rdx
+	add	r10,QWORD[72+rsp]
+	mov	rdi,r11
+	xor	r12,r9
+	ror	r14,6
+	xor	rdi,rax
+	add	r10,r12
+	ror	r13,14
+	and	r15,rdi
+	xor	r14,r11
+	add	r10,r13
+	xor	r15,rax
+	ror	r14,28
+	add	rcx,r10
+	add	r10,r15
+	mov	r13,rcx
+	add	r14,r10
+	ror	r13,23
+	mov	r10,r14
+	mov	r12,rdx
+	ror	r14,5
+	xor	r13,rcx
+	xor	r12,r8
+	ror	r13,4
+	xor	r14,r10
+	and	r12,rcx
+	xor	r13,rcx
+	add	r9,QWORD[80+rsp]
+	mov	r15,r10
+	xor	r12,r8
+	ror	r14,6
+	xor	r15,r11
+	add	r9,r12
+	ror	r13,14
+	and	rdi,r15
+	xor	r14,r10
+	add	r9,r13
+	xor	rdi,r11
+	ror	r14,28
+	add	rbx,r9
+	add	r9,rdi
+	mov	r13,rbx
+	add	r14,r9
+	ror	r13,23
+	mov	r9,r14
+	mov	r12,rcx
+	ror	r14,5
+	xor	r13,rbx
+	xor	r12,rdx
+	ror	r13,4
+	xor	r14,r9
+	and	r12,rbx
+	xor	r13,rbx
+	add	r8,QWORD[88+rsp]
+	mov	rdi,r9
+	xor	r12,rdx
+	ror	r14,6
+	xor	rdi,r10
+	add	r8,r12
+	ror	r13,14
+	and	r15,rdi
+	xor	r14,r9
+	add	r8,r13
+	xor	r15,r10
+	ror	r14,28
+	add	rax,r8
+	add	r8,r15
+	mov	r13,rax
+	add	r14,r8
+	ror	r13,23
+	mov	r8,r14
+	mov	r12,rbx
+	ror	r14,5
+	xor	r13,rax
+	xor	r12,rcx
+	ror	r13,4
+	xor	r14,r8
+	and	r12,rax
+	xor	r13,rax
+	add	rdx,QWORD[96+rsp]
+	mov	r15,r8
+	xor	r12,rcx
+	ror	r14,6
+	xor	r15,r9
+	add	rdx,r12
+	ror	r13,14
+	and	rdi,r15
+	xor	r14,r8
+	add	rdx,r13
+	xor	rdi,r9
+	ror	r14,28
+	add	r11,rdx
+	add	rdx,rdi
+	mov	r13,r11
+	add	r14,rdx
+	ror	r13,23
+	mov	rdx,r14
+	mov	r12,rax
+	ror	r14,5
+	xor	r13,r11
+	xor	r12,rbx
+	ror	r13,4
+	xor	r14,rdx
+	and	r12,r11
+	xor	r13,r11
+	add	rcx,QWORD[104+rsp]
+	mov	rdi,rdx
+	xor	r12,rbx
+	ror	r14,6
+	xor	rdi,r8
+	add	rcx,r12
+	ror	r13,14
+	and	r15,rdi
+	xor	r14,rdx
+	add	rcx,r13
+	xor	r15,r8
+	ror	r14,28
+	add	r10,rcx
+	add	rcx,r15
+	mov	r13,r10
+	add	r14,rcx
+	ror	r13,23
+	mov	rcx,r14
+	mov	r12,r11
+	ror	r14,5
+	xor	r13,r10
+	xor	r12,rax
+	ror	r13,4
+	xor	r14,rcx
+	and	r12,r10
+	xor	r13,r10
+	add	rbx,QWORD[112+rsp]
+	mov	r15,rcx
+	xor	r12,rax
+	ror	r14,6
+	xor	r15,rdx
+	add	rbx,r12
+	ror	r13,14
+	and	rdi,r15
+	xor	r14,rcx
+	add	rbx,r13
+	xor	rdi,rdx
+	ror	r14,28
+	add	r9,rbx
+	add	rbx,rdi
+	mov	r13,r9
+	add	r14,rbx
+	ror	r13,23
+	mov	rbx,r14
+	mov	r12,r10
+	ror	r14,5
+	xor	r13,r9
+	xor	r12,r11
+	ror	r13,4
+	xor	r14,rbx
+	and	r12,r9
+	xor	r13,r9
+	add	rax,QWORD[120+rsp]
+	mov	rdi,rbx
+	xor	r12,r11
+	ror	r14,6
+	xor	rdi,rcx
+	add	rax,r12
+	ror	r13,14
+	and	r15,rdi
+	xor	r14,rbx
+	add	rax,r13
+	xor	r15,rcx
+	ror	r14,28
+	add	r8,rax
+	add	rax,r15
+	mov	r13,r8
+	add	r14,rax
+	mov	rdi,QWORD[((128+0))+rsp]
+	mov	rax,r14
+
+	add	rax,QWORD[rdi]
+	lea	rsi,[128+rsi]
+	add	rbx,QWORD[8+rdi]
+	add	rcx,QWORD[16+rdi]
+	add	rdx,QWORD[24+rdi]
+	add	r8,QWORD[32+rdi]
+	add	r9,QWORD[40+rdi]
+	add	r10,QWORD[48+rdi]
+	add	r11,QWORD[56+rdi]
+
+	cmp	rsi,QWORD[((128+16))+rsp]
+
+	mov	QWORD[rdi],rax
+	mov	QWORD[8+rdi],rbx
+	mov	QWORD[16+rdi],rcx
+	mov	QWORD[24+rdi],rdx
+	mov	QWORD[32+rdi],r8
+	mov	QWORD[40+rdi],r9
+	mov	QWORD[48+rdi],r10
+	mov	QWORD[56+rdi],r11
+	jb	NEAR $L$loop_xop
+
+	mov	rsi,QWORD[((128+24))+rsp]
+	vzeroupper
+	movaps	xmm6,XMMWORD[((128+32))+rsp]
+	movaps	xmm7,XMMWORD[((128+48))+rsp]
+	movaps	xmm8,XMMWORD[((128+64))+rsp]
+	movaps	xmm9,XMMWORD[((128+80))+rsp]
+	movaps	xmm10,XMMWORD[((128+96))+rsp]
+	movaps	xmm11,XMMWORD[((128+112))+rsp]
+	mov	r15,QWORD[((-48))+rsi]
+	mov	r14,QWORD[((-40))+rsi]
+	mov	r13,QWORD[((-32))+rsi]
+	mov	r12,QWORD[((-24))+rsi]
+	mov	rbp,QWORD[((-16))+rsi]
+	mov	rbx,QWORD[((-8))+rsi]
+	lea	rsp,[rsi]
+$L$epilogue_xop:
+	mov	rdi,QWORD[8+rsp]	;WIN64 epilogue
+	mov	rsi,QWORD[16+rsp]
+	DB	0F3h,0C3h		;repret
+$L$SEH_end_sha512_block_data_order_xop:
+
+ALIGN	64
+sha512_block_data_order_avx:
+	mov	QWORD[8+rsp],rdi	;WIN64 prologue
+	mov	QWORD[16+rsp],rsi
+	mov	rax,rsp
+$L$SEH_begin_sha512_block_data_order_avx:
+	mov	rdi,rcx
+	mov	rsi,rdx
+	mov	rdx,r8
+
+
+$L$avx_shortcut:
+	mov	rax,rsp
+	push	rbx
+	push	rbp
+	push	r12
+	push	r13
+	push	r14
+	push	r15
+	shl	rdx,4
+	sub	rsp,256
+	lea	rdx,[rdx*8+rsi]
+	and	rsp,-64
+	mov	QWORD[((128+0))+rsp],rdi
+	mov	QWORD[((128+8))+rsp],rsi
+	mov	QWORD[((128+16))+rsp],rdx
+	mov	QWORD[((128+24))+rsp],rax
+	movaps	XMMWORD[(128+32)+rsp],xmm6
+	movaps	XMMWORD[(128+48)+rsp],xmm7
+	movaps	XMMWORD[(128+64)+rsp],xmm8
+	movaps	XMMWORD[(128+80)+rsp],xmm9
+	movaps	XMMWORD[(128+96)+rsp],xmm10
+	movaps	XMMWORD[(128+112)+rsp],xmm11
+$L$prologue_avx:
+
+	vzeroupper
+	mov	rax,QWORD[rdi]
+	mov	rbx,QWORD[8+rdi]
+	mov	rcx,QWORD[16+rdi]
+	mov	rdx,QWORD[24+rdi]
+	mov	r8,QWORD[32+rdi]
+	mov	r9,QWORD[40+rdi]
+	mov	r10,QWORD[48+rdi]
+	mov	r11,QWORD[56+rdi]
+	jmp	NEAR $L$loop_avx
+ALIGN	16
+$L$loop_avx:
+	vmovdqa	xmm11,XMMWORD[((K512+1280))]
+	vmovdqu	xmm0,XMMWORD[rsi]
+	lea	rbp,[((K512+128))]
+	vmovdqu	xmm1,XMMWORD[16+rsi]
+	vmovdqu	xmm2,XMMWORD[32+rsi]
+	vpshufb	xmm0,xmm0,xmm11
+	vmovdqu	xmm3,XMMWORD[48+rsi]
+	vpshufb	xmm1,xmm1,xmm11
+	vmovdqu	xmm4,XMMWORD[64+rsi]
+	vpshufb	xmm2,xmm2,xmm11
+	vmovdqu	xmm5,XMMWORD[80+rsi]
+	vpshufb	xmm3,xmm3,xmm11
+	vmovdqu	xmm6,XMMWORD[96+rsi]
+	vpshufb	xmm4,xmm4,xmm11
+	vmovdqu	xmm7,XMMWORD[112+rsi]
+	vpshufb	xmm5,xmm5,xmm11
+	vpaddq	xmm8,xmm0,XMMWORD[((-128))+rbp]
+	vpshufb	xmm6,xmm6,xmm11
+	vpaddq	xmm9,xmm1,XMMWORD[((-96))+rbp]
+	vpshufb	xmm7,xmm7,xmm11
+	vpaddq	xmm10,xmm2,XMMWORD[((-64))+rbp]
+	vpaddq	xmm11,xmm3,XMMWORD[((-32))+rbp]
+	vmovdqa	XMMWORD[rsp],xmm8
+	vpaddq	xmm8,xmm4,XMMWORD[rbp]
+	vmovdqa	XMMWORD[16+rsp],xmm9
+	vpaddq	xmm9,xmm5,XMMWORD[32+rbp]
+	vmovdqa	XMMWORD[32+rsp],xmm10
+	vpaddq	xmm10,xmm6,XMMWORD[64+rbp]
+	vmovdqa	XMMWORD[48+rsp],xmm11
+	vpaddq	xmm11,xmm7,XMMWORD[96+rbp]
+	vmovdqa	XMMWORD[64+rsp],xmm8
+	mov	r14,rax
+	vmovdqa	XMMWORD[80+rsp],xmm9
+	mov	rdi,rbx
+	vmovdqa	XMMWORD[96+rsp],xmm10
+	xor	rdi,rcx
+	vmovdqa	XMMWORD[112+rsp],xmm11
+	mov	r13,r8
+	jmp	NEAR $L$avx_00_47
+
+ALIGN	16
+$L$avx_00_47:
+	add	rbp,256
+	vpalignr	xmm8,xmm1,xmm0,8
+	shrd	r13,r13,23
+	mov	rax,r14
+	vpalignr	xmm11,xmm5,xmm4,8
+	mov	r12,r9
+	shrd	r14,r14,5
+	vpsrlq	xmm10,xmm8,1
+	xor	r13,r8
+	xor	r12,r10
+	vpaddq	xmm0,xmm0,xmm11
+	shrd	r13,r13,4
+	xor	r14,rax
+	vpsrlq	xmm11,xmm8,7
+	and	r12,r8
+	xor	r13,r8
+	vpsllq	xmm9,xmm8,56
+	add	r11,QWORD[rsp]
+	mov	r15,rax
+	vpxor	xmm8,xmm11,xmm10
+	xor	r12,r10
+	shrd	r14,r14,6
+	vpsrlq	xmm10,xmm10,7
+	xor	r15,rbx
+	add	r11,r12
+	vpxor	xmm8,xmm8,xmm9
+	shrd	r13,r13,14
+	and	rdi,r15
+	vpsllq	xmm9,xmm9,7
+	xor	r14,rax
+	add	r11,r13
+	vpxor	xmm8,xmm8,xmm10
+	xor	rdi,rbx
+	shrd	r14,r14,28
+	vpsrlq	xmm11,xmm7,6
+	add	rdx,r11
+	add	r11,rdi
+	vpxor	xmm8,xmm8,xmm9
+	mov	r13,rdx
+	add	r14,r11
+	vpsllq	xmm10,xmm7,3
+	shrd	r13,r13,23
+	mov	r11,r14
+	vpaddq	xmm0,xmm0,xmm8
+	mov	r12,r8
+	shrd	r14,r14,5
+	vpsrlq	xmm9,xmm7,19
+	xor	r13,rdx
+	xor	r12,r9
+	vpxor	xmm11,xmm11,xmm10
+	shrd	r13,r13,4
+	xor	r14,r11
+	vpsllq	xmm10,xmm10,42
+	and	r12,rdx
+	xor	r13,rdx
+	vpxor	xmm11,xmm11,xmm9
+	add	r10,QWORD[8+rsp]
+	mov	rdi,r11
+	vpsrlq	xmm9,xmm9,42
+	xor	r12,r9
+	shrd	r14,r14,6
+	vpxor	xmm11,xmm11,xmm10
+	xor	rdi,rax
+	add	r10,r12
+	vpxor	xmm11,xmm11,xmm9
+	shrd	r13,r13,14
+	and	r15,rdi
+	vpaddq	xmm0,xmm0,xmm11
+	xor	r14,r11
+	add	r10,r13
+	vpaddq	xmm10,xmm0,XMMWORD[((-128))+rbp]
+	xor	r15,rax
+	shrd	r14,r14,28
+	add	rcx,r10
+	add	r10,r15
+	mov	r13,rcx
+	add	r14,r10
+	vmovdqa	XMMWORD[rsp],xmm10
+	vpalignr	xmm8,xmm2,xmm1,8
+	shrd	r13,r13,23
+	mov	r10,r14
+	vpalignr	xmm11,xmm6,xmm5,8
+	mov	r12,rdx
+	shrd	r14,r14,5
+	vpsrlq	xmm10,xmm8,1
+	xor	r13,rcx
+	xor	r12,r8
+	vpaddq	xmm1,xmm1,xmm11
+	shrd	r13,r13,4
+	xor	r14,r10
+	vpsrlq	xmm11,xmm8,7
+	and	r12,rcx
+	xor	r13,rcx
+	vpsllq	xmm9,xmm8,56
+	add	r9,QWORD[16+rsp]
+	mov	r15,r10
+	vpxor	xmm8,xmm11,xmm10
+	xor	r12,r8
+	shrd	r14,r14,6
+	vpsrlq	xmm10,xmm10,7
+	xor	r15,r11
+	add	r9,r12
+	vpxor	xmm8,xmm8,xmm9
+	shrd	r13,r13,14
+	and	rdi,r15
+	vpsllq	xmm9,xmm9,7
+	xor	r14,r10
+	add	r9,r13
+	vpxor	xmm8,xmm8,xmm10
+	xor	rdi,r11
+	shrd	r14,r14,28
+	vpsrlq	xmm11,xmm0,6
+	add	rbx,r9
+	add	r9,rdi
+	vpxor	xmm8,xmm8,xmm9
+	mov	r13,rbx
+	add	r14,r9
+	vpsllq	xmm10,xmm0,3
+	shrd	r13,r13,23
+	mov	r9,r14
+	vpaddq	xmm1,xmm1,xmm8
+	mov	r12,rcx
+	shrd	r14,r14,5
+	vpsrlq	xmm9,xmm0,19
+	xor	r13,rbx
+	xor	r12,rdx
+	vpxor	xmm11,xmm11,xmm10
+	shrd	r13,r13,4
+	xor	r14,r9
+	vpsllq	xmm10,xmm10,42
+	and	r12,rbx
+	xor	r13,rbx
+	vpxor	xmm11,xmm11,xmm9
+	add	r8,QWORD[24+rsp]
+	mov	rdi,r9
+	vpsrlq	xmm9,xmm9,42
+	xor	r12,rdx
+	shrd	r14,r14,6
+	vpxor	xmm11,xmm11,xmm10
+	xor	rdi,r10
+	add	r8,r12
+	vpxor	xmm11,xmm11,xmm9
+	shrd	r13,r13,14
+	and	r15,rdi
+	vpaddq	xmm1,xmm1,xmm11
+	xor	r14,r9
+	add	r8,r13
+	vpaddq	xmm10,xmm1,XMMWORD[((-96))+rbp]
+	xor	r15,r10
+	shrd	r14,r14,28
+	add	rax,r8
+	add	r8,r15
+	mov	r13,rax
+	add	r14,r8
+	vmovdqa	XMMWORD[16+rsp],xmm10
+	vpalignr	xmm8,xmm3,xmm2,8
+	shrd	r13,r13,23
+	mov	r8,r14
+	vpalignr	xmm11,xmm7,xmm6,8
+	mov	r12,rbx
+	shrd	r14,r14,5
+	vpsrlq	xmm10,xmm8,1
+	xor	r13,rax
+	xor	r12,rcx
+	vpaddq	xmm2,xmm2,xmm11
+	shrd	r13,r13,4
+	xor	r14,r8
+	vpsrlq	xmm11,xmm8,7
+	and	r12,rax
+	xor	r13,rax
+	vpsllq	xmm9,xmm8,56
+	add	rdx,QWORD[32+rsp]
+	mov	r15,r8
+	vpxor	xmm8,xmm11,xmm10
+	xor	r12,rcx
+	shrd	r14,r14,6
+	vpsrlq	xmm10,xmm10,7
+	xor	r15,r9
+	add	rdx,r12
+	vpxor	xmm8,xmm8,xmm9
+	shrd	r13,r13,14
+	and	rdi,r15
+	vpsllq	xmm9,xmm9,7
+	xor	r14,r8
+	add	rdx,r13
+	vpxor	xmm8,xmm8,xmm10
+	xor	rdi,r9
+	shrd	r14,r14,28
+	vpsrlq	xmm11,xmm1,6
+	add	r11,rdx
+	add	rdx,rdi
+	vpxor	xmm8,xmm8,xmm9
+	mov	r13,r11
+	add	r14,rdx
+	vpsllq	xmm10,xmm1,3
+	shrd	r13,r13,23
+	mov	rdx,r14
+	vpaddq	xmm2,xmm2,xmm8
+	mov	r12,rax
+	shrd	r14,r14,5
+	vpsrlq	xmm9,xmm1,19
+	xor	r13,r11
+	xor	r12,rbx
+	vpxor	xmm11,xmm11,xmm10
+	shrd	r13,r13,4
+	xor	r14,rdx
+	vpsllq	xmm10,xmm10,42
+	and	r12,r11
+	xor	r13,r11
+	vpxor	xmm11,xmm11,xmm9
+	add	rcx,QWORD[40+rsp]
+	mov	rdi,rdx
+	vpsrlq	xmm9,xmm9,42
+	xor	r12,rbx
+	shrd	r14,r14,6
+	vpxor	xmm11,xmm11,xmm10
+	xor	rdi,r8
+	add	rcx,r12
+	vpxor	xmm11,xmm11,xmm9
+	shrd	r13,r13,14
+	and	r15,rdi
+	vpaddq	xmm2,xmm2,xmm11
+	xor	r14,rdx
+	add	rcx,r13
+	vpaddq	xmm10,xmm2,XMMWORD[((-64))+rbp]
+	xor	r15,r8
+	shrd	r14,r14,28
+	add	r10,rcx
+	add	rcx,r15
+	mov	r13,r10
+	add	r14,rcx
+	vmovdqa	XMMWORD[32+rsp],xmm10
+	vpalignr	xmm8,xmm4,xmm3,8
+	shrd	r13,r13,23
+	mov	rcx,r14
+	vpalignr	xmm11,xmm0,xmm7,8
+	mov	r12,r11
+	shrd	r14,r14,5
+	vpsrlq	xmm10,xmm8,1
+	xor	r13,r10
+	xor	r12,rax
+	vpaddq	xmm3,xmm3,xmm11
+	shrd	r13,r13,4
+	xor	r14,rcx
+	vpsrlq	xmm11,xmm8,7
+	and	r12,r10
+	xor	r13,r10
+	vpsllq	xmm9,xmm8,56
+	add	rbx,QWORD[48+rsp]
+	mov	r15,rcx
+	vpxor	xmm8,xmm11,xmm10
+	xor	r12,rax
+	shrd	r14,r14,6
+	vpsrlq	xmm10,xmm10,7
+	xor	r15,rdx
+	add	rbx,r12
+	vpxor	xmm8,xmm8,xmm9
+	shrd	r13,r13,14
+	and	rdi,r15
+	vpsllq	xmm9,xmm9,7
+	xor	r14,rcx
+	add	rbx,r13
+	vpxor	xmm8,xmm8,xmm10
+	xor	rdi,rdx
+	shrd	r14,r14,28
+	vpsrlq	xmm11,xmm2,6
+	add	r9,rbx
+	add	rbx,rdi
+	vpxor	xmm8,xmm8,xmm9
+	mov	r13,r9
+	add	r14,rbx
+	vpsllq	xmm10,xmm2,3
+	shrd	r13,r13,23
+	mov	rbx,r14
+	vpaddq	xmm3,xmm3,xmm8
+	mov	r12,r10
+	shrd	r14,r14,5
+	vpsrlq	xmm9,xmm2,19
+	xor	r13,r9
+	xor	r12,r11
+	vpxor	xmm11,xmm11,xmm10
+	shrd	r13,r13,4
+	xor	r14,rbx
+	vpsllq	xmm10,xmm10,42
+	and	r12,r9
+	xor	r13,r9
+	vpxor	xmm11,xmm11,xmm9
+	add	rax,QWORD[56+rsp]
+	mov	rdi,rbx
+	vpsrlq	xmm9,xmm9,42
+	xor	r12,r11
+	shrd	r14,r14,6
+	vpxor	xmm11,xmm11,xmm10
+	xor	rdi,rcx
+	add	rax,r12
+	vpxor	xmm11,xmm11,xmm9
+	shrd	r13,r13,14
+	and	r15,rdi
+	vpaddq	xmm3,xmm3,xmm11
+	xor	r14,rbx
+	add	rax,r13
+	vpaddq	xmm10,xmm3,XMMWORD[((-32))+rbp]
+	xor	r15,rcx
+	shrd	r14,r14,28
+	add	r8,rax
+	add	rax,r15
+	mov	r13,r8
+	add	r14,rax
+	vmovdqa	XMMWORD[48+rsp],xmm10
+	vpalignr	xmm8,xmm5,xmm4,8
+	shrd	r13,r13,23
+	mov	rax,r14
+	vpalignr	xmm11,xmm1,xmm0,8
+	mov	r12,r9
+	shrd	r14,r14,5
+	vpsrlq	xmm10,xmm8,1
+	xor	r13,r8
+	xor	r12,r10
+	vpaddq	xmm4,xmm4,xmm11
+	shrd	r13,r13,4
+	xor	r14,rax
+	vpsrlq	xmm11,xmm8,7
+	and	r12,r8
+	xor	r13,r8
+	vpsllq	xmm9,xmm8,56
+	add	r11,QWORD[64+rsp]
+	mov	r15,rax
+	vpxor	xmm8,xmm11,xmm10
+	xor	r12,r10
+	shrd	r14,r14,6
+	vpsrlq	xmm10,xmm10,7
+	xor	r15,rbx
+	add	r11,r12
+	vpxor	xmm8,xmm8,xmm9
+	shrd	r13,r13,14
+	and	rdi,r15
+	vpsllq	xmm9,xmm9,7
+	xor	r14,rax
+	add	r11,r13
+	vpxor	xmm8,xmm8,xmm10
+	xor	rdi,rbx
+	shrd	r14,r14,28
+	vpsrlq	xmm11,xmm3,6
+	add	rdx,r11
+	add	r11,rdi
+	vpxor	xmm8,xmm8,xmm9
+	mov	r13,rdx
+	add	r14,r11
+	vpsllq	xmm10,xmm3,3
+	shrd	r13,r13,23
+	mov	r11,r14
+	vpaddq	xmm4,xmm4,xmm8
+	mov	r12,r8
+	shrd	r14,r14,5
+	vpsrlq	xmm9,xmm3,19
+	xor	r13,rdx
+	xor	r12,r9
+	vpxor	xmm11,xmm11,xmm10
+	shrd	r13,r13,4
+	xor	r14,r11
+	vpsllq	xmm10,xmm10,42
+	and	r12,rdx
+	xor	r13,rdx
+	vpxor	xmm11,xmm11,xmm9
+	add	r10,QWORD[72+rsp]
+	mov	rdi,r11
+	vpsrlq	xmm9,xmm9,42
+	xor	r12,r9
+	shrd	r14,r14,6
+	vpxor	xmm11,xmm11,xmm10
+	xor	rdi,rax
+	add	r10,r12
+	vpxor	xmm11,xmm11,xmm9
+	shrd	r13,r13,14
+	and	r15,rdi
+	vpaddq	xmm4,xmm4,xmm11
+	xor	r14,r11
+	add	r10,r13
+	vpaddq	xmm10,xmm4,XMMWORD[rbp]
+	xor	r15,rax
+	shrd	r14,r14,28
+	add	rcx,r10
+	add	r10,r15
+	mov	r13,rcx
+	add	r14,r10
+	vmovdqa	XMMWORD[64+rsp],xmm10
+	vpalignr	xmm8,xmm6,xmm5,8
+	shrd	r13,r13,23
+	mov	r10,r14
+	vpalignr	xmm11,xmm2,xmm1,8
+	mov	r12,rdx
+	shrd	r14,r14,5
+	vpsrlq	xmm10,xmm8,1
+	xor	r13,rcx
+	xor	r12,r8
+	vpaddq	xmm5,xmm5,xmm11
+	shrd	r13,r13,4
+	xor	r14,r10
+	vpsrlq	xmm11,xmm8,7
+	and	r12,rcx
+	xor	r13,rcx
+	vpsllq	xmm9,xmm8,56
+	add	r9,QWORD[80+rsp]
+	mov	r15,r10
+	vpxor	xmm8,xmm11,xmm10
+	xor	r12,r8
+	shrd	r14,r14,6
+	vpsrlq	xmm10,xmm10,7
+	xor	r15,r11
+	add	r9,r12
+	vpxor	xmm8,xmm8,xmm9
+	shrd	r13,r13,14
+	and	rdi,r15
+	vpsllq	xmm9,xmm9,7
+	xor	r14,r10
+	add	r9,r13
+	vpxor	xmm8,xmm8,xmm10
+	xor	rdi,r11
+	shrd	r14,r14,28
+	vpsrlq	xmm11,xmm4,6
+	add	rbx,r9
+	add	r9,rdi
+	vpxor	xmm8,xmm8,xmm9
+	mov	r13,rbx
+	add	r14,r9
+	vpsllq	xmm10,xmm4,3
+	shrd	r13,r13,23
+	mov	r9,r14
+	vpaddq	xmm5,xmm5,xmm8
+	mov	r12,rcx
+	shrd	r14,r14,5
+	vpsrlq	xmm9,xmm4,19
+	xor	r13,rbx
+	xor	r12,rdx
+	vpxor	xmm11,xmm11,xmm10
+	shrd	r13,r13,4
+	xor	r14,r9
+	vpsllq	xmm10,xmm10,42
+	and	r12,rbx
+	xor	r13,rbx
+	vpxor	xmm11,xmm11,xmm9
+	add	r8,QWORD[88+rsp]
+	mov	rdi,r9
+	vpsrlq	xmm9,xmm9,42
+	xor	r12,rdx
+	shrd	r14,r14,6
+	vpxor	xmm11,xmm11,xmm10
+	xor	rdi,r10
+	add	r8,r12
+	vpxor	xmm11,xmm11,xmm9
+	shrd	r13,r13,14
+	and	r15,rdi
+	vpaddq	xmm5,xmm5,xmm11
+	xor	r14,r9
+	add	r8,r13
+	vpaddq	xmm10,xmm5,XMMWORD[32+rbp]
+	xor	r15,r10
+	shrd	r14,r14,28
+	add	rax,r8
+	add	r8,r15
+	mov	r13,rax
+	add	r14,r8
+	vmovdqa	XMMWORD[80+rsp],xmm10
+	vpalignr	xmm8,xmm7,xmm6,8
+	shrd	r13,r13,23
+	mov	r8,r14
+	vpalignr	xmm11,xmm3,xmm2,8
+	mov	r12,rbx
+	shrd	r14,r14,5
+	vpsrlq	xmm10,xmm8,1
+	xor	r13,rax
+	xor	r12,rcx
+	vpaddq	xmm6,xmm6,xmm11
+	shrd	r13,r13,4
+	xor	r14,r8
+	vpsrlq	xmm11,xmm8,7
+	and	r12,rax
+	xor	r13,rax
+	vpsllq	xmm9,xmm8,56
+	add	rdx,QWORD[96+rsp]
+	mov	r15,r8
+	vpxor	xmm8,xmm11,xmm10
+	xor	r12,rcx
+	shrd	r14,r14,6
+	vpsrlq	xmm10,xmm10,7
+	xor	r15,r9
+	add	rdx,r12
+	vpxor	xmm8,xmm8,xmm9
+	shrd	r13,r13,14
+	and	rdi,r15
+	vpsllq	xmm9,xmm9,7
+	xor	r14,r8
+	add	rdx,r13
+	vpxor	xmm8,xmm8,xmm10
+	xor	rdi,r9
+	shrd	r14,r14,28
+	vpsrlq	xmm11,xmm5,6
+	add	r11,rdx
+	add	rdx,rdi
+	vpxor	xmm8,xmm8,xmm9
+	mov	r13,r11
+	add	r14,rdx
+	vpsllq	xmm10,xmm5,3
+	shrd	r13,r13,23
+	mov	rdx,r14
+	vpaddq	xmm6,xmm6,xmm8
+	mov	r12,rax
+	shrd	r14,r14,5
+	vpsrlq	xmm9,xmm5,19
+	xor	r13,r11
+	xor	r12,rbx
+	vpxor	xmm11,xmm11,xmm10
+	shrd	r13,r13,4
+	xor	r14,rdx
+	vpsllq	xmm10,xmm10,42
+	and	r12,r11
+	xor	r13,r11
+	vpxor	xmm11,xmm11,xmm9
+	add	rcx,QWORD[104+rsp]
+	mov	rdi,rdx
+	vpsrlq	xmm9,xmm9,42
+	xor	r12,rbx
+	shrd	r14,r14,6
+	vpxor	xmm11,xmm11,xmm10
+	xor	rdi,r8
+	add	rcx,r12
+	vpxor	xmm11,xmm11,xmm9
+	shrd	r13,r13,14
+	and	r15,rdi
+	vpaddq	xmm6,xmm6,xmm11
+	xor	r14,rdx
+	add	rcx,r13
+	vpaddq	xmm10,xmm6,XMMWORD[64+rbp]
+	xor	r15,r8
+	shrd	r14,r14,28
+	add	r10,rcx
+	add	rcx,r15
+	mov	r13,r10
+	add	r14,rcx
+	vmovdqa	XMMWORD[96+rsp],xmm10
+	vpalignr	xmm8,xmm0,xmm7,8
+	shrd	r13,r13,23
+	mov	rcx,r14
+	vpalignr	xmm11,xmm4,xmm3,8
+	mov	r12,r11
+	shrd	r14,r14,5
+	vpsrlq	xmm10,xmm8,1
+	xor	r13,r10
+	xor	r12,rax
+	vpaddq	xmm7,xmm7,xmm11
+	shrd	r13,r13,4
+	xor	r14,rcx
+	vpsrlq	xmm11,xmm8,7
+	and	r12,r10
+	xor	r13,r10
+	vpsllq	xmm9,xmm8,56
+	add	rbx,QWORD[112+rsp]
+	mov	r15,rcx
+	vpxor	xmm8,xmm11,xmm10
+	xor	r12,rax
+	shrd	r14,r14,6
+	vpsrlq	xmm10,xmm10,7
+	xor	r15,rdx
+	add	rbx,r12
+	vpxor	xmm8,xmm8,xmm9
+	shrd	r13,r13,14
+	and	rdi,r15
+	vpsllq	xmm9,xmm9,7
+	xor	r14,rcx
+	add	rbx,r13
+	vpxor	xmm8,xmm8,xmm10
+	xor	rdi,rdx
+	shrd	r14,r14,28
+	vpsrlq	xmm11,xmm6,6
+	add	r9,rbx
+	add	rbx,rdi
+	vpxor	xmm8,xmm8,xmm9
+	mov	r13,r9
+	add	r14,rbx
+	vpsllq	xmm10,xmm6,3
+	shrd	r13,r13,23
+	mov	rbx,r14
+	vpaddq	xmm7,xmm7,xmm8
+	mov	r12,r10
+	shrd	r14,r14,5
+	vpsrlq	xmm9,xmm6,19
+	xor	r13,r9
+	xor	r12,r11
+	vpxor	xmm11,xmm11,xmm10
+	shrd	r13,r13,4
+	xor	r14,rbx
+	vpsllq	xmm10,xmm10,42
+	and	r12,r9
+	xor	r13,r9
+	vpxor	xmm11,xmm11,xmm9
+	add	rax,QWORD[120+rsp]
+	mov	rdi,rbx
+	vpsrlq	xmm9,xmm9,42
+	xor	r12,r11
+	shrd	r14,r14,6
+	vpxor	xmm11,xmm11,xmm10
+	xor	rdi,rcx
+	add	rax,r12
+	vpxor	xmm11,xmm11,xmm9
+	shrd	r13,r13,14
+	and	r15,rdi
+	vpaddq	xmm7,xmm7,xmm11
+	xor	r14,rbx
+	add	rax,r13
+	vpaddq	xmm10,xmm7,XMMWORD[96+rbp]
+	xor	r15,rcx
+	shrd	r14,r14,28
+	add	r8,rax
+	add	rax,r15
+	mov	r13,r8
+	add	r14,rax
+	vmovdqa	XMMWORD[112+rsp],xmm10
+	cmp	BYTE[135+rbp],0
+	jne	NEAR $L$avx_00_47
+	shrd	r13,r13,23
+	mov	rax,r14
+	mov	r12,r9
+	shrd	r14,r14,5
+	xor	r13,r8
+	xor	r12,r10
+	shrd	r13,r13,4
+	xor	r14,rax
+	and	r12,r8
+	xor	r13,r8
+	add	r11,QWORD[rsp]
+	mov	r15,rax
+	xor	r12,r10
+	shrd	r14,r14,6
+	xor	r15,rbx
+	add	r11,r12
+	shrd	r13,r13,14
+	and	rdi,r15
+	xor	r14,rax
+	add	r11,r13
+	xor	rdi,rbx
+	shrd	r14,r14,28
+	add	rdx,r11
+	add	r11,rdi
+	mov	r13,rdx
+	add	r14,r11
+	shrd	r13,r13,23
+	mov	r11,r14
+	mov	r12,r8
+	shrd	r14,r14,5
+	xor	r13,rdx
+	xor	r12,r9
+	shrd	r13,r13,4
+	xor	r14,r11
+	and	r12,rdx
+	xor	r13,rdx
+	add	r10,QWORD[8+rsp]
+	mov	rdi,r11
+	xor	r12,r9
+	shrd	r14,r14,6
+	xor	rdi,rax
+	add	r10,r12
+	shrd	r13,r13,14
+	and	r15,rdi
+	xor	r14,r11
+	add	r10,r13
+	xor	r15,rax
+	shrd	r14,r14,28
+	add	rcx,r10
+	add	r10,r15
+	mov	r13,rcx
+	add	r14,r10
+	shrd	r13,r13,23
+	mov	r10,r14
+	mov	r12,rdx
+	shrd	r14,r14,5
+	xor	r13,rcx
+	xor	r12,r8
+	shrd	r13,r13,4
+	xor	r14,r10
+	and	r12,rcx
+	xor	r13,rcx
+	add	r9,QWORD[16+rsp]
+	mov	r15,r10
+	xor	r12,r8
+	shrd	r14,r14,6
+	xor	r15,r11
+	add	r9,r12
+	shrd	r13,r13,14
+	and	rdi,r15
+	xor	r14,r10
+	add	r9,r13
+	xor	rdi,r11
+	shrd	r14,r14,28
+	add	rbx,r9
+	add	r9,rdi
+	mov	r13,rbx
+	add	r14,r9
+	shrd	r13,r13,23
+	mov	r9,r14
+	mov	r12,rcx
+	shrd	r14,r14,5
+	xor	r13,rbx
+	xor	r12,rdx
+	shrd	r13,r13,4
+	xor	r14,r9
+	and	r12,rbx
+	xor	r13,rbx
+	add	r8,QWORD[24+rsp]
+	mov	rdi,r9
+	xor	r12,rdx
+	shrd	r14,r14,6
+	xor	rdi,r10
+	add	r8,r12
+	shrd	r13,r13,14
+	and	r15,rdi
+	xor	r14,r9
+	add	r8,r13
+	xor	r15,r10
+	shrd	r14,r14,28
+	add	rax,r8
+	add	r8,r15
+	mov	r13,rax
+	add	r14,r8
+	shrd	r13,r13,23
+	mov	r8,r14
+	mov	r12,rbx
+	shrd	r14,r14,5
+	xor	r13,rax
+	xor	r12,rcx
+	shrd	r13,r13,4
+	xor	r14,r8
+	and	r12,rax
+	xor	r13,rax
+	add	rdx,QWORD[32+rsp]
+	mov	r15,r8
+	xor	r12,rcx
+	shrd	r14,r14,6
+	xor	r15,r9
+	add	rdx,r12
+	shrd	r13,r13,14
+	and	rdi,r15
+	xor	r14,r8
+	add	rdx,r13
+	xor	rdi,r9
+	shrd	r14,r14,28
+	add	r11,rdx
+	add	rdx,rdi
+	mov	r13,r11
+	add	r14,rdx
+	shrd	r13,r13,23
+	mov	rdx,r14
+	mov	r12,rax
+	shrd	r14,r14,5
+	xor	r13,r11
+	xor	r12,rbx
+	shrd	r13,r13,4
+	xor	r14,rdx
+	and	r12,r11
+	xor	r13,r11
+	add	rcx,QWORD[40+rsp]
+	mov	rdi,rdx
+	xor	r12,rbx
+	shrd	r14,r14,6
+	xor	rdi,r8
+	add	rcx,r12
+	shrd	r13,r13,14
+	and	r15,rdi
+	xor	r14,rdx
+	add	rcx,r13
+	xor	r15,r8
+	shrd	r14,r14,28
+	add	r10,rcx
+	add	rcx,r15
+	mov	r13,r10
+	add	r14,rcx
+	shrd	r13,r13,23
+	mov	rcx,r14
+	mov	r12,r11
+	shrd	r14,r14,5
+	xor	r13,r10
+	xor	r12,rax
+	shrd	r13,r13,4
+	xor	r14,rcx
+	and	r12,r10
+	xor	r13,r10
+	add	rbx,QWORD[48+rsp]
+	mov	r15,rcx
+	xor	r12,rax
+	shrd	r14,r14,6
+	xor	r15,rdx
+	add	rbx,r12
+	shrd	r13,r13,14
+	and	rdi,r15
+	xor	r14,rcx
+	add	rbx,r13
+	xor	rdi,rdx
+	shrd	r14,r14,28
+	add	r9,rbx
+	add	rbx,rdi
+	mov	r13,r9
+	add	r14,rbx
+	shrd	r13,r13,23
+	mov	rbx,r14
+	mov	r12,r10
+	shrd	r14,r14,5
+	xor	r13,r9
+	xor	r12,r11
+	shrd	r13,r13,4
+	xor	r14,rbx
+	and	r12,r9
+	xor	r13,r9
+	add	rax,QWORD[56+rsp]
+	mov	rdi,rbx
+	xor	r12,r11
+	shrd	r14,r14,6
+	xor	rdi,rcx
+	add	rax,r12
+	shrd	r13,r13,14
+	and	r15,rdi
+	xor	r14,rbx
+	add	rax,r13
+	xor	r15,rcx
+	shrd	r14,r14,28
+	add	r8,rax
+	add	rax,r15
+	mov	r13,r8
+	add	r14,rax
+	shrd	r13,r13,23
+	mov	rax,r14
+	mov	r12,r9
+	shrd	r14,r14,5
+	xor	r13,r8
+	xor	r12,r10
+	shrd	r13,r13,4
+	xor	r14,rax
+	and	r12,r8
+	xor	r13,r8
+	add	r11,QWORD[64+rsp]
+	mov	r15,rax
+	xor	r12,r10
+	shrd	r14,r14,6
+	xor	r15,rbx
+	add	r11,r12
+	shrd	r13,r13,14
+	and	rdi,r15
+	xor	r14,rax
+	add	r11,r13
+	xor	rdi,rbx
+	shrd	r14,r14,28
+	add	rdx,r11
+	add	r11,rdi
+	mov	r13,rdx
+	add	r14,r11
+	shrd	r13,r13,23
+	mov	r11,r14
+	mov	r12,r8
+	shrd	r14,r14,5
+	xor	r13,rdx
+	xor	r12,r9
+	shrd	r13,r13,4
+	xor	r14,r11
+	and	r12,rdx
+	xor	r13,rdx
+	add	r10,QWORD[72+rsp]
+	mov	rdi,r11
+	xor	r12,r9
+	shrd	r14,r14,6
+	xor	rdi,rax
+	add	r10,r12
+	shrd	r13,r13,14
+	and	r15,rdi
+	xor	r14,r11
+	add	r10,r13
+	xor	r15,rax
+	shrd	r14,r14,28
+	add	rcx,r10
+	add	r10,r15
+	mov	r13,rcx
+	add	r14,r10
+	shrd	r13,r13,23
+	mov	r10,r14
+	mov	r12,rdx
+	shrd	r14,r14,5
+	xor	r13,rcx
+	xor	r12,r8
+	shrd	r13,r13,4
+	xor	r14,r10
+	and	r12,rcx
+	xor	r13,rcx
+	add	r9,QWORD[80+rsp]
+	mov	r15,r10
+	xor	r12,r8
+	shrd	r14,r14,6
+	xor	r15,r11
+	add	r9,r12
+	shrd	r13,r13,14
+	and	rdi,r15
+	xor	r14,r10
+	add	r9,r13
+	xor	rdi,r11
+	shrd	r14,r14,28
+	add	rbx,r9
+	add	r9,rdi
+	mov	r13,rbx
+	add	r14,r9
+	shrd	r13,r13,23
+	mov	r9,r14
+	mov	r12,rcx
+	shrd	r14,r14,5
+	xor	r13,rbx
+	xor	r12,rdx
+	shrd	r13,r13,4
+	xor	r14,r9
+	and	r12,rbx
+	xor	r13,rbx
+	add	r8,QWORD[88+rsp]
+	mov	rdi,r9
+	xor	r12,rdx
+	shrd	r14,r14,6
+	xor	rdi,r10
+	add	r8,r12
+	shrd	r13,r13,14
+	and	r15,rdi
+	xor	r14,r9
+	add	r8,r13
+	xor	r15,r10
+	shrd	r14,r14,28
+	add	rax,r8
+	add	r8,r15
+	mov	r13,rax
+	add	r14,r8
+	shrd	r13,r13,23
+	mov	r8,r14
+	mov	r12,rbx
+	shrd	r14,r14,5
+	xor	r13,rax
+	xor	r12,rcx
+	shrd	r13,r13,4
+	xor	r14,r8
+	and	r12,rax
+	xor	r13,rax
+	add	rdx,QWORD[96+rsp]
+	mov	r15,r8
+	xor	r12,rcx
+	shrd	r14,r14,6
+	xor	r15,r9
+	add	rdx,r12
+	shrd	r13,r13,14
+	and	rdi,r15
+	xor	r14,r8
+	add	rdx,r13
+	xor	rdi,r9
+	shrd	r14,r14,28
+	add	r11,rdx
+	add	rdx,rdi
+	mov	r13,r11
+	add	r14,rdx
+	shrd	r13,r13,23
+	mov	rdx,r14
+	mov	r12,rax
+	shrd	r14,r14,5
+	xor	r13,r11
+	xor	r12,rbx
+	shrd	r13,r13,4
+	xor	r14,rdx
+	and	r12,r11
+	xor	r13,r11
+	add	rcx,QWORD[104+rsp]
+	mov	rdi,rdx
+	xor	r12,rbx
+	shrd	r14,r14,6
+	xor	rdi,r8
+	add	rcx,r12
+	shrd	r13,r13,14
+	and	r15,rdi
+	xor	r14,rdx
+	add	rcx,r13
+	xor	r15,r8
+	shrd	r14,r14,28
+	add	r10,rcx
+	add	rcx,r15
+	mov	r13,r10
+	add	r14,rcx
+	shrd	r13,r13,23
+	mov	rcx,r14
+	mov	r12,r11
+	shrd	r14,r14,5
+	xor	r13,r10
+	xor	r12,rax
+	shrd	r13,r13,4
+	xor	r14,rcx
+	and	r12,r10
+	xor	r13,r10
+	add	rbx,QWORD[112+rsp]
+	mov	r15,rcx
+	xor	r12,rax
+	shrd	r14,r14,6
+	xor	r15,rdx
+	add	rbx,r12
+	shrd	r13,r13,14
+	and	rdi,r15
+	xor	r14,rcx
+	add	rbx,r13
+	xor	rdi,rdx
+	shrd	r14,r14,28
+	add	r9,rbx
+	add	rbx,rdi
+	mov	r13,r9
+	add	r14,rbx
+	shrd	r13,r13,23
+	mov	rbx,r14
+	mov	r12,r10
+	shrd	r14,r14,5
+	xor	r13,r9
+	xor	r12,r11
+	shrd	r13,r13,4
+	xor	r14,rbx
+	and	r12,r9
+	xor	r13,r9
+	add	rax,QWORD[120+rsp]
+	mov	rdi,rbx
+	xor	r12,r11
+	shrd	r14,r14,6
+	xor	rdi,rcx
+	add	rax,r12
+	shrd	r13,r13,14
+	and	r15,rdi
+	xor	r14,rbx
+	add	rax,r13
+	xor	r15,rcx
+	shrd	r14,r14,28
+	add	r8,rax
+	add	rax,r15
+	mov	r13,r8
+	add	r14,rax
+	mov	rdi,QWORD[((128+0))+rsp]
+	mov	rax,r14
+
+	add	rax,QWORD[rdi]
+	lea	rsi,[128+rsi]
+	add	rbx,QWORD[8+rdi]
+	add	rcx,QWORD[16+rdi]
+	add	rdx,QWORD[24+rdi]
+	add	r8,QWORD[32+rdi]
+	add	r9,QWORD[40+rdi]
+	add	r10,QWORD[48+rdi]
+	add	r11,QWORD[56+rdi]
+
+	cmp	rsi,QWORD[((128+16))+rsp]
+
+	mov	QWORD[rdi],rax
+	mov	QWORD[8+rdi],rbx
+	mov	QWORD[16+rdi],rcx
+	mov	QWORD[24+rdi],rdx
+	mov	QWORD[32+rdi],r8
+	mov	QWORD[40+rdi],r9
+	mov	QWORD[48+rdi],r10
+	mov	QWORD[56+rdi],r11
+	jb	NEAR $L$loop_avx
+
+	mov	rsi,QWORD[((128+24))+rsp]
+	vzeroupper
+	movaps	xmm6,XMMWORD[((128+32))+rsp]
+	movaps	xmm7,XMMWORD[((128+48))+rsp]
+	movaps	xmm8,XMMWORD[((128+64))+rsp]
+	movaps	xmm9,XMMWORD[((128+80))+rsp]
+	movaps	xmm10,XMMWORD[((128+96))+rsp]
+	movaps	xmm11,XMMWORD[((128+112))+rsp]
+	mov	r15,QWORD[((-48))+rsi]
+	mov	r14,QWORD[((-40))+rsi]
+	mov	r13,QWORD[((-32))+rsi]
+	mov	r12,QWORD[((-24))+rsi]
+	mov	rbp,QWORD[((-16))+rsi]
+	mov	rbx,QWORD[((-8))+rsi]
+	lea	rsp,[rsi]
+$L$epilogue_avx:
+	mov	rdi,QWORD[8+rsp]	;WIN64 epilogue
+	mov	rsi,QWORD[16+rsp]
+	DB	0F3h,0C3h		;repret
+$L$SEH_end_sha512_block_data_order_avx:
+EXTERN	__imp_RtlVirtualUnwind
+
+ALIGN	16
+se_handler:
+	push	rsi
+	push	rdi
+	push	rbx
+	push	rbp
+	push	r12
+	push	r13
+	push	r14
+	push	r15
+	pushfq
+	sub	rsp,64
+
+	mov	rax,QWORD[120+r8]
+	mov	rbx,QWORD[248+r8]
+
+	mov	rsi,QWORD[8+r9]
+	mov	r11,QWORD[56+r9]
+
+	mov	r10d,DWORD[r11]
+	lea	r10,[r10*1+rsi]
+	cmp	rbx,r10
+	jb	NEAR $L$in_prologue
+
+	mov	rax,QWORD[152+r8]
+
+	mov	r10d,DWORD[4+r11]
+	lea	r10,[r10*1+rsi]
+	cmp	rbx,r10
+	jae	NEAR $L$in_prologue
+	mov	rsi,rax
+	mov	rax,QWORD[((128+24))+rax]
+
+	mov	rbx,QWORD[((-8))+rax]
+	mov	rbp,QWORD[((-16))+rax]
+	mov	r12,QWORD[((-24))+rax]
+	mov	r13,QWORD[((-32))+rax]
+	mov	r14,QWORD[((-40))+rax]
+	mov	r15,QWORD[((-48))+rax]
+	mov	QWORD[144+r8],rbx
+	mov	QWORD[160+r8],rbp
+	mov	QWORD[216+r8],r12
+	mov	QWORD[224+r8],r13
+	mov	QWORD[232+r8],r14
+	mov	QWORD[240+r8],r15
+
+	lea	r10,[$L$epilogue]
+	cmp	rbx,r10
+	jb	NEAR $L$in_prologue
+
+	lea	rsi,[((128+32))+rsi]
+	lea	rdi,[512+r8]
+	mov	ecx,12
+	DD	0xa548f3fc
+
+$L$in_prologue:
+	mov	rdi,QWORD[8+rax]
+	mov	rsi,QWORD[16+rax]
+	mov	QWORD[152+r8],rax
+	mov	QWORD[168+r8],rsi
+	mov	QWORD[176+r8],rdi
+
+	mov	rdi,QWORD[40+r9]
+	mov	rsi,r8
+	mov	ecx,154
+	DD	0xa548f3fc
+
+	mov	rsi,r9
+	xor	rcx,rcx
+	mov	rdx,QWORD[8+rsi]
+	mov	r8,QWORD[rsi]
+	mov	r9,QWORD[16+rsi]
+	mov	r10,QWORD[40+rsi]
+	lea	r11,[56+rsi]
+	lea	r12,[24+rsi]
+	mov	QWORD[32+rsp],r10
+	mov	QWORD[40+rsp],r11
+	mov	QWORD[48+rsp],r12
+	mov	QWORD[56+rsp],rcx
+	call	QWORD[__imp_RtlVirtualUnwind]
+
+	mov	eax,1
+	add	rsp,64
+	popfq
+	pop	r15
+	pop	r14
+	pop	r13
+	pop	r12
+	pop	rbp
+	pop	rbx
+	pop	rdi
+	pop	rsi
+	DB	0F3h,0C3h		;repret
+
+section	.pdata rdata align=4
+ALIGN	4
+	DD	$L$SEH_begin_sha512_block_data_order wrt ..imagebase
+	DD	$L$SEH_end_sha512_block_data_order wrt ..imagebase
+	DD	$L$SEH_info_sha512_block_data_order wrt ..imagebase
+	DD	$L$SEH_begin_sha512_block_data_order_xop wrt ..imagebase
+	DD	$L$SEH_end_sha512_block_data_order_xop wrt ..imagebase
+	DD	$L$SEH_info_sha512_block_data_order_xop wrt ..imagebase
+	DD	$L$SEH_begin_sha512_block_data_order_avx wrt ..imagebase
+	DD	$L$SEH_end_sha512_block_data_order_avx wrt ..imagebase
+	DD	$L$SEH_info_sha512_block_data_order_avx wrt ..imagebase
+section	.xdata rdata align=8
+ALIGN	8
+$L$SEH_info_sha512_block_data_order:
+DB	9,0,0,0
+	DD	se_handler wrt ..imagebase
+	DD	$L$prologue wrt ..imagebase,$L$epilogue wrt ..imagebase
+$L$SEH_info_sha512_block_data_order_xop:
+DB	9,0,0,0
+	DD	se_handler wrt ..imagebase
+	DD	$L$prologue_xop wrt ..imagebase,$L$epilogue_xop wrt ..imagebase
+$L$SEH_info_sha512_block_data_order_avx:
+DB	9,0,0,0
+	DD	se_handler wrt ..imagebase
+	DD	$L$prologue_avx wrt ..imagebase,$L$epilogue_avx wrt ..imagebase
diff --git a/third_party/boringssl/win-x86_64/crypto/sha/sha1-x86_64.asm b/third_party/boringssl/win-x86_64/crypto/sha/sha1-x86_64.asm
deleted file mode 100644
index 5484574..0000000
--- a/third_party/boringssl/win-x86_64/crypto/sha/sha1-x86_64.asm
+++ /dev/null
@@ -1,3762 +0,0 @@
-default	rel
-%define XMMWORD
-%define YMMWORD
-%define ZMMWORD
-section	.text code align=64
-
-EXTERN	OPENSSL_ia32cap_P
-
-global	sha1_block_data_order
-
-ALIGN	16
-sha1_block_data_order:
-	mov	QWORD[8+rsp],rdi	;WIN64 prologue
-	mov	QWORD[16+rsp],rsi
-	mov	rax,rsp
-$L$SEH_begin_sha1_block_data_order:
-	mov	rdi,rcx
-	mov	rsi,rdx
-	mov	rdx,r8
-
-
-	mov	r9d,DWORD[((OPENSSL_ia32cap_P+0))]
-	mov	r8d,DWORD[((OPENSSL_ia32cap_P+4))]
-	mov	r10d,DWORD[((OPENSSL_ia32cap_P+8))]
-	test	r8d,512
-	jz	NEAR $L$ialu
-	and	r8d,268435456
-	and	r9d,1073741824
-	or	r8d,r9d
-	cmp	r8d,1342177280
-	je	NEAR _avx_shortcut
-	jmp	NEAR _ssse3_shortcut
-
-ALIGN	16
-$L$ialu:
-	mov	rax,rsp
-	push	rbx
-	push	rbp
-	push	r12
-	push	r13
-	push	r14
-	mov	r8,rdi
-	sub	rsp,72
-	mov	r9,rsi
-	and	rsp,-64
-	mov	r10,rdx
-	mov	QWORD[64+rsp],rax
-$L$prologue:
-
-	mov	esi,DWORD[r8]
-	mov	edi,DWORD[4+r8]
-	mov	r11d,DWORD[8+r8]
-	mov	r12d,DWORD[12+r8]
-	mov	r13d,DWORD[16+r8]
-	jmp	NEAR $L$loop
-
-ALIGN	16
-$L$loop:
-	mov	edx,DWORD[r9]
-	bswap	edx
-	mov	ebp,DWORD[4+r9]
-	mov	eax,r12d
-	mov	DWORD[rsp],edx
-	mov	ecx,esi
-	bswap	ebp
-	xor	eax,r11d
-	rol	ecx,5
-	and	eax,edi
-	lea	r13d,[1518500249+r13*1+rdx]
-	add	r13d,ecx
-	xor	eax,r12d
-	rol	edi,30
-	add	r13d,eax
-	mov	r14d,DWORD[8+r9]
-	mov	eax,r11d
-	mov	DWORD[4+rsp],ebp
-	mov	ecx,r13d
-	bswap	r14d
-	xor	eax,edi
-	rol	ecx,5
-	and	eax,esi
-	lea	r12d,[1518500249+r12*1+rbp]
-	add	r12d,ecx
-	xor	eax,r11d
-	rol	esi,30
-	add	r12d,eax
-	mov	edx,DWORD[12+r9]
-	mov	eax,edi
-	mov	DWORD[8+rsp],r14d
-	mov	ecx,r12d
-	bswap	edx
-	xor	eax,esi
-	rol	ecx,5
-	and	eax,r13d
-	lea	r11d,[1518500249+r11*1+r14]
-	add	r11d,ecx
-	xor	eax,edi
-	rol	r13d,30
-	add	r11d,eax
-	mov	ebp,DWORD[16+r9]
-	mov	eax,esi
-	mov	DWORD[12+rsp],edx
-	mov	ecx,r11d
-	bswap	ebp
-	xor	eax,r13d
-	rol	ecx,5
-	and	eax,r12d
-	lea	edi,[1518500249+rdi*1+rdx]
-	add	edi,ecx
-	xor	eax,esi
-	rol	r12d,30
-	add	edi,eax
-	mov	r14d,DWORD[20+r9]
-	mov	eax,r13d
-	mov	DWORD[16+rsp],ebp
-	mov	ecx,edi
-	bswap	r14d
-	xor	eax,r12d
-	rol	ecx,5
-	and	eax,r11d
-	lea	esi,[1518500249+rsi*1+rbp]
-	add	esi,ecx
-	xor	eax,r13d
-	rol	r11d,30
-	add	esi,eax
-	mov	edx,DWORD[24+r9]
-	mov	eax,r12d
-	mov	DWORD[20+rsp],r14d
-	mov	ecx,esi
-	bswap	edx
-	xor	eax,r11d
-	rol	ecx,5
-	and	eax,edi
-	lea	r13d,[1518500249+r13*1+r14]
-	add	r13d,ecx
-	xor	eax,r12d
-	rol	edi,30
-	add	r13d,eax
-	mov	ebp,DWORD[28+r9]
-	mov	eax,r11d
-	mov	DWORD[24+rsp],edx
-	mov	ecx,r13d
-	bswap	ebp
-	xor	eax,edi
-	rol	ecx,5
-	and	eax,esi
-	lea	r12d,[1518500249+r12*1+rdx]
-	add	r12d,ecx
-	xor	eax,r11d
-	rol	esi,30
-	add	r12d,eax
-	mov	r14d,DWORD[32+r9]
-	mov	eax,edi
-	mov	DWORD[28+rsp],ebp
-	mov	ecx,r12d
-	bswap	r14d
-	xor	eax,esi
-	rol	ecx,5
-	and	eax,r13d
-	lea	r11d,[1518500249+r11*1+rbp]
-	add	r11d,ecx
-	xor	eax,edi
-	rol	r13d,30
-	add	r11d,eax
-	mov	edx,DWORD[36+r9]
-	mov	eax,esi
-	mov	DWORD[32+rsp],r14d
-	mov	ecx,r11d
-	bswap	edx
-	xor	eax,r13d
-	rol	ecx,5
-	and	eax,r12d
-	lea	edi,[1518500249+rdi*1+r14]
-	add	edi,ecx
-	xor	eax,esi
-	rol	r12d,30
-	add	edi,eax
-	mov	ebp,DWORD[40+r9]
-	mov	eax,r13d
-	mov	DWORD[36+rsp],edx
-	mov	ecx,edi
-	bswap	ebp
-	xor	eax,r12d
-	rol	ecx,5
-	and	eax,r11d
-	lea	esi,[1518500249+rsi*1+rdx]
-	add	esi,ecx
-	xor	eax,r13d
-	rol	r11d,30
-	add	esi,eax
-	mov	r14d,DWORD[44+r9]
-	mov	eax,r12d
-	mov	DWORD[40+rsp],ebp
-	mov	ecx,esi
-	bswap	r14d
-	xor	eax,r11d
-	rol	ecx,5
-	and	eax,edi
-	lea	r13d,[1518500249+r13*1+rbp]
-	add	r13d,ecx
-	xor	eax,r12d
-	rol	edi,30
-	add	r13d,eax
-	mov	edx,DWORD[48+r9]
-	mov	eax,r11d
-	mov	DWORD[44+rsp],r14d
-	mov	ecx,r13d
-	bswap	edx
-	xor	eax,edi
-	rol	ecx,5
-	and	eax,esi
-	lea	r12d,[1518500249+r12*1+r14]
-	add	r12d,ecx
-	xor	eax,r11d
-	rol	esi,30
-	add	r12d,eax
-	mov	ebp,DWORD[52+r9]
-	mov	eax,edi
-	mov	DWORD[48+rsp],edx
-	mov	ecx,r12d
-	bswap	ebp
-	xor	eax,esi
-	rol	ecx,5
-	and	eax,r13d
-	lea	r11d,[1518500249+r11*1+rdx]
-	add	r11d,ecx
-	xor	eax,edi
-	rol	r13d,30
-	add	r11d,eax
-	mov	r14d,DWORD[56+r9]
-	mov	eax,esi
-	mov	DWORD[52+rsp],ebp
-	mov	ecx,r11d
-	bswap	r14d
-	xor	eax,r13d
-	rol	ecx,5
-	and	eax,r12d
-	lea	edi,[1518500249+rdi*1+rbp]
-	add	edi,ecx
-	xor	eax,esi
-	rol	r12d,30
-	add	edi,eax
-	mov	edx,DWORD[60+r9]
-	mov	eax,r13d
-	mov	DWORD[56+rsp],r14d
-	mov	ecx,edi
-	bswap	edx
-	xor	eax,r12d
-	rol	ecx,5
-	and	eax,r11d
-	lea	esi,[1518500249+rsi*1+r14]
-	add	esi,ecx
-	xor	eax,r13d
-	rol	r11d,30
-	add	esi,eax
-	xor	ebp,DWORD[rsp]
-	mov	eax,r12d
-	mov	DWORD[60+rsp],edx
-	mov	ecx,esi
-	xor	ebp,DWORD[8+rsp]
-	xor	eax,r11d
-	rol	ecx,5
-	xor	ebp,DWORD[32+rsp]
-	and	eax,edi
-	lea	r13d,[1518500249+r13*1+rdx]
-	rol	edi,30
-	xor	eax,r12d
-	add	r13d,ecx
-	rol	ebp,1
-	add	r13d,eax
-	xor	r14d,DWORD[4+rsp]
-	mov	eax,r11d
-	mov	DWORD[rsp],ebp
-	mov	ecx,r13d
-	xor	r14d,DWORD[12+rsp]
-	xor	eax,edi
-	rol	ecx,5
-	xor	r14d,DWORD[36+rsp]
-	and	eax,esi
-	lea	r12d,[1518500249+r12*1+rbp]
-	rol	esi,30
-	xor	eax,r11d
-	add	r12d,ecx
-	rol	r14d,1
-	add	r12d,eax
-	xor	edx,DWORD[8+rsp]
-	mov	eax,edi
-	mov	DWORD[4+rsp],r14d
-	mov	ecx,r12d
-	xor	edx,DWORD[16+rsp]
-	xor	eax,esi
-	rol	ecx,5
-	xor	edx,DWORD[40+rsp]
-	and	eax,r13d
-	lea	r11d,[1518500249+r11*1+r14]
-	rol	r13d,30
-	xor	eax,edi
-	add	r11d,ecx
-	rol	edx,1
-	add	r11d,eax
-	xor	ebp,DWORD[12+rsp]
-	mov	eax,esi
-	mov	DWORD[8+rsp],edx
-	mov	ecx,r11d
-	xor	ebp,DWORD[20+rsp]
-	xor	eax,r13d
-	rol	ecx,5
-	xor	ebp,DWORD[44+rsp]
-	and	eax,r12d
-	lea	edi,[1518500249+rdi*1+rdx]
-	rol	r12d,30
-	xor	eax,esi
-	add	edi,ecx
-	rol	ebp,1
-	add	edi,eax
-	xor	r14d,DWORD[16+rsp]
-	mov	eax,r13d
-	mov	DWORD[12+rsp],ebp
-	mov	ecx,edi
-	xor	r14d,DWORD[24+rsp]
-	xor	eax,r12d
-	rol	ecx,5
-	xor	r14d,DWORD[48+rsp]
-	and	eax,r11d
-	lea	esi,[1518500249+rsi*1+rbp]
-	rol	r11d,30
-	xor	eax,r13d
-	add	esi,ecx
-	rol	r14d,1
-	add	esi,eax
-	xor	edx,DWORD[20+rsp]
-	mov	eax,edi
-	mov	DWORD[16+rsp],r14d
-	mov	ecx,esi
-	xor	edx,DWORD[28+rsp]
-	xor	eax,r12d
-	rol	ecx,5
-	xor	edx,DWORD[52+rsp]
-	lea	r13d,[1859775393+r13*1+r14]
-	xor	eax,r11d
-	add	r13d,ecx
-	rol	edi,30
-	add	r13d,eax
-	rol	edx,1
-	xor	ebp,DWORD[24+rsp]
-	mov	eax,esi
-	mov	DWORD[20+rsp],edx
-	mov	ecx,r13d
-	xor	ebp,DWORD[32+rsp]
-	xor	eax,r11d
-	rol	ecx,5
-	xor	ebp,DWORD[56+rsp]
-	lea	r12d,[1859775393+r12*1+rdx]
-	xor	eax,edi
-	add	r12d,ecx
-	rol	esi,30
-	add	r12d,eax
-	rol	ebp,1
-	xor	r14d,DWORD[28+rsp]
-	mov	eax,r13d
-	mov	DWORD[24+rsp],ebp
-	mov	ecx,r12d
-	xor	r14d,DWORD[36+rsp]
-	xor	eax,edi
-	rol	ecx,5
-	xor	r14d,DWORD[60+rsp]
-	lea	r11d,[1859775393+r11*1+rbp]
-	xor	eax,esi
-	add	r11d,ecx
-	rol	r13d,30
-	add	r11d,eax
-	rol	r14d,1
-	xor	edx,DWORD[32+rsp]
-	mov	eax,r12d
-	mov	DWORD[28+rsp],r14d
-	mov	ecx,r11d
-	xor	edx,DWORD[40+rsp]
-	xor	eax,esi
-	rol	ecx,5
-	xor	edx,DWORD[rsp]
-	lea	edi,[1859775393+rdi*1+r14]
-	xor	eax,r13d
-	add	edi,ecx
-	rol	r12d,30
-	add	edi,eax
-	rol	edx,1
-	xor	ebp,DWORD[36+rsp]
-	mov	eax,r11d
-	mov	DWORD[32+rsp],edx
-	mov	ecx,edi
-	xor	ebp,DWORD[44+rsp]
-	xor	eax,r13d
-	rol	ecx,5
-	xor	ebp,DWORD[4+rsp]
-	lea	esi,[1859775393+rsi*1+rdx]
-	xor	eax,r12d
-	add	esi,ecx
-	rol	r11d,30
-	add	esi,eax
-	rol	ebp,1
-	xor	r14d,DWORD[40+rsp]
-	mov	eax,edi
-	mov	DWORD[36+rsp],ebp
-	mov	ecx,esi
-	xor	r14d,DWORD[48+rsp]
-	xor	eax,r12d
-	rol	ecx,5
-	xor	r14d,DWORD[8+rsp]
-	lea	r13d,[1859775393+r13*1+rbp]
-	xor	eax,r11d
-	add	r13d,ecx
-	rol	edi,30
-	add	r13d,eax
-	rol	r14d,1
-	xor	edx,DWORD[44+rsp]
-	mov	eax,esi
-	mov	DWORD[40+rsp],r14d
-	mov	ecx,r13d
-	xor	edx,DWORD[52+rsp]
-	xor	eax,r11d
-	rol	ecx,5
-	xor	edx,DWORD[12+rsp]
-	lea	r12d,[1859775393+r12*1+r14]
-	xor	eax,edi
-	add	r12d,ecx
-	rol	esi,30
-	add	r12d,eax
-	rol	edx,1
-	xor	ebp,DWORD[48+rsp]
-	mov	eax,r13d
-	mov	DWORD[44+rsp],edx
-	mov	ecx,r12d
-	xor	ebp,DWORD[56+rsp]
-	xor	eax,edi
-	rol	ecx,5
-	xor	ebp,DWORD[16+rsp]
-	lea	r11d,[1859775393+r11*1+rdx]
-	xor	eax,esi
-	add	r11d,ecx
-	rol	r13d,30
-	add	r11d,eax
-	rol	ebp,1
-	xor	r14d,DWORD[52+rsp]
-	mov	eax,r12d
-	mov	DWORD[48+rsp],ebp
-	mov	ecx,r11d
-	xor	r14d,DWORD[60+rsp]
-	xor	eax,esi
-	rol	ecx,5
-	xor	r14d,DWORD[20+rsp]
-	lea	edi,[1859775393+rdi*1+rbp]
-	xor	eax,r13d
-	add	edi,ecx
-	rol	r12d,30
-	add	edi,eax
-	rol	r14d,1
-	xor	edx,DWORD[56+rsp]
-	mov	eax,r11d
-	mov	DWORD[52+rsp],r14d
-	mov	ecx,edi
-	xor	edx,DWORD[rsp]
-	xor	eax,r13d
-	rol	ecx,5
-	xor	edx,DWORD[24+rsp]
-	lea	esi,[1859775393+rsi*1+r14]
-	xor	eax,r12d
-	add	esi,ecx
-	rol	r11d,30
-	add	esi,eax
-	rol	edx,1
-	xor	ebp,DWORD[60+rsp]
-	mov	eax,edi
-	mov	DWORD[56+rsp],edx
-	mov	ecx,esi
-	xor	ebp,DWORD[4+rsp]
-	xor	eax,r12d
-	rol	ecx,5
-	xor	ebp,DWORD[28+rsp]
-	lea	r13d,[1859775393+r13*1+rdx]
-	xor	eax,r11d
-	add	r13d,ecx
-	rol	edi,30
-	add	r13d,eax
-	rol	ebp,1
-	xor	r14d,DWORD[rsp]
-	mov	eax,esi
-	mov	DWORD[60+rsp],ebp
-	mov	ecx,r13d
-	xor	r14d,DWORD[8+rsp]
-	xor	eax,r11d
-	rol	ecx,5
-	xor	r14d,DWORD[32+rsp]
-	lea	r12d,[1859775393+r12*1+rbp]
-	xor	eax,edi
-	add	r12d,ecx
-	rol	esi,30
-	add	r12d,eax
-	rol	r14d,1
-	xor	edx,DWORD[4+rsp]
-	mov	eax,r13d
-	mov	DWORD[rsp],r14d
-	mov	ecx,r12d
-	xor	edx,DWORD[12+rsp]
-	xor	eax,edi
-	rol	ecx,5
-	xor	edx,DWORD[36+rsp]
-	lea	r11d,[1859775393+r11*1+r14]
-	xor	eax,esi
-	add	r11d,ecx
-	rol	r13d,30
-	add	r11d,eax
-	rol	edx,1
-	xor	ebp,DWORD[8+rsp]
-	mov	eax,r12d
-	mov	DWORD[4+rsp],edx
-	mov	ecx,r11d
-	xor	ebp,DWORD[16+rsp]
-	xor	eax,esi
-	rol	ecx,5
-	xor	ebp,DWORD[40+rsp]
-	lea	edi,[1859775393+rdi*1+rdx]
-	xor	eax,r13d
-	add	edi,ecx
-	rol	r12d,30
-	add	edi,eax
-	rol	ebp,1
-	xor	r14d,DWORD[12+rsp]
-	mov	eax,r11d
-	mov	DWORD[8+rsp],ebp
-	mov	ecx,edi
-	xor	r14d,DWORD[20+rsp]
-	xor	eax,r13d
-	rol	ecx,5
-	xor	r14d,DWORD[44+rsp]
-	lea	esi,[1859775393+rsi*1+rbp]
-	xor	eax,r12d
-	add	esi,ecx
-	rol	r11d,30
-	add	esi,eax
-	rol	r14d,1
-	xor	edx,DWORD[16+rsp]
-	mov	eax,edi
-	mov	DWORD[12+rsp],r14d
-	mov	ecx,esi
-	xor	edx,DWORD[24+rsp]
-	xor	eax,r12d
-	rol	ecx,5
-	xor	edx,DWORD[48+rsp]
-	lea	r13d,[1859775393+r13*1+r14]
-	xor	eax,r11d
-	add	r13d,ecx
-	rol	edi,30
-	add	r13d,eax
-	rol	edx,1
-	xor	ebp,DWORD[20+rsp]
-	mov	eax,esi
-	mov	DWORD[16+rsp],edx
-	mov	ecx,r13d
-	xor	ebp,DWORD[28+rsp]
-	xor	eax,r11d
-	rol	ecx,5
-	xor	ebp,DWORD[52+rsp]
-	lea	r12d,[1859775393+r12*1+rdx]
-	xor	eax,edi
-	add	r12d,ecx
-	rol	esi,30
-	add	r12d,eax
-	rol	ebp,1
-	xor	r14d,DWORD[24+rsp]
-	mov	eax,r13d
-	mov	DWORD[20+rsp],ebp
-	mov	ecx,r12d
-	xor	r14d,DWORD[32+rsp]
-	xor	eax,edi
-	rol	ecx,5
-	xor	r14d,DWORD[56+rsp]
-	lea	r11d,[1859775393+r11*1+rbp]
-	xor	eax,esi
-	add	r11d,ecx
-	rol	r13d,30
-	add	r11d,eax
-	rol	r14d,1
-	xor	edx,DWORD[28+rsp]
-	mov	eax,r12d
-	mov	DWORD[24+rsp],r14d
-	mov	ecx,r11d
-	xor	edx,DWORD[36+rsp]
-	xor	eax,esi
-	rol	ecx,5
-	xor	edx,DWORD[60+rsp]
-	lea	edi,[1859775393+rdi*1+r14]
-	xor	eax,r13d
-	add	edi,ecx
-	rol	r12d,30
-	add	edi,eax
-	rol	edx,1
-	xor	ebp,DWORD[32+rsp]
-	mov	eax,r11d
-	mov	DWORD[28+rsp],edx
-	mov	ecx,edi
-	xor	ebp,DWORD[40+rsp]
-	xor	eax,r13d
-	rol	ecx,5
-	xor	ebp,DWORD[rsp]
-	lea	esi,[1859775393+rsi*1+rdx]
-	xor	eax,r12d
-	add	esi,ecx
-	rol	r11d,30
-	add	esi,eax
-	rol	ebp,1
-	xor	r14d,DWORD[36+rsp]
-	mov	eax,r12d
-	mov	DWORD[32+rsp],ebp
-	mov	ebx,r12d
-	xor	r14d,DWORD[44+rsp]
-	and	eax,r11d
-	mov	ecx,esi
-	xor	r14d,DWORD[4+rsp]
-	lea	r13d,[((-1894007588))+r13*1+rbp]
-	xor	ebx,r11d
-	rol	ecx,5
-	add	r13d,eax
-	rol	r14d,1
-	and	ebx,edi
-	add	r13d,ecx
-	rol	edi,30
-	add	r13d,ebx
-	xor	edx,DWORD[40+rsp]
-	mov	eax,r11d
-	mov	DWORD[36+rsp],r14d
-	mov	ebx,r11d
-	xor	edx,DWORD[48+rsp]
-	and	eax,edi
-	mov	ecx,r13d
-	xor	edx,DWORD[8+rsp]
-	lea	r12d,[((-1894007588))+r12*1+r14]
-	xor	ebx,edi
-	rol	ecx,5
-	add	r12d,eax
-	rol	edx,1
-	and	ebx,esi
-	add	r12d,ecx
-	rol	esi,30
-	add	r12d,ebx
-	xor	ebp,DWORD[44+rsp]
-	mov	eax,edi
-	mov	DWORD[40+rsp],edx
-	mov	ebx,edi
-	xor	ebp,DWORD[52+rsp]
-	and	eax,esi
-	mov	ecx,r12d
-	xor	ebp,DWORD[12+rsp]
-	lea	r11d,[((-1894007588))+r11*1+rdx]
-	xor	ebx,esi
-	rol	ecx,5
-	add	r11d,eax
-	rol	ebp,1
-	and	ebx,r13d
-	add	r11d,ecx
-	rol	r13d,30
-	add	r11d,ebx
-	xor	r14d,DWORD[48+rsp]
-	mov	eax,esi
-	mov	DWORD[44+rsp],ebp
-	mov	ebx,esi
-	xor	r14d,DWORD[56+rsp]
-	and	eax,r13d
-	mov	ecx,r11d
-	xor	r14d,DWORD[16+rsp]
-	lea	edi,[((-1894007588))+rdi*1+rbp]
-	xor	ebx,r13d
-	rol	ecx,5
-	add	edi,eax
-	rol	r14d,1
-	and	ebx,r12d
-	add	edi,ecx
-	rol	r12d,30
-	add	edi,ebx
-	xor	edx,DWORD[52+rsp]
-	mov	eax,r13d
-	mov	DWORD[48+rsp],r14d
-	mov	ebx,r13d
-	xor	edx,DWORD[60+rsp]
-	and	eax,r12d
-	mov	ecx,edi
-	xor	edx,DWORD[20+rsp]
-	lea	esi,[((-1894007588))+rsi*1+r14]
-	xor	ebx,r12d
-	rol	ecx,5
-	add	esi,eax
-	rol	edx,1
-	and	ebx,r11d
-	add	esi,ecx
-	rol	r11d,30
-	add	esi,ebx
-	xor	ebp,DWORD[56+rsp]
-	mov	eax,r12d
-	mov	DWORD[52+rsp],edx
-	mov	ebx,r12d
-	xor	ebp,DWORD[rsp]
-	and	eax,r11d
-	mov	ecx,esi
-	xor	ebp,DWORD[24+rsp]
-	lea	r13d,[((-1894007588))+r13*1+rdx]
-	xor	ebx,r11d
-	rol	ecx,5
-	add	r13d,eax
-	rol	ebp,1
-	and	ebx,edi
-	add	r13d,ecx
-	rol	edi,30
-	add	r13d,ebx
-	xor	r14d,DWORD[60+rsp]
-	mov	eax,r11d
-	mov	DWORD[56+rsp],ebp
-	mov	ebx,r11d
-	xor	r14d,DWORD[4+rsp]
-	and	eax,edi
-	mov	ecx,r13d
-	xor	r14d,DWORD[28+rsp]
-	lea	r12d,[((-1894007588))+r12*1+rbp]
-	xor	ebx,edi
-	rol	ecx,5
-	add	r12d,eax
-	rol	r14d,1
-	and	ebx,esi
-	add	r12d,ecx
-	rol	esi,30
-	add	r12d,ebx
-	xor	edx,DWORD[rsp]
-	mov	eax,edi
-	mov	DWORD[60+rsp],r14d
-	mov	ebx,edi
-	xor	edx,DWORD[8+rsp]
-	and	eax,esi
-	mov	ecx,r12d
-	xor	edx,DWORD[32+rsp]
-	lea	r11d,[((-1894007588))+r11*1+r14]
-	xor	ebx,esi
-	rol	ecx,5
-	add	r11d,eax
-	rol	edx,1
-	and	ebx,r13d
-	add	r11d,ecx
-	rol	r13d,30
-	add	r11d,ebx
-	xor	ebp,DWORD[4+rsp]
-	mov	eax,esi
-	mov	DWORD[rsp],edx
-	mov	ebx,esi
-	xor	ebp,DWORD[12+rsp]
-	and	eax,r13d
-	mov	ecx,r11d
-	xor	ebp,DWORD[36+rsp]
-	lea	edi,[((-1894007588))+rdi*1+rdx]
-	xor	ebx,r13d
-	rol	ecx,5
-	add	edi,eax
-	rol	ebp,1
-	and	ebx,r12d
-	add	edi,ecx
-	rol	r12d,30
-	add	edi,ebx
-	xor	r14d,DWORD[8+rsp]
-	mov	eax,r13d
-	mov	DWORD[4+rsp],ebp
-	mov	ebx,r13d
-	xor	r14d,DWORD[16+rsp]
-	and	eax,r12d
-	mov	ecx,edi
-	xor	r14d,DWORD[40+rsp]
-	lea	esi,[((-1894007588))+rsi*1+rbp]
-	xor	ebx,r12d
-	rol	ecx,5
-	add	esi,eax
-	rol	r14d,1
-	and	ebx,r11d
-	add	esi,ecx
-	rol	r11d,30
-	add	esi,ebx
-	xor	edx,DWORD[12+rsp]
-	mov	eax,r12d
-	mov	DWORD[8+rsp],r14d
-	mov	ebx,r12d
-	xor	edx,DWORD[20+rsp]
-	and	eax,r11d
-	mov	ecx,esi
-	xor	edx,DWORD[44+rsp]
-	lea	r13d,[((-1894007588))+r13*1+r14]
-	xor	ebx,r11d
-	rol	ecx,5
-	add	r13d,eax
-	rol	edx,1
-	and	ebx,edi
-	add	r13d,ecx
-	rol	edi,30
-	add	r13d,ebx
-	xor	ebp,DWORD[16+rsp]
-	mov	eax,r11d
-	mov	DWORD[12+rsp],edx
-	mov	ebx,r11d
-	xor	ebp,DWORD[24+rsp]
-	and	eax,edi
-	mov	ecx,r13d
-	xor	ebp,DWORD[48+rsp]
-	lea	r12d,[((-1894007588))+r12*1+rdx]
-	xor	ebx,edi
-	rol	ecx,5
-	add	r12d,eax
-	rol	ebp,1
-	and	ebx,esi
-	add	r12d,ecx
-	rol	esi,30
-	add	r12d,ebx
-	xor	r14d,DWORD[20+rsp]
-	mov	eax,edi
-	mov	DWORD[16+rsp],ebp
-	mov	ebx,edi
-	xor	r14d,DWORD[28+rsp]
-	and	eax,esi
-	mov	ecx,r12d
-	xor	r14d,DWORD[52+rsp]
-	lea	r11d,[((-1894007588))+r11*1+rbp]
-	xor	ebx,esi
-	rol	ecx,5
-	add	r11d,eax
-	rol	r14d,1
-	and	ebx,r13d
-	add	r11d,ecx
-	rol	r13d,30
-	add	r11d,ebx
-	xor	edx,DWORD[24+rsp]
-	mov	eax,esi
-	mov	DWORD[20+rsp],r14d
-	mov	ebx,esi
-	xor	edx,DWORD[32+rsp]
-	and	eax,r13d
-	mov	ecx,r11d
-	xor	edx,DWORD[56+rsp]
-	lea	edi,[((-1894007588))+rdi*1+r14]
-	xor	ebx,r13d
-	rol	ecx,5
-	add	edi,eax
-	rol	edx,1
-	and	ebx,r12d
-	add	edi,ecx
-	rol	r12d,30
-	add	edi,ebx
-	xor	ebp,DWORD[28+rsp]
-	mov	eax,r13d
-	mov	DWORD[24+rsp],edx
-	mov	ebx,r13d
-	xor	ebp,DWORD[36+rsp]
-	and	eax,r12d
-	mov	ecx,edi
-	xor	ebp,DWORD[60+rsp]
-	lea	esi,[((-1894007588))+rsi*1+rdx]
-	xor	ebx,r12d
-	rol	ecx,5
-	add	esi,eax
-	rol	ebp,1
-	and	ebx,r11d
-	add	esi,ecx
-	rol	r11d,30
-	add	esi,ebx
-	xor	r14d,DWORD[32+rsp]
-	mov	eax,r12d
-	mov	DWORD[28+rsp],ebp
-	mov	ebx,r12d
-	xor	r14d,DWORD[40+rsp]
-	and	eax,r11d
-	mov	ecx,esi
-	xor	r14d,DWORD[rsp]
-	lea	r13d,[((-1894007588))+r13*1+rbp]
-	xor	ebx,r11d
-	rol	ecx,5
-	add	r13d,eax
-	rol	r14d,1
-	and	ebx,edi
-	add	r13d,ecx
-	rol	edi,30
-	add	r13d,ebx
-	xor	edx,DWORD[36+rsp]
-	mov	eax,r11d
-	mov	DWORD[32+rsp],r14d
-	mov	ebx,r11d
-	xor	edx,DWORD[44+rsp]
-	and	eax,edi
-	mov	ecx,r13d
-	xor	edx,DWORD[4+rsp]
-	lea	r12d,[((-1894007588))+r12*1+r14]
-	xor	ebx,edi
-	rol	ecx,5
-	add	r12d,eax
-	rol	edx,1
-	and	ebx,esi
-	add	r12d,ecx
-	rol	esi,30
-	add	r12d,ebx
-	xor	ebp,DWORD[40+rsp]
-	mov	eax,edi
-	mov	DWORD[36+rsp],edx
-	mov	ebx,edi
-	xor	ebp,DWORD[48+rsp]
-	and	eax,esi
-	mov	ecx,r12d
-	xor	ebp,DWORD[8+rsp]
-	lea	r11d,[((-1894007588))+r11*1+rdx]
-	xor	ebx,esi
-	rol	ecx,5
-	add	r11d,eax
-	rol	ebp,1
-	and	ebx,r13d
-	add	r11d,ecx
-	rol	r13d,30
-	add	r11d,ebx
-	xor	r14d,DWORD[44+rsp]
-	mov	eax,esi
-	mov	DWORD[40+rsp],ebp
-	mov	ebx,esi
-	xor	r14d,DWORD[52+rsp]
-	and	eax,r13d
-	mov	ecx,r11d
-	xor	r14d,DWORD[12+rsp]
-	lea	edi,[((-1894007588))+rdi*1+rbp]
-	xor	ebx,r13d
-	rol	ecx,5
-	add	edi,eax
-	rol	r14d,1
-	and	ebx,r12d
-	add	edi,ecx
-	rol	r12d,30
-	add	edi,ebx
-	xor	edx,DWORD[48+rsp]
-	mov	eax,r13d
-	mov	DWORD[44+rsp],r14d
-	mov	ebx,r13d
-	xor	edx,DWORD[56+rsp]
-	and	eax,r12d
-	mov	ecx,edi
-	xor	edx,DWORD[16+rsp]
-	lea	esi,[((-1894007588))+rsi*1+r14]
-	xor	ebx,r12d
-	rol	ecx,5
-	add	esi,eax
-	rol	edx,1
-	and	ebx,r11d
-	add	esi,ecx
-	rol	r11d,30
-	add	esi,ebx
-	xor	ebp,DWORD[52+rsp]
-	mov	eax,edi
-	mov	DWORD[48+rsp],edx
-	mov	ecx,esi
-	xor	ebp,DWORD[60+rsp]
-	xor	eax,r12d
-	rol	ecx,5
-	xor	ebp,DWORD[20+rsp]
-	lea	r13d,[((-899497514))+r13*1+rdx]
-	xor	eax,r11d
-	add	r13d,ecx
-	rol	edi,30
-	add	r13d,eax
-	rol	ebp,1
-	xor	r14d,DWORD[56+rsp]
-	mov	eax,esi
-	mov	DWORD[52+rsp],ebp
-	mov	ecx,r13d
-	xor	r14d,DWORD[rsp]
-	xor	eax,r11d
-	rol	ecx,5
-	xor	r14d,DWORD[24+rsp]
-	lea	r12d,[((-899497514))+r12*1+rbp]
-	xor	eax,edi
-	add	r12d,ecx
-	rol	esi,30
-	add	r12d,eax
-	rol	r14d,1
-	xor	edx,DWORD[60+rsp]
-	mov	eax,r13d
-	mov	DWORD[56+rsp],r14d
-	mov	ecx,r12d
-	xor	edx,DWORD[4+rsp]
-	xor	eax,edi
-	rol	ecx,5
-	xor	edx,DWORD[28+rsp]
-	lea	r11d,[((-899497514))+r11*1+r14]
-	xor	eax,esi
-	add	r11d,ecx
-	rol	r13d,30
-	add	r11d,eax
-	rol	edx,1
-	xor	ebp,DWORD[rsp]
-	mov	eax,r12d
-	mov	DWORD[60+rsp],edx
-	mov	ecx,r11d
-	xor	ebp,DWORD[8+rsp]
-	xor	eax,esi
-	rol	ecx,5
-	xor	ebp,DWORD[32+rsp]
-	lea	edi,[((-899497514))+rdi*1+rdx]
-	xor	eax,r13d
-	add	edi,ecx
-	rol	r12d,30
-	add	edi,eax
-	rol	ebp,1
-	xor	r14d,DWORD[4+rsp]
-	mov	eax,r11d
-	mov	DWORD[rsp],ebp
-	mov	ecx,edi
-	xor	r14d,DWORD[12+rsp]
-	xor	eax,r13d
-	rol	ecx,5
-	xor	r14d,DWORD[36+rsp]
-	lea	esi,[((-899497514))+rsi*1+rbp]
-	xor	eax,r12d
-	add	esi,ecx
-	rol	r11d,30
-	add	esi,eax
-	rol	r14d,1
-	xor	edx,DWORD[8+rsp]
-	mov	eax,edi
-	mov	DWORD[4+rsp],r14d
-	mov	ecx,esi
-	xor	edx,DWORD[16+rsp]
-	xor	eax,r12d
-	rol	ecx,5
-	xor	edx,DWORD[40+rsp]
-	lea	r13d,[((-899497514))+r13*1+r14]
-	xor	eax,r11d
-	add	r13d,ecx
-	rol	edi,30
-	add	r13d,eax
-	rol	edx,1
-	xor	ebp,DWORD[12+rsp]
-	mov	eax,esi
-	mov	DWORD[8+rsp],edx
-	mov	ecx,r13d
-	xor	ebp,DWORD[20+rsp]
-	xor	eax,r11d
-	rol	ecx,5
-	xor	ebp,DWORD[44+rsp]
-	lea	r12d,[((-899497514))+r12*1+rdx]
-	xor	eax,edi
-	add	r12d,ecx
-	rol	esi,30
-	add	r12d,eax
-	rol	ebp,1
-	xor	r14d,DWORD[16+rsp]
-	mov	eax,r13d
-	mov	DWORD[12+rsp],ebp
-	mov	ecx,r12d
-	xor	r14d,DWORD[24+rsp]
-	xor	eax,edi
-	rol	ecx,5
-	xor	r14d,DWORD[48+rsp]
-	lea	r11d,[((-899497514))+r11*1+rbp]
-	xor	eax,esi
-	add	r11d,ecx
-	rol	r13d,30
-	add	r11d,eax
-	rol	r14d,1
-	xor	edx,DWORD[20+rsp]
-	mov	eax,r12d
-	mov	DWORD[16+rsp],r14d
-	mov	ecx,r11d
-	xor	edx,DWORD[28+rsp]
-	xor	eax,esi
-	rol	ecx,5
-	xor	edx,DWORD[52+rsp]
-	lea	edi,[((-899497514))+rdi*1+r14]
-	xor	eax,r13d
-	add	edi,ecx
-	rol	r12d,30
-	add	edi,eax
-	rol	edx,1
-	xor	ebp,DWORD[24+rsp]
-	mov	eax,r11d
-	mov	DWORD[20+rsp],edx
-	mov	ecx,edi
-	xor	ebp,DWORD[32+rsp]
-	xor	eax,r13d
-	rol	ecx,5
-	xor	ebp,DWORD[56+rsp]
-	lea	esi,[((-899497514))+rsi*1+rdx]
-	xor	eax,r12d
-	add	esi,ecx
-	rol	r11d,30
-	add	esi,eax
-	rol	ebp,1
-	xor	r14d,DWORD[28+rsp]
-	mov	eax,edi
-	mov	DWORD[24+rsp],ebp
-	mov	ecx,esi
-	xor	r14d,DWORD[36+rsp]
-	xor	eax,r12d
-	rol	ecx,5
-	xor	r14d,DWORD[60+rsp]
-	lea	r13d,[((-899497514))+r13*1+rbp]
-	xor	eax,r11d
-	add	r13d,ecx
-	rol	edi,30
-	add	r13d,eax
-	rol	r14d,1
-	xor	edx,DWORD[32+rsp]
-	mov	eax,esi
-	mov	DWORD[28+rsp],r14d
-	mov	ecx,r13d
-	xor	edx,DWORD[40+rsp]
-	xor	eax,r11d
-	rol	ecx,5
-	xor	edx,DWORD[rsp]
-	lea	r12d,[((-899497514))+r12*1+r14]
-	xor	eax,edi
-	add	r12d,ecx
-	rol	esi,30
-	add	r12d,eax
-	rol	edx,1
-	xor	ebp,DWORD[36+rsp]
-	mov	eax,r13d
-
-	mov	ecx,r12d
-	xor	ebp,DWORD[44+rsp]
-	xor	eax,edi
-	rol	ecx,5
-	xor	ebp,DWORD[4+rsp]
-	lea	r11d,[((-899497514))+r11*1+rdx]
-	xor	eax,esi
-	add	r11d,ecx
-	rol	r13d,30
-	add	r11d,eax
-	rol	ebp,1
-	xor	r14d,DWORD[40+rsp]
-	mov	eax,r12d
-
-	mov	ecx,r11d
-	xor	r14d,DWORD[48+rsp]
-	xor	eax,esi
-	rol	ecx,5
-	xor	r14d,DWORD[8+rsp]
-	lea	edi,[((-899497514))+rdi*1+rbp]
-	xor	eax,r13d
-	add	edi,ecx
-	rol	r12d,30
-	add	edi,eax
-	rol	r14d,1
-	xor	edx,DWORD[44+rsp]
-	mov	eax,r11d
-
-	mov	ecx,edi
-	xor	edx,DWORD[52+rsp]
-	xor	eax,r13d
-	rol	ecx,5
-	xor	edx,DWORD[12+rsp]
-	lea	esi,[((-899497514))+rsi*1+r14]
-	xor	eax,r12d
-	add	esi,ecx
-	rol	r11d,30
-	add	esi,eax
-	rol	edx,1
-	xor	ebp,DWORD[48+rsp]
-	mov	eax,edi
-
-	mov	ecx,esi
-	xor	ebp,DWORD[56+rsp]
-	xor	eax,r12d
-	rol	ecx,5
-	xor	ebp,DWORD[16+rsp]
-	lea	r13d,[((-899497514))+r13*1+rdx]
-	xor	eax,r11d
-	add	r13d,ecx
-	rol	edi,30
-	add	r13d,eax
-	rol	ebp,1
-	xor	r14d,DWORD[52+rsp]
-	mov	eax,esi
-
-	mov	ecx,r13d
-	xor	r14d,DWORD[60+rsp]
-	xor	eax,r11d
-	rol	ecx,5
-	xor	r14d,DWORD[20+rsp]
-	lea	r12d,[((-899497514))+r12*1+rbp]
-	xor	eax,edi
-	add	r12d,ecx
-	rol	esi,30
-	add	r12d,eax
-	rol	r14d,1
-	xor	edx,DWORD[56+rsp]
-	mov	eax,r13d
-
-	mov	ecx,r12d
-	xor	edx,DWORD[rsp]
-	xor	eax,edi
-	rol	ecx,5
-	xor	edx,DWORD[24+rsp]
-	lea	r11d,[((-899497514))+r11*1+r14]
-	xor	eax,esi
-	add	r11d,ecx
-	rol	r13d,30
-	add	r11d,eax
-	rol	edx,1
-	xor	ebp,DWORD[60+rsp]
-	mov	eax,r12d
-
-	mov	ecx,r11d
-	xor	ebp,DWORD[4+rsp]
-	xor	eax,esi
-	rol	ecx,5
-	xor	ebp,DWORD[28+rsp]
-	lea	edi,[((-899497514))+rdi*1+rdx]
-	xor	eax,r13d
-	add	edi,ecx
-	rol	r12d,30
-	add	edi,eax
-	rol	ebp,1
-	mov	eax,r11d
-	mov	ecx,edi
-	xor	eax,r13d
-	lea	esi,[((-899497514))+rsi*1+rbp]
-	rol	ecx,5
-	xor	eax,r12d
-	add	esi,ecx
-	rol	r11d,30
-	add	esi,eax
-	add	esi,DWORD[r8]
-	add	edi,DWORD[4+r8]
-	add	r11d,DWORD[8+r8]
-	add	r12d,DWORD[12+r8]
-	add	r13d,DWORD[16+r8]
-	mov	DWORD[r8],esi
-	mov	DWORD[4+r8],edi
-	mov	DWORD[8+r8],r11d
-	mov	DWORD[12+r8],r12d
-	mov	DWORD[16+r8],r13d
-
-	sub	r10,1
-	lea	r9,[64+r9]
-	jnz	NEAR $L$loop
-
-	mov	rsi,QWORD[64+rsp]
-	mov	r14,QWORD[((-40))+rsi]
-	mov	r13,QWORD[((-32))+rsi]
-	mov	r12,QWORD[((-24))+rsi]
-	mov	rbp,QWORD[((-16))+rsi]
-	mov	rbx,QWORD[((-8))+rsi]
-	lea	rsp,[rsi]
-$L$epilogue:
-	mov	rdi,QWORD[8+rsp]	;WIN64 epilogue
-	mov	rsi,QWORD[16+rsp]
-	DB	0F3h,0C3h		;repret
-$L$SEH_end_sha1_block_data_order:
-
-ALIGN	16
-sha1_block_data_order_ssse3:
-	mov	QWORD[8+rsp],rdi	;WIN64 prologue
-	mov	QWORD[16+rsp],rsi
-	mov	rax,rsp
-$L$SEH_begin_sha1_block_data_order_ssse3:
-	mov	rdi,rcx
-	mov	rsi,rdx
-	mov	rdx,r8
-
-
-_ssse3_shortcut:
-	mov	r11,rsp
-	push	rbx
-	push	rbp
-	push	r12
-	push	r13
-	push	r14
-	lea	rsp,[((-160))+rsp]
-	movaps	XMMWORD[(-40-96)+r11],xmm6
-	movaps	XMMWORD[(-40-80)+r11],xmm7
-	movaps	XMMWORD[(-40-64)+r11],xmm8
-	movaps	XMMWORD[(-40-48)+r11],xmm9
-	movaps	XMMWORD[(-40-32)+r11],xmm10
-	movaps	XMMWORD[(-40-16)+r11],xmm11
-$L$prologue_ssse3:
-	and	rsp,-64
-	mov	r8,rdi
-	mov	r9,rsi
-	mov	r10,rdx
-
-	shl	r10,6
-	add	r10,r9
-	lea	r14,[((K_XX_XX+64))]
-
-	mov	eax,DWORD[r8]
-	mov	ebx,DWORD[4+r8]
-	mov	ecx,DWORD[8+r8]
-	mov	edx,DWORD[12+r8]
-	mov	esi,ebx
-	mov	ebp,DWORD[16+r8]
-	mov	edi,ecx
-	xor	edi,edx
-	and	esi,edi
-
-	movdqa	xmm6,XMMWORD[64+r14]
-	movdqa	xmm9,XMMWORD[((-64))+r14]
-	movdqu	xmm0,XMMWORD[r9]
-	movdqu	xmm1,XMMWORD[16+r9]
-	movdqu	xmm2,XMMWORD[32+r9]
-	movdqu	xmm3,XMMWORD[48+r9]
-DB	102,15,56,0,198
-DB	102,15,56,0,206
-DB	102,15,56,0,214
-	add	r9,64
-	paddd	xmm0,xmm9
-DB	102,15,56,0,222
-	paddd	xmm1,xmm9
-	paddd	xmm2,xmm9
-	movdqa	XMMWORD[rsp],xmm0
-	psubd	xmm0,xmm9
-	movdqa	XMMWORD[16+rsp],xmm1
-	psubd	xmm1,xmm9
-	movdqa	XMMWORD[32+rsp],xmm2
-	psubd	xmm2,xmm9
-	jmp	NEAR $L$oop_ssse3
-ALIGN	16
-$L$oop_ssse3:
-	ror	ebx,2
-	pshufd	xmm4,xmm0,238
-	xor	esi,edx
-	movdqa	xmm8,xmm3
-	paddd	xmm9,xmm3
-	mov	edi,eax
-	add	ebp,DWORD[rsp]
-	punpcklqdq	xmm4,xmm1
-	xor	ebx,ecx
-	rol	eax,5
-	add	ebp,esi
-	psrldq	xmm8,4
-	and	edi,ebx
-	xor	ebx,ecx
-	pxor	xmm4,xmm0
-	add	ebp,eax
-	ror	eax,7
-	pxor	xmm8,xmm2
-	xor	edi,ecx
-	mov	esi,ebp
-	add	edx,DWORD[4+rsp]
-	pxor	xmm4,xmm8
-	xor	eax,ebx
-	rol	ebp,5
-	movdqa	XMMWORD[48+rsp],xmm9
-	add	edx,edi
-	and	esi,eax
-	movdqa	xmm10,xmm4
-	xor	eax,ebx
-	add	edx,ebp
-	ror	ebp,7
-	movdqa	xmm8,xmm4
-	xor	esi,ebx
-	pslldq	xmm10,12
-	paddd	xmm4,xmm4
-	mov	edi,edx
-	add	ecx,DWORD[8+rsp]
-	psrld	xmm8,31
-	xor	ebp,eax
-	rol	edx,5
-	add	ecx,esi
-	movdqa	xmm9,xmm10
-	and	edi,ebp
-	xor	ebp,eax
-	psrld	xmm10,30
-	add	ecx,edx
-	ror	edx,7
-	por	xmm4,xmm8
-	xor	edi,eax
-	mov	esi,ecx
-	add	ebx,DWORD[12+rsp]
-	pslld	xmm9,2
-	pxor	xmm4,xmm10
-	xor	edx,ebp
-	movdqa	xmm10,XMMWORD[((-64))+r14]
-	rol	ecx,5
-	add	ebx,edi
-	and	esi,edx
-	pxor	xmm4,xmm9
-	xor	edx,ebp
-	add	ebx,ecx
-	ror	ecx,7
-	pshufd	xmm5,xmm1,238
-	xor	esi,ebp
-	movdqa	xmm9,xmm4
-	paddd	xmm10,xmm4
-	mov	edi,ebx
-	add	eax,DWORD[16+rsp]
-	punpcklqdq	xmm5,xmm2
-	xor	ecx,edx
-	rol	ebx,5
-	add	eax,esi
-	psrldq	xmm9,4
-	and	edi,ecx
-	xor	ecx,edx
-	pxor	xmm5,xmm1
-	add	eax,ebx
-	ror	ebx,7
-	pxor	xmm9,xmm3
-	xor	edi,edx
-	mov	esi,eax
-	add	ebp,DWORD[20+rsp]
-	pxor	xmm5,xmm9
-	xor	ebx,ecx
-	rol	eax,5
-	movdqa	XMMWORD[rsp],xmm10
-	add	ebp,edi
-	and	esi,ebx
-	movdqa	xmm8,xmm5
-	xor	ebx,ecx
-	add	ebp,eax
-	ror	eax,7
-	movdqa	xmm9,xmm5
-	xor	esi,ecx
-	pslldq	xmm8,12
-	paddd	xmm5,xmm5
-	mov	edi,ebp
-	add	edx,DWORD[24+rsp]
-	psrld	xmm9,31
-	xor	eax,ebx
-	rol	ebp,5
-	add	edx,esi
-	movdqa	xmm10,xmm8
-	and	edi,eax
-	xor	eax,ebx
-	psrld	xmm8,30
-	add	edx,ebp
-	ror	ebp,7
-	por	xmm5,xmm9
-	xor	edi,ebx
-	mov	esi,edx
-	add	ecx,DWORD[28+rsp]
-	pslld	xmm10,2
-	pxor	xmm5,xmm8
-	xor	ebp,eax
-	movdqa	xmm8,XMMWORD[((-32))+r14]
-	rol	edx,5
-	add	ecx,edi
-	and	esi,ebp
-	pxor	xmm5,xmm10
-	xor	ebp,eax
-	add	ecx,edx
-	ror	edx,7
-	pshufd	xmm6,xmm2,238
-	xor	esi,eax
-	movdqa	xmm10,xmm5
-	paddd	xmm8,xmm5
-	mov	edi,ecx
-	add	ebx,DWORD[32+rsp]
-	punpcklqdq	xmm6,xmm3
-	xor	edx,ebp
-	rol	ecx,5
-	add	ebx,esi
-	psrldq	xmm10,4
-	and	edi,edx
-	xor	edx,ebp
-	pxor	xmm6,xmm2
-	add	ebx,ecx
-	ror	ecx,7
-	pxor	xmm10,xmm4
-	xor	edi,ebp
-	mov	esi,ebx
-	add	eax,DWORD[36+rsp]
-	pxor	xmm6,xmm10
-	xor	ecx,edx
-	rol	ebx,5
-	movdqa	XMMWORD[16+rsp],xmm8
-	add	eax,edi
-	and	esi,ecx
-	movdqa	xmm9,xmm6
-	xor	ecx,edx
-	add	eax,ebx
-	ror	ebx,7
-	movdqa	xmm10,xmm6
-	xor	esi,edx
-	pslldq	xmm9,12
-	paddd	xmm6,xmm6
-	mov	edi,eax
-	add	ebp,DWORD[40+rsp]
-	psrld	xmm10,31
-	xor	ebx,ecx
-	rol	eax,5
-	add	ebp,esi
-	movdqa	xmm8,xmm9
-	and	edi,ebx
-	xor	ebx,ecx
-	psrld	xmm9,30
-	add	ebp,eax
-	ror	eax,7
-	por	xmm6,xmm10
-	xor	edi,ecx
-	mov	esi,ebp
-	add	edx,DWORD[44+rsp]
-	pslld	xmm8,2
-	pxor	xmm6,xmm9
-	xor	eax,ebx
-	movdqa	xmm9,XMMWORD[((-32))+r14]
-	rol	ebp,5
-	add	edx,edi
-	and	esi,eax
-	pxor	xmm6,xmm8
-	xor	eax,ebx
-	add	edx,ebp
-	ror	ebp,7
-	pshufd	xmm7,xmm3,238
-	xor	esi,ebx
-	movdqa	xmm8,xmm6
-	paddd	xmm9,xmm6
-	mov	edi,edx
-	add	ecx,DWORD[48+rsp]
-	punpcklqdq	xmm7,xmm4
-	xor	ebp,eax
-	rol	edx,5
-	add	ecx,esi
-	psrldq	xmm8,4
-	and	edi,ebp
-	xor	ebp,eax
-	pxor	xmm7,xmm3
-	add	ecx,edx
-	ror	edx,7
-	pxor	xmm8,xmm5
-	xor	edi,eax
-	mov	esi,ecx
-	add	ebx,DWORD[52+rsp]
-	pxor	xmm7,xmm8
-	xor	edx,ebp
-	rol	ecx,5
-	movdqa	XMMWORD[32+rsp],xmm9
-	add	ebx,edi
-	and	esi,edx
-	movdqa	xmm10,xmm7
-	xor	edx,ebp
-	add	ebx,ecx
-	ror	ecx,7
-	movdqa	xmm8,xmm7
-	xor	esi,ebp
-	pslldq	xmm10,12
-	paddd	xmm7,xmm7
-	mov	edi,ebx
-	add	eax,DWORD[56+rsp]
-	psrld	xmm8,31
-	xor	ecx,edx
-	rol	ebx,5
-	add	eax,esi
-	movdqa	xmm9,xmm10
-	and	edi,ecx
-	xor	ecx,edx
-	psrld	xmm10,30
-	add	eax,ebx
-	ror	ebx,7
-	por	xmm7,xmm8
-	xor	edi,edx
-	mov	esi,eax
-	add	ebp,DWORD[60+rsp]
-	pslld	xmm9,2
-	pxor	xmm7,xmm10
-	xor	ebx,ecx
-	movdqa	xmm10,XMMWORD[((-32))+r14]
-	rol	eax,5
-	add	ebp,edi
-	and	esi,ebx
-	pxor	xmm7,xmm9
-	pshufd	xmm9,xmm6,238
-	xor	ebx,ecx
-	add	ebp,eax
-	ror	eax,7
-	pxor	xmm0,xmm4
-	xor	esi,ecx
-	mov	edi,ebp
-	add	edx,DWORD[rsp]
-	punpcklqdq	xmm9,xmm7
-	xor	eax,ebx
-	rol	ebp,5
-	pxor	xmm0,xmm1
-	add	edx,esi
-	and	edi,eax
-	movdqa	xmm8,xmm10
-	xor	eax,ebx
-	paddd	xmm10,xmm7
-	add	edx,ebp
-	pxor	xmm0,xmm9
-	ror	ebp,7
-	xor	edi,ebx
-	mov	esi,edx
-	add	ecx,DWORD[4+rsp]
-	movdqa	xmm9,xmm0
-	xor	ebp,eax
-	rol	edx,5
-	movdqa	XMMWORD[48+rsp],xmm10
-	add	ecx,edi
-	and	esi,ebp
-	xor	ebp,eax
-	pslld	xmm0,2
-	add	ecx,edx
-	ror	edx,7
-	psrld	xmm9,30
-	xor	esi,eax
-	mov	edi,ecx
-	add	ebx,DWORD[8+rsp]
-	por	xmm0,xmm9
-	xor	edx,ebp
-	rol	ecx,5
-	pshufd	xmm10,xmm7,238
-	add	ebx,esi
-	and	edi,edx
-	xor	edx,ebp
-	add	ebx,ecx
-	add	eax,DWORD[12+rsp]
-	xor	edi,ebp
-	mov	esi,ebx
-	rol	ebx,5
-	add	eax,edi
-	xor	esi,edx
-	ror	ecx,7
-	add	eax,ebx
-	pxor	xmm1,xmm5
-	add	ebp,DWORD[16+rsp]
-	xor	esi,ecx
-	punpcklqdq	xmm10,xmm0
-	mov	edi,eax
-	rol	eax,5
-	pxor	xmm1,xmm2
-	add	ebp,esi
-	xor	edi,ecx
-	movdqa	xmm9,xmm8
-	ror	ebx,7
-	paddd	xmm8,xmm0
-	add	ebp,eax
-	pxor	xmm1,xmm10
-	add	edx,DWORD[20+rsp]
-	xor	edi,ebx
-	mov	esi,ebp
-	rol	ebp,5
-	movdqa	xmm10,xmm1
-	add	edx,edi
-	xor	esi,ebx
-	movdqa	XMMWORD[rsp],xmm8
-	ror	eax,7
-	add	edx,ebp
-	add	ecx,DWORD[24+rsp]
-	pslld	xmm1,2
-	xor	esi,eax
-	mov	edi,edx
-	psrld	xmm10,30
-	rol	edx,5
-	add	ecx,esi
-	xor	edi,eax
-	ror	ebp,7
-	por	xmm1,xmm10
-	add	ecx,edx
-	add	ebx,DWORD[28+rsp]
-	pshufd	xmm8,xmm0,238
-	xor	edi,ebp
-	mov	esi,ecx
-	rol	ecx,5
-	add	ebx,edi
-	xor	esi,ebp
-	ror	edx,7
-	add	ebx,ecx
-	pxor	xmm2,xmm6
-	add	eax,DWORD[32+rsp]
-	xor	esi,edx
-	punpcklqdq	xmm8,xmm1
-	mov	edi,ebx
-	rol	ebx,5
-	pxor	xmm2,xmm3
-	add	eax,esi
-	xor	edi,edx
-	movdqa	xmm10,XMMWORD[r14]
-	ror	ecx,7
-	paddd	xmm9,xmm1
-	add	eax,ebx
-	pxor	xmm2,xmm8
-	add	ebp,DWORD[36+rsp]
-	xor	edi,ecx
-	mov	esi,eax
-	rol	eax,5
-	movdqa	xmm8,xmm2
-	add	ebp,edi
-	xor	esi,ecx
-	movdqa	XMMWORD[16+rsp],xmm9
-	ror	ebx,7
-	add	ebp,eax
-	add	edx,DWORD[40+rsp]
-	pslld	xmm2,2
-	xor	esi,ebx
-	mov	edi,ebp
-	psrld	xmm8,30
-	rol	ebp,5
-	add	edx,esi
-	xor	edi,ebx
-	ror	eax,7
-	por	xmm2,xmm8
-	add	edx,ebp
-	add	ecx,DWORD[44+rsp]
-	pshufd	xmm9,xmm1,238
-	xor	edi,eax
-	mov	esi,edx
-	rol	edx,5
-	add	ecx,edi
-	xor	esi,eax
-	ror	ebp,7
-	add	ecx,edx
-	pxor	xmm3,xmm7
-	add	ebx,DWORD[48+rsp]
-	xor	esi,ebp
-	punpcklqdq	xmm9,xmm2
-	mov	edi,ecx
-	rol	ecx,5
-	pxor	xmm3,xmm4
-	add	ebx,esi
-	xor	edi,ebp
-	movdqa	xmm8,xmm10
-	ror	edx,7
-	paddd	xmm10,xmm2
-	add	ebx,ecx
-	pxor	xmm3,xmm9
-	add	eax,DWORD[52+rsp]
-	xor	edi,edx
-	mov	esi,ebx
-	rol	ebx,5
-	movdqa	xmm9,xmm3
-	add	eax,edi
-	xor	esi,edx
-	movdqa	XMMWORD[32+rsp],xmm10
-	ror	ecx,7
-	add	eax,ebx
-	add	ebp,DWORD[56+rsp]
-	pslld	xmm3,2
-	xor	esi,ecx
-	mov	edi,eax
-	psrld	xmm9,30
-	rol	eax,5
-	add	ebp,esi
-	xor	edi,ecx
-	ror	ebx,7
-	por	xmm3,xmm9
-	add	ebp,eax
-	add	edx,DWORD[60+rsp]
-	pshufd	xmm10,xmm2,238
-	xor	edi,ebx
-	mov	esi,ebp
-	rol	ebp,5
-	add	edx,edi
-	xor	esi,ebx
-	ror	eax,7
-	add	edx,ebp
-	pxor	xmm4,xmm0
-	add	ecx,DWORD[rsp]
-	xor	esi,eax
-	punpcklqdq	xmm10,xmm3
-	mov	edi,edx
-	rol	edx,5
-	pxor	xmm4,xmm5
-	add	ecx,esi
-	xor	edi,eax
-	movdqa	xmm9,xmm8
-	ror	ebp,7
-	paddd	xmm8,xmm3
-	add	ecx,edx
-	pxor	xmm4,xmm10
-	add	ebx,DWORD[4+rsp]
-	xor	edi,ebp
-	mov	esi,ecx
-	rol	ecx,5
-	movdqa	xmm10,xmm4
-	add	ebx,edi
-	xor	esi,ebp
-	movdqa	XMMWORD[48+rsp],xmm8
-	ror	edx,7
-	add	ebx,ecx
-	add	eax,DWORD[8+rsp]
-	pslld	xmm4,2
-	xor	esi,edx
-	mov	edi,ebx
-	psrld	xmm10,30
-	rol	ebx,5
-	add	eax,esi
-	xor	edi,edx
-	ror	ecx,7
-	por	xmm4,xmm10
-	add	eax,ebx
-	add	ebp,DWORD[12+rsp]
-	pshufd	xmm8,xmm3,238
-	xor	edi,ecx
-	mov	esi,eax
-	rol	eax,5
-	add	ebp,edi
-	xor	esi,ecx
-	ror	ebx,7
-	add	ebp,eax
-	pxor	xmm5,xmm1
-	add	edx,DWORD[16+rsp]
-	xor	esi,ebx
-	punpcklqdq	xmm8,xmm4
-	mov	edi,ebp
-	rol	ebp,5
-	pxor	xmm5,xmm6
-	add	edx,esi
-	xor	edi,ebx
-	movdqa	xmm10,xmm9
-	ror	eax,7
-	paddd	xmm9,xmm4
-	add	edx,ebp
-	pxor	xmm5,xmm8
-	add	ecx,DWORD[20+rsp]
-	xor	edi,eax
-	mov	esi,edx
-	rol	edx,5
-	movdqa	xmm8,xmm5
-	add	ecx,edi
-	xor	esi,eax
-	movdqa	XMMWORD[rsp],xmm9
-	ror	ebp,7
-	add	ecx,edx
-	add	ebx,DWORD[24+rsp]
-	pslld	xmm5,2
-	xor	esi,ebp
-	mov	edi,ecx
-	psrld	xmm8,30
-	rol	ecx,5
-	add	ebx,esi
-	xor	edi,ebp
-	ror	edx,7
-	por	xmm5,xmm8
-	add	ebx,ecx
-	add	eax,DWORD[28+rsp]
-	pshufd	xmm9,xmm4,238
-	ror	ecx,7
-	mov	esi,ebx
-	xor	edi,edx
-	rol	ebx,5
-	add	eax,edi
-	xor	esi,ecx
-	xor	ecx,edx
-	add	eax,ebx
-	pxor	xmm6,xmm2
-	add	ebp,DWORD[32+rsp]
-	and	esi,ecx
-	xor	ecx,edx
-	ror	ebx,7
-	punpcklqdq	xmm9,xmm5
-	mov	edi,eax
-	xor	esi,ecx
-	pxor	xmm6,xmm7
-	rol	eax,5
-	add	ebp,esi
-	movdqa	xmm8,xmm10
-	xor	edi,ebx
-	paddd	xmm10,xmm5
-	xor	ebx,ecx
-	pxor	xmm6,xmm9
-	add	ebp,eax
-	add	edx,DWORD[36+rsp]
-	and	edi,ebx
-	xor	ebx,ecx
-	ror	eax,7
-	movdqa	xmm9,xmm6
-	mov	esi,ebp
-	xor	edi,ebx
-	movdqa	XMMWORD[16+rsp],xmm10
-	rol	ebp,5
-	add	edx,edi
-	xor	esi,eax
-	pslld	xmm6,2
-	xor	eax,ebx
-	add	edx,ebp
-	psrld	xmm9,30
-	add	ecx,DWORD[40+rsp]
-	and	esi,eax
-	xor	eax,ebx
-	por	xmm6,xmm9
-	ror	ebp,7
-	mov	edi,edx
-	xor	esi,eax
-	rol	edx,5
-	pshufd	xmm10,xmm5,238
-	add	ecx,esi
-	xor	edi,ebp
-	xor	ebp,eax
-	add	ecx,edx
-	add	ebx,DWORD[44+rsp]
-	and	edi,ebp
-	xor	ebp,eax
-	ror	edx,7
-	mov	esi,ecx
-	xor	edi,ebp
-	rol	ecx,5
-	add	ebx,edi
-	xor	esi,edx
-	xor	edx,ebp
-	add	ebx,ecx
-	pxor	xmm7,xmm3
-	add	eax,DWORD[48+rsp]
-	and	esi,edx
-	xor	edx,ebp
-	ror	ecx,7
-	punpcklqdq	xmm10,xmm6
-	mov	edi,ebx
-	xor	esi,edx
-	pxor	xmm7,xmm0
-	rol	ebx,5
-	add	eax,esi
-	movdqa	xmm9,XMMWORD[32+r14]
-	xor	edi,ecx
-	paddd	xmm8,xmm6
-	xor	ecx,edx
-	pxor	xmm7,xmm10
-	add	eax,ebx
-	add	ebp,DWORD[52+rsp]
-	and	edi,ecx
-	xor	ecx,edx
-	ror	ebx,7
-	movdqa	xmm10,xmm7
-	mov	esi,eax
-	xor	edi,ecx
-	movdqa	XMMWORD[32+rsp],xmm8
-	rol	eax,5
-	add	ebp,edi
-	xor	esi,ebx
-	pslld	xmm7,2
-	xor	ebx,ecx
-	add	ebp,eax
-	psrld	xmm10,30
-	add	edx,DWORD[56+rsp]
-	and	esi,ebx
-	xor	ebx,ecx
-	por	xmm7,xmm10
-	ror	eax,7
-	mov	edi,ebp
-	xor	esi,ebx
-	rol	ebp,5
-	pshufd	xmm8,xmm6,238
-	add	edx,esi
-	xor	edi,eax
-	xor	eax,ebx
-	add	edx,ebp
-	add	ecx,DWORD[60+rsp]
-	and	edi,eax
-	xor	eax,ebx
-	ror	ebp,7
-	mov	esi,edx
-	xor	edi,eax
-	rol	edx,5
-	add	ecx,edi
-	xor	esi,ebp
-	xor	ebp,eax
-	add	ecx,edx
-	pxor	xmm0,xmm4
-	add	ebx,DWORD[rsp]
-	and	esi,ebp
-	xor	ebp,eax
-	ror	edx,7
-	punpcklqdq	xmm8,xmm7
-	mov	edi,ecx
-	xor	esi,ebp
-	pxor	xmm0,xmm1
-	rol	ecx,5
-	add	ebx,esi
-	movdqa	xmm10,xmm9
-	xor	edi,edx
-	paddd	xmm9,xmm7
-	xor	edx,ebp
-	pxor	xmm0,xmm8
-	add	ebx,ecx
-	add	eax,DWORD[4+rsp]
-	and	edi,edx
-	xor	edx,ebp
-	ror	ecx,7
-	movdqa	xmm8,xmm0
-	mov	esi,ebx
-	xor	edi,edx
-	movdqa	XMMWORD[48+rsp],xmm9
-	rol	ebx,5
-	add	eax,edi
-	xor	esi,ecx
-	pslld	xmm0,2
-	xor	ecx,edx
-	add	eax,ebx
-	psrld	xmm8,30
-	add	ebp,DWORD[8+rsp]
-	and	esi,ecx
-	xor	ecx,edx
-	por	xmm0,xmm8
-	ror	ebx,7
-	mov	edi,eax
-	xor	esi,ecx
-	rol	eax,5
-	pshufd	xmm9,xmm7,238
-	add	ebp,esi
-	xor	edi,ebx
-	xor	ebx,ecx
-	add	ebp,eax
-	add	edx,DWORD[12+rsp]
-	and	edi,ebx
-	xor	ebx,ecx
-	ror	eax,7
-	mov	esi,ebp
-	xor	edi,ebx
-	rol	ebp,5
-	add	edx,edi
-	xor	esi,eax
-	xor	eax,ebx
-	add	edx,ebp
-	pxor	xmm1,xmm5
-	add	ecx,DWORD[16+rsp]
-	and	esi,eax
-	xor	eax,ebx
-	ror	ebp,7
-	punpcklqdq	xmm9,xmm0
-	mov	edi,edx
-	xor	esi,eax
-	pxor	xmm1,xmm2
-	rol	edx,5
-	add	ecx,esi
-	movdqa	xmm8,xmm10
-	xor	edi,ebp
-	paddd	xmm10,xmm0
-	xor	ebp,eax
-	pxor	xmm1,xmm9
-	add	ecx,edx
-	add	ebx,DWORD[20+rsp]
-	and	edi,ebp
-	xor	ebp,eax
-	ror	edx,7
-	movdqa	xmm9,xmm1
-	mov	esi,ecx
-	xor	edi,ebp
-	movdqa	XMMWORD[rsp],xmm10
-	rol	ecx,5
-	add	ebx,edi
-	xor	esi,edx
-	pslld	xmm1,2
-	xor	edx,ebp
-	add	ebx,ecx
-	psrld	xmm9,30
-	add	eax,DWORD[24+rsp]
-	and	esi,edx
-	xor	edx,ebp
-	por	xmm1,xmm9
-	ror	ecx,7
-	mov	edi,ebx
-	xor	esi,edx
-	rol	ebx,5
-	pshufd	xmm10,xmm0,238
-	add	eax,esi
-	xor	edi,ecx
-	xor	ecx,edx
-	add	eax,ebx
-	add	ebp,DWORD[28+rsp]
-	and	edi,ecx
-	xor	ecx,edx
-	ror	ebx,7
-	mov	esi,eax
-	xor	edi,ecx
-	rol	eax,5
-	add	ebp,edi
-	xor	esi,ebx
-	xor	ebx,ecx
-	add	ebp,eax
-	pxor	xmm2,xmm6
-	add	edx,DWORD[32+rsp]
-	and	esi,ebx
-	xor	ebx,ecx
-	ror	eax,7
-	punpcklqdq	xmm10,xmm1
-	mov	edi,ebp
-	xor	esi,ebx
-	pxor	xmm2,xmm3
-	rol	ebp,5
-	add	edx,esi
-	movdqa	xmm9,xmm8
-	xor	edi,eax
-	paddd	xmm8,xmm1
-	xor	eax,ebx
-	pxor	xmm2,xmm10
-	add	edx,ebp
-	add	ecx,DWORD[36+rsp]
-	and	edi,eax
-	xor	eax,ebx
-	ror	ebp,7
-	movdqa	xmm10,xmm2
-	mov	esi,edx
-	xor	edi,eax
-	movdqa	XMMWORD[16+rsp],xmm8
-	rol	edx,5
-	add	ecx,edi
-	xor	esi,ebp
-	pslld	xmm2,2
-	xor	ebp,eax
-	add	ecx,edx
-	psrld	xmm10,30
-	add	ebx,DWORD[40+rsp]
-	and	esi,ebp
-	xor	ebp,eax
-	por	xmm2,xmm10
-	ror	edx,7
-	mov	edi,ecx
-	xor	esi,ebp
-	rol	ecx,5
-	pshufd	xmm8,xmm1,238
-	add	ebx,esi
-	xor	edi,edx
-	xor	edx,ebp
-	add	ebx,ecx
-	add	eax,DWORD[44+rsp]
-	and	edi,edx
-	xor	edx,ebp
-	ror	ecx,7
-	mov	esi,ebx
-	xor	edi,edx
-	rol	ebx,5
-	add	eax,edi
-	xor	esi,edx
-	add	eax,ebx
-	pxor	xmm3,xmm7
-	add	ebp,DWORD[48+rsp]
-	xor	esi,ecx
-	punpcklqdq	xmm8,xmm2
-	mov	edi,eax
-	rol	eax,5
-	pxor	xmm3,xmm4
-	add	ebp,esi
-	xor	edi,ecx
-	movdqa	xmm10,xmm9
-	ror	ebx,7
-	paddd	xmm9,xmm2
-	add	ebp,eax
-	pxor	xmm3,xmm8
-	add	edx,DWORD[52+rsp]
-	xor	edi,ebx
-	mov	esi,ebp
-	rol	ebp,5
-	movdqa	xmm8,xmm3
-	add	edx,edi
-	xor	esi,ebx
-	movdqa	XMMWORD[32+rsp],xmm9
-	ror	eax,7
-	add	edx,ebp
-	add	ecx,DWORD[56+rsp]
-	pslld	xmm3,2
-	xor	esi,eax
-	mov	edi,edx
-	psrld	xmm8,30
-	rol	edx,5
-	add	ecx,esi
-	xor	edi,eax
-	ror	ebp,7
-	por	xmm3,xmm8
-	add	ecx,edx
-	add	ebx,DWORD[60+rsp]
-	xor	edi,ebp
-	mov	esi,ecx
-	rol	ecx,5
-	add	ebx,edi
-	xor	esi,ebp
-	ror	edx,7
-	add	ebx,ecx
-	add	eax,DWORD[rsp]
-	xor	esi,edx
-	mov	edi,ebx
-	rol	ebx,5
-	paddd	xmm10,xmm3
-	add	eax,esi
-	xor	edi,edx
-	movdqa	XMMWORD[48+rsp],xmm10
-	ror	ecx,7
-	add	eax,ebx
-	add	ebp,DWORD[4+rsp]
-	xor	edi,ecx
-	mov	esi,eax
-	rol	eax,5
-	add	ebp,edi
-	xor	esi,ecx
-	ror	ebx,7
-	add	ebp,eax
-	add	edx,DWORD[8+rsp]
-	xor	esi,ebx
-	mov	edi,ebp
-	rol	ebp,5
-	add	edx,esi
-	xor	edi,ebx
-	ror	eax,7
-	add	edx,ebp
-	add	ecx,DWORD[12+rsp]
-	xor	edi,eax
-	mov	esi,edx
-	rol	edx,5
-	add	ecx,edi
-	xor	esi,eax
-	ror	ebp,7
-	add	ecx,edx
-	cmp	r9,r10
-	je	NEAR $L$done_ssse3
-	movdqa	xmm6,XMMWORD[64+r14]
-	movdqa	xmm9,XMMWORD[((-64))+r14]
-	movdqu	xmm0,XMMWORD[r9]
-	movdqu	xmm1,XMMWORD[16+r9]
-	movdqu	xmm2,XMMWORD[32+r9]
-	movdqu	xmm3,XMMWORD[48+r9]
-DB	102,15,56,0,198
-	add	r9,64
-	add	ebx,DWORD[16+rsp]
-	xor	esi,ebp
-	mov	edi,ecx
-DB	102,15,56,0,206
-	rol	ecx,5
-	add	ebx,esi
-	xor	edi,ebp
-	ror	edx,7
-	paddd	xmm0,xmm9
-	add	ebx,ecx
-	add	eax,DWORD[20+rsp]
-	xor	edi,edx
-	mov	esi,ebx
-	movdqa	XMMWORD[rsp],xmm0
-	rol	ebx,5
-	add	eax,edi
-	xor	esi,edx
-	ror	ecx,7
-	psubd	xmm0,xmm9
-	add	eax,ebx
-	add	ebp,DWORD[24+rsp]
-	xor	esi,ecx
-	mov	edi,eax
-	rol	eax,5
-	add	ebp,esi
-	xor	edi,ecx
-	ror	ebx,7
-	add	ebp,eax
-	add	edx,DWORD[28+rsp]
-	xor	edi,ebx
-	mov	esi,ebp
-	rol	ebp,5
-	add	edx,edi
-	xor	esi,ebx
-	ror	eax,7
-	add	edx,ebp
-	add	ecx,DWORD[32+rsp]
-	xor	esi,eax
-	mov	edi,edx
-DB	102,15,56,0,214
-	rol	edx,5
-	add	ecx,esi
-	xor	edi,eax
-	ror	ebp,7
-	paddd	xmm1,xmm9
-	add	ecx,edx
-	add	ebx,DWORD[36+rsp]
-	xor	edi,ebp
-	mov	esi,ecx
-	movdqa	XMMWORD[16+rsp],xmm1
-	rol	ecx,5
-	add	ebx,edi
-	xor	esi,ebp
-	ror	edx,7
-	psubd	xmm1,xmm9
-	add	ebx,ecx
-	add	eax,DWORD[40+rsp]
-	xor	esi,edx
-	mov	edi,ebx
-	rol	ebx,5
-	add	eax,esi
-	xor	edi,edx
-	ror	ecx,7
-	add	eax,ebx
-	add	ebp,DWORD[44+rsp]
-	xor	edi,ecx
-	mov	esi,eax
-	rol	eax,5
-	add	ebp,edi
-	xor	esi,ecx
-	ror	ebx,7
-	add	ebp,eax
-	add	edx,DWORD[48+rsp]
-	xor	esi,ebx
-	mov	edi,ebp
-DB	102,15,56,0,222
-	rol	ebp,5
-	add	edx,esi
-	xor	edi,ebx
-	ror	eax,7
-	paddd	xmm2,xmm9
-	add	edx,ebp
-	add	ecx,DWORD[52+rsp]
-	xor	edi,eax
-	mov	esi,edx
-	movdqa	XMMWORD[32+rsp],xmm2
-	rol	edx,5
-	add	ecx,edi
-	xor	esi,eax
-	ror	ebp,7
-	psubd	xmm2,xmm9
-	add	ecx,edx
-	add	ebx,DWORD[56+rsp]
-	xor	esi,ebp
-	mov	edi,ecx
-	rol	ecx,5
-	add	ebx,esi
-	xor	edi,ebp
-	ror	edx,7
-	add	ebx,ecx
-	add	eax,DWORD[60+rsp]
-	xor	edi,edx
-	mov	esi,ebx
-	rol	ebx,5
-	add	eax,edi
-	ror	ecx,7
-	add	eax,ebx
-	add	eax,DWORD[r8]
-	add	esi,DWORD[4+r8]
-	add	ecx,DWORD[8+r8]
-	add	edx,DWORD[12+r8]
-	mov	DWORD[r8],eax
-	add	ebp,DWORD[16+r8]
-	mov	DWORD[4+r8],esi
-	mov	ebx,esi
-	mov	DWORD[8+r8],ecx
-	mov	edi,ecx
-	mov	DWORD[12+r8],edx
-	xor	edi,edx
-	mov	DWORD[16+r8],ebp
-	and	esi,edi
-	jmp	NEAR $L$oop_ssse3
-
-ALIGN	16
-$L$done_ssse3:
-	add	ebx,DWORD[16+rsp]
-	xor	esi,ebp
-	mov	edi,ecx
-	rol	ecx,5
-	add	ebx,esi
-	xor	edi,ebp
-	ror	edx,7
-	add	ebx,ecx
-	add	eax,DWORD[20+rsp]
-	xor	edi,edx
-	mov	esi,ebx
-	rol	ebx,5
-	add	eax,edi
-	xor	esi,edx
-	ror	ecx,7
-	add	eax,ebx
-	add	ebp,DWORD[24+rsp]
-	xor	esi,ecx
-	mov	edi,eax
-	rol	eax,5
-	add	ebp,esi
-	xor	edi,ecx
-	ror	ebx,7
-	add	ebp,eax
-	add	edx,DWORD[28+rsp]
-	xor	edi,ebx
-	mov	esi,ebp
-	rol	ebp,5
-	add	edx,edi
-	xor	esi,ebx
-	ror	eax,7
-	add	edx,ebp
-	add	ecx,DWORD[32+rsp]
-	xor	esi,eax
-	mov	edi,edx
-	rol	edx,5
-	add	ecx,esi
-	xor	edi,eax
-	ror	ebp,7
-	add	ecx,edx
-	add	ebx,DWORD[36+rsp]
-	xor	edi,ebp
-	mov	esi,ecx
-	rol	ecx,5
-	add	ebx,edi
-	xor	esi,ebp
-	ror	edx,7
-	add	ebx,ecx
-	add	eax,DWORD[40+rsp]
-	xor	esi,edx
-	mov	edi,ebx
-	rol	ebx,5
-	add	eax,esi
-	xor	edi,edx
-	ror	ecx,7
-	add	eax,ebx
-	add	ebp,DWORD[44+rsp]
-	xor	edi,ecx
-	mov	esi,eax
-	rol	eax,5
-	add	ebp,edi
-	xor	esi,ecx
-	ror	ebx,7
-	add	ebp,eax
-	add	edx,DWORD[48+rsp]
-	xor	esi,ebx
-	mov	edi,ebp
-	rol	ebp,5
-	add	edx,esi
-	xor	edi,ebx
-	ror	eax,7
-	add	edx,ebp
-	add	ecx,DWORD[52+rsp]
-	xor	edi,eax
-	mov	esi,edx
-	rol	edx,5
-	add	ecx,edi
-	xor	esi,eax
-	ror	ebp,7
-	add	ecx,edx
-	add	ebx,DWORD[56+rsp]
-	xor	esi,ebp
-	mov	edi,ecx
-	rol	ecx,5
-	add	ebx,esi
-	xor	edi,ebp
-	ror	edx,7
-	add	ebx,ecx
-	add	eax,DWORD[60+rsp]
-	xor	edi,edx
-	mov	esi,ebx
-	rol	ebx,5
-	add	eax,edi
-	ror	ecx,7
-	add	eax,ebx
-	add	eax,DWORD[r8]
-	add	esi,DWORD[4+r8]
-	add	ecx,DWORD[8+r8]
-	mov	DWORD[r8],eax
-	add	edx,DWORD[12+r8]
-	mov	DWORD[4+r8],esi
-	add	ebp,DWORD[16+r8]
-	mov	DWORD[8+r8],ecx
-	mov	DWORD[12+r8],edx
-	mov	DWORD[16+r8],ebp
-	movaps	xmm6,XMMWORD[((-40-96))+r11]
-	movaps	xmm7,XMMWORD[((-40-80))+r11]
-	movaps	xmm8,XMMWORD[((-40-64))+r11]
-	movaps	xmm9,XMMWORD[((-40-48))+r11]
-	movaps	xmm10,XMMWORD[((-40-32))+r11]
-	movaps	xmm11,XMMWORD[((-40-16))+r11]
-	mov	r14,QWORD[((-40))+r11]
-	mov	r13,QWORD[((-32))+r11]
-	mov	r12,QWORD[((-24))+r11]
-	mov	rbp,QWORD[((-16))+r11]
-	mov	rbx,QWORD[((-8))+r11]
-	lea	rsp,[r11]
-$L$epilogue_ssse3:
-	mov	rdi,QWORD[8+rsp]	;WIN64 epilogue
-	mov	rsi,QWORD[16+rsp]
-	DB	0F3h,0C3h		;repret
-$L$SEH_end_sha1_block_data_order_ssse3:
-
-ALIGN	16
-sha1_block_data_order_avx:
-	mov	QWORD[8+rsp],rdi	;WIN64 prologue
-	mov	QWORD[16+rsp],rsi
-	mov	rax,rsp
-$L$SEH_begin_sha1_block_data_order_avx:
-	mov	rdi,rcx
-	mov	rsi,rdx
-	mov	rdx,r8
-
-
-_avx_shortcut:
-	mov	r11,rsp
-	push	rbx
-	push	rbp
-	push	r12
-	push	r13
-	push	r14
-	lea	rsp,[((-160))+rsp]
-	vzeroupper
-	vmovaps	XMMWORD[(-40-96)+r11],xmm6
-	vmovaps	XMMWORD[(-40-80)+r11],xmm7
-	vmovaps	XMMWORD[(-40-64)+r11],xmm8
-	vmovaps	XMMWORD[(-40-48)+r11],xmm9
-	vmovaps	XMMWORD[(-40-32)+r11],xmm10
-	vmovaps	XMMWORD[(-40-16)+r11],xmm11
-$L$prologue_avx:
-	and	rsp,-64
-	mov	r8,rdi
-	mov	r9,rsi
-	mov	r10,rdx
-
-	shl	r10,6
-	add	r10,r9
-	lea	r14,[((K_XX_XX+64))]
-
-	mov	eax,DWORD[r8]
-	mov	ebx,DWORD[4+r8]
-	mov	ecx,DWORD[8+r8]
-	mov	edx,DWORD[12+r8]
-	mov	esi,ebx
-	mov	ebp,DWORD[16+r8]
-	mov	edi,ecx
-	xor	edi,edx
-	and	esi,edi
-
-	vmovdqa	xmm6,XMMWORD[64+r14]
-	vmovdqa	xmm11,XMMWORD[((-64))+r14]
-	vmovdqu	xmm0,XMMWORD[r9]
-	vmovdqu	xmm1,XMMWORD[16+r9]
-	vmovdqu	xmm2,XMMWORD[32+r9]
-	vmovdqu	xmm3,XMMWORD[48+r9]
-	vpshufb	xmm0,xmm0,xmm6
-	add	r9,64
-	vpshufb	xmm1,xmm1,xmm6
-	vpshufb	xmm2,xmm2,xmm6
-	vpshufb	xmm3,xmm3,xmm6
-	vpaddd	xmm4,xmm0,xmm11
-	vpaddd	xmm5,xmm1,xmm11
-	vpaddd	xmm6,xmm2,xmm11
-	vmovdqa	XMMWORD[rsp],xmm4
-	vmovdqa	XMMWORD[16+rsp],xmm5
-	vmovdqa	XMMWORD[32+rsp],xmm6
-	jmp	NEAR $L$oop_avx
-ALIGN	16
-$L$oop_avx:
-	shrd	ebx,ebx,2
-	xor	esi,edx
-	vpalignr	xmm4,xmm1,xmm0,8
-	mov	edi,eax
-	add	ebp,DWORD[rsp]
-	vpaddd	xmm9,xmm11,xmm3
-	xor	ebx,ecx
-	shld	eax,eax,5
-	vpsrldq	xmm8,xmm3,4
-	add	ebp,esi
-	and	edi,ebx
-	vpxor	xmm4,xmm4,xmm0
-	xor	ebx,ecx
-	add	ebp,eax
-	vpxor	xmm8,xmm8,xmm2
-	shrd	eax,eax,7
-	xor	edi,ecx
-	mov	esi,ebp
-	add	edx,DWORD[4+rsp]
-	vpxor	xmm4,xmm4,xmm8
-	xor	eax,ebx
-	shld	ebp,ebp,5
-	vmovdqa	XMMWORD[48+rsp],xmm9
-	add	edx,edi
-	and	esi,eax
-	vpsrld	xmm8,xmm4,31
-	xor	eax,ebx
-	add	edx,ebp
-	shrd	ebp,ebp,7
-	xor	esi,ebx
-	vpslldq	xmm10,xmm4,12
-	vpaddd	xmm4,xmm4,xmm4
-	mov	edi,edx
-	add	ecx,DWORD[8+rsp]
-	xor	ebp,eax
-	shld	edx,edx,5
-	vpsrld	xmm9,xmm10,30
-	vpor	xmm4,xmm4,xmm8
-	add	ecx,esi
-	and	edi,ebp
-	xor	ebp,eax
-	add	ecx,edx
-	vpslld	xmm10,xmm10,2
-	vpxor	xmm4,xmm4,xmm9
-	shrd	edx,edx,7
-	xor	edi,eax
-	mov	esi,ecx
-	add	ebx,DWORD[12+rsp]
-	vpxor	xmm4,xmm4,xmm10
-	xor	edx,ebp
-	shld	ecx,ecx,5
-	add	ebx,edi
-	and	esi,edx
-	xor	edx,ebp
-	add	ebx,ecx
-	shrd	ecx,ecx,7
-	xor	esi,ebp
-	vpalignr	xmm5,xmm2,xmm1,8
-	mov	edi,ebx
-	add	eax,DWORD[16+rsp]
-	vpaddd	xmm9,xmm11,xmm4
-	xor	ecx,edx
-	shld	ebx,ebx,5
-	vpsrldq	xmm8,xmm4,4
-	add	eax,esi
-	and	edi,ecx
-	vpxor	xmm5,xmm5,xmm1
-	xor	ecx,edx
-	add	eax,ebx
-	vpxor	xmm8,xmm8,xmm3
-	shrd	ebx,ebx,7
-	xor	edi,edx
-	mov	esi,eax
-	add	ebp,DWORD[20+rsp]
-	vpxor	xmm5,xmm5,xmm8
-	xor	ebx,ecx
-	shld	eax,eax,5
-	vmovdqa	XMMWORD[rsp],xmm9
-	add	ebp,edi
-	and	esi,ebx
-	vpsrld	xmm8,xmm5,31
-	xor	ebx,ecx
-	add	ebp,eax
-	shrd	eax,eax,7
-	xor	esi,ecx
-	vpslldq	xmm10,xmm5,12
-	vpaddd	xmm5,xmm5,xmm5
-	mov	edi,ebp
-	add	edx,DWORD[24+rsp]
-	xor	eax,ebx
-	shld	ebp,ebp,5
-	vpsrld	xmm9,xmm10,30
-	vpor	xmm5,xmm5,xmm8
-	add	edx,esi
-	and	edi,eax
-	xor	eax,ebx
-	add	edx,ebp
-	vpslld	xmm10,xmm10,2
-	vpxor	xmm5,xmm5,xmm9
-	shrd	ebp,ebp,7
-	xor	edi,ebx
-	mov	esi,edx
-	add	ecx,DWORD[28+rsp]
-	vpxor	xmm5,xmm5,xmm10
-	xor	ebp,eax
-	shld	edx,edx,5
-	vmovdqa	xmm11,XMMWORD[((-32))+r14]
-	add	ecx,edi
-	and	esi,ebp
-	xor	ebp,eax
-	add	ecx,edx
-	shrd	edx,edx,7
-	xor	esi,eax
-	vpalignr	xmm6,xmm3,xmm2,8
-	mov	edi,ecx
-	add	ebx,DWORD[32+rsp]
-	vpaddd	xmm9,xmm11,xmm5
-	xor	edx,ebp
-	shld	ecx,ecx,5
-	vpsrldq	xmm8,xmm5,4
-	add	ebx,esi
-	and	edi,edx
-	vpxor	xmm6,xmm6,xmm2
-	xor	edx,ebp
-	add	ebx,ecx
-	vpxor	xmm8,xmm8,xmm4
-	shrd	ecx,ecx,7
-	xor	edi,ebp
-	mov	esi,ebx
-	add	eax,DWORD[36+rsp]
-	vpxor	xmm6,xmm6,xmm8
-	xor	ecx,edx
-	shld	ebx,ebx,5
-	vmovdqa	XMMWORD[16+rsp],xmm9
-	add	eax,edi
-	and	esi,ecx
-	vpsrld	xmm8,xmm6,31
-	xor	ecx,edx
-	add	eax,ebx
-	shrd	ebx,ebx,7
-	xor	esi,edx
-	vpslldq	xmm10,xmm6,12
-	vpaddd	xmm6,xmm6,xmm6
-	mov	edi,eax
-	add	ebp,DWORD[40+rsp]
-	xor	ebx,ecx
-	shld	eax,eax,5
-	vpsrld	xmm9,xmm10,30
-	vpor	xmm6,xmm6,xmm8
-	add	ebp,esi
-	and	edi,ebx
-	xor	ebx,ecx
-	add	ebp,eax
-	vpslld	xmm10,xmm10,2
-	vpxor	xmm6,xmm6,xmm9
-	shrd	eax,eax,7
-	xor	edi,ecx
-	mov	esi,ebp
-	add	edx,DWORD[44+rsp]
-	vpxor	xmm6,xmm6,xmm10
-	xor	eax,ebx
-	shld	ebp,ebp,5
-	add	edx,edi
-	and	esi,eax
-	xor	eax,ebx
-	add	edx,ebp
-	shrd	ebp,ebp,7
-	xor	esi,ebx
-	vpalignr	xmm7,xmm4,xmm3,8
-	mov	edi,edx
-	add	ecx,DWORD[48+rsp]
-	vpaddd	xmm9,xmm11,xmm6
-	xor	ebp,eax
-	shld	edx,edx,5
-	vpsrldq	xmm8,xmm6,4
-	add	ecx,esi
-	and	edi,ebp
-	vpxor	xmm7,xmm7,xmm3
-	xor	ebp,eax
-	add	ecx,edx
-	vpxor	xmm8,xmm8,xmm5
-	shrd	edx,edx,7
-	xor	edi,eax
-	mov	esi,ecx
-	add	ebx,DWORD[52+rsp]
-	vpxor	xmm7,xmm7,xmm8
-	xor	edx,ebp
-	shld	ecx,ecx,5
-	vmovdqa	XMMWORD[32+rsp],xmm9
-	add	ebx,edi
-	and	esi,edx
-	vpsrld	xmm8,xmm7,31
-	xor	edx,ebp
-	add	ebx,ecx
-	shrd	ecx,ecx,7
-	xor	esi,ebp
-	vpslldq	xmm10,xmm7,12
-	vpaddd	xmm7,xmm7,xmm7
-	mov	edi,ebx
-	add	eax,DWORD[56+rsp]
-	xor	ecx,edx
-	shld	ebx,ebx,5
-	vpsrld	xmm9,xmm10,30
-	vpor	xmm7,xmm7,xmm8
-	add	eax,esi
-	and	edi,ecx
-	xor	ecx,edx
-	add	eax,ebx
-	vpslld	xmm10,xmm10,2
-	vpxor	xmm7,xmm7,xmm9
-	shrd	ebx,ebx,7
-	xor	edi,edx
-	mov	esi,eax
-	add	ebp,DWORD[60+rsp]
-	vpxor	xmm7,xmm7,xmm10
-	xor	ebx,ecx
-	shld	eax,eax,5
-	add	ebp,edi
-	and	esi,ebx
-	xor	ebx,ecx
-	add	ebp,eax
-	vpalignr	xmm8,xmm7,xmm6,8
-	vpxor	xmm0,xmm0,xmm4
-	shrd	eax,eax,7
-	xor	esi,ecx
-	mov	edi,ebp
-	add	edx,DWORD[rsp]
-	vpxor	xmm0,xmm0,xmm1
-	xor	eax,ebx
-	shld	ebp,ebp,5
-	vpaddd	xmm9,xmm11,xmm7
-	add	edx,esi
-	and	edi,eax
-	vpxor	xmm0,xmm0,xmm8
-	xor	eax,ebx
-	add	edx,ebp
-	shrd	ebp,ebp,7
-	xor	edi,ebx
-	vpsrld	xmm8,xmm0,30
-	vmovdqa	XMMWORD[48+rsp],xmm9
-	mov	esi,edx
-	add	ecx,DWORD[4+rsp]
-	xor	ebp,eax
-	shld	edx,edx,5
-	vpslld	xmm0,xmm0,2
-	add	ecx,edi
-	and	esi,ebp
-	xor	ebp,eax
-	add	ecx,edx
-	shrd	edx,edx,7
-	xor	esi,eax
-	mov	edi,ecx
-	add	ebx,DWORD[8+rsp]
-	vpor	xmm0,xmm0,xmm8
-	xor	edx,ebp
-	shld	ecx,ecx,5
-	add	ebx,esi
-	and	edi,edx
-	xor	edx,ebp
-	add	ebx,ecx
-	add	eax,DWORD[12+rsp]
-	xor	edi,ebp
-	mov	esi,ebx
-	shld	ebx,ebx,5
-	add	eax,edi
-	xor	esi,edx
-	shrd	ecx,ecx,7
-	add	eax,ebx
-	vpalignr	xmm8,xmm0,xmm7,8
-	vpxor	xmm1,xmm1,xmm5
-	add	ebp,DWORD[16+rsp]
-	xor	esi,ecx
-	mov	edi,eax
-	shld	eax,eax,5
-	vpxor	xmm1,xmm1,xmm2
-	add	ebp,esi
-	xor	edi,ecx
-	vpaddd	xmm9,xmm11,xmm0
-	shrd	ebx,ebx,7
-	add	ebp,eax
-	vpxor	xmm1,xmm1,xmm8
-	add	edx,DWORD[20+rsp]
-	xor	edi,ebx
-	mov	esi,ebp
-	shld	ebp,ebp,5
-	vpsrld	xmm8,xmm1,30
-	vmovdqa	XMMWORD[rsp],xmm9
-	add	edx,edi
-	xor	esi,ebx
-	shrd	eax,eax,7
-	add	edx,ebp
-	vpslld	xmm1,xmm1,2
-	add	ecx,DWORD[24+rsp]
-	xor	esi,eax
-	mov	edi,edx
-	shld	edx,edx,5
-	add	ecx,esi
-	xor	edi,eax
-	shrd	ebp,ebp,7
-	add	ecx,edx
-	vpor	xmm1,xmm1,xmm8
-	add	ebx,DWORD[28+rsp]
-	xor	edi,ebp
-	mov	esi,ecx
-	shld	ecx,ecx,5
-	add	ebx,edi
-	xor	esi,ebp
-	shrd	edx,edx,7
-	add	ebx,ecx
-	vpalignr	xmm8,xmm1,xmm0,8
-	vpxor	xmm2,xmm2,xmm6
-	add	eax,DWORD[32+rsp]
-	xor	esi,edx
-	mov	edi,ebx
-	shld	ebx,ebx,5
-	vpxor	xmm2,xmm2,xmm3
-	add	eax,esi
-	xor	edi,edx
-	vpaddd	xmm9,xmm11,xmm1
-	vmovdqa	xmm11,XMMWORD[r14]
-	shrd	ecx,ecx,7
-	add	eax,ebx
-	vpxor	xmm2,xmm2,xmm8
-	add	ebp,DWORD[36+rsp]
-	xor	edi,ecx
-	mov	esi,eax
-	shld	eax,eax,5
-	vpsrld	xmm8,xmm2,30
-	vmovdqa	XMMWORD[16+rsp],xmm9
-	add	ebp,edi
-	xor	esi,ecx
-	shrd	ebx,ebx,7
-	add	ebp,eax
-	vpslld	xmm2,xmm2,2
-	add	edx,DWORD[40+rsp]
-	xor	esi,ebx
-	mov	edi,ebp
-	shld	ebp,ebp,5
-	add	edx,esi
-	xor	edi,ebx
-	shrd	eax,eax,7
-	add	edx,ebp
-	vpor	xmm2,xmm2,xmm8
-	add	ecx,DWORD[44+rsp]
-	xor	edi,eax
-	mov	esi,edx
-	shld	edx,edx,5
-	add	ecx,edi
-	xor	esi,eax
-	shrd	ebp,ebp,7
-	add	ecx,edx
-	vpalignr	xmm8,xmm2,xmm1,8
-	vpxor	xmm3,xmm3,xmm7
-	add	ebx,DWORD[48+rsp]
-	xor	esi,ebp
-	mov	edi,ecx
-	shld	ecx,ecx,5
-	vpxor	xmm3,xmm3,xmm4
-	add	ebx,esi
-	xor	edi,ebp
-	vpaddd	xmm9,xmm11,xmm2
-	shrd	edx,edx,7
-	add	ebx,ecx
-	vpxor	xmm3,xmm3,xmm8
-	add	eax,DWORD[52+rsp]
-	xor	edi,edx
-	mov	esi,ebx
-	shld	ebx,ebx,5
-	vpsrld	xmm8,xmm3,30
-	vmovdqa	XMMWORD[32+rsp],xmm9
-	add	eax,edi
-	xor	esi,edx
-	shrd	ecx,ecx,7
-	add	eax,ebx
-	vpslld	xmm3,xmm3,2
-	add	ebp,DWORD[56+rsp]
-	xor	esi,ecx
-	mov	edi,eax
-	shld	eax,eax,5
-	add	ebp,esi
-	xor	edi,ecx
-	shrd	ebx,ebx,7
-	add	ebp,eax
-	vpor	xmm3,xmm3,xmm8
-	add	edx,DWORD[60+rsp]
-	xor	edi,ebx
-	mov	esi,ebp
-	shld	ebp,ebp,5
-	add	edx,edi
-	xor	esi,ebx
-	shrd	eax,eax,7
-	add	edx,ebp
-	vpalignr	xmm8,xmm3,xmm2,8
-	vpxor	xmm4,xmm4,xmm0
-	add	ecx,DWORD[rsp]
-	xor	esi,eax
-	mov	edi,edx
-	shld	edx,edx,5
-	vpxor	xmm4,xmm4,xmm5
-	add	ecx,esi
-	xor	edi,eax
-	vpaddd	xmm9,xmm11,xmm3
-	shrd	ebp,ebp,7
-	add	ecx,edx
-	vpxor	xmm4,xmm4,xmm8
-	add	ebx,DWORD[4+rsp]
-	xor	edi,ebp
-	mov	esi,ecx
-	shld	ecx,ecx,5
-	vpsrld	xmm8,xmm4,30
-	vmovdqa	XMMWORD[48+rsp],xmm9
-	add	ebx,edi
-	xor	esi,ebp
-	shrd	edx,edx,7
-	add	ebx,ecx
-	vpslld	xmm4,xmm4,2
-	add	eax,DWORD[8+rsp]
-	xor	esi,edx
-	mov	edi,ebx
-	shld	ebx,ebx,5
-	add	eax,esi
-	xor	edi,edx
-	shrd	ecx,ecx,7
-	add	eax,ebx
-	vpor	xmm4,xmm4,xmm8
-	add	ebp,DWORD[12+rsp]
-	xor	edi,ecx
-	mov	esi,eax
-	shld	eax,eax,5
-	add	ebp,edi
-	xor	esi,ecx
-	shrd	ebx,ebx,7
-	add	ebp,eax
-	vpalignr	xmm8,xmm4,xmm3,8
-	vpxor	xmm5,xmm5,xmm1
-	add	edx,DWORD[16+rsp]
-	xor	esi,ebx
-	mov	edi,ebp
-	shld	ebp,ebp,5
-	vpxor	xmm5,xmm5,xmm6
-	add	edx,esi
-	xor	edi,ebx
-	vpaddd	xmm9,xmm11,xmm4
-	shrd	eax,eax,7
-	add	edx,ebp
-	vpxor	xmm5,xmm5,xmm8
-	add	ecx,DWORD[20+rsp]
-	xor	edi,eax
-	mov	esi,edx
-	shld	edx,edx,5
-	vpsrld	xmm8,xmm5,30
-	vmovdqa	XMMWORD[rsp],xmm9
-	add	ecx,edi
-	xor	esi,eax
-	shrd	ebp,ebp,7
-	add	ecx,edx
-	vpslld	xmm5,xmm5,2
-	add	ebx,DWORD[24+rsp]
-	xor	esi,ebp
-	mov	edi,ecx
-	shld	ecx,ecx,5
-	add	ebx,esi
-	xor	edi,ebp
-	shrd	edx,edx,7
-	add	ebx,ecx
-	vpor	xmm5,xmm5,xmm8
-	add	eax,DWORD[28+rsp]
-	shrd	ecx,ecx,7
-	mov	esi,ebx
-	xor	edi,edx
-	shld	ebx,ebx,5
-	add	eax,edi
-	xor	esi,ecx
-	xor	ecx,edx
-	add	eax,ebx
-	vpalignr	xmm8,xmm5,xmm4,8
-	vpxor	xmm6,xmm6,xmm2
-	add	ebp,DWORD[32+rsp]
-	and	esi,ecx
-	xor	ecx,edx
-	shrd	ebx,ebx,7
-	vpxor	xmm6,xmm6,xmm7
-	mov	edi,eax
-	xor	esi,ecx
-	vpaddd	xmm9,xmm11,xmm5
-	shld	eax,eax,5
-	add	ebp,esi
-	vpxor	xmm6,xmm6,xmm8
-	xor	edi,ebx
-	xor	ebx,ecx
-	add	ebp,eax
-	add	edx,DWORD[36+rsp]
-	vpsrld	xmm8,xmm6,30
-	vmovdqa	XMMWORD[16+rsp],xmm9
-	and	edi,ebx
-	xor	ebx,ecx
-	shrd	eax,eax,7
-	mov	esi,ebp
-	vpslld	xmm6,xmm6,2
-	xor	edi,ebx
-	shld	ebp,ebp,5
-	add	edx,edi
-	xor	esi,eax
-	xor	eax,ebx
-	add	edx,ebp
-	add	ecx,DWORD[40+rsp]
-	and	esi,eax
-	vpor	xmm6,xmm6,xmm8
-	xor	eax,ebx
-	shrd	ebp,ebp,7
-	mov	edi,edx
-	xor	esi,eax
-	shld	edx,edx,5
-	add	ecx,esi
-	xor	edi,ebp
-	xor	ebp,eax
-	add	ecx,edx
-	add	ebx,DWORD[44+rsp]
-	and	edi,ebp
-	xor	ebp,eax
-	shrd	edx,edx,7
-	mov	esi,ecx
-	xor	edi,ebp
-	shld	ecx,ecx,5
-	add	ebx,edi
-	xor	esi,edx
-	xor	edx,ebp
-	add	ebx,ecx
-	vpalignr	xmm8,xmm6,xmm5,8
-	vpxor	xmm7,xmm7,xmm3
-	add	eax,DWORD[48+rsp]
-	and	esi,edx
-	xor	edx,ebp
-	shrd	ecx,ecx,7
-	vpxor	xmm7,xmm7,xmm0
-	mov	edi,ebx
-	xor	esi,edx
-	vpaddd	xmm9,xmm11,xmm6
-	vmovdqa	xmm11,XMMWORD[32+r14]
-	shld	ebx,ebx,5
-	add	eax,esi
-	vpxor	xmm7,xmm7,xmm8
-	xor	edi,ecx
-	xor	ecx,edx
-	add	eax,ebx
-	add	ebp,DWORD[52+rsp]
-	vpsrld	xmm8,xmm7,30
-	vmovdqa	XMMWORD[32+rsp],xmm9
-	and	edi,ecx
-	xor	ecx,edx
-	shrd	ebx,ebx,7
-	mov	esi,eax
-	vpslld	xmm7,xmm7,2
-	xor	edi,ecx
-	shld	eax,eax,5
-	add	ebp,edi
-	xor	esi,ebx
-	xor	ebx,ecx
-	add	ebp,eax
-	add	edx,DWORD[56+rsp]
-	and	esi,ebx
-	vpor	xmm7,xmm7,xmm8
-	xor	ebx,ecx
-	shrd	eax,eax,7
-	mov	edi,ebp
-	xor	esi,ebx
-	shld	ebp,ebp,5
-	add	edx,esi
-	xor	edi,eax
-	xor	eax,ebx
-	add	edx,ebp
-	add	ecx,DWORD[60+rsp]
-	and	edi,eax
-	xor	eax,ebx
-	shrd	ebp,ebp,7
-	mov	esi,edx
-	xor	edi,eax
-	shld	edx,edx,5
-	add	ecx,edi
-	xor	esi,ebp
-	xor	ebp,eax
-	add	ecx,edx
-	vpalignr	xmm8,xmm7,xmm6,8
-	vpxor	xmm0,xmm0,xmm4
-	add	ebx,DWORD[rsp]
-	and	esi,ebp
-	xor	ebp,eax
-	shrd	edx,edx,7
-	vpxor	xmm0,xmm0,xmm1
-	mov	edi,ecx
-	xor	esi,ebp
-	vpaddd	xmm9,xmm11,xmm7
-	shld	ecx,ecx,5
-	add	ebx,esi
-	vpxor	xmm0,xmm0,xmm8
-	xor	edi,edx
-	xor	edx,ebp
-	add	ebx,ecx
-	add	eax,DWORD[4+rsp]
-	vpsrld	xmm8,xmm0,30
-	vmovdqa	XMMWORD[48+rsp],xmm9
-	and	edi,edx
-	xor	edx,ebp
-	shrd	ecx,ecx,7
-	mov	esi,ebx
-	vpslld	xmm0,xmm0,2
-	xor	edi,edx
-	shld	ebx,ebx,5
-	add	eax,edi
-	xor	esi,ecx
-	xor	ecx,edx
-	add	eax,ebx
-	add	ebp,DWORD[8+rsp]
-	and	esi,ecx
-	vpor	xmm0,xmm0,xmm8
-	xor	ecx,edx
-	shrd	ebx,ebx,7
-	mov	edi,eax
-	xor	esi,ecx
-	shld	eax,eax,5
-	add	ebp,esi
-	xor	edi,ebx
-	xor	ebx,ecx
-	add	ebp,eax
-	add	edx,DWORD[12+rsp]
-	and	edi,ebx
-	xor	ebx,ecx
-	shrd	eax,eax,7
-	mov	esi,ebp
-	xor	edi,ebx
-	shld	ebp,ebp,5
-	add	edx,edi
-	xor	esi,eax
-	xor	eax,ebx
-	add	edx,ebp
-	vpalignr	xmm8,xmm0,xmm7,8
-	vpxor	xmm1,xmm1,xmm5
-	add	ecx,DWORD[16+rsp]
-	and	esi,eax
-	xor	eax,ebx
-	shrd	ebp,ebp,7
-	vpxor	xmm1,xmm1,xmm2
-	mov	edi,edx
-	xor	esi,eax
-	vpaddd	xmm9,xmm11,xmm0
-	shld	edx,edx,5
-	add	ecx,esi
-	vpxor	xmm1,xmm1,xmm8
-	xor	edi,ebp
-	xor	ebp,eax
-	add	ecx,edx
-	add	ebx,DWORD[20+rsp]
-	vpsrld	xmm8,xmm1,30
-	vmovdqa	XMMWORD[rsp],xmm9
-	and	edi,ebp
-	xor	ebp,eax
-	shrd	edx,edx,7
-	mov	esi,ecx
-	vpslld	xmm1,xmm1,2
-	xor	edi,ebp
-	shld	ecx,ecx,5
-	add	ebx,edi
-	xor	esi,edx
-	xor	edx,ebp
-	add	ebx,ecx
-	add	eax,DWORD[24+rsp]
-	and	esi,edx
-	vpor	xmm1,xmm1,xmm8
-	xor	edx,ebp
-	shrd	ecx,ecx,7
-	mov	edi,ebx
-	xor	esi,edx
-	shld	ebx,ebx,5
-	add	eax,esi
-	xor	edi,ecx
-	xor	ecx,edx
-	add	eax,ebx
-	add	ebp,DWORD[28+rsp]
-	and	edi,ecx
-	xor	ecx,edx
-	shrd	ebx,ebx,7
-	mov	esi,eax
-	xor	edi,ecx
-	shld	eax,eax,5
-	add	ebp,edi
-	xor	esi,ebx
-	xor	ebx,ecx
-	add	ebp,eax
-	vpalignr	xmm8,xmm1,xmm0,8
-	vpxor	xmm2,xmm2,xmm6
-	add	edx,DWORD[32+rsp]
-	and	esi,ebx
-	xor	ebx,ecx
-	shrd	eax,eax,7
-	vpxor	xmm2,xmm2,xmm3
-	mov	edi,ebp
-	xor	esi,ebx
-	vpaddd	xmm9,xmm11,xmm1
-	shld	ebp,ebp,5
-	add	edx,esi
-	vpxor	xmm2,xmm2,xmm8
-	xor	edi,eax
-	xor	eax,ebx
-	add	edx,ebp
-	add	ecx,DWORD[36+rsp]
-	vpsrld	xmm8,xmm2,30
-	vmovdqa	XMMWORD[16+rsp],xmm9
-	and	edi,eax
-	xor	eax,ebx
-	shrd	ebp,ebp,7
-	mov	esi,edx
-	vpslld	xmm2,xmm2,2
-	xor	edi,eax
-	shld	edx,edx,5
-	add	ecx,edi
-	xor	esi,ebp
-	xor	ebp,eax
-	add	ecx,edx
-	add	ebx,DWORD[40+rsp]
-	and	esi,ebp
-	vpor	xmm2,xmm2,xmm8
-	xor	ebp,eax
-	shrd	edx,edx,7
-	mov	edi,ecx
-	xor	esi,ebp
-	shld	ecx,ecx,5
-	add	ebx,esi
-	xor	edi,edx
-	xor	edx,ebp
-	add	ebx,ecx
-	add	eax,DWORD[44+rsp]
-	and	edi,edx
-	xor	edx,ebp
-	shrd	ecx,ecx,7
-	mov	esi,ebx
-	xor	edi,edx
-	shld	ebx,ebx,5
-	add	eax,edi
-	xor	esi,edx
-	add	eax,ebx
-	vpalignr	xmm8,xmm2,xmm1,8
-	vpxor	xmm3,xmm3,xmm7
-	add	ebp,DWORD[48+rsp]
-	xor	esi,ecx
-	mov	edi,eax
-	shld	eax,eax,5
-	vpxor	xmm3,xmm3,xmm4
-	add	ebp,esi
-	xor	edi,ecx
-	vpaddd	xmm9,xmm11,xmm2
-	shrd	ebx,ebx,7
-	add	ebp,eax
-	vpxor	xmm3,xmm3,xmm8
-	add	edx,DWORD[52+rsp]
-	xor	edi,ebx
-	mov	esi,ebp
-	shld	ebp,ebp,5
-	vpsrld	xmm8,xmm3,30
-	vmovdqa	XMMWORD[32+rsp],xmm9
-	add	edx,edi
-	xor	esi,ebx
-	shrd	eax,eax,7
-	add	edx,ebp
-	vpslld	xmm3,xmm3,2
-	add	ecx,DWORD[56+rsp]
-	xor	esi,eax
-	mov	edi,edx
-	shld	edx,edx,5
-	add	ecx,esi
-	xor	edi,eax
-	shrd	ebp,ebp,7
-	add	ecx,edx
-	vpor	xmm3,xmm3,xmm8
-	add	ebx,DWORD[60+rsp]
-	xor	edi,ebp
-	mov	esi,ecx
-	shld	ecx,ecx,5
-	add	ebx,edi
-	xor	esi,ebp
-	shrd	edx,edx,7
-	add	ebx,ecx
-	add	eax,DWORD[rsp]
-	vpaddd	xmm9,xmm11,xmm3
-	xor	esi,edx
-	mov	edi,ebx
-	shld	ebx,ebx,5
-	add	eax,esi
-	vmovdqa	XMMWORD[48+rsp],xmm9
-	xor	edi,edx
-	shrd	ecx,ecx,7
-	add	eax,ebx
-	add	ebp,DWORD[4+rsp]
-	xor	edi,ecx
-	mov	esi,eax
-	shld	eax,eax,5
-	add	ebp,edi
-	xor	esi,ecx
-	shrd	ebx,ebx,7
-	add	ebp,eax
-	add	edx,DWORD[8+rsp]
-	xor	esi,ebx
-	mov	edi,ebp
-	shld	ebp,ebp,5
-	add	edx,esi
-	xor	edi,ebx
-	shrd	eax,eax,7
-	add	edx,ebp
-	add	ecx,DWORD[12+rsp]
-	xor	edi,eax
-	mov	esi,edx
-	shld	edx,edx,5
-	add	ecx,edi
-	xor	esi,eax
-	shrd	ebp,ebp,7
-	add	ecx,edx
-	cmp	r9,r10
-	je	NEAR $L$done_avx
-	vmovdqa	xmm6,XMMWORD[64+r14]
-	vmovdqa	xmm11,XMMWORD[((-64))+r14]
-	vmovdqu	xmm0,XMMWORD[r9]
-	vmovdqu	xmm1,XMMWORD[16+r9]
-	vmovdqu	xmm2,XMMWORD[32+r9]
-	vmovdqu	xmm3,XMMWORD[48+r9]
-	vpshufb	xmm0,xmm0,xmm6
-	add	r9,64
-	add	ebx,DWORD[16+rsp]
-	xor	esi,ebp
-	vpshufb	xmm1,xmm1,xmm6
-	mov	edi,ecx
-	shld	ecx,ecx,5
-	vpaddd	xmm4,xmm0,xmm11
-	add	ebx,esi
-	xor	edi,ebp
-	shrd	edx,edx,7
-	add	ebx,ecx
-	vmovdqa	XMMWORD[rsp],xmm4
-	add	eax,DWORD[20+rsp]
-	xor	edi,edx
-	mov	esi,ebx
-	shld	ebx,ebx,5
-	add	eax,edi
-	xor	esi,edx
-	shrd	ecx,ecx,7
-	add	eax,ebx
-	add	ebp,DWORD[24+rsp]
-	xor	esi,ecx
-	mov	edi,eax
-	shld	eax,eax,5
-	add	ebp,esi
-	xor	edi,ecx
-	shrd	ebx,ebx,7
-	add	ebp,eax
-	add	edx,DWORD[28+rsp]
-	xor	edi,ebx
-	mov	esi,ebp
-	shld	ebp,ebp,5
-	add	edx,edi
-	xor	esi,ebx
-	shrd	eax,eax,7
-	add	edx,ebp
-	add	ecx,DWORD[32+rsp]
-	xor	esi,eax
-	vpshufb	xmm2,xmm2,xmm6
-	mov	edi,edx
-	shld	edx,edx,5
-	vpaddd	xmm5,xmm1,xmm11
-	add	ecx,esi
-	xor	edi,eax
-	shrd	ebp,ebp,7
-	add	ecx,edx
-	vmovdqa	XMMWORD[16+rsp],xmm5
-	add	ebx,DWORD[36+rsp]
-	xor	edi,ebp
-	mov	esi,ecx
-	shld	ecx,ecx,5
-	add	ebx,edi
-	xor	esi,ebp
-	shrd	edx,edx,7
-	add	ebx,ecx
-	add	eax,DWORD[40+rsp]
-	xor	esi,edx
-	mov	edi,ebx
-	shld	ebx,ebx,5
-	add	eax,esi
-	xor	edi,edx
-	shrd	ecx,ecx,7
-	add	eax,ebx
-	add	ebp,DWORD[44+rsp]
-	xor	edi,ecx
-	mov	esi,eax
-	shld	eax,eax,5
-	add	ebp,edi
-	xor	esi,ecx
-	shrd	ebx,ebx,7
-	add	ebp,eax
-	add	edx,DWORD[48+rsp]
-	xor	esi,ebx
-	vpshufb	xmm3,xmm3,xmm6
-	mov	edi,ebp
-	shld	ebp,ebp,5
-	vpaddd	xmm6,xmm2,xmm11
-	add	edx,esi
-	xor	edi,ebx
-	shrd	eax,eax,7
-	add	edx,ebp
-	vmovdqa	XMMWORD[32+rsp],xmm6
-	add	ecx,DWORD[52+rsp]
-	xor	edi,eax
-	mov	esi,edx
-	shld	edx,edx,5
-	add	ecx,edi
-	xor	esi,eax
-	shrd	ebp,ebp,7
-	add	ecx,edx
-	add	ebx,DWORD[56+rsp]
-	xor	esi,ebp
-	mov	edi,ecx
-	shld	ecx,ecx,5
-	add	ebx,esi
-	xor	edi,ebp
-	shrd	edx,edx,7
-	add	ebx,ecx
-	add	eax,DWORD[60+rsp]
-	xor	edi,edx
-	mov	esi,ebx
-	shld	ebx,ebx,5
-	add	eax,edi
-	shrd	ecx,ecx,7
-	add	eax,ebx
-	add	eax,DWORD[r8]
-	add	esi,DWORD[4+r8]
-	add	ecx,DWORD[8+r8]
-	add	edx,DWORD[12+r8]
-	mov	DWORD[r8],eax
-	add	ebp,DWORD[16+r8]
-	mov	DWORD[4+r8],esi
-	mov	ebx,esi
-	mov	DWORD[8+r8],ecx
-	mov	edi,ecx
-	mov	DWORD[12+r8],edx
-	xor	edi,edx
-	mov	DWORD[16+r8],ebp
-	and	esi,edi
-	jmp	NEAR $L$oop_avx
-
-ALIGN	16
-$L$done_avx:
-	add	ebx,DWORD[16+rsp]
-	xor	esi,ebp
-	mov	edi,ecx
-	shld	ecx,ecx,5
-	add	ebx,esi
-	xor	edi,ebp
-	shrd	edx,edx,7
-	add	ebx,ecx
-	add	eax,DWORD[20+rsp]
-	xor	edi,edx
-	mov	esi,ebx
-	shld	ebx,ebx,5
-	add	eax,edi
-	xor	esi,edx
-	shrd	ecx,ecx,7
-	add	eax,ebx
-	add	ebp,DWORD[24+rsp]
-	xor	esi,ecx
-	mov	edi,eax
-	shld	eax,eax,5
-	add	ebp,esi
-	xor	edi,ecx
-	shrd	ebx,ebx,7
-	add	ebp,eax
-	add	edx,DWORD[28+rsp]
-	xor	edi,ebx
-	mov	esi,ebp
-	shld	ebp,ebp,5
-	add	edx,edi
-	xor	esi,ebx
-	shrd	eax,eax,7
-	add	edx,ebp
-	add	ecx,DWORD[32+rsp]
-	xor	esi,eax
-	mov	edi,edx
-	shld	edx,edx,5
-	add	ecx,esi
-	xor	edi,eax
-	shrd	ebp,ebp,7
-	add	ecx,edx
-	add	ebx,DWORD[36+rsp]
-	xor	edi,ebp
-	mov	esi,ecx
-	shld	ecx,ecx,5
-	add	ebx,edi
-	xor	esi,ebp
-	shrd	edx,edx,7
-	add	ebx,ecx
-	add	eax,DWORD[40+rsp]
-	xor	esi,edx
-	mov	edi,ebx
-	shld	ebx,ebx,5
-	add	eax,esi
-	xor	edi,edx
-	shrd	ecx,ecx,7
-	add	eax,ebx
-	add	ebp,DWORD[44+rsp]
-	xor	edi,ecx
-	mov	esi,eax
-	shld	eax,eax,5
-	add	ebp,edi
-	xor	esi,ecx
-	shrd	ebx,ebx,7
-	add	ebp,eax
-	add	edx,DWORD[48+rsp]
-	xor	esi,ebx
-	mov	edi,ebp
-	shld	ebp,ebp,5
-	add	edx,esi
-	xor	edi,ebx
-	shrd	eax,eax,7
-	add	edx,ebp
-	add	ecx,DWORD[52+rsp]
-	xor	edi,eax
-	mov	esi,edx
-	shld	edx,edx,5
-	add	ecx,edi
-	xor	esi,eax
-	shrd	ebp,ebp,7
-	add	ecx,edx
-	add	ebx,DWORD[56+rsp]
-	xor	esi,ebp
-	mov	edi,ecx
-	shld	ecx,ecx,5
-	add	ebx,esi
-	xor	edi,ebp
-	shrd	edx,edx,7
-	add	ebx,ecx
-	add	eax,DWORD[60+rsp]
-	xor	edi,edx
-	mov	esi,ebx
-	shld	ebx,ebx,5
-	add	eax,edi
-	shrd	ecx,ecx,7
-	add	eax,ebx
-	vzeroupper
-
-	add	eax,DWORD[r8]
-	add	esi,DWORD[4+r8]
-	add	ecx,DWORD[8+r8]
-	mov	DWORD[r8],eax
-	add	edx,DWORD[12+r8]
-	mov	DWORD[4+r8],esi
-	add	ebp,DWORD[16+r8]
-	mov	DWORD[8+r8],ecx
-	mov	DWORD[12+r8],edx
-	mov	DWORD[16+r8],ebp
-	movaps	xmm6,XMMWORD[((-40-96))+r11]
-	movaps	xmm7,XMMWORD[((-40-80))+r11]
-	movaps	xmm8,XMMWORD[((-40-64))+r11]
-	movaps	xmm9,XMMWORD[((-40-48))+r11]
-	movaps	xmm10,XMMWORD[((-40-32))+r11]
-	movaps	xmm11,XMMWORD[((-40-16))+r11]
-	mov	r14,QWORD[((-40))+r11]
-	mov	r13,QWORD[((-32))+r11]
-	mov	r12,QWORD[((-24))+r11]
-	mov	rbp,QWORD[((-16))+r11]
-	mov	rbx,QWORD[((-8))+r11]
-	lea	rsp,[r11]
-$L$epilogue_avx:
-	mov	rdi,QWORD[8+rsp]	;WIN64 epilogue
-	mov	rsi,QWORD[16+rsp]
-	DB	0F3h,0C3h		;repret
-$L$SEH_end_sha1_block_data_order_avx:
-ALIGN	64
-K_XX_XX:
-	DD	0x5a827999,0x5a827999,0x5a827999,0x5a827999
-	DD	0x5a827999,0x5a827999,0x5a827999,0x5a827999
-	DD	0x6ed9eba1,0x6ed9eba1,0x6ed9eba1,0x6ed9eba1
-	DD	0x6ed9eba1,0x6ed9eba1,0x6ed9eba1,0x6ed9eba1
-	DD	0x8f1bbcdc,0x8f1bbcdc,0x8f1bbcdc,0x8f1bbcdc
-	DD	0x8f1bbcdc,0x8f1bbcdc,0x8f1bbcdc,0x8f1bbcdc
-	DD	0xca62c1d6,0xca62c1d6,0xca62c1d6,0xca62c1d6
-	DD	0xca62c1d6,0xca62c1d6,0xca62c1d6,0xca62c1d6
-	DD	0x00010203,0x04050607,0x08090a0b,0x0c0d0e0f
-	DD	0x00010203,0x04050607,0x08090a0b,0x0c0d0e0f
-DB	0xf,0xe,0xd,0xc,0xb,0xa,0x9,0x8,0x7,0x6,0x5,0x4,0x3,0x2,0x1,0x0
-DB	83,72,65,49,32,98,108,111,99,107,32,116,114,97,110,115
-DB	102,111,114,109,32,102,111,114,32,120,56,54,95,54,52,44
-DB	32,67,82,89,80,84,79,71,65,77,83,32,98,121,32,60
-DB	97,112,112,114,111,64,111,112,101,110,115,115,108,46,111,114
-DB	103,62,0
-ALIGN	64
-EXTERN	__imp_RtlVirtualUnwind
-
-ALIGN	16
-se_handler:
-	push	rsi
-	push	rdi
-	push	rbx
-	push	rbp
-	push	r12
-	push	r13
-	push	r14
-	push	r15
-	pushfq
-	sub	rsp,64
-
-	mov	rax,QWORD[120+r8]
-	mov	rbx,QWORD[248+r8]
-
-	lea	r10,[$L$prologue]
-	cmp	rbx,r10
-	jb	NEAR $L$common_seh_tail
-
-	mov	rax,QWORD[152+r8]
-
-	lea	r10,[$L$epilogue]
-	cmp	rbx,r10
-	jae	NEAR $L$common_seh_tail
-
-	mov	rax,QWORD[64+rax]
-
-	mov	rbx,QWORD[((-8))+rax]
-	mov	rbp,QWORD[((-16))+rax]
-	mov	r12,QWORD[((-24))+rax]
-	mov	r13,QWORD[((-32))+rax]
-	mov	r14,QWORD[((-40))+rax]
-	mov	QWORD[144+r8],rbx
-	mov	QWORD[160+r8],rbp
-	mov	QWORD[216+r8],r12
-	mov	QWORD[224+r8],r13
-	mov	QWORD[232+r8],r14
-
-	jmp	NEAR $L$common_seh_tail
-
-
-ALIGN	16
-ssse3_handler:
-	push	rsi
-	push	rdi
-	push	rbx
-	push	rbp
-	push	r12
-	push	r13
-	push	r14
-	push	r15
-	pushfq
-	sub	rsp,64
-
-	mov	rax,QWORD[120+r8]
-	mov	rbx,QWORD[248+r8]
-
-	mov	rsi,QWORD[8+r9]
-	mov	r11,QWORD[56+r9]
-
-	mov	r10d,DWORD[r11]
-	lea	r10,[r10*1+rsi]
-	cmp	rbx,r10
-	jb	NEAR $L$common_seh_tail
-
-	mov	rax,QWORD[208+r8]
-
-	mov	r10d,DWORD[4+r11]
-	lea	r10,[r10*1+rsi]
-	cmp	rbx,r10
-	jae	NEAR $L$common_seh_tail
-
-	lea	rsi,[((-40-96))+rax]
-	lea	rdi,[512+r8]
-	mov	ecx,12
-	DD	0xa548f3fc
-
-	mov	rbx,QWORD[((-8))+rax]
-	mov	rbp,QWORD[((-16))+rax]
-	mov	r12,QWORD[((-24))+rax]
-	mov	r13,QWORD[((-32))+rax]
-	mov	r14,QWORD[((-40))+rax]
-	mov	QWORD[144+r8],rbx
-	mov	QWORD[160+r8],rbp
-	mov	QWORD[216+r8],r12
-	mov	QWORD[224+r8],r13
-	mov	QWORD[232+r8],r14
-
-$L$common_seh_tail:
-	mov	rdi,QWORD[8+rax]
-	mov	rsi,QWORD[16+rax]
-	mov	QWORD[152+r8],rax
-	mov	QWORD[168+r8],rsi
-	mov	QWORD[176+r8],rdi
-
-	mov	rdi,QWORD[40+r9]
-	mov	rsi,r8
-	mov	ecx,154
-	DD	0xa548f3fc
-
-	mov	rsi,r9
-	xor	rcx,rcx
-	mov	rdx,QWORD[8+rsi]
-	mov	r8,QWORD[rsi]
-	mov	r9,QWORD[16+rsi]
-	mov	r10,QWORD[40+rsi]
-	lea	r11,[56+rsi]
-	lea	r12,[24+rsi]
-	mov	QWORD[32+rsp],r10
-	mov	QWORD[40+rsp],r11
-	mov	QWORD[48+rsp],r12
-	mov	QWORD[56+rsp],rcx
-	call	QWORD[__imp_RtlVirtualUnwind]
-
-	mov	eax,1
-	add	rsp,64
-	popfq
-	pop	r15
-	pop	r14
-	pop	r13
-	pop	r12
-	pop	rbp
-	pop	rbx
-	pop	rdi
-	pop	rsi
-	DB	0F3h,0C3h		;repret
-
-
-section	.pdata rdata align=4
-ALIGN	4
-	DD	$L$SEH_begin_sha1_block_data_order wrt ..imagebase
-	DD	$L$SEH_end_sha1_block_data_order wrt ..imagebase
-	DD	$L$SEH_info_sha1_block_data_order wrt ..imagebase
-	DD	$L$SEH_begin_sha1_block_data_order_ssse3 wrt ..imagebase
-	DD	$L$SEH_end_sha1_block_data_order_ssse3 wrt ..imagebase
-	DD	$L$SEH_info_sha1_block_data_order_ssse3 wrt ..imagebase
-	DD	$L$SEH_begin_sha1_block_data_order_avx wrt ..imagebase
-	DD	$L$SEH_end_sha1_block_data_order_avx wrt ..imagebase
-	DD	$L$SEH_info_sha1_block_data_order_avx wrt ..imagebase
-section	.xdata rdata align=8
-ALIGN	8
-$L$SEH_info_sha1_block_data_order:
-DB	9,0,0,0
-	DD	se_handler wrt ..imagebase
-$L$SEH_info_sha1_block_data_order_ssse3:
-DB	9,0,0,0
-	DD	ssse3_handler wrt ..imagebase
-	DD	$L$prologue_ssse3 wrt ..imagebase,$L$epilogue_ssse3 wrt ..imagebase
-$L$SEH_info_sha1_block_data_order_avx:
-DB	9,0,0,0
-	DD	ssse3_handler wrt ..imagebase
-	DD	$L$prologue_avx wrt ..imagebase,$L$epilogue_avx wrt ..imagebase
diff --git a/third_party/boringssl/win-x86_64/crypto/sha/sha256-x86_64.asm b/third_party/boringssl/win-x86_64/crypto/sha/sha256-x86_64.asm
deleted file mode 100644
index 6e3d154..0000000
--- a/third_party/boringssl/win-x86_64/crypto/sha/sha256-x86_64.asm
+++ /dev/null
@@ -1,4081 +0,0 @@
-default	rel
-%define XMMWORD
-%define YMMWORD
-%define ZMMWORD
-section	.text code align=64
-
-
-EXTERN	OPENSSL_ia32cap_P
-global	sha256_block_data_order
-
-ALIGN	16
-sha256_block_data_order:
-	mov	QWORD[8+rsp],rdi	;WIN64 prologue
-	mov	QWORD[16+rsp],rsi
-	mov	rax,rsp
-$L$SEH_begin_sha256_block_data_order:
-	mov	rdi,rcx
-	mov	rsi,rdx
-	mov	rdx,r8
-
-
-	lea	r11,[OPENSSL_ia32cap_P]
-	mov	r9d,DWORD[r11]
-	mov	r10d,DWORD[4+r11]
-	mov	r11d,DWORD[8+r11]
-	and	r9d,1073741824
-	and	r10d,268435968
-	or	r10d,r9d
-	cmp	r10d,1342177792
-	je	NEAR $L$avx_shortcut
-	test	r10d,512
-	jnz	NEAR $L$ssse3_shortcut
-	mov	rax,rsp
-	push	rbx
-	push	rbp
-	push	r12
-	push	r13
-	push	r14
-	push	r15
-	shl	rdx,4
-	sub	rsp,16*4+4*8
-	lea	rdx,[rdx*4+rsi]
-	and	rsp,-64
-	mov	QWORD[((64+0))+rsp],rdi
-	mov	QWORD[((64+8))+rsp],rsi
-	mov	QWORD[((64+16))+rsp],rdx
-	mov	QWORD[((64+24))+rsp],rax
-$L$prologue:
-
-	mov	eax,DWORD[rdi]
-	mov	ebx,DWORD[4+rdi]
-	mov	ecx,DWORD[8+rdi]
-	mov	edx,DWORD[12+rdi]
-	mov	r8d,DWORD[16+rdi]
-	mov	r9d,DWORD[20+rdi]
-	mov	r10d,DWORD[24+rdi]
-	mov	r11d,DWORD[28+rdi]
-	jmp	NEAR $L$loop
-
-ALIGN	16
-$L$loop:
-	mov	edi,ebx
-	lea	rbp,[K256]
-	xor	edi,ecx
-	mov	r12d,DWORD[rsi]
-	mov	r13d,r8d
-	mov	r14d,eax
-	bswap	r12d
-	ror	r13d,14
-	mov	r15d,r9d
-
-	xor	r13d,r8d
-	ror	r14d,9
-	xor	r15d,r10d
-
-	mov	DWORD[rsp],r12d
-	xor	r14d,eax
-	and	r15d,r8d
-
-	ror	r13d,5
-	add	r12d,r11d
-	xor	r15d,r10d
-
-	ror	r14d,11
-	xor	r13d,r8d
-	add	r12d,r15d
-
-	mov	r15d,eax
-	add	r12d,DWORD[rbp]
-	xor	r14d,eax
-
-	xor	r15d,ebx
-	ror	r13d,6
-	mov	r11d,ebx
-
-	and	edi,r15d
-	ror	r14d,2
-	add	r12d,r13d
-
-	xor	r11d,edi
-	add	edx,r12d
-	add	r11d,r12d
-
-	lea	rbp,[4+rbp]
-	add	r11d,r14d
-	mov	r12d,DWORD[4+rsi]
-	mov	r13d,edx
-	mov	r14d,r11d
-	bswap	r12d
-	ror	r13d,14
-	mov	edi,r8d
-
-	xor	r13d,edx
-	ror	r14d,9
-	xor	edi,r9d
-
-	mov	DWORD[4+rsp],r12d
-	xor	r14d,r11d
-	and	edi,edx
-
-	ror	r13d,5
-	add	r12d,r10d
-	xor	edi,r9d
-
-	ror	r14d,11
-	xor	r13d,edx
-	add	r12d,edi
-
-	mov	edi,r11d
-	add	r12d,DWORD[rbp]
-	xor	r14d,r11d
-
-	xor	edi,eax
-	ror	r13d,6
-	mov	r10d,eax
-
-	and	r15d,edi
-	ror	r14d,2
-	add	r12d,r13d
-
-	xor	r10d,r15d
-	add	ecx,r12d
-	add	r10d,r12d
-
-	lea	rbp,[4+rbp]
-	add	r10d,r14d
-	mov	r12d,DWORD[8+rsi]
-	mov	r13d,ecx
-	mov	r14d,r10d
-	bswap	r12d
-	ror	r13d,14
-	mov	r15d,edx
-
-	xor	r13d,ecx
-	ror	r14d,9
-	xor	r15d,r8d
-
-	mov	DWORD[8+rsp],r12d
-	xor	r14d,r10d
-	and	r15d,ecx
-
-	ror	r13d,5
-	add	r12d,r9d
-	xor	r15d,r8d
-
-	ror	r14d,11
-	xor	r13d,ecx
-	add	r12d,r15d
-
-	mov	r15d,r10d
-	add	r12d,DWORD[rbp]
-	xor	r14d,r10d
-
-	xor	r15d,r11d
-	ror	r13d,6
-	mov	r9d,r11d
-
-	and	edi,r15d
-	ror	r14d,2
-	add	r12d,r13d
-
-	xor	r9d,edi
-	add	ebx,r12d
-	add	r9d,r12d
-
-	lea	rbp,[4+rbp]
-	add	r9d,r14d
-	mov	r12d,DWORD[12+rsi]
-	mov	r13d,ebx
-	mov	r14d,r9d
-	bswap	r12d
-	ror	r13d,14
-	mov	edi,ecx
-
-	xor	r13d,ebx
-	ror	r14d,9
-	xor	edi,edx
-
-	mov	DWORD[12+rsp],r12d
-	xor	r14d,r9d
-	and	edi,ebx
-
-	ror	r13d,5
-	add	r12d,r8d
-	xor	edi,edx
-
-	ror	r14d,11
-	xor	r13d,ebx
-	add	r12d,edi
-
-	mov	edi,r9d
-	add	r12d,DWORD[rbp]
-	xor	r14d,r9d
-
-	xor	edi,r10d
-	ror	r13d,6
-	mov	r8d,r10d
-
-	and	r15d,edi
-	ror	r14d,2
-	add	r12d,r13d
-
-	xor	r8d,r15d
-	add	eax,r12d
-	add	r8d,r12d
-
-	lea	rbp,[20+rbp]
-	add	r8d,r14d
-	mov	r12d,DWORD[16+rsi]
-	mov	r13d,eax
-	mov	r14d,r8d
-	bswap	r12d
-	ror	r13d,14
-	mov	r15d,ebx
-
-	xor	r13d,eax
-	ror	r14d,9
-	xor	r15d,ecx
-
-	mov	DWORD[16+rsp],r12d
-	xor	r14d,r8d
-	and	r15d,eax
-
-	ror	r13d,5
-	add	r12d,edx
-	xor	r15d,ecx
-
-	ror	r14d,11
-	xor	r13d,eax
-	add	r12d,r15d
-
-	mov	r15d,r8d
-	add	r12d,DWORD[rbp]
-	xor	r14d,r8d
-
-	xor	r15d,r9d
-	ror	r13d,6
-	mov	edx,r9d
-
-	and	edi,r15d
-	ror	r14d,2
-	add	r12d,r13d
-
-	xor	edx,edi
-	add	r11d,r12d
-	add	edx,r12d
-
-	lea	rbp,[4+rbp]
-	add	edx,r14d
-	mov	r12d,DWORD[20+rsi]
-	mov	r13d,r11d
-	mov	r14d,edx
-	bswap	r12d
-	ror	r13d,14
-	mov	edi,eax
-
-	xor	r13d,r11d
-	ror	r14d,9
-	xor	edi,ebx
-
-	mov	DWORD[20+rsp],r12d
-	xor	r14d,edx
-	and	edi,r11d
-
-	ror	r13d,5
-	add	r12d,ecx
-	xor	edi,ebx
-
-	ror	r14d,11
-	xor	r13d,r11d
-	add	r12d,edi
-
-	mov	edi,edx
-	add	r12d,DWORD[rbp]
-	xor	r14d,edx
-
-	xor	edi,r8d
-	ror	r13d,6
-	mov	ecx,r8d
-
-	and	r15d,edi
-	ror	r14d,2
-	add	r12d,r13d
-
-	xor	ecx,r15d
-	add	r10d,r12d
-	add	ecx,r12d
-
-	lea	rbp,[4+rbp]
-	add	ecx,r14d
-	mov	r12d,DWORD[24+rsi]
-	mov	r13d,r10d
-	mov	r14d,ecx
-	bswap	r12d
-	ror	r13d,14
-	mov	r15d,r11d
-
-	xor	r13d,r10d
-	ror	r14d,9
-	xor	r15d,eax
-
-	mov	DWORD[24+rsp],r12d
-	xor	r14d,ecx
-	and	r15d,r10d
-
-	ror	r13d,5
-	add	r12d,ebx
-	xor	r15d,eax
-
-	ror	r14d,11
-	xor	r13d,r10d
-	add	r12d,r15d
-
-	mov	r15d,ecx
-	add	r12d,DWORD[rbp]
-	xor	r14d,ecx
-
-	xor	r15d,edx
-	ror	r13d,6
-	mov	ebx,edx
-
-	and	edi,r15d
-	ror	r14d,2
-	add	r12d,r13d
-
-	xor	ebx,edi
-	add	r9d,r12d
-	add	ebx,r12d
-
-	lea	rbp,[4+rbp]
-	add	ebx,r14d
-	mov	r12d,DWORD[28+rsi]
-	mov	r13d,r9d
-	mov	r14d,ebx
-	bswap	r12d
-	ror	r13d,14
-	mov	edi,r10d
-
-	xor	r13d,r9d
-	ror	r14d,9
-	xor	edi,r11d
-
-	mov	DWORD[28+rsp],r12d
-	xor	r14d,ebx
-	and	edi,r9d
-
-	ror	r13d,5
-	add	r12d,eax
-	xor	edi,r11d
-
-	ror	r14d,11
-	xor	r13d,r9d
-	add	r12d,edi
-
-	mov	edi,ebx
-	add	r12d,DWORD[rbp]
-	xor	r14d,ebx
-
-	xor	edi,ecx
-	ror	r13d,6
-	mov	eax,ecx
-
-	and	r15d,edi
-	ror	r14d,2
-	add	r12d,r13d
-
-	xor	eax,r15d
-	add	r8d,r12d
-	add	eax,r12d
-
-	lea	rbp,[20+rbp]
-	add	eax,r14d
-	mov	r12d,DWORD[32+rsi]
-	mov	r13d,r8d
-	mov	r14d,eax
-	bswap	r12d
-	ror	r13d,14
-	mov	r15d,r9d
-
-	xor	r13d,r8d
-	ror	r14d,9
-	xor	r15d,r10d
-
-	mov	DWORD[32+rsp],r12d
-	xor	r14d,eax
-	and	r15d,r8d
-
-	ror	r13d,5
-	add	r12d,r11d
-	xor	r15d,r10d
-
-	ror	r14d,11
-	xor	r13d,r8d
-	add	r12d,r15d
-
-	mov	r15d,eax
-	add	r12d,DWORD[rbp]
-	xor	r14d,eax
-
-	xor	r15d,ebx
-	ror	r13d,6
-	mov	r11d,ebx
-
-	and	edi,r15d
-	ror	r14d,2
-	add	r12d,r13d
-
-	xor	r11d,edi
-	add	edx,r12d
-	add	r11d,r12d
-
-	lea	rbp,[4+rbp]
-	add	r11d,r14d
-	mov	r12d,DWORD[36+rsi]
-	mov	r13d,edx
-	mov	r14d,r11d
-	bswap	r12d
-	ror	r13d,14
-	mov	edi,r8d
-
-	xor	r13d,edx
-	ror	r14d,9
-	xor	edi,r9d
-
-	mov	DWORD[36+rsp],r12d
-	xor	r14d,r11d
-	and	edi,edx
-
-	ror	r13d,5
-	add	r12d,r10d
-	xor	edi,r9d
-
-	ror	r14d,11
-	xor	r13d,edx
-	add	r12d,edi
-
-	mov	edi,r11d
-	add	r12d,DWORD[rbp]
-	xor	r14d,r11d
-
-	xor	edi,eax
-	ror	r13d,6
-	mov	r10d,eax
-
-	and	r15d,edi
-	ror	r14d,2
-	add	r12d,r13d
-
-	xor	r10d,r15d
-	add	ecx,r12d
-	add	r10d,r12d
-
-	lea	rbp,[4+rbp]
-	add	r10d,r14d
-	mov	r12d,DWORD[40+rsi]
-	mov	r13d,ecx
-	mov	r14d,r10d
-	bswap	r12d
-	ror	r13d,14
-	mov	r15d,edx
-
-	xor	r13d,ecx
-	ror	r14d,9
-	xor	r15d,r8d
-
-	mov	DWORD[40+rsp],r12d
-	xor	r14d,r10d
-	and	r15d,ecx
-
-	ror	r13d,5
-	add	r12d,r9d
-	xor	r15d,r8d
-
-	ror	r14d,11
-	xor	r13d,ecx
-	add	r12d,r15d
-
-	mov	r15d,r10d
-	add	r12d,DWORD[rbp]
-	xor	r14d,r10d
-
-	xor	r15d,r11d
-	ror	r13d,6
-	mov	r9d,r11d
-
-	and	edi,r15d
-	ror	r14d,2
-	add	r12d,r13d
-
-	xor	r9d,edi
-	add	ebx,r12d
-	add	r9d,r12d
-
-	lea	rbp,[4+rbp]
-	add	r9d,r14d
-	mov	r12d,DWORD[44+rsi]
-	mov	r13d,ebx
-	mov	r14d,r9d
-	bswap	r12d
-	ror	r13d,14
-	mov	edi,ecx
-
-	xor	r13d,ebx
-	ror	r14d,9
-	xor	edi,edx
-
-	mov	DWORD[44+rsp],r12d
-	xor	r14d,r9d
-	and	edi,ebx
-
-	ror	r13d,5
-	add	r12d,r8d
-	xor	edi,edx
-
-	ror	r14d,11
-	xor	r13d,ebx
-	add	r12d,edi
-
-	mov	edi,r9d
-	add	r12d,DWORD[rbp]
-	xor	r14d,r9d
-
-	xor	edi,r10d
-	ror	r13d,6
-	mov	r8d,r10d
-
-	and	r15d,edi
-	ror	r14d,2
-	add	r12d,r13d
-
-	xor	r8d,r15d
-	add	eax,r12d
-	add	r8d,r12d
-
-	lea	rbp,[20+rbp]
-	add	r8d,r14d
-	mov	r12d,DWORD[48+rsi]
-	mov	r13d,eax
-	mov	r14d,r8d
-	bswap	r12d
-	ror	r13d,14
-	mov	r15d,ebx
-
-	xor	r13d,eax
-	ror	r14d,9
-	xor	r15d,ecx
-
-	mov	DWORD[48+rsp],r12d
-	xor	r14d,r8d
-	and	r15d,eax
-
-	ror	r13d,5
-	add	r12d,edx
-	xor	r15d,ecx
-
-	ror	r14d,11
-	xor	r13d,eax
-	add	r12d,r15d
-
-	mov	r15d,r8d
-	add	r12d,DWORD[rbp]
-	xor	r14d,r8d
-
-	xor	r15d,r9d
-	ror	r13d,6
-	mov	edx,r9d
-
-	and	edi,r15d
-	ror	r14d,2
-	add	r12d,r13d
-
-	xor	edx,edi
-	add	r11d,r12d
-	add	edx,r12d
-
-	lea	rbp,[4+rbp]
-	add	edx,r14d
-	mov	r12d,DWORD[52+rsi]
-	mov	r13d,r11d
-	mov	r14d,edx
-	bswap	r12d
-	ror	r13d,14
-	mov	edi,eax
-
-	xor	r13d,r11d
-	ror	r14d,9
-	xor	edi,ebx
-
-	mov	DWORD[52+rsp],r12d
-	xor	r14d,edx
-	and	edi,r11d
-
-	ror	r13d,5
-	add	r12d,ecx
-	xor	edi,ebx
-
-	ror	r14d,11
-	xor	r13d,r11d
-	add	r12d,edi
-
-	mov	edi,edx
-	add	r12d,DWORD[rbp]
-	xor	r14d,edx
-
-	xor	edi,r8d
-	ror	r13d,6
-	mov	ecx,r8d
-
-	and	r15d,edi
-	ror	r14d,2
-	add	r12d,r13d
-
-	xor	ecx,r15d
-	add	r10d,r12d
-	add	ecx,r12d
-
-	lea	rbp,[4+rbp]
-	add	ecx,r14d
-	mov	r12d,DWORD[56+rsi]
-	mov	r13d,r10d
-	mov	r14d,ecx
-	bswap	r12d
-	ror	r13d,14
-	mov	r15d,r11d
-
-	xor	r13d,r10d
-	ror	r14d,9
-	xor	r15d,eax
-
-	mov	DWORD[56+rsp],r12d
-	xor	r14d,ecx
-	and	r15d,r10d
-
-	ror	r13d,5
-	add	r12d,ebx
-	xor	r15d,eax
-
-	ror	r14d,11
-	xor	r13d,r10d
-	add	r12d,r15d
-
-	mov	r15d,ecx
-	add	r12d,DWORD[rbp]
-	xor	r14d,ecx
-
-	xor	r15d,edx
-	ror	r13d,6
-	mov	ebx,edx
-
-	and	edi,r15d
-	ror	r14d,2
-	add	r12d,r13d
-
-	xor	ebx,edi
-	add	r9d,r12d
-	add	ebx,r12d
-
-	lea	rbp,[4+rbp]
-	add	ebx,r14d
-	mov	r12d,DWORD[60+rsi]
-	mov	r13d,r9d
-	mov	r14d,ebx
-	bswap	r12d
-	ror	r13d,14
-	mov	edi,r10d
-
-	xor	r13d,r9d
-	ror	r14d,9
-	xor	edi,r11d
-
-	mov	DWORD[60+rsp],r12d
-	xor	r14d,ebx
-	and	edi,r9d
-
-	ror	r13d,5
-	add	r12d,eax
-	xor	edi,r11d
-
-	ror	r14d,11
-	xor	r13d,r9d
-	add	r12d,edi
-
-	mov	edi,ebx
-	add	r12d,DWORD[rbp]
-	xor	r14d,ebx
-
-	xor	edi,ecx
-	ror	r13d,6
-	mov	eax,ecx
-
-	and	r15d,edi
-	ror	r14d,2
-	add	r12d,r13d
-
-	xor	eax,r15d
-	add	r8d,r12d
-	add	eax,r12d
-
-	lea	rbp,[20+rbp]
-	jmp	NEAR $L$rounds_16_xx
-ALIGN	16
-$L$rounds_16_xx:
-	mov	r13d,DWORD[4+rsp]
-	mov	r15d,DWORD[56+rsp]
-
-	mov	r12d,r13d
-	ror	r13d,11
-	add	eax,r14d
-	mov	r14d,r15d
-	ror	r15d,2
-
-	xor	r13d,r12d
-	shr	r12d,3
-	ror	r13d,7
-	xor	r15d,r14d
-	shr	r14d,10
-
-	ror	r15d,17
-	xor	r12d,r13d
-	xor	r15d,r14d
-	add	r12d,DWORD[36+rsp]
-
-	add	r12d,DWORD[rsp]
-	mov	r13d,r8d
-	add	r12d,r15d
-	mov	r14d,eax
-	ror	r13d,14
-	mov	r15d,r9d
-
-	xor	r13d,r8d
-	ror	r14d,9
-	xor	r15d,r10d
-
-	mov	DWORD[rsp],r12d
-	xor	r14d,eax
-	and	r15d,r8d
-
-	ror	r13d,5
-	add	r12d,r11d
-	xor	r15d,r10d
-
-	ror	r14d,11
-	xor	r13d,r8d
-	add	r12d,r15d
-
-	mov	r15d,eax
-	add	r12d,DWORD[rbp]
-	xor	r14d,eax
-
-	xor	r15d,ebx
-	ror	r13d,6
-	mov	r11d,ebx
-
-	and	edi,r15d
-	ror	r14d,2
-	add	r12d,r13d
-
-	xor	r11d,edi
-	add	edx,r12d
-	add	r11d,r12d
-
-	lea	rbp,[4+rbp]
-	mov	r13d,DWORD[8+rsp]
-	mov	edi,DWORD[60+rsp]
-
-	mov	r12d,r13d
-	ror	r13d,11
-	add	r11d,r14d
-	mov	r14d,edi
-	ror	edi,2
-
-	xor	r13d,r12d
-	shr	r12d,3
-	ror	r13d,7
-	xor	edi,r14d
-	shr	r14d,10
-
-	ror	edi,17
-	xor	r12d,r13d
-	xor	edi,r14d
-	add	r12d,DWORD[40+rsp]
-
-	add	r12d,DWORD[4+rsp]
-	mov	r13d,edx
-	add	r12d,edi
-	mov	r14d,r11d
-	ror	r13d,14
-	mov	edi,r8d
-
-	xor	r13d,edx
-	ror	r14d,9
-	xor	edi,r9d
-
-	mov	DWORD[4+rsp],r12d
-	xor	r14d,r11d
-	and	edi,edx
-
-	ror	r13d,5
-	add	r12d,r10d
-	xor	edi,r9d
-
-	ror	r14d,11
-	xor	r13d,edx
-	add	r12d,edi
-
-	mov	edi,r11d
-	add	r12d,DWORD[rbp]
-	xor	r14d,r11d
-
-	xor	edi,eax
-	ror	r13d,6
-	mov	r10d,eax
-
-	and	r15d,edi
-	ror	r14d,2
-	add	r12d,r13d
-
-	xor	r10d,r15d
-	add	ecx,r12d
-	add	r10d,r12d
-
-	lea	rbp,[4+rbp]
-	mov	r13d,DWORD[12+rsp]
-	mov	r15d,DWORD[rsp]
-
-	mov	r12d,r13d
-	ror	r13d,11
-	add	r10d,r14d
-	mov	r14d,r15d
-	ror	r15d,2
-
-	xor	r13d,r12d
-	shr	r12d,3
-	ror	r13d,7
-	xor	r15d,r14d
-	shr	r14d,10
-
-	ror	r15d,17
-	xor	r12d,r13d
-	xor	r15d,r14d
-	add	r12d,DWORD[44+rsp]
-
-	add	r12d,DWORD[8+rsp]
-	mov	r13d,ecx
-	add	r12d,r15d
-	mov	r14d,r10d
-	ror	r13d,14
-	mov	r15d,edx
-
-	xor	r13d,ecx
-	ror	r14d,9
-	xor	r15d,r8d
-
-	mov	DWORD[8+rsp],r12d
-	xor	r14d,r10d
-	and	r15d,ecx
-
-	ror	r13d,5
-	add	r12d,r9d
-	xor	r15d,r8d
-
-	ror	r14d,11
-	xor	r13d,ecx
-	add	r12d,r15d
-
-	mov	r15d,r10d
-	add	r12d,DWORD[rbp]
-	xor	r14d,r10d
-
-	xor	r15d,r11d
-	ror	r13d,6
-	mov	r9d,r11d
-
-	and	edi,r15d
-	ror	r14d,2
-	add	r12d,r13d
-
-	xor	r9d,edi
-	add	ebx,r12d
-	add	r9d,r12d
-
-	lea	rbp,[4+rbp]
-	mov	r13d,DWORD[16+rsp]
-	mov	edi,DWORD[4+rsp]
-
-	mov	r12d,r13d
-	ror	r13d,11
-	add	r9d,r14d
-	mov	r14d,edi
-	ror	edi,2
-
-	xor	r13d,r12d
-	shr	r12d,3
-	ror	r13d,7
-	xor	edi,r14d
-	shr	r14d,10
-
-	ror	edi,17
-	xor	r12d,r13d
-	xor	edi,r14d
-	add	r12d,DWORD[48+rsp]
-
-	add	r12d,DWORD[12+rsp]
-	mov	r13d,ebx
-	add	r12d,edi
-	mov	r14d,r9d
-	ror	r13d,14
-	mov	edi,ecx
-
-	xor	r13d,ebx
-	ror	r14d,9
-	xor	edi,edx
-
-	mov	DWORD[12+rsp],r12d
-	xor	r14d,r9d
-	and	edi,ebx
-
-	ror	r13d,5
-	add	r12d,r8d
-	xor	edi,edx
-
-	ror	r14d,11
-	xor	r13d,ebx
-	add	r12d,edi
-
-	mov	edi,r9d
-	add	r12d,DWORD[rbp]
-	xor	r14d,r9d
-
-	xor	edi,r10d
-	ror	r13d,6
-	mov	r8d,r10d
-
-	and	r15d,edi
-	ror	r14d,2
-	add	r12d,r13d
-
-	xor	r8d,r15d
-	add	eax,r12d
-	add	r8d,r12d
-
-	lea	rbp,[20+rbp]
-	mov	r13d,DWORD[20+rsp]
-	mov	r15d,DWORD[8+rsp]
-
-	mov	r12d,r13d
-	ror	r13d,11
-	add	r8d,r14d
-	mov	r14d,r15d
-	ror	r15d,2
-
-	xor	r13d,r12d
-	shr	r12d,3
-	ror	r13d,7
-	xor	r15d,r14d
-	shr	r14d,10
-
-	ror	r15d,17
-	xor	r12d,r13d
-	xor	r15d,r14d
-	add	r12d,DWORD[52+rsp]
-
-	add	r12d,DWORD[16+rsp]
-	mov	r13d,eax
-	add	r12d,r15d
-	mov	r14d,r8d
-	ror	r13d,14
-	mov	r15d,ebx
-
-	xor	r13d,eax
-	ror	r14d,9
-	xor	r15d,ecx
-
-	mov	DWORD[16+rsp],r12d
-	xor	r14d,r8d
-	and	r15d,eax
-
-	ror	r13d,5
-	add	r12d,edx
-	xor	r15d,ecx
-
-	ror	r14d,11
-	xor	r13d,eax
-	add	r12d,r15d
-
-	mov	r15d,r8d
-	add	r12d,DWORD[rbp]
-	xor	r14d,r8d
-
-	xor	r15d,r9d
-	ror	r13d,6
-	mov	edx,r9d
-
-	and	edi,r15d
-	ror	r14d,2
-	add	r12d,r13d
-
-	xor	edx,edi
-	add	r11d,r12d
-	add	edx,r12d
-
-	lea	rbp,[4+rbp]
-	mov	r13d,DWORD[24+rsp]
-	mov	edi,DWORD[12+rsp]
-
-	mov	r12d,r13d
-	ror	r13d,11
-	add	edx,r14d
-	mov	r14d,edi
-	ror	edi,2
-
-	xor	r13d,r12d
-	shr	r12d,3
-	ror	r13d,7
-	xor	edi,r14d
-	shr	r14d,10
-
-	ror	edi,17
-	xor	r12d,r13d
-	xor	edi,r14d
-	add	r12d,DWORD[56+rsp]
-
-	add	r12d,DWORD[20+rsp]
-	mov	r13d,r11d
-	add	r12d,edi
-	mov	r14d,edx
-	ror	r13d,14
-	mov	edi,eax
-
-	xor	r13d,r11d
-	ror	r14d,9
-	xor	edi,ebx
-
-	mov	DWORD[20+rsp],r12d
-	xor	r14d,edx
-	and	edi,r11d
-
-	ror	r13d,5
-	add	r12d,ecx
-	xor	edi,ebx
-
-	ror	r14d,11
-	xor	r13d,r11d
-	add	r12d,edi
-
-	mov	edi,edx
-	add	r12d,DWORD[rbp]
-	xor	r14d,edx
-
-	xor	edi,r8d
-	ror	r13d,6
-	mov	ecx,r8d
-
-	and	r15d,edi
-	ror	r14d,2
-	add	r12d,r13d
-
-	xor	ecx,r15d
-	add	r10d,r12d
-	add	ecx,r12d
-
-	lea	rbp,[4+rbp]
-	mov	r13d,DWORD[28+rsp]
-	mov	r15d,DWORD[16+rsp]
-
-	mov	r12d,r13d
-	ror	r13d,11
-	add	ecx,r14d
-	mov	r14d,r15d
-	ror	r15d,2
-
-	xor	r13d,r12d
-	shr	r12d,3
-	ror	r13d,7
-	xor	r15d,r14d
-	shr	r14d,10
-
-	ror	r15d,17
-	xor	r12d,r13d
-	xor	r15d,r14d
-	add	r12d,DWORD[60+rsp]
-
-	add	r12d,DWORD[24+rsp]
-	mov	r13d,r10d
-	add	r12d,r15d
-	mov	r14d,ecx
-	ror	r13d,14
-	mov	r15d,r11d
-
-	xor	r13d,r10d
-	ror	r14d,9
-	xor	r15d,eax
-
-	mov	DWORD[24+rsp],r12d
-	xor	r14d,ecx
-	and	r15d,r10d
-
-	ror	r13d,5
-	add	r12d,ebx
-	xor	r15d,eax
-
-	ror	r14d,11
-	xor	r13d,r10d
-	add	r12d,r15d
-
-	mov	r15d,ecx
-	add	r12d,DWORD[rbp]
-	xor	r14d,ecx
-
-	xor	r15d,edx
-	ror	r13d,6
-	mov	ebx,edx
-
-	and	edi,r15d
-	ror	r14d,2
-	add	r12d,r13d
-
-	xor	ebx,edi
-	add	r9d,r12d
-	add	ebx,r12d
-
-	lea	rbp,[4+rbp]
-	mov	r13d,DWORD[32+rsp]
-	mov	edi,DWORD[20+rsp]
-
-	mov	r12d,r13d
-	ror	r13d,11
-	add	ebx,r14d
-	mov	r14d,edi
-	ror	edi,2
-
-	xor	r13d,r12d
-	shr	r12d,3
-	ror	r13d,7
-	xor	edi,r14d
-	shr	r14d,10
-
-	ror	edi,17
-	xor	r12d,r13d
-	xor	edi,r14d
-	add	r12d,DWORD[rsp]
-
-	add	r12d,DWORD[28+rsp]
-	mov	r13d,r9d
-	add	r12d,edi
-	mov	r14d,ebx
-	ror	r13d,14
-	mov	edi,r10d
-
-	xor	r13d,r9d
-	ror	r14d,9
-	xor	edi,r11d
-
-	mov	DWORD[28+rsp],r12d
-	xor	r14d,ebx
-	and	edi,r9d
-
-	ror	r13d,5
-	add	r12d,eax
-	xor	edi,r11d
-
-	ror	r14d,11
-	xor	r13d,r9d
-	add	r12d,edi
-
-	mov	edi,ebx
-	add	r12d,DWORD[rbp]
-	xor	r14d,ebx
-
-	xor	edi,ecx
-	ror	r13d,6
-	mov	eax,ecx
-
-	and	r15d,edi
-	ror	r14d,2
-	add	r12d,r13d
-
-	xor	eax,r15d
-	add	r8d,r12d
-	add	eax,r12d
-
-	lea	rbp,[20+rbp]
-	mov	r13d,DWORD[36+rsp]
-	mov	r15d,DWORD[24+rsp]
-
-	mov	r12d,r13d
-	ror	r13d,11
-	add	eax,r14d
-	mov	r14d,r15d
-	ror	r15d,2
-
-	xor	r13d,r12d
-	shr	r12d,3
-	ror	r13d,7
-	xor	r15d,r14d
-	shr	r14d,10
-
-	ror	r15d,17
-	xor	r12d,r13d
-	xor	r15d,r14d
-	add	r12d,DWORD[4+rsp]
-
-	add	r12d,DWORD[32+rsp]
-	mov	r13d,r8d
-	add	r12d,r15d
-	mov	r14d,eax
-	ror	r13d,14
-	mov	r15d,r9d
-
-	xor	r13d,r8d
-	ror	r14d,9
-	xor	r15d,r10d
-
-	mov	DWORD[32+rsp],r12d
-	xor	r14d,eax
-	and	r15d,r8d
-
-	ror	r13d,5
-	add	r12d,r11d
-	xor	r15d,r10d
-
-	ror	r14d,11
-	xor	r13d,r8d
-	add	r12d,r15d
-
-	mov	r15d,eax
-	add	r12d,DWORD[rbp]
-	xor	r14d,eax
-
-	xor	r15d,ebx
-	ror	r13d,6
-	mov	r11d,ebx
-
-	and	edi,r15d
-	ror	r14d,2
-	add	r12d,r13d
-
-	xor	r11d,edi
-	add	edx,r12d
-	add	r11d,r12d
-
-	lea	rbp,[4+rbp]
-	mov	r13d,DWORD[40+rsp]
-	mov	edi,DWORD[28+rsp]
-
-	mov	r12d,r13d
-	ror	r13d,11
-	add	r11d,r14d
-	mov	r14d,edi
-	ror	edi,2
-
-	xor	r13d,r12d
-	shr	r12d,3
-	ror	r13d,7
-	xor	edi,r14d
-	shr	r14d,10
-
-	ror	edi,17
-	xor	r12d,r13d
-	xor	edi,r14d
-	add	r12d,DWORD[8+rsp]
-
-	add	r12d,DWORD[36+rsp]
-	mov	r13d,edx
-	add	r12d,edi
-	mov	r14d,r11d
-	ror	r13d,14
-	mov	edi,r8d
-
-	xor	r13d,edx
-	ror	r14d,9
-	xor	edi,r9d
-
-	mov	DWORD[36+rsp],r12d
-	xor	r14d,r11d
-	and	edi,edx
-
-	ror	r13d,5
-	add	r12d,r10d
-	xor	edi,r9d
-
-	ror	r14d,11
-	xor	r13d,edx
-	add	r12d,edi
-
-	mov	edi,r11d
-	add	r12d,DWORD[rbp]
-	xor	r14d,r11d
-
-	xor	edi,eax
-	ror	r13d,6
-	mov	r10d,eax
-
-	and	r15d,edi
-	ror	r14d,2
-	add	r12d,r13d
-
-	xor	r10d,r15d
-	add	ecx,r12d
-	add	r10d,r12d
-
-	lea	rbp,[4+rbp]
-	mov	r13d,DWORD[44+rsp]
-	mov	r15d,DWORD[32+rsp]
-
-	mov	r12d,r13d
-	ror	r13d,11
-	add	r10d,r14d
-	mov	r14d,r15d
-	ror	r15d,2
-
-	xor	r13d,r12d
-	shr	r12d,3
-	ror	r13d,7
-	xor	r15d,r14d
-	shr	r14d,10
-
-	ror	r15d,17
-	xor	r12d,r13d
-	xor	r15d,r14d
-	add	r12d,DWORD[12+rsp]
-
-	add	r12d,DWORD[40+rsp]
-	mov	r13d,ecx
-	add	r12d,r15d
-	mov	r14d,r10d
-	ror	r13d,14
-	mov	r15d,edx
-
-	xor	r13d,ecx
-	ror	r14d,9
-	xor	r15d,r8d
-
-	mov	DWORD[40+rsp],r12d
-	xor	r14d,r10d
-	and	r15d,ecx
-
-	ror	r13d,5
-	add	r12d,r9d
-	xor	r15d,r8d
-
-	ror	r14d,11
-	xor	r13d,ecx
-	add	r12d,r15d
-
-	mov	r15d,r10d
-	add	r12d,DWORD[rbp]
-	xor	r14d,r10d
-
-	xor	r15d,r11d
-	ror	r13d,6
-	mov	r9d,r11d
-
-	and	edi,r15d
-	ror	r14d,2
-	add	r12d,r13d
-
-	xor	r9d,edi
-	add	ebx,r12d
-	add	r9d,r12d
-
-	lea	rbp,[4+rbp]
-	mov	r13d,DWORD[48+rsp]
-	mov	edi,DWORD[36+rsp]
-
-	mov	r12d,r13d
-	ror	r13d,11
-	add	r9d,r14d
-	mov	r14d,edi
-	ror	edi,2
-
-	xor	r13d,r12d
-	shr	r12d,3
-	ror	r13d,7
-	xor	edi,r14d
-	shr	r14d,10
-
-	ror	edi,17
-	xor	r12d,r13d
-	xor	edi,r14d
-	add	r12d,DWORD[16+rsp]
-
-	add	r12d,DWORD[44+rsp]
-	mov	r13d,ebx
-	add	r12d,edi
-	mov	r14d,r9d
-	ror	r13d,14
-	mov	edi,ecx
-
-	xor	r13d,ebx
-	ror	r14d,9
-	xor	edi,edx
-
-	mov	DWORD[44+rsp],r12d
-	xor	r14d,r9d
-	and	edi,ebx
-
-	ror	r13d,5
-	add	r12d,r8d
-	xor	edi,edx
-
-	ror	r14d,11
-	xor	r13d,ebx
-	add	r12d,edi
-
-	mov	edi,r9d
-	add	r12d,DWORD[rbp]
-	xor	r14d,r9d
-
-	xor	edi,r10d
-	ror	r13d,6
-	mov	r8d,r10d
-
-	and	r15d,edi
-	ror	r14d,2
-	add	r12d,r13d
-
-	xor	r8d,r15d
-	add	eax,r12d
-	add	r8d,r12d
-
-	lea	rbp,[20+rbp]
-	mov	r13d,DWORD[52+rsp]
-	mov	r15d,DWORD[40+rsp]
-
-	mov	r12d,r13d
-	ror	r13d,11
-	add	r8d,r14d
-	mov	r14d,r15d
-	ror	r15d,2
-
-	xor	r13d,r12d
-	shr	r12d,3
-	ror	r13d,7
-	xor	r15d,r14d
-	shr	r14d,10
-
-	ror	r15d,17
-	xor	r12d,r13d
-	xor	r15d,r14d
-	add	r12d,DWORD[20+rsp]
-
-	add	r12d,DWORD[48+rsp]
-	mov	r13d,eax
-	add	r12d,r15d
-	mov	r14d,r8d
-	ror	r13d,14
-	mov	r15d,ebx
-
-	xor	r13d,eax
-	ror	r14d,9
-	xor	r15d,ecx
-
-	mov	DWORD[48+rsp],r12d
-	xor	r14d,r8d
-	and	r15d,eax
-
-	ror	r13d,5
-	add	r12d,edx
-	xor	r15d,ecx
-
-	ror	r14d,11
-	xor	r13d,eax
-	add	r12d,r15d
-
-	mov	r15d,r8d
-	add	r12d,DWORD[rbp]
-	xor	r14d,r8d
-
-	xor	r15d,r9d
-	ror	r13d,6
-	mov	edx,r9d
-
-	and	edi,r15d
-	ror	r14d,2
-	add	r12d,r13d
-
-	xor	edx,edi
-	add	r11d,r12d
-	add	edx,r12d
-
-	lea	rbp,[4+rbp]
-	mov	r13d,DWORD[56+rsp]
-	mov	edi,DWORD[44+rsp]
-
-	mov	r12d,r13d
-	ror	r13d,11
-	add	edx,r14d
-	mov	r14d,edi
-	ror	edi,2
-
-	xor	r13d,r12d
-	shr	r12d,3
-	ror	r13d,7
-	xor	edi,r14d
-	shr	r14d,10
-
-	ror	edi,17
-	xor	r12d,r13d
-	xor	edi,r14d
-	add	r12d,DWORD[24+rsp]
-
-	add	r12d,DWORD[52+rsp]
-	mov	r13d,r11d
-	add	r12d,edi
-	mov	r14d,edx
-	ror	r13d,14
-	mov	edi,eax
-
-	xor	r13d,r11d
-	ror	r14d,9
-	xor	edi,ebx
-
-	mov	DWORD[52+rsp],r12d
-	xor	r14d,edx
-	and	edi,r11d
-
-	ror	r13d,5
-	add	r12d,ecx
-	xor	edi,ebx
-
-	ror	r14d,11
-	xor	r13d,r11d
-	add	r12d,edi
-
-	mov	edi,edx
-	add	r12d,DWORD[rbp]
-	xor	r14d,edx
-
-	xor	edi,r8d
-	ror	r13d,6
-	mov	ecx,r8d
-
-	and	r15d,edi
-	ror	r14d,2
-	add	r12d,r13d
-
-	xor	ecx,r15d
-	add	r10d,r12d
-	add	ecx,r12d
-
-	lea	rbp,[4+rbp]
-	mov	r13d,DWORD[60+rsp]
-	mov	r15d,DWORD[48+rsp]
-
-	mov	r12d,r13d
-	ror	r13d,11
-	add	ecx,r14d
-	mov	r14d,r15d
-	ror	r15d,2
-
-	xor	r13d,r12d
-	shr	r12d,3
-	ror	r13d,7
-	xor	r15d,r14d
-	shr	r14d,10
-
-	ror	r15d,17
-	xor	r12d,r13d
-	xor	r15d,r14d
-	add	r12d,DWORD[28+rsp]
-
-	add	r12d,DWORD[56+rsp]
-	mov	r13d,r10d
-	add	r12d,r15d
-	mov	r14d,ecx
-	ror	r13d,14
-	mov	r15d,r11d
-
-	xor	r13d,r10d
-	ror	r14d,9
-	xor	r15d,eax
-
-	mov	DWORD[56+rsp],r12d
-	xor	r14d,ecx
-	and	r15d,r10d
-
-	ror	r13d,5
-	add	r12d,ebx
-	xor	r15d,eax
-
-	ror	r14d,11
-	xor	r13d,r10d
-	add	r12d,r15d
-
-	mov	r15d,ecx
-	add	r12d,DWORD[rbp]
-	xor	r14d,ecx
-
-	xor	r15d,edx
-	ror	r13d,6
-	mov	ebx,edx
-
-	and	edi,r15d
-	ror	r14d,2
-	add	r12d,r13d
-
-	xor	ebx,edi
-	add	r9d,r12d
-	add	ebx,r12d
-
-	lea	rbp,[4+rbp]
-	mov	r13d,DWORD[rsp]
-	mov	edi,DWORD[52+rsp]
-
-	mov	r12d,r13d
-	ror	r13d,11
-	add	ebx,r14d
-	mov	r14d,edi
-	ror	edi,2
-
-	xor	r13d,r12d
-	shr	r12d,3
-	ror	r13d,7
-	xor	edi,r14d
-	shr	r14d,10
-
-	ror	edi,17
-	xor	r12d,r13d
-	xor	edi,r14d
-	add	r12d,DWORD[32+rsp]
-
-	add	r12d,DWORD[60+rsp]
-	mov	r13d,r9d
-	add	r12d,edi
-	mov	r14d,ebx
-	ror	r13d,14
-	mov	edi,r10d
-
-	xor	r13d,r9d
-	ror	r14d,9
-	xor	edi,r11d
-
-	mov	DWORD[60+rsp],r12d
-	xor	r14d,ebx
-	and	edi,r9d
-
-	ror	r13d,5
-	add	r12d,eax
-	xor	edi,r11d
-
-	ror	r14d,11
-	xor	r13d,r9d
-	add	r12d,edi
-
-	mov	edi,ebx
-	add	r12d,DWORD[rbp]
-	xor	r14d,ebx
-
-	xor	edi,ecx
-	ror	r13d,6
-	mov	eax,ecx
-
-	and	r15d,edi
-	ror	r14d,2
-	add	r12d,r13d
-
-	xor	eax,r15d
-	add	r8d,r12d
-	add	eax,r12d
-
-	lea	rbp,[20+rbp]
-	cmp	BYTE[3+rbp],0
-	jnz	NEAR $L$rounds_16_xx
-
-	mov	rdi,QWORD[((64+0))+rsp]
-	add	eax,r14d
-	lea	rsi,[64+rsi]
-
-	add	eax,DWORD[rdi]
-	add	ebx,DWORD[4+rdi]
-	add	ecx,DWORD[8+rdi]
-	add	edx,DWORD[12+rdi]
-	add	r8d,DWORD[16+rdi]
-	add	r9d,DWORD[20+rdi]
-	add	r10d,DWORD[24+rdi]
-	add	r11d,DWORD[28+rdi]
-
-	cmp	rsi,QWORD[((64+16))+rsp]
-
-	mov	DWORD[rdi],eax
-	mov	DWORD[4+rdi],ebx
-	mov	DWORD[8+rdi],ecx
-	mov	DWORD[12+rdi],edx
-	mov	DWORD[16+rdi],r8d
-	mov	DWORD[20+rdi],r9d
-	mov	DWORD[24+rdi],r10d
-	mov	DWORD[28+rdi],r11d
-	jb	NEAR $L$loop
-
-	mov	rsi,QWORD[((64+24))+rsp]
-	mov	r15,QWORD[((-48))+rsi]
-	mov	r14,QWORD[((-40))+rsi]
-	mov	r13,QWORD[((-32))+rsi]
-	mov	r12,QWORD[((-24))+rsi]
-	mov	rbp,QWORD[((-16))+rsi]
-	mov	rbx,QWORD[((-8))+rsi]
-	lea	rsp,[rsi]
-$L$epilogue:
-	mov	rdi,QWORD[8+rsp]	;WIN64 epilogue
-	mov	rsi,QWORD[16+rsp]
-	DB	0F3h,0C3h		;repret
-$L$SEH_end_sha256_block_data_order:
-ALIGN	64
-
-K256:
-	DD	0x428a2f98,0x71374491,0xb5c0fbcf,0xe9b5dba5
-	DD	0x428a2f98,0x71374491,0xb5c0fbcf,0xe9b5dba5
-	DD	0x3956c25b,0x59f111f1,0x923f82a4,0xab1c5ed5
-	DD	0x3956c25b,0x59f111f1,0x923f82a4,0xab1c5ed5
-	DD	0xd807aa98,0x12835b01,0x243185be,0x550c7dc3
-	DD	0xd807aa98,0x12835b01,0x243185be,0x550c7dc3
-	DD	0x72be5d74,0x80deb1fe,0x9bdc06a7,0xc19bf174
-	DD	0x72be5d74,0x80deb1fe,0x9bdc06a7,0xc19bf174
-	DD	0xe49b69c1,0xefbe4786,0x0fc19dc6,0x240ca1cc
-	DD	0xe49b69c1,0xefbe4786,0x0fc19dc6,0x240ca1cc
-	DD	0x2de92c6f,0x4a7484aa,0x5cb0a9dc,0x76f988da
-	DD	0x2de92c6f,0x4a7484aa,0x5cb0a9dc,0x76f988da
-	DD	0x983e5152,0xa831c66d,0xb00327c8,0xbf597fc7
-	DD	0x983e5152,0xa831c66d,0xb00327c8,0xbf597fc7
-	DD	0xc6e00bf3,0xd5a79147,0x06ca6351,0x14292967
-	DD	0xc6e00bf3,0xd5a79147,0x06ca6351,0x14292967
-	DD	0x27b70a85,0x2e1b2138,0x4d2c6dfc,0x53380d13
-	DD	0x27b70a85,0x2e1b2138,0x4d2c6dfc,0x53380d13
-	DD	0x650a7354,0x766a0abb,0x81c2c92e,0x92722c85
-	DD	0x650a7354,0x766a0abb,0x81c2c92e,0x92722c85
-	DD	0xa2bfe8a1,0xa81a664b,0xc24b8b70,0xc76c51a3
-	DD	0xa2bfe8a1,0xa81a664b,0xc24b8b70,0xc76c51a3
-	DD	0xd192e819,0xd6990624,0xf40e3585,0x106aa070
-	DD	0xd192e819,0xd6990624,0xf40e3585,0x106aa070
-	DD	0x19a4c116,0x1e376c08,0x2748774c,0x34b0bcb5
-	DD	0x19a4c116,0x1e376c08,0x2748774c,0x34b0bcb5
-	DD	0x391c0cb3,0x4ed8aa4a,0x5b9cca4f,0x682e6ff3
-	DD	0x391c0cb3,0x4ed8aa4a,0x5b9cca4f,0x682e6ff3
-	DD	0x748f82ee,0x78a5636f,0x84c87814,0x8cc70208
-	DD	0x748f82ee,0x78a5636f,0x84c87814,0x8cc70208
-	DD	0x90befffa,0xa4506ceb,0xbef9a3f7,0xc67178f2
-	DD	0x90befffa,0xa4506ceb,0xbef9a3f7,0xc67178f2
-
-	DD	0x00010203,0x04050607,0x08090a0b,0x0c0d0e0f
-	DD	0x00010203,0x04050607,0x08090a0b,0x0c0d0e0f
-	DD	0x03020100,0x0b0a0908,0xffffffff,0xffffffff
-	DD	0x03020100,0x0b0a0908,0xffffffff,0xffffffff
-	DD	0xffffffff,0xffffffff,0x03020100,0x0b0a0908
-	DD	0xffffffff,0xffffffff,0x03020100,0x0b0a0908
-DB	83,72,65,50,53,54,32,98,108,111,99,107,32,116,114,97
-DB	110,115,102,111,114,109,32,102,111,114,32,120,56,54,95,54
-DB	52,44,32,67,82,89,80,84,79,71,65,77,83,32,98,121
-DB	32,60,97,112,112,114,111,64,111,112,101,110,115,115,108,46
-DB	111,114,103,62,0
-
-ALIGN	64
-sha256_block_data_order_ssse3:
-	mov	QWORD[8+rsp],rdi	;WIN64 prologue
-	mov	QWORD[16+rsp],rsi
-	mov	rax,rsp
-$L$SEH_begin_sha256_block_data_order_ssse3:
-	mov	rdi,rcx
-	mov	rsi,rdx
-	mov	rdx,r8
-
-
-$L$ssse3_shortcut:
-	mov	rax,rsp
-	push	rbx
-	push	rbp
-	push	r12
-	push	r13
-	push	r14
-	push	r15
-	shl	rdx,4
-	sub	rsp,160
-	lea	rdx,[rdx*4+rsi]
-	and	rsp,-64
-	mov	QWORD[((64+0))+rsp],rdi
-	mov	QWORD[((64+8))+rsp],rsi
-	mov	QWORD[((64+16))+rsp],rdx
-	mov	QWORD[((64+24))+rsp],rax
-	movaps	XMMWORD[(64+32)+rsp],xmm6
-	movaps	XMMWORD[(64+48)+rsp],xmm7
-	movaps	XMMWORD[(64+64)+rsp],xmm8
-	movaps	XMMWORD[(64+80)+rsp],xmm9
-$L$prologue_ssse3:
-
-	mov	eax,DWORD[rdi]
-	mov	ebx,DWORD[4+rdi]
-	mov	ecx,DWORD[8+rdi]
-	mov	edx,DWORD[12+rdi]
-	mov	r8d,DWORD[16+rdi]
-	mov	r9d,DWORD[20+rdi]
-	mov	r10d,DWORD[24+rdi]
-	mov	r11d,DWORD[28+rdi]
-
-
-	jmp	NEAR $L$loop_ssse3
-ALIGN	16
-$L$loop_ssse3:
-	movdqa	xmm7,XMMWORD[((K256+512))]
-	movdqu	xmm0,XMMWORD[rsi]
-	movdqu	xmm1,XMMWORD[16+rsi]
-	movdqu	xmm2,XMMWORD[32+rsi]
-DB	102,15,56,0,199
-	movdqu	xmm3,XMMWORD[48+rsi]
-	lea	rbp,[K256]
-DB	102,15,56,0,207
-	movdqa	xmm4,XMMWORD[rbp]
-	movdqa	xmm5,XMMWORD[32+rbp]
-DB	102,15,56,0,215
-	paddd	xmm4,xmm0
-	movdqa	xmm6,XMMWORD[64+rbp]
-DB	102,15,56,0,223
-	movdqa	xmm7,XMMWORD[96+rbp]
-	paddd	xmm5,xmm1
-	paddd	xmm6,xmm2
-	paddd	xmm7,xmm3
-	movdqa	XMMWORD[rsp],xmm4
-	mov	r14d,eax
-	movdqa	XMMWORD[16+rsp],xmm5
-	mov	edi,ebx
-	movdqa	XMMWORD[32+rsp],xmm6
-	xor	edi,ecx
-	movdqa	XMMWORD[48+rsp],xmm7
-	mov	r13d,r8d
-	jmp	NEAR $L$ssse3_00_47
-
-ALIGN	16
-$L$ssse3_00_47:
-	sub	rbp,-128
-	ror	r13d,14
-	movdqa	xmm4,xmm1
-	mov	eax,r14d
-	mov	r12d,r9d
-	movdqa	xmm7,xmm3
-	ror	r14d,9
-	xor	r13d,r8d
-	xor	r12d,r10d
-	ror	r13d,5
-	xor	r14d,eax
-DB	102,15,58,15,224,4
-	and	r12d,r8d
-	xor	r13d,r8d
-DB	102,15,58,15,250,4
-	add	r11d,DWORD[rsp]
-	mov	r15d,eax
-	xor	r12d,r10d
-	ror	r14d,11
-	movdqa	xmm5,xmm4
-	xor	r15d,ebx
-	add	r11d,r12d
-	movdqa	xmm6,xmm4
-	ror	r13d,6
-	and	edi,r15d
-	psrld	xmm4,3
-	xor	r14d,eax
-	add	r11d,r13d
-	xor	edi,ebx
-	paddd	xmm0,xmm7
-	ror	r14d,2
-	add	edx,r11d
-	psrld	xmm6,7
-	add	r11d,edi
-	mov	r13d,edx
-	pshufd	xmm7,xmm3,250
-	add	r14d,r11d
-	ror	r13d,14
-	pslld	xmm5,14
-	mov	r11d,r14d
-	mov	r12d,r8d
-	pxor	xmm4,xmm6
-	ror	r14d,9
-	xor	r13d,edx
-	xor	r12d,r9d
-	ror	r13d,5
-	psrld	xmm6,11
-	xor	r14d,r11d
-	pxor	xmm4,xmm5
-	and	r12d,edx
-	xor	r13d,edx
-	pslld	xmm5,11
-	add	r10d,DWORD[4+rsp]
-	mov	edi,r11d
-	pxor	xmm4,xmm6
-	xor	r12d,r9d
-	ror	r14d,11
-	movdqa	xmm6,xmm7
-	xor	edi,eax
-	add	r10d,r12d
-	pxor	xmm4,xmm5
-	ror	r13d,6
-	and	r15d,edi
-	xor	r14d,r11d
-	psrld	xmm7,10
-	add	r10d,r13d
-	xor	r15d,eax
-	paddd	xmm0,xmm4
-	ror	r14d,2
-	add	ecx,r10d
-	psrlq	xmm6,17
-	add	r10d,r15d
-	mov	r13d,ecx
-	add	r14d,r10d
-	pxor	xmm7,xmm6
-	ror	r13d,14
-	mov	r10d,r14d
-	mov	r12d,edx
-	ror	r14d,9
-	psrlq	xmm6,2
-	xor	r13d,ecx
-	xor	r12d,r8d
-	pxor	xmm7,xmm6
-	ror	r13d,5
-	xor	r14d,r10d
-	and	r12d,ecx
-	pshufd	xmm7,xmm7,128
-	xor	r13d,ecx
-	add	r9d,DWORD[8+rsp]
-	mov	r15d,r10d
-	psrldq	xmm7,8
-	xor	r12d,r8d
-	ror	r14d,11
-	xor	r15d,r11d
-	add	r9d,r12d
-	ror	r13d,6
-	paddd	xmm0,xmm7
-	and	edi,r15d
-	xor	r14d,r10d
-	add	r9d,r13d
-	pshufd	xmm7,xmm0,80
-	xor	edi,r11d
-	ror	r14d,2
-	add	ebx,r9d
-	movdqa	xmm6,xmm7
-	add	r9d,edi
-	mov	r13d,ebx
-	psrld	xmm7,10
-	add	r14d,r9d
-	ror	r13d,14
-	psrlq	xmm6,17
-	mov	r9d,r14d
-	mov	r12d,ecx
-	pxor	xmm7,xmm6
-	ror	r14d,9
-	xor	r13d,ebx
-	xor	r12d,edx
-	ror	r13d,5
-	xor	r14d,r9d
-	psrlq	xmm6,2
-	and	r12d,ebx
-	xor	r13d,ebx
-	add	r8d,DWORD[12+rsp]
-	pxor	xmm7,xmm6
-	mov	edi,r9d
-	xor	r12d,edx
-	ror	r14d,11
-	pshufd	xmm7,xmm7,8
-	xor	edi,r10d
-	add	r8d,r12d
-	movdqa	xmm6,XMMWORD[rbp]
-	ror	r13d,6
-	and	r15d,edi
-	pslldq	xmm7,8
-	xor	r14d,r9d
-	add	r8d,r13d
-	xor	r15d,r10d
-	paddd	xmm0,xmm7
-	ror	r14d,2
-	add	eax,r8d
-	add	r8d,r15d
-	paddd	xmm6,xmm0
-	mov	r13d,eax
-	add	r14d,r8d
-	movdqa	XMMWORD[rsp],xmm6
-	ror	r13d,14
-	movdqa	xmm4,xmm2
-	mov	r8d,r14d
-	mov	r12d,ebx
-	movdqa	xmm7,xmm0
-	ror	r14d,9
-	xor	r13d,eax
-	xor	r12d,ecx
-	ror	r13d,5
-	xor	r14d,r8d
-DB	102,15,58,15,225,4
-	and	r12d,eax
-	xor	r13d,eax
-DB	102,15,58,15,251,4
-	add	edx,DWORD[16+rsp]
-	mov	r15d,r8d
-	xor	r12d,ecx
-	ror	r14d,11
-	movdqa	xmm5,xmm4
-	xor	r15d,r9d
-	add	edx,r12d
-	movdqa	xmm6,xmm4
-	ror	r13d,6
-	and	edi,r15d
-	psrld	xmm4,3
-	xor	r14d,r8d
-	add	edx,r13d
-	xor	edi,r9d
-	paddd	xmm1,xmm7
-	ror	r14d,2
-	add	r11d,edx
-	psrld	xmm6,7
-	add	edx,edi
-	mov	r13d,r11d
-	pshufd	xmm7,xmm0,250
-	add	r14d,edx
-	ror	r13d,14
-	pslld	xmm5,14
-	mov	edx,r14d
-	mov	r12d,eax
-	pxor	xmm4,xmm6
-	ror	r14d,9
-	xor	r13d,r11d
-	xor	r12d,ebx
-	ror	r13d,5
-	psrld	xmm6,11
-	xor	r14d,edx
-	pxor	xmm4,xmm5
-	and	r12d,r11d
-	xor	r13d,r11d
-	pslld	xmm5,11
-	add	ecx,DWORD[20+rsp]
-	mov	edi,edx
-	pxor	xmm4,xmm6
-	xor	r12d,ebx
-	ror	r14d,11
-	movdqa	xmm6,xmm7
-	xor	edi,r8d
-	add	ecx,r12d
-	pxor	xmm4,xmm5
-	ror	r13d,6
-	and	r15d,edi
-	xor	r14d,edx
-	psrld	xmm7,10
-	add	ecx,r13d
-	xor	r15d,r8d
-	paddd	xmm1,xmm4
-	ror	r14d,2
-	add	r10d,ecx
-	psrlq	xmm6,17
-	add	ecx,r15d
-	mov	r13d,r10d
-	add	r14d,ecx
-	pxor	xmm7,xmm6
-	ror	r13d,14
-	mov	ecx,r14d
-	mov	r12d,r11d
-	ror	r14d,9
-	psrlq	xmm6,2
-	xor	r13d,r10d
-	xor	r12d,eax
-	pxor	xmm7,xmm6
-	ror	r13d,5
-	xor	r14d,ecx
-	and	r12d,r10d
-	pshufd	xmm7,xmm7,128
-	xor	r13d,r10d
-	add	ebx,DWORD[24+rsp]
-	mov	r15d,ecx
-	psrldq	xmm7,8
-	xor	r12d,eax
-	ror	r14d,11
-	xor	r15d,edx
-	add	ebx,r12d
-	ror	r13d,6
-	paddd	xmm1,xmm7
-	and	edi,r15d
-	xor	r14d,ecx
-	add	ebx,r13d
-	pshufd	xmm7,xmm1,80
-	xor	edi,edx
-	ror	r14d,2
-	add	r9d,ebx
-	movdqa	xmm6,xmm7
-	add	ebx,edi
-	mov	r13d,r9d
-	psrld	xmm7,10
-	add	r14d,ebx
-	ror	r13d,14
-	psrlq	xmm6,17
-	mov	ebx,r14d
-	mov	r12d,r10d
-	pxor	xmm7,xmm6
-	ror	r14d,9
-	xor	r13d,r9d
-	xor	r12d,r11d
-	ror	r13d,5
-	xor	r14d,ebx
-	psrlq	xmm6,2
-	and	r12d,r9d
-	xor	r13d,r9d
-	add	eax,DWORD[28+rsp]
-	pxor	xmm7,xmm6
-	mov	edi,ebx
-	xor	r12d,r11d
-	ror	r14d,11
-	pshufd	xmm7,xmm7,8
-	xor	edi,ecx
-	add	eax,r12d
-	movdqa	xmm6,XMMWORD[32+rbp]
-	ror	r13d,6
-	and	r15d,edi
-	pslldq	xmm7,8
-	xor	r14d,ebx
-	add	eax,r13d
-	xor	r15d,ecx
-	paddd	xmm1,xmm7
-	ror	r14d,2
-	add	r8d,eax
-	add	eax,r15d
-	paddd	xmm6,xmm1
-	mov	r13d,r8d
-	add	r14d,eax
-	movdqa	XMMWORD[16+rsp],xmm6
-	ror	r13d,14
-	movdqa	xmm4,xmm3
-	mov	eax,r14d
-	mov	r12d,r9d
-	movdqa	xmm7,xmm1
-	ror	r14d,9
-	xor	r13d,r8d
-	xor	r12d,r10d
-	ror	r13d,5
-	xor	r14d,eax
-DB	102,15,58,15,226,4
-	and	r12d,r8d
-	xor	r13d,r8d
-DB	102,15,58,15,248,4
-	add	r11d,DWORD[32+rsp]
-	mov	r15d,eax
-	xor	r12d,r10d
-	ror	r14d,11
-	movdqa	xmm5,xmm4
-	xor	r15d,ebx
-	add	r11d,r12d
-	movdqa	xmm6,xmm4
-	ror	r13d,6
-	and	edi,r15d
-	psrld	xmm4,3
-	xor	r14d,eax
-	add	r11d,r13d
-	xor	edi,ebx
-	paddd	xmm2,xmm7
-	ror	r14d,2
-	add	edx,r11d
-	psrld	xmm6,7
-	add	r11d,edi
-	mov	r13d,edx
-	pshufd	xmm7,xmm1,250
-	add	r14d,r11d
-	ror	r13d,14
-	pslld	xmm5,14
-	mov	r11d,r14d
-	mov	r12d,r8d
-	pxor	xmm4,xmm6
-	ror	r14d,9
-	xor	r13d,edx
-	xor	r12d,r9d
-	ror	r13d,5
-	psrld	xmm6,11
-	xor	r14d,r11d
-	pxor	xmm4,xmm5
-	and	r12d,edx
-	xor	r13d,edx
-	pslld	xmm5,11
-	add	r10d,DWORD[36+rsp]
-	mov	edi,r11d
-	pxor	xmm4,xmm6
-	xor	r12d,r9d
-	ror	r14d,11
-	movdqa	xmm6,xmm7
-	xor	edi,eax
-	add	r10d,r12d
-	pxor	xmm4,xmm5
-	ror	r13d,6
-	and	r15d,edi
-	xor	r14d,r11d
-	psrld	xmm7,10
-	add	r10d,r13d
-	xor	r15d,eax
-	paddd	xmm2,xmm4
-	ror	r14d,2
-	add	ecx,r10d
-	psrlq	xmm6,17
-	add	r10d,r15d
-	mov	r13d,ecx
-	add	r14d,r10d
-	pxor	xmm7,xmm6
-	ror	r13d,14
-	mov	r10d,r14d
-	mov	r12d,edx
-	ror	r14d,9
-	psrlq	xmm6,2
-	xor	r13d,ecx
-	xor	r12d,r8d
-	pxor	xmm7,xmm6
-	ror	r13d,5
-	xor	r14d,r10d
-	and	r12d,ecx
-	pshufd	xmm7,xmm7,128
-	xor	r13d,ecx
-	add	r9d,DWORD[40+rsp]
-	mov	r15d,r10d
-	psrldq	xmm7,8
-	xor	r12d,r8d
-	ror	r14d,11
-	xor	r15d,r11d
-	add	r9d,r12d
-	ror	r13d,6
-	paddd	xmm2,xmm7
-	and	edi,r15d
-	xor	r14d,r10d
-	add	r9d,r13d
-	pshufd	xmm7,xmm2,80
-	xor	edi,r11d
-	ror	r14d,2
-	add	ebx,r9d
-	movdqa	xmm6,xmm7
-	add	r9d,edi
-	mov	r13d,ebx
-	psrld	xmm7,10
-	add	r14d,r9d
-	ror	r13d,14
-	psrlq	xmm6,17
-	mov	r9d,r14d
-	mov	r12d,ecx
-	pxor	xmm7,xmm6
-	ror	r14d,9
-	xor	r13d,ebx
-	xor	r12d,edx
-	ror	r13d,5
-	xor	r14d,r9d
-	psrlq	xmm6,2
-	and	r12d,ebx
-	xor	r13d,ebx
-	add	r8d,DWORD[44+rsp]
-	pxor	xmm7,xmm6
-	mov	edi,r9d
-	xor	r12d,edx
-	ror	r14d,11
-	pshufd	xmm7,xmm7,8
-	xor	edi,r10d
-	add	r8d,r12d
-	movdqa	xmm6,XMMWORD[64+rbp]
-	ror	r13d,6
-	and	r15d,edi
-	pslldq	xmm7,8
-	xor	r14d,r9d
-	add	r8d,r13d
-	xor	r15d,r10d
-	paddd	xmm2,xmm7
-	ror	r14d,2
-	add	eax,r8d
-	add	r8d,r15d
-	paddd	xmm6,xmm2
-	mov	r13d,eax
-	add	r14d,r8d
-	movdqa	XMMWORD[32+rsp],xmm6
-	ror	r13d,14
-	movdqa	xmm4,xmm0
-	mov	r8d,r14d
-	mov	r12d,ebx
-	movdqa	xmm7,xmm2
-	ror	r14d,9
-	xor	r13d,eax
-	xor	r12d,ecx
-	ror	r13d,5
-	xor	r14d,r8d
-DB	102,15,58,15,227,4
-	and	r12d,eax
-	xor	r13d,eax
-DB	102,15,58,15,249,4
-	add	edx,DWORD[48+rsp]
-	mov	r15d,r8d
-	xor	r12d,ecx
-	ror	r14d,11
-	movdqa	xmm5,xmm4
-	xor	r15d,r9d
-	add	edx,r12d
-	movdqa	xmm6,xmm4
-	ror	r13d,6
-	and	edi,r15d
-	psrld	xmm4,3
-	xor	r14d,r8d
-	add	edx,r13d
-	xor	edi,r9d
-	paddd	xmm3,xmm7
-	ror	r14d,2
-	add	r11d,edx
-	psrld	xmm6,7
-	add	edx,edi
-	mov	r13d,r11d
-	pshufd	xmm7,xmm2,250
-	add	r14d,edx
-	ror	r13d,14
-	pslld	xmm5,14
-	mov	edx,r14d
-	mov	r12d,eax
-	pxor	xmm4,xmm6
-	ror	r14d,9
-	xor	r13d,r11d
-	xor	r12d,ebx
-	ror	r13d,5
-	psrld	xmm6,11
-	xor	r14d,edx
-	pxor	xmm4,xmm5
-	and	r12d,r11d
-	xor	r13d,r11d
-	pslld	xmm5,11
-	add	ecx,DWORD[52+rsp]
-	mov	edi,edx
-	pxor	xmm4,xmm6
-	xor	r12d,ebx
-	ror	r14d,11
-	movdqa	xmm6,xmm7
-	xor	edi,r8d
-	add	ecx,r12d
-	pxor	xmm4,xmm5
-	ror	r13d,6
-	and	r15d,edi
-	xor	r14d,edx
-	psrld	xmm7,10
-	add	ecx,r13d
-	xor	r15d,r8d
-	paddd	xmm3,xmm4
-	ror	r14d,2
-	add	r10d,ecx
-	psrlq	xmm6,17
-	add	ecx,r15d
-	mov	r13d,r10d
-	add	r14d,ecx
-	pxor	xmm7,xmm6
-	ror	r13d,14
-	mov	ecx,r14d
-	mov	r12d,r11d
-	ror	r14d,9
-	psrlq	xmm6,2
-	xor	r13d,r10d
-	xor	r12d,eax
-	pxor	xmm7,xmm6
-	ror	r13d,5
-	xor	r14d,ecx
-	and	r12d,r10d
-	pshufd	xmm7,xmm7,128
-	xor	r13d,r10d
-	add	ebx,DWORD[56+rsp]
-	mov	r15d,ecx
-	psrldq	xmm7,8
-	xor	r12d,eax
-	ror	r14d,11
-	xor	r15d,edx
-	add	ebx,r12d
-	ror	r13d,6
-	paddd	xmm3,xmm7
-	and	edi,r15d
-	xor	r14d,ecx
-	add	ebx,r13d
-	pshufd	xmm7,xmm3,80
-	xor	edi,edx
-	ror	r14d,2
-	add	r9d,ebx
-	movdqa	xmm6,xmm7
-	add	ebx,edi
-	mov	r13d,r9d
-	psrld	xmm7,10
-	add	r14d,ebx
-	ror	r13d,14
-	psrlq	xmm6,17
-	mov	ebx,r14d
-	mov	r12d,r10d
-	pxor	xmm7,xmm6
-	ror	r14d,9
-	xor	r13d,r9d
-	xor	r12d,r11d
-	ror	r13d,5
-	xor	r14d,ebx
-	psrlq	xmm6,2
-	and	r12d,r9d
-	xor	r13d,r9d
-	add	eax,DWORD[60+rsp]
-	pxor	xmm7,xmm6
-	mov	edi,ebx
-	xor	r12d,r11d
-	ror	r14d,11
-	pshufd	xmm7,xmm7,8
-	xor	edi,ecx
-	add	eax,r12d
-	movdqa	xmm6,XMMWORD[96+rbp]
-	ror	r13d,6
-	and	r15d,edi
-	pslldq	xmm7,8
-	xor	r14d,ebx
-	add	eax,r13d
-	xor	r15d,ecx
-	paddd	xmm3,xmm7
-	ror	r14d,2
-	add	r8d,eax
-	add	eax,r15d
-	paddd	xmm6,xmm3
-	mov	r13d,r8d
-	add	r14d,eax
-	movdqa	XMMWORD[48+rsp],xmm6
-	cmp	BYTE[131+rbp],0
-	jne	NEAR $L$ssse3_00_47
-	ror	r13d,14
-	mov	eax,r14d
-	mov	r12d,r9d
-	ror	r14d,9
-	xor	r13d,r8d
-	xor	r12d,r10d
-	ror	r13d,5
-	xor	r14d,eax
-	and	r12d,r8d
-	xor	r13d,r8d
-	add	r11d,DWORD[rsp]
-	mov	r15d,eax
-	xor	r12d,r10d
-	ror	r14d,11
-	xor	r15d,ebx
-	add	r11d,r12d
-	ror	r13d,6
-	and	edi,r15d
-	xor	r14d,eax
-	add	r11d,r13d
-	xor	edi,ebx
-	ror	r14d,2
-	add	edx,r11d
-	add	r11d,edi
-	mov	r13d,edx
-	add	r14d,r11d
-	ror	r13d,14
-	mov	r11d,r14d
-	mov	r12d,r8d
-	ror	r14d,9
-	xor	r13d,edx
-	xor	r12d,r9d
-	ror	r13d,5
-	xor	r14d,r11d
-	and	r12d,edx
-	xor	r13d,edx
-	add	r10d,DWORD[4+rsp]
-	mov	edi,r11d
-	xor	r12d,r9d
-	ror	r14d,11
-	xor	edi,eax
-	add	r10d,r12d
-	ror	r13d,6
-	and	r15d,edi
-	xor	r14d,r11d
-	add	r10d,r13d
-	xor	r15d,eax
-	ror	r14d,2
-	add	ecx,r10d
-	add	r10d,r15d
-	mov	r13d,ecx
-	add	r14d,r10d
-	ror	r13d,14
-	mov	r10d,r14d
-	mov	r12d,edx
-	ror	r14d,9
-	xor	r13d,ecx
-	xor	r12d,r8d
-	ror	r13d,5
-	xor	r14d,r10d
-	and	r12d,ecx
-	xor	r13d,ecx
-	add	r9d,DWORD[8+rsp]
-	mov	r15d,r10d
-	xor	r12d,r8d
-	ror	r14d,11
-	xor	r15d,r11d
-	add	r9d,r12d
-	ror	r13d,6
-	and	edi,r15d
-	xor	r14d,r10d
-	add	r9d,r13d
-	xor	edi,r11d
-	ror	r14d,2
-	add	ebx,r9d
-	add	r9d,edi
-	mov	r13d,ebx
-	add	r14d,r9d
-	ror	r13d,14
-	mov	r9d,r14d
-	mov	r12d,ecx
-	ror	r14d,9
-	xor	r13d,ebx
-	xor	r12d,edx
-	ror	r13d,5
-	xor	r14d,r9d
-	and	r12d,ebx
-	xor	r13d,ebx
-	add	r8d,DWORD[12+rsp]
-	mov	edi,r9d
-	xor	r12d,edx
-	ror	r14d,11
-	xor	edi,r10d
-	add	r8d,r12d
-	ror	r13d,6
-	and	r15d,edi
-	xor	r14d,r9d
-	add	r8d,r13d
-	xor	r15d,r10d
-	ror	r14d,2
-	add	eax,r8d
-	add	r8d,r15d
-	mov	r13d,eax
-	add	r14d,r8d
-	ror	r13d,14
-	mov	r8d,r14d
-	mov	r12d,ebx
-	ror	r14d,9
-	xor	r13d,eax
-	xor	r12d,ecx
-	ror	r13d,5
-	xor	r14d,r8d
-	and	r12d,eax
-	xor	r13d,eax
-	add	edx,DWORD[16+rsp]
-	mov	r15d,r8d
-	xor	r12d,ecx
-	ror	r14d,11
-	xor	r15d,r9d
-	add	edx,r12d
-	ror	r13d,6
-	and	edi,r15d
-	xor	r14d,r8d
-	add	edx,r13d
-	xor	edi,r9d
-	ror	r14d,2
-	add	r11d,edx
-	add	edx,edi
-	mov	r13d,r11d
-	add	r14d,edx
-	ror	r13d,14
-	mov	edx,r14d
-	mov	r12d,eax
-	ror	r14d,9
-	xor	r13d,r11d
-	xor	r12d,ebx
-	ror	r13d,5
-	xor	r14d,edx
-	and	r12d,r11d
-	xor	r13d,r11d
-	add	ecx,DWORD[20+rsp]
-	mov	edi,edx
-	xor	r12d,ebx
-	ror	r14d,11
-	xor	edi,r8d
-	add	ecx,r12d
-	ror	r13d,6
-	and	r15d,edi
-	xor	r14d,edx
-	add	ecx,r13d
-	xor	r15d,r8d
-	ror	r14d,2
-	add	r10d,ecx
-	add	ecx,r15d
-	mov	r13d,r10d
-	add	r14d,ecx
-	ror	r13d,14
-	mov	ecx,r14d
-	mov	r12d,r11d
-	ror	r14d,9
-	xor	r13d,r10d
-	xor	r12d,eax
-	ror	r13d,5
-	xor	r14d,ecx
-	and	r12d,r10d
-	xor	r13d,r10d
-	add	ebx,DWORD[24+rsp]
-	mov	r15d,ecx
-	xor	r12d,eax
-	ror	r14d,11
-	xor	r15d,edx
-	add	ebx,r12d
-	ror	r13d,6
-	and	edi,r15d
-	xor	r14d,ecx
-	add	ebx,r13d
-	xor	edi,edx
-	ror	r14d,2
-	add	r9d,ebx
-	add	ebx,edi
-	mov	r13d,r9d
-	add	r14d,ebx
-	ror	r13d,14
-	mov	ebx,r14d
-	mov	r12d,r10d
-	ror	r14d,9
-	xor	r13d,r9d
-	xor	r12d,r11d
-	ror	r13d,5
-	xor	r14d,ebx
-	and	r12d,r9d
-	xor	r13d,r9d
-	add	eax,DWORD[28+rsp]
-	mov	edi,ebx
-	xor	r12d,r11d
-	ror	r14d,11
-	xor	edi,ecx
-	add	eax,r12d
-	ror	r13d,6
-	and	r15d,edi
-	xor	r14d,ebx
-	add	eax,r13d
-	xor	r15d,ecx
-	ror	r14d,2
-	add	r8d,eax
-	add	eax,r15d
-	mov	r13d,r8d
-	add	r14d,eax
-	ror	r13d,14
-	mov	eax,r14d
-	mov	r12d,r9d
-	ror	r14d,9
-	xor	r13d,r8d
-	xor	r12d,r10d
-	ror	r13d,5
-	xor	r14d,eax
-	and	r12d,r8d
-	xor	r13d,r8d
-	add	r11d,DWORD[32+rsp]
-	mov	r15d,eax
-	xor	r12d,r10d
-	ror	r14d,11
-	xor	r15d,ebx
-	add	r11d,r12d
-	ror	r13d,6
-	and	edi,r15d
-	xor	r14d,eax
-	add	r11d,r13d
-	xor	edi,ebx
-	ror	r14d,2
-	add	edx,r11d
-	add	r11d,edi
-	mov	r13d,edx
-	add	r14d,r11d
-	ror	r13d,14
-	mov	r11d,r14d
-	mov	r12d,r8d
-	ror	r14d,9
-	xor	r13d,edx
-	xor	r12d,r9d
-	ror	r13d,5
-	xor	r14d,r11d
-	and	r12d,edx
-	xor	r13d,edx
-	add	r10d,DWORD[36+rsp]
-	mov	edi,r11d
-	xor	r12d,r9d
-	ror	r14d,11
-	xor	edi,eax
-	add	r10d,r12d
-	ror	r13d,6
-	and	r15d,edi
-	xor	r14d,r11d
-	add	r10d,r13d
-	xor	r15d,eax
-	ror	r14d,2
-	add	ecx,r10d
-	add	r10d,r15d
-	mov	r13d,ecx
-	add	r14d,r10d
-	ror	r13d,14
-	mov	r10d,r14d
-	mov	r12d,edx
-	ror	r14d,9
-	xor	r13d,ecx
-	xor	r12d,r8d
-	ror	r13d,5
-	xor	r14d,r10d
-	and	r12d,ecx
-	xor	r13d,ecx
-	add	r9d,DWORD[40+rsp]
-	mov	r15d,r10d
-	xor	r12d,r8d
-	ror	r14d,11
-	xor	r15d,r11d
-	add	r9d,r12d
-	ror	r13d,6
-	and	edi,r15d
-	xor	r14d,r10d
-	add	r9d,r13d
-	xor	edi,r11d
-	ror	r14d,2
-	add	ebx,r9d
-	add	r9d,edi
-	mov	r13d,ebx
-	add	r14d,r9d
-	ror	r13d,14
-	mov	r9d,r14d
-	mov	r12d,ecx
-	ror	r14d,9
-	xor	r13d,ebx
-	xor	r12d,edx
-	ror	r13d,5
-	xor	r14d,r9d
-	and	r12d,ebx
-	xor	r13d,ebx
-	add	r8d,DWORD[44+rsp]
-	mov	edi,r9d
-	xor	r12d,edx
-	ror	r14d,11
-	xor	edi,r10d
-	add	r8d,r12d
-	ror	r13d,6
-	and	r15d,edi
-	xor	r14d,r9d
-	add	r8d,r13d
-	xor	r15d,r10d
-	ror	r14d,2
-	add	eax,r8d
-	add	r8d,r15d
-	mov	r13d,eax
-	add	r14d,r8d
-	ror	r13d,14
-	mov	r8d,r14d
-	mov	r12d,ebx
-	ror	r14d,9
-	xor	r13d,eax
-	xor	r12d,ecx
-	ror	r13d,5
-	xor	r14d,r8d
-	and	r12d,eax
-	xor	r13d,eax
-	add	edx,DWORD[48+rsp]
-	mov	r15d,r8d
-	xor	r12d,ecx
-	ror	r14d,11
-	xor	r15d,r9d
-	add	edx,r12d
-	ror	r13d,6
-	and	edi,r15d
-	xor	r14d,r8d
-	add	edx,r13d
-	xor	edi,r9d
-	ror	r14d,2
-	add	r11d,edx
-	add	edx,edi
-	mov	r13d,r11d
-	add	r14d,edx
-	ror	r13d,14
-	mov	edx,r14d
-	mov	r12d,eax
-	ror	r14d,9
-	xor	r13d,r11d
-	xor	r12d,ebx
-	ror	r13d,5
-	xor	r14d,edx
-	and	r12d,r11d
-	xor	r13d,r11d
-	add	ecx,DWORD[52+rsp]
-	mov	edi,edx
-	xor	r12d,ebx
-	ror	r14d,11
-	xor	edi,r8d
-	add	ecx,r12d
-	ror	r13d,6
-	and	r15d,edi
-	xor	r14d,edx
-	add	ecx,r13d
-	xor	r15d,r8d
-	ror	r14d,2
-	add	r10d,ecx
-	add	ecx,r15d
-	mov	r13d,r10d
-	add	r14d,ecx
-	ror	r13d,14
-	mov	ecx,r14d
-	mov	r12d,r11d
-	ror	r14d,9
-	xor	r13d,r10d
-	xor	r12d,eax
-	ror	r13d,5
-	xor	r14d,ecx
-	and	r12d,r10d
-	xor	r13d,r10d
-	add	ebx,DWORD[56+rsp]
-	mov	r15d,ecx
-	xor	r12d,eax
-	ror	r14d,11
-	xor	r15d,edx
-	add	ebx,r12d
-	ror	r13d,6
-	and	edi,r15d
-	xor	r14d,ecx
-	add	ebx,r13d
-	xor	edi,edx
-	ror	r14d,2
-	add	r9d,ebx
-	add	ebx,edi
-	mov	r13d,r9d
-	add	r14d,ebx
-	ror	r13d,14
-	mov	ebx,r14d
-	mov	r12d,r10d
-	ror	r14d,9
-	xor	r13d,r9d
-	xor	r12d,r11d
-	ror	r13d,5
-	xor	r14d,ebx
-	and	r12d,r9d
-	xor	r13d,r9d
-	add	eax,DWORD[60+rsp]
-	mov	edi,ebx
-	xor	r12d,r11d
-	ror	r14d,11
-	xor	edi,ecx
-	add	eax,r12d
-	ror	r13d,6
-	and	r15d,edi
-	xor	r14d,ebx
-	add	eax,r13d
-	xor	r15d,ecx
-	ror	r14d,2
-	add	r8d,eax
-	add	eax,r15d
-	mov	r13d,r8d
-	add	r14d,eax
-	mov	rdi,QWORD[((64+0))+rsp]
-	mov	eax,r14d
-
-	add	eax,DWORD[rdi]
-	lea	rsi,[64+rsi]
-	add	ebx,DWORD[4+rdi]
-	add	ecx,DWORD[8+rdi]
-	add	edx,DWORD[12+rdi]
-	add	r8d,DWORD[16+rdi]
-	add	r9d,DWORD[20+rdi]
-	add	r10d,DWORD[24+rdi]
-	add	r11d,DWORD[28+rdi]
-
-	cmp	rsi,QWORD[((64+16))+rsp]
-
-	mov	DWORD[rdi],eax
-	mov	DWORD[4+rdi],ebx
-	mov	DWORD[8+rdi],ecx
-	mov	DWORD[12+rdi],edx
-	mov	DWORD[16+rdi],r8d
-	mov	DWORD[20+rdi],r9d
-	mov	DWORD[24+rdi],r10d
-	mov	DWORD[28+rdi],r11d
-	jb	NEAR $L$loop_ssse3
-
-	mov	rsi,QWORD[((64+24))+rsp]
-	movaps	xmm6,XMMWORD[((64+32))+rsp]
-	movaps	xmm7,XMMWORD[((64+48))+rsp]
-	movaps	xmm8,XMMWORD[((64+64))+rsp]
-	movaps	xmm9,XMMWORD[((64+80))+rsp]
-	mov	r15,QWORD[((-48))+rsi]
-	mov	r14,QWORD[((-40))+rsi]
-	mov	r13,QWORD[((-32))+rsi]
-	mov	r12,QWORD[((-24))+rsi]
-	mov	rbp,QWORD[((-16))+rsi]
-	mov	rbx,QWORD[((-8))+rsi]
-	lea	rsp,[rsi]
-$L$epilogue_ssse3:
-	mov	rdi,QWORD[8+rsp]	;WIN64 epilogue
-	mov	rsi,QWORD[16+rsp]
-	DB	0F3h,0C3h		;repret
-$L$SEH_end_sha256_block_data_order_ssse3:
-
-ALIGN	64
-sha256_block_data_order_avx:
-	mov	QWORD[8+rsp],rdi	;WIN64 prologue
-	mov	QWORD[16+rsp],rsi
-	mov	rax,rsp
-$L$SEH_begin_sha256_block_data_order_avx:
-	mov	rdi,rcx
-	mov	rsi,rdx
-	mov	rdx,r8
-
-
-$L$avx_shortcut:
-	mov	rax,rsp
-	push	rbx
-	push	rbp
-	push	r12
-	push	r13
-	push	r14
-	push	r15
-	shl	rdx,4
-	sub	rsp,160
-	lea	rdx,[rdx*4+rsi]
-	and	rsp,-64
-	mov	QWORD[((64+0))+rsp],rdi
-	mov	QWORD[((64+8))+rsp],rsi
-	mov	QWORD[((64+16))+rsp],rdx
-	mov	QWORD[((64+24))+rsp],rax
-	movaps	XMMWORD[(64+32)+rsp],xmm6
-	movaps	XMMWORD[(64+48)+rsp],xmm7
-	movaps	XMMWORD[(64+64)+rsp],xmm8
-	movaps	XMMWORD[(64+80)+rsp],xmm9
-$L$prologue_avx:
-
-	vzeroupper
-	mov	eax,DWORD[rdi]
-	mov	ebx,DWORD[4+rdi]
-	mov	ecx,DWORD[8+rdi]
-	mov	edx,DWORD[12+rdi]
-	mov	r8d,DWORD[16+rdi]
-	mov	r9d,DWORD[20+rdi]
-	mov	r10d,DWORD[24+rdi]
-	mov	r11d,DWORD[28+rdi]
-	vmovdqa	xmm8,XMMWORD[((K256+512+32))]
-	vmovdqa	xmm9,XMMWORD[((K256+512+64))]
-	jmp	NEAR $L$loop_avx
-ALIGN	16
-$L$loop_avx:
-	vmovdqa	xmm7,XMMWORD[((K256+512))]
-	vmovdqu	xmm0,XMMWORD[rsi]
-	vmovdqu	xmm1,XMMWORD[16+rsi]
-	vmovdqu	xmm2,XMMWORD[32+rsi]
-	vmovdqu	xmm3,XMMWORD[48+rsi]
-	vpshufb	xmm0,xmm0,xmm7
-	lea	rbp,[K256]
-	vpshufb	xmm1,xmm1,xmm7
-	vpshufb	xmm2,xmm2,xmm7
-	vpaddd	xmm4,xmm0,XMMWORD[rbp]
-	vpshufb	xmm3,xmm3,xmm7
-	vpaddd	xmm5,xmm1,XMMWORD[32+rbp]
-	vpaddd	xmm6,xmm2,XMMWORD[64+rbp]
-	vpaddd	xmm7,xmm3,XMMWORD[96+rbp]
-	vmovdqa	XMMWORD[rsp],xmm4
-	mov	r14d,eax
-	vmovdqa	XMMWORD[16+rsp],xmm5
-	mov	edi,ebx
-	vmovdqa	XMMWORD[32+rsp],xmm6
-	xor	edi,ecx
-	vmovdqa	XMMWORD[48+rsp],xmm7
-	mov	r13d,r8d
-	jmp	NEAR $L$avx_00_47
-
-ALIGN	16
-$L$avx_00_47:
-	sub	rbp,-128
-	vpalignr	xmm4,xmm1,xmm0,4
-	shrd	r13d,r13d,14
-	mov	eax,r14d
-	mov	r12d,r9d
-	vpalignr	xmm7,xmm3,xmm2,4
-	shrd	r14d,r14d,9
-	xor	r13d,r8d
-	xor	r12d,r10d
-	vpsrld	xmm6,xmm4,7
-	shrd	r13d,r13d,5
-	xor	r14d,eax
-	and	r12d,r8d
-	vpaddd	xmm0,xmm0,xmm7
-	xor	r13d,r8d
-	add	r11d,DWORD[rsp]
-	mov	r15d,eax
-	vpsrld	xmm7,xmm4,3
-	xor	r12d,r10d
-	shrd	r14d,r14d,11
-	xor	r15d,ebx
-	vpslld	xmm5,xmm4,14
-	add	r11d,r12d
-	shrd	r13d,r13d,6
-	and	edi,r15d
-	vpxor	xmm4,xmm7,xmm6
-	xor	r14d,eax
-	add	r11d,r13d
-	xor	edi,ebx
-	vpshufd	xmm7,xmm3,250
-	shrd	r14d,r14d,2
-	add	edx,r11d
-	add	r11d,edi
-	vpsrld	xmm6,xmm6,11
-	mov	r13d,edx
-	add	r14d,r11d
-	shrd	r13d,r13d,14
-	vpxor	xmm4,xmm4,xmm5
-	mov	r11d,r14d
-	mov	r12d,r8d
-	shrd	r14d,r14d,9
-	vpslld	xmm5,xmm5,11
-	xor	r13d,edx
-	xor	r12d,r9d
-	shrd	r13d,r13d,5
-	vpxor	xmm4,xmm4,xmm6
-	xor	r14d,r11d
-	and	r12d,edx
-	xor	r13d,edx
-	vpsrld	xmm6,xmm7,10
-	add	r10d,DWORD[4+rsp]
-	mov	edi,r11d
-	xor	r12d,r9d
-	vpxor	xmm4,xmm4,xmm5
-	shrd	r14d,r14d,11
-	xor	edi,eax
-	add	r10d,r12d
-	vpsrlq	xmm7,xmm7,17
-	shrd	r13d,r13d,6
-	and	r15d,edi
-	xor	r14d,r11d
-	vpaddd	xmm0,xmm0,xmm4
-	add	r10d,r13d
-	xor	r15d,eax
-	shrd	r14d,r14d,2
-	vpxor	xmm6,xmm6,xmm7
-	add	ecx,r10d
-	add	r10d,r15d
-	mov	r13d,ecx
-	vpsrlq	xmm7,xmm7,2
-	add	r14d,r10d
-	shrd	r13d,r13d,14
-	mov	r10d,r14d
-	vpxor	xmm6,xmm6,xmm7
-	mov	r12d,edx
-	shrd	r14d,r14d,9
-	xor	r13d,ecx
-	vpshufb	xmm6,xmm6,xmm8
-	xor	r12d,r8d
-	shrd	r13d,r13d,5
-	xor	r14d,r10d
-	vpaddd	xmm0,xmm0,xmm6
-	and	r12d,ecx
-	xor	r13d,ecx
-	add	r9d,DWORD[8+rsp]
-	vpshufd	xmm7,xmm0,80
-	mov	r15d,r10d
-	xor	r12d,r8d
-	shrd	r14d,r14d,11
-	vpsrld	xmm6,xmm7,10
-	xor	r15d,r11d
-	add	r9d,r12d
-	shrd	r13d,r13d,6
-	vpsrlq	xmm7,xmm7,17
-	and	edi,r15d
-	xor	r14d,r10d
-	add	r9d,r13d
-	vpxor	xmm6,xmm6,xmm7
-	xor	edi,r11d
-	shrd	r14d,r14d,2
-	add	ebx,r9d
-	vpsrlq	xmm7,xmm7,2
-	add	r9d,edi
-	mov	r13d,ebx
-	add	r14d,r9d
-	vpxor	xmm6,xmm6,xmm7
-	shrd	r13d,r13d,14
-	mov	r9d,r14d
-	mov	r12d,ecx
-	vpshufb	xmm6,xmm6,xmm9
-	shrd	r14d,r14d,9
-	xor	r13d,ebx
-	xor	r12d,edx
-	vpaddd	xmm0,xmm0,xmm6
-	shrd	r13d,r13d,5
-	xor	r14d,r9d
-	and	r12d,ebx
-	vpaddd	xmm6,xmm0,XMMWORD[rbp]
-	xor	r13d,ebx
-	add	r8d,DWORD[12+rsp]
-	mov	edi,r9d
-	xor	r12d,edx
-	shrd	r14d,r14d,11
-	xor	edi,r10d
-	add	r8d,r12d
-	shrd	r13d,r13d,6
-	and	r15d,edi
-	xor	r14d,r9d
-	add	r8d,r13d
-	xor	r15d,r10d
-	shrd	r14d,r14d,2
-	add	eax,r8d
-	add	r8d,r15d
-	mov	r13d,eax
-	add	r14d,r8d
-	vmovdqa	XMMWORD[rsp],xmm6
-	vpalignr	xmm4,xmm2,xmm1,4
-	shrd	r13d,r13d,14
-	mov	r8d,r14d
-	mov	r12d,ebx
-	vpalignr	xmm7,xmm0,xmm3,4
-	shrd	r14d,r14d,9
-	xor	r13d,eax
-	xor	r12d,ecx
-	vpsrld	xmm6,xmm4,7
-	shrd	r13d,r13d,5
-	xor	r14d,r8d
-	and	r12d,eax
-	vpaddd	xmm1,xmm1,xmm7
-	xor	r13d,eax
-	add	edx,DWORD[16+rsp]
-	mov	r15d,r8d
-	vpsrld	xmm7,xmm4,3
-	xor	r12d,ecx
-	shrd	r14d,r14d,11
-	xor	r15d,r9d
-	vpslld	xmm5,xmm4,14
-	add	edx,r12d
-	shrd	r13d,r13d,6
-	and	edi,r15d
-	vpxor	xmm4,xmm7,xmm6
-	xor	r14d,r8d
-	add	edx,r13d
-	xor	edi,r9d
-	vpshufd	xmm7,xmm0,250
-	shrd	r14d,r14d,2
-	add	r11d,edx
-	add	edx,edi
-	vpsrld	xmm6,xmm6,11
-	mov	r13d,r11d
-	add	r14d,edx
-	shrd	r13d,r13d,14
-	vpxor	xmm4,xmm4,xmm5
-	mov	edx,r14d
-	mov	r12d,eax
-	shrd	r14d,r14d,9
-	vpslld	xmm5,xmm5,11
-	xor	r13d,r11d
-	xor	r12d,ebx
-	shrd	r13d,r13d,5
-	vpxor	xmm4,xmm4,xmm6
-	xor	r14d,edx
-	and	r12d,r11d
-	xor	r13d,r11d
-	vpsrld	xmm6,xmm7,10
-	add	ecx,DWORD[20+rsp]
-	mov	edi,edx
-	xor	r12d,ebx
-	vpxor	xmm4,xmm4,xmm5
-	shrd	r14d,r14d,11
-	xor	edi,r8d
-	add	ecx,r12d
-	vpsrlq	xmm7,xmm7,17
-	shrd	r13d,r13d,6
-	and	r15d,edi
-	xor	r14d,edx
-	vpaddd	xmm1,xmm1,xmm4
-	add	ecx,r13d
-	xor	r15d,r8d
-	shrd	r14d,r14d,2
-	vpxor	xmm6,xmm6,xmm7
-	add	r10d,ecx
-	add	ecx,r15d
-	mov	r13d,r10d
-	vpsrlq	xmm7,xmm7,2
-	add	r14d,ecx
-	shrd	r13d,r13d,14
-	mov	ecx,r14d
-	vpxor	xmm6,xmm6,xmm7
-	mov	r12d,r11d
-	shrd	r14d,r14d,9
-	xor	r13d,r10d
-	vpshufb	xmm6,xmm6,xmm8
-	xor	r12d,eax
-	shrd	r13d,r13d,5
-	xor	r14d,ecx
-	vpaddd	xmm1,xmm1,xmm6
-	and	r12d,r10d
-	xor	r13d,r10d
-	add	ebx,DWORD[24+rsp]
-	vpshufd	xmm7,xmm1,80
-	mov	r15d,ecx
-	xor	r12d,eax
-	shrd	r14d,r14d,11
-	vpsrld	xmm6,xmm7,10
-	xor	r15d,edx
-	add	ebx,r12d
-	shrd	r13d,r13d,6
-	vpsrlq	xmm7,xmm7,17
-	and	edi,r15d
-	xor	r14d,ecx
-	add	ebx,r13d
-	vpxor	xmm6,xmm6,xmm7
-	xor	edi,edx
-	shrd	r14d,r14d,2
-	add	r9d,ebx
-	vpsrlq	xmm7,xmm7,2
-	add	ebx,edi
-	mov	r13d,r9d
-	add	r14d,ebx
-	vpxor	xmm6,xmm6,xmm7
-	shrd	r13d,r13d,14
-	mov	ebx,r14d
-	mov	r12d,r10d
-	vpshufb	xmm6,xmm6,xmm9
-	shrd	r14d,r14d,9
-	xor	r13d,r9d
-	xor	r12d,r11d
-	vpaddd	xmm1,xmm1,xmm6
-	shrd	r13d,r13d,5
-	xor	r14d,ebx
-	and	r12d,r9d
-	vpaddd	xmm6,xmm1,XMMWORD[32+rbp]
-	xor	r13d,r9d
-	add	eax,DWORD[28+rsp]
-	mov	edi,ebx
-	xor	r12d,r11d
-	shrd	r14d,r14d,11
-	xor	edi,ecx
-	add	eax,r12d
-	shrd	r13d,r13d,6
-	and	r15d,edi
-	xor	r14d,ebx
-	add	eax,r13d
-	xor	r15d,ecx
-	shrd	r14d,r14d,2
-	add	r8d,eax
-	add	eax,r15d
-	mov	r13d,r8d
-	add	r14d,eax
-	vmovdqa	XMMWORD[16+rsp],xmm6
-	vpalignr	xmm4,xmm3,xmm2,4
-	shrd	r13d,r13d,14
-	mov	eax,r14d
-	mov	r12d,r9d
-	vpalignr	xmm7,xmm1,xmm0,4
-	shrd	r14d,r14d,9
-	xor	r13d,r8d
-	xor	r12d,r10d
-	vpsrld	xmm6,xmm4,7
-	shrd	r13d,r13d,5
-	xor	r14d,eax
-	and	r12d,r8d
-	vpaddd	xmm2,xmm2,xmm7
-	xor	r13d,r8d
-	add	r11d,DWORD[32+rsp]
-	mov	r15d,eax
-	vpsrld	xmm7,xmm4,3
-	xor	r12d,r10d
-	shrd	r14d,r14d,11
-	xor	r15d,ebx
-	vpslld	xmm5,xmm4,14
-	add	r11d,r12d
-	shrd	r13d,r13d,6
-	and	edi,r15d
-	vpxor	xmm4,xmm7,xmm6
-	xor	r14d,eax
-	add	r11d,r13d
-	xor	edi,ebx
-	vpshufd	xmm7,xmm1,250
-	shrd	r14d,r14d,2
-	add	edx,r11d
-	add	r11d,edi
-	vpsrld	xmm6,xmm6,11
-	mov	r13d,edx
-	add	r14d,r11d
-	shrd	r13d,r13d,14
-	vpxor	xmm4,xmm4,xmm5
-	mov	r11d,r14d
-	mov	r12d,r8d
-	shrd	r14d,r14d,9
-	vpslld	xmm5,xmm5,11
-	xor	r13d,edx
-	xor	r12d,r9d
-	shrd	r13d,r13d,5
-	vpxor	xmm4,xmm4,xmm6
-	xor	r14d,r11d
-	and	r12d,edx
-	xor	r13d,edx
-	vpsrld	xmm6,xmm7,10
-	add	r10d,DWORD[36+rsp]
-	mov	edi,r11d
-	xor	r12d,r9d
-	vpxor	xmm4,xmm4,xmm5
-	shrd	r14d,r14d,11
-	xor	edi,eax
-	add	r10d,r12d
-	vpsrlq	xmm7,xmm7,17
-	shrd	r13d,r13d,6
-	and	r15d,edi
-	xor	r14d,r11d
-	vpaddd	xmm2,xmm2,xmm4
-	add	r10d,r13d
-	xor	r15d,eax
-	shrd	r14d,r14d,2
-	vpxor	xmm6,xmm6,xmm7
-	add	ecx,r10d
-	add	r10d,r15d
-	mov	r13d,ecx
-	vpsrlq	xmm7,xmm7,2
-	add	r14d,r10d
-	shrd	r13d,r13d,14
-	mov	r10d,r14d
-	vpxor	xmm6,xmm6,xmm7
-	mov	r12d,edx
-	shrd	r14d,r14d,9
-	xor	r13d,ecx
-	vpshufb	xmm6,xmm6,xmm8
-	xor	r12d,r8d
-	shrd	r13d,r13d,5
-	xor	r14d,r10d
-	vpaddd	xmm2,xmm2,xmm6
-	and	r12d,ecx
-	xor	r13d,ecx
-	add	r9d,DWORD[40+rsp]
-	vpshufd	xmm7,xmm2,80
-	mov	r15d,r10d
-	xor	r12d,r8d
-	shrd	r14d,r14d,11
-	vpsrld	xmm6,xmm7,10
-	xor	r15d,r11d
-	add	r9d,r12d
-	shrd	r13d,r13d,6
-	vpsrlq	xmm7,xmm7,17
-	and	edi,r15d
-	xor	r14d,r10d
-	add	r9d,r13d
-	vpxor	xmm6,xmm6,xmm7
-	xor	edi,r11d
-	shrd	r14d,r14d,2
-	add	ebx,r9d
-	vpsrlq	xmm7,xmm7,2
-	add	r9d,edi
-	mov	r13d,ebx
-	add	r14d,r9d
-	vpxor	xmm6,xmm6,xmm7
-	shrd	r13d,r13d,14
-	mov	r9d,r14d
-	mov	r12d,ecx
-	vpshufb	xmm6,xmm6,xmm9
-	shrd	r14d,r14d,9
-	xor	r13d,ebx
-	xor	r12d,edx
-	vpaddd	xmm2,xmm2,xmm6
-	shrd	r13d,r13d,5
-	xor	r14d,r9d
-	and	r12d,ebx
-	vpaddd	xmm6,xmm2,XMMWORD[64+rbp]
-	xor	r13d,ebx
-	add	r8d,DWORD[44+rsp]
-	mov	edi,r9d
-	xor	r12d,edx
-	shrd	r14d,r14d,11
-	xor	edi,r10d
-	add	r8d,r12d
-	shrd	r13d,r13d,6
-	and	r15d,edi
-	xor	r14d,r9d
-	add	r8d,r13d
-	xor	r15d,r10d
-	shrd	r14d,r14d,2
-	add	eax,r8d
-	add	r8d,r15d
-	mov	r13d,eax
-	add	r14d,r8d
-	vmovdqa	XMMWORD[32+rsp],xmm6
-	vpalignr	xmm4,xmm0,xmm3,4
-	shrd	r13d,r13d,14
-	mov	r8d,r14d
-	mov	r12d,ebx
-	vpalignr	xmm7,xmm2,xmm1,4
-	shrd	r14d,r14d,9
-	xor	r13d,eax
-	xor	r12d,ecx
-	vpsrld	xmm6,xmm4,7
-	shrd	r13d,r13d,5
-	xor	r14d,r8d
-	and	r12d,eax
-	vpaddd	xmm3,xmm3,xmm7
-	xor	r13d,eax
-	add	edx,DWORD[48+rsp]
-	mov	r15d,r8d
-	vpsrld	xmm7,xmm4,3
-	xor	r12d,ecx
-	shrd	r14d,r14d,11
-	xor	r15d,r9d
-	vpslld	xmm5,xmm4,14
-	add	edx,r12d
-	shrd	r13d,r13d,6
-	and	edi,r15d
-	vpxor	xmm4,xmm7,xmm6
-	xor	r14d,r8d
-	add	edx,r13d
-	xor	edi,r9d
-	vpshufd	xmm7,xmm2,250
-	shrd	r14d,r14d,2
-	add	r11d,edx
-	add	edx,edi
-	vpsrld	xmm6,xmm6,11
-	mov	r13d,r11d
-	add	r14d,edx
-	shrd	r13d,r13d,14
-	vpxor	xmm4,xmm4,xmm5
-	mov	edx,r14d
-	mov	r12d,eax
-	shrd	r14d,r14d,9
-	vpslld	xmm5,xmm5,11
-	xor	r13d,r11d
-	xor	r12d,ebx
-	shrd	r13d,r13d,5
-	vpxor	xmm4,xmm4,xmm6
-	xor	r14d,edx
-	and	r12d,r11d
-	xor	r13d,r11d
-	vpsrld	xmm6,xmm7,10
-	add	ecx,DWORD[52+rsp]
-	mov	edi,edx
-	xor	r12d,ebx
-	vpxor	xmm4,xmm4,xmm5
-	shrd	r14d,r14d,11
-	xor	edi,r8d
-	add	ecx,r12d
-	vpsrlq	xmm7,xmm7,17
-	shrd	r13d,r13d,6
-	and	r15d,edi
-	xor	r14d,edx
-	vpaddd	xmm3,xmm3,xmm4
-	add	ecx,r13d
-	xor	r15d,r8d
-	shrd	r14d,r14d,2
-	vpxor	xmm6,xmm6,xmm7
-	add	r10d,ecx
-	add	ecx,r15d
-	mov	r13d,r10d
-	vpsrlq	xmm7,xmm7,2
-	add	r14d,ecx
-	shrd	r13d,r13d,14
-	mov	ecx,r14d
-	vpxor	xmm6,xmm6,xmm7
-	mov	r12d,r11d
-	shrd	r14d,r14d,9
-	xor	r13d,r10d
-	vpshufb	xmm6,xmm6,xmm8
-	xor	r12d,eax
-	shrd	r13d,r13d,5
-	xor	r14d,ecx
-	vpaddd	xmm3,xmm3,xmm6
-	and	r12d,r10d
-	xor	r13d,r10d
-	add	ebx,DWORD[56+rsp]
-	vpshufd	xmm7,xmm3,80
-	mov	r15d,ecx
-	xor	r12d,eax
-	shrd	r14d,r14d,11
-	vpsrld	xmm6,xmm7,10
-	xor	r15d,edx
-	add	ebx,r12d
-	shrd	r13d,r13d,6
-	vpsrlq	xmm7,xmm7,17
-	and	edi,r15d
-	xor	r14d,ecx
-	add	ebx,r13d
-	vpxor	xmm6,xmm6,xmm7
-	xor	edi,edx
-	shrd	r14d,r14d,2
-	add	r9d,ebx
-	vpsrlq	xmm7,xmm7,2
-	add	ebx,edi
-	mov	r13d,r9d
-	add	r14d,ebx
-	vpxor	xmm6,xmm6,xmm7
-	shrd	r13d,r13d,14
-	mov	ebx,r14d
-	mov	r12d,r10d
-	vpshufb	xmm6,xmm6,xmm9
-	shrd	r14d,r14d,9
-	xor	r13d,r9d
-	xor	r12d,r11d
-	vpaddd	xmm3,xmm3,xmm6
-	shrd	r13d,r13d,5
-	xor	r14d,ebx
-	and	r12d,r9d
-	vpaddd	xmm6,xmm3,XMMWORD[96+rbp]
-	xor	r13d,r9d
-	add	eax,DWORD[60+rsp]
-	mov	edi,ebx
-	xor	r12d,r11d
-	shrd	r14d,r14d,11
-	xor	edi,ecx
-	add	eax,r12d
-	shrd	r13d,r13d,6
-	and	r15d,edi
-	xor	r14d,ebx
-	add	eax,r13d
-	xor	r15d,ecx
-	shrd	r14d,r14d,2
-	add	r8d,eax
-	add	eax,r15d
-	mov	r13d,r8d
-	add	r14d,eax
-	vmovdqa	XMMWORD[48+rsp],xmm6
-	cmp	BYTE[131+rbp],0
-	jne	NEAR $L$avx_00_47
-	shrd	r13d,r13d,14
-	mov	eax,r14d
-	mov	r12d,r9d
-	shrd	r14d,r14d,9
-	xor	r13d,r8d
-	xor	r12d,r10d
-	shrd	r13d,r13d,5
-	xor	r14d,eax
-	and	r12d,r8d
-	xor	r13d,r8d
-	add	r11d,DWORD[rsp]
-	mov	r15d,eax
-	xor	r12d,r10d
-	shrd	r14d,r14d,11
-	xor	r15d,ebx
-	add	r11d,r12d
-	shrd	r13d,r13d,6
-	and	edi,r15d
-	xor	r14d,eax
-	add	r11d,r13d
-	xor	edi,ebx
-	shrd	r14d,r14d,2
-	add	edx,r11d
-	add	r11d,edi
-	mov	r13d,edx
-	add	r14d,r11d
-	shrd	r13d,r13d,14
-	mov	r11d,r14d
-	mov	r12d,r8d
-	shrd	r14d,r14d,9
-	xor	r13d,edx
-	xor	r12d,r9d
-	shrd	r13d,r13d,5
-	xor	r14d,r11d
-	and	r12d,edx
-	xor	r13d,edx
-	add	r10d,DWORD[4+rsp]
-	mov	edi,r11d
-	xor	r12d,r9d
-	shrd	r14d,r14d,11
-	xor	edi,eax
-	add	r10d,r12d
-	shrd	r13d,r13d,6
-	and	r15d,edi
-	xor	r14d,r11d
-	add	r10d,r13d
-	xor	r15d,eax
-	shrd	r14d,r14d,2
-	add	ecx,r10d
-	add	r10d,r15d
-	mov	r13d,ecx
-	add	r14d,r10d
-	shrd	r13d,r13d,14
-	mov	r10d,r14d
-	mov	r12d,edx
-	shrd	r14d,r14d,9
-	xor	r13d,ecx
-	xor	r12d,r8d
-	shrd	r13d,r13d,5
-	xor	r14d,r10d
-	and	r12d,ecx
-	xor	r13d,ecx
-	add	r9d,DWORD[8+rsp]
-	mov	r15d,r10d
-	xor	r12d,r8d
-	shrd	r14d,r14d,11
-	xor	r15d,r11d
-	add	r9d,r12d
-	shrd	r13d,r13d,6
-	and	edi,r15d
-	xor	r14d,r10d
-	add	r9d,r13d
-	xor	edi,r11d
-	shrd	r14d,r14d,2
-	add	ebx,r9d
-	add	r9d,edi
-	mov	r13d,ebx
-	add	r14d,r9d
-	shrd	r13d,r13d,14
-	mov	r9d,r14d
-	mov	r12d,ecx
-	shrd	r14d,r14d,9
-	xor	r13d,ebx
-	xor	r12d,edx
-	shrd	r13d,r13d,5
-	xor	r14d,r9d
-	and	r12d,ebx
-	xor	r13d,ebx
-	add	r8d,DWORD[12+rsp]
-	mov	edi,r9d
-	xor	r12d,edx
-	shrd	r14d,r14d,11
-	xor	edi,r10d
-	add	r8d,r12d
-	shrd	r13d,r13d,6
-	and	r15d,edi
-	xor	r14d,r9d
-	add	r8d,r13d
-	xor	r15d,r10d
-	shrd	r14d,r14d,2
-	add	eax,r8d
-	add	r8d,r15d
-	mov	r13d,eax
-	add	r14d,r8d
-	shrd	r13d,r13d,14
-	mov	r8d,r14d
-	mov	r12d,ebx
-	shrd	r14d,r14d,9
-	xor	r13d,eax
-	xor	r12d,ecx
-	shrd	r13d,r13d,5
-	xor	r14d,r8d
-	and	r12d,eax
-	xor	r13d,eax
-	add	edx,DWORD[16+rsp]
-	mov	r15d,r8d
-	xor	r12d,ecx
-	shrd	r14d,r14d,11
-	xor	r15d,r9d
-	add	edx,r12d
-	shrd	r13d,r13d,6
-	and	edi,r15d
-	xor	r14d,r8d
-	add	edx,r13d
-	xor	edi,r9d
-	shrd	r14d,r14d,2
-	add	r11d,edx
-	add	edx,edi
-	mov	r13d,r11d
-	add	r14d,edx
-	shrd	r13d,r13d,14
-	mov	edx,r14d
-	mov	r12d,eax
-	shrd	r14d,r14d,9
-	xor	r13d,r11d
-	xor	r12d,ebx
-	shrd	r13d,r13d,5
-	xor	r14d,edx
-	and	r12d,r11d
-	xor	r13d,r11d
-	add	ecx,DWORD[20+rsp]
-	mov	edi,edx
-	xor	r12d,ebx
-	shrd	r14d,r14d,11
-	xor	edi,r8d
-	add	ecx,r12d
-	shrd	r13d,r13d,6
-	and	r15d,edi
-	xor	r14d,edx
-	add	ecx,r13d
-	xor	r15d,r8d
-	shrd	r14d,r14d,2
-	add	r10d,ecx
-	add	ecx,r15d
-	mov	r13d,r10d
-	add	r14d,ecx
-	shrd	r13d,r13d,14
-	mov	ecx,r14d
-	mov	r12d,r11d
-	shrd	r14d,r14d,9
-	xor	r13d,r10d
-	xor	r12d,eax
-	shrd	r13d,r13d,5
-	xor	r14d,ecx
-	and	r12d,r10d
-	xor	r13d,r10d
-	add	ebx,DWORD[24+rsp]
-	mov	r15d,ecx
-	xor	r12d,eax
-	shrd	r14d,r14d,11
-	xor	r15d,edx
-	add	ebx,r12d
-	shrd	r13d,r13d,6
-	and	edi,r15d
-	xor	r14d,ecx
-	add	ebx,r13d
-	xor	edi,edx
-	shrd	r14d,r14d,2
-	add	r9d,ebx
-	add	ebx,edi
-	mov	r13d,r9d
-	add	r14d,ebx
-	shrd	r13d,r13d,14
-	mov	ebx,r14d
-	mov	r12d,r10d
-	shrd	r14d,r14d,9
-	xor	r13d,r9d
-	xor	r12d,r11d
-	shrd	r13d,r13d,5
-	xor	r14d,ebx
-	and	r12d,r9d
-	xor	r13d,r9d
-	add	eax,DWORD[28+rsp]
-	mov	edi,ebx
-	xor	r12d,r11d
-	shrd	r14d,r14d,11
-	xor	edi,ecx
-	add	eax,r12d
-	shrd	r13d,r13d,6
-	and	r15d,edi
-	xor	r14d,ebx
-	add	eax,r13d
-	xor	r15d,ecx
-	shrd	r14d,r14d,2
-	add	r8d,eax
-	add	eax,r15d
-	mov	r13d,r8d
-	add	r14d,eax
-	shrd	r13d,r13d,14
-	mov	eax,r14d
-	mov	r12d,r9d
-	shrd	r14d,r14d,9
-	xor	r13d,r8d
-	xor	r12d,r10d
-	shrd	r13d,r13d,5
-	xor	r14d,eax
-	and	r12d,r8d
-	xor	r13d,r8d
-	add	r11d,DWORD[32+rsp]
-	mov	r15d,eax
-	xor	r12d,r10d
-	shrd	r14d,r14d,11
-	xor	r15d,ebx
-	add	r11d,r12d
-	shrd	r13d,r13d,6
-	and	edi,r15d
-	xor	r14d,eax
-	add	r11d,r13d
-	xor	edi,ebx
-	shrd	r14d,r14d,2
-	add	edx,r11d
-	add	r11d,edi
-	mov	r13d,edx
-	add	r14d,r11d
-	shrd	r13d,r13d,14
-	mov	r11d,r14d
-	mov	r12d,r8d
-	shrd	r14d,r14d,9
-	xor	r13d,edx
-	xor	r12d,r9d
-	shrd	r13d,r13d,5
-	xor	r14d,r11d
-	and	r12d,edx
-	xor	r13d,edx
-	add	r10d,DWORD[36+rsp]
-	mov	edi,r11d
-	xor	r12d,r9d
-	shrd	r14d,r14d,11
-	xor	edi,eax
-	add	r10d,r12d
-	shrd	r13d,r13d,6
-	and	r15d,edi
-	xor	r14d,r11d
-	add	r10d,r13d
-	xor	r15d,eax
-	shrd	r14d,r14d,2
-	add	ecx,r10d
-	add	r10d,r15d
-	mov	r13d,ecx
-	add	r14d,r10d
-	shrd	r13d,r13d,14
-	mov	r10d,r14d
-	mov	r12d,edx
-	shrd	r14d,r14d,9
-	xor	r13d,ecx
-	xor	r12d,r8d
-	shrd	r13d,r13d,5
-	xor	r14d,r10d
-	and	r12d,ecx
-	xor	r13d,ecx
-	add	r9d,DWORD[40+rsp]
-	mov	r15d,r10d
-	xor	r12d,r8d
-	shrd	r14d,r14d,11
-	xor	r15d,r11d
-	add	r9d,r12d
-	shrd	r13d,r13d,6
-	and	edi,r15d
-	xor	r14d,r10d
-	add	r9d,r13d
-	xor	edi,r11d
-	shrd	r14d,r14d,2
-	add	ebx,r9d
-	add	r9d,edi
-	mov	r13d,ebx
-	add	r14d,r9d
-	shrd	r13d,r13d,14
-	mov	r9d,r14d
-	mov	r12d,ecx
-	shrd	r14d,r14d,9
-	xor	r13d,ebx
-	xor	r12d,edx
-	shrd	r13d,r13d,5
-	xor	r14d,r9d
-	and	r12d,ebx
-	xor	r13d,ebx
-	add	r8d,DWORD[44+rsp]
-	mov	edi,r9d
-	xor	r12d,edx
-	shrd	r14d,r14d,11
-	xor	edi,r10d
-	add	r8d,r12d
-	shrd	r13d,r13d,6
-	and	r15d,edi
-	xor	r14d,r9d
-	add	r8d,r13d
-	xor	r15d,r10d
-	shrd	r14d,r14d,2
-	add	eax,r8d
-	add	r8d,r15d
-	mov	r13d,eax
-	add	r14d,r8d
-	shrd	r13d,r13d,14
-	mov	r8d,r14d
-	mov	r12d,ebx
-	shrd	r14d,r14d,9
-	xor	r13d,eax
-	xor	r12d,ecx
-	shrd	r13d,r13d,5
-	xor	r14d,r8d
-	and	r12d,eax
-	xor	r13d,eax
-	add	edx,DWORD[48+rsp]
-	mov	r15d,r8d
-	xor	r12d,ecx
-	shrd	r14d,r14d,11
-	xor	r15d,r9d
-	add	edx,r12d
-	shrd	r13d,r13d,6
-	and	edi,r15d
-	xor	r14d,r8d
-	add	edx,r13d
-	xor	edi,r9d
-	shrd	r14d,r14d,2
-	add	r11d,edx
-	add	edx,edi
-	mov	r13d,r11d
-	add	r14d,edx
-	shrd	r13d,r13d,14
-	mov	edx,r14d
-	mov	r12d,eax
-	shrd	r14d,r14d,9
-	xor	r13d,r11d
-	xor	r12d,ebx
-	shrd	r13d,r13d,5
-	xor	r14d,edx
-	and	r12d,r11d
-	xor	r13d,r11d
-	add	ecx,DWORD[52+rsp]
-	mov	edi,edx
-	xor	r12d,ebx
-	shrd	r14d,r14d,11
-	xor	edi,r8d
-	add	ecx,r12d
-	shrd	r13d,r13d,6
-	and	r15d,edi
-	xor	r14d,edx
-	add	ecx,r13d
-	xor	r15d,r8d
-	shrd	r14d,r14d,2
-	add	r10d,ecx
-	add	ecx,r15d
-	mov	r13d,r10d
-	add	r14d,ecx
-	shrd	r13d,r13d,14
-	mov	ecx,r14d
-	mov	r12d,r11d
-	shrd	r14d,r14d,9
-	xor	r13d,r10d
-	xor	r12d,eax
-	shrd	r13d,r13d,5
-	xor	r14d,ecx
-	and	r12d,r10d
-	xor	r13d,r10d
-	add	ebx,DWORD[56+rsp]
-	mov	r15d,ecx
-	xor	r12d,eax
-	shrd	r14d,r14d,11
-	xor	r15d,edx
-	add	ebx,r12d
-	shrd	r13d,r13d,6
-	and	edi,r15d
-	xor	r14d,ecx
-	add	ebx,r13d
-	xor	edi,edx
-	shrd	r14d,r14d,2
-	add	r9d,ebx
-	add	ebx,edi
-	mov	r13d,r9d
-	add	r14d,ebx
-	shrd	r13d,r13d,14
-	mov	ebx,r14d
-	mov	r12d,r10d
-	shrd	r14d,r14d,9
-	xor	r13d,r9d
-	xor	r12d,r11d
-	shrd	r13d,r13d,5
-	xor	r14d,ebx
-	and	r12d,r9d
-	xor	r13d,r9d
-	add	eax,DWORD[60+rsp]
-	mov	edi,ebx
-	xor	r12d,r11d
-	shrd	r14d,r14d,11
-	xor	edi,ecx
-	add	eax,r12d
-	shrd	r13d,r13d,6
-	and	r15d,edi
-	xor	r14d,ebx
-	add	eax,r13d
-	xor	r15d,ecx
-	shrd	r14d,r14d,2
-	add	r8d,eax
-	add	eax,r15d
-	mov	r13d,r8d
-	add	r14d,eax
-	mov	rdi,QWORD[((64+0))+rsp]
-	mov	eax,r14d
-
-	add	eax,DWORD[rdi]
-	lea	rsi,[64+rsi]
-	add	ebx,DWORD[4+rdi]
-	add	ecx,DWORD[8+rdi]
-	add	edx,DWORD[12+rdi]
-	add	r8d,DWORD[16+rdi]
-	add	r9d,DWORD[20+rdi]
-	add	r10d,DWORD[24+rdi]
-	add	r11d,DWORD[28+rdi]
-
-	cmp	rsi,QWORD[((64+16))+rsp]
-
-	mov	DWORD[rdi],eax
-	mov	DWORD[4+rdi],ebx
-	mov	DWORD[8+rdi],ecx
-	mov	DWORD[12+rdi],edx
-	mov	DWORD[16+rdi],r8d
-	mov	DWORD[20+rdi],r9d
-	mov	DWORD[24+rdi],r10d
-	mov	DWORD[28+rdi],r11d
-	jb	NEAR $L$loop_avx
-
-	mov	rsi,QWORD[((64+24))+rsp]
-	vzeroupper
-	movaps	xmm6,XMMWORD[((64+32))+rsp]
-	movaps	xmm7,XMMWORD[((64+48))+rsp]
-	movaps	xmm8,XMMWORD[((64+64))+rsp]
-	movaps	xmm9,XMMWORD[((64+80))+rsp]
-	mov	r15,QWORD[((-48))+rsi]
-	mov	r14,QWORD[((-40))+rsi]
-	mov	r13,QWORD[((-32))+rsi]
-	mov	r12,QWORD[((-24))+rsi]
-	mov	rbp,QWORD[((-16))+rsi]
-	mov	rbx,QWORD[((-8))+rsi]
-	lea	rsp,[rsi]
-$L$epilogue_avx:
-	mov	rdi,QWORD[8+rsp]	;WIN64 epilogue
-	mov	rsi,QWORD[16+rsp]
-	DB	0F3h,0C3h		;repret
-$L$SEH_end_sha256_block_data_order_avx:
-EXTERN	__imp_RtlVirtualUnwind
-
-ALIGN	16
-se_handler:
-	push	rsi
-	push	rdi
-	push	rbx
-	push	rbp
-	push	r12
-	push	r13
-	push	r14
-	push	r15
-	pushfq
-	sub	rsp,64
-
-	mov	rax,QWORD[120+r8]
-	mov	rbx,QWORD[248+r8]
-
-	mov	rsi,QWORD[8+r9]
-	mov	r11,QWORD[56+r9]
-
-	mov	r10d,DWORD[r11]
-	lea	r10,[r10*1+rsi]
-	cmp	rbx,r10
-	jb	NEAR $L$in_prologue
-
-	mov	rax,QWORD[152+r8]
-
-	mov	r10d,DWORD[4+r11]
-	lea	r10,[r10*1+rsi]
-	cmp	rbx,r10
-	jae	NEAR $L$in_prologue
-	mov	rsi,rax
-	mov	rax,QWORD[((64+24))+rax]
-
-	mov	rbx,QWORD[((-8))+rax]
-	mov	rbp,QWORD[((-16))+rax]
-	mov	r12,QWORD[((-24))+rax]
-	mov	r13,QWORD[((-32))+rax]
-	mov	r14,QWORD[((-40))+rax]
-	mov	r15,QWORD[((-48))+rax]
-	mov	QWORD[144+r8],rbx
-	mov	QWORD[160+r8],rbp
-	mov	QWORD[216+r8],r12
-	mov	QWORD[224+r8],r13
-	mov	QWORD[232+r8],r14
-	mov	QWORD[240+r8],r15
-
-	lea	r10,[$L$epilogue]
-	cmp	rbx,r10
-	jb	NEAR $L$in_prologue
-
-	lea	rsi,[((64+32))+rsi]
-	lea	rdi,[512+r8]
-	mov	ecx,8
-	DD	0xa548f3fc
-
-$L$in_prologue:
-	mov	rdi,QWORD[8+rax]
-	mov	rsi,QWORD[16+rax]
-	mov	QWORD[152+r8],rax
-	mov	QWORD[168+r8],rsi
-	mov	QWORD[176+r8],rdi
-
-	mov	rdi,QWORD[40+r9]
-	mov	rsi,r8
-	mov	ecx,154
-	DD	0xa548f3fc
-
-	mov	rsi,r9
-	xor	rcx,rcx
-	mov	rdx,QWORD[8+rsi]
-	mov	r8,QWORD[rsi]
-	mov	r9,QWORD[16+rsi]
-	mov	r10,QWORD[40+rsi]
-	lea	r11,[56+rsi]
-	lea	r12,[24+rsi]
-	mov	QWORD[32+rsp],r10
-	mov	QWORD[40+rsp],r11
-	mov	QWORD[48+rsp],r12
-	mov	QWORD[56+rsp],rcx
-	call	QWORD[__imp_RtlVirtualUnwind]
-
-	mov	eax,1
-	add	rsp,64
-	popfq
-	pop	r15
-	pop	r14
-	pop	r13
-	pop	r12
-	pop	rbp
-	pop	rbx
-	pop	rdi
-	pop	rsi
-	DB	0F3h,0C3h		;repret
-
-section	.pdata rdata align=4
-ALIGN	4
-	DD	$L$SEH_begin_sha256_block_data_order wrt ..imagebase
-	DD	$L$SEH_end_sha256_block_data_order wrt ..imagebase
-	DD	$L$SEH_info_sha256_block_data_order wrt ..imagebase
-	DD	$L$SEH_begin_sha256_block_data_order_ssse3 wrt ..imagebase
-	DD	$L$SEH_end_sha256_block_data_order_ssse3 wrt ..imagebase
-	DD	$L$SEH_info_sha256_block_data_order_ssse3 wrt ..imagebase
-	DD	$L$SEH_begin_sha256_block_data_order_avx wrt ..imagebase
-	DD	$L$SEH_end_sha256_block_data_order_avx wrt ..imagebase
-	DD	$L$SEH_info_sha256_block_data_order_avx wrt ..imagebase
-section	.xdata rdata align=8
-ALIGN	8
-$L$SEH_info_sha256_block_data_order:
-DB	9,0,0,0
-	DD	se_handler wrt ..imagebase
-	DD	$L$prologue wrt ..imagebase,$L$epilogue wrt ..imagebase
-$L$SEH_info_sha256_block_data_order_ssse3:
-DB	9,0,0,0
-	DD	se_handler wrt ..imagebase
-	DD	$L$prologue_ssse3 wrt ..imagebase,$L$epilogue_ssse3 wrt ..imagebase
-$L$SEH_info_sha256_block_data_order_avx:
-DB	9,0,0,0
-	DD	se_handler wrt ..imagebase
-	DD	$L$prologue_avx wrt ..imagebase,$L$epilogue_avx wrt ..imagebase
diff --git a/third_party/boringssl/win-x86_64/crypto/sha/sha512-x86_64.asm b/third_party/boringssl/win-x86_64/crypto/sha/sha512-x86_64.asm
deleted file mode 100644
index d0d7a43..0000000
--- a/third_party/boringssl/win-x86_64/crypto/sha/sha512-x86_64.asm
+++ /dev/null
@@ -1,4211 +0,0 @@
-default	rel
-%define XMMWORD
-%define YMMWORD
-%define ZMMWORD
-section	.text code align=64
-
-
-EXTERN	OPENSSL_ia32cap_P
-global	sha512_block_data_order
-
-ALIGN	16
-sha512_block_data_order:
-	mov	QWORD[8+rsp],rdi	;WIN64 prologue
-	mov	QWORD[16+rsp],rsi
-	mov	rax,rsp
-$L$SEH_begin_sha512_block_data_order:
-	mov	rdi,rcx
-	mov	rsi,rdx
-	mov	rdx,r8
-
-
-	lea	r11,[OPENSSL_ia32cap_P]
-	mov	r9d,DWORD[r11]
-	mov	r10d,DWORD[4+r11]
-	mov	r11d,DWORD[8+r11]
-	test	r10d,2048
-	jnz	NEAR $L$xop_shortcut
-	and	r9d,1073741824
-	and	r10d,268435968
-	or	r10d,r9d
-	cmp	r10d,1342177792
-	je	NEAR $L$avx_shortcut
-	mov	rax,rsp
-	push	rbx
-	push	rbp
-	push	r12
-	push	r13
-	push	r14
-	push	r15
-	shl	rdx,4
-	sub	rsp,16*8+4*8
-	lea	rdx,[rdx*8+rsi]
-	and	rsp,-64
-	mov	QWORD[((128+0))+rsp],rdi
-	mov	QWORD[((128+8))+rsp],rsi
-	mov	QWORD[((128+16))+rsp],rdx
-	mov	QWORD[((128+24))+rsp],rax
-$L$prologue:
-
-	mov	rax,QWORD[rdi]
-	mov	rbx,QWORD[8+rdi]
-	mov	rcx,QWORD[16+rdi]
-	mov	rdx,QWORD[24+rdi]
-	mov	r8,QWORD[32+rdi]
-	mov	r9,QWORD[40+rdi]
-	mov	r10,QWORD[48+rdi]
-	mov	r11,QWORD[56+rdi]
-	jmp	NEAR $L$loop
-
-ALIGN	16
-$L$loop:
-	mov	rdi,rbx
-	lea	rbp,[K512]
-	xor	rdi,rcx
-	mov	r12,QWORD[rsi]
-	mov	r13,r8
-	mov	r14,rax
-	bswap	r12
-	ror	r13,23
-	mov	r15,r9
-
-	xor	r13,r8
-	ror	r14,5
-	xor	r15,r10
-
-	mov	QWORD[rsp],r12
-	xor	r14,rax
-	and	r15,r8
-
-	ror	r13,4
-	add	r12,r11
-	xor	r15,r10
-
-	ror	r14,6
-	xor	r13,r8
-	add	r12,r15
-
-	mov	r15,rax
-	add	r12,QWORD[rbp]
-	xor	r14,rax
-
-	xor	r15,rbx
-	ror	r13,14
-	mov	r11,rbx
-
-	and	rdi,r15
-	ror	r14,28
-	add	r12,r13
-
-	xor	r11,rdi
-	add	rdx,r12
-	add	r11,r12
-
-	lea	rbp,[8+rbp]
-	add	r11,r14
-	mov	r12,QWORD[8+rsi]
-	mov	r13,rdx
-	mov	r14,r11
-	bswap	r12
-	ror	r13,23
-	mov	rdi,r8
-
-	xor	r13,rdx
-	ror	r14,5
-	xor	rdi,r9
-
-	mov	QWORD[8+rsp],r12
-	xor	r14,r11
-	and	rdi,rdx
-
-	ror	r13,4
-	add	r12,r10
-	xor	rdi,r9
-
-	ror	r14,6
-	xor	r13,rdx
-	add	r12,rdi
-
-	mov	rdi,r11
-	add	r12,QWORD[rbp]
-	xor	r14,r11
-
-	xor	rdi,rax
-	ror	r13,14
-	mov	r10,rax
-
-	and	r15,rdi
-	ror	r14,28
-	add	r12,r13
-
-	xor	r10,r15
-	add	rcx,r12
-	add	r10,r12
-
-	lea	rbp,[24+rbp]
-	add	r10,r14
-	mov	r12,QWORD[16+rsi]
-	mov	r13,rcx
-	mov	r14,r10
-	bswap	r12
-	ror	r13,23
-	mov	r15,rdx
-
-	xor	r13,rcx
-	ror	r14,5
-	xor	r15,r8
-
-	mov	QWORD[16+rsp],r12
-	xor	r14,r10
-	and	r15,rcx
-
-	ror	r13,4
-	add	r12,r9
-	xor	r15,r8
-
-	ror	r14,6
-	xor	r13,rcx
-	add	r12,r15
-
-	mov	r15,r10
-	add	r12,QWORD[rbp]
-	xor	r14,r10
-
-	xor	r15,r11
-	ror	r13,14
-	mov	r9,r11
-
-	and	rdi,r15
-	ror	r14,28
-	add	r12,r13
-
-	xor	r9,rdi
-	add	rbx,r12
-	add	r9,r12
-
-	lea	rbp,[8+rbp]
-	add	r9,r14
-	mov	r12,QWORD[24+rsi]
-	mov	r13,rbx
-	mov	r14,r9
-	bswap	r12
-	ror	r13,23
-	mov	rdi,rcx
-
-	xor	r13,rbx
-	ror	r14,5
-	xor	rdi,rdx
-
-	mov	QWORD[24+rsp],r12
-	xor	r14,r9
-	and	rdi,rbx
-
-	ror	r13,4
-	add	r12,r8
-	xor	rdi,rdx
-
-	ror	r14,6
-	xor	r13,rbx
-	add	r12,rdi
-
-	mov	rdi,r9
-	add	r12,QWORD[rbp]
-	xor	r14,r9
-
-	xor	rdi,r10
-	ror	r13,14
-	mov	r8,r10
-
-	and	r15,rdi
-	ror	r14,28
-	add	r12,r13
-
-	xor	r8,r15
-	add	rax,r12
-	add	r8,r12
-
-	lea	rbp,[24+rbp]
-	add	r8,r14
-	mov	r12,QWORD[32+rsi]
-	mov	r13,rax
-	mov	r14,r8
-	bswap	r12
-	ror	r13,23
-	mov	r15,rbx
-
-	xor	r13,rax
-	ror	r14,5
-	xor	r15,rcx
-
-	mov	QWORD[32+rsp],r12
-	xor	r14,r8
-	and	r15,rax
-
-	ror	r13,4
-	add	r12,rdx
-	xor	r15,rcx
-
-	ror	r14,6
-	xor	r13,rax
-	add	r12,r15
-
-	mov	r15,r8
-	add	r12,QWORD[rbp]
-	xor	r14,r8
-
-	xor	r15,r9
-	ror	r13,14
-	mov	rdx,r9
-
-	and	rdi,r15
-	ror	r14,28
-	add	r12,r13
-
-	xor	rdx,rdi
-	add	r11,r12
-	add	rdx,r12
-
-	lea	rbp,[8+rbp]
-	add	rdx,r14
-	mov	r12,QWORD[40+rsi]
-	mov	r13,r11
-	mov	r14,rdx
-	bswap	r12
-	ror	r13,23
-	mov	rdi,rax
-
-	xor	r13,r11
-	ror	r14,5
-	xor	rdi,rbx
-
-	mov	QWORD[40+rsp],r12
-	xor	r14,rdx
-	and	rdi,r11
-
-	ror	r13,4
-	add	r12,rcx
-	xor	rdi,rbx
-
-	ror	r14,6
-	xor	r13,r11
-	add	r12,rdi
-
-	mov	rdi,rdx
-	add	r12,QWORD[rbp]
-	xor	r14,rdx
-
-	xor	rdi,r8
-	ror	r13,14
-	mov	rcx,r8
-
-	and	r15,rdi
-	ror	r14,28
-	add	r12,r13
-
-	xor	rcx,r15
-	add	r10,r12
-	add	rcx,r12
-
-	lea	rbp,[24+rbp]
-	add	rcx,r14
-	mov	r12,QWORD[48+rsi]
-	mov	r13,r10
-	mov	r14,rcx
-	bswap	r12
-	ror	r13,23
-	mov	r15,r11
-
-	xor	r13,r10
-	ror	r14,5
-	xor	r15,rax
-
-	mov	QWORD[48+rsp],r12
-	xor	r14,rcx
-	and	r15,r10
-
-	ror	r13,4
-	add	r12,rbx
-	xor	r15,rax
-
-	ror	r14,6
-	xor	r13,r10
-	add	r12,r15
-
-	mov	r15,rcx
-	add	r12,QWORD[rbp]
-	xor	r14,rcx
-
-	xor	r15,rdx
-	ror	r13,14
-	mov	rbx,rdx
-
-	and	rdi,r15
-	ror	r14,28
-	add	r12,r13
-
-	xor	rbx,rdi
-	add	r9,r12
-	add	rbx,r12
-
-	lea	rbp,[8+rbp]
-	add	rbx,r14
-	mov	r12,QWORD[56+rsi]
-	mov	r13,r9
-	mov	r14,rbx
-	bswap	r12
-	ror	r13,23
-	mov	rdi,r10
-
-	xor	r13,r9
-	ror	r14,5
-	xor	rdi,r11
-
-	mov	QWORD[56+rsp],r12
-	xor	r14,rbx
-	and	rdi,r9
-
-	ror	r13,4
-	add	r12,rax
-	xor	rdi,r11
-
-	ror	r14,6
-	xor	r13,r9
-	add	r12,rdi
-
-	mov	rdi,rbx
-	add	r12,QWORD[rbp]
-	xor	r14,rbx
-
-	xor	rdi,rcx
-	ror	r13,14
-	mov	rax,rcx
-
-	and	r15,rdi
-	ror	r14,28
-	add	r12,r13
-
-	xor	rax,r15
-	add	r8,r12
-	add	rax,r12
-
-	lea	rbp,[24+rbp]
-	add	rax,r14
-	mov	r12,QWORD[64+rsi]
-	mov	r13,r8
-	mov	r14,rax
-	bswap	r12
-	ror	r13,23
-	mov	r15,r9
-
-	xor	r13,r8
-	ror	r14,5
-	xor	r15,r10
-
-	mov	QWORD[64+rsp],r12
-	xor	r14,rax
-	and	r15,r8
-
-	ror	r13,4
-	add	r12,r11
-	xor	r15,r10
-
-	ror	r14,6
-	xor	r13,r8
-	add	r12,r15
-
-	mov	r15,rax
-	add	r12,QWORD[rbp]
-	xor	r14,rax
-
-	xor	r15,rbx
-	ror	r13,14
-	mov	r11,rbx
-
-	and	rdi,r15
-	ror	r14,28
-	add	r12,r13
-
-	xor	r11,rdi
-	add	rdx,r12
-	add	r11,r12
-
-	lea	rbp,[8+rbp]
-	add	r11,r14
-	mov	r12,QWORD[72+rsi]
-	mov	r13,rdx
-	mov	r14,r11
-	bswap	r12
-	ror	r13,23
-	mov	rdi,r8
-
-	xor	r13,rdx
-	ror	r14,5
-	xor	rdi,r9
-
-	mov	QWORD[72+rsp],r12
-	xor	r14,r11
-	and	rdi,rdx
-
-	ror	r13,4
-	add	r12,r10
-	xor	rdi,r9
-
-	ror	r14,6
-	xor	r13,rdx
-	add	r12,rdi
-
-	mov	rdi,r11
-	add	r12,QWORD[rbp]
-	xor	r14,r11
-
-	xor	rdi,rax
-	ror	r13,14
-	mov	r10,rax
-
-	and	r15,rdi
-	ror	r14,28
-	add	r12,r13
-
-	xor	r10,r15
-	add	rcx,r12
-	add	r10,r12
-
-	lea	rbp,[24+rbp]
-	add	r10,r14
-	mov	r12,QWORD[80+rsi]
-	mov	r13,rcx
-	mov	r14,r10
-	bswap	r12
-	ror	r13,23
-	mov	r15,rdx
-
-	xor	r13,rcx
-	ror	r14,5
-	xor	r15,r8
-
-	mov	QWORD[80+rsp],r12
-	xor	r14,r10
-	and	r15,rcx
-
-	ror	r13,4
-	add	r12,r9
-	xor	r15,r8
-
-	ror	r14,6
-	xor	r13,rcx
-	add	r12,r15
-
-	mov	r15,r10
-	add	r12,QWORD[rbp]
-	xor	r14,r10
-
-	xor	r15,r11
-	ror	r13,14
-	mov	r9,r11
-
-	and	rdi,r15
-	ror	r14,28
-	add	r12,r13
-
-	xor	r9,rdi
-	add	rbx,r12
-	add	r9,r12
-
-	lea	rbp,[8+rbp]
-	add	r9,r14
-	mov	r12,QWORD[88+rsi]
-	mov	r13,rbx
-	mov	r14,r9
-	bswap	r12
-	ror	r13,23
-	mov	rdi,rcx
-
-	xor	r13,rbx
-	ror	r14,5
-	xor	rdi,rdx
-
-	mov	QWORD[88+rsp],r12
-	xor	r14,r9
-	and	rdi,rbx
-
-	ror	r13,4
-	add	r12,r8
-	xor	rdi,rdx
-
-	ror	r14,6
-	xor	r13,rbx
-	add	r12,rdi
-
-	mov	rdi,r9
-	add	r12,QWORD[rbp]
-	xor	r14,r9
-
-	xor	rdi,r10
-	ror	r13,14
-	mov	r8,r10
-
-	and	r15,rdi
-	ror	r14,28
-	add	r12,r13
-
-	xor	r8,r15
-	add	rax,r12
-	add	r8,r12
-
-	lea	rbp,[24+rbp]
-	add	r8,r14
-	mov	r12,QWORD[96+rsi]
-	mov	r13,rax
-	mov	r14,r8
-	bswap	r12
-	ror	r13,23
-	mov	r15,rbx
-
-	xor	r13,rax
-	ror	r14,5
-	xor	r15,rcx
-
-	mov	QWORD[96+rsp],r12
-	xor	r14,r8
-	and	r15,rax
-
-	ror	r13,4
-	add	r12,rdx
-	xor	r15,rcx
-
-	ror	r14,6
-	xor	r13,rax
-	add	r12,r15
-
-	mov	r15,r8
-	add	r12,QWORD[rbp]
-	xor	r14,r8
-
-	xor	r15,r9
-	ror	r13,14
-	mov	rdx,r9
-
-	and	rdi,r15
-	ror	r14,28
-	add	r12,r13
-
-	xor	rdx,rdi
-	add	r11,r12
-	add	rdx,r12
-
-	lea	rbp,[8+rbp]
-	add	rdx,r14
-	mov	r12,QWORD[104+rsi]
-	mov	r13,r11
-	mov	r14,rdx
-	bswap	r12
-	ror	r13,23
-	mov	rdi,rax
-
-	xor	r13,r11
-	ror	r14,5
-	xor	rdi,rbx
-
-	mov	QWORD[104+rsp],r12
-	xor	r14,rdx
-	and	rdi,r11
-
-	ror	r13,4
-	add	r12,rcx
-	xor	rdi,rbx
-
-	ror	r14,6
-	xor	r13,r11
-	add	r12,rdi
-
-	mov	rdi,rdx
-	add	r12,QWORD[rbp]
-	xor	r14,rdx
-
-	xor	rdi,r8
-	ror	r13,14
-	mov	rcx,r8
-
-	and	r15,rdi
-	ror	r14,28
-	add	r12,r13
-
-	xor	rcx,r15
-	add	r10,r12
-	add	rcx,r12
-
-	lea	rbp,[24+rbp]
-	add	rcx,r14
-	mov	r12,QWORD[112+rsi]
-	mov	r13,r10
-	mov	r14,rcx
-	bswap	r12
-	ror	r13,23
-	mov	r15,r11
-
-	xor	r13,r10
-	ror	r14,5
-	xor	r15,rax
-
-	mov	QWORD[112+rsp],r12
-	xor	r14,rcx
-	and	r15,r10
-
-	ror	r13,4
-	add	r12,rbx
-	xor	r15,rax
-
-	ror	r14,6
-	xor	r13,r10
-	add	r12,r15
-
-	mov	r15,rcx
-	add	r12,QWORD[rbp]
-	xor	r14,rcx
-
-	xor	r15,rdx
-	ror	r13,14
-	mov	rbx,rdx
-
-	and	rdi,r15
-	ror	r14,28
-	add	r12,r13
-
-	xor	rbx,rdi
-	add	r9,r12
-	add	rbx,r12
-
-	lea	rbp,[8+rbp]
-	add	rbx,r14
-	mov	r12,QWORD[120+rsi]
-	mov	r13,r9
-	mov	r14,rbx
-	bswap	r12
-	ror	r13,23
-	mov	rdi,r10
-
-	xor	r13,r9
-	ror	r14,5
-	xor	rdi,r11
-
-	mov	QWORD[120+rsp],r12
-	xor	r14,rbx
-	and	rdi,r9
-
-	ror	r13,4
-	add	r12,rax
-	xor	rdi,r11
-
-	ror	r14,6
-	xor	r13,r9
-	add	r12,rdi
-
-	mov	rdi,rbx
-	add	r12,QWORD[rbp]
-	xor	r14,rbx
-
-	xor	rdi,rcx
-	ror	r13,14
-	mov	rax,rcx
-
-	and	r15,rdi
-	ror	r14,28
-	add	r12,r13
-
-	xor	rax,r15
-	add	r8,r12
-	add	rax,r12
-
-	lea	rbp,[24+rbp]
-	jmp	NEAR $L$rounds_16_xx
-ALIGN	16
-$L$rounds_16_xx:
-	mov	r13,QWORD[8+rsp]
-	mov	r15,QWORD[112+rsp]
-
-	mov	r12,r13
-	ror	r13,7
-	add	rax,r14
-	mov	r14,r15
-	ror	r15,42
-
-	xor	r13,r12
-	shr	r12,7
-	ror	r13,1
-	xor	r15,r14
-	shr	r14,6
-
-	ror	r15,19
-	xor	r12,r13
-	xor	r15,r14
-	add	r12,QWORD[72+rsp]
-
-	add	r12,QWORD[rsp]
-	mov	r13,r8
-	add	r12,r15
-	mov	r14,rax
-	ror	r13,23
-	mov	r15,r9
-
-	xor	r13,r8
-	ror	r14,5
-	xor	r15,r10
-
-	mov	QWORD[rsp],r12
-	xor	r14,rax
-	and	r15,r8
-
-	ror	r13,4
-	add	r12,r11
-	xor	r15,r10
-
-	ror	r14,6
-	xor	r13,r8
-	add	r12,r15
-
-	mov	r15,rax
-	add	r12,QWORD[rbp]
-	xor	r14,rax
-
-	xor	r15,rbx
-	ror	r13,14
-	mov	r11,rbx
-
-	and	rdi,r15
-	ror	r14,28
-	add	r12,r13
-
-	xor	r11,rdi
-	add	rdx,r12
-	add	r11,r12
-
-	lea	rbp,[8+rbp]
-	mov	r13,QWORD[16+rsp]
-	mov	rdi,QWORD[120+rsp]
-
-	mov	r12,r13
-	ror	r13,7
-	add	r11,r14
-	mov	r14,rdi
-	ror	rdi,42
-
-	xor	r13,r12
-	shr	r12,7
-	ror	r13,1
-	xor	rdi,r14
-	shr	r14,6
-
-	ror	rdi,19
-	xor	r12,r13
-	xor	rdi,r14
-	add	r12,QWORD[80+rsp]
-
-	add	r12,QWORD[8+rsp]
-	mov	r13,rdx
-	add	r12,rdi
-	mov	r14,r11
-	ror	r13,23
-	mov	rdi,r8
-
-	xor	r13,rdx
-	ror	r14,5
-	xor	rdi,r9
-
-	mov	QWORD[8+rsp],r12
-	xor	r14,r11
-	and	rdi,rdx
-
-	ror	r13,4
-	add	r12,r10
-	xor	rdi,r9
-
-	ror	r14,6
-	xor	r13,rdx
-	add	r12,rdi
-
-	mov	rdi,r11
-	add	r12,QWORD[rbp]
-	xor	r14,r11
-
-	xor	rdi,rax
-	ror	r13,14
-	mov	r10,rax
-
-	and	r15,rdi
-	ror	r14,28
-	add	r12,r13
-
-	xor	r10,r15
-	add	rcx,r12
-	add	r10,r12
-
-	lea	rbp,[24+rbp]
-	mov	r13,QWORD[24+rsp]
-	mov	r15,QWORD[rsp]
-
-	mov	r12,r13
-	ror	r13,7
-	add	r10,r14
-	mov	r14,r15
-	ror	r15,42
-
-	xor	r13,r12
-	shr	r12,7
-	ror	r13,1
-	xor	r15,r14
-	shr	r14,6
-
-	ror	r15,19
-	xor	r12,r13
-	xor	r15,r14
-	add	r12,QWORD[88+rsp]
-
-	add	r12,QWORD[16+rsp]
-	mov	r13,rcx
-	add	r12,r15
-	mov	r14,r10
-	ror	r13,23
-	mov	r15,rdx
-
-	xor	r13,rcx
-	ror	r14,5
-	xor	r15,r8
-
-	mov	QWORD[16+rsp],r12
-	xor	r14,r10
-	and	r15,rcx
-
-	ror	r13,4
-	add	r12,r9
-	xor	r15,r8
-
-	ror	r14,6
-	xor	r13,rcx
-	add	r12,r15
-
-	mov	r15,r10
-	add	r12,QWORD[rbp]
-	xor	r14,r10
-
-	xor	r15,r11
-	ror	r13,14
-	mov	r9,r11
-
-	and	rdi,r15
-	ror	r14,28
-	add	r12,r13
-
-	xor	r9,rdi
-	add	rbx,r12
-	add	r9,r12
-
-	lea	rbp,[8+rbp]
-	mov	r13,QWORD[32+rsp]
-	mov	rdi,QWORD[8+rsp]
-
-	mov	r12,r13
-	ror	r13,7
-	add	r9,r14
-	mov	r14,rdi
-	ror	rdi,42
-
-	xor	r13,r12
-	shr	r12,7
-	ror	r13,1
-	xor	rdi,r14
-	shr	r14,6
-
-	ror	rdi,19
-	xor	r12,r13
-	xor	rdi,r14
-	add	r12,QWORD[96+rsp]
-
-	add	r12,QWORD[24+rsp]
-	mov	r13,rbx
-	add	r12,rdi
-	mov	r14,r9
-	ror	r13,23
-	mov	rdi,rcx
-
-	xor	r13,rbx
-	ror	r14,5
-	xor	rdi,rdx
-
-	mov	QWORD[24+rsp],r12
-	xor	r14,r9
-	and	rdi,rbx
-
-	ror	r13,4
-	add	r12,r8
-	xor	rdi,rdx
-
-	ror	r14,6
-	xor	r13,rbx
-	add	r12,rdi
-
-	mov	rdi,r9
-	add	r12,QWORD[rbp]
-	xor	r14,r9
-
-	xor	rdi,r10
-	ror	r13,14
-	mov	r8,r10
-
-	and	r15,rdi
-	ror	r14,28
-	add	r12,r13
-
-	xor	r8,r15
-	add	rax,r12
-	add	r8,r12
-
-	lea	rbp,[24+rbp]
-	mov	r13,QWORD[40+rsp]
-	mov	r15,QWORD[16+rsp]
-
-	mov	r12,r13
-	ror	r13,7
-	add	r8,r14
-	mov	r14,r15
-	ror	r15,42
-
-	xor	r13,r12
-	shr	r12,7
-	ror	r13,1
-	xor	r15,r14
-	shr	r14,6
-
-	ror	r15,19
-	xor	r12,r13
-	xor	r15,r14
-	add	r12,QWORD[104+rsp]
-
-	add	r12,QWORD[32+rsp]
-	mov	r13,rax
-	add	r12,r15
-	mov	r14,r8
-	ror	r13,23
-	mov	r15,rbx
-
-	xor	r13,rax
-	ror	r14,5
-	xor	r15,rcx
-
-	mov	QWORD[32+rsp],r12
-	xor	r14,r8
-	and	r15,rax
-
-	ror	r13,4
-	add	r12,rdx
-	xor	r15,rcx
-
-	ror	r14,6
-	xor	r13,rax
-	add	r12,r15
-
-	mov	r15,r8
-	add	r12,QWORD[rbp]
-	xor	r14,r8
-
-	xor	r15,r9
-	ror	r13,14
-	mov	rdx,r9
-
-	and	rdi,r15
-	ror	r14,28
-	add	r12,r13
-
-	xor	rdx,rdi
-	add	r11,r12
-	add	rdx,r12
-
-	lea	rbp,[8+rbp]
-	mov	r13,QWORD[48+rsp]
-	mov	rdi,QWORD[24+rsp]
-
-	mov	r12,r13
-	ror	r13,7
-	add	rdx,r14
-	mov	r14,rdi
-	ror	rdi,42
-
-	xor	r13,r12
-	shr	r12,7
-	ror	r13,1
-	xor	rdi,r14
-	shr	r14,6
-
-	ror	rdi,19
-	xor	r12,r13
-	xor	rdi,r14
-	add	r12,QWORD[112+rsp]
-
-	add	r12,QWORD[40+rsp]
-	mov	r13,r11
-	add	r12,rdi
-	mov	r14,rdx
-	ror	r13,23
-	mov	rdi,rax
-
-	xor	r13,r11
-	ror	r14,5
-	xor	rdi,rbx
-
-	mov	QWORD[40+rsp],r12
-	xor	r14,rdx
-	and	rdi,r11
-
-	ror	r13,4
-	add	r12,rcx
-	xor	rdi,rbx
-
-	ror	r14,6
-	xor	r13,r11
-	add	r12,rdi
-
-	mov	rdi,rdx
-	add	r12,QWORD[rbp]
-	xor	r14,rdx
-
-	xor	rdi,r8
-	ror	r13,14
-	mov	rcx,r8
-
-	and	r15,rdi
-	ror	r14,28
-	add	r12,r13
-
-	xor	rcx,r15
-	add	r10,r12
-	add	rcx,r12
-
-	lea	rbp,[24+rbp]
-	mov	r13,QWORD[56+rsp]
-	mov	r15,QWORD[32+rsp]
-
-	mov	r12,r13
-	ror	r13,7
-	add	rcx,r14
-	mov	r14,r15
-	ror	r15,42
-
-	xor	r13,r12
-	shr	r12,7
-	ror	r13,1
-	xor	r15,r14
-	shr	r14,6
-
-	ror	r15,19
-	xor	r12,r13
-	xor	r15,r14
-	add	r12,QWORD[120+rsp]
-
-	add	r12,QWORD[48+rsp]
-	mov	r13,r10
-	add	r12,r15
-	mov	r14,rcx
-	ror	r13,23
-	mov	r15,r11
-
-	xor	r13,r10
-	ror	r14,5
-	xor	r15,rax
-
-	mov	QWORD[48+rsp],r12
-	xor	r14,rcx
-	and	r15,r10
-
-	ror	r13,4
-	add	r12,rbx
-	xor	r15,rax
-
-	ror	r14,6
-	xor	r13,r10
-	add	r12,r15
-
-	mov	r15,rcx
-	add	r12,QWORD[rbp]
-	xor	r14,rcx
-
-	xor	r15,rdx
-	ror	r13,14
-	mov	rbx,rdx
-
-	and	rdi,r15
-	ror	r14,28
-	add	r12,r13
-
-	xor	rbx,rdi
-	add	r9,r12
-	add	rbx,r12
-
-	lea	rbp,[8+rbp]
-	mov	r13,QWORD[64+rsp]
-	mov	rdi,QWORD[40+rsp]
-
-	mov	r12,r13
-	ror	r13,7
-	add	rbx,r14
-	mov	r14,rdi
-	ror	rdi,42
-
-	xor	r13,r12
-	shr	r12,7
-	ror	r13,1
-	xor	rdi,r14
-	shr	r14,6
-
-	ror	rdi,19
-	xor	r12,r13
-	xor	rdi,r14
-	add	r12,QWORD[rsp]
-
-	add	r12,QWORD[56+rsp]
-	mov	r13,r9
-	add	r12,rdi
-	mov	r14,rbx
-	ror	r13,23
-	mov	rdi,r10
-
-	xor	r13,r9
-	ror	r14,5
-	xor	rdi,r11
-
-	mov	QWORD[56+rsp],r12
-	xor	r14,rbx
-	and	rdi,r9
-
-	ror	r13,4
-	add	r12,rax
-	xor	rdi,r11
-
-	ror	r14,6
-	xor	r13,r9
-	add	r12,rdi
-
-	mov	rdi,rbx
-	add	r12,QWORD[rbp]
-	xor	r14,rbx
-
-	xor	rdi,rcx
-	ror	r13,14
-	mov	rax,rcx
-
-	and	r15,rdi
-	ror	r14,28
-	add	r12,r13
-
-	xor	rax,r15
-	add	r8,r12
-	add	rax,r12
-
-	lea	rbp,[24+rbp]
-	mov	r13,QWORD[72+rsp]
-	mov	r15,QWORD[48+rsp]
-
-	mov	r12,r13
-	ror	r13,7
-	add	rax,r14
-	mov	r14,r15
-	ror	r15,42
-
-	xor	r13,r12
-	shr	r12,7
-	ror	r13,1
-	xor	r15,r14
-	shr	r14,6
-
-	ror	r15,19
-	xor	r12,r13
-	xor	r15,r14
-	add	r12,QWORD[8+rsp]
-
-	add	r12,QWORD[64+rsp]
-	mov	r13,r8
-	add	r12,r15
-	mov	r14,rax
-	ror	r13,23
-	mov	r15,r9
-
-	xor	r13,r8
-	ror	r14,5
-	xor	r15,r10
-
-	mov	QWORD[64+rsp],r12
-	xor	r14,rax
-	and	r15,r8
-
-	ror	r13,4
-	add	r12,r11
-	xor	r15,r10
-
-	ror	r14,6
-	xor	r13,r8
-	add	r12,r15
-
-	mov	r15,rax
-	add	r12,QWORD[rbp]
-	xor	r14,rax
-
-	xor	r15,rbx
-	ror	r13,14
-	mov	r11,rbx
-
-	and	rdi,r15
-	ror	r14,28
-	add	r12,r13
-
-	xor	r11,rdi
-	add	rdx,r12
-	add	r11,r12
-
-	lea	rbp,[8+rbp]
-	mov	r13,QWORD[80+rsp]
-	mov	rdi,QWORD[56+rsp]
-
-	mov	r12,r13
-	ror	r13,7
-	add	r11,r14
-	mov	r14,rdi
-	ror	rdi,42
-
-	xor	r13,r12
-	shr	r12,7
-	ror	r13,1
-	xor	rdi,r14
-	shr	r14,6
-
-	ror	rdi,19
-	xor	r12,r13
-	xor	rdi,r14
-	add	r12,QWORD[16+rsp]
-
-	add	r12,QWORD[72+rsp]
-	mov	r13,rdx
-	add	r12,rdi
-	mov	r14,r11
-	ror	r13,23
-	mov	rdi,r8
-
-	xor	r13,rdx
-	ror	r14,5
-	xor	rdi,r9
-
-	mov	QWORD[72+rsp],r12
-	xor	r14,r11
-	and	rdi,rdx
-
-	ror	r13,4
-	add	r12,r10
-	xor	rdi,r9
-
-	ror	r14,6
-	xor	r13,rdx
-	add	r12,rdi
-
-	mov	rdi,r11
-	add	r12,QWORD[rbp]
-	xor	r14,r11
-
-	xor	rdi,rax
-	ror	r13,14
-	mov	r10,rax
-
-	and	r15,rdi
-	ror	r14,28
-	add	r12,r13
-
-	xor	r10,r15
-	add	rcx,r12
-	add	r10,r12
-
-	lea	rbp,[24+rbp]
-	mov	r13,QWORD[88+rsp]
-	mov	r15,QWORD[64+rsp]
-
-	mov	r12,r13
-	ror	r13,7
-	add	r10,r14
-	mov	r14,r15
-	ror	r15,42
-
-	xor	r13,r12
-	shr	r12,7
-	ror	r13,1
-	xor	r15,r14
-	shr	r14,6
-
-	ror	r15,19
-	xor	r12,r13
-	xor	r15,r14
-	add	r12,QWORD[24+rsp]
-
-	add	r12,QWORD[80+rsp]
-	mov	r13,rcx
-	add	r12,r15
-	mov	r14,r10
-	ror	r13,23
-	mov	r15,rdx
-
-	xor	r13,rcx
-	ror	r14,5
-	xor	r15,r8
-
-	mov	QWORD[80+rsp],r12
-	xor	r14,r10
-	and	r15,rcx
-
-	ror	r13,4
-	add	r12,r9
-	xor	r15,r8
-
-	ror	r14,6
-	xor	r13,rcx
-	add	r12,r15
-
-	mov	r15,r10
-	add	r12,QWORD[rbp]
-	xor	r14,r10
-
-	xor	r15,r11
-	ror	r13,14
-	mov	r9,r11
-
-	and	rdi,r15
-	ror	r14,28
-	add	r12,r13
-
-	xor	r9,rdi
-	add	rbx,r12
-	add	r9,r12
-
-	lea	rbp,[8+rbp]
-	mov	r13,QWORD[96+rsp]
-	mov	rdi,QWORD[72+rsp]
-
-	mov	r12,r13
-	ror	r13,7
-	add	r9,r14
-	mov	r14,rdi
-	ror	rdi,42
-
-	xor	r13,r12
-	shr	r12,7
-	ror	r13,1
-	xor	rdi,r14
-	shr	r14,6
-
-	ror	rdi,19
-	xor	r12,r13
-	xor	rdi,r14
-	add	r12,QWORD[32+rsp]
-
-	add	r12,QWORD[88+rsp]
-	mov	r13,rbx
-	add	r12,rdi
-	mov	r14,r9
-	ror	r13,23
-	mov	rdi,rcx
-
-	xor	r13,rbx
-	ror	r14,5
-	xor	rdi,rdx
-
-	mov	QWORD[88+rsp],r12
-	xor	r14,r9
-	and	rdi,rbx
-
-	ror	r13,4
-	add	r12,r8
-	xor	rdi,rdx
-
-	ror	r14,6
-	xor	r13,rbx
-	add	r12,rdi
-
-	mov	rdi,r9
-	add	r12,QWORD[rbp]
-	xor	r14,r9
-
-	xor	rdi,r10
-	ror	r13,14
-	mov	r8,r10
-
-	and	r15,rdi
-	ror	r14,28
-	add	r12,r13
-
-	xor	r8,r15
-	add	rax,r12
-	add	r8,r12
-
-	lea	rbp,[24+rbp]
-	mov	r13,QWORD[104+rsp]
-	mov	r15,QWORD[80+rsp]
-
-	mov	r12,r13
-	ror	r13,7
-	add	r8,r14
-	mov	r14,r15
-	ror	r15,42
-
-	xor	r13,r12
-	shr	r12,7
-	ror	r13,1
-	xor	r15,r14
-	shr	r14,6
-
-	ror	r15,19
-	xor	r12,r13
-	xor	r15,r14
-	add	r12,QWORD[40+rsp]
-
-	add	r12,QWORD[96+rsp]
-	mov	r13,rax
-	add	r12,r15
-	mov	r14,r8
-	ror	r13,23
-	mov	r15,rbx
-
-	xor	r13,rax
-	ror	r14,5
-	xor	r15,rcx
-
-	mov	QWORD[96+rsp],r12
-	xor	r14,r8
-	and	r15,rax
-
-	ror	r13,4
-	add	r12,rdx
-	xor	r15,rcx
-
-	ror	r14,6
-	xor	r13,rax
-	add	r12,r15
-
-	mov	r15,r8
-	add	r12,QWORD[rbp]
-	xor	r14,r8
-
-	xor	r15,r9
-	ror	r13,14
-	mov	rdx,r9
-
-	and	rdi,r15
-	ror	r14,28
-	add	r12,r13
-
-	xor	rdx,rdi
-	add	r11,r12
-	add	rdx,r12
-
-	lea	rbp,[8+rbp]
-	mov	r13,QWORD[112+rsp]
-	mov	rdi,QWORD[88+rsp]
-
-	mov	r12,r13
-	ror	r13,7
-	add	rdx,r14
-	mov	r14,rdi
-	ror	rdi,42
-
-	xor	r13,r12
-	shr	r12,7
-	ror	r13,1
-	xor	rdi,r14
-	shr	r14,6
-
-	ror	rdi,19
-	xor	r12,r13
-	xor	rdi,r14
-	add	r12,QWORD[48+rsp]
-
-	add	r12,QWORD[104+rsp]
-	mov	r13,r11
-	add	r12,rdi
-	mov	r14,rdx
-	ror	r13,23
-	mov	rdi,rax
-
-	xor	r13,r11
-	ror	r14,5
-	xor	rdi,rbx
-
-	mov	QWORD[104+rsp],r12
-	xor	r14,rdx
-	and	rdi,r11
-
-	ror	r13,4
-	add	r12,rcx
-	xor	rdi,rbx
-
-	ror	r14,6
-	xor	r13,r11
-	add	r12,rdi
-
-	mov	rdi,rdx
-	add	r12,QWORD[rbp]
-	xor	r14,rdx
-
-	xor	rdi,r8
-	ror	r13,14
-	mov	rcx,r8
-
-	and	r15,rdi
-	ror	r14,28
-	add	r12,r13
-
-	xor	rcx,r15
-	add	r10,r12
-	add	rcx,r12
-
-	lea	rbp,[24+rbp]
-	mov	r13,QWORD[120+rsp]
-	mov	r15,QWORD[96+rsp]
-
-	mov	r12,r13
-	ror	r13,7
-	add	rcx,r14
-	mov	r14,r15
-	ror	r15,42
-
-	xor	r13,r12
-	shr	r12,7
-	ror	r13,1
-	xor	r15,r14
-	shr	r14,6
-
-	ror	r15,19
-	xor	r12,r13
-	xor	r15,r14
-	add	r12,QWORD[56+rsp]
-
-	add	r12,QWORD[112+rsp]
-	mov	r13,r10
-	add	r12,r15
-	mov	r14,rcx
-	ror	r13,23
-	mov	r15,r11
-
-	xor	r13,r10
-	ror	r14,5
-	xor	r15,rax
-
-	mov	QWORD[112+rsp],r12
-	xor	r14,rcx
-	and	r15,r10
-
-	ror	r13,4
-	add	r12,rbx
-	xor	r15,rax
-
-	ror	r14,6
-	xor	r13,r10
-	add	r12,r15
-
-	mov	r15,rcx
-	add	r12,QWORD[rbp]
-	xor	r14,rcx
-
-	xor	r15,rdx
-	ror	r13,14
-	mov	rbx,rdx
-
-	and	rdi,r15
-	ror	r14,28
-	add	r12,r13
-
-	xor	rbx,rdi
-	add	r9,r12
-	add	rbx,r12
-
-	lea	rbp,[8+rbp]
-	mov	r13,QWORD[rsp]
-	mov	rdi,QWORD[104+rsp]
-
-	mov	r12,r13
-	ror	r13,7
-	add	rbx,r14
-	mov	r14,rdi
-	ror	rdi,42
-
-	xor	r13,r12
-	shr	r12,7
-	ror	r13,1
-	xor	rdi,r14
-	shr	r14,6
-
-	ror	rdi,19
-	xor	r12,r13
-	xor	rdi,r14
-	add	r12,QWORD[64+rsp]
-
-	add	r12,QWORD[120+rsp]
-	mov	r13,r9
-	add	r12,rdi
-	mov	r14,rbx
-	ror	r13,23
-	mov	rdi,r10
-
-	xor	r13,r9
-	ror	r14,5
-	xor	rdi,r11
-
-	mov	QWORD[120+rsp],r12
-	xor	r14,rbx
-	and	rdi,r9
-
-	ror	r13,4
-	add	r12,rax
-	xor	rdi,r11
-
-	ror	r14,6
-	xor	r13,r9
-	add	r12,rdi
-
-	mov	rdi,rbx
-	add	r12,QWORD[rbp]
-	xor	r14,rbx
-
-	xor	rdi,rcx
-	ror	r13,14
-	mov	rax,rcx
-
-	and	r15,rdi
-	ror	r14,28
-	add	r12,r13
-
-	xor	rax,r15
-	add	r8,r12
-	add	rax,r12
-
-	lea	rbp,[24+rbp]
-	cmp	BYTE[7+rbp],0
-	jnz	NEAR $L$rounds_16_xx
-
-	mov	rdi,QWORD[((128+0))+rsp]
-	add	rax,r14
-	lea	rsi,[128+rsi]
-
-	add	rax,QWORD[rdi]
-	add	rbx,QWORD[8+rdi]
-	add	rcx,QWORD[16+rdi]
-	add	rdx,QWORD[24+rdi]
-	add	r8,QWORD[32+rdi]
-	add	r9,QWORD[40+rdi]
-	add	r10,QWORD[48+rdi]
-	add	r11,QWORD[56+rdi]
-
-	cmp	rsi,QWORD[((128+16))+rsp]
-
-	mov	QWORD[rdi],rax
-	mov	QWORD[8+rdi],rbx
-	mov	QWORD[16+rdi],rcx
-	mov	QWORD[24+rdi],rdx
-	mov	QWORD[32+rdi],r8
-	mov	QWORD[40+rdi],r9
-	mov	QWORD[48+rdi],r10
-	mov	QWORD[56+rdi],r11
-	jb	NEAR $L$loop
-
-	mov	rsi,QWORD[((128+24))+rsp]
-	mov	r15,QWORD[((-48))+rsi]
-	mov	r14,QWORD[((-40))+rsi]
-	mov	r13,QWORD[((-32))+rsi]
-	mov	r12,QWORD[((-24))+rsi]
-	mov	rbp,QWORD[((-16))+rsi]
-	mov	rbx,QWORD[((-8))+rsi]
-	lea	rsp,[rsi]
-$L$epilogue:
-	mov	rdi,QWORD[8+rsp]	;WIN64 epilogue
-	mov	rsi,QWORD[16+rsp]
-	DB	0F3h,0C3h		;repret
-$L$SEH_end_sha512_block_data_order:
-ALIGN	64
-
-K512:
-	DQ	0x428a2f98d728ae22,0x7137449123ef65cd
-	DQ	0x428a2f98d728ae22,0x7137449123ef65cd
-	DQ	0xb5c0fbcfec4d3b2f,0xe9b5dba58189dbbc
-	DQ	0xb5c0fbcfec4d3b2f,0xe9b5dba58189dbbc
-	DQ	0x3956c25bf348b538,0x59f111f1b605d019
-	DQ	0x3956c25bf348b538,0x59f111f1b605d019
-	DQ	0x923f82a4af194f9b,0xab1c5ed5da6d8118
-	DQ	0x923f82a4af194f9b,0xab1c5ed5da6d8118
-	DQ	0xd807aa98a3030242,0x12835b0145706fbe
-	DQ	0xd807aa98a3030242,0x12835b0145706fbe
-	DQ	0x243185be4ee4b28c,0x550c7dc3d5ffb4e2
-	DQ	0x243185be4ee4b28c,0x550c7dc3d5ffb4e2
-	DQ	0x72be5d74f27b896f,0x80deb1fe3b1696b1
-	DQ	0x72be5d74f27b896f,0x80deb1fe3b1696b1
-	DQ	0x9bdc06a725c71235,0xc19bf174cf692694
-	DQ	0x9bdc06a725c71235,0xc19bf174cf692694
-	DQ	0xe49b69c19ef14ad2,0xefbe4786384f25e3
-	DQ	0xe49b69c19ef14ad2,0xefbe4786384f25e3
-	DQ	0x0fc19dc68b8cd5b5,0x240ca1cc77ac9c65
-	DQ	0x0fc19dc68b8cd5b5,0x240ca1cc77ac9c65
-	DQ	0x2de92c6f592b0275,0x4a7484aa6ea6e483
-	DQ	0x2de92c6f592b0275,0x4a7484aa6ea6e483
-	DQ	0x5cb0a9dcbd41fbd4,0x76f988da831153b5
-	DQ	0x5cb0a9dcbd41fbd4,0x76f988da831153b5
-	DQ	0x983e5152ee66dfab,0xa831c66d2db43210
-	DQ	0x983e5152ee66dfab,0xa831c66d2db43210
-	DQ	0xb00327c898fb213f,0xbf597fc7beef0ee4
-	DQ	0xb00327c898fb213f,0xbf597fc7beef0ee4
-	DQ	0xc6e00bf33da88fc2,0xd5a79147930aa725
-	DQ	0xc6e00bf33da88fc2,0xd5a79147930aa725
-	DQ	0x06ca6351e003826f,0x142929670a0e6e70
-	DQ	0x06ca6351e003826f,0x142929670a0e6e70
-	DQ	0x27b70a8546d22ffc,0x2e1b21385c26c926
-	DQ	0x27b70a8546d22ffc,0x2e1b21385c26c926
-	DQ	0x4d2c6dfc5ac42aed,0x53380d139d95b3df
-	DQ	0x4d2c6dfc5ac42aed,0x53380d139d95b3df
-	DQ	0x650a73548baf63de,0x766a0abb3c77b2a8
-	DQ	0x650a73548baf63de,0x766a0abb3c77b2a8
-	DQ	0x81c2c92e47edaee6,0x92722c851482353b
-	DQ	0x81c2c92e47edaee6,0x92722c851482353b
-	DQ	0xa2bfe8a14cf10364,0xa81a664bbc423001
-	DQ	0xa2bfe8a14cf10364,0xa81a664bbc423001
-	DQ	0xc24b8b70d0f89791,0xc76c51a30654be30
-	DQ	0xc24b8b70d0f89791,0xc76c51a30654be30
-	DQ	0xd192e819d6ef5218,0xd69906245565a910
-	DQ	0xd192e819d6ef5218,0xd69906245565a910
-	DQ	0xf40e35855771202a,0x106aa07032bbd1b8
-	DQ	0xf40e35855771202a,0x106aa07032bbd1b8
-	DQ	0x19a4c116b8d2d0c8,0x1e376c085141ab53
-	DQ	0x19a4c116b8d2d0c8,0x1e376c085141ab53
-	DQ	0x2748774cdf8eeb99,0x34b0bcb5e19b48a8
-	DQ	0x2748774cdf8eeb99,0x34b0bcb5e19b48a8
-	DQ	0x391c0cb3c5c95a63,0x4ed8aa4ae3418acb
-	DQ	0x391c0cb3c5c95a63,0x4ed8aa4ae3418acb
-	DQ	0x5b9cca4f7763e373,0x682e6ff3d6b2b8a3
-	DQ	0x5b9cca4f7763e373,0x682e6ff3d6b2b8a3
-	DQ	0x748f82ee5defb2fc,0x78a5636f43172f60
-	DQ	0x748f82ee5defb2fc,0x78a5636f43172f60
-	DQ	0x84c87814a1f0ab72,0x8cc702081a6439ec
-	DQ	0x84c87814a1f0ab72,0x8cc702081a6439ec
-	DQ	0x90befffa23631e28,0xa4506cebde82bde9
-	DQ	0x90befffa23631e28,0xa4506cebde82bde9
-	DQ	0xbef9a3f7b2c67915,0xc67178f2e372532b
-	DQ	0xbef9a3f7b2c67915,0xc67178f2e372532b
-	DQ	0xca273eceea26619c,0xd186b8c721c0c207
-	DQ	0xca273eceea26619c,0xd186b8c721c0c207
-	DQ	0xeada7dd6cde0eb1e,0xf57d4f7fee6ed178
-	DQ	0xeada7dd6cde0eb1e,0xf57d4f7fee6ed178
-	DQ	0x06f067aa72176fba,0x0a637dc5a2c898a6
-	DQ	0x06f067aa72176fba,0x0a637dc5a2c898a6
-	DQ	0x113f9804bef90dae,0x1b710b35131c471b
-	DQ	0x113f9804bef90dae,0x1b710b35131c471b
-	DQ	0x28db77f523047d84,0x32caab7b40c72493
-	DQ	0x28db77f523047d84,0x32caab7b40c72493
-	DQ	0x3c9ebe0a15c9bebc,0x431d67c49c100d4c
-	DQ	0x3c9ebe0a15c9bebc,0x431d67c49c100d4c
-	DQ	0x4cc5d4becb3e42b6,0x597f299cfc657e2a
-	DQ	0x4cc5d4becb3e42b6,0x597f299cfc657e2a
-	DQ	0x5fcb6fab3ad6faec,0x6c44198c4a475817
-	DQ	0x5fcb6fab3ad6faec,0x6c44198c4a475817
-
-	DQ	0x0001020304050607,0x08090a0b0c0d0e0f
-	DQ	0x0001020304050607,0x08090a0b0c0d0e0f
-DB	83,72,65,53,49,50,32,98,108,111,99,107,32,116,114,97
-DB	110,115,102,111,114,109,32,102,111,114,32,120,56,54,95,54
-DB	52,44,32,67,82,89,80,84,79,71,65,77,83,32,98,121
-DB	32,60,97,112,112,114,111,64,111,112,101,110,115,115,108,46
-DB	111,114,103,62,0
-
-ALIGN	64
-sha512_block_data_order_xop:
-	mov	QWORD[8+rsp],rdi	;WIN64 prologue
-	mov	QWORD[16+rsp],rsi
-	mov	rax,rsp
-$L$SEH_begin_sha512_block_data_order_xop:
-	mov	rdi,rcx
-	mov	rsi,rdx
-	mov	rdx,r8
-
-
-$L$xop_shortcut:
-	mov	rax,rsp
-	push	rbx
-	push	rbp
-	push	r12
-	push	r13
-	push	r14
-	push	r15
-	shl	rdx,4
-	sub	rsp,256
-	lea	rdx,[rdx*8+rsi]
-	and	rsp,-64
-	mov	QWORD[((128+0))+rsp],rdi
-	mov	QWORD[((128+8))+rsp],rsi
-	mov	QWORD[((128+16))+rsp],rdx
-	mov	QWORD[((128+24))+rsp],rax
-	movaps	XMMWORD[(128+32)+rsp],xmm6
-	movaps	XMMWORD[(128+48)+rsp],xmm7
-	movaps	XMMWORD[(128+64)+rsp],xmm8
-	movaps	XMMWORD[(128+80)+rsp],xmm9
-	movaps	XMMWORD[(128+96)+rsp],xmm10
-	movaps	XMMWORD[(128+112)+rsp],xmm11
-$L$prologue_xop:
-
-	vzeroupper
-	mov	rax,QWORD[rdi]
-	mov	rbx,QWORD[8+rdi]
-	mov	rcx,QWORD[16+rdi]
-	mov	rdx,QWORD[24+rdi]
-	mov	r8,QWORD[32+rdi]
-	mov	r9,QWORD[40+rdi]
-	mov	r10,QWORD[48+rdi]
-	mov	r11,QWORD[56+rdi]
-	jmp	NEAR $L$loop_xop
-ALIGN	16
-$L$loop_xop:
-	vmovdqa	xmm11,XMMWORD[((K512+1280))]
-	vmovdqu	xmm0,XMMWORD[rsi]
-	lea	rbp,[((K512+128))]
-	vmovdqu	xmm1,XMMWORD[16+rsi]
-	vmovdqu	xmm2,XMMWORD[32+rsi]
-	vpshufb	xmm0,xmm0,xmm11
-	vmovdqu	xmm3,XMMWORD[48+rsi]
-	vpshufb	xmm1,xmm1,xmm11
-	vmovdqu	xmm4,XMMWORD[64+rsi]
-	vpshufb	xmm2,xmm2,xmm11
-	vmovdqu	xmm5,XMMWORD[80+rsi]
-	vpshufb	xmm3,xmm3,xmm11
-	vmovdqu	xmm6,XMMWORD[96+rsi]
-	vpshufb	xmm4,xmm4,xmm11
-	vmovdqu	xmm7,XMMWORD[112+rsi]
-	vpshufb	xmm5,xmm5,xmm11
-	vpaddq	xmm8,xmm0,XMMWORD[((-128))+rbp]
-	vpshufb	xmm6,xmm6,xmm11
-	vpaddq	xmm9,xmm1,XMMWORD[((-96))+rbp]
-	vpshufb	xmm7,xmm7,xmm11
-	vpaddq	xmm10,xmm2,XMMWORD[((-64))+rbp]
-	vpaddq	xmm11,xmm3,XMMWORD[((-32))+rbp]
-	vmovdqa	XMMWORD[rsp],xmm8
-	vpaddq	xmm8,xmm4,XMMWORD[rbp]
-	vmovdqa	XMMWORD[16+rsp],xmm9
-	vpaddq	xmm9,xmm5,XMMWORD[32+rbp]
-	vmovdqa	XMMWORD[32+rsp],xmm10
-	vpaddq	xmm10,xmm6,XMMWORD[64+rbp]
-	vmovdqa	XMMWORD[48+rsp],xmm11
-	vpaddq	xmm11,xmm7,XMMWORD[96+rbp]
-	vmovdqa	XMMWORD[64+rsp],xmm8
-	mov	r14,rax
-	vmovdqa	XMMWORD[80+rsp],xmm9
-	mov	rdi,rbx
-	vmovdqa	XMMWORD[96+rsp],xmm10
-	xor	rdi,rcx
-	vmovdqa	XMMWORD[112+rsp],xmm11
-	mov	r13,r8
-	jmp	NEAR $L$xop_00_47
-
-ALIGN	16
-$L$xop_00_47:
-	add	rbp,256
-	vpalignr	xmm8,xmm1,xmm0,8
-	ror	r13,23
-	mov	rax,r14
-	vpalignr	xmm11,xmm5,xmm4,8
-	mov	r12,r9
-	ror	r14,5
-DB	143,72,120,195,200,56
-	xor	r13,r8
-	xor	r12,r10
-	vpsrlq	xmm8,xmm8,7
-	ror	r13,4
-	xor	r14,rax
-	vpaddq	xmm0,xmm0,xmm11
-	and	r12,r8
-	xor	r13,r8
-	add	r11,QWORD[rsp]
-	mov	r15,rax
-DB	143,72,120,195,209,7
-	xor	r12,r10
-	ror	r14,6
-	vpxor	xmm8,xmm8,xmm9
-	xor	r15,rbx
-	add	r11,r12
-	ror	r13,14
-	and	rdi,r15
-DB	143,104,120,195,223,3
-	xor	r14,rax
-	add	r11,r13
-	vpxor	xmm8,xmm8,xmm10
-	xor	rdi,rbx
-	ror	r14,28
-	vpsrlq	xmm10,xmm7,6
-	add	rdx,r11
-	add	r11,rdi
-	vpaddq	xmm0,xmm0,xmm8
-	mov	r13,rdx
-	add	r14,r11
-DB	143,72,120,195,203,42
-	ror	r13,23
-	mov	r11,r14
-	vpxor	xmm11,xmm11,xmm10
-	mov	r12,r8
-	ror	r14,5
-	xor	r13,rdx
-	xor	r12,r9
-	vpxor	xmm11,xmm11,xmm9
-	ror	r13,4
-	xor	r14,r11
-	and	r12,rdx
-	xor	r13,rdx
-	vpaddq	xmm0,xmm0,xmm11
-	add	r10,QWORD[8+rsp]
-	mov	rdi,r11
-	xor	r12,r9
-	ror	r14,6
-	vpaddq	xmm10,xmm0,XMMWORD[((-128))+rbp]
-	xor	rdi,rax
-	add	r10,r12
-	ror	r13,14
-	and	r15,rdi
-	xor	r14,r11
-	add	r10,r13
-	xor	r15,rax
-	ror	r14,28
-	add	rcx,r10
-	add	r10,r15
-	mov	r13,rcx
-	add	r14,r10
-	vmovdqa	XMMWORD[rsp],xmm10
-	vpalignr	xmm8,xmm2,xmm1,8
-	ror	r13,23
-	mov	r10,r14
-	vpalignr	xmm11,xmm6,xmm5,8
-	mov	r12,rdx
-	ror	r14,5
-DB	143,72,120,195,200,56
-	xor	r13,rcx
-	xor	r12,r8
-	vpsrlq	xmm8,xmm8,7
-	ror	r13,4
-	xor	r14,r10
-	vpaddq	xmm1,xmm1,xmm11
-	and	r12,rcx
-	xor	r13,rcx
-	add	r9,QWORD[16+rsp]
-	mov	r15,r10
-DB	143,72,120,195,209,7
-	xor	r12,r8
-	ror	r14,6
-	vpxor	xmm8,xmm8,xmm9
-	xor	r15,r11
-	add	r9,r12
-	ror	r13,14
-	and	rdi,r15
-DB	143,104,120,195,216,3
-	xor	r14,r10
-	add	r9,r13
-	vpxor	xmm8,xmm8,xmm10
-	xor	rdi,r11
-	ror	r14,28
-	vpsrlq	xmm10,xmm0,6
-	add	rbx,r9
-	add	r9,rdi
-	vpaddq	xmm1,xmm1,xmm8
-	mov	r13,rbx
-	add	r14,r9
-DB	143,72,120,195,203,42
-	ror	r13,23
-	mov	r9,r14
-	vpxor	xmm11,xmm11,xmm10
-	mov	r12,rcx
-	ror	r14,5
-	xor	r13,rbx
-	xor	r12,rdx
-	vpxor	xmm11,xmm11,xmm9
-	ror	r13,4
-	xor	r14,r9
-	and	r12,rbx
-	xor	r13,rbx
-	vpaddq	xmm1,xmm1,xmm11
-	add	r8,QWORD[24+rsp]
-	mov	rdi,r9
-	xor	r12,rdx
-	ror	r14,6
-	vpaddq	xmm10,xmm1,XMMWORD[((-96))+rbp]
-	xor	rdi,r10
-	add	r8,r12
-	ror	r13,14
-	and	r15,rdi
-	xor	r14,r9
-	add	r8,r13
-	xor	r15,r10
-	ror	r14,28
-	add	rax,r8
-	add	r8,r15
-	mov	r13,rax
-	add	r14,r8
-	vmovdqa	XMMWORD[16+rsp],xmm10
-	vpalignr	xmm8,xmm3,xmm2,8
-	ror	r13,23
-	mov	r8,r14
-	vpalignr	xmm11,xmm7,xmm6,8
-	mov	r12,rbx
-	ror	r14,5
-DB	143,72,120,195,200,56
-	xor	r13,rax
-	xor	r12,rcx
-	vpsrlq	xmm8,xmm8,7
-	ror	r13,4
-	xor	r14,r8
-	vpaddq	xmm2,xmm2,xmm11
-	and	r12,rax
-	xor	r13,rax
-	add	rdx,QWORD[32+rsp]
-	mov	r15,r8
-DB	143,72,120,195,209,7
-	xor	r12,rcx
-	ror	r14,6
-	vpxor	xmm8,xmm8,xmm9
-	xor	r15,r9
-	add	rdx,r12
-	ror	r13,14
-	and	rdi,r15
-DB	143,104,120,195,217,3
-	xor	r14,r8
-	add	rdx,r13
-	vpxor	xmm8,xmm8,xmm10
-	xor	rdi,r9
-	ror	r14,28
-	vpsrlq	xmm10,xmm1,6
-	add	r11,rdx
-	add	rdx,rdi
-	vpaddq	xmm2,xmm2,xmm8
-	mov	r13,r11
-	add	r14,rdx
-DB	143,72,120,195,203,42
-	ror	r13,23
-	mov	rdx,r14
-	vpxor	xmm11,xmm11,xmm10
-	mov	r12,rax
-	ror	r14,5
-	xor	r13,r11
-	xor	r12,rbx
-	vpxor	xmm11,xmm11,xmm9
-	ror	r13,4
-	xor	r14,rdx
-	and	r12,r11
-	xor	r13,r11
-	vpaddq	xmm2,xmm2,xmm11
-	add	rcx,QWORD[40+rsp]
-	mov	rdi,rdx
-	xor	r12,rbx
-	ror	r14,6
-	vpaddq	xmm10,xmm2,XMMWORD[((-64))+rbp]
-	xor	rdi,r8
-	add	rcx,r12
-	ror	r13,14
-	and	r15,rdi
-	xor	r14,rdx
-	add	rcx,r13
-	xor	r15,r8
-	ror	r14,28
-	add	r10,rcx
-	add	rcx,r15
-	mov	r13,r10
-	add	r14,rcx
-	vmovdqa	XMMWORD[32+rsp],xmm10
-	vpalignr	xmm8,xmm4,xmm3,8
-	ror	r13,23
-	mov	rcx,r14
-	vpalignr	xmm11,xmm0,xmm7,8
-	mov	r12,r11
-	ror	r14,5
-DB	143,72,120,195,200,56
-	xor	r13,r10
-	xor	r12,rax
-	vpsrlq	xmm8,xmm8,7
-	ror	r13,4
-	xor	r14,rcx
-	vpaddq	xmm3,xmm3,xmm11
-	and	r12,r10
-	xor	r13,r10
-	add	rbx,QWORD[48+rsp]
-	mov	r15,rcx
-DB	143,72,120,195,209,7
-	xor	r12,rax
-	ror	r14,6
-	vpxor	xmm8,xmm8,xmm9
-	xor	r15,rdx
-	add	rbx,r12
-	ror	r13,14
-	and	rdi,r15
-DB	143,104,120,195,218,3
-	xor	r14,rcx
-	add	rbx,r13
-	vpxor	xmm8,xmm8,xmm10
-	xor	rdi,rdx
-	ror	r14,28
-	vpsrlq	xmm10,xmm2,6
-	add	r9,rbx
-	add	rbx,rdi
-	vpaddq	xmm3,xmm3,xmm8
-	mov	r13,r9
-	add	r14,rbx
-DB	143,72,120,195,203,42
-	ror	r13,23
-	mov	rbx,r14
-	vpxor	xmm11,xmm11,xmm10
-	mov	r12,r10
-	ror	r14,5
-	xor	r13,r9
-	xor	r12,r11
-	vpxor	xmm11,xmm11,xmm9
-	ror	r13,4
-	xor	r14,rbx
-	and	r12,r9
-	xor	r13,r9
-	vpaddq	xmm3,xmm3,xmm11
-	add	rax,QWORD[56+rsp]
-	mov	rdi,rbx
-	xor	r12,r11
-	ror	r14,6
-	vpaddq	xmm10,xmm3,XMMWORD[((-32))+rbp]
-	xor	rdi,rcx
-	add	rax,r12
-	ror	r13,14
-	and	r15,rdi
-	xor	r14,rbx
-	add	rax,r13
-	xor	r15,rcx
-	ror	r14,28
-	add	r8,rax
-	add	rax,r15
-	mov	r13,r8
-	add	r14,rax
-	vmovdqa	XMMWORD[48+rsp],xmm10
-	vpalignr	xmm8,xmm5,xmm4,8
-	ror	r13,23
-	mov	rax,r14
-	vpalignr	xmm11,xmm1,xmm0,8
-	mov	r12,r9
-	ror	r14,5
-DB	143,72,120,195,200,56
-	xor	r13,r8
-	xor	r12,r10
-	vpsrlq	xmm8,xmm8,7
-	ror	r13,4
-	xor	r14,rax
-	vpaddq	xmm4,xmm4,xmm11
-	and	r12,r8
-	xor	r13,r8
-	add	r11,QWORD[64+rsp]
-	mov	r15,rax
-DB	143,72,120,195,209,7
-	xor	r12,r10
-	ror	r14,6
-	vpxor	xmm8,xmm8,xmm9
-	xor	r15,rbx
-	add	r11,r12
-	ror	r13,14
-	and	rdi,r15
-DB	143,104,120,195,219,3
-	xor	r14,rax
-	add	r11,r13
-	vpxor	xmm8,xmm8,xmm10
-	xor	rdi,rbx
-	ror	r14,28
-	vpsrlq	xmm10,xmm3,6
-	add	rdx,r11
-	add	r11,rdi
-	vpaddq	xmm4,xmm4,xmm8
-	mov	r13,rdx
-	add	r14,r11
-DB	143,72,120,195,203,42
-	ror	r13,23
-	mov	r11,r14
-	vpxor	xmm11,xmm11,xmm10
-	mov	r12,r8
-	ror	r14,5
-	xor	r13,rdx
-	xor	r12,r9
-	vpxor	xmm11,xmm11,xmm9
-	ror	r13,4
-	xor	r14,r11
-	and	r12,rdx
-	xor	r13,rdx
-	vpaddq	xmm4,xmm4,xmm11
-	add	r10,QWORD[72+rsp]
-	mov	rdi,r11
-	xor	r12,r9
-	ror	r14,6
-	vpaddq	xmm10,xmm4,XMMWORD[rbp]
-	xor	rdi,rax
-	add	r10,r12
-	ror	r13,14
-	and	r15,rdi
-	xor	r14,r11
-	add	r10,r13
-	xor	r15,rax
-	ror	r14,28
-	add	rcx,r10
-	add	r10,r15
-	mov	r13,rcx
-	add	r14,r10
-	vmovdqa	XMMWORD[64+rsp],xmm10
-	vpalignr	xmm8,xmm6,xmm5,8
-	ror	r13,23
-	mov	r10,r14
-	vpalignr	xmm11,xmm2,xmm1,8
-	mov	r12,rdx
-	ror	r14,5
-DB	143,72,120,195,200,56
-	xor	r13,rcx
-	xor	r12,r8
-	vpsrlq	xmm8,xmm8,7
-	ror	r13,4
-	xor	r14,r10
-	vpaddq	xmm5,xmm5,xmm11
-	and	r12,rcx
-	xor	r13,rcx
-	add	r9,QWORD[80+rsp]
-	mov	r15,r10
-DB	143,72,120,195,209,7
-	xor	r12,r8
-	ror	r14,6
-	vpxor	xmm8,xmm8,xmm9
-	xor	r15,r11
-	add	r9,r12
-	ror	r13,14
-	and	rdi,r15
-DB	143,104,120,195,220,3
-	xor	r14,r10
-	add	r9,r13
-	vpxor	xmm8,xmm8,xmm10
-	xor	rdi,r11
-	ror	r14,28
-	vpsrlq	xmm10,xmm4,6
-	add	rbx,r9
-	add	r9,rdi
-	vpaddq	xmm5,xmm5,xmm8
-	mov	r13,rbx
-	add	r14,r9
-DB	143,72,120,195,203,42
-	ror	r13,23
-	mov	r9,r14
-	vpxor	xmm11,xmm11,xmm10
-	mov	r12,rcx
-	ror	r14,5
-	xor	r13,rbx
-	xor	r12,rdx
-	vpxor	xmm11,xmm11,xmm9
-	ror	r13,4
-	xor	r14,r9
-	and	r12,rbx
-	xor	r13,rbx
-	vpaddq	xmm5,xmm5,xmm11
-	add	r8,QWORD[88+rsp]
-	mov	rdi,r9
-	xor	r12,rdx
-	ror	r14,6
-	vpaddq	xmm10,xmm5,XMMWORD[32+rbp]
-	xor	rdi,r10
-	add	r8,r12
-	ror	r13,14
-	and	r15,rdi
-	xor	r14,r9
-	add	r8,r13
-	xor	r15,r10
-	ror	r14,28
-	add	rax,r8
-	add	r8,r15
-	mov	r13,rax
-	add	r14,r8
-	vmovdqa	XMMWORD[80+rsp],xmm10
-	vpalignr	xmm8,xmm7,xmm6,8
-	ror	r13,23
-	mov	r8,r14
-	vpalignr	xmm11,xmm3,xmm2,8
-	mov	r12,rbx
-	ror	r14,5
-DB	143,72,120,195,200,56
-	xor	r13,rax
-	xor	r12,rcx
-	vpsrlq	xmm8,xmm8,7
-	ror	r13,4
-	xor	r14,r8
-	vpaddq	xmm6,xmm6,xmm11
-	and	r12,rax
-	xor	r13,rax
-	add	rdx,QWORD[96+rsp]
-	mov	r15,r8
-DB	143,72,120,195,209,7
-	xor	r12,rcx
-	ror	r14,6
-	vpxor	xmm8,xmm8,xmm9
-	xor	r15,r9
-	add	rdx,r12
-	ror	r13,14
-	and	rdi,r15
-DB	143,104,120,195,221,3
-	xor	r14,r8
-	add	rdx,r13
-	vpxor	xmm8,xmm8,xmm10
-	xor	rdi,r9
-	ror	r14,28
-	vpsrlq	xmm10,xmm5,6
-	add	r11,rdx
-	add	rdx,rdi
-	vpaddq	xmm6,xmm6,xmm8
-	mov	r13,r11
-	add	r14,rdx
-DB	143,72,120,195,203,42
-	ror	r13,23
-	mov	rdx,r14
-	vpxor	xmm11,xmm11,xmm10
-	mov	r12,rax
-	ror	r14,5
-	xor	r13,r11
-	xor	r12,rbx
-	vpxor	xmm11,xmm11,xmm9
-	ror	r13,4
-	xor	r14,rdx
-	and	r12,r11
-	xor	r13,r11
-	vpaddq	xmm6,xmm6,xmm11
-	add	rcx,QWORD[104+rsp]
-	mov	rdi,rdx
-	xor	r12,rbx
-	ror	r14,6
-	vpaddq	xmm10,xmm6,XMMWORD[64+rbp]
-	xor	rdi,r8
-	add	rcx,r12
-	ror	r13,14
-	and	r15,rdi
-	xor	r14,rdx
-	add	rcx,r13
-	xor	r15,r8
-	ror	r14,28
-	add	r10,rcx
-	add	rcx,r15
-	mov	r13,r10
-	add	r14,rcx
-	vmovdqa	XMMWORD[96+rsp],xmm10
-	vpalignr	xmm8,xmm0,xmm7,8
-	ror	r13,23
-	mov	rcx,r14
-	vpalignr	xmm11,xmm4,xmm3,8
-	mov	r12,r11
-	ror	r14,5
-DB	143,72,120,195,200,56
-	xor	r13,r10
-	xor	r12,rax
-	vpsrlq	xmm8,xmm8,7
-	ror	r13,4
-	xor	r14,rcx
-	vpaddq	xmm7,xmm7,xmm11
-	and	r12,r10
-	xor	r13,r10
-	add	rbx,QWORD[112+rsp]
-	mov	r15,rcx
-DB	143,72,120,195,209,7
-	xor	r12,rax
-	ror	r14,6
-	vpxor	xmm8,xmm8,xmm9
-	xor	r15,rdx
-	add	rbx,r12
-	ror	r13,14
-	and	rdi,r15
-DB	143,104,120,195,222,3
-	xor	r14,rcx
-	add	rbx,r13
-	vpxor	xmm8,xmm8,xmm10
-	xor	rdi,rdx
-	ror	r14,28
-	vpsrlq	xmm10,xmm6,6
-	add	r9,rbx
-	add	rbx,rdi
-	vpaddq	xmm7,xmm7,xmm8
-	mov	r13,r9
-	add	r14,rbx
-DB	143,72,120,195,203,42
-	ror	r13,23
-	mov	rbx,r14
-	vpxor	xmm11,xmm11,xmm10
-	mov	r12,r10
-	ror	r14,5
-	xor	r13,r9
-	xor	r12,r11
-	vpxor	xmm11,xmm11,xmm9
-	ror	r13,4
-	xor	r14,rbx
-	and	r12,r9
-	xor	r13,r9
-	vpaddq	xmm7,xmm7,xmm11
-	add	rax,QWORD[120+rsp]
-	mov	rdi,rbx
-	xor	r12,r11
-	ror	r14,6
-	vpaddq	xmm10,xmm7,XMMWORD[96+rbp]
-	xor	rdi,rcx
-	add	rax,r12
-	ror	r13,14
-	and	r15,rdi
-	xor	r14,rbx
-	add	rax,r13
-	xor	r15,rcx
-	ror	r14,28
-	add	r8,rax
-	add	rax,r15
-	mov	r13,r8
-	add	r14,rax
-	vmovdqa	XMMWORD[112+rsp],xmm10
-	cmp	BYTE[135+rbp],0
-	jne	NEAR $L$xop_00_47
-	ror	r13,23
-	mov	rax,r14
-	mov	r12,r9
-	ror	r14,5
-	xor	r13,r8
-	xor	r12,r10
-	ror	r13,4
-	xor	r14,rax
-	and	r12,r8
-	xor	r13,r8
-	add	r11,QWORD[rsp]
-	mov	r15,rax
-	xor	r12,r10
-	ror	r14,6
-	xor	r15,rbx
-	add	r11,r12
-	ror	r13,14
-	and	rdi,r15
-	xor	r14,rax
-	add	r11,r13
-	xor	rdi,rbx
-	ror	r14,28
-	add	rdx,r11
-	add	r11,rdi
-	mov	r13,rdx
-	add	r14,r11
-	ror	r13,23
-	mov	r11,r14
-	mov	r12,r8
-	ror	r14,5
-	xor	r13,rdx
-	xor	r12,r9
-	ror	r13,4
-	xor	r14,r11
-	and	r12,rdx
-	xor	r13,rdx
-	add	r10,QWORD[8+rsp]
-	mov	rdi,r11
-	xor	r12,r9
-	ror	r14,6
-	xor	rdi,rax
-	add	r10,r12
-	ror	r13,14
-	and	r15,rdi
-	xor	r14,r11
-	add	r10,r13
-	xor	r15,rax
-	ror	r14,28
-	add	rcx,r10
-	add	r10,r15
-	mov	r13,rcx
-	add	r14,r10
-	ror	r13,23
-	mov	r10,r14
-	mov	r12,rdx
-	ror	r14,5
-	xor	r13,rcx
-	xor	r12,r8
-	ror	r13,4
-	xor	r14,r10
-	and	r12,rcx
-	xor	r13,rcx
-	add	r9,QWORD[16+rsp]
-	mov	r15,r10
-	xor	r12,r8
-	ror	r14,6
-	xor	r15,r11
-	add	r9,r12
-	ror	r13,14
-	and	rdi,r15
-	xor	r14,r10
-	add	r9,r13
-	xor	rdi,r11
-	ror	r14,28
-	add	rbx,r9
-	add	r9,rdi
-	mov	r13,rbx
-	add	r14,r9
-	ror	r13,23
-	mov	r9,r14
-	mov	r12,rcx
-	ror	r14,5
-	xor	r13,rbx
-	xor	r12,rdx
-	ror	r13,4
-	xor	r14,r9
-	and	r12,rbx
-	xor	r13,rbx
-	add	r8,QWORD[24+rsp]
-	mov	rdi,r9
-	xor	r12,rdx
-	ror	r14,6
-	xor	rdi,r10
-	add	r8,r12
-	ror	r13,14
-	and	r15,rdi
-	xor	r14,r9
-	add	r8,r13
-	xor	r15,r10
-	ror	r14,28
-	add	rax,r8
-	add	r8,r15
-	mov	r13,rax
-	add	r14,r8
-	ror	r13,23
-	mov	r8,r14
-	mov	r12,rbx
-	ror	r14,5
-	xor	r13,rax
-	xor	r12,rcx
-	ror	r13,4
-	xor	r14,r8
-	and	r12,rax
-	xor	r13,rax
-	add	rdx,QWORD[32+rsp]
-	mov	r15,r8
-	xor	r12,rcx
-	ror	r14,6
-	xor	r15,r9
-	add	rdx,r12
-	ror	r13,14
-	and	rdi,r15
-	xor	r14,r8
-	add	rdx,r13
-	xor	rdi,r9
-	ror	r14,28
-	add	r11,rdx
-	add	rdx,rdi
-	mov	r13,r11
-	add	r14,rdx
-	ror	r13,23
-	mov	rdx,r14
-	mov	r12,rax
-	ror	r14,5
-	xor	r13,r11
-	xor	r12,rbx
-	ror	r13,4
-	xor	r14,rdx
-	and	r12,r11
-	xor	r13,r11
-	add	rcx,QWORD[40+rsp]
-	mov	rdi,rdx
-	xor	r12,rbx
-	ror	r14,6
-	xor	rdi,r8
-	add	rcx,r12
-	ror	r13,14
-	and	r15,rdi
-	xor	r14,rdx
-	add	rcx,r13
-	xor	r15,r8
-	ror	r14,28
-	add	r10,rcx
-	add	rcx,r15
-	mov	r13,r10
-	add	r14,rcx
-	ror	r13,23
-	mov	rcx,r14
-	mov	r12,r11
-	ror	r14,5
-	xor	r13,r10
-	xor	r12,rax
-	ror	r13,4
-	xor	r14,rcx
-	and	r12,r10
-	xor	r13,r10
-	add	rbx,QWORD[48+rsp]
-	mov	r15,rcx
-	xor	r12,rax
-	ror	r14,6
-	xor	r15,rdx
-	add	rbx,r12
-	ror	r13,14
-	and	rdi,r15
-	xor	r14,rcx
-	add	rbx,r13
-	xor	rdi,rdx
-	ror	r14,28
-	add	r9,rbx
-	add	rbx,rdi
-	mov	r13,r9
-	add	r14,rbx
-	ror	r13,23
-	mov	rbx,r14
-	mov	r12,r10
-	ror	r14,5
-	xor	r13,r9
-	xor	r12,r11
-	ror	r13,4
-	xor	r14,rbx
-	and	r12,r9
-	xor	r13,r9
-	add	rax,QWORD[56+rsp]
-	mov	rdi,rbx
-	xor	r12,r11
-	ror	r14,6
-	xor	rdi,rcx
-	add	rax,r12
-	ror	r13,14
-	and	r15,rdi
-	xor	r14,rbx
-	add	rax,r13
-	xor	r15,rcx
-	ror	r14,28
-	add	r8,rax
-	add	rax,r15
-	mov	r13,r8
-	add	r14,rax
-	ror	r13,23
-	mov	rax,r14
-	mov	r12,r9
-	ror	r14,5
-	xor	r13,r8
-	xor	r12,r10
-	ror	r13,4
-	xor	r14,rax
-	and	r12,r8
-	xor	r13,r8
-	add	r11,QWORD[64+rsp]
-	mov	r15,rax
-	xor	r12,r10
-	ror	r14,6
-	xor	r15,rbx
-	add	r11,r12
-	ror	r13,14
-	and	rdi,r15
-	xor	r14,rax
-	add	r11,r13
-	xor	rdi,rbx
-	ror	r14,28
-	add	rdx,r11
-	add	r11,rdi
-	mov	r13,rdx
-	add	r14,r11
-	ror	r13,23
-	mov	r11,r14
-	mov	r12,r8
-	ror	r14,5
-	xor	r13,rdx
-	xor	r12,r9
-	ror	r13,4
-	xor	r14,r11
-	and	r12,rdx
-	xor	r13,rdx
-	add	r10,QWORD[72+rsp]
-	mov	rdi,r11
-	xor	r12,r9
-	ror	r14,6
-	xor	rdi,rax
-	add	r10,r12
-	ror	r13,14
-	and	r15,rdi
-	xor	r14,r11
-	add	r10,r13
-	xor	r15,rax
-	ror	r14,28
-	add	rcx,r10
-	add	r10,r15
-	mov	r13,rcx
-	add	r14,r10
-	ror	r13,23
-	mov	r10,r14
-	mov	r12,rdx
-	ror	r14,5
-	xor	r13,rcx
-	xor	r12,r8
-	ror	r13,4
-	xor	r14,r10
-	and	r12,rcx
-	xor	r13,rcx
-	add	r9,QWORD[80+rsp]
-	mov	r15,r10
-	xor	r12,r8
-	ror	r14,6
-	xor	r15,r11
-	add	r9,r12
-	ror	r13,14
-	and	rdi,r15
-	xor	r14,r10
-	add	r9,r13
-	xor	rdi,r11
-	ror	r14,28
-	add	rbx,r9
-	add	r9,rdi
-	mov	r13,rbx
-	add	r14,r9
-	ror	r13,23
-	mov	r9,r14
-	mov	r12,rcx
-	ror	r14,5
-	xor	r13,rbx
-	xor	r12,rdx
-	ror	r13,4
-	xor	r14,r9
-	and	r12,rbx
-	xor	r13,rbx
-	add	r8,QWORD[88+rsp]
-	mov	rdi,r9
-	xor	r12,rdx
-	ror	r14,6
-	xor	rdi,r10
-	add	r8,r12
-	ror	r13,14
-	and	r15,rdi
-	xor	r14,r9
-	add	r8,r13
-	xor	r15,r10
-	ror	r14,28
-	add	rax,r8
-	add	r8,r15
-	mov	r13,rax
-	add	r14,r8
-	ror	r13,23
-	mov	r8,r14
-	mov	r12,rbx
-	ror	r14,5
-	xor	r13,rax
-	xor	r12,rcx
-	ror	r13,4
-	xor	r14,r8
-	and	r12,rax
-	xor	r13,rax
-	add	rdx,QWORD[96+rsp]
-	mov	r15,r8
-	xor	r12,rcx
-	ror	r14,6
-	xor	r15,r9
-	add	rdx,r12
-	ror	r13,14
-	and	rdi,r15
-	xor	r14,r8
-	add	rdx,r13
-	xor	rdi,r9
-	ror	r14,28
-	add	r11,rdx
-	add	rdx,rdi
-	mov	r13,r11
-	add	r14,rdx
-	ror	r13,23
-	mov	rdx,r14
-	mov	r12,rax
-	ror	r14,5
-	xor	r13,r11
-	xor	r12,rbx
-	ror	r13,4
-	xor	r14,rdx
-	and	r12,r11
-	xor	r13,r11
-	add	rcx,QWORD[104+rsp]
-	mov	rdi,rdx
-	xor	r12,rbx
-	ror	r14,6
-	xor	rdi,r8
-	add	rcx,r12
-	ror	r13,14
-	and	r15,rdi
-	xor	r14,rdx
-	add	rcx,r13
-	xor	r15,r8
-	ror	r14,28
-	add	r10,rcx
-	add	rcx,r15
-	mov	r13,r10
-	add	r14,rcx
-	ror	r13,23
-	mov	rcx,r14
-	mov	r12,r11
-	ror	r14,5
-	xor	r13,r10
-	xor	r12,rax
-	ror	r13,4
-	xor	r14,rcx
-	and	r12,r10
-	xor	r13,r10
-	add	rbx,QWORD[112+rsp]
-	mov	r15,rcx
-	xor	r12,rax
-	ror	r14,6
-	xor	r15,rdx
-	add	rbx,r12
-	ror	r13,14
-	and	rdi,r15
-	xor	r14,rcx
-	add	rbx,r13
-	xor	rdi,rdx
-	ror	r14,28
-	add	r9,rbx
-	add	rbx,rdi
-	mov	r13,r9
-	add	r14,rbx
-	ror	r13,23
-	mov	rbx,r14
-	mov	r12,r10
-	ror	r14,5
-	xor	r13,r9
-	xor	r12,r11
-	ror	r13,4
-	xor	r14,rbx
-	and	r12,r9
-	xor	r13,r9
-	add	rax,QWORD[120+rsp]
-	mov	rdi,rbx
-	xor	r12,r11
-	ror	r14,6
-	xor	rdi,rcx
-	add	rax,r12
-	ror	r13,14
-	and	r15,rdi
-	xor	r14,rbx
-	add	rax,r13
-	xor	r15,rcx
-	ror	r14,28
-	add	r8,rax
-	add	rax,r15
-	mov	r13,r8
-	add	r14,rax
-	mov	rdi,QWORD[((128+0))+rsp]
-	mov	rax,r14
-
-	add	rax,QWORD[rdi]
-	lea	rsi,[128+rsi]
-	add	rbx,QWORD[8+rdi]
-	add	rcx,QWORD[16+rdi]
-	add	rdx,QWORD[24+rdi]
-	add	r8,QWORD[32+rdi]
-	add	r9,QWORD[40+rdi]
-	add	r10,QWORD[48+rdi]
-	add	r11,QWORD[56+rdi]
-
-	cmp	rsi,QWORD[((128+16))+rsp]
-
-	mov	QWORD[rdi],rax
-	mov	QWORD[8+rdi],rbx
-	mov	QWORD[16+rdi],rcx
-	mov	QWORD[24+rdi],rdx
-	mov	QWORD[32+rdi],r8
-	mov	QWORD[40+rdi],r9
-	mov	QWORD[48+rdi],r10
-	mov	QWORD[56+rdi],r11
-	jb	NEAR $L$loop_xop
-
-	mov	rsi,QWORD[((128+24))+rsp]
-	vzeroupper
-	movaps	xmm6,XMMWORD[((128+32))+rsp]
-	movaps	xmm7,XMMWORD[((128+48))+rsp]
-	movaps	xmm8,XMMWORD[((128+64))+rsp]
-	movaps	xmm9,XMMWORD[((128+80))+rsp]
-	movaps	xmm10,XMMWORD[((128+96))+rsp]
-	movaps	xmm11,XMMWORD[((128+112))+rsp]
-	mov	r15,QWORD[((-48))+rsi]
-	mov	r14,QWORD[((-40))+rsi]
-	mov	r13,QWORD[((-32))+rsi]
-	mov	r12,QWORD[((-24))+rsi]
-	mov	rbp,QWORD[((-16))+rsi]
-	mov	rbx,QWORD[((-8))+rsi]
-	lea	rsp,[rsi]
-$L$epilogue_xop:
-	mov	rdi,QWORD[8+rsp]	;WIN64 epilogue
-	mov	rsi,QWORD[16+rsp]
-	DB	0F3h,0C3h		;repret
-$L$SEH_end_sha512_block_data_order_xop:
-
-ALIGN	64
-sha512_block_data_order_avx:
-	mov	QWORD[8+rsp],rdi	;WIN64 prologue
-	mov	QWORD[16+rsp],rsi
-	mov	rax,rsp
-$L$SEH_begin_sha512_block_data_order_avx:
-	mov	rdi,rcx
-	mov	rsi,rdx
-	mov	rdx,r8
-
-
-$L$avx_shortcut:
-	mov	rax,rsp
-	push	rbx
-	push	rbp
-	push	r12
-	push	r13
-	push	r14
-	push	r15
-	shl	rdx,4
-	sub	rsp,256
-	lea	rdx,[rdx*8+rsi]
-	and	rsp,-64
-	mov	QWORD[((128+0))+rsp],rdi
-	mov	QWORD[((128+8))+rsp],rsi
-	mov	QWORD[((128+16))+rsp],rdx
-	mov	QWORD[((128+24))+rsp],rax
-	movaps	XMMWORD[(128+32)+rsp],xmm6
-	movaps	XMMWORD[(128+48)+rsp],xmm7
-	movaps	XMMWORD[(128+64)+rsp],xmm8
-	movaps	XMMWORD[(128+80)+rsp],xmm9
-	movaps	XMMWORD[(128+96)+rsp],xmm10
-	movaps	XMMWORD[(128+112)+rsp],xmm11
-$L$prologue_avx:
-
-	vzeroupper
-	mov	rax,QWORD[rdi]
-	mov	rbx,QWORD[8+rdi]
-	mov	rcx,QWORD[16+rdi]
-	mov	rdx,QWORD[24+rdi]
-	mov	r8,QWORD[32+rdi]
-	mov	r9,QWORD[40+rdi]
-	mov	r10,QWORD[48+rdi]
-	mov	r11,QWORD[56+rdi]
-	jmp	NEAR $L$loop_avx
-ALIGN	16
-$L$loop_avx:
-	vmovdqa	xmm11,XMMWORD[((K512+1280))]
-	vmovdqu	xmm0,XMMWORD[rsi]
-	lea	rbp,[((K512+128))]
-	vmovdqu	xmm1,XMMWORD[16+rsi]
-	vmovdqu	xmm2,XMMWORD[32+rsi]
-	vpshufb	xmm0,xmm0,xmm11
-	vmovdqu	xmm3,XMMWORD[48+rsi]
-	vpshufb	xmm1,xmm1,xmm11
-	vmovdqu	xmm4,XMMWORD[64+rsi]
-	vpshufb	xmm2,xmm2,xmm11
-	vmovdqu	xmm5,XMMWORD[80+rsi]
-	vpshufb	xmm3,xmm3,xmm11
-	vmovdqu	xmm6,XMMWORD[96+rsi]
-	vpshufb	xmm4,xmm4,xmm11
-	vmovdqu	xmm7,XMMWORD[112+rsi]
-	vpshufb	xmm5,xmm5,xmm11
-	vpaddq	xmm8,xmm0,XMMWORD[((-128))+rbp]
-	vpshufb	xmm6,xmm6,xmm11
-	vpaddq	xmm9,xmm1,XMMWORD[((-96))+rbp]
-	vpshufb	xmm7,xmm7,xmm11
-	vpaddq	xmm10,xmm2,XMMWORD[((-64))+rbp]
-	vpaddq	xmm11,xmm3,XMMWORD[((-32))+rbp]
-	vmovdqa	XMMWORD[rsp],xmm8
-	vpaddq	xmm8,xmm4,XMMWORD[rbp]
-	vmovdqa	XMMWORD[16+rsp],xmm9
-	vpaddq	xmm9,xmm5,XMMWORD[32+rbp]
-	vmovdqa	XMMWORD[32+rsp],xmm10
-	vpaddq	xmm10,xmm6,XMMWORD[64+rbp]
-	vmovdqa	XMMWORD[48+rsp],xmm11
-	vpaddq	xmm11,xmm7,XMMWORD[96+rbp]
-	vmovdqa	XMMWORD[64+rsp],xmm8
-	mov	r14,rax
-	vmovdqa	XMMWORD[80+rsp],xmm9
-	mov	rdi,rbx
-	vmovdqa	XMMWORD[96+rsp],xmm10
-	xor	rdi,rcx
-	vmovdqa	XMMWORD[112+rsp],xmm11
-	mov	r13,r8
-	jmp	NEAR $L$avx_00_47
-
-ALIGN	16
-$L$avx_00_47:
-	add	rbp,256
-	vpalignr	xmm8,xmm1,xmm0,8
-	shrd	r13,r13,23
-	mov	rax,r14
-	vpalignr	xmm11,xmm5,xmm4,8
-	mov	r12,r9
-	shrd	r14,r14,5
-	vpsrlq	xmm10,xmm8,1
-	xor	r13,r8
-	xor	r12,r10
-	vpaddq	xmm0,xmm0,xmm11
-	shrd	r13,r13,4
-	xor	r14,rax
-	vpsrlq	xmm11,xmm8,7
-	and	r12,r8
-	xor	r13,r8
-	vpsllq	xmm9,xmm8,56
-	add	r11,QWORD[rsp]
-	mov	r15,rax
-	vpxor	xmm8,xmm11,xmm10
-	xor	r12,r10
-	shrd	r14,r14,6
-	vpsrlq	xmm10,xmm10,7
-	xor	r15,rbx
-	add	r11,r12
-	vpxor	xmm8,xmm8,xmm9
-	shrd	r13,r13,14
-	and	rdi,r15
-	vpsllq	xmm9,xmm9,7
-	xor	r14,rax
-	add	r11,r13
-	vpxor	xmm8,xmm8,xmm10
-	xor	rdi,rbx
-	shrd	r14,r14,28
-	vpsrlq	xmm11,xmm7,6
-	add	rdx,r11
-	add	r11,rdi
-	vpxor	xmm8,xmm8,xmm9
-	mov	r13,rdx
-	add	r14,r11
-	vpsllq	xmm10,xmm7,3
-	shrd	r13,r13,23
-	mov	r11,r14
-	vpaddq	xmm0,xmm0,xmm8
-	mov	r12,r8
-	shrd	r14,r14,5
-	vpsrlq	xmm9,xmm7,19
-	xor	r13,rdx
-	xor	r12,r9
-	vpxor	xmm11,xmm11,xmm10
-	shrd	r13,r13,4
-	xor	r14,r11
-	vpsllq	xmm10,xmm10,42
-	and	r12,rdx
-	xor	r13,rdx
-	vpxor	xmm11,xmm11,xmm9
-	add	r10,QWORD[8+rsp]
-	mov	rdi,r11
-	vpsrlq	xmm9,xmm9,42
-	xor	r12,r9
-	shrd	r14,r14,6
-	vpxor	xmm11,xmm11,xmm10
-	xor	rdi,rax
-	add	r10,r12
-	vpxor	xmm11,xmm11,xmm9
-	shrd	r13,r13,14
-	and	r15,rdi
-	vpaddq	xmm0,xmm0,xmm11
-	xor	r14,r11
-	add	r10,r13
-	vpaddq	xmm10,xmm0,XMMWORD[((-128))+rbp]
-	xor	r15,rax
-	shrd	r14,r14,28
-	add	rcx,r10
-	add	r10,r15
-	mov	r13,rcx
-	add	r14,r10
-	vmovdqa	XMMWORD[rsp],xmm10
-	vpalignr	xmm8,xmm2,xmm1,8
-	shrd	r13,r13,23
-	mov	r10,r14
-	vpalignr	xmm11,xmm6,xmm5,8
-	mov	r12,rdx
-	shrd	r14,r14,5
-	vpsrlq	xmm10,xmm8,1
-	xor	r13,rcx
-	xor	r12,r8
-	vpaddq	xmm1,xmm1,xmm11
-	shrd	r13,r13,4
-	xor	r14,r10
-	vpsrlq	xmm11,xmm8,7
-	and	r12,rcx
-	xor	r13,rcx
-	vpsllq	xmm9,xmm8,56
-	add	r9,QWORD[16+rsp]
-	mov	r15,r10
-	vpxor	xmm8,xmm11,xmm10
-	xor	r12,r8
-	shrd	r14,r14,6
-	vpsrlq	xmm10,xmm10,7
-	xor	r15,r11
-	add	r9,r12
-	vpxor	xmm8,xmm8,xmm9
-	shrd	r13,r13,14
-	and	rdi,r15
-	vpsllq	xmm9,xmm9,7
-	xor	r14,r10
-	add	r9,r13
-	vpxor	xmm8,xmm8,xmm10
-	xor	rdi,r11
-	shrd	r14,r14,28
-	vpsrlq	xmm11,xmm0,6
-	add	rbx,r9
-	add	r9,rdi
-	vpxor	xmm8,xmm8,xmm9
-	mov	r13,rbx
-	add	r14,r9
-	vpsllq	xmm10,xmm0,3
-	shrd	r13,r13,23
-	mov	r9,r14
-	vpaddq	xmm1,xmm1,xmm8
-	mov	r12,rcx
-	shrd	r14,r14,5
-	vpsrlq	xmm9,xmm0,19
-	xor	r13,rbx
-	xor	r12,rdx
-	vpxor	xmm11,xmm11,xmm10
-	shrd	r13,r13,4
-	xor	r14,r9
-	vpsllq	xmm10,xmm10,42
-	and	r12,rbx
-	xor	r13,rbx
-	vpxor	xmm11,xmm11,xmm9
-	add	r8,QWORD[24+rsp]
-	mov	rdi,r9
-	vpsrlq	xmm9,xmm9,42
-	xor	r12,rdx
-	shrd	r14,r14,6
-	vpxor	xmm11,xmm11,xmm10
-	xor	rdi,r10
-	add	r8,r12
-	vpxor	xmm11,xmm11,xmm9
-	shrd	r13,r13,14
-	and	r15,rdi
-	vpaddq	xmm1,xmm1,xmm11
-	xor	r14,r9
-	add	r8,r13
-	vpaddq	xmm10,xmm1,XMMWORD[((-96))+rbp]
-	xor	r15,r10
-	shrd	r14,r14,28
-	add	rax,r8
-	add	r8,r15
-	mov	r13,rax
-	add	r14,r8
-	vmovdqa	XMMWORD[16+rsp],xmm10
-	vpalignr	xmm8,xmm3,xmm2,8
-	shrd	r13,r13,23
-	mov	r8,r14
-	vpalignr	xmm11,xmm7,xmm6,8
-	mov	r12,rbx
-	shrd	r14,r14,5
-	vpsrlq	xmm10,xmm8,1
-	xor	r13,rax
-	xor	r12,rcx
-	vpaddq	xmm2,xmm2,xmm11
-	shrd	r13,r13,4
-	xor	r14,r8
-	vpsrlq	xmm11,xmm8,7
-	and	r12,rax
-	xor	r13,rax
-	vpsllq	xmm9,xmm8,56
-	add	rdx,QWORD[32+rsp]
-	mov	r15,r8
-	vpxor	xmm8,xmm11,xmm10
-	xor	r12,rcx
-	shrd	r14,r14,6
-	vpsrlq	xmm10,xmm10,7
-	xor	r15,r9
-	add	rdx,r12
-	vpxor	xmm8,xmm8,xmm9
-	shrd	r13,r13,14
-	and	rdi,r15
-	vpsllq	xmm9,xmm9,7
-	xor	r14,r8
-	add	rdx,r13
-	vpxor	xmm8,xmm8,xmm10
-	xor	rdi,r9
-	shrd	r14,r14,28
-	vpsrlq	xmm11,xmm1,6
-	add	r11,rdx
-	add	rdx,rdi
-	vpxor	xmm8,xmm8,xmm9
-	mov	r13,r11
-	add	r14,rdx
-	vpsllq	xmm10,xmm1,3
-	shrd	r13,r13,23
-	mov	rdx,r14
-	vpaddq	xmm2,xmm2,xmm8
-	mov	r12,rax
-	shrd	r14,r14,5
-	vpsrlq	xmm9,xmm1,19
-	xor	r13,r11
-	xor	r12,rbx
-	vpxor	xmm11,xmm11,xmm10
-	shrd	r13,r13,4
-	xor	r14,rdx
-	vpsllq	xmm10,xmm10,42
-	and	r12,r11
-	xor	r13,r11
-	vpxor	xmm11,xmm11,xmm9
-	add	rcx,QWORD[40+rsp]
-	mov	rdi,rdx
-	vpsrlq	xmm9,xmm9,42
-	xor	r12,rbx
-	shrd	r14,r14,6
-	vpxor	xmm11,xmm11,xmm10
-	xor	rdi,r8
-	add	rcx,r12
-	vpxor	xmm11,xmm11,xmm9
-	shrd	r13,r13,14
-	and	r15,rdi
-	vpaddq	xmm2,xmm2,xmm11
-	xor	r14,rdx
-	add	rcx,r13
-	vpaddq	xmm10,xmm2,XMMWORD[((-64))+rbp]
-	xor	r15,r8
-	shrd	r14,r14,28
-	add	r10,rcx
-	add	rcx,r15
-	mov	r13,r10
-	add	r14,rcx
-	vmovdqa	XMMWORD[32+rsp],xmm10
-	vpalignr	xmm8,xmm4,xmm3,8
-	shrd	r13,r13,23
-	mov	rcx,r14
-	vpalignr	xmm11,xmm0,xmm7,8
-	mov	r12,r11
-	shrd	r14,r14,5
-	vpsrlq	xmm10,xmm8,1
-	xor	r13,r10
-	xor	r12,rax
-	vpaddq	xmm3,xmm3,xmm11
-	shrd	r13,r13,4
-	xor	r14,rcx
-	vpsrlq	xmm11,xmm8,7
-	and	r12,r10
-	xor	r13,r10
-	vpsllq	xmm9,xmm8,56
-	add	rbx,QWORD[48+rsp]
-	mov	r15,rcx
-	vpxor	xmm8,xmm11,xmm10
-	xor	r12,rax
-	shrd	r14,r14,6
-	vpsrlq	xmm10,xmm10,7
-	xor	r15,rdx
-	add	rbx,r12
-	vpxor	xmm8,xmm8,xmm9
-	shrd	r13,r13,14
-	and	rdi,r15
-	vpsllq	xmm9,xmm9,7
-	xor	r14,rcx
-	add	rbx,r13
-	vpxor	xmm8,xmm8,xmm10
-	xor	rdi,rdx
-	shrd	r14,r14,28
-	vpsrlq	xmm11,xmm2,6
-	add	r9,rbx
-	add	rbx,rdi
-	vpxor	xmm8,xmm8,xmm9
-	mov	r13,r9
-	add	r14,rbx
-	vpsllq	xmm10,xmm2,3
-	shrd	r13,r13,23
-	mov	rbx,r14
-	vpaddq	xmm3,xmm3,xmm8
-	mov	r12,r10
-	shrd	r14,r14,5
-	vpsrlq	xmm9,xmm2,19
-	xor	r13,r9
-	xor	r12,r11
-	vpxor	xmm11,xmm11,xmm10
-	shrd	r13,r13,4
-	xor	r14,rbx
-	vpsllq	xmm10,xmm10,42
-	and	r12,r9
-	xor	r13,r9
-	vpxor	xmm11,xmm11,xmm9
-	add	rax,QWORD[56+rsp]
-	mov	rdi,rbx
-	vpsrlq	xmm9,xmm9,42
-	xor	r12,r11
-	shrd	r14,r14,6
-	vpxor	xmm11,xmm11,xmm10
-	xor	rdi,rcx
-	add	rax,r12
-	vpxor	xmm11,xmm11,xmm9
-	shrd	r13,r13,14
-	and	r15,rdi
-	vpaddq	xmm3,xmm3,xmm11
-	xor	r14,rbx
-	add	rax,r13
-	vpaddq	xmm10,xmm3,XMMWORD[((-32))+rbp]
-	xor	r15,rcx
-	shrd	r14,r14,28
-	add	r8,rax
-	add	rax,r15
-	mov	r13,r8
-	add	r14,rax
-	vmovdqa	XMMWORD[48+rsp],xmm10
-	vpalignr	xmm8,xmm5,xmm4,8
-	shrd	r13,r13,23
-	mov	rax,r14
-	vpalignr	xmm11,xmm1,xmm0,8
-	mov	r12,r9
-	shrd	r14,r14,5
-	vpsrlq	xmm10,xmm8,1
-	xor	r13,r8
-	xor	r12,r10
-	vpaddq	xmm4,xmm4,xmm11
-	shrd	r13,r13,4
-	xor	r14,rax
-	vpsrlq	xmm11,xmm8,7
-	and	r12,r8
-	xor	r13,r8
-	vpsllq	xmm9,xmm8,56
-	add	r11,QWORD[64+rsp]
-	mov	r15,rax
-	vpxor	xmm8,xmm11,xmm10
-	xor	r12,r10
-	shrd	r14,r14,6
-	vpsrlq	xmm10,xmm10,7
-	xor	r15,rbx
-	add	r11,r12
-	vpxor	xmm8,xmm8,xmm9
-	shrd	r13,r13,14
-	and	rdi,r15
-	vpsllq	xmm9,xmm9,7
-	xor	r14,rax
-	add	r11,r13
-	vpxor	xmm8,xmm8,xmm10
-	xor	rdi,rbx
-	shrd	r14,r14,28
-	vpsrlq	xmm11,xmm3,6
-	add	rdx,r11
-	add	r11,rdi
-	vpxor	xmm8,xmm8,xmm9
-	mov	r13,rdx
-	add	r14,r11
-	vpsllq	xmm10,xmm3,3
-	shrd	r13,r13,23
-	mov	r11,r14
-	vpaddq	xmm4,xmm4,xmm8
-	mov	r12,r8
-	shrd	r14,r14,5
-	vpsrlq	xmm9,xmm3,19
-	xor	r13,rdx
-	xor	r12,r9
-	vpxor	xmm11,xmm11,xmm10
-	shrd	r13,r13,4
-	xor	r14,r11
-	vpsllq	xmm10,xmm10,42
-	and	r12,rdx
-	xor	r13,rdx
-	vpxor	xmm11,xmm11,xmm9
-	add	r10,QWORD[72+rsp]
-	mov	rdi,r11
-	vpsrlq	xmm9,xmm9,42
-	xor	r12,r9
-	shrd	r14,r14,6
-	vpxor	xmm11,xmm11,xmm10
-	xor	rdi,rax
-	add	r10,r12
-	vpxor	xmm11,xmm11,xmm9
-	shrd	r13,r13,14
-	and	r15,rdi
-	vpaddq	xmm4,xmm4,xmm11
-	xor	r14,r11
-	add	r10,r13
-	vpaddq	xmm10,xmm4,XMMWORD[rbp]
-	xor	r15,rax
-	shrd	r14,r14,28
-	add	rcx,r10
-	add	r10,r15
-	mov	r13,rcx
-	add	r14,r10
-	vmovdqa	XMMWORD[64+rsp],xmm10
-	vpalignr	xmm8,xmm6,xmm5,8
-	shrd	r13,r13,23
-	mov	r10,r14
-	vpalignr	xmm11,xmm2,xmm1,8
-	mov	r12,rdx
-	shrd	r14,r14,5
-	vpsrlq	xmm10,xmm8,1
-	xor	r13,rcx
-	xor	r12,r8
-	vpaddq	xmm5,xmm5,xmm11
-	shrd	r13,r13,4
-	xor	r14,r10
-	vpsrlq	xmm11,xmm8,7
-	and	r12,rcx
-	xor	r13,rcx
-	vpsllq	xmm9,xmm8,56
-	add	r9,QWORD[80+rsp]
-	mov	r15,r10
-	vpxor	xmm8,xmm11,xmm10
-	xor	r12,r8
-	shrd	r14,r14,6
-	vpsrlq	xmm10,xmm10,7
-	xor	r15,r11
-	add	r9,r12
-	vpxor	xmm8,xmm8,xmm9
-	shrd	r13,r13,14
-	and	rdi,r15
-	vpsllq	xmm9,xmm9,7
-	xor	r14,r10
-	add	r9,r13
-	vpxor	xmm8,xmm8,xmm10
-	xor	rdi,r11
-	shrd	r14,r14,28
-	vpsrlq	xmm11,xmm4,6
-	add	rbx,r9
-	add	r9,rdi
-	vpxor	xmm8,xmm8,xmm9
-	mov	r13,rbx
-	add	r14,r9
-	vpsllq	xmm10,xmm4,3
-	shrd	r13,r13,23
-	mov	r9,r14
-	vpaddq	xmm5,xmm5,xmm8
-	mov	r12,rcx
-	shrd	r14,r14,5
-	vpsrlq	xmm9,xmm4,19
-	xor	r13,rbx
-	xor	r12,rdx
-	vpxor	xmm11,xmm11,xmm10
-	shrd	r13,r13,4
-	xor	r14,r9
-	vpsllq	xmm10,xmm10,42
-	and	r12,rbx
-	xor	r13,rbx
-	vpxor	xmm11,xmm11,xmm9
-	add	r8,QWORD[88+rsp]
-	mov	rdi,r9
-	vpsrlq	xmm9,xmm9,42
-	xor	r12,rdx
-	shrd	r14,r14,6
-	vpxor	xmm11,xmm11,xmm10
-	xor	rdi,r10
-	add	r8,r12
-	vpxor	xmm11,xmm11,xmm9
-	shrd	r13,r13,14
-	and	r15,rdi
-	vpaddq	xmm5,xmm5,xmm11
-	xor	r14,r9
-	add	r8,r13
-	vpaddq	xmm10,xmm5,XMMWORD[32+rbp]
-	xor	r15,r10
-	shrd	r14,r14,28
-	add	rax,r8
-	add	r8,r15
-	mov	r13,rax
-	add	r14,r8
-	vmovdqa	XMMWORD[80+rsp],xmm10
-	vpalignr	xmm8,xmm7,xmm6,8
-	shrd	r13,r13,23
-	mov	r8,r14
-	vpalignr	xmm11,xmm3,xmm2,8
-	mov	r12,rbx
-	shrd	r14,r14,5
-	vpsrlq	xmm10,xmm8,1
-	xor	r13,rax
-	xor	r12,rcx
-	vpaddq	xmm6,xmm6,xmm11
-	shrd	r13,r13,4
-	xor	r14,r8
-	vpsrlq	xmm11,xmm8,7
-	and	r12,rax
-	xor	r13,rax
-	vpsllq	xmm9,xmm8,56
-	add	rdx,QWORD[96+rsp]
-	mov	r15,r8
-	vpxor	xmm8,xmm11,xmm10
-	xor	r12,rcx
-	shrd	r14,r14,6
-	vpsrlq	xmm10,xmm10,7
-	xor	r15,r9
-	add	rdx,r12
-	vpxor	xmm8,xmm8,xmm9
-	shrd	r13,r13,14
-	and	rdi,r15
-	vpsllq	xmm9,xmm9,7
-	xor	r14,r8
-	add	rdx,r13
-	vpxor	xmm8,xmm8,xmm10
-	xor	rdi,r9
-	shrd	r14,r14,28
-	vpsrlq	xmm11,xmm5,6
-	add	r11,rdx
-	add	rdx,rdi
-	vpxor	xmm8,xmm8,xmm9
-	mov	r13,r11
-	add	r14,rdx
-	vpsllq	xmm10,xmm5,3
-	shrd	r13,r13,23
-	mov	rdx,r14
-	vpaddq	xmm6,xmm6,xmm8
-	mov	r12,rax
-	shrd	r14,r14,5
-	vpsrlq	xmm9,xmm5,19
-	xor	r13,r11
-	xor	r12,rbx
-	vpxor	xmm11,xmm11,xmm10
-	shrd	r13,r13,4
-	xor	r14,rdx
-	vpsllq	xmm10,xmm10,42
-	and	r12,r11
-	xor	r13,r11
-	vpxor	xmm11,xmm11,xmm9
-	add	rcx,QWORD[104+rsp]
-	mov	rdi,rdx
-	vpsrlq	xmm9,xmm9,42
-	xor	r12,rbx
-	shrd	r14,r14,6
-	vpxor	xmm11,xmm11,xmm10
-	xor	rdi,r8
-	add	rcx,r12
-	vpxor	xmm11,xmm11,xmm9
-	shrd	r13,r13,14
-	and	r15,rdi
-	vpaddq	xmm6,xmm6,xmm11
-	xor	r14,rdx
-	add	rcx,r13
-	vpaddq	xmm10,xmm6,XMMWORD[64+rbp]
-	xor	r15,r8
-	shrd	r14,r14,28
-	add	r10,rcx
-	add	rcx,r15
-	mov	r13,r10
-	add	r14,rcx
-	vmovdqa	XMMWORD[96+rsp],xmm10
-	vpalignr	xmm8,xmm0,xmm7,8
-	shrd	r13,r13,23
-	mov	rcx,r14
-	vpalignr	xmm11,xmm4,xmm3,8
-	mov	r12,r11
-	shrd	r14,r14,5
-	vpsrlq	xmm10,xmm8,1
-	xor	r13,r10
-	xor	r12,rax
-	vpaddq	xmm7,xmm7,xmm11
-	shrd	r13,r13,4
-	xor	r14,rcx
-	vpsrlq	xmm11,xmm8,7
-	and	r12,r10
-	xor	r13,r10
-	vpsllq	xmm9,xmm8,56
-	add	rbx,QWORD[112+rsp]
-	mov	r15,rcx
-	vpxor	xmm8,xmm11,xmm10
-	xor	r12,rax
-	shrd	r14,r14,6
-	vpsrlq	xmm10,xmm10,7
-	xor	r15,rdx
-	add	rbx,r12
-	vpxor	xmm8,xmm8,xmm9
-	shrd	r13,r13,14
-	and	rdi,r15
-	vpsllq	xmm9,xmm9,7
-	xor	r14,rcx
-	add	rbx,r13
-	vpxor	xmm8,xmm8,xmm10
-	xor	rdi,rdx
-	shrd	r14,r14,28
-	vpsrlq	xmm11,xmm6,6
-	add	r9,rbx
-	add	rbx,rdi
-	vpxor	xmm8,xmm8,xmm9
-	mov	r13,r9
-	add	r14,rbx
-	vpsllq	xmm10,xmm6,3
-	shrd	r13,r13,23
-	mov	rbx,r14
-	vpaddq	xmm7,xmm7,xmm8
-	mov	r12,r10
-	shrd	r14,r14,5
-	vpsrlq	xmm9,xmm6,19
-	xor	r13,r9
-	xor	r12,r11
-	vpxor	xmm11,xmm11,xmm10
-	shrd	r13,r13,4
-	xor	r14,rbx
-	vpsllq	xmm10,xmm10,42
-	and	r12,r9
-	xor	r13,r9
-	vpxor	xmm11,xmm11,xmm9
-	add	rax,QWORD[120+rsp]
-	mov	rdi,rbx
-	vpsrlq	xmm9,xmm9,42
-	xor	r12,r11
-	shrd	r14,r14,6
-	vpxor	xmm11,xmm11,xmm10
-	xor	rdi,rcx
-	add	rax,r12
-	vpxor	xmm11,xmm11,xmm9
-	shrd	r13,r13,14
-	and	r15,rdi
-	vpaddq	xmm7,xmm7,xmm11
-	xor	r14,rbx
-	add	rax,r13
-	vpaddq	xmm10,xmm7,XMMWORD[96+rbp]
-	xor	r15,rcx
-	shrd	r14,r14,28
-	add	r8,rax
-	add	rax,r15
-	mov	r13,r8
-	add	r14,rax
-	vmovdqa	XMMWORD[112+rsp],xmm10
-	cmp	BYTE[135+rbp],0
-	jne	NEAR $L$avx_00_47
-	shrd	r13,r13,23
-	mov	rax,r14
-	mov	r12,r9
-	shrd	r14,r14,5
-	xor	r13,r8
-	xor	r12,r10
-	shrd	r13,r13,4
-	xor	r14,rax
-	and	r12,r8
-	xor	r13,r8
-	add	r11,QWORD[rsp]
-	mov	r15,rax
-	xor	r12,r10
-	shrd	r14,r14,6
-	xor	r15,rbx
-	add	r11,r12
-	shrd	r13,r13,14
-	and	rdi,r15
-	xor	r14,rax
-	add	r11,r13
-	xor	rdi,rbx
-	shrd	r14,r14,28
-	add	rdx,r11
-	add	r11,rdi
-	mov	r13,rdx
-	add	r14,r11
-	shrd	r13,r13,23
-	mov	r11,r14
-	mov	r12,r8
-	shrd	r14,r14,5
-	xor	r13,rdx
-	xor	r12,r9
-	shrd	r13,r13,4
-	xor	r14,r11
-	and	r12,rdx
-	xor	r13,rdx
-	add	r10,QWORD[8+rsp]
-	mov	rdi,r11
-	xor	r12,r9
-	shrd	r14,r14,6
-	xor	rdi,rax
-	add	r10,r12
-	shrd	r13,r13,14
-	and	r15,rdi
-	xor	r14,r11
-	add	r10,r13
-	xor	r15,rax
-	shrd	r14,r14,28
-	add	rcx,r10
-	add	r10,r15
-	mov	r13,rcx
-	add	r14,r10
-	shrd	r13,r13,23
-	mov	r10,r14
-	mov	r12,rdx
-	shrd	r14,r14,5
-	xor	r13,rcx
-	xor	r12,r8
-	shrd	r13,r13,4
-	xor	r14,r10
-	and	r12,rcx
-	xor	r13,rcx
-	add	r9,QWORD[16+rsp]
-	mov	r15,r10
-	xor	r12,r8
-	shrd	r14,r14,6
-	xor	r15,r11
-	add	r9,r12
-	shrd	r13,r13,14
-	and	rdi,r15
-	xor	r14,r10
-	add	r9,r13
-	xor	rdi,r11
-	shrd	r14,r14,28
-	add	rbx,r9
-	add	r9,rdi
-	mov	r13,rbx
-	add	r14,r9
-	shrd	r13,r13,23
-	mov	r9,r14
-	mov	r12,rcx
-	shrd	r14,r14,5
-	xor	r13,rbx
-	xor	r12,rdx
-	shrd	r13,r13,4
-	xor	r14,r9
-	and	r12,rbx
-	xor	r13,rbx
-	add	r8,QWORD[24+rsp]
-	mov	rdi,r9
-	xor	r12,rdx
-	shrd	r14,r14,6
-	xor	rdi,r10
-	add	r8,r12
-	shrd	r13,r13,14
-	and	r15,rdi
-	xor	r14,r9
-	add	r8,r13
-	xor	r15,r10
-	shrd	r14,r14,28
-	add	rax,r8
-	add	r8,r15
-	mov	r13,rax
-	add	r14,r8
-	shrd	r13,r13,23
-	mov	r8,r14
-	mov	r12,rbx
-	shrd	r14,r14,5
-	xor	r13,rax
-	xor	r12,rcx
-	shrd	r13,r13,4
-	xor	r14,r8
-	and	r12,rax
-	xor	r13,rax
-	add	rdx,QWORD[32+rsp]
-	mov	r15,r8
-	xor	r12,rcx
-	shrd	r14,r14,6
-	xor	r15,r9
-	add	rdx,r12
-	shrd	r13,r13,14
-	and	rdi,r15
-	xor	r14,r8
-	add	rdx,r13
-	xor	rdi,r9
-	shrd	r14,r14,28
-	add	r11,rdx
-	add	rdx,rdi
-	mov	r13,r11
-	add	r14,rdx
-	shrd	r13,r13,23
-	mov	rdx,r14
-	mov	r12,rax
-	shrd	r14,r14,5
-	xor	r13,r11
-	xor	r12,rbx
-	shrd	r13,r13,4
-	xor	r14,rdx
-	and	r12,r11
-	xor	r13,r11
-	add	rcx,QWORD[40+rsp]
-	mov	rdi,rdx
-	xor	r12,rbx
-	shrd	r14,r14,6
-	xor	rdi,r8
-	add	rcx,r12
-	shrd	r13,r13,14
-	and	r15,rdi
-	xor	r14,rdx
-	add	rcx,r13
-	xor	r15,r8
-	shrd	r14,r14,28
-	add	r10,rcx
-	add	rcx,r15
-	mov	r13,r10
-	add	r14,rcx
-	shrd	r13,r13,23
-	mov	rcx,r14
-	mov	r12,r11
-	shrd	r14,r14,5
-	xor	r13,r10
-	xor	r12,rax
-	shrd	r13,r13,4
-	xor	r14,rcx
-	and	r12,r10
-	xor	r13,r10
-	add	rbx,QWORD[48+rsp]
-	mov	r15,rcx
-	xor	r12,rax
-	shrd	r14,r14,6
-	xor	r15,rdx
-	add	rbx,r12
-	shrd	r13,r13,14
-	and	rdi,r15
-	xor	r14,rcx
-	add	rbx,r13
-	xor	rdi,rdx
-	shrd	r14,r14,28
-	add	r9,rbx
-	add	rbx,rdi
-	mov	r13,r9
-	add	r14,rbx
-	shrd	r13,r13,23
-	mov	rbx,r14
-	mov	r12,r10
-	shrd	r14,r14,5
-	xor	r13,r9
-	xor	r12,r11
-	shrd	r13,r13,4
-	xor	r14,rbx
-	and	r12,r9
-	xor	r13,r9
-	add	rax,QWORD[56+rsp]
-	mov	rdi,rbx
-	xor	r12,r11
-	shrd	r14,r14,6
-	xor	rdi,rcx
-	add	rax,r12
-	shrd	r13,r13,14
-	and	r15,rdi
-	xor	r14,rbx
-	add	rax,r13
-	xor	r15,rcx
-	shrd	r14,r14,28
-	add	r8,rax
-	add	rax,r15
-	mov	r13,r8
-	add	r14,rax
-	shrd	r13,r13,23
-	mov	rax,r14
-	mov	r12,r9
-	shrd	r14,r14,5
-	xor	r13,r8
-	xor	r12,r10
-	shrd	r13,r13,4
-	xor	r14,rax
-	and	r12,r8
-	xor	r13,r8
-	add	r11,QWORD[64+rsp]
-	mov	r15,rax
-	xor	r12,r10
-	shrd	r14,r14,6
-	xor	r15,rbx
-	add	r11,r12
-	shrd	r13,r13,14
-	and	rdi,r15
-	xor	r14,rax
-	add	r11,r13
-	xor	rdi,rbx
-	shrd	r14,r14,28
-	add	rdx,r11
-	add	r11,rdi
-	mov	r13,rdx
-	add	r14,r11
-	shrd	r13,r13,23
-	mov	r11,r14
-	mov	r12,r8
-	shrd	r14,r14,5
-	xor	r13,rdx
-	xor	r12,r9
-	shrd	r13,r13,4
-	xor	r14,r11
-	and	r12,rdx
-	xor	r13,rdx
-	add	r10,QWORD[72+rsp]
-	mov	rdi,r11
-	xor	r12,r9
-	shrd	r14,r14,6
-	xor	rdi,rax
-	add	r10,r12
-	shrd	r13,r13,14
-	and	r15,rdi
-	xor	r14,r11
-	add	r10,r13
-	xor	r15,rax
-	shrd	r14,r14,28
-	add	rcx,r10
-	add	r10,r15
-	mov	r13,rcx
-	add	r14,r10
-	shrd	r13,r13,23
-	mov	r10,r14
-	mov	r12,rdx
-	shrd	r14,r14,5
-	xor	r13,rcx
-	xor	r12,r8
-	shrd	r13,r13,4
-	xor	r14,r10
-	and	r12,rcx
-	xor	r13,rcx
-	add	r9,QWORD[80+rsp]
-	mov	r15,r10
-	xor	r12,r8
-	shrd	r14,r14,6
-	xor	r15,r11
-	add	r9,r12
-	shrd	r13,r13,14
-	and	rdi,r15
-	xor	r14,r10
-	add	r9,r13
-	xor	rdi,r11
-	shrd	r14,r14,28
-	add	rbx,r9
-	add	r9,rdi
-	mov	r13,rbx
-	add	r14,r9
-	shrd	r13,r13,23
-	mov	r9,r14
-	mov	r12,rcx
-	shrd	r14,r14,5
-	xor	r13,rbx
-	xor	r12,rdx
-	shrd	r13,r13,4
-	xor	r14,r9
-	and	r12,rbx
-	xor	r13,rbx
-	add	r8,QWORD[88+rsp]
-	mov	rdi,r9
-	xor	r12,rdx
-	shrd	r14,r14,6
-	xor	rdi,r10
-	add	r8,r12
-	shrd	r13,r13,14
-	and	r15,rdi
-	xor	r14,r9
-	add	r8,r13
-	xor	r15,r10
-	shrd	r14,r14,28
-	add	rax,r8
-	add	r8,r15
-	mov	r13,rax
-	add	r14,r8
-	shrd	r13,r13,23
-	mov	r8,r14
-	mov	r12,rbx
-	shrd	r14,r14,5
-	xor	r13,rax
-	xor	r12,rcx
-	shrd	r13,r13,4
-	xor	r14,r8
-	and	r12,rax
-	xor	r13,rax
-	add	rdx,QWORD[96+rsp]
-	mov	r15,r8
-	xor	r12,rcx
-	shrd	r14,r14,6
-	xor	r15,r9
-	add	rdx,r12
-	shrd	r13,r13,14
-	and	rdi,r15
-	xor	r14,r8
-	add	rdx,r13
-	xor	rdi,r9
-	shrd	r14,r14,28
-	add	r11,rdx
-	add	rdx,rdi
-	mov	r13,r11
-	add	r14,rdx
-	shrd	r13,r13,23
-	mov	rdx,r14
-	mov	r12,rax
-	shrd	r14,r14,5
-	xor	r13,r11
-	xor	r12,rbx
-	shrd	r13,r13,4
-	xor	r14,rdx
-	and	r12,r11
-	xor	r13,r11
-	add	rcx,QWORD[104+rsp]
-	mov	rdi,rdx
-	xor	r12,rbx
-	shrd	r14,r14,6
-	xor	rdi,r8
-	add	rcx,r12
-	shrd	r13,r13,14
-	and	r15,rdi
-	xor	r14,rdx
-	add	rcx,r13
-	xor	r15,r8
-	shrd	r14,r14,28
-	add	r10,rcx
-	add	rcx,r15
-	mov	r13,r10
-	add	r14,rcx
-	shrd	r13,r13,23
-	mov	rcx,r14
-	mov	r12,r11
-	shrd	r14,r14,5
-	xor	r13,r10
-	xor	r12,rax
-	shrd	r13,r13,4
-	xor	r14,rcx
-	and	r12,r10
-	xor	r13,r10
-	add	rbx,QWORD[112+rsp]
-	mov	r15,rcx
-	xor	r12,rax
-	shrd	r14,r14,6
-	xor	r15,rdx
-	add	rbx,r12
-	shrd	r13,r13,14
-	and	rdi,r15
-	xor	r14,rcx
-	add	rbx,r13
-	xor	rdi,rdx
-	shrd	r14,r14,28
-	add	r9,rbx
-	add	rbx,rdi
-	mov	r13,r9
-	add	r14,rbx
-	shrd	r13,r13,23
-	mov	rbx,r14
-	mov	r12,r10
-	shrd	r14,r14,5
-	xor	r13,r9
-	xor	r12,r11
-	shrd	r13,r13,4
-	xor	r14,rbx
-	and	r12,r9
-	xor	r13,r9
-	add	rax,QWORD[120+rsp]
-	mov	rdi,rbx
-	xor	r12,r11
-	shrd	r14,r14,6
-	xor	rdi,rcx
-	add	rax,r12
-	shrd	r13,r13,14
-	and	r15,rdi
-	xor	r14,rbx
-	add	rax,r13
-	xor	r15,rcx
-	shrd	r14,r14,28
-	add	r8,rax
-	add	rax,r15
-	mov	r13,r8
-	add	r14,rax
-	mov	rdi,QWORD[((128+0))+rsp]
-	mov	rax,r14
-
-	add	rax,QWORD[rdi]
-	lea	rsi,[128+rsi]
-	add	rbx,QWORD[8+rdi]
-	add	rcx,QWORD[16+rdi]
-	add	rdx,QWORD[24+rdi]
-	add	r8,QWORD[32+rdi]
-	add	r9,QWORD[40+rdi]
-	add	r10,QWORD[48+rdi]
-	add	r11,QWORD[56+rdi]
-
-	cmp	rsi,QWORD[((128+16))+rsp]
-
-	mov	QWORD[rdi],rax
-	mov	QWORD[8+rdi],rbx
-	mov	QWORD[16+rdi],rcx
-	mov	QWORD[24+rdi],rdx
-	mov	QWORD[32+rdi],r8
-	mov	QWORD[40+rdi],r9
-	mov	QWORD[48+rdi],r10
-	mov	QWORD[56+rdi],r11
-	jb	NEAR $L$loop_avx
-
-	mov	rsi,QWORD[((128+24))+rsp]
-	vzeroupper
-	movaps	xmm6,XMMWORD[((128+32))+rsp]
-	movaps	xmm7,XMMWORD[((128+48))+rsp]
-	movaps	xmm8,XMMWORD[((128+64))+rsp]
-	movaps	xmm9,XMMWORD[((128+80))+rsp]
-	movaps	xmm10,XMMWORD[((128+96))+rsp]
-	movaps	xmm11,XMMWORD[((128+112))+rsp]
-	mov	r15,QWORD[((-48))+rsi]
-	mov	r14,QWORD[((-40))+rsi]
-	mov	r13,QWORD[((-32))+rsi]
-	mov	r12,QWORD[((-24))+rsi]
-	mov	rbp,QWORD[((-16))+rsi]
-	mov	rbx,QWORD[((-8))+rsi]
-	lea	rsp,[rsi]
-$L$epilogue_avx:
-	mov	rdi,QWORD[8+rsp]	;WIN64 epilogue
-	mov	rsi,QWORD[16+rsp]
-	DB	0F3h,0C3h		;repret
-$L$SEH_end_sha512_block_data_order_avx:
-EXTERN	__imp_RtlVirtualUnwind
-
-ALIGN	16
-se_handler:
-	push	rsi
-	push	rdi
-	push	rbx
-	push	rbp
-	push	r12
-	push	r13
-	push	r14
-	push	r15
-	pushfq
-	sub	rsp,64
-
-	mov	rax,QWORD[120+r8]
-	mov	rbx,QWORD[248+r8]
-
-	mov	rsi,QWORD[8+r9]
-	mov	r11,QWORD[56+r9]
-
-	mov	r10d,DWORD[r11]
-	lea	r10,[r10*1+rsi]
-	cmp	rbx,r10
-	jb	NEAR $L$in_prologue
-
-	mov	rax,QWORD[152+r8]
-
-	mov	r10d,DWORD[4+r11]
-	lea	r10,[r10*1+rsi]
-	cmp	rbx,r10
-	jae	NEAR $L$in_prologue
-	mov	rsi,rax
-	mov	rax,QWORD[((128+24))+rax]
-
-	mov	rbx,QWORD[((-8))+rax]
-	mov	rbp,QWORD[((-16))+rax]
-	mov	r12,QWORD[((-24))+rax]
-	mov	r13,QWORD[((-32))+rax]
-	mov	r14,QWORD[((-40))+rax]
-	mov	r15,QWORD[((-48))+rax]
-	mov	QWORD[144+r8],rbx
-	mov	QWORD[160+r8],rbp
-	mov	QWORD[216+r8],r12
-	mov	QWORD[224+r8],r13
-	mov	QWORD[232+r8],r14
-	mov	QWORD[240+r8],r15
-
-	lea	r10,[$L$epilogue]
-	cmp	rbx,r10
-	jb	NEAR $L$in_prologue
-
-	lea	rsi,[((128+32))+rsi]
-	lea	rdi,[512+r8]
-	mov	ecx,12
-	DD	0xa548f3fc
-
-$L$in_prologue:
-	mov	rdi,QWORD[8+rax]
-	mov	rsi,QWORD[16+rax]
-	mov	QWORD[152+r8],rax
-	mov	QWORD[168+r8],rsi
-	mov	QWORD[176+r8],rdi
-
-	mov	rdi,QWORD[40+r9]
-	mov	rsi,r8
-	mov	ecx,154
-	DD	0xa548f3fc
-
-	mov	rsi,r9
-	xor	rcx,rcx
-	mov	rdx,QWORD[8+rsi]
-	mov	r8,QWORD[rsi]
-	mov	r9,QWORD[16+rsi]
-	mov	r10,QWORD[40+rsi]
-	lea	r11,[56+rsi]
-	lea	r12,[24+rsi]
-	mov	QWORD[32+rsp],r10
-	mov	QWORD[40+rsp],r11
-	mov	QWORD[48+rsp],r12
-	mov	QWORD[56+rsp],rcx
-	call	QWORD[__imp_RtlVirtualUnwind]
-
-	mov	eax,1
-	add	rsp,64
-	popfq
-	pop	r15
-	pop	r14
-	pop	r13
-	pop	r12
-	pop	rbp
-	pop	rbx
-	pop	rdi
-	pop	rsi
-	DB	0F3h,0C3h		;repret
-
-section	.pdata rdata align=4
-ALIGN	4
-	DD	$L$SEH_begin_sha512_block_data_order wrt ..imagebase
-	DD	$L$SEH_end_sha512_block_data_order wrt ..imagebase
-	DD	$L$SEH_info_sha512_block_data_order wrt ..imagebase
-	DD	$L$SEH_begin_sha512_block_data_order_xop wrt ..imagebase
-	DD	$L$SEH_end_sha512_block_data_order_xop wrt ..imagebase
-	DD	$L$SEH_info_sha512_block_data_order_xop wrt ..imagebase
-	DD	$L$SEH_begin_sha512_block_data_order_avx wrt ..imagebase
-	DD	$L$SEH_end_sha512_block_data_order_avx wrt ..imagebase
-	DD	$L$SEH_info_sha512_block_data_order_avx wrt ..imagebase
-section	.xdata rdata align=8
-ALIGN	8
-$L$SEH_info_sha512_block_data_order:
-DB	9,0,0,0
-	DD	se_handler wrt ..imagebase
-	DD	$L$prologue wrt ..imagebase,$L$epilogue wrt ..imagebase
-$L$SEH_info_sha512_block_data_order_xop:
-DB	9,0,0,0
-	DD	se_handler wrt ..imagebase
-	DD	$L$prologue_xop wrt ..imagebase,$L$epilogue_xop wrt ..imagebase
-$L$SEH_info_sha512_block_data_order_avx:
-DB	9,0,0,0
-	DD	se_handler wrt ..imagebase
-	DD	$L$prologue_avx wrt ..imagebase,$L$epilogue_avx wrt ..imagebase
diff --git a/third_party/closure_compiler/externs/compiled_resources2.gyp b/third_party/closure_compiler/externs/compiled_resources2.gyp
index 7aab119..8e7c817 100644
--- a/third_party/closure_compiler/externs/compiled_resources2.gyp
+++ b/third_party/closure_compiler/externs/compiled_resources2.gyp
@@ -109,4 +109,4 @@
       'includes': ['../include_js.gypi'],
     },
   ],
-}
\ No newline at end of file
+}
diff --git a/third_party/closure_compiler/externs/file_manager_private.js b/third_party/closure_compiler/externs/file_manager_private.js
index 938d251d..b01ad78 100644
--- a/third_party/closure_compiler/externs/file_manager_private.js
+++ b/third_party/closure_compiler/externs/file_manager_private.js
@@ -177,7 +177,7 @@
 
 /**
  * @typedef {{
- *   entry: Object,
+ *   entry: Entry,
  *   highlightedBaseName: string
  * }}
  */
diff --git a/third_party/closure_compiler/interfaces/compiled_resources2.gyp b/third_party/closure_compiler/interfaces/compiled_resources2.gyp
index 34142e9..2c985b7 100644
--- a/third_party/closure_compiler/interfaces/compiled_resources2.gyp
+++ b/third_party/closure_compiler/interfaces/compiled_resources2.gyp
@@ -1,4 +1,4 @@
-# Copyright 2016 The Chromium Authors. All rights reserved.
+# 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.
 
diff --git a/third_party/closure_compiler/tools/create_include_gyp.py b/third_party/closure_compiler/tools/create_include_gyp.py
index 08ef525..2febeb3 100755
--- a/third_party/closure_compiler/tools/create_include_gyp.py
+++ b/third_party/closure_compiler/tools/create_include_gyp.py
@@ -14,6 +14,9 @@
 import sys
 
 
+_INCLUDE_GYPI = os.path.join(os.path.dirname(__file__), '..', 'include_js.gypi')
+
+
 _INCLUDE_TEMPLATE = """
 # Copyright %d The Chromium Authors. All rights reserved.
 # Use of this source code is governed by a BSD-style license that can be
@@ -33,15 +36,15 @@
 _TARGET_TEMPLATE = """
     {
       'target_name': '%s',
-      'includes': ['../include_js.gypi'],
+      'includes': ['%s'],
     }"""
 
 
 def CreateIncludeGyp(directory):
-  include_dir = os.path.join(os.path.dirname(__file__), "..", directory)
-  include_files = [f for f in os.listdir(include_dir) if f.endswith('.js')]
-  include_files.sort()
-  targets = [_TARGET_TEMPLATE % f[:-3] for f in include_files]
+  include_path = os.path.normpath(os.path.relpath(_INCLUDE_GYPI, directory))
+  js_files = [f for f in os.listdir(directory) if f.endswith('.js')]
+  js_files.sort()
+  targets = [_TARGET_TEMPLATE % (f[:-3], include_path) for f in js_files]
   return _INCLUDE_TEMPLATE % (date.today().year, ",".join(targets).strip())
 
 
diff --git a/third_party/crashpad/README.chromium b/third_party/crashpad/README.chromium
index dc71b92..087a8e4e 100644
--- a/third_party/crashpad/README.chromium
+++ b/third_party/crashpad/README.chromium
@@ -2,7 +2,7 @@
 Short Name: crashpad
 URL: https://crashpad.chromium.org/
 Version: unknown
-Revision: 1f28a123a4c9449e3d7ddad4ff00dacd366d5216
+Revision: b8aaa22905308cc400f880006a84dddac834bd6b
 License: Apache 2.0
 License File: crashpad/LICENSE
 Security Critical: yes
diff --git a/third_party/crashpad/crashpad/DEPS b/third_party/crashpad/crashpad/DEPS
index aefedbc9..5c35e6d6 100644
--- a/third_party/crashpad/crashpad/DEPS
+++ b/third_party/crashpad/crashpad/DEPS
@@ -38,7 +38,7 @@
 
   'crashpad/third_party/mini_chromium/mini_chromium':
       Var('chromium_git') + '/chromium/mini_chromium@' +
-      '62e6015f633dd4acb1610db15a064889315cadaa',
+      'dc3d480305b27a5a1fb57f51a997529e00fed00b',
   'crashpad/third_party/zlib/zlib':
       Var('chromium_git') + '/chromium/src/third_party/zlib@' +
       '13dc246a58e4b72104d35f9b1809af95221ebda7',
diff --git a/third_party/crashpad/crashpad/client/crash_report_database.h b/third_party/crashpad/crashpad/client/crash_report_database.h
index 3768cb23..6211789 100644
--- a/third_party/crashpad/crashpad/client/crash_report_database.h
+++ b/third_party/crashpad/crashpad/client/crash_report_database.h
@@ -144,6 +144,11 @@
     kNoError = 0,
 
     //! \brief The report that was requested could not be located.
+    //!
+    //! This may occur when the report is present in the database but not in a
+    //! state appropriate for the requested operation, for example, if
+    //! GetReportForUploading() is called to obtain report that’s already in the
+    //! completed state.
     kReportNotFound,
 
     //! \brief An error occured while performing a file operation on a crash
diff --git a/third_party/crashpad/crashpad/client/crash_report_database_mac.mm b/third_party/crashpad/crashpad/client/crash_report_database_mac.mm
index 0d074cb..3cc2d7fe 100644
--- a/third_party/crashpad/crashpad/client/crash_report_database_mac.mm
+++ b/third_party/crashpad/crashpad/client/crash_report_database_mac.mm
@@ -17,6 +17,7 @@
 #include <errno.h>
 #include <fcntl.h>
 #import <Foundation/Foundation.h>
+#include <stdint.h>
 #include <stdio.h>
 #include <sys/stat.h>
 #include <sys/types.h>
@@ -146,6 +147,17 @@
   OperationStatus RequestUpload(const UUID& uuid) override;
 
  private:
+  //! \brief Report states for use with LocateCrashReport().
+  //!
+  //! ReportState may be considered to be a bitfield.
+  enum ReportState : uint8_t {
+    kReportStateWrite = 1 << 0,  // in kWriteDirectory
+    kReportStatePending = 1 << 1,  // in kUploadPendingDirectory
+    kReportStateCompleted = 1 << 2,  // in kCompletedDirectory
+    kReportStateAny =
+        kReportStateWrite | kReportStatePending | kReportStateCompleted,
+  };
+
   //! \brief A private extension of the Report class that maintains bookkeeping
   //!    information of the database.
   struct UploadReport : public Report {
@@ -157,10 +169,12 @@
   //! \brief Locates a crash report in the database by UUID.
   //!
   //! \param[in] uuid The UUID of the crash report to locate.
+  //! \param[in] desired_state The state of the report to locate, composed of
+  //!     ReportState values.
   //!
   //! \return The full path to the report file, or an empty path if it cannot be
   //!     found.
-  base::FilePath LocateCrashReport(const UUID& uuid);
+  base::FilePath LocateCrashReport(const UUID& uuid, uint8_t desired_state);
 
   //! \brief Obtains an exclusive advisory lock on a file.
   //!
@@ -392,7 +406,7 @@
                                           CrashReportDatabase::Report* report) {
   INITIALIZATION_STATE_DCHECK_VALID(initialized_);
 
-  base::FilePath path = LocateCrashReport(uuid);
+  base::FilePath path = LocateCrashReport(uuid, kReportStateAny);
   if (path.empty())
     return kReportNotFound;
 
@@ -429,7 +443,7 @@
                                               const Report** report) {
   INITIALIZATION_STATE_DCHECK_VALID(initialized_);
 
-  base::FilePath report_path = LocateCrashReport(uuid);
+  base::FilePath report_path = LocateCrashReport(uuid, kReportStatePending);
   if (report_path.empty())
     return kReportNotFound;
 
@@ -459,7 +473,8 @@
   DCHECK(report);
   DCHECK(successful || id.empty());
 
-  base::FilePath report_path = LocateCrashReport(report->uuid);
+  base::FilePath report_path =
+      LocateCrashReport(report->uuid, kReportStatePending);
   if (report_path.empty())
     return kReportNotFound;
 
@@ -513,7 +528,7 @@
 
   Metrics::CrashUploadSkipped(reason);
 
-  base::FilePath report_path = LocateCrashReport(uuid);
+  base::FilePath report_path = LocateCrashReport(uuid, kReportStatePending);
   if (report_path.empty())
     return kReportNotFound;
 
@@ -528,7 +543,7 @@
     const UUID& uuid) {
   INITIALIZATION_STATE_DCHECK_VALID(initialized_);
 
-  base::FilePath report_path = LocateCrashReport(uuid);
+  base::FilePath report_path = LocateCrashReport(uuid, kReportStateAny);
   if (report_path.empty())
     return kReportNotFound;
 
@@ -544,11 +559,25 @@
   return kNoError;
 }
 
-base::FilePath CrashReportDatabaseMac::LocateCrashReport(const UUID& uuid) {
+base::FilePath CrashReportDatabaseMac::LocateCrashReport(
+    const UUID& uuid,
+    uint8_t desired_state) {
   const std::string target_uuid = uuid.ToString();
-  for (size_t i = 0; i < arraysize(kReportDirectories); ++i) {
+
+  std::vector<std::string> report_directories;
+  if (desired_state & kReportStateWrite) {
+    report_directories.push_back(kWriteDirectory);
+  }
+  if (desired_state & kReportStatePending) {
+    report_directories.push_back(kUploadPendingDirectory);
+  }
+  if (desired_state & kReportStateCompleted) {
+    report_directories.push_back(kCompletedDirectory);
+  }
+
+  for (const std::string& report_directory : report_directories) {
     base::FilePath path =
-        base_dir_.Append(kReportDirectories[i])
+        base_dir_.Append(report_directory)
                  .Append(target_uuid + "." + kCrashReportFileExtension);
 
     // Test if the path exists.
@@ -573,7 +602,8 @@
     const UUID& uuid) {
   INITIALIZATION_STATE_DCHECK_VALID(initialized_);
 
-  base::FilePath report_path = LocateCrashReport(uuid);
+  base::FilePath report_path =
+      LocateCrashReport(uuid, kReportStatePending | kReportStateCompleted);
   if (report_path.empty())
     return kReportNotFound;
 
diff --git a/third_party/crashpad/crashpad/client/crash_report_database_test.cc b/third_party/crashpad/crashpad/client/crash_report_database_test.cc
index 0d05df15..da44ebf 100644
--- a/third_party/crashpad/crashpad/client/crash_report_database_test.cc
+++ b/third_party/crashpad/crashpad/client/crash_report_database_test.cc
@@ -478,6 +478,22 @@
             CrashReportDatabase::kNoError);
 }
 
+TEST_F(CrashReportDatabaseTest, UploadAlreadyUploaded) {
+  CrashReportDatabase::Report report;
+  CreateCrashReport(&report);
+
+  const CrashReportDatabase::Report* upload_report;
+  EXPECT_EQ(db()->GetReportForUploading(report.uuid, &upload_report),
+            CrashReportDatabase::kNoError);
+  EXPECT_EQ(db()->RecordUploadAttempt(upload_report, true, std::string()),
+            CrashReportDatabase::kNoError);
+
+  const CrashReportDatabase::Report* upload_report_2 = nullptr;
+  EXPECT_EQ(db()->GetReportForUploading(report.uuid, &upload_report_2),
+            CrashReportDatabase::kReportNotFound);
+  EXPECT_FALSE(upload_report_2);
+}
+
 TEST_F(CrashReportDatabaseTest, MoveDatabase) {
   CrashReportDatabase::NewReport* new_report;
   EXPECT_EQ(db()->PrepareNewCrashReport(&new_report),
diff --git a/third_party/crashpad/crashpad/client/crash_report_database_win.cc b/third_party/crashpad/crashpad/client/crash_report_database_win.cc
index 6629d25d..a97b1cf 100644
--- a/third_party/crashpad/crashpad/client/crash_report_database_win.cc
+++ b/third_party/crashpad/crashpad/client/crash_report_database_win.cc
@@ -242,8 +242,9 @@
   //! written to disk via Write().
   //!
   //! \return #kNoError on success. #kReportNotFound if there was no report with
-  //!     the specified UUID. #kBusyError if the report was not in the specified
-  //!     state.
+  //!     the specified UUID, or if the report was not in the specified state
+  //!     and was not uploading. #kBusyError if the report was not in the
+  //!     specified state and was uploading.
   OperationStatus FindSingleReportAndMarkDirty(const UUID& uuid,
                                                ReportState desired_state,
                                                ReportDisk** report_disk);
@@ -530,9 +531,13 @@
 // static
 OperationStatus Metadata::VerifyReport(const ReportDisk& report_disk,
                                        ReportState desired_state) {
-  return (report_disk.state == desired_state)
-             ? VerifyReportAnyState(report_disk)
-             : CrashReportDatabase::kBusyError;
+  if (report_disk.state == desired_state) {
+    return VerifyReportAnyState(report_disk);
+  }
+
+  return report_disk.state == ReportState::kUploading
+             ? CrashReportDatabase::kBusyError
+             : CrashReportDatabase::kReportNotFound;
 }
 
 bool EnsureDirectory(const base::FilePath& path) {
@@ -876,7 +881,7 @@
   // TODO(gayane): Search for the report only once regardless of its state.
   OperationStatus os = metadata->FindSingleReportAndMarkDirty(
       uuid, ReportState::kCompleted, &report_disk);
-  if (os == kBusyError) {
+  if (os == kReportNotFound) {
     os = metadata->FindSingleReportAndMarkDirty(
         uuid, ReportState::kPending, &report_disk);
   }
diff --git a/third_party/crashpad/crashpad/handler/crash_report_upload_thread.cc b/third_party/crashpad/crashpad/handler/crash_report_upload_thread.cc
index 2c2b69b..d77cdba 100644
--- a/third_party/crashpad/crashpad/handler/crash_report_upload_thread.cc
+++ b/third_party/crashpad/crashpad/handler/crash_report_upload_thread.cc
@@ -17,6 +17,7 @@
 #include <errno.h>
 #include <time.h>
 
+#include <algorithm>
 #include <map>
 #include <memory>
 #include <vector>
@@ -29,12 +30,15 @@
 #include "snapshot/module_snapshot.h"
 #include "util/file/file_reader.h"
 #include "util/misc/metrics.h"
-#include "util/misc/uuid.h"
 #include "util/net/http_body.h"
 #include "util/net/http_multipart_builder.h"
 #include "util/net/http_transport.h"
 #include "util/stdlib/map_insert.h"
 
+#if defined(OS_MACOSX)
+#include "handler/mac/file_limit_annotation.h"
+#endif  // OS_MACOSX
+
 namespace crashpad {
 
 namespace {
@@ -139,15 +143,19 @@
 
 CrashReportUploadThread::CrashReportUploadThread(CrashReportDatabase* database,
                                                  const std::string& url,
+                                                 bool watch_pending_reports,
                                                  bool rate_limit,
                                                  bool upload_gzip)
     : url_(url),
-      // Check for pending reports every 15 minutes, even in the absence of a
-      // signal from the handler thread. This allows for failed uploads to be
-      // retried periodically, and for pending reports written by other
-      // processes to be recognized.
-      thread_(15 * 60, this),
+      // When watching for pending reports, check every 15 minutes, even in the
+      // absence of a signal from the handler thread. This allows for failed
+      // uploads to be retried periodically, and for pending reports written by
+      // other processes to be recognized.
+      thread_(watch_pending_reports ? 15 * 60.0 : WorkerThread::kIndefiniteWait,
+              this),
+      known_pending_report_uuids_(),
       database_(database),
+      watch_pending_reports_(watch_pending_reports),
       rate_limit_(rate_limit),
       upload_gzip_(upload_gzip) {
 }
@@ -156,18 +164,43 @@
 }
 
 void CrashReportUploadThread::Start() {
-  thread_.Start(0);
+  thread_.Start(watch_pending_reports_ ? 0.0 : WorkerThread::kIndefiniteWait);
 }
 
 void CrashReportUploadThread::Stop() {
   thread_.Stop();
 }
 
-void CrashReportUploadThread::ReportPending() {
+void CrashReportUploadThread::ReportPending(const UUID& report_uuid) {
+  known_pending_report_uuids_.PushBack(report_uuid);
   thread_.DoWorkNow();
 }
 
 void CrashReportUploadThread::ProcessPendingReports() {
+  std::vector<UUID> known_report_uuids = known_pending_report_uuids_.Drain();
+  for (const UUID& report_uuid : known_report_uuids) {
+    CrashReportDatabase::Report report;
+    if (database_->LookUpCrashReport(report_uuid, &report) !=
+        CrashReportDatabase::kNoError) {
+      continue;
+    }
+
+    ProcessPendingReport(report);
+
+    // Respect Stop() being called after at least one attempt to process a
+    // report.
+    if (!thread_.is_running()) {
+      return;
+    }
+  }
+
+  // Known pending reports are always processed (above). The rest of this
+  // function is concerned with scanning for pending reports not already known
+  // to this thread.
+  if (!watch_pending_reports_) {
+    return;
+  }
+
   std::vector<CrashReportDatabase::Report> reports;
   if (database_->GetPendingReports(&reports) != CrashReportDatabase::kNoError) {
     // The database is sick. It might be prudent to stop trying to poke it from
@@ -178,6 +211,15 @@
   }
 
   for (const CrashReportDatabase::Report& report : reports) {
+    if (std::find(known_report_uuids.begin(),
+                  known_report_uuids.end(),
+                  report.uuid) != known_report_uuids.end()) {
+      // An attempt to process the report already occurred above. The report is
+      // still pending, so upload must have failed. Don’t retry it immediately,
+      // it can wait until at least the next pass through this method.
+      continue;
+    }
+
     ProcessPendingReport(report);
 
     // Respect Stop() being called after at least one attempt to process a
@@ -190,6 +232,10 @@
 
 void CrashReportUploadThread::ProcessPendingReport(
     const CrashReportDatabase::Report& report) {
+#if defined(OS_MACOSX)
+  RecordFileLimitAnnotation();
+#endif  // OS_MACOSX
+
   Settings* const settings = database_->GetSettings();
 
   bool uploads_enabled;
@@ -252,9 +298,12 @@
       break;
 
     case CrashReportDatabase::kBusyError:
+    case CrashReportDatabase::kReportNotFound:
+      // Someone else may have gotten to it first. If they’re working on it now,
+      // this will be kBusyError. If they’ve already finished with it, it’ll be
+      // kReportNotFound.
       return;
 
-    case CrashReportDatabase::kReportNotFound:
     case CrashReportDatabase::kFileSystemError:
     case CrashReportDatabase::kDatabaseError:
       // In these cases, SkipReportUpload() might not work either, but it’s best
diff --git a/third_party/crashpad/crashpad/handler/crash_report_upload_thread.h b/third_party/crashpad/crashpad/handler/crash_report_upload_thread.h
index 14debac..c769efed 100644
--- a/third_party/crashpad/crashpad/handler/crash_report_upload_thread.h
+++ b/third_party/crashpad/crashpad/handler/crash_report_upload_thread.h
@@ -20,6 +20,8 @@
 
 #include "base/macros.h"
 #include "client/crash_report_database.h"
+#include "util/misc/uuid.h"
+#include "util/stdlib/thread_safe_vector.h"
 #include "util/thread/worker_thread.h"
 
 namespace crashpad {
@@ -32,22 +34,28 @@
 //! report has been added to the database by calling ReportPending().
 //!
 //! Independently of being triggered by ReportPending(), objects of this class
-//! periodically examine the database for pending reports. This allows failed
-//! upload attempts for reports left in the pending state to be retried. It also
-//! catches reports that are added without a ReportPending() signal being
-//! caught. This may happen if crash reports are added to the database by other
-//! processes.
+//! can periodically examine the database for pending reports. This allows
+//! failed upload attempts for reports left in the pending state to be retried.
+//! It also catches reports that are added without a ReportPending() signal
+//! being caught. This may happen if crash reports are added to the database by
+//! other processes.
 class CrashReportUploadThread : public WorkerThread::Delegate {
  public:
   //! \brief Constructs a new object.
   //!
   //! \param[in] database The database to upload crash reports from.
   //! \param[in] url The URL of the server to upload crash reports to.
+  //! \param[in] watch_pending_reports Whether to periodically check for new
+  //!     pending reports not already known to exist. When `false`, only an
+  //!     initial upload attempt will be made for reports known to exist by
+  //!     having been added by the ReportPending() method. No scans for new
+  //!     pending reports will be conducted.
   //! \param[in] rate_limit Whether uploads should be throttled to a (currently
   //!     hardcoded) rate.
   //! \param[in] upload_gzip Whether uploads should use `gzip` compression.
   CrashReportUploadThread(CrashReportDatabase* database,
                           const std::string& url,
+                          bool watch_pending_reports,
                           bool rate_limit,
                           bool upload_gzip);
   ~CrashReportUploadThread();
@@ -75,8 +83,11 @@
   //! \brief Informs the upload thread that a new pending report has been added
   //!     to the database.
   //!
+  //! \param[in] report_uuid The unique identifier of the newly added pending
+  //!     report.
+  //!
   //! This method may be called from any thread.
-  void ReportPending();
+  void ReportPending(const UUID& report_uuid);
 
  private:
   //! \brief The result code from UploadReport().
@@ -99,8 +110,13 @@
     kRetry,
   };
 
-  //! \brief Obtains all pending reports from the database, and calls
-  //!     ProcessPendingReport() to process each one.
+  //! \brief Calls ProcessPendingReport() on pending reports.
+  //!
+  //! Assuming Stop() has not been called, this will process reports that the
+  //! object has been made aware of in ReportPending(). Additionally, if the
+  //! object was constructed with \a watch_pending_reports, it will also scan
+  //! the crash report database for other pending reports, and process those as
+  //! well.
   void ProcessPendingReports();
 
   //! \brief Processes a single pending report from the database.
@@ -137,11 +153,13 @@
   //!     been called on any thread, as well as periodically on a timer.
   void DoWork(const WorkerThread* thread) override;
 
-  std::string url_;
+  const std::string url_;
   WorkerThread thread_;
+  ThreadSafeVector<UUID> known_pending_report_uuids_;
   CrashReportDatabase* database_;  // weak
-  bool rate_limit_;
-  bool upload_gzip_;
+  const bool watch_pending_reports_;
+  const bool rate_limit_;
+  const bool upload_gzip_;
 
   DISALLOW_COPY_AND_ASSIGN(CrashReportUploadThread);
 };
diff --git a/third_party/crashpad/crashpad/handler/crashpad_handler.md b/third_party/crashpad/crashpad/handler/crashpad_handler.md
index e76fed7..9cb29e4 100644
--- a/third_party/crashpad/crashpad/handler/crashpad_handler.md
+++ b/third_party/crashpad/crashpad/handler/crashpad_handler.md
@@ -151,7 +151,8 @@
    become a client of the second one. The second instance will be started with
    the same **--annotation**, **--database**, **--monitor-self-annotation**,
    **--no-rate-limit**, **--no-upload-gzip**, and **--url** arguments as the
-   original one. The second instance will not be started with a
+   original one. The second instance will always be started with a
+   **--no-periodic-tasks** argument, and will not be started with a
    **--metrics-dir** argument even if the original instance was.
 
    Where supported by the underlying operating system, the second instance will
@@ -183,6 +184,20 @@
    To prevent excessive accumulation of handler processes, _ARGUMENT_ must not
    be `--monitor-self`.
 
+ * **--no-periodic-tasks**
+
+   Do not scan for new pending crash reports or prune the crash report database.
+   Only crash reports recorded by this instance of the Crashpad handler will
+   become eligible for upload in this instance, and only a single initial upload
+   attempt will be made.
+
+   This option is not intended for general use. It is provided to prevent
+   multiple instances of the Crashpad handler from duplicating the effort of
+   performing the same periodic tasks. In normal use, the first instance of the
+   Crashpad handler will assume the responsibility for performing these tasks,
+   and will provide this argument to any second instance. See
+   **--monitor-self**.
+
  * **--no-rate-limit**
 
    Do not rate limit the upload of crash reports. By default uploads are
diff --git a/third_party/crashpad/crashpad/handler/handler.gyp b/third_party/crashpad/crashpad/handler/handler.gyp
index d6e4c27..50479828 100644
--- a/third_party/crashpad/crashpad/handler/handler.gyp
+++ b/third_party/crashpad/crashpad/handler/handler.gyp
@@ -43,6 +43,8 @@
         'mac/crash_report_exception_handler.h',
         'mac/exception_handler_server.cc',
         'mac/exception_handler_server.h',
+        'mac/file_limit_annotation.cc',
+        'mac/file_limit_annotation.h',
         'prune_crash_reports_thread.cc',
         'prune_crash_reports_thread.h',
         'user_stream_data_source.cc',
diff --git a/third_party/crashpad/crashpad/handler/handler_main.cc b/third_party/crashpad/crashpad/handler/handler_main.cc
index 641bf0f6..e6d05e2 100644
--- a/third_party/crashpad/crashpad/handler/handler_main.cc
+++ b/third_party/crashpad/crashpad/handler/handler_main.cc
@@ -61,6 +61,7 @@
 #include "base/mac/scoped_mach_port.h"
 #include "handler/mac/crash_report_exception_handler.h"
 #include "handler/mac/exception_handler_server.h"
+#include "handler/mac/file_limit_annotation.h"
 #include "util/mach/child_port_handshake.h"
 #include "util/mach/mach_extensions.h"
 #include "util/posix/close_stdio.h"
@@ -109,6 +110,7 @@
 "                              set a module annotation in the handler\n"
 "      --monitor-self-argument=ARGUMENT\n"
 "                              provide additional arguments to the second handler\n"
+"      --no-periodic-tasks     don't scan for new reports or prune the database\n"
 "      --no-rate-limit         don't rate limit crash uploads\n"
 "      --no-upload-gzip        don't use gzip compression when uploading\n"
 #if defined(OS_WIN)
@@ -142,6 +144,7 @@
   InitialClientData initial_client_data;
 #endif  // OS_MACOSX
   bool monitor_self;
+  bool periodic_tasks;
   bool rate_limit;
   bool upload_gzip;
 };
@@ -353,6 +356,7 @@
     return;
   }
   std::vector<std::string> extra_arguments(options.monitor_self_arguments);
+  extra_arguments.push_back("--no-periodic-tasks");
   if (!options.rate_limit) {
     extra_arguments.push_back("--no-rate-limit");
   }
@@ -416,6 +420,7 @@
     kOptionMonitorSelf,
     kOptionMonitorSelfAnnotation,
     kOptionMonitorSelfArgument,
+    kOptionNoPeriodicTasks,
     kOptionNoRateLimit,
     kOptionNoUploadGzip,
 #if defined(OS_WIN)
@@ -456,6 +461,7 @@
      required_argument,
      nullptr,
      kOptionMonitorSelfArgument},
+    {"no-periodic-tasks", no_argument, nullptr, kOptionNoPeriodicTasks},
     {"no-rate-limit", no_argument, nullptr, kOptionNoRateLimit},
     {"no-upload-gzip", no_argument, nullptr, kOptionNoUploadGzip},
 #if defined(OS_WIN)
@@ -477,6 +483,7 @@
 #if defined(OS_MACOSX)
   options.handshake_fd = -1;
 #endif
+  options.periodic_tasks = true;
   options.rate_limit = true;
   options.upload_gzip = true;
 
@@ -540,6 +547,10 @@
         options.monitor_self_arguments.push_back(optarg);
         break;
       }
+      case kOptionNoPeriodicTasks: {
+        options.periodic_tasks = false;
+        break;
+      }
       case kOptionNoRateLimit: {
         options.rate_limit = false;
         break;
@@ -687,6 +698,8 @@
       reset_sigterm.reset(&old_sigterm_action);
     }
   }
+
+  RecordFileLimitAnnotation();
 #elif defined(OS_WIN)
   // Shut down as late as possible relative to programs we're watching.
   if (!SetProcessShutdownParameters(0x100, SHUTDOWN_NORETRY))
@@ -721,13 +734,19 @@
   // TODO(scottmg): options.rate_limit should be removed when we have a
   // configurable database setting to control upload limiting.
   // See https://crashpad.chromium.org/bug/23.
-  CrashReportUploadThread upload_thread(
-      database.get(), options.url, options.rate_limit, options.upload_gzip);
+  CrashReportUploadThread upload_thread(database.get(),
+                                        options.url,
+                                        options.periodic_tasks,
+                                        options.rate_limit,
+                                        options.upload_gzip);
   upload_thread.Start();
 
-  PruneCrashReportThread prune_thread(database.get(),
-                                      PruneCondition::GetDefault());
-  prune_thread.Start();
+  std::unique_ptr<PruneCrashReportThread> prune_thread;
+  if (options.periodic_tasks) {
+    prune_thread.reset(new PruneCrashReportThread(
+        database.get(), PruneCondition::GetDefault()));
+    prune_thread->Start();
+  }
 
   CrashReportExceptionHandler exception_handler(database.get(),
                                                 &upload_thread,
@@ -744,7 +763,9 @@
   exception_handler_server.Run(&exception_handler);
 
   upload_thread.Stop();
-  prune_thread.Stop();
+  if (prune_thread) {
+    prune_thread->Stop();
+  }
 
   return EXIT_SUCCESS;
 }
diff --git a/third_party/crashpad/crashpad/handler/handler_main.h b/third_party/crashpad/crashpad/handler/handler_main.h
index 1e78aa5..af01dbe 100644
--- a/third_party/crashpad/crashpad/handler/handler_main.h
+++ b/third_party/crashpad/crashpad/handler/handler_main.h
@@ -24,6 +24,8 @@
 //! This is exposed so that `crashpad_handler` can be embedded into another
 //! binary, but called and used as if it were a standalone executable.
 //!
+//! \param[in] argc \a argc as passed to `main()`.
+//! \param[in] argv \a argv as passed to `main()`.
 //! \param[in] user_stream_sources An optional vector containing the
 //!     extensibility data sources to call on crash. Each time a minidump is
 //!     created, the sources are called in turn. Any streams returned are added
diff --git a/third_party/crashpad/crashpad/handler/mac/crash_report_exception_handler.cc b/third_party/crashpad/crashpad/handler/mac/crash_report_exception_handler.cc
index a96131c..6f9cdbe 100644
--- a/third_party/crashpad/crashpad/handler/mac/crash_report_exception_handler.cc
+++ b/third_party/crashpad/crashpad/handler/mac/crash_report_exception_handler.cc
@@ -21,6 +21,7 @@
 #include "base/mac/scoped_mach_port.h"
 #include "base/strings/stringprintf.h"
 #include "client/settings.h"
+#include "handler/mac/file_limit_annotation.h"
 #include "minidump/minidump_file_writer.h"
 #include "minidump/minidump_user_extension_stream_data_source.h"
 #include "snapshot/crashpad_info_client_options.h"
@@ -67,6 +68,7 @@
     mach_msg_type_number_t* new_state_count,
     const mach_msg_trailer_t* trailer,
     bool* destroy_complex_request) {
+  RecordFileLimitAnnotation();
   Metrics::ExceptionEncountered();
   Metrics::ExceptionCode(ExceptionCodeForMetrics(exception, code[0]));
   *destroy_complex_request = true;
@@ -190,7 +192,7 @@
       return KERN_FAILURE;
     }
 
-    upload_thread_->ReportPending();
+    upload_thread_->ReportPending(uuid);
   }
 
   if (client_options.system_crash_reporter_forwarding != TriState::kDisabled &&
diff --git a/third_party/crashpad/crashpad/handler/mac/crash_report_exception_handler.h b/third_party/crashpad/crashpad/handler/mac/crash_report_exception_handler.h
index b878cfe4..cc314f1 100644
--- a/third_party/crashpad/crashpad/handler/mac/crash_report_exception_handler.h
+++ b/third_party/crashpad/crashpad/handler/mac/crash_report_exception_handler.h
@@ -47,6 +47,10 @@
   //!     To interoperate with Breakpad servers, the recommended practice is to
   //!     specify values for the `"prod"` and `"ver"` keys as process
   //!     annotations.
+  //! \param[in] user_stream_data_sources Data sources to be used to extend
+  //!     crash reports. For each crash report that is written, the data sources
+  //!     are called in turn. These data sources may contribute additional
+  //!     minidump streams. `nullptr` if not required.
   CrashReportExceptionHandler(
       CrashReportDatabase* database,
       CrashReportUploadThread* upload_thread,
diff --git a/third_party/crashpad/crashpad/handler/mac/exception_handler_server.cc b/third_party/crashpad/crashpad/handler/mac/exception_handler_server.cc
index 38a016e..3f30e03 100644
--- a/third_party/crashpad/crashpad/handler/mac/exception_handler_server.cc
+++ b/third_party/crashpad/crashpad/handler/mac/exception_handler_server.cc
@@ -105,7 +105,14 @@
                                  MachMessageServer::kOneShot,
                                  MachMessageServer::kReceiveLargeIgnore,
                                  kMachMessageTimeoutWaitIndefinitely);
-      MACH_CHECK(mr == MACH_MSG_SUCCESS, mr) << "MachMessageServer::Run";
+
+      // MACH_SEND_INVALID_DEST occurs when attempting to reply to a dead name.
+      // This can happen if a mach_exc or exc client disappears before a reply
+      // can be sent to it. That’s unusal for kernel-generated requests, but can
+      // easily happen if a task sends its own exception request (as
+      // SimulateCrash() does) and dies before the reply is sent.
+      MACH_CHECK(mr == MACH_MSG_SUCCESS || mr == MACH_SEND_INVALID_DEST, mr)
+          << "MachMessageServer::Run";
     }
   }
 
diff --git a/third_party/crashpad/crashpad/handler/mac/file_limit_annotation.cc b/third_party/crashpad/crashpad/handler/mac/file_limit_annotation.cc
new file mode 100644
index 0000000..359ed8e
--- /dev/null
+++ b/third_party/crashpad/crashpad/handler/mac/file_limit_annotation.cc
@@ -0,0 +1,93 @@
+// Copyright 2017 The Crashpad Authors. All rights reserved.
+//
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+//
+//     http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+
+#include "handler/mac/file_limit_annotation.h"
+
+#include <errno.h>
+#include <sys/resource.h>
+#include <sys/sysctl.h>
+#include <sys/types.h>
+
+#include <string>
+
+#include "base/format_macros.h"
+#include "base/macros.h"
+#include "base/strings/stringprintf.h"
+#include "client/crashpad_info.h"
+#include "client/simple_string_dictionary.h"
+
+namespace {
+
+// rv is the return value from sysctl() or sysctlbyname(), and value and size
+// are the pointers passed as oldp and oldlenp. If sysctl() failed, the returned
+// string will be "E" followed by the error number. If there was a size
+// mismatch, the returned string will be "Z" followed by the size indicated by
+// sysctl(). Normally, a string representation of *value will be returned.
+std::string FormatFromSysctl(int rv, const int* value, const size_t* size) {
+  if (rv != 0) {
+    return base::StringPrintf("E%d", errno);
+  }
+  if (*size != sizeof(*value)) {
+    return base::StringPrintf("Z%zu", *size);
+  }
+  return base::StringPrintf("%d", *value);
+}
+
+// Returns a string for |limit|, or "inf" if |limit| is RLIM_INFINITY.
+std::string StringForRLim(rlim_t limit) {
+  if (limit == RLIM_INFINITY) {
+    return std::string("inf");
+  }
+
+  return base::StringPrintf("%" PRIu64, limit);
+}
+
+}  // namespace
+
+namespace crashpad {
+
+void RecordFileLimitAnnotation() {
+  CrashpadInfo* crashpad_info = CrashpadInfo::GetCrashpadInfo();
+  SimpleStringDictionary* simple_annotations =
+      crashpad_info->simple_annotations();
+  if (!simple_annotations) {
+    simple_annotations = new SimpleStringDictionary();
+    crashpad_info->set_simple_annotations(simple_annotations);
+  }
+
+  int value;
+  size_t size = sizeof(value);
+  std::string num_files = FormatFromSysctl(
+      sysctlbyname("kern.num_files", &value, &size, nullptr, 0), &value, &size);
+
+  int mib[] = {CTL_KERN, KERN_MAXFILES};
+  size = sizeof(value);
+  std::string max_files = FormatFromSysctl(
+      sysctl(mib, arraysize(mib), &value, &size, nullptr, 0), &value, &size);
+
+  rlimit limit;
+  std::string nofile;
+  if (getrlimit(RLIMIT_NOFILE, &limit) != 0) {
+    nofile = base::StringPrintf("E%d,E%d", errno, errno);
+  } else {
+    nofile =
+        StringForRLim(limit.rlim_cur) + "," + StringForRLim(limit.rlim_max);
+  }
+
+  std::string annotation = base::StringPrintf(
+      "%s,%s,%s", num_files.c_str(), max_files.c_str(), nofile.c_str());
+  simple_annotations->SetKeyValue("file-limits", annotation.c_str());
+}
+
+}  // namespace crashpad
diff --git a/third_party/crashpad/crashpad/handler/mac/file_limit_annotation.h b/third_party/crashpad/crashpad/handler/mac/file_limit_annotation.h
new file mode 100644
index 0000000..1131986
--- /dev/null
+++ b/third_party/crashpad/crashpad/handler/mac/file_limit_annotation.h
@@ -0,0 +1,38 @@
+// Copyright 2017 The Crashpad Authors. All rights reserved.
+//
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+//
+//     http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+
+#ifndef CRASHPAD_HANDLER_MAC_FILE_LIMIT_ANNOTATION_H_
+#define CRASHPAD_HANDLER_MAC_FILE_LIMIT_ANNOTATION_H_
+
+namespace crashpad {
+
+//! \brief Records a `"file-limits"` simple annotation for the process.
+//!
+//! This annotation will be used to confirm the theory that certain crashes are
+//! caused by systems at or near their file descriptor table size limits.
+//!
+//! The format of the annotation is four comma-separated values: the system-wide
+//! `kern.num_files` and `kern.maxfiles` values from `sysctl()`, and the
+//! process-specific current and maximum file descriptor limits from
+//! `getrlimit(RLIMIT_NOFILE, …)`.
+//!
+//! See https://crashpad.chromium.org/bug/180.
+//!
+//! TODO(mark): Remove this annotation after sufficient data has been collected
+//! for analysis.
+void RecordFileLimitAnnotation();
+
+}  // namespace crashpad
+
+#endif  // CRASHPAD_HANDLER_MAC_FILE_LIMIT_ANNOTATION_H_
diff --git a/third_party/crashpad/crashpad/handler/win/crash_report_exception_handler.cc b/third_party/crashpad/crashpad/handler/win/crash_report_exception_handler.cc
index 7828aac6..0ab206c1 100644
--- a/third_party/crashpad/crashpad/handler/win/crash_report_exception_handler.cc
+++ b/third_party/crashpad/crashpad/handler/win/crash_report_exception_handler.cc
@@ -130,7 +130,7 @@
       return termination_code;
     }
 
-    upload_thread_->ReportPending();
+    upload_thread_->ReportPending(uuid);
   }
 
   Metrics::ExceptionCaptureResult(Metrics::CaptureResult::kSuccess);
diff --git a/third_party/crashpad/crashpad/handler/win/crash_report_exception_handler.h b/third_party/crashpad/crashpad/handler/win/crash_report_exception_handler.h
index 521ccd3..54dfa9719 100644
--- a/third_party/crashpad/crashpad/handler/win/crash_report_exception_handler.h
+++ b/third_party/crashpad/crashpad/handler/win/crash_report_exception_handler.h
@@ -48,6 +48,10 @@
   //!     To interoperate with Breakpad servers, the recommended practice is to
   //!     specify values for the `"prod"` and `"ver"` keys as process
   //!     annotations.
+  //! \param[in] user_stream_data_sources Data sources to be used to extend
+  //!     crash reports. For each crash report that is written, the data sources
+  //!     are called in turn. These data sources may contribute additional
+  //!     minidump streams. `nullptr` if not required.
   CrashReportExceptionHandler(
       CrashReportDatabase* database,
       CrashReportUploadThread* upload_thread,
diff --git a/third_party/crashpad/crashpad/util/mach/mach_message_server.h b/third_party/crashpad/crashpad/util/mach/mach_message_server.h
index 9793560..5e96c4ce 100644
--- a/third_party/crashpad/crashpad/util/mach/mach_message_server.h
+++ b/third_party/crashpad/crashpad/util/mach/mach_message_server.h
@@ -162,7 +162,11 @@
   //!     timeout_ms is not #kMachMessageTimeoutWaitIndefinitely). This function
   //!     has no successful return value when \a persistent is #kPersistent and
   //!     \a timeout_ms is #kMachMessageTimeoutWaitIndefinitely. On failure,
-  //!     returns a value identifying the nature of the error.
+  //!     returns a value identifying the nature of the error. A request
+  //!     received with a reply port that is (or becomes) a dead name before the
+  //!     reply is sent will result in `MACH_SEND_INVALID_DEST` as a return
+  //!     value, which may or may not be considered an error from the caller’s
+  //!     perspective.
   static mach_msg_return_t Run(Interface* interface,
                                mach_port_t receive_port,
                                mach_msg_options_t options,
diff --git a/third_party/crashpad/crashpad/util/posix/process_info_linux.cc b/third_party/crashpad/crashpad/util/posix/process_info_linux.cc
index 13b15a0..60b7b7f 100644
--- a/third_party/crashpad/crashpad/util/posix/process_info_linux.cc
+++ b/third_party/crashpad/crashpad/util/posix/process_info_linux.cc
@@ -209,12 +209,15 @@
           LOG(ERROR) << "format error: multiple Groups lines";
           return false;
         }
-        gid_t group;
-        while (AdvancePastNumber(&line_c, &group)) {
-          supplementary_groups_.insert(group);
-          if (!AdvancePastPrefix(&line_c, " ")) {
-            LOG(ERROR) << "format error: unrecognized Groups format";
-            return false;
+        if (!AdvancePastPrefix(&line_c, " ")) {
+          // In Linux 4.10, even an empty Groups: line has a trailing space.
+          gid_t group;
+          while (AdvancePastNumber(&line_c, &group)) {
+            supplementary_groups_.insert(group);
+            if (!AdvancePastPrefix(&line_c, " ")) {
+              LOG(ERROR) << "format error: unrecognized Groups format";
+              return false;
+            }
           }
         }
         have_groups = true;
diff --git a/third_party/crashpad/crashpad/util/stdlib/thread_safe_vector.h b/third_party/crashpad/crashpad/util/stdlib/thread_safe_vector.h
new file mode 100644
index 0000000..f97024d0
--- /dev/null
+++ b/third_party/crashpad/crashpad/util/stdlib/thread_safe_vector.h
@@ -0,0 +1,63 @@
+// Copyright 2017 The Crashpad Authors. All rights reserved.
+//
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+//
+//     http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+
+#ifndef CRASHPAD_UTIL_STDLIB_THREAD_SAFE_VECTOR_H_
+#define CRASHPAD_UTIL_STDLIB_THREAD_SAFE_VECTOR_H_
+
+#include <utility>
+#include <vector>
+
+#include "base/macros.h"
+#include "base/synchronization/lock.h"
+
+namespace crashpad {
+
+//! \brief A wrapper for a `std::vector<>` that can be accessed safely from
+//!    multiple threads.
+//!
+//! This is not a drop-in replacement for `std::vector<>`. Only necessary
+//! operations are defined.
+template <typename T>
+class ThreadSafeVector {
+ public:
+  ThreadSafeVector() : vector_(), lock_() {}
+  ~ThreadSafeVector() {}
+
+  //! \brief Wraps `std::vector<>::%push_back()`.
+  void PushBack(const T& element) {
+    base::AutoLock lock_owner(lock_);
+    vector_.push_back(element);
+  }
+
+  //! \brief Atomically clears the underlying vector and returns its previous
+  //!     contents.
+  std::vector<T> Drain() {
+    std::vector<T> contents;
+    {
+      base::AutoLock lock_owner(lock_);
+      std::swap(vector_, contents);
+    }
+    return contents;
+  }
+
+ private:
+  std::vector<T> vector_;
+  base::Lock lock_;
+
+  DISALLOW_COPY_AND_ASSIGN(ThreadSafeVector);
+};
+
+}  // namespace crashpad
+
+#endif  // CRASHPAD_UTIL_STDLIB_THREAD_SAFE_VECTOR_H_
diff --git a/third_party/crashpad/crashpad/util/stdlib/thread_safe_vector_test.cc b/third_party/crashpad/crashpad/util/stdlib/thread_safe_vector_test.cc
new file mode 100644
index 0000000..805360f4
--- /dev/null
+++ b/third_party/crashpad/crashpad/util/stdlib/thread_safe_vector_test.cc
@@ -0,0 +1,91 @@
+// Copyright 2017 The Crashpad Authors. All rights reserved.
+//
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+//
+//     http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+
+#include "util/stdlib/thread_safe_vector.h"
+
+#include "gtest/gtest.h"
+#include "util/thread/thread.h"
+
+namespace crashpad {
+namespace test {
+namespace {
+
+constexpr int kElementsPerThread = 100;
+
+class ThreadSafeVectorTestThread : public Thread {
+ public:
+  ThreadSafeVectorTestThread() : thread_safe_vector_(nullptr), start_(0) {}
+  ~ThreadSafeVectorTestThread() {}
+
+  void SetTestParameters(ThreadSafeVector<int>* thread_safe_vector, int start) {
+    thread_safe_vector_ = thread_safe_vector;
+    start_ = start;
+  }
+
+  // Thread:
+  void ThreadMain() override {
+    for (int i = start_; i < start_ + kElementsPerThread; ++i) {
+      thread_safe_vector_->PushBack(i);
+    }
+  }
+
+ private:
+  ThreadSafeVector<int>* thread_safe_vector_;
+  int start_;
+
+  DISALLOW_COPY_AND_ASSIGN(ThreadSafeVectorTestThread);
+};
+
+TEST(ThreadSafeVector, ThreadSafeVector) {
+  ThreadSafeVector<int> thread_safe_vector;
+  std::vector<int> vector = thread_safe_vector.Drain();
+  EXPECT_TRUE(vector.empty());
+
+  ThreadSafeVectorTestThread threads[100];
+  for (size_t index = 0; index < arraysize(threads); ++index) {
+    threads[index].SetTestParameters(
+        &thread_safe_vector, static_cast<int>(index * kElementsPerThread));
+  }
+
+  for (size_t index = 0; index < arraysize(threads); ++index) {
+    threads[index].Start();
+
+    if (index % 10 == 0) {
+      // Drain the vector periodically to test that simultaneous Drain() and
+      // PushBack() operations work properly.
+      std::vector<int> drained = thread_safe_vector.Drain();
+      vector.insert(vector.end(), drained.begin(), drained.end());
+    }
+  }
+
+  for (ThreadSafeVectorTestThread& thread : threads) {
+    thread.Join();
+  }
+
+  std::vector<int> drained = thread_safe_vector.Drain();
+  vector.insert(vector.end(), drained.begin(), drained.end());
+  bool found[arraysize(threads) * kElementsPerThread] = {};
+  EXPECT_EQ(vector.size(), arraysize(found));
+  for (int element : vector) {
+    EXPECT_FALSE(found[element]) << element;
+    found[element] = true;
+  }
+
+  vector = thread_safe_vector.Drain();
+  EXPECT_TRUE(vector.empty());
+}
+
+}  // namespace
+}  // namespace test
+}  // namespace crashpad
diff --git a/third_party/crashpad/crashpad/util/synchronization/semaphore.h b/third_party/crashpad/crashpad/util/synchronization/semaphore.h
index ac77cb7c..49479639 100644
--- a/third_party/crashpad/crashpad/util/synchronization/semaphore.h
+++ b/third_party/crashpad/crashpad/util/synchronization/semaphore.h
@@ -15,6 +15,8 @@
 #ifndef CRASHPAD_UTIL_SYNCHRONIZATION_SEMAPHORE_H_
 #define CRASHPAD_UTIL_SYNCHRONIZATION_SEMAPHORE_H_
 
+#include <limits>
+
 #include "build/build_config.h"
 
 #if defined(OS_MACOSX)
@@ -30,6 +32,10 @@
 //! \brief An anonymous in-process counting sempahore.
 class Semaphore {
  public:
+  //! \brief A TimedWait() argument that causes an indefinite wait.
+  static constexpr double kIndefiniteWait =
+      std::numeric_limits<double>::infinity();
+
   //! \brief Initializes the semaphore.
   //!
   //! \param[in] value The initial value of the semaphore.
@@ -51,7 +57,8 @@
   //! \brief Performs a timed wait (or “procure”) operation on the semaphore.
   //!
   //! \param[in] seconds The maximum number of seconds to wait for the operation
-  //!     to complete.
+  //!     to complete. If \a seconds is #kIndefiniteWait, this method behaves as
+  //!     Wait(), and will not time out.
   //!
   //! \return `false` if the wait timed out, `true` otherwise.
   //!
diff --git a/third_party/crashpad/crashpad/util/synchronization/semaphore_mac.cc b/third_party/crashpad/crashpad/util/synchronization/semaphore_mac.cc
index e8a79ab..4f3bf00 100644
--- a/third_party/crashpad/crashpad/util/synchronization/semaphore_mac.cc
+++ b/third_party/crashpad/crashpad/util/synchronization/semaphore_mac.cc
@@ -14,6 +14,8 @@
 
 #include "util/synchronization/semaphore.h"
 
+#include <cmath>
+
 #include "base/logging.h"
 
 namespace crashpad {
@@ -33,6 +35,12 @@
 
 bool Semaphore::TimedWait(double seconds) {
   DCHECK_GE(seconds, 0.0);
+
+  if (std::isinf(seconds)) {
+    Wait();
+    return true;
+  }
+
   const dispatch_time_t timeout =
       dispatch_time(DISPATCH_TIME_NOW, seconds * NSEC_PER_SEC);
   return dispatch_semaphore_wait(semaphore_, timeout) == 0;
diff --git a/third_party/crashpad/crashpad/util/synchronization/semaphore_posix.cc b/third_party/crashpad/crashpad/util/synchronization/semaphore_posix.cc
index 973f0a5d..c781e4c6 100644
--- a/third_party/crashpad/crashpad/util/synchronization/semaphore_posix.cc
+++ b/third_party/crashpad/crashpad/util/synchronization/semaphore_posix.cc
@@ -39,6 +39,12 @@
 
 bool Semaphore::TimedWait(double seconds) {
   DCHECK_GE(seconds, 0.0);
+
+  if (std::isinf(seconds)) {
+    Wait();
+    return true;
+  }
+
   timespec timeout;
   timeout.tv_sec = seconds;
   timeout.tv_nsec = (seconds - trunc(seconds)) * 1E9;
diff --git a/third_party/crashpad/crashpad/util/synchronization/semaphore_test.cc b/third_party/crashpad/crashpad/util/synchronization/semaphore_test.cc
index fb4338c0..ccaf742 100644
--- a/third_party/crashpad/crashpad/util/synchronization/semaphore_test.cc
+++ b/third_party/crashpad/crashpad/util/synchronization/semaphore_test.cc
@@ -43,6 +43,18 @@
   EXPECT_FALSE(semaphore.TimedWait(0.01));  // 10ms
 }
 
+TEST(Semaphore, TimedWaitInfinite_0) {
+  Semaphore semaphore(0);
+  semaphore.Signal();
+  EXPECT_TRUE(semaphore.TimedWait(std::numeric_limits<double>::infinity()));
+}
+
+TEST(Semaphore, TimedWaitInfinite_1) {
+  Semaphore semaphore(1);
+  EXPECT_TRUE(semaphore.TimedWait(std::numeric_limits<double>::infinity()));
+  semaphore.Signal();
+}
+
 struct ThreadMainInfo {
 #if defined(OS_POSIX)
   pthread_t pthread;
diff --git a/third_party/crashpad/crashpad/util/synchronization/semaphore_win.cc b/third_party/crashpad/crashpad/util/synchronization/semaphore_win.cc
index 962c7ba..2f26c23 100644
--- a/third_party/crashpad/crashpad/util/synchronization/semaphore_win.cc
+++ b/third_party/crashpad/crashpad/util/synchronization/semaphore_win.cc
@@ -14,6 +14,7 @@
 
 #include "util/synchronization/semaphore.h"
 
+#include <cmath>
 #include <limits>
 
 #include "base/logging.h"
@@ -38,6 +39,12 @@
 
 bool Semaphore::TimedWait(double seconds) {
   DCHECK_GE(seconds, 0.0);
+
+  if (std::isinf(seconds)) {
+    Wait();
+    return true;
+  }
+
   DWORD rv = WaitForSingleObject(semaphore_, static_cast<DWORD>(seconds * 1E3));
   PCHECK(rv == WAIT_OBJECT_0 || rv == WAIT_TIMEOUT) << "WaitForSingleObject";
   return rv == WAIT_OBJECT_0;
diff --git a/third_party/crashpad/crashpad/util/thread/worker_thread.cc b/third_party/crashpad/crashpad/util/thread/worker_thread.cc
index 595ef8f..3cf4897 100644
--- a/third_party/crashpad/crashpad/util/thread/worker_thread.cc
+++ b/third_party/crashpad/crashpad/util/thread/worker_thread.cc
@@ -15,7 +15,6 @@
 #include "util/thread/worker_thread.h"
 
 #include "base/logging.h"
-#include "util/synchronization/semaphore.h"
 #include "util/thread/thread.h"
 
 namespace crashpad {
diff --git a/third_party/crashpad/crashpad/util/thread/worker_thread.h b/third_party/crashpad/crashpad/util/thread/worker_thread.h
index 321d9184..97fb6ec 100644
--- a/third_party/crashpad/crashpad/util/thread/worker_thread.h
+++ b/third_party/crashpad/crashpad/util/thread/worker_thread.h
@@ -18,6 +18,7 @@
 #include <memory>
 
 #include "base/macros.h"
+#include "util/synchronization/semaphore.h"
 
 namespace crashpad {
 
@@ -40,11 +41,16 @@
     virtual ~Delegate() {}
   };
 
+  //! \brief A delay or interval argument that causes an indefinite wait.
+  static constexpr double kIndefiniteWait = Semaphore::kIndefiniteWait;
+
   //! \brief Creates a new WorkerThread that is not yet running.
   //!
   //! \param[in] work_interval The time interval in seconds at which the \a
   //!     delegate runs. The interval counts from the completion of
-  //!     Delegate::DoWork() to the next invocation.
+  //!     Delegate::DoWork() to the next invocation. This can be
+  //!     #kIndefiniteWait if work should only be done when DoWorkNow() is
+  //!     called.
   //! \param[in] delegate The work delegate to invoke every interval.
   WorkerThread(double work_interval, Delegate* delegate);
   ~WorkerThread();
@@ -55,7 +61,8 @@
   //!
   //! \param[in] initial_work_delay The amount of time in seconds to wait
   //!     before invoking the \a delegate for the first time. Pass `0` for
-  //!     no delay.
+  //!     no delay. This can be #kIndefiniteWait if work should not be done
+  //!     until DoWorkNow() is called.
   void Start(double initial_work_delay);
 
   //! \brief Stops the worker thread from running.
diff --git a/third_party/crashpad/crashpad/util/util.gyp b/third_party/crashpad/crashpad/util/util.gyp
index 7ef7a0c..5bc4de6 100644
--- a/third_party/crashpad/crashpad/util/util.gyp
+++ b/third_party/crashpad/crashpad/util/util.gyp
@@ -168,6 +168,7 @@
         'stdlib/strlcpy.h',
         'stdlib/strnlen.cc',
         'stdlib/strnlen.h',
+        'stdlib/thread_safe_vector.h',
         'string/split_string.cc',
         'string/split_string.h',
         'synchronization/semaphore_mac.cc',
diff --git a/third_party/crashpad/crashpad/util/util_test.gyp b/third_party/crashpad/crashpad/util/util_test.gyp
index 31323c0..95dac08 100644
--- a/third_party/crashpad/crashpad/util/util_test.gyp
+++ b/third_party/crashpad/crashpad/util/util_test.gyp
@@ -87,6 +87,7 @@
         'stdlib/string_number_conversion_test.cc',
         'stdlib/strlcpy_test.cc',
         'stdlib/strnlen_test.cc',
+        'stdlib/thread_safe_vector_test.cc',
         'string/split_string_test.cc',
         'synchronization/semaphore_test.cc',
         'thread/thread_log_messages_test.cc',
diff --git a/tools/android/eclipse/.classpath b/tools/android/eclipse/.classpath
index 91700431..c124299 100644
--- a/tools/android/eclipse/.classpath
+++ b/tools/android/eclipse/.classpath
@@ -26,6 +26,7 @@
     <classpathentry kind="src" path="base/android/java/src"/>
     <classpathentry kind="src" path="base/android/javatests/src"/>
     <classpathentry kind="src" path="base/test/android/javatests/src"/>
+    <classpathentry kind="src" path="base/test/android/junit/src"/>
     <classpathentry kind="src" path="chrome/android/java/src"/>
     <classpathentry kind="src" path="chrome/android/javatests/src"/>
     <classpathentry kind="src" path="chrome/android/sync_shell/javatests/src"/>
diff --git a/tools/chrome_proxy/webdriver/common.py b/tools/chrome_proxy/webdriver/common.py
index 9f2cb98..75769bf 100644
--- a/tools/chrome_proxy/webdriver/common.py
+++ b/tools/chrome_proxy/webdriver/common.py
@@ -674,71 +674,3 @@
     testRunner = unittest.runner.TextTestRunner(verbosity=2,
       failfast=flags.failfast, buffer=(not flags.disable_buffer))
     testRunner.run(tests)
-
-# Platform-specific decorators.
-# These decorators can be used to only run a test function for certain platforms
-# by annotating the function with them.
-
-def AndroidOnly(func):
-  def wrapper(*args, **kwargs):
-    if ParseFlags().android:
-      func(*args, **kwargs)
-    else:
-      args[0].skipTest('This test runs on Android only.')
-  return wrapper
-
-def NotAndroid(func):
-  def wrapper(*args, **kwargs):
-    if not ParseFlags().android:
-      func(*args, **kwargs)
-    else:
-      args[0].skipTest('This test does not run on Android.')
-  return wrapper
-
-def WindowsOnly(func):
-  def wrapper(*args, **kwargs):
-    if sys.platform == 'win32':
-      func(*args, **kwargs)
-    else:
-      args[0].skipTest('This test runs on Windows only.')
-  return wrapper
-
-def NotWindows(func):
-  def wrapper(*args, **kwargs):
-    if sys.platform != 'win32':
-      func(*args, **kwargs)
-    else:
-      args[0].skipTest('This test does not run on Windows.')
-  return wrapper
-
-def LinuxOnly(func):
-  def wrapper(*args, **kwargs):
-    if sys.platform.startswith('linux'):
-      func(*args, **kwargs)
-    else:
-      args[0].skipTest('This test runs on Linux only.')
-  return wrapper
-
-def NotLinux(func):
-  def wrapper(*args, **kwargs):
-    if sys.platform.startswith('linux'):
-      func(*args, **kwargs)
-    else:
-      args[0].skipTest('This test does not run on Linux.')
-  return wrapper
-
-def MacOnly(func):
-  def wrapper(*args, **kwargs):
-    if sys.platform == 'darwin':
-      func(*args, **kwargs)
-    else:
-      args[0].skipTest('This test runs on Mac OS only.')
-  return wrapper
-
-def NotMac(func):
-  def wrapper(*args, **kwargs):
-    if sys.platform == 'darwin':
-      func(*args, **kwargs)
-    else:
-      args[0].skipTest('This test does not run on Mac OS.')
-  return wrapper
diff --git a/tools/chrome_proxy/webdriver/compression_regression.py b/tools/chrome_proxy/webdriver/compression_regression.py
index 489a1ba..934fb93 100644
--- a/tools/chrome_proxy/webdriver/compression_regression.py
+++ b/tools/chrome_proxy/webdriver/compression_regression.py
@@ -11,7 +11,7 @@
 import common
 from common import TestDriver
 from common import IntegrationTest
-from common import NotAndroid
+from decorators import NotAndroid
 
 # The maximum number of data points that will be saved.
 MAX_DATA_POINTS = 365
diff --git a/tools/chrome_proxy/webdriver/data_use.py b/tools/chrome_proxy/webdriver/data_use.py
index b91c760e..7426c2b 100644
--- a/tools/chrome_proxy/webdriver/data_use.py
+++ b/tools/chrome_proxy/webdriver/data_use.py
@@ -7,7 +7,7 @@
 import common
 from common import TestDriver
 from common import IntegrationTest
-from common import NotAndroid
+from decorators import NotAndroid
 
 
 class DataUseAscription(IntegrationTest):
diff --git a/tools/chrome_proxy/webdriver/decorator_smoke.py b/tools/chrome_proxy/webdriver/decorator_smoke.py
index e9a6c75..bf2f82f 100644
--- a/tools/chrome_proxy/webdriver/decorator_smoke.py
+++ b/tools/chrome_proxy/webdriver/decorator_smoke.py
@@ -2,7 +2,7 @@
 # Use of this source code is governed by a BSD-style license that can be
 # found in the LICENSE file.
 
-from common import AndroidOnly
+from decorators import AndroidOnly
 from common import ParseFlags
 from common import IntegrationTest
 
diff --git a/tools/chrome_proxy/webdriver/decorators.py b/tools/chrome_proxy/webdriver/decorators.py
new file mode 100644
index 0000000..5da3650
--- /dev/null
+++ b/tools/chrome_proxy/webdriver/decorators.py
@@ -0,0 +1,74 @@
+# 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.
+
+from common import ParseFlags
+
+
+# Platform-specific decorators.
+# These decorators can be used to only run a test function for certain platforms
+# by annotating the function with them.
+
+def AndroidOnly(func):
+  def wrapper(*args, **kwargs):
+    if ParseFlags().android:
+      func(*args, **kwargs)
+    else:
+      args[0].skipTest('This test runs on Android only.')
+  return wrapper
+
+def NotAndroid(func):
+  def wrapper(*args, **kwargs):
+    if not ParseFlags().android:
+      func(*args, **kwargs)
+    else:
+      args[0].skipTest('This test does not run on Android.')
+  return wrapper
+
+def WindowsOnly(func):
+  def wrapper(*args, **kwargs):
+    if sys.platform == 'win32':
+      func(*args, **kwargs)
+    else:
+      args[0].skipTest('This test runs on Windows only.')
+  return wrapper
+
+def NotWindows(func):
+  def wrapper(*args, **kwargs):
+    if sys.platform != 'win32':
+      func(*args, **kwargs)
+    else:
+      args[0].skipTest('This test does not run on Windows.')
+  return wrapper
+
+def LinuxOnly(func):
+  def wrapper(*args, **kwargs):
+    if sys.platform.startswith('linux'):
+      func(*args, **kwargs)
+    else:
+      args[0].skipTest('This test runs on Linux only.')
+  return wrapper
+
+def NotLinux(func):
+  def wrapper(*args, **kwargs):
+    if sys.platform.startswith('linux'):
+      func(*args, **kwargs)
+    else:
+      args[0].skipTest('This test does not run on Linux.')
+  return wrapper
+
+def MacOnly(func):
+  def wrapper(*args, **kwargs):
+    if sys.platform == 'darwin':
+      func(*args, **kwargs)
+    else:
+      args[0].skipTest('This test runs on Mac OS only.')
+  return wrapper
+
+def NotMac(func):
+  def wrapper(*args, **kwargs):
+    if sys.platform == 'darwin':
+      func(*args, **kwargs)
+    else:
+      args[0].skipTest('This test does not run on Mac OS.')
+  return wrapper
diff --git a/tools/chrome_proxy/webdriver/quic.py b/tools/chrome_proxy/webdriver/quic.py
index 03f8f2c..280bfb92 100644
--- a/tools/chrome_proxy/webdriver/quic.py
+++ b/tools/chrome_proxy/webdriver/quic.py
@@ -2,6 +2,8 @@
 # Use of this source code is governed by a BSD-style license that can be
 # found in the LICENSE file.
 
+import time
+
 import common
 from common import TestDriver
 from common import IntegrationTest
diff --git a/tools/chrome_proxy/webdriver/safebrowsing.py b/tools/chrome_proxy/webdriver/safebrowsing.py
index cdfe2ec..1560bb0 100644
--- a/tools/chrome_proxy/webdriver/safebrowsing.py
+++ b/tools/chrome_proxy/webdriver/safebrowsing.py
@@ -5,8 +5,8 @@
 import common
 from common import TestDriver
 from common import IntegrationTest
-from common import AndroidOnly
-from common import NotAndroid
+from decorators import AndroidOnly
+from decorators import NotAndroid
 
 
 class SafeBrowsing(IntegrationTest):
diff --git a/tools/chrome_proxy/webdriver/smoke.py b/tools/chrome_proxy/webdriver/smoke.py
index f29dc235..ad799d6 100644
--- a/tools/chrome_proxy/webdriver/smoke.py
+++ b/tools/chrome_proxy/webdriver/smoke.py
@@ -6,7 +6,7 @@
 import time
 from common import TestDriver
 from common import IntegrationTest
-from common import NotAndroid
+from decorators import NotAndroid
 
 
 class Smoke(IntegrationTest):
@@ -21,7 +21,7 @@
       t.LoadURL('http://check.googlezip.net/test.html')
       for response in t.GetHTTPResponses():
         self.assertNotHasChromeProxyViaHeader(response)
-  
+
   # Ensure Chrome uses DataSaver in normal mode.
   def testCheckPageWithNormalMode(self):
     with TestDriver() as t:
@@ -85,7 +85,7 @@
       responses = t.GetHTTPResponses()
       self.assertNotEqual(0, len(responses))
       for response in responses:
-        self.assertHasChromeProxyViaHeader(response)        
+        self.assertHasChromeProxyViaHeader(response)
 
 if __name__ == '__main__':
   IntegrationTest.RunAllTests()
diff --git a/tools/chrome_proxy/webdriver/video.py b/tools/chrome_proxy/webdriver/video.py
index 2d59f2b..a7803140 100644
--- a/tools/chrome_proxy/webdriver/video.py
+++ b/tools/chrome_proxy/webdriver/video.py
@@ -7,7 +7,7 @@
 import common
 from common import TestDriver
 from common import IntegrationTest
-from common import NotAndroid
+from decorators import NotAndroid
 
 
 class Video(IntegrationTest):
diff --git a/tools/clang/plugins/ChromeClassTester.cpp b/tools/clang/plugins/ChromeClassTester.cpp
index c938806..e7c4285 100644
--- a/tools/clang/plugins/ChromeClassTester.cpp
+++ b/tools/clang/plugins/ChromeClassTester.cpp
@@ -52,7 +52,7 @@
     return;
 
   SourceLocation location = tag->getInnerLocStart();
-  LocationType location_type = ClassifyLocation(location);
+  LocationType location_type = ClassifyLocation(location, tag);
   if (location_type == LocationType::kThirdParty)
     return;
 
@@ -96,7 +96,12 @@
 }
 
 ChromeClassTester::LocationType ChromeClassTester::ClassifyLocation(
-    SourceLocation loc) {
+    SourceLocation loc,
+    const Decl* record) {
+  std::string ns = GetNamespace(record);
+  if (ns == "blink" || ns == "WTF")
+    return LocationType::kBlink;
+
   if (instance().getSourceManager().isInSystemHeader(loc))
     return LocationType::kThirdParty;
 
@@ -157,16 +162,6 @@
   std::replace(filename.begin(), filename.end(), '\\', '/');
 #endif
 
-  for (const std::string& blink_dir : blink_directories_) {
-    // If any of the allowed directories occur as a component in filename,
-    // this file is allowed.
-    assert(blink_dir.front() == '/' && "Allowed dir must start with '/'");
-    assert(blink_dir.back() == '/' && "Allowed dir must end with '/'");
-
-    if (filename.find(blink_dir) != std::string::npos)
-      return LocationType::kBlink;
-  }
-
   for (const std::string& banned_dir : banned_directories_) {
     // If any of the banned directories occur as a component in filename,
     // this file is rejected.
@@ -233,8 +228,6 @@
   banned_namespaces_.emplace("std");
   banned_namespaces_.emplace("__gnu_cxx");
 
-  blink_directories_.emplace("/third_party/WebKit/");
-
   banned_directories_.emplace("/third_party/");
   banned_directories_.emplace("/native_client/");
   banned_directories_.emplace("/breakpad/");
diff --git a/tools/clang/plugins/ChromeClassTester.h b/tools/clang/plugins/ChromeClassTester.h
index 03bc2bd..3091000 100644
--- a/tools/clang/plugins/ChromeClassTester.h
+++ b/tools/clang/plugins/ChromeClassTester.h
@@ -52,7 +52,8 @@
     // it doesn't make sense to enforce Chrome's custom diagnostics.
     kThirdParty,
   };
-  LocationType ClassifyLocation(clang::SourceLocation loc);
+  LocationType ClassifyLocation(clang::SourceLocation loc,
+                                const clang::Decl* record);
 
   // Utility method for subclasses to determine the namespace of the
   // specified record, if any. Unnamed namespaces will be identified as
@@ -101,9 +102,6 @@
   // List of banned namespaces.
   std::set<std::string> banned_namespaces_;
 
-  // List of Blink directories.
-  std::set<std::string> blink_directories_;
-
   // List of banned directories.
   std::set<std::string> banned_directories_;
 
diff --git a/tools/clang/plugins/FindBadConstructsConsumer.cpp b/tools/clang/plugins/FindBadConstructsConsumer.cpp
index 629090c..633e2ed5 100644
--- a/tools/clang/plugins/FindBadConstructsConsumer.cpp
+++ b/tools/clang/plugins/FindBadConstructsConsumer.cpp
@@ -460,9 +460,10 @@
 SuppressibleDiagnosticBuilder
 FindBadConstructsConsumer::ReportIfSpellingLocNotIgnored(
     SourceLocation loc,
+    const Decl* record,
     unsigned diagnostic_id) {
-  LocationType type =
-      ClassifyLocation(instance().getSourceManager().getSpellingLoc(loc));
+  LocationType type = ClassifyLocation(
+      instance().getSourceManager().getSpellingLoc(loc), record);
   bool ignored =
       type == LocationType::kThirdParty || type == LocationType::kBlink;
   return SuppressibleDiagnosticBuilder(&diagnostic(), loc, diagnostic_id,
@@ -534,7 +535,7 @@
     // Note this is just an educated guess: the assumption here is that any
     // macro for declaring methods will probably be at the start of the method's
     // source range.
-    ReportIfSpellingLocNotIgnored(method->getLocStart(),
+    ReportIfSpellingLocNotIgnored(method->getLocStart(), method,
                                   diag_redundant_virtual_specifier_)
         << "'virtual'"
         << (override_attr ? static_cast<Attr*>(override_attr) : final_attr)
@@ -585,23 +586,23 @@
     // Again, only emit the warning if it doesn't originate from a macro in
     // a system header.
     if (loc.isValid()) {
-      ReportIfSpellingLocNotIgnored(loc, diag_method_requires_override_)
+      ReportIfSpellingLocNotIgnored(loc, method, diag_method_requires_override_)
           << FixItHint::CreateInsertion(loc, " override");
     } else {
-      ReportIfSpellingLocNotIgnored(range.getBegin(),
+      ReportIfSpellingLocNotIgnored(range.getBegin(), method,
                                     diag_method_requires_override_);
     }
   }
 
   if (final_attr && override_attr) {
-    ReportIfSpellingLocNotIgnored(override_attr->getLocation(),
+    ReportIfSpellingLocNotIgnored(override_attr->getLocation(), method,
                                   diag_redundant_virtual_specifier_)
         << override_attr << final_attr
         << FixItHint::CreateRemoval(override_attr->getRange());
   }
 
   if (final_attr && !is_override) {
-    ReportIfSpellingLocNotIgnored(method->getLocStart(),
+    ReportIfSpellingLocNotIgnored(method->getLocStart(), method,
                                   diag_base_method_virtual_and_final_)
         << FixItRemovalForVirtual(manager, lang_opts, method)
         << FixItHint::CreateRemoval(final_attr->getRange());
@@ -622,7 +623,8 @@
         bool emit = true;
         if (loc.isMacroID()) {
           SourceManager& manager = instance().getSourceManager();
-          LocationType type = ClassifyLocation(manager.getSpellingLoc(loc));
+          LocationType type =
+              ClassifyLocation(manager.getSpellingLoc(loc), method);
           if (type == LocationType::kThirdParty || type == LocationType::kBlink)
             emit = false;
           else {
@@ -1013,7 +1015,7 @@
           // should be fewer auto types than banned namespace/directory types,
           // so check this last.
           LocationType location_type =
-              ClassifyLocation(var_decl->getLocStart());
+              ClassifyLocation(var_decl->getLocStart(), var_decl);
           if (!InBannedNamespace(var_decl) &&
               location_type != LocationType::kThirdParty) {
             // The range starts from |var_decl|'s loc start, which is the
@@ -1026,7 +1028,7 @@
             clang::SourceRange range(
                 var_decl->getLocStart(),
                 var_decl->getTypeSourceInfo()->getTypeLoc().getLocEnd());
-            ReportIfSpellingLocNotIgnored(range.getBegin(),
+            ReportIfSpellingLocNotIgnored(range.getBegin(), var_decl,
                                           diag_auto_deduced_to_a_pointer_type_)
                 << FixItHint::CreateReplacement(
                        range,
diff --git a/tools/clang/plugins/FindBadConstructsConsumer.h b/tools/clang/plugins/FindBadConstructsConsumer.h
index a1acf4a1..f2eeb20b 100644
--- a/tools/clang/plugins/FindBadConstructsConsumer.h
+++ b/tools/clang/plugins/FindBadConstructsConsumer.h
@@ -80,6 +80,7 @@
   // generally can't be easily updated.
   SuppressibleDiagnosticBuilder ReportIfSpellingLocNotIgnored(
       clang::SourceLocation loc,
+      const clang::Decl* record,
       unsigned diagnostic_id);
 
   void CheckVirtualMethods(clang::SourceLocation record_location,
diff --git a/tools/determinism/deterministic_build_whitelist.pyl b/tools/determinism/deterministic_build_whitelist.pyl
index 6dcc789..ef80412 100644
--- a/tools/determinism/deterministic_build_whitelist.pyl
+++ b/tools/determinism/deterministic_build_whitelist.pyl
@@ -101,6 +101,7 @@
     'it2me_standalone_host_main',
     'jingle_unittests',
     'khronos_glcts_test',
+    'latency_unittests',
     'leveldb_service_unittests',
     'libaddressinput_unittests',
     'libapp_shell_framework.dylib',
@@ -261,6 +262,7 @@
     'jingle_unittests.exe',
     'keyboard_unittests.exe',
     'khronos_glcts_test.exe',
+    'latency_unittests.exe',
     'leveldb_service_unittests.exe',
     'libaddressinput_unittests.exe',
     'login_library.dll',
diff --git a/tools/mb/mb_config.pyl b/tools/mb/mb_config.pyl
index 79009a2..4086942 100644
--- a/tools/mb/mb_config.pyl
+++ b/tools/mb/mb_config.pyl
@@ -1639,7 +1639,7 @@
     'cronet': {
       'gn_args': ('disable_file_support=true disable_ftp_support=true '
                   'enable_websockets=false use_platform_icu_alternatives=true '
-                  'disable_brotli_filter=true use_partition_alloc=false'),
+                  'use_partition_alloc=false'),
     },
 
     'cros_chrome_sdk': {
diff --git a/tools/metrics/histograms/histograms.xml b/tools/metrics/histograms/histograms.xml
index d09ce59..4f1ec4167 100644
--- a/tools/metrics/histograms/histograms.xml
+++ b/tools/metrics/histograms/histograms.xml
@@ -20343,6 +20343,17 @@
   </summary>
 </histogram>
 
+<histogram name="Extensions.WebRequestBlockingCount"
+    units="Number of extensions">
+  <owner>karandeepb@chromium.org</owner>
+  <summary>
+    Number of enabled extensions which have requested the
+    &quot;webRequestBlocking&quot; permission. Includes all kinds of extensions,
+    including component and unpacked extensions. Recorded during profile
+    initialization.
+  </summary>
+</histogram>
+
 <histogram name="Extensions.WebRequestEventFoundFrame" units="boolean">
   <owner>rdevlin.cronin@chromium.org</owner>
   <summary>
@@ -26939,6 +26950,16 @@
   </summary>
 </histogram>
 
+<histogram name="Media.EME.EncryptedMediaEnabled" enum="BooleanEnabled">
+  <owner>xhwang@chromium.org</owner>
+  <summary>
+    Whether encrypted media is enabled when requestMediaKeySystemAccess() is
+    called. User can enable and disable encrypted media in content settings.
+    Recorded when requestMediaKeySystemAccess() is called but will be reported
+    at most once per renderer process.
+  </summary>
+</histogram>
+
 <histogram name="Media.EME.IsIncognito" enum="BooleanIncognito">
   <owner>xhwang@chromium.org</owner>
   <summary>
@@ -33658,6 +33679,14 @@
   </summary>
 </histogram>
 
+<histogram name="Net.DetachableResourceHandler.Duration" units="ms">
+  <owner>yhirano@chromium.org</owner>
+  <summary>
+    Duration of time that a request associated with DetachableResourceHandler
+    takes.
+  </summary>
+</histogram>
+
 <histogram name="Net.DhcpWpadCancelTime" units="ms">
   <obsolete>
     Removed in Chrome 39.
@@ -67436,6 +67465,9 @@
 </histogram>
 
 <histogram name="SiteEngagementService.EngagementPercentageForHTTPS">
+  <obsolete>
+    Removed in M60. See crbug.com/712493.
+  </obsolete>
   <owner>calamity@chromium.org</owner>
   <owner>dominickn@chromium.org</owner>
   <owner>felt@chromium.org</owner>
@@ -67458,6 +67490,9 @@
 </histogram>
 
 <histogram name="SiteEngagementService.EngagementScore.HTTP">
+  <obsolete>
+    Removed in M60. See crbug.com/712493.
+  </obsolete>
   <owner>calamity@chromium.org</owner>
   <owner>dominickn@chromium.org</owner>
   <owner>felt@chromium.org</owner>
@@ -67470,6 +67505,9 @@
 </histogram>
 
 <histogram name="SiteEngagementService.EngagementScore.HTTPS">
+  <obsolete>
+    Removed in M60. See crbug.com/712493.
+  </obsolete>
   <owner>calamity@chromium.org</owner>
   <owner>dominickn@chromium.org</owner>
   <owner>felt@chromium.org</owner>
@@ -83087,6 +83125,8 @@
 <enum name="AppLoadedInTabSource" type="int">
   <int value="0" label="SOURCE_APP"/>
   <int value="1" label="SOURCE_BACKGROUND_PAGE"/>
+  <int value="2" label="SOURCE_OTHER_EXTENSION"/>
+  <int value="3" label="SOURCE_OTHER"/>
 </enum>
 
 <enum name="AppLocation" type="int">
@@ -88711,6 +88751,7 @@
   <int value="19"
       label="Arrived at settings menu by main menu item: entered on, exited
              on"/>
+  <int value="20" label="Data usage stats reset via the settings menu"/>
 </enum>
 
 <enum name="DataUrlMimeType" type="int">
@@ -94912,7 +94953,7 @@
   <int value="1188" label="DocumentCreateEventMutationEvents"/>
   <int value="1189" label="DocumentCreateEventOrientationEvent"/>
   <int value="1190" label="DocumentCreateEventSVGEvents"/>
-  <int value="1191" label="DocumentCreateEventWebKitTransitionEvent"/>
+  <int value="1191" label="OBSOLETE_DocumentCreateEventWebKitTransitionEvent"/>
   <int value="1192" label="DocumentCreateEventBeforeInstallPromptEvent"/>
   <int value="1193" label="DocumentCreateEventSyncEvent"/>
   <int value="1194" label="DocumentCreateEventDeviceLightEvent"/>
@@ -95548,9 +95589,9 @@
   <int value="1810" label="V8DeprecatedStorageQuota_QueryUsageAndQuota_Method"/>
   <int value="1811" label="V8DeprecatedStorageQuota_RequestQuota_Method"/>
   <int value="1812" label="V8FileReaderSync_Constructor"/>
-  <int value="1813" label="UncancellableTouchEventPreventDefaulted"/>
+  <int value="1813" label="UncancelableTouchEventPreventDefaulted"/>
   <int value="1814"
-      label="UncancellableTouchEventDueToMainThreadResponsivenessPreventDefaulted"/>
+      label="UncancelableTouchEventDueToMainThreadResponsivenessPreventDefaulted"/>
   <int value="1815" label="V8HTMLVideoElement_Poster_AttributeGetter"/>
   <int value="1816" label="V8HTMLVideoElement_Poster_AttributeSetter"/>
   <int value="1817" label="NotificationPermissionRequestedIframe"/>
@@ -95702,6 +95743,10 @@
   <int value="1959" label="MediaStreamConstraintsGoogNoiseReduction"/>
   <int value="1960" label="MediaStreamConstraintsGoogPowerLineFrequency"/>
   <int value="1961" label="ViewportFixedPositionUnderFilter"/>
+  <int value="1962" label="RequestMIDIAccessWithSysExOption"/>
+  <int value="1963" label="RequestMIDIAccessIframeWithSysExOption"/>
+  <int value="1964" label="GamepadAxes"/>
+  <int value="1965" label="GamepadButtons"/>
 </enum>
 
 <enum name="FetchRequestMode" type="int">
@@ -102059,6 +102104,7 @@
   <int value="313303258" label="WebPaymentsModifiers:disabled"/>
   <int value="316182183" label="MediaDocumentDownloadButton:disabled"/>
   <int value="323605372" label="ui-disable-compositor-animation-timelines"/>
+  <int value="324522065" label="app-menu-icon"/>
   <int value="324631366" label="enable-drive-search-in-app-launcher"/>
   <int value="327045548" label="SafeSearchUrlReporting:enabled"/>
   <int value="328722396" label="NTPCondensedLayout:disabled"/>
@@ -103741,6 +103787,7 @@
   <int value="16" label="UpdateMediaSinks"/>
   <int value="17" label="SearchSinks"/>
   <int value="18" label="ProvideSinks"/>
+  <int value="19" label="CreateMediaRouteController"/>
 </enum>
 
 <enum name="MediaRouteProviderWakeup" type="int">
@@ -109437,6 +109484,7 @@
   <int value="4" label="Registration not found (no incognito push service)"/>
   <int value="5" label="Unable to retrieve the public key"/>
   <int value="6" label="Storage corrupt"/>
+  <int value="7" label="Renderer shutdown"/>
 </enum>
 
 <enum name="PushRegistrationStatus" type="int">
@@ -109454,6 +109502,8 @@
   <int value="11" label="Unable to retrieve the public key"/>
   <int value="12" label="Empty or missing manifest"/>
   <int value="13" label="Mismatched sender id"/>
+  <int value="14" label="Storage corrupt"/>
+  <int value="15" label="Renderer shutdown"/>
 </enum>
 
 <enum name="PushUnregistrationReason" type="int">
@@ -119639,7 +119689,7 @@
   <affected-histogram name="PLT.PT_StartToFinish"/>
 </histogram_suffixes>
 
-<histogram_suffixes name="GeolocationSettingsDialogSource">
+<histogram_suffixes name="GeolocationSettingsDialogSource" separator=".">
   <suffix name="DSE" label="Default search engine"/>
   <suffix name="NonDSE" label="Non-default search engine"/>
   <affected-histogram name="Geolocation.SettingsDialog.AcceptEvent"/>
diff --git a/tools/metrics/histograms/update_histogram_enum.py b/tools/metrics/histograms/update_histogram_enum.py
index 7c21823..f0a29e0 100644
--- a/tools/metrics/histograms/update_histogram_enum.py
+++ b/tools/metrics/histograms/update_histogram_enum.py
@@ -37,7 +37,7 @@
   logging.info(message)
 
 
-def ReadHistogramValues(filename, start_marker, end_marker):
+def ReadHistogramValues(filename, start_marker, end_marker, strip_k_prefix):
   """Returns a dictionary of enum values and a pair of labels that have the same
      enum values, read from a C++ file.
 
@@ -45,6 +45,8 @@
       filename: The unix-style path (relative to src/) of the file to open.
       start_marker: A regex that signifies the start of the enum values.
       end_marker: A regex that signifies the end of the enum values.
+      strip_k_prefix: Set to True if enum values are declared as kFoo and the
+          'k' should be stripped.
   """
   # Read the file as a list of lines
   with open(path_util.GetInputFile(filename)) as f:
@@ -52,39 +54,47 @@
 
   START_REGEX = re.compile(start_marker)
   ITEM_REGEX = re.compile(r'^(\w+)')
-  ITEM_REGEX_WITH_INIT = re.compile(r'(\w+)\s*=\s*(\d+)')
+  ITEM_REGEX_WITH_INIT = re.compile(r'(\w+)\s*=\s*(\d*)')
+  WRAPPED_INIT = re.compile(r'(\d+)')
   END_REGEX = re.compile(end_marker)
 
-  # Locate the enum definition and collect all entries in it
-  inside_enum = False # We haven't found the enum definition yet
+  iterator = iter(content)
+  # Find the start of the enum
+  for line in iterator:
+    if START_REGEX.match(line.strip()):
+      break
+
+  enum_value = 0
   result = {}
-  for line in content:
+  for line in iterator:
     line = line.strip()
-    if inside_enum:
-      # Exit condition: we reached last enum value
-      if END_REGEX.match(line):
-        inside_enum = False
+    # Exit condition: we reached last enum value
+    if END_REGEX.match(line):
+      break
+    # Inside enum: generate new xml entry
+    m = ITEM_REGEX_WITH_INIT.match(line)
+    if m:
+      label = m.group(1)
+      if m.group(2):
+        enum_value = int(m.group(2))
       else:
-        # Inside enum: generate new xml entry
-        m = ITEM_REGEX_WITH_INIT.match(line)
-        if m:
-          enum_value = int(m.group(2))
-          label = m.group(1)
-        else:
-          m = ITEM_REGEX.match(line)
-          if m:
-            label = m.group(1)
-          else:
-            continue
-        # If two enum labels have the same value
-        if enum_value in result:
-          return result, (result[enum_value], label)
-        result[enum_value] = label
-        enum_value += 1
+        # Enum name is so long that the value wrapped to the next line
+        next_line = next(iterator).strip()
+        enum_value = int(WRAPPED_INIT.match(next_line).group(1))
     else:
-      if START_REGEX.match(line):
-        inside_enum = True
-        enum_value = 0
+      m = ITEM_REGEX.match(line)
+      if m:
+        label = m.group(1)
+      else:
+        continue
+    # If two enum labels have the same value
+    if enum_value in result:
+      return result, (result[enum_value], label)
+    if strip_k_prefix:
+      assert label.startswith('k'), "Enum " + label + " should start with 'k'."
+      label = label[1:]
+    result[enum_value] = label
+    enum_value += 1
   return result, None
 
 
@@ -171,7 +181,7 @@
 
 
 def HistogramNeedsUpdate(histogram_enum_name, source_enum_path, start_marker,
-                         end_marker):
+                         end_marker, strip_k_prefix = False):
   """Reads a C++ enum from a .h file and does a dry run of updating
   histograms.xml to match. Returns true if the histograms.xml file would be
   changed.
@@ -182,10 +192,12 @@
           the C++ header file from which to read the enum.
       start_marker: A regular expression that matches the start of the C++ enum.
       end_marker: A regular expression that matches the end of the C++ enum.
+      strip_k_prefix: Set to True if enum values are declared as kFoo and the
+          'k' should be stripped.
   """
   Log('Reading histogram enum definition from "{0}".'.format(source_enum_path))
   source_enum_values, duplicated_values = ReadHistogramValues(
-      source_enum_path, start_marker, end_marker)
+      source_enum_path, start_marker, end_marker, strip_k_prefix)
   if duplicated_values:
     return False, duplicated_values
 
@@ -215,7 +227,7 @@
 
 
 def UpdateHistogramEnum(histogram_enum_name, source_enum_path,
-                        start_marker, end_marker):
+                        start_marker, end_marker, strip_k_prefix = False):
   """Reads a C++ enum from a .h file and updates histograms.xml to match.
 
   Args:
@@ -224,11 +236,13 @@
           the C++ header file from which to read the enum.
       start_marker: A regular expression that matches the start of the C++ enum.
       end_marker: A regular expression that matches the end of the C++ enum.
+      strip_k_prefix: Set to True if enum values are declared as kFoo and the
+          'k' should be stripped.
   """
 
   Log('Reading histogram enum definition from "{0}".'.format(source_enum_path))
   source_enum_values, ignored = ReadHistogramValues(source_enum_path,
-      start_marker, end_marker)
+      start_marker, end_marker, strip_k_prefix)
 
   UpdateHistogramFromDict(histogram_enum_name, source_enum_values,
       source_enum_path)
diff --git a/tools/metrics/histograms/update_use_counter_feature_enum.py b/tools/metrics/histograms/update_use_counter_feature_enum.py
index 45a369b..a0bf042d 100755
--- a/tools/metrics/histograms/update_use_counter_feature_enum.py
+++ b/tools/metrics/histograms/update_use_counter_feature_enum.py
@@ -35,15 +35,16 @@
   source_path = 'third_party/WebKit/Source/core/frame/UseCounter.h'
 
   START_MARKER = '^enum Feature : uint32_t {'
-  END_MARKER = '^NumberOfFeatures'
+  END_MARKER = '^kNumberOfFeatures'
 
   if options.dashboard:
     enum_dict, ignored = ReadHistogramValues(source_path, START_MARKER,
-        END_MARKER)
+        END_MARKER, strip_k_prefix=True)
     PrintEnumForDashboard(enum_dict)
   else:
     UpdateHistogramEnum(
         histogram_enum_name='FeatureObserver',
         source_enum_path=source_path,
         start_marker=START_MARKER,
-        end_marker=END_MARKER)
+        end_marker=END_MARKER,
+        strip_k_prefix=True)
diff --git a/tools/perf/page_sets/system_health/searching_stories.py b/tools/perf/page_sets/system_health/searching_stories.py
index a4cc8d3..ac1666af 100644
--- a/tools/perf/page_sets/system_health/searching_stories.py
+++ b/tools/perf/page_sets/system_health/searching_stories.py
@@ -6,6 +6,8 @@
 from page_sets.system_health import story_tags
 from page_sets.system_health import system_health_story
 
+from telemetry import decorators
+
 from devil.android.sdk import keyevent # pylint: disable=import-error
 
 
@@ -67,6 +69,7 @@
     action_runner.ScrollPage(use_touch=True, distance=500)
 
 
+@decorators.Disabled('android')  # crbug.com/712590
 class MobileNewTabPageStory(system_health_story.SystemHealthStory):
   """Story that loads new tab page and performs searches.
 
diff --git a/tools/valgrind/chrome_tests.py b/tools/valgrind/chrome_tests.py
index a4e6c4d..9c7143a 100755
--- a/tools/valgrind/chrome_tests.py
+++ b/tools/valgrind/chrome_tests.py
@@ -400,6 +400,9 @@
   def TestKeyboard(self):
     return self.SimpleTest("keyboard", "keyboard_unittests")
 
+  def TestLatency(self):
+    return self.SimpleTest("latency", "latency_unittests")
+
   def TestMedia(self):
     return self.SimpleTest("chrome", "media_unittests")
 
@@ -686,6 +689,7 @@
     "interactive_ui": TestInteractiveUI,
     "jingle": TestJingle,        "jingle_unittests": TestJingle,
     "keyboard": TestKeyboard,    "keyboard_unittests": TestKeyboard,
+    "latency": TestLatency,      "latency_unittests": TestLatency,
     "layout": TestLayout,        "layout_tests": TestLayout,
     "media": TestMedia,          "media_unittests": TestMedia,
     "message_center": TestMessageCenter,
diff --git a/ui/accessibility/platform/ax_platform_node_win.cc b/ui/accessibility/platform/ax_platform_node_win.cc
index 42f2467..e703233 100644
--- a/ui/accessibility/platform/ax_platform_node_win.cc
+++ b/ui/accessibility/platform/ax_platform_node_win.cc
@@ -33,48 +33,100 @@
     if (!delegate_) \
       return E_FAIL;
 #define COM_OBJECT_VALIDATE_1_ARG(arg) \
-    if (!delegate_) return E_FAIL; \
-    if (!arg) return E_INVALIDARG
+  if (!delegate_)                      \
+    return E_FAIL;                     \
+  if (!arg)                            \
+    return E_INVALIDARG;
 #define COM_OBJECT_VALIDATE_2_ARGS(arg1, arg2) \
-    if (!delegate_) return E_FAIL; \
-    if (!arg1) return E_INVALIDARG; \
-    if (!arg2) return E_INVALIDARG
+  if (!delegate_)                              \
+    return E_FAIL;                             \
+  if (!arg1)                                   \
+    return E_INVALIDARG;                       \
+  if (!arg2)                                   \
+    return E_INVALIDARG;
 #define COM_OBJECT_VALIDATE_3_ARGS(arg1, arg2, arg3) \
-    if (!delegate_) return E_FAIL; \
-    if (!arg1) return E_INVALIDARG; \
-    if (!arg2) return E_INVALIDARG; \
-    if (!arg3) return E_INVALIDARG
+  if (!delegate_)                                    \
+    return E_FAIL;                                   \
+  if (!arg1)                                         \
+    return E_INVALIDARG;                             \
+  if (!arg2)                                         \
+    return E_INVALIDARG;                             \
+  if (!arg3)                                         \
+    return E_INVALIDARG;
 #define COM_OBJECT_VALIDATE_4_ARGS(arg1, arg2, arg3, arg4) \
-    if (!delegate_) return E_FAIL; \
-    if (!arg1) return E_INVALIDARG; \
-    if (!arg2) return E_INVALIDARG; \
-    if (!arg3) return E_INVALIDARG; \
-    if (!arg4) return E_INVALIDARG
-#define COM_OBJECT_VALIDATE_VAR_ID(var_id) \
-    if (!delegate_) return E_FAIL; \
-    if (!IsValidId(var_id)) return E_INVALIDARG
-#define COM_OBJECT_VALIDATE_VAR_ID_1_ARG(var_id, arg) \
-    if (!delegate_) return E_FAIL; \
-    if (!IsValidId(var_id)) return E_INVALIDARG; \
-    if (!arg) return E_INVALIDARG
-#define COM_OBJECT_VALIDATE_VAR_ID_2_ARGS(var_id, arg1, arg2) \
-    if (!delegate_) return E_FAIL; \
-    if (!IsValidId(var_id)) return E_INVALIDARG; \
-    if (!arg1) return E_INVALIDARG; \
-    if (!arg2) return E_INVALIDARG
-#define COM_OBJECT_VALIDATE_VAR_ID_3_ARGS(var_id, arg1, arg2, arg3) \
-    if (!delegate_) return E_FAIL; \
-    if (!IsValidId(var_id)) return E_INVALIDARG; \
-    if (!arg1) return E_INVALIDARG; \
-    if (!arg2) return E_INVALIDARG; \
-    if (!arg3) return E_INVALIDARG
-#define COM_OBJECT_VALIDATE_VAR_ID_4_ARGS(var_id, arg1, arg2, arg3, arg4) \
-    if (!delegate_) return E_FAIL; \
-    if (!IsValidId(var_id)) return E_INVALIDARG; \
-    if (!arg1) return E_INVALIDARG; \
-    if (!arg2) return E_INVALIDARG; \
-    if (!arg3) return E_INVALIDARG; \
-    if (!arg4) return E_INVALIDARG
+  if (!delegate_)                                          \
+    return E_FAIL;                                         \
+  if (!arg1)                                               \
+    return E_INVALIDARG;                                   \
+  if (!arg2)                                               \
+    return E_INVALIDARG;                                   \
+  if (!arg3)                                               \
+    return E_INVALIDARG;                                   \
+  if (!arg4)                                               \
+    return E_INVALIDARG;
+#define COM_OBJECT_VALIDATE_VAR_ID_AND_GET_TARGET(var_id, target) \
+  if (!delegate_)                                                 \
+    return E_FAIL;                                                \
+  target = GetTargetFromChildID(var_id);                          \
+  if (!target)                                                    \
+    return E_INVALIDARG;                                          \
+  if (!target->delegate_)                                         \
+    return E_INVALIDARG;
+#define COM_OBJECT_VALIDATE_VAR_ID_1_ARG_AND_GET_TARGET(var_id, arg, target) \
+  if (!delegate_)                                                            \
+    return E_FAIL;                                                           \
+  if (!arg)                                                                  \
+    return E_INVALIDARG;                                                     \
+  target = GetTargetFromChildID(var_id);                                     \
+  if (!target)                                                               \
+    return E_INVALIDARG;                                                     \
+  if (!target->delegate_)                                                    \
+    return E_INVALIDARG;
+#define COM_OBJECT_VALIDATE_VAR_ID_2_ARGS_AND_GET_TARGET(var_id, arg1, arg2, \
+                                                         target)             \
+  if (!delegate_)                                                            \
+    return E_FAIL;                                                           \
+  if (!arg1)                                                                 \
+    return E_INVALIDARG;                                                     \
+  if (!arg2)                                                                 \
+    return E_INVALIDARG;                                                     \
+  target = GetTargetFromChildID(var_id);                                     \
+  if (!target)                                                               \
+    return E_INVALIDARG;                                                     \
+  if (!target->delegate_)                                                    \
+    return E_INVALIDARG;
+#define COM_OBJECT_VALIDATE_VAR_ID_3_ARGS_AND_GET_TARGET(var_id, arg1, arg2, \
+                                                         arg3, target)       \
+  if (!delegate_)                                                            \
+    return E_FAIL;                                                           \
+  if (!arg1)                                                                 \
+    return E_INVALIDARG;                                                     \
+  if (!arg2)                                                                 \
+    return E_INVALIDARG;                                                     \
+  if (!arg3)                                                                 \
+    return E_INVALIDARG;                                                     \
+  target = GetTargetFromChildID(var_id);                                     \
+  if (!target)                                                               \
+    return E_INVALIDARG;                                                     \
+  if (!target->delegate_)                                                    \
+    return E_INVALIDARG;
+#define COM_OBJECT_VALIDATE_VAR_ID_4_ARGS_AND_GET_TARGET(var_id, arg1, arg2, \
+                                                         arg3, arg4, target) \
+  if (!delegate_)                                                            \
+    return E_FAIL;                                                           \
+  if (!arg1)                                                                 \
+    return E_INVALIDARG;                                                     \
+  if (!arg2)                                                                 \
+    return E_INVALIDARG;                                                     \
+  if (!arg3)                                                                 \
+    return E_INVALIDARG;                                                     \
+  if (!arg4)                                                                 \
+    return E_INVALIDARG;                                                     \
+  target = GetTargetFromChildID(var_id);                                     \
+  if (!target)                                                               \
+    return E_INVALIDARG;                                                     \
+  if (!target->delegate_)                                                    \
+    return E_INVALIDARG;
 
 namespace ui {
 
@@ -128,6 +180,8 @@
 // static
 AXPlatformNode* AXPlatformNode::FromNativeViewAccessible(
     gfx::NativeViewAccessible accessible) {
+  if (!accessible)
+    return nullptr;
   base::win::ScopedComPtr<AXPlatformNodeWin> ax_platform_node;
   accessible->QueryInterface(ax_platform_node.Receive());
   return ax_platform_node.get();
@@ -252,18 +306,23 @@
 }
 
 HRESULT AXPlatformNodeWin::accDoDefaultAction(VARIANT var_id) {
-  COM_OBJECT_VALIDATE_VAR_ID(var_id);
+  AXPlatformNodeWin* target;
+  COM_OBJECT_VALIDATE_VAR_ID_AND_GET_TARGET(var_id, target);
   AXActionData data;
   data.action = ui::AX_ACTION_DO_DEFAULT;
-  if (delegate_->AccessibilityPerformAction(data))
+
+  if (target->delegate_->AccessibilityPerformAction(data))
     return S_OK;
   return E_FAIL;
 }
 
 STDMETHODIMP AXPlatformNodeWin::accLocation(
     LONG* x_left, LONG* y_top, LONG* width, LONG* height, VARIANT var_id) {
-  COM_OBJECT_VALIDATE_VAR_ID_4_ARGS(var_id, x_left, y_top, width, height);
-  gfx::Rect bounds = delegate_->GetScreenBoundsRect();
+  AXPlatformNodeWin* target;
+  COM_OBJECT_VALIDATE_VAR_ID_4_ARGS_AND_GET_TARGET(var_id, x_left, y_top, width,
+                                                   height, target);
+
+  gfx::Rect bounds = target->delegate_->GetScreenBoundsRect();
   *x_left = bounds.x();
   *y_top = bounds.y();
   *width  = bounds.width();
@@ -277,7 +336,8 @@
 
 STDMETHODIMP AXPlatformNodeWin::accNavigate(
     LONG nav_dir, VARIANT start, VARIANT* end) {
-  COM_OBJECT_VALIDATE_VAR_ID_1_ARG(start, end);
+  AXPlatformNodeWin* target;
+  COM_OBJECT_VALIDATE_VAR_ID_1_ARG_AND_GET_TARGET(start, end, target);
   IAccessible* result = nullptr;
 
   if ((nav_dir == NAVDIR_LASTCHILD || nav_dir == NAVDIR_FIRSTCHILD) &&
@@ -337,41 +397,13 @@
 
 STDMETHODIMP AXPlatformNodeWin::get_accChild(VARIANT var_child,
                                              IDispatch** disp_child) {
-  COM_OBJECT_VALIDATE_1_ARG(disp_child);
-  LONG child_id = V_I4(&var_child);
-  if (child_id == CHILDID_SELF) {
-    *disp_child = this;
-    (*disp_child)->AddRef();
-    return S_OK;
-  }
-
-  if (child_id >= 1 && child_id <= delegate_->GetChildCount()) {
-    // Positive child ids are a 1-based child index, used by clients
-    // that want to enumerate all immediate children.
-    *disp_child = delegate_->ChildAtIndex(child_id - 1);
-    if (!(*disp_child))
-      return E_INVALIDARG;
-    (*disp_child)->AddRef();
-    return S_OK;
-  }
-
-  if (child_id >= 0)
-    return E_INVALIDARG;
-
-  // Negative child ids can be used to map to any descendant.
-  AXPlatformNodeWin* child = static_cast<AXPlatformNodeWin*>(
-      GetFromUniqueId(-child_id));
-  if (child && !IsDescendant(child))
-    child = nullptr;
-
-  if (child) {
-    *disp_child = child;
-    (*disp_child)->AddRef();
-    return S_OK;
-  }
-
   *disp_child = nullptr;
-  return E_INVALIDARG;
+  AXPlatformNodeWin* target;
+  COM_OBJECT_VALIDATE_VAR_ID_AND_GET_TARGET(var_child, target);
+
+  *disp_child = target;
+  (*disp_child)->AddRef();
+  return S_OK;
 }
 
 STDMETHODIMP AXPlatformNodeWin::get_accChildCount(LONG* child_count) {
@@ -382,9 +414,11 @@
 
 STDMETHODIMP AXPlatformNodeWin::get_accDefaultAction(
     VARIANT var_id, BSTR* def_action) {
-  COM_OBJECT_VALIDATE_VAR_ID_1_ARG(var_id, def_action);
+  AXPlatformNodeWin* target;
+  COM_OBJECT_VALIDATE_VAR_ID_1_ARG_AND_GET_TARGET(var_id, def_action, target);
+
   int action;
-  if (!GetIntAttribute(AX_ATTR_ACTION, &action)) {
+  if (!target->GetIntAttribute(AX_ATTR_ACTION, &action)) {
     *def_action = nullptr;
     return S_FALSE;
   }
@@ -403,8 +437,10 @@
 
 STDMETHODIMP AXPlatformNodeWin::get_accDescription(
     VARIANT var_id, BSTR* desc) {
-  COM_OBJECT_VALIDATE_VAR_ID_1_ARG(var_id, desc);
-  return GetStringAttributeAsBstr(ui::AX_ATTR_DESCRIPTION, desc);
+  AXPlatformNodeWin* target;
+  COM_OBJECT_VALIDATE_VAR_ID_1_ARG_AND_GET_TARGET(var_id, desc, target);
+
+  return target->GetStringAttributeAsBstr(ui::AX_ATTR_DESCRIPTION, desc);
 }
 
 STDMETHODIMP AXPlatformNodeWin::get_accFocus(VARIANT* focus_child) {
@@ -427,14 +463,18 @@
 
 STDMETHODIMP AXPlatformNodeWin::get_accKeyboardShortcut(
     VARIANT var_id, BSTR* acc_key) {
-  COM_OBJECT_VALIDATE_VAR_ID_1_ARG(var_id, acc_key);
-  return GetStringAttributeAsBstr(ui::AX_ATTR_SHORTCUT, acc_key);
+  AXPlatformNodeWin* target;
+  COM_OBJECT_VALIDATE_VAR_ID_1_ARG_AND_GET_TARGET(var_id, acc_key, target);
+
+  return target->GetStringAttributeAsBstr(ui::AX_ATTR_SHORTCUT, acc_key);
 }
 
 STDMETHODIMP AXPlatformNodeWin::get_accName(
     VARIANT var_id, BSTR* name) {
-  COM_OBJECT_VALIDATE_VAR_ID_1_ARG(var_id, name);
-  return GetStringAttributeAsBstr(ui::AX_ATTR_NAME, name);
+  AXPlatformNodeWin* target;
+  COM_OBJECT_VALIDATE_VAR_ID_1_ARG_AND_GET_TARGET(var_id, name, target);
+
+  return target->GetStringAttributeAsBstr(ui::AX_ATTR_NAME, name);
 }
 
 STDMETHODIMP AXPlatformNodeWin::get_accParent(
@@ -451,38 +491,42 @@
 
 STDMETHODIMP AXPlatformNodeWin::get_accRole(
     VARIANT var_id, VARIANT* role) {
-  COM_OBJECT_VALIDATE_VAR_ID_1_ARG(var_id, role);
+  AXPlatformNodeWin* target;
+  COM_OBJECT_VALIDATE_VAR_ID_1_ARG_AND_GET_TARGET(var_id, role, target);
   role->vt = VT_I4;
-  role->lVal = MSAARole();
+  role->lVal = target->MSAARole();
   return S_OK;
 }
 
 STDMETHODIMP AXPlatformNodeWin::get_accState(
     VARIANT var_id, VARIANT* state) {
-  COM_OBJECT_VALIDATE_VAR_ID_1_ARG(var_id, state);
+  AXPlatformNodeWin* target;
+  COM_OBJECT_VALIDATE_VAR_ID_1_ARG_AND_GET_TARGET(var_id, state, target);
   state->vt = VT_I4;
-  state->lVal = MSAAState();
+  state->lVal = target->MSAAState();
   return S_OK;
 }
 
 STDMETHODIMP AXPlatformNodeWin::get_accHelp(
     VARIANT var_id, BSTR* help) {
-  COM_OBJECT_VALIDATE_VAR_ID_1_ARG(var_id, help);
   return S_FALSE;
 }
 
 STDMETHODIMP AXPlatformNodeWin::get_accValue(VARIANT var_id, BSTR* value) {
-  COM_OBJECT_VALIDATE_VAR_ID_1_ARG(var_id, value);
-  return GetStringAttributeAsBstr(ui::AX_ATTR_VALUE, value);
+  AXPlatformNodeWin* target;
+  COM_OBJECT_VALIDATE_VAR_ID_1_ARG_AND_GET_TARGET(var_id, value, target);
+  return target->GetStringAttributeAsBstr(ui::AX_ATTR_VALUE, value);
 }
 
 STDMETHODIMP AXPlatformNodeWin::put_accValue(VARIANT var_id,
                                              BSTR new_value) {
+  AXPlatformNodeWin* target;
+  COM_OBJECT_VALIDATE_VAR_ID_AND_GET_TARGET(var_id, target);
+
   AXActionData data;
   data.action = ui::AX_ACTION_SET_VALUE;
   data.value = new_value;
-  COM_OBJECT_VALIDATE_VAR_ID(var_id);
-  if (delegate_->AccessibilityPerformAction(data))
+  if (target->delegate_->AccessibilityPerformAction(data))
     return S_OK;
   return E_FAIL;
 }
@@ -498,13 +542,14 @@
 
 STDMETHODIMP AXPlatformNodeWin::accSelect(
     LONG flagsSelect, VARIANT var_id) {
-  COM_OBJECT_VALIDATE_VAR_ID(var_id);
   return E_NOTIMPL;
 }
 
 STDMETHODIMP AXPlatformNodeWin::get_accHelpTopic(
     BSTR* help_file, VARIANT var_id, LONG* topic_id) {
-  COM_OBJECT_VALIDATE_VAR_ID_2_ARGS(var_id, help_file, topic_id);
+  AXPlatformNodeWin* target;
+  COM_OBJECT_VALIDATE_VAR_ID_2_ARGS_AND_GET_TARGET(var_id, help_file, topic_id,
+                                                   target);
   if (help_file) {
     *help_file = nullptr;
   }
@@ -516,7 +561,6 @@
 
 STDMETHODIMP AXPlatformNodeWin::put_accName(
     VARIANT var_id, BSTR put_name) {
-  COM_OBJECT_VALIDATE_VAR_ID(var_id);
   // Deprecated.
   return E_NOTIMPL;
 }
@@ -974,13 +1018,6 @@
 //
 // Private member functions.
 //
-
-bool AXPlatformNodeWin::IsValidId(const VARIANT& child) const {
-  // Since we have a separate IAccessible COM object for each node, we only
-  // support the CHILDID_SELF id.
-  return (VT_I4 == child.vt) && (CHILDID_SELF == child.lVal);
-}
-
 int AXPlatformNodeWin::MSAARole() {
   switch (GetData().role) {
     case ui::AX_ROLE_ALERT:
@@ -1219,4 +1256,35 @@
       AX_TEXT_AFFINITY_DOWNSTREAM));
 }
 
+AXPlatformNodeWin* AXPlatformNodeWin::GetTargetFromChildID(
+    const VARIANT& var_id) {
+  LONG child_id = V_I4(&var_id);
+  if (child_id == CHILDID_SELF) {
+    return this;
+  }
+
+  if (child_id >= 1 && child_id <= delegate_->GetChildCount()) {
+    // Positive child ids are a 1-based child index, used by clients
+    // that want to enumerate all immediate children.
+    AXPlatformNodeBase* base =
+        FromNativeViewAccessible(delegate_->ChildAtIndex(child_id - 1));
+    return static_cast<AXPlatformNodeWin*>(base);
+  }
+
+  if (child_id >= 0)
+    return nullptr;
+
+  // Negative child ids can be used to map to any descendant.
+  AXPlatformNode* node = GetFromUniqueId(-child_id);
+  if (!node)
+    return nullptr;
+
+  AXPlatformNodeBase* base =
+      FromNativeViewAccessible(node->GetNativeViewAccessible());
+  if (base && !IsDescendant(base))
+    base = nullptr;
+
+  return static_cast<AXPlatformNodeWin*>(base);
+}
+
 }  // namespace ui
diff --git a/ui/accessibility/platform/ax_platform_node_win.h b/ui/accessibility/platform/ax_platform_node_win.h
index 7daa45f..0ea5fcd 100644
--- a/ui/accessibility/platform/ax_platform_node_win.h
+++ b/ui/accessibility/platform/ax_platform_node_win.h
@@ -273,7 +273,6 @@
   void Dispose() override;
 
  private:
-  bool IsValidId(const VARIANT& child) const;
   int MSAARole();
   int MSAAState();
   int MSAAEvent(ui::AXEvent event);
@@ -302,6 +301,13 @@
                     IA2TextBoundaryType ia2_boundary,
                     LONG start_offset,
                     ui::TextBoundaryDirection direction);
+
+  // Many MSAA methods take a var_id parameter indicating that the operation
+  // should be performed on a particular child ID, rather than this object.
+  // This method tries to figure out the target object from |var_id| and
+  // returns a pointer to the target object if it exists, otherwise nullptr.
+  // Does not return a new reference.
+  AXPlatformNodeWin* GetTargetFromChildID(const VARIANT& var_id);
 };
 
 }  // namespace ui
diff --git a/ui/android/BUILD.gn b/ui/android/BUILD.gn
index 749a638..22deece 100644
--- a/ui/android/BUILD.gn
+++ b/ui/android/BUILD.gn
@@ -234,12 +234,14 @@
 
 junit_binary("ui_junit_tests") {
   java_files = [
+    "junit/src/org/chromium/ui/base/ClipboardTest.java",
     "junit/src/org/chromium/ui/base/SelectFileDialogTest.java",
     "junit/src/org/chromium/ui/text/SpanApplierTest.java",
   ]
   deps = [
     ":ui_java",
     "//base:base_java",
+    "//base:base_java_test_support",
   ]
 }
 
diff --git a/ui/android/java/src/org/chromium/ui/base/Clipboard.java b/ui/android/java/src/org/chromium/ui/base/Clipboard.java
index 0f3eb25..fddad5a 100644
--- a/ui/android/java/src/org/chromium/ui/base/Clipboard.java
+++ b/ui/android/java/src/org/chromium/ui/base/Clipboard.java
@@ -14,6 +14,7 @@
 import android.text.style.ParagraphStyle;
 import android.text.style.UpdateAppearance;
 
+import org.chromium.base.ApiCompatibilityUtils;
 import org.chromium.base.ContextUtils;
 import org.chromium.base.annotations.CalledByNative;
 import org.chromium.base.annotations.JNINamespace;
@@ -72,7 +73,7 @@
      */
     @SuppressWarnings("javadoc")
     @CalledByNative
-    public String getCoercedText() {
+    private String getCoercedText() {
         // getPrimaryClip() has been observed to throw unexpected exceptions for some devices (see
         // crbug.com/654802 and b/31501780)
         try {
@@ -97,6 +98,24 @@
         return false;
     }
 
+    public String clipDataToHtmlText(ClipData clipData) {
+        ClipDescription description = clipData.getDescription();
+        if (description.hasMimeType(ClipDescription.MIMETYPE_TEXT_HTML)) {
+            return clipData.getItemAt(0).getHtmlText();
+        }
+
+        if (description.hasMimeType(ClipDescription.MIMETYPE_TEXT_PLAIN)) {
+            CharSequence text = clipData.getItemAt(0).getText();
+            if (!(text instanceof Spanned)) return null;
+            Spanned spanned = (Spanned) text;
+            if (hasStyleSpan(spanned)) {
+                return ApiCompatibilityUtils.toHtml(
+                        spanned, Html.TO_HTML_PARAGRAPH_LINES_CONSECUTIVE);
+            }
+        }
+        return null;
+    }
+
     /**
      * Gets the HTML text of top item on the primary clip on the Android clipboard.
      *
@@ -104,26 +123,15 @@
      *         text or no entries on the primary clip.
      */
     @CalledByNative
-    public String getHTMLText() {
+    private String getHTMLText() {
         // getPrimaryClip() has been observed to throw unexpected exceptions for some devices (see
         // crbug/654802 and b/31501780)
         try {
             ClipData clipData = mClipboardManager.getPrimaryClip();
-            ClipDescription description = clipData.getDescription();
-            if (description.hasMimeType(ClipDescription.MIMETYPE_TEXT_HTML)) {
-                return clipData.getItemAt(0).getHtmlText();
-            }
-
-            if (description.hasMimeType(ClipDescription.MIMETYPE_TEXT_PLAIN)) {
-                Spanned spanned = (Spanned) clipData.getItemAt(0).getText();
-                if (hasStyleSpan(spanned)) {
-                    return Html.toHtml(spanned);
-                }
-            }
+            return clipDataToHtmlText(clipData);
         } catch (Exception e) {
             return null;
         }
-        return null;
     }
 
     /**
diff --git a/ui/android/junit/src/org/chromium/ui/base/ClipboardTest.java b/ui/android/junit/src/org/chromium/ui/base/ClipboardTest.java
new file mode 100644
index 0000000..3a99aeb
--- /dev/null
+++ b/ui/android/junit/src/org/chromium/ui/base/ClipboardTest.java
@@ -0,0 +1,59 @@
+// 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.
+
+package org.chromium.ui.base;
+
+import android.content.ClipData;
+import android.content.Intent;
+import android.text.SpannableString;
+import android.text.style.RelativeSizeSpan;
+
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertNotNull;
+import static org.junit.Assert.assertNull;
+
+import org.junit.Test;
+import org.junit.runner.RunWith;
+import org.robolectric.RuntimeEnvironment;
+import org.robolectric.annotation.Config;
+
+import org.chromium.base.ContextUtils;
+import org.chromium.testing.local.LocalRobolectricTestRunner;
+
+/**
+ * Tests logic in the Clipboard class.
+ */
+@RunWith(LocalRobolectricTestRunner.class)
+@Config(manifest = Config.NONE)
+public class ClipboardTest {
+    private static final String PLAIN_TEXT = "plain";
+    private static final String HTML_TEXT = "<span style=\"color: red;\">HTML</span>";
+
+    @Test
+    public void testClipDataToHtmlText() {
+        ContextUtils.initApplicationContextForTests(RuntimeEnvironment.application);
+        Clipboard clipboard = Clipboard.getInstance();
+
+        // HTML text
+        ClipData html = ClipData.newHtmlText("html", PLAIN_TEXT, HTML_TEXT);
+        assertEquals(HTML_TEXT, clipboard.clipDataToHtmlText(html));
+
+        // Plain text without span
+        ClipData plainTextNoSpan = ClipData.newPlainText("plain", PLAIN_TEXT);
+        assertNull(clipboard.clipDataToHtmlText(plainTextNoSpan));
+
+        // Plain text with span
+        SpannableString spanned = new SpannableString(PLAIN_TEXT);
+        spanned.setSpan(new RelativeSizeSpan(2f), 0, 5, 0);
+        ClipData plainTextSpan = ClipData.newPlainText("plain", spanned);
+        assertNotNull(clipboard.clipDataToHtmlText(plainTextSpan));
+
+        // Intent
+        Intent intent = new Intent(Intent.ACTION_GET_CONTENT);
+        intent.addCategory(Intent.CATEGORY_OPENABLE);
+        intent.setType("*/*");
+        ClipData intentClip = ClipData.newIntent("intent", intent);
+        assertNull(clipboard.clipDataToHtmlText(intentClip));
+    }
+}
diff --git a/ui/base/BUILD.gn b/ui/base/BUILD.gn
index 7fddc3b..65a14c0a 100644
--- a/ui/base/BUILD.gn
+++ b/ui/base/BUILD.gn
@@ -571,6 +571,8 @@
       "cursor/cursor_ozone.cc",
       "cursor/ozone/bitmap_cursor_factory_ozone.cc",
       "cursor/ozone/bitmap_cursor_factory_ozone.h",
+      "cursor/ozone/cursor_data_factory_ozone.cc",
+      "cursor/ozone/cursor_data_factory_ozone.h",
     ]
 
     deps += [
@@ -806,6 +808,7 @@
     set_sources_assignment_filter(sources_assignment_filter)
   } else {  # !is_ios
     sources += [
+      "accelerators/accelerator_history_unittest.cc",
       "accelerators/accelerator_manager_unittest.cc",
       "accelerators/accelerator_unittest.cc",
       "accelerators/menu_label_accelerator_util_linux_unittest.cc",
diff --git a/ui/base/accelerators/accelerator_history.cc b/ui/base/accelerators/accelerator_history.cc
index d356e32..94e78da2 100644
--- a/ui/base/accelerators/accelerator_history.cc
+++ b/ui/base/accelerators/accelerator_history.cc
@@ -4,24 +4,27 @@
 
 #include "ui/base/accelerators/accelerator_history.h"
 
-#include "ui/events/event_constants.h"
-
 namespace ui {
 
-// ----------------------------------------------------------------------
-// Public Methods
-// ----------------------------------------------------------------------
+AcceleratorHistory::AcceleratorHistory() {}
 
-AcceleratorHistory::AcceleratorHistory()
-  : current_accelerator_(),
-    previous_accelerator_() {
-}
-
-AcceleratorHistory::~AcceleratorHistory() {
-}
+AcceleratorHistory::~AcceleratorHistory() {}
 
 void AcceleratorHistory::StoreCurrentAccelerator(
-                            const Accelerator& accelerator) {
+    const Accelerator& accelerator) {
+  // Track the currently pressed keys so that we don't mistakenly store an
+  // already pressed key as a new keypress after another key has been released.
+  // As an example, when the user presses and holds Alt+Search, then releases
+  // Alt but keeps holding the Search key down, at this point no new Search
+  // presses should be stored in the history after the Alt release, since Search
+  // was never released in the first place. crbug.com/704280.
+  if (accelerator.key_state() == Accelerator::KeyState::PRESSED) {
+    if (!currently_pressed_keys_.emplace(accelerator.key_code()).second)
+      return;
+  } else {
+    currently_pressed_keys_.erase(accelerator.key_code());
+  }
+
   if (accelerator != current_accelerator_) {
     previous_accelerator_ = current_accelerator_;
     current_accelerator_ = accelerator;
diff --git a/ui/base/accelerators/accelerator_history.h b/ui/base/accelerators/accelerator_history.h
index 22aaf1f..ee63a572 100644
--- a/ui/base/accelerators/accelerator_history.h
+++ b/ui/base/accelerators/accelerator_history.h
@@ -5,12 +5,11 @@
 #ifndef UI_BASE_ACCELERATORS_ACCELERATOR_HISTORY_H_
 #define UI_BASE_ACCELERATORS_ACCELERATOR_HISTORY_H_
 
+#include <set>
+
 #include "base/macros.h"
-#include "base/memory/singleton.h"
 #include "ui/base/accelerators/accelerator.h"
 #include "ui/base/ui_base_export.h"
-#include "ui/events/event.h"
-#include "ui/events/event_handler.h"
 
 namespace ui {
 
@@ -40,6 +39,8 @@
   Accelerator current_accelerator_;
   Accelerator previous_accelerator_;
 
+  std::set<KeyboardCode> currently_pressed_keys_;
+
   DISALLOW_COPY_AND_ASSIGN(AcceleratorHistory);
 };
 
diff --git a/ui/base/accelerators/accelerator_history_unittest.cc b/ui/base/accelerators/accelerator_history_unittest.cc
new file mode 100644
index 0000000..4fcf29a4
--- /dev/null
+++ b/ui/base/accelerators/accelerator_history_unittest.cc
@@ -0,0 +1,55 @@
+// 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 "ui/base/accelerators/accelerator_history.h"
+#include "testing/gtest/include/gtest/gtest.h"
+
+namespace ui {
+
+TEST(AcceleratorHistoryTest, SimulatePressAndHold) {
+  AcceleratorHistory history;
+  Accelerator alt_press(ui::VKEY_MENU, ui::EF_NONE,
+                        ui::Accelerator::KeyState::PRESSED);
+  history.StoreCurrentAccelerator(alt_press);
+  EXPECT_EQ(alt_press, history.current_accelerator());
+
+  // Repeats don't affect previous accelerators.
+  history.StoreCurrentAccelerator(alt_press);
+  EXPECT_EQ(alt_press, history.current_accelerator());
+  EXPECT_NE(alt_press, history.previous_accelerator());
+
+  Accelerator search_alt_press(ui::VKEY_LWIN, ui::EF_ALT_DOWN,
+                               ui::Accelerator::KeyState::PRESSED);
+  history.StoreCurrentAccelerator(search_alt_press);
+  EXPECT_EQ(search_alt_press, history.current_accelerator());
+  EXPECT_EQ(alt_press, history.previous_accelerator());
+  history.StoreCurrentAccelerator(search_alt_press);
+  EXPECT_EQ(search_alt_press, history.current_accelerator());
+  EXPECT_EQ(alt_press, history.previous_accelerator());
+
+  Accelerator alt_release_search_down(ui::VKEY_MENU, ui::EF_COMMAND_DOWN,
+                                      ui::Accelerator::KeyState::RELEASED);
+  history.StoreCurrentAccelerator(alt_release_search_down);
+  EXPECT_EQ(alt_release_search_down, history.current_accelerator());
+  EXPECT_EQ(search_alt_press, history.previous_accelerator());
+
+  // Search is still down and search presses will keep being generated, but from
+  // the perspective of the AcceleratorHistory, this is the same Search press
+  // that hasn't been released yet.
+  Accelerator search_press(ui::VKEY_LWIN, ui::EF_NONE,
+                           ui::Accelerator::KeyState::PRESSED);
+  history.StoreCurrentAccelerator(search_press);
+  history.StoreCurrentAccelerator(search_press);
+  history.StoreCurrentAccelerator(search_press);
+  EXPECT_EQ(alt_release_search_down, history.current_accelerator());
+  EXPECT_EQ(search_alt_press, history.previous_accelerator());
+
+  Accelerator search_release(ui::VKEY_LWIN, ui::EF_NONE,
+                             ui::Accelerator::KeyState::RELEASED);
+  history.StoreCurrentAccelerator(search_release);
+  EXPECT_EQ(search_release, history.current_accelerator());
+  EXPECT_EQ(alt_release_search_down, history.previous_accelerator());
+}
+
+}  // namespace ui
diff --git a/ui/base/cursor/cursor_loader_ozone.cc b/ui/base/cursor/cursor_loader_ozone.cc
index 08b831e6..1d74eec7 100644
--- a/ui/base/cursor/cursor_loader_ozone.cc
+++ b/ui/base/cursor/cursor_loader_ozone.cc
@@ -24,8 +24,8 @@
 
   GetImageCursorBitmap(resource_id, scale(), rotation(), &hotspot, &bitmap);
 
-  cursors_[id] =
-      CursorFactoryOzone::GetInstance()->CreateImageCursor(bitmap, hotspot);
+  cursors_[id] = CursorFactoryOzone::GetInstance()->CreateImageCursor(
+      bitmap, hotspot, scale());
 }
 
 void CursorLoaderOzone::LoadAnimatedCursor(int id,
@@ -39,7 +39,7 @@
       resource_id, scale(), rotation(), &hotspot, &bitmaps);
 
   cursors_[id] = CursorFactoryOzone::GetInstance()->CreateAnimatedCursor(
-      bitmaps, hotspot, frame_delay_ms);
+      bitmaps, hotspot, frame_delay_ms, scale());
 }
 
 void CursorLoaderOzone::UnloadAll() {
diff --git a/ui/base/cursor/ozone/bitmap_cursor_factory_ozone.cc b/ui/base/cursor/ozone/bitmap_cursor_factory_ozone.cc
index f96d98fb..ab052ca 100644
--- a/ui/base/cursor/ozone/bitmap_cursor_factory_ozone.cc
+++ b/ui/base/cursor/ozone/bitmap_cursor_factory_ozone.cc
@@ -79,7 +79,8 @@
 
 PlatformCursor BitmapCursorFactoryOzone::CreateImageCursor(
     const SkBitmap& bitmap,
-    const gfx::Point& hotspot) {
+    const gfx::Point& hotspot,
+    float bitmap_dpi) {
   BitmapCursorOzone* cursor = new BitmapCursorOzone(bitmap, hotspot);
   cursor->AddRef();  // Balanced by UnrefImageCursor.
   return ToPlatformCursor(cursor);
@@ -88,7 +89,8 @@
 PlatformCursor BitmapCursorFactoryOzone::CreateAnimatedCursor(
     const std::vector<SkBitmap>& bitmaps,
     const gfx::Point& hotspot,
-    int frame_delay_ms) {
+    int frame_delay_ms,
+    float bitmap_dpi) {
   DCHECK_LT(0U, bitmaps.size());
   BitmapCursorOzone* cursor =
       new BitmapCursorOzone(bitmaps, hotspot, frame_delay_ms);
diff --git a/ui/base/cursor/ozone/bitmap_cursor_factory_ozone.h b/ui/base/cursor/ozone/bitmap_cursor_factory_ozone.h
index e621c5e..de7352d 100644
--- a/ui/base/cursor/ozone/bitmap_cursor_factory_ozone.h
+++ b/ui/base/cursor/ozone/bitmap_cursor_factory_ozone.h
@@ -63,11 +63,12 @@
   // CursorFactoryOzone:
   PlatformCursor GetDefaultCursor(int type) override;
   PlatformCursor CreateImageCursor(const SkBitmap& bitmap,
-                                   const gfx::Point& hotspot) override;
-  PlatformCursor CreateAnimatedCursor(
-      const std::vector<SkBitmap>& bitmaps,
-      const gfx::Point& hotspot,
-      int frame_delay_ms) override;
+                                   const gfx::Point& hotspot,
+                                   float bitmap_dpi) override;
+  PlatformCursor CreateAnimatedCursor(const std::vector<SkBitmap>& bitmaps,
+                                      const gfx::Point& hotspot,
+                                      int frame_delay_ms,
+                                      float bitmap_dpi) override;
   void RefImageCursor(PlatformCursor cursor) override;
   void UnrefImageCursor(PlatformCursor cursor) override;
 
diff --git a/ui/base/cursor/ozone/cursor_data_factory_ozone.cc b/ui/base/cursor/ozone/cursor_data_factory_ozone.cc
new file mode 100644
index 0000000..7d900d4b
--- /dev/null
+++ b/ui/base/cursor/ozone/cursor_data_factory_ozone.cc
@@ -0,0 +1,108 @@
+// 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 "ui/base/cursor/ozone/cursor_data_factory_ozone.h"
+
+#include "ui/base/cursor/cursor.h"
+
+namespace ui {
+
+namespace {
+
+// A magic value that we store at the start of an instance.
+const uint32_t kCookie = 0xF60D214C;
+
+const uint32_t kBadCookie = 0xBADBADCC;
+
+CursorDataOzone* ToCursorDataOzone(PlatformCursor cursor) {
+  CursorDataOzone* ozone = static_cast<CursorDataOzone*>(cursor);
+#if DCHECK_IS_ON()
+  ozone->AssertIsACusrorDataOzone();
+#endif
+  return ozone;
+}
+
+PlatformCursor ToPlatformCursor(CursorDataOzone* cursor) {
+  return static_cast<PlatformCursor>(cursor);
+}
+
+}  // namespace
+
+CursorDataOzone::CursorDataOzone(const ui::CursorData& data)
+    : magic_cookie_(kCookie), data_(data) {}
+
+void CursorDataOzone::AssertIsACusrorDataOzone() {
+  CHECK_EQ(magic_cookie_, kCookie);
+}
+
+CursorDataOzone::~CursorDataOzone() {
+  magic_cookie_ = kBadCookie;
+}
+
+CursorDataFactoryOzone::CursorDataFactoryOzone() {}
+
+CursorDataFactoryOzone::~CursorDataFactoryOzone() {}
+
+// static
+const ui::CursorData& CursorDataFactoryOzone::GetCursorData(
+    PlatformCursor platform_cursor) {
+  return ToCursorDataOzone(platform_cursor)->data();
+}
+
+PlatformCursor CursorDataFactoryOzone::GetDefaultCursor(int type) {
+  // Unlike BitmapCursorFactoryOzone, we aren't making heavyweight bitmaps, but
+  // we still have to cache these forever because objects that come out of the
+  // GetDefaultCursor() method aren't treated as refcounted by the ozone
+  // interfaces.
+  return GetDefaultCursorInternal(type).get();
+}
+
+PlatformCursor CursorDataFactoryOzone::CreateImageCursor(
+    const SkBitmap& bitmap,
+    const gfx::Point& hotspot,
+    float bitmap_dpi) {
+  CursorDataOzone* cursor = new CursorDataOzone(
+      ui::CursorData(hotspot, {bitmap}, bitmap_dpi, base::TimeDelta()));
+  cursor->AddRef();  // Balanced by UnrefImageCursor.
+  return ToPlatformCursor(cursor);
+}
+
+PlatformCursor CursorDataFactoryOzone::CreateAnimatedCursor(
+    const std::vector<SkBitmap>& bitmaps,
+    const gfx::Point& hotspot,
+    int frame_delay_ms,
+    float bitmap_dpi) {
+  CursorDataOzone* cursor = new CursorDataOzone(
+      ui::CursorData(hotspot, bitmaps, bitmap_dpi,
+                     base::TimeDelta::FromMilliseconds(frame_delay_ms)));
+  cursor->AddRef();  // Balanced by UnrefImageCursor.
+  return ToPlatformCursor(cursor);
+}
+
+void CursorDataFactoryOzone::RefImageCursor(PlatformCursor cursor) {
+  ToCursorDataOzone(cursor)->AddRef();
+}
+
+void CursorDataFactoryOzone::UnrefImageCursor(PlatformCursor cursor) {
+  ToCursorDataOzone(cursor)->Release();
+}
+
+scoped_refptr<CursorDataOzone> CursorDataFactoryOzone::GetDefaultCursorInternal(
+    int type) {
+  if (type == kCursorNone)
+    return nullptr;  // nullptr is used for hidden cursor.
+
+  if (!default_cursors_.count(type)) {
+    // We hold a ref forever because clients do not do refcounting for default
+    // cursors.
+    scoped_refptr<CursorDataOzone> cursor =
+        make_scoped_refptr(new CursorDataOzone(ui::CursorData(type)));
+    default_cursors_[type] = std::move(cursor);
+  }
+
+  // Returned owned default cursor for this type.
+  return default_cursors_[type];
+}
+
+}  // namespace ui
diff --git a/ui/base/cursor/ozone/cursor_data_factory_ozone.h b/ui/base/cursor/ozone/cursor_data_factory_ozone.h
new file mode 100644
index 0000000..5db5d1e
--- /dev/null
+++ b/ui/base/cursor/ozone/cursor_data_factory_ozone.h
@@ -0,0 +1,91 @@
+// 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 UI_BASE_CURSOR_OZONE_CURSORD_DATA_FACTORY_OZONE_H_
+#define UI_BASE_CURSOR_OZONE_CURSORD_DATA_FACTORY_OZONE_H_
+
+#include <map>
+
+#include "base/macros.h"
+#include "base/memory/ref_counted.h"
+#include "third_party/skia/include/core/SkBitmap.h"
+#include "ui/base/cursor/cursor_data.h"
+#include "ui/base/ui_base_export.h"
+#include "ui/gfx/geometry/point.h"
+#include "ui/ozone/public/cursor_factory_ozone.h"
+
+namespace ui {
+
+// A refcounted wrapper around a ui::CursorData to obey CursorFactoryOzone's
+// refcounting interface while building ui::CursorData objects for transport
+// over mojo pipes.
+//
+// TODO(erg): In the long term, this should go away. When //content/ switches
+// from webcursor.h to use ui::CursorData directly, we should be able to get
+// rid of this class which is an adaptor for the existing ozone code.
+class UI_BASE_EXPORT CursorDataOzone
+    : public base::RefCounted<CursorDataOzone> {
+ public:
+  explicit CursorDataOzone(const ui::CursorData& data);
+
+  const ui::CursorData& data() const { return data_; }
+
+  // Instances of CursorDataOzone are passed around as void* because of the low
+  // level CursorFactoryOzone interface. Even worse, there can be multiple
+  // subclasses that map to this void* type. This asserts that a magic cookie
+  // that we put at the start of valid CursorDataOzone objects is correct.
+  void AssertIsACusrorDataOzone();
+
+ private:
+  friend class base::RefCounted<CursorDataOzone>;
+  ~CursorDataOzone();
+
+  // This is always a magic constant value. This is set in the constructor and
+  // unset in the destructor.
+  uint32_t magic_cookie_;
+
+  ui::CursorData data_;
+
+  DISALLOW_COPY_AND_ASSIGN(CursorDataOzone);
+};
+
+// CursorFactoryOzone implementation for processes which use ui::CursorDatas.
+//
+// Inside some sandboxed processes, we need to save all source data so it can
+// be processed in a remote process. This plugs into the current ozone cursor
+// creating code, and builds the cross platform mojo data structure.
+class UI_BASE_EXPORT CursorDataFactoryOzone : public CursorFactoryOzone {
+ public:
+  CursorDataFactoryOzone();
+  ~CursorDataFactoryOzone() override;
+
+  // Converts a PlatformCursor back to a ui::CursorData.
+  static const ui::CursorData& GetCursorData(PlatformCursor platform_cursor);
+
+  // CursorFactoryOzone:
+  PlatformCursor GetDefaultCursor(int type) override;
+  PlatformCursor CreateImageCursor(const SkBitmap& bitmap,
+                                   const gfx::Point& hotspot,
+                                   float bitmap_dpi) override;
+  PlatformCursor CreateAnimatedCursor(const std::vector<SkBitmap>& bitmaps,
+                                      const gfx::Point& hotspot,
+                                      int frame_delay_ms,
+                                      float bitmap_dpi) override;
+  void RefImageCursor(PlatformCursor cursor) override;
+  void UnrefImageCursor(PlatformCursor cursor) override;
+
+ private:
+  // Get cached BitmapCursorOzone for a default cursor.
+  scoped_refptr<CursorDataOzone> GetDefaultCursorInternal(int type);
+
+  // Default cursors are cached & owned by the factory.
+  typedef std::map<int, scoped_refptr<CursorDataOzone>> DefaultCursorMap;
+  DefaultCursorMap default_cursors_;
+
+  DISALLOW_COPY_AND_ASSIGN(CursorDataFactoryOzone);
+};
+
+}  // namespace ui
+
+#endif  // UI_BASE_CURSOR_OZONE_CURSORD_DATA_FACTORY_OZONE_H_
diff --git a/ui/file_manager/externs/compiled_resources2.gyp b/ui/file_manager/externs/compiled_resources2.gyp
index a205351..9931d52 100644
--- a/ui/file_manager/externs/compiled_resources2.gyp
+++ b/ui/file_manager/externs/compiled_resources2.gyp
@@ -1,6 +1,11 @@
-# Copyright 2016 The Chromium Authors. All rights reserved.
+# 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.
+
+########################################################
+#    NOTE: THIS FILE IS GENERATED. DO NOT EDIT IT!     #
+# Instead, run create_include_gyp.py to regenerate it. #
+########################################################
 {
   'targets': [
     {
@@ -16,7 +21,7 @@
       'includes': ['../../../third_party/closure_compiler/include_js.gypi'],
     },
     {
-      'target_name': 'byte_reader',
+      'target_name': 'background_window_common',
       'includes': ['../../../third_party/closure_compiler/include_js.gypi'],
     },
     {
@@ -104,7 +109,7 @@
       'includes': ['../../../third_party/closure_compiler/include_js.gypi'],
     },
     {
-      'target_name': 'metadata_parser_interface',
+      'target_name': 'menu_item_update_event',
       'includes': ['../../../third_party/closure_compiler/include_js.gypi'],
     },
     {
@@ -124,11 +129,7 @@
       'includes': ['../../../third_party/closure_compiler/include_js.gypi'],
     },
     {
-      'target_name': 'progress_center_panel',
-      'includes': ['../../../third_party/closure_compiler/include_js.gypi'],
-    },
-    {
-      'target_name': 'video_player_foreground',
+      'target_name': 'search_item',
       'includes': ['../../../third_party/closure_compiler/include_js.gypi'],
     },
     {
diff --git a/ui/file_manager/externs/menu_item_update_event.js b/ui/file_manager/externs/menu_item_update_event.js
new file mode 100644
index 0000000..0666a9a
--- /dev/null
+++ b/ui/file_manager/externs/menu_item_update_event.js
@@ -0,0 +1,14 @@
+// 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.
+
+/**
+ * @constructor
+ * @extends {Event}
+ */
+var MenuItemUpdateEvent = function() {};
+
+/**
+ * @type {!cr.ui.MenuButton}
+ */
+MenuItemUpdateEvent.prototype.menuButton;
diff --git a/ui/file_manager/externs/progress_center_panel.js b/ui/file_manager/externs/progress_center_panel.js
deleted file mode 100644
index ee11105..0000000
--- a/ui/file_manager/externs/progress_center_panel.js
+++ /dev/null
@@ -1,25 +0,0 @@
-// 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.
-
-/**
- * @constructor
- * @struct
- */
-function ProgressCenterPanel() {}
-
-/**
- * @param {string} id
- */
-ProgressCenterPanel.prototype.dismissErrorItem = function(id) {};
-
-/**
- * @param {!ProgressCenterItem} item
- */
-ProgressCenterPanel.prototype.updateItem = function(item) {};
-
-/** @type {?function(string)} */
-ProgressCenterPanel.prototype.cancelCallback;
-
-/** @type {?function(string)} */
-ProgressCenterPanel.prototype.dismissErrorItemCallback;
diff --git a/ui/file_manager/externs/search_item.js b/ui/file_manager/externs/search_item.js
new file mode 100644
index 0000000..f39f032
--- /dev/null
+++ b/ui/file_manager/externs/search_item.js
@@ -0,0 +1,18 @@
+// 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.
+
+/**
+ * @constructor
+ */
+function SearchItem() {}
+
+/**
+ * @type {boolean}
+ */
+SearchItem.prototype.isHeaderItem;
+
+/**
+ * @type {string}
+ */
+SearchItem.prototype.searchQuery;
diff --git a/ui/file_manager/file_manager/background/js/compiled_resources2.gyp b/ui/file_manager/file_manager/background/js/compiled_resources2.gyp
index 7b8d0bd..19beee0d 100644
--- a/ui/file_manager/file_manager/background/js/compiled_resources2.gyp
+++ b/ui/file_manager/file_manager/background/js/compiled_resources2.gyp
@@ -202,10 +202,10 @@
     {
       'target_name': 'progress_center',
       'dependencies': [
-        '../../../externs/compiled_resources2.gyp:progress_center_panel',
         '../../common/js/compiled_resources2.gyp:async_util',
         '../../common/js/compiled_resources2.gyp:progress_center_common',
         '../../common/js/compiled_resources2.gyp:util',
+        '../../foreground/js/ui/compiled_resources2.gyp:progress_center_panel',
         '<(EXTERNS_GYP):chrome_extensions',
       ],
       'includes': ['../../../compile_js2.gypi'],
diff --git a/ui/file_manager/file_manager/foreground/js/actions_model.js b/ui/file_manager/file_manager/foreground/js/actions_model.js
index 1424a91c..5d2129e 100644
--- a/ui/file_manager/file_manager/foreground/js/actions_model.js
+++ b/ui/file_manager/file_manager/foreground/js/actions_model.js
@@ -24,8 +24,18 @@
 };
 
 /**
+ * @typedef {{
+ *  alertDialog: FilesAlertDialog,
+ *  errorDialog: ErrorDialog,
+ *  listContainer: ListContainer,
+ *  shareDialog: ShareDialog,
+ * }}
+ */
+var ActionModelUI;
+
+/**
  * @param {!Entry} entry
- * @param {!FileManagerUI} ui
+ * @param {!ActionModelUI} ui
  * @param {!VolumeManagerWrapper} volumeManager
  * @implements {Action}
  * @constructor
@@ -45,7 +55,7 @@
   this.volumeManager_ = volumeManager;
 
   /**
-   * @private {!FileManagerUI}
+   * @private {!ActionModelUI}
    * @const
    */
   this.ui_ = ui;
@@ -53,7 +63,7 @@
 
 /**
  * @param {!Array<!Entry>} entries
- * @param {!FileManagerUI} ui
+ * @param {!ActionModelUI} ui
  * @param {!VolumeManagerWrapper} volumeManager
  * @return {DriveShareAction}
  */
@@ -93,7 +103,7 @@
  * @param {!Array<!Entry>} entries
  * @param {!MetadataModel} metadataModel
  * @param {!DriveSyncHandler} driveSyncHandler
- * @param {!FileManagerUI} ui
+ * @param {!ActionModelUI} ui
  * @param {boolean} value
  * @param {function()} onExecute
  * @implements {Action}
@@ -121,7 +131,7 @@
   this.driveSyncHandler_ = driveSyncHandler;
 
   /**
-   * @private {!FileManagerUI}
+   * @private {!ActionModelUI}
    * @const
    */
   this.ui_ = ui;
@@ -143,7 +153,7 @@
  * @param {!Array<!Entry>} entries
  * @param {!MetadataModel} metadataModel
  * @param {!DriveSyncHandler} driveSyncHandler
- * @param {!FileManagerUI} ui
+ * @param {!ActionModelUI} ui
  * @param {boolean} value
  * @param {function()} onExecute
  * @return {DriveToggleOfflineAction}
@@ -459,7 +469,7 @@
  * @param {!MetadataModel} metadataModel
  * @param {!FolderShortcutsDataModel} shortcutsModel
  * @param {!DriveSyncHandler} driveSyncHandler
- * @param {!FileManagerUI} ui
+ * @param {!ActionModelUI} ui
  * @param {!Array<!Entry>} entries
  * @constructor
  * @extends {cr.EventTarget}
@@ -493,7 +503,7 @@
   this.driveSyncHandler_ = driveSyncHandler;
 
   /**
-   * @private {!FileManagerUI}
+   * @private {!ActionModelUI}
    * @const
    */
   this.ui_ = ui;
diff --git a/ui/file_manager/file_manager/foreground/js/compiled_resources.gyp b/ui/file_manager/file_manager/foreground/js/compiled_resources.gyp
index 04b44c6..3c85da1 100644
--- a/ui/file_manager/file_manager/foreground/js/compiled_resources.gyp
+++ b/ui/file_manager/file_manager/foreground/js/compiled_resources.gyp
@@ -188,8 +188,10 @@
           '../../../externs/file_operation_progress_event.js',
           '../../../externs/html_menu_item_element.js',
           '../../../externs/launcher_search_provider.js',
+          '../../../externs/menu_item_update_event.js',
           '../../../externs/paper_elements.js',
           '../../../externs/platform.js',
+          '../../../externs/search_item.js',
           '../../../externs/volume_info.js',
           '../../../externs/volume_info_list.js',
           '../../../externs/volume_manager.js',
diff --git a/ui/file_manager/file_manager/foreground/js/compiled_resources2.gyp b/ui/file_manager/file_manager/foreground/js/compiled_resources2.gyp
index 9a1958b5..12419df3 100644
--- a/ui/file_manager/file_manager/foreground/js/compiled_resources2.gyp
+++ b/ui/file_manager/file_manager/foreground/js/compiled_resources2.gyp
@@ -14,17 +14,21 @@
 #      ],
 #      'includes': ['../../../compile_js2.gypi'],
 #    },
-#    {
-#      'target_name': 'actions_model',
-#      'dependencies': [
-#        '../../background/js/compiled_resources2.gyp:drive_sync_handler',
-#        '<(DEPTH)/ui/webui/resources/js/compiled_resources2.gyp:cr',
-#        '<(EXTERNS_GYP):file_manager_private',
-#        'folder_shortcuts_data_model',
-#        'metadata/compiled_resources2.gyp:metadata_model',
-#      ],
-#      'includes': ['../../../compile_js2.gypi'],
-#    },
+    {
+      'target_name': 'actions_model',
+      'dependencies': [
+        '../../background/js/compiled_resources2.gyp:drive_sync_handler',
+        '<(DEPTH)/ui/webui/resources/js/compiled_resources2.gyp:cr',
+        '<(EXTERNS_GYP):file_manager_private',
+        'folder_shortcuts_data_model',
+        'metadata/compiled_resources2.gyp:metadata_model',
+        'ui/compiled_resources2.gyp:error_dialog',
+        'ui/compiled_resources2.gyp:files_alert_dialog',
+        'ui/compiled_resources2.gyp:list_container',
+        'ui/compiled_resources2.gyp:share_dialog',
+      ],
+      'includes': ['../../../compile_js2.gypi'],
+    },
 #    {
 #      'target_name': 'app_state_controller',
 #      'includes': ['../../../compile_js2.gypi'],
diff --git a/ui/file_manager/file_manager/foreground/js/search_controller.js b/ui/file_manager/file_manager/foreground/js/search_controller.js
index 0552d469..78b4516 100644
--- a/ui/file_manager/file_manager/foreground/js/search_controller.js
+++ b/ui/file_manager/file_manager/foreground/js/search_controller.js
@@ -124,7 +124,8 @@
   }
 
   // Add header item.
-  var headerItem = {isHeaderItem: true, searchQuery: searchString};
+  var headerItem = /** @type {SearchItem} */ (
+      {isHeaderItem: true, searchQuery: searchString});
   if (!this.searchBox_.autocompleteList.dataModel ||
       this.searchBox_.autocompleteList.dataModel.length == 0) {
     this.searchBox_.autocompleteList.suggestions = [headerItem];
diff --git a/ui/file_manager/file_manager/foreground/js/ui/compiled_resources2.gyp b/ui/file_manager/file_manager/foreground/js/ui/compiled_resources2.gyp
index 6629da8..2b41bb9 100644
--- a/ui/file_manager/file_manager/foreground/js/ui/compiled_resources2.gyp
+++ b/ui/file_manager/file_manager/foreground/js/ui/compiled_resources2.gyp
@@ -3,18 +3,31 @@
 # found in the LICENSE file.
 {
   'targets': [
-#    {
-#      'target_name': 'actions_submenu',
-#      'dependencies': [
-#        '../compiled_resources2.gyp:actions_model',
-#        '<(DEPTH)/ui/webui/resources/js/cr/ui/compiled_resources2.gyp:command',
-#      ],
-#      'includes': ['../../../../compile_js2.gypi'],
-#    },
-#    {
-#      'target_name': 'banners',
-#      'includes': ['../../../../compile_js2.gypi'],
-#    },
+    {
+      'target_name': 'actions_submenu',
+      'dependencies': [
+        '../compiled_resources2.gyp:actions_model',
+        '<(DEPTH)/ui/webui/resources/js/cr/ui/compiled_resources2.gyp:command',
+        '<(DEPTH)/ui/webui/resources/js/cr/ui/compiled_resources2.gyp:menu',
+        '<(DEPTH)/ui/webui/resources/js/cr/ui/compiled_resources2.gyp:menu_item',
+      ],
+      'includes': ['../../../../compile_js2.gypi'],
+    },
+    {
+      'target_name': 'banners',
+      'dependencies': [
+        '../../../../externs/compiled_resources2.gyp:chrome_echo_private',
+        '../../../common/js/compiled_resources2.gyp:util',
+        '../../../common/js/compiled_resources2.gyp:volume_manager_common',
+        '../compiled_resources2.gyp:directory_model',
+        '../compiled_resources2.gyp:volume_manager_wrapper',
+        '<(DEPTH)/ui/webui/resources/js/compiled_resources2.gyp:assert',
+        '<(DEPTH)/ui/webui/resources/js/cr/compiled_resources2.gyp:event_target',
+        '<(EXTERNS_GYP):chrome_extensions',
+        '<(EXTERNS_GYP):file_manager_private',
+      ],
+      'includes': ['../../../../compile_js2.gypi'],
+    },
     {
       'target_name': 'combobutton',
       'dependencies': [
@@ -53,10 +66,24 @@
       ],
       'includes': ['../../../../compile_js2.gypi'],
     },
-#    {
-#      'target_name': 'directory_tree',
-#      'includes': ['../../../../compile_js2.gypi'],
-#    },
+    {
+      'target_name': 'directory_tree',
+      'dependencies': [
+        '../../../../externs/compiled_resources2.gyp:menu_item_update_event',
+        '../../../background/js/compiled_resources2.gyp:file_operation_manager',
+        '../../../common/js/compiled_resources2.gyp:util',
+        '../../../common/js/compiled_resources2.gyp:volume_manager_common',
+        '../compiled_resources2.gyp:directory_model',
+        '../compiled_resources2.gyp:navigation_list_model',
+        '../compiled_resources2.gyp:volume_manager_wrapper',
+        '../metadata/compiled_resources2.gyp:metadata_model',
+        '<(DEPTH)/ui/webui/resources/js/cr/ui/compiled_resources2.gyp:context_menu_button',
+        '<(DEPTH)/ui/webui/resources/js/cr/ui/compiled_resources2.gyp:context_menu_handler',
+        '<(DEPTH)/ui/webui/resources/js/cr/ui/compiled_resources2.gyp:menu',
+        '<(DEPTH)/ui/webui/resources/js/cr/ui/compiled_resources2.gyp:tree',
+      ],
+      'includes': ['../../../../compile_js2.gypi'],
+    },
     {
       'target_name': 'drag_selector',
       'dependencies': [
@@ -113,10 +140,43 @@
       ],
       'includes': ['../../../../compile_js2.gypi'],
     },
-#    {
-#      'target_name': 'file_manager_ui',
-#      'includes': ['../../../../compile_js2.gypi'],
-#    },
+    {
+      'target_name': 'file_manager_ui',
+      'dependencies': [
+        '../../../common/js/compiled_resources2.gyp:util',
+        '../../elements/compiled_resources2.gyp:files_toggle_ripple',
+        '../../elements/compiled_resources2.gyp:files_tooltip',
+        '../compiled_resources2.gyp:launch_param',
+        '../compiled_resources2.gyp:providers_model',
+        '<(DEPTH)/ui/webui/resources/js/compiled_resources2.gyp:i18n_template_no_process',
+        '<(DEPTH)/ui/webui/resources/js/compiled_resources2.gyp:util',
+        '<(DEPTH)/ui/webui/resources/js/cr/ui/compiled_resources2.gyp:context_menu_button',
+        '<(DEPTH)/ui/webui/resources/js/cr/ui/compiled_resources2.gyp:dialogs',
+        '<(DEPTH)/ui/webui/resources/js/cr/ui/compiled_resources2.gyp:menu',
+        'actions_submenu',
+        'banners',
+        'combobutton',
+        'default_task_dialog',
+        'dialog_footer',
+        'directory_tree',
+        'empty_folder',
+        'error_dialog',
+        'file_grid',
+        'file_table',
+        'files_alert_dialog',
+        'files_confirm_dialog',
+        'gear_menu',
+        'list_container',
+        'location_line',
+        'multi_profile_share_dialog',
+        'progress_center_panel',
+        'providers_menu',
+        'search_box',
+        'share_dialog',
+        'suggest_apps_dialog',
+      ],
+      'includes': ['../../../../compile_js2.gypi'],
+    },
     {
       'target_name': 'file_metadata_formatter',
       'dependencies': [
@@ -221,14 +281,33 @@
       ],
       'includes': ['../../../../compile_js2.gypi'],
     },
-#    {
-#      'target_name': 'providers_menu',
-#      'includes': ['../../../../compile_js2.gypi'],
-#    },
-#    {
-#      'target_name': 'search_box',
-#      'includes': ['../../../../compile_js2.gypi'],
-#    },
+    {
+      'target_name': 'providers_menu',
+      'dependencies': [
+        '../../../../externs/compiled_resources2.gyp:menu_item_update_event',
+        '../compiled_resources2.gyp:providers_model',
+        '<(DEPTH)/ui/webui/resources/js/cr/ui/compiled_resources2.gyp:menu',
+        '<(DEPTH)/ui/webui/resources/js/cr/ui/compiled_resources2.gyp:position_util',
+        'directory_tree',
+        'files_menu',
+      ],
+      'includes': ['../../../../compile_js2.gypi'],
+    },
+    {
+      'target_name': 'search_box',
+      'dependencies': [
+        '../../../../externs/compiled_resources2.gyp:search_item',
+        '../../../common/js/compiled_resources2.gyp:file_type',
+        '../../../common/js/compiled_resources2.gyp:util',
+        '../../elements/compiled_resources2.gyp:files_toggle_ripple',
+        '<(DEPTH)/ui/webui/resources/js/compiled_resources2.gyp:assert',
+        '<(DEPTH)/ui/webui/resources/js/compiled_resources2.gyp:util',
+        '<(DEPTH)/ui/webui/resources/js/cr/compiled_resources2.gyp:event_target',
+        '<(DEPTH)/ui/webui/resources/js/cr/compiled_resources2.gyp:ui',
+        '<(DEPTH)/ui/webui/resources/js/cr/ui/compiled_resources2.gyp:autocomplete_list',
+      ],
+      'includes': ['../../../../compile_js2.gypi'],
+    },
     {
       'target_name': 'share_dialog',
       'dependencies': [
diff --git a/ui/file_manager/file_manager/foreground/js/ui/directory_tree.js b/ui/file_manager/file_manager/foreground/js/ui/directory_tree.js
index 489ee96..d407e8f 100644
--- a/ui/file_manager/file_manager/foreground/js/ui/directory_tree.js
+++ b/ui/file_manager/file_manager/foreground/js/ui/directory_tree.js
@@ -988,7 +988,7 @@
  */
 MenuItem.prototype.activate = function() {
   // Dispatch an event to update the menu (if updatable).
-  var updateEvent = new Event('update');
+  var updateEvent = /** @type {MenuItemUpdateEvent} */ (new Event('update'));
   updateEvent.menuButton = this.menuButton_;
   this.menuButton_.menu.dispatchEvent(updateEvent);
 
@@ -1368,14 +1368,14 @@
 
 /**
  * Invoked when a directory is changed.
- * @param {!Event} event Event.
+ * @param {!FileWatchEvent} event Event.
  * @private
  */
 DirectoryTree.prototype.onDirectoryContentChanged_ = function(event) {
   if (event.eventType !== 'changed' || !event.entry)
     return;
 
-  this.updateTreeByEntry_(event.entry);
+  this.updateTreeByEntry_(/** @type{!Entry} */ (event.entry));
 };
 
 /**
diff --git a/ui/file_manager/file_manager/foreground/js/ui/search_box.js b/ui/file_manager/file_manager/foreground/js/ui/search_box.js
index 1c9dfb1a..07e39b8 100644
--- a/ui/file_manager/file_manager/foreground/js/ui/search_box.js
+++ b/ui/file_manager/file_manager/foreground/js/ui/search_box.js
@@ -144,7 +144,7 @@
  * ListItem element for autocomplete.
  *
  * @param {Document} document Document.
- * @param {Object} item An object representing a suggestion.
+ * @param {SearchItem|SearchResult} item An object representing a suggestion.
  * @constructor
  * @private
  */
diff --git a/ui/gfx/canvas.cc b/ui/gfx/canvas.cc
index 47347f3c..d9f66426 100644
--- a/ui/gfx/canvas.cc
+++ b/ui/gfx/canvas.cc
@@ -103,17 +103,6 @@
   return base::i18n::IsRTL() ? TEXT_ALIGN_RIGHT : TEXT_ALIGN_LEFT;
 }
 
-ImageSkiaRep Canvas::ExtractImageRep() const {
-  DCHECK(bitmap_);
-  SkBitmap bitmap_copy;
-  // copyTo() will perform a deep copy, which is what we want.
-  bool result = bitmap_->copyTo(&bitmap_copy);
-  // This should succeed since the destination bitmap is empty to begin with.
-  // The only failure is an allocation failure, which we want to DCHECK anyway.
-  DCHECK(result);
-  return ImageSkiaRep(bitmap_copy, image_scale_);
-}
-
 void Canvas::DrawDashedRect(const RectF& rect, SkColor color) {
   if (rect.IsEmpty())
     return;
diff --git a/ui/gfx/canvas.h b/ui/gfx/canvas.h
index 5abe1976..a70ce25f 100644
--- a/ui/gfx/canvas.h
+++ b/ui/gfx/canvas.h
@@ -147,9 +147,6 @@
   // Canvas::TEXT_ALIGN_RIGHT.
   static int DefaultCanvasTextAlignment();
 
-  // Extracts an ImageSkiaRep from the contents of this canvas.
-  ImageSkiaRep ExtractImageRep() const;
-
   // Draws a dashed rectangle of the specified color.
   void DrawDashedRect(const RectF& rect, SkColor color);
 
diff --git a/ui/gfx/render_text_harfbuzz.cc b/ui/gfx/render_text_harfbuzz.cc
index 18ee267e..042986f8 100644
--- a/ui/gfx/render_text_harfbuzz.cc
+++ b/ui/gfx/render_text_harfbuzz.cc
@@ -1202,7 +1202,6 @@
       ShapeRunList(display_text, display_run_list_.get());
     }
     update_display_run_list_ = false;
-
     std::vector<internal::Line> empty_lines;
     set_lines(&empty_lines);
   }
@@ -1648,13 +1647,13 @@
       ShapeRunList(text, &layout_run_list_);
     }
 
-    std::vector<internal::Line> empty_lines;
-    set_lines(&empty_lines);
     display_run_list_.reset();
     update_display_text_ = true;
     update_layout_run_list_ = false;
   }
   if (update_display_text_) {
+    std::vector<internal::Line> empty_lines;
+    set_lines(&empty_lines);
     UpdateDisplayText(multiline() ? 0 : layout_run_list_.width());
     update_display_text_ = false;
     update_display_run_list_ = text_elided();
diff --git a/ui/gfx/render_text_unittest.cc b/ui/gfx/render_text_unittest.cc
index d262f5f..0e1e3b49 100644
--- a/ui/gfx/render_text_unittest.cc
+++ b/ui/gfx/render_text_unittest.cc
@@ -534,6 +534,10 @@
     return GetRenderText()->GetLineOffset(line_num).y() + 1;
   }
 
+  // Do not use this function to ensure layout. This is only used to run a
+  // subset of the EnsureLayout functionality and check intermediate state.
+  void EnsureLayoutRunList() { GetRenderTextHarfBuzz()->EnsureLayoutRunList(); }
+
  private:
   DISALLOW_COPY_AND_ASSIGN(RenderTextHarfBuzzTest);
 };
@@ -3963,6 +3967,17 @@
   EXPECT_GT(text.size(), static_cast<size_t>(glyph_count));
   EXPECT_NE(0, glyph_count);
 }
+
+TEST_P(RenderTextMacTest, LinesInvalidationOnElideBehaviorChange) {
+  RenderTextMac* render_text = GetRenderTextMac();
+  render_text->SetText(ASCIIToUTF16("This is an example"));
+  test_api()->EnsureLayout();
+  EXPECT_TRUE(GetCoreTextLine());
+
+  // Lines are cleared when elide behavior changes.
+  render_text->SetElideBehavior(gfx::ELIDE_TAIL);
+  EXPECT_FALSE(GetCoreTextLine());
+}
 #endif  // defined(OS_MACOSX)
 
 // Ensure color changes are picked up by the RenderText implementation.
@@ -4409,6 +4424,18 @@
   DrawVisualText();
 }
 
+TEST_P(RenderTextHarfBuzzTest, LinesInvalidationOnElideBehaviorChange) {
+  RenderTextHarfBuzz* render_text = GetRenderTextHarfBuzz();
+  render_text->SetText(ASCIIToUTF16("This is an example"));
+  test_api()->EnsureLayout();
+  EXPECT_FALSE(test_api()->lines().empty());
+
+  // Lines are cleared when elide behavior changes.
+  render_text->SetElideBehavior(gfx::ELIDE_TAIL);
+  EnsureLayoutRunList();
+  EXPECT_TRUE(test_api()->lines().empty());
+}
+
 // Ensures that text is centered vertically and consistently when either the
 // display rectangle height changes, or when the minimum line height changes.
 // The difference between the two is the selection rectangle, which should match
diff --git a/ui/gl/PRESUBMIT.py b/ui/gl/PRESUBMIT.py
new file mode 100644
index 0000000..dad553d
--- /dev/null
+++ b/ui/gl/PRESUBMIT.py
@@ -0,0 +1,31 @@
+# Copyright (c) 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.
+
+"""Presubmit script for //ui/gl.
+
+See http://dev.chromium.org/developers/how-tos/depottools/presubmit-scripts
+for more details about the presubmit API built into depot_tools.
+"""
+
+def PostUploadHook(cl, change, output_api):
+  """git cl upload will call this hook after the issue is created/modified.
+
+  This hook modifies the CL description in order to run extra GPU
+  tests (in particular, the WebGL 2.0 conformance tests) in addition
+  to the regular CQ try bots. This test suite is too large to run
+  against all Chromium commits, but should be run against changes
+  likely to affect these tests.
+
+  When adding/removing tests here, ensure that both gpu/PRESUBMIT.py and
+  ui/gl/PRESUBMIT.py are updated.
+  """
+  return output_api.EnsureCQIncludeTrybotsAreAdded(
+    cl,
+    [
+      'master.tryserver.chromium.linux:linux_optional_gpu_tests_rel',
+      'master.tryserver.chromium.mac:mac_optional_gpu_tests_rel',
+      'master.tryserver.chromium.win:win_optional_gpu_tests_rel',
+      'master.tryserver.chromium.android:android_optional_gpu_tests_rel',
+    ],
+    'Automatically added optional GPU tests to run on CQ.')
diff --git a/ui/message_center/views/message_center_view.cc b/ui/message_center/views/message_center_view.cc
index 375d42b..05db825efb 100644
--- a/ui/message_center/views/message_center_view.cc
+++ b/ui/message_center/views/message_center_view.cc
@@ -105,6 +105,7 @@
   scroller_->layer()->SetMasksToBounds(true);
 
   message_list_view_.reset(new MessageListView());
+  message_list_view_->set_scroller(scroller_);
   message_list_view_->set_owned_by_client();
   message_list_view_->AddObserver(this);
 
@@ -395,6 +396,7 @@
   if (message_list_view_->IsMouseHovered()) {
     for (const auto& hover_id_view : notification_views_) {
       MessageView* hover_view = hover_id_view.second;
+
       if (hover_view->IsMouseHovered()) {
         message_list_view_->SetRepositionTarget(hover_view->bounds());
         return true;
diff --git a/ui/message_center/views/message_center_view_unittest.cc b/ui/message_center/views/message_center_view_unittest.cc
index 4f8a0a1..35d2cfe3 100644
--- a/ui/message_center/views/message_center_view_unittest.cc
+++ b/ui/message_center/views/message_center_view_unittest.cc
@@ -126,6 +126,8 @@
 
   bool SetRepositionTarget() override;
 
+  void PreferredSizeChanged() override;
+
  private:
   DISALLOW_COPY_AND_ASSIGN(MockMessageCenterView);
 };
@@ -146,6 +148,11 @@
   return true;
 }
 
+void MockMessageCenterView::PreferredSizeChanged() {
+  SetSize(GetPreferredSize());
+  MessageCenterView::PreferredSizeChanged();
+}
+
 /* Test fixture ***************************************************************/
 
 class MessageCenterViewTest : public views::ViewsTestBase,
@@ -247,9 +254,9 @@
 
   // Then create a new MockMessageCenterView with that single notification.
   message_center_view_.reset(
-      new MockMessageCenterView(message_center_.get(), NULL, 100, false));
+      new MockMessageCenterView(message_center_.get(), NULL, 600, false));
   GetMessageListView()->quit_message_loop_after_animation_for_test_ = true;
-  GetMessageCenterView()->SetBounds(0, 0, 380, 600);
+  GetMessageCenterView()->SetBounds(0, 0, 380, 100);
   message_center_view_->SetNotifications(notifications);
   message_center_view_->set_owned_by_client();
 
@@ -560,6 +567,7 @@
 }
 
 TEST_F(MessageCenterViewTest, SizeAfterRemove) {
+  int original_height = GetMessageListView()->height();
   EXPECT_EQ(2, GetMessageListView()->child_count());
   RemoveNotification(kNotificationId1, false);
 
@@ -569,13 +577,9 @@
 
   EXPECT_EQ(1, GetMessageListView()->child_count());
 
-  int width =
-      GetMessageListView()->width() - GetMessageListView()->GetInsets().width();
   EXPECT_FALSE(GetNotificationView(kNotificationId1));
   EXPECT_TRUE(GetNotificationView(kNotificationId2));
-  EXPECT_EQ(GetMessageListView()->height(),
-            GetNotificationView(kNotificationId2)->GetHeightForWidth(width) +
-                GetMessageListView()->GetInsets().height());
+  EXPECT_EQ(GetMessageListView()->height(), original_height);
 }
 
 TEST_F(MessageCenterViewTest, PositionAfterUpdate) {
@@ -620,8 +624,6 @@
   int previous_height = GetMessageListView()->height();
   int previous_notification2_y =
       GetNotificationView(kNotificationId2)->bounds().y();
-  int previous_notification2_height =
-      GetNotificationView(kNotificationId2)->bounds().height();
 
   EXPECT_EQ(2, GetMessageListView()->child_count());
   RemoveNotification(kNotificationId2, false);
@@ -647,10 +649,8 @@
   // target in the message list.
   FireOnMouseExitedEvent();
 
-  // The height should shrink from the height of the removed notification 2.
-  EXPECT_EQ(previous_height - previous_notification2_height -
-                (kMarginBetweenItems - MessageView::GetShadowInsets().bottom()),
-            GetMessageListView()->height());
+  // The height should be kept even after the cursor moved out.
+  EXPECT_EQ(previous_height, GetMessageListView()->height());
 }
 
 TEST_F(MessageCenterViewTest, CloseButton) {
diff --git a/ui/message_center/views/message_list_view.cc b/ui/message_center/views/message_list_view.cc
index 92d5d7f..2551fab8 100644
--- a/ui/message_center/views/message_list_view.cc
+++ b/ui/message_center/views/message_list_view.cc
@@ -175,9 +175,41 @@
   }
 }
 
+void MessageListView::UpdateFixedHeight(int requested_height,
+                                        bool prevent_scroll) {
+  int previous_fixed_height = fixed_height_;
+  int min_height;
+
+  // When the |prevent_scroll| flag is set, we use |fixed_height_|, which is the
+  // bottom position of the visible rect. It's to keep the current visible
+  // window, in other words, not to be scrolled, when the visible rect has a
+  // blank area at the bottom.
+  // Otherwise (in else block), we use the height of the visible rect to make
+  // the height of the message list as small as possible.
+  if (prevent_scroll) {
+    // TODO(yoshiki): Consider the case with scrolling. If the message center
+    // has scrollbar and its height is maximum, we may not need to keep the
+    // height of the list in the scroll view.
+    min_height = fixed_height_;
+  } else {
+    if (scroller_) {
+      gfx::Rect visible_rect = scroller_->GetVisibleRect();
+      min_height = visible_rect.height();
+    } else {
+      // Fallback for testing.
+      min_height = fixed_height_;
+    }
+  }
+  fixed_height_ = std::max(min_height, requested_height);
+
+  if (previous_fixed_height != fixed_height_) {
+    PreferredSizeChanged();
+  }
+}
+
 void MessageListView::SetRepositionTarget(const gfx::Rect& target) {
   reposition_top_ = std::max(target.y(), 0);
-  fixed_height_ = GetHeightForWidth(width());
+  UpdateFixedHeight(GetHeightForWidth(width()), false);
 }
 
 void MessageListView::ResetRepositionSession() {
@@ -195,7 +227,8 @@
   }
 
   reposition_top_ = -1;
-  fixed_height_ = 0;
+
+  UpdateFixedHeight(fixed_height_, false);
 }
 
 void MessageListView::ClearAllClosableNotifications(
@@ -290,7 +323,7 @@
           switches::kEnableMessageCenterAlwaysScrollUpUponNotificationRemoval))
     AnimateNotificationsBelowTarget();
   else
-    AnimateNotificationsAboveTarget();
+    AnimateNotifications();
 
   adding_views_.clear();
   deleting_views_.clear();
@@ -299,6 +332,7 @@
     GetWidget()->SynthesizeMouseMoveEvent();
 }
 
+// TODO(yoshiki): Remove this method. It is no longer maintained.
 void MessageListView::AnimateNotificationsBelowTarget() {
   int target_index = -1;
   int padding = kMarginBetweenItems - MessageView::GetShadowInsets().bottom();
@@ -362,11 +396,17 @@
       vertical_gap_to_target_from_top += heights[i] + padding;
   }
 
-  // If the calculated length is changed from |repositon_top_|, it means that
-  // some of items above the target are updated and their height are changed.
+  // If the calculated length is expanded from |repositon_top_|, it means that
+  // some of items above the target are updated and their height increased.
   // Adjust the vertical length above the target.
-  fixed_height_ -= reposition_top_ - vertical_gap_to_target_from_top;
-  reposition_top_ = vertical_gap_to_target_from_top;
+  if (vertical_gap_to_target_from_top > reposition_top_) {
+    fixed_height_ += vertical_gap_to_target_from_top - reposition_top_;
+    reposition_top_ = vertical_gap_to_target_from_top;
+  }
+
+  // TODO(yoshiki): Scroll the parent container to keep the physical position
+  // of the target notification when the scrolling is caused by a size change
+  // of notification above.
 
   std::vector<int> positions;
   positions.reserve(heights.size());
@@ -377,7 +417,8 @@
     if (!deleting[i])
       y += heights[i] + padding;
   }
-  DCHECK_EQ(y, reposition_top_);
+  DCHECK_EQ(y, vertical_gap_to_target_from_top);
+  DCHECK_LE(y, reposition_top_);
 
   // Match the top with |reposition_top_|.
   y = reposition_top_;
@@ -387,15 +428,18 @@
     if (!deleting[i])
       y += heights[i] + padding;
   }
-  // If the target view, or any views below it expand they might exceed
-  // |fixed_height_|. Rather than letting them push out the bottom and be
-  // clipped, instead increase |fixed_height_|.
-  fixed_height_ = std::max(fixed_height_, y - padding + GetInsets().bottom());
+
+  // Update the fixed height. |requested_height| is the height to have all
+  // notifications in the list and to keep the vertical position of the target
+  // notification. It may not just a total of all the notification heights if
+  // the target exists.
+  int requested_height = y - padding + GetInsets().bottom();
+  UpdateFixedHeight(requested_height, true);
 
   return positions;
 }
 
-void MessageListView::AnimateNotificationsAboveTarget() {
+void MessageListView::AnimateNotifications() {
   int target_index = -1;
   int padding = kMarginBetweenItems - MessageView::GetShadowInsets().bottom();
   gfx::Rect child_area = GetContentsBounds();
@@ -410,15 +454,6 @@
         break;
       }
     }
-    // If no items are below |reposition_top_|, use the last item as the target.
-    if (target_index == -1) {
-      target_index = child_count() - 1;
-      for (; target_index != -1; target_index--) {
-        views::View* target_view = child_at(target_index);
-        if (deleting_views_.find(target_view) == deleting_views_.end())
-          break;
-      }
-    }
   }
 
   if (target_index != -1) {
@@ -434,7 +469,9 @@
     std::vector<int> ys =
         ComputeRepositionOffsets(heights, deleting, target_index, padding);
     for (int i = 0; i < child_count(); ++i) {
-      AnimateChild(child_at(i), ys[i], heights[i], true /* animate_on_move */);
+      bool above_target = (i < target_index);
+      AnimateChild(child_at(i), ys[i], heights[i],
+                   !above_target /* animate_on_move */);
     }
   } else {
     // Layout all the items.
@@ -445,7 +482,8 @@
       if (AnimateChild(child, y, height, true))
         y += height + padding;
     }
-    fixed_height_ = y - padding + GetInsets().bottom();
+    int new_height = y - padding + GetInsets().bottom();
+    UpdateFixedHeight(new_height, false);
   }
 }
 
diff --git a/ui/message_center/views/message_list_view.h b/ui/message_center/views/message_list_view.h
index 1104b47..843991e8 100644
--- a/ui/message_center/views/message_list_view.h
+++ b/ui/message_center/views/message_list_view.h
@@ -17,6 +17,7 @@
 #include "ui/message_center/notification.h"
 #include "ui/views/animation/bounds_animator.h"
 #include "ui/views/animation/bounds_animator_observer.h"
+#include "ui/views/controls/scroll_view.h"
 #include "ui/views/view.h"
 
 namespace ui {
@@ -55,6 +56,8 @@
   void SetRepositionTargetForTest(
       const gfx::Rect& target_rect);
 
+  void set_scroller(views::ScrollView* scroller) { scroller_ = scroller; }
+
  protected:
   // Overridden from views::View.
   void Layout() override;
@@ -77,9 +80,9 @@
   // Animates all notifications below target upwards to align with the top of
   // the last closed notification.
   void AnimateNotificationsBelowTarget();
-  // Animates all notifications above target downwards to align with the top of
-  // the last closed notification.
-  void AnimateNotificationsAboveTarget();
+  // Animates all notifications to align with the top of the last closed
+  // notification.
+  void AnimateNotifications();
   // Computes reposition offsets for |AnimateNotificationsAboveTarget|.
   std::vector<int> ComputeRepositionOffsets(const std::vector<int>& heights,
                                             const std::vector<bool>& deleting,
@@ -93,6 +96,10 @@
                     int height,
                     bool animate_even_on_move);
 
+  // Calculate the new fixed height and update with it. |requested_height|
+  // is the minimum height, and actual fixed height should be more than it.
+  void UpdateFixedHeight(int requested_height, bool prevent_scroll);
+
   // Animate clearing one notification.
   void AnimateClearingOneNotification();
 
@@ -110,6 +117,8 @@
   std::list<views::View*> clearing_all_views_;
   views::BoundsAnimator animator_;
 
+  views::ScrollView* scroller_ = nullptr;
+
   // If true, the message loop will be quitted after the animation finishes.
   // This is just for tests and has no setter.
   bool quit_message_loop_after_animation_for_test_;
diff --git a/ui/message_center/views/message_list_view_unittest.cc b/ui/message_center/views/message_list_view_unittest.cc
index dd534b2..d6054ef 100644
--- a/ui/message_center/views/message_list_view_unittest.cc
+++ b/ui/message_center/views/message_list_view_unittest.cc
@@ -220,148 +220,148 @@
   EXPECT_EQ(4 + insets.height() + 1, fixed_height());
   EXPECT_EQ(1 + top + 1, reposition_top());
 
-  // Notification above shrinks. |reposition_top| should remain at the same
-  // offset from the bottom.
+  // Notification above shrinks. The message center keeps its height.
+  // All notifications should remain at the same position from the top.
   fixed_height() = 5 + insets.height();
   reposition_top() = 2 + top;
   positions =
       ComputeRepositionOffsets({1, 1, 1, 1}, {false, false, false, false},
                                1 /* target_index */, 0 /* padding */);
-  EXPECT_THAT(positions, ElementsAre(top, top + 1, top + 2, top + 3));
-  EXPECT_EQ(4 + insets.height(), fixed_height());
-  EXPECT_EQ(1 + top, reposition_top());
+  EXPECT_THAT(positions, ElementsAre(top, top + 2, top + 3, top + 4));
+  EXPECT_EQ(5 + insets.height(), fixed_height());
+  EXPECT_EQ(2 + top, reposition_top());
 
   // Notification above is being deleted. |reposition_top| should remain at the
-  // same offset from the bottom.
-  fixed_height() = 4 + insets.height();
-  reposition_top() = 1 + top;
+  // same place.
+  fixed_height() = 5 + insets.height();
+  reposition_top() = 2 + top;
   positions =
       ComputeRepositionOffsets({1, 1, 1, 1}, {true, false, false, false},
                                1 /* target_index */, 0 /* padding */);
-  EXPECT_THAT(positions, ElementsAre(top, top, top + 1, top + 2));
-  EXPECT_EQ(4 + insets.height() - 1, fixed_height());
-  EXPECT_EQ(1 + top - 1, reposition_top());
+  EXPECT_THAT(positions, ElementsAre(top, top + 2, top + 3, top + 4));
+  EXPECT_EQ(5 + insets.height(), fixed_height());
+  EXPECT_EQ(2 + top, reposition_top());
 
   // Notification above is inserted. |reposition_top| should remain at the
   // same offset from the bottom.
-  fixed_height() = 3 + insets.height();
-  reposition_top() = top;
+  fixed_height() = 5 + insets.height();
+  reposition_top() = 2 + top;
   positions =
       ComputeRepositionOffsets({1, 1, 1, 1}, {false, false, false, false},
                                1 /* target_index */, 0 /* padding */);
-  EXPECT_THAT(positions, ElementsAre(top, top + 1, top + 2, top + 3));
-  EXPECT_EQ(3 + insets.height() + 1, fixed_height());
-  EXPECT_EQ(top + 1, reposition_top());
+  EXPECT_THAT(positions, ElementsAre(top, top + 2, top + 3, top + 4));
+  EXPECT_EQ(5 + insets.height(), fixed_height());
+  EXPECT_EQ(top + 2, reposition_top());
 
   // Target notification grows with no free space. |reposition_top| is forced to
   // change its offset from the bottom.
-  fixed_height() = 4 + insets.height();
-  reposition_top() = 1 + top;
+  fixed_height() = 5 + insets.height();
+  reposition_top() = 2 + top;
   positions =
       ComputeRepositionOffsets({1, 2, 1, 1}, {false, false, false, false},
                                1 /* target_index */, 0 /* padding */);
-  EXPECT_THAT(positions, ElementsAre(top, top + 1, top + 3, top + 4));
-  EXPECT_EQ(4 + insets.height() + 1, fixed_height());
-  EXPECT_EQ(1 + top, reposition_top());
+  EXPECT_THAT(positions, ElementsAre(top, top + 2, top + 4, top + 5));
+  EXPECT_EQ(5 + insets.height() + 1, fixed_height());
+  EXPECT_EQ(2 + top, reposition_top());
 
   // Target notification grows with free space. |reposition_top| should remain
   // at the same offset from the bottom.
-  fixed_height() = 5 + insets.height();
-  reposition_top() = 1 + top;
+  fixed_height() = 6 + insets.height();
+  reposition_top() = 2 + top;
   positions =
       ComputeRepositionOffsets({1, 2, 1, 1}, {false, false, false, false},
                                1 /* target_index */, 0 /* padding */);
-  EXPECT_THAT(positions, ElementsAre(top, top + 1, top + 3, top + 4));
-  EXPECT_EQ(5 + insets.height(), fixed_height());
-  EXPECT_EQ(1 + top, reposition_top());
+  EXPECT_THAT(positions, ElementsAre(top, top + 2, top + 4, top + 5));
+  EXPECT_EQ(6 + insets.height(), fixed_height());
+  EXPECT_EQ(2 + top, reposition_top());
 
   // Target notification grows with not enough free space. |reposition_top|
   // should change its offset as little as possible, and consume the free space.
-  fixed_height() = 5 + insets.height();
-  reposition_top() = 1 + top;
+  fixed_height() = 6 + insets.height();
+  reposition_top() = 2 + top;
   positions =
       ComputeRepositionOffsets({1, 3, 1, 1}, {false, false, false, false},
                                1 /* target_index */, 0 /* padding */);
-  EXPECT_THAT(positions, ElementsAre(top, top + 1, top + 4, top + 5));
-  EXPECT_EQ(5 + insets.height() + 1, fixed_height());
-  EXPECT_EQ(1 + top, reposition_top());
+  EXPECT_THAT(positions, ElementsAre(top, top + 2, top + 5, top + 6));
+  EXPECT_EQ(6 + insets.height() + 1, fixed_height());
+  EXPECT_EQ(2 + top, reposition_top());
 
   // Target notification shrinks. |reposition_top| should remain at the
   // same offset from the bottom.
-  fixed_height() = 5 + insets.height();
-  reposition_top() = 1 + top;
+  fixed_height() = 7 + insets.height();
+  reposition_top() = 2 + top;
   positions =
       ComputeRepositionOffsets({1, 1, 1, 1}, {false, false, false, false},
                                1 /* target_index */, 0 /* padding */);
-  EXPECT_THAT(positions, ElementsAre(top, top + 1, top + 2, top + 3));
-  EXPECT_EQ(5 + insets.height(), fixed_height());
-  EXPECT_EQ(1 + top, reposition_top());
+  EXPECT_THAT(positions, ElementsAre(top, top + 2, top + 3, top + 4));
+  EXPECT_EQ(7 + insets.height(), fixed_height());
+  EXPECT_EQ(2 + top, reposition_top());
 
   // Notification below grows with no free space. |reposition_top| is forced to
   // change its offset from the bottom.
-  fixed_height() = 4 + insets.height();
-  reposition_top() = 1 + top;
+  fixed_height() = 7 + insets.height();
+  reposition_top() = 2 + top;
   positions =
-      ComputeRepositionOffsets({1, 1, 2, 1}, {false, false, false, false},
+      ComputeRepositionOffsets({1, 1, 4, 1}, {false, false, false, false},
                                1 /* target_index */, 0 /* padding */);
-  EXPECT_THAT(positions, ElementsAre(top, top + 1, top + 2, top + 4));
-  EXPECT_EQ(4 + insets.height() + 1, fixed_height());
-  EXPECT_EQ(1 + top, reposition_top());
+  EXPECT_THAT(positions, ElementsAre(top, top + 2, top + 3, top + 7));
+  EXPECT_EQ(7 + insets.height() + 1, fixed_height());
+  EXPECT_EQ(2 + top, reposition_top());
 
   // Notification below grows with free space. |reposition_top| should remain
   // at the same offset from the bottom.
-  fixed_height() = 5 + insets.height();
-  reposition_top() = 1 + top;
+  fixed_height() = 8 + insets.height();
+  reposition_top() = 2 + top;
   positions =
       ComputeRepositionOffsets({1, 1, 2, 1}, {false, false, false, false},
                                1 /* target_index */, 0 /* padding */);
-  EXPECT_THAT(positions, ElementsAre(top, top + 1, top + 2, top + 4));
-  EXPECT_EQ(5 + insets.height(), fixed_height());
-  EXPECT_EQ(1 + top, reposition_top());
+  EXPECT_THAT(positions, ElementsAre(top, top + 2, top + 3, top + 5));
+  EXPECT_EQ(8 + insets.height(), fixed_height());
+  EXPECT_EQ(2 + top, reposition_top());
 
   // Notification below shrinks. |reposition_top| should remain at the same
   // offset from the bottom.
-  fixed_height() = 5 + insets.height();
-  reposition_top() = 1 + top;
+  fixed_height() = 8 + insets.height();
+  reposition_top() = 2 + top;
   positions =
       ComputeRepositionOffsets({1, 1, 1, 1}, {false, false, false, false},
                                1 /* target_index */, 0 /* padding */);
-  EXPECT_THAT(positions, ElementsAre(top, top + 1, top + 2, top + 3));
-  EXPECT_EQ(5 + insets.height(), fixed_height());
-  EXPECT_EQ(1 + top, reposition_top());
+  EXPECT_THAT(positions, ElementsAre(top, top + 2, top + 3, top + 4));
+  EXPECT_EQ(8 + insets.height(), fixed_height());
+  EXPECT_EQ(2 + top, reposition_top());
 
   // Notification below is being deleted. |reposition_top| should remain at the
   // same offset from the bottom.
-  fixed_height() = 4 + insets.height();
-  reposition_top() = 1 + top;
+  fixed_height() = 8 + insets.height();
+  reposition_top() = 2 + top;
   positions =
       ComputeRepositionOffsets({1, 1, 1, 1}, {false, false, true, false},
                                1 /* target_index */, 0 /* padding */);
-  EXPECT_THAT(positions, ElementsAre(top, top + 1, top + 2, top + 2));
-  EXPECT_EQ(4 + insets.height(), fixed_height());
-  EXPECT_EQ(1 + top, reposition_top());
+  EXPECT_THAT(positions, ElementsAre(top, top + 2, top + 3, top + 3));
+  EXPECT_EQ(8 + insets.height(), fixed_height());
+  EXPECT_EQ(2 + top, reposition_top());
 
   // Notification below is inserted with free space. |reposition_top| should
   // remain at the same offset from the bottom.
-  fixed_height() = 4 + insets.height();
-  reposition_top() = 1 + top;
+  fixed_height() = 8 + insets.height();
+  reposition_top() = 2 + top;
   positions =
       ComputeRepositionOffsets({1, 1, 1, 1}, {false, false, false, false},
                                1 /* target_index */, 0 /* padding */);
-  EXPECT_THAT(positions, ElementsAre(top, top + 1, top + 2, top + 3));
-  EXPECT_EQ(4 + insets.height(), fixed_height());
-  EXPECT_EQ(1 + top, reposition_top());
+  EXPECT_THAT(positions, ElementsAre(top, top + 2, top + 3, top + 4));
+  EXPECT_EQ(8 + insets.height(), fixed_height());
+  EXPECT_EQ(2 + top, reposition_top());
 
   // Notification below is inserted with no free space. |reposition_top| is
   // forced to change its offset from the bottom.
-  fixed_height() = 3 + insets.height();
-  reposition_top() = 1 + top;
-  positions =
-      ComputeRepositionOffsets({1, 1, 1, 1}, {false, false, false, false},
-                               1 /* target_index */, 0 /* padding */);
-  EXPECT_THAT(positions, ElementsAre(top, top + 1, top + 2, top + 3));
-  EXPECT_EQ(3 + insets.height() + 1, fixed_height());
-  EXPECT_EQ(1 + top, reposition_top());
+  fixed_height() = 8 + insets.height();
+  reposition_top() = 2 + top;
+  positions = ComputeRepositionOffsets({1, 1, 1, 4, 1},
+                                       {false, false, false, false, false},
+                                       1 /* target_index */, 0 /* padding */);
+  EXPECT_THAT(positions, ElementsAre(top, top + 2, top + 3, top + 4, top + 8));
+  EXPECT_EQ(8 + insets.height() + 1, fixed_height());
+  EXPECT_EQ(2 + top, reposition_top());
 
   // Test padding.
   fixed_height() = 20 + insets.height();
diff --git a/ui/native_theme/native_theme_aura.cc b/ui/native_theme/native_theme_aura.cc
index 5c2a462..d2cfc1fb 100644
--- a/ui/native_theme/native_theme_aura.cc
+++ b/ui/native_theme/native_theme_aura.cc
@@ -33,7 +33,6 @@
 
 // Constants for painting overlay scrollbars. Other properties needed outside
 // this painting code are defined in overlay_scrollbar_constants_aura.h.
-constexpr int kOverlayScrollbarStrokeWidth = 1;
 constexpr int kOverlayScrollbarMinimumLength = 32;
 
 // 2 pixel border with 1 pixel center patch. The border is 2 pixels despite the
@@ -73,7 +72,7 @@
 
   if (use_overlay_scrollbars_) {
     scrollbar_width_ =
-        kOverlayScrollbarThumbWidthPressed + kOverlayScrollbarStrokeWidth * 2;
+        kOverlayScrollbarThumbWidthPressed + kOverlayScrollbarStrokeWidth;
   }
 
   // Images and alphas declarations assume the following order.
@@ -199,14 +198,6 @@
   SkColor thumb_color;
 
   if (use_overlay_scrollbars_) {
-    // Constants used for painting overlay scrollbar thumb.
-    constexpr SkAlpha kOverlayScrollbarFillAlphaNormal = 0x80;
-    constexpr SkAlpha kOverlayScrollbarFillAlphaHovered = 0xB3;
-    constexpr SkAlpha kOverlayScrollbarFillAlphaPressed = 0xB3;
-    constexpr SkAlpha kOverlayScrollbarStrokeAlphaNormal = 0x4D;
-    constexpr SkAlpha kOverlayScrollbarStrokeAlphaHovered = 0x80;
-    constexpr SkAlpha kOverlayScrollbarStrokeAlphaPressed = 0x80;
-
     // Indexed by ScrollbarOverlayColorTheme.
     constexpr SkColor kOverlayScrollbarThumbColor[] = {SK_ColorBLACK,
                                                        SK_ColorWHITE};
@@ -222,16 +213,16 @@
         stroke_alpha = SK_AlphaTRANSPARENT;
         break;
       case NativeTheme::kHovered:
-        thumb_alpha = kOverlayScrollbarFillAlphaHovered;
-        stroke_alpha = kOverlayScrollbarStrokeAlphaHovered;
+        thumb_alpha = SK_AlphaOPAQUE * kOverlayScrollbarThumbHoverAlpha;
+        stroke_alpha = SK_AlphaOPAQUE * kOverlayScrollbarStrokeHoverAlpha;
         break;
       case NativeTheme::kNormal:
-        thumb_alpha = kOverlayScrollbarFillAlphaNormal;
-        stroke_alpha = kOverlayScrollbarStrokeAlphaNormal;
+        thumb_alpha = SK_AlphaOPAQUE * kOverlayScrollbarThumbNormalAlpha;
+        stroke_alpha = SK_AlphaOPAQUE * kOverlayScrollbarStrokeNormalAlpha;
         break;
       case NativeTheme::kPressed:
-        thumb_alpha = kOverlayScrollbarFillAlphaPressed;
-        stroke_alpha = kOverlayScrollbarStrokeAlphaPressed;
+        thumb_alpha = SK_AlphaOPAQUE * kOverlayScrollbarThumbHoverAlpha;
+        stroke_alpha = SK_AlphaOPAQUE * kOverlayScrollbarStrokeHoverAlpha;
         break;
       case NativeTheme::kNumStates:
         NOTREACHED();
@@ -247,21 +238,21 @@
     flags.setStrokeWidth(kStrokeWidth);
 
     gfx::RectF stroke_rect(thumb_rect);
-    constexpr float kHalfStrokeWidth = kStrokeWidth / 2.f;
-    stroke_rect.Inset(kHalfStrokeWidth, kHalfStrokeWidth);
+    gfx::InsetsF stroke_insets(kStrokeWidth / 2.f);
+    // The edge to which the scrollbar is attached shouldn't have a border.
+    gfx::Insets edge_adjust_insets;
+    if (part == NativeTheme::kScrollbarHorizontalThumb)
+      edge_adjust_insets = gfx::Insets(0, 0, -kStrokeWidth, 0);
+    else
+      edge_adjust_insets = gfx::Insets(0, 0, 0, -kStrokeWidth);
+    stroke_rect.Inset(stroke_insets + edge_adjust_insets);
     canvas->drawRect(gfx::RectFToSkRect(stroke_rect), flags);
 
     // Inset the all the edges edges so we fill-in the stroke below.
-    // The edge to which the scrollbar is attached shouldn't have a border.
     // For left vertical scrollbar, we will horizontally flip the canvas in
     // ScrollbarThemeOverlay::paintThumb.
-    gfx::Insets insets(kStrokeWidth);
-    if (part == NativeTheme::kScrollbarHorizontalThumb)
-      insets -= gfx::Insets(0, 0, kStrokeWidth, 0);
-    else
-      insets -= gfx::Insets(0, 0, 0, kStrokeWidth);
-
-    thumb_rect.Inset(insets);
+    gfx::Insets fill_insets(kStrokeWidth);
+    thumb_rect.Inset(fill_insets + edge_adjust_insets);
   } else {
     switch (state) {
       case NativeTheme::kDisabled:
diff --git a/ui/native_theme/overlay_scrollbar_constants_aura.h b/ui/native_theme/overlay_scrollbar_constants_aura.h
index 6553799..a6192d9 100644
--- a/ui/native_theme/overlay_scrollbar_constants_aura.h
+++ b/ui/native_theme/overlay_scrollbar_constants_aura.h
@@ -10,10 +10,14 @@
 
 namespace ui {
 
-constexpr int kOverlayScrollbarThumbWidthNormal = 6;
-constexpr int kOverlayScrollbarThumbWidthHovered = 10;
+constexpr int kOverlayScrollbarStrokeWidth = 1;
 constexpr int kOverlayScrollbarThumbWidthPressed = 10;
 
+constexpr float kOverlayScrollbarThumbNormalAlpha = 0.5f;
+constexpr float kOverlayScrollbarThumbHoverAlpha = 0.7f;
+constexpr float kOverlayScrollbarStrokeNormalAlpha = 0.3f;
+constexpr float kOverlayScrollbarStrokeHoverAlpha = 0.5f;
+
 // kOverlayScrollbarShowDelay is only for the case where the mouse hovers near
 // the screen edge.
 constexpr base::TimeDelta kOverlayScrollbarShowDelay =
diff --git a/ui/ozone/platform/drm/gpu/drm_window_unittest.cc b/ui/ozone/platform/drm/gpu/drm_window_unittest.cc
index de92eb6..98eb118d 100644
--- a/ui/ozone/platform/drm/gpu/drm_window_unittest.cc
+++ b/ui/ozone/platform/drm/gpu/drm_window_unittest.cc
@@ -127,8 +127,8 @@
   EXPECT_EQ(2u, cursor_buffers.size());
 
   // Buffers 1 is the cursor backbuffer we just drew in.
-  cursor.setInfo(cursor_buffers[1]->getCanvas()->imageInfo());
-  EXPECT_TRUE(cursor_buffers[1]->getCanvas()->readPixels(&cursor, 0, 0));
+  cursor.allocPixels(cursor_buffers[1]->getCanvas()->imageInfo());
+  EXPECT_TRUE(cursor_buffers[1]->getCanvas()->readPixels(cursor, 0, 0));
 
   // Check that the frontbuffer is displaying the right image as set above.
   for (int i = 0; i < cursor.height(); ++i) {
diff --git a/ui/ozone/platform/headless/headless_surface_factory.cc b/ui/ozone/platform/headless/headless_surface_factory.cc
index d434fe9..11b9925 100644
--- a/ui/ozone/platform/headless/headless_surface_factory.cc
+++ b/ui/ozone/platform/headless/headless_surface_factory.cc
@@ -49,11 +49,11 @@
     if (location_.empty())
       return;
     SkBitmap bitmap;
-    bitmap.setInfo(surface_->getCanvas()->imageInfo());
+    bitmap.allocPixels(surface_->getCanvas()->imageInfo());
 
     // TODO(dnicoara) Use SkImage instead to potentially avoid a copy.
     // See crbug.com/361605 for details.
-    if (surface_->getCanvas()->readPixels(&bitmap, 0, 0)) {
+    if (surface_->getCanvas()->readPixels(bitmap, 0, 0)) {
       base::PostTaskWithTraits(
           FROM_HERE, base::TaskTraits()
                          .WithShutdownBehavior(
diff --git a/ui/ozone/platform/x11/x11_cursor_factory_ozone.cc b/ui/ozone/platform/x11/x11_cursor_factory_ozone.cc
index 50df691..97106f1 100644
--- a/ui/ozone/platform/x11/x11_cursor_factory_ozone.cc
+++ b/ui/ozone/platform/x11/x11_cursor_factory_ozone.cc
@@ -43,7 +43,8 @@
 
 PlatformCursor X11CursorFactoryOzone::CreateImageCursor(
     const SkBitmap& bitmap,
-    const gfx::Point& hotspot) {
+    const gfx::Point& hotspot,
+    float bitmap_dpi) {
   // There is a problem with custom cursors that have no custom data. The
   // resulting SkBitmap is empty and X crashes when creating a zero size cursor
   // image. Return invisible cursor here instead.
@@ -59,7 +60,8 @@
 PlatformCursor X11CursorFactoryOzone::CreateAnimatedCursor(
     const std::vector<SkBitmap>& bitmaps,
     const gfx::Point& hotspot,
-    int frame_delay_ms) {
+    int frame_delay_ms,
+    float bitmap_dpi) {
   X11CursorOzone* cursor = new X11CursorOzone(bitmaps, hotspot, frame_delay_ms);
   cursor->AddRef();
   return ToPlatformCursor(cursor);
diff --git a/ui/ozone/platform/x11/x11_cursor_factory_ozone.h b/ui/ozone/platform/x11/x11_cursor_factory_ozone.h
index 8e851ff4..a186a821 100644
--- a/ui/ozone/platform/x11/x11_cursor_factory_ozone.h
+++ b/ui/ozone/platform/x11/x11_cursor_factory_ozone.h
@@ -27,10 +27,12 @@
   // CursorFactoryOzone:
   PlatformCursor GetDefaultCursor(int type) override;
   PlatformCursor CreateImageCursor(const SkBitmap& bitmap,
-                                   const gfx::Point& hotspot) override;
+                                   const gfx::Point& hotspot,
+                                   float bitmap_dpi) override;
   PlatformCursor CreateAnimatedCursor(const std::vector<SkBitmap>& bitmaps,
                                       const gfx::Point& hotspot,
-                                      int frame_delay_ms) override;
+                                      int frame_delay_ms,
+                                      float bitmap_dpi) override;
   void RefImageCursor(PlatformCursor cursor) override;
   void UnrefImageCursor(PlatformCursor cursor) override;
 
diff --git a/ui/ozone/public/cursor_factory_ozone.cc b/ui/ozone/public/cursor_factory_ozone.cc
index c7f388dc..fa075bb 100644
--- a/ui/ozone/public/cursor_factory_ozone.cc
+++ b/ui/ozone/public/cursor_factory_ozone.cc
@@ -31,9 +31,9 @@
   return NULL;
 }
 
-PlatformCursor CursorFactoryOzone::CreateImageCursor(
-    const SkBitmap& bitmap,
-    const gfx::Point& hotspot) {
+PlatformCursor CursorFactoryOzone::CreateImageCursor(const SkBitmap& bitmap,
+                                                     const gfx::Point& hotspot,
+                                                     float bitmap_dpi) {
   NOTIMPLEMENTED();
   return NULL;
 }
@@ -41,7 +41,8 @@
 PlatformCursor CursorFactoryOzone::CreateAnimatedCursor(
     const std::vector<SkBitmap>& bitmaps,
     const gfx::Point& hotspot,
-    int frame_delay_ms) {
+    int frame_delay_ms,
+    float bitmap_dpi) {
   NOTIMPLEMENTED();
   return NULL;
 }
diff --git a/ui/ozone/public/cursor_factory_ozone.h b/ui/ozone/public/cursor_factory_ozone.h
index 4950a31..dbc3c751 100644
--- a/ui/ozone/public/cursor_factory_ozone.h
+++ b/ui/ozone/public/cursor_factory_ozone.h
@@ -35,7 +35,8 @@
   // are referenced counted and have an initial refcount of 1. Therefore, each
   // CreateImageCursor call must be matched with a call to UnrefImageCursor.
   virtual PlatformCursor CreateImageCursor(const SkBitmap& bitmap,
-                                           const gfx::Point& hotspot);
+                                           const gfx::Point& hotspot,
+                                           float bitmap_dpi);
 
   // Return a animated cursor from the specified image & hotspot. Animated
   // cursors are referenced counted and have an initial refcount of 1.
@@ -44,7 +45,8 @@
   virtual PlatformCursor CreateAnimatedCursor(
       const std::vector<SkBitmap>& bitmaps,
       const gfx::Point& hotspot,
-      int frame_delay_ms);
+      int frame_delay_ms,
+      float bitmap_dpi);
 
   // Increment platform image cursor refcount.
   virtual void RefImageCursor(PlatformCursor cursor);
diff --git a/ui/snapshot/snapshot_win.cc b/ui/snapshot/snapshot_win.cc
index 66049a70..cd0d8f1 100644
--- a/ui/snapshot/snapshot_win.cc
+++ b/ui/snapshot/snapshot_win.cc
@@ -58,7 +58,10 @@
   }
 
   SkBitmap bitmap;
-  canvas->readPixels(gfx::RectToSkIRect(snapshot_bounds_in_window), &bitmap);
+  bitmap.allocN32Pixels(snapshot_bounds_in_window.width(),
+                        snapshot_bounds_in_window.height());
+  canvas->readPixels(bitmap, snapshot_bounds_in_window.x(),
+                     snapshot_bounds_in_window.y());
 
   // Clear the region of the bitmap outside the clip rect to white.
   SkCanvas image_canvas(bitmap);
diff --git a/ui/views/controls/button/label_button.h b/ui/views/controls/button/label_button.h
index 6dade72..91b68fa 100644
--- a/ui/views/controls/button/label_button.h
+++ b/ui/views/controls/button/label_button.h
@@ -107,6 +107,9 @@
  protected:
   ImageView* image() const { return image_; }
   Label* label() const { return label_; }
+  InkDropContainerView* ink_drop_container() const {
+    return ink_drop_container_;
+  }
 
   bool explicitly_set_normal_color() const {
     return explicitly_set_colors_[STATE_NORMAL];
diff --git a/ui/views/controls/native/native_view_host.cc b/ui/views/controls/native/native_view_host.cc
index 452e5966..34f4af7f 100644
--- a/ui/views/controls/native/native_view_host.cc
+++ b/ui/views/controls/native/native_view_host.cc
@@ -167,7 +167,8 @@
 }
 
 void NativeViewHost::OnFocus() {
-  native_wrapper_->SetFocus();
+  if (native_view_)
+    native_wrapper_->SetFocus();
   NotifyAccessibilityEvent(ui::AX_EVENT_FOCUS, true);
 }
 
diff --git a/ui/views/controls/scrollbar/cocoa_scroll_bar.mm b/ui/views/controls/scrollbar/cocoa_scroll_bar.mm
index ce75522..c77bdf4 100644
--- a/ui/views/controls/scrollbar/cocoa_scroll_bar.mm
+++ b/ui/views/controls/scrollbar/cocoa_scroll_bar.mm
@@ -5,7 +5,6 @@
 #import "ui/views/controls/scrollbar/cocoa_scroll_bar.h"
 
 #import "base/mac/sdk_forward_declarations.h"
-#include "cc/paint/paint_shader.h"
 #include "third_party/skia/include/core/SkColor.h"
 #include "third_party/skia/include/effects/SkGradientShader.h"
 #include "ui/compositor/layer.h"
diff --git a/ui/views/controls/scrollbar/overlay_scroll_bar.cc b/ui/views/controls/scrollbar/overlay_scroll_bar.cc
index ae0c2619..0ed8d62 100644
--- a/ui/views/controls/scrollbar/overlay_scroll_bar.cc
+++ b/ui/views/controls/scrollbar/overlay_scroll_bar.cc
@@ -9,6 +9,7 @@
 #include "third_party/skia/include/core/SkColor.h"
 #include "ui/compositor/scoped_layer_animation_settings.h"
 #include "ui/gfx/canvas.h"
+#include "ui/native_theme/overlay_scrollbar_constants_aura.h"
 #include "ui/views/background.h"
 #include "ui/views/border.h"
 
@@ -16,13 +17,15 @@
 namespace {
 
 // Total thickness of the thumb (matches visuals when hovered).
-const int kThumbThickness = 11;
+constexpr int kThumbThickness =
+    ui::kOverlayScrollbarThumbWidthPressed + ui::kOverlayScrollbarStrokeWidth;
 // When hovered, the thumb takes up the full width. Otherwise, it's a bit
 // slimmer.
-const int kThumbHoverOffset = 4;
-const int kThumbStroke = 1;
-const float kThumbHoverAlpha = 0.5f;
-const float kThumbDefaultAlpha = 0.3f;
+constexpr int kThumbHoverOffset = 4;
+// The layout size of the thumb stroke, in DIP.
+constexpr int kThumbStroke = ui::kOverlayScrollbarStrokeWidth;
+// The visual size of the thumb stroke, in px.
+constexpr int kThumbStrokeVisualSize = ui::kOverlayScrollbarStrokeWidth;
 
 }  // namespace
 
@@ -65,11 +68,20 @@
 
   cc::PaintFlags stroke_flags;
   stroke_flags.setStyle(cc::PaintFlags::kStroke_Style);
-  stroke_flags.setColor(SK_ColorWHITE);
-  stroke_flags.setStrokeWidth(kThumbStroke);
+  stroke_flags.setColor(
+      SkColorSetA(SK_ColorWHITE, (ui::kOverlayScrollbarStrokeNormalAlpha /
+                                  ui::kOverlayScrollbarThumbNormalAlpha) *
+                                     SK_AlphaOPAQUE));
+  stroke_flags.setStrokeWidth(kThumbStrokeVisualSize);
   stroke_flags.setStrokeCap(cc::PaintFlags::kSquare_Cap);
+
+  // The stroke is a single pixel, so we must deal with the unscaled canvas.
+  const float dsf = canvas->UndoDeviceScaleFactor();
   gfx::RectF stroke_bounds(fill_bounds);
-  stroke_bounds.Inset(gfx::InsetsF(kThumbStroke / 2.f));
+  stroke_bounds.Scale(dsf);
+  // The stroke should be aligned to the pixel center that is nearest the fill,
+  // so outset by a half pixel.
+  stroke_bounds.Inset(gfx::InsetsF(-kThumbStrokeVisualSize / 2.0f));
   // The stroke doesn't apply to the far edge of the thumb.
   SkPath path;
   path.moveTo(gfx::PointFToSkPoint(stroke_bounds.top_right()));
@@ -99,13 +111,13 @@
         gfx::Vector2d(IsHorizontal() ? 0 : kThumbHoverOffset,
                       IsHorizontal() ? kThumbHoverOffset: 0));
     layer()->SetTransform(translation);
-    layer()->SetOpacity(kThumbDefaultAlpha);
+    layer()->SetOpacity(ui::kOverlayScrollbarThumbNormalAlpha);
 
     if (GetWidget())
       scroll_bar_->StartHideCountdown();
   } else {
     layer()->SetTransform(gfx::Transform());
-    layer()->SetOpacity(kThumbHoverAlpha);
+    layer()->SetOpacity(ui::kOverlayScrollbarThumbHoverAlpha);
   }
 }
 
@@ -166,7 +178,7 @@
 
 void OverlayScrollBar::Hide() {
   ui::ScopedLayerAnimationSettings settings(layer()->GetAnimator());
-  settings.SetTransitionDuration(base::TimeDelta::FromMilliseconds(200));
+  settings.SetTransitionDuration(ui::kOverlayScrollbarFadeOutDuration);
   layer()->SetOpacity(0.0f);
 }
 
@@ -174,7 +186,7 @@
   if (IsMouseHovered())
     return;
   hide_timer_.Start(
-      FROM_HERE, base::TimeDelta::FromSeconds(1),
+      FROM_HERE, ui::kOverlayScrollbarFadeOutDelay,
       base::Bind(&OverlayScrollBar::Hide, base::Unretained(this)));
 }
 
diff --git a/ui/views/mus/BUILD.gn b/ui/views/mus/BUILD.gn
index 0c46f41..fa5e745 100644
--- a/ui/views/mus/BUILD.gn
+++ b/ui/views/mus/BUILD.gn
@@ -136,6 +136,10 @@
     "//ui/views:test_support_internal",
   ]
 
+  if (use_ozone) {
+    deps += [ "//ui/ozone" ]
+  }
+
   data_deps = [
     ":views_mus_tests_catalog",
     "//ui/resources:ui_test_pak_data",
diff --git a/ui/views/mus/mus_client.cc b/ui/views/mus/mus_client.cc
index 136424b6..b3083c34 100644
--- a/ui/views/mus/mus_client.cc
+++ b/ui/views/mus/mus_client.cc
@@ -33,6 +33,10 @@
 #include "ui/wm/core/shadow_types.h"
 #include "ui/wm/core/wm_state.h"
 
+#if defined(USE_OZONE)
+#include "ui/base/cursor/ozone/cursor_data_factory_ozone.h"
+#endif
+
 // Widget::InitParams::Type must match that of ui::mojom::WindowType.
 #define WINDOW_TYPES_MATCH(NAME)                                      \
   static_assert(                                                      \
@@ -67,6 +71,16 @@
   DCHECK(aura::Env::GetInstance());
   instance_ = this;
 
+#if defined(USE_OZONE)
+  // If we're in a mus client, we aren't going to have all of ozone initialized
+  // even though we're in an ozone build. All the hard coded USE_OZONE ifdefs
+  // that handle cursor code expect that there will be a CursorFactoryOzone
+  // instance. Partially initialize the ozone cursor internals here, like we
+  // partially initialize other ozone subsystems in
+  // ChromeBrowserMainExtraPartsViews.
+  cursor_factory_ozone_ = base::MakeUnique<ui::CursorDataFactoryOzone>();
+#endif
+
   if (!io_task_runner) {
     io_thread_ = base::MakeUnique<base::Thread>("IOThread");
     base::Thread::Options thread_options(base::MessageLoop::TYPE_IO, 0);
diff --git a/ui/views/mus/mus_client.h b/ui/views/mus/mus_client.h
index 3469b3e..ca23593 100644
--- a/ui/views/mus/mus_client.h
+++ b/ui/views/mus/mus_client.h
@@ -35,6 +35,10 @@
 class Connector;
 }
 
+namespace ui {
+class CursorDataFactoryOzone;
+}
+
 namespace wm {
 class WMState;
 }
@@ -152,6 +156,10 @@
 
   base::ObserverList<MusClientObserver> observer_list_;
 
+#if defined(USE_OZONE)
+  std::unique_ptr<ui::CursorDataFactoryOzone> cursor_factory_ozone_;
+#endif
+
   // NOTE: this may be null (creation is based on argument supplied to
   // constructor).
   std::unique_ptr<wm::WMState> wm_state_;
diff --git a/ui/views/view.cc b/ui/views/view.cc
index 83192d8..6b231e9b 100644
--- a/ui/views/view.cc
+++ b/ui/views/view.cc
@@ -1552,19 +1552,15 @@
 }
 
 void View::OnPaintBackground(gfx::Canvas* canvas) {
-  if (background_.get()) {
-    TRACE_EVENT2("views", "View::OnPaintBackground",
-                 "width", canvas->sk_canvas()->getBaseLayerSize().width(),
-                 "height", canvas->sk_canvas()->getBaseLayerSize().height());
+  if (background_) {
+    TRACE_EVENT0("views", "View::OnPaintBackground");
     background_->Paint(canvas, this);
   }
 }
 
 void View::OnPaintBorder(gfx::Canvas* canvas) {
-  if (border_.get()) {
-    TRACE_EVENT2("views", "View::OnPaintBorder",
-                 "width", canvas->sk_canvas()->getBaseLayerSize().width(),
-                 "height", canvas->sk_canvas()->getBaseLayerSize().height());
+  if (border_) {
+    TRACE_EVENT0("views", "View::OnPaintBorder");
     border_->Paint(*this, canvas);
   }
 }
diff --git a/ui/webui/resources/cr_elements/network/cr_network_list.html b/ui/webui/resources/cr_elements/network/cr_network_list.html
index 7288de32..09c967b 100644
--- a/ui/webui/resources/cr_elements/network/cr_network_list.html
+++ b/ui/webui/resources/cr_elements/network/cr_network_list.html
@@ -37,7 +37,7 @@
       <iron-list id="networkList" selection-enabled items="[[listItems_]]"
           scroll-target="container" selected-item="{{selectedItem}}">
         <template>
-          <cr-network-list-item item="[[item]]" is-list-item
+          <cr-network-list-item item="[[item]]"
               show-buttons="[[showButtons]]" tabindex$="[[tabIndex]]">
           </cr-network-list-item>
         </template>
diff --git a/ui/webui/resources/cr_elements/network/cr_network_list_item.html b/ui/webui/resources/cr_elements/network/cr_network_list_item.html
index 01d0782..920d6cd 100644
--- a/ui/webui/resources/cr_elements/network/cr_network_list_item.html
+++ b/ui/webui/resources/cr_elements/network/cr_network_list_item.html
@@ -34,11 +34,6 @@
         justify-content: center;
       }
 
-      #itemName:not([is-list-item]) {
-        font-weight: 500;
-        color: #333;
-      }
-
       #networkStateText {
         color: var(--paper-grey-600);
         font-size: inherit;
@@ -68,23 +63,20 @@
       }
     </style>
     <div id="divOuter"
-        class="layout horizontal center flex" actionable$="[[isListItem]]">
+        class="layout horizontal center flex" actionable>
       <template is="dom-if" if="[[networkState]]">
-        <cr-network-icon is-list-item="[[isListItem]]"
-            network-state="[[networkState]]">
+        <cr-network-icon is-list-item network-state="[[networkState]]">
         </cr-network-icon>
       </template>
       <template is="dom-if" if="[[item.polymerIcon]]">
         <iron-icon icon="[[item.polymerIcon]]"></iron-icon>
       </template>
       <div id="divText" class="layout horizontal flex">
-        <div id="itemName" is-list-item$="[[isListItem]]">
-          [[ariaLabel]]
-        </div>
+        <div>[[ariaLabel]]</div>
         <div id="networkStateText"
-            hidden$="[[!isStateTextVisible_(networkState, isListItem)]]"
-            connected$="[[isStateTextConnected_(networkState, isListItem)]]">
-          [[getNetworkStateText_(networkState, isListItem)]]
+            hidden$="[[!isStateTextVisible_(networkState)]]"
+            connected$="[[isConnected_(networkState)]]">
+          [[getNetworkStateText_(networkState)]]
         </div>
       </div>
       <template is="dom-if" if="[[isPolicySource(networkState.Source)]]">
diff --git a/ui/webui/resources/cr_elements/network/cr_network_list_item.js b/ui/webui/resources/cr_elements/network/cr_network_list_item.js
index 919b357..5e3992a5 100644
--- a/ui/webui/resources/cr_elements/network/cr_network_list_item.js
+++ b/ui/webui/resources/cr_elements/network/cr_network_list_item.js
@@ -4,7 +4,7 @@
 
 /**
  * @fileoverview Polymer element for displaying information about a network
- * in a list or summary based on ONC state properties.
+ * in a list based on ONC state properties.
  */
 
 Polymer({
@@ -26,19 +26,6 @@
       observer: 'networkStateChanged_',
     },
 
-    /**
-     * Determines how the list item will be displayed:
-     *  True - Displays the network icon (with strength) and name
-     *  False - The element is a stand-alone item (e.g. part of a summary)
-     *      and displays the name of the network type plus the network name
-     *      and connection state.
-     */
-    isListItem: {
-      type: Boolean,
-      value: false,
-      reflectToAttribute: true,
-    },
-
     /** Whether to show any buttons for network items. Defaults to false. */
     showButtons: {
       type: Boolean,
@@ -61,7 +48,7 @@
       type: String,
       notify: true,
       reflectToAttribute: true,
-      computed: 'getItemName_(item, isListItem)',
+      computed: 'getItemName_(item)',
     },
   },
 
@@ -99,9 +86,7 @@
       return name;
     }
     var network = /** @type {!CrOnc.NetworkStateProperties} */ (this.item);
-    if (this.isListItem)
-      return CrOnc.getNetworkName(network);
-    return CrOncStrings['OncType' + network.Type];
+    return CrOnc.getNetworkName(network);
   },
 
   /**
@@ -110,16 +95,8 @@
    */
   isStateTextVisible_: function() {
     return !!this.networkState &&
-        (!this.isListItem || (this.networkState.ConnectionState !=
-                              CrOnc.ConnectionState.NOT_CONNECTED));
-  },
-
-  /**
-   * @return {boolean}
-   * @private
-   */
-  isStateTextConnected_: function() {
-    return this.isListItem && this.isConnected_();
+        (this.networkState.ConnectionState !=
+         CrOnc.ConnectionState.NOT_CONNECTED);
   },
 
   /**
@@ -130,41 +107,12 @@
   getNetworkStateText_: function() {
     if (!this.isStateTextVisible_())
       return '';
-    var network = this.networkState;
-    var state = network.ConnectionState;
-    var name = CrOnc.getNetworkName(network);
-    if (this.isListItem) {
-      if (state == CrOnc.ConnectionState.CONNECTED)
-        return CrOncStrings.networkListItemConnected;
-      if (state == CrOnc.ConnectionState.CONNECTING)
-        return CrOncStrings.networkListItemConnecting;
-      return '';
-    }
-    if (name && state)
-      return this.getConnectionStateText_(state, name);
-    return CrOncStrings.networkDisabled;
-  },
-
-  /**
-   * Returns the appropriate connection state text.
-   * @param {CrOnc.ConnectionState} state The connection state.
-   * @param {string} name The name of the network.
-   * @return {string}
-   * @private
-   */
-  getConnectionStateText_: function(state, name) {
-    switch (state) {
-      case CrOnc.ConnectionState.CONNECTED:
-        return name;
-      case CrOnc.ConnectionState.CONNECTING:
-        if (name)
-          return CrOncStrings.networkListItemConnectingTo.replace('$1', name);
-        return CrOncStrings.networkListItemConnecting;
-      case CrOnc.ConnectionState.NOT_CONNECTED:
-        return CrOncStrings.networkListItemNotConnected;
-    }
-    assertNotReached();
-    return state;
+    var state = this.networkState.ConnectionState;
+    if (state == CrOnc.ConnectionState.CONNECTED)
+      return CrOncStrings.networkListItemConnected;
+    if (state == CrOnc.ConnectionState.CONNECTING)
+      return CrOncStrings.networkListItemConnecting;
+    return '';
   },
 
   /**
diff --git a/ui/webui/resources/cr_elements/network/cr_onc_types.js b/ui/webui/resources/cr_elements/network/cr_onc_types.js
index d3a5b758..06303bd 100644
--- a/ui/webui/resources/cr_elements/network/cr_onc_types.js
+++ b/ui/webui/resources/cr_elements/network/cr_onc_types.js
@@ -25,7 +25,6 @@
  *   OncTypeVPN: string,
  *   OncTypeWiFi: string,
  *   OncTypeWiMAX: string,
- *   networkDisabled: string,
  *   networkListItemConnected: string,
  *   networkListItemConnecting: string,
  *   networkListItemConnectingTo: string,
diff --git a/ui/webui/resources/js/cr/ui/compiled_resources2.gyp b/ui/webui/resources/js/cr/ui/compiled_resources2.gyp
index 6f0eb1d..2f49977 100644
--- a/ui/webui/resources/js/cr/ui/compiled_resources2.gyp
+++ b/ui/webui/resources/js/cr/ui/compiled_resources2.gyp
@@ -20,6 +20,15 @@
       'includes': ['../../../../../../third_party/closure_compiler/compile_js2.gypi'],
     },
     {
+      'target_name': 'autocomplete_list',
+      'dependencies': [
+        'list',
+        'list_single_selection_model',
+        'position_util',
+      ],
+      'includes': ['../../../../../../third_party/closure_compiler/compile_js2.gypi'],
+    },
+    {
       'target_name': 'command',
       'dependencies': [
         '../../compiled_resources2.gyp:cr',
@@ -28,6 +37,25 @@
       'includes': ['../../../../../../third_party/closure_compiler/compile_js2.gypi'],
     },
     {
+      'target_name': 'context_menu_button',
+      'dependencies': [
+        'menu_button',
+      ],
+      'includes': ['../../../../../../third_party/closure_compiler/compile_js2.gypi'],
+    },
+    {
+      'target_name': 'context_menu_handler',
+      'dependencies': [
+         '../../compiled_resources2.gyp:cr',
+         '../compiled_resources2.gyp:event_target',
+         '../compiled_resources2.gyp:ui',
+         'menu',
+         'menu_button',
+         'position_util',
+      ],
+      'includes': ['../../../../../../third_party/closure_compiler/compile_js2.gypi'],
+    },
+    {
       'target_name': 'dialogs',
       'dependencies': [
         '../../compiled_resources2.gyp:cr',
@@ -187,5 +215,14 @@
       ],
       'includes': ['../../../../../../third_party/closure_compiler/compile_js2.gypi'],
     },
+    {
+      'target_name': 'tree',
+      'dependencies': [
+        '../../compiled_resources2.gyp:cr',
+        '../../compiled_resources2.gyp:util',
+        '../compiled_resources2.gyp:ui',
+      ],
+      'includes': ['../../../../../../third_party/closure_compiler/compile_js2.gypi'],
+    },
   ],
 }
diff --git a/ui/wm/core/default_activation_client.cc b/ui/wm/core/default_activation_client.cc
index 2564788..cab8cd95 100644
--- a/ui/wm/core/default_activation_client.cc
+++ b/ui/wm/core/default_activation_client.cc
@@ -68,7 +68,7 @@
 void DefaultActivationClient::ActivateWindowImpl(
     aura::client::ActivationChangeObserver::ActivationReason reason,
     aura::Window* window) {
-  aura::Window* last_active = GetActiveWindow();
+  aura::Window* last_active = ActivationClient::GetActiveWindow();
   if (last_active == window)
     return;
 
@@ -104,7 +104,7 @@
     ActivateWindow(last_active_);
 }
 
-aura::Window* DefaultActivationClient::GetActiveWindow() {
+const aura::Window* DefaultActivationClient::GetActiveWindow() const {
   if (active_windows_.empty())
     return nullptr;
   return active_windows_.back();
@@ -132,7 +132,7 @@
 
   if (window == GetActiveWindow()) {
     active_windows_.pop_back();
-    aura::Window* next_active = GetActiveWindow();
+    aura::Window* next_active = ActivationClient::GetActiveWindow();
     if (next_active && aura::client::GetActivationChangeObserver(next_active)) {
       aura::client::GetActivationChangeObserver(next_active)
           ->OnWindowActivated(aura::client::ActivationChangeObserver::
diff --git a/ui/wm/core/default_activation_client.h b/ui/wm/core/default_activation_client.h
index 073e281..1f8ccb5a 100644
--- a/ui/wm/core/default_activation_client.h
+++ b/ui/wm/core/default_activation_client.h
@@ -39,7 +39,7 @@
       aura::client::ActivationChangeObserver* observer) override;
   void ActivateWindow(aura::Window* window) override;
   void DeactivateWindow(aura::Window* window) override;
-  aura::Window* GetActiveWindow() override;
+  const aura::Window* GetActiveWindow() const override;
   aura::Window* GetActivatableWindow(aura::Window* window) override;
   aura::Window* GetToplevelWindow(aura::Window* window) override;
   bool CanActivateWindow(aura::Window* window) const override;
diff --git a/ui/wm/core/focus_controller.cc b/ui/wm/core/focus_controller.cc
index 594e66e..230de21 100644
--- a/ui/wm/core/focus_controller.cc
+++ b/ui/wm/core/focus_controller.cc
@@ -72,7 +72,7 @@
     FocusWindow(rules_->GetNextActivatableWindow(window));
 }
 
-aura::Window* FocusController::GetActiveWindow() {
+const aura::Window* FocusController::GetActiveWindow() const {
   return active_window_;
 }
 
diff --git a/ui/wm/core/focus_controller.h b/ui/wm/core/focus_controller.h
index 85858cf..66b2b8d 100644
--- a/ui/wm/core/focus_controller.h
+++ b/ui/wm/core/focus_controller.h
@@ -55,7 +55,7 @@
       aura::client::ActivationChangeObserver* observer) override;
   void ActivateWindow(aura::Window* window) override;
   void DeactivateWindow(aura::Window* window) override;
-  aura::Window* GetActiveWindow() override;
+  const aura::Window* GetActiveWindow() const override;
   aura::Window* GetActivatableWindow(aura::Window* window) override;
   aura::Window* GetToplevelWindow(aura::Window* window) override;
   bool CanActivateWindow(aura::Window* window) const override;
diff --git a/ui/wm/core/shadow_controller.cc b/ui/wm/core/shadow_controller.cc
index 6fc4366..d2b07863 100644
--- a/ui/wm/core/shadow_controller.cc
+++ b/ui/wm/core/shadow_controller.cc
@@ -19,7 +19,6 @@
 #include "ui/base/ui_base_types.h"
 #include "ui/compositor/layer.h"
 #include "ui/wm/core/shadow.h"
-#include "ui/wm/core/shadow_types.h"
 #include "ui/wm/core/window_util.h"
 #include "ui/wm/public/activation_client.h"
 
@@ -32,7 +31,6 @@
 
 namespace {
 
-constexpr ShadowElevation kActiveNormalShadowElevation = ShadowElevation::LARGE;
 constexpr ShadowElevation kInactiveNormalShadowElevation =
     ShadowElevation::MEDIUM;
 
@@ -67,7 +65,7 @@
     return elevation;
 
   if (IsActiveWindow(window))
-    return kActiveNormalShadowElevation;
+    return ShadowController::kActiveNormalShadowElevation;
 
   return GetDefaultShadowElevationForWindow(window);
 }
@@ -84,7 +82,7 @@
                   GetTransientChildren(losing_active).end(),
                   gaining_active);
     if (it != GetTransientChildren(losing_active).end())
-      return kActiveNormalShadowElevation;
+      return ShadowController::kActiveNormalShadowElevation;
   }
   return kInactiveNormalShadowElevation;
 }
diff --git a/ui/wm/core/shadow_controller.h b/ui/wm/core/shadow_controller.h
index c1106fe..d1bfafa 100644
--- a/ui/wm/core/shadow_controller.h
+++ b/ui/wm/core/shadow_controller.h
@@ -10,6 +10,7 @@
 #include "base/compiler_specific.h"
 #include "base/macros.h"
 #include "base/memory/ref_counted.h"
+#include "ui/wm/core/shadow_types.h"
 #include "ui/wm/public/activation_change_observer.h"
 #include "ui/wm/wm_export.h"
 
@@ -31,6 +32,9 @@
 class WM_EXPORT ShadowController :
     public aura::client::ActivationChangeObserver {
  public:
+  static constexpr ShadowElevation kActiveNormalShadowElevation =
+      ShadowElevation::LARGE;
+
   // Returns the shadow for the |window|, or NULL if no shadow exists.
   static Shadow* GetShadowForWindow(aura::Window* window);
 
diff --git a/ui/wm/core/window_util.cc b/ui/wm/core/window_util.cc
index 58e4885..7d72e58 100644
--- a/ui/wm/core/window_util.cc
+++ b/ui/wm/core/window_util.cc
@@ -67,11 +67,11 @@
       window);
 }
 
-bool IsActiveWindow(aura::Window* window) {
+bool IsActiveWindow(const aura::Window* window) {
   DCHECK(window);
   if (!window->GetRootWindow())
     return false;
-  aura::client::ActivationClient* client =
+  const aura::client::ActivationClient* client =
       aura::client::GetActivationClient(window->GetRootWindow());
   return client && client->GetActiveWindow() == window;
 }
diff --git a/ui/wm/core/window_util.h b/ui/wm/core/window_util.h
index 7bc66b4..1bd9cb8b 100644
--- a/ui/wm/core/window_util.h
+++ b/ui/wm/core/window_util.h
@@ -25,7 +25,7 @@
 
 WM_EXPORT void ActivateWindow(aura::Window* window);
 WM_EXPORT void DeactivateWindow(aura::Window* window);
-WM_EXPORT bool IsActiveWindow(aura::Window* window);
+WM_EXPORT bool IsActiveWindow(const aura::Window* window);
 WM_EXPORT bool CanActivateWindow(aura::Window* window);
 WM_EXPORT void SetWindowFullscreen(aura::Window* window, bool fullscreen);
 
diff --git a/ui/wm/public/activation_client.cc b/ui/wm/public/activation_client.cc
index 85636c0..fcf0173 100644
--- a/ui/wm/public/activation_client.cc
+++ b/ui/wm/public/activation_client.cc
@@ -21,9 +21,14 @@
   root_window->SetProperty(kRootWindowActivationClientKey, client);
 }
 
+const ActivationClient* GetActivationClient(const Window* root_window) {
+  return root_window ? root_window->GetProperty(kRootWindowActivationClientKey)
+                     : nullptr;
+}
+
 ActivationClient* GetActivationClient(Window* root_window) {
-  return root_window ?
-      root_window->GetProperty(kRootWindowActivationClientKey) : NULL;
+  return root_window ? root_window->GetProperty(kRootWindowActivationClientKey)
+                     : nullptr;
 }
 
 void SetHideOnDeactivate(Window* window, bool hide_on_deactivate) {
diff --git a/ui/wm/public/activation_client.h b/ui/wm/public/activation_client.h
index 0607ea1..401ceb5 100644
--- a/ui/wm/public/activation_client.h
+++ b/ui/wm/public/activation_client.h
@@ -28,7 +28,11 @@
   virtual void DeactivateWindow(Window* window) = 0;
 
   // Retrieves the active window, or NULL if there is none.
-  virtual Window* GetActiveWindow() = 0;
+  Window* GetActiveWindow() {
+    return const_cast<Window*>(
+        const_cast<const ActivationClient*>(this)->GetActiveWindow());
+  }
+  virtual const Window* GetActiveWindow() const = 0;
 
   // Retrieves the activatable window for |window|, or NULL if there is none.
   // Note that this is often but not always the toplevel window (see
@@ -52,6 +56,8 @@
 AURA_EXPORT void SetActivationClient(Window* root_window,
                                      ActivationClient* client);
 AURA_EXPORT ActivationClient* GetActivationClient(Window* root_window);
+AURA_EXPORT const ActivationClient* GetActivationClient(
+    const Window* root_window);
 
 // Some types of transient window are only visible when active.
 // The transient parents of these windows may have visual appearance properties
diff --git a/url/url_canon_mailtourl.cc b/url/url_canon_mailtourl.cc
index fb6bc9a..8a7ff1ae 100644
--- a/url/url_canon_mailtourl.cc
+++ b/url/url_canon_mailtourl.cc
@@ -13,6 +13,23 @@
 
 namespace {
 
+// Certain characters should be percent-encoded when they appear in the path
+// component of a mailto URL, to improve compatibility and mitigate against
+// command-injection attacks on mailto handlers. See https://crbug.com/711020.
+template <typename UCHAR>
+bool ShouldEncodeMailboxCharacter(UCHAR uch) {
+  if (uch < 0x21 ||                              // space & control characters.
+      uch > 0x7e ||                              // high-ascii characters.
+      uch == 0x22 ||                             // quote.
+      uch == 0x3c || uch == 0x3e ||              // angle brackets.
+      uch == 0x60 ||                             // backtick.
+      uch == 0x7b || uch == 0x7c || uch == 0x7d  // braces and pipe.
+      ) {
+    return true;
+  }
+  return false;
+}
+
 template <typename CHAR, typename UCHAR>
 bool DoCanonicalizeMailtoURL(const URLComponentSource<CHAR>& source,
                              const Parsed& parsed,
@@ -38,12 +55,12 @@
     new_parsed->path.begin = output->length();
 
     // Copy the path using path URL's more lax escaping rules.
-    // We convert to UTF-8 and escape non-ASCII, but leave all
+    // We convert to UTF-8 and escape non-ASCII, but leave most
     // ASCII characters alone.
     int end = parsed.path.end();
     for (int i = parsed.path.begin; i < end; ++i) {
       UCHAR uch = static_cast<UCHAR>(source.path[i]);
-      if (uch < 0x20 || uch >= 0x80)
+      if (ShouldEncodeMailboxCharacter<UCHAR>(uch))
         success &= AppendUTF8EscapedChar(source.path, &i, end, output);
       else
         output->push_back(static_cast<char>(uch));
diff --git a/url/url_canon_unittest.cc b/url/url_canon_unittest.cc
index 8ac73bc..9ca51aa 100644
--- a/url/url_canon_unittest.cc
+++ b/url/url_canon_unittest.cc
@@ -1847,20 +1847,51 @@
     Component expected_path;
     Component expected_query;
   } cases[] = {
-    {"mailto:addr1", "mailto:addr1", true, Component(7, 5), Component()},
-    {"mailto:addr1@foo.com", "mailto:addr1@foo.com", true, Component(7, 13), Component()},
+    // Null character should be escaped to %00.
+    // Keep this test first in the list as it is handled specially below.
+    {"mailto:addr1\0addr2?foo",
+     "mailto:addr1%00addr2?foo",
+     true, Component(7, 13), Component(21, 3)},
+    {"mailto:addr1",
+     "mailto:addr1",
+     true, Component(7, 5), Component()},
+    {"mailto:addr1@foo.com",
+     "mailto:addr1@foo.com",
+     true, Component(7, 13), Component()},
     // Trailing whitespace is stripped.
-    {"MaIlTo:addr1 \t ", "mailto:addr1", true, Component(7, 5), Component()},
-    {"MaIlTo:addr1?to=jon", "mailto:addr1?to=jon", true, Component(7, 5), Component(13,6)},
-    {"mailto:addr1,addr2", "mailto:addr1,addr2", true, Component(7, 11), Component()},
-    {"mailto:addr1, addr2", "mailto:addr1, addr2", true, Component(7, 12), Component()},
-    {"mailto:addr1%2caddr2", "mailto:addr1%2caddr2", true, Component(7, 13), Component()},
-    {"mailto:\xF0\x90\x8C\x80", "mailto:%F0%90%8C%80", true, Component(7, 12), Component()},
-    // Null character should be escaped to %00
-    {"mailto:addr1\0addr2?foo", "mailto:addr1%00addr2?foo", true, Component(7, 13), Component(21, 3)},
+    {"MaIlTo:addr1 \t ",
+     "mailto:addr1",
+     true, Component(7, 5), Component()},
+    {"MaIlTo:addr1?to=jon",
+     "mailto:addr1?to=jon",
+     true, Component(7, 5), Component(13,6)},
+    {"mailto:addr1,addr2",
+     "mailto:addr1,addr2",
+     true, Component(7, 11), Component()},
+    // Embedded spaces must be encoded.
+    {"mailto:addr1, addr2",
+     "mailto:addr1,%20addr2",
+     true, Component(7, 14), Component()},
+    {"mailto:addr1, addr2?subject=one two ",
+     "mailto:addr1,%20addr2?subject=one%20two",
+     true, Component(7, 14), Component(22, 17)},
+    {"mailto:addr1%2caddr2",
+     "mailto:addr1%2caddr2",
+     true, Component(7, 13), Component()},
+    {"mailto:\xF0\x90\x8C\x80",
+     "mailto:%F0%90%8C%80",
+     true, Component(7, 12), Component()},
     // Invalid -- UTF-8 encoded surrogate value.
-    {"mailto:\xed\xa0\x80", "mailto:%EF%BF%BD", false, Component(7, 9), Component()},
-    {"mailto:addr1?", "mailto:addr1?", true, Component(7, 5), Component(13, 0)},
+    {"mailto:\xed\xa0\x80",
+     "mailto:%EF%BF%BD",
+     false, Component(7, 9), Component()},
+    {"mailto:addr1?",
+     "mailto:addr1?",
+     true, Component(7, 5), Component(13, 0)},
+    // Certain characters have special meanings and must be encoded.
+    {"mailto:! \x22$&()+,-./09:;<=>@AZ[\\]&_`az{|}~\x7f?Query! \x22$&()+,-./09:;<=>@AZ[\\]&_`az{|}~",
+     "mailto:!%20%22$&()+,-./09:;%3C=%3E@AZ[\\]&_%60az%7B%7C%7D~%7F?Query!%20%22$&()+,-./09:;%3C=%3E@AZ[\\]&_`az{|}~",
+     true, Component(7, 53), Component(61, 47)},
   };
 
   // Define outside of loop to catch bugs where components aren't reset
@@ -1869,8 +1900,8 @@
 
   for (size_t i = 0; i < arraysize(cases); i++) {
     int url_len = static_cast<int>(strlen(cases[i].input));
-    if (i == 8) {
-      // The 9th test case purposely has a '\0' in it -- don't count it
+    if (i == 0) {
+      // The first test case purposely has a '\0' in it -- don't count it
       // as the string terminator.
       url_len = 22;
     }